From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from pigeon.gentoo.org ([208.92.234.80] helo=lists.gentoo.org) by finch.gentoo.org with esmtp (Exim 4.60) (envelope-from ) id 1MH1uB-0002Ny-In for garchives@archives.gentoo.org; Wed, 17 Jun 2009 20:39:05 +0000 Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id B923EE049F; Wed, 17 Jun 2009 20:38:45 +0000 (UTC) Received: from smtp.butovo.com (smtp.butovo.com [90.155.128.66]) by pigeon.gentoo.org (Postfix) with ESMTP id 24899E049F for ; Wed, 17 Jun 2009 20:38:44 +0000 (UTC) Received: by smtp.butovo.com (Postfix, from userid 426) id 8018C1D8A7B; Thu, 18 Jun 2009 00:38:43 +0400 (MSD) X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on MX1 X-Spam-Level: X-Spam-Status: No, score=-2.7 required=3.8 tests=ALL_TRUSTED,AWL,BAYES_00, FUZZY_VLIUM autolearn=ham version=3.2.5 Received: from [192.168.1.77] (unknown [90.155.225.230]) (Authenticated sender: olekhov@butovo.com) by smtp.butovo.com (Postfix) with ESMTP id 311781D8005 for ; Thu, 18 Jun 2009 00:38:40 +0400 (MSD) Message-ID: <4A395450.9020607@butovo.com> Date: Thu, 18 Jun 2009 00:38:40 +0400 From: =?UTF-8?B?0J7Qu9C10YXQvtCyINCS0LDRgdC40LvQuNC5?= User-Agent: Thunderbird 2.0.0.21 (X11/20090302) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-user@lists.gentoo.org Reply-to: gentoo-user@lists.gentoo.org MIME-Version: 1.0 To: gentoo-user@lists.gentoo.org Subject: [gentoo-user] Cannot update world: can't build mesa Content-Type: multipart/mixed; boundary="------------000200050608080707030505" X-Archives-Salt: c3af45b8-f59c-4579-8ce2-6c3071b12706 X-Archives-Hash: 4073da420ea7349e79a2acdf024ca15d This is a multi-part message in MIME format. --------------000200050608080707030505 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit I've been using radeonhd, mesa, dri and others from latest git. Now i'm trying to update world. emerge fails building mesa-7.4.2 from portage --------------000200050608080707030505 Content-Type: text/plain; name="build.log" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="build.log" Pj4+IFVucGFja2luZyBzb3VyY2UuLi4KPj4+IFVucGFja2luZyBNZXNhTGliLTcuNC4yLnRh ci5iejIgdG8gL3Zhci90bXAvcG9ydGFnZS9tZWRpYS1saWJzL21lc2EtNy40LjIvd29yawo+ Pj4gU291cmNlIHVucGFja2VkIGluIC92YXIvdG1wL3BvcnRhZ2UvbWVkaWEtbGlicy9tZXNh LTcuNC4yL3dvcmsKPj4+IFByZXBhcmluZyBzb3VyY2UgaW4gL3Zhci90bXAvcG9ydGFnZS9t ZWRpYS1saWJzL21lc2EtNy40LjIvd29yay9NZXNhLTcuNC4yIC4uLgogG1szMjswMW0qG1sw bSBSdW5uaW5nIGVhdXRvcmVjb25mIGluICcvdmFyL3RtcC9wb3J0YWdlL21lZGlhLWxpYnMv bWVzYS03LjQuMi93b3JrL01lc2EtNy40LjInIC4uLgogG1szMjswMW0qG1swbSBSdW5uaW5n IGFjbG9jYWwgLi4uChtbQRtbMTQ3QyAgG1szNDswMW1bIBtbMzI7MDFtb2sbWzM0OzAxbSBd G1swbQogG1szMjswMW0qG1swbSBSdW5uaW5nIGF1dG9jb25mIC4uLgobW0EbWzE0N0MgIBtb MzQ7MDFtWyAbWzMyOzAxbW9rG1szNDswMW0gXRtbMG0KPj4+IFNvdXJjZSBwcmVwYXJlZC4K Pj4+IENvbmZpZ3VyaW5nIHNvdXJjZSBpbiAvdmFyL3RtcC9wb3J0YWdlL21lZGlhLWxpYnMv bWVzYS03LjQuMi93b3JrL01lc2EtNy40LjIgLi4uCiAqIGVjb25mOiB1cGRhdGluZyBNZXNh LTcuNC4yL2Jpbi9jb25maWcuZ3Vlc3Mgd2l0aCAvdXNyL3NoYXJlL2dudWNvbmZpZy9jb25m aWcuZ3Vlc3MKICogZWNvbmY6IHVwZGF0aW5nIE1lc2EtNy40LjIvYmluL2NvbmZpZy5zdWIg d2l0aCAvdXNyL3NoYXJlL2dudWNvbmZpZy9jb25maWcuc3ViCi4vY29uZmlndXJlIC0tcHJl Zml4PS91c3IgLS1idWlsZD1pNDg2LXBjLWxpbnV4LWdudSAtLWhvc3Q9aTQ4Ni1wYy1saW51 eC1nbnUgLS1tYW5kaXI9L3Vzci9zaGFyZS9tYW4gLS1pbmZvZGlyPS91c3Ivc2hhcmUvaW5m byAtLWRhdGFkaXI9L3Vzci9zaGFyZSAtLXN5c2NvbmZkaXI9L2V0YyAtLWxvY2Fsc3RhdGVk aXI9L3Zhci9saWIgLS13aXRoLWRyaXZlcj1kcmkgLS1kaXNhYmxlLWdsdXQgLS13aXRob3V0 LWRlbW9zIC0tZGlzYWJsZS1kZWJ1ZyAtLWRpc2FibGUtZ2x3IC0tZGlzYWJsZS1tb3RpZiAt LWVuYWJsZS1nbHgtdGxzIC0tZW5hYmxlLXhjYiAtLXdpdGgtZHJpLWRyaXZlcnM9LHN3cmFz dCxyMzAwIC0tZW5hYmxlLWFzbSAtLWVuYWJsZS1hc20KY2hlY2tpbmcgYnVpbGQgc3lzdGVt IHR5cGUuLi4gaTQ4Ni1wYy1saW51eC1nbnUKY2hlY2tpbmcgaG9zdCBzeXN0ZW0gdHlwZS4u LiBpNDg2LXBjLWxpbnV4LWdudQpjaGVja2luZyBmb3IgaTQ4Ni1wYy1saW51eC1nbnUtZ2Nj Li4uIGk0ODYtcGMtbGludXgtZ251LWdjYwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZh dWx0IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcgd2hldGhlciB0aGUgQyBj b21waWxlciB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29t cGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJsZXMuLi4gCmNo ZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhl ciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4uIHllcwpjaGVja2luZyB3aGV0 aGVyIGk0ODYtcGMtbGludXgtZ251LWdjYyBhY2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBm b3IgaTQ4Ni1wYy1saW51eC1nbnUtZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OS4uLiBu b25lIG5lZWRlZApjaGVja2luZyBob3cgdG8gcnVuIHRoZSBDIHByZXByb2Nlc3Nvci4uLiBp NDg2LXBjLWxpbnV4LWdudS1nY2MgLUUKY2hlY2tpbmcgZm9yIGk0ODYtcGMtbGludXgtZ251 LWdjYy4uLiAoY2FjaGVkKSBpNDg2LXBjLWxpbnV4LWdudS1nY2MKY2hlY2tpbmcgd2hldGhl ciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4uIChjYWNoZWQpIHllcwpjaGVj a2luZyB3aGV0aGVyIGk0ODYtcGMtbGludXgtZ251LWdjYyBhY2NlcHRzIC1nLi4uIChjYWNo ZWQpIHllcwpjaGVja2luZyBmb3IgaTQ4Ni1wYy1saW51eC1nbnUtZ2NjIG9wdGlvbiB0byBh Y2NlcHQgSVNPIEM4OS4uLiAoY2FjaGVkKSBub25lIG5lZWRlZApjaGVja2luZyBmb3IgaTQ4 Ni1wYy1saW51eC1nbnUtZysrLi4uIGk0ODYtcGMtbGludXgtZ251LWcrKwpjaGVja2luZyB3 aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUgR05VIEMrKyBjb21waWxlci4uLiB5ZXMKY2hlY2tp bmcgd2hldGhlciBpNDg2LXBjLWxpbnV4LWdudS1nKysgYWNjZXB0cyAtZy4uLiB5ZXMKY2hl Y2tpbmcgZm9yIGdtYWtlLi4uIGdtYWtlCmNoZWNraW5nIGZvciBtYWtlZGVwZW5kLi4uIC91 c3IvYmluL21ha2VkZXBlbmQKY2hlY2tpbmcgZm9yIHNlZC4uLiAvYmluL3NlZApjaGVja2lu ZyBmb3IgaTQ4Ni1wYy1saW51eC1nbnUtcGtnLWNvbmZpZy4uLiBubwpjaGVja2luZyBmb3Ig cGtnLWNvbmZpZy4uLiAvdXNyL2Jpbi9wa2ctY29uZmlnCmNoZWNraW5nIHBrZy1jb25maWcg aXMgYXQgbGVhc3QgdmVyc2lvbiAwLjkuMC4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciB0byBl bmFibGUgYXNzZW1ibHkuLi4geWVzLCB4ODYKY2hlY2tpbmcgZm9yIGk0ODYtcGMtbGludXgt Z251LWdjYyBvcHRpb24gdG8gcHJvZHVjZSBQSUMuLi4gLWZQSUMKY2hlY2tpbmcgZm9yIGRs b3Blbi4uLiBubwpjaGVja2luZyBmb3IgZGxvcGVuIGluIC1sZGwuLi4geWVzCmNoZWNraW5n IGZvciBwb3NpeF9tZW1hbGlnbi4uLiB5ZXMKY2hlY2tpbmcgcGtnLWNvbmZpZyBmaWxlcyBm b3IgWDExIGFyZSBhdmFpbGFibGUuLi4geWVzCmNoZWNraW5nIGZvciBMSUJEUk0uLi4geWVz CmNoZWNraW5nIGZvciBEUkkyUFJPVE8uLi4geWVzCmNoZWNraW5nIGZvciBEUklHTC4uLiB5 ZXMKY2hlY2tpbmcgZXhwYXQuaCB1c2FiaWxpdHkuLi4geWVzCmNoZWNraW5nIGV4cGF0Lmgg cHJlc2VuY2UuLi4geWVzCmNoZWNraW5nIGZvciBleHBhdC5oLi4uIHllcwpjaGVja2luZyBm b3IgWE1MX1BhcnNlckNyZWF0ZSBpbiAtbGV4cGF0Li4uIHllcwpjb25maWd1cmU6IGNyZWF0 aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBjb25maWdzL2F1 dG9jb25mCmNvbmZpZy5zdGF0dXM6IGV4ZWN1dGluZyBjb25maWdzIGNvbW1hbmRzCgogICAg ICAgIHByZWZpeDogICAgICAgICAgL3VzcgogICAgICAgIGV4ZWNfcHJlZml4OiAgICAgJHtw cmVmaXh9CiAgICAgICAgbGliZGlyOiAgICAgICAgICAke2V4ZWNfcHJlZml4fS9saWIKICAg ICAgICBpbmNsdWRlZGlyOiAgICAgICR7cHJlZml4fS9pbmNsdWRlCgogICAgICAgIERyaXZl cjogICAgICAgICAgZHJpCiAgICAgICAgT1NNZXNhOiAgICAgICAgICBubwogICAgICAgIERS SSBkcml2ZXJzOiAgICAgc3dyYXN0IHIzMDAKICAgICAgICBEUkkgZHJpdmVyIGRpcjogICR7 bGliZGlyfS9kcmkKICAgICAgICBVc2UgWENCOiAgICAgICAgIHllcwoKICAgICAgICBTaGFy ZWQgbGliczogICAgIHllcwogICAgICAgIFN0YXRpYyBsaWJzOiAgICAgbm8KICAgICAgICBH TFU6ICAgICAgICAgICAgIHllcwogICAgICAgIEdMdzogICAgICAgICAgICAgbm8gKE1vdGlm OiBubykKICAgICAgICBnbHV0OiAgICAgICAgICAgIG5vCiAgICAgICAgRGVtb3M6ICAgICAg ICAgICBubwoKICAgICAgICBDRkxBR1M6ICAgICAgICAgIC1PMiAtbXR1bmU9aTY4NiAtcGlw ZSAtZmZhc3QtbWF0aCAtV2FsbCAtV21pc3NpbmctcHJvdG90eXBlcyAtc3RkPWM5OSAtZmZh c3QtbWF0aCAtZm5vLXN0cmljdC1hbGlhc2luZyAtZlBJQwogICAgICAgIENYWEZMQUdTOiAg ICAgICAgLU8yIC1tdHVuZT1pNjg2IC1waXBlIC1mZmFzdC1tYXRoIC1XYWxsIC1mbm8tc3Ry aWN0LWFsaWFzaW5nIC1mUElDCiAgICAgICAgTWFjcm9zOiAgICAgICAgICAtRF9HTlVfU09V UkNFIC1EUFRIUkVBRFMgLURIQVZFX1BPU0lYX01FTUFMSUdOIC1EVVNFX1hDQiAtREdMWF9V U0VfVExTIC1EUFRIUkVBRFMgLURVU0VfRVhURVJOQUxfRFhUTl9MSUI9MSAtRElOX0RSSV9E UklWRVIgLURHTFhfSU5ESVJFQ1RfUkVOREVSSU5HIC1ESEFWRV9BTElBUyAtREdMWF9ESVJF Q1RfUkVOREVSSU5HIC1EVVNFX1g4Nl9BU00gLURVU0VfTU1YX0FTTSAtRFVTRV8zRE5PV19B U00gLURVU0VfU1NFX0FTTQoKICAgICAgICBSdW4gJ2dtYWtlJyB0byBidWlsZCBNZXNhCgo+ Pj4gU291cmNlIGNvbmZpZ3VyZWQuCj4+PiBDb21waWxpbmcgc291cmNlIGluIC92YXIvdG1w L3BvcnRhZ2UvbWVkaWEtbGlicy9tZXNhLTcuNC4yL3dvcmsvTWVzYS03LjQuMiAuLi4KbWFr ZSAtajQgCm1ha2VbMV06IEVudGVyaW5nIGRpcmVjdG9yeSBgL3Zhci90bXAvcG9ydGFnZS9t ZWRpYS1saWJzL21lc2EtNy40LjIvd29yay9NZXNhLTcuNC4yL3NyYycKTWFraW5nIHNvdXJj ZXMgZm9yIGF1dG9jb25mCmdtYWtlWzJdOiBFbnRlcmluZyBkaXJlY3RvcnkgYC92YXIvdG1w L3BvcnRhZ2UvbWVkaWEtbGlicy9tZXNhLTcuNC4yL3dvcmsvTWVzYS03LjQuMi9zcmMvZ2x4 L3gxMScKdG91Y2ggZGVwZW5kCi91c3IvYmluL21ha2VkZXBlbmQgLWZkZXBlbmQgLUkvdXNy L2xpYi9nY2MvaTQ4Ni1wYy1saW51eC1nbnUvNC4zLjMvaW5jbHVkZSAtSS91c3IvbGliL2dj Yy9pNDg2LXBjLWxpbnV4LWdudS80LjMuMy9pbmNsdWRlLWZpeGVkIC1JLiAtSS4uLy4uLy4u L2luY2x1ZGUgLUkuLi8uLi8uLi9pbmNsdWRlL0dML2ludGVybmFsIC1JLi4vLi4vLi4vc3Jj L21lc2EgLUkuLi8uLi8uLi9zcmMvbWVzYS9nbGFwaSAtSS91c3IvaW5jbHVkZS9kcm0gICAg IGdsY29udGV4dG1vZGVzLmMgY2xpZW50YXR0cmliLmMgY29tcHNpemUuYyBldmFsLmMgZ2x4 Y21kcy5jIGdseGN1cnJlbnQuYyBnbHhleHQuYyBnbHhleHRlbnNpb25zLmMgaW5kaXJlY3Qu YyBpbmRpcmVjdF9pbml0LmMgaW5kaXJlY3Rfc2l6ZS5jIGluZGlyZWN0X3dpbmRvd19wb3Mu YyBpbmRpcmVjdF90ZXh0dXJlX2NvbXByZXNzaW9uLmMgaW5kaXJlY3RfdHJhbnNwb3NlX21h dHJpeC5jIGluZGlyZWN0X3ZlcnRleF9hcnJheS5jIGluZGlyZWN0X3ZlcnRleF9wcm9ncmFt LmMgcGl4ZWwuYyBwaXhlbHN0b3JlLmMgcmVuZGVyMi5jIHJlbmRlcnBpeC5jIHNpbmdsZTIu YyBzaW5nbGVwaXguYyB2ZXJ0YXJyLmMgeGZvbnQuYyBnbHhfcGJ1ZmZlci5jIGdseF9xdWVy eS5jIGRyaXN3X2dseC5jIGRyaV9jb21tb24uYyBkcmlfZ2x4LmMgWEY4NmRyaS5jIGdseGhh c2guYyBkcmkyX2dseC5jIGRyaTIuYyBcCgkJLi4vLi4vLi4vc3JjL21lc2EvbWFpbi9kaXNw YXRjaC5jIC4uLy4uLy4uL3NyYy9tZXNhL2dsYXBpL2dsYXBpLmMgLi4vLi4vLi4vc3JjL21l c2EvZ2xhcGkvZ2xhcGlfZ2V0cHJvYy5jIC4uLy4uLy4uL3NyYy9tZXNhL2dsYXBpL2dsdGhy ZWFkLmMgLi4vLi4vLi4vc3JjL21lc2EveDg2L2dsYXBpX3g4Ni5TIApnbWFrZVsyXTogTGVh dmluZyBkaXJlY3RvcnkgYC92YXIvdG1wL3BvcnRhZ2UvbWVkaWEtbGlicy9tZXNhLTcuNC4y L3dvcmsvTWVzYS03LjQuMi9zcmMvZ2x4L3gxMScKZ21ha2VbMl06IEVudGVyaW5nIGRpcmVj dG9yeSBgL3Zhci90bXAvcG9ydGFnZS9tZWRpYS1saWJzL21lc2EtNy40LjIvd29yay9NZXNh LTcuNC4yL3NyYy9nbHgveDExJwppNDg2LXBjLWxpbnV4LWdudS1nY2MgLWMgLUkuIC1JLi4v Li4vLi4vaW5jbHVkZSAtSS4uLy4uLy4uL2luY2x1ZGUvR0wvaW50ZXJuYWwgLUkuLi8uLi8u Li9zcmMvbWVzYSAtSS4uLy4uLy4uL3NyYy9tZXNhL2dsYXBpIC1JL3Vzci9pbmNsdWRlL2Ry bSAgICAgLU8yIC1tdHVuZT1pNjg2IC1waXBlIC1mZmFzdC1tYXRoIC1XYWxsIC1XbWlzc2lu Zy1wcm90b3R5cGVzIC1zdGQ9Yzk5IC1mZmFzdC1tYXRoIC1mbm8tc3RyaWN0LWFsaWFzaW5n ICAtZlBJQyAgLURVU0VfWDg2X0FTTSAtRFVTRV9NTVhfQVNNIC1EVVNFXzNETk9XX0FTTSAt RFVTRV9TU0VfQVNNIC1EX0dOVV9TT1VSQ0UgLURQVEhSRUFEUyAtREhBVkVfUE9TSVhfTUVN QUxJR04gLURVU0VfWENCIC1ER0xYX1VTRV9UTFMgLURQVEhSRUFEUyAtRFVTRV9FWFRFUk5B TF9EWFROX0xJQj0xIC1ESU5fRFJJX0RSSVZFUiAtREdMWF9JTkRJUkVDVF9SRU5ERVJJTkcg LURIQVZFX0FMSUFTIC1ER0xYX0RJUkVDVF9SRU5ERVJJTkcgLURYRjg2VklETU9ERSAtRF9S RUVOVFJBTlQgLVVJTl9EUklfRFJJVkVSIC1EREVGQVVMVF9EUklWRVJfRElSPVwiL3Vzci9s aWIvZHJpXCIgZ2xjb250ZXh0bW9kZXMuYyAtbyBnbGNvbnRleHRtb2Rlcy5vCmk0ODYtcGMt bGludXgtZ251LWdjYyAtYyAtSS4gLUkuLi8uLi8uLi9pbmNsdWRlIC1JLi4vLi4vLi4vaW5j bHVkZS9HTC9pbnRlcm5hbCAtSS4uLy4uLy4uL3NyYy9tZXNhIC1JLi4vLi4vLi4vc3JjL21l c2EvZ2xhcGkgLUkvdXNyL2luY2x1ZGUvZHJtICAgICAtTzIgLW10dW5lPWk2ODYgLXBpcGUg LWZmYXN0LW1hdGggLVdhbGwgLVdtaXNzaW5nLXByb3RvdHlwZXMgLXN0ZD1jOTkgLWZmYXN0 LW1hdGggLWZuby1zdHJpY3QtYWxpYXNpbmcgIC1mUElDICAtRFVTRV9YODZfQVNNIC1EVVNF X01NWF9BU00gLURVU0VfM0ROT1dfQVNNIC1EVVNFX1NTRV9BU00gLURfR05VX1NPVVJDRSAt RFBUSFJFQURTIC1ESEFWRV9QT1NJWF9NRU1BTElHTiAtRFVTRV9YQ0IgLURHTFhfVVNFX1RM UyAtRFBUSFJFQURTIC1EVVNFX0VYVEVSTkFMX0RYVE5fTElCPTEgLURJTl9EUklfRFJJVkVS IC1ER0xYX0lORElSRUNUX1JFTkRFUklORyAtREhBVkVfQUxJQVMgLURHTFhfRElSRUNUX1JF TkRFUklORyAtRFhGODZWSURNT0RFIC1EX1JFRU5UUkFOVCAtVUlOX0RSSV9EUklWRVIgLURE RUZBVUxUX0RSSVZFUl9ESVI9XCIvdXNyL2xpYi9kcmlcIiBjbGllbnRhdHRyaWIuYyAtbyBj bGllbnRhdHRyaWIubwppNDg2LXBjLWxpbnV4LWdudS1nY2MgLWMgLUkuIC1JLi4vLi4vLi4v aW5jbHVkZSAtSS4uLy4uLy4uL2luY2x1ZGUvR0wvaW50ZXJuYWwgLUkuLi8uLi8uLi9zcmMv bWVzYSAtSS4uLy4uLy4uL3NyYy9tZXNhL2dsYXBpIC1JL3Vzci9pbmNsdWRlL2RybSAgICAg LU8yIC1tdHVuZT1pNjg2IC1waXBlIC1mZmFzdC1tYXRoIC1XYWxsIC1XbWlzc2luZy1wcm90 b3R5cGVzIC1zdGQ9Yzk5IC1mZmFzdC1tYXRoIC1mbm8tc3RyaWN0LWFsaWFzaW5nICAtZlBJ QyAgLURVU0VfWDg2X0FTTSAtRFVTRV9NTVhfQVNNIC1EVVNFXzNETk9XX0FTTSAtRFVTRV9T U0VfQVNNIC1EX0dOVV9TT1VSQ0UgLURQVEhSRUFEUyAtREhBVkVfUE9TSVhfTUVNQUxJR04g LURVU0VfWENCIC1ER0xYX1VTRV9UTFMgLURQVEhSRUFEUyAtRFVTRV9FWFRFUk5BTF9EWFRO X0xJQj0xIC1ESU5fRFJJX0RSSVZFUiAtREdMWF9JTkRJUkVDVF9SRU5ERVJJTkcgLURIQVZF X0FMSUFTIC1ER0xYX0RJUkVDVF9SRU5ERVJJTkcgLURYRjg2VklETU9ERSAtRF9SRUVOVFJB TlQgLVVJTl9EUklfRFJJVkVSIC1EREVGQVVMVF9EUklWRVJfRElSPVwiL3Vzci9saWIvZHJp XCIgY29tcHNpemUuYyAtbyBjb21wc2l6ZS5vCmk0ODYtcGMtbGludXgtZ251LWdjYyAtYyAt SS4gLUkuLi8uLi8uLi9pbmNsdWRlIC1JLi4vLi4vLi4vaW5jbHVkZS9HTC9pbnRlcm5hbCAt SS4uLy4uLy4uL3NyYy9tZXNhIC1JLi4vLi4vLi4vc3JjL21lc2EvZ2xhcGkgLUkvdXNyL2lu Y2x1ZGUvZHJtICAgICAtTzIgLW10dW5lPWk2ODYgLXBpcGUgLWZmYXN0LW1hdGggLVdhbGwg LVdtaXNzaW5nLXByb3RvdHlwZXMgLXN0ZD1jOTkgLWZmYXN0LW1hdGggLWZuby1zdHJpY3Qt YWxpYXNpbmcgIC1mUElDICAtRFVTRV9YODZfQVNNIC1EVVNFX01NWF9BU00gLURVU0VfM0RO T1dfQVNNIC1EVVNFX1NTRV9BU00gLURfR05VX1NPVVJDRSAtRFBUSFJFQURTIC1ESEFWRV9Q T1NJWF9NRU1BTElHTiAtRFVTRV9YQ0IgLURHTFhfVVNFX1RMUyAtRFBUSFJFQURTIC1EVVNF X0VYVEVSTkFMX0RYVE5fTElCPTEgLURJTl9EUklfRFJJVkVSIC1ER0xYX0lORElSRUNUX1JF TkRFUklORyAtREhBVkVfQUxJQVMgLURHTFhfRElSRUNUX1JFTkRFUklORyAtRFhGODZWSURN T0RFIC1EX1JFRU5UUkFOVCAtVUlOX0RSSV9EUklWRVIgLURERUZBVUxUX0RSSVZFUl9ESVI9 XCIvdXNyL2xpYi9kcmlcIiBldmFsLmMgLW8gZXZhbC5vCmk0ODYtcGMtbGludXgtZ251LWdj YyAtYyAtSS4gLUkuLi8uLi8uLi9pbmNsdWRlIC1JLi4vLi4vLi4vaW5jbHVkZS9HTC9pbnRl cm5hbCAtSS4uLy4uLy4uL3NyYy9tZXNhIC1JLi4vLi4vLi4vc3JjL21lc2EvZ2xhcGkgLUkv dXNyL2luY2x1ZGUvZHJtICAgICAtTzIgLW10dW5lPWk2ODYgLXBpcGUgLWZmYXN0LW1hdGgg LVdhbGwgLVdtaXNzaW5nLXByb3RvdHlwZXMgLXN0ZD1jOTkgLWZmYXN0LW1hdGggLWZuby1z dHJpY3QtYWxpYXNpbmcgIC1mUElDICAtRFVTRV9YODZfQVNNIC1EVVNFX01NWF9BU00gLURV U0VfM0ROT1dfQVNNIC1EVVNFX1NTRV9BU00gLURfR05VX1NPVVJDRSAtRFBUSFJFQURTIC1E SEFWRV9QT1NJWF9NRU1BTElHTiAtRFVTRV9YQ0IgLURHTFhfVVNFX1RMUyAtRFBUSFJFQURT IC1EVVNFX0VYVEVSTkFMX0RYVE5fTElCPTEgLURJTl9EUklfRFJJVkVSIC1ER0xYX0lORElS RUNUX1JFTkRFUklORyAtREhBVkVfQUxJQVMgLURHTFhfRElSRUNUX1JFTkRFUklORyAtRFhG ODZWSURNT0RFIC1EX1JFRU5UUkFOVCAtVUlOX0RSSV9EUklWRVIgLURERUZBVUxUX0RSSVZF Ul9ESVI9XCIvdXNyL2xpYi9kcmlcIiBnbHhjbWRzLmMgLW8gZ2x4Y21kcy5vCmk0ODYtcGMt bGludXgtZ251LWdjYyAtYyAtSS4gLUkuLi8uLi8uLi9pbmNsdWRlIC1JLi4vLi4vLi4vaW5j bHVkZS9HTC9pbnRlcm5hbCAtSS4uLy4uLy4uL3NyYy9tZXNhIC1JLi4vLi4vLi4vc3JjL21l c2EvZ2xhcGkgLUkvdXNyL2luY2x1ZGUvZHJtICAgICAtTzIgLW10dW5lPWk2ODYgLXBpcGUg LWZmYXN0LW1hdGggLVdhbGwgLVdtaXNzaW5nLXByb3RvdHlwZXMgLXN0ZD1jOTkgLWZmYXN0 LW1hdGggLWZuby1zdHJpY3QtYWxpYXNpbmcgIC1mUElDICAtRFVTRV9YODZfQVNNIC1EVVNF X01NWF9BU00gLURVU0VfM0ROT1dfQVNNIC1EVVNFX1NTRV9BU00gLURfR05VX1NPVVJDRSAt RFBUSFJFQURTIC1ESEFWRV9QT1NJWF9NRU1BTElHTiAtRFVTRV9YQ0IgLURHTFhfVVNFX1RM UyAtRFBUSFJFQURTIC1EVVNFX0VYVEVSTkFMX0RYVE5fTElCPTEgLURJTl9EUklfRFJJVkVS IC1ER0xYX0lORElSRUNUX1JFTkRFUklORyAtREhBVkVfQUxJQVMgLURHTFhfRElSRUNUX1JF TkRFUklORyAtRFhGODZWSURNT0RFIC1EX1JFRU5UUkFOVCAtVUlOX0RSSV9EUklWRVIgLURE RUZBVUxUX0RSSVZFUl9ESVI9XCIvdXNyL2xpYi9kcmlcIiBnbHhjdXJyZW50LmMgLW8gZ2x4 Y3VycmVudC5vCmk0ODYtcGMtbGludXgtZ251LWdjYyAtYyAtSS4gLUkuLi8uLi8uLi9pbmNs dWRlIC1JLi4vLi4vLi4vaW5jbHVkZS9HTC9pbnRlcm5hbCAtSS4uLy4uLy4uL3NyYy9tZXNh IC1JLi4vLi4vLi4vc3JjL21lc2EvZ2xhcGkgLUkvdXNyL2luY2x1ZGUvZHJtICAgICAtTzIg LW10dW5lPWk2ODYgLXBpcGUgLWZmYXN0LW1hdGggLVdhbGwgLVdtaXNzaW5nLXByb3RvdHlw ZXMgLXN0ZD1jOTkgLWZmYXN0LW1hdGggLWZuby1zdHJpY3QtYWxpYXNpbmcgIC1mUElDICAt RFVTRV9YODZfQVNNIC1EVVNFX01NWF9BU00gLURVU0VfM0ROT1dfQVNNIC1EVVNFX1NTRV9B U00gLURfR05VX1NPVVJDRSAtRFBUSFJFQURTIC1ESEFWRV9QT1NJWF9NRU1BTElHTiAtRFVT RV9YQ0IgLURHTFhfVVNFX1RMUyAtRFBUSFJFQURTIC1EVVNFX0VYVEVSTkFMX0RYVE5fTElC PTEgLURJTl9EUklfRFJJVkVSIC1ER0xYX0lORElSRUNUX1JFTkRFUklORyAtREhBVkVfQUxJ QVMgLURHTFhfRElSRUNUX1JFTkRFUklORyAtRFhGODZWSURNT0RFIC1EX1JFRU5UUkFOVCAt VUlOX0RSSV9EUklWRVIgLURERUZBVUxUX0RSSVZFUl9ESVI9XCIvdXNyL2xpYi9kcmlcIiBn bHhleHQuYyAtbyBnbHhleHQubwppNDg2LXBjLWxpbnV4LWdudS1nY2MgLWMgLUkuIC1JLi4v Li4vLi4vaW5jbHVkZSAtSS4uLy4uLy4uL2luY2x1ZGUvR0wvaW50ZXJuYWwgLUkuLi8uLi8u Li9zcmMvbWVzYSAtSS4uLy4uLy4uL3NyYy9tZXNhL2dsYXBpIC1JL3Vzci9pbmNsdWRlL2Ry bSAgICAgLU8yIC1tdHVuZT1pNjg2IC1waXBlIC1mZmFzdC1tYXRoIC1XYWxsIC1XbWlzc2lu Zy1wcm90b3R5cGVzIC1zdGQ9Yzk5IC1mZmFzdC1tYXRoIC1mbm8tc3RyaWN0LWFsaWFzaW5n ICAtZlBJQyAgLURVU0VfWDg2X0FTTSAtRFVTRV9NTVhfQVNNIC1EVVNFXzNETk9XX0FTTSAt RFVTRV9TU0VfQVNNIC1EX0dOVV9TT1VSQ0UgLURQVEhSRUFEUyAtREhBVkVfUE9TSVhfTUVN QUxJR04gLURVU0VfWENCIC1ER0xYX1VTRV9UTFMgLURQVEhSRUFEUyAtRFVTRV9FWFRFUk5B TF9EWFROX0xJQj0xIC1ESU5fRFJJX0RSSVZFUiAtREdMWF9JTkRJUkVDVF9SRU5ERVJJTkcg LURIQVZFX0FMSUFTIC1ER0xYX0RJUkVDVF9SRU5ERVJJTkcgLURYRjg2VklETU9ERSAtRF9S RUVOVFJBTlQgLVVJTl9EUklfRFJJVkVSIC1EREVGQVVMVF9EUklWRVJfRElSPVwiL3Vzci9s aWIvZHJpXCIgZ2x4ZXh0ZW5zaW9ucy5jIC1vIGdseGV4dGVuc2lvbnMubwppNDg2LXBjLWxp bnV4LWdudS1nY2MgLWMgLUkuIC1JLi4vLi4vLi4vaW5jbHVkZSAtSS4uLy4uLy4uL2luY2x1 ZGUvR0wvaW50ZXJuYWwgLUkuLi8uLi8uLi9zcmMvbWVzYSAtSS4uLy4uLy4uL3NyYy9tZXNh L2dsYXBpIC1JL3Vzci9pbmNsdWRlL2RybSAgICAgLU8yIC1tdHVuZT1pNjg2IC1waXBlIC1m ZmFzdC1tYXRoIC1XYWxsIC1XbWlzc2luZy1wcm90b3R5cGVzIC1zdGQ9Yzk5IC1mZmFzdC1t YXRoIC1mbm8tc3RyaWN0LWFsaWFzaW5nICAtZlBJQyAgLURVU0VfWDg2X0FTTSAtRFVTRV9N TVhfQVNNIC1EVVNFXzNETk9XX0FTTSAtRFVTRV9TU0VfQVNNIC1EX0dOVV9TT1VSQ0UgLURQ VEhSRUFEUyAtREhBVkVfUE9TSVhfTUVNQUxJR04gLURVU0VfWENCIC1ER0xYX1VTRV9UTFMg LURQVEhSRUFEUyAtRFVTRV9FWFRFUk5BTF9EWFROX0xJQj0xIC1ESU5fRFJJX0RSSVZFUiAt REdMWF9JTkRJUkVDVF9SRU5ERVJJTkcgLURIQVZFX0FMSUFTIC1ER0xYX0RJUkVDVF9SRU5E RVJJTkcgLURYRjg2VklETU9ERSAtRF9SRUVOVFJBTlQgLVVJTl9EUklfRFJJVkVSIC1EREVG QVVMVF9EUklWRVJfRElSPVwiL3Vzci9saWIvZHJpXCIgaW5kaXJlY3QuYyAtbyBpbmRpcmVj dC5vCmk0ODYtcGMtbGludXgtZ251LWdjYyAtYyAtSS4gLUkuLi8uLi8uLi9pbmNsdWRlIC1J Li4vLi4vLi4vaW5jbHVkZS9HTC9pbnRlcm5hbCAtSS4uLy4uLy4uL3NyYy9tZXNhIC1JLi4v Li4vLi4vc3JjL21lc2EvZ2xhcGkgLUkvdXNyL2luY2x1ZGUvZHJtICAgICAtTzIgLW10dW5l PWk2ODYgLXBpcGUgLWZmYXN0LW1hdGggLVdhbGwgLVdtaXNzaW5nLXByb3RvdHlwZXMgLXN0 ZD1jOTkgLWZmYXN0LW1hdGggLWZuby1zdHJpY3QtYWxpYXNpbmcgIC1mUElDICAtRFVTRV9Y ODZfQVNNIC1EVVNFX01NWF9BU00gLURVU0VfM0ROT1dfQVNNIC1EVVNFX1NTRV9BU00gLURf R05VX1NPVVJDRSAtRFBUSFJFQURTIC1ESEFWRV9QT1NJWF9NRU1BTElHTiAtRFVTRV9YQ0Ig LURHTFhfVVNFX1RMUyAtRFBUSFJFQURTIC1EVVNFX0VYVEVSTkFMX0RYVE5fTElCPTEgLURJ Tl9EUklfRFJJVkVSIC1ER0xYX0lORElSRUNUX1JFTkRFUklORyAtREhBVkVfQUxJQVMgLURH TFhfRElSRUNUX1JFTkRFUklORyAtRFhGODZWSURNT0RFIC1EX1JFRU5UUkFOVCAtVUlOX0RS SV9EUklWRVIgLURERUZBVUxUX0RSSVZFUl9ESVI9XCIvdXNyL2xpYi9kcmlcIiBpbmRpcmVj dF9pbml0LmMgLW8gaW5kaXJlY3RfaW5pdC5vCmk0ODYtcGMtbGludXgtZ251LWdjYyAtYyAt SS4gLUkuLi8uLi8uLi9pbmNsdWRlIC1JLi4vLi4vLi4vaW5jbHVkZS9HTC9pbnRlcm5hbCAt SS4uLy4uLy4uL3NyYy9tZXNhIC1JLi4vLi4vLi4vc3JjL21lc2EvZ2xhcGkgLUkvdXNyL2lu Y2x1ZGUvZHJtICAgICAtTzIgLW10dW5lPWk2ODYgLXBpcGUgLWZmYXN0LW1hdGggLVdhbGwg LVdtaXNzaW5nLXByb3RvdHlwZXMgLXN0ZD1jOTkgLWZmYXN0LW1hdGggLWZuby1zdHJpY3Qt YWxpYXNpbmcgIC1mUElDICAtRFVTRV9YODZfQVNNIC1EVVNFX01NWF9BU00gLURVU0VfM0RO T1dfQVNNIC1EVVNFX1NTRV9BU00gLURfR05VX1NPVVJDRSAtRFBUSFJFQURTIC1ESEFWRV9Q T1NJWF9NRU1BTElHTiAtRFVTRV9YQ0IgLURHTFhfVVNFX1RMUyAtRFBUSFJFQURTIC1EVVNF X0VYVEVSTkFMX0RYVE5fTElCPTEgLURJTl9EUklfRFJJVkVSIC1ER0xYX0lORElSRUNUX1JF TkRFUklORyAtREhBVkVfQUxJQVMgLURHTFhfRElSRUNUX1JFTkRFUklORyAtRFhGODZWSURN T0RFIC1EX1JFRU5UUkFOVCAtVUlOX0RSSV9EUklWRVIgLURERUZBVUxUX0RSSVZFUl9ESVI9 XCIvdXNyL2xpYi9kcmlcIiBpbmRpcmVjdF9zaXplLmMgLW8gaW5kaXJlY3Rfc2l6ZS5vCmk0 ODYtcGMtbGludXgtZ251LWdjYyAtYyAtSS4gLUkuLi8uLi8uLi9pbmNsdWRlIC1JLi4vLi4v Li4vaW5jbHVkZS9HTC9pbnRlcm5hbCAtSS4uLy4uLy4uL3NyYy9tZXNhIC1JLi4vLi4vLi4v c3JjL21lc2EvZ2xhcGkgLUkvdXNyL2luY2x1ZGUvZHJtICAgICAtTzIgLW10dW5lPWk2ODYg LXBpcGUgLWZmYXN0LW1hdGggLVdhbGwgLVdtaXNzaW5nLXByb3RvdHlwZXMgLXN0ZD1jOTkg LWZmYXN0LW1hdGggLWZuby1zdHJpY3QtYWxpYXNpbmcgIC1mUElDICAtRFVTRV9YODZfQVNN IC1EVVNFX01NWF9BU00gLURVU0VfM0ROT1dfQVNNIC1EVVNFX1NTRV9BU00gLURfR05VX1NP VVJDRSAtRFBUSFJFQURTIC1ESEFWRV9QT1NJWF9NRU1BTElHTiAtRFVTRV9YQ0IgLURHTFhf VVNFX1RMUyAtRFBUSFJFQURTIC1EVVNFX0VYVEVSTkFMX0RYVE5fTElCPTEgLURJTl9EUklf RFJJVkVSIC1ER0xYX0lORElSRUNUX1JFTkRFUklORyAtREhBVkVfQUxJQVMgLURHTFhfRElS RUNUX1JFTkRFUklORyAtRFhGODZWSURNT0RFIC1EX1JFRU5UUkFOVCAtVUlOX0RSSV9EUklW RVIgLURERUZBVUxUX0RSSVZFUl9ESVI9XCIvdXNyL2xpYi9kcmlcIiBpbmRpcmVjdF93aW5k b3dfcG9zLmMgLW8gaW5kaXJlY3Rfd2luZG93X3Bvcy5vCmk0ODYtcGMtbGludXgtZ251LWdj YyAtYyAtSS4gLUkuLi8uLi8uLi9pbmNsdWRlIC1JLi4vLi4vLi4vaW5jbHVkZS9HTC9pbnRl cm5hbCAtSS4uLy4uLy4uL3NyYy9tZXNhIC1JLi4vLi4vLi4vc3JjL21lc2EvZ2xhcGkgLUkv dXNyL2luY2x1ZGUvZHJtICAgICAtTzIgLW10dW5lPWk2ODYgLXBpcGUgLWZmYXN0LW1hdGgg LVdhbGwgLVdtaXNzaW5nLXByb3RvdHlwZXMgLXN0ZD1jOTkgLWZmYXN0LW1hdGggLWZuby1z dHJpY3QtYWxpYXNpbmcgIC1mUElDICAtRFVTRV9YODZfQVNNIC1EVVNFX01NWF9BU00gLURV U0VfM0ROT1dfQVNNIC1EVVNFX1NTRV9BU00gLURfR05VX1NPVVJDRSAtRFBUSFJFQURTIC1E SEFWRV9QT1NJWF9NRU1BTElHTiAtRFVTRV9YQ0IgLURHTFhfVVNFX1RMUyAtRFBUSFJFQURT IC1EVVNFX0VYVEVSTkFMX0RYVE5fTElCPTEgLURJTl9EUklfRFJJVkVSIC1ER0xYX0lORElS RUNUX1JFTkRFUklORyAtREhBVkVfQUxJQVMgLURHTFhfRElSRUNUX1JFTkRFUklORyAtRFhG ODZWSURNT0RFIC1EX1JFRU5UUkFOVCAtVUlOX0RSSV9EUklWRVIgLURERUZBVUxUX0RSSVZF Ul9ESVI9XCIvdXNyL2xpYi9kcmlcIiBpbmRpcmVjdF90ZXh0dXJlX2NvbXByZXNzaW9uLmMg LW8gaW5kaXJlY3RfdGV4dHVyZV9jb21wcmVzc2lvbi5vCmk0ODYtcGMtbGludXgtZ251LWdj YyAtYyAtSS4gLUkuLi8uLi8uLi9pbmNsdWRlIC1JLi4vLi4vLi4vaW5jbHVkZS9HTC9pbnRl cm5hbCAtSS4uLy4uLy4uL3NyYy9tZXNhIC1JLi4vLi4vLi4vc3JjL21lc2EvZ2xhcGkgLUkv dXNyL2luY2x1ZGUvZHJtICAgICAtTzIgLW10dW5lPWk2ODYgLXBpcGUgLWZmYXN0LW1hdGgg LVdhbGwgLVdtaXNzaW5nLXByb3RvdHlwZXMgLXN0ZD1jOTkgLWZmYXN0LW1hdGggLWZuby1z dHJpY3QtYWxpYXNpbmcgIC1mUElDICAtRFVTRV9YODZfQVNNIC1EVVNFX01NWF9BU00gLURV U0VfM0ROT1dfQVNNIC1EVVNFX1NTRV9BU00gLURfR05VX1NPVVJDRSAtRFBUSFJFQURTIC1E SEFWRV9QT1NJWF9NRU1BTElHTiAtRFVTRV9YQ0IgLURHTFhfVVNFX1RMUyAtRFBUSFJFQURT IC1EVVNFX0VYVEVSTkFMX0RYVE5fTElCPTEgLURJTl9EUklfRFJJVkVSIC1ER0xYX0lORElS RUNUX1JFTkRFUklORyAtREhBVkVfQUxJQVMgLURHTFhfRElSRUNUX1JFTkRFUklORyAtRFhG ODZWSURNT0RFIC1EX1JFRU5UUkFOVCAtVUlOX0RSSV9EUklWRVIgLURERUZBVUxUX0RSSVZF Ul9ESVI9XCIvdXNyL2xpYi9kcmlcIiBpbmRpcmVjdF90cmFuc3Bvc2VfbWF0cml4LmMgLW8g aW5kaXJlY3RfdHJhbnNwb3NlX21hdHJpeC5vCmk0ODYtcGMtbGludXgtZ251LWdjYyAtYyAt SS4gLUkuLi8uLi8uLi9pbmNsdWRlIC1JLi4vLi4vLi4vaW5jbHVkZS9HTC9pbnRlcm5hbCAt SS4uLy4uLy4uL3NyYy9tZXNhIC1JLi4vLi4vLi4vc3JjL21lc2EvZ2xhcGkgLUkvdXNyL2lu Y2x1ZGUvZHJtICAgICAtTzIgLW10dW5lPWk2ODYgLXBpcGUgLWZmYXN0LW1hdGggLVdhbGwg LVdtaXNzaW5nLXByb3RvdHlwZXMgLXN0ZD1jOTkgLWZmYXN0LW1hdGggLWZuby1zdHJpY3Qt YWxpYXNpbmcgIC1mUElDICAtRFVTRV9YODZfQVNNIC1EVVNFX01NWF9BU00gLURVU0VfM0RO T1dfQVNNIC1EVVNFX1NTRV9BU00gLURfR05VX1NPVVJDRSAtRFBUSFJFQURTIC1ESEFWRV9Q T1NJWF9NRU1BTElHTiAtRFVTRV9YQ0IgLURHTFhfVVNFX1RMUyAtRFBUSFJFQURTIC1EVVNF X0VYVEVSTkFMX0RYVE5fTElCPTEgLURJTl9EUklfRFJJVkVSIC1ER0xYX0lORElSRUNUX1JF TkRFUklORyAtREhBVkVfQUxJQVMgLURHTFhfRElSRUNUX1JFTkRFUklORyAtRFhGODZWSURN T0RFIC1EX1JFRU5UUkFOVCAtVUlOX0RSSV9EUklWRVIgLURERUZBVUxUX0RSSVZFUl9ESVI9 XCIvdXNyL2xpYi9kcmlcIiBpbmRpcmVjdF92ZXJ0ZXhfYXJyYXkuYyAtbyBpbmRpcmVjdF92 ZXJ0ZXhfYXJyYXkubwppNDg2LXBjLWxpbnV4LWdudS1nY2MgLWMgLUkuIC1JLi4vLi4vLi4v aW5jbHVkZSAtSS4uLy4uLy4uL2luY2x1ZGUvR0wvaW50ZXJuYWwgLUkuLi8uLi8uLi9zcmMv bWVzYSAtSS4uLy4uLy4uL3NyYy9tZXNhL2dsYXBpIC1JL3Vzci9pbmNsdWRlL2RybSAgICAg LU8yIC1tdHVuZT1pNjg2IC1waXBlIC1mZmFzdC1tYXRoIC1XYWxsIC1XbWlzc2luZy1wcm90 b3R5cGVzIC1zdGQ9Yzk5IC1mZmFzdC1tYXRoIC1mbm8tc3RyaWN0LWFsaWFzaW5nICAtZlBJ QyAgLURVU0VfWDg2X0FTTSAtRFVTRV9NTVhfQVNNIC1EVVNFXzNETk9XX0FTTSAtRFVTRV9T U0VfQVNNIC1EX0dOVV9TT1VSQ0UgLURQVEhSRUFEUyAtREhBVkVfUE9TSVhfTUVNQUxJR04g LURVU0VfWENCIC1ER0xYX1VTRV9UTFMgLURQVEhSRUFEUyAtRFVTRV9FWFRFUk5BTF9EWFRO X0xJQj0xIC1ESU5fRFJJX0RSSVZFUiAtREdMWF9JTkRJUkVDVF9SRU5ERVJJTkcgLURIQVZF X0FMSUFTIC1ER0xYX0RJUkVDVF9SRU5ERVJJTkcgLURYRjg2VklETU9ERSAtRF9SRUVOVFJB TlQgLVVJTl9EUklfRFJJVkVSIC1EREVGQVVMVF9EUklWRVJfRElSPVwiL3Vzci9saWIvZHJp XCIgaW5kaXJlY3RfdmVydGV4X3Byb2dyYW0uYyAtbyBpbmRpcmVjdF92ZXJ0ZXhfcHJvZ3Jh bS5vCmk0ODYtcGMtbGludXgtZ251LWdjYyAtYyAtSS4gLUkuLi8uLi8uLi9pbmNsdWRlIC1J Li4vLi4vLi4vaW5jbHVkZS9HTC9pbnRlcm5hbCAtSS4uLy4uLy4uL3NyYy9tZXNhIC1JLi4v Li4vLi4vc3JjL21lc2EvZ2xhcGkgLUkvdXNyL2luY2x1ZGUvZHJtICAgICAtTzIgLW10dW5l PWk2ODYgLXBpcGUgLWZmYXN0LW1hdGggLVdhbGwgLVdtaXNzaW5nLXByb3RvdHlwZXMgLXN0 ZD1jOTkgLWZmYXN0LW1hdGggLWZuby1zdHJpY3QtYWxpYXNpbmcgIC1mUElDICAtRFVTRV9Y ODZfQVNNIC1EVVNFX01NWF9BU00gLURVU0VfM0ROT1dfQVNNIC1EVVNFX1NTRV9BU00gLURf R05VX1NPVVJDRSAtRFBUSFJFQURTIC1ESEFWRV9QT1NJWF9NRU1BTElHTiAtRFVTRV9YQ0Ig LURHTFhfVVNFX1RMUyAtRFBUSFJFQURTIC1EVVNFX0VYVEVSTkFMX0RYVE5fTElCPTEgLURJ Tl9EUklfRFJJVkVSIC1ER0xYX0lORElSRUNUX1JFTkRFUklORyAtREhBVkVfQUxJQVMgLURH TFhfRElSRUNUX1JFTkRFUklORyAtRFhGODZWSURNT0RFIC1EX1JFRU5UUkFOVCAtVUlOX0RS SV9EUklWRVIgLURERUZBVUxUX0RSSVZFUl9ESVI9XCIvdXNyL2xpYi9kcmlcIiBwaXhlbC5j IC1vIHBpeGVsLm8KaTQ4Ni1wYy1saW51eC1nbnUtZ2NjIC1jIC1JLiAtSS4uLy4uLy4uL2lu Y2x1ZGUgLUkuLi8uLi8uLi9pbmNsdWRlL0dML2ludGVybmFsIC1JLi4vLi4vLi4vc3JjL21l c2EgLUkuLi8uLi8uLi9zcmMvbWVzYS9nbGFwaSAtSS91c3IvaW5jbHVkZS9kcm0gICAgIC1P MiAtbXR1bmU9aTY4NiAtcGlwZSAtZmZhc3QtbWF0aCAtV2FsbCAtV21pc3NpbmctcHJvdG90 eXBlcyAtc3RkPWM5OSAtZmZhc3QtbWF0aCAtZm5vLXN0cmljdC1hbGlhc2luZyAgLWZQSUMg IC1EVVNFX1g4Nl9BU00gLURVU0VfTU1YX0FTTSAtRFVTRV8zRE5PV19BU00gLURVU0VfU1NF X0FTTSAtRF9HTlVfU09VUkNFIC1EUFRIUkVBRFMgLURIQVZFX1BPU0lYX01FTUFMSUdOIC1E VVNFX1hDQiAtREdMWF9VU0VfVExTIC1EUFRIUkVBRFMgLURVU0VfRVhURVJOQUxfRFhUTl9M SUI9MSAtRElOX0RSSV9EUklWRVIgLURHTFhfSU5ESVJFQ1RfUkVOREVSSU5HIC1ESEFWRV9B TElBUyAtREdMWF9ESVJFQ1RfUkVOREVSSU5HIC1EWEY4NlZJRE1PREUgLURfUkVFTlRSQU5U IC1VSU5fRFJJX0RSSVZFUiAtRERFRkFVTFRfRFJJVkVSX0RJUj1cIi91c3IvbGliL2RyaVwi IHBpeGVsc3RvcmUuYyAtbyBwaXhlbHN0b3JlLm8KaTQ4Ni1wYy1saW51eC1nbnUtZ2NjIC1j IC1JLiAtSS4uLy4uLy4uL2luY2x1ZGUgLUkuLi8uLi8uLi9pbmNsdWRlL0dML2ludGVybmFs IC1JLi4vLi4vLi4vc3JjL21lc2EgLUkuLi8uLi8uLi9zcmMvbWVzYS9nbGFwaSAtSS91c3Iv aW5jbHVkZS9kcm0gICAgIC1PMiAtbXR1bmU9aTY4NiAtcGlwZSAtZmZhc3QtbWF0aCAtV2Fs bCAtV21pc3NpbmctcHJvdG90eXBlcyAtc3RkPWM5OSAtZmZhc3QtbWF0aCAtZm5vLXN0cmlj dC1hbGlhc2luZyAgLWZQSUMgIC1EVVNFX1g4Nl9BU00gLURVU0VfTU1YX0FTTSAtRFVTRV8z RE5PV19BU00gLURVU0VfU1NFX0FTTSAtRF9HTlVfU09VUkNFIC1EUFRIUkVBRFMgLURIQVZF X1BPU0lYX01FTUFMSUdOIC1EVVNFX1hDQiAtREdMWF9VU0VfVExTIC1EUFRIUkVBRFMgLURV U0VfRVhURVJOQUxfRFhUTl9MSUI9MSAtRElOX0RSSV9EUklWRVIgLURHTFhfSU5ESVJFQ1Rf UkVOREVSSU5HIC1ESEFWRV9BTElBUyAtREdMWF9ESVJFQ1RfUkVOREVSSU5HIC1EWEY4NlZJ RE1PREUgLURfUkVFTlRSQU5UIC1VSU5fRFJJX0RSSVZFUiAtRERFRkFVTFRfRFJJVkVSX0RJ Uj1cIi91c3IvbGliL2RyaVwiIHJlbmRlcjIuYyAtbyByZW5kZXIyLm8KaTQ4Ni1wYy1saW51 eC1nbnUtZ2NjIC1jIC1JLiAtSS4uLy4uLy4uL2luY2x1ZGUgLUkuLi8uLi8uLi9pbmNsdWRl L0dML2ludGVybmFsIC1JLi4vLi4vLi4vc3JjL21lc2EgLUkuLi8uLi8uLi9zcmMvbWVzYS9n bGFwaSAtSS91c3IvaW5jbHVkZS9kcm0gICAgIC1PMiAtbXR1bmU9aTY4NiAtcGlwZSAtZmZh c3QtbWF0aCAtV2FsbCAtV21pc3NpbmctcHJvdG90eXBlcyAtc3RkPWM5OSAtZmZhc3QtbWF0 aCAtZm5vLXN0cmljdC1hbGlhc2luZyAgLWZQSUMgIC1EVVNFX1g4Nl9BU00gLURVU0VfTU1Y X0FTTSAtRFVTRV8zRE5PV19BU00gLURVU0VfU1NFX0FTTSAtRF9HTlVfU09VUkNFIC1EUFRI UkVBRFMgLURIQVZFX1BPU0lYX01FTUFMSUdOIC1EVVNFX1hDQiAtREdMWF9VU0VfVExTIC1E UFRIUkVBRFMgLURVU0VfRVhURVJOQUxfRFhUTl9MSUI9MSAtRElOX0RSSV9EUklWRVIgLURH TFhfSU5ESVJFQ1RfUkVOREVSSU5HIC1ESEFWRV9BTElBUyAtREdMWF9ESVJFQ1RfUkVOREVS SU5HIC1EWEY4NlZJRE1PREUgLURfUkVFTlRSQU5UIC1VSU5fRFJJX0RSSVZFUiAtRERFRkFV TFRfRFJJVkVSX0RJUj1cIi91c3IvbGliL2RyaVwiIHJlbmRlcnBpeC5jIC1vIHJlbmRlcnBp eC5vCmk0ODYtcGMtbGludXgtZ251LWdjYyAtYyAtSS4gLUkuLi8uLi8uLi9pbmNsdWRlIC1J Li4vLi4vLi4vaW5jbHVkZS9HTC9pbnRlcm5hbCAtSS4uLy4uLy4uL3NyYy9tZXNhIC1JLi4v Li4vLi4vc3JjL21lc2EvZ2xhcGkgLUkvdXNyL2luY2x1ZGUvZHJtICAgICAtTzIgLW10dW5l PWk2ODYgLXBpcGUgLWZmYXN0LW1hdGggLVdhbGwgLVdtaXNzaW5nLXByb3RvdHlwZXMgLXN0 ZD1jOTkgLWZmYXN0LW1hdGggLWZuby1zdHJpY3QtYWxpYXNpbmcgIC1mUElDICAtRFVTRV9Y ODZfQVNNIC1EVVNFX01NWF9BU00gLURVU0VfM0ROT1dfQVNNIC1EVVNFX1NTRV9BU00gLURf R05VX1NPVVJDRSAtRFBUSFJFQURTIC1ESEFWRV9QT1NJWF9NRU1BTElHTiAtRFVTRV9YQ0Ig LURHTFhfVVNFX1RMUyAtRFBUSFJFQURTIC1EVVNFX0VYVEVSTkFMX0RYVE5fTElCPTEgLURJ Tl9EUklfRFJJVkVSIC1ER0xYX0lORElSRUNUX1JFTkRFUklORyAtREhBVkVfQUxJQVMgLURH TFhfRElSRUNUX1JFTkRFUklORyAtRFhGODZWSURNT0RFIC1EX1JFRU5UUkFOVCAtVUlOX0RS SV9EUklWRVIgLURERUZBVUxUX0RSSVZFUl9ESVI9XCIvdXNyL2xpYi9kcmlcIiBzaW5nbGUy LmMgLW8gc2luZ2xlMi5vCmk0ODYtcGMtbGludXgtZ251LWdjYyAtYyAtSS4gLUkuLi8uLi8u Li9pbmNsdWRlIC1JLi4vLi4vLi4vaW5jbHVkZS9HTC9pbnRlcm5hbCAtSS4uLy4uLy4uL3Ny Yy9tZXNhIC1JLi4vLi4vLi4vc3JjL21lc2EvZ2xhcGkgLUkvdXNyL2luY2x1ZGUvZHJtICAg ICAtTzIgLW10dW5lPWk2ODYgLXBpcGUgLWZmYXN0LW1hdGggLVdhbGwgLVdtaXNzaW5nLXBy b3RvdHlwZXMgLXN0ZD1jOTkgLWZmYXN0LW1hdGggLWZuby1zdHJpY3QtYWxpYXNpbmcgIC1m UElDICAtRFVTRV9YODZfQVNNIC1EVVNFX01NWF9BU00gLURVU0VfM0ROT1dfQVNNIC1EVVNF X1NTRV9BU00gLURfR05VX1NPVVJDRSAtRFBUSFJFQURTIC1ESEFWRV9QT1NJWF9NRU1BTElH TiAtRFVTRV9YQ0IgLURHTFhfVVNFX1RMUyAtRFBUSFJFQURTIC1EVVNFX0VYVEVSTkFMX0RY VE5fTElCPTEgLURJTl9EUklfRFJJVkVSIC1ER0xYX0lORElSRUNUX1JFTkRFUklORyAtREhB VkVfQUxJQVMgLURHTFhfRElSRUNUX1JFTkRFUklORyAtRFhGODZWSURNT0RFIC1EX1JFRU5U UkFOVCAtVUlOX0RSSV9EUklWRVIgLURERUZBVUxUX0RSSVZFUl9ESVI9XCIvdXNyL2xpYi9k cmlcIiBzaW5nbGVwaXguYyAtbyBzaW5nbGVwaXgubwppNDg2LXBjLWxpbnV4LWdudS1nY2Mg LWMgLUkuIC1JLi4vLi4vLi4vaW5jbHVkZSAtSS4uLy4uLy4uL2luY2x1ZGUvR0wvaW50ZXJu YWwgLUkuLi8uLi8uLi9zcmMvbWVzYSAtSS4uLy4uLy4uL3NyYy9tZXNhL2dsYXBpIC1JL3Vz ci9pbmNsdWRlL2RybSAgICAgLU8yIC1tdHVuZT1pNjg2IC1waXBlIC1mZmFzdC1tYXRoIC1X YWxsIC1XbWlzc2luZy1wcm90b3R5cGVzIC1zdGQ9Yzk5IC1mZmFzdC1tYXRoIC1mbm8tc3Ry aWN0LWFsaWFzaW5nICAtZlBJQyAgLURVU0VfWDg2X0FTTSAtRFVTRV9NTVhfQVNNIC1EVVNF XzNETk9XX0FTTSAtRFVTRV9TU0VfQVNNIC1EX0dOVV9TT1VSQ0UgLURQVEhSRUFEUyAtREhB VkVfUE9TSVhfTUVNQUxJR04gLURVU0VfWENCIC1ER0xYX1VTRV9UTFMgLURQVEhSRUFEUyAt RFVTRV9FWFRFUk5BTF9EWFROX0xJQj0xIC1ESU5fRFJJX0RSSVZFUiAtREdMWF9JTkRJUkVD VF9SRU5ERVJJTkcgLURIQVZFX0FMSUFTIC1ER0xYX0RJUkVDVF9SRU5ERVJJTkcgLURYRjg2 VklETU9ERSAtRF9SRUVOVFJBTlQgLVVJTl9EUklfRFJJVkVSIC1EREVGQVVMVF9EUklWRVJf RElSPVwiL3Vzci9saWIvZHJpXCIgdmVydGFyci5jIC1vIHZlcnRhcnIubwpzaW5nbGUyLmM6 IEluIGZ1bmN0aW9uICdfX2luZGlyZWN0X2dsQXJlVGV4dHVyZXNSZXNpZGVudCc6CnNpbmds ZTIuYzo4ODY6IHdhcm5pbmc6IHVudXNlZCB2YXJpYWJsZSAnY21kbGVuJwppNDg2LXBjLWxp bnV4LWdudS1nY2MgLWMgLUkuIC1JLi4vLi4vLi4vaW5jbHVkZSAtSS4uLy4uLy4uL2luY2x1 ZGUvR0wvaW50ZXJuYWwgLUkuLi8uLi8uLi9zcmMvbWVzYSAtSS4uLy4uLy4uL3NyYy9tZXNh L2dsYXBpIC1JL3Vzci9pbmNsdWRlL2RybSAgICAgLU8yIC1tdHVuZT1pNjg2IC1waXBlIC1m ZmFzdC1tYXRoIC1XYWxsIC1XbWlzc2luZy1wcm90b3R5cGVzIC1zdGQ9Yzk5IC1mZmFzdC1t YXRoIC1mbm8tc3RyaWN0LWFsaWFzaW5nICAtZlBJQyAgLURVU0VfWDg2X0FTTSAtRFVTRV9N TVhfQVNNIC1EVVNFXzNETk9XX0FTTSAtRFVTRV9TU0VfQVNNIC1EX0dOVV9TT1VSQ0UgLURQ VEhSRUFEUyAtREhBVkVfUE9TSVhfTUVNQUxJR04gLURVU0VfWENCIC1ER0xYX1VTRV9UTFMg LURQVEhSRUFEUyAtRFVTRV9FWFRFUk5BTF9EWFROX0xJQj0xIC1ESU5fRFJJX0RSSVZFUiAt REdMWF9JTkRJUkVDVF9SRU5ERVJJTkcgLURIQVZFX0FMSUFTIC1ER0xYX0RJUkVDVF9SRU5E RVJJTkcgLURYRjg2VklETU9ERSAtRF9SRUVOVFJBTlQgLVVJTl9EUklfRFJJVkVSIC1EREVG QVVMVF9EUklWRVJfRElSPVwiL3Vzci9saWIvZHJpXCIgeGZvbnQuYyAtbyB4Zm9udC5vCmk0 ODYtcGMtbGludXgtZ251LWdjYyAtYyAtSS4gLUkuLi8uLi8uLi9pbmNsdWRlIC1JLi4vLi4v Li4vaW5jbHVkZS9HTC9pbnRlcm5hbCAtSS4uLy4uLy4uL3NyYy9tZXNhIC1JLi4vLi4vLi4v c3JjL21lc2EvZ2xhcGkgLUkvdXNyL2luY2x1ZGUvZHJtICAgICAtTzIgLW10dW5lPWk2ODYg LXBpcGUgLWZmYXN0LW1hdGggLVdhbGwgLVdtaXNzaW5nLXByb3RvdHlwZXMgLXN0ZD1jOTkg LWZmYXN0LW1hdGggLWZuby1zdHJpY3QtYWxpYXNpbmcgIC1mUElDICAtRFVTRV9YODZfQVNN IC1EVVNFX01NWF9BU00gLURVU0VfM0ROT1dfQVNNIC1EVVNFX1NTRV9BU00gLURfR05VX1NP VVJDRSAtRFBUSFJFQURTIC1ESEFWRV9QT1NJWF9NRU1BTElHTiAtRFVTRV9YQ0IgLURHTFhf VVNFX1RMUyAtRFBUSFJFQURTIC1EVVNFX0VYVEVSTkFMX0RYVE5fTElCPTEgLURJTl9EUklf RFJJVkVSIC1ER0xYX0lORElSRUNUX1JFTkRFUklORyAtREhBVkVfQUxJQVMgLURHTFhfRElS RUNUX1JFTkRFUklORyAtRFhGODZWSURNT0RFIC1EX1JFRU5UUkFOVCAtVUlOX0RSSV9EUklW RVIgLURERUZBVUxUX0RSSVZFUl9ESVI9XCIvdXNyL2xpYi9kcmlcIiBnbHhfcGJ1ZmZlci5j IC1vIGdseF9wYnVmZmVyLm8KaTQ4Ni1wYy1saW51eC1nbnUtZ2NjIC1jIC1JLiAtSS4uLy4u Ly4uL2luY2x1ZGUgLUkuLi8uLi8uLi9pbmNsdWRlL0dML2ludGVybmFsIC1JLi4vLi4vLi4v c3JjL21lc2EgLUkuLi8uLi8uLi9zcmMvbWVzYS9nbGFwaSAtSS91c3IvaW5jbHVkZS9kcm0g ICAgIC1PMiAtbXR1bmU9aTY4NiAtcGlwZSAtZmZhc3QtbWF0aCAtV2FsbCAtV21pc3Npbmct cHJvdG90eXBlcyAtc3RkPWM5OSAtZmZhc3QtbWF0aCAtZm5vLXN0cmljdC1hbGlhc2luZyAg LWZQSUMgIC1EVVNFX1g4Nl9BU00gLURVU0VfTU1YX0FTTSAtRFVTRV8zRE5PV19BU00gLURV U0VfU1NFX0FTTSAtRF9HTlVfU09VUkNFIC1EUFRIUkVBRFMgLURIQVZFX1BPU0lYX01FTUFM SUdOIC1EVVNFX1hDQiAtREdMWF9VU0VfVExTIC1EUFRIUkVBRFMgLURVU0VfRVhURVJOQUxf RFhUTl9MSUI9MSAtRElOX0RSSV9EUklWRVIgLURHTFhfSU5ESVJFQ1RfUkVOREVSSU5HIC1E SEFWRV9BTElBUyAtREdMWF9ESVJFQ1RfUkVOREVSSU5HIC1EWEY4NlZJRE1PREUgLURfUkVF TlRSQU5UIC1VSU5fRFJJX0RSSVZFUiAtRERFRkFVTFRfRFJJVkVSX0RJUj1cIi91c3IvbGli L2RyaVwiIGdseF9xdWVyeS5jIC1vIGdseF9xdWVyeS5vCmk0ODYtcGMtbGludXgtZ251LWdj YyAtYyAtSS4gLUkuLi8uLi8uLi9pbmNsdWRlIC1JLi4vLi4vLi4vaW5jbHVkZS9HTC9pbnRl cm5hbCAtSS4uLy4uLy4uL3NyYy9tZXNhIC1JLi4vLi4vLi4vc3JjL21lc2EvZ2xhcGkgLUkv dXNyL2luY2x1ZGUvZHJtICAgICAtTzIgLW10dW5lPWk2ODYgLXBpcGUgLWZmYXN0LW1hdGgg LVdhbGwgLVdtaXNzaW5nLXByb3RvdHlwZXMgLXN0ZD1jOTkgLWZmYXN0LW1hdGggLWZuby1z dHJpY3QtYWxpYXNpbmcgIC1mUElDICAtRFVTRV9YODZfQVNNIC1EVVNFX01NWF9BU00gLURV U0VfM0ROT1dfQVNNIC1EVVNFX1NTRV9BU00gLURfR05VX1NPVVJDRSAtRFBUSFJFQURTIC1E SEFWRV9QT1NJWF9NRU1BTElHTiAtRFVTRV9YQ0IgLURHTFhfVVNFX1RMUyAtRFBUSFJFQURT IC1EVVNFX0VYVEVSTkFMX0RYVE5fTElCPTEgLURJTl9EUklfRFJJVkVSIC1ER0xYX0lORElS RUNUX1JFTkRFUklORyAtREhBVkVfQUxJQVMgLURHTFhfRElSRUNUX1JFTkRFUklORyAtRFhG ODZWSURNT0RFIC1EX1JFRU5UUkFOVCAtVUlOX0RSSV9EUklWRVIgLURERUZBVUxUX0RSSVZF Ul9ESVI9XCIvdXNyL2xpYi9kcmlcIiBkcmlzd19nbHguYyAtbyBkcmlzd19nbHgubwppNDg2 LXBjLWxpbnV4LWdudS1nY2MgLWMgLUkuIC1JLi4vLi4vLi4vaW5jbHVkZSAtSS4uLy4uLy4u L2luY2x1ZGUvR0wvaW50ZXJuYWwgLUkuLi8uLi8uLi9zcmMvbWVzYSAtSS4uLy4uLy4uL3Ny Yy9tZXNhL2dsYXBpIC1JL3Vzci9pbmNsdWRlL2RybSAgICAgLU8yIC1tdHVuZT1pNjg2IC1w aXBlIC1mZmFzdC1tYXRoIC1XYWxsIC1XbWlzc2luZy1wcm90b3R5cGVzIC1zdGQ9Yzk5IC1m ZmFzdC1tYXRoIC1mbm8tc3RyaWN0LWFsaWFzaW5nICAtZlBJQyAgLURVU0VfWDg2X0FTTSAt RFVTRV9NTVhfQVNNIC1EVVNFXzNETk9XX0FTTSAtRFVTRV9TU0VfQVNNIC1EX0dOVV9TT1VS Q0UgLURQVEhSRUFEUyAtREhBVkVfUE9TSVhfTUVNQUxJR04gLURVU0VfWENCIC1ER0xYX1VT RV9UTFMgLURQVEhSRUFEUyAtRFVTRV9FWFRFUk5BTF9EWFROX0xJQj0xIC1ESU5fRFJJX0RS SVZFUiAtREdMWF9JTkRJUkVDVF9SRU5ERVJJTkcgLURIQVZFX0FMSUFTIC1ER0xYX0RJUkVD VF9SRU5ERVJJTkcgLURYRjg2VklETU9ERSAtRF9SRUVOVFJBTlQgLVVJTl9EUklfRFJJVkVS IC1EREVGQVVMVF9EUklWRVJfRElSPVwiL3Vzci9saWIvZHJpXCIgZHJpX2NvbW1vbi5jIC1v IGRyaV9jb21tb24ubwppNDg2LXBjLWxpbnV4LWdudS1nY2MgLWMgLUkuIC1JLi4vLi4vLi4v aW5jbHVkZSAtSS4uLy4uLy4uL2luY2x1ZGUvR0wvaW50ZXJuYWwgLUkuLi8uLi8uLi9zcmMv bWVzYSAtSS4uLy4uLy4uL3NyYy9tZXNhL2dsYXBpIC1JL3Vzci9pbmNsdWRlL2RybSAgICAg LU8yIC1tdHVuZT1pNjg2IC1waXBlIC1mZmFzdC1tYXRoIC1XYWxsIC1XbWlzc2luZy1wcm90 b3R5cGVzIC1zdGQ9Yzk5IC1mZmFzdC1tYXRoIC1mbm8tc3RyaWN0LWFsaWFzaW5nICAtZlBJ QyAgLURVU0VfWDg2X0FTTSAtRFVTRV9NTVhfQVNNIC1EVVNFXzNETk9XX0FTTSAtRFVTRV9T U0VfQVNNIC1EX0dOVV9TT1VSQ0UgLURQVEhSRUFEUyAtREhBVkVfUE9TSVhfTUVNQUxJR04g LURVU0VfWENCIC1ER0xYX1VTRV9UTFMgLURQVEhSRUFEUyAtRFVTRV9FWFRFUk5BTF9EWFRO X0xJQj0xIC1ESU5fRFJJX0RSSVZFUiAtREdMWF9JTkRJUkVDVF9SRU5ERVJJTkcgLURIQVZF X0FMSUFTIC1ER0xYX0RJUkVDVF9SRU5ERVJJTkcgLURYRjg2VklETU9ERSAtRF9SRUVOVFJB TlQgLVVJTl9EUklfRFJJVkVSIC1EREVGQVVMVF9EUklWRVJfRElSPVwiL3Vzci9saWIvZHJp XCIgZHJpX2dseC5jIC1vIGRyaV9nbHgubwppNDg2LXBjLWxpbnV4LWdudS1nY2MgLWMgLUku IC1JLi4vLi4vLi4vaW5jbHVkZSAtSS4uLy4uLy4uL2luY2x1ZGUvR0wvaW50ZXJuYWwgLUku Li8uLi8uLi9zcmMvbWVzYSAtSS4uLy4uLy4uL3NyYy9tZXNhL2dsYXBpIC1JL3Vzci9pbmNs dWRlL2RybSAgICAgLU8yIC1tdHVuZT1pNjg2IC1waXBlIC1mZmFzdC1tYXRoIC1XYWxsIC1X bWlzc2luZy1wcm90b3R5cGVzIC1zdGQ9Yzk5IC1mZmFzdC1tYXRoIC1mbm8tc3RyaWN0LWFs aWFzaW5nICAtZlBJQyAgLURVU0VfWDg2X0FTTSAtRFVTRV9NTVhfQVNNIC1EVVNFXzNETk9X X0FTTSAtRFVTRV9TU0VfQVNNIC1EX0dOVV9TT1VSQ0UgLURQVEhSRUFEUyAtREhBVkVfUE9T SVhfTUVNQUxJR04gLURVU0VfWENCIC1ER0xYX1VTRV9UTFMgLURQVEhSRUFEUyAtRFVTRV9F WFRFUk5BTF9EWFROX0xJQj0xIC1ESU5fRFJJX0RSSVZFUiAtREdMWF9JTkRJUkVDVF9SRU5E RVJJTkcgLURIQVZFX0FMSUFTIC1ER0xYX0RJUkVDVF9SRU5ERVJJTkcgLURYRjg2VklETU9E RSAtRF9SRUVOVFJBTlQgLVVJTl9EUklfRFJJVkVSIC1EREVGQVVMVF9EUklWRVJfRElSPVwi L3Vzci9saWIvZHJpXCIgWEY4NmRyaS5jIC1vIFhGODZkcmkubwpYRjg2ZHJpLmM6NjE2OiB3 YXJuaW5nOiBubyBwcmV2aW91cyBwcm90b3R5cGUgZm9yICdYRjg2RFJJT3BlbkZ1bGxTY3Jl ZW4nClhGODZkcmkuYzo2Mjc6IHdhcm5pbmc6IG5vIHByZXZpb3VzIHByb3RvdHlwZSBmb3Ig J1hGODZEUklDbG9zZUZ1bGxTY3JlZW4nCmk0ODYtcGMtbGludXgtZ251LWdjYyAtYyAtSS4g LUkuLi8uLi8uLi9pbmNsdWRlIC1JLi4vLi4vLi4vaW5jbHVkZS9HTC9pbnRlcm5hbCAtSS4u Ly4uLy4uL3NyYy9tZXNhIC1JLi4vLi4vLi4vc3JjL21lc2EvZ2xhcGkgLUkvdXNyL2luY2x1 ZGUvZHJtICAgICAtTzIgLW10dW5lPWk2ODYgLXBpcGUgLWZmYXN0LW1hdGggLVdhbGwgLVdt aXNzaW5nLXByb3RvdHlwZXMgLXN0ZD1jOTkgLWZmYXN0LW1hdGggLWZuby1zdHJpY3QtYWxp YXNpbmcgIC1mUElDICAtRFVTRV9YODZfQVNNIC1EVVNFX01NWF9BU00gLURVU0VfM0ROT1df QVNNIC1EVVNFX1NTRV9BU00gLURfR05VX1NPVVJDRSAtRFBUSFJFQURTIC1ESEFWRV9QT1NJ WF9NRU1BTElHTiAtRFVTRV9YQ0IgLURHTFhfVVNFX1RMUyAtRFBUSFJFQURTIC1EVVNFX0VY VEVSTkFMX0RYVE5fTElCPTEgLURJTl9EUklfRFJJVkVSIC1ER0xYX0lORElSRUNUX1JFTkRF UklORyAtREhBVkVfQUxJQVMgLURHTFhfRElSRUNUX1JFTkRFUklORyAtRFhGODZWSURNT0RF IC1EX1JFRU5UUkFOVCAtVUlOX0RSSV9EUklWRVIgLURERUZBVUxUX0RSSVZFUl9ESVI9XCIv dXNyL2xpYi9kcmlcIiBnbHhoYXNoLmMgLW8gZ2x4aGFzaC5vCmk0ODYtcGMtbGludXgtZ251 LWdjYyAtYyAtSS4gLUkuLi8uLi8uLi9pbmNsdWRlIC1JLi4vLi4vLi4vaW5jbHVkZS9HTC9p bnRlcm5hbCAtSS4uLy4uLy4uL3NyYy9tZXNhIC1JLi4vLi4vLi4vc3JjL21lc2EvZ2xhcGkg LUkvdXNyL2luY2x1ZGUvZHJtICAgICAtTzIgLW10dW5lPWk2ODYgLXBpcGUgLWZmYXN0LW1h dGggLVdhbGwgLVdtaXNzaW5nLXByb3RvdHlwZXMgLXN0ZD1jOTkgLWZmYXN0LW1hdGggLWZu by1zdHJpY3QtYWxpYXNpbmcgIC1mUElDICAtRFVTRV9YODZfQVNNIC1EVVNFX01NWF9BU00g LURVU0VfM0ROT1dfQVNNIC1EVVNFX1NTRV9BU00gLURfR05VX1NPVVJDRSAtRFBUSFJFQURT IC1ESEFWRV9QT1NJWF9NRU1BTElHTiAtRFVTRV9YQ0IgLURHTFhfVVNFX1RMUyAtRFBUSFJF QURTIC1EVVNFX0VYVEVSTkFMX0RYVE5fTElCPTEgLURJTl9EUklfRFJJVkVSIC1ER0xYX0lO RElSRUNUX1JFTkRFUklORyAtREhBVkVfQUxJQVMgLURHTFhfRElSRUNUX1JFTkRFUklORyAt RFhGODZWSURNT0RFIC1EX1JFRU5UUkFOVCAtVUlOX0RSSV9EUklWRVIgLURERUZBVUxUX0RS SVZFUl9ESVI9XCIvdXNyL2xpYi9kcmlcIiBkcmkyX2dseC5jIC1vIGRyaTJfZ2x4Lm8KaTQ4 Ni1wYy1saW51eC1nbnUtZ2NjIC1jIC1JLiAtSS4uLy4uLy4uL2luY2x1ZGUgLUkuLi8uLi8u Li9pbmNsdWRlL0dML2ludGVybmFsIC1JLi4vLi4vLi4vc3JjL21lc2EgLUkuLi8uLi8uLi9z cmMvbWVzYS9nbGFwaSAtSS91c3IvaW5jbHVkZS9kcm0gICAgIC1PMiAtbXR1bmU9aTY4NiAt cGlwZSAtZmZhc3QtbWF0aCAtV2FsbCAtV21pc3NpbmctcHJvdG90eXBlcyAtc3RkPWM5OSAt ZmZhc3QtbWF0aCAtZm5vLXN0cmljdC1hbGlhc2luZyAgLWZQSUMgIC1EVVNFX1g4Nl9BU00g LURVU0VfTU1YX0FTTSAtRFVTRV8zRE5PV19BU00gLURVU0VfU1NFX0FTTSAtRF9HTlVfU09V UkNFIC1EUFRIUkVBRFMgLURIQVZFX1BPU0lYX01FTUFMSUdOIC1EVVNFX1hDQiAtREdMWF9V U0VfVExTIC1EUFRIUkVBRFMgLURVU0VfRVhURVJOQUxfRFhUTl9MSUI9MSAtRElOX0RSSV9E UklWRVIgLURHTFhfSU5ESVJFQ1RfUkVOREVSSU5HIC1ESEFWRV9BTElBUyAtREdMWF9ESVJF Q1RfUkVOREVSSU5HIC1EWEY4NlZJRE1PREUgLURfUkVFTlRSQU5UIC1VSU5fRFJJX0RSSVZF UiAtRERFRkFVTFRfRFJJVkVSX0RJUj1cIi91c3IvbGliL2RyaVwiIGRyaTIuYyAtbyBkcmky Lm8KaTQ4Ni1wYy1saW51eC1nbnUtZ2NjIC1jIC1JLiAtSS4uLy4uLy4uL2luY2x1ZGUgLUku Li8uLi8uLi9pbmNsdWRlL0dML2ludGVybmFsIC1JLi4vLi4vLi4vc3JjL21lc2EgLUkuLi8u Li8uLi9zcmMvbWVzYS9nbGFwaSAtSS91c3IvaW5jbHVkZS9kcm0gICAgIC1PMiAtbXR1bmU9 aTY4NiAtcGlwZSAtZmZhc3QtbWF0aCAtV2FsbCAtV21pc3NpbmctcHJvdG90eXBlcyAtc3Rk PWM5OSAtZmZhc3QtbWF0aCAtZm5vLXN0cmljdC1hbGlhc2luZyAgLWZQSUMgIC1EVVNFX1g4 Nl9BU00gLURVU0VfTU1YX0FTTSAtRFVTRV8zRE5PV19BU00gLURVU0VfU1NFX0FTTSAtRF9H TlVfU09VUkNFIC1EUFRIUkVBRFMgLURIQVZFX1BPU0lYX01FTUFMSUdOIC1EVVNFX1hDQiAt REdMWF9VU0VfVExTIC1EUFRIUkVBRFMgLURVU0VfRVhURVJOQUxfRFhUTl9MSUI9MSAtRElO X0RSSV9EUklWRVIgLURHTFhfSU5ESVJFQ1RfUkVOREVSSU5HIC1ESEFWRV9BTElBUyAtREdM WF9ESVJFQ1RfUkVOREVSSU5HIC1EWEY4NlZJRE1PREUgLURfUkVFTlRSQU5UIC1VSU5fRFJJ X0RSSVZFUiAtRERFRkFVTFRfRFJJVkVSX0RJUj1cIi91c3IvbGliL2RyaVwiIC4uLy4uLy4u L3NyYy9tZXNhL21haW4vZGlzcGF0Y2guYyAtbyAuLi8uLi8uLi9zcmMvbWVzYS9tYWluL2Rp c3BhdGNoLm8KZHJpMi5jOiBJbiBmdW5jdGlvbiAnRFJJMkNvbm5lY3QnOgpkcmkyLmM6MTE3 OiBlcnJvcjogJ3hEUkkyQ29ubmVjdFJlcScgaGFzIG5vIG1lbWJlciBuYW1lZCAnd2luZG93 JwpkcmkyLmM6MTE4OiBlcnJvcjogJ3hEUkkyQ29ubmVjdFJlcScgaGFzIG5vIG1lbWJlciBu YW1lZCAnZHJpdmVyVHlwZScKZHJpMi5jOjEyNTogZXJyb3I6ICd4RFJJMkNvbm5lY3RSZXBs eScgaGFzIG5vIG1lbWJlciBuYW1lZCAnZGV2aWNlTmFtZUxlbmd0aCcKZHJpMi5jOjEzNTog ZXJyb3I6ICd4RFJJMkNvbm5lY3RSZXBseScgaGFzIG5vIG1lbWJlciBuYW1lZCAnZGV2aWNl TmFtZUxlbmd0aCcKZHJpMi5jOjE0MzogZXJyb3I6ICd4RFJJMkNvbm5lY3RSZXBseScgaGFz IG5vIG1lbWJlciBuYW1lZCAnZGV2aWNlTmFtZUxlbmd0aCcKZHJpMi5jOjE0NjogZXJyb3I6 ICd4RFJJMkNvbm5lY3RSZXBseScgaGFzIG5vIG1lbWJlciBuYW1lZCAnZGV2aWNlTmFtZUxl bmd0aCcKZHJpMi5jOjE1MTogZXJyb3I6ICd4RFJJMkNvbm5lY3RSZXBseScgaGFzIG5vIG1l bWJlciBuYW1lZCAnZGV2aWNlTmFtZUxlbmd0aCcKZHJpMi5jOjE1MjogZXJyb3I6ICd4RFJJ MkNvbm5lY3RSZXBseScgaGFzIG5vIG1lbWJlciBuYW1lZCAnZGV2aWNlTmFtZUxlbmd0aCcK ZHJpMi5jOiBJbiBmdW5jdGlvbiAnRFJJMkF1dGhlbnRpY2F0ZSc6CmRyaTIuYzoxNjM6IGVy cm9yOiAneERSSTJBdXRoZW50aWNhdGVSZXEnIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0 aGlzIGZ1bmN0aW9uKQpkcmkyLmM6MTYzOiBlcnJvcjogKEVhY2ggdW5kZWNsYXJlZCBpZGVu dGlmaWVyIGlzIHJlcG9ydGVkIG9ubHkgb25jZQpkcmkyLmM6MTYzOiBlcnJvcjogZm9yIGVh Y2ggZnVuY3Rpb24gaXQgYXBwZWFycyBpbi4pCmRyaTIuYzoxNjM6IGVycm9yOiAncmVxJyB1 bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKZHJpMi5jOjE2NDogZXJy b3I6ICd4RFJJMkF1dGhlbnRpY2F0ZVJlcGx5JyB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4g dGhpcyBmdW5jdGlvbikKZHJpMi5jOjE2NDogZXJyb3I6IGV4cGVjdGVkICc7JyBiZWZvcmUg J3JlcCcKZHJpMi5jOjE2OTogZXJyb3I6ICdzel94RFJJMkF1dGhlbnRpY2F0ZVJlcScgdW5k ZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCmRyaTIuYzoxNjk6IGVycm9y OiBleHBlY3RlZCBleHByZXNzaW9uIGJlZm9yZSAnKScgdG9rZW4KZHJpMi5jOjE2OTogZXJy b3I6ICdYX0RSSTJBdXRoZW50aWNhdGUnIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlz IGZ1bmN0aW9uKQpkcmkyLmM6MTc1OiBlcnJvcjogJ3JlcCcgdW5kZWNsYXJlZCAoZmlyc3Qg dXNlIGluIHRoaXMgZnVuY3Rpb24pCmRyaTIuYzogSW4gZnVuY3Rpb24gJ0RSSTJHZXRCdWZm ZXJzJzoKZHJpMi5jOjIyNzogZXJyb3I6ICd4RFJJMkdldEJ1ZmZlcnNSZXBseScgdW5kZWNs YXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCmRyaTIuYzoyMjc6IGVycm9yOiBl eHBlY3RlZCAnOycgYmVmb3JlICdyZXAnCmRyaTIuYzoyMjg6IGVycm9yOiAneERSSTJHZXRC dWZmZXJzUmVxJyB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKZHJp Mi5jOjIyODogZXJyb3I6ICdyZXEnIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1 bmN0aW9uKQpkcmkyLmM6MjMwOiBlcnJvcjogJ3hEUkkyQnVmZmVyJyB1bmRlY2xhcmVkIChm aXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKZHJpMi5jOjIzMDogZXJyb3I6IGV4cGVjdGVk ICc7JyBiZWZvcmUgJ3JlcEJ1ZmZlcicKZHJpMi5jOjIzNzogZXJyb3I6ICdzel94RFJJMkdl dEJ1ZmZlcnNSZXEnIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQpk cmkyLmM6MjM3OiBlcnJvcjogZXhwZWN0ZWQgZXhwcmVzc2lvbiBiZWZvcmUgJyknIHRva2Vu CmRyaTIuYzoyMzc6IGVycm9yOiAnWF9EUkkyR2V0QnVmZmVycycgdW5kZWNsYXJlZCAoZmly c3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCmRyaTIuYzoyNDY6IGVycm9yOiAncmVwJyB1bmRl Y2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKZHJpMi5jOjI1ODogZXJyb3I6 ICdyZXBCdWZmZXInIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQpk cmkyLmM6IEluIGZ1bmN0aW9uICdEUkkyQ29weVJlZ2lvbic6CmRyaTIuYzoyODM6IGVycm9y OiAneERSSTJDb3B5UmVnaW9uUmVxJyB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBm dW5jdGlvbikKZHJpMi5jOjI4MzogZXJyb3I6ICdyZXEnIHVuZGVjbGFyZWQgKGZpcnN0IHVz ZSBpbiB0aGlzIGZ1bmN0aW9uKQpkcmkyLmM6Mjg0OiBlcnJvcjogJ3hEUkkyQ29weVJlZ2lv blJlcGx5JyB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKZHJpMi5j OjI4NDogZXJyb3I6IGV4cGVjdGVkICc7JyBiZWZvcmUgJ3JlcCcKZHJpMi5jOjI4OTogZXJy b3I6ICdzel94RFJJMkNvcHlSZWdpb25SZXEnIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0 aGlzIGZ1bmN0aW9uKQpkcmkyLmM6Mjg5OiBlcnJvcjogZXhwZWN0ZWQgZXhwcmVzc2lvbiBi ZWZvcmUgJyknIHRva2VuCmRyaTIuYzoyODk6IGVycm9yOiAnWF9EUkkyQ29weVJlZ2lvbicg dW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCmRyaTIuYzoyOTc6IGVy cm9yOiAncmVwJyB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKZ21h a2VbMl06ICoqKiBbZHJpMi5vXSBFcnJvciAxCmdtYWtlWzJdOiAqKiogV2FpdGluZyBmb3Ig dW5maW5pc2hlZCBqb2JzLi4uLgpnbWFrZVsyXTogTGVhdmluZyBkaXJlY3RvcnkgYC92YXIv dG1wL3BvcnRhZ2UvbWVkaWEtbGlicy9tZXNhLTcuNC4yL3dvcmsvTWVzYS03LjQuMi9zcmMv Z2x4L3gxMScKbWFrZVsxXTogKioqIFtzdWJkaXJzXSBFcnJvciAxCm1ha2VbMV06IExlYXZp bmcgZGlyZWN0b3J5IGAvdmFyL3RtcC9wb3J0YWdlL21lZGlhLWxpYnMvbWVzYS03LjQuMi93 b3JrL01lc2EtNy40LjIvc3JjJwptYWtlOiAqKiogW2RlZmF1bHRdIEVycm9yIDEKIBtbMzE7 MDFtKhtbMG0gCiAbWzMxOzAxbSobWzBtIEVSUk9SOiBtZWRpYS1saWJzL21lc2EtNy40LjIg ZmFpbGVkLgogG1szMTswMW0qG1swbSBDYWxsIHN0YWNrOgogG1szMTswMW0qG1swbSAgICAg ICAgICAgICAgIGVidWlsZC5zaCwgbGluZSAgIDQ5OiAgQ2FsbGVkIHNyY19jb21waWxlCiAb WzMxOzAxbSobWzBtICAgICAgICAgICAgIGVudmlyb25tZW50LCBsaW5lIDI5OTQ6ICBDYWxs ZWQgX2VhcGkyX3NyY19jb21waWxlCiAbWzMxOzAxbSobWzBtICAgICAgICAgICAgICAgZWJ1 aWxkLnNoLCBsaW5lICA2MzQ6ICBDYWxsZWQgZGllCiAbWzMxOzAxbSobWzBtIFRoZSBzcGVj aWZpYyBzbmlwcGV0IG9mIGNvZGU6CiAbWzMxOzAxbSobWzBtICAgCQllbWFrZSB8fCBkaWUg ImVtYWtlIGZhaWxlZCIKIBtbMzE7MDFtKhtbMG0gIFRoZSBkaWUgbWVzc2FnZToKIBtbMzE7 MDFtKhtbMG0gICBlbWFrZSBmYWlsZWQKIBtbMzE7MDFtKhtbMG0gCiAbWzMxOzAxbSobWzBt IElmIHlvdSBuZWVkIHN1cHBvcnQsIHBvc3QgdGhlIHRvcG1vc3QgYnVpbGQgZXJyb3IsIGFu ZCB0aGUgY2FsbCBzdGFjayBpZiByZWxldmFudC4KIBtbMzE7MDFtKhtbMG0gQSBjb21wbGV0 ZSBidWlsZCBsb2cgaXMgbG9jYXRlZCBhdCAnL3Zhci90bXAvcG9ydGFnZS9tZWRpYS1saWJz L21lc2EtNy40LjIvdGVtcC9idWlsZC5sb2cnLgogG1szMTswMW0qG1swbSBUaGUgZWJ1aWxk IGVudmlyb25tZW50IGZpbGUgaXMgbG9jYXRlZCBhdCAnL3Zhci90bXAvcG9ydGFnZS9tZWRp YS1saWJzL21lc2EtNy40LjIvdGVtcC9lbnZpcm9ubWVudCcuCiAbWzMxOzAxbSobWzBtIAo= --------------000200050608080707030505 Content-Type: text/plain; name="environment" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="environment" QUxTQV9DQVJEUz0KQUxTQV9QQ01fUExVR0lOUz0nYWRwY20gYWxhdyBhc3ltIGNvcHkgZG1p eCBkc2hhcmUgZHNub29wIGVtcHR5IGV4dHBsdWcgZmlsZSBob29rcyBpZWM5NTggaW9wbHVn IGxhZHNwYSBsZmxvYXQgbGluZWFyIG1ldGVyIG1tYXBfZW11bCBtdWxhdyBtdWx0aSBudWxs IHBsdWcgcmF0ZSByb3V0ZSBzaGFyZSBzaG0gc29mdHZvbCcKQU5UX0hPTUU9L3Vzci9zaGFy ZS9hbnQKQVBBQ0hFMl9NT0RVTEVTPSdwcm94eSBwcm94eV9odHRwIHByb3h5X2Z0cCBkaXIg YXV0aHpfaG9zdCBtaW1lIGFsaWFzIGxvZ19jb25maWcgbG9nX2ZvcmVuc2ljIGxvZ2lvJwpB UkNIPXg4NgpBVF9HTlVDT05GX1VQREFURT1ubwpBVF9NNERJUj0KQ0JVSUxEPWk0ODYtcGMt bGludXgtZ251CkNERUZJTkVfZGVmYXVsdD1fX3VuaXhfXwpDRkxBR1M9Jy1PMiAtbXR1bmU9 aTY4NiAtcGlwZSAtZmZhc3QtbWF0aCcKQ0ZMQUdTX2RlZmF1bHQ9CkNIT1NUPWk0ODYtcGMt bGludXgtZ251CkNIT1NUX2RlZmF1bHQ9aTQ4Ni1wYy1saW51eC1nbnUKQ0xBU1NQQVRIPS4K Q1JPU1NDT01QSUxFX09QVFM9CkNUQVJHRVRfZGVmYXVsdD1pNDg2LXBjLWxpbnV4LWdudQpD VlNfUlNIPXNzaApDWFhGTEFHUz0nLU8yIC1tdHVuZT1pNjg2IC1waXBlIC1mZmFzdC1tYXRo JwpEQlVTX1NFU1NJT05fQlVTX0FERFJFU1M9dW5peDphYnN0cmFjdD0vdG1wL2RidXMtSW5s Z3FVSmJmVSxndWlkPWYzOWU0MTAyZDA0NzA4MjYzZDc1MjViMzRhMzg2ZWJlCkRFRkFVTFRf QUJJPWRlZmF1bHQKREVGSU5FRF9QSEFTRVM9JyBjb25maWd1cmUgaW5zdGFsbCBwb3N0aW5z dCBwcmVwYXJlIHNldHVwIHVucGFjaycKREVQRU5EPSQnITw9eDExLWJhc2UveG9yZy14MTEt Ni45XG5cdCE8PXgxMS1wcm90by94Zjg2ZHJpcHJvdG8tMi4wLjNcblx0YXBwLWFkbWluL2Vz ZWxlY3Qtb3BlbmdsXG5cdGRldi1saWJzL2V4cGF0XG5cdD49eDExLWxpYnMvbGliZHJtLTIu NC42XG5cdHgxMS1saWJzL2xpYklDRVxuXHR4MTEtbGlicy9saWJYMTFbeGNiP11cblx0eDEx LWxpYnMvbGliWGRhbWFnZVxuXHR4MTEtbGlicy9saWJYZXh0XG5cdHgxMS1saWJzL2xpYlhp XG5cdHgxMS1saWJzL2xpYlhtdVxuXHR4MTEtbGlicy9saWJYeGY4NnZtXG5cdG1vdGlmPyAo IHgxMS1saWJzL29wZW5tb3RpZiApXG5cdGRvYz8gKCBhcHAtZG9jL29wZW5nbC1tYW5wYWdl cyApXG5cblx0ZGV2LXV0aWwvcGtnY29uZmlnXG5cdHgxMS1taXNjL21ha2VkZXBlbmRcblx0 Pj14MTEtcHJvdG8vZHJpMnByb3RvLTEuOTkuM1xuXHQ+PXgxMS1wcm90by9nbHByb3RvLTEu NC44XG5cdHgxMS1wcm90by9pbnB1dHByb3RvXG5cdHgxMS1wcm90by94ZXh0cHJvdG9cblx0 eDExLXByb3RvL3hmODZ2aWRtb2RlcHJvdG9cblx0eDExLXByb3RvL3hmODZkcmlwcm90b1xu ICA9c3lzLWRldmVsL2F1dG9tYWtlLTEuMTAqXG5cdD49c3lzLWRldmVsL2F1dG9jb25mLTIu NjEgc3lzLWRldmVsL2xpYnRvb2wnCkRFU0NSSVBUSU9OPSdPcGVuR0wtbGlrZSBncmFwaGlj IGxpYnJhcnkgZm9yIExpbnV4JwpERVNUVFJFRT0vdXNyCkRJUk9QVElPTlM9LW0wNzU1CkRS SV9EUklWRVJTPSxzd3Jhc3QscjMwMApEUk1fTElWRV9CUkFOQ0g9cjZ4eC1yN3h4LXN1cHBv cnQKRUFQST0yCkVDT05GX1NPVVJDRT0uCkVHSVRfUkVQT19VUkk9Z2l0Oi8vYW5vbmdpdC5m cmVlZGVza3RvcC5vcmcvbWVzYS9tZXNhCkVMSUJDPWdsaWJjCkVMSUJUT09MX1ZFUlNJT049 Mi4wLjIKRUxUX0FQUExJRURfUEFUQ0hFUz0KRUxUX0xUTUFJTl9TSD0KRUxUX1BBVENIX0RJ Uj0vdXNyL3BvcnRhZ2UvZWNsYXNzL0VMVC1wYXRjaGVzCkVQQVRDSF9FWENMVURFPQpFUEFU Q0hfRk9SQ0U9bm8KRVBBVENIX01VTFRJX01TRz0nQXBwbHlpbmcgdmFyaW91cyBwYXRjaGVz IChidWdmaXhlcy91cGRhdGVzKSAuLi4nCkVQQVRDSF9PUFRTPSctZzAgLUUgLS1uby1iYWNr dXAtaWYtbWlzbWF0Y2gnCkVQQVRDSF9TSU5HTEVfTVNHPQpFUEFUQ0hfU09VUkNFPS92YXIv dG1wL3BvcnRhZ2UvbWVkaWEtbGlicy9tZXNhLTcuNC4yL3dvcmsvcGF0Y2gKRVBBVENIX1NV RkZJWD1wYXRjaC5iejIKRVhFT1BUSU9OUz0tbTA3NTUKRkNGTEFHUz0nIC1mZmFzdC1tYXRo JwpGRUFUVVJFUz0nZGlzdGxvY2tzIGZpeHBhY2thZ2VzIHBhcmFsbGVsLWZldGNoIHByb3Rl Y3Qtb3duZWQgc2FuZGJveCBzZnBlcm1zIHN0cmljdCB1bm1lcmdlLW9ycGhhbnMgdXNlcmZl dGNoJwpGRkxBR1M9JyAtZmZhc3QtbWF0aCcKRk9PMlpKU19ERVZJQ0VTPWhwMTAxOApHQ0Nf U1BFQ1M9CkdES19VU0VfWEZUPTEKR0VORVJBVElPTj0yCkdOT01FX0RFU0tUT1BfU0VTU0lP Tl9JRD10aGlzLWlzLWRlcHJlY2F0ZWQKR05PTUVfS0VZUklOR19TT0NLRVQ9L3RtcC9rZXly aW5nLWZMNlVBdC9zb2NrZXQKR1RLX1JDX0ZJTEVTPS9ldGMvZ3RrL2d0a3JjOi9ob21lL2Jh c2lsaW8vLmd0a3JjLTEuMi1nbm9tZTIKSEc9L3Vzci9iaW4vaGcKSE9NRVBBR0U9aHR0cDov L21lc2EzZC5zb3VyY2Vmb3JnZS5uZXQvCkhVU0hMT0dJTj1GQUxTRQpJTkhFUklURUQ9J3Rv b2xjaGFpbi1mdW5jcyBwb3J0YWJpbGl0eSBmbGFnLW8tbWF0aWMgbXVsdGlsaWIgbGlidG9v bCBhdXRvdG9vbHMgZXV0aWxzJwpJTlBVVF9ERVZJQ0VTPSdrZXlib2FyZCBtb3VzZSBldmRl dicKSU5TREVTVFRSRUU9CklOU09QVElPTlM9LW0wNjQ0CklVU0U9JCdcblx0dmlkZW9fY2Fy ZHNfaW50ZWxcblx0dmlkZW9fY2FyZHNfbWFjaDY0XG5cdHZpZGVvX2NhcmRzX21nYVxuXHR2 aWRlb19jYXJkc19ub25lXG5cdHZpZGVvX2NhcmRzX3IxMjhcblx0dmlkZW9fY2FyZHNfcmFk ZW9uXG5cdHZpZGVvX2NhcmRzX3JhZGVvbmhkXG5cdHZpZGVvX2NhcmRzX3MzdmlyZ2Vcblx0 dmlkZW9fY2FyZHNfc2F2YWdlXG5cdHZpZGVvX2NhcmRzX3Npc1xuXHR2aWRlb19jYXJkc19z dW5mZmJcblx0dmlkZW9fY2FyZHNfdGRmeFxuXHR2aWRlb19jYXJkc190cmlkZW50XG5cdHZp ZGVvX2NhcmRzX3ZpYSBcblx0ZGVidWcgZG9jIG1vdGlmIG5wdGwgcGljIHhjYiBrZXJuZWxf RnJlZUJTRCAnCklVU0VfVklERU9fQ0FSRFM9JCdcblx0dmlkZW9fY2FyZHNfaW50ZWxcblx0 dmlkZW9fY2FyZHNfbWFjaDY0XG5cdHZpZGVvX2NhcmRzX21nYVxuXHR2aWRlb19jYXJkc19u b25lXG5cdHZpZGVvX2NhcmRzX3IxMjhcblx0dmlkZW9fY2FyZHNfcmFkZW9uXG5cdHZpZGVv X2NhcmRzX3JhZGVvbmhkXG5cdHZpZGVvX2NhcmRzX3MzdmlyZ2Vcblx0dmlkZW9fY2FyZHNf c2F2YWdlXG5cdHZpZGVvX2NhcmRzX3Npc1xuXHR2aWRlb19jYXJkc19zdW5mZmJcblx0dmlk ZW9fY2FyZHNfdGRmeFxuXHR2aWRlb19jYXJkc190cmlkZW50XG5cdHZpZGVvX2NhcmRzX3Zp YScKSkFWQUM9L2V0Yy9qYXZhLWNvbmZpZy0yL2N1cnJlbnQtc3lzdGVtLXZtL2Jpbi9qYXZh YwpKQVZBX0hPTUU9L2V0Yy9qYXZhLWNvbmZpZy0yL2N1cnJlbnQtc3lzdGVtLXZtCkpES19I T01FPS9ldGMvamF2YS1jb25maWctMi9jdXJyZW50LXN5c3RlbS12bQpLRVJORUw9bGludXgK S0VSTkVMX0FCST1kZWZhdWx0CktFWVdPUkRTPSd+YWxwaGEgfmFtZDY0IH5hcm0gfmhwcGEg fmlhNjQgfm1pcHMgfnBwYyB+cHBjNjQgfnNoIH5zcGFyYyB+eDg2IH54ODYtZmJzZCcKS1Y9 Mi42LjMwLWdlbnRvby1yMQpMQ0RfREVWSUNFUz0nYmF5cmFkIGNmb250eiBjZm9udHo2MzMg Z2xrIGhkNDQ3ODAgbGIyMTYgbGNkbTAwMSBtdHhvcmIgbmN1cnNlcyB0ZXh0JwpMREZMQUdT PS1XbCwtTzEKTERGTEFHU19kZWZhdWx0PQpMSUJESVJfZGVmYXVsdD1saWIKTElCT1BUSU9O Uz0tbTA2NDQKTElDRU5TRT1MR1BMLTIKTElOR1VBUz1ydQpNQUtFT1BUUz0tajQKTVVMVElM SUJfQUJJUz1kZWZhdWx0Ck1ZX1A9TWVzYS03LjQuMgpNWV9QTj1NZXNhCk1ZX1NSQ19QPU1l c2FMaWItNy40LjIKTkVUQkVBTlM9J2FwaXN1cHBvcnQgY25kIGdyb292eSBnc2YgaGFybmVz cyBpZGUgaWRlbnRpdHkgajJlZSBqYXZhIG1vYmlsaXR5IG5iIHBocCBwcm9maWxlciBzb2Eg dmlzdWFsd2ViIHdlYmNvbW1vbiB3ZWJzdmNjb21tb24geG1sJwpPUEVOR0xfRElSPXhvcmct eDExCk9QRU5HTF9QUk9GSUxFPXhvcmcteDExCk9SQklUX1NPQ0tFVERJUj0vdG1wL29yYml0 LWJhc2lsaW8KUERFUEVORD0nPj1tZWRpYS1saWJzL2dsZXctMS41LjEgJwpQS0dfQ09ORklH X1BBVEg9L3Vzci9xdC8zL2xpYi9wa2djb25maWcKUE9SVEFHRV9DT01QUkVTU19FWENMVURF X1NVRkZJWEVTPSdjc3MgZ2lmIGh0bVtsXT8ganBbZV0/ZyBqcyBwZGYgcG5nJwpQUk9GSUxF X09OTFlfVkFSSUFCTEVTPSdBUkNIIEVMSUJDIEtFUk5FTCBVU0VSTEFORCcKUFJPUEVSVElF Uz0KUFJPVklERT0KUU1BS0VTUEVDPWxpbnV4LWcrKwpRVERJUj0vdXNyL3F0LzMKUkRFUEVO RD0kJyE8PXgxMS1iYXNlL3hvcmcteDExLTYuOVxuXHQhPD14MTEtcHJvdG8veGY4NmRyaXBy b3RvLTIuMC4zXG5cdGFwcC1hZG1pbi9lc2VsZWN0LW9wZW5nbFxuXHRkZXYtbGlicy9leHBh dFxuXHQ+PXgxMS1saWJzL2xpYmRybS0yLjQuNlxuXHR4MTEtbGlicy9saWJJQ0Vcblx0eDEx LWxpYnMvbGliWDExW3hjYj9dXG5cdHgxMS1saWJzL2xpYlhkYW1hZ2Vcblx0eDExLWxpYnMv bGliWGV4dFxuXHR4MTEtbGlicy9saWJYaVxuXHR4MTEtbGlicy9saWJYbXVcblx0eDExLWxp YnMvbGliWHhmODZ2bVxuXHRtb3RpZj8gKCB4MTEtbGlicy9vcGVubW90aWYgKVxuXHRkb2M/ ICggYXBwLWRvYy9vcGVuZ2wtbWFucGFnZXMgKVxuICAnClJFU1RSSUNUPQpTPS92YXIvdG1w L3BvcnRhZ2UvbWVkaWEtbGlicy9tZXNhLTcuNC4yL3dvcmsvTWVzYS03LjQuMgpTQU5EQk9Y X0RFQlVHPTAKU0FOREJPWF9ERU5ZPQpTQU5EQk9YX1BJRD04OTA1ClNBTkRCT1hfUFJFRElD VD0vZGV2L2NvbnNvbGU6L2Rldi9jcnlwdG86L2Rldi9yYW5kb206L3Byb2Mvc2VsZi9tYXBz Oi92YXIvdG1wL3BvcnRhZ2UvbWVkaWEtbGlicy9tZXNhLTcuNC4yL2hvbWVkaXIKU0FOREJP WF9SRUFEPS86L2Rldi9zaG06L2Rldi9zdGRpbjovdmFyL3RtcApTQU5EQk9YX1ZFUkJPU0U9 MQpTQU5EQk9YX1dSSVRFPTovZGV2L2NvbnNvbGU6L2Rldi9mZDovZGV2L2Z1bGw6L2Rldi9u dWxsOi9kZXYvcHRzLzovZGV2L3B0eTovZGV2L3NobTovZGV2L3N0ZGVycjovZGV2L3N0ZG91 dDovZGV2L3R0czovZGV2L3R0eTovZGV2L3ZjLzovZGV2L3plcm86L3Byb2Mvc2VsZi9mZDov dG1wLzovdXNyL2xpYi9jZjovdXNyL2xpYi9jb25mdGVzdDovdXNyL2xpYjMyL2NmOi91c3Iv bGliMzIvY29uZnRlc3Q6L3Vzci9saWI2NC9jZjovdXNyL2xpYjY0L2NvbmZ0ZXN0Oi91c3Iv dG1wL2NmOi91c3IvdG1wL2NvbmZ0ZXN0Oi92YXIvdG1wOi92YXIvdG1wLzovdmFyL3RtcC9w b3J0YWdlL21lZGlhLWxpYnMvbWVzYS03LjQuMi9ob21lZGlyLy5iYXNoX2hpc3RvcnkKU0VT U0lPTl9NQU5BR0VSPWxvY2FsL3F1YWQ6QC90bXAvLklDRS11bml4LzM0MzAsdW5peC9xdWFk Oi90bXAvLklDRS11bml4LzM0MzAKU0xPVD0wClNSQ19VUkk9JCdtaXJyb3I6Ly9zb3VyY2Vm b3JnZS9tZXNhM2QvTWVzYUxpYi03LjQuMi50YXIuYnoyXG5cdFx0JwpVU0U9J2VsaWJjX2ds aWJjIGtlcm5lbF9saW51eCBucHRsIHVzZXJsYW5kX0dOVSB2aWRlb19jYXJkc19yYWRlb25o ZCB4ODYgeGNiJwpVU0VSTEFORD1HTlUKVklERU9fQ0FSRFM9cmFkZW9uaGQKVk1IQU5ETEU9 YmxhY2tkb3duLWpkay0xLjQuMgpXQU5UX0FVVE9DT05GPTIuNQpXQU5UX0FVVE9NQUtFPTEu MTAKV0lORE9XSUQ9MjcyNjMwMTcKV0lORE9XUEFUSD03ClhER19DT05GSUdfRElSUz0vZXRj L3hkZwpYREdfREFUQV9ESVJTPS91c3IvbG9jYWwvc2hhcmU6L3Vzci9rZGUvMy41L3NoYXJl Oi91c3Ivc2hhcmU6L3Vzci9zaGFyZS9nZG0KXz1QS0dfSU5TVEFMTF9NQVNLCl9FX0RPQ0RF U1RUUkVFXz0KX0VfRVhFREVTVFRSRUVfPQpfX19FQ0xBU1NfUkVDVVJfTVVMVElMSUI9eWVz Cl9fX0VDTEFTU19SRUNVUl9UT09MQ0hBSU5fRlVOQ1M9eWVzCl9waXBlc3RhdHVzPScwIDAn CmNvbmY9bWVzYS03LjQuMi1yMAppPXIzMDAKRUxUX2ZpbmRfbHRtYWluX3NoICgpIAp7IAog ICAgbG9jYWwgeD07CiAgICBsb2NhbCBkaXJsaXN0PTsKICAgIGZvciB4IGluICQoZmluZCAi JHtTfSIgLW5hbWUgJ2x0bWFpbi5zaCcpOwogICAgZG8KICAgICAgICBkaXJsaXN0PSIke2Rp cmxpc3R9ICR7eCUvKn0iOwogICAgZG9uZTsKICAgIGVjaG8gIiR7ZGlybGlzdH0iCn0KRUxU X2xpYnRvb2xfdmVyc2lvbiAoKSAKeyAKICAgIGxvY2FsIGx0bWFpbl9zaD0kMTsKICAgIGxv Y2FsIHZlcnNpb249OwogICAgdmVyc2lvbj0kKGV2YWwgJChncmVwIC1lICdeW1s6c3BhY2U6 XV0qVkVSU0lPTj0nICIke2x0bWFpbl9zaH0iKTsgCSAgICAgICAgICAgICAgICAgZWNobyAi JHtWRVJTSU9OfSIpOwogICAgW1sgLXogJHt2ZXJzaW9ufSBdXSAmJiB2ZXJzaW9uPSIwIjsK ICAgIGVjaG8gIiR7dmVyc2lvbn0iCn0KRUxUX3RyeV9hbmRfYXBwbHlfcGF0Y2ggKCkgCnsg CiAgICBsb2NhbCByZXQ9MDsKICAgIGxvY2FsIGZpbGU9JDE7CiAgICBsb2NhbCBwYXRjaD0k MjsKICAgIGlmIHBhdGNoIC1wMCAtLWRyeS1ydW4gIiR7ZmlsZX0iICIke3BhdGNofSIgJj4i JHtUfS9lbGlidG9vbC5sb2ciOyB0aGVuCiAgICAgICAgZWluZm8gIiAgQXBwbHlpbmcgJChi YXNlbmFtZSAiJChkaXJuYW1lICIke3BhdGNofSIpIiktJHtwYXRjaCMjKi99LnBhdGNoIC4u LiI7CiAgICAgICAgcGF0Y2ggLXAwIC1nMCAtLW5vLWJhY2t1cC1pZi1taXNtYXRjaCAiJHtm aWxlfSIgIiR7cGF0Y2h9IiAmPiIke1R9L2VsaWJ0b29sLmxvZyI7CiAgICAgICAgcmV0PSQ/ OwogICAgICAgIGV4cG9ydCBFTFRfQVBQTElFRF9QQVRDSEVTPSIke0VMVF9BUFBMSUVEX1BB VENIRVN9ICR7cGF0Y2gjIyovfSI7CiAgICBlbHNlCiAgICAgICAgcmV0PTE7CiAgICBmaTsK ICAgIHJldHVybiAiJHtyZXR9Igp9CkVMVF93YWxrX3BhdGNoZXMgKCkgCnsgCiAgICBsb2Nh bCB4PTsKICAgIGxvY2FsIHk9OwogICAgbG9jYWwgcmV0PTE7CiAgICBsb2NhbCBmaWxlPSQx OwogICAgbG9jYWwgcGF0Y2hfc2V0PSQyOwogICAgbG9jYWwgcGF0Y2hfZGlyPTsKICAgIGxv Y2FsIHJlbV9pbnRfZGVwPSQzOwogICAgaWYgW1sgLW4gJHtwYXRjaF9zZXR9IF1dOyB0aGVu CiAgICAgICAgaWYgW1sgLWQgJHtFTFRfUEFUQ0hfRElSfS8ke3BhdGNoX3NldH0gXV07IHRo ZW4KICAgICAgICAgICAgcGF0Y2hfZGlyPSIke0VMVF9QQVRDSF9ESVJ9LyR7cGF0Y2hfc2V0 fSI7CiAgICAgICAgZWxzZQogICAgICAgICAgICByZXR1cm4gIiR7cmV0fSI7CiAgICAgICAg Zmk7CiAgICAgICAgZm9yIHggaW4gJChscyAtZCAiJHtwYXRjaF9kaXJ9Ii8qIDI+IC9kZXYv bnVsbCB8IGdyZXAgLXYgJ0NWUycgfCBzb3J0IC1yKTsKICAgICAgICBkbwogICAgICAgICAg ICBpZiBbWyAtbiAke3h9ICYmIC1mICR7eH0gXV07IHRoZW4KICAgICAgICAgICAgICAgIGlm IFtbIC1uICR7cmVtX2ludF9kZXB9IF1dOyB0aGVuCiAgICAgICAgICAgICAgICAgICAgc2Vk IC1lICJzfEBSRU1fSU5UX0RFUEB8JHtyZW1faW50X2RlcH18ZyIgJHt4fSA+ICIke1R9LyQk LnJlbV9pbnRfZGVwcy5wYXRjaCI7CiAgICAgICAgICAgICAgICAgICAgeD0iJHtUfS8kJC5y ZW1faW50X2RlcHMucGF0Y2giOwogICAgICAgICAgICAgICAgZmk7CiAgICAgICAgICAgICAg ICBpZiBFTFRfdHJ5X2FuZF9hcHBseV9wYXRjaCAiJHtmaWxlfSIgIiR7eH0iOyB0aGVuCiAg ICAgICAgICAgICAgICAgICAgcmV0PTA7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAg ICAgICAgICAgICAgICBmaTsKICAgICAgICAgICAgZmk7CiAgICAgICAgZG9uZTsKICAgIGZp OwogICAgcmV0dXJuICIke3JldH0iCn0KVkVSX21ham9yICgpIAp7IAogICAgW1sgLXogJDEg XV0gJiYgcmV0dXJuIDE7CiAgICBsb2NhbCBWRVI9JEA7CiAgICBlY2hvICIke1ZFUiUlW15b OmRpZ2l0Ol1dKn0iCn0KVkVSX21pY3JvICgpIAp7IAogICAgW1sgLXogJDEgXV0gJiYgcmV0 dXJuIDE7CiAgICBsb2NhbCBWRVI9JEA7CiAgICBWRVI9JHtWRVIjKi4qLn07CiAgICBlY2hv ICIke1ZFUiUlW15bOmRpZ2l0Ol1dKn0iCn0KVkVSX21pbm9yICgpIAp7IAogICAgW1sgLXog JDEgXV0gJiYgcmV0dXJuIDE7CiAgICBsb2NhbCBWRVI9JEA7CiAgICBWRVI9JHtWRVIjKi59 OwogICAgZWNobyAiJHtWRVIlJVteWzpkaWdpdDpdXSp9Igp9ClZFUl90b19pbnQgKCkgCnsg CiAgICBbWyAteiAkMSBdXSAmJiByZXR1cm4gMTsKICAgIGxvY2FsIFZFUl9NQUpPUj0kKFZF Ul9tYWpvciAiJDEiKTsKICAgIGxvY2FsIFZFUl9NSU5PUj0kKFZFUl9taW5vciAiJDEiKTsK ICAgIGxvY2FsIFZFUl9NSUNSTz0kKFZFUl9taWNybyAiJDEiKTsKICAgIGxvY2FsIFZFUl9p bnQ9JCgoIFZFUl9NQUpPUiAqIDY1NTM2ICsgVkVSX01JTk9SICogMjU2ICsgVkVSX01JQ1JP ICkpOwogICAgaWYgW1sgJHtWRVJfaW50fSAtZ2UgNjU1MzYgXV07IHRoZW4KICAgICAgICBl Y2hvICIke1ZFUl9pbnR9IjsKICAgICAgICByZXR1cm4gMDsKICAgIGZpOwogICAgZWNobyAx OwogICAgcmV0dXJuIDEKfQpfY2Ryb21fbG9jYXRlX2ZpbGVfb25fY2QgKCkgCnsgCiAgICBs b2NhbCBtbGluZT0iIjsKICAgIGxvY2FsIHNob3dlZG1zZz0wIHNob3dqb2xpZXRtc2c9MDsK ICAgIHdoaWxlIFtbIC16ICR7Q0RST01fUk9PVH0gXV07IGRvCiAgICAgICAgbG9jYWwgaT0w OwogICAgICAgIGxvY2FsIC1hIGNkc2V0PSgkeyovLzovIH0pOwogICAgICAgIGlmIFtbIC1u ICR7Q0RST01fU0VUfSBdXTsgdGhlbgogICAgICAgICAgICBjZHNldD0oJHtjZHNldFske0NE Uk9NX1NFVH1dfSk7CiAgICAgICAgZmk7CiAgICAgICAgd2hpbGUgW1sgLW4gJHtjZHNldFsk e2l9XX0gXV07IGRvCiAgICAgICAgICAgIGxvY2FsIGRpcj0kKGRpcm5hbWUgJHtjZHNldFsk e2l9XX0pOwogICAgICAgICAgICBsb2NhbCBmaWxlPSQoYmFzZW5hbWUgJHtjZHNldFske2l9 XX0pOwogICAgICAgICAgICBsb2NhbCBwb2ludD0gbm9kZT0gZnM9IGZvbz07CiAgICAgICAg ICAgIHdoaWxlIHJlYWQgcG9pbnQgbm9kZSBmcyBmb287IGRvCiAgICAgICAgICAgICAgICBb WyAiIGNkOTY2MCBpc285NjYwIHVkZiAiICE9ICoiICR7ZnN9ICIqIF1dICYmICEgW1sgJHtm c30gPT0gInN1YmZzIiAmJiAiLCR7b3B0c30sIiA9PSAqIixmcz1jZGZzcywiKiBdXSAmJiBj b250aW51ZTsKICAgICAgICAgICAgICAgIHBvaW50PSR7cG9pbnQvL1wwNDAvIH07CiAgICAg ICAgICAgICAgICBbWyAhIC1kICR7cG9pbnR9LyR7ZGlyfSBdXSAmJiBjb250aW51ZTsKICAg ICAgICAgICAgICAgIFtbIC16ICQoZmluZCAiJHtwb2ludH0vJHtkaXJ9IiAtbWF4ZGVwdGgg MSAtaW5hbWUgIiR7ZmlsZX0iKSBdXSAmJiBjb250aW51ZTsKICAgICAgICAgICAgICAgIGV4 cG9ydCBDRFJPTV9ST09UPSR7cG9pbnR9OwogICAgICAgICAgICAgICAgZXhwb3J0IENEUk9N X1NFVD0ke2l9OwogICAgICAgICAgICAgICAgZXhwb3J0IENEUk9NX01BVENIPSR7Y2RzZXRb JHtpfV19OwogICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICBkb25lIDw8PCAi JChnZXRfbW91bnRzKSI7CiAgICAgICAgICAgICgoKytpKSk7CiAgICAgICAgZG9uZTsKICAg ICAgICBlY2hvOwogICAgICAgIGlmIFtbICR7c2hvd2VkbXNnfSAtZXEgMCBdXTsgdGhlbgog ICAgICAgICAgICBpZiBbWyAke0NEUk9NX1RPVEFMX0NEU30gLWVxIDEgXV07IHRoZW4KICAg ICAgICAgICAgICAgIGlmIFtbIC16ICR7Q0RST01fTkFNRX0gXV07IHRoZW4KICAgICAgICAg ICAgICAgICAgICBlaW5mbyAiUGxlYXNlIGluc2VydCttb3VudCB0aGUgY2Ryb20gZm9yICR7 UE59IG5vdyAhIjsKICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICBl aW5mbyAiUGxlYXNlIGluc2VydCttb3VudCB0aGUgJHtDRFJPTV9OQU1FfSBjZHJvbSBub3cg ISI7CiAgICAgICAgICAgICAgICBmaTsKICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAg ICAgaWYgW1sgLXogJHtDRFJPTV9OQU1FXzF9IF1dOyB0aGVuCiAgICAgICAgICAgICAgICAg ICAgZWluZm8gIlBsZWFzZSBpbnNlcnQrbW91bnQgY2QgIyR7Q0RST01fQ1VSUkVOVF9DRH0g Zm9yICR7UE59IG5vdyAhIjsKICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAg ICAgICBsb2NhbCB2YXI9IkNEUk9NX05BTUVfJHtDRFJPTV9DVVJSRU5UX0NEfSI7CiAgICAg ICAgICAgICAgICAgICAgZWluZm8gIlBsZWFzZSBpbnNlcnQrbW91bnQgdGhlICR7IXZhcn0g Y2Ryb20gbm93ICEiOwogICAgICAgICAgICAgICAgZmk7CiAgICAgICAgICAgIGZpOwogICAg ICAgICAgICBzaG93ZWRtc2c9MTsKICAgICAgICBmaTsKICAgICAgICBlaW5mbyAiUHJlc3Mg cmV0dXJuIHRvIHNjYW4gZm9yIHRoZSBjZCBhZ2FpbiI7CiAgICAgICAgZWluZm8gIm9yIGhp dCBDVFJMK0MgdG8gYWJvcnQgdGhlIGVtZXJnZS4iOwogICAgICAgIGVjaG87CiAgICAgICAg aWYgW1sgJHtzaG93am9saWV0bXNnfSAtZXEgMCBdXTsgdGhlbgogICAgICAgICAgICBzaG93 am9saWV0bXNnPTE7CiAgICAgICAgZWxzZQogICAgICAgICAgICBld2FybiAiSWYgeW91IGFy ZSBoYXZpbmcgdHJvdWJsZSB3aXRoIHRoZSBkZXRlY3Rpb24iOwogICAgICAgICAgICBld2Fy biAib2YgeW91ciBDRCwgaXQgaXMgcG9zc2libGUgdGhhdCB5b3UgZG8gbm90IGhhdmUiOwog ICAgICAgICAgICBld2FybiAiSm9saWV0IHN1cHBvcnQgZW5hYmxlZCBpbiB5b3VyIGtlcm5l bC4gIFBsZWFzZSI7CiAgICAgICAgICAgIGV3YXJuICJjaGVjayB0aGF0IENPTkZJR19KT0xJ RVQgaXMgZW5hYmxlZCBpbiB5b3VyIGtlcm5lbC4iOwogICAgICAgICAgICBlYmVlcCA1Owog ICAgICAgIGZpOwogICAgICAgIHJlYWQgfHwgZGllICJzb21ldGhpbmcgaXMgc2NyZXdlZCB3 aXRoIHlvdXIgc3lzdGVtIjsKICAgIGRvbmUKfQpfZWxpYnRvb2xpemUgKCkgCnsgCiAgICBs b2NhbCBvcHRzIGc9OwogICAgW1sgLW4gJChhdXRvdG9vbHNfY2hlY2tfbWFjcm8gQUNfUFJP R19MSUJUT09MIEFNX1BST0dfTElCVE9PTCBMVF9JTklUKSBdXSB8fCByZXR1cm4gMDsKICAg IFtbIC1mIEdOVW1ha2VmaWxlLmFtIHx8IC1mIE1ha2VmaWxlLmFtIF1dICYmIG9wdHM9Ii0t YXV0b21ha2UiOwogICAgW1sgJHtDSE9TVH0gPT0gKi1kYXJ3aW4qIF1dICYmIGc9ZzsKICAg IGF1dG90b29sc19ydW5fdG9vbCAke0xJQlRPT0xJWkU6LSR7Z31saWJ0b29saXplfSAiJEAi ICR7b3B0c307CiAgICBlYWNsb2NhbAp9Cl9maWx0ZXItaGFyZGVuZWQgKCkgCnsgCiAgICBs b2NhbCBmOwogICAgZm9yIGYgaW4gIiRAIjsKICAgIGRvCiAgICAgICAgY2FzZSAiJHtmfSIg aW4gCiAgICAgICAgICAgIC1mUElDIHwgLWZwaWMgfCAtZlBJRSB8IC1mcGllIHwgLVdsLHBp ZSB8IC1waWUpCiAgICAgICAgICAgICAgICBnY2Mtc3BlY3MtcGllIHx8IGNvbnRpbnVlOwog ICAgICAgICAgICAgICAgaXMtZmxhZ3EgLW5vcGllIHx8IGFwcGVuZC1mbGFncyAtbm9waWUK ICAgICAgICAgICAgOzsKICAgICAgICAgICAgLWZzdGFjay1wcm90ZWN0b3IpCiAgICAgICAg ICAgICAgICBnY2Mtc3BlY3Mtc3NwIHx8IGNvbnRpbnVlOwogICAgICAgICAgICAgICAgaXMt ZmxhZ3EgLWZuby1zdGFjay1wcm90ZWN0b3IgfHwgYXBwZW5kLWZsYWdzICQodGVzdC1mbGFn cyAtZm5vLXN0YWNrLXByb3RlY3RvcikKICAgICAgICAgICAgOzsKICAgICAgICAgICAgLWZz dGFjay1wcm90ZWN0b3ItYWxsKQogICAgICAgICAgICAgICAgZ2NjLXNwZWNzLXNzcC10by1h bGwgfHwgY29udGludWU7CiAgICAgICAgICAgICAgICBpcy1mbGFncSAtZm5vLXN0YWNrLXBy b3RlY3Rvci1hbGwgfHwgYXBwZW5kLWZsYWdzICQodGVzdC1mbGFncyAtZm5vLXN0YWNrLXBy b3RlY3Rvci1hbGwpCiAgICAgICAgICAgIDs7CiAgICAgICAgICAgIC1mbm8tc3RyaWN0LW92 ZXJmbG93KQogICAgICAgICAgICAgICAgZ2NjLXNwZWNzLW5vc3RyaWN0IHx8IGNvbnRpbnVl OwogICAgICAgICAgICAgICAgaXMtZmxhZ3EgLWZzdHJpY3Qtb3ZlcmZsb3cgfHwgYXBwZW5k LWZsYWdzICQodGVzdC1mbGFncyAtZnN0cmljdC1vdmVyZmxvdykKICAgICAgICAgICAgOzsK ICAgICAgICBlc2FjOwogICAgZG9uZQp9Cl9maWx0ZXItdmFyICgpIAp7IAogICAgbG9jYWwg ZiB4IFZBUiBWQUw7CiAgICBkZWNsYXJlIC1hIG5ldzsKICAgIFZBUj0kMTsKICAgIHNoaWZ0 OwogICAgZXZhbCBWQUw9XCR7JHtWQVJ9fTsKICAgIGZvciBmIGluICR7VkFMfTsKICAgIGRv CiAgICAgICAgZm9yIHggaW4gIiRAIjsKICAgICAgICBkbwogICAgICAgICAgICBbWyAke2Z9 ID09ICR7eH0gXV0gJiYgY29udGludWUgMjsKICAgICAgICBkb25lOwogICAgICAgIGV2YWwg bmV3XFtcJHtcI25ld1xbQF19XT1cJHtmfTsKICAgIGRvbmU7CiAgICBldmFsIGV4cG9ydCAk e1ZBUn09XCR7bmV3XFsqXX0KfQpfZ2NjLWluc3RhbGwtZGlyICgpIAp7IAogICAgZWNobyAi JChMQ19BTEw9QyAkKHRjLWdldENDKSAtcHJpbnQtc2VhcmNoLWRpcnMgMj4gL2Rldi9udWxs IHwJCWF3ayAnJDE9PSJpbnN0YWxsOiIge3ByaW50ICQyfScpIgp9Cl9nY2Mtc3BlY3MtZGly ZWN0aXZlX3JhdyAoKSAKeyAKICAgIGxvY2FsIGNjPSQodGMtZ2V0Q0MpOwogICAgbG9jYWwg c3BlY2ZpbGVzPSQoTENfQUxMPUMgJHtjY30gLXYgMj4mMSB8IGF3ayAnJDE9PSJSZWFkaW5n IiB7cHJpbnQgJE5GfScpOwogICAgJHtjY30gLWR1bXBzcGVjcyAyPiAvZGV2L251bGwgfCBj YXQgLSAke3NwZWNmaWxlc30gfCBhd2sgLXYgZGlyZWN0aXZlPSQxICdCRUdJTgl7IHBzcGVj PSIiOyBzcGVjPSIiOyBvdXRzaWRlPTEgfQokMT09IioiZGlyZWN0aXZlIjoiICB7IHBzcGVj PXNwZWM7IHNwZWM9IiI7IG91dHNpZGU9MDsgbmV4dCB9CglvdXRzaWRlIHx8IE5GPT0wIHx8 ICggc3Vic3RyKCQxLDEsMSk9PSIqIiAmJiBzdWJzdHIoJDEsbGVuZ3RoKCQxKSwxKT09Ijoi ICkgeyBvdXRzaWRlPTE7IG5leHQgfQoJc3BlYz09IiIgJiYgc3Vic3RyKCQwLDEsMSk9PSIr IiB7IHNwZWM9cHNwZWMgIiAiIHN1YnN0cigkMCwyKTsgbmV4dCB9Cgl7IHNwZWM9c3BlYyAk MCB9CkVORAl7IHByaW50IHNwZWMgfSc7CiAgICByZXR1cm4gMAp9Cl9nY2Mtc3BlY3MtZXhp c3RzICgpIAp7IAogICAgW1sgLWYgJChfZ2NjLWluc3RhbGwtZGlyKS8kMSBdXQp9Cl9pc19m bGFncSAoKSAKeyAKICAgIGxvY2FsIHg7CiAgICBmb3IgeCBpbiAkeyExfTsKICAgIGRvCiAg ICAgICAgW1sgJHt4fSA9PSAkMiBdXSAmJiByZXR1cm4gMDsKICAgIGRvbmU7CiAgICByZXR1 cm4gMQp9Cl91bnBhY2tfdGFyICgpIAp7IAogICAgaWYgWyAiJHt5fSIgPT0gInRhciIgXTsg dGhlbgogICAgICAgICQxIC1kYyAiJHNyY2RpciR4IiB8IHRhciB4b2YgLTsKICAgICAgICBf cGlwZXN0YXR1cz0iJHtQSVBFU1RBVFVTWypdfSI7CiAgICAgICAgW1sgIiR7X3BpcGVzdGF0 dXMvLyAvfSIgLWVxIDAgXV0gfHwgZGllICIkbXlmYWlsIjsKICAgIGVsc2UKICAgICAgICAk MSAtZGMgIiR7c3JjZGlyfSR7eH0iID4gJHt4JS4qfSB8fCBkaWUgIiRteWZhaWwiOwogICAg ZmkKfQphcHBlbmQtY2ZsYWdzICgpIAp7IAogICAgW1sgLXogJCogXV0gJiYgcmV0dXJuIDA7 CiAgICBleHBvcnQgQ0ZMQUdTPSIke0NGTEFHU30gJCoiOwogICAgcmV0dXJuIDAKfQphcHBl bmQtY3BwZmxhZ3MgKCkgCnsgCiAgICBbWyAteiAkKiBdXSAmJiByZXR1cm4gMDsKICAgIGV4 cG9ydCBDUFBGTEFHUz0iJHtDUFBGTEFHU30gJCoiOwogICAgcmV0dXJuIDAKfQphcHBlbmQt Y3h4ZmxhZ3MgKCkgCnsgCiAgICBbWyAteiAkKiBdXSAmJiByZXR1cm4gMDsKICAgIGV4cG9y dCBDWFhGTEFHUz0iJHtDWFhGTEFHU30gJCoiOwogICAgcmV0dXJuIDAKfQphcHBlbmQtZmZs YWdzICgpIAp7IAogICAgW1sgLXogJCogXV0gJiYgcmV0dXJuIDA7CiAgICBleHBvcnQgRkZM QUdTPSIke0ZGTEFHU30gJCoiOwogICAgZXhwb3J0IEZDRkxBR1M9IiR7RkNGTEFHU30gJCoi OwogICAgcmV0dXJuIDAKfQphcHBlbmQtZmxhZ3MgKCkgCnsgCiAgICBbWyAteiAkKiBdXSAm JiByZXR1cm4gMDsKICAgIGFwcGVuZC1jZmxhZ3MgIiRAIjsKICAgIGFwcGVuZC1jeHhmbGFn cyAiJEAiOwogICAgYXBwZW5kLWZmbGFncyAiJEAiOwogICAgcmV0dXJuIDAKfQphcHBlbmQt bGRmbGFncyAoKSAKeyAKICAgIFtbIC16ICQqIF1dICYmIHJldHVybiAwOwogICAgbG9jYWwg ZmxhZzsKICAgIGZvciBmbGFnIGluICIkQCI7CiAgICBkbwogICAgICAgIFtbICR7ZmxhZ30g PT0gLWwqIF1dICYmIGV3YXJuICJBcHBlbmRpbmcgYSBsaWJyYXJ5IGxpbmsgaW5zdHJ1Y3Rp b24gKCR7ZmxhZ30pOyBsaWJyYXJpZXMgdG8gbGluayB0byBzaG91bGQgbm90IGJlIHBhc3Nl ZCB0aHJvdWdoIExERkxBR1MiOwogICAgZG9uZTsKICAgIGV4cG9ydCBMREZMQUdTPSIke0xE RkxBR1N9ICQqIjsKICAgIHJldHVybiAwCn0KYXBwZW5kLWxmcy1mbGFncyAoKSAKeyAKICAg IFtbIC1uICRAIF1dICYmIGRpZSAiYXBwZW5kLWxmcy1mbGFncyB0YWtlcyBubyBhcmd1bWVu dHMiOwogICAgYXBwZW5kLWNwcGZsYWdzIC1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQgLURfTEFS R0VGSUxFX1NPVVJDRSAtRF9MQVJHRUZJTEU2NF9TT1VSQ0UKfQphdXRvdG9vbHNfY2hlY2tf bWFjcm8gKCkgCnsgCiAgICBbWyAtZiBjb25maWd1cmUuYWMgfHwgLWYgY29uZmlndXJlLmlu IF1dIHx8IHJldHVybiAwOwogICAgbG9jYWwgbWFjcm87CiAgICBmb3IgbWFjcm8gaW4gIiRA IjsKICAgIGRvCiAgICAgICAgV0FOVF9BVVRPQ09ORj0iMi41IiBhdXRvY29uZiAtLXRyYWNl PSIke21hY3JvfSIgMj4gL2Rldi9udWxsOwogICAgZG9uZTsKICAgIHJldHVybiAwCn0KYXV0 b3Rvb2xzX2dldF9hdXhkaXIgKCkgCnsgCiAgICBsb2NhbCBhdXhkaXJfc2Nhbl9vdXQ7CiAg ICBhdXhkaXJfc2Nhbl9vdXQ9JChhdXRvdG9vbHNfY2hlY2tfbWFjcm8gIkFDX0NPTkZJR19B VVhfRElSIik7CiAgICBbWyAtbiAke2F1eGRpcl9zY2FuX291dH0gXV0gfHwgcmV0dXJuIDA7 CiAgICBlY2hvICR7YXV4ZGlyX3NjYW5fb3V0fSB8IGdhd2sgJygkMCAhfiAvXltbOnNwYWNl Ol1dKigjfGRubCkvKSB7CgkJaWYgKG1hdGNoKCQwLCAvQUNfQ09ORklHX0FVWF9ESVI6KC4q KSQvLCByZXMpKQoJCQlwcmludCByZXNbMV0KCX0nIHwgdW5pcTsKICAgIHJldHVybiAwCn0K YXV0b3Rvb2xzX2dldF9zdWJkaXJzICgpIAp7IAogICAgbG9jYWwgc3ViZGlyc19zY2FuX291 dDsKICAgIHN1YmRpcnNfc2Nhbl9vdXQ9JChhdXRvdG9vbHNfY2hlY2tfbWFjcm8gIkFDX0NP TkZJR19TVUJESVJTIik7CiAgICBbWyAtbiAke3N1YmRpcnNfc2Nhbl9vdXR9IF1dIHx8IHJl dHVybiAwOwogICAgZWNobyAiJHtzdWJkaXJzX3NjYW5fb3V0fSIgfCBnYXdrICcoJDAgIX4g L15bWzpzcGFjZTpdXSooI3xkbmwpLykgewoJCWlmIChtYXRjaCgkMCwgL0FDX0NPTkZJR19T VUJESVJTOiguKikkLywgcmVzKSkKCQkJcHJpbnQgcmVzWzFdCgl9JyB8IHVuaXE7CiAgICBy ZXR1cm4gMAp9CmF1dG90b29sc19ydW5fdG9vbCAoKSAKeyAKICAgIGlmIFtbICR7RUJVSUxE X1BIQVNFfSAhPSAidW5wYWNrIiAmJiAke0VCVUlMRF9QSEFTRX0gIT0gInByZXBhcmUiIF1d OyB0aGVuCiAgICAgICAgZXdhcm4gIlFBIFdhcm5pbmc6IHJ1bm5pbmcgJDEgaW4gJHtFQlVJ TERfUEhBU0V9IHBoYXNlIjsKICAgIGZpOwogICAgW1sgJHtXQU5UX0FVVE9NQUtFfSA9PSAi bGF0ZXN0IiBdXSAmJiBleHBvcnQgV0FOVF9BVVRPTUFLRT0xLjEwOwogICAgW1sgJHtXQU5U X0FVVE9DT05GfSA9PSAibGF0ZXN0IiBdXSAmJiBleHBvcnQgV0FOVF9BVVRPQ09ORj0yLjU7 CiAgICBsb2NhbCBTVERFUlJfVEFSR0VUPSIke1R9LyQxLm91dCI7CiAgICBpZiBbWyAtZSAk e1NUREVSUl9UQVJHRVR9IF1dOyB0aGVuCiAgICAgICAgU1RERVJSX1RBUkdFVD0iJHtUfS8k MS0kJC5vdXQiOwogICAgZmk7CiAgICBwcmludGYgIioqKioqICQxICoqKioqXG4qKioqKiBQ V0Q6ICR7UFdEfVxuKioqKiogJCpcblxuIiA+ICIke1NUREVSUl9UQVJHRVR9IjsKICAgIGVi ZWdpbiAiUnVubmluZyAkQCI7CiAgICAiJEAiID4+ICIke1NUREVSUl9UQVJHRVR9IiAyPiYx OwogICAgZWVuZCAkPzsKICAgIGlmIFtbICQ/ICE9IDAgJiYgJHtOT19GQUlMfSAhPSAxIF1d OyB0aGVuCiAgICAgICAgZWNobzsKICAgICAgICBlZXJyb3IgIkZhaWxlZCBSdW5uaW5nICQx ICEiOwogICAgICAgIGVlcnJvcjsKICAgICAgICBlZXJyb3IgIkluY2x1ZGUgaW4geW91ciBi dWdyZXBvcnQgdGhlIGNvbnRlbnRzIG9mOiI7CiAgICAgICAgZWVycm9yOwogICAgICAgIGVl cnJvciAiICAke1NUREVSUl9UQVJHRVR9IjsKICAgICAgICBlY2hvOwogICAgICAgIGRpZSAi RmFpbGVkIFJ1bm5pbmcgJDEgISI7CiAgICBmaQp9CmJpbmRub3ctZmxhZ3MgKCkgCnsgCiAg ICBld2FybiAiUUE6IHN0b3AgdXNpbmcgdGhlIGJpbmRub3ctZmxhZ3MgZnVuY3Rpb24gLi4u IHNpbXBseSBkcm9wIGl0IGZyb20geW91ciBlYnVpbGQiCn0KYnVpbHRfd2l0aF91c2UgKCkg CnsgCiAgICBsb2NhbCBoaWRkZW49Im5vIjsKICAgIGlmIFtbICQxID09ICItLWhpZGRlbiIg XV07IHRoZW4KICAgICAgICBoaWRkZW49InllcyI7CiAgICAgICAgc2hpZnQ7CiAgICBmaTsK ICAgIGxvY2FsIG1pc3NpbmdfYWN0aW9uPSJkaWUiOwogICAgaWYgW1sgJDEgPT0gIi0tbWlz c2luZyIgXV07IHRoZW4KICAgICAgICBtaXNzaW5nX2FjdGlvbj0kMjsKICAgICAgICBzaGlm dDsKICAgICAgICBzaGlmdDsKICAgICAgICBjYXNlICR7bWlzc2luZ19hY3Rpb259IGluIAog ICAgICAgICAgICB0cnVlIHwgZmFsc2UgfCBkaWUpCgogICAgICAgICAgICA7OwogICAgICAg ICAgICAqKQogICAgICAgICAgICAgICAgZGllICJ1bmtub3duIGFjdGlvbiAnJHttaXNzaW5n X2FjdGlvbn0nIgogICAgICAgICAgICA7OwogICAgICAgIGVzYWM7CiAgICBmaTsKICAgIGxv Y2FsIG9wdD0kMTsKICAgIFtbICR7b3B0OjA6MX0gPSAiLSIgXV0gJiYgc2hpZnQgfHwgb3B0 PSItYSI7CiAgICBsb2NhbCBQS0c9JChiZXN0X3ZlcnNpb24gJDEpOwogICAgW1sgLXogJHtQ S0d9IF1dICYmIGRpZSAiVW5hYmxlIHRvIHJlc29sdmUgJDEgdG8gYW4gaW5zdGFsbGVkIHBh Y2thZ2UiOwogICAgc2hpZnQ7CiAgICBsb2NhbCBVU0VGSUxFPSR7Uk9PVH0vdmFyL2RiL3Br Zy8ke1BLR30vVVNFOwogICAgbG9jYWwgSVVTRUZJTEU9JHtST09UfS92YXIvZGIvcGtnLyR7 UEtHfS9JVVNFOwogICAgaWYgW1sgISAtZSAke1VTRUZJTEV9IF1dIHx8IFtbICEgLWUgJHtJ VVNFRklMRX0gJiYgJHtoaWRkZW59ID09ICJubyIgXV07IHRoZW4KICAgICAgICBjYXNlICR7 bWlzc2luZ19hY3Rpb259IGluIAogICAgICAgICAgICB0cnVlKQogICAgICAgICAgICAgICAg cmV0dXJuIDAKICAgICAgICAgICAgOzsKICAgICAgICAgICAgZmFsc2UpCiAgICAgICAgICAg ICAgICByZXR1cm4gMQogICAgICAgICAgICA7OwogICAgICAgICAgICBkaWUpCiAgICAgICAg ICAgICAgICBkaWUgIlVuYWJsZSB0byBkZXRlcm1pbmUgd2hhdCBVU0UgZmxhZ3MgJFBLRyB3 YXMgYnVpbHQgd2l0aCIKICAgICAgICAgICAgOzsKICAgICAgICBlc2FjOwogICAgZmk7CiAg ICBpZiBbWyAke2hpZGRlbn0gPT0gIm5vIiBdXTsgdGhlbgogICAgICAgIGxvY2FsIElVU0Vf QlVJTFQ9KCQoPCIke0lVU0VGSUxFfSIpKTsKICAgICAgICBsb2NhbCBleHBhbmQ7CiAgICAg ICAgZm9yIGV4cGFuZCBpbiAkKGVjaG8gJHtVU0VfRVhQQU5EfSB8IHRyICdbOnVwcGVyOl0n ICdbOmxvd2VyOl0nKTsKICAgICAgICBkbwogICAgICAgICAgICBpZiBbWyAkMSA9PSAke2V4 cGFuZH1fKiBdXTsgdGhlbgogICAgICAgICAgICAgICAgZXhwYW5kPSIiOwogICAgICAgICAg ICAgICAgYnJlYWs7CiAgICAgICAgICAgIGZpOwogICAgICAgIGRvbmU7CiAgICAgICAgaWYg W1sgLW4gJHtleHBhbmR9IF1dOyB0aGVuCiAgICAgICAgICAgIGlmICEgaGFzICQxICR7SVVT RV9CVUlMVFtAXSNbLStdfTsgdGhlbgogICAgICAgICAgICAgICAgY2FzZSAke21pc3Npbmdf YWN0aW9ufSBpbiAKICAgICAgICAgICAgICAgICAgICB0cnVlKQogICAgICAgICAgICAgICAg ICAgICAgICByZXR1cm4gMAogICAgICAgICAgICAgICAgICAgIDs7CiAgICAgICAgICAgICAg ICAgICAgZmFsc2UpCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAxCiAgICAgICAg ICAgICAgICAgICAgOzsKICAgICAgICAgICAgICAgICAgICBkaWUpCiAgICAgICAgICAgICAg ICAgICAgICAgIGRpZSAiJFBLRyBkb2VzIG5vdCBhY3R1YWxseSBzdXBwb3J0IHRoZSAkMSBV U0UgZmxhZyEiCiAgICAgICAgICAgICAgICAgICAgOzsKICAgICAgICAgICAgICAgIGVzYWM7 CiAgICAgICAgICAgIGZpOwogICAgICAgIGZpOwogICAgZmk7CiAgICBsb2NhbCBVU0VfQlVJ TFQ9JCg8JHtVU0VGSUxFfSk7CiAgICB3aGlsZSBbWyAkIyAtZ3QgMCBdXTsgZG8KICAgICAg ICBpZiBbWyAke29wdH0gPSAiLW8iIF1dOyB0aGVuCiAgICAgICAgICAgIGhhcyAkMSAke1VT RV9CVUlMVH0gJiYgcmV0dXJuIDA7CiAgICAgICAgZWxzZQogICAgICAgICAgICBoYXMgJDEg JHtVU0VfQlVJTFR9IHx8IHJldHVybiAxOwogICAgICAgIGZpOwogICAgICAgIHNoaWZ0Owog ICAgZG9uZTsKICAgIFtbICR7b3B0fSA9ICItYSIgXV0KfQpjZHJvbV9nZXRfY2RzICgpIAp7 IAogICAgbG9jYWwgY2RjbnQ9MDsKICAgIGxvY2FsIGY9OwogICAgZm9yIGYgaW4gIiRAIjsK ICAgIGRvCiAgICAgICAgKCgrK2NkY250KSk7CiAgICAgICAgZXhwb3J0IENEUk9NX0NIRUNL XyR7Y2RjbnR9PSIkZiI7CiAgICBkb25lOwogICAgZXhwb3J0IENEUk9NX1RPVEFMX0NEUz0k e2NkY250fTsKICAgIGV4cG9ydCBDRFJPTV9DVVJSRU5UX0NEPTE7CiAgICBpZiBbWyAtbiAk e0NEX1JPT1R9JHtDRF9ST09UXzF9IF1dOyB0aGVuCiAgICAgICAgbG9jYWwgdmFyPTsKICAg ICAgICBjZGNudD0wOwogICAgICAgIHdoaWxlIFtbICR7Y2RjbnR9IC1sdCAke0NEUk9NX1RP VEFMX0NEU30gXV07IGRvCiAgICAgICAgICAgICgoKytjZGNudCkpOwogICAgICAgICAgICB2 YXI9IkNEX1JPT1RfJHtjZGNudH0iOwogICAgICAgICAgICBbWyAteiAkeyF2YXJ9IF1dICYm IHZhcj0iQ0RfUk9PVCI7CiAgICAgICAgICAgIGlmIFtbIC16ICR7IXZhcn0gXV07IHRoZW4K ICAgICAgICAgICAgICAgIGVlcnJvciAiWW91IG11c3QgZWl0aGVyIHVzZSBqdXN0IHRoZSBD RF9ST09UIjsKICAgICAgICAgICAgICAgIGVlcnJvciAib3Igc3BlY2lmeSBBTEwgdGhlIENE X1JPT1RfWCB2YXJpYWJsZXMuIjsKICAgICAgICAgICAgICAgIGVlcnJvciAiSW4gdGhpcyBj YXNlLCB5b3Ugd2lsbCBuZWVkICR7Q0RST01fVE9UQUxfQ0RTfSBDRF9ST09UX1ggdmFyaWFi bGVzLiI7CiAgICAgICAgICAgICAgICBkaWUgImNvdWxkIG5vdCBsb2NhdGUgQ0RfUk9PVF8k e2NkY250fSI7CiAgICAgICAgICAgIGZpOwogICAgICAgIGRvbmU7CiAgICAgICAgZXhwb3J0 IENEUk9NX1JPT1Q9JHtDRF9ST09UXzE6LSR7Q0RfUk9PVH19OwogICAgICAgIGVpbmZvICJG b3VuZCBDRCAjJHtDRFJPTV9DVVJSRU5UX0NEfSByb290IGF0ICR7Q0RST01fUk9PVH0iOwog ICAgICAgIGV4cG9ydCBDRFJPTV9TRVQ9LTE7CiAgICAgICAgZm9yIGYgaW4gJHtDRFJPTV9D SEVDS18xLy86LyB9OwogICAgICAgIGRvCiAgICAgICAgICAgICgoKytDRFJPTV9TRVQpKTsK ICAgICAgICAgICAgW1sgLWUgJHtDRF9ST09UfS8ke2Z9IF1dICYmIGJyZWFrOwogICAgICAg IGRvbmU7CiAgICAgICAgZXhwb3J0IENEUk9NX01BVENIPSR7Zn07CiAgICAgICAgcmV0dXJu OwogICAgZmk7CiAgICBpZiBbWyAke0NEUk9NX1RPVEFMX0NEU30gLWVxIDEgXV07IHRoZW4K ICAgICAgICBlaW5mbyAiVGhpcyBlYnVpbGQgd2lsbCBuZWVkIHRoZSAke0NEUk9NX05BTUU6 LWNkcm9tIGZvciAke1BOfX0iOwogICAgICAgIGVjaG87CiAgICAgICAgZWluZm8gIklmIHlv dSBkbyBub3QgaGF2ZSB0aGUgQ0QsIGJ1dCBoYXZlIHRoZSBkYXRhIGZpbGVzIjsKICAgICAg ICBlaW5mbyAibW91bnRlZCBzb21ld2hlcmUgb24geW91ciBmaWxlc3lzdGVtLCBqdXN0IGV4 cG9ydCI7CiAgICAgICAgZWluZm8gInRoZSB2YXJpYWJsZSBDRF9ST09UIHNvIHRoYXQgaXQg cG9pbnRzIHRvIHRoZSI7CiAgICAgICAgZWluZm8gImRpcmVjdG9yeSBjb250YWluaW5nIHRo ZSBmaWxlcy4iOwogICAgICAgIGVjaG87CiAgICAgICAgZWluZm8gIkZvciBleGFtcGxlOiI7 CiAgICAgICAgZWluZm8gImV4cG9ydCBDRF9ST09UPS9tbnQvY2Ryb20iOwogICAgICAgIGVj aG87CiAgICBlbHNlCiAgICAgICAgaWYgW1sgLW4gJHtDRFJPTV9OQU1FX1NFVH0gXV07IHRo ZW4KICAgICAgICAgICAgY2RjbnQ9MDsKICAgICAgICAgICAgd2hpbGUgW1sgJHtjZGNudH0g LWx0ICR7Q0RST01fVE9UQUxfQ0RTfSBdXTsgZG8KICAgICAgICAgICAgICAgICgoKytjZGNu dCkpOwogICAgICAgICAgICAgICAgZXhwb3J0IENEUk9NX05BTUVfJHtjZGNudH09IiR7Q0RS T01fTkFNRV9TRVRbJCgoJHtjZGNudH0tMSkpXX0iOwogICAgICAgICAgICBkb25lOwogICAg ICAgIGZpOwogICAgICAgIGVpbmZvICJUaGlzIHBhY2thZ2Ugd2lsbCBuZWVkIGFjY2VzcyB0 byAke0NEUk9NX1RPVEFMX0NEU30gY2RzLiI7CiAgICAgICAgY2RjbnQ9MDsKICAgICAgICB3 aGlsZSBbWyAke2NkY250fSAtbHQgJHtDRFJPTV9UT1RBTF9DRFN9IF1dOyBkbwogICAgICAg ICAgICAoKCsrY2RjbnQpKTsKICAgICAgICAgICAgdmFyPSJDRFJPTV9OQU1FXyR7Y2RjbnR9 IjsKICAgICAgICAgICAgW1sgISAteiAkeyF2YXJ9IF1dICYmIGVpbmZvICIgQ0QgJHtjZGNu dH06ICR7IXZhcn0iOwogICAgICAgIGRvbmU7CiAgICAgICAgZWNobzsKICAgICAgICBlaW5m byAiSWYgeW91IGRvIG5vdCBoYXZlIHRoZSBDRHMsIGJ1dCBoYXZlIHRoZSBkYXRhIGZpbGVz IjsKICAgICAgICBlaW5mbyAibW91bnRlZCBzb21ld2hlcmUgb24geW91ciBmaWxlc3lzdGVt LCBqdXN0IGV4cG9ydCI7CiAgICAgICAgZWluZm8gInRoZSBmb2xsb3dpbmcgdmFyaWFibGVz IHNvIHRoZXkgcG9pbnQgdG8gdGhlIHJpZ2h0IHBsYWNlOiI7CiAgICAgICAgZWluZm9uICIi OwogICAgICAgIGNkY250PTA7CiAgICAgICAgd2hpbGUgW1sgJHtjZGNudH0gLWx0ICR7Q0RS T01fVE9UQUxfQ0RTfSBdXTsgZG8KICAgICAgICAgICAgKCgrK2NkY250KSk7CiAgICAgICAg ICAgIGVjaG8gLW4gIiBDRF9ST09UXyR7Y2RjbnR9IjsKICAgICAgICBkb25lOwogICAgICAg IGVjaG87CiAgICAgICAgZWluZm8gIk9yLCBpZiB5b3UgaGF2ZSBhbGwgdGhlIGZpbGVzIGlu IHRoZSBzYW1lIHBsYWNlLCBvciI7CiAgICAgICAgZWluZm8gInlvdSBvbmx5IGhhdmUgb25l IGNkcm9tLCB5b3UgY2FuIGV4cG9ydCBDRF9ST09UIjsKICAgICAgICBlaW5mbyAiYW5kIHRo YXQgcGxhY2Ugd2lsbCBiZSB1c2VkIGFzIHRoZSBzYW1lIGRhdGEgc291cmNlIjsKICAgICAg ICBlaW5mbyAiZm9yIGFsbCB0aGUgQ0RzLiI7CiAgICAgICAgZWNobzsKICAgICAgICBlaW5m byAiRm9yIGV4YW1wbGU6IjsKICAgICAgICBlaW5mbyAiZXhwb3J0IENEX1JPT1RfMT0vbW50 L2Nkcm9tIjsKICAgICAgICBlY2hvOwogICAgZmk7CiAgICBleHBvcnQgQ0RST01fU0VUPSIi OwogICAgZXhwb3J0IENEUk9NX0NVUlJFTlRfQ0Q9MDsKICAgIGNkcm9tX2xvYWRfbmV4dF9j ZAp9CmNkcm9tX2xvYWRfbmV4dF9jZCAoKSAKeyAKICAgIGxvY2FsIHZhcjsKICAgICgoKytD RFJPTV9DVVJSRU5UX0NEKSk7CiAgICB1bnNldCBDRFJPTV9ST09UOwogICAgdmFyPUNEX1JP T1RfJHtDRFJPTV9DVVJSRU5UX0NEfTsKICAgIFtbIC16ICR7IXZhcn0gXV0gJiYgdmFyPSJD RF9ST09UIjsKICAgIGlmIFtbIC16ICR7IXZhcn0gXV07IHRoZW4KICAgICAgICB2YXI9IkNE Uk9NX0NIRUNLXyR7Q0RST01fQ1VSUkVOVF9DRH0iOwogICAgICAgIF9jZHJvbV9sb2NhdGVf ZmlsZV9vbl9jZCAkeyF2YXJ9OwogICAgZWxzZQogICAgICAgIGV4cG9ydCBDRFJPTV9ST09U PSR7IXZhcn07CiAgICBmaTsKICAgIGVpbmZvICJGb3VuZCBDRCAjJHtDRFJPTV9DVVJSRU5U X0NEfSByb290IGF0ICR7Q0RST01fUk9PVH0iCn0KY2hlY2tfbGljZW5zZSAoKSAKeyAKICAg IGxvY2FsIGxpYz0kMTsKICAgIGlmIFsgLXogIiR7bGljfSIgXTsgdGhlbgogICAgICAgIGxp Yz0iJHtQT1JURElSfS9saWNlbnNlcy8ke0xJQ0VOU0V9IjsKICAgIGVsc2UKICAgICAgICBp ZiBbIC1lICIke1BPUlRESVJ9L2xpY2Vuc2VzLyR7bGljfSIgXTsgdGhlbgogICAgICAgICAg ICBsaWM9IiR7UE9SVERJUn0vbGljZW5zZXMvJHtsaWN9IjsKICAgICAgICBlbHNlCiAgICAg ICAgICAgIGlmIFsgLWUgIiR7UFdEfS8ke2xpY30iIF07IHRoZW4KICAgICAgICAgICAgICAg IGxpYz0iJHtQV0R9LyR7bGljfSI7CiAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAg IGlmIFsgLWUgIiR7bGljfSIgXTsgdGhlbgogICAgICAgICAgICAgICAgICAgIGxpYz0iJHts aWN9IjsKICAgICAgICAgICAgICAgIGZpOwogICAgICAgICAgICBmaTsKICAgICAgICBmaTsK ICAgIGZpOwogICAgWyAhIC1mICIke2xpY30iIF0gJiYgZGllICJDb3VsZCBub3QgZmluZCBy ZXF1ZXN0ZWQgbGljZW5zZSAke2xpY30iOwogICAgbG9jYWwgbD0iYGJhc2VuYW1lICR7bGlj fWAiOwogICAgbG9jYWwgc2hvcHRzPSQtOwogICAgbG9jYWwgYWxpYzsKICAgIHNldCAtbyBu b2dsb2I7CiAgICBmb3IgYWxpYyBpbiAke0FDQ0VQVF9MSUNFTlNFfTsKICAgIGRvCiAgICAg ICAgaWYgW1sgJHthbGljfSA9PSAke2x9IF1dOyB0aGVuCiAgICAgICAgICAgIHNldCArbyBu b2dsb2I7CiAgICAgICAgICAgIHNldCAtJHtzaG9wdHN9OwogICAgICAgICAgICByZXR1cm4g MDsKICAgICAgICBmaTsKICAgIGRvbmU7CiAgICBzZXQgK28gbm9nbG9iOwogICAgc2V0IC0k c2hvcHRzOwogICAgbG9jYWwgbGljbXNnPSQoZW1rdGVtcCk7CiAgICBjYXQgPiAke2xpY21z Z30gIDw8LUVPRgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqClRoZSBmb2xsb3dpbmcgbGljZW5zZSBvdXRsaW5lcyB0aGUgdGVy bXMgb2YgdXNlIG9mIHRoaXMKcGFja2FnZS4gIFlvdSBNVVNUIGFjY2VwdCB0aGlzIGxpY2Vu c2UgZm9yIGluc3RhbGxhdGlvbiB0bwpjb250aW51ZS4gIFdoZW4geW91IGFyZSBkb25lIHZp ZXdpbmcsIGhpdCAncScuCUlmIHlvdQpDVFJMK0Mgb3V0IG9mIHRoaXMsIHRoZSBpbnN0YWxs IHdpbGwgbm90IHJ1biEKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKgoKRU9GCgogICAgY2F0ICR7bGljfSA+PiAke2xpY21zZ307 CiAgICAke1BBR0VSOi1sZXNzfSAke2xpY21zZ30gfHwgZGllICJDb3VsZCBub3QgZXhlY3V0 ZSBwYWdlciAoJHtQQUdFUn0pIHRvIGFjY2VwdCAke2xpY30iOwogICAgZWluZm9uICJEbyB5 b3UgYWNjZXB0IHRoZSB0ZXJtcyBvZiB0aGlzIGxpY2Vuc2UgKCR7bH0pPyBbeWVzL25vXSAi OwogICAgcmVhZCBhbGljOwogICAgY2FzZSAke2FsaWN9IGluIAogICAgICAgIHllcyB8IFll cyB8IHkgfCBZKQogICAgICAgICAgICByZXR1cm4gMAogICAgICAgIDs7CiAgICAgICAgKikK ICAgICAgICAgICAgZWNobzsKICAgICAgICAgICAgZWNobzsKICAgICAgICAgICAgZWNobzsK ICAgICAgICAgICAgZWVycm9yICJZb3UgTVVTVCBhY2NlcHQgdGhlIGxpY2Vuc2UgdG8gY29u dGludWUhICBFeGl0aW5nISI7CiAgICAgICAgICAgIGRpZSAiRmFpbGVkIHRvIGFjY2VwdCBs aWNlbnNlIgogICAgICAgIDs7CiAgICBlc2FjCn0KY3JlYXRlX21sX2luY2x1ZGVzICgpIAp7 IAogICAgbG9jYWwgZGVzdD0kMTsKICAgIHNoaWZ0OwogICAgbG9jYWwgYmFzZWRpcnM9JChj cmVhdGVfbWxfaW5jbHVkZXMtbGlzdGRpcnMgIiRAIik7CiAgICBjcmVhdGVfbWxfaW5jbHVk ZXMtbWFrZWRlc3RkaXJzICR7ZGVzdH0gJHtiYXNlZGlyc307CiAgICBsb2NhbCBmaWxlOwog ICAgZm9yIGZpbGUgaW4gJChjcmVhdGVfbWxfaW5jbHVkZXMtYWxsZmlsZXMgJHtiYXNlZGly c30pOwogICAgZG8KICAgICAgICAoIGVjaG8gIi8qIEF1dG9nZW5lcmF0ZWQgYnkgY3JlYXRl X21sX2luY2x1ZGVzKCkgaW4gbXVsdGlsaWIuZWNsYXNzICovIjsKICAgICAgICBsb2NhbCBk aXI7CiAgICAgICAgZm9yIGRpciBpbiAke2Jhc2VkaXJzfTsKICAgICAgICBkbwogICAgICAg ICAgICBpZiBbWyAtZiAke0R9LyR7ZGlyfS8ke2ZpbGV9IF1dOyB0aGVuCiAgICAgICAgICAg ICAgICBlY2hvICIiOwogICAgICAgICAgICAgICAgbG9jYWwgc3ltPSQoY3JlYXRlX21sX2lu Y2x1ZGVzLXN5bV9mb3JfZGlyICR7ZGlyfSAiJEAiKTsKICAgICAgICAgICAgICAgIGlmIFtb ICR7c3ltLz19ICE9ICIke3N5bX0iIF1dOyB0aGVuCiAgICAgICAgICAgICAgICAgICAgZWNo byAiI2lmICR7c3ltfSI7CiAgICAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAg ICAgaWYgW1sgJHtzeW06OjF9ID09ICIhIiBdXTsgdGhlbgogICAgICAgICAgICAgICAgICAg ICAgICBlY2hvICIjaWZuZGVmICR7c3ltOjF9IjsKICAgICAgICAgICAgICAgICAgICBlbHNl CiAgICAgICAgICAgICAgICAgICAgICAgIGVjaG8gIiNpZmRlZiAke3N5bX0iOwogICAgICAg ICAgICAgICAgICAgIGZpOwogICAgICAgICAgICAgICAgZmk7CiAgICAgICAgICAgICAgICBl Y2hvICIjIGluY2x1ZGUgPCQoY3JlYXRlX21sX2luY2x1ZGVzLWFic29sdXRlICR7ZGlyfS8k e2ZpbGV9KT4iOwogICAgICAgICAgICAgICAgZWNobyAiI2VuZGlmIC8qICR7c3ltfSAqLyI7 CiAgICAgICAgICAgIGZpOwogICAgICAgIGRvbmUgKSA+ICIke0R9LyR7ZGVzdH0vJHtmaWxl fSI7CiAgICBkb25lCn0KY3JlYXRlX21sX2luY2x1ZGVzLWFic29sdXRlICgpIAp7IAogICAg bG9jYWwgZHN0PSIkKGNyZWF0ZV9tbF9pbmNsdWRlcy10aWR5X3BhdGggJDEpIjsKICAgIGRz dD0oJHtkc3QvL1wvLyB9KTsKICAgIGxvY2FsIGk7CiAgICBmb3IgKChpPTA7IGk8JHsjZHN0 WypdfTsgaSsrKSkKICAgIGRvCiAgICAgICAgWyAiJHtkc3RbaV19IiA9PSAiaW5jbHVkZSIg XSAmJiBicmVhazsKICAgIGRvbmU7CiAgICBsb2NhbCBzdHJpcF91cHRvPSRpOwogICAgZm9y ICgoaT1zdHJpcF91cHRvKzE7IGk8JHsjZHN0WypdfS0xOyBpKyspKQogICAgZG8KICAgICAg ICBlY2hvIC1uICR7ZHN0W2ldfS87CiAgICBkb25lOwogICAgZWNobyAtbiAke2RzdFtpXX0K fQpjcmVhdGVfbWxfaW5jbHVkZXMtYWxsZmlsZXMgKCkgCnsgCiAgICBsb2NhbCBiYXNlZGly IGZpbGU7CiAgICBmb3IgYmFzZWRpciBpbiAiJEAiOwogICAgZG8KICAgICAgICBmb3IgZmls ZSBpbiAkKGZpbmQgIiR7RH0iLyR7YmFzZWRpcn0gLXR5cGUgZik7CiAgICAgICAgZG8KICAg ICAgICAgICAgZWNobyAke2ZpbGUvJHtEfVwvJHtiYXNlZGlyfVwvL307CiAgICAgICAgZG9u ZTsKICAgIGRvbmUgfCBzb3J0IHwgdW5pcQp9CmNyZWF0ZV9tbF9pbmNsdWRlcy1saXN0ZGly cyAoKSAKeyAKICAgIGxvY2FsIGRpcnM7CiAgICBsb2NhbCBkYXRhOwogICAgZm9yIGRhdGEg aW4gIiRAIjsKICAgIGRvCiAgICAgICAgZGlycz0iJHtkaXJzfSAke2RhdGEvKjovfSI7CiAg ICBkb25lOwogICAgZWNobyAke2RpcnM6MX0KfQpjcmVhdGVfbWxfaW5jbHVkZXMtbWFrZWRl c3RkaXJzICgpIAp7IAogICAgbG9jYWwgZGVzdD0kMTsKICAgIHNoaWZ0OwogICAgbG9jYWwg YmFzZWRpcnM9JEA7CiAgICBkb2RpciAke2Rlc3R9OwogICAgbG9jYWwgYmFzZWRpcjsKICAg IGZvciBiYXNlZGlyIGluICR7YmFzZWRpcnN9OwogICAgZG8KICAgICAgICBsb2NhbCBkaXI7 CiAgICAgICAgZm9yIGRpciBpbiAkKGZpbmQgIiR7RH0iLyR7YmFzZWRpcn0gLXR5cGUgZCk7 CiAgICAgICAgZG8KICAgICAgICAgICAgZG9kaXIgJHtkZXN0fS8ke2Rpci8ke0R9XC8ke2Jh c2VkaXJ9L307CiAgICAgICAgZG9uZTsKICAgIGRvbmUKfQpjcmVhdGVfbWxfaW5jbHVkZXMt c3ltX2Zvcl9kaXIgKCkgCnsgCiAgICBsb2NhbCBkaXI9JDE7CiAgICBzaGlmdDsKICAgIGxv Y2FsIGRhdGE7CiAgICBmb3IgZGF0YSBpbiAiJEAiOwogICAgZG8KICAgICAgICBpZiBbWyAk e2RhdGF9ID09ICo6JHtkaXJ9IF1dOyB0aGVuCiAgICAgICAgICAgIGVjaG8gJHtkYXRhLzoq L307CiAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgIGZpOwogICAgZG9uZTsKICAgIGVj aG8gIlNob3VsZG4ndCBiZSBoZXJlIC0tIGNyZWF0ZV9tbF9pbmNsdWRlcy1zeW1fZm9yX2Rp ciAkMSAkQCI7CiAgICBleGl0IDEKfQpjcmVhdGVfbWxfaW5jbHVkZXMtdGlkeV9wYXRoICgp IAp7IAogICAgbG9jYWwgcmVtb3ZlZD0kMTsKICAgIGlmIFsgLW4gIiR7cmVtb3ZlZH0iIF07 IHRoZW4KICAgICAgICB3aGlsZSBbICIke3JlbW92ZWR9IiAhPSAiJHtyZW1vdmVkL1wvXC8v XC99IiBdOyBkbwogICAgICAgICAgICByZW1vdmVkPSR7cmVtb3ZlZC9cL1wvL1wvfTsKICAg ICAgICBkb25lOwogICAgICAgIHdoaWxlIFsgIiR7cmVtb3ZlZH0iICE9ICIke3JlbW92ZWQv L1wvLlwvL1wvfSIgXTsgZG8KICAgICAgICAgICAgcmVtb3ZlZD0ke3JlbW92ZWQvL1wvLlwv L1wvfTsKICAgICAgICBkb25lOwogICAgICAgIFsgIiR7cmVtb3ZlZCMjKi99IiA9ICIuIiBd ICYmIHJlbW92ZWQ9JHtyZW1vdmVkJS8qfTsKICAgICAgICB3aGlsZSBbICIke3JlbW92ZWR9 IiAhPSAiJHtyZW1vdmVkLy9cLy4uXC99IiBdOyBkbwogICAgICAgICAgICBsb2NhbCBwMT0i JHtyZW1vdmVkJSVcLy4uXC8qfSI7CiAgICAgICAgICAgIGxvY2FsIHAyPSIke3JlbW92ZWQj KlwvLi5cL30iOwogICAgICAgICAgICByZW1vdmVkPSIke3AxJVwvKn0vJHtwMn0iOwogICAg ICAgIGRvbmU7CiAgICAgICAgWyAiJHtyZW1vdmVkIyMqL30iID0gIi4uIiBdICYmIHJlbW92 ZWQ9JHtyZW1vdmVkJS8qLyp9OwogICAgICAgIFsgIiR7cmVtb3ZlZCMjKi99IiA9ICIiIF0g JiYgcmVtb3ZlZD0ke3JlbW92ZWQlLyp9OwogICAgICAgIGVjaG8gJHtyZW1vdmVkfTsKICAg IGZpCn0KZGFyd2ludG9vbGl6ZSAoKSAKeyAKICAgIGV3YXJuICJkYXJ3aW50b29saXplKCkg aXMgZGVwcmVjYXRlZCwgcGxlYXNlIGp1c3QgdXNlIGVsaWJ0b29saXplKCkhIjsKICAgIGVs aWJ0b29saXplCn0KZGxvcGVuX2xpYiAoKSAKeyAKICAgIGlmIFtbICR7Q0hPU1R9ID09ICot bGludXgtZ251IHx8ICR7Q0hPU1R9ID09ICotbGludXgtdWNsaWJjIF1dOyB0aGVuCiAgICAg ICAgZWNobyAiLWxkbCI7CiAgICBmaQp9CmRvaWNvbiAoKSAKeyAKICAgICggbG9jYWwgaSBq IHJldDsKICAgIGluc2ludG8gL3Vzci9zaGFyZS9waXhtYXBzOwogICAgZm9yIGkgaW4gIiRA IjsKICAgIGRvCiAgICAgICAgaWYgW1sgLWYgJHtpfSBdXTsgdGhlbgogICAgICAgICAgICBk b2lucyAiJHtpfSI7CiAgICAgICAgICAgICgocmV0Kz0kPykpOwogICAgICAgIGVsc2UKICAg ICAgICAgICAgaWYgW1sgLWQgJHtpfSBdXTsgdGhlbgogICAgICAgICAgICAgICAgZm9yIGog aW4gIiR7aX0iLyoucG5nOwogICAgICAgICAgICAgICAgZG8KICAgICAgICAgICAgICAgICAg ICBkb2lucyAiJHtqfSI7CiAgICAgICAgICAgICAgICAgICAgKChyZXQrPSQ/KSk7CiAgICAg ICAgICAgICAgICBkb25lOwogICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAoKCsr cmV0KSk7CiAgICAgICAgICAgIGZpOwogICAgICAgIGZpOwogICAgZG9uZTsKICAgIGV4aXQg JHtyZXR9ICkKfQpkb21lbnUgKCkgCnsgCiAgICAoIGxvY2FsIGkgaiByZXQ9MDsKICAgIGlu c2ludG8gL3Vzci9zaGFyZS9hcHBsaWNhdGlvbnM7CiAgICBmb3IgaSBpbiAiJEAiOwogICAg ZG8KICAgICAgICBpZiBbWyAtZiAke2l9IF1dOyB0aGVuCiAgICAgICAgICAgIGRvaW5zICIk e2l9IjsKICAgICAgICAgICAgKChyZXQrPSQ/KSk7CiAgICAgICAgZWxzZQogICAgICAgICAg ICBpZiBbWyAtZCAke2l9IF1dOyB0aGVuCiAgICAgICAgICAgICAgICBmb3IgaiBpbiAiJHtp fSIvKi5kZXNrdG9wOwogICAgICAgICAgICAgICAgZG8KICAgICAgICAgICAgICAgICAgICBk b2lucyAiJHtqfSI7CiAgICAgICAgICAgICAgICAgICAgKChyZXQrPSQ/KSk7CiAgICAgICAg ICAgICAgICBkb25lOwogICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAoKCsrcmV0 KSk7CiAgICAgICAgICAgIGZpOwogICAgICAgIGZpOwogICAgZG9uZTsKICAgIGV4aXQgJHty ZXR9ICkKfQpkcml2ZXJfZW5hYmxlICgpIAp7IAogICAgY2FzZSAkIyBpbiAKICAgICAgICAx KQogICAgICAgICAgICBEUklfRFJJVkVSUz0iJHtEUklfRFJJVkVSU30sJDEiCiAgICAgICAg OzsKICAgICAgICAqKQogICAgICAgICAgICBpZiB1c2UgJDE7IHRoZW4KICAgICAgICAgICAg ICAgIHNoaWZ0OwogICAgICAgICAgICAgICAgZm9yIGkgaW4gJEA7CiAgICAgICAgICAgICAg ICBkbwogICAgICAgICAgICAgICAgICAgIERSSV9EUklWRVJTPSIke0RSSV9EUklWRVJTfSwk e2l9IjsKICAgICAgICAgICAgICAgIGRvbmU7CiAgICAgICAgICAgIGZpCiAgICAgICAgOzsK ICAgIGVzYWMKfQplYWNsb2NhbCAoKSAKeyAKICAgIGxvY2FsIGFjbG9jYWxfb3B0czsKICAg IGxvY2FsIGFtZmxhZ3NfZmlsZTsKICAgIGZvciBhbWZsYWdzX2ZpbGUgaW4gR05VbWFrZWZp bGUuYW0gTWFrZWZpbGUuYW0gR05VbWFrZWZpbGUuaW4gTWFrZWZpbGUuaW47CiAgICBkbwog ICAgICAgIFtbIC1lICR7YW1mbGFnc19maWxlfSBdXSB8fCBjb250aW51ZTsKICAgICAgICBh Y2xvY2FsX29wdHM9JChzZWQgLW4gJy9eQUNMT0NBTF9BTUZMQUdTW1s6c3BhY2U6XV0qPS9z OltePV0qPTo6cCcgJHthbWZsYWdzX2ZpbGV9KTsKICAgICAgICBldmFsIGFjbG9jYWxfb3B0 cz1cIiR7YWNsb2NhbF9vcHRzfVwiOwogICAgICAgIGJyZWFrOwogICAgZG9uZTsKICAgIGlm IFtbIC1uICR7QVRfTTRESVJ9IF1dOyB0aGVuCiAgICAgICAgZm9yIHggaW4gJHtBVF9NNERJ Un07CiAgICAgICAgZG8KICAgICAgICAgICAgY2FzZSAiJHt4fSIgaW4gCiAgICAgICAgICAg ICAgICAiLUkiKQoKICAgICAgICAgICAgICAgIDs7CiAgICAgICAgICAgICAgICAqKQogICAg ICAgICAgICAgICAgICAgIFtbICEgLWQgJHt4fSBdXSAmJiBld2FybiAiZWFjbG9jYWw6ICck e3h9JyBkb2VzIG5vdCBleGlzdCI7CiAgICAgICAgICAgICAgICAgICAgYWNsb2NhbF9vcHRz PSIke2FjbG9jYWxfb3B0c30gLUkgJHt4fSIKICAgICAgICAgICAgICAgIDs7CiAgICAgICAg ICAgIGVzYWM7CiAgICAgICAgZG9uZTsKICAgIGZpOwogICAgW1sgISAtZiBhY2xvY2FsLm00 IHx8IC1uICQoZ3JlcCAtZSAnZ2VuZXJhdGVkLipieSBhY2xvY2FsJyBhY2xvY2FsLm00KSBd XSAmJiBhdXRvdG9vbHNfcnVuX3Rvb2wgYWNsb2NhbCAiJEAiICR7YWNsb2NhbF9vcHRzfQp9 CmVhdXRvY29uZiAoKSAKeyAKICAgIGlmIFtbICEgLWYgY29uZmlndXJlLmFjICYmICEgLWYg Y29uZmlndXJlLmluIF1dOyB0aGVuCiAgICAgICAgZWNobzsKICAgICAgICBlZXJyb3IgIk5v IGNvbmZpZ3VyZS57YWMsaW59IHByZXNlbnQgaW4gJyQocHdkIHwgc2VkIC1lICdzOi4qLzo6 JyknISI7CiAgICAgICAgZWNobzsKICAgICAgICBkaWUgIk5vIGNvbmZpZ3VyZS57YWMsaW59 IHByZXNlbnQhIjsKICAgIGZpOwogICAgYXV0b3Rvb2xzX3J1bl90b29sIGF1dG9jb25mICIk QCIKfQplYXV0b2hlYWRlciAoKSAKeyAKICAgIFtbIC1uICQoYXV0b3Rvb2xzX2NoZWNrX21h Y3JvICJBQ19DT05GSUdfSEVBREVSUyIpIF1dIHx8IHJldHVybiAwOwogICAgTk9fRkFJTD0x IGF1dG90b29sc19ydW5fdG9vbCBhdXRvaGVhZGVyICIkQCIKfQplYXV0b21ha2UgKCkgCnsg CiAgICBsb2NhbCBleHRyYV9vcHRzOwogICAgbG9jYWwgbWFrZWZpbGVfbmFtZTsKICAgIGlm IFtbIC1mIEdOVW1ha2VmaWxlLmFtIF1dOyB0aGVuCiAgICAgICAgbWFrZWZpbGVfbmFtZT0i R05VbWFrZWZpbGUiOwogICAgZWxzZQogICAgICAgIGlmIFtbIC1mIE1ha2VmaWxlLmFtIF1d OyB0aGVuCiAgICAgICAgICAgIG1ha2VmaWxlX25hbWU9Ik1ha2VmaWxlIjsKICAgICAgICBl bHNlCiAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgIGZpOwogICAgZmk7CiAgICBpZiBb WyAteiAke0ZST01fRUFVVE9SRUNPTkZ9ICYmIC1mICR7bWFrZWZpbGVfbmFtZX0uaW4gXV07 IHRoZW4KICAgICAgICBsb2NhbCB1c2VkX2F1dG9tYWtlOwogICAgICAgIGxvY2FsIGluc3Rh bGxlZF9hdXRvbWFrZTsKICAgICAgICBpbnN0YWxsZWRfYXV0b21ha2U9JChhdXRvbWFrZSAt LXZlcnNpb24gfCBoZWFkIC1uIDEgfCAJCQlzZWQgLWUgJ3M6LiooR05VIGF1dG9tYWtlKSA6 OicpOwogICAgICAgIHVzZWRfYXV0b21ha2U9JChoZWFkIC1uIDEgPCAke21ha2VmaWxlX25h bWV9LmluIHwgCQkJc2VkIC1lICdzOi4qYnkgYXV0b21ha2UgXCguKlwpIGZyb20gLio6XDE6 Jyk7CiAgICAgICAgaWYgW1sgJHtpbnN0YWxsZWRfYXV0b21ha2V9ICE9ICR7dXNlZF9hdXRv bWFrZX0gXV07IHRoZW4KICAgICAgICAgICAgZWluZm8gIkF1dG9tYWtlIHVzZWQgZm9yIHRo ZSBwYWNrYWdlICgke3VzZWRfYXV0b21ha2V9KSBkaWZmZXJzIGZyb20iOwogICAgICAgICAg ICBlaW5mbyAidGhlIGluc3RhbGxlZCB2ZXJzaW9uICgke2luc3RhbGxlZF9hdXRvbWFrZX0p LiI7CiAgICAgICAgICAgIGVhdXRvcmVjb25mOwogICAgICAgICAgICByZXR1cm4gMDsKICAg ICAgICBmaTsKICAgIGZpOwogICAgW1sgLWYgSU5TVEFMTCAmJiAtZiBBVVRIT1JTICYmIC1m IENoYW5nZUxvZyAmJiAtZiBORVdTIF1dIHx8IGV4dHJhX29wdHM9IiR7ZXh0cmFfb3B0c30g LS1mb3JlaWduIjsKICAgIGF1dG90b29sc19ydW5fdG9vbCBhdXRvbWFrZSAtLWFkZC1taXNz aW5nIC0tY29weSAke2V4dHJhX29wdHN9ICIkQCIKfQplYXV0b3JlY29uZiAoKSAKeyAKICAg IGxvY2FsIHB3ZD0kKHB3ZCkgeCBhdXhkaXIgZz07CiAgICBpZiBbWyAteiAke0FUX05PX1JF Q1VSU0lWRX0gXV07IHRoZW4KICAgICAgICBmb3IgeCBpbiAkKGF1dG90b29sc19nZXRfc3Vi ZGlycyk7CiAgICAgICAgZG8KICAgICAgICAgICAgaWYgW1sgLWQgJHt4fSBdXTsgdGhlbgog ICAgICAgICAgICAgICAgY2QgIiR7eH0iOwogICAgICAgICAgICAgICAgQVRfTk9FTElCVE9P TElaRT0ieWVzIiBlYXV0b3JlY29uZjsKICAgICAgICAgICAgICAgIGNkICIke3B3ZH0iOwog ICAgICAgICAgICBmaTsKICAgICAgICBkb25lOwogICAgZmk7CiAgICBhdXhkaXI9JChhdXRv dG9vbHNfZ2V0X2F1eGRpcik7CiAgICBlaW5mbyAiUnVubmluZyBlYXV0b3JlY29uZiBpbiAn JChwd2QpJyAuLi4iOwogICAgW1sgLW4gJHthdXhkaXJ9IF1dICYmIG1rZGlyIC1wICR7YXV4 ZGlyfTsKICAgIGVhY2xvY2FsOwogICAgW1sgJHtDSE9TVH0gPT0gKi1kYXJ3aW4qIF1dICYm IGc9ZzsKICAgIGlmICR7TElCVE9PTElaRTotJHtnfWxpYnRvb2xpemV9IC1uIC0taW5zdGFs bCAmPi9kZXYvbnVsbDsgdGhlbgogICAgICAgIF9lbGlidG9vbGl6ZSAtLWNvcHkgLS1mb3Jj ZSAtLWluc3RhbGw7CiAgICBlbHNlCiAgICAgICAgX2VsaWJ0b29saXplIC0tY29weSAtLWZv cmNlOwogICAgZmk7CiAgICBlYXV0b2NvbmY7CiAgICBlYXV0b2hlYWRlcjsKICAgIEZST01f RUFVVE9SRUNPTkY9InllcyIgZWF1dG9tYWtlICR7QU1fT1BUU307CiAgICBbWyAke0FUX05P RUxJQlRPT0xJWkV9ID09ICJ5ZXMiIF1dICYmIHJldHVybiAwOwogICAgUz0ke3B3ZH0gZWxp YnRvb2xpemU7CiAgICByZXR1cm4gMAp9CmViZWVwICgpIAp7IAogICAgbG9jYWwgbjsKICAg IGlmIFtbIC16ICR7RUJFRVBfSUdOT1JFfSBdXTsgdGhlbgogICAgICAgIGZvciAoKG49MSA7 IG4gPD0gJHsxOi01fSA7IG4rKykpCiAgICAgICAgZG8KICAgICAgICAgICAgZWNobyAtbmUg IlxhIjsKICAgICAgICAgICAgc2xlZXAgMC4xICY+L2Rldi9udWxsOwogICAgICAgICAgICBz bGVlcCAwLDEgJj4vZGV2L251bGw7CiAgICAgICAgICAgIGVjaG8gLW5lICJcYSI7CiAgICAg ICAgICAgIHNsZWVwIDE7CiAgICAgICAgZG9uZTsKICAgIGZpCn0KZWN2c19jbGVhbiAoKSAK eyAKICAgIFtbIC16ICQqIF1dICYmIHNldCAtLSAuOwogICAgZmluZCAiJEAiIC10eXBlIGQg LW5hbWUgJ0NWUycgLXBydW5lIC1wcmludDAgfCB4YXJncyAtMCBybSAtcmY7CiAgICBmaW5k ICIkQCIgLXR5cGUgZiAtbmFtZSAnLmN2cyonIC1wcmludDAgfCB4YXJncyAtMCBybSAtcmYK fQplZG9zMnVuaXggKCkgCnsgCiAgICBlY2hvICIkQCIgfCB4YXJncyBzZWQgLWkgJ3MvXHIk Ly8nCn0KZWdldGVudCAoKSAKeyAKICAgIGNhc2UgJHtDSE9TVH0gaW4gCiAgICAgICAgKi1k YXJ3aW45KQogICAgICAgICAgICBsb2NhbCBteXR5cGU9JDE7CiAgICAgICAgICAgIFtbICJw YXNzd2QiID09ICRteXR5cGUgXV0gJiYgbXl0eXBlPSJVc2VycyI7CiAgICAgICAgICAgIFtb ICJncm91cCIgPT0gJG15dHlwZSBdXSAmJiBteXR5cGU9Ikdyb3VwcyI7CiAgICAgICAgICAg IGNhc2UgIiQyIiBpbiAKICAgICAgICAgICAgICAgICpbITAtOV0qKQogICAgICAgICAgICAg ICAgICAgIGRzY2wgLiAtcmVhZCAvJG15dHlwZS8kMiAyPiAvZGV2L251bGwgfCBncmVwIFJl Y29yZE5hbWUKICAgICAgICAgICAgICAgIDs7CiAgICAgICAgICAgICAgICAqKQogICAgICAg ICAgICAgICAgICAgIGxvY2FsIG15a2V5PSJVbmlxdWVJRCI7CiAgICAgICAgICAgICAgICAg ICAgW1sgJG15dHlwZSA9PSAiR3JvdXBzIiBdXSAmJiBteWtleT0iUHJpbWFyeUdyb3VwSUQi OwogICAgICAgICAgICAgICAgICAgIGRzY2wgLiAtc2VhcmNoIC8kbXl0eXBlICRteWtleSAk MiAyPiAvZGV2L251bGwKICAgICAgICAgICAgICAgIDs7CiAgICAgICAgICAgIGVzYWMKICAg ICAgICA7OwogICAgICAgICotZGFyd2luKikKICAgICAgICAgICAgY2FzZSAiJDIiIGluIAog ICAgICAgICAgICAgICAgKlshMC05XSopCiAgICAgICAgICAgICAgICAgICAgbmlkdW1wICQx IC4gfCBhd2sgLUYiOiIgInsgaWYgKFwkMSB+IC9eJDIkLykge3ByaW50IFwkMDtleGl0O30g fSIKICAgICAgICAgICAgICAgIDs7CiAgICAgICAgICAgICAgICAqKQogICAgICAgICAgICAg ICAgICAgIG5pZHVtcCAkMSAuIHwgYXdrIC1GIjoiICJ7IGlmIChcJDMgPT0gJDIpIHtwcmlu dCBcJDA7ZXhpdDt9IH0iCiAgICAgICAgICAgICAgICA7OwogICAgICAgICAgICBlc2FjCiAg ICAgICAgOzsKICAgICAgICAqLWZyZWVic2QqIHwgKi1kcmFnb25mbHkqKQogICAgICAgICAg ICBsb2NhbCBvcHRzIGFjdGlvbj0idXNlciI7CiAgICAgICAgICAgIFtbICQxID09ICJwYXNz d2QiIF1dIHx8IGFjdGlvbj0iZ3JvdXAiOwogICAgICAgICAgICBpZiBbWyAkMiA9PSBbWzpk aWdpdDpdXSogXV07IHRoZW4KICAgICAgICAgICAgICAgIFtbICR7YWN0aW9ufSA9PSAidXNl ciIgXV0gJiYgb3B0cz0iLXUiIHx8IG9wdHM9Ii1nIjsKICAgICAgICAgICAgZmk7CiAgICAg ICAgICAgIHB3IHNob3cgJHthY3Rpb259ICR7b3B0c30gIiQyIiAtcQogICAgICAgIDs7CiAg ICAgICAgKi1uZXRic2QqIHwgKi1vcGVuYnNkKikKICAgICAgICAgICAgZ3JlcCAiJDI6XCo6 IiAvZXRjLyQxCiAgICAgICAgOzsKICAgICAgICAqKQogICAgICAgICAgICB0eXBlIC1wIG5z Y2QgJj4vZGV2L251bGwgJiYgbnNjZCAtaSAiJDEiOwogICAgICAgICAgICBnZXRlbnQgIiQx IiAiJDIiCiAgICAgICAgOzsKICAgIGVzYWMKfQplZ2V0aG9tZSAoKSAKeyAKICAgIGVudD0k KGVnZXRlbnQgcGFzc3dkICQxKTsKICAgIGNhc2UgJHtDSE9TVH0gaW4gCiAgICAgICAgKi1k YXJ3aW4qIHwgKi1mcmVlYnNkKiB8ICotZHJhZ29uZmx5KikKICAgICAgICAgICAgZWNobyAk e2VudH0gfCBjdXQgLWQ6IC1mOQogICAgICAgIDs7CiAgICAgICAgKikKICAgICAgICAgICAg ZWNobyAke2VudH0gfCBjdXQgLWQ6IC1mNgogICAgICAgIDs7CiAgICBlc2FjCn0KZWdldHNo ZWxsICgpIAp7IAogICAgZW50PSQoZWdldGVudCBwYXNzd2QgIiQxIik7CiAgICBjYXNlICR7 Q0hPU1R9IGluIAogICAgICAgICotZGFyd2luKiB8ICotZnJlZWJzZCogfCAqLWRyYWdvbmZs eSopCiAgICAgICAgICAgIGVjaG8gJHtlbnR9IHwgY3V0IC1kOiAtZjEwCiAgICAgICAgOzsK ICAgICAgICAqKQogICAgICAgICAgICBlY2hvICR7ZW50fSBjdXQgLWQ6IC1mNwogICAgICAg IDs7CiAgICBlc2FjCn0KZWxpYnRvb2xpemUgKCkgCnsgCiAgICBsb2NhbCB4PTsKICAgIGxv Y2FsIHk9OwogICAgbG9jYWwgZG9fcG9ydGFnZT0ibm8iOwogICAgbG9jYWwgZG9fcmV2ZXJz ZWRlcHM9Im5vIjsKICAgIGxvY2FsIGRvX29ubHlfcGF0Y2hlcz0ibm8iOwogICAgbG9jYWwg ZG9fdWNsaWJjPSJ5ZXMiOwogICAgbG9jYWwgZGVwdG9yZW1vdmU9OwogICAgbG9jYWwgbXlf ZGlybGlzdD07CiAgICBsb2NhbCBlbHRfcGF0Y2hlcz0iaW5zdGFsbC1zaCBsdG1haW4gcG9y dGFnZSByZWxpbmsgbWF4X2NtZF9sZW4gc2VkIHRlc3QgdG1wIGNyb3NzIGFzLW5lZWRlZCI7 CiAgICBsb2NhbCBzdGFydF9kaXI9JHtQV0R9OwogICAgbXlfZGlybGlzdD0kKEVMVF9maW5k X2x0bWFpbl9zaCk7CiAgICBmb3IgeCBpbiAiJEAiOwogICAgZG8KICAgICAgICBjYXNlICIk e3h9IiBpbiAKICAgICAgICAgICAgIi0tcG9ydGFnZSIpCiAgICAgICAgICAgICAgICBkb19w b3J0YWdlPSJ5ZXMiCiAgICAgICAgICAgIDs7CiAgICAgICAgICAgICItLXJldmVyc2UtZGVw cyIpCiAgICAgICAgICAgICAgICBkb19yZXZlcnNlZGVwcz0ieWVzIjsKICAgICAgICAgICAg ICAgIGVsdF9wYXRjaGVzPSIke2VsdF9wYXRjaGVzfSBmaXgtcmVsaW5rIgogICAgICAgICAg ICA7OwogICAgICAgICAgICAiLS1wYXRjaC1vbmx5IikKICAgICAgICAgICAgICAgIGRvX29u bHlfcGF0Y2hlcz0ieWVzIgogICAgICAgICAgICA7OwogICAgICAgICAgICAiXi0tcmVtb3Zl LWludGVybmFsLWRlcD0iKikKICAgICAgICAgICAgICAgIGRlcHRvcmVtb3ZlPSQoZWNobyAi JHt4fSIgfCBzZWQgLWUgJ3N8LS1yZW1vdmUtaW50ZXJuYWwtZGVwPXx8Jyk7CiAgICAgICAg ICAgICAgICBbWyAtbiAke2RlcHRvcmVtb3ZlfSBdXSAmJiBlbHRfcGF0Y2hlcz0iJHtlbHRf cGF0Y2hlc30gcmVtLWludC1kZXAiCiAgICAgICAgICAgIDs7CiAgICAgICAgICAgICItLXNo YWxsb3ciKQogICAgICAgICAgICAgICAgaWYgW1sgLWYgJHtTfS9sdG1haW4uc2ggXV07IHRo ZW4KICAgICAgICAgICAgICAgICAgICBteV9kaXJsaXN0PSR7U307CiAgICAgICAgICAgICAg ICBlbHNlCiAgICAgICAgICAgICAgICAgICAgbXlfZGlybGlzdD07CiAgICAgICAgICAgICAg ICBmaQogICAgICAgICAgICA7OwogICAgICAgICAgICAiLS1uby11Y2xpYmMiKQogICAgICAg ICAgICAgICAgZG9fdWNsaWJjPSJubyIKICAgICAgICAgICAgOzsKICAgICAgICAgICAgKikK ICAgICAgICAgICAgICAgIGVlcnJvciAiSW52YWxpZCBlbGlidG9vbGl6ZSBvcHRpb246ICR7 eH0iOwogICAgICAgICAgICAgICAgZGllICJlbGlidG9vbGl6ZSBjYWxsZWQgd2l0aCAke3h9 ID8/IgogICAgICAgICAgICA7OwogICAgICAgIGVzYWM7CiAgICBkb25lOwogICAgW1sgJHtk b191Y2xpYmN9ID09ICJ5ZXMiIF1dICYmIGVsdF9wYXRjaGVzPSIke2VsdF9wYXRjaGVzfSB1 Y2xpYmMtY29uZiB1Y2xpYmMtbHRjb25mIjsKICAgIFtbICR7Q0hPU1R9ID09ICoiLWZyZWVi c2QiKiBdXSAmJiBlbHRfcGF0Y2hlcz0iJHtlbHRfcGF0Y2hlc30gZmJzZC1jb25mIGZic2Qt bHRjb25mIjsKICAgIFtbICR7Q0hPU1R9ID09ICoiLWRhcndpbiIqIF1dICYmIGVsdF9wYXRj aGVzPSIke2VsdF9wYXRjaGVzfSBkYXJ3aW4tbHRjb25mIGRhcndpbi1sdG1haW4iOwogICAg Zm9yIHggaW4gJHtteV9kaXJsaXN0fTsKICAgIGRvCiAgICAgICAgbG9jYWwgdG1wPSQoZWNo byAiJHt4fSIgfCBzZWQgLWUgInN8JHtXT1JLRElSfXx8Iik7CiAgICAgICAgZXhwb3J0IEVM VF9BUFBMSUVEX1BBVENIRVM9OwogICAgICAgIGV4cG9ydCBFTFRfTFRNQUlOX1NIPSIke3h9 L2x0bWFpbi5zaCI7CiAgICAgICAgW1sgLWYgJHt4fS8uZWxpYnRvb2xpemVkIF1dICYmIGNv bnRpbnVlOwogICAgICAgIGNkICR7eH07CiAgICAgICAgZWluZm8gIlJ1bm5pbmcgZWxpYnRv b2xpemUgaW46ICQoZWNobyAiLyR7dG1wfSIgfCBzZWQgLWUgJ3N8Ly98L3xnOyBzfF4vfHwn KSI7CiAgICAgICAgZm9yIHkgaW4gJHtlbHRfcGF0Y2hlc307CiAgICAgICAgZG8KICAgICAg ICAgICAgbG9jYWwgcmV0PTA7CiAgICAgICAgICAgIGNhc2UgIiR7eX0iIGluIAogICAgICAg ICAgICAgICAgInBvcnRhZ2UiKQogICAgICAgICAgICAgICAgICAgIGlmIFtbIC16ICQoZ3Jl cCAnV2UgZG8gbm90IHdhbnQgcG9ydGFnZScgIiR7eH0vbHRtYWluLnNoIikgXV07IHRoZW4K ICAgICAgICAgICAgICAgICAgICAgICAgRUxUX3dhbGtfcGF0Y2hlcyAiJHt4fS9sdG1haW4u c2giICIke3l9IjsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0PSQ/OwogICAgICAgICAg ICAgICAgICAgIGZpCiAgICAgICAgICAgICAgICA7OwogICAgICAgICAgICAgICAgInJlbS1p bnQtZGVwIikKICAgICAgICAgICAgICAgICAgICBFTFRfd2Fsa19wYXRjaGVzICIke3h9L2x0 bWFpbi5zaCIgIiR7eX0iICIke2RlcHRvcmVtb3ZlfSI7CiAgICAgICAgICAgICAgICAgICAg cmV0PSQ/CiAgICAgICAgICAgICAgICA7OwogICAgICAgICAgICAgICAgImZpeC1yZWxpbmsi KQogICAgICAgICAgICAgICAgICAgIGlmIFtbIC1uICQoZ3JlcCAnaW5zdF9wcmVmaXhfZGly JyAiJHt4fS9sdG1haW4uc2giKSBdXTsgdGhlbgogICAgICAgICAgICAgICAgICAgICAgICBF TFRfd2Fsa19wYXRjaGVzICIke3h9L2x0bWFpbi5zaCIgIiR7eX0iOwogICAgICAgICAgICAg ICAgICAgICAgICByZXQ9JD87CiAgICAgICAgICAgICAgICAgICAgZmkKICAgICAgICAgICAg ICAgIDs7CiAgICAgICAgICAgICAgICAibWF4X2NtZF9sZW4iKQogICAgICAgICAgICAgICAg ICAgIGlmIFtbIC1uICQoZ3JlcCAnbWF4X2NtZF9sZW4nICIke3h9L2x0bWFpbi5zaCIpIF1d OyB0aGVuCiAgICAgICAgICAgICAgICAgICAgICAgIEVMVF93YWxrX3BhdGNoZXMgIiR7eH0v bHRtYWluLnNoIiAiJHt5fSI7CiAgICAgICAgICAgICAgICAgICAgICAgIHJldD0kPzsKICAg ICAgICAgICAgICAgICAgICBmaQogICAgICAgICAgICAgICAgOzsKICAgICAgICAgICAgICAg ICJhcy1uZWVkZWQiKQogICAgICAgICAgICAgICAgICAgIEVMVF93YWxrX3BhdGNoZXMgIiR7 eH0vbHRtYWluLnNoIiAiJHt5fSI7CiAgICAgICAgICAgICAgICAgICAgcmV0PSQ/CiAgICAg ICAgICAgICAgICA7OwogICAgICAgICAgICAgICAgInVjbGliYy1jb25mIikKICAgICAgICAg ICAgICAgICAgICBpZiBbWyAtZSAke3h9L2NvbmZpZ3VyZSAmJiAtbiAkKGdyZXAgJ1RyYW5z Zm9ybSBsaW51eCcgIiR7eH0vY29uZmlndXJlIikgXV07IHRoZW4KICAgICAgICAgICAgICAg ICAgICAgICAgRUxUX3dhbGtfcGF0Y2hlcyAiJHt4fS9jb25maWd1cmUiICIke3l9IjsKICAg ICAgICAgICAgICAgICAgICAgICAgcmV0PSQ/OwogICAgICAgICAgICAgICAgICAgIGVsc2UK ICAgICAgICAgICAgICAgICAgICAgICAgaWYgW1sgISAtZSAke3h9L2NvbmZpZ3VyZSAmJiAt ZSAke3h9Ly4uL2NvbmZpZ3VyZSAmJiAtbiAkKGdyZXAgJ1RyYW5zZm9ybSBsaW51eCcgIiR7 eH0vLi4vY29uZmlndXJlIikgXV07IHRoZW4KICAgICAgICAgICAgICAgICAgICAgICAgICAg IEVMVF93YWxrX3BhdGNoZXMgIiR7eH0vLi4vY29uZmlndXJlIiAiJHt5fSI7CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICByZXQ9JD87CiAgICAgICAgICAgICAgICAgICAgICAgIGZp OwogICAgICAgICAgICAgICAgICAgIGZpCiAgICAgICAgICAgICAgICA7OwogICAgICAgICAg ICAgICAgInVjbGliYy1sdGNvbmYiKQogICAgICAgICAgICAgICAgICAgIGlmIFtbIC1zICR7 eH0vbHRjb25maWcgXV07IHRoZW4KICAgICAgICAgICAgICAgICAgICAgICAgRUxUX3dhbGtf cGF0Y2hlcyAiJHt4fS9sdGNvbmZpZyIgIiR7eX0iOwogICAgICAgICAgICAgICAgICAgICAg ICByZXQ9JD87CiAgICAgICAgICAgICAgICAgICAgZmkKICAgICAgICAgICAgICAgIDs7CiAg ICAgICAgICAgICAgICAiZmJzZC1jb25mIikKICAgICAgICAgICAgICAgICAgICBpZiBbWyAt ZSAke3h9L2NvbmZpZ3VyZSAmJiAtbiAkKGdyZXAgJ3ZlcnNpb25fdHlwZT1mcmVlYnNkLScg IiR7eH0vY29uZmlndXJlIikgXV07IHRoZW4KICAgICAgICAgICAgICAgICAgICAgICAgRUxU X3dhbGtfcGF0Y2hlcyAiJHt4fS9jb25maWd1cmUiICIke3l9IjsKICAgICAgICAgICAgICAg ICAgICAgICAgcmV0PSQ/OwogICAgICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAg ICAgICAgICAgICAgaWYgW1sgISAtZSAke3h9L2NvbmZpZ3VyZSAmJiAtZSAke3h9Ly4uL2Nv bmZpZ3VyZSAmJiAtbiAkKGdyZXAgJ3ZlcnNpb25fdHlwZT1mcmVlYnNkLScgIiR7eH0vLi4v Y29uZmlndXJlIikgXV07IHRoZW4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVMVF93 YWxrX3BhdGNoZXMgIiR7eH0vLi4vY29uZmlndXJlIiAiJHt5fSI7CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICByZXQ9JD87CiAgICAgICAgICAgICAgICAgICAgICAgIGZpOwogICAg ICAgICAgICAgICAgICAgIGZpCiAgICAgICAgICAgICAgICA7OwogICAgICAgICAgICAgICAg ImZic2QtbHRjb25mIikKICAgICAgICAgICAgICAgICAgICBpZiBbWyAtcyAke3h9L2x0Y29u ZmlnIF1dOyB0aGVuCiAgICAgICAgICAgICAgICAgICAgICAgIEVMVF93YWxrX3BhdGNoZXMg IiR7eH0vbHRjb25maWciICIke3l9IjsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0PSQ/ OwogICAgICAgICAgICAgICAgICAgIGZpCiAgICAgICAgICAgICAgICA7OwogICAgICAgICAg ICAgICAgImRhcndpbi1sdGNvbmYiKQogICAgICAgICAgICAgICAgICAgIGlmIFtbIC1zICR7 eH0vbHRjb25maWcgXV07IHRoZW4KICAgICAgICAgICAgICAgICAgICAgICAgRUxUX3dhbGtf cGF0Y2hlcyAiJHt4fS9sdGNvbmZpZyIgIiR7eX0iOwogICAgICAgICAgICAgICAgICAgICAg ICByZXQ9JD87CiAgICAgICAgICAgICAgICAgICAgZmkKICAgICAgICAgICAgICAgIDs7CiAg ICAgICAgICAgICAgICAiaW5zdGFsbC1zaCIpCiAgICAgICAgICAgICAgICAgICAgRUxUX3dh bGtfcGF0Y2hlcyAiJHt4fS9pbnN0YWxsLXNoIiAiJHt5fSI7CiAgICAgICAgICAgICAgICAg ICAgcmV0PSQ/CiAgICAgICAgICAgICAgICA7OwogICAgICAgICAgICAgICAgImNyb3NzIikK ICAgICAgICAgICAgICAgICAgICBpZiB0Yy1pcy1jcm9zcy1jb21waWxlcjsgdGhlbgogICAg ICAgICAgICAgICAgICAgICAgICBFTFRfd2Fsa19wYXRjaGVzICIke3h9L2x0bWFpbi5zaCIg IiR7eX0iOwogICAgICAgICAgICAgICAgICAgICAgICByZXQ9JD87CiAgICAgICAgICAgICAg ICAgICAgZmkKICAgICAgICAgICAgICAgIDs7CiAgICAgICAgICAgICAgICAqKQogICAgICAg ICAgICAgICAgICAgIEVMVF93YWxrX3BhdGNoZXMgIiR7eH0vbHRtYWluLnNoIiAiJHt5fSI7 CiAgICAgICAgICAgICAgICAgICAgcmV0PSQ/CiAgICAgICAgICAgICAgICA7OwogICAgICAg ICAgICBlc2FjOwogICAgICAgICAgICBpZiBbWyAke3JldH0gLW5lIDAgXV07IHRoZW4KICAg ICAgICAgICAgICAgIGNhc2UgJHt5fSBpbiAKICAgICAgICAgICAgICAgICAgICAicmVsaW5r IikKICAgICAgICAgICAgICAgICAgICAgICAgbG9jYWwgdmVyc2lvbj0kKEVMVF9saWJ0b29s X3ZlcnNpb24gIiR7eH0vbHRtYWluLnNoIik7CiAgICAgICAgICAgICAgICAgICAgICAgIGlm IFtbIC16ICQoZ3JlcCAnaW5zdF9wcmVmaXhfZGlyJyAiJHt4fS9sdG1haW4uc2giKSAmJiAk KFZFUl90b19pbnQgIiR7dmVyc2lvbn0iKSAtZ2UgJChWRVJfdG9faW50ICIxLjQuMCIpIF1d OyB0aGVuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBld2FybiAiICBDb3VsZCBub3Qg YXBwbHkgcmVsaW5rLnBhdGNoISI7CiAgICAgICAgICAgICAgICAgICAgICAgIGZpCiAgICAg ICAgICAgICAgICAgICAgOzsKICAgICAgICAgICAgICAgICAgICAicG9ydGFnZSIpCiAgICAg ICAgICAgICAgICAgICAgICAgIGlmIFtbICR7ZG9fcG9ydGFnZX0gPT0gInllcyIgXV07IHRo ZW4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIFtbIC16ICQoZ3JlcCAnV2UgZG8g bm90IHdhbnQgcG9ydGFnZScgIiR7eH0vbHRtYWluLnNoIikgXV07IHRoZW4KICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBlY2hvOwogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGVlcnJvciAiUG9ydGFnZSBwYXRjaCByZXF1ZXN0ZWQsIGJ1dCBmYWlsZWQgdG8g YXBwbHkhIjsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlZXJyb3IgIlBsZWFz ZSBidWcgYXphcmFoIG9yIHZhcGllciB0byBhZGQgcHJvcGVyIHBhdGNoLiI7CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgZGllICJQb3J0YWdlIHBhdGNoIHJlcXVlc3RlZCwg YnV0IGZhaWxlZCB0byBhcHBseSEiOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZmk7 CiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGlmIFtbIC1uICQoZ3JlcCAnV2UgZG8gbm90IHdhbnQgcG9ydGFnZScgIiR7eH0vbHRt YWluLnNoIikgXV07IHRoZW4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Owog ICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGxvY2FsIHZlcnNpb249JCggCQkJCQkJCQkJZXZhbCAkKGdyZXAgLWUgJ15b WzpzcGFjZTpdXSpWRVJTSU9OPScgIiR7eH0vbHRtYWluLnNoIik7IAkJCQkJCQkJCWVjaG8g IiR7VkVSU0lPTn0iKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlY2hvOwog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVlcnJvciAiUG9ydGFnZSBwYXRjaCBm YWlsZWQgdG8gYXBwbHkgKGx0bWFpbi5zaCB2ZXJzaW9uICR7dmVyc2lvbn0pISI7CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgZWVycm9yICJQbGVhc2UgYnVnIGF6YXJhaCBv ciB2YXBpZXIgdG8gYWRkIHByb3BlciBwYXRjaC4iOwogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGRpZSAiUG9ydGFnZSBwYXRjaCBmYWlsZWQgdG8gYXBwbHkhIjsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGZpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAg RUxUX0FQUExJRURfUEFUQ0hFUz0icG9ydGFnZSI7CiAgICAgICAgICAgICAgICAgICAgICAg IGZpCiAgICAgICAgICAgICAgICAgICAgOzsKICAgICAgICAgICAgICAgICAgICAidWNsaWJj LSIqKQogICAgICAgICAgICAgICAgICAgICAgICBbWyAke0NIT1NUfSA9PSAqIi11Y2xpYmMi IF1dICYmIGV3YXJuICIgIHVDbGliYyBwYXRjaCBzZXQgJyR7eX0nIGZhaWxlZCB0byBhcHBs eSEiCiAgICAgICAgICAgICAgICAgICAgOzsKICAgICAgICAgICAgICAgICAgICAiZmJzZC0i KikKICAgICAgICAgICAgICAgICAgICAgICAgaWYgW1sgJHtDSE9TVH0gPT0gKiItZnJlZWJz ZCIqIF1dOyB0aGVuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiBbWyAteiAkKGdy ZXAgJ0hhbmRsZSBHZW50b28vRnJlZUJTRCBhcyBpdCB3YXMgTGludXgnIAkJCQkJCQkJIiR7 eH0vY29uZmlndXJlIiAiJHt4fS8uLi9jb25maWd1cmUiIDI+L2Rldi9udWxsKSBdXTsgdGhl bgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVlcnJvciAiICBGcmVlQlNEIHBh dGNoIHNldCAnJHt5fScgZmFpbGVkIHRvIGFwcGx5ISI7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgZGllICJGcmVlQlNEIHBhdGNoIHNldCAnJHt5fScgZmFpbGVkIHRvIGFw cGx5ISI7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaTsKICAgICAgICAgICAgICAg ICAgICAgICAgZmkKICAgICAgICAgICAgICAgICAgICA7OwogICAgICAgICAgICAgICAgICAg ICJkYXJ3aW4tIiopCiAgICAgICAgICAgICAgICAgICAgICAgIFtbICR7Q0hPU1R9ID09ICoi LWRhcndpbiIqIF1dICYmIGV3YXJuICIgIERhcndpbiBwYXRjaCBzZXQgJyR7eX0nIGZhaWxl ZCB0byBhcHBseSEiCiAgICAgICAgICAgICAgICAgICAgOzsKICAgICAgICAgICAgICAgIGVz YWM7CiAgICAgICAgICAgIGZpOwogICAgICAgIGRvbmU7CiAgICAgICAgaWYgW1sgLXogJHtF TFRfQVBQTElFRF9QQVRDSEVTfSBdXTsgdGhlbgogICAgICAgICAgICBpZiBbWyAke2RvX3Bv cnRhZ2V9ID09ICJubyIgJiYgJHtkb19yZXZlcnNlZGVwc30gPT0gIm5vIiAmJiAke2RvX29u bHlfcGF0Y2hlc30gPT0gIm5vIiAmJiAke2RlcHRvcmVtb3ZlfSA9PSAiIiBdXTsgdGhlbgog ICAgICAgICAgICAgICAgZXdhcm4gIkNhbm5vdCBhcHBseSBhbnkgcGF0Y2hlcywgcGxlYXNl IGZpbGUgYSBidWcgYWJvdXQgdGhpcyI7CiAgICAgICAgICAgICAgICBkaWU7CiAgICAgICAg ICAgIGZpOwogICAgICAgIGZpOwogICAgICAgIFtbIC1mICR7eH0vbGlidG9vbCBdXSAmJiBy bSAtZiAiJHt4fS9saWJ0b29sIjsKICAgICAgICAgPj4gIiR7eH0vLmVsaWJ0b29saXplZCI7 CiAgICBkb25lOwogICAgY2QgIiR7c3RhcnRfZGlyfSIKfQplbWt0ZW1wICgpIAp7IAogICAg bG9jYWwgZXhlPSJ0b3VjaCI7CiAgICBbWyAkMSA9PSAtZCBdXSAmJiBleGU9Im1rZGlyIiAm JiBzaGlmdDsKICAgIGxvY2FsIHRvcGRpcj0kMTsKICAgIGlmIFtbIC16ICR7dG9wZGlyfSBd XTsgdGhlbgogICAgICAgIFtbIC16ICR7VH0gXV0gJiYgdG9wZGlyPSIvdG1wIiB8fCB0b3Bk aXI9JHtUfTsKICAgIGZpOwogICAgaWYgISB0eXBlIC1QIG1rdGVtcCA+IC9kZXYvbnVsbDsg dGhlbgogICAgICAgIGxvY2FsIHRtcD0vOwogICAgICAgIHdoaWxlIFtbIC1lICR7dG1wfSBd XTsgZG8KICAgICAgICAgICAgdG1wPSR7dG9wZGlyfS90bXAuJHtSQU5ET019LiR7UkFORE9N fS4ke1JBTkRPTX07CiAgICAgICAgZG9uZTsKICAgICAgICAke2V4ZX0gIiR7dG1wfSIgfHwg JHtleGV9IC1wICIke3RtcH0iOwogICAgICAgIGVjaG8gIiR7dG1wfSI7CiAgICBlbHNlCiAg ICAgICAgaWYgW1sgJHtleGV9ID09ICJ0b3VjaCIgXV07IHRoZW4KICAgICAgICAgICAgVE1Q RElSPSIke3RvcGRpcn0iIG1rdGVtcCAtdCB0bXAuWFhYWFhYWFhYWDsKICAgICAgICBlbHNl CiAgICAgICAgICAgIFRNUERJUj0iJHt0b3BkaXJ9IiBta3RlbXAgLWR0IHRtcC5YWFhYWFhY WFhYOwogICAgICAgIGZpOwogICAgZmkKfQplbmV3Z3JvdXAgKCkgCnsgCiAgICBjYXNlICR7 RUJVSUxEX1BIQVNFfSBpbiAKICAgICAgICB1bnBhY2sgfCBjb21waWxlIHwgdGVzdCB8IGlu c3RhbGwpCiAgICAgICAgICAgIGVlcnJvciAiJ2VuZXdncm91cCgpJyBjYWxsZWQgZnJvbSAn JHtFQlVJTERfUEhBU0V9KCknIHdoaWNoIGlzIG5vdCBhIHBrZ18qIGZ1bmN0aW9uLiI7CiAg ICAgICAgICAgIGVlcnJvciAiUGFja2FnZSBmYWlscyBhdCBRQSBhbmQgYXQgbGlmZS4gIFBs ZWFzZSBmaWxlIGEgYnVnLiI7CiAgICAgICAgICAgIGRpZSAiQmFkIHBhY2thZ2UhICBlbmV3 Z3JvdXAgaXMgb25seSBmb3IgdXNlIGluIHBrZ18qIGZ1bmN0aW9ucyEiCiAgICAgICAgOzsK ICAgIGVzYWM7CiAgICBsb2NhbCBlZ3JvdXA9IiQxIjsKICAgIHNoaWZ0OwogICAgaWYgWyAt eiAiJHtlZ3JvdXB9IiBdOyB0aGVuCiAgICAgICAgZWVycm9yICJObyBncm91cCBzcGVjaWZp ZWQgISI7CiAgICAgICAgZGllICJDYW5ub3QgY2FsbCBlbmV3Z3JvdXAgd2l0aG91dCBhIGdy b3VwIjsKICAgIGZpOwogICAgaWYgW1sgLW4gJChlZ2V0ZW50IGdyb3VwICIke2Vncm91cH0i KSBdXTsgdGhlbgogICAgICAgIHJldHVybiAwOwogICAgZmk7CiAgICBlaW5mbyAiQWRkaW5n IGdyb3VwICcke2Vncm91cH0nIHRvIHlvdXIgc3lzdGVtIC4uLiI7CiAgICBsb2NhbCBvcHRz PTsKICAgIGxvY2FsIGVnaWQ9IiQxIjsKICAgIHNoaWZ0OwogICAgaWYgWyAhIC16ICIke2Vn aWR9IiBdOyB0aGVuCiAgICAgICAgaWYgWyAiJHtlZ2lkfSIgLWd0IDAgXTsgdGhlbgogICAg ICAgICAgICBpZiBbIC16ICJgZWdldGVudCBncm91cCAke2VnaWR9YCIgXTsgdGhlbgogICAg ICAgICAgICAgICAgaWYgW1sgIiR7Q0hPU1R9IiA9PSAqLWRhcndpbiogXV07IHRoZW4KICAg ICAgICAgICAgICAgICAgICBvcHRzPSIke29wdHN9ICR7ZWdpZH0iOwogICAgICAgICAgICAg ICAgZWxzZQogICAgICAgICAgICAgICAgICAgIG9wdHM9IiR7b3B0c30gLWcgJHtlZ2lkfSI7 CiAgICAgICAgICAgICAgICBmaTsKICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAg ZWdpZD0ibmV4dCBhdmFpbGFibGU7IHJlcXVlc3RlZCBnaWQgdGFrZW4iOwogICAgICAgICAg ICBmaTsKICAgICAgICBlbHNlCiAgICAgICAgICAgIGVlcnJvciAiR3JvdXBpZCBnaXZlbiBi dXQgaXMgbm90IGdyZWF0ZXIgdGhhbiAwICEiOwogICAgICAgICAgICBkaWUgIiR7ZWdpZH0g aXMgbm90IGEgdmFsaWQgR0lEIjsKICAgICAgICBmaTsKICAgIGVsc2UKICAgICAgICBlZ2lk PSJuZXh0IGF2YWlsYWJsZSI7CiAgICBmaTsKICAgIGVpbmZvICIgLSBHcm91cGlkOiAke2Vn aWR9IjsKICAgIGxvY2FsIGVleHRyYT0iJEAiOwogICAgb3B0cz0iJHtvcHRzfSAke2VleHRy YX0iOwogICAgbG9jYWwgb2xkc2FuZGJveD0iJHtTQU5EQk9YX09OfSI7CiAgICBleHBvcnQg U0FOREJPWF9PTj0iMCI7CiAgICBjYXNlICR7Q0hPU1R9IGluIAogICAgICAgICotZGFyd2lu KikKICAgICAgICAgICAgaWYgWyAhIC16ICIke2VleHRyYX0iIF07IHRoZW4KICAgICAgICAg ICAgICAgIGVpbmZvICJFeHRyYSBvcHRpb25zIGFyZSBub3Qgc3VwcG9ydGVkIG9uIERhcndp bi9PUyBYIHlldCI7CiAgICAgICAgICAgICAgICBlaW5mbyAiUGxlYXNlIHJlcG9ydCB0aGUg ZWJ1aWxkIGFsb25nIHdpdGggdGhlIGluZm8gYmVsb3ciOwogICAgICAgICAgICAgICAgZWlu Zm8gImVleHRyYTogJHtlZXh0cmF9IjsKICAgICAgICAgICAgICAgIGRpZSAiUmVxdWlyZWQg ZnVuY3Rpb24gbWlzc2luZyI7CiAgICAgICAgICAgIGZpOwogICAgICAgICAgICBjYXNlICR7 ZWdpZH0gaW4gCiAgICAgICAgICAgICAgICAqWyEwLTldKikKICAgICAgICAgICAgICAgICAg ICBmb3IgKChlZ2lkID0gMTAxOyBlZ2lkIDw9IDk5OTsgZWdpZCsrKSkKICAgICAgICAgICAg ICAgICAgICBkbwogICAgICAgICAgICAgICAgICAgICAgICBbWyAteiAkKGVnZXRlbnQgZ3Jv dXAgJHtlZ2lkfSkgXV0gJiYgYnJlYWs7CiAgICAgICAgICAgICAgICAgICAgZG9uZQogICAg ICAgICAgICAgICAgOzsKICAgICAgICAgICAgZXNhYzsKICAgICAgICAgICAgZHNjbCAuIGNy ZWF0ZSAvZ3JvdXBzLyR7ZWdyb3VwfSBnaWQgJHtlZ2lkfTsKICAgICAgICAgICAgZHNjbCAu IGNyZWF0ZSAvZ3JvdXBzLyR7ZWdyb3VwfSBwYXNzd2QgJyonCiAgICAgICAgOzsKICAgICAg ICAqLWZyZWVic2QqIHwgKi1kcmFnb25mbHkqKQogICAgICAgICAgICBjYXNlICR7ZWdpZH0g aW4gCiAgICAgICAgICAgICAgICAqWyEwLTldKikKICAgICAgICAgICAgICAgICAgICBmb3Ig KChlZ2lkID0gMTAxOyBlZ2lkIDw9IDk5OTsgZWdpZCsrKSkKICAgICAgICAgICAgICAgICAg ICBkbwogICAgICAgICAgICAgICAgICAgICAgICBbWyAteiAkKGVnZXRlbnQgZ3JvdXAgJHtl Z2lkfSkgXV0gJiYgYnJlYWs7CiAgICAgICAgICAgICAgICAgICAgZG9uZQogICAgICAgICAg ICAgICAgOzsKICAgICAgICAgICAgZXNhYzsKICAgICAgICAgICAgcHcgZ3JvdXBhZGQgJHtl Z3JvdXB9IC1nICR7ZWdpZH0gfHwgZGllICJlbmV3Z3JvdXAgZmFpbGVkIgogICAgICAgIDs7 CiAgICAgICAgKi1uZXRic2QqKQogICAgICAgICAgICBjYXNlICR7ZWdpZH0gaW4gCiAgICAg ICAgICAgICAgICAqWyEwLTldKikKICAgICAgICAgICAgICAgICAgICBmb3IgKChlZ2lkID0g MTAxOyBlZ2lkIDw9IDk5OTsgZWdpZCsrKSkKICAgICAgICAgICAgICAgICAgICBkbwogICAg ICAgICAgICAgICAgICAgICAgICBbWyAteiAkKGVnZXRlbnQgZ3JvdXAgJHtlZ2lkfSkgXV0g JiYgYnJlYWs7CiAgICAgICAgICAgICAgICAgICAgZG9uZQogICAgICAgICAgICAgICAgOzsK ICAgICAgICAgICAgZXNhYzsKICAgICAgICAgICAgZ3JvdXBhZGQgLWcgJHtlZ2lkfSAke2Vn cm91cH0gfHwgZGllICJlbmV3Z3JvdXAgZmFpbGVkIgogICAgICAgIDs7CiAgICAgICAgKikK ICAgICAgICAgICAgZ3JvdXBhZGQgJHtvcHRzfSAke2Vncm91cH0gfHwgZGllICJlbmV3Z3Jv dXAgZmFpbGVkIgogICAgICAgIDs7CiAgICBlc2FjOwogICAgZXhwb3J0IFNBTkRCT1hfT049 IiR7b2xkc2FuZGJveH0iCn0KZW5ld3VzZXIgKCkgCnsgCiAgICBjYXNlICR7RUJVSUxEX1BI QVNFfSBpbiAKICAgICAgICB1bnBhY2sgfCBjb21waWxlIHwgdGVzdCB8IGluc3RhbGwpCiAg ICAgICAgICAgIGVlcnJvciAiJ2VuZXd1c2VyKCknIGNhbGxlZCBmcm9tICcke0VCVUlMRF9Q SEFTRX0oKScgd2hpY2ggaXMgbm90IGEgcGtnXyogZnVuY3Rpb24uIjsKICAgICAgICAgICAg ZWVycm9yICJQYWNrYWdlIGZhaWxzIGF0IFFBIGFuZCBhdCBsaWZlLiAgUGxlYXNlIGZpbGUg YSBidWcuIjsKICAgICAgICAgICAgZGllICJCYWQgcGFja2FnZSEgIGVuZXd1c2VyIGlzIG9u bHkgZm9yIHVzZSBpbiBwa2dfKiBmdW5jdGlvbnMhIgogICAgICAgIDs7CiAgICBlc2FjOwog ICAgbG9jYWwgZXVzZXI9JDE7CiAgICBzaGlmdDsKICAgIGlmIFtbIC16ICR7ZXVzZXJ9IF1d OyB0aGVuCiAgICAgICAgZWVycm9yICJObyB1c2VybmFtZSBzcGVjaWZpZWQgISI7CiAgICAg ICAgZGllICJDYW5ub3QgY2FsbCBlbmV3dXNlciB3aXRob3V0IGEgdXNlcm5hbWUiOwogICAg Zmk7CiAgICBpZiBbWyAtbiAkKGVnZXRlbnQgcGFzc3dkICIke2V1c2VyfSIpIF1dOyB0aGVu CiAgICAgICAgcmV0dXJuIDA7CiAgICBmaTsKICAgIGVpbmZvICJBZGRpbmcgdXNlciAnJHtl dXNlcn0nIHRvIHlvdXIgc3lzdGVtIC4uLiI7CiAgICBsb2NhbCBvcHRzPTsKICAgIGxvY2Fs IGV1aWQ9JDE7CiAgICBzaGlmdDsKICAgIGlmIFtbIC1uICR7ZXVpZH0gJiYgJHtldWlkfSAh PSAtMSBdXTsgdGhlbgogICAgICAgIGlmIFtbICR7ZXVpZH0gLWd0IDAgXV07IHRoZW4KICAg ICAgICAgICAgaWYgW1sgLW4gJChlZ2V0ZW50IHBhc3N3ZCAke2V1aWR9KSBdXTsgdGhlbgog ICAgICAgICAgICAgICAgZXVpZD0ibmV4dCI7CiAgICAgICAgICAgIGZpOwogICAgICAgIGVs c2UKICAgICAgICAgICAgZWVycm9yICJVc2VyaWQgZ2l2ZW4gYnV0IGlzIG5vdCBncmVhdGVy IHRoYW4gMCAhIjsKICAgICAgICAgICAgZGllICIke2V1aWR9IGlzIG5vdCBhIHZhbGlkIFVJ RCI7CiAgICAgICAgZmk7CiAgICBlbHNlCiAgICAgICAgZXVpZD0ibmV4dCI7CiAgICBmaTsK ICAgIGlmIFtbICR7ZXVpZH0gPT0gIm5leHQiIF1dOyB0aGVuCiAgICAgICAgZm9yICgoZXVp ZCA9IDEwMTsgZXVpZCA8PSA5OTk7IGV1aWQrKykpCiAgICAgICAgZG8KICAgICAgICAgICAg W1sgLXogJChlZ2V0ZW50IHBhc3N3ZCAke2V1aWR9KSBdXSAmJiBicmVhazsKICAgICAgICBk b25lOwogICAgZmk7CiAgICBvcHRzPSIke29wdHN9IC11ICR7ZXVpZH0iOwogICAgZWluZm8g IiAtIFVzZXJpZDogJHtldWlkfSI7CiAgICBsb2NhbCBlc2hlbGw9JDE7CiAgICBzaGlmdDsK ICAgIGlmIFtbICEgLXogJHtlc2hlbGx9IF1dICYmIFtbICR7ZXNoZWxsfSAhPSAiLTEiIF1d OyB0aGVuCiAgICAgICAgaWYgW1sgISAtZSAke1JPT1R9JHtlc2hlbGx9IF1dOyB0aGVuCiAg ICAgICAgICAgIGVlcnJvciAiQSBzaGVsbCB3YXMgc3BlY2lmaWVkIGJ1dCBpdCBkb2VzIG5v dCBleGlzdCAhIjsKICAgICAgICAgICAgZGllICIke2VzaGVsbH0gZG9lcyBub3QgZXhpc3Qg aW4gJHtST09UfSI7CiAgICAgICAgZmk7CiAgICAgICAgaWYgW1sgJHtlc2hlbGx9ID09ICov ZmFsc2UgfHwgJHtlc2hlbGx9ID09ICovbm9sb2dpbiBdXTsgdGhlbgogICAgICAgICAgICBl ZXJyb3IgIkRvIG5vdCBzcGVjaWZ5ICR7ZXNoZWxsfSB5b3Vyc2VsZiwgdXNlIC0xIjsKICAg ICAgICAgICAgZGllICJQYXNzICctMScgYXMgdGhlIHNoZWxsIHBhcmFtZXRlciI7CiAgICAg ICAgZmk7CiAgICBlbHNlCiAgICAgICAgZm9yIHNoZWxsIGluIC9zYmluL25vbG9naW4gL3Vz ci9zYmluL25vbG9naW4gL2Jpbi9mYWxzZSAvdXNyL2Jpbi9mYWxzZSAvZGV2L251bGw7CiAg ICAgICAgZG8KICAgICAgICAgICAgW1sgLXggJHtST09UfSR7c2hlbGx9IF1dICYmIGJyZWFr OwogICAgICAgIGRvbmU7CiAgICAgICAgaWYgW1sgJHtzaGVsbH0gPT0gIi9kZXYvbnVsbCIg XV07IHRoZW4KICAgICAgICAgICAgZWVycm9yICJVbmFibGUgdG8gaWRlbnRpZnkgdGhlIHNo ZWxsIHRvIHVzZSwgcHJvY2VlZGluZyB3aXRoIHVzZXJsYW5kIGRlZmF1bHQuIjsKICAgICAg ICAgICAgY2FzZSAke1VTRVJMQU5EfSBpbiAKICAgICAgICAgICAgICAgIEdOVSkKICAgICAg ICAgICAgICAgICAgICBzaGVsbD0iL2Jpbi9mYWxzZSIKICAgICAgICAgICAgICAgIDs7CiAg ICAgICAgICAgICAgICBCU0QpCiAgICAgICAgICAgICAgICAgICAgc2hlbGw9Ii9zYmluL25v bG9naW4iCiAgICAgICAgICAgICAgICA7OwogICAgICAgICAgICAgICAgRGFyd2luKQogICAg ICAgICAgICAgICAgICAgIHNoZWxsPSIvdXNyL3NiaW4vbm9sb2dpbiIKICAgICAgICAgICAg ICAgIDs7CiAgICAgICAgICAgICAgICAqKQogICAgICAgICAgICAgICAgICAgIGRpZSAiVW5h YmxlIHRvIGlkZW50aWZ5IHRoZSBkZWZhdWx0IHNoZWxsIGZvciB1c2VybGFuZCAke1VTRVJM QU5EfSIKICAgICAgICAgICAgICAgIDs7CiAgICAgICAgICAgIGVzYWM7CiAgICAgICAgZmk7 CiAgICAgICAgZXNoZWxsPSR7c2hlbGx9OwogICAgZmk7CiAgICBlaW5mbyAiIC0gU2hlbGw6 ICR7ZXNoZWxsfSI7CiAgICBvcHRzPSIke29wdHN9IC1zICR7ZXNoZWxsfSI7CiAgICBsb2Nh bCBlaG9tZT0kMTsKICAgIHNoaWZ0OwogICAgaWYgW1sgLXogJHtlaG9tZX0gXV0gfHwgW1sg JHtlaG9tZX0gPT0gIi0xIiBdXTsgdGhlbgogICAgICAgIGVob21lPSIvZGV2L251bGwiOwog ICAgZmk7CiAgICBlaW5mbyAiIC0gSG9tZTogJHtlaG9tZX0iOwogICAgb3B0cz0iJHtvcHRz fSAtZCAke2Vob21lfSI7CiAgICBsb2NhbCBlZ3JvdXBzPSQxOwogICAgc2hpZnQ7CiAgICBp ZiBbWyAhIC16ICR7ZWdyb3Vwc30gXV07IHRoZW4KICAgICAgICBsb2NhbCBvbGRpZnM9JHtJ RlN9OwogICAgICAgIGxvY2FsIGRlZmdyb3VwPSIiIGV4Z3JvdXBzPSIiOwogICAgICAgIGV4 cG9ydCBJRlM9IiwiOwogICAgICAgIGZvciBnIGluICR7ZWdyb3Vwc307CiAgICAgICAgZG8K ICAgICAgICAgICAgZXhwb3J0IElGUz0ke29sZGlmc307CiAgICAgICAgICAgIGlmIFtbIC16 ICQoZWdldGVudCBncm91cCAiJHtnfSIpIF1dOyB0aGVuCiAgICAgICAgICAgICAgICBlZXJy b3IgIllvdSBtdXN0IGFkZCBncm91cCAke2d9IHRvIHRoZSBzeXN0ZW0gZmlyc3QiOwogICAg ICAgICAgICAgICAgZGllICIke2d9IGlzIG5vdCBhIHZhbGlkIEdJRCI7CiAgICAgICAgICAg IGZpOwogICAgICAgICAgICBpZiBbWyAteiAke2RlZmdyb3VwfSBdXTsgdGhlbgogICAgICAg ICAgICAgICAgZGVmZ3JvdXA9JHtnfTsKICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAg ICAgZXhncm91cHM9IiR7ZXhncm91cHN9LCR7Z30iOwogICAgICAgICAgICBmaTsKICAgICAg ICAgICAgZXhwb3J0IElGUz0iLCI7CiAgICAgICAgZG9uZTsKICAgICAgICBleHBvcnQgSUZT PSR7b2xkaWZzfTsKICAgICAgICBvcHRzPSIke29wdHN9IC1nICR7ZGVmZ3JvdXB9IjsKICAg ICAgICBpZiBbWyAhIC16ICR7ZXhncm91cHN9IF1dOyB0aGVuCiAgICAgICAgICAgIG9wdHM9 IiR7b3B0c30gLUcgJHtleGdyb3VwczoxfSI7CiAgICAgICAgZmk7CiAgICBlbHNlCiAgICAg ICAgZWdyb3Vwcz0iKG5vbmUpIjsKICAgIGZpOwogICAgZWluZm8gIiAtIEdyb3VwczogJHtl Z3JvdXBzfSI7CiAgICBsb2NhbCBvbGRzYW5kYm94PSR7U0FOREJPWF9PTn07CiAgICBleHBv cnQgU0FOREJPWF9PTj0iMCI7CiAgICBjYXNlICR7Q0hPU1R9IGluIAogICAgICAgICotZGFy d2luKikKICAgICAgICAgICAgaWYgW1sgLXogJEAgXV07IHRoZW4KICAgICAgICAgICAgICAg IGRzY2wgLiBjcmVhdGUgL3VzZXJzLyR7ZXVzZXJ9IHVpZCAke2V1aWR9OwogICAgICAgICAg ICAgICAgZHNjbCAuIGNyZWF0ZSAvdXNlcnMvJHtldXNlcn0gc2hlbGwgJHtlc2hlbGx9Owog ICAgICAgICAgICAgICAgZHNjbCAuIGNyZWF0ZSAvdXNlcnMvJHtldXNlcn0gaG9tZSAke2Vo b21lfTsKICAgICAgICAgICAgICAgIGRzY2wgLiBjcmVhdGUgL3VzZXJzLyR7ZXVzZXJ9IHJl YWxuYW1lICJhZGRlZCBieSBwb3J0YWdlIGZvciAke1BOfSI7CiAgICAgICAgICAgICAgICBs b2NhbCBvbGRpZnM9JHtJRlN9OwogICAgICAgICAgICAgICAgZXhwb3J0IElGUz0iLCI7CiAg ICAgICAgICAgICAgICBmb3IgZyBpbiAke2Vncm91cHN9OwogICAgICAgICAgICAgICAgZG8K ICAgICAgICAgICAgICAgICAgICBkc2NsIC4gbWVyZ2UgL2dyb3Vwcy8ke2d9IHVzZXJzICR7 ZXVzZXJ9OwogICAgICAgICAgICAgICAgZG9uZTsKICAgICAgICAgICAgICAgIGV4cG9ydCBJ RlM9JHtvbGRpZnN9OwogICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICBlaW5mbyAi RXh0cmEgb3B0aW9ucyBhcmUgbm90IHN1cHBvcnRlZCBvbiBEYXJ3aW4geWV0IjsKICAgICAg ICAgICAgICAgIGVpbmZvICJQbGVhc2UgcmVwb3J0IHRoZSBlYnVpbGQgYWxvbmcgd2l0aCB0 aGUgaW5mbyBiZWxvdyI7CiAgICAgICAgICAgICAgICBlaW5mbyAiZWV4dHJhOiAkQCI7CiAg ICAgICAgICAgICAgICBkaWUgIlJlcXVpcmVkIGZ1bmN0aW9uIG1pc3NpbmciOwogICAgICAg ICAgICBmaQogICAgICAgIDs7CiAgICAgICAgKi1mcmVlYnNkKiB8ICotZHJhZ29uZmx5KikK ICAgICAgICAgICAgaWYgW1sgLXogJEAgXV07IHRoZW4KICAgICAgICAgICAgICAgIHB3IHVz ZXJhZGQgJHtldXNlcn0gJHtvcHRzfSAtYyAiYWRkZWQgYnkgcG9ydGFnZSBmb3IgJHtQTn0i IGRpZSAiZW5ld3VzZXIgZmFpbGVkIjsKICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAg ICAgZWluZm8gIiAtIEV4dHJhOiAkQCI7CiAgICAgICAgICAgICAgICBwdyB1c2VyYWRkICR7 ZXVzZXJ9ICR7b3B0c30gIiRAIiB8fCBkaWUgImVuZXd1c2VyIGZhaWxlZCI7CiAgICAgICAg ICAgIGZpCiAgICAgICAgOzsKICAgICAgICAqLW5ldGJzZCopCiAgICAgICAgICAgIGlmIFtb IC16ICRAIF1dOyB0aGVuCiAgICAgICAgICAgICAgICB1c2VyYWRkICR7b3B0c30gJHtldXNl cn0gfHwgZGllICJlbmV3dXNlciBmYWlsZWQiOwogICAgICAgICAgICBlbHNlCiAgICAgICAg ICAgICAgICBlaW5mbyAiIC0gRXh0cmE6ICRAIjsKICAgICAgICAgICAgICAgIHVzZXJhZGQg JHtvcHRzfSAke2V1c2VyfSAiJEAiIHx8IGRpZSAiZW5ld3VzZXIgZmFpbGVkIjsKICAgICAg ICAgICAgZmkKICAgICAgICA7OwogICAgICAgICotb3BlbmJzZCopCiAgICAgICAgICAgIGlm IFtbIC16ICRAIF1dOyB0aGVuCiAgICAgICAgICAgICAgICB1c2VyYWRkIC11ICR7ZXVpZH0g LXMgJHtlc2hlbGx9IC1kICR7ZWhvbWV9IC1jICJBZGRlZCBieSBwb3J0YWdlIGZvciAke1BO fSIgLWcgJHtlZ3JvdXBzfSAke2V1c2VyfSB8fCBkaWUgImVuZXd1c2VyIGZhaWxlZCI7CiAg ICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgIGVpbmZvICIgLSBFeHRyYTogJEAiOwog ICAgICAgICAgICAgICAgdXNlcmFkZCAtdSAke2V1aWR9IC1zICR7ZXNoZWxsfSAtZCAke2Vo b21lfSAtYyAiQWRkZWQgYnkgcG9ydGFnZSBmb3IgJHtQTn0iIC1nICR7ZWdyb3Vwc30gJHtl dXNlcn0gIiRAIiB8fCBkaWUgImVuZXd1c2VyIGZhaWxlZCI7CiAgICAgICAgICAgIGZpCiAg ICAgICAgOzsKICAgICAgICAqKQogICAgICAgICAgICBpZiBbWyAteiAkQCBdXTsgdGhlbgog ICAgICAgICAgICAgICAgdXNlcmFkZCAke29wdHN9ICR7ZXVzZXJ9IC1jICJhZGRlZCBieSBw b3J0YWdlIGZvciAke1BOfSIgfHwgZGllICJlbmV3dXNlciBmYWlsZWQiOwogICAgICAgICAg ICBlbHNlCiAgICAgICAgICAgICAgICBlaW5mbyAiIC0gRXh0cmE6ICRAIjsKICAgICAgICAg ICAgICAgIHVzZXJhZGQgJHtvcHRzfSAke2V1c2VyfSAiJEAiIHx8IGRpZSAiZW5ld3VzZXIg ZmFpbGVkIjsKICAgICAgICAgICAgZmkKICAgICAgICA7OwogICAgZXNhYzsKICAgIGlmIFtb ICEgLWUgJHtST09UfS8ke2Vob21lfSBdXTsgdGhlbgogICAgICAgIGVpbmZvICIgLSBDcmVh dGluZyAke2Vob21lfSBpbiAke1JPT1R9IjsKICAgICAgICBta2RpciAtcCAiJHtST09UfS8k e2Vob21lfSI7CiAgICAgICAgY2hvd24gJHtldXNlcn0gIiR7Uk9PVH0vJHtlaG9tZX0iOwog ICAgICAgIGNobW9kIDc1NSAiJHtST09UfS8ke2Vob21lfSI7CiAgICBmaTsKICAgIGV4cG9y dCBTQU5EQk9YX09OPSR7b2xkc2FuZGJveH0KfQplcGF0Y2ggKCkgCnsgCiAgICBmdW5jdGlv biBfZXBhdGNoX2RyYXdfbGluZSAoKSAKICAgIHsgCiAgICAgICAgW1sgLXogJDEgXV0gJiYg c2V0ICIkKHByaW50ZiAiJTY1cyIgJycpIjsKICAgICAgICBlY2hvICIkezEvLz8vPX0iCiAg ICB9OwogICAgZnVuY3Rpb24gX2VwYXRjaF9hc3NlcnQgKCkgCiAgICB7IAogICAgICAgIGxv Y2FsIF9waXBlc3RhdHVzPSR7UElQRVNUQVRVU1sqXX07CiAgICAgICAgW1sgJHtfcGlwZXN0 YXR1cy8vIC99IC1lcSAwIF1dCiAgICB9OwogICAgbG9jYWwgUElQRV9DTUQ9IiI7CiAgICBs b2NhbCBTVERFUlJfVEFSR0VUPSIke1R9LyQkLm91dCI7CiAgICBsb2NhbCBQQVRDSF9UQVJH RVQ9IiR7VH0vJCQucGF0Y2giOwogICAgbG9jYWwgUEFUQ0hfU1VGRklYPSIiOwogICAgbG9j YWwgU0lOR0xFX1BBVENIPSJubyI7CiAgICBsb2NhbCB4PSIiOwogICAgdW5zZXQgUDRDT05G SUcgUDRQT1JUIFA0VVNFUjsKICAgIGlmIFsgIiQjIiAtZ3QgMSBdOyB0aGVuCiAgICAgICAg bG9jYWwgbT0iIjsKICAgICAgICBmb3IgbSBpbiAiJEAiOwogICAgICAgIGRvCiAgICAgICAg ICAgIGVwYXRjaCAiJHttfSI7CiAgICAgICAgZG9uZTsKICAgICAgICByZXR1cm4gMDsKICAg IGZpOwogICAgaWYgWyAtbiAiJDEiIC1hIC1mICIkMSIgXTsgdGhlbgogICAgICAgIFNJTkdM RV9QQVRDSD0ieWVzIjsKICAgICAgICBsb2NhbCBFUEFUQ0hfU09VUkNFPSIkMSI7CiAgICAg ICAgbG9jYWwgRVBBVENIX1NVRkZJWD0iJHsxIyMqXC59IjsKICAgIGVsc2UKICAgICAgICBp ZiBbIC1uICIkMSIgLWEgLWQgIiQxIiBdOyB0aGVuCiAgICAgICAgICAgIGlmIFsgIiR7RVBB VENIX0ZPUkNFfSIgPSAieWVzIiBdICYmIFsgLXogIiR7RVBBVENIX1NVRkZJWH0iIF07IHRo ZW4KICAgICAgICAgICAgICAgIGxvY2FsIEVQQVRDSF9TT1VSQ0U9IiQxLyoiOwogICAgICAg ICAgICBlbHNlCiAgICAgICAgICAgICAgICBsb2NhbCBFUEFUQ0hfU09VUkNFPSIkMS8qLiR7 RVBBVENIX1NVRkZJWH0iOwogICAgICAgICAgICBmaTsKICAgICAgICBlbHNlCiAgICAgICAg ICAgIGlmIFtbICEgLWQgJHtFUEFUQ0hfU09VUkNFfSBdXSB8fCBbWyAtbiAkMSBdXTsgdGhl bgogICAgICAgICAgICAgICAgaWYgWyAtbiAiJDEiIC1hICIke0VQQVRDSF9TT1VSQ0V9IiA9 ICIke1dPUktESVJ9L3BhdGNoIiBdOyB0aGVuCiAgICAgICAgICAgICAgICAgICAgRVBBVENI X1NPVVJDRT0iJDEiOwogICAgICAgICAgICAgICAgZmk7CiAgICAgICAgICAgICAgICBlY2hv OwogICAgICAgICAgICAgICAgZWVycm9yICJDYW5ub3QgZmluZCBcJEVQQVRDSF9TT1VSQ0Uh ICBWYWx1ZSBmb3IgXCRFUEFUQ0hfU09VUkNFIGlzOiI7CiAgICAgICAgICAgICAgICBlZXJy b3I7CiAgICAgICAgICAgICAgICBlZXJyb3IgIiAgJHtFUEFUQ0hfU09VUkNFfSI7CiAgICAg ICAgICAgICAgICBlZXJyb3IgIiAgKCAke0VQQVRDSF9TT1VSQ0UjIyovfSApIjsKICAgICAg ICAgICAgICAgIGVjaG87CiAgICAgICAgICAgICAgICBkaWUgIkNhbm5vdCBmaW5kIFwkRVBB VENIX1NPVVJDRSEiOwogICAgICAgICAgICBmaTsKICAgICAgICAgICAgbG9jYWwgRVBBVENI X1NPVVJDRT0iJHtFUEFUQ0hfU09VUkNFfS8qLiR7RVBBVENIX1NVRkZJWH0iOwogICAgICAg IGZpOwogICAgZmk7CiAgICBjYXNlICR7RVBBVENIX1NVRkZJWCMjKlwufSBpbiAKICAgICAg ICB4eikKICAgICAgICAgICAgUElQRV9DTUQ9Inh6IC1kYyI7CiAgICAgICAgICAgIFBBVENI X1NVRkZJWD0ieHoiCiAgICAgICAgOzsKICAgICAgICBsem1hKQogICAgICAgICAgICBQSVBF X0NNRD0ibHptYSAtZGMiOwogICAgICAgICAgICBQQVRDSF9TVUZGSVg9Imx6bWEiCiAgICAg ICAgOzsKICAgICAgICBiejIpCiAgICAgICAgICAgIFBJUEVfQ01EPSJiemlwMiAtZGMiOwog ICAgICAgICAgICBQQVRDSF9TVUZGSVg9ImJ6MiIKICAgICAgICA7OwogICAgICAgIGd6IHwg WiB8IHopCiAgICAgICAgICAgIFBJUEVfQ01EPSJnemlwIC1kYyI7CiAgICAgICAgICAgIFBB VENIX1NVRkZJWD0iZ3oiCiAgICAgICAgOzsKICAgICAgICBaSVAgfCB6aXApCiAgICAgICAg ICAgIFBJUEVfQ01EPSJ1bnppcCAtcCI7CiAgICAgICAgICAgIFBBVENIX1NVRkZJWD0iemlw IgogICAgICAgIDs7CiAgICAgICAgKikKICAgICAgICAgICAgUElQRV9DTUQ9ImNhdCI7CiAg ICAgICAgICAgIFBBVENIX1NVRkZJWD0icGF0Y2giCiAgICAgICAgOzsKICAgIGVzYWM7CiAg ICBpZiBbICIke1NJTkdMRV9QQVRDSH0iID0gIm5vIiBdOyB0aGVuCiAgICAgICAgZWluZm8g IiR7RVBBVENIX01VTFRJX01TR30iOwogICAgZmk7CiAgICBmb3IgeCBpbiAke0VQQVRDSF9T T1VSQ0V9OwogICAgZG8KICAgICAgICBpZiBbIC1mICR7eH0gXSAmJiAoIFsgIiR7U0lOR0xF X1BBVENIfSIgPSAieWVzIiAtbyAiJHt4L19hbGxffSIgIT0gIiR7eH0iIC1vICIke3gvXyR7 QVJDSH1ffSIgIT0gIiR7eH0iIF0gfHwgWyAiJHtFUEFUQ0hfRk9SQ0V9IiA9ICJ5ZXMiIF0g KTsgdGhlbgogICAgICAgICAgICBsb2NhbCBjb3VudD0wOwogICAgICAgICAgICBsb2NhbCBw b3B0cz0iJHtFUEFUQ0hfT1BUU30iOwogICAgICAgICAgICBsb2NhbCBwYXRjaG5hbWU9JHt4 IyMqL307CiAgICAgICAgICAgIGlmIFsgLW4gIiR7RVBBVENIX0VYQ0xVREV9IiBdOyB0aGVu CiAgICAgICAgICAgICAgICBpZiBbICIke0VQQVRDSF9FWENMVURFLyR7cGF0Y2huYW1lfX0i ICE9ICIke0VQQVRDSF9FWENMVURFfSIgXTsgdGhlbgogICAgICAgICAgICAgICAgICAgIGNv bnRpbnVlOwogICAgICAgICAgICAgICAgZmk7CiAgICAgICAgICAgIGZpOwogICAgICAgICAg ICBpZiBbICIke1NJTkdMRV9QQVRDSH0iID0gInllcyIgXTsgdGhlbgogICAgICAgICAgICAg ICAgaWYgWyAtbiAiJHtFUEFUQ0hfU0lOR0xFX01TR30iIF07IHRoZW4KICAgICAgICAgICAg ICAgICAgICBlaW5mbyAiJHtFUEFUQ0hfU0lOR0xFX01TR30iOwogICAgICAgICAgICAgICAg ZWxzZQogICAgICAgICAgICAgICAgICAgIGVpbmZvICJBcHBseWluZyAke3BhdGNobmFtZX0g Li4uIjsKICAgICAgICAgICAgICAgIGZpOwogICAgICAgICAgICBlbHNlCiAgICAgICAgICAg ICAgICBlaW5mbyAiICAke3BhdGNobmFtZX0gLi4uIjsKICAgICAgICAgICAgZmk7CiAgICAg ICAgICAgIGVjaG8gIioqKioqICR7cGF0Y2huYW1lfSAqKioqKiIgPiAke1NUREVSUl9UQVJH RVQlLyp9LyR7cGF0Y2huYW1lfS0ke1NUREVSUl9UQVJHRVQjIyovfTsKICAgICAgICAgICAg ZWNobyA+PiAke1NUREVSUl9UQVJHRVQlLyp9LyR7cGF0Y2huYW1lfS0ke1NUREVSUl9UQVJH RVQjIyovfTsKICAgICAgICAgICAgaWYgW1sgJHtQQVRDSF9TVUZGSVh9ICE9ICJwYXRjaCIg XV07IHRoZW4KICAgICAgICAgICAgICAgIGVjaG8gLW4gIlBJUEVfQ09NTUFORDoJIiA+PiAk e1NUREVSUl9UQVJHRVQlLyp9LyR7cGF0Y2huYW1lfS0ke1NUREVSUl9UQVJHRVQjIyovfTsK ICAgICAgICAgICAgICAgIGVjaG8gIiR7UElQRV9DTUR9ICR7eH0gPiAke1BBVENIX1RBUkdF VH0iID4+ICR7U1RERVJSX1RBUkdFVCUvKn0vJHtwYXRjaG5hbWV9LSR7U1RERVJSX1RBUkdF VCMjKi99OwogICAgICAgICAgICAgICAgaWYgISAoICR7UElQRV9DTUR9ICR7eH0gPiAke1BB VENIX1RBUkdFVH0gKSA+PiAke1NUREVSUl9UQVJHRVQlLyp9LyR7cGF0Y2huYW1lfS0ke1NU REVSUl9UQVJHRVQjIyovfSAyPiYxOyB0aGVuCiAgICAgICAgICAgICAgICAgICAgZWNobzsK ICAgICAgICAgICAgICAgICAgICBlZXJyb3IgIkNvdWxkIG5vdCBleHRyYWN0IHBhdGNoISI7 CiAgICAgICAgICAgICAgICAgICAgY291bnQ9NTsKICAgICAgICAgICAgICAgICAgICBicmVh azsKICAgICAgICAgICAgICAgIGZpOwogICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAg ICBQQVRDSF9UQVJHRVQ9IiR7eH0iOwogICAgICAgICAgICBmaTsKICAgICAgICAgICAgbG9j YWwgYWJzX3BhdGhzPSQoZWdyZXAgLW4gJ15bLStdezN9IC8nICIke1BBVENIX1RBUkdFVH0i IHwgYXdrICckMiAhPSAiL2Rldi9udWxsIiB7IHByaW50IH0nKTsKICAgICAgICAgICAgaWYg W1sgLW4gJHthYnNfcGF0aHN9IF1dOyB0aGVuCiAgICAgICAgICAgICAgICBjb3VudD0xOwog ICAgICAgICAgICAgICAgZWNobyAiTk9URTogc2tpcHBpbmcgLXAwIGR1ZSB0byBhYnNvbHV0 ZSBwYXRocyBpbiBwYXRjaDoiID4+ICR7U1RERVJSX1RBUkdFVCUvKn0vJHtwYXRjaG5hbWV9 LSR7U1RERVJSX1RBUkdFVCMjKi99OwogICAgICAgICAgICAgICAgZWNobyAiJHthYnNfcGF0 aHN9IiA+PiAke1NUREVSUl9UQVJHRVQlLyp9LyR7cGF0Y2huYW1lfS0ke1NUREVSUl9UQVJH RVQjIyovfTsKICAgICAgICAgICAgZmk7CiAgICAgICAgICAgIHdoaWxlIFsgIiR7Y291bnR9 IiAtbHQgNSBdOyBkbwogICAgICAgICAgICAgICAgX2VwYXRjaF9kcmF3X2xpbmUgIioqKioq ICR7cGF0Y2huYW1lfSAqKioqKiIgPj4gJHtTVERFUlJfVEFSR0VUJS8qfS8ke3BhdGNobmFt ZX0tJHtTVERFUlJfVEFSR0VUIyMqL307CiAgICAgICAgICAgICAgICBlY2hvID4+ICR7U1RE RVJSX1RBUkdFVCUvKn0vJHtwYXRjaG5hbWV9LSR7U1RERVJSX1RBUkdFVCMjKi99OwogICAg ICAgICAgICAgICAgZWNobyAtbiAiUEFUQ0ggQ09NTUFORDoJICIgPj4gJHtTVERFUlJfVEFS R0VUJS8qfS8ke3BhdGNobmFtZX0tJHtTVERFUlJfVEFSR0VUIyMqL307CiAgICAgICAgICAg ICAgICBlY2hvICJwYXRjaCAtcCR7Y291bnR9ICR7cG9wdHN9IDwgJHtQQVRDSF9UQVJHRVR9 IiA+PiAke1NUREVSUl9UQVJHRVQlLyp9LyR7cGF0Y2huYW1lfS0ke1NUREVSUl9UQVJHRVQj IyovfTsKICAgICAgICAgICAgICAgIGVjaG8gPj4gJHtTVERFUlJfVEFSR0VUJS8qfS8ke3Bh dGNobmFtZX0tJHtTVERFUlJfVEFSR0VUIyMqL307CiAgICAgICAgICAgICAgICBfZXBhdGNo X2RyYXdfbGluZSAiKioqKiogJHtwYXRjaG5hbWV9ICoqKioqIiA+PiAke1NUREVSUl9UQVJH RVQlLyp9LyR7cGF0Y2huYW1lfS0ke1NUREVSUl9UQVJHRVQjIyovfTsKICAgICAgICAgICAg ICAgIGlmICggY2F0ICR7UEFUQ0hfVEFSR0VUfSB8IHBhdGNoIC1wJHtjb3VudH0gJHtwb3B0 c30gLS1kcnktcnVuIC1mOwogICAgICAgICAgICAgICAgX2VwYXRjaF9hc3NlcnQgKSA+PiAk e1NUREVSUl9UQVJHRVQlLyp9LyR7cGF0Y2huYW1lfS0ke1NUREVSUl9UQVJHRVQjIyovfSAy PiYxOyB0aGVuCiAgICAgICAgICAgICAgICAgICAgX2VwYXRjaF9kcmF3X2xpbmUgIioqKioq ICR7cGF0Y2huYW1lfSAqKioqKiIgPiAke1NUREVSUl9UQVJHRVQlLyp9LyR7cGF0Y2huYW1l fS0ke1NUREVSUl9UQVJHRVQjIyovfS5yZWFsOwogICAgICAgICAgICAgICAgICAgIGVjaG8g Pj4gJHtTVERFUlJfVEFSR0VUJS8qfS8ke3BhdGNobmFtZX0tJHtTVERFUlJfVEFSR0VUIyMq L30ucmVhbDsKICAgICAgICAgICAgICAgICAgICBlY2hvICJBQ1RVQUxMWSBBUFBMWUlORyAk e3BhdGNobmFtZX0gLi4uIiA+PiAke1NUREVSUl9UQVJHRVQlLyp9LyR7cGF0Y2huYW1lfS0k e1NUREVSUl9UQVJHRVQjIyovfS5yZWFsOwogICAgICAgICAgICAgICAgICAgIGVjaG8gPj4g JHtTVERFUlJfVEFSR0VUJS8qfS8ke3BhdGNobmFtZX0tJHtTVERFUlJfVEFSR0VUIyMqL30u cmVhbDsKICAgICAgICAgICAgICAgICAgICBfZXBhdGNoX2RyYXdfbGluZSAiKioqKiogJHtw YXRjaG5hbWV9ICoqKioqIiA+PiAke1NUREVSUl9UQVJHRVQlLyp9LyR7cGF0Y2huYW1lfS0k e1NUREVSUl9UQVJHRVQjIyovfS5yZWFsOwogICAgICAgICAgICAgICAgICAgIGNhdCAke1BB VENIX1RBUkdFVH0gfCBwYXRjaCAtcCR7Y291bnR9ICR7cG9wdHN9ID4+ICR7U1RERVJSX1RB UkdFVCUvKn0vJHtwYXRjaG5hbWV9LSR7U1RERVJSX1RBUkdFVCMjKi99LnJlYWwgMj4mMTsK ICAgICAgICAgICAgICAgICAgICBfZXBhdGNoX2Fzc2VydDsKICAgICAgICAgICAgICAgICAg ICBpZiBbICIkPyIgLW5lIDAgXTsgdGhlbgogICAgICAgICAgICAgICAgICAgICAgICBjYXQg JHtTVERFUlJfVEFSR0VUJS8qfS8ke3BhdGNobmFtZX0tJHtTVERFUlJfVEFSR0VUIyMqL30u cmVhbCA+PiAke1NUREVSUl9UQVJHRVQlLyp9LyR7cGF0Y2huYW1lfS0ke1NUREVSUl9UQVJH RVQjIyovfTsKICAgICAgICAgICAgICAgICAgICAgICAgZWNobzsKICAgICAgICAgICAgICAg ICAgICAgICAgZWVycm9yICJBIGRyeS1ydW4gb2YgcGF0Y2ggY29tbWFuZCBzdWNjZWVkZWQs IGJ1dCBhY3R1YWxseSI7CiAgICAgICAgICAgICAgICAgICAgICAgIGVlcnJvciAiYXBwbHlp bmcgdGhlIHBhdGNoIGZhaWxlZCEiOwogICAgICAgICAgICAgICAgICAgICAgICBjb3VudD01 OwogICAgICAgICAgICAgICAgICAgIGZpOwogICAgICAgICAgICAgICAgICAgIHJtIC1mICR7 U1RERVJSX1RBUkdFVCUvKn0vJHtwYXRjaG5hbWV9LSR7U1RERVJSX1RBUkdFVCMjKi99LnJl YWw7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBmaTsKICAg ICAgICAgICAgICAgIGNvdW50PSQoKGNvdW50ICsgMSkpOwogICAgICAgICAgICBkb25lOwog ICAgICAgICAgICBpZiBbICIke1BBVENIX1NVRkZJWH0iICE9ICJwYXRjaCIgXTsgdGhlbgog ICAgICAgICAgICAgICAgcm0gLWYgJHtQQVRDSF9UQVJHRVR9OwogICAgICAgICAgICBmaTsK ICAgICAgICAgICAgaWYgWyAiJHtjb3VudH0iIC1lcSA1IF07IHRoZW4KICAgICAgICAgICAg ICAgIGVjaG87CiAgICAgICAgICAgICAgICBlZXJyb3IgIkZhaWxlZCBQYXRjaDogJHtwYXRj aG5hbWV9ICEiOwogICAgICAgICAgICAgICAgZWVycm9yICIgKCAke1BBVENIX1RBUkdFVH0g KSI7CiAgICAgICAgICAgICAgICBlZXJyb3I7CiAgICAgICAgICAgICAgICBlZXJyb3IgIklu Y2x1ZGUgaW4geW91ciBidWdyZXBvcnQgdGhlIGNvbnRlbnRzIG9mOiI7CiAgICAgICAgICAg ICAgICBlZXJyb3I7CiAgICAgICAgICAgICAgICBlZXJyb3IgIiAgJHtTVERFUlJfVEFSR0VU JS8qfS8ke3BhdGNobmFtZX0tJHtTVERFUlJfVEFSR0VUIyMqL30iOwogICAgICAgICAgICAg ICAgZWNobzsKICAgICAgICAgICAgICAgIGRpZSAiRmFpbGVkIFBhdGNoOiAke3BhdGNobmFt ZX0hIjsKICAgICAgICAgICAgZmk7CiAgICAgICAgICAgIHJtIC1mICR7U1RERVJSX1RBUkdF VCUvKn0vJHtwYXRjaG5hbWV9LSR7U1RERVJSX1RBUkdFVCMjKi99OwogICAgICAgICAgICBl ZW5kIDA7CiAgICAgICAgZmk7CiAgICBkb25lOwogICAgaWYgWyAiJHtTSU5HTEVfUEFUQ0h9 IiA9ICJubyIgXTsgdGhlbgogICAgICAgIGVpbmZvICJEb25lIHdpdGggcGF0Y2hpbmciOwog ICAgZmkKfQplcGF1c2UgKCkgCnsgCiAgICBbWyAteiAke0VQQVVTRV9JR05PUkV9IF1dICYm IHNsZWVwICR7MTotNX0KfQplcHVudF9jeHggKCkgCnsgCiAgICBsb2NhbCBkaXI9JDE7CiAg ICBbWyAteiAke2Rpcn0gXV0gJiYgZGlyPSR7U307CiAgICBlYmVnaW4gIlJlbW92aW5nIHVz ZWxlc3MgQysrIGNoZWNrcyI7CiAgICBsb2NhbCBmOwogICAgZmluZCAiJHtkaXJ9IiAtbmFt ZSBjb25maWd1cmUgfCB3aGlsZSByZWFkIGY7IGRvCiAgICAgICAgcGF0Y2ggLS1uby1iYWNr dXAtaWYtbWlzbWF0Y2ggLXAwICIke2Z9IiAiJHtQT1JURElSfS9lY2xhc3MvRUxULXBhdGNo ZXMvbm9jeHgvbm9jeHgucGF0Y2giID4gL2Rldi9udWxsOwogICAgZG9uZTsKICAgIGVlbmQg MAp9CmVzdm5fY2xlYW4gKCkgCnsgCiAgICBbWyAteiAkKiBdXSAmJiBzZXQgLS0gLjsKICAg IGZpbmQgIiRAIiAtdHlwZSBkIC1uYW1lICcuc3ZuJyAtcHJ1bmUgLXByaW50MCB8IHhhcmdz IC0wIHJtIC1yZgp9CmZpbHRlci1mbGFncyAoKSAKeyAKICAgIF9maWx0ZXItaGFyZGVuZWQg IiRAIjsKICAgIF9maWx0ZXItdmFyIENGTEFHUyAiJEAiOwogICAgX2ZpbHRlci12YXIgQ1BQ RkxBR1MgIiRAIjsKICAgIF9maWx0ZXItdmFyIENYWEZMQUdTICIkQCI7CiAgICBfZmlsdGVy LXZhciBGRkxBR1MgIiRAIjsKICAgIF9maWx0ZXItdmFyIEZDRkxBR1MgIiRAIjsKICAgIHJl dHVybiAwCn0KZmlsdGVyLWxkZmxhZ3MgKCkgCnsgCiAgICBfZmlsdGVyLXZhciBMREZMQUdT ICIkQCI7CiAgICByZXR1cm4gMAp9CmZpbHRlci1sZnMtZmxhZ3MgKCkgCnsgCiAgICBbWyAt biAkQCBdXSAmJiBkaWUgImZpbHRlci1sZnMtZmxhZ3MgdGFrZXMgbm8gYXJndW1lbnRzIjsK ICAgIGZpbHRlci1mbGFncyAtRF9GSUxFX09GRlNFVF9CSVRTPTY0IC1EX0xBUkdFRklMRV9T T1VSQ0UgLURfTEFSR0VGSUxFNjRfU09VUkNFCn0KZmlsdGVyLW1mcG1hdGggKCkgCnsgCiAg ICBsb2NhbCBvcmlnX21mcG1hdGggbmV3X21hdGggcHJ1bmVfbWF0aDsKICAgIG9yaWdfbWZw bWF0aD0kKGdldC1mbGFnIC1tZnBtYXRoKTsKICAgIG5ld19tYXRoPSQoZ2V0LWZsYWcgbWZw bWF0aCk7CiAgICBuZXdfbWF0aD0iICR7bmV3X21hdGgvLywvIH0gIjsKICAgIHBydW5lX21h dGg9IiI7CiAgICBmb3IgcHJ1bmVfbWF0aCBpbiAiJEAiOwogICAgZG8KICAgICAgICBuZXdf bWF0aD0ke25ld19tYXRoLyAke3BydW5lX21hdGh9IC8gfTsKICAgIGRvbmU7CiAgICBuZXdf bWF0aD0kKGVjaG8gJHtuZXdfbWF0aH0pOwogICAgbmV3X21hdGg9JHtuZXdfbWF0aC8vIC8s fTsKICAgIGlmIFtbIC16ICR7bmV3X21hdGh9IF1dOyB0aGVuCiAgICAgICAgZmlsdGVyLWZs YWdzICR7b3JpZ19tZnBtYXRofTsKICAgIGVsc2UKICAgICAgICByZXBsYWNlLWZsYWdzICR7 b3JpZ19tZnBtYXRofSAtbWZwbWF0aD0ke25ld19tYXRofTsKICAgIGZpOwogICAgcmV0dXJu IDAKfQpmaW5kX3VucGFja2FibGVfZmlsZSAoKSAKeyAKICAgIGxvY2FsIHNyYz0kMTsKICAg IGlmIFtbIC16ICR7c3JjfSBdXTsgdGhlbgogICAgICAgIHNyYz0ke0RJU1RESVJ9LyR7QX07 CiAgICBlbHNlCiAgICAgICAgaWYgW1sgLWUgJHtESVNURElSfS8ke3NyY30gXV07IHRoZW4K ICAgICAgICAgICAgc3JjPSR7RElTVERJUn0vJHtzcmN9OwogICAgICAgIGVsc2UKICAgICAg ICAgICAgaWYgW1sgLWUgJHtQV0R9LyR7c3JjfSBdXTsgdGhlbgogICAgICAgICAgICAgICAg c3JjPSR7UFdEfS8ke3NyY307CiAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgIGlm IFtbIC1lICR7c3JjfSBdXTsgdGhlbgogICAgICAgICAgICAgICAgICAgIHNyYz0ke3NyY307 CiAgICAgICAgICAgICAgICBmaTsKICAgICAgICAgICAgZmk7CiAgICAgICAgZmk7CiAgICBm aTsKICAgIFtbICEgLWUgJHtzcmN9IF1dICYmIHJldHVybiAxOwogICAgZWNobyAiJHtzcmN9 Igp9CmdjYy1mdWxsdmVyc2lvbiAoKSAKeyAKICAgICQodGMtZ2V0Q0MgIiRAIikgLWR1bXB2 ZXJzaW9uCn0KZ2NjLW1ham9yLXZlcnNpb24gKCkgCnsgCiAgICBnY2MtdmVyc2lvbiAiJEAi IHwgY3V0IC1mMSAtZC4KfQpnY2MtbWljcm8tdmVyc2lvbiAoKSAKeyAKICAgIGdjYy1mdWxs dmVyc2lvbiAiJEAiIHwgY3V0IC1mMyAtZC4gfCBjdXQgLWYxIC1kLQp9CmdjYy1taW5vci12 ZXJzaW9uICgpIAp7IAogICAgZ2NjLXZlcnNpb24gIiRAIiB8IGN1dCAtZjIgLWQuCn0KZ2Nj LXNwZWNzLWRpcmVjdGl2ZSAoKSAKeyAKICAgIGxvY2FsIGRpcmVjdGl2ZSBzdWJkbmFtZSBz dWJkaXJlY3RpdmU7CiAgICBkaXJlY3RpdmU9IiQoX2djYy1zcGVjcy1kaXJlY3RpdmVfcmF3 ICQxKSI7CiAgICB3aGlsZSBbWyAke2RpcmVjdGl2ZX0gPT0gKiVcKCpcKSogXV07IGRvCiAg ICAgICAgc3ViZG5hbWU9JHtkaXJlY3RpdmUvKiVcKH07CiAgICAgICAgc3ViZG5hbWU9JHtz dWJkbmFtZS9cKSp9OwogICAgICAgIHN1YmRpcmVjdGl2ZT0iJChfZ2NjLXNwZWNzLWRpcmVj dGl2ZV9yYXcgJHtzdWJkbmFtZX0pIjsKICAgICAgICBkaXJlY3RpdmU9IiR7ZGlyZWN0aXZl Ly9cJSgke3N1YmRuYW1lfSkvJHtzdWJkaXJlY3RpdmV9fSI7CiAgICBkb25lOwogICAgZWNo byAiJHtkaXJlY3RpdmV9IjsKICAgIHJldHVybiAwCn0KZ2NjLXNwZWNzLW5vc3RyaWN0ICgp IAp7IAogICAgbG9jYWwgZGlyZWN0aXZlOwogICAgZGlyZWN0aXZlPSQoZ2NjLXNwZWNzLWRp cmVjdGl2ZSBjYzEpOwogICAgcmV0dXJuICQoW1sgIiR7ZGlyZWN0aXZlL1x7IWZzdHJpY3Qt b3ZlcmZsb3c6fSIgIT0gIiR7ZGlyZWN0aXZlfSIgXV0pCn0KZ2NjLXNwZWNzLW5vdyAoKSAK eyAKICAgIGxvY2FsIGRpcmVjdGl2ZTsKICAgIGRpcmVjdGl2ZT0kKGdjYy1zcGVjcy1kaXJl Y3RpdmUgbGlua19jb21tYW5kKTsKICAgIHJldHVybiAkKFtbICIke2RpcmVjdGl2ZS9ceyFu b25vdzp9IiAhPSAiJHtkaXJlY3RpdmV9IiBdXSkKfQpnY2Mtc3BlY3MtcGllICgpIAp7IAog ICAgbG9jYWwgZGlyZWN0aXZlOwogICAgZGlyZWN0aXZlPSQoZ2NjLXNwZWNzLWRpcmVjdGl2 ZSBjYzEpOwogICAgcmV0dXJuICQoW1sgIiR7ZGlyZWN0aXZlL1x7IW5vcGllOn0iICE9ICIk e2RpcmVjdGl2ZX0iIF1dKQp9CmdjYy1zcGVjcy1yZWxybyAoKSAKeyAKICAgIGxvY2FsIGRp cmVjdGl2ZTsKICAgIGRpcmVjdGl2ZT0kKGdjYy1zcGVjcy1kaXJlY3RpdmUgbGlua19jb21t YW5kKTsKICAgIHJldHVybiAkKFtbICIke2RpcmVjdGl2ZS9ceyFub3JlbHJvOn0iICE9ICIk e2RpcmVjdGl2ZX0iIF1dKQp9CmdjYy1zcGVjcy1zc3AgKCkgCnsgCiAgICBsb2NhbCBkaXJl Y3RpdmU7CiAgICBkaXJlY3RpdmU9JChnY2Mtc3BlY3MtZGlyZWN0aXZlIGNjMSk7CiAgICBy ZXR1cm4gJChbWyAiJHtkaXJlY3RpdmUvXHshZm5vLXN0YWNrLXByb3RlY3Rvcjp9IiAhPSAi JHtkaXJlY3RpdmV9IiBdXSkKfQpnY2Mtc3BlY3Mtc3NwLXRvLWFsbCAoKSAKeyAKICAgIGxv Y2FsIGRpcmVjdGl2ZTsKICAgIGRpcmVjdGl2ZT0kKGdjYy1zcGVjcy1kaXJlY3RpdmUgY2Mx KTsKICAgIHJldHVybiAkKFtbICIke2RpcmVjdGl2ZS9ceyFmbm8tc3RhY2stcHJvdGVjdG9y LWFsbDp9IiAhPSAiJHtkaXJlY3RpdmV9IiBdXSkKfQpnY2MtdmVyc2lvbiAoKSAKeyAKICAg IGdjYy1mdWxsdmVyc2lvbiAiJEAiIHwgY3V0IC1mMSwyIC1kLgp9Cmdlbl91c3JfbGRzY3Jp cHQgKCkgCnsgCiAgICBsb2NhbCBsaWIgbGliZGlyPSQoZ2V0X2xpYmRpcikgb3V0cHV0X2Zv cm1hdD0iIiBhdXRvPWZhbHNlIHN1ZmZpeD0kKGdldF9saWJuYW1lKTsKICAgIFtbIC16ICR7 RUQrc2V0fSBdXSAmJiBsb2NhbCBFRD0ke0QlL30ke0VQUkVGSVh9LzsKICAgIHRjLWlzLXN0 YXRpYy1vbmx5ICYmIHJldHVybjsKICAgIGRvZGlyIC91c3IvJHtsaWJkaXJ9OwogICAgaWYg W1sgJDEgPT0gIi1hIiBdXTsgdGhlbgogICAgICAgIGF1dG89dHJ1ZTsKICAgICAgICBzaGlm dDsKICAgICAgICBkb2RpciAvJHtsaWJkaXJ9OwogICAgZmk7CiAgICBvdXRwdXRfZm9ybWF0 PSQoJCh0Yy1nZXRDQykgJHtDRkxBR1N9ICR7TERGTEFHU30gLVdsLC0tdmVyYm9zZSAyPiYx IHwgc2VkIC1uICdzL15PVVRQVVRfRk9STUFUKCJcKFteIl0qXCkiLC4qL1wxL3AnKTsKICAg IFtbIC1uICR7b3V0cHV0X2Zvcm1hdH0gXV0gJiYgb3V0cHV0X2Zvcm1hdD0iT1VUUFVUX0ZP Uk1BVCAoICR7b3V0cHV0X2Zvcm1hdH0gKSI7CiAgICBmb3IgbGliIGluICIkQCI7CiAgICBk bwogICAgICAgIGxvY2FsIHRsaWI7CiAgICAgICAgaWYgJHthdXRvfTsgdGhlbgogICAgICAg ICAgICBsaWI9ImxpYiR7bGlifSR7c3VmZml4fSI7CiAgICAgICAgZWxzZQogICAgICAgICAg ICBbWyAtciAke0VEfS8ke2xpYmRpcn0vJHtsaWJ9IF1dIHx8IGNvbnRpbnVlOwogICAgICAg IGZpOwogICAgICAgIGNhc2UgJHtDVEFSR0VUOi0ke0NIT1NUfX0gaW4gCiAgICAgICAgICAg ICotZGFyd2luKikKICAgICAgICAgICAgICAgIGlmICR7YXV0b307IHRoZW4KICAgICAgICAg ICAgICAgICAgICB0bGliPSQoc2Nhbm1hY2hvIC1xRiclUyNGJyAiJHtFRH0iL3Vzci8ke2xp YmRpcn0vJHtsaWJ9KTsKICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAg ICB0bGliPSQoc2Nhbm1hY2hvIC1xRiclUyNGJyAiJHtFRH0iLyR7bGliZGlyfS8ke2xpYn0p OwogICAgICAgICAgICAgICAgZmk7CiAgICAgICAgICAgICAgICBbWyAteiAke3RsaWJ9IF1d ICYmIGRpZSAidW5hYmxlIHRvIHJlYWQgaW5zdGFsbF9uYW1lIGZyb20gJHtsaWJ9IjsKICAg ICAgICAgICAgICAgIHRsaWI9JHt0bGliIyMqL307CiAgICAgICAgICAgICAgICBpZiAke2F1 dG99OyB0aGVuCiAgICAgICAgICAgICAgICAgICAgbXYgIiR7RUR9Ii91c3IvJHtsaWJkaXJ9 LyR7bGliJSR7c3VmZml4fX0uKiR7c3VmZml4Iy59ICIke0VEfSIvJHtsaWJkaXJ9LyB8fCBk aWU7CiAgICAgICAgICAgICAgICAgICAgcm0gLWYgIiR7RUR9Ii8ke2xpYmRpcn0vJHtsaWJ9 OwogICAgICAgICAgICAgICAgZmk7CiAgICAgICAgICAgICAgICBpbnN0YWxsX25hbWVfdG9v bCAtaWQgIiR7RVBSRUZJWH0iLyR7bGliZGlyfS8ke3RsaWJ9ICIke0VEfSIvJHtsaWJkaXJ9 LyR7dGxpYn07CiAgICAgICAgICAgICAgICBwdXNoZCAiJHtFRH0vdXNyLyR7bGliZGlyfSIg PiAvZGV2L251bGw7CiAgICAgICAgICAgICAgICBsbiAtc25mICIuLi8uLi8ke2xpYmRpcn0v JHt0bGlifSIgIiR7bGlifSI7CiAgICAgICAgICAgICAgICBwb3BkID4gL2Rldi9udWxsCiAg ICAgICAgICAgIDs7CiAgICAgICAgICAgICotYWl4KiB8ICotaXJpeCogfCAqLWhwdXgqIHwg Ki1pbnRlcml4KiB8ICotd2lubnQqKQogICAgICAgICAgICAgICAgaWYgJHthdXRvfTsgdGhl bgogICAgICAgICAgICAgICAgICAgIG12ICIke0VEfSIvdXNyLyR7bGliZGlyfS8ke2xpYn0q ICIke0VEfSIvJHtsaWJkaXJ9LyB8fCBkaWU7CiAgICAgICAgICAgICAgICAgICAgdGxpYj0k KHJlYWRsaW5rICIke0VEfSIvJHtsaWJkaXJ9LyR7bGlifSk7CiAgICAgICAgICAgICAgICAg ICAgdGxpYj0ke3RsaWIjIyovfTsKICAgICAgICAgICAgICAgICAgICBpZiBbWyAteiAke3Rs aWJ9IF1dOyB0aGVuCiAgICAgICAgICAgICAgICAgICAgICAgIHRsaWI9JHtsaWJ9OwogICAg ICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgcm0gLWYgIiR7 RUR9Ii8ke2xpYmRpcn0vJHtsaWJ9OwogICAgICAgICAgICAgICAgICAgIGZpOwogICAgICAg ICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgICAgIHRsaWI9JHtsaWJ9OwogICAgICAg ICAgICAgICAgZmk7CiAgICAgICAgICAgICAgICBwdXNoZCAiJHtFRH0vdXNyLyR7bGliZGly fSIgPiAvZGV2L251bGw7CiAgICAgICAgICAgICAgICBsbiAtc25mICIuLi8uLi8ke2xpYmRp cn0vJHt0bGlifSIgIiR7bGlifSI7CiAgICAgICAgICAgICAgICBwb3BkID4gL2Rldi9udWxs CiAgICAgICAgICAgIDs7CiAgICAgICAgICAgICopCiAgICAgICAgICAgICAgICBpZiAke2F1 dG99OyB0aGVuCiAgICAgICAgICAgICAgICAgICAgdGxpYj0kKHNjYW5lbGYgLXFGJyVTI0Yn ICIke0VEfSIvdXNyLyR7bGliZGlyfS8ke2xpYn0pOwogICAgICAgICAgICAgICAgICAgIFtb IC16ICR7dGxpYn0gXV0gJiYgZGllICJ1bmFibGUgdG8gcmVhZCBTT05BTUUgZnJvbSAke2xp Yn0iOwogICAgICAgICAgICAgICAgICAgIG12ICIke0VEfSIvdXNyLyR7bGliZGlyfS8ke2xp Yn0qICIke0VEfSIvJHtsaWJkaXJ9LyB8fCBkaWU7CiAgICAgICAgICAgICAgICAgICAgaWYg W1sgJHt0bGlifSAhPSAke2xpYn0qIF1dOyB0aGVuCiAgICAgICAgICAgICAgICAgICAgICAg IG12ICIke0VEfSIvdXNyLyR7bGliZGlyfS8ke3RsaWJ9KiAiJHtFRH0iLyR7bGliZGlyfS8g fHwgZGllOwogICAgICAgICAgICAgICAgICAgIGZpOwogICAgICAgICAgICAgICAgICAgIHJt IC1mICIke0VEfSIvJHtsaWJkaXJ9LyR7bGlifTsKICAgICAgICAgICAgICAgIGVsc2UKICAg ICAgICAgICAgICAgICAgICB0bGliPSR7bGlifTsKICAgICAgICAgICAgICAgIGZpOwogICAg ICAgICAgICAgICAgY2F0ID4gIiR7RUR9L3Vzci8ke2xpYmRpcn0vJHtsaWJ9IiAgPDwtRU5E X0xEU0NSSVBUCi8qIEdOVSBsZCBzY3JpcHQKICAgU2luY2UgR2VudG9vIGhhcyBjcml0aWNh bCBkeW5hbWljIGxpYnJhcmllcyBpbiAvbGliLCBhbmQgdGhlIHN0YXRpYyB2ZXJzaW9ucwog ICBpbiAvdXNyL2xpYiwgd2UgbmVlZCB0byBoYXZlIGEgImZha2UiIGR5bmFtaWMgbGliIGlu IC91c3IvbGliLCBvdGhlcndpc2Ugd2UKICAgcnVuIGludG8gbGlua2luZyBwcm9ibGVtcy4g IFRoaXMgImZha2UiIGR5bmFtaWMgbGliIGlzIGEgbGlua2VyIHNjcmlwdCB0aGF0CiAgIHJl ZGlyZWN0cyB0aGUgbGlua2VyIHRvIHRoZSByZWFsIGxpYi4gIEFuZCB5ZXMsIHRoaXMgd29y a3MgaW4gdGhlIGNyb3NzLQogICBjb21waWxpbmcgc2NlbmFyaW8gYXMgdGhlIHN5c3Jvb3Qt ZWQgbGlua2VyIHdpbGwgcHJlcGVuZCB0aGUgcmVhbCBwYXRoLgoKICAgU2VlIGJ1ZyBodHRw Oi8vYnVncy5nZW50b28ub3JnLzQ0MTEgZm9yIG1vcmUgaW5mby4KICovCiR7b3V0cHV0X2Zv cm1hdH0KR1JPVVAgKCAke0VQUkVGSVh9LyR7bGliZGlyfS8ke3RsaWJ9ICkKRU5EX0xEU0NS SVBUCgogICAgICAgICAgICA7OwogICAgICAgIGVzYWMKICAgICAgICBmcGVybXMgYSt4ICIv dXNyLyR7bGliZGlyfS8ke2xpYn0iIHx8IGRpZSAiY291bGQgbm90IGNoYW5nZSBwZXJtcyBv biAke2xpYn0iOwogICAgZG9uZQp9CmdldC1mbGFnICgpIAp7IAogICAgbG9jYWwgZiBmaW5k ZmxhZz0iJDEiOwogICAgZm9yIGYgaW4gJHtDRkxBR1N9ICR7Q1hYRkxBR1N9ICR7RkZMQUdT fSAke0ZDRkxBR1N9OwogICAgZG8KICAgICAgICBpZiBbICIke2YvJHtmaW5kZmxhZ319IiAh PSAiJHtmfSIgXTsgdGhlbgogICAgICAgICAgICBwcmludGYgIiVzXG4iICIke2YvLSR7Zmlu ZGZsYWd9PX0iOwogICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICBmaTsKICAgIGRvbmU7 CiAgICByZXR1cm4gMQp9CmdldF9hYmlfQVNGTEFHUyAoKSAKeyAKICAgIGdldF9hYmlfdmFy IEFTRkxBR1MgIiRAIgp9CmdldF9hYmlfQ0RFRklORSAoKSAKeyAKICAgIGdldF9hYmlfdmFy IENERUZJTkUgIiRAIgp9CmdldF9hYmlfQ0ZMQUdTICgpIAp7IAogICAgZ2V0X2FiaV92YXIg Q0ZMQUdTICIkQCIKfQpnZXRfYWJpX0NIT1NUICgpIAp7IAogICAgZ2V0X2FiaV92YXIgQ0hP U1QgIiRAIgp9CmdldF9hYmlfQ1RBUkdFVCAoKSAKeyAKICAgIGdldF9hYmlfdmFyIENUQVJH RVQgIiRAIgp9CmdldF9hYmlfRkFLRV9UQVJHRVRTICgpIAp7IAogICAgZ2V0X2FiaV92YXIg RkFLRV9UQVJHRVRTICIkQCIKfQpnZXRfYWJpX0xERkxBR1MgKCkgCnsgCiAgICBnZXRfYWJp X3ZhciBMREZMQUdTICIkQCIKfQpnZXRfYWJpX0xJQkRJUiAoKSAKeyAKICAgIGdldF9hYmlf dmFyIExJQkRJUiAiJEAiCn0KZ2V0X2FiaV92YXIgKCkgCnsgCiAgICBsb2NhbCBmbGFnPSQx OwogICAgbG9jYWwgYWJpOwogICAgaWYgWyAkIyAtZ3QgMSBdOyB0aGVuCiAgICAgICAgYWJp PSR7Mn07CiAgICBlbHNlCiAgICAgICAgaWYgWyAtbiAiJHtBQkl9IiBdOyB0aGVuCiAgICAg ICAgICAgIGFiaT0ke0FCSX07CiAgICAgICAgZWxzZQogICAgICAgICAgICBpZiBbIC1uICIk e0RFRkFVTFRfQUJJfSIgXTsgdGhlbgogICAgICAgICAgICAgICAgYWJpPSR7REVGQVVMVF9B Qkl9OwogICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICBhYmk9ImRlZmF1bHQiOwog ICAgICAgICAgICBmaTsKICAgICAgICBmaTsKICAgIGZpOwogICAgbG9jYWwgdmFyPSIke2Zs YWd9XyR7YWJpfSI7CiAgICBlY2hvICR7IXZhcn0KfQpnZXRfYWxsX2FiaXMgKCkgCnsgCiAg ICBsb2NhbCBvcmRlcj0iIjsKICAgIGlmIFtbIC16ICR7TVVMVElMSUJfQUJJU30gXV07IHRo ZW4KICAgICAgICBlY2hvICJkZWZhdWx0IjsKICAgICAgICByZXR1cm4gMDsKICAgIGZpOwog ICAgZm9yIHggaW4gJHtNVUxUSUxJQl9BQklTfTsKICAgIGRvCiAgICAgICAgaWYgW1sgJHt4 fSAhPSAke0RFRkFVTFRfQUJJfSBdXTsgdGhlbgogICAgICAgICAgICBvcmRlcj0iJHtvcmRl cjorJHtvcmRlcn0gfSR7eH0iOwogICAgICAgIGZpOwogICAgZG9uZTsKICAgIG9yZGVyPSIk e29yZGVyOiske29yZGVyfSB9JHtERUZBVUxUX0FCSX0iOwogICAgZWNobyAke29yZGVyfTsK ICAgIHJldHVybiAwCn0KZ2V0X2FsbF9saWJkaXJzICgpIAp7IAogICAgbG9jYWwgbGliZGly cz0ibGliIjsKICAgIGxvY2FsIGFiaTsKICAgIGxvY2FsIGRpcjsKICAgIGZvciBhYmkgaW4g JHtNVUxUSUxJQl9BQklTfTsKICAgIGRvCiAgICAgICAgWyAiJChnZXRfYWJpX0xJQkRJUiAk e2FiaX0pIiAhPSAibGliIiBdICYmIGxpYmRpcnM9IiR7bGliZGlyc30gJChnZXRfYWJpX0xJ QkRJUiAke2FiaX0pIjsKICAgIGRvbmU7CiAgICBlY2hvICIke2xpYmRpcnN9Igp9CmdldF9i bWFrZSAoKSAKeyAKICAgIGlmIFtbICR7VVNFUkxBTkR9ID09ICpCU0QgXV07IHRoZW4KICAg ICAgICBlY2hvIG1ha2U7CiAgICBlbHNlCiAgICAgICAgaWYgW1sgJHtVU0VSTEFORH0gPT0g IkRhcndpbiIgXV07IHRoZW4KICAgICAgICAgICAgZWNobyBic2RtYWtlOwogICAgICAgIGVs c2UKICAgICAgICAgICAgZWNobyBwbWFrZTsKICAgICAgICBmaTsKICAgIGZpCn0KZ2V0X2lu c3RhbGxfYWJpcyAoKSAKeyAKICAgIGxvY2FsIG9yZGVyPSIiOwogICAgaWYgW1sgLXogJHtN VUxUSUxJQl9BQklTfSBdXTsgdGhlbgogICAgICAgIGVjaG8gImRlZmF1bHQiOwogICAgICAg IHJldHVybiAwOwogICAgZmk7CiAgICBpZiBbWyAke0VNVUxUSUxJQl9QS0d9ID09ICJ0cnVl IiBdXTsgdGhlbgogICAgICAgIGZvciB4IGluICR7TVVMVElMSUJfQUJJU307CiAgICAgICAg ZG8KICAgICAgICAgICAgaWYgW1sgJHt4fSAhPSAiJHtERUZBVUxUX0FCSX0iIF1dOyB0aGVu CiAgICAgICAgICAgICAgICBoYXNxICR7eH0gJHtBQklfREVOWX0gfHwgb3JkZXJhPSIke29y ZGVyYX0gJHt4fSI7CiAgICAgICAgICAgIGZpOwogICAgICAgIGRvbmU7CiAgICAgICAgaGFz cSAke0RFRkFVTFRfQUJJfSAke0FCSV9ERU5ZfSB8fCBvcmRlcj0iJHtvcmRlcmF9ICR7REVG QVVMVF9BQkl9IjsKICAgICAgICBpZiBbWyAtbiAke0FCSV9BTExPV30gXV07IHRoZW4KICAg ICAgICAgICAgbG9jYWwgb3JkZXJhPSIiOwogICAgICAgICAgICBmb3IgeCBpbiAke29yZGVy fTsKICAgICAgICAgICAgZG8KICAgICAgICAgICAgICAgIGlmIGhhc3EgJHt4fSAke0FCSV9B TExPV307IHRoZW4KICAgICAgICAgICAgICAgICAgICBvcmRlcmE9IiR7b3JkZXJhfSAke3h9 IjsKICAgICAgICAgICAgICAgIGZpOwogICAgICAgICAgICBkb25lOwogICAgICAgICAgICBv cmRlcj0ke29yZGVyYX07CiAgICAgICAgZmk7CiAgICBlbHNlCiAgICAgICAgb3JkZXI9JHtE RUZBVUxUX0FCSX07CiAgICBmaTsKICAgIGlmIFtbIC16ICR7b3JkZXJ9IF1dOyB0aGVuCiAg ICAgICAgZGllICJUaGUgQUJJIGxpc3QgaXMgZW1wdHkuICBBcmUgeW91IHVzaW5nIGEgcHJv cGVyIG11bHRpbGliIHByb2ZpbGU/ICBQZXJoYXBzIHlvdXIgVVNFIGZsYWdzIG9yIE1VTFRJ TElCX0FCSVMgYXJlIHRvbyByZXN0cmljdGl2ZSBmb3IgdGhpcyBwYWNrYWdlLiI7CiAgICBm aTsKICAgIGVjaG8gJHtvcmRlcn07CiAgICByZXR1cm4gMAp9CmdldF9saWJkaXIgKCkgCnsg CiAgICBsb2NhbCBDT05GX0xJQkRJUjsKICAgIGlmIFsgLW4gIiR7Q09ORl9MSUJESVJfT1ZF UlJJREV9IiBdOyB0aGVuCiAgICAgICAgZWNobyAke0NPTkZfTElCRElSX09WRVJSSURFfTsK ICAgIGVsc2UKICAgICAgICBnZXRfYWJpX0xJQkRJUjsKICAgIGZpCn0KZ2V0X2xpYmRpcl9v dmVycmlkZSAoKSAKeyAKICAgIGlmIGhhc19tdWx0aWxpYl9wcm9maWxlOyB0aGVuCiAgICAg ICAgZWVycm9yICJnZXRfbGliZGlyX292ZXJyaWRlIGNhbGxlZCwgYnV0IGl0IHNob3VsZG4n dCBiZSBuZWVkZWQgd2l0aCB0aGUgbmV3IG11bHRpbGliIGFwcHJvYWNoLiAgUGxlYXNlIGZp bGUgYSBidWcgYXQgaHR0cDovL2J1Z3MuZ2VudG9vLm9yZyBhbmQgYXNzaWduIGl0IHRvIGVy YWRpY2F0b3JAZ2VudG9vLm9yZyI7CiAgICAgICAgZXhpdCAxOwogICAgZmk7CiAgICBDT05G X0xJQkRJUj0iJDEiOwogICAgQ09ORl9MSUJESVJfT1ZFUlJJREU9IiQxIjsKICAgIExJQkRJ Ul9kZWZhdWx0PSIkMSIKfQpnZXRfbGlibmFtZSAoKSAKeyAKICAgIGxvY2FsIGxpYm5hbWU7 CiAgICBsb2NhbCB2ZXI9JDE7CiAgICBjYXNlICR7Q0hPU1R9IGluIAogICAgICAgICotY3ln d2luIHwgbWluZ3cqIHwgKi1taW5ndyopCiAgICAgICAgICAgIGxpYm5hbWU9ImRsbCIKICAg ICAgICA7OwogICAgICAgICotZGFyd2luKikKICAgICAgICAgICAgbGlibmFtZT0iZHlsaWIi CiAgICAgICAgOzsKICAgICAgICAqLWFpeCopCiAgICAgICAgICAgIGxpYm5hbWU9ImEiCiAg ICAgICAgOzsKICAgICAgICAqLW1pbnQqKQogICAgICAgICAgICBsaWJuYW1lPSJpcnJlbGV2 YW50IgogICAgICAgIDs7CiAgICAgICAgKikKICAgICAgICAgICAgbGlibmFtZT0ic28iCiAg ICAgICAgOzsKICAgIGVzYWM7CiAgICBpZiBbWyAteiAkKiBdXTsgdGhlbgogICAgICAgIGVj aG8gIi4ke2xpYm5hbWV9IjsKICAgIGVsc2UKICAgICAgICBmb3IgdmVyIGluICIkQCI7CiAg ICAgICAgZG8KICAgICAgICAgICAgY2FzZSAke0NIT1NUfSBpbiAKICAgICAgICAgICAgICAg ICotZGFyd2luKikKICAgICAgICAgICAgICAgICAgICBlY2hvICIuJHt2ZXJ9LiR7bGlibmFt ZX0iCiAgICAgICAgICAgICAgICA7OwogICAgICAgICAgICAgICAgKi1haXgqKQogICAgICAg ICAgICAgICAgICAgIGVjaG8gIi4ke2xpYm5hbWV9IgogICAgICAgICAgICAgICAgOzsKICAg ICAgICAgICAgICAgICotbWludCopCiAgICAgICAgICAgICAgICAgICAgZWNobyAiLiR7bGli bmFtZX0iCiAgICAgICAgICAgICAgICA7OwogICAgICAgICAgICAgICAgKikKICAgICAgICAg ICAgICAgICAgICBlY2hvICIuJHtsaWJuYW1lfS4ke3Zlcn0iCiAgICAgICAgICAgICAgICA7 OwogICAgICAgICAgICBlc2FjOwogICAgICAgIGRvbmU7CiAgICBmaQp9CmdldF9tbF9pbmNk aXIgKCkgCnsgCiAgICBsb2NhbCBkaXI9L3Vzci9pbmNsdWRlOwogICAgaWYgW1sgJCMgLWd0 IDAgXV07IHRoZW4KICAgICAgICBpbmNkaXI9JDE7CiAgICAgICAgc2hpZnQ7CiAgICBmaTsK ICAgIGlmIFtbIC16ICIke01VTFRJTElCX0FCSVN9IiBdXTsgdGhlbgogICAgICAgIGVjaG8g JHtpbmNkaXJ9OwogICAgICAgIHJldHVybiAwOwogICAgZmk7CiAgICBsb2NhbCBhYmk9JHtB QkktJHtERUZBVUxUX0FCSX19OwogICAgaWYgW1sgJCMgLWd0IDAgXV07IHRoZW4KICAgICAg ICBhYmk9JDE7CiAgICAgICAgc2hpZnQ7CiAgICBmaTsKICAgIGlmIFtbIC1kICIke2Rpcn0v Z2VudG9vLW11bHRpbGliLyR7YWJpfSIgXV07IHRoZW4KICAgICAgICBlY2hvICR7ZGlyfS9n ZW50b28tbXVsdGlsaWIvJHthYml9OwogICAgZWxzZQogICAgICAgIGVjaG8gJHtkaXJ9Owog ICAgZmkKfQpnZXRfbW91bnRzICgpIAp7IAogICAgbG9jYWwgcG9pbnQ9IG5vZGU9IGZzPSBv cHRzPSBmb289OwogICAgaWYgW1sgJCh1bmFtZSAtcykgPT0gIkxpbnV4IiBdXTsgdGhlbgog ICAgICAgIHdoaWxlIHJlYWQgbm9kZSBwb2ludCBmcyBvcHRzIGZvbzsgZG8KICAgICAgICAg ICAgZWNobyAiJHtwb2ludH0gJHtub2RlfSAke2ZzfSAke29wdHN9IjsKICAgICAgICBkb25l IDwgL3Byb2MvbW91bnRzOwogICAgICAgIHJldHVybjsKICAgIGZpOwogICAgbG9jYWwgSUZT PScJJzsKICAgIExDX0FMTD1DIG1vdW50IC1wIHwgd2hpbGUgcmVhZCBub2RlIHBvaW50IGZz IGZvbzsgZG8KICAgICAgICBvcHRzPSR7ZnMjKiB9OwogICAgICAgIGZzPSR7ZnMlJSAqfTsK ICAgICAgICBlY2hvICIke3BvaW50Ly8gL1wwNDB9ICR7bm9kZS8vIC9cMDQwfSAke2ZzJSUg Kn0gJHtvcHRzLy8gL1wwNDB9IjsKICAgIGRvbmUKfQpnZXRfbXVsdGlsaWJkaXIgKCkgCnsg CiAgICBpZiBoYXNfbXVsdGlsaWJfcHJvZmlsZTsgdGhlbgogICAgICAgIGVlcnJvciAiZ2V0 X211bHRpbGliZGlyIGNhbGxlZCwgYnV0IGl0IHNob3VsZG4ndCBiZSBuZWVkZWQgd2l0aCB0 aGUgbmV3IG11bHRpbGliIGFwcHJvYWNoLiAgUGxlYXNlIGZpbGUgYSBidWcgYXQgaHR0cDov L2J1Z3MuZ2VudG9vLm9yZyBhbmQgYXNzaWduIGl0IHRvIGVyYWRpY2F0b3JAZ2VudG9vLm9y ZyI7CiAgICAgICAgZXhpdCAxOwogICAgZmk7CiAgICBlY2hvICR7Q09ORl9NVUxUSUxJQkRJ Ujo9bGliMzJ9Cn0KaGFzX2hhcmRlbmVkICgpIAp7IAogICAgZXdhcm4gImhhc19oYXJkZW5l ZDogZGVwcmVjYXRlZCwgcGxlYXNlIHVzZSBnY2Mtc3BlY3Mte3JlbHJvLG5vd30oKSEiIDE+ JjI7CiAgICB0ZXN0X3ZlcnNpb25faW5mbyBIYXJkZW5lZCAmJiByZXR1cm4gMDsKICAgIFtb IC1mICR7R0NDX1NQRUNTfSAmJiAke0dDQ19TUEVDU30gIT0gJHtHQ0NfU1BFQ1MvaGFyZGVu ZWQvfSBdXQp9Cmhhc19tMzIgKCkgCnsgCiAgICBbICIkKHRjLWFyY2gpIiA9ICJhbWQ2NCIg XSAmJiBoYXNfbXVsdGlsaWJfcHJvZmlsZSAmJiByZXR1cm4gMDsKICAgIGxvY2FsIHRlbXA9 JChlbWt0ZW1wKTsKICAgIGVjaG8gImludCBtYWluKCkgeyByZXR1cm4oMCk7IH0iID4gIiR7 dGVtcH0iLmM7CiAgICBNWV9DQz0kKHRjLWdldENDKTsKICAgICR7TVlfQ0MvIC4qL30gLW0z MiAtbyAiJChlbWt0ZW1wKSIgIiR7dGVtcH0iLmMgPiAvZGV2L251bGwgMj4mMTsKICAgIGxv Y2FsIHJldD0kPzsKICAgIHJtIC1mICIke3RlbXB9Ii5jOwogICAgW1sgJHtyZXR9ICE9IDEg XV0gJiYgcmV0dXJuIDA7CiAgICByZXR1cm4gMQp9Cmhhc19tNjQgKCkgCnsgCiAgICBsb2Nh bCB0ZW1wPSIkKGVta3RlbXApIjsKICAgIGVjaG8gImludCBtYWluKCkgeyByZXR1cm4oMCk7 IH0iID4gIiR7dGVtcH0iLmM7CiAgICBNWV9DQz0kKHRjLWdldENDKTsKICAgICR7TVlfQ0Mv IC4qL30gLW02NCAtbyAiJChlbWt0ZW1wKSIgIiR7dGVtcH0iLmMgPiAvZGV2L251bGwgMj4m MTsKICAgIGxvY2FsIHJldD0kPzsKICAgIHJtIC1mICIke3RlbXB9Ii5jOwogICAgW1sgJHty ZXR9ICE9IDEgXV0gJiYgcmV0dXJuIDA7CiAgICByZXR1cm4gMQp9Cmhhc19tdWx0aWxpYl9w cm9maWxlICgpIAp7IAogICAgWyAtbiAiJHtNVUxUSUxJQl9BQklTfSIgLWEgIiR7TVVMVElM SUJfQUJJU30iICE9ICIke01VTFRJTElCX0FCSVMvIC99IiBdCn0KaGFzX3BpYyAoKSAKeyAK ICAgIGV3YXJuICJoYXNfcGljOiBkZXByZWNhdGVkLCBwbGVhc2UgdXNlIGdjYy1zcGVjcy1w aWUoKSEiIDE+JjI7CiAgICBbWyAke0NGTEFHUy8tZlBJQ30gIT0gJHtDRkxBR1N9IHx8ICR7 Q0ZMQUdTLy1mcGljfSAhPSAke0NGTEFHU30gXV0gfHwgZ2NjLXNwZWNzLXBpZQp9Cmhhc19w aWUgKCkgCnsgCiAgICBld2FybiAiaGFzX3BpZTogZGVwcmVjYXRlZCwgcGxlYXNlIHVzZSBn Y2Mtc3BlY3MtcGllKCkhIiAxPiYyOwogICAgW1sgJHtDRkxBR1MvLWZQSUV9ICE9ICR7Q0ZM QUdTfSB8fCAke0NGTEFHUy8tZnBpZX0gIT0gJHtDRkxBR1N9IF1dIHx8IGdjYy1zcGVjcy1w aWUKfQpoYXNfc3NwICgpIAp7IAogICAgZXdhcm4gImhhc19zc3A6IGRlcHJlY2F0ZWQsIHBs ZWFzZSB1c2UgZ2NjLXNwZWNzLXNzcCgpISIgMT4mMjsKICAgIFtbICR7Q0ZMQUdTLy1mc3Rh Y2stcHJvdGVjdG9yfSAhPSAke0NGTEFHU30gfHwgLW4gJChlY2hvIHwgJCh0Yy1nZXRDQykg JHtDRkxBR1N9IC1FIC1kTSAtIHwgZ3JlcCBfX1NTUF9fKSBdXSB8fCBnY2Mtc3BlY3Mtc3Nw Cn0KaGFzX3NzcF9hbGwgKCkgCnsgCiAgICBld2FybiAiaGFzX3NzcF9hbGw6IGRlcHJlY2F0 ZWQsIHBsZWFzZSB1c2UgZ2NjLXNwZWNzLXNzcCgpISIgMT4mMjsKICAgIFtbICR7Q0ZMQUdT Ly1mc3RhY2stcHJvdGVjdG9yLWFsbH0gIT0gJHtDRkxBR1N9IHx8IC1uICQoZWNobyB8ICQo dGMtZ2V0Q0MpICR7Q0ZMQUdTfSAtRSAtZE0gLSB8IGdyZXAgX19TU1BfQUxMX18pIF1dIHx8 IGdjYy1zcGVjcy1zc3AtdG8tYWxsCn0KaXMtZmxhZyAoKSAKeyAKICAgIGlzLWZsYWdxICIk QCIgJiYgZWNobyB0cnVlCn0KaXMtZmxhZ3EgKCkgCnsgCiAgICBbWyAtbiAkMiBdXSAmJiBk aWUgIlVzYWdlOiBpcy1mbGFnIDxmbGFnPiI7CiAgICBfaXNfZmxhZ3EgQ0ZMQUdTICQxIHx8 IF9pc19mbGFncSBDWFhGTEFHUyAkMSB8fCBfaXNfZmxhZ3EgRkZMQUdTICQxIHx8IF9pc19m bGFncSBGQ0ZMQUdTICQxCn0KaXMtbGRmbGFnICgpIAp7IAogICAgaXMtbGRmbGFncSAiJEAi ICYmIGVjaG8gdHJ1ZQp9CmlzLWxkZmxhZ3EgKCkgCnsgCiAgICBbWyAtbiAkMiBdXSAmJiBk aWUgIlVzYWdlOiBpcy1sZGZsYWcgPGZsYWc+IjsKICAgIF9pc19mbGFncSBMREZMQUdTICQx Cn0KaXMtbG9naW4tZGlzYWJsZWQgKCkgCnsgCiAgICBzaGVsbD0kKGVnZXRzaGVsbCAiJDEi KTsKICAgIGNhc2UgJHtzaGVsbH0gaW4gCiAgICAgICAgL2Jpbi9mYWxzZSB8IC91c3IvYmlu L2ZhbHNlIHwgL3NiaW4vbm9sb2dpbiB8IC91c3Ivc2Jpbi9ub2xvZ2luKQogICAgICAgICAg ICByZXR1cm4gMAogICAgICAgIDs7CiAgICAgICAgKikKICAgICAgICAgICAgcmV0dXJuIDEK ICAgICAgICA7OwogICAgZXNhYwp9CmlzX2ZpbmFsX2FiaSAoKSAKeyAKICAgIGhhc19tdWx0 aWxpYl9wcm9maWxlIHx8IHJldHVybiAwOwogICAgbG9jYWwgQUxMX0FCSVM9JChnZXRfaW5z dGFsbF9hYmlzKTsKICAgIGxvY2FsIExBU1RfQUJJPSR7QUxMX0FCSVMvKiAvfTsKICAgIFtb ICR7TEFTVF9BQkl9ID09ICR7QUJJfSBdXQp9Cm1ha2VfZGVza3RvcF9lbnRyeSAoKSAKeyAK ICAgIFtbIC16ICQxIF1dICYmIGVlcnJvciAibWFrZV9kZXNrdG9wX2VudHJ5OiBZb3UgbXVz dCBzcGVjaWZ5IHRoZSBleGVjdXRhYmxlIiAmJiByZXR1cm4gMTsKICAgIGxvY2FsIGV4ZWM9 JHsxfTsKICAgIGxvY2FsIG5hbWU9JHsyOi0ke1BOfX07CiAgICBsb2NhbCBpY29uPSR7Mzot JHtQTn19OwogICAgbG9jYWwgdHlwZT0kezR9OwogICAgbG9jYWwgcGF0aD0kezV9OwogICAg aWYgW1sgLXogJHt0eXBlfSBdXTsgdGhlbgogICAgICAgIGxvY2FsIGNhdG1haj0ke0NBVEVH T1JZJSUtKn07CiAgICAgICAgbG9jYWwgY2F0bWluPSR7Q0FURUdPUlkjIyotfTsKICAgICAg ICBjYXNlICR7Y2F0bWFqfSBpbiAKICAgICAgICAgICAgYXBwKQogICAgICAgICAgICAgICAg Y2FzZSAke2NhdG1pbn0gaW4gCiAgICAgICAgICAgICAgICAgICAgYWNjZXNzaWJpbGl0eSkK ICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1BY2Nlc3NpYmlsaXR5CiAgICAgICAgICAg ICAgICAgICAgOzsKICAgICAgICAgICAgICAgICAgICBhZG1pbikKICAgICAgICAgICAgICAg ICAgICAgICAgdHlwZT1TeXN0ZW0KICAgICAgICAgICAgICAgICAgICA7OwogICAgICAgICAg ICAgICAgICAgIGFudGl2aXJ1cykKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1TeXN0 ZW0KICAgICAgICAgICAgICAgICAgICA7OwogICAgICAgICAgICAgICAgICAgIGFyY2gpCiAg ICAgICAgICAgICAgICAgICAgICAgIHR5cGU9QXJjaGl2aW5nCiAgICAgICAgICAgICAgICAg ICAgOzsKICAgICAgICAgICAgICAgICAgICBiYWNrdXApCiAgICAgICAgICAgICAgICAgICAg ICAgIHR5cGU9QXJjaGl2aW5nCiAgICAgICAgICAgICAgICAgICAgOzsKICAgICAgICAgICAg ICAgICAgICBjZHIpCiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9RGlzY0J1cm5pbmcK ICAgICAgICAgICAgICAgICAgICA7OwogICAgICAgICAgICAgICAgICAgIGRpY3RzKQogICAg ICAgICAgICAgICAgICAgICAgICB0eXBlPURpY3Rpb25hcnkKICAgICAgICAgICAgICAgICAg ICA7OwogICAgICAgICAgICAgICAgICAgIGRvYykKICAgICAgICAgICAgICAgICAgICAgICAg dHlwZT1Eb2N1bWVudGF0aW9uCiAgICAgICAgICAgICAgICAgICAgOzsKICAgICAgICAgICAg ICAgICAgICBlZGl0b3JzKQogICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVRleHRFZGl0 b3IKICAgICAgICAgICAgICAgICAgICA7OwogICAgICAgICAgICAgICAgICAgIGVtYWNzKQog ICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVRleHRFZGl0b3IKICAgICAgICAgICAgICAg ICAgICA7OwogICAgICAgICAgICAgICAgICAgIGVtdWxhdGlvbikKICAgICAgICAgICAgICAg ICAgICAgICAgdHlwZT1FbXVsYXRvcgogICAgICAgICAgICAgICAgICAgIDs7CiAgICAgICAg ICAgICAgICAgICAgbGFwdG9wKQogICAgICAgICAgICAgICAgICAgICAgICB0eXBlPUhhcmR3 YXJlU2V0dGluZ3MKICAgICAgICAgICAgICAgICAgICA7OwogICAgICAgICAgICAgICAgICAg IG9mZmljZSkKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1PZmZpY2UKICAgICAgICAg ICAgICAgICAgICA7OwogICAgICAgICAgICAgICAgICAgIHBkYSkKICAgICAgICAgICAgICAg ICAgICAgICAgdHlwZT1QREEKICAgICAgICAgICAgICAgICAgICA7OwogICAgICAgICAgICAg ICAgICAgIHZpbSkKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1UZXh0RWRpdG9yCiAg ICAgICAgICAgICAgICAgICAgOzsKICAgICAgICAgICAgICAgICAgICB4ZW1hY3MpCiAgICAg ICAgICAgICAgICAgICAgICAgIHR5cGU9VGV4dEVkaXRvcgogICAgICAgICAgICAgICAgICAg IDs7CiAgICAgICAgICAgICAgICAgICAgKikKICAgICAgICAgICAgICAgICAgICAgICAgdHlw ZT0KICAgICAgICAgICAgICAgICAgICA7OwogICAgICAgICAgICAgICAgZXNhYwogICAgICAg ICAgICA7OwogICAgICAgICAgICBkZXYpCiAgICAgICAgICAgICAgICB0eXBlPSJEZXZlbG9w bWVudCIKICAgICAgICAgICAgOzsKICAgICAgICAgICAgZ2FtZXMpCiAgICAgICAgICAgICAg ICBjYXNlICR7Y2F0bWlufSBpbiAKICAgICAgICAgICAgICAgICAgICBhY3Rpb24gfCBmcHMp CiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9QWN0aW9uR2FtZQogICAgICAgICAgICAg ICAgICAgIDs7CiAgICAgICAgICAgICAgICAgICAgYXJjYWRlKQogICAgICAgICAgICAgICAg ICAgICAgICB0eXBlPUFyY2FkZUdhbWUKICAgICAgICAgICAgICAgICAgICA7OwogICAgICAg ICAgICAgICAgICAgIGJvYXJkKQogICAgICAgICAgICAgICAgICAgICAgICB0eXBlPUJvYXJk R2FtZQogICAgICAgICAgICAgICAgICAgIDs7CiAgICAgICAgICAgICAgICAgICAgZW11bGF0 aW9uKQogICAgICAgICAgICAgICAgICAgICAgICB0eXBlPUVtdWxhdG9yCiAgICAgICAgICAg ICAgICAgICAgOzsKICAgICAgICAgICAgICAgICAgICBraWRzKQogICAgICAgICAgICAgICAg ICAgICAgICB0eXBlPUtpZHNHYW1lCiAgICAgICAgICAgICAgICAgICAgOzsKICAgICAgICAg ICAgICAgICAgICBwdXp6bGUpCiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9TG9naWNH YW1lCiAgICAgICAgICAgICAgICAgICAgOzsKICAgICAgICAgICAgICAgICAgICByb2d1ZWxp a2UpCiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9Um9sZVBsYXlpbmcKICAgICAgICAg ICAgICAgICAgICA7OwogICAgICAgICAgICAgICAgICAgIHJwZykKICAgICAgICAgICAgICAg ICAgICAgICAgdHlwZT1Sb2xlUGxheWluZwogICAgICAgICAgICAgICAgICAgIDs7CiAgICAg ICAgICAgICAgICAgICAgc2ltdWxhdGlvbikKICAgICAgICAgICAgICAgICAgICAgICAgdHlw ZT1TaW11bGF0aW9uCiAgICAgICAgICAgICAgICAgICAgOzsKICAgICAgICAgICAgICAgICAg ICBzcG9ydHMpCiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9U3BvcnRzR2FtZQogICAg ICAgICAgICAgICAgICAgIDs7CiAgICAgICAgICAgICAgICAgICAgc3RyYXRlZ3kpCiAgICAg ICAgICAgICAgICAgICAgICAgIHR5cGU9U3RyYXRlZ3lHYW1lCiAgICAgICAgICAgICAgICAg ICAgOzsKICAgICAgICAgICAgICAgICAgICAqKQogICAgICAgICAgICAgICAgICAgICAgICB0 eXBlPQogICAgICAgICAgICAgICAgICAgIDs7CiAgICAgICAgICAgICAgICBlc2FjOwogICAg ICAgICAgICAgICAgdHlwZT0iR2FtZTske3R5cGV9IgogICAgICAgICAgICA7OwogICAgICAg ICAgICBnbm9tZSkKICAgICAgICAgICAgICAgIHR5cGU9Ikdub21lO0dUSyIKICAgICAgICAg ICAgOzsKICAgICAgICAgICAga2RlKQogICAgICAgICAgICAgICAgdHlwZT0iS0RFO1F0Igog ICAgICAgICAgICA7OwogICAgICAgICAgICBtYWlsKQogICAgICAgICAgICAgICAgdHlwZT0i TmV0d29yaztFbWFpbCIKICAgICAgICAgICAgOzsKICAgICAgICAgICAgbWVkaWEpCiAgICAg ICAgICAgICAgICBjYXNlICR7Y2F0bWlufSBpbiAKICAgICAgICAgICAgICAgICAgICBnZngp CiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9R3JhcGhpY3MKICAgICAgICAgICAgICAg ICAgICA7OwogICAgICAgICAgICAgICAgICAgIHJhZGlvKQogICAgICAgICAgICAgICAgICAg ICAgICB0eXBlPVR1bmVyCiAgICAgICAgICAgICAgICAgICAgOzsKICAgICAgICAgICAgICAg ICAgICBzb3VuZCkKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1BdWRpbwogICAgICAg ICAgICAgICAgICAgIDs7CiAgICAgICAgICAgICAgICAgICAgdHYpCiAgICAgICAgICAgICAg ICAgICAgICAgIHR5cGU9VFYKICAgICAgICAgICAgICAgICAgICA7OwogICAgICAgICAgICAg ICAgICAgIHZpZGVvKQogICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVZpZGVvCiAgICAg ICAgICAgICAgICAgICAgOzsKICAgICAgICAgICAgICAgICAgICAqKQogICAgICAgICAgICAg ICAgICAgICAgICB0eXBlPQogICAgICAgICAgICAgICAgICAgIDs7CiAgICAgICAgICAgICAg ICBlc2FjOwogICAgICAgICAgICAgICAgdHlwZT0iQXVkaW9WaWRlbzske3R5cGV9IgogICAg ICAgICAgICA7OwogICAgICAgICAgICBuZXQpCiAgICAgICAgICAgICAgICBjYXNlICR7Y2F0 bWlufSBpbiAKICAgICAgICAgICAgICAgICAgICBkaWFsdXApCiAgICAgICAgICAgICAgICAg ICAgICAgIHR5cGU9RGlhbHVwCiAgICAgICAgICAgICAgICAgICAgOzsKICAgICAgICAgICAg ICAgICAgICBmdHApCiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9RmlsZVRyYW5zZmVy CiAgICAgICAgICAgICAgICAgICAgOzsKICAgICAgICAgICAgICAgICAgICBpbSkKICAgICAg ICAgICAgICAgICAgICAgICAgdHlwZT1JbnN0YW50TWVzc2FnaW5nCiAgICAgICAgICAgICAg ICAgICAgOzsKICAgICAgICAgICAgICAgICAgICBpcmMpCiAgICAgICAgICAgICAgICAgICAg ICAgIHR5cGU9SVJDQ2xpZW50CiAgICAgICAgICAgICAgICAgICAgOzsKICAgICAgICAgICAg ICAgICAgICBtYWlsKQogICAgICAgICAgICAgICAgICAgICAgICB0eXBlPUVtYWlsCiAgICAg ICAgICAgICAgICAgICAgOzsKICAgICAgICAgICAgICAgICAgICBuZXdzKQogICAgICAgICAg ICAgICAgICAgICAgICB0eXBlPU5ld3MKICAgICAgICAgICAgICAgICAgICA7OwogICAgICAg ICAgICAgICAgICAgIG5udHApCiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9TmV3cwog ICAgICAgICAgICAgICAgICAgIDs7CiAgICAgICAgICAgICAgICAgICAgcDJwKQogICAgICAg ICAgICAgICAgICAgICAgICB0eXBlPUZpbGVUcmFuc2ZlcgogICAgICAgICAgICAgICAgICAg IDs7CiAgICAgICAgICAgICAgICAgICAgKikKICAgICAgICAgICAgICAgICAgICAgICAgdHlw ZT0KICAgICAgICAgICAgICAgICAgICA7OwogICAgICAgICAgICAgICAgZXNhYzsKICAgICAg ICAgICAgICAgIHR5cGU9Ik5ldHdvcms7JHt0eXBlfSIKICAgICAgICAgICAgOzsKICAgICAg ICAgICAgc2NpKQogICAgICAgICAgICAgICAgY2FzZSAke2NhdG1pbn0gaW4gCiAgICAgICAg ICAgICAgICAgICAgYXN0cm8qKQogICAgICAgICAgICAgICAgICAgICAgICB0eXBlPUFzdHJv bm9teQogICAgICAgICAgICAgICAgICAgIDs7CiAgICAgICAgICAgICAgICAgICAgYmlvKikK ICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1CaW9sb2d5CiAgICAgICAgICAgICAgICAg ICAgOzsKICAgICAgICAgICAgICAgICAgICBjYWxjKikKICAgICAgICAgICAgICAgICAgICAg ICAgdHlwZT1DYWxjdWxhdG9yCiAgICAgICAgICAgICAgICAgICAgOzsKICAgICAgICAgICAg ICAgICAgICBjaGVtKikKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1DaGVtaXN0cnkK ICAgICAgICAgICAgICAgICAgICA7OwogICAgICAgICAgICAgICAgICAgIGVsZWMqKQogICAg ICAgICAgICAgICAgICAgICAgICB0eXBlPUVsZWN0cm9uaWNzCiAgICAgICAgICAgICAgICAg ICAgOzsKICAgICAgICAgICAgICAgICAgICBnZW8qKQogICAgICAgICAgICAgICAgICAgICAg ICB0eXBlPUdlb2xvZ3kKICAgICAgICAgICAgICAgICAgICA7OwogICAgICAgICAgICAgICAg ICAgIG1hdGgqKQogICAgICAgICAgICAgICAgICAgICAgICB0eXBlPU1hdGgKICAgICAgICAg ICAgICAgICAgICA7OwogICAgICAgICAgICAgICAgICAgIHBoeXNpY3MpCiAgICAgICAgICAg ICAgICAgICAgICAgIHR5cGU9UGh5c2ljcwogICAgICAgICAgICAgICAgICAgIDs7CiAgICAg ICAgICAgICAgICAgICAgdmlzdWFsKikKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1E YXRhVmlzdWFsaXphdGlvbgogICAgICAgICAgICAgICAgICAgIDs7CiAgICAgICAgICAgICAg ICAgICAgKikKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0KICAgICAgICAgICAgICAg ICAgICA7OwogICAgICAgICAgICAgICAgZXNhYzsKICAgICAgICAgICAgICAgIHR5cGU9IlNj aWVuY2U7JHt0eXBlfSIKICAgICAgICAgICAgOzsKICAgICAgICAgICAgc3lzKQogICAgICAg ICAgICAgICAgdHlwZT0iU3lzdGVtIgogICAgICAgICAgICA7OwogICAgICAgICAgICB3d3cp CiAgICAgICAgICAgICAgICBjYXNlICR7Y2F0bWlufSBpbiAKICAgICAgICAgICAgICAgICAg ICBjbGllbnQpCiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9V2ViQnJvd3NlcgogICAg ICAgICAgICAgICAgICAgIDs7CiAgICAgICAgICAgICAgICAgICAgKikKICAgICAgICAgICAg ICAgICAgICAgICAgdHlwZT0KICAgICAgICAgICAgICAgICAgICA7OwogICAgICAgICAgICAg ICAgZXNhYzsKICAgICAgICAgICAgICAgIHR5cGU9Ik5ldHdvcmsiCiAgICAgICAgICAgIDs7 CiAgICAgICAgICAgICopCiAgICAgICAgICAgICAgICB0eXBlPQogICAgICAgICAgICA7Owog ICAgICAgIGVzYWM7CiAgICBmaTsKICAgIGlmIFsgIiR7U0xPVH0iID09ICIwIiBdOyB0aGVu CiAgICAgICAgbG9jYWwgZGVza3RvcF9uYW1lPSIke1BOfSI7CiAgICBlbHNlCiAgICAgICAg bG9jYWwgZGVza3RvcF9uYW1lPSIke1BOfS0ke1NMT1R9IjsKICAgIGZpOwogICAgbG9jYWwg ZGVza3RvcD0iJHtUfS8kKGVjaG8gJHtleGVjfSB8IHNlZCAnczpbWzpzcGFjZTpdLzpdOl86 ZycpLSR7ZGVza3RvcF9uYW1lfS5kZXNrdG9wIjsKICAgIGNhdCA+ICIke2Rlc2t0b3B9IiAg PDwtRU9GCltEZXNrdG9wIEVudHJ5XQpWZXJzaW9uPTEuMApOYW1lPSR7bmFtZX0KVHlwZT1B cHBsaWNhdGlvbgpDb21tZW50PSR7REVTQ1JJUFRJT059CkV4ZWM9JHtleGVjfQpUcnlFeGVj PSR7ZXhlYyUlICp9Ckljb249JHtpY29ufQpDYXRlZ29yaWVzPSR7dHlwZX07CkVPRgoKICAg IFtbIC1uICR7cGF0aH0gXV0gJiYgZWNobyAiUGF0aD0ke3BhdGh9IiA+PiAiJHtkZXNrdG9w fSI7CiAgICAoIGluc2ludG8gL3Vzci9zaGFyZS9hcHBsaWNhdGlvbnM7CiAgICBkb2lucyAi JHtkZXNrdG9wfSIgKQp9Cm1ha2Vfc2Vzc2lvbl9kZXNrdG9wICgpIAp7IAogICAgW1sgLXog JDEgXV0gJiYgZWVycm9yICIkMDogWW91IG11c3Qgc3BlY2lmeSB0aGUgdGl0bGUiICYmIHJl dHVybiAxOwogICAgW1sgLXogJDIgXV0gJiYgZWVycm9yICIkMDogWW91IG11c3Qgc3BlY2lm eSB0aGUgY29tbWFuZCIgJiYgcmV0dXJuIDE7CiAgICBsb2NhbCB0aXRsZT0kMTsKICAgIGxv Y2FsIGNvbW1hbmQ9JDI7CiAgICBsb2NhbCBkZXNrdG9wPSR7VH0vJHt3bTotJHtQTn19LmRl c2t0b3A7CiAgICBzaGlmdCAyOwogICAgY2F0ID4gIiR7ZGVza3RvcH0iICA8PC1FT0YKW0Rl c2t0b3AgRW50cnldCk5hbWU9JHt0aXRsZX0KQ29tbWVudD1UaGlzIHNlc3Npb24gbG9ncyB5 b3UgaW50byAke3RpdGxlfQpFeGVjPSR7Y29tbWFuZH0gJCoKVHJ5RXhlYz0ke2NvbW1hbmR9 ClR5cGU9WFNlc3Npb24KRU9GCgogICAgKCBpbnNpbnRvIC91c3Ivc2hhcmUveHNlc3Npb25z OwogICAgZG9pbnMgIiR7ZGVza3RvcH0iICkKfQptYWtlX3dyYXBwZXIgKCkgCnsgCiAgICBs b2NhbCB3cmFwcGVyPSQxIGJpbj0kMiBjaGRpcj0kMyBsaWJkaXI9JDQgcGF0aD0kNTsKICAg IGxvY2FsIHRtcHdyYXBwZXI9JChlbWt0ZW1wKTsKICAgIGNhdCA+ICIke3RtcHdyYXBwZXJ9 IiAgPDxFT0YKIyEvYmluL3NoCmNkICIke2NoZGlyOi0ufSIKaWYgWyAtbiAiJHtsaWJkaXJ9 IiBdIDsgdGhlbgoJaWYgWyAiXCR7TERfTElCUkFSWV9QQVRIK3NldH0iID0gInNldCIgXSA7 IHRoZW4KCQlleHBvcnQgTERfTElCUkFSWV9QQVRIPSJcJHtMRF9MSUJSQVJZX1BBVEh9OiR7 bGliZGlyfSIKCWVsc2UKCQlleHBvcnQgTERfTElCUkFSWV9QQVRIPSIke2xpYmRpcn0iCglm aQpmaQpleGVjICR7YmlufSAiXCRAIgpFT0YKCiAgICBjaG1vZCBnbytyeCAiJHt0bXB3cmFw cGVyfSI7CiAgICBpZiBbWyAtbiAke3BhdGh9IF1dOyB0aGVuCiAgICAgICAgKCBleGVpbnRv ICIke3BhdGh9IjsKICAgICAgICBuZXdleGUgIiR7dG1wd3JhcHBlcn0iICIke3dyYXBwZXJ9 IiApIHx8IGRpZTsKICAgIGVsc2UKICAgICAgICBuZXdiaW4gIiR7dG1wd3JhcHBlcn0iICIk e3dyYXBwZXJ9IiB8fCBkaWU7CiAgICBmaQp9Cm11bHRpbGliX2VudiAoKSAKeyAKICAgIGxv Y2FsIENUQVJHRVQ9JHsxOi0ke0NUQVJHRVR9fTsKICAgIGNhc2UgJHtDVEFSR0VUfSBpbiAK ICAgICAgICB4ODZfNjQqKQogICAgICAgICAgICBleHBvcnQgQ0ZMQUdTX3g4Nj0ke0NGTEFH U194ODYtLW0zMn07CiAgICAgICAgICAgIGV4cG9ydCBDSE9TVF94ODY9JHtDVEFSR0VUL3g4 Nl82NC9pNjg2fTsKICAgICAgICAgICAgZXhwb3J0IENUQVJHRVRfeDg2PSR7Q0hPU1RfeDg2 fTsKICAgICAgICAgICAgZXhwb3J0IENERUZJTkVfeDg2PSJfX2kzODZfXyI7CiAgICAgICAg ICAgIGV4cG9ydCBMSUJESVJfeDg2PSJsaWIiOwogICAgICAgICAgICBleHBvcnQgQ0ZMQUdT X2FtZDY0PSR7Q0ZMQUdTX2FtZDY0LS1tNjR9OwogICAgICAgICAgICBleHBvcnQgQ0hPU1Rf YW1kNjQ9JHtDVEFSR0VUfTsKICAgICAgICAgICAgZXhwb3J0IENUQVJHRVRfYW1kNjQ9JHtD SE9TVF9hbWQ2NH07CiAgICAgICAgICAgIGV4cG9ydCBDREVGSU5FX2FtZDY0PSJfX3g4Nl82 NF9fIjsKICAgICAgICAgICAgZXhwb3J0IExJQkRJUl9hbWQ2ND0ibGliNjQiOwogICAgICAg ICAgICBleHBvcnQgTVVMVElMSUJfQUJJUz0iYW1kNjQgeDg2IjsKICAgICAgICAgICAgZXhw b3J0IERFRkFVTFRfQUJJPSJhbWQ2NCIKICAgICAgICA7OwogICAgICAgIG1pcHM2NCopCiAg ICAgICAgICAgIGV4cG9ydCBDRkxBR1NfbzMyPSR7Q0ZMQUdTX28zMi0tbWFiaT0zMn07CiAg ICAgICAgICAgIGV4cG9ydCBDSE9TVF9vMzI9JHtDVEFSR0VUL21pcHM2NC9taXBzfTsKICAg ICAgICAgICAgZXhwb3J0IENUQVJHRVRfbzMyPSR7Q0hPU1RfbzMyfTsKICAgICAgICAgICAg ZXhwb3J0IENERUZJTkVfbzMyPSJfTUlQU19TSU0gPT0gX0FCSU8zMiI7CiAgICAgICAgICAg IGV4cG9ydCBMSUJESVJfbzMyPSJsaWIiOwogICAgICAgICAgICBleHBvcnQgQ0ZMQUdTX24z Mj0ke0NGTEFHU19uMzItLW1hYmk9bjMyfTsKICAgICAgICAgICAgZXhwb3J0IENIT1NUX24z Mj0ke0NUQVJHRVR9OwogICAgICAgICAgICBleHBvcnQgQ1RBUkdFVF9uMzI9JHtDSE9TVF9u MzJ9OwogICAgICAgICAgICBleHBvcnQgQ0RFRklORV9uMzI9Il9NSVBTX1NJTSA9PSBfQUJJ TjMyIjsKICAgICAgICAgICAgZXhwb3J0IExJQkRJUl9uMzI9ImxpYjMyIjsKICAgICAgICAg ICAgZXhwb3J0IENGTEFHU19uNjQ9JHtDRkxBR1NfbjY0LS1tYWJpPTY0fTsKICAgICAgICAg ICAgZXhwb3J0IENIT1NUX242ND0ke0NUQVJHRVR9OwogICAgICAgICAgICBleHBvcnQgQ1RB UkdFVF9uNjQ9JHtDSE9TVF9uNjR9OwogICAgICAgICAgICBleHBvcnQgQ0RFRklORV9uNjQ9 Il9NSVBTX1NJTSA9PSBfQUJJNjQiOwogICAgICAgICAgICBleHBvcnQgTElCRElSX242ND0i bGliNjQiOwogICAgICAgICAgICBleHBvcnQgTVVMVElMSUJfQUJJUz0ibjY0IG4zMiBvMzIi OwogICAgICAgICAgICBleHBvcnQgREVGQVVMVF9BQkk9Im4zMiIKICAgICAgICA7OwogICAg ICAgIHBvd2VycGM2NCopCiAgICAgICAgICAgIGV4cG9ydCBDRkxBR1NfcHBjPSR7Q0ZMQUdT X3BwYy0tbTMyfTsKICAgICAgICAgICAgZXhwb3J0IENIT1NUX3BwYz0ke0NUQVJHRVQvcG93 ZXJwYzY0L3Bvd2VycGN9OwogICAgICAgICAgICBleHBvcnQgQ1RBUkdFVF9wcGM9JHtDSE9T VF9wcGN9OwogICAgICAgICAgICBleHBvcnQgQ0RFRklORV9wcGM9IiFfX3Bvd2VycGM2NF9f IjsKICAgICAgICAgICAgZXhwb3J0IExJQkRJUl9wcGM9ImxpYiI7CiAgICAgICAgICAgIGV4 cG9ydCBDRkxBR1NfcHBjNjQ9JHtDRkxBR1NfcHBjNjQtLW02NH07CiAgICAgICAgICAgIGV4 cG9ydCBDSE9TVF9wcGM2ND0ke0NUQVJHRVR9OwogICAgICAgICAgICBleHBvcnQgQ1RBUkdF VF9wcGM2ND0ke0NIT1NUX3BwYzY0fTsKICAgICAgICAgICAgZXhwb3J0IENERUZJTkVfcHBj NjQ9Il9fcG93ZXJwYzY0X18iOwogICAgICAgICAgICBleHBvcnQgTElCRElSX3BwYzY0PSJs aWI2NCI7CiAgICAgICAgICAgIGV4cG9ydCBNVUxUSUxJQl9BQklTPSJwcGM2NCBwcGMiOwog ICAgICAgICAgICBleHBvcnQgREVGQVVMVF9BQkk9InBwYzY0IgogICAgICAgIDs7CiAgICAg ICAgczM5MHgqKQogICAgICAgICAgICBleHBvcnQgQ0ZMQUdTX3MzOTA9JHtDRkxBR1NfczM5 MC0tbTMxfTsKICAgICAgICAgICAgZXhwb3J0IENIT1NUX3MzOTA9JHtDVEFSR0VUL3MzOTB4 L3MzOTB9OwogICAgICAgICAgICBleHBvcnQgQ1RBUkdFVF9zMzkwPSR7Q0hPU1RfczM5MH07 CiAgICAgICAgICAgIGV4cG9ydCBDREVGSU5FX3MzOTA9IiFfX3MzOTB4X18iOwogICAgICAg ICAgICBleHBvcnQgTElCRElSX3MzOTA9ImxpYiI7CiAgICAgICAgICAgIGV4cG9ydCBDRkxB R1NfczM5MHg9JHtDRkxBR1NfczM5MHgtLW02NH07CiAgICAgICAgICAgIGV4cG9ydCBDSE9T VF9zMzkweD0ke0NUQVJHRVR9OwogICAgICAgICAgICBleHBvcnQgQ1RBUkdFVF9zMzkweD0k e0NIT1NUX3MzOTB4fTsKICAgICAgICAgICAgZXhwb3J0IENERUZJTkVfczM5MHg9Il9fczM5 MHhfXyI7CiAgICAgICAgICAgIGV4cG9ydCBMSUJESVJfczM5MHg9ImxpYjY0IjsKICAgICAg ICAgICAgZXhwb3J0IE1VTFRJTElCX0FCSVM9InMzOTB4IHMzOTAiOwogICAgICAgICAgICBl eHBvcnQgREVGQVVMVF9BQkk9InMzOTB4IgogICAgICAgIDs7CiAgICAgICAgc3BhcmMqKQog ICAgICAgICAgICBleHBvcnQgQ0ZMQUdTX3NwYXJjMzI9JHtDRkxBR1Nfc3BhcmMzMn07CiAg ICAgICAgICAgIGV4cG9ydCBDSE9TVF9zcGFyYzMyPSR7Q1RBUkdFVC9zcGFyYzY0L3NwYXJj fTsKICAgICAgICAgICAgZXhwb3J0IENUQVJHRVRfc3BhcmMzMj0ke0NIT1NUX3NwYXJjMzJ9 OwogICAgICAgICAgICBleHBvcnQgQ0RFRklORV9zcGFyYzMyPSIhX19hcmNoNjRfXyI7CiAg ICAgICAgICAgIGV4cG9ydCBMSUJESVJfc3BhcmMzMj0ibGliIjsKICAgICAgICAgICAgZXhw b3J0IENGTEFHU19zcGFyYzY0PSR7Q0ZMQUdTX3NwYXJjNjQtLW02NH07CiAgICAgICAgICAg IGV4cG9ydCBDSE9TVF9zcGFyYzY0PSR7Q1RBUkdFVH07CiAgICAgICAgICAgIGV4cG9ydCBD VEFSR0VUX3NwYXJjNjQ9JHtDSE9TVF9zcGFyYzY0fTsKICAgICAgICAgICAgZXhwb3J0IENE RUZJTkVfc3BhcmM2ND0iX19hcmNoNjRfXyI7CiAgICAgICAgICAgIGV4cG9ydCBMSUJESVJf c3BhcmM2ND0ibGliNjQiOwogICAgICAgICAgICBleHBvcnQgTVVMVElMSUJfQUJJUz0iJHtN VUxUSUxJQl9BQklTLXNwYXJjNjQgc3BhcmMzMn0iOwogICAgICAgICAgICBleHBvcnQgREVG QVVMVF9BQkk9IiR7REVGQVVMVF9BQkktc3BhcmM2NH0iCiAgICAgICAgOzsKICAgICAgICAq KQogICAgICAgICAgICBleHBvcnQgTVVMVElMSUJfQUJJUz0iZGVmYXVsdCI7CiAgICAgICAg ICAgIGV4cG9ydCBERUZBVUxUX0FCST0iZGVmYXVsdCIKICAgICAgICA7OwogICAgZXNhYwp9 Cm11bHRpbGliX3Rvb2xjaGFpbl9zZXR1cCAoKSAKeyAKICAgIGxvY2FsIHYgdnY7CiAgICBl eHBvcnQgQUJJPSQxOwogICAgaWYgW1sgJHtBQkl9ICE9ICR7REVGQVVMVF9BQkl9IF1dOyB0 aGVuCiAgICAgICAgaWYgW1sgJHtERUZBVUxUX0FCSV9TQVZFRH0gIT0gInRydWUiIF1dOyB0 aGVuCiAgICAgICAgICAgIGZvciB2IGluIENIT1NUIENCVUlMRCBBUyBDQyBDWFggTEQ7CiAg ICAgICAgICAgIGRvCiAgICAgICAgICAgICAgICBleHBvcnQgX19hYmlfc2F2ZWRfJHt2fT0i JHshdn0iOwogICAgICAgICAgICBkb25lOwogICAgICAgICAgICBleHBvcnQgREVGQVVMVF9B QklfU0FWRUQ9InRydWUiOwogICAgICAgIGZpOwogICAgICAgIGV4cG9ydCBDSE9TVD0kKGdl dF9hYmlfQ0hPU1QgJHtERUZBVUxUX0FCSX0pOwogICAgICAgIGV4cG9ydCBBUz0iJCh0Yy1n ZXRBUykgJChnZXRfYWJpX0FTRkxBR1MpIjsKICAgICAgICBleHBvcnQgQ0M9IiQodGMtZ2V0 Q0MpICQoZ2V0X2FiaV9DRkxBR1MpIjsKICAgICAgICBleHBvcnQgQ1hYPSIkKHRjLWdldENY WCkgJChnZXRfYWJpX0NGTEFHUykiOwogICAgICAgIGV4cG9ydCBMRD0iJCh0Yy1nZXRMRCkg JChnZXRfYWJpX0xERkxBR1MpIjsKICAgICAgICBleHBvcnQgQ0hPU1Q9JChnZXRfYWJpX0NI T1NUICQxKTsKICAgICAgICBleHBvcnQgQ0JVSUxEPSQoZ2V0X2FiaV9DSE9TVCAkMSk7CiAg ICBlbHNlCiAgICAgICAgaWYgW1sgJHtERUZBVUxUX0FCSV9TQVZFRH0gPT0gInRydWUiIF1d OyB0aGVuCiAgICAgICAgICAgIGZvciB2IGluIENIT1NUIENCVUlMRCBBUyBDQyBDWFggTEQ7 CiAgICAgICAgICAgIGRvCiAgICAgICAgICAgICAgICB2dj0iX19hYmlfc2F2ZWRfJHt2fSI7 CiAgICAgICAgICAgICAgICBleHBvcnQgJHt2fT0keyF2dn07CiAgICAgICAgICAgIGRvbmU7 CiAgICAgICAgZmk7CiAgICBmaQp9Cm5ld2ljb24gKCkgCnsgCiAgICAoIGluc2ludG8gL3Vz ci9zaGFyZS9waXhtYXBzOwogICAgbmV3aW5zICIkQCIgKQp9Cm5ld21lbnUgKCkgCnsgCiAg ICAoIGluc2ludG8gL3Vzci9zaGFyZS9hcHBsaWNhdGlvbnM7CiAgICBuZXdpbnMgIiRAIiAp Cn0KbnVtYmVyX2FiaXMgKCkgCnsgCiAgICBnZXRfaW5zdGFsbF9hYmlzIHwgd2MgLXcKfQpw a2dfbm9mZXRjaCAoKSAKeyAKICAgIF9lYXBpMF9wa2dfbm9mZXRjaCAiJEAiCn0KcGtnX3Bv c3RpbnN0ICgpIAp7IAogICAgZWNobzsKICAgIGVzZWxlY3Qgb3BlbmdsIHNldCAtLXVzZS1v bGQgJHtPUEVOR0xfRElSfQp9CnBrZ19zZXR1cCAoKSAKeyAKICAgIGlmIHVzZSBkZWJ1Zzsg dGhlbgogICAgICAgIGFwcGVuZC1mbGFncyAtZzsKICAgIGZpOwogICAgaWYgW1sgJChnY2Mt dmVyc2lvbikgPSAiNC4yIiBdXTsgdGhlbgogICAgICAgIGFwcGVuZC1mbGFncyAtZm5vLWl2 b3B0czsKICAgIGZpOwogICAgYXBwZW5kLWZsYWdzIC1mZmFzdC1tYXRoCn0KcHJlcF9tbF9p bmNsdWRlcyAoKSAKeyAKICAgIGlmIFtbICQobnVtYmVyX2FiaXMpIC1ndCAxIF1dOyB0aGVu CiAgICAgICAgbG9jYWwgZGlyOwogICAgICAgIGxvY2FsIGRpcnM7CiAgICAgICAgbG9jYWwg YmFzZTsKICAgICAgICBpZiBbWyAkIyAtZXEgMCBdXTsgdGhlbgogICAgICAgICAgICBkaXJz PS91c3IvaW5jbHVkZTsKICAgICAgICBlbHNlCiAgICAgICAgICAgIGRpcnM9IiRAIjsKICAg ICAgICBmaTsKICAgICAgICBmb3IgZGlyIGluICR7ZGlyc307CiAgICAgICAgZG8KICAgICAg ICAgICAgYmFzZT0ke1R9L2dlbnRvby1tdWx0aWxpYi8ke2Rpcn0vZ2VudG9vLW11bHRpbGli OwogICAgICAgICAgICBta2RpciAtcCAiJHtiYXNlfSI7CiAgICAgICAgICAgIFtbIC1kICR7 YmFzZX0vJHtBQkl9IF1dICYmIHJtIC1yZiAiJHtiYXNlfS8ke0FCSX0iOwogICAgICAgICAg ICBtdiAiJHtEfS8ke2Rpcn0iICIke2Jhc2V9LyR7QUJJfSI7CiAgICAgICAgZG9uZTsKICAg ICAgICBpZiBpc19maW5hbF9hYmk7IHRoZW4KICAgICAgICAgICAgYmFzZT0ke1R9L2dlbnRv by1tdWx0aWxpYjsKICAgICAgICAgICAgcHVzaGQgIiR7YmFzZX0iOwogICAgICAgICAgICBm aW5kIC4gfCB0YXIgLWMgLVQgLSAtZiAtIHwgdGFyIC14IC0tbm8tc2FtZS1vd25lciAtZiAt IC1DICIke0R9IjsKICAgICAgICAgICAgcG9wZDsKICAgICAgICAgICAgc2V0IC0tOwogICAg ICAgICAgICBmb3IgZGlyIGluICR7ZGlyc307CiAgICAgICAgICAgIGRvCiAgICAgICAgICAg ICAgICBzZXQgLS0gIiRAIiAiJHtkaXJ9IjsKICAgICAgICAgICAgICAgIGxvY2FsIGFiaTsK ICAgICAgICAgICAgICAgIGZvciBhYmkgaW4gJChnZXRfaW5zdGFsbF9hYmlzKTsKICAgICAg ICAgICAgICAgIGRvCiAgICAgICAgICAgICAgICAgICAgc2V0IC0tICIkQCIgIiQoZ2V0X2Fi aV9DREVGSU5FICR7YWJpfSk6JHtkaXJ9L2dlbnRvby1tdWx0aWxpYi8ke2FiaX0iOwogICAg ICAgICAgICAgICAgZG9uZTsKICAgICAgICAgICAgICAgIGNyZWF0ZV9tbF9pbmNsdWRlcyAi JEAiOwogICAgICAgICAgICBkb25lOwogICAgICAgIGZpOwogICAgZmkKfQpwcmVzZXJ2ZV9v bGRfbGliICgpIAp7IAogICAgaWYgW1sgJHtFQlVJTERfUEhBU0V9ICE9ICJwcmVpbnN0IiBd XTsgdGhlbgogICAgICAgIGVlcnJvciAicHJlc2VydmVfb2xkX2xpYigpIG11c3QgYmUgY2Fs bGVkIGZyb20gcGtnX3ByZWluc3QoKSBvbmx5IjsKICAgICAgICBkaWUgIkludmFsaWQgcHJl c2VydmVfb2xkX2xpYigpIHVzYWdlIjsKICAgIGZpOwogICAgW1sgLXogJDEgXV0gJiYgZGll ICJVc2FnZTogcHJlc2VydmVfb2xkX2xpYiA8bGlicmFyeSB0byBwcmVzZXJ2ZT4gW21vcmUg bGlicmFyaWVzIHRvIHByZXNlcnZlXSI7CiAgICBoYXMgcHJlc2VydmUtbGlicyAke0ZFQVRV UkVTfSAmJiByZXR1cm4gMDsKICAgIGxvY2FsIGxpYiBkaXI7CiAgICBmb3IgbGliIGluICIk QCI7CiAgICBkbwogICAgICAgIFtbIC1lICR7Uk9PVH0vJHtsaWJ9IF1dIHx8IGNvbnRpbnVl OwogICAgICAgIGRpcj0ke2xpYiUvKn07CiAgICAgICAgZG9kaXIgJHtkaXJ9IHx8IGRpZSAi ZG9kaXIgJHtkaXJ9IGZhaWxlZCI7CiAgICAgICAgY3AgIiR7Uk9PVH0iLyR7bGlifSAiJHtE fSIvJHtsaWJ9IHx8IGRpZSAiY3AgJHtsaWJ9IGZhaWxlZCI7CiAgICAgICAgdG91Y2ggIiR7 RH0iLyR7bGlifTsKICAgIGRvbmUKfQpwcmVzZXJ2ZV9vbGRfbGliX25vdGlmeSAoKSAKeyAK ICAgIGlmIFtbICR7RUJVSUxEX1BIQVNFfSAhPSAicG9zdGluc3QiIF1dOyB0aGVuCiAgICAg ICAgZWVycm9yICJwcmVzZXJ2ZV9vbGRfbGliX25vdGlmeSgpIG11c3QgYmUgY2FsbGVkIGZy b20gcGtnX3Bvc3RpbnN0KCkgb25seSI7CiAgICAgICAgZGllICJJbnZhbGlkIHByZXNlcnZl X29sZF9saWJfbm90aWZ5KCkgdXNhZ2UiOwogICAgZmk7CiAgICBoYXMgcHJlc2VydmUtbGli cyAke0ZFQVRVUkVTfSAmJiByZXR1cm4gMDsKICAgIGxvY2FsIGxpYiBub3RpY2U9MDsKICAg IGZvciBsaWIgaW4gIiRAIjsKICAgIGRvCiAgICAgICAgW1sgLWUgJHtST09UfS8ke2xpYn0g XV0gfHwgY29udGludWU7CiAgICAgICAgaWYgW1sgJHtub3RpY2V9IC1lcSAwIF1dOyB0aGVu CiAgICAgICAgICAgIG5vdGljZT0xOwogICAgICAgICAgICBld2FybiAiT2xkIHZlcnNpb25z IG9mIGluc3RhbGxlZCBsaWJyYXJpZXMgd2VyZSBkZXRlY3RlZCBvbiB5b3VyIHN5c3RlbS4i OwogICAgICAgICAgICBld2FybiAiSW4gb3JkZXIgdG8gYXZvaWQgYnJlYWtpbmcgcGFja2Fn ZXMgdGhhdCBkZXBlbmQgb24gdGhlc2Ugb2xkIGxpYnMsIjsKICAgICAgICAgICAgZXdhcm4g InRoZSBsaWJyYXJpZXMgYXJlIG5vdCBiZWluZyByZW1vdmVkLiAgWW91IG5lZWQgdG8gcnVu IHJldmRlcC1yZWJ1aWxkIjsKICAgICAgICAgICAgZXdhcm4gImluIG9yZGVyIHRvIHJlbW92 ZSB0aGVzZSBvbGQgZGVwZW5kZW5jaWVzLiAgSWYgeW91IGRvIG5vdCBoYXZlIHRoaXMiOwog ICAgICAgICAgICBld2FybiAiaGVscGVyIHByb2dyYW0sIHNpbXBseSBlbWVyZ2UgdGhlICdn ZW50b29sa2l0JyBwYWNrYWdlLiI7CiAgICAgICAgICAgIGV3YXJuOwogICAgICAgIGZpOwog ICAgICAgIGV3YXJuICIgICMgcmV2ZGVwLXJlYnVpbGQgLS1saWJyYXJ5ICR7bGliIyMqL30i OwogICAgZG9uZTsKICAgIGlmIFtbICR7bm90aWNlfSAtZXEgMSBdXTsgdGhlbgogICAgICAg IGV3YXJuOwogICAgICAgIGV3YXJuICJPbmNlIHlvdSd2ZSBmaW5pc2hlZCBydW5uaW5nIHJl dmRlcC1yZWJ1aWxkLCBpdCBzaG91bGQgYmUgc2FmZSB0byI7CiAgICAgICAgZXdhcm4gImRl bGV0ZSB0aGUgb2xkIGxpYnJhcmllcy4gIEhlcmUgaXMgYSBjb3B5ICYgcGFzdGUgZm9yIHRo ZSBsYXp5OiI7CiAgICAgICAgZm9yIGxpYiBpbiAiJEAiOwogICAgICAgIGRvCiAgICAgICAg ICAgIGV3YXJuICIgICMgcm0gJyR7bGlifSciOwogICAgICAgIGRvbmU7CiAgICBmaQp9CnJh dy1sZGZsYWdzICgpIAp7IAogICAgbG9jYWwgeCBpbnB1dD0iJEAiOwogICAgW1sgLXogJHtp bnB1dH0gXV0gJiYgaW5wdXQ9JHtMREZMQUdTfTsKICAgIHNldCAtLTsKICAgIGZvciB4IGlu ICR7aW5wdXR9OwogICAgZG8KICAgICAgICB4PSR7eCMtV2wsfTsKICAgICAgICBzZXQgLS0g IiRAIiAke3gvLywvIH07CiAgICBkb25lOwogICAgZWNobyAiJEAiCn0KcmVwbGFjZS1jcHUt ZmxhZ3MgKCkgCnsgCiAgICBsb2NhbCBuZXdjcHU9IiQjIjsKICAgIG5ld2NwdT0iJHshbmV3 Y3B1fSI7CiAgICB3aGlsZSBbICQjIC1ndCAxIF07IGRvCiAgICAgICAgcmVwbGFjZS1mbGFn cyAiLW1hcmNoPSR7MX0iICItbWFyY2g9JHtuZXdjcHV9IjsKICAgICAgICByZXBsYWNlLWZs YWdzICItbWNwdT0kezF9IiAiLW1jcHU9JHtuZXdjcHV9IjsKICAgICAgICByZXBsYWNlLWZs YWdzICItbXR1bmU9JHsxfSIgIi1tdHVuZT0ke25ld2NwdX0iOwogICAgICAgIHNoaWZ0Owog ICAgZG9uZTsKICAgIHJldHVybiAwCn0KcmVwbGFjZS1mbGFncyAoKSAKeyAKICAgIFtbICQj ICE9IDIgXV0gJiYgZWNobyAmJiBlZXJyb3IgIlVzYWdlOiByZXBsYWNlLWZsYWdzIDxvbGQg ZmxhZz4gPG5ldyBmbGFnPiIgJiYgZGllICJyZXBsYWNlLWZsYWdzIHRha2VzIDIgYXJndW1l bnRzLCBub3QgJCMiOwogICAgbG9jYWwgZiBmc2V0OwogICAgZGVjbGFyZSAtYSBuZXdfQ0ZM QUdTIG5ld19DWFhGTEFHUyBuZXdfRkZMQUdTIG5ld19GQ0ZMQUdTOwogICAgZm9yIGZzZXQg aW4gQ0ZMQUdTIENYWEZMQUdTIEZGTEFHUyBGQ0ZMQUdTOwogICAgZG8KICAgICAgICBmb3Ig ZiBpbiAkeyFmc2V0fTsKICAgICAgICBkbwogICAgICAgICAgICBbWyAke2Z9ID09ICR7MX0g XV0gJiYgZj0kezJ9OwogICAgICAgICAgICBldmFsIG5ld18ke2ZzZXR9XFtcJHtcI25ld18k e2ZzZXR9XFtAXX1dPVwke2Z9OwogICAgICAgIGRvbmU7CiAgICAgICAgZXZhbCBleHBvcnQg JHtmc2V0fT1cJHtuZXdfJHtmc2V0fVxbKl19OwogICAgZG9uZTsKICAgIHJldHVybiAwCn0K cmVwbGFjZS1zcGFyYzY0LWZsYWdzICgpIAp7IAogICAgbG9jYWwgU1BBUkM2NF9DUFVTPSJ1 bHRyYXNwYXJjMyB1bHRyYXNwYXJjIHY5IjsKICAgIGlmIFsgIiR7Q0ZMQUdTL210dW5lfSIg IT0gIiR7Q0ZMQUdTfSIgXTsgdGhlbgogICAgICAgIGZvciB4IGluICR7U1BBUkM2NF9DUFVT fTsKICAgICAgICBkbwogICAgICAgICAgICBDRkxBR1M9IiR7Q0ZMQUdTLy1tY3B1PSR7eH0v LW1jcHU9djh9IjsKICAgICAgICBkb25lOwogICAgZWxzZQogICAgICAgIGZvciB4IGluICR7 U1BBUkM2NF9DUFVTfTsKICAgICAgICBkbwogICAgICAgICAgICBDRkxBR1M9IiR7Q0ZMQUdT Ly1tY3B1PSR7eH0vLW1jcHU9djggLW10dW5lPSR7eH19IjsKICAgICAgICBkb25lOwogICAg Zmk7CiAgICBpZiBbICIke0NYWEZMQUdTL210dW5lfSIgIT0gIiR7Q1hYRkxBR1N9IiBdOyB0 aGVuCiAgICAgICAgZm9yIHggaW4gJHtTUEFSQzY0X0NQVVN9OwogICAgICAgIGRvCiAgICAg ICAgICAgIENYWEZMQUdTPSIke0NYWEZMQUdTLy1tY3B1PSR7eH0vLW1jcHU9djh9IjsKICAg ICAgICBkb25lOwogICAgZWxzZQogICAgICAgIGZvciB4IGluICR7U1BBUkM2NF9DUFVTfTsK ICAgICAgICBkbwogICAgICAgICAgICBDWFhGTEFHUz0iJHtDWFhGTEFHUy8tbWNwdT0ke3h9 Ly1tY3B1PXY4IC1tdHVuZT0ke3h9fSI7CiAgICAgICAgZG9uZTsKICAgIGZpOwogICAgZXhw b3J0IENGTEFHUyBDWFhGTEFHUwp9CnNlcSAoKSAKeyAKICAgIGxvY2FsIHA9JCh0eXBlIC1Q IHNlcSk7CiAgICBjYXNlICQjIGluIAogICAgICAgIDEpCiAgICAgICAgICAgIG1pbj0xIG1h eD0kMSBzdGVwPTEKICAgICAgICA7OwogICAgICAgIDIpCiAgICAgICAgICAgIG1pbj0kMSBt YXg9JDIgc3RlcD0xCiAgICAgICAgOzsKICAgICAgICAzKQogICAgICAgICAgICBtaW49JDEg bWF4PSQzIHN0ZXA9JDIKICAgICAgICA7OwogICAgICAgICopCiAgICAgICAgICAgIGRpZSAi c2VxIGNhbGxlZCB3aXRoIHdyb25nIG51bWJlciBvZiBhcmd1bWVudHMiCiAgICAgICAgOzsK ICAgIGVzYWM7CiAgICBpZiBbWyAteiAke3B9IF1dOyB0aGVuCiAgICAgICAgbG9jYWwgcmVw czsKICAgICAgICBpZiBbWyAke3N0ZXB9ICE9IDAgXV07IHRoZW4KICAgICAgICAgICAgcmVw cz0kKCggKCRtYXgtJG1pbikgLyAkc3RlcCArMSApKTsKICAgICAgICBlbHNlCiAgICAgICAg ICAgIHJlcHM9MDsKICAgICAgICBmaTsKICAgICAgICBqb3QgJHJlcHMgJG1pbiAkbWF4ICRz dGVwOwogICAgZWxzZQogICAgICAgICIke3B9IiAkbWluICRzdGVwICRtYXg7CiAgICBmaQp9 CnNldHVwLWFsbG93ZWQtZmxhZ3MgKCkgCnsgCiAgICBpZiBbWyAteiAke0FMTE9XRURfRkxB R1N9IF1dOyB0aGVuCiAgICAgICAgZXhwb3J0IEFMTE9XRURfRkxBR1M9Ii1waXBlIjsKICAg ICAgICBleHBvcnQgQUxMT1dFRF9GTEFHUz0iJHtBTExPV0VEX0ZMQUdTfSAtTyAtTzAgLU8x IC1PMiAtbWNwdSAtbWFyY2ggLW10dW5lIjsKICAgICAgICBleHBvcnQgQUxMT1dFRF9GTEFH Uz0iJHtBTExPV0VEX0ZMQUdTfSAtZnN0YWNrLXByb3RlY3RvciAtZnN0YWNrLXByb3RlY3Rv ci1hbGwiOwogICAgICAgIGV4cG9ydCBBTExPV0VEX0ZMQUdTPSIke0FMTE9XRURfRkxBR1N9 IC1mYm91bmRzLWNoZWNraW5nIC1mbm8tc3RyaWN0LW92ZXJmbG93IjsKICAgICAgICBleHBv cnQgQUxMT1dFRF9GTEFHUz0iJHtBTExPV0VEX0ZMQUdTfSAtZm5vLVBJRSAtZm5vLXBpZSAt Zm5vLXVuaXQtYXQtYS10aW1lIjsKICAgICAgICBleHBvcnQgQUxMT1dFRF9GTEFHUz0iJHtB TExPV0VEX0ZMQUdTfSAtZyAtZ1swLTldIC1nZ2RiIC1nZ2RiWzAtOV0gLWdzdGFicyAtZ3N0 YWJzKyI7CiAgICAgICAgZXhwb3J0IEFMTE9XRURfRkxBR1M9IiR7QUxMT1dFRF9GTEFHU30g LWZuby1pZGVudCI7CiAgICAgICAgZXhwb3J0IEFMTE9XRURfRkxBR1M9IiR7QUxMT1dFRF9G TEFHU30gLVcqIC13IjsKICAgIGZpOwogICAgQUxMT1dFRF9GTEFHUz0iJHtBTExPV0VEX0ZM QUdTfSAtZm5vLXN0YWNrLXByb3RlY3RvciAtZm5vLXN0YWNrLXByb3RlY3Rvci1hbGwgCQkt Zm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLWJvdW5kcy1jaGVja2luZyAtZnN0cmljdC1vdmVy ZmxvdyAtZm5vLW9taXQtZnJhbWUtcG9pbnRlciI7CiAgICBBTExPV0VEX0ZMQUdTPSIke0FM TE9XRURfRkxBR1N9IC1tcmVncGFybSAtbW5vLWFwcC1yZWdzIC1tYXBwLXJlZ3MgCQktbW5v LW1teCAtbW5vLXNzZSAtbW5vLXNzZTIgLW1uby1zc2UzIC1tbm8tc3NzZTMgLW1uby1zc2U0 IC1tbm8tc3NlNC4xIAkJLW1uby1zc2U0LjIgLW1uby1hdnggLW1uby1hZXMgLW1uby1wY2xt dWwgLW1uby1zc2U0YSAtbW5vLTNkbm93IAkJLW1uby1wb3BjbnQgLW1uby1hYm0gCQktbWlw czEgLW1pcHMyIC1taXBzMyAtbWlwczQgLW1pcHMzMiAtbWlwczY0IC1taXBzMTYgCQktbXNv ZnQtZmxvYXQgLW1uby1zb2Z0LWZsb2F0IC1taGFyZC1mbG9hdCAtbW5vLWhhcmQtZmxvYXQg LW1mcHUgCQktbWllZWUgLW1pZWVlLXdpdGgtaW5leGFjdCAtbXNjaGVkdWxlIAkJLW10bHMt ZGlyZWN0LXNlZy1yZWZzIC1tbm8tdGxzLWRpcmVjdC1zZWctcmVmcyAJCS1tZmxhdCAtbW5v LWZsYXQgLW1uby1mYXN0ZXItc3RydWN0cyAtbWZhc3Rlci1zdHJ1Y3RzIAkJLW0zMiAtbTY0 IC1tYWJpIC1tbGl0dGxlLWVuZGlhbiAtbWJpZy1lbmRpYW4gLUVMIC1FQiAtZlBJQyAJCS1t bGl2ZS1nMCAtbWNtb2RlbCAtbXN0YWNrLWJpYXMgLW1uby1zdGFjay1iaWFzIAkJLW1zZWN1 cmUtcGx0IC1tKi10b2MgLUQqIC1VKiI7CiAgICBleHBvcnQgVU5TVEFCTEVfRkxBR1M9Ii1P cyAtTzMgLWZyZW9yZGVyLWJsb2NrcyI7CiAgICByZXR1cm4gMAp9CnNyY19jb21waWxlICgp IAp7IAogICAgX2VhcGkyX3NyY19jb21waWxlICIkQCIKfQpzcmNfY29uZmlndXJlICgpIAp7 IAogICAgbG9jYWwgbXljb25mOwogICAgZHJpdmVyX2VuYWJsZSBzd3Jhc3Q7CiAgICBkcml2 ZXJfZW5hYmxlIHZpZGVvX2NhcmRzX2ludGVsIGk4MTAgaTkxNSBpOTY1OwogICAgZHJpdmVy X2VuYWJsZSB2aWRlb19jYXJkc19tYWNoNjQgbWFjaDY0OwogICAgZHJpdmVyX2VuYWJsZSB2 aWRlb19jYXJkc19tZ2EgbWdhOwogICAgZHJpdmVyX2VuYWJsZSB2aWRlb19jYXJkc19yMTI4 IHIxMjg7CiAgICBkcml2ZXJfZW5hYmxlIHZpZGVvX2NhcmRzX3JhZGVvbiByYWRlb24gcjIw MCByMzAwOwogICAgZHJpdmVyX2VuYWJsZSB2aWRlb19jYXJkc19yYWRlb25oZCByMzAwOwog ICAgZHJpdmVyX2VuYWJsZSB2aWRlb19jYXJkc19zM3ZpcmdlIHMzdjsKICAgIGRyaXZlcl9l bmFibGUgdmlkZW9fY2FyZHNfc2F2YWdlIHNhdmFnZTsKICAgIGRyaXZlcl9lbmFibGUgdmlk ZW9fY2FyZHNfc2lzIHNpczsKICAgIGRyaXZlcl9lbmFibGUgdmlkZW9fY2FyZHNfc3VuZmZi IGZmYjsKICAgIGRyaXZlcl9lbmFibGUgdmlkZW9fY2FyZHNfdGRmeCB0ZGZ4OwogICAgZHJp dmVyX2VuYWJsZSB2aWRlb19jYXJkc190cmlkZW50IHRyaWRlbnQ7CiAgICBkcml2ZXJfZW5h YmxlIHZpZGVvX2NhcmRzX3ZpYSB1bmljaHJvbWU7CiAgICBpZiBbWyAtbiAke0VYUEVSSU1F TlRBTH0gXV07IHRoZW4KICAgICAgICBpZiB1c2UgdmlkZW9fY2FyZHNfbm91dmVhdSAmJiAh IHVzZSBnYWxsaXVtOyB0aGVuCiAgICAgICAgICAgIGVsb2cgIk5vdXZlYXUgZHJpdmVyIGlz IGF2YWlsYWJsZSBvbmx5IHZpYSBnYWxsaXVtIGludGVyZmFjZS4iOwogICAgICAgICAgICBl bG9nICJFbmFibGUgZ2FsbGl1bSB1c2VmbGFnIGlmIHlvdSB3YW50IHRvIHVzZSBub3V2ZWF1 LiI7CiAgICAgICAgICAgIGVjaG87CiAgICAgICAgZmk7CiAgICAgICAgbXljb25mPSIke215 Y29uZn0gJCh1c2VfZW5hYmxlIGdhbGxpdW0pIjsKICAgICAgICBpZiB1c2UgZ2FsbGl1bTsg dGhlbgogICAgICAgICAgICBlbG9nICJXYXJuaW5nIGdhbGxpdW0gaW50ZXJmYWNlIGlzIGhp Z2hseSBleHBlcmltZW50YWwgc28gdXNlIjsKICAgICAgICAgICAgZWxvZyAiaXQgb25seSBp ZiB5b3UgZmVlbCByZWFsbHkgcmVhbGx5IGJyYXZlLiI7CiAgICAgICAgICAgIGVsb2c7CiAg ICAgICAgICAgIGVsb2cgIkludGVsOiB3b3JrcyBvbmx5IGk5MTUuIjsKICAgICAgICAgICAg ZWxvZyAiTm91dmVhdTogb25seSBhdmFpbGFibGUgaW1wbGVtZW50YXRpb24sIHNvIG5vIG90 aGVyIGNob2ljZSI7CiAgICAgICAgICAgIGVsb2cgIlJhZGVvbjogbm90IHdvcmtpbmcsIGRp c2FibGVkLiI7CiAgICAgICAgICAgIGVjaG87CiAgICAgICAgICAgIG15Y29uZj0iJHtteWNv bmZ9CgkJCQktLXdpdGgtc3RhdGUtdHJhY2tlcnM9Z2x4LGRyaSxlZ2wKCQkJCSQodXNlX2Vu YWJsZSB2aWRlb19jYXJkc19ub3V2ZWF1IGdhbGxpdW0tbm91dmVhdSkKCQkJCSQodXNlX2Vu YWJsZSB2aWRlb19jYXJkc19pbnRlbCBnYWxsaXVtLWludGVsKSI7CiAgICAgICAgZmk7CiAg ICBmaTsKICAgIG15Y29uZj0iJHtteWNvbmZ9ICQodXNlX2VuYWJsZSAhcGljIGFzbSkiOwog ICAgbXljb25mPSIke215Y29uZn0gJCh1c2VfZW5hYmxlICFzcGFyYyBhc20pIjsKICAgIGVj b25mIC0td2l0aC1kcml2ZXI9ZHJpIC0tZGlzYWJsZS1nbHV0IC0td2l0aG91dC1kZW1vcyAk KHVzZV9lbmFibGUgZGVidWcpICQodXNlX2VuYWJsZSBtb3RpZiBnbHcpICQodXNlX2VuYWJs ZSBtb3RpZikgJCh1c2VfZW5hYmxlIG5wdGwgZ2x4LXRscykgJCh1c2VfZW5hYmxlIHhjYikg LS13aXRoLWRyaS1kcml2ZXJzPSR7RFJJX0RSSVZFUlN9ICR7bXljb25mfQp9CnNyY19pbnN0 YWxsICgpIAp7IAogICAgZG9kaXIgL3VzcjsKICAgIGVtYWtlIERFU1RESVI9IiR7RH0iIGlu c3RhbGwgfHwgZGllICJJbnN0YWxsYXRpb24gZmFpbGVkIjsKICAgIHJtIC1mICIke0R9Ii91 c3IvaW5jbHVkZS9HTC9nbHV0Ki5oIHx8IGRpZSAiUmVtb3ZpbmcgZ2x1dCBpbmNsdWRlIGZh aWxlZC4iOwogICAgcm0gLWYgIiR7RH0iL3Vzci9pbmNsdWRlL0dML3tnbGV3LGdseGV3LHdn bGV3fS5oIHx8IGRpZSAiUmVtb3ZpbmcgZ2xldyBpbmNsdWRlcyBmYWlsZWQuIjsKICAgIGVi ZWdpbiAiTW92aW5nIGxpYkdMIGFuZCBmcmllbmRzIGZvciBkeW5hbWljIHN3aXRjaGluZyI7 CiAgICBkb2RpciAvdXNyLyQoZ2V0X2xpYmRpcikvb3BlbmdsLyR7T1BFTkdMX0RJUn0ve2xp YixleHRlbnNpb25zLGluY2x1ZGV9OwogICAgbG9jYWwgeDsKICAgIGZvciB4IGluICIke0R9 Ii91c3IvJChnZXRfbGliZGlyKS9saWJHTC57bGEsYSxzbyp9OwogICAgZG8KICAgICAgICBp ZiBbIC1mICR7eH0gLW8gLUwgJHt4fSBdOyB0aGVuCiAgICAgICAgICAgIG12IC1mICR7eH0g IiR7RH0iL3Vzci8kKGdldF9saWJkaXIpL29wZW5nbC8ke09QRU5HTF9ESVJ9L2xpYiB8fCBk aWUgIkZhaWxlZCB0byBtb3ZlICR7eH0iOwogICAgICAgIGZpOwogICAgZG9uZTsKICAgIGZv ciB4IGluICIke0R9Ii91c3IvaW5jbHVkZS9HTC97Z2wuaCxnbHguaCxnbGV4dC5oLGdseGV4 dC5ofTsKICAgIGRvCiAgICAgICAgaWYgWyAtZiAke3h9IC1vIC1MICR7eH0gXTsgdGhlbgog ICAgICAgICAgICBtdiAtZiAke3h9ICIke0R9Ii91c3IvJChnZXRfbGliZGlyKS9vcGVuZ2wv JHtPUEVOR0xfRElSfS9pbmNsdWRlIHx8IGRpZSAiRmFpbGVkIHRvIG1vdmUgJHt4fSI7CiAg ICAgICAgZmk7CiAgICBkb25lOwogICAgZWVuZCAkPzsKICAgIGluc2ludG8gL3Vzci8kKGdl dF9saWJkaXIpOwogICAgZG9pbnMgIiR7RklMRVNESVJ9Ii9saWIvbGliR0xVLmxhIHx8IGRp ZSAiZG9pbnMgbGliR0xVLmxhIGZhaWxlZCI7CiAgICBzZWQgLWUgInM6XCR7bGliZGlyfTok KGdldF9saWJkaXIpOmciICIke0ZJTEVTRElSfSIvbGliL2xpYkdMLmxhID4gIiR7RH0iL3Vz ci8kKGdldF9saWJkaXIpL29wZW5nbC94b3JnLXgxMS9saWIvbGliR0wubGE7CiAgICBzZWQg LWkgLWUgJ3M6LWxkbDonJChkbG9wZW5fbGliKSc6ZycgIiR7RH0iL3Vzci8kKGdldF9saWJk aXIpL3tsaWJHTFUubGEsb3BlbmdsL3hvcmcteDExL2xpYi9saWJHTC5sYX0gfHwgZGllICJz ZWQgZGxvcGVuIGZhaWxlZCIKfQpzcmNfcHJlcGFyZSAoKSAKeyAKICAgIGlmIFtbICR7UFZ9 ICE9IDk5OTkqICYmIC1uICR7U1JDX1BBVENIRVN9IF1dOyB0aGVuCiAgICAgICAgRVBBVENI X0ZPUkNFPSJ5ZXMiIEVQQVRDSF9TT1VSQ0U9IiR7V09SS0RJUn0vcGF0Y2hlcyIgRVBBVENI X1NVRkZJWD0icGF0Y2giIGVwYXRjaDsKICAgIGZpOwogICAgW1sgJHtDSE9TVH0gPT0gKi1m cmVlYnNkNi4qIF1dICYmIHNlZCAtaSAtZSAicy8tREhBVkVfUE9TSVhfTUVNQUxJR04vLyIg Y29uZmlndXJlLmFjOwogICAgZWF1dG9yZWNvbmYKfQpzcmNfdGVzdCAoKSAKeyAKICAgIF9l YXBpMF9zcmNfdGVzdCAiJEAiCn0Kc3JjX3VucGFjayAoKSAKeyAKICAgIFtbICRQViA9IDk5 OTkqIF1dICYmIGdpdF9zcmNfdW5wYWNrIHx8IHVucGFjayAke0F9Cn0Kc3RyaXAtZmxhZ3Mg KCkgCnsgCiAgICBsb2NhbCB4IHkgZmxhZyBORVdfQ0ZMQUdTIE5FV19DWFhGTEFHUyBORVdf RkZMQUdTIE5FV19GQ0ZMQUdTOwogICAgc2V0dXAtYWxsb3dlZC1mbGFnczsKICAgIGxvY2Fs IE5FV19DRkxBR1M9IiI7CiAgICBsb2NhbCBORVdfQ1hYRkxBR1M9IiI7CiAgICBsb2NhbCBO RVdfRkZMQUdTPSIiOwogICAgbG9jYWwgTkVXX0ZDRkxBR1M9IiI7CiAgICBpZiBoYXMgfiQo dGMtYXJjaCkgJHtBQ0NFUFRfS0VZV09SRFN9OyB0aGVuCiAgICAgICAgQUxMT1dFRF9GTEFH Uz0iJHtBTExPV0VEX0ZMQUdTfSAke1VOU1RBQkxFX0ZMQUdTfSI7CiAgICBmaTsKICAgIHNl dCAtZjsKICAgIGZvciB4IGluICR7Q0ZMQUdTfTsKICAgIGRvCiAgICAgICAgZm9yIHkgaW4g JHtBTExPV0VEX0ZMQUdTfTsKICAgICAgICBkbwogICAgICAgICAgICBmbGFnPSR7eCUlPSp9 OwogICAgICAgICAgICBpZiBbICIke2ZsYWclJSR7eX19IiA9ICIiIF07IHRoZW4KICAgICAg ICAgICAgICAgIE5FV19DRkxBR1M9IiR7TkVXX0NGTEFHU30gJHt4fSI7CiAgICAgICAgICAg ICAgICBicmVhazsKICAgICAgICAgICAgZmk7CiAgICAgICAgZG9uZTsKICAgIGRvbmU7CiAg ICBmb3IgeCBpbiAke0NYWEZMQUdTfTsKICAgIGRvCiAgICAgICAgZm9yIHkgaW4gJHtBTExP V0VEX0ZMQUdTfTsKICAgICAgICBkbwogICAgICAgICAgICBmbGFnPSR7eCUlPSp9OwogICAg ICAgICAgICBpZiBbICIke2ZsYWclJSR7eX19IiA9ICIiIF07IHRoZW4KICAgICAgICAgICAg ICAgIE5FV19DWFhGTEFHUz0iJHtORVdfQ1hYRkxBR1N9ICR7eH0iOwogICAgICAgICAgICAg ICAgYnJlYWs7CiAgICAgICAgICAgIGZpOwogICAgICAgIGRvbmU7CiAgICBkb25lOwogICAg Zm9yIHggaW4gJHtGRkxBR1N9OwogICAgZG8KICAgICAgICBmb3IgeSBpbiAke0FMTE9XRURf RkxBR1N9OwogICAgICAgIGRvCiAgICAgICAgICAgIGZsYWc9JHt4JSU9Kn07CiAgICAgICAg ICAgIGlmIFsgIiR7ZmxhZyUlJHt5fX0iID0gIiIgXTsgdGhlbgogICAgICAgICAgICAgICAg TkVXX0ZGTEFHUz0iJHtORVdfRkZMQUdTfSAke3h9IjsKICAgICAgICAgICAgICAgIGJyZWFr OwogICAgICAgICAgICBmaTsKICAgICAgICBkb25lOwogICAgZG9uZTsKICAgIGZvciB4IGlu ICR7RkNGTEFHU307CiAgICBkbwogICAgICAgIGZvciB5IGluICR7QUxMT1dFRF9GTEFHU307 CiAgICAgICAgZG8KICAgICAgICAgICAgZmxhZz0ke3glJT0qfTsKICAgICAgICAgICAgaWYg WyAiJHtmbGFnJSUke3l9fSIgPSAiIiBdOyB0aGVuCiAgICAgICAgICAgICAgICBORVdfRkNG TEFHUz0iJHtORVdfRkNGTEFHU30gJHt4fSI7CiAgICAgICAgICAgICAgICBicmVhazsKICAg ICAgICAgICAgZmk7CiAgICAgICAgZG9uZTsKICAgIGRvbmU7CiAgICBpZiBbICIke0NGTEFH Uy8tT30iICE9ICIke0NGTEFHU30iIC1hICIke05FV19DRkxBR1MvLU99IiA9ICIke05FV19D RkxBR1N9IiBdOyB0aGVuCiAgICAgICAgTkVXX0NGTEFHUz0iJHtORVdfQ0ZMQUdTfSAtTzIi OwogICAgZmk7CiAgICBpZiBbICIke0NYWEZMQUdTLy1PfSIgIT0gIiR7Q1hYRkxBR1N9IiAt YSAiJHtORVdfQ1hYRkxBR1MvLU99IiA9ICIke05FV19DWFhGTEFHU30iIF07IHRoZW4KICAg ICAgICBORVdfQ1hYRkxBR1M9IiR7TkVXX0NYWEZMQUdTfSAtTzIiOwogICAgZmk7CiAgICBp ZiBbICIke0ZGTEFHUy8tT30iICE9ICIke0ZGTEFHU30iIC1hICIke05FV19GRkxBR1MvLU99 IiA9ICIke05FV19GRkxBR1N9IiBdOyB0aGVuCiAgICAgICAgTkVXX0ZGTEFHUz0iJHtORVdf RkZMQUdTfSAtTzIiOwogICAgZmk7CiAgICBpZiBbICIke0ZDRkxBR1MvLU99IiAhPSAiJHtG Q0ZMQUdTfSIgLWEgIiR7TkVXX0ZDRkxBR1MvLU99IiA9ICIke05FV19GQ0ZMQUdTfSIgXTsg dGhlbgogICAgICAgIE5FV19GQ0ZMQUdTPSIke05FV19GQ0ZMQUdTfSAtTzIiOwogICAgZmk7 CiAgICBzZXQgK2Y7CiAgICBleHBvcnQgQ0ZMQUdTPSIke05FV19DRkxBR1N9IjsKICAgIGV4 cG9ydCBDWFhGTEFHUz0iJHtORVdfQ1hYRkxBR1N9IjsKICAgIGV4cG9ydCBGRkxBR1M9IiR7 TkVXX0ZGTEFHU30iOwogICAgZXhwb3J0IEZDRkxBR1M9IiR7TkVXX0ZDRkxBR1N9IjsKICAg IHJldHVybiAwCn0Kc3RyaXAtbGluZ3VhcyAoKSAKeyAKICAgIGxvY2FsIGxzIG5ld2xzIG5v bHM7CiAgICBpZiBbWyAkMSA9PSAiLWkiIF1dIHx8IFtbICQxID09ICItdSIgXV07IHRoZW4K ICAgICAgICBsb2NhbCBvcD0kMTsKICAgICAgICBzaGlmdDsKICAgICAgICBscz0kKGZpbmQg IiQxIiAtbmFtZSAnKi5wbycgLWV4ZWMgYmFzZW5hbWUge30gLnBvICc7Jyk7CiAgICAgICAg c2hpZnQ7CiAgICAgICAgbG9jYWwgZCBmOwogICAgICAgIGZvciBkIGluICIkQCI7CiAgICAg ICAgZG8KICAgICAgICAgICAgaWYgW1sgJHtvcH0gPT0gIi11IiBdXTsgdGhlbgogICAgICAg ICAgICAgICAgbmV3bHM9JHtsc307CiAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAg IG5ld2xzPSIiOwogICAgICAgICAgICBmaTsKICAgICAgICAgICAgZm9yIGYgaW4gJChmaW5k ICIkZCIgLW5hbWUgJyoucG8nIC1leGVjIGJhc2VuYW1lIHt9IC5wbyAnOycpOwogICAgICAg ICAgICBkbwogICAgICAgICAgICAgICAgaWYgW1sgJHtvcH0gPT0gIi1pIiBdXTsgdGhlbgog ICAgICAgICAgICAgICAgICAgIGhhc3EgJHtmfSAke2xzfSAmJiBuZXdscz0iJHtuZXdsc30g JHtmfSI7CiAgICAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgICAgaGFzcSAk e2Z9ICR7bHN9IHx8IG5ld2xzPSIke25ld2xzfSAke2Z9IjsKICAgICAgICAgICAgICAgIGZp OwogICAgICAgICAgICBkb25lOwogICAgICAgICAgICBscz0ke25ld2xzfTsKICAgICAgICBk b25lOwogICAgZWxzZQogICAgICAgIGxzPSIkQCI7CiAgICBmaTsKICAgIG5vbHM9IiI7CiAg ICBuZXdscz0iIjsKICAgIGZvciBmIGluICR7TElOR1VBU307CiAgICBkbwogICAgICAgIGlm IGhhc3EgJHtmfSAke2xzfTsgdGhlbgogICAgICAgICAgICBuZXdscz0iJHtuZXdsc30gJHtm fSI7CiAgICAgICAgZWxzZQogICAgICAgICAgICBub2xzPSIke25vbHN9ICR7Zn0iOwogICAg ICAgIGZpOwogICAgZG9uZTsKICAgIFtbIC1uICR7bm9sc30gXV0gJiYgZXdhcm4gIlNvcnJ5 LCBidXQgJHtQTn0gZG9lcyBub3Qgc3VwcG9ydCB0aGUgTElOR1VBUzoiICR7bm9sc307CiAg ICBleHBvcnQgTElOR1VBUz0ke25ld2xzOjF9Cn0Kc3RyaXAtdW5zdXBwb3J0ZWQtZmxhZ3Mg KCkgCnsgCiAgICBleHBvcnQgQ0ZMQUdTPSQodGVzdC1mbGFncy1DQyAke0NGTEFHU30pOwog ICAgZXhwb3J0IENYWEZMQUdTPSQodGVzdC1mbGFncy1DWFggJHtDWFhGTEFHU30pOwogICAg ZXhwb3J0IEZGTEFHUz0kKHRlc3QtZmxhZ3MtRjc3ICR7RkZMQUdTfSk7CiAgICBleHBvcnQg RkNGTEFHUz0kKHRlc3QtZmxhZ3MtRkMgJHtGQ0ZMQUdTfSkKfQp0Yy1hcmNoICgpIAp7IAog ICAgdGMtbmluamFfbWFnaWNfdG9fYXJjaCBwb3J0YWdlICIkQCIKfQp0Yy1hcmNoLWtlcm5l bCAoKSAKeyAKICAgIHRjLW5pbmphX21hZ2ljX3RvX2FyY2gga2VybiAiJEAiCn0KdGMtZW5k aWFuICgpIAp7IAogICAgbG9jYWwgaG9zdD0kMTsKICAgIFtbIC16ICR7aG9zdH0gXV0gJiYg aG9zdD0ke0NUQVJHRVQ6LSR7Q0hPU1R9fTsKICAgIGhvc3Q9JHtob3N0JSUtKn07CiAgICBj YXNlICR7aG9zdH0gaW4gCiAgICAgICAgYWxwaGEqKQogICAgICAgICAgICBlY2hvIGJpZwog ICAgICAgIDs7CiAgICAgICAgYXJtKmIqKQogICAgICAgICAgICBlY2hvIGJpZwogICAgICAg IDs7CiAgICAgICAgYXJtKikKICAgICAgICAgICAgZWNobyBsaXR0bGUKICAgICAgICA7Owog ICAgICAgIGNyaXMqKQogICAgICAgICAgICBlY2hvIGxpdHRsZQogICAgICAgIDs7CiAgICAg ICAgaHBwYSopCiAgICAgICAgICAgIGVjaG8gYmlnCiAgICAgICAgOzsKICAgICAgICBpPzg2 KikKICAgICAgICAgICAgZWNobyBsaXR0bGUKICAgICAgICA7OwogICAgICAgIGlhNjQqKQog ICAgICAgICAgICBlY2hvIGxpdHRsZQogICAgICAgIDs7CiAgICAgICAgbTY4KikKICAgICAg ICAgICAgZWNobyBiaWcKICAgICAgICA7OwogICAgICAgIG1pcHMqbCopCiAgICAgICAgICAg IGVjaG8gbGl0dGxlCiAgICAgICAgOzsKICAgICAgICBtaXBzKikKICAgICAgICAgICAgZWNo byBiaWcKICAgICAgICA7OwogICAgICAgIHBvd2VycGMqKQogICAgICAgICAgICBlY2hvIGJp ZwogICAgICAgIDs7CiAgICAgICAgczM5MCopCiAgICAgICAgICAgIGVjaG8gYmlnCiAgICAg ICAgOzsKICAgICAgICBzaCpiKikKICAgICAgICAgICAgZWNobyBiaWcKICAgICAgICA7Owog ICAgICAgIHNoKikKICAgICAgICAgICAgZWNobyBsaXR0bGUKICAgICAgICA7OwogICAgICAg IHNwYXJjKikKICAgICAgICAgICAgZWNobyBiaWcKICAgICAgICA7OwogICAgICAgIHg4Nl82 NCopCiAgICAgICAgICAgIGVjaG8gbGl0dGxlCiAgICAgICAgOzsKICAgICAgICAqKQogICAg ICAgICAgICBlY2hvIHd0ZgogICAgICAgIDs7CiAgICBlc2FjCn0KdGMtZXhwb3J0ICgpIAp7 IAogICAgbG9jYWwgdmFyOwogICAgZm9yIHZhciBpbiAiJEAiOwogICAgZG8KICAgICAgICBb WyAkKHR5cGUgLXQgdGMtZ2V0JHt2YXJ9KSAhPSAiZnVuY3Rpb24iIF1dICYmIGRpZSAidGMt ZXhwb3J0OiBpbnZhbGlkIGV4cG9ydCB2YXJpYWJsZSAnJHt2YXJ9JyI7CiAgICAgICAgZXZh bCB0Yy1nZXQke3Zhcn0gPiAvZGV2L251bGw7CiAgICBkb25lCn0KdGMtZ2V0QVIgKCkgCnsg CiAgICB0Yy1nZXRQUk9HIEFSIGFyICIkQCIKfQp0Yy1nZXRBUyAoKSAKeyAKICAgIHRjLWdl dFBST0cgQVMgYXMgIiRAIgp9CnRjLWdldEJVSUxEX0NDICgpIAp7IAogICAgbG9jYWwgdjsK ICAgIGZvciB2IGluIENDX0ZPUl9CVUlMRCBCVUlMRF9DQyBIT1NUQ0M7CiAgICBkbwogICAg ICAgIGlmIFtbIC1uICR7IXZ9IF1dOyB0aGVuCiAgICAgICAgICAgIGV4cG9ydCBCVUlMRF9D Qz0keyF2fTsKICAgICAgICAgICAgZWNobyAiJHshdn0iOwogICAgICAgICAgICByZXR1cm4g MDsKICAgICAgICBmaTsKICAgIGRvbmU7CiAgICBsb2NhbCBzZWFyY2g9OwogICAgaWYgW1sg LW4gJHtDQlVJTER9IF1dOyB0aGVuCiAgICAgICAgc2VhcmNoPSQodHlwZSAtcCAke0NCVUlM RH0tZ2NjKTsKICAgICAgICBzZWFyY2g9JHtzZWFyY2gjIyovfTsKICAgIGZpOwogICAgc2Vh cmNoPSR7c2VhcmNoOi1nY2N9OwogICAgZXhwb3J0IEJVSUxEX0NDPSR7c2VhcmNofTsKICAg IGVjaG8gIiR7c2VhcmNofSIKfQp0Yy1nZXRDQyAoKSAKeyAKICAgIHRjLWdldFBST0cgQ0Mg Z2NjICIkQCIKfQp0Yy1nZXRDUFAgKCkgCnsgCiAgICB0Yy1nZXRQUk9HIENQUCBjcHAgIiRA Igp9CnRjLWdldENYWCAoKSAKeyAKICAgIHRjLWdldFBST0cgQ1hYIGcrKyAiJEAiCn0KdGMt Z2V0Rjc3ICgpIAp7IAogICAgdGMtZ2V0UFJPRyBGNzcgZjc3ICIkQCIKfQp0Yy1nZXRGQyAo KSAKeyAKICAgIHRjLWdldFBST0cgRkMgZ2ZvcnRyYW4gIiRAIgp9CnRjLWdldEdDSiAoKSAK eyAKICAgIHRjLWdldFBST0cgR0NKIGdjaiAiJEAiCn0KdGMtZ2V0TEQgKCkgCnsgCiAgICB0 Yy1nZXRQUk9HIExEIGxkICIkQCIKfQp0Yy1nZXROTSAoKSAKeyAKICAgIHRjLWdldFBST0cg Tk0gbm0gIiRAIgp9CnRjLWdldE9CSkNPUFkgKCkgCnsgCiAgICB0Yy1nZXRQUk9HIE9CSkNP UFkgb2JqY29weSAiJEAiCn0KdGMtZ2V0UFJPRyAoKSAKeyAKICAgIGxvY2FsIHZhcj0kMTsK ICAgIGxvY2FsIHByb2c9JDI7CiAgICBpZiBbWyAtbiAkeyF2YXJ9IF1dOyB0aGVuCiAgICAg ICAgZWNobyAiJHshdmFyfSI7CiAgICAgICAgcmV0dXJuIDA7CiAgICBmaTsKICAgIGxvY2Fs IHNlYXJjaD07CiAgICBbWyAtbiAkMyBdXSAmJiBzZWFyY2g9JCh0eXBlIC1wICIkMy0ke3By b2d9Iik7CiAgICBbWyAteiAke3NlYXJjaH0gJiYgLW4gJHtDSE9TVH0gXV0gJiYgc2VhcmNo PSQodHlwZSAtcCAiJHtDSE9TVH0tJHtwcm9nfSIpOwogICAgW1sgLW4gJHtzZWFyY2h9IF1d ICYmIHByb2c9JHtzZWFyY2gjIyovfTsKICAgIGV4cG9ydCAke3Zhcn09JHtwcm9nfTsKICAg IGVjaG8gIiR7IXZhcn0iCn0KdGMtZ2V0UkFOTElCICgpIAp7IAogICAgdGMtZ2V0UFJPRyBS QU5MSUIgcmFubGliICIkQCIKfQp0Yy1nZXRTVFJJUCAoKSAKeyAKICAgIHRjLWdldFBST0cg U1RSSVAgc3RyaXAgIiRAIgp9CnRjLWlzLWNyb3NzLWNvbXBpbGVyICgpIAp7IAogICAgcmV0 dXJuICQoW1sgJHtDQlVJTEQ6LSR7Q0hPU1R9fSAhPSAke0NIT1NUfSBdXSkKfQp0Yy1pcy1z b2Z0ZmxvYXQgKCkgCnsgCiAgICBjYXNlICR7Q1RBUkdFVH0gaW4gCiAgICAgICAgYmZpbiog fCBoODMwMCopCiAgICAgICAgICAgIGVjaG8gIm9ubHkiCiAgICAgICAgOzsKICAgICAgICAq KQogICAgICAgICAgICBbWyAke0NUQVJHRVQvL18vLX0gPT0gKi1zb2Z0ZmxvYXQtKiBdXSAm JiBlY2hvICJ5ZXMiIHx8IGVjaG8gIm5vIgogICAgICAgIDs7CiAgICBlc2FjCn0KdGMtaXMt c3RhdGljLW9ubHkgKCkgCnsgCiAgICBsb2NhbCBob3N0PSR7Q1RBUkdFVDotJHtDSE9TVH19 OwogICAgcmV0dXJuICQoW1sgJHtob3N0fSA9PSAqLW1pbnQqIF1dKQp9CnRjLW5pbmphX21h Z2ljX3RvX2FyY2ggKCkgCnsgCiAgICBmdW5jdGlvbiBuaW5qICgpIAogICAgeyAKICAgICAg ICBbWyAke3R5cGV9ID09ICJrZXJuIiBdXSAmJiBlY2hvICQxIHx8IGVjaG8gJDIKICAgIH07 CiAgICBsb2NhbCB0eXBlPSQxOwogICAgbG9jYWwgaG9zdD0kMjsKICAgIFtbIC16ICR7aG9z dH0gXV0gJiYgaG9zdD0ke0NUQVJHRVQ6LSR7Q0hPU1R9fTsKICAgIGNhc2UgJHtob3N0fSBp biAKICAgICAgICBhbHBoYSopCiAgICAgICAgICAgIGVjaG8gYWxwaGEKICAgICAgICA7Owog ICAgICAgIGFybSopCiAgICAgICAgICAgIGVjaG8gYXJtCiAgICAgICAgOzsKICAgICAgICBh dnIqKQogICAgICAgICAgICBuaW5qIGF2cjMyIGF2cgogICAgICAgIDs7CiAgICAgICAgYmZp biopCiAgICAgICAgICAgIG5pbmogYmxhY2tmaW4gYmZpbgogICAgICAgIDs7CiAgICAgICAg Y3JpcyopCiAgICAgICAgICAgIGVjaG8gY3JpcwogICAgICAgIDs7CiAgICAgICAgaHBwYSop CiAgICAgICAgICAgIG5pbmogcGFyaXNjIGhwcGEKICAgICAgICA7OwogICAgICAgIGk/ODYq KQogICAgICAgICAgICBpZiBbWyAke3R5cGV9ID09ICJrZXJuIiBdXSAmJiBbWyAkKEtWX3Rv X2ludCAke0tWfSkgLWx0ICQoS1ZfdG9faW50IDIuNi4yNCkgfHwgJHtob3N0fSA9PSAqZnJl ZWJzZCogXV07IHRoZW4KICAgICAgICAgICAgICAgIGVjaG8gaTM4NjsKICAgICAgICAgICAg ZWxzZQogICAgICAgICAgICAgICAgZWNobyB4ODY7CiAgICAgICAgICAgIGZpCiAgICAgICAg OzsKICAgICAgICBpYTY0KikKICAgICAgICAgICAgZWNobyBpYTY0CiAgICAgICAgOzsKICAg ICAgICBtNjgqKQogICAgICAgICAgICBlY2hvIG02OGsKICAgICAgICA7OwogICAgICAgIG1p cHMqKQogICAgICAgICAgICBlY2hvIG1pcHMKICAgICAgICA7OwogICAgICAgIG5pb3MyKikK ICAgICAgICAgICAgZWNobyBuaW9zMgogICAgICAgIDs7CiAgICAgICAgbmlvcyopCiAgICAg ICAgICAgIGVjaG8gbmlvcwogICAgICAgIDs7CiAgICAgICAgcG93ZXJwYyopCiAgICAgICAg ICAgIGlmIFtbICQoS1ZfdG9faW50ICR7S1Z9KSAtZ2UgJChLVl90b19pbnQgMi42LjE2KSBd XSAmJiBbWyAke3R5cGV9ID09ICJrZXJuIiBdXTsgdGhlbgogICAgICAgICAgICAgICAgZWNo byBwb3dlcnBjOwogICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICBpZiBbWyAkKEtW X3RvX2ludCAke0tWfSkgLWVxICQoS1ZfdG9faW50IDIuNi4xNSkgXV0gJiYgW1sgJHt0eXBl fSA9PSAia2VybiIgXV07IHRoZW4KICAgICAgICAgICAgICAgICAgICBpZiBbWyAke2hvc3R9 ID09IHBvd2VycGM2NCogXV0gfHwgW1sgJHtQUk9GSUxFX0FSQ0h9ID09ICJwcGM2NCIgXV07 IHRoZW4KICAgICAgICAgICAgICAgICAgICAgICAgZWNobyBwb3dlcnBjOwogICAgICAgICAg ICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgZWNobyBwcGM7CiAgICAg ICAgICAgICAgICAgICAgZmk7CiAgICAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAg ICAgICAgaWYgW1sgJHtob3N0fSA9PSBwb3dlcnBjNjQqIF1dOyB0aGVuCiAgICAgICAgICAg ICAgICAgICAgICAgIGVjaG8gcHBjNjQ7CiAgICAgICAgICAgICAgICAgICAgZWxzZQogICAg ICAgICAgICAgICAgICAgICAgICBpZiBbWyAke1BST0ZJTEVfQVJDSH0gPT0gInBwYzY0IiBd XTsgdGhlbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgbmluaiBwcGM2NCBwcGM7CiAg ICAgICAgICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAg IGVjaG8gcHBjOwogICAgICAgICAgICAgICAgICAgICAgICBmaTsKICAgICAgICAgICAgICAg ICAgICBmaTsKICAgICAgICAgICAgICAgIGZpOwogICAgICAgICAgICBmaQogICAgICAgIDs7 CiAgICAgICAgczM5MCopCiAgICAgICAgICAgIGVjaG8gczM5MAogICAgICAgIDs7CiAgICAg ICAgc2g2NCopCiAgICAgICAgICAgIG5pbmogc2g2NCBzaAogICAgICAgIDs7CiAgICAgICAg c2gqKQogICAgICAgICAgICBlY2hvIHNoCiAgICAgICAgOzsKICAgICAgICBzcGFyYzY0KikK ICAgICAgICAgICAgbmluaiBzcGFyYzY0IHNwYXJjCiAgICAgICAgOzsKICAgICAgICBzcGFy YyopCiAgICAgICAgICAgIFtbICR7UFJPRklMRV9BUkNIfSA9PSAic3BhcmM2NCIgXV0gJiYg bmluaiBzcGFyYzY0IHNwYXJjIHx8IGVjaG8gc3BhcmMKICAgICAgICA7OwogICAgICAgIHZh eCopCiAgICAgICAgICAgIGVjaG8gdmF4CiAgICAgICAgOzsKICAgICAgICB4ODZfNjQqKQog ICAgICAgICAgICBpZiBbWyAke3R5cGV9ID09ICJrZXJuIiBdXSAmJiBbWyAkKEtWX3RvX2lu dCAke0tWfSkgLWdlICQoS1ZfdG9faW50IDIuNi4yNCkgXV07IHRoZW4KICAgICAgICAgICAg ICAgIGVjaG8geDg2OwogICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICBuaW5qIHg4 Nl82NCBhbWQ2NDsKICAgICAgICAgICAgZmkKICAgICAgICA7OwogICAgICAgICopCiAgICAg ICAgICAgIGVjaG8gdW5rbm93bgogICAgICAgIDs7CiAgICBlc2FjCn0KdGVzdC1mbGFnLUND ICgpIAp7IAogICAgdGVzdC1mbGFnLVBST0cgIkNDIiAiJDEiCn0KdGVzdC1mbGFnLUNYWCAo KSAKeyAKICAgIHRlc3QtZmxhZy1QUk9HICJDWFgiICIkMSIKfQp0ZXN0LWZsYWctRjc3ICgp IAp7IAogICAgdGVzdC1mbGFnLVBST0cgIkY3NyIgIiQxIgp9CnRlc3QtZmxhZy1GQyAoKSAK eyAKICAgIHRlc3QtZmxhZy1QUk9HICJGQyIgIiQxIgp9CnRlc3QtZmxhZy1QUk9HICgpIAp7 IAogICAgbG9jYWwgY29tcD0kMTsKICAgIGxvY2FsIGZsYWdzPSIkMiI7CiAgICBbWyAteiAk e2NvbXB9IHx8IC16ICR7ZmxhZ3N9IF1dICYmIHJldHVybiAxOwogICAgbG9jYWwgUFJPRz0k KHRjLWdldCR7Y29tcH0pOwogICAgJHtQUk9HfSAke2ZsYWdzfSAtUyAtbyAvZGV2L251bGwg LXhjIC9kZXYvbnVsbCA+IC9kZXYvbnVsbCAyPiYxCn0KdGVzdC1mbGFncyAoKSAKeyAKICAg IHRlc3QtZmxhZ3MtQ0MgIiRAIgp9CnRlc3QtZmxhZ3MtQ0MgKCkgCnsgCiAgICB0ZXN0LWZs YWdzLVBST0cgIkNDIiAiJEAiCn0KdGVzdC1mbGFncy1DWFggKCkgCnsgCiAgICB0ZXN0LWZs YWdzLVBST0cgIkNYWCIgIiRAIgp9CnRlc3QtZmxhZ3MtRjc3ICgpIAp7IAogICAgdGVzdC1m bGFncy1QUk9HICJGNzciICIkQCIKfQp0ZXN0LWZsYWdzLUZDICgpIAp7IAogICAgdGVzdC1m bGFncy1QUk9HICJGQyIgIiRAIgp9CnRlc3QtZmxhZ3MtUFJPRyAoKSAKeyAKICAgIGxvY2Fs IGNvbXA9JDE7CiAgICBsb2NhbCBmbGFnczsKICAgIGxvY2FsIHg7CiAgICBzaGlmdDsKICAg IFtbIC16ICR7Y29tcH0gXV0gJiYgcmV0dXJuIDE7CiAgICB4PSIiOwogICAgZm9yIHggaW4g IiRAIjsKICAgIGRvCiAgICAgICAgdGVzdC1mbGFnLSR7Y29tcH0gIiR7eH0iICYmIGZsYWdz PSIke2ZsYWdzfSR7ZmxhZ3M6KyB9JHt4fSI7CiAgICBkb25lOwogICAgZWNobyAiJHtmbGFn c30iOwogICAgW1sgLW4gJHtmbGFnc30gXV0KfQp0ZXN0X2ZsYWcgKCkgCnsgCiAgICBld2Fy biAidGVzdF9mbGFnOiBkZXByZWNhdGVkLCBwbGVhc2UgdXNlIHRlc3QtZmxhZ3MoKSEiIDE+ JjI7CiAgICB0ZXN0LWZsYWdzLUNDICIkQCIKfQp0ZXN0X3ZlcnNpb25faW5mbyAoKSAKeyAK ICAgIGlmIFtbICQoJCh0Yy1nZXRDQykgLS12ZXJzaW9uIDI+JjEpID09ICokMSogXV07IHRo ZW4KICAgICAgICByZXR1cm4gMDsKICAgIGVsc2UKICAgICAgICByZXR1cm4gMTsKICAgIGZp Cn0KdHJlZWNvcHkgKCkgCnsgCiAgICBkZXN0PSR7ISN9OwogICAgZmlsZXNfY291bnQ9JCM7 CiAgICB3aGlsZSAoKCAkIyA+IDEgKSk7IGRvCiAgICAgICAgZGlyc3RydWN0PSQoZGlybmFt ZSAiJDEiKTsKICAgICAgICBta2RpciAtcCAiJHtkZXN0fS8ke2RpcnN0cnVjdH0iOwogICAg ICAgIGNwIC1wUFIgIiQxIiAiJHtkZXN0fS8ke2RpcnN0cnVjdH0iOwogICAgICAgIHNoaWZ0 OwogICAgZG9uZQp9CnVjbGliY3Rvb2xpemUgKCkgCnsgCiAgICBld2FybiAidWNsaWJjdG9v bGl6ZSgpIGlzIGRlcHJlY2F0ZWQsIHBsZWFzZSBqdXN0IHVzZSBlbGlidG9vbGl6ZSgpISI7 CiAgICBlbGlidG9vbGl6ZQp9CnVucGFja19tYWtlc2VsZiAoKSAKeyAKICAgIGxvY2FsIHNy Y19pbnB1dD0kezE6LSR7QX19OwogICAgbG9jYWwgc3JjPSQoZmluZF91bnBhY2thYmxlX2Zp bGUgIiR7c3JjX2lucHV0fSIpOwogICAgbG9jYWwgc2tpcD0kMjsKICAgIGxvY2FsIGV4ZT0k MzsKICAgIFtbIC16ICR7c3JjfSBdXSAmJiBkaWUgIkNvdWxkIG5vdCBsb2NhdGUgc291cmNl IGZvciAnJHtzcmNfaW5wdXR9JyI7CiAgICBsb2NhbCBzaHJ0c3JjPSQoYmFzZW5hbWUgIiR7 c3JjfSIpOwogICAgZWNobyAiPj4+IFVucGFja2luZyAke3NocnRzcmN9IHRvICR7UFdEfSI7 CiAgICBpZiBbWyAteiAke3NraXB9IF1dOyB0aGVuCiAgICAgICAgbG9jYWwgdmVyPSQoZ3Jl cCAtYSAnIy4qTWFrZXNlbGYnICIke3NyY30iIHwgYXdrICd7cHJpbnQgJE5GfScpOwogICAg ICAgIGxvY2FsIHNraXA9MDsKICAgICAgICBleGU9dGFpbDsKICAgICAgICBjYXNlICR7dmVy fSBpbiAKICAgICAgICAgICAgMS41LiogfCAxLjYuMC1udikKICAgICAgICAgICAgICAgIHNr aXA9JChncmVwIC1hIF5za2lwPSAiJHtzcmN9IiB8IGN1dCAtZD0gLWYyKQogICAgICAgICAg ICA7OwogICAgICAgICAgICAyLjAgfCAyLjAuMSkKICAgICAgICAgICAgICAgIHNraXA9JChn cmVwIC1hIF4nCSd0YWlsICIke3NyY30iIHwgYXdrICd7cHJpbnQgJDJ9JyB8IGN1dCAtYjIt KQogICAgICAgICAgICA7OwogICAgICAgICAgICAyLjEuMSkKICAgICAgICAgICAgICAgIHNr aXA9JChncmVwIC1hIF5vZmZzZXQ9ICIke3NyY30iIHwgYXdrICd7cHJpbnQgJDJ9JyB8IGN1 dCAtYjItKTsKICAgICAgICAgICAgICAgIGxldCBza2lwPSJza2lwICsgMSIKICAgICAgICAg ICAgOzsKICAgICAgICAgICAgMi4xLjIpCiAgICAgICAgICAgICAgICBza2lwPSQoZ3JlcCAt YSBeb2Zmc2V0PSAiJHtzcmN9IiB8IGF3ayAne3ByaW50ICQzfScgfCBoZWFkIC1uIDEpOwog ICAgICAgICAgICAgICAgbGV0IHNraXA9InNraXAgKyAxIgogICAgICAgICAgICA7OwogICAg ICAgICAgICAyLjEuMykKICAgICAgICAgICAgICAgIHNraXA9YGdyZXAgLWEgXm9mZnNldD0g IiR7c3JjfSIgfCBhd2sgJ3twcmludCAkM30nYDsKICAgICAgICAgICAgICAgIGxldCBza2lw PSJza2lwICsgMSIKICAgICAgICAgICAgOzsKICAgICAgICAgICAgMi4xLjQgfCAyLjEuNSkK ICAgICAgICAgICAgICAgIHNraXA9JChncmVwIC1hIG9mZnNldD0uKmhlYWQuKndjICIke3Ny Y30iIHwgYXdrICd7cHJpbnQgJDN9JyB8IGhlYWQgLW4gMSk7CiAgICAgICAgICAgICAgICBz a2lwPSQoaGVhZCAtbiAke3NraXB9ICIke3NyY30iIHwgd2MgLWMpOwogICAgICAgICAgICAg ICAgZXhlPSJkZCIKICAgICAgICAgICAgOzsKICAgICAgICAgICAgKikKICAgICAgICAgICAg ICAgIGVlcnJvciAiSSdtIHNvcnJ5LCBidXQgSSB3YXMgdW5hYmxlIHRvIHN1cHBvcnQgdGhl IE1ha2VzZWxmIGZpbGUuIjsKICAgICAgICAgICAgICAgIGVlcnJvciAiVGhlIHZlcnNpb24g SSBkZXRlY3RlZCB3YXMgJyR7dmVyfScuIjsKICAgICAgICAgICAgICAgIGVlcnJvciAiUGxl YXNlIGZpbGUgYSBidWcgYWJvdXQgdGhlIGZpbGUgJHtzaHJ0c3JjfSBhdCI7CiAgICAgICAg ICAgICAgICBlZXJyb3IgImh0dHA6Ly9idWdzLmdlbnRvby5vcmcvIHNvIHRoYXQgc3VwcG9y dCBjYW4gYmUgYWRkZWQuIjsKICAgICAgICAgICAgICAgIGRpZSAibWFrZXNlbGYgdmVyc2lv biAnJHt2ZXJ9JyBub3Qgc3VwcG9ydGVkIgogICAgICAgICAgICA7OwogICAgICAgIGVzYWM7 CiAgICAgICAgZGVidWctcHJpbnQgIkRldGVjdGVkIE1ha2VzZWxmIHZlcnNpb24gJHt2ZXJ9 IC4uLiB1c2luZyAke3NraXB9IGFzIG9mZnNldCI7CiAgICBmaTsKICAgIGNhc2UgJHtleGV9 IGluIAogICAgICAgIHRhaWwpCiAgICAgICAgICAgIGV4ZT0idGFpbCAtbiArJHtza2lwfSAn JHtzcmN9JyIKICAgICAgICA7OwogICAgICAgIGRkKQogICAgICAgICAgICBleGU9ImRkIGli cz0ke3NraXB9IHNraXA9MSBvYnM9MTAyNCBjb252PXN5bmMgaWY9JyR7c3JjfSciCiAgICAg ICAgOzsKICAgICAgICAqKQogICAgICAgICAgICBkaWUgIm1ha2VzZWxmIGNhbnQgaGFuZGxl IGV4ZSAnJHtleGV9JyIKICAgICAgICA7OwogICAgZXNhYzsKICAgIGxvY2FsIHRtcGZpbGU9 JChlbWt0ZW1wKTsKICAgIGV2YWwgJHtleGV9IDI+IC9kZXYvbnVsbCB8IGhlYWQgLWMgNTEy ID4gIiR7dG1wZmlsZX0iOwogICAgbG9jYWwgZmlsZXR5cGU9JChmaWxlIC1iICIke3RtcGZp bGV9Iik7CiAgICBjYXNlICR7ZmlsZXR5cGV9IGluIAogICAgICAgICp0YXJcIGFyY2hpdmUq KQogICAgICAgICAgICBldmFsICR7ZXhlfSB8IHRhciAtLW5vLXNhbWUtb3duZXIgLXhmIC0K ICAgICAgICA7OwogICAgICAgIGJ6aXAyKikKICAgICAgICAgICAgZXZhbCAke2V4ZX0gfCBi emlwMiAtZGMgfCB0YXIgLS1uby1zYW1lLW93bmVyIC14ZiAtCiAgICAgICAgOzsKICAgICAg ICBnemlwKikKICAgICAgICAgICAgZXZhbCAke2V4ZX0gfCB0YXIgLS1uby1zYW1lLW93bmVy IC14emYgLQogICAgICAgIDs7CiAgICAgICAgY29tcHJlc3MqKQogICAgICAgICAgICBldmFs ICR7ZXhlfSB8IGd1bnppcCB8IHRhciAtLW5vLXNhbWUtb3duZXIgLXhmIC0KICAgICAgICA7 OwogICAgICAgICopCiAgICAgICAgICAgIGVlcnJvciAiVW5rbm93biBmaWxldHlwZSBcIiR7 ZmlsZXR5cGV9XCIgPyI7CiAgICAgICAgICAgIGZhbHNlCiAgICAgICAgOzsKICAgIGVzYWM7 CiAgICBfcGlwZXN0YXR1cz0iJHtQSVBFU1RBVFVTWypdfSI7CiAgICBbWyAiJHtfcGlwZXN0 YXR1cy8vIC99IiAtZXEgMCBdXSB8fCBkaWUgImZhaWx1cmUgdW5wYWNraW5nICgke2ZpbGV0 eXBlfSkgbWFrZXNlbGYgJHtzaHJ0c3JjfSAoJyR7dmVyfScgKyR7c2tpcH0pIgp9CnVucGFj a19wZHYgKCkgCnsgCiAgICBsb2NhbCBzcmM9JChmaW5kX3VucGFja2FibGVfZmlsZSAiJDEi KTsKICAgIGxvY2FsIHNpemVvZmZfdD0kMjsKICAgIFtbIC16ICR7c3JjfSBdXSAmJiBkaWUg IkNvdWxkIG5vdCBsb2NhdGUgc291cmNlIGZvciAnJDEnIjsKICAgIFtbIC16ICR7c2l6ZW9m Zl90fSBdXSAmJiBkaWUgIk5vIGlkZWEgd2hhdCBvZmZfdCBzaXplIHdhcyB1c2VkIGZvciB0 aGlzIHBkdiA6KCI7CiAgICBsb2NhbCBzaHJ0c3JjPSQoYmFzZW5hbWUgIiR7c3JjfSIpOwog ICAgZWNobyAiPj4+IFVucGFja2luZyAke3NocnRzcmN9IHRvICR7UFdEfSI7CiAgICBsb2Nh bCBtZXRhc2tpcD0kKHRhaWwgLWMgJHtzaXplb2ZmX3R9ICIke3NyY30iIHwgaGV4ZHVtcCAt ZSBcIiVpXCIpOwogICAgbG9jYWwgdGFpbHNraXA9JCh0YWlsIC1jICQoKCR7c2l6ZW9mZl90 fSoyKSkgIiR7c3JjfSIgfCBoZWFkIC1jICR7c2l6ZW9mZl90fSB8IGhleGR1bXAgLWUgXCIl aVwiKTsKICAgIGxvY2FsIG1ldGFmaWxlPSQoZW1rdGVtcCk7CiAgICB0YWlsIC1jICskKCgk e21ldGFza2lwfSsxKSkgIiR7c3JjfSIgPiAiJHttZXRhZmlsZX0iOwogICAgbG9jYWwgZGF0 YWZpbGU9JCh0YWlsIC1jICskKCgke21ldGFza2lwfSsxKSkgIiR7c3JjfSIgfCBzdHJpbmdz IHwgaGVhZCAtbiAxKTsKICAgIGRhdGFmaWxlPSQoYmFzZW5hbWUgIiR7ZGF0YWZpbGV9Iik7 CiAgICBsb2NhbCB0bXBmaWxlPSQoZW1rdGVtcCk7CiAgICB0YWlsIC1jICskKCgke3RhaWxz a2lwfSsxKSkgJHtzcmN9IDI+IC9kZXYvbnVsbCB8IGhlYWQgLWMgNTEyID4gJHt0bXBmaWxl fTsKICAgIGxvY2FsIGlzY29tcHJlc3NlZD0kKGZpbGUgLWIgIiR7dG1wZmlsZX0iKTsKICAg IGlmIFtbICR7aXNjb21wcmVzc2VkOjA6OH0gPT0gImNvbXByZXNzIiBdXTsgdGhlbgogICAg ICAgIGlzY29tcHJlc3NlZD0xOwogICAgICAgIG12ICR7dG1wZmlsZX17LC5afTsKICAgICAg ICBndW56aXAgJHt0bXBmaWxlfTsKICAgIGVsc2UKICAgICAgICBpc2NvbXByZXNzZWQ9MDsK ICAgIGZpOwogICAgbG9jYWwgaXN0YXI9JChmaWxlIC1iICIke3RtcGZpbGV9Iik7CiAgICBp ZiBbWyAke2lzdGFyOjA6OX0gPT0gIlBPU0lYIHRhciIgXV07IHRoZW4KICAgICAgICBpc3Rh cj0xOwogICAgZWxzZQogICAgICAgIGlzdGFyPTA7CiAgICBmaTsKICAgIGlmIFsgJHtpc2Nv bXByZXNzZWR9IC1lcSAxIF07IHRoZW4KICAgICAgICBpZiBbICR7aXN0YXJ9IC1lcSAxIF07 IHRoZW4KICAgICAgICAgICAgdGFpbCAtYyArJCgoJHt0YWlsc2tpcH0rMSkpICR7c3JjfSAy PiAvZGV2L251bGwgfCBoZWFkIC1jICQoKCR7bWV0YXNraXB9LSR7dGFpbHNraXB9KSkgfCB0 YXIgLXh6ZiAtOwogICAgICAgIGVsc2UKICAgICAgICAgICAgdGFpbCAtYyArJCgoJHt0YWls c2tpcH0rMSkpICR7c3JjfSAyPiAvZGV2L251bGwgfCBoZWFkIC1jICQoKCR7bWV0YXNraXB9 LSR7dGFpbHNraXB9KSkgfCBnemlwIC1kYyA+ICR7ZGF0YWZpbGV9OwogICAgICAgIGZpOwog ICAgZWxzZQogICAgICAgIGlmIFsgJHtpc3Rhcn0gLWVxIDEgXTsgdGhlbgogICAgICAgICAg ICB0YWlsIC1jICskKCgke3RhaWxza2lwfSsxKSkgJHtzcmN9IDI+IC9kZXYvbnVsbCB8IGhl YWQgLWMgJCgoJHttZXRhc2tpcH0tJHt0YWlsc2tpcH0pKSB8IHRhciAtLW5vLXNhbWUtb3du ZXIgLXhmIC07CiAgICAgICAgZWxzZQogICAgICAgICAgICB0YWlsIC1jICskKCgke3RhaWxz a2lwfSsxKSkgJHtzcmN9IDI+IC9kZXYvbnVsbCB8IGhlYWQgLWMgJCgoJHttZXRhc2tpcH0t JHt0YWlsc2tpcH0pKSA+ICR7ZGF0YWZpbGV9OwogICAgICAgIGZpOwogICAgZmk7CiAgICB0 cnVlCn0KdmFsaWRhdGVfZGVza3RvcF9lbnRyaWVzICgpIAp7IAogICAgaWYgW1sgLXggL3Vz ci9iaW4vZGVza3RvcC1maWxlLXZhbGlkYXRlIF1dOyB0aGVuCiAgICAgICAgZWluZm8gIkNo ZWNraW5nIGRlc2t0b3AgZW50cnkgdmFsaWRpdHkiOwogICAgICAgIGxvY2FsIGRpcmVjdG9y aWVzPSIiOwogICAgICAgIGZvciBkIGluIC91c3Ivc2hhcmUvYXBwbGljYXRpb25zICRAOwog ICAgICAgIGRvCiAgICAgICAgICAgIFtbIC1kICR7RH0ke2R9IF1dICYmIGRpcmVjdG9yaWVz PSIke2RpcmVjdG9yaWVzfSAke0R9JHtkfSI7CiAgICAgICAgZG9uZTsKICAgICAgICBpZiBb WyAtbiAke2RpcmVjdG9yaWVzfSBdXTsgdGhlbgogICAgICAgICAgICBmb3IgRklMRSBpbiAk KGZpbmQgJHtkaXJlY3Rvcmllc30gLW5hbWUgIipcLmRlc2t0b3AiIAkJCQkJCQktbm90IC1w YXRoICcqLmhpZGRlbionIHwgc29ydCAtdSAyPi9kZXYvbnVsbCk7CiAgICAgICAgICAgIGRv CiAgICAgICAgICAgICAgICBsb2NhbCB0ZW1wPSQoZGVza3RvcC1maWxlLXZhbGlkYXRlICR7 RklMRX0gfCBncmVwIC12ICJ3YXJuaW5nOiIgfCAJCQkJCQkJCXNlZCAtZSAic3xlcnJvcjog fHwiIC1lICJzfCR7RklMRX06fC0tfGciICk7CiAgICAgICAgICAgICAgICBbWyAtbiAkdGVt cCBdXSAmJiBlbG9nICR7dGVtcC8tLS8ke0ZJTEUvJHtEfS99On07CiAgICAgICAgICAgIGRv bmU7CiAgICAgICAgZmk7CiAgICAgICAgZWNobyAiIjsKICAgIGVsc2UKICAgICAgICBlaW5m byAiUGFzc2luZyBkZXNrdG9wIGVudHJ5IHZhbGlkaXR5IGNoZWNrLiBJbnN0YWxsIGRldi11 dGlsL2Rlc2t0b3AtZmlsZS11dGlscywgaWYgeW91IHdhbnQgdG8gaGVscCB0byBpbXByb3Zl IEdlbnRvby4iOwogICAgZmkKfQpkZWNsYXJlIC14IEFMU0FfQ0FSRFM9IiIKZGVjbGFyZSAt eCBBTFNBX1BDTV9QTFVHSU5TPSJhZHBjbSBhbGF3IGFzeW0gY29weSBkbWl4IGRzaGFyZSBk c25vb3AgZW1wdHkgZXh0cGx1ZyBmaWxlIGhvb2tzIGllYzk1OCBpb3BsdWcgbGFkc3BhIGxm bG9hdCBsaW5lYXIgbWV0ZXIgbW1hcF9lbXVsIG11bGF3IG11bHRpIG51bGwgcGx1ZyByYXRl IHJvdXRlIHNoYXJlIHNobSBzb2Z0dm9sIgpkZWNsYXJlIC14IEFOVF9IT01FPSIvdXNyL3No YXJlL2FudCIKZGVjbGFyZSAteCBBUEFDSEUyX01PRFVMRVM9InByb3h5IHByb3h5X2h0dHAg cHJveHlfZnRwIGRpciBhdXRoel9ob3N0IG1pbWUgYWxpYXMgbG9nX2NvbmZpZyBsb2dfZm9y ZW5zaWMgbG9naW8iCmRlY2xhcmUgLXggQVJDSD0ieDg2IgpkZWNsYXJlIC14IENCVUlMRD0i aTQ4Ni1wYy1saW51eC1nbnUiCmRlY2xhcmUgLXggQ0RFRklORV9kZWZhdWx0PSJfX3VuaXhf XyIKZGVjbGFyZSAteCBDRkxBR1M9Ii1PMiAtbXR1bmU9aTY4NiAtcGlwZSAtZmZhc3QtbWF0 aCIKZGVjbGFyZSAteCBDRkxBR1NfZGVmYXVsdD0iIgpkZWNsYXJlIC14IENIT1NUPSJpNDg2 LXBjLWxpbnV4LWdudSIKZGVjbGFyZSAteCBDSE9TVF9kZWZhdWx0PSJpNDg2LXBjLWxpbnV4 LWdudSIKZGVjbGFyZSAteCBDTEFTU1BBVEg9Ii4iCmRlY2xhcmUgLXggQ1JPU1NDT01QSUxF X09QVFM9IiIKZGVjbGFyZSAteCBDVEFSR0VUX2RlZmF1bHQ9Imk0ODYtcGMtbGludXgtZ251 IgpkZWNsYXJlIC14IENWU19SU0g9InNzaCIKZGVjbGFyZSAteCBDWFhGTEFHUz0iLU8yIC1t dHVuZT1pNjg2IC1waXBlIC1mZmFzdC1tYXRoIgpkZWNsYXJlIC14IERCVVNfU0VTU0lPTl9C VVNfQUREUkVTUz0idW5peDphYnN0cmFjdD0vdG1wL2RidXMtSW5sZ3FVSmJmVSxndWlkPWYz OWU0MTAyZDA0NzA4MjYzZDc1MjViMzRhMzg2ZWJlIgpkZWNsYXJlIC14IERFRkFVTFRfQUJJ PSJkZWZhdWx0IgpkZWNsYXJlIC14IERFU1RUUkVFPSIvdXNyIgpkZWNsYXJlIC14IERJUk9Q VElPTlM9Ii1tMDc1NSIKZGVjbGFyZSAteCBEUk1fTElWRV9CUkFOQ0g9InI2eHgtcjd4eC1z dXBwb3J0IgpkZWNsYXJlIC14IEVBUEk9IjIiCmRlY2xhcmUgLXggRUxJQkM9ImdsaWJjIgpk ZWNsYXJlIC14IEVYRU9QVElPTlM9Ii1tMDc1NSIKZGVjbGFyZSAteCBGQ0ZMQUdTPSIgLWZm YXN0LW1hdGgiCmRlY2xhcmUgLXggRkVBVFVSRVM9ImRpc3Rsb2NrcyBmaXhwYWNrYWdlcyBw YXJhbGxlbC1mZXRjaCBwcm90ZWN0LW93bmVkIHNhbmRib3ggc2ZwZXJtcyBzdHJpY3QgdW5t ZXJnZS1vcnBoYW5zIHVzZXJmZXRjaCIKZGVjbGFyZSAteCBGRkxBR1M9IiAtZmZhc3QtbWF0 aCIKZGVjbGFyZSAteCBGT08yWkpTX0RFVklDRVM9ImhwMTAxOCIKZGVjbGFyZSAteCBHQ0Nf U1BFQ1M9IiIKZGVjbGFyZSAteCBHREtfVVNFX1hGVD0iMSIKZGVjbGFyZSAteCBHRU5FUkFU SU9OPSIyIgpkZWNsYXJlIC14IEdOT01FX0RFU0tUT1BfU0VTU0lPTl9JRD0idGhpcy1pcy1k ZXByZWNhdGVkIgpkZWNsYXJlIC14IEdOT01FX0tFWVJJTkdfU09DS0VUPSIvdG1wL2tleXJp bmctZkw2VUF0L3NvY2tldCIKZGVjbGFyZSAteCBHVEtfUkNfRklMRVM9Ii9ldGMvZ3RrL2d0 a3JjOi9ob21lL2Jhc2lsaW8vLmd0a3JjLTEuMi1nbm9tZTIiCmRlY2xhcmUgLXggSEc9Ii91 c3IvYmluL2hnIgpkZWNsYXJlIC14IEhVU0hMT0dJTj0iRkFMU0UiCmRlY2xhcmUgLXggSU5I RVJJVEVEPSJ0b29sY2hhaW4tZnVuY3MgcG9ydGFiaWxpdHkgZmxhZy1vLW1hdGljIG11bHRp bGliIGxpYnRvb2wgYXV0b3Rvb2xzIGV1dGlscyIKZGVjbGFyZSAteCBJTlBVVF9ERVZJQ0VT PSJrZXlib2FyZCBtb3VzZSBldmRldiIKZGVjbGFyZSAteCBJTlNERVNUVFJFRT0iIgpkZWNs YXJlIC14IElOU09QVElPTlM9Ii1tMDY0NCIKZGVjbGFyZSAteCBKQVZBQz0iL2V0Yy9qYXZh LWNvbmZpZy0yL2N1cnJlbnQtc3lzdGVtLXZtL2Jpbi9qYXZhYyIKZGVjbGFyZSAteCBKQVZB X0hPTUU9Ii9ldGMvamF2YS1jb25maWctMi9jdXJyZW50LXN5c3RlbS12bSIKZGVjbGFyZSAt eCBKREtfSE9NRT0iL2V0Yy9qYXZhLWNvbmZpZy0yL2N1cnJlbnQtc3lzdGVtLXZtIgpkZWNs YXJlIC14IEtFUk5FTD0ibGludXgiCmRlY2xhcmUgLXggS0VSTkVMX0FCST0iZGVmYXVsdCIK ZGVjbGFyZSAteCBLRVlXT1JEUz0ifmFscGhhIH5hbWQ2NCB+YXJtIH5ocHBhIH5pYTY0IH5t aXBzIH5wcGMgfnBwYzY0IH5zaCB+c3BhcmMgfng4NiB+eDg2LWZic2QiCmRlY2xhcmUgLXgg S1Y9IjIuNi4zMC1nZW50b28tcjEiCmRlY2xhcmUgLXggTENEX0RFVklDRVM9ImJheXJhZCBj Zm9udHogY2ZvbnR6NjMzIGdsayBoZDQ0NzgwIGxiMjE2IGxjZG0wMDEgbXR4b3JiIG5jdXJz ZXMgdGV4dCIKZGVjbGFyZSAteCBMREZMQUdTPSItV2wsLU8xIgpkZWNsYXJlIC14IExERkxB R1NfZGVmYXVsdD0iIgpkZWNsYXJlIC14IExJQkRJUl9kZWZhdWx0PSJsaWIiCmRlY2xhcmUg LXggTElCT1BUSU9OUz0iLW0wNjQ0IgpkZWNsYXJlIC14IExJQ0VOU0U9IkxHUEwtMiIKZGVj bGFyZSAteCBMSU5HVUFTPSJydSIKZGVjbGFyZSAteCBNQUtFT1BUUz0iLWo0IgpkZWNsYXJl IC14IE1VTFRJTElCX0FCSVM9ImRlZmF1bHQiCmRlY2xhcmUgLXggTkVUQkVBTlM9ImFwaXN1 cHBvcnQgY25kIGdyb292eSBnc2YgaGFybmVzcyBpZGUgaWRlbnRpdHkgajJlZSBqYXZhIG1v YmlsaXR5IG5iIHBocCBwcm9maWxlciBzb2EgdmlzdWFsd2ViIHdlYmNvbW1vbiB3ZWJzdmNj b21tb24geG1sIgpkZWNsYXJlIC14IE9QRU5HTF9QUk9GSUxFPSJ4b3JnLXgxMSIKZGVjbGFy ZSAteCBPUkJJVF9TT0NLRVRESVI9Ii90bXAvb3JiaXQtYmFzaWxpbyIKZGVjbGFyZSAteCBQ S0dfQ09ORklHX1BBVEg9Ii91c3IvcXQvMy9saWIvcGtnY29uZmlnIgpkZWNsYXJlIC14IFBP UlRBR0VfQ09NUFJFU1NfRVhDTFVERV9TVUZGSVhFUz0iY3NzIGdpZiBodG1bbF0/IGpwW2Vd P2cganMgcGRmIHBuZyIKZGVjbGFyZSAteCBQUk9GSUxFX09OTFlfVkFSSUFCTEVTPSJBUkNI IEVMSUJDIEtFUk5FTCBVU0VSTEFORCIKZGVjbGFyZSAteCBQUk9QRVJUSUVTPSIiCmRlY2xh cmUgLXggUFJPVklERT0iIgpkZWNsYXJlIC14IFFNQUtFU1BFQz0ibGludXgtZysrIgpkZWNs YXJlIC14IFFURElSPSIvdXNyL3F0LzMiCmRlY2xhcmUgLXggUkVTVFJJQ1Q9IiIKZGVjbGFy ZSAteCBTPSIvdmFyL3RtcC9wb3J0YWdlL21lZGlhLWxpYnMvbWVzYS03LjQuMi93b3JrL01l c2EtNy40LjIiCmRlY2xhcmUgLXggU0FOREJPWF9ERUJVRz0iMCIKZGVjbGFyZSAteCBTQU5E Qk9YX0RFTlk9IiIKZGVjbGFyZSAteCBTQU5EQk9YX1BJRD0iODkwNSIKZGVjbGFyZSAteCBT QU5EQk9YX1BSRURJQ1Q9Ii9kZXYvY29uc29sZTovZGV2L2NyeXB0bzovZGV2L3JhbmRvbTov cHJvYy9zZWxmL21hcHM6L3Zhci90bXAvcG9ydGFnZS9tZWRpYS1saWJzL21lc2EtNy40LjIv aG9tZWRpciIKZGVjbGFyZSAteCBTQU5EQk9YX1JFQUQ9Ii86L2Rldi9zaG06L2Rldi9zdGRp bjovdmFyL3RtcCIKZGVjbGFyZSAteCBTQU5EQk9YX1ZFUkJPU0U9IjEiCmRlY2xhcmUgLXgg U0FOREJPWF9XUklURT0iOi9kZXYvY29uc29sZTovZGV2L2ZkOi9kZXYvZnVsbDovZGV2L251 bGw6L2Rldi9wdHMvOi9kZXYvcHR5Oi9kZXYvc2htOi9kZXYvc3RkZXJyOi9kZXYvc3Rkb3V0 Oi9kZXYvdHRzOi9kZXYvdHR5Oi9kZXYvdmMvOi9kZXYvemVybzovcHJvYy9zZWxmL2ZkOi90 bXAvOi91c3IvbGliL2NmOi91c3IvbGliL2NvbmZ0ZXN0Oi91c3IvbGliMzIvY2Y6L3Vzci9s aWIzMi9jb25mdGVzdDovdXNyL2xpYjY0L2NmOi91c3IvbGliNjQvY29uZnRlc3Q6L3Vzci90 bXAvY2Y6L3Vzci90bXAvY29uZnRlc3Q6L3Zhci90bXA6L3Zhci90bXAvOi92YXIvdG1wL3Bv cnRhZ2UvbWVkaWEtbGlicy9tZXNhLTcuNC4yL2hvbWVkaXIvLmJhc2hfaGlzdG9yeSIKZGVj bGFyZSAteCBTRVNTSU9OX01BTkFHRVI9ImxvY2FsL3F1YWQ6QC90bXAvLklDRS11bml4LzM0 MzAsdW5peC9xdWFkOi90bXAvLklDRS11bml4LzM0MzAiCmRlY2xhcmUgLXggU0xPVD0iMCIK ZGVjbGFyZSAteCBVU0U9ImVsaWJjX2dsaWJjIGtlcm5lbF9saW51eCBucHRsIHVzZXJsYW5k X0dOVSB2aWRlb19jYXJkc19yYWRlb25oZCB4ODYgeGNiIgpkZWNsYXJlIC14IFVTRVJMQU5E PSJHTlUiCmRlY2xhcmUgLXggVklERU9fQ0FSRFM9InJhZGVvbmhkIgpkZWNsYXJlIC14IFZN SEFORExFPSJibGFja2Rvd24tamRrLTEuNC4yIgpkZWNsYXJlIC14IFdBTlRfQVVUT0NPTkY9 IjIuNSIKZGVjbGFyZSAteCBXQU5UX0FVVE9NQUtFPSIxLjEwIgpkZWNsYXJlIC14IFdJTkRP V0lEPSIyNzI2MzAxNyIKZGVjbGFyZSAteCBXSU5ET1dQQVRIPSI3IgpkZWNsYXJlIC14IFhE R19DT05GSUdfRElSUz0iL2V0Yy94ZGciCmRlY2xhcmUgLXggWERHX0RBVEFfRElSUz0iL3Vz ci9sb2NhbC9zaGFyZTovdXNyL2tkZS8zLjUvc2hhcmU6L3Vzci9zaGFyZTovdXNyL3NoYXJl L2dkbSIKZGVjbGFyZSAteCBfRV9ET0NERVNUVFJFRV89IiIKZGVjbGFyZSAteCBfRV9FWEVE RVNUVFJFRV89IiIK --------------000200050608080707030505--