Received: from localhost ([::1]:60306 helo=stodi.digitalkingdom.org) by stodi.digitalkingdom.org with esmtp (Exim 4.76) (envelope-from ) id 1V2pVm-000549-Ji; Fri, 26 Jul 2013 14:25:18 -0700 Received: from 173-13-139-235-sfba.hfc.comcastbusiness.net ([173.13.139.235]:51566 helo=digitalkingdom.org) by stodi.digitalkingdom.org with smtp (Exim 4.76) (envelope-from ) id 1V2pVa-000542-4p for wikichanges@lojban.org; Fri, 26 Jul 2013 14:25:12 -0700 Received: by digitalkingdom.org (sSMTP sendmail emulation); Fri, 26 Jul 2013 14:25:06 -0700 From: "Apache" Date: Fri, 26 Jul 2013 14:25:06 -0700 To: wikichanges@lojban.org X-PHP-Originating-Script: 48:htmlMimeMail.php MIME-Version: 1.0 Message-ID: X-Spam-Score: 4.5 (++++) X-Spam_score: 4.5 X-Spam_score_int: 45 X-Spam_bar: ++++ X-Spam-Report: Spam detection software, running on the system "stodi.digitalkingdom.org", has identified this incoming email as possible spam. The original message has been attached to this so you can view it (if it isn't spam) or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: The page wavelessonscontinuedp2 was changed by Ilmen at 21:24 UTC Comment: Corrected a typo (ki'ai → di'ai) You can view the page by following this link: http://www.lojban.org/tiki/wavelessonscontinuedp2 [...] Content analysis details: (4.5 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 URIBL_BLOCKED ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [URIs: lojban.org] 1.6 RCVD_IN_BRBL_LASTEXT RBL: RCVD_IN_BRBL_LASTEXT [173.13.139.235 listed in bb.barracudacentral.org] 0.4 RDNS_DYNAMIC Delivered to internal network by host with dynamic-looking rDNS 2.5 DRUGS_MUSCLE Refers to a muscle relaxant Subject: [Wikichanges] Wiki page wavelessonscontinuedp2 changed by Ilmen 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 VGhlIHBhZ2Ugd2F2ZWxlc3NvbnNjb250aW51ZWRwMiB3YXMgY2hhbmdlZCBieSBJbG1lbiBhdCAy MToyNCBVVEMKQ29tbWVudDogQ29ycmVjdGVkIGEgdHlwbyAoa2knYWkg4oaSIGRpJ2FpKQoKWW91 IGNhbiB2aWV3IHRoZSBwYWdlIGJ5IGZvbGxvd2luZyB0aGlzIGxpbms6CiAKaHR0cDovL3d3dy5s b2piYW4ub3JnL3Rpa2kvd2F2ZWxlc3NvbnNjb250aW51ZWRwMgoKWW91IGNhbiB2aWV3IGEgZGlm ZiBiYWNrIHRvIHRoZSBwcmV2aW91cyB2ZXJzaW9uIGJ5IGZvbGxvd2luZyB0aGlzIGxpbms6IApo dHRwOi8vd3d3LmxvamJhbi5vcmcvdGlraS90aWtpLXBhZ2VoaXN0b3J5LnBocD9wYWdlPXdhdmVs ZXNzb25zY29udGludWVkcDImY29tcGFyZT0xJm9sZHZlcj0yOCZuZXd2ZXI9MjkKCgoqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgpUaGUg Y2hhbmdlcyBpbiB0aGlzIHZlcnNpb24gZm9sbG93IGJlbG93LCBmb2xsb3dlZCBhZnRlciBieSB0 aGUgY3VycmVudCBmdWxsIHBhZ2UgdGV4dC4KKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioKCgorLSstKy0rLSstKy0rLSstKy0rLSstKy0r LSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKwpAQCAtTGluZXM6IDM0MC0zNDUgY2hh bmdlZCB0byArTGluZXM6IDM0MC0zNDUgQEAKKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSst Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSsKdmknb3xXaWxsIGRvfC18V2lsbCBub3QgZG8K a2Unb3xQbGVhc2UgcmVwZWF0fC18Tm8gcmVwZWF0IG5lZWRlZAotIGtpJ2FpfHdlbGwtd2lzaHwt fGN1cnNlfHw8YnIgLz5Ob3RpY2UgdGhhdCAnJ2tpJ2FpJycgaXMgZXhwZXJpbWVudGFsCisgZGkn YWl8d2VsbC13aXNofC18Y3Vyc2V8fDxiciAvPk5vdGljZSB0aGF0ICcnZGknYWknJyBpcyBleHBl cmltZW50YWwKCgoKCgoKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioKVGhlIG5ldyBwYWdlIGNvbnRlbnQgZm9sbG93cyBiZWxvdy4KKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioK CiFMb2piYW4gV2F2ZSBMZXNzb25zIENvbnRpbnVlZCAocGFydCB0d28pOgoKISEhTWFkZSBieSBs YSBrbGFrdSB3aXRoIGhlbHAgZnJvbSB2YXJpb3VzIGxvamJhbmlzdHMuIEJhc2VkIG9uIHRoZSB3 b3JrIG9mIGxhIC5rcmliYWNyLiBTcHJpbmcgMjAxMy4KCgoKVGhpcyBpcyB0aGUgc2Vjb25kIGlu c3RhbGxtZW50IG9mIHRoZSBXYXZlIExlc3NvbnMgQ29udGludWVkLiBJZiB5b3UgZGlkbid0IGNh dGNoIHRoZSBmaXJzdCBwYXJ0LCBvciB3YW50IHRvIGdvIGJhY2sgZm9yIHNvbWUgcmVhc29uLCBq dXN0IGNsaWNrICgod2F2ZWxlc3NvbnNjb250aW51ZWR8b24gdGhlc2UgZm91ciB3b3Jkcy4pKS4g WW91IGNhbiBhbHNvIGdvIHRvIHRoZSB0aGlyZCBwYXJ0IGJ5IGNsaWNraW5nICgod2F2ZWxlc3Nv bnNjb250aW51ZWRwMnx0aGlzIGxpbmspKSwgaWYgeW91IGZlZWwgbGlrZSBkb2luZyB0aGF0LgoK CgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29uIHNldmVudGVlbiAoY3V0ZSBhc3NvcnRlZCB3b3Jk cykKCkFuZCB3aXRoIHRoYXQsIHRoaXJkIGNoYXB0ZXIsIHlvdSBrbm93IGEgbG90IGFib3V0IExv amJhbiBzdW10aS4gQWZ0ZXIgc3VjaCBhIGxvbmcgdGltZSBvZiByaWdvcm91cyBzeXN0ZW1hdGlj IGxlYXJuaW5nLCB3aGF0IGNvdWxkIGJlIG1vcmUgZml0dGluZyB0aGF0IHRoaXMgbGVzc29uIHdo ZXJlIEkgc3BlYWsgYWJvdXQgc29tZSB3b3JkcyB3aGljaCBJIGNvdWxkIG5vdCwgb3Igd2FudGVk IG5vdCB0byBmaXQgaW50byBhbnkgb3RoZXIgbGVzc29ucz8gU28gaGVyZSBhcmUgYSBmZXcgc21h bGwgYW5kIHJlYWxseSB1c2VmdWwgd29yZHM6CgoKClRoZSBmb2xsb3dpbmcgY21hdm8gYXJlIGFs bCBlbGxpcHRpY2FsIHdvcmRzLiBZb3Ugc2hvdWxkIGFscmVhZHkgYmUgZmFtaWxpYXIgd2l0aCB0 aGUgZmlyc3QuCgpfXycnem8nZScnX18gLSBlbGxpcHRpY2FsIHN1bXRpCgpfXycnY28nZScnX18g LSBlbGxpcHRpY2FsIHNlbGJyaQoKX18nJ2RvJ2UnJ19fIC0gZWxsaXB0aWNhbCBzdW10Y2l0YQoK X18nJ2p1J2EnJ19fIC0gZWxsaXB0aWNhbCBldmlkZW50aWFsCgpfXycnZG8naScnX18gLSBlbGxp cHRpY2FsIHV0dGVyYW5jZSB2YXJpYWJsZQoKX18nJ2dlJ2UnJ19fIC0gZWxsaXB0aWNhbCBhdHRp dHVkaW5hbAoKCgpBbGwgb2YgdGhlc2UgYWN0IGdyYW1tYXRpY2FsbHkgYXMgYSBjbWF2byBvZiB0 aGUga2luZCB0aGV5IHJlcHJlc2VudCwgYnV0IHRoZXkgY29udGFpbiBubyBpbmZvcm1hdGlvbiwg YW5kIGNhbiBiZSBxdWl0ZSBoYW5keSB3aGVuIHlvdSdyZSBsYXp5IGFuZCBkb24ndCBuZWVkIHRv IGJlIHNwZWNpZmljIGFueXdheS4gVGhlcmUgYXJlLCBob3dldmVyLCBhIGZldyB0aGluZ3Mgd2hp Y2ggbmVlZCB0byBiZSBjbGVhcmVkIHVwOgoKCgogICAgJyd6bydlJycgaGF2ZSB0byByZWZlciB0 byBzb21ldGhpbmcgd2hpY2ggaXMgY2xhaW1lZCB0byBoYXZlIGEgdmFsdWUuIOKAnHplcm8gY2Fy c+KAnSBvciDigJxub3RoaW5n4oCdLCBmb3IgaW5zdGFuY2UsIGhhcyBubyB2YWx1ZSwgYW5kIHRo ZXJlZm9yZSBjYW5ub3QgYmUgcmVmZXJyZWQgdG8gYnkgJyd6bydlJycuIFRoaXMgaXMgYmVjYXVz ZSwgaWYgaXQgY291bGQgbWVhbiDigJxub3RoaW5n4oCdIGJ5ICcnem8nZScnLCB0aGVuIGFueSBz ZWxicmkgY291bGQgYmUgaWRlbnRpY2FsIHRvIGl0cyBuZWdhdGlvbiwgaWYgb25lIG9mIHRoZSBl bGlkZWQgc3VtdGkgd2VyZSBmaWxsZWQgd2l0aCBhICcnem8nZScnIHdpdGggbm8gdmFsdWUuCgog ICAgJydnZSdlJycgZG9lcyBub3QgbWVhbiB0aGF0IHlvdSBmZWVsIG5vIGVtb3Rpb24sIGp1c3Qg dGhhdCB5b3UgZmVlbCBub3RoaW5nIHNwZWNpYWwgb3Igd29ydGggdG8gbWVudGlvbiBhdCB0aGUg bW9tZW50LiBJdCdzIHNpbWlsYXIgdG8g4oCcSSdtIGZpbmUu4oCdLiAnJ2dlJ2UgcGVpJycgYXNr IGFib3V0IGFuIGVsbGlwdGljYWwgZW1vdGlvbiBhbmQgaXMgYSBnb29kIHRyYW5zbGF0aW9uIGZv cjog4oCcSG93IGFyZSB5b3UgZmVlbGluZz/igJ0uCgogICAgJydjbydlJycgaXMgaGFuZHkgd2hl biBuZWVkaW5nIGEgc2VsYnJpIGluIGEgY29uc3RydWN0IGZvciBncmFtbWF0aWNhbCByZWFzb25z LCBsaWtlIGluIHRoZSBkZWZpbml0aW9uIG9mICcndHUnYScnIGluIHRoZSBwcmV2aW91cyBsZXNz b24uCgogICAgJydqdSdhJycgZG9lcyBub3QgY2hhbmdlIHRoZSB0cnV0aCB2YWx1ZSBvciBzdWJq ZWN0aXZlIHVuZGVyc3RhbmRpbmcgb2YgdGhlIGJyaWRpIG9yIGFueXRoaW5nIGxpa2UgdGhhdC4g SW4gZmFjdCwgaXQncyBtb3N0bHkgZG9lcyBub3RoaW5nLiBIb3dldmVyLCAnJ2p1J2EgcGVpJycs IOKAnFdoYXQgaXMgeW91ciBiYXNpcyBmb3Igc2F5aW5nIHRoYXQ/4oCdIGlzIGhhbmR5LgoKICAg ICcnZG8naScnIGlzIHJlYWxseSB1c2VmdWwuIEEgbG90IG9mIHRpbWVzIHdoZW4geW91IHJlZmVy IHRvIHV0dGVyYW5jZXMgb3IgY29udmVyc2F0aW9ucyBieSB3b3JkcyBsaWtlIOKAnHRoaXPigJ0g b3Ig4oCcdGhhdOKAnSwgeW91IHdhbnQgJydkbydpJycuCgogICAgSWYgeW91IGZpbGwgaW4gbW9y ZSBzdW10aSB0aGFuIGEgc2VsYnJpIGhhcyBwbGFjZXMgZm9yLCB0aGUgbGFzdCBzdW10aSBoYXZl IGltcGxpZWQgJydkbydlJycgc3VtdGNpdGEgaW4gZnJvbnQgb2YgdGhlbS4KCgoKRnVydGhlcm1v cmUsIHRoZXJlIGlzIGEgd29yZCwgJyd6aSdvJycsIHRoYXQgeW91IGNhbiBmaWxsIGEgc3VtdGkg cGxhY2Ugd2l0aCB0byBkZWxldGUgaXQgZnJvbSBhbnkgc2VsYnJpLiAnJ2xvIG1lbGJpIGJlIHpp J28nJywgZm9yIGluc3RhbmNlLCBpcyBqdXN0IOKAnFNvbWV0aGluZyBiZWF1dGlmdWzigJ0sIGFu ZCBkb2VzIG5vdCBpbmNsdWRlIHRoZSB1c3VhbCB4MiBvZiAnJ21lbGJpJycsIHdoaWNoIGlzIHRo ZSBvYnNlcnZlciB3aG8ganVkZ2VzIHNvbWV0aGluZyB0byBiZSBiZWF1dGlmdWwuIFRodXMsIGl0 IGNhbiBtZWFuIHNvbWV0aGluZyBsaWtlIOKAnE9iamVjdGl2ZWx5IGJlYXV0aWZ1bC7igJ0gSXQg ZG9lcyBub3Qgc3RhdGUgdGhhdCBub3RoaW5nIGZpbGxzIHRoZSBzdW10aSBwbGFjZSB3aGljaCBp cyBiZWluZyBkZWxldGVkLCBqdXN0IHRoYXQgdGhlIHN1bXRpIHBsYWNlIGlzIG5vdCBiZWluZyBj b25zaWRlcmVkIGluIHRoZSBzZWxicmkuIFVzaW5nICcnemknbycnIHdpdGggYSBzdW10Y2l0YSBn aXZlcyB3ZWlyZCByZXN1bHRzLiBGb3JtYWxseSwgdGhleSBzaG91bGQgY2FuY2VsIGVhY2ggb3Ro ZXIgb3V0LiBQcmFjdGljYWxseSwgaXQgd291bGQgcHJvYmFibHkgYmUgdW5kZXJzdG9vZCBhcyBh biBleHBsaWNpdCB3YXkgb2Ygc2F5aW5nIHRoYXQgdGhlIHN1bXRjaXRhIGRvZXMgbm90IGFwcGx5 LCBhcyBpbjogJydtaSBkYXJ4aSBkbyBtdSdpIHppJ28nJyAtIOKAnEkgaGl0IHlvdSwgd2l0aCBv ciB3aXRob3V0IG1vdGl2YXRpb24u4oCdCgoKClRoZW4gdGhlcmUgaXMgdGhlIHdvcmQgJydqYWkn Jy4gSXQncyBvbmUgb2YgdGhvc2UgY29vbCwgc21hbGwgd29yZHMgd2hpY2ggYXJlIGhhcmQgdG8g Z3Jhc3AsIGJ1dCBlYXN5IHRvIHdvcmsgd2l0aCBvbmNlIHlvdSBrbm93IGl0LiBJdCBoYXMgdHdv IGRpc3RpbmN0LCBidXQgc2ltaWxhciBmdW5jdGlvbnMuIEJvdGggaGF2ZSBzb21ldGhpbmcgdG8g ZG8gd2l0aCBjb252ZXJ0aW5nIHRoZSBzZWxicmksIGxpa2UgJydzZScnIGRvZXMuCgpfXycnamFp JydfXyBTZWxicmkgY29udmVyc2lvbjogQ29udmVydHMgc3VtdGNpdGEgb3IgdW5zcGVjaWZpZWQg YWJzdHJhY3Rpb24gdG8geDEuIFVzZSB3aXRoICcnZmFpJycKCl9fJydmYWknJ19fIE1hcmtzIHN1 bXRpIHBsYWNlLiBXb3JrcyBsaWtlICcnZmEnJy4gVG8gYmUgdXNlZCB3aXRoICcnamFpJycuCgpU aGUgZmlyc3QgZ3JhbW1hdGljYWwgY29uc3RydWN0aW9uIGl0IGNhbiBtYWtlIGlzICInJ2phaScn IHtzdW10Y2l0YX0ge3NlbGJyaX0iLiBJdCBjaGFuZ2VzIHRoZSBzdW10aSBwbGFjZXMgc3VjaCB0 aGF0IHRoZSBzdW10aSBwbGFjZSBvZiB0aGUgc3VtdGNpdGEgYmVjb21lcyB0aGUgc2VsYnJpJ3Mg eDEsIGFuZCB0aGUgc2VsYnJpJ3Mgb2xkIHgxIGlzIHJlbW92ZWQsIGFuZCBvbmx5IGFjY2Vzc2li bGUgYnkgdXNpbmcgJydmYWknJywgd2hpY2ggd29ya3MgbGlrZSAnJ2ZhJycuIFlvdSBjYW4gc2Vl IGl0IHdpdGggdGhpcyBleGFtcGxlOgoKX18nJ2dhdScnX18gLSBzdW10Y2l0YSAoZnJvbSAnJ2dh c251JycpIOKAnGJyaWRpIGhhcyBiZWVuIGJyb3VnaHQgYWJvdXQgYnkvd2l0aCBhY3RpdmUgYWdl bnQge3N1bXRpfeKAnQoKJydkbyBqYWkgZ2F1IGp1bmRpIHRpIGZhaSBtaScnLiAtIOKAnFlvdSBi cmluZyBhYm91dCBhdHRlbnRpb24gdG8gdGhpcyBieSBtZeKAnS4gVGhlIG5ldyBzZWxicmksICcn amFpIGdhdSBqdW5kaScnLCBoYXMgdGhlIHBsYWNlIHN0cnVjdHVyZSBvZiDigJx4MSBicmluZ3Mg YWJvdXQgYXR0ZW50aW9uIHBhaWQgdG8geDLigJ0uIFRoZXNlIGFyZSB0aGVuIGZpbGxlZCBieSAn J2RvJycgYW5kICcndGknJy4gVGhlICcnZmFpJycgdGhlbiBtYXJrcyB0aGUgcGxhY2UgZm9yIHRo ZSBvbGQgeDEsIHRoZSBvbmUgd2hvIHdhcyBwYXlpbmcgYXR0ZW50aW9uLCBhbmQgaXQgaXMgZmls bGVkIHdpdGggJydtaScnLiBUaGlzIHdvcmQgY2FuIGJlIHZlcnkgY29udmVuaWVudCBhbmQgaGFz IHRvbnMgb2YgdXNlcy4gQSBnb29kIGV4YW1wbGUgaXMgZGVzY3JpcHRpdmUtbGlrZSBzdW10aS4g T25lIGNhbiwgZm9yIGluc3RhbmNlLCByZWZlciB0byDigJx0aGUgbWV0aG9kIG9mIHZvbGl0aW9u YWwgYWN0aW9u4oCdIGJ5ICcnbG8gamFpIHRhJ2kgenVrdGUnJy4KCl9fJyd0YSdpJydfXzogc3Vt dGNpdGEgKGZyb20gJyd0YWRqaScnKSDigJxCcmlkaSBpcyBkb25lIHdpdGggdGhlIG1ldGhvZCBv ZiB7c3VtdGl94oCdCgpDYW4geW91IGRlZHVjZSB3aGF0IHRoZSBvcmRpbmFyeSBMb2piYW4gcGhy YXNlICcnZG8gamFpIGdhdSBtbycnIG1lYW5zPwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnFdo YXQgYXJlIHlvdSBkb2luZz/igJ1+fgoKCgpUaGUgb3RoZXIgZnVuY3Rpb24gb2YgJydqYWknJyBp cyBlYXNpZXIgdG8gZXhwbGFpbi4gSXQgc2ltcGx5IGNvbnZlcnRzIHRoZSBzZWxicmkgc3VjaCB0 aGF0IHRoZSBzdW10aSBpbiB0aGUgeDEgZ2V0cyBhICcndHUnYScnIGluIGZyb250IG9mIGl0ICgn J2tvJ2EgamFpIGJyb2RhJycgX189X18gJyd0dSdhIGtvJ2EgYnJvZGEnJykuIEluIG90aGVyIHdv cmRzLCBpdCBjb252ZXJ0cyB0aGUgc2VsYnJpIGluIGEgd2F5IHN1Y2ggdGhhdCBpdCBidWlsZHMg YW4gZWxsaXB0aWNhbCBhYnN0cmFjdGlvbiBmcm9tIHRoZSBzdW10aSBpbiB0aGUgeDEsIGFuZCB0 aGVuIGZpbGxzIHgxIHdpdGggdGhlIGFic3RyYWN0aW9uIGluc3RlYWQgb2YgdGhlIGFjdHVhbCBz dW10aS4gQWdhaW4sIHRoZSBvcmlnaW5hbCBzdW10aSBwbGFjZSBpcyBhY2Nlc3NpYmxlIGJ5ICcn ZmFpJycuCgpBIHZlcnkgYWN0aXZlIExvamJhbiBJUkMtdXNlciBvZnRlbiBzYXlzICcnbGUgZ2Vy a3UgcGUgZG8gamFpIHNlIHN0aWRpIG1pJycsIHRvIHVzZSBhIHJhbmRvbSBleGFtcGxlIG9mIGEg c3VtdGkgaW4geDEuIFdoYXQncyBoZSBzYXk/CgpfXycnc3RpZGknJ19fIHgxIGluc3BpcmVzL3N1 Z2dlc3RzIHgyIGluL3RvIHgz4oCdCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcSSBzdWdnZXN0 IChzb21ldGhpbmcgYWJvdXQpIHlvdXIgZG9nLuKAnX5+CgoKClNvIGZhciB5b3UndmUgbGVhcm5l ZCBob3cgdG8gY29udmVydCBicmlkaSB0byBzZWxicmksIHNlbGJyaSB0byBzdW10aSwgYW5kIHNl bGJyaSBpbnRvIGJyaWRpLCBzaW5jZSBhbGwgc2VsYnJpIGJ5IHRoZW1zZWx2ZXMgYXJlIGFsc28g YnJpZGkuIFlvdSBvbmx5IG5lZWQgb25lIGxhc3QgZnVuY3Rpb246IGNvbnZlcnQgc3VtdGkgdG8g c2VsYnJpLiBUaGlzIGlzIGRvbmUgd2l0aCB0aGUgd29yZCAnJ21lJycuIEl0IGFjY2VwdHMgYSBz dW10aSBhbmQgY29udmVydHMgaXQgaW50byBhIHNlbGJyaS4KCl9fJydtZScnX186IEdlbmVyaWMg Y29udmVydCBzdW10aSB0byBzZWxicmkuIHgxIGlzL2FyZSBhbW9uZyB0aGUgcmVmZXJlbnRzIG9m IFNVTVRJCgoKCldoZW4gc2NyZXdpbmcgYSBzZW50ZW5jZSB1cCwga25vd2luZyBob3cgdG8gY29y cmVjdCB5b3Vyc2VsZiBpcyBhIGdvb2QgaWRlYS4gVGhlcmUgYXJlIHRocmVlIHdvcmRzIGluIExv amJhbiB3aGljaCB5b3UgY2FuIHVzZSB0byBkZWxldGUgeW91ciBwcmV2aW91cyB3b3JkKHMpCgpf Xycnc2knJ19fIC0gZGVsZXRpb246IERlbGV0ZXMgbGFzdCB3b3JkIG9ubHkuCgpfXycnc2EnJ19f IC0gZGVsZXRpb246IERlbGV0ZXMgYmFjayB1bnRpbCBuZXh0IGNtYXZvIHNwb2tlbi4KCl9fJydz dScnX18gLSBkZWxldGlvbjogRGVsZXRlcyBlbnRpcmUgZGlzY291cnNlLgoKVGhlIGZ1bmN0aW9u IG9mIHRoZXNlIHdvcmRzIGFyZSBvYnZpb3VzOiBUaGV5IGRlbGV0ZSB3b3JkcyBhcyBpZiB0aGV5 IGhhdmUgbmV2ZXIgYmVlbiBzcG9rZW4uIFRoZXkgZG8gbm90IHdvcmsgaW5zaWRlIGNlcnRhaW4g cXVvdGVzIChhbGwgcXVvdGVzIGV4Y2VwdCAnJ2x1Li5saSd1JycpLCB0aG91Z2gsIGFzIHRoYXQg d291bGQgbGVhdmUgaXQgaW1wb3NzaWJsZSB0byBxdW90ZSB0aGVzZSB3b3Jkcy4gU2V2ZXJhbCAn J3NpJycgaW4gYSByb3cgZGVsZXRlcyBzZXZlcmFsIHdvcmRzLgoKCgoKCiEhTG9qYmFuIExlc3Nv bnMgLSBMZXNzb24gZWlnaHRlZW4gKHF1b3RlcykKCk9uZSBvZiB0aGUga2V5IGRlc2lnbiBmZWF0 dXJlcyBvZiBMb2piYW4gaXMgdGhhdCBpdCdzIHN1cHBvc2VkIHRvIGJlIGF1ZGlvLXZpc3VhbCBp c29tb3JwaGljLCBtZWFuaW5nIHRoYXQgZXZlcnl0aGluZyBleHByZXNzZWQgaW4gdGV4dCBzaG91 bGQgYWxzbyBiZSBleHByZXNzZWQgaW4gc3BlZWNoIGFuZCB2aWNlIHZlcnNhLiBUaGVyZWZvcmUs IHRoZXJlIGNhbm5vdCBiZSBhbnkgcHVuY3R1YXRpb24gd2hpY2ggaXMgbm90IHByb25vdW5jZWQu IFRoaXMgbWVhbnMgdGhhdCBMb2piYW4gaGFzIGEgd2lkZSByYW5nZSBvZiB3b3JkcyB0byBxdW90 ZSBvdGhlciB3b3Jkcy4gQWxsIExvamJhbiBxdW90ZXMgdGFrZSBzb21lIGlucHV0IG9mIHRleHQg YW5kIGNvbnZlcnRzIGl0IHRvIGEgc3VtdGkuIExldCdzIGJlZ2luIHdpdGggdGhlIG1vc3Qgc2lt cGxlOgoKCgpfXycnbHUnJ19fIFF1b3RlIHdvcmQ6IEJlZ2luIHF1b3RlIG9mIGdyYW1tYXRpY2Fs IExvamJhbiBjb250ZW50CgpfXycnbGkndScnX18gUXVvdGUgd29yZDogRW5kIHF1b3RlIG9mIGdy YW1tYXRpY2FsIExvamJhbiBjb250ZW50CgoKClRoZSB0ZXh0IGluc2lkZSB0aGlzIGNvbnN0cnVj dCBtdXN0IGJ5IGl0c2VsZiBiZSBncmFtbWF0aWNhbC4gSXQgY2FuIHF1b3RlIGFsbCBMb2piYW4g d29yZHMgd2l0aCBzb21lIGZldyBleGNlcHRpb25zLCBtb3N0IG5vdGFibHksIG9idmlvdXNseSwg JydsaSd1JycuCgoKClRyeSB0byB0cmFuc2xhdGUgdGhlIGZvbGxvd2luZyBzZW50ZW5jZS4gVGFr ZSB5b3VyIHRpbWUuCgonJ21pIHN0aWRpIGxvIGRyYXRhIGJlIHR1J2EgbHUga28gamFpIGdhdSBt byBsaSd1JycKCl9fJydkcmF0YScnX18geDEgaXMgZGlmZmVyZW50IGZyb20geDIgYnkgc3RhbmRh cmQKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxJIHN1Z2dlc3Qgc29tZXRoaW5nIGRpZmZlcmVu dCB0aGFuIHNvbWV0aGluZyBhYm91dCDigJxrbyBqYWkgZ2F1IG1v4oCdLuKAnX5+CgoKClRoZXNl IHF1b3RlIHdvcmRzIGNhbm5vdCBxdW90ZSB1bmdyYW1tYXRpY2FsIHRleHQuIFRoaXMgaXMgc29t ZXRpbWVzIHVzZWZ1bCwgd2hlbiB5b3Ugd2FudCB0byBvbmx5IHBpY2sgb3V0IHBhcnQgb2YgYSBz ZW50ZW5jZSwgYXMgaW46IOKAnCBpcyDigJxnaSdl4oCdIGEgTG9qYmFuIHN1bXRjaXRhP+KAnQoK CgpGb3IgdGhpcywgeW91IG5lZWQgdGhlc2UgdHdvIGNtYXZvCgpfXycnbG8ndScnX18gUXVvdGUg d29yZDogQmVnaW4gcXVvdGUgb2YgdW5ncmFtbWF0aWNhbCBidXQgTG9qYmFuIGNvbnRlbnQKCl9f JydsZSd1JydfXyBRdW90ZSB3b3JkOiBFbmQgcXVvdGUgb2YgdW5ncmFtbWF0aWNhbCBidXQgTG9q YmFuIGNvbnRlbnQKCgoKVGhlIHRleHQgaW5zaWRlIG11c3QgYmUgTG9qYmFuIHdvcmRzLCBidXQg bmVlZCBub3QgYmUgZ3JhbW1hdGljYWwuIFRyeSB0byB0cmFuc2xhdGUgdGhlIGFib3ZlIGV4YW1w bGUgKHRoZSBvbmUgd2l0aCAnJ2dpJ2UnJykgaW50byBMb2piYW4KCgoKQW5zd2VyOiB+fmdyZXks Z3JleTonJ3h1IGxvJ3UgZ2knZSBsZSd1IGxvamJvIHN1bXRjaXRhJyd+fgoKCgpUaGlzIHF1b3Rl IGNhbiBiZSB1c2VkIHRvIHF1b3RlIGFsbCBMb2piYW4gd29yZHMgZXhjZXB0ICcnbGUndScnLiBI b3dldmVyLCB0aGlzIGlzIG5vdCBlbm91Z2guIElmIHdlIHdhbnQgdG8gdHJhbnNsYXRlIOKAnGlz IOKAnWRvIG1v4oCdIGEgY29ycmVjdCB0cmFuc2xhdGlvbiBvZiDigJxXaGF0J3MgdXA/4oCd4oCd LCB3ZSBtaWdodCBiZSBzbGlnaHRseSB3cm9uZyBhYm91dCB3aGF0IHdlIGhlcmUgc3RhdGUsIHNp bmNlICcnZG8gbW8nJyBhbHNvIGNhbiBtZWFuIOKAnFdoYXQgYXJlIHlvdT/igJ0sIGJ1dCBsZXQn cyByb2xsIHdpdGggaXQgZm9yIGEgc2Vjb25kLiBXaGF0IHdlIG5lZWQgaGVyZSBpcyB0aGUgd29y ZCAnJ3pvaScnLgoKCgonJ3pvaScnIE5leHQgY21hdm8gaXMgYmVnaW4gYWxsLXB1cnBvc2UgcXVv dGUgYW5kIGNsb3NlIGFsbC1wdXJwb3NlIHF1b3RlLgoKCgpXaGVuIHVzaW5nICcnem9pJycsIHlv dSBwaWNrIGFueSBtb3JwaG9sb2dpY2FsbHkgY29ycmVjdCBsb2piYW4gd29yZCBhdCB3aWxsIChj YWxsZWQgdGhlIGRlbGltaXRlciksIHdoaWNoIHRoZW4gb3BlbnMgYSBxdW90ZS4gVG8gY2xvc2Ug aXQsIHVzZSB0aGF0IHdvcmQgYWdhaW4uIFRoaXMgd2F5LCB5b3UgY2FuIHF1b3RlIGFueXRoaW5n IGV4Y2VwdCB0aGUgZGVsaW1pdGVyLCB3aGljaCBzaG91bGRuJ3QgYmUgYSBwcm9ibGVtIGJlY2F1 c2UgeW91IGNhbiBwaWNrIGl0IHlvdXJzZWxmLiBVc3VhbGx5LCB0aGUgd29yZCBwaWNrZWQgaXMg ZWl0aGVyICcnem9pJycgaXRzZWxmLCBvciBhIGxldHRlciB3aGljaCBzdGFuZHMgZm9yIHRoZSBs YW5ndWFnZSB3aGljaCB0aGUgcXVvdGUgaXMgd3JpdHRlbiBpbi4gRXhhbXBsZTog4oCcSSBsaWtl ZCBUaGUgUGhhbnRvbSBvZiB0aGUgT3BlcmHigJ0gaXMgJydtaSBwdSBuZWxjaSBsYSdlIHpvaSB6 b2kuIFRoZSBQaGFudG9tIG9mIHRoZSBPcGVyYSAuem9pJycgTm90aWNlIHR3byB0aGluZ3M6IEZp cnN0bHksIEkgbmVlZCBhICcnbGEnZScnLCBzaW5jZSBJIGRpZG4ndCBsaWtlIHRoZSBxdW90ZSwg YnV0IHJhdGhlciB3aGF0IGl0IHJlZmVycmVkIHRvLiBTZWNvbmRseSwgYmV0d2VlbiB0aGUgY2hv c2VuIGRlbGltaXRlciBhbmQgdGhlIHF1b3RlLCB0aGVyZSBhcmUgcGF1c2VzLCBvcHRpb25hbGx5 IHJlcHJlc2VudGVkIGJ5IGEgZnVsbCBzdG9wIGluIHdyaXRpbmcuIFRoaXMgcGF1c2UgaXMgbmVj ZXNzYXJ5IHRvIGNvcnJlY3RseSBpZGVudGlmeSB0aGUgZGVsaW1pdGVyLgoKCgpUcnkgdG8gdHJh bnNsYXRlIHRoZSBhYm92ZSBzZW50ZW5jZSBjb25jZXJuaW5nIOKAnFdoYXQncyB1cD/igJ0KCgoK X18nJ2RyYW5pJydfXyB4MSBpcyBjb3JyZWN0L3Byb3BlciBpbiBhc3BlY3QgeDIgaW4gc2l0dWF0 aW9uIHgzIGJ5IHN0YW5kYXJkIHg0CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6Jyd4dSBsdSBkbyBt byBsaSd1IGRyYW5pIHhlIGZhbnZhIHpvaSBneS4gV2hhdCdzIHVwPyAuZ3knJy4gSGVyZSB0aGUg ZGVsaW1pdGVyICcnZ3knJyBpcyBjaG9zZW4gYmVjYXVzZSBpdCdzIHNob3J0IGZvciAnJ2dsaWNv JycsIG1lYW5pbmcgIkVuZ2xpc2gifn4KCgoKQ2xvc2VseSBhbmFsb2dvdXNseSwgdGhlcmUgaXMg JydsYSdvJycuIEl0IHdvcmtzIGV4YWN0bHkgbGlrZSAnJ3pvaScnLCBidXQgdHVybnMgdGhlIHJl c3VsdGluZyBxdW90ZSBpbnRvIGEgbmFtZS4gSXQgaXMgbmVlZGVkIGJlY2F1c2Ugbm9ybWFsbHks IG9ubHkgc2VsYnJpIGFuZCBjbWV2bGEgY2FuIGJlIG5hbWVzLCBub3QgcXVvdGVzLgoKX18nJ2xh J28nJ19fIE5leHQgY21hdm8gaXMgYmVnaW4gYWxsLXB1cnBvc2UgcXVvdGUgYW5kIGNsb3NlIGFs bC1wdXJwb3NlIHF1b3RlIOKAkyB1c2UgYXMgbmFtZS4KCgoKTGFzdCBvZiB0aGUgb2ZmaWNpYWwg cXVvdGUgd29yZHMsIHRoZXJlIGlzICcnem8nJy4gJyd6bycnIGFsd2F5cyBxdW90ZXMgdGhlIG5l eHQgTG9qYmFuIHdvcmQsIG5vIG1hdHRlciB3aGF0IGl0IGlzLiBJdCdzIHByZXR0eSBoYW5keS4K Cicnem8nJyBRdW90ZSBuZXh0IExvamJhbiB3b3JkLCBubyBtYXR0ZXIgd2hhdC4KCkV4YW1wbGU6 ICcnem8gem8gem8nbyBwbGl4YXUnJyA9IOKAnCDigJx6b+KAnSBpcyB1c2VmdWwsIGhlaGXigJ0K Cl9fJyd6bydvJydfXyBhdHRpdHVkaW5hbDogZGlzY3Vyc2l2ZTogSHVtb3JvdXNseSwg4oCca2lk ZGluZyB5b3XigJ0KCl9fJydwbGl4YXUnJ19fIHgxIGlzIHVzZWZ1bCBmb3IgeDIgdG8gZG8gcHVy cG9zZSB4MwoKCgpMb2piYW4gdXNlcnMgaGF2ZSBmb3VuZCBpdCB1c2VmdWwgdG8gc3VwcGxlbWVu dCB3aXRoIGZvdXIgYWRkaXRpb25hbCBxdW90ZSB3b3Jkcy4gVGhleSBhcmUgYWxsIGV4cGVyaW1l bnRhbCwgYW5kIHRoZSBmb3JtYWwgZ3JhbW1hciBkb2VzIG5vdCBzdXBwb3J0IGl0LiBOb25ldGhl bGVzcywgdGhleSBhcmUgdXNlZCBvZnRlbiwgYW5kIGl0J3MgZ29vZCB0byBiZSBhYmxlIHRvIHJl Y29nbml6ZSB0aGVtLiBUaGUgbW9zdCB1c2VkIGlzOgoKCgpfXycnem8nb2knJ19fIFF1b3RlIG5l eHQgd29yZCBvbmx5LiBOZXh0IHdvcmQgaXMgaWRlbnRpZmllZCBieSBwYXVzZXMgaW4gc3BlZWNo IG9yIHdoaXRlc3BhY2UgaW4gd3JpdGluZzoKCgoKRXhhbXBsZTogJydyaSBwdSBjdXNrdSB6bydv aSBEb2ghIC51J2knJyDigJxIYSBoYSwgaGUgc2FpZCDigJxEb2gh4oCdIOKAnAoKCgpJdCdzIHZl cnkgZWFzeSB0byB1c2UuIEFnYWluLCBub3RlIHRoYXQgYWxsIGdyYW1tYXIgYm90cyB3aWxsIGNv bnNpZGVyIHRoZSBzZW50ZW5jZSBub3QgZ3JhbW1hdGljYWwsIGJlY2F1c2UgdGhlc2Ugd29yZHMg ZG8gbm90IGV4aXN0IGluIHRoZSBmb3JtYWwgZ3JhbW1hci4KCgoKQW5hbG9nb3VzIHRvICcnem8n b2knJyBhbmQgJydsYSdvJycsIHRoZXJlIGlzIGFsc28gdGhlIHdvcmQgJydsYSdvaScnLCB3aGlj aCB3b3JrcyBqdXN0IGxpa2UgJyd6bydvaScnLCBidXQgdHJlYXRzIHRoZSBxdW90ZSBhcyBhIG5h bWU6CgpfXycnbGEnb2knJ19fIFF1b3RlIG5leHQgd29yZCBvbmx5LCB1c2UgYXMgbmFtZS4gTmV4 dCB3b3JkIGlzIGlkZW50aWZpZWQgYnkgcGF1c2VzIGluIHNwZWVjaCBvciB3aGl0ZXNwYWNlIGlu IHdyaXRpbmc6CgoKCkhvdyB3b3VsZCB5b3Ugc2F5OiDigJxNeSBFbmdsaXNoIG5hbWUgaXMg4oCc U2FmaeKAneKAnT8KCl9fJydnbGljbycnX18geDEgaXMgRW5nbGlzaC9wZXJ0YWlucyB0byBFbmds aXNoIGN1bHR1cmUgaW4gYXNwZWN0IHgyCgpfXycnY21lbmUnJ19fIHgxIGlzIHRoZSBuYW1lIG9m IHgyIGFzIHVzZWQgYnkgeDMKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ21pIGdsaWNvIHNlIGNt ZW5lIGxhJ29pIFNhZmknJy4gTm90aWNlIHRoZSBuZWNlc3Nhcnkgc2UuIFdlIGRvbid0IHdoYXQg dG8gc2F5IHRoYXQgd2UncmUgYSBuYW1lIX5+CgoKClRoaXJkbHksICcncmEnb2knJyBxdW90ZXMg dGhlIG5leHQgcmFmc2kuIFNpbmNlIHJhZnNpIGFyZSBub3Qgd29yZHMsIHRoZXkgd291bGQgdXN1 YWxseSBoYXZlIHRvIGJlIHF1b3RlZCBieSAnJ3pvaScnLiBGdXJ0aGVybW9yZSwgc2V2ZXJhbCBy YWZzaSBhcmUgYWxzbyBjbWF2by4gVG8gYXZvaWQgY29uZnVzaW9uIG9mIHdoaWNoIGlzIG1lYW50 LCAnJ3JhJ29pJycgYWx3YXlzIHJlZmVyIHRvIGEgcmFmc2ksIGFuZCBpcyB3cm9uZyBpbiBmcm9u dCBvZiBhbnkgdGV4dCBzdHJpbmcgd2hpY2ggYXJlIG5vdCByYWZzaS4KCgoKV2hhdCBkb2VzICcn cmEnb2kgenUnZSByYWZzaSB6byB6dWt0ZSAuaWt1J2kgem8nb2kgenUnZSBzdW10Y2l0YScnIG1l YW4/CgpfXycna3UnaScnX18gYXR0aXR1ZGluYWw6IGRpc2N1cnNpdmU6IEhvd2V2ZXIgLyB0aG91 Z2ggKGNvbnRyYXN0cyB0byBzb21ldGhpbmcgcHJldmlvdXNseSBzYWlkKQoKX18nJ3JhZnNpJydf XyB4MSBhbiBhZmZpeCBmb3Igd29yZC9jb25jZXB0IHgyIHdpdGggcHJvcGVydGllcy9vZiBmb3Jt IHgzIGluIGxhbmd1YWdlIHg0CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcVGhlIHJhZnNpIOKA nHp1J2XigJ0gaXMgYSByYWZzaSBmb3Ig4oCcenVrdGXigJ0uIEJ1dCDigJx6dSdl4oCdIGlzIGEg c3VtdGNpdGHigJ1+fgoKCgpBbmQgZmluYWxseSB0aGUgdXNlZnVsIHdvcmQgJydtYSdvaScnLiAn J21hJ29pJycgcXVvdGVzIGFueSBjbWF2bywgYnV0IHRyZWF0cyB0aGUgcXVvdGUgYXMgYSBuYW1l IGZvciB0aGUgd29yZCBjbGFzcyAoc2VsbWEnbykgdG8gd2hpY2ggdGhhdCB3b3JkIGJlbG9uZ3Mu IFNvLCBmb3IgaW5zdGFuY2UsIGJhJ28gYmVsb25ncyB0byB0aGUgd29yZGNsYXNzIGNhbGxlZCBa QWhPLCBzbyAnJ21hJ29pIGJhJ28nJyBpcyB1bm9mZmljaWFsIExvamJhbiBmb3Ig4oCcWmFoT+KA nQoKCgpUcnkgaXQgb3V0LiBTYXkgdGhhdCAnJ3B1JycgYW5kICcnYmEnJyBhcmUgaW4gdGhlIHNh bWUgc2VsbWEnbyEKCl9fJydjbWF2bycnX18geDEgaXMgYSBncmFtbWF0aWNhbCB3b3JkIG9mIGNs YXNzIHgyIGluIGxhbmd1YWdlIHgzCgoKCihPbmUgcG9zc2libGUpIEFuc3dlcjogIH5+Z3JleSxn cmV5Oicnem8gcHUgY21hdm8gbWEnb2kgYmEnJ35+CgoKCgoKISFMb2piYW4gTGVzc29ucyAtIExl c3NvbiBuaW5ldGVlbiAobnVtYmVycykKCldoZW4gbGVhcm5pbmcgYSBsYW5ndWFnZSwgb25lIG9m IHRoZSB0aGluZ3Mgd2hpY2ggYXJlIHVzdWFsbHkgdGF1Z2h0IHZlcnkgZWFybHkgb24gaXMgaG93 IHRvIGNvdW50LiBUaGlzIHJlYWxseSBtYWtlcyBsaXR0bGUgc2Vuc2UsIGJlY2F1c2UgaXQncyBu b3QgbmVjZXNzYXJ5IHRvIGtub3cgbnVtYmVycyBpZiB5b3UgZG9uJ3Qga25vdyBob3cgdG8gc3Bl YWsgYWJvdXQgdGhvc2UgdGhpbmdzIHRvIHdoaWNoIHRoZXkgYXBwbHkuIFRoaXMgaXMgcGFydGx5 IHRoZSByZWFzb24gd2h5IEkgaGF2ZSBsZWZ0IGl0IGZvciBsZXNzb24gbnVtYmVyIG5pbmV0ZWVu LiBUaGUgb3RoZXIgcmVhc29uIGlzIHRoYXQgd2hpbGUgdGhlIG51bWJlcnMgdGhlbXNlbHZlcyBh cmUgZWFzeSB0byBsZWFybiwgaG93IHRoZXkgYXBwbHkgdG8gc3VtdGkgY2FuIGdldCB2ZXJ5IGNv bmZ1c2luZyBpbmRlZWQuIFRoYXQsIGhvd2V2ZXIsIHdlIHdpbGwgc2F2ZSBmb3IgYSBsYXRlciBs ZXNzb24uCgpCZWZvcmUgbGVhcm5pbmcgdGhlIHdvcmRzIHRoZW1zZWx2ZXMsIHlvdSBzaG91bGQg a25vdyB0aGF0IG51bWJlcnMgZG8gbm90IGhhdmUgYW55IGludGVybmFsIGdyYW1tYXIuIFRoaXMg bWVhbnMgdGhhdCBhbnkgcm93IG9mIG51bWJlciB3b3JkcyAoaGVuY2Vmb3J0aCByZWZlcnJlZCB0 byBhcyBhICJudW1iZXIgc3RyaW5nIikgYXJlIHRyZWF0ZWQgaWRlbnRpY2FsbHkgdG8gYW55IG90 aGVyIG51bWJlciBzdHJpbmcgdG8gdGhlIExvamJhbiBncmFtbWFyLCBldmVuIGlmIHRoZSBzdHJp bmcgbWFrZXMgbm8gc2Vuc2UuIFRoZXJlZm9yZSwgb25lIGNhbiBuZXZlciBhbnN3ZXIgdW5hbWJp Z3VvdXNseSB3aGV0aGVyIGEgbnVtYmVyIGNvbnN0cnVjdCBtYWtlcyBzZW5zZSBvciBub3QuIFRo ZXJlIGFyZSwgaG93ZXZlciwgaW50ZW5kZWQgd2F5cyBvZiB1c2luZyB0aGUgbnVtYmVyIHdvcmRz LCBhbmQgY29uZnVzaW9uIHdpbGwgcHJvYmFibHkgcmVzdWx0IGlmIHlvdSBkZXZpYXRlIGZyb20g dGhlIHN0YW5kYXJkLgoKTGVhcm5pbmcgYWxsIHRoZSBudW1iZXIgd29yZHMgb2YgTG9qYmFuIGFy ZSB3YXkgYmV5b25kIHRoZSBzY29wZSBvZiB0aGlzIGxlc3Nvbiwgc28geW91IHdpbGwgb25seSBi ZSBpbnRyb2R1Y2VkIHRvIHdoYXQgaXMgbm9ybWFsbHkgdXNlZCBpbiB0ZXh0LiBUaGUgd2lkZSBy YW5nZSBvZiBMb2piYW4gbWF0aGVtYXRpY2FsIGNtYXZvIGFyZSBjYWxsZWQgJydtZWtzbycnIChM b2piYW4gZm9yICJtYXRoZW1hdGljYWwgZXhwcmVzc2lvbiIpLCBhbmQgaXMgd2lkZWx5IGRpc3Jl Z2FyZGVkIGJlY2F1c2Ugb2YgaXRzIGNvbXBsZXhpdHkgYW5kIHF1ZXN0aW9uYWJsZSBhZHZhbnRh Z2Ugb3ZlciBzby1jYWxsZWQgYnJpZGkgbWF0aC4KCkxldCdzIGJlZ2luIHdpdGggdGhlIG9yZGlu YXJ5IExvamJhbiBudW1iZXJzLCBmcm9tIHplcm8gdG8gbmluZToKCnx8emVyb3xvbmV8dHdvfHRo cmVlfGZvdXJ8Zml2ZXxzaXh8c2V2ZW58ZWlnaHR8bmluZQoKbm98cGF8cmV8Y2l8dm98bXV8eGF8 emV8Yml8c298fAoKTm90aWNlIGhvdyB0aGUgdm93ZWxzIGFyZSBhbHRlcm5hdGluZyAod2l0aCB0 aGUgZXhjZXB0aW9uIG9mICcnbm8nJyksIGFuZCBob3cgbm8gY29uc29uYW50IGlzIHVzZWQgZm9y IHR3byBkaWdpdHMuCgpJbiBvcmRlciB0byBleHByZXNzIG51bWJlcnMgaGlnaGVyIHRoYW4gbmlu ZSwgdGhlIG51bWJlcnMgYXJlIGp1c3Qgc3RydW5nIHRvZ2V0aGVyOgoKJyd2byBtdSBjaScnIOKA kyBmb3VyIGh1bmRyZWQgYW5kIGZpZnR5IHRocmVlICg0NTMpCgonJ3BhIG5vIG5vIG5vIG5vJycg dGVuIHRob3VzYW5kICgxMCAwMDApCgpUaGVyZSBpcyBhbHNvIGEg4oCccXVlc3Rpb24tZGlnaXTi gJ0sIHdoaWNoIGlzIHVzZWQgbGlrZSBvdGhlciBmaWxsLWluLXRoZS1ibGFuayBxdWVzdGlvbiB3 b3Jkcy4gSXQncyAnJ3hvJycuIFRoZSBhbnN3ZXIgdG8gc3VjaCBhIHF1ZXN0aW9uIG1heSBiZSBq dXN0IHRoZSByZWxldmFudCBkaWdpdChzKSBieSBpdHNlbGYsIG9yIHRoZXkgY2FuIGJlIG51bWVy aWNhbCBjb25zdHJ1Y3RzLCBhcyBzaG93biBsYXRlci4KCicnY2kgeG8geG8geG8nJyDigJMgIlRo cmVlIHRob3VzYW5kIGFuZCBob3cgbWFueT8iICgzPz8/KQoKX18nJ3hvJydfXyBxdWVzdGlvbiBk aWdpdCDigJMgdXNlIGxpa2UgYW55IG90aGVyIGRpZ2l0IHRvIGFzayBmb3IgdGhlIGNvcnJlY3Qg ZGlnaXQuCgpUaGUgZXhwZXJpbWVudGFsIHdvcmQgJyd4bydlJycgaXMgc29tZXRpbWVzIHVzZWQg dG8gbWVhbiBhbiB1bnNwZWNpZmllZCwgZWxsaXB0aWNhbCBkaWdpdC4gSXRzIGRlZmluaXRpb24g aXMgbm90IG9mZmljaWFsLCB0aG91Z2guCgonJ2NpIHhvJ2UgeG8nZSB4bydlJycg4oCTIFRocmVl IHRob3VzYW5kIGFuZCBzb21ldGhpbmcKCl9fJyd4bydlJydfXyBlbGxpcHRpY2FsIGRpZ2l0LgoK U2luY2UgYWxsIG51bWJlciBzdHJpbmdzIGFyZSB0cmVhdGVkIGdyYW1tYXRpY2FsbHkgdGhlIHNh bWUsIG9uZSBtaWdodCBhbHNvIGFuc3dlciBzZXZlcmFsIGRpZ2l0cyB0byBvbmUgJyd4bydlJycK CgoKRnVydGhlcm1vcmUsIHRoZXJlIGlzIGFsc28gYSBzZXQgb2YgaGV4YWRlY2ltYWwgZGlnaXRz IEEgdGhyb3VnaCBGLiBCeSBkZWZhdWx0LCBMb2piYW4gb3BlcmF0ZXMgaW4gYmFzZSAxMCwgYnV0 IHdoZW4gdXNpbmcgaGV4YWRlY2ltYWwgZGlnaXRzLCBpdCBjYW4gYmUgc2FmZWx5IGFzc3VtZWQg dGhhdCB5b3UgdXNlIGJhc2Ugc2l4dGVlbjoKCnx8ZGF1fGZlaXxnYWl8amF1fHJlaXx4ZWkgfHZh aXwKCjEwKEEpfDExKEIpfDEyKEMpfDEzKEQpfDE0KEUpfDE0KEUpfDE1KEYpfHwKClllcywgSSBr bm93IHRoZXJlIGFyZSB0d28gd29yZHMgZm9yIEUuIFRoZSBvZmZpY2lhbCBvbmUgaXMgJydyZWkn JyAoYWxsIHRocmVlLWxldHRlciBjbWF2byBiZWdpbm5pbmcgd2l0aCB4IGlzIGV4cGVyaW1lbnRh bCkuICcneGVpJycgd2FzIGludmVudGVkIHRvIGF2b2lkIGNvbmZ1c2lvbiB3aXRoICcncmUnJy4K ClRoZSBiYXNlIGNhbiBiZSBleHBsaWNpdGx5IHN0YXRlZCB1c2luZyAnJ2p1J3UnJzogQW55IG51 bWJlciBiZWZvcmUgJydqdSd1JycgdGhlIG51bWJlciBiZWluZyBzcG9rZW4gb2YsIGFueSBudW1i ZXIgYWZ0ZXIgaXMgdGhlIGJhc2Ugb2YgdGhlIG51bWJlcjoKCicnZGF1IHNvIGZlaSBubyBqdSd1 IHBhIHJlJycg4oCTIEE5QjAgaW4gYmFzZSAxMiAobm90aWNlIGhlcmUgdGhhdCBiYXNlIDEyIGlz IGFsd2F5cyBpbiBkZWNpbWFsLiBJdCBpcyBwb3NzaWJsZSB0byBwZXJtYW5lbnRseSBjaGFuZ2Ug dGhlIGJhc2UgeW91IHNwZWFrIGluLCBidXQgc2luY2UgaXQgaGFzIG5ldmVyIGJlZW4gdXNlZCBp biBwcmFjdGljZSwgaXQgaGFzIG5vdCBiZWVuIHN0YW5kYXJkaXplZCBob3cgb25lIHNob3VsZCBk byBpdCkKCkZyYWN0aW9ucyBhcmUgYWxzbyB1c2VmdWwgdG8gbGVhcm4gaG93IHRvIGV4cHJlc3Mu IFRoZXkgYXJlIHVzdWFsbHkgZXhwcmVzc2VkIHZpYSBhIGRlY2ltYWwgcG9pbnQsICcncGknJy4K Cl9fJydwaScnX18gRGVjaW1hbCBwb2ludCAob3IgcG9pbnQgaW4gd2hpY2hldmVyIGJhc2UgeW91 IGFyZSB0YWxraW5nIGluKQoKJydwYSByZSBwaSByZSBtdScnIOKAkyB0d2VsdmUgcG9pbnQgdHdv IGZpdmUgKDEyLjI1KS4gCgpMaWtlIGluIG1hdGhlbWF0aWNzLCB3aGVuIG5vIG51bWJlciBzdHJp bmcgaXMgcGxhY2VkIGJlZm9yZSBvciBhZnRlciAnJ3BpJycsIHplcm8gaXMgYXNzdW1lZC4gCgpS ZWxhdGVkIHRvIHRoaXMsIHRoZSBudW1iZXIgc2VwYXJhdG9yICcncGknZScnIGlzIHVzZWQgdG8g c2VwYXJhdGUgbnVtYmVycywgZWl0aGVyIHRvIHNlcGFyYXRlIGRpZ2l0cyB3aGVuIHNwZWFraW5n IGluIGEgYmFzZSBsYXJnZXIgdGhhbiBzaXh0ZWVuLCBvciB3aGVuIGEgZGVjaW1hbCBwb2ludCBp cyBub3QgYXBwbGljYWJsZSwgZm9yIGluc3RhbmNlLCB3aGVuIHRhbGtpbmcgYWJvdXQgdGltZSBp biBob3VycywgbWludXRlcywgc2Vjb25kczoKCicncGEgc28gcGknZSByZSBtdSBwaSdlIG5vIGp1 J3UgcmUgemUnJyDigJMgTmluZXRlZW4sIHR3ZW50eS1maXZlLCB6ZXJvIGluIGJhc2UgMjcgKEpQ MCBiYXNlIDI3KQoKJydyZSByZSBwaSdlIHZvIGJpJycg4oCTIHR3ZW50eS10d28sIGZvdXJ0eSBl aWdodCAoMjI6NDgpCgoKClRoZXJlIGlzIGFsc28gYSByYW5nZSBvZiBudW1iZXIgd29yZHMgd2hp Y2ggYXJlIG5vdCBtYXRoZW1hdGljYWxseSBleGFjdCBidXQgcmF0aGVyIHN1YmplY3RpdmUgb3Ig cmVsYXRpdmUuIFRoZSBiZWhhdmlvcnMgb2YgdGhlc2Ugd29yZHMgYXJlIGFsbW9zdCBleGFjdGx5 IGxpa2UgdGhlIGJlaGF2aW9yIG9mIGRpZ2l0cywgZXhjZXB0IHRoZXkgY2Fubm90IGJlIGNvbWJp bmVkIHRvIG1ha2UgYmlnZ2VyIG51bWJlcnMgdGhlIHdheSBkaWdpdHMgY2FuOgoKfHwgcm98c28n YXxzbydlfHNvJ2l8c28nb3xzbyd1fAoKYWxsfGFsbW9zdCBhbGx8bW9zdHxtYW55fHNvbWV8ZmV3 fHwKCldoZW4gY29tYmluZWQgd2l0aCBhbnkgb2YgdGhlIGRpZ2l0cywgdGhlc2Ugd29yZHMgYXJl IGFzc3VtZWQgdG8gZ2l2ZSBhIHNlY29uZCB2ZXJkaWN0IGFib3V0IHRoZSBzaXplIG9mIHRoZSBu dW1iZXI6CgonJ211IGJpIHNvJ2kgc2FpJycg4oCTRmlmdHkgZWlnaHQsIHdoaWNoIGlzIHJlYWxs eSBtYW55LgoKVGhleSBzaG91bGQgdGhlcmVmb3JlIG5vdCBiZSBwbGFjZWQgaW4gdGhlIG1pZGRs ZSBvZiBhIG51bWJlciBzdHJpbmcuIFdoZW4gcGxhY2VkIGFmdGVyICcncGknJywgdGhleSBhcmUg YXNzdW1lZCB0byBjb252ZXkgdGhlIHNpemUgb2YgYSBmcmFjdGlvbjoKCicncGkgc28ndScnIOKA kyBhIHNtYWxsIHBhcnQgb2YgaXQKCicncGkgc28nbycnIOKAkyBzb21lIG9mIGl0IAoKJydwaSBz bydpJycg4oCTIGEgbGFyZ2UgcGFydCBvZiBpdCAKCicncGkgc28nZScnIOKAkyBtb3N0IG9mIGl0 CgonJ3BpIHNvJ2EnJyDigJMgYWxtb3N0IGFsbCBvZiBpdAoKCgpUaGVzZSBhcmUgc29tZSBoaWdo dGx5IHN1YmplY3RpdmUgbnVtYmVycyAtIHRoZXkgd29yayBqdXN0IGxpa2UgdGhlIHByZXZpb3Vz IG9uZXMuCgp8fGR1J2V8bW8nYXxyYXUKCnRvbyBtYW55fHRvbyBmZXd8ZW5vdWdofHwKClRoZSBm b2xsb3dpbmcgZml2ZSBhcmUgY29udGV4dC1iYXNlZCBudW1iZXJzIOKAkyB0aGVzZSB3b3JrIGxp a2UgdGhlIHByZXZpb3VzIG9uZXMsIHdpdGggdGhlIGV4Y2VwdGlvbiB0aGF0IHRoZXkgdGFrZSB0 aGUgbmV4dCBudW1iZXIgaW4gb3JkZXIgdG8gYXNzaWduIHRoZW0gbWVhbmluZzoKCnx8ZGEnYXxz dSdlfHN1J298emEndXxtZSdpCgphbGwgZXhjZXB0IG4gfEF0IG1vc3QgbnxBdCBsZWFzdCBufG1v cmUgdGhhbiBufGxlc3MgdGhhbiBufHwKCklmIG5vIG51bWJlciBzdHJpbmcgZm9sbG93IHRoZW0s IOKAnG9uZeKAnSBpcyBhc3N1bWVkLgoKJydzbydpIHBhIHJlIGRhJ2EgbXUnJyDigJMgTWFueSwg d2hpY2ggaXMgdHdlbHZlLCB3aGljaCBpcyBhbGwgYnV0IGZpdmUuCgpUaGUgdHdvIGxhc3QgbnVt YmVyIHdvcmRzIHlvdSBzaG91bGQga25vdyBoYXZlIHNsaWdodGx5IG1vcmUgY29tcGxpY2F0ZWQg Z3JhbW1hcjoKCl9fJydqaSdpJydfXyAtIG51bWJlciByb3VuZGluZyBvciBudW1iZXIgYXBwcm94 aW1hdGlvbgoKV2hlbiAnJ2ppJ2knJyBpcyBwbGFjZWQgYmVmb3JlIGEgbnVtYmVyLCB0aGUgZW50 aXJlIG51bWJlciBpcyBhcHByb3hpbWF0ZWQ6CgonJ2ppJ2kgemUgbm8gemEndSByYXUganUnbycn IOKAkyAiQWJvdXQgc2V2ZW50eSwgd2hpY2ggaXMgbW9yZSB0aGFuIGVub3VnaCwgY2VydGFpbmx5 4oCdCgpQbGFjZWQgaW4gdGhlIG1pZGRsZSBvZiB0aGUgbnVtYmVyLCBvbmx5IHRoZSBmb2xsb3dp bmcgZGlnaXRzIGFyZSBub24tZXhhY3QuIEF0IHRoZSBlbmQgb2YgYSBudW1iZXIsIGl0IHNpZ25p ZmllcyB0aGF0IHRoZSBudW1iZXIgaGFzIGJlZW4gcm91bmRlZCBvZmYuIAoKX18nJ2tpJ28nJ19f IE51bWJlciBjb21tYSAgLSBzZXBhcmF0ZXMgZGlnaXRzIHdpdGhpbiBvbmUgc3RyaW5nOyBUaG91 c2FuZHMuCgpJdCBpcyBub3QgaW5jaWRlbnRpYWwgdGhhdCAnJ2tpJ28nJyBzb3VuZHMgbGlrZSDi gJxraWxv4oCdLiBBdCBpdHMgc2ltcGxlc3QsICcna2knbycnIGlzIHVzZWQgdG8gc2VwYXJhdGUg dGhyZWUgZGlnaXRzIGF0IGEgdGltZSBpbiBsYXJnZSBudW1iZXJzLCBtdWNoIGxpa2UgY29tbWFz IGFyZSB1c2VkIGluIEVuZ2xpc2g6CgonJ3BhIGtpJ28gc28gc28gc28ga2knbyBiaSB4YSB6ZScn IOKAkyAxLDk5OSw4NjcKCklmIGxlc3MgdGhhbiB0aHJlZSBkaWdpdHMgYXJlIHB1dCBiZWZvcmUg YSAnJ2tpJ28nJywgdGhlIGRpZ2l0cyBhcmUgYXNzdW1lZCB0byBiZSB0aGUgbGVhc3Qgc2lnbmlm aWNhbnQgb25lcywgYW5kIHplcm9zIGFyZSBhc3N1bWVkIHRvIGZpbGwgaW4gdGhlIHJlc3Q6Cgon J3ZvIGtpJ28gY2kgYmkga2knbyBwYSBraSdvIGtpJ28nJyDigJMgNCwwMzgsMDAxLDAwMCwwMDAK Cicna2knbycnIGlzIHVzZWQgc2ltaWxhcmx5IGFmdGVyIGEgZGVjaW1hbCBwb2ludC4KCgoKVGhh dCBjb25jbHVkZXMgdGhlIGNvbW1vbiBMb2piYW4gbnVtYmVycyB0aGVtc2VsdmVzLiBIb3cgdGhl eSBhcHBseSB0byBzdW10aSBpcyBhIHNjaWVuY2UgaW4gaXRzZWxmLCBhbmQgd2UgbGVhdmUgdGhh dCBmb3IgbGVzc29uIHR3ZW50eS10d28uIE5vdyB3ZSBmb2N1cyBvbiBob3cgdGhlc2UgbnVtYmVy cyBjYW4gYmUgdXNlZCBpbiBhIGJyaWRpLgoKQSBzdHJpbmcgb2YgbnVtYmVyIHdvcmRzIGJ5IHRo ZW1zZWx2ZXMgYXJlIGdyYW1tYXRpY2FsLCBzaW5jZSB0aGV5IGNhbiBhY3QgYXMgYW4gYW5zd2Vy IHRvIGEgJyd4bycnLXR5cGUgb2YgcXVlc3Rpb24uIEluIHRoaXMgY2FzZSwgaG93ZXZlciwgdGhl eSBjYW5ub3QgYmUgY29uc2lkZXJlZCBwYXJ0IG9mIGFueSBicmlkaS4gSW4gZ2VuZXJhbCwgaWYg bnVtYmVycyBmaWxsIHBhcnQgb2YgYSBicmlkaSwgdGhleSBkbyBzbyBpbiBvbmUgb2YgdHdvIGZv cm1zOiBQdXJlIG51bWJlcnMgYW5kIHF1YW50aWZpZXJzLiBXZSB3aWxsIHJldHVybiB0byBxdWFu dGlmaWVycyBpbiBhIGxhdGVyIGxlc3Nvbi4gRm9yIG5vdywgd2Ugd2lsbCBsb29rIGF0IHB1cmUg bnVtYmVycy4KCkEgcHVyZSBudW1iZXIgaXMgYW55IHJvdyBvZiBudW1iZXIgd29yZHMgcHJlZml4 ZWQgd2l0aCAnJ2xpJycuIFRoaXMgbWFrZXMgYSBzdW10aSBkaXJlY3RseSBmcm9tIHRoZSBudW1i ZXIsIGFuZCByZWZlcnMgdG8gdGhlIG1hdGhlbWF0aWNhbCBjb25jZXB0IG9mLCBmb3IgaW5zdGFu Y2UsIOKAnHRoZSBudW1iZXIgc2l44oCdLiBJdHMgZmEnb3JtYSdvIGlzICcnbG8nbycnCgpfXycn bGknJ19fIGNvbnZlcnQgbnVtYmVyL21la3NvLWV4cHJlc3Npb24gdG8gc3VtdGkuCgpfXycnbG8n bycnX18gZmEnb3JtYSdvOiBlbmQgY29udmVydCBudW1iZXIvbWVrc28tZXhwcmVzc2lvbiB0byBz dW10aS4KClRoZXNlIHB1cmUgc3VtdGkgYXJlIHVzdWFsbHkgd2hhdCBmaWxscyB0aGUgeDIgb2Yg YnJpdmxhIHN1Y2ggYXMgJydtaXRyZScnIG9yICcnY2FjcmEnJwoKX18nJ21pdHJlJydfXyB4MSBp cyB4MiBtZXRyZXMgaW4gZGltZW5zaW9uIHgzIGJ5IHN0YW5kYXJkIHg0CgpfXycnY2FjcmEnJ19f IHgxIGlzIHgyIGhvdXJzIGluIGR1cmF0aW9uIChkZWZhdWx0IDEpIGJ5IHN0YW5kYXJkIHgzCgoK ClRyeSB0byB0cmFuc2xhdGUgdGhlIGZvbGxvd2luZzoKCicnbGUgdGEgbnUgY2luamlrY2EgY3Ug Y2FjcmEgbGkgY2kgamknaSB1J2kgbmFpJycKCkFuc3dlcjogfn5ncmV5LGdyZXk6IOKAnSpzaWdo KiBUaGF0IGZsaXJ0aW5nIGhhcyBiZWVuIGdvaW5nIG9uIGZvciBhcm91bmQgdGhyZWUgaG91cnMu 4oCdIH5+CgpIb3cgZG8geW91IGNvdW50IHRvIHRocmVlIGluIExvamJhbj8KCkFuc3dlcjogfn5n cmV5LGdyZXk6ICcnbGkgcGEgbGkgcmUgbGkgY2knJyB+fgoKCgpUaGUgbGFzdCB0aGluZyB3ZSds bCBnbyB0aHJvdWdoIGluIHRoaXMgbGVzc29uIGlzIHRoZSB3b3JkcyBvZiB0aGUgc2VsbWEnbyBN QUkgYW5kIHRob3NlIG9mIE1PSS4KCk1BSSBvbmx5IGNvbnRhaW5zIHR3byB3b3JkcywgJydtYWkn JyBhbmQgJydtbydvJycuIEJvdGggb2YgdGhlc2UgY29udmVydCBhbnkgbnVtYmVyIHN0cmluZyB0 byBhbiBvcmRpbmFsLCB3aGljaCBoYXMgdGhlIGdyYW1tYXIgb2YgYXR0aXR1ZGluYWxzLiBPcmRp bmFscyBhcmUgdXNlZCB0byBkaXZpZGUgYSB0ZXh0IGludG8gbnVtYmVyZWQgc2VnbWVudHMsIGxp a2UgY2hhcHRlcnMgb3IgcGFydHMuIFRoZSBvbmx5IGRpZmZlcmVuY2UgYmV0d2VlbiAnJ21haScn IGFuZCAnJ21vJ28nJyBpcyB0aGF0ICcnbW8nbycnIHF1YW50aWZpZXMgbGFyZ2VyIHN1YmRpdmlz aW9ucyBvZiB0ZXh0LCBhbGxvd2luZyB5b3UgdG8gZGl2aWRlIGEgdGV4dCBvbiB0d28gZGlmZmVy ZW50IGxldmVscywgZm9yIGV4YW1wbGUgZW51bWVyYXRpbmcgY2hhcHRlcnMgd2l0aCAnJ21vJ28n JyBhbmQgc2VjdGlvbnMgd2l0aCAnJ21haScnLiBOb3RpY2UgdGhhdCB0aGVzZSBhcyB3ZWxsIGFz IHRoZSBNT0kgdGFrZSBhbnkgbnVtYmVyIHN0cmluZyBkaXJlY3RseSwgd2l0aG91dCBhbnkgbmVl ZCBmb3IgJydsaScnLgoKX18nJ21haScnX186IExvd2VyLW9yZGVyIG9yZGluYWwgbWFya2VyOiBD b252ZXJ0IG51bWJlciB0byBvcmRpbmFsCgpfXycnbW8nbycnX186IEhpZ2hlciBvcmRlciBvcmRp bmFsIG1hcmtlcjogQ29udmVydCBudW1iZXIgdG8gb3JkaW5hbC4KCgoKVGhlcmUgYXJlIGZpdmUg TU9JLCBhbmQgdGhleSBhbGwgY29udmVydCBhbnkgbnVtYmVyIHN0cmluZyB0byBzZWxicmkuIFdl J2xsIHRha2UgdGhlbSBvbmUgYXQgYSB0aW1lOgoKX18nJ21vaScnX18gLSBDb252ZXJ0IG51bWJl ciBuIHRvIHNlbGJyaTogeDEgaXMgdGhlIG4ndGggbWVtYmVyIG9mIHNldCB4MiBieSBvcmRlciB4 MwoKRXhhbXBsZTogJydsYSBsdXRjaW1pbiBjaSBtb2kgbG8naSBuaW5tdSBwZW5kbyBiZSBtaSBs ZSBzdSd1IGxvIGNsYW5pIHptYWR1IGN1IGxpZG5lIGxvIGNsYW5pIG1sZWNhJycg4oCTIOKAnEx1 aS1DaGkgTWluIGlzIHRoaXJkIGFtb25nIG15IGZlbWFsZSBmcmllbmRzIGJ5IHRoZSBvcmRlcjog VGhlIG1vcmUgdGFsbCBvbmVzIHByZWNlZGVzIHRoZSBsZXNzIHRhbGwgb25lc+KAnS4KCihXaGVu IHNwZWNpZnlpbmcgYSBzZXF1ZW5jZSwgaXQgaXMgd2lkZWx5IHVuZGVyc3Rvb2QgdGhhdCBpZiBh ICcna2EnJy1hYnN0cmFjdGlvbiAobGVzc29uIHR3ZW50eS1uaW5lKSBpcyB1c2VkIGFzIGEgc3Vt dGksIHRoZSBtZW1iZXJzIG9mIHRoZSBzZXQgYXJlIG9yZGVyZWQgZnJvbSB0aGUgb25lIHdpdGgg bW9zdCBvZiB0aGUgcHJvcGVydHkgdG8gdGhlIG9uZSB3aXRoIGxlc3Mgb2YgdGhlIHByb3BlcnR5 LCBzbyB0aGUgeDMgb2YgdGhlIGZvbGxvd2luZyBzZW50ZW5jZSBjb3VsZCBoYXZlIGJlZW4gc2hv cnRlbmVkIHRvICcnbG8ga2EgY2xhbmknJykKCl9fJydsaWRuZScnX18geDEgaXMgYmVmb3JlIHgy IGluIHNlcXVlbmNlIHgzCgpfXycnY2xhbmknJ19fIHgxIGlzIGxvbmcgaW4gZGltZW5zaW9uIHgy IGJ5IHN0YW5kYXJkIHgzCgpfXycnem1hZHUnJ19fIHgxIGV4Y2VlZHMgeDIgaW4gcHJvcGVydHkv YXNwZWN0IHgzIGJ5IGFtb3VudCB4NAoKX18nJ21sZWNhJydfXyB4MSBpcyBsZXNzIHRoYW4vaXMg bGVzcyBjaGFyYWN0ZXJpemVkIHRoYW4geDIgYnkgcHJvcGVydHkvYXNwZWN0IHgzIGJ5IGFtb3Vu dCB4NAoKCgpfXycnbWVpJydfXyAtIENvbnZlcnQgbnVtYmVyIG4gdG8gc2VsYnJpOiB4MSBpcyB0 aGUgbWFzcyBmb3JtZWQgZnJvbSB0aGUgc2V0IHgyLCB3aGljaCBoYXMgdGhlIG4gbWVtYmVycyBv ZiB4MwoKTm90aWNlIGhlcmUgdGhhdCB4MyBhcmUgc3VwcG9zZWQgdG8gYmUgaW5kaXZpZHVhbHMs IHgyIGEgc2V0IGFuZCB4MSBhIG1hc3MuCgpXaGF0IHdvdWxkICcnbWkgY2kgbWVpJycgbWVhbj8g CgpBbndlcjogfn5ncmV5LGdyZXk64oCcV2UgYXJlIGdyb3VwIG9mIHRocmVlLuKAnX5+CgoKCl9f JydzaSdlJydfXyAtIENvbnZlcnQgbnVtYmVyIG4gdG8gc2VsYnJpOiB4MSBpcyBuIHRpbWVzIHgy CgpFeGFtcGxlOiAnJ2xlIHZpIHBsaXNlIGN1IG1lJ2kgcGkgcGEgc2knZSBsZWkgbWkgY2lkamEg YmUgemUnYSBsbyBkamVkaScnIOKAkyDigJxUaGlzIGFwcGxlIGhlcmUgaXMgbGVzcyB0aGFuIG9u ZSB0ZW50aCBvZiBteSBmb29kIGZvciBvbmUgZGF54oCdCgpQbGVhc2Ugbm90ZSB0aGF0IHRoZSBk ZWZpbml0aW9uIG9mICcnc2knZScnIHdoZW4gbG9va2VkIHVwIHdpbGwgdGVsbCB5b3UgdGhhdCBp dCdzICJ4MSBpcyBhbiBudGggb2YgeDIiLCBpbnN0ZWFkIG9mICJ4MSBpcyBuIHRpbWVzIHgyIi4g QnV0IHBlb3BsZSBvbmx5IHVzZSBpdCBhcyBJIGhhdmUgZGVmaW5lZCBpdCwgc28gdGhlIGRlZmlu aXRpb24gaW4gdGhlIGRpY3Rpb25hcmllcyB3aWxsIHByb2JhYmx5IGNoYW5nZS4KCgoKX18nJ2N1 J28nJ19fIC0gQ29udmVydCBudW1iZXIgbiB0byBzZWxicmk6IHgxIGhhcyBuIHByb2JhYmlsaXR5 IG9mIG9jY3VycmluZyB1bmRlciBjb25kaXRpb25zIHgyCgpFeGFtcGxlOiAnJ2xvIG51IG1pIG1y b2JpJ28gY3UgcGEgY3UnbyBsbyBudSBtaSBkZW5wYSByaScnIOKAkyDigJ1BbiBldmVudCBvZiBt ZSBkeWluZyBoYXMgcHJvYmFiaWxpdHkgMSB1bmRlciB0aGUgY29uZGl0aW9uczogSSB3YWl0IGZv ciBpdOKAnSA9IOKAnU1lIGR5aW5nIGlzIGNvbXBsZXRlbHkgY2VydGFpbiBpZiBJIHdhaXQgbG9u ZyBlbm91Z2gu4oCdCgpfXycnZGVucGEnJ19fIHgxIHdhaXRzIGZvciB4MiwgYmVpbmcgaW4gc3Rh dGUgeDMgdW50aWwgcmVzdW1pbmcvZG9pbmcgeDQKCl9fJyd2YSdlJydfXyAtIENvbnZlcnQgbnVt YmVyIG4gdG8gc2VsYnJpOiB4MSBpcyBhdCB0aGUgbid0aCBwb3NpdGlvbiBvbiB0aGUgc2NhbGUg eDIKCkV4YW1wbGU6ICcnbGkgcGEgbm8gY3Ugcm8gdmEnZSBsYSB0b3Jpbm9uJycg4oCTIOKAnDEw IGlzIHRoZSBoaWdoZXN0IHZhbHVlIG9uIHRoZSBUb3Jpbm8tc2NhbGXigJ0KCgoKCgohIUxvamJh biBMZXNzb25zIC0gTGVzc29uIHR3ZW50eSAoYm8sIGtlLCBjbyBhbmQgbW9yZSBjdXRlbmVzcykK ClNheSB5b3UncmUgYW4gaW1wb3J0YW50IEFtZXJpY2FuIGJ1eWVyIG9mIGNvbXB1dGVycy4gSG93 IGRvIHlvdSBleHByZXNzIHRoaXM/IEZvciBjb25zdHJ1Y3RzIGxpa2UgdGhlc2UsIHRhbnJ1IGFy ZSBpZGVhbDogJydtaSB2YWpuaSBtZXJrbyBza2FtaSB0ZSB2ZWNudScnLiBObyB3YWl0LCB0aGF0 J3Mgbm90IHJpZ2h0LiBUYW5ydSBhcmUgZ3JvdXBlZCBmcm9tIGxlZnQgdG8gcmlnaHQsIHNvIHRo aXMgdGFucnUgaXMgdW5kZXJzdG9vZDogKCgnJ3Zham5pIG1lcmtvJycpICcnc2thbWknJykgJyd0 ZSB2ZWNudScnLCBhIGJ1eWVyIG9mIGNvbXB1dGVycyBmb3IgaW1wb3J0YW50IEFtZXJpY2Fucy4g WW91IGNhbid0IGNoYW5nZSB0aGUgb3JkZXIgb2YgdGhlIHNlbGJyaSB0byBnZXQgYSB1c2VmdWwg dGFucnUuIE5laXRoZXIgY2FuIHRoaXMgYmUgc29sdmVkIHdpdGggbG9naWNhbCBjb25uZWN0aXZl cywgd2hpY2ggeW91IHdpbGwgZmlyc3QgbGVhcm4gYWJvdXQgbGF0ZXIgYW55d2F5LiBUaGUgb25s eSB3YXkgdG8gbWFrZSBhIGZpdHRpbmcgdGFucnUgaXMgdG8gZm9yY2UgdGhlIHNlbGJyaSB0byBn cm91cCBkaWZmZXJlbnRseS4KCgoKVG8gYmluZCB0d28gc2VsYnJpIGNsb3NlIHRvZ2V0aGVyIGlu IGEgdGFucnUsIHRoZSB3b3JkICcnYm8nJyBjYW4gYmUgcGxhY2VkIGJldHdlZW4gdGhlbTogJydt aSB2YWpuaSBibyBtZXJrbyBza2FtaSBibyB0ZSB2ZWNudScnIGlzIHJlYWQgJydtaScnICgnJ3Zh am5pIGJvIG1lcmtvJycpICgnJ3NrYW1pIGJvIHRlIHZlY251JycpLCB3aGljaCBpcyB1c2VmdWwg aW4gdGhpcyBjb250ZXh0LiBJZiBibyBpcyBwbGFjZWQgYmV0d2VlbiBzZXZlcmFsIHNlbGJyaSBp biBhIHJvdywgdGhleSBhcmUgZ3JvdXBlZCBmcm9tIHJpZ2h0IHRvIGxlZnQgaW5zdGVhZCBvZiB0 aGUgdXN1YWwgbGVmdCB0byByaWdodDogJydtaSB2YWpuaSBtZXJrbyBibyBza2FtaSBibyB0ZSB2 ZWNudScnIGlzIHJlYWQgJyd2YWpuaScnICgnJ21lcmtvIGJvJycgKCcnc2thbWkgYm8gdGUgdmVj bnUnJykpIGFuIOKAnGltcG9ydGFudCAoQW1lcmljYW4gY29tcHV0ZXItYnV5ZXIp4oCdLCB3aGlj aCBpcyBldmVuIG1vcmUgYXBwcm9wcmlhdGUgaW4gdGhlIHNpdHVhdGlvbi4KCl9fJydibycnX18g QmluZHMgdHdvIHNlbGJyaSB0b2dldGhlciBzdHJvbmdseS4KCgoKSG93IHdvdWxkIHlvdSBzYXkg 4oCcVGhhdCdzIGEgdGFzdHkgeWVsbG93IGFwcGxl4oCdPwoKX18nJ2t1a3RlJydfXyB4MSBpcyB0 YXN0eSBmb3IgeDIKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ3RpIGt1a3RlIHBlbHh1IGJvIHBs aXNlJyd+fgoKCgpXaGF0IGFib3V0IOKAnVRoYXQncyBhIGJpZywgdGFzdHkgeWVsbG93IGFwcGxl 4oCdCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6Jyd0aSBiYXJkYSBrdWt0ZSBibyBwZWx4dSBibyBw bGlzZScnfn4KCgoKQW5vdGhlciBhcHByb2FjaCB0byB0aGlzIGlzIHRvIHVzZSB0aGUgd29yZHMg JydrZeKApmtlJ2UnJy4gVGhlc2UgY2FuIGJlIGNvbnNpZGVyZWQgYXMgZXF1aXZhbGVudCB0byB0 aGUgcGFyZW50aGVzaXNlcyB1c2VkIGluIHRoZSBwYXJhZ3JhcGggYWJvdmUuICcna2UnJyBiZWdp bnMgc3Ryb25nIHNlbGJyaSBncm91cGluZywgJydrZSdlJycgZW5kcyBpdC4KCl9fJydrZScnX18g 4oCTIGJlZ2luIHN0cm9uZyBzZWxicmkgZ3JvdXBpbmcuCgpfXycna2UnZScnX18g4oCTIGVuZCBz dHJvbmcgc2VsYnJpIGdyb3VwaW5nLgoKVGhlIHN0cmVuZ3RoIG9mIHRoZSBiaW5kaW5nIGlzIHRo ZSBzYW1lIGFzIHRoYXQgb2YgJydibycnLiBUaGVyZWZvcmUsICcnbWkgdmFqbmkgbWVya28gYm8g c2thbWkgYm8gdGUgdmVjbnUnJyBjYW4gYmUgd3JpdHRlbiAnJ21pIHZham5pIGtlIG1lcmtvIGtl IHNrYW1pIHRlIHZlY251IHtrZSdlfSB7a2UnZX0nJy4KCkhvdyBjb3VsZCB5b3Ugc2F5IOKAnEkn bSBhIEdlcm1hbiBzZWxsZXIgb2YgeWVsbG93IGhvbWVzP+KAnQoKCgpBbnN3ZXI6IH5+Z3JleSxn cmV5OicnbWkgZG90Y28ga2UgcGVseHUgemRhbmkgdmVjbnUnJ35+CgoKCldoaWxlIHdlJ3JlIGF0 IG1lc3Npbmcgd2l0aCB0aGUgb3JkaW5hcnkgdGFucnUgc3RydWN0dXJlLCB0aGVyZSBpcyBhbm90 aGVyIHdvcmQgd29ydGggcGF5aW5nIGF0dGVudGlvbiB0by4gSWYgSSB3YW50IHRvIHNheSB0aGF0 IEknbSBhIHByb2Zlc3Npb25hbCB0cmFuc2xhdG9yLCBJIGNvdWxkIHNheSAnJ21pIGZhbnZhIHNl IGppYnJpJycuCgpfXycnamlicmknJ19fIHgxIGlzIGEgam9iIG9mIHgyCgpfXycnZG90eWJhdScn X18geDEgaXMgR2VybWFuIHVzZWQgYnkgeDIgdG8gc2F5IHgzCgpfXycnZ2xpYmF1JydfXyB4MSBp cyBFbmdsaXNoIHVzZWQgYnkgeDIgdG8gc2F5IHgzCgpJZiBJIHdhbnRlZCB0byBzYXkgdGhhdCBJ J20gYSBwcm9mZXNzaW9uYWwgdHJhbnNsYXRlciBmcm9tIEVuZ2xpc2ggdG8gR2VybWFuLCBJJ2Qg aGF2ZSB0byBtZXNzIGFyb3VuZCB3aXRoICcnYmUnJyBhbmQgJydiZWknJzogJydtaSBmYW52YSBi ZSBsZSBkb3R5YmF1IGJlaSBsZSBnbGliYXUgYmUnbyBzZSBqaWJyaScnLCBhbmQgdGhlIGZhY3Qg dGhhdCBpdCB3YXMgYSB0YW5ydSBjb3VsZCBxdWlja2x5IGJlIGxvc3QgaW4gc3BlZWNoIGR1ZSB0 byB0aGUgY29tcGxpY2F0ZWQgc3RydWN0dXJlIG9mIHRoZSBzZW50ZW5jZS4gSGVyZSwgd2UgY2Fu IHVzZSB0aGUgd29yZCAnJ2NvJycuIGl0IGludmVydHMgdGhlIHRhbnJ1LCBtYWtpbmcgdGhlIHJp Z2h0bW9zdCBzZWxicmkgbW9kaWZ5IHRoZSBsZWZ0bW9zdCBpbnN0ZWFkIG9mIHRoZSBvdGhlciB3 YXkgYXJvdW5kOgoKJydtaSBzZSBqaWJyaSBjbyBmYW52YSBsZSBkb3R5YmF1IGxlIGdsaWJhdScn IGlzIHRoZSBzYW1lIGJyaWRpIGFzIHRoZSBwcmV2aW91cyBMb2piYW4gb25lLCBidXQgbXVjaCBt b3JlIGVhc3kgdG8gdW5kZXJzdGFuZC4gTm90aWNlIHRoYXQgYW55IHN1bXRpIGJlZm9yZSB0aGUg dGFucnUgZmlsbHMgJydzZSBqaWJyaScnLCB3aGlsZSBhbnkgZm9sbG93aW5nIGl0IG9ubHkgZmls bHMgdGhlIG1vZGlmeWluZyBzZWxicmk6ICcnZmFudmEnJy4KCl9fJydjbycnX18gSW52ZXJ0IHRh bnJ1LiBBbnkgcHJldmlvdXMgc3VtdGkgZmlsbCB0aGUgbW9kaWZpZWQsIGFueSBmb2xsb3dpbmcg ZmlsbCB0aGUgbW9kaWZpZXIuCgoKClRoZSBzdHJlbmd0aCBieSB3aGljaCB0d28gc2VsYnJpIGFy ZSBib3VuZCB0b2dldGhlciB3aXRoIGNvIGlzIHZlcnkgd2VhayDigJMgZXZlbiB3ZWFrZXIgdGhh biBub3JtYWwgdGFucnUgZ3JvdXBpbmcgd2l0aG91dCBhbnkgZ3JvdXBpbmcgd29yZHMuIFRoaXMg bWFrZXMgc3VyZSB0aGF0LCBpbiBhIGNvLWNvbnN0cnVjdCwgdGhlIGxlZnRtb3N0IHNlbGJyaSBp cyBhbHdheXMgdGhlIHNlbGJyaSBiZWluZyBtb2RpZmllZCwgYW5kIHRoZSByaWdodG1vc3QgYWx3 YXlzIG1vZGlmaWVzLCBldmVuIGlmIGFueSBvZiB0aG9zZSBwYXJ0cyBhcmUgdGFucnUuIFRoaXMg bWFrZXMgYSBjby1jb25zdHJ1Y3QgZWFzeSB0byBwYXJzZToKCicndGkgcGVseHUgcGxpc2UgY28g a3VrdGUnJyBpcyByZWFkICcndGknJyAoJydwZWx4dSBwbGlzZScnKSAnJ2NvIGt1a3RlJycsIHdo aWNoIGlzIHRoZSBzYW1lIGFzICcndGkga3VrdGUgcGVseHUgYm8gcGxpc2UnJy4gVGhpcyBhbHNv IG1lYW5zIHRoYXQgYSAnJ2tl4oCma2UnZScnIGNhbm5vdCBlbmNvbXBhc3MgYSAnJ2NvJycuCgpU aGUgY21hdm8gb2YgdGhlIHNlbG1hJ28gR0loQSwgdGhlIGJyaWRpLXRhaWwgYWZ0ZXJ0aG91Z2h0 IGxvZ2ljYWwgY29ubmVjdGl2ZXMsIGhvd2V2ZXIsIGJpbmRzIGV2ZW4gbG9vc2VyIHRoYW4gJydj bycnLiBUaGlzIGlzIGluIG9yZGVyIHRvIHRvdGFsbHkgYXZvaWQgY29uZnVzaW9uIGFib3V0IHdo aWNoIHNlbGJyaSBiaW5kcyB0byB3aGljaCBpbiBhIEdJaEEtY29uc3RydWN0LiBUaGUgYW5zd2Vy IGlzIHNpbXBsZTogVGhlIEdJaEEgbmV2ZXIgZW1jb21wYXNzZXMgYW55IHNlbGJyaS1ncm91cHMu CgoKCkhvdyBjYW4geW91IGV4cHJlc3Mg4oCdSSBhbSBhbiBpbXBvcnRhbnQgQW1lcmljYW4gYnV5 ZXIgb2YgY29tcHV0ZXJz4oCdIHVzaW5nIGEgJydjbycnPwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5 OicnbWkgc2thbWkgdGUgdmVjbnUgY28gdmFqbmkgbWVya28nJ35+CgoKCklmIGl0J3Mgb2YgYW55 IHVzZSwgdGhpcyBpcyB0aGUgbGlzdCBvZiBkaWZmZXJlbnQga2luZCBvZiBzZWxicmkgZ3JvdXBl cnMgcmFua2VkIGJ5IHN0cmVuZ3RoOgoKCgoxLiAgICAnJ2JvJycgYW5kICcna2UuLmtlJ2UnJwoK CgoyLiAgICBsb2dpY2FsIGNvbm5lY3RpdmVzIG90aGVyIHRoYW4gYnJpZGktdGFpbCBhZnRlcnRo b3VnaHQgbG9naWNhbCBjb25uZWN0aXZlcyAoZXhwbGFpbmVkIGluIGxlc3NvbiB0d2VudHktZml2 ZSkKCgoKMy4gICAgbm8gZ3JvdXBpbmcgd29yZHMKCgoKNC4gICAgJydjbycnCgoKCjUuICAgIGJy aWRpLXRhaWwgYWZ0ZXJ0aG91Z2h0IGxvZ2ljYWwgY29ubmVjdGl2ZXMgKGFsc28gaW4gbGVzc29u IHR3ZW50eS1maXZlKQoKCgpUaGUgcmVzdCBvZiB0aGlzIGxlc3NvbiB3aWxsIG5vdCBiZSBvbiBz ZWxicmkgZ3JvdXBpbmcsIGJ1dCBtdWNoIGxpa2UgbGVzc29uIHNldmVudGVlbiBtZW50aW9uIGFz c29ydGVkIHdvcmRzLCB3aGljaCBjYW4gYmUgb2YgdXNlLgoKCgonJ2JvJycgaGFzIGFub3RoZXIg dXNlLCB3aGljaCBzZWVtcyBzZXBhcmF0ZSBmcm9tIHNlbGJyaSBncm91cGluZzogSXQgY2FuIGFs c28gYmluZCBhIHN1bXRjaXRhIHRvIGFuIGVudGlyZSBicmlkaSwgc28gdGhhdCB0aGUgY29udGVu dCBvZiB0aGUgc3VtdGNpdGEgaXMgbm90IGEgc3VtdGksIGJ1dCB0aGUgZm9sbG93aW5nIGJyaWRp LiBUaGlzIGlzIGJlc3QgZXhwbGFpbmVkIHdpdGggYW4gZXhhbXBsZS4KCl9fJyd4ZWJuaScnX18g eDEgaGF0ZXMgeDIKCicnbWkgZGFyeGkgZG8gLmkgbXUnaSBibyBtaSBkbyB4ZWJuaScnIOKAkyDi gJxJIGhpdCB5b3UsIHdpdGggbW90aXZhdGlvbiB0aGF0IEkgaGF0ZSB5b3Uu4oCdIEhlcmUgdGhl ICcnYm8nJyBiaW5kcyAnJ211J2knJyB0byB0aGUgZm9sbG93aW5nIGJyaWRpLgoKVGhpcyBpcyB3 aGVyZSB0aGUgdGVjaG5pY2FsIGRpZmZlcmVuY2UgYmV0d2VlbiB0ZW5zZSBzdW10Y2l0YSBhbmQg b3RoZXIgc3VtdGNpdGEgaXMgcmVsZXZhbnQuIFlvdSBzZWUsIHdoZW4gYmluZGluZyBhIG5vcm1h bCBzdW10Y2l0YSB0byBhIGJyaWRpIHdpdGggJydibycnLCBpdCBtZWFucyB0aGF0IHRoZSBmb2xs b3dpbmcgYnJpZGkgc29tZWhvdyBmaXRzIGludG8gdGhlIHN1bXRpIHBsYWNlIG9mIHRoZSBzdW10 Y2l0YS4gRm9yIHRoZSByZWFzb24gb2YgR29kIEtub3dzIFdoeSwgYmluZGluZyBvbmUgb2YgdGhl IHdvcmRzICcnYmEnJyBvciAnJ3B1JycgdG8gYSBicmlkaSBoYXMgdGhlIGV4YWN0IG9wcG9zaXRl IGVmZmVjdC4gRm9yIGV4YW1wbGUsIGluIHRoZSBicmlkaSAnJ21pIGRhcnhpIGRvIC5pIGJhIGJv IGRvIGNpbmppa2NhJycsIG9uZSB3b3VsZCBhc3N1bWUgdGhhdCB0aGUgc2Vjb25kIGJyaWRpIGlz IHNvbWVob3cgZmlsbGVkIGludG8gdGhlIHN1bXRpIHBsYWNlIG9mICcnYmEnJywgbWVhbmluZyB0 aGF0IHRoZSBicmlkaSBmaXJzdCB1dHRlcmVkIHRvb2sgcGxhY2UgaW4gdGhlIGZ1dHVyZSBvZiB0 aGUgc2Vjb25kIGJyaWRpLiBUaGF0J3Mgbm90IHRoZSBjYXNlLCBob3dldmVyLCBhbmQgdGhlIGNv cnJlY3QgdHJhbnNsYXRpb24gb2YgdGhhdCB1dHRlcmFuY2Ugd291bGQgYmUgIkkgaGl0IHlvdS4g QWZ0ZXJ3YXJkcywgeW91IGZsaXJ0Ii4gVGhpcyB3ZWlyZCBydWxlIGlzIGFjdHVhbGx5IG9uZSBv ZiB0aGUgbWFpbiBvYnN0YWNsZXMgdG8gYSB1bmlmaWNhdGlvbiBvZiBhbGwgc3VtdGNpdGEgaW50 byBvbmUgc2luZ2xlIHdvcmQgY2xhc3MuIEFub3RoZXIgZGlmZmVyZW5jZSBpcyB0aGF0IHRlbnNl LXN1bXRjaXRhIGNhbiBiZSBlbGlkZWQsIGV2ZW4gdGhvdWdoIHRoZXkgYXBwbHkuIFRoaXMgcnVs ZSBtYWtlcyBtb3JlIHNlbnNlLCBzaW5jZSB3ZSBvZnRlbiBjYW4gYXNzdW1lIGJyaWRpIGlzIHBs YWNlZCBpbiBhIHRpbWUgYW5kIHNwYWNlLCBidXQgd2UgY2FuJ3QgYXNzdW1lIHRoYXQgdGhlIHN1 bXRjaXRhIG9mIEJBSSBhcHBsaWVzLgoKCgpUaGUgdW5vZmZpY2lhbCB3b3JkICcnbWUnb2knJyBp cyBlcXVpdmFsZW50IHRvIG1lIGxhJ2UgJyd6bydvaScnLCB3aGljaCBtZWFucyB0aGF0IGl0IGNv bnZlcnRzIHRoZSBjb250ZW50IG9mIHRoZSBuZXh0IHdvcmQgaW50byBhIHNlbGJyaS4gSXQgaXMg dXNlZCB0byBpbnZlbnQgYnJpdmxhIG9uIHRoZSBmbHk6ICcnbWkgY2EgemdhbmEgbGEgbWUnb2kg WC1maWxlcycnIGZvciDigJxJIG5vdyB3YXRjaCBYLWZpbGVz4oCdLiBMaWtlIGFsbCBxdW90ZSBu ZXh0IHdvcmQtY21hdm8sIGl0IGlzIG5vdCBzdXBwb3J0ZWQgYnkgdGhlIG9mZmljaWFsIGdyYW1t YXIsIGJ1dCB0byB0aGUgbGF6eSBMb2piYW5pc3QsIGl0J3MgaW52YWx1YWJsZS4KCgoKVGhlIHdv cmQgJydnaScnIGlzIHN0cmFnZSBraW5kIG9mIGJyaWRpIHNlcGFyYXRvciwgYW5hbG9nb3VzIHRv ICcnLmknJywgYnV0IHRvIG15IGtub3dsZWRnZSwgaXQgaXMgdXNlZCBpbiBvbmx5IHR3byBkaWZm ZXJlbnQga2luZHMgb2YgY29uc3RydWN0czogTW9zdCBvZnRlbiB3aXRoIGxvZ2ljYWwgY29ubmVj dGl2ZXMsIGV4cGxhaW5lZCBpbiBsZXNzb24gdHdlbnR5LWZpdmUsIGJ1dCBhbHNvIHdpdGggc3Vt dGNpdGEuIFdpdGggc3VtdGNpdGEgaXQgY3JlYXRlcyBhIHVzZWZ1bCwgYnV0IGhhcmRseSBzZWVu LCBjb25zdHJ1Y3Q6CgonJ211J2kgZ2kgQlJJREktMSBnaSBCUklESS0yJycsIHdoaWNoIGlzIGVx dWl2YWxlbnQgdG8gJydCUklESS0yIC5pIG11J2kgYm8gQlJJREktMScnLiBUaGVyZWZvcmUsIHRo ZSBleGFtcGxlIGFib3ZlLCB3aGljaCBleHBsYWluZWQgd2h5IEkgaGl0IHlvdSwgY2FuIGJlIHdy aXR0ZW4gJydtdSdpIGdpIG1pIHhlYm5pIGRvIGdpIG1pIGRhcnhpIGRvJycsIG9yIHRvIHByZXNl cnZlIHRoZSBzYW1lIG9yZGVyIGFzIHRoZSBvcmlnaW5hbCBzZW50ZW5jZSwgd2UgY2FuIGNvbnZl cnQgJydtdSdpJycgd2l0aCAnJ3NlJyc6ICcnc2UgbXUnaSBnaSBtaSBkYXJ4aSBkbyBnaSBtaSB4 ZWJuaSBkbycnLgoKSXQgaXMgaW4gZXhhbXBsZXMgbGlrZSB0aGlzIHRoYXQgJydnaScnIHJlYWxs eSBjYW4gc2hvdyBpdHMgdmVyc2F0aWxpdHkuIEl0IGRvZXMgbm90IGp1c3Qgc2VwYXJhdGUgdHdv IGJyaWRpIGxpa2UgJycuaScnIGRvZXMsIGJ1dCBjYW4gYWxzbyBzZXBhcmF0ZSB0d28gY29uc3Ry dWN0cyB3aXRoaW4gYSBicmlkaSwgbWFraW5nIGFsbCBjb25zdHJ1Y3RzIG91dHNpZGUgdGhlIHNj b3BlIG9mICcnZ2knJyBhcHBseSB0byBib3RoIGJyaWRpLCBhcyB0aGlzIGV4YW1wbGUgZGVtb25z dHJhdGVzOgoKX18nJ2NpbmJhJydfXyB4MSBraXNzZXMgeDIgYXQgbG9jdXMgeDMKCgoKX18nJ+KA oiBbTm90ZSBmcm9tIElsbWVuOiBnaS4uLmdpLi4uIGNvbnN0cnVjdCBpcyBvbmx5IHZhbGlkIHdp dGggc3VtdGNpdGEsIHNvIEkgaGFkIHRvIGNvcnJlY3QgdGhlIGV4YW1wbGVzIG9mIHRoZSBwYXJh Z3JhcGggYmVsb3cgKGJ5IHJlcGxhY2luZyB0aGUgZmlyc3QgImdpIiB3aXRoICJnZSIpLiBQZXJo YXBzIHRoaXMgcGFyYWdyYXBoIHNob3VsZCBiZSBzaW1wbHkgcmVtb3ZlZD9dJydfXwoKJydtaSBn ZSBwcmFtaSBkbyBnaSBjaW5iYSBkbycnIGxlYXZlcyBtaSBvdXRzaWRlIHRoZSBjb25zdHJ1Y3Qs IG1ha2luZyBpdCBhcHBseSB0byBib3RoIGJyaWRpLiBUaGlzIGNhbiBhbHNvIGJlIGRvbmUgd2l0 aCAnJ2RvJycsIHdoaWNoIGlzIGFsc28gcHJlc2VudCBpbiBicm90aCBicmlkaTogJydtaSBnZSBw cmFtaSBnaSBjaW5iYSB2YXUgZG8nJy4gTm90ZSB0aGF0ICcndmF1JycgaXMgbmVlZGVkIHRvIG1h a2UgZG8gYXBwZWFyIG91dHNpZGUgdGhlIHNlY29uZCBicmlkaS4KCgoKVGh1cywgd2UgY2FuIHdy aXRlIHRoZSBvcmlnaW5hbCBzZW50ZW5jZSBzaG9ydGVyOiAnJ21pIG11J2kgZ2kgeGVibmkgZ2kg ZGFyeGkgdmF1IGRvJycsIG9yLCB0byBvbWl0IGV2ZW4gdGhlICcndmF1JycsIHdlIGNhbiB3cml0 ZSBpdCBldmVuIHNob3J0ZXIgYW5kIG1vcmUgZWxlZ2FudGx5OiAnJ21pIGRvIG11J2kgZ2kgeGVi bmkgZ2kgZGFyeGknJwoKCgoKCiEhTG9qYmFuIExlc3NvbnMgLSBMZXNzb24gdHdlbnR5LW9uZSAo Q09JKQoKSW4gdGhpcyBsZXNzb24sIHlvdSB3aWxsIGZhbWlsaWFyaXplIHlvdXJzZWxmIHdpdGgg dm9jYXRpdmVzLCBvciAnJ21hJ29pIGNvaScnLiBUaGV5IGdldCB0aGVpciBvd24gbGVzc29uLCBu b3QgYmVjYXVzZSB1bmRlcnN0YW5kaW5nIHRoZXNlIHByb3ZpZGVzIGEgYmFzaXMgZm9yIHVuZGVy c3RhbmRpbmcgTG9qYmFuIGdyYW1tYXIgaW4gZ2VuZXJhbCwgb3IgYmVjYXVzZSB0aGV5IGFyZSBo YXJkIHRvIHVuZGVyc3RhbmQsIGJ1dCByYXRoZXIgYmVjYXVzZSB0aGV5IGFyZSB2ZXJ5IG9mdGVu IHVzZWQgaW4gY2FzdWFsIHNwZWVjaCwgYW5kIHRoZXJlIGFyZSBhIGxvdCBvZiB0aGVtLgoKQSB2 b2NhdGl2ZSBpcyB1c2VkIHBhcnRseSB0byBkZWZpbmUgd2hvICcnZG8nJyByZWZlcnMgdG8uIElm IHRoZSB2b2NhdGl2ZSBpcyBmb2xsb3dlZCBieSBhIGNtZXZsYSwgdGhlIGNtZXZsYSBnZXRzIGFu IGltcGxpZWQgbGEgaW4gZnJvbnQgb2YgaXQuIElmIGEgc2VsYnJpIGZvbGxvd3MsIGEgJydsZScn IGlzIHVzZWQgYXMgYSBnYWRyaSBpbnN0ZWFkLgoKSW4gdGhlc2UgZXhhbXBsZXMsIEkgd2lsbCB1 c2UgdGhlIHZvY2F0aXZlICcnY29pJycsIHdpdGggbWVhbnMg4oCcSGnigJ0gb3Ig4oCcSGVsbG/i gJ0uCgpJZiBhIHBlcnNvbiBpcyBjYWxsZWQgJydsYSArIFNFTEJSSScnLCB1c2luZyBhIHZvY2F0 aXZlIHdpdGggb25seSB0aGUgc2VsYnJpIHRvIGFkZHJlc3MgdGhhdCBwZXJzb24gd2lsbCBtZWFu IHlvdSByZWZlciB0byBoZXIgYXMgYWN0dWFsbHkgYmVpbmcgdGhlIHgxIG9mIHRoYXQgc2VsYnJp LCB3aGljaCBpcyBvZnRlbiB3cm9uZy4gSWYsIGZvciBpbnN0YW5jZSwgYSBwZXJzb24gaXMgY2Fs bGVkICcnbGEgdHNhbmknJywg4oCcU2t54oCdLCBzYXlpbmcgJydjb2kgdHNhbmknJyByZWZlcnMg dG8gaGVyIGFzIGEgJydsZSB0c2FuaScnLCBtZWFuaW5nIOKAnEhpLCB5b3Ugc2t54oCdLCB3aGls ZSAnJ2NvaSBsYSB0c2FuaSBjb3JyZWN0bHknJyByZWZlcnMgdG8gaGVyIGFzIHNvbWVvbmUgY2Fs bGVkICJTa3kiLCBtZWFuaW5nIOKAnEhpIFNreeKAnS4gVGhpcyBpcyBhIGZyZXF1ZW50IG1pc3Rh a2UsIGVzcGVjaWFsbHkgYW1vbmcgbmV3IExvamJhbmlzdHMuCgpBbGwgdm9jYXRpdmVzIGhhdmUg YSBmYSdvcm1hJ28gd2hpY2ggaXMgc29tZXRpbWVzIHJlcXVpcmVkLiBUaGlzIGlzICcnZG8ndScn LiBJdCdzIG1vc3RseSB1c2VkIGlmIGJvdGggdGhlIGZpcnN0IHdvcmQgYWZ0ZXIgdGhlIHZvY2F0 aXZlIHBocmFzZSBhbmQgdGhlIGxhc3Qgd29yZCBvZiB0aGUgcGhyYXNlIGlzIGEgc2VsYnJpLCBz byB0aGF0IGl0IHByZXZlbnRzIGZvcm1pbmcgYSB0YW5ydToKCgoKX18nJ2RvJ3UnJ19fIEVuZCB2 b2NhdGl2ZSBwaHJhc2UuIFVzdWFsbHkgZWxpZGFibGUuCgpfXycna2xha3UnJ19fIHgxIGNyaWVz IHgyICh0ZWFycykgZm9yIHJlYXNvbiB4MwoKJydjb2kgbGEgZ2xla2kgZG8ndSBrbGFrdSBmaSBt YScnIOKAnUhlbGxvIEhhcHB5LiBXaHkgY3J5P+KAnQoKCgpUaGUgZ2VuZXJpYyB2b2NhdGl2ZSwg Jydkb2knJywgZG9lcyBub3RoaW5nIGV4Y2VwdCBkZWZpbmluZyB3aG8gaXMgYmVpbmcgcmVmZXJy ZWQgdG8gYnkgJydkbycnOgoKJydkb2kgLmVybnN0LiB4dSBkbyBkb3RjbyBtZXJrbycnIOKAnEVy bnN0OiBBcmUgeW91IGEgR2VybWFuLUFtZXJpY2FuP+KAnQoKCgpBbGwgdGhlIG90aGVyIHZvY2F0 aXZlcyBoYXZlIHNvbWUgY29udGVudCBiZXNpZGUgZGVmaW5pbmcgJydkbycnLiAnJ2NvaScnLCB3 aGljaCB5b3Uga25vdywgYWxzbyBtZWFucyDigJxIZWxsb+KAnSwgZm9yIGV4YW1wbGUuIE1hbnkg b2YgdGhlIHZvY2F0aXZlcyBoYXZlIHR3byBvciB0aHJlZSBkZWZpbml0aW9ucyBsaWtlIHRoZSBh dHRpdHVkaW5hbHMuIExpa2UgYXR0aXR1ZGluYWxzLCB0aGlzIGlzIGJlY2F1c2UgdGhleSBjYW4g YmUgbW9kaWZpZWQgd2l0aCAnJ2N1J2knJyBhbmQgJyduYWknJywgdGhvdWdoIG9ubHkgb25lIHZv Y2F0aXZlIGhhcyB0aGUgJydjdSdpJyctZm9ybSBkZWZpbmVkLgoKU29tZSBpbXBvcnRhbnQgdm9j YXRpdmVzIGFyZSBsaXN0ZWQgaW4gdGhlIHRhYmxlIGJlbG93LiBUaGVyZSBhcmUgb3RoZXJzLCBi dXQgdGhvc2UgYXJlIG5vdCB1c2VkIG11Y2guCgp8fHZvY2F0aXZlfFdpdGhvdXQgc3VmZml4fC1j dSdpfC1uYWkKCmNvaXxIZWxsb3wtfC0KCmNvJ298R29vZGJ5ZQl8LXwtCgpqZSdlfFVuZGVyc3Rv b2QgLyBPS3wtfE5vdCB1bmRlcnN0b29kCgpmaSdpfFdlbGNvbWV8LXxOb3Qgd2VsY29tZSBoZXJl CgpwZSd1fFBsZWFzZXwtfC0KCmtpJ2V8VGhhbmtzfC18RGlzYXBwcmVjaWF0aW9uCgpyZSdpfFJl YWR5IHRvIHJlY2lldmV8LXxOb3QgcmVhZHkKCmp1J2l8SGV5IXxBdCBlYXNlfElnbm9yZSBtZQoK dGEnYXxJbnRlcnJ1cHRpb258LXwtCgp2aSdvfFdpbGwgZG98LXxXaWxsIG5vdCBkbwoKa2Unb3xQ bGVhc2UgcmVwZWF0fC18Tm8gcmVwZWF0IG5lZWRlZAoKZGknYWl8d2VsbC13aXNofC18Y3Vyc2V8 fAoKTm90aWNlIHRoYXQgJydkaSdhaScnIGlzIGV4cGVyaW1lbnRhbAoKCgoKCldoYXQgd291bGQg Jydjb2kgY28nbycnIG1lYW4/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcR3JlZXRpbmdzIGlu IHBhc3NpbmfigJ0gb3Ig4oCcSGVsbG8gYW5kIEdvb2RieWXigJ1+fgoKCgonJ2plJ2UnJyBpcyB1 c2VkIGFzIOKAnE9L4oCdLCBidXQgYWxzbyB0aGUgYXBwcm9wcmlhdGUgcmVzcG9uc2Ugd2hlbiBy ZWNlaXZpbmcgcHJhaXNlIG9yIHRoYW5rcyAoYXQgbGVhc3QsIGlmIHlvdSB3YW50IHRvIGJlIG1v ZGVzdCksIGFzIGl0IGluZGljYXRlcyB0aGF0IHRoZSBwcmFpc2Ugb3IgdGhhbmtzIHdhcyBzdWNj ZXNzZnVsbHkgdW5kZXJzdG9vZC4KCgoKVHJhbnNsYXRlICcna2knZSBzaWRqdSBiZSBtaSBiZWkg bG8gdmFqbmkgLmkgamUnZSAuamVuaWZ5bi4nJwoKX18nJ3NpZGp1JydfXyB4MSBoZWxwcyB4MiBk byB4MwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnFRoYW5rcywgeW91IGhlbHBlciBvZiBtZSB0 byBkbyBzb21ldGhpbmcgaW1wb3J0YW50LuKAnSDigJxObyBwcm9ibGVtLCBKZW5uaWZlcuKAnX5+ CgoKCkFuZCAnJ2ZpJ2kgdGUgdmVjbnUgLmkgcGUndSBrbyBjaXRrYScnCgoKCkFuc3dlcjogfn5n cmV5LGdyZXk64oCdV2VsY29tZSwgYnV5ZXIuIFBsZWFzZSBlYXQh4oCdfn4KCgoKJydyZSdpJycg aXMgdXNlZCB0byBzaWduYWwgdGhhdCB5b3UgYXJlIHJlYWR5IHRvIGJlIHNwb2tlbiB0by4gSXQg Y2FuIGJlIHVzZWQgYXMgdGhlIExvamJhbiBlcXVpdmFsZW50IG9mIOKAnFdoYXQgY2FuIEkgZG8g Zm9yIHlvdT/igJ0gb3IgcGVyaGFwcyByZXBsYWNlIOKAnEhlbGxv4oCdLCB3aGVuIHNwZWFraW5n IG9uIGEgcGhvbmUuICcncmUnaSBuYWknJyBjYW4gbWVhbiDigJxBRkvigJ0gb3Ig4oCcQmUgdGhl cmUgaXMgYSBzZWNvbmQu4oCdCgoKClRyYW5zbGF0ZTog4oCcSGVsbG8sIHdoYXQgY2FuIEkgZG8g Zm9yIHlvdSwgSW50ZXJwcmV0ZXIvVHJhbnNsYXRlcj/igJ0KCgoKQW5zd2VyOiB+fmdyZXksZ3Jl eTonJ2NvaSByZSdpIGxhIGZhbnZhJyd+fgoKCgonJ3RhJ2EnJyBpcyB1c2VkIHdoZW4gYXR0ZW1w dGluZyB0byBwb2xpdGVseSBpbnRlcnJ1cHQgc29tZW9uZSBlbHNlLiBXaGF0IHdvdWxkIGJlIGdv b2QgcmVzcG9uc2VzIHRvIHRoaXM/CgoKClRyYW5zbGF0ZTogJyd0YSdhIHJvIGRvIG1pIGNvJ2Eg Y2xpdmEnJwoKX18nJ2NsaXZhJydfXyB4MSBsZWF2ZXMgeDIgdmlhIHJvdXRlIHgzCgoKCkFuc3dl cjogfn5ncmV5LGdyZXk64oCcRXhjdXNlIG1lIGZvciBpbnRlcnJ1cHRpbmcsIGV2ZXJ5b25lLiBJ IGJlZ2luIHRvIGxlYXZlIG5vd+KAnSBOb3RpY2UgdGhhdCBubyBmYSdvcm1hJ28gb3IgJycuaScn IGlzIG5lZWRlZC5+fgoKCgonJ2tlJ28nJyBpcyB1c2VkIGEgbG90IHdoZW4gaW5leHBlcmllbmNl ZCBMb2piYW5pc3RzIHNwZWFrIHRvZ2V0aGVyIHZvY2FsbHkuIEl0J3MgcXVpdGUgYSBoYW5keSB3 b3JkCgpfXycnc3V0cmEnJ19fIHgxIGlzIHF1aWNrIGF0IGRvaW5nIHgyCgoKClRyYW5zbGF0ZTog JycueSBrZSdvIHN1dHJhIHRhdmxhJycKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxVaCwgUGxl YXNlIHJlcGVhdCwgeW91IHF1aWNrIHNwZWFrZXIu4oCdfn4KCgoKQW5kIOKAnE9rYXkgb2theSwg SSBnb3QgaXQgYWxyZWFkeSEgSSdsbCBkbyBpdCHigJ0KCgoKQW4gYW5zd2VyOiB+fmdyZXksZ3Jl eTonJ2tlJ28gbmFpIC51aSBuYWkgdmknbycnfn4KCgoKISFMb2piYW4gTGVzc29ucyAtIExlc3Nv biB0d2VudHktdHdvIChxdWFudGlmeWluZyBzdW10aSkKCk1vc3Qgb3RoZXIgbGVhcm5pbmcgbWF0 ZXJpYWxzIHN1Y2ggYXMgVGhlIENvbXBsZXRlIExvamJhbiBMYW5ndWFnZSBhbmQgTG9qYmFuIGZv ciBCZWdpbm5lcnMgd2VyZSB3cml0dGVuIGJlZm9yZSB0aGUgb2ZmaWNpYWwgYWRvcHRhdGlvbiAi eG9ybG8iLCBhIGNoYW5nZSBpbiB0aGUgcnVsZXMgYWJvdXQgZ2FkcmkgZGVmaW5pdGlvbiBhbmQg Z2FkcmkgcXVhbnRpZmljYXRpb24uIFRoZSBvYnNvbGV0ZW5lc3Mgb2Ygc29tZSBvZiB0aGUgdGV4 dCBpbiB0aGUgb2xkZXIgbGVhcm5pbmcgbWF0ZXJpYWxzIHdhcyBhIG1ham9yIGNhdXNlIGZvciB0 aGUgbW90aXZhdGlvbiB0byB3cml0ZSB0aGVzZSBsZXNzb25zLiBVbmZvcnR1bmF0ZWx5IGZvciBt ZSwgcXVhbnRpZmljYXRpb24gb2Ygc3VtdGkgY2FuIGJlY29tZSBhIHZlcnkgY29tcGxleCB0b3Bp YyB3aGVuIHRoZSBpbXBsaWNhdGlvbnMgb2YgY2VydGFpbiBydWxlcyBhcmUgZGlzY3Vzc2VkIGlu IGRldGFpbC4gSW4gb3JkZXIgdG8gZnVsZmlsbCB0aGUgZ29hbCBvZiB0aGlzIHRleHQgYmVpbmcg YWNjdXJhdGUgZW5vdWdoIHRvIHJlcHJlc2VudCB0aGUgb2ZmaWNpYWwgImdvbGQgc3RhbmRhcmQi IEJQRksgcnVsZXMsIHRoaXMgY2hhcHRlciB3YXMgYW1vbmcgdGhlIGxhc3Qgb25lcyBmaW5pc2hl ZCBhbmQgdGhlIG9uZXMgbW9zdCBmcmVxdWVudHkgcmV3cml0dGVuLiBJIHN0cm9uZ2x5IGVuY291 cmFnZSBhbnlvbmUgd2hvIGZpbmRzIG1pc3Rha2VzIGluIHRoaXMgdGV4dCB0byBjb250YWN0IG1l IGluIG9yZGVyIGZvciB0aGVtIHRvIGJlIGNvcnJlY3RlZC4KCkhhdmluZyBzYWlkIHRoYXQgZGlz Y2xhaW1lciwgbGV0J3MgZ2V0IHN0YXJ0ZWQ6CgpUaGUgZmlyc3QgY29uY2VwdCB5b3Ugc2hvdWxk IGtub3cgYWJvdXQgaXMgImRpc3RyaWJ1dGl2aXR5Ii4gSW4gbGVzc29uIGZvdXJ0ZWVuIGkgdXNl ZCB0aGUgd29yZCAiaW5kaXZpZHVhbHMiIGFib3V0IGEgZ3JvdXAgb2Ygb2JqZWN0cyBjb25zaWRl cmVkIGRpc3RyaWJ1dGl2ZWx5LiBBIGRpc3RyaWJ1dGl2ZSBncm91cCAnJ2tvJ2EnJyBpcyBmb3Ig YW55IHNlbGJyaSAnJ2Jyb2RhJycgYSBncm91cCBzdWNoIHRoYXQsIGlmICcna28nYSBicm9kYScn IGlzIHRydWUsIGl0IG1lYW5zIHRoYXQgZXZlcnkgbWVtYmVyIG9mIHRoZSBncm91cCBhbHNvIGlz IGNoYXJhY3Rlcml6ZWQgYnkgJydicm9kYScnLiBUaGlzIHN0YW5kcyBpbiBjb250cmFzdCB0byBu b24tZGlzdHJpYnV0aXZpdHkgKHdoaWNoIG1hc3NlcyBoYXZlKSwgaW4gd2hpY2ggdGhlIGdyb3Vw IGhhcyBvdGhlciBwcm9wZXJ0aWVzIHRoYW4gZWFjaCBvZiB0aGUgaW5kaXZpZHVhbHMgZG8uIFRo ZSBkaXN0aW5jdGlvbiBiZXR3ZWVuIGRpc3RyaWJ1dGl2aXR5IChpbmRpdmlkdWFsLWxpa2UpIGFu ZCBub24tZGlzdHJpYnV0aXZpdHkgKG1hc3MtbGlrZSkgaXMgb2YgcmVsZXZhbmNlIHdoZW4gcXVh bnRpZnlpbmcgc3VtdGkuCgpMZXQgdXMgZmlyc3QgY29uc2lkZXIgaG93IG9uZSBjYW4gcXVhbnRp ZnkgZGVjcmlwdGlvbiBzdW10aSwgd2hpY2ggYXJlIHN1bXRpIG9mIHRoZSBmb3JtIEdBRFJJIEJS SVZMQS4gVGhlIG51bWJlciBzdHJpbmcgd2hpY2ggZG9lcyB0aGUgcXVhbnRpZmljYXRpb24gY2Fu IGJlIHBsYWNlZCBiZWZvcmUgdGhlIGdhZHJpLCBpbiB3aGljaCBjYXNlIGl0IGlzIHJlZmVycmVk IHRvIGFzIGFuIF9fb3V0ZXIgcXVhbnRpZmllcl9fLCBhbmQgaXQgY2FuIGJlIHBsYWNlZCBiZXR3 ZWVuIHRoZSBnYWRyaSBhbmQgdGhlIGJyaXZsYSwgaW4gd2hpY2ggY2FzZSBpdCdzIGFuIF9faW5u ZXIgcXVhbnRpZmllcl9fLiBBbnkga2luZCBvZiBudW1iZXIgc3RyaW5nIGNhbiBhY3QgYXMgYSBx dWFudGlmaWVyLgoKVGhlIHJ1bGVzIGZvciBob3cgaW5uZXIgYW5kIG91dGVyIHF1YW50aWZpZXJz IGFmZmVjdHMgc3VtdGkgZGVwZW5kIG9uIHRoZSBraW5kIG9mIGdhZHJpIHdoaWNoIGlzIHVzZWQ6 CgoKCi0gLScnbG8nJyBhbmQgJydsZScnLSAtIEFuIGlubmVyIHF1YW50aWZpZXIgdGVsbHMgdXMg aG93IG1hbnkgb2JqZWN0cyBhcmUgYmVpbmcgc3Bva2VuIG9mIC0gaG93IG1hbnkgb2JqZWN0cyBh cmUgaW4gdGhlIGRpc2NvdXJzZSB0b3RhbC4gSWYgYW4gb3V0ZXIgcXVhbnRpZmllciBpcyBwcmVz ZW50LCB0aGUgc3VtdGkgaXMgZGlzdHJpYnV0ZWQgb3ZlciB0aGF0IGFtb3VudCBvZiBvYmplY3Rz LiBBcyBzdGF0ZWQgZWFybGllciwgaWYgbm8gb3V0ZXIgcXVhbnRpZmllciBpcyBwcmVzZW50LCBp dCdzIHZhZ3VlIGhvdyBtYW55IG9iamVjdHMgdGhlIHNlbGJyaSBhcHBsaWVzIHRvICh0aG91Z2gg bm90IG5vbmUpLCBhbmQgd2hldGhlciBpdCBkb2VzIHNvIGRpc3RyaWJ1dGl2ZWx5IG9yIG5vbi1k aXN0cmlidXRpdmVseS4gRXhhbXBsZXMgYXJlIGFsd2F5cyBhIGdvb2QgaWRlYSwgc28gaGVyZSB0 aGV5IGFyZToKCicnbXUgbG8gbXUgYmFrbmkgY3Ugc2UgamlybmEnJyAtIFRoZSBpbm5lciBxdWFu dGlmaWVyIG9mIGZpdmUgdGVsbHMgdXMgdGhhdCB3ZSBzcGVhayBhYm91dCBmaXZlIHBpZWNlcyBv ZiBjYXR0bGUsIGFuZCB0aGUgb3V0ZXIgcXVhbnRpZmllciBvZiBmaXZlIHRlbGxzIHVzIHRoYXQg dGhlIHNlbGJyaSBpcyB0cnVlIGZvciBlYWNoIG9mIHRoZSBmaXZlLiBUaGVyZWZvcmUsIGl0IG1l YW5zICJBbGwgdGhlIGZpdmUgY293cyBoYWQgaG9ybnMiLiAKCl9fJydiYWtuaScnX18geDEgaXMg YSBjb3cvb3gvY2F0dGxlL2NhbGYgZXRjIG9mIGJyZWVkIHgyCgpfXycnamlybmEnJ19fIHgxIGlz IHRoZSBob3JuIG9mIHgyIChtZXRhcGhvcjogYW55IHBvaW50ZWQgZXh0cmVtaXR5KQoKCgpXaGF0 IGRvZXMgdGhlIGZvbGxvd2luZyBicmlkaSBtZWFuPwoKJydsbyBydSd1cmd1YnVwdSBiZSBsaSBy ZSBwaSB6ZSBtdSBjdSBqZGltYSBsbyBwYSByZSBzb3ZkYScnCgpfXycncnUndXJndWJ1cHUnJ19f IHgxIGlzIG1lYXN1cmVzIHRvIGJlIHgyIEJyaXRpc2ggcG91bmRzIChHQlApCgpfXycnamRpbWEn J19fIHgxIGlzIHRoZSBwcmljZSBvZiB4MiB0byBidXllciB4MyBzZXQgYnkgdmVuZG9yIHg0Cgpf Xycnc292ZGEnJ19fIHgxIGlzIGEgZ2FtZXRlIChlZ2cvc3Blcm0pIG9mIHgyCgpBbnN3ZXI6IH5+ Z3JleSxncmV5OiAiVHdlbHZlIGVnZ3MgY29zdCAyLjc1IEJyaXRpc2ggcG91bmRzIiB3aGljaCwg YXMgdGhlIEVuZ2xpc2ggdHJhbnNsYXRpb24sIGNvdWxkIG1lYW4gYm90aCB0aGF0IHRoZXkgY29z dCAyLjc1IGVhY2ggKGRpc3RyaWJ1dGl2ZWx5KSBvciB0aGF0IGFsbCB0d2VsdmUgdG9nZXRoZXIg Y29zdCAyLjc1IChub24tZGlzdHJpYnV0aXZlbHkpfn4KCgoKJydzbyBsZSB0YSBwYSBwYSBjaSdl cmtlaSBjdSBjbGFtYXUgbWknJyAobm90aWNlIHRoYXQgdGhlICcndGEnJyBnb2VzIGJlZm9yZSB0 aGUgaW5uZXIgcXVhbnRpZmllcikKCl9fJydjaSdlcmtlaScnX18geDEgcGxheXMgZ2FtZSB4MiBn b3ZlbmVyZCBieSBydWxlcyB4MyBpbnRlcnJlbGF0aW5nIGdhbWUgcGFydHMgeDQge3RoaXMgaXMg dXNlZCB0byB0cmFuc2xhdGUgInBsYXkiIGluIHRoZSBzZW5zZSAicGxheSBhIGdhbWUiIHJhdGhl ciB0aGFuLCBmb3IgaW5zdGFuY2UgInBsYXlpbmcgcHJldGVuZCIgb3IgInBsYXlpbmcgSG91c2Ui fQoKX18nJ2NsYW1hdScnX18geDEgaXMgdGFsbGVyL2xvbmdlciB0aGFuIHgyIGluIGRpcmVjdGlv biB4MyBteSBtYXJpZ2luIHg0CgpBbnN3ZXI6IH5+Z3JleSxncmV5OlRoZSBpbm5lciBzdGF0ZXMg dGhlcmUgYXJlIDExIHBsYXllcnMgaW4gdGhlIGRpc2NvdXJzZSwgYW5kIHRoZSBvdXRlciBzdGF0 ZXMgdGhhdCB0aGUgc2VsYnJpIGFwcGxpZXMgdG8gbmluZSBvZiB0aGVtIGRpc3RyaWJ1dGl2ZWx5 LiBUaHVzIGl0IG1lYW5zICJOaW5lIG9mIHRoZSBlbGV2ZW4gcGxheWVycyBhcmUgdGFsbGVyIHRo YW4gbWUifn4KCgoKVGhlcmUgYXJlIGEgZmV3IHBvaW50cyB0aGF0IG5lZWRzIHRvIGJlIHJhaXNl ZCByZWdhcmRpbmcgcXVhbnRpZmljYXRpb24gb2YgJydsbycnLycnbGUnJzoKCkZpcnN0bHksICcn bG8nJyBpcyB1bmlxdWUgaW4gdGhhdCAie251bWJlcn0ge3NlbGJyaX0iIGlzIGRlZmluZWQgYXMg IntudW1iZXJ9ICcnbG8nJyB7c2VsYnJpfSIuIFRoZXJlZm9yZSwgJydjaSBnZXJrdSBjdSBiYXRj aSByZSBuYW5tdScnIGlzIGRlZmluZWQgdG8gYmUgJydjaSBsbyBnZXJrdSBjdSBiYXRjaSByZSBs byBuYW5tdScnLCB3aGljaCBjb25zaWRlcnMgYm90aCB0aGUgZ3JvdXAgb2YgZG9ncyBhbmQgdGhl IGdyb3VwIG9mIG1lbiBkaXN0cmlidXRpdmVseS4gVGhlcmVmb3JlLCBlYWNoIG9mIHRoZSB0aHJl ZSBkb2dzIGJpdCBlYWNoIG9mIHRoZSB0d28gbWVuLCB3aXRoIHNpeCBiaXRpbmcgZXZlbnRzIGlu IHRvdGFsLgoKX18nJ2JhdGNpJydfXyB4MSBiaXRlcy9waW5jaGVzIHgyIGF0IGxvY3VzIHgzIHVz aW5nIHg0IGFzIHBpbmNoaW5nIHRvb2wuCgpTZWNvbmRseTogV2hhdCBpZiB0aGVyZSBpcyBubyBv dXRlciBxdWFudGlmaWVyPyBEb2VzIHRoaXMgbWVhbiB0aGF0IGl0IF9faXNfXyB0aGVyZSwgYnV0 IGl0J3MgZWxpZGVkPyBOb3BlLiBJZiB0aGVyZSBpcyBhbnkga2luZCBvZiBvdXRlciBxdWFudGlm aWVyLCBlbGlkZWQgb3Igbm90LCBpdCB3b3VsZCBmb3JjZSB0aGUgc3VtdGkgdG8gYmUgZGlzdHJp YnV0aXZlLCB3aGljaCB3b3VsZCBtZWFuIHRoYXQgbmVpdGhlciAnJ2xvJycgbm9yICcnbGUnJyBj b3VsZCBiZSB1c2VkIHRvIGRlc2NyaWJlIG1hc3Nlcy4gVGhlcmVmb3JlLCBpZiBubyBvdXRlciBx dWFudGlmaWVyIGlzIHByZXNlbnQsIGl0J3Mgbm90IG9ubHkgZWxpZGVkIC0gaXQncyBzaW1wbHkg bm90IHRoZXJlLiBTdW10aSB3aXRob3V0IGFuIG91dGVyIHF1YW50aWZpZXIgY2FuIGJlIHJlZmVy cmVkIHRvIGFzICJjb25zdGFudHMiLCBldmVuIHRob3VnaCBJIHdvbid0LgoKVGhpcmRseSwgaXQg bWFrZXMgbm8gc2Vuc2UgdG8gaGF2ZSBhbiBvdXRlciBxdWFudGlmaWVyIHdoaWNoIGlzIGxhcmdl ciB0aGFuIHRoZSBpbm5lciBvbmUuIEl0IG1lYW5zIHRoYXQgdGhlIHNlbGJyaSBob2xkcyB0cnVl IGZvciBtb3JlIHN1bXRpIHRoYW4gYXJlIHByZXNlbnQgaW4gdGhlIGRpc2NvdXJzZSAtIGJ1dCBz aW5jZSB0aGV5IGFwcGVhciBpbiBhIGJyaWRpLCB0aGV5IF9fYXJlX18gcGFydCBvZiB0aGUgZGlz Y291cnNlLiBJdCdzIGdyYW1tYXRpY2FsIHRvIGRvIGl0LCB0aG91Z2guCgpMYXN0bHksIHBsYWNp bmcgYSAnJ2xvJycgb3IgYSAnJ2xlJycgaW4gZnJvbnQgb2YgYSBzdW10aSBpcyBncmFtbWF0aWNh bCwgaWYgdGhlcmUgaXMgYW4gaW5uZXIgcXVhbnRpZmllciBwcmVzZW50LiAiJydsbycnLycnbGUn JyB7bnVtYmVyfSB7c3VtdGl9IiBpcyBkZWZpbmVkIGFzICInJ2xvJycvJydsZScnIHtudW1iZXJ9 ICcnbWUnJyB7c3VtdGl9Ii4KClNvIHdoYXQgd291bGQgdGhpcyBtZWFuPyAnJ21pIG5lbGNpIGxv aSBtaSBicmlqdSBrYW5zYSAuaSBrdSdpIGNpIGxvIHJlIG11IGppJ2kgcmkgY3UgbGF6bmknJwoK X18nJ2JyaWp1JycnX18geDEgaXMgYW4gb2ZmaWNlIGZvciB3b3JrZXIgeDIgYXQgbG9jYXRpb24g eDMKCl9fJydrYW5zYScnX18geDEgYWNjb21wYW5pZXMgeDIgaW4gYWN0aW9uL3N0YXRlL2VudGVy cHJpc2UgeDMKCl9fJydsYXpuaScnX18geDEgaXMgbGF6eSwgYXZvaWRpbmcgd29yayBjb25jZXJu aW5nIHgyCgpBbnN3ZXI6IH5+Z3JleSxncmV5OiJJIGxpa2UgbXkgY28td29ya2VycywgYnV0IHRo cmVlIG91dCBvZiBhYm91dCB0d2VudHkgZml2ZSBvZiB0aGVtIGFyZSBsYXp5In5+CgoKCi0gLScn bGEnJy0gLSBBbiBpbm5lciBxdWFudGlmaWVyIGlzIGdyYW1tYXRpY2FsIGlmIHRoZSBuYW1lIGlz IGEgc2VsYnJpIC0gaW4gdGhpcyBjYXNlLCBpdCdzIGNvbnNpZGVyZWQgcGFydCBvZiB0aGUgbmFt ZS4gQW4gb3V0ZXIgcXVhbnRpZmllciBpcyB1c2VkIHRvIHF1YW50aWZ5IGRpc3RyaWJ1dGl2ZWx5 IG92ZXIgc3VjaCBpbmRpdmlkdWFscyAobXVjaCBsaWtlICcnbG8nJy8nJ2xlJycpIEl0J3MgZ3Jh bW1hdGljYWwgd2hlbiBwbGFjZWQgaW4gZnJvbnQgb2Yge251bWJlcn0ge3N1bXRpfSwgaW4gd2hp Y2ggY2FzZSwgdGhlIGJvdGggdGhlIG51bWJlciBhbmQgdGhlIHN1bXRpIGlzIGNvbnNpZGVyZWQg dGhlIG5hbWUuCgoKClRyYW5zbGF0ZSB0aGlzOiAnJ3JlIGxhIGNpIGJhcmd1IGN1IGppYm5pIGxl IG1pIHpkYW5pJycKCkFuc3dlcjogfn5ncmV5LGdyZXk6IFR3byAiVGhlIFRocmVlIEFyY2hlcyIg YXJlIGxvY2F0ZWQgY2xvc2UgdG8gbXkgaG91c2UiIChQZXJoYXBzIFRoZSBUaHJlZSBBcmNoZXMg YXJlIGEga2luZCBvZiByZXN0YXVyYW50Pyl+fgoKCgotIC0nJ2xvaScnIGFuZCAnJ2xlaScnLSAt IEFuIGlubmVyIHF1YW50aWZpZXIgdGVsbHMgdXMgaG93IG1hbnkgbWVtYmVycyB0aGVyZSBhcmUg aW4gdGhlIG1hc3MvbWFzc2VzIGluIHF1ZXN0aW9uLiBBbiBvdXRlciBxdWFudGlmaWVyIHF1YW50 aWZpZXMgZGlzdHJpYnV0aXZlbHkgeyF9IG92ZXIgdGhlc2UgbWFzc2VzCgpOb3RpY2UgaGVyZSB0 aGF0IHdoaWxlIG1hc3NlcyBjb25zaXN0IG9mIGEgbnVtYmVyIG9mIG9iamVjdHMgY29uc2lkZXJl ZCBub24tZGlzdHJpYnV0aXZlbHksIGFuIG91dGVyIHF1YW50aWZpZXIgYWx3YXlzIHRyZWF0cyBl YWNoIG9mIHRoZXNlIG1hc3NlcyBhcyBhbiBpbmRpdmlkdWFsLgoKV2hlbiBwbGFjZWQgYmVmb3Jl IGEgbnVtYmVyIHN0cmluZywgdGhlbiBhIHN1bXRpLCAnJ2xvaScnLycnbGVpJycgaXMgZGVmaW5l ZCBhcyAiJydsbyBndW5tYSBiZSBsbycnLycnbGUnJyB7bnVtYmVyfSB7c3VtdGl9IiAtICJUaGUg bWFzcyBjb25zaXN0aW5nIG9mIHRoZSB7bnVtYmVyfSBvZiB7c3VtdGl9Ii4KCgoKQXR0ZW1wdCB0 byB0cmFuc2xhdGUgdGhpczogJydyZSBkZWkgZ3VubWEgcmUgbG9pIHplIHZhbHNpIC5pIGNhJ2Ug cGEgZGVpIGphaSBnYXUgamV0bnUnJwoKX18nJ2d1bm1hJydfXyB4MSBpcyBhIG1hc3Mgb2YgdGhl IGluZGl2aWR1YWxzIHgyCgpfXycndmFsc2knJ19fIHgxIGlzIGEgd29yZCwgbWVhbmluZyB4MiBp biBsYW5ndWFnZSB4MwoKX18nJ2NhJ2UnJ19fIEF0dGl0dWRpbmFsOiBFdmlkZW50aWFsOiBJIGRl ZmluZQoKX18nJ2pldG51JydfXyB4MSBpcyB0cnVlIGFjY29yZGluZyB0byBtZXRhcGh5c2ljcy9l cGlzdGVtb2xvZ3kgeDIKCkFuc3dlcjogfn5ncmV5LGdyZXk6ICJUaGVzZSB0d28gdXR0ZXJhbmNl cyBhcmUgYSBtYXNzLCBjb25zaXN0aW5nIG9mIHR3byBpbmRpdmlkdWFsIG1hc3NlcyBlYWNoIG9m IHNldmVuIHdvcmRzLiBJIGRlZmluZTogVGhpcyBvbmUgdXR0ZXJhbmNlIGNhdXNlcyB7aXR9IHRv IGJlIHRydWUuIn5+CgoKCi0gLScnbGFpJyctIC0gTXVjaCBsaWtlICcnbGEnJywgYW4gaW5uZXIg cXVhbnRpZmllciAod2hlbiBuYW1lIGlzIGEgc2VsYnJpKSBpcyBwYXJ0IG9mIHRoZSBuYW1lLiBB biBvdXRlciBvbmUgcXVhbnRpZmllcyBkaXN0cmlidXRpdmVseS4gQmVmb3JlIGEgbnVtYmVyK3N1 bXRpLCBib3RoIHRoZSBzdW10aSBhbmQgdGhlIG51bWJlciBtYWtlIHVwIHRoZSBuYW1lLgoKV2hl biBhIGZyYWN0aW9uIGlzIHVzZWQgYXMgYW4gb3V0ZXIgcXVhbnRpZmllciB0byBxdWFudGlmeSAn J2xvaScnLCAnJ2xlaScnIG9yICcnbGFpJycsIG9uZSBzcGVha3MgYWJvdXQgb25seSBwYXJ0IG9m IHRoZSBtYXNzIChmb3IgaW5zdGFuY2UsICJoYWxmIG9mIHRoZSBKb2huc29ucyIgLSAnJ3BpIG11 IGxhaSAuZGphbnN5bi4nJykuCgoKCi0gLScnbG8naScnIGFuZCAnJ2xlJ2knJy0gLSBBbiBpbm5l ciBxdWFudGlmaWVyIGRlc2NyaWJlcyB0aGUgYW1vdW50IG9mIG1lbWJlcnMgb2YgdGhlIHNldC4g QW4gb3V0ZXIgcXVhbnRpZmllcyBkaXN0cmlidXRpdmVseSBvdmVyIHNldmVyYWwgb2Ygc3VjaCBz ZXRzLiBXaGVuIHBsYWNlZCBiZWZvcmUgYSBudW1iZXIgYW5kIGEgc3VtdGksIGl0J3MgZGVmaW5l ZCBhcyAiJydsbyBzZWxjbWkgYmUgJydsbycnLycnbGUnJyB7bnVtYmVyfSB7c3VtdGl9IiAtICJU aGUgc2V0IG9mIHtudW1iZXJ9IHtzdW10aX0iLgoKCgpUcmFuc2xhdGUgJydsbydpIHJvIHNlIGNp bmtpIGN1IGJyYW1hdSBsYSdhIHBhIG5vIG5vIGxvJ2kgcm8gc2UgYm9neWthbWp1IGp1dHNpJycK Cl9fJydjaW5raScnX18geDEgaXMgYW4gaW5zZWN0IG9mIHNwZWNpZXMgeDIKCl9fJydsYSdhJydf XyBBdHRpdHVkaW5hbDogRGlzY3Vyc2l2ZTogUHJvYmFibHkKCl9fJydicmFtYXUnJ19fIHgxIGlz IGJpZ2dlciB0aGFuIHgyIGluIGRpbWVuc2lvbiB4MyBieSBtYXJpZ2luIHg0CgpfXycnYm9neWth bWp1JydfXyB4MSBpcyB0aGUgc3BpbmUgb2YgeDIKCl9fJydqdXRzaScnX18geDEgaXMgdGhlIHNw ZWNpZXMgb2YgZ2VudXMgeDIsIGZhbWlseSB4MyAuLi4gKG9wZW4gZW5kZWQgY2xhc3NpZmljYXRp b24pCgpBbnN3ZXI6IH5+Z3JleSxncmV5OiAiVGhlIHNldCBvZiBhbGwgdGhlIHNwZWNpZXMgb2Yg aW5zZWN0cyBpcyBwcm9iYWJseSBiaWdnZXIgdGhhbiBvbmUgaHVuZHJlZCBzZXRzIG9mIGFsbCBz cGVjaWVzIG9mIHZlcnRlYnJhdGVzIn5+CgoKCi0gLScnbGEnaScnLSAtIEFzIHdpdGggJydsYWkn JwoKTGlrZSB3aXRoIHRoZSBtYXNzIGdhZHJpLCBhbiBvdXRlciBxdWFudGlmaWVyIGJlZm9yZSBh IHNldCBnYWRyaSBlbmFibGVzIG9uZSB0byBzcGVhayBhYm91dCBhIGZyYWN0aW9uIG9mIGEgc2V0 LiBJbiBmcm9udCBvZiBhIG51bWJlciBhbmQgYSBzdW10aSwgaXQncyBkZWZpbmVkIGFzICInJ2xv IHNlbGNtaSBiZSBsYScnIHtudW1iZXJ9IHtzdW10aX0iIC0gIlRoZSBzZXQgY29uc2lzdGluZyBv ZiBUaGUge051bWJlcn0ge1N1bXRpfSIgKGNvbnNpZGVyZWQgYSBuYW1lKQoKCgotIC0nJ2xvJ2Un JyBhbmQgJydsZSdlJyctIC0gQXJlIGZvciBzb21lIHJlYXNvbiBub3QgaW5jbHVkZWQgaW4gdGhl IGN1cnJlbnRseSBhY2NlcHRlZCBnYWRyaSBwcm9wb3NhbC4gSWYgb25lIHdlcmUgdG8gZXh0ZW5k IHRoZSBydWxlcyBvZiBhbm90aGVyIGdhZHJpLCAnJ2xvJycvJydsZScnIHdvdWxkIHByb2JhYmx5 IGJlIHRoZSBiZXN0IGNob2ljZSAoc2luY2UgYm90aCBvcGVyYXRlcyB3aXRoIGluZGl2aWR1YWxz IHJhdGhlciB0aGFuIGdyb3VwcyksIGFuZCBzbyBvbmUgd291bGQgZXhwZWN0IHRoZSBvdXRlciBx dWFudGlmaWVyIHRvIGZvcmNlIGRpc3RyaWJ1dGl2aXR5IG92ZXIgdGhlIGFtb3VudCBvZiB0eXBp Y2FsL3N0ZXJlb3R5cGljYWwgdGhpbmdzIGdpdmVuIGJ5IHRoZSBpbm5lciBxdWFudGlmaWVyLgoK CgpXaGVuIHF1YW50aWZ5aW5nIHN1bWthJ2kgcmVwcmVzZW50aW5nIHNldmVyYWwgb2JqZWN0cywg aXQgaXMgdXNlZnVsIHRvIHJlbWVtYmVyIHRoYXQgdGhleSBhcmUgdXN1YWxseSBtYXNzZXMuIEJ5 IGRlZmluaXRpb24sICJ7bnVtYmVyfSB7c3VtdGl9IiBpcyBkZWZpbmVkIGFzICJ7bnVtYmVyfSAn J2RhIHBvaSBrZSdhIG1lJycge3N1bXRpfSIuIFlvdSB3aWxsIG5vdCBiZSBmYW1pbGlhciB3aXRo ICcnZGEnJyB1bnRpbCBhIGZldyBsZXNzb25zIGxhdGVyLCBzbyB0YWtlIGl0IG9uIGZhaXRoIHRo YXQgaXQgbWVhbnMgInNvbWV0aGluZyIgaW4gdGhpcyBjb250ZXh0LiBUaGVyZWZvcmUsICcnY2kg bWknJyBtZWFucyAiVHdvIG9mIHRob3NlIHdobyBiZWxvbmcgdG8gInVzIiIuIFdoZW4gcXVhbnRp Znlpbmcgc3VjaCBtYXNzZXMsIGl0IGNhbiBzYWZlbHkgYmUgYXNzdW1lZCB0aGF0IHRoZSByZWxh dGlvbiBpbXBsaWVkIGJ5ICcnbWUnJyBpcyBtZW1iZXJzaGlwIG9mIHRoZSBtYXNzLCBhbmQgdGhl cmVmb3JlICcnY2kgbWknJyBpcyAiVGhyZWUgb2YgdXMiLgoKCgpTb21lIGltcG9ydGFudCB1c2Vz IG9mIHF1YW50aWZpY2F0aW9uIHJlcXVpcmVzIHlvdSB0byBiZSBxdWFudGlmeSBzZWxicmkgb3Ig b2JqZWN0cyB3aG9zZSBpZGVudGl0eSBpcyB1bmtub3duLiBUaGlzIGlzIGRvbmUgYnkgImxvZ2lj YWxseSBxdWFudGlmaWVkIHZhcmlhYmxlcyIuIFRoZXNlLCBhcyB3ZWxsIGFzIGhvdyB0byBxdWFu dGlmeSB0aGVtIHdpbGwgYmUgY292ZXJlZCBpbiBsZXNzb25zIHR3ZW50eS1zZXZlbi4KCgoKTGFz dGx5LCBob3cgY2FuIHlvdSBxdWFudGlmeSB1bmNvdW50YWJsZSBzdWJzdGFuY2VzIGxpa2Ugc3Vn YXIgb3Igd2F0ZXI/IE9uZSBzb2x1dGlvbiBpcyB0byBxdWFudGlmeSBpdCB1c2luZyBpbmV4YWN0 IG51bWJlcnMuIFRoaXMgdXNlIGlzIHZhZ3VlLCBub3Qgb25seSBiZWNhdXNlIHRoZSB2YWx1ZSBv ZiB0aGUgbnVtYmVyIGlzIHZhZ3VlLCBidXQgYWxzbyBiZWNhdXNlIGl0J3Mgbm90IHNwZWNpZmll ZCBvbiB3aGF0IHNjYWxlIHlvdSdyZSBjb3VudGluZzogVGhlIHN1Z2FyIGNvdWxkIGJlIGNvbnNp ZGVyZWQgYSBncm91cCBvZiBtYW55IGNyeXN0YWxzLCBjb3VudGVkIG9uZSBhdCBhIHRpbWUsIGFu ZCB0aGUgd2F0ZXIgY291bGQgYmUgcXVhbnRpZmllZCBieSB0aGUgYW1vdW50cyBvZiByYWluZHJv cHMgaXQgdG9vayB0byBtYWtlIHRoZSBib2R5IG9mIHdhdGVyIGluIHF1ZXN0aW9uLiBXaGlsZSB0 aGlzIHdheSBvZiBjb3VudGluZyBpcyBsZWdpdGltYXRlLCBpdCdzIG5vdCB2ZXJ5IGV4YWN0IGFu ZCBjYW4gZWFzaWx5IGNvbmZ1c2Ugb3IgbWlzbGVhZC4KCkEgd2F5IHRvIGJlIGV4cGxpY2l0IGFi b3V0IG5vbi1jb3VudGFiaWxpdHkgaXMgdG8gdXNlIHRoZSBudWxsIG9wZXJhbmQgJyd0dSdvJycg YXMgYW4gaW5uZXIgcXVhbnRpZmllci4KCl9fJyd0dSdvJydfXyBOdWxsIG9wZXJhbmQgKCDDmCAp LiBVc2VkIGluIHVuYXJ5IG1la3NvLgoKVGhpcyBzb2x1dGlvbiBpcyBlbGVnYW50IGFuZCBpbnR1 aXRpdmUsIGFuZCBhbHNvIGdpdmVzIG1lIGFuIGV4Y3VzZSB0byBxdW90ZSB0aGlzIGhvcnJpZnlp bmcsIHlldCBjb21pY2FsIGV4YW1wbGUgZnJvbSB0aGUgb3JpZ2luYWwgJyd4b3JsbycnLXByb3Bv c2FsOgoKJydsZSBuYW5tdSBjdSBzZSBzbnV0aSAuaSBqYSdlIGJvIGxvIHR1J28gZ2Vya3UgY3Ug a3VzcGUgbGUga2xhamknJwoKX18nJ3NudXRpJydfXyB4MSBpcyBhbiBhY2NpZGVudCBvbiB0aGUg cGFydCBvZiB4MgoKX18nJ2phJ2UnJ19fIHN1bXRjaXRhOiBCQUk6IChmcm9tICcnamFsZ2UnJyk6 IEJyaWRpIHJlc3VsdHMgaW4ge3N1bXRpfSAKCl9fJydrdXNwZScnX18geDEgc3BhbnMvZXh0ZW5k cyBvdmVyIHgyCgpfXycna2xhamknJ19fIHgxIGlzIGEgcm9hZC9hdmVudWUvc3RyZWV0IGF0IHgy IGFjY2Vzc2luZyB4MwoKCgpXaGF0IGRvZXMgaXQgbWVhbj8KCkFuc3dlcjogfn5ncmV5LGdyZXk6 ICJUaGUgbWFuIGhhZCBhbiBhY2NpZGVudCBhbmQgc28gdGhlcmUgd2FzIGRvZyBhbGwgb3ZlciB0 aGUgcm9hZCJ+fgoKCgpBIHNlY29uZCBtZXRob2Qgb2YgcXVhbnRpZnlpbmcgc3Vic3RhbmNlcyBp cyB0byB1c2UgdGhlIHRlbnNlcyAnJ3ZlJ2knJywgJyd2ZSdhJycgYW5kICcndmUndScnIGFzIG1l bnRpb25lZCBpbiBsZXNzb24gdGVuOgoKJyd0aSB2ZSdpIGRqYWN1JycgLSBUaGlzIGlzIGEgc21h bGwgYW1vdW50IG9mIHdhdGVyCgpfXycnZGphY3UnJ19fIHgxIGlzIGFuIGV4cGFuc2Ugb2Ygd2F0 ZXIvaXMgbWFkZSBvZiB3YXRlci9jb250YWlucyB3YXRlcgoKCgpUaGlyZGx5LCBvZiBjb3Vyc2Us IHlvdSBjb3VsZCB1c2UgYSBicml2bGEgdG8gZ2l2ZSBhbiBleGFjdCBtZWFzdXJlbWVudDoKCicn bGUgdGEgZGphY3UgY3Uga2knb2dyYSBiZSBsaSByZSBwaSBraSdvIGtpJ28nJyAtICJUaGF0IHdh dGVyIGhhcyBhIG1hc3Mgb2YgMi4wMDAgMDAwIGtpbG9ncmFtcyIKCl9fJydraSdvZ3JhJydfXyB4 MSBtZWFzdXJlcyBpbiBtYXNzIHgyIGtpbG9ncmFtcyBieSBzdGFuZGFyZCB4MwoKCgohIUxvamJh biBMZXNzb25zIC0gTGVzc29uIHR3ZW50eS10aHJlZSAobmVnYXRpb24pCgpTb21ldGltZXMsIGp1 c3Qgc2F5aW5nIHdoYXQncyB0aGUgdHJ1dGggaXMgbm90IGVub3VnaC4gT2Z0ZW4sIHdlIHdhbnQg dG8gc3BlY2lmeSB3aGF0J3Mgbm90IHRoZSB0cnV0aCwgYW5kIHdlIGRvIHRoaXMgYnkgdXNpbmcg bmVnYXRpb24uCgpOZWdhdGlvbiBpbiBFbmdsaXNoIG1vc3RseSBpbnZvbHZlcyDigJxub3TigJ0s IGFuZCBpcyBjb21wbGV0ZWx5IGFyYml0cmFyeSBhbmQgYW1iaWd1b3VzLiBXZSwgYXMgTG9qYmFu aXN0cywgY2FuJ3QgaGF2ZSB0aGF0LCBvZiBjb3Vyc2UsIHNvIExvamJhbiBjb250YWlucyBhbiBl bGVnYW50IGFuZCB1bmFtYmlnaW91cyBzeXN0ZW0gZm9yIG5lZ2F0aW5nLiBXaGF0IHdpbGwgYmUg cHJlc2VudGVkIGhlcmUgYXJlIHRoZSBvZmZpY2lhbCBnb2xkLXN0YW5kYXJkIHJ1bGVzLiBEaXNh cHByb3ZhbCBvZiB0aGVzZSAiZ29sZGVuIHJ1bGVzIiBjb25jZXJuaW5nICcnbmEnJyBpcyBncm93 aW5nLCBhbmQgdGhlcmUgaXMgZGlzYWdyZWVtZW50IGFib3V0IHdoYXQgcnVsZSBzZXQgc2hvdWxk IHJlcGxhY2UgaXQuIEZvciBub3csIEkgd2lsbCBzdGljayB3aXRoIHRoZSBvZmZpY2lhbCBydWxl cywgYW5kIHRoZXJlZm9yZSwgc28gd2lsbCB5b3UsIGRlYXIgcmVhZGVyLgoKVGhlIGZpcnN0IHlv dSBuZWVkIHRvIGtub3cgYWJvdXQgaXMgYnJpZGkgbmVnYXRpb24sIHNvIGNhbGxlZCBiZWNhdXNl IGl0IG5lZ2F0ZXMgdGhlIGJyaWRpIGl0J3MgaW4sIHNheWluZyBpdCdzIG5vdCB0cnVlLiBUaGUg d2F5IHRvIG5lZ2F0ZSBhIGJyaWRpIGlzIHRvIHBsYWNlICcnbmEnJyBmaXJzdCBpbiB0aGUgc2Vu dGVuY2Ugd2l0aCBhICcna3UnJyBhZnRlciBpdCwgb3IganVzdCBiZWZvcmUgdGhlIHNlbGJyaS4g CgpfXycnc3BlbmknJ19fIHgxIGlzIG1hcnJpZWQgdG8geDIgdW5kZXIgY29udmVudGlvbiB4MwoK VGh1czogJyduYSBrdSBsZSBtaSBzcGVuaSBjdSBuaW5tdScnIHN0YXRlcyB0aGF0IOKAnE15IHNw b3VzZSBpcyBub3QgYSB3b21hbuKAnS4gSXQgc3RhdGVzIG5vdGhpbmcgYWJvdXQgd2hhdCBteSB3 aWZlIGlzLCBvciBpZiBJIGV2ZW4gaGF2ZSBhIHdpZmUuIEl0IG9ubHkgc3RhdGVzIHRoYXQgSSBk byBub3QgaGF2ZSBhIHdpZmUgd2hvIGlzIGFsc28gYSB3b21hbi4gVGhpcyBoYXMgYW4gaW1wb3J0 YW50IGltcGxpY2F0aW9uOiBJZiB0aGUgbmVnYXRpb24gb2YgYSBicmlkaSBpcyBmYWxzZSwgdGhl IGJyaWRpIG11c3QgYmUgdHJ1ZTogJyduYSBrdSBsZSBtaSBzcGVuaSBjdSBuYSBuaW5tdScnIG11 c3QgbWVhbiB0aGF0IEkgaGF2ZSBib3RoIGEgc3BvdXNlLCBhbmQgdGhhdCBzaGUgaXMgYSBzaGUu CgpJdCBpcyBwb3NzaWJsZSB0byB1c2UgYnJpZGkgbmVnYXRpb25zIGluIGFsbCBicmlkaSwgZXZl biB0aGUgaW1wbGljaXQgYnJpZGkgb2YgZGVzY3JpcHRpdmUgc3VtdGkuICcnbG8gbmEgcHJlbnUn JyBjYW4gcmVmZXIgdG8gYW55dGhpbmcgbm9uLWh1bWFuLCB3aGV0aGVyIGl0IGJlIGEgc3BoaW54 LCBhIGJhc2ViYWxsIG9yIHRoZSBwcm9wZXJ0eSBvZiBhcHByb3ByaWF0ZW5lc3MuCgoKCl9fJydi YXUnJ19fIHN1bXRjaXRhLCBmcm9tIGJhbmd1OiB1c2luZyB0aGUgbGFuZ3VhZ2Ugb2Yge3N1bXRp fQoKX18nJ3NlIGphJ2UnJ19fIHN1bXRjaXRhLCBmcm9tIHNlIGphbGdlOiBiZWNhdXNlIG9mIHtz dW10aX0KCgoKT2Z0ZW4gd2hlbiB1c2luZyAnJ25hJycsIGl0J3MgYSBwcm9ibGVtIHRoYXQgaXQg bmVnYXRlcyB0aGUgZW50aXJlIGJyaWRpLiBJZiBJIHNheSAnJ21pIG5hIHN1dHJhIHRhdmxhIGJh dSBsZSBnbGliYXUgc2UgamEnZSBsZSBudSBtaSBkb3RjbycnLCBJIGVuZCB1cCBuZWdhdGluZyB0 b28gbXVjaCwgYW5kIGl0IGlzIG5vdCBjbGVhciB0aGF0IEkgd2FudGVkIHRvIG9ubHkgbmVnYXRl IHRoYXQgSSBzcGVhayBmYXN0LiBUaGUgc2VudGVuY2UgY291bGQgc3VnZ2VzdCB0aGF0IEkgaW4g ZmFjdCBzcGVhayBmYXN0IGJlY2F1c2Ugb2Ygc29tZSBvdGhlciByZWFzb24sIGZvciBpbnN0YW5j ZSB0aGF0IEkgc3BlYWsgZmFzdCBpbiBGcmVuY2ggYmVjYXVzZSBJJ20gR2VybWFuLiBUbyBleHBy ZXNzIHRoZSBzZW50ZW5jZSBtb3JlIHByZWNpc2VseSwgSSBuZWVkIHRvIG9ubHkgbmVnYXRlIHRo YXQgSSBzcGVhayBmYXN0LCBhbmQgbm90IHRoZSBvdGhlciB0aGluZ3MuCgpUbyBvbmx5IG5lZ2F0 ZSBwYXJ0IG9mIGEgYnJpZGksICcnbmEga3UnJyBjYW4gYmUgbW92ZWQgYXJvdW5kIHRoZSBicmlk aSBhbmQgcGxhY2VkIGFueXdoZXJlIGEgc3VtdGkgY2FuIGdvLiBJdCB0aGVuIG5lZ2F0ZXMgYW55 IHN1bXRpLCBzZWxicmkgYW5kIHN1bXRjaXRhIHBsYWNlZCBhZnRlciBpdC4gV2hlbiBwbGFjZWQg aW1tZWRpYXRlbHkgYmVmb3JlIHRoZSBzZWxicmksIHRoZSAnJ2t1JycgY2FuIGJlIGVsaWRlZC4K Ck1vdmluZyAnJ25hIGt1JycgZnJvbSB0aGUgbGVmdCBlbmQgb2YgdGhlIGJyaWRpIGFuZCByaWdo dHdhcmRzIGVmZmVjdHMgYW55IHF1YW50aWZpZXJzIGluIGEgY2VydGFpbiB3YXksIGFzIGNhbiBi ZSBzZWVuIGJ5IHRoaXMgZXhhbXBsZToKCgoKVGhlcmUgYXJlIGZvcmNlcyB3aXRoaW4gdGhlIExv amJhbiBjb21tdW5pdHkgd2hvLCBwZXJoYXBzIHJpZ2h0bHksIHRoaW5rIHRoYXQgdGhlcmUgaXMg bm8gZ29vZCByZWFzb24gdGhhdCBhICcnbmEnJyBwbGFjZWQgYmVmb3JlIGEgc2VsYnJpIG5lZ2F0 ZXMgdGhlIGVudGlyZSBicmlkaSwgd2hlcmVhcyBhICcnbmEga3UnJyBhbnkgb3RoZXIgcGxhY2Ug bmVnYXRlcyBvbmx5IHdoYXQgaXMgdHJhaWxpbmcgYmVoaW5kIGl0LiBIb3dldmVyLCBpbiB0aGVz ZSBsZXNzb25zIHlvdSB3aWxsIGJlIHRhdWdodCB3aGF0IGlzIHN0aWxsIHRoZSBvZmZpY2lhbCBz dGFuY2UsIG5hbWVseSB0aGF0ICcnbmEnJyBiZWZvcmUgdGhlIHNlbGJyaSBuZWdhdGVzIHRoZSBi cmlkaS4KCgoKVGhlIHVzZSBvZiAnJ25hIGt1JycgaXMgZXhlbXBsaWZpZWQgd2l0aCB0aGUgZm9s bG93aW5nIGV4YW1wbGVzLgoKJyduYSBrdSBybyByZW1uYSBjdSB2ZXJiYScnIOKAnEl0J3Mgbm90 IHRydWUgdGhhdDogQWxsIGh1bWFucyBhcmUgY2hpbGRyZW7igJ0KCicnc3UnbyByZW1uYSBuYSBr dSBjdSB2ZXJiYScnIOKAnEZvciBhdCBsZWFzdCBvbmUgaHVtYW4gaXQncyBub3QgdHJ1ZSB0aGF0 OiBJdCdzIGEgY2hpbGTigJ0uIFNlZSB0aGF0IHRoZSAnJ25hIGt1JycgaXMgcGxhY2VkIGJlZm9y ZSAnJ2N1JycsIHNpbmNlIGEgc3VtdGkgY2FuIGdvIG9ubHkgYmVmb3JlLCBub3QgYWZ0ZXIgdGhl ICcnY3UnJy4gSGFkIEkgb25seSB1c2VkICcnbmEnJywgaXQgd291bGQgaGF2ZSB0byBnbyBhZnRl ciAnJ2N1JycgLSBidXQgdGhhdCB3b3VsZCBoYXZlIG5lZ2F0ZWQgdGhlIGVudGlyZSBicmlkaSwg bWVhbmluZyAiSXQncyBub3QgdHJ1ZSB0aGF0OiBBdCBsZWFzdCBvbmUgaHVtYW4gaXMgYSBjaGls ZCIuCgoKCldoZW4gdGhlICcnbmEga3UnJyBpcyBtb3ZlZCByaWdodHdhcmRzLCBhbnkgcXVhbnRp ZmllciBpcyBpbnZlcnRlZCAtIHRoYXQgaXM6ICcncm8nJyBpcyB0dXJuZWQgaW50byAnJ3N1J28n Jy4gVGhpcyBpcywgb2YgY291cnNlLCBvbmx5IGlmIHRoZSBtZWFuaW5nIG9mIHRoZSBicmlkaSBo YXMgdG8gYmUgcHJlc2VydmVkLiBUaGlzIG1lYW5zIHRoYXQgd2hlbiB0aGUgJyduYSBrdScnIGlz IHBsYWNlZCBhdCB0aGUgZW5kIG9mIHRoZSBicmlkaSwgb25seSB0aGUgc2VsYnJpIGlzIG5lZ2F0 ZWQgYnV0IGFsbCB0aGUgc3VtdGkgYW5kIHN1bXRjaXRhIGFyZSBwcmVzZXJ2ZWQsIGFzIGNhbiBi ZSBzZWVuIGJ5IHRoZXNlIHRocmVlIGlkZW50aWNhbCBicmlkaToKCl9fJydja3VsZScnX18geDEg aXMgYSBzY2hvb2wgYXQgbG9jYXRpb24geDIgdGVhY2hpbmcgeDMgdG8gc3R1ZGVudHMgeDQgYW5k IG9wZXJhdGVkIGJ5IHg1CgoKCicnbmEga3Ugcm8gdmVyYmEgY3UgdmUgY2t1bGUgZm8gc3UnbyBj a3VsZScnIOKAkyDigJxJdCdzIG5vdCB0cnVlIHRoYXQgYWxsIGNoaWxkcmVuIGFyZSBzdHVkZW50 cyBpbiBhIHNjaG9vbC7igJ0KCicnc3UnbyB2ZXJiYSBjdSB2ZSBja3VsZSBuYSBrdSBmbyBzdSdv IGNrdWxlJycg4oCTIOKAnFNvbWUgY2hpbGRyZW4gYXJlIHN0dWRlbnRzIGluIG5vdCBhIHNpbmds ZSBzY2hvb2wu4oCdCgonJ3N1J28gdmVyYmEgY3UgdmUgY2t1bGUgZm8gcm8gY2t1bGUgbmEga3Un JyDigJMg4oCcU29tZSBjaGlsZHJlbiBhcmUgZm9yIGFsbCBzY2hvb2xzIG5vdCBzdHVkZW50cyBp biB0aGVtLuKAnQoKCgpUaGUgb3Bwb3NpdGUgb2YgJyduYScnIGlzICcnamEnYScnLiBUaGlzIGlz IGJhcmVseSBldmVyIHVzZWQsIHNpbmNlIGl0IGlzIGRlZmF1bHQgaW4gbW9zdCBicmlkaS4gT25l IGV4Y2VwdGlvbiBpcyByZXBlYXRlZCBicmlkaSAobmV4dCBsZXNzb24pLiBTb21ldGltZXMgaXQn cyB1c2VkIHRvIHB1dCBtb3JlIHdlaWdodCBvbiB0aGUgdHJ1dGggb2YgdGhlIGJyaWRpLCBhcyBp biAnJ2xhIC5iYWIuIGphJ2EgbWVsYmknJyA9ICJCb2IgaXMgaW5kZWVkIGJlYXV0aWZ1bCIuCgoK CldoaWxlIHRoZSBtZWNoYW5pc20gb2YgJyduYSBrdScnIHJlc2VtYmxlcyBuYXR1cmFsIGxhbmd1 YWdlIG5lZ2F0aW9uLCBpdCBjYW4gYmUgZGlmZmljdWx0IHRvIGtlZXAgdHJhY2sgb2YgZXhhY3Rs eSB3aGF0IGlzIG5lZ2F0ZWQgYW5kIGhvdyB0aGF0IGFmZmVjdHMgdGhlIGJyaWRpLiBGb3IgdGhh dCByZWFzb24sIHRoZSBjb25zdHJ1Y3QgJyduYSBrdScnIGlzIHJhcmVseSBzZWVuIGFueXdoZXJl IG90aGVyIHRoYW4gdGhlIGJlZ2lubmluZyBvZiBhIGJyaWRpLiBJbiBtb3N0IGNhc2VzIHdoZXJl IG1vcmUgc3BlY2lmaWMgbmVnYXRpb24gaXMgbmVlZGVkIHBlb3BsZSByZXNvcnQgdG8gYSBkaWZm ZXJlbnQgbWV0aG9kLiBUaGlzIG1ldGhvZCwgY2FsbGVkIHNjYWxhciBuZWdhdGlvbiwgaXMgYW4g ZWxlZ2FudCBhbmQgaW50dWl0aXZlIHRvb2wuIFVzaW5nIGl0LCB5b3UgZWZmZWN0IG9ubHkgdGhl IHNlbGJyaSwgc2luY2UgdGhlIHdvcmRzIHVzZWQgaW4gc2NhbGFyIG5lZ2F0aW9uIGJpbmRzIHRv IHRoZSBzZWxicmkgbXVjaCBsaWtlIHRoZSB3b3JkICcnc2UnJy4KClRoZSBuYW1lIOKAnHNjYWxh ciBuZWdhdGlvbuKAnSBpcyBkZXJpdmVkIGZyb20gdGhlIGZhY3QgdGhhdCB0aGUgd29yZHMgd2hp Y2ggYmluZCB0byB0aGUgc2VsYnJpIGNhbiBiZSBwbGFjZWQgYWxvbmcgYSBzY2FsZSBmcm9tIGFm ZmlybWF0aW9uIG92ZXIgbmVnYXRpb24gYW5kIHRvIHN0YXRpbmcgdGhhdCB0aGUgb3Bwb3NpdGUg Y2FzZSBpcyB0cnVlOgoKfHxXb3JkfE1lYW5pbmcKCmplJ2F84oCcSW5kZWVk4oCdOyBzY2FsYXIg YWZmaXJtZXIKCm5vJ2V84oCcTm90IHJlYWxseeKAnSwgc2NhbGFyIG1pZHBvaW50CgpuYSdlfOKA nE5vbi3igJwsIHNjYWxhciBuZWdhdG9yCgp0bydlfOKAnEls4oCdLCDigJxEaXMt4oCcLCDigJxN aXPigJ0gZWN0OyBzY2FsYXIgb3Bwb3Nlcnx8CgoKClRoZXNlIHdvcmRzIGFyZSBub3QgbmVnYXRv cnMgaW4gdGhlIHNhbWUgc2Vuc2UgYXMgJyduYScnLiBUaGV5IGRvIG5vdCBzdGF0ZSB0aGF0IGEg YnJpZGkgaXMgZmFsc2UsIGJ1dCBtYWtlcyBhIHBvc2l0aXZlIHN0YXRlbWVudCB0aGF0IGEgYnJp ZGkgaXMgdHJ1ZSDigJMgdGhlIHNhbWUgYnJpZGksIGJ1dCB3aXRoIGEgZGlmZmVyZW50IHNlbGJy aS4gVGhpcyBkaXN0aW5jdGlvbiBpcyBtb3N0bHkgYWNhZGVtaWMsIHRob3VnaC4gSWYsIGZvciBl eGFtcGxlLCBJIHN0YXRlIHRoYXQgJydtaSBuYSdlIHNlIG5lbGNpJycgIkkgYW0gbm9uLWxpa2Vk IiwgSSBhY3R1YWxseSBzdGF0ZSB0aGF0IHNvbWUgc2VsYnJpIGFwcGxpZXMgdG8gbWUsIHdoaWNo IGlzIGFsc28gb24gYSByZWxldmFudCBzY2FsZSB3aXRoIHRoZSBzZWxicmkgJyduZWxjaScnLiBN b3N0IG9mIHRoZSB0aW1lLCB3ZSBhc3N1bWUgYSBzY2FsZSB3aGVyZSB0aGUgcG9zaXRpb25zIGFy ZSBtdXR1YWxseSBleGNsdXNpdmUgKGxpa2UgbG92ZS1saWtlLWRpc2xpa2UtaGF0ZSksIHNvICcn bWkgbmEnZSBzZSBuZWxjaScnIGltcGxpZXMgJydtaSBuYSBzZSBuZWxjaScnCgpUaGVyZWZvcmUs IHRoZSB3b3JkcyAnJ25vJ2UnJyBhbmQgJyd0bydlJycgc2hvdWxkIG9ubHkgYmUgdXNlZCB3aGVu IHRoZSBzZWxicmkgaXMgcGxhY2VkIG9uIHNvbWUgb2J2aW91cyBzY2FsZToKCicnbGUgbWkgc3Bl bmkgY3UgdG8nZSBtZWxiaScnIOKAkyDigJ1NeSBzcG91c2UgaXMgdWdseeKAnSBtYWtlcyBzZW5z ZSwgc2luY2Ugd2UgaW1tZWRpYXRlbHkga25vdyB3aGF0IHRoZSBvcHBvc2l0ZSBvZiBiZWF1dGlm dWwgaXMsIHdoaWxlCgonJ21pIGtsYW1hIGxlIG1pIHRvJ2UgemRhbmknJyDigJMg4oCdSSBnbyB0 byBteSBvcHBvc2l0ZSB0aGluZyBvZiBob21l4oCdLCB3aGlsZSBncmFtbWF0aWNhbCwgbGVhdmVz IHRoZSBsaXN0ZW5lciBndWVzc2luZyB3aGF0IHRoZSBzcGVha2VyJ3Mg4oCcb3Bwb3NpdGUtaG9t ZeKAnSBpcyBhbmQgc2hvdWxkIGJlIGF2b2lkZWQuCgoKClNvIGhvdyBjYW4geW91IG5lZ2F0ZSBv bmx5IHRoZSBzZWxicmkgd2l0aG91dCBhbHNvIGltcGx5aW5nIHRoYXQgdGhlIHNlbGJyaSBpcyBj b3JyZWN0IGF0IHNvbWUgb3RoZXIgcG9zaXRpb24gb24gYSB0cnV0aC1zY2FsZT8gU2ltcGxlOiBN b3ZpbmcgdGhlICcnbmEga3UnJyB0byB0aGUgcmlnaHRtb3N0IGVuZCBvZiB0aGUgYnJpZGksIGFz IGRlbW9uc3RyYXRlZCBhIGZldyBsaW5lcyBhYm92ZS4gVGhpcyBmZWF0dXJlIGlzIHZlcnkgdXNl ZnVsLiBTb21lIGxvamJhbmlzdHMgcHJlZmVyIHRvIHByZWZpeCB0aGUgcmFmc2kgJyduYXInJyAo dGhlIHJhZnNpIG9mICcnbmEnJykgaW4gZnJvbnQgb2YgdGhlIHNlbGJyaSAtIHRoaXMgaGFzIHRo ZSBzYW1lIGVmZmVjdCwgYnV0IEkgYWR2aXNlIGFnYWluc3QgaXQsIGJlY2F1c2UgaXQgbWFrZXMg ZmFtaWxpYXIgYnJpdmxhIHNlZW0gYWxpZW4sIGFuZCBpdCdzIGhhcmRlciB0byB1bmRlcnN0YW5k IHdoZW4gc3Bva2VuIGNhc3VhbGx5LgoKSWYgYSBzaXR1YXRpb24gYXJpc2VzIHdoZXJlIHlvdSBu ZWVkIHRvIG5lZ2F0ZSBvbmx5IHRoZSBzZWxicmksIGJ1dCB3YW50IGl0IHRvIGJlIGNsZWFyIGJl Zm9yZSB0aGUgZW5kIG9mIHRoZSBicmlkaSwgdGhlIGV4cGVyaW1lbnRhbCBjbWF2byAnJ25hJ2Vp JycsIHdoaWNoIGdyYW1tYXRpY2FsbHkgd29ya3MgbGlrZSAnJ25hJ2UnJywgY2FuIGJlIHVzZWQK Cl9fJyduYSdlaScnX186IE5lZ2F0ZXMgdGhlIGZvbGxvd2luZyBzZWxicmkgb25seQoKCgpUcnkg dG8gdHJhbnNsYXRlIHRoZXNlIHNlbnRlbmNlczoKCuKAnE15IHNwb3VzZSBpcyBub3QgYSB3b21h buKAnSAobWVhbmluZyB0aGF0IGhlIGlzIGEgbWFsZSkKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTon J2xlIG1pIHNwZW5pIGN1IG5hJ2UgLyB0bydlIG5pbm11JycuIFVzaW5nIHNjYWxhciBuZWdhdGlv biBoZXJlIGltcGxpZXMgdGhhdCBoZSBleGlzdHMsIHdoaWNoIG5hIGRpZCBub3Qufn4KCgoK4oCc TXkgc3BvdXNlIGlzIG5vdCByZWFsbHkgYSB3b21hbuKAnQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5 OicnbGUgbWkgc3BlbmkgY3Ugbm8nZSBuaW5tdScnLiBUaGUgc2NhbGUgaGVyZSBpcyBwcmVzdW1l ZCB0byBiZSBmcm9tIHdvbWFuIHRvIG1hbi5+fgoKCgrigJxJIGRvbid0IHNwZWFrIGZhc3QgaW4g RW5nbGlzaCBiZWNhdXNlIEknbSBHZXJtYW7igJ0KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ21p IG5hJ2Ugc3V0cmEgdGF2bGEgYmF1IGxlIGdsaWJhdSBzZSBqYSdlIGxlIG51IG1pIGRvdGNvJyd+ fgoKCgpBbHNvLCBub3RlIHRoYXQgd2hlbmV2ZXIgdGhlc2Ugd29yZHMgYXJlIHVzZWQgdG9nZXRo ZXIgd2l0aCBhIHRhbnJ1LCB0aGV5IG9ubHkgYWZmZWN0IHRoZSBsZWZ0bW9zdCBzZWxicmkuIElu IG9yZGVyIHRvIG1ha2UgaXQgYmluZCB0byB0aGUgd2hvbGUgdGFucnUgb3IgcGFydHMgb2YgdGhl IHRhbnJ1LCB0aGUgdXN1YWwgdGFucnUtZ3JvdXBpbmcgd29yZHMgY2FuIGJlIHVzZWQuCgoKClRy eSB0byBzYXkg4oCcSSBzZWxsIHNvbWV0aGluZyB3aGljaCBpcyBub3QgeWVsbG93IGhvbWVz4oCd IHVzaW5nIHRoZSB0YW5ydSAnJ3BlbHh1IHpkYW5pIHZlY251JycKCgoKQW5zd2VyOiB+fmdyZXks Z3JleTonJ21pIG5hJ2Uga2UgcGVseHUgemRhbmkga2UnZSB2ZWNudSBvciBtaSBuYSdlIHBlbHh1 IGJvIHpkYW5pIHZlY251Jyd+fgoKCgpXaGVuIGF0dGVtcHRpbmcgdG8gYW5zd2VyOiDigJxJcyB0 aGUga2luZyBvZiB0aGUgVVNBIGZhdD/igJ0sIGFsbCBvZiB0aGVzZSBuZWdhdGlvbnMgZmFpbC4g V2hpbGUgaXQncyB0ZWNobmljYWxseSBjb3JyZWN0IHRvIG5lZ2F0ZSBpdCB3aXRoICcnbmEnJywg c2luY2UgaXQgbWFrZXMgbm8gYXNzdW1wdGlvbnMgb2YgdGhhdCBpcyB0cnVlLCBpdCdzIG1pbGRs eSBtaXNsZWFkaW5nIHNpbmNlIGl0IGNvdWxkIGxlYWQgdGhlIGxpc3RlbmVyIHRvIGJlbGlldmUg dGhlcmUgaXMgYSBraW5nIG9mIHRoZSBVU0EuIEZvciB0aGVzZSBzY2VuYXJpb3MsIHRoZXJlIGlz IGEgbWV0YWxpbmd1aXN0aWMgbmVnYXRvciwgJyduYSdpJycuCgonJ25hJ2knJyBNZXRhbGluZ3Vp c3RpYyBuZWdhdG9yLiBTb21ldGhpbmcgaXMgd3Jvbmcgd2l0aCBhc3NpZ25pbmcgYSB0cnV0aCB2 YWx1ZSB0byB0aGUgYnJpZGkuCgpCZWNhdXNlICcnbmEnaScnIGNhbiBiZSBuZWVkZWQgYW55d2hl cmUgaXQgaGFzIGJlZW4gZ2l2ZW4gdGhlIGdyYW1tYXIgb2YgdGhlIGF0dGl0dWRpbmFscywgd2hp Y2ggbWVhbnMgaXQgY2FuIGFwcGVhciBhbnl3aGVyZSwgYW5kIGl0IGF0dGFjaGVzIHRvIHRoZSBw cmV2aW91cyB3b3JkIG9yIGNvbnN0cnVjdC4KCgoKX18nJ3BhbGNpJydfXyB4MSBpcyBldmlsIGJ5 IHN0YW5kYXJkIHgyCgonJ2xlIG5hJ2kgcHUgdGUgenVrdGUgYmUgbGUgc2thbWkgY3UgcGFsY2kn JyDigJMg4oCdVGhlIHNvdWdodCBnb2FsIHttaXN0YWtlIX0gb2YgdGhlIGNvbXB1dGVyIHdhcyBl dmls4oCdLCBwcm9iYWJseSBwcm90ZXN0cyB0aGF0IGNvbXB1dGVycyBjYW4gc2VlayBhIGdvYWwg dm9saXRpb25hbGx5LgoKCgpTaW5jZSB0aGlzIGlzIGEgbGVzc29uIG9uIG5lZ2F0aW9uLCBJIGJl bGlldmUgdGhlIHdvcmQgJyduYWknJyBkZXNlcnZlcyBhIHNob3J0IG1lbnRpb24uIEl0IGlzIHVz ZWQgdG8gbmVnYXRlIG1pbm9yIGdyYW1tYXRpY2FsIGNvbnN0cnVjdHMsIGFuZCBjYW4gYmUgdXNl ZCBpbiBjb21iaW5hdGlvbiB3aXRoIGF0dGl0dWRpbmFscywgYWxsIHN1bXRjaXRhIGluY2x1ZGlu ZyB0ZW5zZXMsIHZvY2F0aXZlcyBhbmQgbG9naWNhbCBjb25uZWN0aXZlcy4gVGhlIHJ1bGVzIGZv ciBuZWdhdGluZyB1c2luZyAnJ25haScnIGRlcGVuZCBvbiB0aGUgY29uc3RydWN0LCBhbmQgc28g dGhlIGVmZmVjdCBvZiAnJ25haScnIGhhcyBiZWVuIGRpc2N1c3NlZCB3aGVuIG1lbnRpb25pbmcg dGhlIGNvbnN0cnVjdCB0aGVtc2VsdmVzLiBUaGUgZXhjZXB0aW9uIGlzIHN1bXRjaXRhLCB3aGVy ZSB0aGUgcnVsZXMgZm9yIG5lZ2F0aW9uIGFyZSBtb3JlIGNvbXBsZXgsIGFuZCB3aWxsIG5vdCBi ZSBkaXNjdXNzZWQgaGVyZS4KCl9fTm90ZTpfXyBBdCB0aGUgdGltZSBvZiB3cml0aW5nLCBpdCBo YXMgYmVlbiBwcm9wb3NlZCB0byBtb3ZlICcnbmFpJycgdG8gdGhlIHNlbG1hJ28gQ0FJLCB3aGlj aCBtZWFucyB0aGUgc2VtYW50aWNzIG9mICcnbmFpJycgZGVwZW5kIG9uIHdoaWNoIHNlbG1hJ28g aXQgZm9sbG93cy4gCgoKCgoKISFMb2piYW4gTGVzc29ucyAtIExlc3NvbiB0d2VudHktZm91ciAo YnJpa2EnaS9wcm8tYnJpZGkgYW5kIGtvJ2EpCgpJZiBJIHNheSB0aGF0IEknbSBjYWxsZWQgTWlr aGFpbCwgJydsYSAubWlrYWlsLiBjbWVuZSBtaScnLCBhbmQgeW91IGhhdmUgdG8gc2F5IHRoZSBl eGFjdCBzYW1lIGJyaWRpLCB3aGF0IHdvdWxkIHRoYXQgYmU/IE9uZSBvZiB0aGUgbWFueSBhbnN3 ZXJzIGlzICcnZG8gc2UgY21lbmUgbGEgLm1pa2FpbC4nJy4gRm9yIHRoZSBicmlkaSB0byBiZSB0 aGUgc2FtZSwgeW91IGhhdmUgdG8gcmVwbGFjZSAnJ21pJycgd2l0aCAnJ2RvJycsIGFuZCBpdCBk b2Vzbid0IG1hdHRlciB3aGljaCBpZiB5b3Ugc2F5IHRoZSBicmlkaSB3aXRoIHRoZSAnJ3NlJyct Y29udmVydGVkIHNlbGJyaSBvciBub3QuIFRoaXMgaXMgYmVjYXVzZSBhIGJyaWRpIGlzIG5vdCB0 aGUgd29yZHMgd2hpY2ggZXhwcmVzcyBpdCDigJMgYSBicmlkaSBpcyBhbiBpZGVhLCBhbiBhYnN0 cmFjdCBwcm9wb3NpdGlvbi4gVGhlIHdvcmQgJydtaScnIHdoZW4gSSBzYXkgaXQgYW5kIHRoZSB3 b3JkICcnZG8nJyB3aGVuIHlvdSBkbyByZWZlcnMgdG8gdGhlIHNhbWUgc3VtdGksIHNvIHRoZSB0 d28gYnJpZGkgYXJlIGlkZW50aWNhbC4KClRoaXMgbGVzc29uIGlzIG9uICcnYnJpa2EnaScnLCB0 aGUgYnJpZGkgZXF1aXZhbGVudCBvZiBzdW1rYSdpLiBUaGV5IGFyZSB3b3JkIHdoaWNoIHJlcHJl c2VudCBlbnRpcmUgYnJpZGkuIEhlcmUgaXQgaXMgaW1wb3J0YW50IHRvIHJlbWVtYmVyIHRoYXQg YSBicmlkaSBjb25zaXN0cyBvbmx5IG9mIHN1bXRpIGFuZCB0aGUgdGhpbmdzIHdoaWNoIGNvbnRh aW4gdGhlIHN1bXRpLCBzZWxicmkgYW5kIHN1bXRjaXRhLiBOZWl0aGVyIGF0dGl0dWRpbmFscywg bm9yIHRoZSBzZW1hbnRpYyBsYXllciBvZiAnJ2tvJycgb3IgJydtYScnIGFyZSBwYXJ0IG9mIHRo ZSBicmlkaSBwcm9wZXIsIGFuZCBzbyB0aGVzZSBhcmUgbm90IHJlcHJlc2VudGVkIGJ5IGEgJydi cmlrYSdpJycuCgoKClRoZXJlIGFyZSBtdWNoIGZld2VyICcnYnJpa2EnaScnIHRoYW4gdGhlcmUg YXJlIHN1bWthJ2kuIFdlIHdpbGwgYmVnaW4gYnkgZ29pbmcgdGhyb3VnaCBzb21lIG9mIHRoZSB3 b3JkcyBpbiB0aGUgbW9zdCB1c2VkIHNlcmllcywgY2FsbGVkIEdPaEE6CgpXb3JkOglEZWZpbml0 aW9uOgoKX18nJ2dvJ3UnJ19fCVJlcGVhdHMgcmVtb3RlIHBhc3QgYnJpZGkKCl9fJydnbydhJydf XwlSZXBlYXRzIHBhc3QgYnJpZGkKCl9fJydnbydlJydfXwlSZXBlYXRzIG5leHQtdG8tbGFzdCBi cmlkaQoKX18nJ2dvJ2knJ19fCVJlcGVhdHMgbGFzdCBtZW50aW9uZWQgYnJpZGkKCl9fJydnbydv JydfXwlSZXBlYXRzIGZ1dHVyZSBicmlkaQoKX18nJ25laScnX18JUmVwZWF0cyBjdXJyZW50IGJy aWRpCgpfXycnbm8nYScnX18JUmVwZWF0cyBvdXRlciBicmlkaQoKCgpTb21lIG9mIHRoZSBHT2hB LScnYnJpa2EnaScnLiBOb3RpY2UgdGhlIGZhbWlsaWFyIGksIGEsIHUtcGF0dGVybiBmb3IgY2xv c2UgaW4gcGFzdCwgbWVkaXVtIGluIHBhc3QgYW5kIGRpc3RhbnQgaW4gcGFzdC4KCgoKVGhlc2Ug YXJlIHZlcnkgbXVjaCBsaWtlIHRoZSBzdW1rYSdpICcncmknJywgJydyYScnIGFuZCAnJ3J1Jycu IFRoZXkgY2FuIG9ubHkgcmVmZXIgdG8gbWFpbiBicmlkaSBvZiBqdWZyYSwgYW5kIG5vdCB0aG9z ZSBjb250YWluZWQgaW4gcmVsYXRpdmUgcGhyYXNlcyBvciBkZXNjcmlwdGlvbiBzdW10aS4gVGhl IG1haW4gYnJpZGkgY2FuIGNvbnRhaW4gYSByZWxhdGl2ZSBwaHJhc2UsIG9mIGNvdXJzZSwgYnV0 IGEgJydicmlrYSdpJycgY2FuIG5ldmVyIGJlIHVzZWQgdG8gcmVmZXIgdG8gb25seSB0aGUgcmVs YXRpdmUgcGhyYXNlLgoKQSBHT2hBIGFjdHMgZ3JhbW1hdGljYWxseSBtdWNoIGxpa2UgYSBzZWxi cmksIGFueSBjb25zdHJ1Y3Qgd2hpY2ggY2FuIGFwcGx5IHRvIHNlbGJyaSBjYW4gYWxzbyBhcHBs eSB0byB0aGVzZS4gVGhlIHBsYWNlIHN0cnVjdHVyZSBvZiBhIEdPaEEgaXMgdGhlIHNhbWUgYXMg dGhhdCBvZiB0aGUgYnJpZGkgaXQgcmVwcmVzZW50cywgYW5kIHRoZSBzdW10aSBhcmUgYnkgZGVm YXVsdCB0aGUgc2FtZSBhcyBpbiB0aGUgYnJpZGkgaXQgcmVwcmVzZW50cy4gRmlsbGluZyB0aGUg c3VtdGkgcGxhY2VzIG9mIGEgR09oQSBleHBsaWNpdGx5IG92ZXJ3cml0ZXMgdGhlIHN1bXRpIG9m IHRoZSBicmlkaSBpdCByZXByZXNlbnRzLiBDb250cmFzdDoKCkE6ICcnbWkgY2l0a2EgbG8gcGxp c2UnJyBCOiAnJ2dvJ2knJyDigJMg4oCcSSBlYXQgYW4gYXBwbGUu4oCdIOKAnFlvdSBkby7igJ0g d2l0aAoKQTogJydtaSBjaXRrYSBsbyBwbGlzZScnIEI6ICcnbWkgZ28naScnIOKAkyDigJxJIGVh dCBhbiBhcHBsZS7igJ0g4oCcSSBkbywgdG9vLuKAnQoKCgpUaGVzZSAnJ2JyaWthJ2knJyBhcmUg dmVyeSB1c2VmdWwgd2hlbiBhbnN3ZXJpbmcgYSBxdWVzdGlvbiB3aXRoICcneHUnJzoKCkE6ICcn eHUgZG8gbmVsY2kgbGUgbWkgc3BlbmknJyBCOiAnJ2dvJ2kgLyBuYSBnbydpJycg4oCTIOKAnERv IHlvdSBsaWtlIG15IHdpZmU/4oCdIOKAnFllcy4vTm8u4oCdLiBUaGUgJyd4dScnLCBiZWluZyBh biBhdHRpdHVkaW5hbCwgaXMgbm90IGNvcGllZC4KCldoZW4gcmVwZWF0aW5nIGJyaWRpIG5lZ2F0 ZWQgYnkgJyduYScnLCB0aGF0IGlzOiBCcmlkaSB3aGVyZSAnJ25hJycgaXMgcGxhY2VkIGluIHRo ZSBwcmVuZXggKGxlc3NvbiB0d2VudHktc2V2ZW4pLCBpbiB0aGUgYmVnaW5uaW5nIG9mIHRoZSBi cmlkaSBvciByaWdodCBiZWZvcmUgdGhlIHNlbGJyaSwgdGhlIHJ1bGVzIGZvciBjb3B5aW5nIG92 ZXIgJyduYScnIGFyZSBkaWZmZXJlbnQgZnJvbSB3aGF0IG9uZSBtaWdodCBleHBlY3QuIEFueSAn J25hJycgaXMgY29waWVkIG92ZXIsIGJ1dCBhbnkgYWRkaXRpb25hbCAnJ25hJycgaW4gdGhlIGJy aWthJ2kgcmVwbGFjZXMgdGhlIGZpcnN0IG5hLiBMZXQgbWUgc2hvdyB5b3Ugd2l0aCBhbiBleGFt cGxlOgoKQTogJydtaSBuYSBjaXRrYSBsbyBwbGlzZScnCgpCOiAnJ21pIGdvJ2knJyA9ICcnbWkg bmEgY2l0a2EgbG8gcGxpc2UnJwoKQzogJydtaSBuYSBnbydpJycgPSAnJ21pIG5hIGNpdGthIGxv IHBsaXNlJycKCkQ6ICcnbWkgbmEgbmEgZ28naScnID0gJydtaSBjaXRrYSBsbyBwbGlzZScnID0g JydtaSBqYSdhIGdvJ2knJwoKCgonJ25laScnIGFuZCAnJ25vJ2EnJyBhcmUgbm90IHVzZWQgbXVj aCwgZXhjZXB0IGZvciDigJxtaW5kLWJyZWFraW5nIHB1cnBvc2Vz4oCdLCB3aGljaCBpcyBtYWtp bmcgdXAgYnJpZGkgd2hpY2ggYXJlIGhhcmQgdG8gcGFyc2UsIGxpa2UgJydkZWkgbmEgc2UgZHUn dSBsZSBubydhIGxhJ2UgbGUgbmVpJycuIFNpbmNlICcnbmVpJycgcmVwZWF0cyB0aGUgY3VycmVu dCBvdXRlciBicmlkaSwgaG93ZXZlciwgJydsZSBuZWknJyBjYW4gYmUgdXNlZCB0byByZWZlciB0 byB0aGUgeDEgb2YgdGhlIGN1cnJlbnQgb3V0ZXIgYnJpZGksICcnbGUgc2UgbmVpJycgdGhlIHgy IGFuZCBzbyBvbi4KCgoKV2hlbiB1c2luZyAnJ2JyaWthJ2knJywgb25lIG11c3QgYWx3YXlzIGJl IHdhcnkgb2YgY29weWluZyBzZW50ZW5jZXMgd2l0aCB0aGUgcGVyc29uYWwgc3Vta2EnaSBsaWtl ICcnbWknJywgJydkbycnLCAnJ21hJ2EnJyBlY3QsIGFuZCBiZSBjYXJlZnVsIG5vdCB0byByZXBl YXQgdGhlbSB3aGVuIHRoZXkgYXJlIGluIHRoZSB3cm9uZyBjb250ZWN0LCBhcyBzaG93biBpbiB0 aGUgdHdvIGV4YW1wbGVzIHdpdGggYXBwbGUgZWF0aW5nIGFib3ZlLiBJbnN0ZWFkIG9mIHJlcGxh Y2luZyB0aGVtIG9uZSBieSBvbmUsIHRob3VnaCwgdGhlIHdvcmQgJydyYSdvJycgYW55d2hlcmUg aW4gdGhlIGJyaWRpIHVwZGF0ZXMgdGhlIHBlcnNvbmFsIHN1bWthJ2kgc28gdGhhdCB0aGV5IGFw cGx5IGZvciB0aGUgc3BlYWtlcidzIHBlcnNwZWN0aXZlOgoKQTogJydtaSBkbyBwcmFtaScnIEI6 ICcnbWkgZG8gZ28naScnIGlzIGVxdWl2YWxlbnQgdG8gQTogJydtaSBkbyBwcmFtaScnIEI6ICcn Z28naSByYSdvJycKCl9fJydyYSdvJydfXyBVcGRhdGUgYWxsIHBlcnNvbmFsIHN1bWthJ2kgc28g dGhhdCB0aGV5IG5vdyBmaXQgdGhlIHNwZWFrZXIncyBwb2ludCBvZiB2aWV3LgoKCgpUaGUgb25s eSBvdGhlciBzZXJpZXMgb2YgYnJpa2EnaSBhcmUgdmVyeSBlYXN5IHRvIHJlbWVtYmVyOgoKX18n J2Jyb2RhJydfXwlCcmlkaSB2YXJpYWJsZSAxCgpfXycnYnJvZGUnJ19fCUJyaWRpIHZhcmlhYmxl IDIKCl9fJydicm9kaScnX18JQnJpZGkgdmFyaWFibGUgMwoKX18nJ2Jyb2RvJydfXwlCcmlkaSB2 YXJpYWJsZSA0CgpfXycnYnJvZHUnJ19fCUJyaWRpIHZhcmlhYmxlIDUKCl9fJydjZWknJ19fCURl ZmluZSBicmlkaSB2YXJpYWJsZSAobm90IGEgYnJpa2EnaSBhbmQgbm90IGluIEJST0RBKQoKCgoK ClRoZSBmaXJzdCBmaXZlIGFyZSBqdXN0IGZpdmUgaW5zdGFuY2VzIG9mIHRoZSBzYW1lIHdvcmQu IFRoZXkgY2FuIGJlIHVzZWQgYXMgc2hvcnRjdXRzIHRvIGJyaWRpLiBBZnRlciBzYXlpbmcgYSBi cmlkaSwgc2F5aW5nICcnY2VpIGJyb2RhJycgZGVmaW5lcyB0aGF0IGJyaWRpIGFzICcnYnJvZGEn JywgYW5kICcnYnJvZGEnJyBjYW4gdGhlbiBiZSB1c2VkIGFzICcnYnJpa2EnaScnIGZvciB0aGF0 IGJyaWRpIGluIHRoZSBmb2xsb3dpbmcgY29udmVyc2F0aW9uLgoKV2hpbGUgd2UncmUgYXQgaXQs IHRoZXJlIGlzIGFuIGFuYWxvZ291cyBzZXJpZXMgb2Ygc3Vta2EnaSwgd2hpY2ggcHJvYmFibHkg ZG9lcyBub3QgYmVsb25nIGluIHRoaXMgbGVzc29uLCBidXQgaGVyZSB0aGV5IGFyZSBhbnl3YXk6 CgpfXycna28nYScnX18JU3VtdGkgdmFyaWFibGUgMQlfXycnZm8nYScnX18JU3VtdGkgdmFyaWFi bGUgNgoKX18nJ2tvJ2UnJ19fCVN1bXRpIHZhcmlhYmxlIDIJX18nJ2ZvJ2UnJ19fCVN1bXRpIHZh cmlhYmxlIDcKCl9fJydrbydpJydfXwlTdW10aSB2YXJpYWJsZSAzCV9fJydmbydpJydfXwlTdW10 aSB2YXJpYWJsZSA4CgpfXycna28nbycnX18JU3VtdGkgdmFyaWFibGUgNAlfXycnZm8nbycnX18J U3VtdGkgdmFyaWFibGUgOQoKX18nJ2tvJ3UnJ19fCVN1bXRpIHZhcmlhYmxlIDUJX18nJ2ZvJ3Un J19fCVN1bXRpIHZhcmlhYmxlIDEwCgoKCmFzIHdlbGwgYXMgdGhlICcnY2VpJyctZXF1aXZhbGVu dCBmb3IgdGhpcyBzZXJpZXM6CgpfXycnZ29pJydfXyBEZWZpbmUgc3VtdGkgdmFyaWFibGUKCgoK CgpUaGVzZSBhcmUgdXNlZCBsaWtlIHRoZSAnJ2JyaWthJ2knJy1zZXJpZXMuIEp1c3QgcGxhY2Us IGZvciBpbnN0YW5jZSwgJydnb2kga28ndScnIGFmdGVyIGEgc3VtdGksIGFuZCB0aGF0IHN1bXRp IGNhbiBiZSByZWZlcnJlZCB0byBieSAnJ2tvJ3UnJy4KCgoKU3RyYW5nZWx5LCB0aGVzZSBzZXJp ZXMgYXJlIHJhcmVseSB1c2VkIGZvciB0aGVpciBpbnRlbmRlZCBwdXJwb3NlLiBUaGV5IGFyZSwg aG93ZXZlciwgdXNlZCBhcyBhcmJpdHJhcnkgc2VsYnJpIGFuZCBzdW10aSBpbiBleGFtcGxlIHRl eHRzOgoK4oCcU28sIGlzIGl0IHRydWUgdGhhdCB0aGUgdHJ1dGggY29uZGl0aW9ucyBvZiAnJ2tv J2Ega28nZSBicm9kYSBuYSBrdScnIGFyZSBhbHdheXMgdGhlIHNhbWUgYXMgJyduYSBrdSBrbydh IGtvJ2UgYnJvZGEnJz/igJ0g4oCcTm9wZSwgaXQgaXNuJ3Qu4oCdCgoKCgoKISFMb2piYW4gTGVz c29ucyAtIExlc3NvbiB0d2VudHktZml2ZSAobG9naWNhbCBjb25uZWN0aXZlcykKCuKAnElmIHlv dSBhc2sgYSBMb2piYW5pc3Q6IOKAnERvIHlvdSB3YW50IG1pbGsgb3Igc3VnYXIgaW4geW91ciBj b2ZmZWU/4oCdIHNoZSdsbCBhbnN3ZXI6IOKAnENvcnJlY3Qu4oCd4oCdCgoKCldpdHR5IGFzIHRo aXMgam9rZSBtaWdodCBiZSwgaXQgaWxsdXN0cmF0ZXMgYSB3ZWlyZCBwcm9wZXJ0eSBvZiB0aGUg RW5nbGlzaCB3YXkgb2YgYXNraW5nIHRoaXMgcXVlc3Rpb24uIEl0IGlzIHBocmFzZWQgYXMgYSB0 cnVlL2ZhbHNlIHF1ZXN0aW9uLCBidXQgaXQgcmVhbGx5IGlzbid0LiBJbiBMb2piYW4sIHdlIGNh bid0IGhhdmUgdGhpcyBraW5kIG9mIGluY29uc2lzdGVuY3ksIGFuZCBzbyB3ZSBtdXN0IGZpbmQg YW5vdGhlciB3YXkgb2YgYXNraW5nIHRoaXMga2luZCBvZiBxdWVzdGlvbi4gSWYgeW91IHRoaW5r IGFib3V0IGl0LCBpdCdzIHByZXR0eSBoYXJkIHRvIGZpbmQgYSBnb29kIGFuZCBlYXN5IHdheSwg YW5kIGl0IHNlZW1zIExvamJhbiBoYXZlIHBpY2tlZCBhIGdvb2Qgd2F5IGluc3RlYWQgb2YgYW4g ZWFzeSB3YXkuCgoKClRvIGV4cGxhaW4gaXQsIGxldCB1cyB0YWtlIHR3byBzZXBhcmF0ZSBicmlk aTogQnJpZGkgMTog4oCcSSBsaWtlIG1pbGsgaW4gbXkgY29mZmVl4oCdIGFuZCBicmlkaSAyOiDi gJxJIGxpa2Ugc3VnYXIgaW4gbXkgY29mZmVl4oCdLiBCb3RoIG9mIHRoZXNlIGJyaWRpIGNhbiBo YXZlIHRoZSBzdGF0ZSB0cnVlIG9yIGZhbHNlLiBUaGlzIHlpZWxkcyBmb3VyIGNvbWJpbmF0aW9u cyBvZiB3aGljaCBicmlkaSBpcy9hcmUgdHJ1ZToKCkEgKSAxIGFuZCAyCUIgKSAxIGJ1dCBub3Qg MgoKQyApIDIgYnV0IG5vdCAxCUQgKW5laXRoZXIgMSBub3IgMgoKCgpJLCBpbiBhY3R1YWxpdHks IGxpa2UgbWlsayBpbiBteSBjb2ZmZWUsIGFuZCBJJ20gaW5kaWZmZXJlbnQgYXMgdG8gd2hldGhl ciB0aGVyZSBpcyBzdWdhciBpbiBpdCBvciBub3QuIFRoZXJlZm9yZSwgbXkgcHJlZmVyZW5jZSBj YW4gYmUgd3JpdHRlbiBBICkgdHJ1ZSBCICkgdHJ1ZSBDICkgZmFsc2UgRCApIGZhbHNlLCBzaW5j ZSBib3RoIEEgYW5kIEIgeWllbGRzIHRydWUgZm9yIG1lLCBidXQgbmVpdGhlciBDIG5vciBEIGRv ZXMuIEEgbW9yZSBjb21wYWN0IHdheSBvZiB3cml0aW5nIG15IGNvZmZlZSBwcmVmZXJlbmNlcyB3 b3VsZCBiZSBUVEZGIGZvciB0cnVlLCB0cnVlLCBmYWxzZSwgZmFsc2UuIFNpbWlsYXJseSwgYSBw ZXJzb24gbGlraW5nIGhpcyBjb2ZmZWUgYmxhY2sgYW5kIHVuc3dlZXRlbmVkIHdvdWxkIGhhdmUg YSBjb2ZmZWUgcHJlZmVyZW5jZSBvZiBGRkZULiBUaGlzIGNvbWJpdGF0aW9uIG9mICJ0cnVlIiBh bmQgImZhbHNlIiBpcyBjYWxsZWQgYSDigJx0cnV0aCBmdW5jdGlvbuKAnSwgaW4gdGhpcyBjYXNl IGZvciB0aGUgdHdvIHN0YXRlbWVudHMg4oCcSSBsaWtlIG1pbGsgaW4gbXkgY29mZmVl4oCdIGFu ZCDigJxJIGxpa2Ugc3VnYXIgaW4gbXkgY29mZmVl4oCdLiBOb3RlIHRoYXQgdGhlIG9yZGVyIG9m IHRoZSBzdGF0ZW1lbnRzIG1hdHRlcnMuCgpJbiBMb2piYW4sIHdlIG9wZXJhdGUgd2l0aCA0IHRy dXRoIGZ1bmN0aW9ucywgd2hpY2ggd2UgY29uc2lkZXIgZnVuZGFtZW50YWw6CgpBOiBUVFRGIChh bmQvb3IpCgpPOiBURkZUIChpZiBhbmQgb25seSBpZmYpCgpVOiBUVEZGICh3aGV0aGVyIG9yIG5v dCkKCkU6IFRGRkYgKGFuZCkKCgoKSW4gdGhpcyBleGFtcGxlLCB0aGV5IHdvdWxkIHRyYW5zbGF0 ZSB0byBzb21ldGhpbmcgbGlrZTogQTrigJ1KdXN0IG5vdCBibGFjayBjb2ZmZWXigJ0sIE86IOKA nEVpdGhlciBib3RoIG1pbGsgb3Igc3VnYXIsIG9yIG5vdGhpbmcgZm9yIG1lLCBwbGVhc2XigJ0s IFU6IOKAnE1pbGssIGFuZCBJIGRvbid0IGNhcmUgYWJvdXQgaWYgdGhlcmUncyBzdWdhciBvciBu b3TigJ0gYW5kIEU6IOKAnE1pbGsgYW5kIHN1Z2FyLCBwbGVhc2Uu4oCdLgoKCgpJbiBMb2piYW4s IHlvdSBwbGFjZSB0aGUgd29yZCBmb3IgdGhlIHRydXRoIGZ1bmN0aW9uIGJldHdlZW4gdGhlIHR3 byBicmlkaSwgc2VsYnJpIG9yIHN1bXRpIGluIHF1ZXN0aW9uLiBUaGF0IHdvcmQgaXMgY2FsbGVk IGEgbG9naWNhbCBjb25uZWN0aXZlLiBUaGUgd29yZHMgZm9yIHRydXRoIGZ1bmN0aW9ucyBiZXR3 ZWVuIHN1bXRpIChhbmQganVzdCBmb3Igc3VtdGkhKSBhcmUgICcnLmEnJyAnJy5vJycgJycudScn IGFuZCAnJy5lJycuIEhvdyBuaWNlLiBGb3IgaW5zdGFuY2U6IOKAnEkgYW0gZnJpZW5kcyB3aXRo IGFuIEFtZXJpY2FuIGFuZCBhIEdlcm1hbuKAnSB3b3VsZCBiZSAnJ2xvIG1lcmtvIC5lIGxvIGRv dGNvIGN1IHBlbmRvIG1pJycuCgpIb3cgd291bGQgeW91IHNheTog4oCcSSBzcGVhayB0byB5b3Ug YW5kIG5vIG9uZSBlbHNlP+KAnQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnbWkgdGF2bGEgZG8g LmUgbm8gZHJhdGEnJyBOb3RlIHRoYXQgdGhpcyBhY3R1YWxseSBzdGF0ZXMgdGhhdCBpdCdzIHRy dWUgdGhhdCAiSSBzcGVhayB0byB5b3UiLn5+CgoKCk9uZSBtb3JlOiDigJxJIGxpa2UgY2hlZXNl IHdoZXRoZXIgb3Igbm90IEkgbGlrZSBjb2ZmZWXigJ0KCl9fJydja2FmaScnX18geDEgaXMgYSBx dWFudGl0eS9jb250YWlucyBjb2ZmZWUgZnJvbSBzb3VyY2Uvb2YgZ3JhaW4geDIKCgoKQW5zd2Vy OiB+fmdyZXksZ3JleTonJ21pIG5lbGNpIGxvJ2UgY2lybGEgLnUgbG8nZSBja2FmaScnfn4KCgoK WW91IGNhbiBwZXJoYXBzIGRlZHVjZSB0aGF0IHRoZXJlIGFyZSBzaXh0ZWVuIHBvc3NpYmxlIHRy dXRoIGZ1bmN0aW9ucywgc28gd2UgbmVlZCB0byBsZWFybiB0d2VsdmUgbW9yZSBpbiBvcmRlciB0 byBrbm93IHRoZW0gYWxsLiBFaWdodCBtb3JlIGNhbiBiZSBvYnRhaW5lZCBieSBuZWdhdGluZyBl aXRoZXIgdGhlIGZpcnN0IHNlbnRlbmNlIG9yIHRoZSBzZWNvbmQuIFRoZSBmaXJzdCBpcyBuZWdh dGVkIGJ5IHByZWZpeGluZyB0aGUgdHJ1dGggZnVuY3Rpb24gd29yZCB3aXRoICcnbmEnJywgdGhl IHNlY29uZCBpcyBuZWdhdGVkIGJ5IHBsYWNpbmcgJyduYWknJyBhZnRlciB0aGUgd29yZC4gRm9y IGV4YW1wbGUsIHNpbmNlICcnLmUnJyByZXByZXNlbnRzIFRGRkYsICcnLmUgbmFpJycgbXVzdCBi ZSDigJxib3RoIDEgaXMgdHJ1ZSBhbmQgMiBpcyBmYWxzZeKAnSwgd2hpY2ggaXMgRlRGRi4gU2lt aWxhcmx5LCAnJ25hIC5hJycgaXMg4oCcSnVzdCBub3Q6IDEgaXMgdHJ1ZSBhbmQgMiBpcyBmYWxz ZeKAnSwgd2hpY2ggaXMgVFRGVC4gRG9pbmcgdGhpcyB0eXBlIG9mIGNvbnZlcnNpb24gaW4gdGhl IGhlYWQgcmVhbC10aW1lIGlzIHZlcnksIHZlcnkgaGFyZCwgc28gcGVyaGFwcyBvbmUgc2hvdWxk IGZvY3VzIG9uIGxlYXJuaW5nIGhvdyBsb2dpY2FsIGNvbm5lY3RpdmVzIHdvcmsgaW4gZ2VuZXJh bCwgYW5kIHRoZW4gbGVhcm4gdGhlIGxvZ2ljYWwgY29ubmVjdGl2ZXMgdGhlbXNlbHZlcyBieSBo ZWFydC4KCgoKRm91ciBmdW5jdGlvbnMgY2Fubm90IGJlIG1hZGUgdGhpcyB3YXk6IFRUVFQsIFRG VEYsIEZURlQgYW5kIEZGRkYuIFRoZSBmaXJzdCBhbmQgdGhlIGxhc3QgY2Fubm90IGJlIG1hZGUg dXNpbmcgbG9naWNhbCBjb25uZWN0aXZlcyBhdCBhbGwsIGJ1dCB0aGV5IGFyZSBraW5kIG9mIHVz ZWxlc3MgYW55d2F5LiBVc2luZyBhIGh5cG90aGV0aWNhbCBsb2dpY2FsIGNvbm5lY3RpdmUgaW4g dGhlIHNlbnRlbmNlIOKAnEkgbGlrZSBtaWxrIEZGRkYgc3VnYXIgaW4gbXkgY29mZmVl4oCdIGlz IGVxdWl2YWxlbnQgdG8gc2F5aW5nIOKAnEkgZG9uJ3QgbGlrZSBjb2ZmZWXigJ0sIGp1c3QgbW9y ZSBjb21wbGljYXRlZC4gVGhlIGxhc3QgdHdvLCBURlRGIGFuZCBGVEZULCBjYW4gYmUgbWFkZSBi eSBwcmVmaXhpbmcgJycudScnIHdpdGggZ29vZCBvbCcgJydzZScnLCB3aGljaCBqdXN0IHJldmVy dHMgdGhlIHR3byBzdGF0ZW1lbnRzLiAnJ3NlIC51JycgLCBmb3IgaW5zdGFuY2UgaXMg4oCcQiB3 aGV0aGVyIG9yIG5vdCBB4oCdLCB3aGljaCBpcyBURlRGLiBUaGUgZmluYWwgbGlzdCBvZiBhbGwg bG9naWNhbCBjb25uZWN0aXZlcyBjYW4gYmUgc2VlbiBiZWxvdy4KCgoKVFRUVDogQ2Fubm90IGJl IG1hZGUKClRUVEY6ICcnLmEnJwoKVFRGVDogJycuYSBuYWknJwoKVFRGRjogJycudScnIE9SICcn LnUgbmFpJycKClRGVFQ6ICcnbmEgLmEnJwoKVEZURjogJydzZSAudScnCgpURkZUOiAnJy5vJycg T1IgJyduYSAubyBuYWknJwoKVEZGRjogJycuZScnCgpGVFRUOiAnJ25hIC5hIG5haScnCgpGVFRG OiAnJ25hIC5vJycgT1IgJycubyBuYWknJwoKRlRGVDogJydzZSAudSBuYWknJwoKRlRGRjogJycu ZSBuYWknJwoKRkZUVDogJyduYSAudScnIE9SICcnbmEgLnUgbmFpJycKCkZGVEY6ICcnbmEgLmUn JwoKRkZGVDogJyduYSAuZSBuYWknJwoKRkZGRjogQ2Fubm90IGJlIG1hZGUKCgoKTG9naWNhbGx5 LCBzYXlpbmcgYSBzZW50ZW5jZSB3aXRoIGEgbG9naWNhbCBjb25uZWN0aXZlLCBsaWtlIGZvciBp bnN0YW5jZSAnJ21pIG5lbGNpIGxvJ2UgY2lybGEgLmUgbmFpIGxvJ2UgY2thZmknJyBpcyBlcXVp dmFsZW50IHRvIHNheWluZyB0d28gYnJpZGksIHdoaWNoIGFyZSBjb25uZWN0ZWQgd2l0aCB0aGUg c2FtZSBsb2dpY2FsIGNvbm5lY3RpdmU6ICcnbWkgbmVsY2kgbG8nZSBjaXJsYSAuaSB7RSBOQUl9 IG1pIG5lbGNpIGxvJ2UgY2thZmknJy4gVGhpcyBpcyBob3cgdGhlIGZ1bmN0aW9uIG9mIGxvZ2lj YWwgY29ubmVjdGl2ZXMgaXMgZGVmaW5lZC4gV2Ugd2lsbCBnZXQgdG8gaG93IHRvIGFwcGx5IGxv Z2ljYWwgY29ubmVjdGl2ZXMgdG8gYnJpZGkgaW4gYSBtb21lbnQuCgoKCkJ5IHB1dHRpbmcgYSDi gJxq4oCdIGluIGZyb250IG9mIHRoZSBjb3JlIHdvcmQgb2YgYSBsb2dpY2FsIGNvbm5lY3RpdmUs IGl0IGNvbm5lY3RzIHR3byBzZWxicmkuIEFuIGV4YW1wbGUgaXMgJydtaSBuaW5tdSBuYSBqbyBu YW5tdScnIOKAnEkgYW0gYSBtYW4gb3IgYSB3b21hbiwgYnV0IG5vdCBib3Ro4oCdCgpfXycnbmlu bXUnJ19fIHgxIGlzIGEgd29tYW4KCgoKVGhpcyBpcyDigJx0YW5ydS1pbnRlcm5hbOKAnSwgbWVh bmluZyB0aGF0IGl0IGxvb3NlbHkgYmluZHMgc2VsYnJpIHRvZ2V0aGVyLCBldmVuIHdoZW4gdGhl eSBmb3JtIGEgdGFucnU6ICcnbG8gZG90Y28gamEgbWVya28gcHJlbnUnJyBtZWFucyDigJxhIEdl cm1hbiBvciBBbWVyaWNhbiBtYW7igJ0sIGFuZCBpcyBwYXJzZWQgJydsbycnICgnJ2RvdGNvIGph IG1lcmtvJycpICcncHJlbnUnJy4gVGhpcyBiaW5kaW5nIGlzIHNsaWdodGx5IHN0cm9uZ2VyIHRo YXQgbm9ybWFsIHRhbnJ1LWdyb3VwaW5nIChzdGlsbCB3ZWFrZXIgdGhhbiBzcGVjaWZpYyBncm91 cGluZy13b3JkcyksIGFuZCBhcyBzdWNoLCAnJ2xvIGRvdGNvIGphIG1lcmtvIG5pbm11IGphIG5h bm11JycgaXMgcGFyc2VkICcnbG8nJyAoJydkb3RjbyBqYSBtZXJrbycnKSAoJyduaW5tdSBqYSBu YW5tdScnKS4gVGhlIHNlbGJyaSBsb2dpY2FsIGNvbm5lY3RpdmVzIGNhbiBhbHNvIGJlIGF0dGFj aGVkIHRvICcnLmknJyBpbiBvcmRlciB0byBjb25uZWN0IHR3byBzZW50ZW5jZXMgdG9nZXRoZXI6 ICcnbGEgLmtpbS4gY21lbmUgbWkgLmkganUgbWkgbmFubXUnJyDigJxJJ20gY2FsbGVkIEtpbSwg d2hldGhlciBvciBub3QgSSdtIGEgbWFu4oCdLiBUaGUgY29tYmluYXRpb24gJycuaSBqZScnIHN0 YXRlcyB0aGF0IGJvdGggc2VudGVuY2VzIGFyZSB0cnVlLCBtdWNoIGxpa2Ugd2Ugd291bGQgYXNz dW1lIGhhZCBubyBsb2dpY2FsIGNvbm5lY3RpdmUgYmVlbiBwcmVzZW50LgoKCgpVbmZhaXJseSBo YXJkIHF1ZXN0aW9uOiBVc2luZyBsb2dpY2FsIGNvbm5lY3RpdmVzLCBob3cgd291bGQgeW91IHRy YW5zbGF0ZSDigJxJZiB5b3UncmUgY2FsbGVkIEJvYiwgeW91J3JlIGEgbWFuLuKAnT8KCgoKQW5z d2VyOiB+fmdyZXksZ3JleTonJ2xhIC5iYWIuIGNtZW5lIGRvIC5pIG5hIGphIGRvIG5hbm11Jycg b3Ig4oCcRWl0aGVyIHlvdSdyZSBub3QgbmFtZWQgQm9iIGFuZCBhIG1hbiwgb3IgeW91J3JlIG5v dCBuYW1lZCBCb2IgYW5kIG5vdCBhIG1hbiwgb3IgeW91J3JlIG5hbWVkIEJvYiBhbmQgYSBtYW4u IEJ1dCB5b3UgY2FuJ3QgYmUgbmFtZWQgQm9iIGFuZCBub3QgYmUgYSBtYW4u4oCdIFRoZSBvbmx5 IGNvbWJpbmF0aW9uIG5vdCBwZXJtaXR0ZWQgaXM6IOKAnFlvdSdyZSBjYWxsZWQgQm9iLCBidXQg bm90IGEgbWFuLuKAnSBUaGlzIG11c3QgbWVhbiB0aGF0LCBpZiBpdCdzIHRydWUgdGhhdCB5b3Un cmUgY2FsbGVkIEJvYiwgeW91IG11c3QgYmUgYSBtYW4ufn4KCgoKSWYgd2UgdHJ5IHRvIHRyYW5z bGF0ZSB0aGUgc2FkLCBzYWQgZXZlbnQgb2Yg4oCcSSBjcmllZCBhbmQgZ2F2ZSBhd2F5IG15IGRv Z+KAnSwgd2UgcnVuIGludG8gYSBwcm9ibGVtLgoKQXR0ZW1wdGluZyB0byBzYXkgdGhlIHNlbnRl bmNlIHdpdGggYSAnJ2plJycgYmV0d2VlbiB0aGUgc2VsYnJpIOKAnGdhdmXigJ0gYW5kIOKAnGNy aWVk4oCdLCB3b3VsZCBtZWFuIHRoZSBzYW1lIHdvcmQgZm9yIHdvcmQsIGJ1dCB1bmZvcnR1bmF0 ZWx5IG1lYW4gdGhhdCDigJxJIGNyaWVkIHRoZSBkb2cgYW5kIGdhdmUgYXdheSB0aGUgZG9n4oCd LCBjZi4gdGhlIGRlZmluaXRpb24gb2YgbG9naWNhbCBjb25uZWN0aXZlcy4gT25lIGNhbiBjcnkg dGVhcnMgb3IgZXZlbiBibG9vZCwgYnV0IGNyeWluZyBkb2dzIGlzIGp1c3Qgc2lsbHkuCgpIb3dl dmVyLCB3ZSBjYW4gZ2V0IGFyb3VuZCBieSB1c2luZyBicmlkaS10YWlsIGxvZ2ljYWwgY29ubmVj dGl2ZXMuIFdoYXQgdGhleSBkbyBpcyB0aGF0IGFueSBwcmV2aW91cyBzdW10Y2l0YSBhbmQgc3Vt dGkgYXR0YWNoZXMgdG8gYm90aCBzZWxicmkgYm91bmQgYnkgdGhlIGJyaWRpLXRhaWwgbG9naWNh bCBjb25uZWN0aXZlLCBidXQgYW55IGZvbGxvd2luZyBzdW10aSBvciBzdW10Y2l0YSBvbmx5IGFw cGxpZXMgdG8gdGhlIGxhc3QgbWVudGlvbmVkOiBUaGUgYnJpZGkgc3BsaXRzIHVwIGZyb20gb25l IGhlYWQgdG8gdHdvIHRhaWxzLCB0byBzcGVhayBtZXRhcGhvcmljYWxseS4KClRoZSBmb3JtIG9m IGEgYnJpZGktdGFpbCBsb2dpY2FsIGNvbm5lY3RpdmUgaXMgZ2knViwgd2l0aCB0aGUgViBmb3Ig dGhlIHZvd2VsIG9mIHRoZSB0cnV0aCBmdW5jdGlvbi4KCkhvdyBjb3VsZCB5b3UgY29ycmVjdGx5 IHRyYW5zbGF0ZSB0aGUgRW5nbGlzaCBzZW50ZW5jZSB0byBMb2piYW4/CgoKCkFuc3dlcjogfn5n cmV5LGdyZXk6JydtaSBwdSBrbGFrdSBnaSdlIGR1bmRhIGxlIG1pIGdlcmt1Jyd+fgoKCgpXaGF0 IGRvZXMgJydybyByZW1uYSBjdSBwYWxjaSBnaSdvIHp1a3RlIGxvIHBhbGNpJycgbWVhbj8KCl9f JydwYWxjaScnX18geDEgaXMgZXZpbCBieSBzdGFuZGFyZCB4MgoKCgpBbnN3ZXI6IH5+Z3JleSxn cmV5OuKAnFBlb3BsZSBhcmUgZXZpbCBpZiBhbmQgb25seSBpZiB0aGV5IGRvIGV2aWwgdGhpbmdz LuKAnX5+CgoKCkZ1cnRoZXJtb3JlLCB0aGVyZSBpcyBhIGZvcmV0aG91Z2h0IGFsbC1idXQgdGFu cnUgaW50ZXJuYWwgZ3JvdXAgb2YgY29ubmVjdGVycyBtYWRlIGJ5IHByZWZpeGluZyDigJxn4oCd IGluIGZyb250IG9mIHRoZSB0cnV0aCBmdW5jdGlvbiB2b3dlbC4g4oCcRm9yZXRob3VnaHTigJ0g aW4gdGhpcyBjb250ZXh0IG1lYW5zIHRoYXQgdGhleSBuZWVkIHRvIGdvIGluIGZyb250IG9mIHRo ZSB0aGluZ3MgdGhleSBjb25uZWN0LCBhbmQgdGh1cyB5b3UgbmVlZCB0byB0aGluayBhYm91dCB0 aGUgZ3JhbW1hdGljYWwgc3RydWN0dXJlIG9mIHRoZSBzZW50ZW5jZSBiZWZvcmUgc2F5aW5nIGl0 LiBBbGwtYnV0IHRhbnJ1IGludGVybmFsIG1lYW5zIHRoYXQgaXQgc2VydmVzIGJvdGggYXMgYSBj b25uZWN0aXZlIGJldHdlZW4gc3VtdGksIGJyaWRpLCBzZWxicmkgYW5kIGJyaWRpLXRhaWxzLCBi dXQgbm90IGJldHdlZW4gdHdvIHNlbGJyaSBvZiBvbmUgdGFucnUuIExldCBtZSBzaG93IHlvdSBo b3cgaXQgd29ya3MsIHJld3JpdGluZyB0aGUgTG9qYmFuIHNlbnRlbmNlIGFib3ZlOgoKJydnbyBs byByZW1uYSBjdSBwYWxjaSBnaSBsbyByZW1uYSBjdSB6dWt0ZSBsbyBwYWxjaScnCgpUaGUgZmly c3QgbG9naWNhbCBjb25uZWN0aXZlIGluIHRoZXNlIGtpbmRzIG9mIGNvbnN0cnVjdHMgYXJlIHdo YXQgY2FycmllcyB0aGUgdm93ZWwgd2hpY2ggc2lnbmFsIHdoYXQgdHJ1dGggZnVuY3Rpb24gaXMg YmVpbmcgdXNlZC4gVGhlIHNlY29uZCBsb2dpY2FsIGNvbm5lY3RpdmUgaXMgYWx3YXlzICcnZ2kn JywgYW5kIGxpa2UgJycuaScnLCBpdCBoYXMgbm8gdHJ1dGggZnVuY3Rpb24uIEl0IHNpbXBseSBz ZXJ2ZXMgdG8gc2VwYXJhdGUgdGhlIHR3byB0ZXJtcyBiZWluZyBjb25uZWN0ZWQuIElmIHlvdSB3 YW50IHRvIG5lZ2F0ZSB0aGUgZmlyc3Qgb3Igc2Vjb25kIHNlbnRlbmNlLCBhICcnbmFpJycgaXMg c3VmZml4ZWQgdG8gZWl0aGVyIHRoZSBmaXJzdCAoZm9yIHRoZSBmaXJzdCBzZW50ZW5jZSkgb3Ig c2Vjb25kIChmb3IgdGhlIHNlY29uZCBzZW50ZW5jZSkgbG9naWNhbCBjb25uZWN0aXZlLgoKUHJv dmlkZWQgdGhhdCB0aGUgY29uc3RydWN0cyBhcmUgdGVybWluYXRlZCBwcm9wZXJseSwgaXQgaGFz IHJlbWFya2FibGUgZmxleGliaWxpdHksIGFzIHRoZSBmb2xsb3dpbmcgZmV3IGV4YW1wbGVzIGRl bW9uc3RyYXRlOgoKJydtaSBnbyBrbGFtYSBnaSBjYWR6dSB2YXUgbGUgbWkgemRhbmknJyDigJxJ IGdvLCBpZiBhbmQgb25seSBpZiB3YWxrLCB0byBteSBob21l4oCdIG9yIOKAnEkgY2FuIG9ubHkg Z28gdG8gbXkgaG9tZSBieSB3YWxraW5nLuKAnSBOb3RpY2UgdGhhdCB0aGUgJyd2YXUnJyBpcyBu ZWVkZWQgdG8gbWFrZSBsZSBtaSB6ZGFuaSBhcHBseSB0byBib3RoICcnY2FkenUnJyBhbmQgJydr bGFtYScnLgoKJydzZSBndSBkbyBnaSBuYWkgbWkgYmFqcmEgbGUgZG8gY2t1bGUnJyDigJxXaGV0 aGVyIG9yIG5vdCB5b3UsIHRoZW4gbm90IEksIHJ1biB0byB5b3VyIHNjaG9vbOKAnSBvciDigJxJ IHdvbid0IHJ1biB0byB5b3VyIHNjaG9vbCBubyBtYXR0ZXIgaWYgeW91IGRvIG9yIG5vdOKAnQoK CgpUaGUgdGFucnUtaW50ZXJuYWwgZXF1aXZhbGVudCBvZiBnViBpcyBndSdWLiBUaGVzZSBhcmUg ZXhhY3RseSB0aGUgc2FtZSwgZXhjZXB0IHRoYXQgdGhleSBhcmUgZXhjbHVzaXZlbHkgdGFucnUt aW50ZXJuYWwsIGFuZCB0aGF0IHRoZXkgYmluZCBhIHNlbGJyaSB0byB0aGUgJydnaScnIHRpZ2h0 ZXIgdGhhbiBub3JtYWwgdGFucnUtZ3JvdXBpbmcsIGJ1dCB3ZWFrZXIgdGhhbiBleHBsaWNpdCBi aW5kaW5nLXN1bXRpOgoKJydsYSB4YW56LmtydC4gZ3UnZSBtZXJrbyBnaSBkb3RjbyBuYW5tdScn IGlzIGVxdWl2YWxlbnQgdG8KCicnbGEgeGFuei5rcnQuIG1lcmtvIGplIGRvdGNvIG5hbm11JycK CgoKQW5kIHNvIHlvdSd2ZSByZWFkIHBhZ2UgdXAgYW5kIHBhZ2UgZG93biBqdXN0IHRvIGdldCB0 aGUgbmVjZXNzYXJ5IGtub3dsZWRnZSBpbiBvcmRlciB0byBiZSBhYmxlIHRvIGxlYXJuIGhvdyB0 byBhc2sg4oCcV291bGQgeW91IGxpa2UgbWlsayBvciBzdWdhciBpbiB5b3VyIGNvZmZlZT/igJ0g aW4gTG9qYmFuLiBTaW1wbHkgcGxhY2UgYSBxdWVzdGlvbiBsb2dpY2FsIGNvbm5lY3RpdmUgaW5z dGVhZCBvZiBhbm90aGVyIGxvZ2ljYWwgY29ubmVjdGl2ZSwgYW5kIGxpa2UgJydtYScnLCBpdCBh c2tzIHRoZSBsaXN0ZW5lciB0byBmaWxsIGluIGEgY29ycmVjdCByZXNwb25zZS4gVW5mb3J0dW5h dGVseSwgdGhlc2UgcXVlc3Rpb24tbG9naWNhbCBjb25uZWN0aXZlcyBkb24ndCBhbHdheXMgbWF0 Y2ggdGhlIG1vcnBob2xvZ2ljYWwgcGF0dGVybiBvZiB0aGUgbG9naWNhbCBjb25uZWN0aXZlcyB0 aGV5IGFzayBmb3I6CgpfXycnamknJ19fIExvZ2ljYWwgY29ubmVjdGl2ZSBxdWVzdGlvbjogQXNr cyBmb3IgYSBzdW10aSBsb2dpY2FsIGNvbm5lY3RpdmUgKEEpCgpfXycnamUnaScnX18gTG9naWNh bCBjb25uZWN0aXZlIHF1ZXN0aW9uOiBBc2tzIGZvciBhIHRhbnJ1LWludGVybmFsIHNlbGJyaSBs b2dpY2FsIGNvbm5lY3RpdmUgKEpBKQoKX18nJ2dpJ2knJ19fIExvZ2ljYWwgY29ubmVjdGl2ZSBx dWVzdGlvbjogQXNrcyBmb3IgYSBicmlkaS10YWlsIGxvZ2ljYWwgY29ubmVjdGl2ZSAoR0loQSkK Cl9fJydnZSdpJydfXyBMb2dpY2FsIGNvbm5lY3RpdmUgcXVlc3Rpb246IEFza3MgZm9yIGEgZm9y ZXRob3VnaHQgYWxsLWJ1dCB0YW5ydSBpbnRlcm5hbCBsb2dpY2FsIGNvbm5lY3RpdmUgKEdBKQoK X18nJ2d1J2knJ19fIExvZ2ljYWwgY29ubmVjdGl2ZSBxdWVzdGlvbjogQXNrcyBmb3IgYSBmb3Jl dGhvdWdodCBvbmx5IHRhbnJ1IGludGVybmFsIGxvZ2ljYWwgY29ubmVjdGl2ZSAoR1VoQSkKCgoK U28uLi4gaG93IHdvdWxkIHlvdSBhc2sgaWYgdGhlIHBlcnNvbnMgd2FudHMgbWlsayBvciBzdWdh ciBpbiBoZXIgY29mZmVlPwoKX18nJ2xhZHJ1JydfXyB4MSBpcy9jb250YWlucyBtaWxrIGZyb20g c291cmNlIHgyCgpfXycnc2FrdGEnJ19fIHgxIGlzL2NvbnRhaW5zIHN1Z2FyIGZyb20gc291cmNl IHgyIG9mIGNvbXBvc2l0aW9uIHgzCgoKClBvc3NpYmxlIGFuc3dlcjogfn5ncmV5LGdyZXk6Jydz YWt0YSBqZSdpIGxhZHJ1IGxlIGRvIGNrYWZpJycgdGhvdWdoIEkgZ3Vlc3Mgc29tZXRoaW5nIG1v cmUgRW5nbGlzaCBhbmQgbGVzcyBlbGVnYW50IGNvdWxkIGFsc28gc3VmZmljZSBsaWtlICcnZG8g ZGppY2EgbGVudSBsbyBzYWt0YSBqaSBsbyBsYWRydSBjdSBuZW5yaSBsZSBkbyBja2FmaScnfn4K CgoKISFMb2piYW4gTGVzc29ucyAtIExlc3NvbiB0d2VudHktc2l4IChub24tbG9naWNhbCBjb25u ZWN0aXZlcykKClRoZSB3b3JkICJsb2dpY2FsIiBpbiAibG9naWNhbCBjb25uZWN0aXZlIiByZWZl cnMgdG8gdGhlIGFzc29jaWF0aW9uIGEgbG9naWNhbCBjb25uZWN0aXZlIGhhcyB3aXRoIGEgdHJ1 dGggZnVuY3Rpb24uIE5vdCBhbGwgdXNlZnVsIGNvbm5lY3RpdmVzIGNhbiBiZSBkZWZpbmVkIHRo cm91Z2ggYSB0cnV0aCBmdW5jdGlvbiwgaG93ZXZlciwgYW5kIHNvIHRoZXJlIGFyZSBvdGhlciBj b25uZWN0aXZlcyBiZXNpZGUgdGhlIGxvZ2ljYWwgb25lcy4KClRoZSBtZWFuaW5nIG9mIGEgbG9n aWNhbCBjb25uZWN0aXZlIGlzIGRlZmluZWQgdGhlIHNhbWUgYXMgdHdvIGRpZmZlcmVudCBicmlk aSBjb25uZWN0ZWQgd2l0aCB0aGF0IGxvZ2ljYWwgY29ubmVjdGl2ZS4gRm9yIGluc3RhbmNlLCAn J21pIG5pdGN1IGRvIC5hIGxhIC5kamFuLicnIGlzIGRlZmluZWQgdG8gYmUgZXF1aXZhbGVudCB0 byAnJ21pIG5pdGN1IGRvIC5pIGphIG1pIG5pdGN1IGxhIC5kamFuLicnLiBUaGlzIGRlZmluaXRp b24gaXMgdXNlZnVsIHRvIGJlYXIgaW4gbWluZCwgYmVjYXVzZSBpdCBpbXBsaWVzIHRoYXQgc29t ZXRpbWVzLCBzdW10aSBjYW5ub3QgYmUgY29ubmVjdGVkIHdpdGggbG9naWNhbCBjb25uZWN0aXZl cyB3aXRob3V0IGNoYW5pbmcgdGhlIG1lYW5pbmcuIENvbnNpZGVyIHRoZSBzZW50ZW5jZTogIkph Y2sgYW5kIEpvZSB3cm90ZSB0aGlzIHBsYXkuIiBPbmUgYXR0ZW1wdCBhdCBhIHRyYW5zbGF0aW9u IHdvdWxkIGJlOiAnJ3RpIGRyYWNpIGZpIGxhIC5kamFrLiBlIGxhIC5kam91cy4nJwoKX18nJ2Ry YWNpJydfXyB4MSBpcyBhIGRyYW1hL3BsYXkgYWJvdXQgeDIgYnkgd3JpdGVyL2RyYW1hdGlzdCB4 MyBmb3IgYXVkaWVuY2UgeDQgd2l0aCBhY3RvcnMgeDUKCgoKVGhlIHByb2JsZW0gd2l0aCB0aGlz IHRyYW5zbGF0aW9uIGlzIHRoYXQgaXQgbWVhbnMgJyd0aSBkcmFjaSBsYSAuZGphay4gaWplIHRp IGRyYWNpIGxhIC5kam91cy4nJywgd2hpY2ggaXMgbm90IHJlYWxseSB0cnVlLiBOZWl0aGVyIEph Y2sgbm9yIEpvZSB3cm90ZSBpdCwgdGhleSBkaWQgc28gdG9nZXRoZXIuIFdoYXQgd2Ugd2FudCBo ZXJlIGlzIG9mIGNvdXJzZSBhIG1hc3MsIGFuZCBzb21lIHdheSB0byBqb2luIEphY2sgYW5kIEpv ZSBpbiBvbmUgbWFzcy4gVGhpcyBoYXMgbGl0dGxlIHRvIGRvIHdpdGggYSB0cnV0aCBmdW5jdGlv biBzbyB3ZSBtdXN0IHVzZSBhIG5vbi1sb2dpY2FsIGNvbm5lY3RpdmUsIHdoaWNoIGFyZSBvZiBz ZWxtYSdvIEpPSS4gV2UnbGwgcmV0dXJuIHRvIHRoaXMgSmFjayBhbmQgSm9lLXByb2JsZW0gaW4g YSBsaXR0bGUgLSBmaXJzdDogRm91ciBvZiB0aGUga25vd24gSk9JOgoKCgp8fFRoZSBMb2piYW4g Y29ubmVjdGl2ZTp8JydjZScnfCcnY2UnbycnfCcnam9pJyd8Jydqbyd1JycKCkpvaW5zIHN1bXRp IGFuZCBmb3JtcyBhOnxzZXR8c2VxdWVuY2V8bWFzc3xncm91cCBvZiBpbmRpdmlkdWFsc3x8CgpU aGUgZnVuY3Rpb25zIG9mIHRoZXNlIHdvcmRzIGFyZSBzaW1wbGU6ICcnbG8naSByZW1uYSBqbyd1 IGxvJ2kgZ2Vya3UnJyBjb25zaWRlcnMgYm90aCB0aGUgc2V0IG9mIGh1bWFucyBhbmQgdGhlIHNl dCBvZiBkb2dzIGRpc3RyaWJ1dGl2ZWx5IChhcyBpbmRpdmlkdWFscykuIFJlbWVtYmVyIGZyb20g bGVzc29uIHR3ZW50eS10d28gKHF1YW50aWZpZXJzKSB0aGF0ICJkaXN0cmlidXRpdml0eSIgbWVh bnMgdGhhdCB3aGF0IGlzIHRydWUgZm9yIHRoZSBncm91cCBpcyBhbHNvIHRydWUgZm9yIGVhY2gg b2YgdGhlIGluZGl2aWR1YWxzIGFsb25lLiBTaW1pbGFybHkgJydsb2kgcm8gZ2lzbXUgY2UnbyBs b2kgcm8gbHVqdm8gY2UnbyBsb2kgcm8gZnUnaXZsYScnIGlzIGEgc2VxdWVuY2UgY29uc2lzdGlu ZyBvZiB0aGUgbWFzcyBvZiBhbGwgZ2lzbXUsIGZvbGxvd2VkIGJ5IHRoZSBtYXNzIG9mIGFsbCBs dWp2bywgZm9sbG93ZWQgYnkgdGhlIG1hc3Mgb2YgYWxsIGZ1J2l2bGEuCgpBcyB3aXRoIGFsbCBv ZiB0aGUgSk9JIHdoaWNoIGhhcyBhbiBpbmhlcmVudCBvcmRlciwgJydzZScnIG1heSBiZSBwdXQg YmVmb3JlICcnY2UnbycnIHRvIGludmVyc2UgdGhlIG9yZGVyOiAiQSAnJ2NlJ28nJyBCIiBpcyB0 aGUgc2FtZSBhcyAiQiBzZSAnJ2NlJ28nJyBBIi4KCgoKSG93IGNhbiB5b3UgY29ycmVjdGx5IHRy YW5zbGF0ZSAiSmFjayBhbmQgSm9lIHdyb3RlIHRoaXMgcGxheSI/CgpBbnN3ZXI6IH5+Z3JleSxn cmV5OiAnJ3RpIGRyYWNpIGZpIGxhIC5kamFrLiBqb2kgbGEgLmRqb3VzLicnfn4gCgoKClRoZSBj bWF2byBvZiBKT0kgYXJlIHZlcnkgZmxleGlibGU6IFRoZXkgY2FuIGFjdCBib3RoIGFzIHN1bXRp IGNvbm5lY3RpdmVzIGFuZCB0YW5ydS1pbnRlcm5hbCBjb25uZWN0aXZlcywgc28gdGhleSBjYW4g YmUgdXNlZCB0byBjb25uZWN0IHN1bXRpLCBzZWxicmkgYW5kIGJyaWRpLiBUaGlzIGZsZXhpYmls aXR5IG1lYW5zIHRoYXQgb25lIG11c3QgYmUgY2FyZWZ1bCB0byB1c2UgZmEnb3JtYSdvIGNvcnJl Y3RseSB3aGVuIHVzaW5nIGEgSk9JLiAKCldoYXQgaXMgd3Jvbmcgd2l0aCB0aGUgYnJpZGkgJyds byBkb3RjbyBqbyd1IG1pIGN1IGtsYW1hIGxhIGRvdGNvIGd1Z2RlJyc/CgpBbnN3ZXI6IH5+Z3Jl eSxncmV5OiAnJ2pvJ3UnJyBpcyBwdXQgYWZ0ZXIgYSBzZWxicmksIHNvIGl0IGV4cGVjdHMgYSBz ZWxicmkgYWZ0ZXIgaXQgdG8gY29ubmVjdCB0bywgYnV0IG5vbmUgaXMgZm91bmQuIEhhZCAgYSAn J2t1JycgYmVlbiBwcmVzZW50IGJlZm9yZSB0aGUgY29ubmVjdGl2ZSwgaXQgd291bGQgaGF2ZSBi ZWVuIGdyYW1tYXRpY2Fsfn4KCgoKSWYgc2V2ZXJhbCBKT0kgYXJlIHVzZWQsICcnYm8nJyBhbmQv b3IgJydrZScnIG1heSBiZSB1c2VkIHRvIG92ZXJyaWRlIHRoZSB1c3VhbCBsZWZ0LWdyb3VwaW5n OiAnJ21pIGpvaSBkbyBjZSdvIGxhIC5kamFrLiBqb2kgYm8gbGEgLmRqb3VzLiBjdSBwdSdvIGNp J2Vya2VpIGRhbWJhIGxlaSB4dW5yZScnICJNZSBhbmQgeW91LCBhbmQgdGhlbiBKYWNrIGFuZCBK b2UgYXJlIGFib3V0IHRoZSBwbGF5IGFnYWluc3QgdGhlIHJlZHMiLiBDb250cmFzdCB3aXRoICcn bWkgam9pIGRvIGNlJ28gbGEgLmRqYWsuIGpvaSBsYSAuZGpvdXMuIGN1IHB1J28gY2knZXJrZWkg ZGFtYmEgbGVpIHh1bnJlJycgLSAiRmlyc3QgbWUgYW5kIHlvdSwgdGhlbiBKYWNrIHdpbGwgdG9n ZXRoZXIgd2l0aCBKb2UgcGxheSBhZ2FpbnN0IHRoZSByZWRzIi4gCgpDb25uZWN0aW5nIGJyaWRp IHdpdGggSk9JIGNhbiBtYWtlIHNvbWUgaW50ZXJlc3RpbmcgaW1wbGljYXRpb25zIG9mIHRoZSBy ZWxhdGlvbnNoaXAgYmV0d2VlbiB0aGUgYnJpZGk6ICcnbGEgLmRqYWsuIG1vcnNpIHJpJ2EgbG8g bnUgcmkgZHp1c29pIC5pIGpvaSBsZSBqZW1qYSdhIHBvIHJpIGN1IGJlYm5hJycgLSAiSmFjayBp cyBkZWFkIGJlY2F1c2UgaGUgd2FzIGEgaW5mYW50cnkgc29sZGllciBhbmQgaGlzIGdlbmVyYWwg d2FzIGFuIGlkaW90IiwgaW1wbHlpbmcgdGhhdCB0aGVzZSB0d28gYnJpZGkgbWFzc2VkIHRvZ2V0 aGVyIHdhcyB0aGUgcGh5c2ljYWwgY2F1c2Ugb2YgaGlzIGRlYXRoOiBIYWQgaGUgb25seSBiZWVu IGluIGFuIGFybW9yZWQgdmVoaWNsZSBvciB3aXRoIGEgY29tcGV0ZW50IGNvbW1hbmRlciwgaGUg bWlnaHQgaGFkIHN1cnZpdmVkLgoKX18nJ2R6dXNvaScnX18geDEgaXMgYW4gaW5mYW50cnkgc29s ZGllciBvZiBhcm15IHgyCgpfXycnamVtamEnYScnX18geDEgaXMgYSBnZW5lcmFsIG9mIGFybXkg eDIgaW4gZnVuY3Rpb24geDMKCl9fJydiZWJuYScnX18geDEgaXMgZm9vbGlzaC9pZGlvdGljIGlu IHByb3BlcnR5L2FzcGVjdCB4MgoKCgpOb24tbG9naWNhbCBjb25uZWN0aXZlcyBtYXkgYWxzbyBi ZSBuZWdhdGVkIHdpdGggJyduYWknJywgaW5kaWNhdGluZyB0aGF0IHNvbWUgb3RoZXIgY29ubmVj dGl2ZSBpcyBhcHByb3ByaWF0ZTogJydsbyBkamFjdSBjZSdvIG5haSAuZSdvIGxvIGxhZHJ1IGN1 IGNhdnlmbGUgZmkgbGUgbWkgdGNhdGknJyAtICJQbGVhc2UgZG9uJ3QgcG91ciBmaXJzdCB3YXRl ciB0aGVuIG1pbGsgaW4gbXkgdGVhIi4gVGhpcywgb2YgY291cnNlLCBzYXlzIG5vdGhpbmcgYWJv dXQgd2hpY2ggY29ubmVjdGl2ZSBpcyBhcHByb3ByaWF0ZSAtIG9uZSBtaWdodCBndWVzcyAnJ3Nl IGNlJ28nJyAoZmlyc3QgbWlsaywgdGhlbiB3YXRlciksIG9ubHkgdG8gZmluZCBvdXQgdGhhdCAn Jy5lIG5haScnIChvbmx5IHdhdGVyLCBubyBtaWxrIGF0IGFsbCkgd2FzIHRoZSBjb3JyZWN0IG9u ZS4KCl9fJydjYXZ5ZmxlJydfXyB4MSwgY29uc2lzdGluZyBvZiB4MiwgZmxvd3MgaW50byB4MyBm cm9tIHg0CgpKdXN0IGxpa2UgYSBsb2dpY2FsIGNvbm5lY3RpdmUgaXMgYSBwbGF1c2libGUgbmVn YXRpb24gb2YgYSBub24tbG9naWNhbCBjb25uZWN0aXZlLCBhbnN3ZXJzIHRvIHF1ZXN0aW9ucyBv ZiB0aGUgdHlwZSAnJ2ppJycgb3IgJydqZSdpJycgY2FuIGJlIGJvdGggbG9naWNhbCBhbmQgbm9u LWxvZ2ljYWw6IEE6ICcnbGFkcnUgamUnaSBzYWt0YSBsZSBkbyBja2FmaScnIEI6ICcnc2UgY2Un bycnICgiTWlsayBvciBzdWdhciBpbiB5b3UgY29mZmVlPyIgIkZpcnN0IHRoZSBsYXR0ZXIsIHRo ZW4gdGhlIGZvcm1lciIpLiBJbiB0aGlzIGNhc2UgJydjZScnIHdvdWxkIG1ha2Ugbm8gc2Vuc2Ug YXQgYWxsLCBzaW5jZSBzZXRzIGNhbid0IGJlIGNvbnRhaW5lZCBpbiBjb2ZmZWUsIGFuZCAnJ2pv aScnIChib3RoIG1peGVkIHRvZ2V0aGVyKSB3b3VsZCBtZWFuIHRoZSBzYW1lIGFzICcnam8ndScn IChib3RoIG9mIHRoZW0pLCB1bmxlc3MgdGhlIHJlc3BvbmRhbnQgcHJlZmVycmVkIHVubWl4ZWQg c3VnYXIgaW4gaGlzIGNvZmZlZS4KCgoKVGhlIGZpZnRoIEpPSSBJIHByZXNlbnQgaGVyZSBpcyBh IGJpdCBvZiBhbiBvZGRiYWxsOgoKX18nJ2ZhJ3UnJ19fIE5vbi1sb2dpY2FsIGNvbm5lY3RpdmU6 IFVubWl4ZWQgb3JkZXJlZCBkaXN0cmlidXRpb24gKEEgYW5kIEIsIHJlc3BlY3RpdmVseSkKCldo ZW4gb25seSBvbmUgJydmYSd1JycgaXMgcGxhY2VkIHdpdGhpbiBhIGJyaWRpIChvciBzZXZlcmFs IGJyaWRpIGNvbm5lY3RlZCB0b2dldGhlciB3aXRoIGNvbm5lY3RvcnMpLCAnJ2ZhJ3UnJyBtYXkg YmUgYXNzdW1lZCB0byBiZSBpZGVudGljYWwgdG8gJydqbyd1JycuIFdoZW4gc2V2ZXJhbCAnJ2Zh J3UnJyBpcyB1c2VkIHdpdGhpbiBvbmUgYnJpZGksIGhvd2V2ZXIsIHRoZSBjb25zdHJ1Y3RzIGJl Zm9yZSAnJ2ZhJ3UnJyBlYWNoIGFwcGx5IHRvIGVhY2ggb3RoZXIsIGFuZCB0aGUgY29uc3RydWN0 cyBhZnRlciAnJ2ZhJ3UnJyBlYWNoIGFwcGx5IHRvIGVhY2ggb3RoZXIuIExldCdzIGhhdmUgYW4g ZXhhbXBsZToKCicnbWkgZmEndSBkbyBydXNrbyBmYSd1IGthZG5vJycgLSAiWW91IGFuZCBJIGFy ZSBSdXNzaWFuIGFuZCBDYW5hZGlhbiIsIGltcGx5aW5nIHRoYXQgJydtaScnIGdvZXMgd2l0aCAn J3J1c2tvJycgYW5kICcnZG8nJyBnb2VzIHdpdGggJydrYWRubycnLCBhbmQgaW1wbHlpbmcgbm90 aGluZyBhYm91dCBhbnkgb3RoZXIgY29tYmluYXRpb24uIE9mIGNvdXJzZSwgaW4gdGhpcyBleGFt cGxlLCBpdCB3b3VsZCBiZSBtdWNoIGVhc2llciB0byBzYXkgJydtaSBydXNrbyAuaSBkbyBrYWRu bycnLgoKCgpUaGVzZSBsYXN0IHRocmVlIEpPSSBjb25uZWN0cyB0d28gc2V0cyB0byBtYWtlIG5l dyBzZXRzOgoKX18nJ2pvJ2UnJ19fCUEgdW5pb24gQgoKX18nJ2t1J2EnJ19fCUEgaW50ZXJzZWN0 aW9uIEIKCl9fJydwaSd1ICcnX18JQ3Jvc3MgcHJvZHVjdCBvZiBBIGFuZCBCCgoKClRoZXNlIGFy ZSBwcm9iYWJseSBub3QgdmVyeSB1c2VmdWwgZm9yIHRoZSBhdmVyYWdlIExvamJhbmlzdCwgYnV0 IEkgbWlnaHQgYXMgd2VsbCBpbmNsdWRlIHRoZW0gaGVyZS4KClRoZSBmaXJzdCBvbmUsICcnam8n ZScnLCBtYWtlcyBhIG5ldyBzZXQgZnJvbSB0d28gc2V0cy4gVGhpcyBuZXcgc2V0IGNvbnRhaW5z IG9ubHkgdGhvc2UgbWVtYmVycyB3aGljaCBhcmUgaW4gYm90aCBzZXRzLgoKQSBzZXQgbWFkZSB3 aXRoICcna3UnYScnIGNvbnRhaW5zIGFsbCB0aGUgbWVtYmVycyBvZiBzZXQgQSBhbmQgdGhvc2Ug b2Ygc2V0IEIuIElmIGFueXRoaW5nIGlzIGEgbWVtYmVyIG9mIGJvdGggc2V0cywgdGhleSBhcmUg bm90IGNvdW50ZWQgdHdpY2UuCgonJ3BpJ3UnJyBpcyBhIGxpdHRsZSBtb3JlIGNvbXBsaWNhdGVk LiBBIHNldCAiQSAnJ3BpJ3UnJyBCIiBjb250YWlucyBhbGwgdGhlIHBvc3NpYmxlIGNvbWJpbmF0 aW9ucyBvZiAiYSAnJ2NlJ28nJyBiIiwgd2hlcmUgYSBpcyBhIG1lbWJlciBvZiBBIGFuZCBiIGlz IGEgbWVtYmVyIG9mIEIuIEl0IGlzIHRodXMgYSBzZXQgb2Ygc2VxdWVuY2VzIG9mIG1lbWJlcnMu IElmLCBmb3IgaW5zdGFuY2UsIHNldCBBIGNvbnRhaW5lZCB0aGUgbWVtYmVycyBwIGFuZCBxLCBh bmQgc2V0IEIgY29udGFpbmVkIG1lbWJlcnMgZiBhbmQgZywgdGhlbiBBICcncGkndScnIEIgd291 bGQgYmUgYSBzZXQgY29uc2lzdGluZyBvZiB0aGUgZm91ciBtZW1iZXJzIHAgJydjZSdvJycgZiwg cCAnJ2NlJ28nJyBnLCBxICcnY2UnbycnIGYgYW5kIHEgJydjZSdvJycgZy4KCgoKISEhRW5kIG9m IHBhcnQgdHdvCgooKHdhdmVsZXNzb25zY29udGludWVkfFJldHVybiB0byB0aGUgd2F2ZWxlc3Nv bnMgcGFydCBvbmUpKQoKVGhpcyBwYXJ0IGNvbmNsdWRlcyB0aGUgdHV0b3JpYWwgdG8gb3JkaW5h cnkgTG9qYmFuLiBJbiB0aGUgdGhpcmQgcGFydCwgSSB3aWxsIGZvY3VzIG9uIGFkdmFuY2VkIExv amJhbiAtIHRoZSBwYXJ0cyB5b3UgZG9uJ3QgYWN0dWFsbHkgbmVlZCB0byBrbm93IHRvIHNwZWFr IHRoZSBsYW5ndWFnZS4gSSBkaXNjb3VyYWdlIHlvdSB0byBiZWdpbiByZWFkaW5nIHRoZSB0aGly ZCBwYXJ0IHVudGlsIHlvdSBmZWVsIGNvbWZvcnRhYmxlIGVub3VnaCB3aXRoIHRoZSBpbmZvcm1h dGlvbiBpbiB0aGUgZmlyc3QgdHdvIHBhcnRzIHRvIGhvbGQgYW4gd3JpdHRlbiBjb252ZXJzYXRp b24gaW4gdGhlIGxhbmd1YWdlLiBJZiB5b3UgX19kb19fIHdpc2ggdG8gY29udGludWUsIHlvdSBj YW4gcHJlc3MgKCh3YXZlbGVzc29uc2NvbnRpbnVlZHAzfHRoaXMgbGluaykpIHRvIGdvIHRoZXJl LgoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCldpa2lj aGFuZ2VzIG1haWxpbmcgbGlzdApXaWtpY2hhbmdlc0Bsb2piYW4ub3JnCmh0dHA6Ly9tYWlsLmxv amJhbi5vcmcvbWFpbG1hbi9saXN0aW5mby93aWtpY2hhbmdlcwo=