Received: from localhost ([::1]:48707 helo=stodi.digitalkingdom.org) by stodi.digitalkingdom.org with esmtp (Exim 4.76) (envelope-from ) id 1TsQlx-0005NL-2N; Mon, 07 Jan 2013 20:26:45 -0800 Received: from 173-13-139-235-sfba.hfc.comcastbusiness.net ([173.13.139.235]:34503 helo=digitalkingdom.org) by stodi.digitalkingdom.org with smtp (Exim 4.76) (envelope-from ) id 1TsQlo-0005NE-Pz for wikichanges@lojban.org; Mon, 07 Jan 2013 20:26:43 -0800 Received: by digitalkingdom.org (sSMTP sendmail emulation); Mon, 7 Jan 2013 20:26:36 -0800 From: "Apache" Date: Mon, 7 Jan 2013 20:26:36 -0800 To: wikichanges@lojban.org X-PHP-Originating-Script: 48:htmlMimeMail.php MIME-Version: 1.0 Message-ID: X-Spam-Score: 2.0 (++) X-Spam_score: 2.0 X-Spam_score_int: 20 X-Spam_bar: ++ X-Spam-Report: Spam detection software, running on the system "stodi.digitalkingdom.org", has identified this incoming email as possible spam. The original message has been attached to this so you can view it (if it isn't spam) or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: The page wavelessonscontinued was changed by snanu at 04:26 UTC Comment: "Other texts does not" changed to "Other texts do not" You can view the page by following this link: http://www.lojban.org/tiki/wavelessonscontinued [...] Content analysis details: (2.0 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 RCVD_IN_DNSWL_BLOCKED RBL: ADMINISTRATOR NOTICE: The query to DNSWL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [173.13.139.235 listed in list.dnswl.org] 1.6 RCVD_IN_BRBL_LASTEXT RBL: RCVD_IN_BRBL_LASTEXT [173.13.139.235 listed in bb.barracudacentral.org] 0.4 RDNS_DYNAMIC Delivered to internal network by host with dynamic-looking rDNS Subject: [Wikichanges] Wiki page wavelessonscontinued changed by snanu 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 VGhlIHBhZ2Ugd2F2ZWxlc3NvbnNjb250aW51ZWQgd2FzIGNoYW5nZWQgYnkgc25hbnUgYXQgMDQ6 MjYgVVRDCkNvbW1lbnQ6ICJPdGhlciB0ZXh0cyBkb2VzIG5vdCIgY2hhbmdlZCB0byAiT3RoZXIg dGV4dHMgZG8gbm90IgoKWW91IGNhbiB2aWV3IHRoZSBwYWdlIGJ5IGZvbGxvd2luZyB0aGlzIGxp bms6CiAKaHR0cDovL3d3dy5sb2piYW4ub3JnL3Rpa2kvd2F2ZWxlc3NvbnNjb250aW51ZWQKCllv dSBjYW4gdmlldyBhIGRpZmYgYmFjayB0byB0aGUgcHJldmlvdXMgdmVyc2lvbiBieSBmb2xsb3dp bmcgdGhpcyBsaW5rOiAKaHR0cDovL3d3dy5sb2piYW4ub3JnL3Rpa2kvdGlraS1wYWdlaGlzdG9y eS5waHA/cGFnZT13YXZlbGVzc29uc2NvbnRpbnVlZCZjb21wYXJlPTEmb2xkdmVyPTQxJm5ld3Zl cj00MgoKCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqClRoZSBjaGFuZ2VzIGluIHRoaXMgdmVyc2lvbiBmb2xsb3cgYmVsb3csIGZvbGxv d2VkIGFmdGVyIGJ5IHRoZSBjdXJyZW50IGZ1bGwgcGFnZSB0ZXh0LgoqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgoKCistKy0rLSstKy0r LSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rCkBAIC1MaW5l czogNjgwLTY4NCBjaGFuZ2VkIHRvICtMaW5lczogNjgwLTY4NCBAQAorLSstKy0rLSstKy0rLSst Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKwpJbiB0cmFuc2xhdGlv biwgJydsbyBnZXJrdScnIGlzIHVzdWFsbHkg4oCcYSBkb2figJ0gb3Ig4oCcc29tZSBkb2dz4oCd LCB3aGlsZSAnJ2xlIGdlcmt1JycgaXMg4oCcdGhlIGRvZ+KAnSBvciDigJx0aGUgZG9nc+KAnS4g RXZlbiBiZXR0ZXIgZm9yICcnbGUgZ2Vya3UnJyB3b3VsZCBiZSDigJx0aGUg4oCcZG9nKHMp4oCd IOKAnQoKLSBMYXN0IG9mIHRoZSB0aHJlZSBiYXNpYyAnJ2dhZHJpJycsIHRoZXJlIGlzICcnbGEn JywgdGhlIG5hbWluZyAnJ2dhZHJpJycsIHdoaWNoIEkgaGF2ZSB1bmNvbnZlbnRpb25hbGx5IGNh bGxlZCBjb252ZW50aW9uYWwuIFdoYXQgSSBtZWFuIGJ5IHRoaXMgaXMgdGhhdCBpdHMgbmVpdGhl ciBkZXNjcmlwdGl2ZSBub3IgdmVyaWRpY2FsLCBzaW5jZSBpdCByZWZlcnMgdG8gYSBwcm9wZXIg bmFtZS4gSWYgSSBpbiBFbmdsaXNoIHJlZmVyIHRvIGEgcGVyc29uIGNhbGxlZCBJbm5vY2VudCBi eSBoZXIgbmFtZSwgSSBuZWl0aGVyIGRlc2NyaWJlIGhlciBhcyBiZWluZyBpbm5vY2VudCwgbm9y IGRvIEkgc3RhdGUgdGhhdCBzaGUgaXMuIEkgb25seSBzdGF0ZSB0aGF0IGJ5IGNvbnZlbnRpb24s IHRoYXQgb2JqZWN0IGlzIHJlZmVycmVkIHRvIGJ5IHRoYXQgc2VsYnJpIG9yIGNtZXZsYS4gTm90 ZSB0aGF0ICcnbGEnJyBhbmQgdGhlICcnZ2FkcmknJyBkZXJpdmVkIGZyb20gaXQgY2FuIGNvbnZl cnQgY21ldmxhIHRvIHN1bXRpIHVubGlrZSBhbnkgb3RoZXIgJydnYWRyaScnLiBBbHNvOiBCZSBj YXV0aW91czogT3RoZXIgdGV4dHMgZG9lcyBub3QgbWVudGlvbiB0aGF0IG5hbWVzIGNhbiBiZSBm b3JtZWQgZnJvbSBvcmRpbmFyeSBzZWxicmkgdXNpbmcgdGhlIGdhZHJpICcnbGEnJy4gQnV0IHRo b3NlIGhlcmV0aWNzIG11c3QgYnVybjsgc2VsYnJpIG5hbWVzIGFyZSBhcyBnb29kIGFzIHRoZXkg Z2V0LCBhbmQgbWFueSBhIHByb3VkIExvamJhbmlzdCBoYXZlIHRoZW0uCisgTGFzdCBvZiB0aGUg dGhyZWUgYmFzaWMgJydnYWRyaScnLCB0aGVyZSBpcyAnJ2xhJycsIHRoZSBuYW1pbmcgJydnYWRy aScnLCB3aGljaCBJIGhhdmUgdW5jb252ZW50aW9uYWxseSBjYWxsZWQgY29udmVudGlvbmFsLiBX aGF0IEkgbWVhbiBieSB0aGlzIGlzIHRoYXQgaXRzIG5laXRoZXIgZGVzY3JpcHRpdmUgbm9yIHZl cmlkaWNhbCwgc2luY2UgaXQgcmVmZXJzIHRvIGEgcHJvcGVyIG5hbWUuIElmIEkgaW4gRW5nbGlz aCByZWZlciB0byBhIHBlcnNvbiBjYWxsZWQgSW5ub2NlbnQgYnkgaGVyIG5hbWUsIEkgbmVpdGhl ciBkZXNjcmliZSBoZXIgYXMgYmVpbmcgaW5ub2NlbnQsIG5vciBkbyBJIHN0YXRlIHRoYXQgc2hl IGlzLiBJIG9ubHkgc3RhdGUgdGhhdCBieSBjb252ZW50aW9uLCB0aGF0IG9iamVjdCBpcyByZWZl cnJlZCB0byBieSB0aGF0IHNlbGJyaSBvciBjbWV2bGEuIE5vdGUgdGhhdCAnJ2xhJycgYW5kIHRo ZSAnJ2dhZHJpJycgZGVyaXZlZCBmcm9tIGl0IGNhbiBjb252ZXJ0IGNtZXZsYSB0byBzdW10aSB1 bmxpa2UgYW55IG90aGVyICcnZ2FkcmknJy4gQWxzbzogQmUgY2F1dGlvdXM6IE90aGVyIHRleHRz IGRvIG5vdCBtZW50aW9uIHRoYXQgbmFtZXMgY2FuIGJlIGZvcm1lZCBmcm9tIG9yZGluYXJ5IHNl bGJyaSB1c2luZyB0aGUgZ2FkcmkgJydsYScnLiBCdXQgdGhvc2UgaGVyZXRpY3MgbXVzdCBidXJu OyBzZWxicmkgbmFtZXMgYXJlIGFzIGdvb2QgYXMgdGhleSBnZXQsIGFuZCBtYW55IGEgcHJvdWQg TG9qYmFuaXN0IGhhdmUgdGhlbS4KClRoZXNlIHRocmVlIGJhc2ljICcnZ2FkcmknJyBjYW4gYmUg ZXhwYW5kZWQgd2l0aCB0aHJlZSBtb3JlLCB3aGljaCBjb3JyZXNwb25kcyB0byB0aGUgcHJldmlv dXM6CgoKCgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKgpUaGUgbmV3IHBhZ2UgY29udGVudCBmb2xsb3dzIGJlbG93LgoqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgoKIUxvamJh biBXYXZlIExlc3NvbnMgQ29udGludWVkOgoKISEhYnkgbGEga2xha3Ugd2l0aCBoZWxwIGZyb20g bGEgLmtyaWJhY3IuLCBsYSB4YWxibyBhbmQgb3RoZXJzLCBhdXR1bW4gMjAxMS4KCgoKISFsZXNz b24gemVybzogRm9yZXdvcmQKClRoZXNlIGxlc3NvbnMgYXJlIGFuIGF0dGVtcHQgdG8gZXhwYW5k IG9uIHRoZSBHb29nbGUgV2F2ZSBMZXNzb25zLCBhbiBleGNlbGxlbnQgTG9qYmFuIHR1dG9yaWFs IGJ5IGtyaWJhY3IsIHhhbGJvLCBhbmQgb3RoZXJzLCB3aGljaCBzYWRseSBvbmx5IGNvdmVyZWQg dGhlIGZpcnN0IGZvdXIgY2hhcHRlcnMgaW4gdGhpcyB0dXRvcmlhbC4gSXQgaW1wbGVtZW50cyB0 aGUgbmV3ZXN0IHJ1bGVzIG9mIExvamJhbiBub3QgY292ZXJlZCBieSBvbGRlciBtYXRlcmlhbHMg c3VjaCBhcyBXaGF0IGlzIExvamJhbj8gYW5kIExvamJhbiBmb3IgQmVnaW5uZXJzLgoKCgpJZiB5 b3UgYXJlIG5ldyB0byBMb2piYW4sIEkgcmVjb21tZW5kIGxpc3RlbmluZyB0byBhbnkgcmVjb3Jk aW5ncyB5b3UgY2FuIGZpbmQgb2Ygc3Bva2VuIExvamJhbiBib3RoIGJlZm9yZSBhbmQgd2hpbGUg eW91IGFyZSB0YWtpbmcgdGhpcyB0dXRvcmlhbCwgaW4gb3JkZXIgdG8gbWFrZSB5b3Vyc2VsZiBm YW1pbGlhciB3aXRoIHRoZSBzb3VuZHMgYW5kIHdvcmRzIG9mIHRoZSBsYW5ndWFnZSwgd2hpY2gg d2lsbCBub3QgYmUgZXhwbGFpbmVkIGhlcmUuIEZ1cnRoZXJtb3JlLCB0cnkgdG8gc2F5IHRoZSB0 aGluZ3MgeW91IHJlYWQgaW4gTG9qYmFuIGFjY2VudCBpZiBpdOKAmXMgcmVhc29uYWJseSBwcmFj dGljYWwuIFRoaXMgY2FuIGhlbHAgeW91ciBwcm9udW5jaWF0aW9uIGEgbG90LgoKCgpXaGVuIHRh a2luZyB0aGlzIHR1dG9yaWFsLCBpdOKAmXMgYmVzdCB0byBwYXVzZSBiZXR3ZWVuIGxlc3NvbnMg aW4gb3JkZXIgdG8gaW50ZXJuYWxpemUgd2hhdCB5b3UgaGF2ZSBsZWFybnQuIEkgaGF2ZSBhdHRl bXB0ZWQgdG8gYnVpbGQgdGhlc2UgbGVzc29ucyBmcm9tIHRoZSBib3R0b20gdXAgYW5kIGV4Y2x1 ZGUgYW55IHdvcmRzIG9yIGNvbmNlcHRzIHRoYXQgaGF2ZSBub3QgYmVlbiBleHBsYWluZWQgaW4g cHJldmlvdXMgbGVzc29ucy4gT25jZSBleHBsYWluZWQsIHRoZXkgYXJlIHVzZWQgZnJlZWx5IHRo cm91Z2hvdXQgdGhlIHJlbWFpbmRlciBvZiB0aGUgdHV0b3JpYWwuIEkgdXJnZSByZWFkZXJzIG5v dCB0byBwYXNzIGFueSBtaXN1bmRlcnN0b29kIGNvbnRlbnQ7IGlmIHlvdSBoYXZlIHF1ZXN0aW9u cyBvciBhcmUgdW5jZXJ0YWluIGFib3V0IHNvbWV0aGluZywgZmVlbCBmcmVlIHRvIGFzayB0aGUg TG9qYmFuIGNvbW11bml0eSwgd2hpY2ggY2FuIGJlIGZvdW5kIGluICNsb2piYW4gb24gdGhlIEZy ZWVub2RlIElSQyBuZXR3b3JrLiBUaGV5IHdpbGwgYmUgaGFwcHkgdG8gaGVscC4KCgoKSW4gdGhp cyB0dXRvcmlhbCwgTG9qYmFuIHRleHQgaXMgd3JpdHRlbiBpbiAnJ2l0YWxpY3MnJy4gTGF0ZXIs IHdoZW4gdXNlZCBhcyBMb2piYW4gbG9hbndvcmRzIGluIEVuZ2xpc2ggc2VudGVuY2VzLCB0aGV5 IGFyZSBub3QgbWFya2VkLiBBbnN3ZXJzIHRvIGV4ZXJjaXNlcyBhcmUgZGlzcGxheWVkIGFzIGEg Z3JleSBiYXIuIEhpZ2hsaWdodCB0aGUgdGV4dCBpbiBvcmRlciB0byBzZWUgaXQuCgoKCkxhc3Rs eSwgSSBoYXZlIGFzIGZhciBhcyBwb3NzaWJsZSBhdHRlbXB0ZWQgdG8gdXNlIHRoZSBMb2piYW4g d29yZHMgZm9yIGdyYW1tYXRpY2FsIGNvbnN0cnVjdHM6ICcnc3Vta2HigJlpJycgaW5zdGVhZCBv ZiBwcm8tc3VtdGksICcnc3VtdGNpdGEnJyBpbnN0ZWFkIG9mIG1vZGFsIGFuZCBqdWZyYSBpbnN0 ZWFkIG9mIHV0dGVyYW5jZS4gVGhpcyBpcyBiZWNhdXNlIEkgZmVlbCB0aGUgRW5nbGlzaCB3b3Jk cyBhcmUgb2Z0ZW4gZWl0aGVyIGFyYml0cmFyeSwgaW4gd2hpY2ggY2FzZSB0aGV5IGFyZSBqdXN0 IG1vcmUgd29yZHMgdG8gbGVhcm4sIG9yIG1pc2xlYWRpbmcsIGluIHdoaWNoIGNhc2UgdGhleSBh cmUgd29yc2UgdGhhbiB1c2VsZXNzLiBJbiBlaXRoZXIgY2FzZSwgYXMgbG9uZyBhcyB0aGUgd29y ZHMgYXJlIHNwZWNpZmljIHRvIHRob3NlIHdobyBhcmUgbGVhcm5pbmcgTG9qYmFuIGFueXdheSwg dGhlcmUgaXMgbm8gcmVhc29uIGZvciB0aGVtIHRvIGV4aXN0IGFzIHNlcGFyYXRlIEVuZ2xpc2gg d29yZHMuCgoKCgoKISFMb2piYW4gTGVzc29ucyDigJMgbGVzc29uIG9uZSAoYnJpZGksIGp1ZnJh LCBzdW10aSBhbmQgc2VsYnJpKQoKQSAnJ2JyaWRpJycgaXMgdGhlIG1vc3QgY2VudHJhbCB1bml0 IG9mIExvamJhbiB1dHRlcmFuY2VzLiBUaGUgY29uY2VwdCBpcyB2ZXJ5IGNsb3NlIHRvIHdoYXQg d2UgY2FsbCBhIHByb3Bvc2l0aW9uIGluIEVuZ2xpc2guIEEgYnJpZGkgaXMgYSBjbGFpbSB0aGF0 IHNvbWUgb2JqZWN0cyBzdGFuZCBpbiBhIHJlbGF0aW9uIHRvIGVhY2ggb3RoZXIsIG9yIHRoYXQg YW4gb2JqZWN0IGhhcyBzb21lIHByb3BlcnR5LiBUaGlzIHN0YW5kcyBpbiBjb250cmFzdCB0byAn J2p1ZnJhJycsIHdoaWNoIGFyZSBtZXJlbHkgTG9qYmFuIHV0dGVyYW5jZXMsIHdoaWNoIGNhbiBi ZSBicmlkaSBvciBhbnl0aGluZyBlbHNlIGJlaW5nIHNhaWQuIFRoZSBkaWZmZXJlbmNlIGJldHdl ZW4gYSBicmlkaSBhbmQgYSBqdWZyYSBpcyB0aGF0IGEganVmcmEgZG9lcyBub3QgbmVjZXNzYXJp bHkgc3RhdGUgYW55dGhpbmcsIHdoaWxlIGEgYnJpZGkgZG9lcy4gVGh1cywgYSBicmlkaSBtaWdo dCBiZSB0cnVlIG9yIGZhbHNlLCB3aGlsZSBub3QgYWxsIGp1ZnJhIGNhbiBiZSBzYWlkIHRvIGJl IHN1Y2guCgpUbyBoYXZlIHNvbWUgZXhhbXBsZXMgKGluIEVuZ2xpc2gsIHRvIGJlZ2luIHdpdGgp LCDigJxNb3phcnQgd2FzIHRoZSBncmVhdGVzdCBtdXNpY2lhbiBvZiBhbGwgdGltZeKAnSBpcyBh IGJyaWRpLCBiZWNhdXNlIGl0IG1ha2VzIGEgY2xhaW0gd2l0aCBhIHRydXRoIHZhbHVlLCBhbmQg aXQgaW52b2x2ZXMgYW4gb2JqZWN0LCBNb3phcnQsIGFuZCBhIHByb3BlcnR5LCBiZWluZyB0aGUg Z3JlYXRlc3QgbXVzaWNpYW4gb2YgYWxsIHRpbWUuIE9uIHRoZSBjb250cmFyeSwg4oCcT3chIE15 IHRvZSHigJ0gaXMgbm90IGEgYnJpZGksIHNpbmNlIGl0IGRvZXMgbm90IGludm9sdmUgYSByZWxh dGlvbiwgYW5kIHRodXMgZG9lcyBub3Qgc3RhdGUgYW55dGhpbmcuIEJvdGgsIHRob3VnaCwgYXJl IGp1ZnJhLgoKVHJ5IHRvIGlkZW50aWZ5IHRoZSBicmlkaSBhbW9uZyB0aGVzZSBFbmdsaXNoIGp1 ZnJhOgoKCgojIOKAnEkgaGF0ZSBpdCB3aGVuIHlvdSBkbyB0aGF0LuKAnQoKIyDigJxSdW5zLuKA nQoKIyDigJxXb2FoLCB0aGF0IGxvb2tzIGRlbGljaW91cyHigJ0KCiMg4oCcR2Vleiwgbm90IGFn YWluLuKAnQoKIyDigJxObywgSSBvd24gdGhyZWUgY2Fyc+KAnQoKIyDigJxOaW5ldGVlbiBtaW51 dGVzIHBhc3QgZWlnaHQu4oCdCgojIOKAnFRoaXMgU2F0dXJkYXksIHllcy7igJ0KCgoKQW5zd2Vy OiB+fmdyZXksZ3JleToxLCAzIGFuZCA1IGFyZSBicmlkaS4gMiBjb250YWlucyBubyBvYmplY3Rz IGFuZCB0aGUgcmVzdCBjb250YWluIG5vIHJlbGF0aW9uIG9yIGNsYWltIG9mIGEgcHJvcGVydHku fn4KCgoKUHV0IGluIExvamJhbiB0ZXJtcywgYSBicmlkaSBjb25zaXN0cyBvZiBvbmUgJydzZWxi cmknJywgYW5kIG9uZSBvciBtb3JlICcnc3VtdGknJy4gVGhlIHNlbGJyaSBpcyB0aGUgcmVsYXRp b24gb3IgY2xhaW0gYWJvdXQgdGhlIG9iamVjdCwgYW5kIHRoZSBzdW10aSBhcmUgdGhlIG9iamVj dHMgd2hpY2ggYXJlIGluIGEgcmVsYXRpb24uIE5vdGUgdGhhdCDigJxvYmplY3TigJ0gaXMgbm90 IGEgcGVyZmVjdCB0cmFuc2xhdGlvbiBvZiDigJxzdW10aeKAnSwgc2luY2Ug4oCcc3VtdGnigJ0g Y2FuIHJlZmVyIHRvIG5vdCBqdXN0IHBoeXNpY2FsIG9iamVjdHMsIGJ1dCBjYW4gYWxzbyBwdXJl bHkgYWJzdHJhY3QgdGhpbmdzIGxpa2Ug4oCcVGhlIGlkZWEgb2Ygd2FyZmFyZeKAnS4gQSBiZXR0 ZXIgdHJhbnNsYXRpb24gd291bGQgYmUgc29tZXRoaW5nIGxpa2Ug4oCcc3ViamVjdCwgZGlyZWN0 IG9yIGluZGlyZWN0IG9iamVjdOKAnSBmb3Igc3VtdGksIGFuZCDigJx2ZXJi4oCdIGZvciBzZWxi cmksIHRob3VnaCwgYXMgd2Ugd2lsbCBzZWUsIHRoaXMgaXMgbm90IG9wdGltYWwgZWl0aGVyLgoK V2UgY2FuIG5vdyB3cml0ZSB0aGUgZmlyc3QgaW1wb3J0YW50IGxlc3NvbiBkb3duOgoKYnJpZGkg PSBzZWxicmkgKyBvbmUgb3IgbW9yZSBzdW10aQoKUHV0IGFub3RoZXIgd2F5LCBhIGJyaWRpIHN0 YXRlcyB0aGF0IHNvbWUgc3VtdGkgZG8vYXJlIHNvbWV0aGluZyBleHBsYWluZWQgYnkgYSBzZWxi cmkuCgoKCklkZW50aWZ5IHRoZSBzdW10aSBhbmQgc2VsYnJpIGVxdWl2YWxlbnRzIGluIHRoZXNl IEVuZ2xpc2gganVmcmE6CgrigJxJIHdpbGwgcGljayB1cCBteSBkYXVnaHRlcnMgd2l0aCBteSBj YXLigJ0KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTpzZWxicmk6IOKAnHBpY2sgdXAgKHdpdGgp4oCd LiBzdW10aTog4oCcSeKAnSwg4oCcbXkgZGF1Z2h0ZXJz4oCdLCDigJxteSBjYXLigJ1+fgoKCgri gJxIZSBib3VnaHQgc2l4dGVlbiBuZXcgc2hpcnRzIGZyb20gTGVhJkxldnnigJlzIGZvciBqdXN0 IHR3byBodW5kcmVkIGV1cm8h4oCdCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6c2VsYnJpOiDigJxi b3VnaHQgKGZyb20pIChmb3Ip4oCdIHN1bXRpOiDigJxIZeKAnSwg4oCcc2l4dGVlbiBuZXcgc2hp cnRz4oCdLCDigJxMZWEmTGV3aXPigJ0gYW5kIOKAnHR3byBodW5kcmVkIGV1cm9z4oCdfn4KCgoK U2luY2UgdGhlc2UgY29uY2VwdHMgYXJlIHNvIGZ1bmRhbWVudGFsIHRvIExvamJhbiwgbGV04oCZ cyBoYXZlIGEgdGhpcmQgZXhhbXBsZTog4oCcU28gZmFyLCB0aGUgRVBBIGhhcyBkb25lIG5vdGhp bmcgYWJvdXQgdGhlIGFtb3VudCBvZiBzdWxwaHVyIGRpb3hpZGUgaW4gdGhlIGFpci7igJ0KCgoK QW5zd2VyOiB+fmdyZXksZ3JleTpzZWxicmk6IOKAnGhhcyBkb25lIChhYm91dCnigJ0gc3VtdGk6 IOKAnFRoZSBFUEHigJ0sIOKAnG5vdGhpbmfigJ0gYW5kIOKAnHRoZSBhbW91bnQgb2Ygc3VscGh1 ciBkaW94aWRlIGluIHRoZSBhaXLigJ1+fgoKCgpOb3cgdHJ5IG1ha2luZyBMb2piYW4gYnJpZGku IEZvciB0aGlzIHlvdSB3aWxsIG5lZWQgdG8gdXNlIHNvbWUgd29yZHMsIHdoaWNoIGNhbiBhY3Qg YXMgc2VsYnJpOgoKJydfX2R1bmRhX18nJyB4MSBnaXZlcyB4MiB0byB4MyAod2l0aG91dCBwYXlt ZW50KQoKJydfX3BlbHh1X18nJyB4MSBpcyB5ZWxsb3cKCicnX196ZGFuaV9fJycgeDEgaXMgYSBo b21lIG9mIHgyCgoKCk5vdGljZSB0aGF0IHRoZXNlIHdvcmRzIG1lYW5pbmcg4oCcZ2l2ZeKAnSwg 4oCceWVsbG934oCdIGFuZCDigJxob21l4oCdIHdvdWxkIGJlIGNvbnNpZGVyZWQgYSB2ZXJiLCBh biBhZGplY3RpdmUgYW5kIGEgbm91biBpbiBFbmdsaXNoLiBJbiBMb2piYW4sIHRoZXJlIGFyZSBu byBzdWNoIGNhdGVnb3JpZXMgYW5kIG5vIHN1Y2ggZGlzdGluY3Rpb24uICcnZHVuZGEnJyBjYW4g YmUgdHJhbnNsYXRlZCDigJxnaXZlc+KAnSAodmVyYiksIOKAnGlzIGEgZ2l2ZXLigJ0gKG5vdW4p LCDigJxpcyBnaXZpbmfigJ0gKGFkamVjdGl2ZSkgYXMgd2VsbCBhcyB0byBhbiBhZHZlcmIgZm9y bS4gVGhleSBhbGwgYWN0IGFzIHNlbGJyaSwgYW5kIGFyZSB1c2VkIGluIHRoZSBzYW1lIHdheS4K CgoKQXMgd2VsbCBhcyBhIGZldyB3b3Jkcywgd2hpY2ggY2FuIGFjdCBhcyBzdW10aToKCicnX19t aV9fJycg4oCcSeKAnSBvciDigJx3ZeKAnSDigJMgdGhlIG9uZSBvciB0aG9zZSB3aG8gYXJlIHNw ZWFraW5nLgoKJydfX3RpX18nJyDigJx0aGlz4oCdIOKAkyBhIGNsb3NlIHRoaW5nIG9yIGV2ZW50 IG5lYXJieSB3aGljaCBjYW4gYmUgcG9pbnRlZCB0byBieSB0aGUgc3BlYWtlci4KCicnX19kb19f Jycg4oCceW914oCdIOKAkyB0aGUgb25lIG9yIHRob3NlIHdobyBhcmUgYmVpbmcgc3Bva2VuIHRv LgoKCgpTZWUgdGhlIHN0cmFuZ2UgdHJhbnNsYXRpb25zIG9mIHRoZSBzZWxicmkgYWJvdmUgLSBl c3BlY2lhbGx5IHRoZSB4MSwgeDIgYW5kIHgzPyBUaG9zZSBhcmUgY2FsbGVkIHN1bXRpIHBsYWNl cy4gVGhleSBhcmUgcGxhY2VzIHdoZXJlIHN1bXRpIGNhbiBnbyB0byBmaWxsIGEgYnJpZGkuIEZp bGxpbmcgYSBzdW10aSBpbiBhIHBsYWNlIHN0YXRlcyB0aGF0IHRoZSBzdW10aSBmaXRzIGluIHRo YXQgcGxhY2UuIFRoZSBzZWNvbmQgcGxhY2Ugb2YgJydkdW5kYScnLCBmb3IgZXhhbXBsZSwgeDIs IGlzIHRoZSB0aGluZyBiZWluZyBnaXZlbi4gVGhlIHRoaXJkIGlzIHRoZSBvYmplY3Qgd2hpY2gg cmVjZWl2ZXMgdGhlIHRoaW5nLiBOb3RpY2UgYWxzbyB0aGF0IHRoZSB0cmFuc2xhdGlvbiBvZiAn J2R1bmRhJycgaGFzIHRoZSB3b3JkIOKAnHRv4oCdIGluIGl0LiBUaGlzIGlzIGJlY2F1c2UsIHdo aWxlIHRoaXMgd29yZCBpcyBuZWVkZWQgaW4gRW5nbGlzaCB0byBzaWduaWZ5IHRoZSByZWNlaXZl ciwgdGhlIHJlY2VpdmVyIGlzIGluIHRoZSB0aGlyZCBzdW10aSBwbGFjZSBvZiAnJ2R1bmRhJycu IFNvIHdoZW4geW91IGZpbGwgdGhlIHRoaXJkIHN1bXRpIHBsYWNlIG9mICcnZHVuZGEnJywgdGhl IHN1bXRpIHlvdSBmaWxsIGluIGlzIGFsd2F5cyB0aGUgcmVjZWl2ZXIsIGFuZCB5b3UgZG9u4oCZ dCBuZWVkIGFuIGVxdWl2YWxlbnQgdG8gdGhlIHdvcmQg4oCcdG/igJ0hCgoKClRvIHNheSBhIGJy aWRpLCB5b3Ugc2ltcGx5IHNheSB0aGUgeDEgc3VtdGkgZmlyc3QsIHRoZW4gdGhlIHNlbGJyaSwg dGhlbiBhbnkgb3RoZXIgc3VtdGkuCgpVc3VhbCBicmlkaToge3gxIHN1bXRpfSBfX3tzZWxicml9 X18ge3gyIHN1bXRpfSB7eDMgc3VtdGl9IHt4NCBzdW10aX0ge3g1IHN1bXRpfSB7YW5kIHNvIG9u fQoKVGhlIG9yZGVyIGNhbiBiZSBwbGF5ZWQgYXJvdW5kIHdpdGgsIGJ1dCBmb3Igbm93LCB3ZSBz dGljayB3aXRoIHRoZSB1c3VhbCBmb3JtLiBUbyBzYXkg4oCcSSBnaXZlIHRoaXMgdG8geW914oCd IHlvdSBqdXN0IHNheSAnJ21pIGR1bmRhIHRpIGRvJycsIHdpdGggdGhlIHRocmVlIHN1bXRpIGF0 IHRoZSByaWdodCBwbGFjZXMuCgoKClNvLCBob3cgd291bGQgeW91IHNheSDigJxUaGlzIGlzIGEg aG9tZSBvZiBtZeKAnT8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ3RpIHpkYW5pIG1pJyd+fgoK CgpUcnkgYSBmZXcgbW9yZSBpbiBvcmRlciB0byBnZXQgdGhlIGlkZWEgb2YgYSBwbGFjZSBzdHJ1 Y3R1cmUgc2luayBpbi4KCgoK4oCcWW91IGdpdmUgdGhpcyB0byBtZeKAnT8KCgoKQW5zd2VyOiB+ fmdyZXksZ3JleTonJ2RvIGR1bmRhIHRpIG1pJyd+fgoKCgpBbmQgdHJhbnNsYXRlICcndGkgcGVs eHUnJwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnFRoaXMgaXMgeWVsbG93LuKAnX5+CgoKClF1 aXRlIGVhc3kgb25jZSB5b3UgZ2V0IHRoZSBoYW5nIG9mIGl0LCByaWdodD8KCgoKTXVsdGlwbGUg YnJpZGkgYWZ0ZXIgZWFjaCBvdGhlciBhcmUgc2VwYXJhdGVkIGJ5ICcnLmknJyBUaGlzIGlzIHRo ZSBMb2piYW4gZXF1aXZhbGVudCBvZiBmdWxsIHN0b3AsIGJ1dCBpdCB1c3VhbGx5IGdvZXMgYmVm b3JlIGJyaWRpIGluc3RlYWQgb2YgYWZ0ZXIgdGhlbS4gSXTigJlzIG9mdGVuIGxlZnQgb3V0IGJl Zm9yZSB0aGUgZmlyc3QgYnJpZGksIHRob3VnaCwgYXMgaW4gYWxsIHRoZXNlIGV4YW1wbGVzOgoK JydfXy5pX18nJyBTZW50ZW5jZSBzZXBhcmF0b3IuIFNlcGFyYXRlcyBhbnkgdHdvIGp1ZnJhIChh bmQgdGhlcmVmb3JlIGFsc28gYnJpZGkpLgoKCgonJ3RpIHpkYW5pIG1pICAuaSB0aSBwZWx4dScn IOKAnVRoaXMgaXMgYSBob21lIHRvIG1lLiBUaGlzIGlzIHllbGxvdy7igJ0KCgoKQmVmb3JlIHlv dSBtb3ZlIG9uIHRvIHRoZSBuZXh0IGxlc3NvbiwgSSByZWNvbW1lbmQgdGhhdCB5b3UgdGFrZSBh IGJyZWFrIGZvciBhdCBsZWFzdCBzZXZlbiBtaW51dGVzIHRvIGxldCB0aGUgaW5mb3JtYXRpb24g c2luayBpbi4KCgoKCgohIUxvamJhbiBMZXNzb25zIOKAkyBsZXNzb24gdHdvIChGQSBhbmQgem/i gJllKQoKTW9zdCBzZWxicmkgaGF2ZSBmcm9tIG9uZSB0byBmaXZlIHN1bXRpIHBsYWNlcywgYnV0 IHNvbWUgaGF2ZSBtb3JlLiBIZXJlIGlzIGEgc2VsYnJpIHdpdGggZm91ciBzdW10aSBwbGFjZXM6 CgonJ19fdmVjbnVfXycnIHgxIHNlbGxzIHgyIHRvIHgzIGZvciBwcmljZSB4NAoKCgpJZiBJIHdh bnQgdG8gc2F5IOKAnEkgc2VsbCB0aGlz4oCdLCBpdCB3b3VsZCBiZSB0b28gbXVjaCB0byBoYXZl IHRvIGZpbGwgdGhlIHN1bXRpIHBsYWNlcyB4MyBhbmQgeDQsIHdoaWNoIHNwZWNpZnkgd2hvIEkg c2VsbCB0aGUgdGhpbmcgdG8sIGFuZCBmb3Igd2hhdCBwcmljZS4gTHVja2lseSwgSSBkb27igJl0 IG5lZWQgdG8uIHN1bXRpIHBsYWNlcyBjYW4gYmUgZmlsbGVkIHdpdGggJyd6b+KAmWUnJy4gJyd6 b+KAmWUnJyBpbmRpY2F0ZXMgdG8gdXMgdGhhdCB0aGUgdmFsdWUgb2YgdGhlIHN1bXRpIHBsYWNl IGlzIHVuc3BlY2lmaWVkIGJlY2F1c2UgaXTigJlzIHVuaW1wb3J0YW50IG9yIGNhbiBiZSBkZXRl cm1pbmVkIGZyb20gY29udGV4dC4KCicnX196b+KAmWVfXycnIOKAnHNvbWV0aGluZ+KAnSBGaWxs cyBhIHN1bXRpIHBsYWNlIHdpdGggc29tZXRoaW5nLCBidXQgZG9lcyBub3Qgc3RhdGUgd2hhdC4K CgoKU28gdG8gc2F5IOKAnEkgc2VsbCB0byB5b3XigJ0sIEkgY291bGQgc2F5ICcnbWkgdmVjbnUg em/igJllIGRvIHpv4oCZZScnIOKAkyBJIHNlbGwgc29tZXRoaW5nIHRvIHlvdSBmb3Igc29tZSBw cmljZS4KCkhvdyB3b3VsZCB5b3Ugc2F5OiDigJxUaGF04oCZcyBhIGhvbWUgKGZvciBzb21lYm9k eSnigJ0/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6ICcndGkgemRhbmkgem/igJllJyd+fgoKCgpI b3cgYWJvdXQg4oCcKHNvbWVvbmUpIGdpdmVzIHRoaXMgdG8gKHNvbWVvbmUp4oCdPwoKCgpBbnN3 ZXI6IH5+Z3JleSxncmV5Oicnem/igJllIGR1bmRhIHRpIHpv4oCZZScnfn4KCgoKU3RpbGwsIGZp bGxpbmcgb3V0IHRocmVlIHpv4oCZZSBqdXN0IHRvIHNheSB0aGF0IGEgdGhpbmcgaXMgYmVpbmcg c29sZCB0YWtlcyB0aW1lLiBUaGVyZWZvcmUgeW91IGRvbuKAmXQgbmVlZCB0byB3cml0ZSBhbGwg dGhlICcnem/igJllJycgaW4gYSBicmlkaS4gVGhlIHJ1bGUgc2ltcGx5IGlzIHRoYXQgaWYgeW91 IGxlYXZlIG91dCBhbnkgc3VtdGksIHRoZXkgd2lsbCBiZSBjb25zaWRlcmVkIGFzIGlmIHRoZXkg Y29udGFpbmVkICcnem/igJllJycuIElmIHRoZSBicmlkaSBiZWdpbnMgd2l0aCBhIHNlbGJyaSwg dGhlIHgxIGlzIHByZXN1bWVkIHRvIGJlIG9taXR0ZWQgYW5kIGl0IGJlY29tZXMgJyd6b+KAmWUn Jy4KClRyeSBpdCBvdXQuIFdoYXTigJlzIExvamJhbiBmb3Ig4oCcSSBzZWxs4oCdPwoKCgpBbnN3 ZXI6IH5+Z3JleSxncmV5OicnbWkgdmVjbnUnJ35+CgoKCkFuZCB3aGF0IGRvZXMgJyd6ZGFuaSBt aScnIG1lYW4/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcU29tZXRoaW5nIGlzIGEgaG9tZSBv ZiBtZeKAnSBvciBqdXN0IOKAnEkgaGF2ZSBhIGhvbWUu4oCdfn4KCgoKQXMgbWVudGlvbmVkIGVh cmxpZXIsIHRoZSBmb3JtIGRvZXNu4oCZdCBoYXZlIHRvIGJlIHt4MSBzdW10aX0ge3NlbGJyaX0g e3gyIHN1bXRpfSB7eDMgc3VtdGl9IChldGMuKSBJbiBmYWN0LCB5b3UgY2FuIHBsYWNlIHRoZSBz ZWxicmkgYW55d2hlcmUgeW91IHdhbnQsIGp1c3Qgbm90IGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhl IGJyaWRpLiBJZiB5b3UgZG8gdGhhdCwgdGhlIHgxIGlzIGNvbnNpZGVyZWQgbGVmdCBvdXQgYW5k IGZpbGxlZCB3aXRoICcnem/igJllJycgaW5zdGVhZC4gU28gdGhlIGZvbGxvd2luZyB0aHJlZSBq dWZyYSBhcmUgYWxsIHRoZSBleGFjdGx5IHNhbWUgYnJpZGk6CgonJ21pIGR1bmRhIHRpIGRvJycK CicnbWkgdGkgZHVuZGEgZG8nJwoKJydtaSB0aSBkbyBkdW5kYScnCgoKClNvbWV0aW1lcyB0aGlz IGlzIHVzZWQgZm9yIHBvZXRpYyBlZmZlY3QuIOKAnFlvdSBzZWxsIHlvdXJzZWxm4oCdIGNvdWxk IGJlICcnZG8gZG8gdmVjbnUnJywgd2hpY2ggc291bmRzIGJldHRlciB0aGFuICcnZG8gdmVjbnUg ZG8nJy4gT3IgaXQgY2FuIGJlIHVzZWQgZm9yIGNsYXJpdHkgaWYgdGhlIHNlbGJyaSBpcyB2ZXJ5 IGxvbmcgYW5kIHRoZXJlZm9yZSBiZXR0ZXIgYmUgbGVmdCBhdCB0aGUgZW5kIG9mIHRoZSBicmlk aS4KCgoKVGhlcmUgYXJlIGFsc28gc2V2ZXJhbCB3YXlzIHRvIHBsYXkgYXJvdW5kIHdpdGggdGhl IG9yZGVyIG9mIHRoZSBzdW10aSBpbnNpZGUgdGhlIGJyaWRpLiBUaGUgZWFzaWVzdCBvbmUgaXMg YnkgdXNpbmcgdGhlIHdvcmRzICcnZmEnJywgJydmZScnLCAnJ2ZpJycsICcnZm8nJyBhbmQgJydm dScnLiBOb3RpY2UgdGhhdCB0aGUgdm93ZWxzIGFyZSB0aGUgZml2ZSB2b3dlbHMgaW4gdGhlIExv amJhbiBhbHBoYWJldCBpbiBvcmRlci4gVXNpbmcgb25lIG9mIHRoZXNlIHdvcmRzIG1hcmtzIHRo YXQgdGhlIG5leHQgc3VtdGkgd2lsbCBmaWxsIHRoZSB4MSwgeDIsIHgzLCB4NCBhbmQgeDUgcmVz cGVjdGl2ZWx5LiBUaGUgbmV4dCBzdW10aSBhZnRlciB0aGF0IHdpbGwgYmUgcHJlc3VtZWQgdG8g ZmlsbCBhIHNsb3Qgb25lIGdyZWF0ZXIgdGhhbiB0aGUgcHJldmlvdXMuIFRvIHVzZSBhbiBleGFt cGxlOgoKJydkdW5kYSBmYSBkbyBmZSB0aSBkbycnIOKAkyDigJxHaXZpbmcgYnkgeW91IG9mIHRo aXMgdGhpbmcgdG8geW914oCdLiAnJ2ZhJycgbWFya3MgdGhlIHgxLCB0aGUgZ2l2ZXIsIHdoaWNo IGlzIHlvdS4gJydmZScnIG1hcmtzIHRoZSB0aGluZyBiZWluZyBnaXZlbiwgdGhlIHgyLiBTdW10 aSBjb3VudGluZyB0aGVuIGNvbnRpbnVlcyBmcm9tICcnZmUnJywgbWVhbmluZyB0aGF0IHRoZSBs YXN0IHN1bXRpIGZpbGxzIHgzLCB0aGUgb2JqZWN0IHJlY2VpdmluZy4KCgoKQXR0ZW1wdCB0byB0 cmFuc2xhdGUgdGhlIGZvbGxvd2luZyB0aHJlZSBzZW50ZW5jZXM6CgoKCicnbWkgdmVjbnUgZm8g dGkgZmUgZG8nJwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnUkgc2VsbCwgZm9yIHRoZSBwcmlj ZSBvZiB0aGlzLCB5b3XigJ0uIG9yIOKAnEkgc2VsbCB5b3UgZm9yIHRoZSBwcmljZSBvZiB0aGlz 4oCdIChwcm9iYWJseSBwb2ludGluZyB0byBhIGJ1bmNoIG9mIG1vbmV5KX5+CgoKCicnemRhbmkg ZmUgdGknJwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnFRoaXMgaGFzIGEgaG9tZeKAnS4gSGVy ZSwgdGhlIGZlIGlzIHJlZHVuZGFudC5+fgoKCgonJ3ZlY251IHpv4oCZZSBtaSB0aSBmYSBkbycn CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcWW91IHNlbGwgc29tZXRoaW5nIHRvIG1lIGZvciB0 aGlzIHByaWNl4oCdfn4KCgoKCgohIUxvamJhbiBMZXNzb25zIOKAkyBsZXNzb24gdGhyZWUgKHRh bnJ1IGFuZCBsbykKCkluIHRoaXMgbGVzc29uLCB5b3Ugd2lsbCBiZWNvbWUgZmFtaWxpYXIgd2l0 aCB0aGUgY29uY2VwdCBvZiBhICcndGFucnUnJy4gQSB0YW5ydSBpcyBmb3JtZWQgd2hlbiBhIHNl bGJyaSBpcyBwdXQgaW4gZnJvbnQgb2YgYW5vdGhlciBzZWxicmksIG1vZGlmeWluZyBpdHMgbWVh bmluZy4gQSB0YW5ydSBpcyBpdHNlbGYgYSBzZWxicmksIGFuZCBjYW4gY29tYmluZSB3aXRoIG90 aGVyIHNlbGJyaSBvciB0YW5ydSB0byBmb3JtIG1vcmUgY29tcGxleCB0YW5ydS4gVGh1cyAnJ3pk YW5pIHZlY251JycgaXMgYSB0YW5ydSwgYXMgd2VsbCBhcyAgJydwZWx4dSB6ZGFuaSB2ZWNudScn LCB3aGljaCBpcyBtYWRlIGZyb20gdGhlIHRhbnJ1ICcncGVseHUgemRhbmknJyBhbmQgdGhlIHNp bmdsZSBicml2bGEgd29yZCAnJ3ZlY251JycuIFRvIHVuZGVyc3RhbmQgdGhlIGNvbmNlcHQgb2Yg dGFucnUsIGNvbnNpZGVyIHRoZSBFbmdsaXNoIG5vdW4gY29tYmluYXRpb24g4oCcbGVtb24gdHJl ZeKAnS4gSWYgeW91IGRpZG7igJl0IGtub3cgd2hhdCBhIGxlbW9uIHRyZWUgd2FzLCBidXQgaGFk IGhlYXJkIGFib3V0IGJvdGggbGVtb25zIGFuZCB0cmVlcywgeW91IHdvdWxkIG5vdCBiZSBhYmxl IHRvIGRlZHVjZSB3aGF0IGEgbGVtb24gdHJlZSB3YXMuIFBlcmhhcHMgYSBsZW1vbi1jb2xvcmVk IHRyZWUsIG9yIGEgdHJlZSBzaGFwZWQgbGlrZSBhIGxlbW9uLCBvciBhIHRyZWUgd2hvc2UgYmFy ayB0YXN0ZXMgbGlrZSBsZW1vbi4gVGhlIG9ubHkgdGhpbmdzIHlvdSBjb3VsZCBrbm93IGZvciBz dXJlIHdvdWxkIGJlIHRoYXQgaXQgd291bGQgYmUgYSB0cmVlLCBhbmQgaXQgd291bGQgYmUgbGVt b24tbGlrZSBpbiBzb21lIHdheS4KCkEgdGFucnUgaXMgY2xvc2VseSBhbmFsb2dvdXMgdG8gdGhp cy4gSXQgY2Fubm90IGJlIHNhaWQgZXhhY3RseSB3aGF0IGEgJyd6ZGFuaSB2ZWNudScnIGlzLCBi dXQgaXQgY2FuIGJlIHNhaWQgdGhhdCBpdCBpcyBkZWZpbml0ZWx5IGEgdmVjbnUsIGFuZCB0aGF0 IGl04oCZcyB6ZGFuaS1saWtlIGluIHNvbWUgd2F5LiBBbmQgaXQgY291bGQgYmUgemRhbmktbGlr ZSBpbiBhbnkgd2F5LiBJbiB0aGVvcnksIG5vIG1hdHRlciBob3cgc2lsbHkgb3IgYWJzdXJkIHRo ZSBjb25uZWN0aW9uIHRvIHpkYW5pIHdhcywgaXQgY291bGQgc3RpbGwgdHJ1bHkgYmUgYSAnJ3pk YW5pIHZlY251JycuIEhvd2V2ZXIsIGl0IG11c3QgYWN0dWFsbHkgYmUgYSB2ZWNudSBpbiB0aGUg b3JkaW5hcnkgc2Vuc2UgaW4gb3JkZXIgZm9yIHRoZSB0YW5ydSB0byBhcHBseS4gWW91IGNvdWxk IGdsb3NzICcnemRhbmkgdmVjbnUnJyBhcyDigJxob21lIHNlbGxlcuKAnSwgb3IgZXZlbiBiZXR0 ZXIgYnV0IHdvcnNlIHNvdW5kaW5nIOKAnGEgaG9tZS10eXBlLW9mIHNlbGxlcuKAnS4gVGhlIHBs YWNlIHN0cnVjdHVyZSBvZiBhIHRhbnJ1IGlzIGFsd2F5cyB0aGF0IG9mIHRoZSByaWdodG1vc3Qg c2VsYnJpLiBJdOKAmXMgYWxzbyBzYWlkIHRoYXQgdGhlIGxlZnQgc2VsYnJpIG1vZGlmaWVzIHRo ZSByaWdodCBzZWxicmkuCgrigJxSZWFsbHk/4oCdLCB5b3UgYXNrLCBzY2VwdGljYWxseSwg4oCc SXQgZG9lc27igJl0IG1hdHRlciBob3cgc2lsbHkgdGhlIGNvbm5lY3Rpb24gdG8gdGhlIGxlZnQg d29yZCBpbiBhIHRhbnJ1IGlzLCBpdOKAmXMgc3RpbGwgdHJ1ZT8gU28gSSBjb3VsZCBjYWxsIGFs bCBzZWxsZXJzIGZvciAnJ3pkYW5pIHZlY251JycgYW5kIHRoZW4gbWFrZSB1cCBzb21lIHNpbGx5 IGV4Y3VzZSB3aHkgSSB0aGluayBpdOKAmXMgemRhbmktbGlrZT/igJ0KCldlbGwgeWVzLCBidXQg dGhlbiB5b3XigJlkIGJlIGEgZGljay4gT3IgYXQgbGVhc3QgeW914oCZZCBiZSBpbnRlbnRpb25h bGx5IG1pc2xlYWRpbmcuIEluIGdlbmVyYWwsIHlvdSBzaG91bGQgdXNlIGEgdGFucnUgd2hlbiBp dOKAmXMgb2J2aW91cyBob3cgdGhlIGxlZnQgd29yZCByZWxhdGVzIHRvIHRoZSByaWdodC4KCgoK QXR0ZW1wdCB0byB0cmFuc2xhdGUgdGhlIGZvbGxvd2luZzogJyd0aSBwZWx4dSB6ZGFuaSBkbycn CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcVGhhdCBpcyBhIHllbGxvdyBob21lIGZvciB5b3Xi gJ0gQWdhaW4sIHdlIGRvbuKAmXQga25vdyBpbiB3aGljaCB3YXkgaXTigJlzIHllbGxvdy4gUHJv YmFibHkgaXTigJlzIHBhaW50ZWQgeWVsbG93LCBidXQgd2UgZG9u4oCZdCBrbm93IGZvciBzdXJl Ln5+CgoKCicnbWkgdmVjbnUgZHVuZGEnJwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnEkgc2Vs bC1saWtlIGdpdmXigJ0uIFdoYXQgY2FuIHRoYXQgbWVhbj8gTm8gaWRlYS4gSXQgY2VydGFpbmx5 IGRvZXNu4oCZdCBtZWFuIHRoYXQgeW91IHNvbGQgc29tZXRoaW5nLCBzaW5jZSwgYnkgZGVmaW5p dGlvbiBvZiAnJ2R1bmRhJycsIHRoZXJlIGNhbiBiZSBubyBwYXltZW50IGludm9sdmVkLiBJdCBo YXMgdG8gYmUgYSBnaXZlYXdheSwgYnV0IGJlIHNlbGwtbGlrZSBpbiBzb21lIGFzcGVjdC5+fgoK CgpBbmQgbm93IGZvciBzb21ldGhpbmcgY29tcGxldGVseSBkaWZmZXJlbnQuIFdoYXQgaWYgSSB3 YW50ZWQgdG8gc2F5IEkgc29sZCB0byBhIEdlcm1hbj8KCicnX19kb3Rjb19fJycgeDEgaXMgR2Vy bWFuL3JlZmxlY3RzIEdlcm1hbiBjdWx0dXJlIGluIGFzcGVjdCB4MgoKCgpJIGNhbuKAmXQgc2F5 ICcnbWkgdmVjbnUgem/igJllIGRvdGNvJycgYmVjYXVzZSB0aGF0IHdvdWxkIGxlYXZlIHR3byBz ZWxicmkgaW4gYSBicmlkaSwgd2hpY2ggaXMgbm90IHBlcm1pdHRlZC4gSSBjb3VsZCBzYXkgJydt aSBkb3RjbyB2ZWNudScnIGJ1dCB0aGF0IHdvdWxkIGJlIHVubmVjZXNzYXJ5IHZhZ3VlIC0gSSBj b3VsZCBzZWxsIGluIGEgR2VybWFuIHdheS4gTGlrZXdpc2UsIGlmIEkgd2FudCB0byBzYXkg4oCc SSBhbSBmcmllbmRzIHdpdGggYW4gQW1lcmljYW7igJ0sIHdoYXQgc2hvdWxkIEkgc2F5PwoKJydf X3BlbmRvX18nJyAxeCBpcyBhIGZyaWVuZCBvZiB4MgoKJydfX21lcmtvX18nJyB4MSBpcyBBbWVy aWNhbi9yZWZsZWN0IFVTIGN1bHR1cmUgaW4gYXNwZWN0IHgyCgoKCkFnYWluLCB0aGUgb2J2aW91 cyB3b3VsZCBiZSB0byBzYXkgJydtaSBwZW5kbyBtZXJrbycnLCBidXQgdGhhdCB3b3VsZCBmb3Jt IGEgdGFucnUsIG1lYW5pbmcg4oCcSSBhbSBmcmllbmQtbGlrZSBBbWVyaWNhbuKAnSwgd2hpY2gg aXMgd3JvbmcuIFdoYXQgd2UgcmVhbGx5IHdhbnQgdG8gaXMgdG8gdGFrZSB0aGUgc2VsYnJpICcn bWVya28nJyBhbmQgdHJhbnNmb3JtIGl0IGludG8gYSBzdW10aSBzbyBpdCBjYW4gYmUgdXNlZCBp biB0aGUgc2VsYnJpICcncGVuZG8nJy4gVGhpcyBpcyBkb25lIGJ5IHRoZSB0d28gd29yZHMgJyds bycnIGFuZCAnJ2t1JycuCgpfXycnbG8nJ19fIOKAkyBnZW5lcmljIGJlZ2luIGNvbnZlcnQgc2Vs YnJpIHRvIHN1bXRpIHdvcmQuIEV4dHJhY3RzIHgxIG9mIHNlbGJyaSB0byB1c2UgYXMgc3VtdGku CgpfXycna3UnJ19fIOKAkyBlbmQgY29udmVydCBzZWxicmkgdG8gc3VtdGkgcHJvY2Vzcy4KCgoK WW91IHNpbXBseSBwbGFjZSBhIHNlbGJyaSBiZXR3ZWVuIHRoZXNlIHR3byB3b3JkcywgYW5kIGl0 IHRha2VzIGFueXRoaW5nIHRoYXQgY2FuIGZpbGwgdGhlIHgxIG9mIHRoYXQgc2VsYnJpIGFuZCB0 dXJucyBpdCBpbnRvIGEgc3VtdGkuCgpTbyBmb3IgaW5zdGFuY2UsIHRoZSB0aGluZ3MgdGhhdCBj YW4gZmlsbCB6ZGFuaeKAmHMgeDEgYXJlIG9ubHkgdGhpbmdzIHdoaWNoIGFyZSBob21lcyBvZiBz b21lYm9keS4gU28gJydsbyB6ZGFuaSBrdScnIG1lYW5zIOKAnGEgaG9tZSBvciBzb21lIGhvbWVz IGZvciBzb21lYm9keS7igJ0gU2ltaWxhcmx5LCBpZiBJIHNheSB0aGF0IHNvbWV0aGluZyBpcyBw ZWx4dSwgaXQgbWVhbnMgaXTigJlzIHllbGxvdy4gU28gJydsbyBwZWx4dSBrdScnIHJlZmVycyB0 byBzb21ldGhpbmcgeWVsbG93LgoKCgpOb3cgeW91IGdvdCB0aGUgbmVjZXNzYXJ5IGdyYW1tYXIg dG8gYmUgYWJsZSB0byBzYXkg4oCcSSBhbSBmcmllbmRzIHdpdGggYW4gQW1lcmljYW4u4oCdIEhv dz8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ21pIHBlbmRvIGxvIG1lcmtvIGt1Jyd+fgoKCgpU aGVyZSBpcyBhIGdvb2QgcmVhc29uIHdoeSB0aGUgJydrdScnIGlzIG5lY2Vzc2FyeS4gVHJ5IHRv IHRyYW5zbGF0ZSDigJxBIEdlcm1hbiBzZWxscyB0aGlzIHRvIG1l4oCdCgoKCkFuc3dlcjogfn5n cmV5LGdyZXk6JydsbyBkb3RjbyBrdSB2ZWNudSB0aSBtaScnIElmIHlvdSBsZWF2ZSBvdXQgdGhl IGt1LCB5b3UgZG8gbm90IGdldCBhIGJyaWRpLCBidXQgc2ltcGx5IHRocmVlIHN1bXRpLiBTaW5j ZSBsb+KApmt1IGNhbm5vdCBjb252ZXJ0IGJyaWRpLCB0aGUgdGkgaXMgZm9yY2VkIG91dHNpZGUg dGhlIHN1bXRpLCB0aGUgbG8tY29uc3RydWN0IGlzIGZvcmNlZCB0byBjbG9zZSBhbmQgaXQgc2lt cGx5IGJlY29tZXMgdGhlIHRocmVlIHN1bXRpIG9mICcnbG8gZG90Y28gdmVjbnUge2t1fScnLCAn J3RpJycgYW5kICcnbWknJy5+fgoKCgpZb3UgYWx3YXlzIGhhdmUgdG8gYmUgY2FyZWZ1bCB3aXRo IGp1ZnJhIGxpa2UgJydsbyB6ZGFuaSBrdSBwZWx4dScnLiBJZiB0aGUgJydrdScnIGlzIGxlZnQg b3V0IHRoZSBjb252ZXJzaW9uIHByb2Nlc3MgZG9lcyBub3QgZW5kLCBhbmQgaXQgc2ltcGx5IGJl Y29tZXMgb25lIHN1bXRpLCBtYWRlIGZyb20gdGhlIHRhbnJ1ICcnemRhbmkgcGVseHUnJyBhbmQg dGhlbiBjb252ZXJ0ZWQgd2l0aCAnJ2xvJycuCgoKCgoKISFMb2piYW4gTGVzc29ucyDigJMgbGVz c29uIGZvdXIgKGF0dGl0dWRpbmFscykKCkFub3RoZXIgY29uY2VwdCB3aGljaCBjYW4gYmUgdW5m YW1pbGlhciB0byBFbmdsaXNoIHNwZWFrZXJzIGlzIHRoYXQgb2YgYXR0aXR1ZGluYWxzLiBBdHRp dHVkaW5hbHMgYXJlIHdvcmRzIHRoYXQgZXhwcmVzcyBlbW90aW9ucyBkaXJlY3RseS4gVGhlIGlk ZWEgb2YgYXR0aXR1ZGluYWxzIG9yaWdpbmF0ZWQgaW4gdGhlIGZlbWluaXN0IGNvbnN0cnVjdGVk IGxhbmd1YWdlIEzDoWFkYW4sIHN1cHBvc2VkbHkgdG8gZW5hYmxlIHRydWUgZmVtYWxlIGVtb3Rp b25zLiBUaGUgaWRlYSB3YXMgdGhhdCBmZW1hbGUgZW1vdGlvbmFsIGV4cHJlc3Npb24gd2FzIGhp bmRlcmVkIGJ5IG1hbGUgZG9taW5hdGVkIGxhbmd1YWdlLCBhbmQgaWYgb25seSB0aGV5IHdlcmUg YWJsZSB0byBiZSBleHByZXNzZWQgbW9yZSBmcmVlbHksIHRoaXMgd291bGQgZW1wb3dlciB3b21l biB0aHJvdWdoIGxpYmVyYXRpb24gb2YgdGhlIGxhbmd1YWdlLgoKSW4gTG9qYmFuLCB0aGVyZSBp cyBubyBzdWNoIGFnZW5kYSwgYW5kIGF0dGl0dWRpbmFscyBtb3N0IHByb2JhYmx5IGhhdmUgYmVl biBkZXNpZ25lZCBpbnRvIHRoZSBsYW5ndWFnZSBiZWNhdXNlIHRoZXkgdHVybmVkIG91dCB0byBi ZSBpbmNyZWRpYmx5IGF3ZXNvbWUgYW5kIHVzZWZ1bC4gVGhleSBhbGwgaGF2ZSBhIHNvLWNhbGxl ZCBmcmVlIGdyYW1tYXIsIHdoaWNoIG1lYW5zIHRoYXQgdGhleSBjYW4gYXBwZWFyIGFsbW9zdCBh bnl3aGVyZSB3aXRoaW4gYnJpZGkgd2l0aG91dCBkaXNydXB0aW5nIHRoZSBicmlkaeKAmXMgZ3Jh bW1hciBvciBhbnkgZ3JhbW1hdGljYWwgY29uc3RydWN0cy4KCkluIExvamJhbiBncmFtbWFyLCBh biBhdHRpdHVkaW5hbCBhcHBsaWVzIHRvIHRoZSBwcmV2aW91cyB3b3JkLiBJZiB0aGF0IHByZXZp b3VzIHdvcmQgaXMgYSB3b3JkIHdoaWNoIGJlZ2lucyBhIGNvbnN0cnVjdCAobGlrZSAnJy5pJycg b3IgJydsbycnKSwgaXQgYXBwbGllcyB0byB0aGUgZW50aXJlIGNvbnN0cnVjdC4gTGlrZXdpc2Us IGlmIHRoZSBhdHRpdHVkaW5hbCBmb2xsb3dzIGEgd29yZCB3aGljaCBlbmRzIGEgY29uc3RydWN0 IGxpa2UgJydrdScnLCBpdCBhcHBsaWVzIHRvIHRoZSBlbmRlZCBjb25zdHJ1Y3QuCgoKCkxldOKA mXMgaGF2ZSB0d28gYXR0aXR1ZGluYWxzIHRvIG1ha2Ugc29tZSBleGFtcGxlczoKCl9fJycudWkn J19fOiBhdHRpdHVkaW5hbDogc2ltcGxlIHB1cmUgZW1vdGlvbjogaGFwcGluZXNzIC0gdW5oYXBw aW5lc3MKCl9fJyd6YeKAmWEnJ19fOiBhdHRpdHVkaW5hbDogZXZpZGVudGlhbDogSSBkaXJlY3Rs eSBvYnNlcnZlCgoKCk5vdGUgdGhhdCBpbiB0aGUgZGVmaW5pdGlvbiBvZiAnJy51aScnLCB0aGVy ZSBhcmUgbGlzdGVkIHR3byBlbW90aW9ucywgaGFwcGluZXNzIGFuZCB1bmhhcHBpbmVzcy4gVGhp cyBtZWFucyB0aGF0ICcnLnVpJycgaXMgZGVmaW5lZCBhcyBoYXBwaW5lc3MsIHdoaWxlIGl0cyDi gJxuZWdhdGlvbuKAnSwgbWVhbnMgdW5oYXBwaW5lc3MuIOKAnE5lZ2F0aW9u4oCdIG1pZ2h0IGJl IHRoZSB3cm9uZyB3b3JkIGhlcmUuIFRlY2huaWNhbGx5LCB0aGUgb3RoZXIgZGVmaW5pdGlvbiBv ZiAnJy51aScnIGlzIGFub3RoZXIgY29uc3RydWN0LCAnJy51aSBuYWknJy4gTW9zdCBvZiB0aGUg dGltZSwgdGhlIHNlY29uZCBkZWZpbml0aW9uIG9mIGF0dGl0dWRpbmFscyAtIHRoZSBvbmVzIHN1 ZmZpeGVkIHdpdGggJyduYWknJyAtIHJlYWxseSBpcyB0aGUgbmVnYXRpb24gb2YgdGhlIGJhcmUg YXR0aXR1ZGluYWwuIE90aGVyIHRpbWVzLCBub3Qgc28gbXVjaC4KCl9fJyduYWknJ19fIG1pc2Mu IG5lZ2F0aW9uIC0gYXR0YWNoZWQgdG8gYXR0aXR1ZGluYWxzLCBpdCBjaGFuZ2VzIHRoZSBtZWFu aW5nIGludG8gdGhlIGF0dGl0dWRpbmFsJ3MgIm5lZ2F0aW9uIgoKCgpBbmQgc29tZSBtb3JlIHNl bGJyaSwganVzdCBmb3IgdGhlIGhlY2sgb2YgaXQ6CgpfXycnY2l0a2EnJ19fIOKAkyB4MSBlYXRz IHgyCgpfXycncGxpc2UnJ19fIOKAkyB4MSBpcyBhbiBhcHBsZSBvZiBzdHJhaW4vdHlwZSB4MgoK CgpUaGUgc2VudGVuY2UgJydkbyBjaXRrYSBsbyBwbGlzZSBrdSAudWknJywgbWVhbnMg4oCcWW91 IGVhdCBhbiBhcHBsZSwgeWF5IeKAnSAoZXNwZWNpYWxseSBleHByZXNzaW5nIHRoYXQgaXQgaXMg dGhlIF9fYXBwbGVfXyB0aGF0IHRoZSBzcGVha2VyIGlzIGhhcHB5IGFib3V0LCBub3QgdGhlIGVh dGluZywgb3IgdGhlIGZhY3QgdGhhdCBpdCB3YXMgeW91LikgSW4gdGhlIHNlbnRlbmNlICcnZG8g emHigJlhIGNpdGthIGxvIHBsaXNlIGt1JycsIHRoZSBzcGVha2VyIGRpcmVjdGx5IG9ic2VydmVz IHRoYXQgaXQgaXMgaW5kZWVkIHRoZSBfX+KAnHlvdeKAnV9fLCB3aG8gZWF0cyBhbiBhcHBsZSBh cyBvcHBvc2VkIHRvIHNvbWVvbmUgZWxzZS4KCgoKSWYgYW4gYXR0aXR1ZGluYWwgaXMgcGxhY2Vk IGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIGJyaWRpLCBpdCBpcyB1bmRlcnN0b29kIHRvIGFwcGx5 IHRvIGFuIGV4cGxpY2l0IG9yIGltcGxpY2l0ICcnLmknJywgdGh1cyBhcHBseWluZyB0byB0aGUg ZW50aXJlIGJyaWRpOgoKJycudWkgemHigJlhIGRvIGR1bmRhIGxvIHBsaXNlIGt1IG1pJycg4oCT IOKAnFlheSwgSSBvYnNlcnZlIHRoYXQgeW91IGdpdmUgYW4vc29tZSBhcHBsZSB0byBtZSHigJ0K CgoKJydtaSB2ZWNudSAudWkgbmFpIGxvIHpkYW5pIGt1Jycg4oCcSSBzZWxsICh3aGljaCBzdWNr cyEpIGEgaG9tZeKAnS4KCgoKVHJ5IGl0IG91dCB3aXRoIGEgZmV3IGV4YW1wbGVzLiBGaXJzdCwg dGhvdWdoLCBoZXJlIGFyZSBzb21lIG1vcmUgYXR0aXR1ZGluYWxzOgoKX18nJy514oCZdScnX18g YXR0aXR1ZGluYWw6IHNpbXBsZSBwdXJlIGVtb3Rpb246IGd1aWx0IC0gcmVtb3JzZWxlc3NuZXNz IC0gaW5ub2NlbmNlLgoKX18nJy5vaScnX18gYXR0aXR1ZGluYWw6IGNvbXBsZXggcHVyZSBlbW90 aW9uOiBwYWluIC0gY29tcGxhY2VuY3kgLSBjb21mb3J0LgoKX18nJy5pdScnX18gYXR0aXR1ZGlu YWw6IG1pc2NlbGxhbmVvdXMgcHVyZSBlbW90aW9uOiBsb3ZlIC0gaGF0ZS4KCgoKTG9vayBhdCB0 aGF0LCB0d28gd29yZHMgd2l0aCB0aHJlZSBlbW90aW9ucyBpbiB0aGUgZGVmaW5pdGlvbiEgVGhl IG1pZGRsZSBvbmUgaXMgYWNjZXNzZWQgYnkgc3VmZml4aW5uZyB3aXRoICcnY3XigJlpJycuIEl0 4oCZcyBjb25zaWRlcmVkIHRoZSBtaWRwb2ludCBvZiB0aGUgZW1vdGlvbi4KCl9fJydjdSdpJydf XyBhdHRpdHVkaW5hbCBtaWRwb2ludCBzY2FsYXI6IGF0dGFjaCB0byBhdHRpdHVkaW5hbCB0byBj aGFuZ2UgdGhlIG1lYW5pbmcgdG8gdGhlICJtaWRwb2ludCIgb2YgdGhlIGVtb3Rpb24uCgoKClRy eSBzYXlpbmcg4oCcSSBnaXZlIHNvbWV0aGluZyB0byBhIEdlcm1hbiwgd2hvIEkgbG92ZeKAnQoK CgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnbWkgZHVuZGEgZmkgbG8gZG90Y28ga3UgLml1Jycgb3Ig Jyd6b+KAmWUnJyBpbnN0ZWFkIG9mICcnZmknJ35+CgoKCk5vdyDigJxBYWgsIEkgZWF0IGEgeWVs bG93IGFwcGxl4oCdCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6Jycub2kgbmFpIG1pIGNpdGthIGxv IHBlbHh1IHBsaXNlIGt1Jyd+fgoKCgpMZXTigJlzIGhhdmUgYW5vdGhlciBhdHRpdHVkaW5hbCBv ZiBhIGRpZmZlcmVudCBraW5kIHRvIGlsbHVzdHJhdGUgc29tZXRoaW5nIHBlY3VsaWFyOgoKJycu ZWknJyBBdHRpdHVkaW5hbDogY29tcGxleCBwcm9wb3NpdGlvbmFsIGVtb3Rpb246IG9ibGlnYXRp b24gLSBmcmVlZG9tLgoKCgpTbywgcXVpdGUgZWFzeTog4oCcSSBoYXZlIHRvIGdpdmUgdGhlIGFw cGxlIGF3YXnigJ0gaXMgJydtaSBkdW5kYSAuZWkgbG8gcGxpc2Uga3UnJywgcmlnaHQ/IEl0IGlz LCBhY3R1YWxseSEgV2hlbiB5b3UgdGhpbmsgYWJvdXQgaXQsIHRoYXTigJlzIHdlaXJkLiBXaHkg aXMgaXQgdGhhdCBhbGwgdGhlIG90aGVyIGF0dGl0dWRpbmFscyB3ZSBoYXZlIHNlZW4gc28gZmFy IGV4cHJlc3NlcyB0aGUgc3BlYWtlcnMgZmVlbGluZyBhYm91dCB0aGUgYnJpZGksIGJ1dCB0aGlz IG9uZSBhY3R1YWxseSBjaGFuZ2VzIHdoYXQgdGhlIGJyaWRpIG1lYW5zPyBTdXJlbHksIGJ5IHNh eWluZyDigJxJIGhhdmUgdG8gZ2l2ZSB0aGUgYXBwbGUgYXdheeKAnSwgd2Ugc2F5IG5vdGhpbmcg YWJvdXQgd2hldGhlciB0aGUgYXBwbGUgYWN0dWFsbHkgaXMgYmVpbmcgZ2l2ZW4gYXdheS4gSWYg SSBoYWQgdXNlZCAnJy51aScnLCBob3dldmVyLCBJIHdvdWxkIGFjdHVhbGx5IGhhdmUgc3RhdGVk IHRoYXQgSSBnYXZlIHRoZSBhcHBsZSBhd2F5LCBhbmQgdGhhdCBJIHdhcyBoYXBweSBhYm91dCBp dC4gV2hhdOKAmXMgdGhhdCBhbGwgYWJvdXQ/CgoKClRoaXMgaXNzdWUsIGV4YWN0bHkgaG93IGF0 dGl0dWRpbmFscyBjaGFuZ2UgdGhlIGNvbmRpdGlvbnMgb24gd2hpY2ggYSBicmlkaSBpcyB0cnVl LCBpcyBhIHN1YmplY3Qgb2YgYSBtaW5vciBkZWJhdGUuIFRoZSBvZmZpY2lhbCwg4oCcdGV4dGJv b2vigJ0gcnVsZSwgd2hpY2ggcHJvYmFibHkgd29u4oCZdCBiZSBjaGFuZ2VkLCBpcyB0aGF0IHRo ZXJlIGlzIGEgZGlzdGluY3Rpb24gYmV0d2VlbiDigJxwdXJlIGVtb3Rpb25z4oCdIGFuZCDigJxw cm9wb3NpdGlvbmFsIGVtb3Rpb25z4oCdLiBPbmx5IHByb3Bvc3Rpb25hbCBlbW90aW9ucyBjYW4g Y2hhbmdlIHRoZSB0cnV0aCBjb25kaXRpb25zLCB3aGlsZSBwdXJlIGVtb3Rpb25zIGNhbm5vdC4g SW4gb3JkZXIgdG8gZXhwcmVzcyBhIHByb3Bvc2l0aW9uYWwgZW1vdGlvbmFsIGF0dGl0dWRpbmFs IHdpdGhvdXQgY2hhbmdpbmcgdGhlIHRydXRoIHZhbHVlIG9mIHRoZSBicmlkaSwgeW91IGNhbiBq dXN0IHNlcGFyYXRlIGl0IGZyb20gdGhlIGJyaWRpIHdpdGggJycuaScnLiBUaGVyZSBpcyBhbHNv IGEgd29yZCBmb3IgZXhwbGljaXRseSBjb25zZXJ2aW5nIG9yIGNoYW5naW5nIHRoZSB0cnV0aCBj b25kaXRpb25zIG9mIGEgYnJpZGk6CgoKCl9fJydkYeKAmWknJ19fIGF0dGl0dWRpbmFsOiBkaXNj dXJzaXZlOiBzdXBwb3NpbmcgLSBpbiBmYWN0CgpTYXlpbmcgJydkYeKAmWknJyBpbiBhIGJyaWRp IGNoYW5nZXMgdGhlIHRydXRoIGNvbmRpdGlvbnMgdG8gaHlwb3RoZXRpY2FsLCB3aGljaCBpcyB0 aGUgZGVmYXVsdCB1c2luZyBwcm9wb3NpdGlvbmFsIGF0dGl0dWRpbmFscy4gU2F5aW5nICcnZGHi gJlpIG5haScnIGNoYW5nZXMgdGhlIHRydXRoIGNvbmRpdGlvbiB0byB0aGUgbm9ybWFsLCB3aGlj aCBpcyBkZWZhdWx0IHVzaW5nIHB1cmUgYXR0aXR1ZGluYWxzLgoKCgpTbywgd2hhdOKAmXMgdHdv IHdheXMgb2Ygc2F5aW5nIOKAnEkgZ2l2ZSB0aGUgYXBwbGUgYXdheeKAnT8gKGFuZCBmZWVsIG9i bGlnYXRpb24gYWJvdXQgaXQpCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JydtaSBkdW5kYSBsbyBw bGlzZSAuaSAuZWknJyAgYW5kICcnbWkgZHVuZGEgZGHigJlpIG5haSAuZWkgbG8gcGxpc2UnJ35+ CgoKClRoZSBmZWVsaW5nIG9mIGFuIGF0dGl0dWRpbmFsIGNhbiBiZSBzdWJzY3JpYmVkIHRvIHNv bWVvbmUgZWxzZSB1c2luZyAnJ2RhaScnLiBVc3VhbGx5IGluIG9yZGluYXJ5IHNwZWVjaCwgdGhl IGF0dGl0dWRpbmFsIGlzIHN1YnNjcmliZWQgdG8gdGhlIGxpc3RlbmVyLCBidXQgaXQgZG9lc27i gJl0IGhhdmUgdG8gYmUgc28uIEFsc28sIGJlY2F1c2UgdGhlIHdvcmQgaXMgZ2xvc3NlZCDigJxl bXBhdGh54oCdIChmZWVsaW5nIG90aGVycyBlbW90aW9ucyksIHNvbWUgTG9qYmFuaXN0cyBtaXN0 YWtlbmx5IHRoaW5rIHRoYXQgdGhlIHNwZWFrZXIgbXVzdCBzaGFyZSB0aGUgZW1vdGlvbiBiZWlu ZyBzdWJzY3JpYmVkIHRvIG90aGVycy4KCl9fJydkYWknJ19fIGF0dGl0dWRpbmFsIG1vZGlmeWVy OiBFbXBhdGh5IChzdWJzY3JpYmVzIGF0dGl0dWRpbmFsIHRvIHNvbWVvbmUgZWxzZSwgdW5zcGVj aWZpZWQpCgpFeGFtcGxlOiAnJ3XigJlpIC5vaSBkYWkgY2l0a2EgdGknJyAtIOKAnEhhIGhhLCB0 aGlzIHdhcyBlYXRlbiEgVGhhdCBtdXN0IGhhdmUgaHVydCHigJ0KCgoKV2hhdCBvZnRlbiB1c2Vk IHBocmFzZSBjb3VsZCAnJy5vaSB14oCZaSBkYWknJyBtZWFuPwoKCgpBbnN3ZXI6IH5+Z3JleSxn cmV5OuKAnE91Y2gsIHZlcnkgZnVubnku4oCdfn4KCgoKQW5kIGFub3RoZXIgb25lIHRvIHRlc3Qg eW91ciBrbm93bGVkZ2U6IFRyeSB0byB0cmFuc2xhdGUg4oCcSGUgd2FzIHNvcnJ5IGhlIHNvbGQg YSBob21l4oCdIChyZW1lbWJlcmluZywgdGhhdCB0ZW5zZSBpcyBpbXBsaWVkIGFuZCBuZWVkIG5v dCBiZSBzcGVjaWZpZWQuIEFsc28sIOKAnGhl4oCdIGNvdWxkIGJlIG9idmlvdXMgZnJvbSBjb250 ZXh0KQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicndeKAmXUgZGFpIHZlY251IGxvIHpkYW5pIGt1 Jyd+fgoKCgpMYXN0bHksIHRoZSBpbnRlbnNpdHkgb2YgYW4gYXR0aXR1ZGluYWwgY2FuIGJlIHNw ZWNpZmllZCB1c2luZyBjZXJ0YWluIHdvcmRzLiBUaGVzZSBjYW4gYmUgdXNlZCBhZnRlciBhbiBh dHRpdHVkaW5hbCwgb3IgYW4gYXR0aXR1ZGluYWwgd2l0aCAnJ25haScnIG9yICcnY3XigJlpJycg c3VmZml4ZWQuIEl04oCZcyBsZXNzIGNsZWFyIHdoYXQgaGFwcGVucyB3aGVuIHlvdSBhdHRhY2gg aXQgdG8gb3RoZXIgd29yZHMsIGxpa2UgYSBzZWxicmksIG11c3QgaXTigJlzIG1vc3RseSB1bmRl cnN0b29kIGFzIGludGVuc2lmeWluZyBvciB3ZWFrZW5pbmcgdGhlIHNlbGJyaSBpbiBzb21lIHVu c3BlY2lmaWVkIHdheToKCnx8IE1vZGlmeWluZyB3b3JkICB8IEludGVuc2l0eSAgCgogY2FpfCAg IEV4dHJlbWUKCiBzYWl8ICAgU3Ryb25nCgogKG5vbmUpfCAgIFVuc3BlY2lmaWVkIChtZWRpdW0p CgogcnUnZSAgfCAgIFdlYWt8fAoKCgpXaGF0IGVtb3Rpb24gaXMgZXhwcmVzc2VkIHVzaW5nICcn LnUnaSBuYWkgc2FpJycgPwoKX18nJy514oCZaScnX186IGF0dGl0dWRpbmFsOiBzaW1wbGUgcHVy ZSBlbW90aW9uOiBhbXVzZW1lbnQgLSB3ZWFyaW5lc3MKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTpT dHJvbmcgd2VhcmluZXNzfn4KCgoKQW5kIGhvdyB3b3VsZCB5b3UgZXhwcmVzcyB0aGF0IHlvdSBh cmUgbWlsZGx5IHJlbW9yc2VsZXNzPwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnLnXigJl1IGN1 4oCZaSBydeKAmWUnJ35+CgoKCiEhTG9qYmFuIGxlc3NvbnMg4oCTIGxlc3NvbiBmaXZlIChTRSkK CkJlZm9yZSB3ZSB2ZW50dXJlIGludG8gdGhlIHRlcnJpdG9yeSBvZiBtb3JlIGNvbXBsZXggY29u c3RydWN0cywgeW91IHNob3VsZCBsZWFybiBhbm90aGVyIG1lY2hhbmlzbSBmb3IgcmVvcmRlcmlu ZyB0aGUgc3VtdGkgb2YgYSBzZWxicmkuIFRoaXMsIGFzIHdlIHdpbGwgc2hvdywgaXMgdmVyeSB1 c2VmdWwgZm9yIG1ha2luZyBkZXNjcmlwdGlvbi1saWtlIHN1bXRpICh0aGUga2luZCBvZiBzdW10 aSB3aXRoICcnbG8nJykuCgpDb25zaWRlciB0aGUgc2VudGVuY2Ug4oCcSSBlYXQgYSBnaWZ04oCd LCB3aGljaCBtaWdodCBiZSBhcHByb3ByaWF0ZSBpZiB0aGF0IGdpZnQgaXMgYW4gYXBwbGUuIFRv IHRyYW5zbGF0ZSB0aGlzLCBpdCB3b3VsZCBzZWVtIG5hdHVyYWwgdG8gbG9vayB1cCBhIHNlbGJy aSBtZWFuaW5nIOKAnGdpZnTigJ0gYmVmb3JlIGNvbnRpbnVpbmcuIEhvd2V2ZXIsIGlmIG9uZSBs b29rcyBjYXJlZnVsbHkgYXQgdGhlIGRlZmluaXRpb24gb2YgJydkdW5kYScnLCB4MSBnaXZlcyB4 MiB0byB4Mywgb25lIHJlYWxpemVzIHRoYXQgdGhlIHgyIG9mICcnZHVuZGEnJyBpcyBzb21ldGhp bmcgZ2l2ZW4g4oCTIGEgZ2lmdC4KClNvLCB0byBleHByZXNzIHRoYXQgc2VudGVuY2UsIHdlIGNh buKAmXQgc2F5ICcnbWkgY2l0a2EgbG8gZHVuZGEga3UnJywgYmVjYXVzZSAnJ2xvIGR1bmRhIGt1 Jycgd291bGQgYmUgdGhlIHgxIG9mICcnZHVuZGEnJywgd2hpY2ggaXMgYSBkb25vciBvZiBhIGdp ZnQuIENhbm5pYmFsaXNtIGFzaWRlLCB3ZSBkb27igJl0IHdhbnQgdG8gc2F5IHRoYXQuIFdoYXQg d2Ugd2FudCBpcyBhIHdheSB0byBleHRyYWN0IHRoZSB4MiBvZiBhIHNlbGJyaS4KClRoaXMgaXMg b25lIGV4YW1wbGUgd2hlcmUgaXQgaXMgdXNlZnVsIHRvIHVzZSB0aGUgd29yZCAnJ3NlJycuIFdo YXQgJydzZScnIGRvZXMgaXMgdG8gbW9kaWZ5IGEgc2VsYnJpIHN1Y2ggdGhhdCB0aGUgeDEgYW5k IHgyIG9mIHRoYXQgc2VsYnJpIHRyYWRlIHBsYWNlcy4gVGhlIGNvbnN0cnVjdCBvZiAnJ3NlJycg KyBzZWxicmkgaXMgb24gaXRzIG93biBjb25zaWRlcmVkIG9uZSBzZWxicmkuIExldOKAmXMgdHJ5 IHdpdGggYW4gb3JkaW5hcnkgc2VudGVuY2U6CgpfXycnZmFudmEnJ19fID0g4oCceDEgdHJhbnNs YXRlcyB4MiB0byBsYW5ndWFnZSB4MyBmcm9tIGxhbmd1YWdlIHg0IHdpdGggcmVzdWx0IG9mIHRy YW5zbGF0aW9uIHg14oCdCgonJ3RpIHNlIGZhbnZhIG1pJycgPSAnJ21pIGZhbnZhIHRpJycKClRo aXMgaXMgdHJhbnNsYXRlZCBieSBtZSAoPSBJIHRyYW5zbGF0ZSB0aGlzKS4gT2Z0ZW4sIGJ1dCBu b3QgYWx3YXlzLCBicmlkaSB3aXRoICcnc2UnJy1jb25zdHJ1Y3RzIGFyZSB0cmFuc2xhdGVkIHRv IHNlbnRlbmNlcyB3aXRoIHRoZSBwYXNzaXZlIHZvaWNlLCBzaW5jZSB0aGUgeDEgaXMgb2Z0ZW4g dGhlIG9iamVjdCB0YWtpbmcgYWN0aW9uLgoKJydzZScnIGhhcyBpdHMgb3duIGZhbWlseSBvZiB3 b3Jkcy4gQWxsIG9mIHRoZW0gc3dhcCBhIGRpZmZlcmVudCBwbGFjZSB3aXRoIHRoZSB4MS4KCnx8 c2UJfHN3YXAgeDEgYW5kIHgyCgp0ZQl8c3dhcCB4MSBhbmQgeDMKCnZlCXxzd2FwIHgxIGFuZCB4 NAoKeGUJfHN3YXAgeDEgYW5kIHg1fHwKCk5vdGUgdGhhdCBzLCB0LCB2LCBhbmQgeCBhcmUgY29u c2VjdXRpdmUgY29uc29uYW50cyBpbiB0aGUgbG9qYmFuIGFscGhhYmV0LgoKCgpTbzogVXNpbmcg dGhpcyBrbm93bGVkZ2UsIHdoYXQgd291bGQgJyd0aSB4ZSBmYW52YSB0aScnIG1lYW4/CgoKCkFu c3dlcjogfn5ncmV5LGdyZXk64oCcVGhpcyBpcyBhIHRyYW5zbGF0aW9uIG9mIHRoaXPigJ0gKG9y ICcnZmFudmEgdGkgZnUgdGknJyl+fgoKCgonJ3NlJycgYW5kIGl0cyBmYW1pbHkgY2FuIG9mIGNv dXJzZSBiZSBjb21iaW5lZCB3aXRoICcnZmEnJyBhbmQgaXRzIGZhbWlseS4gVGhlIHJlc3VsdCBj YW4gYmUgdmVyeSBjb25mdXNpbmcgaW5kZWVkLCBpZiB5b3Ugd2lzaCB0byBtYWtlIGl0IHNvOgoK X18nJ2tsYW1hJydfXyA9IOKAnHgxIHRyYXZlbHMvZ29lcyB0byB4MiBmcm9tIHgzIHZpYSB4NCB1 c2luZyB4NSBhcyB0cmFuc3BvcnRhdGlvbiBkZXZpY2XigJ0KCicnZnUgbG8gemRhbmkga3UgdGUg a2xhbWEgZmUgZG8gdGkgZmEgbWknJyA9ICcnbWkgdGUga2xhbWEgZG8gdGkgbG8gemRhbmkga3Un JyBhbmQgc2luY2UgJyd0ZScnIGV4Y2hhbmdlcyB4MSBhbmQgeDM6ID0gJyd0aSBrbGFtYSBkbyBt aSBsbyB6ZGFuaSBrdScnCgrigJxUaGlzIHRyYXZlbHMgdG8geW91IGZyb20gbWUgdmlhIGEgaG9t ZS7igJ0gT2YgY291cnNlLCBubyBvbmUgd291bGQgbWFrZSBzdWNoIGEgc2VudGVuY2UgZXhjZXB0 IHRvIGNvbmZ1c2UgcGVvcGxlLCBvciBjcnVlbGx5IHRvIHRlc3QgdGhlaXIgdW5kZXJzdGFuZGlu ZyBvZiBMb2piYW4gZ3JhbW1hci4KCkFuZCB0aHVzLCB3ZSBoYXZlIGNvbWUgdG8gdGhlIHBvaW50 IHdoZXJlIHdlIGNhbiBzYXkg4oCcSSBlYXQgYSBnaWZ0LuKAnS4gU2ltcGx5IGV4Y2hhbmdlIHRo ZSBzdW10aSBwbGFjZXMgb2YgJydkdW5kYScnIHRvIGdldCB0aGUgZ2lmdCB0byBiZSB4MSwgdGhl biBleHRyYWN0IHRoaXMgbmV3IHgxIHdpdGggJydsbycnLi4uJydrdScnLiBTbywgaG93IHdvdWxk IHlvdSBzYXkgaXQ/CgpPbmUgKHBvc3NpYmxlKSBhbnN3ZXI6IH5+Z3JleSxncmV5OicnbWkgY2l0 a2EgbG8gc2UgZHVuZGEga3UnJ35+CgpUaGlzIHNob3dzIG9uZSBvZiB0aGUgbWFueSB1c2VzIGZv ciAnJ3NlJycgYW5kIGl0cyBmYW1pbHkuCgoKCgoKISFMb2piYW4gbGVzc29ucyDigJMgbGVzc29u IHNpeCAoYWJzdHJhY3Rpb25zKQoKU28gZmFyIHdlIGhhdmUgb25seSBleHByZXNzZWQgc2luZ2xl IHNlbnRlbmNlcyBvbmUgYXQgYSB0aW1lLiBUbyBleHByZXNzIG1vcmUgY29tcGxleCB0aGluZ3Ms IGhvd2V2ZXIsIHlvdSBvZnRlbiBuZWVkIHN1Ym9yZGluYXRlIHNlbnRlbmNlcy4gTHVja2lseSwg dGhlc2UgYXJlIG11Y2ggZWFzaWVyIGluIExvamJhbiB0aGFuIHdoYXQgb25lIHdvdWxkIGV4cGVj dC4KCldlIGNhbiBiZWdpbiB3aXRoIGFuIGV4YW1wbGUgdG8gZGVtb25zdHJhdGUgdGhpczog4oCc SSBhbSBoYXBweSB0aGF0IHlvdSBhcmUgbXkgZnJpZW5kLuKAnSBIZXJlLCB0aGUgbWFpbiBicmlk aSBpcyDigJxJIGFtIGhhcHB5IHRoYXQgWC7igJ0sIGFuZCB0aGUgc3ViLWJyaWRpIGlzIOKAnFlv dSBhcmUgbXkgZnJpZW5kLuKAnSBMb29raW5nIGF0IHRoZSBkZWZpbml0aW9uIGZvciDigJxoYXBw eeKAnSwgd2hpY2ggaXMgJydnbGVraScnOgoKX18nJ2dsZWtpJydfXyDigJx4MSBpcyBoYXBweSBh Ym91dCB4MiAoZXZlbnQvc3RhdGUp4oCdCgpPbmUgc2VlcyB0aGF0IHRoZSB4MiBuZWVkcyB0byBi ZSBhbiBldmVudCBvciBhIHN0YXRlLiBUaGlzIGlzIG5hdHVyYWwsIGJlY2F1c2Ugb25lIGNhbm5v dCBiZSBoYXBweSBhYm91dCBhbiBvYmplY3QgaW4gaXRzZWxmLCBvbmx5IGFib3V0IHNvbWUgc3Rh dGUgdGhlIG9iamVjdCBpcyBpbi4gQnV0IGFsYXMhIE9ubHkgYnJpZGkgY2FuIGV4cHJlc3MgYSBz dGF0ZSBvciBhbiBldmVudCwgYW5kIG9ubHkgc3VtdGkgY2FuIGZpbGwgdGhlIHgyIG9mICcnZ2xl a2knJyEKCkFzIHlvdSBtaWdodCBoYXZlIGd1ZXNzZWQsIHRoZXJlIGlzIGEgc29sdXRpb24uIFRo ZSB3b3JkcyAnJ3N14oCZdScnLi4uJydrZWknJyBpcyBhIGdlbmVyaWMg4oCcY29udmVydCBicmlk aSB0byBzZWxicmnigJ0gZnVuY3Rpb24sIGFuZCB3b3JrcyBqdXN0IGxpa2UgJydsbycn4oCmJydr dScnLiBFeGFtcGxlOgoKX18nJ21yb2Jp4oCZbycnX18g4oCceDEgZGllcyB1bmRlciBjb25kaXRp b24geDLigJ0KCl9fJydzdSd1JydfXyB4MSBpcyBhbiBhYnN0cmFjdGlvbiBvZiB7YnJpZGl9IG9m IHR5cGUgeDIKCl9fJydrZWknJ19fIGVuZCBhYnN0cmFjdGlvbgoKJydtaSBzdeKAmXUgZG8gbXJv YmnigJlvIGtlaScnIOKAkyDigJxJIGFtIHlvdXIgZGVhdGjigJ0uCgpJdOKAmXMgaGFyZCB0byBm aW5kIGdvb2QgdXNlcyBvZiBhIGJyaWRpIGFzIGEgc2VsYnJpLCBhbmQgdGhlIGFib3ZlIGV4YW1w bGUgc2VlbXMgYSBsaXR0bGUgdW5jb252aW5jaW5nLiBIb3dldmVyLCBzaW5jZSAnJ3N14oCZdSBC UklESSBrZWknJyBpcyBhIHNlbGJyaSwgb25lIGNhbiBjb252ZXJ0IGl0IHRvIGEgc3VtdGkgdXNp bmcgJydsbycnLi4uJydrdScnLgoKTm93IHdlIGhhdmUgdGhlIGVxdWlwbWVudCB0byBleHByZXNz IOKAnEkgYW0gaGFwcHkgdGhhdCB5b3UgYXJlIG15IGZyaWVuZOKAnS4gVHJ5IGl0IG91dCEKCl9f JydwZW5kbycnX18g4oCceDEgaXMgYSBmcmllbmQgb2YgeDLigJ0KCgoKQW5zd2VyOiB+fmdyZXks Z3JleTonJ21pIGdsZWtpIGxvIHN14oCZdSBkbyBwZW5kbyBtaSBrZWkga3UnJ35+CgoKCkhvd2V2 ZXIsICcnc3XigJl1JyfigKYnJ2tlaScnIGRvZXMgbm90IHNlZSBtdWNoIHVzZS4gUGVvcGxlIHBy ZWZlciB0byB1c2UgdGhlIG1vcmUgc3BlY2lmaWMgd29yZHMgJydudScn4oCmJydrZWknJyBhbmQg JydkdeKAmXUnJ+KApicna2VpJycuIFRoZXkgd29yayB0aGUgc2FtZSB3YXksIGJ1dCBtZWFuIHNv bWV0aGluZyBkaWZmZXJlbnQuICcnbnXigKZrZWknJyB0cmVhdHMgdGhlIGJyaWRpIGluIGJldHdl ZW4gYXMgYW4gZXZlbnQgb3Igc3RhdGUsIGFuZCAnJ2R14oCZdeKApmtlaScnIHRyZWF0cyBpdCBh cyBhbiBhYnN0cmFjdCBicmlkaSwgZm9yIGV4cHJlc3NpbmcgdGhpbmdzIGxpa2UgaWRlYXMsIHRo b3VnaHRzIG9yIHRydXRocy4gQWxsIHRoZXNlIHdvcmRzIChleGNlcHQgJydrZWknJykgYXJlIGNh bGxlZCBhYnN0cmFjdG9ycy4gVGhlcmUgYXJlIG1hbnkgb2YgdGhlbSwgYW5kIG9ubHkgZmV3IGFy ZSB1c2VkIG11Y2guICcnc3XigJl14oCma2VpJycgaXMgYSBnZW5lcmFsIGFic3RyYWN0b3IsIGFu ZCB3aWxsIHdvcmsgaW4gYWxsIGNhc2VzLgoKCgpVc2UgJydudScnIHRvIHNheSDigJxJ4oCZbSBo YXBweSBhYm91dCB0YWxraW5nIHRvIHlvdS7igJ0KCl9fJyd0YXZsYScnX18geDEgdGFsa3MgdG8g eDIgYWJvdXQgc3ViamVjdCB4MyBpbiBsYW5ndWFnZSB4NC4KCgoKQW5zd2VyOiB+fmdyZXksZ3Jl eTonJ21pIGdsZWtpIGxvIG51IHRhdmxhIGRvIGtlaSBrdScnIChub3RpY2UgYm90aCB0aGUgRW5n bGlzaCBhbmQgdGhlIExvamJhbiBpcyB2YWd1ZSBhcyB0byB3aG8gaXMgZG9pbmcgdGhlIHRhbGtp bmcpLn5+CgoKCk90aGVyIGltcG9ydGFudCBhYnN0cmFjdG9ycyBpbmNsdWRlOiAnJ2thLi4ua2Vp JycgKHByb3BlcnR5IGFic3RyYWN0aW9uKSwgJydzaeKAmW8uLi5rZWknJyAoY29uY2VwdC9pZGVh IGFic3RyYWN0aW9uKSwgJyduaS4uLmtlaScnIChxdWFudGl0eSBhYnN0cmFjdGlvbikgYW1vbmcg b3RoZXJzLgoKCgpJdCBpcyBpbXBvcnRhbnQgdG8gbm90aWNlIHRoYXQgc29tZSBhYnN0cmFjdG9y cyBoYXZlIHNldmVyYWwgc3VtdGkgcGxhY2VzLiBBcyBhbiBleGFtcGxlLCAnJ2R14oCZdScnIGNh biBiZSBtZW50aW9uZWQuICcnZHXigJl1JycgaXMgZGVmaW5lZDoKCicnZHXigJl1JycgPSDigJxh YnN0cmFjdG9yLiB4MSBpcyB0aGUgcHJlZGljYXRlL2JyaWRpIG9mIHticmlkaX0gZXhwcmVzc2Vk IGluIHNlbnRlbmNlIHgy4oCdLgoKVGhlIG90aGVyIHN1bXRpIHBsYWNlcyBiZXNpZGVzIHgxIGlz IHJhcmVseSB1c2VkLCBidXQgJydsbyBzZSBkdSd1IHticmlkaX0ga2VpIGt1JycgaXMgc29tZXRp bWVzIHVzZWQgYXMgYSBzdW10aSBmb3IgaW5kaXJlY3QgcXVvdGF0aW9uOiDigJxJIHNhaWQgdGhh dCBJIHdhcyBnaXZlbiBhIGRvZ+KAnSBjYW4gYmUgd3JpdHRlbiAnJ21pIGN1c2t1IGxvIHNlIGR1 4oCZdSBtaSB0ZSBkdW5kYSBsbyBnZXJrdSBrdSBrZWkga3UnJywgaWYgeW91IHdpbGwgcGFyZG9u IHRoZSB3ZWlyZCBleGFtcGxlLgoKX18nJ2N1c2t1JydfXyB4MSBleHByZXNzZXMgeDIgdG8geDMg dGhyb3VnaCBtZWRpdW0geDQKCl9fJydnZXJrdScnX18geDEgaXMgYSBkb2cgb2YgcmFjZSB4MgoK CgohIUxvamJhbiBsZXNzb25zIOKAkyBsZXNzb24gc2V2ZW4gKE5PSSkKCldoaWxlIHdl4oCZcmUg YXQgaXQsIHRoZXJl4oCZcyBhbm90aGVyIHR5cGUgb2Ygc3Vib3JkaW5hdGUgYnJpZGkuIFRoZXNl IGFyZSBjYWxsZWQgcmVsYXRpdmUgY2xhdXNlcy4gVGhleSBhcmUgc2VudGVuY2VzIHdoaWNoIGFk ZCBzb21lIGRlc2NyaXB0aW9uIHRvIGEgc3VtdGkuIEluZGVlZCwgdGhlIOKAnHdoaWNo4oCdIGlu IHRoZSBwcmV2aW91cyBzZW50ZW5jZSBtYXJrZWQgdGhlIGJlZ2lubmluZyBvZiBhIHJlbGF0aXZl IGNsYXVzZSBpbiBFbmdsaXNoIGRlc2NyaWJpbmcgcmVsYXRpdmUgY2xhdXNlcy4gSW4gTG9qYmFu LCB0aGV5IGNvbWUgaW4gdHdvIGZsYXZvcnMsIGFuZCBpdCBtaWdodCBiZSB3b3J0aCBkaXN0aW5n dWlzaGluZyB0aGUgdHdvIGtpbmRzIGJlZm9yZSBsZWFybmluZyBob3cgdG8gZXhwcmVzcyB0aGVt LgoKVGhlIHR3byBraW5kcyBhcmUgY2FsbGVkIHJlc3RyaWN0aXZlIGFuZCBub24tcmVzdHJpY3Rp dmUgKG9yIGluY2lkZW50aWFsKSByZWxhdGl2ZSBjbGF1c2VzLiBBbiBleGFtcGxlIHdvdWxkIGJl IGdvb2QgaGVyZToKCuKAnE15IGJyb3RoZXIsIHdobyBpcyB0d28gbWV0ZXJzIHRhbGwsIGlzIGEg cG9saXRpY2lhbi7igJ0gVGhpcyBjYW4gYmUgdW5kZXJzdG9vZCBpbiB0d28gd2F5cy4gSSBjb3Vs ZCBoYXZlIHNldmVyYWwgYnJvdGhlcnMsIGluIHdoaWNoIGNhc2Ugc2F5aW5nIGhlIGlzIHR3byBt ZXRlcnMgdGFsbCB3aWxsIGxldCB5b3Uga25vdyB3aGljaCBicm90aGVyIEkgYW0gdGFsa2luZyBh Ym91dC4gT3IgSSBtaWdodCBoYXZlIG9ubHkgb25lIGJyb3RoZXIsIGluIHdoaWNoIGNhc2UgSSBh bSBzaW1wbHkgZ2l2aW5nIHlvdSBhZGRpdGlvbmFsIGluZm9ybWF0aW9uLgoKCgpJbiBFbmdsaXNo IGFzIHdlbGwgYXMgTG9qYmFuIHdlIGRpc3Rpbmd1aXNoIGJldHdlZW4gdGhlc2UgdHdvIGtpbmRz IOKAkyB0aGUgZmlyc3QgaW50ZXJwcmV0YXRpb24gaXMgcmVzdHJpY3RpdmUgKHNpbmNlIGl0IGhl bHBzIHJlc3RyaWN0IHRoZSBwb3NzaWJsZSBicm90aGVycyBJIG1pZ2h0IGJlIHRhbGtpbmcgYWJv dXQpLCB0aGUgc2Vjb25kIG5vbi1yZXN0cmljdGl2ZS4gV2hlbiBzcGVha2luZyBFbmdsaXNoLCBj b250ZXh0IGFuZCB0b25lIG9mIHZvaWNlIChvciBpbiB3cml0dGVuIEVuZ2xpc2gsIHB1bmN0dWF0 aW9uKSBoZWxwcyB1cyBkaXN0aW5ndWlzaCBiZXR3ZWVuIHRoZXNlIHR3bywgYnV0IG5vdCBzbyBp biBMb2piYW4uIExvamJhbiB1c2VzIHRoZSBjb25zdHJ1Y3RzICcncG9p4oCma3XigJlvJycgYW5k ICcnbm9p4oCma3XigJlvJycgZm9yIHJlc3RyaWN0aXZlIGFuZCBub24tcmVzdHJpY3RpdmUgcmVs YXRpdmUgY2xhdXNlcywgcmVzcGVjdGl2ZWx5LgoKTGV04oCZcyBoYXZlIGEgTG9qYmFuaWMgZXhh bXBsZSwgd2hpY2ggY2FuIGFsc28gZXhwbGFpbiBvdXIgc3RyYW5nZSBnaWZ0LWVhdGluZyBiZWhh dmlvdXIgaW4gdGhlIGV4YW1wbGUgaW4gbGVzc29uIGZpdmU6CgpfXycnbm9pJydfXyBiZWdpbiBu b24tcmVzdHJpY3RpdmUgcmVsYXRpdmUgY2xhdXNlIChjYW4gb25seSBhdHRhY2ggdG8gc3VtdGkp CgpfXycncG9pJydfXyBiZWdpbiByZXN0cmljdGl2ZSByZWxhdGl2ZSBjbGF1c2UgKGNhbiBvbmx5 IGF0dGFjaCB0byBzdW10aSkKCl9fJydrdSdvJydfXyBlbmQgcmVsYXRpdmUgY2xhdXNlCgoKCicn bWkgY2l0a2EgbG8gc2UgZHVuZGEga3UgcG9pIHBsaXNlIGt14oCZbycnID0g4oCcSSBlYXQgYSBn aWZ0IHN1Y2ggdGhhdCAoc29tZXRoaW5nIGlzKSBhbiBhcHBsZeKAnS4gCgpIZXJlIHRoZSAnJ3Bv aeKApmt14oCZbycnIGlzIHBsYWNlZCBqdXN0IGFmdGVyICcnbG8gc2UgZHVuZGEga3UnJywgc28g aXQgYXBwbGllcyB0byB0aGUgZ2lmdC4gVG8gYmUgc3RyaWN0LCB0aGUgcmVsYXRpdmUgY2xhdXNl IGRvZXMgbm90IHNwZWNpZnkgd2hhdCBhbiBhcHBsZSBpcywgYnV0IHNpbmNlIHRoZSByZWxhdGl2 ZSBjbGF1c2UgYXBwbGllcyB0byB0aGUgZ2lmdCwgd2UgY2FuIHNhZmVseSBhc3N1bWUgdGhhdCBp cyBtZWFucyB0aGUgZ2lmdCBpcyBhbiBhcHBsZS4gQWZ0ZXIgYWxsLCBpbiB0aGUgY29udGV4dCBv ZiBsZXNzb24gZml2ZSwgdGhpcyBzZWVtcyByZWFzb25hYmxlLiBJZiB3ZSB3YW50IHRvIGJlIGFi c29sdXRlbHkgc3VyZSB0aGF0IGl0IGluZGVlZCB3YXMgdGhlIGdpZnQgdGhhdCB3YXMgYW4gYXBw bGUsIHdlIHVzZSB0aGUgd29yZCAnJ2tl4oCZYScnLCB3aGljaCBpcyBhICcnc3Vta2EnaScnIChh IExvamJhbiBwcm9ub3VuLCBtb3JlIG9uIHRoZW0gbGF0ZXIpIHJlcHJlc2VudGluZyB0aGUgc3Vt dGkgd2hpY2ggdGhlIHJlbGF0aXZlIGNsYXVzZSBpcyBhdHRhY2hlZCB0by4KCl9fJydrZSdhJydf XyBzdW1rYSdpOyByZWZlcnMgdG8gdGhlIHN1bXRpLCB0byB3aGljaCB0aGUgcmVsYXRpdmUgY2xh dXNlIGl0IGF0dGFjaGVkLgoKCgonJy51aSBtaSBjaXRrYSBsbyBzZSBkdW5kYSBrdSBwb2kga2Xi gJlhIHBsaXNlIGt14oCZbycnID0g4oCcWWF5LCBJIGVhdCBhIGdpZnQsIHdoaWNoIGlzIGFuIGFw cGxl4oCdLgoKVG8gdW5kZXJsaW5lIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gcmVzdHJpY3RpdmUg YW5kIG5vbi1yZXN0cmljdGl2ZSByZWxhdGl2ZSBjbGF1c2VzLCBoZXJl4oCZcyBhbm90aGVyIGV4 YW1wbGU6CgoKCl9fJydsb2pibycnX18g4oCceDEgcmVmbGVjdHMgTG9qYmFuaWMgY3VsdHVyZS9j b21tdW5pdHkgaXMgYXNwZWN0IHgyOyB4MSBpcyBMb2piYW5pYy7igJ0KCgoKJydtaSBub2kgbG9q Ym8ga3XigJlvIGZhbnZhIGZvIGxvIGxvamJvIGt1JycgPSDigJxJLCB3aG8gYW0gYSBMb2piYW5p YywgdHJhbnNsYXRlIGZyb20gc29tZSBMb2piYW5pYyBsYW5ndWFnZS7igJ0gSGVyZSwgdGhlcmUg aXMgbm90IG11bHRpcGxlIHRoaW5ncyB3aGljaCAnJ21pJycgY291bGQgcmVmZXIgdG8sIGFuZCB0 aGUgZmFjdCB0aGF0IEkgYW0gbG9qYmFuaWMgaXMgbWVyZWx5IGFkZGl0aW9uYWwgaW5mb3JtYXRp b24gbm90IG5lZWRlZCB0byBpZGVudGlmeSBtZS4gVGhlcmVmb3JlICcnbm9p4oCma3XigJlvJycg aXMgYXBwcm9wcmlhdGUuCgpTZWUgaWYgeW91IGNhbiB0cmFuc2xhdGUgdGhpczog4oCcSSBmbGly dCB3aXRoIGEgbWFuIHdobyBpcyBiZWF1dGlmdWwvaGFuZHNvbWXigJ0uCgpfXycnbmFubXUnJ19f IOKAnHgxIGlzIGEgbWFu4oCdCgpfXycnbWVsYmknJ19fIOKAnHgxIGlzIGJlYXV0aWZ1bCB0byB4 MiBpbiBhc3BlY3QgKGthKSB4MyBieSBzdGFuZGFyZCB4NOKAnQoKX18nJ2Npbmppa2NhJydfXyDi gJx4MSBmbGlydHMvY291cnRzIHgyLCBleGhpYml0aW5nIHNleHVhbGl0eSB4MyBieSBzdGFuZGFy ZCB4NOKAnQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnbWkgY2luamlrY2EgbG8gbmFubXUga3Ug cG9pIHtrZeKAmWF9IG1lbGJpIGt14oCZbycnfn4KCgoKT24gYSBtb3JlIHRlY2huaWNhbCBzaWRl IG5vdGUsIGl0IG1pZ2h0IGJlIHVzZWZ1bCB0byBrbm93IHRoYXQgJydsbyB7c2VsYnJpfSBrdScn IGlzIG9mdGVuIHNlZW4gZGVmaW5lZCBhcyAnJ3pv4oCZZSBub2kga2XigJlhIHtzZWxicml9IGt1 4oCZbycnLgoKCgoKCiEhTG9qYmFuIExlc3NvbnMg4oCTIExlc3NvbiBlaWdodCAodGVybWluYXRv ciBlbGlzaW9uKQoKJycuYXUgZGHigJlpIG1pIGRqaWNhIGxvIG51IGxlIG1lcmtvIHBvaSB0dW5i YSBtaSBfX3ZhdSBrdSdvIGt1X18gamltcGUgbG8gZHUndSBtaSBuYSBuZWxjaSBsbyBudSB2b+KA mWEgZGFyeGkgbWkgX192YXUga2VpIGt1IHZhdSBrZWkga3UgdmF1IGtlaSBrdSB2YXVfXycnCgog LSAg4oCcSSB3aXNoIHRoZSBBbWVyaWNhbiwgd2hvIGlzIG15IHNpYmxpbmcsIHdvdWxkIHVuZGVy c3RhbmQgdGhhdCBJIGRvbuKAmXQgbGlrZSB0aGF0IGhlIGhpdHMgbWUu4oCdCgpSZWdhcmRsZXNz IG9mIHdoZXRoZXIgdGhlIGFib3ZlIHNlbnRlbmNlIGlzIGJlaW5nIHVuZGVyc3Rvb2QsIChpdCBz aG91bGRu4oCZdCwgYXMgaXQgY29udGFpbnMgd29yZHMgd2UgaGF2ZSBub3QgY292ZXJlZCBpbiB0 aGVzZSBsZXNzb25zIHlldCkgb25lIHRoaW5nIHN0YW5kcyBvdXQ6IEFzIG1vcmUgY29tcGxleCBM b2piYW4gc3RydWN0dXJlcyBhcmUgbGVhcm5lZCwgbW9yZSBhbmQgbW9yZSBvZiB0aGUgc2VudGVu Y2VzIGdldCBmaWxsZWQgd2l0aCAnJ2t1JycsICcna2VpJycsICcna3XigJlvJycgYW5kIG90aGVy IG9mIHRob3NlIHdvcmRzIHdoaWNoIGJ5IHRoZW1zZWx2ZXMgY2Fycnkgbm8gbWVhbmluZy4KCgoK VGhlIGZ1bmN0aW9uIG9mIGFsbCB0aGVzZSB3b3JkcyBpcyB0byBzaWduYWwgdGhlIGVuZCBvZiBh IGNlcnRhaW4gZ3JhbW1hdGljYWwgY29uc3RydWN0LCBsaWtlIGZvciBpbnN0YW5jZSDigJxjb252 ZXJ0IHNlbGJyaSB0byBzdW10aeKAnSBpbiB0aGUgY2FzZSBvZiAnJ2t1JycuIFRoZSBFbmdsaXNo IHdvcmQgZm9yIHRoaXMga2luZCBvZiB3b3JkIGlzIOKAnHRlcm1pbmF0b3LigJ0sIHRoZSBMb2pi YW4gd29yZCBpcyAnJ2Zh4oCZb3JtYeKAmW8nJy4gVGhleSBhcmUgd3JpdHRlbiBpbiBib2xkIGlu IHRoZSBleGFtcGxlIGFib3ZlLgoKTm90ZTogVGhlICcndmF1JycgaW4gdGhlIGFib3ZlIGV4YW1w bGUgYXJlIHRoZSBmYSdvcm1hJ28gZm9yIOKAnGVuZCBicmlkaeKAnS4gVGhlcmUgaXMgYSBnb29k IHJlYXNvbiB5b3UgaGF2ZSBub3QgeWV0IHNlZW4gaXQsIHN0YXkgdHVuZWQuCgpfXycndmF1Jydf XyBmYSdvcm1hJ286IFRlcm1pbmF0ZXMgYnJpZGkuCgoKCkluIG1vc3Qgc3Bva2VuIGFuZCB3cml0 dGVuIExvamJhbiwgbW9zdCBmYSdvcm1hJ28gYXJlIHNraXBwZWQgKGVsaWRlZCkuIFRoaXMgZ3Jl YXRseSBzYXZlcyBzeWxsYWJsZXMgaW4gc3BlZWNoIGFuZCBzcGFjZSBpbiB3cml0aW5nLCBob3dl dmVyLCBvbmUgbXVzdCBhbHdheXMgYmUgY2FyZWZ1bCB3aGVuIGVsaWRpbmcgZmEnb3JtYSdvLiBJ biB0aGUgc2ltcGxlIGV4YW1wbGUgJydsbyBtZXJrbyBrdSBrbGFtYScnLCByZW1vdmluZyB0aGUg ZmEnb3JtYSdvICcna3UnJyB3b3VsZCB5aWVsZCAnJ2xvIG1lcmtvIGtsYW1hJycsIHdoaWNoIGlz IGEgc2luZ2xlIHN1bXRpIG1hZGUgZnJvbSB0aGUgdGFucnUgJydtZXJrbyBrbGFtYScnLiBUaHVz LCBpdCBtZWFucyDigJxhbiBBbWVyaWNhbiB0cmF2ZWxlcuKAnSBpbnN0ZWFkIG9mIOKAnGFuIEFt ZXJpY2FuIHRyYXZlbHPigJ0uIGZhJ29ybWEnbyBlbGlzaW9uIGNhbiBsZWFkIHRvIHZlcnkgd3Jv bmcgcmVzdWx0cyBpZiBkb25lIGluY29ycmVjdGx5LCB3aGljaCBpcyB3aHkgeW91IGhhdmVu4oCZ dCBsZWFybmVkIGFib3V0IGl0IHVudGlsIG5vdy4KCgoKVGhlIHJ1bGUgZm9yIHdoZW4gZmEnb3Jt YSdvIGNhbiBiZSBlbGlkZWQgaXMgdmVyeSBzaW1wbGUsIGF0IGxlYXN0IGluIHRoZW9yeTog4oCc WW91IGNhbiBlbGlkZSBhIGZhJ29ybWEnbywgX19pZiBhbmQgb25seSBpZl9fIGRvaW5nIHNvIGRv ZXMgbm90IGNoYW5nZSB0aGUgZ3JhbW1hdGljYWwgY29uc3RydWN0cyBpbiB0aGUgc2VudGVuY2Uu 4oCdCgpNb3N0IGZhJ29ybWEnbyBjYW4gYmUgc2FmZWx5IGVsaWRlZCBhdCB0aGUgZW5kIG9mIHRo ZSBicmlkaS4gRXhjZXB0aW9ucyBhcmUgdGhlIG9idmlvdXMgb25lcyBsaWtlIOKAnGVuZCBxdW90 ZeKAnS1mYSdvcm1hJ28gYW5kIOKAnGVuZCBicmlkaSBncm91cGluZ+KAnS1mYSdvcm1hJ28uIFRo aXMgaXMgd2h5ICcndmF1JycgaXMgYWxtb3N0IG5ldmVyIHVzZWQg4oCTIHNpbXBseSBiZWdpbm5p bmcgYSBuZXcgYnJpZGkgd2l0aCAnJy5pJycgd2lsbCBhbG1vc3QgYWx3YXlzIHRlcm1pbmF0ZSB0 aGUgcHJlY2VkaW5nIGJyaWRpIGFueXdheS4gSXQgaGFzIG9uZSBmcmVxdWVudCB1c2UsIGhvd2V2 ZXIuIFNpbmNlIGF0dGl0dWRpbmFscyBhbHdheXMgYXBwbHkgdG8gdGhlIHByZWNlZGluZyB3b3Jk LCBhcHBseWluZyBpdCB0byBhIGZhJ29ybWEnbyBhcHBsaWVzIGl0IHRvIHRoZSBlbnRpcmUgY29u c3RydWN0IHdoaWNoIGlzIHRlcm1pbmF0ZWQuIFVzaW5nICcndmF1JycsIG9uZSBjYW4gdGhlbiB1 c2UgYXR0aXR1ZGluYWxzIGFmdGVydGhvdWdodCBhbmQgYXBwbHkgdGhlbSB0byB0aGUgZW50aXJl IGJyaWRpOgoKJyd6YeKAmWEgZG8gZHVuZGEgbG8gemRhbmkge2t1fSBsbyBwcmVudSB7a3V9Li4u IHZhdSBp4oCZZScnIC0g4oCcSSBzZWUgdGhhdCB5b3UgZ2l2ZSBhIGhvbWUgdG8gYSBwZXJzb24u Li4gSSBhcHByb3ZlIeKAnQoKX18nJ3ByZW51JydfXyB4MSBpcyBhIHBlcnNvbjsgeDEgaGFzIGEg cGVyc29uYWxpdHkuCgoKCktub3dpbmcgdGhlIGJhc2ljIHJ1bGVzIGZvciBmYSdvcm1hJ28gZWxp c2lvbiwgd2UgY2FuIHRodXMgcmV0dXJuIHRvIHRoZSBvcmlnaW5hbCBzZW50ZW5jZSBhbmQgYmVn aW4gcmVtb3ZpbmcgZmEnb3JtYSdvOgoKCgonJy5hdSBkYeKAmWkgbWkgZGppY2EgbG8gbnUgbGUg bWVya28gcG9pIHR1bmJhIG1pIF9fdmF1IGt1J28ga3VfXyBqaW1wZSBsbyBkdSd1IG1pIG5hIG5l bGNpIGxvIG51IHZv4oCZYSBkYXJ4aSBtaSBfX3ZhdSBrZWkga3UgdmF1IGtlaSBrdSB2YXUga2Vp IGt1IHZhdV9fJycKCgoKV2UgY2FuIHNlZSB0aGF0IHRoZSBmaXJzdCAnJ3ZhdScnIGlzIGdyYW1t YXRpY2FsbHkgdW5uZWNlc3NhcnksIGJlY2F1c2UgdGhlIG5leHQgbm9uLWZhJ29ybWEnby13b3Jk IGlzICcnamltcGUnJywgd2hpY2ggaXMgYSBzZWxicmkuIFNpbmNlIHRoZXJlIGNhbiBvbmx5IGJl IG9uZSBzZWxicmkgcGVyIGJyaWRpLCAnJ3ZhdScnIGlzIG5vdCBuZWVkZWQuIFNpbmNlICcnamlt cGUnJyBhcyBhIHNlbGJyaSBjYW5ub3QgYmUgaW4gdGhlIHJlbGF0aXZlIGNsYXVzZSBlaXRoZXIg KG9ubHkgb25lIGJyaWRpIGluIGEgY2xhdXNlLCBvbmx5IG9uZSBzZWxicmkgaW4gZWFjaCBicmlk aSksIHdlIGNhbiBlbGlkZSAnJ2t1J28nJy4gTGlrZXdpc2UsICcnamltcGUnJyBjYW5ub3QgYmUg YSBzZWNvbmQgc2VsYnJpIGluc2lkZSB0aGUgY29uc3RydWN0ICcnbGUgbWVya28gcG9pey4uLn0n Jywgc28gdGhlICcna3UnJyBpcyBub3QgbmVlZGVkIGVpdGhlci4gRnVydGhlcm1vcmUsIGFsbCB0 aGUgZmEnb3JtYSdvIGF0IHRoZSB2ZXJ5IGVuZCBvZiB0aGUgc2VudGVuY2UgY2FuIGJlIGVsaWRl ZCB0b28sIHNpbmNlIGJlZ2lubmluZyBhIG5ldyBicmlkaSB3aWxsIHRlcm1pbmF0ZSBhbGwgb2Yg dGhlc2UgY29uc3RydWN0cyBhbnl3YXkuCgpXZSB0aGVuIGVuZCB1cCB3aXRoOgoKJycuYXUgZGHi gJlpIG1pIGRqaWNhIGxvIG51IGxlIG1lcmtvIHBvaSB0dW5iYSBtaSBqaW1wZSBsbyBkdSd1IG1p IG5hIG5lbGNpIGxvIG51IHZv4oCZYSBkYXJ4aSBtaScnIOKAkyB3aXRoIG5vIGZhJ29ybWEnbyBh dCBhbGwhCgoKCldoZW4gZWxpZGluZyBmYSdvcm1hJ28sIGl0IGlzIGEgZ29vZCBpZGVhIHRvIGJl IGFjcXVhaW50ZWQgd2l0aCAnJ2N1JycuICcnY3UnJyBpcyBvbmUgb2YgdGhvc2Ugd29yZHMgd2hp Y2ggY2FuIG1ha2UgeW91ciAoTG9qYmFuaWMpIGxpZmUgYSBsb3QgZWFzaWVyLiBXaGF0IGl0IGRv ZXMgaXMgdG8gc2VwYXJhdGUgYW55IHByZXZpb3VzIHN1bXRpIGZyb20gdGhlIHNlbGJyaS4gT25l IGNvdWxkIHNheSB0aGF0IGl0IGRlZmluZXMgdGhlIG5leHQgd29yZCB0byBiZSBhIHNlbGJyaSwg YW5kIHRlcm1pbmF0ZXMgZXhhY3RseSBhcyBtdWNoIGFzIGl0IG5lZWRzIHRvIGluIG9yZGVyIHRv IGRvIHRoYXQuCgpfXycnY3UnJ19fIGVsaWRhYmxlIG1hcmtlcjogc2VwYXJhdGVzIHNlbGJyaSBm cm9tIHByZWNlZGluZyBzdW10aSwgYWxsb3dzIHByZWNlZGluZyBmYSdvcm1hJ28gZWxpc2lvbi4K CgoKX18nJ3ByYW1pJydfXyA9IOKAnHgxIGxvdmVzIHgy4oCdCgoKCicnbG8gc3XigJl1IGRvIGN1 c2t1IGxvIHNlIGR14oCZdSBkbyBwcmFtaSBtaSBfX3ZhdSBrZWkga3UgdmF1IGtlaSBrdV9fIHNl IGRqaWNhIG1pJycgPQoKJydsbyBzdeKAmXUgZG8gY3Vza3UgbG8gc2UgZHXigJl1IGRvIHByYW1p IG1pIF9fY3VfXyBzZSBkamljYSBtaScnCgrigJxUaGF0IHlvdSBzYXkgdGhhdCB5b3UgbG92ZSBt ZSBpcyBkZXNpcmVkIGJ5IGJl4oCdIG9yIOKAnEkgd2lzaCB5b3Ugc2FpZCB5b3UgbG92ZWQgbWXi gJ0KCm5vdGU6ICcnY3UnJyBpcyBub3QgYSBmYSdvcm1hJ28sIGJlY2F1c2UgaXQgaXMgbm90IHRp ZWQgdG8gb25lIHNwZWNpZmljIGNvbnN0cnVjdC4gQnV0IGl0IGNhbiBiZSB1c2VkIHRvIGVsaWRl IG90aGVyIGZhJ29ybWEnby4KCgoKT25lIG9mIHRoZSBncmVhdGVzdCBzdHJlbmd0aHMgb2YgJydj dScnIGlzIHRoYXQgaXQgcXVpY2tseSBiZWNvbWVzIGVhc3kgdG8gaW50dWl0aXZlbHkgdW5kZXJz dGFuZC4gQnkgaXRzZWxmIGl0IG1lYW5zIG5vdGhpbmcsIGJ1dCBpdCByZXZlYWxzIHRoZSBzdHJ1 Y3R1cmUgb2YgTG9qYmFuIGV4cHJlc3Npb25zIGJ5IGlkZW50aWZ5aW5nIHRoZSBjb3JlIHNlbGJy aS4gSW4gdGhlIG9yaWdpbmFsIGV4YW1wbGUgd2l0aCB0aGUgdmlvbGVudCBBbWVyaWNhbiBicm90 aGVyLCB1c2luZyAnJ2N1JycgYmVmb3JlICcnamltcGUnJyBkb2VzIG5vdCBjaGFuZ2UgdGhlIG1l YW5pbmcgb2YgdGhlIHNlbnRlbmNlIGluIGFueSB3YXksIGJ1dCBtaWdodCBtYWtlIGl0IGVhc2ll ciB0byByZWFkLgoKCgpJbiB0aGUgZm9sbG93aW5nIGNvdXBsZSBvZiBsZXNzb25zLCAnJ2N1Jycg d2lsbCBiZSB1c2VkIHdoZW4gbmVjZXNzYXJ5LCBhbmQgYWxsIGZhJ29ybWEnbyBlbGlkZWQgaWYg cG9zc2libGUuIFRoZSBlbGlkZWQgZmEnb3JtYSdvIHdpbGwgYmUgZW5jYXNlZCBpbiBjdXJseSBi cmFja2V0cywgYXMgc2hvd24gYmVsb3cuIFRyeSB0byB0cmFuc2xhdGUgaXQhCgpfXycndmFqbmkn J19fIOKAnHgxIGlzIGltcG9ydGFudCB0byB4MiBmb3IgcmVhc29uIHgz4oCdCgpfXycnamltcGUn J19fIOKAnHgxIHVuZGVyc3RhbmRzIHRoYXQgeDIgKGR14oCZdS1hYnN0cmFjdGlvbikgaXMgdHJ1 ZSBhYm91dCB4M+KAnQoKX18nJ2HigJlvJydfXyAtIEF0dGl0dWRpbmFsOiBTaW1wbGUgcHJvcG9z aXRpb25hbCBlbW90aW9uOiBIb3BlIC0gZGVzcGFpcgoKCgonJ2HigJlvIGRvIG5vaSBrZeKAmWEg bG9qYm8gLmnigJllIHtrdeKAmW99IHtrdX0gY3UgamltcGUgbG8gZHXigJl1IGxvIGZh4oCZb3Jt YeKAmW8ge2t1fSBjdSB2YWpuaSB7dmF1fSB7a2VpfSB7a3V9IHt2YXV9JycKCldoYXQgZG8gSSBz dGF0ZT8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxJIGhvcGUgdGhhdCB5b3UsIHdobyBhcmUg TG9qYmFuaWMgKEkgYXBwcm92ZSBvZiB0aGlzKSwgdW5kZXJzdGFuZHMgdGhhdCBmYSdvcm1hJ28g YXJlIGltcG9ydGFudOKAnX5+CgoKCkZ1biBzaWRlIG5vdGU6IE1vc3QgcGVvcGxlIHdlbGwtdmVy c2VkIGluIGZhJ29ybWEnby1lbGlzaW9uIGRvIGl0IHNvIGluc3RpbmN0aXZlbHkgdGhhdCB0aGV5 IG9mdGVuIG11c3QgYmUgcmVtaW5kZWQgaG93IGltcG9ydGFudCB1bmRlcnN0YW5kaW5nIGZhJ29y bWEnbyBhcmUgdG8gdGhlIHVuZGVyc3RhbmRpbmcgb2YgTG9qYmFuLiBUaGVyZWZvcmUsIGVhY2gg VHVlc2RheSBoYXZlIGJlZW4gZGVzaWduYXRlZCDigJxUZXJtaW5hdG9yIERheeKAnSBvciAnJ2Zh 4oCZb3JtYeKAmW8gZGplZGknJyBvbiB0aGUgTG9qYmFuIElSQyBjaGF0cm9vbS4gRHVyaW5nIFRl cm1pbmF0b3IgRGF5LCBtYW55IHBlb3BsZSB0cnkgKGFuZCBvZnRlbiBmYWlsKSB0byByZW1lbWJl ciB3cml0aW5nIG91dCBhbGwgZmEnb3JtYSdvIHdpdGggc29tZSB2ZXJ5IHZlcmJvc2UgY29udmVy c2F0aW9ucyBhcyBhIHJlc3VsdC4KCgoKCgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29uIG5pbmUg KHN1bXRjaXRhKQoKU28gZmFyIHdlIGhhdmUgYmVlbiBkb2luZyBwcmV0dHkgd2VsbCB3aXRoIHRo ZSBzZWxicmkgd2UgaGF2ZSBoYWQgYXQgaGFuZC4gSG93ZXZlciwgdGhlcmUgaXMgYSBmaW5pdGUg YW1vdW50IG9mIGRlZmluZWQgc2VsYnJpIG91dCB0aGVyZSwgYW5kIGluIG1hbnkgY2FzZXMgdGhl IHN1bXRpIHBsYWNlcyBhcmUgbm90IHVzZWZ1bCBmb3Igd2hhdCB3ZSBoYWQgaW4gbWluZC4gV2hh dCBpZiwgc2F5LCBpIHdhbnQgdG8gc2F5IHRoYXQgSSBhbSB0cmFuc2xhdGluZyB1c2luZyBhIGNv bXB1dGVyPyBUaGVyZSBpcyBubyBwbGFjZSBpbiB0aGUgc3RydWN0dXJlIG9mICcnZmFudmEnJyB0 byBzcGVjaWZ5IHdoYXQgdG9vbCBJIHRyYW5zbGF0ZSB3aXRoLCBzaW5jZSwgbW9zdCBvZiB0aGUg dGltZSwgdGhhdCBpcyBub3QgbmVjZXNzYXJ5LiBOb3QgdG8gd29ycnksIHRoaXMgbGVzc29uIGlz IG9uIGhvdyB0byBhZGQgYWRkaXRpb25hbCBzdW10aSBwbGFjZXMgdG8gdGhlIHNlbGJyaS4KCgoK VGhlIG1vc3QgYmFzaWMgd2F5IHRvIGFkZCBzdW10aSBwbGFjZXMgYXJlIHdpdGggJydmaeKAmW8u Li5mZeKAmXUnJyAoeWVzLCBhbm90aGVyIGV4YW1wbGUgb2YgYSBmYSdvcm1hJ28sICcnZmXigJl1 JycuIEl04oCZcyBhbG1vc3QgbmV2ZXIgbmVjZXNzYXJ5LCBzbyB0aGlzIG1pZ2h0IGJlIHRoZSBs YXN0IHRpbWUgeW91IGV2ZXIgc2VlIGl0LikKCkluIGJldHdlZW4gdGhlc2UgdHdvIHdvcmRzIGdv ZXMgYSBzZWxicmksIGFuZCBsaWtlICcnbG8uLi5rdScnLCAnJ2Zp4oCZby4uLmZl4oCZdScnIGV4 dHJhY3RzIHRoZSB4MSBvZiB0aGUgc2VsYnJpIHB1dCBpbnRvIGl0LiBIb3dldmVyLCB3aXRoICcn ZmnigJlvLi4uZmXigJl1JycsIHRoZSBzZWxicmkgcGxhY2UgaXMgY29udmVydGVkLCBub3QgdG8g YSBzdW10aSwgYnV0IHRvIGEgJydzdW10Y2l0YScnLCBtZWFuaW5nIOKAnHN1bXRpLWxhYmVs4oCd LCB3aXRoIHRoZSBwbGFjZSBzdHJ1Y3R1cmUgb2YgdGhlIHgxIG9mIHRoZSBzZWxicmkgaXQgY29u dmVydGVkLiBUaGlzICcnc3VtdGNpdGEnJyB0aGVuIGFic29yYnMgdGhlIG5leHQgc3VtdGkuIE9u ZSBjb3VsZCBzYXkgdGhhdCB1c2luZyBhICcnc3VtdGNpdGEnJywgeW91IGltcG9ydCBhIHN1bXRp IHBsYWNlIGZyb20gYW5vdGhlciBzZWxicmksIGFuZCBhZGQgaXQgdG8gdGhlIGJyaWRpIGJlaW5n IHNhaWQuCgpOb3RlOiBTb21ldGltZXMsIGVzcGVjaWFsbHkgaW4gb2xkZXIgdGV4dHMsIHRoZSB0 ZXJtIOKAnHRhZ+KAnSBvciDigJxtb2RhbOKAnSBpcyB1c2VkIGZvciAnJ3N1bXRjaXRhJycuIEln bm9yZSB0aG9zZSBwdW55IEVuZ2xpc2ggZXhwcmVzc2lvbnMuIFdlIHRlYWNoIHByb3BlciBMb2pi YW4gaGVyZS4KCgoKV2hpbGUgaXQgaXMgaGFyZCB0byBncmFzcCB0aGUgcHJvY2VzcyBmcm9tIHJl YWRpbmcgYWJvdXQgaXQsIGFuIGV4YW1wbGUgY2FuIHBlcmhhcHMgc2hvdyBpdHMgYWN0dWFsIHNp bXBsaWNpdHk6CgpfXycnc2thbWknJ19fIOKAnHgxIGlzIGEgY29tcHV0ZXIgZm9yIHB1cnBvc2Ug eDLigJ0KCl9fJydwaWxubycnX18g4oCceDEgdXNlcyB4MiBhcyBhIHRvb2wgZm9yIGRvaW5nIHgz 4oCdCgoKCicnbWkgZmFudmEgdGkgZmnigJlvIHNlIHBpbG5vIHtmZeKAmXV9IGxvIHNrYW1pIHtr dX17dmF1fScnIC0g4oCcSSB0cmFuc2xhdGUgdGhpcyB3aXRoIGEgY29tcHV0ZXLigJ0gVGhlIHgy IG9mICcncGlsbm8nJywgd2hpY2ggaXMgdGhlIHgxIG9mICcnc2UgcGlsbm8nJyBpcyBhIHBsYWNl IHN0cnVjdHVyZSBmb3IgYSB0b29sIGJlaW5nIHVzZWQgYnkgc29tZW9uZS4gVGhpcyBwbGFjZSBz dHJ1Y3R1cmUgaXMgY2FwdHVyZWQgYnkgJydmaeKAmW8uLi5mZeKAmXUnJywgYWRkZWQgdG8gdGhl IG1haW4gc2VsYnJpLCBhbmQgdGhlbiBmaWxsZWQgYnkgJydsbyBza2FtaScnLiBUaGUgaWRlYSBv ZiAnJ3N1bXRjaXRhJycgaXMgc29tZXRpbWVzIGV4cHJlc3NlZCBpbiBFbmdsaXNoIHVzaW5nIHRo ZSBmb2xsb3dpbmcgdHJhbnNsYXRpb246CgrigJxJIHRyYW5zbGF0ZSB0aGlzIHdpdGgtdG9vbDog QSBjb21wdXRlcuKAnQoKCgpBICcnc3VtdGNpdGEnJyBjYW4gb25seSBhYnNvcmIgb25lIHN1bXRp LCB3aGljaCBpcyBhbHdheXMgdGhlIGZvbGxvd2luZyBvbmUuIEFsdGVybmF0aXZlbHksIHRoZSAn J3N1bXRjaXRhJycgY29uc3RydWN0IGNhbiBiZSB0ZXJtaW5hdGVkIHdpdGggJydrdScnLCBpbiB3 aGljaCBjYXNlIGEgJyd6b+KAmWUnJyBpcyBpbXBsaWVkIHRvIGZpbGwgdGhlICcnc3VtdGNpdGEn Jy4gT3IsIG9uZSBjb3VsZCBpbWFnaW5lIGFuIGVsaWRlZCBzdW10aSBiZWluZyB0ZXJtaW5hdGVk IHdpdGggdGhlICcna3UnJy4KCl9fJyd6dWt0ZScnX18g4oCceDEgaXMgYSB2b2xpdGlvbmFsIGVu dGl0eSBjYXJyeWluZyBvdXQgYWN0aW9uIHgyIGZvciBwdXJwb3NlIHgz4oCdCgoKCicnZmnigJlv IHp1a3RlIHtmZeKAmXV9IGt1IGxvIHNrYW1pIHtrdX0gY3UgcGlsbm8gbG8gbG9qYm8ge2t1fXt2 YXV9JycgLSDigJxXaXRoIHZvbGl0aW9uLCBhIGNvbXB1dGVyIHVzZWQgc29tZXRoaW5nIExvamJh bmlj4oCdIChwZXJoYXBzIGltcGx5aW5nIHRoYXQgYSBMb2piYW5pYyBjb21wdXRlciB3ZW50IHNl bnRpZW50PyBUb3VnaCBpdCBkb2VzIG5vdCBzcGVjaWZ5IHdobyBoYWQgdm9saXRpb24uIEl0IGNv dWxkIGp1c3QgYmUgdGhlIHByb2dyYW1tZXIgd2hvIHByb2dyYW1tZWQgdGhlIGNvbXB1dGVyIC0g aG93IGJvcmluZy4pCgoKCldoYXQgZG9lcyAnJ21pIGppbXBlIGZpIGxvIGxvamJvIHtrdX0gZmni gJlvIHNlIHRhdmxhIHtmZeKAmXV9IG1pJycgc3RhdGU/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6 4oCcSSB1bmRlcnN0YW5kIHNvbWV0aGluZyBhYm91dCBMb2piYW4sIHNwb2tlbiB0byBtZeKAnX5+ CgoKClB1dHRpbmcgdGhlICcnc3VtdGNpdGEnJyByaWdodCBpbiBmcm9udCBvZiB0aGUgc2VsYnJp IGFsc28gbWFrZXMgaXQgc2VsZi10ZXJtaW5hdGUsIHNpbmNlIHN1bXRjaXRhIG9ubHkgY2FuIGFi c29yYiBzdW10aSwgYW5kIG5vdCBzZWxicmkuIFRoaXMgZmFjdCB3aWxsIGJlIG9mIGltcG9ydGFu Y2UgaW4gbmV4dCBsZXNzb24sIGFzIHlvdSB3aWxsIHNlZS4KCgoKU2FkbHksICcnZmnigJlvJycg aXMgbm90IHVzZWQgdmVyeSBvZnRlbiBkZXNwaXRlIGl0cyBmbGV4aWJpbGl0eS4gV2hhdCBJUyB1 c2VkIHZlcnkgb2Z0ZW4sIHRob3VnaCwgYXJlIEJBSS4gQkFJIGFyZSBhIGNsYXNzIG9mIExvamJh biB3b3Jkcywgd2hpY2ggaW4gdGhlbXNlbHZlcyBhY3QgYXMgJydzdW10Y2l0YScnLiBBbiBleGFt cGxlIG9mIHRoaXMgaXMgJyd6deKAmWUnJywgdGhlIEJBSSBmb3IgJyd6dWt0ZScnLiBHcmFtYXRp Y2FsbHksICcnenXigJllJycgaXMgdGhlIHNhbWUgYXMgJydmaeKAmW8genVrdGUgZmXigJl1Jycu IFRodXMsIHRoZSBhYm92ZSBleGFtcGxlIGNvdWxkIGJlIHJlZHVjZWQgdG86CgonJ3p14oCZZSBr dSBsbyBza2FtaSB7a3V9IGN1IHBpbG5vIGxvIGxvamJvIHtrdX0ge3ZhdX0nJy4gVGhlcmUgZXhp c3Qgc29tZXRoaW5nIGxpa2UgNjAgQkFJLCBhbmQgYSBsb3Qgb2YgdGhlc2UgYXJlIHZlcnkgdXNl ZnVsIGluZGVlZC4gRnVydGVybW9yZSwgQkFJIGNhbiBhbHNvIGJlIGNvbnZlcnRlZCB3aXRoICcn c2UnJyBhbmQgZnJpZW5kcywgbWVhbmluZyB0aGF0ICcnc2UgenXigJllJycgaXMgZXF1YWwgdG8g JydmaeKAmW8gc2UgenVrdGUgZmXigJl1JycsIHdoaWNoIHJlc3VsdHMgaW4gYSBncmVhdCBkZWFs IG1vcmUgQkFJLgoKCgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29uIHRlbiAoUFUsIEZBaEEsIFpJ LCBWQSwgWkVoQSwgVkVoQSkKCkhvdyB1bmZhbWlsaWFyIHRvIHRoZSBFbmdsaXNoLXNwZWFrZXIg YSBsYW5ndWFnZSBMb2piYW4gaXMgd2hlbiBvbmUgY2FuIHJlYWQgdGhyb3VnaCBuaW5lIGxlc3Nv bnMgb2YgTG9qYmFuIGdyYW1tYXIgd2l0aG91dCBtZWV0aW5nIGEgdGVuc2Ugb25jZS4gVGhpcyBp cyBiZWNhdXNlLCB1bmxpa2UgbWFueSBuYXR1cmFsIGxhbmd1YWdlcyAobW9zdCBJbmRvLUV1cm9w ZWFuIG9uZXMsIGZvciBpbnN0YW5jZSksIGFsbCB0ZW5zZXMgaW4gTG9qYmFuIGFyZSBvcHRpb25h bC4gU2F5aW5nICcnbWkgY2l0a2EgbG8gY2lybGEge2t1fScnIGNhbiBtZWFuIOKAnEkgZWF0IGNo ZWVzZeKAnSBvciDigJxJIGF0ZSB0aGUgY2hlZXNl4oCdIG9yIOKAnEkgYWx3YXlzIGVhdCBjaGVl c2XigJ0gb3Ig4oCcSW4gYSBtb21lbnQsIGkgd2lsbCBoYXZlIGp1c3QgZmluaXNoZWQgZWF0aW5n IGNoZWVzZeKAnS4gQ29udGV4dCByZXNvbHZlcyB3aGF0IGlzIGNvcnJlY3QsIGFuZCBpbiBtb3N0 IGNvbnZlcnNhdGlvbiwgdGVuc2VzIGFyZSBub3QgbmVlZGVkIGF0IGFsbC4gSG93ZXZlciwgd2hl biBpdOKAmXMgbmVlZGVkIGl04oCZcyBuZWVkZWQsIGFuZCBpdCBtdXN0IGJlIHRhdWdodC4gRnVy dGhlcm1vcmUsIExvamJhbiB0ZW5zZXMgYXJlIHVudXN1YWwgYmVjYXVzZSB0aGV5IHRyZWF0IHRp bWUgYW5kIHNwYWNlIGZ1bmRhbWVudGFsbHkgdGhlIHNhbWUgLSBzYXlpbmcgdGhhdCBJIHdvcmtl ZCBhIGxvbmcgdGltZSBhZ28gaXMgbm90IGdyYW1tYXRpY2FsbHkgZGlmZmVyZW50IHRoYW4gc2F5 aW5nIEkgd29yayBmYXIgYXdheSB0byB0aGUgbm9ydGguCgpMaWtlIG1hbnkgb3RoZXIgbGFuZ3Vh Z2VzLCB0aGUgTG9qYmFuIHRlbnNlIHN5c3RlbSBpcyBwZXJoYXBzIHRoZSBtb3N0IGRpZmZpY3Vs dCBwYXJ0IG9mIHRoZSBsYW5ndWFnZS4gVW5saWtlIG1hbnkgb3RoZXIgbGFuZ3VhZ2VzIHRob3Vn aCwgaXTigJlzIHBlcmZlY3RseSByZWd1bGFyIGFuZCBtYWtlcyBzZW5zZS4gU28gZmVhciBub3Qs IGZvciBpdCB3aWxsIG5vdCBpbnZvbHZlIHN3ZWF0aW5nIHRvIGxlYXJuIGhvdyB0byBtb2RpZnkg dGhlIHNlbGJyaSBvciBhbnl0aGluZyBzaWxseSBsaWtlIHRoYXQuCgoKCk5vLCBpbiB0aGUgTG9q YmFuIHRlbnNlIHN5c3RlbSwgYWxsIHRlbnNlcyBhcmUgc3VtdGNpdGEsIHdoaWNoIHdlIGhhdmUg Y29udmVuaWVudGx5IGp1c3QgbWFkZSBvdXJzZWx2ZXMgZmFtaWxpYXIgd2l0aC4gT2theSBva2F5 LCB0ZWNobmljYWxseSwgdGVuc2VzIGFyZSBzbGlnaHRseSBkaWZmZXJlbnQgZnJvbSBvdGhlciBz dW10Y2l0YSwgYnV0IHRoaXMgZGlmZmVyZW5jZSBpcyBhbG1vc3QgaW5zaWduaWZpY2FudCwgYW5k IHdpbGwgYmUgd29uJ3QgYmUgZXhwbGFpbmVkIHVudGlsIGxhdGVyLiAKClRoZXJlIGFyZSBtYW55 IGRpZmZlcmVudCBraW5kcyBvZiB0ZW5zZS1zdW10Y2l0YSwgc28gbGV04oCZcyBzdGFydCBhdCB0 aGUgb25lcyBtb3N0IGZhbWlsaWFyIHRvIEVuZ2xpc2gtc3BlYWtlcnMuCgpfXycncHUnJ19fIC0g c3VtdGNpdGE6IGJlZm9yZSB7c3VtdGl9CgpfXycnY2EnJ19fIC0gc3VtdGNpdGE6IGF0IHRoZSBz YW1lIHRpbWUgYXMge3N1bXRpfQoKX18nJ2JhJydfXyAtIHN1bXRjaXRhOiBhZnRlciB7c3VtdGl9 CgoKClRoZXNlIGFyZSBsaWtlIHRoZSBFbmdsaXNoIGNvbmNlcHRzIOKAnGJlZm9yZeKAnSwg4oCc bm934oCdIGFuZCDigJxhZnRlcuKAnS4gSW4gYWN0dWFsaXR5IHRob3VnaCwgb25lIGNvdWxkIGFy Z3VlIHRoYXQgdHdvIHBvaW50LWxpa2UgZXZlbnRzIGNhbiBuZXZlciBvY2N1ciBleGFjdGx5IHNp bXVsdGFuZW91c2x5LCByZW5kZXJpbmcgJydjYScnIHVzZWxlc3MuIEJ1dCAnJ2NhJycgZXh0ZW5k cyBzbGlnaHRseSBpbnRvIHRoZSBwYXN0IGFuZCB0aGUgZnV0dXJlLCBtZWFuaW5nIGp1c3Qg4oCc YWJvdXQgbm934oCdLiBUaGlzIGlzIGJlY2F1c2UgaHVtYW4gYmVpbmdzIGRvbuKAmXQgcGVyY2Vp dmUgdGltZSBpbiBhIHBlcmZlY3RseSBsb2dpY2FsIHdheSwgYW5kIHRoZSBMb2piYW4gdGVuc2Ug c3lzdGVtIHJlZmxlY3RzIHRoYXQuCgoKClNpZGUgbm90ZTogSXQgd2FzIGFjdHVhbGx5IHN1Z2dl c3RlZCBtYWtpbmcgdGhlIExvamJhbiB0ZW5zZSBzeXN0ZW0gcmVsYXRpdmlzdGljLiBUaGF0IGlk ZWEsIGhvd2V2ZXIsIHdhcyBkcm9wcGVkLCBiZWNhdXNlIGl0IGlzIGNvdW50ZXItaW50dWl0aXZl LCBhbmQgd291bGQgbWVhbiB0aGF0IHRvIGxlYXJuIExvamJhbiwgb25lIHdvdWxkIGhhdmUgdG8g bGVhcm4gdGhlIHRoZW9yeSBvZiByZWxhdGl2aXR5IGZpcnN0LiAgCgoKClNvLCBob3cgd291bGQg eW91IHNheSDigJxJIGV4cHJlc3MgdGhpcyBhZnRlciBJIGNhbWUgaGVyZT/igJ0gKHBvaW50aW5n IHRvIGEgcGFwZXIpCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JydtaSBjdXNrdSB0aSBiYSBsbyBu dSBtaSBrbGFtYSB0aSB7dmF1fSB7a2VpIHtrdX0ge3ZhdX0nJ35+CgoKClVzdWFsbHkgd2hlbiBz cGVha2luZywgd2UgZG8gbm90IG5lZWQgdG8gc3BlY2lmeSB3aGljaCBldmVudCB0aGlzIGFjdGlv biBpcyBpbiB0aGUgcGFzdCByZWxhdGl2ZSB0by4gSW46IOKAnEkgZ2F2ZSBhIGNvbXB1dGVyIGF3 YXnigJ0sIHdlIGNhbiBhc3N1bWUgdGhhdCB0aGUgYWN0aW9uIGhhcHBlbmVkIHJlbGF0aXZlIHRv IOKAnG5vd+KAnSwgYW5kIHRodXMgd2UgY2FuIGVsaWRlIHRoZSBzdW10aSBvZiB0aGUgc3VtdGNp dGEsIGJlY2F1c2UgaXTigJlzIG9idmlvdXM6CgonJ3B1IGt1IG1pIGR1bmRhIGxvIHNrYW1pIHtr dX0ge3ZhdX0nJyBvcgoKJydtaSBkdW5kYSBsbyBza2FtaSB7a3V9IHB1IHtrdX0ge3ZhdX0nJyBv ciwgbW9yZSBjb21tb25seQoKJydtaSBwdSB7a3V9IGR1bmRhIGxvIHNrYW1pIHtrdX0ge3ZhdX0n Jy4gVGhlIHN1bXRpIHdoaWNoIGZpbGxzIHRoZSBzdW10Y2l0YSBpcyBhbiBpbXBsaWVkICcnem/i gJllJycsIHdoaWNoIGlzIGFsbW9zdCBhbHdheXMgdW5kZXJzdG9vZCBhcyByZWxhdGl2ZSB0byB0 aGUgc3BlYWtlcidzIHRpbWUgYW5kIHBsYWNlICh0aGlzIGlzIGVzcGVjaWFsbHkgaW1wb3J0YW50 IHdoZW4gc3BlYWtpbmcgYWJvdXQgbGVmdCBhbmQgcmlnaHQpLiBJZiBzcGVha2luZyBhYm91dCBz b21lIGV2ZW50cyB0aGF0IGhhcHBlbmVkIHNvbWUgb3RoZXIgdGltZSB0aGFuIHRoZSBwcmVzZW50 LCBpdCBpcyBzb21ldGltZXMgYXNzdW1lZCB0aGF0IGFsbCB0ZW5zZXMgYXJlIHJlbGF0aXZlIHRv IHRoYXQgZXZlbnQgd2hpY2ggaXMgYmVpbmcgc3Bva2VuIGFib3V0LiBJbiBvcmRlciB0byBjbGFy aWZ5IHRoYXQgYWxsIHRlbnNlcyBhcmUgcmVsYXRpdmUgdG8gdGhlIHNwZWFrZXIncyBjdXJyZW50 IHBvc2l0aW9uLCB0aGUgd29yZCAnJ25hdScnIGNhbiBiZSB1c2VkIGF0IGFueSB0aW1lLiBBbm90 aGVyIHdvcmQsICcna2knJyBtYXJrcyBhIHRlbnNlIHdoaWNoIGlzIHRoZW4gY29uc2lkZXJlZCB0 aGUgbmV3IHN0YW5kYXJkLiBUaGF0IHdpbGwgYmUgdGF1Z2h0IHdheSBsYXRlci4KCl9fJyduYXUn J19fIHVwZGF0ZXMgdGVtcG9yYWwgYW5kIHNwYWNpYWwgZnJhbWUgb2YgcmVmZXJlbmNlIHRvIHRo ZSBzcGVha2VyJ3MgY3VycmVudCBoZXJlIGFuZCBub3cuCgoKCl9fJydndWdkZScnX18gPSDigJx4 MSBpcyB0aGUgY291bnRyeSBvZiBwZW9wbGUgeDIgd2l0aCBsYW5kL3RlcnJpdG9yeSB4M+KAnQoK CgpBbHNvIG5vdGUgdGhhdCAnJ21pIHB1IHtrdX0ga2xhbWEgbG8gbWVya28gZ3VnZGUge2t1fSB7 dmF1fScnLCDigJxJIHdlbnQgdG8gQW1lcmljYeKAnSwgZG9lcyBub3QgaW1wbHkgdGhhdCBJ4oCZ bSBub3Qgc3RpbGwgdHJhdmVsaW5nIHRvIFVTQSwgb25seSB0aGF0IGl0IHdhcyBhbHNvIHRydWUg c29tZSB0aW1lIGluIHRoZSBwYXN0LCBmb3IgaW5zdGFuY2UgZml2ZSBtaW51dGVzIGFnby4KCgoK QXMgbWVudGlvbmVkLCBzcGFjaWFsIGFuZCB0ZW1wb3JhbCB0aW1lIHRlbnNlcyBhcmUgdmVyeSBt dWNoIGFsaWtlLiBDb250cmFzdCB0aGUgcHJldmlvdXMgdGhyZWUgdGltZSB0ZW5zZXMgd2l0aCB0 aGVzZSBmb3VyIHNwYWNpYWwgdGVuc2VzOgoKX18nJ3p14oCZYScnX18gc3VtdGNpdGE6IGxlZnQg b2Yge3N1bXRpfQoKX18nJ2Nh4oCZdScnX18gc3VtdGNpdGE6IGluIGZyb250IG9mIHtzdW10aX0K Cl9fJydyaeKAmXUnJ19fIHN1bXRjaXRhOiByaWdodCBvZiB7c3VtdGl9CgpfXycnYnXigJl1Jydf XyBzdW10Y2l0YTogYXQgdGhlIHNhbWUgcGxhY2UgYXMge3N1bXRpfSAoc3BhY2lhbCBlcXVpdmFs ZW50IG9mICcnY2EnJykKCgoKX18nJ28nbycnX186IGF0dGl0dWRpbmFsOiBjb21wbGV4IHB1cmUg ZW1vdGlvbjogcGF0aWVuY2UgLSB0b2xlcmFuY2UgLSBhbmdlcgoKCgpXaGF0IHdvdWxkICcnLm/i gJlvbmFpIHJp4oCZdSB7a3V9IG51IGxvIHByZW51IHtrdX0gY3UgZGFyeGkgbG8gZ2Vya3UgcHUg e2t1fSB7a3V9IHt2YXV9IHtrZWl9IHt2YXV9JycgbWVhbj8gKG5vdGljZSB0aGUgZmlyc3QgZWxp ZGVkIGt1ISkKCl9fJydkYXJ4aScnX18geDEgYmVhdHMvaGl0cyB4MiB3aXRoIGluc3RydW1lbnQg eDMgYXQgbG9jdXMgeDQKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJx7YW5nZXIhfSBUbyB0aGUg cmlnaHQgKG9mIHNvbWV0aGluZywgcHJvYmFibHkgbWUpIGFuZCBpbiB0aGUgcGFzdCAob2Ygc29t ZSBldmVudCksIHNvbWV0aGluZyBpcyBhbiBldmVudCBvZiBhIHBlcnNvbiBiZWF0aW5nIGEgZG9n LuKAnSBvciDigJxBIG1hbiBoaXQgYSBkb2cgdG8gbXkgcmlnaHQh4oCdfn4KCgoKSWYgdGhlcmUg YXJlIHNldmVyYWwgdGVuc2Ugc3VtdGNpdGEgaW4gb25lIGJyaWRpLCB0aGUgcnVsZSBpcyB0aGF0 IHlvdSByZWFkIHRoZW0gZnJvbSBsZWZ0IHRvIHJpZ2h0LCB0aGlua2luZyBpdCBhcyBhIHNvIGNh bGxlZCDigJxpbWFnaW5hcnkgam91cm5leeKAnSwgV2hlcmUgeW91IGJlZ2luIGF0IGFuIGltcGxp ZWQgcG9pbnQgaW4gdGltZSBhbmQgc3BhY2UgKGRlZmF1bHQ6IHRoZSBzcGVha2Vy4oCZcyBub3cg YW5kIGhlcmUpLCBhbmQgdGhlbiBmb2xsb3cgdGhlIHN1bXRjaXRhIG9uZSBhdCBhIHRpbWUgZnJv bSBsZWZ0IHRvIHJpZ2h0LgoKRXhhbXBsZQoKJydtaSBwdSB7a3V9IGJhIHtrdX0gamltcGUgZmkg bG8gbG9qYm8gZmHigJlvcm1h4oCZbyB7a3V9IHt2YXV9JycgPSDigJxBdCBzb21lIHRpbWUgaW4g dGhlIHBhc3QsIEkgd2lsbCBiZSBhYm91dCB0byBrbm93IGFib3V0IGZhJ29ybWEnb3Mu4oCdCgon J21pIGJhIHtrdX0gcHUge2t1fSBqaW1wZSBmaSBsbyBsb2pibyBmYeKAmW9ybWHigJlvIHtrdX0g e3ZhdX0nJyDigJxBdCBzb21lIHBvaW50IGluIHRoZSBmdXR1cmUsIEkgd2lsbCBoYXZlIHVuZGVy c3Rvb2QgYWJvdXQgZmEnb3JtYSdvcy7igJ0KClNpbmNlIHdlIGRvIG5vdCBzcGVjaWZ5IHRoZSBh bW91bnQgb2YgdGltZSB3ZSBtb3ZlIGJhY2sgb3IgZm9ydGgsIHRoZSB1bmRlcnN0YW5kaW5nIGNv dWxkIGluIGJvdGggY2FzZXMgaGFwcGVuIGluIHRoZSBmdXR1cmUgb3IgdGhlIHBhc3Qgb2YgdGhl IHBvaW50IG9mIHJlZmVyZW5jZS4KCgoKQWxzbywgaWYgc3BhY2lhbCBhbmQgdGVtcG9yYWwgdGVu c2VzIGFyZSBtaXhlZCwgdGhlIHJ1bGUgaXMgdG8gYWx3YXlzIHB1dCB0ZW1wb3JhbCBiZWZvcmUg c3BhY2lhbC4gSWYgdGhpcyBydWxlIGlzIHZpb2xhdGVkLCBpdCBjYW4gc29tZXRpbWVzIHJlc3Vs dCBpbiBzeW50YWN0aWNhbCBhbWJpZ3VpdHksIHdoaWNoIExvamJhbiBkb2VzIG5vdCB0b2xlcmF0 ZS4KCgoKU3VwcG9zZSB3ZSB3YW50IHRvIHNwZWNpZnkgdGhhdCBhIG1hbiBoaXQgYSBkb2cganVz dCBhIG1pbnV0ZSBhZ28uIFRoZSB3b3JkcyAnJ3ppJycsICcnemEnJyBhbmQgJyd6dScnIHNwZWNp ZmllcyBhIHNob3J0LCB1bnNwZWNpZmllZCAocHJlc3VtYWJseSBtZWRpdW0pIGFuZCBsb25nIGRp c3RhbmNlIGluIHRpbWUuIE5vdGljZSB0aGUgdm93ZWwgb3JkZXIgJydpJycsICcnYScnIGFuZCAn J3UnJy4gVGhpcyBvcmRlciBhcHBlYXJzIGFnYWluIGFuZCBhZ2FpbiBpbiBMb2piYW4sIGFuZCBt aWdodCBiZSB3b3J0aCB0byBtZW1vcml6ZS4g4oCcU2hvcnTigJ0gYW5kIOKAnGxvbmfigJ0gaW4g YXJlIGFsd2F5cyBjb250ZXh0IGRlcGVuZGVudCwgcmVsYXRpdmUgYW5kIHN1YmplY3RpdmUuIFR3 byBodW5kcmVkIHllYXJzIGlzIGEgc2hvcnQgdGltZSBmb3IgYSBzcGVjaWVzIHRvIGV2b2x2ZSwg YnV0IGEgbG9uZyB0aW1lIHRvIHdhaXQgZm9yIHRoZSBidXMuCgpfXycnemknJ19fIHN1bXRjaXRh OiBPY3VycmluZyB0aGUgc21hbGwgZGlzdGFuY2Ugb2Yge3N1bXRpfSBpbiB0aW1lIGZyb20gcG9p bnQgb2YgcmVmZXJlbmNlIAoKX18nJ3phJydfXyBzdW10Y2l0YTogT2N1cnJpbmcgdGhlIHVuc3Bl Y2lmaWVkKG1lZGl1bSkgZGlzdGFuY2Ugb2Yge3N1bXRpfSBpbiB0aW1lIGZyb20gcG9pbnQgb2Yg cmVmZXJlbmNlIAoKX18nJ3p1JydfXyBzdW10Y2l0YTogT2N1cnJpbmcgdGhlIGZhciBkaXN0YW5j ZSBvZiB7c3VtdGl9IGluIHRpbWUgZnJvbSB0aGUgcG9pbnQgb2YgcmVmZXJlbmNlIAoKCgpTaW1p bGFybHksIHNwYWNpYWwgZGlzdGFuY2UgaXMgbWFya2VkIGJ5ICcndmknJywgJyd2YScnIGFuZCAn J3Z1JycgZm9yIHNob3J0LCB1bnNwZWNpZmllZCAobWVkaXVtKSBhbmQgbG9uZyBkaXN0YW5jZSBp biBzcGFjZS4KCl9fJyd2aScnX18gc3VtdGNpdGE6IE9jdXJyaW5nIHRoZSBzbWFsbCBkaXN0YW5j ZSBvZiB7c3VtdGl9IGluIHNwYWNlIGZyb20gcG9pbnQgb2YgcmVmZXJlbmNlIAoKX18nJ3ZhJydf XyBzdW10Y2l0YTogT2N1cnJpbmcgdGhlIHVuc3BlY2lmaWVkKG1lZGl1bSkgZGlzdGFuY2Ugb2Yg e3N1bXRpfSBpbiBzcGFjZSBmcm9tIHBvaW50IG9mIHJlZmVyZW5jZSAKCl9fJyd2dScnX18gc3Vt dGNpdGE6IE9jdXJyaW5nIHRoZSBmYXIgZGlzdGFuY2Ugb2Yge3N1bXRpfSBpbiBzcGFjZSBmcm9t IHRoZSBwb2ludCBvZiByZWZlcmVuY2UgCgpfXycnZ3Vua2EnJ19fIOKAnHgxIHdvcmtzIGF0IHgy IHdpdGggb2JqZWN0aXZlIHgz4oCdCgoKClRyYW5zbGF0ZTogJydiYSB7a3V9IHphIGt1IG1pIHZ1 IHtrdX0gZ3Vua2Ege3ZhdX0nJwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnFNvbWUgdGltZSBp biB0aGUgZnV0dXJlLCBJIHdpbGwgd29yayBhIHBsYWNlIGxvbmcgYXdheeKAnX5+CgpOb3RlOiBQ ZW9wbGUgcmFyZWx5IHVzZSAnJ3ppJycsICcnemEnJyBvciAnJ3p1Jycgd2l0aG91dCBhICcncHUn JyBvciAnJ2JhJycgaW4gZnJvbnQgb2YgaXQuIFRoaXMgaXMgYmVjYXVzZSBtb3N0IHBlb3BsZSBh bHdheXMgbmVlZCB0byBzcGVjaWZ5IHBhc3Qgb3IgZnV0dXJlIGluIHRoZWlyIG5hdGl2ZSBsYW5n dWFnZS4gV2hlbiB5b3UgdGhpbmsgYWJvdXQgaXQgTG9qYmFuaWNhbGx5LCBtb3N0IG9mIHRoZSB0 aW1lIHRoZSB0aW1lLWRpcmVjdGlvbiBpcyBvYnZpb3VzLCBhbmQgdGhlICcncHUnJyBvciAnJ2Jh Jycgc3VwZXJmbHVvdXMhCgoKClRoZSBvcmRlciBpbiB3aGljaCBkaXJlY3Rpb24tc3VtdGNpdGEg YW5kIGRpc3RhbmNlLXN1bXRjaXRhIGFyZSBzYWlkIG1ha2VzIGEgZGlmZmVyZW5jZS4gUmVtZW1i ZXIgdGhhdCB0aGUgbWVhbmluZ3Mgb2Ygc2V2ZXJhbCB0ZW5zZSB3b3JkcyBhcmUgcGljdHVyZWQg YnkgYW4gaW1hZ2luYXJ5IGpvdXJuZXkgcmVhZGluZyBmcm9tIGxlZnQgdG8gcmlnaHQuIFRodXMg JydwdSB6dScnIGlzIOKAnGEgbG9uZyB0aW1lIGFnb+KAnSB3aGlsZSAnJ3p1IHB1JycgaXMg4oCc aW4gdGhlIHBhc3Qgb2Ygc29tZSBwb2ludCBpbiB0aW1lIHdoaWNoIGlzIGEgbG9uZyB0aW1lIHRv d2FyZCB0aGUgZnV0dXJlIG9yIHRoZSBwYXN0IG9mIG5vd+KAnS4gSW4gdGhlIGZpcnN0IGV4YW1w bGUsICcncHUnJyBzaG93cyB0aGF0IHdlIGJlZ2luIGluIHRoZSBwYXN0LCAnJ3p1JycgdGhlbiB0 aGF0IGl0IGlzIGEgbG9uZyB0aW1lIGJhY2t3YXJkcy4gSW4gdGhlIHNlY29uZCBleGFtcGxlLCAn J3p1Jycgc2hvd3MgdGhhdCB3ZSBiZWdpbiBhdCBzb21lIHBvaW50IGZhciBhd2F5IGluIHRpbWUg ZnJvbSBub3csICcncHUnJyB0aGVuLCB0aGF0IHdlIG1vdmUgYmFja3dhcmRzIGZyb20gdGhhdCBw b2ludC4gVGh1cyAnJ3B1IHp1JycgaXMgYWx3YXlzIGluIHRoZSBwYXN0LiAnJ3p1IHB1JycgY291 bGQgYmUgaW4gdGhlIGZ1dHVyZS4gVGhlIGZhY3QgdGhhdCB0aGVzZSB0aW1lIHRlbnNlcyBjb21i aW5lIGluIHRoaXMgd2F5IGlzIG9uZSBvZiB0aGUgZGlmZmVyZW5jZXMgYmV0d2VlbiB0ZW5zZSBz dW10Y2l0YSBhbmQgb3RoZXIgc3VtdGNpdGEuIFRoZSBtZWFuaW5ncyBvZiBvdGhlciBzdW10Y2l0 YSBhcmUgbm90IGFsdGVyZWQgYnkgdGhlIHByZXNlbmNlIG9mIGFkZGl0aW9uYWwgc3VtdGNpdGEg aW4gYSBicmlkaS4KCgoKQXMgYnJpZWZseSBpbXBsaWVkIGVhcmxpZXIsIGFsbCB0aGVzZSBjb25z dHJ1Y3RzIGJhc2ljYWxseSB0cmVhdCBicmlkaSBhcyBpZiB0aGV5IHdlcmUgcG9pbnQtbGlrZSBp biB0aW1lIGFuZCBzcGFjZS4gSW4gYWN0dWFsaXR5LCBtb3N0IGV2ZW50cyBwbGF5IG91dCBvdmVy IGEgc3BhbiBvZiB0aW1lIGFuZCBzcGFjZS4gSW4gdGhlIGZvbGxvd2luZyBmZXcgcGFyYWdyYXBo cywgd2Ugd2lsbCBsZWFybiBob3cgdG8gc3BlY2lmeSBpbnRlcnZhbHMgb2YgdGltZSBhbmQgc3Bh Y2UuCgoKCl9fJyd6ZeKAmWknJ19fIHN1bXRjaXRhOiBzcGFubmluZyBvdmVyIHRoZSBzaG9ydCB0 aW1lIG9mIHtzdW10aX0KCl9fJyd6ZeKAmWEnJ19fIHN1bXRjaXRhOiBzcGFubmluZyBvdmVyIHRo ZSB1bnNwZWNpZmllZCAobWVkaXVtKSB0aW1lIG9mIHtzdW10aX0KCl9fJyd6ZeKAmXUnJ19fIHN1 bXRjaXRhOiBzcGFubmluZyBvdmVyIHRoZSBsb25nIHRpbWUgb2Yge3N1bXRpfQoKCgpfXycndmXi gJlpJydfXyBzdW10Y2l0YTogc3Bhbm5pbmcgb3ZlciB0aGUgc2hvcnQgc3BhY2Ugb2Yge3N1bXRp fQoKX18nJ3Zl4oCZYScnX18gc3VtdGNpdGE6IHNwYW5uaW5nIG92ZXIgdGhlIHVuc3BlY2lmaWVk IChtZWRpdW0pIHNwYWNlIG9mIHtzdW10aX0KCl9fJyd2ZeKAmXUnJ19fIHN1bXRjaXRhOiBzcGFu bmluZyBvdmVyIHRoZSBsb25nIHNwYWNlIG9mIHtzdW10aX0KCgoKU2l4IHdvcmRzIGF0IGEgdGlt ZSwgSSBrbm93LCBidXQgcmVtZW1iZXJpbmcgdGhlIHZvd2VsIHNlcXVlbmNlIGFuZCB0aGUgc2lt aWxhcml0eSBvZiB0aGUgaW5pdGlhbCBsZXR0ZXIgeiBmb3IgdGVtcG9yYWwgdGVuc2VzIGFuZCB2 IGZvciBzcGFjaWFsIHRlbnNlcyBtaWdodCBoZWxwIHRoZSBtZW1vcml6aW5nLgoKX18nJy5vaScn X18gLSBhdHRpdHVkaW5hbDogcGFpbiAtIHBsZWFzdXJlCgoKClRyYW5zbGF0ZTogJycub2kgZGFp IGRvIHZl4oCZdSB7a3V9IGtsYW1hIGxvIGRvdGNvIGd1Z2RlIHtrdX0gemXigJl1IHtrdX0ge3Zh dX0nJwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnE91Y2gsIHlvdSBzcGVuZCBhIGxvbmcgdGlt ZSB0cmF2ZWxpbmcgYSBsb25nIHNwYWNlIHRvIEdlcm1hbnnigJ0gfn4KCgoKVGhvdWdoIG1vc3Qg cGVvcGxlIGFyZSBub3QgZmFtaWxpYXIgd2l0aCBzcGFjaWFsIHRlbnNlcywgdGhlc2UgbmV3IHdv cmRzIGNhbiBvcGVuIHVwIGZvciBzb21lIHByZXR0eSBzd2VldCB1c2VzLiBPbmUgY291bGQsIGZv ciBpbnN0YW5jZSwgdHJhbnNsYXRlIOKAnFRoYXTigJlzIGEgYmlnIGRvZ+KAnSBhcyAnJ3RpIHZl 4oCZdSB7a3V9IGdlcmt1IHt2YXV9JycuIFNheWluZzog4oCcVGhpcyB0aGluZyBkb2dzIGZvciBh IGxvbmcgc3BhY2XigJ0gbWFrZXMgeW91IHNvdW5kIHJldGFyZGVkIGluIEVuZ2xpc2gsIGJ1dCB3 ZWxsLXNwb2tlbiBpbiBMb2piYW4hCgoKCicnemXigJl1JycgYW5kIGl0cyBicm90aGVycyBhbHNv IGNvbWJpbmUgd2l0aCBvdGhlciB0ZW5zZXMgdG8gZm9ybSBjb21wb3VuZCB0ZW5zZXMuIFRoZSBy dWxlIGZvciAnJ3pl4oCZdScnIGFuZCB0aGUgb3RoZXJzIGFyZSB0aGF0IGFueSB0ZW5zZXMgcHJl Y2VkaW5nIGl0IG1hcmtzIGFuIGVuZHBvaW50IG9mIHRoZSBwcm9jZXNzIChyZWxhdGl2ZSB0byB0 aGUgcG9pbnQgb2YgcmVmZXJlbmNlKSBhbmQgYW55IHRlbnNlcyBjb21pbmcgYWZ0ZXIgaXQgbWFy a3MgdGhlIG90aGVyIGVuZHBvaW50IHJlbGF0aXZlIHRvIHRoZSBmaXJzdC4gVGhpcyBzaG91bGQg YmUgZGVtb25zdHJhdGVkIHdpdGggYSBjb3VwbGUgb2YgZXhhbXBsZXM6CgonJy5v4oCZb2N14oCZ aSBkbyBjaXRrYSBwdSB7a3V9IHpl4oCZdSB7a3V9IGJhIHtrdX0genUge2t1fSB7dmF1fScnIC0g 4oCce3RvbGVyYW5jZX0geW91IGVhdCBiZWdpbm5pbmcgaW4gdGhlIHBhc3QgYW5kIGZvciBhIGxv bmcgdGltZSBlbmRpbmcgYXQgc29tZSBwb2ludCBmYXIgaW50byB0aGUgZnV0dXJlIG9mIHdoZW4g eW91IHN0YXJ0ZWTigJ0gb3Ig4oCcSG1wZiwgeW91IGF0ZSBmb3IgYSBsb25nIHRpbWXigJ0uIE9u ZSBjYW4gYWxzbyBjb250cmFzdCAnJ2RvIGNhIHtrdX0gemXigJlpIHtrdX0gcHUge2t1fSBrbGFt YSB7dmF1fScnIHdpdGggJydkbyBwdSB7a3V9IHpl4oCZaSB7a3V9IGNhIHtrdX0ga2xhbWEge3Zh dX0nJy4gVGhlIGZpcnN0IGV2ZW50IG9mIHRyYXZlbGluZyBoYXMgb25lIGVuZHBvaW50IGluIHRo ZSBwcmVzZW50IGFuZCBleHRlbmRzIGEgbGl0dGxlIHRvd2FyZHMgdGhlIHBhc3QsIHdoaWxlIHRo ZSBzZWNvbmQgZXZlbnQgaGFzIG9uZSBlbmRwb2ludCBpbiB0aGUgcGFzdCBhbmQgZXh0ZW5kcyBv bmx5IHRvIHRoZSBwcmVzZW50ICh0aGF0IGlzLCBzbGlnaHR5IGludG8gdGhlIHBhc3Qgb3IgZnV0 dXJlKSBvZiB0aGF0IGVuZHBvaW50LgoKX18nJ2ptaXZlJydfXyDigJx4MSBpcyBhbGl2ZSBieSBz dGFuZGFyZCB4MuKAnQoKCgpXaGF0IGRvZXMgJycudWkgbWkgcHUge2t1fSB6aSB7a3V9IHpl4oCZ dSB7a3V9IGptaXZlIHt2YXV9JycgZXhwcmVzcz8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJx7 aGFwcGluZXNzIX0gSSBsaXZlIGZyb20gYSBsaXR0bGUgaW50byB0aGUgcGFzdCBhbmQgYSBsb25n IHdheSB0b3dhcmRzIHRoZSBmdXR1cmUgb3IgcGFzdCAob2J2aW91c2x5IHRoZSBmdXR1cmUsIGlu IHRoaXMgY2FzZSkgb2YgdGhhdCBldmVudOKAnSBvciDigJxJIGFtIHlvdW5nLCBhbmQgaGF2ZSBt b3N0IG9mIG15IGxpZmUgYWhlYWQgb2YgbWUgOinigJ1+fgoKCgpKdXN0IHRvIHVuZGVybGluZSB0 aGUgc2ltaWxhcml0eSB3aXRoIHNwYWNpYWwgdGVuc2VzLCBsZXTigJlzIGhhdmUgYW5vdGhlciBl eGFtcGxlLCB0aGlzIHRpbWUgd2l0aCBzcGFjaWFsIHRlbnNlczoKCl9fJycudeKAmWUnJ19fIGF0 dGl0dWRpbmFsOiB3b25kZXIgLSBjb21tb25wbGFjZQoKCgonJy514oCZZSB6YeKAmWEge2t1fSBi deKAmXUge2t1fSB2ZeKAmXUge2t1fSBjYeKAmXUge2t1fSB6ZGFuaSB7dmF1fScnIC0gV2hhdCBk b2VzIGl0IG1lYW4/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6IOKAnHt3b25kZXJ9IHtJIG9ic2Vy dmUhfSBFeHRlbmRpbmcgYSBsb25nIHNwYWNlIGZyb20gaGVyZSB0byBteSBmcm9udCBpcyBhIGhv bWUu4oCdIG9yIOKAnFdvdywgdGhpcyBob21lIGV4dGVuZGluZyBhaGVhZCBpcyBodWdlIeKAnX5+ CgoKCkJlZm9yZSB3ZSBjb250aW51ZSB3aXRoIHRoaXMgc3ludGF4LWhlYXZ5IHRlbnNlIHN5c3Rl bSwgaSByZWNvbW1lbmQgc3BlbmRpbmcgYXQgbGVhc3QgdGVuIG1pbnV0ZXMgZG9pbmcgc29tZXRo aW5nIHdoaWNoIGRvZXNu4oCZdCBvY2N1cHkgeW91ciBicmFpbiBpbiBvcmRlciB0byBsZXQgdGhl IGluZm9ybWF0aW9uIHNpbmsgaW4uIFNpbmcgYSBzb25nIG9yIGVhdCBhIGNvb2tpZSB2ZXJ5IHNs b3dseSAtIHdoYXRldmVyLCBhcyBsb25nIGFzIHlvdSBsZXQgeW91ciBtaW5kIHJlc3QuCgoKCgoK ISFMb2piYW4gTGVzc29ucyAtIExlc3NvbiBlbGV2ZW4gKFpBaE8pCgpUaG91Z2ggd2Ugd29u4oCZ dCBnbyB0aHJvdWdoIGFsbCBMb2piYW4gdGVuc2UgY29uc3RydWN0cyBmb3Igbm93LCB0aGVyZSBp cyBvbmUgb3RoZXIga2luZCBvZiB0ZW5zZSB0aGF0IEkgdGhpbmsgc2hvdWxkIGJlIHRhdWdodCBu b3cuIFRoZXNlIGFyZSBjYWxsZWQg4oCcZXZlbnQgY29udG91cnPigJ0sIGFuZCByZXByZXNlbnQg YSB2ZXJ5IGRpZmZlcmVudCB3YXkgb2Ygdmlld2luZyB0ZW5zZXMgdGhhdCB3ZSBoYXZlIHNlZW4g c28gZmFyLiBTbyBsZXTigJlzIGdldCB0byBpdDoKCgoKVXNpbmcgdGhlIHRlbnNlcyB3ZSBoYXZl IGxlYXJuZWQgc28gZmFyLCB3ZSBjYW4gaW1hZ2luZSBhbiBpbmRlZmluaXRlIHRpbWUgbGluZSwg YW5kIHdlIHRoZW4gcGxhY2UgZXZlbnRzIG9uIHRoYXQgbGluZSByZWxhdGl2ZSB0byB0aGUg4oCc bm934oCdLiBXaXRoIGV2ZW50IGNvbnRvdXJzLCBob3dldmVyLCB3ZSB2aWV3IGVhY2ggZXZlbnQg YXMgYSBwcm9jZXNzLCB3aGljaCBoYXMgY2VydGFpbiBzdGFnZXM6IEEgdGltZSBiZWZvcmUgaXQg dW5mb2xkcywgYSB0aW1lIHdoZW4gaXQgYmVnaW5zLCBhIHRpbWUgd2hlbiBpdCBpcyBpbiBwcm9j ZXNzLCBhIHRpbWUgd2hlbiBpdCBlbmRzLCBhbmQgYSB0aW1lIGFmdGVyIGl0IGhhcyBlbmRlZC4g RXZlbnQgY29udG91cnMgdGhlbiB0ZWxscyB1cyB3aGljaCBwYXJ0IG9mIHRoZSBldmVudOKAmXMg cHJvY2VzcyB3YXMgaGFwcGVuaW5nIGR1cmluZyB0aGUgdGltZSBzcGVjaWZpZWQgYnkgdGhlIG90 aGVyIHRlbnNlcy4gV2UgbmVlZCBhIGNvdXBsZSBvZiB0ZW5zZXMgZmlyc3Q6CgoKCl9fJydwdeKA mW8nJ19fIC0gc3VtdGNpdGE6IGV2ZW50IGNvbnRvdXI6IEJyaWRpIGhhcyBub3QgeWV0IGhhcHBl bmVkIGR1cmluZyB7c3VtdGl9CgpfXycnY2HigJlvJydfXyAtIHN1bXRjaXRhOiBldmVudCBjb250 b3VyOiBCcmlkaSBpcyBpbiBwcm9jZXNzIGR1cmluZyB7c3VtdGl9CgpfXycnYmHigJlvJydfXyAt IHN1bXRjaXRhOiBldmVudCBjb250b3VyOiBUaGUgcHJvY2VzcyBvZiBicmlkaSBoYXMgZW5kZWQg ZHVyaW5nIHtzdW10aX0KCgoKVGhpcyBuZWVkcyB0byBiZSBkZW1vbnN0cmF0ZWQgYnkgc29tZSBl eGFtcGxlcy4gV2hhdOKAmXMgJycudWkgbWkgcHXigJlvIHtrdX0gc2UgemRhbmkge3ZhdX0nJyBt ZWFuPwoKCgpBbnN3ZXI6IOKAnFlheSwgSeKAmWxsIGJlZ2luIHRvIGhhdmUgYSBob21l4oCdLgoK CgpCdXQgaGV5LCB5b3UgYXNrLCB3aHkgbm90IGp1c3Qgc2F5ICcnLnVpIG1pIGJhIHtrdX0gc2Ug emRhbmkge3ZhdX0nJyBhbmQgZXZlbiBzYXZlIGEgc3lsbGFibGU/IEJlY2F1c2UsIHJlbWVtYmVy LCBzYXlpbmcgdGhhdCB5b3Ugd2lsbCBoYXZlIGEgaG9tZSBpbiB0aGUgZnV0dXJlIHNheXMgbm90 aGluZyBhYm91dCB3aGV0aGVyIHlvdSBoYXZlIGEgaG9tZSBub3cuIFVzaW5nICcncHXigJlvJycs IHRob3VnaCwgeW91IHNheSB0aGF0IHlvdSBhcmUgbm93IGluIHRoZSBwYXN0IG9mIHRoZSBwcm9j ZXNzIG9mIHlvdSBoYXZpbmcgYSBob21lLCB3aGljaCBtZWFucyB0aGF0IHlvdSBkb27igJl0IGhh dmUgb25lIG5vdy4KCk5vdGUsIGJ5IHRoZSB3YXksIHRoYXQgJydtaSBiYSB7a3V9IHNlIHpkYW5p IHt2YXV9JycgaXMgc2ltaWxhciB0byAnJ21pIHB14oCZbyB7a3V9IHNlIHpkYW5pIHt2YXV9Jycs IGFuZCBsaWtld2lzZSB3aXRoICcnYmHigJlvJycgYW5kICcncHUnJy4gV2h5IGRvIHRoZXkgc2Vl bSByZXZlcnNlZD8gQmVjYXVzZSBldmVudCBjb250b3VycyB2aWV3IHRoZSBwcmVzZW50IGFzIHNl ZW4gZnJvbSB0aGUgdmlld3BvaW50IG9mIHRoZSBwcm9jZXNzLiBXaGVyZWFzIHRoZSBvdGhlciB0 ZW5zZXMgdmlldyBldmVudHMgc2VlbiBmcm9tIHRoZSBwcmVzZW50LgoKCgpPZnRlbiwgZXZlbnQg Y29udG91cnMgYXJlIG1vcmUgcHJlY2lzZSB0aGFuIG90aGVyIGtpbmRzIG9mIHRlbnNlcy4gRXZl biBtb3JlIGNsYXJpdHkgaXMgYWNoaWV2ZWQgYnkgY29tYmluaW5nIHNldmVyYWwgdGVuc2VzOiAn Jy5h4oCZbyBtaSBiYXtrdX0gemkge2t1fSBiYeKAmW8ge2t1fSBndW5rYSB7dmF1fScnIC0g4oCc SSBob3BlIEnigJl2ZSBzb29uIGZpbmlzaGVkIHdvcmtpbmcu4oCdCgoKCkluIExvamJhbiwgd2Ug YWxzbyBvcGVyYXRlIHdpdGggYW4gZXZlbnTigJlzIOKAnG5hdHVyYWwgYmVnaW5uaW5n4oCdIGFu ZCBpdHMg4oCcbmF0dXJhbCBlbmTigJ0uIFRoZSB0ZXJtIOKAnG5hdHVyYWzigJ0gaXMgaGlnaGx5 IHN1YmplY3RpdmUgaW4gdGhpcyBzZW5zZSwgYW5kIHRoZSBuYXR1cmFsIGVuZCByZWZlcnMgdG8g dGhlIHBvaW50IGluIHRoZSBwcm9jZXNzIHdoZXJlIGl0IHNob3VsZCBlbmQuIFlvdSBjYW4gc2F5 IGFib3V0IGEgbGF0ZSB0cmFpbiwgZm9yIGluc3RhbmNlLCB0aGF0IGl0cyBwcm9jZXNzIG9mIHJl YWNoaW5nIHlvdSBpcyBub3cgZXh0ZW5kaW5nIGJleW9uZCBpdHMgbmF0dXJhbCBlbmQuIEFuIHVu ZGVyY29va2VkLCBidXQgc2VydmVkIG1lYWwsIHNpbWlsYXJseSwgaXMgYmVpbmcgZWF0ZW4gYmVm b3JlIHRoYXQgcHJvY2Vzc+KAmSBuYXR1cmFsIGJlZ2lubmluZy4gVGhlIGV2ZW50IGNvbnRvdXJz IHVzZWQgaW4gdGhlc2UgZXhhbXBsZXMgYXJlIGFzIGZvbGxvd3M6CgoKCl9fJyd6YeKAmW8nJ19f IC0gc3VtdGNpdGE6IGV2ZW50IGNvbnRvdXI6IEJyaWRpIGlzIGluIHByb2Nlc3MgYmV5b25kIGl0 cyBuYXR1cmFsIGVuZCBkdXJpbmcge3N1bXRpfQoKX18nJ3hh4oCZbycnX18gLSBzdW10Y2l0YTog ZXZlbnQgY29udG91cjogQnJpZGkgaXMgaW1tYXR1cmVseSBpbiBwcm9jZXNzIGR1cmluZyB7c3Vt dGl9CgoKCl9fJydjaWRqYScnX186IOKAnHgxIGlzIGZvb2QsIHdoaWNoIGlzIGVkaWJsZSBmb3Ig eDLigJ0KCgoKVHJhbnNsYXRlOiAnJy5vaSBkbyBjaXRrYSB6YeKAmW8gbG8gbnUgZG8gYmHigJlv IHtrdX0gdeKAmWUgY2l0a2Egem/igJllIG5vaSBjaWRqYSBkbyB7dmF1fSB7a3XigJlvfSB7dmF1 fSB7a2VpfSB7a3V9JycKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxPeSwgeW91IGtlZXAgZWF0 aW5nIHdoZW4geW91IGhhdmUgZmluaXNoZWQsIGluY3JlZGlibHksIGVhdGluZyBzb21ldGhpbmcg ZWRpYmxlIeKAnX5+CgoKCntpbWcgZmlsZUlkPSIyIiB0aHVtYj0ieSIgcmVsPSJib3hbZ10ifQoK SW1hZ2UgYWJvdmU6IFpBaE8gdGVuc2VzIChldmVudCBjb250b3VycykuIEFsbCB0ZW5zZXMgYWJv dmUgdGhlIGxpbmUgb2YgdGhlIGV2ZW50IHNpZ25pZnkgc3RhZ2VzIGNvdmVyaW5nIGFuIGFtb3Vu dCBvZiB0aW1lLiBBbGwgdGVuc2VzIGJlbG93IHRoZSBldmVudCBsaW5lIHNpZ25pZnkgc3RhZ2Vz IHdoaWNoIGFyZSBwb2ludC1saWtlLgoKCgpBbGwgb2YgdGhlc2UgdGVuc2VzIGhhdmUgYmVlbiBk ZXNjcmliaW5nIHN0YWdlcyBvZiBhIHByb2Nlc3Mgd2hpY2ggdGFrZXMgc29tZSB0aW1lIChhcyBz aG93biBvbiB0aGUgZ3JhcGggYWJvdmU7IHRob3NlIHRlbnNlcyBhYm92ZSB0aGUgZXZlbnQgbGlr ZSkuIEJ1dCBtYW55IG9mIHRoZSBldmVudCBjb250b3VycyBkZXNjcmliZXMgcG9pbnQgbGlrZSBz dGFnZXMgaW4gdGhlIHByb2Nlc3MsIGxpa2UgaXRzIGJlZ2lubmluZy4gQXMgaXMgdHJ1ZSBvZiAn J2NhJycgYW5kICcnYnXigJl1JycsIHRoZXkgYWN0dWFsbHkgZXh0ZW5kIHNsaWdodGx5IGludG8g dGhlIHBhc3QgYW5kIGZ1dHVyZSBvZiB0aGF0IHBvaW50LCBhbmQgbmVlZCBub3QgdG8gYmUgcHJl Y2lzZS4KCgoKVGhlIHR3byBtb3N0IGltcG9ydGFudCBwb2ludC1saWtlIGV2ZW50IGNvbnRvdXJz IGFyZToKCl9fJydjb+KAmWEnJ19fIC0gc3VtdGNpdGE6IGV2ZW50IGNvbnRvdXI6IEJyaWRpIGlz IGF0IGl0cyBiZWdpbm5pbmcgZHVyaW5nIHtzdW10aX0KCl9fJydjb+KAmXUnJ19fIC0gc3VtdGNp dGE6IGV2ZW50IGNvbnRvdXI6IEJyaWRpIGlzIGF0IGl0cyBlbmRpbmcgZHVyaW5nIHtzdW10aX0K CgoKRnVydGhlcm1vcmUsIHRoZXJlIGlzIGEgcG9pbnQgd2hlcmUgdGhlIHByb2Nlc3MgaXMgbmF0 dXJhbGx5IGNvbXBsZXRlLCBidXQgbm90IG5lY2Vzc2FyaWx5IGhhcyBlbmRlZCB5ZXQ6CgpfXycn bW/igJl1JydfXyAtIHN1bXRjaXRhOiBldmVudCBjb250b3VyOiBCcmlkaSBpcyBhdCBpdHMgbmF0 dXJhbCBlbmRpbmcgZHVyaW5nIHtzdW10aX0KCk1vc3Qgb2YgdGhlIHRpbWUsIHRob3VnaCwgcHJv Y2Vzc2VzIGFjdHVhbGx5IGVuZCBhdCB0aGVpciBuYXR1cmFsIGVuZGluZzsgdGhpcyBpcyB3aGF0 IG1ha2VzIGl0IG5hdHVyYWwuIFRyYWlucyBhcmUgbm90IHVzdWFsbHkgbGF0ZSwgYW5kIHBlb3Bs ZSB1c3VhbGx5IHJldHJhaW4gdGhlbXNlbHZlcyB0byBlYXQgb25seSBlZGlibGUgZm9vZC4KCgoK U2luY2UgYSBwcm9jZXNzIGNhbiBiZSBpbnRlcnJ1cHRlZCBhbmQgcmVzdW1lZCwgdGhlc2UgcG9p bnRzIGhhdmUgZWFybmVkIHRoZWlyIG93biBldmVudCBjb250b3VyIGFsc286CgpfXycnZGXigJlh JydfXyAtIHN1bXRjaXRhOiBldmVudCBjb250b3VyOiBCcmlkaSBpcyBwYXVzaW5nIGR1cmluZyB7 c3VtdGl9CgpfXycnZGnigJlhJydfXyAtIHN1bXRjaXRhOiBldmVudCBjb250b3VyOiBCcmlkaSBp cyByZXN1bWluZyBkdXJpbmcge3N1bXRpfQoKCgpJbiBmYWN0LCBzaW5jZSAnJ2p1bmRpJycgbWVh bnMg4oCceDEgcGF5cyBhdHRlbnRpb24gdG8geDLigJ0sICcnZGXigJlhIGp1bmRpJycgYW5kICcn ZGnigJlhIGp1bmRpJycgYXJlIGNvbW1vbiBMb2piYW4gd2F5cyBvZiBzYXlpbmcg4oCcQlJC4oCd IGFuZCDigJxiYWNr4oCdLiBPbmUgY291bGQgb2YgY291cnNlIGFsc28gc2F5IHRoZSBldmVudCBj b250b3VycyBieSB0aGVtc2VsdmVzIGFuZCBob3BlIHRoZSBwb2ludCBnZXRzIGFjcm9zcy4KCgoK RmluYWxseSwgb25lIGNhbiB0cmVhdCBhbiBlbnRpcmUgZXZlbnQsIGZyb20gdGhlIGJlZ2lubmlu ZyB0byB0aGUgZW5kIGFzIG9uZSBzaW5nbGUgcG9pbnQgdXNpbmcgJydjb+KAmWknJzoKCl9fJydw ZW5taScnX18g4oCceDEgbWVldHMgeDIgYXQgbG9jYXRpb24geDPigJ0KCicnbWkgcHUge2t1fSB6 aSB7a3V9IGNv4oCZaSB7a3V9IHBlbm1pIGxvIGRvdGNvIHByZW51IHtrdX0ge3ZhdX0nJyAtIOKA nEEgbGl0dGxlIHdoaWxlIGFnbywgSSB3YXMgYXQgdGhlIHBvaW50IGluIHRpbWUgd2hlcmUgaSBt ZXQgYSBHZXJtYW4gcGVyc29u4oCdCgoKCgoKISFMb2piYW4gTGVzc29ucyAtIExlc3NvbiB0d2Vs dmUgKG9yZGVycyBhbmQgcXVlc3Rpb25zKQoKUGhldywgdGhvc2UgdHdvIGxvbmcgbGVzc29ucyB3 aXRoIHN5bnRheCBoZWF2eSBMb2piYW4gZ2l2ZXMgdGhlIGJyYWluIHNvbWV0aGluZyB0byBwb25k ZXIgYWJvdXQuIEVzcGVjaWFsbHkgYmVjYXVzZSBpdOKAmXMgc28gZGlmZmVyZW50IGZyb20gRW5n bGlzaC4gU28gbGV04oCZcyB0dXJuIHRvIHNvbWV0aGluZyBhIGxpdHRsZSBsaWdodGVyOiBPcmRl cnMgYW5kIHF1ZXN0aW9ucy4KCgoKV2hhdCB0aGUuLi4gX19zaXQgdXAgYW5kIGZvY3VzIV9fCgoK ClNpbmNlIHRoZSB3YXkgdG8gZXhwcmVzcyBvcmRlcnMgaW4gRW5nbGlzaCBpcyB0byBsZWF2ZSBv dXQgdGhlIHN1YmplY3Qgb2YgdGhlIGNsYXVzZSwgd2h5IGRpZCB5b3UgYXNzdW1lIHRoYXQgaXQg d2FzIHlvdSBJIHdhcyBzcGVha2luZyB0bywgYW5kIG5vdCBvcmRlcmluZyBteXNlbGYsIG9yIGV4 cHJlc3NpbmcgdGhlIG9ibGlnYXRpb24gc29tZW9uZSBlbHNlIGhhcz8gQmVjYXVzZSB0aGUgRW5n bGlzaCBsYW5ndWFnZSB1bmRlcnN0YW5kcyB0aGF0IG9yZGVycywgYnkgdGhlaXIgdmVyeSBuYXR1 cmUsIGFyZSBhbHdheXMgZGlyZWN0ZWQgdG93YXJkcyB0aGUgbGlzdGVuZXIgLSB0aGUg4oCceW91 4oCdLCBhbmQgc28gdGhlIHN1YmplY3QgaXMgbm90IG5lY2Vzc2FyeS4KCkluIExvamJhbiwgZWxp ZGluZyB0aGUgc3ViamVjdCB5aWVsZHMgJyd6b+KAmWUnJywgc28gdGhhdCBwb3NzaWJpbGl0eSBp cyBzYWRseSBub3Qgb3BlbiB0byB1cy4gSW5zdGVhZCwgd2UgdXNlIHRoZSB3b3JkICcna28nJywg d2hpY2ggaXMgdGhlIGltcGVyYXRpdmUgZm9ybSBvZiAnJ2RvJycuIEdyYW1tYXRpY2FsbHkgYW5k IGJyaWRpLXdpc2UsIGl04oCZcyBlcXVpdmFsZW50IHRvICcnZG8nJywgYnV0IGl0IGFkZHMgYSBs YXllciBvZiBzZW1hbnRpY3MsIHNpbmNlIGl0IHR1cm5zIGV2ZXJ5IHN0YXRlbWVudCB3aXRoICcn a28nJyBpbiBpdCBpbnRvIGFuIG9yZGVyLiDigJxEbyBzdWNoIHRoYXQgdGhpcyBzZW50ZW5jZSBp cyB0cnVlIGZvciB5b3U9JydrbycnIeKAnSBGb3IgdGhlIHNhbWUgcmVhc29uIHdlIGRvbuKAmXQg bmVlZCB0aGUgc3ViamVjdCBpbiBFbmdsaXNoIHNlbnRlbmNlcywgd2UgZG9u4oCZdCBuZWVkIG9y ZGVyLXdvcmRzIGRlcml2ZWQgZnJvbSBhbnkgb3RoZXIgc3VtdGkgdGhhbiAnJ2RvJycuCgoKCkhv dyBjb3VsZCB5b3Ugb3JkZXIgb25lIHRvIGdvIGZhciBhd2F5IGZvciBhIGxvbmcgdGltZSAodXNp bmcgJydrbGFtYScnIGFzIHRoZSBvbmx5IHNlbGJyaT8pCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6 a28gdmXigJl1IHpl4oCZdSBrbGFtYX5+CgooJycuaSB6YeKAmWEgZGFpIGHigJlvIG1pIGNhIGNv 4oCZdSBjaXNrYSBsbyBmYeKAmW9ybWHigJlvIC5pIGtvIGppbXBlIHZhdSAudWknJykgLSBsb29r IHVwIGNpc2thIGFuZCB3b3JrIGl0IG91dC4KCgoKUXVlc3Rpb25zIGluIExvamJhbiBhcmUgdmVy eSBlYXN5IHRvIGxlYXJuLCBhbmQgdGhleSBjb21lIGluIHR3byBraW5kczogRmlsbCBpbiB0aGUg YmxhbmssIGFuZCB0cnVlL2ZhbHNlIHF1ZXN0aW9ucy4gTGV04oCZcyBiZWdpbiB3aXRoIHRoZSB0 cnVlLWZhbHNlIHF1ZXN0aW9uIGtpbmQgLSB0aGF04oCZcyBwcmV0dHkgb3ZlcmNvbWVhYmxlLCBz aW5jZSBpdCBvbmx5IGludm9sdmVzIG9uZSB3b3JkLCAnJ3h1JycuCgonJ3h1Jycgd29ya3MgbGlr ZSBhbiBhdHRpdHVkaW5hbCBpbiB0aGUgc2Vuc2UgdGhhdCBpdCBjYW4gZ28gYW55d2hlcmUsIGFu ZCBpdCBhcHBsaWVzIHRvIHRoZSBwcmVjZWRpbmcgd29yZCAob3IgY29uc3RydWN0KS4gSXQgdGhl biB0cmFuc2Zvcm1zIHRoZSBzZW50ZW5jZSBpbnRvIGEgcXVlc3Rpb24sIGFza2luZyB3aGV0aGVy IGl0IGlzIHRydWUgb3Igbm90LiBJbiBvcmRlciB0byBhZmZpcm0sIHlvdSBzaW1wbHkgcmVwZWF0 IHRoZSBicmlkaToKCicneHUgdmXigJl1IHpkYW5pIGRvJycgJycuaSB2ZeKAmXUgemRhbmkgbWkn Jywgb3IgeW91IGp1c3QgcmVwZWF0IHRoZSB0aGUgc2VsYnJpLCB3aGljaCBpcyB0aGUgYnJpZGkg d2l0aCBhbGwgdGhlIHN1bXRpIGFuZCB0ZW5zZXMgZWxpZGVkOiAnJ3pkYW5pJycuCgpUaGVyZSBp cyBhbiBldmVuIGVhc2llciB3YXkgdG8gYWZmaXJtIHVzaW5nIHByby1icmlkaXMsIGJ1dCB0aG9z ZSBhcmUgYSB0YWxlIGZvciBhbm90aGVyIHRpbWUuIFRvIGFuc3dlciDigJxub+KAnSBvciDigJxm YWxzZeKAnSwgeW91IHNpbXBseSBhbnN3ZXIgd2l0aCB0aGUgYnJpZGkgbmVnYXRlZC4gVGhhdCB0 b28sIHdpbGwgYmUgbGVmdCBmb3IgbGF0ZXIsIGJ1dCB3ZSB3aWxsIHJldHVybiB0byBxdWVzdGlv biBhbnN3ZXJpbmcgYnkgdGhlbi4KCgoKVGhlIG90aGVyIGtpbmQgaXMgZmlsbCBpbiB0aGUgYmxh bmsuIEhlcmUsIHlvdSBhc2sgZm9yIHRoZSBxdWVzdGlvbiB3b3JkIHRvIGJlIHJlcGxhY2VkIGZv ciBhIGNvbnN0cnVjdCwgd2hpY2ggbWFrZXMgdGhlIGJyaWRpIGNvcnJlY3QuIFRoZXJlIGFyZSBz ZXZlcmFsIG9mIHRoZXNlIHdvcmRzLCBkZXBlbmRpbmcgb24gd2hhdCB5b3UgYXJlIGFza2luZyBh Ym91dDoKCl9fJydtYScnX18gLSBzdW10aSBxdWVzdGlvbgoKX18nJ21vJydfXyAtIHNlbGJyaSBx dWVzdGlvbgoKX18nJ3hvJydfXyAtIG51bWJlciBxdWVzdGlvbgoKX18nJ2N14oCZZScnX18gLSB0 ZW5zZSBxdWVzdGlvbgoKCgpBcyB3ZWxsIGFzIG1hbnkgb3RoZXJzLiBUbyBhc2sgYWJvdXQgYSBz dW10aSwgeW91IHRoZW4ganVzdCBwbGFjZSB0aGUgcXVlc3Rpb24gd29yZCB3aGVyZSB5b3Ugd2Fu dCB5b3VyIGFuc3dlcjogJydkbyBkdW5kYSBtYSBtaScnIC0gYXNrcyBmb3IgdGhlIHgyIHRvIGJl IGZpbGxlZCB3aXRoIGEgY29ycmVjdCBzdW10aS4g4oCcWW91IGdpdmUgd2hhdCB0byBtZT/igJ0u IFRoZSBjb21iaW5hdGlvbiBvZiAnJ3N1bXRjaXRhJycgKyAnJ21hJycgaXMgdmVyeSB1c2VmdWwg aW5kZWVkOgoKX18nJ2114oCZaScnX18gLSBzdW10Y2l0YTogbW90aXZhdGVkIGJ5IHRoZSBhYnN0 cmFjdGlvbiBvZiB7c3VtdGl9CgoKCicnLm9pIGRvIGRhcnhpIG1pIG114oCZaSBtYScnIC0g4oCc T3ksIHdoeSBkbyB5b3UgaGl0IG1lPyHigJ0KCgoKTGV04oCZcyB0cnkgYW5vdGhlciBvbmUuIFRo aXMgdGltZSwgeW91IHRyYW5zbGF0ZToKCicnLnVpIGRhaSBkbyBjYSB6ZeKAmXUgcHUgbW8nJwoK CgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnFlvdeKAmXJlIGhhcHB5LCB3aGF0IGhhdmUgeW91IGJl ZW4gZG9pbmcgYWxsIHRoaXMgbG9uZyB0aW1lIHVudGlsIG5vdz/igJ0gVGVjaG5pY2FsbHksIGl0 IGNvdWxkIGFsc28gbWVhbiDigJx3aGF0IGhhdmUgeW91IGJlZW4/4oCdLCBidXQgYW5zd2VyaW5n IHdpdGggJycudWEgbmFpIGxp4oCZYSByZW1uYScnIChVaCwgaHVtYW4sIG9idmlvdXNseSkgaXMg anVzdCBiZWluZyBpbmNyZWRpYmx5IGFubm95aW5nIG9uIHB1cnBvc2Uufn4KCgoKU2luY2UgdG9u ZSBvZiB2b2ljZSBvciBzZW50ZW5jZSBzdHJ1Y3R1cmUgZG9lcyBub3QgcmV2ZWFsIHdoZXRoZXIg YSBzZW50ZW5jZSBpcyBhIHF1ZXN0aW9uIG9yIG5vdCwgb25lIGJldHRlciBub3QgbWlzcyB0aGUg cXVlc3Rpb24gd29yZC4gVGhlcmVmb3JlLCBzaW5jZSBwZW9wbGUgdGVuZCB0byBmb2N1cyBtb3Jl IG9uIHdvcmRzIGluIHRoZSBiZWdpbm5pbmcgb3IgYXQgdGhlIGVuZCBvZiBzZW50ZW5jZXMsIGl0 4oCZcyB1c3VhbGx5IHdvcnRoIHRoZSB3aGlsZSB0byByZS1vcmRlciB0aGUgc2VudGVuY2Ugc28g dGhhdCB0aGUgcXVlc3Rpb24gd29yZHMgYXJlIGF0IHRob3NlIHBsYWNlcy4gSWYgdGhhdCBpcyBu b3QgZmVhc2FibGUsICcncGF1JycgaXMgYW4gYXR0aXR1ZGluYWwgbWFya2luZyB0aGF0IHRoZSBz ZW50ZW5jZSBpcyBhIHF1ZXN0aW9uLiBDb250cmFyeSwgJydwYXUgbmFpJycgZXhwbGljaXRseSBt YXJrcyBhbnkgcXVlc3Rpb24gYXMgYmVpbmcgcmhldG9yaWNhbC4KCgoKV2hpbGUgd2UgYXJlIG9u IHRoZSB0b3BpYyBvZiBxdWVzdGlvbnMsIGl04oCZcyBhbHNvIGFwcHJvcHJpYXRlIHRvIG1lbnRp b24gdGhlIHdvcmQgJydrYXUnJywgd2hpY2ggaXMgYSBtYXJrZXIgZm9yIOKAnGluZGlyZWN0IHF1 ZXN0aW9u4oCdLiBXaGF04oCZcyBhbiBpbmRpcmVjdCBxdWVzdGlvbiwgdGhlbj8gV2VsbCwgdGFr ZSBhIGxvb2sgYXQgdGhlIHNlbnRlbmNlOiAnJ21pIGRqdW5vIGxvIGR14oCZdSBtYSBrYXUgemRh bmkgZG8nJyAtIOKAnEkga25vdyB3aGF0IGlzIHlvdXIgaG9tZS7igJ0KCl9fJydkanVubycnX18g 4oCceDEga25vd3MgZmFjdChzKSB4MiBhcmUgdHJ1ZSBhYm91dCB4MyBieSBlcGlzdGVtb2xvZ3kg eDTigJ0KCk9uZSBjYW4gdGhpbmsgaXQgYXMgdGhlIGFuc3dlciB0byB0aGUgcXVlc3Rpb24gJydt YSB6ZGFuaSBkbycnLiBNb3JlIHJhcmVseSwgb25lIGNhbiBtYXJrIGEgbm9uLXF1ZXN0aW9uIHdv cmQgd2l0aCAnJ2thdScnLCBpbiB3aGljaCBjYXNlIG9uZSBzdGlsbCBjYW4gaW1hZ2luZSBpdCBh cyB0aGUgYW5zd2VyIHRvIGEgcXVlc3Rpb246ICcnbWkgamltcGUgbG8gZHXigJl1IGR1bmRhIHRp IGthdSBkbycnIC0g4oCcSSBrbm93IHdoYXQgeW91IGhhdmUgYmVlbiBnaXZlbiwgaXQgaXMgdGhp cy7igJ0KCgoKCgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29uIHRoaXJ0ZWVuIChtb3JwaG9sb2d5 IGFuZCB3b3JkIGNsYXNzZXMpCgpCYWNrIHRvIG1vcmUgaGVhdnkgKGFuZCBpbnRlcmVzdGluZykg c3R1ZmYuCgpJZiB5b3UgaGF2ZW7igJl0IGFscmVhZHksIEkgc3Ryb25nbHkgc3VnZ2VzdCB5b3Ug ZmluZCB0aGUgTG9qYmFuaWMgcmVjb3JkaW5nIGNhbGxlZCAiU3RvcnkgVGltZSB3aXRoIFVuY2xl IFJvYmluIiwgb3IgbGlzdGVuIHRvIHNvbWVvbmUgc3BlYWsgTG9qYmFuIG9uIE11bWJsZSwgYW5k IHRoZW4gcHJhY3RpY2UgeW91ciBwcm9udW5jaWF0aW9uLiBIYXZpbmcgYW4gaW50ZXJuYWwgY29u dmVyc2F0aW9uIGluIHlvdXIgaGVhZCBpbiBMb2piYW4gaXMgb25seSBnb29kIGlmIGl0IGlzbuKA mXQgd2l0aCBhbGwgdGhlIHdyb25nIHNvdW5kcywgYW5kIGxlYXJuaW5nIHByb251bmNpYXRpb24g ZnJvbSB3cml0dGVuIHRleHQgaXMgaGFyZC4gVGhlcmVmb3JlLCB0aGlzIGxlc3NvbiB3aWxsIG5v dCBiZSBvbiB0aGUgTG9qYmFuIHNvdW5kcywgaG93ZXZlciBpbXBvcnRhbnQgdGhleSBtaWdodCBi ZSwgYnV0IGEgc2hvcnQgaW50cm9kdWN0aW9uIHRvIHRoZSBMb2piYW4gbW9ycGhvbG9neS4KCgoK V2hhdCBpcyBtb3JwaG9sb2d5PyBUaGUgd29yZCBpcyBkZXJpdmVkIGZyb20gR3JlZWsgbWVhbmlu ZyDigJx0aGUgc3R1ZHkgb2Ygc2hhcGVz4oCdLCBhbmQgaW4gdGhpcyBjb250ZXh0LCB3ZSB0YWxr IGFib3V0IGhvdyB3ZSBtYWtlIHdvcmRzIGZyb20gbGV0dGVycyBhbmQgc291bmRzLCBhcyBjb250 cmFzdGVkIHdpdGggc3ludGF4IC0gaG93IHdlIG1ha2Ugc2VudGVuY2VzIHdpdGggd29yZHMuIExv amJhbiBvcGVyYXRlcyB3aXRoIGRpZmZlcmVudCBtb3JwaG9sb2dpY2FsIHdvcmQgY2xhc3Nlcywg d2hpY2ggYXJlIGFsbCBkZWZpbmVkIGJ5IHRoZWlyIG1vcnBob2xvZ3kuIFRvIG1ha2UgaXQgYWxs IG5pY2UgYW5kIHN5c3RlbWF0aWMgdGhvdWdoLCB3b3JkcyB3aXRoIGNlcnRhaW4gZnVuY3Rpb25z IHRlbmQgdG8gYmUgZ3JvdXBlZCBieSBtb3JwaG9sb2dpY2FsIGNsYXNzZXMsIGJ1dCBleGNlcHRp b25zIG1heSBvY2N1ci4KCnx8ICAgQ2xhc3N8TWVhbmluZ3xEZWZpbmVkIEJ5fFR5cGljYWwgRnVu Y3Rpb24KCiAgIFdvcmRzOnwgICB8ICAgfCAgIAoKICAgQnJpdmxhfCAgIGJyaWRpLXdvcmR8ICAg QW1vbmcgZmlyc3QgNSBsZXR0ZXJzIChleGNsdWRpbmcg4oCcIOKAmCDigJwpIGlzIGEgY29uc29u YW50IGNsdXN0ZXIuIEVuZHMgaW4gdm93ZWwuICAgfCAgIEFjdHMgYXMgYSBzZWxicmkgYnkgZGVm YXVsdC4gQWx3YXlzIGhhcyBhIHBsYWNlIHN0cnVjdHVyZS4KCiAgIC0tR2lzbXV8ICAgUm9vdC13 b3JkfCA1IGxldHRlcnMgb2YgdGhlIGZvcm0gQ1ZDQ1Ygb3IgQ0NWQ1YgICB8ICAgT25lIHRvIGZp dmUgc3VtdGkgcGxhY2VzLiBDb3ZlcnMgYmFzaWMgY29uY2VwdHMuCgogICAtLUx1anZvfCAgQ29t cG91bmQgd29yZC4gRGVyaXZlZCBmcm9tIGZyb20g4oCcbHVqdmxh4oCdLCBtZWFuaW5nIOKAnGNv bXBsZXggd29yZOKAnSB8ICAgTWluLiA2IGxldHRlcnMuIE1hZGUgYnkgc3RyaW5naW5nIHJhZnNp IHRvZ2V0aGVyIHdpdGggYmluZGluZyBsZXR0ZXJzIGlmIG5lY2Vzc2FyeS58ICAgQ292ZXJzIG1v cmUgY29tcGxleCBjb25jZXB0cyB0aGFuIGdpc211LgoKICAgLS1GdSdpdmxhfCAgQ29weS13b3Jk IHwgQXMgYnJpdmxhLCBidXQgZG8gbm90IG1lZXQgZGVmaW5pbmcgY3JpdGVyaWEgb2YgZ2lzbXUg b3IgbHVqdm8sIGV4OiAnJ2FuZ2VsaScnICB8ICAgQ292ZXJzIHVuaXF1ZSBjb25jZXB0cyBsaWtl IG5hbWVzIG9mIHBsYWNlcyBvciBvcmdhbmlzbXMuCgogICBDbWV2bGF8ICBOYW1lLXdvcmQgfCAg IEJlZ2lubmluZyBhbmQgZW5kaW5nIHdpdGggcGF1c2UgKGZ1bGwgc3RvcCkuIExhc3Qgc291bmQv bGV0dGVyIGlzIGEgY29uc29uYW50LnwgICBBbHdheXMgYWN0cyBhcyBhIG5hbWUgb3IgYXMgdGhl IGNvbnRlbnQgb2YgYSBxdW90ZS4KCiAgIENtYXZvfCAgIEdyYW1tYXItd29yZC4gRnJvbSDigJxj bWF2bGHigJ0sIG1lYW5pbmcg4oCcc21hbGwgd29yZOKAnXwgT25lIGNvbnNvbmFudCBvciB6ZXJv LCBhbHdheXMgYXQgdGhlIGJlZ2lubmluZy4gRW5kcyBpbiBhIHZvd2VsLiAgfCAgIEdyYW1tYXRp Y2FsIGZ1bmN0aW9ucy4gVmFyaWVzCgogICBXb3JkLWZyYWdtZW50czp8ICAgfCAgIHwKCiAgIFJh ZnNpfCAgIEFmZml4fCAgQ0NWLCBDVkMsIENWJ1YsIC1DVkNDViwgLUNDVkNWLCBDVkNDeS0gb3Ig Q0NWQ3ktICB8IE5vdCBhY3R1YWwgd29yZHMsIGJ1dCBjYW4gYmUgc3RyaW5nZWQgdG9nZXRoZXIg dG8gZm9ybSBsdWp2byB8fAoKCgoKCl9fJydjbWV2bGEnJ19fIGFyZSB2ZXJ5IGVhc3kgdG8gaWRl bnRpZnkgYmVjYXVzZSB0aGV5IGJlZ2luIGFuZCBlbmQgd2l0aCBhIHBhdXNlLCBzaWduYWxlZCBi eSBhIGZ1bGwgc3RvcCBpbiB3cml0aW5nLCBhbmQgdGhlIGxhc3QgbGV0dGVyIGlzIGEgY29uc29u YW50LiBjbWV2bGEgY2Fu4oCZdCBoYXZlIGFueSBvdGhlciBmdW5jdGlvbiBiZXNpZGVzIGFjdGlu ZyBhcyBhIG5hbWUuIE9uIHRoZSBvdGhlciBoYW5kLCBuYW1lcyB3aGljaCBhcmUgbm90IHNlbGJy aSBjYW5ub3QgYXBwZWFyIGluIExvamJhbiB3aXRob3V0IHRoZW0gYmVpbmcgY21ldmxhLCBvciBl bmNhc2VkIGJ5IGNlcnRhaW4gcXVvdGUgd29yZHMuIE9uZSBjYW4gbWFyayBzdHJlc3MgaW4gdGhl IG5hbWVzIGJ5IGNhcGl0YWxpemluZyB0aGUgbGV0dGVycyB3aGljaCBhcmUgc3RyZXNzZWQuIEV4 YW1wbGVzIG9mIGNtZXZsYSBhcmU6ICcnLmlvaEFOLicnIChKb2hhbiwgaCBpcyBjYXBpdGFsIGFw b3N0cm9waGUpLCAnJy5tYXQuJycgKE1hdHQpIGFuZCAnJy5sdXRjaU1JTi4nJyAoTHVpLUNoaSBN aW4pLiBOYW1lcyB3aGljaCBkbyBub3QgZW5kIGluIGNvbnNvbmFudHMgaGF2ZSB0byBoYXZlIG9u ZSBhZGRlZDogJycuaXZ5bi4nJyAoRXZlKSwgb3IgKHByb2JhYmx5IGJldHRlciBpbiB0aGlzIGNh c2UpIHJlbW92ZWQ6ICcnLml2LicnCgoKCl9fJydicml2bGEnJ19fIGFyZSBjYWxsZWQg4oCcYnJp ZGktd29yZHPigJ0gYmVjYXVzZSB0aGV5IGJ5IGRlZmF1bHQgYXJlIHNlbGJyaSwgYW5kIHRoZXJl Zm9yZSBhbG1vc3QgYWxsIExvamJhbiB3b3JkcyB3aXRoIGEgcGxhY2Ugc3RydWN0dXJlIGFyZSBi cml2bGEuIFRoaXMgaGFzIGFsc28gZ2l2ZW4gdGhlbSB0aGUgRW5nbGlzaCBuaWNrbmFtZSDigJxj b250ZW50LXdvcmRz4oCdLiBJdOKAmXMgbmVhcmx5IGltcG9zc2libGUgdG8gc2F5IGFueXRoaW5n IHVzZWZ1bCB3aXRob3V0IGJyaXZsYSwgYW5kIGFsbW9zdCBhbGwgd29yZHMgZm9yIGNvbmNlcHRz IG91dHNpZGUgbG9qYmFuIGdyYW1tYXIgKGFuZCBldmVuIG1vc3Qgb2YgdGhlIHdvcmRzIGZvciB0 aGluZ3MgaW4gdGhlIGxhbmd1YWdlKSBhcmUgY2FwdHVyZWQgYnkgYnJpdmxhLiBBcyBzaG93biBp biB0aGUgdGFibGUsIGJyaXZsYSBoYXMgdGhyZWUgc3ViY2F0ZWdvcmllczoKCl9fJydnaXNtdScn X18gYXJlIHRoZSByb290IHdvcmRzIG9mIHRoZSBsYW5ndWFnZS4gT25seSBhYm91dCAxNDUwIGV4 aXN0cywgYW5kIHZlcnkgZmV3IG5ldyBvbmVzIGFyZSBhZGRlZC4gVGhleSBjb3ZlciB0aGUgbW9z dCBiYXNpYyBjb25jZXB0cyBsaWtlIOKAnGNpcmNsZeKAnSwg4oCcZnJpZW5k4oCdLCDigJx0cmVl 4oCdIGFuZCDigJxkcmVhbeKAnS4gRXhhbXBsZXMgaW5jbHVkZSAnJ3pkYW5pJycsICcncGVseHUn JyBhbmQgJydkdW5kYScnCgpfXycnbHVqdm8nJ19fIGFyZSBtYWRlIGJ5IGNvbWJpbmluZyByYWZz aSAoc2VlIHVuZGVyIHJhZnNpKSwgcmVzcHJlc2VudGluZyBnaXNtdS4gQnkgY29tYmluaW5nIHJh ZnNpLCBvbmUgbmFycm93cyBkb3duIHRoZSBtZWFuaW5nIG9mIHRoZSB3b3JkLiBsdWp2byBhcmUg bWFkZSBieSBhbiBlbGFib3JhdGUgYWxnb3JpdGhtLCBzbyBtYWtpbmcgdmFsaWQgbHVqdm8gb24g dGhlIGZseSBpcyBuZWFyIGltcG9zc2libGUsIHdpdGggZmV3IGV4Y2VwdGlvbnMgbGlrZSAnJ3Nl bHBh4oCZaScnLCBmcm9tICcnc2UgcHJhbWknJywgd2hpY2ggY2FuIG9ubHkgaGF2ZSBvbmUgZGVm aW5pdGlvbi4gSW5zdGVhZCwgbHVqdm8gYXJlIG1hZGUgb25jZSwgaXRzIHBsYWNlIHN0cnVjdHVy ZSBkZWZpbmVkLCBhbmQgdGhlbiB0aGF0IGRlZmluaXRpb24gaXMgbWFkZSBvZmZpY2lhbCBieSB0 aGUgZGljdGlvbmFyeS4gRXhhbXBsZXMgaW5jbHVkZSBicml2bGEgKGJyaWRpLXdvcmQpLCAnJ2Np bmppa2NhJycgKHNleHVhbC1zb2NpYWxpemluZyA9IGZsaXJ0aW5nKSBhbmQgJydjYWtjaW5raScn IChzaGVsbC1pbnNlY3QgPSBiZWV0bGUpLgoKX18nJ2Z14oCZaXZsYScnX18gYXJlIG1hZGUgYnkg bWFraW5nIHVwIHdvcmRzIHdoaWNoIGZpdCB0aGUgZGVmaW5pdGlvbiBmb3IgYnJpdmxhLCBidXQg bm90IGZvciBsdWp2byBvciBnaXNtdS4gVGhleSB0ZW5kIHRvIGNvdmVyIGNvbmNlcHRzIHdoaWNo IGl04oCZcyBoYXJkIHRvIGNvdmVyIGJ5IGx1anZvLCBmb3IgaW5zdGFuY2UgbmFtZXMgb2Ygc3Bl Y2llcywgbmF0aW9ucyBvciB2ZXJ5IGN1bHR1cmFsIHNwZWNpZmljIGNvbmNlcHRzLiBFeGFtcGxl cyBpbmNsdWRlICcnZ3VnZHJnb2d1cmlvJycgKEtvcmVhKSAnJ2NpZGpycGl0c2EnJyAocGl6emEp IG9yICcnYW5nZWxpJycgKGFuZ2VsKS4KCgoKX18nJ2NtYXZvJydfXyBhcmUgc21hbGwgd29yZHMg d2l0aCBvbmUgb3IgemVybyBjb25zb25hbnRzLiBUaGV5IHRlbmQgdG8gbm90IHNpZ25pZnkgYW55 dGhpbmcgaW4gdGhlIGV4dGVyaW9yIHdvcmxkLCBidXQgdG8gaGF2ZSBvbmx5IGdyYW1tYXRpY2Fs IGZ1bmN0aW9uLiBFeGNlcHRpb25zIG9jY3VyLCBhbmQgaXTigJlzIGRlYmF0YWJsZSBob3cgbXVj aCBhdHRpdHVkaW5hbHMgZXhpc3RzIGZvciB0aGVpciBncmFtbWF0aWNhbCBmdW5jdGlvbi4gQW5v dGhlciB3ZWlyZCBleGFtcGxlIGFyZSB0aGUgd29yZHMgb2YgdGhlIGNsYXNzIEdPaEEsIHdoaWNo IGFjdCBhcyBicml2bGEuIEl0IGlzIHZhbGlkIHRvIHR5cGUgc2V2ZXJhbCBjbWF2byBpbiBhIHJv dyBhcyBvbmUgd29yZCwgYnV0IGluIHRoZXNlIGxlc3NvbnMsIHRoYXQgd29u4oCZdCBiZSBkb25l LiBCeSBncm91cGluZyBjZXJ0YWluIGNtYXZvIGluIGZ1bmN0aW9uYWwgdW5pdHMsIHRob3VnaCwg aXQgaXMgc29tZXRpbWVzIGVhc2llciB0byByZWFkLiBUaHVzLCAnJy51aXB1enV2dWt1bWkgY2l0 a2EnJyBpcyB2YWxpZCwgYW5kIGlzIHBhcnNlZCBhbmQgdW5kZXJzdG9vZCBhcyAnJy51aSBwdSB6 dSB2dSBrdSBtaSBjaXRrYScnLiBMaWtlIG90aGVyIExvamJhbiB3b3Jkcywgb25lIHNob3VsZCAo YnV0IG5lZWQgbm90IGFsd2F5cykgcGxhY2UgYSBmdWxsIHN0b3AgYmVmb3JlIGFueSB3b3JkcyBi ZWdpbm5pbmcgd2l0aCBhIHZvd2VsLgoKY21hdm8gb2YgdGhlIGZvcm0geFZWLCBDVuKAmVZWIG9y IFbigJlWViBhcmUgZXhwZXJpbWVudGFsLCBhbmQgYXJlIHdvcmRzIHdoaWNoIGFyZSBub3QgaW4g dGhlIGZvcm1hbCBncmFtbWFyLCBidXQgd2hpY2ggaGF2ZSBiZWVuIGFkZGVkIGJ5IExvamJhbiB1 c2VycyB0byByZXNwb25kIHRvIGEgY2VydGFpbiBuZWVkLgoKCgpfXycncmFmc2knJ19fIGFyZSBu b3QgTG9qYmFuIHdvcmRzLCBhbmQgY2FuIG5ldmVyIGFwcGVhciBhbG9uZS4gSG93ZXZlciwgc2V2 ZXJhbCAobW9yZSB0aGFuIG9uZSkgcmFmc2kgY29tYmluZSB0byBmb3JtIGx1anZvLiBUaGVzZSBt dXN0IHN0aWxsIGxpdmUgdXAgdG8gdGhlIGJyaXZsYS1kZWZpbml0aW9uLCBmb3IgaW5zdGFuY2Ug Jydsb2piYW4nJyBpcyBpbnZhbGlkIGJlY2F1c2UgaXQgZW5kcyBpbiBhIGNvbnNvbmFudCAod2hp Y2ggbWFrZXMgaXQgYSBjbWV2bGEpLCBhbmQgJydjaeKAmWVrZWknJyBpcyBpbnZhbGlkIGJlY2F1 c2UgaXQgZG9lcyBub3QgY29udGFpbiBhIGNvbnNvbmFudCBjbHVzdGVyLCBhbmQgaXMgdGh1cyBy ZWFkIGFzIHR3byBjbWF2byB3cml0dGVuIGFzIG9uZSB3b3JkLiBPZnRlbiwgYSAzLTQgbGV0dGVy IHN0cmluZyBpcyBib3RoIGEgY21hdm8gYW5kIGEgcmFmc2ksIGxpa2UgJyd6deKAmWUnJywgd2hp Y2ggaXMgYm90aCB0aGUgQkFJIGFuZCB0aGUgcmFmc2kgZm9yICcnenVrdGUnJy4gTm90ZSB0aGF0 IHRoZXJlIGlzIG5vd2hlcmUgdGhhdCBib3RoIGEgY21hdm8gYW5kIGEgcmFmc2kgd291bGQgYmUg Z3JhbW1hdGljYWwsIHNvIHRoZXNlIGFyZSBub3QgY29uc2lkZXJlZCBob21vcGhvbmVzLiBBbGwg Z2lzbXUgY2FuIGRvdWJsZSBhcyByYWZzaSwgaWYgdGhleSBhcmUgcHJlZml4ZWQgd2l0aCBhbm90 aGVyIHJhZnNpLiBUaGUgZmlyc3QgZm91ciBsZXR0ZXIgb2YgYSBnaXNtdSBzdWZmaXhlZCB3aXRo IGFuICJ5IiBjYW4gYWxzbyBhY3QgYXMgYSByYWZzaSwgaWYgdGhleSBhcmUgc3VmZml4ZWQgd2l0 aCBhbm90aGVyIHJhZnNpLiBUaGUgdm93ZWwgInkiIGNhbiBvbmx5IGFwcGVhciBpbiBsdWp2byBv ciBjbWV2bGEuIFZhbGlkIHJhZnNpIGxldHRlciBjb21iaW5hdGlvbnMgYXJlOiBDVlYsIENW4oCZ ViwgQ0NWLCBDVkNDeS0gQ0NWQ3ktLCAtQ1ZDQ1YgYW5kIC1DQ1ZDVi4KCgoKVXNpbmcgd2hhdCB5 b3Uga25vdyBub3csIHlvdSBzaG91bGQgYmUgYWJsZSB0byBhbnN3ZXIgdGhlIHRlc3QgaSB0aHVz IHByZXNlbnQ6CgpDYXRlZ29yaXplIGVhY2ggb2YgdGhlIGZvbGxvd2luZyB3b3JkcyBhcyBjbWV2 bGEgKEMpLCBnaXNtdSAoZyksIGx1anZvIChsKSwgJydmdeKAmWl2bGEnJyAoZikgb3IgY21hdm8g KGMpOgoKQSApIGphaSAgICAgICAgRyApIG11bWJsCgpCICkgLmlyY2kgICAgICAgIEggKSAuaeKA mWkKCkMgKSBib3N0dSAgICAgICAgSSApIGN1CgpEICkgeGVsbWFuICAgICAgICBKICkgcGxhanZh CgpFICkgcG/igJllICAgICAgICBLICkgZGFuc2VrZQoKRiApIGRqaXNrdSAgICAgICAgTCApIC5l cnRzYQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OmEtYywgYi1mLCBjLWcsIGQtQywgZS1jLCBmLWws IGctQywgaC1jLCBpLWMsIGotbCwgay1mLCBsLWYuIEkgbGVmdCBvdXQgdGhlIGZ1bGwgc3RvcHMg YmVmb3JlIGFuZCBhZnRlciBuYW1lcyBzbyBpdCB3b3VsZG7igJl0IGJlIHRvbyBlYXN5LgoKTm90 ZTogc29tZSBvZiB0aGVzZSB3b3JkcywgbGlrZSAnJ2Jvc3R1JycgZG8gbm90IGV4aXN0IGluIHRo ZSBkaWN0aW9uYXJ5LCBidXQgdGhpcyBpcyBpcnJlbGV2YW50LiBUaGUgbW9ycGhvbG9neSBzdGls bCBtYWtlcyBpdCBhIGdpc211LCBzbyBpdOKAmXMganVzdCBhbiB1bmRlZmluZWQgZ2lzbXUuIFNp bWlsYXJseSB3aXRoICcnLmVydHNhJyd+fgoKCgoKCiEhTG9qYmFuIExlc3NvbnMgLSBMZXNzb24g Zm91cnRlZW4gKHRoZSBMb2piYW4gc3VtdGkgMTogTEUgYW5kIExBKQoKSWYgeW91IGhhdmUgcmVh ZCBhbmQgdW5kZXJzdG9vZCB0aGUgY29udGVudCBvZiBhbGwgdGhlIGxlc3NvbnMgdW50aWwgbm93 LCB5b3UgaGF2ZSBhbWFzc2VkIGEgbGFyZ2UgZW5vdWdoIGtub3dsZWRnZSBvZiBMb2piYW4gc28g dGhhdCBpdCBkb2VzbuKAmXQgbWF0dGVyIGluIHdoaWNoIG9yZGVyIHlvdSBsZWFybiB0aGUgcmVz dC4gQXMgYSByZXN1bHQsIHRoZSBvcmRlciBvZiB0aGUgbmV4dCBsZXNzb25zIHdpbGwgYmUgYSBt aXh0dXJlIG9mIHNvcnRlZCBieSBpbmNyZWFzaW5nIGRpZmZpY3VsdHkgYW5kIHNvcnRlZCBieSBp bXBvcnRhbmNlIGluIG9yZGluYXJ5IExvamJhbiBjb252ZXJzYXRpb24uCgoKCk9uZSBvZiB0aGUg YmlnZ2VzdCBjb25zdHJhaW5zIG9uIHlvdXIgc3BlYWsgbm93IGlzIHlvdXIgbGltaXRlZCBrbm93 bGVkZ2Ugb24gaG93IHRvIG1ha2Ugc3VtdGkuIFNvIGZhciwgeW91IG9ubHkga25vdyAnJ3RpJycg YW5kICcnbG8gU0VMQlJJJycsIHdoaWNoIGRvZXNu4oCZdCB0YWtlIHlvdSBmYXIgY29uc2lkZXJp bmcgaG93IGltcG9ydGFudCBzdW10aSBhcmUgaW4gTG9qYmFuLiBUaGlzIGxlc3NvbiBhcyB3ZWxs IGFzIHRoZSBmb2xsb3dpbmcgdHdvIHdpbGwgYmUgYWJvdXQgdGhlIExvamJhbiBzdW10aS4gRm9y IG5vdywgd2UgZm9jdXMgb24gdGhlIGRlc2NyaXB0aXZlLWxpa2Ugc3VtdGksIHRoZSBvbmVzIG1h ZGUgd2l0aCBhcnRpY2xlcyBsaWtlICcnbG8nJwoKQXJ0aWNsZXMgYXJlIGluIGxvamJhbiBjYWxs ZWQgJydnYWRyaScnLCBhbmQgYWxsIHRoZSBvbmVzIGRpc2N1c3NlZCBpbiB0aGlzIGxlc3NvbiBh cmUgdGVybWluYXRlZCBieSAnJ2t1JycgKGV4Y2VwdCB0aGUgY29tYmluYXRpb24gJydsYSBDTUVW TEEnJykuIFdlIHdpbGwgYmVnaW4gYnkgZGVzY3JpYmluZyB0aHJlZSBzaW1wbGUga2luZHMsIGFu ZCB0aGVuIGltbWVkaWF0ZWx5IGZpbmQgdGhhdCB0aGV5IGFyZSBub3Qgc28gc2ltcGxlIGFmdGVy IGFsbDoKCl9fJydsbycnX18gLSAgZ2Fkcmk6IEdlbmVyaWMgdmVyaWRpY2FsIOKAnGNvbnZlcnQg c2VsYnJpIHRvIHN1bXRp4oCdLiBSZXN1bHQgaXMgdmFndWUgd2l0aCByZWdhcmQgdG8gaW5kaXZp ZHVhbGl0eS9tYXNzLW5lc3MuCgpfXycnbGUnJ19fIC0gZ2Fkcmk6IEdlbmVyaWMgZGVzY3JpcHRp dmUg4oCcY29udmVydCBzZWxicmkgdG8gc3VtdGnigJ0uIFJlc3VsdCBpcyB2YWd1ZSB3aXRoIHJl Z2FyZCB0byBpbmRpdmlkdWFsaXR5L21hc3MtbmVzcy4KCl9fJydsYScnX18gLSBnYWRyaTogTmFt aW5nIGFydGljbGU6IENvbnZlbnRpb25hbCwg4oCcY29udmVydCBzZWxicmkgb3IgY21ldmxhIHRv IHN1bXRp4oCdLiBUcmVhdCByZXN1bHQgYXMgaW5kaXZpZHVhbChzKS4KCgoKWW91IGFyZSBhbHJl YWR5IGZhbWlsaWFyIHdpdGggJydsbycnIGFuZCB3aGF0IGl0IGRvZXMuIEJ1dCB3aGF0IGRvZXMg aXQgbWVhbiwg4oCcVmVyaWRpY2Fs4oCdIGFuZCDigJxUcmVhdCByZXN1bHQgYXMgaW5kaXZpZHVh bHPigJ0/IFRoZSBsYXR0ZXIgYWJvdXQgaW5kaXZpZHVhbHMsIEnigJlsbCBjb21lIGJhY2sgdG8g bGF0ZXIgd2hlbiBzcGVha2luZyBhYm91dCBtYXNzZXMuIEZvciBub3csIOKAnHZlcmlkaWNhbOKA nSBpbiB0aGlzIGNvbnRleHQgbWVhbnMgdGhhdCBpbiBvcmRlciBmb3IgYSB0aGluZyB0byBxdWFs aWZ5IGJlZ2luIGxhYmVsbGVkIGFzICcnbG8ga2xhbWEnJywgaXQgaGFzIHRvIGFjdHVhbGx5ICcn a2xhbWEnJy4gVGh1cywgdmVyaWRpY2FsICcnZ2FkcmknJyBtYWtlcyBhIGNsYWltIHdoaWNoIG1h eSBiZSB0cnVlIG9yIGZhbHNlIC0gdGhhdCB0aGUgb2JqZWN0KHMpIGluIHF1ZXN0aW9uIGFyZSBh Y3R1YWxseSB0aGUgeDEgb2YgdGhlIHNlbGJyaSBhZnRlciAnJ2xvJycuCgoKClRoaXMgbWF5IGJl IGNvbnRyYXN0ZWQgd2l0aCAnJ2xlJycsIHdoaWNoIGlzIGRlc2NyaXB0aXZlLCBhbmQgdGh1cyBu b3QgdmVyaWRpY2FsLiBTYXlpbmcgJydsZSBnZXJrdScnIHNheXMgdGhhdCB5b3UgaGF2ZSBvbmUg b3IgbW9yZSBzcGVjaWZpYyBvYmplY3RzIGluIG1pbmQsIGFuZCB5b3UgdXNlIHRoZSBzZWxicmkg JydnZXJrdScnIHRvIGRlc2NyaWJlIGl0LCBzbyB0aGF0IHRoZSBsaXN0ZW5lciBtYXkgaWRlbnRp ZnkgdGhvc2Ugc3BlY2lmaWMgb2JqZWN0cy5UaGlzIG1lYW5zIHRoYXQgJydsZScnIGhhdmVzIHR3 byBpbXBvcnRhbnQgZGlmZmVyZW5jZXMgZnJvbSAnJ2xvJyc6IEZpcnN0bHksIGl0IGRvZXMgbm90 IHJlZmVyIHRvIG9iamVjdHMgaW4gZ2VuZXJhbCwgYnV0IHRvIHNwZWNpZmljIG9iamVjdHMuIFNl Y29uZGx5LCB3aGlsZSAnJ2xvIGdlcmt1JycgZGVmaW5pdGVseSBpcyBvbmUgb3IgbW9yZSBkb2dz LCAnJ2xlIGdlcmt1JycsIGJlY2F1c2UgaXTigJlzIG5vdCB2ZXJpZGljYWwsIGNhbiBiZSBhbnl0 aGluZywgYXMgbG9uZyBhcyB0aGUgc3BlYWtlciB0aGlua3MgdGhlIGRlc2NyaXB0aW9uIHdpbGwg aGVscCBpZGVudGlmeWluZyB0aGUgY29ycmVjdCBvYmplY3RzLiBQZXJoYXBzIHRoZSBzcGVha2Vy IGlzIHJlZmVycmluZyB0byBhIGh5ZW5hLCBidXQgYXJlIG5vdCBmYW1pbGlhciB3aXRoIHRoZW0g YW5kIHRoaW5rIOKAnGRvZ+KAnSBpcyBhIGdvb2QgZW5vdWdoIGFwcHJveGltYXRpb24gdG8gYmUg dW5kZXJzdG9vZC4gVGhpcyBub24tdmVyaWRpY2FsaXR5IGlzIHBlcmhhcHMgb3Zlci1lbXBoYXNp c2VkIGluIG1vc3QgbWFueSB0ZXh0czsgVGhlIGJlc3Qgd2F5IHRvIGRlc2NyaWJlIGEgZG9nIGlz IHVzdWFsbHkgdG8gZGVzY3JpYmUgaXQgYXMgYmVpbmcgYSBkb2csIGFuZCB1bmxlc3MgdGhlcmUg aXMgYSBnb29kIHJlYXNvbiBub3QgdG8sICcnbGUgZ2Vya3UnJyBpcyB1c3VhbGx5IHByZXN1bWVk IHRvIHJlZmVyIHRvIHNvbWV0aGluZyB3aGljaCBpcyBhbHNvICcnbG8gZ2Vya3UnJy4KCkluIHRy YW5zbGF0aW9uLCAnJ2xvIGdlcmt1JycgaXMgdXN1YWxseSDigJxhIGRvZ+KAnSBvciDigJxzb21l IGRvZ3PigJ0sIHdoaWxlICcnbGUgZ2Vya3UnJyBpcyDigJx0aGUgZG9n4oCdIG9yIOKAnHRoZSBk b2dz4oCdLiBFdmVuIGJldHRlciBmb3IgJydsZSBnZXJrdScnIHdvdWxkIGJlIOKAnHRoZSDigJxk b2cocynigJ0g4oCdCgoKCkxhc3Qgb2YgdGhlIHRocmVlIGJhc2ljICcnZ2FkcmknJywgdGhlcmUg aXMgJydsYScnLCB0aGUgbmFtaW5nICcnZ2FkcmknJywgd2hpY2ggSSBoYXZlIHVuY29udmVudGlv bmFsbHkgY2FsbGVkIOKAnGNvbnZlbnRpb25hbOKAnS4gV2hhdCBJIG1lYW4gYnkgdGhpcyBpcyB0 aGF0IGl04oCZcyBuZWl0aGVyIGRlc2NyaXB0aXZlIG5vciB2ZXJpZGljYWwsIHNpbmNlIGl0IHJl ZmVycyB0byBhIHByb3BlciBuYW1lLiBJZiBJIGluIEVuZ2xpc2ggcmVmZXIgdG8gYSBwZXJzb24g Y2FsbGVkIElubm9jZW50IGJ5IGhlciBuYW1lLCBJIG5laXRoZXIgZGVzY3JpYmUgaGVyIGFzIGJl aW5nIGlubm9jZW50LCBub3IgZG8gSSBzdGF0ZSB0aGF0IHNoZSBpcy4gSSBvbmx5IHN0YXRlIHRo YXQgYnkgY29udmVudGlvbiwgdGhhdCBvYmplY3QgaXMgcmVmZXJyZWQgdG8gYnkgdGhhdCBzZWxi cmkgb3IgY21ldmxhLiBOb3RlIHRoYXQgJydsYScnIGFuZCB0aGUgJydnYWRyaScnIGRlcml2ZWQg ZnJvbSBpdCBjYW4gY29udmVydCBjbWV2bGEgdG8gc3VtdGkgdW5saWtlIGFueSBvdGhlciAnJ2dh ZHJpJycuIEFsc286IEJlIGNhdXRpb3VzOiBPdGhlciB0ZXh0cyBkbyBub3QgbWVudGlvbiB0aGF0 IG5hbWVzIGNhbiBiZSBmb3JtZWQgZnJvbSBvcmRpbmFyeSBzZWxicmkgdXNpbmcgdGhlIGdhZHJp ICcnbGEnJy4gQnV0IHRob3NlIGhlcmV0aWNzIG11c3QgYnVybjsgc2VsYnJpIG5hbWVzIGFyZSBh cyBnb29kIGFzIHRoZXkgZ2V0LCBhbmQgbWFueSBhIHByb3VkIExvamJhbmlzdCBoYXZlIHRoZW0u CgoKClRoZXNlIHRocmVlIGJhc2ljICcnZ2FkcmknJyBjYW4gYmUgZXhwYW5kZWQgd2l0aCB0aHJl ZSBtb3JlLCB3aGljaCBjb3JyZXNwb25kcyB0byB0aGUgcHJldmlvdXM6CgoKCl9fJydsb2knJ19f IC0gZ2Fkcmk6IFZlcmlkaWNhbCDigJxjb252ZXJ0IHNlbGJyaSB0byBzdW10aeKAnS4gVHJlYXQg cmVzdWx0IGFzIG1hc3MoZXMpLgoKX18nJ2xlaScnX18gLSBnYWRyaTogRGVzY3JpcHRpdmUg4oCc Y29udmVydCBzZWxicmkgdG8gc3VtdGnigJ0uIFRyZWF0IHJlc3VsdCBhcyBhIG1hc3MoZXMpLgoK X18nJ2xhaScnX18gLSBnYWRyaTogTmFtaW5nIGFydGljbGU6IENvbnZlbnRpb25hbCwg4oCcY29u dmVydCBzZWxicmkgb3IgY21ldmxhIHRvIHN1bXRp4oCdLiBUcmVhdCByZXN1bHQgYXMgbWFzcyhl cykuCgoKClRoZXNlIGFyZSB0aGUgc2FtZSBpbiBhbGwgYXNwZWN0cyBleGNlcHQgZm9yIG9uZTog VGhleSB0cmVhdCB0aGUgc3VtdGkgZXhwbGljaXRseSBhcyBtYXNzZXMuIElmIHRoZXJlIGlzIG9u bHkgb25lIG9iamVjdCBpbiBxdWVzdGlvbiwgYW4gaW5kaXZpZHVhbCBhbmQgYSBtYXNzIGNvbnNp c3Rpbmcgb2Ygb25lIG9iamVjdCBhcmUgZXF1aXZhbGVudC4gVGhlIGRpZmZlcmVuY2UgYmV0d2Vl biB0aGVzZSB0d28gY29uY2VwdHMgbGllIGluIHdoaWNoIHNlbGJyaSBjYW4gYmUgYXNjcmliZWQg dG8gYSBncm91cCBvZiBpbmRpdmlkdWFscyB2ZXJzdXMgYSBtYXNzLiBBIGdyb3VwIG9mIGluZGl2 aWR1YWxzIGNhbiBiZSBzYWlkIHRvIGZpdCBhIGNlcnRhaW4gc2VsYnJpLCBpZiBhbGwgbWVtYmVy cyBvZiB0aGUgZ3JvdXAgZWFjaCBmaXQgdGhlIHNlbGJyaS4gSXQgaXMgY29ycmVjdCB0byBkZXNj cmliZSBhIHBhY2sgb2YgJydsbyBnZXJrdScnLCBhcyBiZWluZyBibGFjaywgaWYgZm9yIGVhY2gg b2YgdGhlIGRvZ3MgaXTigJlzIHRydWUgdGhhdCB0aGV5IGFyZSBibGFjay4gQSBtYXNzLCBvbiB0 aGUgb3RoZXIgaGFuZCwgZml0cyBhbGwgdGhlIHNlbGJyaSB3aGljaCBhbnkgb2YgaXRzIG1lbWJl cnMgZml0LCBhcyB3ZWxsIGFzIHRoZSBzZWxicmkgd2hpY2ggbm9uZSBvZiB0aGUgbWVtYmVycyBm aXQsIGJ1dCB3aGljaCB0aGUgZ3JvdXAgY29uc2lkZXJlZCBhcyBhIHdob2xlIGRvZXMuIFRodXMs IGEgbWFzcyBvZiBkb2dzIGNhbiBiZSBib3RoIGJsYWNrIGFuZCB3aGl0ZS4gSG93ZXZlciwgYWxs IHRoZSBtZW1iZXJzIG9mIHRoZSBtYXNzIG9mIGRvZ3MgbXVzdCBiZSBkb2dzIGluIG9yZGVyIGZv ciAnJ2xvaScnIHRvIGJlIGFwcGxpY2FibGUuIEFub3RoZXIgZXhhbXBsZSBjYW4gaWxsdXN0cmF0 ZSBob3cgYSBtYXNzIGNhbiBoYXZlIHByb3BlcnRpZXMgd2hpY2ggbm9uZSBvZiBpdHMgbWVtYmVy cyBoYXM6CgpfXycnc3J1cmknJ19fOiDigJx4MSBmbGFua3MvZW5jaXJjbGVzL2VuY2xvc2VzIHgy IGluIGxpbmUvcGxhbmUvZGlyZWN0aW9ucyB4M+KAnQoKJydsZWkgcHJlbnUgY3Ugc3J1cmkgbG8g emRhbmknJyAtIOKAnFRoZSBwZW9wbGUgc3Vycm91bmRlZCB0aGUgaG9tZS7igJ0gaXMgcGxhdXNp YmxlLCBldmVuIHRob3VnaCwgeW8gbW9tYSBqb2tlcyBub3QgY29uc2lkZXJlZCwgaXTigJlzIGNv bXBsZXRlbHkgaW1wbGF1c2libGUgdGhhdCBpdCBjb3VsZCBiZSB0cnVlIGZvciBhbnkgb25lIG9m IHRoZSBtZW1iZXJzIGFsb25lLiBBbiBFbmdsaXNoIGFuYWxvZ3kgY291bGQgYmU6IOKAnEh1bWFu cyBkZWZlYXRlZCBzbWFsbHBveCBpbiB0aGUgMjB0aCBjZW50dXJ54oCdLiBTdXJlbHkgbm8gaHVt YW4gZGlkIHNvLCBidXQgdGhlIG1hc3Mgb2YgaHVtYW5zIGRpZCwgYW5kIHRoYXQgbWFrZXMgdGhl IHNlbnRlbmNlIHRydWUgaW4gRW5nbGlzaCwgYXMgd2VsbCBhcyBpbiBMb2piYW4gaWYg4oCcaHVt YW5z4oCdIGFyZSBhIG1hc3MuIEp1c3QgbGlrZSB0aGUgTG9qYmFuIG1hc3MsIHRoZSBFbmdsaXNo IG1hc3Mg4oCcaHVtYW5z4oCdIGNhbiBvbmx5IHJlZmVyIHRvIGluZGl2aWR1YWxzIGVhY2ggb2Yg d2hpY2ggYXJlIGh1bWFuLgoKJydsZWkgZ2Vya3UnJyByZWZlcnMgdG8gYSBtYXNzIGZvcm1lZCBi eSBhIGdyb3VwIG9mIHNwZWNpZmljIGluZGl2aWR1YWxzLCBlYWNoIG9mIHdoaWNoIHRoZSBzcGVh a2VyIHJlZmVycyB0byBhcyAnJ2xlIGdlcmt1JycuCgpNYXNzIG5hbWVzIGFzIGRlc2NyaWJlcyBi eSAnJ2xhaScnIGFyZSBvbmx5IGFwcHJvcHJpYXRlIGlmIHRoZSBncm91cCBhcyBhIHdob2xlIGlz IG5hbWVkIHN1Y2gsIGFuZCBub3QganVzdCBpZiBhbnkgb2YgdGhlIG1lbWJlcnMgYXJlLiBJdCBj YW4sIGhvd2V2ZXIgYmUgdXNlZCBpZiB0aGUgYnJpZGkgaXMgdHJ1ZSBmb3Igb25seSBhIGZyYWN0 aW9uIG9mIHRoYXQgZ3JvdXAuCgoKCllvdSBtaWdodCBoYXZlIG5vdGljZWQgdGhhdCB0aGVyZSBp cyBubyB3b3JkIHdoaWNoIHVuYW1iaWd1b3VzbHkgY29udmVydHMgc2VsYnJpIHRvIGluZGl2aWR1 YWwocykuIEluIG9yZGVyIHRvIGJlIGV4cGxpY2l0IGFib3V0IGluZGl2aWR1YWxuZXNzLCBvbmUg bmVlZHMgJydsbycnLCAnJ2xlJycgb3IgJydsYScnIHdpdGggYW4gb3V0ZXIgcXVhbnRpZmllci4g VGhlIHN1YmplY3Qgb2YgcXVhbnRpZmllcnMgd2lsbCBiZSBjb25zaWRlcmVkIGxhdGVyLCBpbiBs ZXNzb24gdHdlbnR5LXR3by4gV2hhdCBpcyB0aGUgcmVhc29uIHRoYXQgJydsbycnIGFuZCAnJ2xl JycgdmFndWUsIGFuZCBub3QgZXhwbGljaXRseSBpbmRpdmlkdWFsPyBJdCBpcyBiZWNhdXNlIHRo ZWlyIHZhZ3VlbmVzcyBlbmFibGVzIHRoZW0gdG8gYmUgdXNlZCBpbiBhbnkgY29udGV4dCwgd2l0 aG91dCB0aGUgc3BlYWtlciBoYXZpbmcgdG8gdGhpbmsgYWJvdXQgd2hldGhlciBpcyBiZWhhdmVz IGFzIGEgbWFzcyBvciBhIGdyb3VwIG9mIGluZGl2aWR1YWxzLgoKCgpUaGlyZCBpbiB0aGlzIHNl cmllcywgdGhlcmUgYXJlIHRocmVlIHNldC1mb3JtaW5nICcnZ2FkcmknJzoKCgoKX18nJ2xvJ2kn J19fIC0gZ2Fkcmk6IFZlcmlkaWNhbCDigJxjb252ZXJ0IHNlbGJyaSB0byBzdW10aeKAnS4gVHJl YXQgcmVzdWx0IGFzIGEgc2V0LgoKX18nJ2xl4oCZaScnX18gLSBnYWRyaTogRGVzY3JpcHRpdmUg 4oCcY29udmVydCBzZWxicmkgdG8gc3VtdGnigJ0uIFRyZWF0IHJlc3VsdCBhcyBhIHNldC4KCl9f JydsYeKAmWknJ19fIC0gZ2Fkcmk6IE5hbWluZyBhcnRpY2xlOiBDb252ZW50aW9uYWwsIOKAnGNv bnZlcnQgc2VsYnJpIG9yIGNtZXZsYSB0byBzdW10aeKAnS4gVHJlYXQgcmVzdWx0IGFzIGEgc2V0 LgoKCgpVbmxpa2UgZ3JvdXBzIG9mIGluZGl2aWR1YWxzIG9yIG1hc3Nlcywgc2V0cyBkb2VzIG5v dCB0YWtlIGFueSBvZiB0aGUgcHJvcGVydGllcyBmcm9tIHRoZSBvYmplY3RzIGZyb20gd2hpY2gg dGhlIHNldCBpcyBmb3JtZWQuIEEgc2V0IGlzIGEgcHVyZWx5IG1hdGhlbWF0aWNhbCBvciBsb2dp Y2FsIGNvbnN0cnVjdCwgYW5kIGhhcyBwcm9wZXJ0aWVzIGxpa2UgY2FyZGluYWxpdHksIG1lbWJl cnNoaXAgYW5kIHNldCBpbmNsdXNpb24uIEFnYWluLCBub3RlIHRoZSBkaWZmZXJlbmNlIGJldHdl ZW4gYSBzZXQgb2YgdGhpbmdzLCBhbmQgdGhlIHRoaW5ncyBvZiB3aGljaCB0aGUgc2V0IGlzIGZv cm1lZDoKCl9fJyd0aXJ4dScnX18g4oCceDEgaXMgYSB0aWdlci9sZW9wYXJkL2phZ3VhciBvZiBz cGVjaWVzL2JyZWVkIHgyIHdpdGggY29hdCBtYXJraW5ncyB4M+KAnQoKJydsb+KAmWkgdGlyeHUg Y3UgY21hbHUnJyBzYXlzIG5vdGhpbmcgYWJvdXQgd2hldGhlciBiaWcgY2F0cyBhcmUgc21hbGwg KHdoaWNoIGlzLCBieSB0aGUgd2F5LCBvYnZpb3VzbHkgZmFsc2UpLCBidXQgaW5zdGVhZCBzYXkg dGhhdCB0aGUgc2V0IG9mIGJpZyBjYXRzIGlzIHNtYWxsOyB0aGF0IGlzIC0gdGhlcmUgYXJlIGZl dyBvZiB0aGVtLgoKCgpMYXN0bHksIHRoZXJlIGFyZSB0aGUgKG9ubHkgdHdvKSBnZW5lcmFsaXpp bmcgJydnYWRyaScnOgoKX18nJ2xv4oCZZScnX18gLSBnYWRyaTogVmVyaWRpY2FsIOKAnGNvbnZl cnQgc2VsYnJpIHRvIHN1bXRp4oCdLiBTdW10aSByZWZlcnMgdG8gdGhlIGFyY2hldHlwZSBvZiAn J2xvIHtzZWxicml9JycuCgpfXycnbGXigJllJydfXyAtIGdhZHJpOiBEZXNjcmlwdGl2ZSDigJxj b252ZXJ0IHNlbGJyaSB0byBzdW10aeKAnS4gU3VtdGkgcmVmZXJzIHRvIHRoZSBkZXNjcmliZWQv cGVyY2VpdmVkIGFyY2hldHlwZSBvZiAnJ2xlIHtzZWxicml9JycuCgpPZiB3aGljaCB0aGVyZSBp cyBubyAnJ2xhJyctZXF1aXZhbGVudC4KCgoKU28sIHdoYXQgaXMgYWN0dWFsbHkgbWVhbnQgYnkg dGhlIGFyY2hldHlwZT8gRm9yICcnbG/igJllIHRpcnh1JycsIGl0IGlzIGFuIGlkZWFsLCBpbWFn aW5lZCBiaWcgY2F0LCB3aGljaCBoYXMgYWxsIHRoZSBwcm9wZXJ0aWVzIHdoaWNoIGJlc3QgZXhl bXBsaWZpZXMgYmlnIGNhdHMuIEl0IHdvdWxkIGJlIHdyb25nIHRvIHNheSB0aGF0IHRoaXMgaW5j bHVkZXMgaGF2aW5nIGEgc3RyaXBlZCBmdXIsIHNpbmNlIGEgYmlnIHN5c3RlbWF0aWMgc3ViZ3Jv dXAgb2YgdGhlIG1lbWJlcnMgb2YgdGhlIHNldCBvZiBiaWcgY2F0cyBkbyBub3QgaGF2ZSBzdHJp cGVkIGZ1ciwgdGhlIGxlb3BhcmRzIGFuZCB0aGUgamFndWFycy4gTGlrZXdpc2UsIHRoZSB0eXBp Y2FsIGh1bWFuIGRvZXMgbm90IGxpdmUgaW4gQXNpYSBldmVuIHRob3VnaCBhIGxvdCBvZiBodW1h bnMgZG8uIEhvd2V2ZXIsIGlmIHN1ZmZpY2llbnRseSBtYW55IGh1bWFucyBoYXZlIGEgdHJhaXQs IGZvciBpbnN0YW5jZSBiZWluZyBhYmxlIHRvIHNwZWFrLCB3ZSBjYW4gc2F5OgoKX18nJ2tha25l JydfXzog4oCceDEgaXMgY2FwYWJsZSBvZiBkb2luZy9iZWluZyB4MiB1bmRlciBjaXJjdW1zdGFu Y2UgeDPigJ0KCicnbG/igJllIHJlbW5hIGN1IGtha25lIGxvIG51IHRhdmxhJycgLSDigJxUaGUg dHlwaWNhbCBodW1hbiBiZWluZyBjYW4gc3BlYWvigJ0uCgoKCicnbGXigJllJycgdGhlbiwgaXMg dGhlIGlkZWFsIG9iamVjdCBhcyBwZXJjZWl2ZWQgb3IgZGVzY3JpYmVkIGJ5IHRoZSBzcGVha2Vy LiBUaGlzIG5lZWQgbm90IGJlIGZhY3R1YWxseSBjb3JyZWN0LCBhbmQgaXMgb2Z0ZW4gdHJhbnNs YXRlZCBhcyB0aGUg4oCcc3RlcmVvdHlwZeKAnSwgZXZlbiB0aG91Z2ggdGhlIEVuZ2xpc2ggcGhy YXNlIGhhdmUgc29tZSB1bnBsZWFzYW50IG5lZ2F0aXZlIGNvbm5vdGF0aW9ucywgd2hpY2ggdGhl IExvamJhbiBkb2VzIG5vdC4gSW4gZmFjdCwgZXZlcnlvbmUgaGFzIGEgc3RlcmVvdHlwaWNhbCBh cmNoZXR5cGljaGFsIGltYWdlIG9mIGFueSBjYXRlZ29yeS4gSW4gb3RoZXIgd29yZHMsICcnbG/i gJllIHJlbW5hJycgaXMgdGhlIGFyY2hldHlwZSB3aGljaCBiZXN0IGV4ZW1wbGlmaWVzIGFsbCAn J2xvIHJlbW5hJycsIHdoaWxlIHRoZSBhcmNoZXR5cGUgJydsZeKAmWUgcmVtbmEnJyBiZXN0IGV4 ZW1wbGlmaWVzIGFsbCAnJ2xlIHJlbW5hJycuCgoKClRoZSBlbGV2ZW4gZ2FkcmkgY2FuIGJlIHNl ZW4gaW4gdGhlIGRpYWdyYW0gYmVsb3cuCgp8fCB8R2VuZXJpY3xNYXNzZXN8U2V0c3xHZW5lcmFs aXppbmcKClZlcmlkaWNhbHxsb3xsb2l8bG/igJlpfGxv4oCZZQoKRGVzY3JpcHRpdmV8bGV8bGVp fGxl4oCZaXxsZeKAmWUKCk5hbWV8bGF8bGFpfGxh4oCZaXxkb2VzIG5vdCBleGlzdHx8CgoKCk5v dGU6IEVhcmxpZXIsIHRoZXJlIHdhcyBhIHdvcmQgJyd4b+KAmWUnJyBmb3IgdGhlIGdlbmVyaWMg Z2FkcmkuIEhvd2V2ZXIsIHRoZSBydWxlcyBhbmQgZGVmaW5pdGlvbnMgZm9yIGdhZHJpIHdlcmUg Y2hhbmdlZCBpbiBsYXRlIDIwMDQsIGFuZCB0aGUgY3VycmVudCBzZXQgb2YgcnVsZXMgb24gdGhp cyB0b3BpYywgbmlja2VkIOKAnHhvcmxv4oCdIGhhcyByZXBsYWNlZCB0aGUgb2xkIHdheS4gTm93 LCAnJ2xvJycgaXMgZ2VuZXJpYywgYW5kICcneG/igJllJycgaXMgdXNlZCBhcyBhIGVsbGlwdGlj YWwgZGlnaXQgKGxlc3NvbiBuaW5ldGVlbikuCgoKCgoKISFMb2piYW4gTGVzc29ucyAtIExlc3Nv biBmaWZ0ZWVuICh0aGUgTG9qYmFuIHN1bXRpIDI6IEtPaEEzLCBLT2hBNSBhbmQgS09oQTYpCgpT ZWUgd2hhdCBoYXBwZW5zIGlmIEkgdHJ5IHRvIHRyYW5zbGF0ZSB0aGUgc2VudGVuY2U6IOKAnFN0 ZXJlb3R5cGljYWwgcGVvcGxlIHdobyBjYW4gc3BlYWsgTG9qYmFuIHNwZWFrIHRvIGVhY2ggb3Ro ZXIgYWJvdXQgdGhlIGxhbmd1YWdlcyB0aGV5IGNhbiBzcGVha+KAnToKCl9fJydiYW5ndScnX18g 4oCceDEgaXMgYSBsYW5ndWFnZSB1c2VkIGJ5IHgyIHRvIGV4cHJlc3MgeDMgKGFic3RyYWN0aW9u KeKAnQoKJydsZeKAmWUgcHJlbnUgcG9pIGtl4oCZYSBrYWtuZSBsbyBudSB0YXZsYSBmbyBsYSAu bG9qYmFuLiBjdSB0YXZsYSBsZeKAmWUgcHJlbnUgcG9pIGtl4oCZYSBrYWtuZSBsbyBudSB0YXZs YSBmbyBsYSAubG9qYmFuLiBsbyBiYW5ndSBwb2kgbG8gcHJlbnUgcG9pIGtl4oCZYSB0YXZsYSBm byBsYSAubG9qYmFuLiBjdSBzZSBiYW5ndSBrZeKAmWEnJwoKCgpXaGF0IHdlIHNlZSBpcyB0aGF0 IHRoZSBMb2piYW4gdmVyc2lvbiBpcyBtdWNoIGxvbmdlciB0aGFuIHRoZSBFbmdsaXNoLiBUaGlz IGlzIHByaW1hcmlseSBiZWNhdXNlIHRoZSBmaXJzdCwgcmlkaWN1bG91c2x5IGxvbmcgc3VtdGkg aXMgYmVpbmcgcmVwZWF0ZWQgdHdvIG1vcmUgdGltZXMgaW4gdGhlIExvamJhbiB0ZXh0LCB3aGls ZSB0aGUgRW5nbGlzaCBjYW4gcmVmZXIgdG8gaXQgYnkg4oCcZWFjaCBvdGhlcuKAnSBhbmQg4oCc dGhleeKAnSAtIG11Y2ggbW9yZSBlZmZpY2llbnRseS4gV291bGRu4oCZdCBpdCBiZSBjbGV2ZXIg aWYgTG9qYmFuIHNvbWVob3cgaGFkIG1lY2hhbmlzbXMgZm9yIGRvaW5nIHRoZSBzYW1lPwoKCgpJ dCB0dXJucyBvdXQgaXQgZG9lcywgd2hhdCBhIHN1cnByaXNlISBMb2piYW4gaGFzIGEgcmFuZ2Ug b2Ygd29yZHMgY2FsbGVkICcnc3Vta2HigJlpJycgbWVhbmluZyDigJxzdW10aS1yZXByZXNlbnRh dGl2ZXPigJ0uIEluIEVuZ2xpc2gsIHdlIHJlZmVyIHRvIHRoZW0gYXMgcHJvLXN1bXRpLCBiZWNh dXNlIHRoZXkgYXJlIGVzc2VudGlhbGx5IHRoZSBzYW1lIGFzIHRoZSBFbmdsaXNoIHByb25vdW5z LCBidXQgd2l0aCBzdW10aSBpbnN0ZWFkIG9mIG5vdW5zLiBJbiBmYWN0LCB5b3UgYWxyZWFkeSBr bm93ICcndGknJywgJydkbycnIGFuZCAnJ21pJycsIGJ1dCB0aGVyZSBhcmUgbWFueSBtb3JlLCBz byBsZXTigJlzIGdldCBsZWFybmluZy4gRmlyc3QsIHdlIHdhbnQgdG8gcHV0IGl0IGludG8gc3lz dGVtLiBXZSBjYW4gYmVnaW4gd2l0aCB0aGUgb25lcyBtb3N0IGZhbWlsaWFyIHRvIEVuZ2xpc2gs IGFuZCB3aGF0IHlvdeKAmXZlIGFscmVhZHkgbGVhcm5lZDoKCgoKX18nJ3RpJydfXyAtIHN1bWth 4oCZaTog4oCcaW1tZWRpYXRlIOKAmGl04oCZOiByZXByZXNlbnRzIGEgc3VtdGkgcGh5c2ljYWxs eSBuZWFyIHRoZSBzcGVha2Vy4oCdCgpfXycndGEnJ19fIC0gc3Vta2HigJlpOiDigJxuZWFyYnkg 4oCYaXTigJk6IHJlcHJlc2VudHMgYSBzdW10aSBzb21lIHBoeXNpY2FsIGRpc3RhbmNlIGZyb20g dGhlIHNwZWFrZXIgT1IgY2xvc2UgdG8gdGhlIGxpc3RlbmVy4oCdCgpfXycndHUnJ19fIC0gc3Vt a2HigJlpOiDigJxkaXN0YW50IOKAmGl04oCZOiByZXByZXNlbnRzIGEgc3VtdGkgcGh5c2ljYWxs eSBmYXIgZnJvbSB0aGUgc3BlYWtlciBhbmQgdGhlIGxpc3RlbmVyLuKAnQoKCgpZb3UgY2FuIGFn YWluIHJlY29nbml6ZSB0aGUg4oCcaSwgYSwgdeKAnS1zZXF1ZW5jZSB3aGljaCBwb3BzIHVwIG92 ZXIgYW5kIG92ZXIuIFNvbWUgdGhpbmdzIG1pZ2h0IHRha2Ugc29tZSBjbGVhcmluZyB1cCwgdGhv dWdoLiBGaXJzdGx5LCB0aGVzZSBzdW10aSBjYW4gcmVwcmVzZW50IGFueXRoaW5nIHdoaWNoIGNh biBiZSBzYWlkIHRvIG9jY3VweSBhIHBoeXNpY2FsIHNwYWNlLiBPYmplY3RzLCBjZXJ0YWlubHku IElkZWFzLCBjZXJ0YWlubHkgbm90LiBFdmVudHMgYXJlIGFjY2VwdGVkLCBidXQgb25seSB0byB0 aGUgZXh0ZW50IHRoZXkgYXJlIHJlc3RyaWN0ZWQgdG8gYSBzcGVjaWZpYyBwbGFjZSAtIHRoZSBK YXNtaW4gUmV2b2x1dGlvbiBjYW5ub3QgYmUgcG9pbnRlZCBhdCwgYnV0IHNvbWUgYmFyLWZpZ2h0 IG9yIGEga2lzcyBtaWdodC4gU2Vjb25kbHksIG5vdGUgdGhhdCB0aGUgZGlzdGFuY2UgaXMgcmVs YXRpdmUgdG8gZGlmZmVyZW50IHRoaW5ncyBmb3IgdGhlIGRpZmZlcmVudCB3b3JkczogJyd0dScn IG9ubHkgYXBwbGllcyBpZiBpdOKAmXMgZGlzdGFudCBmcm9tIGJvdGggdGhlIHNwZWFrZXIgYW5k IHRoZSBsaXN0ZW5lci4gSW4gY2FzZXMgd2hlcmUgdGhlIHNwZWFrZXIgYW5kIGxpc3RlbmVyIGlz IGZhciBhcGFydCBhbmQgdGhlIGxpc3RlbmVyIGNhbm5vdCBzZWUgdGhlIHNwZWFrZXIgdGFsa2lu ZywgJyd0YScnIHJlZmVycyB0byBzb21ldGhpbmcgY2xvc2UgdG8gdGhlIGxpc3RlbmVyLiBUaGly ZGx5LCBpdOKAmXMgYWxsIHJlbGF0aXZlIGFuZCBjb250ZXh0IGRlcGVuZGVudC4gVGhlc2UgdGhy ZWUgd29yZHMgYXJlIGFsbCBwcm9ibGVtYXRpYyBpbiB3cml0dGVuIHRleHQsIGZvciBpbnN0YW5j ZSwgYmVjYXVzZSB0aGUgcG9zaXRpb24gb2YgdGhlIHNwZWFrZXIgYW5kIGxpc3RlbmVyIGlzIHVu a25vd24gdG8gZWFjaCBvdGhlciwgYW5kIGNoYW5nZXMgYXMgdGltZSBnb2VzIGJ5LiBGdXJ0aGVy bW9yZSwgdGhlIGF1dGhvciBvZiBhIGJvb2sgY2Fubm90IHBvaW50IHRvIGFuIG9iamVjdCBhbmQg ZXhwcmVzcyB0aGUgcG9pbnRpbmcgaW4gdGhlIGJvb2suCgoKClRoZW4gdGhlcmUgaXMgYSBzZXJp ZXMgY2FsbGVkIEtPaEEzLCB0byB3aGljaCAnJ21pJycgYW5kICcnZG8nJyAoYW5kICcna28nJywg YnV0IEkgd29u4oCZdCB3cml0ZSB0aGF0IGhlcmUpIGJlbG9uZ3M6CgpfXycnbWknJ19fIC0gc3Vt a2HigJlpOiBUaGUgc3BlYWtlcihzKS4KCl9fJydtaeKAmW8nJ19fIC0gc3Vta2HigJlpOiBUaGUg bWFzcyBvZiB0aGUgc3BlYWtlcihzKSBhbmQgdGhlIGxpc3RlbmVyKHMpIC4KCl9fJydtaeKAmWEn J19fIC0gc3Vta2HigJlpOiBUaGUgbWFzcyBvZiB0aGUgc3BlYWtlcihzKSBhbmQgb3RoZXJzLgoK X18nJ21h4oCZYScnX18gLSBzdW1rYeKAmWk6IFRoZSBtYXNzIG9mIHRoZSBzcGVha2VyKHMpLCB0 aGUgbGlzdGVuZXIocykgYW5kIG90aGVycy4KCl9fJydkbycnX18gLSBzdW1rYeKAmWk6IFRoZSBs aXN0ZW5lcihzKS4KCl9fJydkb+KAmW8nJ19fIC0gc3Vta2HigJlpOiBUaGUgbWFzcyBvZiB0aGUg bGlzdGVuZXIocykgYW5kIG90aGVycy4KCgoKVGhlc2Ugc2l4IHN1bWth4oCZaSBhcmUgbW9yZSBl YXNpbHkgZ3Jhc3BlZCBpbiB0aGUgYmVsb3cgVmVubiBkaWFncmFtOgoKCgp7aW1nIGZpbGVJZD0i MyIgdGh1bWI9InkiIHJlbD0iYm94W2ddIn0KClZlbm4gZGlhZ3JhbSBvZiBLT2hBMyAoJydrbycn IGV4Y2x1ZGVkKS4gJydsZSBkcmF0YScnIGlzIG5vdCBhIEtPaEEzLCBidXQgbWVhbnMg4oCcdGhl IG90aGVyKHMp4oCdCgoKCkl0IGlzIHBvc3NpYmxlIGZvciBzZXZlcmFsIHBlb3BsZSB0byBiZSDi gJx0aGUgc3BlYWtlcnPigJ0sIGlmIG9uZSBzdGF0ZW1lbnQgaXMgbWFkZSBvbiB0aGUgYmVoYWxm IG9mIGFsbCBvZiB0aGVtLiBUaGVyZWZvcmUsIHdoaWxlIOKAnHdl4oCdIGNhbiBiZSB0cmFuc2xh dGVkIGFzIGVpdGhlciAnJ21pJycsICcnbWnigJlvJycsICcnbWnigJlhJycgb3IgJydtYeKAmWEn Jywgd2hhdCBvbmUgcXVpdGUgb2Z0ZW4gbWVhbnMgaXMgcmVhbGx5IGp1c3QgJydtaScnLiBBbGwg b2YgdGhlc2Ugc2l4LCBpZiB0aGV5IHJlZmVyIHRvIG1vcmUgdGhhbiBvbmUgaW5kaXZpZHVhbCwg cmVwcmVzZW50IG1hc3Nlcy4gV2l0aGluIGJyaWRpLWxvZ2ljLCB0aGUgYnJpZGkgJydtaSBnbGVr aScnIHNhaWQgYnkgc3BlYWtlciBBIGlzIGV4YWN0bHkgZXF1aXZhbGVudCB0byAnJ2RvIGdsZWtp Jycgc2FpZCBieSBzcGVha2VyIEIgdG8gc3BlYWtlciBBLCBhbmQgYXJlIGNvbnNpZGVyZWQgdGhl IHNhbWUgYnJpZGkuIFdlIHdpbGwgY29tZSBiYWNrIHRvIHRoaXMgbGF0ZXIsIGluIHRoZSAnJ2Jy aWth4oCZaScnIChwcm8tYnJpZGkpIGxlc3Nvbi4KCgoKQWxsIG9mIHRoZXNlICcnc3Vta2HigJlp JycgYXJlIHZlcnkgY29udGVudC1zcGVjaWZpYywgYW5kIGNhbiBub3QgYmUgdXNlZCwgZm9yIGlu c3RhbmNlLCB0byBoZWxwIHVzIHdpdGggdGhlIHNlbnRlbmNlIHdoaWNoIHRoaXMgbGVzc29uIGJl Z2FuIHdpdGguIFRoZSBmb2xsb3dpbmcgc2VyaWVzIGNhbiBpbiBwcmluY2lwbGUgYmUgdXNlZCB0 byByZWZlciB0byBhbnkgc3VtdGk6CgpfXycncmknJ19fIC0gc3Vta2HigJlpOiDigJxMYXN0IHN1 bXRpIG1lbnRpb25lZOKAnQoKX18nJ3JhJydfXyAtIHN1bWth4oCZaTog4oCcQSByZWNlbnQsIGJ1 dCBub3QgdGhlIGxhc3Qgc3VtdGkgbWVudGlvbmVk4oCdCgpfXycncnUnJ19fIC0gc3Vta2HigJlp OiDigJxBIHN1bXRpIG1lbnRpb25lZCBsb25nIGFnb+KAnQoKCgpUaGVzZSBzdW10aSB3aWxsIHJl ZmVyIHRvIGFueSB0ZXJtaW5hdGVkIHN1bXRpIGV4Y2VwdCBtb3N0IG90aGVyICcnc3Vta2HigJlp JycuIFRoZSByZWFzb24gdGhhdCBtb3N0IG90aGVyICcnc3Vta2HigJlpJycgY2Fubm90IGJlIHJl ZmVycmVkIHRvIGJ5IHRoZXNlIHN1bXRpLCBpcyB0aGF0IHRoZXkgYXJlIHNvIGVhc3kgdG8ganVz dCByZXBlYXQgYnkgdGhlbXNlbHZlcy4gVGhlIGV4Y2VwdGlvbiB0byB0aGUgcnVsZSBhcmUgJyd0 aScnLCAnJ3RhJycgYW5kICcndHUnJywgYmVjYXVzZSB5b3UgY291bGQgaGF2ZSBjaGFuZ2VkIHdo YXQgeW91IHBvaW50IGF0LCBhbmQgdGh1cyBjYW5ub3QganVzdCByZXBlYXQgdGhlIHdvcmQuIFRo ZXkgd2lsbCBvbmx5IHJlZmVyIHRvIHRlcm1pbmF0ZWQgc3VtdGksIGFuZCB0aHVzIGNhbm5vdCwg Zm9yIGluc3RhbmNlLCBiZSB1c2VkIHRvIHJlZmVyIHRvIGFuIGFic3RyYWN0aW9uIGlmIHRoZSB3 b3JkIGluIGlzIHRoYXQgYWJzdHJhY3Rpb246ICcnbGUgcGVuZG8gbm9pIGtl4oCZYSBwZW5kbyBt aSBjdSBkamljYSBsbyBudSByaSBzZSB6ZGFuaScnIC0gaGVyZSAnJ3JpJycgY2Fubm90IHJlZmVy IHRvIHRoZSBhYnN0cmF0aW9uLCBzaW5jZSBpdCBpcyBub3QgdGVybWluYXRlZCwgbm9yIHRvICcn bWknJyBvciAnJ2tl4oCZYScnLCBzaW5jZSB0aGV5IGFyZSBzdW1rYeKAmWksIHNvIGl0IHJlZmVy cyB0byAnJ2xlIHBlbmRvJycuCgonJ3JhJycgYW5kICcncnUnJyBhcmUgY29udGV4dC1kZXBlbmRl bnQgaW4gd2hhdCB0aGV5IHJlZmVyIHRvLCBidXQgdGhleSBmb2xsb3cgdGhlIHJ1bGVzIG1lbnRp b25lZCBhYm92ZSwgYW5kICcncnUnJyBhbHdheXMgcmVmZXIgdG8gYSBtb3JlIGRpc3RhbnQgc3Vt dGkgdGhhbiAnJ3JhJycsIHdoaWNoIGlzIGFsd2F5cyBtb3JlIGRpc3RhbnQgdGhhbiAnJ3JpJycu CgoKCicncmknJyBhbmQgaXTigJlzIGJyb3RoZXJzIGFyZSBwcmV0dHkgd2VsbCBzdWl0ZWQgZm9y IGRlYWxpbmcgd2l0aCB0aGUgb3JpZ2luYWwgc2VudGVuY2UuIFRyeSBzYXlpbmcgaXQgdXNpbmcg dHdvIGluc3RhbmNlcyBvZiAnJ3N1bWth4oCZaScnIQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5Oicn bGXigJllIHByZW51IHBvaSBrZeKAmWEga2FrbmUgbG8gbnUgdGF2bGEgZm8gbGEgLmxvamJhbi4g Y3UgdGF2bGEgcnUgbG8gYmFuZ3UgcG9pIHJ1IGN1IHNlIGJhbmd1IGtl4oCZYScnLiAnJ3JpJycg aXMgbm90IGNvcnJlY3QsIGJlY2F1c2UgaXQgcmVmZXJzIHRvICcnbGEgLmxvamJhbi4nJy4gJydy YScnIGNvdWxkIGJlIHVzZWQsIGJ1dCBjb3VsZCBiZSBtaXN0YWtlbmx5IGJlIHRob3VnaHQgdG8g cmVmZXIgdG8gJydsbyBudSB0YXZsYSBmbyBsYSAubG9qYmFuLicnLCBidXQgJydydScnIGlzIGFz c3VtZWQgdG8gcmVmZXIgdG8gdGhlIG1vc3QgZGlzdGFudCBzdW10aSAtIHRoZSBtb3N0IG91dGVy IG9uZS5+fgoKCgpMYXN0bHksIHRoZXJlIGEgc3VtdGNpdGEgd2hpY2ggcmVwcmVzZW50IHV0dGVy YW5jZXM6IFNvIGNhbGxlZCB1dHRlcmFuY2UgdmFyaWFibGVzLiBUaGV5IG5lZWQgbm90IGJlIHJl c3RyaWN0ZWQgdG8gb25lIHNlbnRlbmNlIChqdWZyYSksIGJ1dCBjYW4gYmUgc2V2ZXJhbCBzZW50 ZW5jZXMsIGlmIHRoZSBjb250ZXh0IGFsbG93cyBpdDoKCl9fJydkYeKAmXUnJ19fIFV0dGVyYW5j ZSB2YXJpYWJsZTogUmVtb3RlIHBhc3Qgc2VudGVuY2UKCl9fJydkZeKAmXUnJ19fIFV0dGVyYW5j ZSB2YXJpYWJsZTogUmVjZW50IHNlbnRlbmNlCgpfXycnZGnigJl1JydfXyBVdHRlcmFuY2UgdmFy aWFibGU6IFByZXZpb3VzIHNlbnRlbmNlCgpfXycnZGVpJydfXyBVdHRlcmFuY2UgdmFyaWFibGU6 IFRoaXMgc2VudGVuY2UKCl9fJydkaeKAmWUnJ19fIFV0dGVyYW5jZSB2YXJpYWJsZTogTmV4dCBz ZW50ZW5jZQoKX18nJ2Rl4oCZZScnX18gVXR0ZXJhbmNlIHZhcmlhYmxlOiBOZWFyIGZ1dHVyZSBz ZW50ZW5jZQoKX18nJ2Rh4oCZZScnX18gVXR0ZXJhbmNlIHZhcmlhYmxlOiBSZW1vdGUgZnV0dXJl IHNlbnRlbmNlCgpfXycnZG/igJlpJydfXyBVdHRlcmFuY2UgdmFyaWFibGU6IEVsbGlwdGljYWwg dXR0ZXJhbmNlIHZhcmlhYmxlOiDigJxTb21lIHNlbnRlbmNl4oCdCgpUaGVzZSByZXByZXNlbnRz IHNlbnRlbmNlcyBhcyBzdW10aSwgYW5kIHJlZmVyIG9ubHkgdG8gdGhlIHNwb2tlbiB3b3JkcyBv ciB0aGUgbGV0dGVycywgbm90IHRvIHRoZSBtZWFuaW5nIGJlaGluZCB0aGVtLgoKCgpUaGVyZSBh cmUgbW9yZSBMb2piYW4gJydzdW1rYeKAmWknJywgYnV0IGZvciBub3cgeW91IHByb2JhYmx5IG5l ZWQgYSBicmVhayBmcm9tIHRoZW0uIFRoZSBuZXh0IGxlc3NvbiB3aWxsIGJlIG9uIGRlcml2ZWQg c3VtdGksIHN1bXRpIG1hZGUgZnJvbSBvdGhlciBzdW10aS4KCgoKCgohIUxvamJhbiBMZXNzb25z IC0gTGVzc29uIHNpeHRlZW4gKHRoZSBMb2piYW4gc3VtdGkgMzogZGVyaXZlZCBzdW10aSkKCllv dSBjYW4gcHJvYmFibHkgc2VlIHRoYXQgdGhlIHN1bXRpICcnbGUgYmFuZ3UgcG9pIG1pIHNlIGJh bmd1IGtl4oCZYScnIGlzIGEgbGVzcyB0aGFuIGVsZWdhbnQgZXhwcmVzc2lvbiBmb3Ig4oCcbXkg bGFuZ3VhZ2XigJ0uIFRoaXMgaXMgYmVjYXVzZSBpdOKAmXMgcmVhbGx5IGEgd29yayBhcm91bmQu IEEgbGFuZ3VhZ2Ugd2hpY2ggSSBzcGVhayBjYW4gYmUgc2FpZCB0byBmaWxsIGludG8gdGhlIHgx IG9mIHRoZSBicmlkaSAnJ2Jhbmd1IG1pJycuIFdlIGNhbuKAmXQgY29udmVydCB0aGF0IHRvIGEg c3VtdGkgdXNpbmcgYSBnYWRyaTogJydsZSBiYW5ndSB7a3V9IG1pJycgaXMgdHdvIHN1bXRpLCBi ZWNhdXNlICcnYmFuZ3UgbWknJyBpcyBhIGJyaWRpLCBub3QgYSBzZWxicmkuIE5laXRoZXIgY2Fu IHdlIGNvbnZlcnQgaXQgdXNpbmcgJydsZSBzdeKAmXUnJywgYmVjYXVzZSB0aGUgc3XigJl1IGdp dmVzIHRoZSBicmlkaSBhIG5ldyB4MSwgdGhlIGFic3RyYWN0aW9uLCBhbmQgdGhlICcnbGUnJyB0 aGVuIGV4dHJhY3RzIHRoYXQuIFRoYXQgbWFrZXMgYW4gYWJzdHJhY3Rpb24gc3VtdGkgbWVhbmlu ZyBzb21ldGhpbmcgbGlrZSDigJx0aGF0IHNvbWV0aGluZyBpcyBteSBsYW5ndWFnZeKAnS4KCkVu dGVyICcnYmUnJy4gJydiZScnIGlzIGEgd29yZCB3aGljaCBiaW5kcyBjb25zdHJ1Y3RzIChzdW10 aSwgc3VtdGNpdGEgYW5kIG90aGVycykgdG8gYSBzZWxicmkuIFVzaW5nIGl0IGluIG9yZGluYXJ5 IHNlbGJyaSBoYXMgbm8gZWZmZWN0OiBpbiAnJ21pIG5lbGNpIGJlIGRvJycsIHRoZSAnJ2JlJycg ZG9lcyBub3RoaW5nLiBIb3dldmVyLCB3aGVuIGEgc3VtdGkgaXMgYm91bmQgdG8gYSBzZWxicmkg dGhpcyB3YXksIHlvdSBjYW4gdXNlIGEgZ2Fkcmkgb24gdGhlIHNlbGJyaSB3aXRob3V0IHRoZSBz dW10aSBzcGxpdHRpbmcgb2ZmOiAnJ2xlIGJhbmd1IGJlIG1pJycgaXMgYSBjb3JyZWN0IHNvbHV0 aW9uIHRvIHRoZSBwcm9ibGVtIGFib3ZlLiBMaWtld2lzZSwgeW91IGNhbiBhdHRhY2ggYSBzdW10 Y2l0YTogJydsZSBudSBkYXJ4aSBrZWkgYmUgZ2F1IGRvJyc6IOKAnFRoZSBldmVudCBvZiBoaXR0 aW5nLCB3aGljaCBpcyBjYXVzZWQgYnkgeW914oCdLiBOb3RlIHRoYXQgdGhlIHByZXNlbmNlIG9y IGFic2VuY2Ugb2YgJydrZWknJyBtYWtlcyBpdCBwYXJzZSBkaWZmZXJlbnRseTogV2l0aCB0aGUg ZmEnb3JtYSdvIHByZXNlbnQsICcnYmUnJyBhdHRhY2hlcyB0byAnJ251JycsIHdpdGhvdXQgdGhl IGZhJ29ybWEnbywgaXQgYXR0YWNoZXMgdG8gJydkYXJ4aScnLiBTbyBpdCBkZWNpZGVzIHdoYXQg aXMgYmVpbmcgZW1waGFzaXNlZDogSXMgdGhlIGhpdHRpbmcsIG9yIHRoZSBldmVudCBvZiBoaXR0 aW5nIGNhdXNlZCBieSB5b3U/IEluIHRoaXMgc3BlY2lmaWMgY2FzZSwgdGhvdWdoLCB0aGF04oCZ cyBqdXN0IGFib3V0IHRoZSBzYW1lIHRoaW5nLgoKCgpXaGF0IGlmIEkgd2FudCB0byBhdHRhY2gg c2V2ZXJhbCBzdW10aSB0byBhIHNlbGJyaSBpbnNpZGUgYSBnYWRyaT8g4oCcVGhlIGdpdmVyIG9m IHRoZSBhcHBsZSB0byB5b3XigJ0gaXMgJydsZSBkdW5kYSBiZSBsbyBwbGlzZSBiZSBkbycnLCBy aWdodD8gTm9wZS4gVGhlIHNlY29uZCAnJ2JlJycgYXR0YWNoZXMgdG8gdGhlIGFwcGxlLCBtZWFu aW5nICcnbGUgcGxpc2UgYmUgZG8nJyAtIOKAnFRoZSBhcHBsZSBvZiB0aGUgc3RyYWluIG9mIHlv deKAnSwgd2hpY2ggbWFrZXMgc28gc2Vuc2UuIEluIG9yZGVyIHRvIHN0cmluZyBzZXZlcmFsIHN1 bXRpIHRvIGEgc2VsYnJpLCBhbGwgb2YgdGhlIG9uZXMgZm9sbG93aW5nIHRoZSBmaXJzdCBtdXN0 IGJlIGJvdW5kIHdpdGggJydiZWknJy4gVGhlIOKAnGJpbmRpbmfigJ0gY2FuIGJlIHRlcm1pbmF0 ZWQgd2l0aCAnJ2Jl4oCZbycnIC0gb25lIGluc3RhbmNlIG9mICcnYmXigJlvJycgZm9yIGVhY2gg c2VsYnJpIHdoaWNoIGhhcyBzdW10aSBib3VuZCBieSAnJ2JlJycuCgpUbyBsaXN0IHRoZW06Cgpf XycnYmUnJ19fIGJpbmRzIHN1bXRpIG9yIHN1bXRjaXRhIHRvIHNlbGJyaQoKX18nJ2JlaScnX18g YmluZHMgYSBzZWNvbmQsIHRoaXJkLCBmb3VydGggKGVjdCkgc3VtdGkgb3Igc3VtdGNpdGEgdG8g YSBzZWxicmkKCl9fJydiZeKAmW8nJ19fIGVuZHMgYmluZGluZyB0byBzZWxicmkKCgoKVGhlcmUg aXMgYWxzbyB3YXlzIHRvIGxvb3NlbHkgYXNzb2NpYXRlIGEgc3VtdGkgd2l0aCBhbm90aGVyLiAn J3BlJycgYW5kICcnbmUnJyBmb3IgcmVzdHJpY3RpdmUgYW5kIG5vbi1yZXN0cmljdGl2ZSBhc3Nv Y2lhdGlvbi4gQWN0dWFsbHksICcnbGUgYmFuZ3UgcGUgbWknJyBpcyBhIGJldHRlciB0cmFuc2xh dGlvbiBvZiDigJxteSBsYW5ndWFnZeKAnSwgc2luY2UgdGhpcyBwaHJhc2UsIGxpa2UgdGhlIEVu Z2xpc2gsIGlzIHZhZ3VlIGFzIHRvIGhvdyB0aGUgdHdvIGFyZSBhc3NvY2lhdGVkIHdpdGggZWFj aCBvdGhlci4KCicncGUnJyBhbmQgJyduZScnIGFyZSB1c2VkIGFzIGxvb3NlIGFzc29jaWF0aW9u IG9ubHksIGxpa2Ugc2F5aW5nIOKAnG15IGNoYWly4oCdIGFib3V0IGEgY2hhaXIgd2hpY2ggeW91 IHNpdCBvbi4gSXTigJlzIG5vdCByZWFsbHkgeW91cnMsIGJ1dCBoYXMgc29tZXRoaW5nIGRvIHRv IHdpdGggeW91LiBBIG1vcmUgaW50aW1hdGUgY29ubmVjdGlvbiBjYW4gYmUgZXN0YWJsaXNoZWQg d2l0aCAnJ3BvJycsIHdoaWNoIG1ha2VzIHRoZSBhc3NvY2lhdGlvbiB1bmlxdWUgYW5kIGJpbmRp bmcgdG8gYSBwZXJzb24sIGFzIGluIOKAnG15IGNhcuKAnSBmb3IgYSBjYXIgdGhhdCB5b3UgYWN0 dWFsbHkgb3duLiBUaGUgbGFzdCBraW5kIG9mIGFzc29jaWF0b3IgaXMgJydwbydlJycsIHdoaWNo IG1ha2VzIGEgc28tY2FsbGVkICJpbmFsaWVuYWJsZSIgYm9uZCBiZXR3ZWVuIHN1bXRpLCBtZWFu aW5nIHRoYXQgdGhlIGJvbmQgaXMgaW5uYXRlIGJldHdlZW4gdGhlIHR3byBzdW10aS4gU29tZSBl eGFtcGxlcyBjb3VsZCBiZSAibXkgbW90aGVyIiwgIm15IGFybSIgb3IgIm15IGhvbWUgY291bnRy eSI7IG5vbmUgb2YgdGhlc2UgInBvc3Nlc2lvbnMiIGNhbiBiZSBsb3N0IChldmVuIGlmIHlvdSBz YXcgb2ZmIHlvdXIgYXJtLCBpdCdzIHN0aWxsIF9feW91cl9fIGFybSksIGFuZCBhcmUgdGhlcmVm b3JlIGluYWxpZW5hYmxlLiBBbG1vc3QgYWxsIG9mIHRoZSB0aW1lcyBhICcncG8nZScnIGlzIGFw cHJvcHJpYXRlLCB0aG91Z2gsIHRoZSB4MiBvZiB0aGUgc2VsYnJpIGNvbnRhaW5zIHRoZSBvbmUg dG8gd2hpY2ggdGhlIHgxIGlzIGNvbm5lY3RlZCwgc28gJydiZScnIGlzIGJldHRlci4KCl9fJydu ZScnX18gbm9uLXJlc3RyaWN0aXZlIHJlbGF0aXZlIHBocmFzZS4gIndoaWNoIGlzIGFzc29jaWF0 ZWQgd2l0aC4uLiIKCl9fJydwZScnX18gcmVzdHJpY3RpdmUgcmVsYXRpdmUgcGhyYXNlLiAid2hp Y2ggaXMgYXNzb2NpYXRlZCB3aXRoLi4uIgoKX18nJ3BvJydfXyBwb3NzZXNpdmUgcmVsYXRpdmUg cGhyYXNlLiAid2hpY2ggaXMgc3BlY2lmaWMgdG8uLi4iCgpfXycncG8nZScnX18gaW5hbGllbmFi bGUgcmVsYXRpdmUgcGhyYXNlLiAid2hpY2ggYmVsb25ncyB0by4uLiIKCgoKQSB2ZXJ5IHVzZWZ1 bCBjb25zdHJ1Y3QgdG8ga25vdyBpcyAnJ3tnYWRyaX0ge3N1bXRpfSB7c2VsYnJpfScnLiB0aGlz IGlzIGVxdWl2YWxlbnQgdG8gJyd7Z2Fkcml9IHtzZWxicml9IHBlICB7c3VtdGl9JycuIEZvciBp bnN0YW5jZSAnJ2xlIG1pIGdlcmt1JycgaXMgZXF1aXZhbGVudCB0byAnJ2xlIGdlcmt1IHBlIG1p JycuIE9uZSBjb3VsZCBoYXZlIGRlc2NyaXB0aW9uIHN1bXRpIGluc2lkZSBkZXNjcmlwdGlvbiBz dW10aSwgc2F5aW5nICcnbGUgbGUgc2UgY2luamlrY2EgYmUgbWkga3UgZ2Vya3UnJywgPSAnJ2xl IGdlcmt1IHBlIGxlIHNlIGNpbmppa2NhIGJlIG1pJycgPeKAnHRoZSBkb2cgb2YgdGhlIG1hbiBJ 4oCZbSBmbGlydGluZyB3aXRo4oCdLCBidXQgdGhhdOKAmXMgbm90IHZlcnkgZWFzeSB0byByZWFk IChvciB0byB1bmRlcnN0YW5kIHdoZW4gc3Bva2VuKSwgYW5kIGlzIG9mdGVuIGJlaW5nIGF2b2lk ZWQuCgoKCk9uZSBuZWVkIGFsc28gdG8gbGVhcm4gJyd0deKAmWEnJywgc2luY2UgaXQgd2lsbCBt YWtlIGEgbG90IG9mIHNlbnRlbmNlcyBtdWNoIGVhc2llci4gSXQgdGFrZXMgYSBzdW10aSBhbmQg Y29udmVydHMgaXQgdG8gYW5vdGhlciBzdW10aSAtIGFuIGVsbGlwdGljYWwgYWJzdHJhY3Rpb24g d2hpY2ggaGFzIHNvbWV0aGluZyB0byBkbyB3aXRoIHRoZSBmaXJzdCBzdW10aS4gRm9yIGV4YW1w bGUsIEkgY291bGQgc2F5ICcnbWkgZGppY2EgbG8gbnUgbWkgY2l0a2EgbG8gcGxpc2UnJywgb3Ig SSBjb3VsZCBsZXQgaXQgYmUgdXAgdG8gY29udGV4dCB3aGF0IGFic3RyYWN0aW9uIGFib3V0IHRo ZSBhcHBsZSBJIGRlc2lyZSBhbmQganVzdCBzYXkgJydtaSBkamljYSB0deKAmWEgbG8gcGxpc2Un Jy4gT25lIGFsd2F5cyBoYXMgdG8gZ3Vlc3Mgd2hhdCBhYnN0cmFjdGlvbiB0aGUgc3BlYWtlciBt ZWFucyBieSAnJ3R14oCZYSBTVU1USScnLCBzbyBpdCBzaG91bGQgb25seSBiZSB1c2VkIHdoZW4g Y29udGV4dCBtYWtlcyBpdCBlYXN5IHRvIGd1ZXNzLiBBbm90aGVyIGV4YW1wbGU6CgpfXycnZ2Fz bnUnJ19fIOKAnHgxIGRvZXMvYnJpbmdzIGFib3V0IHgyICh2b2xpdGlvbiBub3QgaW1wbGllZCni gJ0KCicnemHigJlhIGRvIGdhc251IHR14oCZYSBsbyBza2FtaScnIC0g4oCcSSBzZWUgdGhhdCB5 b3UgbWFrZSB0aGUgY29tcHV0ZXIgZG8gc29tZXRoaW5n4oCdLiBPZmZpY2lhbGx5LCAnJ3R14oCZ YSBTVU1USScnIGlzIGVxdWl2YWxlbnQgdG8gJydsZSBzdeKAmXUgU1VNVEkgY2/igJllJycuIFZh Z3VlLCBidXQgdXNlZnVsLiBUaGVyZSBhcmUgc2l0dWF0aW9ucyB3aGVyZSB5b3UgY2Fubm90IHVz ZSAnJ3R14oCZYScnLCBldmVuIHRob3VnaCBpdCB3b3VsZCBzZWVtIHN1aXRhYmxlLiBUaGVzZSBz aXR1YXRpb25zIGFyZSB3aGVuIEkgZG9u4oCZdCB3YW50IHRoZSByZXN1bHRpbmcgc3VtdGkgdG8g YmUgYW4gYWJzdHJhY3Rpb24sIGJ1dCBhIGNvbmNyZXRlIHN1bXRpLiBJbiB0aGlzIGNhc2UsIG9u ZSBjYW4gdXNlICcnem/igJllIHBlJycuCgpfXycndHUnYScnX18gY29udmVydCBzdW10aSB0byB2 YWd1ZSBhYnN0cmFjdGlvbiBpbnZvbHZpbmcgdGhlIHN1bXRpLiBFcXVpdmFsZW50IHRvICcnbGUg c3UndSBTVU1USSBjbydlIGtlaSBrdScnCgoKCkZpbmFsbHksIG9uZSBraW5kIG9mIHN1bXRpIGNh biBiZSB0dXJuZWQgaW50byBhbm90aGVyIGJ5IHRoZSB3b3JkcyBvZiB0aGUgY2xhc3MgTEFoRS4K Cl9f4oCZ4oCZbHXigJlh4oCZ4oCZX18gLSBDb252ZXJ0IGluZGl2aWR1YWwocykvbWFzcy9zZXF1 ZW5jZS9zZXQgdG8gaW5kaXZpZHVhbHMuCgpfX+KAmeKAmWx14oCZaeKAmeKAmV9fIC0gQ29udmVy dCBpbmRpdmlkdWFsKHMpL21hc3Mvc2VxdWVuY2Uvc2V0IHRvIGEgc2V0LgoKX1/igJnigJlsdeKA mW/igJnigJlfXyAtIENvbnZlcnQgaW5kaXZpZHVhbChzKS9tYXNzL3NlcXVlbmNlL3NldCB0byBt YXNzLgoKX1/igJnigJl2deKAmWnigJnigJlfXyAtIENvbnZlcnQgaW5kaXZpZHVhbChzKS9tYXNz L3NlcXVlbmNlL3NldCB0byBzZXF1ZW5jZTsgdGhlIG9yZGVyIGlzIG5vdCBzdGF0ZWQuCgpUaGUg dXNlIG9mIHRoZXNlIHdvcmRzIGlzIHN0cmFpZ2h0LWZvcndhcmRseTogUGxhY2luZyB0aGVtIGJl Zm9yZSBhIHN1bXRpIG9mIGEgY2VydGFpbiB0eXBlIG1ha2VzIGEgbmV3IHN1bXRpIG9mIGEgbmV3 IHR5cGUuIE5vdGljZSwgdGhvdWdoLCB0aGF0IGFzIGEgZm91cnRoIGtpbmQgb2Ygc3VtdGksIGEg c2VxdWVuY2UgaGFzIGJlZW4gaW50cm9kdWNlZC4gVGhpcyBpcyBub3QgdXNlZCB2ZXJ5IG9mdGVu IChpdCBkb2VzbuKAmXQgaGF2ZSBpdHMgb3duIGdhZHJpLCBmb3IgaW5zdGFuY2UpLCBidXQganVz dCBpbmNsdWRlZCBoZXJlIGZvciBjb21wbGV0aW9uLgoKVGhlIGxhc3QgdHdvIG1lbWJlcnMgb2Yg TEFoRSBkbyBub3QgY29udmVydCBiZXR3ZWVuIHR5cGVzIG9mIHN1bXRpLCBidXQgYWxsb3dzIHlv dSB0byBzcGVhayBvZiBhIGEgc3VtdGkgYnkgb25seSBtZW50aW9uaW5nIHNvbWV0aGluZyB3aGlj aCByZWZlcmVuY2VzIHRvIGl0OgoKSWYgb25lIHN1bXRpIEEgcmVmZXJzIHRvIGEgc3VtdGkgQiwg Zm9yIGluc3RhbmNlIGJlY2F1c2Ugc3VtdGkgQSBpcyBhIHRpdGxlIG9mIGEgYm9vaywgb3IgYSBu YW1lLCBvciBhIHNlbnRlbmNlICh3aGljaCBhbHdheXMgcmVmZXIgdG8gc29tZXRoaW5nLCBhdCBs ZWFzdCBhIGJyaWRpKSwg4oCY4oCZbGHigJllIFNVTVRJIEHigJnigJkgcmVmZXJzIHRvIHN1bXRp IEIuIEZvciBpbnN0YW5jZSwg4oCY4oCZbWkgbmVsY2kgbGHigJllIGRp4oCZdeKAmeKAmSBmb3Ig 4oCcSSBsaWtlIHdoYXQgeW91IGp1c3Qgc2FpZOKAnSAobm90ICcnbWkgbmVsY2kgZGkndScnIHdo aWNoIGp1c3QgbWVhbnMgIkkgbGlrZSB5b3VyIHByZXZpb3VzIHNlbnRlbmNlIikgb3Ig4oCY4oCZ bGHigJllIGxlIGNtYWx1IG5vbHRydeKAmeKAmSBmb3IgdGhlIGJvb2sg4oCcVGhlIExpdHRsZSBQ cmluY2XigJ0sIGFuZCBub3Qgc29tZSBsaXR0bGUgcHJpbmNlIGhpbXNlbGYuIFRoZSBjbWF2byDi gJjigJlsdeKAmWXigJnigJkgZG9lcyB0aGUgZXhhY3QgcmV2ZXJzZSDigJMg4oCY4oCZbHXigJll IFNVTVRJ4oCZ4oCZIHJlZmVycyB0byBhbiBvYmplY3Qgd2hpY2ggcmVmZXJzIHRvIHRoZSBzdW10 aS4gCgpfX+KAmeKAmWxh4oCZZeKAmeKAmV9fIC0g4oCcdGhlIHRoaW5nIHJlZmVycmVkIHRvIGJ5 4oCdIC0gZXh0cmFjdHMgYSBzdW10aSBBIGZyb20gYSBzdW10aSBCIHdoaWNoIHJlZmVycyB0byBB LiAKCl9f4oCZ4oCZbHXigJll4oCZ4oCZX18gLSDigJx0aGUgdGhpbmcgcmVmZXJyaW5nIHRv4oCd IC0gZXh0cmFjdHMgYSBzdW10aSBCIGZyb20gYSBzdW10aSBBLCB3aGVuIEIgcmVmZXJzIHRvIEEu CgoKCgoKISEhRW5kIG9mIHBhcnQgb25lCgpEdWUgdG8gdGhlIGltcHJhY3RpY2FsbHkgbGFyZ2Ug c2l6ZSBvZiB0aGVzZSBsZXNzb25zLCB0aGUgc2Vjb25kIGluc3RhbGxtZW50IGNhbiBiZSBmb3Vu ZCBvbiBhICgod2F2ZWxlc3NvbnNjb250aW51ZWRwMnxzZXBhcmF0ZSBwYWdlKSkuIE5vIHdvcnJp ZXMsIHRob3VnaCwgY2xpY2tpbmcgb24gInNlcGFyYXRlIHBhZ2UiIHdpbGwgdGFrZSB5b3UgdGhl cmUgcGFpbmxlc3NseS4KCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpXaWtpY2hhbmdlcyBtYWlsaW5nIGxpc3QKV2lraWNoYW5nZXNAbG9qYmFuLm9yZwpo dHRwOi8vbWFpbC5sb2piYW4ub3JnL21haWxtYW4vbGlzdGluZm8vd2lraWNoYW5nZXMK