From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from sonic303-20.consmr.mail.ir2.yahoo.com (sonic303-20.consmr.mail.ir2.yahoo.com [77.238.178.201]) by sourceware.org (Postfix) with ESMTPS id BF90E384840F for ; Tue, 29 Jun 2021 15:48:33 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org BF90E384840F X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1624981712; bh=GL35y8A350+irlec8Z30qt2iwnyP3KPjekWHSnWQrMv=; h=X-Sonic-MF:Date:From:To:Subject:From:Subject; b=DJMou3MLQcCcn4Bi5h5ZTFe/PimlK11cy3Yxbp6siS2UD+c8Nld63sGYZole7Yk5V5xmGO94BMtf9yT53f8VRNCXMAS69Mr/z4AOl3jYi17oBwY39qG1jpPEONlCedOgaRf/UyVeIEYjMwAUpcx6KmSeaVmk+qho0XbBnpz5agONcgRMq0TSQgxeWujJSrxogL48r7dfCDk2TMv3rat/P8IiHCwh7DpRXwqwDDXcVwao3ryyujABvMZGn3gRuVoY4LOWGzgXnnXDre/F7CTogzWbBqabSMUtQ9MMCNiTGXWH7nnCHyfxJL5abcG/PXFvQNlv0lMF+5HDKadm71l+IQ== X-YMail-OSG: HrBUfyoVM1k8H4GgHsRELs2XI7xKvkkzp2PSBnL5ur2_4DsdQpokIN1tvYh9msP YiyqFWwN62u2nOG.ZbVh_zstb18943yeXCvTk.UyDjF0je.9xz9xHc9tzl6VwTmccGsDXbGlZ4w7 rKzfL54CfBHHsufVdVToeyC03TeqXXCxbDLnvp8SUyH3A.yVFXZIwjaOKnr3GA_oqjosEpo7p2g6 nBTeNnD3jpS9A21g9p6V4ck2RK_zlZVcOxXgbEC8hdVh2Q2slJAJyJ8hzusJbAa3XReMhgDeFqAZ I7X1HKVFCYAtoT65c0i8ed4EQ9JxrtdRKHtoJ7Z7_FED9w4eAgP1h.ADAxTU8GbMVW32l3.baMeZ APPGS7bec5.46P2.tVo3zY93BspZbQUGIpe0CD0EBEXa_DNACxPFtnfmr7T.RmS0zGi.CJ2kcbiJ ETdJ62L5gqcB1ybhEMn_3pe6rmUphr_z8e_jECjo6eP55AO1dY9py9YYRuEYah6cRNVMefpmFUHj bBzizi3ObcfrsH0o.x_a5vfL8mXN7VUh8xmndM_EKUjJXfqcEFnGPwARAwT7tgy5lH.AFLg0wsO7 JxXbl0eXZ8qddQWNGfqCXn.umTTMk_sXJh0ksJ7_zpk.bZ64xTOwb51YuGINv_xPwldRNsgD1GJ. TCsKMbOMQF68K1OMM.ZlMlMeVaGaWfqXJ3Rc_KhaObwiF5dfzi9ZZzSGktMI5LiuqxSeaBhDbSvB saosgh3Kmt5nnWnCyA_9Pt3SVEkN1NRLcH4TgYcFeaj87OOm7ag4oqDBLDaNAh9P.MdWZe516bIA fX.AOrxkrOd5VhJd0t1U8vXr4iInZ2bWCpzWKd553ser3vrWAwUEZOotMA7TiZXhjezZtBZOC4nE USNaVFukgFDH_rI1loQWpsvBA9MGaW5snZ6UVCOI4wYpVKNSyvzXUFlGMPy23tBoOBM9e5ghWkGh 8pxnZOU6EUeJ7.3ClKtkDQJCgaQIkCNUq0C3HHZSSs._HWcmfDSDMuFY6uK_ODoCypmYskxap2yC gJ32Ux7zxCpJqzYwLsq5Nk1zYD8EP3QIlEIaUNQ5o03MVDDOG4hc56DO4UV7VGh1z5C2kPWIneJA SqsZaPbme0FYP9kVoRWxB1TzmlVp2r7oTs4ET1_hu.8ViLsJ4EmJL7xvT4G0YgOjFVyiAPs3oiE2 NDFl7imdv3qTmODddXXaExEBMrjqbNB3BeIsthQaMttbZCJIy3oNTm3Qt6NkLP2VP.0aYB2Wh8kr QeANwCdNDYccR27qvTibK33ZF5_wMCfak4UStR1YKkmshJP6xHM.BRGhF2Dh0RIH0ecSbLVW8TbL B1E10ZAyJ83HesPVMdZ4kUo8AgC0Pb8nsUIeCT2uFKtlh84o31F5tFHbth7P3o7ejnpxAQt.QWAi oHWwsr3GZfUXKofdy0PtZ6j.D3fC5hms6Y9DDYDO1tP581SntwWYW2iAHOzezrBWFKLuY6g.6uvr PoF1TniYkE0kZhH8OnUtPKwgvfwPcd5Snss8dVibtRMuPHVCqoWYe5R60xUYp00bPpBFCOwN3Ha_ FQJLiKFmFq5Aj1Q93GSLe5tDQSgRKgIy45g6fzjFF4OperS01tNnKlkx.dwP7.2XQ0BelsLw.Fp4 oQpJF7SPmc5WNNcWg9LLWJGapcX27meHWWspaQCcN8w1wvhj5DeC9Ol_8.KkOv4KuMOaoFrZHcTD 7RBkd1Dnjue1ft.0RNDROfwhLbiIhnIN5ApjXRQtDLkx7liUnrac3ymJnaTxkPRIumDWfxs7aqd. l3H2asEGe_gr4ucXbT.FUUpg3gX8kieyP1jgNfr6CeHffXcEzjQuLG_cdyQXPNMjPxaJRCcCy1Tv M_Rg02IS4COrBzw3otUUg7x9rXm8hGJP7VG9Sx_nRgILMjlDQmJd3zQbKBCP4J5dRb1Zv8SQ2w0U yGChJKs6v4o_GjQyvpKBwLf8WNRYmwIZtlkp_B.1nEpWIGG0jiTJuVbgbsDU5ELE4MHHp4gPwdAy vTt8_V1KGoEpas6vf.SQ9jvDxHT0Qxt9L.VMAALyzKKtBVnm0hpX53I4J74EFjt.BhXqrgv_c53D 1GND_DvcEQ2Fu11EA9Z.J5wfjz7GUAI0PH6.SmnnKEq3idXYnGoLfUeE55Ruy3meMcXER1rIkrys 73Dm07Y0fFsQlOiaY3akuxIpKsRmcbPlGZKgjbc1A3ZXZyhfWNikr_MALHLm3jmDZJqyqJ2mGCpL roIl4qI9UJTQdqbkdc.rshOVqRhnnM8Rhb5noxtY.c.fbmOiqHNIw1uZwIBV2D81YIOXN7nr1Iyf gHUfHKe0eJGTm6G5fMyCBhN1f9PyVEeEkK9zveH8eWzZ2Iu4eUuuqZqdMIl3IIzyuE6VLhOIM6k0 PEleARpbTNeWW_HL6o2Pk57.DXFCsRbtVvyjLpQ-- X-Sonic-MF: Received: from sonic.gate.mail.ne1.yahoo.com by sonic303.consmr.mail.ir2.yahoo.com with HTTP; Tue, 29 Jun 2021 15:48:32 +0000 Date: Tue, 29 Jun 2021 15:48:27 +0000 (UTC) From: Hannes Domani To: "gdb-patches@sourceware.org" Message-ID: <1695960475.429640.1624981707818@mail.yahoo.com> Subject: [PING] [PATCHv2 1/2] Implement locals TUI window MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: base64 References: <1695960475.429640.1624981707818.ref@mail.yahoo.com> X-Mailer: WebService/1.1.18469 YMailNorrin X-Spam-Status: No, score=-9.2 required=5.0 tests=BAYES_00, BODY_8BITS, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, GIT_PATCH_0, KAM_SHORT, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 29 Jun 2021 15:48:40 -0000 UGluZy4KCgpBbSBGcmVpdGFnLCA0LiBKdW5pIDIwMjEsIDE4OjI1OjMxIE1FU1ogaGF0IEhhbm5l cyBEb21hbmkgdmlhIEdkYi1wYXRjaGVzIDxnZGItcGF0Y2hlc0Bzb3VyY2V3YXJlLm9yZz4gRm9s Z2VuZGVzIGdlc2NocmllYmVuOgoKPiBnZGIvQ2hhbmdlTG9nOgo+Cj4gMjAyMS0wNi0wNMKgIEhh bm5lcyBEb21hbmnCoCA8c3Nic3NhQHlhaG9vLmRlPgo+Cj7CoMKgwqDCoCBQUiB0dWkvMTc4NDkK PsKgwqDCoMKgICogZGF0YS1kaXJlY3RvcnkvTWFrZWZpbGUuaW46IEFkZCB0dWlfd2luZG93cy5w eS4KPsKgwqDCoMKgICogcHl0aG9uL2xpYi9nZGIvY29tbWFuZC90dWlfd2luZG93cy5weTogTmV3 IGZpbGUuCj4gLS0tCj4gdjI6Cj4gLSBBZGRlZCBDaGFuZ2VMb2cuCj4gLSBUaGUgY29kZSBjaGFu Z2VkIGEgbG90Lgo+IC0tLQo+IGdkYi9kYXRhLWRpcmVjdG9yeS9NYWtlZmlsZS5pbsKgwqDCoMKg wqDCoMKgwqDCoMKgwqAgfMKgIDEgKwo+IGdkYi9weXRob24vbGliL2dkYi9jb21tYW5kL3R1aV93 aW5kb3dzLnB5IHwgOTEyICsrKysrKysrKysrKysrKysrKysrKysKPiAyIGZpbGVzIGNoYW5nZWQs IDkxMyBpbnNlcnRpb25zKCspCj4gY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi9weXRob24vbGliL2dk Yi9jb21tYW5kL3R1aV93aW5kb3dzLnB5Cj4KPiBkaWZmIC0tZ2l0IGEvZ2RiL2RhdGEtZGlyZWN0 b3J5L01ha2VmaWxlLmluIGIvZ2RiL2RhdGEtZGlyZWN0b3J5L01ha2VmaWxlLmluCj4gaW5kZXgg OGI2NTc5MGNkZDkuLmI4MzgzZWE3ODA4IDEwMDY0NAo+IC0tLSBhL2dkYi9kYXRhLWRpcmVjdG9y eS9NYWtlZmlsZS5pbgo+ICsrKyBiL2dkYi9kYXRhLWRpcmVjdG9yeS9NYWtlZmlsZS5pbgo+IEBA IC04Miw2ICs4Miw3IEBAIFBZVEhPTl9GSUxFX0xJU1QgPSBcCj7CoMKgwqDCoCBnZGIvY29tbWFu ZC9mcmFtZV9maWx0ZXJzLnB5IFwKPsKgwqDCoMKgIGdkYi9jb21tYW5kL3ByZXR0eV9wcmludGVy cy5weSBcCj7CoMKgwqDCoCBnZGIvY29tbWFuZC9wcm9tcHQucHkgXAo+ICvCoMKgwqAgZ2RiL2Nv bW1hbmQvdHVpX3dpbmRvd3MucHkgXAo+wqDCoMKgwqAgZ2RiL2NvbW1hbmQvdHlwZV9wcmludGVy cy5weSBcCj7CoMKgwqDCoCBnZGIvY29tbWFuZC91bndpbmRlcnMucHkgXAo+wqDCoMKgwqAgZ2Ri L2NvbW1hbmQveG1ldGhvZHMucHkgXAo+IGRpZmYgLS1naXQgYS9nZGIvcHl0aG9uL2xpYi9nZGIv Y29tbWFuZC90dWlfd2luZG93cy5weSBiL2dkYi9weXRob24vbGliL2dkYi9jb21tYW5kL3R1aV93 aW5kb3dzLnB5Cj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAwMDAwMC4uNGI3 NWM3YjliN2QKPiAtLS0gL2Rldi9udWxsCj4gKysrIGIvZ2RiL3B5dGhvbi9saWIvZ2RiL2NvbW1h bmQvdHVpX3dpbmRvd3MucHkKPiBAQCAtMCwwICsxLDkxMiBAQAo+ICsjIEFkZGl0aW9uYWwgVFVJ IHdpbmRvd3MuCj4gKyMgQ29weXJpZ2h0IDIwMjEgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJ bmMuCj4gKwo+ICsjIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlz dHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Cj4gKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBH TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKPiArIyB0aGUgRnJlZSBT b2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgo+ ICsjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCj4gKyMKPiArIyBUaGlzIHBy b2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwK PiArIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3 YXJyYW50eSBvZgo+ICsjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM QVIgUFVSUE9TRS7CoCBTZWUgdGhlCj4gKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9y IG1vcmUgZGV0YWlscy4KPiArIwo+ICsjIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkg b2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCj4gKyMgYWxvbmcgd2l0aCB0aGlzIHBy b2dyYW0uwqAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+Lgo+ICsK PiAraW1wb3J0IGdkYgo+ICtpbXBvcnQgc3lzCj4gK2ltcG9ydCByZQo+ICsKPiArUFkzID0gc3lz LnZlcnNpb25faW5mb1swXSA9PSAzCj4gKwo+ICtpZiBQWTM6Cj4gK8KgwqDCoCBiYXNlc3RyaW5n ID0gc3RyCj4gKwo+ICtjdXN0b21fd2luZG93cyA9IHt9Cj4gKwo+ICsKPiArY29sX2VzY19zZXFf cmUgPSByZS5jb21waWxlKCIoXDAzM1xbWzAtOTtdKm0pIikKPiArCj4gKwo+ICtkZWYgY29sb3Jl ZF9zdWJzdHIodGV4dCwgb2Zmc2V0LCBjb3VudCk6Cj4gK8KgwqDCoCAiIiJSZXR1cm5zIGEgc3Vi c3RyaW5nIGlnbm9yaW5nIHRoZSBjb2xvciBlc2NhcGUgc2VxdWVuY2VzIGluIG9mZnNldCBhbmQK PiArwqDCoMKgIGNvdW50LCBidXQga2VlcGluZyB0aGVtIGluIHRoZSByZXR1cm5lZCBzdHJpbmcu Cj4gKwo+ICvCoMKgwqAgVGhlIHJldHVybmVkIHN0cmluZyBjb250YWlucyBleGFjdGx5IGNvdW50 IHByaW50YWJsZSBjaGFyYWN0ZXJzLCBmaWxsaW5nCj4gK8KgwqDCoCBpdCB3aXRoIHNwYWNlcyBp ZiBuZWNlc3NhcnkuIiIiCj4gKwo+ICvCoMKgwqAgY29sX2VzY19zZXEgPSBGYWxzZQo+ICvCoMKg wqAgaW5pdF9jb2xfZXNjX3NlcSA9IE5vbmUKPiArwqDCoMKgIGxhc3RfY29sX2VzY19zZXEgPSBO b25lCj4gK8KgwqDCoCBzdWIgPSAiIgo+ICvCoMKgwqAgZm9yIHAgaW4gY29sX2VzY19zZXFfcmUu c3BsaXQodGV4dCk6Cj4gK8KgwqDCoMKgwqDCoMKgIHQgPSAiIgo+ICvCoMKgwqDCoMKgwqDCoCBp ZiBvZmZzZXQgPiAwOgo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGlmIGNvbF9lc2Nfc2VxOgo+ ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgaW5pdF9jb2xfZXNjX3NlcSA9IHAKPiAr wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBlbHNlOgo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqAgbCA9IGxlbihwKQo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgaWYgbCA8 PSBvZmZzZXQ6Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIG9mZnNl dCAtPSBsCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBlbHNlOgo+ICvCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBpZiBpbml0X2NvbF9lc2Nfc2VxOgo+ICvC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHN1YiArPSBpbml0 X2NvbF9lc2Nfc2VxCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHQg PSBwW29mZnNldDpdCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIG9m ZnNldCA9IDAKPiArwqDCoMKgwqDCoMKgwqAgZWxzZToKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCB0ID0gcAo+ICvCoMKgwqDCoMKgwqDCoCBpZiBjb3VudCA+IDA6Cj4gK8KgwqDCoMKgwqDCoMKg wqDCoMKgwqAgaWYgY29sX2VzY19zZXE6Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCBzdWIgKz0gdAo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGVsc2U6Cj4gK8KgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCBsID0gbGVuKHQpCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCBpZiBsIDw9IGNvdW50Ogo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCBzdWIgKz0gdAo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCBjb3VudCAtPSBsCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBlbHNlOgo+ICvC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBzdWIgKz0gdFs6Y291bnRdCj4g K8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGNvdW50ID0gMAo+ICvCoMKg wqDCoMKgwqDCoCBlbGlmIGNvbF9lc2Nfc2VxOgo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGxh c3RfY29sX2VzY19zZXEgPSBwCj4gK8KgwqDCoMKgwqDCoMKgIGNvbF9lc2Nfc2VxID0gbm90IGNv bF9lc2Nfc2VxCj4gK8KgwqDCoCBpZiBsYXN0X2NvbF9lc2Nfc2VxOgo+ICvCoMKgwqDCoMKgwqDC oCBzdWIgKz0gbGFzdF9jb2xfZXNjX3NlcQo+ICvCoMKgwqAgaWYgY291bnQgPiAwOgo+ICvCoMKg wqDCoMKgwqDCoCBzdWIgKz0gIiAiICogY291bnQKPiArwqDCoMKgIHJldHVybiBzdWIKPiArCj4g Kwo+ICtjbGFzcyBUZXh0V2luZG93KG9iamVjdCk6Cj4gK8KgwqDCoCAiIiJCYXNlIHRleHQgd2lu ZG93IGNsYXNzIHdoaWNoIHRha2VzIGNhcmUgb2YgZHJhd2luZyBhbmQgc2Nyb2xsaW5nLgo+ICsK PiArwqDCoMKgIEFuIGluaGVyaXRpbmcgY2xhc3MgbmVlZHMgdG8gaW1wbGVtZW50IHRoZSByZWZp bGwgbWV0aG9kIHdoaWNoIGZpbGxzCj4gK8KgwqDCoCB0aGUgbGlzdCBzZWxmLmxpbmVzIHdpdGgg dGhlIGxpbmVzIHRoYXQgc2hvdWxkIGJlIGRpc3BsYXllZC4KPiArwqDCoMKgIFRoaXMgbWV0aG9k IHdpbGwgYmUgY2FsbGVkIGVhY2ggdGltZSBhIHByb21wdCBpcyBwcmVzZW50ZWQgdG8gdGhlIHVz ZXIuCj4gK8KgwqDCoCAiIiIKPiArCj4gK8KgwqDCoCBkZWYgX19pbml0X18oc2VsZiwgd2luLCB0 aXRsZSk6Cj4gK8KgwqDCoMKgwqDCoMKgIHNlbGYud2luID0gd2luCj4gK8KgwqDCoMKgwqDCoMKg IHNlbGYubGluZV9vZnMgPSAwCj4gK8KgwqDCoMKgwqDCoMKgIHNlbGYuY29sX29mcyA9IDAKPiAr wqDCoMKgwqDCoMKgwqAgc2VsZi5saW5lcyA9IFtdCj4gK8KgwqDCoMKgwqDCoMKgIHdpbi50aXRs ZSA9IHRpdGxlCj4gK8KgwqDCoMKgwqDCoMKgIGdsb2JhbCBjdXN0b21fd2luZG93cwo+ICvCoMKg wqDCoMKgwqDCoCBjdXN0b21fd2luZG93c1t0aXRsZV0gPSBzZWxmCj4gKwo+ICvCoMKgwqAgZGVm IGNsb3NlKHNlbGYpOgo+ICvCoMKgwqDCoMKgwqDCoCBnbG9iYWwgY3VzdG9tX3dpbmRvd3MKPiAr wqDCoMKgwqDCoMKgwqAgZGVsIGN1c3RvbV93aW5kb3dzW3NlbGYud2luLnRpdGxlXQo+ICsKPiAr wqDCoMKgIGRlZiByZW5kZXIoc2VsZik6Cj4gK8KgwqDCoMKgwqDCoMKgIHNlbGYubGluZV9vZnMg PSAwCj4gK8KgwqDCoMKgwqDCoMKgIHNlbGYuY29sX29mcyA9IDAKPiArCj4gK8KgwqDCoCBkZWYg aHNjcm9sbChzZWxmLCBudW0pOgo+ICvCoMKgwqDCoMKgwqDCoCBwcmV2X2NvbF9vZnMgPSBzZWxm LmNvbF9vZnMKPiArwqDCoMKgwqDCoMKgwqAgc2VsZi5jb2xfb2ZzID0gc2VsZi5jb2xfb2ZzICsg bnVtCj4gK8KgwqDCoMKgwqDCoMKgIGlmIHNlbGYuY29sX29mcyA8IDA6Cj4gK8KgwqDCoMKgwqDC oMKgwqDCoMKgwqAgc2VsZi5jb2xfb2ZzID0gMAo+ICvCoMKgwqDCoMKgwqDCoCBpZiBzZWxmLmNv bF9vZnMgIT0gcHJldl9jb2xfb2ZzOgo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHNlbGYucmVk cmF3KCkKPiArCj4gK8KgwqDCoCBkZWYgdnNjcm9sbChzZWxmLCBudW0pOgo+ICvCoMKgwqDCoMKg wqDCoCBwcmV2X2xpbmVfb2ZzID0gc2VsZi5saW5lX29mcwo+ICvCoMKgwqDCoMKgwqDCoCBzZWxm LmxpbmVfb2ZzID0gc2VsZi5saW5lX29mcyArIG51bQo+ICvCoMKgwqDCoMKgwqDCoCBsID0gbGVu KHNlbGYubGluZXMpCj4gK8KgwqDCoMKgwqDCoMKgIGlmIHNlbGYubGluZV9vZnMgPj0gbDoKPiAr wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBzZWxmLmxpbmVfb2ZzID0gbCAtIDEKPiArwqDCoMKgwqDC oMKgwqAgaWYgc2VsZi5saW5lX29mcyA8IDA6Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgc2Vs Zi5saW5lX29mcyA9IDAKPiArwqDCoMKgwqDCoMKgwqAgaWYgc2VsZi5saW5lX29mcyAhPSBwcmV2 X2xpbmVfb2ZzOgo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHNlbGYucmVkcmF3KCkKPiArCj4g K8KgwqDCoCBkZWYgcmVkcmF3KHNlbGYpOgo+ICvCoMKgwqDCoMKgwqDCoCBsID0gbGVuKHNlbGYu bGluZXMpCj4gK8KgwqDCoMKgwqDCoMKgIGlmIHNlbGYubGluZV9vZnMgPiAwIGFuZCBzZWxmLmxp bmVfb2ZzICsgc2VsZi53aW4uaGVpZ2h0ID4gbDoKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBz ZWxmLmxpbmVfb2ZzID0gbCAtIHNlbGYud2luLmhlaWdodAo+ICvCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIGlmIHNlbGYubGluZV9vZnMgPCAwOgo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgc2VsZi5saW5lX29mcyA9IDAKPiArwqDCoMKgwqDCoMKgwqAgc3RhcnQgPSBzZWxmLmxpbmVf b2ZzCj4gK8KgwqDCoMKgwqDCoMKgIHN0b3AgPSBzZWxmLmxpbmVfb2ZzICsgc2VsZi53aW4uaGVp Z2h0Cj4gK8KgwqDCoMKgwqDCoMKgIGlmIHN0b3AgPiBsOgo+ICvCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIHN0b3AgPSBsCj4gK8KgwqDCoMKgwqDCoMKgIGlmIHN0b3AgPiBzdGFydDoKPiArwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCBzZWxmLndpbi53cml0ZSgKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgICIiLmpvaW4oCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIFsKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBj b2xvcmVkX3N1YnN0cihsLCBzZWxmLmNvbF9vZnMsIHNlbGYud2luLndpZHRoKQo+ICvCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGZvciBsIGluIHNlbGYubGlu ZXNbc3RhcnQ6c3RvcF0KPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg XQo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKSwKPiArwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgIFRydWUsCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKQo+ICvCoMKg wqDCoMKgwqDCoCBlbHNlOgo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHNlbGYud2luLmVyYXNl KCkKPiArCj4gKwo+ICtkZWYgdmFsX2NtcF9jb2xvcihwcmV2LCBjdXIsIHN5bV9ub3RfaW5pdCwg YXJndW1lbnQsIGVtcHR5PUZhbHNlKToKPiArwqDCoMKgICIiIlJldHVybnMgdGhlIGNvbG9yIGVz Y2FwZSBzZXF1ZW5jZXMgZm9yIHZhcmlhYmxlIG5hbWUgYW5kIHZhbHVlLiIiIgo+ICvCoMKgwqAg dmFyX2NvbF9zLCB2YXJfY29sX2UsIHZhbF9jb2xfcywgdmFsX2NvbF9lID0gIiIsICIiLCAiIiwg IiIKPiArwqDCoMKgIGlmIGVtcHR5Ogo+ICvCoMKgwqDCoMKgwqDCoCAjIFZhcmlhYmxlIHdpdGhv dXQgY29udGVudHMKPiArwqDCoMKgwqDCoMKgwqAgdmFyX2NvbF9zLCB2YXJfY29sX2UgPSAiXDAz M1sxOzMwbSIsICJcMDMzWzBtIgo+ICvCoMKgwqAgZWxpZiBwcmV2IGlzIE5vbmU6Cj4gK8KgwqDC oMKgwqDCoMKgICMgTmV3IHZhcmlhYmxlCj4gK8KgwqDCoMKgwqDCoMKgIHZhcl9jb2xfcywgdmFy X2NvbF9lID0gIlwwMzNbMTszMm0iLCAiXDAzM1swbSIKPiArwqDCoMKgIGVsaWYgcHJldiAhPSBj dXI6Cj4gK8KgwqDCoMKgwqDCoMKgICMgVmFyaWFibGUgY29udGVudHMgY2hhbmdlZAo+ICvCoMKg wqDCoMKgwqDCoCB2YWxfY29sX3MsIHZhbF9jb2xfZSA9ICJcMDMzWzE7MzFtIiwgIlwwMzNbMG0i Cj4gK8KgwqDCoCBpZiBhcmd1bWVudDoKPiArwqDCoMKgwqDCoMKgwqAgIyBWYXJpYWJsZSBpcyBh IGZ1bmN0aW9uIGFyZ3VtZW50Cj4gK8KgwqDCoMKgwqDCoMKgIHZhcl9jb2xfcywgdmFyX2NvbF9l ID0gIlwwMzNbMTszNW0iLCAiXDAzM1swbSIKPiArwqDCoMKgIGVsaWYgc3ltX25vdF9pbml0Ogo+ ICvCoMKgwqDCoMKgwqDCoCAjIFZhcmlhYmxlIHdhcyBub3QgeWV0IGluaXRpYWxpemVkCj4gK8Kg wqDCoMKgwqDCoMKgIHZhcl9jb2xfcywgdmFyX2NvbF9lID0gIlwwMzNbMzNtIiwgIlwwMzNbMG0i Cj4gK8KgwqDCoCByZXR1cm4gKHZhcl9jb2xfcywgdmFyX2NvbF9lLCB2YWxfY29sX3MsIHZhbF9j b2xfZSkKPiArCj4gKwo+ICtkZWYgb2N0YWxfZXNjYXBlKHMpOgo+ICvCoMKgwqAgIiIiRXNjYXBl IG5vbi1wcmludGFibGUgY2hhcmFjdGVycyBhcyBvY3RhbCBzdHJpbmcuIiIiCj4gK8KgwqDCoCBy ZXR1cm4gIiIuam9pbihjIGlmIG9yZChjKSA8IDEyOCBlbHNlICJcXCUwM28iICUgb3JkKGMpIGZv ciBjIGluIHMpCj4gKwo+ICsKPiArZGVmIHZhbHVlX3N0cmluZyh2YWxzdHIsIGhpbnQpOgo+ICvC oMKgwqAgIiIiQ29udmVydCB2YWx1ZSB0byBzdHJpbmcgcmVwcmVzZW50YXRpb24uIiIiCj4gK8Kg wqDCoCBpZiBoaW50ID09ICJzdHJpbmciOgo+ICvCoMKgwqDCoMKgwqDCoCBpc19sYXp5ID0gdHlw ZSh2YWxzdHIpLl9fbmFtZV9fID09ICJMYXp5U3RyaW5nIgo+ICvCoMKgwqDCoMKgwqDCoCBpZiBp c19sYXp5Ogo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGwgPSB2YWxzdHIubGVuZ3RoCj4gK8Kg wqDCoMKgwqDCoMKgIGVsaWYgbm90IGlzaW5zdGFuY2UodmFsc3RyLCBiYXNlc3RyaW5nKToKPiAr wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBsID0gMQo+ICvCoMKgwqDCoMKgwqDCoCBlbHNlOgo+ICvC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIGwgPSBsZW4odmFsc3RyKQo+ICvCoMKgwqDCoMKgwqDCoCBp ZiBsID09IDA6Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgaWYgaXNfbGF6eSBhbmQgc3RyKHZh bHN0ci50eXBlKSA9PSAid2NoYXJfdCAqIjoKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIHZhbHN0ciA9ICdMIiInCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgZWxzZToKPiArwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHZhbHN0ciA9ICciIicKPiArwqDCoMKgwqDCoMKg wqAgZWxzZToKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB2YWxzdHIgPSBnZGIuVmFsdWUodmFs c3RyKS5mb3JtYXRfc3RyaW5nKHN5bWJvbHM9RmFsc2UsIGFkZHJlc3M9RmFsc2UpCj4gK8KgwqDC oCBpZiBpc2luc3RhbmNlKHZhbHN0ciwgZ2RiLlZhbHVlKToKPiArwqDCoMKgwqDCoMKgwqAgdmFs c3RyID0gdmFsc3RyLmZvcm1hdF9zdHJpbmcoc3ltYm9scz1GYWxzZSwgYWRkcmVzcz1GYWxzZSkK PiArwqDCoMKgIGVsaWYgbm90IHR5cGUodmFsc3RyKSBpcyBzdHI6Cj4gK8KgwqDCoMKgwqDCoMKg IHZhbHN0ciA9IHN0cih2YWxzdHIpCj4gK8KgwqDCoCByZXR1cm4gdmFsc3RyCj4gKwo+ICsKPiAr ZGVmIGlzX3R5cGVkZWZfb2YodmFsdHlwZSwgbmFtZSk6Cj4gK8KgwqDCoCAiIiJDaGVjayBmb3Ig dHlwZSB2YXJpYW50cy4iIiIKPiArwqDCoMKgIGlmIHZhbHR5cGUubmFtZSA9PSBuYW1lOgo+ICvC oMKgwqDCoMKgwqDCoCByZXR1cm4gVHJ1ZQo+ICvCoMKgwqAgd2hpbGUgdmFsdHlwZS5jb2RlID09 IGdkYi5UWVBFX0NPREVfVFlQRURFRjoKPiArwqDCoMKgwqDCoMKgwqAgdmFsdHlwZSA9IHZhbHR5 cGUudGFyZ2V0KCkKPiArwqDCoMKgwqDCoMKgwqAgaWYgdmFsdHlwZS5uYW1lID09IG5hbWU6Cj4g K8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcmV0dXJuIFRydWUKPiArwqDCoMKgIHJldHVybiBGYWxz ZQo+ICsKPiArCj4gK2RlZiBpc19zdHJpbmdfZWxlbWVudF90eXBlKHQpOgo+ICvCoMKgwqAgIiIi UmV0dXJuIGlmIGFuIGFycmF5IG9mIHRoaXMgdHlwZSBpcyBjb25zaWRlcmVkIGEgc3RyaW5nLiIi Igo+ICvCoMKgwqAgdGFyZ2V0X3R5cGUgPSB0LnRhcmdldCgpLnN0cmlwX3R5cGVkZWZzKCkKPiAr wqDCoMKgIHJldHVybiB0YXJnZXRfdHlwZS5jb2RlID09IGdkYi5UWVBFX0NPREVfSU5UIGFuZCAo Cj4gK8KgwqDCoMKgwqDCoMKgIHRhcmdldF90eXBlLm5hbWUgPT0gImNoYXIiIG9yIGlzX3R5cGVk ZWZfb2YodC50YXJnZXQoKSwgIndjaGFyX3QiKQo+ICvCoMKgwqAgKQo+ICsKPiArCj4gK2NsYXNz IEFycmF5UHJpbnRlcihvYmplY3QpOgo+ICvCoMKgwqAgIiIiUHJldHR5IHByaW50ZXIgZm9yIGFy cmF5cy4iIiIKPiArCj4gK8KgwqDCoCBkZWYgX19pbml0X18oc2VsZiwgdiwgdCk6Cj4gK8KgwqDC oMKgwqDCoMKgIHNlbGYudiA9IHYKPiArwqDCoMKgwqDCoMKgwqAgc2VsZi50ID0gdAo+ICsKPiAr wqDCoMKgIGRlZiB0b19zdHJpbmcoc2VsZik6Cj4gK8KgwqDCoMKgwqDCoMKgIGlmIGlzX3N0cmlu Z19lbGVtZW50X3R5cGUoc2VsZi50KToKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCByZXR1cm4g c2VsZi52LmZvcm1hdF9zdHJpbmcoc3ltYm9scz1GYWxzZSwgcmF3PVRydWUsIGFkZHJlc3M9VHJ1 ZSkKPiArCj4gK8KgwqDCoCBkZWYgY2hpbGRyZW4oc2VsZik6Cj4gK8KgwqDCoMKgwqDCoMKgIChs b3csIGhpZ2gpID0gc2VsZi50LnJhbmdlKCkKPiArwqDCoMKgwqDCoMKgwqAgZm9yIGkgaW4gcmFu Z2UobG93LCBoaWdoICsgMSk6Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgeWllbGQgIlslZF0i ICUgaSwgc2VsZi52W2ldCj4gKwo+ICsKPiArY2xhc3MgU3RydWN0UHJpbnRlcihvYmplY3QpOgo+ ICvCoMKgwqAgIiIiUHJldHR5IHByaW50ZXIgZm9yIHN0cnVjdHMvdW5pb25zLiIiIgo+ICsKPiAr wqDCoMKgIGRlZiBfX2luaXRfXyhzZWxmLCB2LCBkeW5fdHlwZSwgcmF3KToKPiArwqDCoMKgwqDC oMKgwqAgc2VsZi52ID0gdgo+ICvCoMKgwqDCoMKgwqDCoCBzZWxmLnJhdyA9IHJhdwo+ICvCoMKg wqDCoMKgwqDCoCBzZWxmLmR5bl9uYW1lID0gTm9uZQo+ICvCoMKgwqDCoMKgwqDCoCBpZiBkeW5f dHlwZSBhbmQgdi50eXBlLmNvZGUgPT0gZ2RiLlRZUEVfQ09ERV9TVFJVQ1Q6Cj4gK8KgwqDCoMKg wqDCoMKgwqDCoMKgwqAgdHJ5Ogo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgaWYg di50eXBlICE9IHYuZHluYW1pY190eXBlOgo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCBzZWxmLnYgPSB2LmNhc3Qodi5keW5hbWljX3R5cGUpCj4gK8KgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHNlbGYuZHluX25hbWUgPSAiIDwiICsgc2VsZi52 LnR5cGUubmFtZSArICI+Igo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGV4Y2VwdDoKPiArwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHBhc3MKPiArCj4gK8KgwqDCoCBkZWYgdG9fc3Ry aW5nKHNlbGYpOgo+ICvCoMKgwqDCoMKgwqDCoCByZXR1cm4gc2VsZi5keW5fbmFtZQo+ICsKPiAr wqDCoMKgIGRlZiBjaGlsZHJlbihzZWxmKToKPiArwqDCoMKgwqDCoMKgwqAgZmllbGRzID0gc2Vs Zi52LnR5cGUuZmllbGRzKCkKPiArwqDCoMKgwqDCoMKgwqAgbnVtID0gMQo+ICvCoMKgwqDCoMKg wqDCoCBmb3IgZiBpbiBmaWVsZHM6Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgaWYgbm90IGhh c2F0dHIoZiwgImJpdHBvcyIpOgo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgY29u dGludWUKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB0cnk6Cj4gK8KgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCBuID0gZi5uYW1lCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgZXhjZXB0 Ogo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgbiA9IE5vbmUKPiArwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCBpZiBub3QgbjoKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IG4gPSAiPGFub255bW91cz4iCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgZWxpZiBmLmlzX2Jh c2VfY2xhc3M6Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBuID0gIjwiICsgbiAr ICI+Igo+ICsKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBjaGlsZF92ID0gc2VsZi52W2ZdCj4g Kwo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICMgRGlzYWJsZSBkeW5hbWljX3R5cGUgZm9yIGJh c2UgY2xhc3NlcywgdG8gcHJldmVudCBpbmZpbml0ZQo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKg ICMgcmVjdXJzaW9uLgo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGlmIGNoaWxkX3YudHlwZS5j b2RlID09IGdkYi5UWVBFX0NPREVfU1RSVUNUIGFuZCBmLmlzX2Jhc2VfY2xhc3M6Cj4gK8KgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBwcCA9IE5vbmUKPiArwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIGlmIG5vdCBzZWxmLnJhdzoKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqAgdHJ5Ogo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIHBwID0gZ2RiLmRlZmF1bHRfdmlzdWFsaXplcih2KQo+ICvCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBleGNlcHQ6Cj4gK8KgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcGFzcwo+ICvCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgaWYgcHAgaXMgTm9uZToKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgY2hpbGRfdiA9IFN0cnVjdFByaW50ZXIoY2hpbGRfdiwgRmFsc2UsIHNlbGYu cmF3KQo+ICsKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB5aWVsZCBuLCBjaGlsZF92Cj4gKwo+ ICvCoMKgwqAgZGVmIGFkZHJlc3Moc2VsZik6Cj4gK8KgwqDCoMKgwqDCoMKgIHJldHVybiBzZWxm LnYuYWRkcmVzcwo+ICsKPiArCj4gK2NsYXNzIFBvaW50ZXJQcmludGVyKG9iamVjdCk6Cj4gK8Kg wqDCoCAiIiJQcmV0dHkgcHJpbnRlciBmb3IgcG9pbnRlcnMuIiIiCj4gKwo+ICvCoMKgwqAgZGVm IF9faW5pdF9fKHNlbGYsIHYpOgo+ICvCoMKgwqDCoMKgwqDCoCBzZWxmLnYgPSB2Cj4gKwo+ICvC oMKgwqAgZGVmIHRvX3N0cmluZyhzZWxmKToKPiArwqDCoMKgwqDCoMKgwqAgcmV0dXJuIHNlbGYu di5mb3JtYXRfc3RyaW5nKHN5bWJvbHM9RmFsc2UsIHJhdz1UcnVlLCBhZGRyZXNzPVRydWUpCj4g Kwo+ICvCoMKgwqAgZGVmIGNoaWxkcmVuKHNlbGYpOgo+ICvCoMKgwqDCoMKgwqDCoCB0cnk6Cj4g K8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgdmFsID0gc2VsZi52LmRlcmVmZXJlbmNlKCkKPiArwqDC oMKgwqDCoMKgwqAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgo+ICvCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIHZhbCA9IGUKPiArwqDCoMKgwqDCoMKgwqAgeWllbGQgIlswXSIsIHZhbAo+ICsKPiArCj4g K2NsYXNzIFZhbHVlUHJpbnRlcihvYmplY3QpOgo+ICvCoMKgwqAgIiIiUHJldHR5IHByaW50ZXIg Zm9yIHZhbHVlIHR5cGVzIHRoYXQgZG9uJ3QgaGF2ZSBjaGlsZHJlbi4iIiIKPiArCj4gK8KgwqDC oCBkZWYgX19pbml0X18oc2VsZiwgdiwgZm10KToKPiArwqDCoMKgwqDCoMKgwqAgc2VsZi52ID0g dgo+ICvCoMKgwqDCoMKgwqDCoCBzZWxmLmZtdCA9IGZtdAo+ICsKPiArwqDCoMKgIGRlZiB0b19z dHJpbmcoc2VsZik6Cj4gK8KgwqDCoMKgwqDCoMKgIGlmIHNlbGYuZm10Ogo+ICvCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIHJldHVybiBzZWxmLnYuZm9ybWF0X3N0cmluZygKPiArwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIHN5bWJvbHM9RmFsc2UsIHJhdz1UcnVlLCBhZGRyZXNzPVRydWUs IGZvcm1hdD1zZWxmLmZtdAo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICkKPiArwqDCoMKgwqDC oMKgwqAgZWxzZToKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCByZXR1cm4gc2VsZi52LmZvcm1h dF9zdHJpbmcoc3ltYm9scz1GYWxzZSwgcmF3PVRydWUsIGFkZHJlc3M9VHJ1ZSkKPiArCj4gKwo+ ICtjbGFzcyBWYXJpYWJsZVdpbmRvdyhUZXh0V2luZG93KToKPiArwqDCoMKgICIiIkJhc2UgdmFy aWFibGUgd2luZG93IGNsYXNzIGZvciBpbnRlcmFjdGl2ZSBleHBhbnNpb24gb2YgY2hpbGQgdmFs dWVzLgo+ICsKPiArwqDCoMKgIEFuIGluaGVyaXRpbmcgY2xhc3MgbmVlZHMgdG8gaW1wbGVtZW50 IHRoZSB2YXJpYWJsZXMgbWV0aG9kIHdoaWNoIHJldHVybnMKPiArwqDCoMKgIGFuIGl0ZXJhYmxl IG9mIG9iamVjdHMgKGJhc2VkIG9uIHdoYXQgRnJhbWVEZWNvcmF0b3IuZnJhbWVfYXJncyByZXR1 cm5zKS4KPiArwqDCoMKgIFRoZXNlIG9iamVjdHMgbXVzdCBpbXBsZW1lbnQgYSBzeW1ib2wgbWV0 aG9kLCByZXR1cm5pbmcgZWl0aGVyIGEgUHl0aG9uCj4gK8KgwqDCoCBzdHJpbmcgb2YgYSBnZGIu U3ltYm9sLgo+ICvCoMKgwqAgQW5kIG9wdGlvbmFsbHkgdGhleSBjYW4gaW1wbGVtZW50IHRoZXNl IG1ldGhvZHM6Cj4gK8KgwqDCoCAtIHZhbHVlOiBSZXR1cm5zIGVpdGhlciBhIFB5dGhvbiB2YWx1 ZSwgYSBnZGIuVmFsdWUsIG9yIGEgcHJldHR5LXByaW50ZXIKPiArwqDCoMKgwqDCoMKgwqAgKGlm IG5vdCBpbXBsZW1lbnRlZCwgb3IgcmV0dXJucyBOb25lLCBhbmQgdGhlIHN5bWJvbCBtZXRob2Qg cmV0dXJucyBhCj4gK8KgwqDCoMKgwqDCoMKgIGdkYi5TeW1ib2wsIHRoZSB2YWx1ZSBvZiB0aGUg Z2RiLlN5bWJvbCBpcyB1c2VkKS4KPiArwqDCoMKgIC0gdW5kZWNsYXJlZDogUmV0dXJucyBhIEJv b2xlYW4gaW5kaWNhdGluZyBpZiB0aGUgZGVjbGFyYXRpb24gb2YgdGhpcwo+ICvCoMKgwqDCoMKg wqDCoCB2YXJpYWJsZSB3YXMgbm90IHlldCByZWFjaGVkIChkZWZhdWx0PUZhbHNlKS4KPiArwqDC oMKgIC0gYXJndW1lbnQ6IFJldHVybnMgYSBCb29sZWFuIGluZGljYXRpbmcgdGhpcyB2YXJpYWJs ZSBpcyBhbiBhcmd1bWVudAo+ICvCoMKgwqDCoMKgwqDCoCAoZGVmYXVsdD1GYWxzZSkuCj4gK8Kg wqDCoCAtIG51bWJlcjogSWYgdGhpcyByZXR1cm5zIGEgcG9zaXRpdmUgaW50ZWdlciwgaXQgaXMg c2hvd24gYmVmb3JlCj4gK8KgwqDCoMKgwqDCoMKgIHN5bWJvbCBuYW1lIChkZWZhdWx0PTApLgo+ ICvCoMKgwqAgLSByYXc6IFJldHVybnMgYSBCb29sZWFuIGluZGljYXRpbmcgdGhhdCBubyBwcmV0 dHktcHJpbnRlcnMgc2hvdWxkIGJlCj4gK8KgwqDCoMKgwqDCoMKgIHVzZWQgdG8gZm9ybWF0IHRo ZSB2YWx1ZSAoZGVmYXVsdD1GYWxzZSkuCj4gK8KgwqDCoCAtIGZvcm1hdDogU2FtZSBhcyB0aGUg Zm9ybWF0IGFyZ3VtZW50IG9mIFZhbHVlLmZvcm1hdF9zdHJpbmcuCj4gK8KgwqDCoCAtIGVycm9y OiBQeXRob24gc3RyaW5nIGluZGljYXRpbmcgYW4gZXJyb3IgbWVzc2FnZSB0aGF0IGlzIHNob3du IGlmCj4gK8KgwqDCoMKgwqDCoMKgIG1ldGhvZCB2YWx1ZSByZXR1cm5zIE5vbmUuCj4gK8KgwqDC oCAiIiIKPiArCj4gK8KgwqDCoCBkZWYgX19pbml0X18oc2VsZiwgd2luLCB0aXRsZSwgY29udmVu aWVuY2VfbmFtZSk6Cj4gK8KgwqDCoMKgwqDCoMKgIHN1cGVyKFZhcmlhYmxlV2luZG93LCBzZWxm KS5fX2luaXRfXyh3aW4sIHRpdGxlKQo+ICvCoMKgwqDCoMKgwqDCoCBzZWxmLnByZXZfdmFscyA9 IHt9Cj4gK8KgwqDCoMKgwqDCoMKgIHNlbGYubGluZV9uYW1lcyA9IFtdCj4gK8KgwqDCoMKgwqDC oMKgIHNlbGYuY29udmVuaWVuY2VfbmFtZSA9IGNvbnZlbmllbmNlX25hbWUKPiArCj4gK8KgwqDC oCBkZWYgY2xpY2soc2VsZiwgeCwgeSwgYnV0dG9uKToKPiArwqDCoMKgwqDCoMKgwqAgbGluZSA9 IHkgKyBzZWxmLmxpbmVfb2ZzCj4gK8KgwqDCoMKgwqDCoMKgIGlmIGxpbmUgPCBsZW4oc2VsZi5s aW5lX25hbWVzKToKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBuYW1lID0gc2VsZi5saW5lX25h bWVzW2xpbmVdCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgaWYgbmFtZToKPiArwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIHByZXYgPSBzZWxmLnByZXZfdmFsc1tuYW1lXQo+ICvCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgaWYgYnV0dG9uID09IDE6Cj4gK8KgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICMgT24gbGVmdC1jbGljaywgaW52ZXJ0IGV4cGFu c2lvbiBvZiBjaGlsZHJlbi4KPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgaWYgcHJldiBpcyBub3QgTm9uZSBhbmQgcHJldlswXSBpcyBub3QgTm9uZToKPiArwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBwcmV2WzBdID0gbm90IHBy ZXZbMF0KPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBz ZWxmLnJlZmlsbChUcnVlKQo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgIHNlbGYucmVkcmF3KCkKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IGVsaWYgYnV0dG9uID09IDM6Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgICMgT24gcmlnaHQtY2xpY2ssIHNldCBlbGVtZW50IGZvciBjb252ZW5pZW5jZSB2YXJpYWJs ZS4KPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgaWYgcHJldiBpcyBu b3QgTm9uZSBhbmQgcHJldlszXSBpcyBub3QgTm9uZToKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBnZGIuc2V0X2NvbnZlbmllbmNlX3ZhcmlhYmxlKHNl bGYuY29udmVuaWVuY2VfbmFtZSwgcHJldlszXSkKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBzZWxmLnJlZmlsbChUcnVlKQo+ICvCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHNlbGYucmVkcmF3KCkKPiArCj4gK8Kg wqDCoCBkZWYgcmVmaWxsKHNlbGYsIGtlZXBfcHJldj1GYWxzZSk6Cj4gK8KgwqDCoMKgwqDCoMKg IHNlbGYubGluZXMgPSBbXQo+ICvCoMKgwqDCoMKgwqDCoCBzZWxmLmxpbmVfbmFtZXMgPSBbXQo+ ICvCoMKgwqDCoMKgwqDCoCBjdXJfdmFscyA9IHt9Cj4gK8KgwqDCoMKgwqDCoMKgIGZyYW1lID0g Tm9uZQo+ICvCoMKgwqDCoMKgwqDCoCBmb3IgdiBpbiBzZWxmLnZhcmlhYmxlcygpOgo+ICvCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIHN5bWJvbCA9IHYuc3ltYm9sKCkKPiArwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCBpZiBpc2luc3RhbmNlKHN5bWJvbCwgZ2RiLlN5bWJvbCk6Cj4gK8KgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCBuYW1lID0gc3ltYm9sLm5hbWUKPiArwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCBlbHNlOgo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgbmFtZSA9IHN5 bWJvbAo+ICsKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB2YWx1ZSA9IE5vbmUKPiArwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCBpZiBoYXNhdHRyKHYsICJ2YWx1ZSIpOgo+ICvCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgdmFsdWUgPSB2LnZhbHVlKCkKPiArwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCBpZiB2YWx1ZSBpcyBOb25lIGFuZCBpc2luc3RhbmNlKHN5bWJvbCwgZ2RiLlN5bWJvbCk6 Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBpZiBmcmFtZSBpcyBOb25lOgo+ICvC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBmcmFtZSA9IGdkYi5zZWxlY3Rl ZF9mcmFtZSgpCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB2YWx1ZSA9IHN5bWJv bC52YWx1ZShmcmFtZSkKPiArCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgc3ltX25vdF9pbml0 ID0gRmFsc2UKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBpZiBoYXNhdHRyKHYsICJ1bmRlY2xh cmVkIik6Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBzeW1fbm90X2luaXQgPSB2 LnVuZGVjbGFyZWQoKQo+ICsKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBhcmd1bWVudCA9IEZh bHNlCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgaWYgaGFzYXR0cih2LCAiYXJndW1lbnQiKToK PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGFyZ3VtZW50ID0gdi5hcmd1bWVudCgp Cj4gKwo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIG51bSA9IDAKPiArwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCBpZiBoYXNhdHRyKHYsICJudW1iZXIiKToKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgIG51bSA9IHYubnVtYmVyKCkKPiArCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAg cmF3ID0gRmFsc2UKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBpZiBoYXNhdHRyKHYsICJyYXci KToKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHJhdyA9IHYucmF3KCkKPiArCj4g K8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgZm10ID0gTm9uZQo+ICvCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIGlmIGhhc2F0dHIodiwgImZvcm1hdCIpOgo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqAgZm10ID0gdi5mb3JtYXQoKQo+ICsKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBlcnJv ciA9IE5vbmUKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBpZiBoYXNhdHRyKHYsICJlcnJvciIp Ogo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgZXJyb3IgPSB2LmVycm9yKCkKPiAr Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgc2VsZi5hZGRfdmFsKAo+ICvCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgbmFtZSwKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IG5hbWUsCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB2YWx1ZSwKPiArwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIDAsCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCBudW0sCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBjdXJfdmFscywKPiAr wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGtlZXBfcHJldiwKPiArwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIEZhbHNlLAo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgc3ltX25vdF9pbml0LAo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgYXJndW1l bnQsCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCByYXcsCj4gK8KgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCBmbXQsCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCBlcnJvciwKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCApCj4gK8KgwqDCoMKgwqDCoMKgIHNl bGYucHJldl92YWxzID0gY3VyX3ZhbHMKPiArCj4gK8KgwqDCoCBkZWYgYWRkX3ZhbCgKPiArwqDC oMKgwqDCoMKgwqAgc2VsZiwKPiArwqDCoMKgwqDCoMKgwqAgbiwKPiArwqDCoMKgwqDCoMKgwqAg Zm4sCj4gK8KgwqDCoMKgwqDCoMKgIHYsCj4gK8KgwqDCoMKgwqDCoMKgIGluc2V0LAo+ICvCoMKg wqDCoMKgwqDCoCBudW0sCj4gK8KgwqDCoMKgwqDCoMKgIGN1cl92YWxzLAo+ICvCoMKgwqDCoMKg wqDCoCBrZWVwX3ByZXYsCj4gK8KgwqDCoMKgwqDCoMKgIGRlZl9leHBhbmQsCj4gK8KgwqDCoMKg wqDCoMKgIHN5bV9ub3RfaW5pdCwKPiArwqDCoMKgwqDCoMKgwqAgYXJndW1lbnQsCj4gK8KgwqDC oMKgwqDCoMKgIHJhdywKPiArwqDCoMKgwqDCoMKgwqAgZm10LAo+ICvCoMKgwqDCoMKgwqDCoCBl cnJvciwKPiArwqDCoMKgICk6Cj4gK8KgwqDCoMKgwqDCoMKgIG4yID0gZm4KPiArwqDCoMKgwqDC oMKgwqAgaWYgaW5zZXQgPT0gMDoKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBpZiBudW0gPT0g MDoKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGNvdW50ID0gMQo+ICvCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgd2hpbGUgbjIgaW4gY3VyX3ZhbHM6Cj4gK8KgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGNvdW50ICs9IDEKPiArwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgbjIgPSAiJXM6JWQiICUgKG4sIGNvdW50KQo+ICvC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIGVsc2U6Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCBuMiA9ICIlZDolcyIgJSAobnVtLCBuKQo+ICsKPiArwqDCoMKgwqDCoMKgwqAgY3VyX2Vu dHJ5ID0gW05vbmUsIEZhbHNlLCBOb25lLCBOb25lXQo+ICvCoMKgwqDCoMKgwqDCoCBjdXJfdmFs c1tuMl0gPSBjdXJfZW50cnkKPiArwqDCoMKgwqDCoMKgwqAgZXhwYW5kID0gTm9uZQo+ICvCoMKg wqDCoMKgwqDCoCBwcmV2X3ZhbCA9IE5vbmUKPiArwqDCoMKgwqDCoMKgwqAgaWYgbjIgaW4gc2Vs Zi5wcmV2X3ZhbHM6Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcHYgPSBzZWxmLnByZXZfdmFs c1tuMl0KPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBleHBhbmQgPSBwdlswXQo+ICvCoMKgwqDC oMKgwqDCoMKgwqDCoMKgIGlmIGtlZXBfcHJldjoKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgIHByZXZfdmFsID0gcHZbMl0KPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBlbHNlOgo+ ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcHJldl92YWwgPSBwdlsxXQo+ICvCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIGN1cl9lbnRyeVswXSA9IGV4cGFuZAo+ICvCoMKgwqDCoMKgwqDC oMKgwqDCoMKgIGN1cl9lbnRyeVsyXSA9IHByZXZfdmFsCj4gKwo+ICvCoMKgwqDCoMKgwqDCoCBz cGFjZXMgPSAiwqAgIiAqIGluc2V0Cj4gK8KgwqDCoMKgwqDCoMKgIGlmIG51bSA+IDA6Cj4gK8Kg wqDCoMKgwqDCoMKgwqDCoMKgwqAgbnVtc3RyID0gIiVkOiAiICUgbnVtCj4gK8KgwqDCoMKgwqDC oMKgIGVsc2U6Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgbnVtc3RyID0gIiIKPiArCj4gK8Kg wqDCoMKgwqDCoMKgIGlmIGlzaW5zdGFuY2UodiwgRXhjZXB0aW9uKToKPiArwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCBlcnJvciA9IHYubWVzc2FnZQo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHYg PSBOb25lCj4gKwo+ICvCoMKgwqDCoMKgwqDCoCBpZiB2IGlzIE5vbmU6Cj4gK8KgwqDCoMKgwqDC oMKgwqDCoMKgwqAgaWYgZXJyb3IgaXMgTm9uZToKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgICh2YXJfY29sX3MsIHZhcl9jb2xfZSwgdmFsX2NvbF9zLCB2YWxfY29sX2UpID0gdmFs X2NtcF9jb2xvcigKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgRmFs c2UsIEZhbHNlLCBzeW1fbm90X2luaXQsIGFyZ3VtZW50LCBlbXB0eT1UcnVlCj4gK8KgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCApCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCBzZWxmLmxpbmVzLmFwcGVuZChzcGFjZXMgKyBudW1zdHIgKyAiwqAgIiArIHZhcl9jb2xfcyAr IG4gKyB2YXJfY29sX2UpCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgZWxzZToKPiArwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICh2YXJfY29sX3MsIHZhcl9jb2xfZSwgdmFsX2NvbF9z LCB2YWxfY29sX2UpID0gdmFsX2NtcF9jb2xvcigKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqAgRmFsc2UsIEZhbHNlLCBzeW1fbm90X2luaXQsIGFyZ3VtZW50Cj4gK8Kg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCApCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCBzZWxmLmxpbmVzLmFwcGVuZCgKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgc3BhY2VzCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgICsgbnVtc3RyCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICsg IsKgICIKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKyB2YXJfY29s X3MKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKyBuCj4gK8KgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICsgdmFyX2NvbF9lCj4gK8KgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICsgIiA9IFwwMzNbMTszMG08Igo+ICvCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCArIGVycm9yCj4gK8KgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICsgIj5cMDMzWzBtIgo+ICvCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgKQo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHNlbGYubGluZV9u YW1lcy5hcHBlbmQobjIpCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcmV0dXJuCj4gKwo+ICvC oMKgwqDCoMKgwqDCoCBpZiBpc2luc3RhbmNlKHYsIGJhc2VzdHJpbmcpOgo+ICvCoMKgwqDCoMKg wqDCoMKgwqDCoMKgICh2YXJfY29sX3MsIHZhcl9jb2xfZSwgdmFsX2NvbF9zLCB2YWxfY29sX2Up ID0gdmFsX2NtcF9jb2xvcigKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHByZXZf dmFsLCB2LCBzeW1fbm90X2luaXQsIGFyZ3VtZW50Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAg KQo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHNlbGYubGluZXMuYXBwZW5kKAo+ICvCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgc3BhY2VzCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCArIG51bXN0cgo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKyAiwqAg Igo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKyB2YXJfY29sX3MKPiArwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICsgbgo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqAgKyB2YXJfY29sX2UKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICsgIiA9 ICIKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICsgdmFsX2NvbF9zCj4gK8KgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCArIHYKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgICsgdmFsX2NvbF9lCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKQo+ICvCoMKgwqDC oMKgwqDCoMKgwqDCoMKgIHNlbGYubGluZV9uYW1lcy5hcHBlbmQobjIpCj4gK8KgwqDCoMKgwqDC oMKgwqDCoMKgwqAgY3VyX2VudHJ5WzFdID0gdgo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHJl dHVybgo+ICsKPiArwqDCoMKgwqDCoMKgwqAgaXNfcHAgPSBoYXNhdHRyKHYsICJ0b19zdHJpbmci KSBvciBoYXNhdHRyKHYsICJjaGlsZHJlbiIpCj4gKwo+ICvCoMKgwqDCoMKgwqDCoCB2X2FkZHIg PSBOb25lCj4gK8KgwqDCoMKgwqDCoMKgIGlmIGlzX3BwOgo+ICvCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIGlmIGhhc2F0dHIodiwgImFkZHJlc3MiKToKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgIHRyeToKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgdl9h ZGRyID0gdi5hZGRyZXNzKCkKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGV4Y2Vw dDoKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgdl9hZGRyID0gTm9u ZQo+ICvCoMKgwqDCoMKgwqDCoCBlbGlmIGlzaW5zdGFuY2UodiwgZ2RiLlZhbHVlKToKPiArwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCBpc19vcHRpbWl6ZWRfb3V0ID0gRmFsc2UKPiArwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCB0cnk6Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBpZiB2 LnR5cGUuY29kZSBpbiBbZ2RiLlRZUEVfQ09ERV9SRUYsIGdkYi5UWVBFX0NPREVfUlZBTFVFX1JF Rl06Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHYgPSB2LnJlZmVy ZW5jZWRfdmFsdWUoKQo+ICsKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGlzX29w dGltaXplZF9vdXQgPSB2LmlzX29wdGltaXplZF9vdXQKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCBleGNlcHQ6Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBzZWxmLmFkZF92YWwo Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIG4sCj4gK8KgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGZuLAo+ICvCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCBOb25lLAo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCBpbnNldCwKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgbnVtLAo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBjdXJfdmFs cywKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAga2VlcF9wcmV2LAo+ ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBGYWxzZSwKPiArwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgc3ltX25vdF9pbml0LAo+ICvCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBhcmd1bWVudCwKPiArwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcmF3LAo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCBmbXQsCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgIHN0cihzeXMuZXhjX2luZm8oKVsxXSksCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCApCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCByZXR1cm4KPiArCj4g K8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgaWYgaXNfb3B0aW1pemVkX291dCBhbmQgdi50eXBlLnN0 cmlwX3R5cGVkZWZzKCkuY29kZSBub3QgaW4gWwo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqAgZ2RiLlRZUEVfQ09ERV9TVFJVQ1QsCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCBnZGIuVFlQRV9DT0RFX1VOSU9OLAo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIF06Cj4g K8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBzZWxmLmFkZF92YWwoCj4gK8KgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIG4sCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIGZuLAo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCBOb25lLAo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBp bnNldCwKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgbnVtLAo+ICvC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBjdXJfdmFscywKPiArwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAga2VlcF9wcmV2LAo+ICvCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBGYWxzZSwKPiArwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAgc3ltX25vdF9pbml0LAo+ICvCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCBhcmd1bWVudCwKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqAgcmF3LAo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCBmbXQsCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICJvcHRp bWl6ZWQgb3V0IiwKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICkKPiArwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHJldHVybgo+ICsKPiArwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCB2X2FkZHIgPSB2LmFkZHJlc3MKPiArwqDCoMKgwqDCoMKgwqAgZWxzZToKPiArwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCB2ID0gZ2RiLlZhbHVlKHYpCj4gKwo+ICvCoMKgwqDCoMKgwqDCoCBj dl9zdHIgPSAiIgo+ICvCoMKgwqDCoMKgwqDCoCBpZiB2X2FkZHIgaXMgbm90IE5vbmU6Cj4gK8Kg wqDCoMKgwqDCoMKgwqDCoMKgwqAgdl9hZGRyID0gdl9hZGRyLmRlcmVmZXJlbmNlKCkucmVmZXJl bmNlX3ZhbHVlKCkKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBjdXJfZW50cnlbM10gPSB2X2Fk ZHIKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBjdiA9IGdkYi5jb252ZW5pZW5jZV92YXJpYWJs ZShzZWxmLmNvbnZlbmllbmNlX25hbWUpCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgaWYgKAo+ ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgY3YgaXMgbm90IE5vbmUKPiArwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGFuZCBjdi5hZGRyZXNzID09IHZfYWRkci5hZGRyZXNz Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBhbmQgY3YudHlwZSA9PSB2X2FkZHIu dHlwZQo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICk6Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCBjdl9zdHIgPSAiID0gXDAzM1sxOzM2bSQiICsgc2VsZi5jb252ZW5pZW5jZV9u YW1lICsgIlwwMzNbMG0iCj4gKwo+ICvCoMKgwqDCoMKgwqDCoCBwcCA9IE5vbmUKPiArwqDCoMKg wqDCoMKgwqAgaWYgaXNfcHA6Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcHAgPSB2Cj4gK8Kg wqDCoMKgwqDCoMKgIGVsaWYgbm90IHJhdzoKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB0cnk6 Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBwcCA9IGdkYi5kZWZhdWx0X3Zpc3Vh bGl6ZXIodikKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBleGNlcHQ6Cj4gK8KgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCBwcCA9IE5vbmUKPiArCj4gK8KgwqDCoMKgwqDCoMKgIGRlZl9l eHBhbmRfY2hpbGQgPSBGYWxzZQo+ICvCoMKgwqDCoMKgwqDCoCBpZiBwcCBpcyBOb25lOgo+ICvC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIHQgPSB2LnR5cGUuc3RyaXBfdHlwZWRlZnMoKQo+ICvCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIGlmIHQuY29kZSA9PSBnZGIuVFlQRV9DT0RFX1BUUjoKPiArwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHB0cl90YXJnZXRfdHlwZSA9IHQudGFyZ2V0KCku c3RyaXBfdHlwZWRlZnMoKS5jb2RlCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBk ZWZfZXhwYW5kX2NoaWxkID0gcHRyX3RhcmdldF90eXBlICE9IGdkYi5UWVBFX0NPREVfUFRSCj4g Kwo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGlmIHQuY29kZSBpbiBbZ2RiLlRZUEVfQ09ERV9B UlJBWSwgZ2RiLlRZUEVfQ09ERV9SQU5HRV06Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCBwcCA9IEFycmF5UHJpbnRlcih2LCB0KQo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGVs aWYgdC5jb2RlIGluIFtnZGIuVFlQRV9DT0RFX1NUUlVDVCwgZ2RiLlRZUEVfQ09ERV9VTklPTl06 Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBwcCA9IFN0cnVjdFByaW50ZXIodiwg VHJ1ZSwgcmF3KQo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGVsaWYgdC5jb2RlID09IGdkYi5U WVBFX0NPREVfUFRSIGFuZCBub3QgcHRyX3RhcmdldF90eXBlIGluIFsKPiArwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIGdkYi5UWVBFX0NPREVfRlVOQywKPiArwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgIGdkYi5UWVBFX0NPREVfTUVUSE9ELAo+ICvCoMKgwqDCoMKgwqDCoMKg wqDCoMKgIF06Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBwcCA9IFBvaW50ZXJQ cmludGVyKHYpCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgZWxzZToKPiArwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIHBwID0gVmFsdWVQcmludGVyKHYsIGZtdCkKPiArCj4gK8KgwqDC oMKgwqDCoMKgIHRyeToKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBpZiBleHBhbmQgaXMgTm9u ZSBhbmQgaGFzYXR0cihwcCwgImNoaWxkcmVuIik6Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCBleHBhbmQgPSBkZWZfZXhwYW5kCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCBjdXJfZW50cnlbMF0gPSBleHBhbmQKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBleHBh bmRfc3RyID0gIsKgICIKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBpZiBleHBhbmQgaXMgbm90 IE5vbmU6Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBpZiBleHBhbmQ6Cj4gK8Kg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGV4cGFuZF9zdHIgPSAiLSAiCj4g K8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBlbHNlOgo+ICvCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBleHBhbmRfc3RyID0gIisgIgo+ICvCoMKgwqDCoMKgwqDC oMKgwqDCoMKgIG51bXN0ciArPSBleHBhbmRfc3RyCj4gKwo+ICvCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIHZhbHN0ciA9IE5vbmUKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBpZiBoYXNhdHRyKHBw LCAidG9fc3RyaW5nIik6Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB2YWxzdHIg PSBwcC50b19zdHJpbmcoKQo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGhpbnQgPSBOb25lCj4g K8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgaWYgaGFzYXR0cihwcCwgImRpc3BsYXlfaGludCIpOgo+ ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgaGludCA9IHBwLmRpc3BsYXlfaGludCgp Cj4gKwo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGlmIHZhbHN0ciBpcyBub3QgTm9uZToKPiAr wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHZhbHN0ciA9IHZhbHVlX3N0cmluZyh2YWxz dHIsIGhpbnQpCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB2YWxzdHIgPSBvY3Rh bF9lc2NhcGUodmFsc3RyKQo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgc3AgPSB2 YWxzdHIuc3BsaXQoIlxuIikKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICh2YXJf Y29sX3MsIHZhcl9jb2xfZSwgdmFsX2NvbF9zLCB2YWxfY29sX2UpID0gdmFsX2NtcF9jb2xvcigK PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcHJldl92YWwsIHZhbHN0 ciwgc3ltX25vdF9pbml0LCBhcmd1bWVudAo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgKQo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgc2VsZi5saW5lcy5hcHBlbmQo Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHNwYWNlcwo+ICvCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCArIG51bXN0cgo+ICvCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCArIHZhcl9jb2xfcwo+ICvCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCArIG4KPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqAgKyB2YXJfY29sX2UKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgKyAiID0gIgo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCArIHZhbF9jb2xfcwo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCArIHNwLnBvcCgwKQo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAr IHZhbF9jb2xfZQo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCArIGN2 X3N0cgo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKQo+ICvCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgc2VsZi5saW5lX25hbWVzLmFwcGVuZChuMikKPiArwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIGZvciBleHRyYSBpbiBzcDoKPiArwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgc2VsZi5saW5lcy5hcHBlbmQoc3BhY2VzICsgIsKgwqDC oCAiICsgZXh0cmEpCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHNl bGYubGluZV9uYW1lcy5hcHBlbmQoTm9uZSkKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIGN1cl9lbnRyeVsxXSA9IHZhbHN0cgo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGVsc2U6 Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAodmFyX2NvbF9zLCB2YXJfY29sX2Us IHZhbF9jb2xfcywgdmFsX2NvbF9lKSA9IHZhbF9jbXBfY29sb3IoCj4gK8KgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHByZXZfdmFsLCBGYWxzZSwgc3ltX25vdF9pbml0LCBh cmd1bWVudAo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKQo+ICvCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAgc2VsZi5saW5lcy5hcHBlbmQoc3BhY2VzICsgbnVtc3RyICsg dmFyX2NvbF9zICsgbiArIHZhcl9jb2xfZSArIGN2X3N0cikKPiArwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIHNlbGYubGluZV9uYW1lcy5hcHBlbmQobjIpCj4gKwo+ICvCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIGlmIGV4cGFuZDoKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IGNoaWxkcyA9IE5vbmUKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGlmIGhhc2F0 dHIocHAsICJjaGlsZHJlbiIpOgo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCBjaGlsZHMgPSBwcC5jaGlsZHJlbigpCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCBpZiBjaGlsZHM6Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IGlmIGhpbnQgPT0gIm1hcCI6Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgIyBJZiBrZXkgY2FuIGJlIGRpc3BsYXllZCBpbiAxIGxpbmUsIHNob3cgaXQg YXM6Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgI8Kg IFskS0VZX1NUUklOR10KPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCAjwqDCoMKgICRWQUxVRV9DSElMRFJFTgo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICMgT3RoZXJ3aXNlLCB1c2Uga2V5L3ZhbHVlIHBhaXJz Ogo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICPCoCBr ZXkKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAjwqDC oMKgICRLRVlfQ0hJTERSRU4KPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCAjwqAgdmFsdWUKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCAjwqDCoMKgICRWQUxVRV9DSElMRFJFTgo+ICvCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGNvdW50ID0gMAo+ICvCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGtleSA9IE5vbmUKPiArwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBmb3IgYyBpbiBjaGlsZHM6Cj4g K8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAo bmMsIHZjKSA9IGMKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIGNvdW50ICs9IDEKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGZuYyA9ICI6Ii5qb2luKFtuMiwgbmNdKQo+ICvCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgaWYgKGNv dW50ICUgMikgPT0gMToKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAga2V5ID0gTm9uZQo+ICvCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBpZiBpc2luc3RhbmNl KHZjLCBiYXNlc3RyaW5nKToKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBrZXkgPSB2Ywo+ICvCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBlbHNl Ogo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIHZjX2NoZWNrID0gdmMKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBpZiB2Y19j aGVjay50eXBlLmNvZGUgaW4gWwo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgZ2RiLlRZUEVfQ09E RV9SRUYsCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBnZGIuVFlQRV9DT0RFX1JWQUxVRV9SRUYs Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgXToKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHZjX2NoZWNrID0g dmNfY2hlY2sucmVmZXJlbmNlZF92YWx1ZSgpCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAga2V5X3BwID0gZ2Ri LmRlZmF1bHRfdmlzdWFsaXplcih2Y19jaGVjaykKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBpZiBrZXlfcHA6 Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBpZiBoYXNhdHRyKGtleV9wcCwgInRvX3N0cmluZyIp IGFuZCBub3QgaGFzYXR0cigKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAga2V5X3Bw LCAiY2hpbGRyZW4iCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCApOgo+ICvCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCB2Y19jaGVjayA9IGtleV9wcC50b19zdHJpbmcoKQo+ICvCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBpZiB2Y19jaGVjayBpcyBub3QgTm9uZToKPiArwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBoaW50ID0gTm9uZQo+ICvCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGlmIGhhc2F0dHIoa2V5X3BwLCAiZGlzcGxheV9o aW50Iik6Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBo aW50ID0ga2V5X3BwLmRpc3BsYXlfaGludCgpCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAga2V5ID0gdmFsdWVfc3RyaW5nKHZjX2NoZWNrLCBoaW50KQo+ICvCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgIGVsc2U6Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB0X2NoZWNrID0gdmNfY2hlY2su dHlwZS5zdHJpcF90eXBlZGVmcygpCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBpZiB0X2NoZWNr LmNvZGUgaW4gWwo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBnZGIuVFlQRV9DT0RF X0VOVU0sCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGdkYi5UWVBFX0NPREVfSU5U LAo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBnZGIuVFlQRV9DT0RFX0ZMVCwKPiAr wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgZ2RiLlRZUEVfQ09ERV9CT09MLAo+ICvCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBnZGIuVFlQRV9DT0RFX0NPTVBMRVgsCj4gK8KgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGdkYi5UWVBFX0NPREVfREVDRkxPQVQsCj4gK8KgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCBdOgo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBpZiBm bXQ6Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAga2V5ID0gdmNfY2hl Y2suZm9ybWF0X3N0cmluZygKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgIHN5bWJvbHM9RmFsc2UsIHJhdz1UcnVlLCBmb3JtYXQ9Zm10Cj4gK8KgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKQo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCBlbHNlOgo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGtl eSA9IHZjX2NoZWNrLmZvcm1hdF9zdHJpbmcoCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCBzeW1ib2xzPUZhbHNlLCByYXc9VHJ1ZQo+ICvCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICkKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgaWYga2V5IGlzIG5vdCBOb25l IGFuZCAiXG4iIGluIGtleToKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBrZXkgPSBOb25lCj4gK8KgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGlm IGtleSBpcyBOb25lOgo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHNlbGYuYWRkX3ZhbCgKPiArwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgICJrZXkiLAo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgZm5jLAo+ICvCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgdmMsCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBpbnNldCArIDEs Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAwLAo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgY3Vy X3ZhbHMsCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBrZWVwX3ByZXYsCj4gK8KgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCBGYWxzZSwKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIEZhbHNlLAo+ICvCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgRmFsc2UsCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCByYXcsCj4g K8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBmbXQsCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBOb25l LAo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgICkKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIGVsc2U6Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGlmIGtleSBpcyBub3QgTm9uZToK PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCBzZWxmLmFkZF92YWwoCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAi WyIgKyBzdHIoa2V5KSArICJdIiwKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGZuYywKPiArwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIHZjLAo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgaW5zZXQgKyAx LAo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgMCwKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGN1 cl92YWxzLAo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAga2VlcF9wcmV2LAo+ICvCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgRmFsc2UsCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBGYWxzZSwKPiArwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIEZhbHNlLAo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcmF3LAo+ ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgZm10LAo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgTm9u ZSwKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCApCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGVsc2U6Cj4gK8KgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgc2Vs Zi5hZGRfdmFsKAo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgInZhbHVlIiwKPiArwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIGZuYywKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHZjLAo+ICvCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqAgaW5zZXQgKyAxLAo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgMCwKPiAr wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIGN1cl92YWxzLAo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg a2VlcF9wcmV2LAo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgRmFsc2UsCj4gK8KgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCBGYWxzZSwKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIEZhbHNlLAo+ICvCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgcmF3LAo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgZm10LAo+ICvC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAgTm9uZSwKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCApCj4gK8KgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGVsc2U6Cj4gK8KgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgZm9yIGMgaW4gY2hpbGRzOgo+ICvCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKG5jLCB2Yykg PSBjCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCBmbmMgPSAiOiIuam9pbihbbjIsIG5jXSkKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHNlbGYuYWRkX3ZhbCgKPiArwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgbmMs Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgIGZuYywKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgdmMsCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGluc2V0ICsgMSwKPiArwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg MCwKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgY3VyX3ZhbHMsCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGtlZXBfcHJldiwKPiArwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgZGVmX2V4 cGFuZF9jaGlsZCwKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAgRmFsc2UsCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIEZhbHNlLAo+ICvCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCByYXcs Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgIGZtdCwKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgTm9uZSwKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICkKPiArwqDCoMKgwqDCoMKgwqAgZXhjZXB0 Ogo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHNlbGYuYWRkX3ZhbCgKPiArwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIG4sCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBm biwKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIE5vbmUsCj4gK8KgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCBpbnNldCwKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIG51bSwKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGN1cl92YWxzLAo+ICvC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAga2VlcF9wcmV2LAo+ICvCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgRmFsc2UsCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCBzeW1fbm90X2luaXQsCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBhcmd1bWVu dCwKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHJhdywKPiArwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIGZtdCwKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IHN0cihzeXMuZXhjX2luZm8oKVsxXSksCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKQo+ICsK PiArCj4gK2NsYXNzIFZhck5hbWVWYWx1ZShvYmplY3QpOgo+ICvCoMKgwqAgIiIiT2JqZWN0IHJl dHVybmVkIGJ5IExvY2Fsc1dpbmRvdy52YXJpYWJsZXMuIiIiCj4gKwo+ICvCoMKgwqAgZGVmIF9f aW5pdF9fKAo+ICvCoMKgwqDCoMKgwqDCoCBzZWxmLCBzeW0sIHZhbD1Ob25lLCB1bmRlY2w9RmFs c2UsIGFyZz1GYWxzZSwgbnVtPTAsIHI9RmFsc2UsIGZtdD1Ob25lLCBlcnI9Tm9uZQo+ICvCoMKg wqAgKToKPiArwqDCoMKgwqDCoMKgwqAgc2VsZi5zeW0gPSBzeW0KPiArwqDCoMKgwqDCoMKgwqAg c2VsZi52YWwgPSB2YWwKPiArwqDCoMKgwqDCoMKgwqAgc2VsZi51bmRlY2wgPSB1bmRlY2wKPiAr wqDCoMKgwqDCoMKgwqAgc2VsZi5hcmcgPSBhcmcKPiArwqDCoMKgwqDCoMKgwqAgc2VsZi5udW0g PSBudW0KPiArwqDCoMKgwqDCoMKgwqAgc2VsZi5yID0gcgo+ICvCoMKgwqDCoMKgwqDCoCBzZWxm LmZtdCA9IGZtdAo+ICvCoMKgwqDCoMKgwqDCoCBzZWxmLmVyciA9IGVycgo+ICsKPiArwqDCoMKg IGRlZiBzeW1ib2woc2VsZik6Cj4gK8KgwqDCoMKgwqDCoMKgIHJldHVybiBzZWxmLnN5bQo+ICsK PiArwqDCoMKgIGRlZiB2YWx1ZShzZWxmKToKPiArwqDCoMKgwqDCoMKgwqAgcmV0dXJuIHNlbGYu dmFsCj4gKwo+ICvCoMKgwqAgZGVmIHVuZGVjbGFyZWQoc2VsZik6Cj4gK8KgwqDCoMKgwqDCoMKg IHJldHVybiBzZWxmLnVuZGVjbAo+ICsKPiArwqDCoMKgIGRlZiBhcmd1bWVudChzZWxmKToKPiAr wqDCoMKgwqDCoMKgwqAgcmV0dXJuIHNlbGYuYXJnCj4gKwo+ICvCoMKgwqAgZGVmIG51bWJlcihz ZWxmKToKPiArwqDCoMKgwqDCoMKgwqAgcmV0dXJuIHNlbGYubnVtCj4gKwo+ICvCoMKgwqAgZGVm IHJhdyhzZWxmKToKPiArwqDCoMKgwqDCoMKgwqAgcmV0dXJuIHNlbGYucgo+ICsKPiArwqDCoMKg IGRlZiBmb3JtYXQoc2VsZik6Cj4gK8KgwqDCoMKgwqDCoMKgIHJldHVybiBzZWxmLmZtdAo+ICsK PiArwqDCoMKgIGRlZiBlcnJvcihzZWxmKToKPiArwqDCoMKgwqDCoMKgwqAgcmV0dXJuIHNlbGYu ZXJyCj4gKwo+ICsKPiArY2xhc3MgTG9jYWxzV2luZG93KFZhcmlhYmxlV2luZG93KToKPiArwqDC oMKgICIiIldpbmRvdyBmb3IgbG9jYWwgdmFyaWFibGVzLiIiIgo+ICsKPiArwqDCoMKgIGRlZiBf X2luaXRfXyhzZWxmLCB3aW4pOgo+ICvCoMKgwqDCoMKgwqDCoCBzdXBlcihMb2NhbHNXaW5kb3cs IHNlbGYpLl9faW5pdF9fKHdpbiwgImxvY2FscyIsICJsdiIpCj4gKwo+ICvCoMKgwqAgZGVmIHZh cmlhYmxlcyhzZWxmKToKPiArwqDCoMKgwqDCoMKgwqAgdGhyZWFkID0gZ2RiLnNlbGVjdGVkX3Ro cmVhZCgpCj4gK8KgwqDCoMKgwqDCoMKgIHRocmVhZF92YWxpZCA9IHRocmVhZCBhbmQgdGhyZWFk LmlzX3ZhbGlkKCkKPiArwqDCoMKgwqDCoMKgwqAgaWYgdGhyZWFkX3ZhbGlkOgo+ICvCoMKgwqDC oMKgwqDCoMKgwqDCoMKgIGZyYW1lID0gZ2RiLnNlbGVjdGVkX2ZyYW1lKCkKPiArwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCBjdXJfbGluZSA9IGZyYW1lLmZpbmRfc2FsKCkubGluZQo+ICvCoMKgwqDC oMKgwqDCoMKgwqDCoMKgIHRyeToKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGJs b2NrID0gZnJhbWUuYmxvY2soKQo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGV4Y2VwdDoKPiAr wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGJsb2NrID0gTm9uZQo+ICvCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIHdoaWxlIGJsb2NrOgo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgaWYgbm90IGJsb2NrLmlzX2dsb2JhbDoKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgZm9yIHN5bWJvbCBpbiBibG9jazoKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBpZiBzeW1ib2wuaXNfYXJndW1lbnQgb3Igc3ltYm9s LmlzX3ZhcmlhYmxlOgo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqAgc3ltX25vdF9pbml0ID0gKAo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBzeW1ib2wuaXNfdmFyaWFi bGUKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgYW5kIHN5bWJvbC5saW5lID4gMAo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBhbmQgY3VyX2xpbmUgPD0g c3ltYm9sLmxpbmUKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgICkKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgIHlpZWxkIFZhck5hbWVWYWx1ZSgKPiArwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgc3ltYm9sLm5hbWUs Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgIHZhbD1zeW1ib2wudmFsdWUoZnJhbWUpLAo+ICvCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB1bmRlY2w9c3ltX25v dF9pbml0LAo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCBhcmc9c3ltYm9sLmlzX2FyZ3VtZW50LAo+ICvCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKQo+ICvCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAgaWYgYmxvY2suZnVuY3Rpb246Cj4gK8KgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGJyZWFrCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCBibG9jayA9IGJsb2NrLnN1cGVyYmxvY2sKPiArCj4gKwo+ICtnZGIucmVnaXN0ZXJf d2luZG93X3R5cGUoImxvY2FscyIsIExvY2Fsc1dpbmRvdykKPiArCj4gKwo+ICtkZWYgYmVmb3Jl X3Byb21wdF9oYW5kbGVyKGV2ZW50PU5vbmUpOgo+ICvCoMKgwqAgIiIiUmVmcmVzaCBhbGwgVGV4 dFdpbmRvdyBpbnN0YW5jZXMgd2hlbiB1c2VyIGlzIHByZXNlbnRlZCBhIHByb21wdC4iIiIKPiAr wqDCoMKgIGdsb2JhbCBjdXN0b21fd2luZG93cwo+ICvCoMKgwqAgZm9yIGtleSwgdmFsdWUgaW4g Y3VzdG9tX3dpbmRvd3MuaXRlbXMoKToKPiArwqDCoMKgwqDCoMKgwqAgaWYgdmFsdWUud2luLmlz X3ZhbGlkKCk6Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgdmFsdWUucmVmaWxsKCkKPiArwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCB2YWx1ZS5yZWRyYXcoKQo+ICsKPiArCj4gK2dkYi5ldmVudHMu YmVmb3JlX3Byb21wdC5jb25uZWN0KGJlZm9yZV9wcm9tcHRfaGFuZGxlcikKPiArCj4gKwo+ICtn ZGIuZXhlY3V0ZSgidHVpIG5ldy1sYXlvdXQgbG9jYWxzIHstaG9yaXpvbnRhbCBzcmMgMiBsb2Nh bHMgMX0gMiBzdGF0dXMgMCBjbWQgMSIpCj4gLS0KPiAyLjMxLjE=