Received: from localhost ([::1]:55590 helo=stodi.digitalkingdom.org) by stodi.digitalkingdom.org with esmtp (Exim 4.76) (envelope-from ) id 1UC0E1-0005ZT-Pr; Sat, 02 Mar 2013 20:08:38 -0800 Received: from 173-13-139-235-sfba.hfc.comcastbusiness.net ([173.13.139.235]:46249 helo=digitalkingdom.org) by stodi.digitalkingdom.org with smtp (Exim 4.76) (envelope-from ) id 1UC0Dn-0005ZL-Ku for wikichanges@lojban.org; Sat, 02 Mar 2013 20:08:31 -0800 Received: by digitalkingdom.org (sSMTP sendmail emulation); Sat, 2 Mar 2013 20:08:23 -0800 From: "Apache" Date: Sat, 2 Mar 2013 20:08:23 -0800 To: wikichanges@lojban.org X-PHP-Originating-Script: 48:htmlMimeMail.php MIME-Version: 1.0 Message-ID: X-Spam-Score: 4.5 (++++) X-Spam_score: 4.5 X-Spam_score_int: 45 X-Spam_bar: ++++ X-Spam-Report: Spam detection software, running on the system "stodi.digitalkingdom.org", has identified this incoming email as possible spam. The original message has been attached to this so you can view it (if it isn't spam) or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: The page wavelessonscontinuedp2 was changed by gleki at 04:08 UTC You can view the page by following this link: http://www.lojban.org/tiki/wavelessonscontinuedp2 [...] Content analysis details: (4.5 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 1.6 RCVD_IN_BRBL_LASTEXT RBL: RCVD_IN_BRBL_LASTEXT [173.13.139.235 listed in bb.barracudacentral.org] 0.4 RDNS_DYNAMIC Delivered to internal network by host with dynamic-looking rDNS 2.5 DRUGS_MUSCLE Refers to a muscle relaxant Subject: [Wikichanges] Wiki page wavelessonscontinuedp2 changed by gleki X-BeenThere: wikichanges@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: wikichanges-bounces@lojban.org Content-Length: 113037 VGhlIHBhZ2Ugd2F2ZWxlc3NvbnNjb250aW51ZWRwMiB3YXMgY2hhbmdlZCBieSBnbGVraSBhdCAw NDowOCBVVEMKCllvdSBjYW4gdmlldyB0aGUgcGFnZSBieSBmb2xsb3dpbmcgdGhpcyBsaW5rOgog Cmh0dHA6Ly93d3cubG9qYmFuLm9yZy90aWtpL3dhdmVsZXNzb25zY29udGludWVkcDIKCllvdSBj YW4gdmlldyBhIGRpZmYgYmFjayB0byB0aGUgcHJldmlvdXMgdmVyc2lvbiBieSBmb2xsb3dpbmcg dGhpcyBsaW5rOiAKaHR0cDovL3d3dy5sb2piYW4ub3JnL3Rpa2kvdGlraS1wYWdlaGlzdG9yeS5w aHA/cGFnZT13YXZlbGVzc29uc2NvbnRpbnVlZHAyJmNvbXBhcmU9MSZvbGR2ZXI9MTcmbmV3dmVy PTE4CgoKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioKVGhlIGNoYW5nZXMgaW4gdGhpcyB2ZXJzaW9uIGZvbGxvdyBiZWxvdywgZm9sbG93 ZWQgYWZ0ZXIgYnkgdGhlIGN1cnJlbnQgZnVsbCBwYWdlIHRleHQuCioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCgoKKy0rLSstKy0rLSst Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSsKQEAgLUxpbmVz OiA1NzctNTgxIGNoYW5nZWQgdG8gK0xpbmVzOiA1NzctNTgxIEBACistKy0rLSstKy0rLSstKy0r LSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rClRoZXNlICcnYnJpa2En aScnIGFyZSB2ZXJ5IHVzZWZ1bCB3aGVuIGFuc3dlcmluZyBhIHF1ZXN0aW9uIHdpdGggJyd4dScn OgpBOiAnJ3h1IGRvIG5lbGNpIGxlIG1pIHNwZW5pJycgQjogJydnbydpIC8gbmEgZ28naScnIOKA kyDigJxEbyB5b3UgbGlrZSBteSB3aWZlP+KAnSDigJxZZXMuL05vLuKAnS4gVGhlICcneHUnJywg YmVpbmcgYW4gYXR0aXR1ZGluYWwsIGlzIG5vdCBjb3BpZWQuCi0gV2hlbiByZXBlYXRpbmcgYnJp ZGkgbmVnYXRlZCBieSAnJ25hJycsIHRoYXQgaXM6IEJyaWRpIHdoZXJlICcnbmEnJyBpcyBwbGFj ZWQgaW4gdGhlIHByZW5leCAobGVzc29uIHR3ZW50eS1zZXZlbiksIGluIHRoZSBiZWdpbm5pbmcg b2YgdGhlIGJyaWRpIG9yIHJpZ2h0IGJlZm9yZSB0aGUgc2VsYnJpLCB0aGUgcnVsZXMgZm9yIGNv cHlpbmcgb3ZlciAnJ25hJycgYXJlIGRpZmZlcmVudCBmcm9tIHdoYXQgb25lIG1pZ2h0IGV4cGVj dC4gQW55ICcnbmEnJyBpcyBjb3BpZWQgb3ZlciwgYnV0IGFueSBhZGRpdGlvbmFsICcnbmEnJyBp biB0aGUgcHJvLWJyaWRpIHJlcGxhY2VzIHRoZSBmaXJzdCBuYS4gTGV0IG1lIHNob3cgeW91IHdp dGggYW4gZXhhbXBsZToKKyBXaGVuIHJlcGVhdGluZyBicmlkaSBuZWdhdGVkIGJ5ICcnbmEnJywg dGhhdCBpczogQnJpZGkgd2hlcmUgJyduYScnIGlzIHBsYWNlZCBpbiB0aGUgcHJlbmV4IChsZXNz b24gdHdlbnR5LXNldmVuKSwgaW4gdGhlIGJlZ2lubmluZyBvZiB0aGUgYnJpZGkgb3IgcmlnaHQg YmVmb3JlIHRoZSBzZWxicmksIHRoZSBydWxlcyBmb3IgY29weWluZyBvdmVyICcnbmEnJyBhcmUg ZGlmZmVyZW50IGZyb20gd2hhdCBvbmUgbWlnaHQgZXhwZWN0LiBBbnkgJyduYScnIGlzIGNvcGll ZCBvdmVyLCBidXQgYW55IGFkZGl0aW9uYWwgJyduYScnIGluIHRoZSBicmlrYSdpIHJlcGxhY2Vz IHRoZSBmaXJzdCBuYS4gTGV0IG1lIHNob3cgeW91IHdpdGggYW4gZXhhbXBsZToKQTogJydtaSBu YSBjaXRrYSBsbyBwbGlzZScnCkI6ICcnbWkgZ28naScnID0gJydtaSBuYSBjaXRrYSBsbyBwbGlz ZScnCgoKCgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKgpUaGUgbmV3IHBhZ2UgY29udGVudCBmb2xsb3dzIGJlbG93LgoqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgoKIUxvamJh biBXYXZlIExlc3NvbnMgQ29udGludWVkIChwYXJ0IHR3byk6CgohISFNYWRlIGJ5IGxhIGtsYWt1 IHdpdGggaGVscCBmcm9tIHZhcmlvdXMgbG9qYmFuaXN0cy4gQmFzZWQgb24gdGhlIHdvcmsgb2Yg bGEgLmtyaWJhY3IuIFNwcmluZyAyMDEzLgoKCgpUaGlzIGlzIHRoZSBzZWNvbmQgaW5zdGFsbG1l bnQgb2YgdGhlIFdhdmUgTGVzc29ucyBDb250aW51ZWQuIElmIHlvdSBkaWRuJ3QgY2F0Y2ggdGhl IGZpcnN0IHBhcnQsIG9yIHdhbnQgdG8gZ28gYmFjayBmb3Igc29tZSByZWFzb24sIGp1c3QgY2xp Y2sgKCh3YXZlbGVzc29uc2NvbnRpbnVlZHxvbiB0aGVzZSBmb3VyIHdvcmRzLikpLiBZb3UgY2Fu IGFsc28gZ28gdG8gdGhlIHRoaXJkIHBhcnQgYnkgY2xpY2tpbmcgKCh3YXZlbGVzc29uc2NvbnRp bnVlZHAyfHRoaXMgbGluaykpLCBpZiB5b3UgZmVlbCBsaWtlIGRvaW5nIHRoYXQuCgoKCiEhTG9q YmFuIExlc3NvbnMgLSBMZXNzb24gc2V2ZW50ZWVuIChjdXRlIGFzc29ydGVkIHdvcmRzKQoKQW5k IHdpdGggdGhhdCwgdGhpcmQgY2hhcHRlciwgeW91IGtub3cgYSBsb3QgYWJvdXQgTG9qYmFuIHN1 bXRpLiBBZnRlciBzdWNoIGEgbG9uZyB0aW1lIG9mIHJpZ29yb3VzIHN5c3RlbWF0aWMgbGVhcm5p bmcsIHdoYXQgY291bGQgYmUgbW9yZSBmaXR0aW5nIHRoYXQgdGhpcyBsZXNzb24gd2hlcmUgSSBz cGVhayBhYm91dCBzb21lIHdvcmRzIHdoaWNoIEkgY291bGQgbm90LCBvciB3YW50ZWQgbm90IHRv IGZpdCBpbnRvIGFueSBvdGhlciBsZXNzb25zPyBTbyBoZXJlIGFyZSBhIGZldyBzbWFsbCBhbmQg cmVhbGx5IHVzZWZ1bCB3b3JkczoKCgoKVGhlIGZvbGxvd2luZyBjbWF2byBhcmUgYWxsIGVsbGlw dGljYWwgd29yZHMuIFlvdSBzaG91bGQgYWxyZWFkeSBiZSBmYW1pbGlhciB3aXRoIHRoZSBmaXJz dC4KCl9fJyd6bydlJydfXyAtIGVsbGlwdGljYWwgc3VtdGkKCl9fJydjbydlJydfXyAtIGVsbGlw dGljYWwgc2VsYnJpCgpfXycnZG8nZScnX18gLSBlbGxpcHRpY2FsIHN1bXRjaXRhCgpfXycnanUn YScnX18gLSBlbGxpcHRpY2FsIGV2aWRlbnRpYWwKCl9fJydkbydpJydfXyAtIGVsbGlwdGljYWwg dXR0ZXJhbmNlIHZhcmlhYmxlCgpfXycnZ2UnZScnX18gLSBlbGxpcHRpY2FsIGF0dGl0dWRpbmFs CgoKCkFsbCBvZiB0aGVzZSBhY3QgZ3JhbW1hdGljYWxseSBhcyBhIGNtYXZvIG9mIHRoZSBraW5k IHRoZXkgcmVwcmVzZW50LCBidXQgdGhleSBjb250YWluIG5vIGluZm9ybWF0aW9uLCBhbmQgY2Fu IGJlIHF1aXRlIGhhbmR5IHdoZW4geW91J3JlIGxhenkgYW5kIGRvbid0IG5lZWQgdG8gYmUgc3Bl Y2lmaWMgYW55d2F5LiBUaGVyZSBhcmUsIGhvd2V2ZXIsIGEgZmV3IHRoaW5ncyB3aGljaCBuZWVk IHRvIGJlIGNsZWFyZWQgdXA6CgoKCiAgICAnJ3pvJ2UnJyBoYXZlIHRvIHJlZmVyIHRvIHNvbWV0 aGluZyB3aGljaCBpcyBjbGFpbWVkIHRvIGhhdmUgYSB2YWx1ZS4g4oCcemVybyBjYXJz4oCdIG9y IOKAnG5vdGhpbmfigJ0sIGZvciBpbnN0YW5jZSwgaGFzIG5vIHZhbHVlLCBhbmQgdGhlcmVmb3Jl IGNhbm5vdCBiZSByZWZlcnJlZCB0byBieSAnJ3pvJ2UnJy4gVGhpcyBpcyBiZWNhdXNlLCBpZiBp dCBjb3VsZCBtZWFuIOKAnG5vdGhpbmfigJ0gYnkgJyd6bydlJycsIHRoZW4gYW55IHNlbGJyaSBj b3VsZCBiZSBpZGVudGljYWwgdG8gaXRzIG5lZ2F0aW9uLCBpZiBvbmUgb2YgdGhlIGVsaWRlZCBz dW10aSB3ZXJlIGZpbGxlZCB3aXRoIGEgJyd6bydlJycgd2l0aCBubyB2YWx1ZS4KCiAgICAnJ2dl J2UnJyBkb2VzIG5vdCBtZWFuIHRoYXQgeW91IGZlZWwgbm8gZW1vdGlvbiwganVzdCB0aGF0IHlv dSBmZWVsIG5vdGhpbmcgc3BlY2lhbCBvciB3b3J0aCB0byBtZW50aW9uIGF0IHRoZSBtb21lbnQu IEl0J3Mgc2ltaWxhciB0byDigJxJJ20gZmluZS7igJ0uICcnZ2UnZSBwZWknJyBhc2sgYWJvdXQg YW4gZWxsaXB0aWNhbCBlbW90aW9uIGFuZCBpcyBhIGdvb2QgdHJhbnNsYXRpb24gZm9yOiDigJxI b3cgYXJlIHlvdSBmZWVsaW5nP+KAnS4KCiAgICAnJ2NvJ2UnJyBpcyBoYW5keSB3aGVuIG5lZWRp bmcgYSBzZWxicmkgaW4gYSBjb25zdHJ1Y3QgZm9yIGdyYW1tYXRpY2FsIHJlYXNvbnMsIGxpa2Ug aW4gdGhlIGRlZmluaXRpb24gb2YgJyd0dSdhJycgaW4gdGhlIHByZXZpb3VzIGxlc3Nvbi4KCiAg ICAnJ2p1J2EnJyBkb2VzIG5vdCBjaGFuZ2UgdGhlIHRydXRoIHZhbHVlIG9yIHN1YmplY3RpdmUg dW5kZXJzdGFuZGluZyBvZiB0aGUgYnJpZGkgb3IgYW55dGhpbmcgbGlrZSB0aGF0LiBJbiBmYWN0 LCBpdCdzIG1vc3RseSBkb2VzIG5vdGhpbmcuIEhvd2V2ZXIsICcnanUnYSBwZWknJywg4oCcV2hh dCBpcyB5b3VyIGJhc2lzIGZvciBzYXlpbmcgdGhhdD/igJ0gaXMgaGFuZHkuCgogICAgJydkbydp JycgaXMgcmVhbGx5IHVzZWZ1bC4gQSBsb3Qgb2YgdGltZXMgd2hlbiB5b3UgcmVmZXIgdG8gdXR0 ZXJhbmNlcyBvciBjb252ZXJzYXRpb25zIGJ5IHdvcmRzIGxpa2Ug4oCcdGhpc+KAnSBvciDigJx0 aGF04oCdLCB5b3Ugd2FudCAnJ2RvJ2knJy4KCiAgICBJZiB5b3UgZmlsbCBpbiBtb3JlIHN1bXRp IHRoYW4gYSBzZWxicmkgaGFzIHBsYWNlcyBmb3IsIHRoZSBsYXN0IHN1bXRpIGhhdmUgaW1wbGll ZCAnJ2RvJ2UnJyBzdW10Y2l0YSBpbiBmcm9udCBvZiB0aGVtLgoKCgpGdXJ0aGVybW9yZSwgdGhl cmUgaXMgYSB3b3JkLCAnJ3ppJ28nJywgdGhhdCB5b3UgY2FuIGZpbGwgYSBzdW10aSBwbGFjZSB3 aXRoIHRvIGRlbGV0ZSBpdCBmcm9tIGFueSBzZWxicmkuICcnbG8gbWVsYmkgYmUgemknbycnLCBm b3IgaW5zdGFuY2UsIGlzIGp1c3Qg4oCcU29tZXRoaW5nIGJlYXV0aWZ1bOKAnSwgYW5kIGRvZXMg bm90IGluY2x1ZGUgdGhlIHVzdWFsIHgyIG9mICcnbWVsYmknJywgd2hpY2ggaXMgdGhlIG9ic2Vy dmVyIHdobyBqdWRnZXMgc29tZXRoaW5nIHRvIGJlIGJlYXV0aWZ1bC4gVGh1cywgaXQgY2FuIG1l YW4gc29tZXRoaW5nIGxpa2Ug4oCcT2JqZWN0aXZlbHkgYmVhdXRpZnVsLuKAnSBJdCBkb2VzIG5v dCBzdGF0ZSB0aGF0IG5vdGhpbmcgZmlsbHMgdGhlIHN1bXRpIHBsYWNlIHdoaWNoIGlzIGJlaW5n IGRlbGV0ZWQsIGp1c3QgdGhhdCB0aGUgc3VtdGkgcGxhY2UgaXMgbm90IGJlaW5nIGNvbnNpZGVy ZWQgaW4gdGhlIHNlbGJyaS4gVXNpbmcgJyd6aSdvJycgd2l0aCBhIHN1bXRjaXRhIGdpdmVzIHdl aXJkIHJlc3VsdHMuIEZvcm1hbGx5LCB0aGV5IHNob3VsZCBjYW5jZWwgZWFjaCBvdGhlciBvdXQu IFByYWN0aWNhbGx5LCBpdCB3b3VsZCBwcm9iYWJseSBiZSB1bmRlcnN0b29kIGFzIGFuIGV4cGxp Y2l0IHdheSBvZiBzYXlpbmcgdGhhdCB0aGUgc3VtdGNpdGEgZG9lcyBub3QgYXBwbHksIGFzIGlu OiAnJ21pIGRhcnhpIGRvIG11J2kgemknbycnIC0g4oCcSSBoaXQgeW91LCB3aXRoIG9yIHdpdGhv dXQgbW90aXZhdGlvbi7igJ0KCgoKVGhlbiB0aGVyZSBpcyB0aGUgd29yZCAnJ2phaScnLiBJdCdz IG9uZSBvZiB0aG9zZSBjb29sLCBzbWFsbCB3b3JkcyB3aGljaCBhcmUgaGFyZCB0byBncmFzcCwg YnV0IGVhc3kgdG8gd29yayB3aXRoIG9uY2UgeW91IGtub3cgaXQuIEl0IGhhcyB0d28gZGlzdGlu Y3QsIGJ1dCBzaW1pbGFyIGZ1bmN0aW9ucy4gQm90aCBoYXZlIHNvbWV0aGluZyB0byBkbyB3aXRo IGNvbnZlcnRpbmcgdGhlIHNlbGJyaSwgbGlrZSAnJ3NlJycgZG9lcy4KCl9fJydqYWknJ19fIFNl bGJyaSBjb252ZXJzaW9uOiBDb252ZXJ0cyBzdW10Y2l0YSBvciB1bnNwZWNpZmllZCBhYnN0cmFj dGlvbiB0byB4MS4gVXNlIHdpdGggJydmYWknJwoKX18nJ2ZhaScnX18gTWFya3Mgc3VtdGkgcGxh Y2UuIFdvcmtzIGxpa2UgJydmYScnLiBUbyBiZSB1c2VkIHdpdGggJydqYWknJy4KClRoZSBmaXJz dCBncmFtbWF0aWNhbCBjb25zdHJ1Y3Rpb24gaXQgY2FuIG1ha2UgaXMgIicnamFpJycge3N1bXRj aXRhfSB7c2VsYnJpfSIuIEl0IGNoYW5nZXMgdGhlIHN1bXRpIHBsYWNlcyBzdWNoIHRoYXQgdGhl IHN1bXRpIHBsYWNlIG9mIHRoZSBzdW10Y2l0YSBiZWNvbWVzIHRoZSBzZWxicmkncyB4MSwgYW5k IHRoZSBzZWxicmkncyBvbGQgeDEgaXMgcmVtb3ZlZCwgYW5kIG9ubHkgYWNjZXNzaWJsZSBieSB1 c2luZyAnJ2ZhaScnLCB3aGljaCB3b3JrcyBsaWtlICcnZmEnJy4gWW91IGNhbiBzZWUgaXQgd2l0 aCB0aGlzIGV4YW1wbGU6CgpfXycnZ2F1JydfXyAtIHN1bXRjaXRhIChmcm9tICcnZ2FzbnUnJykg 4oCcYnJpZGkgaGFzIGJlZW4gYnJvdWdodCBhYm91dCBieS93aXRoIGFjdGl2ZSBhZ2VudCB7c3Vt dGl94oCdCgonJ2RvIGphaSBnYXUganVuZGkgdGkgZmFpIG1pJycuIC0g4oCcWW91IGJyaW5nIGFi b3V0IGF0dGVudGlvbiB0byB0aGlzIGJ5IG1l4oCdLiBUaGUgbmV3IHNlbGJyaSwgJydqYWkgZ2F1 IGp1bmRpJycsIGhhcyB0aGUgcGxhY2Ugc3RydWN0dXJlIG9mIOKAnHgxIGJyaW5ncyBhYm91dCBh dHRlbnRpb24gcGFpZCB0byB4MuKAnS4gVGhlc2UgYXJlIHRoZW4gZmlsbGVkIGJ5ICcnZG8nJyBh bmQgJyd0aScnLiBUaGUgJydmYWknJyB0aGVuIG1hcmtzIHRoZSBwbGFjZSBmb3IgdGhlIG9sZCB4 MSwgdGhlIG9uZSB3aG8gd2FzIHBheWluZyBhdHRlbnRpb24sIGFuZCBpdCBpcyBmaWxsZWQgd2l0 aCAnJ21pJycuIFRoaXMgd29yZCBjYW4gYmUgdmVyeSBjb252ZW5pZW50IGFuZCBoYXMgdG9ucyBv ZiB1c2VzLiBBIGdvb2QgZXhhbXBsZSBpcyBkZXNjcmlwdGl2ZS1saWtlIHN1bXRpLiBPbmUgY2Fu LCBmb3IgaW5zdGFuY2UsIHJlZmVyIHRvIOKAnHRoZSBtZXRob2Qgb2Ygdm9saXRpb25hbCBhY3Rp b27igJ0gYnkgJydsbyBqYWkgdGEnaSB6dWt0ZScnLgoKX18nJ3RhJ2knJ19fOiBzdW10Y2l0YSAo ZnJvbSAnJ3RhZGppJycpIOKAnEJyaWRpIGlzIGRvbmUgd2l0aCB0aGUgbWV0aG9kIG9mIHtzdW10 aX3igJ0KCkNhbiB5b3UgZGVkdWNlIHdoYXQgdGhlIG9yZGluYXJ5IExvamJhbiBwaHJhc2UgJydk byBqYWkgZ2F1IG1vJycgbWVhbnM/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcV2hhdCBhcmUg eW91IGRvaW5nP+KAnX5+CgoKClRoZSBvdGhlciBmdW5jdGlvbiBvZiAnJ2phaScnIGlzIGVhc2ll ciB0byBleHBsYWluLiBJdCBzaW1wbHkgY29udmVydHMgdGhlIHNlbGJyaSBzdWNoIHRoYXQgdGhl IHN1bXRpIGluIHRoZSB4MSBnZXRzIGEgJyd0dSdhJycgaW4gZnJvbnQgb2YgaXQgKCcna28nYSBq YWkgYnJvZGEnJyBfXz1fXyAnJ3R1J2Ega28nYSBicm9kYScnKS4gSW4gb3RoZXIgd29yZHMsIGl0 IGNvbnZlcnRzIHRoZSBzZWxicmkgaW4gYSB3YXkgc3VjaCB0aGF0IGl0IGJ1aWxkcyBhbiBlbGxp cHRpY2FsIGFic3RyYWN0aW9uIGZyb20gdGhlIHN1bXRpIGluIHRoZSB4MSwgYW5kIHRoZW4gZmls bHMgeDEgd2l0aCB0aGUgYWJzdHJhY3Rpb24gaW5zdGVhZCBvZiB0aGUgYWN0dWFsIHN1bXRpLiBB Z2FpbiwgdGhlIG9yaWdpbmFsIHN1bXRpIHBsYWNlIGlzIGFjY2Vzc2libGUgYnkgJydmYWknJy4K CkEgdmVyeSBhY3RpdmUgTG9qYmFuIElSQy11c2VyIG9mdGVuIHNheXMgJydsZSBnZXJrdSBwZSBk byBqYWkgc2Ugc3RpZGkgbWknJywgdG8gdXNlIGEgcmFuZG9tIGV4YW1wbGUgb2YgYSBzdW10aSBp biB4MS4gV2hhdCdzIGhlIHNheT8KCl9fJydzdGlkaScnX18geDEgaW5zcGlyZXMvc3VnZ2VzdHMg eDIgaW4vdG8geDPigJ0KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxJIHN1Z2dlc3QgKHNvbWV0 aGluZyBhYm91dCkgeW91ciBkb2cu4oCdfn4KCgoKU28gZmFyIHlvdSd2ZSBsZWFybmVkIGhvdyB0 byBjb252ZXJ0IGJyaWRpIHRvIHNlbGJyaSwgc2VsYnJpIHRvIHN1bXRpLCBhbmQgc2VsYnJpIGlu dG8gYnJpZGksIHNpbmNlIGFsbCBzZWxicmkgYnkgdGhlbXNlbHZlcyBhcmUgYWxzbyBicmlkaS4g WW91IG9ubHkgbmVlZCBvbmUgbGFzdCBmdW5jdGlvbjogY29udmVydCBzdW10aSB0byBzZWxicmku IFRoaXMgaXMgZG9uZSB3aXRoIHRoZSB3b3JkICcnbWUnJy4gSXQgYWNjZXB0cyBhIHN1bXRpIGFu ZCBjb252ZXJ0cyBpdCBpbnRvIGEgc2VsYnJpIHdpdGggdGhlIHBsYWNlIHN0cnVjdHVyZSDigJx4 MSBpcyBzcGVjaWZpYyB0byB7c3VtdGl9IGluIHByb3BlcnR5L2FzcGVjdCB4MuKAnS4KCl9fJydt ZScnX186IEdlbmVyaWMgY29udmVydCBzdW10aSB0byBzZWxicmkuIHgxIGlzIHNwZWNpZmljIHRv IFNVTVRJIGluIHByb3BlcnR5L2FzcGVjdCB4MgoKCgpXaGVuIHNjcmV3aW5nIGEgc2VudGVuY2Ug dXAsIGtub3dpbmcgaG93IHRvIGNvcnJlY3QgeW91cnNlbGYgaXMgYSBnb29kIGlkZWEuIFRoZXJl IGFyZSB0aHJlZSB3b3JkcyBpbiBMb2piYW4gd2hpY2ggeW91IGNhbiB1c2UgdG8gZGVsZXRlIHlv dXIgcHJldmlvdXMgd29yZChzKQoKX18nJ3NpJydfXyAtIGRlbGV0aW9uOiBEZWxldGVzIGxhc3Qg d29yZCBvbmx5LgoKX18nJ3NhJydfXyAtIGRlbGV0aW9uOiBEZWxldGVzIGJhY2sgdW50aWwgbmV4 dCBjbWF2byBzcG9rZW4uCgpfXycnc3UnJ19fIC0gZGVsZXRpb246IERlbGV0ZXMgZW50aXJlIGRp c2NvdXJzZS4KClRoZSBmdW5jdGlvbiBvZiB0aGVzZSB3b3JkcyBhcmUgb2J2aW91czogVGhleSBk ZWxldGUgd29yZHMgYXMgaWYgdGhleSBoYXZlIG5ldmVyIGJlZW4gc3Bva2VuLiBUaGV5IGRvIG5v dCB3b3JrIGluc2lkZSBjZXJ0YWluIHF1b3RlcyAoYWxsIHF1b3RlcyBleGNlcHQgJydsdS4ubGkn dScnKSwgdGhvdWdoLCBhcyB0aGF0IHdvdWxkIGxlYXZlIGl0IGltcG9zc2libGUgdG8gcXVvdGUg dGhlc2Ugd29yZHMuIFNldmVyYWwgJydzaScnIGluIGEgcm93IGRlbGV0ZXMgc2V2ZXJhbCB3b3Jk cy4KCgoKCgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29uIGVpZ2h0ZWVuIChxdW90ZXMpCgpPbmUg b2YgdGhlIGtleSBkZXNpZ24gZmVhdHVyZXMgb2YgTG9qYmFuIGlzIHRoYXQgaXQncyBzdXBwb3Nl ZCB0byBiZSBhdWRpby12aXN1YWwgaXNvbW9ycGhpYywgbWVhbmluZyB0aGF0IGV2ZXJ5dGhpbmcg ZXhwcmVzc2VkIGluIHRleHQgc2hvdWxkIGFsc28gYmUgZXhwcmVzc2VkIGluIHNwZWVjaCBhbmQg dmljZSB2ZXJzYS4gVGhlcmVmb3JlLCB0aGVyZSBjYW5ub3QgYmUgYW55IHB1bmN0dWF0aW9uIHdo aWNoIGlzIG5vdCBwcm9ub3VuY2VkLiBUaGlzIG1lYW5zIHRoYXQgTG9qYmFuIGhhcyBhIHdpZGUg cmFuZ2Ugb2Ygd29yZHMgdG8gcXVvdGUgb3RoZXIgd29yZHMuIEFsbCBMb2piYW4gcXVvdGVzIHRh a2Ugc29tZSBpbnB1dCBvZiB0ZXh0IGFuZCBjb252ZXJ0cyBpdCB0byBhIHN1bXRpLiBMZXQncyBi ZWdpbiB3aXRoIHRoZSBtb3N0IHNpbXBsZToKCgoKX18nJ2x1JydfXyBRdW90ZSB3b3JkOiBCZWdp biBxdW90ZSBvZiBncmFtbWF0aWNhbCBMb2piYW4gY29udGVudAoKX18nJ2xpJ3UnJ19fIFF1b3Rl IHdvcmQ6IEVuZCBxdW90ZSBvZiBncmFtbWF0aWNhbCBMb2piYW4gY29udGVudAoKCgpUaGUgdGV4 dCBpbnNpZGUgdGhpcyBjb25zdHJ1Y3QgbXVzdCBieSBpdHNlbGYgYmUgZ3JhbW1hdGljYWwuIEl0 IGNhbiBxdW90ZSBhbGwgTG9qYmFuIHdvcmRzIHdpdGggc29tZSBmZXcgZXhjZXB0aW9ucywgbW9z dCBub3RhYmx5LCBvYnZpb3VzbHksICcnbGkndScnLgoKCgpUcnkgdG8gdHJhbnNsYXRlIHRoZSBm b2xsb3dpbmcgc2VudGVuY2UuIFRha2UgeW91ciB0aW1lLgoKJydtaSBzdGlkaSBsbyBkcmF0YSBi ZSB0dSdhIGx1IGtvIGphaSBnYXUgbW8gbGkndScnCgpfXycnZHJhdGEnJ19fIHgxIGlzIGRpZmZl cmVudCBmcm9tIHgyIGJ5IHN0YW5kYXJkCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcSSBzdWdn ZXN0IHNvbWV0aGluZyBkaWZmZXJlbnQgdGhhbiBzb21ldGhpbmcgYWJvdXQg4oCca28gamFpIGdh dSBtb+KAnS7igJ1+fgoKCgpUaGVzZSBxdW90ZSB3b3JkcyBjYW5ub3QgcXVvdGUgdW5ncmFtbWF0 aWNhbCB0ZXh0LiBUaGlzIGlzIHNvbWV0aW1lcyB1c2VmdWwsIHdoZW4geW91IHdhbnQgdG8gb25s eSBwaWNrIG91dCBwYXJ0IG9mIGEgc2VudGVuY2UsIGFzIGluOiDigJwgaXMg4oCcZ2knZeKAnSBh IExvamJhbiBzdW10Y2l0YT/igJ0KCgoKRm9yIHRoaXMsIHlvdSBuZWVkIHRoZXNlIHR3byBjbWF2 bwoKX18nJ2xvJ3UnJ19fIFF1b3RlIHdvcmQ6IEJlZ2luIHF1b3RlIG9mIHVuZ3JhbW1hdGljYWwg YnV0IExvamJhbiBjb250ZW50CgpfXycnbGUndScnX18gUXVvdGUgd29yZDogRW5kIHF1b3RlIG9m IHVuZ3JhbW1hdGljYWwgYnV0IExvamJhbiBjb250ZW50CgoKClRoZSB0ZXh0IGluc2lkZSBtdXN0 IGJlIExvamJhbiB3b3JkcywgYnV0IG5lZWQgbm90IGJlIGdyYW1tYXRpY2FsLiBUcnkgdG8gdHJh bnNsYXRlIHRoZSBhYm92ZSBleGFtcGxlICh0aGUgb25lIHdpdGggJydnaSdlJycpIGludG8gTG9q YmFuCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6Jyd4dSBsbyd1IGdpJ2UgbGUndSBsb2pibyBzdW10 Y2l0YScnfn4KCgoKVGhpcyBxdW90ZSBjYW4gYmUgdXNlZCB0byBxdW90ZSBhbGwgTG9qYmFuIHdv cmRzIGV4Y2VwdCAnJ2xlJ3UnJy4gSG93ZXZlciwgdGhpcyBpcyBub3QgZW5vdWdoLiBJZiB3ZSB3 YW50IHRvIHRyYW5zbGF0ZSDigJxpcyDigJ1kbyBtb+KAnSBhIGNvcnJlY3QgdHJhbnNsYXRpb24g b2Yg4oCcV2hhdCdzIHVwP+KAneKAnSwgd2UgbWlnaHQgYmUgc2xpZ2h0bHkgd3JvbmcgYWJvdXQg d2hhdCB3ZSBoZXJlIHN0YXRlLCBzaW5jZSAnJ2RvIG1vJycgYWxzbyBjYW4gbWVhbiDigJxXaGF0 IGFyZSB5b3U/4oCdLCBidXQgbGV0J3Mgcm9sbCB3aXRoIGl0IGZvciBhIHNlY29uZC4gV2hhdCB3 ZSBuZWVkIGhlcmUgaXMgdGhlIHdvcmQgJyd6b2knJy4KCgoKJyd6b2knJyBOZXh0IGNtYXZvIGlz IGJlZ2luIGFsbC1wdXJwb3NlIHF1b3RlIGFuZCBjbG9zZSBhbGwtcHVycG9zZSBxdW90ZS4KCgoK V2hlbiB1c2luZyAnJ3pvaScnLCB5b3UgcGljayBhbnkgbW9ycGhvbG9naWNhbGx5IGNvcnJlY3Qg bG9qYmFuIHdvcmQgYXQgd2lsbCAoY2FsbGVkIHRoZSBkZWxpbWl0ZXIpLCB3aGljaCB0aGVuIG9w ZW5zIGEgcXVvdGUuIFRvIGNsb3NlIGl0LCB1c2UgdGhhdCB3b3JkIGFnYWluLiBUaGlzIHdheSwg eW91IGNhbiBxdW90ZSBhbnl0aGluZyBleGNlcHQgdGhlIGRlbGltaXRlciwgd2hpY2ggc2hvdWxk bid0IGJlIGEgcHJvYmxlbSBiZWNhdXNlIHlvdSBjYW4gcGljayBpdCB5b3Vyc2VsZi4gVXN1YWxs eSwgdGhlIHdvcmQgcGlja2VkIGlzIGVpdGhlciAnJ3pvaScnIGl0c2VsZiwgb3IgYSBsZXR0ZXIg d2hpY2ggc3RhbmRzIGZvciB0aGUgbGFuZ3VhZ2Ugd2hpY2ggdGhlIHF1b3RlIGlzIHdyaXR0ZW4g aW4uIEV4YW1wbGU6IOKAnEkgbGlrZWQgVGhlIFBoYW50b20gb2YgdGhlIE9wZXJh4oCdIGlzICcn bWkgcHUgbmVsY2kgbGEnZSB6b2kgem9pLiBUaGUgUGhhbnRvbSBvZiB0aGUgT3BlcmEgLnpvaScn IE5vdGljZSB0d28gdGhpbmdzOiBGaXJzdGx5LCBJIG5lZWQgYSAnJ2xhJ2UnJywgc2luY2UgSSBk aWRuJ3QgbGlrZSB0aGUgcXVvdGUsIGJ1dCByYXRoZXIgd2hhdCBpdCByZWZlcnJlZCB0by4gU2Vj b25kbHksIGJldHdlZW4gdGhlIGNob3NlbiBkZWxpbWl0ZXIgYW5kIHRoZSBxdW90ZSwgdGhlcmUg YXJlIHBhdXNlcywgb3B0aW9uYWxseSByZXByZXNlbnRlZCBieSBhIGZ1bGwgc3RvcCBpbiB3cml0 aW5nLiBUaGlzIHBhdXNlIGlzIG5lY2Vzc2FyeSB0byBjb3JyZWN0bHkgaWRlbnRpZnkgdGhlIGRl bGltaXRlci4KCgoKVHJ5IHRvIHRyYW5zbGF0ZSB0aGUgYWJvdmUgc2VudGVuY2UgY29uY2Vybmlu ZyDigJxXaGF0J3MgdXA/4oCdCgoKCl9fJydkcmFuaScnX18geDEgaXMgY29ycmVjdC9wcm9wZXIg aW4gYXNwZWN0IHgyIGluIHNpdHVhdGlvbiB4MyBieSBzdGFuZGFyZCB4NAoKCgpBbnN3ZXI6IH5+ Z3JleSxncmV5OicneHUgbHUgZG8gbW8gbGkndSBkcmFuaSB4ZSBmYW52YSB6b2kgZ3kuIFdoYXQn cyB1cD8gLmd5JycuIEhlcmUgdGhlIGRlbGltaXRlciAnJ2d5JycgaXMgY2hvc2VuIGJlY2F1c2Ug aXQncyBzaG9ydCBmb3IgJydnbGljbycnLCBtZWFuaW5nICJFbmdsaXNoIn5+CgoKCkNsb3NlbHkg YW5hbG9nb3VzbHksIHRoZXJlIGlzICcnbGEnbycnLiBJdCB3b3JrcyBleGFjdGx5IGxpa2UgJyd6 b2knJywgYnV0IHR1cm5zIHRoZSByZXN1bHRpbmcgcXVvdGUgaW50byBhIG5hbWUuIEl0IGlzIG5l ZWRlZCBiZWNhdXNlIG5vcm1hbGx5LCBvbmx5IHNlbGJyaSBhbmQgY21ldmxhIGNhbiBiZSBuYW1l cywgbm90IHF1b3Rlcy4KCl9fJydsYSdvJydfXyBOZXh0IGNtYXZvIGlzIGJlZ2luIGFsbC1wdXJw b3NlIHF1b3RlIGFuZCBjbG9zZSBhbGwtcHVycG9zZSBxdW90ZSDigJMgdXNlIGFzIG5hbWUuCgoK Ckxhc3Qgb2YgdGhlIG9mZmljaWFsIHF1b3RlIHdvcmRzLCB0aGVyZSBpcyAnJ3pvJycuICcnem8n JyBhbHdheXMgcXVvdGVzIHRoZSBuZXh0IExvamJhbiB3b3JkLCBubyBtYXR0ZXIgd2hhdCBpdCBp cy4gSXQncyBwcmV0dHkgaGFuZHkuCgonJ3pvJycgUXVvdGUgbmV4dCBMb2piYW4gd29yZCwgbm8g bWF0dGVyIHdoYXQuCgpFeGFtcGxlOiAnJ3pvIHpvIHpvJ28gcGxpeGF1JycgPSDigJwg4oCcem/i gJ0gaXMgdXNlZnVsLCBoZWhl4oCdCgpfXycnem8nbycnX18gYXR0aXR1ZGluYWw6IGRpc2N1cnNp dmU6IEh1bW9yb3VzbHksIOKAnGtpZGRpbmcgeW914oCdCgpfXycncGxpeGF1JydfXyB4MSBpcyB1 c2VmdWwgZm9yIHgyIHRvIGRvIHB1cnBvc2UgeDMKCgoKTG9qYmFuIHVzZXJzIGhhdmUgZm91bmQg aXQgdXNlZnVsIHRvIHN1cHBsZW1lbnQgd2l0aCBmb3VyIGFkZGl0aW9uYWwgcXVvdGUgd29yZHMu IFRoZXkgYXJlIGFsbCBleHBlcmltZW50YWwsIGFuZCB0aGUgZm9ybWFsIGdyYW1tYXIgZG9lcyBu b3Qgc3VwcG9ydCBpdC4gTm9uZXRoZWxlc3MsIHRoZXkgYXJlIHVzZWQgb2Z0ZW4sIGFuZCBpdCdz IGdvb2QgdG8gYmUgYWJsZSB0byByZWNvZ25pemUgdGhlbS4gVGhlIG1vc3QgdXNlZCBpczoKCgoK X18nJ3pvJ29pJydfXyBRdW90ZSBuZXh0IHdvcmQgb25seS4gTmV4dCB3b3JkIGlzIGlkZW50aWZp ZWQgYnkgcGF1c2VzIGluIHNwZWVjaCBvciB3aGl0ZXNwYWNlIGluIHdyaXRpbmc6CgoKCkV4YW1w bGU6ICcncmkgcHUgY3Vza3Ugem8nb2kgRG9oISAudSdpJycg4oCcSGEgaGEsIGhlIHNhaWQg4oCc RG9oIeKAnSDigJwKCgoKSXQncyB2ZXJ5IGVhc3kgdG8gdXNlLiBBZ2Fpbiwgbm90ZSB0aGF0IGFs bCBncmFtbWFyIGJvdHMgd2lsbCBjb25zaWRlciB0aGUgc2VudGVuY2Ugbm90IGdyYW1tYXRpY2Fs LCBiZWNhdXNlIHRoZXNlIHdvcmRzIGRvIG5vdCBleGlzdCBpbiB0aGUgZm9ybWFsIGdyYW1tYXIu CgoKCkFuYWxvZ291cyB0byAnJ3pvJ29pJycgYW5kICcnbGEnbycnLCB0aGVyZSBpcyBhbHNvIHRo ZSB3b3JkICcnbGEnb2knJywgd2hpY2ggd29ya3MganVzdCBsaWtlICcnem8nb2knJywgYnV0IHRy ZWF0cyB0aGUgcXVvdGUgYXMgYSBuYW1lOgoKX18nJ2xhJ29pJydfXyBRdW90ZSBuZXh0IHdvcmQg b25seSwgdXNlIGFzIG5hbWUuIE5leHQgd29yZCBpcyBpZGVudGlmaWVkIGJ5IHBhdXNlcyBpbiBz cGVlY2ggb3Igd2hpdGVzcGFjZSBpbiB3cml0aW5nOgoKCgpIb3cgd291bGQgeW91IHNheTog4oCc TXkgRW5nbGlzaCBuYW1lIGlzIOKAnFNhZmnigJ3igJ0/CgpfXycnZ2xpY28nJ19fIHgxIGlzIEVu Z2xpc2gvcGVydGFpbnMgdG8gRW5nbGlzaCBjdWx0dXJlIGluIGFzcGVjdCB4MgoKX18nJ2NtZW5l JydfXyB4MSBpcyB0aGUgbmFtZSBvZiB4MiBhcyB1c2VkIGJ5IHgzCgoKCkFuc3dlcjogfn5ncmV5 LGdyZXk6JydtaSBnbGljbyBzZSBjbWVuZSBsYSdvaSBTYWZpJycuIE5vdGljZSB0aGUgbmVjZXNz YXJ5IHNlLiBXZSBkb24ndCB3aGF0IHRvIHNheSB0aGF0IHdlJ3JlIGEgbmFtZSF+fgoKCgpUaGly ZGx5LCAnJ3JhJ29pJycgcXVvdGVzIHRoZSBuZXh0IHJhZnNpLiBTaW5jZSByYWZzaSBhcmUgbm90 IHdvcmRzLCB0aGV5IHdvdWxkIHVzdWFsbHkgaGF2ZSB0byBiZSBxdW90ZWQgYnkgJyd6b2knJy4g RnVydGhlcm1vcmUsIHNldmVyYWwgcmFmc2kgYXJlIGFsc28gY21hdm8uIFRvIGF2b2lkIGNvbmZ1 c2lvbiBvZiB3aGljaCBpcyBtZWFudCwgJydyYSdvaScnIGFsd2F5cyByZWZlciB0byBhIHJhZnNp LCBhbmQgaXMgd3JvbmcgaW4gZnJvbnQgb2YgYW55IHRleHQgc3RyaW5nIHdoaWNoIGFyZSBub3Qg cmFmc2kuCgoKCldoYXQgZG9lcyAnJ3JhJ29pIHp1J2UgcmFmc2kgem8genVrdGUgLmlrdSdpIHpv J29pIHp1J2Ugc3VtdGNpdGEnJyBtZWFuPwoKX18nJ2t1J2knJ19fIGF0dGl0dWRpbmFsOiBkaXNj dXJzaXZlOiBIb3dldmVyIC8gdGhvdWdoIChjb250cmFzdHMgdG8gc29tZXRoaW5nIHByZXZpb3Vz bHkgc2FpZCkKCl9fJydyYWZzaScnX18geDEgYW4gYWZmaXggZm9yIHdvcmQvY29uY2VwdCB4MiB3 aXRoIHByb3BlcnRpZXMvb2YgZm9ybSB4MyBpbiBsYW5ndWFnZSB4NAoKCgpBbnN3ZXI6IH5+Z3Jl eSxncmV5OuKAnFRoZSByYWZzaSDigJx6dSdl4oCdIGlzIGEgcmFmc2kgZm9yIOKAnHp1a3Rl4oCd LiBCdXQg4oCcenUnZeKAnSBpcyBhIHN1bXRjaXRh4oCdfn4KCgoKQW5kIGZpbmFsbHkgdGhlIHVz ZWZ1bCB3b3JkICcnbWEnb2knJy4gJydtYSdvaScnIHF1b3RlcyBhbnkgY21hdm8sIGJ1dCB0cmVh dHMgdGhlIHF1b3RlIGFzIGEgbmFtZSBmb3IgdGhlIHdvcmQgY2xhc3MgKHNlbG1hJ28pIHRvIHdo aWNoIHRoYXQgd29yZCBiZWxvbmdzLiBTbywgZm9yIGluc3RhbmNlLCBiYSdvIGJlbG9uZ3MgdG8g dGhlIHdvcmRjbGFzcyBjYWxsZWQgWkFoTywgc28gJydtYSdvaSBiYSdvJycgaXMgdW5vZmZpY2lh bCBMb2piYW4gZm9yIOKAnFphaE/igJ0KCgoKVHJ5IGl0IG91dC4gU2F5IHRoYXQgJydwdScnIGFu ZCAnJ2JhJycgYXJlIGluIHRoZSBzYW1lIHNlbG1hJ28hCgpfXycnY21hdm8nJ19fIHgxIGlzIGEg Z3JhbW1hdGljYWwgd29yZCBvZiBjbGFzcyB4MiBpbiBsYW5ndWFnZSB4MwoKCgooT25lIHBvc3Np YmxlKSBBbnN3ZXI6ICB+fmdyZXksZ3JleTonJ3pvIHB1IGNtYXZvIG1hJ29pIGJhJyd+fgoKCgoK CiEhTG9qYmFuIExlc3NvbnMgLSBMZXNzb24gbmluZXRlZW4gKG51bWJlcnMpCgpXaGVuIGxlYXJu aW5nIGEgbGFuZ3VhZ2UsIG9uZSBvZiB0aGUgdGhpbmdzIHdoaWNoIGFyZSB1c3VhbGx5IHRhdWdo dCB2ZXJ5IGVhcmx5IG9uIGlzIGhvdyB0byBjb3VudC4gVGhpcyByZWFsbHkgbWFrZXMgbGl0dGxl IHNlbnNlLCBiZWNhdXNlIGl0J3Mgbm90IG5lY2Vzc2FyeSB0byBrbm93IG51bWJlcnMgaWYgeW91 IGRvbid0IGtub3cgaG93IHRvIHNwZWFrIGFib3V0IHRob3NlIHRoaW5ncyB0byB3aGljaCB0aGV5 IGFwcGx5LiBUaGlzIGlzIHBhcnRseSB0aGUgcmVhc29uIHdoeSBJIGhhdmUgbGVmdCBpdCBmb3Ig bGVzc29uIG51bWJlciBuaW5ldGVlbi4gVGhlIG90aGVyIHJlYXNvbiBpcyB0aGF0IHdoaWxlIHRo ZSBudW1iZXJzIHRoZW1zZWx2ZXMgYXJlIGVhc3kgdG8gbGVhcm4sIGhvdyB0aGV5IGFwcGx5IHRv IHN1bXRpIGNhbiBnZXQgdmVyeSBjb25mdXNpbmcgaW5kZWVkLiBUaGF0LCBob3dldmVyLCB3ZSB3 aWxsIHNhdmUgZm9yIGEgbGF0ZXIgbGVzc29uLgoKQmVmb3JlIGxlYXJuaW5nIHRoZSB3b3JkcyB0 aGVtc2VsdmVzLCB5b3Ugc2hvdWxkIGtub3cgdGhhdCBudW1iZXJzIGRvIG5vdCBoYXZlIGFueSBp bnRlcm5hbCBncmFtbWFyLiBUaGlzIG1lYW5zIHRoYXQgYW55IHJvdyBvZiBudW1iZXIgd29yZHMg KGhlbmNlZm9ydGggcmVmZXJyZWQgdG8gYXMgYSAibnVtYmVyIHN0cmluZyIpIGFyZSB0cmVhdGVk IGlkZW50aWNhbGx5IHRvIGFueSBvdGhlciBudW1iZXIgc3RyaW5nIHRvIHRoZSBMb2piYW4gZ3Jh bW1hciwgZXZlbiBpZiB0aGUgc3RyaW5nIG1ha2VzIG5vIHNlbnNlLiBUaGVyZWZvcmUsIG9uZSBj YW4gbmV2ZXIgYW5zd2VyIHVuYW1iaWd1b3VzbHkgd2hldGhlciBhIG51bWJlciBjb25zdHJ1Y3Qg bWFrZXMgc2Vuc2Ugb3Igbm90LiBUaGVyZSBhcmUsIGhvd2V2ZXIsIGludGVuZGVkIHdheXMgb2Yg dXNpbmcgdGhlIG51bWJlciB3b3JkcywgYW5kIGNvbmZ1c2lvbiB3aWxsIHByb2JhYmx5IHJlc3Vs dCBpZiB5b3UgZGV2aWF0ZSBmcm9tIHRoZSBzdGFuZGFyZC4KCkxlYXJuaW5nIGFsbCB0aGUgbnVt YmVyIHdvcmRzIG9mIExvamJhbiBhcmUgd2F5IGJleW9uZCB0aGUgc2NvcGUgb2YgdGhpcyBsZXNz b24sIHNvIHlvdSB3aWxsIG9ubHkgYmUgaW50cm9kdWNlZCB0byB3aGF0IGlzIG5vcm1hbGx5IHVz ZWQgaW4gdGV4dC4gVGhlIHdpZGUgcmFuZ2Ugb2YgTG9qYmFuIG1hdGhlbWF0aWNhbCBjbWF2byBh cmUgY2FsbGVkICcnbWVrc28nJyAoTG9qYmFuIGZvciAibWF0aGVtYXRpY2FsIGV4cHJlc3Npb24i KSwgYW5kIGlzIHdpZGVseSBkaXNyZWdhcmRlZCBiZWNhdXNlIG9mIGl0cyBjb21wbGV4aXR5IGFu ZCBxdWVzdGlvbmFibGUgYWR2YW50YWdlIG92ZXIgc28tY2FsbGVkIGJyaWRpIG1hdGguCgpMZXQn cyBiZWdpbiB3aXRoIHRoZSBvcmRpbmFyeSBMb2piYW4gbnVtYmVycywgZnJvbSB6ZXJvIHRvIG5p bmU6Cgp8fHplcm98b25lfHR3b3x0aHJlZXxmb3VyfGZpdmV8c2l4fHNldmVufGVpZ2h0fG5pbmUK Cm5vfHBhfHJlfGNpfHZvfG11fHhhfHplfGJpfHNvfHwKCk5vdGljZSBob3cgdGhlIHZvd2VscyBh cmUgYWx0ZXJuYXRpbmcgKHdpdGggdGhlIGV4Y2VwdGlvbiBvZiAnJ25vJycpLCBhbmQgaG93IG5v IGNvbnNvbmFudCBpcyB1c2VkIGZvciB0d28gZGlnaXRzLgoKSW4gb3JkZXIgdG8gZXhwcmVzcyBu dW1iZXJzIGhpZ2hlciB0aGFuIG5pbmUsIHRoZSBudW1iZXJzIGFyZSBqdXN0IHN0cnVuZyB0b2dl dGhlcjoKCicndm8gbXUgY2knJyDigJMgZm91ciBodW5kcmVkIGFuZCBmaWZ0eSB0aHJlZSAoNDUz KQoKJydwYSBubyBubyBubyBubycnIHRlbiB0aG91c2FuZCAoMTAgMDAwKQoKVGhlcmUgaXMgYWxz byBhIOKAnHF1ZXN0aW9uLWRpZ2l04oCdLCB3aGljaCBpcyB1c2VkIGxpa2Ugb3RoZXIgZmlsbC1p bi10aGUtYmxhbmsgcXVlc3Rpb24gd29yZHMuIEl0J3MgJyd4bycnLiBUaGUgYW5zd2VyIHRvIHN1 Y2ggYSBxdWVzdGlvbiBtYXkgYmUganVzdCB0aGUgcmVsZXZhbnQgZGlnaXQocykgYnkgaXRzZWxm LCBvciB0aGV5IGNhbiBiZSBudW1lcmljYWwgY29uc3RydWN0cywgYXMgc2hvd24gbGF0ZXIuCgon J2NpIHhvIHhvIHhvJycg4oCTICJUaHJlZSB0aG91c2FuZCBhbmQgaG93IG1hbnk/IiAoMz8/PykK Cl9fJyd4bycnX18gcXVlc3Rpb24gZGlnaXQg4oCTIHVzZSBsaWtlIGFueSBvdGhlciBkaWdpdCB0 byBhc2sgZm9yIHRoZSBjb3JyZWN0IGRpZ2l0LgoKVGhlIGV4cGVyaW1lbnRhbCB3b3JkICcneG8n ZScnIGlzIHNvbWV0aW1lcyB1c2VkIHRvIG1lYW4gYW4gdW5zcGVjaWZpZWQsIGVsbGlwdGljYWwg ZGlnaXQuIEl0cyBkZWZpbml0aW9uIGlzIG5vdCBvZmZpY2lhbCwgdGhvdWdoLgoKJydjaSB4bydl IHhvJ2UgeG8nZScnIOKAkyBUaHJlZSB0aG91c2FuZCBhbmQgc29tZXRoaW5nCgpfXycneG8nZScn X18gZWxsaXB0aWNhbCBkaWdpdC4KClNpbmNlIGFsbCBudW1iZXIgc3RyaW5ncyBhcmUgdHJlYXRl ZCBncmFtbWF0aWNhbGx5IHRoZSBzYW1lLCBvbmUgbWlnaHQgYWxzbyBhbnN3ZXIgc2V2ZXJhbCBk aWdpdHMgdG8gb25lICcneG8nZScnCgoKCkZ1cnRoZXJtb3JlLCB0aGVyZSBpcyBhbHNvIGEgc2V0 IG9mIGhleGFkZWNpbWFsIGRpZ2l0cyBBIHRocm91Z2ggRi4gQnkgZGVmYXVsdCwgTG9qYmFuIG9w ZXJhdGVzIGluIGJhc2UgMTAsIGJ1dCB3aGVuIHVzaW5nIGhleGFkZWNpbWFsIGRpZ2l0cywgaXQg Y2FuIGJlIHNhZmVseSBhc3N1bWVkIHRoYXQgeW91IHVzZSBiYXNlIHNpeHRlZW46Cgp8fGRhdXxm ZWl8Z2FpfGphdXxyZWl8eGVpIHx2YWl8CgoxMChBKXwxMShCKXwxMihDKXwxMyhEKXwxNChFKXwx NChFKXwxNShGKXx8CgpZZXMsIEkga25vdyB0aGVyZSBhcmUgdHdvIHdvcmRzIGZvciBFLiBUaGUg b2ZmaWNpYWwgb25lIGlzICcncmVpJycgKGFsbCB0aHJlZS1sZXR0ZXIgY21hdm8gYmVnaW5uaW5n IHdpdGggeCBpcyBleHBlcmltZW50YWwpLiAnJ3hlaScnIHdhcyBpbnZlbnRlZCB0byBhdm9pZCBj b25mdXNpb24gd2l0aCAnJ3JlJycuCgpUaGUgYmFzZSBjYW4gYmUgZXhwbGljaXRseSBzdGF0ZWQg dXNpbmcgJydqdSd1Jyc6IEFueSBudW1iZXIgYmVmb3JlICcnanUndScnIHRoZSBudW1iZXIgYmVp bmcgc3Bva2VuIG9mLCBhbnkgbnVtYmVyIGFmdGVyIGlzIHRoZSBiYXNlIG9mIHRoZSBudW1iZXI6 CgonJ2RhdSBzbyBmZWkgbm8ganUndSBwYSByZScnIOKAkyBBOUIwIGluIGJhc2UgMTIgKG5vdGlj ZSBoZXJlIHRoYXQgYmFzZSAxMiBpcyBhbHdheXMgaW4gZGVjaW1hbC4gSXQgaXMgcG9zc2libGUg dG8gcGVybWFuZW50bHkgY2hhbmdlIHRoZSBiYXNlIHlvdSBzcGVhayBpbiwgYnV0IHNpbmNlIGl0 IGhhcyBuZXZlciBiZWVuIHVzZWQgaW4gcHJhY3RpY2UsIGl0IGhhcyBub3QgYmVlbiBzdGFuZGFy ZGl6ZWQgaG93IG9uZSBzaG91bGQgZG8gaXQpCgpGcmFjdGlvbnMgYXJlIGFsc28gdXNlZnVsIHRv IGxlYXJuIGhvdyB0byBleHByZXNzLiBUaGV5IGFyZSB1c3VhbGx5IGV4cHJlc3NlZCB2aWEgYSBk ZWNpbWFsIHBvaW50LCAnJ3BpJycuCgpfXycncGknJ19fIERlY2ltYWwgcG9pbnQgKG9yIHBvaW50 IGluIHdoaWNoZXZlciBiYXNlIHlvdSBhcmUgdGFsa2luZyBpbikKCicncGEgcmUgcGkgcmUgbXUn JyDigJMgdHdlbHZlIHBvaW50IHR3byBmaXZlICgxMi4yNSkuIAoKTGlrZSBpbiBtYXRoZW1hdGlj cywgd2hlbiBubyBudW1iZXIgc3RyaW5nIGlzIHBsYWNlZCBiZWZvcmUgb3IgYWZ0ZXIgJydwaScn LCB6ZXJvIGlzIGFzc3VtZWQuIAoKUmVsYXRlZCB0byB0aGlzLCB0aGUgbnVtYmVyIHNlcGFyYXRv ciAnJ3BpJ2UnJyBpcyB1c2VkIHRvIHNlcGFyYXRlIG51bWJlcnMsIGVpdGhlciB0byBzZXBhcmF0 ZSBkaWdpdHMgd2hlbiBzcGVha2luZyBpbiBhIGJhc2UgbGFyZ2VyIHRoYW4gc2l4dGVlbiwgb3Ig d2hlbiBhIGRlY2ltYWwgcG9pbnQgaXMgbm90IGFwcGxpY2FibGUsIGZvciBpbnN0YW5jZSwgd2hl biB0YWxraW5nIGFib3V0IHRpbWUgaW4gaG91cnMsIG1pbnV0ZXMsIHNlY29uZHM6CgonJ3BhIHNv IHBpJ2UgcmUgbXUgcGknZSBubyBqdSd1IHJlIHplJycg4oCTIE5pbmV0ZWVuLCB0d2VudHktZml2 ZSwgemVybyBpbiBiYXNlIDI3IChKUDAgYmFzZSAyNykKCicncmUgcmUgcGknZSB2byBiaScnIOKA kyB0d2VudHktdHdvLCBmb3VydHkgZWlnaHQgKDIyOjQ4KQoKCgpUaGVyZSBpcyBhbHNvIGEgcmFu Z2Ugb2YgbnVtYmVyIHdvcmRzIHdoaWNoIGFyZSBub3QgbWF0aGVtYXRpY2FsbHkgZXhhY3QgYnV0 IHJhdGhlciBzdWJqZWN0aXZlIG9yIHJlbGF0aXZlLiBUaGUgYmVoYXZpb3JzIG9mIHRoZXNlIHdv cmRzIGFyZSBhbG1vc3QgZXhhY3RseSBsaWtlIHRoZSBiZWhhdmlvciBvZiBkaWdpdHMsIGV4Y2Vw dCB0aGV5IGNhbm5vdCBiZSBjb21iaW5lZCB0byBtYWtlIGJpZ2dlciBudW1iZXJzIHRoZSB3YXkg ZGlnaXRzIGNhbjoKCnx8IHJvfHNvJ2F8c28nZXxzbydpfHNvJ298c28ndXwKCmFsbHxhbG1vc3Qg YWxsfG1vc3R8bWFueXxzb21lfGZld3x8CgpXaGVuIGNvbWJpbmVkIHdpdGggYW55IG9mIHRoZSBk aWdpdHMsIHRoZXNlIHdvcmRzIGFyZSBhc3N1bWVkIHRvIGdpdmUgYSBzZWNvbmQgdmVyZGljdCBh Ym91dCB0aGUgc2l6ZSBvZiB0aGUgbnVtYmVyOgoKJydtdSBiaSBzbydpIHNhaScnIOKAk0ZpZnR5 IGVpZ2h0LCB3aGljaCBpcyByZWFsbHkgbWFueS4KClRoZXkgc2hvdWxkIHRoZXJlZm9yZSBub3Qg YmUgcGxhY2VkIGluIHRoZSBtaWRkbGUgb2YgYSBudW1iZXIgc3RyaW5nLiBXaGVuIHBsYWNlZCBh ZnRlciAnJ3BpJycsIHRoZXkgYXJlIGFzc3VtZWQgdG8gY29udmV5IHRoZSBzaXplIG9mIGEgZnJh Y3Rpb246CgonJ3BpIHNvJ3UnJyDigJMgYSBzbWFsbCBwYXJ0IG9mIGl0CgonJ3BpIHNvJ28nJyDi gJMgc29tZSBvZiBpdCAKCicncGkgc28naScnIOKAkyBhIGxhcmdlIHBhcnQgb2YgaXQgCgonJ3Bp IHNvJ2UnJyDigJMgbW9zdCBvZiBpdAoKJydwaSBzbydhJycg4oCTIGFsbW9zdCBhbGwgb2YgaXQK CgoKVGhlc2UgYXJlIHNvbWUgaGlnaHRseSBzdWJqZWN0aXZlIG51bWJlcnMgLSB0aGV5IHdvcmsg anVzdCBsaWtlIHRoZSBwcmV2aW91cyBvbmVzLgoKfHxkdSdlfG1vJ2F8cmF1Cgp0b28gbWFueXx0 b28gZmV3fGVub3VnaHx8CgpUaGUgZm9sbG93aW5nIGZpdmUgYXJlIGNvbnRleHQtYmFzZWQgbnVt YmVycyDigJMgdGhlc2Ugd29yayBsaWtlIHRoZSBwcmV2aW91cyBvbmVzLCB3aXRoIHRoZSBleGNl cHRpb24gdGhhdCB0aGV5IHRha2UgdGhlIG5leHQgbnVtYmVyIGluIG9yZGVyIHRvIGFzc2lnbiB0 aGVtIG1lYW5pbmc6Cgp8fGRhJ2F8c3UnZXxzdSdvfHphJ3V8bWUnaQoKYWxsIGV4Y2VwdCBuIHxB dCBtb3N0IG58QXQgbGVhc3Qgbnxtb3JlIHRoYW4gbnxsZXNzIHRoYW4gbnx8CgpJZiBubyBudW1i ZXIgc3RyaW5nIGZvbGxvdyB0aGVtLCDigJxvbmXigJ0gaXMgYXNzdW1lZC4KCicnc28naSBwYSBy ZSBkYSdhIG11Jycg4oCTIE1hbnksIHdoaWNoIGlzIHR3ZWx2ZSwgd2hpY2ggaXMgYWxsIGJ1dCBm aXZlLgoKVGhlIHR3byBsYXN0IG51bWJlciB3b3JkcyB5b3Ugc2hvdWxkIGtub3cgaGF2ZSBzbGln aHRseSBtb3JlIGNvbXBsaWNhdGVkIGdyYW1tYXI6CgpfXycnamknaScnX18gLSBudW1iZXIgcm91 bmRpbmcgb3IgbnVtYmVyIGFwcHJveGltYXRpb24KCldoZW4gJydqaSdpJycgaXMgcGxhY2VkIGJl Zm9yZSBhIG51bWJlciwgdGhlIGVudGlyZSBudW1iZXIgaXMgYXBwcm94aW1hdGVkOgoKJydqaSdp IHplIHphJ3UgcmF1IGp1J28nJyDigJMgIkFib3V0IHNldmVudHksIHdoaWNoIGlzIG1vcmUgdGhh biBlbm91Z2gsIGNlcnRhaW5seeKAnQoKUGxhY2VkIGluIHRoZSBtaWRkbGUgb2YgdGhlIG51bWJl ciwgb25seSB0aGUgZm9sbG93aW5nIGRpZ2l0cyBhcmUgbm9uLWV4YWN0LiBBdCB0aGUgZW5kIG9m IGEgbnVtYmVyLCBpdCBzaWduaWZpZXMgdGhhdCB0aGUgbnVtYmVyIGhhcyBiZWVuIHJvdW5kZWQg b2ZmLiAKCl9fJydraSdvJydfXyBOdW1iZXIgY29tbWEgIC0gc2VwYXJhdGVzIGRpZ2l0cyB3aXRo aW4gb25lIHN0cmluZzsgVGhvdXNhbmRzLgoKSXQgaXMgbm90IGluY2lkZW50aWFsIHRoYXQgJydr aSdvJycgc291bmRzIGxpa2Ug4oCca2lsb+KAnS4gQXQgaXRzIHNpbXBsZXN0LCAnJ2tpJ28nJyBp cyB1c2VkIHRvIHNlcGFyYXRlIHRocmVlIGRpZ2l0cyBhdCBhIHRpbWUgaW4gbGFyZ2UgbnVtYmVy cywgbXVjaCBsaWtlIGNvbW1hcyBhcmUgdXNlZCBpbiBFbmdsaXNoOgoKJydwYSBraSdvIHNvIHNv IHNvIGtpJ28gYmkgeGEgemUnJyDigJMgMSw5OTksODY3CgpJZiBsZXNzIHRoYW4gdGhyZWUgZGln aXRzIGFyZSBwdXQgYmVmb3JlIGEgJydraSdvJycsIHRoZSBkaWdpdHMgYXJlIGFzc3VtZWQgdG8g YmUgdGhlIGxlYXN0IHNpZ25pZmljYW50IG9uZXMsIGFuZCB6ZXJvcyBhcmUgYXNzdW1lZCB0byBm aWxsIGluIHRoZSByZXN0OgoKJyd2byBraSdvIGNpIGJpIGtpJ28gcGEga2knbyBraSdvJycg4oCT IDQsMDM4LDAwMSwwMDAsMDAwCgonJ2tpJ28nJyBpcyB1c2VkIHNpbWlsYXJseSBhZnRlciBhIGRl Y2ltYWwgcG9pbnQuCgoKClRoYXQgY29uY2x1ZGVzIHRoZSBjb21tb24gTG9qYmFuIG51bWJlcnMg dGhlbXNlbHZlcy4gSG93IHRoZXkgYXBwbHkgdG8gc3VtdGkgaXMgYSBzY2llbmNlIGluIGl0c2Vs ZiwgYW5kIHdlIGxlYXZlIHRoYXQgZm9yIGxlc3NvbiB0d2VudHktdHdvLiBOb3cgd2UgZm9jdXMg b24gaG93IHRoZXNlIG51bWJlcnMgY2FuIGJlIHVzZWQgaW4gYSBicmlkaS4KCkEgc3RyaW5nIG9m IG51bWJlciB3b3JkcyBieSB0aGVtc2VsdmVzIGFyZSBncmFtbWF0aWNhbCwgc2luY2UgdGhleSBj YW4gYWN0IGFzIGFuIGFuc3dlciB0byBhICcneG8nJy10eXBlIG9mIHF1ZXN0aW9uLiBJbiB0aGlz IGNhc2UsIGhvd2V2ZXIsIHRoZXkgY2Fubm90IGJlIGNvbnNpZGVyZWQgcGFydCBvZiBhbnkgYnJp ZGkuIEluIGdlbmVyYWwsIGlmIG51bWJlcnMgZmlsbCBwYXJ0IG9mIGEgYnJpZGksIHRoZXkgZG8g c28gaW4gb25lIG9mIHR3byBmb3JtczogUHVyZSBudW1iZXJzIGFuZCBxdWFudGlmaWVycy4gV2Ug d2lsbCByZXR1cm4gdG8gcXVhbnRpZmllcnMgaW4gYSBsYXRlciBsZXNzb24uIEZvciBub3csIHdl IHdpbGwgbG9vayBhdCBwdXJlIG51bWJlcnMuCgpBIHB1cmUgbnVtYmVyIGlzIGFueSByb3cgb2Yg bnVtYmVyIHdvcmRzIHByZWZpeGVkIHdpdGggJydsaScnLiBUaGlzIG1ha2VzIGEgc3VtdGkgZGly ZWN0bHkgZnJvbSB0aGUgbnVtYmVyLCBhbmQgcmVmZXJzIHRvIHRoZSBtYXRoZW1hdGljYWwgY29u Y2VwdCBvZiwgZm9yIGluc3RhbmNlLCDigJx0aGUgbnVtYmVyIHNpeOKAnS4gSXRzIGZhJ29ybWEn byBpcyAnJ2xvJ28nJwoKX18nJ2xpJydfXyBjb252ZXJ0IG51bWJlci9tZWtzby1leHByZXNzaW9u IHRvIHN1bXRpLgoKX18nJ2xvJ28nJ19fIGZhJ29ybWEnbzogZW5kIGNvbnZlcnQgbnVtYmVyL21l a3NvLWV4cHJlc3Npb24gdG8gc3VtdGkuCgpUaGVzZSBwdXJlIHN1bXRpIGFyZSB1c3VhbGx5IHdo YXQgZmlsbHMgdGhlIHgyIG9mIGJyaXZsYSBzdWNoIGFzICcnbWl0cmUnJyBvciAnJ2NhY3JhJycK Cl9fJydtaXRyZScnX18geDEgaXMgeDIgbWV0cmVzIGluIGRpbWVuc2lvbiB4MyBieSBzdGFuZGFy ZCB4NAoKX18nJ2NhY3JhJydfXyB4MSBpcyB4MiBob3VycyBpbiBkdXJhdGlvbiAoZGVmYXVsdCAx KSBieSBzdGFuZGFyZCB4MwoKCgpUcnkgdG8gdHJhbnNsYXRlIHRoZSBmb2xsb3dpbmc6CgonJ2xl IHRhIG51IGNpbmppa2NhIGN1IGNhY3JhIGxpIGNpIGppJ2kgdSdpIG5haScnCgpBbnN3ZXI6IH5+ Z3JleSxncmV5OiDigJ0qc2lnaCogVGhhdCBmbGlydGluZyBoYXMgYmVlbiBnb2luZyBvbiBmb3Ig YXJvdW5kIHRocmVlIGhvdXJzLuKAnSB+fgoKSG93IGRvIHlvdSBjb3VudCB0byB0aHJlZSBpbiBM b2piYW4/CgpBbnN3ZXI6IH5+Z3JleSxncmV5OiAnJ2xpIHBhIGxpIHJlIGxpIGNpJycgfn4KCgoK VGhlIGxhc3QgdGhpbmcgd2UnbGwgZ28gdGhyb3VnaCBpbiB0aGlzIGxlc3NvbiBpcyB0aGUgd29y ZHMgb2YgdGhlIHNlbG1hJ28gTUFJIGFuZCB0aG9zZSBvZiBNT0kuCgpNQUkgb25seSBjb250YWlu cyB0d28gd29yZHMsICcnbWFpJycgYW5kICcnbW8nbycnLiBCb3RoIG9mIHRoZXNlIGNvbnZlcnQg YW55IG51bWJlciBzdHJpbmcgdG8gYW4gb3JkaW5hbCwgd2hpY2ggaGFzIHRoZSBncmFtbWFyIG9m IGF0dGl0dWRpbmFscy4gT3JkaW5hbHMgYXJlIHVzZWQgdG8gZGl2aWRlIGEgdGV4dCBpbnRvIG51 bWJlcmVkIHNlZ21lbnRzLCBsaWtlIGNoYXB0ZXJzIG9yIHBhcnRzLiBUaGUgb25seSBkaWZmZXJl bmNlIGJldHdlZW4gJydtYWknJyBhbmQgJydtbydvJycgaXMgdGhhdCAnJ21vJ28nJyBxdWFudGlm aWVzIGxhcmdlciBzdWJkaXZpc2lvbnMgb2YgdGV4dCwgYWxsb3dpbmcgeW91IHRvIGRpdmlkZSBh IHRleHQgb24gdHdvIGRpZmZlcmVudCBsZXZlbHMsIGZvciBleGFtcGxlIGVudW1lcmF0aW5nIGNo YXB0ZXJzIHdpdGggJydtbydvJycgYW5kIHNlY3Rpb25zIHdpdGggJydtYWknJy4gTm90aWNlIHRo YXQgdGhlc2UgYXMgd2VsbCBhcyB0aGUgTU9JIHRha2UgYW55IG51bWJlciBzdHJpbmcgZGlyZWN0 bHksIHdpdGhvdXQgYW55IG5lZWQgZm9yICcnbGknJy4KCl9fJydtYWknJ19fOiBMb3dlci1vcmRl ciBvcmRpbmFsIG1hcmtlcjogQ29udmVydCBudW1iZXIgdG8gb3JkaW5hbAoKX18nJ21vJ28nJ19f OiBIaWdoZXIgb3JkZXIgb3JkaW5hbCBtYXJrZXI6IENvbnZlcnQgbnVtYmVyIHRvIG9yZGluYWwu CgoKClRoZXJlIGFyZSBmaXZlIE1PSSwgYW5kIHRoZXkgYWxsIGNvbnZlcnQgYW55IG51bWJlciBz dHJpbmcgdG8gc2VsYnJpLiBXZSdsbCB0YWtlIHRoZW0gb25lIGF0IGEgdGltZToKCl9fJydtb2kn J19fIC0gQ29udmVydCBudW1iZXIgbiB0byBzZWxicmk6IHgxIGlzIHRoZSBuJ3RoIG1lbWJlciBv ZiBzZXQgeDIgYnkgb3JkZXIgeDMKCkV4YW1wbGU6ICcnbGEgbHV0Y2ltaW4gY2kgbW9pIGxvJ2kg bmlubXUgcGVuZG8gYmUgbWkgbGUgc3UndSBsbyBjbGFuaSB6bWFkdSBjdSBsaWRuZSBsbyBjbGFu aSBtbGVjYScnIOKAkyDigJxMdWktQ2hpIE1pbiBpcyB0aGlyZCBhbW9uZyBteSBmZW1hbGUgZnJp ZW5kcyBieSB0aGUgb3JkZXI6IFRoZSBtb3JlIHRhbGwgb25lcyBwcmVjZWRlcyB0aGUgbGVzcyB0 YWxsIG9uZXPigJ0uCgooV2hlbiBzcGVjaWZ5aW5nIGEgc2VxdWVuY2UsIGl0IGlzIHdpZGVseSB1 bmRlcnN0b29kIHRoYXQgaWYgYSAnJ2thJyctYWJzdHJhY3Rpb24gKGxlc3NvbiB0d2VudHktbmlu ZSkgaXMgdXNlZCBhcyBhIHN1bXRpLCB0aGUgbWVtYmVycyBvZiB0aGUgc2V0IGFyZSBvcmRlcmVk IGZyb20gdGhlIG9uZSB3aXRoIG1vc3Qgb2YgdGhlIHByb3BlcnR5IHRvIHRoZSBvbmUgd2l0aCBs ZXNzIG9mIHRoZSBwcm9wZXJ0eSwgc28gdGhlIHgzIG9mIHRoZSBmb2xsb3dpbmcgc2VudGVuY2Ug Y291bGQgaGF2ZSBiZWVuIHNob3J0ZW5lZCB0byAnJ2xvIGthIGNsYW5pJycpCgpfXycnbGlkbmUn J19fIHgxIGlzIGJlZm9yZSB4MiBpbiBzZXF1ZW5jZSB4MwoKX18nJ2NsYW5pJydfXyB4MSBpcyBs b25nIGluIGRpbWVuc2lvbiB4MiBieSBzdGFuZGFyZCB4MwoKX18nJ3ptYWR1JydfXyB4MSBleGNl ZWRzIHgyIGluIHByb3BlcnR5L2FzcGVjdCB4MyBieSBhbW91bnQgeDQKCl9fJydtbGVjYScnX18g eDEgaXMgbGVzcyB0aGFuL2lzIGxlc3MgY2hhcmFjdGVyaXplZCB0aGFuIHgyIGJ5IHByb3BlcnR5 L2FzcGVjdCB4MyBieSBhbW91bnQgeDQKCgoKX18nJ21laScnX18gLSBDb252ZXJ0IG51bWJlciBu IHRvIHNlbGJyaTogeDEgaXMgdGhlIG1hc3MgZm9ybWVkIGZyb20gdGhlIHNldCB4Miwgd2hpY2gg aGFzIHRoZSBuIG1lbWJlcnMgb2YgeDMKCk5vdGljZSBoZXJlIHRoYXQgeDMgYXJlIHN1cHBvc2Vk IHRvIGJlIGluZGl2aWR1YWxzLCB4MiBhIHNldCBhbmQgeDEgYSBtYXNzLgoKV2hhdCB3b3VsZCAn J21pIGNpIG1laScnIG1lYW4/IAoKQW53ZXI6IH5+Z3JleSxncmV5OuKAnFdlIGFyZSBncm91cCBv ZiB0aHJlZS7igJ1+fgoKCgpfXycnc2knZScnX18gLSBDb252ZXJ0IG51bWJlciBuIHRvIHNlbGJy aTogeDEgaXMgbiB0aW1lcyB4MgoKRXhhbXBsZTogJydsZSB2aSBwbGlzZSBjdSBtZSdpIHBpIHBh IHNpJ2UgbGVpIG1pIGNpZGphIGJlIHplJ2EgbG8gZGplZGknJyDigJMg4oCcVGhpcyBhcHBsZSBo ZXJlIGlzIGxlc3MgdGhhbiBvbmUgdGVudGggb2YgbXkgZm9vZCBmb3Igb25lIGRheeKAnQoKUGxl YXNlIG5vdGUgdGhhdCB0aGUgZGVmaW5pdGlvbiBvZiAnJ3NpJ2UnJyB3aGVuIGxvb2tlZCB1cCB3 aWxsIHRlbGwgeW91IHRoYXQgaXQncyAieDEgaXMgYW4gbnRoIG9mIHgyIiwgaW5zdGVhZCBvZiAi eDEgaXMgbiB0aW1lcyB4MiIuIEJ1dCBwZW9wbGUgb25seSB1c2UgaXQgYXMgSSBoYXZlIGRlZmlu ZWQgaXQsIHNvIHRoZSBkZWZpbml0aW9uIGluIHRoZSBkaWN0aW9uYXJpZXMgd2lsbCBwcm9iYWJs eSBjaGFuZ2UuCgoKCl9fJydjdSdvJydfXyAtIENvbnZlcnQgbnVtYmVyIG4gdG8gc2VsYnJpOiB4 MSBoYXMgbiBwcm9iYWJpbGl0eSBvZiBvY2N1cnJpbmcgdW5kZXIgY29uZGl0aW9ucyB4MgoKRXhh bXBsZTogJydsbyBudSBtaSBtcm9iaSdvIGN1IHBhIGN1J28gbG8gbnUgbWkgZGVucGEgcmknJyDi gJMg4oCdQW4gZXZlbnQgb2YgbWUgZHlpbmcgaGFzIHByb2JhYmlsaXR5IDEgdW5kZXIgdGhlIGNv bmRpdGlvbnM6IEkgd2FpdCBmb3IgaXTigJ0gPSDigJ1NZSBkeWluZyBpcyBjb21wbGV0ZWx5IGNl cnRhaW4gaWYgSSB3YWl0IGxvbmcgZW5vdWdoLuKAnQoKX18nJ2RlbnBhJydfXyB4MSB3YWl0cyBm b3IgeDIsIGJlaW5nIGluIHN0YXRlIHgzIHVudGlsIHJlc3VtaW5nL2RvaW5nIHg0CgpfXycndmEn ZScnX18gLSBDb252ZXJ0IG51bWJlciBuIHRvIHNlbGJyaTogeDEgaXMgYXQgdGhlIG4ndGggcG9z aXRpb24gb24gdGhlIHNjYWxlIHgyCgpFeGFtcGxlOiAnJ2xpIHBhIG5vIGN1IHJvIHZhJ2UgbGEg dG9yaW5vbicnIOKAkyDigJwxMCBpcyB0aGUgaGlnaGVzdCB2YWx1ZSBvbiB0aGUgVG9yaW5vLXNj YWxl4oCdCgoKCgoKISFMb2piYW4gTGVzc29ucyAtIExlc3NvbiB0d2VudHkgKGJvLCBrZSwgY28g YW5kIG1vcmUgY3V0ZW5lc3MpCgpTYXkgeW91J3JlIGFuIGltcG9ydGFudCBBbWVyaWNhbiBidXll ciBvZiBjb21wdXRlcnMuIEhvdyBkbyB5b3UgZXhwcmVzcyB0aGlzPyBGb3IgY29uc3RydWN0cyBs aWtlIHRoZXNlLCB0YW5ydSBhcmUgaWRlYWw6ICcnbWkgdmFqbmkgbWVya28gc2thbWkgdGUgdmVj bnUnJy4gTm8gd2FpdCwgdGhhdCdzIG5vdCByaWdodC4gVGFucnUgYXJlIGdyb3VwZWQgZnJvbSBs ZWZ0IHRvIHJpZ2h0LCBzbyB0aGlzIHRhbnJ1IGlzIHVuZGVyc3Rvb2Q6ICgoJyd2YWpuaSBtZXJr bycnKSAnJ3NrYW1pJycpICcndGUgdmVjbnUnJywgYSBidXllciBvZiBjb21wdXRlcnMgZm9yIGlt cG9ydGFudCBBbWVyaWNhbnMuIFlvdSBjYW4ndCBjaGFuZ2UgdGhlIG9yZGVyIG9mIHRoZSBzZWxi cmkgdG8gZ2V0IGEgdXNlZnVsIHRhbnJ1LiBOZWl0aGVyIGNhbiB0aGlzIGJlIHNvbHZlZCB3aXRo IGxvZ2ljYWwgY29ubmVjdGl2ZXMsIHdoaWNoIHlvdSB3aWxsIGZpcnN0IGxlYXJuIGFib3V0IGxh dGVyIGFueXdheS4gVGhlIG9ubHkgd2F5IHRvIG1ha2UgYSBmaXR0aW5nIHRhbnJ1IGlzIHRvIGZv cmNlIHRoZSBzZWxicmkgdG8gZ3JvdXAgZGlmZmVyZW50bHkuCgoKClRvIGJpbmQgdHdvIHNlbGJy aSBjbG9zZSB0b2dldGhlciBpbiBhIHRhbnJ1LCB0aGUgd29yZCAnJ2JvJycgY2FuIGJlIHBsYWNl ZCBiZXR3ZWVuIHRoZW06ICcnbWkgdmFqbmkgYm8gbWVya28gc2thbWkgYm8gdGUgdmVjbnUnJyBp cyByZWFkICcnbWknJyAoJyd2YWpuaSBibyBtZXJrbycnKSAoJydza2FtaSBibyB0ZSB2ZWNudScn KSwgd2hpY2ggaXMgdXNlZnVsIGluIHRoaXMgY29udGV4dC4gSWYgYm8gaXMgcGxhY2VkIGJldHdl ZW4gc2V2ZXJhbCBzZWxicmkgaW4gYSByb3csIHRoZXkgYXJlIGdyb3VwZWQgZnJvbSByaWdodCB0 byBsZWZ0IGluc3RlYWQgb2YgdGhlIHVzdWFsIGxlZnQgdG8gcmlnaHQ6ICcnbWkgdmFqbmkgbWVy a28gYm8gc2thbWkgYm8gdGUgdmVjbnUnJyBpcyByZWFkICcndmFqbmknJyAoJydtZXJrbyBibycn ICgnJ3NrYW1pIGJvIHRlIHZlY251JycpKSBhbiDigJxpbXBvcnRhbnQgKEFtZXJpY2FuIGNvbXB1 dGVyLWJ1eWVyKeKAnSwgd2hpY2ggaXMgZXZlbiBtb3JlIGFwcHJvcHJpYXRlIGluIHRoZSBzaXR1 YXRpb24uCgpfXycnYm8nJ19fIEJpbmRzIHR3byBzZWxicmkgdG9nZXRoZXIgc3Ryb25nbHkuCgoK CkhvdyB3b3VsZCB5b3Ugc2F5IOKAnFRoYXQncyBhIHRhc3R5IHllbGxvdyBhcHBsZeKAnT8KCl9f JydrdWt0ZScnX18geDEgaXMgdGFzdHkgZm9yIHgyCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6Jyd0 aSBrdWt0ZSBwZWx4dSBibyBwbGlzZScnfn4KCgoKV2hhdCBhYm91dCDigJ1UaGF0J3MgYSBiaWcs IHRhc3R5IHllbGxvdyBhcHBsZeKAnQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicndGkgYmFyZGEg a3VrdGUgYm8gcGVseHUgYm8gcGxpc2UnJ35+CgoKCkFub3RoZXIgYXBwcm9hY2ggdG8gdGhpcyBp cyB0byB1c2UgdGhlIHdvcmRzICcna2XigKZrZSdlJycuIFRoZXNlIGNhbiBiZSBjb25zaWRlcmVk IGFzIGVxdWl2YWxlbnQgdG8gdGhlIHBhcmVudGhlc2lzZXMgdXNlZCBpbiB0aGUgcGFyYWdyYXBo IGFib3ZlLiAnJ2tlJycgYmVnaW5zIHN0cm9uZyBzZWxicmkgZ3JvdXBpbmcsICcna2UnZScnIGVu ZHMgaXQuCgpfXycna2UnJ19fIOKAkyBiZWdpbiBzdHJvbmcgc2VsYnJpIGdyb3VwaW5nLgoKX18n J2tlJ2UnJ19fIOKAkyBlbmQgc3Ryb25nIHNlbGJyaSBncm91cGluZy4KClRoZSBzdHJlbmd0aCBv ZiB0aGUgYmluZGluZyBpcyB0aGUgc2FtZSBhcyB0aGF0IG9mICcnYm8nJy4gVGhlcmVmb3JlLCAn J21pIHZham5pIG1lcmtvIGJvIHNrYW1pIGJvIHRlIHZlY251JycgY2FuIGJlIHdyaXR0ZW4gJydt aSB2YWpuaSBrZSBtZXJrbyBrZSBza2FtaSB0ZSB2ZWNudSB7a2UnZX0ge2tlJ2V9JycuCgpIb3cg Y291bGQgeW91IHNheSDigJxJJ20gYSBHZXJtYW4gc2VsbGVyIG9mIHllbGxvdyBob21lcz/igJ0K CgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ21pIGRvdGNvIGtlIHBlbHh1IHpkYW5pIHZlY251Jyd+ fgoKCgpXaGlsZSB3ZSdyZSBhdCBtZXNzaW5nIHdpdGggdGhlIG9yZGluYXJ5IHRhbnJ1IHN0cnVj dHVyZSwgdGhlcmUgaXMgYW5vdGhlciB3b3JkIHdvcnRoIHBheWluZyBhdHRlbnRpb24gdG8uIElm IEkgd2FudCB0byBzYXkgdGhhdCBJJ20gYSBwcm9mZXNzaW9uYWwgdHJhbnNsYXRvciwgSSBjb3Vs ZCBzYXkgJydtaSBmYW52YSBzZSBqaWJyaScnLgoKX18nJ2ppYnJpJydfXyB4MSBpcyBhIGpvYiBv ZiB4MgoKX18nJ2RvdHliYXUnJ19fIHgxIGlzIEdlcm1hbiB1c2VkIGJ5IHgyIHRvIHNheSB4MwoK X18nJ2dsaWJhdScnX18geDEgaXMgRW5nbGlzaCB1c2VkIGJ5IHgyIHRvIHNheSB4MwoKSWYgSSB3 YW50ZWQgdG8gc2F5IHRoYXQgSSdtIGEgcHJvZmVzc2lvbmFsIHRyYW5zbGF0ZXIgZnJvbSBFbmds aXNoIHRvIEdlcm1hbiwgSSdkIGhhdmUgdG8gbWVzcyBhcm91bmQgd2l0aCAnJ2JlJycgYW5kICcn YmVpJyc6ICcnbWkgZmFudmEgYmUgbGUgZG90eWJhdSBiZWkgbGUgZ2xpYmF1IGJlJ28gc2Ugamli cmknJywgYW5kIHRoZSBmYWN0IHRoYXQgaXQgd2FzIGEgdGFucnUgY291bGQgcXVpY2tseSBiZSBs b3N0IGluIHNwZWVjaCBkdWUgdG8gdGhlIGNvbXBsaWNhdGVkIHN0cnVjdHVyZSBvZiB0aGUgc2Vu dGVuY2UuIEhlcmUsIHdlIGNhbiB1c2UgdGhlIHdvcmQgJydjbycnLiBpdCBpbnZlcnRzIHRoZSB0 YW5ydSwgbWFraW5nIHRoZSByaWdodG1vc3Qgc2VsYnJpIG1vZGlmeSB0aGUgbGVmdG1vc3QgaW5z dGVhZCBvZiB0aGUgb3RoZXIgd2F5IGFyb3VuZDoKCicnbWkgc2UgamlicmkgY28gZmFudmEgbGUg ZG90eWJhdSBsZSBnbGliYXUnJyBpcyB0aGUgc2FtZSBicmlkaSBhcyB0aGUgcHJldmlvdXMgTG9q YmFuIG9uZSwgYnV0IG11Y2ggbW9yZSBlYXN5IHRvIHVuZGVyc3RhbmQuIE5vdGljZSB0aGF0IGFu eSBzdW10aSBiZWZvcmUgdGhlIHRhbnJ1IGZpbGxzICcnc2UgamlicmknJywgd2hpbGUgYW55IGZv bGxvd2luZyBpdCBvbmx5IGZpbGxzIHRoZSBtb2RpZnlpbmcgc2VsYnJpOiAnJ2ZhbnZhJycuCgpf XycnY28nJ19fIEludmVydCB0YW5ydS4gQW55IHByZXZpb3VzIHN1bXRpIGZpbGwgdGhlIG1vZGlm aWVkLCBhbnkgZm9sbG93aW5nIGZpbGwgdGhlIG1vZGlmaWVyLgoKCgpUaGUgc3RyZW5ndGggYnkg d2hpY2ggdHdvIHNlbGJyaSBhcmUgYm91bmQgdG9nZXRoZXIgd2l0aCBjbyBpcyB2ZXJ5IHdlYWsg 4oCTIGV2ZW4gd2Vha2VyIHRoYW4gbm9ybWFsIHRhbnJ1IGdyb3VwaW5nIHdpdGhvdXQgYW55IGdy b3VwaW5nIHdvcmRzLiBUaGlzIG1ha2VzIHN1cmUgdGhhdCwgaW4gYSBjby1jb25zdHJ1Y3QsIHRo ZSBsZWZ0bW9zdCBzZWxicmkgaXMgYWx3YXlzIHRoZSBzZWxicmkgYmVpbmcgbW9kaWZpZWQsIGFu ZCB0aGUgcmlnaHRtb3N0IGFsd2F5cyBtb2RpZmllcywgZXZlbiBpZiBhbnkgb2YgdGhvc2UgcGFy dHMgYXJlIHRhbnJ1LiBUaGlzIG1ha2VzIGEgY28tY29uc3RydWN0IGVhc3kgdG8gcGFyc2U6Cgon J3RpIHBlbHh1IHBsaXNlIGNvIGt1a3RlJycgaXMgcmVhZCAnJ3RpJycgKCcncGVseHUgcGxpc2Un JykgJydjbyBrdWt0ZScnLCB3aGljaCBpcyB0aGUgc2FtZSBhcyAnJ3RpIGt1a3RlIHBlbHh1IGJv IHBsaXNlJycuIFRoaXMgYWxzbyBtZWFucyB0aGF0IGEgJydrZeKApmtlJ2UnJyBjYW5ub3QgZW5j b21wYXNzIGEgJydjbycnLgoKVGhlIGNtYXZvIG9mIHRoZSBzZWxtYSdvIEdJaEEsIHRoZSBicmlk aS10YWlsIGFmdGVydGhvdWdodCBsb2dpY2FsIGNvbm5lY3RpdmVzLCBob3dldmVyLCBiaW5kcyBl dmVuIGxvb3NlciB0aGFuICcnY28nJy4gVGhpcyBpcyBpbiBvcmRlciB0byB0b3RhbGx5IGF2b2lk IGNvbmZ1c2lvbiBhYm91dCB3aGljaCBzZWxicmkgYmluZHMgdG8gd2hpY2ggaW4gYSBHSWhBLWNv bnN0cnVjdC4gVGhlIGFuc3dlciBpcyBzaW1wbGU6IFRoZSBHSWhBIG5ldmVyIGVtY29tcGFzc2Vz IGFueSBzZWxicmktZ3JvdXBzLgoKCgpIb3cgY2FuIHlvdSBleHByZXNzIOKAnUkgYW0gYW4gaW1w b3J0YW50IEFtZXJpY2FuIGJ1eWVyIG9mIGNvbXB1dGVyc+KAnSB1c2luZyBhICcnY28nJz8KCgoK QW5zd2VyOiB+fmdyZXksZ3JleTonJ21pIHNrYW1pIHRlIHZlY251IGNvIHZham5pIG1lcmtvJyd+ fgoKCgpJZiBpdCdzIG9mIGFueSB1c2UsIHRoaXMgaXMgdGhlIGxpc3Qgb2YgZGlmZmVyZW50IGtp bmQgb2Ygc2VsYnJpIGdyb3VwZXJzIHJhbmtlZCBieSBzdHJlbmd0aDoKCgoKMS4gICAgJydibycn IGFuZCAnJ2tlLi5rZSdlJycKCgoKMi4gICAgbG9naWNhbCBjb25uZWN0aXZlcyBvdGhlciB0aGFu IGJyaWRpLXRhaWwgYWZ0ZXJ0aG91Z2h0IGxvZ2ljYWwgY29ubmVjdGl2ZXMgKGV4cGxhaW5lZCBp biBsZXNzb24gdHdlbnR5LWZpdmUpCgoKCjMuICAgIG5vIGdyb3VwaW5nIHdvcmRzCgoKCjQuICAg ICcnY28nJwoKCgo1LiAgICBicmlkaS10YWlsIGFmdGVydGhvdWdodCBsb2dpY2FsIGNvbm5lY3Rp dmVzIChhbHNvIGluIGxlc3NvbiB0d2VudHktZml2ZSkKCgoKVGhlIHJlc3Qgb2YgdGhpcyBsZXNz b24gd2lsbCBub3QgYmUgb24gc2VsYnJpIGdyb3VwaW5nLCBidXQgbXVjaCBsaWtlIGxlc3NvbiBz ZXZlbnRlZW4gbWVudGlvbiBhc3NvcnRlZCB3b3Jkcywgd2hpY2ggY2FuIGJlIG9mIHVzZS4KCgoK JydibycnIGhhcyBhbm90aGVyIHVzZSwgd2hpY2ggc2VlbXMgc2VwYXJhdGUgZnJvbSBzZWxicmkg Z3JvdXBpbmc6IEl0IGNhbiBhbHNvIGJpbmQgYSBzdW10Y2l0YSB0byBhbiBlbnRpcmUgYnJpZGks IHNvIHRoYXQgdGhlIGNvbnRlbnQgb2YgdGhlIHN1bXRjaXRhIGlzIG5vdCBhIHN1bXRpLCBidXQg dGhlIGZvbGxvd2luZyBicmlkaS4gVGhpcyBpcyBiZXN0IGV4cGxhaW5lZCB3aXRoIGFuIGV4YW1w bGUuCgpfXycneGVibmknJ19fIHgxIGhhdGVzIHgyCgonJ21pIGRhcnhpIGRvIC5pIG11J2kgYm8g bWkgZG8geGVibmknJyDigJMg4oCcSSBoaXQgeW91LCB3aXRoIG1vdGl2YXRpb24gdGhhdCBJIGhh dGUgeW91LuKAnSBIZXJlIHRoZSAnJ2JvJycgYmluZHMgJydtdSdpJycgdG8gdGhlIGZvbGxvd2lu ZyBicmlkaS4KClRoaXMgaXMgd2hlcmUgdGhlIHRlY2huaWNhbCBkaWZmZXJlbmNlIGJldHdlZW4g dGVuc2Ugc3VtdGNpdGEgYW5kIG90aGVyIHN1bXRjaXRhIGlzIHJlbGV2YW50LiBZb3Ugc2VlLCB3 aGVuIGJpbmRpbmcgYSBub3JtYWwgc3VtdGNpdGEgdG8gYSBicmlkaSB3aXRoICcnYm8nJywgaXQg bWVhbnMgdGhhdCB0aGUgZm9sbG93aW5nIGJyaWRpIHNvbWVob3cgZml0cyBpbnRvIHRoZSBzdW10 aSBwbGFjZSBvZiB0aGUgc3VtdGNpdGEuIEZvciB0aGUgcmVhc29uIG9mIEdvZCBLbm93cyBXaHks IGJpbmRpbmcgb25lIG9mIHRoZSB3b3JkcyAnJ2JhJycgb3IgJydwdScnIHRvIGEgYnJpZGkgaGFz IHRoZSBleGFjdCBvcHBvc2l0ZSBlZmZlY3QuIEZvciBleGFtcGxlLCBpbiB0aGUgYnJpZGkgJydt aSBkYXJ4aSBkbyAuaSBiYSBibyBkbyBjaW5qaWtjYScnLCBvbmUgd291bGQgYXNzdW1lIHRoYXQg dGhlIHNlY29uZCBicmlkaSBpcyBzb21laG93IGZpbGxlZCBpbnRvIHRoZSBzdW10aSBwbGFjZSBv ZiAnJ2JhJycsIG1lYW5pbmcgdGhhdCB0aGUgYnJpZGkgZmlyc3QgdXR0ZXJlZCB0b29rIHBsYWNl IGluIHRoZSBmdXR1cmUgb2YgdGhlIHNlY29uZCBicmlkaS4gVGhhdCdzIG5vdCB0aGUgY2FzZSwg aG93ZXZlciwgYW5kIHRoZSBjb3JyZWN0IHRyYW5zbGF0aW9uIG9mIHRoYXQgdXR0ZXJhbmNlIHdv dWxkIGJlICJJIGhpdCB5b3UuIEFmdGVyd2FyZHMsIHlvdSBmbGlydCIuIFRoaXMgd2VpcmQgcnVs ZSBpcyBhY3R1YWxseSBvbmUgb2YgdGhlIG1haW4gb2JzdGFjbGVzIHRvIGEgdW5pZmljYXRpb24g b2YgYWxsIHN1bXRjaXRhIGludG8gb25lIHNpbmdsZSB3b3JkIGNsYXNzLiBBbm90aGVyIGRpZmZl cmVuY2UgaXMgdGhhdCB0ZW5zZS1zdW10Y2l0YSBjYW4gYmUgZWxpZGVkLCBldmVuIHRob3VnaCB0 aGV5IGFwcGx5LiBUaGlzIHJ1bGUgbWFrZXMgbW9yZSBzZW5zZSwgc2luY2Ugd2Ugb2Z0ZW4gY2Fu IGFzc3VtZSBicmlkaSBpcyBwbGFjZWQgaW4gYSB0aW1lIGFuZCBzcGFjZSwgYnV0IHdlIGNhbid0 IGFzc3VtZSB0aGF0IHRoZSBzdW10Y2l0YSBvZiBCQUkgYXBwbGllcy4KCgoKVGhlIHVub2ZmaWNp YWwgd29yZCAnJ21lJ29pJycgaXMgZXF1aXZhbGVudCB0byBtZSBsYSdlICcnem8nb2knJywgd2hp Y2ggbWVhbnMgdGhhdCBpdCBjb252ZXJ0cyB0aGUgY29udGVudCBvZiB0aGUgbmV4dCB3b3JkIGlu dG8gYSBzZWxicmkuIEl0IGlzIHVzZWQgdG8gaW52ZW50IGJyaXZsYSBvbiB0aGUgZmx5OiAnJ21p IGNhIHpnYW5hIGxhIG1lJ29pIFgtZmlsZXMnJyBmb3Ig4oCcSSBub3cgd2F0Y2ggWC1maWxlc+KA nS4gTGlrZSBhbGwgcXVvdGUgbmV4dCB3b3JkLWNtYXZvLCBpdCBpcyBub3Qgc3VwcG9ydGVkIGJ5 IHRoZSBvZmZpY2lhbCBncmFtbWFyLCBidXQgdG8gdGhlIGxhenkgTG9qYmFuaXN0LCBpdCdzIGlu dmFsdWFibGUuCgoKClRoZSB3b3JkICcnZ2knJyBpcyBzdHJhZ2Uga2luZCBvZiBicmlkaSBzZXBh cmF0b3IsIGFuYWxvZ291cyB0byAnJy5pJycsIGJ1dCB0byBteSBrbm93bGVkZ2UsIGl0IGlzIHVz ZWQgaW4gb25seSB0d28gZGlmZmVyZW50IGtpbmRzIG9mIGNvbnN0cnVjdHM6IE1vc3Qgb2Z0ZW4g d2l0aCBsb2dpY2FsIGNvbm5lY3RpdmVzLCBleHBsYWluZWQgaW4gbGVzc29uIHR3ZW50eS1maXZl LCBidXQgYWxzbyB3aXRoIHN1bXRjaXRhLiBXaXRoIHN1bXRjaXRhIGl0IGNyZWF0ZXMgYSB1c2Vm dWwsIGJ1dCBoYXJkbHkgc2VlbiwgY29uc3RydWN0OgoKJydtdSdpIGdpIEJSSURJLTEgZ2kgQlJJ REktMicnLCB3aGljaCBpcyBlcXVpdmFsZW50IHRvICcnQlJJREktMiAuaSBtdSdpIGJvIEJSSURJ LTEnJy4gVGhlcmVmb3JlLCB0aGUgZXhhbXBsZSBhYm92ZSwgd2hpY2ggZXhwbGFpbmVkIHdoeSBJ IGhpdCB5b3UsIGNhbiBiZSB3cml0dGVuICcnbXUnaSBnaSBtaSB4ZWJuaSBkbyBnaSBtaSBkYXJ4 aSBkbycnLCBvciB0byBwcmVzZXJ2ZSB0aGUgc2FtZSBvcmRlciBhcyB0aGUgb3JpZ2luYWwgc2Vu dGVuY2UsIHdlIGNhbiBjb252ZXJ0ICcnbXUnaScnIHdpdGggJydzZScnOiAnJ3NlIG11J2kgZ2kg bWkgZGFyeGkgZG8gZ2kgbWkgeGVibmkgZG8nJy4KCkl0IGlzIGluIGV4YW1wbGVzIGxpa2UgdGhp cyB0aGF0ICcnZ2knJyByZWFsbHkgY2FuIHNob3cgaXRzIHZlcnNhdGlsaXR5LiBJdCBkb2VzIG5v dCBqdXN0IHNlcGFyYXRlIHR3byBicmlkaSBsaWtlICcnLmknJyBkb2VzLCBidXQgY2FuIGFsc28g c2VwYXJhdGUgdHdvIGNvbnN0cnVjdHMgd2l0aGluIGEgYnJpZGksIG1ha2luZyBhbGwgY29uc3Ry dWN0cyBvdXRzaWRlIHRoZSBzY29wZSBvZiAnJ2dpJycgYXBwbHkgdG8gYm90aCBicmlkaSwgYXMg dGhpcyBleGFtcGxlIGRlbW9uc3RyYXRlczoKCl9fJydjaW5iYScnX18geDEga2lzc2VzIHgyIGF0 IGxvY3VzIHgzCgoKCicnbWkgZ2kgcHJhbWkgZG8gZ2kgY2luYmEgZG8nJyBsZWF2ZXMgbWkgb3V0 c2lkZSB0aGUgY29uc3RydWN0LCBtYWtpbmcgaXQgYXBwbHkgdG8gYm90aCBicmlkaS4gVGhpcyBj YW4gYWxzbyBiZSBkb25lIHdpdGggJydkbycnLCB3aGljaCBpcyBhbHNvIHByZXNlbnQgaW4gYnJv dGggYnJpZGk6ICcnbWkgZ2kgcHJhbWkgZ2kgY2luYmEgdmF1IGRvJycuIE5vdGUgdGhhdCAnJ3Zh dScnIGlzIG5lZWRlZCB0byBtYWtlIGRvIGFwcGVhciBvdXRzaWRlIHRoZSBzZWNvbmQgYnJpZGku CgoKClRodXMsIHdlIGNhbiB3cml0ZSB0aGUgb3JpZ2luYWwgc2VudGVuY2Ugc2hvcnRlcjogJydt aSBtdSdpIGdpIHhlYm5pIGdpIGRhcnhpIHZhdSBkbycnLCBvciwgdG8gb21pdCBldmVuIHRoZSAn J3ZhdScnLCB3ZSBjYW4gd3JpdGUgaXQgZXZlbiBzaG9ydGVyIGFuZCBtb3JlIGVsZWdhbnRseTog JydtaSBkbyBtdSdpIGdpIHhlYm5pIGdpIGRhcnhpJycKCgoKCgohIUxvamJhbiBMZXNzb25zIC0g TGVzc29uIHR3ZW50eS1vbmUgKENPSSkKCkluIHRoaXMgbGVzc29uLCB5b3Ugd2lsbCBmYW1pbGlh cml6ZSB5b3Vyc2VsZiB3aXRoIHZvY2F0aXZlcywgb3IgJydtYSdvaSBjb2knJy4gVGhleSBnZXQg dGhlaXIgb3duIGxlc3Nvbiwgbm90IGJlY2F1c2UgdW5kZXJzdGFuZGluZyB0aGVzZSBwcm92aWRl cyBhIGJhc2lzIGZvciB1bmRlcnN0YW5kaW5nIExvamJhbiBncmFtbWFyIGluIGdlbmVyYWwsIG9y IGJlY2F1c2UgdGhleSBhcmUgaGFyZCB0byB1bmRlcnN0YW5kLCBidXQgcmF0aGVyIGJlY2F1c2Ug dGhleSBhcmUgdmVyeSBvZnRlbiB1c2VkIGluIGNhc3VhbCBzcGVlY2gsIGFuZCB0aGVyZSBhcmUg YSBsb3Qgb2YgdGhlbS4KCkEgdm9jYXRpdmUgaXMgdXNlZCBwYXJ0bHkgdG8gZGVmaW5lIHdobyAn J2RvJycgcmVmZXJzIHRvLiBJZiB0aGUgdm9jYXRpdmUgaXMgZm9sbG93ZWQgYnkgYSBjbWV2bGEs IHRoZSBjbWV2bGEgZ2V0cyBhbiBpbXBsaWVkIGxhIGluIGZyb250IG9mIGl0LiBJZiBhIHNlbGJy aSBmb2xsb3dzLCBhICcnbGUnJyBpcyB1c2VkIGFzIGEgZ2FkcmkgaW5zdGVhZC4KCkluIHRoZXNl IGV4YW1wbGVzLCBJIHdpbGwgdXNlIHRoZSB2b2NhdGl2ZSAnJ2NvaScnLCB3aXRoIG1lYW5zIOKA nEhp4oCdIG9yIOKAnEhlbGxv4oCdLgoKSWYgYSBwZXJzb24gaXMgY2FsbGVkICcnbGEgKyBTRUxC UkknJywgdXNpbmcgYSB2b2NhdGl2ZSB3aXRoIG9ubHkgdGhlIHNlbGJyaSB0byBhZGRyZXNzIHRo YXQgcGVyc29uIHdpbGwgbWVhbiB5b3UgcmVmZXIgdG8gaGVyIGFzIGFjdHVhbGx5IGJlaW5nIHRo ZSB4MSBvZiB0aGF0IHNlbGJyaSwgd2hpY2ggaXMgb2Z0ZW4gd3JvbmcuIElmLCBmb3IgaW5zdGFu Y2UsIGEgcGVyc29uIGlzIGNhbGxlZCAnJ2xhIHRzYW5pJycsIOKAnFNreeKAnSwgc2F5aW5nICcn Y29pIHRzYW5pJycgcmVmZXJzIHRvIGhlciBhcyBhICcnbGUgdHNhbmknJywgbWVhbmluZyDigJxI aSwgeW91IHNreeKAnSwgd2hpbGUgJydjb2kgbGEgdHNhbmkgY29ycmVjdGx5JycgcmVmZXJzIHRv IGhlciBhcyBzb21lb25lIGNhbGxlZCAiU2t5IiwgbWVhbmluZyDigJxIaSBTa3nigJ0uIFRoaXMg aXMgYSBmcmVxdWVudCBtaXN0YWtlLCBlc3BlY2lhbGx5IGFtb25nIG5ldyBMb2piYW5pc3RzLgoK QWxsIHZvY2F0aXZlcyBoYXZlIGEgZmEnb3JtYSdvIHdoaWNoIGlzIHNvbWV0aW1lcyByZXF1aXJl ZC4gVGhpcyBpcyAnJ2RvJ3UnJy4gSXQncyBtb3N0bHkgdXNlZCBpZiBib3RoIHRoZSBmaXJzdCB3 b3JkIGFmdGVyIHRoZSB2b2NhdGl2ZSBwaHJhc2UgYW5kIHRoZSBsYXN0IHdvcmQgb2YgdGhlIHBo cmFzZSBpcyBhIHNlbGJyaSwgc28gdGhhdCBpdCBwcmV2ZW50cyBmb3JtaW5nIGEgdGFucnU6CgoK Cl9fJydkbyd1JydfXyBFbmQgdm9jYXRpdmUgcGhyYXNlLiBVc3VhbGx5IGVsaWRhYmxlLgoKX18n J2tsYWt1JydfXyB4MSBjcmllcyB4MiAodGVhcnMpIGZvciByZWFzb24geDMKCicnY29pIGxhIGds ZWtpIGRvJ3Uga2xha3UgZmkgbWEnJyDigJ1IZWxsbyBIYXBweS4gV2h5IGNyeT/igJ0KCgoKVGhl IGdlbmVyaWMgdm9jYXRpdmUsICcnZG9pJycsIGRvZXMgbm90aGluZyBleGNlcHQgZGVmaW5pbmcg d2hvIGlzIGJlaW5nIHJlZmVycmVkIHRvIGJ5ICcnZG8nJzoKCicnZG9pIC5lcm5zdC4geHUgZG8g ZG90Y28gbWVya28nJyDigJxFcm5zdDogQXJlIHlvdSBhIEdlcm1hbi1BbWVyaWNhbj/igJ0KCgoK QWxsIHRoZSBvdGhlciB2b2NhdGl2ZXMgaGF2ZSBzb21lIGNvbnRlbnQgYmVzaWRlIGRlZmluaW5n ICcnZG8nJy4gJydjb2knJywgd2hpY2ggeW91IGtub3csIGFsc28gbWVhbnMg4oCcSGVsbG/igJ0s IGZvciBleGFtcGxlLiBNYW55IG9mIHRoZSB2b2NhdGl2ZXMgaGF2ZSB0d28gb3IgdGhyZWUgZGVm aW5pdGlvbnMgbGlrZSB0aGUgYXR0aXR1ZGluYWxzLiBMaWtlIGF0dGl0dWRpbmFscywgdGhpcyBp cyBiZWNhdXNlIHRoZXkgY2FuIGJlIG1vZGlmaWVkIHdpdGggJydjdSdpJycgYW5kICcnbmFpJycs IHRob3VnaCBvbmx5IG9uZSB2b2NhdGl2ZSBoYXMgdGhlICcnY3UnaScnLWZvcm0gZGVmaW5lZC4K ClNvbWUgaW1wb3J0YW50IHZvY2F0aXZlcyBhcmUgbGlzdGVkIGluIHRoZSB0YWJsZSBiZWxvdy4g VGhlcmUgYXJlIG90aGVycywgYnV0IHRob3NlIGFyZSBub3QgdXNlZCBtdWNoLgoKfHx2b2NhdGl2 ZXxXaXRob3V0IHN1ZmZpeHwtY3UnaXwtbmFpCgpjb2l8SGVsbG98LXwtCgpjbydvfEdvb2RieWUJ fC18LQoKamUnZXxVbmRlcnN0b29kIC8gT0t8LXxOb3QgdW5kZXJzdG9vZAoKZmknaXxXZWxjb21l fC18Tm90IHdlbGNvbWUgaGVyZQoKcGUndXxQbGVhc2V8LXwtCgpraSdlfFRoYW5rc3wtfERpc2Fw cHJlY2lhdGlvbgoKcmUnaXxSZWFkeSB0byByZWNpZXZlfC18Tm90IHJlYWR5CgpqdSdpfEhleSF8 QXQgZWFzZXxJZ25vcmUgbWUKCnRhJ2F8SW50ZXJydXB0aW9ufC18LQoKdmknb3xXaWxsIGRvfC18 V2lsbCBub3QgZG8KCmtlJ298UGxlYXNlIHJlcGVhdHwtfE5vIHJlcGVhdCBuZWVkZWQKCmtpJ2Fp fHdlbGwtd2lzaHwtfGN1cnNlfHwKCk5vdGljZSB0aGF0ICcna2knYWknJyBpcyBleHBlcmltZW50 YWwKCgoKCgpXaGF0IHdvdWxkICcnY29pIGNvJ28nJyBtZWFuPwoKCgpBbnN3ZXI6IH5+Z3JleSxn cmV5OuKAnEdyZWV0aW5ncyBpbiBwYXNzaW5n4oCdIG9yIOKAnEhlbGxvIGFuZCBHb29kYnll4oCd fn4KCgoKJydqZSdlJycgaXMgdXNlZCBhcyDigJxPS+KAnSwgYnV0IGFsc28gdGhlIGFwcHJvcHJp YXRlIHJlc3BvbnNlIHdoZW4gcmVjZWl2aW5nIHByYWlzZSBvciB0aGFua3MgKGF0IGxlYXN0LCBp ZiB5b3Ugd2FudCB0byBiZSBtb2Rlc3QpLCBhcyBpdCBpbmRpY2F0ZXMgdGhhdCB0aGUgcHJhaXNl IG9yIHRoYW5rcyB3YXMgc3VjY2Vzc2Z1bGx5IHVuZGVyc3Rvb2QuCgoKClRyYW5zbGF0ZSAnJ2tp J2Ugc2lkanUgYmUgbWkgYmVpIGxvIHZham5pIC5pIGplJ2UgLmplbmlmeW4uJycKCl9fJydzaWRq dScnX18geDEgaGVscHMgeDIgZG8geDMKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxUaGFua3Ms IHlvdSBoZWxwZXIgb2YgbWUgdG8gZG8gc29tZXRoaW5nIGltcG9ydGFudC7igJ0g4oCcTm8gcHJv YmxlbSwgSmVubmlmZXLigJ1+fgoKCgpBbmQgJydmaSdpIHRlIHZlY251IC5pIHBlJ3Uga28gY2l0 a2EnJwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnVdlbGNvbWUsIGJ1eWVyLiBQbGVhc2UgZWF0 IeKAnX5+CgoKCicncmUnaScnIGlzIHVzZWQgdG8gc2lnbmFsIHRoYXQgeW91IGFyZSByZWFkeSB0 byBiZSBzcG9rZW4gdG8uIEl0IGNhbiBiZSB1c2VkIGFzIHRoZSBMb2piYW4gZXF1aXZhbGVudCBv ZiDigJxXaGF0IGNhbiBJIGRvIGZvciB5b3U/4oCdIG9yIHBlcmhhcHMgcmVwbGFjZSDigJxIZWxs b+KAnSwgd2hlbiBzcGVha2luZyBvbiBhIHBob25lLiAnJ3JlJ2kgbmFpJycgY2FuIG1lYW4g4oCc QUZL4oCdIG9yIOKAnEJlIHRoZXJlIGlzIGEgc2Vjb25kLuKAnQoKCgpUcmFuc2xhdGU6IOKAnEhl bGxvLCB3aGF0IGNhbiBJIGRvIGZvciB5b3UsIEludGVycHJldGVyL1RyYW5zbGF0ZXI/4oCdCgoK CkFuc3dlcjogfn5ncmV5LGdyZXk6Jydjb2kgcmUnaSBsYSBmYW52YScnfn4KCgoKJyd0YSdhJycg aXMgdXNlZCB3aGVuIGF0dGVtcHRpbmcgdG8gcG9saXRlbHkgaW50ZXJydXB0IHNvbWVvbmUgZWxz ZS4gV2hhdCB3b3VsZCBiZSBnb29kIHJlc3BvbnNlcyB0byB0aGlzPwoKCgpUcmFuc2xhdGU6ICcn dGEnYSBybyBkbyBtaSBjbydhIGNsaXZhJycKCl9fJydjbGl2YScnX18geDEgbGVhdmVzIHgyIHZp YSByb3V0ZSB4MwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnEV4Y3VzZSBtZSBmb3IgaW50ZXJy dXB0aW5nLCBldmVyeW9uZS4gSSBiZWdpbiB0byBsZWF2ZSBub3figJ0gTm90aWNlIHRoYXQgbm8g ZmEnb3JtYSdvIG9yICcnLmknJyBpcyBuZWVkZWQufn4KCgoKJydrZSdvJycgaXMgdXNlZCBhIGxv dCB3aGVuIGluZXhwZXJpZW5jZWQgTG9qYmFuaXN0cyBzcGVhayB0b2dldGhlciB2b2NhbGx5LiBJ dCdzIHF1aXRlIGEgaGFuZHkgd29yZAoKX18nJ3N1dHJhJydfXyB4MSBpcyBxdWljayBhdCBkb2lu ZyB4MgoKCgpUcmFuc2xhdGU6ICcnLnkga2UnbyBzdXRyYSB0YXZsYScnCgoKCkFuc3dlcjogfn5n cmV5LGdyZXk64oCcVWgsIFBsZWFzZSByZXBlYXQsIHlvdSBxdWljayBzcGVha2VyLuKAnX5+CgoK CkFuZCDigJxPa2F5IG9rYXksIEkgZ290IGl0IGFscmVhZHkhIEknbGwgZG8gaXQh4oCdCgoKCkFu IGFuc3dlcjogfn5ncmV5LGdyZXk6JydrZSdvIG5haSAudWkgbmFpIHZpJ28nJ35+CgoKCiEhTG9q YmFuIExlc3NvbnMgLSBMZXNzb24gdHdlbnR5LXR3byAocXVhbnRpZnlpbmcgc3VtdGkpCgpNb3N0 IG90aGVyIGxlYXJuaW5nIG1hdGVyaWFscyBzdWNoIGFzIFRoZSBDb21wbGV0ZSBMb2piYW4gTGFu Z3VhZ2UgYW5kIExvamJhbiBmb3IgQmVnaW5uZXJzIHdlcmUgd3JpdHRlbiBiZWZvcmUgdGhlIG9m ZmljaWFsIGFkb3B0YXRpb24gInhvcmxvIiwgYSBjaGFuZ2UgaW4gdGhlIHJ1bGVzIGFib3V0IGdh ZHJpIGRlZmluaXRpb24gYW5kIGdhZHJpIHF1YW50aWZpY2F0aW9uLiBUaGUgb2Jzb2xldGVuZXNz IG9mIHNvbWUgb2YgdGhlIHRleHQgaW4gdGhlIG9sZGVyIGxlYXJuaW5nIG1hdGVyaWFscyB3YXMg YSBtYWpvciBjYXVzZSBmb3IgdGhlIG1vdGl2YXRpb24gdG8gd3JpdGUgdGhlc2UgbGVzc29ucy4g VW5mb3J0dW5hdGVseSBmb3IgbWUsIHF1YW50aWZpY2F0aW9uIG9mIHN1bXRpIGNhbiBiZWNvbWUg YSB2ZXJ5IGNvbXBsZXggdG9waWMgd2hlbiB0aGUgaW1wbGljYXRpb25zIG9mIGNlcnRhaW4gcnVs ZXMgYXJlIGRpc2N1c3NlZCBpbiBkZXRhaWwuIEluIG9yZGVyIHRvIGZ1bGZpbGwgdGhlIGdvYWwg b2YgdGhpcyB0ZXh0IGJlaW5nIGFjY3VyYXRlIGVub3VnaCB0byByZXByZXNlbnQgdGhlIG9mZmlj aWFsICJnb2xkIHN0YW5kYXJkIiBCUEZLIHJ1bGVzLCB0aGlzIGNoYXB0ZXIgd2FzIGFtb25nIHRo ZSBsYXN0IG9uZXMgZmluaXNoZWQgYW5kIHRoZSBvbmVzIG1vc3QgZnJlcXVlbnR5IHJld3JpdHRl bi4gSSBzdHJvbmdseSBlbmNvdXJhZ2UgYW55b25lIHdobyBmaW5kcyBtaXN0YWtlcyBpbiB0aGlz IHRleHQgdG8gY29udGFjdCBtZSBpbiBvcmRlciBmb3IgdGhlbSB0byBiZSBjb3JyZWN0ZWQuCgpI YXZpbmcgc2FpZCB0aGF0IGRpc2NsYWltZXIsIGxldCdzIGdldCBzdGFydGVkOgoKVGhlIGZpcnN0 IGNvbmNlcHQgeW91IHNob3VsZCBrbm93IGFib3V0IGlzICJkaXN0cmlidXRpdml0eSIuIEluIGxl c3NvbiBmb3VydGVlbiBpIHVzZWQgdGhlIHdvcmQgImluZGl2aWR1YWxzIiBhYm91dCBhIGdyb3Vw IG9mIG9iamVjdHMgY29uc2lkZXJlZCBkaXN0cmlidXRpdmVseS4gQSBkaXN0cmlidXRpdmUgZ3Jv dXAgJydrbydhJycgaXMgZm9yIGFueSBzZWxicmkgJydicm9kYScnIGEgZ3JvdXAgc3VjaCB0aGF0 LCBpZiAnJ2tvJ2EgYnJvZGEnJyBpcyB0cnVlLCBpdCBtZWFucyB0aGF0IGV2ZXJ5IG1lbWJlciBv ZiB0aGUgZ3JvdXAgYWxzbyBpcyBjaGFyYWN0ZXJpemVkIGJ5ICcnYnJvZGEnJy4gVGhpcyBzdGFu ZHMgaW4gY29udHJhc3QgdG8gbm9uLWRpc3RyaWJ1dGl2aXR5ICh3aGljaCBtYXNzZXMgaGF2ZSks IGluIHdoaWNoIHRoZSBncm91cCBoYXMgb3RoZXIgcHJvcGVydGllcyB0aGFuIGVhY2ggb2YgdGhl IGluZGl2aWR1YWxzIGRvLiBUaGUgZGlzdGluY3Rpb24gYmV0d2VlbiBkaXN0cmlidXRpdml0eSAo aW5kaXZpZHVhbC1saWtlKSBhbmQgbm9uLWRpc3RyaWJ1dGl2aXR5IChtYXNzLWxpa2UpIGlzIG9m IHJlbGV2YW5jZSB3aGVuIHF1YW50aWZ5aW5nIHN1bXRpLgoKTGV0IHVzIGZpcnN0IGNvbnNpZGVy IGhvdyBvbmUgY2FuIHF1YW50aWZ5IGRlY3JpcHRpb24gc3VtdGksIHdoaWNoIGFyZSBzdW10aSBv ZiB0aGUgZm9ybSBHQURSSSBCUklWTEEuIFRoZSBudW1iZXIgc3RyaW5nIHdoaWNoIGRvZXMgdGhl IHF1YW50aWZpY2F0aW9uIGNhbiBiZSBwbGFjZWQgYmVmb3JlIHRoZSBnYWRyaSwgaW4gd2hpY2gg Y2FzZSBpdCBpcyByZWZlcnJlZCB0byBhcyBhbiBfX291dGVyIHF1YW50aWZpZXJfXywgYW5kIGl0 IGNhbiBiZSBwbGFjZWQgYmV0d2VlbiB0aGUgZ2FkcmkgYW5kIHRoZSBicml2bGEsIGluIHdoaWNo IGNhc2UgaXQncyBhbiBfX2lubmVyIHF1YW50aWZpZXJfXy4gQW55IGtpbmQgb2YgbnVtYmVyIHN0 cmluZyBjYW4gYWN0IGFzIGEgcXVhbnRpZmllci4KClRoZSBydWxlcyBmb3IgaG93IGlubmVyIGFu ZCBvdXRlciBxdWFudGlmaWVycyBhZmZlY3RzIHN1bXRpIGRlcGVuZCBvbiB0aGUga2luZCBvZiBn YWRyaSB3aGljaCBpcyB1c2VkOgoKCgotIC0nJ2xvJycgYW5kICcnbGUnJy0gLSBBbiBpbm5lciBx dWFudGlmaWVyIHRlbGxzIHVzIGhvdyBtYW55IG9iamVjdHMgYXJlIGJlaW5nIHNwb2tlbiBvZiAt IGhvdyBtYW55IG9iamVjdHMgYXJlIGluIHRoZSBkaXNjb3Vyc2UgdG90YWwuIElmIGFuIG91dGVy IHF1YW50aWZpZXIgaXMgcHJlc2VudCwgdGhlIHN1bXRpIGlzIGRpc3RyaWJ1dGVkIG92ZXIgdGhh dCBhbW91bnQgb2Ygb2JqZWN0cy4gQXMgc3RhdGVkIGVhcmxpZXIsIGlmIG5vIG91dGVyIHF1YW50 aWZpZXIgaXMgcHJlc2VudCwgaXQncyB2YWd1ZSBob3cgbWFueSBvYmplY3RzIHRoZSBzZWxicmkg YXBwbGllcyB0byAodGhvdWdoIG5vdCBub25lKSwgYW5kIHdoZXRoZXIgaXQgZG9lcyBzbyBkaXN0 cmlidXRpdmVseSBvciBub24tZGlzdHJpYnV0aXZlbHkuIEV4YW1wbGVzIGFyZSBhbHdheXMgYSBn b29kIGlkZWEsIHNvIGhlcmUgdGhleSBhcmU6CgonJ211IGxvIG11IGJha25pIGN1IHNlIGppcm5h JycgLSBUaGUgaW5uZXIgcXVhbnRpZmllciBvZiBmaXZlIHRlbGxzIHVzIHRoYXQgd2Ugc3BlYWsg YWJvdXQgZml2ZSBwaWVjZXMgb2YgY2F0dGxlLCBhbmQgdGhlIG91dGVyIHF1YW50aWZpZXIgb2Yg Zml2ZSB0ZWxscyB1cyB0aGF0IHRoZSBzZWxicmkgaXMgdHJ1ZSBmb3IgZWFjaCBvZiB0aGUgZml2 ZS4gVGhlcmVmb3JlLCBpdCBtZWFucyAiQWxsIHRoZSBmaXZlIGNvd3MgaGFkIGhvcm5zIi4gCgpf XycnYmFrbmknJ19fIHgxIGlzIGEgY293L294L2NhdHRsZS9jYWxmIGV0YyBvZiBicmVlZCB4MgoK X18nJ2ppcm5hJydfXyB4MSBpcyB0aGUgaG9ybiBvZiB4MiAobWV0YXBob3I6IGFueSBwb2ludGVk IGV4dHJlbWl0eSkKCgoKV2hhdCBkb2VzIHRoZSBmb2xsb3dpbmcgYnJpZGkgbWVhbj8KCicnbG8g cnUndXJndWJ1cHUgYmUgbGkgcmUgcGkgemUgbXUgY3UgamRpbWEgbG8gcGEgcmUgc292ZGEnJwoK X18nJ3J1J3VyZ3VidXB1JydfXyB4MSBpcyBtZWFzdXJlcyB0byBiZSB4MiBCcml0aXNoIHBvdW5k cyAoR0JQKQoKX18nJ2pkaW1hJydfXyB4MSBpcyB0aGUgcHJpY2Ugb2YgeDIgdG8gYnV5ZXIgeDMg c2V0IGJ5IHZlbmRvciB4NAoKX18nJ3NvdmRhJydfXyB4MSBpcyBhIGdhbWV0ZSAoZWdnL3NwZXJt KSBvZiB4MgoKQW5zd2VyOiB+fmdyZXksZ3JleTogIlR3ZWx2ZSBlZ2dzIGNvc3QgMi43NSBCcml0 aXNoIHBvdW5kcyIgd2hpY2gsIGFzIHRoZSBFbmdsaXNoIHRyYW5zbGF0aW9uLCBjb3VsZCBtZWFu IGJvdGggdGhhdCB0aGV5IGNvc3QgMi43NSBlYWNoIChkaXN0cmlidXRpdmVseSkgb3IgdGhhdCBh bGwgdHdlbHZlIHRvZ2V0aGVyIGNvc3QgMi43NSAobm9uLWRpc3RyaWJ1dGl2ZWx5KX5+CgoKCicn c28gbGUgdGEgcGEgcGEgY2knZXJrZWkgY3UgY2xhbWF1IG1pJycgKG5vdGljZSB0aGF0IHRoZSAn J3RhJycgZ29lcyBiZWZvcmUgdGhlIGlubmVyIHF1YW50aWZpZXIpCgpfXycnY2knZXJrZWknJ19f IHgxIHBsYXlzIGdhbWUgeDIgZ292ZW5lcmQgYnkgcnVsZXMgeDMgaW50ZXJyZWxhdGluZyBnYW1l IHBhcnRzIHg0IHt0aGlzIGlzIHVzZWQgdG8gdHJhbnNsYXRlICJwbGF5IiBpbiB0aGUgc2Vuc2Ug InBsYXkgYSBnYW1lIiByYXRoZXIgdGhhbiwgZm9yIGluc3RhbmNlICJwbGF5aW5nIHByZXRlbmQi IG9yICJwbGF5aW5nIEhvdXNlIn0KCl9fJydjbGFtYXUnJ19fIHgxIGlzIHRhbGxlci9sb25nZXIg dGhhbiB4MiBpbiBkaXJlY3Rpb24geDMgbXkgbWFyaWdpbiB4NAoKQW5zd2VyOiB+fmdyZXksZ3Jl eTpUaGUgaW5uZXIgc3RhdGVzIHRoZXJlIGFyZSAxMSBwbGF5ZXJzIGluIHRoZSBkaXNjb3Vyc2Us IGFuZCB0aGUgb3V0ZXIgc3RhdGVzIHRoYXQgdGhlIHNlbGJyaSBhcHBsaWVzIHRvIG5pbmUgb2Yg dGhlbSBkaXN0cmlidXRpdmVseS4gVGh1cyBpdCBtZWFucyAiTmluZSBvZiB0aGUgZWxldmVuIHBs YXllcnMgYXJlIHRhbGxlciB0aGFuIG1lIn5+CgoKClRoZXJlIGFyZSBhIGZldyBwb2ludHMgdGhh dCBuZWVkcyB0byBiZSByYWlzZWQgcmVnYXJkaW5nIHF1YW50aWZpY2F0aW9uIG9mICcnbG8nJy8n J2xlJyc6CgpGaXJzdGx5LCAnJ2xvJycgaXMgdW5pcXVlIGluIHRoYXQgIntudW1iZXJ9IHtzZWxi cml9IiBpcyBkZWZpbmVkIGFzICJ7bnVtYmVyfSAnJ2xvJycge3NlbGJyaX0iLiBUaGVyZWZvcmUs ICcnY2kgZ2Vya3UgY3UgYmF0Y2kgcmUgbmFubXUnJyBpcyBkZWZpbmVkIHRvIGJlICcnY2kgbG8g Z2Vya3UgY3UgYmF0Y2kgcmUgbG8gbmFubXUnJywgd2hpY2ggY29uc2lkZXJzIGJvdGggdGhlIGdy b3VwIG9mIGRvZ3MgYW5kIHRoZSBncm91cCBvZiBtZW4gZGlzdHJpYnV0aXZlbHkuIFRoZXJlZm9y ZSwgZWFjaCBvZiB0aGUgdGhyZWUgZG9ncyBiaXQgZWFjaCBvZiB0aGUgdHdvIG1lbiwgd2l0aCBz aXggYml0aW5nIGV2ZW50cyBpbiB0b3RhbC4KCl9fJydiYXRjaScnX18geDEgYml0ZXMvcGluY2hl cyB4MiBhdCBsb2N1cyB4MyB1c2luZyB4NCBhcyBwaW5jaGluZyB0b29sLgoKU2Vjb25kbHk6IFdo YXQgaWYgdGhlcmUgaXMgbm8gb3V0ZXIgcXVhbnRpZmllcj8gRG9lcyB0aGlzIG1lYW4gdGhhdCBp dCBfX2lzX18gdGhlcmUsIGJ1dCBpdCdzIGVsaWRlZD8gTm9wZS4gSWYgdGhlcmUgaXMgYW55IGtp bmQgb2Ygb3V0ZXIgcXVhbnRpZmllciwgZWxpZGVkIG9yIG5vdCwgaXQgd291bGQgZm9yY2UgdGhl IHN1bXRpIHRvIGJlIGRpc3RyaWJ1dGl2ZSwgd2hpY2ggd291bGQgbWVhbiB0aGF0IG5laXRoZXIg JydsbycnIG5vciAnJ2xlJycgY291bGQgYmUgdXNlZCB0byBkZXNjcmliZSBtYXNzZXMuIFRoZXJl Zm9yZSwgaWYgbm8gb3V0ZXIgcXVhbnRpZmllciBpcyBwcmVzZW50LCBpdCdzIG5vdCBvbmx5IGVs aWRlZCAtIGl0J3Mgc2ltcGx5IG5vdCB0aGVyZS4gU3VtdGkgd2l0aG91dCBhbiBvdXRlciBxdWFu dGlmaWVyIGNhbiBiZSByZWZlcnJlZCB0byBhcyAiY29uc3RhbnRzIiwgZXZlbiB0aG91Z2ggSSB3 b24ndC4KClRoaXJkbHksIGl0IG1ha2VzIG5vIHNlbnNlIHRvIGhhdmUgYW4gb3V0ZXIgcXVhbnRp ZmllciB3aGljaCBpcyBsYXJnZXIgdGhhbiB0aGUgaW5uZXIgb25lLiBJdCBtZWFucyB0aGF0IHRo ZSBzZWxicmkgaG9sZHMgdHJ1ZSBmb3IgbW9yZSBzdW10aSB0aGFuIGFyZSBwcmVzZW50IGluIHRo ZSBkaXNjb3Vyc2UgLSBidXQgc2luY2UgdGhleSBhcHBlYXIgaW4gYSBicmlkaSwgdGhleSBfX2Fy ZV9fIHBhcnQgb2YgdGhlIGRpc2NvdXJzZS4gSXQncyBncmFtbWF0aWNhbCB0byBkbyBpdCwgdGhv dWdoLgoKTGFzdGx5LCBwbGFjaW5nIGEgJydsbycnIG9yIGEgJydsZScnIGluIGZyb250IG9mIGEg c3VtdGkgaXMgZ3JhbW1hdGljYWwsIGlmIHRoZXJlIGlzIGFuIGlubmVyIHF1YW50aWZpZXIgcHJl c2VudC4gIicnbG8nJy8nJ2xlJycge251bWJlcn0ge3N1bXRpfSIgaXMgZGVmaW5lZCBhcyAiJyds bycnLycnbGUnJyB7bnVtYmVyfSAnJ21lJycge3N1bXRpfSIuCgpTbyB3aGF0IHdvdWxkIHRoaXMg bWVhbj8gJydtaSBuZWxjaSBsb2kgbWkgYnJpanUga2Fuc2EgLmkga3UnaSBjaSBsbyByZSBtdSBq aSdpIHJpIGN1IGxhem5pJycKCl9fJydicmlqdScnJ19fIHgxIGlzIGFuIG9mZmljZSBmb3Igd29y a2VyIHgyIGF0IGxvY2F0aW9uIHgzCgpfXycna2Fuc2EnJ19fIHgxIGFjY29tcGFuaWVzIHgyIGlu IGFjdGlvbi9zdGF0ZS9lbnRlcnByaXNlIHgzCgpfXycnbGF6bmknJ19fIHgxIGlzIGxhenksIGF2 b2lkaW5nIHdvcmsgY29uY2VybmluZyB4MgoKQW5zd2VyOiB+fmdyZXksZ3JleToiSSBsaWtlIG15 IGNvLXdvcmtlcnMsIGJ1dCB0aHJlZSBvdXQgb2YgYWJvdXQgdHdlbnR5IGZpdmUgb2YgdGhlbSBh cmUgbGF6eSJ+fgoKCgotIC0nJ2xhJyctIC0gQW4gaW5uZXIgcXVhbnRpZmllciBpcyBncmFtbWF0 aWNhbCBpZiB0aGUgbmFtZSBpcyBhIHNlbGJyaSAtIGluIHRoaXMgY2FzZSwgaXQncyBjb25zaWRl cmVkIHBhcnQgb2YgdGhlIG5hbWUuIEFuIG91dGVyIHF1YW50aWZpZXIgaXMgdXNlZCB0byBxdWFu dGlmeSBkaXN0cmlidXRpdmVseSBvdmVyIHN1Y2ggaW5kaXZpZHVhbHMgKG11Y2ggbGlrZSAnJ2xv JycvJydsZScnKSBJdCdzIGdyYW1tYXRpY2FsIHdoZW4gcGxhY2VkIGluIGZyb250IG9mIHtudW1i ZXJ9IHtzdW10aX0sIGluIHdoaWNoIGNhc2UsIHRoZSBib3RoIHRoZSBudW1iZXIgYW5kIHRoZSBz dW10aSBpcyBjb25zaWRlcmVkIHRoZSBuYW1lLgoKCgpUcmFuc2xhdGUgdGhpczogJydyZSBsYSBj aSBiYXJndSBjdSBqaWJuaSBsZSBtaSB6ZGFuaScnCgpBbnN3ZXI6IH5+Z3JleSxncmV5OiBUd28g IlRoZSBUaHJlZSBBcmNoZXMiIGFyZSBsb2NhdGVkIGNsb3NlIHRvIG15IGhvdXNlIiAoUGVyaGFw cyBUaGUgVGhyZWUgQXJjaGVzIGFyZSBhIGtpbmQgb2YgcmVzdGF1cmFudD8pfn4KCgoKLSAtJyds b2knJyBhbmQgJydsZWknJy0gLSBBbiBpbm5lciBxdWFudGlmaWVyIHRlbGxzIHVzIGhvdyBtYW55 IG1lbWJlcnMgdGhlcmUgYXJlIGluIHRoZSBtYXNzL21hc3NlcyBpbiBxdWVzdGlvbi4gQW4gb3V0 ZXIgcXVhbnRpZmllciBxdWFudGlmaWVzIGRpc3RyaWJ1dGl2ZWx5IHshfSBvdmVyIHRoZXNlIG1h c3NlcwoKTm90aWNlIGhlcmUgdGhhdCB3aGlsZSBtYXNzZXMgY29uc2lzdCBvZiBhIG51bWJlciBv ZiBvYmplY3RzIGNvbnNpZGVyZWQgbm9uLWRpc3RyaWJ1dGl2ZWx5LCBhbiBvdXRlciBxdWFudGlm aWVyIGFsd2F5cyB0cmVhdHMgZWFjaCBvZiB0aGVzZSBtYXNzZXMgYXMgYW4gaW5kaXZpZHVhbC4K CldoZW4gcGxhY2VkIGJlZm9yZSBhIG51bWJlciBzdHJpbmcsIHRoZW4gYSBzdW10aSwgJydsb2kn Jy8nJ2xlaScnIGlzIGRlZmluZWQgYXMgIicnbG8gZ3VubWEgYmUgbG8nJy8nJ2xlJycge251bWJl cn0ge3N1bXRpfSIgLSAiVGhlIG1hc3MgY29uc2lzdGluZyBvZiB0aGUge251bWJlcn0gb2Yge3N1 bXRpfSIuCgoKCkF0dGVtcHQgdG8gdHJhbnNsYXRlIHRoaXM6ICcncmUgZGVpIGd1bm1hIHJlIGxv aSB6ZSB2YWxzaSAuaSBjYSdlIHBhIGRlaSBqYWkgZ2F1IGpldG51JycKCl9fJydndW5tYScnX18g eDEgaXMgYSBtYXNzIG9mIHRoZSBpbmRpdmlkdWFscyB4MgoKX18nJ3ZhbHNpJydfXyB4MSBpcyBh IHdvcmQsIG1lYW5pbmcgeDIgaW4gbGFuZ3VhZ2UgeDMKCl9fJydjYSdlJydfXyBBdHRpdHVkaW5h bDogRXZpZGVudGlhbDogSSBkZWZpbmUKCl9fJydqZXRudScnX18geDEgaXMgdHJ1ZSBhY2NvcmRp bmcgdG8gbWV0YXBoeXNpY3MvZXBpc3RlbW9sb2d5IHgyCgpBbnN3ZXI6IH5+Z3JleSxncmV5OiAi VGhlc2UgdHdvIHV0dGVyYW5jZXMgYXJlIGEgbWFzcywgY29uc2lzdGluZyBvZiB0d28gaW5kaXZp ZHVhbCBtYXNzZXMgZWFjaCBvZiBzZXZlbiB3b3Jkcy4gSSBkZWZpbmU6IFRoaXMgb25lIHV0dGVy YW5jZSBjYXVzZXMge2l0fSB0byBiZSB0cnVlLiJ+fgoKCgotIC0nJ2xhaScnLSAtIE11Y2ggbGlr ZSAnJ2xhJycsIGFuIGlubmVyIHF1YW50aWZpZXIgKHdoZW4gbmFtZSBpcyBhIHNlbGJyaSkgaXMg cGFydCBvZiB0aGUgbmFtZS4gQW4gb3V0ZXIgb25lIHF1YW50aWZpZXMgZGlzdHJpYnV0aXZlbHku IEJlZm9yZSBhIG51bWJlcitzdW10aSwgYm90aCB0aGUgc3VtdGkgYW5kIHRoZSBudW1iZXIgbWFr ZSB1cCB0aGUgbmFtZS4KCldoZW4gYSBmcmFjdGlvbiBpcyB1c2VkIGFzIGFuIG91dGVyIHF1YW50 aWZpZXIgdG8gcXVhbnRpZnkgJydsb2knJywgJydsZWknJyBvciAnJ2xhaScnLCBvbmUgc3BlYWtz IGFib3V0IG9ubHkgcGFydCBvZiB0aGUgbWFzcyAoZm9yIGluc3RhbmNlLCAiaGFsZiBvZiB0aGUg Sm9obnNvbnMiIC0gJydwaSBtdSBsYWkgLmRqYW5zeW4uJycpLgoKCgotIC0nJ2xvJ2knJyBhbmQg JydsZSdpJyctIC0gQW4gaW5uZXIgcXVhbnRpZmllciBkZXNjcmliZXMgdGhlIGFtb3VudCBvZiBt ZW1iZXJzIG9mIHRoZSBzZXQuIEFuIG91dGVyIHF1YW50aWZpZXMgZGlzdHJpYnV0aXZlbHkgb3Zl ciBzZXZlcmFsIG9mIHN1Y2ggc2V0cy4gV2hlbiBwbGFjZWQgYmVmb3JlIGEgbnVtYmVyIGFuZCBh IHN1bXRpLCBpdCdzIGRlZmluZWQgYXMgIicnbG8gc2VsY21pIGJlICcnbG8nJy8nJ2xlJycge251 bWJlcn0ge3N1bXRpfSIgLSAiVGhlIHNldCBvZiB7bnVtYmVyfSB7c3VtdGl9Ii4KCgoKVHJhbnNs YXRlICcnbG8naSBybyBzZSBjaW5raSBjdSBicmFtYXUgbGEnYSBwYSBubyBubyBsbydpIHJvIHNl IGJvZ3lrYW1qdSBqdXRzaScnCgpfXycnY2lua2knJ19fIHgxIGlzIGFuIGluc2VjdCBvZiBzcGVj aWVzIHgyCgpfXycnbGEnYScnX18gQXR0aXR1ZGluYWw6IERpc2N1cnNpdmU6IFByb2JhYmx5Cgpf XycnYnJhbWF1JydfXyB4MSBpcyBiaWdnZXIgdGhhbiB4MiBpbiBkaW1lbnNpb24geDMgYnkgbWFy aWdpbiB4NAoKX18nJ2JvZ3lrYW1qdScnX18geDEgaXMgdGhlIHNwaW5lIG9mIHgyCgpfXycnanV0 c2knJ19fIHgxIGlzIHRoZSBzcGVjaWVzIG9mIGdlbnVzIHgyLCBmYW1pbHkgeDMgLi4uIChvcGVu IGVuZGVkIGNsYXNzaWZpY2F0aW9uKQoKQW5zd2VyOiB+fmdyZXksZ3JleTogIlRoZSBzZXQgb2Yg YWxsIHRoZSBzcGVjaWVzIG9mIGluc2VjdHMgaXMgcHJvYmFibHkgYmlnZ2VyIHRoYW4gb25lIGh1 bmRyZWQgc2V0cyBvZiBhbGwgc3BlY2llcyBvZiB2ZXJ0ZWJyYXRlcyJ+fgoKCgotIC0nJ2xhJ2kn Jy0gLSBBcyB3aXRoICcnbGFpJycKCkxpa2Ugd2l0aCB0aGUgbWFzcyBnYWRyaSwgYW4gb3V0ZXIg cXVhbnRpZmllciBiZWZvcmUgYSBzZXQgZ2FkcmkgZW5hYmxlcyBvbmUgdG8gc3BlYWsgYWJvdXQg YSBmcmFjdGlvbiBvZiBhIHNldC4gSW4gZnJvbnQgb2YgYSBudW1iZXIgYW5kIGEgc3VtdGksIGl0 J3MgZGVmaW5lZCBhcyAiJydsbyBzZWxjbWkgYmUgbGEnJyB7bnVtYmVyfSB7c3VtdGl9IiAtICJU aGUgc2V0IGNvbnNpc3Rpbmcgb2YgVGhlIHtOdW1iZXJ9IHtTdW10aX0iIChjb25zaWRlcmVkIGEg bmFtZSkKCgoKLSAtJydsbydlJycgYW5kICcnbGUnZScnLSAtIEFyZSBmb3Igc29tZSByZWFzb24g bm90IGluY2x1ZGVkIGluIHRoZSBjdXJyZW50bHkgYWNjZXB0ZWQgZ2FkcmkgcHJvcG9zYWwuIElm IG9uZSB3ZXJlIHRvIGV4dGVuZCB0aGUgcnVsZXMgb2YgYW5vdGhlciBnYWRyaSwgJydsbycnLycn bGUnJyB3b3VsZCBwcm9iYWJseSBiZSB0aGUgYmVzdCBjaG9pY2UgKHNpbmNlIGJvdGggb3BlcmF0 ZXMgd2l0aCBpbmRpdmlkdWFscyByYXRoZXIgdGhhbiBncm91cHMpLCBhbmQgc28gb25lIHdvdWxk IGV4cGVjdCB0aGUgb3V0ZXIgcXVhbnRpZmllciB0byBmb3JjZSBkaXN0cmlidXRpdml0eSBvdmVy IHRoZSBhbW91bnQgb2YgdHlwaWNhbC9zdGVyZW90eXBpY2FsIHRoaW5ncyBnaXZlbiBieSB0aGUg aW5uZXIgcXVhbnRpZmllci4KCgoKV2hlbiBxdWFudGlmeWluZyBzdW1rYSdpIHJlcHJlc2VudGlu ZyBzZXZlcmFsIG9iamVjdHMsIGl0IGlzIHVzZWZ1bCB0byByZW1lbWJlciB0aGF0IHRoZXkgYXJl IHVzdWFsbHkgbWFzc2VzLiBCeSBkZWZpbml0aW9uLCAie251bWJlcn0ge3N1bXRpfSIgaXMgZGVm aW5lZCBhcyAie251bWJlcn0gJydkYSBwb2kga2UnYSBtZScnIHtzdW10aX0iLiBZb3Ugd2lsbCBu b3QgYmUgZmFtaWxpYXIgd2l0aCAnJ2RhJycgdW50aWwgYSBmZXcgbGVzc29ucyBsYXRlciwgc28g dGFrZSBpdCBvbiBmYWl0aCB0aGF0IGlzIG1lYW5zICJzb21ldGhpbmciIGluIHRoaXMgY29udGV4 dC4gVGhlcmVmb3JlLCAnJ2NpIG1pJycgbWVhbnMgIlR3byBvZiB0aG9zZSB3aG8gYmVsb25nIHRv ICJ1cyIiLiBXaGVuIHF1YW50aWZ5aW5nIHN1Y2ggbWFzc2VzLCBpdCBjYW4gc2FmZWx5IGJlIGFz c3VtZWQgdGhhdCB0aGUgcmVsYXRpb24gaW1wbGllZCBieSAnJ21lJycgaXMgbWVtYmVyc2hpcCBv ZiB0aGUgbWFzcywgYW5kIHRoZXJlZm9yZSAnJ2NpIG1pJycgaXMgIlRocmVlIG9mIHVzIi4KCgoK U29tZSBpbXBvcnRhbnQgdXNlcyBvZiBxdWFudGlmaWNhdGlvbiByZXF1aXJlcyB5b3UgdG8gYmUg cXVhbnRpZnkgc2VsYnJpIG9yIG9iamVjdHMgd2hvc2UgaWRlbnRpdHkgaXMgdW5rbm93bi4gVGhp cyBpcyBkb25lIGJ5ICJsb2dpY2FsbHkgcXVhbnRpZmllZCB2YXJpYWJsZXMiLiBUaGVzZSwgYXMg d2VsbCBhcyBob3cgdG8gcXVhbnRpZnkgdGhlbSB3aWxsIGJlIGNvdmVyZWQgaW4gbGVzc29ucyB0 d2VudHktc2V2ZW4uCgoKCkxhc3RseSwgaG93IGNhbiB5b3UgcXVhbnRpZnkgdW5jb3VudGFibGUg c3Vic3RhbmNlcyBsaWtlIHN1Z2FyIG9yIHdhdGVyPyBPbmUgc29sdXRpb24gaXMgdG8gcXVhbnRp ZnkgaXQgdXNpbmcgaW5leGFjdCBudW1iZXJzLiBUaGlzIHVzZSBpcyB2YWd1ZSwgbm90IG9ubHkg YmVjYXVzZSB0aGUgdmFsdWUgb2YgdGhlIG51bWJlciBpcyB2YWd1ZSwgYnV0IGFsc28gYmVjYXVz ZSBpdCdzIG5vdCBzcGVjaWZpZWQgb24gd2hhdCBzY2FsZSB5b3UncmUgY291bnRpbmc6IFRoZSBz dWdhciBjb3VsZCBiZSBjb25zaWRlcmVkIGEgZ3JvdXAgb2YgbWFueSBjcnlzdGFscywgY291bnRl ZCBvbmUgYXQgYSB0aW1lLCBhbmQgdGhlIHdhdGVyIGNvdWxkIGJlIHF1YW50aWZpZWQgYnkgdGhl IGFtb3VudHMgb2YgcmFpbmRyb3BzIGl0IHRvb2sgdG8gbWFrZSB0aGUgYm9keSBvZiB3YXRlciBp biBxdWVzdGlvbi4gV2hpbGUgdGhpcyB3YXkgb2YgY291bnRpbmcgaXMgbGVnaXRpbWF0ZSwgaXQn cyBub3QgdmVyeSBleGFjdCBhbmQgY2FuIGVhc2lseSBjb25mdXNlIG9yIG1pc2xlYWQuCgpBIHdh eSB0byBiZSBleHBsaWNpdCBhYm91dCBub24tY291bnRhYmlsaXR5IGlzIHRvIHVzZSB0aGUgbnVs bCBvcGVyYW5kICcndHUnbycnIGFzIGFuIGlubmVyIHF1YW50aWZpZXIuCgpfXycndHUnbycnX18g TnVsbCBvcGVyYW5kICggw5ggKS4gVXNlZCBpbiB1bmFyeSBtZWtzby4KClRoaXMgc29sdXRpb24g aXMgZWxlZ2FudCBhbmQgaW50dWl0aXZlLCBhbmQgYWxzbyBnaXZlcyBtZSBhbiBleGN1c2UgdG8g cXVvdGUgdGhpcyBob3JyaWZ5aW5nLCB5ZXQgY29taWNhbCBleGFtcGxlIGZyb20gdGhlIG9yaWdp bmFsICcneG9ybG8nJy1wcm9wb3NhbDoKCicnbGUgbmFubXUgY3Ugc2Ugc251dGkgLmkgamEnZSBi byBsbyB0dSdvIGdlcmt1IGN1IGt1c3BlIGxlIGtsYWppJycKCl9fJydzbnV0aScnX18geDEgaXMg YW4gYWNjaWRlbnQgb24gdGhlIHBhcnQgb2YgeDIKCl9fJydqYSdlJydfXyBzdW10Y2l0YTogQkFJ OiAoZnJvbSAnJ2phbGdlJycpOiBCcmlkaSByZXN1bHRzIGluIHtzdW10aX0gCgpfXycna3VzcGUn J19fIHgxIHNwYW5zL2V4dGVuZHMgb3ZlciB4MgoKX18nJ2tsYWppJydfXyB4MSBpcyBhIHJvYWQv YXZlbnVlL3N0cmVldCBhdCB4MiBhY2Nlc3NpbmcgeDMKCgoKV2hhdCBkb2VzIGl0IG1lYW4/CgpB bnN3ZXI6IH5+Z3JleSxncmV5OiAiVGhlIG1hbiBoYWQgYW4gYWNjaWRlbnQgYW5kIHNvIHRoZXJl IHdhcyBkb2cgYWxsIG92ZXIgdGhlIHJvYWQifn4KCgoKQSBzZWNvbmQgbWV0aG9kIG9mIHF1YW50 aWZ5aW5nIHN1YnN0YW5jZXMgaXMgdG8gdXNlIHRoZSB0ZW5zZXMgJyd2ZSdpJycsICcndmUnYScn IGFuZCAnJ3ZlJ3UnJyBhcyBtZW50aW9uZWQgaW4gbGVzc29uIHRlbjoKCicndGkgdmUnaSBkamFj dScnIC0gVGhpcyBpcyBhIHNtYWxsIGFtb3VudCBvZiB3YXRlcgoKX18nJ2RqYWN1JydfXyB4MSBp cyBhbiBleHBhbnNlIG9mIHdhdGVyL2lzIG1hZGUgb2Ygd2F0ZXIvY29udGFpbnMgd2F0ZXIKCgoK VGhpcmRseSwgb2YgY291cnNlLCB5b3UgY291bGQgdXNlIGEgYnJpdmxhIHRvIGdpdmUgYW4gZXhh Y3QgbWVhc3VyZW1lbnQ6CgonJ2xlIHRhIGRqYWN1IGN1IGtpJ29ncmEgYmUgbGkgcmUgcGkga2kn byBraSdvJycgLSAiVGhhdCB3YXRlciBoYXMgYSBtYXNzIG9mIDIuMDAwIDAwMCBraWxvZ3JhbXMi CgpfXycna2knb2dyYScnX18geDEgbWVhc3VyZXMgaW4gbWFzcyB4MiBraWxvZ3JhbXMgYnkgc3Rh bmRhcmQgeDMKCgoKISFMb2piYW4gTGVzc29ucyAtIExlc3NvbiB0d2VudHktdGhyZWUgKG5lZ2F0 aW9uKQoKU29tZXRpbWVzLCBqdXN0IHNheWluZyB3aGF0J3MgdGhlIHRydXRoIGlzIG5vdCBlbm91 Z2guIE9mdGVuLCB3ZSB3YW50IHRvIHNwZWNpZnkgd2hhdCdzIG5vdCB0aGUgdHJ1dGgsIGFuZCB3 ZSBkbyB0aGlzIGJ5IHVzaW5nIG5lZ2F0aW9uLgoKTmVnYXRpb24gaW4gRW5nbGlzaCBtb3N0bHkg aW52b2x2ZXMg4oCcbm904oCdLCBhbmQgaXMgY29tcGxldGVseSBhcmJpdHJhcnkgYW5kIGFtYmln dW91cy4gV2UsIGFzIExvamJhbmlzdHMsIGNhbid0IGhhdmUgdGhhdCwgb2YgY291cnNlLCBzbyBM b2piYW4gY29udGFpbnMgYW4gZWxlZ2FudCBhbmQgdW5hbWJpZ2lvdXMgc3lzdGVtIGZvciBuZWdh dGluZy4gV2hhdCB3aWxsIGJlIHByZXNlbnRlZCBoZXJlIGFyZSB0aGUgb2ZmaWNpYWwgZ29sZC1z dGFuZGFyZCBydWxlcy4gRGlzYXBwcm92YWwgb2YgdGhlc2UgImdvbGRlbiBydWxlcyIgY29uY2Vy bmluZyAnJ25hJycgaXMgZ3Jvd2luZywgYW5kIHRoZXJlIGlzIGRpc2FncmVlbWVudCBhYm91dCB3 aGF0IHJ1bGUgc2V0IHNob3VsZCByZXBsYWNlIGl0LiBGb3Igbm93LCBJIHdpbGwgc3RpY2sgd2l0 aCB0aGUgb2ZmaWNpYWwgcnVsZXMsIGFuZCB0aGVyZWZvcmUsIHNvIHdpbGwgeW91LCBkZWFyIHJl YWRlci4KClRoZSBmaXJzdCB5b3UgbmVlZCB0byBrbm93IGFib3V0IGlzIGJyaWRpIG5lZ2F0aW9u LCBzbyBjYWxsZWQgYmVjYXVzZSBpdCBuZWdhdGVzIHRoZSBicmlkaSBpdCdzIGluLCBzYXlpbmcg aXQncyBub3QgdHJ1ZS4gVGhlIHdheSB0byBuZWdhdGUgYSBicmlkaSBpcyB0byBwbGFjZSAnJ25h JycgZmlyc3QgaW4gdGhlIHNlbnRlbmNlIHdpdGggYSAnJ2t1JycgYWZ0ZXIgaXQsIG9yIGp1c3Qg YmVmb3JlIHRoZSBzZWxicmkuIAoKX18nJ3NwZW5pJydfXyB4MSBpcyBtYXJyaWVkIHRvIHgyIHVu ZGVyIGNvbnZlbnRpb24geDMKClRodXM6ICcnbmEga3UgbGUgbWkgc3BlbmkgY3UgbmlubXUnJyBz dGF0ZXMgdGhhdCDigJxNeSBzcG91c2UgaXMgbm90IGEgd29tYW7igJ0uIEl0IHN0YXRlcyBub3Ro aW5nIGFib3V0IHdoYXQgbXkgd2lmZSBpcywgb3IgaWYgSSBldmVuIGhhdmUgYSB3aWZlLiBJdCBv bmx5IHN0YXRlcyB0aGF0IEkgZG8gbm90IGhhdmUgYSB3aWZlIHdobyBpcyBhbHNvIGEgd29tYW4u IFRoaXMgaGFzIGFuIGltcG9ydGFudCBpbXBsaWNhdGlvbjogSWYgdGhlIG5lZ2F0aW9uIG9mIGEg YnJpZGkgaXMgZmFsc2UsIHRoZSBicmlkaSBtdXN0IGJlIHRydWU6ICcnbmEga3UgbGUgbWkgc3Bl bmkgY3UgbmEgbmlubXUnJyBtdXN0IG1lYW4gdGhhdCBJIGhhdmUgYm90aCBhIHNwb3VzZSwgYW5k IHRoYXQgc2hlIGlzIGEgc2hlLgoKSXQgaXMgcG9zc2libGUgdG8gdXNlIGJyaWRpIG5lZ2F0aW9u cyBpbiBhbGwgYnJpZGksIGV2ZW4gdGhlIGltcGxpY2l0IGJyaWRpIG9mIGRlc2NyaXB0aXZlIHN1 bXRpLiAnJ2xvIG5hIHByZW51JycgY2FuIHJlZmVyIHRvIGFueXRoaW5nIG5vbi1odW1hbiwgd2hl dGhlciBpdCBiZSBhIHNwaGlueCwgYSBiYXNlYmFsbCBvciB0aGUgcHJvcGVydHkgb2YgYXBwcm9w cmlhdGVuZXNzLgoKCgpfXycnYmF1JydfXyBzdW10Y2l0YSwgZnJvbSBiYW5ndTogdXNpbmcgdGhl IGxhbmd1YWdlIG9mIHtzdW10aX0KCl9fJydzZSBqYSdlJydfXyBzdW10Y2l0YSwgZnJvbSBzZSBq YWxnZTogYmVjYXVzZSBvZiB7c3VtdGl9CgoKCk9mdGVuIHdoZW4gdXNpbmcgJyduYScnLCBpdCdz IGEgcHJvYmxlbSB0aGF0IGl0IG5lZ2F0ZXMgdGhlIGVudGlyZSBicmlkaS4gSWYgSSBzYXkgJydt aSBuYSBzdXRyYSB0YXZsYSBiYXUgbGUgZ2xpYmF1IHNlIGphJ2UgbGUgbnUgbWkgZG90Y28nJywg SSBlbmQgdXAgbmVnYXRpbmcgdG9vIG11Y2gsIGFuZCBpdCBpcyBub3QgY2xlYXIgdGhhdCBJIHdh bnRlZCB0byBvbmx5IG5lZ2F0ZSB0aGF0IEkgc3BlYWsgZmFzdC4gVGhlIHNlbnRlbmNlIGNvdWxk IHN1Z2dlc3QgdGhhdCBJIGluIGZhY3Qgc3BlYWsgZmFzdCBiZWNhdXNlIG9mIHNvbWUgb3RoZXIg cmVhc29uLCBmb3IgaW5zdGFuY2UgdGhhdCBJIHNwZWFrIGZhc3QgaW4gRnJlbmNoIGJlY2F1c2Ug SSdtIEdlcm1hbi4gVG8gZXhwcmVzcyB0aGUgc2VudGVuY2UgbW9yZSBwcmVjaXNlbHksIEkgbmVl ZCB0byBvbmx5IG5lZ2F0ZSB0aGF0IEkgc3BlYWsgZmFzdCwgYW5kIG5vdCB0aGUgb3RoZXIgdGhp bmdzLgoKVG8gb25seSBuZWdhdGUgcGFydCBvZiBhIGJyaWRpLCAnJ25hIGt1JycgY2FuIGJlIG1v dmVkIGFyb3VuZCB0aGUgYnJpZGkgYW5kIHBsYWNlZCBhbnl3aGVyZSBhIHN1bXRpIGNhbiBnby4g SXQgdGhlbiBuZWdhdGVzIGFueSBzdW10aSwgc2VsYnJpIGFuZCBzdW10Y2l0YSBwbGFjZWQgYWZ0 ZXIgaXQuIFdoZW4gcGxhY2VkIGltbWVkaWF0ZWx5IGJlZm9yZSB0aGUgc2VsYnJpLCB0aGUgJydr dScnIGNhbiBiZSBlbGlkZWQuCgpNb3ZpbmcgJyduYSBrdScnIGZyb20gdGhlIGxlZnQgZW5kIG9m IHRoZSBicmlkaSBhbmQgcmlnaHR3YXJkcyBlZmZlY3RzIGFueSBxdWFudGlmaWVycyBpbiBhIGNl cnRhaW4gd2F5LCBhcyBjYW4gYmUgc2VlbiBieSB0aGlzIGV4YW1wbGU6CgoKClRoZXJlIGFyZSBm b3JjZXMgd2l0aGluIHRoZSBMb2piYW4gY29tbXVuaXR5IHdobywgcGVyaGFwcyByaWdodGx5LCB0 aGluayB0aGF0IHRoZXJlIGlzIG5vIGdvb2QgcmVhc29uIHRoYXQgYSAnJ25hJycgcGxhY2VkIGJl Zm9yZSBhIHNlbGJyaSBuZWdhdGVzIHRoZSBlbnRpcmUgYnJpZGksIHdoZXJlYXMgYSAnJ25hIGt1 JycgYW55IG90aGVyIHBsYWNlIG5lZ2F0ZXMgb25seSB3aGF0IGlzIHRyYWlsaW5nIGJlaGluZCBp dC4gSG93ZXZlciwgaW4gdGhlc2UgbGVzc29ucyB5b3Ugd2lsbCBiZSB0YXVnaHQgd2hhdCBpcyBz dGlsbCB0aGUgb2ZmaWNpYWwgc3RhbmNlLCBuYW1lbHkgdGhhdCAnJ25hJycgYmVmb3JlIHRoZSBz ZWxicmkgbmVnYXRlcyB0aGUgYnJpZGkuCgoKClRoZSB1c2Ugb2YgJyduYSBrdScnIGlzIGV4ZW1w bGlmaWVkIHdpdGggdGhlIGZvbGxvd2luZyBleGFtcGxlcy4KCicnbmEga3Ugcm8gcmVtbmEgY3Ug dmVyYmEnJyDigJxJdCdzIG5vdCB0cnVlIHRoYXQ6IEFsbCBodW1hbnMgYXJlIGNoaWxkcmVu4oCd CgonJ3N1J28gcmVtbmEgbmEga3UgY3UgdmVyYmEnJyDigJxGb3IgYXQgbGVhc3Qgb25lIGh1bWFu IGl0J3Mgbm90IHRydWUgdGhhdDogSXQncyBhIGNoaWxk4oCdLiBTZWUgdGhhdCB0aGUgJyduYSBr dScnIGlzIHBsYWNlZCBiZWZvcmUgJydjdScnLCBzaW5jZSBhIHN1bXRpIGNhbiBnbyBvbmx5IGJl Zm9yZSwgbm90IGFmdGVyIHRoZSAnJ2N1JycuIEhhZCBJIG9ubHkgdXNlZCAnJ25hJycsIGl0IHdv dWxkIGhhdmUgdG8gZ28gYWZ0ZXIgJydjdScnIC0gYnV0IHRoYXQgd291bGQgaGF2ZSBuZWdhdGVk IHRoZSBlbnRpcmUgYnJpZGksIG1lYW5pbmcgIkl0J3Mgbm90IHRydWUgdGhhdDogQXQgbGVhc3Qg b25lIGh1bWFuIGlzIGEgY2hpbGQiLgoKCgpXaGVuIHRoZSAnJ25hIGt1JycgaXMgbW92ZWQgcmln aHR3YXJkcywgYW55IHF1YW50aWZpZXIgaXMgaW52ZXJ0ZWQgLSB0aGF0IGlzOiAnJ3JvJycgaXMg dHVybmVkIGludG8gJydzdSdvJycuIFRoaXMgaXMsIG9mIGNvdXJzZSwgb25seSBpZiB0aGUgbWVh bmluZyBvZiB0aGUgYnJpZGkgaGFzIHRvIGJlIHByZXNlcnZlZC4gVGhpcyBtZWFucyB0aGF0IHdo ZW4gdGhlICcnbmEga3UnJyBpcyBwbGFjZWQgYXQgdGhlIGVuZCBvZiB0aGUgYnJpZGksIG9ubHkg dGhlIHNlbGJyaSBpcyBuZWdhdGVkIGJ1dCBhbGwgdGhlIHN1bXRpIGFuZCBzdW10Y2l0YSBhcmUg cHJlc2VydmVkLCBhcyBjYW4gYmUgc2VlbiBieSB0aGVzZSB0aHJlZSBpZGVudGljYWwgYnJpZGk6 CgpfXycnY2t1bGUnJ19fIHgxIGlzIGEgc2Nob29sIGF0IGxvY2F0aW9uIHgyIHRlYWNoaW5nIHgz IHRvIHN0dWRlbnRzIHg0IGFuZCBvcGVyYXRlZCBieSB4NQoKCgonJ25hIGt1IHJvIHZlcmJhIGN1 IHZlIGNrdWxlIGZvIHN1J28gY2t1bGUnJyDigJMg4oCcSXQncyBub3QgdHJ1ZSB0aGF0IGFsbCBj aGlsZHJlbiBhcmUgc3R1ZGVudHMgaW4gYSBzY2hvb2wu4oCdCgonJ3N1J28gdmVyYmEgY3UgdmUg Y2t1bGUgbmEga3UgZm8gc3UnbyBja3VsZScnIOKAkyDigJxTb21lIGNoaWxkcmVuIGFyZSBzdHVk ZW50cyBpbiBub3QgYSBzaW5nbGUgc2Nob29sLuKAnQoKJydzdSdvIHZlcmJhIGN1IHZlIGNrdWxl IGZvIHJvIGNrdWxlIG5hIGt1Jycg4oCTIOKAnFNvbWUgY2hpbGRyZW4gYXJlIGZvciBhbGwgc2No b29scyBub3Qgc3R1ZGVudHMgaW4gdGhlbS7igJ0KCgoKVGhlIG9wcG9zaXRlIG9mICcnbmEnJyBp cyAnJ2phJ2EnJy4gVGhpcyBpcyBiYXJlbHkgZXZlciB1c2VkLCBzaW5jZSBpdCBpcyBkZWZhdWx0 IGluIG1vc3QgYnJpZGkuIE9uZSBleGNlcHRpb24gaXMgcmVwZWF0ZWQgYnJpZGkgKG5leHQgbGVz c29uKS4gU29tZXRpbWVzIGl0J3MgdXNlZCB0byBwdXQgbW9yZSB3ZWlnaHQgb24gdGhlIHRydXRo IG9mIHRoZSBicmlkaSwgYXMgaW4gJydsYSAuYmFiLiBqYSdhIG1lbGJpJycgPSAiQm9iIGlzIGlu ZGVlZCBiZWF1dGlmdWwiLgoKCgpXaGlsZSB0aGUgbWVjaGFuaXNtIG9mICcnbmEga3UnJyByZXNl bWJsZXMgbmF0dXJhbCBsYW5ndWFnZSBuZWdhdGlvbiwgaXQgY2FuIGJlIGRpZmZpY3VsdCB0byBr ZWVwIHRyYWNrIG9mIGV4YWN0bHkgd2hhdCBpcyBuZWdhdGVkIGFuZCBob3cgdGhhdCBhZmZlY3Rz IHRoZSBicmlkaS4gRm9yIHRoYXQgcmVhc29uLCB0aGUgY29uc3RydWN0ICcnbmEga3UnJyBpcyBy YXJlbHkgc2VlbiBhbnl3aGVyZSBvdGhlciB0aGFuIHRoZSBiZWdpbm5pbmcgb2YgYSBicmlkaS4g SW4gbW9zdCBjYXNlcyB3aGVyZSBtb3JlIHNwZWNpZmljIG5lZ2F0aW9uIGlzIG5lZWRlZCBwZW9w bGUgcmVzb3J0IHRvIGEgZGlmZmVyZW50IG1ldGhvZC4gVGhpcyBtZXRob2QsIGNhbGxlZCBzY2Fs YXIgbmVnYXRpb24sIGlzIGFuIGVsZWdhbnQgYW5kIGludHVpdGl2ZSB0b29sLiBVc2luZyBpdCwg eW91IGVmZmVjdCBvbmx5IHRoZSBzZWxicmksIHNpbmNlIHRoZSB3b3JkcyB1c2VkIGluIHNjYWxh ciBuZWdhdGlvbiBiaW5kcyB0byB0aGUgc2VsYnJpIG11Y2ggbGlrZSB0aGUgd29yZCAnJ3NlJycu CgpUaGUgbmFtZSDigJxzY2FsYXIgbmVnYXRpb27igJ0gaXMgZGVyaXZlZCBmcm9tIHRoZSBmYWN0 IHRoYXQgdGhlIHdvcmRzIHdoaWNoIGJpbmQgdG8gdGhlIHNlbGJyaSBjYW4gYmUgcGxhY2VkIGFs b25nIGEgc2NhbGUgZnJvbSBhZmZpcm1hdGlvbiBvdmVyIG5lZ2F0aW9uIGFuZCB0byBzdGF0aW5n IHRoYXQgdGhlIG9wcG9zaXRlIGNhc2UgaXMgdHJ1ZToKCnx8V29yZHxNZWFuaW5nCgpqZSdhfOKA nEluZGVlZOKAnTsgc2NhbGFyIGFmZmlybWVyCgpubydlfOKAnE5vdCByZWFsbHnigJ0sIHNjYWxh ciBtaWRwb2ludAoKbmEnZXzigJxOb24t4oCcLCBzY2FsYXIgbmVnYXRvcgoKdG8nZXzigJxJbOKA nSwg4oCcRGlzLeKAnCwg4oCcTWlz4oCdIGVjdDsgc2NhbGFyIG9wcG9zZXJ8fAoKCgpUaGVzZSB3 b3JkcyBhcmUgbm90IG5lZ2F0b3JzIGluIHRoZSBzYW1lIHNlbnNlIGFzICcnbmEnJy4gVGhleSBk byBub3Qgc3RhdGUgdGhhdCBhIGJyaWRpIGlzIGZhbHNlLCBidXQgbWFrZXMgYSBwb3NpdGl2ZSBz dGF0ZW1lbnQgdGhhdCBhIGJyaWRpIGlzIHRydWUg4oCTIHRoZSBzYW1lIGJyaWRpLCBidXQgd2l0 aCBhIGRpZmZlcmVudCBzZWxicmkuIFRoaXMgZGlzdGluY3Rpb24gaXMgbW9zdGx5IGFjYWRlbWlj LCB0aG91Z2guIElmLCBmb3IgZXhhbXBsZSwgSSBzdGF0ZSB0aGF0ICcnbWkgbmEnZSBzZSBuZWxj aScnICJJIGFtIG5vbi1saWtlZCIsIEkgYWN0dWFsbHkgc3RhdGUgdGhhdCBzb21lIHNlbGJyaSBh cHBsaWVzIHRvIG1lLCB3aGljaCBpcyBhbHNvIG9uIGEgcmVsZXZhbnQgc2NhbGUgd2l0aCB0aGUg c2VsYnJpICcnbmVsY2knJy4gTW9zdCBvZiB0aGUgdGltZSwgd2UgYXNzdW1lIGEgc2NhbGUgd2hl cmUgdGhlIHBvc2l0aW9ucyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIChsaWtlIGxvdmUtbGlrZS1k aXNsaWtlLWhhdGUpLCBzbyAnJ21pIG5hJ2Ugc2UgbmVsY2knJyBpbXBsaWVzICcnbWkgbmEgc2Ug bmVsY2knJwoKVGhlcmVmb3JlLCB0aGUgd29yZHMgJydubydlJycgYW5kICcndG8nZScnIHNob3Vs ZCBvbmx5IGJlIHVzZWQgd2hlbiB0aGUgc2VsYnJpIGlzIHBsYWNlZCBvbiBzb21lIG9idmlvdXMg c2NhbGU6CgonJ2xlIG1pIHNwZW5pIGN1IHRvJ2UgbWVsYmknJyDigJMg4oCdTXkgc3BvdXNlIGlz IHVnbHnigJ0gbWFrZXMgc2Vuc2UsIHNpbmNlIHdlIGltbWVkaWF0ZWx5IGtub3cgd2hhdCB0aGUg b3Bwb3NpdGUgb2YgYmVhdXRpZnVsIGlzLCB3aGlsZQoKJydtaSBrbGFtYSBsZSBtaSB0bydlIHpk YW5pJycg4oCTIOKAnUkgZ28gdG8gbXkgb3Bwb3NpdGUgdGhpbmcgb2YgaG9tZeKAnSwgd2hpbGUg Z3JhbW1hdGljYWwsIGxlYXZlcyB0aGUgbGlzdGVuZXIgZ3Vlc3Npbmcgd2hhdCB0aGUgc3BlYWtl cidzIOKAnG9wcG9zaXRlLWhvbWXigJ0gaXMgYW5kIHNob3VsZCBiZSBhdm9pZGVkLgoKCgpTbyBo b3cgY2FuIHlvdSBuZWdhdGUgb25seSB0aGUgc2VsYnJpIHdpdGhvdXQgYWxzbyBpbXBseWluZyB0 aGF0IHRoZSBzZWxicmkgaXMgY29ycmVjdCBhdCBzb21lIG90aGVyIHBvc2l0aW9uIG9uIGEgdHJ1 dGgtc2NhbGU/IFNpbXBsZTogTW92aW5nIHRoZSAnJ25hIGt1JycgdG8gdGhlIHJpZ2h0bW9zdCBl bmQgb2YgdGhlIGJyaWRpLCBhcyBkZW1vbnN0cmF0ZWQgYSBmZXcgbGluZXMgYWJvdmUuIFRoaXMg ZmVhdHVyZSBpcyB2ZXJ5IHVzZWZ1bC4gU29tZSBsb2piYW5pc3RzIHByZWZlciB0byBwcmVmaXgg dGhlIHJhZnNpICcnbmFyJycgKHRoZSByYWZzaSBvZiAnJ25hJycpIGluIGZyb250IG9mIHRoZSBz ZWxicmkgLSB0aGlzIGhhcyB0aGUgc2FtZSBlZmZlY3QsIGJ1dCBJIGFkdmlzZSBhZ2FpbnN0IGl0 LCBiZWNhdXNlIGl0IG1ha2VzIGZhbWlsaWFyIGJyaXZsYSBzZWVtIGFsaWVuLCBhbmQgaXQncyBo YXJkZXIgdG8gdW5kZXJzdGFuZCB3aGVuIHNwb2tlbiBjYXN1YWxseS4KCklmIGEgc2l0dWF0aW9u IGFyaXNlcyB3aGVyZSB5b3UgbmVlZCB0byBuZWdhdGUgb25seSB0aGUgc2VsYnJpLCBidXQgd2Fu dCBpdCB0byBiZSBjbGVhciBiZWZvcmUgdGhlIGVuZCBvZiB0aGUgYnJpZGksIHRoZSBleHBlcmlt ZW50YWwgY21hdm8gJyduYSdlaScnLCB3aGljaCBncmFtbWF0aWNhbGx5IHdvcmtzIGxpa2UgJydu YSdlJycsIGNhbiBiZSB1c2VkCgpfXycnbmEnZWknJ19fOiBOZWdhdGVzIHRoZSBmb2xsb3dpbmcg c2VsYnJpIG9ubHkKCgoKVHJ5IHRvIHRyYW5zbGF0ZSB0aGVzZSBzZW50ZW5jZXM6CgrigJxNeSBz cG91c2UgaXMgbm90IGEgd29tYW7igJ0gKG1lYW5pbmcgdGhhdCBoZSBpcyBhIG1hbGUpCgoKCkFu c3dlcjogfn5ncmV5LGdyZXk6JydsZSBtaSBzcGVuaSBjdSBuYSdlIC8gdG8nZSBuaW5tdScnLiBV c2luZyBzY2FsYXIgbmVnYXRpb24gaGVyZSBpbXBsaWVzIHRoYXQgaGUgZXhpc3RzLCB3aGljaCBu YSBkaWQgbm90Ln5+CgoKCuKAnE15IHNwb3VzZSBpcyBub3QgcmVhbGx5IGEgd29tYW7igJ0KCgoK QW5zd2VyOiB+fmdyZXksZ3JleTonJ2xlIG1pIHNwZW5pIGN1IG5vJ2UgbmlubXUnJy4gVGhlIHNj YWxlIGhlcmUgaXMgcHJlc3VtZWQgdG8gYmUgZnJvbSB3b21hbiB0byBtYW4ufn4KCgoK4oCcSSBk b24ndCBzcGVhayBmYXN0IGluIEVuZ2xpc2ggYmVjYXVzZSBJJ20gR2VybWFu4oCdCgoKCkFuc3dl cjogfn5ncmV5LGdyZXk6JydtaSBuYSdlIHN1dHJhIHRhdmxhIGJhdSBsZSBnbGliYXUgc2UgamEn ZSBsZSBudSBtaSBkb3Rjbycnfn4KCgoKQWxzbywgbm90ZSB0aGF0IHdoZW5ldmVyIHRoZXNlIHdv cmRzIGFyZSB1c2VkIHRvZ2V0aGVyIHdpdGggYSB0YW5ydSwgdGhleSBvbmx5IGFmZmVjdCB0aGUg bGVmdG1vc3Qgc2VsYnJpLiBJbiBvcmRlciB0byBtYWtlIGl0IGJpbmQgdG8gdGhlIHdob2xlIHRh bnJ1IG9yIHBhcnRzIG9mIHRoZSB0YW5ydSwgdGhlIHVzdWFsIHRhbnJ1LWdyb3VwaW5nIHdvcmRz IGNhbiBiZSB1c2VkLgoKCgpUcnkgdG8gc2F5IOKAnEkgc2VsbCBzb21ldGhpbmcgd2hpY2ggaXMg bm90IHllbGxvdyBob21lc+KAnSB1c2luZyB0aGUgdGFucnUgJydwZWx4dSB6ZGFuaSB2ZWNudScn CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JydtaSBuYSdlIGtlIHBlbHh1IHpkYW5pIGtlJ2UgdmVj bnUgb3IgbWkgbmEnZSBwZWx4dSBibyB6ZGFuaSB2ZWNudScnfn4KCgoKV2hlbiBhdHRlbXB0aW5n IHRvIGFuc3dlcjog4oCcSXMgdGhlIGtpbmcgb2YgdGhlIFVTQSBmYXQ/4oCdLCBhbGwgb2YgdGhl c2UgbmVnYXRpb25zIGZhaWwuIFdoaWxlIGl0J3MgdGVjaG5pY2FsbHkgY29ycmVjdCB0byBuZWdh dGUgaXQgd2l0aCAnJ25hJycsIHNpbmNlIGl0IG1ha2VzIG5vIGFzc3VtcHRpb25zIG9mIHRoYXQg aXMgdHJ1ZSwgaXQncyBtaWxkbHkgbWlzbGVhZGluZyBzaW5jZSBpdCBjb3VsZCBsZWFkIHRoZSBs aXN0ZW5lciB0byBiZWxpZXZlIHRoZXJlIGlzIGEga2luZyBvZiB0aGUgVVNBLiBGb3IgdGhlc2Ug c2NlbmFyaW9zLCB0aGVyZSBpcyBhIG1ldGFsaW5ndWlzdGljIG5lZ2F0b3IsICcnbmEnaScnLgoK JyduYSdpJycgTWV0YWxpbmd1aXN0aWMgbmVnYXRvci4gU29tZXRoaW5nIGlzIHdyb25nIHdpdGgg YXNzaWduaW5nIGEgdHJ1dGggdmFsdWUgdG8gdGhlIGJyaWRpLgoKQmVjYXVzZSAnJ25hJ2knJyBj YW4gYmUgbmVlZGVkIGFueXdoZXJlIGl0IGhhcyBiZWVuIGdpdmVuIHRoZSBncmFtbWFyIG9mIHRo ZSBhdHRpdHVkaW5hbHMsIHdoaWNoIG1lYW5zIGl0IGNhbiBhcHBlYXIgYW55d2hlcmUsIGFuZCBp dCBhdHRhY2hlcyB0byB0aGUgcHJldmlvdXMgd29yZCBvciBjb25zdHJ1Y3QuCgoKCl9fJydwYWxj aScnX18geDEgaXMgZXZpbCBieSBzdGFuZGFyZCB4MgoKJydsZSBuYSdpIHB1IHRlIHp1a3RlIGJl IGxlIHNrYW1pIGN1IHBhbGNpJycg4oCTIOKAnVRoZSBzb3VnaHQgZ29hbCB7bWlzdGFrZSF9IG9m IHRoZSBjb21wdXRlciB3YXMgZXZpbOKAnSwgcHJvYmFibHkgcHJvdGVzdHMgdGhhdCBjb21wdXRl cnMgY2FuIHNlZWsgYSBnb2FsIHZvbGl0aW9uYWxseS4KCgoKU2luY2UgdGhpcyBpcyBhIGxlc3Nv biBvbiBuZWdhdGlvbiwgSSBiZWxpZXZlIHRoZSB3b3JkICcnbmFpJycgZGVzZXJ2ZXMgYSBzaG9y dCBtZW50aW9uLiBJdCBpcyB1c2VkIHRvIG5lZ2F0ZSBtaW5vciBncmFtbWF0aWNhbCBjb25zdHJ1 Y3RzLCBhbmQgY2FuIGJlIHVzZWQgaW4gY29tYmluYXRpb24gd2l0aCBhdHRpdHVkaW5hbHMsIGFs bCBzdW10Y2l0YSBpbmNsdWRpbmcgdGVuc2VzLCB2b2NhdGl2ZXMgYW5kIGxvZ2ljYWwgY29ubmVj dGl2ZXMuIFRoZSBydWxlcyBmb3IgbmVnYXRpbmcgdXNpbmcgJyduYWknJyBkZXBlbmQgb24gdGhl IGNvbnN0cnVjdCwgYW5kIHNvIHRoZSBlZmZlY3Qgb2YgJyduYWknJyBoYXMgYmVlbiBkaXNjdXNz ZWQgd2hlbiBtZW50aW9uaW5nIHRoZSBjb25zdHJ1Y3QgdGhlbXNlbHZlcy4gVGhlIGV4Y2VwdGlv biBpcyBzdW10Y2l0YSwgd2hlcmUgdGhlIHJ1bGVzIGZvciBuZWdhdGlvbiBhcmUgbW9yZSBjb21w bGV4LCBhbmQgd2lsbCBub3QgYmUgZGlzY3Vzc2VkIGhlcmUuCgpfX05vdGU6X18gQXQgdGhlIHRp bWUgb2Ygd3JpdGluZywgaXQgaGFzIGJlZW4gcHJvcG9zZWQgdG8gbW92ZSAnJ25haScnIHRvIHRo ZSBzZWxtYSdvIENBSSwgd2hpY2ggbWVhbnMgdGhlIHNlbWFudGljcyBvZiAnJ25haScnIGRlcGVu ZCBvbiB3aGljaCBzZWxtYSdvIGl0IGZvbGxvd3MuIAoKCgoKCiEhTG9qYmFuIExlc3NvbnMgLSBM ZXNzb24gdHdlbnR5LWZvdXIgKGJyaWthJ2kvcHJvLWJyaWRpIGFuZCBrbydhKQoKSWYgSSBzYXkg dGhhdCBJJ20gY2FsbGVkIE1pa2hhaWwsICcnbGEgLm1pa2FpbC4gY21lbmUgbWknJywgYW5kIHlv dSBoYXZlIHRvIHNheSB0aGUgZXhhY3Qgc2FtZSBicmlkaSwgd2hhdCB3b3VsZCB0aGF0IGJlPyBP bmUgb2YgdGhlIG1hbnkgYW5zd2VycyBpcyAnJ2RvIHNlIGNtZW5lIGxhIC5taWthaWwuJycuIEZv ciB0aGUgYnJpZGkgdG8gYmUgdGhlIHNhbWUsIHlvdSBoYXZlIHRvIHJlcGxhY2UgJydtaScnIHdp dGggJydkbycnLCBhbmQgaXQgZG9lc24ndCBtYXR0ZXIgd2hpY2ggaWYgeW91IHNheSB0aGUgYnJp ZGkgd2l0aCB0aGUgJydzZScnLWNvbnZlcnRlZCBzZWxicmkgb3Igbm90LiBUaGlzIGlzIGJlY2F1 c2UgYSBicmlkaSBpcyBub3QgdGhlIHdvcmRzIHdoaWNoIGV4cHJlc3MgaXQg4oCTIGEgYnJpZGkg aXMgYW4gaWRlYSwgYW4gYWJzdHJhY3QgcHJvcG9zaXRpb24uIFRoZSB3b3JkICcnbWknJyB3aGVu IEkgc2F5IGl0IGFuZCB0aGUgd29yZCAnJ2RvJycgd2hlbiB5b3UgZG8gcmVmZXJzIHRvIHRoZSBz YW1lIHN1bXRpLCBzbyB0aGUgdHdvIGJyaWRpIGFyZSBpZGVudGljYWwuCgpUaGlzIGxlc3NvbiBp cyBvbiAnJ2JyaWthJ2knJywgdGhlIGJyaWRpIGVxdWl2YWxlbnQgb2Ygc3Vta2EnaS4gVGhleSBh cmUgd29yZCB3aGljaCByZXByZXNlbnQgZW50aXJlIGJyaWRpLiBIZXJlIGl0IGlzIGltcG9ydGFu dCB0byByZW1lbWJlciB0aGF0IGEgYnJpZGkgY29uc2lzdHMgb25seSBvZiBzdW10aSBhbmQgdGhl IHRoaW5ncyB3aGljaCBjb250YWluIHRoZSBzdW10aSwgc2VsYnJpIGFuZCBzdW10Y2l0YS4gTmVp dGhlciBhdHRpdHVkaW5hbHMsIG5vciB0aGUgc2VtYW50aWMgbGF5ZXIgb2YgJydrbycnIG9yICcn bWEnJyBhcmUgcGFydCBvZiB0aGUgYnJpZGkgcHJvcGVyLCBhbmQgc28gdGhlc2UgYXJlIG5vdCBy ZXByZXNlbnRlZCBieSBhICcnYnJpa2EnaScnLgoKCgpUaGVyZSBhcmUgbXVjaCBmZXdlciAnJ2Jy aWthJ2knJyB0aGFuIHRoZXJlIGFyZSBzdW1rYSdpLiBXZSB3aWxsIGJlZ2luIGJ5IGdvaW5nIHRo cm91Z2ggc29tZSBvZiB0aGUgd29yZHMgaW4gdGhlIG1vc3QgdXNlZCBzZXJpZXMsIGNhbGxlZCBH T2hBOgoKV29yZDoJRGVmaW5pdGlvbjoKCl9fJydnbyd1JydfXwlSZXBlYXRzIHJlbW90ZSBwYXN0 IGJyaWRpCgpfXycnZ28nYScnX18JUmVwZWF0cyBwYXN0IGJyaWRpCgpfXycnZ28nZScnX18JUmVw ZWF0cyBuZXh0LXRvLWxhc3QgYnJpZGkKCl9fJydnbydpJydfXwlSZXBlYXRzIGxhc3QgbWVudGlv bmVkIGJyaWRpCgpfXycnZ28nbycnX18JUmVwZWF0cyBmdXR1cmUgYnJpZGkKCl9fJyduZWknJ19f CVJlcGVhdHMgY3VycmVudCBicmlkaQoKX18nJ25vJ2EnJ19fCVJlcGVhdHMgb3V0ZXIgYnJpZGkK CgoKU29tZSBvZiB0aGUgR09oQS0nJ2JyaWthJ2knJy4gTm90aWNlIHRoZSBmYW1pbGlhciBpLCBh LCB1LXBhdHRlcm4gZm9yIGNsb3NlIGluIHBhc3QsIG1lZGl1bSBpbiBwYXN0IGFuZCBkaXN0YW50 IGluIHBhc3QuCgoKClRoZXNlIGFyZSB2ZXJ5IG11Y2ggbGlrZSB0aGUgc3Vta2EnaSAnJ3JpJycs ICcncmEnJyBhbmQgJydydScnLiBUaGV5IGNhbiBvbmx5IHJlZmVyIHRvIG1haW4gYnJpZGkgb2Yg anVmcmEsIGFuZCBub3QgdGhvc2UgY29udGFpbmVkIGluIHJlbGF0aXZlIHBocmFzZXMgb3IgZGVz Y3JpcHRpb24gc3VtdGkuIFRoZSBtYWluIGJyaWRpIGNhbiBjb250YWluIGEgcmVsYXRpdmUgcGhy YXNlLCBvZiBjb3Vyc2UsIGJ1dCBhICcnYnJpa2EnaScnIGNhbiBuZXZlciBiZSB1c2VkIHRvIHJl ZmVyIHRvIG9ubHkgdGhlIHJlbGF0aXZlIHBocmFzZS4KCkEgR09oQSBhY3RzIGdyYW1tYXRpY2Fs bHkgbXVjaCBsaWtlIGEgc2VsYnJpLCBhbnkgY29uc3RydWN0IHdoaWNoIGNhbiBhcHBseSB0byBz ZWxicmkgY2FuIGFsc28gYXBwbHkgdG8gdGhlc2UuIFRoZSBwbGFjZSBzdHJ1Y3R1cmUgb2YgYSBH T2hBIGlzIHRoZSBzYW1lIGFzIHRoYXQgb2YgdGhlIGJyaWRpIGl0IHJlcHJlc2VudHMsIGFuZCB0 aGUgc3VtdGkgYXJlIGJ5IGRlZmF1bHQgdGhlIHNhbWUgYXMgaW4gdGhlIGJyaWRpIGl0IHJlcHJl c2VudHMuIEZpbGxpbmcgdGhlIHN1bXRpIHBsYWNlcyBvZiBhIEdPaEEgZXhwbGljaXRseSBvdmVy d3JpdGVzIHRoZSBzdW10aSBvZiB0aGUgYnJpZGkgaXQgcmVwcmVzZW50cy4gQ29udHJhc3Q6CgpB OiAnJ21pIGNpdGthIGxvIHBsaXNlJycgQjogJydnbydpJycg4oCTIOKAnEkgZWF0IGFuIGFwcGxl LuKAnSDigJxZb3UgZG8u4oCdIHdpdGgKCkE6ICcnbWkgY2l0a2EgbG8gcGxpc2UnJyBCOiAnJ21p IGdvJ2knJyDigJMg4oCcSSBlYXQgYW4gYXBwbGUu4oCdIOKAnEkgZG8sIHRvby7igJ0KCgoKVGhl c2UgJydicmlrYSdpJycgYXJlIHZlcnkgdXNlZnVsIHdoZW4gYW5zd2VyaW5nIGEgcXVlc3Rpb24g d2l0aCAnJ3h1Jyc6CgpBOiAnJ3h1IGRvIG5lbGNpIGxlIG1pIHNwZW5pJycgQjogJydnbydpIC8g bmEgZ28naScnIOKAkyDigJxEbyB5b3UgbGlrZSBteSB3aWZlP+KAnSDigJxZZXMuL05vLuKAnS4g VGhlICcneHUnJywgYmVpbmcgYW4gYXR0aXR1ZGluYWwsIGlzIG5vdCBjb3BpZWQuCgpXaGVuIHJl cGVhdGluZyBicmlkaSBuZWdhdGVkIGJ5ICcnbmEnJywgdGhhdCBpczogQnJpZGkgd2hlcmUgJydu YScnIGlzIHBsYWNlZCBpbiB0aGUgcHJlbmV4IChsZXNzb24gdHdlbnR5LXNldmVuKSwgaW4gdGhl IGJlZ2lubmluZyBvZiB0aGUgYnJpZGkgb3IgcmlnaHQgYmVmb3JlIHRoZSBzZWxicmksIHRoZSBy dWxlcyBmb3IgY29weWluZyBvdmVyICcnbmEnJyBhcmUgZGlmZmVyZW50IGZyb20gd2hhdCBvbmUg bWlnaHQgZXhwZWN0LiBBbnkgJyduYScnIGlzIGNvcGllZCBvdmVyLCBidXQgYW55IGFkZGl0aW9u YWwgJyduYScnIGluIHRoZSBicmlrYSdpIHJlcGxhY2VzIHRoZSBmaXJzdCBuYS4gTGV0IG1lIHNo b3cgeW91IHdpdGggYW4gZXhhbXBsZToKCkE6ICcnbWkgbmEgY2l0a2EgbG8gcGxpc2UnJwoKQjog JydtaSBnbydpJycgPSAnJ21pIG5hIGNpdGthIGxvIHBsaXNlJycKCkM6ICcnbWkgbmEgZ28naScn ID0gJydtaSBuYSBjaXRrYSBsbyBwbGlzZScnCgpEOiAnJ21pIG5hIG5hIGdvJ2knJyA9ICcnbWkg Y2l0a2EgbG8gcGxpc2UnJyA9ICcnbWkgamEnYSBnbydpJycKCgoKJyduZWknJyBhbmQgJydubydh JycgYXJlIG5vdCB1c2VkIG11Y2gsIGV4Y2VwdCBmb3Ig4oCcbWluZC1icmVha2luZyBwdXJwb3Nl c+KAnSwgd2hpY2ggaXMgbWFraW5nIHVwIGJyaWRpIHdoaWNoIGFyZSBoYXJkIHRvIHBhcnNlLCBs aWtlICcnZGVpIG5hIHNlIGR1J3UgbGUgbm8nYSBsYSdlIGxlIG5laScnLiBTaW5jZSAnJ25laScn IHJlcGVhdHMgdGhlIGN1cnJlbnQgb3V0ZXIgYnJpZGksIGhvd2V2ZXIsICcnbGUgbmVpJycgY2Fu IGJlIHVzZWQgdG8gcmVmZXIgdG8gdGhlIHgxIG9mIHRoZSBjdXJyZW50IG91dGVyIGJyaWRpLCAn J2xlIHNlIG5laScnIHRoZSB4MiBhbmQgc28gb24uCgoKCldoZW4gdXNpbmcgJydicmlrYSdpJycs IG9uZSBtdXN0IGFsd2F5cyBiZSB3YXJ5IG9mIGNvcHlpbmcgc2VudGVuY2VzIHdpdGggdGhlIHBl cnNvbmFsIHN1bWthJ2kgbGlrZSAnJ21pJycsICcnZG8nJywgJydtYSdhJycgZWN0LCBhbmQgYmUg Y2FyZWZ1bCBub3QgdG8gcmVwZWF0IHRoZW0gd2hlbiB0aGV5IGFyZSBpbiB0aGUgd3JvbmcgY29u dGVjdCwgYXMgc2hvd24gaW4gdGhlIHR3byBleGFtcGxlcyB3aXRoIGFwcGxlIGVhdGluZyBhYm92 ZS4gSW5zdGVhZCBvZiByZXBsYWNpbmcgdGhlbSBvbmUgYnkgb25lLCB0aG91Z2gsIHRoZSB3b3Jk ICcncmEnbycnIGFueXdoZXJlIGluIHRoZSBicmlkaSB1cGRhdGVzIHRoZSBwZXJzb25hbCBzdW1r YSdpIHNvIHRoYXQgdGhleSBhcHBseSBmb3IgdGhlIHNwZWFrZXIncyBwZXJzcGVjdGl2ZToKCkE6 ICcnbWkgZG8gcHJhbWknJyBCOiAnJ21pIGRvIGdvJ2knJyBpcyBlcXVpdmFsZW50IHRvIEE6ICcn bWkgZG8gcHJhbWknJyBCOiAnJ2dvJ2kgcmEnbycnCgpfXycncmEnbycnX18gVXBkYXRlIGFsbCBw ZXJzb25hbCBzdW1rYSdpIHNvIHRoYXQgdGhleSBub3cgZml0IHRoZSBzcGVha2VyJ3MgcG9pbnQg b2Ygdmlldy4KCgoKVGhlIG9ubHkgb3RoZXIgc2VyaWVzIG9mIGJyaWthJ2kgYXJlIHZlcnkgZWFz eSB0byByZW1lbWJlcjoKCl9fJydicm9kYScnX18JQnJpZGkgdmFyaWFibGUgMQoKX18nJ2Jyb2Rl JydfXwlCcmlkaSB2YXJpYWJsZSAyCgpfXycnYnJvZGknJ19fCUJyaWRpIHZhcmlhYmxlIDMKCl9f Jydicm9kbycnX18JQnJpZGkgdmFyaWFibGUgNAoKX18nJ2Jyb2R1JydfXwlCcmlkaSB2YXJpYWJs ZSA1CgpfXycnY2VpJydfXwlEZWZpbmUgYnJpZGkgdmFyaWFibGUgKG5vdCBhIGJyaWthJ2kgYW5k IG5vdCBpbiBCUk9EQSkKCgoKCgpUaGUgZmlyc3QgZml2ZSBhcmUganVzdCBmaXZlIGluc3RhbmNl cyBvZiB0aGUgc2FtZSB3b3JkLiBUaGV5IGNhbiBiZSB1c2VkIGFzIHNob3J0Y3V0cyB0byBicmlk aS4gQWZ0ZXIgc2F5aW5nIGEgYnJpZGksIHNheWluZyAnJ2NlaSBicm9kYScnIGRlZmluZXMgdGhh dCBicmlkaSBhcyAnJ2Jyb2RhJycsIGFuZCAnJ2Jyb2RhJycgY2FuIHRoZW4gYmUgdXNlZCBhcyAn J2JyaWthJ2knJyBmb3IgdGhhdCBicmlkaSBpbiB0aGUgZm9sbG93aW5nIGNvbnZlcnNhdGlvbi4K CldoaWxlIHdlJ3JlIGF0IGl0LCB0aGVyZSBpcyBhbiBhbmFsb2dvdXMgc2VyaWVzIG9mIHN1bWth J2ksIHdoaWNoIHByb2JhYmx5IGRvZXMgbm90IGJlbG9uZyBpbiB0aGlzIGxlc3NvbiwgYnV0IGhl cmUgdGhleSBhcmUgYW55d2F5OgoKX18nJ2tvJ2EnJ19fCVN1bXRpIHZhcmlhYmxlIDEJX18nJ2Zv J2EnJ19fCVN1bXRpIHZhcmlhYmxlIDYKCl9fJydrbydlJydfXwlTdW10aSB2YXJpYWJsZSAyCV9f JydmbydlJydfXwlTdW10aSB2YXJpYWJsZSA3CgpfXycna28naScnX18JU3VtdGkgdmFyaWFibGUg MwlfXycnZm8naScnX18JU3VtdGkgdmFyaWFibGUgOAoKX18nJ2tvJ28nJ19fCVN1bXRpIHZhcmlh YmxlIDQJX18nJ2ZvJ28nJ19fCVN1bXRpIHZhcmlhYmxlIDkKCl9fJydrbyd1JydfXwlTdW10aSB2 YXJpYWJsZSA1CV9fJydmbyd1JydfXwlTdW10aSB2YXJpYWJsZSAxMAoKCgphcyB3ZWxsIGFzIHRo ZSAnJ2NlaScnLWVxdWl2YWxlbnQgZm9yIHRoaXMgc2VyaWVzOgoKX18nJ2dvaScnX18gRGVmaW5l IHN1bXRpIHZhcmlhYmxlCgoKCgoKVGhlc2UgYXJlIHVzZWQgbGlrZSB0aGUgJydicmlrYSdpJyct c2VyaWVzLiBKdXN0IHBsYWNlLCBmb3IgaW5zdGFuY2UsICcnZ29pIGtvJ3UnJyBhZnRlciBhIHN1 bXRpLCBhbmQgdGhhdCBzdW10aSBjYW4gYmUgcmVmZXJyZWQgdG8gYnkgJydrbyd1JycuCgoKClN0 cmFuZ2VseSwgdGhlc2Ugc2VyaWVzIGFyZSByYXJlbHkgdXNlZCBmb3IgdGhlaXIgaW50ZW5kZWQg cHVycG9zZS4gVGhleSBhcmUsIGhvd2V2ZXIsIHVzZWQgYXMgYXJiaXRyYXJ5IHNlbGJyaSBhbmQg c3VtdGkgaW4gZXhhbXBsZSB0ZXh0czoKCuKAnFNvLCBpcyBpdCB0cnVlIHRoYXQgdGhlIHRydXRo IGNvbmRpdGlvbnMgb2YgJydrbydhIGtvJ2UgYnJvZGEgbmEga3UnJyBhcmUgYWx3YXlzIHRoZSBz YW1lIGFzICcnbmEga3Uga28nYSBrbydlIGJyb2RhJyc/4oCdIOKAnE5vcGUsIGl0IGlzbid0LuKA nQoKCgoKCiEhTG9qYmFuIExlc3NvbnMgLSBMZXNzb24gdHdlbnR5LWZpdmUgKGxvZ2ljYWwgY29u bmVjdGl2ZXMpCgrigJxJZiB5b3UgYXNrIGEgTG9qYmFuaXN0OiDigJxEbyB5b3Ugd2FudCBtaWxr IG9yIHN1Z2FyIGluIHlvdXIgY29mZmVlP+KAnSBzaGUnbGwgYW5zd2VyOiDigJxDb3JyZWN0LuKA neKAnQoKCgpXaXR0eSBhcyB0aGlzIGpva2UgbWlnaHQgYmUsIGl0IGlsbHVzdHJhdGVzIGEgd2Vp cmQgcHJvcGVydHkgb2YgdGhlIEVuZ2xpc2ggd2F5IG9mIGFza2luZyB0aGlzIHF1ZXN0aW9uLiBJ dCBpcyBwaHJhc2VkIGFzIGEgdHJ1ZS9mYWxzZSBxdWVzdGlvbiwgYnV0IGl0IHJlYWxseSBpc24n dC4gSW4gTG9qYmFuLCB3ZSBjYW4ndCBoYXZlIHRoaXMga2luZCBvZiBpbmNvbnNpc3RlbmN5LCBh bmQgc28gd2UgbXVzdCBmaW5kIGFub3RoZXIgd2F5IG9mIGFza2luZyB0aGlzIGtpbmQgb2YgcXVl c3Rpb24uIElmIHlvdSB0aGluayBhYm91dCBpdCwgaXQncyBwcmV0dHkgaGFyZCB0byBmaW5kIGEg Z29vZCBhbmQgZWFzeSB3YXksIGFuZCBpdCBzZWVtcyBMb2piYW4gaGF2ZSBwaWNrZWQgYSBnb29k IHdheSBpbnN0ZWFkIG9mIGFuIGVhc3kgd2F5LgoKCgpUbyBleHBsYWluIGl0LCBsZXQgdXMgdGFr ZSB0d28gc2VwYXJhdGUgYnJpZGk6IEJyaWRpIDE6IOKAnEkgbGlrZSBtaWxrIGluIG15IGNvZmZl ZeKAnSBhbmQgYnJpZGkgMjog4oCcSSBsaWtlIHN1Z2FyIGluIG15IGNvZmZlZeKAnS4gQm90aCBv ZiB0aGVzZSBicmlkaSBjYW4gaGF2ZSB0aGUgc3RhdGUgdHJ1ZSBvciBmYWxzZS4gVGhpcyB5aWVs ZHMgZm91ciBjb21iaW5hdGlvbnMgb2Ygd2hpY2ggYnJpZGkgaXMvYXJlIHRydWU6CgpBICkgMSBh bmQgMglCICkgMSBidXQgbm90IDIKCkMgKSAyIGJ1dCBub3QgMQlEICluZWl0aGVyIDEgbm9yIDIK CgoKSSwgaW4gYWN0dWFsaXR5LCBsaWtlIG1pbGsgaW4gbXkgY29mZmVlLCBhbmQgSSdtIGluZGlm ZmVyZW50IGFzIHRvIHdoZXRoZXIgdGhlcmUgaXMgc3VnYXIgaW4gaXQgb3Igbm90LiBUaGVyZWZv cmUsIG15IHByZWZlcmVuY2UgY2FuIGJlIHdyaXR0ZW4gQSApIHRydWUgQiApIHRydWUgQyApIGZh bHNlIEQgKSBmYWxzZSwgc2luY2UgYm90aCBBIGFuZCBCIHlpZWxkcyB0cnVlIGZvciBtZSwgYnV0 IG5laXRoZXIgQyBub3IgRCBkb2VzLiBBIG1vcmUgY29tcGFjdCB3YXkgb2Ygd3JpdGluZyBteSBj b2ZmZWUgcHJlZmVyZW5jZXMgd291bGQgYmUgVFRGRiBmb3IgdHJ1ZSwgdHJ1ZSwgZmFsc2UsIGZh bHNlLiBTaW1pbGFybHksIGEgcGVyc29uIGxpa2luZyBoaXMgY29mZmVlIGJsYWNrIGFuZCB1bnN3 ZWV0ZW5lZCB3b3VsZCBoYXZlIGEgY29mZmVlIHByZWZlcmVuY2Ugb2YgRkZGVC4gVGhpcyBjb21i aXRhdGlvbiBvZiAidHJ1ZSIgYW5kICJmYWxzZSIgaXMgY2FsbGVkIGEg4oCcdHJ1dGggZnVuY3Rp b27igJ0sIGluIHRoaXMgY2FzZSBmb3IgdGhlIHR3byBzdGF0ZW1lbnRzIOKAnEkgbGlrZSBtaWxr IGluIG15IGNvZmZlZeKAnSBhbmQg4oCcSSBsaWtlIHN1Z2FyIGluIG15IGNvZmZlZeKAnS4gTm90 ZSB0aGF0IHRoZSBvcmRlciBvZiB0aGUgc3RhdGVtZW50cyBtYXR0ZXJzLgoKSW4gTG9qYmFuLCB3 ZSBvcGVyYXRlIHdpdGggNCB0cnV0aCBmdW5jdGlvbnMsIHdoaWNoIHdlIGNvbnNpZGVyIGZ1bmRh bWVudGFsOgoKQTogVFRURiAoYW5kL29yKQoKTzogVEZGVCAoaWYgYW5kIG9ubHkgaWZmKQoKVTog VFRGRiAod2hldGhlciBvciBub3QpCgpFOiBURkZGIChhbmQpCgoKCkluIHRoaXMgZXhhbXBsZSwg dGhleSB3b3VsZCB0cmFuc2xhdGUgdG8gc29tZXRoaW5nIGxpa2U6IEE64oCdSnVzdCBub3QgYmxh Y2sgY29mZmVl4oCdLCBPOiDigJxFaXRoZXIgYm90aCBtaWxrIG9yIHN1Z2FyLCBvciBub3RoaW5n IGZvciBtZSwgcGxlYXNl4oCdLCBVOiDigJxNaWxrLCBhbmQgSSBkb24ndCBjYXJlIGFib3V0IGlm IHRoZXJlJ3Mgc3VnYXIgb3Igbm904oCdIGFuZCBFOiDigJxNaWxrIGFuZCBzdWdhciwgcGxlYXNl LuKAnS4KCgoKSW4gTG9qYmFuLCB5b3UgcGxhY2UgdGhlIHdvcmQgZm9yIHRoZSB0cnV0aCBmdW5j dGlvbiBiZXR3ZWVuIHRoZSB0d28gYnJpZGksIHNlbGJyaSBvciBzdW10aSBpbiBxdWVzdGlvbi4g VGhhdCB3b3JkIGlzIGNhbGxlZCBhIGxvZ2ljYWwgY29ubmVjdGl2ZS4gVGhlIHdvcmRzIGZvciB0 cnV0aCBmdW5jdGlvbnMgYmV0d2VlbiBzdW10aSAoYW5kIGp1c3QgZm9yIHN1bXRpISkgYXJlICAn Jy5hJycgJycubycnICcnLnUnJyBhbmQgJycuZScnLiBIb3cgbmljZS4gRm9yIGluc3RhbmNlOiDi gJxJIGFtIGZyaWVuZHMgd2l0aCBhbiBBbWVyaWNhbiBhbmQgYSBHZXJtYW7igJ0gd291bGQgYmUg JydsbyBtZXJrbyAuZSBsbyBkb3RjbyBjdSBwZW5kbyBtaScnLgoKSG93IHdvdWxkIHlvdSBzYXk6 IOKAnEkgc3BlYWsgdG8geW91IGFuZCBubyBvbmUgZWxzZT/igJ0KCgoKQW5zd2VyOiB+fmdyZXks Z3JleTonJ21pIHRhdmxhIGRvIC5lIG5vIGRyYXRhJycgTm90ZSB0aGF0IHRoaXMgYWN0dWFsbHkg c3RhdGVzIHRoYXQgaXQncyB0cnVlIHRoYXQgIkkgc3BlYWsgdG8geW91Ii5+fgoKCgpPbmUgbW9y ZTog4oCcSSBsaWtlIGNoZWVzZSB3aGV0aGVyIG9yIG5vdCBJIGxpa2UgY29mZmVl4oCdCgpfXycn Y2thZmknJ19fIHgxIGlzIGEgcXVhbnRpdHkvY29udGFpbnMgY29mZmVlIGZyb20gc291cmNlL29m IGdyYWluIHgyCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JydtaSBuZWxjaSBsbydlIGNpcmxhIC51 IGxvJ2UgY2thZmknJ35+CgoKCllvdSBjYW4gcGVyaGFwcyBkZWR1Y2UgdGhhdCB0aGVyZSBhcmUg c2l4dGVlbiBwb3NzaWJsZSB0cnV0aCBmdW5jdGlvbnMsIHNvIHdlIG5lZWQgdG8gbGVhcm4gdHdl bHZlIG1vcmUgaW4gb3JkZXIgdG8ga25vdyB0aGVtIGFsbC4gRWlnaHQgbW9yZSBjYW4gYmUgb2J0 YWluZWQgYnkgbmVnYXRpbmcgZWl0aGVyIHRoZSBmaXJzdCBzZW50ZW5jZSBvciB0aGUgc2Vjb25k LiBUaGUgZmlyc3QgaXMgbmVnYXRlZCBieSBwcmVmaXhpbmcgdGhlIHRydXRoIGZ1bmN0aW9uIHdv cmQgd2l0aCAnJ25hJycsIHRoZSBzZWNvbmQgaXMgbmVnYXRlZCBieSBwbGFjaW5nICcnbmFpJycg YWZ0ZXIgdGhlIHdvcmQuIEZvciBleGFtcGxlLCBzaW5jZSAnJy5lJycgcmVwcmVzZW50cyBURkZG LCAnJy5lIG5haScnIG11c3QgYmUg4oCcYm90aCAxIGlzIHRydWUgYW5kIDIgaXMgZmFsc2XigJ0s IHdoaWNoIGlzIEZURkYuIFNpbWlsYXJseSwgJyduYSAuYScnIGlzIOKAnEp1c3Qgbm90OiAxIGlz IHRydWUgYW5kIDIgaXMgZmFsc2XigJ0sIHdoaWNoIGlzIFRURlQuIERvaW5nIHRoaXMgdHlwZSBv ZiBjb252ZXJzaW9uIGluIHRoZSBoZWFkIHJlYWwtdGltZSBpcyB2ZXJ5LCB2ZXJ5IGhhcmQsIHNv IHBlcmhhcHMgb25lIHNob3VsZCBmb2N1cyBvbiBsZWFybmluZyBob3cgbG9naWNhbCBjb25uZWN0 aXZlcyB3b3JrIGluIGdlbmVyYWwsIGFuZCB0aGVuIGxlYXJuIHRoZSBsb2dpY2FsIGNvbm5lY3Rp dmVzIHRoZW1zZWx2ZXMgYnkgaGVhcnQuCgoKCkZvdXIgZnVuY3Rpb25zIGNhbm5vdCBiZSBtYWRl IHRoaXMgd2F5OiBUVFRULCBURlRGLCBGVEZUIGFuZCBGRkZGLiBUaGUgZmlyc3QgYW5kIHRoZSBs YXN0IGNhbm5vdCBiZSBtYWRlIHVzaW5nIGxvZ2ljYWwgY29ubmVjdGl2ZXMgYXQgYWxsLCBidXQg dGhleSBhcmUga2luZCBvZiB1c2VsZXNzIGFueXdheS4gVXNpbmcgYSBoeXBvdGhldGljYWwgbG9n aWNhbCBjb25uZWN0aXZlIGluIHRoZSBzZW50ZW5jZSDigJxJIGxpa2UgbWlsayBGRkZGIHN1Z2Fy IGluIG15IGNvZmZlZeKAnSBpcyBlcXVpdmFsZW50IHRvIHNheWluZyDigJxJIGRvbid0IGxpa2Ug Y29mZmVl4oCdLCBqdXN0IG1vcmUgY29tcGxpY2F0ZWQuIFRoZSBsYXN0IHR3bywgVEZURiBhbmQg RlRGVCwgY2FuIGJlIG1hZGUgYnkgcHJlZml4aW5nICcnLnUnJyB3aXRoIGdvb2Qgb2wnICcnc2Un Jywgd2hpY2gganVzdCByZXZlcnRzIHRoZSB0d28gc3RhdGVtZW50cy4gJydzZSAudScnICwgZm9y IGluc3RhbmNlIGlzIOKAnEIgd2hldGhlciBvciBub3QgQeKAnSwgd2hpY2ggaXMgVEZURi4gVGhl IGZpbmFsIGxpc3Qgb2YgYWxsIGxvZ2ljYWwgY29ubmVjdGl2ZXMgY2FuIGJlIHNlZW4gYmVsb3cu CgoKClRUVFQ6IENhbm5vdCBiZSBtYWRlCgpUVFRGOiAnJy5hJycKClRURlQ6ICcnLmEgbmFpJycK ClRURkY6ICcnLnUnJyBPUiAnJy51IG5haScnCgpURlRUOiAnJ25hIC5hJycKClRGVEY6ICcnc2Ug LnUnJwoKVEZGVDogJycubycnIE9SICcnbmEgLm8gbmFpJycKClRGRkY6ICcnLmUnJwoKRlRUVDog JyduYSAuYSBuYWknJwoKRlRURjogJyduYSAubycnIE9SICcnLm8gbmFpJycKCkZURlQ6ICcnc2Ug LnUgbmFpJycKCkZURkY6ICcnLmUgbmFpJycKCkZGVFQ6ICcnbmEgLnUnJyBPUiAnJ25hIC51IG5h aScnCgpGRlRGOiAnJ25hIC5lJycKCkZGRlQ6ICcnbmEgLmUgbmFpJycKCkZGRkY6IENhbm5vdCBi ZSBtYWRlCgoKCkxvZ2ljYWxseSwgc2F5aW5nIGEgc2VudGVuY2Ugd2l0aCBhIGxvZ2ljYWwgY29u bmVjdGl2ZSwgbGlrZSBmb3IgaW5zdGFuY2UgJydtaSBuZWxjaSBsbydlIGNpcmxhIC5lIG5haSBs bydlIGNrYWZpJycgaXMgZXF1aXZhbGVudCB0byBzYXlpbmcgdHdvIGJyaWRpLCB3aGljaCBhcmUg Y29ubmVjdGVkIHdpdGggdGhlIHNhbWUgbG9naWNhbCBjb25uZWN0aXZlOiAnJ21pIG5lbGNpIGxv J2UgY2lybGEgLmkge0UgTkFJfSBtaSBuZWxjaSBsbydlIGNrYWZpJycuIFRoaXMgaXMgaG93IHRo ZSBmdW5jdGlvbiBvZiBsb2dpY2FsIGNvbm5lY3RpdmVzIGlzIGRlZmluZWQuIFdlIHdpbGwgZ2V0 IHRvIGhvdyB0byBhcHBseSBsb2dpY2FsIGNvbm5lY3RpdmVzIHRvIGJyaWRpIGluIGEgbW9tZW50 LgoKCgpCeSBwdXR0aW5nIGEg4oCcauKAnSBpbiBmcm9udCBvZiB0aGUgY29yZSB3b3JkIG9mIGEg bG9naWNhbCBjb25uZWN0aXZlLCBpdCBjb25uZWN0cyB0d28gc2VsYnJpLiBBbiBleGFtcGxlIGlz ICcnbWkgbmlubXUgbmEgam8gbmFubXUnJyDigJxJIGFtIGEgbWFuIG9yIGEgd29tYW4sIGJ1dCBu b3QgYm90aOKAnQoKX18nJ25pbm11JydfXyB4MSBpcyBhIHdvbWFuCgoKClRoaXMgaXMg4oCcdGFu cnUtaW50ZXJuYWzigJ0sIG1lYW5pbmcgdGhhdCBpdCBsb29zZWx5IGJpbmRzIHNlbGJyaSB0b2dl dGhlciwgZXZlbiB3aGVuIHRoZXkgZm9ybSBhIHRhbnJ1OiAnJ2xvIGRvdGNvIGphIG1lcmtvIHBy ZW51JycgbWVhbnMg4oCcYSBHZXJtYW4gb3IgQW1lcmljYW4gbWFu4oCdLCBhbmQgaXMgcGFyc2Vk ICcnbG8nJyAoJydkb3RjbyBqYSBtZXJrbycnKSAnJ3ByZW51JycuIFRoaXMgYmluZGluZyBpcyBz bGlnaHRseSBzdHJvbmdlciB0aGF0IG5vcm1hbCB0YW5ydS1ncm91cGluZyAoc3RpbGwgd2Vha2Vy IHRoYW4gc3BlY2lmaWMgZ3JvdXBpbmctd29yZHMpLCBhbmQgYXMgc3VjaCwgJydsbyBkb3RjbyBq YSBtZXJrbyBuaW5tdSBqYSBuYW5tdScnIGlzIHBhcnNlZCAnJ2xvJycgKCcnZG90Y28gamEgbWVy a28nJykgKCcnbmlubXUgamEgbmFubXUnJykuIFRoZSBzZWxicmkgbG9naWNhbCBjb25uZWN0aXZl cyBjYW4gYWxzbyBiZSBhdHRhY2hlZCB0byAnJy5pJycgaW4gb3JkZXIgdG8gY29ubmVjdCB0d28g c2VudGVuY2VzIHRvZ2V0aGVyOiAnJ2xhIC5raW0uIGNtZW5lIG1pIC5pIGp1IG1pIG5hbm11Jycg 4oCcSSdtIGNhbGxlZCBLaW0sIHdoZXRoZXIgb3Igbm90IEknbSBhIG1hbuKAnS4gVGhlIGNvbWJp bmF0aW9uICcnLmkgamUnJyBzdGF0ZXMgdGhhdCBib3RoIHNlbnRlbmNlcyBhcmUgdHJ1ZSwgbXVj aCBsaWtlIHdlIHdvdWxkIGFzc3VtZSBoYWQgbm8gbG9naWNhbCBjb25uZWN0aXZlIGJlZW4gcHJl c2VudC4KCgoKVW5mYWlybHkgaGFyZCBxdWVzdGlvbjogVXNpbmcgbG9naWNhbCBjb25uZWN0aXZl cywgaG93IHdvdWxkIHlvdSB0cmFuc2xhdGUg4oCcSWYgeW91J3JlIGNhbGxlZCBCb2IsIHlvdSdy ZSBhIG1hbi7igJ0/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JydsYSAuYmFiLiBjbWVuZSBkbyAu aSBuYSBqYSBkbyBuYW5tdScnIG9yIOKAnEVpdGhlciB5b3UncmUgbm90IG5hbWVkIEJvYiBhbmQg YSBtYW4sIG9yIHlvdSdyZSBub3QgbmFtZWQgQm9iIGFuZCBub3QgYSBtYW4sIG9yIHlvdSdyZSBu YW1lZCBCb2IgYW5kIGEgbWFuLiBCdXQgeW91IGNhbid0IGJlIG5hbWVkIEJvYiBhbmQgbm90IGJl IGEgbWFuLuKAnSBUaGUgb25seSBjb21iaW5hdGlvbiBub3QgcGVybWl0dGVkIGlzOiDigJxZb3Un cmUgY2FsbGVkIEJvYiwgYnV0IG5vdCBhIG1hbi7igJ0gVGhpcyBtdXN0IG1lYW4gdGhhdCwgaWYg aXQncyB0cnVlIHRoYXQgeW91J3JlIGNhbGxlZCBCb2IsIHlvdSBtdXN0IGJlIGEgbWFuLn5+CgoK CklmIHdlIHRyeSB0byB0cmFuc2xhdGUgdGhlIHNhZCwgc2FkIGV2ZW50IG9mIOKAnEkgY3JpZWQg YW5kIGdhdmUgYXdheSBteSBkb2figJ0sIHdlIHJ1biBpbnRvIGEgcHJvYmxlbS4KCkF0dGVtcHRp bmcgdG8gc2F5IHRoZSBzZW50ZW5jZSB3aXRoIGEgJydqZScnIGJldHdlZW4gdGhlIHNlbGJyaSDi gJxnYXZl4oCdIGFuZCDigJxjcmllZOKAnSwgd291bGQgbWVhbiB0aGUgc2FtZSB3b3JkIGZvciB3 b3JkLCBidXQgdW5mb3J0dW5hdGVseSBtZWFuIHRoYXQg4oCcSSBjcmllZCB0aGUgZG9nIGFuZCBn YXZlIGF3YXkgdGhlIGRvZ+KAnSwgY2YuIHRoZSBkZWZpbml0aW9uIG9mIGxvZ2ljYWwgY29ubmVj dGl2ZXMuIE9uZSBjYW4gY3J5IHRlYXJzIG9yIGV2ZW4gYmxvb2QsIGJ1dCBjcnlpbmcgZG9ncyBp cyBqdXN0IHNpbGx5LgoKSG93ZXZlciwgd2UgY2FuIGdldCBhcm91bmQgYnkgdXNpbmcgYnJpZGkt dGFpbCBsb2dpY2FsIGNvbm5lY3RpdmVzLiBXaGF0IHRoZXkgZG8gaXMgdGhhdCBhbnkgcHJldmlv dXMgc3VtdGNpdGEgYW5kIHN1bXRpIGF0dGFjaGVzIHRvIGJvdGggc2VsYnJpIGJvdW5kIGJ5IHRo ZSBicmlkaS10YWlsIGxvZ2ljYWwgY29ubmVjdGl2ZSwgYnV0IGFueSBmb2xsb3dpbmcgc3VtdGkg b3Igc3VtdGNpdGEgb25seSBhcHBsaWVzIHRvIHRoZSBsYXN0IG1lbnRpb25lZDogVGhlIGJyaWRp IHNwbGl0cyB1cCBmcm9tIG9uZSBoZWFkIHRvIHR3byB0YWlscywgdG8gc3BlYWsgbWV0YXBob3Jp Y2FsbHkuCgpUaGUgZm9ybSBvZiBhIGJyaWRpLXRhaWwgbG9naWNhbCBjb25uZWN0aXZlIGlzIGdp J1YsIHdpdGggdGhlIFYgZm9yIHRoZSB2b3dlbCBvZiB0aGUgdHJ1dGggZnVuY3Rpb24uCgpIb3cg Y291bGQgeW91IGNvcnJlY3RseSB0cmFuc2xhdGUgdGhlIEVuZ2xpc2ggc2VudGVuY2UgdG8gTG9q YmFuPwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnbWkgcHUga2xha3UgZ2knZSBkdW5kYSBsZSBt aSBnZXJrdScnfn4KCgoKV2hhdCBkb2VzICcncm8gcmVtbmEgY3UgcGFsY2kgZ2knbyB6dWt0ZSBs byBwYWxjaScnIG1lYW4/CgpfXycncGFsY2knJ19fIHgxIGlzIGV2aWwgYnkgc3RhbmRhcmQgeDIK CgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxQZW9wbGUgYXJlIGV2aWwgaWYgYW5kIG9ubHkgaWYg dGhleSBkbyBldmlsIHRoaW5ncy7igJ1+fgoKCgpGdXJ0aGVybW9yZSwgdGhlcmUgaXMgYSBmb3Jl dGhvdWdodCBhbGwtYnV0IHRhbnJ1IGludGVybmFsIGdyb3VwIG9mIGNvbm5lY3RlcnMgbWFkZSBi eSBwcmVmaXhpbmcg4oCcZ+KAnSBpbiBmcm9udCBvZiB0aGUgdHJ1dGggZnVuY3Rpb24gdm93ZWwu IOKAnEZvcmV0aG91Z2h04oCdIGluIHRoaXMgY29udGV4dCBtZWFucyB0aGF0IHRoZXkgbmVlZCB0 byBnbyBpbiBmcm9udCBvZiB0aGUgdGhpbmdzIHRoZXkgY29ubmVjdCwgYW5kIHRodXMgeW91IG5l ZWQgdG8gdGhpbmsgYWJvdXQgdGhlIGdyYW1tYXRpY2FsIHN0cnVjdHVyZSBvZiB0aGUgc2VudGVu Y2UgYmVmb3JlIHNheWluZyBpdC4gQWxsLWJ1dCB0YW5ydSBpbnRlcm5hbCBtZWFucyB0aGF0IGl0 IHNlcnZlcyBib3RoIGFzIGEgY29ubmVjdGl2ZSBiZXR3ZWVuIHN1bXRpLCBicmlkaSwgc2VsYnJp IGFuZCBicmlkaS10YWlscywgYnV0IG5vdCBiZXR3ZWVuIHR3byBzZWxicmkgb2Ygb25lIHRhbnJ1 LiBMZXQgbWUgc2hvdyB5b3UgaG93IGl0IHdvcmtzLCByZXdyaXRpbmcgdGhlIExvamJhbiBzZW50 ZW5jZSBhYm92ZToKCicnZ28gbG8gcmVtbmEgY3UgcGFsY2kgZ2kgbG8gcmVtbmEgY3UgenVrdGUg bG8gcGFsY2knJwoKVGhlIGZpcnN0IGxvZ2ljYWwgY29ubmVjdGl2ZSBpbiB0aGVzZSBraW5kcyBv ZiBjb25zdHJ1Y3RzIGFyZSB3aGF0IGNhcnJpZXMgdGhlIHZvd2VsIHdoaWNoIHNpZ25hbCB3aGF0 IHRydXRoIGZ1bmN0aW9uIGlzIGJlaW5nIHVzZWQuIFRoZSBzZWNvbmQgbG9naWNhbCBjb25uZWN0 aXZlIGlzIGFsd2F5cyAnJ2dpJycsIGFuZCBsaWtlICcnLmknJywgaXQgaGFzIG5vIHRydXRoIGZ1 bmN0aW9uLiBJdCBzaW1wbHkgc2VydmVzIHRvIHNlcGFyYXRlIHRoZSB0d28gdGVybXMgYmVpbmcg Y29ubmVjdGVkLiBJZiB5b3Ugd2FudCB0byBuZWdhdGUgdGhlIGZpcnN0IG9yIHNlY29uZCBzZW50 ZW5jZSwgYSAnJ25haScnIGlzIHN1ZmZpeGVkIHRvIGVpdGhlciB0aGUgZmlyc3QgKGZvciB0aGUg Zmlyc3Qgc2VudGVuY2UpIG9yIHNlY29uZCAoZm9yIHRoZSBzZWNvbmQgc2VudGVuY2UpIGxvZ2lj YWwgY29ubmVjdGl2ZS4KClByb3ZpZGVkIHRoYXQgdGhlIGNvbnN0cnVjdHMgYXJlIHRlcm1pbmF0 ZWQgcHJvcGVybHksIGl0IGhhcyByZW1hcmthYmxlIGZsZXhpYmlsaXR5LCBhcyB0aGUgZm9sbG93 aW5nIGZldyBleGFtcGxlcyBkZW1vbnN0cmF0ZToKCicnbWkgZ28ga2xhbWEgZ2kgY2FkenUgdmF1 IGxlIG1pIHpkYW5pJycg4oCcSSBnbywgaWYgYW5kIG9ubHkgaWYgd2FsaywgdG8gbXkgaG9tZeKA nSBvciDigJxJIGNhbiBvbmx5IGdvIHRvIG15IGhvbWUgYnkgd2Fsa2luZy7igJ0gTm90aWNlIHRo YXQgdGhlICcndmF1JycgaXMgbmVlZGVkIHRvIG1ha2UgbGUgbWkgemRhbmkgYXBwbHkgdG8gYm90 aCAnJ2NhZHp1JycgYW5kICcna2xhbWEnJy4KCicnc2UgZ3UgZG8gZ2kgbmFpIG1pIGJhanJhIGxl IGRvIGNrdWxlJycg4oCcV2hldGhlciBvciBub3QgeW91LCB0aGVuIG5vdCBJLCBydW4gdG8geW91 ciBzY2hvb2zigJ0gb3Ig4oCcSSB3b24ndCBydW4gdG8geW91ciBzY2hvb2wgbm8gbWF0dGVyIGlm IHlvdSBkbyBvciBub3TigJ0KCgoKVGhlIHRhbnJ1LWludGVybmFsIGVxdWl2YWxlbnQgb2YgZ1Yg aXMgZ3UnVi4gVGhlc2UgYXJlIGV4YWN0bHkgdGhlIHNhbWUsIGV4Y2VwdCB0aGF0IHRoZXkgYXJl IGV4Y2x1c2l2ZWx5IHRhbnJ1LWludGVybmFsLCBhbmQgdGhhdCB0aGV5IGJpbmQgYSBzZWxicmkg dG8gdGhlICcnZ2knJyB0aWdodGVyIHRoYW4gbm9ybWFsIHRhbnJ1LWdyb3VwaW5nLCBidXQgd2Vh a2VyIHRoYW4gZXhwbGljaXQgYmluZGluZy1zdW10aToKCicnbGEgeGFuei5rcnQuIGd1J2UgbWVy a28gZ2kgZG90Y28gbmFubXUnJyBpcyBlcXVpdmFsZW50IHRvCgonJ2xhIHhhbnoua3J0LiBtZXJr byBqZSBkb3RjbyBuYW5tdScnCgoKCkFuZCBzbyB5b3UndmUgcmVhZCBwYWdlIHVwIGFuZCBwYWdl IGRvd24ganVzdCB0byBnZXQgdGhlIG5lY2Vzc2FyeSBrbm93bGVkZ2UgaW4gb3JkZXIgdG8gYmUg YWJsZSB0byBsZWFybiBob3cgdG8gYXNrIOKAnFdvdWxkIHlvdSBsaWtlIG1pbGsgb3Igc3VnYXIg aW4geW91ciBjb2ZmZWU/4oCdIGluIExvamJhbi4gU2ltcGx5IHBsYWNlIGEgcXVlc3Rpb24gbG9n aWNhbCBjb25uZWN0aXZlIGluc3RlYWQgb2YgYW5vdGhlciBsb2dpY2FsIGNvbm5lY3RpdmUsIGFu ZCBsaWtlICcnbWEnJywgaXQgYXNrcyB0aGUgbGlzdGVuZXIgdG8gZmlsbCBpbiBhIGNvcnJlY3Qg cmVzcG9uc2UuIFVuZm9ydHVuYXRlbHksIHRoZXNlIHF1ZXN0aW9uLWxvZ2ljYWwgY29ubmVjdGl2 ZXMgZG9uJ3QgYWx3YXlzIG1hdGNoIHRoZSBtb3JwaG9sb2dpY2FsIHBhdHRlcm4gb2YgdGhlIGxv Z2ljYWwgY29ubmVjdGl2ZXMgdGhleSBhc2sgZm9yOgoKX18nJ2ppJydfXyBMb2dpY2FsIGNvbm5l Y3RpdmUgcXVlc3Rpb246IEFza3MgZm9yIGEgc3VtdGkgbG9naWNhbCBjb25uZWN0aXZlIChBKQoK X18nJ2plJ2knJ19fIExvZ2ljYWwgY29ubmVjdGl2ZSBxdWVzdGlvbjogQXNrcyBmb3IgYSB0YW5y dS1pbnRlcm5hbCBzZWxicmkgbG9naWNhbCBjb25uZWN0aXZlIChKQSkKCl9fJydnaSdpJydfXyBM b2dpY2FsIGNvbm5lY3RpdmUgcXVlc3Rpb246IEFza3MgZm9yIGEgYnJpZGktdGFpbCBsb2dpY2Fs IGNvbm5lY3RpdmUgKEdJaEEpCgpfXycnZ2UnaScnX18gTG9naWNhbCBjb25uZWN0aXZlIHF1ZXN0 aW9uOiBBc2tzIGZvciBhIGZvcmV0aG91Z2h0IGFsbC1idXQgdGFucnUgaW50ZXJuYWwgbG9naWNh bCBjb25uZWN0aXZlIChHQSkKCl9fJydndSdpJydfXyBMb2dpY2FsIGNvbm5lY3RpdmUgcXVlc3Rp b246IEFza3MgZm9yIGEgZm9yZXRob3VnaHQgb25seSB0YW5ydSBpbnRlcm5hbCBsb2dpY2FsIGNv bm5lY3RpdmUgKEdVaEEpCgoKClNvLi4uIGhvdyB3b3VsZCB5b3UgYXNrIGlmIHRoZSBwZXJzb25z IHdhbnRzIG1pbGsgb3Igc3VnYXIgaW4gaGVyIGNvZmZlZT8KCl9fJydsYWRydScnX18geDEgaXMv Y29udGFpbnMgbWlsayBmcm9tIHNvdXJjZSB4MgoKX18nJ3Nha3RhJydfXyB4MSBpcy9jb250YWlu cyBzdWdhciBmcm9tIHNvdXJjZSB4MiBvZiBjb21wb3NpdGlvbiB4MwoKCgpQb3NzaWJsZSBhbnN3 ZXI6IH5+Z3JleSxncmV5Oicnc2FrdGEgamUnaSBsYWRydSBsZSBkbyBja2FmaScnIHRob3VnaCBJ IGd1ZXNzIHNvbWV0aGluZyBtb3JlIEVuZ2xpc2ggYW5kIGxlc3MgZWxlZ2FudCBjb3VsZCBhbHNv IHN1ZmZpY2UgbGlrZSAnJ2RvIGRqaWNhIGxlbnUgbG8gc2FrdGEgamkgbG8gbGFkcnUgY3UgbmVu cmkgbGUgZG8gY2thZmknJ35+CgoKCiEhTG9qYmFuIExlc3NvbnMgLSBMZXNzb24gdHdlbnR5LXNp eCAobm9uLWxvZ2ljYWwgY29ubmVjdGl2ZXMpCgpUaGUgd29yZCAibG9naWNhbCIgaW4gImxvZ2lj YWwgY29ubmVjdGl2ZSIgcmVmZXJzIHRvIHRoZSBhc3NvY2lhdGlvbiBhIGxvZ2ljYWwgY29ubmVj dGl2ZSBoYXMgd2l0aCBhIHRydXRoIGZ1bmN0aW9uLiBOb3QgYWxsIHVzZWZ1bCBjb25uZWN0aXZl cyBjYW4gYmUgZGVmaW5lZCB0aHJvdWdoIGEgdHJ1dGggZnVuY3Rpb24sIGhvd2V2ZXIsIGFuZCBz byB0aGVyZSBhcmUgb3RoZXIgY29ubmVjdGl2ZXMgYmVzaWRlIHRoZSBsb2dpY2FsIG9uZXMuCgpU aGUgbWVhbmluZyBvZiBhIGxvZ2ljYWwgY29ubmVjdGl2ZSBpcyBkZWZpbmVkIHRoZSBzYW1lIGFz IHR3byBkaWZmZXJlbnQgYnJpZGkgY29ubmVjdGVkIHdpdGggdGhhdCBsb2dpY2FsIGNvbm5lY3Rp dmUuIEZvciBpbnN0YW5jZSwgJydtaSBuaXRjdSBkbyAuYSBsYSAuZGphbi4nJyBpcyBkZWZpbmVk IHRvIGJlIGVxdWl2YWxlbnQgdG8gJydtaSBuaXRjdSBkbyAuaSBqYSBtaSBuaXRjdSBsYSAuZGph bi4nJy4gVGhpcyBkZWZpbml0aW9uIGlzIHVzZWZ1bCB0byBiZWFyIGluIG1pbmQsIGJlY2F1c2Ug aXQgaW1wbGllcyB0aGF0IHNvbWV0aW1lcywgc3VtdGkgY2Fubm90IGJlIGNvbm5lY3RlZCB3aXRo IGxvZ2ljYWwgY29ubmVjdGl2ZXMgd2l0aG91dCBjaGFuaW5nIHRoZSBtZWFuaW5nLiBDb25zaWRl ciB0aGUgc2VudGVuY2U6ICJKYWNrIGFuZCBKb2Ugd3JvdGUgdGhpcyBwbGF5LiIgT25lIGF0dGVt cHQgYXQgYSB0cmFuc2xhdGlvbiB3b3VsZCBiZTogJyd0aSBkcmFjaSBmaSBsYSAuZGphay4gZSBs YSAuZGpvdXMuJycKCl9fJydkcmFjaScnX18geDEgaXMgYSBkcmFtYS9wbGF5IGFib3V0IHgyIGJ5 IHdyaXRlci9kcmFtYXRpc3QgeDMgZm9yIGF1ZGllbmNlIHg0IHdpdGggYWN0b3JzIHg1CgoKClRo ZSBwcm9ibGVtIHdpdGggdGhpcyB0cmFuc2xhdGlvbiBpcyB0aGF0IGl0IG1lYW5zICcndGkgZHJh Y2kgbGEgLmRqYWsuIGlqZSB0aSBkcmFjaSBsYSAuZGpvdXMuJycsIHdoaWNoIGlzIG5vdCByZWFs bHkgdHJ1ZS4gTmVpdGhlciBKYWNrIG5vciBKb2Ugd3JvdGUgaXQsIHRoZXkgZGlkIHNvIHRvZ2V0 aGVyLiBXaGF0IHdlIHdhbnQgaGVyZSBpcyBvZiBjb3Vyc2UgYSBtYXNzLCBhbmQgc29tZSB3YXkg dG8gam9pbiBKYWNrIGFuZCBKb2UgaW4gb25lIG1hc3MuIFRoaXMgaGFzIGxpdHRsZSB0byBkbyB3 aXRoIGEgdHJ1dGggZnVuY3Rpb24gc28gd2UgbXVzdCB1c2UgYSBub24tbG9naWNhbCBjb25uZWN0 aXZlLCB3aGljaCBhcmUgb2Ygc2VsbWEnbyBKT0kuIFdlJ2xsIHJldHVybiB0byB0aGlzIEphY2sg YW5kIEpvZS1wcm9ibGVtIGluIGEgbGl0dGxlIC0gZmlyc3Q6IEZvdXIgb2YgdGhlIGtub3duIEpP SToKCgoKfHxUaGUgTG9qYmFuIGNvbm5lY3RpdmU6fCcnY2UnJ3wnJ2NlJ28nJ3wnJ2pvaScnfCcn am8ndScnCgpKb2lucyBzdW10aSBhbmQgZm9ybXMgYTp8c2V0fHNlcXVlbmNlfG1hc3N8Z3JvdXAg b2YgaW5kaXZpZHVhbHN8fAoKVGhlIGZ1bmN0aW9ucyBvZiB0aGVzZSB3b3JkcyBhcmUgc2ltcGxl OiAnJ2xvJ2kgcmVtbmEgam8ndSBsbydpIGdlcmt1JycgY29uc2lkZXJzIGJvdGggdGhlIHNldCBv ZiBodW1hbnMgYW5kIHRoZSBzZXQgb2YgZG9ncyBkaXN0cmlidXRpdmVseSAoYXMgaW5kaXZpZHVh bHMpLiBSZW1lbWJlciBmcm9tIGxlc3NvbiB0d2VudHktdHdvIChxdWFudGlmaWVycykgdGhhdCAi ZGlzdHJpYnV0aXZpdHkiIG1lYW5zIHRoYXQgd2hhdCBpcyB0cnVlIGZvciB0aGUgZ3JvdXAgaXMg YWxzbyB0cnVlIGZvciBlYWNoIG9mIHRoZSBpbmRpdmlkdWFscyBhbG9uZS4gU2ltaWxhcmx5ICcn bG9pIHJvIGdpc211IGNlJ28gbG9pIHJvIGx1anZvIGNlJ28gbG9pIHJvIGZ1J2l2bGEnJyBpcyBh IHNlcXVlbmNlIGNvbnNpc3Rpbmcgb2YgdGhlIG1hc3Mgb2YgYWxsIGdpc211LCBmb2xsb3dlZCBi eSB0aGUgbWFzcyBvZiBhbGwgbHVqdm8sIGZvbGxvd2VkIGJ5IHRoZSBtYXNzIG9mIGFsbCBmdSdp dmxhLgoKQXMgd2l0aCBhbGwgb2YgdGhlIEpPSSB3aGljaCBoYXMgYW4gaW5oZXJlbnQgb3JkZXIs ICcnc2UnJyBtYXkgYmUgcHV0IGJlZm9yZSAnJ2NlJ28nJyB0byBpbnZlcnNlIHRoZSBvcmRlcjog IkEgJydjZSdvJycgQiIgaXMgdGhlIHNhbWUgYXMgIkIgc2UgJydjZSdvJycgQSIuCgoKCkhvdyBj YW4geW91IGNvcnJlY3RseSB0cmFuc2xhdGUgIkphY2sgYW5kIEpvZSB3cm90ZSB0aGlzIHBsYXki PwoKQW5zd2VyOiB+fmdyZXksZ3JleTogJyd0aSBkcmFjaSBmaSBsYSAuZGphay4gam9pIGxhIC5k am91cy4nJ35+IAoKCgpUaGUgY21hdm8gb2YgSk9JIGFyZSB2ZXJ5IGZsZXhpYmxlOiBUaGV5IGNh biBhY3QgYm90aCBhcyBzdW10aSBjb25uZWN0aXZlcyBhbmQgdGFucnUtaW50ZXJuYWwgY29ubmVj dGl2ZXMsIHNvIHRoZXkgY2FuIGJlIHVzZWQgdG8gY29ubmVjdCBzdW10aSwgc2VsYnJpIGFuZCBi cmlkaS4gVGhpcyBmbGV4aWJpbGl0eSBtZWFucyB0aGF0IG9uZSBtdXN0IGJlIGNhcmVmdWwgdG8g dXNlIGZhJ29ybWEnbyBjb3JyZWN0bHkgd2hlbiB1c2luZyBhIEpPSS4gCgpXaGF0IGlzIHdyb25n IHdpdGggdGhlIGJyaWRpICcnbG8gZG90Y28gam8ndSBtaSBjdSBrbGFtYSBsYSBkb3RjbyBndWdk ZScnPwoKQW5zd2VyOiB+fmdyZXksZ3JleTogJydqbyd1JycgaXMgcHV0IGFmdGVyIGEgc2VsYnJp LCBzbyBpdCBleHBlY3RzIGEgc2VsYnJpIGFmdGVyIGl0IHRvIGNvbm5lY3QgdG8sIGJ1dCBub25l IGlzIGZvdW5kLiBIYWQgIGEgJydrdScnIGJlZW4gcHJlc2VudCBiZWZvcmUgdGhlIGNvbm5lY3Rp dmUsIGl0IHdvdWxkIGhhdmUgYmVlbiBncmFtbWF0aWNhbH5+CgoKCklmIHNldmVyYWwgSk9JIGFy ZSB1c2VkLCAnJ2JvJycgYW5kL29yICcna2UnJyBtYXkgYmUgdXNlZCB0byBvdmVycmlkZSB0aGUg dXN1YWwgbGVmdC1ncm91cGluZzogJydtaSBqb2kgZG8gY2UnbyBsYSAuZGphay4gam9pIGJvIGxh IC5kam91cy4gY3UgcHUnbyBjaSdlcmtlaSBkYW1iYSBsZWkgeHVucmUnJyAiTWUgYW5kIHlvdSwg YW5kIHRoZW4gSmFjayBhbmQgSm9lIGFyZSBhYm91dCB0aGUgcGxheSBhZ2FpbnN0IHRoZSByZWRz Ii4gQ29udHJhc3Qgd2l0aCAnJ21pIGpvaSBkbyBjZSdvIGxhIC5kamFrLiBqb2kgbGEgLmRqb3Vz LiBjdSBwdSdvIGNpJ2Vya2VpIGRhbWJhIGxlaSB4dW5yZScnIC0gIkZpcnN0IG1lIGFuZCB5b3Us IHRoZW4gSmFjayB3aWxsIHRvZ2V0aGVyIHdpdGggSm9lIHBsYXkgYWdhaW5zdCB0aGUgcmVkcyIu IAoKQ29ubmVjdGluZyBicmlkaSB3aXRoIEpPSSBjYW4gbWFrZSBzb21lIGludGVyZXN0aW5nIGlt cGxpY2F0aW9ucyBvZiB0aGUgcmVsYXRpb25zaGlwIGJldHdlZW4gdGhlIGJyaWRpOiAnJ2xhIC5k amFrLiBtb3JzaSByaSdhIGxvIG51IHJpIGR6dXNvaSAuaSBqb2kgbGUgamVtamEnYSBwbyByaSBj dSBiZWJuYScnIC0gIkphY2sgaXMgZGVhZCBiZWNhdXNlIGhlIHdhcyBhIGluZmFudHJ5IHNvbGRp ZXIgYW5kIGhpcyBnZW5lcmFsIHdhcyBhbiBpZGlvdCIsIGltcGx5aW5nIHRoYXQgdGhlc2UgdHdv IGJyaWRpIG1hc3NlZCB0b2dldGhlciB3YXMgdGhlIHBoeXNpY2FsIGNhdXNlIG9mIGhpcyBkZWF0 aDogSGFkIGhlIG9ubHkgYmVlbiBpbiBhbiBhcm1vcmVkIHZlaGljbGUgb3Igd2l0aCBhIGNvbXBl dGVudCBjb21tYW5kZXIsIGhlIG1pZ2h0IGhhZCBzdXJ2aXZlZC4KCl9fJydkenVzb2knJ19fIHgx IGlzIGFuIGluZmFudHJ5IHNvbGRpZXIgb2YgYXJteSB4MgoKX18nJ2plbWphJ2EnJ19fIHgxIGlz IGEgZ2VuZXJhbCBvZiBhcm15IHgyIGluIGZ1bmN0aW9uIHgzCgpfXycnYmVibmEnJ19fIHgxIGlz IGZvb2xpc2gvaWRpb3RpYyBpbiBwcm9wZXJ0eS9hc3BlY3QgeDIKCgoKTm9uLWxvZ2ljYWwgY29u bmVjdGl2ZXMgbWF5IGFsc28gYmUgbmVnYXRlZCB3aXRoICcnbmFpJycsIGluZGljYXRpbmcgdGhh dCBzb21lIG90aGVyIGNvbm5lY3RpdmUgaXMgYXBwcm9wcmlhdGU6ICcnbG8gZGphY3UgY2UnbyBu YWkgLmUnbyBsbyBsYWRydSBjdSBjYXZ5ZmxlIGZpIGxlIG1pIHRjYXRpJycgLSAiUGxlYXNlIGRv bid0IHBvdXIgZmlyc3Qgd2F0ZXIgdGhlbiBtaWxrIGluIG15IHRlYSIuIFRoaXMsIG9mIGNvdXJz ZSwgc2F5cyBub3RoaW5nIGFib3V0IHdoaWNoIGNvbm5lY3RpdmUgaXMgYXBwcm9wcmlhdGUgLSBv bmUgbWlnaHQgZ3Vlc3MgJydzZSBjZSdvJycgKGZpcnN0IG1pbGssIHRoZW4gd2F0ZXIpLCBvbmx5 IHRvIGZpbmQgb3V0IHRoYXQgJycuZSBuYWknJyAob25seSB3YXRlciwgbm8gbWlsayBhdCBhbGwp IHdhcyB0aGUgY29ycmVjdCBvbmUuCgpfXycnY2F2eWZsZScnX18geDEsIGNvbnNpc3Rpbmcgb2Yg eDIsIGZsb3dzIGludG8geDMgZnJvbSB4NAoKSnVzdCBsaWtlIGEgbG9naWNhbCBjb25uZWN0aXZl IGlzIGEgcGxhdXNpYmxlIG5lZ2F0aW9uIG9mIGEgbm9uLWxvZ2ljYWwgY29ubmVjdGl2ZSwgYW5z d2VycyB0byBxdWVzdGlvbnMgb2YgdGhlIHR5cGUgJydqaScnIG9yICcnamUnaScnIGNhbiBiZSBi b3RoIGxvZ2ljYWwgYW5kIG5vbi1sb2dpY2FsOiBBOiAnJ2xhZHJ1IGplJ2kgc2FrdGEgbGUgZG8g Y2thZmknJyBCOiAnJ3NlIGNlJ28nJyAoIk1pbGsgb3Igc3VnYXIgaW4geW91IGNvZmZlZT8iICJG aXJzdCB0aGUgbGF0dGVyLCB0aGVuIHRoZSBmb3JtZXIiKS4gSW4gdGhpcyBjYXNlICcnY2UnJyB3 b3VsZCBtYWtlIG5vIHNlbnNlIGF0IGFsbCwgc2luY2Ugc2V0cyBjYW4ndCBiZSBjb250YWluZWQg aW4gY29mZmVlLCBhbmQgJydqb2knJyAoYm90aCBtaXhlZCB0b2dldGhlcikgd291bGQgbWVhbiB0 aGUgc2FtZSBhcyAnJ2pvJ3UnJyAoYm90aCBvZiB0aGVtKSwgdW5sZXNzIHRoZSByZXNwb25kYW50 IHByZWZlcnJlZCB1bm1peGVkIHN1Z2FyIGluIGhpcyBjb2ZmZWUuCgoKClRoZSBmaWZ0aCBKT0kg SSBwcmVzZW50IGhlcmUgaXMgYSBiaXQgb2YgYW4gb2RkYmFsbDoKCl9fJydmYSd1JydfXyBOb24t bG9naWNhbCBjb25uZWN0aXZlOiBVbm1peGVkIG9yZGVyZWQgZGlzdHJpYnV0aW9uIChBIGFuZCBC LCByZXNwZWN0aXZlbHkpCgpXaGVuIG9ubHkgb25lICcnZmEndScnIGlzIHBsYWNlZCB3aXRoaW4g YSBicmlkaSAob3Igc2V2ZXJhbCBicmlkaSBjb25uZWN0ZWQgdG9nZXRoZXIgd2l0aCBjb25uZWN0 b3JzKSwgJydmYSd1JycgbWF5IGJlIGFzc3VtZWQgdG8gYmUgaWRlbnRpY2FsIHRvICcnam8ndScn LiBXaGVuIHNldmVyYWwgJydmYSd1JycgaXMgdXNlZCB3aXRoaW4gb25lIGJyaWRpLCBob3dldmVy LCB0aGUgY29uc3RydWN0cyBiZWZvcmUgJydmYSd1JycgZWFjaCBhcHBseSB0byBlYWNoIG90aGVy LCBhbmQgdGhlIGNvbnN0cnVjdHMgYWZ0ZXIgJydmYSd1JycgZWFjaCBhcHBseSB0byBlYWNoIG90 aGVyLiBMZXQncyBoYXZlIGFuIGV4YW1wbGU6CgonJ21pIGZhJ3UgZG8gcnVza28gZmEndSBrYWRu bycnIC0gIllvdSBhbmQgSSBhcmUgUnVzc2lhbiBhbmQgQ2FuYWRpYW4iLCBpbXBseWluZyB0aGF0 ICcnbWknJyBnb2VzIHdpdGggJydydXNrbycnIGFuZCAnJ2RvJycgZ29lcyB3aXRoICcna2Fkbm8n JywgYW5kIGltcGx5aW5nIG5vdGhpbmcgYWJvdXQgYW55IG90aGVyIGNvbWJpbmF0aW9uLiBPZiBj b3Vyc2UsIGluIHRoaXMgZXhhbXBsZSwgaXQgd291bGQgYmUgbXVjaCBlYXNpZXIgdG8gc2F5ICcn bWkgcnVza28gLmkgZG8ga2Fkbm8nJy4KCgoKVGhlc2UgbGFzdCB0aHJlZSBKT0kgY29ubmVjdHMg dHdvIHNldHMgdG8gbWFrZSBuZXcgc2V0czoKCl9fJydqbydlJydfXwlBIHVuaW9uIEIKCl9fJydr dSdhJydfXwlBIGludGVyc2VjdGlvbiBCCgpfXycncGkndSAnJ19fCUNyb3NzIHByb2R1Y3Qgb2Yg QSBhbmQgQgoKCgpUaGVzZSBhcmUgcHJvYmFibHkgbm90IHZlcnkgdXNlZnVsIGZvciB0aGUgYXZl cmFnZSBMb2piYW5pc3QsIGJ1dCBJIG1pZ2h0IGFzIHdlbGwgaW5jbHVkZSB0aGVtIGhlcmUuCgpU aGUgZmlyc3Qgb25lLCAnJ2pvJ2UnJywgbWFrZXMgYSBuZXcgc2V0IGZyb20gdHdvIHNldHMuIFRo aXMgbmV3IHNldCBjb250YWlucyBvbmx5IHRob3NlIG1lbWJlcnMgd2hpY2ggYXJlIGluIGJvdGgg c2V0cy4KCkEgc2V0IG1hZGUgd2l0aCAnJ2t1J2EnJyBjb250YWlucyBhbGwgdGhlIG1lbWJlcnMg b2Ygc2V0IEEgYW5kIHRob3NlIG9mIHNldCBCLiBJZiBhbnl0aGluZyBpcyBhIG1lbWJlciBvZiBi b3RoIHNldHMsIHRoZXkgYXJlIG5vdCBjb3VudGVkIHR3aWNlLgoKJydwaSd1JycgaXMgYSBsaXR0 bGUgbW9yZSBjb21wbGljYXRlZC4gQSBzZXQgIkEgJydwaSd1JycgQiIgY29udGFpbnMgYWxsIHRo ZSBwb3NzaWJsZSBjb21iaW5hdGlvbnMgb2YgImEgJydjZSdvJycgYiIsIHdoZXJlIGEgaXMgYSBt ZW1iZXIgb2YgQSBhbmQgYiBpcyBhIG1lbWJlciBvZiBCLiBJdCBpcyB0aHVzIGEgc2V0IG9mIHNl cXVlbmNlcyBvZiBtZW1iZXJzLiBJZiwgZm9yIGluc3RhbmNlLCBzZXQgQSBjb250YWluZWQgdGhl IG1lbWJlcnMgcCBhbmQgcSwgYW5kIHNldCBCIGNvbnRhaW5lZCBtZW1iZXJzIGYgYW5kIGcsIHRo ZW4gQSAnJ3BpJ3UnJyBCIHdvdWxkIGJlIGEgc2V0IGNvbnNpc3Rpbmcgb2YgdGhlIGZvdXIgbWVt YmVycyBwICcnY2UnbycnIGYsIHAgJydjZSdvJycgZywgcSAnJ2NlJ28nJyBmIGFuZCBxICcnY2Un bycnIGcuCgoKCiEhIUVuZCBvZiBwYXJ0IHR3bwoKKCh3YXZlbGVzc29uc2NvbnRpbnVlZHxSZXR1 cm4gdG8gdGhlIHdhdmVsZXNzb25zIHBhcnQgb25lKSkKClRoaXMgcGFydCBjb25jbHVkZXMgdGhl IHR1dG9yaWFsIHRvIG9yZGluYXJ5IExvamJhbi4gSW4gdGhlIHRoaXJkIHBhcnQsIEkgd2lsbCBm b2N1cyBvbiBhZHZhbmNlZCBMb2piYW4gLSB0aGUgcGFydHMgeW91IGRvbid0IGFjdHVhbGx5IG5l ZWQgdG8ga25vdyB0byBzcGVhayB0aGUgbGFuZ3VhZ2UuIEkgZGlzY291cmFnZSB5b3UgdG8gYmVn aW4gcmVhZGluZyB0aGUgdGhpcmQgcGFydCB1bnRpbCB5b3UgZmVlbCBjb21mb3J0YWJsZSBlbm91 Z2ggd2l0aCB0aGUgaW5mb3JtYXRpb24gaW4gdGhlIGZpcnN0IHR3byBwYXJ0cyB0byBob2xkIGFu IHdyaXR0ZW4gY29udmVyc2F0aW9uIGluIHRoZSBsYW5ndWFnZS4gSWYgeW91IF9fZG9fXyB3aXNo IHRvIGNvbnRpbnVlLCB5b3UgY2FuIHByZXNzICgod2F2ZWxlc3NvbnNjb250aW51ZWRwM3x0aGlz IGxpbmspKSB0byBnbyB0aGVyZS4KCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpXaWtpY2hhbmdlcyBtYWlsaW5nIGxpc3QKV2lraWNoYW5nZXNAbG9qYmFu Lm9yZwpodHRwOi8vbWFpbC5sb2piYW4ub3JnL21haWxtYW4vbGlzdGluZm8vd2lraWNoYW5nZXMK