Received: from localhost ([::1]:53594 helo=stodi.digitalkingdom.org) by stodi.digitalkingdom.org with esmtp (Exim 4.76) (envelope-from ) id 1Uie7L-0006Qo-Ik; Fri, 31 May 2013 22:12:39 -0700 Received: from 173-13-139-235-sfba.hfc.comcastbusiness.net ([173.13.139.235]:49824 helo=digitalkingdom.org) by stodi.digitalkingdom.org with smtp (Exim 4.76) (envelope-from ) id 1Uie7B-0006Qi-Ln for wikineurotic@lojban.org; Fri, 31 May 2013 22:12:37 -0700 Received: by digitalkingdom.org (sSMTP sendmail emulation); Fri, 31 May 2013 22:12:29 -0700 From: "Apache" Date: Fri, 31 May 2013 22:12:29 -0700 To: wikineurotic@lojban.org X-PHP-Originating-Script: 48:htmlMimeMail.php MIME-Version: 1.0 Message-ID: X-Spam-Score: 2.0 (++) X-Spam_score: 2.0 X-Spam_score_int: 20 X-Spam_bar: ++ X-Spam-Report: Spam detection software, running on the system "stodi.digitalkingdom.org", has identified this incoming email as possible spam. The original message has been attached to this so you can view it (if it isn't spam) or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: The page wavelessonscontinued was changed by gleki at 05:11 UTC You can view the page by following this link: http://www.lojban.org/tiki/wavelessonscontinued [...] Content analysis details: (2.0 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 URIBL_BLOCKED ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [URIs: wikipedia.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 Subject: [Wikineurotic] Wiki page wavelessonscontinued changed by gleki 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 VGhlIHBhZ2Ugd2F2ZWxlc3NvbnNjb250aW51ZWQgd2FzIGNoYW5nZWQgYnkgZ2xla2kgYXQgMDU6 MTEgVVRDCgpZb3UgY2FuIHZpZXcgdGhlIHBhZ2UgYnkgZm9sbG93aW5nIHRoaXMgbGluazoKIApo dHRwOi8vd3d3LmxvamJhbi5vcmcvdGlraS93YXZlbGVzc29uc2NvbnRpbnVlZAoKWW91IGNhbiB2 aWV3IGEgZGlmZiBiYWNrIHRvIHRoZSBwcmV2aW91cyB2ZXJzaW9uIGJ5IGZvbGxvd2luZyB0aGlz IGxpbms6IApodHRwOi8vd3d3LmxvamJhbi5vcmcvdGlraS90aWtpLXBhZ2VoaXN0b3J5LnBocD9w YWdlPXdhdmVsZXNzb25zY29udGludWVkJmNvbXBhcmU9MSZvbGR2ZXI9NzcmbmV3dmVyPTc4CgoK KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioKVGhlIGNoYW5nZXMgaW4gdGhpcyB2ZXJzaW9uIGZvbGxvdyBiZWxvdywgZm9sbG93ZWQgYWZ0 ZXIgYnkgdGhlIGN1cnJlbnQgZnVsbCBwYWdlIHRleHQuCioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCgoKKy0rLSstKy0rLSstKy0rLSst Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSsKQEAgLUxpbmVzOiA1OTUt NjAyIGNoYW5nZWQgdG8gK0xpbmVzOiA1OTUtNjA0IEBACistKy0rLSstKy0rLSstKy0rLSstKy0r LSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rCk5vdGUgdGhhdCB0aGVyZSBpcyAn J2t1JycgaW4gJydmaSdvIHp1a3RlIHtmZSd1fSBrdScnLiBXaXRob3V0IGl0IHRoZSBzdW10Y2l0 YSB3b3VsZCBoYXZlIGFic29yYmVkICcnbG8gc2thbWkge2t1fScnIGFuZCB3ZSBkb24ndCB3YW50 IHRoYXQuCgotIFRoaXMgc2VudGVuY2UgY2FuIGFsc28gYmUgcmVwaHJhc2VkIGluIHRoZSBmb2xs b3dpbmcgd2F5czoKKyBBbHRlcm5hdGl2ZWx5LCB3ZSBjYW4gc2F5OgoKJydmaSdvIHp1a3RlIHtm ZSd1fSB6bydlIGxvIHNrYW1pIHtrdX0gY3UgcGlsbm8gbG8gbG9qYm8ge2t1fXt2YXV9JycgCicn bG8gc2thbWkge2t1fSBjdSBmaSdvIHp1a3RlIHtmZSd1fSBwaWxubyBsbyBsb2pibyB7a3V9e3Zh dX0nJyAKKyAKKyByZXRhaW5pbmcgdGhlIG1lYW5pbmcuCgpXaGF0IGRvZXMgJydtaSBqaW1wZSBm aSBsYSBsb2piYW4gZmknbyBzZSB0YXZsYSB7ZmUndX0gbWknJyBzdGF0ZT8KCgoKCioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqClRoZSBu ZXcgcGFnZSBjb250ZW50IGZvbGxvd3MgYmVsb3cuCioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCgohTG9qYmFuIFdhdmUgTGVzc29ucyBD b250aW51ZWQ6CgohISFNYWRlIGJ5IGxhIGtsYWt1IHdpdGggaGVscCBmcm9tIHZhcmlvdXMgbG9q YmFuaXN0cy4gQmFzZWQgb24gdGhlIHdvcmsgb2YgbGEgLmtyaWJhY3IuIFNwcmluZyAyMDEzLgoK CgohIUxvamJhbiBMZXNzb25zIOKAkyBsZXNzb24gemVybzogRm9yZXdvcmQKClRoZXNlIGxlc3Nv bnMgYXJlIGFuIGF0dGVtcHQgdG8gZXhwYW5kIG9uIHRoZSBHb29nbGUgV2F2ZSBMZXNzb25zLCBh biBleGNlbGxlbnQgTG9qYmFuIHR1dG9yaWFsIGJ5IGtyaWJhY3IsIHhhbGJvLCBhbmQgb3RoZXJz LCB3aGljaCBzYWRseSBvbmx5IGNvdmVyZWQgdGhlIGZpcnN0IGZvdXIgY2hhcHRlcnMgaW4gdGhp cyB0dXRvcmlhbC4gSXQgaW1wbGVtZW50cyB0aGUgbmV3ZXN0IHJ1bGVzIG9mIExvamJhbiBub3Qg Y292ZXJlZCBieSBvbGRlciBtYXRlcmlhbHMgc3VjaCBhcyBXaGF0IGlzIExvamJhbj8gYW5kIExv amJhbiBmb3IgQmVnaW5uZXJzLgoKCgpJZiB5b3UgYXJlIG5ldyB0byBMb2piYW4sIEkgcmVjb21t ZW5kIGxpc3RlbmluZyB0byBhbnkgcmVjb3JkaW5ncyB5b3UgY2FuIGZpbmQgb2Ygc3Bva2VuIExv amJhbiBib3RoIGJlZm9yZSBhbmQgd2hpbGUgeW91IGFyZSB0YWtpbmcgdGhpcyB0dXRvcmlhbCwg aW4gb3JkZXIgdG8gbWFrZSB5b3Vyc2VsZiBmYW1pbGlhciB3aXRoIHRoZSBzb3VuZHMgYW5kIHdv cmRzIG9mIHRoZSBsYW5ndWFnZX50Y34sIHdoaWNoIHdpbGwgbm90IGJlIGV4cGxhaW5lZCBoZXJl fi90Y34uIEZ1cnRoZXJtb3JlLCB0cnkgdG8gc2F5IHRoZSB0aGluZ3MgeW91IHJlYWQgaW4gTG9q YmFuIGFjY2VudCBpZiBpdCdzIHJlYXNvbmFibHkgcHJhY3RpY2FsLiBUaGlzIGNhbiBoZWxwIHlv dXIgcHJvbnVuY2lhdGlvbiBhIGxvdC4KCgoKV2hlbiB0YWtpbmcgdGhpcyB0dXRvcmlhbCwgaXQn cyBiZXN0IHRvIHBhdXNlIGJldHdlZW4gbGVzc29ucyBpbiBvcmRlciB0byBpbnRlcm5hbGl6ZSB3 aGF0IHlvdSBoYXZlIGxlYXJudC4gSSBoYXZlIGF0dGVtcHRlZCB0byBidWlsZCB0aGVzZSBsZXNz b25zIGZyb20gdGhlIGJvdHRvbSB1cCBhbmQgZXhjbHVkZSBhbnkgd29yZHMgb3IgY29uY2VwdHMg dGhhdCBoYXZlIG5vdCBiZWVuIGV4cGxhaW5lZCBpbiBwcmV2aW91cyBsZXNzb25zLiBPbmNlIGV4 cGxhaW5lZCwgdGhleSBhcmUgdXNlZCBmcmVlbHkgdGhyb3VnaG91dCB0aGUgcmVtYWluZGVyIG9m IHRoZSB0dXRvcmlhbC4gSSB1cmdlIHJlYWRlcnMgbm90IHRvIHBhc3MgYW55IG1pc3VuZGVyc3Rv b2QgY29udGVudDsgaWYgeW91IGhhdmUgcXVlc3Rpb25zIG9yIGFyZSB1bmNlcnRhaW4gYWJvdXQg c29tZXRoaW5nLCBmZWVsIGZyZWUgdG8gYXNrIHRoZSBMb2piYW4gY29tbXVuaXR5LCB3aGljaCBj YW4gYmUgZm91bmQgaW4gI2xvamJhbiBvbiB0aGUgRnJlZW5vZGUgSVJDIG5ldHdvcmsuIFRoZXkg d2lsbCBiZSBoYXBweSB0byBoZWxwLgoKCgpJbiB0aGlzIHR1dG9yaWFsLCBMb2piYW4gdGV4dCBp cyB3cml0dGVuIGluICcnaXRhbGljcycnLiBMYXRlciwgd2hlbiB1c2VkIGFzIExvamJhbiBsb2Fu d29yZHMgaW4gRW5nbGlzaCBzZW50ZW5jZXMsIHRoZXkgYXJlIG5vdCBtYXJrZWQuIEFuc3dlcnMg dG8gZXhlcmNpc2VzIGFyZSBkaXNwbGF5ZWQgYXMgYSBncmV5IGJhci4gSGlnaGxpZ2h0IHRoZSB0 ZXh0IGluIG9yZGVyIHRvIHNlZSBpdC4KCgoKTGFzdGx5LCBJIGhhdmUgYXMgZmFyIGFzIHBvc3Np YmxlIGF0dGVtcHRlZCB0byB1c2UgdGhlIExvamJhbiB3b3JkcyBmb3IgZ3JhbW1hdGljYWwgY29u c3RydWN0czogJydzdW1rYSdpJycgaW5zdGVhZCBvZiBwcm8tc3VtdGksICcnc3VtdGNpdGEnJyBp bnN0ZWFkIG9mIG1vZGFsIGFuZCAnJ2p1ZnJhJycgaW5zdGVhZCBvZiB1dHRlcmFuY2UuIFRoaXMg aXMgYmVjYXVzZSBJIGZlZWwgdGhlIEVuZ2xpc2ggd29yZHMgYXJlIG9mdGVuIGVpdGhlciBhcmJp dHJhcnksIGluIHdoaWNoIGNhc2UgdGhleSBhcmUganVzdCBtb3JlIHdvcmRzIHRvIGxlYXJuLCBv ciBtaXNsZWFkaW5nLCBpbiB3aGljaCBjYXNlIHRoZXkgYXJlIHdvcnNlIHRoYW4gdXNlbGVzcy4g SW4gZWl0aGVyIGNhc2UsIGFzIGxvbmcgYXMgdGhlIHdvcmRzIGFyZSBzcGVjaWZpYyB0byB0aG9z ZSB3aG8gYXJlIGxlYXJuaW5nIExvamJhbiBhbnl3YXksIHRoZXJlIGlzIG5vIHJlYXNvbiBmb3Ig dGhlbSB0byBleGlzdCBhcyBzZXBhcmF0ZSBFbmdsaXNoIHdvcmRzLgoKCgohISFQcmVmYWNlLiBT b3VuZHMKClRoZSBmaXJzdCB0aGluZyB5b3UgbmVlZCB0byBkbyB3aGVuIHlvdSBsZWFybiBhIGZv cmVpZ24gbGFuZ3VhZ2UgaXMgdG8gYmVjb21lIGZhbWlsaWFyIHdpdGggdGhlIHNvdW5kcyBvZiB0 aGUgbGFuZ3VhZ2UgYW5kIGhvdyB0aGV5IGFyZSB3cml0dGVuLCBhbmQgdGhlIHNhbWUgZ29lcyBm b3IgTG9qYmFuLiBGb3J0dW5hdGVseSwgTG9qYmFuIHNvdW5kcyAoX19waG9uZW1lc19fKSBhcmUg ZmFpcmx5IHN0cmFpZ2h0Zm9yd2FyZC4KCgoKRm9yIG1vcmUgZGV0YWlscyBvbiB2b3dlbHMgYW5k IGNvbnNvbmFudHMgc291bmRzIHVzZWQgaW4gbG9qYmFuLCB5b3UgY2FuIGNsaWNrIG9uIHRoZSBs ZXR0ZXJzIGRlc2NyaWJlZC4gVGhleSBhcmUgcG9pbnRpbmcgdG8gd2lraXBlZGlhIGFydGljbGVz IHdoaWNoIGRlc2NyaWJlIHRoZSBzb3VuZCAnJ2FuZCB1c3VhbGx5IGhhdmUgYW4gYXVkaW8gcmVj b3JkIG9mIGl0JycuCgoKCiEhISFWb3dlbHMKClRoZXJlIGFyZSBzaXggdm93ZWxzIGluIExvamJh bi4KCgoKfHwnJ1todHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL09wZW5fZnJvbnRfdW5yb3Vu ZGVkX3Zvd2VsfGFdJycgfGFzIGluICJmX19hX190aGVyIiAobm90IGFzIGluICJoX19hX190IikK CicnW2h0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvQ2xvc2UtbWlkX2Zyb250X3Vucm91bmRl ZF92b3dlbHxlXScnIHxhcyBpbiAiZ19fZV9fdCIKCicnW2h0dHA6Ly9lbi53aWtpcGVkaWEub3Jn L3dpa2kvQ2xvc2VfZnJvbnRfdW5yb3VuZGVkX3Zvd2VsfGldJycgfGFzIGluICJtYWNoX19pX19u ZSIgb3IgKEl0YWxpYW4pICJ2X19pX19ubyIgKG5vdCBhcyBpbiAiaF9faV9fdCIpCgonJ1todHRw Oi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0Nsb3NlLW1pZF9iYWNrX3JvdW5kZWRfdm93ZWx8b10n JyB8YXMgaW4gImJfX29fX2xkIiBvciAibV9fb19fcmUiIOKAlCBub3QgYXMgaW4gInNfX29fXyIg KHRoaXMgc2hvdWxkIGJlIGEgJ3B1cmUnIHNvdW5kLikKCicnW2h0dHA6Ly9lbi53aWtpcGVkaWEu b3JnL3dpa2kvQ2xvc2VfYmFja19yb3VuZGVkX3Zvd2VsfHVdJycgfGFzIGluICJjX19vb19fbCIg KG5vdCBhcyBpbiAiYl9fdV9fdCIpIHx8CgpUaGVzZSBhcmUgcHJldHR5IG11Y2ggdGhlIHNhbWUg YXMgdm93ZWxzIGluIEl0YWxpYW4gb3IgU3BhbmlzaC4gVGhlIHNpeHRoIHZvd2VsLCAnJ1todHRw Oi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1NjaHdhfHldJycsIGlzIGNhbGxlZCBhIF9fc2Nod2Ff XyBpbiB0aGUgbGFuZ3VhZ2UgdHJhZGUsIGFuZCBpcyBwcm9ub3VuY2VkIGxpa2UgdGhlIGZpcnN0 IGFuZCBsYXN0ICJBIidzIGluICJBbWVyaWNhIiAodGhhdCdzIEVuZ2xpc2ggIkFtZXJpY2EiLCBu b3QgU3BhbmlzaC4pIEl0J3MgdGhlIHNvdW5kIHRoYXQgY29tZXMgb3V0IHdoZW4gdGhlIG1vdXRo IGlzIGNvbXBsZXRlbHkgcmVsYXhlZC4KClR3byB2b3dlbHMgdG9nZXRoZXIgYXJlIHByb25vdW5j ZWQgYXMgb25lIHNvdW5kIChfX2RpcGh0aG9uZ19fKS4gU29tZSBleGFtcGxlcyBhcmU6CgoKCnx8 JydhaScnIHxhcyBpbiAiaF9faWdoX18iCgonJ2F1JycgfGFzIGluICJoX19vd19fIgoKJydlaScn IHxhcyBpbiAiaF9fZXlfXyIKCicnb2knJyB8YXMgaW4gImJfX295X18iCgonJ2lhJycgfGxpa2Ug R2VybWFuIF9fIkphX18iCgonJ2llJycgfGxpa2UgX18ieWVhaF9fIgoKJydpdScnIHxsaWtlIF9f InlvdV9fIgoKJyd1YScnIHxhcyBpbiBfXyJ3YWFoIV9fIiwgb3IgRnJlbmNoICJxX191b2lfXyIK CicndWUnJyB8YXMgaW4gInFfX3VlX19zdGlvbiIKCicndW8nJyB8YXMgaW4gInFfX3VvX190ZSIK CicndWknJyB8bGlrZSBfXyJ3ZV9fIiwgb3IgRnJlbmNoIF9fIm91aV9fIiB8fAoKRG91YmxlIHZv d2VscyBhcmUgcmFyZS4gVGhlIG9ubHkgZXhhbXBsZXMgYXJlICcnaWknJywgd2hpY2ggaXMgcHJv bm91bmNlZCBsaWtlIEVuZ2xpc2ggInllIiAoYXMgaW4g4oCcT2ggY29tZSBhbGwgeWUgZmFpdGhm dWzigJ0pIG9yIENoaW5lc2UgInlpIiwgYW5kICcndXUnJywgcHJvbm91bmNlZCBsaWtlICJ3b28i LgoKISEhIUNvbnNvbmFudHMKCk1vc3QgTG9qYmFuIGNvbnNvbmFudHMgYXJlIHRoZSBzYW1lIGFz IEVuZ2xpc2gsIGJ1dCB0aGVyZSBhcmUgc29tZSBleGNlcHRpb25zOgoKCgp8fFtodHRwOi8vZW4u d2lraXBlZGlhLm9yZy93aWtpL1ZvaWNlZF92ZWxhcl9wbG9zaXZlfGddIHxhbHdheXMgJydnJycg YXMgaW4gJydfX2dfX3VtJycsIG5ldmVyICcnZycnIGFzIGluICcnX19nX19lbScnCgpbaHR0cHM6 Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvVm9pY2VsZXNzX3BhbGF0by1hbHZlb2xhcl9zaWJpbGFu dHxjXSB8JydzaCcnLCBhcyBpbiAnJ19fc2hfX2lwJycKCltodHRwOi8vZW4ud2lraXBlZGlhLm9y Zy93aWtpL1ZvaWNlZF9wYWxhdG8tYWx2ZW9sYXJfc2liaWxhbnR8al0gfGFzIGluICcnbWVhX19z X191cmUnJyBvciBGcmVuY2ggJydib25fX2pfX291cicnCgpbaHR0cHM6Ly9lbi53aWtpcGVkaWEu b3JnL3dpa2kvVm9pY2VsZXNzX3ZlbGFyX2ZyaWNhdGl2ZXx4XSB8YXMgaW4gR2VybWFuICcnQmFf X2NoJydfXywgU3BhbmlzaCAnJ19fSl9fb3NlJycgb3IgQXJhYmljICcnX19LaF9fYWxlZCcnIHx8 CgpUaGUgRW5nbGlzaCBzb3VuZHMgJydjaCcnIGFuZCAnJ2onJyBhcmUgd3JpdHRlbiBhcyB0YyBh bmQgZGouCgpMb2piYW4gZG9lc24ndCB1c2UgdGhlIGxldHRlcnMgJydIJycsICcnUScnIG9yICcn VycnLgoKCgpGb3IgY29tcHJlaGVuc2l2ZW5lc3Mgc2FrZSwgaGVyZSBpcyBhIGxpc3Qgb2YgdGhl IHJlbWFpbmluZyAoYW5kIGxlc3MgdHJpY2t5KSBsb2piYW4gY29uc29uYW50czoKCicnW2h0dHA6 Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvVm9pY2VkX2JpbGFiaWFsX3Bsb3NpdmV8Yl0nJywgJydb aHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9Wb2ljZWRfYWx2ZW9sYXJfcGxvc2l2ZXxkXScn LCAnJ1todHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1ZvaWNlbGVzc19sYWJpb2RlbnRhbF9m cmljYXRpdmV8Zl0nJywgJydbaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9Wb2ljZWxlc3Nf dmVsYXJfcGxvc2l2ZXxrXScnLCAnJ1todHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0FsdmVv bGFyX2xhdGVyYWxfYXBwcm94aW1hbnR8bF0nJywgJydbaHR0cDovL2VuLndpa2lwZWRpYS5vcmcv d2lraS9CaWxhYmlhbF9uYXNhbHxtXScnLCAnJ1todHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtp L0FsdmVvbGFyX25hc2FsfG5dJycsICcnW2h0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvVm9p Y2VsZXNzX2JpbGFiaWFsX3Bsb3NpdmV8cF0nJywgJydbaHR0cDovL2VuLndpa2lwZWRpYS5vcmcv d2lraS9BbHZlb2xhcl90YXB8cl0nJywgJydbaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9W b2ljZWxlc3NfYWx2ZW9sYXJfc2liaWxhbnQjVm9pY2VsZXNzX2FsdmVvbGFyX3NpYmlsYW50fHNd JycsICcnW2h0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1ZvaWNlbGVzc19hbHZlb2xhcl9w bG9zaXZlfHRdJycsICcnW2h0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1ZvaWNlZF9sYWJp b2RlbnRhbF9mcmljYXRpdmV8dl0nJywgJydbaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9W b2ljZWRfYWx2ZW9sYXJfc2liaWxhbnQjVm9pY2VkX2FsdmVvbGFyX3NpYmlsYW50fHpdJycKCgoK ISEhIVNwZWNpYWwgQ2hhcmFjdGVycwoKTG9qYmFuIGRvZXMgbm90IHJlcXVpcmUgYW55IHB1bmN0 dWF0aW9uLCBidXQgc29tZSBzcGVjaWFsIGNoYXJhY3RlcnMgKG5vcm1hbGx5IHVzZWQgaW4gcHVu Y3R1YXRpb24gaW4gb3RoZXIgbGFuZ3VhZ2VzKSBhZmZlY3QgdGhlIHdheSBMb2piYW4gaXMgcHJv bm91bmNlZC4KClRoZSBvbmx5IG9uZSBvZiB0aGVzZSBjaGFyYWN0ZXJzIHdoaWNoIGlzIG9ibGln YXRvcnkgaW4gTG9qYmFuIGlzIHRoZSBbaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9Wb2lj ZWxlc3NfZ2xvdHRhbF9mcmljYXRpdmV8YXBvc3Ryb3BoZV07IGluIGZhY3QgdGhlIGFwb3N0cm9w aGUgaXMgcmVnYXJkZWQgYXMgYSBwcm9wZXIgbGV0dGVyIG9mIExvamJhbi4gQW4gYXBvc3Ryb3Bo ZSBzZXBhcmF0ZXMgdHdvIHZvd2VscywgcHJldmVudGluZyB0aGVtIGZyb20gYmVpbmcgcHJvbm91 bmNlZCB0b2dldGhlciAoYXMgYSBfX2RpcGh0aG9uZ19fKTsgaXQgaXMgaXRzZWxmIHByb25vdW5j ZWQgbGlrZSBhbiAiaCIuIEZvciBleGFtcGxlLCAnJ3VpJycgaXMgbm9ybWFsbHkgcHJvbm91bmNl ZCAid2UiLCBidXQgJyd1J2knJyBpcyAib29oZWUiJy4KCkEgZnVsbCBzdG9wIChwZXJpb2QpIGlz IGEgc2hvcnQgcGF1c2UgdG8gc3RvcCB3b3JkcyBydW5uaW5nIGludG8gZWFjaCBvdGhlci4gVGhl IHJ1bGVzIG9mIExvamJhbiBtYWtlIGl0IGVhc2llciBmb3Igb25lIHdvcmQgdG8gcnVuIGludG8g YW5vdGhlciB3aGVuIHRoZSBzZWNvbmQgd29yZCBiZWdpbnMgd2l0aCBhIHZvd2VsOyBzbyBhbnkg d29yZCBzdGFydGluZyB3aXRoIGEgdm93ZWwgY29udmVudGlvbmFsbHkgaGFzIGEgZnVsbCBzdG9w IHBsYWNlZCBpbiBmcm9udCBvZiBpdC4KCkNvbW1hcyBhcmUgcmFyZSBpbiBMb2piYW4sIGJ1dCBj YW4gYmUgdXNlZCB0byBzdG9wIHR3byB2b3dlbHMgYmx1cnJpbmcgdG9nZXRoZXIgd2hlbiB5b3Ug ZG9uJ3Qgd2FudCB0byB1c2UgYW4gYXBvc3Ryb3BoZSAod2hpY2ggd291bGQgcHV0IGEgJydoJycg YmV0d2VlbiB0aGVtKS4gTm8gTG9qYmFuIHdvcmRzIGhhdmUgY29tbWFzLCBidXQgdGhleSdyZSBz b21ldGltZXMgdXNlZCBpbiB3cml0aW5nIG5vbi1Mb2piYW4gbmFtZXMsIGZvciBleGFtcGxlICcn LnBpLEVSLicnICgiUGllcnJlIiksIGFzIG9wcG9zZWQgdG8gJycucGllci4nJyAoIlAteWVyciIp LCAnJy5waS5FUi4nJyAoIlBlZTsgRWhyIiksIG9yICcnLnBpJ0VSLicnICgiUGloZXJyIikuCgpD YXBpdGFsIGxldHRlcnMgYXJlIG5vdCBub3JtYWxseSB1c2VkIGluIExvamJhbi4gV2UgdXNlIHRo ZW0gaW4gbm9uLUxvamJhbiB3b3JkcyAobGlrZSAiUGllcnJlIikgd2hlbiB0aGUgc3RyZXNzIG9m IGEgd29yZCBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgTG9qYmFuIG5vcm0uIFRoZSBub3JtIGlzIHRv IHB1dCB0aGUgc3RyZXNzIG9uIHRoZSBsYXN0LWJ1dC1vbmUgc3lsbGFibGU7IHNvLCBmb3IgZXhh bXBsZSwgJydrdWptaWtjZScnICJudXJzZSIgaXMgJydrdWpfX01JS19fY2UnJywgbm90ICcnX19L VUpfX21pa2NlJycuIFRoZSBuYW1lICJKdWxpZXR0ZSIgd291bGQgYmUgd3JpdHRlbiAnJy5ESlVs aSxldC4nJyBpZiBwcm9ub3VuY2VkIGluIGFuIEVuZ2xpc2ggd2F5LCBidXQgJycuanVMSUVULicn IGlmIHByb25vdW5jZWQgYXMgaW4gRnJlbmNoLgoKISEhIUFscGhhYmV0CgpJbiBtb3N0IGxhbmd1 YWdlIHRleHRib29rcywgeW91IGdldCB0aGUgYWxwaGFiZXQgb2YgdGhlIGxhbmd1YWdlIHRvZ2V0 aGVyIHdpdGggaXRzIHNvdW5kcy4gTGV0dGVycyAoJydsZXJmdScnKSB0dXJuIG91dCB0byBiZSBl dmVuIG1vcmUgaW1wb3J0YW50IHRoYW4gdXN1YWwgaW4gTG9qYmFuLCBzbyB3ZSBtaWdodCBhcyB3 ZWxsIGdvIHRocm91Z2ggdGhlaXIgbmFtZXMgcXVpY2tseS4KCkNvbnNvbmFudHMgYXJlIHN0cmFp Z2h0Zm9yd2FyZDogdGhlIG5hbWUgb2YgYSBjb25zb25hbnQgbGV0dGVyIGlzIHRoYXQgbGV0dGVy LCBwbHVzIHkuIFNvIHRoZSBjb25zb25hbnQgbGV0dGVycyBvZiBMb2piYW4sICJiLCBjLCBkLCBm LCBnIC4uLiIsIGFyZSBjYWxsZWQgJydieS4sIGN5LiwgZHkuLCBmeS4sIGd5LicnIC4uLiBpbiBM b2piYW4gKHVzaW5nIHRoZSBmdWxsIHN0b3AgYXMgd2UndmUganVzdCBkZXNjcmliZWQuKQoKVm93 ZWxzIF9fd291bGRfXyBiZSBjYWxsZWQgJycuYXksIC5leSwgLml5JycsIGJ1dCB0aGF0IHdvdWxk IGJlIHJhdGhlciBkaWZmaWN1bHQgdG8gcHJvbm91bmNlLiBJbnN0ZWFkLCB0aGV5IGFyZSBoYW5k bGVkIGJ5IGZvbGxvd2luZyB0aGUgdm93ZWwgc291bmQgd2l0aCB0aGUgd29yZCAnJ2J1JycsIHdo aWNoIGJhc2ljYWxseSBtZWFucyAnbGV0dGVyJy4gU28gdGhlIHZvd2VscyBvZiBMb2piYW4gYXJl OiAnJy5hYnUsIC5lYnUsIC5pYnUsIC5vYnUsIC51YnUsIHlidS4nJwoKVGhlIGFwb3N0cm9waGUg aXMgcmVnYXJkZWQgYXMgYSBwcm9wZXIgbGV0dGVyIGluIExvamJhbiwgYW5kIGlzIGNhbGxlZCAn Jy55J3kuJycgLiBUbyBzb21lIHBlb3BsZSwgdGhpcyBzb3VuZHMgbGlrZSBhIGNvdWdoOyB0byBv dGhlciwgbGlrZSAidWgtaHVoIiAod2hlbiBpdCBtZWFucyAnWWVzJyByYXRoZXIgdGhhbiAnTm8n LikKCkxvamJhbiBoYXMgd2F5cyBvZiByZWZlcmluZyB0byBtb3N0IGxldHRlcnMgeW91IGNhbiB0 aGluayBvZi4gSWYgeW91IGhhdmUgdGhlIHVyZ2UgdG8gc3BlbGwgb3V0IHlvdXIgbmFtZSBpbiBM b2piYW4gYW5kIGhhdmUgYW4gIkgiLCAiUSIsIG9yICJXIiB0byBkZWFsIHdpdGgsIHlvdSBjYW4g dXNlICcnLnkneS5idSwga3kuYnUnJyBhbmQgJyd2eS5idScnLiBTbyAiU2Nod2FyemVuZWdnZXIi IGlzIHNwZWx0IGluIExvamJhbiBhczoKCicnc3kuIGN5LiAueSd5YnUgdnlidS4gLmFidSByeS4g enkuIC5lYnUgbnkuIC5lYnUgZ3kuIGd5LiAuZWJ1IHJ5LicnCgpBbmQgc3BlbGxpbmcgInRoYXQi IGlzIGEgdGFzayB0aGUgZXF1YWwgb2YgYW55dGhpbmcgdGhlIFRlcm1pbmF0b3IgZXZlciBkaWQh CgoKCk5vdyBzcGVsbCB5b3VyIG5hbWUgaW4gTG9qYmFuIChvciBhdCBsZWFzdCBzb21ldGhpbmcg Y2xvc2UgZW5vdWdoIHRvIGl0IHRvIHVzZSB0aGUgdHdlbnR5LXNpeCBsZXR0ZXJzIG9mIEVuZ2xp c2ggd2UgaGF2ZSBsZWFybmVkLCBhbmQgdGhlIGFwb3N0cm9waGUpLgoKCgohISEhICdDb3JyZWN0 JyBwcm9udW5jaWF0aW9uCgpZb3UgZG9uJ3QgaGF2ZSB0byBiZSB2ZXJ5IHByZWNpc2UgYWJvdXQg TG9qYmFuIHByb251bmNpYXRpb24sIGJlY2F1c2UgdGhlIHBob25lbWVzIGFyZSBkaXN0cmlidXRl ZCBzbyB0aGF0IGl0IGlzIGhhcmQgdG8gbWlzdGFrZSBvbmUgc291bmQgZm9yIGFub3RoZXIuIFRo aXMgbWVhbnMgdGhhdCByYXRoZXIgdGhhbiBvbmUgJ2NvcnJlY3QnIHByb251bmNpYXRpb24sIHRo ZXJlIGlzIGEgcmFuZ2Ugb2YgYWNjZXB0YWJsZSBwcm9udW5jaWF0aW9u4oCUdGhlIGdlbmVyYWwg cHJpbmNpcGxlIGlzIHRoYXQgYW55dGhpbmcgaXMgT0sgc28gbG9uZyBhcyBpdCBkb2Vzbid0IHNv dW5kIHRvbyBtdWNoIGxpa2Ugc29tZXRoaW5nIGVsc2UuIEZvciBleGFtcGxlLCBMb2piYW4gciBj YW4gYmUgcHJvbm91bmNlZCBsaWtlIHRoZSAiciIgaW4gRW5nbGlzaCwgU2NvdHRpc2ggb3IgRnJl bmNoLgoKVHdvIHRoaW5ncyB0byBiZSBjYXJlZnVsIG9mLCB0aG91Z2gsIGFyZSBwcm9ub3VuY2lu ZyBMb2piYW4gJydpJycgYW5kICcndScnIGxpa2UgU3RhbmRhcmQgQnJpdGlzaCBFbmdsaXNoICJo aXQiIGFuZCAiYnV0IiAoTm9ydGhlcm4gRW5nbGlzaCAiYnV0IiBpcyBmaW5lISkuIFRoaXMgaXMg YmVjYXVzZSBub24tTG9qYmFuIHZvd2VscywgcGFydGljdWxhcmx5IHRoZXNlIHR3bywgYXJlIHVz ZWQgdG8gc2VwYXJhdGUgY29uc29uYW50cyBieSBwZW9wbGUgd2hvIGZpbmQgdGhlbSBoYXJkIHRv IHNheS4gRm9yIGV4YW1wbGUsIGlmIHlvdSBoYXZlIHByb2JsZW1zIHNwaXR0aW5nIG91dCB0aGUg Jyd6ZCcnIGluICcnemRhbmknJyAoaG91c2UpLCB5b3UgY2FuIHNheSB6yapkYW5p4oCUd2hlcmUg dGhlICLJqiIgaXMgdmVyeSBzaG9ydCwgYnV0IHRoZSBmaW5hbCAiaSIgaGFzIHRvIGJlIGxvbmcu CgohISEhTG9qYmFuIE5hbWVzIChjbWV2bGEpCgpXYXRjaCBhbnkgZmlsbSB3aGVyZSBwZW9wbGUg ZG9uJ3Qga25vdyBlYWNoIG90aGVyJ3MgbGFuZ3VhZ2UuIFRoZXkgc3RhcnQgb2ZmIHNheWluZyB0 aGluZ3MgbGlrZSDigJxNZSBUYXJ6YW4s4oCdIHdoaWNoIGlzIGFzIGdvb2QgYSBwbGFjZSB0byBz dGFydCBsZWFybmluZyBMb2piYW4gYXMgYW55LiBTbyBoZXJlIHdlIGdvLgoKX18nJ21pJ2UgLnJv YmluLicnX18KCiJJLWFtLW5hbWVkIFJvYmluIgoKIkknbSBSb2JpbiIKCicnbWknZScnIGlzIHJl bGF0ZWQgdG8gJydtaScnLCB3aGljaCBpcyAnSScsICdtZScgYW5kIHNvIG9uLiBJdCdzIGEgZ29v ZCBleGFtcGxlIG9mIHRoZSBhcG9zdHJvcGhlIHNlcGFyYXRpbmcgdHdvIHZvd2VscywgYW5kIHNv dW5kcyBhIGJpdCBsaWtlICJtZSBoZWgiLgoKVGhpcyBndXkgUm9iaW4gaXMgbHVja3kgYmVjYXVz ZSBoaXMgbmFtZSBnb2VzIGRpcmVjdGx5IGludG8gTG9qYmFuIHdpdGhvdXQgYW55IGNoYW5nZXMu IEhvd2V2ZXIsIHRoZXJlIGFyZSBzb21lIHJ1bGVzIGZvciBMb2piYW4gbmFtZXMgd2hpY2ggbWVh biB0aGF0IHNvbWUgbmFtZXMgaGF2ZSB0byBiZSAnTG9qYmFuaXNlZCcuIFRoaXMgbWF5IHNvdW5k IHN0cmFuZ2XigJRhZnRlciBhbGwsIGEgbmFtZSBpcyBhIG5hbWXigJRidXQgaW4gZmFjdCBhbGwg bGFuZ3VhZ2VzIGRvIHRoaXMgdG8gc29tZSBleHRlbnQuIEZvciBleGFtcGxlLCBFbmdsaXNoIHNw ZWFrZXJzIHRlbmQgdG8gcHJvbm91bmNlICJKb3NlIiBzb21ldGhpbmcgbGlrZSAiSG96YXkiLCBh bmQgIk1hcmdhcmV0IiBpbiBDaGluZXNlIGlzICJNYWdlbGl0YSIuIFNvbWUgc291bmRzIGp1c3Qg ZG9uJ3QgZXhpc3QgaW4gc29tZSBsYW5ndWFnZXMsIHNvIHRoZSBmaXJzdCB0aGluZyB5b3UgbmVl ZCB0byBkbyBpcyByZXdyaXRlIHRoZSBuYW1lIHNvIHRoYXQgaXQgb25seSBjb250YWlucyBMb2pi YW4gc291bmRzLCBhbmQgaXMgc3BlbHQgaW4gYSBMb2piYW4gd2F5LgoKX19Ob3RlOiBfX1RoZSBj YXRjaCBoZXJlIGlzLCB3aGF0IHZlcnNpb24gb2YgdGhlIHNvdW5kcyB3aWxsIHlvdSBiZSB1c2lu Zz8gRm9yIEVuZ2xpc2ggaW4gcGFydGljdWxhciwgQnJpdGlzaCBhbmQgQW1lcmljYW4gdm93ZWxz IGNhbiBiZSBxdWl0ZSBkaWZmZXJlbnQuIFRoZSBCcml0aXNoIHZlcnNpb24gb2YgIlJvYmluIiBp cyByZWFzb25hYmx5IGFwcHJveGltYXRlZCBieSAnJy5yb2Jpbi4nJzsgYnV0IHRoZSBBbWVyaWNh biB2ZXJzaW9uIGlzIGNsb3NlciB0byAnJy5yYWJ5bi4nJyBvciAnJy5yYWIsbi4nJy4gQW5kIHdp dGhpbiBBbWVyaWNhIGFuZCBCcml0YWluLCB0aGVyZSBpcyBhbHNvIGEgZ29vZCBkZWFsIG9mIHZh cmlhdGlvbi4gU28geW91IHNob3VsZCB0YWtlIHRoZSB0cmFuc2xpdGVyYXRpb25zIGdpdmVuIGJl bG93IHdpdGggYSBncmFpbiBvZiBzYWx0LgoKTGV0J3MgdGFrZSB0aGUgRW5nbGlzaCBuYW1lICJT dXNhbiIuIFRoZSB0d28gJydzJycncyBhcmUgcHJvbm91bmNlZCBkaWZmZXJlbnRseeKAlHRoZSBz ZWNvbmQgb25lIGlzIGFjdHVhbGx5IGEgInoi4oCUYW5kIHRoZSAiYSIgaXMgbm90IHJlYWxseSBh biAiYSIgc291bmQsIGl0J3MgdGhlICdzY2h3YScgd2UganVzdCBtZW50aW9uZWQuIFNvICJTdXNh biIgY29tZXMgb3V0IGluIExvamJhbiBhcyAnJy5zdXp5bi4nJy4KCllvdSBtYXkgaGF2ZSBub3Rp Y2VkIHR3byBleHRyYSBmdWxsIHN0b3BzIChwZXJpb2RzKSB0aGVyZS4gVGhpcyBpcyBuZWNlc3Nh cnkgYmVjYXVzZSBpZiB5b3UgZGlkbid0IHBhdXNlLCB5b3UgbWlnaHQgbm90IGtub3cgd2hlcmUg dGhlIHByZXZpb3VzIHdvcmQgZW5kZWQgYW5kIHRoZSBuZXh0IHdvcmQgYmVnYW4uCgoKCllvdSBz aG91bGQgYWxzbyBwdXQgYSBmdWxsIHN0b3AgaW4gYmV0d2VlbiBhIHBlcnNvbidzIGZpcnN0IGFu ZCBsYXN0IG5hbWVzICh0aG91Z2ggaXQncyBub3QgY29tcHVsc29yeSksIHNvICJKaW0gSm9uZXMi IGJlY29tZXMgJycuZGppbS5kam9uei4nJy4KCkFuIGltcG9ydGFudCBydWxlIGZvciBMb2piYW5p c2luZyBuYW1lcyBpcyB0aGF0IHRoZSBsYXN0IGxldHRlciBvZiBhIGNtZXZsYSAoTG9qYmFuIG5h bWUpIG11c3QgYmUgYSBjb25zb25hbnQuIEFnYWluLCB0aGlzIGlzIHRvIHByZXZlbnQgY29uZnVz aW9uIGFzIHRvIHdoZXJlIGEgbmFtZSBlbmRzLCBhbmQgd2hhdCBpcyBhbmQgaXMgbm90IGEgbmFt ZSAoYWxsIG90aGVyIExvamJhbiB3b3JkcyBlbmQgaW4gYSB2b3dlbCkuIFdlIHVzdWFsbHkgdXNl ICcncycnIGZvciB0aGlzOyBzbyBpbiBMb2piYW4sICJNYXJ5IiBiZWNvbWVzICcnLm1lcmlzLicn ICwgIkpvZSIgYmVjb21lcyAnJy5kam9zLicnIGFuZCBzbyBvbi4gQW4gYWx0ZXJuYXRpdmUgaXMg dG8gbGVhdmUgb3V0IHRoZSBsYXN0IHZvd2VsLCBzbyAiTWFyeSIgd291bGQgYmVjb21lICcnLm1l ci4nJyBvciAnJy5tZWlyLicnLgoKCgpUaGUgZmluYWwgcG9pbnQgaXMgc3RyZXNzLiBBcyB3ZSd2 ZSBzZWVuLCBMb2piYW4gd29yZHMgYXJlIHN0cmVzc2VkIG9uIHRoZSBwZW51bHRpbWF0ZSBzeWxs YWJsZSwgYW5kIGlmIGEgbmFtZSBoYXMgZGlmZmVyZW50IHN0cmVzcywgd2UgdXNlIGNhcGl0YWwg bGV0dGVycy4gVGhpcyBtZWFucyB0aGF0IHRoZSBFbmdsaXNoIGFuZCBGcmVuY2ggbmFtZXMgIlJv YmVydCIgY29tZSBvdXQgZGlmZmVyZW50bHkgaW4gTG9qYmFuOiB0aGUgRW5nbGlzaCBuYW1lIGlz ICcnLnJvYnl0LicnIGluIFVLIEVuZ2xpc2gsIG9yICcnLnJhYixydC4nJyBpbiBzb21lIEFtZXJp Y2FuIGRpYWxlY3RzLCBidXQgdGhlIEZyZW5jaCBpcyAnJy5yb0JFUi4nJy4KClRvIGdpdmUgYW4g aWRlYSBvZiBob3cgYWxsIHRoaXMgd29ya3MsIGhlcmUgYXJlIHNvbWUgbmFtZXMgb2YgZmFtb3Vz IHBlb3BsZSBpbiB0aGVpciBvd24gbGFuZ3VhZ2UgYW5kIGluIExvamJhbi4KCgoKfHxfX0VuZ2xp c2hfXwoKTWFyZ2FyZXQgVGhhdGNoZXIgfCcnLm1hZ3J5dC50YXRjeXIuJycgKG5vICJ0aCIgaW4g TG9qYmFuIGJlY2F1c2UgbW9zdCBwZW9wbGUgYXJvdW5kIHRoZSB3b3JsZCBjYW4ndCBzYXkgaXQh KQoKTWljayBKYWdnZXIgfCcnLm1pay5kamFneXMuJycgfHwKCnx8X19GcmVuY2hfXwoKTmFwb2xl b24gQm9uYXBhcnRlIHwnJy5uYXBvbGUsT04uYm9uYVBBUlQuJycKCkp1bGlldHRlIEJpbm9jaGUg fCcnLmp1TElFVC5iaW5PQy4nJyB8fAoKfHxfX0NoaW5lc2VfXwoKTGFvemkgfCcnLmxhdWR6Licn CgpNYW8gWmVkb25nIHwnJy5tYXVkenlEWU4uJycgKEZpbmFsICcnbmcnJyBpcyBpbiBMb2piYW4g Y29udmVudGlvbmFsbHkgdHVybmVkIGludG8gbi4pIHx8Cgp8fF9fVHVya2lzaF9fCgpNdXN0YWZh IEtlbWFsIHwnJy5NVVN0YWZhcy5rZU1BTC4nJwoKRXJraW4gS29yYXkgfCcnLmVya2luLmtvcmFp cy4nJyB8fAoKfHxfX0dlcm1hbl9fCgpGcmllZHJpY2ggTmlldHpzY2hlIHwnJy5mcmlkcml4Lm5p dGN5cy4nJwoKQ2xhcmEgU2NodW1hbm4gfCcnLmtsYXJhcy5jdW1hbi4nJyB8fAoKfHxfX1NwYW5p c2hfXwoKSXNhYmVsIEFsbGVuZGUgfCcnLml6YUJFTC5haWVuZGVzLicnCgpDaGUgR3VldmFyYSB8 JycudGNlZ2V2YXJhcy4nJyB8fAoKX19FeGVyY2lzZV9fLgoKV2hlcmUgYXJlIHRoZXNlIHBsYWNl cz8KCiMubnUsSU9SSy4KCiMucm9tYXMuCgojLnhhdmFuYXMuCgojLmthcmRpZi4KCiMuYmVpZGpp bi4KCiMuQU5rYXJhcy4KCiMuQUxiZWtlcmtpcy4KCiMudmFua3V2ZXIuCgojLmtlaXB0YXVuLgoK Iy50YWliZWlzLgoKIy5ib24uCgojLmRlbGlzLgoKIy5uaXMuCgojLmF0aW5hcy4KCiMubGlkei4K CiMueGVsc2lua2lzLgoKQW5zd2VyOgoKfn5ncmF5LGdyYXk6fn4KCiN+fmdyYXksZ3JheTpOZXcg WW9yazogVVNBfn4KCiN+fmdyYXksZ3JheTpSb21lOiBJdGFseX5+Cgojfn5ncmF5LGdyYXk6SGF2 YW5hOiBDdWJhfn4KCiN+fmdyYXksZ3JheTpDYXJkaWZmOiBXYWxlcyAoVGhlIFdlbHNoIGZvciAi Q2FyZGlmZiIgaXMgIkNhZXJkeWRkIiwgd2hpY2ggd291bGQgTG9qYmFuaXNlIHRvIHNvbWV0aGlu ZyBsaWtlIGthaXJkeWQuLil+fgoKI35+Z3JheSxncmF5OkJlaWppbmc6IENoaW5hfn4KCiN+fmdy YXksZ3JheTpBbmthcmE6IFR1cmtleX5+Cgojfn5ncmF5LGdyYXk6QWxiZXF1ZXJxdWU6IE5ldyBN ZXhpY28sIFVTQX5+Cgojfn5ncmF5LGdyYXk6VmFuY291dmVyOiBDYW5hZGF+fgoKI35+Z3JheSxn cmF5OkNhcGUgVG93bjogU291dGggQWZyaWNhfn4KCiN+fmdyYXksZ3JheTpUYWlwZWk6IFRhaXdh biAobm90ZSBiLCBub3QgcC4gQWx0aG91Z2ggYWN0dWFsbHksIHRoZSBiIGluIFBpbnlpbiBpcyBw cm9ub3VuY2VkIGFzIGEgcC4uLiBCdXQgdGhpcyBpc24ndCBtZWFudCB0byBiZSBhIGNvdXJzZSBv biBNYW5kYXJpbiEpfn4KCiN+fmdyYXksZ3JheTpCb25uOiBHZXJtYW55fn4KCiN+fmdyYXksZ3Jh eTpEZWxoaTogSW5kaWEgKFRoZSBIaW5kaSBmb3IgIkRlbGhpIiBpcyAiRGlsbMOuIiwgd2hpY2gg d291bGQgZ2l2ZSBkaWxpeXMuIG9yIGRpbGknaXMuLil+fgoKI35+Z3JheSxncmF5Ok5pY2U6IEZy YW5jZX5+Cgojfn5ncmF5LGdyYXk6QXRoZW5zOiBHcmVlY2UgKCJBdGhpbmEiIGluIEdyZWVrKX5+ Cgojfn5ncmF5LGdyYXk6TGVlZHM6IEVuZ2xhbmR+fgoKI35+Z3JheSxncmF5OkhlbHNpbmtpOiBG aW5sYW5kfn4KCl9fRXhlcmNpc2VfXy4KCkxvamJhbmlzZSB0aGUgZm9sbG93aW5nIG5hbWVzCgoj Sm9obgoKI01lbGlzc2EKCiNBbWFuZGEKCiNNYXR0aGV3CgojTWljaGFlbAoKI0RhdmlkIEJvd2ll CgojSmFuZSBBdXN0ZW4KCiNXaWxsaWFtIFNoYWtlc3BlYXJlCgojU2lnb3VybmV5IFdlYXZlcgoK I1JpY2hhcmQgTml4b24KCiNJc3RhbmJ1bAoKI01hZHJpZAoKI1Rva3lvCgojU2FuIFNhbHZhZG9y CgpBbnN3ZXI6Cgp+fmdyYXksZ3JheTpUaGVyZSBhcmUgdXN1YWxseSBhbHRlcm5hdGl2ZSBzcGVs bGluZ3MgZm9yIG5hbWVzLCBlaXRoZXIgYmVjYXVzZSBwZW9wbGUgcHJvbm91bmNlIHRoZSBvcmln aW5hbHMgZGlmZmVyZW50bHksIG9yIGJlY2F1c2UgdGhlIGV4YWN0IHNvdW5kIGRvZXNuJ3QgZXhp c3QgaW4gTG9qYmFuLCBzbyB5b3UgbmVlZCB0byBjaG9vc2UgYmV0d2VlbiB0d28gTG9qYmFuIGxl dHRlcnMuIFRoaXMgZG9lc24ndCBtYXR0ZXIsIHNvIGxvbmcgYXMgZXZlcnlvbmUga25vd3Mgd2hv IG9yIHdoZXJlIHlvdSdyZSB0YWxraW5nIGFib3V0Ln5+Cgojfn5ncmF5LGdyYXk6LmRqb24uIChv ciAuZGphbi4gd2l0aCBzb21lIGFjY2VudHMpfn4KCiN+fmdyYXksZ3JheToubWVsaXN5cy5+fgoK I35+Z3JheSxncmF5Oi5hbWFuZHlzLiAoYWdhaW4sIGRlcGVuZGluZyBvbiB5b3VyIGFjY2VudCwg dGhlIGZpbmFsIHkgbWF5IGJlIGEsIHRoZSBpbml0aWFsIGEgbWF5IGJlIHksIGFuZCB0aGUgbWlk ZGxlIGEgbWF5IGJlIGUuKX5+Cgojfn5ncmF5LGdyYXk6Lm1hdGl1cy5+fgoKI35+Z3JheSxncmF5 Oi5tYWlreWwuIG9yIC5tYWlrLGwuICwgZGVwZW5kaW5nIG9uIGhvdyB5b3Ugc2F5IGl0Ln5+Cgoj fn5ncmF5LGdyYXk6LmRlaXZ5ZC5iYXUsaXMuIG9yIC5ibyxpcy4gKGJ1dCBub3QgLmJ1LGlzLiDi gJQgdGhhdCdzIHRoZSBrbmlmZSl+fgoKI35+Z3JheSxncmF5Oi5kamVpbi5vc3Rpbi5+fgoKI35+ Z3JheSxncmF5Oi51aWxpYW0uY2Vrc3Bpci5+fgoKI35+Z3JheSxncmF5Oi5zaWdvcm5pcy51aXZ5 ci4gb3IgLnN5Z29ybmlzLnVpdnlyLn5+Cgojfn5ncmF5LGdyYXk6LnJpdGN5cmQubmlrc3luLn5+ Cgojfn5ncmF5LGdyYXk6LmlzdGFuQlVMLiB3aXRoIEVuZ2xpc2ggc3RyZXNzLCAuSVN0YW5idWwu IHdpdGggQW1lcmljYW4sIC5pc3RhbmJ1bC4gd2l0aCBUdXJraXNoLiBMb2piYW5pc3RzIGdlbmVy YWxseSBwcmVmZXIgdG8gYmFzZSBjbWV2bGEgb24gbG9jYWwgcHJvbnVuY2lhdGlvbiwgYnV0IHRo aXMgaXMgbm90IGFuIGFic29sdXRlIHJ1bGUufn4KCiN+fmdyYXksZ3JheToubWFEUklELn5+Cgoj fn5ncmF5LGdyYXk6LnRva2lvcy5+fgoKI35+Z3JheSxncmF5Oi5zYW4uc2FsdmFET1IuICh3aXRo IFNwYW5pc2ggc3RyZXNzKSA8L3NwYW4+PC9odG1sPn5+CgohISEhTG9qYmFuIHdvcmRzIGFzIG5h bWVzCgpCeSBub3cgeW91IHNob3VsZCBiZSBhYmxlIHRvIExvamJhbmlzZSB5b3VyIG93biBuYW1l LiBIb3dldmVyLCBpZiB5b3UgcHJlZmVyLCB5b3UgY2FuIHRyYW5zbGF0ZSB5b3VyIG5hbWUgaW50 byBMb2piYW4gKGlmIHlvdSBrbm93IHdoYXQgaXQgbWVhbnMsIG9mIGNvdXJzZSkgb3IgYWRvcHQg YSBjb21wbGV0ZWx5IG5ldyBMb2piYW4gaWRlbnRpdHkuIE5hdGl2ZSBBbWVyaWNhbnMgZ2VuZXJh bGx5IHRyYW5zbGF0ZSB0aGVpciBuYW1lIHdoZW4gc3BlYWtpbmcgRW5nbGlzaCwgcGFydGx5IGJl Y2F1c2UgdGhleSBoYXZlIG1lYW5pbmdmdWwgbmFtZXMsIGFuZCBwYXJ0bHkgYmVjYXVzZSB0aGV5 IGRvbid0IGV4cGVjdCB0aGUgIndhc2ljaHUiIHRvIGJlIGFibGUgdG8gcHJvbm91bmNlIHdvcmRz IGluIExha290YSwgQ2hlcm9rZWUgb3Igd2hhdGV2ZXIhCgpMb2piYW4gd29yZHMgKGV4Y2VwdCBj bWV2bGEpIGVuZCBpbiBhIHZvd2VsLiBZb3UgY2FuIHVzZSBsb2piYW4gd29yZHMgYXMgbmFtZXMg dG9vLiBCdXQgaWYgeW91IHByZWZlciB0aGF0IHlvdXIgbmFtZSBpcyBhIGNtZXZsYSBhbmQgaXQg ZW5kcyBpbiBhIHZvd2VsIHRoZW4geW91IGNhbiBlaXRoZXIgYWRkIGEgY29uc29uYW50IHRvIHRo ZSBlbmQgb2YgaXQgb3IganVzdCBjaG9wIHRoZSBlbmQgdm93ZWwgb2ZmLgoKSGVyZSBhcmUgYSBm ZXcgZXhhbXBsZXMgKG9yaWdpbmFsIG5hbWUsIG1lYW5pbmcsIG5hbWUgYW5kIG5hbWUgYXMgY21l dmxhKToKCipGaXNoIOKAkyBmaW5wZSDigJMgJycuZmlucC4nJwoKKkJqw7ZybiAoU2NhbmRpbmF2 aWFuID0gYmVhcikg4oCTIGNyaWJlIOKAkyAnJy5jcmliLicnCgoqR3JlZW4g4oCTIGNyaW5vIOKA kyAnJy5jcmluLicnCgoqTWVpIExpIChDaGluZXNlID0gYmVhdXRpZnVsKSDigJMgbWVsYmkg4oCT ICcnLm1lbGIuJycKCipBeWhhbiAoVHVya2lzaCA9IE1vb24gTG9yZCkg4oCTIGx1bnJhIG5vYmxp ICg9IGx1cm5vYmxpKSDigJMgJycubHVybm9ibGlzLicnCgoKCiEhTG9qYmFuIExlc3NvbnMg4oCT IGxlc3NvbiBvbmUgKGJyaWRpLCBqdWZyYSwgc3VtdGkgYW5kIHNlbGJyaSkKCkEgJydicmlkaScn IGlzIHRoZSBtb3N0IGNlbnRyYWwgdW5pdCBvZiBMb2piYW4gdXR0ZXJhbmNlcy4gVGhlIGNvbmNl cHQgaXMgdmVyeSBjbG9zZSB0byB3aGF0IHdlIGNhbGwgYSBwcm9wb3NpdGlvbiBpbiBFbmdsaXNo LiBBIGJyaWRpIGlzIGEgY2xhaW0gdGhhdCBzb21lIG9iamVjdHMgc3RhbmQgaW4gYSByZWxhdGlv biB0byBlYWNoIG90aGVyLCBvciB0aGF0IGFuIG9iamVjdCBoYXMgc29tZSBwcm9wZXJ0eS4gVGhp cyBzdGFuZHMgaW4gY29udHJhc3QgdG8gJydqdWZyYScnLCB3aGljaCBhcmUgbWVyZWx5IExvamJh biB1dHRlcmFuY2VzLCB3aGljaCBjYW4gYmUgYnJpZGkgb3IgYW55dGhpbmcgZWxzZSBiZWluZyBz YWlkLiBUaGUgZGlmZmVyZW5jZSBiZXR3ZWVuIGEgYnJpZGkgYW5kIGEganVmcmEgaXMgdGhhdCBh IGp1ZnJhIGRvZXMgbm90IG5lY2Vzc2FyaWx5IHN0YXRlIGFueXRoaW5nLCB3aGlsZSBhIGJyaWRp IGRvZXMuIFRodXMsIGEgYnJpZGkgbWlnaHQgYmUgdHJ1ZSBvciBmYWxzZSwgd2hpbGUgbm90IGFs bCBqdWZyYSBjYW4gYmUgc2FpZCB0byBiZSBzdWNoLgoKVG8gaGF2ZSBzb21lIGV4YW1wbGVzIChp biBFbmdsaXNoLCB0byBiZWdpbiB3aXRoKSwg4oCcTW96YXJ0IHdhcyB0aGUgZ3JlYXRlc3QgbXVz aWNpYW4gb2YgYWxsIHRpbWXigJ0gaXMgYSBicmlkaSwgYmVjYXVzZSBpdCBtYWtlcyBhIGNsYWlt IHdpdGggYSB0cnV0aCB2YWx1ZSwgYW5kIGl0IGludm9sdmVzIGFuIG9iamVjdCwgTW96YXJ0LCBh bmQgYSBwcm9wZXJ0eSwgYmVpbmcgdGhlIGdyZWF0ZXN0IG11c2ljaWFuIG9mIGFsbCB0aW1lLiBP biB0aGUgY29udHJhcnksIOKAnE93ISBNeSB0b2Uh4oCdIGlzIG5vdCBhIGJyaWRpLCBzaW5jZSBp dCBkb2VzIG5vdCBpbnZvbHZlIGEgcmVsYXRpb24sIGFuZCB0aHVzIGRvZXMgbm90IHN0YXRlIGFu eXRoaW5nLiBCb3RoLCB0aG91Z2gsIGFyZSBqdWZyYS4KClRyeSB0byBpZGVudGlmeSB0aGUgYnJp ZGkgYW1vbmcgdGhlc2UgRW5nbGlzaCBqdWZyYToKCgoKIyDigJxJIGhhdGUgaXQgd2hlbiB5b3Ug ZG8gdGhhdC7igJ0KCiMg4oCcUnVucy7igJ0KCiMg4oCcV29haCwgdGhhdCBsb29rcyBkZWxpY2lv dXMh4oCdCgojIOKAnEdlZXosIG5vdCBhZ2Fpbi7igJ0KCiMg4oCcTm8sIEkgb3duIHRocmVlIGNh cnPigJ0KCiMg4oCcTmluZXRlZW4gbWludXRlcyBwYXN0IGVpZ2h0LuKAnQoKIyDigJxUaGlzIFNh dHVyZGF5LCB5ZXMu4oCdCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6MSwgMyBhbmQgNSBhcmUgYnJp ZGkuIDIgY29udGFpbnMgbm8gb2JqZWN0cyBhbmQgdGhlIHJlc3QgY29udGFpbiBubyByZWxhdGlv biBvciBjbGFpbSBvZiBhIHByb3BlcnR5Ln5+CgoKClB1dCBpbiBMb2piYW4gdGVybXMsIGEgYnJp ZGkgY29uc2lzdHMgb2Ygb25lICcnc2VsYnJpJycsIGFuZCBvbmUgb3IgbW9yZSAnJ3N1bXRpJycu IFRoZSBzZWxicmkgaXMgdGhlIHJlbGF0aW9uIG9yIGNsYWltIGFib3V0IHRoZSBvYmplY3QsIGFu ZCB0aGUgc3VtdGkgYXJlIHRoZSBvYmplY3RzIHdoaWNoIGFyZSBpbiBhIHJlbGF0aW9uLiBOb3Rl IHRoYXQg4oCcb2JqZWN04oCdIGlzIG5vdCBhIHBlcmZlY3QgdHJhbnNsYXRpb24gb2Yg4oCcc3Vt dGnigJ0sIHNpbmNlIOKAnHN1bXRp4oCdIGNhbiByZWZlciB0byBub3QganVzdCBwaHlzaWNhbCBv YmplY3RzLCBidXQgY2FuIGFsc28gcHVyZWx5IGFic3RyYWN0IHRoaW5ncyBsaWtlIOKAnFRoZSBp ZGVhIG9mIHdhcmZhcmXigJ0uIEEgYmV0dGVyIHRyYW5zbGF0aW9uIHdvdWxkIGJlIHNvbWV0aGlu ZyBsaWtlIOKAnHN1YmplY3QsIGRpcmVjdCBvciBpbmRpcmVjdCBvYmplY3TigJ0gZm9yIHN1bXRp LCBhbmQg4oCcdmVyYuKAnSBmb3Igc2VsYnJpLCB0aG91Z2gsIGFzIHdlIHdpbGwgc2VlLCB0aGlz IGlzIG5vdCBvcHRpbWFsIGVpdGhlci4KCldlIGNhbiBub3cgd3JpdGUgdGhlIGZpcnN0IGltcG9y dGFudCBsZXNzb24gZG93bjoKCmJyaWRpID0gc2VsYnJpICsgb25lIG9yIG1vcmUgc3VtdGkKClB1 dCBhbm90aGVyIHdheSwgYSBicmlkaSBzdGF0ZXMgdGhhdCBzb21lIHN1bXRpIGRvL2FyZSBzb21l dGhpbmcgZXhwbGFpbmVkIGJ5IGEgc2VsYnJpLgoKCgpJZGVudGlmeSB0aGUgc3VtdGkgYW5kIHNl bGJyaSBlcXVpdmFsZW50cyBpbiB0aGVzZSBFbmdsaXNoIGp1ZnJhOgoK4oCcSSB3aWxsIHBpY2sg dXAgbXkgZGF1Z2h0ZXJzIHdpdGggbXkgY2Fy4oCdCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6c2Vs YnJpOiDigJxwaWNrIHVwICh3aXRoKeKAnS4gc3VtdGk6IOKAnEnigJ0sIOKAnG15IGRhdWdodGVy c+KAnSwg4oCcbXkgY2Fy4oCdfn4KCgoK4oCcSGUgYm91Z2h0IDUgbmV3IHNoaXJ0cyBmcm9tIE1h cmsgZm9yIGp1c3QgdHdvIGh1bmRyZWQgZXVybyHigJ0KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTpz ZWxicmk6IOKAnGJvdWdodCAoZnJvbSkgKGZvcinigJ0gc3VtdGk6IOKAnEhl4oCdLCDigJw1IG5l dyBzaGlydHPigJ0sIOKAnE1hcmvigJ0gYW5kIOKAnHR3byBodW5kcmVkIGV1cm9z4oCdfn4KCgoK U2luY2UgdGhlc2UgY29uY2VwdHMgYXJlIHNvIGZ1bmRhbWVudGFsIHRvIExvamJhbiwgbGV0J3Mg aGF2ZSBhIHRoaXJkIGV4YW1wbGU6IOKAnFNvIGZhciwgdGhlIEVQQSBoYXMgZG9uZSBub3RoaW5n IGFib3V0IHRoZSBhbW91bnQgb2Ygc3VscGh1ciBkaW94aWRlLuKAnQoKCgpBbnN3ZXI6IH5+Z3Jl eSxncmV5OnNlbGJyaTog4oCcaGFzIGRvbmUgKGFib3V0KeKAnSBzdW10aTog4oCcVGhlIEVQQeKA nSwg4oCcbm90aGluZ+KAnSBhbmQg4oCcdGhlIGFtb3VudCBvZiBzdWxwaHVyIGRpb3hpZGXigJ1+ fgoKCgpOb3cgdHJ5IGJlZ2luIG1ha2luZyBMb2piYW4gYnJpZGkuIEZvciB0aGlzIHlvdSB3aWxs IG5lZWQgdG8gdXNlIHNvbWUgd29yZHMsIHdoaWNoIGNhbiBhY3QgYXMgc2VsYnJpOgoKJydfX2R1 bmRhX18nJyB4MSBnaXZlcyB4MiB0byB4MyAod2l0aG91dCBwYXltZW50KQoKJydfX3BlbHh1X18n JyB4MSBpcyB5ZWxsb3cKCicnX196ZGFuaV9fJycgeDEgaXMgYSBob21lIG9mIHgyCgoKCk5vdGlj ZSB0aGF0IHRoZXNlIHdvcmRzIG1lYW5pbmcg4oCcZ2l2ZeKAnSwg4oCceWVsbG934oCdIGFuZCDi gJxob21l4oCdIHdvdWxkIGJlIGNvbnNpZGVyZWQgYSB2ZXJiLCBhbiBhZGplY3RpdmUgYW5kIGEg bm91biBpbiBFbmdsaXNoLiBJbiBMb2piYW4sIHRoZXJlIGFyZSBubyBzdWNoIGNhdGVnb3JpZXMg YW5kIG5vIHN1Y2ggZGlzdGluY3Rpb24uICcnZHVuZGEnJyBjYW4gYmUgdHJhbnNsYXRlZCDigJxn aXZlc+KAnSAodmVyYiksIOKAnGlzIGEgZ2l2ZXLigJ0gKG5vdW4pLCDigJxpcyBnaXZpbmfigJ0g KGFkamVjdGl2ZSkgYXMgd2VsbCBhcyB0byBhbiBhZHZlcmIgZm9ybS4gVGhleSBhbGwgYWN0IGFz IHNlbGJyaSwgYW5kIGFyZSB1c2VkIGluIHRoZSBzYW1lIHdheS4KCgoKQXMgd2VsbCBhcyBhIGZl dyB3b3Jkcywgd2hpY2ggY2FuIGFjdCBhcyBzdW10aToKCicnX19taV9fJycg4oCcSeKAnSBvciDi gJx3ZeKAnSDigJMgdGhlIG9uZSBvciB0aG9zZSB3aG8gYXJlIHNwZWFraW5nLgoKJydfX3RpX18n JyDigJx0aGlz4oCdIOKAkyBhIGNsb3NlIHRoaW5nIG9yIGV2ZW50IG5lYXJieSB3aGljaCBjYW4g YmUgcG9pbnRlZCB0byBieSB0aGUgc3BlYWtlci4KCicnX19kb19fJycg4oCceW914oCdIOKAkyB0 aGUgb25lIG9yIHRob3NlIHdobyBhcmUgYmVpbmcgc3Bva2VuIHRvLgoKCgpTZWUgdGhlIHN0cmFu Z2UgdHJhbnNsYXRpb25zIG9mIHRoZSBzZWxicmkgYWJvdmUgLSBlc3BlY2lhbGx5IHRoZSB4MSwg eDIgYW5kIHgzPyBUaG9zZSBhcmUgY2FsbGVkIHN1bXRpIHBsYWNlcy4gVGhleSBhcmUgcGxhY2Vz IHdoZXJlIHN1bXRpIGNhbiBnbyB0byBmaWxsIGEgYnJpZGkuIEZpbGxpbmcgYSBzdW10aSBpbiBh IHBsYWNlIHN0YXRlcyB0aGF0IHRoZSBzdW10aSBmaXRzIGluIHRoYXQgcGxhY2UuIFRoZSBzZWNv bmQgcGxhY2Ugb2YgJydkdW5kYScnLCBmb3IgZXhhbXBsZSwgeDIsIGlzIHRoZSB0aGluZyBiZWlu ZyBnaXZlbi4gVGhlIHRoaXJkIGlzIHRoZSBvYmplY3Qgd2hpY2ggcmVjZWl2ZXMgdGhlIHRoaW5n LiBOb3RpY2UgYWxzbyB0aGF0IHRoZSB0cmFuc2xhdGlvbiBvZiAnJ2R1bmRhJycgaGFzIHRoZSB3 b3JkIOKAnHRv4oCdIGluIGl0LiBUaGlzIGlzIGJlY2F1c2UsIHdoaWxlIHRoaXMgd29yZCBpcyBu ZWVkZWQgaW4gRW5nbGlzaCB0byBzaWduaWZ5IHRoZSByZWNlaXZlciwgdGhlIHJlY2VpdmVyIGlz IGluIHRoZSB0aGlyZCBzdW10aSBwbGFjZSBvZiAnJ2R1bmRhJycuIFNvIHdoZW4geW91IGZpbGwg dGhlIHRoaXJkIHN1bXRpIHBsYWNlIG9mICcnZHVuZGEnJywgdGhlIHN1bXRpIHlvdSBmaWxsIGlu IGlzIGFsd2F5cyB0aGUgcmVjZWl2ZXIsIGFuZCB5b3UgZG9uJ3QgbmVlZCBhbiBlcXVpdmFsZW50 IHRvIHRoZSB3b3JkIOKAnHRv4oCdIQoKCgpUbyBzYXkgYSBicmlkaSwgeW91IHNpbXBseSBzYXkg dGhlIHgxIHN1bXRpIGZpcnN0LCB0aGVuIHRoZSBzZWxicmksIHRoZW4gYW55IG90aGVyIHN1bXRp LgoKVXN1YWwgYnJpZGk6IHt4MSBzdW10aX0gX197c2VsYnJpfV9fIHt4MiBzdW10aX0ge3gzIHN1 bXRpfSB7eDQgc3VtdGl9IHt4NSBzdW10aX0ge2FuZCBzbyBvbn0KClRoZSBvcmRlciBjYW4gYmUg cGxheWVkIGFyb3VuZCB3aXRoLCBidXQgZm9yIG5vdywgd2Ugc3RpY2sgd2l0aCB0aGUgdXN1YWwg Zm9ybS4gVG8gc2F5IOKAnEkgZ2l2ZSB0aGlzIHRvIHlvdeKAnSB5b3UganVzdCBzYXkgJydtaSBk dW5kYSB0aSBkbycnLCB3aXRoIHRoZSB0aHJlZSBzdW10aSBhdCB0aGUgcmlnaHQgcGxhY2VzLgoK CgpTbywgaG93IHdvdWxkIHlvdSBzYXkg4oCcVGhpcyBpcyBhIGhvbWUgb2YgbWXigJ0/CgoKCkFu c3dlcjogfn5ncmV5LGdyZXk6Jyd0aSB6ZGFuaSBtaScnfn4KCgoKVHJ5IGEgZmV3IG1vcmUgaW4g b3JkZXIgdG8gZ2V0IHRoZSBpZGVhIG9mIGEgcGxhY2Ugc3RydWN0dXJlIHNpbmsgaW4uCgoKCuKA nFlvdSBnaXZlIHRoaXMgdG8gbWXigJ0/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JydkbyBkdW5k YSB0aSBtaScnfn4KCgoKQW5kIHRyYW5zbGF0ZSAnJ3RpIHBlbHh1JycKCgoKQW5zd2VyOiB+fmdy ZXksZ3JleTrigJxUaGlzIGlzIHllbGxvdy7igJ1+fgoKCgpRdWl0ZSBlYXN5IG9uY2UgeW91IGdl dCB0aGUgaGFuZyBvZiBpdCwgcmlnaHQ/CgoKCk11bHRpcGxlIGJyaWRpIGFmdGVyIGVhY2ggb3Ro ZXIgYXJlIHNlcGFyYXRlZCBieSAnJy5pJycgVGhpcyBpcyB0aGUgTG9qYmFuIGVxdWl2YWxlbnQg b2YgZnVsbCBzdG9wLCBidXQgaXQgdXN1YWxseSBnb2VzIGJlZm9yZSBicmlkaSBpbnN0ZWFkIG9m IGFmdGVyIHRoZW0uIEl0J3Mgb2Z0ZW4gbGVmdCBvdXQgYmVmb3JlIHRoZSBmaXJzdCBicmlkaSwg dGhvdWdoLCBhcyBpbiBhbGwgdGhlc2UgZXhhbXBsZXM6CgonJ19fLmlfXycnIFNlbnRlbmNlIHNl cGFyYXRvci4gU2VwYXJhdGVzIGFueSB0d28ganVmcmEgKGFuZCB0aGVyZWZvcmUgYWxzbyBicmlk aSkuCgoKCicndGkgemRhbmkgbWkgIC5pIHRpIHBlbHh1Jycg4oCdVGhpcyBpcyBhIGhvbWUgdG8g bWUuIFRoaXMgaXMgeWVsbG93LuKAnQoKCgpCZWZvcmUgeW91IG1vdmUgb24gdG8gdGhlIG5leHQg bGVzc29uLCBJIHJlY29tbWVuZCB0aGF0IHlvdSB0YWtlIGEgYnJlYWsgZm9yIGF0IGxlYXN0IHNl dmVuIG1pbnV0ZXMgdG8gbGV0IHRoZSBpbmZvcm1hdGlvbiBzaW5rIGluLgoKCgoKCiEhTG9qYmFu IExlc3NvbnMg4oCTIGxlc3NvbiB0d28gKEZBIGFuZCB6bydlKQoKTW9zdCBzZWxicmkgaGF2ZSBm cm9tIG9uZSB0byBmaXZlIHN1bXRpIHBsYWNlcywgYnV0IHNvbWUgaGF2ZSBtb3JlLiBIZXJlIGlz IGEgc2VsYnJpIHdpdGggZm91ciBzdW10aSBwbGFjZXM6CgonJ19fdmVjbnVfXycnIHgxIHNlbGxz IHgyIHRvIHgzIGZvciBwcmljZSB4NAoKCgpJZiBJIHdhbnQgdG8gc2F5IOKAnEkgc2VsbCB0aGlz 4oCdLCBpdCB3b3VsZCBiZSB0b28gbXVjaCB0byBoYXZlIHRvIGZpbGwgdGhlIHN1bXRpIHBsYWNl cyB4MyBhbmQgeDQsIHdoaWNoIHNwZWNpZnkgd2hvIEkgc2VsbCB0aGUgdGhpbmcgdG8sIGFuZCBm b3Igd2hhdCBwcmljZS4gTHVja2lseSwgSSBkb24ndCBuZWVkIHRvLiBzdW10aSBwbGFjZXMgY2Fu IGJlIGZpbGxlZCB3aXRoICcnem8nZScnLiAnJ3pvJ2UnJyBpbmRpY2F0ZXMgdG8gdXMgdGhhdCB0 aGUgdmFsdWUgb2YgdGhlIHN1bXRpIHBsYWNlIGlzIHVuc3BlY2lmaWVkIGJlY2F1c2UgaXQncyB1 bmltcG9ydGFudCBvciBjYW4gYmUgZGV0ZXJtaW5lZCBmcm9tIGNvbnRleHQuCgonJ19fem8nZV9f Jycg4oCcc29tZXRoaW5n4oCdIEZpbGxzIGEgc3VtdGkgcGxhY2Ugd2l0aCBzb21ldGhpbmcsIGJ1 dCBkb2VzIG5vdCBzdGF0ZSB3aGF0LgoKCgpTbyB0byBzYXkg4oCcSSBzZWxsIHRvIHlvdeKAnSwg SSBjb3VsZCBzYXkgJydtaSB2ZWNudSB6bydlIGRvIHpvJ2UnJyDigJMgSSBzZWxsIHNvbWV0aGlu ZyB0byB5b3UgZm9yIHNvbWUgcHJpY2UuCgpIb3cgd291bGQgeW91IHNheTog4oCcVGhhdCdzIGEg aG9tZSAoZm9yIHNvbWVib2R5KeKAnT8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTogJyd0aSB6ZGFu aSB6bydlJyd+fgoKCgpIb3cgYWJvdXQg4oCcKHNvbWVvbmUpIGdpdmVzIHRoaXMgdG8gKHNvbWVv bmUp4oCdPwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5Oicnem8nZSBkdW5kYSB0aSB6bydlJyd+fgoK CgpTdGlsbCwgZmlsbGluZyBvdXQgdGhyZWUgem8nZSBqdXN0IHRvIHNheSB0aGF0IGEgdGhpbmcg aXMgYmVpbmcgc29sZCB0YWtlcyB0aW1lLiBUaGVyZWZvcmUgeW91IGRvbid0IG5lZWQgdG8gd3Jp dGUgYWxsIHRoZSAnJ3pvJ2UnJyBpbiBhIGJyaWRpLiBUaGUgcnVsZSBzaW1wbHkgaXMgdGhhdCBp ZiB5b3UgbGVhdmUgb3V0IGFueSBzdW10aSwgdGhleSB3aWxsIGJlIGNvbnNpZGVyZWQgYXMgaWYg dGhleSBjb250YWluZWQgJyd6bydlJycuIElmIHRoZSBicmlkaSBiZWdpbnMgd2l0aCBhIHNlbGJy aSwgdGhlIHgxIGlzIHByZXN1bWVkIHRvIGJlIG9taXR0ZWQgYW5kIGl0IGJlY29tZXMgJyd6bydl JycuCgpUcnkgaXQgb3V0LiBXaGF0J3MgTG9qYmFuIGZvciDigJxJIHNlbGzigJ0/CgoKCkFuc3dl cjogfn5ncmV5LGdyZXk6JydtaSB2ZWNudScnfn4KCgoKQW5kIHdoYXQgZG9lcyAnJ3pkYW5pIG1p JycgbWVhbj8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxTb21ldGhpbmcgaXMgYSBob21lIG9m IG1l4oCdIG9yIGp1c3Qg4oCcSSBoYXZlIGEgaG9tZS7igJ1+fgoKCgpBcyBtZW50aW9uZWQgZWFy bGllciwgdGhlIGZvcm0gZG9lc24ndCBoYXZlIHRvIGJlIHt4MSBzdW10aX0ge3NlbGJyaX0ge3gy IHN1bXRpfSB7eDMgc3VtdGl9IChlY3QuKSBJbiBmYWN0LCB5b3UgY2FuIHBsYWNlIHRoZSBzZWxi cmkgYW55d2hlcmUgeW91IHdhbnQsIGp1c3Qgbm90IGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIGJy aWRpLiBJZiB5b3UgZG8gdGhhdCwgdGhlIHgxIGlzIGNvbnNpZGVyZWQgbGVmdCBvdXQgYW5kIGZp bGxlZCB3aXRoICcnem8nZScnIGluc3RlYWQuIFNvIHRoZSBmb2xsb3dpbmcgdGhyZWUganVmcmEg YXJlIGFsbCB0aGUgZXhhY3RseSBzYW1lIGJyaWRpOgoKJydtaSBkdW5kYSB0aSBkbycnCgonJ21p IHRpIGR1bmRhIGRvJycKCicnbWkgdGkgZG8gZHVuZGEnJwoKCgpTb21ldGltZXMgdGhpcyBpcyB1 c2VkIGZvciBwb2V0aWMgZWZmZWN0LiDigJxZb3Ugc2VsbCB5b3Vyc2VsZuKAnSBjb3VsZCBiZSAn J2RvIGRvIHZlY251JycsIHdoaWNoIHNvdW5kcyBiZXR0ZXIgdGhhbiAnJ2RvIHZlY251IGRvJycu IE9yIGl0IGNhbiBiZSB1c2VkIGZvciBjbGFyaXR5IGlmIHRoZSBzZWxicmkgaXMgdmVyeSBsb25n IGFuZCB0aGVyZWZvcmUgYmV0dGVyIGJlIGxlZnQgYXQgdGhlIGVuZCBvZiB0aGUgYnJpZGkuCgoK ClRoZXJlIGFyZSBhbHNvIHNldmVyYWwgd2F5cyB0byBwbGF5IGFyb3VuZCB3aXRoIHRoZSBvcmRl ciBvZiB0aGUgc3VtdGkgaW5zaWRlIHRoZSBicmlkaS4gVGhlIGVhc2llc3Qgb25lIGlzIGJ5IHVz aW5nIHRoZSB3b3JkcyAnJ2ZhJycsICcnZmUnJywgJydmaScnLCAnJ2ZvJycgYW5kICcnZnUnJy4g Tm90aWNlIHRoYXQgdGhlIHZvd2VscyBhcmUgdGhlIGZpdmUgdm93ZWxzIGluIHRoZSBMb2piYW4g YWxwaGFiZXQgaW4gb3JkZXIuIFVzaW5nIG9uZSBvZiB0aGVzZSB3b3JkcyBtYXJrcyB0aGF0IHRo ZSBuZXh0IHN1bXRpIHdpbGwgZmlsbCB0aGUgeDEsIHgyLCB4MywgeDQgYW5kIHg1IHJlc3BlY3Rp dmVseS4gVGhlIG5leHQgc3VtdGkgYWZ0ZXIgdGhhdCB3aWxsIGJlIHByZXN1bWVkIHRvIGZpbGwg YSBzbG90IG9uZSBncmVhdGVyIHRoYW4gdGhlIHByZXZpb3VzLiBUbyB1c2UgYW4gZXhhbXBsZToK CicnZHVuZGEgZmEgZG8gZmUgdGkgZG8nJyDigJMg4oCcR2l2aW5nIGJ5IHlvdSBvZiB0aGlzIHRo aW5nIHRvIHlvdeKAnS4gJydmYScnIG1hcmtzIHRoZSB4MSwgdGhlIGdpdmVyLCB3aGljaCBpcyB5 b3UuICcnZmUnJyBtYXJrcyB0aGUgdGhpbmcgYmVpbmcgZ2l2ZW4sIHRoZSB4Mi4gU3VtdGkgY291 bnRpbmcgdGhlbiBjb250aW51ZXMgZnJvbSAnJ2ZlJycsIG1lYW5pbmcgdGhhdCB0aGUgbGFzdCBz dW10aSBmaWxscyB4MywgdGhlIG9iamVjdCByZWNlaXZpbmcuCgoKCkF0dGVtcHQgdG8gdHJhbnNs YXRlIHRoZSBmb2xsb3dpbmcgdGhyZWUgc2VudGVuY2VzOgoKCgonJ21pIHZlY251IGZvIHRpIGZl IGRvJycKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJ1JIHNlbGwsIGZvciB0aGUgcHJpY2Ugb2Yg dGhpcywgeW914oCdLiBvciDigJxJIHNlbGwgeW91IGZvciB0aGUgcHJpY2Ugb2YgdGhpc+KAnSAo cHJvYmFibHkgcG9pbnRpbmcgdG8gYSBidW5jaCBvZiBtb25leSl+fgoKCgonJ3pkYW5pIGZlIHRp JycKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxUaGlzIGhhcyBhIGhvbWXigJ0uIEhlcmUsIHRo ZSBmZSBpcyByZWR1bmRhbnQufn4KCgoKJyd2ZWNudSB6bydlIG1pIHRpIGZhIGRvJycKCgoKQW5z d2VyOiB+fmdyZXksZ3JleTrigJxZb3Ugc2VsbCBzb21ldGhpbmcgdG8gbWUgZm9yIHRoaXMgcHJp Y2XigJ1+fgoKCgoKCiEhTG9qYmFuIExlc3NvbnMg4oCTIGxlc3NvbiB0aHJlZSAodGFucnUgYW5k IGxvKQoKSW4gdGhpcyBsZXNzb24sIHlvdSB3aWxsIGJlY29tZSBmYW1pbGlhciB3aXRoIHRoZSBj b25jZXB0IG9mIGEgJyd0YW5ydScnLiBBIHRhbnJ1IGlzIGZvcm1lZCB3aGVuIGEgc2VsYnJpIGlz IHB1dCBpbiBmcm9udCBvZiBhbm90aGVyIHNlbGJyaSwgbW9kaWZ5aW5nIGl0cyBtZWFuaW5nLiBB IHRhbnJ1IGlzIGl0c2VsZiBhIHNlbGJyaSwgYW5kIGNhbiBjb21iaW5lIHdpdGggb3RoZXIgc2Vs YnJpIG9yIHRhbnJ1IHRvIGZvcm0gbW9yZSBjb21wbGV4IHRhbnJ1LiBUaHVzICcnemRhbmkgdmVj bnUnJyBpcyBhIHRhbnJ1LCBhcyB3ZWxsIGFzICAnJ3BlbHh1IHpkYW5pIHZlY251JycsIHdoaWNo IGlzIG1hZGUgZnJvbSB0aGUgdGFucnUgJydwZWx4dSB6ZGFuaScnIGFuZCB0aGUgc2luZ2xlIGJy aXZsYSB3b3JkICcndmVjbnUnJy4gVG8gdW5kZXJzdGFuZCB0aGUgY29uY2VwdCBvZiB0YW5ydSwg Y29uc2lkZXIgdGhlIEVuZ2xpc2ggbm91biBjb21iaW5hdGlvbiDigJxsZW1vbiB0cmVl4oCdLiBJ ZiB5b3UgZGlkbid0IGtub3cgd2hhdCBhIGxlbW9uIHRyZWUgd2FzLCBidXQgaGFkIGhlYXJkIGFi b3V0IGJvdGggbGVtb25zIGFuZCB0cmVlcywgeW91IHdvdWxkIG5vdCBiZSBhYmxlIHRvIGRlZHVj ZSB3aGF0IGEgbGVtb24gdHJlZSB3YXMuIFBlcmhhcHMgYSBsZW1vbi1jb2xvcmVkIHRyZWUsIG9y IGEgdHJlZSBzaGFwZWQgbGlrZSBhIGxlbW9uLCBvciBhIHRyZWUgd2hvc2UgYmFyayB0YXN0ZXMg bGlrZSBsZW1vbi4gVGhlIG9ubHkgdGhpbmdzIHlvdSBjb3VsZCBrbm93IGZvciBzdXJlIHdvdWxk IGJlIHRoYXQgaXQgd291bGQgYmUgYSB0cmVlLCBhbmQgaXQgd291bGQgYmUgbGVtb24tbGlrZSBp biBzb21lIHdheS4KCkEgdGFucnUgaXMgY2xvc2VseSBhbmFsb2dvdXMgdG8gdGhpcy4gSXQgY2Fu bm90IGJlIHNhaWQgZXhhY3RseSB3aGF0IGEgJyd6ZGFuaSB2ZWNudScnIGlzLCBidXQgaXQgY2Fu IGJlIHNhaWQgdGhhdCBpdCBpcyBkZWZpbml0ZWx5IGEgdmVjbnUsIGFuZCB0aGF0IGl0J3MgemRh bmktbGlrZSBpbiBzb21lIHdheS4gQW5kIGl0IGNvdWxkIGJlIHpkYW5pLWxpa2UgaW4gYW55IHdh eS4gSW4gdGhlb3J5LCBubyBtYXR0ZXIgaG93IHNpbGx5IG9yIGFic3VyZCB0aGUgY29ubmVjdGlv biB0byB6ZGFuaSB3YXMsIGl0IGNvdWxkIHN0aWxsIHRydWx5IGJlIGEgJyd6ZGFuaSB2ZWNudScn LiBIb3dldmVyLCBpdCBtdXN0IGFjdHVhbGx5IGJlIGEgdmVjbnUgaW4gdGhlIG9yZGluYXJ5IHNl bnNlIGluIG9yZGVyIGZvciB0aGUgdGFucnUgdG8gYXBwbHkuIFlvdSBjb3VsZCBnbG9zcyAnJ3pk YW5pIHZlY251JycgYXMg4oCcaG9tZSBzZWxsZXLigJ0sIG9yIGV2ZW4gYmV0dGVyIGJ1dCB3b3Jz ZSBzb3VuZGluZyDigJxhIGhvbWUtdHlwZS1vZiBzZWxsZXLigJ0uIFRoZSBwbGFjZSBzdHJ1Y3R1 cmUgb2YgYSB0YW5ydSBpcyBhbHdheXMgdGhhdCBvZiB0aGUgcmlnaHRtb3N0IHNlbGJyaS4gSXQn cyBhbHNvIHNhaWQgdGhhdCB0aGUgbGVmdCBzZWxicmkgbW9kaWZpZXMgdGhlIHJpZ2h0IHNlbGJy aS4KCuKAnFJlYWxseT/igJ0sIHlvdSBhc2ssIHNjZXB0aWNhbGx5LCDigJxJdCBkb2Vzbid0IG1h dHRlciBob3cgc2lsbHkgdGhlIGNvbm5lY3Rpb24gdG8gdGhlIGxlZnQgd29yZCBpbiBhIHRhbnJ1 IGlzLCBpdCdzIHN0aWxsIHRydWU/IFNvIEkgY291bGQgY2FsbCBhbGwgc2VsbGVycyBmb3IgJyd6 ZGFuaSB2ZWNudScnIGFuZCB0aGVuIG1ha2UgdXAgc29tZSBzaWxseSBleGN1c2Ugd2h5IEkgdGhp bmsgaXQncyB6ZGFuaS1saWtlP+KAnQoKV2VsbCB5ZXMsIGJ1dCB0aGVuIHlvdSdkIGJlIGEgZGlj ay4gT3IgYXQgbGVhc3QgeW91J2QgYmUgaW50ZW50aW9uYWxseSBtaXNsZWFkaW5nLiBJbiBnZW5l cmFsLCB5b3Ugc2hvdWxkIHVzZSBhIHRhbnJ1IHdoZW4gaXQncyBvYnZpb3VzIGhvdyB0aGUgbGVm dCB3b3JkIHJlbGF0ZXMgdG8gdGhlIHJpZ2h0LgoKCgpBdHRlbXB0IHRvIHRyYW5zbGF0ZSB0aGUg Zm9sbG93aW5nOiAnJ3RpIHBlbHh1IHpkYW5pIGRvJycKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTri gJxUaGF0IGlzIGEgeWVsbG93IGhvbWUgZm9yIHlvdeKAnSBBZ2Fpbiwgd2UgZG9uJ3Qga25vdyBp biB3aGljaCB3YXkgaXQncyB5ZWxsb3cuIFByb2JhYmx5IGl0J3MgcGFpbnRlZCB5ZWxsb3csIGJ1 dCB3ZSBkb24ndCBrbm93IGZvciBzdXJlLn5+CgoKCicnbWkgdmVjbnUgZHVuZGEnJwoKCgpBbnN3 ZXI6IH5+Z3JleSxncmV5OuKAnEkgc2VsbC1saWtlIGdpdmXigJ0uIFdoYXQgY2FuIHRoYXQgbWVh bj8gTm8gaWRlYS4gSXQgY2VydGFpbmx5IGRvZXNuJ3QgbWVhbiB0aGF0IHlvdSBzb2xkIHNvbWV0 aGluZywgc2luY2UsIGJ5IGRlZmluaXRpb24gb2YgJydkdW5kYScnLCB0aGVyZSBjYW4gYmUgbm8g cGF5bWVudCBpbnZvbHZlZC4gSXQgaGFzIHRvIGJlIGEgZ2l2ZWF3YXksIGJ1dCBiZSBzZWxsLWxp a2UgaW4gc29tZSBhc3BlY3Qufn4KCgoKQW5kIG5vdyBmb3Igc29tZXRoaW5nIGNvbXBsZXRlbHkg ZGlmZmVyZW50LiBXaGF0IGlmIEkgd2FudGVkIHRvIHNheSBJIHNvbGQgdG8gYSBHZXJtYW4/Cgon J19fZG90Y29fXycnIHgxIGlzIEdlcm1hbi9yZWZsZWN0cyBHZXJtYW4gY3VsdHVyZSBpbiBhc3Bl Y3QgeDIKCgoKSSBjYW4ndCBzYXkgJydtaSB2ZWNudSB6bydlIGRvdGNvJycgYmVjYXVzZSB0aGF0 IHdvdWxkIGxlYXZlIHR3byBzZWxicmkgaW4gYSBicmlkaSwgd2hpY2ggaXMgbm90IHBlcm1pdHRl ZC4gSSBjb3VsZCBzYXkgJydtaSBkb3RjbyB2ZWNudScnIGJ1dCB0aGF0IHdvdWxkIGJlIHVubmVj ZXNzYXJ5IHZhZ3VlIC0gSSBjb3VsZCBzZWxsIGluIGEgR2VybWFuIHdheS4gTGlrZXdpc2UsIGlm IEkgd2FudCB0byBzYXkg4oCcSSBhbSBmcmllbmRzIHdpdGggYW4gQW1lcmljYW7igJ0sIHdoYXQg c2hvdWxkIEkgc2F5PwoKJydfX3BlbmRvX18nJyAxeCBpcyBhIGZyaWVuZCBvZiB4MgoKJydfX21l cmtvX18nJyB4MSBpcyBBbWVyaWNhbi9yZWZsZWN0IFVTIGN1bHR1cmUgaW4gYXNwZWN0IHgyCgoK CkFnYWluLCB0aGUgb2J2aW91cyB3b3VsZCBiZSB0byBzYXkgJydtaSBwZW5kbyBtZXJrbycnLCBi dXQgdGhhdCB3b3VsZCBmb3JtIGEgdGFucnUsIG1lYW5pbmcg4oCcSSBhbSBmcmllbmQtbGlrZSBB bWVyaWNhbuKAnSwgd2hpY2ggaXMgd3JvbmcuIFdoYXQgd2UgcmVhbGx5IHdhbnQgdG8gaXMgdG8g dGFrZSB0aGUgc2VsYnJpICcnbWVya28nJyBhbmQgdHJhbnNmb3JtIGl0IGludG8gYSBzdW10aSBz byBpdCBjYW4gYmUgdXNlZCBpbiB0aGUgc2VsYnJpICcncGVuZG8nJy4gVGhpcyBpcyBkb25lIGJ5 IHRoZSB0d28gd29yZHMgJydsbycnIGFuZCAnJ2t1JycuCgpfXycnbG8nJ19fIOKAkyBnZW5lcmlj IGJlZ2luIGNvbnZlcnQgc2VsYnJpIHRvIHN1bXRpIHdvcmQuIEV4dHJhY3RzIHgxIG9mIHNlbGJy aSB0byB1c2UgYXMgc3VtdGkuCgpfXycna3UnJ19fIOKAkyBlbmQgY29udmVydCBzZWxicmkgdG8g c3VtdGkgcHJvY2Vzcy4KCgoKWW91IHNpbXBseSBwbGFjZSBhIHNlbGJyaSBiZXR3ZWVuIHRoZXNl IHR3byB3b3JkcywgYW5kIGl0IHRha2VzIGFueXRoaW5nIHRoYXQgY2FuIGZpbGwgdGhlIHgxIG9m IHRoYXQgc2VsYnJpIGFuZCB0dXJucyBpdCBpbnRvIGEgc3VtdGkuCgpTbyBmb3IgaW5zdGFuY2Us IHRoZSB0aGluZ3MgdGhhdCBjYW4gZmlsbCB6ZGFuaeKAmHMgeDEgYXJlIG9ubHkgdGhpbmdzIHdo aWNoIGFyZSBob21lcyBvZiBzb21lYm9keS4gU28gJydsbyB6ZGFuaSBrdScnIG1lYW5zIOKAnGEg aG9tZSBvciBzb21lIGhvbWVzIGZvciBzb21lYm9keS7igJ0gU2ltaWxhcmx5LCBpZiBJIHNheSB0 aGF0IHNvbWV0aGluZyBpcyBwZWx4dSwgaXQgbWVhbnMgaXQncyB5ZWxsb3cuIFNvICcnbG8gcGVs eHUga3UnJyByZWZlcnMgdG8gc29tZXRoaW5nIHllbGxvdy4KCgoKTm93IHlvdSBoYXZlIHRoZSBu ZWNlc3NhcnkgZ3JhbW1hciB0byBiZSBhYmxlIHRvIHNheSDigJxJIGFtIGZyaWVuZHMgd2l0aCBh biBBbWVyaWNhbi7igJ0gSG93PwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnbWkgcGVuZG8gbG8g bWVya28ga3UnJ35+CgoKClRoZXJlIGlzIGEgZ29vZCByZWFzb24gd2h5IHRoZSAnJ2t1JycgaXMg bmVjZXNzYXJ5LiBUcnkgdG8gdHJhbnNsYXRlIOKAnEEgR2VybWFuIHNlbGxzIHRoaXMgdG8gbWXi gJ0KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ2xvIGRvdGNvIGt1IHZlY251IHRpIG1pJycgSWYg eW91IGxlYXZlIG91dCB0aGUga3UsIHlvdSBkbyBub3QgZ2V0IGEgYnJpZGksIGJ1dCBzaW1wbHkg dGhyZWUgc3VtdGkuIFNpbmNlIGxv4oCma3UgY2Fubm90IGNvbnZlcnQgYnJpZGksIHRoZSB0aSBp cyBmb3JjZWQgb3V0c2lkZSB0aGUgc3VtdGksIHRoZSBsby1jb25zdHJ1Y3QgaXMgZm9yY2VkIHRv IGNsb3NlIGFuZCBpdCBzaW1wbHkgYmVjb21lcyB0aGUgdGhyZWUgc3VtdGkgb2YgJydsbyBkb3Rj byB2ZWNudSB7a3V9JycsICcndGknJyBhbmQgJydtaScnLn5+CgoKCllvdSBhbHdheXMgaGF2ZSB0 byBiZSBjYXJlZnVsIHdpdGgganVmcmEgbGlrZSAnJ2xvIHpkYW5pIGt1IHBlbHh1JycuIElmIHRo ZSAnJ2t1JycgaXMgbGVmdCBvdXQgdGhlIGNvbnZlcnNpb24gcHJvY2VzcyBkb2VzIG5vdCBlbmQs IGFuZCBpdCBzaW1wbHkgYmVjb21lcyBvbmUgc3VtdGksIG1hZGUgZnJvbSB0aGUgdGFucnUgJyd6 ZGFuaSBwZWx4dScnIGFuZCB0aGVuIGNvbnZlcnRlZCB3aXRoICcnbG8nJy4KCgoKCgohIUxvamJh biBMZXNzb25zIOKAkyBsZXNzb24gZm91ciAoYXR0aXR1ZGluYWxzKQoKQW5vdGhlciBjb25jZXB0 IHdoaWNoIGNhbiBiZSB1bmZhbWlsaWFyIHRvIEVuZ2xpc2ggc3BlYWtlcnMgaXMgdGhhdCBvZiBh dHRpdHVkaW5hbHMuIEF0dGl0dWRpbmFscyBhcmUgd29yZHMgdGhhdCBleHByZXNzIGVtb3Rpb25z IGRpcmVjdGx5LiBUaGUgaWRlYSBvZiBhdHRpdHVkaW5hbHMgb3JpZ2luYXRlZCBpbiB0aGUgZmVt aW5pc3QgY29uc3RydWN0ZWQgbGFuZ3VhZ2UgTGFkYW4sIHN1cHBvc2VkbHkgdG8gZW5hYmxlIHRy dWUgZmVtYWxlIGVtb3Rpb25zLiBUaGUgaWRlYSB3YXMgdGhhdCBmZW1hbGUgZW1vdGlvbmFsIGV4 cHJlc3Npb24gd2FzIGhpbmRlcmVkIGJ5IG1hbGUgZG9taW5hdGVkIGxhbmd1YWdlLCBhbmQgaWYg b25seSB0aGV5IHdlcmUgYWJsZSB0byBiZSBleHByZXNzZWQgbW9yZSBmcmVlbHksIHRoaXMgd291 bGQgZW1wb3dlciB3b21lbiB0aHJvdWdoIGxpYmVyYXRpb24gb2YgdGhlIGxhbmd1YWdlLgoKSW4g TG9qYmFuLCB0aGVyZSBpcyBubyBzdWNoIGFnZW5kYSwgYW5kIGF0dGl0dWRpbmFscyBtb3N0IHBy b2JhYmx5IGhhdmUgYmVlbiBkZXNpZ25lZCBpbnRvIHRoZSBsYW5ndWFnZSBiZWNhdXNlIHRoZXkg dHVybmVkIG91dCB0byBiZSBpbmNyZWRpYmx5IGF3ZXNvbWUgYW5kIHVzZWZ1bC4gVGhleSBhbGwg aGF2ZSBhIHNvLWNhbGxlZCBmcmVlIGdyYW1tYXIsIHdoaWNoIG1lYW5zIHRoYXQgdGhleSBjYW4g YXBwZWFyIGFsbW9zdCBhbnl3aGVyZSB3aXRoaW4gYnJpZGkgd2l0aG91dCBkaXNydXB0aW5nIHRo ZSBicmlkaSdzIGdyYW1tYXIgb3IgYW55IGdyYW1tYXRpY2FsIGNvbnN0cnVjdHMuCgpJbiBMb2pi YW4gZ3JhbW1hciwgYW4gYXR0aXR1ZGluYWwgYXBwbGllcyB0byB0aGUgcHJldmlvdXMgd29yZC4g SWYgdGhhdCBwcmV2aW91cyB3b3JkIGlzIGEgd29yZCB3aGljaCBiZWdpbnMgYSBjb25zdHJ1Y3Qg KGxpa2UgJycuaScnIG9yICcnbG8nJyksIGl0IGFwcGxpZXMgdG8gdGhlIGVudGlyZSBjb25zdHJ1 Y3QuIExpa2V3aXNlLCBpZiB0aGUgYXR0aXR1ZGluYWwgZm9sbG93cyBhIHdvcmQgd2hpY2ggZW5k cyBhIGNvbnN0cnVjdCBsaWtlICcna3UnJywgaXQgYXBwbGllcyB0byB0aGUgZW5kZWQgY29uc3Ry dWN0LgoKCgpMZXQncyBoYXZlIHR3byBhdHRpdHVkaW5hbHMgdG8gbWFrZSBzb21lIGV4YW1wbGVz OgoKX18nJy51aScnX186IGF0dGl0dWRpbmFsOiBzaW1wbGUgcHVyZSBlbW90aW9uOiBoYXBwaW5l c3MgLSB1bmhhcHBpbmVzcwoKX18nJ3phJ2EnJ19fOiBhdHRpdHVkaW5hbDogZXZpZGVudGlhbDog SSBkaXJlY3RseSBvYnNlcnZlCgoKCk5vdGUgdGhhdCBpbiB0aGUgZGVmaW5pdGlvbiBvZiAnJy51 aScnLCB0aGVyZSBhcmUgbGlzdGVkIHR3byBlbW90aW9ucywgaGFwcGluZXNzIGFuZCB1bmhhcHBp bmVzcy4gVGhpcyBtZWFucyB0aGF0ICcnLnVpJycgaXMgZGVmaW5lZCBhcyBoYXBwaW5lc3MsIHdo aWxlIGl0cyDigJxuZWdhdGlvbuKAnSwgbWVhbnMgdW5oYXBwaW5lc3MuIOKAnE5lZ2F0aW9u4oCd IG1pZ2h0IGJlIHRoZSB3cm9uZyB3b3JkIGhlcmUuIFRlY2huaWNhbGx5LCB0aGUgb3RoZXIgZGVm aW5pdGlvbiBvZiAnJy51aScnIGlzIGFub3RoZXIgY29uc3RydWN0LCAnJy51aSBuYWknJy4gTW9z dCBvZiB0aGUgdGltZSwgdGhlIHNlY29uZCBkZWZpbml0aW9uIG9mIGF0dGl0dWRpbmFscyAtIHRo ZSBvbmVzIHN1ZmZpeGVkIHdpdGggJyduYWknJyAtIHJlYWxseSBpcyB0aGUgbmVnYXRpb24gb2Yg dGhlIGJhcmUgYXR0aXR1ZGluYWwuIE90aGVyIHRpbWVzLCBub3Qgc28gbXVjaC4KCl9fJyduYWkn J19fIG1pc2MuIG5lZ2F0aW9uIC0gYXR0YWNoZWQgdG8gYXR0aXR1ZGluYWxzLCBpdCBjaGFuZ2Vz IHRoZSBtZWFuaW5nIGludG8gdGhlIGF0dGl0dWRpbmFsJ3MgIm5lZ2F0aW9uIgoKCgpBbmQgc29t ZSBtb3JlIHNlbGJyaSwganVzdCBmb3IgdGhlIGhlY2sgb2YgaXQ6CgpfXycnY2l0a2EnJ19fIOKA kyB4MSBlYXRzIHgyCgpfXycncGxpc2UnJ19fIOKAkyB4MSBpcyBhbiBhcHBsZSBvZiBzdHJhaW4v dHlwZSB4MgoKCgpUaGUgc2VudGVuY2UgJydkbyBjaXRrYSBsbyBwbGlzZSBrdSAudWknJywgbWVh bnMg4oCcWW91IGVhdCBhbiBhcHBsZSwgeWF5IeKAnSAoZXNwZWNpYWxseSBleHByZXNzaW5nIHRo YXQgaXQgaXMgdGhlIF9fYXBwbGVfXyB0aGF0IHRoZSBzcGVha2VyIGlzIGhhcHB5IGFib3V0LCBu b3QgdGhlIGVhdGluZywgb3IgdGhlIGZhY3QgdGhhdCBpdCB3YXMgeW91LikgSW4gdGhlIHNlbnRl bmNlICcnZG8gemEnYSBjaXRrYSBsbyBwbGlzZSBrdScnLCB0aGUgc3BlYWtlciBkaXJlY3RseSBv YnNlcnZlcyB0aGF0IGl0IGlzIGluZGVlZCB0aGUgX1/igJx5b3XigJ1fXywgd2hvIGVhdHMgYW4g YXBwbGUgYXMgb3Bwb3NlZCB0byBzb21lb25lIGVsc2UuCgoKCklmIGFuIGF0dGl0dWRpbmFsIGlz IHBsYWNlZCBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBicmlkaSwgaXQgaXMgdW5kZXJzdG9vZCB0 byBhcHBseSB0byBhbiBleHBsaWNpdCBvciBpbXBsaWNpdCAnJy5pJycsIHRodXMgYXBwbHlpbmcg dG8gdGhlIGVudGlyZSBicmlkaToKCicnLnVpIHphJ2EgZG8gZHVuZGEgbG8gcGxpc2Uga3UgbWkn JyDigJMg4oCcWWF5LCBJIG9ic2VydmUgdGhhdCB5b3UgZ2l2ZSBhbi9zb21lIGFwcGxlIHRvIG1l IeKAnQoKCgonJ21pIHZlY251IC51aSBuYWkgbG8gemRhbmkga3UnJyDigJxJIHNlbGwgKHdoaWNo IHN1Y2tzISkgYSBob21l4oCdLgoKCgpUcnkgaXQgb3V0IHdpdGggYSBmZXcgZXhhbXBsZXMuIEZp cnN0LCB0aG91Z2gsIGhlcmUgYXJlIHNvbWUgbW9yZSBhdHRpdHVkaW5hbHM6CgpfXycnLnUndScn X18gYXR0aXR1ZGluYWw6IHNpbXBsZSBwdXJlIGVtb3Rpb246IGd1aWx0IC0gcmVtb3JzZWxlc3Nu ZXNzIC0gaW5ub2NlbmNlLgoKX18nJy5vaScnX18gYXR0aXR1ZGluYWw6IGNvbXBsZXggcHVyZSBl bW90aW9uOiBjb21wbGFpbnQgLSBwbGVhc3VyZS4KCl9fJycuaXUnJ19fIGF0dGl0dWRpbmFsOiBt aXNjZWxsYW5lb3VzIHB1cmUgZW1vdGlvbjogbG92ZSAtIGhhdGUuCgoKCkxvb2sgYXQgdGhhdCwg YSB3b3JkIHdpdGggdGhyZWUgZW1vdGlvbnMgaW4gdGhlIGRlZmluaXRpb24hIFRoZSBtaWRkbGUg b25lIGlzIGFjY2Vzc2VkIGJ5IHN1ZmZpeGlubmcgd2l0aCAnJ2N1J2knJy4gSXQncyBjb25zaWRl cmVkIHRoZSBtaWRwb2ludCBvZiB0aGUgZW1vdGlvbi4KCl9fJydjdSdpJydfXyBhdHRpdHVkaW5h bCBtaWRwb2ludCBzY2FsYXI6IGF0dGFjaCB0byBhdHRpdHVkaW5hbCB0byBjaGFuZ2UgdGhlIG1l YW5pbmcgdG8gdGhlICJtaWRwb2ludCIgb2YgdGhlIGVtb3Rpb24uCgoKClRyeSBzYXlpbmcg4oCc SSBnaXZlIHNvbWV0aGluZyB0byBhIEdlcm1hbiwgd2hvIEkgbG92ZeKAnQoKCgpBbnN3ZXI6IH5+ Z3JleSxncmV5OicnbWkgZHVuZGEgZmkgbG8gZG90Y28ga3UgLml1Jycgb3IgJyd6bydlJycgaW5z dGVhZCBvZiAnJ2ZpJyd+fgoKCgpOb3cg4oCcQWFoLCBJIGVhdCBhIHllbGxvdyBhcHBsZeKAnQoK QW5zd2VyOiB+fmdyZXksZ3JleTonJy5vaSBuYWkgbWkgY2l0a2EgbG8gcGVseHUgcGxpc2Uga3Un J35+CgoKCkxldCdzIGhhdmUgYW5vdGhlciBhdHRpdHVkaW5hbCBvZiBhIGRpZmZlcmVudCBraW5k IHRvIGlsbHVzdHJhdGUgc29tZXRoaW5nIHBlY3VsaWFyOgoKJycuZWknJyBBdHRpdHVkaW5hbDog Y29tcGxleCBwcm9wb3NpdGlvbmFsIGVtb3Rpb246IG9ibGlnYXRpb24gLSBmcmVlZG9tLgoKCgpT bywgcXVpdGUgZWFzeTog4oCcSSBoYXZlIHRvIGdpdmUgdGhlIGFwcGxlIGF3YXnigJ0gaXMgJydt aSBkdW5kYSAuZWkgbG8gcGxpc2Uga3UnJywgcmlnaHQ/IEl0IGlzLCBhY3R1YWxseSEgV2hlbiB5 b3UgdGhpbmsgYWJvdXQgaXQsIHRoYXQncyB3ZWlyZC4gV2h5IGlzIGl0IHRoYXQgYWxsIHRoZSBv dGhlciBhdHRpdHVkaW5hbHMgd2UgaGF2ZSBzZWVuIHNvIGZhciBleHByZXNzZXMgdGhlIHNwZWFr ZXIncyBmZWVsaW5nIGFib3V0IHRoZSBicmlkaSwgYnV0IHRoaXMgb25lIGFjdHVhbGx5IGNoYW5n ZXMgd2hhdCB0aGUgYnJpZGkgbWVhbnM/IFN1cmVseSwgYnkgc2F5aW5nIOKAnEkgaGF2ZSB0byBn aXZlIHRoZSBhcHBsZSBhd2F54oCdLCB3ZSBzYXkgbm90aGluZyBhYm91dCB3aGV0aGVyIHRoZSBh cHBsZSBhY3R1YWxseSBpcyBiZWluZyBnaXZlbiBhd2F5LiBJZiBJIGhhZCB1c2VkICcnLnVpJycs IGhvd2V2ZXIsIEkgd291bGQgYWN0dWFsbHkgaGF2ZSBzdGF0ZWQgdGhhdCBJIGdhdmUgdGhlIGFw cGxlIGF3YXksIGFuZCB0aGF0IEkgd2FzIGhhcHB5IGFib3V0IGl0LiBXaGF0J3MgdGhhdCBhbGwg YWJvdXQ/CgoKClRoaXMgaXNzdWUsIGV4YWN0bHkgaG93IGF0dGl0dWRpbmFscyBjaGFuZ2UgdGhl IGNvbmRpdGlvbnMgb24gd2hpY2ggYSBicmlkaSBpcyB0cnVlLCBpcyBhIHN1YmplY3Qgb2YgYSBt aW5vciBkZWJhdGUuIFRoZSBvZmZpY2lhbCwg4oCcdGV4dGJvb2vigJ0gcnVsZSwgd2hpY2ggcHJv YmFibHkgd29uJ3QgYmUgY2hhbmdlZCwgaXMgdGhhdCB0aGVyZSBpcyBhIGRpc3RpbmN0aW9uIGJl dHdlZW4g4oCccHVyZSBlbW90aW9uc+KAnSBhbmQg4oCccHJvcG9zaXRpb25hbCBlbW90aW9uc+KA nS4gT25seSBwcm9wb3N0aW9uYWwgZW1vdGlvbnMgY2FuIGNoYW5nZSB0aGUgdHJ1dGggY29uZGl0 aW9ucywgd2hpbGUgcHVyZSBlbW90aW9ucyBjYW5ub3QuIEluIG9yZGVyIHRvIGV4cHJlc3MgYSBw cm9wb3NpdGlvbmFsIGVtb3Rpb25hbCBhdHRpdHVkaW5hbCB3aXRob3V0IGNoYW5naW5nIHRoZSB0 cnV0aCB2YWx1ZSBvZiB0aGUgYnJpZGksIHlvdSBjYW4ganVzdCBzZXBhcmF0ZSBpdCBmcm9tIHRo ZSBicmlkaSB3aXRoICcnLmknJy4gVGhlcmUgaXMgYWxzbyBhIHdvcmQgZm9yIGV4cGxpY2l0bHkg Y29uc2VydmluZyBvciBjaGFuZ2luZyB0aGUgdHJ1dGggY29uZGl0aW9ucyBvZiBhIGJyaWRpOgoK CgpfXycnZGEnaScnX18gYXR0aXR1ZGluYWw6IGRpc2N1cnNpdmU6IHN1cHBvc2luZyAtIGluIGZh Y3QKClNheWluZyAnJ2RhJ2knJyBpbiBhIGJyaWRpIGNoYW5nZXMgdGhlIHRydXRoIGNvbmRpdGlv bnMgdG8gaHlwb3RoZXRpY2FsLCB3aGljaCBpcyB0aGUgZGVmYXVsdCB1c2luZyBwcm9wb3NpdGlv bmFsIGF0dGl0dWRpbmFscy4gU2F5aW5nICcnZGEnaSBuYWknJyBjaGFuZ2VzIHRoZSB0cnV0aCBj b25kaXRpb24gdG8gdGhlIG5vcm1hbCwgd2hpY2ggaXMgZGVmYXVsdCB1c2luZyBwdXJlIGF0dGl0 dWRpbmFscy4KCgoKU28sIHdoYXQncyB0d28gd2F5cyBvZiBzYXlpbmcg4oCcSSBnaXZlIHRoZSBh cHBsZSBhd2F54oCdPyAoYW5kIGZlZWwgb2JsaWdhdGlvbiBhYm91dCBpdCkKCgoKQW5zd2VyOiB+ fmdyZXksZ3JleTonJ21pIGR1bmRhIGxvIHBsaXNlIC5pIC5laScnICBhbmQgJydtaSBkdW5kYSBk YSdpIG5haSAuZWkgbG8gcGxpc2UnJ35+CgoKClRoZSBmZWVsaW5nIG9mIGFuIGF0dGl0dWRpbmFs IGNhbiBiZSBzdWJzY3JpYmVkIHRvIHNvbWVvbmUgZWxzZSB1c2luZyAnJ2RhaScnLiBVc3VhbGx5 IGluIG9yZGluYXJ5IHNwZWVjaCwgdGhlIGF0dGl0dWRpbmFsIGlzIHN1YnNjcmliZWQgdG8gdGhl IGxpc3RlbmVyLCBidXQgaXQgZG9lc24ndCBoYXZlIHRvIGJlIHNvLiBBbHNvLCBiZWNhdXNlIHRo ZSB3b3JkIGlzIGdsb3NzZWQg4oCcZW1wYXRoeeKAnSAoZmVlbGluZyBvdGhlcnMgZW1vdGlvbnMp LCBzb21lIExvamJhbmlzdHMgbWlzdGFrZW5seSB0aGluayB0aGF0IHRoZSBzcGVha2VyIG11c3Qg c2hhcmUgdGhlIGVtb3Rpb24gYmVpbmcgc3Vic2NyaWJlZCB0byBvdGhlcnMuCgpfXycnZGFpJydf XyBhdHRpdHVkaW5hbCBtb2RpZnllcjogRW1wYXRoeSAoc3Vic2NyaWJlcyBhdHRpdHVkaW5hbCB0 byBzb21lb25lIGVsc2UsIHVuc3BlY2lmaWVkKQoKRXhhbXBsZTogJyd1J2kgLm9pIGRhaSBjaXRr YSB0aScnIC0g4oCcSGEgaGEsIHRoaXMgd2FzIGVhdGVuISBUaGF0IG11c3QgaGF2ZSBodXJ0IeKA nQoKCgpXaGF0IG9mdGVuIHVzZWQgcGhyYXNlIGNvdWxkICcnLm9pIHUnaSBkYWknJyBtZWFuPwoK CgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnE91Y2gsIHZlcnkgZnVubnku4oCdfn4KCgoKQW5kIGFu b3RoZXIgb25lIHRvIHRlc3QgeW91ciBrbm93bGVkZ2U6IFRyeSB0byB0cmFuc2xhdGUg4oCcSGUg d2FzIHNvcnJ5IGhlIHNvbGQgYSBob21l4oCdIChyZW1lbWJlcmluZywgdGhhdCB0ZW5zZSBpcyBp bXBsaWVkIGFuZCBuZWVkIG5vdCBiZSBzcGVjaWZpZWQuIEFsc28sIOKAnGhl4oCdIGNvdWxkIGJl IG9idmlvdXMgZnJvbSBjb250ZXh0KQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicndSd1IGRhaSB2 ZWNudSBsbyB6ZGFuaSBrdScnfn4KCgoKTGFzdGx5LCB0aGUgaW50ZW5zaXR5IG9mIGFuIGF0dGl0 dWRpbmFsIGNhbiBiZSBzcGVjaWZpZWQgdXNpbmcgY2VydGFpbiB3b3Jkcy4gVGhlc2UgY2FuIGJl IHVzZWQgYWZ0ZXIgYW4gYXR0aXR1ZGluYWwsIG9yIGFuIGF0dGl0dWRpbmFsIHdpdGggJyduYWkn JyBvciAnJ2N1J2knJyBzdWZmaXhlZC4gSXQncyBsZXNzIGNsZWFyIHdoYXQgaGFwcGVucyB3aGVu IHlvdSBhdHRhY2ggaXQgdG8gb3RoZXIgd29yZHMsIGxpa2UgYSBzZWxicmksIGJ1dCBpdCdzIG1v c3RseSB1bmRlcnN0b29kIGFzIGludGVuc2lmeWluZyBvciB3ZWFrZW5pbmcgdGhlIHNlbGJyaSBp biBzb21lIHVuc3BlY2lmaWVkIHdheToKCnx8IE1vZGlmeWluZyB3b3JkICB8IEludGVuc2l0eSAg CgogY2FpfCAgIEV4dHJlbWUKCiBzYWl8ICAgU3Ryb25nCgogKG5vbmUpfCAgIFVuc3BlY2lmaWVk IChtZWRpdW0pCgogcnUnZSAgfCAgIFdlYWt8fAoKCgpXaGF0IGVtb3Rpb24gaXMgZXhwcmVzc2Vk IHVzaW5nICcnLnUnaSBuYWkgc2FpJycgPwoKX18nJy51J2knJ19fOiBhdHRpdHVkaW5hbDogc2lt cGxlIHB1cmUgZW1vdGlvbjogYW11c2VtZW50IC0gd2VhcmluZXNzCgoKCkFuc3dlcjogfn5ncmV5 LGdyZXk6U3Ryb25nIHdlYXJpbmVzc35+CgoKCkFuZCBob3cgd291bGQgeW91IGV4cHJlc3MgdGhh dCB5b3UgYXJlIG1pbGRseSByZW1vcnNlbGVzcz8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJy51 J3UgY3UnaSBydSdlJyd+fgoKCgohIUxvamJhbiBsZXNzb25zIOKAkyBsZXNzb24gZml2ZSAoU0Up CgpCZWZvcmUgd2UgdmVudHVyZSBpbnRvIHRoZSB0ZXJyaXRvcnkgb2YgbW9yZSBjb21wbGV4IGNv bnN0cnVjdHMsIHlvdSBzaG91bGQgbGVhcm4gYW5vdGhlciBtZWNoYW5pc20gZm9yIHJlb3JkZXJp bmcgdGhlIHN1bXRpIG9mIGEgc2VsYnJpLiBUaGlzLCBhcyB3ZSB3aWxsIHNob3csIGlzIHZlcnkg dXNlZnVsIGZvciBtYWtpbmcgZGVzY3JpcHRpb24tbGlrZSBzdW10aSAodGhlIGtpbmQgb2Ygc3Vt dGkgd2l0aCAnJ2xvJycpLgoKQ29uc2lkZXIgdGhlIHNlbnRlbmNlIOKAnEkgZWF0IGEgZ2lmdOKA nSwgd2hpY2ggbWlnaHQgYmUgYXBwcm9wcmlhdGUgaWYgdGhhdCBnaWZ0IGlzIGFuIGFwcGxlLiBU byB0cmFuc2xhdGUgdGhpcywgaXQgd291bGQgc2VlbSBuYXR1cmFsIHRvIGxvb2sgdXAgYSBzZWxi cmkgbWVhbmluZyDigJxnaWZ04oCdIGJlZm9yZSBjb250aW51aW5nLiBIb3dldmVyLCBpZiBvbmUg bG9va3MgY2FyZWZ1bGx5IGF0IHRoZSBkZWZpbml0aW9uIG9mICcnZHVuZGEnJywgeDEgZ2l2ZXMg eDIgdG8geDMsIG9uZSByZWFsaXplcyB0aGF0IHRoZSB4MiBvZiAnJ2R1bmRhJycgaXMgc29tZXRo aW5nIGdpdmVuIOKAkyBhIGdpZnQuCgpTbywgdG8gZXhwcmVzcyB0aGF0IHNlbnRlbmNlLCB3ZSBj YW4ndCBzYXkgJydtaSBjaXRrYSBsbyBkdW5kYSBrdScnLCBiZWNhdXNlICcnbG8gZHVuZGEga3Un JyB3b3VsZCBiZSB0aGUgeDEgb2YgJydkdW5kYScnLCB3aGljaCBpcyBhIGRvbm9yIG9mIGEgZ2lm dC4gQ2FubmliYWxpc20gYXNpZGUsIHdlIGRvbid0IHdhbnQgdG8gc2F5IHRoYXQuIFdoYXQgd2Ug d2FudCBpcyBhIHdheSB0byBleHRyYWN0IHRoZSB4MiBvZiBhIHNlbGJyaS4KClRoaXMgaXMgb25l IGV4YW1wbGUgd2hlcmUgaXQgaXMgdXNlZnVsIHRvIHVzZSB0aGUgd29yZCAnJ3NlJycuIFdoYXQg JydzZScnIGRvZXMgaXMgdG8gbW9kaWZ5IGEgc2VsYnJpIHN1Y2ggdGhhdCB0aGUgeDEgYW5kIHgy IG9mIHRoYXQgc2VsYnJpIHRyYWRlIHBsYWNlcy4gVGhlIGNvbnN0cnVjdCBvZiAnJ3NlJycgKyBz ZWxicmkgaXMgb24gaXRzIG93biBjb25zaWRlcmVkIG9uZSBzZWxicmkuIExldCdzIHRyeSB3aXRo IGFuIG9yZGluYXJ5IHNlbnRlbmNlOgoKX18nJ2ZhbnZhJydfXyA9IOKAnHgxIHRyYW5zbGF0ZXMg eDIgdG8gbGFuZ3VhZ2UgeDMgZnJvbSBsYW5ndWFnZSB4NCB3aXRoIHJlc3VsdCBvZiB0cmFuc2xh dGlvbiB4NeKAnQoKJyd0aSBzZSBmYW52YSBtaScnID0gJydtaSBmYW52YSB0aScnCgpUaGlzIGlz IHRyYW5zbGF0ZWQgYnkgbWUgKD0gSSB0cmFuc2xhdGUgdGhpcykuIE9mdGVuLCBidXQgbm90IGFs d2F5cywgYnJpZGkgd2l0aCAnJ3NlJyctY29uc3RydWN0cyBhcmUgdHJhbnNsYXRlZCB0byBzZW50 ZW5jZXMgd2l0aCB0aGUgcGFzc2l2ZSB2b2ljZSwgc2luY2UgdGhlIHgxIGlzIG9mdGVuIHRoZSBv YmplY3QgdGFraW5nIGFjdGlvbi4KCicnc2UnJyBoYXMgaXRzIG93biBmYW1pbHkgb2Ygd29yZHMu IEFsbCBvZiB0aGVtIHN3YXAgYSBkaWZmZXJlbnQgcGxhY2Ugd2l0aCB0aGUgeDEuCgp8fHNlCXxz d2FwIHgxIGFuZCB4MgoKdGUJfHN3YXAgeDEgYW5kIHgzCgp2ZQl8c3dhcCB4MSBhbmQgeDQKCnhl CXxzd2FwIHgxIGFuZCB4NXx8CgpOb3RlIHRoYXQgcywgdCwgdiwgYW5kIHggYXJlIGNvbnNlY3V0 aXZlIGNvbnNvbmFudHMgaW4gdGhlIGxvamJhbiBhbHBoYWJldC4KCgoKU286IFVzaW5nIHRoaXMg a25vd2xlZGdlLCB3aGF0IHdvdWxkICcndGkgeGUgZmFudmEgdGknJyBtZWFuPwoKCgpBbnN3ZXI6 IH5+Z3JleSxncmV5OuKAnFRoaXMgaXMgYSB0cmFuc2xhdGlvbiBvZiB0aGlz4oCdIChvciAnJ2Zh bnZhIHRpIGZ1IHRpJycpfn4KCgoKJydzZScnIGFuZCBpdHMgZmFtaWx5IGNhbiBvZiBjb3Vyc2Ug YmUgY29tYmluZWQgd2l0aCAnJ2ZhJycgYW5kIGl0cyBmYW1pbHkuIFRoZSByZXN1bHQgY2FuIGJl IHZlcnkgY29uZnVzaW5nIGluZGVlZCwgaWYgeW91IHdpc2ggdG8gbWFrZSBpdCBzbzoKCl9fJydr bGFtYScnX18gPSDigJx4MSB0cmF2ZWxzL2dvZXMgdG8geDIgZnJvbSB4MyB2aWEgeDQgdXNpbmcg eDUgYXMgdHJhbnNwb3J0YXRpb24gZGV2aWNl4oCdCgonJ2Z1IGxvIHpkYW5pIGt1IHRlIGtsYW1h IGZlIGRvIHRpIGZhIG1pJycgPSAnJ21pIHRlIGtsYW1hIGRvIHRpIGxvIHpkYW5pIGt1JycgYW5k IHNpbmNlICcndGUnJyBleGNoYW5nZXMgeDEgYW5kIHgzOiA9ICcndGkga2xhbWEgZG8gbWkgbG8g emRhbmkga3UnJwoK4oCcVGhpcyB0cmF2ZWxzIHRvIHlvdSBmcm9tIG1lIHZpYSBhIGhvbWUu4oCd IE9mIGNvdXJzZSwgbm8gb25lIHdvdWxkIG1ha2Ugc3VjaCBhIHNlbnRlbmNlIGV4Y2VwdCB0byBj b25mdXNlIHBlb3BsZSwgb3IgY3J1ZWxseSB0byB0ZXN0IHRoZWlyIHVuZGVyc3RhbmRpbmcgb2Yg TG9qYmFuIGdyYW1tYXIuCgpBbmQgdGh1cywgd2UgaGF2ZSBjb21lIHRvIHRoZSBwb2ludCB3aGVy ZSB3ZSBjYW4gc2F5IOKAnEkgZWF0IGEgZ2lmdC7igJ0uIFNpbXBseSBleGNoYW5nZSB0aGUgc3Vt dGkgcGxhY2VzIG9mICcnZHVuZGEnJyB0byBnZXQgdGhlIGdpZnQgdG8gYmUgeDEsIHRoZW4gZXh0 cmFjdCB0aGlzIG5ldyB4MSB3aXRoICcnbG8nJy4uLicna3UnJy4gU28sIGhvdyB3b3VsZCB5b3Ug c2F5IGl0PwoKT25lIChwb3NzaWJsZSkgYW5zd2VyOiB+fmdyZXksZ3JleTonJ21pIGNpdGthIGxv IHNlIGR1bmRhIGt1Jyd+fgoKVGhpcyBzaG93cyBvbmUgb2YgdGhlIG1hbnkgdXNlcyBmb3IgJydz ZScnIGFuZCBpdHMgZmFtaWx5LgoKCgoKCiEhTG9qYmFuIGxlc3NvbnMg4oCTIGxlc3NvbiBzaXgg KGFic3RyYWN0aW9ucykKClNvIGZhciB3ZSBoYXZlIG9ubHkgZXhwcmVzc2VkIHNpbmdsZSBzZW50 ZW5jZXMgb25lIGF0IGEgdGltZS4gVG8gZXhwcmVzcyBtb3JlIGNvbXBsZXggdGhpbmdzLCBob3dl dmVyLCB5b3Ugb2Z0ZW4gbmVlZCBzdWJvcmRpbmF0ZSBzZW50ZW5jZXMuIEx1Y2tpbHksIHRoZXNl IGFyZSBtdWNoIGVhc2llciBpbiBMb2piYW4gdGhhbiB3aGF0IG9uZSB3b3VsZCBleHBlY3QuCgpX ZSBjYW4gYmVnaW4gd2l0aCBhbiBleGFtcGxlIHRvIGRlbW9uc3RyYXRlIHRoaXM6IOKAnEkgYW0g aGFwcHkgdGhhdCB5b3UgYXJlIG15IGZyaWVuZC7igJ0gSGVyZSwgdGhlIG1haW4gYnJpZGkgaXMg 4oCcSSBhbSBoYXBweSB0aGF0IFgu4oCdLCBhbmQgdGhlIHN1Yi1icmlkaSBpcyDigJxZb3UgYXJl IG15IGZyaWVuZC7igJ0gTG9va2luZyBhdCB0aGUgZGVmaW5pdGlvbiBmb3Ig4oCcaGFwcHnigJ0s IHdoaWNoIGlzICcnZ2xla2knJzoKCl9fJydnbGVraScnX18g4oCceDEgaXMgaGFwcHkgYWJvdXQg eDIgKGV2ZW50L3N0YXRlKeKAnQoKT25lIHNlZXMgdGhhdCB0aGUgeDIgbmVlZHMgdG8gYmUgYW4g ZXZlbnQgb3IgYSBzdGF0ZS4gVGhpcyBpcyBuYXR1cmFsLCBiZWNhdXNlIG9uZSBjYW5ub3QgYmUg aGFwcHkgYWJvdXQgYW4gb2JqZWN0IGluIGl0c2VsZiwgb25seSBhYm91dCBzb21lIHN0YXRlIHRo ZSBvYmplY3QgaXMgaW4uIEJ1dCBhbGFzISBPbmx5IGJyaWRpIGNhbiBleHByZXNzIGEgc3RhdGUg b3IgYW4gZXZlbnQsIGFuZCBvbmx5IHN1bXRpIGNhbiBmaWxsIHRoZSB4MiBvZiAnJ2dsZWtpJych CgpBcyB5b3UgbWlnaHQgaGF2ZSBndWVzc2VkLCB0aGVyZSBpcyBhIHNvbHV0aW9uLiBUaGUgd29y ZHMgJydzdSd1JycuLi4nJ2tlaScnIGlzIGEgZ2VuZXJpYyDigJxjb252ZXJ0IGJyaWRpIHRvIHNl bGJyaeKAnSBmdW5jdGlvbiwgYW5kIHdvcmtzIGp1c3QgbGlrZSAnJ2xvJyfigKYnJ2t1JycuCgpf Xycnc3UndScnX18geDEgaXMgYW4gYWJzdHJhY3Rpb24gb2Yge2JyaWRpfSBvZiB0eXBlIHgyCgpf Xycna2VpJydfXyBlbmQgYWJzdHJhY3Rpb24KCgoKRXhhbXBsZToKCl9fJydtZWxiaScnX18geDEg aXMgYmVhdXRpZnVsIHRvIHgyLgoKX18nJ2RhbnN1JydfXyB4MSBkYW5jZXMgdG8gYWNjb21wYW5p bWVudC9tdXNpYy9yaHl0aG0geDIuCgonJ21lbGJpIHN1J3UgZGFuc3Uga2VpJycgLSDigJxCZWF1 dGlmdWwgZGFuY2luZ+KAnS/igJxCZWF1dGlmdWwgZGFuY2XigJ0KCgoKSXQncyB1c3VhbGx5IGhh cmQgdG8gZmluZCBnb29kIHVzZXMgb2YgYSBicmlkaSBhcyBhIHNlbGJyaS4gSG93ZXZlciwgc2lu Y2UgJydzdSd1IEJSSURJIGtlaScnIGlzIGEgc2VsYnJpLCBvbmUgY2FuIGNvbnZlcnQgaXQgdG8g YSBzdW10aSB1c2luZyAnJ2xvJycuLi4nJ2t1JycuCgpOb3cgd2UgaGF2ZSB0aGUgZXF1aXBtZW50 IHRvIGV4cHJlc3Mg4oCcSSBhbSBoYXBweSB0aGF0IHlvdSBhcmUgbXkgZnJpZW5k4oCdLiBUcnkg aXQgb3V0IQoKX18nJ3BlbmRvJydfXyDigJx4MSBpcyBhIGZyaWVuZCBvZiB4MuKAnQoKCgpBbnN3 ZXI6IH5+Z3JleSxncmV5OicnbWkgZ2xla2kgbG8gc3UndSBkbyBwZW5kbyBtaSBrZWkga3UnJ35+ CgoKCkhvd2V2ZXIsICcnc3UndScn4oCmJydrZWknJyBkb2VzIG5vdCBzZWUgbXVjaCB1c2UuIFBl b3BsZSBwcmVmZXIgdG8gdXNlIHRoZSBtb3JlIHNwZWNpZmljIHdvcmRzICcnbnUnJ+KApicna2Vp JycgYW5kICcnZHUndScn4oCmJydrZWknJy4gVGhleSB3b3JrIHRoZSBzYW1lIHdheSwgYnV0IG1l YW4gc29tZXRoaW5nIGRpZmZlcmVudC4gJydudeKApmtlaScnIHRyZWF0cyB0aGUgYnJpZGkgaW4g YmV0d2VlbiBhcyBhbiBldmVudCBvciBzdGF0ZSwgYW5kICcnZHUndeKApmtlaScnIHRyZWF0cyBp dCBhcyBhbiBhYnN0cmFjdCBicmlkaSwgZm9yIGV4cHJlc3NpbmcgdGhpbmdzIGxpa2UgaWRlYXMs IHRob3VnaHRzIG9yIHRydXRocy4gQWxsIHRoZXNlIHdvcmRzIChleGNlcHQgJydrZWknJykgYXJl IGNhbGxlZCBhYnN0cmFjdG9ycy4gVGhlcmUgYXJlIG1hbnkgb2YgdGhlbSwgYW5kIG9ubHkgZmV3 IGFyZSB1c2VkIG11Y2guICcnc3UndeKApmtlaScnIGlzIGEgZ2VuZXJhbCBhYnN0cmFjdG9yLCBh bmQgd2lsbCB3b3JrIGluIGFsbCBjYXNlcy4KCgoKVXNlICcnbnUnJyB0byBzYXkg4oCcSSdtIGhh cHB5IGFib3V0IHRhbGtpbmcgdG8geW91LuKAnQoKX18nJ3RhdmxhJydfXyB4MSB0YWxrcyB0byB4 MiBhYm91dCBzdWJqZWN0IHgzIGluIGxhbmd1YWdlIHg0LgoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5 OicnbWkgZ2xla2kgbG8gbnUgdGF2bGEgZG8ga2VpIGt1JycgKG5vdGljZSBib3RoIHRoZSBFbmds aXNoIGFuZCB0aGUgTG9qYmFuIGlzIHZhZ3VlIGFzIHRvIHdobyBpcyBkb2luZyB0aGUgdGFsa2lu Zykufn4KCgoKT3RoZXIgaW1wb3J0YW50IGFic3RyYWN0b3JzIGluY2x1ZGU6ICcna2EuLi5rZWkn JyAocHJvcGVydHkvYXNwZWN0IGFic3RyYWN0aW9uKSwgJydzaSdvLi4ua2VpJycgKGNvbmNlcHQv aWRlYSBhYnN0cmFjdGlvbiksICcnbmkuLi5rZWknJyAocXVhbnRpdHkgYWJzdHJhY3Rpb24pIGFt b25nIG90aGVycy4gVGhlIG1lYW5pbmdzIG9mIHRoZXNlIGlzIGEgY29tcGxpY2F0ZWQgbWF0dGVy LCBhbmQgd2lsbCBiZSBkaXNjdXNzZWQgbXVjaCBsYXRlciwgaW4gbGVzc29uIHR3ZW50eS1uaW5l LiBGb3Igbm93LCB5b3UnbGwgaGF2ZSB0byBkbyB3aXRob3V0IHRoZW0uCgoKCkl0IGlzIGltcG9y dGFudCB0byBub3RpY2UgdGhhdCBzb21lIGFic3RyYWN0b3JzIGhhdmUgc2V2ZXJhbCBzdW10aSBw bGFjZXMuIEFzIGFuIGV4YW1wbGUsICcnZHUndScnIGNhbiBiZSBtZW50aW9uZWQuICcnZHUndScn IGlzIGRlZmluZWQ6CgonJ2R1J3UnJyA9IOKAnGFic3RyYWN0b3IuIHgxIGlzIHRoZSBwcmVkaWNh dGUvYnJpZGkgb2Yge2JyaWRpfSBleHByZXNzZWQgaW4gc2VudGVuY2UgeDLigJ0uCgpUaGUgb3Ro ZXIgc3VtdGkgcGxhY2VzIGJlc2lkZXMgeDEgaXMgcmFyZWx5IHVzZWQsIGJ1dCAnJ2xvIHNlIGR1 J3Uge2JyaWRpfSBrZWkga3UnJyBpcyBzb21ldGltZXMgdXNlZCBhcyBhIHN1bXRpIGZvciBpbmRp cmVjdCBxdW90YXRpb246IOKAnEkgc2FpZCB0aGF0IEkgd2FzIGdpdmVuIGEgZG9n4oCdIGNhbiBi ZSB3cml0dGVuICcnbWkgY3Vza3UgbG8gc2UgZHUndSBtaSB0ZSBkdW5kYSBsbyBnZXJrdSBrdSBr ZWkga3UnJywgaWYgeW91IHdpbGwgcGFyZG9uIHRoZSB3ZWlyZCBleGFtcGxlLgoKX18nJ2N1c2t1 JydfXyB4MSBleHByZXNzZXMgeDIgdG8geDMgdGhyb3VnaCBtZWRpdW0geDQKCl9fJydnZXJrdScn X18geDEgaXMgYSBkb2cgb2YgcmFjZSB4MgoKISFMb2piYW4gbGVzc29ucyDigJMgbGVzc29uIHNl dmVuIChOT0kpCgpXaGlsZSB3ZSdyZSBhdCBpdCwgdGhlcmUncyBhbm90aGVyIHR5cGUgb2Ygc3Vi b3JkaW5hdGUgYnJpZGkuIFRoZXNlIGFyZSBjYWxsZWQgcmVsYXRpdmUgY2xhdXNlcy4gVGhleSBh cmUgc2VudGVuY2VzIHdoaWNoIGFkZCBzb21lIGRlc2NyaXB0aW9uIHRvIGEgc3VtdGkuIEluZGVl ZCwgdGhlIOKAnHdoaWNo4oCdIGluIHRoZSBwcmV2aW91cyBzZW50ZW5jZSBtYXJrZWQgdGhlIGJl Z2lubmluZyBvZiBhIHJlbGF0aXZlIGNsYXVzZSBpbiBFbmdsaXNoIGRlc2NyaWJpbmcgcmVsYXRp dmUgY2xhdXNlcy4gSW4gTG9qYmFuLCB0aGV5IGNvbWUgaW4gdHdvIGZsYXZvcnMsIGFuZCBpdCBt aWdodCBiZSB3b3J0aCBkaXN0aW5ndWlzaGluZyB0aGUgdHdvIGtpbmRzIGJlZm9yZSBsZWFybmlu ZyBob3cgdG8gZXhwcmVzcyB0aGVtLgoKVGhlIHR3byBraW5kcyBhcmUgY2FsbGVkIHJlc3RyaWN0 aXZlIGFuZCBub24tcmVzdHJpY3RpdmUgKG9yIGluY2lkZW50aWFsKSByZWxhdGl2ZSBjbGF1c2Vz LiBBbiBleGFtcGxlIHdvdWxkIGJlIGdvb2QgaGVyZToKCuKAnE15IGJyb3RoZXIsIHdobyBpcyB0 d28gbWV0ZXJzIHRhbGwsIGlzIGEgcG9saXRpY2lhbi7igJ0gVGhpcyBjYW4gYmUgdW5kZXJzdG9v ZCBpbiB0d28gd2F5cy4gSSBjb3VsZCBoYXZlIHNldmVyYWwgYnJvdGhlcnMsIGluIHdoaWNoIGNh c2Ugc2F5aW5nIGhlIGlzIHR3byBtZXRlcnMgdGFsbCB3aWxsIGxldCB5b3Uga25vdyB3aGljaCBi cm90aGVyIEkgYW0gdGFsa2luZyBhYm91dC4gT3IgSSBtaWdodCBoYXZlIG9ubHkgb25lIGJyb3Ro ZXIsIGluIHdoaWNoIGNhc2UgSSBhbSBzaW1wbHkgZ2l2aW5nIHlvdSBhZGRpdGlvbmFsIGluZm9y bWF0aW9uLgoKCgpJbiBFbmdsaXNoIGFzIHdlbGwgYXMgTG9qYmFuIHdlIGRpc3Rpbmd1aXNoIGJl dHdlZW4gdGhlc2UgdHdvIGtpbmRzIOKAkyB0aGUgZmlyc3QgaW50ZXJwcmV0YXRpb24gaXMgcmVz dHJpY3RpdmUgKHNpbmNlIGl0IGhlbHBzIHJlc3RyaWN0IHRoZSBwb3NzaWJsZSBicm90aGVycyBJ IG1pZ2h0IGJlIHRhbGtpbmcgYWJvdXQpLCB0aGUgc2Vjb25kIG5vbi1yZXN0cmljdGl2ZS4gV2hl biBzcGVha2luZyBFbmdsaXNoLCBjb250ZXh0IGFuZCB0b25lIG9mIHZvaWNlIChvciBpbiB3cml0 dGVuIEVuZ2xpc2gsIHB1bmN0dWF0aW9uKSBoZWxwcyB1cyBkaXN0aW5ndWlzaCBiZXR3ZWVuIHRo ZXNlIHR3bywgYnV0IG5vdCBzbyBpbiBMb2piYW4uIExvamJhbiB1c2VzIHRoZSBjb25zdHJ1Y3Rz ICcncG9p4oCma3UnbycnIGFuZCAnJ25vaeKApmt1J28nJyBmb3IgcmVzdHJpY3RpdmUgYW5kIG5v bi1yZXN0cmljdGl2ZSByZWxhdGl2ZSBjbGF1c2VzLCByZXNwZWN0aXZlbHkuCgpMZXQncyBoYXZl IGEgTG9qYmFuaWMgZXhhbXBsZSwgd2hpY2ggY2FuIGFsc28gZXhwbGFpbiBvdXIgc3RyYW5nZSBn aWZ0LWVhdGluZyBiZWhhdmlvdXIgaW4gdGhlIGV4YW1wbGUgaW4gbGVzc29uIGZpdmU6CgpfXycn bm9pJydfXyBiZWdpbiBub24tcmVzdHJpY3RpdmUgcmVsYXRpdmUgY2xhdXNlIChjYW4gb25seSBh dHRhY2ggdG8gc3VtdGkpCgpfXycncG9pJydfXyBiZWdpbiByZXN0cmljdGl2ZSByZWxhdGl2ZSBj bGF1c2UgKGNhbiBvbmx5IGF0dGFjaCB0byBzdW10aSkKCl9fJydrdSdvJydfXyBlbmQgcmVsYXRp dmUgY2xhdXNlCgoKCicnbWkgY2l0a2EgbG8gc2UgZHVuZGEga3UgcG9pIHBsaXNlIGt1J28nJyA9 IOKAnEkgZWF0IGEgZ2lmdCBzdWNoIHRoYXQgKHNvbWV0aGluZyBpcykgYW4gYXBwbGXigJ0uIAoK SGVyZSB0aGUgJydwb2nigKZrdSdvJycgaXMgcGxhY2VkIGp1c3QgYWZ0ZXIgJydsbyBzZSBkdW5k YSBrdScnLCBzbyBpdCBhcHBsaWVzIHRvIHRoZSBnaWZ0LiBUbyBiZSBzdHJpY3QsIHRoZSByZWxh dGl2ZSBjbGF1c2UgZG9lcyBub3Qgc3BlY2lmeSB3aGF0IGl0IGlzLCB3aGljaCBpcyBhbiBhcHBs ZSwgYnV0IHNpbmNlIHRoZSByZWxhdGl2ZSBjbGF1c2UgYXBwbGllcyB0byB0aGUgZ2lmdCwgd2Ug Y2FuIHNhZmVseSBhc3N1bWUgdGhhdCBpdCBtZWFucyB0aGF0IHRoZSBnaWZ0IGlzIGFuIGFwcGxl LiBBZnRlciBhbGwsIGluIHRoZSBjb250ZXh0IG9mIGxlc3NvbiBmaXZlLCB0aGlzIHNlZW1zIHJl YXNvbmFibGUuIElmIHdlIHdhbnQgdG8gYmUgYWJzb2x1dGVseSBzdXJlIHRoYXQgaXQgaW5kZWVk IHdhcyB0aGUgZ2lmdCB0aGF0IHdhcyBhbiBhcHBsZSwgd2UgdXNlIHRoZSB3b3JkICcna2UnYScn LCB3aGljaCBpcyBhICcnc3Vta2EnaScnIChhIExvamJhbiBwcm9ub3VuLCBtb3JlIG9uIHRoZW0g bGF0ZXIpIHJlcHJlc2VudGluZyB0aGUgc3VtdGkgd2hpY2ggdGhlIHJlbGF0aXZlIGNsYXVzZSBp cyBhdHRhY2hlZCB0by4KCl9fJydrZSdhJydfXyBzdW1rYSdpOyByZWZlcnMgdG8gdGhlIHN1bXRp LCB0byB3aGljaCB0aGUgcmVsYXRpdmUgY2xhdXNlIGl0IGF0dGFjaGVkLgoKCgonJy51aSBtaSBj aXRrYSBsbyBzZSBkdW5kYSBrdSBwb2kga2UnYSBwbGlzZSBrdSdvJycgPSDigJxZYXksIEkgZWF0 IGEgZ2lmdCB3aGljaCBpcyBhbiBhcHBsZeKAnS4KClRvIHVuZGVybGluZSB0aGUgZGlmZmVyZW5j ZSBiZXR3ZWVuIHJlc3RyaWN0aXZlIGFuZCBub24tcmVzdHJpY3RpdmUgcmVsYXRpdmUgY2xhdXNl cywgaGVyZSdzIGFub3RoZXIgZXhhbXBsZToKCgoKX18nJ2xvamJvJydfXyDigJx4MSByZWZsZWN0 cyBMb2piYW5pYyBjdWx0dXJlL2NvbW11bml0eSBpcyBhc3BlY3QgeDI7IHgxIGlzIExvamJhbmlj LuKAnQoKCgonJ21pIG5vaSBsb2pibyBrdSdvIGZhbnZhIGZvIGxvIGxvamJvIGt1JycgPSDigJxJ LCB3aG8gYW0gYSBMb2piYW5pYywgdHJhbnNsYXRlIGZyb20gc29tZSBMb2piYW5pYyBsYW5ndWFn ZS7igJ0gSGVyZSwgdGhlcmUgaXMgbm90IG11bHRpcGxlIHRoaW5ncyB3aGljaCAnJ21pJycgY291 bGQgcmVmZXIgdG8sIGFuZCB0aGUgZmFjdCB0aGF0IEkgYW0gbG9qYmFuaWMgaXMgbWVyZWx5IGFk ZGl0aW9uYWwgaW5mb3JtYXRpb24gbm90IG5lZWRlZCB0byBpZGVudGlmeSBtZS4gVGhlcmVmb3Jl ICcnbm9p4oCma3UnbycnIGlzIGFwcHJvcHJpYXRlLgoKU2VlIGlmIHlvdSBjYW4gdHJhbnNsYXRl IHRoaXM6IOKAnEkgZmxpcnQgd2l0aCBhIG1hbiB3aG8gaXMgYmVhdXRpZnVsL2hhbmRzb21l4oCd LgoKX18nJ25hbm11JydfXyDigJx4MSBpcyBhIG1hbuKAnQoKX18nJ21lbGJpJydfXyDigJx4MSBp cyBiZWF1dGlmdWwgdG8geDIgaW4gYXNwZWN0IChrYSkgeDMgYnkgc3RhbmRhcmQgeDTigJ0KCl9f JydjaW5qaWtjYScnX18g4oCceDEgZmxpcnRzL2NvdXJ0cyB4MiwgZXhoaWJpdGluZyBzZXh1YWxp dHkgeDMgYnkgc3RhbmRhcmQgeDTigJ0KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ21pIGNpbmpp a2NhIGxvIG5hbm11IGt1IHBvaSB7a2UnYX0gbWVsYmkga3Unbycnfn4KCgoKT24gYSBtb3JlIHRl Y2huaWNhbCBzaWRlIG5vdGUsIGl0IG1pZ2h0IGJlIHVzZWZ1bCB0byBrbm93IHRoYXQgJydsbyB7 c2VsYnJpfSBrdScnIGlzIG9mdGVuIHNlZW4gZGVmaW5lZCBhcyAnJ3pvJ2Ugbm9pIGtlJ2Ege3Nl bGJyaX0ga3UnbycnLgoKCgoKCiEhTG9qYmFuIExlc3NvbnMg4oCTIExlc3NvbiBlaWdodCAodGVy bWluYXRvciBlbGlzaW9uKQoKJycuYXUgZGEnaSBtaSBkamljYSBsbyBudSBsZSBtZXJrbyBwb2kg dHVuYmEgbWkgX192YXUga3UnbyBrdV9fIGppbXBlIGxvIGR1J3UgbWkgbmEgbmVsY2kgbG8gbnUg dm8nYSBkYXJ4aSBtaSBfX3ZhdSBrZWkga3UgdmF1IGtlaSBrdSB2YXUga2VpIGt1IHZhdV9fJycK CiAtICDigJxJIHdpc2ggdGhlIEFtZXJpY2FuLCB3aG8gaXMgbXkgc2libGluZywgd291bGQgdW5k ZXJzdGFuZCB0aGF0IEkgZG9uJ3QgbGlrZSB0aGF0IGhlIGhpdHMgbWUu4oCdCgpSZWdhcmRsZXNz IG9mIHdoZXRoZXIgdGhlIGFib3ZlIHNlbnRlbmNlIGlzIGJlaW5nIHVuZGVyc3Rvb2QsIChpdCBz aG91bGRuJ3QsIGFzIGl0IGNvbnRhaW5zIHdvcmRzIHdlIGhhdmUgbm90IGNvdmVyZWQgaW4gdGhl c2UgbGVzc29ucyB5ZXQpIG9uZSB0aGluZyBzdGFuZHMgb3V0OiBBcyBtb3JlIGNvbXBsZXggTG9q YmFuIHN0cnVjdHVyZXMgYXJlIGxlYXJuZWQsIG1vcmUgYW5kIG1vcmUgb2YgdGhlIHNlbnRlbmNl cyBnZXQgZmlsbGVkIHdpdGggJydrdScnLCAnJ2tlaScnLCAnJ2t1J28nJyBhbmQgb3RoZXIgb2Yg dGhvc2Ugd29yZHMgd2hpY2ggYnkgdGhlbXNlbHZlcyBjYXJyeSBubyBtZWFuaW5nLgoKCgpUaGUg ZnVuY3Rpb24gb2YgYWxsIHRoZXNlIHdvcmRzIGlzIHRvIHNpZ25hbCB0aGUgZW5kIG9mIGEgY2Vy dGFpbiBncmFtbWF0aWNhbCBjb25zdHJ1Y3QsIGxpa2UgZm9yIGluc3RhbmNlIOKAnGNvbnZlcnQg c2VsYnJpIHRvIHN1bXRp4oCdIGluIHRoZSBjYXNlIG9mICcna3UnJy4gVGhlIEVuZ2xpc2ggd29y ZCBmb3IgdGhpcyBraW5kIG9mIHdvcmQgaXMg4oCcdGVybWluYXRvcuKAnSwgdGhlIExvamJhbiB3 b3JkIGlzICcnZmEnb3JtYSdvJycuIFRoZXkgYXJlIHdyaXR0ZW4gaW4gYm9sZCBpbiB0aGUgZXhh bXBsZSBhYm92ZS4KCk5vdGU6IFRoZSAnJ3ZhdScnIGluIHRoZSBhYm92ZSBleGFtcGxlIGFyZSB0 aGUgZmEnb3JtYSdvIGZvciDigJxlbmQgYnJpZGnigJ0uIFRoZXJlIGlzIGEgZ29vZCByZWFzb24g eW91IGhhdmUgbm90IHlldCBzZWVuIGl0LCBzdGF5IHR1bmVkLgoKX18nJ3ZhdScnX18gZmEnb3Jt YSdvOiBUZXJtaW5hdGVzIGJyaWRpLgoKCgpJbiBtb3N0IHNwb2tlbiBhbmQgd3JpdHRlbiBMb2pi YW4sIG1vc3QgZmEnb3JtYSdvIGFyZSBza2lwcGVkIChlbGlkZWQpLiBUaGlzIGdyZWF0bHkgc2F2 ZXMgc3lsbGFibGVzIGluIHNwZWVjaCBhbmQgc3BhY2UgaW4gd3JpdGluZywgaG93ZXZlciwgb25l IG11c3QgYWx3YXlzIGJlIGNhcmVmdWwgd2hlbiBlbGlkaW5nIGZhJ29ybWEnby4gSW4gdGhlIHNp bXBsZSBleGFtcGxlICcnbG8gbWVya28ga3Uga2xhbWEnJywgcmVtb3ZpbmcgdGhlIGZhJ29ybWEn byAnJ2t1Jycgd291bGQgeWllbGQgJydsbyBtZXJrbyBrbGFtYScnLCB3aGljaCBpcyBhIHNpbmds ZSBzdW10aSBtYWRlIGZyb20gdGhlIHRhbnJ1ICcnbWVya28ga2xhbWEnJy4gVGh1cywgaXQgbWVh bnMg4oCcYW4gQW1lcmljYW4gdHJhdmVsZXLigJ0gaW5zdGVhZCBvZiDigJxhbiBBbWVyaWNhbiB0 cmF2ZWxz4oCdLiBmYSdvcm1hJ28gZWxpc2lvbiBjYW4gbGVhZCB0byB2ZXJ5IHdyb25nIHJlc3Vs dHMgaWYgZG9uZSBpbmNvcnJlY3RseSwgd2hpY2ggaXMgd2h5IHlvdSBoYXZlbid0IGxlYXJuZWQg YWJvdXQgaXQgdW50aWwgbm93LgoKCgpUaGUgcnVsZSBmb3Igd2hlbiBmYSdvcm1hJ28gY2FuIGJl IGVsaWRlZCBpcyB2ZXJ5IHNpbXBsZSwgYXQgbGVhc3QgaW4gdGhlb3J5OiDigJxZb3UgY2FuIGVs aWRlIGEgZmEnb3JtYSdvLCBfX2lmIGFuZCBvbmx5IGlmX18gZG9pbmcgc28gZG9lcyBub3QgY2hh bmdlIHRoZSBncmFtbWF0aWNhbCBjb25zdHJ1Y3RzIGluIHRoZSBzZW50ZW5jZS7igJ0KCk1vc3Qg ZmEnb3JtYSdvIGNhbiBiZSBzYWZlbHkgZWxpZGVkIGF0IHRoZSBlbmQgb2YgdGhlIGJyaWRpLiBF eGNlcHRpb25zIGFyZSB0aGUgb2J2aW91cyBvbmVzIGxpa2Ug4oCcZW5kIHF1b3Rl4oCdLWZhJ29y bWEnbyBhbmQg4oCcZW5kIGJyaWRpIGdyb3VwaW5n4oCdLWZhJ29ybWEnby4gVGhpcyBpcyB3aHkg Jyd2YXUnJyBpcyBhbG1vc3QgbmV2ZXIgdXNlZCDigJMgc2ltcGx5IGJlZ2lubmluZyBhIG5ldyBi cmlkaSB3aXRoICcnLmknJyB3aWxsIGFsbW9zdCBhbHdheXMgdGVybWluYXRlIHRoZSBwcmVjZWRp bmcgYnJpZGkgYW55d2F5LiBJdCBoYXMgb25lIGZyZXF1ZW50IHVzZSwgaG93ZXZlci4gU2luY2Ug YXR0aXR1ZGluYWxzIGFsd2F5cyBhcHBseSB0byB0aGUgcHJlY2VkaW5nIHdvcmQsIGFwcGx5aW5n IGl0IHRvIGEgZmEnb3JtYSdvIGFwcGxpZXMgaXQgdG8gdGhlIGVudGlyZSBjb25zdHJ1Y3Qgd2hp Y2ggaXMgdGVybWluYXRlZC4gVXNpbmcgJyd2YXUnJywgb25lIGNhbiB0aGVuIHVzZSBhdHRpdHVk aW5hbHMgYWZ0ZXJ0aG91Z2h0IGFuZCBhcHBseSB0aGVtIHRvIHRoZSBlbnRpcmUgYnJpZGk6Cgon J3phJ2EgZG8gZHVuZGEgbG8gemRhbmkge2t1fSBsbyBwcmVudSB7a3V9Li4uIHZhdSBpJ2UnJyAt IOKAnEkgc2VlIHRoYXQgeW91IGdpdmUgYSBob21lIHRvIGEgcGVyc29uLi4uIEkgYXBwcm92ZSHi gJ0KCl9fJydwcmVudScnX18geDEgaXMgYSBwZXJzb247IHgxIGhhcyBhIHBlcnNvbmFsaXR5LgoK CgpLbm93aW5nIHRoZSBiYXNpYyBydWxlcyBmb3IgZmEnb3JtYSdvIGVsaXNpb24sIHdlIGNhbiB0 aHVzIHJldHVybiB0byB0aGUgb3JpZ2luYWwgc2VudGVuY2UgYW5kIGJlZ2luIHJlbW92aW5nIGZh J29ybWEnbzoKCgoKJycuYXUgZGEnaSBtaSBkamljYSBsbyBudSBsZSBtZXJrbyBwb2kgdHVuYmEg bWkgX192YXUga3UnbyBrdV9fIGppbXBlIGxvIGR1J3UgbWkgbmEgbmVsY2kgbG8gbnUgdm8nYSBk YXJ4aSBtaSBfX3ZhdSBrZWkga3UgdmF1IGtlaSBrdSB2YXUga2VpIGt1IHZhdV9fJycKCgoKV2Ug Y2FuIHNlZSB0aGF0IHRoZSBmaXJzdCAnJ3ZhdScnIGlzIGdyYW1tYXRpY2FsbHkgdW5uZWNlc3Nh cnksIGJlY2F1c2UgdGhlIG5leHQgbm9uLWZhJ29ybWEnby13b3JkIGlzICcnamltcGUnJywgd2hp Y2ggaXMgYSBzZWxicmkuIFNpbmNlIHRoZXJlIGNhbiBvbmx5IGJlIG9uZSBzZWxicmkgcGVyIGJy aWRpLCAnJ3ZhdScnIGlzIG5vdCBuZWVkZWQuIFNpbmNlICcnamltcGUnJyBhcyBhIHNlbGJyaSBj YW5ub3QgYmUgaW4gdGhlIHJlbGF0aXZlIGNsYXVzZSBlaXRoZXIgKG9ubHkgb25lIGJyaWRpIGlu IGEgY2xhdXNlLCBvbmx5IG9uZSBzZWxicmkgaW4gZWFjaCBicmlkaSksIHdlIGNhbiBlbGlkZSAn J2t1J28nJy4gTGlrZXdpc2UsICcnamltcGUnJyBjYW5ub3QgYmUgYSBzZWNvbmQgc2VsYnJpIGlu c2lkZSB0aGUgY29uc3RydWN0ICcnbGUgbWVya28gcG9pey4uLn0nJywgc28gdGhlICcna3UnJyBp cyBub3QgbmVlZGVkIGVpdGhlci4gRnVydGhlcm1vcmUsIGFsbCB0aGUgZmEnb3JtYSdvIGF0IHRo ZSB2ZXJ5IGVuZCBvZiB0aGUgc2VudGVuY2UgY2FuIGJlIGVsaWRlZCB0b28sIHNpbmNlIGJlZ2lu bmluZyBhIG5ldyBicmlkaSB3aWxsIHRlcm1pbmF0ZSBhbGwgb2YgdGhlc2UgY29uc3RydWN0cyBh bnl3YXkuCgpXZSB0aGVuIGVuZCB1cCB3aXRoOgoKJycuYXUgZGEnaSBtaSBkamljYSBsbyBudSBs ZSBtZXJrbyBwb2kgdHVuYmEgbWkgamltcGUgbG8gZHUndSBtaSBuYSBuZWxjaSBsbyBudSB2bydh IGRhcnhpIG1pJycg4oCTIHdpdGggbm8gZmEnb3JtYSdvIGF0IGFsbCEKCgoKV2hlbiBlbGlkaW5n IGZhJ29ybWEnbywgaXQgaXMgYSBnb29kIGlkZWEgdG8gYmUgYWNxdWFpbnRlZCB3aXRoICcnY3Un Jy4gJydjdScnIGlzIG9uZSBvZiB0aG9zZSB3b3JkcyB3aGljaCBjYW4gbWFrZSB5b3VyIChMb2pi YW5pYykgbGlmZSBhIGxvdCBlYXNpZXIuIFdoYXQgaXQgZG9lcyBpcyB0byBzZXBhcmF0ZSBhbnkg cHJldmlvdXMgc3VtdGkgZnJvbSB0aGUgc2VsYnJpLiBPbmUgY291bGQgc2F5IHRoYXQgaXQgZGVm aW5lcyB0aGUgbmV4dCB3b3JkIHRvIGJlIGEgc2VsYnJpLCBhbmQgdGVybWluYXRlcyBleGFjdGx5 IGFzIG11Y2ggYXMgaXQgbmVlZHMgdG8gaW4gb3JkZXIgdG8gZG8gdGhhdC4KCl9fJydjdScnX18g ZWxpZGFibGUgbWFya2VyOiBzZXBhcmF0ZXMgc2VsYnJpIGZyb20gcHJlY2VkaW5nIHN1bXRpLCBh bGxvd3MgcHJlY2VkaW5nIGZhJ29ybWEnbyBlbGlzaW9uLgoKCgpfXycncHJhbWknJ19fID0g4oCc eDEgbG92ZXMgeDLigJ0KCgoKJydsbyBzdSd1IGRvIGN1c2t1IGxvIHNlIGR1J3UgZG8gcHJhbWkg bWkgX192YXUga2VpIGt1IHZhdSBrZWkga3VfXyBzZSBkamljYSBtaScnID0KCicnbG8gc3UndSBk byBjdXNrdSBsbyBzZSBkdSd1IGRvIHByYW1pIG1pIF9fY3VfXyBzZSBkamljYSBtaScnCgrigJxU aGF0IHlvdSBzYXkgdGhhdCB5b3UgbG92ZSBtZSBpcyBkZXNpcmVkIGJ5IGJl4oCdIG9yIOKAnEkg d2lzaCB5b3Ugc2FpZCB5b3UgbG92ZWQgbWXigJ0KCm5vdGU6ICcnY3UnJyBpcyBub3QgYSBmYSdv cm1hJ28sIGJlY2F1c2UgaXQgaXMgbm90IHRpZWQgdG8gb25lIHNwZWNpZmljIGNvbnN0cnVjdC4g QnV0IGl0IGNhbiBiZSB1c2VkIHRvIGVsaWRlIG90aGVyIGZhJ29ybWEnby4KCgoKT25lIG9mIHRo ZSBncmVhdGVzdCBzdHJlbmd0aHMgb2YgJydjdScnIGlzIHRoYXQgaXQgcXVpY2tseSBiZWNvbWVz IGVhc3kgdG8gaW50dWl0aXZlbHkgdW5kZXJzdGFuZC4gQnkgaXRzZWxmIGl0IG1lYW5zIG5vdGhp bmcsIGJ1dCBpdCByZXZlYWxzIHRoZSBzdHJ1Y3R1cmUgb2YgTG9qYmFuIGV4cHJlc3Npb25zIGJ5 IGlkZW50aWZ5aW5nIHRoZSBjb3JlIHNlbGJyaS4gSW4gdGhlIG9yaWdpbmFsIGV4YW1wbGUgd2l0 aCB0aGUgdmlvbGVudCBBbWVyaWNhbiBicm90aGVyLCB1c2luZyAnJ2N1JycgYmVmb3JlICcnamlt cGUnJyBkb2VzIG5vdCBjaGFuZ2UgdGhlIG1lYW5pbmcgb2YgdGhlIHNlbnRlbmNlIGluIGFueSB3 YXksIGJ1dCBtaWdodCBtYWtlIGl0IGVhc2llciB0byByZWFkLgoKCgpJbiB0aGUgZm9sbG93aW5n IGNvdXBsZSBvZiBsZXNzb25zLCAnJ2N1Jycgd2lsbCBiZSB1c2VkIHdoZW4gbmVjZXNzYXJ5LCBh bmQgYWxsIGZhJ29ybWEnbyBlbGlkZWQgaWYgcG9zc2libGUuIFRoZSBlbGlkZWQgZmEnb3JtYSdv IHdpbGwgYmUgZW5jYXNlZCBpbiBjdXJseSBicmFja2V0cywgYXMgc2hvd24gYmVsb3cuIFRyeSB0 byB0cmFuc2xhdGUgaXQhCgpfXycndmFqbmknJ19fIOKAnHgxIGlzIGltcG9ydGFudCB0byB4MiBm b3IgcmVhc29uIHgz4oCdCgpfXycnamltcGUnJ19fIOKAnHgxIHVuZGVyc3RhbmRzIHRoYXQgeDIg KGR1J3UtYWJzdHJhY3Rpb24pIGlzIHRydWUgYWJvdXQgeDPigJ0KCl9fJydhJ28nJ19fIC0gQXR0 aXR1ZGluYWw6IFNpbXBsZSBwcm9wb3NpdGlvbmFsIGVtb3Rpb246IEhvcGUgLSBkZXNwYWlyCgoK CicnYSdvIGRvIG5vaSBrZSdhIGxvamJvIC5pJ2Uge2t1J299IHtrdX0gY3UgamltcGUgbG8gZHUn dSBsbyBmYSdvcm1hJ28ge2t1fSBjdSB2YWpuaSB7dmF1fSB7a2VpfSB7a3V9IHt2YXV9JycKCldo YXQgZG8gSSBzdGF0ZT8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxJIGhvcGUgdGhhdCB5b3Us IGEgcHJvdWQgTG9qYmFuaXN0LCB1bmRlcnN0YW5kcyB0aGF0IGZhJ29ybWEnbyBhcmUgaW1wb3J0 YW504oCdfn4KCgoKRnVuIHNpZGUgbm90ZTogTW9zdCBwZW9wbGUgd2VsbC12ZXJzZWQgaW4gZmEn b3JtYSdvLWVsaXNpb24gZG8gaXQgc28gaW5zdGluY3RpdmVseSB0aGF0IHRoZXkgb2Z0ZW4gbXVz dCBiZSByZW1pbmRlZCBob3cgaW1wb3J0YW50IHVuZGVyc3RhbmRpbmcgZmEnb3JtYSdvIGFyZSB0 byB0aGUgdW5kZXJzdGFuZGluZyBvZiBMb2piYW4uIFRoZXJlZm9yZSwgZWFjaCBUdWVzZGF5IGhh dmUgYmVlbiBkZXNpZ25hdGVkIOKAnFRlcm1pbmF0b3IgRGF54oCdIG9yICcnZmEnb3JtYSdvIGRq ZWRpJycgb24gdGhlIExvamJhbiBJUkMgY2hhdHJvb20uIER1cmluZyBUZXJtaW5hdG9yIERheSwg bWFueSBwZW9wbGUgdHJ5IChhbmQgb2Z0ZW4gZmFpbCkgdG8gcmVtZW1iZXIgd3JpdGluZyBvdXQg YWxsIGZhJ29ybWEnbyB3aXRoIHNvbWUgdmVyeSB2ZXJib3NlIGNvbnZlcnNhdGlvbnMgYXMgYSBy ZXN1bHQuCgoKCgoKISFMb2piYW4gTGVzc29ucyAtIExlc3NvbiBuaW5lIChzdW10Y2l0YSkKClNv IGZhciB3ZSBoYXZlIGJlZW4gZG9pbmcgcHJldHR5IHdlbGwgd2l0aCB0aGUgc2VsYnJpIHdlIGhh dmUgaGFkIGF0IGhhbmQuIEhvd2V2ZXIsIHRoZXJlIGlzIGEgZmluaXRlIGFtb3VudCBvZiBkZWZp bmVkIHNlbGJyaSBvdXQgdGhlcmUsIGFuZCBpbiBtYW55IGNhc2VzIHRoZSBzdW10aSBwbGFjZXMg YXJlIG5vdCB1c2VmdWwgZm9yIHdoYXQgd2UgaGFkIGluIG1pbmQuIFdoYXQgaWYsIHNheSwgaSB3 YW50IHRvIHNheSB0aGF0IEkgYW0gdHJhbnNsYXRpbmcgdXNpbmcgYSBjb21wdXRlcj8gVGhlcmUg aXMgbm8gcGxhY2UgaW4gdGhlIHN0cnVjdHVyZSBvZiAnJ2ZhbnZhJycgdG8gc3BlY2lmeSB3aGF0 IHRvb2wgSSB0cmFuc2xhdGUgd2l0aCwgc2luY2UsIG1vc3Qgb2YgdGhlIHRpbWUsIHRoYXQgaXMg bm90IG5lY2Vzc2FyeS4gTm90IHRvIHdvcnJ5LCB0aGlzIGxlc3NvbiBpcyBvbiBob3cgdG8gYWRk IGFkZGl0aW9uYWwgc3VtdGkgcGxhY2VzIHRvIHRoZSBzZWxicmkuCgoKClRoZSBtb3N0IGJhc2lj IHdheSB0byBhZGQgc3VtdGkgcGxhY2VzIGFyZSB3aXRoICcnZmknbyBTRUxCUkkgZmUndScnICh5 ZXMsIGFub3RoZXIgZXhhbXBsZSBvZiBhIGZhJ29ybWEnbywgJydmZSd1JycuIEl0J3MgYWxtb3N0 IG5ldmVyIG5lY2Vzc2FyeSwgc28gdGhpcyBtaWdodCBiZSB0aGUgbGFzdCB0aW1lIHlvdSBldmVy IHNlZSBpdC4pCgpJbiBiZXR3ZWVuIHRoZXNlIHR3byB3b3JkcyBnb2VzIGEgc2VsYnJpLCBhbmQg bGlrZSAnJ2xvIFNFTEJSSSBrdScnLCAnJ2ZpJ28gU0VMQlJJIGZlJ3UnJyBleHRyYWN0cyB0aGUg eDEgb2YgdGhlIHNlbGJyaSBwdXQgaW50byBpdC4gSG93ZXZlciwgd2l0aCAnJ2ZpJ28gU0VMQlJJ IGZlJ3UnJywgdGhlIHNlbGJyaSBwbGFjZSBpcyBjb252ZXJ0ZWQsIG5vdCB0byBhIHN1bXRpLCBi dXQgdG8gYSAnJ3N1bXRjaXRhJycsIG1lYW5pbmcg4oCcc3VtdGktbGFiZWzigJ0sIHdpdGggdGhl IHBsYWNlIHN0cnVjdHVyZSBvZiB0aGUgeDEgb2YgdGhlIHNlbGJyaSBpdCBjb252ZXJ0ZWQuIFRo aXMgJydzdW10Y2l0YScnIHRoZW4gYWJzb3JicyB0aGUgbmV4dCBzdW10aS4gT25lIGNvdWxkIHNh eSB0aGF0IHVzaW5nIGEgJydzdW10Y2l0YScnLCB5b3UgaW1wb3J0IGEgc3VtdGkgcGxhY2UgZnJv bSBhbm90aGVyIHNlbGJyaSwgYW5kIGFkZCBpdCB0byB0aGUgYnJpZGkgYmVpbmcgc2FpZC4KCk5v dGU6IFNvbWV0aW1lcywgZXNwZWNpYWxseSBpbiBvbGRlciB0ZXh0cywgdGhlIHRlcm0g4oCcdGFn 4oCdIG9yIOKAnG1vZGFs4oCdIGlzIHVzZWQgZm9yICcnc3VtdGNpdGEnJy4gSWdub3JlIHRob3Nl IHB1bnkgRW5nbGlzaCBleHByZXNzaW9ucy4gV2UgdGVhY2ggcHJvcGVyIExvamJhbiBoZXJlLgoK CgpXaGlsZSBpdCBpcyBoYXJkIHRvIGdyYXNwIHRoZSBwcm9jZXNzIGZyb20gcmVhZGluZyBhYm91 dCBpdCwgYW4gZXhhbXBsZSBjYW4gcGVyaGFwcyBzaG93IGl0cyBhY3R1YWwgc2ltcGxpY2l0eToK Cl9fJydza2FtaScnX18g4oCceDEgaXMgYSBjb21wdXRlciBmb3IgcHVycG9zZSB4MuKAnQoKX18n J3BpbG5vJydfXyDigJx4MSB1c2VzIHgyIGFzIGEgdG9vbCBmb3IgZG9pbmcgeDPigJ0KCgoKJydt aSBmYW52YSB0aSBmaSdvIHNlIHBpbG5vIHtmZSd1fSBsbyBza2FtaSB7a3V9e3ZhdX0nJyAtIOKA nEkgdHJhbnNsYXRlIHRoaXMgd2l0aCBhIGNvbXB1dGVy4oCdIFRoZSB4MiBvZiAnJ3BpbG5vJycs IHdoaWNoIGlzIHRoZSB4MSBvZiAnJ3NlIHBpbG5vJycgaXMgYSBwbGFjZSBzdHJ1Y3R1cmUgZm9y IGEgdG9vbCBiZWluZyB1c2VkIGJ5IHNvbWVvbmUuIFRoaXMgcGxhY2Ugc3RydWN0dXJlIGlzIGNh cHR1cmVkIGJ5ICcnZmknbyBTRUxCUkkgZmUndScnLCBhZGRlZCB0byB0aGUgbWFpbiBzZWxicmks IGFuZCB0aGVuIGZpbGxlZCBieSAnJ2xvIHNrYW1pJycuIFRoZSBpZGVhIG9mICcnc3VtdGNpdGEn JyBpcyBzb21ldGltZXMgZXhwcmVzc2VkIGluIEVuZ2xpc2ggdXNpbmcgdGhlIGZvbGxvd2luZyB0 cmFuc2xhdGlvbjoKCuKAnEkgdHJhbnNsYXRlIHRoaXMgd2l0aC10b29sOiBBIGNvbXB1dGVy4oCd CgoKCkEgJydzdW10Y2l0YScnIGNhbiBvbmx5IGFic29yYiBvbmUgc3VtdGksIHdoaWNoIGlzIGFs d2F5cyB0aGUgZm9sbG93aW5nIG9uZS4gQWx0ZXJuYXRpdmVseSwgb25lIGNhbiB1c2UgdGhlICcn c3VtdGNpdGEnJyBjb25zdHJ1Y3QgYnkgaXRzZWxmIHdpdGhvdXQgc3VtdGkuIEluIHRoaXMgY2Fz ZSB5b3UgbmVlZCB0byBwdXQgaXQgZWl0aGVyIGJlZm9yZSB0aGUgc2VsYnJpIG9yIHRlcm1pbmF0 ZSBpdCB3aXRoICcna3UnJy4gSW4gc3VjaCBjYXNlIG9uZSBjYW4gdGhpbmsgYXMgaWYgdGhlIHN1 bXRjaXRhIGhhcyB0aGUgd29yZCAnJ3pvJ2UnJyBhcyB0aGUgc3VtdGkuCgoKCl9fJyd6dWt0ZScn X18g4oCceDEgaXMgYSB2b2xpdGlvbmFsIGVudGl0eSBjYXJyeWluZyBvdXQgYWN0aW9uIHgyIGZv ciBwdXJwb3NlIHgz4oCdCgoKCicnZmknbyB6dWt0ZSB7ZmUndX0ga3UgbG8gc2thbWkge2t1fSBj dSBwaWxubyBsbyBsb2pibyB7a3V9e3ZhdX0nJyAtIOKAnFdpdGggdm9saXRpb24sIGEgY29tcHV0 ZXIgdXNlZCBzb21ldGhpbmcgTG9qYmFuaWPigJ0gKHBlcmhhcHMgaW1wbHlpbmcgdGhhdCBhIExv amJhbmljIGNvbXB1dGVyIHdlbnQgc2VudGllbnQ/IFRvdWdoIGl0IGRvZXMgbm90IHNwZWNpZnkg d2hvIGhhZCB2b2xpdGlvbi4gSXQgY291bGQganVzdCBiZSB0aGUgcHJvZ3JhbW1lciB3aG8gcHJv Z3JhbW1lZCB0aGUgY29tcHV0ZXIgLSBob3cgYm9yaW5nLikKCgoKTm90ZSB0aGF0IHRoZXJlIGlz ICcna3UnJyBpbiAnJ2ZpJ28genVrdGUge2ZlJ3V9IGt1JycuIFdpdGhvdXQgaXQgdGhlIHN1bXRj aXRhIHdvdWxkIGhhdmUgYWJzb3JiZWQgJydsbyBza2FtaSB7a3V9JycgYW5kIHdlIGRvbid0IHdh bnQgdGhhdC4KCgoKQWx0ZXJuYXRpdmVseSwgd2UgY2FuIHNheToKCgoKJydmaSdvIHp1a3RlIHtm ZSd1fSB6bydlIGxvIHNrYW1pIHtrdX0gY3UgcGlsbm8gbG8gbG9qYm8ge2t1fXt2YXV9JycgCgon J2xvIHNrYW1pIHtrdX0gY3UgZmknbyB6dWt0ZSB7ZmUndX0gcGlsbm8gbG8gbG9qYm8ge2t1fXt2 YXV9JycgCgoKCnJldGFpbmluZyB0aGUgbWVhbmluZy4KCgoKV2hhdCBkb2VzICcnbWkgamltcGUg ZmkgbGEgbG9qYmFuIGZpJ28gc2UgdGF2bGEge2ZlJ3V9IG1pJycgc3RhdGU/CgoKCkFuc3dlcjog fn5ncmV5LGdyZXk64oCcSSB1bmRlcnN0YW5kIHNvbWV0aGluZyBhYm91dCBMb2piYW4sIHNwb2tl biB0byBtZeKAnX5+CgoKClB1dHRpbmcgdGhlICcnc3VtdGNpdGEnJyByaWdodCBpbiBmcm9udCBv ZiB0aGUgc2VsYnJpIGFsc28gbWFrZXMgaXQgc2VsZi10ZXJtaW5hdGUsIHNpbmNlIHN1bXRjaXRh IG9ubHkgY2FuIGFic29yYiBzdW10aSwgYW5kIG5vdCBzZWxicmkuIFRoaXMgZmFjdCB3aWxsIGJl IG9mIGltcG9ydGFuY2UgaW4gbmV4dCBsZXNzb24sIGFzIHlvdSB3aWxsIHNlZS4KCgoKU2FkbHks ICcnZmknbycnIGlzIG5vdCB1c2VkIHZlcnkgb2Z0ZW4gZGVzcGl0ZSBpdHMgZmxleGliaWxpdHku IFdoYXQgSVMgdXNlZCB2ZXJ5IG9mdGVuLCB0aG91Z2gsIGFyZSBCQUkuIEJBSSBpcyBhIGNsYXNz IG9mIExvamJhbiB3b3Jkcywgd2hpY2ggaW4gdGhlbXNlbHZlcyBhY3QgYXMgJydzdW10Y2l0YScn LiBBbiBleGFtcGxlIG9mIHRoaXMgaXMgJyd6dSdlJycsIHRoZSBCQUkgZm9yICcnenVrdGUnJy4g R3JhbWF0aWNhbGx5LCAnJ3p1J2UnJyBpcyB0aGUgc2FtZSBhcyAnJ2ZpJ28genVrdGUgZmUndScn LiBUaHVzLCB0aGUgYWJvdmUgZXhhbXBsZSBjb3VsZCBiZSByZWR1Y2VkIHRvOgoKJyd6dSdlIGt1 IGxvIHNrYW1pIHtrdX0gY3UgcGlsbm8gbG8gbG9qYm8ge2t1fSB7dmF1fScnLiBUaGVyZSBleGlz dCBzb21ldGhpbmcgbGlrZSA2MCBCQUksIGFuZCBhIGxvdCBvZiB0aGVzZSBhcmUgdmVyeSB1c2Vm dWwgaW5kZWVkLiBGdXJ0ZXJtb3JlLCBCQUkgY2FuIGFsc28gYmUgY29udmVydGVkIHdpdGggJydz ZScnIGFuZCBmcmllbmRzLCBtZWFuaW5nIHRoYXQgJydzZSB6dSdlJycgaXMgZXF1YWwgdG8gJydm aSdvIHNlIHp1a3RlIGZlJ3UnJywgd2hpY2ggcmVzdWx0cyBpbiBhIGdyZWF0IGRlYWwgbW9yZSBC QUkuCgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29uIHRlbiAoUFUsIEZBaEEsIFpJLCBWQSwgWkVo QSwgVkVoQSkKCkhvdyB1bmZhbWlsaWFyIHRvIHRoZSBFbmdsaXNoLXNwZWFrZXIgYSBsYW5ndWFn ZSBMb2piYW4gaXMgd2hlbiBvbmUgY2FuIHJlYWQgdGhyb3VnaCBuaW5lIGxlc3NvbnMgb2YgTG9q YmFuIGdyYW1tYXIgd2l0aG91dCBtZWV0aW5nIGEgdGVuc2Ugb25jZS4gVGhpcyBpcyBiZWNhdXNl LCB1bmxpa2UgbWFueSBuYXR1cmFsIGxhbmd1YWdlcyAobW9zdCBJbmRvLUV1cm9wZWFuIG9uZXMs IGZvciBpbnN0YW5jZSksIGFsbCB0ZW5zZXMgaW4gTG9qYmFuIGFyZSBvcHRpb25hbC4gU2F5aW5n ICcnbWkgY2l0a2EgbG8gY2lybGEge2t1fScnIGNhbiBtZWFuIOKAnEkgZWF0IGNoZWVzZeKAnSBv ciDigJxJIGF0ZSB0aGUgY2hlZXNl4oCdIG9yIOKAnEkgYWx3YXlzIGVhdCBjaGVlc2XigJ0gb3Ig 4oCcSW4gYSBtb21lbnQsIGkgd2lsbCBoYXZlIGp1c3QgZmluaXNoZWQgZWF0aW5nIGNoZWVzZeKA nS4gQ29udGV4dCByZXNvbHZlcyB3aGF0IGlzIGNvcnJlY3QsIGFuZCBpbiBtb3N0IGNvbnZlcnNh dGlvbiwgdGVuc2VzIGFyZSBub3QgbmVlZGVkIGF0IGFsbC4gSG93ZXZlciwgd2hlbiBpdCdzIG5l ZWRlZCBpdCdzIG5lZWRlZCwgYW5kIGl0IG11c3QgYmUgdGF1Z2h0LiBGdXJ0aGVybW9yZSwgTG9q YmFuIHRlbnNlcyBhcmUgdW51c3VhbCBiZWNhdXNlIHRoZXkgdHJlYXQgdGltZSBhbmQgc3BhY2Ug ZnVuZGFtZW50YWxseSB0aGUgc2FtZSAtIHNheWluZyB0aGF0IEkgd29ya2VkIGEgbG9uZyB0aW1l IGFnbyBpcyBub3QgZ3JhbW1hdGljYWxseSBkaWZmZXJlbnQgdGhhbiBzYXlpbmcgSSB3b3JrIGZh ciBhd2F5IHRvIHRoZSBub3J0aC4KCkxpa2UgbWFueSBvdGhlciBsYW5ndWFnZXMsIHRoZSBMb2pi YW4gdGVuc2Ugc3lzdGVtIGlzIHBlcmhhcHMgdGhlIG1vc3QgZGlmZmljdWx0IHBhcnQgb2YgdGhl IGxhbmd1YWdlLiBVbmxpa2UgbWFueSBvdGhlciBsYW5ndWFnZXMgdGhvdWdoLCBpdCdzIHBlcmZl Y3RseSByZWd1bGFyIGFuZCBtYWtlcyBzZW5zZS4gU28gZmVhciBub3QsIGZvciBpdCB3aWxsIG5v dCBpbnZvbHZlIHN3ZWF0aW5nIHRvIGxlYXJuIGhvdyB0byBtb2RpZnkgdGhlIHNlbGJyaSBvciBh bnl0aGluZyBzaWxseSBsaWtlIHRoYXQuCgoKCk5vLCBpbiB0aGUgTG9qYmFuIHRlbnNlIHN5c3Rl bSwgYWxsIHRlbnNlcyBhcmUgc3VtdGNpdGEsIHdoaWNoIHdlIGhhdmUgY29udmVuaWVudGx5IGp1 c3QgbWFkZSBvdXJzZWx2ZXMgZmFtaWxpYXIgd2l0aC4gT2theSBva2F5LCB0ZWNobmljYWxseSwg dGVuc2VzIGFyZSBzbGlnaHRseSBkaWZmZXJlbnQgZnJvbSBvdGhlciBzdW10Y2l0YSwgYnV0IHRo aXMgZGlmZmVyZW5jZSBpcyBhbG1vc3QgaW5zaWduaWZpY2FudCwgYW5kIHdvbid0IGJlIGV4cGxh aW5lZCB1bnRpbCBsYXRlci4gSW4gbW9zdCBhc3BlY3RzIHRoZXkgYXJlIGxpa2UgYWxsIG90aGVy IHN1bXRjaXRhOyB0aGV5IGFyZSB0ZXJtaW5hdGVkIGJ5ICcna3UnJywgbWFraW5nIGl0IGV4cGxp Y2l0IHRoYXQgUFUgaXMgdGVybWluYXRlZCBieSAnJ2t1JycuCgpUaGVyZSBhcmUgbWFueSBkaWZm ZXJlbnQga2luZHMgb2YgdGVuc2Utc3VtdGNpdGEsIHNvIGxldCdzIHN0YXJ0IGF0IHRoZSBvbmVz IG1vc3QgZmFtaWxpYXIgdG8gRW5nbGlzaC1zcGVha2Vycy4KCl9fJydwdScnX18gLSBzdW10Y2l0 YTogYmVmb3JlIHtzdW10aX0KCl9fJydjYScnX18gLSBzdW10Y2l0YTogYXQgdGhlIHNhbWUgdGlt ZSBhcyB7c3VtdGl9CgpfXycnYmEnJ19fIC0gc3VtdGNpdGE6IGFmdGVyIHtzdW10aX0KCgoKVGhl c2UgYXJlIGxpa2UgdGhlIEVuZ2xpc2ggY29uY2VwdHMg4oCcYmVmb3Jl4oCdLCDigJxub3figJ0g YW5kIOKAnGFmdGVy4oCdLiBJbiBhY3R1YWxpdHkgdGhvdWdoLCBvbmUgY291bGQgYXJndWUgdGhh dCB0d28gcG9pbnQtbGlrZSBldmVudHMgY2FuIG5ldmVyIG9jY3VyIGV4YWN0bHkgc2ltdWx0YW5l b3VzbHksIHJlbmRlcmluZyAnJ2NhJycgdXNlbGVzcy4gQnV0ICcnY2EnJyBleHRlbmRzIHNsaWdo dGx5IGludG8gdGhlIHBhc3QgYW5kIHRoZSBmdXR1cmUsIG1lYW5pbmcganVzdCDigJxhYm91dCBu b3figJ0uIFRoaXMgaXMgYmVjYXVzZSBodW1hbiBiZWluZ3MgZG9uJ3QgcGVyY2VpdmUgdGltZSBp biBhIHBlcmZlY3RseSBsb2dpY2FsIHdheSwgYW5kIHRoZSBMb2piYW4gdGVuc2Ugc3lzdGVtIHJl ZmxlY3RzIHRoYXQuCgoKClNpZGUgbm90ZTogSXQgd2FzIGFjdHVhbGx5IHN1Z2dlc3RlZCBtYWtp bmcgdGhlIExvamJhbiB0ZW5zZSBzeXN0ZW0gcmVsYXRpdmlzdGljLiBUaGF0IGlkZWEsIGhvd2V2 ZXIsIHdhcyBkcm9wcGVkLCBiZWNhdXNlIGl0IGlzIGNvdW50ZXItaW50dWl0aXZlLCBhbmQgd291 bGQgbWVhbiB0aGF0IHRvIGxlYXJuIExvamJhbiwgb25lIHdvdWxkIGhhdmUgdG8gbGVhcm4gdGhl IHRoZW9yeSBvZiByZWxhdGl2aXR5IGZpcnN0LiAgCgoKClNvLCBob3cgd291bGQgeW91IHNheSDi gJxJIGV4cHJlc3MgdGhpcyBhZnRlciBJIGNhbWUgaGVyZT/igJ0gKHBvaW50aW5nIHRvIGEgcGFw ZXIpCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JydtaSBjdXNrdSB0aSBiYSBsbyBudSBtaSBrbGFt YSB0aSB7dmF1fSB7a2VpfSB7a3V9IHt2YXV9Jyd+fgoKCgpVc3VhbGx5IHdoZW4gc3BlYWtpbmcs IHdlIGRvIG5vdCBuZWVkIHRvIHNwZWNpZnkgd2hpY2ggZXZlbnQgaW4gdGhlIHBhc3QgdGhpcyBh Y3Rpb24gaXMgcmVsYXRpdmUgdG8uIEluOiDigJxJIGdhdmUgYSBjb21wdXRlciBhd2F54oCdLCB3 ZSBjYW4gYXNzdW1lIHRoYXQgdGhlIGFjdGlvbiBoYXBwZW5lZCByZWxhdGl2ZSB0byDigJxub3fi gJ0sIGFuZCB0aHVzIHdlIGNhbiBlbGlkZSB0aGUgc3VtdGkgb2YgdGhlIHN1bXRjaXRhLCBiZWNh dXNlIGl0J3Mgb2J2aW91czoKCicncHUga3UgbWkgZHVuZGEgbG8gc2thbWkge2t1fSB7dmF1fScn IG9yCgonJ21pIGR1bmRhIGxvIHNrYW1pIHtrdX0gcHUge2t1fSB7dmF1fScnIG9yLCBtb3JlIGNv bW1vbmx5CgonJ21pIHB1IHtrdX0gZHVuZGEgbG8gc2thbWkge2t1fSB7dmF1fScnLiBUaGUgc3Vt dGkgd2hpY2ggZmlsbHMgdGhlIHN1bXRjaXRhIGlzIGFuIGltcGxpZWQgJyd6bydlJycsIHdoaWNo IGlzIGFsbW9zdCBhbHdheXMgdW5kZXJzdG9vZCBhcyByZWxhdGl2ZSB0byB0aGUgc3BlYWtlcidz IHRpbWUgYW5kIHBsYWNlICh0aGlzIGlzIGVzcGVjaWFsbHkgaW1wb3J0YW50IHdoZW4gc3BlYWtp bmcgYWJvdXQgbGVmdCBhbmQgcmlnaHQpLiBJZiBzcGVha2luZyBhYm91dCBzb21lIGV2ZW50cyB0 aGF0IGhhcHBlbmVkIHNvbWUgb3RoZXIgdGltZSB0aGFuIHRoZSBwcmVzZW50LCBpdCBpcyBzb21l dGltZXMgYXNzdW1lZCB0aGF0IGFsbCB0ZW5zZXMgYXJlIHJlbGF0aXZlIHRvIHRoYXQgZXZlbnQg d2hpY2ggaXMgYmVpbmcgc3Bva2VuIGFib3V0LiBJbiBvcmRlciB0byBjbGFyaWZ5IHRoYXQgYWxs IHRlbnNlcyBhcmUgcmVsYXRpdmUgdG8gdGhlIHNwZWFrZXIncyBjdXJyZW50IHBvc2l0aW9uLCB0 aGUgd29yZCAnJ25hdScnIGNhbiBiZSB1c2VkIGF0IGFueSB0aW1lLiBBbm90aGVyIHdvcmQsICcn a2knJyBtYXJrcyBhIHRlbnNlIHdoaWNoIGlzIHRoZW4gY29uc2lkZXJlZCB0aGUgbmV3IHN0YW5k YXJkLiBUaGF0IHdpbGwgYmUgdGF1Z2h0IHdheSBsYXRlci4KCl9fJyduYXUnJ19fIHVwZGF0ZXMg dGVtcG9yYWwgYW5kIHNwYWNpYWwgZnJhbWUgb2YgcmVmZXJlbmNlIHRvIHRoZSBzcGVha2VyJ3Mg Y3VycmVudCBoZXJlIGFuZCBub3cuCgoKCl9fJydndWdkZScnX18gPSDigJx4MSBpcyB0aGUgY291 bnRyeSBvZiBwZW9wbGUgeDIgd2l0aCBsYW5kL3RlcnJpdG9yeSB4M+KAnQoKCgpBbHNvIG5vdGUg dGhhdCAnJ21pIHB1IHtrdX0ga2xhbWEgbG8gbWVya28gZ3VnZGUge2t1fSB7dmF1fScnLCDigJxJ IHdlbnQgdG8gQW1lcmljYeKAnSwgZG9lcyBub3QgaW1wbHkgdGhhdCBJJ20gbm90IHN0aWxsIHRy YXZlbGluZyB0byBVU0EsIG9ubHkgdGhhdCBpdCB3YXMgYWxzbyB0cnVlIHNvbWUgdGltZSBpbiB0 aGUgcGFzdCwgZm9yIGluc3RhbmNlIGZpdmUgbWludXRlcyBhZ28uCgoKCkFzIG1lbnRpb25lZCwg c3BhY2lhbCBhbmQgdGVtcG9yYWwgdGltZSB0ZW5zZXMgYXJlIHZlcnkgbXVjaCBhbGlrZS4gQ29u dHJhc3QgdGhlIHByZXZpb3VzIHRocmVlIHRpbWUgdGVuc2VzIHdpdGggdGhlc2UgZm91ciBzcGFj aWFsIHRlbnNlczoKCl9fJyd6dSdhJydfXyBzdW10Y2l0YTogbGVmdCBvZiB7c3VtdGl9CgpfXycn Y2EndScnX18gc3VtdGNpdGE6IGluIGZyb250IG9mIHtzdW10aX0KCl9fJydyaSd1JydfXyBzdW10 Y2l0YTogcmlnaHQgb2Yge3N1bXRpfQoKX18nJ2J1J3UnJ19fIHN1bXRjaXRhOiBhdCB0aGUgc2Ft ZSBwbGFjZSBhcyB7c3VtdGl9IChzcGFjaWFsIGVxdWl2YWxlbnQgb2YgJydjYScnKQoKCgpfXycn bydvJydfXzogYXR0aXR1ZGluYWw6IGNvbXBsZXggcHVyZSBlbW90aW9uOiBwYXRpZW5jZSAtIHRv bGVyYW5jZSAtIGFuZ2VyCgoKCldoYXQgd291bGQgJycubydvbmFpIHJpJ3Uge2t1fSBudSBsbyBw cmVudSB7a3V9IGN1IGRhcnhpIGxvIGdlcmt1IHB1IHtrdX0ge2t1fSB7dmF1fSB7a2VpfSB7dmF1 fScnIG1lYW4/IChub3RpY2UgdGhlIGZpcnN0IGVsaWRlZCBrdSEpCgpfXycnZGFyeGknJ19fIHgx IGJlYXRzL2hpdHMgeDIgd2l0aCBpbnN0cnVtZW50IHgzIGF0IGxvY3VzIHg0CgoKCkFuc3dlcjog fn5ncmV5LGdyZXk64oCce2FuZ2VyIX0gVG8gdGhlIHJpZ2h0IChvZiBzb21ldGhpbmcsIHByb2Jh Ymx5IG1lKSBhbmQgaW4gdGhlIHBhc3QgKG9mIHNvbWUgZXZlbnQpLCBzb21ldGhpbmcgaXMgYW4g ZXZlbnQgb2YgYSBwZXJzb24gYmVhdGluZyBhIGRvZy7igJ0gb3Ig4oCcQSBtYW4gaGl0IGEgZG9n IHRvIG15IHJpZ2h0IeKAnX5+CgoKCklmIHRoZXJlIGFyZSBzZXZlcmFsIHRlbnNlIHN1bXRjaXRh IGluIG9uZSBicmlkaSwgdGhlIHJ1bGUgaXMgdGhhdCB5b3UgcmVhZCB0aGVtIGZyb20gbGVmdCB0 byByaWdodCwgdGhpbmtpbmcgaXQgYXMgYSBzbyBjYWxsZWQg4oCcaW1hZ2luYXJ5IGpvdXJuZXni gJ0sIFdoZXJlIHlvdSBiZWdpbiBhdCBhbiBpbXBsaWVkIHBvaW50IGluIHRpbWUgYW5kIHNwYWNl IChkZWZhdWx0OiB0aGUgc3BlYWtlcidzIG5vdyBhbmQgaGVyZSksIGFuZCB0aGVuIGZvbGxvdyB0 aGUgc3VtdGNpdGEgb25lIGF0IGEgdGltZSBmcm9tIGxlZnQgdG8gcmlnaHQuCgpFeGFtcGxlCgon J21pIHB1IHtrdX0gYmEge2t1fSBqaW1wZSBmaSBsbyBsb2pibyBmYSdvcm1hJ28ge2t1fSB7dmF1 fScnID0g4oCcQXQgc29tZSB0aW1lIGluIHRoZSBwYXN0LCBJIHdpbGwgYmUgYWJvdXQgdG8ga25v dyBhYm91dCBmYSdvcm1hJ29zLuKAnQoKJydtaSBiYSB7a3V9IHB1IHtrdX0gamltcGUgZmkgbG8g bG9qYm8gZmEnb3JtYSdvIHtrdX0ge3ZhdX0nJyDigJxBdCBzb21lIHBvaW50IGluIHRoZSBmdXR1 cmUsIEkgd2lsbCBoYXZlIHVuZGVyc3Rvb2QgYWJvdXQgZmEnb3JtYSdvcy7igJ0KClNpbmNlIHdl IGRvIG5vdCBzcGVjaWZ5IHRoZSBhbW91bnQgb2YgdGltZSB3ZSBtb3ZlIGJhY2sgb3IgZm9ydGgs IHRoZSB1bmRlcnN0YW5kaW5nIGNvdWxkIGluIGJvdGggY2FzZXMgaGFwcGVuIGluIHRoZSBmdXR1 cmUgb3IgdGhlIHBhc3Qgb2YgdGhlIHBvaW50IG9mIHJlZmVyZW5jZS4KCgoKQWxzbywgaWYgc3Bh Y2lhbCBhbmQgdGVtcG9yYWwgdGVuc2VzIGFyZSBtaXhlZCwgdGhlIHJ1bGUgaXMgdG8gYWx3YXlz IHB1dCB0ZW1wb3JhbCBiZWZvcmUgc3BhY2lhbC4gSWYgdGhpcyBydWxlIGlzIHZpb2xhdGVkLCBp dCBjYW4gc29tZXRpbWVzIHJlc3VsdCBpbiBzeW50YWN0aWNhbCBhbWJpZ3VpdHksIHdoaWNoIExv amJhbiBkb2VzIG5vdCB0b2xlcmF0ZS4KCgoKU3VwcG9zZSB3ZSB3YW50IHRvIHNwZWNpZnkgdGhh dCB0aGUgYSBtYW4gaGl0IGEgZG9nIGp1c3QgYSBtaW51dGUgYWdvLiBUaGUgd29yZHMgJyd6aScn LCAnJ3phJycgYW5kICcnenUnJyBzcGVjaWZpZXMgYSBzaG9ydCwgdW5zcGVjaWZpZWQgKHByZXN1 bWFibHkgbWVkaXVtKSBhbmQgbG9uZyBkaXN0YW5jZSBpbiB0aW1lLiBOb3RpY2UgdGhlIHZvd2Vs IG9yZGVyICcnaScnLCAnJ2EnJyBhbmQgJyd1JycuIFRoaXMgb3JkZXIgYXBwZWFycyBhZ2FpbiBh bmQgYWdhaW4gaW4gTG9qYmFuLCBhbmQgbWlnaHQgYmUgd29ydGggdG8gbWVtb3JpemUuIOKAnFNo b3J04oCdIGFuZCDigJxsb25n4oCdIGluIGFyZSBhbHdheXMgY29udGV4dCBkZXBlbmRlbnQsIHJl bGF0aXZlIGFuZCBzdWJqZWN0aXZlLiBUd28gaHVuZHJlZCB5ZWFycyBpcyBhIHNob3J0IHRpbWUg Zm9yIGEgc3BlY2llcyB0byBldm9sdmUsIGJ1dCBhIGxvbmcgdGltZSB0byB3YWl0IGZvciB0aGUg YnVzLgoKX18nJ3ppJydfXyBzdW10Y2l0YTogT2N1cnJpbmcgdGhlIHNtYWxsIGRpc3RhbmNlIG9m IHtzdW10aX0gaW4gdGltZSBmcm9tIHBvaW50IG9mIHJlZmVyZW5jZSAKCl9fJyd6YScnX18gc3Vt dGNpdGE6IE9jdXJyaW5nIHRoZSB1bnNwZWNpZmllZChtZWRpdW0pIGRpc3RhbmNlIG9mIHtzdW10 aX0gaW4gdGltZSBmcm9tIHBvaW50IG9mIHJlZmVyZW5jZSAKCl9fJyd6dScnX18gc3VtdGNpdGE6 IE9jdXJyaW5nIHRoZSBmYXIgZGlzdGFuY2Ugb2Yge3N1bXRpfSBpbiB0aW1lIGZyb20gdGhlIHBv aW50IG9mIHJlZmVyZW5jZSAKCgoKU2ltaWxhcmx5LCBzcGFjaWFsIGRpc3RhbmNlIGlzIG1hcmtl ZCBieSAnJ3ZpJycsICcndmEnJyBhbmQgJyd2dScnIGZvciBzaG9ydCwgdW5zcGVjaWZpZWQgKG1l ZGl1bSkgYW5kIGxvbmcgZGlzdGFuY2UgaW4gc3BhY2UuCgpfXycndmknJ19fIHN1bXRjaXRhOiBP Y3VycmluZyB0aGUgc21hbGwgZGlzdGFuY2Ugb2Yge3N1bXRpfSBpbiBzcGFjZSBmcm9tIHBvaW50 IG9mIHJlZmVyZW5jZSAKCl9fJyd2YScnX18gc3VtdGNpdGE6IE9jdXJyaW5nIHRoZSB1bnNwZWNp ZmllZChtZWRpdW0pIGRpc3RhbmNlIG9mIHtzdW10aX0gaW4gc3BhY2UgZnJvbSBwb2ludCBvZiBy ZWZlcmVuY2UgCgpfXycndnUnJ19fIHN1bXRjaXRhOiBPY3VycmluZyB0aGUgZmFyIGRpc3RhbmNl IG9mIHtzdW10aX0gaW4gc3BhY2UgZnJvbSB0aGUgcG9pbnQgb2YgcmVmZXJlbmNlIAoKX18nJ2d1 bmthJydfXyDigJx4MSB3b3JrcyBhdCB4MiB3aXRoIG9iamVjdGl2ZSB4M+KAnQoKCgpUcmFuc2xh dGU6ICcnYmEge2t1fSB6YSBrdSBtaSB2dSB7a3V9IGd1bmthIHt2YXV9JycKCgoKQW5zd2VyOiB+ fmdyZXksZ3JleTrigJxTb21lIHRpbWUgaW4gdGhlIGZ1dHVyZSwgSSB3aWxsIHdvcmsgYSBwbGFj ZSBsb25nIGF3YXnigJ1+fgoKTm90ZTogUGVvcGxlIHJhcmVseSB1c2UgJyd6aScnLCAnJ3phJycg b3IgJyd6dScnIHdpdGhvdXQgYSAnJ3B1Jycgb3IgJydiYScnIGluIGZyb250IG9mIGl0LiBUaGlz IGlzIGJlY2F1c2UgbW9zdCBwZW9wbGUgYWx3YXlzIG5lZWQgdG8gc3BlY2lmeSBwYXN0IG9yIGZ1 dHVyZSBpbiB0aGVpciBuYXRpdmUgbGFuZ3VhZ2UuIFdoZW4geW91IHRoaW5rIGFib3V0IGl0IExv amJhbmljYWxseSwgbW9zdCBvZiB0aGUgdGltZSB0aGUgdGltZS1kaXJlY3Rpb24gaXMgb2J2aW91 cywgYW5kIHRoZSAnJ3B1Jycgb3IgJydiYScnIHN1cGVyZmx1b3VzIQoKCgpUaGUgb3JkZXIgaW4g d2hpY2ggZGlyZWN0aW9uLXN1bXRjaXRhIGFuZCBkaXN0YW5jZS1zdW10Y2l0YSBhcmUgc2FpZCBt YWtlcyBhIGRpZmZlcmVuY2UuIFJlbWVtYmVyIHRoYXQgdGhlIG1lYW5pbmdzIG9mIHNldmVyYWwg dGVuc2Ugd29yZHMgcGxhY2VkIHRvZ2V0aGVyIGFyZSBwaWN0dXJlZCBieSBhbiBpbWFnaW5hcnkg am91cm5leSByZWFkaW5nIGZyb20gbGVmdCB0byByaWdodC4gVGh1cyAnJ3B1IHp1JycgaXMg4oCc YSBsb25nIHRpbWUgYWdv4oCdIHdoaWxlICcnenUgcHUnJyBpcyDigJxpbiB0aGUgcGFzdCBvZiBz b21lIHBvaW50IGluIHRpbWUgd2hpY2ggaXMgYSBsb25nIHRpbWUgdG93YXJkIHRoZSBmdXR1cmUg b3IgdGhlIHBhc3Qgb2Ygbm934oCdLiBJbiB0aGUgZmlyc3QgZXhhbXBsZSwgJydwdScnIHNob3dz IHRoYXQgd2UgYmVnaW4gaW4gdGhlIHBhc3QsICcnenUnJyB0aGVuIHRoYXQgaXQgaXMgYSBsb25n IHRpbWUgYmFja3dhcmRzLiBJbiB0aGUgc2Vjb25kIGV4YW1wbGUsICcnenUnJyBzaG93cyB0aGF0 IHdlIGJlZ2luIGF0IHNvbWUgcG9pbnQgZmFyIGF3YXkgaW4gdGltZSBmcm9tIG5vdywgJydwdScn IHRoZW4sIHRoYXQgd2UgbW92ZSBiYWNrd2FyZHMgZnJvbSB0aGF0IHBvaW50LiBUaHVzICcncHUg enUnJyBpcyBhbHdheXMgaW4gdGhlIHBhc3QuICcnenUgcHUnJyBjb3VsZCBiZSBpbiB0aGUgZnV0 dXJlLiBUaGUgZmFjdCB0aGF0IHRoZXNlIHRpbWUgdGVuc2VzIGNvbWJpbmUgaW4gdGhpcyB3YXkg aXMgb25lIG9mIHRoZSBkaWZmZXJlbmNlcyBiZXR3ZWVuIHRlbnNlIHN1bXRjaXRhIGFuZCBvdGhl ciBzdW10Y2l0YS4gVGhlIG1lYW5pbmdzIG9mIG90aGVyIHN1bXRjaXRhIGFyZSBub3QgYWx0ZXJl ZCBieSB0aGUgcHJlc2VuY2Ugb2YgYWRkaXRpb25hbCBzdW10Y2l0YSBpbiBhIGJyaWRpLgoKCgpB cyBicmllZmx5IGltcGxpZWQgZWFybGllciwgYWxsIHRoZXNlIGNvbnN0cnVjdHMgYmFzaWNhbGx5 IHRyZWF0IGJyaWRpIGFzIGlmIHRoZXkgd2VyZSBwb2ludC1saWtlIGluIHRpbWUgYW5kIHNwYWNl LiBJbiBhY3R1YWxpdHksIG1vc3QgZXZlbnRzIHBsYXkgb3V0IG92ZXIgYSBzcGFuIG9mIHRpbWUg YW5kIHNwYWNlLiBJbiB0aGUgZm9sbG93aW5nIGZldyBwYXJhZ3JhcGhzLCB3ZSB3aWxsIGxlYXJu IGhvdyB0byBzcGVjaWZ5IGludGVydmFscyBvZiB0aW1lIGFuZCBzcGFjZS4KCgoKX18nJ3plJ2kn J19fIHN1bXRjaXRhOiBzcGFubmluZyBvdmVyIHRoZSBzaG9ydCB0aW1lIG9mIHtzdW10aX0KCl9f Jyd6ZSdhJydfXyBzdW10Y2l0YTogc3Bhbm5pbmcgb3ZlciB0aGUgdW5zcGVjaWZpZWQgKG1lZGl1 bSkgdGltZSBvZiB7c3VtdGl9CgpfXycnemUndScnX18gc3VtdGNpdGE6IHNwYW5uaW5nIG92ZXIg dGhlIGxvbmcgdGltZSBvZiB7c3VtdGl9CgoKCl9fJyd2ZSdpJydfXyBzdW10Y2l0YTogc3Bhbm5p bmcgb3ZlciB0aGUgc2hvcnQgc3BhY2Ugb2Yge3N1bXRpfQoKX18nJ3ZlJ2EnJ19fIHN1bXRjaXRh OiBzcGFubmluZyBvdmVyIHRoZSB1bnNwZWNpZmllZCAobWVkaXVtKSBzcGFjZSBvZiB7c3VtdGl9 CgpfXycndmUndScnX18gc3VtdGNpdGE6IHNwYW5uaW5nIG92ZXIgdGhlIGxvbmcgc3BhY2Ugb2Yg e3N1bXRpfQoKCgpTaXggd29yZHMgYXQgYSB0aW1lLCBJIGtub3csIGJ1dCByZW1lbWJlcmluZyB0 aGUgdm93ZWwgc2VxdWVuY2UgYW5kIHRoZSBzaW1pbGFyaXR5IG9mIHRoZSBpbml0aWFsIGxldHRl ciB6IGZvciB0ZW1wb3JhbCB0ZW5zZXMgYW5kIHYgZm9yIHNwYWNpYWwgdGVuc2VzIG1pZ2h0IGhl bHAgdGhlIG1lbW9yaXppbmcuCgpfXycnLm9pJydfXyAtIGF0dGl0dWRpbmFsOiBwYWluIC0gcGxl YXN1cmUKCgoKVHJhbnNsYXRlOiAnJy5vaSBkYWkgZG8gdmUndSB7a3V9IGtsYW1hIGxvIGRvdGNv IGd1Z2RlIHtrdX0gemUndSB7a3V9IHt2YXV9JycKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxP dWNoLCB5b3Ugc3BlbmQgYSBsb25nIHRpbWUgdHJhdmVsaW5nIGEgbG9uZyBzcGFjZSB0byBHZXJt YW554oCdIH5+CgoKClRob3VnaCBtb3N0IHBlb3BsZSBhcmUgbm90IGZhbWlsaWFyIHdpdGggc3Bh Y2lhbCB0ZW5zZXMsIHRoZXNlIG5ldyB3b3JkcyBjYW4gb3BlbiB1cCBmb3Igc29tZSBwcmV0dHkg c3dlZXQgdXNlcy4gT25lIGNvdWxkLCBmb3IgaW5zdGFuY2UsIHRyYW5zbGF0ZSDigJxUaGF0J3Mg YSBiaWcgZG9n4oCdIGFzICcndGkgdmUndSB7a3V9IGdlcmt1IHt2YXV9JycuIFNheWluZzog4oCc VGhpcyB0aGluZyBkb2dzIGZvciBhIGxvbmcgc3BhY2XigJ0gbWFrZXMgeW91IHNvdW5kIHJldGFy ZGVkIGluIEVuZ2xpc2gsIGJ1dCB3ZWxsLXNwb2tlbiBpbiBMb2piYW4hCgoKCicnemUndScnIGFu ZCBpdHMgYnJvdGhlcnMgYWxzbyBjb21iaW5lIHdpdGggb3RoZXIgdGVuc2VzIHRvIGZvcm0gY29t cG91bmQgdGVuc2VzLiBUaGUgcnVsZSBmb3IgJyd6ZSd1JycgYW5kIHRoZSBvdGhlcnMgYXJlIHRo YXQgYW55IHRlbnNlcyBwcmVjZWRpbmcgaXQgbWFya3MgYW4gZW5kcG9pbnQgb2YgdGhlIHByb2Nl c3MgKHJlbGF0aXZlIHRvIHRoZSBwb2ludCBvZiByZWZlcmVuY2UpIGFuZCBhbnkgdGVuc2VzIGNv bWluZyBhZnRlciBpdCBtYXJrcyB0aGUgb3RoZXIgZW5kcG9pbnQgcmVsYXRpdmUgdG8gdGhlIGZp cnN0LiBUaGlzIHNob3VsZCBiZSBkZW1vbnN0cmF0ZWQgd2l0aCBhIGNvdXBsZSBvZiBleGFtcGxl czoKCicnLm8nb2N1J2kgZG8gY2l0a2EgcHUge2t1fSB6ZSd1IHtrdX0gYmEge2t1fSB6dSB7a3V9 IHt2YXV9JycgLSDigJx7dG9sZXJhbmNlfSB5b3UgZWF0IGJlZ2lubmluZyBpbiB0aGUgcGFzdCBh bmQgZm9yIGEgbG9uZyB0aW1lIGVuZGluZyBhdCBzb21lIHBvaW50IGZhciBpbnRvIHRoZSBmdXR1 cmUgb2Ygd2hlbiB5b3Ugc3RhcnRlZOKAnSBvciDigJxIbXBmLCB5b3UgYXRlIGZvciBhIGxvbmcg dGltZeKAnS4gT25lIGNhbiBhbHNvIGNvbnRyYXN0ICcnZG8gY2Ege2t1fSB6ZSdpIHtrdX0gcHUg e2t1fSBrbGFtYSB7dmF1fScnIHdpdGggJydkbyBwdSB7a3V9IHplJ2kge2t1fSBjYSB7a3V9IGts YW1hIHt2YXV9JycuIFRoZSBmaXJzdCBldmVudCBvZiB0cmF2ZWxpbmcgaGFzIG9uZSBlbmRwb2lu dCBpbiB0aGUgcHJlc2VudCBhbmQgZXh0ZW5kcyBhIGxpdHRsZSB0b3dhcmRzIHRoZSBwYXN0LCB3 aGlsZSB0aGUgc2Vjb25kIGV2ZW50IGhhcyBvbmUgZW5kcG9pbnQgaW4gdGhlIHBhc3QgYW5kIGV4 dGVuZHMgb25seSB0byB0aGUgcHJlc2VudCAodGhhdCBpcywgc2xpZ2h0eSBpbnRvIHRoZSBwYXN0 IG9yIGZ1dHVyZSkgb2YgdGhhdCBlbmRwb2ludC4KCl9fJydqbWl2ZScnX18g4oCceDEgaXMgYWxp dmUgYnkgc3RhbmRhcmQgeDLigJ0KCgoKV2hhdCBkb2VzICcnLnVpIG1pIHB1IHtrdX0gemkge2t1 fSB6ZSd1IHtrdX0gam1pdmUge3ZhdX0nJyBleHByZXNzPwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5 OuKAnHtoYXBwaW5lc3MhfSBJIGxpdmUgZnJvbSBhIGxpdHRsZSBpbnRvIHRoZSBwYXN0IGFuZCBh IGxvbmcgd2F5IHRvd2FyZHMgdGhlIGZ1dHVyZSBvciBwYXN0IChvYnZpb3VzbHkgdGhlIGZ1dHVy ZSwgaW4gdGhpcyBjYXNlKSBvZiB0aGF0IGV2ZW504oCdIG9yIOKAnEkgYW0geW91bmcsIGFuZCBo YXZlIG1vc3Qgb2YgbXkgbGlmZSBhaGVhZCBvZiBtZSA6KeKAnX5+CgoKCkp1c3QgdG8gdW5kZXJs aW5lIHRoZSBzaW1pbGFyaXR5IHdpdGggc3BhY2lhbCB0ZW5zZXMsIGxldCdzIGhhdmUgYW5vdGhl ciBleGFtcGxlLCB0aGlzIHRpbWUgd2l0aCBzcGFjaWFsIHRlbnNlczoKCl9fJycudSdlJydfXyBh dHRpdHVkaW5hbDogd29uZGVyIC0gY29tbW9ucGxhY2UKCgoKJycudSdlIHphJ2Ege2t1fSBidSd1 IHtrdX0gdmUndSB7a3V9IGNhJ3Uge2t1fSB6ZGFuaSB7dmF1fScnIC0gV2hhdCBkb2VzIGl0IG1l YW4/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6IOKAnHt3b25kZXJ9IHtJIG9ic2VydmUhfSBFeHRl bmRpbmcgYSBsb25nIHNwYWNlIGZyb20gaGVyZSB0byBteSBmcm9udCBpcyBhIGhvbWUu4oCdIG9y IOKAnFdvdywgdGhpcyBob21lIGV4dGVuZGluZyBhaGVhZCBpcyBodWdlIeKAnX5+CgoKCkJlZm9y ZSB3ZSBjb250aW51ZSB3aXRoIHRoaXMgc3ludGF4LWhlYXZ5IHRlbnNlIHN5c3RlbSwgaSByZWNv bW1lbmQgc3BlbmRpbmcgYXQgbGVhc3QgdGVuIG1pbnV0ZXMgZG9pbmcgc29tZXRoaW5nIHdoaWNo IGRvZXNuJ3Qgb2NjdXB5IHlvdXIgYnJhaW4gaW4gb3JkZXIgdG8gbGV0IHRoZSBpbmZvcm1hdGlv biBzaW5rIGluLiBTaW5nIGEgc29uZyBvciBlYXQgYSBjb29raWUgdmVyeSBzbG93bHkgLSB3aGF0 ZXZlciwgYXMgbG9uZyBhcyB5b3UgbGV0IHlvdXIgbWluZCByZXN0LgoKCgohIUxvamJhbiBMZXNz b25zIC0gTGVzc29uIGVsZXZlbiAoWkFoTykKClRob3VnaCB3ZSB3b24ndCBnbyB0aHJvdWdoIGFs bCBMb2piYW4gdGVuc2UgY29uc3RydWN0cyBmb3Igbm93LCB0aGVyZSBpcyBvbmUgb3RoZXIga2lu ZCBvZiB0ZW5zZSB0aGF0IEkgdGhpbmsgc2hvdWxkIGJlIHRhdWdodCBub3cuIFRoZXNlIGFyZSBj YWxsZWQg4oCcZXZlbnQgY29udG91cnPigJ0sIGFuZCByZXByZXNlbnQgYSB2ZXJ5IGRpZmZlcmVu dCB3YXkgb2Ygdmlld2luZyB0ZW5zZXMgdGhhdCB3ZSBoYXZlIHNlZW4gc28gZmFyLiBTbyBsZXQn cyBnZXQgdG8gaXQ6CgoKClVzaW5nIHRoZSB0ZW5zZXMgd2UgaGF2ZSBsZWFybmVkIHNvIGZhciwg d2UgY2FuIGltYWdpbmUgYW4gaW5kZWZpbml0ZSB0aW1lIGxpbmUsIGFuZCB3ZSB0aGVuIHBsYWNl IGV2ZW50cyBvbiB0aGF0IGxpbmUgcmVsYXRpdmUgdG8gdGhlIOKAnG5vd+KAnS4gV2l0aCBldmVu dCBjb250b3VycywgaG93ZXZlciwgd2UgdmlldyBlYWNoIGV2ZW50IGFzIGEgcHJvY2Vzcywgd2hp Y2ggaGFzIGNlcnRhaW4gc3RhZ2VzOiBBIHRpbWUgYmVmb3JlIGl0IHVuZm9sZHMsIGEgdGltZSB3 aGVuIGl0IGJlZ2lucywgYSB0aW1lIHdoZW4gaXQgaXMgaW4gcHJvY2VzcywgYSB0aW1lIHdoZW4g aXQgZW5kcywgYW5kIGEgdGltZSBhZnRlciBpdCBoYXMgZW5kZWQuIEV2ZW50IGNvbnRvdXJzIHRo ZW4gdGVsbHMgdXMgd2hpY2ggcGFydCBvZiB0aGUgZXZlbnQncyBwcm9jZXNzIHdhcyBoYXBwZW5p bmcgZHVyaW5nIHRoZSB0aW1lIHNwZWNpZmllZCBieSB0aGUgb3RoZXIgdGVuc2VzLiBXZSBuZWVk IGEgY291cGxlIG9mIHRlbnNlcyBmaXJzdDoKCgoKX18nJ3B1J28nJ19fIC0gc3VtdGNpdGE6IGV2 ZW50IGNvbnRvdXI6IEJyaWRpIGhhcyBub3QgeWV0IGhhcHBlbmVkIGR1cmluZyB7c3VtdGl9Cgpf XycnY2EnbycnX18gLSBzdW10Y2l0YTogZXZlbnQgY29udG91cjogQnJpZGkgaXMgaW4gcHJvY2Vz cyBkdXJpbmcge3N1bXRpfQoKX18nJ2JhJ28nJ19fIC0gc3VtdGNpdGE6IGV2ZW50IGNvbnRvdXI6 IFRoZSBwcm9jZXNzIG9mIGJyaWRpIGhhcyBlbmRlZCBkdXJpbmcge3N1bXRpfQoKCgpUaGlzIG5l ZWRzIHRvIGJlIGRlbW9uc3RyYXRlZCBieSBzb21lIGV4YW1wbGVzLiBXaGF0J3MgJycudWkgbWkg cHUnbyB7a3V9IHNlIHpkYW5pIHt2YXV9JycgbWVhbj8KCgoKQW5zd2VyOiDigJxZYXksIEknbGwg YmVnaW4gdG8gaGF2ZSBhIGhvbWXigJ0uCgoKCkJ1dCBoZXksIHlvdSBhc2ssIHdoeSBub3QganVz dCBzYXkgJycudWkgbWkgYmEge2t1fSBzZSB6ZGFuaSB7dmF1fScnIGFuZCBldmVuIHNhdmUgYSBz eWxsYWJsZT8gQmVjYXVzZSwgcmVtZW1iZXIsIHNheWluZyB0aGF0IHlvdSB3aWxsIGhhdmUgYSBo b21lIGluIHRoZSBmdXR1cmUgc2F5cyBub3RoaW5nIGFib3V0IHdoZXRoZXIgeW91IGhhdmUgYSBo b21lIG5vdy4gVXNpbmcgJydwdSdvJycsIHRob3VnaCwgeW91IHNheSB0aGF0IHlvdSBhcmUgbm93 IGluIHRoZSBwYXN0IG9mIHRoZSBwcm9jZXNzIG9mIHlvdSBoYXZpbmcgYSBob21lLCB3aGljaCBt ZWFucyB0aGF0IHlvdSBkb24ndCBoYXZlIG9uZSBub3cuCgpOb3RlLCBieSB0aGUgd2F5LCB0aGF0 ICcnbWkgYmEge2t1fSBzZSB6ZGFuaSB7dmF1fScnIGlzIHNpbWlsYXIgdG8gJydtaSBwdSdvIHtr dX0gc2UgemRhbmkge3ZhdX0nJywgYW5kIGxpa2V3aXNlIHdpdGggJydiYSdvJycgYW5kICcncHUn Jy4gV2h5IGRvIHRoZXkgc2VlbSByZXZlcnNlZD8gQmVjYXVzZSBldmVudCBjb250b3VycyB2aWV3 IHRoZSBwcmVzZW50IGFzIHNlZW4gZnJvbSB0aGUgdmlld3BvaW50IG9mIHRoZSBwcm9jZXNzLCB3 aGVyZWFzIHRoZSBvdGhlciB0ZW5zZXMgdmlldyBldmVudHMgc2VlbiBmcm9tIHRoZSBwcmVzZW50 LgoKCgpPZnRlbiwgZXZlbnQgY29udG91cnMgYXJlIG1vcmUgcHJlY2lzZSB0aGF0IG90aGVyIGtp bmQgb2YgdGVuc2VzLiBFdmVuIG1vcmUgY2xhcml0eSBpcyBhY2hpZXZlZCBieSBjb21iaW5pbmcg c2V2ZXJhbCB0ZW5zZXM6ICcnLmEnbyBtaSBiYXtrdX0gemkge2t1fSBiYSdvIHtrdX0gZ3Vua2Eg e3ZhdX0nJyAtIOKAnEkgaG9wZSBJJ3ZlIHNvb24gZmluaXNoZWQgd29ya2luZy7igJ0KCgoKSW4g TG9qYmFuLCB3ZSBhbHNvIG9wZXJhdGUgd2l0aCBhbiBldmVudCdzIOKAnG5hdHVyYWwgYmVnaW5u aW5n4oCdIGFuZCBpdHMg4oCcbmF0dXJhbCBlbmTigJ0uIFRoZSB0ZXJtIOKAnG5hdHVyYWzigJ0g aXMgaGlnaGx5IHN1YmplY3RpdmUgaW4gdGhpcyBzZW5zZSwgYW5kIHRoZSBuYXR1cmFsIGVuZCBy ZWZlcnMgdG8gdGhlIHBvaW50IGluIHRoZSBwcm9jZXNzIHdoZXJlIGl0IHNob3VsZCBlbmQuIFlv dSBjYW4gc2F5IGFib3V0IGEgbGF0ZSB0cmFpbiwgZm9yIGluc3RhbmNlLCB0aGF0IGl0cyBwcm9j ZXNzIG9mIHJlYWNoaW5nIHlvdSBpcyBub3cgZXh0ZW5kaW5nIGJleW9uZCBpdHMgbmF0dXJhbCBl bmQuIEFuIHVuZGVyY29va2VkLCBidXQgc2VydmVkIG1lYWwsIHNpbWlsYXJseSwgaXMgYmVpbmcg ZWF0ZW4gYmVmb3JlIHRoYXQgcHJvY2VzcycgbmF0dXJhbCBiZWdpbm5pbmcuIFRoZSBldmVudCBj b250b3VycyB1c2VkIGluIHRoZXNlIGV4YW1wbGVzIGFyZSBhcyBmb2xsb3dzOgoKCgpfXycnemEn bycnX18gLSBzdW10Y2l0YTogZXZlbnQgY29udG91cjogQnJpZGkgaXMgaW4gcHJvY2VzcyBiZXlv bmQgaXRzIG5hdHVyYWwgZW5kIGR1cmluZyB7c3VtdGl9CgpfXycneGEnbycnX18gLSBzdW10Y2l0 YTogZXZlbnQgY29udG91cjogQnJpZGkgaXMgaW1tYXR1cmVseSBpbiBwcm9jZXNzIGR1cmluZyB7 c3VtdGl9CgoKCl9fJydjaWRqYScnX186IOKAnHgxIGlzIGZvb2QsIHdoaWNoIGlzIGVkaWJsZSBm b3IgeDLigJ0KCgoKVHJhbnNsYXRlOiAnJy5vaSBkbyBjaXRrYSB6YSdvIGxvIG51IGRvIGJhJ28g e2t1fSB1J2UgY2l0a2Egem8nZSBub2kgY2lkamEgZG8ge3ZhdX0ge2t1J299IHt2YXV9IHtrZWl9 IHtrdX0nJwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnE95LCB5b3Uga2VlcCBlYXRpbmcgd2hl biB5b3UgaGF2ZSBmaW5pc2hlZCwgaW5jcmVkaWJseSwgZWF0aW5nIHNvbWV0aGluZyBlZGlibGUh 4oCdfn4KCgoKe2ltZyBmaWxlSWQ9IjIiIHRodW1iPSJ5IiByZWw9ImJveFtnXSJ9CgpJbWFnZSBh Ym92ZTogWkFoTyB0ZW5zZXMgKGV2ZW50IGNvbnRvdXJzKS4gQWxsIHRlbnNlcyBhYm92ZSB0aGUg bGluZSBvZiB0aGUgZXZlbnQgc2lnbmlmeSBzdGFnZXMgY292ZXJpbmcgYW4gYW1vdW50IG9mIHRp bWUuIEFsbCB0ZW5zZXMgYmVsb3cgdGhlIGV2ZW50IGxpbmUgc2lnbmlmeSBzdGFnZXMgd2hpY2gg YXJlIHBvaW50LWxpa2UuCgoKCkFsbCBvZiB0aGVzZSB0ZW5zZXMgaGF2ZSBiZWVuIGRlc2NyaWJp bmcgc3RhZ2VzIG9mIGEgcHJvY2VzcyB3aGljaCB0YWtlcyBzb21lIHRpbWUgKGFzIHNob3duIG9u IHRoZSBncmFwaCBhYm92ZTsgdGhvc2UgdGVuc2VzIGFib3ZlIHRoZSBldmVudCBsaWtlKS4gQnV0 IG1hbnkgb2YgdGhlIGV2ZW50IGNvbnRvdXJzIGRlc2NyaWJlcyBwb2ludCBsaWtlIHN0YWdlcyBp biB0aGUgcHJvY2VzcywgbGlrZSBpdHMgYmVnaW5uaW5nLiBBcyBpcyB0cnVlIG9mICcnY2EnJyBh bmQgJydidSd1JycsIHRoZXkgYWN0dWFsbHkgZXh0ZW5kIHNsaWdodGx5IGludG8gdGhlIHBhc3Qg YW5kIGZ1dHVyZSBvZiB0aGF0IHBvaW50LCBhbmQgbmVlZCBub3QgdG8gYmUgcHJlY2lzZS4KCgoK VGhlIHR3byBtb3N0IGltcG9ydGFudCBwb2ludC1saWtlIGV2ZW50IGNvbnRvdXJzIGFyZToKCl9f JydjbydhJydfXyAtIHN1bXRjaXRhOiBldmVudCBjb250b3VyOiBCcmlkaSBpcyBhdCBpdHMgYmVn aW5uaW5nIGR1cmluZyB7c3VtdGl9CgpfXycnY28ndScnX18gLSBzdW10Y2l0YTogZXZlbnQgY29u dG91cjogQnJpZGkgaXMgYXQgaXRzIGVuZGluZyBkdXJpbmcge3N1bXRpfQoKCgpGdXJ0aGVybW9y ZSwgdGhlcmUgaXMgYSBwb2ludCB3aGVyZSB0aGUgcHJvY2VzcyBpcyBuYXR1cmFsbHkgY29tcGxl dGUsIGJ1dCBub3QgbmVjZXNzYXJpbHkgaGFzIGVuZGVkIHlldDoKCl9fJydtbyd1JydfXyAtIHN1 bXRjaXRhOiBldmVudCBjb250b3VyOiBCcmlkaSBpcyBhdCBpdHMgbmF0dXJhbCBlbmRpbmcgZHVy aW5nIHtzdW10aX0KCk1vc3Qgb2YgdGhlIHRpbWUsIHRob3VnaCwgcHJvY2Vzc2VzIGFjdHVhbGx5 IGVuZCBhdCB0aGVpciBuYXR1cmFsIGVuZGluZzsgdGhpcyBpcyB3aGF0IG1ha2VzIGl0IG5hdHVy YWwuIFRyYWlucyBhcmUgbm90IHVzdWFsbHkgbGF0ZSwgYW5kIHBlb3BsZSB1c3VhbGx5IHJldHJh aW4gdGhlbXNlbHZlcyB0byBlYXQgb25seSBlZGlibGUgZm9vZC4KCgoKU2luY2UgYSBwcm9jZXNz IGNhbiBiZSBpbnRlcnJ1cHRlZCBhbmQgcmVzdW1lZCwgdGhlc2UgcG9pbnRzIGhhdmUgZWFybmVk IHRoZWlyIG93biBldmVudCBjb250b3VyIGFsc286CgpfXycnZGUnYScnX18gLSBzdW10Y2l0YTog ZXZlbnQgY29udG91cjogQnJpZGkgaXMgcGF1c2luZyBkdXJpbmcge3N1bXRpfQoKX18nJ2RpJ2En J19fIC0gc3VtdGNpdGE6IGV2ZW50IGNvbnRvdXI6IEJyaWRpIGlzIHJlc3VtaW5nIGR1cmluZyB7 c3VtdGl9CgoKCkluIGZhY3QsIHNpbmNlICcnanVuZGknJyBtZWFucyDigJx4MSBwYXlzIGF0dGVu dGlvbiB0byB4MuKAnSwgJydkZSdhIGp1bmRpJycgYW5kICcnZGknYSBqdW5kaScnIGFyZSBjb21t b24gTG9qYmFuIHdheXMgb2Ygc2F5aW5nIOKAnEJSQuKAnSBhbmQg4oCcYmFja+KAnS4gT25lIGNv dWxkIG9mIGNvdXJzZSBhbHNvIHNheSB0aGUgZXZlbnQgY29udG91cnMgYnkgdGhlbXNlbHZlcyBh bmQgaG9wZSB0aGUgcG9pbnQgZ2V0cyBhY3Jvc3MuCgoKCkZpbmFsbHksIG9uZSBjYW4gdHJlYXQg YW4gZW50aXJlIGV2ZW50LCBmcm9tIHRoZSBiZWdpbm5pbmcgdG8gdGhlIGVuZCBhcyBvbmUgc2lu Z2xlIHBvaW50IHVzaW5nICcnY28naScnOgoKX18nJ3Blbm1pJydfXyDigJx4MSBtZWV0cyB4MiBh dCBsb2NhdGlvbiB4M+KAnQoKJydtaSBwdSB7a3V9IHppIHtrdX0gY28naSB7a3V9IHBlbm1pIGxv IGRvdGNvIHByZW51IHtrdX0ge3ZhdX0nJyAtIOKAnEEgbGl0dGxlIHdoaWxlIGFnbywgSSB3YXMg YXQgdGhlIHBvaW50IGluIHRpbWUgd2hlcmUgaSBtZXQgYSBHZXJtYW4gcGVyc29u4oCdCgoKCgoK ISFMb2piYW4gTGVzc29ucyAtIExlc3NvbiB0d2VsdmUgKG9yZGVycyBhbmQgcXVlc3Rpb25zKQoK UGhldywgdGhvc2UgdHdvIGxvbmcgbGVzc29ucyB3aXRoIHN5bnRheCBoZWF2eSBMb2piYW4gZ2l2 ZXMgdGhlIGJyYWluIHNvbWV0aGluZyB0byBwb25kZXIgYWJvdXQuIEVzcGVjaWFsbHkgYmVjYXVz ZSBpdCdzIHNvIGRpZmZlcmVudCBmcm9tIEVuZ2xpc2guIFNvIGxldCdzIHR1cm4gdG8gc29tZXRo aW5nIGEgbGl0dGxlIGxpZ2h0ZXI6IE9yZGVycyBhbmQgcXVlc3Rpb25zLgoKCgpXaGF0IHRoZS4u LiBfX3NpdCB1cCBhbmQgZm9jdXMhX18KCgoKU2luY2UgdGhlIHdheSB0byBleHByZXNzIG9yZGVy cyBpbiBFbmdsaXNoIGlzIHRvIGxlYXZlIG91dCB0aGUgc3ViamVjdCBvZiB0aGUgY2xhdXNlLCB3 aHkgZGlkIHlvdSBhc3N1bWUgdGhhdCBpdCB3YXMgeW91IEkgd2FzIHNwZWFraW5nIHRvLCBhbmQg bm90IG9yZGVyaW5nIG15c2VsZiwgb3IgZXhwcmVzc2luZyB0aGUgb2JsaWdhdGlvbiBzb21lb25l IGVsc2UgaGFzPyBCZWNhdXNlIHRoZSBFbmdsaXNoIGxhbmd1YWdlIHVuZGVyc3RhbmRzIHRoYXQg b3JkZXJzLCBieSB0aGVpciB2ZXJ5IG5hdHVyZSwgYXJlIGFsd2F5cyBkaXJlY3RlZCB0b3dhcmRz IHRoZSBsaXN0ZW5lciAtIHRoZSDigJx5b3XigJ0sIGFuZCBzbyB0aGUgc3ViamVjdCBpcyBub3Qg bmVjZXNzYXJ5LgoKSW4gTG9qYmFuLCBlbGlkaW5nIHRoZSBzdWJqZWN0IHlpZWxkcyAnJ3pvJ2Un Jywgc28gdGhhdCBwb3NzaWJpbGl0eSBpcyBzYWRseSBub3Qgb3BlbiB0byB1cy4gSW5zdGVhZCwg d2UgdXNlIHRoZSB3b3JkICcna28nJywgd2hpY2ggaXMgdGhlIGltcGVyYXRpdmUgZm9ybSBvZiAn J2RvJycuIEdyYW1tYXRpY2FsbHkgYW5kIGJyaWRpLXdpc2UsIGl0J3MgZXF1aXZhbGVudCB0byAn J2RvJycsIGJ1dCBpdCBhZGRzIGEgbGF5ZXIgb2Ygc2VtYW50aWNzLCBzaW5jZSBpdCB0dXJucyBl dmVyeSBzdGF0ZW1lbnQgd2l0aCAnJ2tvJycgaW4gaXQgaW50byBhbiBvcmRlci4g4oCcRG8gc3Vj aCB0aGF0IHRoaXMgc2VudGVuY2UgaXMgdHJ1ZSBmb3IgeW91PScna28nJyHigJ0gRm9yIHRoZSBz YW1lIHJlYXNvbiB3ZSBkb24ndCBuZWVkIHRoZSBzdWJqZWN0IGluIEVuZ2xpc2ggc2VudGVuY2Vz LCB3ZSBkb24ndCBuZWVkIG9yZGVyLXdvcmRzIGRlcml2ZWQgZnJvbSBhbnkgb3RoZXIgc3VtdGkg dGhhbiAnJ2RvJycuCgoKCkhvdyBjb3VsZCB5b3Ugb3JkZXIgb25lIHRvIGdvIGZhciBhd2F5IGZv ciBhIGxvbmcgdGltZSAodXNpbmcgJydrbGFtYScnIGFzIHRoZSBvbmx5IHNlbGJyaT8pCgoKCkFu c3dlcjogfn5ncmV5LGdyZXk6a28gdmUndSB6ZSd1IGtsYW1hfn4KCignJy5pIHphJ2EgZGFpIGEn byBtaSBjYSBjbyd1IGNpc2thIGxvIGZhJ29ybWEnbyAuaSBrbyBqaW1wZSB2YXUgLnVpJycpIC0g bG9vayB1cCBjaXNrYSBhbmQgd29yayBpdCBvdXQuCgoKClF1ZXN0aW9ucyBpbiBMb2piYW4gYXJl IHZlcnkgZWFzeSB0byBsZWFybiwgYW5kIHRoZXkgY29tZSBpbiB0d28ga2luZHM6IEZpbGwgaW4g dGhlIGJsYW5rLCBhbmQgdHJ1ZS9mYWxzZSBxdWVzdGlvbnMuIExldCdzIGJlZ2luIHdpdGggdGhl IHRydWUtZmFsc2UgcXVlc3Rpb24ga2luZCAtIHRoYXQncyBwcmV0dHkgb3ZlcmNvbWVhYmxlLCBz aW5jZSBpdCBvbmx5IGludm9sdmVzIG9uZSB3b3JkLCAnJ3h1JycuCgonJ3h1Jycgd29ya3MgbGlr ZSBhbiBhdHRpdHVkaW5hbCBpbiB0aGUgc2Vuc2UgdGhhdCBpdCBjYW4gZ28gYW55d2hlcmUsIGFu ZCBpdCBhcHBsaWVzIHRvIHRoZSBwcmVjZWRpbmcgd29yZCAob3IgY29uc3RydWN0KS4gSXQgdGhl biB0cmFuc2Zvcm1zIHRoZSBzZW50ZW5jZSBpbnRvIGEgcXVlc3Rpb24sIGFza2luZyB3aGV0aGVy IGl0IGlzIHRydWUgb3Igbm90LiBJbiBvcmRlciB0byBhZmZpcm0sIHlvdSBzaW1wbHkgcmVwZWF0 IHRoZSBicmlkaToKCicneHUgdmUndSB6ZGFuaSBkbycnICcnLmkgdmUndSB6ZGFuaSBtaScnLCBv ciB5b3UganVzdCByZXBlYXQgdGhlIHRoZSBzZWxicmksIHdoaWNoIGlzIHRoZSBicmlkaSB3aXRo IGFsbCB0aGUgc3VtdGkgYW5kIHRlbnNlcyBlbGlkZWQ6ICcnemRhbmknJy4KClRoZXJlIGlzIGFu IGV2ZW4gZWFzaWVyIHdheSB0byBhZmZpcm0gdXNpbmcgYnJpa2EnaSwgYnV0IHRob3NlIGFyZSBh IHRhbGUgZm9yIGFub3RoZXIgdGltZS4gVG8gYW5zd2VyIOKAnG5v4oCdIG9yIOKAnGZhbHNl4oCd LCB5b3Ugc2ltcGx5IGFuc3dlciB3aXRoIHRoZSBicmlkaSBuZWdhdGVkLiBUaGF0IHRvbywgd2ls bCBiZSBsZWZ0IGZvciBsYXRlciwgYnV0IHdlIHdpbGwgcmV0dXJuIHRvIHF1ZXN0aW9uIGFuc3dl cmluZyBieSB0aGVuLgoKCgpUaGUgb3RoZXIga2luZCBpcyBmaWxsIGluIHRoZSBibGFuay4gSGVy ZSwgeW91IGFzayBmb3IgdGhlIHF1ZXN0aW9uIHdvcmQgdG8gYmUgcmVwbGFjZWQgZm9yIGEgY29u c3RydWN0LCB3aGljaCBtYWtlcyB0aGUgYnJpZGkgY29ycmVjdC4gVGhlcmUgYXJlIHNldmVyYWwg b2YgdGhlc2Ugd29yZHMsIGRlcGVuZGluZyBvbiB3aGF0IHlvdSBhcmUgYXNraW5nIGFib3V0OgoK X18nJ21hJydfXyAtIHN1bXRpIHF1ZXN0aW9uCgpfXycnbW8nJ19fIC0gc2VsYnJpIHF1ZXN0aW9u CgpfXycneG8nJ19fIC0gbnVtYmVyIHF1ZXN0aW9uCgpfXycnY3UnZScnX18gLSB0ZW5zZSBxdWVz dGlvbgoKCgpBcyB3ZWxsIGFzIG1hbnkgb3RoZXJzLiBUbyBhc2sgYWJvdXQgYSBzdW10aSwgeW91 IHRoZW4ganVzdCBwbGFjZSB0aGUgcXVlc3Rpb24gd29yZCB3aGVyZSB5b3Ugd2FudCB5b3VyIGFu c3dlcjogJydkbyBkdW5kYSBtYSBtaScnIC0gYXNrcyBmb3IgdGhlIHgyIHRvIGJlIGZpbGxlZCB3 aXRoIGEgY29ycmVjdCBzdW10aS4g4oCcWW91IGdpdmUgd2hhdCB0byBtZT/igJ0uIFRoZSBjb21i aW5hdGlvbiBvZiAnJ3N1bXRjaXRhJycgKyAnJ21hJycgaXMgdmVyeSB1c2VmdWwgaW5kZWVkOgoK X18nJ211J2knJ19fIC0gc3VtdGNpdGE6IG1vdGl2YXRlZCBieSB0aGUgYWJzdHJhY3Rpb24gb2Yg e3N1bXRpfQoKCgonJy5vaSBkbyBkYXJ4aSBtaSBtdSdpIG1hJycgLSDigJxPeSwgd2h5IGRvIHlv dSBoaXQgbWU/IeKAnQoKCgpMZXQncyB0cnkgYW5vdGhlciBvbmUuIFRoaXMgdGltZSwgeW91IHRy YW5zbGF0ZToKCicnLnVpIGRhaSBkbyBjYSB6ZSd1IHB1IG1vJycKCgoKQW5zd2VyOiB+fmdyZXks Z3JleTrigJxZb3UncmUgaGFwcHksIHdoYXQgaGF2ZSB5b3UgYmVlbiBkb2luZyBhbGwgdGhpcyBs b25nIHRpbWUgdW50aWwgbm93P+KAnSBUZWNobmljYWxseSwgaXQgY291bGQgYWxzbyBtZWFuIOKA nHdoYXQgaGF2ZSB5b3UgYmVlbj/igJ0sIGJ1dCBhbnN3ZXJpbmcgd2l0aCAnJy51YSBuYWkgbGkn YSByZW1uYScnIChVaCwgaHVtYW4sIG9idmlvdXNseSkgaXMganVzdCBiZWluZyBpbmNyZWRpYmx5 IGFubm95aW5nIG9uIHB1cnBvc2Uufn4KCgoKU2luY2UgdG9uZSBvZiB2b2ljZSBvciBzZW50ZW5j ZSBzdHJ1Y3R1cmUgZG9lcyBub3QgcmV2ZWFsIHdoZXRoZXIgYSBzZW50ZW5jZSBpcyBhIHF1ZXN0 aW9uIG9yIG5vdCwgb25lIGJldHRlciBub3QgbWlzcyB0aGUgcXVlc3Rpb24gd29yZC4gVGhlcmVm b3JlLCBzaW5jZSBwZW9wbGUgdGVuZCB0byBmb2N1cyBtb3JlIG9uIHdvcmRzIGluIHRoZSBiZWdp bm5pbmcgb3IgYXQgdGhlIGVuZCBvZiBzZW50ZW5jZXMsIGl0J3MgdXN1YWxseSB3b3J0aCB0aGUg d2hpbGUgdG8gcmUtb3JkZXIgdGhlIHNlbnRlbmNlIHNvIHRoYXQgdGhlIHF1ZXN0aW9uIHdvcmRz IGFyZSBhdCB0aG9zZSBwbGFjZXMuIElmIHRoYXQgaXMgbm90IGZlYXNhYmxlLCAnJ3BhdScnIGlz IGFuIGF0dGl0dWRpbmFsIG1hcmtpbmcgdGhhdCB0aGUgc2VudGVuY2UgaXMgYSBxdWVzdGlvbi4g Q29udHJhcnksICcncGF1IG5haScnIGV4cGxpY2l0bHkgbWFya3MgYW55IHF1ZXN0aW9uIGFzIGJl aW5nIHJoZXRvcmljYWwuCgoKCldoaWxlIHdlIGFyZSBvbiB0aGUgdG9waWMgb2YgcXVlc3Rpb25z LCBpdCdzIGFsc28gYXBwcm9wcmlhdGUgdG8gbWVudGlvbiB0aGUgd29yZCAnJ2thdScnLCB3aGlj aCBpcyBhIG1hcmtlciBmb3Ig4oCcaW5kaXJlY3QgcXVlc3Rpb27igJ0uIFdoYXQncyBhbiBpbmRp cmVjdCBxdWVzdGlvbiwgdGhlbj8gV2VsbCwgdGFrZSBhIGxvb2sgYXQgdGhlIHNlbnRlbmNlOiAn J21pIGRqdW5vIGxvIGR1J3UgbWEga2F1IHpkYW5pIGRvJycgLSDigJxJIGtub3cgd2hhdCBpcyB5 b3VyIGhvbWUu4oCdCgpfXycnZGp1bm8nJ19fIOKAnHgxIGtub3dzIGZhY3QocykgeDIgYXJlIHRy dWUgYWJvdXQgeDMgYnkgZXBpc3RlbW9sb2d5IHg04oCdCgpPbmUgY2FuIHRoaW5rIGl0IGFzIHRo ZSBhbnN3ZXIgdG8gdGhlIHF1ZXN0aW9uICcnbWEgemRhbmkgZG8nJy4gTW9yZSByYXJlbHksIG9u ZSBjYW4gbWFyayBhIG5vbi1xdWVzdGlvbiB3b3JkIHdpdGggJydrYXUnJywgaW4gd2hpY2ggY2Fz ZSBvbmUgc3RpbGwgY2FuIGltYWdpbmUgaXQgYXMgdGhlIGFuc3dlciB0byBhIHF1ZXN0aW9uOiAn J21pIGppbXBlIGxvIGR1J3UgZHVuZGEgdGkga2F1IGRvJycgLSDigJxJIGtub3cgd2hhdCB5b3Ug aGF2ZSBiZWVuIGdpdmVuLCBpdCBpcyB0aGlzLuKAnQoKCgoKCiEhTG9qYmFuIExlc3NvbnMgLSBM ZXNzb24gdGhpcnRlZW4gKG1vcnBob2xvZ3kgYW5kIHdvcmQgY2xhc3NlcykKCkJhY2sgdG8gbW9y ZSBoZWF2eSAoYW5kIGludGVyZXN0aW5nKSBzdHVmZi4KCklmIHlvdSBoYXZlbid0IGFscmVhZHks IEkgc3Ryb25nbHkgc3VnZ2VzdCB5b3UgZmluZCB0aGUgTG9qYmFuaWMgcmVjb3JkaW5nIGNhbGxl ZCAiU3RvcnkgVGltZSB3aXRoIFVuY2xlIFJvYmluIiwgb3IgbGlzdGVuIHRvIHNvbWVvbmUgc3Bl YWsgTG9qYmFuIG9uIE11bWJsZSwgYW5kIHRoZW4gcHJhY3RpY2UgeW91ciBwcm9udW5jaWF0aW9u LiBIYXZpbmcgYW4gaW50ZXJuYWwgY29udmVyc2F0aW9uIGluIHlvdXIgaGVhZCBpbiBMb2piYW4g aXMgb25seSBnb29kIGlmIGl0IGlzbid0IHdpdGggYWxsIHRoZSB3cm9uZyBzb3VuZHMsIGFuZCBs ZWFybmluZyBwcm9udW5jaWF0aW9uIGZyb20gd3JpdHRlbiB0ZXh0IGlzIGhhcmQuIFRoZXJlZm9y ZSwgdGhpcyBsZXNzb24gd2lsbCBub3QgYmUgb24gdGhlIExvamJhbiBzb3VuZHMsIGhvd2V2ZXIg aW1wb3J0YW50IHRoZXkgbWlnaHQgYmUsIGJ1dCBhIHNob3J0IGludHJvZHVjdGlvbiB0byB0aGUg TG9qYmFuIG1vcnBob2xvZ3kuCgoKCldoYXQgaXMgbW9ycGhvbG9neT8gVGhlIHdvcmQgaXMgZGVy aXZlZCBmcm9tIEdyZWVrIG1lYW5pbmcg4oCcdGhlIHN0dWR5IG9mIHNoYXBlc+KAnSwgYW5kIGlu IHRoaXMgY29udGV4dCwgd2UgdGFsayBhYm91dCBob3cgd2UgbWFrZSB3b3JkcyBmcm9tIGxldHRl cnMgYW5kIHNvdW5kcywgYXMgY29udHJhc3RlZCB3aXRoIHN5bnRheCAtIGhvdyB3ZSBtYWtlIHNl bnRlbmNlcyB3aXRoIHdvcmRzLiBMb2piYW4gb3BlcmF0ZXMgd2l0aCBkaWZmZXJlbnQgbW9ycGhv bG9naWNhbCB3b3JkIGNsYXNzZXMsIHdoaWNoIGFyZSBhbGwgZGVmaW5lZCBieSB0aGVpciBtb3Jw aG9sb2d5LiBUbyBtYWtlIGl0IGFsbCBuaWNlIGFuZCBzeXN0ZW1hdGljIHRob3VnaCwgd29yZHMg d2l0aCBjZXJ0YWluIGZ1bmN0aW9ucyB0ZW5kIHRvIGJlIGdyb3VwZWQgYnkgbW9ycGhvbG9naWNh bCBjbGFzc2VzLCBidXQgZXhjZXB0aW9ucyBtYXkgb2NjdXIuCgp8fCAgIENsYXNzfE1lYW5pbmd8 RGVmaW5lZCBCeXxUeXBpY2FsIEZ1bmN0aW9uCgogICBXb3Jkczp8ICAgfCAgIHwgICAKCiAgIEJy aXZsYXwgICBicmlkaS13b3JkfCAgIEFtb25nIGZpcnN0IDUgbGV0dGVycyAoZXhjbHVkaW5nIOKA nCDigJgg4oCcKSBpcyBhIGNvbnNvbmFudCBjbHVzdGVyLiBFbmRzIGluIHZvd2VsLiAgIHwgICBB Y3RzIGFzIGEgc2VsYnJpIGJ5IGRlZmF1bHQuIEFsd2F5cyBoYXMgYSBwbGFjZSBzdHJ1Y3R1cmUu CgogICAtLUdpc211fCAgIFJvb3Qtd29yZHwgNSBsZXR0ZXJzIG9mIHRoZSBmb3JtIENWQ0NWIG9y IENDVkNWICAgfCAgIE9uZSB0byBmaXZlIHN1bXRpIHBsYWNlcy4gQ292ZXJzIGJhc2ljIGNvbmNl cHRzLgoKICAgLS1MdWp2b3wgIENvbXBvdW5kIHdvcmQuIERlcml2ZWQgZnJvbSBmcm9tIOKAnGx1 anZsYeKAnSwgbWVhbmluZyDigJxjb21wbGV4IHdvcmTigJ0gfCAgIE1pbi4gNiBsZXR0ZXJzLiBN YWRlIGJ5IHN0cmluZ2luZyByYWZzaSB0b2dldGhlciB3aXRoIGJpbmRpbmcgbGV0dGVycyBpZiBu ZWNlc3NhcnkufCAgIENvdmVycyBtb3JlIGNvbXBsZXggY29uY2VwdHMgdGhhbiBnaXNtdS4KCiAg IC0tRnUnaXZsYXwgIENvcHktd29yZCB8IEFzIGJyaXZsYSwgYnV0IGRvIG5vdCBtZWV0IGRlZmlu aW5nIGNyaXRlcmlhIG9mIGdpc211IG9yIGx1anZvLCBleDogJydhbmdlbGknJyAgfCAgIENvdmVy cyB1bmlxdWUgY29uY2VwdHMgbGlrZSBuYW1lcyBvZiBwbGFjZXMgb3Igb3JnYW5pc21zLgoKICAg Q21ldmxhfCAgTmFtZS13b3JkIHwgICBCZWdpbm5pbmcgYW5kIGVuZGluZyB3aXRoIHBhdXNlIChm dWxsIHN0b3ApLiBMYXN0IHNvdW5kL2xldHRlciBpcyBhIGNvbnNvbmFudC58ICAgQWx3YXlzIGFj dHMgYXMgYSBuYW1lIG9yIGFzIHRoZSBjb250ZW50IG9mIGEgcXVvdGUuCgogICBDbWF2b3wgICBH cmFtbWFyLXdvcmQuIEZyb20g4oCcY21hdmxh4oCdLCBtZWFuaW5nIOKAnHNtYWxsIHdvcmTigJ18 IE9uZSBjb25zb25hbnQgb3IgemVybywgYWx3YXlzIGF0IHRoZSBiZWdpbm5pbmcuIEVuZHMgaW4g YSB2b3dlbC4gIHwgICBHcmFtbWF0aWNhbCBmdW5jdGlvbnMuIFZhcmllcwoKICAgV29yZC1mcmFn bWVudHM6fCAgIHwgICB8CgogICBSYWZzaXwgICBBZmZpeHwgIENDViwgQ1ZDLCBDVidWLCAtQ1ZD Q1YsIC1DQ1ZDViwgQ1ZDQ3ktIG9yIENDVkN5LSAgfCBOb3QgYWN0dWFsIHdvcmRzLCBidXQgY2Fu IGJlIHN0cmluZ2VkIHRvZ2V0aGVyIHRvIGZvcm0gbHVqdm8gfHwKCgoKCgpfXycnY21ldmxhJydf XyBhcmUgdmVyeSBlYXN5IHRvIGlkZW50aWZ5IGJlY2F1c2UgdGhleSBiZWdpbiBhbmQgZW5kIHdp dGggYSBwYXVzZSwgc2lnbmFsZWQgYnkgYSBmdWxsIHN0b3AgaW4gd3JpdGluZywgYW5kIHRoZSBs YXN0IGxldHRlciBpcyBhIGNvbnNvbmFudC4gY21ldmxhIGNhbid0IGhhdmUgYW55IG90aGVyIGZ1 bmN0aW9uIGJlc2lkZXMgYWN0aW5nIGFzIGEgbmFtZS4gT24gdGhlIG90aGVyIGhhbmQsIG5hbWVz IHdoaWNoIGFyZSBub3Qgc2VsYnJpIGNhbm5vdCBhcHBlYXIgaW4gTG9qYmFuIHdpdGhvdXQgdGhl bSBiZWluZyBjbWV2bGEsIG9yIGVuY2FzZWQgYnkgY2VydGFpbiBxdW90ZSB3b3Jkcy4gT25lIGNh biBtYXJrIHN0cmVzcyBpbiB0aGUgbmFtZXMgYnkgY2FwaXRhbGl6aW5nIHRoZSBsZXR0ZXJzIHdo aWNoIGFyZSBzdHJlc3NlZC4gRXhhbXBsZXMgb2YgY21ldmxhIGFyZTogJycuaW9oQU4uJycgKEpv aGFuLCBoIGlzIGNhcGl0YWwgYXBvc3Ryb3BoZSksICcnLm1hdC4nJyAoTWF0dCkgYW5kICcnLmx1 dGNpTUlOLicnIChMdWktQ2hpIE1pbikuIE5hbWVzIHdoaWNoIGRvIG5vdCBlbmQgaW4gY29uc29u YW50cyBoYXZlIHRvIGhhdmUgb25lIGFkZGVkOiAnJy5pdnluLicnIChFdmUpLCBvciAocHJvYmFi bHkgYmV0dGVyIGluIHRoaXMgY2FzZSkgcmVtb3ZlZDogJycuaXYuJycKCgoKX18nJ2JyaXZsYScn X18gYXJlIGNhbGxlZCDigJxicmlkaS13b3Jkc+KAnSBiZWNhdXNlIHRoZXkgYnkgZGVmYXVsdCBh cmUgc2VsYnJpLCBhbmQgdGhlcmVmb3JlIGFsbW9zdCBhbGwgTG9qYmFuIHdvcmRzIHdpdGggYSBw bGFjZSBzdHJ1Y3R1cmUgYXJlIGJyaXZsYS4gVGhpcyBoYXMgYWxzbyBnaXZlbiB0aGVtIHRoZSBF bmdsaXNoIG5pY2tuYW1lIOKAnGNvbnRlbnQtd29yZHPigJ0uIEl0J3MgbmVhcmx5IGltcG9zc2li bGUgdG8gc2F5IGFueXRoaW5nIHVzZWZ1bCB3aXRob3V0IGJyaXZsYSwgYW5kIGFsbW9zdCBhbGwg d29yZHMgZm9yIGNvbmNlcHRzIG91dHNpZGUgbG9qYmFuIGdyYW1tYXIgKGFuZCBldmVuIG1vc3Qg b2YgdGhlIHdvcmRzIGZvciB0aGluZ3MgaW4gdGhlIGxhbmd1YWdlKSBhcmUgY2FwdHVyZWQgYnkg YnJpdmxhLiBBcyBzaG93biBpbiB0aGUgdGFibGUsIGJyaXZsYSBoYXMgdGhyZWUgc3ViY2F0ZWdv cmllczoKCl9fJydnaXNtdScnX18gYXJlIHRoZSByb290IHdvcmRzIG9mIHRoZSBsYW5ndWFnZS4g T25seSBhYm91dCAxNDUwIGV4aXN0cywgYW5kIHZlcnkgZmV3IG5ldyBvbmVzIGFyZSBhZGRlZC4g VGhleSBjb3ZlciB0aGUgbW9zdCBiYXNpYyBjb25jZXB0cyBsaWtlIOKAnGNpcmNsZeKAnSwg4oCc ZnJpZW5k4oCdLCDigJx0cmVl4oCdIGFuZCDigJxkcmVhbeKAnS4gRXhhbXBsZXMgaW5jbHVkZSAn J3pkYW5pJycsICcncGVseHUnJyBhbmQgJydkdW5kYScnCgpfXycnbHVqdm8nJ19fIGFyZSBtYWRl IGJ5IGNvbWJpbmluZyByYWZzaSAoc2VlIHVuZGVyIHJhZnNpKSwgcmVzcHJlc2VudGluZyBnaXNt dS4gQnkgY29tYmluaW5nIHJhZnNpLCBvbmUgbmFycm93cyBkb3duIHRoZSBtZWFuaW5nIG9mIHRo ZSB3b3JkLiBsdWp2byBhcmUgbWFkZSBieSBhbiBlbGFib3JhdGUgYWxnb3JpdGhtLCBzbyBtYWtp bmcgdmFsaWQgbHVqdm8gb24gdGhlIGZseSBpcyBuZWFyIGltcG9zc2libGUsIHdpdGggZmV3IGV4 Y2VwdGlvbnMgbGlrZSAnJ3NlbHBhJ2knJywgZnJvbSAnJ3NlIHByYW1pJycsIHdoaWNoIGNhbiBv bmx5IGhhdmUgb25lIGRlZmluaXRpb24uIEluc3RlYWQsIGx1anZvIGFyZSBtYWRlIG9uY2UsIGl0 cyBwbGFjZSBzdHJ1Y3R1cmUgZGVmaW5lZCwgYW5kIHRoZW4gdGhhdCBkZWZpbml0aW9uIGlzIG1h ZGUgb2ZmaWNpYWwgYnkgdGhlIGRpY3Rpb25hcnkuIEV4YW1wbGVzIGluY2x1ZGUgYnJpdmxhIChi cmlkaS13b3JkKSwgJydjaW5qaWtjYScnIChzZXh1YWwtc29jaWFsaXppbmcgPSBmbGlydGluZykg YW5kICcnY2FrY2lua2knJyAoc2hlbGwtaW5zZWN0ID0gYmVldGxlKS4KCl9fJydmdSdpdmxhJydf XyBhcmUgbWFkZSBieSBtYWtpbmcgdXAgd29yZHMgd2hpY2ggZml0IHRoZSBkZWZpbml0aW9uIGZv ciBicml2bGEsIGJ1dCBub3QgZm9yIGx1anZvIG9yIGdpc211LiBUaGV5IHRlbmQgdG8gY292ZXIg Y29uY2VwdHMgd2hpY2ggaXQncyBoYXJkIHRvIGNvdmVyIGJ5IGx1anZvLCBmb3IgaW5zdGFuY2Ug bmFtZXMgb2Ygc3BlY2llcywgbmF0aW9ucyBvciB2ZXJ5IGN1bHR1cmFsIHNwZWNpZmljIGNvbmNl cHRzLiBFeGFtcGxlcyBpbmNsdWRlICcnZ3VnZHJnb2d1cmlvJycgKEtvcmVhKSAnJ2NpZGpycGl0 c2EnJyAocGl6emEpIG9yICcnYW5nZWxpJycgKGFuZ2VsKS4KCgoKX18nJ2NtYXZvJydfXyBhcmUg c21hbGwgd29yZHMgd2l0aCBvbmUgb3IgemVybyBjb25zb25hbnRzLiBUaGV5IHRlbmQgdG8gbm90 IHNpZ25pZnkgYW55dGhpbmcgaW4gdGhlIGV4dGVyaW9yIHdvcmxkLCBidXQgdG8gaGF2ZSBvbmx5 IGdyYW1tYXRpY2FsIGZ1bmN0aW9uLiBFeGNlcHRpb25zIG9jY3VyLCBhbmQgaXQncyBkZWJhdGFi bGUgaG93IG11Y2ggYXR0aXR1ZGluYWxzIGV4aXN0cyBmb3IgdGhlaXIgZ3JhbW1hdGljYWwgZnVu Y3Rpb24uIEFub3RoZXIgd2VpcmQgZXhhbXBsZSBhcmUgdGhlIHdvcmRzIG9mIHRoZSBjbGFzcyBH T2hBLCB3aGljaCBhY3QgYXMgYnJpdmxhLiBJdCBpcyB2YWxpZCB0byB0eXBlIHNldmVyYWwgY21h dm8gaW4gYSByb3cgYXMgb25lIHdvcmQsIGJ1dCBpbiB0aGVzZSBsZXNzb25zLCB0aGF0IHdvbid0 IGJlIGRvbmUuIEJ5IGdyb3VwaW5nIGNlcnRhaW4gY21hdm8gaW4gZnVuY3Rpb25hbCB1bml0cywg dGhvdWdoLCBpdCBpcyBzb21ldGltZXMgZWFzaWVyIHRvIHJlYWQuIFRodXMsICcnLnVpcHV6dXZ1 a3VtaSBjaXRrYScnIGlzIHZhbGlkLCBhbmQgaXMgcGFyc2VkIGFuZCB1bmRlcnN0b29kIGFzICcn LnVpIHB1IHp1IHZ1IGt1IG1pIGNpdGthJycuIExpa2Ugb3RoZXIgTG9qYmFuIHdvcmRzLCBvbmUg c2hvdWxkIChidXQgbmVlZCBub3QgYWx3YXlzKSBwbGFjZSBhIGZ1bGwgc3RvcCBiZWZvcmUgYW55 IHdvcmRzIGJlZ2lubmluZyB3aXRoIGEgdm93ZWwuCgpjbWF2byBvZiB0aGUgZm9ybSB4VlYsIENW J1ZWIG9yIFYnVlYgYXJlIGV4cGVyaW1lbnRhbCwgYW5kIGFyZSB3b3JkcyB3aGljaCBhcmUgbm90 IGluIHRoZSBmb3JtYWwgZ3JhbW1hciwgYnV0IHdoaWNoIGhhdmUgYmVlbiBhZGRlZCBieSBMb2pi YW4gdXNlcnMgdG8gcmVzcG9uZCB0byBhIGNlcnRhaW4gbmVlZC4KCgoKX18nJ3JhZnNpJydfXyBh cmUgbm90IExvamJhbiB3b3JkcywgYW5kIGNhbiBuZXZlciBhcHBlYXIgYWxvbmUuIEhvd2V2ZXIs IHNldmVyYWwgKG1vcmUgdGhhbiBvbmUpIHJhZnNpIGNvbWJpbmUgdG8gZm9ybSBsdWp2by4gVGhl c2UgbXVzdCBzdGlsbCBsaXZlIHVwIHRvIHRoZSBicml2bGEtZGVmaW5pdGlvbiwgZm9yIGluc3Rh bmNlICcnbG9qYmFuJycgaXMgaW52YWxpZCBiZWNhdXNlIGl0IGVuZHMgaW4gYSBjb25zb25hbnQg KHdoaWNoIG1ha2VzIGl0IGEgY21ldmxhKSwgYW5kICcnY2knZWtlaScnIGlzIGludmFsaWQgYmVj YXVzZSBpdCBkb2VzIG5vdCBjb250YWluIGEgY29uc29uYW50IGNsdXN0ZXIsIGFuZCBpcyB0aHVz IHJlYWQgYXMgdHdvIGNtYXZvIHdyaXR0ZW4gYXMgb25lIHdvcmQuIE9mdGVuLCBhIDMtNCBsZXR0 ZXIgc3RyaW5nIGlzIGJvdGggYSBjbWF2byBhbmQgYSByYWZzaSwgbGlrZSAnJ3p1J2UnJywgd2hp Y2ggaXMgYm90aCB0aGUgQkFJIGFuZCB0aGUgcmFmc2kgZm9yICcnenVrdGUnJy4gTm90ZSB0aGF0 IHRoZXJlIGlzIG5vd2hlcmUgdGhhdCBib3RoIGEgY21hdm8gYW5kIGEgcmFmc2kgd291bGQgYmUg Z3JhbW1hdGljYWwsIHNvIHRoZXNlIGFyZSBub3QgY29uc2lkZXJlZCBob21vcGhvbmVzLiBBbGwg Z2lzbXUgY2FuIGRvdWJsZSBhcyByYWZzaSwgaWYgdGhleSBhcmUgcHJlZml4ZWQgd2l0aCBhbm90 aGVyIHJhZnNpLiBUaGUgZmlyc3QgZm91ciBsZXR0ZXIgb2YgYSBnaXNtdSBzdWZmaXhlZCB3aXRo IGFuICJ5IiBjYW4gYWxzbyBhY3QgYXMgYSByYWZzaSwgaWYgdGhleSBhcmUgc3VmZml4ZWQgd2l0 aCBhbm90aGVyIHJhZnNpLiBUaGUgdm93ZWwgInkiIGNhbiBvbmx5IGFwcGVhciBpbiBsdWp2byBv ciBjbWV2bGEuIFZhbGlkIHJhZnNpIGxldHRlciBjb21iaW5hdGlvbnMgYXJlOiBDVlYsIENWJ1Ys IENDViwgQ1ZDQ3ktIENDVkN5LSwgLUNWQ0NWIGFuZCAtQ0NWQ1YuCgoKClVzaW5nIHdoYXQgeW91 IGtub3cgbm93LCB5b3Ugc2hvdWxkIGJlIGFibGUgdG8gYW5zd2VyIHRoZSB0ZXN0IGkgdGh1cyBw cmVzZW50OgoKQ2F0ZWdvcml6ZSBlYWNoIG9mIHRoZSBmb2xsb3dpbmcgd29yZHMgYXMgY21ldmxh IChDKSwgZ2lzbXUgKGcpLCBsdWp2byAobCksICcnZnUnaXZsYScnIChmKSBvciBjbWF2byAoYyk6 CgpBICkgamFpICAgICAgICBHICkgbXVtYmwKCkIgKSAuaXJjaSAgICAgICAgSCApIC5pJ2kKCkMg KSBib3N0dSAgICAgICAgSSApIGN1CgpEICkgeGVsbWFuICAgICAgICBKICkgcGxhanZhCgpFICkg cG8nZSAgICAgICAgSyApIGRhbnNla2UKCkYgKSBkamlza3UgICAgICAgIEwgKSAuZXJ0c2EKCgoK QW5zd2VyOiB+fmdyZXksZ3JleTphLWMsIGItZiwgYy1nLCBkLUMsIGUtYywgZi1sLCBnLUMsIGgt YywgaS1jLCBqLWwsIGstZiwgbC1mLiBJIGxlZnQgb3V0IHRoZSBmdWxsIHN0b3BzIGJlZm9yZSBh bmQgYWZ0ZXIgbmFtZXMgc28gaXQgd291bGRuJ3QgYmUgdG9vIGVhc3kuCgpOb3RlOiBzb21lIG9m IHRoZXNlIHdvcmRzLCBsaWtlICcnYm9zdHUnJyBkbyBub3QgZXhpc3QgaW4gdGhlIGRpY3Rpb25h cnksIGJ1dCB0aGlzIGlzIGlycmVsZXZhbnQuIFRoZSBtb3JwaG9sb2d5IHN0aWxsIG1ha2VzIGl0 IGEgZ2lzbXUsIHNvIGl0J3MganVzdCBhbiB1bmRlZmluZWQgZ2lzbXUuIFNpbWlsYXJseSB3aXRo ICcnLmVydHNhJyd+fgoKCgoKCiEhTG9qYmFuIExlc3NvbnMgLSBMZXNzb24gZm91cnRlZW4gKHRo ZSBMb2piYW4gc3VtdGkgMTogTEUgYW5kIExBKQoKSWYgeW91IGhhdmUgcmVhZCBhbmQgdW5kZXJz dG9vZCB0aGUgY29udGVudCBvZiBhbGwgdGhlIGxlc3NvbnMgdW50aWwgbm93LCB5b3UgaGF2ZSBh bWFzc2VkIGEgbGFyZ2UgZW5vdWdoIGtub3dsZWRnZSBvZiBMb2piYW4gc28gdGhhdCBpdCBkb2Vz bid0IG1hdHRlciBpbiB3aGljaCBvcmRlciB5b3UgbGVhcm4gdGhlIHJlc3QuIEFzIGEgcmVzdWx0 LCB0aGUgb3JkZXIgb2YgdGhlIG5leHQgbGVzc29ucyB3aWxsIGJlIGEgbWl4dHVyZSBvZiBzb3J0 ZWQgYnkgaW5jcmVhc2luZyBkaWZmaWN1bHR5IGFuZCBzb3J0ZWQgYnkgaW1wb3J0YW5jZSBpbiBv cmRpbmFyeSBMb2piYW4gY29udmVyc2F0aW9uLgoKCgpPbmUgb2YgdGhlIGJpZ2dlc3QgY29uc3Ry YWlucyBvbiB5b3VyIHNwZWFrIG5vdyBpcyB5b3VyIGxpbWl0ZWQga25vd2xlZGdlIG9uIGhvdyB0 byBtYWtlIHN1bXRpLiBTbyBmYXIsIHlvdSBvbmx5IGtub3cgJyd0aScnIGFuZCAnJ2xvIFNFTEJS SScnLCB3aGljaCBkb2Vzbid0IHRha2UgeW91IGZhciBjb25zaWRlcmluZyBob3cgaW1wb3J0YW50 IHN1bXRpIGFyZSBpbiBMb2piYW4uIFRoaXMgbGVzc29uIGFzIHdlbGwgYXMgdGhlIGZvbGxvd2lu ZyB0d28gd2lsbCBiZSBhYm91dCB0aGUgTG9qYmFuIHN1bXRpLiBGb3Igbm93LCB3ZSBmb2N1cyBv biB0aGUgZGVzY3JpcHRpdmUtbGlrZSBzdW10aSwgdGhlIG9uZXMgbWFkZSB3aXRoIGFydGljbGVz IGxpa2UgJydsbycnCgpBcnRpY2xlcyBhcmUgaW4gbG9qYmFuIGNhbGxlZCAnJ2dhZHJpJycsIGFu ZCBhbGwgdGhlIG9uZXMgZGlzY3Vzc2VkIGluIHRoaXMgbGVzc29uIGFyZSB0ZXJtaW5hdGVkIGJ5 ICcna3UnJywgZXhjZXB0IHRoZSBjb21iaW5hdGlvbnMgJydsYSBDTUVWTEEnJywgJydsYWkgQ01F VkxBJycgYW5kICcnbGEnaSBDTUVWTEEnJy4gV2Ugd2lsbCBiZWdpbiBieSBkZXNjcmliaW5nIHRo cmVlIHNpbXBsZSBraW5kcyBvZiBkZXNjcmlwdGl2ZSBzdW10aSwgYW5kIHRoZW4gaW1tZWRpYXRl bHkgZmluZCB0aGF0IHRoZXkgYXJlIG5vdCBzbyBzaW1wbGUgYWZ0ZXIgYWxsOgoKX18nJ2xvJydf XyAtIGdhZHJpOiBHZW5lcmljIHZlcmlkaWNhbCDigJxjb252ZXJ0IHNlbGJyaSB0byBzdW10aeKA nS4gUmVzdWx0IGlzIHZhZ3VlIHdpdGggcmVnYXJkIHRvIGluZGl2aWR1YWxpdHkvbWFzcy1uZXNz LgoKX18nJ2xlJydfXyAtIGdhZHJpOiBHZW5lcmljIGRlc2NyaXB0aXZlIOKAnGNvbnZlcnQgc2Vs YnJpIHRvIHN1bXRp4oCdLiBSZXN1bHQgaXMgdmFndWUgd2l0aCByZWdhcmQgdG8gaW5kaXZpZHVh bGl0eS9tYXNzLW5lc3MuCgpfXycnbGEnJ19fIC0gZ2Fkcmk6IE5hbWluZyBhcnRpY2xlOiBDb252 ZW50aW9uYWwsIOKAnGNvbnZlcnQgc2VsYnJpIG9yIGNtZXZsYSB0byBzdW10aeKAnS4gVHJlYXQg cmVzdWx0IGFzIGluZGl2aWR1YWwocykuCgoKCllvdSBhcmUgYWxyZWFkeSBmYW1pbGlhciB3aXRo ICcnbG8nJyBhbmQgd2hhdCBpdCBkb2VzLiBCdXQgd2hhdCBkb2VzIGl0IG1lYW4sIOKAnHZlcmlk aWNhbOKAnSBhbmQg4oCcdmFndWUgd2l0aCByZWdhcmQgdG8gaW5kaXZpZHVhbGl0eS9tYXNzLW5l c3PigJ0/IFRoZSBsYXR0ZXIgYWJvdXQgaW5kaXZpZHVhbHMgYW5kIG1hc3NlcywgSSdsbCBjb21l IGJhY2sgdG8gbGF0ZXIuIEZvciBub3csIOKAnHZlcmlkaWNhbOKAnSBpbiB0aGlzIGNvbnRleHQg bWVhbnMgdGhhdCBpbiBvcmRlciBmb3IgYSB0aGluZyB0byBxdWFsaWZ5IGJlZ2luIGxhYmVsbGVk IGFzICcnbG8ga2xhbWEnJywgaXQgaGFzIHRvIGFjdHVhbGx5ICcna2xhbWEnJy4gVGh1cywgdmVy aWRpY2FsIGdhZHJpIG1ha2VzIGEgY2xhaW0gd2hpY2ggbWF5IGJlIHRydWUgb3IgZmFsc2UgLSB0 aGF0IHRoZSBvYmplY3QocykgaW4gcXVlc3Rpb24gYXJlIGFjdHVhbGx5IHRoZSB4MSBvZiB0aGUg c2VsYnJpIGFmdGVyICcnbG8nJy4gCgoKClRoaXMgbWF5IGJlIGNvbnRyYXN0ZWQgd2l0aCAnJ2xl JycsIHdoaWNoIGlzIGRlc2NyaXB0aXZlLCBhbmQgdGh1cyBub3QgdmVyaWRpY2FsLiBTYXlpbmcg JydsZSBnZXJrdScnIHNheXMgdGhhdCB5b3UgaGF2ZSBvbmUgb3IgbW9yZSBzcGVjaWZpYyBvYmpl Y3RzIGluIG1pbmQsIGFuZCB5b3UgdXNlIHRoZSBzZWxicmkgJydnZXJrdScnIHRvIGRlc2NyaWJl IGl0LCBzbyB0aGF0IHRoZSBsaXN0ZW5lciBtYXkgaWRlbnRpZnkgdGhvc2Ugc3BlY2lmaWMgb2Jq ZWN0cy4gVGhpcyBtZWFucyB0aGF0ICcnbGUnJyBoYXZlcyB0d28gaW1wb3J0YW50IGRpZmZlcmVu Y2VzIGZyb20gJydsbycnOiBGaXJzdGx5LCBpdCBjYW5ub3QgcmVmZXIgdG8gb2JqZWN0cyBpbiBn ZW5lcmFsLCBidXQgYWx3YXlzIHJlZmVycyB0byBzcGVjaWZpYyBvYmplY3RzLiBTZWNvbmRseSwg d2hpbGUgJydsbyBnZXJrdScnIGRlZmluaXRlbHkgaXMgb25lIG9yIG1vcmUgZG9ncywgJydsZSBn ZXJrdScnLCBiZWNhdXNlIGl0J3Mgbm90IHZlcmlkaWNhbCwgY2FuIGJlIGFueXRoaW5nLCBhcyBs b25nIGFzIHRoZSBzcGVha2VyIHRoaW5rcyB0aGUgZGVzY3JpcHRpb24gd2lsbCBoZWxwIGlkZW50 aWZ5aW5nIHRoZSBjb3JyZWN0IG9iamVjdHMuIFBlcmhhcHMgdGhlIHNwZWFrZXIgaXMgcmVmZXJy aW5nIHRvIGEgaHllbmEsIGJ1dCBhcmUgbm90IGZhbWlsaWFyIHdpdGggdGhlbSBhbmQgdGhpbmsg 4oCcZG9n4oCdIGlzIGEgZ29vZCBlbm91Z2ggYXBwcm94aW1hdGlvbiB0byBiZSB1bmRlcnN0b29k LiBUaGlzIG5vbi12ZXJpZGljYWxpdHkgaXMgcGVyaGFwcyBvdmVyLWVtcGhhc2lzZWQgaW4gbW9z dCBtYW55IHRleHRzOyBUaGUgYmVzdCB3YXkgdG8gZGVzY3JpYmUgYSBkb2cgaXMgdXN1YWxseSB0 byBkZXNjcmliZSBpdCBhcyBiZWluZyBhIGRvZywgYW5kIHVubGVzcyB0aGVyZSBpcyBhIGdvb2Qg cmVhc29uIG5vdCB0bywgJydsZSBnZXJrdScnIGlzIHVzdWFsbHkgcHJlc3VtZWQgdG8gcmVmZXIg dG8gc29tZXRoaW5nIHdoaWNoIGlzIGFsc28gJydsbyBnZXJrdScnLgoKSW4gdHJhbnNsYXRpb24s ICcnbG8gZ2Vya3UnJyBpcyB1c3VhbGx5IOKAnGEgZG9n4oCdIG9yIOKAnHNvbWUgZG9nc+KAnSwg d2hpbGUgJydsZSBnZXJrdScnIGlzIOKAnHRoZSBkb2figJ0gb3Ig4oCcdGhlIGRvZ3PigJ0uIEV2 ZW4gYmV0dGVyIGZvciAnJ2xlIGdlcmt1Jycgd291bGQgYmUg4oCcdGhlIOKAnGRvZyhzKeKAnSDi gJ0KCgoKTGFzdCBvZiB0aGUgdGhyZWUgYmFzaWMgJydnYWRyaScnLCB0aGVyZSBpcyAnJ2xhJycs IHRoZSBuYW1pbmcgJydnYWRyaScnLCB3aGljaCBJIGhhdmUgdW5jb252ZW50aW9uYWxseSBjYWxs ZWQg4oCcY29udmVudGlvbmFs4oCdLiBXaGF0IEkgbWVhbiBieSB0aGlzIGlzIHRoYXQgaXQncyBu ZWl0aGVyIGRlc2NyaXB0aXZlIG5vciB2ZXJpZGljYWwsIHNpbmNlIGl0IHJlZmVycyB0byBhIHBy b3BlciBuYW1lLiBJZiBJIGluIEVuZ2xpc2ggcmVmZXIgdG8gYSBwZXJzb24gY2FsbGVkIElubm9j ZW50IGJ5IGhlciBuYW1lLCBJIG5laXRoZXIgZGVzY3JpYmUgaGVyIGFzIGJlaW5nIGlubm9jZW50 LCBub3IgZG8gSSBzdGF0ZSB0aGF0IHNoZSBpcy4gSSBvbmx5IHN0YXRlIHRoYXQgYnkgY29udmVu dGlvbiwgdGhhdCBvYmplY3QgaXMgcmVmZXJyZWQgdG8gYnkgdGhhdCBzZWxicmkgb3IgY21ldmxh LiBOb3RlIHRoYXQgJydsYScnIGFuZCB0aGUgZ2FkcmkgZGVyaXZlZCBmcm9tIGl0IGNhbiBjb252 ZXJ0IGNtZXZsYSB0byBzdW10aSB1bmxpa2UgYW55IG90aGVyICcnZ2FkcmknJy4gQWxzbzogQmUg Y2F1dGlvdXM6IE90aGVyIHRleHRzIGRvIG5vdCBtZW50aW9uIHRoYXQgbmFtZXMgY2FuIGJlIGZv cm1lZCBmcm9tIG9yZGluYXJ5IHNlbGJyaSB1c2luZyB0aGUgZ2FkcmkgJydsYScnLiBCdXQgdGhv c2UgaGVyZXRpY3MgbXVzdCBidXJuOyBzZWxicmkgbmFtZXMgYXJlIGFzIGdvb2QgYXMgdGhleSBn ZXQsIGFuZCBtYW55IGEgcHJvdWQgTG9qYmFuaXN0IGhhdmUgdGhlbS4KCicnbGEnJywgYXMgd2Vs bCBhcyAnJ2xhaScnIGFuZCAnJ2xhJ2knJyBhcmUgYSBiaXQgZWNjZW50cmljLCBzaW5jZSB0aGV5 IF9fYWx3YXlzX18gbWFya3MgdGhlIGJlZ2lubmluZyBvZiBhIG5hbWUuIFVubGlrZSB0aGUgb3Ro ZXIgZ2FkcmksIGFueXRoaW5nIHRoYXQgY2FuIGJlIGdyYW1tYXRpY2FsbHkgcGxhY2VkIGFmdGVy ICcnbGEnJyBhbmQgaXRzIHNpc3RlcnMgYXJlIGNvbnNpZGVyZWQgcGFydCBvZiB0aGUgbmFtZS4g Rm9yIGV4YW1wbGUsICcnbGUgbWkgZ2Vya3UnJyBpcyAibXkgZG9nIiwgYnV0ICcnbGEgbWkgZ2Vy a3UnJyBpcyBzb21lb25lIGNhbGxlZCAiTXkgRG9nIi4KCgoKVGhlc2UgdGhyZWUgYmFzaWMgJydn YWRyaScnIGNhbiBiZSBleHBhbmRlZCB3aXRoIHRocmVlIG1vcmUsIHdoaWNoIGNvcnJlc3BvbmRz IHRvIHRoZSBwcmV2aW91czoKCgoKX18nJ2xvaScnX18gLSBnYWRyaTogdmVyaWRpY2FsIOKAnGNv bnZlcnQgc2VsYnJpIHRvIHN1bXRp4oCdLiBUcmVhdCByZXN1bHQgYXMgbWFzcyhlcykuCgpfXycn bGVpJydfXyAtIGdhZHJpOiBEZXNjcmlwdGl2ZSDigJxjb252ZXJ0IHNlbGJyaSB0byBzdW10aeKA nS4gVHJlYXQgcmVzdWx0IGFzIGEgbWFzcyhlcykuCgpfXycnbGFpJydfXyAtIGdhZHJpOiBOYW1p bmcgYXJ0aWNsZTogQ29udmVudGlvbmFsLCDigJxjb252ZXJ0IHNlbGJyaSBvciBjbWV2bGEgdG8g c3VtdGnigJ0uIFRyZWF0IHJlc3VsdCBhcyBtYXNzKGVzKS4KCgoKVGhlc2UgYXJlIHRoZSBzYW1l IGluIGFsbCBhc3BlY3RzIGV4Y2VwdCBmb3Igb25lOiBUaGV5IHRyZWF0IHRoZSBzdW10aSBleHBs aWNpdGx5IGFzIG1hc3Nlcy4gSWYgdGhlcmUgaXMgb25seSBvbmUgb2JqZWN0IGluIHF1ZXN0aW9u LCBhbiBpbmRpdmlkdWFsIGFuZCBhIG1hc3MgY29uc2lzdGluZyBvZiBvbmUgb2JqZWN0IGFyZSBl cXVpdmFsZW50LiBUaGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZXNlIHR3byBjb25jZXB0cyBsaWUg aW4gd2hpY2ggc2VsYnJpIGNhbiBiZSBhc2NyaWJlZCB0byBhIGdyb3VwIG9mIGluZGl2aWR1YWxz IHZlcnN1cyBhIG1hc3MuIEEgZ3JvdXAgb2YgaW5kaXZpZHVhbHMgY2FuIGJlIHNhaWQgdG8gZml0 IGEgY2VydGFpbiBzZWxicmkgaWYsIGFuZCBvbmx5IGlmLCBhbGwgbWVtYmVycyBvZiB0aGUgZ3Jv dXAgZWFjaCBmaXQgdGhlIHNlbGJyaS4gSXQgaXMgY29ycmVjdCB0byBkZXNjcmliZSBhIHBhY2sg b2YgJydsbyBnZXJrdScnLCBjb25zaWRlcmVkIGluZGl2aWR1YWxseSwgYXMgYmVpbmcgYmxhY2ss IGlmIGZvciBlYWNoIG9mIHRoZSBkb2dzIGl0J3MgdHJ1ZSB0aGF0IHRoZXkgYXJlIGJsYWNrLiBB IG1hc3MsIG9uIHRoZSBvdGhlciBoYW5kLCBmaXRzIG9ubHkgdGhvc2Ugc2VsYnJpIHdoaWNoIGl0 cyBjb21wb25lbnRzIGZpdCBhcyBhIHdob2xlLCBhcyBhIHRlYW0sIHNvIHRvIHNwZWFrLiBIb3dl dmVyLCBhbGwgdGhlIG1lbWJlcnMgb2YgYSBtYXNzICcnbG9pIGdlcmt1JycgbXVzdCBiZSBkb2dz IGluIG9yZGVyIGZvciAnJ2xvaScnIHRvIGJlIGFwcGxpY2FibGUuIFRoZSBub3Rpb24gb2YgIm1h c3NlcyIgYXJlIHNvcGhpc3RpY2F0ZWQsIGFuZCByZXF1aXJlcyBzb21lIGV4YW1wbGVzIHRvIGRl bW9uc3RyYXRlIHdoaWNoIHByb3BlcnRpZXMgaXQgY2FuIGhhdmU6CgpfXycnc3J1cmknJ19fOiDi gJx4MSBmbGFua3MvZW5jaXJjbGVzL2VuY2xvc2VzIHgyIGluIGxpbmUvcGxhbmUvZGlyZWN0aW9u cyB4M+KAnQoKJydsZWkgcHJlbnUgY3Ugc3J1cmkgbG8gemRhbmknJyAtIOKAnFRoZSBwZW9wbGUg c3Vycm91bmRlZCB0aGUgaG9tZS7igJ0gaXMgcGxhdXNpYmxlLCBldmVuIHRob3VnaCwgeW8gbW9t YSBqb2tlcyBub3QgY29uc2lkZXJlZCwgaXQncyBjb21wbGV0ZWx5IGltcGxhdXNpYmxlIHRoYXQg aXQgY291bGQgYmUgdHJ1ZSBmb3IgYW55IG9uZSBvZiB0aGUgbWVtYmVycyBhbG9uZS4gQW4gRW5n bGlzaCBhbmFsb2d5IGNvdWxkIGJlOiDigJxIdW1hbnMgZGVmZWF0ZWQgc21hbGxwb3ggaW4gdGhl IDIwdGggY2VudHVyeeKAnS4gU3VyZWx5IG5vIGh1bWFuIGRpZCBzbywgYnV0IHRoZSBtYXNzIG9m IGh1bWFucyBkaWQsIGFuZCB0aGF0IG1ha2VzIHRoZSBzZW50ZW5jZSB0cnVlIGluIEVuZ2xpc2gs IGFzIHdlbGwgYXMgaW4gTG9qYmFuIGlmIOKAnGh1bWFuc+KAnSBhcmUgYSBtYXNzLiBKdXN0IGxp a2UgdGhlIExvamJhbiBtYXNzLCB0aGUgRW5nbGlzaCBtYXNzIOKAnGh1bWFuc+KAnSBjYW4gb25s eSByZWZlciB0byBpbmRpdmlkdWFscyBlYWNoIG9mIHdoaWNoIGFyZSBodW1hbi4gQW5vdGhlciBl eGFtcGxlOgoKX18nJ21pdnlzbGUnJ19fOiAieDEgaXMgYSBiaW9sb2dpY2FsIGNlbGwgb2Ygb3Jn YW5pc20geDIiCgpfXycncmVtbmEnJ19fOiAieDEgaXMgYSBodW1hbiIKCicnbG9pIG1pdnlzbGUg Y3UgcmVtbmEnJyAtICJTb21lIG1hc3NlcyBvZiBjZWxscyBhcmUgaHVtYW4iLiBBZ2Fpbiwgbm9u ZSBvZiB0aGUgY2VsbHMgYXJlIGh1bWFuLiBJbmRlZWQsIHRoZSBjZWxscyBoYXZlIHZlcnkgZmV3 IGh1bWFuIHRyYWl0cywgYnV0IHRoZSBjZWxscyBjb25zaWRlcmVkIGFzIGEgd2hvbGUgbWFrZXMg dXAgYSBodW1hbi4KCgoKQSBtYXNzIG1hZGUgd2l0aCAnJ2xlaScnLCBzdWNoIGFzICcnbGVpIGdl cmt1JycsIHJlZmVycyB0byBhIG1hc3MgZm9ybWVkIGJ5IGEgZ3JvdXAgb2Ygc3BlY2lmaWMgaW5k aXZpZHVhbHMsIGVhY2ggb2Ygd2hpY2ggdGhlIHNwZWFrZXIgcmVmZXJzIHRvIGFzICcnbGUgZ2Vy a3UnJy4KCk1hc3MgbmFtZXMgYXMgZGVzY3JpYmVzIGJ5ICcnbGFpJycgYXJlIG9ubHkgYXBwcm9w cmlhdGUgaWYgdGhlIGdyb3VwIGFzIGEgd2hvbGUgaXMgbmFtZWQgc3VjaCwgYW5kIG5vdCBqdXN0 IGlmIGFueSBvZiB0aGUgbWVtYmVycyBhcmUuIEl0IGNhbiwgaG93ZXZlciBiZSB1c2VkIGlmIHRo ZSBicmlkaSBpcyB0cnVlIGZvciBvbmx5IGEgZnJhY3Rpb24gb2YgdGhhdCBncm91cC4KCgoKSXQg aXMgaW1wb3J0YW50IHRvIHJlbWVtYmVyIHRoYXQgJydsbycnIGFuZCAnJ2xlJycgY2FuIGJlIHVz ZWQgdG8gZGVzY3JpYmUgYm90aCBpbmRpdmlkdWFscyBhbmQgbWFzc2VzLiBMZXQncyBzYXkgYSBw YWNrIG9mIGRvZ3MsIGNvbnNpZGVyZWQgYXMgYSBtYXNzIG5lZWRzIGRlc2NyaXB0aW9uLiBJIG1p Z2h0IGRlc2NyaWJlIGl0IGFzIGVpdGhlciAnJ2xvaSBnZXJrdScnIG9yICcnbG8gZ2Vya3UnJy4g SWYgSSB1c2UgJydsbycnLCB0aGlzIGFsbG93cyBtZSB0byBjb3JyZWN0bHkgc3RhdGUgc29tZXRo aW5nIHdoaWNoIGxvb2tzIGxpa2UgYSBjb250cmFkaWN0aW9uLCBidXQgcmVhbGx5IGlzbid0OiAn J2xvIGdlcmt1IG5hIGdlcmt1JycgLSAiU29tZSBkb2dzIGFyZSBub3QgZG9ncyIuIFNpbmNlIGl0 J3MgYmVpbmcgY29uc2lkZXJlZCBhIG1hc3Mgb2YgZG9ncywgdGhlIG1hbnkgZG9ncyBjb25zaWRl cmVzIGFzIGEgd2hvbGUgaXMgbm90IGEgZG9nLCBidXQgcmF0aGVyIGEgcGFjayBvZiBkb2dzLgoK WW91IG1pZ2h0IGhhdmUgbm90aWNlZCB0aGF0IHRoZXJlIGlzIG5vIHdvcmQgd2hpY2ggdW5hbWJp Z3VvdXNseSBjb252ZXJ0cyBzZWxicmkgdG8gaW5kaXZpZHVhbChzKS4gSW4gb3JkZXIgdG8gYmUg ZXhwbGljaXQgYWJvdXQgaW5kaXZpZHVhbG5lc3MsIG9uZSBuZWVkcyAnJ2xvJycsICcnbGUnJyBv ciAnJ2xhJycgd2l0aCBhbiBvdXRlciBxdWFudGlmaWVyLiBUaGUgc3ViamVjdCBvZiBxdWFudGlm aWVycyB3aWxsIGJlIGNvbnNpZGVyZWQgbGF0ZXIsIGluIGxlc3NvbiB0d2VudHktdHdvLiBXaGF0 IGlzIHRoZSByZWFzb24gdGhhdCAnJ2xvJycgYW5kICcnbGUnJyB2YWd1ZSwgYW5kIG5vdCBleHBs aWNpdGx5IGluZGl2aWR1YWw/IEl0IGlzIGJlY2F1c2UgdGhlaXIgdmFndWVuZXNzIGVuYWJsZXMg dGhlbSB0byBiZSB1c2VkIGluIGFueSBjb250ZXh0LCB3aXRob3V0IHRoZSBzcGVha2VyIGhhdmlu ZyB0byB0aGluayBhYm91dCB3aGV0aGVyIGlzIGJlaGF2ZXMgYXMgYSBtYXNzIG9yIGEgZ3JvdXAg b2YgaW5kaXZpZHVhbHMuCgoKClRoaXJkIGluIHRoaXMgc2VyaWVzLCB0aGVyZSBhcmUgdGhyZWUg c2V0LWZvcm1pbmcgJydnYWRyaScnOgoKCgpfXycnbG8naScnX18gLSBnYWRyaTogdmVyaWRpY2Fs IOKAnGNvbnZlcnQgc2VsYnJpIHRvIHN1bXRp4oCdLiBUcmVhdCByZXN1bHQgYXMgYSBzZXQuCgpf XycnbGUnaScnX18gLSBnYWRyaTogRGVzY3JpcHRpdmUg4oCcY29udmVydCBzZWxicmkgdG8gc3Vt dGnigJ0uIFRyZWF0IHJlc3VsdCBhcyBhIHNldC4KCl9fJydsYSdpJydfXyAtIGdhZHJpOiBOYW1p bmcgYXJ0aWNsZTogQ29udmVudGlvbmFsLCDigJxjb252ZXJ0IHNlbGJyaSBvciBjbWV2bGEgdG8g c3VtdGnigJ0uIFRyZWF0IHJlc3VsdCBhcyBhIHNldC4KCgoKVW5saWtlIGdyb3VwcyBvZiBpbmRp dmlkdWFscyBvciwgc29tZXRpbWVzLCBtYXNzZXMsIHNldHMgZG9lcyBub3QgdGFrZSBhbnkgb2Yg dGhlIHByb3BlcnRpZXMgZnJvbSB0aGUgb2JqZWN0cyBmcm9tIHdoaWNoIHRoZSBzZXQgaXMgZm9y bWVkLiBBIHNldCBpcyBhIHB1cmVseSBtYXRoZW1hdGljYWwgb3IgbG9naWNhbCBjb25zdHJ1Y3Qs IGFuZCBoYXMgcHJvcGVydGllcyBsaWtlIGNhcmRpbmFsaXR5LCBtZW1iZXJzaGlwIGFuZCBzZXQg aW5jbHVzaW9uLiBBZ2Fpbiwgbm90ZSB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIGEgc2V0IG9mIHRo aW5ncywgYW5kIHRoZSB0aGluZ3Mgb2Ygd2hpY2ggdGhlIHNldCBpcyBmb3JtZWQ6CgpfXycndGly eHUnJ19fIOKAnHgxIGlzIGEgdGlnZXIvbGVvcGFyZC9qYWd1YXIgb2Ygc3BlY2llcy9icmVlZCB4 MiB3aXRoIGNvYXQgbWFya2luZ3MgeDPigJ0KCicnbG8naSB0aXJ4dSBjdSBjbWFsdScnIHNheXMg bm90aGluZyBhYm91dCB3aGV0aGVyIGJpZyBjYXRzIGFyZSBzbWFsbCAod2hpY2ggaXMsIGJ5IHRo ZSB3YXksIG9idmlvdXNseSBmYWxzZSksIGJ1dCBpbnN0ZWFkIHNheSB0aGF0IHRoZSBzZXQgb2Yg YmlnIGNhdHMgaXMgc21hbGw7IHRoYXQgaXMgLSB0aGVyZSBhcmUgZmV3IG9mIHRoZW0uCgoKCkxh c3RseSwgdGhlcmUgYXJlIHRoZSAob25seSB0d28pIGdlbmVyYWxpemluZyAnJ2dhZHJpJyc6Cgpf XycnbG8nZScnX18gLSBnYWRyaTogdmVyaWRpY2FsIOKAnGNvbnZlcnQgc2VsYnJpIHRvIHN1bXRp 4oCdLiBTdW10aSByZWZlcnMgdG8gdGhlIGFyY2hldHlwZSBvZiAnJ2xvIHtzZWxicml9JycuCgpf XycnbGUnZScnX18gLSBnYWRyaTogRGVzY3JpcHRpdmUg4oCcY29udmVydCBzZWxicmkgdG8gc3Vt dGnigJ0uIFN1bXRpIHJlZmVycyB0byB0aGUgZGVzY3JpYmVkL3BlcmNlaXZlZCBhcmNoZXR5cGUg b2YgJydsZSB7c2VsYnJpfScnLgoKT2Ygd2hpY2ggdGhlcmUgaXMgbm8gJydsYScnLWVxdWl2YWxl bnQuCgoKClNvLCB3aGF0IGlzIGFjdHVhbGx5IG1lYW50IGJ5IHRoZSBhcmNoZXR5cGU/IEZvciAn J2xvJ2UgdGlyeHUnJywgaXQgaXMgYW4gaWRlYWwsIGltYWdpbmVkIGJpZyBjYXQsIHdoaWNoIGhh cyBhbGwgdGhlIHByb3BlcnRpZXMgd2hpY2ggYmVzdCBleGVtcGxpZmllcyBiaWcgY2F0cy4gSXQg d291bGQgYmUgd3JvbmcgdG8gc2F5IHRoYXQgdGhpcyBpbmNsdWRlcyBoYXZpbmcgYSBzdHJpcGVk IGZ1ciwgc2luY2UgYSBiaWcgc3lzdGVtYXRpYyBzdWJncm91cCBvZiB0aGUgbWVtYmVycyBvZiB0 aGUgc2V0IG9mIGJpZyBjYXRzIGRvIG5vdCBoYXZlIHN0cmlwZWQgZnVyLCB0aGUgbGVvcGFyZHMg YW5kIHRoZSBqYWd1YXJzLiBMaWtld2lzZSwgdGhlIHR5cGljYWwgaHVtYW4gZG9lcyBub3QgbGl2 ZSBpbiBBc2lhIGV2ZW4gdGhvdWdoIGEgbG90IG9mIGh1bWFucyBkby4gSG93ZXZlciwgaWYgc3Vm ZmljaWVudGx5IG1hbnkgaHVtYW5zIGhhdmUgYSB0cmFpdCwgZm9yIGluc3RhbmNlIGJlaW5nIGFi bGUgdG8gc3BlYWssIHdlIGNhbiBzYXk6CgpfXycna2FrbmUnJ19fOiDigJx4MSBpcyBjYXBhYmxl IG9mIGRvaW5nL2JlaW5nIHgyIHVuZGVyIGNpcmN1bXN0YW5jZSB4M+KAnQoKJydsbydlIHJlbW5h IGN1IGtha25lIGxvIG51IHRhdmxhJycgLSDigJxUaGUgdHlwaWNhbCBodW1hbiBiZWluZyBjYW4g c3BlYWvigJ0uCgoKCicnbGUnZScnIHRoZW4sIGlzIHRoZSBpZGVhbCBvYmplY3QgYXMgcGVyY2Vp dmVkIG9yIGRlc2NyaWJlZCBieSB0aGUgc3BlYWtlci4gVGhpcyBuZWVkIG5vdCBiZSBmYWN0dWFs bHkgY29ycmVjdCwgYW5kIGlzIG9mdGVuIHRyYW5zbGF0ZWQgYXMgdGhlIOKAnHN0ZXJlb3R5cGXi gJ0sIGV2ZW4gdGhvdWdoIHRoZSBFbmdsaXNoIHBocmFzZSBoYXZlIHNvbWUgdW5wbGVhc2FudCBu ZWdhdGl2ZSBjb25ub3RhdGlvbnMsIHdoaWNoIHRoZSBMb2piYW4gZG9lcyBub3QuIEluIGZhY3Qs IGV2ZXJ5b25lIGhhcyBhIHN0ZXJlb3R5cGljYWwgYXJjaGV0eXBpY2hhbCBpbWFnZSBvZiBhbnkg Y2F0ZWdvcnkuIEluIG90aGVyIHdvcmRzLCAnJ2xvJ2UgcmVtbmEnJyBpcyB0aGUgYXJjaGV0eXBl IHdoaWNoIGJlc3QgZXhlbXBsaWZpZXMgYWxsICcnbG8gcmVtbmEnJywgd2hpbGUgdGhlIGFyY2hl dHlwZSAnJ2xlJ2UgcmVtbmEnJyBiZXN0IGV4ZW1wbGlmaWVzIGFsbCAnJ2xlIHJlbW5hJycuCgoK ClRoZSBlbGV2ZW4gZ2FkcmkgY2FuIGJlIHNlZW4gaW4gdGhlIGRpYWdyYW0gYmVsb3cuCgp8fCB8 R2VuZXJpY3xNYXNzZXN8U2V0c3xHZW5lcmFsaXppbmcKCnZlcmlkaWNhbHxsb3xsb2l8bG8naXxs bydlCgpEZXNjcmlwdGl2ZXxsZXxsZWl8bGUnaXxsZSdlCgpOYW1lfGxhfGxhaXxsYSdpfGRvZXMg bm90IGV4aXN0fHwKCgoKTm90ZTogRWFybGllciwgdGhlcmUgd2FzIGEgd29yZCAnJ3hvJ2UnJyBm b3IgdGhlIGdlbmVyaWMgZ2FkcmkuIEhvd2V2ZXIsIHRoZSBydWxlcyBhbmQgZGVmaW5pdGlvbnMg Zm9yIGdhZHJpIHdlcmUgY2hhbmdlZCBpbiBsYXRlIDIwMDQsIGFuZCB0aGUgY3VycmVudCBzZXQg b2YgcnVsZXMgb24gdGhpcyB0b3BpYywgbmlja2VkIOKAnHhvcmxv4oCdIGhhcyByZXBsYWNlZCB0 aGUgb2xkIHdheS4gTm93LCAnJ2xvJycgaXMgZ2VuZXJpYywgYW5kICcneG8nZScnIGlzIHVzZWQg YXMgYSBlbGxpcHRpY2FsIGRpZ2l0IChsZXNzb24gbmluZXRlZW4pLgoKCgoKCiEhTG9qYmFuIExl c3NvbnMgLSBMZXNzb24gZmlmdGVlbiAodGhlIExvamJhbiBzdW10aSAyOiBLT2hBMywgS09oQTUg YW5kIEtPaEE2KQoKU2VlIHdoYXQgaGFwcGVucyBpZiBJIHRyeSB0byB0cmFuc2xhdGUgdGhlIHNl bnRlbmNlOiDigJxTdGVyZW90eXBpY2FsIHBlb3BsZSB3aG8gY2FuIHNwZWFrIExvamJhbiBzcGVh ayB0byBlYWNoIG90aGVyIGFib3V0IHRoZSBsYW5ndWFnZXMgdGhleSBjYW4gc3BlYWvigJ06Cgpf XycnYmFuZ3UnJ19fIOKAnHgxIGlzIGEgbGFuZ3VhZ2UgdXNlZCBieSB4MiB0byBleHByZXNzIHgz IChhYnN0cmFjdGlvbinigJ0KCicnbGUnZSBwcmVudSBwb2kga2UnYSBrYWtuZSBsbyBudSB0YXZs YSBmbyBsYSAubG9qYmFuLiBjdSB0YXZsYSBsZSdlIHByZW51IHBvaSBrZSdhIGtha25lIGxvIG51 IHRhdmxhIGZvIGxhIC5sb2piYW4uIGxvIGJhbmd1IHBvaSBsbyBwcmVudSBwb2kga2UnYSB0YXZs YSBmbyBsYSAubG9qYmFuLiBjdSBzZSBiYW5ndSBrZSdhJycKCgoKV2hhdCB3ZSBzZWUgaXMgdGhh dCB0aGUgTG9qYmFuIHZlcnNpb24gaXMgbXVjaCBsb25nZXIgdGhhbiB0aGUgRW5nbGlzaC4gVGhp cyBpcyBwcmltYXJpbHkgYmVjYXVzZSB0aGUgZmlyc3QsIHJpZGljdWxvdXNseSBsb25nIHN1bXRp IGlzIGJlaW5nIHJlcGVhdGVkIHR3byBtb3JlIHRpbWVzIGluIHRoZSBMb2piYW4gdGV4dCwgd2hp bGUgdGhlIEVuZ2xpc2ggY2FuIHJlZmVyIHRvIGl0IGJ5IOKAnGVhY2ggb3RoZXLigJ0gYW5kIOKA nHRoZXnigJ0gLSBtdWNoIG1vcmUgZWZmaWNpZW50bHkuIFdvdWxkbid0IGl0IGJlIGNsZXZlciBp ZiBMb2piYW4gc29tZWhvdyBoYWQgbWVjaGFuaXNtcyBmb3IgZG9pbmcgdGhlIHNhbWU/CgoKCkl0 IHR1cm5zIG91dCBpdCBkb2VzLCB3aGF0IGEgc3VycHJpc2UhIExvamJhbiBoYXMgYSByYW5nZSBv ZiB3b3JkcyBjYWxsZWQgJydzdW1rYSdpJycgbWVhbmluZyDigJxzdW10aS1yZXByZXNlbnRhdGl2 ZXPigJ0uIEluIEVuZ2xpc2gsIHdlIHJlZmVyIHRvIHRoZW0gYXMgcHJvLXN1bXRpLCBiZWNhdXNl IHRoZXkgYXJlIGVzc2VudGlhbGx5IHRoZSBzYW1lIGFzIHRoZSBFbmdsaXNoIHByb25vdW5zLCBi dXQgd2l0aCBzdW10aSBpbnN0ZWFkIG9mIG5vdW5zLiBJbiBmYWN0LCB5b3UgYWxyZWFkeSBrbm93 ICcndGknJywgJydkbycnIGFuZCAnJ21pJycsIGJ1dCB0aGVyZSBhcmUgbWFueSBtb3JlLCBzbyBs ZXQncyBnZXQgbGVhcm5pbmcuIEZpcnN0LCB3ZSB3YW50IHRvIHB1dCBpdCBpbnRvIHN5c3RlbS4g V2UgY2FuIGJlZ2luIHdpdGggdGhlIG9uZXMgbW9zdCBmYW1pbGlhciB0byBFbmdsaXNoLCBhbmQg d2hhdCB5b3UndmUgYWxyZWFkeSBsZWFybmVkOgoKCgpfXycndGknJ19fIC0gc3Vta2EnaTog4oCc aW1tZWRpYXRlIOKAmGl0JzogcmVwcmVzZW50cyBhIHN1bXRpIHBoeXNpY2FsbHkgbmVhciB0aGUg c3BlYWtlcuKAnQoKX18nJ3RhJydfXyAtIHN1bWthJ2k6IOKAnG5lYXJieSDigJhpdCc6IHJlcHJl c2VudHMgYSBzdW10aSBzb21lIHBoeXNpY2FsIGRpc3RhbmNlIGZyb20gdGhlIHNwZWFrZXIgT1Ig Y2xvc2UgdG8gdGhlIGxpc3RlbmVy4oCdCgpfXycndHUnJ19fIC0gc3Vta2EnaTog4oCcZGlzdGFu dCDigJhpdCc6IHJlcHJlc2VudHMgYSBzdW10aSBwaHlzaWNhbGx5IGZhciBmcm9tIHRoZSBzcGVh a2VyIGFuZCB0aGUgbGlzdGVuZXIu4oCdCgoKCllvdSBjYW4gYWdhaW4gcmVjb2duaXplIHRoZSDi gJxpLCBhLCB14oCdLXNlcXVlbmNlIHdoaWNoIHBvcHMgdXAgb3ZlciBhbmQgb3Zlci4gU29tZSB0 aGluZ3MgbWlnaHQgdGFrZSBzb21lIGNsZWFyaW5nIHVwLCB0aG91Z2guIEZpcnN0bHksIHRoZXNl IHN1bXRpIGNhbiByZXByZXNlbnQgYW55dGhpbmcgd2hpY2ggY2FuIGJlIHNhaWQgdG8gb2NjdXB5 IGEgcGh5c2ljYWwgc3BhY2UuIE9iamVjdHMsIGNlcnRhaW5seS4gSWRlYXMsIGNlcnRhaW5seSBu b3QuIEV2ZW50cyBhcmUgYWNjZXB0ZWQsIGJ1dCBvbmx5IHRvIHRoZSBleHRlbnQgdGhleSBhcmUg cmVzdHJpY3RlZCB0byBhIHNwZWNpZmljIHBsYWNlIC0gdGhlIEphc21pbiBSZXZvbHV0aW9uIGNh bm5vdCBiZSBwb2ludGVkIGF0LCBidXQgc29tZSBiYXItZmlnaHQgb3IgYSBraXNzIG1pZ2h0LiBT ZWNvbmRseSwgbm90ZSB0aGF0IHRoZSBkaXN0YW5jZSBpcyByZWxhdGl2ZSB0byBkaWZmZXJlbnQg dGhpbmdzIGZvciB0aGUgZGlmZmVyZW50IHdvcmRzOiAnJ3R1Jycgb25seSBhcHBsaWVzIGlmIGl0 J3MgZGlzdGFudCBmcm9tIGJvdGggdGhlIHNwZWFrZXIgYW5kIHRoZSBsaXN0ZW5lci4gSW4gY2Fz ZXMgd2hlcmUgdGhlIHNwZWFrZXIgYW5kIGxpc3RlbmVyIGlzIGZhciBhcGFydCBhbmQgdGhlIGxp c3RlbmVyIGNhbm5vdCBzZWUgdGhlIHNwZWFrZXIgdGFsa2luZywgJyd0YScnIHJlZmVycyB0byBz b21ldGhpbmcgY2xvc2UgdG8gdGhlIGxpc3RlbmVyLiBUaGlyZGx5LCBpdCdzIGFsbCByZWxhdGl2 ZSBhbmQgY29udGV4dCBkZXBlbmRlbnQuIFRoZXNlIHRocmVlIHdvcmRzIGFyZSBhbGwgcHJvYmxl bWF0aWMgaW4gd3JpdHRlbiB0ZXh0LCBmb3IgaW5zdGFuY2UsIGJlY2F1c2UgdGhlIHBvc2l0aW9u IG9mIHRoZSBzcGVha2VyIGFuZCBsaXN0ZW5lciBpcyB1bmtub3duIHRvIGVhY2ggb3RoZXIsIGFu ZCBjaGFuZ2VzIGFzIHRpbWUgZ29lcyBieS4gRnVydGhlcm1vcmUsIHRoZSBhdXRob3Igb2YgYSBi b29rIGNhbm5vdCBwb2ludCB0byBhbiBvYmplY3QgYW5kIGV4cHJlc3MgdGhlIHBvaW50aW5nIGlu IHRoZSBib29rLgoKCgpUaGVuIHRoZXJlIGlzIGEgc2VyaWVzIGNhbGxlZCBLT2hBMywgdG8gd2hp Y2ggJydtaScnIGFuZCAnJ2RvJycgKGFuZCAnJ2tvJycsIGJ1dCBJIHdvbid0IHdyaXRlIHRoYXQg aGVyZSkgYmVsb25nczoKCl9fJydtaScnX18gLSBzdW1rYSdpOiBUaGUgc3BlYWtlcihzKS4KCl9f JydtaSdvJydfXyAtIHN1bWthJ2k6IFRoZSBtYXNzIG9mIHRoZSBzcGVha2VyKHMpIGFuZCB0aGUg bGlzdGVuZXIocykgLgoKX18nJ21pJ2EnJ19fIC0gc3Vta2EnaTogVGhlIG1hc3Mgb2YgdGhlIHNw ZWFrZXIocykgYW5kIG90aGVycy4KCl9fJydtYSdhJydfXyAtIHN1bWthJ2k6IFRoZSBtYXNzIG9m IHRoZSBzcGVha2VyKHMpLCB0aGUgbGlzdGVuZXIocykgYW5kIG90aGVycy4KCl9fJydkbycnX18g LSBzdW1rYSdpOiBUaGUgbGlzdGVuZXIocykuCgpfXycnZG8nbycnX18gLSBzdW1rYSdpOiBUaGUg bWFzcyBvZiB0aGUgbGlzdGVuZXIocykgYW5kIG90aGVycy4KCgoKVGhlc2Ugc2l4IHN1bWthJ2kg YXJlIG1vcmUgZWFzaWx5IGdyYXNwZWQgaW4gdGhlIGJlbG93IFZlbm4gZGlhZ3JhbToKCgoKe2lt ZyBmaWxlSWQ9IjMiIHRodW1iPSJ5IiByZWw9ImJveFtnXSJ9CgpWZW5uIGRpYWdyYW0gb2YgS09o QTMgKCcna28nJyBleGNsdWRlZCkuICcnbGUgZHJhdGEnJyBpcyBub3QgYSBLT2hBMywgYnV0IG1l YW5zIOKAnHRoZSBvdGhlcihzKeKAnQoKCgpJdCBpcyBwb3NzaWJsZSBmb3Igc2V2ZXJhbCBwZW9w bGUgdG8gYmUg4oCcdGhlIHNwZWFrZXJz4oCdLCBpZiBvbmUgc3RhdGVtZW50IGlzIG1hZGUgb24g dGhlIGJlaGFsZiBvZiBhbGwgb2YgdGhlbS4gVGhlcmVmb3JlLCB3aGlsZSDigJx3ZeKAnSBjYW4g YmUgdHJhbnNsYXRlZCBhcyBlaXRoZXIgJydtaScnLCAnJ21pJ28nJywgJydtaSdhJycgb3IgJydt YSdhJycsIHdoYXQgb25lIHF1aXRlIG9mdGVuIG1lYW5zIGlzIHJlYWxseSBqdXN0ICcnbWknJy4g QWxsIG9mIHRoZXNlIHNpeCwgaWYgdGhleSByZWZlciB0byBtb3JlIHRoYW4gb25lIGluZGl2aWR1 YWwsIHJlcHJlc2VudCBtYXNzZXMuIFdpdGhpbiBicmlkaS1sb2dpYywgdGhlIGJyaWRpICcnbWkg Z2xla2knJyBzYWlkIGJ5IHNwZWFrZXIgQSBpcyBleGFjdGx5IGVxdWl2YWxlbnQgdG8gJydkbyBn bGVraScnIHNhaWQgYnkgc3BlYWtlciBCIHRvIHNwZWFrZXIgQSwgYW5kIGFyZSBjb25zaWRlcmVk IHRoZSBzYW1lIGJyaWRpLiBXZSB3aWxsIGNvbWUgYmFjayB0byB0aGlzIGxhdGVyLCBpbiB0aGUg JydicmlrYSdpJycgKHByby1icmlkaSkgbGVzc29uLgoKCgpBbGwgb2YgdGhlc2UgJydzdW1rYSdp JycgYXJlIHZlcnkgY29udGVudC1zcGVjaWZpYywgYW5kIGNhbm5vdCBiZSB1c2VkLCBmb3IgaW5z dGFuY2UsIHRvIGhlbHAgdXMgd2l0aCB0aGUgc2VudGVuY2Ugd2hpY2ggdGhpcyBsZXNzb24gYmVn YW4gd2l0aC4gVGhlIGZvbGxvd2luZyBzZXJpZXMgY2FuIGluIHByaW5jaXBsZSBiZSB1c2VkIHRv IHJlZmVyIHRvIGFueSBzdW10aToKCl9fJydyaScnX18gLSBzdW1rYSdpOiDigJxMYXN0IHN1bXRp IG1lbnRpb25lZOKAnQoKX18nJ3JhJydfXyAtIHN1bWthJ2k6IOKAnEEgcmVjZW50LCBidXQgbm90 IHRoZSBsYXN0IHN1bXRpIG1lbnRpb25lZOKAnQoKX18nJ3J1JydfXyAtIHN1bWthJ2k6IOKAnEEg c3VtdGkgbWVudGlvbmVkIGxvbmcgYWdv4oCdCgoKClRoZXNlIHN1bXRpIHdpbGwgcmVmZXIgdG8g YW55IHRlcm1pbmF0ZWQgc3VtdGkgZXhjZXB0IG1vc3Qgb3RoZXIgJydzdW1rYSdpJycuIFRoZSBy ZWFzb24gdGhhdCBtb3N0IG90aGVyICcnc3Vta2EnaScnIGNhbm5vdCBiZSByZWZlcnJlZCB0byBi eSB0aGVzZSBzdW10aSwgaXMgdGhhdCB0aGV5IGFyZSBzbyBlYXN5IHRvIGp1c3QgcmVwZWF0IGJ5 IHRoZW1zZWx2ZXMuIFRoZSBleGNlcHRpb24gdG8gdGhlIHJ1bGUgYXJlICcndGknJywgJyd0YScn IGFuZCAnJ3R1JycsIGJlY2F1c2UgeW91IGNvdWxkIGhhdmUgY2hhbmdlZCB3aGF0IHlvdSBwb2lu dCBhdCwgYW5kIHRodXMgY2Fubm90IGp1c3QgcmVwZWF0IHRoZSB3b3JkLiBUaGV5IHdpbGwgb25s eSByZWZlciB0byB0ZXJtaW5hdGVkIHN1bXRpLCBhbmQgdGh1cyBjYW5ub3QsIGZvciBpbnN0YW5j ZSwgYmUgdXNlZCB0byByZWZlciB0byBhbiBhYnN0cmFjdGlvbiBpZiB0aGUgd29yZCBpbiBpcyB0 aGF0IGFic3RyYWN0aW9uOiAnJ2xlIHBlbmRvIG5vaSBrZSdhIHBlbmRvIG1pIGN1IGRqaWNhIGxv IG51IHJpIHNlIHpkYW5pJycgLSBoZXJlICcncmknJyBjYW5ub3QgcmVmZXIgdG8gdGhlIGFic3Ry YXRpb24sIHNpbmNlIGl0IGlzIG5vdCB0ZXJtaW5hdGVkLCBub3IgdG8gJydtaScnIG9yICcna2Un YScnLCBzaW5jZSB0aGV5IGFyZSBzdW1rYSdpLCBzbyBpdCByZWZlcnMgdG8gJydsZSBwZW5kbycn LgoKJydyYScnIGFuZCAnJ3J1JycgYXJlIGNvbnRleHQtZGVwZW5kZW50IGluIHdoYXQgdGhleSBy ZWZlciB0bywgYnV0IHRoZXkgZm9sbG93IHRoZSBydWxlcyBtZW50aW9uZWQgYWJvdmUsIGFuZCAn J3J1JycgYWx3YXlzIHJlZmVyIHRvIGEgbW9yZSBkaXN0YW50IHN1bXRpIHRoYW4gJydyYScnLCB3 aGljaCBpcyBhbHdheXMgbW9yZSBkaXN0YW50IHRoYW4gJydyaScnLgoKCgonJ3JpJycgYW5kIGl0 J3MgYnJvdGhlcnMgYXJlIHByZXR0eSB3ZWxsIHN1aXRlZCBmb3IgZGVhbGluZyB3aXRoIHRoZSBv cmlnaW5hbCBzZW50ZW5jZS4gVHJ5IHNheWluZyBpdCB1c2luZyB0d28gaW5zdGFuY2VzIG9mICcn c3Vta2EnaScnIQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnbGUnZSBwcmVudSBwb2kga2UnYSBr YWtuZSBsbyBudSB0YXZsYSBmbyBsYSAubG9qYmFuLiBjdSB0YXZsYSBydSBsbyBiYW5ndSBwb2kg cnUgY3Ugc2UgYmFuZ3Uga2UnYScnLiAnJ3JpJycgaXMgbm90IGNvcnJlY3QsIGJlY2F1c2UgaXQg cmVmZXJzIHRvICcnbGEgLmxvamJhbi4nJy4gJydyYScnIGNvdWxkIGJlIHVzZWQsIGJ1dCBjb3Vs ZCBiZSBtaXN0YWtlbmx5IGJlIHRob3VnaHQgdG8gcmVmZXIgdG8gJydsbyBudSB0YXZsYSBmbyBs YSAubG9qYmFuLicnLCBidXQgJydydScnIGlzIGFzc3VtZWQgdG8gcmVmZXIgdG8gdGhlIG1vc3Qg ZGlzdGFudCBzdW10aSAtIHRoZSBtb3N0IG91dGVyIG9uZS5+fgoKCgpMYXN0bHksIHRoZXJlIGEg c3VtdGNpdGEgd2hpY2ggcmVwcmVzZW50IHV0dGVyYW5jZXM6IFNvIGNhbGxlZCB1dHRlcmFuY2Ug dmFyaWFibGVzLiBUaGV5IG5lZWQgbm90IGJlIHJlc3RyaWN0ZWQgdG8gb25lIHNlbnRlbmNlIChq dWZyYSksIGJ1dCBjYW4gYmUgc2V2ZXJhbCBzZW50ZW5jZXMsIGlmIHRoZSBjb250ZXh0IGFsbG93 cyBpdDoKCl9fJydkYSd1JydfXyBVdHRlcmFuY2UgdmFyaWFibGU6IFJlbW90ZSBwYXN0IHNlbnRl bmNlCgpfXycnZGUndScnX18gVXR0ZXJhbmNlIHZhcmlhYmxlOiBSZWNlbnQgc2VudGVuY2UKCl9f JydkaSd1JydfXyBVdHRlcmFuY2UgdmFyaWFibGU6IFByZXZpb3VzIHNlbnRlbmNlCgpfXycnZGVp JydfXyBVdHRlcmFuY2UgdmFyaWFibGU6IFRoaXMgc2VudGVuY2UKCl9fJydkaSdlJydfXyBVdHRl cmFuY2UgdmFyaWFibGU6IE5leHQgc2VudGVuY2UKCl9fJydkZSdlJydfXyBVdHRlcmFuY2UgdmFy aWFibGU6IE5lYXIgZnV0dXJlIHNlbnRlbmNlCgpfXycnZGEnZScnX18gVXR0ZXJhbmNlIHZhcmlh YmxlOiBSZW1vdGUgZnV0dXJlIHNlbnRlbmNlCgpfXycnZG8naScnX18gVXR0ZXJhbmNlIHZhcmlh YmxlOiBFbGxpcHRpY2FsIHV0dGVyYW5jZSB2YXJpYWJsZTog4oCcU29tZSBzZW50ZW5jZeKAnQoK VGhlc2UgcmVwcmVzZW50cyBzZW50ZW5jZXMgYXMgc3VtdGksIGFuZCByZWZlciBvbmx5IHRvIHRo ZSBzcG9rZW4gd29yZHMgb3IgdGhlIGxldHRlcnMsIG5vdCB0byB0aGUgbWVhbmluZyBiZWhpbmQg dGhlbS4KCgoKVGhlcmUgYXJlIG1vcmUgTG9qYmFuICcnc3Vta2EnaScnLCBidXQgZm9yIG5vdyB5 b3UgcHJvYmFibHkgbmVlZCBhIGJyZWFrIGZyb20gdGhlbS4gVGhlIG5leHQgbGVzc29uIHdpbGwg YmUgb24gZGVyaXZlZCBzdW10aSwgc3VtdGkgbWFkZSBmcm9tIG90aGVyIHN1bXRpLgoKCgoKCiEh TG9qYmFuIExlc3NvbnMgLSBMZXNzb24gc2l4dGVlbiAodGhlIExvamJhbiBzdW10aSAzOiBkZXJp dmVkIHN1bXRpKQoKWW91IGNhbiBwcm9iYWJseSBzZWUgdGhhdCB0aGUgc3VtdGkgJydsZSBiYW5n dSBwb2kgbWkgc2UgYmFuZ3Uga2UnYScnIGlzIGEgbGVzcyB0aGFuIGVsZWdhbnQgZXhwcmVzc2lv biBmb3Ig4oCcbXkgbGFuZ3VhZ2XigJ0uIFRoaXMgaXMgYmVjYXVzZSBpdCdzIHJlYWxseSBhIHdv cmsgYXJvdW5kLiBBIGxhbmd1YWdlIHdoaWNoIEkgc3BlYWsgY2FuIGJlIHNhaWQgdG8gZmlsbCBp bnRvIHRoZSB4MSBvZiB0aGUgYnJpZGkgJydiYW5ndSBtaScnLiBXZSBjYW4ndCBjb252ZXJ0IHRo YXQgdG8gYSBzdW10aSB1c2luZyBhIGdhZHJpOiAnJ2xlIGJhbmd1IHtrdX0gbWknJyBpcyB0d28g c3VtdGksIGJlY2F1c2UgJydiYW5ndSBtaScnIGlzIGEgYnJpZGksIG5vdCBhIHNlbGJyaS4gTmVp dGhlciBjYW4gd2UgY29udmVydCBpdCB1c2luZyAnJ2xlIHN1J3UnJywgYmVjYXVzZSB0aGUgc3Un dSBnaXZlcyB0aGUgYnJpZGkgYSBuZXcgeDEsIHRoZSBhYnN0cmFjdGlvbiwgYW5kIHRoZSAnJ2xl JycgdGhlbiBleHRyYWN0cyB0aGF0LiBUaGF0IG1ha2VzIGFuIGFic3RyYWN0aW9uIHN1bXRpIG1l YW5pbmcgc29tZXRoaW5nIGxpa2Ug4oCcdGhhdCBzb21ldGhpbmcgaXMgbXkgbGFuZ3VhZ2XigJ0u CgpFbnRlciAnJ2JlJycuICcnYmUnJyBpcyBhIHdvcmQgd2hpY2ggYmluZHMgY29uc3RydWN0cyAo c3VtdGksIHN1bXRjaXRhIGFuZCBvdGhlcnMpIHRvIGEgc2VsYnJpLiBVc2luZyBpdCBpbiBvcmRp bmFyeSBzZWxicmkgaGFzIG5vIGVmZmVjdDogaW4gJydtaSBuZWxjaSBiZSBkbycnLCB0aGUgJydi ZScnIGRvZXMgbm90aGluZy4gSG93ZXZlciwgd2hlbiBhIHN1bXRpIGlzIGJvdW5kIHRvIGEgc2Vs YnJpIHRoaXMgd2F5LCB5b3UgY2FuIHVzZSBhIGdhZHJpIG9uIHRoZSBzZWxicmkgd2l0aG91dCB0 aGUgc3VtdGkgc3BsaXR0aW5nIG9mZjogJydsZSBiYW5ndSBiZSBtaScnIGlzIGEgY29ycmVjdCBz b2x1dGlvbiB0byB0aGUgcHJvYmxlbSBhYm92ZS4gTGlrZXdpc2UsIHlvdSBjYW4gYXR0YWNoIGEg c3VtdGNpdGE6ICcnbGUgbnUgZGFyeGkga2VpIGJlIGdhdSBkbycnOiDigJxUaGUgZXZlbnQgb2Yg aGl0dGluZywgd2hpY2ggaXMgY2F1c2VkIGJ5IHlvdeKAnS4gTm90ZSB0aGF0IHRoZSBwcmVzZW5j ZSBvciBhYnNlbmNlIG9mICcna2VpJycgbWFrZXMgaXQgcGFyc2UgZGlmZmVyZW50bHk6IFdpdGgg dGhlIGZhJ29ybWEnbyBwcmVzZW50LCAnJ2JlJycgYXR0YWNoZXMgdG8gJydudScnLCB3aXRob3V0 IHRoZSBmYSdvcm1hJ28sIGl0IGF0dGFjaGVzIHRvICcnZGFyeGknJy4gU28gaXQgZGVjaWRlcyB3 aGF0IGlzIGJlaW5nIGVtcGhhc2lzZWQ6IElzIHRoZSBoaXR0aW5nLCBvciB0aGUgZXZlbnQgb2Yg aGl0dGluZyBjYXVzZWQgYnkgeW91PyBJbiB0aGlzIHNwZWNpZmljIGNhc2UsIHRob3VnaCwgdGhh dCdzIGp1c3QgYWJvdXQgdGhlIHNhbWUgdGhpbmcuCgoKCldoYXQgaWYgSSB3YW50IHRvIGF0dGFj aCBzZXZlcmFsIHN1bXRpIHRvIGEgc2VsYnJpIGluc2lkZSBhIGdhZHJpPyDigJxUaGUgZ2l2ZXIg b2YgdGhlIGFwcGxlIHRvIHlvdeKAnSBpcyAnJ2xlIGR1bmRhIGJlIGxvIHBsaXNlIGJlIGRvJycs IHJpZ2h0PyBOb3BlLiBUaGUgc2Vjb25kICcnYmUnJyBhdHRhY2hlcyB0byB0aGUgYXBwbGUsIG1l YW5pbmcgJydsZSBwbGlzZSBiZSBkbycnIC0g4oCcVGhlIGFwcGxlIG9mIHRoZSBzdHJhaW4gb2Yg eW914oCdLCB3aGljaCBtYWtlcyBubyBzZW5zZS4gSW4gb3JkZXIgdG8gc3RyaW5nIHNldmVyYWwg c3VtdGkgdG8gYSBzZWxicmksIHRoZSBhbGwgdGhlIG9uZXMgZm9sbG93aW5nIHRoZSBmaXJzdCBt dXN0IGJlIGJvdW5kIHdpdGggJydiZWknJy4gVGhlIOKAnGJpbmRpbmfigJ0gY2FuIGJlIHRlcm1p bmF0ZWQgd2l0aCAnJ2JlJ28nJyAtIG9uZSBpbnN0YW5jZSBvZiAnJ2JlJ28nJyBmb3IgZWFjaCBz ZWxicmkgd2hpY2ggaGFzIHN1bXRpIGJvdW5kIGJ5ICcnYmUnJy4KClRvIGxpc3QgdGhlbToKCl9f JydiZScnX18gYmluZHMgc3VtdGkgb3Igc3VtdGNpdGEgdG8gc2VsYnJpCgpfXycnYmVpJydfXyBi aW5kcyBhIHNlY29uZCwgdGhpcmQsIGZvdXJ0aCAoZWN0KSBzdW10aSBvciBzdW10Y2l0YSB0byBh IHNlbGJyaQoKX18nJ2JlJ28nJ19fIGVuZHMgYmluZGluZyB0byBzZWxicmkKCgoKVGhlcmUgaXMg YWxzbyB3YXlzIHRvIGxvb3NlbHkgYXNzb2NpYXRlIGEgc3VtdGkgd2l0aCBhbm90aGVyLiAnJ3Bl JycgYW5kICcnbmUnJyBmb3IgcmVzdHJpY3RpdmUgYW5kIG5vbi1yZXN0cmljdGl2ZSBhc3NvY2lh dGlvbi4gQWN0dWFsbHksICcnbGUgYmFuZ3UgcGUgbWknJyBpcyBhIGJldHRlciB0cmFuc2xhdGlv biBvZiDigJxteSBsYW5ndWFnZeKAnSwgc2luY2UgdGhpcyBwaHJhc2UsIGxpa2UgdGhlIEVuZ2xp c2gsIGlzIHZhZ3VlIGFzIHRvIGhvdyB0aGUgdHdvIGFyZSBhc3NvY2lhdGVkIHdpdGggZWFjaCBv dGhlci4KCicncGUnJyBhbmQgJyduZScnIGFyZSB1c2VkIGFzIGxvb3NlIGFzc29jaWF0aW9uIG9u bHksIGxpa2Ugc2F5aW5nIOKAnG15IGNoYWly4oCdIGFib3V0IGEgY2hhaXIgd2hpY2ggeW91IHNp dCBvbi4gSXQncyBub3QgcmVhbGx5IHlvdXJzLCBidXQgaGFzIHNvbWV0aGluZyBkbyB0byB3aXRo IHlvdS4gQSBtb3JlIGludGltYXRlIGNvbm5lY3Rpb24gY2FuIGJlIGVzdGFibGlzaGVkIHdpdGgg JydwbycnLCB3aGljaCBtYWtlcyB0aGUgYXNzb2NpYXRpb24gdW5pcXVlIGFuZCBiaW5kaW5nIHRv IGEgcGVyc29uLCBhcyBpbiDigJxteSBjYXLigJ0gZm9yIGEgY2FyIHRoYXQgeW91IGFjdHVhbGx5 IG93bi4gVGhlIGxhc3Qga2luZCBvZiBhc3NvY2lhdG9yIGlzICcncG8nZScnLCB3aGljaCBtYWtl cyBhIHNvLWNhbGxlZCAiaW5hbGllbmFibGUiIGJvbmQgYmV0d2VlbiBzdW10aSwgbWVhbmluZyB0 aGF0IHRoZSBib25kIGlzIGlubmF0ZSBiZXR3ZWVuIHRoZSB0d28gc3VtdGkuIFNvbWUgZXhhbXBs ZXMgY291bGQgYmUgIm15IG1vdGhlciIsICJteSBhcm0iIG9yICJteSBob21lIGNvdW50cnkiOyBu b25lIG9mIHRoZXNlICJwb3NzZXNpb25zIiBjYW4gYmUgbG9zdCAoZXZlbiBpZiB5b3Ugc2F3IG9m ZiB5b3VyIGFybSwgaXQncyBzdGlsbCBfX3lvdXJfXyBhcm0pLCBhbmQgYXJlIHRoZXJlZm9yZSBp bmFsaWVuYWJsZS4gQWxtb3N0IGFsbCBvZiB0aGUgdGltZXMgYSAnJ3BvJ2UnJyBpcyBhcHByb3By aWF0ZSwgdGhvdWdoLCB0aGUgeDIgb2YgdGhlIHNlbGJyaSBjb250YWlucyB0aGUgb25lIHRvIHdo aWNoIHRoZSB4MSBpcyBjb25uZWN0ZWQsIHNvICcnYmUnJyBpcyBiZXR0ZXIuCgpfXycnbmUnJ19f IG5vbi1yZXN0cmljdGl2ZSByZWxhdGl2ZSBwaHJhc2UuICJ3aGljaCBpcyBhc3NvY2lhdGVkIHdp dGguLi4iCgpfXycncGUnJ19fIHJlc3RyaWN0aXZlIHJlbGF0aXZlIHBocmFzZS4gIndoaWNoIGlz IGFzc29jaWF0ZWQgd2l0aC4uLiIKCl9fJydwbycnX18gcG9zc2VzaXZlIHJlbGF0aXZlIHBocmFz ZS4gIndoaWNoIGlzIHNwZWNpZmljIHRvLi4uIgoKX18nJ3BvJ2UnJ19fIGluYWxpZW5hYmxlIHJl bGF0aXZlIHBocmFzZS4gIndoaWNoIGJlbG9uZ3MgdG8uLi4iCgoKCkEgdmVyeSB1c2VmdWwgY29u c3RydWN0IHRvIGtub3cgaXMgJyd7Z2Fkcml9IHtzdW10aX0ge3NlbGJyaX0nJy4gdGhpcyBpcyBl cXVpdmFsZW50IHRvICcne2dhZHJpfSB7c2VsYnJpfSBwZSAge3N1bXRpfScnLiBGb3IgaW5zdGFu Y2UgJydsZSBtaSBnZXJrdScnIGlzIGVxdWl2YWxlbnQgdG8gJydsZSBnZXJrdSBwZSBtaScnLiBP bmUgY291bGQgaGF2ZSBkZXNjcmlwdGlvbiBzdW10aSBpbnNpZGUgZGVzY3JpcHRpb24gc3VtdGks IHNheWluZyAnJ2xlIGxlIHNlIGNpbmppa2NhIGJlIG1pIGt1IGdlcmt1JycsID0gJydsZSBnZXJr dSBwZSBsZSBzZSBjaW5qaWtjYSBiZSBtaScnID3igJx0aGUgZG9nIG9mIHRoZSBtYW4gSSdtIGZs aXJ0aW5nIHdpdGjigJ0sIGJ1dCB0aGF0J3Mgbm90IHZlcnkgZWFzeSB0byByZWFkIChvciB0byB1 bmRlcnN0YW5kIHdoZW4gc3Bva2VuKSwgYW5kIGlzIG9mdGVuIGJlaW5nIGF2b2lkZWQuCgoKCk9u ZSBuZWVkIGFsc28gdG8gbGVhcm4gJyd0dSdhJycsIHNpbmNlIGl0IHdpbGwgbWFrZSBhIGxvdCBv ZiBzZW50ZW5jZXMgbXVjaCBlYXNpZXIuIEl0IHRha2VzIGEgc3VtdGkgYW5kIGNvbnZlcnRzIGl0 IHRvIGFub3RoZXIgc3VtdGkgLSBhbiBlbGxpcHRpY2FsIGFic3RyYWN0aW9uIHdoaWNoIGhhcyBz b21ldGhpbmcgdG8gZG8gd2l0aCB0aGUgZmlyc3Qgc3VtdGkuIEZvciBleGFtcGxlLCBJIGNvdWxk IHNheSAnJ21pIGRqaWNhIGxvIG51IG1pIGNpdGthIGxvIHBsaXNlJycsIG9yIEkgY291bGQgbGV0 IGl0IGJlIHVwIHRvIGNvbnRleHQgd2hhdCBhYnN0cmFjdGlvbiBhYm91dCB0aGUgYXBwbGUgSSBk ZXNpcmUgYW5kIGp1c3Qgc2F5ICcnbWkgZGppY2EgdHUnYSBsbyBwbGlzZScnLiBPbmUgYWx3YXlz IGhhcyB0byBndWVzcyB3aGF0IGFic3RyYWN0aW9uIHRoZSBzcGVha2VyIG1lYW5zIGJ5ICcndHUn YSBTVU1USScnLCBzbyBpdCBzaG91bGQgb25seSBiZSB1c2VkIHdoZW4gY29udGV4dCBtYWtlcyBp dCBlYXN5IHRvIGd1ZXNzLiBBbm90aGVyIGV4YW1wbGU6CgpfXycnZ2FzbnUnJ19fIOKAnHgxIGRv ZXMvYnJpbmdzIGFib3V0IHgyICh2b2xpdGlvbiBub3QgaW1wbGllZCnigJ0KCicnemEnYSBkbyBn YXNudSB0dSdhIGxvIHNrYW1pJycgLSDigJxJIHNlZSB0aGF0IHlvdSBtYWtlIHRoZSBjb21wdXRl ciBkbyBzb21ldGhpbmfigJ0uIE9mZmljaWFsbHksICcndHUnYSBTVU1USScnIGlzIGVxdWl2YWxl bnQgdG8gJydsZSBzdSd1IFNVTVRJIGNvJ2UnJy4gVmFndWUsIGJ1dCB1c2VmdWwuIFRoZXJlIGFy ZSBzaXR1YXRpb25zIHdoZXJlIHlvdSBjYW5ub3QgdXNlICcndHUnYScnLCBldmVuIHRob3VnaCBp dCB3b3VsZCBzZWVtIHN1aXRhYmxlLiBUaGVzZSBzaXR1YXRpb25zIGFyZSB3aGVuIEkgZG9uJ3Qg d2FudCB0aGUgcmVzdWx0aW5nIHN1bXRpIHRvIGJlIGFuIGFic3RyYWN0aW9uLCBidXQgYSBjb25j cmV0ZSBzdW10aS4gSW4gdGhpcyBjYXNlLCBvbmUgY2FuIHVzZSAnJ3pvJ2UgcGUnJy4KCl9fJyd0 dSdhJydfXyBjb252ZXJ0IHN1bXRpIHRvIHZhZ3VlIGFic3RyYWN0aW9uIGludm9sdmluZyB0aGUg c3VtdGkuIEVxdWl2YWxlbnQgdG8gJydsZSBzdSd1IFNVTVRJIGNvJ2Uga2VpIGt1JycKCgoKRmlu YWxseSwgb25lIGtpbmQgb2Ygc3VtdGkgY2FuIGJlIHR1cm5lZCBpbnRvIGFub3RoZXIgYnkgdGhl IHdvcmRzIG9mIHRoZSBjbGFzcyBMQWhFLgoKX18nJ2x1J2EnJ19fIC0gQ29udmVydCBpbmRpdmlk dWFsKHMpL21hc3Mvc2VxdWVuY2Uvc2V0IHRvIGluZGl2aWR1YWxzLgoKX18nJ2x1J2knJ19fIC0g Q29udmVydCBpbmRpdmlkdWFsKHMpL21hc3Mvc2VxdWVuY2Uvc2V0IHRvIGEgc2V0LgoKX18nJ2x1 J28nJ19fIC0gQ29udmVydCBpbmRpdmlkdWFsKHMpL21hc3Mvc2VxdWVuY2Uvc2V0IHRvIG1hc3Mu CgpfXycndnUnaScnX18gLSBDb252ZXJ0IGluZGl2aWR1YWwocykvbWFzcy9zZXF1ZW5jZS9zZXQg dG8gc2VxdWVuY2U7IHRoZSBvcmRlciBpcyBub3Qgc3RhdGVkLgoKVGhlIHVzZSBvZiB0aGVzZSB3 b3JkcyBpcyBzdHJhaWdodC1mb3J3YXJkbHk6IFBsYWNpbmcgdGhlbSBiZWZvcmUgYSBzdW10aSBv ZiBhIGNlcnRhaW4gdHlwZSBtYWtlcyBhIG5ldyBzdW10aSBvZiBhIG5ldyB0eXBlLiBOb3RpY2Us IHRob3VnaCwgdGhhdCBhcyBhIGZvdXJ0aCBraW5kIG9mIHN1bXRpLCBhIHNlcXVlbmNlIGhhcyBi ZWVuIGludHJvZHVjZWQuIFRoaXMgaXMgbm90IHVzZWQgdmVyeSBvZnRlbiAoaXQgZG9lc24ndCBo YXZlIGl0cyBvd24gZ2FkcmksIGZvciBpbnN0YW5jZSksIGJ1dCBqdXN0IGluY2x1ZGVkIGhlcmUg Zm9yIGNvbXBsZXRpb24uCgpUaGUgbGFzdCB0d28gbWVtYmVycyBvZiBMQWhFIGRvIG5vdCBjb252 ZXJ0IGJldHdlZW4gdHlwZXMgb2Ygc3VtdGksIGJ1dCBhbGxvd3MgeW91IHRvIHNwZWFrIG9mIGEg YSBzdW10aSBieSBvbmx5IG1lbnRpb25pbmcgc29tZXRoaW5nIHdoaWNoIHJlZmVyZW5jZXMgdG8g aXQ6CgpJZiBvbmUgc3VtdGkgQSByZWZlcnMgdG8gYSBzdW10aSBCLCBmb3IgaW5zdGFuY2UgYmVj YXVzZSBzdW10aSBBIGlzIGEgdGl0bGUgb2YgYSBib29rLCBvciBhIG5hbWUsIG9yIGEgc2VudGVu Y2UgKHdoaWNoIGFsd2F5cyByZWZlciB0byBzb21ldGhpbmcsIGF0IGxlYXN0IGEgYnJpZGkpLCDi gJgnbGEnZSBTVU1USSBBJycgcmVmZXJzIHRvIHN1bXRpIEIuIEZvciBpbnN0YW5jZSwg4oCYJ21p IG5lbGNpIGxhJ2UgZGkndScnIGZvciDigJxJIGxpa2Ugd2hhdCB5b3UganVzdCBzYWlk4oCdIChu b3QgJydtaSBuZWxjaSBkaSd1Jycgd2hpY2gganVzdCBtZWFucyAiSSBsaWtlIHlvdXIgcHJldmlv dXMgc2VudGVuY2UiKSBvciDigJgnbGEnZSBsZSBjbWFsdSBub2x0cnUnJyBmb3IgdGhlIGJvb2sg 4oCcVGhlIExpdHRsZSBQcmluY2XigJ0sIGFuZCBub3Qgc29tZSBsaXR0bGUgcHJpbmNlIGhpbXNl bGYuIFRoZSBjbWF2byDigJgnbHUnZScnIGRvZXMgdGhlIGV4YWN0IHJldmVyc2Ug4oCTIOKAmCds dSdlIFNVTVRJJycgcmVmZXJzIHRvIGFuIG9iamVjdCB3aGljaCByZWZlcnMgdG8gdGhlIHN1bXRp LiAKCl9fJydsYSdlJydfXyAtIOKAnHRoZSB0aGluZyByZWZlcnJlZCB0byBieeKAnSAtIGV4dHJh Y3RzIGEgc3VtdGkgQSBmcm9tIGEgc3VtdGkgQiB3aGljaCByZWZlcnMgdG8gQS4gCgpfXycnbHUn ZScnX18gLSDigJx0aGUgdGhpbmcgcmVmZXJyaW5nIHRv4oCdIC0gZXh0cmFjdHMgYSBzdW10aSBC IGZyb20gYSBzdW10aSBBLCB3aGVuIEIgcmVmZXJzIHRvIEEuCgoKCgoKISEhRW5kIG9mIHBhcnQg b25lCgpEdWUgdG8gdGhlIGltcHJhY3RpY2FsbHkgbGFyZ2Ugc2l6ZSBvZiB0aGVzZSBsZXNzb25z LCB0aGUgc2Vjb25kIGFuZCB0aGlyZCBpbnN0YWxsbWVudCBjYW4gYmUgZm91bmQgb24gcGFnZXMg ZGVkaWNhdGVkIHRvICgod2F2ZWxlc3NvbnNjb250aW51ZWRwMnx0aGUgZm9ybWVyKSkgYW5kICgo d2F2ZWxlc3NvbnNjb250aW51ZWRwM3x0aGUgbGF0dGVyKSkuIE5vIHdvcnJpZXMsIHRob3VnaCwg Y2xpY2tpbmcgb24gInRoZSBmb3JtZXIiIG9yICJ0aGUgbGF0dGVyIiB3aWxsIHRha2UgeW91IHRo ZXJlIHBhaW5sZXNzbHkuCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KV2lraW5ldXJvdGljIG1haWxpbmcgbGlzdApXaWtpbmV1cm90aWNAbG9qYmFuLm9y ZwpodHRwOi8vbWFpbC5sb2piYW4ub3JnL21haWxtYW4vbGlzdGluZm8vd2lraW5ldXJvdGljCg==