Received: from localhost ([::1]:57147 helo=stodi.digitalkingdom.org) by stodi.digitalkingdom.org with esmtp (Exim 4.76) (envelope-from ) id 1UX3Bl-0008O4-4a; Mon, 29 Apr 2013 22:33:17 -0700 Received: from 173-13-139-235-sfba.hfc.comcastbusiness.net ([173.13.139.235]:49889 helo=digitalkingdom.org) by stodi.digitalkingdom.org with smtp (Exim 4.76) (envelope-from ) id 1UX3Ba-0008Nx-9v for wikineurotic@lojban.org; Mon, 29 Apr 2013 22:33:14 -0700 Received: by digitalkingdom.org (sSMTP sendmail emulation); Mon, 29 Apr 2013 22:33:06 -0700 From: "Apache" Date: Mon, 29 Apr 2013 22:33:06 -0700 To: wikineurotic@lojban.org X-PHP-Originating-Script: 48:htmlMimeMail.php MIME-Version: 1.0 Message-ID: X-Spam-Score: 2.0 (++) X-Spam_score: 2.0 X-Spam_score_int: 20 X-Spam_bar: ++ X-Spam-Report: Spam detection software, running on the system "stodi.digitalkingdom.org", has identified this incoming email as possible spam. The original message has been attached to this so you can view it (if it isn't spam) or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: The page leçons wave en français was changed by daeldir at 07:32 CEST Comment: Houhou comme le coucou africain. You can view the page by following this link: http://lojban.org/tiki/le%C3%A7ons%20wave%20en%20fran%C3%A7ais [...] Content analysis details: (2.0 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 URIBL_BLOCKED ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [URIs: pi.er] 1.6 RCVD_IN_BRBL_LASTEXT RBL: RCVD_IN_BRBL_LASTEXT [173.13.139.235 listed in bb.barracudacentral.org] 0.4 RDNS_DYNAMIC Delivered to internal network by host with dynamic-looking rDNS Subject: [Wikineurotic] =?utf-8?q?Wiki_page_le=C3=A7ons_wave_en_fran=C3=A7?= =?utf-8?q?ais_changed_by_daeldir?= X-BeenThere: wikineurotic@lojban.org X-Mailman-Version: 2.1.14 Precedence: list Reply-To: webmaster@lojban.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: wikineurotic-bounces@lojban.org VGhlIHBhZ2UgbGXDp29ucyB3YXZlIGVuIGZyYW7Dp2FpcyB3YXMgY2hhbmdlZCBieSBkYWVsZGly IGF0IDA3OjMyIENFU1QKQ29tbWVudDogSG91aG91IGNvbW1lIGxlIGNvdWNvdSBhZnJpY2Fpbi4K CllvdSBjYW4gdmlldyB0aGUgcGFnZSBieSBmb2xsb3dpbmcgdGhpcyBsaW5rOgogCmh0dHA6Ly9s b2piYW4ub3JnL3Rpa2kvbGUlQzMlQTdvbnMlMjB3YXZlJTIwZW4lMjBmcmFuJUMzJUE3YWlzCgpZ b3UgY2FuIHZpZXcgYSBkaWZmIGJhY2sgdG8gdGhlIHByZXZpb3VzIHZlcnNpb24gYnkgZm9sbG93 aW5nIHRoaXMgbGluazogCmh0dHA6Ly9sb2piYW4ub3JnL3Rpa2kvdGlraS1wYWdlaGlzdG9yeS5w aHA/cGFnZT1sZSVDMyVBN29ucyUyMHdhdmUlMjBlbiUyMGZyYW4lQzMlQTdhaXMmY29tcGFyZT0x Jm9sZHZlcj01Jm5ld3Zlcj02CgoKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioKVGhlIGNoYW5nZXMgaW4gdGhpcyB2ZXJzaW9uIGZvbGxv dyBiZWxvdywgZm9sbG93ZWQgYWZ0ZXIgYnkgdGhlIGN1cnJlbnQgZnVsbCBwYWdlIHRleHQuCioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq CgoKKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSst Ky0rLSsKQEAgLUxpbmVzOiA1Mi01NiBjaGFuZ2VkIHRvICtMaW5lczogNTItNTYgQEAKKy0rLSst Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSsKJyd1 aScnIHxjb21tZSBkYW5zIMKrwqBoX19vdWlfX2xsZcKgwrsgfHwKCi0gTGVzIHZveWVsbGVzIGRv dWJsZXMgc29udCByYXJlcy4gTGVzIHNldWxzIGV4ZW1wbGVzIHNvbnQgJydpaScnLCBwcm9ub25j IGNvbW1lIGRhbnMgZmFfX2lsbGlfXywgZXQgJyd1dScnLCBwcm9ub25jIGNvbW1lIGRhbnMgX19P dV9faF9fb3VfXyEgKHF1YW5kIG9uIGFwcGVsbGUgcXVlbHF1J3VuLCBtYWlzIHBhcyBjb21tZSBk YW5zIEhvdWhvdSE6IGRhbnMgbGUgcHJlbWllciBleGVtcGxlLCBsZSAnJ2gnJyBlc3QgbXVldCwg ZGFucyBsZSBkZXV4aW1lLCBsZSAnJ2gnJyBlc3QgYXNwaXIgIGNlIHF1aSBzZSB0cmFuc2NyaXJh aXQgZW4gbG9qYmFuICcndSd1JycpCisgTGVzIHZveWVsbGVzIGRvdWJsZXMgc29udCByYXJlcy4g TGVzIHNldWxzIGV4ZW1wbGVzIHNvbnQgJydpaScnLCBwcm9ub25jIGNvbW1lIGRhbnMgZmFfX2ls bGlfXywgZXQgJyd1dScnLCBwcm9ub25jIGNvbW1lIGRhbnMgX19PdV9faF9fb3VfXyEgKHF1YW5k IG9uIGFwcGVsbGUgcXVlbHF1J3VuLCBtYWlzIHBhcyBjb21tZSBkYW5zIEhvdWhvdTogZGFucyBs ZSBwcmVtaWVyIGV4ZW1wbGUsIGxlICcnaCcnIGVzdCBtdWV0LCBkYW5zIGxlIGRldXhpbWUsIGxl ICcnaCcnIGVzdCBhc3BpciAgY2UgcXVpIHNlIHRyYW5zY3JpcmFpdCBlbiBsb2piYW4gJyd1J3Un JykKCiEhISFDb25zb25uZXMKCgoKCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqClRoZSBuZXcgcGFnZSBjb250ZW50IGZvbGxvd3MgYmVs b3cuCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqCgp7Qk9YKAoKICB0aXRsZT0iVHJhdmFpbCBlbiBjb3VycyIKCil9Cgp0ZXh0ZQoKQ2V0 dGUgcGFnZSBlc3QgdW5lIHRyYWR1Y3Rpb24gZW4gY291cnMgZGUgKCh3YXZlbGVzc29uc2NvbnRp bnVlZCkpIGVuIGZyYW7Dp2Fpcy4gTGUgc3RhdHV0IGFjdHVlbCBlc3QgdW4gaW1wb3J0IGLDqnRl IGV0IG3DqWNoYW50IGRlIGxhIHBhZ2UgYW5nbGFpc2UuIEF1IGZ1ciBldCDDoCBtZXN1cmUgZGUg bGEgdHJhZHVjdGlvbiwgY2V0dGUgbm90ZSBzZXJhIG1pc2Ugw6Agam91ciBwb3VyIGluZGlxdWVy IGwnw6l0YXQgZCdhdmFuY2VtZW50IGRlcyBsZcOnb25zLiAKCgoKw4l0YXQgYWN0dWVswqA6IHRy YWR1Y3Rpb24gZGUgbGEgbGXDp29uIHrDqXJvIGVudGFtw6llLgoKe0JPWH0gCgoKCiFMZXMgbGXD p29ucyBXYXZlIGNvbnRpbnXDqWVzwqA6CgohISFSw6lkaWfDqWVzIHBhciBsYSBrbGFrdSwgYXZl YyBsJ2FpZGUgZGUgbG9qYmFuaXN0ZXMgdmFyacOpcy4gQmFzw6llIHN1ciBsZSB0cmF2YWlsIGRl IGxhIC5rcmliYWNyLiBQcmludGVtcHMgMjAxMy4KClRyYWR1aXRlcyBkZSBsJ2FuZ2xhaXMgdmVy cyBsZSBmcmFuw6dhaXMgcGFyIERhZWxkaXIuCgoKCiEhTGXDp29ucyBkZSBsb2piYW4g4oCTIGxl w6dvbiB6w6lybzogYXZhbnQgcHJvcG9zCgpDZXMgbGXDp29ucyBzb250IHVuZSB0ZW50YXRpdmUg ZGUgZMOpdmVsb3BwZXIgbGVzIMKrwqBMZcOnb25zIGRlIEdvb2dsZSBXYXZlwqDCuywgdW4gZXhj ZWxsZW50IGRpZGFjdGljaWVsIGNvbnNhY3LDqSBhdSBsb2piYW4sIMOpY3JpdCBwYXIga3JpYmFj ciwgeGFsYm8sIGV0IGQnYXV0cmVzLCBxdWksIGjDqWxhcywgbmUgY291dnJhaXQgcXVlIGxlcyBx dWF0cmVzIHByZW1pZXJzIGNoYXBpdHJlcyBkdSBwcsOpc2VudCBkaWRhY3RpY2llbC4gSWwgdHJh aXRlIGRlcyByw6hnbGVzIGxlcyBwbHVzIHLDqWNlbnRlcyBkdSBsb2piYW4sIHF1aSBuZSBzb250 IHBhcyBjb3V2ZXJ0ZXMgcGFyIGRlIHBsdXMgYW5jaWVucyBjb3VycyB0ZWxzIHF1ZSDCq8KgV2hh dCBpcyBMb2piYW4/wqDCuywgZXQgwqvCoExvamJhbiBmb3IgQmVnaW5uZXJzwqDCuy4KCgoKU2kg bGUgbG9qYmFuIGVzdCB0b3RhbGVtZW50IG5vdXZlYXUgcG91ciB2b3VzLCBqZSB2b3VzIHJlY29t bWFuZGUgZCfDqWNvdXRlciB0b3V0IGxlcyBlbnJlZ2lzdHJlbWVudCBkZSBsb2piYW4gcGFybMOp IHF1ZSB2b3VzIHBvdXJyZXogdHJvdXZlciwgdGFudCBhdmFudCBxdWUgcGVuZGFudCBsYSBsZWN0 dXJlIGRlIGNlIGRpZGFjdGljaWVsLCBhZmluIGRlIHZvdXMgZmFtaWxpYXJpc2VyIGF2ZWMgbGVz IHNvbnMgZXQgbGVzIG1vdHMgZHUgbGFuZ2FnZS4gRGUgcGx1cywgZXNzYXlleiBkZSBwcm9ub25j ZXIgY2UgcXVlIHZvdXMgbGlzZXogYXZlYyBsJ2FjY2VudCBkdSBsb2piYW4gc2kgdm91cyBsZSBw b3V2ZXouIENlY2kgdm91cyBhaWRlcmEgw6AgcHJvbm9uY2VyIGxlIGxvamJhbi4gCgoKCkVuIHN1 aXZhbnQgY2UgZGlkYWN0aWNpZWwsIGlsIGVzdCBjb25zZWlsbMOpIGRlIHByZW5kcmUgZGVzIHBh dXNlcyBlbnRyZSBsZXMgbGXDp29ucyBhZmluIGRlIGRpZ8OpcmVyIGNlIHF1ZSB2b3VzIGF2ZXog YXBwcmlzLiBKJ2FpIGVzc2F5w6kgZGUgY29uc3RydWlyZSBjZXMgbGXDp29ucyBkdSBzaW1wbGUg YXUgY29tcGxleGUsIGV0IGQnZXhjbHVyZSB0b3V0IG1vdCBvdSBjb25jZXB0IHF1aSBuJ2EgcGFz IMOpdMOpIGV4cGxpcXXDqSBkYW5zIGxlcyBsZcOnb24gcHLDqWPDqWRlbnRlLiBVbmUgZm9pcyBl eHBsaXF1w6lzLCBpbHMgc29udCB1dGlsaXPDqXMgbGlicmVtZW50IHRvdXQgYXUgbG9uZyBkdSBy ZXN0ZSBkdSBkaWRhY3RpY2llbC4gSidleGhvcnRlIGxlIGxlY3RldXIgw6AgbmUgcGFzIGZhaXJl IGwnaW1wYXNzZSBzdXIgdW4gY29udGVudSBpbmNvbXByaXPCoDogc2kgdm91cyBhdmV6IHVuZSBx dWVzdGlvbiBvdSDDqnRlcyBpbmNlcnRhaW4gZCd1bmUgY2hvc2UsIG4nYXlleiBwYXMgZGUgY29t cGxleGUgw6AgZGVtYW5kZXIgw6AgbGEgY29tbXVuYXV0w6kgbG9qYmFuLCBxdWkgcGV1dCDDqnRy ZSB0cm91dsOpZSBzdXIgI2xvamJhbiBzdXIgbGUgcsOpc2VhdSBJUkMgRnJlZW5vZGUgKGVuIGFu Z2xhaXMpLCBvdSBzdXIgbGEgW2h0dHA6Ly9tYWlsLmxvamJhbi5vcmcvbWFpbG1hbi9saXN0aW5m by9sb2piYW4tZnJ8bWFpbGluZy1saXN0IGZyYW5jb3Bob25lXS4gRWxsZSBzZXJhIGhldXJldXNl IGQnYWlkZXIuCgoKCkRhbnMgY2UgZGlkYWN0aWNpZWwsIGxlIHRleHRlIGVuIGxvamJhbiBlc3Qg w6ljcml0IGVuICcnaXRhbGlxdWVzJycuIFBsdXMgdGFyZCwgcXVhbmQgdXRpbGlzw6lzIGNvbW1l cyBtb3RzIGVtcHJ1bnTDqXMgZHUgbG9qYmFuIGRhbnMgZGVzIHBocmFzZXMgZnJhbsOnYWlzZXMs IGlscyBuZSBzb250IHBhcyBtYXJxdcOpcy4gTGVzIHLDqXBvbnNlcyBkZXMgZXhlcmNpY2VzIHNv bnQgYWZmaWNow6llcyBjb21tZSB1bmUgYmFycmUgZ3Jpc2UuIFPDqWxlY3Rpb25uZXogY2V0dGUg YmFycmUgcG91ciB2b2lyIGxlIHRleHRlLgoKCgpFbmZpbiwgaidhaSBhdXRhbnQgcXVlIHBvc3Np YmxlIGVzc2F5w6kgZCd1dGlsaXNlciBsZXMgbW90cyBkdSBsb2piYW4gcG91ciBkw6lzaWduZXIg bGVzIGNvbnN0cnVjdGlvbnMgZ3JhbW1hdGljYWxlc8KgOiAnJ3N1bWthJ2knJyBhdSBsaWV1IGRl IHByby1zdW10aSwgJydzdW10Y2l0YScnIGF1IGxpZXUgZGUgbW9kYWwsIGV0ICcnanVmcmEnJyBh dSBsaWV1IGQnw6lub25jw6kuIENlY2kgcGFyY2UgcXVlIGonYWkgbCdpbXByZXNzaW9uIHF1ZSBs ZXMgbW90cyBmcmFuw6dhaXMgc29udCBzb3V2ZW50IHNvaXQgYXJiaXRyYWlyZXMsIGF1cXVlbCBj YXMgaWxzIHNvbnQganVzdGVzIGRlcyBtb3RzIGVuIHBsdXMgw6AgYXBwcmVuZHJlLCBzb2l0IHRy b21wZXVycywgYXVxdWVsIGNhcyBpbHMgc29udCBwaXJlIHF1J2ludXRpbGVzLiBEYW5zIGxlcyBk ZXV4IGNhcywgcHVpc3F1ZSBjZXMgbW90cyBzb250IHNww6ljaWZpcXVlcyDDoCBsJ2FwcHJlbnRp c3NhZ2UgZHUgbG9qYmFuIGRlIHRvdXRlIGZhw6dvbiwgaWwgbid5IGEgcGFzIGRlIHJhaXNvbiBw b3VyIGV1eCBkJ2V4aXN0ZXIgY29tbWUgZGVzIG1vdHMgZnJhbsOnYWlzIGRpc3RpbmN0LgoKCgoh ISFQcsOpZmFjZS4gU29ucwoKTGEgcHJlbWnDqHJlIGNob3NlIMOgIGZhaXJlIHF1YW5kIHZvdXMg YXBwcmVuZXogdW5lIGxhbmd1ZSDDqXRyYW5nw6hyZSBlc3QgZGUgdm91cyBmYW1pbGlhcmlzZXIg YXZlYyBsZXMgc29ucyBkdSBsYW5nYWdlIGV0IGxldXIgw6ljcml0dXJlLiBJbCBlbiB2YSBkZSBt w6ptZSBwb3VyIGxlIGxvamJhbi4gSGV1cmV1c2VtZW50LCBsZXMgc29ucyBkdSBsb2piYW4gKF9f cGhvbsOobWVzX18pIHNvbnQgcGx1dMO0dCBzaW1wbGVzLgoKCgohISEhVm95ZWxsZXMKCklsIHkg YSBzaXggdm95ZWxsZXMgZW4gbG9qYmFuLgoKCgp8fCcnYScnIHxjb21tZSBkYW5zIMKrwqBwX19h X19wX19hX1/CoMK7CgonJ2UnJyB8Y29tbWUgZGFucyDCqyBiX19lX19yZ19fw6hfX3JlIMK7Cgon J2knJyB8Y29tbWUgZGFucyDCq8KgbWFjaF9faV9fbmXCoMK7CgonJ28nJyB8Y29tbWUgZGFucyDC qyBfX29fX23DqWdhIMK7LCDCq8KgX19hdV9fdF9fb19fbW9iaWxlwqDCuwoKJyd1JycgfGNvbW1l IGRhbnMgwqvCoF9fb3VfX8KgwrssIMKrwqBsX19vdV9fcMKgwrsKCicneScnIHxjb21tZSBkYW5z IMKrIG1hdF9fZV9fbG90IMK7fHwKCgoKTGEgc2l4acOobWUgdm95ZWxsZSwgJyd5JycsIGVzdCBh cHBlbMOpZSB1biBfX3NjaHdhX18gZW4gbGluZ3Vpc3RpcXVlLiBDJ2VzdCB1biDCq8KgZcKgwrsg dHLDqHMgbMOpZ2VyLCBub24gYWNjZW50dcOpLCBqdXN0ZSBtaWxpZXUgZW50cmUgbGUgwqvCoGXC oMK7IG1hcnNlaWxsYWlzICjCqyBtYXRfX2V1X19sb3QgwrspIGV0IGxlIMKrwqBlwqDCuyBtdWV0 IHBhcmlzaWVuICjCqyBtYXQnbG90IMK7KS4KCgoKRGV1eCB2b3llbGxlcyBlbnNlbWJsZSBzb250 IHByb25vbmPDqWVzIGNvbW1lIHVuIHNvbiAoX19kaXBodG9uZ3VlX18pLiBQYXIgZXhlbXBsZcKg OgoKCgp8fCcnYWknJyB8Y29tbWUgZGFucyDCq8KgY2FuX19haV9fbGxlwqDCuwoKJydhdScnIHxj b21tZSBkYW5zIMKrwqBjX19hb3VfX3RjaG91Y8KgwrsKCicnZWknJyB8Y29tbWUgZGFucyDCq8Kg YWJfX2VpX19sbGXCoMK7CgonJ29pJycgfGNvbW1lIGRhbnMgwqvCoGdfX295X1/CoMK7CgonJ2lh JycgfGNvbW1lIGRhbnMgwqvCoHBfX2lhX19ub8KgwrsKCicnaWUnJyB8Y29tbWUgZGFucyDCq8Kg aF9faWVfX3LCoMK7CgonJ2l1JycgfGNvbW1lIGRhbnMgwqvCoGNhX19pbGxvdV9fwqDCuwoKJyd1 YScnIHxjb21tZSBkYW5zIMKrwqBxX191b2lfX8KgwrsKCicndWUnJyB8Y29tbWUgZGFucyDCq8Kg YnJfX291ZV9fdHRlwqDCuwoKJyd1bycnIHxjb21tZSBkYW5zIMKrwqBkcl9fb3VvX190wqDCuwoK Jyd1aScnIHxjb21tZSBkYW5zIMKrwqBoX19vdWlfX2xsZcKgwrsgfHwKCgoKTGVzIHZveWVsbGVz IGRvdWJsw6llcyBzb250IHJhcmVzLiBMZXMgc2V1bHMgZXhlbXBsZXMgc29udCAnJ2lpJycsIHBy b25vbmPDqSBjb21tZSBkYW5zIMKrwqBmYV9faWxsaV9fwqDCuywgZXQgJyd1dScnLCBwcm9ub25j w6kgY29tbWUgZGFucyDCq8KgX19PdV9faF9fb3VfX8KgIcKgwrsgKHF1YW5kIG9uIGFwcGVsbGUg cXVlbHF1J3VuLCBtYWlzIHBhcyBjb21tZSBkYW5zIMKrwqBIb3Vob3XCoMK7wqA6IGRhbnMgbGUg cHJlbWllciBleGVtcGxlLCBsZSAnJ2gnJyBlc3QgbXVldCwgZGFucyBsZSBkZXV4acOobWUsIGxl ICcnaCcnIGVzdCBhc3BpcsOpIOKAkyBjZSBxdWkgc2UgdHJhbnNjcmlyYWl0IGVuIGxvamJhbiAn J3UndScnKQoKCgohISEhQ29uc29ubmVzCgpMYSBwbHVwYXJ0IGRlcyBjb25zb25uZXMgc29udCBs ZXMgbcOqbWVzIHF1J2VuIGZyYW7Dp2Fpcywgw6AgcXVlbHF1ZSBleGNlcHRpb25zIHByw6p0wqA6 CgoKCnx8JydnJycgfHNlIHByb25vbmNlIHRvdWpvdXIgY29tbWUgZGFucyDCq8KgX19nX1/DonRl YXXCoMK7LCBqYW1haXMgY29tbWUgZGFucyDCq8KgX19nX19lbm91eMKgwrsKCicnYycnIHxzZSBw cm9ub25jZSAnJ2NoJycsIGNvbW1lIGRhbnMgwqvCoF9fY2hfX2F0ZWF1wqDCuwoKJyd4JycgfHNl IHByb25vbmNlIGNvbW1lIGRhbnMgbCdhbGxlbWFuZCDCq8KgQmFfX2NoX1/CoMK7LCBsJ2VzcGFn bm9sIMKrwqBfX0pfX29zZcKgwrsgb3UgbCdhcmFiZSDCq8KgX19LaF9fYWxlZMKgwrsKCicncicn IHxhY2NlcHRlIGJlYXVjb3VwIGRlIHByb25vbmNpYXRpb25zICjDoCBsYSBmcmFuw6dhaXNlLCDD oCBsJ2FuZ2xhaXNl4oCmKSBtYWlzIGxhIHByb25vbmNpYXRpb24gaXRhbGllbm5lICgnJ3InJyBy b3Vsw6kpIGVzdCBwcsOpZsOpcsOpZXx8CgoKCkxlIGxvamJhbiBuJ3V0aWxpc2UgcGFzIGxlcyBj YXJhY3TDqHJlcyDCq8KgSMKgwrssIMKrwqBRwqDCuyBvdSDCq8KgV8KgwrssIGV0IGlsIG4neSBh IHBhcyBkZSBjYXJhY3TDqHJlcyBhY2NlbnR1w6lzIGVuIGxvamJhbi4KCgoKISEhIVNwZWNpYWwg Q2hhcmFjdGVycwoKTG9qYmFuIGRvZXMgbm90IHJlcXVpcmUgYW55IHB1bmN0dWF0aW9uLCBidXQg c29tZSBzcGVjaWFsIGNoYXJhY3RlcnMgKG5vcm1hbGx5IHVzZWQgaW4gcHVuY3R1YXRpb24gaW4g b3RoZXIgbGFuZ3VhZ2VzKSBhZmZlY3QgdGhlIHdheSBMb2piYW4gaXMgcHJvbm91bmNlZC4KClRo ZSBvbmx5IG9uZSBvZiB0aGVzZSBjaGFyYWN0ZXJzIHdoaWNoIGlzIG9ibGlnYXRvcnkgaW4gTG9q YmFuIGlzIHRoZSBhcG9zdHJvcGhlOyBpbiBmYWN0IHRoZSBhcG9zdHJvcGhlIGlzIHJlZ2FyZGVk IGFzIGEgcHJvcGVyIGxldHRlciBvZiBMb2piYW4uIEFuIGFwb3N0cm9waGUgc2VwYXJhdGVzIHR3 byB2b3dlbHMsIHByZXZlbnRpbmcgdGhlbSBmcm9tIGJlaW5nIHByb25vdW5jZWQgdG9nZXRoZXIg KGFzIGEgX19kaXBodGhvbmdfXyk7IGl0IGlzIGl0c2VsZiBwcm9ub3VuY2VkIGxpa2UgYW4gJydo JycuIEZvciBleGFtcGxlLCB1aSBpcyBub3JtYWxseSBwcm9ub3VuY2VkICcnd2UnJywgYnV0IHUn aSBpcyAnJ29vaGVlJycuCgpBIGZ1bGwgc3RvcCAocGVyaW9kKSBpcyBhIHNob3J0IHBhdXNlIHRv IHN0b3Agd29yZHMgcnVubmluZyBpbnRvIGVhY2ggb3RoZXIuIFRoZSBydWxlcyBvZiBMb2piYW4g bWFrZSBpdCBlYXNpZXIgZm9yIG9uZSB3b3JkIHRvIHJ1biBpbnRvIGFub3RoZXIgd2hlbiB0aGUg c2Vjb25kIHdvcmQgYmVnaW5zIHdpdGggYSB2b3dlbDsgc28gYW55IHdvcmQgc3RhcnRpbmcgd2l0 aCBhIHZvd2VsIGNvbnZlbnRpb25hbGx5IGhhcyBhIGZ1bGwgc3RvcCBwbGFjZWQgaW4gZnJvbnQg b2YgaXQuCgpDb21tYXMgYXJlIHJhcmUgaW4gTG9qYmFuLCBidXQgY2FuIGJlIHVzZWQgdG8gc3Rv cCB0d28gdm93ZWxzIGJsdXJyaW5nIHRvZ2V0aGVyIHdoZW4geW91IGRvbid0IHdhbnQgdG8gdXNl IGFuIGFwb3N0cm9waGUgKHdoaWNoIHdvdWxkIHB1dCBhICcnaCcnIGJldHdlZW4gdGhlbSkuIE5v IExvamJhbiB3b3JkcyBoYXZlIGNvbW1hcywgYnV0IHRoZXkncmUgc29tZXRpbWVzIHVzZWQgaW4g d3JpdGluZyBub24tTG9qYmFuIG5hbWVzLCBmb3IgZXhhbXBsZSBwaSxFUi4gKCcnUGllcnJlJycp LCBhcyBvcHBvc2VkIHRvIHBpZXIuICgnJ1AteWVycicnKSwgcGkuRVIuICgnJ1BlZTsgRWhyJycp LCBvciBwaSdFUi4gKCcnUGloZXJyJycpLgoKQ2FwaXRhbCBsZXR0ZXJzIGFyZSBub3Qgbm9ybWFs bHkgdXNlZCBpbiBMb2piYW4uIFdlIHVzZSB0aGVtIGluIG5vbi1Mb2piYW4gd29yZHMgKGxpa2Ug JydQaWVycmUnJykgd2hlbiB0aGUgc3RyZXNzIG9mIGEgd29yZCBpcyBkaWZmZXJlbnQgZnJvbSB0 aGUgTG9qYmFuIG5vcm0uIFRoZSBub3JtIGlzIHRvIHB1dCB0aGUgc3RyZXNzIG9uIHRoZSBsYXN0 LWJ1dC1vbmUgc3lsbGFibGU7IHNvLCBmb3IgZXhhbXBsZSwga3VybWlrY2UgJ251cnNlJyBpcyBr dXJfX01JS19fY2UsIG5vdCBfX0tVUl9fbWlrY2UuIFRoZSBuYW1lICcnSnVsaWV0dGUnJyB3b3Vs ZCBiZSB3cml0dGVuIERKVWxpLGV0LiBpZiBwcm9ub3VuY2VkIGluIGFuIEVuZ2xpc2ggd2F5LCBi dXQganVMSUVULiBpZiBwcm9ub3VuY2VkIGFzIGluIEZyZW5jaC4KCiEhISFBbHBoYWJldAoKSW4g bW9zdCBsYW5ndWFnZSB0ZXh0Ym9va3MsIHlvdSBnZXQgdGhlIGFscGhhYmV0IG9mIHRoZSBsYW5n dWFnZSB0b2dldGhlciB3aXRoIGl0cyBzb3VuZHMuIExldHRlcnMgKGxlcmZ1KSB0dXJuIG91dCB0 byBiZSBldmVuIG1vcmUgaW1wb3J0YW50IHRoYW4gdXN1YWwgaW4gTG9qYmFuLCBzbyB3ZSBtaWdo dCBhcyB3ZWxsIGdvIHRocm91Z2ggdGhlaXIgbmFtZXMgcXVpY2tseS4KCkNvbnNvbmFudHMgYXJl IHN0cmFpZ2h0Zm9yd2FyZDogdGhlIG5hbWUgb2YgYSBjb25zb25hbnQgbGV0dGVyIGlzIHRoYXQg bGV0dGVyLCBwbHVzIHkuIFNvIHRoZSBjb25zb25hbnQgbGV0dGVycyBvZiBMb2piYW4sICcnYiwg YywgZCwgZiwgZyAuLi4nJywgYXJlIGNhbGxlZCBieS4sIGN5LiwgZHkuLCBmeS4sIGd5Li4uLiBp biBMb2piYW4gKHVzaW5nIHRoZSBmdWxsIHN0b3AgYXMgd2UndmUganVzdCBkZXNjcmliZWQuKQoK Vm93ZWxzICcnd291bGQnJyBiZSBjYWxsZWQgLmF5LCAuZXksIC5peSwgYnV0IHRoYXQgd291bGQg YmUgcmF0aGVyIGRpZmZpY3VsdCB0byBwcm9ub3VuY2UuIEluc3RlYWQsIHRoZXkgYXJlIGhhbmRs ZWQgYnkgZm9sbG93aW5nIHRoZSB2b3dlbCBzb3VuZCB3aXRoIHRoZSB3b3JkIGJ1LCB3aGljaCBi YXNpY2FsbHkgbWVhbnMgJ2xldHRlcicuIFNvIHRoZSB2b3dlbHMgb2YgTG9qYmFuIGFyZTogLmFi dSwgLmVidSwgLmlidSwgLm9idSwgLnVidSwgeWJ1LgoKVGhlIGFwb3N0cm9waGUgaXMgcmVnYXJk ZWQgYXMgYSBwcm9wZXIgbGV0dGVyIGluIExvamJhbiwgYW5kIGlzIGNhbGxlZCAueSd5Li4gVG8g c29tZSBwZW9wbGUsIHRoaXMgc291bmRzIGxpa2UgYSBjb3VnaDsgdG8gb3RoZXIsIGxpa2UgJyd1 aC1odWgnJyAod2hlbiBpdCBtZWFucyAnWWVzJyByYXRoZXIgdGhhbiAnTm8nLikKCkxvamJhbiBo YXMgd2F5cyBvZiByZWZlcmluZyB0byBtb3N0IGxldHRlcnMgeW91IGNhbiB0aGluayBvZi4gSWYg eW91IGhhdmUgdGhlIHVyZ2UgdG8gc3BlbGwgb3V0IHlvdXIgbmFtZSBpbiBMb2piYW4gYW5kIGhh dmUgYW4gJydIJycsICcnUScnLCBvciAnJ1cnJyB0byBkZWFsIHdpdGgsIHlvdSBjYW4gdXNlIC55 J3kuYnUsIGt5LmJ1IGFuZCB2eS5idS4gU28gJydTY2h3YXJ6ZW5lZ2dlcicnIGlzIHNwZWx0IGlu IExvamJhbiBhczoKCnN5LiBjeS4gLnkneWJ1IHZ5YnUuIC5hYnUgcnkuIHp5LiAuZWJ1IG55LiAu ZWJ1IGd5LiBneS4gLmVidSByeS4KCkFuZCBzcGVsbGluZyAnJ3RoYXQnJyBpcyBhIHRhc2sgdGhl IGVxdWFsIG9mIGFueXRoaW5nIHRoZSBUZXJtaW5hdG9yIGV2ZXIgZGlkIQoKCgpOb3cgc3BlbGwg eW91ciBuYW1lIGluIExvamJhbiAob3IgYXQgbGVhc3Qgc29tZXRoaW5nIGNsb3NlIGVub3VnaCB0 byBpdCB0byB1c2UgdGhlIHR3ZW50eS1zaXggbGV0dGVycyBvZiBFbmdsaXNoIHdlIGhhdmUgbGVh cm5lZCwgYW5kIHRoZSBhcG9zdHJvcGhlKS4KCgoKISEhISAnQ29ycmVjdCcgcHJvbnVuY2lhdGlv bgoKWW91IGRvbid0IGhhdmUgdG8gYmUgdmVyeSBwcmVjaXNlIGFib3V0IExvamJhbiBwcm9udW5j aWF0aW9uLCBiZWNhdXNlIHRoZSBwaG9uZW1lcyBhcmUgZGlzdHJpYnV0ZWQgc28gdGhhdCBpdCBp cyBoYXJkIHRvIG1pc3Rha2Ugb25lIHNvdW5kIGZvciBhbm90aGVyLiBUaGlzIG1lYW5zIHRoYXQg cmF0aGVyIHRoYW4gb25lICdjb3JyZWN0JyBwcm9udW5jaWF0aW9uLCB0aGVyZSBpcyBhIHJhbmdl IG9mIGFjY2VwdGFibGUgcHJvbnVuY2lhdGlvbuKAlHRoZSBnZW5lcmFsIHByaW5jaXBsZSBpcyB0 aGF0IGFueXRoaW5nIGlzIE9LIHNvIGxvbmcgYXMgaXQgZG9lc24ndCBzb3VuZCB0b28gbXVjaCBs aWtlIHNvbWV0aGluZyBlbHNlLiBGb3IgZXhhbXBsZSwgTG9qYmFuIHIgY2FuIGJlIHByb25vdW5j ZWQgbGlrZSB0aGUgJydyJycgaW4gRW5nbGlzaCwgU2NvdHRpc2ggb3IgRnJlbmNoLgoKVHdvIHRo aW5ncyB0byBiZSBjYXJlZnVsIG9mLCB0aG91Z2gsIGFyZSBwcm9ub3VuY2luZyBMb2piYW4gaSBh bmQgdSBsaWtlIFN0YW5kYXJkIEJyaXRpc2ggRW5nbGlzaCAnJ2hpdCcnIGFuZCAnJ2J1dCcnIChO b3J0aGVybiBFbmdsaXNoICcnYnV0JycgaXMgZmluZSEpLiBUaGlzIGlzIGJlY2F1c2Ugbm9uLUxv amJhbiB2b3dlbHMsIHBhcnRpY3VsYXJseSB0aGVzZSB0d28sIGFyZSB1c2VkIHRvIHNlcGFyYXRl IGNvbnNvbmFudHMgYnkgcGVvcGxlIHdobyBmaW5kIHRoZW0gaGFyZCB0byBzYXkuIEZvciBleGFt cGxlLCBpZiB5b3UgaGF2ZSBwcm9ibGVtcyBzcGl0dGluZyBvdXQgdGhlIHpkIGluIHpkYW5pICho b3VzZSksIHlvdSBjYW4gc2F5IHrJqmRhbmnigJR3aGVyZSB0aGUgJyfJqicnIGlzIHZlcnkgc2hv cnQsIGJ1dCB0aGUgZmluYWwgJydpJycgaGFzIHRvIGJlIGxvbmcuCgohISEhTG9qYmFuIE5hbWVz IChjbWV2bGEpCgpXYXRjaCBhbnkgZmlsbSB3aGVyZSBwZW9wbGUgZG9uJ3Qga25vdyBlYWNoIG90 aGVyJ3MgbGFuZ3VhZ2UuIFRoZXkgc3RhcnQgb2ZmIHNheWluZyB0aGluZ3MgbGlrZSDigJxNZSBU YXJ6YW4s4oCdIHdoaWNoIGlzIGFzIGdvb2QgYSBwbGFjZSB0byBzdGFydCBsZWFybmluZyBMb2pi YW4gYXMgYW55LiBTbyBoZXJlIHdlIGdvLgoKX18nJ21pJ2UgLnJvYmluLicnX18KCicnSS1hbS1u YW1lZCBSb2JpbicnCgonJ0knbSBSb2JpbicnCgonJ21pJ2UnJyBpcyByZWxhdGVkIHRvICcnbWkn Jywgd2hpY2ggaXMgJ0knLCAnbWUnIGFuZCBzbyBvbi4gSXQncyBhIGdvb2QgZXhhbXBsZSBvZiB0 aGUgYXBvc3Ryb3BoZSBzZXBhcmF0aW5nIHR3byB2b3dlbHMsIGFuZCBzb3VuZHMgYSBiaXQgbGlr ZSAnJ21lIGhlaCcnLgoKVGhpcyBndXkgUm9iaW4gaXMgbHVja3kgYmVjYXVzZSBoaXMgbmFtZSBn b2VzIGRpcmVjdGx5IGludG8gTG9qYmFuIHdpdGhvdXQgYW55IGNoYW5nZXMuIEhvd2V2ZXIsIHRo ZXJlIGFyZSBzb21lIHJ1bGVzIGZvciBMb2piYW4gbmFtZXMgd2hpY2ggbWVhbiB0aGF0IHNvbWUg bmFtZXMgaGF2ZSB0byBiZSAnTG9qYmFuaXNlZCcuIFRoaXMgbWF5IHNvdW5kIHN0cmFuZ2XigJRh ZnRlciBhbGwsIGEgbmFtZSBpcyBhIG5hbWXigJRidXQgaW4gZmFjdCBhbGwgbGFuZ3VhZ2VzIGRv IHRoaXMgdG8gc29tZSBleHRlbnQuIEZvciBleGFtcGxlLCBFbmdsaXNoIHNwZWFrZXJzIHRlbmQg dG8gcHJvbm91bmNlICcnSm9zZScnIHNvbWV0aGluZyBsaWtlICcnSG96YXknJywgYW5kICcnTWFy Z2FyZXQnJyBpbiBDaGluZXNlIGlzICcnTWFnZWxpdGEnJy4gU29tZSBzb3VuZHMganVzdCBkb24n dCBleGlzdCBpbiBzb21lIGxhbmd1YWdlcywgc28gdGhlIGZpcnN0IHRoaW5nIHlvdSBuZWVkIHRv IGRvIGlzIHJld3JpdGUgdGhlIG5hbWUgc28gdGhhdCBpdCBvbmx5IGNvbnRhaW5zIExvamJhbiBz b3VuZHMsIGFuZCBpcyBzcGVsdCBpbiBhIExvamJhbiB3YXkuCgpfX05vdGU6IF9fVGhlIGNhdGNo IGhlcmUgaXMsIHdoYXQgdmVyc2lvbiBvZiB0aGUgc291bmRzIHdpbGwgeW91IGJlIHVzaW5nPyBG b3IgRW5nbGlzaCBpbiBwYXJ0aWN1bGFyLCBCcml0aXNoIGFuZCBBbWVyaWNhbiB2b3dlbHMgY2Fu IGJlIHF1aXRlIGRpZmZlcmVudC4gVGhlIEJyaXRpc2ggdmVyc2lvbiBvZiAnJ1JvYmluJycgaXMg cmVhc29uYWJseSBhcHByb3hpbWF0ZWQgYnkgLnJvYmluLjsgYnV0IHRoZSBBbWVyaWNhbiB2ZXJz aW9uIGlzIGNsb3NlciB0byAnJ3JhYnluLicnIG9yICcncmFiLG4uJycuIEFuZCB3aXRoaW4gQW1l cmljYSBhbmQgQnJpdGFpbiwgdGhlcmUgaXMgYWxzbyBhIGdvb2QgZGVhbCBvZiB2YXJpYXRpb24u IFNvIHlvdSBzaG91bGQgdGFrZSB0aGUgdHJhbnNsaXRlcmF0aW9ucyBnaXZlbiBiZWxvdyB3aXRo IGEgZ3JhaW4gb2Ygc2FsdC4KCkxldCdzIHRha2UgdGhlIEVuZ2xpc2ggbmFtZSAnJ1N1c2FuJycu IFRoZSB0d28gJydzJycncyBhcmUgcHJvbm91bmNlZCBkaWZmZXJlbnRseeKAlHRoZSBzZWNvbmQg b25lIGlzIGFjdHVhbGx5IGEgJyd6JyfigJRhbmQgdGhlICcnYScnIGlzIG5vdCByZWFsbHkgYW4g JydhJycgc291bmQsIGl0J3MgdGhlICdzY2h3YScgd2UganVzdCBtZW50aW9uZWQuIFNvICcnU3Vz YW4nJyBjb21lcyBvdXQgaW4gTG9qYmFuIGFzICcnLnN1enluLicnLgoKWW91IG1heSBoYXZlIG5v dGljZWQgdHdvIGV4dHJhIGZ1bGwgc3RvcHMgKHBlcmlvZHMpIHRoZXJlLiBUaGlzIGlzIG5lY2Vz c2FyeSBiZWNhdXNlIGlmIHlvdSBkaWRuJ3QgcGF1c2UsIHlvdSBtaWdodCBub3Qga25vdyB3aGVy ZSB0aGUgcHJldmlvdXMgd29yZCBlbmRlZCBhbmQgdGhlIG5leHQgd29yZCBiZWdhbi4KCgoKWW91 IHNob3VsZCBhbHNvIHB1dCBhIGZ1bGwgc3RvcCBpbiBiZXR3ZWVuIGEgcGVyc29uJ3MgZmlyc3Qg YW5kIGxhc3QgbmFtZXMgKHRob3VnaCBpdCdzIG5vdCBjb21wdWxzb3J5KSwgc28gJydKaW0gSm9u ZXMnJyBiZWNvbWVzICcnZGppbS5kam9uei4nJy4KCkFuIGltcG9ydGFudCBydWxlIGZvciBMb2pi YW5pc2luZyBuYW1lcyBpcyB0aGF0IHRoZSBsYXN0IGxldHRlciBvZiBhIGNtZXZsYSAoTG9qYmFu IG5hbWUpIG11c3QgYmUgYSBjb25zb25hbnQuIEFnYWluLCB0aGlzIGlzIHRvIHByZXZlbnQgY29u ZnVzaW9uIGFzIHRvIHdoZXJlIGEgbmFtZSBlbmRzLCBhbmQgd2hhdCBpcyBhbmQgaXMgbm90IGEg bmFtZSAoYWxsIG90aGVyIExvamJhbiB3b3JkcyBlbmQgaW4gYSB2b3dlbCkuIFdlIHVzdWFsbHkg dXNlICcncycnIGZvciB0aGlzOyBzbyBpbiBMb2piYW4sICcnTWFyeScnIGJlY29tZXMgLm1lcmlz LiAsICcnSm9lJycgYmVjb21lcyAuZGpvcy4gYW5kIHNvIG9uLiBBbiBhbHRlcm5hdGl2ZSBpcyB0 byBsZWF2ZSBvdXQgdGhlIGxhc3Qgdm93ZWwsIHNvICcnTWFyeScnIHdvdWxkIGJlY29tZSAubWVy LiBvciAubWVpci4uCgoKClRoZSBmaW5hbCBwb2ludCBpcyBzdHJlc3MuIEFzIHdlJ3ZlIHNlZW4s IExvamJhbiB3b3JkcyBhcmUgc3RyZXNzZWQgb24gdGhlIHBlbnVsdGltYXRlIHN5bGxhYmxlLCBh bmQgaWYgYSBuYW1lIGhhcyBkaWZmZXJlbnQgc3RyZXNzLCB3ZSB1c2UgY2FwaXRhbCBsZXR0ZXJz LiBUaGlzIG1lYW5zIHRoYXQgdGhlIEVuZ2xpc2ggYW5kIEZyZW5jaCBuYW1lcyAnJ1JvYmVydCcn IGNvbWUgb3V0IGRpZmZlcmVudGx5IGluIExvamJhbjogdGhlIEVuZ2xpc2ggbmFtZSBpcyAnJy5y b2J5dC4nJyBpbiBVSyBFbmdsaXNoLCBvciAnJy5yYWIscnQuJycgaW4gc29tZSBBbWVyaWNhbiBk aWFsZWN0cywgYnV0IHRoZSBGcmVuY2ggaXMgJycucm9CRVIuJycuCgpUbyBnaXZlIGFuIGlkZWEg b2YgaG93IGFsbCB0aGlzIHdvcmtzLCBoZXJlIGFyZSBzb21lIG5hbWVzIG9mIGZhbW91cyBwZW9w bGUgaW4gdGhlaXIgb3duIGxhbmd1YWdlIGFuZCBpbiBMb2piYW4uCgoKCnx8X19FbmdsaXNoX18K Ck1hcmdhcmV0IFRoYXRjaGVyIHwubWFncnl0LnRhdGN5ci4gKG5vICcndGgnJyBpbiBMb2piYW4g YmVjYXVzZSBtb3N0IHBlb3BsZSBhcm91bmQgdGhlIHdvcmxkIGNhbid0IHNheSBpdCEpCgpNaWNr IEphZ2dlciB8Lm1pay5kamFneXMuIHx8Cgp8fF9fRnJlbmNoX18KCk5hcG9sZW9uIEJvbmFwYXJ0 ZSB8Lm5hcG9sZSxPTi5ib25hUEFSVC4KCkp1bGlldHRlIEJpbm9jaGUgfC5qdUxJRVQuYmluT0Mu IHx8Cgp8fF9fQ2hpbmVzZV9fCgpMYW96aSB8LmxhdWR6LgoKTWFvIFplZG9uZyB8Lm1hdWR6eURZ Ti4gKEZpbmFsICcnbmcnJyBpcyBpbiBMb2piYW4gY29udmVudGlvbmFsbHkgdHVybmVkIGludG8g bi4pIHx8Cgp8fF9fVHVya2lzaF9fCgpNdXN0YWZhIEtlbWFsIHwuTVVTdGFmYXMua2VNQUwuCgpF cmtpbiBLb3JheSB8LmVya2luLmtvcmFpcy4gfHwKCnx8X19HZXJtYW5fXwoKRnJpZWRyaWNoIE5p ZXR6c2NoZSB8LmZyaWRyaXgubml0Y3lzLgoKQ2xhcmEgU2NodW1hbm4gfC5rbGFyYXMuY3VtYW4u IHx8Cgp8fF9fU3BhbmlzaF9fCgpJc2FiZWwgQWxsZW5kZSB8Lml6YUJFTC5haWVuZGVzLgoKQ2hl IEd1ZXZhcmEgfC50Y2VnZXZhcmFzLiB8fAoKX19FeGVyY2lzZV9fLgoKV2hlcmUgYXJlIHRoZXNl IHBsYWNlcz8KCiMubnUsSU9SSy4KCiMucm9tYXMuCgojLnhhdmFuYXMuCgojLmthcmRpZi4KCiMu YmVpZGppbi4KCiMuQU5rYXJhcy4KCiMuQUxiZWtlcmtpcy4KCiMudmFua3V2ZXIuCgojLmtlaXB0 YXVuLgoKIy50YWliZWlzLgoKIy5ib24uCgojLmRlbGlzLgoKIy5uaXMuCgojLmF0aW5hcy4KCiMu bGlkei4KCiMueGVsc2lua2lzLgoKQW5zd2VyOgoKfn5ncmF5LGdyYXk6fn4KCiN+fmdyYXksZ3Jh eTpOZXcgWW9yazogVVNBfn4KCiN+fmdyYXksZ3JheTpSb21lOiBJdGFseX5+Cgojfn5ncmF5LGdy YXk6SGF2YW5hOiBDdWJhfn4KCiN+fmdyYXksZ3JheTpDYXJkaWZmOiBXYWxlcyAoVGhlIFdlbHNo IGZvciAnJ0NhcmRpZmYnJyBpcyAnJ0NhZXJkeWRkJycsIHdoaWNoIHdvdWxkIExvamJhbmlzZSB0 byBzb21ldGhpbmcgbGlrZSBrYWlyZHlkLi4pfn4KCiN+fmdyYXksZ3JheTpCZWlqaW5nOiBDaGlu YX5+Cgojfn5ncmF5LGdyYXk6QW5rYXJhOiBUdXJrZXl+fgoKI35+Z3JheSxncmF5OkFsYmVxdWVy cXVlOiBOZXcgTWV4aWNvLCBVU0F+fgoKI35+Z3JheSxncmF5OlZhbmNvdXZlcjogQ2FuYWRhfn4K CiN+fmdyYXksZ3JheTpDYXBlIFRvd246IFNvdXRoIEFmcmljYX5+Cgojfn5ncmF5LGdyYXk6VGFp cGVpOiBUYWl3YW4gKG5vdGUgYiwgbm90IHAuIEFsdGhvdWdoIGFjdHVhbGx5LCB0aGUgYiBpbiBQ aW55aW4gaXMgcHJvbm91bmNlZCBhcyBhIHAuLi4gQnV0IHRoaXMgaXNuJ3QgbWVhbnQgdG8gYmUg YSBjb3Vyc2Ugb24gTWFuZGFyaW4hKX5+Cgojfn5ncmF5LGdyYXk6Qm9ubjogR2VybWFueX5+Cgoj fn5ncmF5LGdyYXk6RGVsaGk6IEluZGlhIChUaGUgSGluZGkgZm9yICcnRGVsaGknJyBpcyAnJ0Rp bGzDricnLCB3aGljaCB3b3VsZCBnaXZlIGRpbGl5cy4gb3IgZGlsaSdpcy4uKX5+Cgojfn5ncmF5 LGdyYXk6TmljZTogRnJhbmNlfn4KCiN+fmdyYXksZ3JheTpBdGhlbnM6IEdyZWVjZSAoJydBdGhp bmEnJyBpbiBHcmVlayl+fgoKI35+Z3JheSxncmF5OkxlZWRzOiBFbmdsYW5kfn4KCiN+fmdyYXks Z3JheTpIZWxzaW5raTogRmlubGFuZH5+CgpfX0V4ZXJjaXNlX18uCgpMb2piYW5pc2UgdGhlIGZv bGxvd2luZyBuYW1lcwoKI0pvaG4KCiNNZWxpc3NhCgojQW1hbmRhCgojTWF0dGhldwoKI01pY2hh ZWwKCiNEYXZpZCBCb3dpZQoKI0phbmUgQXVzdGVuCgojV2lsbGlhbSBTaGFrZXNwZWFyZQoKI1Np Z291cm5leSBXZWF2ZXIKCiNSaWNoYXJkIE5peG9uCgojSXN0YW5idWwKCiNNYWRyaWQKCiNUb2t5 bwoKI1NhbiBTYWx2YWRvcgoKQW5zd2VyOgoKfn5ncmF5LGdyYXk6VGhlcmUgYXJlIHVzdWFsbHkg YWx0ZXJuYXRpdmUgc3BlbGxpbmdzIGZvciBuYW1lcywgZWl0aGVyIGJlY2F1c2UgcGVvcGxlIHBy b25vdW5jZSB0aGUgb3JpZ2luYWxzIGRpZmZlcmVudGx5LCBvciBiZWNhdXNlIHRoZSBleGFjdCBz b3VuZCBkb2Vzbid0IGV4aXN0IGluIExvamJhbiwgc28geW91IG5lZWQgdG8gY2hvb3NlIGJldHdl ZW4gdHdvIExvamJhbiBsZXR0ZXJzLiBUaGlzIGRvZXNuJ3QgbWF0dGVyLCBzbyBsb25nIGFzIGV2 ZXJ5b25lIGtub3dzIHdobyBvciB3aGVyZSB5b3UncmUgdGFsa2luZyBhYm91dC5+fgoKI35+Z3Jh eSxncmF5Oi5kam9uLiAob3IgLmRqYW4uIHdpdGggc29tZSBhY2NlbnRzKX5+Cgojfn5ncmF5LGdy YXk6Lm1lbGlzeXMufn4KCiN+fmdyYXksZ3JheTouYW1hbmR5cy4gKGFnYWluLCBkZXBlbmRpbmcg b24geW91ciBhY2NlbnQsIHRoZSBmaW5hbCB5IG1heSBiZSBhLCB0aGUgaW5pdGlhbCBhIG1heSBi ZSB5LCBhbmQgdGhlIG1pZGRsZSBhIG1heSBiZSBlLil+fgoKI35+Z3JheSxncmF5Oi5tYXRpdXMu fn4KCiN+fmdyYXksZ3JheToubWFpa3lsLiBvciAubWFpayxsLiAsIGRlcGVuZGluZyBvbiBob3cg eW91IHNheSBpdC5+fgoKI35+Z3JheSxncmF5Oi5kZWl2eWQuYmF1LGlzLiBvciAuYm8saXMuIChi dXQgbm90IC5idSxpcy4g4oCUIHRoYXQncyB0aGUga25pZmUpfn4KCiN+fmdyYXksZ3JheTouZGpl aW4ub3N0aW4ufn4KCiN+fmdyYXksZ3JheToudWlsaWFtLmNla3NwaXIufn4KCiN+fmdyYXksZ3Jh eTouc2lnb3JuaXMudWl2eXIuIG9yIC5zeWdvcm5pcy51aXZ5ci5+fgoKI35+Z3JheSxncmF5Oi5y aXRjeXJkLm5pa3N5bi5+fgoKI35+Z3JheSxncmF5Oi5pc3RhbkJVTC4gd2l0aCBFbmdsaXNoIHN0 cmVzcywgLklTdGFuYnVsLiB3aXRoIEFtZXJpY2FuLCAuaXN0YW5idWwuIHdpdGggVHVya2lzaC4g TG9qYmFuaXN0cyBnZW5lcmFsbHkgcHJlZmVyIHRvIGJhc2UgY21ldmxhIG9uIGxvY2FsIHByb251 bmNpYXRpb24sIGJ1dCB0aGlzIGlzIG5vdCBhbiBhYnNvbHV0ZSBydWxlLn5+Cgojfn5ncmF5LGdy YXk6Lm1hRFJJRC5+fgoKI35+Z3JheSxncmF5Oi50b2tpb3Mufn4KCiN+fmdyYXksZ3JheTouc2Fu LnNhbHZhRE9SLiAod2l0aCBTcGFuaXNoIHN0cmVzcykgPC9zcGFuPjwvaHRtbD5+fgoKISEhIUxv amJhbiB3b3JkcyBhcyBuYW1lcwoKQnkgbm93IHlvdSBzaG91bGQgYmUgYWJsZSB0byBMb2piYW5p c2UgeW91ciBvd24gbmFtZS4gSG93ZXZlciwgaWYgeW91IHByZWZlciwgeW91IGNhbiB0cmFuc2xh dGUgeW91ciBuYW1lIGludG8gTG9qYmFuIChpZiB5b3Uga25vdyB3aGF0IGl0IG1lYW5zLCBvZiBj b3Vyc2UpIG9yIGFkb3B0IGEgY29tcGxldGVseSBuZXcgTG9qYmFuIGlkZW50aXR5LiBOYXRpdmUg QW1lcmljYW5zIGdlbmVyYWxseSB0cmFuc2xhdGUgdGhlaXIgbmFtZSB3aGVuIHNwZWFraW5nIEVu Z2xpc2gsIHBhcnRseSBiZWNhdXNlIHRoZXkgaGF2ZSBtZWFuaW5nZnVsIG5hbWVzLCBhbmQgcGFy dGx5IGJlY2F1c2UgdGhleSBkb24ndCBleHBlY3QgdGhlICcnd2FzaWNodScnIHRvIGJlIGFibGUg dG8gcHJvbm91bmNlIHdvcmRzIGluIExha290YSwgQ2hlcm9rZWUgb3Igd2hhdGV2ZXIhCgpMb2pi YW4gd29yZHMgKGV4Y2VwdCBjbWV2bGEpIGVuZCBpbiBhIHZvd2VsLiBZb3UgY2FuIHVzZSBsb2pi YW4gd29yZHMgYXMgbmFtZXMgdG9vLiBCdXQgaWYgeW91IHByZWZlciB0aGF0IHlvdXIgbmFtZSBp cyBhIGNtZXZsYSBhbmQgaXQgZW5kcyBpbiBhIHZvd2VsIHRoZW4geW91IGNhbiBlaXRoZXIgYWRk IGEgY29uc29uYW50IHRvIHRoZSBlbmQgb2YgaXQgb3IganVzdCBjaG9wIHRoZSBlbmQgdm93ZWwg b2ZmLgoKSGVyZSBhcmUgYSBmZXcgZXhhbXBsZXMgKG9yaWdpbmFsIG5hbWUsIG1lYW5pbmcsIG5h bWUgYW5kIG5hbWUgYXMgY21ldmxhKToKCipGaXNoIOKAkyBmaW5wZSDigJMgLmZpbnAuCgoqQmrD tnJuIChTY2FuZGluYXZpYW4gPSBiZWFyKSDigJMgY3JpYmUg4oCTIC5jcmliLgoKKkdyZWVuIOKA kyBjcmlubyDigJMgLmNyaW4uCgoqTWVpIExpIChDaGluZXNlID0gYmVhdXRpZnVsKSDigJMgbWVs Ymkg4oCTIC5tZWxiLgoKKkF5aGFuIChUdXJraXNoID0gTW9vbiBMb3JkKSDigJMgbHVucmEgbm9i bGkgKD0gbHVybm9ibGkpIOKAkyAubHVybm9ibGlzLgoKISFMb2piYW4gTGVzc29ucyDigJMgbGVz c29uIG9uZSAoYnJpZGksIGp1ZnJhLCBzdW10aSBhbmQgc2VsYnJpKQoKQSAnJ2JyaWRpJycgaXMg dGhlIG1vc3QgY2VudHJhbCB1bml0IG9mIExvamJhbiB1dHRlcmFuY2VzLiBUaGUgY29uY2VwdCBp cyB2ZXJ5IGNsb3NlIHRvIHdoYXQgd2UgY2FsbCBhIHByb3Bvc2l0aW9uIGluIEVuZ2xpc2guIEEg YnJpZGkgaXMgYSBjbGFpbSB0aGF0IHNvbWUgb2JqZWN0cyBzdGFuZCBpbiBhIHJlbGF0aW9uIHRv IGVhY2ggb3RoZXIsIG9yIHRoYXQgYW4gb2JqZWN0IGhhcyBzb21lIHByb3BlcnR5LiBUaGlzIHN0 YW5kcyBpbiBjb250cmFzdCB0byAnJ2p1ZnJhJycsIHdoaWNoIGFyZSBtZXJlbHkgTG9qYmFuIHV0 dGVyYW5jZXMsIHdoaWNoIGNhbiBiZSBicmlkaSBvciBhbnl0aGluZyBlbHNlIGJlaW5nIHNhaWQu IFRoZSBkaWZmZXJlbmNlIGJldHdlZW4gYSBicmlkaSBhbmQgYSBqdWZyYSBpcyB0aGF0IGEganVm cmEgZG9lcyBub3QgbmVjZXNzYXJpbHkgc3RhdGUgYW55dGhpbmcsIHdoaWxlIGEgYnJpZGkgZG9l cy4gVGh1cywgYSBicmlkaSBtaWdodCBiZSB0cnVlIG9yIGZhbHNlLCB3aGlsZSBub3QgYWxsIGp1 ZnJhIGNhbiBiZSBzYWlkIHRvIGJlIHN1Y2guCgpUbyBoYXZlIHNvbWUgZXhhbXBsZXMgKGluIEVu Z2xpc2gsIHRvIGJlZ2luIHdpdGgpLCDigJxNb3phcnQgd2FzIHRoZSBncmVhdGVzdCBtdXNpY2lh biBvZiBhbGwgdGltZeKAnSBpcyBhIGJyaWRpLCBiZWNhdXNlIGl0IG1ha2VzIGEgY2xhaW0gd2l0 aCBhIHRydXRoIHZhbHVlLCBhbmQgaXQgaW52b2x2ZXMgYW4gb2JqZWN0LCBNb3phcnQsIGFuZCBh IHByb3BlcnR5LCBiZWluZyB0aGUgZ3JlYXRlc3QgbXVzaWNpYW4gb2YgYWxsIHRpbWUuIE9uIHRo ZSBjb250cmFyeSwg4oCcT3chIE15IHRvZSHigJ0gaXMgbm90IGEgYnJpZGksIHNpbmNlIGl0IGRv ZXMgbm90IGludm9sdmUgYSByZWxhdGlvbiwgYW5kIHRodXMgZG9lcyBub3Qgc3RhdGUgYW55dGhp bmcuIEJvdGgsIHRob3VnaCwgYXJlIGp1ZnJhLgoKVHJ5IHRvIGlkZW50aWZ5IHRoZSBicmlkaSBh bW9uZyB0aGVzZSBFbmdsaXNoIGp1ZnJhOgoKCgojIOKAnEkgaGF0ZSBpdCB3aGVuIHlvdSBkbyB0 aGF0LuKAnQoKIyDigJxSdW5zLuKAnQoKIyDigJxXb2FoLCB0aGF0IGxvb2tzIGRlbGljaW91cyHi gJ0KCiMg4oCcR2Vleiwgbm90IGFnYWluLuKAnQoKIyDigJxObywgSSBvd24gdGhyZWUgY2Fyc+KA nQoKIyDigJxOaW5ldGVlbiBtaW51dGVzIHBhc3QgZWlnaHQu4oCdCgojIOKAnFRoaXMgU2F0dXJk YXksIHllcy7igJ0KCgoKQW5zd2VyOiB+fmdyZXksZ3JleToxLCAzIGFuZCA1IGFyZSBicmlkaS4g MiBjb250YWlucyBubyBvYmplY3RzIGFuZCB0aGUgcmVzdCBjb250YWluIG5vIHJlbGF0aW9uIG9y IGNsYWltIG9mIGEgcHJvcGVydHkufn4KCgoKUHV0IGluIExvamJhbiB0ZXJtcywgYSBicmlkaSBj b25zaXN0cyBvZiBvbmUgJydzZWxicmknJywgYW5kIG9uZSBvciBtb3JlICcnc3VtdGknJy4gVGhl IHNlbGJyaSBpcyB0aGUgcmVsYXRpb24gb3IgY2xhaW0gYWJvdXQgdGhlIG9iamVjdCwgYW5kIHRo ZSBzdW10aSBhcmUgdGhlIG9iamVjdHMgd2hpY2ggYXJlIGluIGEgcmVsYXRpb24uIE5vdGUgdGhh dCDigJxvYmplY3TigJ0gaXMgbm90IGEgcGVyZmVjdCB0cmFuc2xhdGlvbiBvZiDigJxzdW10aeKA nSwgc2luY2Ug4oCcc3VtdGnigJ0gY2FuIHJlZmVyIHRvIG5vdCBqdXN0IHBoeXNpY2FsIG9iamVj dHMsIGJ1dCBjYW4gYWxzbyBwdXJlbHkgYWJzdHJhY3QgdGhpbmdzIGxpa2Ug4oCcVGhlIGlkZWEg b2Ygd2FyZmFyZeKAnS4gQSBiZXR0ZXIgdHJhbnNsYXRpb24gd291bGQgYmUgc29tZXRoaW5nIGxp a2Ug4oCcc3ViamVjdCwgZGlyZWN0IG9yIGluZGlyZWN0IG9iamVjdOKAnSBmb3Igc3VtdGksIGFu ZCDigJx2ZXJi4oCdIGZvciBzZWxicmksIHRob3VnaCwgYXMgd2Ugd2lsbCBzZWUsIHRoaXMgaXMg bm90IG9wdGltYWwgZWl0aGVyLgoKV2UgY2FuIG5vdyB3cml0ZSB0aGUgZmlyc3QgaW1wb3J0YW50 IGxlc3NvbiBkb3duOgoKYnJpZGkgPSBzZWxicmkgKyBvbmUgb3IgbW9yZSBzdW10aQoKUHV0IGFu b3RoZXIgd2F5LCBhIGJyaWRpIHN0YXRlcyB0aGF0IHNvbWUgc3VtdGkgZG8vYXJlIHNvbWV0aGlu ZyBleHBsYWluZWQgYnkgYSBzZWxicmkuCgoKCklkZW50aWZ5IHRoZSBzdW10aSBhbmQgc2VsYnJp IGVxdWl2YWxlbnRzIGluIHRoZXNlIEVuZ2xpc2gganVmcmE6CgrigJxJIHdpbGwgcGljayB1cCBt eSBkYXVnaHRlcnMgd2l0aCBteSBjYXLigJ0KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTpzZWxicmk6 IOKAnHBpY2sgdXAgKHdpdGgp4oCdLiBzdW10aTog4oCcSeKAnSwg4oCcbXkgZGF1Z2h0ZXJz4oCd LCDigJxteSBjYXLigJ1+fgoKCgrigJxIZSBib3VnaHQgc2l4dGVlbiBuZXcgc2hpcnRzIGZyb20g TGVhJkxldnkncyBmb3IganVzdCB0d28gaHVuZHJlZCBldXJvIeKAnQoKCgpBbnN3ZXI6IH5+Z3Jl eSxncmV5OnNlbGJyaTog4oCcYm91Z2h0IChmcm9tKSAoZm9yKeKAnSBzdW10aTog4oCcSGXigJ0s IOKAnHNpeHRlZW4gbmV3IHNoaXJ0c+KAnSwg4oCcTGVhJkxld2lz4oCdIGFuZCDigJx0d28gaHVu ZHJlZCBldXJvc+KAnX5+CgoKClNpbmNlIHRoZXNlIGNvbmNlcHRzIGFyZSBzbyBmdW5kYW1lbnRh bCB0byBMb2piYW4sIGxldCdzIGhhdmUgYSB0aGlyZCBleGFtcGxlOiDigJxTbyBmYXIsIHRoZSBF UEEgaGFzIGRvbmUgbm90aGluZyBhYm91dCB0aGUgYW1vdW50IG9mIHN1bHBodXIgZGlveGlkZS7i gJ0KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTpzZWxicmk6IOKAnGhhcyBkb25lIChhYm91dCnigJ0g c3VtdGk6IOKAnFRoZSBFUEHigJ0sIOKAnG5vdGhpbmfigJ0gYW5kIOKAnHRoZSBhbW91bnQgb2Yg c3VscGh1ciBkaW94aWRl4oCdfn4KCgoKTm93IHRyeSBiZWdpbiBtYWtpbmcgTG9qYmFuIGJyaWRp LiBGb3IgdGhpcyB5b3Ugd2lsbCBuZWVkIHRvIHVzZSBzb21lIHdvcmRzLCB3aGljaCBjYW4gYWN0 IGFzIHNlbGJyaToKCicnX19kdW5kYV9fJycgeDEgZ2l2ZXMgeDIgdG8geDMgKHdpdGhvdXQgcGF5 bWVudCkKCicnX19wZWx4dV9fJycgeDEgaXMgeWVsbG93CgonJ19femRhbmlfXycnIHgxIGlzIGEg aG9tZSBvZiB4MgoKCgpOb3RpY2UgdGhhdCB0aGVzZSB3b3JkcyBtZWFuaW5nIOKAnGdpdmXigJ0s IOKAnHllbGxvd+KAnSBhbmQg4oCcaG9tZeKAnSB3b3VsZCBiZSBjb25zaWRlcmVkIGEgdmVyYiwg YW4gYWRqZWN0aXZlIGFuZCBhIG5vdW4gaW4gRW5nbGlzaC4gSW4gTG9qYmFuLCB0aGVyZSBhcmUg bm8gc3VjaCBjYXRlZ29yaWVzIGFuZCBubyBzdWNoIGRpc3RpbmN0aW9uLiAnJ2R1bmRhJycgY2Fu IGJlIHRyYW5zbGF0ZWQg4oCcZ2l2ZXPigJ0gKHZlcmIpLCDigJxpcyBhIGdpdmVy4oCdIChub3Vu KSwg4oCcaXMgZ2l2aW5n4oCdIChhZGplY3RpdmUpIGFzIHdlbGwgYXMgdG8gYW4gYWR2ZXJiIGZv cm0uIFRoZXkgYWxsIGFjdCBhcyBzZWxicmksIGFuZCBhcmUgdXNlZCBpbiB0aGUgc2FtZSB3YXku CgoKCkFzIHdlbGwgYXMgYSBmZXcgd29yZHMsIHdoaWNoIGNhbiBhY3QgYXMgc3VtdGk6CgonJ19f bWlfXycnIOKAnEnigJ0gb3Ig4oCcd2XigJ0g4oCTIHRoZSBvbmUgb3IgdGhvc2Ugd2hvIGFyZSBz cGVha2luZy4KCicnX190aV9fJycg4oCcdGhpc+KAnSDigJMgYSBjbG9zZSB0aGluZyBvciBldmVu dCBuZWFyYnkgd2hpY2ggY2FuIGJlIHBvaW50ZWQgdG8gYnkgdGhlIHNwZWFrZXIuCgonJ19fZG9f XycnIOKAnHlvdeKAnSDigJMgdGhlIG9uZSBvciB0aG9zZSB3aG8gYXJlIGJlaW5nIHNwb2tlbiB0 by4KCgoKU2VlIHRoZSBzdHJhbmdlIHRyYW5zbGF0aW9ucyBvZiB0aGUgc2VsYnJpIGFib3ZlIC0g ZXNwZWNpYWxseSB0aGUgeDEsIHgyIGFuZCB4Mz8gVGhvc2UgYXJlIGNhbGxlZCBzdW10aSBwbGFj ZXMuIFRoZXkgYXJlIHBsYWNlcyB3aGVyZSBzdW10aSBjYW4gZ28gdG8gZmlsbCBhIGJyaWRpLiBG aWxsaW5nIGEgc3VtdGkgaW4gYSBwbGFjZSBzdGF0ZXMgdGhhdCB0aGUgc3VtdGkgZml0cyBpbiB0 aGF0IHBsYWNlLiBUaGUgc2Vjb25kIHBsYWNlIG9mICcnZHVuZGEnJywgZm9yIGV4YW1wbGUsIHgy LCBpcyB0aGUgdGhpbmcgYmVpbmcgZ2l2ZW4uIFRoZSB0aGlyZCBpcyB0aGUgb2JqZWN0IHdoaWNo IHJlY2VpdmVzIHRoZSB0aGluZy4gTm90aWNlIGFsc28gdGhhdCB0aGUgdHJhbnNsYXRpb24gb2Yg JydkdW5kYScnIGhhcyB0aGUgd29yZCDigJx0b+KAnSBpbiBpdC4gVGhpcyBpcyBiZWNhdXNlLCB3 aGlsZSB0aGlzIHdvcmQgaXMgbmVlZGVkIGluIEVuZ2xpc2ggdG8gc2lnbmlmeSB0aGUgcmVjZWl2 ZXIsIHRoZSByZWNlaXZlciBpcyBpbiB0aGUgdGhpcmQgc3VtdGkgcGxhY2Ugb2YgJydkdW5kYScn LiBTbyB3aGVuIHlvdSBmaWxsIHRoZSB0aGlyZCBzdW10aSBwbGFjZSBvZiAnJ2R1bmRhJycsIHRo ZSBzdW10aSB5b3UgZmlsbCBpbiBpcyBhbHdheXMgdGhlIHJlY2VpdmVyLCBhbmQgeW91IGRvbid0 IG5lZWQgYW4gZXF1aXZhbGVudCB0byB0aGUgd29yZCDigJx0b+KAnSEKCgoKVG8gc2F5IGEgYnJp ZGksIHlvdSBzaW1wbHkgc2F5IHRoZSB4MSBzdW10aSBmaXJzdCwgdGhlbiB0aGUgc2VsYnJpLCB0 aGVuIGFueSBvdGhlciBzdW10aS4KClVzdWFsIGJyaWRpOiB7eDEgc3VtdGl9IF9fe3NlbGJyaX1f XyB7eDIgc3VtdGl9IHt4MyBzdW10aX0ge3g0IHN1bXRpfSB7eDUgc3VtdGl9IHthbmQgc28gb259 CgpUaGUgb3JkZXIgY2FuIGJlIHBsYXllZCBhcm91bmQgd2l0aCwgYnV0IGZvciBub3csIHdlIHN0 aWNrIHdpdGggdGhlIHVzdWFsIGZvcm0uIFRvIHNheSDigJxJIGdpdmUgdGhpcyB0byB5b3XigJ0g eW91IGp1c3Qgc2F5ICcnbWkgZHVuZGEgdGkgZG8nJywgd2l0aCB0aGUgdGhyZWUgc3VtdGkgYXQg dGhlIHJpZ2h0IHBsYWNlcy4KCgoKU28sIGhvdyB3b3VsZCB5b3Ugc2F5IOKAnFRoaXMgaXMgYSBo b21lIG9mIG1l4oCdPwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicndGkgemRhbmkgbWknJ35+CgoK ClRyeSBhIGZldyBtb3JlIGluIG9yZGVyIHRvIGdldCB0aGUgaWRlYSBvZiBhIHBsYWNlIHN0cnVj dHVyZSBzaW5rIGluLgoKCgrigJxZb3UgZ2l2ZSB0aGlzIHRvIG1l4oCdPwoKCgpBbnN3ZXI6IH5+ Z3JleSxncmV5OicnZG8gZHVuZGEgdGkgbWknJ35+CgoKCkFuZCB0cmFuc2xhdGUgJyd0aSBwZWx4 dScnCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcVGhpcyBpcyB5ZWxsb3cu4oCdfn4KCgoKUXVp dGUgZWFzeSBvbmNlIHlvdSBnZXQgdGhlIGhhbmcgb2YgaXQsIHJpZ2h0PwoKCgpNdWx0aXBsZSBi cmlkaSBhZnRlciBlYWNoIG90aGVyIGFyZSBzZXBhcmF0ZWQgYnkgJycuaScnIFRoaXMgaXMgdGhl IExvamJhbiBlcXVpdmFsZW50IG9mIGZ1bGwgc3RvcCwgYnV0IGl0IHVzdWFsbHkgZ29lcyBiZWZv cmUgYnJpZGkgaW5zdGVhZCBvZiBhZnRlciB0aGVtLiBJdCdzIG9mdGVuIGxlZnQgb3V0IGJlZm9y ZSB0aGUgZmlyc3QgYnJpZGksIHRob3VnaCwgYXMgaW4gYWxsIHRoZXNlIGV4YW1wbGVzOgoKJydf Xy5pX18nJyBTZW50ZW5jZSBzZXBhcmF0b3IuIFNlcGFyYXRlcyBhbnkgdHdvIGp1ZnJhIChhbmQg dGhlcmVmb3JlIGFsc28gYnJpZGkpLgoKCgonJ3RpIHpkYW5pIG1pICAuaSB0aSBwZWx4dScnIOKA nVRoaXMgaXMgYSBob21lIHRvIG1lLiBUaGlzIGlzIHllbGxvdy7igJ0KCgoKQmVmb3JlIHlvdSBt b3ZlIG9uIHRvIHRoZSBuZXh0IGxlc3NvbiwgSSByZWNvbW1lbmQgdGhhdCB5b3UgdGFrZSBhIGJy ZWFrIGZvciBhdCBsZWFzdCBzZXZlbiBtaW51dGVzIHRvIGxldCB0aGUgaW5mb3JtYXRpb24gc2lu ayBpbi4KCgoKCgohIUxvamJhbiBMZXNzb25zIOKAkyBsZXNzb24gdHdvIChGQSBhbmQgem8nZSkK Ck1vc3Qgc2VsYnJpIGhhdmUgZnJvbSBvbmUgdG8gZml2ZSBzdW10aSBwbGFjZXMsIGJ1dCBzb21l IGhhdmUgbW9yZS4gSGVyZSBpcyBhIHNlbGJyaSB3aXRoIGZvdXIgc3VtdGkgcGxhY2VzOgoKJydf X3ZlY251X18nJyB4MSBzZWxscyB4MiB0byB4MyBmb3IgcHJpY2UgeDQKCgoKSWYgSSB3YW50IHRv IHNheSDigJxJIHNlbGwgdGhpc+KAnSwgaXQgd291bGQgYmUgdG9vIG11Y2ggdG8gaGF2ZSB0byBm aWxsIHRoZSBzdW10aSBwbGFjZXMgeDMgYW5kIHg0LCB3aGljaCBzcGVjaWZ5IHdobyBJIHNlbGwg dGhlIHRoaW5nIHRvLCBhbmQgZm9yIHdoYXQgcHJpY2UuIEx1Y2tpbHksIEkgZG9uJ3QgbmVlZCB0 by4gc3VtdGkgcGxhY2VzIGNhbiBiZSBmaWxsZWQgd2l0aCAnJ3pvJ2UnJy4gJyd6bydlJycgaW5k aWNhdGVzIHRvIHVzIHRoYXQgdGhlIHZhbHVlIG9mIHRoZSBzdW10aSBwbGFjZSBpcyB1bnNwZWNp ZmllZCBiZWNhdXNlIGl0J3MgdW5pbXBvcnRhbnQgb3IgY2FuIGJlIGRldGVybWluZWQgZnJvbSBj b250ZXh0LgoKJydfX3pvJ2VfXycnIOKAnHNvbWV0aGluZ+KAnSBGaWxscyBhIHN1bXRpIHBsYWNl IHdpdGggc29tZXRoaW5nLCBidXQgZG9lcyBub3Qgc3RhdGUgd2hhdC4KCgoKU28gdG8gc2F5IOKA nEkgc2VsbCB0byB5b3XigJ0sIEkgY291bGQgc2F5ICcnbWkgdmVjbnUgem8nZSBkbyB6bydlJycg 4oCTIEkgc2VsbCBzb21ldGhpbmcgdG8geW91IGZvciBzb21lIHByaWNlLgoKSG93IHdvdWxkIHlv dSBzYXk6IOKAnFRoYXQncyBhIGhvbWUgKGZvciBzb21lYm9keSnigJ0/CgoKCkFuc3dlcjogfn5n cmV5LGdyZXk6ICcndGkgemRhbmkgem8nZScnfn4KCgoKSG93IGFib3V0IOKAnChzb21lb25lKSBn aXZlcyB0aGlzIHRvIChzb21lb25lKeKAnT8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ3pvJ2Ug ZHVuZGEgdGkgem8nZScnfn4KCgoKU3RpbGwsIGZpbGxpbmcgb3V0IHRocmVlIHpvJ2UganVzdCB0 byBzYXkgdGhhdCBhIHRoaW5nIGlzIGJlaW5nIHNvbGQgdGFrZXMgdGltZS4gVGhlcmVmb3JlIHlv dSBkb24ndCBuZWVkIHRvIHdyaXRlIGFsbCB0aGUgJyd6bydlJycgaW4gYSBicmlkaS4gVGhlIHJ1 bGUgc2ltcGx5IGlzIHRoYXQgaWYgeW91IGxlYXZlIG91dCBhbnkgc3VtdGksIHRoZXkgd2lsbCBi ZSBjb25zaWRlcmVkIGFzIGlmIHRoZXkgY29udGFpbmVkICcnem8nZScnLiBJZiB0aGUgYnJpZGkg YmVnaW5zIHdpdGggYSBzZWxicmksIHRoZSB4MSBpcyBwcmVzdW1lZCB0byBiZSBvbWl0dGVkIGFu ZCBpdCBiZWNvbWVzICcnem8nZScnLgoKVHJ5IGl0IG91dC4gV2hhdCdzIExvamJhbiBmb3Ig4oCc SSBzZWxs4oCdPwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnbWkgdmVjbnUnJ35+CgoKCkFuZCB3 aGF0IGRvZXMgJyd6ZGFuaSBtaScnIG1lYW4/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcU29t ZXRoaW5nIGlzIGEgaG9tZSBvZiBtZeKAnSBvciBqdXN0IOKAnEkgaGF2ZSBhIGhvbWUu4oCdfn4K CgoKQXMgbWVudGlvbmVkIGVhcmxpZXIsIHRoZSBmb3JtIGRvZXNuJ3QgaGF2ZSB0byBiZSB7eDEg c3VtdGl9IHtzZWxicml9IHt4MiBzdW10aX0ge3gzIHN1bXRpfSAoZWN0LikgSW4gZmFjdCwgeW91 IGNhbiBwbGFjZSB0aGUgc2VsYnJpIGFueXdoZXJlIHlvdSB3YW50LCBqdXN0IG5vdCBhdCB0aGUg YmVnaW5uaW5nIG9mIHRoZSBicmlkaS4gSWYgeW91IGRvIHRoYXQsIHRoZSB4MSBpcyBjb25zaWRl cmVkIGxlZnQgb3V0IGFuZCBmaWxsZWQgd2l0aCAnJ3pvJ2UnJyBpbnN0ZWFkLiBTbyB0aGUgZm9s bG93aW5nIHRocmVlIGp1ZnJhIGFyZSBhbGwgdGhlIGV4YWN0bHkgc2FtZSBicmlkaToKCicnbWkg ZHVuZGEgdGkgZG8nJwoKJydtaSB0aSBkdW5kYSBkbycnCgonJ21pIHRpIGRvIGR1bmRhJycKCgoK U29tZXRpbWVzIHRoaXMgaXMgdXNlZCBmb3IgcG9ldGljIGVmZmVjdC4g4oCcWW91IHNlbGwgeW91 cnNlbGbigJ0gY291bGQgYmUgJydkbyBkbyB2ZWNudScnLCB3aGljaCBzb3VuZHMgYmV0dGVyIHRo YW4gJydkbyB2ZWNudSBkbycnLiBPciBpdCBjYW4gYmUgdXNlZCBmb3IgY2xhcml0eSBpZiB0aGUg c2VsYnJpIGlzIHZlcnkgbG9uZyBhbmQgdGhlcmVmb3JlIGJldHRlciBiZSBsZWZ0IGF0IHRoZSBl bmQgb2YgdGhlIGJyaWRpLgoKCgpUaGVyZSBhcmUgYWxzbyBzZXZlcmFsIHdheXMgdG8gcGxheSBh cm91bmQgd2l0aCB0aGUgb3JkZXIgb2YgdGhlIHN1bXRpIGluc2lkZSB0aGUgYnJpZGkuIFRoZSBl YXNpZXN0IG9uZSBpcyBieSB1c2luZyB0aGUgd29yZHMgJydmYScnLCAnJ2ZlJycsICcnZmknJywg JydmbycnIGFuZCAnJ2Z1JycuIE5vdGljZSB0aGF0IHRoZSB2b3dlbHMgYXJlIHRoZSBmaXZlIHZv d2VscyBpbiB0aGUgTG9qYmFuIGFscGhhYmV0IGluIG9yZGVyLiBVc2luZyBvbmUgb2YgdGhlc2Ug d29yZHMgbWFya3MgdGhhdCB0aGUgbmV4dCBzdW10aSB3aWxsIGZpbGwgdGhlIHgxLCB4MiwgeDMs IHg0IGFuZCB4NSByZXNwZWN0aXZlbHkuIFRoZSBuZXh0IHN1bXRpIGFmdGVyIHRoYXQgd2lsbCBi ZSBwcmVzdW1lZCB0byBmaWxsIGEgc2xvdCBvbmUgZ3JlYXRlciB0aGFuIHRoZSBwcmV2aW91cy4g VG8gdXNlIGFuIGV4YW1wbGU6CgonJ2R1bmRhIGZhIGRvIGZlIHRpIGRvJycg4oCTIOKAnEdpdmlu ZyBieSB5b3Ugb2YgdGhpcyB0aGluZyB0byB5b3XigJ0uICcnZmEnJyBtYXJrcyB0aGUgeDEsIHRo ZSBnaXZlciwgd2hpY2ggaXMgeW91LiAnJ2ZlJycgbWFya3MgdGhlIHRoaW5nIGJlaW5nIGdpdmVu LCB0aGUgeDIuIFN1bXRpIGNvdW50aW5nIHRoZW4gY29udGludWVzIGZyb20gJydmZScnLCBtZWFu aW5nIHRoYXQgdGhlIGxhc3Qgc3VtdGkgZmlsbHMgeDMsIHRoZSBvYmplY3QgcmVjZWl2aW5nLgoK CgpBdHRlbXB0IHRvIHRyYW5zbGF0ZSB0aGUgZm9sbG93aW5nIHRocmVlIHNlbnRlbmNlczoKCgoK JydtaSB2ZWNudSBmbyB0aSBmZSBkbycnCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCdSSBzZWxs LCBmb3IgdGhlIHByaWNlIG9mIHRoaXMsIHlvdeKAnS4gb3Ig4oCcSSBzZWxsIHlvdSBmb3IgdGhl IHByaWNlIG9mIHRoaXPigJ0gKHByb2JhYmx5IHBvaW50aW5nIHRvIGEgYnVuY2ggb2YgbW9uZXkp fn4KCgoKJyd6ZGFuaSBmZSB0aScnCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcVGhpcyBoYXMg YSBob21l4oCdLiBIZXJlLCB0aGUgZmUgaXMgcmVkdW5kYW50Ln5+CgoKCicndmVjbnUgem8nZSBt aSB0aSBmYSBkbycnCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcWW91IHNlbGwgc29tZXRoaW5n IHRvIG1lIGZvciB0aGlzIHByaWNl4oCdfn4KCgoKCgohIUxvamJhbiBMZXNzb25zIOKAkyBsZXNz b24gdGhyZWUgKHRhbnJ1IGFuZCBsbykKCkluIHRoaXMgbGVzc29uLCB5b3Ugd2lsbCBiZWNvbWUg ZmFtaWxpYXIgd2l0aCB0aGUgY29uY2VwdCBvZiBhICcndGFucnUnJy4gQSB0YW5ydSBpcyBmb3Jt ZWQgd2hlbiBhIHNlbGJyaSBpcyBwdXQgaW4gZnJvbnQgb2YgYW5vdGhlciBzZWxicmksIG1vZGlm eWluZyBpdHMgbWVhbmluZy4gQSB0YW5ydSBpcyBpdHNlbGYgYSBzZWxicmksIGFuZCBjYW4gY29t YmluZSB3aXRoIG90aGVyIHNlbGJyaSBvciB0YW5ydSB0byBmb3JtIG1vcmUgY29tcGxleCB0YW5y dS4gVGh1cyAnJ3pkYW5pIHZlY251JycgaXMgYSB0YW5ydSwgYXMgd2VsbCBhcyAgJydwZWx4dSB6 ZGFuaSB2ZWNudScnLCB3aGljaCBpcyBtYWRlIGZyb20gdGhlIHRhbnJ1ICcncGVseHUgemRhbmkn JyBhbmQgdGhlIHNpbmdsZSBicml2bGEgd29yZCAnJ3ZlY251JycuIFRvIHVuZGVyc3RhbmQgdGhl IGNvbmNlcHQgb2YgdGFucnUsIGNvbnNpZGVyIHRoZSBFbmdsaXNoIG5vdW4gY29tYmluYXRpb24g 4oCcbGVtb24gdHJlZeKAnS4gSWYgeW91IGRpZG4ndCBrbm93IHdoYXQgYSBsZW1vbiB0cmVlIHdh cywgYnV0IGhhZCBoZWFyZCBhYm91dCBib3RoIGxlbW9ucyBhbmQgdHJlZXMsIHlvdSB3b3VsZCBu b3QgYmUgYWJsZSB0byBkZWR1Y2Ugd2hhdCBhIGxlbW9uIHRyZWUgd2FzLiBQZXJoYXBzIGEgbGVt b24tY29sb3JlZCB0cmVlLCBvciBhIHRyZWUgc2hhcGVkIGxpa2UgYSBsZW1vbiwgb3IgYSB0cmVl IHdob3NlIGJhcmsgdGFzdGVzIGxpa2UgbGVtb24uIFRoZSBvbmx5IHRoaW5ncyB5b3UgY291bGQg a25vdyBmb3Igc3VyZSB3b3VsZCBiZSB0aGF0IGl0IHdvdWxkIGJlIGEgdHJlZSwgYW5kIGl0IHdv dWxkIGJlIGxlbW9uLWxpa2UgaW4gc29tZSB3YXkuCgpBIHRhbnJ1IGlzIGNsb3NlbHkgYW5hbG9n b3VzIHRvIHRoaXMuIEl0IGNhbm5vdCBiZSBzYWlkIGV4YWN0bHkgd2hhdCBhICcnemRhbmkgdmVj bnUnJyBpcywgYnV0IGl0IGNhbiBiZSBzYWlkIHRoYXQgaXQgaXMgZGVmaW5pdGVseSBhIHZlY251 LCBhbmQgdGhhdCBpdCdzIHpkYW5pLWxpa2UgaW4gc29tZSB3YXkuIEFuZCBpdCBjb3VsZCBiZSB6 ZGFuaS1saWtlIGluIGFueSB3YXkuIEluIHRoZW9yeSwgbm8gbWF0dGVyIGhvdyBzaWxseSBvciBh YnN1cmQgdGhlIGNvbm5lY3Rpb24gdG8gemRhbmkgd2FzLCBpdCBjb3VsZCBzdGlsbCB0cnVseSBi ZSBhICcnemRhbmkgdmVjbnUnJy4gSG93ZXZlciwgaXQgbXVzdCBhY3R1YWxseSBiZSBhIHZlY251 IGluIHRoZSBvcmRpbmFyeSBzZW5zZSBpbiBvcmRlciBmb3IgdGhlIHRhbnJ1IHRvIGFwcGx5LiBZ b3UgY291bGQgZ2xvc3MgJyd6ZGFuaSB2ZWNudScnIGFzIOKAnGhvbWUgc2VsbGVy4oCdLCBvciBl dmVuIGJldHRlciBidXQgd29yc2Ugc291bmRpbmcg4oCcYSBob21lLXR5cGUtb2Ygc2VsbGVy4oCd LiBUaGUgcGxhY2Ugc3RydWN0dXJlIG9mIGEgdGFucnUgaXMgYWx3YXlzIHRoYXQgb2YgdGhlIHJp Z2h0bW9zdCBzZWxicmkuIEl0J3MgYWxzbyBzYWlkIHRoYXQgdGhlIGxlZnQgc2VsYnJpIG1vZGlm aWVzIHRoZSByaWdodCBzZWxicmkuCgrigJxSZWFsbHk/4oCdLCB5b3UgYXNrLCBzY2VwdGljYWxs eSwg4oCcSXQgZG9lc24ndCBtYXR0ZXIgaG93IHNpbGx5IHRoZSBjb25uZWN0aW9uIHRvIHRoZSBs ZWZ0IHdvcmQgaW4gYSB0YW5ydSBpcywgaXQncyBzdGlsbCB0cnVlPyBTbyBJIGNvdWxkIGNhbGwg YWxsIHNlbGxlcnMgZm9yICcnemRhbmkgdmVjbnUnJyBhbmQgdGhlbiBtYWtlIHVwIHNvbWUgc2ls bHkgZXhjdXNlIHdoeSBJIHRoaW5rIGl0J3MgemRhbmktbGlrZT/igJ0KCldlbGwgeWVzLCBidXQg dGhlbiB5b3UnZCBiZSBhIGRpY2suIE9yIGF0IGxlYXN0IHlvdSdkIGJlIGludGVudGlvbmFsbHkg bWlzbGVhZGluZy4gSW4gZ2VuZXJhbCwgeW91IHNob3VsZCB1c2UgYSB0YW5ydSB3aGVuIGl0J3Mg b2J2aW91cyBob3cgdGhlIGxlZnQgd29yZCByZWxhdGVzIHRvIHRoZSByaWdodC4KCgoKQXR0ZW1w dCB0byB0cmFuc2xhdGUgdGhlIGZvbGxvd2luZzogJyd0aSBwZWx4dSB6ZGFuaSBkbycnCgoKCkFu c3dlcjogfn5ncmV5LGdyZXk64oCcVGhhdCBpcyBhIHllbGxvdyBob21lIGZvciB5b3XigJ0gQWdh aW4sIHdlIGRvbid0IGtub3cgaW4gd2hpY2ggd2F5IGl0J3MgeWVsbG93LiBQcm9iYWJseSBpdCdz IHBhaW50ZWQgeWVsbG93LCBidXQgd2UgZG9uJ3Qga25vdyBmb3Igc3VyZS5+fgoKCgonJ21pIHZl Y251IGR1bmRhJycKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxJIHNlbGwtbGlrZSBnaXZl4oCd LiBXaGF0IGNhbiB0aGF0IG1lYW4/IE5vIGlkZWEuIEl0IGNlcnRhaW5seSBkb2Vzbid0IG1lYW4g dGhhdCB5b3Ugc29sZCBzb21ldGhpbmcsIHNpbmNlLCBieSBkZWZpbml0aW9uIG9mICcnZHVuZGEn JywgdGhlcmUgY2FuIGJlIG5vIHBheW1lbnQgaW52b2x2ZWQuIEl0IGhhcyB0byBiZSBhIGdpdmVh d2F5LCBidXQgYmUgc2VsbC1saWtlIGluIHNvbWUgYXNwZWN0Ln5+CgoKCkFuZCBub3cgZm9yIHNv bWV0aGluZyBjb21wbGV0ZWx5IGRpZmZlcmVudC4gV2hhdCBpZiBJIHdhbnRlZCB0byBzYXkgSSBz b2xkIHRvIGEgR2VybWFuPwoKJydfX2RvdGNvX18nJyB4MSBpcyBHZXJtYW4vcmVmbGVjdHMgR2Vy bWFuIGN1bHR1cmUgaW4gYXNwZWN0IHgyCgoKCkkgY2FuJ3Qgc2F5ICcnbWkgdmVjbnUgem8nZSBk b3RjbycnIGJlY2F1c2UgdGhhdCB3b3VsZCBsZWF2ZSB0d28gc2VsYnJpIGluIGEgYnJpZGksIHdo aWNoIGlzIG5vdCBwZXJtaXR0ZWQuIEkgY291bGQgc2F5ICcnbWkgZG90Y28gdmVjbnUnJyBidXQg dGhhdCB3b3VsZCBiZSB1bm5lY2Vzc2FyeSB2YWd1ZSAtIEkgY291bGQgc2VsbCBpbiBhIEdlcm1h biB3YXkuIExpa2V3aXNlLCBpZiBJIHdhbnQgdG8gc2F5IOKAnEkgYW0gZnJpZW5kcyB3aXRoIGFu IEFtZXJpY2Fu4oCdLCB3aGF0IHNob3VsZCBJIHNheT8KCicnX19wZW5kb19fJycgMXggaXMgYSBm cmllbmQgb2YgeDIKCicnX19tZXJrb19fJycgeDEgaXMgQW1lcmljYW4vcmVmbGVjdCBVUyBjdWx0 dXJlIGluIGFzcGVjdCB4MgoKCgpBZ2FpbiwgdGhlIG9idmlvdXMgd291bGQgYmUgdG8gc2F5ICcn bWkgcGVuZG8gbWVya28nJywgYnV0IHRoYXQgd291bGQgZm9ybSBhIHRhbnJ1LCBtZWFuaW5nIOKA nEkgYW0gZnJpZW5kLWxpa2UgQW1lcmljYW7igJ0sIHdoaWNoIGlzIHdyb25nLiBXaGF0IHdlIHJl YWxseSB3YW50IHRvIGlzIHRvIHRha2UgdGhlIHNlbGJyaSAnJ21lcmtvJycgYW5kIHRyYW5zZm9y bSBpdCBpbnRvIGEgc3VtdGkgc28gaXQgY2FuIGJlIHVzZWQgaW4gdGhlIHNlbGJyaSAnJ3BlbmRv JycuIFRoaXMgaXMgZG9uZSBieSB0aGUgdHdvIHdvcmRzICcnbG8nJyBhbmQgJydrdScnLgoKX18n J2xvJydfXyDigJMgZ2VuZXJpYyBiZWdpbiBjb252ZXJ0IHNlbGJyaSB0byBzdW10aSB3b3JkLiBF eHRyYWN0cyB4MSBvZiBzZWxicmkgdG8gdXNlIGFzIHN1bXRpLgoKX18nJ2t1JydfXyDigJMgZW5k IGNvbnZlcnQgc2VsYnJpIHRvIHN1bXRpIHByb2Nlc3MuCgoKCllvdSBzaW1wbHkgcGxhY2UgYSBz ZWxicmkgYmV0d2VlbiB0aGVzZSB0d28gd29yZHMsIGFuZCBpdCB0YWtlcyBhbnl0aGluZyB0aGF0 IGNhbiBmaWxsIHRoZSB4MSBvZiB0aGF0IHNlbGJyaSBhbmQgdHVybnMgaXQgaW50byBhIHN1bXRp LgoKU28gZm9yIGluc3RhbmNlLCB0aGUgdGhpbmdzIHRoYXQgY2FuIGZpbGwgemRhbmnigJhzIHgx IGFyZSBvbmx5IHRoaW5ncyB3aGljaCBhcmUgaG9tZXMgb2Ygc29tZWJvZHkuIFNvICcnbG8gemRh bmkga3UnJyBtZWFucyDigJxhIGhvbWUgb3Igc29tZSBob21lcyBmb3Igc29tZWJvZHku4oCdIFNp bWlsYXJseSwgaWYgSSBzYXkgdGhhdCBzb21ldGhpbmcgaXMgcGVseHUsIGl0IG1lYW5zIGl0J3Mg eWVsbG93LiBTbyAnJ2xvIHBlbHh1IGt1JycgcmVmZXJzIHRvIHNvbWV0aGluZyB5ZWxsb3cuCgoK Ck5vdyB5b3UgaGF2ZSB0aGUgbmVjZXNzYXJ5IGdyYW1tYXIgdG8gYmUgYWJsZSB0byBzYXkg4oCc SSBhbSBmcmllbmRzIHdpdGggYW4gQW1lcmljYW4u4oCdIEhvdz8KCgoKQW5zd2VyOiB+fmdyZXks Z3JleTonJ21pIHBlbmRvIGxvIG1lcmtvIGt1Jyd+fgoKCgpUaGVyZSBpcyBhIGdvb2QgcmVhc29u IHdoeSB0aGUgJydrdScnIGlzIG5lY2Vzc2FyeS4gVHJ5IHRvIHRyYW5zbGF0ZSDigJxBIEdlcm1h biBzZWxscyB0aGlzIHRvIG1l4oCdCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JydsbyBkb3RjbyBr dSB2ZWNudSB0aSBtaScnIElmIHlvdSBsZWF2ZSBvdXQgdGhlIGt1LCB5b3UgZG8gbm90IGdldCBh IGJyaWRpLCBidXQgc2ltcGx5IHRocmVlIHN1bXRpLiBTaW5jZSBsb+KApmt1IGNhbm5vdCBjb252 ZXJ0IGJyaWRpLCB0aGUgdGkgaXMgZm9yY2VkIG91dHNpZGUgdGhlIHN1bXRpLCB0aGUgbG8tY29u c3RydWN0IGlzIGZvcmNlZCB0byBjbG9zZSBhbmQgaXQgc2ltcGx5IGJlY29tZXMgdGhlIHRocmVl IHN1bXRpIG9mICcnbG8gZG90Y28gdmVjbnUge2t1fScnLCAnJ3RpJycgYW5kICcnbWknJy5+fgoK CgpZb3UgYWx3YXlzIGhhdmUgdG8gYmUgY2FyZWZ1bCB3aXRoIGp1ZnJhIGxpa2UgJydsbyB6ZGFu aSBrdSBwZWx4dScnLiBJZiB0aGUgJydrdScnIGlzIGxlZnQgb3V0IHRoZSBjb252ZXJzaW9uIHBy b2Nlc3MgZG9lcyBub3QgZW5kLCBhbmQgaXQgc2ltcGx5IGJlY29tZXMgb25lIHN1bXRpLCBtYWRl IGZyb20gdGhlIHRhbnJ1ICcnemRhbmkgcGVseHUnJyBhbmQgdGhlbiBjb252ZXJ0ZWQgd2l0aCAn J2xvJycuCgoKCgoKISFMb2piYW4gTGVzc29ucyDigJMgbGVzc29uIGZvdXIgKGF0dGl0dWRpbmFs cykKCkFub3RoZXIgY29uY2VwdCB3aGljaCBjYW4gYmUgdW5mYW1pbGlhciB0byBFbmdsaXNoIHNw ZWFrZXJzIGlzIHRoYXQgb2YgYXR0aXR1ZGluYWxzLiBBdHRpdHVkaW5hbHMgYXJlIHdvcmRzIHRo YXQgZXhwcmVzcyBlbW90aW9ucyBkaXJlY3RseS4gVGhlIGlkZWEgb2YgYXR0aXR1ZGluYWxzIG9y aWdpbmF0ZWQgaW4gdGhlIGZlbWluaXN0IGNvbnN0cnVjdGVkIGxhbmd1YWdlIExhZGFuLCBzdXBw b3NlZGx5IHRvIGVuYWJsZSB0cnVlIGZlbWFsZSBlbW90aW9ucy4gVGhlIGlkZWEgd2FzIHRoYXQg ZmVtYWxlIGVtb3Rpb25hbCBleHByZXNzaW9uIHdhcyBoaW5kZXJlZCBieSBtYWxlIGRvbWluYXRl ZCBsYW5ndWFnZSwgYW5kIGlmIG9ubHkgdGhleSB3ZXJlIGFibGUgdG8gYmUgZXhwcmVzc2VkIG1v cmUgZnJlZWx5LCB0aGlzIHdvdWxkIGVtcG93ZXIgd29tZW4gdGhyb3VnaCBsaWJlcmF0aW9uIG9m IHRoZSBsYW5ndWFnZS4KCkluIExvamJhbiwgdGhlcmUgaXMgbm8gc3VjaCBhZ2VuZGEsIGFuZCBh dHRpdHVkaW5hbHMgbW9zdCBwcm9iYWJseSBoYXZlIGJlZW4gZGVzaWduZWQgaW50byB0aGUgbGFu Z3VhZ2UgYmVjYXVzZSB0aGV5IHR1cm5lZCBvdXQgdG8gYmUgaW5jcmVkaWJseSBhd2Vzb21lIGFu ZCB1c2VmdWwuIFRoZXkgYWxsIGhhdmUgYSBzby1jYWxsZWQgZnJlZSBncmFtbWFyLCB3aGljaCBt ZWFucyB0aGF0IHRoZXkgY2FuIGFwcGVhciBhbG1vc3QgYW55d2hlcmUgd2l0aGluIGJyaWRpIHdp dGhvdXQgZGlzcnVwdGluZyB0aGUgYnJpZGkncyBncmFtbWFyIG9yIGFueSBncmFtbWF0aWNhbCBj b25zdHJ1Y3RzLgoKSW4gTG9qYmFuIGdyYW1tYXIsIGFuIGF0dGl0dWRpbmFsIGFwcGxpZXMgdG8g dGhlIHByZXZpb3VzIHdvcmQuIElmIHRoYXQgcHJldmlvdXMgd29yZCBpcyBhIHdvcmQgd2hpY2gg YmVnaW5zIGEgY29uc3RydWN0IChsaWtlICcnLmknJyBvciAnJ2xvJycpLCBpdCBhcHBsaWVzIHRv IHRoZSBlbnRpcmUgY29uc3RydWN0LiBMaWtld2lzZSwgaWYgdGhlIGF0dGl0dWRpbmFsIGZvbGxv d3MgYSB3b3JkIHdoaWNoIGVuZHMgYSBjb25zdHJ1Y3QgbGlrZSAnJ2t1JycsIGl0IGFwcGxpZXMg dG8gdGhlIGVuZGVkIGNvbnN0cnVjdC4KCgoKTGV0J3MgaGF2ZSB0d28gYXR0aXR1ZGluYWxzIHRv IG1ha2Ugc29tZSBleGFtcGxlczoKCl9fJycudWknJ19fOiBhdHRpdHVkaW5hbDogc2ltcGxlIHB1 cmUgZW1vdGlvbjogaGFwcGluZXNzIC0gdW5oYXBwaW5lc3MKCl9fJyd6YSdhJydfXzogYXR0aXR1 ZGluYWw6IGV2aWRlbnRpYWw6IEkgZGlyZWN0bHkgb2JzZXJ2ZQoKCgpOb3RlIHRoYXQgaW4gdGhl IGRlZmluaXRpb24gb2YgJycudWknJywgdGhlcmUgYXJlIGxpc3RlZCB0d28gZW1vdGlvbnMsIGhh cHBpbmVzcyBhbmQgdW5oYXBwaW5lc3MuIFRoaXMgbWVhbnMgdGhhdCAnJy51aScnIGlzIGRlZmlu ZWQgYXMgaGFwcGluZXNzLCB3aGlsZSBpdHMg4oCcbmVnYXRpb27igJ0sIG1lYW5zIHVuaGFwcGlu ZXNzLiDigJxOZWdhdGlvbuKAnSBtaWdodCBiZSB0aGUgd3Jvbmcgd29yZCBoZXJlLiBUZWNobmlj YWxseSwgdGhlIG90aGVyIGRlZmluaXRpb24gb2YgJycudWknJyBpcyBhbm90aGVyIGNvbnN0cnVj dCwgJycudWkgbmFpJycuIE1vc3Qgb2YgdGhlIHRpbWUsIHRoZSBzZWNvbmQgZGVmaW5pdGlvbiBv ZiBhdHRpdHVkaW5hbHMgLSB0aGUgb25lcyBzdWZmaXhlZCB3aXRoICcnbmFpJycgLSByZWFsbHkg aXMgdGhlIG5lZ2F0aW9uIG9mIHRoZSBiYXJlIGF0dGl0dWRpbmFsLiBPdGhlciB0aW1lcywgbm90 IHNvIG11Y2guCgpfXycnbmFpJydfXyBtaXNjLiBuZWdhdGlvbiAtIGF0dGFjaGVkIHRvIGF0dGl0 dWRpbmFscywgaXQgY2hhbmdlcyB0aGUgbWVhbmluZyBpbnRvIHRoZSBhdHRpdHVkaW5hbCdzICJu ZWdhdGlvbiIKCgoKQW5kIHNvbWUgbW9yZSBzZWxicmksIGp1c3QgZm9yIHRoZSBoZWNrIG9mIGl0 OgoKX18nJ2NpdGthJydfXyDigJMgeDEgZWF0cyB4MgoKX18nJ3BsaXNlJydfXyDigJMgeDEgaXMg YW4gYXBwbGUgb2Ygc3RyYWluL3R5cGUgeDIKCgoKVGhlIHNlbnRlbmNlICcnZG8gY2l0a2EgbG8g cGxpc2Uga3UgLnVpJycsIG1lYW5zIOKAnFlvdSBlYXQgYW4gYXBwbGUsIHlheSHigJ0gKGVzcGVj aWFsbHkgZXhwcmVzc2luZyB0aGF0IGl0IGlzIHRoZSBfX2FwcGxlX18gdGhhdCB0aGUgc3BlYWtl ciBpcyBoYXBweSBhYm91dCwgbm90IHRoZSBlYXRpbmcsIG9yIHRoZSBmYWN0IHRoYXQgaXQgd2Fz IHlvdS4pIEluIHRoZSBzZW50ZW5jZSAnJ2RvIHphJ2EgY2l0a2EgbG8gcGxpc2Uga3UnJywgdGhl IHNwZWFrZXIgZGlyZWN0bHkgb2JzZXJ2ZXMgdGhhdCBpdCBpcyBpbmRlZWQgdGhlIF9f4oCceW91 4oCdX18sIHdobyBlYXRzIGFuIGFwcGxlIGFzIG9wcG9zZWQgdG8gc29tZW9uZSBlbHNlLgoKCgpJ ZiBhbiBhdHRpdHVkaW5hbCBpcyBwbGFjZWQgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgYnJpZGks IGl0IGlzIHVuZGVyc3Rvb2QgdG8gYXBwbHkgdG8gYW4gZXhwbGljaXQgb3IgaW1wbGljaXQgJycu aScnLCB0aHVzIGFwcGx5aW5nIHRvIHRoZSBlbnRpcmUgYnJpZGk6CgonJy51aSB6YSdhIGRvIGR1 bmRhIGxvIHBsaXNlIGt1IG1pJycg4oCTIOKAnFlheSwgSSBvYnNlcnZlIHRoYXQgeW91IGdpdmUg YW4vc29tZSBhcHBsZSB0byBtZSHigJ0KCgoKJydtaSB2ZWNudSAudWkgbmFpIGxvIHpkYW5pIGt1 Jycg4oCcSSBzZWxsICh3aGljaCBzdWNrcyEpIGEgaG9tZeKAnS4KCgoKVHJ5IGl0IG91dCB3aXRo IGEgZmV3IGV4YW1wbGVzLiBGaXJzdCwgdGhvdWdoLCBoZXJlIGFyZSBzb21lIG1vcmUgYXR0aXR1 ZGluYWxzOgoKX18nJy51J3UnJ19fIGF0dGl0dWRpbmFsOiBzaW1wbGUgcHVyZSBlbW90aW9uOiBn dWlsdCAtIHJlbW9yc2VsZXNzbmVzcyAtIGlubm9jZW5jZS4KCl9fJycub2knJ19fIGF0dGl0dWRp bmFsOiBjb21wbGV4IHB1cmUgZW1vdGlvbjogY29tcGxhaW50IC0gcGxlYXN1cmUuCgpfXycnLml1 JydfXyBhdHRpdHVkaW5hbDogbWlzY2VsbGFuZW91cyBwdXJlIGVtb3Rpb246IGxvdmUgLSBoYXRl LgoKCgpMb29rIGF0IHRoYXQsIHR3byB3b3JkcyB3aXRoIHRocmVlIGVtb3Rpb25zIGluIHRoZSBk ZWZpbml0aW9uISBUaGUgbWlkZGxlIG9uZSBpcyBhY2Nlc3NlZCBieSBzdWZmaXhpbm5nIHdpdGgg JydjdSdpJycuIEl0J3MgY29uc2lkZXJlZCB0aGUgbWlkcG9pbnQgb2YgdGhlIGVtb3Rpb24uCgpf XycnY3UnaScnX18gYXR0aXR1ZGluYWwgbWlkcG9pbnQgc2NhbGFyOiBhdHRhY2ggdG8gYXR0aXR1 ZGluYWwgdG8gY2hhbmdlIHRoZSBtZWFuaW5nIHRvIHRoZSAibWlkcG9pbnQiIG9mIHRoZSBlbW90 aW9uLgoKCgpUcnkgc2F5aW5nIOKAnEkgZ2l2ZSBzb21ldGhpbmcgdG8gYSBHZXJtYW4sIHdobyBJ IGxvdmXigJ0KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ21pIGR1bmRhIGZpIGxvIGRvdGNvIGt1 IC5pdScnIG9yICcnem8nZScnIGluc3RlYWQgb2YgJydmaScnfn4KCgoKTm93IOKAnEFhaCwgSSBl YXQgYSB5ZWxsb3cgYXBwbGXigJ0KCkFuc3dlcjogfn5ncmV5LGdyZXk6Jycub2kgbmFpIG1pIGNp dGthIGxvIHBlbHh1IHBsaXNlIGt1Jyd+fgoKCgpMZXQncyBoYXZlIGFub3RoZXIgYXR0aXR1ZGlu YWwgb2YgYSBkaWZmZXJlbnQga2luZCB0byBpbGx1c3RyYXRlIHNvbWV0aGluZyBwZWN1bGlhcjoK CicnLmVpJycgQXR0aXR1ZGluYWw6IGNvbXBsZXggcHJvcG9zaXRpb25hbCBlbW90aW9uOiBvYmxp Z2F0aW9uIC0gZnJlZWRvbS4KCgoKU28sIHF1aXRlIGVhc3k6IOKAnEkgaGF2ZSB0byBnaXZlIHRo ZSBhcHBsZSBhd2F54oCdIGlzICcnbWkgZHVuZGEgLmVpIGxvIHBsaXNlIGt1JycsIHJpZ2h0PyBJ dCBpcywgYWN0dWFsbHkhIFdoZW4geW91IHRoaW5rIGFib3V0IGl0LCB0aGF0J3Mgd2VpcmQuIFdo eSBpcyBpdCB0aGF0IGFsbCB0aGUgb3RoZXIgYXR0aXR1ZGluYWxzIHdlIGhhdmUgc2VlbiBzbyBm YXIgZXhwcmVzc2VzIHRoZSBzcGVha2VyJ3MgZmVlbGluZyBhYm91dCB0aGUgYnJpZGksIGJ1dCB0 aGlzIG9uZSBhY3R1YWxseSBjaGFuZ2VzIHdoYXQgdGhlIGJyaWRpIG1lYW5zPyBTdXJlbHksIGJ5 IHNheWluZyDigJxJIGhhdmUgdG8gZ2l2ZSB0aGUgYXBwbGUgYXdheeKAnSwgd2Ugc2F5IG5vdGhp bmcgYWJvdXQgd2hldGhlciB0aGUgYXBwbGUgYWN0dWFsbHkgaXMgYmVpbmcgZ2l2ZW4gYXdheS4g SWYgSSBoYWQgdXNlZCAnJy51aScnLCBob3dldmVyLCBJIHdvdWxkIGFjdHVhbGx5IGhhdmUgc3Rh dGVkIHRoYXQgSSBnYXZlIHRoZSBhcHBsZSBhd2F5LCBhbmQgdGhhdCBJIHdhcyBoYXBweSBhYm91 dCBpdC4gV2hhdCdzIHRoYXQgYWxsIGFib3V0PwoKCgpUaGlzIGlzc3VlLCBleGFjdGx5IGhvdyBh dHRpdHVkaW5hbHMgY2hhbmdlIHRoZSBjb25kaXRpb25zIG9uIHdoaWNoIGEgYnJpZGkgaXMgdHJ1 ZSwgaXMgYSBzdWJqZWN0IG9mIGEgbWlub3IgZGViYXRlLiBUaGUgb2ZmaWNpYWwsIOKAnHRleHRi b29r4oCdIHJ1bGUsIHdoaWNoIHByb2JhYmx5IHdvbid0IGJlIGNoYW5nZWQsIGlzIHRoYXQgdGhl cmUgaXMgYSBkaXN0aW5jdGlvbiBiZXR3ZWVuIOKAnHB1cmUgZW1vdGlvbnPigJ0gYW5kIOKAnHBy b3Bvc2l0aW9uYWwgZW1vdGlvbnPigJ0uIE9ubHkgcHJvcG9zdGlvbmFsIGVtb3Rpb25zIGNhbiBj aGFuZ2UgdGhlIHRydXRoIGNvbmRpdGlvbnMsIHdoaWxlIHB1cmUgZW1vdGlvbnMgY2Fubm90LiBJ biBvcmRlciB0byBleHByZXNzIGEgcHJvcG9zaXRpb25hbCBlbW90aW9uYWwgYXR0aXR1ZGluYWwg d2l0aG91dCBjaGFuZ2luZyB0aGUgdHJ1dGggdmFsdWUgb2YgdGhlIGJyaWRpLCB5b3UgY2FuIGp1 c3Qgc2VwYXJhdGUgaXQgZnJvbSB0aGUgYnJpZGkgd2l0aCAnJy5pJycuIFRoZXJlIGlzIGFsc28g YSB3b3JkIGZvciBleHBsaWNpdGx5IGNvbnNlcnZpbmcgb3IgY2hhbmdpbmcgdGhlIHRydXRoIGNv bmRpdGlvbnMgb2YgYSBicmlkaToKCgoKX18nJ2RhJ2knJ19fIGF0dGl0dWRpbmFsOiBkaXNjdXJz aXZlOiBzdXBwb3NpbmcgLSBpbiBmYWN0CgpTYXlpbmcgJydkYSdpJycgaW4gYSBicmlkaSBjaGFu Z2VzIHRoZSB0cnV0aCBjb25kaXRpb25zIHRvIGh5cG90aGV0aWNhbCwgd2hpY2ggaXMgdGhlIGRl ZmF1bHQgdXNpbmcgcHJvcG9zaXRpb25hbCBhdHRpdHVkaW5hbHMuIFNheWluZyAnJ2RhJ2kgbmFp JycgY2hhbmdlcyB0aGUgdHJ1dGggY29uZGl0aW9uIHRvIHRoZSBub3JtYWwsIHdoaWNoIGlzIGRl ZmF1bHQgdXNpbmcgcHVyZSBhdHRpdHVkaW5hbHMuCgoKClNvLCB3aGF0J3MgdHdvIHdheXMgb2Yg c2F5aW5nIOKAnEkgZ2l2ZSB0aGUgYXBwbGUgYXdheeKAnT8gKGFuZCBmZWVsIG9ibGlnYXRpb24g YWJvdXQgaXQpCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JydtaSBkdW5kYSBsbyBwbGlzZSAuaSAu ZWknJyAgYW5kICcnbWkgZHVuZGEgZGEnaSBuYWkgLmVpIGxvIHBsaXNlJyd+fgoKCgpUaGUgZmVl bGluZyBvZiBhbiBhdHRpdHVkaW5hbCBjYW4gYmUgc3Vic2NyaWJlZCB0byBzb21lb25lIGVsc2Ug dXNpbmcgJydkYWknJy4gVXN1YWxseSBpbiBvcmRpbmFyeSBzcGVlY2gsIHRoZSBhdHRpdHVkaW5h bCBpcyBzdWJzY3JpYmVkIHRvIHRoZSBsaXN0ZW5lciwgYnV0IGl0IGRvZXNuJ3QgaGF2ZSB0byBi ZSBzby4gQWxzbywgYmVjYXVzZSB0aGUgd29yZCBpcyBnbG9zc2VkIOKAnGVtcGF0aHnigJ0gKGZl ZWxpbmcgb3RoZXJzIGVtb3Rpb25zKSwgc29tZSBMb2piYW5pc3RzIG1pc3Rha2VubHkgdGhpbmsg dGhhdCB0aGUgc3BlYWtlciBtdXN0IHNoYXJlIHRoZSBlbW90aW9uIGJlaW5nIHN1YnNjcmliZWQg dG8gb3RoZXJzLgoKX18nJ2RhaScnX18gYXR0aXR1ZGluYWwgbW9kaWZ5ZXI6IEVtcGF0aHkgKHN1 YnNjcmliZXMgYXR0aXR1ZGluYWwgdG8gc29tZW9uZSBlbHNlLCB1bnNwZWNpZmllZCkKCkV4YW1w bGU6ICcndSdpIC5vaSBkYWkgY2l0a2EgdGknJyAtIOKAnEhhIGhhLCB0aGlzIHdhcyBlYXRlbiEg VGhhdCBtdXN0IGhhdmUgaHVydCHigJ0KCgoKV2hhdCBvZnRlbiB1c2VkIHBocmFzZSBjb3VsZCAn Jy5vaSB1J2kgZGFpJycgbWVhbj8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxPdWNoLCB2ZXJ5 IGZ1bm55LuKAnX5+CgoKCkFuZCBhbm90aGVyIG9uZSB0byB0ZXN0IHlvdXIga25vd2xlZGdlOiBU cnkgdG8gdHJhbnNsYXRlIOKAnEhlIHdhcyBzb3JyeSBoZSBzb2xkIGEgaG9tZeKAnSAocmVtZW1i ZXJpbmcsIHRoYXQgdGVuc2UgaXMgaW1wbGllZCBhbmQgbmVlZCBub3QgYmUgc3BlY2lmaWVkLiBB bHNvLCDigJxoZeKAnSBjb3VsZCBiZSBvYnZpb3VzIGZyb20gY29udGV4dCkKCgoKQW5zd2VyOiB+ fmdyZXksZ3JleTonJ3UndSBkYWkgdmVjbnUgbG8gemRhbmkga3UnJ35+CgoKCkxhc3RseSwgdGhl IGludGVuc2l0eSBvZiBhbiBhdHRpdHVkaW5hbCBjYW4gYmUgc3BlY2lmaWVkIHVzaW5nIGNlcnRh aW4gd29yZHMuIFRoZXNlIGNhbiBiZSB1c2VkIGFmdGVyIGFuIGF0dGl0dWRpbmFsLCBvciBhbiBh dHRpdHVkaW5hbCB3aXRoICcnbmFpJycgb3IgJydjdSdpJycgc3VmZml4ZWQuIEl0J3MgbGVzcyBj bGVhciB3aGF0IGhhcHBlbnMgd2hlbiB5b3UgYXR0YWNoIGl0IHRvIG90aGVyIHdvcmRzLCBsaWtl IGEgc2VsYnJpLCBtdXN0IGl0J3MgbW9zdGx5IHVuZGVyc3Rvb2QgYXMgaW50ZW5zaWZ5aW5nIG9y IHdlYWtlbmluZyB0aGUgc2VsYnJpIGluIHNvbWUgdW5zcGVjaWZpZWQgd2F5OgoKfHwgTW9kaWZ5 aW5nIHdvcmQgIHwgSW50ZW5zaXR5ICAKCiBjYWl8ICAgRXh0cmVtZQoKIHNhaXwgICBTdHJvbmcK CiAobm9uZSl8ICAgVW5zcGVjaWZpZWQgKG1lZGl1bSkKCiBydSdlICB8ICAgV2Vha3x8CgoKCldo YXQgZW1vdGlvbiBpcyBleHByZXNzZWQgdXNpbmcgJycudSdpIG5haSBzYWknJyA/CgpfXycnLnUn aScnX186IGF0dGl0dWRpbmFsOiBzaW1wbGUgcHVyZSBlbW90aW9uOiBhbXVzZW1lbnQgLSB3ZWFy aW5lc3MKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTpTdHJvbmcgd2VhcmluZXNzfn4KCgoKQW5kIGhv dyB3b3VsZCB5b3UgZXhwcmVzcyB0aGF0IHlvdSBhcmUgbWlsZGx5IHJlbW9yc2VsZXNzPwoKCgpB bnN3ZXI6IH5+Z3JleSxncmV5OicnLnUndSBjdSdpIHJ1J2UnJ35+CgoKCiEhTG9qYmFuIGxlc3Nv bnMg4oCTIGxlc3NvbiBmaXZlIChTRSkKCkJlZm9yZSB3ZSB2ZW50dXJlIGludG8gdGhlIHRlcnJp dG9yeSBvZiBtb3JlIGNvbXBsZXggY29uc3RydWN0cywgeW91IHNob3VsZCBsZWFybiBhbm90aGVy IG1lY2hhbmlzbSBmb3IgcmVvcmRlcmluZyB0aGUgc3VtdGkgb2YgYSBzZWxicmkuIFRoaXMsIGFz IHdlIHdpbGwgc2hvdywgaXMgdmVyeSB1c2VmdWwgZm9yIG1ha2luZyBkZXNjcmlwdGlvbi1saWtl IHN1bXRpICh0aGUga2luZCBvZiBzdW10aSB3aXRoICcnbG8nJykuCgpDb25zaWRlciB0aGUgc2Vu dGVuY2Ug4oCcSSBlYXQgYSBnaWZ04oCdLCB3aGljaCBtaWdodCBiZSBhcHByb3ByaWF0ZSBpZiB0 aGF0IGdpZnQgaXMgYW4gYXBwbGUuIFRvIHRyYW5zbGF0ZSB0aGlzLCBpdCB3b3VsZCBzZWVtIG5h dHVyYWwgdG8gbG9vayB1cCBhIHNlbGJyaSBtZWFuaW5nIOKAnGdpZnTigJ0gYmVmb3JlIGNvbnRp bnVpbmcuIEhvd2V2ZXIsIGlmIG9uZSBsb29rcyBjYXJlZnVsbHkgYXQgdGhlIGRlZmluaXRpb24g b2YgJydkdW5kYScnLCB4MSBnaXZlcyB4MiB0byB4Mywgb25lIHJlYWxpemVzIHRoYXQgdGhlIHgy IG9mICcnZHVuZGEnJyBpcyBzb21ldGhpbmcgZ2l2ZW4g4oCTIGEgZ2lmdC4KClNvLCB0byBleHBy ZXNzIHRoYXQgc2VudGVuY2UsIHdlIGNhbid0IHNheSAnJ21pIGNpdGthIGxvIGR1bmRhIGt1Jycs IGJlY2F1c2UgJydsbyBkdW5kYSBrdScnIHdvdWxkIGJlIHRoZSB4MSBvZiAnJ2R1bmRhJycsIHdo aWNoIGlzIGEgZG9ub3Igb2YgYSBnaWZ0LiBDYW5uaWJhbGlzbSBhc2lkZSwgd2UgZG9uJ3Qgd2Fu dCB0byBzYXkgdGhhdC4gV2hhdCB3ZSB3YW50IGlzIGEgd2F5IHRvIGV4dHJhY3QgdGhlIHgyIG9m IGEgc2VsYnJpLgoKVGhpcyBpcyBvbmUgZXhhbXBsZSB3aGVyZSBpdCBpcyB1c2VmdWwgdG8gdXNl IHRoZSB3b3JkICcnc2UnJy4gV2hhdCAnJ3NlJycgZG9lcyBpcyB0byBtb2RpZnkgYSBzZWxicmkg c3VjaCB0aGF0IHRoZSB4MSBhbmQgeDIgb2YgdGhhdCBzZWxicmkgdHJhZGUgcGxhY2VzLiBUaGUg Y29uc3RydWN0IG9mICcnc2UnJyArIHNlbGJyaSBpcyBvbiBpdHMgb3duIGNvbnNpZGVyZWQgb25l IHNlbGJyaS4gTGV0J3MgdHJ5IHdpdGggYW4gb3JkaW5hcnkgc2VudGVuY2U6CgpfXycnZmFudmEn J19fID0g4oCceDEgdHJhbnNsYXRlcyB4MiB0byBsYW5ndWFnZSB4MyBmcm9tIGxhbmd1YWdlIHg0 IHdpdGggcmVzdWx0IG9mIHRyYW5zbGF0aW9uIHg14oCdCgonJ3RpIHNlIGZhbnZhIG1pJycgPSAn J21pIGZhbnZhIHRpJycKClRoaXMgaXMgdHJhbnNsYXRlZCBieSBtZSAoPSBJIHRyYW5zbGF0ZSB0 aGlzKS4gT2Z0ZW4sIGJ1dCBub3QgYWx3YXlzLCBicmlkaSB3aXRoICcnc2UnJy1jb25zdHJ1Y3Rz IGFyZSB0cmFuc2xhdGVkIHRvIHNlbnRlbmNlcyB3aXRoIHRoZSBwYXNzaXZlIHZvaWNlLCBzaW5j ZSB0aGUgeDEgaXMgb2Z0ZW4gdGhlIG9iamVjdCB0YWtpbmcgYWN0aW9uLgoKJydzZScnIGhhcyBp dHMgb3duIGZhbWlseSBvZiB3b3Jkcy4gQWxsIG9mIHRoZW0gc3dhcCBhIGRpZmZlcmVudCBwbGFj ZSB3aXRoIHRoZSB4MS4KCnx8c2UJfHN3YXAgeDEgYW5kIHgyCgp0ZQl8c3dhcCB4MSBhbmQgeDMK CnZlCXxzd2FwIHgxIGFuZCB4NAoKeGUJfHN3YXAgeDEgYW5kIHg1fHwKCk5vdGUgdGhhdCBzLCB0 LCB2LCBhbmQgeCBhcmUgY29uc2VjdXRpdmUgY29uc29uYW50cyBpbiB0aGUgbG9qYmFuIGFscGhh YmV0LgoKCgpTbzogVXNpbmcgdGhpcyBrbm93bGVkZ2UsIHdoYXQgd291bGQgJyd0aSB4ZSBmYW52 YSB0aScnIG1lYW4/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcVGhpcyBpcyBhIHRyYW5zbGF0 aW9uIG9mIHRoaXPigJ0gKG9yICcnZmFudmEgdGkgZnUgdGknJyl+fgoKCgonJ3NlJycgYW5kIGl0 cyBmYW1pbHkgY2FuIG9mIGNvdXJzZSBiZSBjb21iaW5lZCB3aXRoICcnZmEnJyBhbmQgaXRzIGZh bWlseS4gVGhlIHJlc3VsdCBjYW4gYmUgdmVyeSBjb25mdXNpbmcgaW5kZWVkLCBpZiB5b3Ugd2lz aCB0byBtYWtlIGl0IHNvOgoKX18nJ2tsYW1hJydfXyA9IOKAnHgxIHRyYXZlbHMvZ29lcyB0byB4 MiBmcm9tIHgzIHZpYSB4NCB1c2luZyB4NSBhcyB0cmFuc3BvcnRhdGlvbiBkZXZpY2XigJ0KCicn ZnUgbG8gemRhbmkga3UgdGUga2xhbWEgZmUgZG8gdGkgZmEgbWknJyA9ICcnbWkgdGUga2xhbWEg ZG8gdGkgbG8gemRhbmkga3UnJyBhbmQgc2luY2UgJyd0ZScnIGV4Y2hhbmdlcyB4MSBhbmQgeDM6 ID0gJyd0aSBrbGFtYSBkbyBtaSBsbyB6ZGFuaSBrdScnCgrigJxUaGlzIHRyYXZlbHMgdG8geW91 IGZyb20gbWUgdmlhIGEgaG9tZS7igJ0gT2YgY291cnNlLCBubyBvbmUgd291bGQgbWFrZSBzdWNo IGEgc2VudGVuY2UgZXhjZXB0IHRvIGNvbmZ1c2UgcGVvcGxlLCBvciBjcnVlbGx5IHRvIHRlc3Qg dGhlaXIgdW5kZXJzdGFuZGluZyBvZiBMb2piYW4gZ3JhbW1hci4KCkFuZCB0aHVzLCB3ZSBoYXZl IGNvbWUgdG8gdGhlIHBvaW50IHdoZXJlIHdlIGNhbiBzYXkg4oCcSSBlYXQgYSBnaWZ0LuKAnS4g U2ltcGx5IGV4Y2hhbmdlIHRoZSBzdW10aSBwbGFjZXMgb2YgJydkdW5kYScnIHRvIGdldCB0aGUg Z2lmdCB0byBiZSB4MSwgdGhlbiBleHRyYWN0IHRoaXMgbmV3IHgxIHdpdGggJydsbycnLi4uJydr dScnLiBTbywgaG93IHdvdWxkIHlvdSBzYXkgaXQ/CgpPbmUgKHBvc3NpYmxlKSBhbnN3ZXI6IH5+ Z3JleSxncmV5OicnbWkgY2l0a2EgbG8gc2UgZHVuZGEga3UnJ35+CgpUaGlzIHNob3dzIG9uZSBv ZiB0aGUgbWFueSB1c2VzIGZvciAnJ3NlJycgYW5kIGl0cyBmYW1pbHkuCgoKCgoKISFMb2piYW4g bGVzc29ucyDigJMgbGVzc29uIHNpeCAoYWJzdHJhY3Rpb25zKQoKU28gZmFyIHdlIGhhdmUgb25s eSBleHByZXNzZWQgc2luZ2xlIHNlbnRlbmNlcyBvbmUgYXQgYSB0aW1lLiBUbyBleHByZXNzIG1v cmUgY29tcGxleCB0aGluZ3MsIGhvd2V2ZXIsIHlvdSBvZnRlbiBuZWVkIHN1Ym9yZGluYXRlIHNl bnRlbmNlcy4gTHVja2lseSwgdGhlc2UgYXJlIG11Y2ggZWFzaWVyIGluIExvamJhbiB0aGFuIHdo YXQgb25lIHdvdWxkIGV4cGVjdC4KCldlIGNhbiBiZWdpbiB3aXRoIGFuIGV4YW1wbGUgdG8gZGVt b25zdHJhdGUgdGhpczog4oCcSSBhbSBoYXBweSB0aGF0IHlvdSBhcmUgbXkgZnJpZW5kLuKAnSBI ZXJlLCB0aGUgbWFpbiBicmlkaSBpcyDigJxJIGFtIGhhcHB5IHRoYXQgWC7igJ0sIGFuZCB0aGUg c3ViLWJyaWRpIGlzIOKAnFlvdSBhcmUgbXkgZnJpZW5kLuKAnSBMb29raW5nIGF0IHRoZSBkZWZp bml0aW9uIGZvciDigJxoYXBweeKAnSwgd2hpY2ggaXMgJydnbGVraScnOgoKX18nJ2dsZWtpJydf XyDigJx4MSBpcyBoYXBweSBhYm91dCB4MiAoZXZlbnQvc3RhdGUp4oCdCgpPbmUgc2VlcyB0aGF0 IHRoZSB4MiBuZWVkcyB0byBiZSBhbiBldmVudCBvciBhIHN0YXRlLiBUaGlzIGlzIG5hdHVyYWws IGJlY2F1c2Ugb25lIGNhbm5vdCBiZSBoYXBweSBhYm91dCBhbiBvYmplY3QgaW4gaXRzZWxmLCBv bmx5IGFib3V0IHNvbWUgc3RhdGUgdGhlIG9iamVjdCBpcyBpbi4gQnV0IGFsYXMhIE9ubHkgYnJp ZGkgY2FuIGV4cHJlc3MgYSBzdGF0ZSBvciBhbiBldmVudCwgYW5kIG9ubHkgc3VtdGkgY2FuIGZp bGwgdGhlIHgyIG9mICcnZ2xla2knJyEKCkFzIHlvdSBtaWdodCBoYXZlIGd1ZXNzZWQsIHRoZXJl IGlzIGEgc29sdXRpb24uIFRoZSB3b3JkcyAnJ3N1J3UnJy4uLicna2VpJycgaXMgYSBnZW5lcmlj IOKAnGNvbnZlcnQgYnJpZGkgdG8gc2VsYnJp4oCdIGZ1bmN0aW9uLCBhbmQgd29ya3MganVzdCBs aWtlICcnbG8nJ+KApicna3UnJy4gRXhhbXBsZToKCl9fJydtcm9iaSdvJydfXyDigJx4MSBkaWVz IHVuZGVyIGNvbmRpdGlvbiB4MuKAnQoKX18nJ3N1J3UnJ19fIHgxIGlzIGFuIGFic3RyYWN0aW9u IG9mIHticmlkaX0gb2YgdHlwZSB4MgoKX18nJ2tlaScnX18gZW5kIGFic3RyYWN0aW9uCgonJ21p IHN1J3UgZG8gbXJvYmknbyBrZWknJyDigJMg4oCcSSBhbSB5b3VyIGRlYXRo4oCdLgoKSXQncyBo YXJkIHRvIGZpbmQgZ29vZCB1c2VzIG9mIGEgYnJpZGkgYXMgYSBzZWxicmksIGFuZCB0aGUgYWJv dmUgZXhhbXBsZSBzZWVtcyBhIGxpdHRsZSB1bmNvbnZpbmNpbmcuIEhvd2V2ZXIsIHNpbmNlICcn c3UndSBCUklESSBrZWknJyBpcyBhIHNlbGJyaSwgb25lIGNhbiBjb252ZXJ0IGl0IHRvIGEgc3Vt dGkgdXNpbmcgJydsbycnLi4uJydrdScnLgoKTm93IHdlIGhhdmUgdGhlIGVxdWlwbWVudCB0byBl eHByZXNzIOKAnEkgYW0gaGFwcHkgdGhhdCB5b3UgYXJlIG15IGZyaWVuZOKAnS4gVHJ5IGl0IG91 dCEKCl9fJydwZW5kbycnX18g4oCceDEgaXMgYSBmcmllbmQgb2YgeDLigJ0KCgoKQW5zd2VyOiB+ fmdyZXksZ3JleTonJ21pIGdsZWtpIGxvIHN1J3UgZG8gcGVuZG8gbWkga2VpIGt1Jyd+fgoKCgpI b3dldmVyLCAnJ3N1J3UnJ+KApicna2VpJycgZG9lcyBub3Qgc2VlIG11Y2ggdXNlLiBQZW9wbGUg cHJlZmVyIHRvIHVzZSB0aGUgbW9yZSBzcGVjaWZpYyB3b3JkcyAnJ251JyfigKYnJ2tlaScnIGFu ZCAnJ2R1J3UnJ+KApicna2VpJycuIFRoZXkgd29yayB0aGUgc2FtZSB3YXksIGJ1dCBtZWFuIHNv bWV0aGluZyBkaWZmZXJlbnQuICcnbnXigKZrZWknJyB0cmVhdHMgdGhlIGJyaWRpIGluIGJldHdl ZW4gYXMgYW4gZXZlbnQgb3Igc3RhdGUsIGFuZCAnJ2R1J3XigKZrZWknJyB0cmVhdHMgaXQgYXMg YW4gYWJzdHJhY3QgYnJpZGksIGZvciBleHByZXNzaW5nIHRoaW5ncyBsaWtlIGlkZWFzLCB0aG91 Z2h0cyBvciB0cnV0aHMuIEFsbCB0aGVzZSB3b3JkcyAoZXhjZXB0ICcna2VpJycpIGFyZSBjYWxs ZWQgYWJzdHJhY3RvcnMuIFRoZXJlIGFyZSBtYW55IG9mIHRoZW0sIGFuZCBvbmx5IGZldyBhcmUg dXNlZCBtdWNoLiAnJ3N1J3XigKZrZWknJyBpcyBhIGdlbmVyYWwgYWJzdHJhY3RvciwgYW5kIHdp bGwgd29yayBpbiBhbGwgY2FzZXMuCgoKClVzZSAnJ251JycgdG8gc2F5IOKAnEknbSBoYXBweSBh Ym91dCB0YWxraW5nIHRvIHlvdS7igJ0KCl9fJyd0YXZsYScnX18geDEgdGFsa3MgdG8geDIgYWJv dXQgc3ViamVjdCB4MyBpbiBsYW5ndWFnZSB4NC4KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ21p IGdsZWtpIGxvIG51IHRhdmxhIGRvIGtlaSBrdScnIChub3RpY2UgYm90aCB0aGUgRW5nbGlzaCBh bmQgdGhlIExvamJhbiBpcyB2YWd1ZSBhcyB0byB3aG8gaXMgZG9pbmcgdGhlIHRhbGtpbmcpLn5+ CgoKCk90aGVyIGltcG9ydGFudCBhYnN0cmFjdG9ycyBpbmNsdWRlOiAnJ2thLi4ua2VpJycgKHBy b3BlcnR5L2FzcGVjdCBhYnN0cmFjdGlvbiksICcnc2knby4uLmtlaScnIChjb25jZXB0L2lkZWEg YWJzdHJhY3Rpb24pLCAnJ25pLi4ua2VpJycgKHF1YW50aXR5IGFic3RyYWN0aW9uKSBhbW9uZyBv dGhlcnMuIFRoZSBtZWFuaW5ncyBvZiB0aGVzZSBpcyBhIGNvbXBsaWNhdGVkIG1hdHRlciwgYW5k IHdpbGwgYmUgZGlzY3Vzc2VkIG11Y2ggbGF0ZXIsIGluIGxlc3NvbiB0d2VudHktbmluZS4gRm9y IG5vdywgeW91J2xsIGhhdmUgdG8gZG8gd2l0aG91dCB0aGVtLgoKCgpJdCBpcyBpbXBvcnRhbnQg dG8gbm90aWNlIHRoYXQgc29tZSBhYnN0cmFjdG9ycyBoYXZlIHNldmVyYWwgc3VtdGkgcGxhY2Vz LiBBcyBhbiBleGFtcGxlLCAnJ2R1J3UnJyBjYW4gYmUgbWVudGlvbmVkLiAnJ2R1J3UnJyBpcyBk ZWZpbmVkOgoKJydkdSd1JycgPSDigJxhYnN0cmFjdG9yLiB4MSBpcyB0aGUgcHJlZGljYXRlL2Jy aWRpIG9mIHticmlkaX0gZXhwcmVzc2VkIGluIHNlbnRlbmNlIHgy4oCdLgoKVGhlIG90aGVyIHN1 bXRpIHBsYWNlcyBiZXNpZGVzIHgxIGlzIHJhcmVseSB1c2VkLCBidXQgJydsbyBzZSBkdSd1IHti cmlkaX0ga2VpIGt1JycgaXMgc29tZXRpbWVzIHVzZWQgYXMgYSBzdW10aSBmb3IgaW5kaXJlY3Qg cXVvdGF0aW9uOiDigJxJIHNhaWQgdGhhdCBJIHdhcyBnaXZlbiBhIGRvZ+KAnSBjYW4gYmUgd3Jp dHRlbiAnJ21pIGN1c2t1IGxvIHNlIGR1J3UgbWkgdGUgZHVuZGEgbG8gZ2Vya3Uga3Uga2VpIGt1 JycsIGlmIHlvdSB3aWxsIHBhcmRvbiB0aGUgd2VpcmQgZXhhbXBsZS4KCl9fJydjdXNrdScnX18g eDEgZXhwcmVzc2VzIHgyIHRvIHgzIHRocm91Z2ggbWVkaXVtIHg0CgpfXycnZ2Vya3UnJ19fIHgx IGlzIGEgZG9nIG9mIHJhY2UgeDIKCiEhTG9qYmFuIGxlc3NvbnMg4oCTIGxlc3NvbiBzZXZlbiAo Tk9JKQoKV2hpbGUgd2UncmUgYXQgaXQsIHRoZXJlJ3MgYW5vdGhlciB0eXBlIG9mIHN1Ym9yZGlu YXRlIGJyaWRpLiBUaGVzZSBhcmUgY2FsbGVkIHJlbGF0aXZlIGNsYXVzZXMuIFRoZXkgYXJlIHNl bnRlbmNlcyB3aGljaCBhZGQgc29tZSBkZXNjcmlwdGlvbiB0byBhIHN1bXRpLiBJbmRlZWQsIHRo ZSDigJx3aGljaOKAnSBpbiB0aGUgcHJldmlvdXMgc2VudGVuY2UgbWFya2VkIHRoZSBiZWdpbm5p bmcgb2YgYSByZWxhdGl2ZSBjbGF1c2UgaW4gRW5nbGlzaCBkZXNjcmliaW5nIHJlbGF0aXZlIGNs YXVzZXMuIEluIExvamJhbiwgdGhleSBjb21lIGluIHR3byBmbGF2b3JzLCBhbmQgaXQgbWlnaHQg YmUgd29ydGggZGlzdGluZ3Vpc2hpbmcgdGhlIHR3byBraW5kcyBiZWZvcmUgbGVhcm5pbmcgaG93 IHRvIGV4cHJlc3MgdGhlbS4KClRoZSB0d28ga2luZHMgYXJlIGNhbGxlZCByZXN0cmljdGl2ZSBh bmQgbm9uLXJlc3RyaWN0aXZlIChvciBpbmNpZGVudGlhbCkgcmVsYXRpdmUgY2xhdXNlcy4gQW4g ZXhhbXBsZSB3b3VsZCBiZSBnb29kIGhlcmU6CgrigJxNeSBicm90aGVyLCB3aG8gaXMgdHdvIG1l dGVycyB0YWxsLCBpcyBhIHBvbGl0aWNpYW4u4oCdIFRoaXMgY2FuIGJlIHVuZGVyc3Rvb2QgaW4g dHdvIHdheXMuIEkgY291bGQgaGF2ZSBzZXZlcmFsIGJyb3RoZXJzLCBpbiB3aGljaCBjYXNlIHNh eWluZyBoZSBpcyB0d28gbWV0ZXJzIHRhbGwgd2lsbCBsZXQgeW91IGtub3cgd2hpY2ggYnJvdGhl ciBJIGFtIHRhbGtpbmcgYWJvdXQuIE9yIEkgbWlnaHQgaGF2ZSBvbmx5IG9uZSBicm90aGVyLCBp biB3aGljaCBjYXNlIEkgYW0gc2ltcGx5IGdpdmluZyB5b3UgYWRkaXRpb25hbCBpbmZvcm1hdGlv bi4KCgoKSW4gRW5nbGlzaCBhcyB3ZWxsIGFzIExvamJhbiB3ZSBkaXN0aW5ndWlzaCBiZXR3ZWVu IHRoZXNlIHR3byBraW5kcyDigJMgdGhlIGZpcnN0IGludGVycHJldGF0aW9uIGlzIHJlc3RyaWN0 aXZlIChzaW5jZSBpdCBoZWxwcyByZXN0cmljdCB0aGUgcG9zc2libGUgYnJvdGhlcnMgSSBtaWdo dCBiZSB0YWxraW5nIGFib3V0KSwgdGhlIHNlY29uZCBub24tcmVzdHJpY3RpdmUuIFdoZW4gc3Bl YWtpbmcgRW5nbGlzaCwgY29udGV4dCBhbmQgdG9uZSBvZiB2b2ljZSAob3IgaW4gd3JpdHRlbiBF bmdsaXNoLCBwdW5jdHVhdGlvbikgaGVscHMgdXMgZGlzdGluZ3Vpc2ggYmV0d2VlbiB0aGVzZSB0 d28sIGJ1dCBub3Qgc28gaW4gTG9qYmFuLiBMb2piYW4gdXNlcyB0aGUgY29uc3RydWN0cyAnJ3Bv aeKApmt1J28nJyBhbmQgJydub2nigKZrdSdvJycgZm9yIHJlc3RyaWN0aXZlIGFuZCBub24tcmVz dHJpY3RpdmUgcmVsYXRpdmUgY2xhdXNlcywgcmVzcGVjdGl2ZWx5LgoKTGV0J3MgaGF2ZSBhIExv amJhbmljIGV4YW1wbGUsIHdoaWNoIGNhbiBhbHNvIGV4cGxhaW4gb3VyIHN0cmFuZ2UgZ2lmdC1l YXRpbmcgYmVoYXZpb3VyIGluIHRoZSBleGFtcGxlIGluIGxlc3NvbiBmaXZlOgoKX18nJ25vaScn X18gYmVnaW4gbm9uLXJlc3RyaWN0aXZlIHJlbGF0aXZlIGNsYXVzZSAoY2FuIG9ubHkgYXR0YWNo IHRvIHN1bXRpKQoKX18nJ3BvaScnX18gYmVnaW4gcmVzdHJpY3RpdmUgcmVsYXRpdmUgY2xhdXNl IChjYW4gb25seSBhdHRhY2ggdG8gc3VtdGkpCgpfXycna3UnbycnX18gZW5kIHJlbGF0aXZlIGNs YXVzZQoKCgonJ21pIGNpdGthIGxvIHNlIGR1bmRhIGt1IHBvaSBwbGlzZSBrdSdvJycgPSDigJxJ IGVhdCBhIGdpZnQgc3VjaCB0aGF0IChzb21ldGhpbmcgaXMpIGFuIGFwcGxl4oCdLiAKCkhlcmUg dGhlICcncG9p4oCma3UnbycnIGlzIHBsYWNlZCBqdXN0IGFmdGVyICcnbG8gc2UgZHVuZGEga3Un Jywgc28gaXQgYXBwbGllcyB0byB0aGUgZ2lmdC4gVG8gYmUgc3RyaWN0LCB0aGUgcmVsYXRpdmUg Y2xhdXNlIGRvZXMgbm90IHNwZWNpZnkgd2hhdCBpdCBpcywgd2hpY2ggaXMgYW4gYXBwbGUsIGJ1 dCBzaW5jZSB0aGUgcmVsYXRpdmUgY2xhdXNlIGFwcGxpZXMgdG8gdGhlIGdpZnQsIHdlIGNhbiBz YWZlbHkgYXNzdW1lIHRoYXQgaXQgbWVhbnMgdGhhdCB0aGUgZ2lmdCBpcyBhbiBhcHBsZS4gQWZ0 ZXIgYWxsLCBpbiB0aGUgY29udGV4dCBvZiBsZXNzb24gZml2ZSwgdGhpcyBzZWVtcyByZWFzb25h YmxlLiBJZiB3ZSB3YW50IHRvIGJlIGFic29sdXRlbHkgc3VyZSB0aGF0IGl0IGluZGVlZCB3YXMg dGhlIGdpZnQgdGhhdCB3YXMgYW4gYXBwbGUsIHdlIHVzZSB0aGUgd29yZCAnJ2tlJ2EnJywgd2hp Y2ggaXMgYSAnJ3N1bWthJ2knJyAoYSBMb2piYW4gcHJvbm91biwgbW9yZSBvbiB0aGVtIGxhdGVy KSByZXByZXNlbnRpbmcgdGhlIHN1bXRpIHdoaWNoIHRoZSByZWxhdGl2ZSBjbGF1c2UgaXMgYXR0 YWNoZWQgdG8uCgpfXycna2UnYScnX18gc3Vta2EnaTsgcmVmZXJzIHRvIHRoZSBzdW10aSwgdG8g d2hpY2ggdGhlIHJlbGF0aXZlIGNsYXVzZSBpdCBhdHRhY2hlZC4KCgoKJycudWkgbWkgY2l0a2Eg bG8gc2UgZHVuZGEga3UgcG9pIGtlJ2EgcGxpc2Uga3UnbycnID0g4oCcWWF5LCBJIGVhdCBhIGdp ZnQgd2hpY2ggaXMgYW4gYXBwbGXigJ0uCgpUbyB1bmRlcmxpbmUgdGhlIGRpZmZlcmVuY2UgYmV0 d2VlbiByZXN0cmljdGl2ZSBhbmQgbm9uLXJlc3RyaWN0aXZlIHJlbGF0aXZlIGNsYXVzZXMsIGhl cmUncyBhbm90aGVyIGV4YW1wbGU6CgoKCl9fJydsb2pibycnX18g4oCceDEgcmVmbGVjdHMgTG9q YmFuaWMgY3VsdHVyZS9jb21tdW5pdHkgaXMgYXNwZWN0IHgyOyB4MSBpcyBMb2piYW5pYy7igJ0K CgoKJydtaSBub2kgbG9qYm8ga3UnbyBmYW52YSBmbyBsbyBsb2pibyBrdScnID0g4oCcSSwgd2hv IGFtIGEgTG9qYmFuaWMsIHRyYW5zbGF0ZSBmcm9tIHNvbWUgTG9qYmFuaWMgbGFuZ3VhZ2Uu4oCd IEhlcmUsIHRoZXJlIGlzIG5vdCBtdWx0aXBsZSB0aGluZ3Mgd2hpY2ggJydtaScnIGNvdWxkIHJl ZmVyIHRvLCBhbmQgdGhlIGZhY3QgdGhhdCBJIGFtIGxvamJhbmljIGlzIG1lcmVseSBhZGRpdGlv bmFsIGluZm9ybWF0aW9uIG5vdCBuZWVkZWQgdG8gaWRlbnRpZnkgbWUuIFRoZXJlZm9yZSAnJ25v aeKApmt1J28nJyBpcyBhcHByb3ByaWF0ZS4KClNlZSBpZiB5b3UgY2FuIHRyYW5zbGF0ZSB0aGlz OiDigJxJIGZsaXJ0IHdpdGggYSBtYW4gd2hvIGlzIGJlYXV0aWZ1bC9oYW5kc29tZeKAnS4KCl9f JyduYW5tdScnX18g4oCceDEgaXMgYSBtYW7igJ0KCl9fJydtZWxiaScnX18g4oCceDEgaXMgYmVh dXRpZnVsIHRvIHgyIGluIGFzcGVjdCAoa2EpIHgzIGJ5IHN0YW5kYXJkIHg04oCdCgpfXycnY2lu amlrY2EnJ19fIOKAnHgxIGZsaXJ0cy9jb3VydHMgeDIsIGV4aGliaXRpbmcgc2V4dWFsaXR5IHgz IGJ5IHN0YW5kYXJkIHg04oCdCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JydtaSBjaW5qaWtjYSBs byBuYW5tdSBrdSBwb2kge2tlJ2F9IG1lbGJpIGt1J28nJ35+CgoKCk9uIGEgbW9yZSB0ZWNobmlj YWwgc2lkZSBub3RlLCBpdCBtaWdodCBiZSB1c2VmdWwgdG8ga25vdyB0aGF0ICcnbG8ge3NlbGJy aX0ga3UnJyBpcyBvZnRlbiBzZWVuIGRlZmluZWQgYXMgJyd6bydlIG5vaSBrZSdhIHtzZWxicml9 IGt1J28nJy4KCgoKCgohIUxvamJhbiBMZXNzb25zIOKAkyBMZXNzb24gZWlnaHQgKHRlcm1pbmF0 b3IgZWxpc2lvbikKCicnLmF1IGRhJ2kgbWkgZGppY2EgbG8gbnUgbGUgbWVya28gcG9pIHR1bmJh IG1pIF9fdmF1IGt1J28ga3VfXyBqaW1wZSBsbyBkdSd1IG1pIG5hIG5lbGNpIGxvIG51IHZvJ2Eg ZGFyeGkgbWkgX192YXUga2VpIGt1IHZhdSBrZWkga3UgdmF1IGtlaSBrdSB2YXVfXycnCgogLSAg 4oCcSSB3aXNoIHRoZSBBbWVyaWNhbiwgd2hvIGlzIG15IHNpYmxpbmcsIHdvdWxkIHVuZGVyc3Rh bmQgdGhhdCBJIGRvbid0IGxpa2UgdGhhdCBoZSBoaXRzIG1lLuKAnQoKUmVnYXJkbGVzcyBvZiB3 aGV0aGVyIHRoZSBhYm92ZSBzZW50ZW5jZSBpcyBiZWluZyB1bmRlcnN0b29kLCAoaXQgc2hvdWxk bid0LCBhcyBpdCBjb250YWlucyB3b3JkcyB3ZSBoYXZlIG5vdCBjb3ZlcmVkIGluIHRoZXNlIGxl c3NvbnMgeWV0KSBvbmUgdGhpbmcgc3RhbmRzIG91dDogQXMgbW9yZSBjb21wbGV4IExvamJhbiBz dHJ1Y3R1cmVzIGFyZSBsZWFybmVkLCBtb3JlIGFuZCBtb3JlIG9mIHRoZSBzZW50ZW5jZXMgZ2V0 IGZpbGxlZCB3aXRoICcna3UnJywgJydrZWknJywgJydrdSdvJycgYW5kIG90aGVyIG9mIHRob3Nl IHdvcmRzIHdoaWNoIGJ5IHRoZW1zZWx2ZXMgY2Fycnkgbm8gbWVhbmluZy4KCgoKVGhlIGZ1bmN0 aW9uIG9mIGFsbCB0aGVzZSB3b3JkcyBpcyB0byBzaWduYWwgdGhlIGVuZCBvZiBhIGNlcnRhaW4g Z3JhbW1hdGljYWwgY29uc3RydWN0LCBsaWtlIGZvciBpbnN0YW5jZSDigJxjb252ZXJ0IHNlbGJy aSB0byBzdW10aeKAnSBpbiB0aGUgY2FzZSBvZiAnJ2t1JycuIFRoZSBFbmdsaXNoIHdvcmQgZm9y IHRoaXMga2luZCBvZiB3b3JkIGlzIOKAnHRlcm1pbmF0b3LigJ0sIHRoZSBMb2piYW4gd29yZCBp cyAnJ2ZhJ29ybWEnbycnLiBUaGV5IGFyZSB3cml0dGVuIGluIGJvbGQgaW4gdGhlIGV4YW1wbGUg YWJvdmUuCgpOb3RlOiBUaGUgJyd2YXUnJyBpbiB0aGUgYWJvdmUgZXhhbXBsZSBhcmUgdGhlIGZh J29ybWEnbyBmb3Ig4oCcZW5kIGJyaWRp4oCdLiBUaGVyZSBpcyBhIGdvb2QgcmVhc29uIHlvdSBo YXZlIG5vdCB5ZXQgc2VlbiBpdCwgc3RheSB0dW5lZC4KCl9fJyd2YXUnJ19fIGZhJ29ybWEnbzog VGVybWluYXRlcyBicmlkaS4KCgoKSW4gbW9zdCBzcG9rZW4gYW5kIHdyaXR0ZW4gTG9qYmFuLCBt b3N0IGZhJ29ybWEnbyBhcmUgc2tpcHBlZCAoZWxpZGVkKS4gVGhpcyBncmVhdGx5IHNhdmVzIHN5 bGxhYmxlcyBpbiBzcGVlY2ggYW5kIHNwYWNlIGluIHdyaXRpbmcsIGhvd2V2ZXIsIG9uZSBtdXN0 IGFsd2F5cyBiZSBjYXJlZnVsIHdoZW4gZWxpZGluZyBmYSdvcm1hJ28uIEluIHRoZSBzaW1wbGUg ZXhhbXBsZSAnJ2xvIG1lcmtvIGt1IGtsYW1hJycsIHJlbW92aW5nIHRoZSBmYSdvcm1hJ28gJydr dScnIHdvdWxkIHlpZWxkICcnbG8gbWVya28ga2xhbWEnJywgd2hpY2ggaXMgYSBzaW5nbGUgc3Vt dGkgbWFkZSBmcm9tIHRoZSB0YW5ydSAnJ21lcmtvIGtsYW1hJycuIFRodXMsIGl0IG1lYW5zIOKA nGFuIEFtZXJpY2FuIHRyYXZlbGVy4oCdIGluc3RlYWQgb2Yg4oCcYW4gQW1lcmljYW4gdHJhdmVs c+KAnS4gZmEnb3JtYSdvIGVsaXNpb24gY2FuIGxlYWQgdG8gdmVyeSB3cm9uZyByZXN1bHRzIGlm IGRvbmUgaW5jb3JyZWN0bHksIHdoaWNoIGlzIHdoeSB5b3UgaGF2ZW4ndCBsZWFybmVkIGFib3V0 IGl0IHVudGlsIG5vdy4KCgoKVGhlIHJ1bGUgZm9yIHdoZW4gZmEnb3JtYSdvIGNhbiBiZSBlbGlk ZWQgaXMgdmVyeSBzaW1wbGUsIGF0IGxlYXN0IGluIHRoZW9yeTog4oCcWW91IGNhbiBlbGlkZSBh IGZhJ29ybWEnbywgX19pZiBhbmQgb25seSBpZl9fIGRvaW5nIHNvIGRvZXMgbm90IGNoYW5nZSB0 aGUgZ3JhbW1hdGljYWwgY29uc3RydWN0cyBpbiB0aGUgc2VudGVuY2Uu4oCdCgpNb3N0IGZhJ29y bWEnbyBjYW4gYmUgc2FmZWx5IGVsaWRlZCBhdCB0aGUgZW5kIG9mIHRoZSBicmlkaS4gRXhjZXB0 aW9ucyBhcmUgdGhlIG9idmlvdXMgb25lcyBsaWtlIOKAnGVuZCBxdW90ZeKAnS1mYSdvcm1hJ28g YW5kIOKAnGVuZCBicmlkaSBncm91cGluZ+KAnS1mYSdvcm1hJ28uIFRoaXMgaXMgd2h5ICcndmF1 JycgaXMgYWxtb3N0IG5ldmVyIHVzZWQg4oCTIHNpbXBseSBiZWdpbm5pbmcgYSBuZXcgYnJpZGkg d2l0aCAnJy5pJycgd2lsbCBhbG1vc3QgYWx3YXlzIHRlcm1pbmF0ZSB0aGUgcHJlY2VkaW5nIGJy aWRpIGFueXdheS4gSXQgaGFzIG9uZSBmcmVxdWVudCB1c2UsIGhvd2V2ZXIuIFNpbmNlIGF0dGl0 dWRpbmFscyBhbHdheXMgYXBwbHkgdG8gdGhlIHByZWNlZGluZyB3b3JkLCBhcHBseWluZyBpdCB0 byBhIGZhJ29ybWEnbyBhcHBsaWVzIGl0IHRvIHRoZSBlbnRpcmUgY29uc3RydWN0IHdoaWNoIGlz IHRlcm1pbmF0ZWQuIFVzaW5nICcndmF1JycsIG9uZSBjYW4gdGhlbiB1c2UgYXR0aXR1ZGluYWxz IGFmdGVydGhvdWdodCBhbmQgYXBwbHkgdGhlbSB0byB0aGUgZW50aXJlIGJyaWRpOgoKJyd6YSdh IGRvIGR1bmRhIGxvIHpkYW5pIHtrdX0gbG8gcHJlbnUge2t1fS4uLiB2YXUgaSdlJycgLSDigJxJ IHNlZSB0aGF0IHlvdSBnaXZlIGEgaG9tZSB0byBhIHBlcnNvbi4uLiBJIGFwcHJvdmUh4oCdCgpf XycncHJlbnUnJ19fIHgxIGlzIGEgcGVyc29uOyB4MSBoYXMgYSBwZXJzb25hbGl0eS4KCgoKS25v d2luZyB0aGUgYmFzaWMgcnVsZXMgZm9yIGZhJ29ybWEnbyBlbGlzaW9uLCB3ZSBjYW4gdGh1cyBy ZXR1cm4gdG8gdGhlIG9yaWdpbmFsIHNlbnRlbmNlIGFuZCBiZWdpbiByZW1vdmluZyBmYSdvcm1h J286CgoKCicnLmF1IGRhJ2kgbWkgZGppY2EgbG8gbnUgbGUgbWVya28gcG9pIHR1bmJhIG1pIF9f dmF1IGt1J28ga3VfXyBqaW1wZSBsbyBkdSd1IG1pIG5hIG5lbGNpIGxvIG51IHZvJ2EgZGFyeGkg bWkgX192YXUga2VpIGt1IHZhdSBrZWkga3UgdmF1IGtlaSBrdSB2YXVfXycnCgoKCldlIGNhbiBz ZWUgdGhhdCB0aGUgZmlyc3QgJyd2YXUnJyBpcyBncmFtbWF0aWNhbGx5IHVubmVjZXNzYXJ5LCBi ZWNhdXNlIHRoZSBuZXh0IG5vbi1mYSdvcm1hJ28td29yZCBpcyAnJ2ppbXBlJycsIHdoaWNoIGlz IGEgc2VsYnJpLiBTaW5jZSB0aGVyZSBjYW4gb25seSBiZSBvbmUgc2VsYnJpIHBlciBicmlkaSwg Jyd2YXUnJyBpcyBub3QgbmVlZGVkLiBTaW5jZSAnJ2ppbXBlJycgYXMgYSBzZWxicmkgY2Fubm90 IGJlIGluIHRoZSByZWxhdGl2ZSBjbGF1c2UgZWl0aGVyIChvbmx5IG9uZSBicmlkaSBpbiBhIGNs YXVzZSwgb25seSBvbmUgc2VsYnJpIGluIGVhY2ggYnJpZGkpLCB3ZSBjYW4gZWxpZGUgJydrdSdv JycuIExpa2V3aXNlLCAnJ2ppbXBlJycgY2Fubm90IGJlIGEgc2Vjb25kIHNlbGJyaSBpbnNpZGUg dGhlIGNvbnN0cnVjdCAnJ2xlIG1lcmtvIHBvaXsuLi59JycsIHNvIHRoZSAnJ2t1JycgaXMgbm90 IG5lZWRlZCBlaXRoZXIuIEZ1cnRoZXJtb3JlLCBhbGwgdGhlIGZhJ29ybWEnbyBhdCB0aGUgdmVy eSBlbmQgb2YgdGhlIHNlbnRlbmNlIGNhbiBiZSBlbGlkZWQgdG9vLCBzaW5jZSBiZWdpbm5pbmcg YSBuZXcgYnJpZGkgd2lsbCB0ZXJtaW5hdGUgYWxsIG9mIHRoZXNlIGNvbnN0cnVjdHMgYW55d2F5 LgoKV2UgdGhlbiBlbmQgdXAgd2l0aDoKCicnLmF1IGRhJ2kgbWkgZGppY2EgbG8gbnUgbGUgbWVy a28gcG9pIHR1bmJhIG1pIGppbXBlIGxvIGR1J3UgbWkgbmEgbmVsY2kgbG8gbnUgdm8nYSBkYXJ4 aSBtaScnIOKAkyB3aXRoIG5vIGZhJ29ybWEnbyBhdCBhbGwhCgoKCldoZW4gZWxpZGluZyBmYSdv cm1hJ28sIGl0IGlzIGEgZ29vZCBpZGVhIHRvIGJlIGFjcXVhaW50ZWQgd2l0aCAnJ2N1JycuICcn Y3UnJyBpcyBvbmUgb2YgdGhvc2Ugd29yZHMgd2hpY2ggY2FuIG1ha2UgeW91ciAoTG9qYmFuaWMp IGxpZmUgYSBsb3QgZWFzaWVyLiBXaGF0IGl0IGRvZXMgaXMgdG8gc2VwYXJhdGUgYW55IHByZXZp b3VzIHN1bXRpIGZyb20gdGhlIHNlbGJyaS4gT25lIGNvdWxkIHNheSB0aGF0IGl0IGRlZmluZXMg dGhlIG5leHQgd29yZCB0byBiZSBhIHNlbGJyaSwgYW5kIHRlcm1pbmF0ZXMgZXhhY3RseSBhcyBt dWNoIGFzIGl0IG5lZWRzIHRvIGluIG9yZGVyIHRvIGRvIHRoYXQuCgpfXycnY3UnJ19fIGVsaWRh YmxlIG1hcmtlcjogc2VwYXJhdGVzIHNlbGJyaSBmcm9tIHByZWNlZGluZyBzdW10aSwgYWxsb3dz IHByZWNlZGluZyBmYSdvcm1hJ28gZWxpc2lvbi4KCgoKX18nJ3ByYW1pJydfXyA9IOKAnHgxIGxv dmVzIHgy4oCdCgoKCicnbG8gc3UndSBkbyBjdXNrdSBsbyBzZSBkdSd1IGRvIHByYW1pIG1pIF9f dmF1IGtlaSBrdSB2YXUga2VpIGt1X18gc2UgZGppY2EgbWknJyA9CgonJ2xvIHN1J3UgZG8gY3Vz a3UgbG8gc2UgZHUndSBkbyBwcmFtaSBtaSBfX2N1X18gc2UgZGppY2EgbWknJwoK4oCcVGhhdCB5 b3Ugc2F5IHRoYXQgeW91IGxvdmUgbWUgaXMgZGVzaXJlZCBieSBiZeKAnSBvciDigJxJIHdpc2gg eW91IHNhaWQgeW91IGxvdmVkIG1l4oCdCgpub3RlOiAnJ2N1JycgaXMgbm90IGEgZmEnb3JtYSdv LCBiZWNhdXNlIGl0IGlzIG5vdCB0aWVkIHRvIG9uZSBzcGVjaWZpYyBjb25zdHJ1Y3QuIEJ1dCBp dCBjYW4gYmUgdXNlZCB0byBlbGlkZSBvdGhlciBmYSdvcm1hJ28uCgoKCk9uZSBvZiB0aGUgZ3Jl YXRlc3Qgc3RyZW5ndGhzIG9mICcnY3UnJyBpcyB0aGF0IGl0IHF1aWNrbHkgYmVjb21lcyBlYXN5 IHRvIGludHVpdGl2ZWx5IHVuZGVyc3RhbmQuIEJ5IGl0c2VsZiBpdCBtZWFucyBub3RoaW5nLCBi dXQgaXQgcmV2ZWFscyB0aGUgc3RydWN0dXJlIG9mIExvamJhbiBleHByZXNzaW9ucyBieSBpZGVu dGlmeWluZyB0aGUgY29yZSBzZWxicmkuIEluIHRoZSBvcmlnaW5hbCBleGFtcGxlIHdpdGggdGhl IHZpb2xlbnQgQW1lcmljYW4gYnJvdGhlciwgdXNpbmcgJydjdScnIGJlZm9yZSAnJ2ppbXBlJycg ZG9lcyBub3QgY2hhbmdlIHRoZSBtZWFuaW5nIG9mIHRoZSBzZW50ZW5jZSBpbiBhbnkgd2F5LCBi dXQgbWlnaHQgbWFrZSBpdCBlYXNpZXIgdG8gcmVhZC4KCgoKSW4gdGhlIGZvbGxvd2luZyBjb3Vw bGUgb2YgbGVzc29ucywgJydjdScnIHdpbGwgYmUgdXNlZCB3aGVuIG5lY2Vzc2FyeSwgYW5kIGFs bCBmYSdvcm1hJ28gZWxpZGVkIGlmIHBvc3NpYmxlLiBUaGUgZWxpZGVkIGZhJ29ybWEnbyB3aWxs IGJlIGVuY2FzZWQgaW4gY3VybHkgYnJhY2tldHMsIGFzIHNob3duIGJlbG93LiBUcnkgdG8gdHJh bnNsYXRlIGl0IQoKX18nJ3Zham5pJydfXyDigJx4MSBpcyBpbXBvcnRhbnQgdG8geDIgZm9yIHJl YXNvbiB4M+KAnQoKX18nJ2ppbXBlJydfXyDigJx4MSB1bmRlcnN0YW5kcyB0aGF0IHgyIChkdSd1 LWFic3RyYWN0aW9uKSBpcyB0cnVlIGFib3V0IHgz4oCdCgpfXycnYSdvJydfXyAtIEF0dGl0dWRp bmFsOiBTaW1wbGUgcHJvcG9zaXRpb25hbCBlbW90aW9uOiBIb3BlIC0gZGVzcGFpcgoKCgonJ2En byBkbyBub2kga2UnYSBsb2pibyAuaSdlIHtrdSdvfSB7a3V9IGN1IGppbXBlIGxvIGR1J3UgbG8g ZmEnb3JtYSdvIHtrdX0gY3UgdmFqbmkge3ZhdX0ge2tlaX0ge2t1fSB7dmF1fScnCgpXaGF0IGRv IEkgc3RhdGU/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcSSBob3BlIHRoYXQgeW91LCBhIHBy b3VkIExvamJhbmlzdCwgdW5kZXJzdGFuZHMgdGhhdCBmYSdvcm1hJ28gYXJlIGltcG9ydGFudOKA nX5+CgoKCkZ1biBzaWRlIG5vdGU6IE1vc3QgcGVvcGxlIHdlbGwtdmVyc2VkIGluIGZhJ29ybWEn by1lbGlzaW9uIGRvIGl0IHNvIGluc3RpbmN0aXZlbHkgdGhhdCB0aGV5IG9mdGVuIG11c3QgYmUg cmVtaW5kZWQgaG93IGltcG9ydGFudCB1bmRlcnN0YW5kaW5nIGZhJ29ybWEnbyBhcmUgdG8gdGhl IHVuZGVyc3RhbmRpbmcgb2YgTG9qYmFuLiBUaGVyZWZvcmUsIGVhY2ggVHVlc2RheSBoYXZlIGJl ZW4gZGVzaWduYXRlZCDigJxUZXJtaW5hdG9yIERheeKAnSBvciAnJ2ZhJ29ybWEnbyBkamVkaScn IG9uIHRoZSBMb2piYW4gSVJDIGNoYXRyb29tLiBEdXJpbmcgVGVybWluYXRvciBEYXksIG1hbnkg cGVvcGxlIHRyeSAoYW5kIG9mdGVuIGZhaWwpIHRvIHJlbWVtYmVyIHdyaXRpbmcgb3V0IGFsbCBm YSdvcm1hJ28gd2l0aCBzb21lIHZlcnkgdmVyYm9zZSBjb252ZXJzYXRpb25zIGFzIGEgcmVzdWx0 LgoKCgoKCiEhTG9qYmFuIExlc3NvbnMgLSBMZXNzb24gbmluZSAoc3VtdGNpdGEpCgpTbyBmYXIg d2UgaGF2ZSBiZWVuIGRvaW5nIHByZXR0eSB3ZWxsIHdpdGggdGhlIHNlbGJyaSB3ZSBoYXZlIGhh ZCBhdCBoYW5kLiBIb3dldmVyLCB0aGVyZSBpcyBhIGZpbml0ZSBhbW91bnQgb2YgZGVmaW5lZCBz ZWxicmkgb3V0IHRoZXJlLCBhbmQgaW4gbWFueSBjYXNlcyB0aGUgc3VtdGkgcGxhY2VzIGFyZSBu b3QgdXNlZnVsIGZvciB3aGF0IHdlIGhhZCBpbiBtaW5kLiBXaGF0IGlmLCBzYXksIGkgd2FudCB0 byBzYXkgdGhhdCBJIGFtIHRyYW5zbGF0aW5nIHVzaW5nIGEgY29tcHV0ZXI/IFRoZXJlIGlzIG5v IHBsYWNlIGluIHRoZSBzdHJ1Y3R1cmUgb2YgJydmYW52YScnIHRvIHNwZWNpZnkgd2hhdCB0b29s IEkgdHJhbnNsYXRlIHdpdGgsIHNpbmNlLCBtb3N0IG9mIHRoZSB0aW1lLCB0aGF0IGlzIG5vdCBu ZWNlc3NhcnkuIE5vdCB0byB3b3JyeSwgdGhpcyBsZXNzb24gaXMgb24gaG93IHRvIGFkZCBhZGRp dGlvbmFsIHN1bXRpIHBsYWNlcyB0byB0aGUgc2VsYnJpLgoKCgpUaGUgbW9zdCBiYXNpYyB3YXkg dG8gYWRkIHN1bXRpIHBsYWNlcyBhcmUgd2l0aCAnJ2ZpJ28gU0VMQlJJIGZlJ3UnJyAoeWVzLCBh bm90aGVyIGV4YW1wbGUgb2YgYSBmYSdvcm1hJ28sICcnZmUndScnLiBJdCdzIGFsbW9zdCBuZXZl ciBuZWNlc3NhcnksIHNvIHRoaXMgbWlnaHQgYmUgdGhlIGxhc3QgdGltZSB5b3UgZXZlciBzZWUg aXQuKQoKSW4gYmV0d2VlbiB0aGVzZSB0d28gd29yZHMgZ29lcyBhIHNlbGJyaSwgYW5kIGxpa2Ug JydsbyBTRUxCUkkga3UnJywgJydmaSdvIFNFTEJSSSBmZSd1JycgZXh0cmFjdHMgdGhlIHgxIG9m IHRoZSBzZWxicmkgcHV0IGludG8gaXQuIEhvd2V2ZXIsIHdpdGggJydmaSdvIFNFTEJSSSBmZSd1 JycsIHRoZSBzZWxicmkgcGxhY2UgaXMgY29udmVydGVkLCBub3QgdG8gYSBzdW10aSwgYnV0IHRv IGEgJydzdW10Y2l0YScnLCBtZWFuaW5nIOKAnHN1bXRpLWxhYmVs4oCdLCB3aXRoIHRoZSBwbGFj ZSBzdHJ1Y3R1cmUgb2YgdGhlIHgxIG9mIHRoZSBzZWxicmkgaXQgY29udmVydGVkLiBUaGlzICcn c3VtdGNpdGEnJyB0aGVuIGFic29yYnMgdGhlIG5leHQgc3VtdGkuIE9uZSBjb3VsZCBzYXkgdGhh dCB1c2luZyBhICcnc3VtdGNpdGEnJywgeW91IGltcG9ydCBhIHN1bXRpIHBsYWNlIGZyb20gYW5v dGhlciBzZWxicmksIGFuZCBhZGQgaXQgdG8gdGhlIGJyaWRpIGJlaW5nIHNhaWQuCgpOb3RlOiBT b21ldGltZXMsIGVzcGVjaWFsbHkgaW4gb2xkZXIgdGV4dHMsIHRoZSB0ZXJtIOKAnHRhZ+KAnSBv ciDigJxtb2RhbOKAnSBpcyB1c2VkIGZvciAnJ3N1bXRjaXRhJycuIElnbm9yZSB0aG9zZSBwdW55 IEVuZ2xpc2ggZXhwcmVzc2lvbnMuIFdlIHRlYWNoIHByb3BlciBMb2piYW4gaGVyZS4KCgoKV2hp bGUgaXQgaXMgaGFyZCB0byBncmFzcCB0aGUgcHJvY2VzcyBmcm9tIHJlYWRpbmcgYWJvdXQgaXQs IGFuIGV4YW1wbGUgY2FuIHBlcmhhcHMgc2hvdyBpdHMgYWN0dWFsIHNpbXBsaWNpdHk6CgpfXycn c2thbWknJ19fIOKAnHgxIGlzIGEgY29tcHV0ZXIgZm9yIHB1cnBvc2UgeDLigJ0KCl9fJydwaWxu bycnX18g4oCceDEgdXNlcyB4MiBhcyBhIHRvb2wgZm9yIGRvaW5nIHgz4oCdCgoKCicnbWkgZmFu dmEgdGkgZmknbyBzZSBwaWxubyB7ZmUndX0gbG8gc2thbWkge2t1fXt2YXV9JycgLSDigJxJIHRy YW5zbGF0ZSB0aGlzIHdpdGggYSBjb21wdXRlcuKAnSBUaGUgeDIgb2YgJydwaWxubycnLCB3aGlj aCBpcyB0aGUgeDEgb2YgJydzZSBwaWxubycnIGlzIGEgcGxhY2Ugc3RydWN0dXJlIGZvciBhIHRv b2wgYmVpbmcgdXNlZCBieSBzb21lb25lLiBUaGlzIHBsYWNlIHN0cnVjdHVyZSBpcyBjYXB0dXJl ZCBieSAnJ2ZpJ28gU0VMQlJJIGZlJ3UnJywgYWRkZWQgdG8gdGhlIG1haW4gc2VsYnJpLCBhbmQg dGhlbiBmaWxsZWQgYnkgJydsbyBza2FtaScnLiBUaGUgaWRlYSBvZiAnJ3N1bXRjaXRhJycgaXMg c29tZXRpbWVzIGV4cHJlc3NlZCBpbiBFbmdsaXNoIHVzaW5nIHRoZSBmb2xsb3dpbmcgdHJhbnNs YXRpb246CgrigJxJIHRyYW5zbGF0ZSB0aGlzIHdpdGgtdG9vbDogQSBjb21wdXRlcuKAnQoKCgpB ICcnc3VtdGNpdGEnJyBjYW4gb25seSBhYnNvcmIgb25lIHN1bXRpLCB3aGljaCBpcyBhbHdheXMg dGhlIGZvbGxvd2luZyBvbmUuIEFsdGVybmF0aXZlbHksIHRoZSAnJ3N1bXRjaXRhJycgY29uc3Ry dWN0IGNhbiBiZSB0ZXJtaW5hdGVkIHdpdGggJydrdScnLCBpbiB3aGljaCBjYXNlIGEgJyd6bydl JycgaXMgaW1wbGllZCB0byBmaWxsIHRoZSAnJ3N1bXRjaXRhJycuIE9yLCBvbmUgY291bGQgaW1h Z2luZSBhbiBlbGlkZWQgc3VtdGkgYmVpbmcgdGVybWluYXRlZCB3aXRoIHRoZSAnJ2t1JycuCgpf XycnenVrdGUnJ19fIOKAnHgxIGlzIGEgdm9saXRpb25hbCBlbnRpdHkgY2Fycnlpbmcgb3V0IGFj dGlvbiB4MiBmb3IgcHVycG9zZSB4M+KAnQoKCgonJ2ZpJ28genVrdGUge2ZlJ3V9IGt1IGxvIHNr YW1pIHtrdX0gY3UgcGlsbm8gbG8gbG9qYm8ge2t1fXt2YXV9JycgLSDigJxXaXRoIHZvbGl0aW9u LCBhIGNvbXB1dGVyIHVzZWQgc29tZXRoaW5nIExvamJhbmlj4oCdIChwZXJoYXBzIGltcGx5aW5n IHRoYXQgYSBMb2piYW5pYyBjb21wdXRlciB3ZW50IHNlbnRpZW50PyBUb3VnaCBpdCBkb2VzIG5v dCBzcGVjaWZ5IHdobyBoYWQgdm9saXRpb24uIEl0IGNvdWxkIGp1c3QgYmUgdGhlIHByb2dyYW1t ZXIgd2hvIHByb2dyYW1tZWQgdGhlIGNvbXB1dGVyIC0gaG93IGJvcmluZy4pCgoKCldoYXQgZG9l cyAnJ21pIGppbXBlIGZpIGxhIGxvamJhbiB7a3V9IGZpJ28gc2UgdGF2bGEge2ZlJ3V9IG1pJycg c3RhdGU/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcSSB1bmRlcnN0YW5kIHNvbWV0aGluZyBh Ym91dCBMb2piYW4sIHNwb2tlbiB0byBtZeKAnX5+CgoKClB1dHRpbmcgdGhlICcnc3VtdGNpdGEn JyByaWdodCBpbiBmcm9udCBvZiB0aGUgc2VsYnJpIGFsc28gbWFrZXMgaXQgc2VsZi10ZXJtaW5h dGUsIHNpbmNlIHN1bXRjaXRhIG9ubHkgY2FuIGFic29yYiBzdW10aSwgYW5kIG5vdCBzZWxicmku IFRoaXMgZmFjdCB3aWxsIGJlIG9mIGltcG9ydGFuY2UgaW4gbmV4dCBsZXNzb24sIGFzIHlvdSB3 aWxsIHNlZS4KCgoKU2FkbHksICcnZmknbycnIGlzIG5vdCB1c2VkIHZlcnkgb2Z0ZW4gZGVzcGl0 ZSBpdHMgZmxleGliaWxpdHkuIFdoYXQgSVMgdXNlZCB2ZXJ5IG9mdGVuLCB0aG91Z2gsIGFyZSBC QUkuIEJBSSBpcyBhIGNsYXNzIG9mIExvamJhbiB3b3Jkcywgd2hpY2ggaW4gdGhlbXNlbHZlcyBh Y3QgYXMgJydzdW10Y2l0YScnLiBBbiBleGFtcGxlIG9mIHRoaXMgaXMgJyd6dSdlJycsIHRoZSBC QUkgZm9yICcnenVrdGUnJy4gR3JhbWF0aWNhbGx5LCAnJ3p1J2UnJyBpcyB0aGUgc2FtZSBhcyAn J2ZpJ28genVrdGUgZmUndScnLiBUaHVzLCB0aGUgYWJvdmUgZXhhbXBsZSBjb3VsZCBiZSByZWR1 Y2VkIHRvOgoKJyd6dSdlIGt1IGxvIHNrYW1pIHtrdX0gY3UgcGlsbm8gbG8gbG9qYm8ge2t1fSB7 dmF1fScnLiBUaGVyZSBleGlzdCBzb21ldGhpbmcgbGlrZSA2MCBCQUksIGFuZCBhIGxvdCBvZiB0 aGVzZSBhcmUgdmVyeSB1c2VmdWwgaW5kZWVkLiBGdXJ0ZXJtb3JlLCBCQUkgY2FuIGFsc28gYmUg Y29udmVydGVkIHdpdGggJydzZScnIGFuZCBmcmllbmRzLCBtZWFuaW5nIHRoYXQgJydzZSB6dSdl JycgaXMgZXF1YWwgdG8gJydmaSdvIHNlIHp1a3RlIGZlJ3UnJywgd2hpY2ggcmVzdWx0cyBpbiBh IGdyZWF0IGRlYWwgbW9yZSBCQUkuCgoKCiEhTG9qYmFuIExlc3NvbnMgLSBMZXNzb24gdGVuIChQ VSwgRkFoQSwgWkksIFZBLCBaRWhBLCBWRWhBKQoKSG93IHVuZmFtaWxpYXIgdG8gdGhlIEVuZ2xp c2gtc3BlYWtlciBhIGxhbmd1YWdlIExvamJhbiBpcyB3aGVuIG9uZSBjYW4gcmVhZCB0aHJvdWdo IG5pbmUgbGVzc29ucyBvZiBMb2piYW4gZ3JhbW1hciB3aXRob3V0IG1lZXRpbmcgYSB0ZW5zZSBv bmNlLiBUaGlzIGlzIGJlY2F1c2UsIHVubGlrZSBtYW55IG5hdHVyYWwgbGFuZ3VhZ2VzIChtb3N0 IEluZG8tRXVyb3BlYW4gb25lcywgZm9yIGluc3RhbmNlKSwgYWxsIHRlbnNlcyBpbiBMb2piYW4g YXJlIG9wdGlvbmFsLiBTYXlpbmcgJydtaSBjaXRrYSBsbyBjaXJsYSB7a3V9JycgY2FuIG1lYW4g 4oCcSSBlYXQgY2hlZXNl4oCdIG9yIOKAnEkgYXRlIHRoZSBjaGVlc2XigJ0gb3Ig4oCcSSBhbHdh eXMgZWF0IGNoZWVzZeKAnSBvciDigJxJbiBhIG1vbWVudCwgaSB3aWxsIGhhdmUganVzdCBmaW5p c2hlZCBlYXRpbmcgY2hlZXNl4oCdLiBDb250ZXh0IHJlc29sdmVzIHdoYXQgaXMgY29ycmVjdCwg YW5kIGluIG1vc3QgY29udmVyc2F0aW9uLCB0ZW5zZXMgYXJlIG5vdCBuZWVkZWQgYXQgYWxsLiBI b3dldmVyLCB3aGVuIGl0J3MgbmVlZGVkIGl0J3MgbmVlZGVkLCBhbmQgaXQgbXVzdCBiZSB0YXVn aHQuIEZ1cnRoZXJtb3JlLCBMb2piYW4gdGVuc2VzIGFyZSB1bnVzdWFsIGJlY2F1c2UgdGhleSB0 cmVhdCB0aW1lIGFuZCBzcGFjZSBmdW5kYW1lbnRhbGx5IHRoZSBzYW1lIC0gc2F5aW5nIHRoYXQg SSB3b3JrZWQgYSBsb25nIHRpbWUgYWdvIGlzIG5vdCBncmFtbWF0aWNhbGx5IGRpZmZlcmVudCB0 aGFuIHNheWluZyBJIHdvcmsgZmFyIGF3YXkgdG8gdGhlIG5vcnRoLgoKTGlrZSBtYW55IG90aGVy IGxhbmd1YWdlcywgdGhlIExvamJhbiB0ZW5zZSBzeXN0ZW0gaXMgcGVyaGFwcyB0aGUgbW9zdCBk aWZmaWN1bHQgcGFydCBvZiB0aGUgbGFuZ3VhZ2UuIFVubGlrZSBtYW55IG90aGVyIGxhbmd1YWdl cyB0aG91Z2gsIGl0J3MgcGVyZmVjdGx5IHJlZ3VsYXIgYW5kIG1ha2VzIHNlbnNlLiBTbyBmZWFy IG5vdCwgZm9yIGl0IHdpbGwgbm90IGludm9sdmUgc3dlYXRpbmcgdG8gbGVhcm4gaG93IHRvIG1v ZGlmeSB0aGUgc2VsYnJpIG9yIGFueXRoaW5nIHNpbGx5IGxpa2UgdGhhdC4KCgoKTm8sIGluIHRo ZSBMb2piYW4gdGVuc2Ugc3lzdGVtLCBhbGwgdGVuc2VzIGFyZSBzdW10Y2l0YSwgd2hpY2ggd2Ug aGF2ZSBjb252ZW5pZW50bHkganVzdCBtYWRlIG91cnNlbHZlcyBmYW1pbGlhciB3aXRoLiBPa2F5 IG9rYXksIHRlY2huaWNhbGx5LCB0ZW5zZXMgYXJlIHNsaWdodGx5IGRpZmZlcmVudCBmcm9tIG90 aGVyIHN1bXRjaXRhLCBidXQgdGhpcyBkaWZmZXJlbmNlIGlzIGFsbW9zdCBpbnNpZ25pZmljYW50 LCBhbmQgd2lsbCBiZSB3b24ndCBiZSBleHBsYWluZWQgdW50aWwgbGF0ZXIuIEluIG1vc3QgYXNw ZWN0cyB0aGV5IGFyZSBsaWtlIGFsbCBvdGhlciBzdW10Y2l0YTsgdGhleSBhcmUgdGVybWluYXRl ZCBieSAnJ2t1JycsIG1ha2luZyBpdCBleHBsaWNpdCB0aGF0IFBVIGlzIHRlcm1pbmF0ZWQgYnkg JydrdScnLgoKVGhlcmUgYXJlIG1hbnkgZGlmZmVyZW50IGtpbmRzIG9mIHRlbnNlLXN1bXRjaXRh LCBzbyBsZXQncyBzdGFydCBhdCB0aGUgb25lcyBtb3N0IGZhbWlsaWFyIHRvIEVuZ2xpc2gtc3Bl YWtlcnMuCgpfXycncHUnJ19fIC0gc3VtdGNpdGE6IGJlZm9yZSB7c3VtdGl9CgpfXycnY2EnJ19f IC0gc3VtdGNpdGE6IGF0IHRoZSBzYW1lIHRpbWUgYXMge3N1bXRpfQoKX18nJ2JhJydfXyAtIHN1 bXRjaXRhOiBhZnRlciB7c3VtdGl9CgoKClRoZXNlIGFyZSBsaWtlIHRoZSBFbmdsaXNoIGNvbmNl cHRzIOKAnGJlZm9yZeKAnSwg4oCcbm934oCdIGFuZCDigJxhZnRlcuKAnS4gSW4gYWN0dWFsaXR5 IHRob3VnaCwgb25lIGNvdWxkIGFyZ3VlIHRoYXQgdHdvIHBvaW50LWxpa2UgZXZlbnRzIGNhbiBu ZXZlciBvY2N1ciBleGFjdGx5IHNpbXVsdGFuZW91c2x5LCByZW5kZXJpbmcgJydjYScnIHVzZWxl c3MuIEJ1dCAnJ2NhJycgZXh0ZW5kcyBzbGlnaHRseSBpbnRvIHRoZSBwYXN0IGFuZCB0aGUgZnV0 dXJlLCBtZWFuaW5nIGp1c3Qg4oCcYWJvdXQgbm934oCdLiBUaGlzIGlzIGJlY2F1c2UgaHVtYW4g YmVpbmdzIGRvbid0IHBlcmNlaXZlIHRpbWUgaW4gYSBwZXJmZWN0bHkgbG9naWNhbCB3YXksIGFu ZCB0aGUgTG9qYmFuIHRlbnNlIHN5c3RlbSByZWZsZWN0cyB0aGF0LgoKCgpTaWRlIG5vdGU6IEl0 IHdhcyBhY3R1YWxseSBzdWdnZXN0ZWQgbWFraW5nIHRoZSBMb2piYW4gdGVuc2Ugc3lzdGVtIHJl bGF0aXZpc3RpYy4gVGhhdCBpZGVhLCBob3dldmVyLCB3YXMgZHJvcHBlZCwgYmVjYXVzZSBpdCBp cyBjb3VudGVyLWludHVpdGl2ZSwgYW5kIHdvdWxkIG1lYW4gdGhhdCB0byBsZWFybiBMb2piYW4s IG9uZSB3b3VsZCBoYXZlIHRvIGxlYXJuIHRoZSB0aGVvcnkgb2YgcmVsYXRpdml0eSBmaXJzdC4g IAoKCgpTbywgaG93IHdvdWxkIHlvdSBzYXkg4oCcSSBleHByZXNzIHRoaXMgYWZ0ZXIgSSBjYW1l IGhlcmU/4oCdIChwb2ludGluZyB0byBhIHBhcGVyKQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5Oicn bWkgY3Vza3UgdGkgYmEgbG8gbnUgbWkga2xhbWEgdGkge3ZhdX0ge2tlaSB7a3V9IHt2YXV9Jyd+ fgoKCgpVc3VhbGx5IHdoZW4gc3BlYWtpbmcsIHdlIGRvIG5vdCBuZWVkIHRvIHNwZWNpZnkgd2hp Y2ggZXZlbnQgdGhpcyBhY3Rpb24gaXMgaW4gdGhlIHBhc3QgcmVsYXRpdmUgdG8uIEluOiDigJxJ IGdhdmUgYSBjb21wdXRlciBhd2F54oCdLCB3ZSBjYW4gYXNzdW1lIHRoYXQgdGhlIGFjdGlvbiBo YXBwZW5lZCByZWxhdGl2ZSB0byDigJxub3figJ0sIGFuZCB0aHVzIHdlIGNhbiBlbGlkZSB0aGUg c3VtdGkgb2YgdGhlIHN1bXRjaXRhLCBiZWNhdXNlIGl0J3Mgb2J2aW91czoKCicncHUga3UgbWkg ZHVuZGEgbG8gc2thbWkge2t1fSB7dmF1fScnIG9yCgonJ21pIGR1bmRhIGxvIHNrYW1pIHtrdX0g cHUge2t1fSB7dmF1fScnIG9yLCBtb3JlIGNvbW1vbmx5CgonJ21pIHB1IHtrdX0gZHVuZGEgbG8g c2thbWkge2t1fSB7dmF1fScnLiBUaGUgc3VtdGkgd2hpY2ggZmlsbHMgdGhlIHN1bXRjaXRhIGlz IGFuIGltcGxpZWQgJyd6bydlJycsIHdoaWNoIGlzIGFsbW9zdCBhbHdheXMgdW5kZXJzdG9vZCBh cyByZWxhdGl2ZSB0byB0aGUgc3BlYWtlcidzIHRpbWUgYW5kIHBsYWNlICh0aGlzIGlzIGVzcGVj aWFsbHkgaW1wb3J0YW50IHdoZW4gc3BlYWtpbmcgYWJvdXQgbGVmdCBhbmQgcmlnaHQpLiBJZiBz cGVha2luZyBhYm91dCBzb21lIGV2ZW50cyB0aGF0IGhhcHBlbmVkIHNvbWUgb3RoZXIgdGltZSB0 aGFuIHRoZSBwcmVzZW50LCBpdCBpcyBzb21ldGltZXMgYXNzdW1lZCB0aGF0IGFsbCB0ZW5zZXMg YXJlIHJlbGF0aXZlIHRvIHRoYXQgZXZlbnQgd2hpY2ggaXMgYmVpbmcgc3Bva2VuIGFib3V0LiBJ biBvcmRlciB0byBjbGFyaWZ5IHRoYXQgYWxsIHRlbnNlcyBhcmUgcmVsYXRpdmUgdG8gdGhlIHNw ZWFrZXIncyBjdXJyZW50IHBvc2l0aW9uLCB0aGUgd29yZCAnJ25hdScnIGNhbiBiZSB1c2VkIGF0 IGFueSB0aW1lLiBBbm90aGVyIHdvcmQsICcna2knJyBtYXJrcyBhIHRlbnNlIHdoaWNoIGlzIHRo ZW4gY29uc2lkZXJlZCB0aGUgbmV3IHN0YW5kYXJkLiBUaGF0IHdpbGwgYmUgdGF1Z2h0IHdheSBs YXRlci4KCl9fJyduYXUnJ19fIHVwZGF0ZXMgdGVtcG9yYWwgYW5kIHNwYWNpYWwgZnJhbWUgb2Yg cmVmZXJlbmNlIHRvIHRoZSBzcGVha2VyJ3MgY3VycmVudCBoZXJlIGFuZCBub3cuCgoKCl9fJydn dWdkZScnX18gPSDigJx4MSBpcyB0aGUgY291bnRyeSBvZiBwZW9wbGUgeDIgd2l0aCBsYW5kL3Rl cnJpdG9yeSB4M+KAnQoKCgpBbHNvIG5vdGUgdGhhdCAnJ21pIHB1IHtrdX0ga2xhbWEgbG8gbWVy a28gZ3VnZGUge2t1fSB7dmF1fScnLCDigJxJIHdlbnQgdG8gQW1lcmljYeKAnSwgZG9lcyBub3Qg aW1wbHkgdGhhdCBJJ20gbm90IHN0aWxsIHRyYXZlbGluZyB0byBVU0EsIG9ubHkgdGhhdCBpdCB3 YXMgYWxzbyB0cnVlIHNvbWUgdGltZSBpbiB0aGUgcGFzdCwgZm9yIGluc3RhbmNlIGZpdmUgbWlu dXRlcyBhZ28uCgoKCkFzIG1lbnRpb25lZCwgc3BhY2lhbCBhbmQgdGVtcG9yYWwgdGltZSB0ZW5z ZXMgYXJlIHZlcnkgbXVjaCBhbGlrZS4gQ29udHJhc3QgdGhlIHByZXZpb3VzIHRocmVlIHRpbWUg dGVuc2VzIHdpdGggdGhlc2UgZm91ciBzcGFjaWFsIHRlbnNlczoKCl9fJyd6dSdhJydfXyBzdW10 Y2l0YTogbGVmdCBvZiB7c3VtdGl9CgpfXycnY2EndScnX18gc3VtdGNpdGE6IGluIGZyb250IG9m IHtzdW10aX0KCl9fJydyaSd1JydfXyBzdW10Y2l0YTogcmlnaHQgb2Yge3N1bXRpfQoKX18nJ2J1 J3UnJ19fIHN1bXRjaXRhOiBhdCB0aGUgc2FtZSBwbGFjZSBhcyB7c3VtdGl9IChzcGFjaWFsIGVx dWl2YWxlbnQgb2YgJydjYScnKQoKCgpfXycnbydvJydfXzogYXR0aXR1ZGluYWw6IGNvbXBsZXgg cHVyZSBlbW90aW9uOiBwYXRpZW5jZSAtIHRvbGVyYW5jZSAtIGFuZ2VyCgoKCldoYXQgd291bGQg JycubydvbmFpIHJpJ3Uge2t1fSBudSBsbyBwcmVudSB7a3V9IGN1IGRhcnhpIGxvIGdlcmt1IHB1 IHtrdX0ge2t1fSB7dmF1fSB7a2VpfSB7dmF1fScnIG1lYW4/IChub3RpY2UgdGhlIGZpcnN0IGVs aWRlZCBrdSEpCgpfXycnZGFyeGknJ19fIHgxIGJlYXRzL2hpdHMgeDIgd2l0aCBpbnN0cnVtZW50 IHgzIGF0IGxvY3VzIHg0CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCce2FuZ2VyIX0gVG8gdGhl IHJpZ2h0IChvZiBzb21ldGhpbmcsIHByb2JhYmx5IG1lKSBhbmQgaW4gdGhlIHBhc3QgKG9mIHNv bWUgZXZlbnQpLCBzb21ldGhpbmcgaXMgYW4gZXZlbnQgb2YgYSBwZXJzb24gYmVhdGluZyBhIGRv Zy7igJ0gb3Ig4oCcQSBtYW4gaGl0IGEgZG9nIHRvIG15IHJpZ2h0IeKAnX5+CgoKCklmIHRoZXJl IGFyZSBzZXZlcmFsIHRlbnNlIHN1bXRjaXRhIGluIG9uZSBicmlkaSwgdGhlIHJ1bGUgaXMgdGhh dCB5b3UgcmVhZCB0aGVtIGZyb20gbGVmdCB0byByaWdodCwgdGhpbmtpbmcgaXQgYXMgYSBzbyBj YWxsZWQg4oCcaW1hZ2luYXJ5IGpvdXJuZXnigJ0sIFdoZXJlIHlvdSBiZWdpbiBhdCBhbiBpbXBs aWVkIHBvaW50IGluIHRpbWUgYW5kIHNwYWNlIChkZWZhdWx0OiB0aGUgc3BlYWtlcidzIG5vdyBh bmQgaGVyZSksIGFuZCB0aGVuIGZvbGxvdyB0aGUgc3VtdGNpdGEgb25lIGF0IGEgdGltZSBmcm9t IGxlZnQgdG8gcmlnaHQuCgpFeGFtcGxlCgonJ21pIHB1IHtrdX0gYmEge2t1fSBqaW1wZSBmaSBs byBsb2pibyBmYSdvcm1hJ28ge2t1fSB7dmF1fScnID0g4oCcQXQgc29tZSB0aW1lIGluIHRoZSBw YXN0LCBJIHdpbGwgYmUgYWJvdXQgdG8ga25vdyBhYm91dCBmYSdvcm1hJ29zLuKAnQoKJydtaSBi YSB7a3V9IHB1IHtrdX0gamltcGUgZmkgbG8gbG9qYm8gZmEnb3JtYSdvIHtrdX0ge3ZhdX0nJyDi gJxBdCBzb21lIHBvaW50IGluIHRoZSBmdXR1cmUsIEkgd2lsbCBoYXZlIHVuZGVyc3Rvb2QgYWJv dXQgZmEnb3JtYSdvcy7igJ0KClNpbmNlIHdlIGRvIG5vdCBzcGVjaWZ5IHRoZSBhbW91bnQgb2Yg dGltZSB3ZSBtb3ZlIGJhY2sgb3IgZm9ydGgsIHRoZSB1bmRlcnN0YW5kaW5nIGNvdWxkIGluIGJv dGggY2FzZXMgaGFwcGVuIGluIHRoZSBmdXR1cmUgb3IgdGhlIHBhc3Qgb2YgdGhlIHBvaW50IG9m IHJlZmVyZW5jZS4KCgoKQWxzbywgaWYgc3BhY2lhbCBhbmQgdGVtcG9yYWwgdGVuc2VzIGFyZSBt aXhlZCwgdGhlIHJ1bGUgaXMgdG8gYWx3YXlzIHB1dCB0ZW1wb3JhbCBiZWZvcmUgc3BhY2lhbC4g SWYgdGhpcyBydWxlIGlzIHZpb2xhdGVkLCBpdCBjYW4gc29tZXRpbWVzIHJlc3VsdCBpbiBzeW50 YWN0aWNhbCBhbWJpZ3VpdHksIHdoaWNoIExvamJhbiBkb2VzIG5vdCB0b2xlcmF0ZS4KCgoKU3Vw cG9zZSB3ZSB3YW50IHRvIHNwZWNpZnkgdGhhdCB0aGUgYSBtYW4gaGl0IGEgZG9nIGp1c3QgYSBt aW51dGUgYWdvLiBUaGUgd29yZHMgJyd6aScnLCAnJ3phJycgYW5kICcnenUnJyBzcGVjaWZpZXMg YSBzaG9ydCwgdW5zcGVjaWZpZWQgKHByZXN1bWFibHkgbWVkaXVtKSBhbmQgbG9uZyBkaXN0YW5j ZSBpbiB0aW1lLiBOb3RpY2UgdGhlIHZvd2VsIG9yZGVyICcnaScnLCAnJ2EnJyBhbmQgJyd1Jycu IFRoaXMgb3JkZXIgYXBwZWFycyBhZ2FpbiBhbmQgYWdhaW4gaW4gTG9qYmFuLCBhbmQgbWlnaHQg YmUgd29ydGggdG8gbWVtb3JpemUuIOKAnFNob3J04oCdIGFuZCDigJxsb25n4oCdIGluIGFyZSBh bHdheXMgY29udGV4dCBkZXBlbmRlbnQsIHJlbGF0aXZlIGFuZCBzdWJqZWN0aXZlLiBUd28gaHVu ZHJlZCB5ZWFycyBpcyBhIHNob3J0IHRpbWUgZm9yIGEgc3BlY2llcyB0byBldm9sdmUsIGJ1dCBh IGxvbmcgdGltZSB0byB3YWl0IGZvciB0aGUgYnVzLgoKX18nJ3ppJydfXyBzdW10Y2l0YTogT2N1 cnJpbmcgdGhlIHNtYWxsIGRpc3RhbmNlIG9mIHtzdW10aX0gaW4gdGltZSBmcm9tIHBvaW50IG9m IHJlZmVyZW5jZSAKCl9fJyd6YScnX18gc3VtdGNpdGE6IE9jdXJyaW5nIHRoZSB1bnNwZWNpZmll ZChtZWRpdW0pIGRpc3RhbmNlIG9mIHtzdW10aX0gaW4gdGltZSBmcm9tIHBvaW50IG9mIHJlZmVy ZW5jZSAKCl9fJyd6dScnX18gc3VtdGNpdGE6IE9jdXJyaW5nIHRoZSBmYXIgZGlzdGFuY2Ugb2Yg e3N1bXRpfSBpbiB0aW1lIGZyb20gdGhlIHBvaW50IG9mIHJlZmVyZW5jZSAKCgoKU2ltaWxhcmx5 LCBzcGFjaWFsIGRpc3RhbmNlIGlzIG1hcmtlZCBieSAnJ3ZpJycsICcndmEnJyBhbmQgJyd2dScn IGZvciBzaG9ydCwgdW5zcGVjaWZpZWQgKG1lZGl1bSkgYW5kIGxvbmcgZGlzdGFuY2UgaW4gc3Bh Y2UuCgpfXycndmknJ19fIHN1bXRjaXRhOiBPY3VycmluZyB0aGUgc21hbGwgZGlzdGFuY2Ugb2Yg e3N1bXRpfSBpbiBzcGFjZSBmcm9tIHBvaW50IG9mIHJlZmVyZW5jZSAKCl9fJyd2YScnX18gc3Vt dGNpdGE6IE9jdXJyaW5nIHRoZSB1bnNwZWNpZmllZChtZWRpdW0pIGRpc3RhbmNlIG9mIHtzdW10 aX0gaW4gc3BhY2UgZnJvbSBwb2ludCBvZiByZWZlcmVuY2UgCgpfXycndnUnJ19fIHN1bXRjaXRh OiBPY3VycmluZyB0aGUgZmFyIGRpc3RhbmNlIG9mIHtzdW10aX0gaW4gc3BhY2UgZnJvbSB0aGUg cG9pbnQgb2YgcmVmZXJlbmNlIAoKX18nJ2d1bmthJydfXyDigJx4MSB3b3JrcyBhdCB4MiB3aXRo IG9iamVjdGl2ZSB4M+KAnQoKCgpUcmFuc2xhdGU6ICcnYmEge2t1fSB6YSBrdSBtaSB2dSB7a3V9 IGd1bmthIHt2YXV9JycKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxTb21lIHRpbWUgaW4gdGhl IGZ1dHVyZSwgSSB3aWxsIHdvcmsgYSBwbGFjZSBsb25nIGF3YXnigJ1+fgoKTm90ZTogUGVvcGxl IHJhcmVseSB1c2UgJyd6aScnLCAnJ3phJycgb3IgJyd6dScnIHdpdGhvdXQgYSAnJ3B1Jycgb3Ig JydiYScnIGluIGZyb250IG9mIGl0LiBUaGlzIGlzIGJlY2F1c2UgbW9zdCBwZW9wbGUgYWx3YXlz IG5lZWQgdG8gc3BlY2lmeSBwYXN0IG9yIGZ1dHVyZSBpbiB0aGVpciBuYXRpdmUgbGFuZ3VhZ2Uu IFdoZW4geW91IHRoaW5rIGFib3V0IGl0IExvamJhbmljYWxseSwgbW9zdCBvZiB0aGUgdGltZSB0 aGUgdGltZS1kaXJlY3Rpb24gaXMgb2J2aW91cywgYW5kIHRoZSAnJ3B1Jycgb3IgJydiYScnIHN1 cGVyZmx1b3VzIQoKCgpUaGUgb3JkZXIgaW4gd2hpY2ggZGlyZWN0aW9uLXN1bXRjaXRhIGFuZCBk aXN0YW5jZS1zdW10Y2l0YSBhcmUgc2FpZCBtYWtlcyBhIGRpZmZlcmVuY2UuIFJlbWVtYmVyIHRo YXQgdGhlIG1lYW5pbmdzIG9mIHNldmVyYWwgdGVuc2Ugd29yZHMgcGxhY2VkIHRvZ2V0aGVyIGFy ZSBwaWN0dXJlZCBieSBhbiBpbWFnaW5hcnkgam91cm5leSByZWFkaW5nIGZyb20gbGVmdCB0byBy aWdodC4gVGh1cyAnJ3B1IHp1JycgaXMg4oCcYSBsb25nIHRpbWUgYWdv4oCdIHdoaWxlICcnenUg cHUnJyBpcyDigJxpbiB0aGUgcGFzdCBvZiBzb21lIHBvaW50IGluIHRpbWUgd2hpY2ggaXMgYSBs b25nIHRpbWUgdG93YXJkIHRoZSBmdXR1cmUgb3IgdGhlIHBhc3Qgb2Ygbm934oCdLiBJbiB0aGUg Zmlyc3QgZXhhbXBsZSwgJydwdScnIHNob3dzIHRoYXQgd2UgYmVnaW4gaW4gdGhlIHBhc3QsICcn enUnJyB0aGVuIHRoYXQgaXQgaXMgYSBsb25nIHRpbWUgYmFja3dhcmRzLiBJbiB0aGUgc2Vjb25k IGV4YW1wbGUsICcnenUnJyBzaG93cyB0aGF0IHdlIGJlZ2luIGF0IHNvbWUgcG9pbnQgZmFyIGF3 YXkgaW4gdGltZSBmcm9tIG5vdywgJydwdScnIHRoZW4sIHRoYXQgd2UgbW92ZSBiYWNrd2FyZHMg ZnJvbSB0aGF0IHBvaW50LiBUaHVzICcncHUgenUnJyBpcyBhbHdheXMgaW4gdGhlIHBhc3QuICcn enUgcHUnJyBjb3VsZCBiZSBpbiB0aGUgZnV0dXJlLiBUaGUgZmFjdCB0aGF0IHRoZXNlIHRpbWUg dGVuc2VzIGNvbWJpbmUgaW4gdGhpcyB3YXkgaXMgb25lIG9mIHRoZSBkaWZmZXJlbmNlcyBiZXR3 ZWVuIHRlbnNlIHN1bXRjaXRhIGFuZCBvdGhlciBzdW10Y2l0YS4gVGhlIG1lYW5pbmdzIG9mIG90 aGVyIHN1bXRjaXRhIGFyZSBub3QgYWx0ZXJlZCBieSB0aGUgcHJlc2VuY2Ugb2YgYWRkaXRpb25h bCBzdW10Y2l0YSBpbiBhIGJyaWRpLgoKCgpBcyBicmllZmx5IGltcGxpZWQgZWFybGllciwgYWxs IHRoZXNlIGNvbnN0cnVjdHMgYmFzaWNhbGx5IHRyZWF0IGJyaWRpIGFzIGlmIHRoZXkgd2VyZSBw b2ludC1saWtlIGluIHRpbWUgYW5kIHNwYWNlLiBJbiBhY3R1YWxpdHksIG1vc3QgZXZlbnRzIHBs YXkgb3V0IG92ZXIgYSBzcGFuIG9mIHRpbWUgYW5kIHNwYWNlLiBJbiB0aGUgZm9sbG93aW5nIGZl dyBwYXJhZ3JhcGhzLCB3ZSB3aWxsIGxlYXJuIGhvdyB0byBzcGVjaWZ5IGludGVydmFscyBvZiB0 aW1lIGFuZCBzcGFjZS4KCgoKX18nJ3plJ2knJ19fIHN1bXRjaXRhOiBzcGFubmluZyBvdmVyIHRo ZSBzaG9ydCB0aW1lIG9mIHtzdW10aX0KCl9fJyd6ZSdhJydfXyBzdW10Y2l0YTogc3Bhbm5pbmcg b3ZlciB0aGUgdW5zcGVjaWZpZWQgKG1lZGl1bSkgdGltZSBvZiB7c3VtdGl9CgpfXycnemUndScn X18gc3VtdGNpdGE6IHNwYW5uaW5nIG92ZXIgdGhlIGxvbmcgdGltZSBvZiB7c3VtdGl9CgoKCl9f Jyd2ZSdpJydfXyBzdW10Y2l0YTogc3Bhbm5pbmcgb3ZlciB0aGUgc2hvcnQgc3BhY2Ugb2Yge3N1 bXRpfQoKX18nJ3ZlJ2EnJ19fIHN1bXRjaXRhOiBzcGFubmluZyBvdmVyIHRoZSB1bnNwZWNpZmll ZCAobWVkaXVtKSBzcGFjZSBvZiB7c3VtdGl9CgpfXycndmUndScnX18gc3VtdGNpdGE6IHNwYW5u aW5nIG92ZXIgdGhlIGxvbmcgc3BhY2Ugb2Yge3N1bXRpfQoKCgpTaXggd29yZHMgYXQgYSB0aW1l LCBJIGtub3csIGJ1dCByZW1lbWJlcmluZyB0aGUgdm93ZWwgc2VxdWVuY2UgYW5kIHRoZSBzaW1p bGFyaXR5IG9mIHRoZSBpbml0aWFsIGxldHRlciB6IGZvciB0ZW1wb3JhbCB0ZW5zZXMgYW5kIHYg Zm9yIHNwYWNpYWwgdGVuc2VzIG1pZ2h0IGhlbHAgdGhlIG1lbW9yaXppbmcuCgpfXycnLm9pJydf XyAtIGF0dGl0dWRpbmFsOiBwYWluIC0gcGxlYXN1cmUKCgoKVHJhbnNsYXRlOiAnJy5vaSBkYWkg ZG8gdmUndSB7a3V9IGtsYW1hIGxvIGRvdGNvIGd1Z2RlIHtrdX0gemUndSB7a3V9IHt2YXV9JycK CgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxPdWNoLCB5b3Ugc3BlbmQgYSBsb25nIHRpbWUgdHJh dmVsaW5nIGEgbG9uZyBzcGFjZSB0byBHZXJtYW554oCdIH5+CgoKClRob3VnaCBtb3N0IHBlb3Bs ZSBhcmUgbm90IGZhbWlsaWFyIHdpdGggc3BhY2lhbCB0ZW5zZXMsIHRoZXNlIG5ldyB3b3JkcyBj YW4gb3BlbiB1cCBmb3Igc29tZSBwcmV0dHkgc3dlZXQgdXNlcy4gT25lIGNvdWxkLCBmb3IgaW5z dGFuY2UsIHRyYW5zbGF0ZSDigJxUaGF0J3MgYSBiaWcgZG9n4oCdIGFzICcndGkgdmUndSB7a3V9 IGdlcmt1IHt2YXV9JycuIFNheWluZzog4oCcVGhpcyB0aGluZyBkb2dzIGZvciBhIGxvbmcgc3Bh Y2XigJ0gbWFrZXMgeW91IHNvdW5kIHJldGFyZGVkIGluIEVuZ2xpc2gsIGJ1dCB3ZWxsLXNwb2tl biBpbiBMb2piYW4hCgoKCicnemUndScnIGFuZCBpdHMgYnJvdGhlcnMgYWxzbyBjb21iaW5lIHdp dGggb3RoZXIgdGVuc2VzIHRvIGZvcm0gY29tcG91bmQgdGVuc2VzLiBUaGUgcnVsZSBmb3IgJyd6 ZSd1JycgYW5kIHRoZSBvdGhlcnMgYXJlIHRoYXQgYW55IHRlbnNlcyBwcmVjZWRpbmcgaXQgbWFy a3MgYW4gZW5kcG9pbnQgb2YgdGhlIHByb2Nlc3MgKHJlbGF0aXZlIHRvIHRoZSBwb2ludCBvZiBy ZWZlcmVuY2UpIGFuZCBhbnkgdGVuc2VzIGNvbWluZyBhZnRlciBpdCBtYXJrcyB0aGUgb3RoZXIg ZW5kcG9pbnQgcmVsYXRpdmUgdG8gdGhlIGZpcnN0LiBUaGlzIHNob3VsZCBiZSBkZW1vbnN0cmF0 ZWQgd2l0aCBhIGNvdXBsZSBvZiBleGFtcGxlczoKCicnLm8nb2N1J2kgZG8gY2l0a2EgcHUge2t1 fSB6ZSd1IHtrdX0gYmEge2t1fSB6dSB7a3V9IHt2YXV9JycgLSDigJx7dG9sZXJhbmNlfSB5b3Ug ZWF0IGJlZ2lubmluZyBpbiB0aGUgcGFzdCBhbmQgZm9yIGEgbG9uZyB0aW1lIGVuZGluZyBhdCBz b21lIHBvaW50IGZhciBpbnRvIHRoZSBmdXR1cmUgb2Ygd2hlbiB5b3Ugc3RhcnRlZOKAnSBvciDi gJxIbXBmLCB5b3UgYXRlIGZvciBhIGxvbmcgdGltZeKAnS4gT25lIGNhbiBhbHNvIGNvbnRyYXN0 ICcnZG8gY2Ege2t1fSB6ZSdpIHtrdX0gcHUge2t1fSBrbGFtYSB7dmF1fScnIHdpdGggJydkbyBw dSB7a3V9IHplJ2kge2t1fSBjYSB7a3V9IGtsYW1hIHt2YXV9JycuIFRoZSBmaXJzdCBldmVudCBv ZiB0cmF2ZWxpbmcgaGFzIG9uZSBlbmRwb2ludCBpbiB0aGUgcHJlc2VudCBhbmQgZXh0ZW5kcyBh IGxpdHRsZSB0b3dhcmRzIHRoZSBwYXN0LCB3aGlsZSB0aGUgc2Vjb25kIGV2ZW50IGhhcyBvbmUg ZW5kcG9pbnQgaW4gdGhlIHBhc3QgYW5kIGV4dGVuZHMgb25seSB0byB0aGUgcHJlc2VudCAodGhh dCBpcywgc2xpZ2h0eSBpbnRvIHRoZSBwYXN0IG9yIGZ1dHVyZSkgb2YgdGhhdCBlbmRwb2ludC4K Cl9fJydqbWl2ZScnX18g4oCceDEgaXMgYWxpdmUgYnkgc3RhbmRhcmQgeDLigJ0KCgoKV2hhdCBk b2VzICcnLnVpIG1pIHB1IHtrdX0gemkge2t1fSB6ZSd1IHtrdX0gam1pdmUge3ZhdX0nJyBleHBy ZXNzPwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnHtoYXBwaW5lc3MhfSBJIGxpdmUgZnJvbSBh IGxpdHRsZSBpbnRvIHRoZSBwYXN0IGFuZCBhIGxvbmcgd2F5IHRvd2FyZHMgdGhlIGZ1dHVyZSBv ciBwYXN0IChvYnZpb3VzbHkgdGhlIGZ1dHVyZSwgaW4gdGhpcyBjYXNlKSBvZiB0aGF0IGV2ZW50 4oCdIG9yIOKAnEkgYW0geW91bmcsIGFuZCBoYXZlIG1vc3Qgb2YgbXkgbGlmZSBhaGVhZCBvZiBt ZSA6KeKAnX5+CgoKCkp1c3QgdG8gdW5kZXJsaW5lIHRoZSBzaW1pbGFyaXR5IHdpdGggc3BhY2lh bCB0ZW5zZXMsIGxldCdzIGhhdmUgYW5vdGhlciBleGFtcGxlLCB0aGlzIHRpbWUgd2l0aCBzcGFj aWFsIHRlbnNlczoKCl9fJycudSdlJydfXyBhdHRpdHVkaW5hbDogd29uZGVyIC0gY29tbW9ucGxh Y2UKCgoKJycudSdlIHphJ2Ege2t1fSBidSd1IHtrdX0gdmUndSB7a3V9IGNhJ3Uge2t1fSB6ZGFu aSB7dmF1fScnIC0gV2hhdCBkb2VzIGl0IG1lYW4/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6IOKA nHt3b25kZXJ9IHtJIG9ic2VydmUhfSBFeHRlbmRpbmcgYSBsb25nIHNwYWNlIGZyb20gaGVyZSB0 byBteSBmcm9udCBpcyBhIGhvbWUu4oCdIG9yIOKAnFdvdywgdGhpcyBob21lIGV4dGVuZGluZyBh aGVhZCBpcyBodWdlIeKAnX5+CgoKCkJlZm9yZSB3ZSBjb250aW51ZSB3aXRoIHRoaXMgc3ludGF4 LWhlYXZ5IHRlbnNlIHN5c3RlbSwgaSByZWNvbW1lbmQgc3BlbmRpbmcgYXQgbGVhc3QgdGVuIG1p bnV0ZXMgZG9pbmcgc29tZXRoaW5nIHdoaWNoIGRvZXNuJ3Qgb2NjdXB5IHlvdXIgYnJhaW4gaW4g b3JkZXIgdG8gbGV0IHRoZSBpbmZvcm1hdGlvbiBzaW5rIGluLiBTaW5nIGEgc29uZyBvciBlYXQg YSBjb29raWUgdmVyeSBzbG93bHkgLSB3aGF0ZXZlciwgYXMgbG9uZyBhcyB5b3UgbGV0IHlvdXIg bWluZCByZXN0LgoKCgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29uIGVsZXZlbiAoWkFoTykKClRo b3VnaCB3ZSB3b24ndCBnbyB0aHJvdWdoIGFsbCBMb2piYW4gdGVuc2UgY29uc3RydWN0cyBmb3Ig bm93LCB0aGVyZSBpcyBvbmUgb3RoZXIga2luZCBvZiB0ZW5zZSB0aGF0IEkgdGhpbmsgc2hvdWxk IGJlIHRhdWdodCBub3cuIFRoZXNlIGFyZSBjYWxsZWQg4oCcZXZlbnQgY29udG91cnPigJ0sIGFu ZCByZXByZXNlbnQgYSB2ZXJ5IGRpZmZlcmVudCB3YXkgb2Ygdmlld2luZyB0ZW5zZXMgdGhhdCB3 ZSBoYXZlIHNlZW4gc28gZmFyLiBTbyBsZXQncyBnZXQgdG8gaXQ6CgoKClVzaW5nIHRoZSB0ZW5z ZXMgd2UgaGF2ZSBsZWFybmVkIHNvIGZhciwgd2UgY2FuIGltYWdpbmUgYW4gaW5kZWZpbml0ZSB0 aW1lIGxpbmUsIGFuZCB3ZSB0aGVuIHBsYWNlIGV2ZW50cyBvbiB0aGF0IGxpbmUgcmVsYXRpdmUg dG8gdGhlIOKAnG5vd+KAnS4gV2l0aCBldmVudCBjb250b3VycywgaG93ZXZlciwgd2UgdmlldyBl YWNoIGV2ZW50IGFzIGEgcHJvY2Vzcywgd2hpY2ggaGFzIGNlcnRhaW4gc3RhZ2VzOiBBIHRpbWUg YmVmb3JlIGl0IHVuZm9sZHMsIGEgdGltZSB3aGVuIGl0IGJlZ2lucywgYSB0aW1lIHdoZW4gaXQg aXMgaW4gcHJvY2VzcywgYSB0aW1lIHdoZW4gaXQgZW5kcywgYW5kIGEgdGltZSBhZnRlciBpdCBo YXMgZW5kZWQuIEV2ZW50IGNvbnRvdXJzIHRoZW4gdGVsbHMgdXMgd2hpY2ggcGFydCBvZiB0aGUg ZXZlbnQncyBwcm9jZXNzIHdhcyBoYXBwZW5pbmcgZHVyaW5nIHRoZSB0aW1lIHNwZWNpZmllZCBi eSB0aGUgb3RoZXIgdGVuc2VzLiBXZSBuZWVkIGEgY291cGxlIG9mIHRlbnNlcyBmaXJzdDoKCgoK X18nJ3B1J28nJ19fIC0gc3VtdGNpdGE6IGV2ZW50IGNvbnRvdXI6IEJyaWRpIGhhcyBub3QgeWV0 IGhhcHBlbmVkIGR1cmluZyB7c3VtdGl9CgpfXycnY2EnbycnX18gLSBzdW10Y2l0YTogZXZlbnQg Y29udG91cjogQnJpZGkgaXMgaW4gcHJvY2VzcyBkdXJpbmcge3N1bXRpfQoKX18nJ2JhJ28nJ19f IC0gc3VtdGNpdGE6IGV2ZW50IGNvbnRvdXI6IFRoZSBwcm9jZXNzIG9mIGJyaWRpIGhhcyBlbmRl ZCBkdXJpbmcge3N1bXRpfQoKCgpUaGlzIG5lZWRzIHRvIGJlIGRlbW9uc3RyYXRlZCBieSBzb21l IGV4YW1wbGVzLiBXaGF0J3MgJycudWkgbWkgcHUnbyB7a3V9IHNlIHpkYW5pIHt2YXV9JycgbWVh bj8KCgoKQW5zd2VyOiDigJxZYXksIEknbGwgYmVnaW4gdG8gaGF2ZSBhIGhvbWXigJ0uCgoKCkJ1 dCBoZXksIHlvdSBhc2ssIHdoeSBub3QganVzdCBzYXkgJycudWkgbWkgYmEge2t1fSBzZSB6ZGFu aSB7dmF1fScnIGFuZCBldmVuIHNhdmUgYSBzeWxsYWJsZT8gQmVjYXVzZSwgcmVtZW1iZXIsIHNh eWluZyB0aGF0IHlvdSB3aWxsIGhhdmUgYSBob21lIGluIHRoZSBmdXR1cmUgc2F5cyBub3RoaW5n IGFib3V0IHdoZXRoZXIgeW91IGhhdmUgYSBob21lIG5vdy4gVXNpbmcgJydwdSdvJycsIHRob3Vn aCwgeW91IHNheSB0aGF0IHlvdSBhcmUgbm93IGluIHRoZSBwYXN0IG9mIHRoZSBwcm9jZXNzIG9m IHlvdSBoYXZpbmcgYSBob21lLCB3aGljaCBtZWFucyB0aGF0IHlvdSBkb24ndCBoYXZlIG9uZSBu b3cuCgpOb3RlLCBieSB0aGUgd2F5LCB0aGF0ICcnbWkgYmEge2t1fSBzZSB6ZGFuaSB7dmF1fScn IGlzIHNpbWlsYXIgdG8gJydtaSBwdSdvIHtrdX0gc2UgemRhbmkge3ZhdX0nJywgYW5kIGxpa2V3 aXNlIHdpdGggJydiYSdvJycgYW5kICcncHUnJy4gV2h5IGRvIHRoZXkgc2VlbSByZXZlcnNlZD8g QmVjYXVzZSBldmVudCBjb250b3VycyB2aWV3IHRoZSBwcmVzZW50IGFzIHNlZW4gZnJvbSB0aGUg dmlld3BvaW50IG9mIHRoZSBwcm9jZXNzLCB3aGVyZWFzIHRoZSBvdGhlciB0ZW5zZXMgdmlldyBl dmVudHMgc2VlbiBmcm9tIHRoZSBwcmVzZW50LgoKCgpPZnRlbiwgZXZlbnQgY29udG91cnMgYXJl IG1vcmUgcHJlY2lzZSB0aGF0IG90aGVyIGtpbmQgb2YgdGVuc2VzLiBFdmVuIG1vcmUgY2xhcml0 eSBpcyBhY2hpZXZlZCBieSBjb21iaW5pbmcgc2V2ZXJhbCB0ZW5zZXM6ICcnLmEnbyBtaSBiYXtr dX0gemkge2t1fSBiYSdvIHtrdX0gZ3Vua2Ege3ZhdX0nJyAtIOKAnEkgaG9wZSBJJ3ZlIHNvb24g ZmluaXNoZWQgd29ya2luZy7igJ0KCgoKSW4gTG9qYmFuLCB3ZSBhbHNvIG9wZXJhdGUgd2l0aCBh biBldmVudCdzIOKAnG5hdHVyYWwgYmVnaW5uaW5n4oCdIGFuZCBpdHMg4oCcbmF0dXJhbCBlbmTi gJ0uIFRoZSB0ZXJtIOKAnG5hdHVyYWzigJ0gaXMgaGlnaGx5IHN1YmplY3RpdmUgaW4gdGhpcyBz ZW5zZSwgYW5kIHRoZSBuYXR1cmFsIGVuZCByZWZlcnMgdG8gdGhlIHBvaW50IGluIHRoZSBwcm9j ZXNzIHdoZXJlIGl0IHNob3VsZCBlbmQuIFlvdSBjYW4gc2F5IGFib3V0IGEgbGF0ZSB0cmFpbiwg Zm9yIGluc3RhbmNlLCB0aGF0IGl0cyBwcm9jZXNzIG9mIHJlYWNoaW5nIHlvdSBpcyBub3cgZXh0 ZW5kaW5nIGJleW9uZCBpdHMgbmF0dXJhbCBlbmQuIEFuIHVuZGVyY29va2VkLCBidXQgc2VydmVk IG1lYWwsIHNpbWlsYXJseSwgaXMgYmVpbmcgZWF0ZW4gYmVmb3JlIHRoYXQgcHJvY2VzcycgbmF0 dXJhbCBiZWdpbm5pbmcuIFRoZSBldmVudCBjb250b3VycyB1c2VkIGluIHRoZXNlIGV4YW1wbGVz IGFyZSBhcyBmb2xsb3dzOgoKCgpfXycnemEnbycnX18gLSBzdW10Y2l0YTogZXZlbnQgY29udG91 cjogQnJpZGkgaXMgaW4gcHJvY2VzcyBiZXlvbmQgaXRzIG5hdHVyYWwgZW5kIGR1cmluZyB7c3Vt dGl9CgpfXycneGEnbycnX18gLSBzdW10Y2l0YTogZXZlbnQgY29udG91cjogQnJpZGkgaXMgaW1t YXR1cmVseSBpbiBwcm9jZXNzIGR1cmluZyB7c3VtdGl9CgoKCl9fJydjaWRqYScnX186IOKAnHgx IGlzIGZvb2QsIHdoaWNoIGlzIGVkaWJsZSBmb3IgeDLigJ0KCgoKVHJhbnNsYXRlOiAnJy5vaSBk byBjaXRrYSB6YSdvIGxvIG51IGRvIGJhJ28ge2t1fSB1J2UgY2l0a2Egem8nZSBub2kgY2lkamEg ZG8ge3ZhdX0ge2t1J299IHt2YXV9IHtrZWl9IHtrdX0nJwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5 OuKAnE95LCB5b3Uga2VlcCBlYXRpbmcgd2hlbiB5b3UgaGF2ZSBmaW5pc2hlZCwgaW5jcmVkaWJs eSwgZWF0aW5nIHNvbWV0aGluZyBlZGlibGUh4oCdfn4KCgoKe2ltZyBmaWxlSWQ9IjIiIHRodW1i PSJ5IiByZWw9ImJveFtnXSJ9CgpJbWFnZSBhYm92ZTogWkFoTyB0ZW5zZXMgKGV2ZW50IGNvbnRv dXJzKS4gQWxsIHRlbnNlcyBhYm92ZSB0aGUgbGluZSBvZiB0aGUgZXZlbnQgc2lnbmlmeSBzdGFn ZXMgY292ZXJpbmcgYW4gYW1vdW50IG9mIHRpbWUuIEFsbCB0ZW5zZXMgYmVsb3cgdGhlIGV2ZW50 IGxpbmUgc2lnbmlmeSBzdGFnZXMgd2hpY2ggYXJlIHBvaW50LWxpa2UuCgoKCkFsbCBvZiB0aGVz ZSB0ZW5zZXMgaGF2ZSBiZWVuIGRlc2NyaWJpbmcgc3RhZ2VzIG9mIGEgcHJvY2VzcyB3aGljaCB0 YWtlcyBzb21lIHRpbWUgKGFzIHNob3duIG9uIHRoZSBncmFwaCBhYm92ZTsgdGhvc2UgdGVuc2Vz IGFib3ZlIHRoZSBldmVudCBsaWtlKS4gQnV0IG1hbnkgb2YgdGhlIGV2ZW50IGNvbnRvdXJzIGRl c2NyaWJlcyBwb2ludCBsaWtlIHN0YWdlcyBpbiB0aGUgcHJvY2VzcywgbGlrZSBpdHMgYmVnaW5u aW5nLiBBcyBpcyB0cnVlIG9mICcnY2EnJyBhbmQgJydidSd1JycsIHRoZXkgYWN0dWFsbHkgZXh0 ZW5kIHNsaWdodGx5IGludG8gdGhlIHBhc3QgYW5kIGZ1dHVyZSBvZiB0aGF0IHBvaW50LCBhbmQg bmVlZCBub3QgdG8gYmUgcHJlY2lzZS4KCgoKVGhlIHR3byBtb3N0IGltcG9ydGFudCBwb2ludC1s aWtlIGV2ZW50IGNvbnRvdXJzIGFyZToKCl9fJydjbydhJydfXyAtIHN1bXRjaXRhOiBldmVudCBj b250b3VyOiBCcmlkaSBpcyBhdCBpdHMgYmVnaW5uaW5nIGR1cmluZyB7c3VtdGl9CgpfXycnY28n dScnX18gLSBzdW10Y2l0YTogZXZlbnQgY29udG91cjogQnJpZGkgaXMgYXQgaXRzIGVuZGluZyBk dXJpbmcge3N1bXRpfQoKCgpGdXJ0aGVybW9yZSwgdGhlcmUgaXMgYSBwb2ludCB3aGVyZSB0aGUg cHJvY2VzcyBpcyBuYXR1cmFsbHkgY29tcGxldGUsIGJ1dCBub3QgbmVjZXNzYXJpbHkgaGFzIGVu ZGVkIHlldDoKCl9fJydtbyd1JydfXyAtIHN1bXRjaXRhOiBldmVudCBjb250b3VyOiBCcmlkaSBp cyBhdCBpdHMgbmF0dXJhbCBlbmRpbmcgZHVyaW5nIHtzdW10aX0KCk1vc3Qgb2YgdGhlIHRpbWUs IHRob3VnaCwgcHJvY2Vzc2VzIGFjdHVhbGx5IGVuZCBhdCB0aGVpciBuYXR1cmFsIGVuZGluZzsg dGhpcyBpcyB3aGF0IG1ha2VzIGl0IG5hdHVyYWwuIFRyYWlucyBhcmUgbm90IHVzdWFsbHkgbGF0 ZSwgYW5kIHBlb3BsZSB1c3VhbGx5IHJldHJhaW4gdGhlbXNlbHZlcyB0byBlYXQgb25seSBlZGli bGUgZm9vZC4KCgoKU2luY2UgYSBwcm9jZXNzIGNhbiBiZSBpbnRlcnJ1cHRlZCBhbmQgcmVzdW1l ZCwgdGhlc2UgcG9pbnRzIGhhdmUgZWFybmVkIHRoZWlyIG93biBldmVudCBjb250b3VyIGFsc286 CgpfXycnZGUnYScnX18gLSBzdW10Y2l0YTogZXZlbnQgY29udG91cjogQnJpZGkgaXMgcGF1c2lu ZyBkdXJpbmcge3N1bXRpfQoKX18nJ2RpJ2EnJ19fIC0gc3VtdGNpdGE6IGV2ZW50IGNvbnRvdXI6 IEJyaWRpIGlzIHJlc3VtaW5nIGR1cmluZyB7c3VtdGl9CgoKCkluIGZhY3QsIHNpbmNlICcnanVu ZGknJyBtZWFucyDigJx4MSBwYXlzIGF0dGVudGlvbiB0byB4MuKAnSwgJydkZSdhIGp1bmRpJycg YW5kICcnZGknYSBqdW5kaScnIGFyZSBjb21tb24gTG9qYmFuIHdheXMgb2Ygc2F5aW5nIOKAnEJS QuKAnSBhbmQg4oCcYmFja+KAnS4gT25lIGNvdWxkIG9mIGNvdXJzZSBhbHNvIHNheSB0aGUgZXZl bnQgY29udG91cnMgYnkgdGhlbXNlbHZlcyBhbmQgaG9wZSB0aGUgcG9pbnQgZ2V0cyBhY3Jvc3Mu CgoKCkZpbmFsbHksIG9uZSBjYW4gdHJlYXQgYW4gZW50aXJlIGV2ZW50LCBmcm9tIHRoZSBiZWdp bm5pbmcgdG8gdGhlIGVuZCBhcyBvbmUgc2luZ2xlIHBvaW50IHVzaW5nICcnY28naScnOgoKX18n J3Blbm1pJydfXyDigJx4MSBtZWV0cyB4MiBhdCBsb2NhdGlvbiB4M+KAnQoKJydtaSBwdSB7a3V9 IHppIHtrdX0gY28naSB7a3V9IHBlbm1pIGxvIGRvdGNvIHByZW51IHtrdX0ge3ZhdX0nJyAtIOKA nEEgbGl0dGxlIHdoaWxlIGFnbywgSSB3YXMgYXQgdGhlIHBvaW50IGluIHRpbWUgd2hlcmUgaSBt ZXQgYSBHZXJtYW4gcGVyc29u4oCdCgoKCgoKISFMb2piYW4gTGVzc29ucyAtIExlc3NvbiB0d2Vs dmUgKG9yZGVycyBhbmQgcXVlc3Rpb25zKQoKUGhldywgdGhvc2UgdHdvIGxvbmcgbGVzc29ucyB3 aXRoIHN5bnRheCBoZWF2eSBMb2piYW4gZ2l2ZXMgdGhlIGJyYWluIHNvbWV0aGluZyB0byBwb25k ZXIgYWJvdXQuIEVzcGVjaWFsbHkgYmVjYXVzZSBpdCdzIHNvIGRpZmZlcmVudCBmcm9tIEVuZ2xp c2guIFNvIGxldCdzIHR1cm4gdG8gc29tZXRoaW5nIGEgbGl0dGxlIGxpZ2h0ZXI6IE9yZGVycyBh bmQgcXVlc3Rpb25zLgoKCgpXaGF0IHRoZS4uLiBfX3NpdCB1cCBhbmQgZm9jdXMhX18KCgoKU2lu Y2UgdGhlIHdheSB0byBleHByZXNzIG9yZGVycyBpbiBFbmdsaXNoIGlzIHRvIGxlYXZlIG91dCB0 aGUgc3ViamVjdCBvZiB0aGUgY2xhdXNlLCB3aHkgZGlkIHlvdSBhc3N1bWUgdGhhdCBpdCB3YXMg eW91IEkgd2FzIHNwZWFraW5nIHRvLCBhbmQgbm90IG9yZGVyaW5nIG15c2VsZiwgb3IgZXhwcmVz c2luZyB0aGUgb2JsaWdhdGlvbiBzb21lb25lIGVsc2UgaGFzPyBCZWNhdXNlIHRoZSBFbmdsaXNo IGxhbmd1YWdlIHVuZGVyc3RhbmRzIHRoYXQgb3JkZXJzLCBieSB0aGVpciB2ZXJ5IG5hdHVyZSwg YXJlIGFsd2F5cyBkaXJlY3RlZCB0b3dhcmRzIHRoZSBsaXN0ZW5lciAtIHRoZSDigJx5b3XigJ0s IGFuZCBzbyB0aGUgc3ViamVjdCBpcyBub3QgbmVjZXNzYXJ5LgoKSW4gTG9qYmFuLCBlbGlkaW5n IHRoZSBzdWJqZWN0IHlpZWxkcyAnJ3pvJ2UnJywgc28gdGhhdCBwb3NzaWJpbGl0eSBpcyBzYWRs eSBub3Qgb3BlbiB0byB1cy4gSW5zdGVhZCwgd2UgdXNlIHRoZSB3b3JkICcna28nJywgd2hpY2gg aXMgdGhlIGltcGVyYXRpdmUgZm9ybSBvZiAnJ2RvJycuIEdyYW1tYXRpY2FsbHkgYW5kIGJyaWRp LXdpc2UsIGl0J3MgZXF1aXZhbGVudCB0byAnJ2RvJycsIGJ1dCBpdCBhZGRzIGEgbGF5ZXIgb2Yg c2VtYW50aWNzLCBzaW5jZSBpdCB0dXJucyBldmVyeSBzdGF0ZW1lbnQgd2l0aCAnJ2tvJycgaW4g aXQgaW50byBhbiBvcmRlci4g4oCcRG8gc3VjaCB0aGF0IHRoaXMgc2VudGVuY2UgaXMgdHJ1ZSBm b3IgeW91PScna28nJyHigJ0gRm9yIHRoZSBzYW1lIHJlYXNvbiB3ZSBkb24ndCBuZWVkIHRoZSBz dWJqZWN0IGluIEVuZ2xpc2ggc2VudGVuY2VzLCB3ZSBkb24ndCBuZWVkIG9yZGVyLXdvcmRzIGRl cml2ZWQgZnJvbSBhbnkgb3RoZXIgc3VtdGkgdGhhbiAnJ2RvJycuCgoKCkhvdyBjb3VsZCB5b3Ug b3JkZXIgb25lIHRvIGdvIGZhciBhd2F5IGZvciBhIGxvbmcgdGltZSAodXNpbmcgJydrbGFtYScn IGFzIHRoZSBvbmx5IHNlbGJyaT8pCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6a28gdmUndSB6ZSd1 IGtsYW1hfn4KCignJy5pIHphJ2EgZGFpIGEnbyBtaSBjYSBjbyd1IGNpc2thIGxvIGZhJ29ybWEn byAuaSBrbyBqaW1wZSB2YXUgLnVpJycpIC0gbG9vayB1cCBjaXNrYSBhbmQgd29yayBpdCBvdXQu CgoKClF1ZXN0aW9ucyBpbiBMb2piYW4gYXJlIHZlcnkgZWFzeSB0byBsZWFybiwgYW5kIHRoZXkg Y29tZSBpbiB0d28ga2luZHM6IEZpbGwgaW4gdGhlIGJsYW5rLCBhbmQgdHJ1ZS9mYWxzZSBxdWVz dGlvbnMuIExldCdzIGJlZ2luIHdpdGggdGhlIHRydWUtZmFsc2UgcXVlc3Rpb24ga2luZCAtIHRo YXQncyBwcmV0dHkgb3ZlcmNvbWVhYmxlLCBzaW5jZSBpdCBvbmx5IGludm9sdmVzIG9uZSB3b3Jk LCAnJ3h1JycuCgonJ3h1Jycgd29ya3MgbGlrZSBhbiBhdHRpdHVkaW5hbCBpbiB0aGUgc2Vuc2Ug dGhhdCBpdCBjYW4gZ28gYW55d2hlcmUsIGFuZCBpdCBhcHBsaWVzIHRvIHRoZSBwcmVjZWRpbmcg d29yZCAob3IgY29uc3RydWN0KS4gSXQgdGhlbiB0cmFuc2Zvcm1zIHRoZSBzZW50ZW5jZSBpbnRv IGEgcXVlc3Rpb24sIGFza2luZyB3aGV0aGVyIGl0IGlzIHRydWUgb3Igbm90LiBJbiBvcmRlciB0 byBhZmZpcm0sIHlvdSBzaW1wbHkgcmVwZWF0IHRoZSBicmlkaToKCicneHUgdmUndSB6ZGFuaSBk bycnICcnLmkgdmUndSB6ZGFuaSBtaScnLCBvciB5b3UganVzdCByZXBlYXQgdGhlIHRoZSBzZWxi cmksIHdoaWNoIGlzIHRoZSBicmlkaSB3aXRoIGFsbCB0aGUgc3VtdGkgYW5kIHRlbnNlcyBlbGlk ZWQ6ICcnemRhbmknJy4KClRoZXJlIGlzIGFuIGV2ZW4gZWFzaWVyIHdheSB0byBhZmZpcm0gdXNp bmcgYnJpa2EnaSwgYnV0IHRob3NlIGFyZSBhIHRhbGUgZm9yIGFub3RoZXIgdGltZS4gVG8gYW5z d2VyIOKAnG5v4oCdIG9yIOKAnGZhbHNl4oCdLCB5b3Ugc2ltcGx5IGFuc3dlciB3aXRoIHRoZSBi cmlkaSBuZWdhdGVkLiBUaGF0IHRvbywgd2lsbCBiZSBsZWZ0IGZvciBsYXRlciwgYnV0IHdlIHdp bGwgcmV0dXJuIHRvIHF1ZXN0aW9uIGFuc3dlcmluZyBieSB0aGVuLgoKCgpUaGUgb3RoZXIga2lu ZCBpcyBmaWxsIGluIHRoZSBibGFuay4gSGVyZSwgeW91IGFzayBmb3IgdGhlIHF1ZXN0aW9uIHdv cmQgdG8gYmUgcmVwbGFjZWQgZm9yIGEgY29uc3RydWN0LCB3aGljaCBtYWtlcyB0aGUgYnJpZGkg Y29ycmVjdC4gVGhlcmUgYXJlIHNldmVyYWwgb2YgdGhlc2Ugd29yZHMsIGRlcGVuZGluZyBvbiB3 aGF0IHlvdSBhcmUgYXNraW5nIGFib3V0OgoKX18nJ21hJydfXyAtIHN1bXRpIHF1ZXN0aW9uCgpf XycnbW8nJ19fIC0gc2VsYnJpIHF1ZXN0aW9uCgpfXycneG8nJ19fIC0gbnVtYmVyIHF1ZXN0aW9u CgpfXycnY3UnZScnX18gLSB0ZW5zZSBxdWVzdGlvbgoKCgpBcyB3ZWxsIGFzIG1hbnkgb3RoZXJz LiBUbyBhc2sgYWJvdXQgYSBzdW10aSwgeW91IHRoZW4ganVzdCBwbGFjZSB0aGUgcXVlc3Rpb24g d29yZCB3aGVyZSB5b3Ugd2FudCB5b3VyIGFuc3dlcjogJydkbyBkdW5kYSBtYSBtaScnIC0gYXNr cyBmb3IgdGhlIHgyIHRvIGJlIGZpbGxlZCB3aXRoIGEgY29ycmVjdCBzdW10aS4g4oCcWW91IGdp dmUgd2hhdCB0byBtZT/igJ0uIFRoZSBjb21iaW5hdGlvbiBvZiAnJ3N1bXRjaXRhJycgKyAnJ21h JycgaXMgdmVyeSB1c2VmdWwgaW5kZWVkOgoKX18nJ211J2knJ19fIC0gc3VtdGNpdGE6IG1vdGl2 YXRlZCBieSB0aGUgYWJzdHJhY3Rpb24gb2Yge3N1bXRpfQoKCgonJy5vaSBkbyBkYXJ4aSBtaSBt dSdpIG1hJycgLSDigJxPeSwgd2h5IGRvIHlvdSBoaXQgbWU/IeKAnQoKCgpMZXQncyB0cnkgYW5v dGhlciBvbmUuIFRoaXMgdGltZSwgeW91IHRyYW5zbGF0ZToKCicnLnVpIGRhaSBkbyBjYSB6ZSd1 IHB1IG1vJycKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxZb3UncmUgaGFwcHksIHdoYXQgaGF2 ZSB5b3UgYmVlbiBkb2luZyBhbGwgdGhpcyBsb25nIHRpbWUgdW50aWwgbm93P+KAnSBUZWNobmlj YWxseSwgaXQgY291bGQgYWxzbyBtZWFuIOKAnHdoYXQgaGF2ZSB5b3UgYmVlbj/igJ0sIGJ1dCBh bnN3ZXJpbmcgd2l0aCAnJy51YSBuYWkgbGknYSByZW1uYScnIChVaCwgaHVtYW4sIG9idmlvdXNs eSkgaXMganVzdCBiZWluZyBpbmNyZWRpYmx5IGFubm95aW5nIG9uIHB1cnBvc2Uufn4KCgoKU2lu Y2UgdG9uZSBvZiB2b2ljZSBvciBzZW50ZW5jZSBzdHJ1Y3R1cmUgZG9lcyBub3QgcmV2ZWFsIHdo ZXRoZXIgYSBzZW50ZW5jZSBpcyBhIHF1ZXN0aW9uIG9yIG5vdCwgb25lIGJldHRlciBub3QgbWlz cyB0aGUgcXVlc3Rpb24gd29yZC4gVGhlcmVmb3JlLCBzaW5jZSBwZW9wbGUgdGVuZCB0byBmb2N1 cyBtb3JlIG9uIHdvcmRzIGluIHRoZSBiZWdpbm5pbmcgb3IgYXQgdGhlIGVuZCBvZiBzZW50ZW5j ZXMsIGl0J3MgdXN1YWxseSB3b3J0aCB0aGUgd2hpbGUgdG8gcmUtb3JkZXIgdGhlIHNlbnRlbmNl IHNvIHRoYXQgdGhlIHF1ZXN0aW9uIHdvcmRzIGFyZSBhdCB0aG9zZSBwbGFjZXMuIElmIHRoYXQg aXMgbm90IGZlYXNhYmxlLCAnJ3BhdScnIGlzIGFuIGF0dGl0dWRpbmFsIG1hcmtpbmcgdGhhdCB0 aGUgc2VudGVuY2UgaXMgYSBxdWVzdGlvbi4gQ29udHJhcnksICcncGF1IG5haScnIGV4cGxpY2l0 bHkgbWFya3MgYW55IHF1ZXN0aW9uIGFzIGJlaW5nIHJoZXRvcmljYWwuCgoKCldoaWxlIHdlIGFy ZSBvbiB0aGUgdG9waWMgb2YgcXVlc3Rpb25zLCBpdCdzIGFsc28gYXBwcm9wcmlhdGUgdG8gbWVu dGlvbiB0aGUgd29yZCAnJ2thdScnLCB3aGljaCBpcyBhIG1hcmtlciBmb3Ig4oCcaW5kaXJlY3Qg cXVlc3Rpb27igJ0uIFdoYXQncyBhbiBpbmRpcmVjdCBxdWVzdGlvbiwgdGhlbj8gV2VsbCwgdGFr ZSBhIGxvb2sgYXQgdGhlIHNlbnRlbmNlOiAnJ21pIGRqdW5vIGxvIGR1J3UgbWEga2F1IHpkYW5p IGRvJycgLSDigJxJIGtub3cgd2hhdCBpcyB5b3VyIGhvbWUu4oCdCgpfXycnZGp1bm8nJ19fIOKA nHgxIGtub3dzIGZhY3QocykgeDIgYXJlIHRydWUgYWJvdXQgeDMgYnkgZXBpc3RlbW9sb2d5IHg0 4oCdCgpPbmUgY2FuIHRoaW5rIGl0IGFzIHRoZSBhbnN3ZXIgdG8gdGhlIHF1ZXN0aW9uICcnbWEg emRhbmkgZG8nJy4gTW9yZSByYXJlbHksIG9uZSBjYW4gbWFyayBhIG5vbi1xdWVzdGlvbiB3b3Jk IHdpdGggJydrYXUnJywgaW4gd2hpY2ggY2FzZSBvbmUgc3RpbGwgY2FuIGltYWdpbmUgaXQgYXMg dGhlIGFuc3dlciB0byBhIHF1ZXN0aW9uOiAnJ21pIGppbXBlIGxvIGR1J3UgZHVuZGEgdGkga2F1 IGRvJycgLSDigJxJIGtub3cgd2hhdCB5b3UgaGF2ZSBiZWVuIGdpdmVuLCBpdCBpcyB0aGlzLuKA nQoKCgoKCiEhTG9qYmFuIExlc3NvbnMgLSBMZXNzb24gdGhpcnRlZW4gKG1vcnBob2xvZ3kgYW5k IHdvcmQgY2xhc3NlcykKCkJhY2sgdG8gbW9yZSBoZWF2eSAoYW5kIGludGVyZXN0aW5nKSBzdHVm Zi4KCklmIHlvdSBoYXZlbid0IGFscmVhZHksIEkgc3Ryb25nbHkgc3VnZ2VzdCB5b3UgZmluZCB0 aGUgTG9qYmFuaWMgcmVjb3JkaW5nIGNhbGxlZCAiU3RvcnkgVGltZSB3aXRoIFVuY2xlIFJvYmlu Iiwgb3IgbGlzdGVuIHRvIHNvbWVvbmUgc3BlYWsgTG9qYmFuIG9uIE11bWJsZSwgYW5kIHRoZW4g cHJhY3RpY2UgeW91ciBwcm9udW5jaWF0aW9uLiBIYXZpbmcgYW4gaW50ZXJuYWwgY29udmVyc2F0 aW9uIGluIHlvdXIgaGVhZCBpbiBMb2piYW4gaXMgb25seSBnb29kIGlmIGl0IGlzbid0IHdpdGgg YWxsIHRoZSB3cm9uZyBzb3VuZHMsIGFuZCBsZWFybmluZyBwcm9udW5jaWF0aW9uIGZyb20gd3Jp dHRlbiB0ZXh0IGlzIGhhcmQuIFRoZXJlZm9yZSwgdGhpcyBsZXNzb24gd2lsbCBub3QgYmUgb24g dGhlIExvamJhbiBzb3VuZHMsIGhvd2V2ZXIgaW1wb3J0YW50IHRoZXkgbWlnaHQgYmUsIGJ1dCBh IHNob3J0IGludHJvZHVjdGlvbiB0byB0aGUgTG9qYmFuIG1vcnBob2xvZ3kuCgoKCldoYXQgaXMg bW9ycGhvbG9neT8gVGhlIHdvcmQgaXMgZGVyaXZlZCBmcm9tIEdyZWVrIG1lYW5pbmcg4oCcdGhl IHN0dWR5IG9mIHNoYXBlc+KAnSwgYW5kIGluIHRoaXMgY29udGV4dCwgd2UgdGFsayBhYm91dCBo b3cgd2UgbWFrZSB3b3JkcyBmcm9tIGxldHRlcnMgYW5kIHNvdW5kcywgYXMgY29udHJhc3RlZCB3 aXRoIHN5bnRheCAtIGhvdyB3ZSBtYWtlIHNlbnRlbmNlcyB3aXRoIHdvcmRzLiBMb2piYW4gb3Bl cmF0ZXMgd2l0aCBkaWZmZXJlbnQgbW9ycGhvbG9naWNhbCB3b3JkIGNsYXNzZXMsIHdoaWNoIGFy ZSBhbGwgZGVmaW5lZCBieSB0aGVpciBtb3JwaG9sb2d5LiBUbyBtYWtlIGl0IGFsbCBuaWNlIGFu ZCBzeXN0ZW1hdGljIHRob3VnaCwgd29yZHMgd2l0aCBjZXJ0YWluIGZ1bmN0aW9ucyB0ZW5kIHRv IGJlIGdyb3VwZWQgYnkgbW9ycGhvbG9naWNhbCBjbGFzc2VzLCBidXQgZXhjZXB0aW9ucyBtYXkg b2NjdXIuCgp8fCAgIENsYXNzfE1lYW5pbmd8RGVmaW5lZCBCeXxUeXBpY2FsIEZ1bmN0aW9uCgog ICBXb3Jkczp8ICAgfCAgIHwgICAKCiAgIEJyaXZsYXwgICBicmlkaS13b3JkfCAgIEFtb25nIGZp cnN0IDUgbGV0dGVycyAoZXhjbHVkaW5nIOKAnCDigJgg4oCcKSBpcyBhIGNvbnNvbmFudCBjbHVz dGVyLiBFbmRzIGluIHZvd2VsLiAgIHwgICBBY3RzIGFzIGEgc2VsYnJpIGJ5IGRlZmF1bHQuIEFs d2F5cyBoYXMgYSBwbGFjZSBzdHJ1Y3R1cmUuCgogICAtLUdpc211fCAgIFJvb3Qtd29yZHwgNSBs ZXR0ZXJzIG9mIHRoZSBmb3JtIENWQ0NWIG9yIENDVkNWICAgfCAgIE9uZSB0byBmaXZlIHN1bXRp IHBsYWNlcy4gQ292ZXJzIGJhc2ljIGNvbmNlcHRzLgoKICAgLS1MdWp2b3wgIENvbXBvdW5kIHdv cmQuIERlcml2ZWQgZnJvbSBmcm9tIOKAnGx1anZsYeKAnSwgbWVhbmluZyDigJxjb21wbGV4IHdv cmTigJ0gfCAgIE1pbi4gNiBsZXR0ZXJzLiBNYWRlIGJ5IHN0cmluZ2luZyByYWZzaSB0b2dldGhl ciB3aXRoIGJpbmRpbmcgbGV0dGVycyBpZiBuZWNlc3NhcnkufCAgIENvdmVycyBtb3JlIGNvbXBs ZXggY29uY2VwdHMgdGhhbiBnaXNtdS4KCiAgIC0tRnUnaXZsYXwgIENvcHktd29yZCB8IEFzIGJy aXZsYSwgYnV0IGRvIG5vdCBtZWV0IGRlZmluaW5nIGNyaXRlcmlhIG9mIGdpc211IG9yIGx1anZv LCBleDogJydhbmdlbGknJyAgfCAgIENvdmVycyB1bmlxdWUgY29uY2VwdHMgbGlrZSBuYW1lcyBv ZiBwbGFjZXMgb3Igb3JnYW5pc21zLgoKICAgQ21ldmxhfCAgTmFtZS13b3JkIHwgICBCZWdpbm5p bmcgYW5kIGVuZGluZyB3aXRoIHBhdXNlIChmdWxsIHN0b3ApLiBMYXN0IHNvdW5kL2xldHRlciBp cyBhIGNvbnNvbmFudC58ICAgQWx3YXlzIGFjdHMgYXMgYSBuYW1lIG9yIGFzIHRoZSBjb250ZW50 IG9mIGEgcXVvdGUuCgogICBDbWF2b3wgICBHcmFtbWFyLXdvcmQuIEZyb20g4oCcY21hdmxh4oCd LCBtZWFuaW5nIOKAnHNtYWxsIHdvcmTigJ18IE9uZSBjb25zb25hbnQgb3IgemVybywgYWx3YXlz IGF0IHRoZSBiZWdpbm5pbmcuIEVuZHMgaW4gYSB2b3dlbC4gIHwgICBHcmFtbWF0aWNhbCBmdW5j dGlvbnMuIFZhcmllcwoKICAgV29yZC1mcmFnbWVudHM6fCAgIHwgICB8CgogICBSYWZzaXwgICBB ZmZpeHwgIENDViwgQ1ZDLCBDVidWLCAtQ1ZDQ1YsIC1DQ1ZDViwgQ1ZDQ3ktIG9yIENDVkN5LSAg fCBOb3QgYWN0dWFsIHdvcmRzLCBidXQgY2FuIGJlIHN0cmluZ2VkIHRvZ2V0aGVyIHRvIGZvcm0g bHVqdm8gfHwKCgoKCgpfXycnY21ldmxhJydfXyBhcmUgdmVyeSBlYXN5IHRvIGlkZW50aWZ5IGJl Y2F1c2UgdGhleSBiZWdpbiBhbmQgZW5kIHdpdGggYSBwYXVzZSwgc2lnbmFsZWQgYnkgYSBmdWxs IHN0b3AgaW4gd3JpdGluZywgYW5kIHRoZSBsYXN0IGxldHRlciBpcyBhIGNvbnNvbmFudC4gY21l dmxhIGNhbid0IGhhdmUgYW55IG90aGVyIGZ1bmN0aW9uIGJlc2lkZXMgYWN0aW5nIGFzIGEgbmFt ZS4gT24gdGhlIG90aGVyIGhhbmQsIG5hbWVzIHdoaWNoIGFyZSBub3Qgc2VsYnJpIGNhbm5vdCBh cHBlYXIgaW4gTG9qYmFuIHdpdGhvdXQgdGhlbSBiZWluZyBjbWV2bGEsIG9yIGVuY2FzZWQgYnkg Y2VydGFpbiBxdW90ZSB3b3Jkcy4gT25lIGNhbiBtYXJrIHN0cmVzcyBpbiB0aGUgbmFtZXMgYnkg Y2FwaXRhbGl6aW5nIHRoZSBsZXR0ZXJzIHdoaWNoIGFyZSBzdHJlc3NlZC4gRXhhbXBsZXMgb2Yg Y21ldmxhIGFyZTogJycuaW9oQU4uJycgKEpvaGFuLCBoIGlzIGNhcGl0YWwgYXBvc3Ryb3BoZSks ICcnLm1hdC4nJyAoTWF0dCkgYW5kICcnLmx1dGNpTUlOLicnIChMdWktQ2hpIE1pbikuIE5hbWVz IHdoaWNoIGRvIG5vdCBlbmQgaW4gY29uc29uYW50cyBoYXZlIHRvIGhhdmUgb25lIGFkZGVkOiAn Jy5pdnluLicnIChFdmUpLCBvciAocHJvYmFibHkgYmV0dGVyIGluIHRoaXMgY2FzZSkgcmVtb3Zl ZDogJycuaXYuJycKCgoKX18nJ2JyaXZsYScnX18gYXJlIGNhbGxlZCDigJxicmlkaS13b3Jkc+KA nSBiZWNhdXNlIHRoZXkgYnkgZGVmYXVsdCBhcmUgc2VsYnJpLCBhbmQgdGhlcmVmb3JlIGFsbW9z dCBhbGwgTG9qYmFuIHdvcmRzIHdpdGggYSBwbGFjZSBzdHJ1Y3R1cmUgYXJlIGJyaXZsYS4gVGhp cyBoYXMgYWxzbyBnaXZlbiB0aGVtIHRoZSBFbmdsaXNoIG5pY2tuYW1lIOKAnGNvbnRlbnQtd29y ZHPigJ0uIEl0J3MgbmVhcmx5IGltcG9zc2libGUgdG8gc2F5IGFueXRoaW5nIHVzZWZ1bCB3aXRo b3V0IGJyaXZsYSwgYW5kIGFsbW9zdCBhbGwgd29yZHMgZm9yIGNvbmNlcHRzIG91dHNpZGUgbG9q YmFuIGdyYW1tYXIgKGFuZCBldmVuIG1vc3Qgb2YgdGhlIHdvcmRzIGZvciB0aGluZ3MgaW4gdGhl IGxhbmd1YWdlKSBhcmUgY2FwdHVyZWQgYnkgYnJpdmxhLiBBcyBzaG93biBpbiB0aGUgdGFibGUs IGJyaXZsYSBoYXMgdGhyZWUgc3ViY2F0ZWdvcmllczoKCl9fJydnaXNtdScnX18gYXJlIHRoZSBy b290IHdvcmRzIG9mIHRoZSBsYW5ndWFnZS4gT25seSBhYm91dCAxNDUwIGV4aXN0cywgYW5kIHZl cnkgZmV3IG5ldyBvbmVzIGFyZSBhZGRlZC4gVGhleSBjb3ZlciB0aGUgbW9zdCBiYXNpYyBjb25j ZXB0cyBsaWtlIOKAnGNpcmNsZeKAnSwg4oCcZnJpZW5k4oCdLCDigJx0cmVl4oCdIGFuZCDigJxk cmVhbeKAnS4gRXhhbXBsZXMgaW5jbHVkZSAnJ3pkYW5pJycsICcncGVseHUnJyBhbmQgJydkdW5k YScnCgpfXycnbHVqdm8nJ19fIGFyZSBtYWRlIGJ5IGNvbWJpbmluZyByYWZzaSAoc2VlIHVuZGVy IHJhZnNpKSwgcmVzcHJlc2VudGluZyBnaXNtdS4gQnkgY29tYmluaW5nIHJhZnNpLCBvbmUgbmFy cm93cyBkb3duIHRoZSBtZWFuaW5nIG9mIHRoZSB3b3JkLiBsdWp2byBhcmUgbWFkZSBieSBhbiBl bGFib3JhdGUgYWxnb3JpdGhtLCBzbyBtYWtpbmcgdmFsaWQgbHVqdm8gb24gdGhlIGZseSBpcyBu ZWFyIGltcG9zc2libGUsIHdpdGggZmV3IGV4Y2VwdGlvbnMgbGlrZSAnJ3NlbHBhJ2knJywgZnJv bSAnJ3NlIHByYW1pJycsIHdoaWNoIGNhbiBvbmx5IGhhdmUgb25lIGRlZmluaXRpb24uIEluc3Rl YWQsIGx1anZvIGFyZSBtYWRlIG9uY2UsIGl0cyBwbGFjZSBzdHJ1Y3R1cmUgZGVmaW5lZCwgYW5k IHRoZW4gdGhhdCBkZWZpbml0aW9uIGlzIG1hZGUgb2ZmaWNpYWwgYnkgdGhlIGRpY3Rpb25hcnku IEV4YW1wbGVzIGluY2x1ZGUgYnJpdmxhIChicmlkaS13b3JkKSwgJydjaW5qaWtjYScnIChzZXh1 YWwtc29jaWFsaXppbmcgPSBmbGlydGluZykgYW5kICcnY2FrY2lua2knJyAoc2hlbGwtaW5zZWN0 ID0gYmVldGxlKS4KCl9fJydmdSdpdmxhJydfXyBhcmUgbWFkZSBieSBtYWtpbmcgdXAgd29yZHMg d2hpY2ggZml0IHRoZSBkZWZpbml0aW9uIGZvciBicml2bGEsIGJ1dCBub3QgZm9yIGx1anZvIG9y IGdpc211LiBUaGV5IHRlbmQgdG8gY292ZXIgY29uY2VwdHMgd2hpY2ggaXQncyBoYXJkIHRvIGNv dmVyIGJ5IGx1anZvLCBmb3IgaW5zdGFuY2UgbmFtZXMgb2Ygc3BlY2llcywgbmF0aW9ucyBvciB2 ZXJ5IGN1bHR1cmFsIHNwZWNpZmljIGNvbmNlcHRzLiBFeGFtcGxlcyBpbmNsdWRlICcnZ3VnZHJn b2d1cmlvJycgKEtvcmVhKSAnJ2NpZGpycGl0c2EnJyAocGl6emEpIG9yICcnYW5nZWxpJycgKGFu Z2VsKS4KCgoKX18nJ2NtYXZvJydfXyBhcmUgc21hbGwgd29yZHMgd2l0aCBvbmUgb3IgemVybyBj b25zb25hbnRzLiBUaGV5IHRlbmQgdG8gbm90IHNpZ25pZnkgYW55dGhpbmcgaW4gdGhlIGV4dGVy aW9yIHdvcmxkLCBidXQgdG8gaGF2ZSBvbmx5IGdyYW1tYXRpY2FsIGZ1bmN0aW9uLiBFeGNlcHRp b25zIG9jY3VyLCBhbmQgaXQncyBkZWJhdGFibGUgaG93IG11Y2ggYXR0aXR1ZGluYWxzIGV4aXN0 cyBmb3IgdGhlaXIgZ3JhbW1hdGljYWwgZnVuY3Rpb24uIEFub3RoZXIgd2VpcmQgZXhhbXBsZSBh cmUgdGhlIHdvcmRzIG9mIHRoZSBjbGFzcyBHT2hBLCB3aGljaCBhY3QgYXMgYnJpdmxhLiBJdCBp cyB2YWxpZCB0byB0eXBlIHNldmVyYWwgY21hdm8gaW4gYSByb3cgYXMgb25lIHdvcmQsIGJ1dCBp biB0aGVzZSBsZXNzb25zLCB0aGF0IHdvbid0IGJlIGRvbmUuIEJ5IGdyb3VwaW5nIGNlcnRhaW4g Y21hdm8gaW4gZnVuY3Rpb25hbCB1bml0cywgdGhvdWdoLCBpdCBpcyBzb21ldGltZXMgZWFzaWVy IHRvIHJlYWQuIFRodXMsICcnLnVpcHV6dXZ1a3VtaSBjaXRrYScnIGlzIHZhbGlkLCBhbmQgaXMg cGFyc2VkIGFuZCB1bmRlcnN0b29kIGFzICcnLnVpIHB1IHp1IHZ1IGt1IG1pIGNpdGthJycuIExp a2Ugb3RoZXIgTG9qYmFuIHdvcmRzLCBvbmUgc2hvdWxkIChidXQgbmVlZCBub3QgYWx3YXlzKSBw bGFjZSBhIGZ1bGwgc3RvcCBiZWZvcmUgYW55IHdvcmRzIGJlZ2lubmluZyB3aXRoIGEgdm93ZWwu CgpjbWF2byBvZiB0aGUgZm9ybSB4VlYsIENWJ1ZWIG9yIFYnVlYgYXJlIGV4cGVyaW1lbnRhbCwg YW5kIGFyZSB3b3JkcyB3aGljaCBhcmUgbm90IGluIHRoZSBmb3JtYWwgZ3JhbW1hciwgYnV0IHdo aWNoIGhhdmUgYmVlbiBhZGRlZCBieSBMb2piYW4gdXNlcnMgdG8gcmVzcG9uZCB0byBhIGNlcnRh aW4gbmVlZC4KCgoKX18nJ3JhZnNpJydfXyBhcmUgbm90IExvamJhbiB3b3JkcywgYW5kIGNhbiBu ZXZlciBhcHBlYXIgYWxvbmUuIEhvd2V2ZXIsIHNldmVyYWwgKG1vcmUgdGhhbiBvbmUpIHJhZnNp IGNvbWJpbmUgdG8gZm9ybSBsdWp2by4gVGhlc2UgbXVzdCBzdGlsbCBsaXZlIHVwIHRvIHRoZSBi cml2bGEtZGVmaW5pdGlvbiwgZm9yIGluc3RhbmNlICcnbG9qYmFuJycgaXMgaW52YWxpZCBiZWNh dXNlIGl0IGVuZHMgaW4gYSBjb25zb25hbnQgKHdoaWNoIG1ha2VzIGl0IGEgY21ldmxhKSwgYW5k ICcnY2knZWtlaScnIGlzIGludmFsaWQgYmVjYXVzZSBpdCBkb2VzIG5vdCBjb250YWluIGEgY29u c29uYW50IGNsdXN0ZXIsIGFuZCBpcyB0aHVzIHJlYWQgYXMgdHdvIGNtYXZvIHdyaXR0ZW4gYXMg b25lIHdvcmQuIE9mdGVuLCBhIDMtNCBsZXR0ZXIgc3RyaW5nIGlzIGJvdGggYSBjbWF2byBhbmQg YSByYWZzaSwgbGlrZSAnJ3p1J2UnJywgd2hpY2ggaXMgYm90aCB0aGUgQkFJIGFuZCB0aGUgcmFm c2kgZm9yICcnenVrdGUnJy4gTm90ZSB0aGF0IHRoZXJlIGlzIG5vd2hlcmUgdGhhdCBib3RoIGEg Y21hdm8gYW5kIGEgcmFmc2kgd291bGQgYmUgZ3JhbW1hdGljYWwsIHNvIHRoZXNlIGFyZSBub3Qg Y29uc2lkZXJlZCBob21vcGhvbmVzLiBBbGwgZ2lzbXUgY2FuIGRvdWJsZSBhcyByYWZzaSwgaWYg dGhleSBhcmUgcHJlZml4ZWQgd2l0aCBhbm90aGVyIHJhZnNpLiBUaGUgZmlyc3QgZm91ciBsZXR0 ZXIgb2YgYSBnaXNtdSBzdWZmaXhlZCB3aXRoIGFuICJ5IiBjYW4gYWxzbyBhY3QgYXMgYSByYWZz aSwgaWYgdGhleSBhcmUgc3VmZml4ZWQgd2l0aCBhbm90aGVyIHJhZnNpLiBUaGUgdm93ZWwgInki IGNhbiBvbmx5IGFwcGVhciBpbiBsdWp2byBvciBjbWV2bGEuIFZhbGlkIHJhZnNpIGxldHRlciBj b21iaW5hdGlvbnMgYXJlOiBDVlYsIENWJ1YsIENDViwgQ1ZDQ3ktIENDVkN5LSwgLUNWQ0NWIGFu ZCAtQ0NWQ1YuCgoKClVzaW5nIHdoYXQgeW91IGtub3cgbm93LCB5b3Ugc2hvdWxkIGJlIGFibGUg dG8gYW5zd2VyIHRoZSB0ZXN0IGkgdGh1cyBwcmVzZW50OgoKQ2F0ZWdvcml6ZSBlYWNoIG9mIHRo ZSBmb2xsb3dpbmcgd29yZHMgYXMgY21ldmxhIChDKSwgZ2lzbXUgKGcpLCBsdWp2byAobCksICcn ZnUnaXZsYScnIChmKSBvciBjbWF2byAoYyk6CgpBICkgamFpICAgICAgICBHICkgbXVtYmwKCkIg KSAuaXJjaSAgICAgICAgSCApIC5pJ2kKCkMgKSBib3N0dSAgICAgICAgSSApIGN1CgpEICkgeGVs bWFuICAgICAgICBKICkgcGxhanZhCgpFICkgcG8nZSAgICAgICAgSyApIGRhbnNla2UKCkYgKSBk amlza3UgICAgICAgIEwgKSAuZXJ0c2EKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTphLWMsIGItZiwg Yy1nLCBkLUMsIGUtYywgZi1sLCBnLUMsIGgtYywgaS1jLCBqLWwsIGstZiwgbC1mLiBJIGxlZnQg b3V0IHRoZSBmdWxsIHN0b3BzIGJlZm9yZSBhbmQgYWZ0ZXIgbmFtZXMgc28gaXQgd291bGRuJ3Qg YmUgdG9vIGVhc3kuCgpOb3RlOiBzb21lIG9mIHRoZXNlIHdvcmRzLCBsaWtlICcnYm9zdHUnJyBk byBub3QgZXhpc3QgaW4gdGhlIGRpY3Rpb25hcnksIGJ1dCB0aGlzIGlzIGlycmVsZXZhbnQuIFRo ZSBtb3JwaG9sb2d5IHN0aWxsIG1ha2VzIGl0IGEgZ2lzbXUsIHNvIGl0J3MganVzdCBhbiB1bmRl ZmluZWQgZ2lzbXUuIFNpbWlsYXJseSB3aXRoICcnLmVydHNhJyd+fgoKCgoKCiEhTG9qYmFuIExl c3NvbnMgLSBMZXNzb24gZm91cnRlZW4gKHRoZSBMb2piYW4gc3VtdGkgMTogTEUgYW5kIExBKQoK SWYgeW91IGhhdmUgcmVhZCBhbmQgdW5kZXJzdG9vZCB0aGUgY29udGVudCBvZiBhbGwgdGhlIGxl c3NvbnMgdW50aWwgbm93LCB5b3UgaGF2ZSBhbWFzc2VkIGEgbGFyZ2UgZW5vdWdoIGtub3dsZWRn ZSBvZiBMb2piYW4gc28gdGhhdCBpdCBkb2Vzbid0IG1hdHRlciBpbiB3aGljaCBvcmRlciB5b3Ug bGVhcm4gdGhlIHJlc3QuIEFzIGEgcmVzdWx0LCB0aGUgb3JkZXIgb2YgdGhlIG5leHQgbGVzc29u cyB3aWxsIGJlIGEgbWl4dHVyZSBvZiBzb3J0ZWQgYnkgaW5jcmVhc2luZyBkaWZmaWN1bHR5IGFu ZCBzb3J0ZWQgYnkgaW1wb3J0YW5jZSBpbiBvcmRpbmFyeSBMb2piYW4gY29udmVyc2F0aW9uLgoK CgpPbmUgb2YgdGhlIGJpZ2dlc3QgY29uc3RyYWlucyBvbiB5b3VyIHNwZWFrIG5vdyBpcyB5b3Vy IGxpbWl0ZWQga25vd2xlZGdlIG9uIGhvdyB0byBtYWtlIHN1bXRpLiBTbyBmYXIsIHlvdSBvbmx5 IGtub3cgJyd0aScnIGFuZCAnJ2xvIFNFTEJSSScnLCB3aGljaCBkb2Vzbid0IHRha2UgeW91IGZh ciBjb25zaWRlcmluZyBob3cgaW1wb3J0YW50IHN1bXRpIGFyZSBpbiBMb2piYW4uIFRoaXMgbGVz c29uIGFzIHdlbGwgYXMgdGhlIGZvbGxvd2luZyB0d28gd2lsbCBiZSBhYm91dCB0aGUgTG9qYmFu IHN1bXRpLiBGb3Igbm93LCB3ZSBmb2N1cyBvbiB0aGUgZGVzY3JpcHRpdmUtbGlrZSBzdW10aSwg dGhlIG9uZXMgbWFkZSB3aXRoIGFydGljbGVzIGxpa2UgJydsbycnCgpBcnRpY2xlcyBhcmUgaW4g bG9qYmFuIGNhbGxlZCAnJ2dhZHJpJycsIGFuZCBhbGwgdGhlIG9uZXMgZGlzY3Vzc2VkIGluIHRo aXMgbGVzc29uIGFyZSB0ZXJtaW5hdGVkIGJ5ICcna3UnJywgZXhjZXB0IHRoZSBjb21iaW5hdGlv bnMgJydsYSBDTUVWTEEnJywgJydsYWkgQ01FVkxBJycgYW5kICcnbGEnaSBDTUVWTEEnJy4gV2Ug d2lsbCBiZWdpbiBieSBkZXNjcmliaW5nIHRocmVlIHNpbXBsZSBraW5kcyBvZiBkZXNjcmlwdGl2 ZSBzdW10aSwgYW5kIHRoZW4gaW1tZWRpYXRlbHkgZmluZCB0aGF0IHRoZXkgYXJlIG5vdCBzbyBz aW1wbGUgYWZ0ZXIgYWxsOgoKX18nJ2xvJydfXyAtIGdhZHJpOiBHZW5lcmljIHZlcmlkaWNhbCDi gJxjb252ZXJ0IHNlbGJyaSB0byBzdW10aeKAnS4gUmVzdWx0IGlzIHZhZ3VlIHdpdGggcmVnYXJk IHRvIGluZGl2aWR1YWxpdHkvbWFzcy1uZXNzLgoKX18nJ2xlJydfXyAtIGdhZHJpOiBHZW5lcmlj IGRlc2NyaXB0aXZlIOKAnGNvbnZlcnQgc2VsYnJpIHRvIHN1bXRp4oCdLiBSZXN1bHQgaXMgdmFn dWUgd2l0aCByZWdhcmQgdG8gaW5kaXZpZHVhbGl0eS9tYXNzLW5lc3MuCgpfXycnbGEnJ19fIC0g Z2Fkcmk6IE5hbWluZyBhcnRpY2xlOiBDb252ZW50aW9uYWwsIOKAnGNvbnZlcnQgc2VsYnJpIG9y IGNtZXZsYSB0byBzdW10aeKAnS4gVHJlYXQgcmVzdWx0IGFzIGluZGl2aWR1YWwocykuCgoKCllv dSBhcmUgYWxyZWFkeSBmYW1pbGlhciB3aXRoICcnbG8nJyBhbmQgd2hhdCBpdCBkb2VzLiBCdXQg d2hhdCBkb2VzIGl0IG1lYW4sIOKAnHZlcmlkaWNhbOKAnSBhbmQg4oCcdmFndWUgd2l0aCByZWdh cmQgdG8gaW5kaXZpZHVhbGl0eS9tYXNzLW5lc3PigJ0/IFRoZSBsYXR0ZXIgYWJvdXQgaW5kaXZp ZHVhbHMgYW5kIG1hc3NlcywgSSdsbCBjb21lIGJhY2sgdG8gbGF0ZXIuIEZvciBub3csIOKAnHZl cmlkaWNhbOKAnSBpbiB0aGlzIGNvbnRleHQgbWVhbnMgdGhhdCBpbiBvcmRlciBmb3IgYSB0aGlu ZyB0byBxdWFsaWZ5IGJlZ2luIGxhYmVsbGVkIGFzICcnbG8ga2xhbWEnJywgaXQgaGFzIHRvIGFj dHVhbGx5ICcna2xhbWEnJy4gVGh1cywgdmVyaWRpY2FsIGdhZHJpIG1ha2VzIGEgY2xhaW0gd2hp Y2ggbWF5IGJlIHRydWUgb3IgZmFsc2UgLSB0aGF0IHRoZSBvYmplY3QocykgaW4gcXVlc3Rpb24g YXJlIGFjdHVhbGx5IHRoZSB4MSBvZiB0aGUgc2VsYnJpIGFmdGVyICcnbG8nJy4gCgoKClRoaXMg bWF5IGJlIGNvbnRyYXN0ZWQgd2l0aCAnJ2xlJycsIHdoaWNoIGlzIGRlc2NyaXB0aXZlLCBhbmQg dGh1cyBub3QgdmVyaWRpY2FsLiBTYXlpbmcgJydsZSBnZXJrdScnIHNheXMgdGhhdCB5b3UgaGF2 ZSBvbmUgb3IgbW9yZSBzcGVjaWZpYyBvYmplY3RzIGluIG1pbmQsIGFuZCB5b3UgdXNlIHRoZSBz ZWxicmkgJydnZXJrdScnIHRvIGRlc2NyaWJlIGl0LCBzbyB0aGF0IHRoZSBsaXN0ZW5lciBtYXkg aWRlbnRpZnkgdGhvc2Ugc3BlY2lmaWMgb2JqZWN0cy4gVGhpcyBtZWFucyB0aGF0ICcnbGUnJyBo YXZlcyB0d28gaW1wb3J0YW50IGRpZmZlcmVuY2VzIGZyb20gJydsbycnOiBGaXJzdGx5LCBpdCBj YW5ub3QgcmVmZXIgdG8gb2JqZWN0cyBpbiBnZW5lcmFsLCBidXQgYWx3YXlzIHJlZmVycyB0byBz cGVjaWZpYyBvYmplY3RzLiBTZWNvbmRseSwgd2hpbGUgJydsbyBnZXJrdScnIGRlZmluaXRlbHkg aXMgb25lIG9yIG1vcmUgZG9ncywgJydsZSBnZXJrdScnLCBiZWNhdXNlIGl0J3Mgbm90IHZlcmlk aWNhbCwgY2FuIGJlIGFueXRoaW5nLCBhcyBsb25nIGFzIHRoZSBzcGVha2VyIHRoaW5rcyB0aGUg ZGVzY3JpcHRpb24gd2lsbCBoZWxwIGlkZW50aWZ5aW5nIHRoZSBjb3JyZWN0IG9iamVjdHMuIFBl cmhhcHMgdGhlIHNwZWFrZXIgaXMgcmVmZXJyaW5nIHRvIGEgaHllbmEsIGJ1dCBhcmUgbm90IGZh bWlsaWFyIHdpdGggdGhlbSBhbmQgdGhpbmsg4oCcZG9n4oCdIGlzIGEgZ29vZCBlbm91Z2ggYXBw cm94aW1hdGlvbiB0byBiZSB1bmRlcnN0b29kLiBUaGlzIG5vbi12ZXJpZGljYWxpdHkgaXMgcGVy aGFwcyBvdmVyLWVtcGhhc2lzZWQgaW4gbW9zdCBtYW55IHRleHRzOyBUaGUgYmVzdCB3YXkgdG8g ZGVzY3JpYmUgYSBkb2cgaXMgdXN1YWxseSB0byBkZXNjcmliZSBpdCBhcyBiZWluZyBhIGRvZywg YW5kIHVubGVzcyB0aGVyZSBpcyBhIGdvb2QgcmVhc29uIG5vdCB0bywgJydsZSBnZXJrdScnIGlz IHVzdWFsbHkgcHJlc3VtZWQgdG8gcmVmZXIgdG8gc29tZXRoaW5nIHdoaWNoIGlzIGFsc28gJyds byBnZXJrdScnLgoKSW4gdHJhbnNsYXRpb24sICcnbG8gZ2Vya3UnJyBpcyB1c3VhbGx5IOKAnGEg ZG9n4oCdIG9yIOKAnHNvbWUgZG9nc+KAnSwgd2hpbGUgJydsZSBnZXJrdScnIGlzIOKAnHRoZSBk b2figJ0gb3Ig4oCcdGhlIGRvZ3PigJ0uIEV2ZW4gYmV0dGVyIGZvciAnJ2xlIGdlcmt1Jycgd291 bGQgYmUg4oCcdGhlIOKAnGRvZyhzKeKAnSDigJ0KCgoKTGFzdCBvZiB0aGUgdGhyZWUgYmFzaWMg JydnYWRyaScnLCB0aGVyZSBpcyAnJ2xhJycsIHRoZSBuYW1pbmcgJydnYWRyaScnLCB3aGljaCBJ IGhhdmUgdW5jb252ZW50aW9uYWxseSBjYWxsZWQg4oCcY29udmVudGlvbmFs4oCdLiBXaGF0IEkg bWVhbiBieSB0aGlzIGlzIHRoYXQgaXQncyBuZWl0aGVyIGRlc2NyaXB0aXZlIG5vciB2ZXJpZGlj YWwsIHNpbmNlIGl0IHJlZmVycyB0byBhIHByb3BlciBuYW1lLiBJZiBJIGluIEVuZ2xpc2ggcmVm ZXIgdG8gYSBwZXJzb24gY2FsbGVkIElubm9jZW50IGJ5IGhlciBuYW1lLCBJIG5laXRoZXIgZGVz Y3JpYmUgaGVyIGFzIGJlaW5nIGlubm9jZW50LCBub3IgZG8gSSBzdGF0ZSB0aGF0IHNoZSBpcy4g SSBvbmx5IHN0YXRlIHRoYXQgYnkgY29udmVudGlvbiwgdGhhdCBvYmplY3QgaXMgcmVmZXJyZWQg dG8gYnkgdGhhdCBzZWxicmkgb3IgY21ldmxhLiBOb3RlIHRoYXQgJydsYScnIGFuZCB0aGUgZ2Fk cmkgZGVyaXZlZCBmcm9tIGl0IGNhbiBjb252ZXJ0IGNtZXZsYSB0byBzdW10aSB1bmxpa2UgYW55 IG90aGVyICcnZ2FkcmknJy4gQWxzbzogQmUgY2F1dGlvdXM6IE90aGVyIHRleHRzIGRvIG5vdCBt ZW50aW9uIHRoYXQgbmFtZXMgY2FuIGJlIGZvcm1lZCBmcm9tIG9yZGluYXJ5IHNlbGJyaSB1c2lu ZyB0aGUgZ2FkcmkgJydsYScnLiBCdXQgdGhvc2UgaGVyZXRpY3MgbXVzdCBidXJuOyBzZWxicmkg bmFtZXMgYXJlIGFzIGdvb2QgYXMgdGhleSBnZXQsIGFuZCBtYW55IGEgcHJvdWQgTG9qYmFuaXN0 IGhhdmUgdGhlbS4KCicnbGEnJywgYXMgd2VsbCBhcyAnJ2xhaScnIGFuZCAnJ2xhJ2knJyBhcmUg YSBiaXQgZWNjZW50cmljLCBzaW5jZSB0aGV5IF9fYWx3YXlzX18gbWFya3MgdGhlIGJlZ2lubmlu ZyBvZiBhIG5hbWUuIFVubGlrZSB0aGUgb3RoZXIgZ2FkcmksIGFueXRoaW5nIHRoYXQgY2FuIGJl IGdyYW1tYXRpY2FsbHkgcGxhY2VkIGFmdGVyICcnbGEnJyBhbmQgaXRzIHNpc3RlcnMgYXJlIGNv bnNpZGVyZWQgcGFydCBvZiB0aGUgbmFtZS4gRm9yIGV4YW1wbGUsICcnbGUgbWkgZ2Vya3UnJyBp cyAibXkgZG9nIiwgYnV0ICcnbGEgbWkgZ2Vya3UnJyBpcyBzb21lb25lIGNhbGxlZCAiTXkgRG9n Ii4KCgoKVGhlc2UgdGhyZWUgYmFzaWMgJydnYWRyaScnIGNhbiBiZSBleHBhbmRlZCB3aXRoIHRo cmVlIG1vcmUsIHdoaWNoIGNvcnJlc3BvbmRzIHRvIHRoZSBwcmV2aW91czoKCgoKX18nJ2xvaScn X18gLSBnYWRyaTogdmVyaWRpY2FsIOKAnGNvbnZlcnQgc2VsYnJpIHRvIHN1bXRp4oCdLiBUcmVh dCByZXN1bHQgYXMgbWFzcyhlcykuCgpfXycnbGVpJydfXyAtIGdhZHJpOiBEZXNjcmlwdGl2ZSDi gJxjb252ZXJ0IHNlbGJyaSB0byBzdW10aeKAnS4gVHJlYXQgcmVzdWx0IGFzIGEgbWFzcyhlcyku CgpfXycnbGFpJydfXyAtIGdhZHJpOiBOYW1pbmcgYXJ0aWNsZTogQ29udmVudGlvbmFsLCDigJxj b252ZXJ0IHNlbGJyaSBvciBjbWV2bGEgdG8gc3VtdGnigJ0uIFRyZWF0IHJlc3VsdCBhcyBtYXNz KGVzKS4KCgoKVGhlc2UgYXJlIHRoZSBzYW1lIGluIGFsbCBhc3BlY3RzIGV4Y2VwdCBmb3Igb25l OiBUaGV5IHRyZWF0IHRoZSBzdW10aSBleHBsaWNpdGx5IGFzIG1hc3Nlcy4gSWYgdGhlcmUgaXMg b25seSBvbmUgb2JqZWN0IGluIHF1ZXN0aW9uLCBhbiBpbmRpdmlkdWFsIGFuZCBhIG1hc3MgY29u c2lzdGluZyBvZiBvbmUgb2JqZWN0IGFyZSBlcXVpdmFsZW50LiBUaGUgZGlmZmVyZW5jZSBiZXR3 ZWVuIHRoZXNlIHR3byBjb25jZXB0cyBsaWUgaW4gd2hpY2ggc2VsYnJpIGNhbiBiZSBhc2NyaWJl ZCB0byBhIGdyb3VwIG9mIGluZGl2aWR1YWxzIHZlcnN1cyBhIG1hc3MuIEEgZ3JvdXAgb2YgaW5k aXZpZHVhbHMgY2FuIGJlIHNhaWQgdG8gZml0IGEgY2VydGFpbiBzZWxicmkgaWYsIGFuZCBvbmx5 IGlmLCBhbGwgbWVtYmVycyBvZiB0aGUgZ3JvdXAgZWFjaCBmaXQgdGhlIHNlbGJyaS4gSXQgaXMg Y29ycmVjdCB0byBkZXNjcmliZSBhIHBhY2sgb2YgJydsbyBnZXJrdScnLCBjb25zaWRlcmVkIGlu ZGl2aWR1YWxseSwgYXMgYmVpbmcgYmxhY2ssIGlmIGZvciBlYWNoIG9mIHRoZSBkb2dzIGl0J3Mg dHJ1ZSB0aGF0IHRoZXkgYXJlIGJsYWNrLiBBIG1hc3MsIG9uIHRoZSBvdGhlciBoYW5kLCBmaXRz IG9ubHkgdGhvc2Ugc2VsYnJpIHdoaWNoIGl0cyBjb21wb25lbnRzIGZpdCBhcyBhIHdob2xlLCBh cyBhIHRlYW0sIHNvIHRvIHNwZWFrLiBIb3dldmVyLCBhbGwgdGhlIG1lbWJlcnMgb2YgYSBtYXNz ICcnbG9pIGdlcmt1JycgbXVzdCBiZSBkb2dzIGluIG9yZGVyIGZvciAnJ2xvaScnIHRvIGJlIGFw cGxpY2FibGUuIFRoZSBub3Rpb24gb2YgIm1hc3NlcyIgYXJlIHNvcGhpc3RpY2F0ZWQsIGFuZCBy ZXF1aXJlcyBzb21lIGV4YW1wbGVzIHRvIGRlbW9uc3RyYXRlIHdoaWNoIHByb3BlcnRpZXMgaXQg Y2FuIGhhdmU6CgpfXycnc3J1cmknJ19fOiDigJx4MSBmbGFua3MvZW5jaXJjbGVzL2VuY2xvc2Vz IHgyIGluIGxpbmUvcGxhbmUvZGlyZWN0aW9ucyB4M+KAnQoKJydsZWkgcHJlbnUgY3Ugc3J1cmkg bG8gemRhbmknJyAtIOKAnFRoZSBwZW9wbGUgc3Vycm91bmRlZCB0aGUgaG9tZS7igJ0gaXMgcGxh dXNpYmxlLCBldmVuIHRob3VnaCwgeW8gbW9tYSBqb2tlcyBub3QgY29uc2lkZXJlZCwgaXQncyBj b21wbGV0ZWx5IGltcGxhdXNpYmxlIHRoYXQgaXQgY291bGQgYmUgdHJ1ZSBmb3IgYW55IG9uZSBv ZiB0aGUgbWVtYmVycyBhbG9uZS4gQW4gRW5nbGlzaCBhbmFsb2d5IGNvdWxkIGJlOiDigJxIdW1h bnMgZGVmZWF0ZWQgc21hbGxwb3ggaW4gdGhlIDIwdGggY2VudHVyeeKAnS4gU3VyZWx5IG5vIGh1 bWFuIGRpZCBzbywgYnV0IHRoZSBtYXNzIG9mIGh1bWFucyBkaWQsIGFuZCB0aGF0IG1ha2VzIHRo ZSBzZW50ZW5jZSB0cnVlIGluIEVuZ2xpc2gsIGFzIHdlbGwgYXMgaW4gTG9qYmFuIGlmIOKAnGh1 bWFuc+KAnSBhcmUgYSBtYXNzLiBKdXN0IGxpa2UgdGhlIExvamJhbiBtYXNzLCB0aGUgRW5nbGlz aCBtYXNzIOKAnGh1bWFuc+KAnSBjYW4gb25seSByZWZlciB0byBpbmRpdmlkdWFscyBlYWNoIG9m IHdoaWNoIGFyZSBodW1hbi4gQW5vdGhlciBleGFtcGxlOgoKX18nJ21pdnlzbGUnJ19fOiAieDEg aXMgYSBiaW9sb2dpY2FsIGNlbGwgb2Ygb3JnYW5pc20geDIiCgpfXycncmVtbmEnJ19fOiAieDEg aXMgYSBodW1hbiIKCicnbG9pIG1pdnlzbGUgY3UgcmVtbmEnJyAtICJTb21lIG1hc3NlcyBvZiBj ZWxscyBhcmUgaHVtYW4iLiBBZ2Fpbiwgbm9uZSBvZiB0aGUgY2VsbHMgYXJlIGh1bWFuLiBJbmRl ZWQsIHRoZSBjZWxscyBoYXZlIHZlcnkgZmV3IGh1bWFuIHRyYWl0cywgYnV0IHRoZSBjZWxscyBj b25zaWRlcmVkIGFzIGEgd2hvbGUgbWFrZXMgdXAgYSBodW1hbi4KCgoKQSBtYXNzIG1hZGUgd2l0 aCAnJ2xlaScnLCBzdWNoIGFzICcnbGVpIGdlcmt1JycsIHJlZmVycyB0byBhIG1hc3MgZm9ybWVk IGJ5IGEgZ3JvdXAgb2Ygc3BlY2lmaWMgaW5kaXZpZHVhbHMsIGVhY2ggb2Ygd2hpY2ggdGhlIHNw ZWFrZXIgcmVmZXJzIHRvIGFzICcnbGUgZ2Vya3UnJy4KCk1hc3MgbmFtZXMgYXMgZGVzY3JpYmVz IGJ5ICcnbGFpJycgYXJlIG9ubHkgYXBwcm9wcmlhdGUgaWYgdGhlIGdyb3VwIGFzIGEgd2hvbGUg aXMgbmFtZWQgc3VjaCwgYW5kIG5vdCBqdXN0IGlmIGFueSBvZiB0aGUgbWVtYmVycyBhcmUuIEl0 IGNhbiwgaG93ZXZlciBiZSB1c2VkIGlmIHRoZSBicmlkaSBpcyB0cnVlIGZvciBvbmx5IGEgZnJh Y3Rpb24gb2YgdGhhdCBncm91cC4KCgoKSXQgaXMgaW1wb3J0YW50IHRvIHJlbWVtYmVyIHRoYXQg JydsbycnIGFuZCAnJ2xlJycgY2FuIGJlIHVzZWQgdG8gZGVzY3JpYmUgYm90aCBpbmRpdmlkdWFs cyBhbmQgbWFzc2VzLiBMZXQncyBzYXkgYSBwYWNrIG9mIGRvZ3MsIGNvbnNpZGVyZWQgYXMgYSBt YXNzIG5lZWRzIGRlc2NyaXB0aW9uLiBJIG1pZ2h0IGRlc2NyaWJlIGl0IGFzIGVpdGhlciAnJ2xv aSBnZXJrdScnIG9yICcnbG8gZ2Vya3UnJy4gSWYgSSB1c2UgJydsbycnLCB0aGlzIGFsbG93cyBt ZSB0byBjb3JyZWN0bHkgc3RhdGUgc29tZXRoaW5nIHdoaWNoIGxvb2tzIGxpa2UgYSBjb250cmFk aWN0aW9uLCBidXQgcmVhbGx5IGlzbid0OiAnJ2xvIGdlcmt1IG5hIGdlcmt1JycgLSAiU29tZSBk b2dzIGFyZSBub3QgZG9ncyIuIFNpbmNlIGl0J3MgYmVpbmcgY29uc2lkZXJlZCBhIG1hc3Mgb2Yg ZG9ncywgdGhlIG1hbnkgZG9ncyBjb25zaWRlcmVzIGFzIGEgd2hvbGUgaXMgbm90IGEgZG9nLCBi dXQgcmF0aGVyIGEgcGFjayBvZiBkb2dzLgoKWW91IG1pZ2h0IGhhdmUgbm90aWNlZCB0aGF0IHRo ZXJlIGlzIG5vIHdvcmQgd2hpY2ggdW5hbWJpZ3VvdXNseSBjb252ZXJ0cyBzZWxicmkgdG8gaW5k aXZpZHVhbChzKS4gSW4gb3JkZXIgdG8gYmUgZXhwbGljaXQgYWJvdXQgaW5kaXZpZHVhbG5lc3Ms IG9uZSBuZWVkcyAnJ2xvJycsICcnbGUnJyBvciAnJ2xhJycgd2l0aCBhbiBvdXRlciBxdWFudGlm aWVyLiBUaGUgc3ViamVjdCBvZiBxdWFudGlmaWVycyB3aWxsIGJlIGNvbnNpZGVyZWQgbGF0ZXIs IGluIGxlc3NvbiB0d2VudHktdHdvLiBXaGF0IGlzIHRoZSByZWFzb24gdGhhdCAnJ2xvJycgYW5k ICcnbGUnJyB2YWd1ZSwgYW5kIG5vdCBleHBsaWNpdGx5IGluZGl2aWR1YWw/IEl0IGlzIGJlY2F1 c2UgdGhlaXIgdmFndWVuZXNzIGVuYWJsZXMgdGhlbSB0byBiZSB1c2VkIGluIGFueSBjb250ZXh0 LCB3aXRob3V0IHRoZSBzcGVha2VyIGhhdmluZyB0byB0aGluayBhYm91dCB3aGV0aGVyIGlzIGJl aGF2ZXMgYXMgYSBtYXNzIG9yIGEgZ3JvdXAgb2YgaW5kaXZpZHVhbHMuCgoKClRoaXJkIGluIHRo aXMgc2VyaWVzLCB0aGVyZSBhcmUgdGhyZWUgc2V0LWZvcm1pbmcgJydnYWRyaScnOgoKCgpfXycn bG8naScnX18gLSBnYWRyaTogdmVyaWRpY2FsIOKAnGNvbnZlcnQgc2VsYnJpIHRvIHN1bXRp4oCd LiBUcmVhdCByZXN1bHQgYXMgYSBzZXQuCgpfXycnbGUnaScnX18gLSBnYWRyaTogRGVzY3JpcHRp dmUg4oCcY29udmVydCBzZWxicmkgdG8gc3VtdGnigJ0uIFRyZWF0IHJlc3VsdCBhcyBhIHNldC4K Cl9fJydsYSdpJydfXyAtIGdhZHJpOiBOYW1pbmcgYXJ0aWNsZTogQ29udmVudGlvbmFsLCDigJxj b252ZXJ0IHNlbGJyaSBvciBjbWV2bGEgdG8gc3VtdGnigJ0uIFRyZWF0IHJlc3VsdCBhcyBhIHNl dC4KCgoKVW5saWtlIGdyb3VwcyBvZiBpbmRpdmlkdWFscyBvciwgc29tZXRpbWVzLCBtYXNzZXMs IHNldHMgZG9lcyBub3QgdGFrZSBhbnkgb2YgdGhlIHByb3BlcnRpZXMgZnJvbSB0aGUgb2JqZWN0 cyBmcm9tIHdoaWNoIHRoZSBzZXQgaXMgZm9ybWVkLiBBIHNldCBpcyBhIHB1cmVseSBtYXRoZW1h dGljYWwgb3IgbG9naWNhbCBjb25zdHJ1Y3QsIGFuZCBoYXMgcHJvcGVydGllcyBsaWtlIGNhcmRp bmFsaXR5LCBtZW1iZXJzaGlwIGFuZCBzZXQgaW5jbHVzaW9uLiBBZ2Fpbiwgbm90ZSB0aGUgZGlm ZmVyZW5jZSBiZXR3ZWVuIGEgc2V0IG9mIHRoaW5ncywgYW5kIHRoZSB0aGluZ3Mgb2Ygd2hpY2gg dGhlIHNldCBpcyBmb3JtZWQ6CgpfXycndGlyeHUnJ19fIOKAnHgxIGlzIGEgdGlnZXIvbGVvcGFy ZC9qYWd1YXIgb2Ygc3BlY2llcy9icmVlZCB4MiB3aXRoIGNvYXQgbWFya2luZ3MgeDPigJ0KCicn bG8naSB0aXJ4dSBjdSBjbWFsdScnIHNheXMgbm90aGluZyBhYm91dCB3aGV0aGVyIGJpZyBjYXRz IGFyZSBzbWFsbCAod2hpY2ggaXMsIGJ5IHRoZSB3YXksIG9idmlvdXNseSBmYWxzZSksIGJ1dCBp bnN0ZWFkIHNheSB0aGF0IHRoZSBzZXQgb2YgYmlnIGNhdHMgaXMgc21hbGw7IHRoYXQgaXMgLSB0 aGVyZSBhcmUgZmV3IG9mIHRoZW0uCgoKCkxhc3RseSwgdGhlcmUgYXJlIHRoZSAob25seSB0d28p IGdlbmVyYWxpemluZyAnJ2dhZHJpJyc6CgpfXycnbG8nZScnX18gLSBnYWRyaTogdmVyaWRpY2Fs IOKAnGNvbnZlcnQgc2VsYnJpIHRvIHN1bXRp4oCdLiBTdW10aSByZWZlcnMgdG8gdGhlIGFyY2hl dHlwZSBvZiAnJ2xvIHtzZWxicml9JycuCgpfXycnbGUnZScnX18gLSBnYWRyaTogRGVzY3JpcHRp dmUg4oCcY29udmVydCBzZWxicmkgdG8gc3VtdGnigJ0uIFN1bXRpIHJlZmVycyB0byB0aGUgZGVz Y3JpYmVkL3BlcmNlaXZlZCBhcmNoZXR5cGUgb2YgJydsZSB7c2VsYnJpfScnLgoKT2Ygd2hpY2gg dGhlcmUgaXMgbm8gJydsYScnLWVxdWl2YWxlbnQuCgoKClNvLCB3aGF0IGlzIGFjdHVhbGx5IG1l YW50IGJ5IHRoZSBhcmNoZXR5cGU/IEZvciAnJ2xvJ2UgdGlyeHUnJywgaXQgaXMgYW4gaWRlYWws IGltYWdpbmVkIGJpZyBjYXQsIHdoaWNoIGhhcyBhbGwgdGhlIHByb3BlcnRpZXMgd2hpY2ggYmVz dCBleGVtcGxpZmllcyBiaWcgY2F0cy4gSXQgd291bGQgYmUgd3JvbmcgdG8gc2F5IHRoYXQgdGhp cyBpbmNsdWRlcyBoYXZpbmcgYSBzdHJpcGVkIGZ1ciwgc2luY2UgYSBiaWcgc3lzdGVtYXRpYyBz dWJncm91cCBvZiB0aGUgbWVtYmVycyBvZiB0aGUgc2V0IG9mIGJpZyBjYXRzIGRvIG5vdCBoYXZl IHN0cmlwZWQgZnVyLCB0aGUgbGVvcGFyZHMgYW5kIHRoZSBqYWd1YXJzLiBMaWtld2lzZSwgdGhl IHR5cGljYWwgaHVtYW4gZG9lcyBub3QgbGl2ZSBpbiBBc2lhIGV2ZW4gdGhvdWdoIGEgbG90IG9m IGh1bWFucyBkby4gSG93ZXZlciwgaWYgc3VmZmljaWVudGx5IG1hbnkgaHVtYW5zIGhhdmUgYSB0 cmFpdCwgZm9yIGluc3RhbmNlIGJlaW5nIGFibGUgdG8gc3BlYWssIHdlIGNhbiBzYXk6CgpfXycn a2FrbmUnJ19fOiDigJx4MSBpcyBjYXBhYmxlIG9mIGRvaW5nL2JlaW5nIHgyIHVuZGVyIGNpcmN1 bXN0YW5jZSB4M+KAnQoKJydsbydlIHJlbW5hIGN1IGtha25lIGxvIG51IHRhdmxhJycgLSDigJxU aGUgdHlwaWNhbCBodW1hbiBiZWluZyBjYW4gc3BlYWvigJ0uCgoKCicnbGUnZScnIHRoZW4sIGlz IHRoZSBpZGVhbCBvYmplY3QgYXMgcGVyY2VpdmVkIG9yIGRlc2NyaWJlZCBieSB0aGUgc3BlYWtl ci4gVGhpcyBuZWVkIG5vdCBiZSBmYWN0dWFsbHkgY29ycmVjdCwgYW5kIGlzIG9mdGVuIHRyYW5z bGF0ZWQgYXMgdGhlIOKAnHN0ZXJlb3R5cGXigJ0sIGV2ZW4gdGhvdWdoIHRoZSBFbmdsaXNoIHBo cmFzZSBoYXZlIHNvbWUgdW5wbGVhc2FudCBuZWdhdGl2ZSBjb25ub3RhdGlvbnMsIHdoaWNoIHRo ZSBMb2piYW4gZG9lcyBub3QuIEluIGZhY3QsIGV2ZXJ5b25lIGhhcyBhIHN0ZXJlb3R5cGljYWwg YXJjaGV0eXBpY2hhbCBpbWFnZSBvZiBhbnkgY2F0ZWdvcnkuIEluIG90aGVyIHdvcmRzLCAnJ2xv J2UgcmVtbmEnJyBpcyB0aGUgYXJjaGV0eXBlIHdoaWNoIGJlc3QgZXhlbXBsaWZpZXMgYWxsICcn bG8gcmVtbmEnJywgd2hpbGUgdGhlIGFyY2hldHlwZSAnJ2xlJ2UgcmVtbmEnJyBiZXN0IGV4ZW1w bGlmaWVzIGFsbCAnJ2xlIHJlbW5hJycuCgoKClRoZSBlbGV2ZW4gZ2FkcmkgY2FuIGJlIHNlZW4g aW4gdGhlIGRpYWdyYW0gYmVsb3cuCgp8fCB8R2VuZXJpY3xNYXNzZXN8U2V0c3xHZW5lcmFsaXpp bmcKCnZlcmlkaWNhbHxsb3xsb2l8bG8naXxsbydlCgpEZXNjcmlwdGl2ZXxsZXxsZWl8bGUnaXxs ZSdlCgpOYW1lfGxhfGxhaXxsYSdpfGRvZXMgbm90IGV4aXN0fHwKCgoKTm90ZTogRWFybGllciwg dGhlcmUgd2FzIGEgd29yZCAnJ3hvJ2UnJyBmb3IgdGhlIGdlbmVyaWMgZ2FkcmkuIEhvd2V2ZXIs IHRoZSBydWxlcyBhbmQgZGVmaW5pdGlvbnMgZm9yIGdhZHJpIHdlcmUgY2hhbmdlZCBpbiBsYXRl IDIwMDQsIGFuZCB0aGUgY3VycmVudCBzZXQgb2YgcnVsZXMgb24gdGhpcyB0b3BpYywgbmlja2Vk IOKAnHhvcmxv4oCdIGhhcyByZXBsYWNlZCB0aGUgb2xkIHdheS4gTm93LCAnJ2xvJycgaXMgZ2Vu ZXJpYywgYW5kICcneG8nZScnIGlzIHVzZWQgYXMgYSBlbGxpcHRpY2FsIGRpZ2l0IChsZXNzb24g bmluZXRlZW4pLgoKCgoKCiEhTG9qYmFuIExlc3NvbnMgLSBMZXNzb24gZmlmdGVlbiAodGhlIExv amJhbiBzdW10aSAyOiBLT2hBMywgS09oQTUgYW5kIEtPaEE2KQoKU2VlIHdoYXQgaGFwcGVucyBp ZiBJIHRyeSB0byB0cmFuc2xhdGUgdGhlIHNlbnRlbmNlOiDigJxTdGVyZW90eXBpY2FsIHBlb3Bs ZSB3aG8gY2FuIHNwZWFrIExvamJhbiBzcGVhayB0byBlYWNoIG90aGVyIGFib3V0IHRoZSBsYW5n dWFnZXMgdGhleSBjYW4gc3BlYWvigJ06CgpfXycnYmFuZ3UnJ19fIOKAnHgxIGlzIGEgbGFuZ3Vh Z2UgdXNlZCBieSB4MiB0byBleHByZXNzIHgzIChhYnN0cmFjdGlvbinigJ0KCicnbGUnZSBwcmVu dSBwb2kga2UnYSBrYWtuZSBsbyBudSB0YXZsYSBmbyBsYSAubG9qYmFuLiBjdSB0YXZsYSBsZSdl IHByZW51IHBvaSBrZSdhIGtha25lIGxvIG51IHRhdmxhIGZvIGxhIC5sb2piYW4uIGxvIGJhbmd1 IHBvaSBsbyBwcmVudSBwb2kga2UnYSB0YXZsYSBmbyBsYSAubG9qYmFuLiBjdSBzZSBiYW5ndSBr ZSdhJycKCgoKV2hhdCB3ZSBzZWUgaXMgdGhhdCB0aGUgTG9qYmFuIHZlcnNpb24gaXMgbXVjaCBs b25nZXIgdGhhbiB0aGUgRW5nbGlzaC4gVGhpcyBpcyBwcmltYXJpbHkgYmVjYXVzZSB0aGUgZmly c3QsIHJpZGljdWxvdXNseSBsb25nIHN1bXRpIGlzIGJlaW5nIHJlcGVhdGVkIHR3byBtb3JlIHRp bWVzIGluIHRoZSBMb2piYW4gdGV4dCwgd2hpbGUgdGhlIEVuZ2xpc2ggY2FuIHJlZmVyIHRvIGl0 IGJ5IOKAnGVhY2ggb3RoZXLigJ0gYW5kIOKAnHRoZXnigJ0gLSBtdWNoIG1vcmUgZWZmaWNpZW50 bHkuIFdvdWxkbid0IGl0IGJlIGNsZXZlciBpZiBMb2piYW4gc29tZWhvdyBoYWQgbWVjaGFuaXNt cyBmb3IgZG9pbmcgdGhlIHNhbWU/CgoKCkl0IHR1cm5zIG91dCBpdCBkb2VzLCB3aGF0IGEgc3Vy cHJpc2UhIExvamJhbiBoYXMgYSByYW5nZSBvZiB3b3JkcyBjYWxsZWQgJydzdW1rYSdpJycgbWVh bmluZyDigJxzdW10aS1yZXByZXNlbnRhdGl2ZXPigJ0uIEluIEVuZ2xpc2gsIHdlIHJlZmVyIHRv IHRoZW0gYXMgcHJvLXN1bXRpLCBiZWNhdXNlIHRoZXkgYXJlIGVzc2VudGlhbGx5IHRoZSBzYW1l IGFzIHRoZSBFbmdsaXNoIHByb25vdW5zLCBidXQgd2l0aCBzdW10aSBpbnN0ZWFkIG9mIG5vdW5z LiBJbiBmYWN0LCB5b3UgYWxyZWFkeSBrbm93ICcndGknJywgJydkbycnIGFuZCAnJ21pJycsIGJ1 dCB0aGVyZSBhcmUgbWFueSBtb3JlLCBzbyBsZXQncyBnZXQgbGVhcm5pbmcuIEZpcnN0LCB3ZSB3 YW50IHRvIHB1dCBpdCBpbnRvIHN5c3RlbS4gV2UgY2FuIGJlZ2luIHdpdGggdGhlIG9uZXMgbW9z dCBmYW1pbGlhciB0byBFbmdsaXNoLCBhbmQgd2hhdCB5b3UndmUgYWxyZWFkeSBsZWFybmVkOgoK CgpfXycndGknJ19fIC0gc3Vta2EnaTog4oCcaW1tZWRpYXRlIOKAmGl0JzogcmVwcmVzZW50cyBh IHN1bXRpIHBoeXNpY2FsbHkgbmVhciB0aGUgc3BlYWtlcuKAnQoKX18nJ3RhJydfXyAtIHN1bWth J2k6IOKAnG5lYXJieSDigJhpdCc6IHJlcHJlc2VudHMgYSBzdW10aSBzb21lIHBoeXNpY2FsIGRp c3RhbmNlIGZyb20gdGhlIHNwZWFrZXIgT1IgY2xvc2UgdG8gdGhlIGxpc3RlbmVy4oCdCgpfXycn dHUnJ19fIC0gc3Vta2EnaTog4oCcZGlzdGFudCDigJhpdCc6IHJlcHJlc2VudHMgYSBzdW10aSBw aHlzaWNhbGx5IGZhciBmcm9tIHRoZSBzcGVha2VyIGFuZCB0aGUgbGlzdGVuZXIu4oCdCgoKCllv dSBjYW4gYWdhaW4gcmVjb2duaXplIHRoZSDigJxpLCBhLCB14oCdLXNlcXVlbmNlIHdoaWNoIHBv cHMgdXAgb3ZlciBhbmQgb3Zlci4gU29tZSB0aGluZ3MgbWlnaHQgdGFrZSBzb21lIGNsZWFyaW5n IHVwLCB0aG91Z2guIEZpcnN0bHksIHRoZXNlIHN1bXRpIGNhbiByZXByZXNlbnQgYW55dGhpbmcg d2hpY2ggY2FuIGJlIHNhaWQgdG8gb2NjdXB5IGEgcGh5c2ljYWwgc3BhY2UuIE9iamVjdHMsIGNl cnRhaW5seS4gSWRlYXMsIGNlcnRhaW5seSBub3QuIEV2ZW50cyBhcmUgYWNjZXB0ZWQsIGJ1dCBv bmx5IHRvIHRoZSBleHRlbnQgdGhleSBhcmUgcmVzdHJpY3RlZCB0byBhIHNwZWNpZmljIHBsYWNl IC0gdGhlIEphc21pbiBSZXZvbHV0aW9uIGNhbm5vdCBiZSBwb2ludGVkIGF0LCBidXQgc29tZSBi YXItZmlnaHQgb3IgYSBraXNzIG1pZ2h0LiBTZWNvbmRseSwgbm90ZSB0aGF0IHRoZSBkaXN0YW5j ZSBpcyByZWxhdGl2ZSB0byBkaWZmZXJlbnQgdGhpbmdzIGZvciB0aGUgZGlmZmVyZW50IHdvcmRz OiAnJ3R1Jycgb25seSBhcHBsaWVzIGlmIGl0J3MgZGlzdGFudCBmcm9tIGJvdGggdGhlIHNwZWFr ZXIgYW5kIHRoZSBsaXN0ZW5lci4gSW4gY2FzZXMgd2hlcmUgdGhlIHNwZWFrZXIgYW5kIGxpc3Rl bmVyIGlzIGZhciBhcGFydCBhbmQgdGhlIGxpc3RlbmVyIGNhbm5vdCBzZWUgdGhlIHNwZWFrZXIg dGFsa2luZywgJyd0YScnIHJlZmVycyB0byBzb21ldGhpbmcgY2xvc2UgdG8gdGhlIGxpc3RlbmVy LiBUaGlyZGx5LCBpdCdzIGFsbCByZWxhdGl2ZSBhbmQgY29udGV4dCBkZXBlbmRlbnQuIFRoZXNl IHRocmVlIHdvcmRzIGFyZSBhbGwgcHJvYmxlbWF0aWMgaW4gd3JpdHRlbiB0ZXh0LCBmb3IgaW5z dGFuY2UsIGJlY2F1c2UgdGhlIHBvc2l0aW9uIG9mIHRoZSBzcGVha2VyIGFuZCBsaXN0ZW5lciBp cyB1bmtub3duIHRvIGVhY2ggb3RoZXIsIGFuZCBjaGFuZ2VzIGFzIHRpbWUgZ29lcyBieS4gRnVy dGhlcm1vcmUsIHRoZSBhdXRob3Igb2YgYSBib29rIGNhbm5vdCBwb2ludCB0byBhbiBvYmplY3Qg YW5kIGV4cHJlc3MgdGhlIHBvaW50aW5nIGluIHRoZSBib29rLgoKCgpUaGVuIHRoZXJlIGlzIGEg c2VyaWVzIGNhbGxlZCBLT2hBMywgdG8gd2hpY2ggJydtaScnIGFuZCAnJ2RvJycgKGFuZCAnJ2tv JycsIGJ1dCBJIHdvbid0IHdyaXRlIHRoYXQgaGVyZSkgYmVsb25nczoKCl9fJydtaScnX18gLSBz dW1rYSdpOiBUaGUgc3BlYWtlcihzKS4KCl9fJydtaSdvJydfXyAtIHN1bWthJ2k6IFRoZSBtYXNz IG9mIHRoZSBzcGVha2VyKHMpIGFuZCB0aGUgbGlzdGVuZXIocykgLgoKX18nJ21pJ2EnJ19fIC0g c3Vta2EnaTogVGhlIG1hc3Mgb2YgdGhlIHNwZWFrZXIocykgYW5kIG90aGVycy4KCl9fJydtYSdh JydfXyAtIHN1bWthJ2k6IFRoZSBtYXNzIG9mIHRoZSBzcGVha2VyKHMpLCB0aGUgbGlzdGVuZXIo cykgYW5kIG90aGVycy4KCl9fJydkbycnX18gLSBzdW1rYSdpOiBUaGUgbGlzdGVuZXIocykuCgpf XycnZG8nbycnX18gLSBzdW1rYSdpOiBUaGUgbWFzcyBvZiB0aGUgbGlzdGVuZXIocykgYW5kIG90 aGVycy4KCgoKVGhlc2Ugc2l4IHN1bWthJ2kgYXJlIG1vcmUgZWFzaWx5IGdyYXNwZWQgaW4gdGhl IGJlbG93IFZlbm4gZGlhZ3JhbToKCgoKe2ltZyBmaWxlSWQ9IjMiIHRodW1iPSJ5IiByZWw9ImJv eFtnXSJ9CgpWZW5uIGRpYWdyYW0gb2YgS09oQTMgKCcna28nJyBleGNsdWRlZCkuICcnbGUgZHJh dGEnJyBpcyBub3QgYSBLT2hBMywgYnV0IG1lYW5zIOKAnHRoZSBvdGhlcihzKeKAnQoKCgpJdCBp cyBwb3NzaWJsZSBmb3Igc2V2ZXJhbCBwZW9wbGUgdG8gYmUg4oCcdGhlIHNwZWFrZXJz4oCdLCBp ZiBvbmUgc3RhdGVtZW50IGlzIG1hZGUgb24gdGhlIGJlaGFsZiBvZiBhbGwgb2YgdGhlbS4gVGhl cmVmb3JlLCB3aGlsZSDigJx3ZeKAnSBjYW4gYmUgdHJhbnNsYXRlZCBhcyBlaXRoZXIgJydtaScn LCAnJ21pJ28nJywgJydtaSdhJycgb3IgJydtYSdhJycsIHdoYXQgb25lIHF1aXRlIG9mdGVuIG1l YW5zIGlzIHJlYWxseSBqdXN0ICcnbWknJy4gQWxsIG9mIHRoZXNlIHNpeCwgaWYgdGhleSByZWZl ciB0byBtb3JlIHRoYW4gb25lIGluZGl2aWR1YWwsIHJlcHJlc2VudCBtYXNzZXMuIFdpdGhpbiBi cmlkaS1sb2dpYywgdGhlIGJyaWRpICcnbWkgZ2xla2knJyBzYWlkIGJ5IHNwZWFrZXIgQSBpcyBl eGFjdGx5IGVxdWl2YWxlbnQgdG8gJydkbyBnbGVraScnIHNhaWQgYnkgc3BlYWtlciBCIHRvIHNw ZWFrZXIgQSwgYW5kIGFyZSBjb25zaWRlcmVkIHRoZSBzYW1lIGJyaWRpLiBXZSB3aWxsIGNvbWUg YmFjayB0byB0aGlzIGxhdGVyLCBpbiB0aGUgJydicmlrYSdpJycgKHByby1icmlkaSkgbGVzc29u LgoKCgpBbGwgb2YgdGhlc2UgJydzdW1rYSdpJycgYXJlIHZlcnkgY29udGVudC1zcGVjaWZpYywg YW5kIGNhbm5vdCBiZSB1c2VkLCBmb3IgaW5zdGFuY2UsIHRvIGhlbHAgdXMgd2l0aCB0aGUgc2Vu dGVuY2Ugd2hpY2ggdGhpcyBsZXNzb24gYmVnYW4gd2l0aC4gVGhlIGZvbGxvd2luZyBzZXJpZXMg Y2FuIGluIHByaW5jaXBsZSBiZSB1c2VkIHRvIHJlZmVyIHRvIGFueSBzdW10aToKCl9fJydyaScn X18gLSBzdW1rYSdpOiDigJxMYXN0IHN1bXRpIG1lbnRpb25lZOKAnQoKX18nJ3JhJydfXyAtIHN1 bWthJ2k6IOKAnEEgcmVjZW50LCBidXQgbm90IHRoZSBsYXN0IHN1bXRpIG1lbnRpb25lZOKAnQoK X18nJ3J1JydfXyAtIHN1bWthJ2k6IOKAnEEgc3VtdGkgbWVudGlvbmVkIGxvbmcgYWdv4oCdCgoK ClRoZXNlIHN1bXRpIHdpbGwgcmVmZXIgdG8gYW55IHRlcm1pbmF0ZWQgc3VtdGkgZXhjZXB0IG1v c3Qgb3RoZXIgJydzdW1rYSdpJycuIFRoZSByZWFzb24gdGhhdCBtb3N0IG90aGVyICcnc3Vta2En aScnIGNhbm5vdCBiZSByZWZlcnJlZCB0byBieSB0aGVzZSBzdW10aSwgaXMgdGhhdCB0aGV5IGFy ZSBzbyBlYXN5IHRvIGp1c3QgcmVwZWF0IGJ5IHRoZW1zZWx2ZXMuIFRoZSBleGNlcHRpb24gdG8g dGhlIHJ1bGUgYXJlICcndGknJywgJyd0YScnIGFuZCAnJ3R1JycsIGJlY2F1c2UgeW91IGNvdWxk IGhhdmUgY2hhbmdlZCB3aGF0IHlvdSBwb2ludCBhdCwgYW5kIHRodXMgY2Fubm90IGp1c3QgcmVw ZWF0IHRoZSB3b3JkLiBUaGV5IHdpbGwgb25seSByZWZlciB0byB0ZXJtaW5hdGVkIHN1bXRpLCBh bmQgdGh1cyBjYW5ub3QsIGZvciBpbnN0YW5jZSwgYmUgdXNlZCB0byByZWZlciB0byBhbiBhYnN0 cmFjdGlvbiBpZiB0aGUgd29yZCBpbiBpcyB0aGF0IGFic3RyYWN0aW9uOiAnJ2xlIHBlbmRvIG5v aSBrZSdhIHBlbmRvIG1pIGN1IGRqaWNhIGxvIG51IHJpIHNlIHpkYW5pJycgLSBoZXJlICcncmkn JyBjYW5ub3QgcmVmZXIgdG8gdGhlIGFic3RyYXRpb24sIHNpbmNlIGl0IGlzIG5vdCB0ZXJtaW5h dGVkLCBub3IgdG8gJydtaScnIG9yICcna2UnYScnLCBzaW5jZSB0aGV5IGFyZSBzdW1rYSdpLCBz byBpdCByZWZlcnMgdG8gJydsZSBwZW5kbycnLgoKJydyYScnIGFuZCAnJ3J1JycgYXJlIGNvbnRl eHQtZGVwZW5kZW50IGluIHdoYXQgdGhleSByZWZlciB0bywgYnV0IHRoZXkgZm9sbG93IHRoZSBy dWxlcyBtZW50aW9uZWQgYWJvdmUsIGFuZCAnJ3J1JycgYWx3YXlzIHJlZmVyIHRvIGEgbW9yZSBk aXN0YW50IHN1bXRpIHRoYW4gJydyYScnLCB3aGljaCBpcyBhbHdheXMgbW9yZSBkaXN0YW50IHRo YW4gJydyaScnLgoKCgonJ3JpJycgYW5kIGl0J3MgYnJvdGhlcnMgYXJlIHByZXR0eSB3ZWxsIHN1 aXRlZCBmb3IgZGVhbGluZyB3aXRoIHRoZSBvcmlnaW5hbCBzZW50ZW5jZS4gVHJ5IHNheWluZyBp dCB1c2luZyB0d28gaW5zdGFuY2VzIG9mICcnc3Vta2EnaScnIQoKCgpBbnN3ZXI6IH5+Z3JleSxn cmV5OicnbGUnZSBwcmVudSBwb2kga2UnYSBrYWtuZSBsbyBudSB0YXZsYSBmbyBsYSAubG9qYmFu LiBjdSB0YXZsYSBydSBsbyBiYW5ndSBwb2kgcnUgY3Ugc2UgYmFuZ3Uga2UnYScnLiAnJ3JpJycg aXMgbm90IGNvcnJlY3QsIGJlY2F1c2UgaXQgcmVmZXJzIHRvICcnbGEgLmxvamJhbi4nJy4gJydy YScnIGNvdWxkIGJlIHVzZWQsIGJ1dCBjb3VsZCBiZSBtaXN0YWtlbmx5IGJlIHRob3VnaHQgdG8g cmVmZXIgdG8gJydsbyBudSB0YXZsYSBmbyBsYSAubG9qYmFuLicnLCBidXQgJydydScnIGlzIGFz c3VtZWQgdG8gcmVmZXIgdG8gdGhlIG1vc3QgZGlzdGFudCBzdW10aSAtIHRoZSBtb3N0IG91dGVy IG9uZS5+fgoKCgpMYXN0bHksIHRoZXJlIGEgc3VtdGNpdGEgd2hpY2ggcmVwcmVzZW50IHV0dGVy YW5jZXM6IFNvIGNhbGxlZCB1dHRlcmFuY2UgdmFyaWFibGVzLiBUaGV5IG5lZWQgbm90IGJlIHJl c3RyaWN0ZWQgdG8gb25lIHNlbnRlbmNlIChqdWZyYSksIGJ1dCBjYW4gYmUgc2V2ZXJhbCBzZW50 ZW5jZXMsIGlmIHRoZSBjb250ZXh0IGFsbG93cyBpdDoKCl9fJydkYSd1JydfXyBVdHRlcmFuY2Ug dmFyaWFibGU6IFJlbW90ZSBwYXN0IHNlbnRlbmNlCgpfXycnZGUndScnX18gVXR0ZXJhbmNlIHZh cmlhYmxlOiBSZWNlbnQgc2VudGVuY2UKCl9fJydkaSd1JydfXyBVdHRlcmFuY2UgdmFyaWFibGU6 IFByZXZpb3VzIHNlbnRlbmNlCgpfXycnZGVpJydfXyBVdHRlcmFuY2UgdmFyaWFibGU6IFRoaXMg c2VudGVuY2UKCl9fJydkaSdlJydfXyBVdHRlcmFuY2UgdmFyaWFibGU6IE5leHQgc2VudGVuY2UK Cl9fJydkZSdlJydfXyBVdHRlcmFuY2UgdmFyaWFibGU6IE5lYXIgZnV0dXJlIHNlbnRlbmNlCgpf XycnZGEnZScnX18gVXR0ZXJhbmNlIHZhcmlhYmxlOiBSZW1vdGUgZnV0dXJlIHNlbnRlbmNlCgpf XycnZG8naScnX18gVXR0ZXJhbmNlIHZhcmlhYmxlOiBFbGxpcHRpY2FsIHV0dGVyYW5jZSB2YXJp YWJsZTog4oCcU29tZSBzZW50ZW5jZeKAnQoKVGhlc2UgcmVwcmVzZW50cyBzZW50ZW5jZXMgYXMg c3VtdGksIGFuZCByZWZlciBvbmx5IHRvIHRoZSBzcG9rZW4gd29yZHMgb3IgdGhlIGxldHRlcnMs IG5vdCB0byB0aGUgbWVhbmluZyBiZWhpbmQgdGhlbS4KCgoKVGhlcmUgYXJlIG1vcmUgTG9qYmFu ICcnc3Vta2EnaScnLCBidXQgZm9yIG5vdyB5b3UgcHJvYmFibHkgbmVlZCBhIGJyZWFrIGZyb20g dGhlbS4gVGhlIG5leHQgbGVzc29uIHdpbGwgYmUgb24gZGVyaXZlZCBzdW10aSwgc3VtdGkgbWFk ZSBmcm9tIG90aGVyIHN1bXRpLgoKCgoKCiEhTG9qYmFuIExlc3NvbnMgLSBMZXNzb24gc2l4dGVl biAodGhlIExvamJhbiBzdW10aSAzOiBkZXJpdmVkIHN1bXRpKQoKWW91IGNhbiBwcm9iYWJseSBz ZWUgdGhhdCB0aGUgc3VtdGkgJydsZSBiYW5ndSBwb2kgbWkgc2UgYmFuZ3Uga2UnYScnIGlzIGEg bGVzcyB0aGFuIGVsZWdhbnQgZXhwcmVzc2lvbiBmb3Ig4oCcbXkgbGFuZ3VhZ2XigJ0uIFRoaXMg aXMgYmVjYXVzZSBpdCdzIHJlYWxseSBhIHdvcmsgYXJvdW5kLiBBIGxhbmd1YWdlIHdoaWNoIEkg c3BlYWsgY2FuIGJlIHNhaWQgdG8gZmlsbCBpbnRvIHRoZSB4MSBvZiB0aGUgYnJpZGkgJydiYW5n dSBtaScnLiBXZSBjYW4ndCBjb252ZXJ0IHRoYXQgdG8gYSBzdW10aSB1c2luZyBhIGdhZHJpOiAn J2xlIGJhbmd1IHtrdX0gbWknJyBpcyB0d28gc3VtdGksIGJlY2F1c2UgJydiYW5ndSBtaScnIGlz IGEgYnJpZGksIG5vdCBhIHNlbGJyaS4gTmVpdGhlciBjYW4gd2UgY29udmVydCBpdCB1c2luZyAn J2xlIHN1J3UnJywgYmVjYXVzZSB0aGUgc3UndSBnaXZlcyB0aGUgYnJpZGkgYSBuZXcgeDEsIHRo ZSBhYnN0cmFjdGlvbiwgYW5kIHRoZSAnJ2xlJycgdGhlbiBleHRyYWN0cyB0aGF0LiBUaGF0IG1h a2VzIGFuIGFic3RyYWN0aW9uIHN1bXRpIG1lYW5pbmcgc29tZXRoaW5nIGxpa2Ug4oCcdGhhdCBz b21ldGhpbmcgaXMgbXkgbGFuZ3VhZ2XigJ0uCgpFbnRlciAnJ2JlJycuICcnYmUnJyBpcyBhIHdv cmQgd2hpY2ggYmluZHMgY29uc3RydWN0cyAoc3VtdGksIHN1bXRjaXRhIGFuZCBvdGhlcnMpIHRv IGEgc2VsYnJpLiBVc2luZyBpdCBpbiBvcmRpbmFyeSBzZWxicmkgaGFzIG5vIGVmZmVjdDogaW4g JydtaSBuZWxjaSBiZSBkbycnLCB0aGUgJydiZScnIGRvZXMgbm90aGluZy4gSG93ZXZlciwgd2hl biBhIHN1bXRpIGlzIGJvdW5kIHRvIGEgc2VsYnJpIHRoaXMgd2F5LCB5b3UgY2FuIHVzZSBhIGdh ZHJpIG9uIHRoZSBzZWxicmkgd2l0aG91dCB0aGUgc3VtdGkgc3BsaXR0aW5nIG9mZjogJydsZSBi YW5ndSBiZSBtaScnIGlzIGEgY29ycmVjdCBzb2x1dGlvbiB0byB0aGUgcHJvYmxlbSBhYm92ZS4g TGlrZXdpc2UsIHlvdSBjYW4gYXR0YWNoIGEgc3VtdGNpdGE6ICcnbGUgbnUgZGFyeGkga2VpIGJl IGdhdSBkbycnOiDigJxUaGUgZXZlbnQgb2YgaGl0dGluZywgd2hpY2ggaXMgY2F1c2VkIGJ5IHlv deKAnS4gTm90ZSB0aGF0IHRoZSBwcmVzZW5jZSBvciBhYnNlbmNlIG9mICcna2VpJycgbWFrZXMg aXQgcGFyc2UgZGlmZmVyZW50bHk6IFdpdGggdGhlIGZhJ29ybWEnbyBwcmVzZW50LCAnJ2JlJycg YXR0YWNoZXMgdG8gJydudScnLCB3aXRob3V0IHRoZSBmYSdvcm1hJ28sIGl0IGF0dGFjaGVzIHRv ICcnZGFyeGknJy4gU28gaXQgZGVjaWRlcyB3aGF0IGlzIGJlaW5nIGVtcGhhc2lzZWQ6IElzIHRo ZSBoaXR0aW5nLCBvciB0aGUgZXZlbnQgb2YgaGl0dGluZyBjYXVzZWQgYnkgeW91PyBJbiB0aGlz IHNwZWNpZmljIGNhc2UsIHRob3VnaCwgdGhhdCdzIGp1c3QgYWJvdXQgdGhlIHNhbWUgdGhpbmcu CgoKCldoYXQgaWYgSSB3YW50IHRvIGF0dGFjaCBzZXZlcmFsIHN1bXRpIHRvIGEgc2VsYnJpIGlu c2lkZSBhIGdhZHJpPyDigJxUaGUgZ2l2ZXIgb2YgdGhlIGFwcGxlIHRvIHlvdeKAnSBpcyAnJ2xl IGR1bmRhIGJlIGxvIHBsaXNlIGJlIGRvJycsIHJpZ2h0PyBOb3BlLiBUaGUgc2Vjb25kICcnYmUn JyBhdHRhY2hlcyB0byB0aGUgYXBwbGUsIG1lYW5pbmcgJydsZSBwbGlzZSBiZSBkbycnIC0g4oCc VGhlIGFwcGxlIG9mIHRoZSBzdHJhaW4gb2YgeW914oCdLCB3aGljaCBtYWtlcyBubyBzZW5zZS4g SW4gb3JkZXIgdG8gc3RyaW5nIHNldmVyYWwgc3VtdGkgdG8gYSBzZWxicmksIHRoZSBhbGwgdGhl IG9uZXMgZm9sbG93aW5nIHRoZSBmaXJzdCBtdXN0IGJlIGJvdW5kIHdpdGggJydiZWknJy4gVGhl IOKAnGJpbmRpbmfigJ0gY2FuIGJlIHRlcm1pbmF0ZWQgd2l0aCAnJ2JlJ28nJyAtIG9uZSBpbnN0 YW5jZSBvZiAnJ2JlJ28nJyBmb3IgZWFjaCBzZWxicmkgd2hpY2ggaGFzIHN1bXRpIGJvdW5kIGJ5 ICcnYmUnJy4KClRvIGxpc3QgdGhlbToKCl9fJydiZScnX18gYmluZHMgc3VtdGkgb3Igc3VtdGNp dGEgdG8gc2VsYnJpCgpfXycnYmVpJydfXyBiaW5kcyBhIHNlY29uZCwgdGhpcmQsIGZvdXJ0aCAo ZWN0KSBzdW10aSBvciBzdW10Y2l0YSB0byBhIHNlbGJyaQoKX18nJ2JlJ28nJ19fIGVuZHMgYmlu ZGluZyB0byBzZWxicmkKCgoKVGhlcmUgaXMgYWxzbyB3YXlzIHRvIGxvb3NlbHkgYXNzb2NpYXRl IGEgc3VtdGkgd2l0aCBhbm90aGVyLiAnJ3BlJycgYW5kICcnbmUnJyBmb3IgcmVzdHJpY3RpdmUg YW5kIG5vbi1yZXN0cmljdGl2ZSBhc3NvY2lhdGlvbi4gQWN0dWFsbHksICcnbGUgYmFuZ3UgcGUg bWknJyBpcyBhIGJldHRlciB0cmFuc2xhdGlvbiBvZiDigJxteSBsYW5ndWFnZeKAnSwgc2luY2Ug dGhpcyBwaHJhc2UsIGxpa2UgdGhlIEVuZ2xpc2gsIGlzIHZhZ3VlIGFzIHRvIGhvdyB0aGUgdHdv IGFyZSBhc3NvY2lhdGVkIHdpdGggZWFjaCBvdGhlci4KCicncGUnJyBhbmQgJyduZScnIGFyZSB1 c2VkIGFzIGxvb3NlIGFzc29jaWF0aW9uIG9ubHksIGxpa2Ugc2F5aW5nIOKAnG15IGNoYWly4oCd IGFib3V0IGEgY2hhaXIgd2hpY2ggeW91IHNpdCBvbi4gSXQncyBub3QgcmVhbGx5IHlvdXJzLCBi dXQgaGFzIHNvbWV0aGluZyBkbyB0byB3aXRoIHlvdS4gQSBtb3JlIGludGltYXRlIGNvbm5lY3Rp b24gY2FuIGJlIGVzdGFibGlzaGVkIHdpdGggJydwbycnLCB3aGljaCBtYWtlcyB0aGUgYXNzb2Np YXRpb24gdW5pcXVlIGFuZCBiaW5kaW5nIHRvIGEgcGVyc29uLCBhcyBpbiDigJxteSBjYXLigJ0g Zm9yIGEgY2FyIHRoYXQgeW91IGFjdHVhbGx5IG93bi4gVGhlIGxhc3Qga2luZCBvZiBhc3NvY2lh dG9yIGlzICcncG8nZScnLCB3aGljaCBtYWtlcyBhIHNvLWNhbGxlZCAiaW5hbGllbmFibGUiIGJv bmQgYmV0d2VlbiBzdW10aSwgbWVhbmluZyB0aGF0IHRoZSBib25kIGlzIGlubmF0ZSBiZXR3ZWVu IHRoZSB0d28gc3VtdGkuIFNvbWUgZXhhbXBsZXMgY291bGQgYmUgIm15IG1vdGhlciIsICJteSBh cm0iIG9yICJteSBob21lIGNvdW50cnkiOyBub25lIG9mIHRoZXNlICJwb3NzZXNpb25zIiBjYW4g YmUgbG9zdCAoZXZlbiBpZiB5b3Ugc2F3IG9mZiB5b3VyIGFybSwgaXQncyBzdGlsbCBfX3lvdXJf XyBhcm0pLCBhbmQgYXJlIHRoZXJlZm9yZSBpbmFsaWVuYWJsZS4gQWxtb3N0IGFsbCBvZiB0aGUg dGltZXMgYSAnJ3BvJ2UnJyBpcyBhcHByb3ByaWF0ZSwgdGhvdWdoLCB0aGUgeDIgb2YgdGhlIHNl bGJyaSBjb250YWlucyB0aGUgb25lIHRvIHdoaWNoIHRoZSB4MSBpcyBjb25uZWN0ZWQsIHNvICcn YmUnJyBpcyBiZXR0ZXIuCgpfXycnbmUnJ19fIG5vbi1yZXN0cmljdGl2ZSByZWxhdGl2ZSBwaHJh c2UuICJ3aGljaCBpcyBhc3NvY2lhdGVkIHdpdGguLi4iCgpfXycncGUnJ19fIHJlc3RyaWN0aXZl IHJlbGF0aXZlIHBocmFzZS4gIndoaWNoIGlzIGFzc29jaWF0ZWQgd2l0aC4uLiIKCl9fJydwbycn X18gcG9zc2VzaXZlIHJlbGF0aXZlIHBocmFzZS4gIndoaWNoIGlzIHNwZWNpZmljIHRvLi4uIgoK X18nJ3BvJ2UnJ19fIGluYWxpZW5hYmxlIHJlbGF0aXZlIHBocmFzZS4gIndoaWNoIGJlbG9uZ3Mg dG8uLi4iCgoKCkEgdmVyeSB1c2VmdWwgY29uc3RydWN0IHRvIGtub3cgaXMgJyd7Z2Fkcml9IHtz dW10aX0ge3NlbGJyaX0nJy4gdGhpcyBpcyBlcXVpdmFsZW50IHRvICcne2dhZHJpfSB7c2VsYnJp fSBwZSAge3N1bXRpfScnLiBGb3IgaW5zdGFuY2UgJydsZSBtaSBnZXJrdScnIGlzIGVxdWl2YWxl bnQgdG8gJydsZSBnZXJrdSBwZSBtaScnLiBPbmUgY291bGQgaGF2ZSBkZXNjcmlwdGlvbiBzdW10 aSBpbnNpZGUgZGVzY3JpcHRpb24gc3VtdGksIHNheWluZyAnJ2xlIGxlIHNlIGNpbmppa2NhIGJl IG1pIGt1IGdlcmt1JycsID0gJydsZSBnZXJrdSBwZSBsZSBzZSBjaW5qaWtjYSBiZSBtaScnID3i gJx0aGUgZG9nIG9mIHRoZSBtYW4gSSdtIGZsaXJ0aW5nIHdpdGjigJ0sIGJ1dCB0aGF0J3Mgbm90 IHZlcnkgZWFzeSB0byByZWFkIChvciB0byB1bmRlcnN0YW5kIHdoZW4gc3Bva2VuKSwgYW5kIGlz IG9mdGVuIGJlaW5nIGF2b2lkZWQuCgoKCk9uZSBuZWVkIGFsc28gdG8gbGVhcm4gJyd0dSdhJycs IHNpbmNlIGl0IHdpbGwgbWFrZSBhIGxvdCBvZiBzZW50ZW5jZXMgbXVjaCBlYXNpZXIuIEl0IHRh a2VzIGEgc3VtdGkgYW5kIGNvbnZlcnRzIGl0IHRvIGFub3RoZXIgc3VtdGkgLSBhbiBlbGxpcHRp Y2FsIGFic3RyYWN0aW9uIHdoaWNoIGhhcyBzb21ldGhpbmcgdG8gZG8gd2l0aCB0aGUgZmlyc3Qg c3VtdGkuIEZvciBleGFtcGxlLCBJIGNvdWxkIHNheSAnJ21pIGRqaWNhIGxvIG51IG1pIGNpdGth IGxvIHBsaXNlJycsIG9yIEkgY291bGQgbGV0IGl0IGJlIHVwIHRvIGNvbnRleHQgd2hhdCBhYnN0 cmFjdGlvbiBhYm91dCB0aGUgYXBwbGUgSSBkZXNpcmUgYW5kIGp1c3Qgc2F5ICcnbWkgZGppY2Eg dHUnYSBsbyBwbGlzZScnLiBPbmUgYWx3YXlzIGhhcyB0byBndWVzcyB3aGF0IGFic3RyYWN0aW9u IHRoZSBzcGVha2VyIG1lYW5zIGJ5ICcndHUnYSBTVU1USScnLCBzbyBpdCBzaG91bGQgb25seSBi ZSB1c2VkIHdoZW4gY29udGV4dCBtYWtlcyBpdCBlYXN5IHRvIGd1ZXNzLiBBbm90aGVyIGV4YW1w bGU6CgpfXycnZ2FzbnUnJ19fIOKAnHgxIGRvZXMvYnJpbmdzIGFib3V0IHgyICh2b2xpdGlvbiBu b3QgaW1wbGllZCnigJ0KCicnemEnYSBkbyBnYXNudSB0dSdhIGxvIHNrYW1pJycgLSDigJxJIHNl ZSB0aGF0IHlvdSBtYWtlIHRoZSBjb21wdXRlciBkbyBzb21ldGhpbmfigJ0uIE9mZmljaWFsbHks ICcndHUnYSBTVU1USScnIGlzIGVxdWl2YWxlbnQgdG8gJydsZSBzdSd1IFNVTVRJIGNvJ2UnJy4g VmFndWUsIGJ1dCB1c2VmdWwuIFRoZXJlIGFyZSBzaXR1YXRpb25zIHdoZXJlIHlvdSBjYW5ub3Qg dXNlICcndHUnYScnLCBldmVuIHRob3VnaCBpdCB3b3VsZCBzZWVtIHN1aXRhYmxlLiBUaGVzZSBz aXR1YXRpb25zIGFyZSB3aGVuIEkgZG9uJ3Qgd2FudCB0aGUgcmVzdWx0aW5nIHN1bXRpIHRvIGJl IGFuIGFic3RyYWN0aW9uLCBidXQgYSBjb25jcmV0ZSBzdW10aS4gSW4gdGhpcyBjYXNlLCBvbmUg Y2FuIHVzZSAnJ3pvJ2UgcGUnJy4KCl9fJyd0dSdhJydfXyBjb252ZXJ0IHN1bXRpIHRvIHZhZ3Vl IGFic3RyYWN0aW9uIGludm9sdmluZyB0aGUgc3VtdGkuIEVxdWl2YWxlbnQgdG8gJydsZSBzdSd1 IFNVTVRJIGNvJ2Uga2VpIGt1JycKCgoKRmluYWxseSwgb25lIGtpbmQgb2Ygc3VtdGkgY2FuIGJl IHR1cm5lZCBpbnRvIGFub3RoZXIgYnkgdGhlIHdvcmRzIG9mIHRoZSBjbGFzcyBMQWhFLgoKX18n J2x1J2EnJ19fIC0gQ29udmVydCBpbmRpdmlkdWFsKHMpL21hc3Mvc2VxdWVuY2Uvc2V0IHRvIGlu ZGl2aWR1YWxzLgoKX18nJ2x1J2knJ19fIC0gQ29udmVydCBpbmRpdmlkdWFsKHMpL21hc3Mvc2Vx dWVuY2Uvc2V0IHRvIGEgc2V0LgoKX18nJ2x1J28nJ19fIC0gQ29udmVydCBpbmRpdmlkdWFsKHMp L21hc3Mvc2VxdWVuY2Uvc2V0IHRvIG1hc3MuCgpfXycndnUnaScnX18gLSBDb252ZXJ0IGluZGl2 aWR1YWwocykvbWFzcy9zZXF1ZW5jZS9zZXQgdG8gc2VxdWVuY2U7IHRoZSBvcmRlciBpcyBub3Qg c3RhdGVkLgoKVGhlIHVzZSBvZiB0aGVzZSB3b3JkcyBpcyBzdHJhaWdodC1mb3J3YXJkbHk6IFBs YWNpbmcgdGhlbSBiZWZvcmUgYSBzdW10aSBvZiBhIGNlcnRhaW4gdHlwZSBtYWtlcyBhIG5ldyBz dW10aSBvZiBhIG5ldyB0eXBlLiBOb3RpY2UsIHRob3VnaCwgdGhhdCBhcyBhIGZvdXJ0aCBraW5k IG9mIHN1bXRpLCBhIHNlcXVlbmNlIGhhcyBiZWVuIGludHJvZHVjZWQuIFRoaXMgaXMgbm90IHVz ZWQgdmVyeSBvZnRlbiAoaXQgZG9lc24ndCBoYXZlIGl0cyBvd24gZ2FkcmksIGZvciBpbnN0YW5j ZSksIGJ1dCBqdXN0IGluY2x1ZGVkIGhlcmUgZm9yIGNvbXBsZXRpb24uCgpUaGUgbGFzdCB0d28g bWVtYmVycyBvZiBMQWhFIGRvIG5vdCBjb252ZXJ0IGJldHdlZW4gdHlwZXMgb2Ygc3VtdGksIGJ1 dCBhbGxvd3MgeW91IHRvIHNwZWFrIG9mIGEgYSBzdW10aSBieSBvbmx5IG1lbnRpb25pbmcgc29t ZXRoaW5nIHdoaWNoIHJlZmVyZW5jZXMgdG8gaXQ6CgpJZiBvbmUgc3VtdGkgQSByZWZlcnMgdG8g YSBzdW10aSBCLCBmb3IgaW5zdGFuY2UgYmVjYXVzZSBzdW10aSBBIGlzIGEgdGl0bGUgb2YgYSBi b29rLCBvciBhIG5hbWUsIG9yIGEgc2VudGVuY2UgKHdoaWNoIGFsd2F5cyByZWZlciB0byBzb21l dGhpbmcsIGF0IGxlYXN0IGEgYnJpZGkpLCDigJgnbGEnZSBTVU1USSBBJycgcmVmZXJzIHRvIHN1 bXRpIEIuIEZvciBpbnN0YW5jZSwg4oCYJ21pIG5lbGNpIGxhJ2UgZGkndScnIGZvciDigJxJIGxp a2Ugd2hhdCB5b3UganVzdCBzYWlk4oCdIChub3QgJydtaSBuZWxjaSBkaSd1Jycgd2hpY2gganVz dCBtZWFucyAiSSBsaWtlIHlvdXIgcHJldmlvdXMgc2VudGVuY2UiKSBvciDigJgnbGEnZSBsZSBj bWFsdSBub2x0cnUnJyBmb3IgdGhlIGJvb2sg4oCcVGhlIExpdHRsZSBQcmluY2XigJ0sIGFuZCBu b3Qgc29tZSBsaXR0bGUgcHJpbmNlIGhpbXNlbGYuIFRoZSBjbWF2byDigJgnbHUnZScnIGRvZXMg dGhlIGV4YWN0IHJldmVyc2Ug4oCTIOKAmCdsdSdlIFNVTVRJJycgcmVmZXJzIHRvIGFuIG9iamVj dCB3aGljaCByZWZlcnMgdG8gdGhlIHN1bXRpLiAKCl9fJydsYSdlJydfXyAtIOKAnHRoZSB0aGlu ZyByZWZlcnJlZCB0byBieeKAnSAtIGV4dHJhY3RzIGEgc3VtdGkgQSBmcm9tIGEgc3VtdGkgQiB3 aGljaCByZWZlcnMgdG8gQS4gCgpfXycnbHUnZScnX18gLSDigJx0aGUgdGhpbmcgcmVmZXJyaW5n IHRv4oCdIC0gZXh0cmFjdHMgYSBzdW10aSBCIGZyb20gYSBzdW10aSBBLCB3aGVuIEIgcmVmZXJz IHRvIEEuCgoKCgoKISEhRW5kIG9mIHBhcnQgb25lCgpEdWUgdG8gdGhlIGltcHJhY3RpY2FsbHkg bGFyZ2Ugc2l6ZSBvZiB0aGVzZSBsZXNzb25zLCB0aGUgc2Vjb25kIGFuZCB0aGlyZCBpbnN0YWxs bWVudCBjYW4gYmUgZm91bmQgb24gcGFnZXMgZGVkaWNhdGVkIHRvICgod2F2ZWxlc3NvbnNjb250 aW51ZWRwMnx0aGUgZm9ybWVyKSkgYW5kICgod2F2ZWxlc3NvbnNjb250aW51ZWRwM3x0aGUgbGF0 dGVyKSkuIE5vIHdvcnJpZXMsIHRob3VnaCwgY2xpY2tpbmcgb24gInRoZSBmb3JtZXIiIG9yICJ0 aGUgbGF0dGVyIiB3aWxsIHRha2UgeW91IHRoZXJlIHBhaW5sZXNzbHkuCgoKCgpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpXaWtpbmV1cm90aWMgbWFpbGlu ZyBsaXN0Cldpa2luZXVyb3RpY0Bsb2piYW4ub3JnCmh0dHA6Ly9tYWlsLmxvamJhbi5vcmcvbWFp bG1hbi9saXN0aW5mby93aWtpbmV1cm90aWMK