Received: from localhost ([::1]:35414 helo=stodi.digitalkingdom.org) by stodi.digitalkingdom.org with esmtp (Exim 4.76) (envelope-from ) id 1UzXyS-0004OW-Og; Wed, 17 Jul 2013 13:05:21 -0700 Received: from 173-13-139-235-sfba.hfc.comcastbusiness.net ([173.13.139.235]:35509 helo=digitalkingdom.org) by stodi.digitalkingdom.org with smtp (Exim 4.76) (envelope-from ) id 1UzXyK-0004OP-MK for wikineurotic@lojban.org; Wed, 17 Jul 2013 13:05:19 -0700 Received: by digitalkingdom.org (sSMTP sendmail emulation); Wed, 17 Jul 2013 13:05:12 -0700 From: "Apache" Date: Wed, 17 Jul 2013 13:05:12 -0700 To: wikineurotic@lojban.org X-PHP-Originating-Script: 48:htmlMimeMail.php MIME-Version: 1.0 Message-ID: X-Spam-Score: 4.5 (++++) X-Spam_score: 4.5 X-Spam_score_int: 45 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 wavelessonscontinuedp2 was changed by lomicmenes at 22:04 CEST You can view the page by following this link: http://www.lojban.org/tiki/wavelessonscontinuedp2 [...] Content analysis details: (4.5 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: lojban.org] 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 2.5 DRUGS_MUSCLE Refers to a muscle relaxant Subject: [Wikineurotic] Wiki page wavelessonscontinuedp2 changed by lomicmenes 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 VGhlIHBhZ2Ugd2F2ZWxlc3NvbnNjb250aW51ZWRwMiB3YXMgY2hhbmdlZCBieSBsb21pY21lbmVz IGF0IDIyOjA0IENFU1QKCllvdSBjYW4gdmlldyB0aGUgcGFnZSBieSBmb2xsb3dpbmcgdGhpcyBs aW5rOgogCmh0dHA6Ly93d3cubG9qYmFuLm9yZy90aWtpL3dhdmVsZXNzb25zY29udGludWVkcDIK CllvdSBjYW4gdmlldyBhIGRpZmYgYmFjayB0byB0aGUgcHJldmlvdXMgdmVyc2lvbiBieSBmb2xs b3dpbmcgdGhpcyBsaW5rOiAKaHR0cDovL3d3dy5sb2piYW4ub3JnL3Rpa2kvdGlraS1wYWdlaGlz dG9yeS5waHA/cGFnZT13YXZlbGVzc29uc2NvbnRpbnVlZHAyJmNvbXBhcmU9MSZvbGR2ZXI9MjYm bmV3dmVyPTI3CgoKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioKVGhlIGNoYW5nZXMgaW4gdGhpcyB2ZXJzaW9uIGZvbGxvdyBiZWxvdywg Zm9sbG93ZWQgYWZ0ZXIgYnkgdGhlIGN1cnJlbnQgZnVsbCBwYWdlIHRleHQuCioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCgoKKy0rLSst Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSsKQEAg LUxpbmVzOiAzMTItMzg2IGNoYW5nZWQgdG8gK0xpbmVzOiAzMTItMzg0IEBACistKy0rLSstKy0r LSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rCgoKLSAhIUxv amJhbiBMZXNzb25zIC0gTGVzc29uIHR3ZW50eS1vbmUgKENPSSk8YnIgLz5JbiB0aGlzIGxlc3Nv biwgeW91IHdpbGwgZmFtaWxpYXJpemUgeW91cnNlbGYgd2l0aCB2b2NhdGl2ZXMsIG9yICcnbWEn b2kgY29pJycuIFRoZXkgZ2V0IHRoZWlyIG93biBsZXNzb24sIG5vdCBiZWNhdXNlIHVuZGVyc3Rh bmRpbmcgdGhlc2UgcHJvdmlkZXMgYSBiYXNpcyBmb3IgdW5kZXJzdGFuZGluZyBMb2piYW4gZ3Jh bW1hciBpbiBnZW5lcmFsLCBvciBiZWNhdXNlIHRoZXkgYXJlIGhhcmQgdG8gdW5kZXJzdGFuZCwg YnV0IHJhdGhlciBiZWNhdXNlIHRoZXkgYXJlIHZlcnkgb2Z0ZW4gdXNlZCBpbiBjYXN1YWwgc3Bl ZWNoLCBhbmQgdGhlcmUgYXJlIGEgbG90IG9mIHRoZW0uPGJyIC8+QSB2b2NhdGl2ZSBpcyB1c2Vk IHBhcnRseSB0byBkZWZpbmUgd2hvICcnZG8nJyByZWZlcnMgdG8uIElmIHRoZSB2b2NhdGl2ZSBp cyBmb2xsb3dlZCBieSBhIGNtZXZsYSwgdGhlIGNtZXZsYSBnZXRzIGFuIGltcGxpZWQgbGEgaW4g ZnJvbnQgb2YgaXQuIElmIGEgc2VsYnJpIGZvbGxvd3MsIGEgJydsZScnIGlzIHVzZWQgYXMgYSBn YWRyaSBpbnN0ZWFkLjxiciAvPkluIHRoZXNlIGV4YW1wbGVzLCBJIHdpbGwgdXNlIHRoZSB2b2Nh dGl2ZSAnJ2NvaScnLCB3aXRoIG1lYW5zIEhpIG9yIEhlbGxvLjxiciAvPklmIGEgcGVyc29uIGlz IGNhbGxlZCAnJ2xhICsgU0VMQlJJJycsIHVzaW5nIGEgdm9jYXRpdmUgd2l0aCBvbmx5IHRoZSBz ZWxicmkgdG8gYWRkcmVzcyB0aGF0IHBlcnNvbiB3aWxsIG1lYW4geW91IHJlZmVyIHRvIGhlciBh cyBhY3R1YWxseSBiZWluZyB0aGUgeDEgb2YgdGhhdCBzZWxicmksIHdoaWNoIGlzIG9mdGVuIHdy b25nLiBJZiwgZm9yIGluc3RhbmNlLCBhIHBlcnNvbiBpcyBjYWxsZWQgJydsYSB0c2FuaScnLCBT a3ksIHNheWluZyAnJ2NvaSB0c2FuaScnIHJlZmVycyB0byBoZXIgYXMgYSAnJ2xlIHRzYW5pJycs IG1lYW5pbmcgSGksIHlvdSBza3ksIHdoaWxlICcnY29pIGxhIHRzYW5pIGNvcnJlY3RseScnIHJl ZmVycyB0byBoZXIgYXMgc29tZW9uZSBjYWxsZWQgJnF1b3Q7U2t5JnF1b3Q7LCBtZWFuaW5nIEhp IFNreS4gVGhpcyBpcyBhIGZyZXF1ZW50IG1pc3Rha2UsIGVzcGVjaWFsbHkgYW1vbmcgbmV3IExv amJhbmlzdHMuPGJyIC8+QWxsIHZvY2F0aXZlcyBoYXZlIGEgZmEnb3JtYSdvIHdoaWNoIGlzIHNv bWV0aW1lcyByZXF1aXJlZC4gVGhpcyBpcyAnJ2RvJ3UnJy4gSXQncyBtb3N0bHkgdXNlZCBpZiBi b3RoIHRoZSBmaXJzdCB3b3JkIGFmdGVyIHRoZSB2b2NhdGl2ZSBwaHJhc2UgYW5kIHRoZSBsYXN0 IHdvcmQgb2YgdGhlIHBocmFzZSBpcyBhIHNlbGJyaSwgc28gdGhhdCBpdCBwcmV2ZW50cyBmb3Jt aW5nIGEgdGFucnU6CisgISFMZW9ucyBkZSBsb2piYW4gLSBMZW9uIHZpbmd0IGV0IHVuIChDT0kp PGJyIC8+RGFucyBjZXR0ZSBsZW9uIHZvdXMgYWxsZXIgdm91cyBmYW1pbGlhcmlzZXIgYXZlYyBs ZXMgdm9jYXRpZnMsIG91ICcnbWEnb2kgY29pJycuIElscyBtcml0ZW50IGxldXIgcHJvcHJlIGxl b24sIG5vbiBwYXMgcGFyY2UgcXUnaWxzIGRvbm5lbnQgdW5lIGJhc2UgcG91ciBjb21wcmVuZHJl IGxhIGdyYW1tYWlyZSBsb2piYW4gZW4gZ25yYWwsIG91IHBhcmNlIHF1J2lscyBzb250IHBhcnRp Y3VsaXJlbWVudCBkaWZmaWNpbGVzICB1dGlsaXNlciwgbWFpcyBwYXJjZSBxdSdpbHMgc29udCBj b3VyYW1tZW50IHV0aWxpc3MgZXQgcXUnaWwgeSBlbiBhIGJlYXVjb3VwLiBVbiB2b2NhdGlmIGVz dCwgZW50cmUgYXV0cmUsIHV0aWxpcyBwb3VyIGRmaW5pciAgcXVpICcnZG8nJyBmYWl0IHJmcmVu Y2UuIFNpIGxlIHZvY2F0aWYgZXN0IHN1aXZpIHBhciB1biBjbWV2bGEsIGNlbHVpLWNpIHByZW5k IHVuICcnbGEnJyBpbXBsaWNpdGUgY29tbWUgZ2FkcmkuIFNpIGMnZXN0IHVuIHNlbGJyaSBxdWkg c3VpdCBsZSB2b2NhdGlmLCBvbiBjb25zaWRyZSBxdSdpbCBlc3QgcHJjZCBwYXIgdW4gJydsZScn LjxiciAvPkRhbnMgY2VzIGV4ZW1wbGVzLCBqZSB2YWlzIHV0aWxpc2VyIGxlIHZvY2F0aWYgJydj b2knJywgcXVpIHNpZ25pZmllIGJvbmpvdXIgb3Ugc2FsdXQuPGJyIC8+U2kgdW4gbG9qYmFuaXN0 ZSBzJ2FwcGVsbGUgJydsYSArIFNFTEJSSScnLCBzJ2FkcmVzc2VyICBsdWkgZW4gdXRpbGlzYW50 IHVuIHZvY2F0aWYgc3VpdmkgZHUgc2VsYnJpIHNldWwgZXN0IGducmFsZW1lbnQgdW5lIGVycmV1 ciBwdWlzcXVlIGNlbGEgc2lnbmlmaWUgcXVlIHZvdXMgbGUgY29uc2lkcmV6IGNvbW1lIGxlIHgx IGRlIGNlIHNlbGJyaS4gUGFyIGV4ZW1wbGUgc2kgcXVlbHF1J3VuIHMnYXBwZWxsZSAnJ2xhIHRz YW5pJycsIENpZWwsIGRpcmUgJydjb2kgdHNhbmknJyBkc2lnbmUgY2V0dGUgcGVyc29ubmUgY29t bWUgJydsZSB0c2FuaScnLCBldCBhIHZldXQgZG9uYyBkaXJlIFNhbHV0IGxlIGNpZWwuIENlIHF1 J29uIHZldXQgZGlyZSwgU2FsdXQsIENpZWwgc2UgdHJhZHVpdCBjb3JyZWN0ZW1lbnQgOiAnJ2Nv aSBsYSB0c2FuaScnLiBDJ2VzdCB1bmUgZXJyZXVyIGZycXVlbnRlIGNoZXogbGVzIGxvamJhbmlz dGVzIGRidXRhbnRzLiBUb3VzIGxlcyB2b2NhdGlmcyBvbnQgdW4gZmEnb3JtYSdvIHF1aSBlc3Qg cGFyZm9pcyBuY2Vzc2FpcmUgOiAnJ2RvJ3UnJy4gTGUgcGx1cyBzb3V2ZW50LCBpbCBlc3QgdXRp bGlzIHF1YW5kIGxlIHByZW1pZXIgbW90IHN1aXZhbnQgbGEgcGFydGllIHZvY2F0aXZlIGV0IGxl IGRlcm5pZXIgbW90IGRlIGNldHRlIHBhcnRpZSBzb250IHRvdXMgZGV1eCBkZXMgc2VsYnJpLCBj ZWNpIHBvdXIgdml0ZXIgZGUgY3JlciB1biB0YW5ydS4KCi0gX18nJ2RvJ3UnJ19fIEVuZCB2b2Nh dGl2ZSBwaHJhc2UuIFVzdWFsbHkgZWxpZGFibGUuPGJyIC8+X18nJ2tsYWt1JydfXyB4MSBjcmll cyB4MiAodGVhcnMpIGZvciByZWFzb24geDM8YnIgLz4nJ2NvaSBsYSBnbGVraSBkbyd1IGtsYWt1 IGZpIG1hJycgSGVsbG8gSGFwcHkuIFdoeSBjcnk/CisgX18nJ2RvJ3UnJ19fIFRlcm1pbmF0ZXVy IGRlIHZvY2F0aWYuIEducmFsZW1lbnQgZmFjdWx0YXRpZi48YnIgLz5fXycna2xha3UnJ19fIHgx IHBsZXVyZSBsZXMgbGFybWVzIHgyIHBvdXIgbGEgcmFpc29uIHgzCgotIFRoZSBnZW5lcmljIHZv Y2F0aXZlLCAnJ2RvaScnLCBkb2VzIG5vdGhpbmcgZXhjZXB0IGRlZmluaW5nIHdobyBpcyBiZWlu ZyByZWZlcnJlZCB0byBieSAnJ2RvJyc6PGJyIC8+Jydkb2kgLmVybnN0LiB4dSBkbyBkb3RjbyBt ZXJrbycnIEVybnN0OiBBcmUgeW91IGEgR2VybWFuLUFtZXJpY2FuPworICcnY29pIGxhIGdsZWtp IGRvJ3Uga2xha3UgZmkgbWEnJyBTYWx1dCBKb3lldXguIFBvdXJxdW9pIGRlcyBwbGV1cnMgPwoK LSBBbGwgdGhlIG90aGVyIHZvY2F0aXZlcyBoYXZlIHNvbWUgY29udGVudCBiZXNpZGUgZGVmaW5p bmcgJydkbycnLiAnJ2NvaScnLCB3aGljaCB5b3Uga25vdywgYWxzbyBtZWFucyBIZWxsbywgZm9y IGV4YW1wbGUuIE1hbnkgb2YgdGhlIHZvY2F0aXZlcyBoYXZlIHR3byBvciB0aHJlZSBkZWZpbml0 aW9ucyBsaWtlIHRoZSBhdHRpdHVkaW5hbHMuIExpa2UgYXR0aXR1ZGluYWxzLCB0aGlzIGlzIGJl Y2F1c2UgdGhleSBjYW4gYmUgbW9kaWZpZWQgd2l0aCAnJ2N1J2knJyBhbmQgJyduYWknJywgdGhv dWdoIG9ubHkgb25lIHZvY2F0aXZlIGhhcyB0aGUgJydjdSdpJyctZm9ybSBkZWZpbmVkLjxiciAv PlNvbWUgaW1wb3J0YW50IHZvY2F0aXZlcyBhcmUgbGlzdGVkIGluIHRoZSB0YWJsZSBiZWxvdy4g VGhlcmUgYXJlIG90aGVycywgYnV0IHRob3NlIGFyZSBub3QgdXNlZCBtdWNoLjxiciAvPnx8dm9j YXRpdmV8V2l0aG91dCBzdWZmaXh8LWN1J2l8LW5haTxiciAvPmNvaXxIZWxsb3wtfC08YnIgLz5j bydvfEdvb2RieWUJfC18LTxiciAvPmplJ2V8VW5kZXJzdG9vZCAvIE9LfC18Tm90IHVuZGVyc3Rv b2Q8YnIgLz5maSdpfFdlbGNvbWV8LXxOb3Qgd2VsY29tZSBoZXJlPGJyIC8+cGUndXxQbGVhc2V8 LXwtPGJyIC8+a2knZXxUaGFua3N8LXxEaXNhcHByZWNpYXRpb248YnIgLz5yZSdpfFJlYWR5IHRv IHJlY2lldmV8LXxOb3QgcmVhZHk8YnIgLz5qdSdpfEhleSF8QXQgZWFzZXxJZ25vcmUgbWUKKyBM ZSB2b2NhdGlmIGducmlxdWUsICcnZG9pJycsIG5lIGZhaXQgcmllbiBkJ2F1dHJlIHF1ZSBkZmlu aXIgIHF1aSAnJ2RvJycgZmFpdCByZnJlbmNlIDogPGJyIC8+Jydkb2kgLnBpZXIuIHh1IGRvIGZy YXNvIGthZG5vJycgUGllcnJlLCBlcy10dSBjYW5hZGllbiBmcmFuYWlzID88YnIgLz48YnIgLz5U b3VzIGxlcyBhdXRyZXMgdm9jYXRpZnMgZm9udCBxdWVscXVlIGNob3NlIGRlIHBsdXMgcXVlIHNw Y2lmaWVyICcnZG8nJy4gUGFyIGV4ZW1wbGUgJydjb2knJywgY29tbWUgdm91cyBsJ2F2ZXogdnUs IHNpZ25pZmllIGF1c3NpIFNhbHV0LiBCZWF1Y291cCBkZSB2b2NhdGlmcyBhZG1ldHRlbnQgZGVz IHZhcmlhdGlvbnMgYXZlYyAnJ25haScnIGV0IGwndW4gZCdlbnRyZSBldXggKCcnanUnaScnKSBh dmVjICcnY3UnaScnLCBjb21tZSBsZXMgYXR0aXR1ZGluYXV4LjxiciAvPlF1ZWxxdWVzIHZvY2F0 aWZzIGltcG9ydGFudHMgc29udCBsaXN0cyBjaS1kZXNzb3VzLiwgSWwgeSBlbiBhIGQnYXV0cmVz LCBtYWlzIGlsIG5lIHNvbnQgcGFzIHRlbGxlbWVudCB1dGlsaXNzLjxiciAvPnx8VmlmYXRvZnxT YW5zIHN1ZmZpeGV8LWN1J2l8LW5haTxiciAvPmNvaXxCb25qb3VyfC18LTxiciAvPmNvJ298QXUg cmV2b2lyCXwtfC08YnIgLz5qZSdlfENvbXByaXMgLyBPS3wtfFBhcyBPSzxiciAvPmZpJ2l8Qmll bnZlbnVlfC18UGFzIGJpZW52ZW51ZTxiciAvPnBlJ3V8UydpbCB2b3VzIHBsYWl0fC18LTxiciAv PmtpJ2V8TWVyY2l8LXxQYXMgbWVyY2kuLi48YnIgLz5yZSdpfFBydCAgcmVjZXZvaXIvY291dGVy fC18UGFzIHBydDxiciAvPmp1J2l8SG8gKGNvdXRleiEpIXxIdW18TGFpc3NleiB0b21iZXIgKGln bm9yZXotbW9pKQp0YSdhfEludGVycnVwdGlvbnwtfC0KLSB2aSdvfFdpbGwgZG98LXxXaWxsIG5v dCBkbzxiciAvPmtlJ298UGxlYXNlIHJlcGVhdHwtfE5vIHJlcGVhdCBuZWVkZWQ8YnIgLz5raSdh aXx3ZWxsLXdpc2h8LXxjdXJzZXx8PGJyIC8+Tm90aWNlIHRoYXQgJydraSdhaScnIGlzIGV4cGVy aW1lbnRhbDxiciAvPjxiciAvPjxiciAvPldoYXQgd291bGQgJydjb2kgY28nbycnIG1lYW4/Cisg dmknb3xWYWlzIGxlIGZhaXJlfC18TmUgdmFpcyBwYXMgbGUgZmFpcmU8YnIgLz5rZSdvfFJwdGV6 IHN2cHwtfFBhcyBiZXNvaW4gZGUgcnB0ZXIuPGJyIC8+a2knYWl8Qm5kaWN0aW9ufC18TWFsZGlj dGlvbnx8PGJyIC8+UmVtYXJxdWUgOiAnJ2tpJ2FpJycgZXN0IGV4cHJpbWVudGFsCgotIEFuc3dl cjogfn5ncmV5LGdyZXk6R3JlZXRpbmdzIGluIHBhc3Npbmcgb3IgSGVsbG8gYW5kIEdvb2RieWV+ fgorIFF1ZSBzaWduaWZpZSAnJ2NvaSBjbydvJyc/CgotICcnamUnZScnIGlzIHVzZWQgYXMgT0ss IGJ1dCBhbHNvIHRoZSBhcHByb3ByaWF0ZSByZXNwb25zZSB3aGVuIHJlY2VpdmluZyBwcmFpc2Ug b3IgdGhhbmtzIChhdCBsZWFzdCwgaWYgeW91IHdhbnQgdG8gYmUgbW9kZXN0KSwgYXMgaXQgaW5k aWNhdGVzIHRoYXQgdGhlIHByYWlzZSBvciB0aGFua3Mgd2FzIHN1Y2Nlc3NmdWxseSB1bmRlcnN0 b29kLgorIFJwb25zZTp+fmdyZXksZ3JleTpCb25qb3VyLWF1LXJldm9pciBvdSBCb25qb3VyIGVu IHBhc3NhbnQgfn4KCi0gVHJhbnNsYXRlICcna2knZSBzaWRqdSBiZSBtaSBiZWkgbG8gdmFqbmkg LmkgamUnZSAuamVuaWZ5bi4nJzxiciAvPl9fJydzaWRqdScnX18geDEgaGVscHMgeDIgZG8geDMK KyAnJ2plJ2UnJyBlc3QgdXRpbGlzIGNvbW1lIE9LLCBtYWlzIGVzdCBhdXNzaSBhcHByb3ByaSBl biByYWN0aW9uICB1biBzb3VoYWl0IG91IHVuIHJlbWVyY2llbWVudC4gRGFucyBjZSBjYXMgYydl c3QgdW4gYWNjdXMgZGUgYm9ubmUgcmNlcHRpb24uCgotIEFuc3dlcjogfn5ncmV5LGdyZXk6VGhh bmtzLCB5b3UgaGVscGVyIG9mIG1lIHRvIGRvIHNvbWV0aGluZyBpbXBvcnRhbnQuIE5vIHByb2Js ZW0sIEplbm5pZmVyfn4KKyBUcmFkdWlzZXogOiAnJ2tpJ2Ugc2lkanUgYmUgbWkgYmVpIGxvIHZh am5pIC5pIGplJ2UgLnBpZXIuJyc8YnIgLz5fXycnc2lkanUnJ19fIHgxIGFpZGUgeDIgcG91ciB4 MwoKLSBBbmQgJydmaSdpIHRlIHZlY251IC5pIHBlJ3Uga28gY2l0a2EnJworIFJwb25zZSA6IH5+ Z3JleSxncmV5OiBNZXJjaSwgIHRvaSBhaWRlIGRlIG1vaSBkYW5zIHF1ZWxxdWUgY2hvc2UgZCdp bXBvcnRhbnQuIERlIHJpZW4sIFBpZXJyZSAgfn4KCi0gQW5zd2VyOiB+fmdyZXksZ3JleTpXZWxj b21lLCBidXllci4gUGxlYXNlIGVhdCF+fgorIEV0ICcnZmknaSB0ZSB2ZWNudSAuaSBwZSd1IGtv IGNpdGthJycKCi0gJydyZSdpJycgaXMgdXNlZCB0byBzaWduYWwgdGhhdCB5b3UgYXJlIHJlYWR5 IHRvIGJlIHNwb2tlbiB0by4gSXQgY2FuIGJlIHVzZWQgYXMgdGhlIExvamJhbiBlcXVpdmFsZW50 IG9mIFdoYXQgY2FuIEkgZG8gZm9yIHlvdT8gb3IgcGVyaGFwcyByZXBsYWNlIEhlbGxvLCB3aGVu IHNwZWFraW5nIG9uIGEgcGhvbmUuICcncmUnaSBuYWknJyBjYW4gbWVhbiBBRksgb3IgQmUgdGhl cmUgaXMgYSBzZWNvbmQuCisgUnBvbnNlIDogfn5ncmV5LGdyZXk6QmllbnZlbnVlLCBjbGllbnQu IFMnaWwgdm91cyBwbGFpdCwgbWFuZ2VyICF+fgoKLSBUcmFuc2xhdGU6IEhlbGxvLCB3aGF0IGNh biBJIGRvIGZvciB5b3UsIEludGVycHJldGVyL1RyYW5zbGF0ZXI/CisgJydyZSdpJycgZXN0IHV0 aWxpcyBwb3VyIHNpZ25pZmllciBxdWUgdm91cyB0ZXMgcHJ0ICBjb3V0ZXIuIE9uIHBldXQgbCd1 dGlsaXNlciBjb21tZSB1biBxdWl2YWxlbnQgZGUgUXVlIHB1aXMtamUgZmFpcmUgcG91ciB2b3Vz IG91IE91aSA/LCBvdSBiaWVuIGQnIGFsbG8gYXUgdGxwaG9uZS4gJydyZSdpIG5haScnIHBldXQg c2lnbmlmaWVyIEFGSyBvdSBKZSByZXZpZW5zIHRvdXQgZGUgc3VpdGUgLgoKLSBBbnN3ZXI6IH5+ Z3JleSxncmV5OicnY29pIHJlJ2kgbGEgZmFudmEnJ35+CisgVHJhZHVpc2V6IDogUXVlIHB1aXMt amUgZmFpcmUgcG91ciB2b3VzLCBUcmFkdWN0ZXVyID8KCi0gJyd0YSdhJycgaXMgdXNlZCB3aGVu IGF0dGVtcHRpbmcgdG8gcG9saXRlbHkgaW50ZXJydXB0IHNvbWVvbmUgZWxzZS4gV2hhdCB3b3Vs ZCBiZSBnb29kIHJlc3BvbnNlcyB0byB0aGlzPworIFJwb25zZSA6IH5+Z3JleSxncmV5OiAnJ2Nv aSByZSdpIGxhIGZhbnZhJyd+fgoKLSBUcmFuc2xhdGU6ICcndGEnYSBybyBkbyBtaSBjbydhIGNs aXZhJyc8YnIgLz5fXycnY2xpdmEnJ19fIHgxIGxlYXZlcyB4MiB2aWEgcm91dGUgeDMKKyAnJ3Rh J2EnJyBzJ3V0aWxpc2UgcG91ciBlc3NheWVyIGQnaW50ZXJyb21wcmUgcG9saW1lbnQgcXVlbHF1 J3VuLgoKLSBBbnN3ZXI6IH5+Z3JleSxncmV5OkV4Y3VzZSBtZSBmb3IgaW50ZXJydXB0aW5nLCBl dmVyeW9uZS4gSSBiZWdpbiB0byBsZWF2ZSBub3cgTm90aWNlIHRoYXQgbm8gZmEnb3JtYSdvIG9y ICcnLmknJyBpcyBuZWVkZWQufn4KKyBUcmFkdWlzZXogOiAnJ3RhJ2Egcm8gZG8gbWkgY28nYSBj bGl2YScnPGJyIC8+X18nJ2NsaXZhJydfXyB4MSBxdWl0dGUgeDIgcGFyIGwnaXRpbnJhaXJlIHgz CgotICcna2UnbycnIGlzIHVzZWQgYSBsb3Qgd2hlbiBpbmV4cGVyaWVuY2VkIExvamJhbmlzdHMg c3BlYWsgdG9nZXRoZXIgdm9jYWxseS4gSXQncyBxdWl0ZSBhIGhhbmR5IHdvcmQ8YnIgLz5fXycn c3V0cmEnJ19fIHgxIGlzIHF1aWNrIGF0IGRvaW5nIHgyCisgUnBvbnNlIDp+fmdyZXksZ3JleTog RXhjdXNlei1tb2kgdG91cywgamUgY29tbWVuY2UgIHBhcnRpci48YnIgLz5SZW1hcnF1ZSA6IGls IG4neSBhIGJlc29pbiBuaSBkZSBmYSdvcm1hJ28gbmkgZGUgJycuaScnfn4KCi0gVHJhbnNsYXRl OiAnJy55IGtlJ28gc3V0cmEgdGF2bGEnJworICcna2UnbycnIGVzdCB0cnMgdXRpbGlzIHF1YW5k IGRldXggbG9qYmFuaXN0ZXMgaW5leHByaW1lbnRzIHNlIHBhcmxlIG9yYWxlbWVudC4gQydlc3Qg dW4gbW90IHRycyBwcmF0aXF1ZS48YnIgLz5fXycnc3V0cmEnJ19fIHgxIGVzdCByYXBpZGUgIGZh aXJlIHgyCgotIEFuc3dlcjogfn5ncmV5LGdyZXk6VWgsIFBsZWFzZSByZXBlYXQsIHlvdSBxdWlj ayBzcGVha2VyLn5+CisgVHJhZHVpc2V6IDogJycueSBrZSdvIHN1dHJhIHRhdmxhJycKCi0gQW5k IE9rYXkgb2theSwgSSBnb3QgaXQgYWxyZWFkeSEgSSdsbCBkbyBpdCEKKyBScG9uc2UgOn5+Z3Jl eSxncmV5OiBIZXUsIHJwdGV6LCBzJ2lsIHZvdXMgcGxhaXQsIG9yYXRldXIgcmFwaWRlLn5+Cgot IEFuIGFuc3dlcjogfn5ncmV5LGdyZXk6JydrZSdvIG5haSAudWkgbmFpIHZpJ28nJ35+CisgVHJh ZHVpc2V6IDogRCdhY2NvcmQsIGQnYWNjb3JkLCBqJ2FpIGNvbXByaXMsIGplIHZhaXMgbGUgZmFp cmUgIQoKKyBVbmUgcsOpcG9uc2UgcG9zc2libGUgOiB+fmdyZXksZ3JleTonJ2tlJ28gbmFpIC51 aSBuYWkgdmknbycnfn4KISFMb2piYW4gTGVzc29ucyAtIExlc3NvbiB0d2VudHktdHdvIChxdWFu dGlmeWluZyBzdW10aSkKTW9zdCBvdGhlciBsZWFybmluZyBtYXRlcmlhbHMgc3VjaCBhcyBUaGUg Q29tcGxldGUgTG9qYmFuIExhbmd1YWdlIGFuZCBMb2piYW4gZm9yIEJlZ2lubmVycyB3ZXJlIHdy aXR0ZW4gYmVmb3JlIHRoZSBvZmZpY2lhbCBhZG9wdGF0aW9uICJ4b3JsbyIsIGEgY2hhbmdlIGlu IHRoZSBydWxlcyBhYm91dCBnYWRyaSBkZWZpbml0aW9uIGFuZCBnYWRyaSBxdWFudGlmaWNhdGlv bi4gVGhlIG9ic29sZXRlbmVzcyBvZiBzb21lIG9mIHRoZSB0ZXh0IGluIHRoZSBvbGRlciBsZWFy bmluZyBtYXRlcmlhbHMgd2FzIGEgbWFqb3IgY2F1c2UgZm9yIHRoZSBtb3RpdmF0aW9uIHRvIHdy aXRlIHRoZXNlIGxlc3NvbnMuIFVuZm9ydHVuYXRlbHkgZm9yIG1lLCBxdWFudGlmaWNhdGlvbiBv ZiBzdW10aSBjYW4gYmVjb21lIGEgdmVyeSBjb21wbGV4IHRvcGljIHdoZW4gdGhlIGltcGxpY2F0 aW9ucyBvZiBjZXJ0YWluIHJ1bGVzIGFyZSBkaXNjdXNzZWQgaW4gZGV0YWlsLiBJbiBvcmRlciB0 byBmdWxmaWxsIHRoZSBnb2FsIG9mIHRoaXMgdGV4dCBiZWluZyBhY2N1cmF0ZSBlbm91Z2ggdG8g cmVwcmVzZW50IHRoZSBvZmZpY2lhbCAiZ29sZCBzdGFuZGFyZCIgQlBGSyBydWxlcywgdGhpcyBj aGFwdGVyIHdhcyBhbW9uZyB0aGUgbGFzdCBvbmVzIGZpbmlzaGVkIGFuZCB0aGUgb25lcyBtb3N0 IGZyZXF1ZW50eSByZXdyaXR0ZW4uIEkgc3Ryb25nbHkgZW5jb3VyYWdlIGFueW9uZSB3aG8gZmlu ZHMgbWlzdGFrZXMgaW4gdGhpcyB0ZXh0IHRvIGNvbnRhY3QgbWUgaW4gb3JkZXIgZm9yIHRoZW0g dG8gYmUgY29ycmVjdGVkLgoKCgoKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioKVGhlIG5ldyBwYWdlIGNvbnRlbnQgZm9sbG93cyBiZWxv dy4KKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioKCiFMb2piYW4gV2F2ZSBMZXNzb25zIENvbnRpbnVlZCAocGFydCB0d28pOgoKISEhTWFk ZSBieSBsYSBrbGFrdSB3aXRoIGhlbHAgZnJvbSB2YXJpb3VzIGxvamJhbmlzdHMuIEJhc2VkIG9u IHRoZSB3b3JrIG9mIGxhIC5rcmliYWNyLiBTcHJpbmcgMjAxMy4KCgoKVGhpcyBpcyB0aGUgc2Vj b25kIGluc3RhbGxtZW50IG9mIHRoZSBXYXZlIExlc3NvbnMgQ29udGludWVkLiBJZiB5b3UgZGlk bid0IGNhdGNoIHRoZSBmaXJzdCBwYXJ0LCBvciB3YW50IHRvIGdvIGJhY2sgZm9yIHNvbWUgcmVh c29uLCBqdXN0IGNsaWNrICgod2F2ZWxlc3NvbnNjb250aW51ZWR8b24gdGhlc2UgZm91ciB3b3Jk cy4pKS4gWW91IGNhbiBhbHNvIGdvIHRvIHRoZSB0aGlyZCBwYXJ0IGJ5IGNsaWNraW5nICgod2F2 ZWxlc3NvbnNjb250aW51ZWRwMnx0aGlzIGxpbmspKSwgaWYgeW91IGZlZWwgbGlrZSBkb2luZyB0 aGF0LgoKCgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29uIHNldmVudGVlbiAoY3V0ZSBhc3NvcnRl ZCB3b3JkcykKCkFuZCB3aXRoIHRoYXQsIHRoaXJkIGNoYXB0ZXIsIHlvdSBrbm93IGEgbG90IGFi b3V0IExvamJhbiBzdW10aS4gQWZ0ZXIgc3VjaCBhIGxvbmcgdGltZSBvZiByaWdvcm91cyBzeXN0 ZW1hdGljIGxlYXJuaW5nLCB3aGF0IGNvdWxkIGJlIG1vcmUgZml0dGluZyB0aGF0IHRoaXMgbGVz c29uIHdoZXJlIEkgc3BlYWsgYWJvdXQgc29tZSB3b3JkcyB3aGljaCBJIGNvdWxkIG5vdCwgb3Ig d2FudGVkIG5vdCB0byBmaXQgaW50byBhbnkgb3RoZXIgbGVzc29ucz8gU28gaGVyZSBhcmUgYSBm ZXcgc21hbGwgYW5kIHJlYWxseSB1c2VmdWwgd29yZHM6CgoKClRoZSBmb2xsb3dpbmcgY21hdm8g YXJlIGFsbCBlbGxpcHRpY2FsIHdvcmRzLiBZb3Ugc2hvdWxkIGFscmVhZHkgYmUgZmFtaWxpYXIg d2l0aCB0aGUgZmlyc3QuCgpfXycnem8nZScnX18gLSBlbGxpcHRpY2FsIHN1bXRpCgpfXycnY28n ZScnX18gLSBlbGxpcHRpY2FsIHNlbGJyaQoKX18nJ2RvJ2UnJ19fIC0gZWxsaXB0aWNhbCBzdW10 Y2l0YQoKX18nJ2p1J2EnJ19fIC0gZWxsaXB0aWNhbCBldmlkZW50aWFsCgpfXycnZG8naScnX18g LSBlbGxpcHRpY2FsIHV0dGVyYW5jZSB2YXJpYWJsZQoKX18nJ2dlJ2UnJ19fIC0gZWxsaXB0aWNh bCBhdHRpdHVkaW5hbAoKCgpBbGwgb2YgdGhlc2UgYWN0IGdyYW1tYXRpY2FsbHkgYXMgYSBjbWF2 byBvZiB0aGUga2luZCB0aGV5IHJlcHJlc2VudCwgYnV0IHRoZXkgY29udGFpbiBubyBpbmZvcm1h dGlvbiwgYW5kIGNhbiBiZSBxdWl0ZSBoYW5keSB3aGVuIHlvdSdyZSBsYXp5IGFuZCBkb24ndCBu ZWVkIHRvIGJlIHNwZWNpZmljIGFueXdheS4gVGhlcmUgYXJlLCBob3dldmVyLCBhIGZldyB0aGlu Z3Mgd2hpY2ggbmVlZCB0byBiZSBjbGVhcmVkIHVwOgoKCgogICAgJyd6bydlJycgaGF2ZSB0byBy ZWZlciB0byBzb21ldGhpbmcgd2hpY2ggaXMgY2xhaW1lZCB0byBoYXZlIGEgdmFsdWUuIOKAnHpl cm8gY2Fyc+KAnSBvciDigJxub3RoaW5n4oCdLCBmb3IgaW5zdGFuY2UsIGhhcyBubyB2YWx1ZSwg YW5kIHRoZXJlZm9yZSBjYW5ub3QgYmUgcmVmZXJyZWQgdG8gYnkgJyd6bydlJycuIFRoaXMgaXMg YmVjYXVzZSwgaWYgaXQgY291bGQgbWVhbiDigJxub3RoaW5n4oCdIGJ5ICcnem8nZScnLCB0aGVu IGFueSBzZWxicmkgY291bGQgYmUgaWRlbnRpY2FsIHRvIGl0cyBuZWdhdGlvbiwgaWYgb25lIG9m IHRoZSBlbGlkZWQgc3VtdGkgd2VyZSBmaWxsZWQgd2l0aCBhICcnem8nZScnIHdpdGggbm8gdmFs dWUuCgogICAgJydnZSdlJycgZG9lcyBub3QgbWVhbiB0aGF0IHlvdSBmZWVsIG5vIGVtb3Rpb24s IGp1c3QgdGhhdCB5b3UgZmVlbCBub3RoaW5nIHNwZWNpYWwgb3Igd29ydGggdG8gbWVudGlvbiBh dCB0aGUgbW9tZW50LiBJdCdzIHNpbWlsYXIgdG8g4oCcSSdtIGZpbmUu4oCdLiAnJ2dlJ2UgcGVp JycgYXNrIGFib3V0IGFuIGVsbGlwdGljYWwgZW1vdGlvbiBhbmQgaXMgYSBnb29kIHRyYW5zbGF0 aW9uIGZvcjog4oCcSG93IGFyZSB5b3UgZmVlbGluZz/igJ0uCgogICAgJydjbydlJycgaXMgaGFu ZHkgd2hlbiBuZWVkaW5nIGEgc2VsYnJpIGluIGEgY29uc3RydWN0IGZvciBncmFtbWF0aWNhbCBy ZWFzb25zLCBsaWtlIGluIHRoZSBkZWZpbml0aW9uIG9mICcndHUnYScnIGluIHRoZSBwcmV2aW91 cyBsZXNzb24uCgogICAgJydqdSdhJycgZG9lcyBub3QgY2hhbmdlIHRoZSB0cnV0aCB2YWx1ZSBv ciBzdWJqZWN0aXZlIHVuZGVyc3RhbmRpbmcgb2YgdGhlIGJyaWRpIG9yIGFueXRoaW5nIGxpa2Ug dGhhdC4gSW4gZmFjdCwgaXQncyBtb3N0bHkgZG9lcyBub3RoaW5nLiBIb3dldmVyLCAnJ2p1J2Eg cGVpJycsIOKAnFdoYXQgaXMgeW91ciBiYXNpcyBmb3Igc2F5aW5nIHRoYXQ/4oCdIGlzIGhhbmR5 LgoKICAgICcnZG8naScnIGlzIHJlYWxseSB1c2VmdWwuIEEgbG90IG9mIHRpbWVzIHdoZW4geW91 IHJlZmVyIHRvIHV0dGVyYW5jZXMgb3IgY29udmVyc2F0aW9ucyBieSB3b3JkcyBsaWtlIOKAnHRo aXPigJ0gb3Ig4oCcdGhhdOKAnSwgeW91IHdhbnQgJydkbydpJycuCgogICAgSWYgeW91IGZpbGwg aW4gbW9yZSBzdW10aSB0aGFuIGEgc2VsYnJpIGhhcyBwbGFjZXMgZm9yLCB0aGUgbGFzdCBzdW10 aSBoYXZlIGltcGxpZWQgJydkbydlJycgc3VtdGNpdGEgaW4gZnJvbnQgb2YgdGhlbS4KCgoKRnVy dGhlcm1vcmUsIHRoZXJlIGlzIGEgd29yZCwgJyd6aSdvJycsIHRoYXQgeW91IGNhbiBmaWxsIGEg c3VtdGkgcGxhY2Ugd2l0aCB0byBkZWxldGUgaXQgZnJvbSBhbnkgc2VsYnJpLiAnJ2xvIG1lbGJp IGJlIHppJ28nJywgZm9yIGluc3RhbmNlLCBpcyBqdXN0IOKAnFNvbWV0aGluZyBiZWF1dGlmdWzi gJ0sIGFuZCBkb2VzIG5vdCBpbmNsdWRlIHRoZSB1c3VhbCB4MiBvZiAnJ21lbGJpJycsIHdoaWNo IGlzIHRoZSBvYnNlcnZlciB3aG8ganVkZ2VzIHNvbWV0aGluZyB0byBiZSBiZWF1dGlmdWwuIFRo dXMsIGl0IGNhbiBtZWFuIHNvbWV0aGluZyBsaWtlIOKAnE9iamVjdGl2ZWx5IGJlYXV0aWZ1bC7i gJ0gSXQgZG9lcyBub3Qgc3RhdGUgdGhhdCBub3RoaW5nIGZpbGxzIHRoZSBzdW10aSBwbGFjZSB3 aGljaCBpcyBiZWluZyBkZWxldGVkLCBqdXN0IHRoYXQgdGhlIHN1bXRpIHBsYWNlIGlzIG5vdCBi ZWluZyBjb25zaWRlcmVkIGluIHRoZSBzZWxicmkuIFVzaW5nICcnemknbycnIHdpdGggYSBzdW10 Y2l0YSBnaXZlcyB3ZWlyZCByZXN1bHRzLiBGb3JtYWxseSwgdGhleSBzaG91bGQgY2FuY2VsIGVh Y2ggb3RoZXIgb3V0LiBQcmFjdGljYWxseSwgaXQgd291bGQgcHJvYmFibHkgYmUgdW5kZXJzdG9v ZCBhcyBhbiBleHBsaWNpdCB3YXkgb2Ygc2F5aW5nIHRoYXQgdGhlIHN1bXRjaXRhIGRvZXMgbm90 IGFwcGx5LCBhcyBpbjogJydtaSBkYXJ4aSBkbyBtdSdpIHppJ28nJyAtIOKAnEkgaGl0IHlvdSwg d2l0aCBvciB3aXRob3V0IG1vdGl2YXRpb24u4oCdCgoKClRoZW4gdGhlcmUgaXMgdGhlIHdvcmQg JydqYWknJy4gSXQncyBvbmUgb2YgdGhvc2UgY29vbCwgc21hbGwgd29yZHMgd2hpY2ggYXJlIGhh cmQgdG8gZ3Jhc3AsIGJ1dCBlYXN5IHRvIHdvcmsgd2l0aCBvbmNlIHlvdSBrbm93IGl0LiBJdCBo YXMgdHdvIGRpc3RpbmN0LCBidXQgc2ltaWxhciBmdW5jdGlvbnMuIEJvdGggaGF2ZSBzb21ldGhp bmcgdG8gZG8gd2l0aCBjb252ZXJ0aW5nIHRoZSBzZWxicmksIGxpa2UgJydzZScnIGRvZXMuCgpf XycnamFpJydfXyBTZWxicmkgY29udmVyc2lvbjogQ29udmVydHMgc3VtdGNpdGEgb3IgdW5zcGVj aWZpZWQgYWJzdHJhY3Rpb24gdG8geDEuIFVzZSB3aXRoICcnZmFpJycKCl9fJydmYWknJ19fIE1h cmtzIHN1bXRpIHBsYWNlLiBXb3JrcyBsaWtlICcnZmEnJy4gVG8gYmUgdXNlZCB3aXRoICcnamFp JycuCgpUaGUgZmlyc3QgZ3JhbW1hdGljYWwgY29uc3RydWN0aW9uIGl0IGNhbiBtYWtlIGlzICIn J2phaScnIHtzdW10Y2l0YX0ge3NlbGJyaX0iLiBJdCBjaGFuZ2VzIHRoZSBzdW10aSBwbGFjZXMg c3VjaCB0aGF0IHRoZSBzdW10aSBwbGFjZSBvZiB0aGUgc3VtdGNpdGEgYmVjb21lcyB0aGUgc2Vs YnJpJ3MgeDEsIGFuZCB0aGUgc2VsYnJpJ3Mgb2xkIHgxIGlzIHJlbW92ZWQsIGFuZCBvbmx5IGFj Y2Vzc2libGUgYnkgdXNpbmcgJydmYWknJywgd2hpY2ggd29ya3MgbGlrZSAnJ2ZhJycuIFlvdSBj YW4gc2VlIGl0IHdpdGggdGhpcyBleGFtcGxlOgoKX18nJ2dhdScnX18gLSBzdW10Y2l0YSAoZnJv bSAnJ2dhc251JycpIOKAnGJyaWRpIGhhcyBiZWVuIGJyb3VnaHQgYWJvdXQgYnkvd2l0aCBhY3Rp dmUgYWdlbnQge3N1bXRpfeKAnQoKJydkbyBqYWkgZ2F1IGp1bmRpIHRpIGZhaSBtaScnLiAtIOKA nFlvdSBicmluZyBhYm91dCBhdHRlbnRpb24gdG8gdGhpcyBieSBtZeKAnS4gVGhlIG5ldyBzZWxi cmksICcnamFpIGdhdSBqdW5kaScnLCBoYXMgdGhlIHBsYWNlIHN0cnVjdHVyZSBvZiDigJx4MSBi cmluZ3MgYWJvdXQgYXR0ZW50aW9uIHBhaWQgdG8geDLigJ0uIFRoZXNlIGFyZSB0aGVuIGZpbGxl ZCBieSAnJ2RvJycgYW5kICcndGknJy4gVGhlICcnZmFpJycgdGhlbiBtYXJrcyB0aGUgcGxhY2Ug Zm9yIHRoZSBvbGQgeDEsIHRoZSBvbmUgd2hvIHdhcyBwYXlpbmcgYXR0ZW50aW9uLCBhbmQgaXQg aXMgZmlsbGVkIHdpdGggJydtaScnLiBUaGlzIHdvcmQgY2FuIGJlIHZlcnkgY29udmVuaWVudCBh bmQgaGFzIHRvbnMgb2YgdXNlcy4gQSBnb29kIGV4YW1wbGUgaXMgZGVzY3JpcHRpdmUtbGlrZSBz dW10aS4gT25lIGNhbiwgZm9yIGluc3RhbmNlLCByZWZlciB0byDigJx0aGUgbWV0aG9kIG9mIHZv bGl0aW9uYWwgYWN0aW9u4oCdIGJ5ICcnbG8gamFpIHRhJ2kgenVrdGUnJy4KCl9fJyd0YSdpJydf Xzogc3VtdGNpdGEgKGZyb20gJyd0YWRqaScnKSDigJxCcmlkaSBpcyBkb25lIHdpdGggdGhlIG1l dGhvZCBvZiB7c3VtdGl94oCdCgpDYW4geW91IGRlZHVjZSB3aGF0IHRoZSBvcmRpbmFyeSBMb2pi YW4gcGhyYXNlICcnZG8gamFpIGdhdSBtbycnIG1lYW5zPwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5 OuKAnFdoYXQgYXJlIHlvdSBkb2luZz/igJ1+fgoKCgpUaGUgb3RoZXIgZnVuY3Rpb24gb2YgJydq YWknJyBpcyBlYXNpZXIgdG8gZXhwbGFpbi4gSXQgc2ltcGx5IGNvbnZlcnRzIHRoZSBzZWxicmkg c3VjaCB0aGF0IHRoZSBzdW10aSBpbiB0aGUgeDEgZ2V0cyBhICcndHUnYScnIGluIGZyb250IG9m IGl0ICgnJ2tvJ2EgamFpIGJyb2RhJycgX189X18gJyd0dSdhIGtvJ2EgYnJvZGEnJykuIEluIG90 aGVyIHdvcmRzLCBpdCBjb252ZXJ0cyB0aGUgc2VsYnJpIGluIGEgd2F5IHN1Y2ggdGhhdCBpdCBi dWlsZHMgYW4gZWxsaXB0aWNhbCBhYnN0cmFjdGlvbiBmcm9tIHRoZSBzdW10aSBpbiB0aGUgeDEs IGFuZCB0aGVuIGZpbGxzIHgxIHdpdGggdGhlIGFic3RyYWN0aW9uIGluc3RlYWQgb2YgdGhlIGFj dHVhbCBzdW10aS4gQWdhaW4sIHRoZSBvcmlnaW5hbCBzdW10aSBwbGFjZSBpcyBhY2Nlc3NpYmxl IGJ5ICcnZmFpJycuCgpBIHZlcnkgYWN0aXZlIExvamJhbiBJUkMtdXNlciBvZnRlbiBzYXlzICcn bGUgZ2Vya3UgcGUgZG8gamFpIHNlIHN0aWRpIG1pJycsIHRvIHVzZSBhIHJhbmRvbSBleGFtcGxl IG9mIGEgc3VtdGkgaW4geDEuIFdoYXQncyBoZSBzYXk/CgpfXycnc3RpZGknJ19fIHgxIGluc3Bp cmVzL3N1Z2dlc3RzIHgyIGluL3RvIHgz4oCdCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcSSBz dWdnZXN0IChzb21ldGhpbmcgYWJvdXQpIHlvdXIgZG9nLuKAnX5+CgoKClNvIGZhciB5b3UndmUg bGVhcm5lZCBob3cgdG8gY29udmVydCBicmlkaSB0byBzZWxicmksIHNlbGJyaSB0byBzdW10aSwg YW5kIHNlbGJyaSBpbnRvIGJyaWRpLCBzaW5jZSBhbGwgc2VsYnJpIGJ5IHRoZW1zZWx2ZXMgYXJl IGFsc28gYnJpZGkuIFlvdSBvbmx5IG5lZWQgb25lIGxhc3QgZnVuY3Rpb246IGNvbnZlcnQgc3Vt dGkgdG8gc2VsYnJpLiBUaGlzIGlzIGRvbmUgd2l0aCB0aGUgd29yZCAnJ21lJycuIEl0IGFjY2Vw dHMgYSBzdW10aSBhbmQgY29udmVydHMgaXQgaW50byBhIHNlbGJyaS4KCl9fJydtZScnX186IEdl bmVyaWMgY29udmVydCBzdW10aSB0byBzZWxicmkuIHgxIGlzL2FyZSBhbW9uZyB0aGUgcmVmZXJl bnRzIG9mIFNVTVRJCgoKCldoZW4gc2NyZXdpbmcgYSBzZW50ZW5jZSB1cCwga25vd2luZyBob3cg dG8gY29ycmVjdCB5b3Vyc2VsZiBpcyBhIGdvb2QgaWRlYS4gVGhlcmUgYXJlIHRocmVlIHdvcmRz IGluIExvamJhbiB3aGljaCB5b3UgY2FuIHVzZSB0byBkZWxldGUgeW91ciBwcmV2aW91cyB3b3Jk KHMpCgpfXycnc2knJ19fIC0gZGVsZXRpb246IERlbGV0ZXMgbGFzdCB3b3JkIG9ubHkuCgpfXycn c2EnJ19fIC0gZGVsZXRpb246IERlbGV0ZXMgYmFjayB1bnRpbCBuZXh0IGNtYXZvIHNwb2tlbi4K Cl9fJydzdScnX18gLSBkZWxldGlvbjogRGVsZXRlcyBlbnRpcmUgZGlzY291cnNlLgoKVGhlIGZ1 bmN0aW9uIG9mIHRoZXNlIHdvcmRzIGFyZSBvYnZpb3VzOiBUaGV5IGRlbGV0ZSB3b3JkcyBhcyBp ZiB0aGV5IGhhdmUgbmV2ZXIgYmVlbiBzcG9rZW4uIFRoZXkgZG8gbm90IHdvcmsgaW5zaWRlIGNl cnRhaW4gcXVvdGVzIChhbGwgcXVvdGVzIGV4Y2VwdCAnJ2x1Li5saSd1JycpLCB0aG91Z2gsIGFz IHRoYXQgd291bGQgbGVhdmUgaXQgaW1wb3NzaWJsZSB0byBxdW90ZSB0aGVzZSB3b3Jkcy4gU2V2 ZXJhbCAnJ3NpJycgaW4gYSByb3cgZGVsZXRlcyBzZXZlcmFsIHdvcmRzLgoKCgoKCiEhTG9qYmFu IExlc3NvbnMgLSBMZXNzb24gZWlnaHRlZW4gKHF1b3RlcykKCk9uZSBvZiB0aGUga2V5IGRlc2ln biBmZWF0dXJlcyBvZiBMb2piYW4gaXMgdGhhdCBpdCdzIHN1cHBvc2VkIHRvIGJlIGF1ZGlvLXZp c3VhbCBpc29tb3JwaGljLCBtZWFuaW5nIHRoYXQgZXZlcnl0aGluZyBleHByZXNzZWQgaW4gdGV4 dCBzaG91bGQgYWxzbyBiZSBleHByZXNzZWQgaW4gc3BlZWNoIGFuZCB2aWNlIHZlcnNhLiBUaGVy ZWZvcmUsIHRoZXJlIGNhbm5vdCBiZSBhbnkgcHVuY3R1YXRpb24gd2hpY2ggaXMgbm90IHByb25v dW5jZWQuIFRoaXMgbWVhbnMgdGhhdCBMb2piYW4gaGFzIGEgd2lkZSByYW5nZSBvZiB3b3JkcyB0 byBxdW90ZSBvdGhlciB3b3Jkcy4gQWxsIExvamJhbiBxdW90ZXMgdGFrZSBzb21lIGlucHV0IG9m IHRleHQgYW5kIGNvbnZlcnRzIGl0IHRvIGEgc3VtdGkuIExldCdzIGJlZ2luIHdpdGggdGhlIG1v c3Qgc2ltcGxlOgoKCgpfXycnbHUnJ19fIFF1b3RlIHdvcmQ6IEJlZ2luIHF1b3RlIG9mIGdyYW1t YXRpY2FsIExvamJhbiBjb250ZW50CgpfXycnbGkndScnX18gUXVvdGUgd29yZDogRW5kIHF1b3Rl IG9mIGdyYW1tYXRpY2FsIExvamJhbiBjb250ZW50CgoKClRoZSB0ZXh0IGluc2lkZSB0aGlzIGNv bnN0cnVjdCBtdXN0IGJ5IGl0c2VsZiBiZSBncmFtbWF0aWNhbC4gSXQgY2FuIHF1b3RlIGFsbCBM b2piYW4gd29yZHMgd2l0aCBzb21lIGZldyBleGNlcHRpb25zLCBtb3N0IG5vdGFibHksIG9idmlv dXNseSwgJydsaSd1JycuCgoKClRyeSB0byB0cmFuc2xhdGUgdGhlIGZvbGxvd2luZyBzZW50ZW5j ZS4gVGFrZSB5b3VyIHRpbWUuCgonJ21pIHN0aWRpIGxvIGRyYXRhIGJlIHR1J2EgbHUga28gamFp IGdhdSBtbyBsaSd1JycKCl9fJydkcmF0YScnX18geDEgaXMgZGlmZmVyZW50IGZyb20geDIgYnkg c3RhbmRhcmQKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxJIHN1Z2dlc3Qgc29tZXRoaW5nIGRp ZmZlcmVudCB0aGFuIHNvbWV0aGluZyBhYm91dCDigJxrbyBqYWkgZ2F1IG1v4oCdLuKAnX5+CgoK ClRoZXNlIHF1b3RlIHdvcmRzIGNhbm5vdCBxdW90ZSB1bmdyYW1tYXRpY2FsIHRleHQuIFRoaXMg aXMgc29tZXRpbWVzIHVzZWZ1bCwgd2hlbiB5b3Ugd2FudCB0byBvbmx5IHBpY2sgb3V0IHBhcnQg b2YgYSBzZW50ZW5jZSwgYXMgaW46IOKAnCBpcyDigJxnaSdl4oCdIGEgTG9qYmFuIHN1bXRjaXRh P+KAnQoKCgpGb3IgdGhpcywgeW91IG5lZWQgdGhlc2UgdHdvIGNtYXZvCgpfXycnbG8ndScnX18g UXVvdGUgd29yZDogQmVnaW4gcXVvdGUgb2YgdW5ncmFtbWF0aWNhbCBidXQgTG9qYmFuIGNvbnRl bnQKCl9fJydsZSd1JydfXyBRdW90ZSB3b3JkOiBFbmQgcXVvdGUgb2YgdW5ncmFtbWF0aWNhbCBi dXQgTG9qYmFuIGNvbnRlbnQKCgoKVGhlIHRleHQgaW5zaWRlIG11c3QgYmUgTG9qYmFuIHdvcmRz LCBidXQgbmVlZCBub3QgYmUgZ3JhbW1hdGljYWwuIFRyeSB0byB0cmFuc2xhdGUgdGhlIGFib3Zl IGV4YW1wbGUgKHRoZSBvbmUgd2l0aCAnJ2dpJ2UnJykgaW50byBMb2piYW4KCgoKQW5zd2VyOiB+ fmdyZXksZ3JleTonJ3h1IGxvJ3UgZ2knZSBsZSd1IGxvamJvIHN1bXRjaXRhJyd+fgoKCgpUaGlz IHF1b3RlIGNhbiBiZSB1c2VkIHRvIHF1b3RlIGFsbCBMb2piYW4gd29yZHMgZXhjZXB0ICcnbGUn dScnLiBIb3dldmVyLCB0aGlzIGlzIG5vdCBlbm91Z2guIElmIHdlIHdhbnQgdG8gdHJhbnNsYXRl IOKAnGlzIOKAnWRvIG1v4oCdIGEgY29ycmVjdCB0cmFuc2xhdGlvbiBvZiDigJxXaGF0J3MgdXA/ 4oCd4oCdLCB3ZSBtaWdodCBiZSBzbGlnaHRseSB3cm9uZyBhYm91dCB3aGF0IHdlIGhlcmUgc3Rh dGUsIHNpbmNlICcnZG8gbW8nJyBhbHNvIGNhbiBtZWFuIOKAnFdoYXQgYXJlIHlvdT/igJ0sIGJ1 dCBsZXQncyByb2xsIHdpdGggaXQgZm9yIGEgc2Vjb25kLiBXaGF0IHdlIG5lZWQgaGVyZSBpcyB0 aGUgd29yZCAnJ3pvaScnLgoKCgonJ3pvaScnIE5leHQgY21hdm8gaXMgYmVnaW4gYWxsLXB1cnBv c2UgcXVvdGUgYW5kIGNsb3NlIGFsbC1wdXJwb3NlIHF1b3RlLgoKCgpXaGVuIHVzaW5nICcnem9p JycsIHlvdSBwaWNrIGFueSBtb3JwaG9sb2dpY2FsbHkgY29ycmVjdCBsb2piYW4gd29yZCBhdCB3 aWxsIChjYWxsZWQgdGhlIGRlbGltaXRlciksIHdoaWNoIHRoZW4gb3BlbnMgYSBxdW90ZS4gVG8g Y2xvc2UgaXQsIHVzZSB0aGF0IHdvcmQgYWdhaW4uIFRoaXMgd2F5LCB5b3UgY2FuIHF1b3RlIGFu eXRoaW5nIGV4Y2VwdCB0aGUgZGVsaW1pdGVyLCB3aGljaCBzaG91bGRuJ3QgYmUgYSBwcm9ibGVt IGJlY2F1c2UgeW91IGNhbiBwaWNrIGl0IHlvdXJzZWxmLiBVc3VhbGx5LCB0aGUgd29yZCBwaWNr ZWQgaXMgZWl0aGVyICcnem9pJycgaXRzZWxmLCBvciBhIGxldHRlciB3aGljaCBzdGFuZHMgZm9y IHRoZSBsYW5ndWFnZSB3aGljaCB0aGUgcXVvdGUgaXMgd3JpdHRlbiBpbi4gRXhhbXBsZTog4oCc SSBsaWtlZCBUaGUgUGhhbnRvbSBvZiB0aGUgT3BlcmHigJ0gaXMgJydtaSBwdSBuZWxjaSBsYSdl IHpvaSB6b2kuIFRoZSBQaGFudG9tIG9mIHRoZSBPcGVyYSAuem9pJycgTm90aWNlIHR3byB0aGlu Z3M6IEZpcnN0bHksIEkgbmVlZCBhICcnbGEnZScnLCBzaW5jZSBJIGRpZG4ndCBsaWtlIHRoZSBx dW90ZSwgYnV0IHJhdGhlciB3aGF0IGl0IHJlZmVycmVkIHRvLiBTZWNvbmRseSwgYmV0d2VlbiB0 aGUgY2hvc2VuIGRlbGltaXRlciBhbmQgdGhlIHF1b3RlLCB0aGVyZSBhcmUgcGF1c2VzLCBvcHRp b25hbGx5IHJlcHJlc2VudGVkIGJ5IGEgZnVsbCBzdG9wIGluIHdyaXRpbmcuIFRoaXMgcGF1c2Ug aXMgbmVjZXNzYXJ5IHRvIGNvcnJlY3RseSBpZGVudGlmeSB0aGUgZGVsaW1pdGVyLgoKCgpUcnkg dG8gdHJhbnNsYXRlIHRoZSBhYm92ZSBzZW50ZW5jZSBjb25jZXJuaW5nIOKAnFdoYXQncyB1cD/i gJ0KCgoKX18nJ2RyYW5pJydfXyB4MSBpcyBjb3JyZWN0L3Byb3BlciBpbiBhc3BlY3QgeDIgaW4g c2l0dWF0aW9uIHgzIGJ5IHN0YW5kYXJkIHg0CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6Jyd4dSBs dSBkbyBtbyBsaSd1IGRyYW5pIHhlIGZhbnZhIHpvaSBneS4gV2hhdCdzIHVwPyAuZ3knJy4gSGVy ZSB0aGUgZGVsaW1pdGVyICcnZ3knJyBpcyBjaG9zZW4gYmVjYXVzZSBpdCdzIHNob3J0IGZvciAn J2dsaWNvJycsIG1lYW5pbmcgIkVuZ2xpc2gifn4KCgoKQ2xvc2VseSBhbmFsb2dvdXNseSwgdGhl cmUgaXMgJydsYSdvJycuIEl0IHdvcmtzIGV4YWN0bHkgbGlrZSAnJ3pvaScnLCBidXQgdHVybnMg dGhlIHJlc3VsdGluZyBxdW90ZSBpbnRvIGEgbmFtZS4gSXQgaXMgbmVlZGVkIGJlY2F1c2Ugbm9y bWFsbHksIG9ubHkgc2VsYnJpIGFuZCBjbWV2bGEgY2FuIGJlIG5hbWVzLCBub3QgcXVvdGVzLgoK X18nJ2xhJ28nJ19fIE5leHQgY21hdm8gaXMgYmVnaW4gYWxsLXB1cnBvc2UgcXVvdGUgYW5kIGNs b3NlIGFsbC1wdXJwb3NlIHF1b3RlIOKAkyB1c2UgYXMgbmFtZS4KCgoKTGFzdCBvZiB0aGUgb2Zm aWNpYWwgcXVvdGUgd29yZHMsIHRoZXJlIGlzICcnem8nJy4gJyd6bycnIGFsd2F5cyBxdW90ZXMg dGhlIG5leHQgTG9qYmFuIHdvcmQsIG5vIG1hdHRlciB3aGF0IGl0IGlzLiBJdCdzIHByZXR0eSBo YW5keS4KCicnem8nJyBRdW90ZSBuZXh0IExvamJhbiB3b3JkLCBubyBtYXR0ZXIgd2hhdC4KCkV4 YW1wbGU6ICcnem8gem8gem8nbyBwbGl4YXUnJyA9IOKAnCDigJx6b+KAnSBpcyB1c2VmdWwsIGhl aGXigJ0KCl9fJyd6bydvJydfXyBhdHRpdHVkaW5hbDogZGlzY3Vyc2l2ZTogSHVtb3JvdXNseSwg 4oCca2lkZGluZyB5b3XigJ0KCl9fJydwbGl4YXUnJ19fIHgxIGlzIHVzZWZ1bCBmb3IgeDIgdG8g ZG8gcHVycG9zZSB4MwoKCgpMb2piYW4gdXNlcnMgaGF2ZSBmb3VuZCBpdCB1c2VmdWwgdG8gc3Vw cGxlbWVudCB3aXRoIGZvdXIgYWRkaXRpb25hbCBxdW90ZSB3b3Jkcy4gVGhleSBhcmUgYWxsIGV4 cGVyaW1lbnRhbCwgYW5kIHRoZSBmb3JtYWwgZ3JhbW1hciBkb2VzIG5vdCBzdXBwb3J0IGl0LiBO b25ldGhlbGVzcywgdGhleSBhcmUgdXNlZCBvZnRlbiwgYW5kIGl0J3MgZ29vZCB0byBiZSBhYmxl IHRvIHJlY29nbml6ZSB0aGVtLiBUaGUgbW9zdCB1c2VkIGlzOgoKCgpfXycnem8nb2knJ19fIFF1 b3RlIG5leHQgd29yZCBvbmx5LiBOZXh0IHdvcmQgaXMgaWRlbnRpZmllZCBieSBwYXVzZXMgaW4g c3BlZWNoIG9yIHdoaXRlc3BhY2UgaW4gd3JpdGluZzoKCgoKRXhhbXBsZTogJydyaSBwdSBjdXNr dSB6bydvaSBEb2ghIC51J2knJyDigJxIYSBoYSwgaGUgc2FpZCDigJxEb2gh4oCdIOKAnAoKCgpJ dCdzIHZlcnkgZWFzeSB0byB1c2UuIEFnYWluLCBub3RlIHRoYXQgYWxsIGdyYW1tYXIgYm90cyB3 aWxsIGNvbnNpZGVyIHRoZSBzZW50ZW5jZSBub3QgZ3JhbW1hdGljYWwsIGJlY2F1c2UgdGhlc2Ug d29yZHMgZG8gbm90IGV4aXN0IGluIHRoZSBmb3JtYWwgZ3JhbW1hci4KCgoKQW5hbG9nb3VzIHRv ICcnem8nb2knJyBhbmQgJydsYSdvJycsIHRoZXJlIGlzIGFsc28gdGhlIHdvcmQgJydsYSdvaScn LCB3aGljaCB3b3JrcyBqdXN0IGxpa2UgJyd6bydvaScnLCBidXQgdHJlYXRzIHRoZSBxdW90ZSBh cyBhIG5hbWU6CgpfXycnbGEnb2knJ19fIFF1b3RlIG5leHQgd29yZCBvbmx5LCB1c2UgYXMgbmFt ZS4gTmV4dCB3b3JkIGlzIGlkZW50aWZpZWQgYnkgcGF1c2VzIGluIHNwZWVjaCBvciB3aGl0ZXNw YWNlIGluIHdyaXRpbmc6CgoKCkhvdyB3b3VsZCB5b3Ugc2F5OiDigJxNeSBFbmdsaXNoIG5hbWUg aXMg4oCcU2FmaeKAneKAnT8KCl9fJydnbGljbycnX18geDEgaXMgRW5nbGlzaC9wZXJ0YWlucyB0 byBFbmdsaXNoIGN1bHR1cmUgaW4gYXNwZWN0IHgyCgpfXycnY21lbmUnJ19fIHgxIGlzIHRoZSBu YW1lIG9mIHgyIGFzIHVzZWQgYnkgeDMKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ21pIGdsaWNv IHNlIGNtZW5lIGxhJ29pIFNhZmknJy4gTm90aWNlIHRoZSBuZWNlc3Nhcnkgc2UuIFdlIGRvbid0 IHdoYXQgdG8gc2F5IHRoYXQgd2UncmUgYSBuYW1lIX5+CgoKClRoaXJkbHksICcncmEnb2knJyBx dW90ZXMgdGhlIG5leHQgcmFmc2kuIFNpbmNlIHJhZnNpIGFyZSBub3Qgd29yZHMsIHRoZXkgd291 bGQgdXN1YWxseSBoYXZlIHRvIGJlIHF1b3RlZCBieSAnJ3pvaScnLiBGdXJ0aGVybW9yZSwgc2V2 ZXJhbCByYWZzaSBhcmUgYWxzbyBjbWF2by4gVG8gYXZvaWQgY29uZnVzaW9uIG9mIHdoaWNoIGlz IG1lYW50LCAnJ3JhJ29pJycgYWx3YXlzIHJlZmVyIHRvIGEgcmFmc2ksIGFuZCBpcyB3cm9uZyBp biBmcm9udCBvZiBhbnkgdGV4dCBzdHJpbmcgd2hpY2ggYXJlIG5vdCByYWZzaS4KCgoKV2hhdCBk b2VzICcncmEnb2kgenUnZSByYWZzaSB6byB6dWt0ZSAuaWt1J2kgem8nb2kgenUnZSBzdW10Y2l0 YScnIG1lYW4/CgpfXycna3UnaScnX18gYXR0aXR1ZGluYWw6IGRpc2N1cnNpdmU6IEhvd2V2ZXIg LyB0aG91Z2ggKGNvbnRyYXN0cyB0byBzb21ldGhpbmcgcHJldmlvdXNseSBzYWlkKQoKX18nJ3Jh ZnNpJydfXyB4MSBhbiBhZmZpeCBmb3Igd29yZC9jb25jZXB0IHgyIHdpdGggcHJvcGVydGllcy9v ZiBmb3JtIHgzIGluIGxhbmd1YWdlIHg0CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcVGhlIHJh ZnNpIOKAnHp1J2XigJ0gaXMgYSByYWZzaSBmb3Ig4oCcenVrdGXigJ0uIEJ1dCDigJx6dSdl4oCd IGlzIGEgc3VtdGNpdGHigJ1+fgoKCgpBbmQgZmluYWxseSB0aGUgdXNlZnVsIHdvcmQgJydtYSdv aScnLiAnJ21hJ29pJycgcXVvdGVzIGFueSBjbWF2bywgYnV0IHRyZWF0cyB0aGUgcXVvdGUgYXMg YSBuYW1lIGZvciB0aGUgd29yZCBjbGFzcyAoc2VsbWEnbykgdG8gd2hpY2ggdGhhdCB3b3JkIGJl bG9uZ3MuIFNvLCBmb3IgaW5zdGFuY2UsIGJhJ28gYmVsb25ncyB0byB0aGUgd29yZGNsYXNzIGNh bGxlZCBaQWhPLCBzbyAnJ21hJ29pIGJhJ28nJyBpcyB1bm9mZmljaWFsIExvamJhbiBmb3Ig4oCc WmFoT+KAnQoKCgpUcnkgaXQgb3V0LiBTYXkgdGhhdCAnJ3B1JycgYW5kICcnYmEnJyBhcmUgaW4g dGhlIHNhbWUgc2VsbWEnbyEKCl9fJydjbWF2bycnX18geDEgaXMgYSBncmFtbWF0aWNhbCB3b3Jk IG9mIGNsYXNzIHgyIGluIGxhbmd1YWdlIHgzCgoKCihPbmUgcG9zc2libGUpIEFuc3dlcjogIH5+ Z3JleSxncmV5Oicnem8gcHUgY21hdm8gbWEnb2kgYmEnJ35+CgoKCgoKISFMb2piYW4gTGVzc29u cyAtIExlc3NvbiBuaW5ldGVlbiAobnVtYmVycykKCldoZW4gbGVhcm5pbmcgYSBsYW5ndWFnZSwg b25lIG9mIHRoZSB0aGluZ3Mgd2hpY2ggYXJlIHVzdWFsbHkgdGF1Z2h0IHZlcnkgZWFybHkgb24g aXMgaG93IHRvIGNvdW50LiBUaGlzIHJlYWxseSBtYWtlcyBsaXR0bGUgc2Vuc2UsIGJlY2F1c2Ug aXQncyBub3QgbmVjZXNzYXJ5IHRvIGtub3cgbnVtYmVycyBpZiB5b3UgZG9uJ3Qga25vdyBob3cg dG8gc3BlYWsgYWJvdXQgdGhvc2UgdGhpbmdzIHRvIHdoaWNoIHRoZXkgYXBwbHkuIFRoaXMgaXMg cGFydGx5IHRoZSByZWFzb24gd2h5IEkgaGF2ZSBsZWZ0IGl0IGZvciBsZXNzb24gbnVtYmVyIG5p bmV0ZWVuLiBUaGUgb3RoZXIgcmVhc29uIGlzIHRoYXQgd2hpbGUgdGhlIG51bWJlcnMgdGhlbXNl bHZlcyBhcmUgZWFzeSB0byBsZWFybiwgaG93IHRoZXkgYXBwbHkgdG8gc3VtdGkgY2FuIGdldCB2 ZXJ5IGNvbmZ1c2luZyBpbmRlZWQuIFRoYXQsIGhvd2V2ZXIsIHdlIHdpbGwgc2F2ZSBmb3IgYSBs YXRlciBsZXNzb24uCgpCZWZvcmUgbGVhcm5pbmcgdGhlIHdvcmRzIHRoZW1zZWx2ZXMsIHlvdSBz aG91bGQga25vdyB0aGF0IG51bWJlcnMgZG8gbm90IGhhdmUgYW55IGludGVybmFsIGdyYW1tYXIu IFRoaXMgbWVhbnMgdGhhdCBhbnkgcm93IG9mIG51bWJlciB3b3JkcyAoaGVuY2Vmb3J0aCByZWZl cnJlZCB0byBhcyBhICJudW1iZXIgc3RyaW5nIikgYXJlIHRyZWF0ZWQgaWRlbnRpY2FsbHkgdG8g YW55IG90aGVyIG51bWJlciBzdHJpbmcgdG8gdGhlIExvamJhbiBncmFtbWFyLCBldmVuIGlmIHRo ZSBzdHJpbmcgbWFrZXMgbm8gc2Vuc2UuIFRoZXJlZm9yZSwgb25lIGNhbiBuZXZlciBhbnN3ZXIg dW5hbWJpZ3VvdXNseSB3aGV0aGVyIGEgbnVtYmVyIGNvbnN0cnVjdCBtYWtlcyBzZW5zZSBvciBu b3QuIFRoZXJlIGFyZSwgaG93ZXZlciwgaW50ZW5kZWQgd2F5cyBvZiB1c2luZyB0aGUgbnVtYmVy IHdvcmRzLCBhbmQgY29uZnVzaW9uIHdpbGwgcHJvYmFibHkgcmVzdWx0IGlmIHlvdSBkZXZpYXRl IGZyb20gdGhlIHN0YW5kYXJkLgoKTGVhcm5pbmcgYWxsIHRoZSBudW1iZXIgd29yZHMgb2YgTG9q YmFuIGFyZSB3YXkgYmV5b25kIHRoZSBzY29wZSBvZiB0aGlzIGxlc3Nvbiwgc28geW91IHdpbGwg b25seSBiZSBpbnRyb2R1Y2VkIHRvIHdoYXQgaXMgbm9ybWFsbHkgdXNlZCBpbiB0ZXh0LiBUaGUg d2lkZSByYW5nZSBvZiBMb2piYW4gbWF0aGVtYXRpY2FsIGNtYXZvIGFyZSBjYWxsZWQgJydtZWtz bycnIChMb2piYW4gZm9yICJtYXRoZW1hdGljYWwgZXhwcmVzc2lvbiIpLCBhbmQgaXMgd2lkZWx5 IGRpc3JlZ2FyZGVkIGJlY2F1c2Ugb2YgaXRzIGNvbXBsZXhpdHkgYW5kIHF1ZXN0aW9uYWJsZSBh ZHZhbnRhZ2Ugb3ZlciBzby1jYWxsZWQgYnJpZGkgbWF0aC4KCkxldCdzIGJlZ2luIHdpdGggdGhl IG9yZGluYXJ5IExvamJhbiBudW1iZXJzLCBmcm9tIHplcm8gdG8gbmluZToKCnx8emVyb3xvbmV8 dHdvfHRocmVlfGZvdXJ8Zml2ZXxzaXh8c2V2ZW58ZWlnaHR8bmluZQoKbm98cGF8cmV8Y2l8dm98 bXV8eGF8emV8Yml8c298fAoKTm90aWNlIGhvdyB0aGUgdm93ZWxzIGFyZSBhbHRlcm5hdGluZyAo d2l0aCB0aGUgZXhjZXB0aW9uIG9mICcnbm8nJyksIGFuZCBob3cgbm8gY29uc29uYW50IGlzIHVz ZWQgZm9yIHR3byBkaWdpdHMuCgpJbiBvcmRlciB0byBleHByZXNzIG51bWJlcnMgaGlnaGVyIHRo YW4gbmluZSwgdGhlIG51bWJlcnMgYXJlIGp1c3Qgc3RydW5nIHRvZ2V0aGVyOgoKJyd2byBtdSBj aScnIOKAkyBmb3VyIGh1bmRyZWQgYW5kIGZpZnR5IHRocmVlICg0NTMpCgonJ3BhIG5vIG5vIG5v IG5vJycgdGVuIHRob3VzYW5kICgxMCAwMDApCgpUaGVyZSBpcyBhbHNvIGEg4oCccXVlc3Rpb24t ZGlnaXTigJ0sIHdoaWNoIGlzIHVzZWQgbGlrZSBvdGhlciBmaWxsLWluLXRoZS1ibGFuayBxdWVz dGlvbiB3b3Jkcy4gSXQncyAnJ3hvJycuIFRoZSBhbnN3ZXIgdG8gc3VjaCBhIHF1ZXN0aW9uIG1h eSBiZSBqdXN0IHRoZSByZWxldmFudCBkaWdpdChzKSBieSBpdHNlbGYsIG9yIHRoZXkgY2FuIGJl IG51bWVyaWNhbCBjb25zdHJ1Y3RzLCBhcyBzaG93biBsYXRlci4KCicnY2kgeG8geG8geG8nJyDi gJMgIlRocmVlIHRob3VzYW5kIGFuZCBob3cgbWFueT8iICgzPz8/KQoKX18nJ3hvJydfXyBxdWVz dGlvbiBkaWdpdCDigJMgdXNlIGxpa2UgYW55IG90aGVyIGRpZ2l0IHRvIGFzayBmb3IgdGhlIGNv cnJlY3QgZGlnaXQuCgpUaGUgZXhwZXJpbWVudGFsIHdvcmQgJyd4bydlJycgaXMgc29tZXRpbWVz IHVzZWQgdG8gbWVhbiBhbiB1bnNwZWNpZmllZCwgZWxsaXB0aWNhbCBkaWdpdC4gSXRzIGRlZmlu aXRpb24gaXMgbm90IG9mZmljaWFsLCB0aG91Z2guCgonJ2NpIHhvJ2UgeG8nZSB4bydlJycg4oCT IFRocmVlIHRob3VzYW5kIGFuZCBzb21ldGhpbmcKCl9fJyd4bydlJydfXyBlbGxpcHRpY2FsIGRp Z2l0LgoKU2luY2UgYWxsIG51bWJlciBzdHJpbmdzIGFyZSB0cmVhdGVkIGdyYW1tYXRpY2FsbHkg dGhlIHNhbWUsIG9uZSBtaWdodCBhbHNvIGFuc3dlciBzZXZlcmFsIGRpZ2l0cyB0byBvbmUgJyd4 bydlJycKCgoKRnVydGhlcm1vcmUsIHRoZXJlIGlzIGFsc28gYSBzZXQgb2YgaGV4YWRlY2ltYWwg ZGlnaXRzIEEgdGhyb3VnaCBGLiBCeSBkZWZhdWx0LCBMb2piYW4gb3BlcmF0ZXMgaW4gYmFzZSAx MCwgYnV0IHdoZW4gdXNpbmcgaGV4YWRlY2ltYWwgZGlnaXRzLCBpdCBjYW4gYmUgc2FmZWx5IGFz c3VtZWQgdGhhdCB5b3UgdXNlIGJhc2Ugc2l4dGVlbjoKCnx8ZGF1fGZlaXxnYWl8amF1fHJlaXx4 ZWkgfHZhaXwKCjEwKEEpfDExKEIpfDEyKEMpfDEzKEQpfDE0KEUpfDE0KEUpfDE1KEYpfHwKClll cywgSSBrbm93IHRoZXJlIGFyZSB0d28gd29yZHMgZm9yIEUuIFRoZSBvZmZpY2lhbCBvbmUgaXMg JydyZWknJyAoYWxsIHRocmVlLWxldHRlciBjbWF2byBiZWdpbm5pbmcgd2l0aCB4IGlzIGV4cGVy aW1lbnRhbCkuICcneGVpJycgd2FzIGludmVudGVkIHRvIGF2b2lkIGNvbmZ1c2lvbiB3aXRoICcn cmUnJy4KClRoZSBiYXNlIGNhbiBiZSBleHBsaWNpdGx5IHN0YXRlZCB1c2luZyAnJ2p1J3UnJzog QW55IG51bWJlciBiZWZvcmUgJydqdSd1JycgdGhlIG51bWJlciBiZWluZyBzcG9rZW4gb2YsIGFu eSBudW1iZXIgYWZ0ZXIgaXMgdGhlIGJhc2Ugb2YgdGhlIG51bWJlcjoKCicnZGF1IHNvIGZlaSBu byBqdSd1IHBhIHJlJycg4oCTIEE5QjAgaW4gYmFzZSAxMiAobm90aWNlIGhlcmUgdGhhdCBiYXNl IDEyIGlzIGFsd2F5cyBpbiBkZWNpbWFsLiBJdCBpcyBwb3NzaWJsZSB0byBwZXJtYW5lbnRseSBj aGFuZ2UgdGhlIGJhc2UgeW91IHNwZWFrIGluLCBidXQgc2luY2UgaXQgaGFzIG5ldmVyIGJlZW4g dXNlZCBpbiBwcmFjdGljZSwgaXQgaGFzIG5vdCBiZWVuIHN0YW5kYXJkaXplZCBob3cgb25lIHNo b3VsZCBkbyBpdCkKCkZyYWN0aW9ucyBhcmUgYWxzbyB1c2VmdWwgdG8gbGVhcm4gaG93IHRvIGV4 cHJlc3MuIFRoZXkgYXJlIHVzdWFsbHkgZXhwcmVzc2VkIHZpYSBhIGRlY2ltYWwgcG9pbnQsICcn cGknJy4KCl9fJydwaScnX18gRGVjaW1hbCBwb2ludCAob3IgcG9pbnQgaW4gd2hpY2hldmVyIGJh c2UgeW91IGFyZSB0YWxraW5nIGluKQoKJydwYSByZSBwaSByZSBtdScnIOKAkyB0d2VsdmUgcG9p bnQgdHdvIGZpdmUgKDEyLjI1KS4gCgpMaWtlIGluIG1hdGhlbWF0aWNzLCB3aGVuIG5vIG51bWJl ciBzdHJpbmcgaXMgcGxhY2VkIGJlZm9yZSBvciBhZnRlciAnJ3BpJycsIHplcm8gaXMgYXNzdW1l ZC4gCgpSZWxhdGVkIHRvIHRoaXMsIHRoZSBudW1iZXIgc2VwYXJhdG9yICcncGknZScnIGlzIHVz ZWQgdG8gc2VwYXJhdGUgbnVtYmVycywgZWl0aGVyIHRvIHNlcGFyYXRlIGRpZ2l0cyB3aGVuIHNw ZWFraW5nIGluIGEgYmFzZSBsYXJnZXIgdGhhbiBzaXh0ZWVuLCBvciB3aGVuIGEgZGVjaW1hbCBw b2ludCBpcyBub3QgYXBwbGljYWJsZSwgZm9yIGluc3RhbmNlLCB3aGVuIHRhbGtpbmcgYWJvdXQg dGltZSBpbiBob3VycywgbWludXRlcywgc2Vjb25kczoKCicncGEgc28gcGknZSByZSBtdSBwaSdl IG5vIGp1J3UgcmUgemUnJyDigJMgTmluZXRlZW4sIHR3ZW50eS1maXZlLCB6ZXJvIGluIGJhc2Ug MjcgKEpQMCBiYXNlIDI3KQoKJydyZSByZSBwaSdlIHZvIGJpJycg4oCTIHR3ZW50eS10d28sIGZv dXJ0eSBlaWdodCAoMjI6NDgpCgoKClRoZXJlIGlzIGFsc28gYSByYW5nZSBvZiBudW1iZXIgd29y ZHMgd2hpY2ggYXJlIG5vdCBtYXRoZW1hdGljYWxseSBleGFjdCBidXQgcmF0aGVyIHN1YmplY3Rp dmUgb3IgcmVsYXRpdmUuIFRoZSBiZWhhdmlvcnMgb2YgdGhlc2Ugd29yZHMgYXJlIGFsbW9zdCBl eGFjdGx5IGxpa2UgdGhlIGJlaGF2aW9yIG9mIGRpZ2l0cywgZXhjZXB0IHRoZXkgY2Fubm90IGJl IGNvbWJpbmVkIHRvIG1ha2UgYmlnZ2VyIG51bWJlcnMgdGhlIHdheSBkaWdpdHMgY2FuOgoKfHwg cm98c28nYXxzbydlfHNvJ2l8c28nb3xzbyd1fAoKYWxsfGFsbW9zdCBhbGx8bW9zdHxtYW55fHNv bWV8ZmV3fHwKCldoZW4gY29tYmluZWQgd2l0aCBhbnkgb2YgdGhlIGRpZ2l0cywgdGhlc2Ugd29y ZHMgYXJlIGFzc3VtZWQgdG8gZ2l2ZSBhIHNlY29uZCB2ZXJkaWN0IGFib3V0IHRoZSBzaXplIG9m IHRoZSBudW1iZXI6CgonJ211IGJpIHNvJ2kgc2FpJycg4oCTRmlmdHkgZWlnaHQsIHdoaWNoIGlz IHJlYWxseSBtYW55LgoKVGhleSBzaG91bGQgdGhlcmVmb3JlIG5vdCBiZSBwbGFjZWQgaW4gdGhl IG1pZGRsZSBvZiBhIG51bWJlciBzdHJpbmcuIFdoZW4gcGxhY2VkIGFmdGVyICcncGknJywgdGhl eSBhcmUgYXNzdW1lZCB0byBjb252ZXkgdGhlIHNpemUgb2YgYSBmcmFjdGlvbjoKCicncGkgc28n dScnIOKAkyBhIHNtYWxsIHBhcnQgb2YgaXQKCicncGkgc28nbycnIOKAkyBzb21lIG9mIGl0IAoK JydwaSBzbydpJycg4oCTIGEgbGFyZ2UgcGFydCBvZiBpdCAKCicncGkgc28nZScnIOKAkyBtb3N0 IG9mIGl0CgonJ3BpIHNvJ2EnJyDigJMgYWxtb3N0IGFsbCBvZiBpdAoKCgpUaGVzZSBhcmUgc29t ZSBoaWdodGx5IHN1YmplY3RpdmUgbnVtYmVycyAtIHRoZXkgd29yayBqdXN0IGxpa2UgdGhlIHBy ZXZpb3VzIG9uZXMuCgp8fGR1J2V8bW8nYXxyYXUKCnRvbyBtYW55fHRvbyBmZXd8ZW5vdWdofHwK ClRoZSBmb2xsb3dpbmcgZml2ZSBhcmUgY29udGV4dC1iYXNlZCBudW1iZXJzIOKAkyB0aGVzZSB3 b3JrIGxpa2UgdGhlIHByZXZpb3VzIG9uZXMsIHdpdGggdGhlIGV4Y2VwdGlvbiB0aGF0IHRoZXkg dGFrZSB0aGUgbmV4dCBudW1iZXIgaW4gb3JkZXIgdG8gYXNzaWduIHRoZW0gbWVhbmluZzoKCnx8 ZGEnYXxzdSdlfHN1J298emEndXxtZSdpCgphbGwgZXhjZXB0IG4gfEF0IG1vc3QgbnxBdCBsZWFz dCBufG1vcmUgdGhhbiBufGxlc3MgdGhhbiBufHwKCklmIG5vIG51bWJlciBzdHJpbmcgZm9sbG93 IHRoZW0sIOKAnG9uZeKAnSBpcyBhc3N1bWVkLgoKJydzbydpIHBhIHJlIGRhJ2EgbXUnJyDigJMg TWFueSwgd2hpY2ggaXMgdHdlbHZlLCB3aGljaCBpcyBhbGwgYnV0IGZpdmUuCgpUaGUgdHdvIGxh c3QgbnVtYmVyIHdvcmRzIHlvdSBzaG91bGQga25vdyBoYXZlIHNsaWdodGx5IG1vcmUgY29tcGxp Y2F0ZWQgZ3JhbW1hcjoKCl9fJydqaSdpJydfXyAtIG51bWJlciByb3VuZGluZyBvciBudW1iZXIg YXBwcm94aW1hdGlvbgoKV2hlbiAnJ2ppJ2knJyBpcyBwbGFjZWQgYmVmb3JlIGEgbnVtYmVyLCB0 aGUgZW50aXJlIG51bWJlciBpcyBhcHByb3hpbWF0ZWQ6CgonJ2ppJ2kgemUgbm8gemEndSByYXUg anUnbycnIOKAkyAiQWJvdXQgc2V2ZW50eSwgd2hpY2ggaXMgbW9yZSB0aGFuIGVub3VnaCwgY2Vy dGFpbmx54oCdCgpQbGFjZWQgaW4gdGhlIG1pZGRsZSBvZiB0aGUgbnVtYmVyLCBvbmx5IHRoZSBm b2xsb3dpbmcgZGlnaXRzIGFyZSBub24tZXhhY3QuIEF0IHRoZSBlbmQgb2YgYSBudW1iZXIsIGl0 IHNpZ25pZmllcyB0aGF0IHRoZSBudW1iZXIgaGFzIGJlZW4gcm91bmRlZCBvZmYuIAoKX18nJ2tp J28nJ19fIE51bWJlciBjb21tYSAgLSBzZXBhcmF0ZXMgZGlnaXRzIHdpdGhpbiBvbmUgc3RyaW5n OyBUaG91c2FuZHMuCgpJdCBpcyBub3QgaW5jaWRlbnRpYWwgdGhhdCAnJ2tpJ28nJyBzb3VuZHMg bGlrZSDigJxraWxv4oCdLiBBdCBpdHMgc2ltcGxlc3QsICcna2knbycnIGlzIHVzZWQgdG8gc2Vw YXJhdGUgdGhyZWUgZGlnaXRzIGF0IGEgdGltZSBpbiBsYXJnZSBudW1iZXJzLCBtdWNoIGxpa2Ug Y29tbWFzIGFyZSB1c2VkIGluIEVuZ2xpc2g6CgonJ3BhIGtpJ28gc28gc28gc28ga2knbyBiaSB4 YSB6ZScnIOKAkyAxLDk5OSw4NjcKCklmIGxlc3MgdGhhbiB0aHJlZSBkaWdpdHMgYXJlIHB1dCBi ZWZvcmUgYSAnJ2tpJ28nJywgdGhlIGRpZ2l0cyBhcmUgYXNzdW1lZCB0byBiZSB0aGUgbGVhc3Qg c2lnbmlmaWNhbnQgb25lcywgYW5kIHplcm9zIGFyZSBhc3N1bWVkIHRvIGZpbGwgaW4gdGhlIHJl c3Q6CgonJ3ZvIGtpJ28gY2kgYmkga2knbyBwYSBraSdvIGtpJ28nJyDigJMgNCwwMzgsMDAxLDAw MCwwMDAKCicna2knbycnIGlzIHVzZWQgc2ltaWxhcmx5IGFmdGVyIGEgZGVjaW1hbCBwb2ludC4K CgoKVGhhdCBjb25jbHVkZXMgdGhlIGNvbW1vbiBMb2piYW4gbnVtYmVycyB0aGVtc2VsdmVzLiBI b3cgdGhleSBhcHBseSB0byBzdW10aSBpcyBhIHNjaWVuY2UgaW4gaXRzZWxmLCBhbmQgd2UgbGVh dmUgdGhhdCBmb3IgbGVzc29uIHR3ZW50eS10d28uIE5vdyB3ZSBmb2N1cyBvbiBob3cgdGhlc2Ug bnVtYmVycyBjYW4gYmUgdXNlZCBpbiBhIGJyaWRpLgoKQSBzdHJpbmcgb2YgbnVtYmVyIHdvcmRz IGJ5IHRoZW1zZWx2ZXMgYXJlIGdyYW1tYXRpY2FsLCBzaW5jZSB0aGV5IGNhbiBhY3QgYXMgYW4g YW5zd2VyIHRvIGEgJyd4bycnLXR5cGUgb2YgcXVlc3Rpb24uIEluIHRoaXMgY2FzZSwgaG93ZXZl ciwgdGhleSBjYW5ub3QgYmUgY29uc2lkZXJlZCBwYXJ0IG9mIGFueSBicmlkaS4gSW4gZ2VuZXJh bCwgaWYgbnVtYmVycyBmaWxsIHBhcnQgb2YgYSBicmlkaSwgdGhleSBkbyBzbyBpbiBvbmUgb2Yg dHdvIGZvcm1zOiBQdXJlIG51bWJlcnMgYW5kIHF1YW50aWZpZXJzLiBXZSB3aWxsIHJldHVybiB0 byBxdWFudGlmaWVycyBpbiBhIGxhdGVyIGxlc3Nvbi4gRm9yIG5vdywgd2Ugd2lsbCBsb29rIGF0 IHB1cmUgbnVtYmVycy4KCkEgcHVyZSBudW1iZXIgaXMgYW55IHJvdyBvZiBudW1iZXIgd29yZHMg cHJlZml4ZWQgd2l0aCAnJ2xpJycuIFRoaXMgbWFrZXMgYSBzdW10aSBkaXJlY3RseSBmcm9tIHRo ZSBudW1iZXIsIGFuZCByZWZlcnMgdG8gdGhlIG1hdGhlbWF0aWNhbCBjb25jZXB0IG9mLCBmb3Ig aW5zdGFuY2UsIOKAnHRoZSBudW1iZXIgc2l44oCdLiBJdHMgZmEnb3JtYSdvIGlzICcnbG8nbycn CgpfXycnbGknJ19fIGNvbnZlcnQgbnVtYmVyL21la3NvLWV4cHJlc3Npb24gdG8gc3VtdGkuCgpf XycnbG8nbycnX18gZmEnb3JtYSdvOiBlbmQgY29udmVydCBudW1iZXIvbWVrc28tZXhwcmVzc2lv biB0byBzdW10aS4KClRoZXNlIHB1cmUgc3VtdGkgYXJlIHVzdWFsbHkgd2hhdCBmaWxscyB0aGUg eDIgb2YgYnJpdmxhIHN1Y2ggYXMgJydtaXRyZScnIG9yICcnY2FjcmEnJwoKX18nJ21pdHJlJydf XyB4MSBpcyB4MiBtZXRyZXMgaW4gZGltZW5zaW9uIHgzIGJ5IHN0YW5kYXJkIHg0CgpfXycnY2Fj cmEnJ19fIHgxIGlzIHgyIGhvdXJzIGluIGR1cmF0aW9uIChkZWZhdWx0IDEpIGJ5IHN0YW5kYXJk IHgzCgoKClRyeSB0byB0cmFuc2xhdGUgdGhlIGZvbGxvd2luZzoKCicnbGUgdGEgbnUgY2luamlr Y2EgY3UgY2FjcmEgbGkgY2kgamknaSB1J2kgbmFpJycKCkFuc3dlcjogfn5ncmV5LGdyZXk6IOKA nSpzaWdoKiBUaGF0IGZsaXJ0aW5nIGhhcyBiZWVuIGdvaW5nIG9uIGZvciBhcm91bmQgdGhyZWUg aG91cnMu4oCdIH5+CgpIb3cgZG8geW91IGNvdW50IHRvIHRocmVlIGluIExvamJhbj8KCkFuc3dl cjogfn5ncmV5LGdyZXk6ICcnbGkgcGEgbGkgcmUgbGkgY2knJyB+fgoKCgpUaGUgbGFzdCB0aGlu ZyB3ZSdsbCBnbyB0aHJvdWdoIGluIHRoaXMgbGVzc29uIGlzIHRoZSB3b3JkcyBvZiB0aGUgc2Vs bWEnbyBNQUkgYW5kIHRob3NlIG9mIE1PSS4KCk1BSSBvbmx5IGNvbnRhaW5zIHR3byB3b3Jkcywg JydtYWknJyBhbmQgJydtbydvJycuIEJvdGggb2YgdGhlc2UgY29udmVydCBhbnkgbnVtYmVyIHN0 cmluZyB0byBhbiBvcmRpbmFsLCB3aGljaCBoYXMgdGhlIGdyYW1tYXIgb2YgYXR0aXR1ZGluYWxz LiBPcmRpbmFscyBhcmUgdXNlZCB0byBkaXZpZGUgYSB0ZXh0IGludG8gbnVtYmVyZWQgc2VnbWVu dHMsIGxpa2UgY2hhcHRlcnMgb3IgcGFydHMuIFRoZSBvbmx5IGRpZmZlcmVuY2UgYmV0d2VlbiAn J21haScnIGFuZCAnJ21vJ28nJyBpcyB0aGF0ICcnbW8nbycnIHF1YW50aWZpZXMgbGFyZ2VyIHN1 YmRpdmlzaW9ucyBvZiB0ZXh0LCBhbGxvd2luZyB5b3UgdG8gZGl2aWRlIGEgdGV4dCBvbiB0d28g ZGlmZmVyZW50IGxldmVscywgZm9yIGV4YW1wbGUgZW51bWVyYXRpbmcgY2hhcHRlcnMgd2l0aCAn J21vJ28nJyBhbmQgc2VjdGlvbnMgd2l0aCAnJ21haScnLiBOb3RpY2UgdGhhdCB0aGVzZSBhcyB3 ZWxsIGFzIHRoZSBNT0kgdGFrZSBhbnkgbnVtYmVyIHN0cmluZyBkaXJlY3RseSwgd2l0aG91dCBh bnkgbmVlZCBmb3IgJydsaScnLgoKX18nJ21haScnX186IExvd2VyLW9yZGVyIG9yZGluYWwgbWFy a2VyOiBDb252ZXJ0IG51bWJlciB0byBvcmRpbmFsCgpfXycnbW8nbycnX186IEhpZ2hlciBvcmRl ciBvcmRpbmFsIG1hcmtlcjogQ29udmVydCBudW1iZXIgdG8gb3JkaW5hbC4KCgoKVGhlcmUgYXJl IGZpdmUgTU9JLCBhbmQgdGhleSBhbGwgY29udmVydCBhbnkgbnVtYmVyIHN0cmluZyB0byBzZWxi cmkuIFdlJ2xsIHRha2UgdGhlbSBvbmUgYXQgYSB0aW1lOgoKX18nJ21vaScnX18gLSBDb252ZXJ0 IG51bWJlciBuIHRvIHNlbGJyaTogeDEgaXMgdGhlIG4ndGggbWVtYmVyIG9mIHNldCB4MiBieSBv cmRlciB4MwoKRXhhbXBsZTogJydsYSBsdXRjaW1pbiBjaSBtb2kgbG8naSBuaW5tdSBwZW5kbyBi ZSBtaSBsZSBzdSd1IGxvIGNsYW5pIHptYWR1IGN1IGxpZG5lIGxvIGNsYW5pIG1sZWNhJycg4oCT IOKAnEx1aS1DaGkgTWluIGlzIHRoaXJkIGFtb25nIG15IGZlbWFsZSBmcmllbmRzIGJ5IHRoZSBv cmRlcjogVGhlIG1vcmUgdGFsbCBvbmVzIHByZWNlZGVzIHRoZSBsZXNzIHRhbGwgb25lc+KAnS4K CihXaGVuIHNwZWNpZnlpbmcgYSBzZXF1ZW5jZSwgaXQgaXMgd2lkZWx5IHVuZGVyc3Rvb2QgdGhh dCBpZiBhICcna2EnJy1hYnN0cmFjdGlvbiAobGVzc29uIHR3ZW50eS1uaW5lKSBpcyB1c2VkIGFz IGEgc3VtdGksIHRoZSBtZW1iZXJzIG9mIHRoZSBzZXQgYXJlIG9yZGVyZWQgZnJvbSB0aGUgb25l IHdpdGggbW9zdCBvZiB0aGUgcHJvcGVydHkgdG8gdGhlIG9uZSB3aXRoIGxlc3Mgb2YgdGhlIHBy b3BlcnR5LCBzbyB0aGUgeDMgb2YgdGhlIGZvbGxvd2luZyBzZW50ZW5jZSBjb3VsZCBoYXZlIGJl ZW4gc2hvcnRlbmVkIHRvICcnbG8ga2EgY2xhbmknJykKCl9fJydsaWRuZScnX18geDEgaXMgYmVm b3JlIHgyIGluIHNlcXVlbmNlIHgzCgpfXycnY2xhbmknJ19fIHgxIGlzIGxvbmcgaW4gZGltZW5z aW9uIHgyIGJ5IHN0YW5kYXJkIHgzCgpfXycnem1hZHUnJ19fIHgxIGV4Y2VlZHMgeDIgaW4gcHJv cGVydHkvYXNwZWN0IHgzIGJ5IGFtb3VudCB4NAoKX18nJ21sZWNhJydfXyB4MSBpcyBsZXNzIHRo YW4vaXMgbGVzcyBjaGFyYWN0ZXJpemVkIHRoYW4geDIgYnkgcHJvcGVydHkvYXNwZWN0IHgzIGJ5 IGFtb3VudCB4NAoKCgpfXycnbWVpJydfXyAtIENvbnZlcnQgbnVtYmVyIG4gdG8gc2VsYnJpOiB4 MSBpcyB0aGUgbWFzcyBmb3JtZWQgZnJvbSB0aGUgc2V0IHgyLCB3aGljaCBoYXMgdGhlIG4gbWVt YmVycyBvZiB4MwoKTm90aWNlIGhlcmUgdGhhdCB4MyBhcmUgc3VwcG9zZWQgdG8gYmUgaW5kaXZp ZHVhbHMsIHgyIGEgc2V0IGFuZCB4MSBhIG1hc3MuCgpXaGF0IHdvdWxkICcnbWkgY2kgbWVpJycg bWVhbj8gCgpBbndlcjogfn5ncmV5LGdyZXk64oCcV2UgYXJlIGdyb3VwIG9mIHRocmVlLuKAnX5+ CgoKCl9fJydzaSdlJydfXyAtIENvbnZlcnQgbnVtYmVyIG4gdG8gc2VsYnJpOiB4MSBpcyBuIHRp bWVzIHgyCgpFeGFtcGxlOiAnJ2xlIHZpIHBsaXNlIGN1IG1lJ2kgcGkgcGEgc2knZSBsZWkgbWkg Y2lkamEgYmUgemUnYSBsbyBkamVkaScnIOKAkyDigJxUaGlzIGFwcGxlIGhlcmUgaXMgbGVzcyB0 aGFuIG9uZSB0ZW50aCBvZiBteSBmb29kIGZvciBvbmUgZGF54oCdCgpQbGVhc2Ugbm90ZSB0aGF0 IHRoZSBkZWZpbml0aW9uIG9mICcnc2knZScnIHdoZW4gbG9va2VkIHVwIHdpbGwgdGVsbCB5b3Ug dGhhdCBpdCdzICJ4MSBpcyBhbiBudGggb2YgeDIiLCBpbnN0ZWFkIG9mICJ4MSBpcyBuIHRpbWVz IHgyIi4gQnV0IHBlb3BsZSBvbmx5IHVzZSBpdCBhcyBJIGhhdmUgZGVmaW5lZCBpdCwgc28gdGhl IGRlZmluaXRpb24gaW4gdGhlIGRpY3Rpb25hcmllcyB3aWxsIHByb2JhYmx5IGNoYW5nZS4KCgoK X18nJ2N1J28nJ19fIC0gQ29udmVydCBudW1iZXIgbiB0byBzZWxicmk6IHgxIGhhcyBuIHByb2Jh YmlsaXR5IG9mIG9jY3VycmluZyB1bmRlciBjb25kaXRpb25zIHgyCgpFeGFtcGxlOiAnJ2xvIG51 IG1pIG1yb2JpJ28gY3UgcGEgY3UnbyBsbyBudSBtaSBkZW5wYSByaScnIOKAkyDigJ1BbiBldmVu dCBvZiBtZSBkeWluZyBoYXMgcHJvYmFiaWxpdHkgMSB1bmRlciB0aGUgY29uZGl0aW9uczogSSB3 YWl0IGZvciBpdOKAnSA9IOKAnU1lIGR5aW5nIGlzIGNvbXBsZXRlbHkgY2VydGFpbiBpZiBJIHdh aXQgbG9uZyBlbm91Z2gu4oCdCgpfXycnZGVucGEnJ19fIHgxIHdhaXRzIGZvciB4MiwgYmVpbmcg aW4gc3RhdGUgeDMgdW50aWwgcmVzdW1pbmcvZG9pbmcgeDQKCl9fJyd2YSdlJydfXyAtIENvbnZl cnQgbnVtYmVyIG4gdG8gc2VsYnJpOiB4MSBpcyBhdCB0aGUgbid0aCBwb3NpdGlvbiBvbiB0aGUg c2NhbGUgeDIKCkV4YW1wbGU6ICcnbGkgcGEgbm8gY3Ugcm8gdmEnZSBsYSB0b3Jpbm9uJycg4oCT IOKAnDEwIGlzIHRoZSBoaWdoZXN0IHZhbHVlIG9uIHRoZSBUb3Jpbm8tc2NhbGXigJ0KCgoKCgoh IUxvamJhbiBMZXNzb25zIC0gTGVzc29uIHR3ZW50eSAoYm8sIGtlLCBjbyBhbmQgbW9yZSBjdXRl bmVzcykKClNheSB5b3UncmUgYW4gaW1wb3J0YW50IEFtZXJpY2FuIGJ1eWVyIG9mIGNvbXB1dGVy cy4gSG93IGRvIHlvdSBleHByZXNzIHRoaXM/IEZvciBjb25zdHJ1Y3RzIGxpa2UgdGhlc2UsIHRh bnJ1IGFyZSBpZGVhbDogJydtaSB2YWpuaSBtZXJrbyBza2FtaSB0ZSB2ZWNudScnLiBObyB3YWl0 LCB0aGF0J3Mgbm90IHJpZ2h0LiBUYW5ydSBhcmUgZ3JvdXBlZCBmcm9tIGxlZnQgdG8gcmlnaHQs IHNvIHRoaXMgdGFucnUgaXMgdW5kZXJzdG9vZDogKCgnJ3Zham5pIG1lcmtvJycpICcnc2thbWkn JykgJyd0ZSB2ZWNudScnLCBhIGJ1eWVyIG9mIGNvbXB1dGVycyBmb3IgaW1wb3J0YW50IEFtZXJp Y2Fucy4gWW91IGNhbid0IGNoYW5nZSB0aGUgb3JkZXIgb2YgdGhlIHNlbGJyaSB0byBnZXQgYSB1 c2VmdWwgdGFucnUuIE5laXRoZXIgY2FuIHRoaXMgYmUgc29sdmVkIHdpdGggbG9naWNhbCBjb25u ZWN0aXZlcywgd2hpY2ggeW91IHdpbGwgZmlyc3QgbGVhcm4gYWJvdXQgbGF0ZXIgYW55d2F5LiBU aGUgb25seSB3YXkgdG8gbWFrZSBhIGZpdHRpbmcgdGFucnUgaXMgdG8gZm9yY2UgdGhlIHNlbGJy aSB0byBncm91cCBkaWZmZXJlbnRseS4KCgoKVG8gYmluZCB0d28gc2VsYnJpIGNsb3NlIHRvZ2V0 aGVyIGluIGEgdGFucnUsIHRoZSB3b3JkICcnYm8nJyBjYW4gYmUgcGxhY2VkIGJldHdlZW4gdGhl bTogJydtaSB2YWpuaSBibyBtZXJrbyBza2FtaSBibyB0ZSB2ZWNudScnIGlzIHJlYWQgJydtaScn ICgnJ3Zham5pIGJvIG1lcmtvJycpICgnJ3NrYW1pIGJvIHRlIHZlY251JycpLCB3aGljaCBpcyB1 c2VmdWwgaW4gdGhpcyBjb250ZXh0LiBJZiBibyBpcyBwbGFjZWQgYmV0d2VlbiBzZXZlcmFsIHNl bGJyaSBpbiBhIHJvdywgdGhleSBhcmUgZ3JvdXBlZCBmcm9tIHJpZ2h0IHRvIGxlZnQgaW5zdGVh ZCBvZiB0aGUgdXN1YWwgbGVmdCB0byByaWdodDogJydtaSB2YWpuaSBtZXJrbyBibyBza2FtaSBi byB0ZSB2ZWNudScnIGlzIHJlYWQgJyd2YWpuaScnICgnJ21lcmtvIGJvJycgKCcnc2thbWkgYm8g dGUgdmVjbnUnJykpIGFuIOKAnGltcG9ydGFudCAoQW1lcmljYW4gY29tcHV0ZXItYnV5ZXIp4oCd LCB3aGljaCBpcyBldmVuIG1vcmUgYXBwcm9wcmlhdGUgaW4gdGhlIHNpdHVhdGlvbi4KCl9fJydi bycnX18gQmluZHMgdHdvIHNlbGJyaSB0b2dldGhlciBzdHJvbmdseS4KCgoKSG93IHdvdWxkIHlv dSBzYXkg4oCcVGhhdCdzIGEgdGFzdHkgeWVsbG93IGFwcGxl4oCdPwoKX18nJ2t1a3RlJydfXyB4 MSBpcyB0YXN0eSBmb3IgeDIKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ3RpIGt1a3RlIHBlbHh1 IGJvIHBsaXNlJyd+fgoKCgpXaGF0IGFib3V0IOKAnVRoYXQncyBhIGJpZywgdGFzdHkgeWVsbG93 IGFwcGxl4oCdCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6Jyd0aSBiYXJkYSBrdWt0ZSBibyBwZWx4 dSBibyBwbGlzZScnfn4KCgoKQW5vdGhlciBhcHByb2FjaCB0byB0aGlzIGlzIHRvIHVzZSB0aGUg d29yZHMgJydrZeKApmtlJ2UnJy4gVGhlc2UgY2FuIGJlIGNvbnNpZGVyZWQgYXMgZXF1aXZhbGVu dCB0byB0aGUgcGFyZW50aGVzaXNlcyB1c2VkIGluIHRoZSBwYXJhZ3JhcGggYWJvdmUuICcna2Un JyBiZWdpbnMgc3Ryb25nIHNlbGJyaSBncm91cGluZywgJydrZSdlJycgZW5kcyBpdC4KCl9fJydr ZScnX18g4oCTIGJlZ2luIHN0cm9uZyBzZWxicmkgZ3JvdXBpbmcuCgpfXycna2UnZScnX18g4oCT IGVuZCBzdHJvbmcgc2VsYnJpIGdyb3VwaW5nLgoKVGhlIHN0cmVuZ3RoIG9mIHRoZSBiaW5kaW5n IGlzIHRoZSBzYW1lIGFzIHRoYXQgb2YgJydibycnLiBUaGVyZWZvcmUsICcnbWkgdmFqbmkgbWVy a28gYm8gc2thbWkgYm8gdGUgdmVjbnUnJyBjYW4gYmUgd3JpdHRlbiAnJ21pIHZham5pIGtlIG1l cmtvIGtlIHNrYW1pIHRlIHZlY251IHtrZSdlfSB7a2UnZX0nJy4KCkhvdyBjb3VsZCB5b3Ugc2F5 IOKAnEknbSBhIEdlcm1hbiBzZWxsZXIgb2YgeWVsbG93IGhvbWVzP+KAnQoKCgpBbnN3ZXI6IH5+ Z3JleSxncmV5OicnbWkgZG90Y28ga2UgcGVseHUgemRhbmkgdmVjbnUnJ35+CgoKCldoaWxlIHdl J3JlIGF0IG1lc3Npbmcgd2l0aCB0aGUgb3JkaW5hcnkgdGFucnUgc3RydWN0dXJlLCB0aGVyZSBp cyBhbm90aGVyIHdvcmQgd29ydGggcGF5aW5nIGF0dGVudGlvbiB0by4gSWYgSSB3YW50IHRvIHNh eSB0aGF0IEknbSBhIHByb2Zlc3Npb25hbCB0cmFuc2xhdG9yLCBJIGNvdWxkIHNheSAnJ21pIGZh bnZhIHNlIGppYnJpJycuCgpfXycnamlicmknJ19fIHgxIGlzIGEgam9iIG9mIHgyCgpfXycnZG90 eWJhdScnX18geDEgaXMgR2VybWFuIHVzZWQgYnkgeDIgdG8gc2F5IHgzCgpfXycnZ2xpYmF1Jydf XyB4MSBpcyBFbmdsaXNoIHVzZWQgYnkgeDIgdG8gc2F5IHgzCgpJZiBJIHdhbnRlZCB0byBzYXkg dGhhdCBJJ20gYSBwcm9mZXNzaW9uYWwgdHJhbnNsYXRlciBmcm9tIEVuZ2xpc2ggdG8gR2VybWFu LCBJJ2QgaGF2ZSB0byBtZXNzIGFyb3VuZCB3aXRoICcnYmUnJyBhbmQgJydiZWknJzogJydtaSBm YW52YSBiZSBsZSBkb3R5YmF1IGJlaSBsZSBnbGliYXUgYmUnbyBzZSBqaWJyaScnLCBhbmQgdGhl IGZhY3QgdGhhdCBpdCB3YXMgYSB0YW5ydSBjb3VsZCBxdWlja2x5IGJlIGxvc3QgaW4gc3BlZWNo IGR1ZSB0byB0aGUgY29tcGxpY2F0ZWQgc3RydWN0dXJlIG9mIHRoZSBzZW50ZW5jZS4gSGVyZSwg d2UgY2FuIHVzZSB0aGUgd29yZCAnJ2NvJycuIGl0IGludmVydHMgdGhlIHRhbnJ1LCBtYWtpbmcg dGhlIHJpZ2h0bW9zdCBzZWxicmkgbW9kaWZ5IHRoZSBsZWZ0bW9zdCBpbnN0ZWFkIG9mIHRoZSBv dGhlciB3YXkgYXJvdW5kOgoKJydtaSBzZSBqaWJyaSBjbyBmYW52YSBsZSBkb3R5YmF1IGxlIGds aWJhdScnIGlzIHRoZSBzYW1lIGJyaWRpIGFzIHRoZSBwcmV2aW91cyBMb2piYW4gb25lLCBidXQg bXVjaCBtb3JlIGVhc3kgdG8gdW5kZXJzdGFuZC4gTm90aWNlIHRoYXQgYW55IHN1bXRpIGJlZm9y ZSB0aGUgdGFucnUgZmlsbHMgJydzZSBqaWJyaScnLCB3aGlsZSBhbnkgZm9sbG93aW5nIGl0IG9u bHkgZmlsbHMgdGhlIG1vZGlmeWluZyBzZWxicmk6ICcnZmFudmEnJy4KCl9fJydjbycnX18gSW52 ZXJ0IHRhbnJ1LiBBbnkgcHJldmlvdXMgc3VtdGkgZmlsbCB0aGUgbW9kaWZpZWQsIGFueSBmb2xs b3dpbmcgZmlsbCB0aGUgbW9kaWZpZXIuCgoKClRoZSBzdHJlbmd0aCBieSB3aGljaCB0d28gc2Vs YnJpIGFyZSBib3VuZCB0b2dldGhlciB3aXRoIGNvIGlzIHZlcnkgd2VhayDigJMgZXZlbiB3ZWFr ZXIgdGhhbiBub3JtYWwgdGFucnUgZ3JvdXBpbmcgd2l0aG91dCBhbnkgZ3JvdXBpbmcgd29yZHMu IFRoaXMgbWFrZXMgc3VyZSB0aGF0LCBpbiBhIGNvLWNvbnN0cnVjdCwgdGhlIGxlZnRtb3N0IHNl bGJyaSBpcyBhbHdheXMgdGhlIHNlbGJyaSBiZWluZyBtb2RpZmllZCwgYW5kIHRoZSByaWdodG1v c3QgYWx3YXlzIG1vZGlmaWVzLCBldmVuIGlmIGFueSBvZiB0aG9zZSBwYXJ0cyBhcmUgdGFucnUu IFRoaXMgbWFrZXMgYSBjby1jb25zdHJ1Y3QgZWFzeSB0byBwYXJzZToKCicndGkgcGVseHUgcGxp c2UgY28ga3VrdGUnJyBpcyByZWFkICcndGknJyAoJydwZWx4dSBwbGlzZScnKSAnJ2NvIGt1a3Rl JycsIHdoaWNoIGlzIHRoZSBzYW1lIGFzICcndGkga3VrdGUgcGVseHUgYm8gcGxpc2UnJy4gVGhp cyBhbHNvIG1lYW5zIHRoYXQgYSAnJ2tl4oCma2UnZScnIGNhbm5vdCBlbmNvbXBhc3MgYSAnJ2Nv JycuCgpUaGUgY21hdm8gb2YgdGhlIHNlbG1hJ28gR0loQSwgdGhlIGJyaWRpLXRhaWwgYWZ0ZXJ0 aG91Z2h0IGxvZ2ljYWwgY29ubmVjdGl2ZXMsIGhvd2V2ZXIsIGJpbmRzIGV2ZW4gbG9vc2VyIHRo YW4gJydjbycnLiBUaGlzIGlzIGluIG9yZGVyIHRvIHRvdGFsbHkgYXZvaWQgY29uZnVzaW9uIGFi b3V0IHdoaWNoIHNlbGJyaSBiaW5kcyB0byB3aGljaCBpbiBhIEdJaEEtY29uc3RydWN0LiBUaGUg YW5zd2VyIGlzIHNpbXBsZTogVGhlIEdJaEEgbmV2ZXIgZW1jb21wYXNzZXMgYW55IHNlbGJyaS1n cm91cHMuCgoKCkhvdyBjYW4geW91IGV4cHJlc3Mg4oCdSSBhbSBhbiBpbXBvcnRhbnQgQW1lcmlj YW4gYnV5ZXIgb2YgY29tcHV0ZXJz4oCdIHVzaW5nIGEgJydjbycnPwoKCgpBbnN3ZXI6IH5+Z3Jl eSxncmV5OicnbWkgc2thbWkgdGUgdmVjbnUgY28gdmFqbmkgbWVya28nJ35+CgoKCklmIGl0J3Mg b2YgYW55IHVzZSwgdGhpcyBpcyB0aGUgbGlzdCBvZiBkaWZmZXJlbnQga2luZCBvZiBzZWxicmkg Z3JvdXBlcnMgcmFua2VkIGJ5IHN0cmVuZ3RoOgoKCgoxLiAgICAnJ2JvJycgYW5kICcna2UuLmtl J2UnJwoKCgoyLiAgICBsb2dpY2FsIGNvbm5lY3RpdmVzIG90aGVyIHRoYW4gYnJpZGktdGFpbCBh ZnRlcnRob3VnaHQgbG9naWNhbCBjb25uZWN0aXZlcyAoZXhwbGFpbmVkIGluIGxlc3NvbiB0d2Vu dHktZml2ZSkKCgoKMy4gICAgbm8gZ3JvdXBpbmcgd29yZHMKCgoKNC4gICAgJydjbycnCgoKCjUu ICAgIGJyaWRpLXRhaWwgYWZ0ZXJ0aG91Z2h0IGxvZ2ljYWwgY29ubmVjdGl2ZXMgKGFsc28gaW4g bGVzc29uIHR3ZW50eS1maXZlKQoKCgpUaGUgcmVzdCBvZiB0aGlzIGxlc3NvbiB3aWxsIG5vdCBi ZSBvbiBzZWxicmkgZ3JvdXBpbmcsIGJ1dCBtdWNoIGxpa2UgbGVzc29uIHNldmVudGVlbiBtZW50 aW9uIGFzc29ydGVkIHdvcmRzLCB3aGljaCBjYW4gYmUgb2YgdXNlLgoKCgonJ2JvJycgaGFzIGFu b3RoZXIgdXNlLCB3aGljaCBzZWVtcyBzZXBhcmF0ZSBmcm9tIHNlbGJyaSBncm91cGluZzogSXQg Y2FuIGFsc28gYmluZCBhIHN1bXRjaXRhIHRvIGFuIGVudGlyZSBicmlkaSwgc28gdGhhdCB0aGUg Y29udGVudCBvZiB0aGUgc3VtdGNpdGEgaXMgbm90IGEgc3VtdGksIGJ1dCB0aGUgZm9sbG93aW5n IGJyaWRpLiBUaGlzIGlzIGJlc3QgZXhwbGFpbmVkIHdpdGggYW4gZXhhbXBsZS4KCl9fJyd4ZWJu aScnX18geDEgaGF0ZXMgeDIKCicnbWkgZGFyeGkgZG8gLmkgbXUnaSBibyBtaSBkbyB4ZWJuaScn IOKAkyDigJxJIGhpdCB5b3UsIHdpdGggbW90aXZhdGlvbiB0aGF0IEkgaGF0ZSB5b3Uu4oCdIEhl cmUgdGhlICcnYm8nJyBiaW5kcyAnJ211J2knJyB0byB0aGUgZm9sbG93aW5nIGJyaWRpLgoKVGhp cyBpcyB3aGVyZSB0aGUgdGVjaG5pY2FsIGRpZmZlcmVuY2UgYmV0d2VlbiB0ZW5zZSBzdW10Y2l0 YSBhbmQgb3RoZXIgc3VtdGNpdGEgaXMgcmVsZXZhbnQuIFlvdSBzZWUsIHdoZW4gYmluZGluZyBh IG5vcm1hbCBzdW10Y2l0YSB0byBhIGJyaWRpIHdpdGggJydibycnLCBpdCBtZWFucyB0aGF0IHRo ZSBmb2xsb3dpbmcgYnJpZGkgc29tZWhvdyBmaXRzIGludG8gdGhlIHN1bXRpIHBsYWNlIG9mIHRo ZSBzdW10Y2l0YS4gRm9yIHRoZSByZWFzb24gb2YgR29kIEtub3dzIFdoeSwgYmluZGluZyBvbmUg b2YgdGhlIHdvcmRzICcnYmEnJyBvciAnJ3B1JycgdG8gYSBicmlkaSBoYXMgdGhlIGV4YWN0IG9w cG9zaXRlIGVmZmVjdC4gRm9yIGV4YW1wbGUsIGluIHRoZSBicmlkaSAnJ21pIGRhcnhpIGRvIC5p IGJhIGJvIGRvIGNpbmppa2NhJycsIG9uZSB3b3VsZCBhc3N1bWUgdGhhdCB0aGUgc2Vjb25kIGJy aWRpIGlzIHNvbWVob3cgZmlsbGVkIGludG8gdGhlIHN1bXRpIHBsYWNlIG9mICcnYmEnJywgbWVh bmluZyB0aGF0IHRoZSBicmlkaSBmaXJzdCB1dHRlcmVkIHRvb2sgcGxhY2UgaW4gdGhlIGZ1dHVy ZSBvZiB0aGUgc2Vjb25kIGJyaWRpLiBUaGF0J3Mgbm90IHRoZSBjYXNlLCBob3dldmVyLCBhbmQg dGhlIGNvcnJlY3QgdHJhbnNsYXRpb24gb2YgdGhhdCB1dHRlcmFuY2Ugd291bGQgYmUgIkkgaGl0 IHlvdS4gQWZ0ZXJ3YXJkcywgeW91IGZsaXJ0Ii4gVGhpcyB3ZWlyZCBydWxlIGlzIGFjdHVhbGx5 IG9uZSBvZiB0aGUgbWFpbiBvYnN0YWNsZXMgdG8gYSB1bmlmaWNhdGlvbiBvZiBhbGwgc3VtdGNp dGEgaW50byBvbmUgc2luZ2xlIHdvcmQgY2xhc3MuIEFub3RoZXIgZGlmZmVyZW5jZSBpcyB0aGF0 IHRlbnNlLXN1bXRjaXRhIGNhbiBiZSBlbGlkZWQsIGV2ZW4gdGhvdWdoIHRoZXkgYXBwbHkuIFRo aXMgcnVsZSBtYWtlcyBtb3JlIHNlbnNlLCBzaW5jZSB3ZSBvZnRlbiBjYW4gYXNzdW1lIGJyaWRp IGlzIHBsYWNlZCBpbiBhIHRpbWUgYW5kIHNwYWNlLCBidXQgd2UgY2FuJ3QgYXNzdW1lIHRoYXQg dGhlIHN1bXRjaXRhIG9mIEJBSSBhcHBsaWVzLgoKCgpUaGUgdW5vZmZpY2lhbCB3b3JkICcnbWUn b2knJyBpcyBlcXVpdmFsZW50IHRvIG1lIGxhJ2UgJyd6bydvaScnLCB3aGljaCBtZWFucyB0aGF0 IGl0IGNvbnZlcnRzIHRoZSBjb250ZW50IG9mIHRoZSBuZXh0IHdvcmQgaW50byBhIHNlbGJyaS4g SXQgaXMgdXNlZCB0byBpbnZlbnQgYnJpdmxhIG9uIHRoZSBmbHk6ICcnbWkgY2EgemdhbmEgbGEg bWUnb2kgWC1maWxlcycnIGZvciDigJxJIG5vdyB3YXRjaCBYLWZpbGVz4oCdLiBMaWtlIGFsbCBx dW90ZSBuZXh0IHdvcmQtY21hdm8sIGl0IGlzIG5vdCBzdXBwb3J0ZWQgYnkgdGhlIG9mZmljaWFs IGdyYW1tYXIsIGJ1dCB0byB0aGUgbGF6eSBMb2piYW5pc3QsIGl0J3MgaW52YWx1YWJsZS4KCgoK VGhlIHdvcmQgJydnaScnIGlzIHN0cmFnZSBraW5kIG9mIGJyaWRpIHNlcGFyYXRvciwgYW5hbG9n b3VzIHRvICcnLmknJywgYnV0IHRvIG15IGtub3dsZWRnZSwgaXQgaXMgdXNlZCBpbiBvbmx5IHR3 byBkaWZmZXJlbnQga2luZHMgb2YgY29uc3RydWN0czogTW9zdCBvZnRlbiB3aXRoIGxvZ2ljYWwg Y29ubmVjdGl2ZXMsIGV4cGxhaW5lZCBpbiBsZXNzb24gdHdlbnR5LWZpdmUsIGJ1dCBhbHNvIHdp dGggc3VtdGNpdGEuIFdpdGggc3VtdGNpdGEgaXQgY3JlYXRlcyBhIHVzZWZ1bCwgYnV0IGhhcmRs eSBzZWVuLCBjb25zdHJ1Y3Q6CgonJ211J2kgZ2kgQlJJREktMSBnaSBCUklESS0yJycsIHdoaWNo IGlzIGVxdWl2YWxlbnQgdG8gJydCUklESS0yIC5pIG11J2kgYm8gQlJJREktMScnLiBUaGVyZWZv cmUsIHRoZSBleGFtcGxlIGFib3ZlLCB3aGljaCBleHBsYWluZWQgd2h5IEkgaGl0IHlvdSwgY2Fu IGJlIHdyaXR0ZW4gJydtdSdpIGdpIG1pIHhlYm5pIGRvIGdpIG1pIGRhcnhpIGRvJycsIG9yIHRv IHByZXNlcnZlIHRoZSBzYW1lIG9yZGVyIGFzIHRoZSBvcmlnaW5hbCBzZW50ZW5jZSwgd2UgY2Fu IGNvbnZlcnQgJydtdSdpJycgd2l0aCAnJ3NlJyc6ICcnc2UgbXUnaSBnaSBtaSBkYXJ4aSBkbyBn aSBtaSB4ZWJuaSBkbycnLgoKSXQgaXMgaW4gZXhhbXBsZXMgbGlrZSB0aGlzIHRoYXQgJydnaScn IHJlYWxseSBjYW4gc2hvdyBpdHMgdmVyc2F0aWxpdHkuIEl0IGRvZXMgbm90IGp1c3Qgc2VwYXJh dGUgdHdvIGJyaWRpIGxpa2UgJycuaScnIGRvZXMsIGJ1dCBjYW4gYWxzbyBzZXBhcmF0ZSB0d28g Y29uc3RydWN0cyB3aXRoaW4gYSBicmlkaSwgbWFraW5nIGFsbCBjb25zdHJ1Y3RzIG91dHNpZGUg dGhlIHNjb3BlIG9mICcnZ2knJyBhcHBseSB0byBib3RoIGJyaWRpLCBhcyB0aGlzIGV4YW1wbGUg ZGVtb25zdHJhdGVzOgoKX18nJ2NpbmJhJydfXyB4MSBraXNzZXMgeDIgYXQgbG9jdXMgeDMKCgoK X18nJ+KAoiBbTm90ZSBmcm9tIElsbWVuOiBnaS4uLmdpLi4uIGNvbnN0cnVjdCBpcyBvbmx5IHZh bGlkIHdpdGggc3VtdGNpdGEsIHNvIEkgaGFkIHRvIGNvcnJlY3QgdGhlIGV4YW1wbGVzIG9mIHRo ZSBwYXJhZ3JhcGggYmVsb3cgKGJ5IHJlcGxhY2luZyB0aGUgZmlyc3QgImdpIiB3aXRoICJnZSIp LiBQZXJoYXBzIHRoaXMgcGFyYWdyYXBoIHNob3VsZCBiZSBzaW1wbHkgcmVtb3ZlZD9dJydfXwoK JydtaSBnZSBwcmFtaSBkbyBnaSBjaW5iYSBkbycnIGxlYXZlcyBtaSBvdXRzaWRlIHRoZSBjb25z dHJ1Y3QsIG1ha2luZyBpdCBhcHBseSB0byBib3RoIGJyaWRpLiBUaGlzIGNhbiBhbHNvIGJlIGRv bmUgd2l0aCAnJ2RvJycsIHdoaWNoIGlzIGFsc28gcHJlc2VudCBpbiBicm90aCBicmlkaTogJydt aSBnZSBwcmFtaSBnaSBjaW5iYSB2YXUgZG8nJy4gTm90ZSB0aGF0ICcndmF1JycgaXMgbmVlZGVk IHRvIG1ha2UgZG8gYXBwZWFyIG91dHNpZGUgdGhlIHNlY29uZCBicmlkaS4KCgoKVGh1cywgd2Ug Y2FuIHdyaXRlIHRoZSBvcmlnaW5hbCBzZW50ZW5jZSBzaG9ydGVyOiAnJ21pIG11J2kgZ2kgeGVi bmkgZ2kgZGFyeGkgdmF1IGRvJycsIG9yLCB0byBvbWl0IGV2ZW4gdGhlICcndmF1JycsIHdlIGNh biB3cml0ZSBpdCBldmVuIHNob3J0ZXIgYW5kIG1vcmUgZWxlZ2FudGx5OiAnJ21pIGRvIG11J2kg Z2kgeGVibmkgZ2kgZGFyeGknJwoKCgoKCiEhTGXDp29ucyBkZSBsb2piYW4gLSBMZcOnb24gdmlu Z3QgZXQgdW4gKENPSSkKCkRhbnMgY2V0dGUgbGXDp29uIHZvdXMgYWxsZXIgdm91cyBmYW1pbGlh cmlzZXIgYXZlYyBsZXMgdm9jYXRpZnMsIG91ICcnbWEnb2kgY29pJycuIElscyBtw6lyaXRlbnQg bGV1ciBwcm9wcmUgbGXDp29uLCBub24gcGFzIHBhcmNlIHF1J2lscyBkb25uZW50IHVuZSBiYXNl IHBvdXIgY29tcHJlbmRyZSBsYSBncmFtbWFpcmUgbG9qYmFuIGVuIGfDqW7DqXJhbCwgb3UgcGFy Y2UgcXUnaWxzIHNvbnQgcGFydGljdWxpw6hyZW1lbnQgZGlmZmljaWxlcyDDoCB1dGlsaXNlciwg bWFpcyBwYXJjZSBxdSdpbHMgc29udCBjb3VyYW1tZW50IHV0aWxpc8OpcyBldCBxdSdpbCB5IGVu IGEgYmVhdWNvdXAuIFVuIHZvY2F0aWYgZXN0LCBlbnRyZSBhdXRyZSwgdXRpbGlzw6kgcG91ciBk w6lmaW5pciDDoCBxdWkgJydkbycnIGZhaXQgcsOpZsOpcmVuY2UuIFNpIGxlIHZvY2F0aWYgZXN0 IHN1aXZpIHBhciB1biBjbWV2bGEsIGNlbHVpLWNpIHByZW5kIHVuICcnbGEnJyBpbXBsaWNpdGUg Y29tbWUgZ2FkcmkuIFNpIGMnZXN0IHVuIHNlbGJyaSBxdWkgc3VpdCBsZSB2b2NhdGlmLCBvbiBj b25zaWTDqHJlIHF1J2lsIGVzdCBwcsOpY8OpZMOpIHBhciB1biAnJ2xlJycuCgpEYW5zIGNlcyBl eGVtcGxlcywgamUgdmFpcyB1dGlsaXNlciBsZSB2b2NhdGlmICcnY29pJycsIHF1aSBzaWduaWZp ZSDCq8KgYm9uam91csKgwrsgb3UgwqvCoHNhbHV0wqDCuy4KClNpIHVuIGxvamJhbmlzdGUgcydh cHBlbGxlICcnbGEgKyBTRUxCUkknJywgcydhZHJlc3NlciDDoCBsdWkgZW4gdXRpbGlzYW50IHVu IHZvY2F0aWYgc3VpdmkgZHUgc2VsYnJpIHNldWwgZXN0IGfDqW7DqXJhbGVtZW50IHVuZSBlcnJl dXIgcHVpc3F1ZSBjZWxhIHNpZ25pZmllIHF1ZSB2b3VzIGxlIGNvbnNpZMOpcmV6IGNvbW1lIGxl IHgxIGRlIGNlIHNlbGJyaS4gUGFyIGV4ZW1wbGUgc2kgcXVlbHF1J3VuIHMnYXBwZWxsZSAnJ2xh IHRzYW5pJycsIENpZWwsIGRpcmUgJydjb2kgdHNhbmknJyBkw6lzaWduZSBjZXR0ZSBwZXJzb25u ZSBjb21tZSAnJ2xlIHRzYW5pJycsIGV0IMOnYSB2ZXV0IGRvbmMgZGlyZSDCq8KgU2FsdXQgbGUg Y2llbMKgwrsuIENlIHF1J29uIHZldXQgZGlyZSwgwqvCoFNhbHV0LCBDaWVswqDCuyBzZSB0cmFk dWl0IGNvcnJlY3RlbWVudCA6ICcnY29pIGxhIHRzYW5pJycuIEMnZXN0IHVuZSBlcnJldXIgZnLD qXF1ZW50ZSBjaGV6IGxlcyBsb2piYW5pc3RlcyBkw6lidXRhbnRzLiBUb3VzIGxlcyB2b2NhdGlm cyBvbnQgdW4gZmEnb3JtYSdvIHF1aSBlc3QgcGFyZm9pcyBuw6ljZXNzYWlyZSA6ICcnZG8ndScn LiBMZSBwbHVzIHNvdXZlbnQsIGlsIGVzdCB1dGlsaXPDqSBxdWFuZCBsZSBwcmVtaWVyIG1vdCBz dWl2YW50IGxhIHBhcnRpZSB2b2NhdGl2ZSBldCBsZSBkZXJuaWVyIG1vdCBkZSBjZXR0ZSBwYXJ0 aWUgc29udCB0b3VzIGRldXggZGVzIHNlbGJyaSwgY2VjaSBwb3VyIMOpdml0ZXIgZGUgY3LDqWVy IHVuIHRhbnJ1LgoKCgpfXycnZG8ndScnX18gVGVybWluYXRldXIgZGUgdm9jYXRpZi4gR8OpbsOp cmFsZW1lbnQgZmFjdWx0YXRpZi4KCl9fJydrbGFrdScnX18geDEgcGxldXJlIGxlcyBsYXJtZXMg eDIgcG91ciBsYSByYWlzb24geDMKCgoKJydjb2kgbGEgZ2xla2kgZG8ndSBrbGFrdSBmaSBtYScn IMKrwqBTYWx1dCBKb3lldXguIFBvdXJxdW9pIGRlcyBwbGV1cnMgP8KgwrsKCgoKTGUgdm9jYXRp ZiBnw6luw6lyaXF1ZSwgJydkb2knJywgbmUgZmFpdCByaWVuIGQnYXV0cmUgcXVlIGTDqWZpbmly IMOgIHF1aSAnJ2RvJycgZmFpdCByw6lmw6lyZW5jZSA6IAoKJydkb2kgLnBpZXIuIHh1IGRvIGZy YXNvIGthZG5vJycgwqvCoFBpZXJyZSwgZXMtdHUgY2FuYWRpZW4gZnJhbsOnYWlzID/CoMK7CgoK ClRvdXMgbGVzIGF1dHJlcyB2b2NhdGlmcyBmb250IHF1ZWxxdWUgY2hvc2UgZGUgcGx1cyBxdWUg c3DDqWNpZmllciAnJ2RvJycuIFBhciBleGVtcGxlICcnY29pJycsIGNvbW1lIHZvdXMgbCdhdmV6 IHZ1LCBzaWduaWZpZSBhdXNzaSDCq8KgU2FsdXTCoMK7LiBCZWF1Y291cCBkZSB2b2NhdGlmcyBh ZG1ldHRlbnQgZGVzIHZhcmlhdGlvbnMgYXZlYyAnJ25haScnIGV0IGwndW4gZCdlbnRyZSBldXgg KCcnanUnaScnKSBhdmVjICcnY3UnaScnLCBjb21tZSBsZXMgYXR0aXR1ZGluYXV4LgoKUXVlbHF1 ZXMgdm9jYXRpZnMgaW1wb3J0YW50cyBzb250IGxpc3TDqXMgY2ktZGVzc291cy4sIElsIHkgZW4g YSBkJ2F1dHJlcywgbWFpcyBpbCBuZSBzb250IHBhcyB0ZWxsZW1lbnQgdXRpbGlzw6lzLgoKfHxW aWZhdG9mfFNhbnMgc3VmZml4ZXwtY3UnaXwtbmFpCgpjb2l8Qm9uam91cnwtfC0KCmNvJ298QXUg cmV2b2lyCXwtfC0KCmplJ2V8Q29tcHJpcyAvIE9LfC18UGFzIE9LCgpmaSdpfEJpZW52ZW51ZXwt fFBhcyBiaWVudmVudWUKCnBlJ3V8UydpbCB2b3VzIHBsYWl0fC18LQoKa2knZXxNZXJjaXwtfFBh cyBtZXJjaS4uLgoKcmUnaXxQcsOqdCDDoCByZWNldm9pci/DqWNvdXRlcnwtfFBhcyBwcsOqdAoK anUnaXxIbyAow6ljb3V0ZXohKSF8SHVtfExhaXNzZXogdG9tYmVyIChpZ25vcmV6LW1vaSkKCnRh J2F8SW50ZXJydXB0aW9ufC18LQoKdmknb3xWYWlzIGxlIGZhaXJlfC18TmUgdmFpcyBwYXMgbGUg ZmFpcmUKCmtlJ298UsOpcMOpdGV6IHN2cHwtfFBhcyBiZXNvaW4gZGUgcsOpcMOpdGVyLgoKa2kn YWl8QsOpbsOpZGljdGlvbnwtfE1hbMOpZGljdGlvbnx8CgpSZW1hcnF1ZSA6ICcna2knYWknJyBl c3QgZXhww6lyaW1lbnRhbAoKCgpRdWUgc2lnbmlmaWUgJydjb2kgY28nbycnwqA/CgoKClLDqXBv bnNlOn5+Z3JleSxncmV5OsKrwqBCb25qb3VyLWF1LXJldm9pcsKgwrsgb3UgwqvCoEJvbmpvdXIg ZW4gcGFzc2FudMKgwrsgfn4KCgoKJydqZSdlJycgZXN0IHV0aWxpc8OpIGNvbW1lIMKrwqBPS8Kg wrssIG1haXMgZXN0IGF1c3NpIGFwcHJvcHJpw6kgZW4gcsOpYWN0aW9uIMOgIHVuIHNvdWhhaXQg b3UgdW4gcmVtZXJjaWVtZW50LiBEYW5zIGNlIGNhcyBjJ2VzdCB1biBhY2N1c8OpIGRlIGJvbm5l IHLDqWNlcHRpb24uCgoKClRyYWR1aXNleiA6ICcna2knZSBzaWRqdSBiZSBtaSBiZWkgbG8gdmFq bmkgLmkgamUnZSAucGllci4nJwoKX18nJ3NpZGp1JydfXyB4MSBhaWRlIHgyIHBvdXIgeDMKCgoK UsOpcG9uc2UgOiB+fmdyZXksZ3JleTogwqvCoE1lcmNpLCDDoCB0b2kgYWlkZSBkZSBtb2kgZGFu cyBxdWVscXVlIGNob3NlIGQnaW1wb3J0YW50LiBEZSByaWVuLCBQaWVycmUgwqDCuyB+fgoKCgpF dCAnJ2ZpJ2kgdGUgdmVjbnUgLmkgcGUndSBrbyBjaXRrYScnCgoKClLDqXBvbnNlIDogfn5ncmV5 LGdyZXk6wqvCoEJpZW52ZW51ZSwgY2xpZW50LiBTJ2lsIHZvdXMgcGxhaXQsIG1hbmdlciAhwqDC u35+CgoKCicncmUnaScnIGVzdCB1dGlsaXPDqSBwb3VyIHNpZ25pZmllciBxdWUgdm91cyDDqnRl cyBwcsOqdCDDoCDDqWNvdXRlci4gT24gcGV1dCBsJ3V0aWxpc2VyIGNvbW1lIHVuIMOpcXVpdmFs ZW50IGRlIMKrwqBRdWUgcHVpcy1qZSBmYWlyZSBwb3VyIHZvdXPCoMK7IG91IMKrwqBPdWkgP8Kg wrssIG91IGJpZW4gZCcgwqvCoGFsbG/CoMK7IGF1IHTDqWzDqXBob25lLiAnJ3JlJ2kgbmFpJycg cGV1dCBzaWduaWZpZXIgwqvCoEFGS8Kgwrsgb3UgwqvCoEplIHJldmllbnMgdG91dCBkZSBzdWl0 ZSDCuy4KCgoKVHJhZHVpc2V6IDogwqvCoFF1ZSBwdWlzLWplIGZhaXJlIHBvdXIgdm91cywgVHJh ZHVjdGV1ciA/wqDCuwoKCgpSw6lwb25zZSA6IH5+Z3JleSxncmV5OiAnJ2NvaSByZSdpIGxhIGZh bnZhJyd+fgoKCgonJ3RhJ2EnJyBzJ3V0aWxpc2UgcG91ciBlc3NheWVyIGQnaW50ZXJyb21wcmUg cG9saW1lbnQgcXVlbHF1J3VuLgoKCgpUcmFkdWlzZXogOiAnJ3RhJ2Egcm8gZG8gbWkgY28nYSBj bGl2YScnCgpfXycnY2xpdmEnJ19fIHgxIHF1aXR0ZSB4MiBwYXIgbCdpdGluw6lyYWlyZSB4MwoK CgpSw6lwb25zZSA6fn5ncmV5LGdyZXk6IMKrwqBFeGN1c2V6LW1vaSB0b3VzLCBqZSBjb21tZW5j ZSDDoCBwYXJ0aXIuwqDCuwoKUmVtYXJxdWUgOiBpbCBuJ3kgYSBiZXNvaW4gbmkgZGUgZmEnb3Jt YSdvIG5pIGRlICcnLmknJ35+CgoKCicna2UnbycnIGVzdCB0csOocyB1dGlsaXPDqSBxdWFuZCBk ZXV4IGxvamJhbmlzdGVzIGluZXhww6lyaW1lbnTDqXMgc2UgcGFybGUgb3JhbGVtZW50LiBDJ2Vz dCB1biBtb3QgdHLDqHMgcHJhdGlxdWUuCgpfXycnc3V0cmEnJ19fIHgxIGVzdCByYXBpZGUgw6Ag ZmFpcmUgeDIKCgoKVHJhZHVpc2V6IDogJycueSBrZSdvIHN1dHJhIHRhdmxhJycKCgoKUsOpcG9u c2UgOn5+Z3JleSxncmV5OsKrIEhldSwgcsOpcMOpdGV6LCBzJ2lsIHZvdXMgcGxhaXQsIG9yYXRl dXIgcmFwaWRlLsKgwrt+fgoKCgpUcmFkdWlzZXogOiDCq8KgRCdhY2NvcmQsIGQnYWNjb3JkLCBq J2FpIGNvbXByaXMsIGplIHZhaXMgbGUgZmFpcmUgIcKgwrsKCgoKVW5lIHLDqXBvbnNlIHBvc3Np YmxlIDogfn5ncmV5LGdyZXk6JydrZSdvIG5haSAudWkgbmFpIHZpJ28nJ35+CgohIUxvamJhbiBM ZXNzb25zIC0gTGVzc29uIHR3ZW50eS10d28gKHF1YW50aWZ5aW5nIHN1bXRpKQoKTW9zdCBvdGhl ciBsZWFybmluZyBtYXRlcmlhbHMgc3VjaCBhcyBUaGUgQ29tcGxldGUgTG9qYmFuIExhbmd1YWdl IGFuZCBMb2piYW4gZm9yIEJlZ2lubmVycyB3ZXJlIHdyaXR0ZW4gYmVmb3JlIHRoZSBvZmZpY2lh bCBhZG9wdGF0aW9uICJ4b3JsbyIsIGEgY2hhbmdlIGluIHRoZSBydWxlcyBhYm91dCBnYWRyaSBk ZWZpbml0aW9uIGFuZCBnYWRyaSBxdWFudGlmaWNhdGlvbi4gVGhlIG9ic29sZXRlbmVzcyBvZiBz b21lIG9mIHRoZSB0ZXh0IGluIHRoZSBvbGRlciBsZWFybmluZyBtYXRlcmlhbHMgd2FzIGEgbWFq b3IgY2F1c2UgZm9yIHRoZSBtb3RpdmF0aW9uIHRvIHdyaXRlIHRoZXNlIGxlc3NvbnMuIFVuZm9y dHVuYXRlbHkgZm9yIG1lLCBxdWFudGlmaWNhdGlvbiBvZiBzdW10aSBjYW4gYmVjb21lIGEgdmVy eSBjb21wbGV4IHRvcGljIHdoZW4gdGhlIGltcGxpY2F0aW9ucyBvZiBjZXJ0YWluIHJ1bGVzIGFy ZSBkaXNjdXNzZWQgaW4gZGV0YWlsLiBJbiBvcmRlciB0byBmdWxmaWxsIHRoZSBnb2FsIG9mIHRo aXMgdGV4dCBiZWluZyBhY2N1cmF0ZSBlbm91Z2ggdG8gcmVwcmVzZW50IHRoZSBvZmZpY2lhbCAi Z29sZCBzdGFuZGFyZCIgQlBGSyBydWxlcywgdGhpcyBjaGFwdGVyIHdhcyBhbW9uZyB0aGUgbGFz dCBvbmVzIGZpbmlzaGVkIGFuZCB0aGUgb25lcyBtb3N0IGZyZXF1ZW50eSByZXdyaXR0ZW4uIEkg c3Ryb25nbHkgZW5jb3VyYWdlIGFueW9uZSB3aG8gZmluZHMgbWlzdGFrZXMgaW4gdGhpcyB0ZXh0 IHRvIGNvbnRhY3QgbWUgaW4gb3JkZXIgZm9yIHRoZW0gdG8gYmUgY29ycmVjdGVkLgoKSGF2aW5n IHNhaWQgdGhhdCBkaXNjbGFpbWVyLCBsZXQncyBnZXQgc3RhcnRlZDoKClRoZSBmaXJzdCBjb25j ZXB0IHlvdSBzaG91bGQga25vdyBhYm91dCBpcyAiZGlzdHJpYnV0aXZpdHkiLiBJbiBsZXNzb24g Zm91cnRlZW4gaSB1c2VkIHRoZSB3b3JkICJpbmRpdmlkdWFscyIgYWJvdXQgYSBncm91cCBvZiBv YmplY3RzIGNvbnNpZGVyZWQgZGlzdHJpYnV0aXZlbHkuIEEgZGlzdHJpYnV0aXZlIGdyb3VwICcn a28nYScnIGlzIGZvciBhbnkgc2VsYnJpICcnYnJvZGEnJyBhIGdyb3VwIHN1Y2ggdGhhdCwgaWYg JydrbydhIGJyb2RhJycgaXMgdHJ1ZSwgaXQgbWVhbnMgdGhhdCBldmVyeSBtZW1iZXIgb2YgdGhl IGdyb3VwIGFsc28gaXMgY2hhcmFjdGVyaXplZCBieSAnJ2Jyb2RhJycuIFRoaXMgc3RhbmRzIGlu IGNvbnRyYXN0IHRvIG5vbi1kaXN0cmlidXRpdml0eSAod2hpY2ggbWFzc2VzIGhhdmUpLCBpbiB3 aGljaCB0aGUgZ3JvdXAgaGFzIG90aGVyIHByb3BlcnRpZXMgdGhhbiBlYWNoIG9mIHRoZSBpbmRp dmlkdWFscyBkby4gVGhlIGRpc3RpbmN0aW9uIGJldHdlZW4gZGlzdHJpYnV0aXZpdHkgKGluZGl2 aWR1YWwtbGlrZSkgYW5kIG5vbi1kaXN0cmlidXRpdml0eSAobWFzcy1saWtlKSBpcyBvZiByZWxl dmFuY2Ugd2hlbiBxdWFudGlmeWluZyBzdW10aS4KCkxldCB1cyBmaXJzdCBjb25zaWRlciBob3cg b25lIGNhbiBxdWFudGlmeSBkZWNyaXB0aW9uIHN1bXRpLCB3aGljaCBhcmUgc3VtdGkgb2YgdGhl IGZvcm0gR0FEUkkgQlJJVkxBLiBUaGUgbnVtYmVyIHN0cmluZyB3aGljaCBkb2VzIHRoZSBxdWFu dGlmaWNhdGlvbiBjYW4gYmUgcGxhY2VkIGJlZm9yZSB0aGUgZ2FkcmksIGluIHdoaWNoIGNhc2Ug aXQgaXMgcmVmZXJyZWQgdG8gYXMgYW4gX19vdXRlciBxdWFudGlmaWVyX18sIGFuZCBpdCBjYW4g YmUgcGxhY2VkIGJldHdlZW4gdGhlIGdhZHJpIGFuZCB0aGUgYnJpdmxhLCBpbiB3aGljaCBjYXNl IGl0J3MgYW4gX19pbm5lciBxdWFudGlmaWVyX18uIEFueSBraW5kIG9mIG51bWJlciBzdHJpbmcg Y2FuIGFjdCBhcyBhIHF1YW50aWZpZXIuCgpUaGUgcnVsZXMgZm9yIGhvdyBpbm5lciBhbmQgb3V0 ZXIgcXVhbnRpZmllcnMgYWZmZWN0cyBzdW10aSBkZXBlbmQgb24gdGhlIGtpbmQgb2YgZ2Fkcmkg d2hpY2ggaXMgdXNlZDoKCgoKLSAtJydsbycnIGFuZCAnJ2xlJyctIC0gQW4gaW5uZXIgcXVhbnRp ZmllciB0ZWxscyB1cyBob3cgbWFueSBvYmplY3RzIGFyZSBiZWluZyBzcG9rZW4gb2YgLSBob3cg bWFueSBvYmplY3RzIGFyZSBpbiB0aGUgZGlzY291cnNlIHRvdGFsLiBJZiBhbiBvdXRlciBxdWFu dGlmaWVyIGlzIHByZXNlbnQsIHRoZSBzdW10aSBpcyBkaXN0cmlidXRlZCBvdmVyIHRoYXQgYW1v dW50IG9mIG9iamVjdHMuIEFzIHN0YXRlZCBlYXJsaWVyLCBpZiBubyBvdXRlciBxdWFudGlmaWVy IGlzIHByZXNlbnQsIGl0J3MgdmFndWUgaG93IG1hbnkgb2JqZWN0cyB0aGUgc2VsYnJpIGFwcGxp ZXMgdG8gKHRob3VnaCBub3Qgbm9uZSksIGFuZCB3aGV0aGVyIGl0IGRvZXMgc28gZGlzdHJpYnV0 aXZlbHkgb3Igbm9uLWRpc3RyaWJ1dGl2ZWx5LiBFeGFtcGxlcyBhcmUgYWx3YXlzIGEgZ29vZCBp ZGVhLCBzbyBoZXJlIHRoZXkgYXJlOgoKJydtdSBsbyBtdSBiYWtuaSBjdSBzZSBqaXJuYScnIC0g VGhlIGlubmVyIHF1YW50aWZpZXIgb2YgZml2ZSB0ZWxscyB1cyB0aGF0IHdlIHNwZWFrIGFib3V0 IGZpdmUgcGllY2VzIG9mIGNhdHRsZSwgYW5kIHRoZSBvdXRlciBxdWFudGlmaWVyIG9mIGZpdmUg dGVsbHMgdXMgdGhhdCB0aGUgc2VsYnJpIGlzIHRydWUgZm9yIGVhY2ggb2YgdGhlIGZpdmUuIFRo ZXJlZm9yZSwgaXQgbWVhbnMgIkFsbCB0aGUgZml2ZSBjb3dzIGhhZCBob3JucyIuIAoKX18nJ2Jh a25pJydfXyB4MSBpcyBhIGNvdy9veC9jYXR0bGUvY2FsZiBldGMgb2YgYnJlZWQgeDIKCl9fJydq aXJuYScnX18geDEgaXMgdGhlIGhvcm4gb2YgeDIgKG1ldGFwaG9yOiBhbnkgcG9pbnRlZCBleHRy ZW1pdHkpCgoKCldoYXQgZG9lcyB0aGUgZm9sbG93aW5nIGJyaWRpIG1lYW4/CgonJ2xvIHJ1J3Vy Z3VidXB1IGJlIGxpIHJlIHBpIHplIG11IGN1IGpkaW1hIGxvIHBhIHJlIHNvdmRhJycKCl9fJydy dSd1cmd1YnVwdScnX18geDEgaXMgbWVhc3VyZXMgdG8gYmUgeDIgQnJpdGlzaCBwb3VuZHMgKEdC UCkKCl9fJydqZGltYScnX18geDEgaXMgdGhlIHByaWNlIG9mIHgyIHRvIGJ1eWVyIHgzIHNldCBi eSB2ZW5kb3IgeDQKCl9fJydzb3ZkYScnX18geDEgaXMgYSBnYW1ldGUgKGVnZy9zcGVybSkgb2Yg eDIKCkFuc3dlcjogfn5ncmV5LGdyZXk6ICJUd2VsdmUgZWdncyBjb3N0IDIuNzUgQnJpdGlzaCBw b3VuZHMiIHdoaWNoLCBhcyB0aGUgRW5nbGlzaCB0cmFuc2xhdGlvbiwgY291bGQgbWVhbiBib3Ro IHRoYXQgdGhleSBjb3N0IDIuNzUgZWFjaCAoZGlzdHJpYnV0aXZlbHkpIG9yIHRoYXQgYWxsIHR3 ZWx2ZSB0b2dldGhlciBjb3N0IDIuNzUgKG5vbi1kaXN0cmlidXRpdmVseSl+fgoKCgonJ3NvIGxl IHRhIHBhIHBhIGNpJ2Vya2VpIGN1IGNsYW1hdSBtaScnIChub3RpY2UgdGhhdCB0aGUgJyd0YScn IGdvZXMgYmVmb3JlIHRoZSBpbm5lciBxdWFudGlmaWVyKQoKX18nJ2NpJ2Vya2VpJydfXyB4MSBw bGF5cyBnYW1lIHgyIGdvdmVuZXJkIGJ5IHJ1bGVzIHgzIGludGVycmVsYXRpbmcgZ2FtZSBwYXJ0 cyB4NCB7dGhpcyBpcyB1c2VkIHRvIHRyYW5zbGF0ZSAicGxheSIgaW4gdGhlIHNlbnNlICJwbGF5 IGEgZ2FtZSIgcmF0aGVyIHRoYW4sIGZvciBpbnN0YW5jZSAicGxheWluZyBwcmV0ZW5kIiBvciAi cGxheWluZyBIb3VzZSJ9CgpfXycnY2xhbWF1JydfXyB4MSBpcyB0YWxsZXIvbG9uZ2VyIHRoYW4g eDIgaW4gZGlyZWN0aW9uIHgzIG15IG1hcmlnaW4geDQKCkFuc3dlcjogfn5ncmV5LGdyZXk6VGhl IGlubmVyIHN0YXRlcyB0aGVyZSBhcmUgMTEgcGxheWVycyBpbiB0aGUgZGlzY291cnNlLCBhbmQg dGhlIG91dGVyIHN0YXRlcyB0aGF0IHRoZSBzZWxicmkgYXBwbGllcyB0byBuaW5lIG9mIHRoZW0g ZGlzdHJpYnV0aXZlbHkuIFRodXMgaXQgbWVhbnMgIk5pbmUgb2YgdGhlIGVsZXZlbiBwbGF5ZXJz IGFyZSB0YWxsZXIgdGhhbiBtZSJ+fgoKCgpUaGVyZSBhcmUgYSBmZXcgcG9pbnRzIHRoYXQgbmVl ZHMgdG8gYmUgcmFpc2VkIHJlZ2FyZGluZyBxdWFudGlmaWNhdGlvbiBvZiAnJ2xvJycvJydsZScn OgoKRmlyc3RseSwgJydsbycnIGlzIHVuaXF1ZSBpbiB0aGF0ICJ7bnVtYmVyfSB7c2VsYnJpfSIg aXMgZGVmaW5lZCBhcyAie251bWJlcn0gJydsbycnIHtzZWxicml9Ii4gVGhlcmVmb3JlLCAnJ2Np IGdlcmt1IGN1IGJhdGNpIHJlIG5hbm11JycgaXMgZGVmaW5lZCB0byBiZSAnJ2NpIGxvIGdlcmt1 IGN1IGJhdGNpIHJlIGxvIG5hbm11JycsIHdoaWNoIGNvbnNpZGVycyBib3RoIHRoZSBncm91cCBv ZiBkb2dzIGFuZCB0aGUgZ3JvdXAgb2YgbWVuIGRpc3RyaWJ1dGl2ZWx5LiBUaGVyZWZvcmUsIGVh Y2ggb2YgdGhlIHRocmVlIGRvZ3MgYml0IGVhY2ggb2YgdGhlIHR3byBtZW4sIHdpdGggc2l4IGJp dGluZyBldmVudHMgaW4gdG90YWwuCgpfXycnYmF0Y2knJ19fIHgxIGJpdGVzL3BpbmNoZXMgeDIg YXQgbG9jdXMgeDMgdXNpbmcgeDQgYXMgcGluY2hpbmcgdG9vbC4KClNlY29uZGx5OiBXaGF0IGlm IHRoZXJlIGlzIG5vIG91dGVyIHF1YW50aWZpZXI/IERvZXMgdGhpcyBtZWFuIHRoYXQgaXQgX19p c19fIHRoZXJlLCBidXQgaXQncyBlbGlkZWQ/IE5vcGUuIElmIHRoZXJlIGlzIGFueSBraW5kIG9m IG91dGVyIHF1YW50aWZpZXIsIGVsaWRlZCBvciBub3QsIGl0IHdvdWxkIGZvcmNlIHRoZSBzdW10 aSB0byBiZSBkaXN0cmlidXRpdmUsIHdoaWNoIHdvdWxkIG1lYW4gdGhhdCBuZWl0aGVyICcnbG8n JyBub3IgJydsZScnIGNvdWxkIGJlIHVzZWQgdG8gZGVzY3JpYmUgbWFzc2VzLiBUaGVyZWZvcmUs IGlmIG5vIG91dGVyIHF1YW50aWZpZXIgaXMgcHJlc2VudCwgaXQncyBub3Qgb25seSBlbGlkZWQg LSBpdCdzIHNpbXBseSBub3QgdGhlcmUuIFN1bXRpIHdpdGhvdXQgYW4gb3V0ZXIgcXVhbnRpZmll ciBjYW4gYmUgcmVmZXJyZWQgdG8gYXMgImNvbnN0YW50cyIsIGV2ZW4gdGhvdWdoIEkgd29uJ3Qu CgpUaGlyZGx5LCBpdCBtYWtlcyBubyBzZW5zZSB0byBoYXZlIGFuIG91dGVyIHF1YW50aWZpZXIg d2hpY2ggaXMgbGFyZ2VyIHRoYW4gdGhlIGlubmVyIG9uZS4gSXQgbWVhbnMgdGhhdCB0aGUgc2Vs YnJpIGhvbGRzIHRydWUgZm9yIG1vcmUgc3VtdGkgdGhhbiBhcmUgcHJlc2VudCBpbiB0aGUgZGlz Y291cnNlIC0gYnV0IHNpbmNlIHRoZXkgYXBwZWFyIGluIGEgYnJpZGksIHRoZXkgX19hcmVfXyBw YXJ0IG9mIHRoZSBkaXNjb3Vyc2UuIEl0J3MgZ3JhbW1hdGljYWwgdG8gZG8gaXQsIHRob3VnaC4K Ckxhc3RseSwgcGxhY2luZyBhICcnbG8nJyBvciBhICcnbGUnJyBpbiBmcm9udCBvZiBhIHN1bXRp IGlzIGdyYW1tYXRpY2FsLCBpZiB0aGVyZSBpcyBhbiBpbm5lciBxdWFudGlmaWVyIHByZXNlbnQu ICInJ2xvJycvJydsZScnIHtudW1iZXJ9IHtzdW10aX0iIGlzIGRlZmluZWQgYXMgIicnbG8nJy8n J2xlJycge251bWJlcn0gJydtZScnIHtzdW10aX0iLgoKU28gd2hhdCB3b3VsZCB0aGlzIG1lYW4/ ICcnbWkgbmVsY2kgbG9pIG1pIGJyaWp1IGthbnNhIC5pIGt1J2kgY2kgbG8gcmUgbXUgamknaSBy aSBjdSBsYXpuaScnCgpfXycnYnJpanUnJydfXyB4MSBpcyBhbiBvZmZpY2UgZm9yIHdvcmtlciB4 MiBhdCBsb2NhdGlvbiB4MwoKX18nJ2thbnNhJydfXyB4MSBhY2NvbXBhbmllcyB4MiBpbiBhY3Rp b24vc3RhdGUvZW50ZXJwcmlzZSB4MwoKX18nJ2xhem5pJydfXyB4MSBpcyBsYXp5LCBhdm9pZGlu ZyB3b3JrIGNvbmNlcm5pbmcgeDIKCkFuc3dlcjogfn5ncmV5LGdyZXk6IkkgbGlrZSBteSBjby13 b3JrZXJzLCBidXQgdGhyZWUgb3V0IG9mIGFib3V0IHR3ZW50eSBmaXZlIG9mIHRoZW0gYXJlIGxh enkifn4KCgoKLSAtJydsYScnLSAtIEFuIGlubmVyIHF1YW50aWZpZXIgaXMgZ3JhbW1hdGljYWwg aWYgdGhlIG5hbWUgaXMgYSBzZWxicmkgLSBpbiB0aGlzIGNhc2UsIGl0J3MgY29uc2lkZXJlZCBw YXJ0IG9mIHRoZSBuYW1lLiBBbiBvdXRlciBxdWFudGlmaWVyIGlzIHVzZWQgdG8gcXVhbnRpZnkg ZGlzdHJpYnV0aXZlbHkgb3ZlciBzdWNoIGluZGl2aWR1YWxzIChtdWNoIGxpa2UgJydsbycnLycn bGUnJykgSXQncyBncmFtbWF0aWNhbCB3aGVuIHBsYWNlZCBpbiBmcm9udCBvZiB7bnVtYmVyfSB7 c3VtdGl9LCBpbiB3aGljaCBjYXNlLCB0aGUgYm90aCB0aGUgbnVtYmVyIGFuZCB0aGUgc3VtdGkg aXMgY29uc2lkZXJlZCB0aGUgbmFtZS4KCgoKVHJhbnNsYXRlIHRoaXM6ICcncmUgbGEgY2kgYmFy Z3UgY3UgamlibmkgbGUgbWkgemRhbmknJwoKQW5zd2VyOiB+fmdyZXksZ3JleTogVHdvICJUaGUg VGhyZWUgQXJjaGVzIiBhcmUgbG9jYXRlZCBjbG9zZSB0byBteSBob3VzZSIgKFBlcmhhcHMgVGhl IFRocmVlIEFyY2hlcyBhcmUgYSBraW5kIG9mIHJlc3RhdXJhbnQ/KX5+CgoKCi0gLScnbG9pJycg YW5kICcnbGVpJyctIC0gQW4gaW5uZXIgcXVhbnRpZmllciB0ZWxscyB1cyBob3cgbWFueSBtZW1i ZXJzIHRoZXJlIGFyZSBpbiB0aGUgbWFzcy9tYXNzZXMgaW4gcXVlc3Rpb24uIEFuIG91dGVyIHF1 YW50aWZpZXIgcXVhbnRpZmllcyBkaXN0cmlidXRpdmVseSB7IX0gb3ZlciB0aGVzZSBtYXNzZXMK Ck5vdGljZSBoZXJlIHRoYXQgd2hpbGUgbWFzc2VzIGNvbnNpc3Qgb2YgYSBudW1iZXIgb2Ygb2Jq ZWN0cyBjb25zaWRlcmVkIG5vbi1kaXN0cmlidXRpdmVseSwgYW4gb3V0ZXIgcXVhbnRpZmllciBh bHdheXMgdHJlYXRzIGVhY2ggb2YgdGhlc2UgbWFzc2VzIGFzIGFuIGluZGl2aWR1YWwuCgpXaGVu IHBsYWNlZCBiZWZvcmUgYSBudW1iZXIgc3RyaW5nLCB0aGVuIGEgc3VtdGksICcnbG9pJycvJyds ZWknJyBpcyBkZWZpbmVkIGFzICInJ2xvIGd1bm1hIGJlIGxvJycvJydsZScnIHtudW1iZXJ9IHtz dW10aX0iIC0gIlRoZSBtYXNzIGNvbnNpc3Rpbmcgb2YgdGhlIHtudW1iZXJ9IG9mIHtzdW10aX0i LgoKCgpBdHRlbXB0IHRvIHRyYW5zbGF0ZSB0aGlzOiAnJ3JlIGRlaSBndW5tYSByZSBsb2kgemUg dmFsc2kgLmkgY2EnZSBwYSBkZWkgamFpIGdhdSBqZXRudScnCgpfXycnZ3VubWEnJ19fIHgxIGlz IGEgbWFzcyBvZiB0aGUgaW5kaXZpZHVhbHMgeDIKCl9fJyd2YWxzaScnX18geDEgaXMgYSB3b3Jk LCBtZWFuaW5nIHgyIGluIGxhbmd1YWdlIHgzCgpfXycnY2EnZScnX18gQXR0aXR1ZGluYWw6IEV2 aWRlbnRpYWw6IEkgZGVmaW5lCgpfXycnamV0bnUnJ19fIHgxIGlzIHRydWUgYWNjb3JkaW5nIHRv IG1ldGFwaHlzaWNzL2VwaXN0ZW1vbG9neSB4MgoKQW5zd2VyOiB+fmdyZXksZ3JleTogIlRoZXNl IHR3byB1dHRlcmFuY2VzIGFyZSBhIG1hc3MsIGNvbnNpc3Rpbmcgb2YgdHdvIGluZGl2aWR1YWwg bWFzc2VzIGVhY2ggb2Ygc2V2ZW4gd29yZHMuIEkgZGVmaW5lOiBUaGlzIG9uZSB1dHRlcmFuY2Ug Y2F1c2VzIHtpdH0gdG8gYmUgdHJ1ZS4ifn4KCgoKLSAtJydsYWknJy0gLSBNdWNoIGxpa2UgJyds YScnLCBhbiBpbm5lciBxdWFudGlmaWVyICh3aGVuIG5hbWUgaXMgYSBzZWxicmkpIGlzIHBhcnQg b2YgdGhlIG5hbWUuIEFuIG91dGVyIG9uZSBxdWFudGlmaWVzIGRpc3RyaWJ1dGl2ZWx5LiBCZWZv cmUgYSBudW1iZXIrc3VtdGksIGJvdGggdGhlIHN1bXRpIGFuZCB0aGUgbnVtYmVyIG1ha2UgdXAg dGhlIG5hbWUuCgpXaGVuIGEgZnJhY3Rpb24gaXMgdXNlZCBhcyBhbiBvdXRlciBxdWFudGlmaWVy IHRvIHF1YW50aWZ5ICcnbG9pJycsICcnbGVpJycgb3IgJydsYWknJywgb25lIHNwZWFrcyBhYm91 dCBvbmx5IHBhcnQgb2YgdGhlIG1hc3MgKGZvciBpbnN0YW5jZSwgImhhbGYgb2YgdGhlIEpvaG5z b25zIiAtICcncGkgbXUgbGFpIC5kamFuc3luLicnKS4KCgoKLSAtJydsbydpJycgYW5kICcnbGUn aScnLSAtIEFuIGlubmVyIHF1YW50aWZpZXIgZGVzY3JpYmVzIHRoZSBhbW91bnQgb2YgbWVtYmVy cyBvZiB0aGUgc2V0LiBBbiBvdXRlciBxdWFudGlmaWVzIGRpc3RyaWJ1dGl2ZWx5IG92ZXIgc2V2 ZXJhbCBvZiBzdWNoIHNldHMuIFdoZW4gcGxhY2VkIGJlZm9yZSBhIG51bWJlciBhbmQgYSBzdW10 aSwgaXQncyBkZWZpbmVkIGFzICInJ2xvIHNlbGNtaSBiZSAnJ2xvJycvJydsZScnIHtudW1iZXJ9 IHtzdW10aX0iIC0gIlRoZSBzZXQgb2Yge251bWJlcn0ge3N1bXRpfSIuCgoKClRyYW5zbGF0ZSAn J2xvJ2kgcm8gc2UgY2lua2kgY3UgYnJhbWF1IGxhJ2EgcGEgbm8gbm8gbG8naSBybyBzZSBib2d5 a2FtanUganV0c2knJwoKX18nJ2NpbmtpJydfXyB4MSBpcyBhbiBpbnNlY3Qgb2Ygc3BlY2llcyB4 MgoKX18nJ2xhJ2EnJ19fIEF0dGl0dWRpbmFsOiBEaXNjdXJzaXZlOiBQcm9iYWJseQoKX18nJ2Jy YW1hdScnX18geDEgaXMgYmlnZ2VyIHRoYW4geDIgaW4gZGltZW5zaW9uIHgzIGJ5IG1hcmlnaW4g eDQKCl9fJydib2d5a2FtanUnJ19fIHgxIGlzIHRoZSBzcGluZSBvZiB4MgoKX18nJ2p1dHNpJydf XyB4MSBpcyB0aGUgc3BlY2llcyBvZiBnZW51cyB4MiwgZmFtaWx5IHgzIC4uLiAob3BlbiBlbmRl ZCBjbGFzc2lmaWNhdGlvbikKCkFuc3dlcjogfn5ncmV5LGdyZXk6ICJUaGUgc2V0IG9mIGFsbCB0 aGUgc3BlY2llcyBvZiBpbnNlY3RzIGlzIHByb2JhYmx5IGJpZ2dlciB0aGFuIG9uZSBodW5kcmVk IHNldHMgb2YgYWxsIHNwZWNpZXMgb2YgdmVydGVicmF0ZXMifn4KCgoKLSAtJydsYSdpJyctIC0g QXMgd2l0aCAnJ2xhaScnCgpMaWtlIHdpdGggdGhlIG1hc3MgZ2FkcmksIGFuIG91dGVyIHF1YW50 aWZpZXIgYmVmb3JlIGEgc2V0IGdhZHJpIGVuYWJsZXMgb25lIHRvIHNwZWFrIGFib3V0IGEgZnJh Y3Rpb24gb2YgYSBzZXQuIEluIGZyb250IG9mIGEgbnVtYmVyIGFuZCBhIHN1bXRpLCBpdCdzIGRl ZmluZWQgYXMgIicnbG8gc2VsY21pIGJlIGxhJycge251bWJlcn0ge3N1bXRpfSIgLSAiVGhlIHNl dCBjb25zaXN0aW5nIG9mIFRoZSB7TnVtYmVyfSB7U3VtdGl9IiAoY29uc2lkZXJlZCBhIG5hbWUp CgoKCi0gLScnbG8nZScnIGFuZCAnJ2xlJ2UnJy0gLSBBcmUgZm9yIHNvbWUgcmVhc29uIG5vdCBp bmNsdWRlZCBpbiB0aGUgY3VycmVudGx5IGFjY2VwdGVkIGdhZHJpIHByb3Bvc2FsLiBJZiBvbmUg d2VyZSB0byBleHRlbmQgdGhlIHJ1bGVzIG9mIGFub3RoZXIgZ2FkcmksICcnbG8nJy8nJ2xlJycg d291bGQgcHJvYmFibHkgYmUgdGhlIGJlc3QgY2hvaWNlIChzaW5jZSBib3RoIG9wZXJhdGVzIHdp dGggaW5kaXZpZHVhbHMgcmF0aGVyIHRoYW4gZ3JvdXBzKSwgYW5kIHNvIG9uZSB3b3VsZCBleHBl Y3QgdGhlIG91dGVyIHF1YW50aWZpZXIgdG8gZm9yY2UgZGlzdHJpYnV0aXZpdHkgb3ZlciB0aGUg YW1vdW50IG9mIHR5cGljYWwvc3RlcmVvdHlwaWNhbCB0aGluZ3MgZ2l2ZW4gYnkgdGhlIGlubmVy IHF1YW50aWZpZXIuCgoKCldoZW4gcXVhbnRpZnlpbmcgc3Vta2EnaSByZXByZXNlbnRpbmcgc2V2 ZXJhbCBvYmplY3RzLCBpdCBpcyB1c2VmdWwgdG8gcmVtZW1iZXIgdGhhdCB0aGV5IGFyZSB1c3Vh bGx5IG1hc3Nlcy4gQnkgZGVmaW5pdGlvbiwgIntudW1iZXJ9IHtzdW10aX0iIGlzIGRlZmluZWQg YXMgIntudW1iZXJ9ICcnZGEgcG9pIGtlJ2EgbWUnJyB7c3VtdGl9Ii4gWW91IHdpbGwgbm90IGJl IGZhbWlsaWFyIHdpdGggJydkYScnIHVudGlsIGEgZmV3IGxlc3NvbnMgbGF0ZXIsIHNvIHRha2Ug aXQgb24gZmFpdGggdGhhdCBpdCBtZWFucyAic29tZXRoaW5nIiBpbiB0aGlzIGNvbnRleHQuIFRo ZXJlZm9yZSwgJydjaSBtaScnIG1lYW5zICJUd28gb2YgdGhvc2Ugd2hvIGJlbG9uZyB0byAidXMi Ii4gV2hlbiBxdWFudGlmeWluZyBzdWNoIG1hc3NlcywgaXQgY2FuIHNhZmVseSBiZSBhc3N1bWVk IHRoYXQgdGhlIHJlbGF0aW9uIGltcGxpZWQgYnkgJydtZScnIGlzIG1lbWJlcnNoaXAgb2YgdGhl IG1hc3MsIGFuZCB0aGVyZWZvcmUgJydjaSBtaScnIGlzICJUaHJlZSBvZiB1cyIuCgoKClNvbWUg aW1wb3J0YW50IHVzZXMgb2YgcXVhbnRpZmljYXRpb24gcmVxdWlyZXMgeW91IHRvIGJlIHF1YW50 aWZ5IHNlbGJyaSBvciBvYmplY3RzIHdob3NlIGlkZW50aXR5IGlzIHVua25vd24uIFRoaXMgaXMg ZG9uZSBieSAibG9naWNhbGx5IHF1YW50aWZpZWQgdmFyaWFibGVzIi4gVGhlc2UsIGFzIHdlbGwg YXMgaG93IHRvIHF1YW50aWZ5IHRoZW0gd2lsbCBiZSBjb3ZlcmVkIGluIGxlc3NvbnMgdHdlbnR5 LXNldmVuLgoKCgpMYXN0bHksIGhvdyBjYW4geW91IHF1YW50aWZ5IHVuY291bnRhYmxlIHN1YnN0 YW5jZXMgbGlrZSBzdWdhciBvciB3YXRlcj8gT25lIHNvbHV0aW9uIGlzIHRvIHF1YW50aWZ5IGl0 IHVzaW5nIGluZXhhY3QgbnVtYmVycy4gVGhpcyB1c2UgaXMgdmFndWUsIG5vdCBvbmx5IGJlY2F1 c2UgdGhlIHZhbHVlIG9mIHRoZSBudW1iZXIgaXMgdmFndWUsIGJ1dCBhbHNvIGJlY2F1c2UgaXQn cyBub3Qgc3BlY2lmaWVkIG9uIHdoYXQgc2NhbGUgeW91J3JlIGNvdW50aW5nOiBUaGUgc3VnYXIg Y291bGQgYmUgY29uc2lkZXJlZCBhIGdyb3VwIG9mIG1hbnkgY3J5c3RhbHMsIGNvdW50ZWQgb25l IGF0IGEgdGltZSwgYW5kIHRoZSB3YXRlciBjb3VsZCBiZSBxdWFudGlmaWVkIGJ5IHRoZSBhbW91 bnRzIG9mIHJhaW5kcm9wcyBpdCB0b29rIHRvIG1ha2UgdGhlIGJvZHkgb2Ygd2F0ZXIgaW4gcXVl c3Rpb24uIFdoaWxlIHRoaXMgd2F5IG9mIGNvdW50aW5nIGlzIGxlZ2l0aW1hdGUsIGl0J3Mgbm90 IHZlcnkgZXhhY3QgYW5kIGNhbiBlYXNpbHkgY29uZnVzZSBvciBtaXNsZWFkLgoKQSB3YXkgdG8g YmUgZXhwbGljaXQgYWJvdXQgbm9uLWNvdW50YWJpbGl0eSBpcyB0byB1c2UgdGhlIG51bGwgb3Bl cmFuZCAnJ3R1J28nJyBhcyBhbiBpbm5lciBxdWFudGlmaWVyLgoKX18nJ3R1J28nJ19fIE51bGwg b3BlcmFuZCAoIMOYICkuIFVzZWQgaW4gdW5hcnkgbWVrc28uCgpUaGlzIHNvbHV0aW9uIGlzIGVs ZWdhbnQgYW5kIGludHVpdGl2ZSwgYW5kIGFsc28gZ2l2ZXMgbWUgYW4gZXhjdXNlIHRvIHF1b3Rl IHRoaXMgaG9ycmlmeWluZywgeWV0IGNvbWljYWwgZXhhbXBsZSBmcm9tIHRoZSBvcmlnaW5hbCAn J3hvcmxvJyctcHJvcG9zYWw6CgonJ2xlIG5hbm11IGN1IHNlIHNudXRpIC5pIGphJ2UgYm8gbG8g dHUnbyBnZXJrdSBjdSBrdXNwZSBsZSBrbGFqaScnCgpfXycnc251dGknJ19fIHgxIGlzIGFuIGFj Y2lkZW50IG9uIHRoZSBwYXJ0IG9mIHgyCgpfXycnamEnZScnX18gc3VtdGNpdGE6IEJBSTogKGZy b20gJydqYWxnZScnKTogQnJpZGkgcmVzdWx0cyBpbiB7c3VtdGl9IAoKX18nJ2t1c3BlJydfXyB4 MSBzcGFucy9leHRlbmRzIG92ZXIgeDIKCl9fJydrbGFqaScnX18geDEgaXMgYSByb2FkL2F2ZW51 ZS9zdHJlZXQgYXQgeDIgYWNjZXNzaW5nIHgzCgoKCldoYXQgZG9lcyBpdCBtZWFuPwoKQW5zd2Vy OiB+fmdyZXksZ3JleTogIlRoZSBtYW4gaGFkIGFuIGFjY2lkZW50IGFuZCBzbyB0aGVyZSB3YXMg ZG9nIGFsbCBvdmVyIHRoZSByb2FkIn5+CgoKCkEgc2Vjb25kIG1ldGhvZCBvZiBxdWFudGlmeWlu ZyBzdWJzdGFuY2VzIGlzIHRvIHVzZSB0aGUgdGVuc2VzICcndmUnaScnLCAnJ3ZlJ2EnJyBhbmQg Jyd2ZSd1JycgYXMgbWVudGlvbmVkIGluIGxlc3NvbiB0ZW46CgonJ3RpIHZlJ2kgZGphY3UnJyAt IFRoaXMgaXMgYSBzbWFsbCBhbW91bnQgb2Ygd2F0ZXIKCl9fJydkamFjdScnX18geDEgaXMgYW4g ZXhwYW5zZSBvZiB3YXRlci9pcyBtYWRlIG9mIHdhdGVyL2NvbnRhaW5zIHdhdGVyCgoKClRoaXJk bHksIG9mIGNvdXJzZSwgeW91IGNvdWxkIHVzZSBhIGJyaXZsYSB0byBnaXZlIGFuIGV4YWN0IG1l YXN1cmVtZW50OgoKJydsZSB0YSBkamFjdSBjdSBraSdvZ3JhIGJlIGxpIHJlIHBpIGtpJ28ga2kn bycnIC0gIlRoYXQgd2F0ZXIgaGFzIGEgbWFzcyBvZiAyLjAwMCAwMDAga2lsb2dyYW1zIgoKX18n J2tpJ29ncmEnJ19fIHgxIG1lYXN1cmVzIGluIG1hc3MgeDIga2lsb2dyYW1zIGJ5IHN0YW5kYXJk IHgzCgoKCiEhTG9qYmFuIExlc3NvbnMgLSBMZXNzb24gdHdlbnR5LXRocmVlIChuZWdhdGlvbikK ClNvbWV0aW1lcywganVzdCBzYXlpbmcgd2hhdCdzIHRoZSB0cnV0aCBpcyBub3QgZW5vdWdoLiBP ZnRlbiwgd2Ugd2FudCB0byBzcGVjaWZ5IHdoYXQncyBub3QgdGhlIHRydXRoLCBhbmQgd2UgZG8g dGhpcyBieSB1c2luZyBuZWdhdGlvbi4KCk5lZ2F0aW9uIGluIEVuZ2xpc2ggbW9zdGx5IGludm9s dmVzIOKAnG5vdOKAnSwgYW5kIGlzIGNvbXBsZXRlbHkgYXJiaXRyYXJ5IGFuZCBhbWJpZ3VvdXMu IFdlLCBhcyBMb2piYW5pc3RzLCBjYW4ndCBoYXZlIHRoYXQsIG9mIGNvdXJzZSwgc28gTG9qYmFu IGNvbnRhaW5zIGFuIGVsZWdhbnQgYW5kIHVuYW1iaWdpb3VzIHN5c3RlbSBmb3IgbmVnYXRpbmcu IFdoYXQgd2lsbCBiZSBwcmVzZW50ZWQgaGVyZSBhcmUgdGhlIG9mZmljaWFsIGdvbGQtc3RhbmRh cmQgcnVsZXMuIERpc2FwcHJvdmFsIG9mIHRoZXNlICJnb2xkZW4gcnVsZXMiIGNvbmNlcm5pbmcg JyduYScnIGlzIGdyb3dpbmcsIGFuZCB0aGVyZSBpcyBkaXNhZ3JlZW1lbnQgYWJvdXQgd2hhdCBy dWxlIHNldCBzaG91bGQgcmVwbGFjZSBpdC4gRm9yIG5vdywgSSB3aWxsIHN0aWNrIHdpdGggdGhl IG9mZmljaWFsIHJ1bGVzLCBhbmQgdGhlcmVmb3JlLCBzbyB3aWxsIHlvdSwgZGVhciByZWFkZXIu CgpUaGUgZmlyc3QgeW91IG5lZWQgdG8ga25vdyBhYm91dCBpcyBicmlkaSBuZWdhdGlvbiwgc28g Y2FsbGVkIGJlY2F1c2UgaXQgbmVnYXRlcyB0aGUgYnJpZGkgaXQncyBpbiwgc2F5aW5nIGl0J3Mg bm90IHRydWUuIFRoZSB3YXkgdG8gbmVnYXRlIGEgYnJpZGkgaXMgdG8gcGxhY2UgJyduYScnIGZp cnN0IGluIHRoZSBzZW50ZW5jZSB3aXRoIGEgJydrdScnIGFmdGVyIGl0LCBvciBqdXN0IGJlZm9y ZSB0aGUgc2VsYnJpLiAKCl9fJydzcGVuaScnX18geDEgaXMgbWFycmllZCB0byB4MiB1bmRlciBj b252ZW50aW9uIHgzCgpUaHVzOiAnJ25hIGt1IGxlIG1pIHNwZW5pIGN1IG5pbm11Jycgc3RhdGVz IHRoYXQg4oCcTXkgc3BvdXNlIGlzIG5vdCBhIHdvbWFu4oCdLiBJdCBzdGF0ZXMgbm90aGluZyBh Ym91dCB3aGF0IG15IHdpZmUgaXMsIG9yIGlmIEkgZXZlbiBoYXZlIGEgd2lmZS4gSXQgb25seSBz dGF0ZXMgdGhhdCBJIGRvIG5vdCBoYXZlIGEgd2lmZSB3aG8gaXMgYWxzbyBhIHdvbWFuLiBUaGlz IGhhcyBhbiBpbXBvcnRhbnQgaW1wbGljYXRpb246IElmIHRoZSBuZWdhdGlvbiBvZiBhIGJyaWRp IGlzIGZhbHNlLCB0aGUgYnJpZGkgbXVzdCBiZSB0cnVlOiAnJ25hIGt1IGxlIG1pIHNwZW5pIGN1 IG5hIG5pbm11JycgbXVzdCBtZWFuIHRoYXQgSSBoYXZlIGJvdGggYSBzcG91c2UsIGFuZCB0aGF0 IHNoZSBpcyBhIHNoZS4KCkl0IGlzIHBvc3NpYmxlIHRvIHVzZSBicmlkaSBuZWdhdGlvbnMgaW4g YWxsIGJyaWRpLCBldmVuIHRoZSBpbXBsaWNpdCBicmlkaSBvZiBkZXNjcmlwdGl2ZSBzdW10aS4g JydsbyBuYSBwcmVudScnIGNhbiByZWZlciB0byBhbnl0aGluZyBub24taHVtYW4sIHdoZXRoZXIg aXQgYmUgYSBzcGhpbngsIGEgYmFzZWJhbGwgb3IgdGhlIHByb3BlcnR5IG9mIGFwcHJvcHJpYXRl bmVzcy4KCgoKX18nJ2JhdScnX18gc3VtdGNpdGEsIGZyb20gYmFuZ3U6IHVzaW5nIHRoZSBsYW5n dWFnZSBvZiB7c3VtdGl9CgpfXycnc2UgamEnZScnX18gc3VtdGNpdGEsIGZyb20gc2UgamFsZ2U6 IGJlY2F1c2Ugb2Yge3N1bXRpfQoKCgpPZnRlbiB3aGVuIHVzaW5nICcnbmEnJywgaXQncyBhIHBy b2JsZW0gdGhhdCBpdCBuZWdhdGVzIHRoZSBlbnRpcmUgYnJpZGkuIElmIEkgc2F5ICcnbWkgbmEg c3V0cmEgdGF2bGEgYmF1IGxlIGdsaWJhdSBzZSBqYSdlIGxlIG51IG1pIGRvdGNvJycsIEkgZW5k IHVwIG5lZ2F0aW5nIHRvbyBtdWNoLCBhbmQgaXQgaXMgbm90IGNsZWFyIHRoYXQgSSB3YW50ZWQg dG8gb25seSBuZWdhdGUgdGhhdCBJIHNwZWFrIGZhc3QuIFRoZSBzZW50ZW5jZSBjb3VsZCBzdWdn ZXN0IHRoYXQgSSBpbiBmYWN0IHNwZWFrIGZhc3QgYmVjYXVzZSBvZiBzb21lIG90aGVyIHJlYXNv biwgZm9yIGluc3RhbmNlIHRoYXQgSSBzcGVhayBmYXN0IGluIEZyZW5jaCBiZWNhdXNlIEknbSBH ZXJtYW4uIFRvIGV4cHJlc3MgdGhlIHNlbnRlbmNlIG1vcmUgcHJlY2lzZWx5LCBJIG5lZWQgdG8g b25seSBuZWdhdGUgdGhhdCBJIHNwZWFrIGZhc3QsIGFuZCBub3QgdGhlIG90aGVyIHRoaW5ncy4K ClRvIG9ubHkgbmVnYXRlIHBhcnQgb2YgYSBicmlkaSwgJyduYSBrdScnIGNhbiBiZSBtb3ZlZCBh cm91bmQgdGhlIGJyaWRpIGFuZCBwbGFjZWQgYW55d2hlcmUgYSBzdW10aSBjYW4gZ28uIEl0IHRo ZW4gbmVnYXRlcyBhbnkgc3VtdGksIHNlbGJyaSBhbmQgc3VtdGNpdGEgcGxhY2VkIGFmdGVyIGl0 LiBXaGVuIHBsYWNlZCBpbW1lZGlhdGVseSBiZWZvcmUgdGhlIHNlbGJyaSwgdGhlICcna3UnJyBj YW4gYmUgZWxpZGVkLgoKTW92aW5nICcnbmEga3UnJyBmcm9tIHRoZSBsZWZ0IGVuZCBvZiB0aGUg YnJpZGkgYW5kIHJpZ2h0d2FyZHMgZWZmZWN0cyBhbnkgcXVhbnRpZmllcnMgaW4gYSBjZXJ0YWlu IHdheSwgYXMgY2FuIGJlIHNlZW4gYnkgdGhpcyBleGFtcGxlOgoKCgpUaGVyZSBhcmUgZm9yY2Vz IHdpdGhpbiB0aGUgTG9qYmFuIGNvbW11bml0eSB3aG8sIHBlcmhhcHMgcmlnaHRseSwgdGhpbmsg dGhhdCB0aGVyZSBpcyBubyBnb29kIHJlYXNvbiB0aGF0IGEgJyduYScnIHBsYWNlZCBiZWZvcmUg YSBzZWxicmkgbmVnYXRlcyB0aGUgZW50aXJlIGJyaWRpLCB3aGVyZWFzIGEgJyduYSBrdScnIGFu eSBvdGhlciBwbGFjZSBuZWdhdGVzIG9ubHkgd2hhdCBpcyB0cmFpbGluZyBiZWhpbmQgaXQuIEhv d2V2ZXIsIGluIHRoZXNlIGxlc3NvbnMgeW91IHdpbGwgYmUgdGF1Z2h0IHdoYXQgaXMgc3RpbGwg dGhlIG9mZmljaWFsIHN0YW5jZSwgbmFtZWx5IHRoYXQgJyduYScnIGJlZm9yZSB0aGUgc2VsYnJp IG5lZ2F0ZXMgdGhlIGJyaWRpLgoKCgpUaGUgdXNlIG9mICcnbmEga3UnJyBpcyBleGVtcGxpZmll ZCB3aXRoIHRoZSBmb2xsb3dpbmcgZXhhbXBsZXMuCgonJ25hIGt1IHJvIHJlbW5hIGN1IHZlcmJh Jycg4oCcSXQncyBub3QgdHJ1ZSB0aGF0OiBBbGwgaHVtYW5zIGFyZSBjaGlsZHJlbuKAnQoKJydz dSdvIHJlbW5hIG5hIGt1IGN1IHZlcmJhJycg4oCcRm9yIGF0IGxlYXN0IG9uZSBodW1hbiBpdCdz IG5vdCB0cnVlIHRoYXQ6IEl0J3MgYSBjaGlsZOKAnS4gU2VlIHRoYXQgdGhlICcnbmEga3UnJyBp cyBwbGFjZWQgYmVmb3JlICcnY3UnJywgc2luY2UgYSBzdW10aSBjYW4gZ28gb25seSBiZWZvcmUs IG5vdCBhZnRlciB0aGUgJydjdScnLiBIYWQgSSBvbmx5IHVzZWQgJyduYScnLCBpdCB3b3VsZCBo YXZlIHRvIGdvIGFmdGVyICcnY3UnJyAtIGJ1dCB0aGF0IHdvdWxkIGhhdmUgbmVnYXRlZCB0aGUg ZW50aXJlIGJyaWRpLCBtZWFuaW5nICJJdCdzIG5vdCB0cnVlIHRoYXQ6IEF0IGxlYXN0IG9uZSBo dW1hbiBpcyBhIGNoaWxkIi4KCgoKV2hlbiB0aGUgJyduYSBrdScnIGlzIG1vdmVkIHJpZ2h0d2Fy ZHMsIGFueSBxdWFudGlmaWVyIGlzIGludmVydGVkIC0gdGhhdCBpczogJydybycnIGlzIHR1cm5l ZCBpbnRvICcnc3UnbycnLiBUaGlzIGlzLCBvZiBjb3Vyc2UsIG9ubHkgaWYgdGhlIG1lYW5pbmcg b2YgdGhlIGJyaWRpIGhhcyB0byBiZSBwcmVzZXJ2ZWQuIFRoaXMgbWVhbnMgdGhhdCB3aGVuIHRo ZSAnJ25hIGt1JycgaXMgcGxhY2VkIGF0IHRoZSBlbmQgb2YgdGhlIGJyaWRpLCBvbmx5IHRoZSBz ZWxicmkgaXMgbmVnYXRlZCBidXQgYWxsIHRoZSBzdW10aSBhbmQgc3VtdGNpdGEgYXJlIHByZXNl cnZlZCwgYXMgY2FuIGJlIHNlZW4gYnkgdGhlc2UgdGhyZWUgaWRlbnRpY2FsIGJyaWRpOgoKX18n J2NrdWxlJydfXyB4MSBpcyBhIHNjaG9vbCBhdCBsb2NhdGlvbiB4MiB0ZWFjaGluZyB4MyB0byBz dHVkZW50cyB4NCBhbmQgb3BlcmF0ZWQgYnkgeDUKCgoKJyduYSBrdSBybyB2ZXJiYSBjdSB2ZSBj a3VsZSBmbyBzdSdvIGNrdWxlJycg4oCTIOKAnEl0J3Mgbm90IHRydWUgdGhhdCBhbGwgY2hpbGRy ZW4gYXJlIHN0dWRlbnRzIGluIGEgc2Nob29sLuKAnQoKJydzdSdvIHZlcmJhIGN1IHZlIGNrdWxl IG5hIGt1IGZvIHN1J28gY2t1bGUnJyDigJMg4oCcU29tZSBjaGlsZHJlbiBhcmUgc3R1ZGVudHMg aW4gbm90IGEgc2luZ2xlIHNjaG9vbC7igJ0KCicnc3UnbyB2ZXJiYSBjdSB2ZSBja3VsZSBmbyBy byBja3VsZSBuYSBrdScnIOKAkyDigJxTb21lIGNoaWxkcmVuIGFyZSBmb3IgYWxsIHNjaG9vbHMg bm90IHN0dWRlbnRzIGluIHRoZW0u4oCdCgoKClRoZSBvcHBvc2l0ZSBvZiAnJ25hJycgaXMgJydq YSdhJycuIFRoaXMgaXMgYmFyZWx5IGV2ZXIgdXNlZCwgc2luY2UgaXQgaXMgZGVmYXVsdCBpbiBt b3N0IGJyaWRpLiBPbmUgZXhjZXB0aW9uIGlzIHJlcGVhdGVkIGJyaWRpIChuZXh0IGxlc3Nvbiku IFNvbWV0aW1lcyBpdCdzIHVzZWQgdG8gcHV0IG1vcmUgd2VpZ2h0IG9uIHRoZSB0cnV0aCBvZiB0 aGUgYnJpZGksIGFzIGluICcnbGEgLmJhYi4gamEnYSBtZWxiaScnID0gIkJvYiBpcyBpbmRlZWQg YmVhdXRpZnVsIi4KCgoKV2hpbGUgdGhlIG1lY2hhbmlzbSBvZiAnJ25hIGt1JycgcmVzZW1ibGVz IG5hdHVyYWwgbGFuZ3VhZ2UgbmVnYXRpb24sIGl0IGNhbiBiZSBkaWZmaWN1bHQgdG8ga2VlcCB0 cmFjayBvZiBleGFjdGx5IHdoYXQgaXMgbmVnYXRlZCBhbmQgaG93IHRoYXQgYWZmZWN0cyB0aGUg YnJpZGkuIEZvciB0aGF0IHJlYXNvbiwgdGhlIGNvbnN0cnVjdCAnJ25hIGt1JycgaXMgcmFyZWx5 IHNlZW4gYW55d2hlcmUgb3RoZXIgdGhhbiB0aGUgYmVnaW5uaW5nIG9mIGEgYnJpZGkuIEluIG1v c3QgY2FzZXMgd2hlcmUgbW9yZSBzcGVjaWZpYyBuZWdhdGlvbiBpcyBuZWVkZWQgcGVvcGxlIHJl c29ydCB0byBhIGRpZmZlcmVudCBtZXRob2QuIFRoaXMgbWV0aG9kLCBjYWxsZWQgc2NhbGFyIG5l Z2F0aW9uLCBpcyBhbiBlbGVnYW50IGFuZCBpbnR1aXRpdmUgdG9vbC4gVXNpbmcgaXQsIHlvdSBl ZmZlY3Qgb25seSB0aGUgc2VsYnJpLCBzaW5jZSB0aGUgd29yZHMgdXNlZCBpbiBzY2FsYXIgbmVn YXRpb24gYmluZHMgdG8gdGhlIHNlbGJyaSBtdWNoIGxpa2UgdGhlIHdvcmQgJydzZScnLgoKVGhl IG5hbWUg4oCcc2NhbGFyIG5lZ2F0aW9u4oCdIGlzIGRlcml2ZWQgZnJvbSB0aGUgZmFjdCB0aGF0 IHRoZSB3b3JkcyB3aGljaCBiaW5kIHRvIHRoZSBzZWxicmkgY2FuIGJlIHBsYWNlZCBhbG9uZyBh IHNjYWxlIGZyb20gYWZmaXJtYXRpb24gb3ZlciBuZWdhdGlvbiBhbmQgdG8gc3RhdGluZyB0aGF0 IHRoZSBvcHBvc2l0ZSBjYXNlIGlzIHRydWU6Cgp8fFdvcmR8TWVhbmluZwoKamUnYXzigJxJbmRl ZWTigJ07IHNjYWxhciBhZmZpcm1lcgoKbm8nZXzigJxOb3QgcmVhbGx54oCdLCBzY2FsYXIgbWlk cG9pbnQKCm5hJ2V84oCcTm9uLeKAnCwgc2NhbGFyIG5lZ2F0b3IKCnRvJ2V84oCcSWzigJ0sIOKA nERpcy3igJwsIOKAnE1pc+KAnSBlY3Q7IHNjYWxhciBvcHBvc2VyfHwKCgoKVGhlc2Ugd29yZHMg YXJlIG5vdCBuZWdhdG9ycyBpbiB0aGUgc2FtZSBzZW5zZSBhcyAnJ25hJycuIFRoZXkgZG8gbm90 IHN0YXRlIHRoYXQgYSBicmlkaSBpcyBmYWxzZSwgYnV0IG1ha2VzIGEgcG9zaXRpdmUgc3RhdGVt ZW50IHRoYXQgYSBicmlkaSBpcyB0cnVlIOKAkyB0aGUgc2FtZSBicmlkaSwgYnV0IHdpdGggYSBk aWZmZXJlbnQgc2VsYnJpLiBUaGlzIGRpc3RpbmN0aW9uIGlzIG1vc3RseSBhY2FkZW1pYywgdGhv dWdoLiBJZiwgZm9yIGV4YW1wbGUsIEkgc3RhdGUgdGhhdCAnJ21pIG5hJ2Ugc2UgbmVsY2knJyAi SSBhbSBub24tbGlrZWQiLCBJIGFjdHVhbGx5IHN0YXRlIHRoYXQgc29tZSBzZWxicmkgYXBwbGll cyB0byBtZSwgd2hpY2ggaXMgYWxzbyBvbiBhIHJlbGV2YW50IHNjYWxlIHdpdGggdGhlIHNlbGJy aSAnJ25lbGNpJycuIE1vc3Qgb2YgdGhlIHRpbWUsIHdlIGFzc3VtZSBhIHNjYWxlIHdoZXJlIHRo ZSBwb3NpdGlvbnMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSAobGlrZSBsb3ZlLWxpa2UtZGlzbGlr ZS1oYXRlKSwgc28gJydtaSBuYSdlIHNlIG5lbGNpJycgaW1wbGllcyAnJ21pIG5hIHNlIG5lbGNp JycKClRoZXJlZm9yZSwgdGhlIHdvcmRzICcnbm8nZScnIGFuZCAnJ3RvJ2UnJyBzaG91bGQgb25s eSBiZSB1c2VkIHdoZW4gdGhlIHNlbGJyaSBpcyBwbGFjZWQgb24gc29tZSBvYnZpb3VzIHNjYWxl OgoKJydsZSBtaSBzcGVuaSBjdSB0bydlIG1lbGJpJycg4oCTIOKAnU15IHNwb3VzZSBpcyB1Z2x5 4oCdIG1ha2VzIHNlbnNlLCBzaW5jZSB3ZSBpbW1lZGlhdGVseSBrbm93IHdoYXQgdGhlIG9wcG9z aXRlIG9mIGJlYXV0aWZ1bCBpcywgd2hpbGUKCicnbWkga2xhbWEgbGUgbWkgdG8nZSB6ZGFuaScn IOKAkyDigJ1JIGdvIHRvIG15IG9wcG9zaXRlIHRoaW5nIG9mIGhvbWXigJ0sIHdoaWxlIGdyYW1t YXRpY2FsLCBsZWF2ZXMgdGhlIGxpc3RlbmVyIGd1ZXNzaW5nIHdoYXQgdGhlIHNwZWFrZXIncyDi gJxvcHBvc2l0ZS1ob21l4oCdIGlzIGFuZCBzaG91bGQgYmUgYXZvaWRlZC4KCgoKU28gaG93IGNh biB5b3UgbmVnYXRlIG9ubHkgdGhlIHNlbGJyaSB3aXRob3V0IGFsc28gaW1wbHlpbmcgdGhhdCB0 aGUgc2VsYnJpIGlzIGNvcnJlY3QgYXQgc29tZSBvdGhlciBwb3NpdGlvbiBvbiBhIHRydXRoLXNj YWxlPyBTaW1wbGU6IE1vdmluZyB0aGUgJyduYSBrdScnIHRvIHRoZSByaWdodG1vc3QgZW5kIG9m IHRoZSBicmlkaSwgYXMgZGVtb25zdHJhdGVkIGEgZmV3IGxpbmVzIGFib3ZlLiBUaGlzIGZlYXR1 cmUgaXMgdmVyeSB1c2VmdWwuIFNvbWUgbG9qYmFuaXN0cyBwcmVmZXIgdG8gcHJlZml4IHRoZSBy YWZzaSAnJ25hcicnICh0aGUgcmFmc2kgb2YgJyduYScnKSBpbiBmcm9udCBvZiB0aGUgc2VsYnJp IC0gdGhpcyBoYXMgdGhlIHNhbWUgZWZmZWN0LCBidXQgSSBhZHZpc2UgYWdhaW5zdCBpdCwgYmVj YXVzZSBpdCBtYWtlcyBmYW1pbGlhciBicml2bGEgc2VlbSBhbGllbiwgYW5kIGl0J3MgaGFyZGVy IHRvIHVuZGVyc3RhbmQgd2hlbiBzcG9rZW4gY2FzdWFsbHkuCgpJZiBhIHNpdHVhdGlvbiBhcmlz ZXMgd2hlcmUgeW91IG5lZWQgdG8gbmVnYXRlIG9ubHkgdGhlIHNlbGJyaSwgYnV0IHdhbnQgaXQg dG8gYmUgY2xlYXIgYmVmb3JlIHRoZSBlbmQgb2YgdGhlIGJyaWRpLCB0aGUgZXhwZXJpbWVudGFs IGNtYXZvICcnbmEnZWknJywgd2hpY2ggZ3JhbW1hdGljYWxseSB3b3JrcyBsaWtlICcnbmEnZScn LCBjYW4gYmUgdXNlZAoKX18nJ25hJ2VpJydfXzogTmVnYXRlcyB0aGUgZm9sbG93aW5nIHNlbGJy aSBvbmx5CgoKClRyeSB0byB0cmFuc2xhdGUgdGhlc2Ugc2VudGVuY2VzOgoK4oCcTXkgc3BvdXNl IGlzIG5vdCBhIHdvbWFu4oCdIChtZWFuaW5nIHRoYXQgaGUgaXMgYSBtYWxlKQoKCgpBbnN3ZXI6 IH5+Z3JleSxncmV5OicnbGUgbWkgc3BlbmkgY3UgbmEnZSAvIHRvJ2UgbmlubXUnJy4gVXNpbmcg c2NhbGFyIG5lZ2F0aW9uIGhlcmUgaW1wbGllcyB0aGF0IGhlIGV4aXN0cywgd2hpY2ggbmEgZGlk IG5vdC5+fgoKCgrigJxNeSBzcG91c2UgaXMgbm90IHJlYWxseSBhIHdvbWFu4oCdCgoKCkFuc3dl cjogfn5ncmV5LGdyZXk6JydsZSBtaSBzcGVuaSBjdSBubydlIG5pbm11JycuIFRoZSBzY2FsZSBo ZXJlIGlzIHByZXN1bWVkIHRvIGJlIGZyb20gd29tYW4gdG8gbWFuLn5+CgoKCuKAnEkgZG9uJ3Qg c3BlYWsgZmFzdCBpbiBFbmdsaXNoIGJlY2F1c2UgSSdtIEdlcm1hbuKAnQoKCgpBbnN3ZXI6IH5+ Z3JleSxncmV5OicnbWkgbmEnZSBzdXRyYSB0YXZsYSBiYXUgbGUgZ2xpYmF1IHNlIGphJ2UgbGUg bnUgbWkgZG90Y28nJ35+CgoKCkFsc28sIG5vdGUgdGhhdCB3aGVuZXZlciB0aGVzZSB3b3JkcyBh cmUgdXNlZCB0b2dldGhlciB3aXRoIGEgdGFucnUsIHRoZXkgb25seSBhZmZlY3QgdGhlIGxlZnRt b3N0IHNlbGJyaS4gSW4gb3JkZXIgdG8gbWFrZSBpdCBiaW5kIHRvIHRoZSB3aG9sZSB0YW5ydSBv ciBwYXJ0cyBvZiB0aGUgdGFucnUsIHRoZSB1c3VhbCB0YW5ydS1ncm91cGluZyB3b3JkcyBjYW4g YmUgdXNlZC4KCgoKVHJ5IHRvIHNheSDigJxJIHNlbGwgc29tZXRoaW5nIHdoaWNoIGlzIG5vdCB5 ZWxsb3cgaG9tZXPigJ0gdXNpbmcgdGhlIHRhbnJ1ICcncGVseHUgemRhbmkgdmVjbnUnJwoKCgpB bnN3ZXI6IH5+Z3JleSxncmV5OicnbWkgbmEnZSBrZSBwZWx4dSB6ZGFuaSBrZSdlIHZlY251IG9y IG1pIG5hJ2UgcGVseHUgYm8gemRhbmkgdmVjbnUnJ35+CgoKCldoZW4gYXR0ZW1wdGluZyB0byBh bnN3ZXI6IOKAnElzIHRoZSBraW5nIG9mIHRoZSBVU0EgZmF0P+KAnSwgYWxsIG9mIHRoZXNlIG5l Z2F0aW9ucyBmYWlsLiBXaGlsZSBpdCdzIHRlY2huaWNhbGx5IGNvcnJlY3QgdG8gbmVnYXRlIGl0 IHdpdGggJyduYScnLCBzaW5jZSBpdCBtYWtlcyBubyBhc3N1bXB0aW9ucyBvZiB0aGF0IGlzIHRy dWUsIGl0J3MgbWlsZGx5IG1pc2xlYWRpbmcgc2luY2UgaXQgY291bGQgbGVhZCB0aGUgbGlzdGVu ZXIgdG8gYmVsaWV2ZSB0aGVyZSBpcyBhIGtpbmcgb2YgdGhlIFVTQS4gRm9yIHRoZXNlIHNjZW5h cmlvcywgdGhlcmUgaXMgYSBtZXRhbGluZ3Vpc3RpYyBuZWdhdG9yLCAnJ25hJ2knJy4KCicnbmEn aScnIE1ldGFsaW5ndWlzdGljIG5lZ2F0b3IuIFNvbWV0aGluZyBpcyB3cm9uZyB3aXRoIGFzc2ln bmluZyBhIHRydXRoIHZhbHVlIHRvIHRoZSBicmlkaS4KCkJlY2F1c2UgJyduYSdpJycgY2FuIGJl IG5lZWRlZCBhbnl3aGVyZSBpdCBoYXMgYmVlbiBnaXZlbiB0aGUgZ3JhbW1hciBvZiB0aGUgYXR0 aXR1ZGluYWxzLCB3aGljaCBtZWFucyBpdCBjYW4gYXBwZWFyIGFueXdoZXJlLCBhbmQgaXQgYXR0 YWNoZXMgdG8gdGhlIHByZXZpb3VzIHdvcmQgb3IgY29uc3RydWN0LgoKCgpfXycncGFsY2knJ19f IHgxIGlzIGV2aWwgYnkgc3RhbmRhcmQgeDIKCicnbGUgbmEnaSBwdSB0ZSB6dWt0ZSBiZSBsZSBz a2FtaSBjdSBwYWxjaScnIOKAkyDigJ1UaGUgc291Z2h0IGdvYWwge21pc3Rha2UhfSBvZiB0aGUg Y29tcHV0ZXIgd2FzIGV2aWzigJ0sIHByb2JhYmx5IHByb3Rlc3RzIHRoYXQgY29tcHV0ZXJzIGNh biBzZWVrIGEgZ29hbCB2b2xpdGlvbmFsbHkuCgoKClNpbmNlIHRoaXMgaXMgYSBsZXNzb24gb24g bmVnYXRpb24sIEkgYmVsaWV2ZSB0aGUgd29yZCAnJ25haScnIGRlc2VydmVzIGEgc2hvcnQgbWVu dGlvbi4gSXQgaXMgdXNlZCB0byBuZWdhdGUgbWlub3IgZ3JhbW1hdGljYWwgY29uc3RydWN0cywg YW5kIGNhbiBiZSB1c2VkIGluIGNvbWJpbmF0aW9uIHdpdGggYXR0aXR1ZGluYWxzLCBhbGwgc3Vt dGNpdGEgaW5jbHVkaW5nIHRlbnNlcywgdm9jYXRpdmVzIGFuZCBsb2dpY2FsIGNvbm5lY3RpdmVz LiBUaGUgcnVsZXMgZm9yIG5lZ2F0aW5nIHVzaW5nICcnbmFpJycgZGVwZW5kIG9uIHRoZSBjb25z dHJ1Y3QsIGFuZCBzbyB0aGUgZWZmZWN0IG9mICcnbmFpJycgaGFzIGJlZW4gZGlzY3Vzc2VkIHdo ZW4gbWVudGlvbmluZyB0aGUgY29uc3RydWN0IHRoZW1zZWx2ZXMuIFRoZSBleGNlcHRpb24gaXMg c3VtdGNpdGEsIHdoZXJlIHRoZSBydWxlcyBmb3IgbmVnYXRpb24gYXJlIG1vcmUgY29tcGxleCwg YW5kIHdpbGwgbm90IGJlIGRpc2N1c3NlZCBoZXJlLgoKX19Ob3RlOl9fIEF0IHRoZSB0aW1lIG9m IHdyaXRpbmcsIGl0IGhhcyBiZWVuIHByb3Bvc2VkIHRvIG1vdmUgJyduYWknJyB0byB0aGUgc2Vs bWEnbyBDQUksIHdoaWNoIG1lYW5zIHRoZSBzZW1hbnRpY3Mgb2YgJyduYWknJyBkZXBlbmQgb24g d2hpY2ggc2VsbWEnbyBpdCBmb2xsb3dzLiAKCgoKCgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29u IHR3ZW50eS1mb3VyIChicmlrYSdpL3Byby1icmlkaSBhbmQga28nYSkKCklmIEkgc2F5IHRoYXQg SSdtIGNhbGxlZCBNaWtoYWlsLCAnJ2xhIC5taWthaWwuIGNtZW5lIG1pJycsIGFuZCB5b3UgaGF2 ZSB0byBzYXkgdGhlIGV4YWN0IHNhbWUgYnJpZGksIHdoYXQgd291bGQgdGhhdCBiZT8gT25lIG9m IHRoZSBtYW55IGFuc3dlcnMgaXMgJydkbyBzZSBjbWVuZSBsYSAubWlrYWlsLicnLiBGb3IgdGhl IGJyaWRpIHRvIGJlIHRoZSBzYW1lLCB5b3UgaGF2ZSB0byByZXBsYWNlICcnbWknJyB3aXRoICcn ZG8nJywgYW5kIGl0IGRvZXNuJ3QgbWF0dGVyIHdoaWNoIGlmIHlvdSBzYXkgdGhlIGJyaWRpIHdp dGggdGhlICcnc2UnJy1jb252ZXJ0ZWQgc2VsYnJpIG9yIG5vdC4gVGhpcyBpcyBiZWNhdXNlIGEg YnJpZGkgaXMgbm90IHRoZSB3b3JkcyB3aGljaCBleHByZXNzIGl0IOKAkyBhIGJyaWRpIGlzIGFu IGlkZWEsIGFuIGFic3RyYWN0IHByb3Bvc2l0aW9uLiBUaGUgd29yZCAnJ21pJycgd2hlbiBJIHNh eSBpdCBhbmQgdGhlIHdvcmQgJydkbycnIHdoZW4geW91IGRvIHJlZmVycyB0byB0aGUgc2FtZSBz dW10aSwgc28gdGhlIHR3byBicmlkaSBhcmUgaWRlbnRpY2FsLgoKVGhpcyBsZXNzb24gaXMgb24g JydicmlrYSdpJycsIHRoZSBicmlkaSBlcXVpdmFsZW50IG9mIHN1bWthJ2kuIFRoZXkgYXJlIHdv cmQgd2hpY2ggcmVwcmVzZW50IGVudGlyZSBicmlkaS4gSGVyZSBpdCBpcyBpbXBvcnRhbnQgdG8g cmVtZW1iZXIgdGhhdCBhIGJyaWRpIGNvbnNpc3RzIG9ubHkgb2Ygc3VtdGkgYW5kIHRoZSB0aGlu Z3Mgd2hpY2ggY29udGFpbiB0aGUgc3VtdGksIHNlbGJyaSBhbmQgc3VtdGNpdGEuIE5laXRoZXIg YXR0aXR1ZGluYWxzLCBub3IgdGhlIHNlbWFudGljIGxheWVyIG9mICcna28nJyBvciAnJ21hJycg YXJlIHBhcnQgb2YgdGhlIGJyaWRpIHByb3BlciwgYW5kIHNvIHRoZXNlIGFyZSBub3QgcmVwcmVz ZW50ZWQgYnkgYSAnJ2JyaWthJ2knJy4KCgoKVGhlcmUgYXJlIG11Y2ggZmV3ZXIgJydicmlrYSdp JycgdGhhbiB0aGVyZSBhcmUgc3Vta2EnaS4gV2Ugd2lsbCBiZWdpbiBieSBnb2luZyB0aHJvdWdo IHNvbWUgb2YgdGhlIHdvcmRzIGluIHRoZSBtb3N0IHVzZWQgc2VyaWVzLCBjYWxsZWQgR09oQToK CldvcmQ6CURlZmluaXRpb246CgpfXycnZ28ndScnX18JUmVwZWF0cyByZW1vdGUgcGFzdCBicmlk aQoKX18nJ2dvJ2EnJ19fCVJlcGVhdHMgcGFzdCBicmlkaQoKX18nJ2dvJ2UnJ19fCVJlcGVhdHMg bmV4dC10by1sYXN0IGJyaWRpCgpfXycnZ28naScnX18JUmVwZWF0cyBsYXN0IG1lbnRpb25lZCBi cmlkaQoKX18nJ2dvJ28nJ19fCVJlcGVhdHMgZnV0dXJlIGJyaWRpCgpfXycnbmVpJydfXwlSZXBl YXRzIGN1cnJlbnQgYnJpZGkKCl9fJydubydhJydfXwlSZXBlYXRzIG91dGVyIGJyaWRpCgoKClNv bWUgb2YgdGhlIEdPaEEtJydicmlrYSdpJycuIE5vdGljZSB0aGUgZmFtaWxpYXIgaSwgYSwgdS1w YXR0ZXJuIGZvciBjbG9zZSBpbiBwYXN0LCBtZWRpdW0gaW4gcGFzdCBhbmQgZGlzdGFudCBpbiBw YXN0LgoKCgpUaGVzZSBhcmUgdmVyeSBtdWNoIGxpa2UgdGhlIHN1bWthJ2kgJydyaScnLCAnJ3Jh JycgYW5kICcncnUnJy4gVGhleSBjYW4gb25seSByZWZlciB0byBtYWluIGJyaWRpIG9mIGp1ZnJh LCBhbmQgbm90IHRob3NlIGNvbnRhaW5lZCBpbiByZWxhdGl2ZSBwaHJhc2VzIG9yIGRlc2NyaXB0 aW9uIHN1bXRpLiBUaGUgbWFpbiBicmlkaSBjYW4gY29udGFpbiBhIHJlbGF0aXZlIHBocmFzZSwg b2YgY291cnNlLCBidXQgYSAnJ2JyaWthJ2knJyBjYW4gbmV2ZXIgYmUgdXNlZCB0byByZWZlciB0 byBvbmx5IHRoZSByZWxhdGl2ZSBwaHJhc2UuCgpBIEdPaEEgYWN0cyBncmFtbWF0aWNhbGx5IG11 Y2ggbGlrZSBhIHNlbGJyaSwgYW55IGNvbnN0cnVjdCB3aGljaCBjYW4gYXBwbHkgdG8gc2VsYnJp IGNhbiBhbHNvIGFwcGx5IHRvIHRoZXNlLiBUaGUgcGxhY2Ugc3RydWN0dXJlIG9mIGEgR09oQSBp cyB0aGUgc2FtZSBhcyB0aGF0IG9mIHRoZSBicmlkaSBpdCByZXByZXNlbnRzLCBhbmQgdGhlIHN1 bXRpIGFyZSBieSBkZWZhdWx0IHRoZSBzYW1lIGFzIGluIHRoZSBicmlkaSBpdCByZXByZXNlbnRz LiBGaWxsaW5nIHRoZSBzdW10aSBwbGFjZXMgb2YgYSBHT2hBIGV4cGxpY2l0bHkgb3ZlcndyaXRl cyB0aGUgc3VtdGkgb2YgdGhlIGJyaWRpIGl0IHJlcHJlc2VudHMuIENvbnRyYXN0OgoKQTogJydt aSBjaXRrYSBsbyBwbGlzZScnIEI6ICcnZ28naScnIOKAkyDigJxJIGVhdCBhbiBhcHBsZS7igJ0g 4oCcWW91IGRvLuKAnSB3aXRoCgpBOiAnJ21pIGNpdGthIGxvIHBsaXNlJycgQjogJydtaSBnbydp Jycg4oCTIOKAnEkgZWF0IGFuIGFwcGxlLuKAnSDigJxJIGRvLCB0b28u4oCdCgoKClRoZXNlICcn YnJpa2EnaScnIGFyZSB2ZXJ5IHVzZWZ1bCB3aGVuIGFuc3dlcmluZyBhIHF1ZXN0aW9uIHdpdGgg Jyd4dScnOgoKQTogJyd4dSBkbyBuZWxjaSBsZSBtaSBzcGVuaScnIEI6ICcnZ28naSAvIG5hIGdv J2knJyDigJMg4oCcRG8geW91IGxpa2UgbXkgd2lmZT/igJ0g4oCcWWVzLi9Oby7igJ0uIFRoZSAn J3h1JycsIGJlaW5nIGFuIGF0dGl0dWRpbmFsLCBpcyBub3QgY29waWVkLgoKV2hlbiByZXBlYXRp bmcgYnJpZGkgbmVnYXRlZCBieSAnJ25hJycsIHRoYXQgaXM6IEJyaWRpIHdoZXJlICcnbmEnJyBp cyBwbGFjZWQgaW4gdGhlIHByZW5leCAobGVzc29uIHR3ZW50eS1zZXZlbiksIGluIHRoZSBiZWdp bm5pbmcgb2YgdGhlIGJyaWRpIG9yIHJpZ2h0IGJlZm9yZSB0aGUgc2VsYnJpLCB0aGUgcnVsZXMg Zm9yIGNvcHlpbmcgb3ZlciAnJ25hJycgYXJlIGRpZmZlcmVudCBmcm9tIHdoYXQgb25lIG1pZ2h0 IGV4cGVjdC4gQW55ICcnbmEnJyBpcyBjb3BpZWQgb3ZlciwgYnV0IGFueSBhZGRpdGlvbmFsICcn bmEnJyBpbiB0aGUgYnJpa2EnaSByZXBsYWNlcyB0aGUgZmlyc3QgbmEuIExldCBtZSBzaG93IHlv dSB3aXRoIGFuIGV4YW1wbGU6CgpBOiAnJ21pIG5hIGNpdGthIGxvIHBsaXNlJycKCkI6ICcnbWkg Z28naScnID0gJydtaSBuYSBjaXRrYSBsbyBwbGlzZScnCgpDOiAnJ21pIG5hIGdvJ2knJyA9ICcn bWkgbmEgY2l0a2EgbG8gcGxpc2UnJwoKRDogJydtaSBuYSBuYSBnbydpJycgPSAnJ21pIGNpdGth IGxvIHBsaXNlJycgPSAnJ21pIGphJ2EgZ28naScnCgoKCicnbmVpJycgYW5kICcnbm8nYScnIGFy ZSBub3QgdXNlZCBtdWNoLCBleGNlcHQgZm9yIOKAnG1pbmQtYnJlYWtpbmcgcHVycG9zZXPigJ0s IHdoaWNoIGlzIG1ha2luZyB1cCBicmlkaSB3aGljaCBhcmUgaGFyZCB0byBwYXJzZSwgbGlrZSAn J2RlaSBuYSBzZSBkdSd1IGxlIG5vJ2EgbGEnZSBsZSBuZWknJy4gU2luY2UgJyduZWknJyByZXBl YXRzIHRoZSBjdXJyZW50IG91dGVyIGJyaWRpLCBob3dldmVyLCAnJ2xlIG5laScnIGNhbiBiZSB1 c2VkIHRvIHJlZmVyIHRvIHRoZSB4MSBvZiB0aGUgY3VycmVudCBvdXRlciBicmlkaSwgJydsZSBz ZSBuZWknJyB0aGUgeDIgYW5kIHNvIG9uLgoKCgpXaGVuIHVzaW5nICcnYnJpa2EnaScnLCBvbmUg bXVzdCBhbHdheXMgYmUgd2FyeSBvZiBjb3B5aW5nIHNlbnRlbmNlcyB3aXRoIHRoZSBwZXJzb25h bCBzdW1rYSdpIGxpa2UgJydtaScnLCAnJ2RvJycsICcnbWEnYScnIGVjdCwgYW5kIGJlIGNhcmVm dWwgbm90IHRvIHJlcGVhdCB0aGVtIHdoZW4gdGhleSBhcmUgaW4gdGhlIHdyb25nIGNvbnRlY3Qs IGFzIHNob3duIGluIHRoZSB0d28gZXhhbXBsZXMgd2l0aCBhcHBsZSBlYXRpbmcgYWJvdmUuIElu c3RlYWQgb2YgcmVwbGFjaW5nIHRoZW0gb25lIGJ5IG9uZSwgdGhvdWdoLCB0aGUgd29yZCAnJ3Jh J28nJyBhbnl3aGVyZSBpbiB0aGUgYnJpZGkgdXBkYXRlcyB0aGUgcGVyc29uYWwgc3Vta2EnaSBz byB0aGF0IHRoZXkgYXBwbHkgZm9yIHRoZSBzcGVha2VyJ3MgcGVyc3BlY3RpdmU6CgpBOiAnJ21p IGRvIHByYW1pJycgQjogJydtaSBkbyBnbydpJycgaXMgZXF1aXZhbGVudCB0byBBOiAnJ21pIGRv IHByYW1pJycgQjogJydnbydpIHJhJ28nJwoKX18nJ3JhJ28nJ19fIFVwZGF0ZSBhbGwgcGVyc29u YWwgc3Vta2EnaSBzbyB0aGF0IHRoZXkgbm93IGZpdCB0aGUgc3BlYWtlcidzIHBvaW50IG9mIHZp ZXcuCgoKClRoZSBvbmx5IG90aGVyIHNlcmllcyBvZiBicmlrYSdpIGFyZSB2ZXJ5IGVhc3kgdG8g cmVtZW1iZXI6CgpfXycnYnJvZGEnJ19fCUJyaWRpIHZhcmlhYmxlIDEKCl9fJydicm9kZScnX18J QnJpZGkgdmFyaWFibGUgMgoKX18nJ2Jyb2RpJydfXwlCcmlkaSB2YXJpYWJsZSAzCgpfXycnYnJv ZG8nJ19fCUJyaWRpIHZhcmlhYmxlIDQKCl9fJydicm9kdScnX18JQnJpZGkgdmFyaWFibGUgNQoK X18nJ2NlaScnX18JRGVmaW5lIGJyaWRpIHZhcmlhYmxlIChub3QgYSBicmlrYSdpIGFuZCBub3Qg aW4gQlJPREEpCgoKCgoKVGhlIGZpcnN0IGZpdmUgYXJlIGp1c3QgZml2ZSBpbnN0YW5jZXMgb2Yg dGhlIHNhbWUgd29yZC4gVGhleSBjYW4gYmUgdXNlZCBhcyBzaG9ydGN1dHMgdG8gYnJpZGkuIEFm dGVyIHNheWluZyBhIGJyaWRpLCBzYXlpbmcgJydjZWkgYnJvZGEnJyBkZWZpbmVzIHRoYXQgYnJp ZGkgYXMgJydicm9kYScnLCBhbmQgJydicm9kYScnIGNhbiB0aGVuIGJlIHVzZWQgYXMgJydicmlr YSdpJycgZm9yIHRoYXQgYnJpZGkgaW4gdGhlIGZvbGxvd2luZyBjb252ZXJzYXRpb24uCgpXaGls ZSB3ZSdyZSBhdCBpdCwgdGhlcmUgaXMgYW4gYW5hbG9nb3VzIHNlcmllcyBvZiBzdW1rYSdpLCB3 aGljaCBwcm9iYWJseSBkb2VzIG5vdCBiZWxvbmcgaW4gdGhpcyBsZXNzb24sIGJ1dCBoZXJlIHRo ZXkgYXJlIGFueXdheToKCl9fJydrbydhJydfXwlTdW10aSB2YXJpYWJsZSAxCV9fJydmbydhJydf XwlTdW10aSB2YXJpYWJsZSA2CgpfXycna28nZScnX18JU3VtdGkgdmFyaWFibGUgMglfXycnZm8n ZScnX18JU3VtdGkgdmFyaWFibGUgNwoKX18nJ2tvJ2knJ19fCVN1bXRpIHZhcmlhYmxlIDMJX18n J2ZvJ2knJ19fCVN1bXRpIHZhcmlhYmxlIDgKCl9fJydrbydvJydfXwlTdW10aSB2YXJpYWJsZSA0 CV9fJydmbydvJydfXwlTdW10aSB2YXJpYWJsZSA5CgpfXycna28ndScnX18JU3VtdGkgdmFyaWFi bGUgNQlfXycnZm8ndScnX18JU3VtdGkgdmFyaWFibGUgMTAKCgoKYXMgd2VsbCBhcyB0aGUgJydj ZWknJy1lcXVpdmFsZW50IGZvciB0aGlzIHNlcmllczoKCl9fJydnb2knJ19fIERlZmluZSBzdW10 aSB2YXJpYWJsZQoKCgoKClRoZXNlIGFyZSB1c2VkIGxpa2UgdGhlICcnYnJpa2EnaScnLXNlcmll cy4gSnVzdCBwbGFjZSwgZm9yIGluc3RhbmNlLCAnJ2dvaSBrbyd1JycgYWZ0ZXIgYSBzdW10aSwg YW5kIHRoYXQgc3VtdGkgY2FuIGJlIHJlZmVycmVkIHRvIGJ5ICcna28ndScnLgoKCgpTdHJhbmdl bHksIHRoZXNlIHNlcmllcyBhcmUgcmFyZWx5IHVzZWQgZm9yIHRoZWlyIGludGVuZGVkIHB1cnBv c2UuIFRoZXkgYXJlLCBob3dldmVyLCB1c2VkIGFzIGFyYml0cmFyeSBzZWxicmkgYW5kIHN1bXRp IGluIGV4YW1wbGUgdGV4dHM6CgrigJxTbywgaXMgaXQgdHJ1ZSB0aGF0IHRoZSB0cnV0aCBjb25k aXRpb25zIG9mICcna28nYSBrbydlIGJyb2RhIG5hIGt1JycgYXJlIGFsd2F5cyB0aGUgc2FtZSBh cyAnJ25hIGt1IGtvJ2Ega28nZSBicm9kYScnP+KAnSDigJxOb3BlLCBpdCBpc24ndC7igJ0KCgoK CgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29uIHR3ZW50eS1maXZlIChsb2dpY2FsIGNvbm5lY3Rp dmVzKQoK4oCcSWYgeW91IGFzayBhIExvamJhbmlzdDog4oCcRG8geW91IHdhbnQgbWlsayBvciBz dWdhciBpbiB5b3VyIGNvZmZlZT/igJ0gc2hlJ2xsIGFuc3dlcjog4oCcQ29ycmVjdC7igJ3igJ0K CgoKV2l0dHkgYXMgdGhpcyBqb2tlIG1pZ2h0IGJlLCBpdCBpbGx1c3RyYXRlcyBhIHdlaXJkIHBy b3BlcnR5IG9mIHRoZSBFbmdsaXNoIHdheSBvZiBhc2tpbmcgdGhpcyBxdWVzdGlvbi4gSXQgaXMg cGhyYXNlZCBhcyBhIHRydWUvZmFsc2UgcXVlc3Rpb24sIGJ1dCBpdCByZWFsbHkgaXNuJ3QuIElu IExvamJhbiwgd2UgY2FuJ3QgaGF2ZSB0aGlzIGtpbmQgb2YgaW5jb25zaXN0ZW5jeSwgYW5kIHNv IHdlIG11c3QgZmluZCBhbm90aGVyIHdheSBvZiBhc2tpbmcgdGhpcyBraW5kIG9mIHF1ZXN0aW9u LiBJZiB5b3UgdGhpbmsgYWJvdXQgaXQsIGl0J3MgcHJldHR5IGhhcmQgdG8gZmluZCBhIGdvb2Qg YW5kIGVhc3kgd2F5LCBhbmQgaXQgc2VlbXMgTG9qYmFuIGhhdmUgcGlja2VkIGEgZ29vZCB3YXkg aW5zdGVhZCBvZiBhbiBlYXN5IHdheS4KCgoKVG8gZXhwbGFpbiBpdCwgbGV0IHVzIHRha2UgdHdv IHNlcGFyYXRlIGJyaWRpOiBCcmlkaSAxOiDigJxJIGxpa2UgbWlsayBpbiBteSBjb2ZmZWXigJ0g YW5kIGJyaWRpIDI6IOKAnEkgbGlrZSBzdWdhciBpbiBteSBjb2ZmZWXigJ0uIEJvdGggb2YgdGhl c2UgYnJpZGkgY2FuIGhhdmUgdGhlIHN0YXRlIHRydWUgb3IgZmFsc2UuIFRoaXMgeWllbGRzIGZv dXIgY29tYmluYXRpb25zIG9mIHdoaWNoIGJyaWRpIGlzL2FyZSB0cnVlOgoKQSApIDEgYW5kIDIJ QiApIDEgYnV0IG5vdCAyCgpDICkgMiBidXQgbm90IDEJRCApbmVpdGhlciAxIG5vciAyCgoKCkks IGluIGFjdHVhbGl0eSwgbGlrZSBtaWxrIGluIG15IGNvZmZlZSwgYW5kIEknbSBpbmRpZmZlcmVu dCBhcyB0byB3aGV0aGVyIHRoZXJlIGlzIHN1Z2FyIGluIGl0IG9yIG5vdC4gVGhlcmVmb3JlLCBt eSBwcmVmZXJlbmNlIGNhbiBiZSB3cml0dGVuIEEgKSB0cnVlIEIgKSB0cnVlIEMgKSBmYWxzZSBE ICkgZmFsc2UsIHNpbmNlIGJvdGggQSBhbmQgQiB5aWVsZHMgdHJ1ZSBmb3IgbWUsIGJ1dCBuZWl0 aGVyIEMgbm9yIEQgZG9lcy4gQSBtb3JlIGNvbXBhY3Qgd2F5IG9mIHdyaXRpbmcgbXkgY29mZmVl IHByZWZlcmVuY2VzIHdvdWxkIGJlIFRURkYgZm9yIHRydWUsIHRydWUsIGZhbHNlLCBmYWxzZS4g U2ltaWxhcmx5LCBhIHBlcnNvbiBsaWtpbmcgaGlzIGNvZmZlZSBibGFjayBhbmQgdW5zd2VldGVu ZWQgd291bGQgaGF2ZSBhIGNvZmZlZSBwcmVmZXJlbmNlIG9mIEZGRlQuIFRoaXMgY29tYml0YXRp b24gb2YgInRydWUiIGFuZCAiZmFsc2UiIGlzIGNhbGxlZCBhIOKAnHRydXRoIGZ1bmN0aW9u4oCd LCBpbiB0aGlzIGNhc2UgZm9yIHRoZSB0d28gc3RhdGVtZW50cyDigJxJIGxpa2UgbWlsayBpbiBt eSBjb2ZmZWXigJ0gYW5kIOKAnEkgbGlrZSBzdWdhciBpbiBteSBjb2ZmZWXigJ0uIE5vdGUgdGhh dCB0aGUgb3JkZXIgb2YgdGhlIHN0YXRlbWVudHMgbWF0dGVycy4KCkluIExvamJhbiwgd2Ugb3Bl cmF0ZSB3aXRoIDQgdHJ1dGggZnVuY3Rpb25zLCB3aGljaCB3ZSBjb25zaWRlciBmdW5kYW1lbnRh bDoKCkE6IFRUVEYgKGFuZC9vcikKCk86IFRGRlQgKGlmIGFuZCBvbmx5IGlmZikKClU6IFRURkYg KHdoZXRoZXIgb3Igbm90KQoKRTogVEZGRiAoYW5kKQoKCgpJbiB0aGlzIGV4YW1wbGUsIHRoZXkg d291bGQgdHJhbnNsYXRlIHRvIHNvbWV0aGluZyBsaWtlOiBBOuKAnUp1c3Qgbm90IGJsYWNrIGNv ZmZlZeKAnSwgTzog4oCcRWl0aGVyIGJvdGggbWlsayBvciBzdWdhciwgb3Igbm90aGluZyBmb3Ig bWUsIHBsZWFzZeKAnSwgVTog4oCcTWlsaywgYW5kIEkgZG9uJ3QgY2FyZSBhYm91dCBpZiB0aGVy ZSdzIHN1Z2FyIG9yIG5vdOKAnSBhbmQgRTog4oCcTWlsayBhbmQgc3VnYXIsIHBsZWFzZS7igJ0u CgoKCkluIExvamJhbiwgeW91IHBsYWNlIHRoZSB3b3JkIGZvciB0aGUgdHJ1dGggZnVuY3Rpb24g YmV0d2VlbiB0aGUgdHdvIGJyaWRpLCBzZWxicmkgb3Igc3VtdGkgaW4gcXVlc3Rpb24uIFRoYXQg d29yZCBpcyBjYWxsZWQgYSBsb2dpY2FsIGNvbm5lY3RpdmUuIFRoZSB3b3JkcyBmb3IgdHJ1dGgg ZnVuY3Rpb25zIGJldHdlZW4gc3VtdGkgKGFuZCBqdXN0IGZvciBzdW10aSEpIGFyZSAgJycuYScn ICcnLm8nJyAnJy51JycgYW5kICcnLmUnJy4gSG93IG5pY2UuIEZvciBpbnN0YW5jZTog4oCcSSBh bSBmcmllbmRzIHdpdGggYW4gQW1lcmljYW4gYW5kIGEgR2VybWFu4oCdIHdvdWxkIGJlICcnbG8g bWVya28gLmUgbG8gZG90Y28gY3UgcGVuZG8gbWknJy4KCkhvdyB3b3VsZCB5b3Ugc2F5OiDigJxJ IHNwZWFrIHRvIHlvdSBhbmQgbm8gb25lIGVsc2U/4oCdCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6 JydtaSB0YXZsYSBkbyAuZSBubyBkcmF0YScnIE5vdGUgdGhhdCB0aGlzIGFjdHVhbGx5IHN0YXRl cyB0aGF0IGl0J3MgdHJ1ZSB0aGF0ICJJIHNwZWFrIHRvIHlvdSIufn4KCgoKT25lIG1vcmU6IOKA nEkgbGlrZSBjaGVlc2Ugd2hldGhlciBvciBub3QgSSBsaWtlIGNvZmZlZeKAnQoKX18nJ2NrYWZp JydfXyB4MSBpcyBhIHF1YW50aXR5L2NvbnRhaW5zIGNvZmZlZSBmcm9tIHNvdXJjZS9vZiBncmFp biB4MgoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnbWkgbmVsY2kgbG8nZSBjaXJsYSAudSBsbydl IGNrYWZpJyd+fgoKCgpZb3UgY2FuIHBlcmhhcHMgZGVkdWNlIHRoYXQgdGhlcmUgYXJlIHNpeHRl ZW4gcG9zc2libGUgdHJ1dGggZnVuY3Rpb25zLCBzbyB3ZSBuZWVkIHRvIGxlYXJuIHR3ZWx2ZSBt b3JlIGluIG9yZGVyIHRvIGtub3cgdGhlbSBhbGwuIEVpZ2h0IG1vcmUgY2FuIGJlIG9idGFpbmVk IGJ5IG5lZ2F0aW5nIGVpdGhlciB0aGUgZmlyc3Qgc2VudGVuY2Ugb3IgdGhlIHNlY29uZC4gVGhl IGZpcnN0IGlzIG5lZ2F0ZWQgYnkgcHJlZml4aW5nIHRoZSB0cnV0aCBmdW5jdGlvbiB3b3JkIHdp dGggJyduYScnLCB0aGUgc2Vjb25kIGlzIG5lZ2F0ZWQgYnkgcGxhY2luZyAnJ25haScnIGFmdGVy IHRoZSB3b3JkLiBGb3IgZXhhbXBsZSwgc2luY2UgJycuZScnIHJlcHJlc2VudHMgVEZGRiwgJycu ZSBuYWknJyBtdXN0IGJlIOKAnGJvdGggMSBpcyB0cnVlIGFuZCAyIGlzIGZhbHNl4oCdLCB3aGlj aCBpcyBGVEZGLiBTaW1pbGFybHksICcnbmEgLmEnJyBpcyDigJxKdXN0IG5vdDogMSBpcyB0cnVl IGFuZCAyIGlzIGZhbHNl4oCdLCB3aGljaCBpcyBUVEZULiBEb2luZyB0aGlzIHR5cGUgb2YgY29u dmVyc2lvbiBpbiB0aGUgaGVhZCByZWFsLXRpbWUgaXMgdmVyeSwgdmVyeSBoYXJkLCBzbyBwZXJo YXBzIG9uZSBzaG91bGQgZm9jdXMgb24gbGVhcm5pbmcgaG93IGxvZ2ljYWwgY29ubmVjdGl2ZXMg d29yayBpbiBnZW5lcmFsLCBhbmQgdGhlbiBsZWFybiB0aGUgbG9naWNhbCBjb25uZWN0aXZlcyB0 aGVtc2VsdmVzIGJ5IGhlYXJ0LgoKCgpGb3VyIGZ1bmN0aW9ucyBjYW5ub3QgYmUgbWFkZSB0aGlz IHdheTogVFRUVCwgVEZURiwgRlRGVCBhbmQgRkZGRi4gVGhlIGZpcnN0IGFuZCB0aGUgbGFzdCBj YW5ub3QgYmUgbWFkZSB1c2luZyBsb2dpY2FsIGNvbm5lY3RpdmVzIGF0IGFsbCwgYnV0IHRoZXkg YXJlIGtpbmQgb2YgdXNlbGVzcyBhbnl3YXkuIFVzaW5nIGEgaHlwb3RoZXRpY2FsIGxvZ2ljYWwg Y29ubmVjdGl2ZSBpbiB0aGUgc2VudGVuY2Ug4oCcSSBsaWtlIG1pbGsgRkZGRiBzdWdhciBpbiBt eSBjb2ZmZWXigJ0gaXMgZXF1aXZhbGVudCB0byBzYXlpbmcg4oCcSSBkb24ndCBsaWtlIGNvZmZl ZeKAnSwganVzdCBtb3JlIGNvbXBsaWNhdGVkLiBUaGUgbGFzdCB0d28sIFRGVEYgYW5kIEZURlQs IGNhbiBiZSBtYWRlIGJ5IHByZWZpeGluZyAnJy51Jycgd2l0aCBnb29kIG9sJyAnJ3NlJycsIHdo aWNoIGp1c3QgcmV2ZXJ0cyB0aGUgdHdvIHN0YXRlbWVudHMuICcnc2UgLnUnJyAsIGZvciBpbnN0 YW5jZSBpcyDigJxCIHdoZXRoZXIgb3Igbm90IEHigJ0sIHdoaWNoIGlzIFRGVEYuIFRoZSBmaW5h bCBsaXN0IG9mIGFsbCBsb2dpY2FsIGNvbm5lY3RpdmVzIGNhbiBiZSBzZWVuIGJlbG93LgoKCgpU VFRUOiBDYW5ub3QgYmUgbWFkZQoKVFRURjogJycuYScnCgpUVEZUOiAnJy5hIG5haScnCgpUVEZG OiAnJy51JycgT1IgJycudSBuYWknJwoKVEZUVDogJyduYSAuYScnCgpURlRGOiAnJ3NlIC51JycK ClRGRlQ6ICcnLm8nJyBPUiAnJ25hIC5vIG5haScnCgpURkZGOiAnJy5lJycKCkZUVFQ6ICcnbmEg LmEgbmFpJycKCkZUVEY6ICcnbmEgLm8nJyBPUiAnJy5vIG5haScnCgpGVEZUOiAnJ3NlIC51IG5h aScnCgpGVEZGOiAnJy5lIG5haScnCgpGRlRUOiAnJ25hIC51JycgT1IgJyduYSAudSBuYWknJwoK RkZURjogJyduYSAuZScnCgpGRkZUOiAnJ25hIC5lIG5haScnCgpGRkZGOiBDYW5ub3QgYmUgbWFk ZQoKCgpMb2dpY2FsbHksIHNheWluZyBhIHNlbnRlbmNlIHdpdGggYSBsb2dpY2FsIGNvbm5lY3Rp dmUsIGxpa2UgZm9yIGluc3RhbmNlICcnbWkgbmVsY2kgbG8nZSBjaXJsYSAuZSBuYWkgbG8nZSBj a2FmaScnIGlzIGVxdWl2YWxlbnQgdG8gc2F5aW5nIHR3byBicmlkaSwgd2hpY2ggYXJlIGNvbm5l Y3RlZCB3aXRoIHRoZSBzYW1lIGxvZ2ljYWwgY29ubmVjdGl2ZTogJydtaSBuZWxjaSBsbydlIGNp cmxhIC5pIHtFIE5BSX0gbWkgbmVsY2kgbG8nZSBja2FmaScnLiBUaGlzIGlzIGhvdyB0aGUgZnVu Y3Rpb24gb2YgbG9naWNhbCBjb25uZWN0aXZlcyBpcyBkZWZpbmVkLiBXZSB3aWxsIGdldCB0byBo b3cgdG8gYXBwbHkgbG9naWNhbCBjb25uZWN0aXZlcyB0byBicmlkaSBpbiBhIG1vbWVudC4KCgoK QnkgcHV0dGluZyBhIOKAnGrigJ0gaW4gZnJvbnQgb2YgdGhlIGNvcmUgd29yZCBvZiBhIGxvZ2lj YWwgY29ubmVjdGl2ZSwgaXQgY29ubmVjdHMgdHdvIHNlbGJyaS4gQW4gZXhhbXBsZSBpcyAnJ21p IG5pbm11IG5hIGpvIG5hbm11Jycg4oCcSSBhbSBhIG1hbiBvciBhIHdvbWFuLCBidXQgbm90IGJv dGjigJ0KCl9fJyduaW5tdScnX18geDEgaXMgYSB3b21hbgoKCgpUaGlzIGlzIOKAnHRhbnJ1LWlu dGVybmFs4oCdLCBtZWFuaW5nIHRoYXQgaXQgbG9vc2VseSBiaW5kcyBzZWxicmkgdG9nZXRoZXIs IGV2ZW4gd2hlbiB0aGV5IGZvcm0gYSB0YW5ydTogJydsbyBkb3RjbyBqYSBtZXJrbyBwcmVudScn IG1lYW5zIOKAnGEgR2VybWFuIG9yIEFtZXJpY2FuIG1hbuKAnSwgYW5kIGlzIHBhcnNlZCAnJ2xv JycgKCcnZG90Y28gamEgbWVya28nJykgJydwcmVudScnLiBUaGlzIGJpbmRpbmcgaXMgc2xpZ2h0 bHkgc3Ryb25nZXIgdGhhdCBub3JtYWwgdGFucnUtZ3JvdXBpbmcgKHN0aWxsIHdlYWtlciB0aGFu IHNwZWNpZmljIGdyb3VwaW5nLXdvcmRzKSwgYW5kIGFzIHN1Y2gsICcnbG8gZG90Y28gamEgbWVy a28gbmlubXUgamEgbmFubXUnJyBpcyBwYXJzZWQgJydsbycnICgnJ2RvdGNvIGphIG1lcmtvJycp ICgnJ25pbm11IGphIG5hbm11JycpLiBUaGUgc2VsYnJpIGxvZ2ljYWwgY29ubmVjdGl2ZXMgY2Fu IGFsc28gYmUgYXR0YWNoZWQgdG8gJycuaScnIGluIG9yZGVyIHRvIGNvbm5lY3QgdHdvIHNlbnRl bmNlcyB0b2dldGhlcjogJydsYSAua2ltLiBjbWVuZSBtaSAuaSBqdSBtaSBuYW5tdScnIOKAnEkn bSBjYWxsZWQgS2ltLCB3aGV0aGVyIG9yIG5vdCBJJ20gYSBtYW7igJ0uIFRoZSBjb21iaW5hdGlv biAnJy5pIGplJycgc3RhdGVzIHRoYXQgYm90aCBzZW50ZW5jZXMgYXJlIHRydWUsIG11Y2ggbGlr ZSB3ZSB3b3VsZCBhc3N1bWUgaGFkIG5vIGxvZ2ljYWwgY29ubmVjdGl2ZSBiZWVuIHByZXNlbnQu CgoKClVuZmFpcmx5IGhhcmQgcXVlc3Rpb246IFVzaW5nIGxvZ2ljYWwgY29ubmVjdGl2ZXMsIGhv dyB3b3VsZCB5b3UgdHJhbnNsYXRlIOKAnElmIHlvdSdyZSBjYWxsZWQgQm9iLCB5b3UncmUgYSBt YW4u4oCdPwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnbGEgLmJhYi4gY21lbmUgZG8gLmkgbmEg amEgZG8gbmFubXUnJyBvciDigJxFaXRoZXIgeW91J3JlIG5vdCBuYW1lZCBCb2IgYW5kIGEgbWFu LCBvciB5b3UncmUgbm90IG5hbWVkIEJvYiBhbmQgbm90IGEgbWFuLCBvciB5b3UncmUgbmFtZWQg Qm9iIGFuZCBhIG1hbi4gQnV0IHlvdSBjYW4ndCBiZSBuYW1lZCBCb2IgYW5kIG5vdCBiZSBhIG1h bi7igJ0gVGhlIG9ubHkgY29tYmluYXRpb24gbm90IHBlcm1pdHRlZCBpczog4oCcWW91J3JlIGNh bGxlZCBCb2IsIGJ1dCBub3QgYSBtYW4u4oCdIFRoaXMgbXVzdCBtZWFuIHRoYXQsIGlmIGl0J3Mg dHJ1ZSB0aGF0IHlvdSdyZSBjYWxsZWQgQm9iLCB5b3UgbXVzdCBiZSBhIG1hbi5+fgoKCgpJZiB3 ZSB0cnkgdG8gdHJhbnNsYXRlIHRoZSBzYWQsIHNhZCBldmVudCBvZiDigJxJIGNyaWVkIGFuZCBn YXZlIGF3YXkgbXkgZG9n4oCdLCB3ZSBydW4gaW50byBhIHByb2JsZW0uCgpBdHRlbXB0aW5nIHRv IHNheSB0aGUgc2VudGVuY2Ugd2l0aCBhICcnamUnJyBiZXR3ZWVuIHRoZSBzZWxicmkg4oCcZ2F2 ZeKAnSBhbmQg4oCcY3JpZWTigJ0sIHdvdWxkIG1lYW4gdGhlIHNhbWUgd29yZCBmb3Igd29yZCwg YnV0IHVuZm9ydHVuYXRlbHkgbWVhbiB0aGF0IOKAnEkgY3JpZWQgdGhlIGRvZyBhbmQgZ2F2ZSBh d2F5IHRoZSBkb2figJ0sIGNmLiB0aGUgZGVmaW5pdGlvbiBvZiBsb2dpY2FsIGNvbm5lY3RpdmVz LiBPbmUgY2FuIGNyeSB0ZWFycyBvciBldmVuIGJsb29kLCBidXQgY3J5aW5nIGRvZ3MgaXMganVz dCBzaWxseS4KCkhvd2V2ZXIsIHdlIGNhbiBnZXQgYXJvdW5kIGJ5IHVzaW5nIGJyaWRpLXRhaWwg bG9naWNhbCBjb25uZWN0aXZlcy4gV2hhdCB0aGV5IGRvIGlzIHRoYXQgYW55IHByZXZpb3VzIHN1 bXRjaXRhIGFuZCBzdW10aSBhdHRhY2hlcyB0byBib3RoIHNlbGJyaSBib3VuZCBieSB0aGUgYnJp ZGktdGFpbCBsb2dpY2FsIGNvbm5lY3RpdmUsIGJ1dCBhbnkgZm9sbG93aW5nIHN1bXRpIG9yIHN1 bXRjaXRhIG9ubHkgYXBwbGllcyB0byB0aGUgbGFzdCBtZW50aW9uZWQ6IFRoZSBicmlkaSBzcGxp dHMgdXAgZnJvbSBvbmUgaGVhZCB0byB0d28gdGFpbHMsIHRvIHNwZWFrIG1ldGFwaG9yaWNhbGx5 LgoKVGhlIGZvcm0gb2YgYSBicmlkaS10YWlsIGxvZ2ljYWwgY29ubmVjdGl2ZSBpcyBnaSdWLCB3 aXRoIHRoZSBWIGZvciB0aGUgdm93ZWwgb2YgdGhlIHRydXRoIGZ1bmN0aW9uLgoKSG93IGNvdWxk IHlvdSBjb3JyZWN0bHkgdHJhbnNsYXRlIHRoZSBFbmdsaXNoIHNlbnRlbmNlIHRvIExvamJhbj8K CgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ21pIHB1IGtsYWt1IGdpJ2UgZHVuZGEgbGUgbWkgZ2Vy a3UnJ35+CgoKCldoYXQgZG9lcyAnJ3JvIHJlbW5hIGN1IHBhbGNpIGdpJ28genVrdGUgbG8gcGFs Y2knJyBtZWFuPwoKX18nJ3BhbGNpJydfXyB4MSBpcyBldmlsIGJ5IHN0YW5kYXJkIHgyCgoKCkFu c3dlcjogfn5ncmV5LGdyZXk64oCcUGVvcGxlIGFyZSBldmlsIGlmIGFuZCBvbmx5IGlmIHRoZXkg ZG8gZXZpbCB0aGluZ3Mu4oCdfn4KCgoKRnVydGhlcm1vcmUsIHRoZXJlIGlzIGEgZm9yZXRob3Vn aHQgYWxsLWJ1dCB0YW5ydSBpbnRlcm5hbCBncm91cCBvZiBjb25uZWN0ZXJzIG1hZGUgYnkgcHJl Zml4aW5nIOKAnGfigJ0gaW4gZnJvbnQgb2YgdGhlIHRydXRoIGZ1bmN0aW9uIHZvd2VsLiDigJxG b3JldGhvdWdodOKAnSBpbiB0aGlzIGNvbnRleHQgbWVhbnMgdGhhdCB0aGV5IG5lZWQgdG8gZ28g aW4gZnJvbnQgb2YgdGhlIHRoaW5ncyB0aGV5IGNvbm5lY3QsIGFuZCB0aHVzIHlvdSBuZWVkIHRv IHRoaW5rIGFib3V0IHRoZSBncmFtbWF0aWNhbCBzdHJ1Y3R1cmUgb2YgdGhlIHNlbnRlbmNlIGJl Zm9yZSBzYXlpbmcgaXQuIEFsbC1idXQgdGFucnUgaW50ZXJuYWwgbWVhbnMgdGhhdCBpdCBzZXJ2 ZXMgYm90aCBhcyBhIGNvbm5lY3RpdmUgYmV0d2VlbiBzdW10aSwgYnJpZGksIHNlbGJyaSBhbmQg YnJpZGktdGFpbHMsIGJ1dCBub3QgYmV0d2VlbiB0d28gc2VsYnJpIG9mIG9uZSB0YW5ydS4gTGV0 IG1lIHNob3cgeW91IGhvdyBpdCB3b3JrcywgcmV3cml0aW5nIHRoZSBMb2piYW4gc2VudGVuY2Ug YWJvdmU6CgonJ2dvIGxvIHJlbW5hIGN1IHBhbGNpIGdpIGxvIHJlbW5hIGN1IHp1a3RlIGxvIHBh bGNpJycKClRoZSBmaXJzdCBsb2dpY2FsIGNvbm5lY3RpdmUgaW4gdGhlc2Uga2luZHMgb2YgY29u c3RydWN0cyBhcmUgd2hhdCBjYXJyaWVzIHRoZSB2b3dlbCB3aGljaCBzaWduYWwgd2hhdCB0cnV0 aCBmdW5jdGlvbiBpcyBiZWluZyB1c2VkLiBUaGUgc2Vjb25kIGxvZ2ljYWwgY29ubmVjdGl2ZSBp cyBhbHdheXMgJydnaScnLCBhbmQgbGlrZSAnJy5pJycsIGl0IGhhcyBubyB0cnV0aCBmdW5jdGlv bi4gSXQgc2ltcGx5IHNlcnZlcyB0byBzZXBhcmF0ZSB0aGUgdHdvIHRlcm1zIGJlaW5nIGNvbm5l Y3RlZC4gSWYgeW91IHdhbnQgdG8gbmVnYXRlIHRoZSBmaXJzdCBvciBzZWNvbmQgc2VudGVuY2Us IGEgJyduYWknJyBpcyBzdWZmaXhlZCB0byBlaXRoZXIgdGhlIGZpcnN0IChmb3IgdGhlIGZpcnN0 IHNlbnRlbmNlKSBvciBzZWNvbmQgKGZvciB0aGUgc2Vjb25kIHNlbnRlbmNlKSBsb2dpY2FsIGNv bm5lY3RpdmUuCgpQcm92aWRlZCB0aGF0IHRoZSBjb25zdHJ1Y3RzIGFyZSB0ZXJtaW5hdGVkIHBy b3Blcmx5LCBpdCBoYXMgcmVtYXJrYWJsZSBmbGV4aWJpbGl0eSwgYXMgdGhlIGZvbGxvd2luZyBm ZXcgZXhhbXBsZXMgZGVtb25zdHJhdGU6CgonJ21pIGdvIGtsYW1hIGdpIGNhZHp1IHZhdSBsZSBt aSB6ZGFuaScnIOKAnEkgZ28sIGlmIGFuZCBvbmx5IGlmIHdhbGssIHRvIG15IGhvbWXigJ0gb3Ig 4oCcSSBjYW4gb25seSBnbyB0byBteSBob21lIGJ5IHdhbGtpbmcu4oCdIE5vdGljZSB0aGF0IHRo ZSAnJ3ZhdScnIGlzIG5lZWRlZCB0byBtYWtlIGxlIG1pIHpkYW5pIGFwcGx5IHRvIGJvdGggJydj YWR6dScnIGFuZCAnJ2tsYW1hJycuCgonJ3NlIGd1IGRvIGdpIG5haSBtaSBiYWpyYSBsZSBkbyBj a3VsZScnIOKAnFdoZXRoZXIgb3Igbm90IHlvdSwgdGhlbiBub3QgSSwgcnVuIHRvIHlvdXIgc2No b29s4oCdIG9yIOKAnEkgd29uJ3QgcnVuIHRvIHlvdXIgc2Nob29sIG5vIG1hdHRlciBpZiB5b3Ug ZG8gb3Igbm904oCdCgoKClRoZSB0YW5ydS1pbnRlcm5hbCBlcXVpdmFsZW50IG9mIGdWIGlzIGd1 J1YuIFRoZXNlIGFyZSBleGFjdGx5IHRoZSBzYW1lLCBleGNlcHQgdGhhdCB0aGV5IGFyZSBleGNs dXNpdmVseSB0YW5ydS1pbnRlcm5hbCwgYW5kIHRoYXQgdGhleSBiaW5kIGEgc2VsYnJpIHRvIHRo ZSAnJ2dpJycgdGlnaHRlciB0aGFuIG5vcm1hbCB0YW5ydS1ncm91cGluZywgYnV0IHdlYWtlciB0 aGFuIGV4cGxpY2l0IGJpbmRpbmctc3VtdGk6CgonJ2xhIHhhbnoua3J0LiBndSdlIG1lcmtvIGdp IGRvdGNvIG5hbm11JycgaXMgZXF1aXZhbGVudCB0bwoKJydsYSB4YW56LmtydC4gbWVya28gamUg ZG90Y28gbmFubXUnJwoKCgpBbmQgc28geW91J3ZlIHJlYWQgcGFnZSB1cCBhbmQgcGFnZSBkb3du IGp1c3QgdG8gZ2V0IHRoZSBuZWNlc3Nhcnkga25vd2xlZGdlIGluIG9yZGVyIHRvIGJlIGFibGUg dG8gbGVhcm4gaG93IHRvIGFzayDigJxXb3VsZCB5b3UgbGlrZSBtaWxrIG9yIHN1Z2FyIGluIHlv dXIgY29mZmVlP+KAnSBpbiBMb2piYW4uIFNpbXBseSBwbGFjZSBhIHF1ZXN0aW9uIGxvZ2ljYWwg Y29ubmVjdGl2ZSBpbnN0ZWFkIG9mIGFub3RoZXIgbG9naWNhbCBjb25uZWN0aXZlLCBhbmQgbGlr ZSAnJ21hJycsIGl0IGFza3MgdGhlIGxpc3RlbmVyIHRvIGZpbGwgaW4gYSBjb3JyZWN0IHJlc3Bv bnNlLiBVbmZvcnR1bmF0ZWx5LCB0aGVzZSBxdWVzdGlvbi1sb2dpY2FsIGNvbm5lY3RpdmVzIGRv bid0IGFsd2F5cyBtYXRjaCB0aGUgbW9ycGhvbG9naWNhbCBwYXR0ZXJuIG9mIHRoZSBsb2dpY2Fs IGNvbm5lY3RpdmVzIHRoZXkgYXNrIGZvcjoKCl9fJydqaScnX18gTG9naWNhbCBjb25uZWN0aXZl IHF1ZXN0aW9uOiBBc2tzIGZvciBhIHN1bXRpIGxvZ2ljYWwgY29ubmVjdGl2ZSAoQSkKCl9fJydq ZSdpJydfXyBMb2dpY2FsIGNvbm5lY3RpdmUgcXVlc3Rpb246IEFza3MgZm9yIGEgdGFucnUtaW50 ZXJuYWwgc2VsYnJpIGxvZ2ljYWwgY29ubmVjdGl2ZSAoSkEpCgpfXycnZ2knaScnX18gTG9naWNh bCBjb25uZWN0aXZlIHF1ZXN0aW9uOiBBc2tzIGZvciBhIGJyaWRpLXRhaWwgbG9naWNhbCBjb25u ZWN0aXZlIChHSWhBKQoKX18nJ2dlJ2knJ19fIExvZ2ljYWwgY29ubmVjdGl2ZSBxdWVzdGlvbjog QXNrcyBmb3IgYSBmb3JldGhvdWdodCBhbGwtYnV0IHRhbnJ1IGludGVybmFsIGxvZ2ljYWwgY29u bmVjdGl2ZSAoR0EpCgpfXycnZ3UnaScnX18gTG9naWNhbCBjb25uZWN0aXZlIHF1ZXN0aW9uOiBB c2tzIGZvciBhIGZvcmV0aG91Z2h0IG9ubHkgdGFucnUgaW50ZXJuYWwgbG9naWNhbCBjb25uZWN0 aXZlIChHVWhBKQoKCgpTby4uLiBob3cgd291bGQgeW91IGFzayBpZiB0aGUgcGVyc29ucyB3YW50 cyBtaWxrIG9yIHN1Z2FyIGluIGhlciBjb2ZmZWU/CgpfXycnbGFkcnUnJ19fIHgxIGlzL2NvbnRh aW5zIG1pbGsgZnJvbSBzb3VyY2UgeDIKCl9fJydzYWt0YScnX18geDEgaXMvY29udGFpbnMgc3Vn YXIgZnJvbSBzb3VyY2UgeDIgb2YgY29tcG9zaXRpb24geDMKCgoKUG9zc2libGUgYW5zd2VyOiB+ fmdyZXksZ3JleTonJ3Nha3RhIGplJ2kgbGFkcnUgbGUgZG8gY2thZmknJyB0aG91Z2ggSSBndWVz cyBzb21ldGhpbmcgbW9yZSBFbmdsaXNoIGFuZCBsZXNzIGVsZWdhbnQgY291bGQgYWxzbyBzdWZm aWNlIGxpa2UgJydkbyBkamljYSBsZW51IGxvIHNha3RhIGppIGxvIGxhZHJ1IGN1IG5lbnJpIGxl IGRvIGNrYWZpJyd+fgoKCgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29uIHR3ZW50eS1zaXggKG5v bi1sb2dpY2FsIGNvbm5lY3RpdmVzKQoKVGhlIHdvcmQgImxvZ2ljYWwiIGluICJsb2dpY2FsIGNv bm5lY3RpdmUiIHJlZmVycyB0byB0aGUgYXNzb2NpYXRpb24gYSBsb2dpY2FsIGNvbm5lY3RpdmUg aGFzIHdpdGggYSB0cnV0aCBmdW5jdGlvbi4gTm90IGFsbCB1c2VmdWwgY29ubmVjdGl2ZXMgY2Fu IGJlIGRlZmluZWQgdGhyb3VnaCBhIHRydXRoIGZ1bmN0aW9uLCBob3dldmVyLCBhbmQgc28gdGhl cmUgYXJlIG90aGVyIGNvbm5lY3RpdmVzIGJlc2lkZSB0aGUgbG9naWNhbCBvbmVzLgoKVGhlIG1l YW5pbmcgb2YgYSBsb2dpY2FsIGNvbm5lY3RpdmUgaXMgZGVmaW5lZCB0aGUgc2FtZSBhcyB0d28g ZGlmZmVyZW50IGJyaWRpIGNvbm5lY3RlZCB3aXRoIHRoYXQgbG9naWNhbCBjb25uZWN0aXZlLiBG b3IgaW5zdGFuY2UsICcnbWkgbml0Y3UgZG8gLmEgbGEgLmRqYW4uJycgaXMgZGVmaW5lZCB0byBi ZSBlcXVpdmFsZW50IHRvICcnbWkgbml0Y3UgZG8gLmkgamEgbWkgbml0Y3UgbGEgLmRqYW4uJycu IFRoaXMgZGVmaW5pdGlvbiBpcyB1c2VmdWwgdG8gYmVhciBpbiBtaW5kLCBiZWNhdXNlIGl0IGlt cGxpZXMgdGhhdCBzb21ldGltZXMsIHN1bXRpIGNhbm5vdCBiZSBjb25uZWN0ZWQgd2l0aCBsb2dp Y2FsIGNvbm5lY3RpdmVzIHdpdGhvdXQgY2hhbmluZyB0aGUgbWVhbmluZy4gQ29uc2lkZXIgdGhl IHNlbnRlbmNlOiAiSmFjayBhbmQgSm9lIHdyb3RlIHRoaXMgcGxheS4iIE9uZSBhdHRlbXB0IGF0 IGEgdHJhbnNsYXRpb24gd291bGQgYmU6ICcndGkgZHJhY2kgZmkgbGEgLmRqYWsuIGUgbGEgLmRq b3VzLicnCgpfXycnZHJhY2knJ19fIHgxIGlzIGEgZHJhbWEvcGxheSBhYm91dCB4MiBieSB3cml0 ZXIvZHJhbWF0aXN0IHgzIGZvciBhdWRpZW5jZSB4NCB3aXRoIGFjdG9ycyB4NQoKCgpUaGUgcHJv YmxlbSB3aXRoIHRoaXMgdHJhbnNsYXRpb24gaXMgdGhhdCBpdCBtZWFucyAnJ3RpIGRyYWNpIGxh IC5kamFrLiBpamUgdGkgZHJhY2kgbGEgLmRqb3VzLicnLCB3aGljaCBpcyBub3QgcmVhbGx5IHRy dWUuIE5laXRoZXIgSmFjayBub3IgSm9lIHdyb3RlIGl0LCB0aGV5IGRpZCBzbyB0b2dldGhlci4g V2hhdCB3ZSB3YW50IGhlcmUgaXMgb2YgY291cnNlIGEgbWFzcywgYW5kIHNvbWUgd2F5IHRvIGpv aW4gSmFjayBhbmQgSm9lIGluIG9uZSBtYXNzLiBUaGlzIGhhcyBsaXR0bGUgdG8gZG8gd2l0aCBh IHRydXRoIGZ1bmN0aW9uIHNvIHdlIG11c3QgdXNlIGEgbm9uLWxvZ2ljYWwgY29ubmVjdGl2ZSwg d2hpY2ggYXJlIG9mIHNlbG1hJ28gSk9JLiBXZSdsbCByZXR1cm4gdG8gdGhpcyBKYWNrIGFuZCBK b2UtcHJvYmxlbSBpbiBhIGxpdHRsZSAtIGZpcnN0OiBGb3VyIG9mIHRoZSBrbm93biBKT0k6CgoK Cnx8VGhlIExvamJhbiBjb25uZWN0aXZlOnwnJ2NlJyd8JydjZSdvJyd8Jydqb2knJ3wnJ2pvJ3Un JwoKSm9pbnMgc3VtdGkgYW5kIGZvcm1zIGE6fHNldHxzZXF1ZW5jZXxtYXNzfGdyb3VwIG9mIGlu ZGl2aWR1YWxzfHwKClRoZSBmdW5jdGlvbnMgb2YgdGhlc2Ugd29yZHMgYXJlIHNpbXBsZTogJyds bydpIHJlbW5hIGpvJ3UgbG8naSBnZXJrdScnIGNvbnNpZGVycyBib3RoIHRoZSBzZXQgb2YgaHVt YW5zIGFuZCB0aGUgc2V0IG9mIGRvZ3MgZGlzdHJpYnV0aXZlbHkgKGFzIGluZGl2aWR1YWxzKS4g UmVtZW1iZXIgZnJvbSBsZXNzb24gdHdlbnR5LXR3byAocXVhbnRpZmllcnMpIHRoYXQgImRpc3Ry aWJ1dGl2aXR5IiBtZWFucyB0aGF0IHdoYXQgaXMgdHJ1ZSBmb3IgdGhlIGdyb3VwIGlzIGFsc28g dHJ1ZSBmb3IgZWFjaCBvZiB0aGUgaW5kaXZpZHVhbHMgYWxvbmUuIFNpbWlsYXJseSAnJ2xvaSBy byBnaXNtdSBjZSdvIGxvaSBybyBsdWp2byBjZSdvIGxvaSBybyBmdSdpdmxhJycgaXMgYSBzZXF1 ZW5jZSBjb25zaXN0aW5nIG9mIHRoZSBtYXNzIG9mIGFsbCBnaXNtdSwgZm9sbG93ZWQgYnkgdGhl IG1hc3Mgb2YgYWxsIGx1anZvLCBmb2xsb3dlZCBieSB0aGUgbWFzcyBvZiBhbGwgZnUnaXZsYS4K CkFzIHdpdGggYWxsIG9mIHRoZSBKT0kgd2hpY2ggaGFzIGFuIGluaGVyZW50IG9yZGVyLCAnJ3Nl JycgbWF5IGJlIHB1dCBiZWZvcmUgJydjZSdvJycgdG8gaW52ZXJzZSB0aGUgb3JkZXI6ICJBICcn Y2UnbycnIEIiIGlzIHRoZSBzYW1lIGFzICJCIHNlICcnY2UnbycnIEEiLgoKCgpIb3cgY2FuIHlv dSBjb3JyZWN0bHkgdHJhbnNsYXRlICJKYWNrIGFuZCBKb2Ugd3JvdGUgdGhpcyBwbGF5Ij8KCkFu c3dlcjogfn5ncmV5LGdyZXk6ICcndGkgZHJhY2kgZmkgbGEgLmRqYWsuIGpvaSBsYSAuZGpvdXMu Jyd+fiAKCgoKVGhlIGNtYXZvIG9mIEpPSSBhcmUgdmVyeSBmbGV4aWJsZTogVGhleSBjYW4gYWN0 IGJvdGggYXMgc3VtdGkgY29ubmVjdGl2ZXMgYW5kIHRhbnJ1LWludGVybmFsIGNvbm5lY3RpdmVz LCBzbyB0aGV5IGNhbiBiZSB1c2VkIHRvIGNvbm5lY3Qgc3VtdGksIHNlbGJyaSBhbmQgYnJpZGku IFRoaXMgZmxleGliaWxpdHkgbWVhbnMgdGhhdCBvbmUgbXVzdCBiZSBjYXJlZnVsIHRvIHVzZSBm YSdvcm1hJ28gY29ycmVjdGx5IHdoZW4gdXNpbmcgYSBKT0kuIAoKV2hhdCBpcyB3cm9uZyB3aXRo IHRoZSBicmlkaSAnJ2xvIGRvdGNvIGpvJ3UgbWkgY3Uga2xhbWEgbGEgZG90Y28gZ3VnZGUnJz8K CkFuc3dlcjogfn5ncmV5LGdyZXk6ICcnam8ndScnIGlzIHB1dCBhZnRlciBhIHNlbGJyaSwgc28g aXQgZXhwZWN0cyBhIHNlbGJyaSBhZnRlciBpdCB0byBjb25uZWN0IHRvLCBidXQgbm9uZSBpcyBm b3VuZC4gSGFkICBhICcna3UnJyBiZWVuIHByZXNlbnQgYmVmb3JlIHRoZSBjb25uZWN0aXZlLCBp dCB3b3VsZCBoYXZlIGJlZW4gZ3JhbW1hdGljYWx+fgoKCgpJZiBzZXZlcmFsIEpPSSBhcmUgdXNl ZCwgJydibycnIGFuZC9vciAnJ2tlJycgbWF5IGJlIHVzZWQgdG8gb3ZlcnJpZGUgdGhlIHVzdWFs IGxlZnQtZ3JvdXBpbmc6ICcnbWkgam9pIGRvIGNlJ28gbGEgLmRqYWsuIGpvaSBibyBsYSAuZGpv dXMuIGN1IHB1J28gY2knZXJrZWkgZGFtYmEgbGVpIHh1bnJlJycgIk1lIGFuZCB5b3UsIGFuZCB0 aGVuIEphY2sgYW5kIEpvZSBhcmUgYWJvdXQgdGhlIHBsYXkgYWdhaW5zdCB0aGUgcmVkcyIuIENv bnRyYXN0IHdpdGggJydtaSBqb2kgZG8gY2UnbyBsYSAuZGphay4gam9pIGxhIC5kam91cy4gY3Ug cHUnbyBjaSdlcmtlaSBkYW1iYSBsZWkgeHVucmUnJyAtICJGaXJzdCBtZSBhbmQgeW91LCB0aGVu IEphY2sgd2lsbCB0b2dldGhlciB3aXRoIEpvZSBwbGF5IGFnYWluc3QgdGhlIHJlZHMiLiAKCkNv bm5lY3RpbmcgYnJpZGkgd2l0aCBKT0kgY2FuIG1ha2Ugc29tZSBpbnRlcmVzdGluZyBpbXBsaWNh dGlvbnMgb2YgdGhlIHJlbGF0aW9uc2hpcCBiZXR3ZWVuIHRoZSBicmlkaTogJydsYSAuZGphay4g bW9yc2kgcmknYSBsbyBudSByaSBkenVzb2kgLmkgam9pIGxlIGplbWphJ2EgcG8gcmkgY3UgYmVi bmEnJyAtICJKYWNrIGlzIGRlYWQgYmVjYXVzZSBoZSB3YXMgYSBpbmZhbnRyeSBzb2xkaWVyIGFu ZCBoaXMgZ2VuZXJhbCB3YXMgYW4gaWRpb3QiLCBpbXBseWluZyB0aGF0IHRoZXNlIHR3byBicmlk aSBtYXNzZWQgdG9nZXRoZXIgd2FzIHRoZSBwaHlzaWNhbCBjYXVzZSBvZiBoaXMgZGVhdGg6IEhh ZCBoZSBvbmx5IGJlZW4gaW4gYW4gYXJtb3JlZCB2ZWhpY2xlIG9yIHdpdGggYSBjb21wZXRlbnQg Y29tbWFuZGVyLCBoZSBtaWdodCBoYWQgc3Vydml2ZWQuCgpfXycnZHp1c29pJydfXyB4MSBpcyBh biBpbmZhbnRyeSBzb2xkaWVyIG9mIGFybXkgeDIKCl9fJydqZW1qYSdhJydfXyB4MSBpcyBhIGdl bmVyYWwgb2YgYXJteSB4MiBpbiBmdW5jdGlvbiB4MwoKX18nJ2JlYm5hJydfXyB4MSBpcyBmb29s aXNoL2lkaW90aWMgaW4gcHJvcGVydHkvYXNwZWN0IHgyCgoKCk5vbi1sb2dpY2FsIGNvbm5lY3Rp dmVzIG1heSBhbHNvIGJlIG5lZ2F0ZWQgd2l0aCAnJ25haScnLCBpbmRpY2F0aW5nIHRoYXQgc29t ZSBvdGhlciBjb25uZWN0aXZlIGlzIGFwcHJvcHJpYXRlOiAnJ2xvIGRqYWN1IGNlJ28gbmFpIC5l J28gbG8gbGFkcnUgY3UgY2F2eWZsZSBmaSBsZSBtaSB0Y2F0aScnIC0gIlBsZWFzZSBkb24ndCBw b3VyIGZpcnN0IHdhdGVyIHRoZW4gbWlsayBpbiBteSB0ZWEiLiBUaGlzLCBvZiBjb3Vyc2UsIHNh eXMgbm90aGluZyBhYm91dCB3aGljaCBjb25uZWN0aXZlIGlzIGFwcHJvcHJpYXRlIC0gb25lIG1p Z2h0IGd1ZXNzICcnc2UgY2UnbycnIChmaXJzdCBtaWxrLCB0aGVuIHdhdGVyKSwgb25seSB0byBm aW5kIG91dCB0aGF0ICcnLmUgbmFpJycgKG9ubHkgd2F0ZXIsIG5vIG1pbGsgYXQgYWxsKSB3YXMg dGhlIGNvcnJlY3Qgb25lLgoKX18nJ2NhdnlmbGUnJ19fIHgxLCBjb25zaXN0aW5nIG9mIHgyLCBm bG93cyBpbnRvIHgzIGZyb20geDQKCkp1c3QgbGlrZSBhIGxvZ2ljYWwgY29ubmVjdGl2ZSBpcyBh IHBsYXVzaWJsZSBuZWdhdGlvbiBvZiBhIG5vbi1sb2dpY2FsIGNvbm5lY3RpdmUsIGFuc3dlcnMg dG8gcXVlc3Rpb25zIG9mIHRoZSB0eXBlICcnamknJyBvciAnJ2plJ2knJyBjYW4gYmUgYm90aCBs b2dpY2FsIGFuZCBub24tbG9naWNhbDogQTogJydsYWRydSBqZSdpIHNha3RhIGxlIGRvIGNrYWZp JycgQjogJydzZSBjZSdvJycgKCJNaWxrIG9yIHN1Z2FyIGluIHlvdSBjb2ZmZWU/IiAiRmlyc3Qg dGhlIGxhdHRlciwgdGhlbiB0aGUgZm9ybWVyIikuIEluIHRoaXMgY2FzZSAnJ2NlJycgd291bGQg bWFrZSBubyBzZW5zZSBhdCBhbGwsIHNpbmNlIHNldHMgY2FuJ3QgYmUgY29udGFpbmVkIGluIGNv ZmZlZSwgYW5kICcnam9pJycgKGJvdGggbWl4ZWQgdG9nZXRoZXIpIHdvdWxkIG1lYW4gdGhlIHNh bWUgYXMgJydqbyd1JycgKGJvdGggb2YgdGhlbSksIHVubGVzcyB0aGUgcmVzcG9uZGFudCBwcmVm ZXJyZWQgdW5taXhlZCBzdWdhciBpbiBoaXMgY29mZmVlLgoKCgpUaGUgZmlmdGggSk9JIEkgcHJl c2VudCBoZXJlIGlzIGEgYml0IG9mIGFuIG9kZGJhbGw6CgpfXycnZmEndScnX18gTm9uLWxvZ2lj YWwgY29ubmVjdGl2ZTogVW5taXhlZCBvcmRlcmVkIGRpc3RyaWJ1dGlvbiAoQSBhbmQgQiwgcmVz cGVjdGl2ZWx5KQoKV2hlbiBvbmx5IG9uZSAnJ2ZhJ3UnJyBpcyBwbGFjZWQgd2l0aGluIGEgYnJp ZGkgKG9yIHNldmVyYWwgYnJpZGkgY29ubmVjdGVkIHRvZ2V0aGVyIHdpdGggY29ubmVjdG9ycyks ICcnZmEndScnIG1heSBiZSBhc3N1bWVkIHRvIGJlIGlkZW50aWNhbCB0byAnJ2pvJ3UnJy4gV2hl biBzZXZlcmFsICcnZmEndScnIGlzIHVzZWQgd2l0aGluIG9uZSBicmlkaSwgaG93ZXZlciwgdGhl IGNvbnN0cnVjdHMgYmVmb3JlICcnZmEndScnIGVhY2ggYXBwbHkgdG8gZWFjaCBvdGhlciwgYW5k IHRoZSBjb25zdHJ1Y3RzIGFmdGVyICcnZmEndScnIGVhY2ggYXBwbHkgdG8gZWFjaCBvdGhlci4g TGV0J3MgaGF2ZSBhbiBleGFtcGxlOgoKJydtaSBmYSd1IGRvIHJ1c2tvIGZhJ3Uga2Fkbm8nJyAt ICJZb3UgYW5kIEkgYXJlIFJ1c3NpYW4gYW5kIENhbmFkaWFuIiwgaW1wbHlpbmcgdGhhdCAnJ21p JycgZ29lcyB3aXRoICcncnVza28nJyBhbmQgJydkbycnIGdvZXMgd2l0aCAnJ2thZG5vJycsIGFu ZCBpbXBseWluZyBub3RoaW5nIGFib3V0IGFueSBvdGhlciBjb21iaW5hdGlvbi4gT2YgY291cnNl LCBpbiB0aGlzIGV4YW1wbGUsIGl0IHdvdWxkIGJlIG11Y2ggZWFzaWVyIHRvIHNheSAnJ21pIHJ1 c2tvIC5pIGRvIGthZG5vJycuCgoKClRoZXNlIGxhc3QgdGhyZWUgSk9JIGNvbm5lY3RzIHR3byBz ZXRzIHRvIG1ha2UgbmV3IHNldHM6CgpfXycnam8nZScnX18JQSB1bmlvbiBCCgpfXycna3UnYScn X18JQSBpbnRlcnNlY3Rpb24gQgoKX18nJ3BpJ3UgJydfXwlDcm9zcyBwcm9kdWN0IG9mIEEgYW5k IEIKCgoKVGhlc2UgYXJlIHByb2JhYmx5IG5vdCB2ZXJ5IHVzZWZ1bCBmb3IgdGhlIGF2ZXJhZ2Ug TG9qYmFuaXN0LCBidXQgSSBtaWdodCBhcyB3ZWxsIGluY2x1ZGUgdGhlbSBoZXJlLgoKVGhlIGZp cnN0IG9uZSwgJydqbydlJycsIG1ha2VzIGEgbmV3IHNldCBmcm9tIHR3byBzZXRzLiBUaGlzIG5l dyBzZXQgY29udGFpbnMgb25seSB0aG9zZSBtZW1iZXJzIHdoaWNoIGFyZSBpbiBib3RoIHNldHMu CgpBIHNldCBtYWRlIHdpdGggJydrdSdhJycgY29udGFpbnMgYWxsIHRoZSBtZW1iZXJzIG9mIHNl dCBBIGFuZCB0aG9zZSBvZiBzZXQgQi4gSWYgYW55dGhpbmcgaXMgYSBtZW1iZXIgb2YgYm90aCBz ZXRzLCB0aGV5IGFyZSBub3QgY291bnRlZCB0d2ljZS4KCicncGkndScnIGlzIGEgbGl0dGxlIG1v cmUgY29tcGxpY2F0ZWQuIEEgc2V0ICJBICcncGkndScnIEIiIGNvbnRhaW5zIGFsbCB0aGUgcG9z c2libGUgY29tYmluYXRpb25zIG9mICJhICcnY2UnbycnIGIiLCB3aGVyZSBhIGlzIGEgbWVtYmVy IG9mIEEgYW5kIGIgaXMgYSBtZW1iZXIgb2YgQi4gSXQgaXMgdGh1cyBhIHNldCBvZiBzZXF1ZW5j ZXMgb2YgbWVtYmVycy4gSWYsIGZvciBpbnN0YW5jZSwgc2V0IEEgY29udGFpbmVkIHRoZSBtZW1i ZXJzIHAgYW5kIHEsIGFuZCBzZXQgQiBjb250YWluZWQgbWVtYmVycyBmIGFuZCBnLCB0aGVuIEEg JydwaSd1JycgQiB3b3VsZCBiZSBhIHNldCBjb25zaXN0aW5nIG9mIHRoZSBmb3VyIG1lbWJlcnMg cCAnJ2NlJ28nJyBmLCBwICcnY2UnbycnIGcsIHEgJydjZSdvJycgZiBhbmQgcSAnJ2NlJ28nJyBn LgoKCgohISFFbmQgb2YgcGFydCB0d28KCigod2F2ZWxlc3NvbnNjb250aW51ZWR8UmV0dXJuIHRv IHRoZSB3YXZlbGVzc29ucyBwYXJ0IG9uZSkpCgpUaGlzIHBhcnQgY29uY2x1ZGVzIHRoZSB0dXRv cmlhbCB0byBvcmRpbmFyeSBMb2piYW4uIEluIHRoZSB0aGlyZCBwYXJ0LCBJIHdpbGwgZm9jdXMg b24gYWR2YW5jZWQgTG9qYmFuIC0gdGhlIHBhcnRzIHlvdSBkb24ndCBhY3R1YWxseSBuZWVkIHRv IGtub3cgdG8gc3BlYWsgdGhlIGxhbmd1YWdlLiBJIGRpc2NvdXJhZ2UgeW91IHRvIGJlZ2luIHJl YWRpbmcgdGhlIHRoaXJkIHBhcnQgdW50aWwgeW91IGZlZWwgY29tZm9ydGFibGUgZW5vdWdoIHdp dGggdGhlIGluZm9ybWF0aW9uIGluIHRoZSBmaXJzdCB0d28gcGFydHMgdG8gaG9sZCBhbiB3cml0 dGVuIGNvbnZlcnNhdGlvbiBpbiB0aGUgbGFuZ3VhZ2UuIElmIHlvdSBfX2RvX18gd2lzaCB0byBj b250aW51ZSwgeW91IGNhbiBwcmVzcyAoKHdhdmVsZXNzb25zY29udGludWVkcDN8dGhpcyBsaW5r KSkgdG8gZ28gdGhlcmUuCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KV2lraW5ldXJvdGljIG1haWxpbmcgbGlzdApXaWtpbmV1cm90aWNAbG9qYmFuLm9y ZwpodHRwOi8vbWFpbC5sb2piYW4ub3JnL21haWxtYW4vbGlzdGluZm8vd2lraW5ldXJvdGljCg==