Received: from localhost ([::1]:48530 helo=stodi.digitalkingdom.org) by stodi.digitalkingdom.org with esmtp (Exim 4.80.1) (envelope-from ) id 1W3BEe-0005Hb-52; Tue, 14 Jan 2014 13:09:20 -0800 Received: from 173-13-139-235-sfba.hfc.comcastbusiness.net ([173.13.139.235]:52707 helo=jukni.digitalkingdom.org) by stodi.digitalkingdom.org with smtp (Exim 4.80.1) (envelope-from ) id 1W3BET-0005HM-Ja for wikineurotic@lojban.org; Tue, 14 Jan 2014 13:09:18 -0800 Received: by jukni.digitalkingdom.org (sSMTP sendmail emulation); Tue, 14 Jan 2014 13:09:09 -0800 From: "Apache" Date: Tue, 14 Jan 2014 13:09:09 -0800 To: wikineurotic@lojban.org X-PHP-Originating-Script: 48:htmlMimeMail.php MIME-Version: 1.0 Message-ID: X-Spam-Score: 2.0 (++) X-Spam_score: 2.0 X-Spam_score_int: 20 X-Spam_bar: ++ X-Spam-Report: Spam detection software, running on the system "stodi.digitalkingdom.org", has identified this incoming email as possible spam. The original message has been attached to this so you can view it (if it isn't spam) or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: The page wavelessonscontinued was changed by klaki at 21:08 UTC Comment: misc small changes You can view the page by following this link: http://www.lojban.org/tiki/wavelessonscontinued [...] Content analysis details: (2.0 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 1.6 RCVD_IN_BRBL_LASTEXT RBL: RCVD_IN_BRBL_LASTEXT [173.13.139.235 listed in bb.barracudacentral.org] 0.4 RDNS_DYNAMIC Delivered to internal network by host with dynamic-looking rDNS Subject: [Wikineurotic] Wiki page wavelessonscontinued changed by klaki X-BeenThere: wikineurotic@lojban.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: webmaster@lojban.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: wikineurotic-bounces@lojban.org VGhlIHBhZ2Ugd2F2ZWxlc3NvbnNjb250aW51ZWQgd2FzIGNoYW5nZWQgYnkga2xha2kgYXQgMjE6 MDggVVRDCkNvbW1lbnQ6IG1pc2Mgc21hbGwgY2hhbmdlcwoKWW91IGNhbiB2aWV3IHRoZSBwYWdl IGJ5IGZvbGxvd2luZyB0aGlzIGxpbms6CiAKaHR0cDovL3d3dy5sb2piYW4ub3JnL3Rpa2kvd2F2 ZWxlc3NvbnNjb250aW51ZWQKCllvdSBjYW4gdmlldyBhIGRpZmYgYmFjayB0byB0aGUgcHJldmlv dXMgdmVyc2lvbiBieSBmb2xsb3dpbmcgdGhpcyBsaW5rOiAKaHR0cDovL3d3dy5sb2piYW4ub3Jn L3Rpa2kvdGlraS1wYWdlaGlzdG9yeS5waHA/cGFnZT13YXZlbGVzc29uc2NvbnRpbnVlZCZjb21w YXJlPTEmb2xkdmVyPTg5Jm5ld3Zlcj05MAoKCioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqClRoZSBjaGFuZ2VzIGluIHRoaXMgdmVyc2lv biBmb2xsb3cgYmVsb3csIGZvbGxvd2VkIGFmdGVyIGJ5IHRoZSBjdXJyZW50IGZ1bGwgcGFnZSB0 ZXh0LgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKgoKCistKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0r LSstKy0rLSstKy0rCkBAIC1MaW5lczogNTcxLTU3NyBjaGFuZ2VkIHRvICtMaW5lczogNTcxLTU3 NyBAQAorLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSst Ky0rLSstKwpyZXRhaW5pbmcgdGhlIG1lYW5pbmcuCgotIFdoYXQgZG9lcyAnJ21pIGppbXBlIGZp IGxhIGxvamJhbiBmaSdvIHNlIHRhdmxhIHtmZSd1fSBtaScnIHN0YXRlPworIFdoYXQgZG9lcyAn J21pIGppbXBlIGZpIGxvIHNrYW1pIGZpJ28gc2UgdGF2bGEge2ZlJ3V9IG1pJycgc3RhdGU/Cgot IEFuc3dlcjogfn5ncmV5LGdyZXk6SSB1bmRlcnN0YW5kIHNvbWV0aGluZyBhYm91dCBMb2piYW4s IHNwb2tlbiB0byBtZX5+CisgQW5zd2VyOiB+fmdyZXksZ3JleTpJIHVuZGVyc3RhbmQgc29tZXRo aW5nIGFib3V0IGNvbXB1dGVycywgc3Bva2VuIHRvIG1lfn4KClB1dHRpbmcgdGhlICcnc3VtdGNp dGEnJyByaWdodCBpbiBmcm9udCBvZiB0aGUgc2VsYnJpIGFsc28gbWFrZXMgaXQgc2VsZi10ZXJt aW5hdGUsIHNpbmNlIHN1bXRjaXRhIG9ubHkgY2FuIGFic29yYiBzdW10aSwgYW5kIG5vdCBzZWxi cmkuIFRoaXMgZmFjdCB3aWxsIGJlIG9mIGltcG9ydGFuY2UgaW4gbmV4dCBsZXNzb24sIGFzIHlv dSB3aWxsIHNlZS4KCistKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSst Ky0rLSstKy0rLSstKy0rCkBAIC1MaW5lczogNzkzLTc5NyBjaGFuZ2VkIHRvICtMaW5lczogNzkz LTc5NyBAQAorLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0r LSstKy0rLSstKwoKCi0gX18nJ2NtZXZsYScnX18gYXJlIHZlcnkgZWFzeSB0byBpZGVudGlmeSBi ZWNhdXNlIHRoZXkgYmVnaW4gYW5kIGVuZCB3aXRoIGEgcGF1c2UsIHNpZ25hbGVkIGJ5IGEgZnVs bCBzdG9wIGluIHdyaXRpbmcsIGFuZCB0aGUgbGFzdCBsZXR0ZXIgaXMgYSBjb25zb25hbnQuIGNt ZXZsYSBjYW4ndCBoYXZlIGFueSBvdGhlciBmdW5jdGlvbiBiZXNpZGVzIGFjdGluZyBhcyBhIG5h bWUuIE9uIHRoZSBvdGhlciBoYW5kLCBuYW1lcyB3aGljaCBhcmUgbm90IHNlbGJyaSBjYW5ub3Qg YXBwZWFyIGluIExvamJhbiB3aXRob3V0IHRoZW0gYmVpbmcgY21ldmxhLCBvciBlbmNhc2VkIGJ5 IGNlcnRhaW4gcXVvdGUgd29yZHMuIE9uZSBjYW4gbWFyayBzdHJlc3MgaW4gdGhlIG5hbWVzIGJ5 IGNhcGl0YWxpemluZyB0aGUgbGV0dGVycyB3aGljaCBhcmUgc3RyZXNzZWQuIEV4YW1wbGVzIG9m IGNtZXZsYSBhcmU6ICcnLmlvaEFOLicnIChKb2hhbiwgaCBpcyBjYXBpdGFsIGFwb3N0cm9waGUp LCAnJy5tYXQuJycgKE1hdHQpIGFuZCAnJy5sdXRjaU1JTi4nJyAoTHVpLUNoaSBNaW4pLiBOYW1l cyB3aGljaCBkbyBub3QgZW5kIGluIGNvbnNvbmFudHMgaGF2ZSB0byBoYXZlIG9uZSBhZGRlZDog JycuaXZ5bi4nJyAoRXZlKSwgb3IgKHByb2JhYmx5IGJldHRlciBpbiB0aGlzIGNhc2UpIHJlbW92 ZWQ6ICcnLml2LicnCisgX18nJ2NtZXZsYScnX18gYXJlIHZlcnkgZWFzeSB0byBpZGVudGlmeSBi ZWNhdXNlIHRoZXkgYmVnaW4gYW5kIGVuZCB3aXRoIGEgcGF1c2UsIHNpZ25hbGVkIGJ5IGEgZnVs bCBzdG9wIGluIHdyaXRpbmcsIGFuZCB0aGUgbGFzdCBsZXR0ZXIgaXMgYSBjb25zb25hbnQuIENt ZXZsYSBoYXZlIHR3byBmdW5jdGlvbnM6IFRoZXkgY2FuIGVpdGhlciBhY3QgYXMgYSBwcm9wZXIg bmFtZSwgaWYgcHJlZml4ZWQgYnkgdGhlIGFydGljbGUgJydsYScnIChleHBsYWluZWQgaW4gbmV4 dCBsZXNzb24pLCBvciB0aGV5IGNhbiBhY3QgYXMgdGhlIGNvbnRlbnQgb2YgYSBxdW90ZS4gQXMg cHJldmlvdXNseSBzdGF0ZWQsIG9uZSBjYW4gbWFyayBzdHJlc3MgaW4gdGhlIG5hbWVzIGJ5IGNh cGl0YWxpemluZyB0aGUgbGV0dGVycyB3aGljaCBhcmUgc3RyZXNzZWQuIEV4YW1wbGVzIG9mIGNt ZXZsYSBhcmU6ICcnLmlvaEFOLicnIChKb2hhbiwgaCBpcyBjYXBpdGFsIGFwb3N0cm9waGUsIHlv dSByZW1lbWJlciksICcnLm1hdC4nJyAoTWF0dCkgYW5kICcnLmx1aXRjaU1JTi4nJyAoTHVpLUNo aSBNaW4pLiBOYW1lcyB3aGljaCBkbyBub3QgZW5kIGluIGNvbnNvbmFudHMgaGF2ZSB0byBoYXZl IG9uZSBhZGRlZDogJycuaXZ5bi4nJyAoRXZlKSwgb3IgKHByb2JhYmx5IGJldHRlciBpbiB0aGlz IGNhc2UpIHJlbW92ZWQ6ICcnLml2LicnCgpfXycnYnJpdmxhJydfXyBhcmUgY2FsbGVkIOKAnGJy aWRpLXdvcmRz4oCdIGJlY2F1c2UgdGhleSBieSBkZWZhdWx0IGFyZSBzZWxicmksIGFuZCB0aGVy ZWZvcmUgYWxtb3N0IGFsbCBMb2piYW4gd29yZHMgd2l0aCBhIHBsYWNlIHN0cnVjdHVyZSBhcmUg YnJpdmxhLiBUaGlzIGhhcyBhbHNvIGdpdmVuIHRoZW0gdGhlIEVuZ2xpc2ggbmlja25hbWUg4oCc Y29udGVudC13b3Jkc+KAnS4gSXQncyBuZWFybHkgaW1wb3NzaWJsZSB0byBzYXkgYW55dGhpbmcg dXNlZnVsIHdpdGhvdXQgYnJpdmxhLCBhbmQgYWxtb3N0IGFsbCB3b3JkcyBmb3IgY29uY2VwdHMg b3V0c2lkZSBsb2piYW4gZ3JhbW1hciAoYW5kIGV2ZW4gbW9zdCBvZiB0aGUgd29yZHMgZm9yIHRo aW5ncyBpbiB0aGUgbGFuZ3VhZ2UpIGFyZSBjYXB0dXJlZCBieSBicml2bGEuIEFzIHNob3duIGlu IHRoZSB0YWJsZSwgYnJpdmxhIGhhcyB0aHJlZSBzdWJjYXRlZ29yaWVzOgoKKy0rLSstKy0rLSst Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSsKQEAgLUxpbmVz OiA4NDEtODQ1IGNoYW5nZWQgdG8gK0xpbmVzOiA4NDEtODQ1IEBACistKy0rLSstKy0rLSstKy0r LSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rCl9fJydsYWknJ19fIC0g Z2Fkcmk6IE5hbWluZyBhcnRpY2xlOiBDb252ZW50aW9uYWwsIOKAnGNvbnZlcnQgc2VsYnJpIG9y IGNtZXZsYSB0byBzdW10aeKAnS4gVHJlYXQgcmVzdWx0IGFzIG1hc3MoZXMpLgoKLSBUaGVzZSBh cmUgdGhlIHNhbWUgaW4gYWxsIGFzcGVjdHMgZXhjZXB0IGZvciBvbmU6IFRoZXkgdHJlYXQgdGhl IHN1bXRpIGV4cGxpY2l0bHkgYXMgbWFzc2VzLiBJZiB0aGVyZSBpcyBvbmx5IG9uZSBvYmplY3Qg aW4gcXVlc3Rpb24sIGFuIGluZGl2aWR1YWwgYW5kIGEgbWFzcyBjb25zaXN0aW5nIG9mIG9uZSBv YmplY3QgYXJlIGVxdWl2YWxlbnQuIFRoZSBkaWZmZXJlbmNlIGJldHdlZW4gdGhlc2UgdHdvIGNv bmNlcHRzIGxpZSBpbiB3aGljaCBzZWxicmkgY2FuIGJlIGFzY3JpYmVkIHRvIGEgZ3JvdXAgb2Yg aW5kaXZpZHVhbHMgdmVyc3VzIGEgbWFzcy4gQSBncm91cCBvZiBpbmRpdmlkdWFscyBjYW4gYmUg c2FpZCB0byBmaXQgYSBjZXJ0YWluIHNlbGJyaSBpZiwgYW5kIG9ubHkgaWYsIGFsbCBtZW1iZXJz IG9mIHRoZSBncm91cCBlYWNoIGZpdCB0aGUgc2VsYnJpLiBJdCBpcyBjb3JyZWN0IHRvIGRlc2Ny aWJlIGEgcGFjayBvZiAnJ2xvIGdlcmt1JycsIGNvbnNpZGVyZWQgaW5kaXZpZHVhbGx5LCBhcyBi ZWluZyBibGFjaywgaWYgZm9yIGVhY2ggb2YgdGhlIGRvZ3MgaXQncyB0cnVlIHRoYXQgdGhleSBh cmUgYmxhY2suIEEgbWFzcywgb24gdGhlIG90aGVyIGhhbmQsIGZpdHMgb25seSB0aG9zZSBzZWxi cmkgd2hpY2ggaXRzIGNvbXBvbmVudHMgZml0IGFzIGEgd2hvbGUsIGFzIGEgdGVhbSwgc28gdG8g c3BlYWsuIEhvd2V2ZXIsIGFsbCB0aGUgbWVtYmVycyBvZiBhIG1hc3MgJydsb2kgZ2Vya3UnJyBt dXN0IGJlIGRvZ3MgaW4gb3JkZXIgZm9yICcnbG9pJycgdG8gYmUgYXBwbGljYWJsZS4gVGhlIG5v dGlvbiBvZiAmcXVvdDttYXNzZXMmcXVvdDsgYXJlIHNvcGhpc3RpY2F0ZWQsIGFuZCByZXF1aXJl cyBzb21lIGV4YW1wbGVzIHRvIGRlbW9uc3RyYXRlIHdoaWNoIHByb3BlcnRpZXMgaXQgY2FuIGhh dmU6CisgVGhlc2UgYXJlIHRoZSBzYW1lIGluIGFsbCBhc3BlY3RzIGV4Y2VwdCBmb3Igb25lOiBU aGV5IHRyZWF0IHRoZSBzdW10aSBleHBsaWNpdGx5IGFzIG1hc3Nlcy4gVGhpcyBpcyB3aGVyZSB0 aGUgZGlzdGluY3Rpb24gYmV0d2VlbiBpbmRpdmlkdWFscyBhbmQgbWFzc2VzIGJlY29tZXMgaW1w b3J0YW50LiBJZiB0aGVyZSBpcyBvbmx5IG9uZSBvYmplY3QgaW4gcXVlc3Rpb24sIGFuIGluZGl2 aWR1YWwgYW5kIGEgbWFzcyBjb25zaXN0aW5nIG9mIG9uZSBvYmplY3QgYXJlIGVxdWl2YWxlbnQu IFRoZSBkaWZmZXJlbmNlIGJldHdlZW4gdGhlc2UgdHdvIGNvbmNlcHRzIGxpZSBpbiB3aGljaCBz ZWxicmkgY2FuIGJlIGFzY3JpYmVkIHRvIGEgZ3JvdXAgb2YgaW5kaXZpZHVhbHMgdmVyc3VzIGEg bWFzcy4gQSBncm91cCBvZiBpbmRpdmlkdWFscyBjYW4gYmUgc2FpZCB0byBmaXQgYSBjZXJ0YWlu IHNlbGJyaSBpZiwgYW5kIG9ubHkgaWYsIGFsbCBtZW1iZXJzIG9mIHRoZSBncm91cCBlYWNoIGZp dCB0aGUgc2VsYnJpLiBJdCBpcyBjb3JyZWN0IHRvIGRlc2NyaWJlIGEgcGFjayBvZiAnJ2xvIGdl cmt1JycsIGNvbnNpZGVyZWQgaW5kaXZpZHVhbGx5LCBhcyBiZWluZyBibGFjaywgaWYgZm9yIGVh Y2ggb2YgdGhlIGRvZ3MgaXQncyB0cnVlIHRoYXQgdGhleSBhcmUgYmxhY2suIEEgbWFzcywgb24g dGhlIG90aGVyIGhhbmQsIGZpdHMgb25seSB0aG9zZSBzZWxicmkgd2hpY2ggaXRzIGNvbXBvbmVu dHMgZml0IGFzIGEgd2hvbGUsIGFzIGEgdGVhbSwgc28gdG8gc3BlYWsuIEhvd2V2ZXIsIGFsbCB0 aGUgbWVtYmVycyBvZiBhIG1hc3MgJydsb2kgZ2Vya3UnJyBtdXN0IGJlIGRvZ3MgaW4gb3JkZXIg Zm9yICcnbG9pJycgdG8gYmUgYXBwbGljYWJsZS4gVGhlIG5vdGlvbiBvZiAmcXVvdDttYXNzZXMm cXVvdDsgYXJlIHNvcGhpc3RpY2F0ZWQsIGFuZCByZXF1aXJlcyBzb21lIGV4YW1wbGVzIHRvIGRl bW9uc3RyYXRlIHdoaWNoIHByb3BlcnRpZXMgaXQgY2FuIGhhdmU6Cl9fJydzcnVyaScnX186IOKA nHgxIGZsYW5rcy9lbmNpcmNsZXMvZW5jbG9zZXMgeDIgaW4gbGluZS9wbGFuZS9kaXJlY3Rpb25z IHgz4oCdCicnbGVpIHByZW51IGN1IHNydXJpIGxvIHpkYW5pJycgLSDigJxUaGUgcGVvcGxlIHN1 cnJvdW5kZWQgdGhlIGhvbWUu4oCdIGlzIHBsYXVzaWJsZSwgZXZlbiB0aG91Z2gsIHlvIG1vbWEg am9rZXMgbm90IGNvbnNpZGVyZWQsIGl0J3MgY29tcGxldGVseSBpbXBsYXVzaWJsZSB0aGF0IGl0 IGNvdWxkIGJlIHRydWUgZm9yIGFueSBvbmUgb2YgdGhlIG1lbWJlcnMgYWxvbmUuIEFuIEVuZ2xp c2ggYW5hbG9neSBjb3VsZCBiZTog4oCcSHVtYW5zIGRlZmVhdGVkIHNtYWxscG94IGluIHRoZSAy MHRoIGNlbnR1cnnigJ0uIFN1cmVseSBubyBodW1hbiBkaWQgc28sIGJ1dCB0aGUgbWFzcyBvZiBo dW1hbnMgZGlkLCBhbmQgdGhhdCBtYWtlcyB0aGUgc2VudGVuY2UgdHJ1ZSBpbiBFbmdsaXNoLCBh cyB3ZWxsIGFzIGluIExvamJhbiBpZiDigJxodW1hbnPigJ0gYXJlIGEgbWFzcy4gSnVzdCBsaWtl IHRoZSBMb2piYW4gbWFzcywgdGhlIEVuZ2xpc2ggbWFzcyDigJxodW1hbnPigJ0gY2FuIG9ubHkg cmVmZXIgdG8gaW5kaXZpZHVhbHMgZWFjaCBvZiB3aGljaCBhcmUgaHVtYW4uIEFub3RoZXIgZXhh bXBsZToKCistKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSst Ky0rLSstKy0rCkBAIC1MaW5lczogODY5LTg3MyBjaGFuZ2VkIHRvICtMaW5lczogODY5LTg3MyBA QAorLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0r LSstKwpPZiB3aGljaCB0aGVyZSBpcyBubyAnJ2xhJyctZXF1aXZhbGVudC4KCi0gU28sIHdoYXQg aXMgYWN0dWFsbHkgbWVhbnQgYnkgdGhlIGFyY2hldHlwZT8gRm9yICcnbG8nZSB0aXJ4dScnLCBp dCBpcyBhbiBpZGVhbCwgaW1hZ2luZWQgYmlnIGNhdCwgd2hpY2ggaGFzIGFsbCB0aGUgcHJvcGVy dGllcyB3aGljaCBiZXN0IGV4ZW1wbGlmaWVzIGJpZyBjYXRzLiBJdCB3b3VsZCBiZSB3cm9uZyB0 byBzYXkgdGhhdCB0aGlzIGluY2x1ZGVzIGhhdmluZyBhIHN0cmlwZWQgZnVyLCBzaW5jZSBhIGJp ZyBzeXN0ZW1hdGljIHN1Ymdyb3VwIG9mIHRoZSBtZW1iZXJzIG9mIHRoZSBzZXQgb2YgYmlnIGNh dHMgZG8gbm90IGhhdmUgc3RyaXBlZCBmdXIsIHRoZSBsZW9wYXJkcyBhbmQgdGhlIGphZ3VhcnMu IExpa2V3aXNlLCB0aGUgdHlwaWNhbCBodW1hbiBkb2VzIG5vdCBsaXZlIGluIEFzaWEgZXZlbiB0 aG91Z2ggYSBsb3Qgb2YgaHVtYW5zIGRvLiBIb3dldmVyLCBpZiBzdWZmaWNpZW50bHkgbWFueSBo dW1hbnMgaGF2ZSBhIHRyYWl0LCBmb3IgaW5zdGFuY2UgYmVpbmcgYWJsZSB0byBzcGVhaywgd2Ug Y2FuIHNheToKKyBTbywgd2hhdCBpcyBhY3R1YWxseSBtZWFudCBieSB0aGUgYXJjaGV0eXBlPyBG b3IgJydsbydlIHRpcnh1JycsIGl0IGlzIGFuIGlkZWFsLCBpbWFnaW5lZCBiaWcgY2F0LCB3aGlj aCBoYXMgYWxsIHRoZSBwcm9wZXJ0aWVzIHdoaWNoIGJlc3QgZXhlbXBsaWZpZXMgYmlnIGNhdHMu IEl0IHdvdWxkIGJlIHdyb25nIHRvIHNheSB0aGF0IHRoaXMgaW5jbHVkZXMgaGF2aW5nIGEgc3Ry aXBlZCBmdXIsIHNpbmNlIGEgYmlnIHN5c3RlbWF0aWMgc3ViZ3JvdXAgb2YgdGhlIG1lbWJlcnMg b2YgdGhlIHNldCBvZiBiaWcgY2F0cyBkbyBub3QgaGF2ZSBzdHJpcGVkIGZ1ciwgc3VjaCBhcyB0 aGUgbGVvcGFyZHMgYW5kIHRoZSBqYWd1YXJzLiBMaWtld2lzZSwgdGhlIHR5cGljYWwgaHVtYW4g ZG9lcyBub3QgbGl2ZSBpbiBBc2lhIGV2ZW4gdGhvdWdoIGEgbG90IG9mIGh1bWFucyBkby4gSG93 ZXZlciwgaWYgc3VmZmljaWVudGx5IG1hbnkgaHVtYW5zIGhhdmUgYSB0cmFpdCwgZm9yIGluc3Rh bmNlIGJlaW5nIGFibGUgdG8gc3BlYWssIHdlIGNhbiBzYXk6Cl9fJydrYWtuZScnX186IOKAnHgx IGlzIGNhcGFibGUgb2YgZG9pbmcvYmVpbmcgeDIgdW5kZXIgY2lyY3Vtc3RhbmNlIHgz4oCdCicn bG8nZSByZW1uYSBjdSBrYWtuZSBsbyBudSB0YXZsYScnIC0g4oCcVGhlIHR5cGljYWwgaHVtYW4g YmVpbmcgY2FuIHNwZWFr4oCdLgoKCgoKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioKVGhlIG5ldyBwYWdlIGNvbnRlbnQgZm9sbG93cyBi ZWxvdy4KKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioKCiFMb2piYW4gV2F2ZSBMZXNzb25zIENvbnRpbnVlZDoKCiEhIU1hZGUgYnkgbGEg a2xha3Ugd2l0aCBoZWxwIGZyb20gdmFyaW91cyBsb2piYW5pc3RzLiBCYXNlZCBvbiB0aGUgd29y ayBvZiBsYSAua3JpYmFjci4gU3ByaW5nIDIwMTMuCgoKCiEhRm9yZXdvcmQKClRoZXNlIGxlc3Nv bnMgYXJlIGFuIGF0dGVtcHQgdG8gZXhwYW5kIG9uIHRoZSBHb29nbGUgV2F2ZSBMZXNzb25zLCBh biBleGNlbGxlbnQgTG9qYmFuIHR1dG9yaWFsIGF1dGhvcmVkIGJ5IGtyaWJhY3IsIHhhbGJvLCBh bmQgdHJhbnNjcmliZWQgYnkgTWFyZW56LCBsZXNzb25zIHdoaWNoIHNhZGx5IG9ubHkgY292ZXJl ZCB0aGUgZmlyc3QgZm91ciBjaGFwdGVycyBpbiB0aGlzIHR1dG9yaWFsLiBJdCBpbXBsZW1lbnRz IHRoZSBuZXdlc3QgcnVsZXMgb2YgTG9qYmFuIG5vdCBjb3ZlcmVkIGJ5IG9sZGVyIG1hdGVyaWFs cyBzdWNoIGFzIFdoYXQgaXMgTG9qYmFuPyBhbmQgTG9qYmFuIGZvciBCZWdpbm5lcnMuCgoKCklm IHlvdSBhcmUgbmV3IHRvIExvamJhbiwgSSByZWNvbW1lbmQgbGlzdGVuaW5nIHRvIGFueSByZWNv cmRpbmdzIHlvdSBjYW4gZmluZCBvZiBzcG9rZW4gTG9qYmFuIGJvdGggYmVmb3JlIGFuZCB3aGls ZSB5b3UgYXJlIHRha2luZyB0aGlzIHR1dG9yaWFsLCBpbiBvcmRlciB0byBtYWtlIHlvdXJzZWxm IGZhbWlsaWFyIHdpdGggdGhlIHNvdW5kcyBhbmQgd29yZHMgb2YgdGhlIGxhbmd1YWdlLiBGdXJ0 aGVybW9yZSwgdHJ5IHRvIHNheSB0aGUgdGhpbmdzIHlvdSByZWFkIGluIExvamJhbiBhY2NlbnQg aWYgaXQncyByZWFzb25hYmx5IHByYWN0aWNhbC4gVGhpcyBjYW4gaGVscCB5b3VyIHByb251bmNp YXRpb24gYSBsb3QuCgoKCldoZW4gdGFraW5nIHRoaXMgdHV0b3JpYWwsIGl0J3MgYmVzdCB0byBw YXVzZSBiZXR3ZWVuIGxlc3NvbnMgaW4gb3JkZXIgdG8gaW50ZXJuYWxpemUgd2hhdCB5b3UgaGF2 ZSBsZWFybnQuIEkgaGF2ZSBhdHRlbXB0ZWQgdG8gYnVpbGQgdGhlc2UgbGVzc29ucyBmcm9tIHRo ZSBib3R0b20gdXAgYW5kIGV4Y2x1ZGUgYW55IHdvcmRzIG9yIGNvbmNlcHRzIHRoYXQgaGF2ZSBu b3QgYmVlbiBleHBsYWluZWQgaW4gcHJldmlvdXMgbGVzc29ucy4gT25jZSBleHBsYWluZWQsIHRo ZXkgYXJlIHVzZWQgZnJlZWx5IHRocm91Z2hvdXQgdGhlIHJlbWFpbmRlciBvZiB0aGUgdHV0b3Jp YWwuIEkgdXJnZSByZWFkZXJzIG5vdCB0byBwYXNzIGFueSBtaXN1bmRlcnN0b29kIGNvbnRlbnQ7 IGlmIHlvdSBoYXZlIHF1ZXN0aW9ucyBvciBhcmUgdW5jZXJ0YWluIGFib3V0IHNvbWV0aGluZywg ZmVlbCBmcmVlIHRvIGFzayB0aGUgTG9qYmFuIGNvbW11bml0eSwgd2hpY2ggY2FuIGJlIGZvdW5k IGluICNsb2piYW4gb24gdGhlIEZyZWVub2RlIElSQyBuZXR3b3JrLiBUaGV5IHdpbGwgYmUgaGFw cHkgdG8gaGVscC4KCgoKSW4gdGhpcyB0dXRvcmlhbCwgTG9qYmFuIHRleHQgaXMgd3JpdHRlbiBp biAnJ2l0YWxpY3MnJy4gTGF0ZXIsIHdoZW4gdXNlZCBhcyBMb2piYW4gbG9hbndvcmRzIGluIEVu Z2xpc2ggc2VudGVuY2VzLCB0aGV5IGFyZSBub3QgbWFya2VkLiBBbnN3ZXJzIHRvIGV4ZXJjaXNl cyBhcmUgZGlzcGxheWVkIGFzIGEgZ3JleSBiYXIuIEhpZ2hsaWdodCB0aGUgdGV4dCBpbiBvcmRl ciB0byBzZWUgaXQuCgoKCkxhc3RseSwgSSBoYXZlIGFzIGZhciBhcyBwb3NzaWJsZSBhdHRlbXB0 ZWQgdG8gdXNlIHRoZSBMb2piYW4gd29yZHMgZm9yIGdyYW1tYXRpY2FsIGNvbnN0cnVjdHM6ICcn c3Vta2EnaScnIGluc3RlYWQgb2YgcHJvLXN1bXRpLCAnJ3N1bXRjaXRhJycgaW5zdGVhZCBvZiBt b2RhbCBhbmQgJydqdWZyYScnIGluc3RlYWQgb2YgdXR0ZXJhbmNlLiBUaGlzIGlzIGJlY2F1c2Ug SSBmZWVsIHRoZSBFbmdsaXNoIHdvcmRzIGFyZSBvZnRlbiBlaXRoZXIgYXJiaXRyYXJ5LCBpbiB3 aGljaCBjYXNlIHRoZXkgYXJlIGp1c3QgbW9yZSB3b3JkcyB0byBsZWFybiwgb3IgbWlzbGVhZGlu ZywgaW4gd2hpY2ggY2FzZSB0aGV5IGFyZSB3b3JzZSB0aGFuIHVzZWxlc3MuIEluIGVpdGhlciBj YXNlLCBhcyBsb25nIGFzIHRoZSB3b3JkcyBhcmUgc3BlY2lmaWMgdG8gdGhvc2Ugd2hvIGFyZSBs ZWFybmluZyBMb2piYW4gYW55d2F5LCB0aGVyZSBpcyBubyByZWFzb24gZm9yIHRoZW0gdG8gZXhp c3QgYXMgc2VwYXJhdGUgRW5nbGlzaCB3b3Jkcy4KCgoKCgohIUxvamJhbiBMZXNzb25zIC0gTGVz c29uIHplcm8gKHNvdW5kcykKCldoaWxlIHlvdSBhcmUgKGhvcGVmdWxseSkgZWFnZXIgdG8gZ2V0 IHN0YXJ0ZWQgb24gdGhlIGlubmVyIHdvcmtpbmdzIG9mIExvamJhbiBncmFtbWFyLCBhIHNob3J0 IGxlc3NvbiBvbiB0aGUgc291bmRzIGFuZCB3cml0aW5nIGNvbnZlbnRpb25zIG9mIHRoZSBsYW5n dWFnZSBpcyBiZW5lZmljaWFsLiBMZWFybmluZyBhIGxhbmd1YWdlIG9ubHkgYnkgcmVhZGluZyBp cyBoYXJkLCBhbmQgaXQncyBub3QgZWFzaWVyIGlmIHlvdXIgaW50ZXJuYWwgdm9pY2UgaXMgbWlz cHJvbnVuY2lhdGluZyBpdC4KCkZvciBtb3JlIGRldGFpbHMgb24gdm93ZWxzIGFuZCBjb25zb25h bnRzIHNvdW5kcyB1c2VkIGluIExvamJhbiwgY2xpY2sgb24gdGhlIGxldHRlcnMgZGVzY3JpYmVk LiBUaGV5IGFyZSBwb2ludGluZyB0byBXaWtpcGVkaWEgYXJ0aWNsZXMgd2hpY2ggZGVzY3JpYmUg dGhlIHNvdW5kIGFuZCB1c3VhbGx5IGhhdmUgYW4gYXVkaW8gcmVjb3JkIG9mIGl0LgoKCgpfX1Zv d2Vsc19fCgpUaGVyZSBhcmUgZml2ZSBwcm9wZXIgdm93ZWxzIGluIExvamJhbiBhbmQgb25lIHNl bWktdm93ZWwuIEZpcnN0IHRoZSBwcm9wZXIgb25lczoKCnx8JydbaHR0cDovL2VuLndpa2lwZWRp YS5vcmcvd2lraS9PcGVuX2Zyb250X3Vucm91bmRlZF92b3dlbHxhXScnIHxhcyBpbiAiZl9fYV9f dGhlciIgKG5vdCBhcyBpbiAiaF9fYV9fdCIpCgonJ1todHRwOi8vZW4ud2lraXBlZGlhLm9yZy93 aWtpL0Nsb3NlLW1pZF9mcm9udF91bnJvdW5kZWRfdm93ZWx8ZV0nJyB8YXMgaW4gImdfX2VfX3Qi CgonJ1todHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0Nsb3NlX2Zyb250X3Vucm91bmRlZF92 b3dlbHxpXScnIHxhcyBpbiAibWFjaF9faV9fbmUiIG9yIChJdGFsaWFuKSAidl9faV9fbm8iIChu b3QgYXMgaW4gImhfX2lfX3QiKQoKJydbaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9DbG9z ZS1taWRfYmFja19yb3VuZGVkX3Zvd2VsfG9dJycgfGFzIGluICJiX19vX19sZCIgb3IgIm1fX29f X3JlIiDigJQgbm90IGFzIGluICJzX19vX18iICh0aGlzIHNob3VsZCBiZSBhICdwdXJlJyBzb3Vu ZC4pCgonJ1todHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0Nsb3NlX2JhY2tfcm91bmRlZF92 b3dlbHx1XScnIHxhcyBpbiAiY19fb29fX2wiIChub3QgYXMgaW4gImJfX3VfX3QiKSB8fAoKVGhl c2UgYXJlIHByZXR0eSBtdWNoIHRoZSBzYW1lIGFzIHZvd2VscyBpbiBJdGFsaWFuIG9yIFNwYW5p c2guIFRoZSBzaXh0aCAoc2VtaSl2b3dlbCwgJydbaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lr aS9TY2h3YXx5XScnLCBpcyBjYWxsZWQgYSAic2Nod2EiIGluIHRoZSBsYW5ndWFnZSB0cmFkZSwg YW5kIGlzIHByb25vdW5jZWQgbGlrZSB0aGUgZmlyc3QgYW5kIGxhc3QgIkEiJ3MgaW4gIkFtZXJp Y2EiICh0aGF0J3MgRW5nbGlzaCAiQW1lcmljYSIsIG5vdCBTcGFuaXNoLikgSXQncyB0aGUgc291 bmQgdGhhdCBjb21lcyBvdXQgd2hlbiB0aGUgbW91dGggaXMgY29tcGxldGVseSByZWxheGVkLgoK VHdvIHZvd2VscyB0b2dldGhlciBhcmUgcHJvbm91bmNlZCBhcyBvbmUgc291bmQgKCBhbmRjYWxs ZWQgYSAiZGlwaHRob25nIikuIFNvbWUgZXhhbXBsZXMgYXJlOgoKCgp8fCcnYWknJyB8YXMgaW4g ImhfX2lnaF9fIgoKJydhdScnIHxhcyBpbiAiaF9fb3dfXyIKCicnZWknJyB8YXMgaW4gImhfX2V5 X18iCgonJ29pJycgfGFzIGluICJiX19veV9fIgoKJydpYScnIHxsaWtlIEdlcm1hbiBfXyJKYV9f IgoKJydpZScnIHxsaWtlIF9fInllYWhfXyIKCicnaXUnJyB8bGlrZSBfXyJ5b3VfXyIKCicndWEn JyB8YXMgaW4gX18id2FhaCFfXyIsIG9yIEZyZW5jaCAicV9fdW9pX18iCgonJ3VlJycgfGFzIGlu ICJxX191ZV9fc3Rpb24iCgonJ3VvJycgfGFzIGluICJxX191b19fdGUiCgonJ3VpJycgfGxpa2Ug X18id2VfXyIsIG9yIEZyZW5jaCBfXyJvdWlfXyIgfHwKCkRvdWJsZSB2b3dlbHMgYXJlIHJhcmUu IFRoZSBvbmx5IGV4YW1wbGVzIGFyZSAnJ2lpJycsIHdoaWNoIGlzIHByb25vdW5jZWQgbGlrZSBF bmdsaXNoICJ5ZSIgKGFzIGluIOKAnE9oIGNvbWUgYWxsIHllIGZhaXRoZnVs4oCdKSBvciBDaGlu ZXNlICJ5aSIsIGFuZCAnJ3V1JycsIHByb25vdW5jZWQgbGlrZSAid29vIi4KCgoKX19Db25zb25h bnRzX18KClRoZXJlIGFyZSBzZXZlbnRlZW4gY29uc29uYW50cyBpbiBMb2piYW4gYW5kIG9uZSBz ZW1pLWNvbnNvbmFudC4gVGhlIExvamJhbiBjb25zb25hbnRzIGFyZSB0aGUgc2FtZSBhcyB0aGUg RW5nbGlzaCwgZXhjZXB0IHRoYXQgTG9qYmFuIGRvZXNuJ3QgdXNlIHRoZSBsZXR0ZXJzIEgsIFEg b3IgVy4gTW9zdCBvZiB0aGUgY29uc29uYW50cyBhcmUgcHJvbm91bmNlZCBsaWtlIGluIEVuZ2xp c2gsIGJ1dCB0aGVyZSBhcmUgc29tZSBleGNlcHRpb25zOgoKCgp8fFtodHRwOi8vZW4ud2lraXBl ZGlhLm9yZy93aWtpL1ZvaWNlZF92ZWxhcl9wbG9zaXZlfGddIHxhbHdheXMgJydnJycgYXMgaW4g JydfX2dfX3VtJycsIG5ldmVyICcnZycnIGFzIGluICcnX19nX19lbScnCgpbaHR0cHM6Ly9lbi53 aWtpcGVkaWEub3JnL3dpa2kvVm9pY2VsZXNzX3BhbGF0by1hbHZlb2xhcl9zaWJpbGFudHxjXSB8 JydzaCcnLCBhcyBpbiAnJ19fc2hfX2lwJycKCltodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtp L1ZvaWNlZF9wYWxhdG8tYWx2ZW9sYXJfc2liaWxhbnR8al0gfGFzIGluICcnbWVhX19zX191cmUn JyBvciBGcmVuY2ggJydib25fX2pfX291cicnCgpbaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dp a2kvVm9pY2VsZXNzX3ZlbGFyX2ZyaWNhdGl2ZXx4XSB8YXMgaW4gR2VybWFuICcnQmFfX2NoJydf XywgU3BhbmlzaCAnJ19fSl9fb3NlJycgb3IgQXJhYmljICcnX19LaF9fYWxlZCcnIHx8CgpUaGUg c2VtaS1jb25zb25hbnQgaXMgdGhlIFtodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1ZvaWNl bGVzc19nbG90dGFsX2ZyaWNhdGl2ZXxhcG9zdHJvcGhlXSBUaGlzIGxldHRlciBpcyBwcm9ub3Vu Y2VkIGxpa2UgdGhlIEVuZ2xpc2ggbGV0dGVyIEgsIGJ1dCBpcyBvbmx5IHVzZWQgYmV0d2VlbiB0 d28gdm93ZWxzIHRvIHByZXZlbnQgdGhlbSBmcm9tIHJ1bm5pbmcgaW50byBlYWNoIG90aGVyLiBU aHVzICcndWknJyBpcyBub3JtYWxseSBwcm9ub3VuY2VkICJ3ZSIsIGJ1dCAnJ3UnaScnIGlzICJv b2hlZSIuIFRoZSBjYXBpdGFsIHZlcnNpb24gb2YgdGhpcyBsZXR0ZXIgaXMgJydoJycsIHRoZSBs b3dlY2FzZSBILgoKCgpGb3IgY29tcHJlaGVuc2l2ZW5lc3Mgc2FrZSwgaGVyZSBpcyBhIGxpc3Qg b2YgdGhlIHJlbWFpbmluZyAoYW5kIGxlc3MgdHJpY2t5KSBsb2piYW4gY29uc29uYW50czoKCicn W2h0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvVm9pY2VkX2JpbGFiaWFsX3Bsb3NpdmV8Yl0n JywgJydbaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9Wb2ljZWRfYWx2ZW9sYXJfcGxvc2l2 ZXxkXScnLCAnJ1todHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1ZvaWNlbGVzc19sYWJpb2Rl bnRhbF9mcmljYXRpdmV8Zl0nJywgJydbaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9Wb2lj ZWxlc3NfdmVsYXJfcGxvc2l2ZXxrXScnLCAnJ1todHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtp L0FsdmVvbGFyX2xhdGVyYWxfYXBwcm94aW1hbnR8bF0nJywgJydbaHR0cDovL2VuLndpa2lwZWRp YS5vcmcvd2lraS9CaWxhYmlhbF9uYXNhbHxtXScnLCAnJ1todHRwOi8vZW4ud2lraXBlZGlhLm9y Zy93aWtpL0FsdmVvbGFyX25hc2FsfG5dJycsICcnW2h0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dp a2kvVm9pY2VsZXNzX2JpbGFiaWFsX3Bsb3NpdmV8cF0nJywgJydbaHR0cDovL2VuLndpa2lwZWRp YS5vcmcvd2lraS9BbHZlb2xhcl90YXB8cl0nJywgJydbaHR0cDovL2VuLndpa2lwZWRpYS5vcmcv d2lraS9Wb2ljZWxlc3NfYWx2ZW9sYXJfc2liaWxhbnQjVm9pY2VsZXNzX2FsdmVvbGFyX3NpYmls YW50fHNdJycsICcnW2h0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1ZvaWNlbGVzc19hbHZl b2xhcl9wbG9zaXZlfHRdJycsICcnW2h0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1ZvaWNl ZF9sYWJpb2RlbnRhbF9mcmljYXRpdmV8dl0nJywgJydbaHR0cDovL2VuLndpa2lwZWRpYS5vcmcv d2lraS9Wb2ljZWRfYWx2ZW9sYXJfc2liaWxhbnQjVm9pY2VkX2FsdmVvbGFyX3NpYmlsYW50fHpd JycKCgoKU3BlYWtpbmcgb2YgdGhlIGxldHRlcnMsIHdoYXQgaXMgdGhlIG5hbWUgb2YgdGhlbT8g WW91IGtub3csIEggaXMgcHJvbm91bmNlZCAiYWdlIiBpbiBFbmdsaXNoLCBhbmQgSyBpcyBwcm9u b3VuY2VkICJrYXkiLCByYXRoZXIgZGlmZmVyZW50IHRoYW4gdGhlIHNvdW5kIHRoZSBsZXR0ZXIg bWFrZXMgb24gaXQgb3duLiBIb3cgYWJvdXQgTG9qYmFuPyBXZWxsLCBjb25zb25hbnRzIGFyZSBz dHJhaWdodGZvcndhcmQ6IFRoZSBuYW1lIG9mIGEgY29uc29uYW50IGxldHRlciBpcyB0aGUgc291 bmQgdGhhdCBsZXR0ZXIsIHBsdXMgJyd5JycuIFNvIHRoZSBjb25zb25hbnQgbGV0dGVycyBvZiBM b2piYW4sICJiLCBjLCBkLCBmLCBnIC4uLiIsIGFyZSBjYWxsZWQgJydieSBjeSBkeSBmeSBneScn IGluIExvamJhbi4gVGhlIHNlbWktY29uc29uYW50ICcgaXMgY2FsbGVkICcneSd5JycgKHByb25v dW5jZWQgbGlrZSBhbiBhZ3JlZWluZyB1aC1odWgpLiAKClZvd2VscyBfX3dvdWxkX18gYmUgY2Fs bGVkICcnLmF5LCAuZXksIC5peScnLCBidXQgdGhhdCB3b3VsZCBiZSByYXRoZXIgZGlmZmljdWx0 IHRvIHByb25vdW5jZS4gSW5zdGVhZCwgdGhleSBhcmUgaGFuZGxlZCBieSBmb2xsb3dpbmcgdGhl IHZvd2VsIHNvdW5kIHdpdGggdGhlIHdvcmQgJydidScnLCBhIHNvdW5kIHdoaWNoIHNpZ25pZmll cyB3ZSdyZSBzcGVha2luZyBhYm91dCBhIHN5bWJvbC4gU28gdGhlIHZvd2VscyBvZiBMb2piYW4g YXJlOiAnJy5hYnUgLmVidSAuaWJ1IC5vYnUgLnVidSBhbmQgeWJ1LicnCgpMYXN0bHkgeW91IHNo b3VsZCBrbm93IHRoYXQgc3RyZXNzIGlzIHBsYWNlZCBvbiB0aGUgc2Vjb25kLXRvLWxhc3Qgc3ls bGFibGUgaW4gd29yZHMgd2l0aCBtb3JlIHRoYW4gb25lIHN5bGxhYmxlLCBhbmQgdGhhdCBvbmUt c3lsbGFibGUgd29yZHMgYXJlIG5vdCBzdHJlc3NlZC4KCgoKX19Db3JyZWN0IHByb251bmNpYXRp b25fXwoKWW91IGRvbid0IGhhdmUgdG8gYmUgdmVyeSBwcmVjaXNlIGFib3V0IExvamJhbiBwcm9u dW5jaWF0aW9uLCBiZWNhdXNlIHRoZSBwaG9uZW1lcyBhcmUgZGlzdHJpYnV0ZWQgc28gdGhhdCBp dCBpcyBoYXJkIHRvIG1pc3Rha2Ugb25lIHNvdW5kIGZvciBhbm90aGVyLiBUaGlzIG1lYW5zIHRo YXQgcmF0aGVyIHRoYW4gb25lICdjb3JyZWN0JyBwcm9udW5jaWF0aW9uLCB0aGVyZSBpcyBhIHJh bmdlIG9mIGFjY2VwdGFibGUgcHJvbnVuY2lhdGlvbuKAlHRoZSBnZW5lcmFsIHByaW5jaXBsZSBp cyB0aGF0IGFueXRoaW5nIGlzIE9LIHNvIGxvbmcgYXMgaXQgZG9lc24ndCBzb3VuZCB0b28gbXVj aCBsaWtlIHNvbWV0aGluZyBlbHNlLiBGb3IgZXhhbXBsZSwgTG9qYmFuICcncicnIGNhbiBiZSBw cm9ub3VuY2VkIGxpa2UgdGhlICJSIiBpbiBFbmdsaXNoLCBTY290dGlzaCBvciBGcmVuY2guCgpU d28gdGhpbmdzIHRvIGJlIGNhcmVmdWwgb2YsIHRob3VnaCwgYXJlIHByb25vdW5jaW5nIExvamJh biAnJ2knJyBhbmQgJyd1JycgbGlrZSBTdGFuZGFyZCBCcml0aXNoIEVuZ2xpc2ggImhpdCIgYW5k ICJidXQiIChOb3J0aGVybiBFbmdsaXNoICJidXQiIGlzIGZpbmUhKS4gVGhpcyBpcyBiZWNhdXNl IG5vbi1Mb2piYW4gdm93ZWxzLCBwYXJ0aWN1bGFybHkgdGhlc2UgdHdvLCBhcmUgdXNlZCB0byBz ZXBhcmF0ZSBjb25zb25hbnRzIGJ5IHBlb3BsZSB3aG8gZmluZCB0aGVtIGhhcmQgdG8gc2F5LiBG b3IgZXhhbXBsZSwgaWYgeW91IGhhdmUgcHJvYmxlbXMgc3BpdHRpbmcgb3V0IHRoZSAnJ3pkJycg aW4gJyd6ZGFuaScnIChob3VzZSksIHlvdSBjYW4gc2F5IHrJqmRhbmnigJR3aGVyZSB0aGUgIsmq IiBpcyB2ZXJ5IHNob3J0LCBidXQgdGhlIGZpbmFsICJpIiBoYXMgdG8gYmUgbG9uZy4KCgoKX19X cml0aW5nIExvamJhbl9fCgpBcyB5b3UgaGF2ZSBhbHJlYWR5IHNlZW4sIExvamJhbiB1c2VzIHRo ZSBMYXRpbiBhbHBoYWJldCwgdGhvdWdoIHZhcmlvdXMgTG9qYmFuaXN0cyBoYXZlIHN1Z2dlc3Rl ZCBkaWZmZXJlbnQsIHVzdWFsbHkgc2VsZi1kZXNpZ25lZCBvbmVzLiBGdXJ0aGVybW9yZSwgTG9q YmFuIGFsbW9zdCBhbHdheXMgdXNlcyBsb3dlci1jYXNlIGxldHRlcnMuIENhcGl0YWwgbGV0dGVy cyBhcmUgb25seSB1c2VkIHRvIG1hcmsgc3RyZXNzIGluIHByb3BlciBuYW1lcywgYnV0IHBlb3Bs ZSB0ZW5kIHRvIGF2b2lkIHRoZW0gZXZlbiBpbiBuYW1lcy4KCkFwYXJ0IGZyb20gdGhlIGxldHRl cnMsIHNvbWUgcHVuY3R1YXRpb24gaXMgdXNlZDoKCkEgZnVsbCBzdG9wIChwZXJpb2QpIGlzIGEg c2hvcnQgcGF1c2UuIFRoZSBydWxlcyBvZiBMb2piYW4gbWFrZSBpdCBlYXNpZXIgZm9yIG9uZSB3 b3JkIHRvIHJ1biBpbnRvIGFub3RoZXIgd2hlbiB0aGUgc2Vjb25kIHdvcmQgYmVnaW5zIHdpdGgg YSB2b3dlbDsgc28gYW55IHdvcmQgc3RhcnRpbmcgd2l0aCBhIHZvd2VsIGNvbnZlbnRpb25hbGx5 IGhhcyBhIGZ1bGwgc3RvcCBwbGFjZWQgaW4gZnJvbnQgb2YgaXQuIEZ1bGwgc3RvcHMgYXJlIG5l dmVyIHVzZWQgdG8gZW5kIHNlbnRlbmNlcy4KCkNvbW1hcyBhcmUgcmFyZSBpbiBMb2piYW4sIGJ1 dCBjYW4gYmUgdXNlZCB0byBzdG9wIHR3byB2b3dlbHMgYmx1cnJpbmcgdG9nZXRoZXIgd2hlbiB5 b3UgZG9uJ3Qgd2FudCB0byB1c2UgYW4gYXBvc3Ryb3BoZSAod2hpY2ggd291bGQgcHV0IGEgSCBi ZXR3ZWVuIHRoZW0pLiBObyBMb2piYW4gd29yZHMgaGF2ZSBjb21tYXMsIGJ1dCB0aGV5J3JlIHNv bWV0aW1lcyB1c2VkIGluIHdyaXRpbmcgbm9uLUxvamJhbiBuYW1lcy4KCgoKVGhlIGZvbGxvd2lu ZyBhcmUgZm91bmQgd3JpdGluZyBzdHlsZXMgb2YgZGlmZmVyZW50IExvamJhbmlzdHMsIGJ1dCB0 aGV5IGFyZSBub3QgY29udmVudGlvbmFsOgoKCgpTcGFjZXMgYXJlIHVzdWFsbHkgdXNlZCBiZXR3 ZWVuIHdvcmRzLiAgIFRoZXkgYXJlIG1hbmRhdG9yeSBiZXR3ZWVuIHNvbWUgd29yZHMgKG1vcmUg b24gdGhhdCBpbiBsZXNzb24gdGhpcnRlZW4pLiAgIERvdWJsZSBvciB0cmlwbGUgc3BhY2UgaXMg c29tZXRpbWVzIHVzZWQgYmVmb3JlIHRoZSBiZWdpbm5pbmcgb2YgbmV3IHNlbnRlbmNlcy4gICBU aGlzIGlzIHRvIGNsZWFybHkgbWFyayBzZW50ZW5jZSBzaGlmdCB2aXN1YWxseS4gICBUaGlzIG1p Z2h0IGNvbXBlbnNhdGUgZm9yIGxhY2sgb2YgY2FwaXRhbCBsZXR0ZXJzIHdoaWNoIGFyZSB1c2Vk IGZvciB0aGUgc2FtZSBwdXJwb3NlIGluIEVuZ2xpc2guCgoKCkluIMOycmRlciB0byB2aXN1w6Bs bHkgcmVwcsOoc2VudCB0aGUgc3RyZXNzIG9uIHRoZSBwZW51bHTDrG1hdGUgc3lsbMOgYmxlLCBh bmQgYsOoY2F1c2UgdGhleSBmaW5kIGl0IHZpc3XDoGxseSBwbMOoYXNpbmcsIHNvbWUgcMOob3Bs ZSB1c2UgZ3LDoHZlIMOgY2NlbnRzIMOydmVyIHRoZSBjb25zw7JuYW50IG9mIHRob3NlIHN5bGzD oGJsZXMuCgoKClNvbWUgcGVvcGxlIGJvcnJvdyBvdGhlciBwdW5jdHVhdGlvbiBtYXJrcyBmcm9t IEVuZ2xpc2gsIGV2ZW4gdGhvdWdoIHRoZXkgYXJlIG5vdCBjYW5vbiwgYW5kIExvamJhbiBpcyBl cXVpcHBlZCB3aXRoIGFjdHVhbCB3b3JkcyB3aGljaCBzaG91bGQgY29tcGVuc2F0ZSBmb3IgYW55 IHB1bmN0dWF0aW9uIG9uZSBtaWdodCB3YW50IHRvIHVzZS4gTm9uZXRoZWxlc3MsIHF1ZXN0aW9u IG1hcmtzLCBmb3IgZXhhbXBsZSwgY2xlYXJseSBtYXJrcyBhIHNlbnRlY2UgYXMgYSBxdWVzdGlv biBhbmQgaXMgbXVjaCBlYXNpZXIgdG8gY2F0Y2ggd2l0aCB0aGUgZXllIHRoYW4gYW55IHdvcmQg aXMsIGFuZCBzbyBzb21lIExvamJhbmlzdHMgdXNlIHRoZW0uIFF1b3RhdGlvbiBtYXJrcywgcGFy ZW50aGVzaXMgYW5kIGV4Y2xhbWF0aW9ucyBtYXJrcyBjYW4gYmUgdXNlZCBzaW1pbGFybHkuIFdo aWxlIHRoaXMgaXMgbm90IHVuZ3JhbW1hdGljYWwsIHNpbmNlIHRoYXQgZG9lc24ndCBpbnRlcmZl cmUgd2l0aCB0aGUgc2VudGVuY2VzLCBzb21lIHBlb3BsZSB0aGluayBleG90aWMgcHVuY3R1YXRp b24gY3JlYXRlcyBhbiB1bndhbnRlZCBkaWZmZXJlbmNlIGJldHdlZW4gd3JpdHRlbiBhbmQgc3Bv a2VuIExvamJhbiwgZ2VuZXJhbGx5IGEgYmlnIG5vLW5vLiAKCgoKVGhlIGZvbGxvd2luZyBuYW1l cyBhcmUgTG9qYmFuaXplZCAtIHRoZWlyIHNvdW5kcyBhcmUgdHJhbnNjcmlwZWQgaW50byBMb2pi YW4gYW5kIHRoZWlyIGVuZGluZyBzb3VuZCBoYXZlIGJlZW4gY2hhbmdlZCB0byBhIGNvbnNvbmFu dC4gVGhlIGZpbmFsIGNvbnNvbmFudCBpcyBuZWNlc3NhcnksIGJlY2F1c2UgdGhhdCdzIGhvdyBm b3JlaWduIG5hbWVzIGFyZSBkaWZmZXJlbnRpYXRlZCBmcm9tIExvamJhbiB3b3Jkcy4gQWdhaW4s IG1vcmUgb24gdGhhdCBpbiBsZXNzb24gdGhpcnRlZW4uCgoKCl9fRXhlcmNpc2UgMV9fCgpXaGVy ZSBhcmUgdGhlc2UgcGxhY2VzPwoKIy5udSxJT1JLLgoKIy5yb21hcy4KCiMueGF2YW5hcy4KCiMu a2FyZGlmLgoKIy5iZWlkamluLgoKIy5BTmthcmFzLgoKIy5BTGJla2Vya2lzLgoKIy52YW5rdXZl ci4KCiMua2VpcHRhdW4uCgojLnRhaWJlaXMuCgojLmJvbi4KCiMuZGVsaXMuCgojLm5pcy4KCiMu YXRpbmFzLgoKIy5saWR6LgoKIy54ZWxzaW5raXMuCgpBbnN3ZXI6Cgp+fmdyYXksZ3JheTp+fgoK I35+Z3JheSxncmF5Ok5ldyBZb3JrOiBVU0F+fgoKI35+Z3JheSxncmF5OlJvbWU6IEl0YWx5fn4K CiN+fmdyYXksZ3JheTpIYXZhbmE6IEN1YmF+fgoKI35+Z3JheSxncmF5OkNhcmRpZmY6IFdhbGVz IChUaGUgV2Vsc2ggZm9yICJDYXJkaWZmIiBpcyAiQ2FlcmR5ZGQiLCB3aGljaCB3b3VsZCBMb2pi YW5pc2UgdG8gc29tZXRoaW5nIGxpa2Uga2FpcmR5ZC4uKX5+Cgojfn5ncmF5LGdyYXk6QmVpamlu ZzogQ2hpbmF+fgoKI35+Z3JheSxncmF5OkFua2FyYTogVHVya2V5fn4KCiN+fmdyYXksZ3JheTpB bGJlcXVlcnF1ZTogTmV3IE1leGljbywgVVNBfn4KCiN+fmdyYXksZ3JheTpWYW5jb3V2ZXI6IENh bmFkYX5+Cgojfn5ncmF5LGdyYXk6Q2FwZSBUb3duOiBTb3V0aCBBZnJpY2F+fgoKI35+Z3JheSxn cmF5OlRhaXBlaTogVGFpd2FuIChub3RlIGIsIG5vdCBwLiBBbHRob3VnaCBhY3R1YWxseSwgdGhl IGIgaW4gUGlueWluIGlzIHByb25vdW5jZWQgYXMgYSBwLi4uIEJ1dCB0aGlzIGlzbid0IG1lYW50 IHRvIGJlIGEgY291cnNlIG9uIE1hbmRhcmluISl+fgoKI35+Z3JheSxncmF5OkJvbm46IEdlcm1h bnl+fgoKI35+Z3JheSxncmF5OkRlbGhpOiBJbmRpYSAoVGhlIEhpbmRpIGZvciAiRGVsaGkiIGlz ICJEaWxsw64iLCB3aGljaCB3b3VsZCBnaXZlIGRpbGl5cy4gb3IgZGlsaSdpcy4uKX5+Cgojfn5n cmF5LGdyYXk6TmljZTogRnJhbmNlfn4KCiN+fmdyYXksZ3JheTpBdGhlbnM6IEdyZWVjZSAoIkF0 aGluYSIgaW4gR3JlZWspfn4KCiN+fmdyYXksZ3JheTpMZWVkczogRW5nbGFuZH5+Cgojfn5ncmF5 LGdyYXk6SGVsc2lua2k6IEZpbmxhbmR+fgoKX19FeGVyY2lzZSAyX18KCkxvamJhbmlzZSB0aGUg Zm9sbG93aW5nIG5hbWVzLgoKVGhlcmUgYXJlIHVzdWFsbHkgYWx0ZXJuYXRpdmUgc3BlbGxpbmdz IGZvciBuYW1lcywgZWl0aGVyIGJlY2F1c2UgcGVvcGxlIHByb25vdW5jZSB0aGUgb3JpZ2luYWxz IGRpZmZlcmVudGx5LCBvciBiZWNhdXNlIHRoZSBleGFjdCBzb3VuZCBkb2Vzbid0IGV4aXN0IGlu IExvamJhbiwgc28geW91IG5lZWQgdG8gY2hvb3NlIGJldHdlZW4gdHdvIExvamJhbiBsZXR0ZXJz LiBUaGlzIGRvZXNuJ3QgbWF0dGVyLCBzbyBsb25nIGFzIGV2ZXJ5b25lIGtub3dzIHdobyBvciB3 aGVyZSB5b3UncmUgdGFsa2luZyBhYm91dC4KCiNKb2huCgojTWVsaXNzYQoKI0FtYW5kYQoKI01h dHRoZXcKCiNNaWNoYWVsCgojRGF2aWQgQm93aWUKCiNKYW5lIEF1c3RlbgoKI1dpbGxpYW0gU2hh a2VzcGVhcmUKCiNTaWdvdXJuZXkgV2VhdmVyCgojUmljaGFyZCBOaXhvbgoKI0lzdGFuYnVsCgoj TWFkcmlkCgojVG9reW8KCiNTYW4gU2FsdmFkb3IKCkFuc3dlcjoKCiN+fmdyYXksZ3JheTouZGpv bi4gKG9yIC5kamFuLiB3aXRoIHNvbWUgYWNjZW50cyl+fgoKI35+Z3JheSxncmF5Oi5tZWxpc3lz Ln5+Cgojfn5ncmF5LGdyYXk6LmFtYW5keXMuIChhZ2FpbiwgZGVwZW5kaW5nIG9uIHlvdXIgYWNj ZW50LCB0aGUgZmluYWwgeSBtYXkgYmUgYSwgdGhlIGluaXRpYWwgYSBtYXkgYmUgeSwgYW5kIHRo ZSBtaWRkbGUgYSBtYXkgYmUgZS4pfn4KCiN+fmdyYXksZ3JheToubWF0aXVzLn5+Cgojfn5ncmF5 LGdyYXk6Lm1haWt5bC4gb3IgLm1haWssbC4gLCBkZXBlbmRpbmcgb24gaG93IHlvdSBzYXkgaXQu fn4KCiN+fmdyYXksZ3JheTouZGVpdnlkLmJhdSxpcy4gb3IgLmJvLGlzLiAoYnV0IG5vdCAuYnUs aXMuIOKAlCB0aGF0J3MgdGhlIGtuaWZlKX5+Cgojfn5ncmF5LGdyYXk6LmRqZWluLm9zdGluLn5+ Cgojfn5ncmF5LGdyYXk6LnVpbGlhbS5jZWtzcGlyLn5+Cgojfn5ncmF5LGdyYXk6LnNpZ29ybmlz LnVpdnlyLiBvciAuc3lnb3JuaXMudWl2eXIufn4KCiN+fmdyYXksZ3JheToucml0Y3lyZC5uaWtz eW4ufn4KCiN+fmdyYXksZ3JheTouaXN0YW5CVUwuIHdpdGggRW5nbGlzaCBzdHJlc3MsIC5JU3Rh bmJ1bC4gd2l0aCBBbWVyaWNhbiwgLmlzdGFuYnVsLiB3aXRoIFR1cmtpc2guIExvamJhbmlzdHMg Z2VuZXJhbGx5IHByZWZlciB0byBiYXNlIGNtZXZsYSBvbiBsb2NhbCBwcm9udW5jaWF0aW9uLCBi dXQgdGhpcyBpcyBub3QgYW4gYWJzb2x1dGUgcnVsZS5+fgoKI35+Z3JheSxncmF5Oi5tYURSSUQu fn4KCiN+fmdyYXksZ3JheToudG9raW9zLn5+Cgojfn5ncmF5LGdyYXk6LnNhbi5zYWx2YURPUi4g KHdpdGggU3BhbmlzaCBzdHJlc3Mpfn4KCgoKISFMb2piYW4gTGVzc29ucyDigJMgbGVzc29uIG9u ZSAoYnJpZGksIGp1ZnJhLCBzdW10aSBhbmQgc2VsYnJpKQoKQSAnJ2JyaWRpJycgaXMgdGhlIG1v c3QgY2VudHJhbCB1bml0IG9mIExvamJhbiB1dHRlcmFuY2VzLiBUaGUgY29uY2VwdCBpcyB2ZXJ5 IGNsb3NlIHRvIHdoYXQgd2UgY2FsbCBhIHByb3Bvc2l0aW9uIGluIEVuZ2xpc2guIEEgYnJpZGkg aXMgYSBjbGFpbSB0aGF0IHNvbWUgb2JqZWN0cyBzdGFuZCBpbiBhIHJlbGF0aW9uIHRvIGVhY2gg b3RoZXIsIG9yIHRoYXQgYW4gb2JqZWN0IGhhcyBzb21lIHByb3BlcnR5LiBUaGlzIHN0YW5kcyBp biBjb250cmFzdCB0byAnJ2p1ZnJhJycsIHdoaWNoIGFyZSBtZXJlbHkgTG9qYmFuIHV0dGVyYW5j ZXMsIHdoaWNoIGNhbiBiZSBicmlkaSBvciBhbnl0aGluZyBlbHNlIGJlaW5nIHNhaWQuIFRoZSBk aWZmZXJlbmNlIGJldHdlZW4gYSBicmlkaSBhbmQgYSBqdWZyYSBpcyB0aGF0IGEganVmcmEgZG9l cyBub3QgbmVjZXNzYXJpbHkgc3RhdGUgYW55dGhpbmcsIHdoaWxlIGEgYnJpZGkgZG9lcy4gVGh1 cywgYSBicmlkaSBtaWdodCBiZSB0cnVlIG9yIGZhbHNlLCB3aGlsZSBub3QgYWxsIGp1ZnJhIGNh biBiZSBzYWlkIHRvIGJlIHN1Y2guCgpUbyBoYXZlIHNvbWUgZXhhbXBsZXMgKGluIEVuZ2xpc2gs IHRvIGJlZ2luIHdpdGgpLCDigJxNb3phcnQgd2FzIHRoZSBncmVhdGVzdCBtdXNpY2lhbiBvZiBh bGwgdGltZeKAnSBpcyBhIGJyaWRpLCBiZWNhdXNlIGl0IG1ha2VzIGEgY2xhaW0gd2l0aCBhIHRy dXRoIHZhbHVlLCBhbmQgaXQgaW52b2x2ZXMgYW4gb2JqZWN0LCBNb3phcnQsIGFuZCBhIHByb3Bl cnR5LCBiZWluZyB0aGUgZ3JlYXRlc3QgbXVzaWNpYW4gb2YgYWxsIHRpbWUuIE9uIHRoZSBjb250 cmFyeSwg4oCcT3chIE15IHRvZSHigJ0gaXMgbm90IGEgYnJpZGksIHNpbmNlIGl0IGRvZXMgbm90 IGludm9sdmUgYSByZWxhdGlvbiwgYW5kIHRodXMgZG9lcyBub3Qgc3RhdGUgYW55dGhpbmcuIEJv dGgsIHRob3VnaCwgYXJlIGp1ZnJhLgoKVHJ5IHRvIGlkZW50aWZ5IHRoZSBicmlkaSBhbW9uZyB0 aGVzZSBFbmdsaXNoIGp1ZnJhOgoKCgojIOKAnEkgaGF0ZSBpdCB3aGVuIHlvdSBkbyB0aGF0LuKA nQoKIyDigJxSdW5zLuKAnQoKIyDigJxXb2FoLCB0aGF0IGxvb2tzIGRlbGljaW91cyHigJ0KCiMg 4oCcR2Vleiwgbm90IGFnYWluLuKAnQoKIyDigJxObywgSSBvd24gdGhyZWUgY2Fyc+KAnQoKIyDi gJxOaW5ldGVlbiBtaW51dGVzIHBhc3QgZWlnaHQu4oCdCgojIOKAnFRoaXMgU2F0dXJkYXksIHll cy7igJ0KCgoKQW5zd2VyOiB+fmdyZXksZ3JleToxLCAzIGFuZCA1IGFyZSBicmlkaS4gMiBjb250 YWlucyBubyBvYmplY3RzIGFuZCB0aGUgcmVzdCBjb250YWluIG5vIHJlbGF0aW9uIG9yIGNsYWlt IG9mIGEgcHJvcGVydHkufn4KCgoKUHV0IGluIExvamJhbiB0ZXJtcywgYSBicmlkaSBjb25zaXN0 cyBvZiBvbmUgJydzZWxicmknJywgYW5kIG9uZSBvciBtb3JlICcnc3VtdGknJy4gVGhlIHNlbGJy aSBpcyB0aGUgcmVsYXRpb24gb3IgY2xhaW0gYWJvdXQgdGhlIG9iamVjdCwgYW5kIHRoZSBzdW10 aSBhcmUgdGhlIG9iamVjdHMgd2hpY2ggYXJlIGluIGEgcmVsYXRpb24uIE5vdGUgdGhhdCDigJxv YmplY3TigJ0gaXMgbm90IGEgcGVyZmVjdCB0cmFuc2xhdGlvbiBvZiDigJxzdW10aeKAnSwgc2lu Y2Ug4oCcc3VtdGnigJ0gY2FuIHJlZmVyIHRvIG5vdCBqdXN0IHBoeXNpY2FsIG9iamVjdHMsIGJ1 dCBjYW4gYWxzbyBwdXJlbHkgYWJzdHJhY3QgdGhpbmdzIGxpa2Ug4oCcVGhlIGlkZWEgb2Ygd2Fy ZmFyZeKAnS4gQSBiZXR0ZXIgdHJhbnNsYXRpb24gd291bGQgYmUgc29tZXRoaW5nIGxpa2Ug4oCc c3ViamVjdCwgZGlyZWN0IG9yIGluZGlyZWN0IG9iamVjdOKAnSBmb3Igc3VtdGksIGFuZCDigJx2 ZXJi4oCdIGZvciBzZWxicmksIHRob3VnaCwgYXMgd2Ugd2lsbCBzZWUsIHRoaXMgaXMgbm90IG9w dGltYWwgZWl0aGVyLgoKV2UgY2FuIG5vdyB3cml0ZSB0aGUgZmlyc3QgaW1wb3J0YW50IGxlc3Nv biBkb3duOgoKYnJpZGkgPSBzZWxicmkgKyBvbmUgb3IgbW9yZSBzdW10aQoKUHV0IGFub3RoZXIg d2F5LCBhIGJyaWRpIHN0YXRlcyB0aGF0IHNvbWUgc3VtdGkgZG8vYXJlIHNvbWV0aGluZyBleHBs YWluZWQgYnkgYSBzZWxicmkuCgoKCklkZW50aWZ5IHRoZSBzdW10aSBhbmQgc2VsYnJpIGVxdWl2 YWxlbnRzIGluIHRoZXNlIEVuZ2xpc2gganVmcmE6CgrigJxJIHdpbGwgcGljayB1cCBteSBkYXVn aHRlcnMgd2l0aCBteSBjYXLigJ0KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTpzZWxicmk6IOKAnHBp Y2sgdXAgKHdpdGgp4oCdLiBzdW10aTog4oCcSeKAnSwg4oCcbXkgZGF1Z2h0ZXJz4oCdLCDigJxt eSBjYXLigJ1+fgoKCgrigJxIZSBib3VnaHQgNSBuZXcgc2hpcnRzIGZyb20gTWFyayBmb3IganVz dCB0d28gaHVuZHJlZCBldXJvIeKAnQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OnNlbGJyaTog4oCc Ym91Z2h0IChmcm9tKSAoZm9yKeKAnSBzdW10aTog4oCcSGXigJ0sIOKAnDUgbmV3IHNoaXJ0c+KA nSwg4oCcTWFya+KAnSBhbmQg4oCcdHdvIGh1bmRyZWQgZXVyb3PigJ1+fgoKCgpTaW5jZSB0aGVz ZSBjb25jZXB0cyBhcmUgc28gZnVuZGFtZW50YWwgdG8gTG9qYmFuLCBsZXQncyBoYXZlIGEgdGhp cmQgZXhhbXBsZTog4oCcU28gZmFyLCB0aGUgRVBBIGhhcyBkb25lIG5vdGhpbmcgYWJvdXQgdGhl IGFtb3VudCBvZiBzdWxwaHVyIGRpb3hpZGUu4oCdCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6c2Vs YnJpOiDigJxoYXMgZG9uZSAoYWJvdXQp4oCdIHN1bXRpOiDigJxUaGUgRVBB4oCdLCDigJxub3Ro aW5n4oCdIGFuZCDigJx0aGUgYW1vdW50IG9mIHN1bHBodXIgZGlveGlkZeKAnX5+CgoKCk5vdyB0 cnkgYmVnaW4gbWFraW5nIExvamJhbiBicmlkaS4gRm9yIHRoaXMgeW91IHdpbGwgbmVlZCB0byB1 c2Ugc29tZSB3b3Jkcywgd2hpY2ggY2FuIGFjdCBhcyBzZWxicmk6CgonJ19fZHVuZGFfXycnIHgx IGdpdmVzIHgyIHRvIHgzICh3aXRob3V0IHBheW1lbnQpCgonJ19fcGVseHVfXycnIHgxIGlzIHll bGxvdwoKJydfX3pkYW5pX18nJyB4MSBpcyBhIGhvbWUgb2YgeDIKCgoKTm90aWNlIHRoYXQgdGhl c2Ugd29yZHMgbWVhbmluZyDigJxnaXZl4oCdLCDigJx5ZWxsb3figJ0gYW5kIOKAnGhvbWXigJ0g d291bGQgYmUgY29uc2lkZXJlZCBhIHZlcmIsIGFuIGFkamVjdGl2ZSBhbmQgYSBub3VuIGluIEVu Z2xpc2guIEluIExvamJhbiwgdGhlcmUgYXJlIG5vIHN1Y2ggY2F0ZWdvcmllcyBhbmQgbm8gc3Vj aCBkaXN0aW5jdGlvbi4gJydkdW5kYScnIGNhbiBiZSB0cmFuc2xhdGVkIOKAnGdpdmVz4oCdICh2 ZXJiKSwg4oCcaXMgYSBnaXZlcuKAnSAobm91biksIOKAnGlzIGdpdmluZ+KAnSAoYWRqZWN0aXZl KSBhcyB3ZWxsIGFzIHRvIGFuIGFkdmVyYiBmb3JtLiBUaGV5IGFsbCBhY3QgYXMgc2VsYnJpLCBh bmQgYXJlIHVzZWQgaW4gdGhlIHNhbWUgd2F5LgoKCgpBcyB3ZWxsIGFzIGEgZmV3IHdvcmRzLCB3 aGljaCBjYW4gYWN0IGFzIHN1bXRpOgoKJydfX21pX18nJyDigJxJ4oCdIG9yIOKAnHdl4oCdIOKA kyB0aGUgb25lIG9yIHRob3NlIHdobyBhcmUgc3BlYWtpbmcuCgonJ19fdGlfXycnIOKAnHRoaXPi gJ0g4oCTIGEgY2xvc2UgdGhpbmcgb3IgZXZlbnQgbmVhcmJ5IHdoaWNoIGNhbiBiZSBwb2ludGVk IHRvIGJ5IHRoZSBzcGVha2VyLgoKJydfX2RvX18nJyDigJx5b3XigJ0g4oCTIHRoZSBvbmUgb3Ig dGhvc2Ugd2hvIGFyZSBiZWluZyBzcG9rZW4gdG8uCgoKClNlZSB0aGUgc3RyYW5nZSB0cmFuc2xh dGlvbnMgb2YgdGhlIHNlbGJyaSBhYm92ZSAtIGVzcGVjaWFsbHkgdGhlIHgxLCB4MiBhbmQgeDM/ IFRob3NlIGFyZSBjYWxsZWQgc3VtdGkgcGxhY2VzLiBUaGV5IGFyZSBwbGFjZXMgd2hlcmUgc3Vt dGkgY2FuIGdvIHRvIGZpbGwgYSBicmlkaS4gRmlsbGluZyBhIHN1bXRpIGluIGEgcGxhY2Ugc3Rh dGVzIHRoYXQgdGhlIHN1bXRpIGZpdHMgaW4gdGhhdCBwbGFjZS4gVGhlIHNlY29uZCBwbGFjZSBv ZiAnJ2R1bmRhJycsIGZvciBleGFtcGxlLCB4MiwgaXMgdGhlIHRoaW5nIGJlaW5nIGdpdmVuLiBU aGUgdGhpcmQgaXMgdGhlIG9iamVjdCB3aGljaCByZWNlaXZlcyB0aGUgdGhpbmcuIE5vdGljZSBh bHNvIHRoYXQgdGhlIHRyYW5zbGF0aW9uIG9mICcnZHVuZGEnJyBoYXMgdGhlIHdvcmQg4oCcdG/i gJ0gaW4gaXQuIFRoaXMgaXMgYmVjYXVzZSwgd2hpbGUgdGhpcyB3b3JkIGlzIG5lZWRlZCBpbiBF bmdsaXNoIHRvIHNpZ25pZnkgdGhlIHJlY2VpdmVyLCB0aGUgcmVjZWl2ZXIgaXMgaW4gdGhlIHRo aXJkIHN1bXRpIHBsYWNlIG9mICcnZHVuZGEnJy4gU28gd2hlbiB5b3UgZmlsbCB0aGUgdGhpcmQg c3VtdGkgcGxhY2Ugb2YgJydkdW5kYScnLCB0aGUgc3VtdGkgeW91IGZpbGwgaW4gaXMgYWx3YXlz IHRoZSByZWNlaXZlciwgYW5kIHlvdSBkb24ndCBuZWVkIGFuIGVxdWl2YWxlbnQgdG8gdGhlIHdv cmQg4oCcdG/igJ0hCgoKClRvIHNheSBhIGJyaWRpLCB5b3Ugc2ltcGx5IHNheSB0aGUgeDEgc3Vt dGkgZmlyc3QsIHRoZW4gdGhlIHNlbGJyaSwgdGhlbiBhbnkgb3RoZXIgc3VtdGkuCgpVc3VhbCBi cmlkaToge3gxIHN1bXRpfSBfX3tzZWxicml9X18ge3gyIHN1bXRpfSB7eDMgc3VtdGl9IHt4NCBz dW10aX0ge3g1IHN1bXRpfSB7YW5kIHNvIG9ufQoKVGhlIG9yZGVyIGNhbiBiZSBwbGF5ZWQgYXJv dW5kIHdpdGgsIGJ1dCBmb3Igbm93LCB3ZSBzdGljayB3aXRoIHRoZSB1c3VhbCBmb3JtLiBUbyBz YXkg4oCcSSBnaXZlIHRoaXMgdG8geW914oCdIHlvdSBqdXN0IHNheSAnJ21pIGR1bmRhIHRpIGRv JycsIHdpdGggdGhlIHRocmVlIHN1bXRpIGF0IHRoZSByaWdodCBwbGFjZXMuCgoKClNvLCBob3cg d291bGQgeW91IHNheSDigJxUaGlzIGlzIGEgaG9tZSBvZiBtZeKAnT8KCgoKQW5zd2VyOiB+fmdy ZXksZ3JleTonJ3RpIHpkYW5pIG1pJyd+fgoKCgpUcnkgYSBmZXcgbW9yZSBpbiBvcmRlciB0byBn ZXQgdGhlIGlkZWEgb2YgYSBwbGFjZSBzdHJ1Y3R1cmUgc2luayBpbi4KCgoK4oCcWW91IGdpdmUg dGhpcyB0byBtZeKAnT8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ2RvIGR1bmRhIHRpIG1pJyd+ fgoKCgpBbmQgdHJhbnNsYXRlICcndGkgcGVseHUnJwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKA nFRoaXMgaXMgeWVsbG93LuKAnX5+CgoKClF1aXRlIGVhc3kgb25jZSB5b3UgZ2V0IHRoZSBoYW5n IG9mIGl0LCByaWdodD8KCgoKTXVsdGlwbGUgYnJpZGkgYWZ0ZXIgZWFjaCBvdGhlciBhcmUgc2Vw YXJhdGVkIGJ5ICcnLmknJyBUaGlzIGlzIHRoZSBMb2piYW4gZXF1aXZhbGVudCBvZiBmdWxsIHN0 b3AsIGJ1dCBpdCB1c3VhbGx5IGdvZXMgYmVmb3JlIGJyaWRpIGluc3RlYWQgb2YgYWZ0ZXIgdGhl bS4gSXQncyBvZnRlbiBsZWZ0IG91dCBiZWZvcmUgdGhlIGZpcnN0IGJyaWRpLCB0aG91Z2gsIGFz IGluIGFsbCB0aGVzZSBleGFtcGxlczoKCicnX18uaV9fJycgU2VudGVuY2Ugc2VwYXJhdG9yLiBT ZXBhcmF0ZXMgYW55IHR3byBqdWZyYSAoYW5kIHRoZXJlZm9yZSBhbHNvIGJyaWRpKS4KCgoKJyd0 aSB6ZGFuaSBtaSAgLmkgdGkgcGVseHUnJyDigJ1UaGlzIGlzIGEgaG9tZSB0byBtZS4gVGhpcyBp cyB5ZWxsb3cu4oCdCgoKCkJlZm9yZSB5b3UgbW92ZSBvbiB0byB0aGUgbmV4dCBsZXNzb24sIEkg cmVjb21tZW5kIHRoYXQgeW91IHRha2UgYSBicmVhayBmb3IgYXQgbGVhc3Qgc2V2ZW4gbWludXRl cyB0byBsZXQgdGhlIGluZm9ybWF0aW9uIHNpbmsgaW4uCgoKCgoKISFMb2piYW4gTGVzc29ucyDi gJMgbGVzc29uIHR3byAoRkEgYW5kIHpvJ2UpCgpNb3N0IHNlbGJyaSBoYXZlIGZyb20gb25lIHRv IGZpdmUgc3VtdGkgcGxhY2VzLCBidXQgc29tZSBoYXZlIG1vcmUuIEhlcmUgaXMgYSBzZWxicmkg d2l0aCBmb3VyIHN1bXRpIHBsYWNlczoKCicnX192ZWNudV9fJycgeDEgc2VsbHMgeDIgdG8geDMg Zm9yIHByaWNlIHg0CgoKCklmIEkgd2FudCB0byBzYXkg4oCcSSBzZWxsIHRoaXPigJ0sIGl0IHdv dWxkIGJlIHRvbyBtdWNoIHRvIGhhdmUgdG8gZmlsbCB0aGUgc3VtdGkgcGxhY2VzIHgzIGFuZCB4 NCwgd2hpY2ggc3BlY2lmeSB3aG8gSSBzZWxsIHRoZSB0aGluZyB0bywgYW5kIGZvciB3aGF0IHBy aWNlLiBMdWNraWx5LCBJIGRvbid0IG5lZWQgdG8uIHN1bXRpIHBsYWNlcyBjYW4gYmUgZmlsbGVk IHdpdGggJyd6bydlJycuICcnem8nZScnIGluZGljYXRlcyB0byB1cyB0aGF0IHRoZSB2YWx1ZSBv ZiB0aGUgc3VtdGkgcGxhY2UgaXMgdW5zcGVjaWZpZWQgYmVjYXVzZSBpdCdzIHVuaW1wb3J0YW50 IG9yIGNhbiBiZSBkZXRlcm1pbmVkIGZyb20gY29udGV4dC4KCicnX196bydlX18nJyDigJxzb21l dGhpbmfigJ0gRmlsbHMgYSBzdW10aSBwbGFjZSB3aXRoIHNvbWV0aGluZywgYnV0IGRvZXMgbm90 IHN0YXRlIHdoYXQuCgoKClNvIHRvIHNheSDigJxJIHNlbGwgdG8geW914oCdLCBJIGNvdWxkIHNh eSAnJ21pIHZlY251IHpvJ2UgZG8gem8nZScnIOKAkyBJIHNlbGwgc29tZXRoaW5nIHRvIHlvdSBm b3Igc29tZSBwcmljZS4KCkhvdyB3b3VsZCB5b3Ugc2F5OiDigJxUaGF0J3MgYSBob21lIChmb3Ig c29tZWJvZHkp4oCdPwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OiAnJ3RpIHpkYW5pIHpvJ2UnJ35+ CgoKCkhvdyBhYm91dCDigJwoc29tZW9uZSkgZ2l2ZXMgdGhpcyB0byAoc29tZW9uZSnigJ0/CgoK CkFuc3dlcjogfn5ncmV5LGdyZXk6Jyd6bydlIGR1bmRhIHRpIHpvJ2UnJ35+CgoKClN0aWxsLCBm aWxsaW5nIG91dCB0aHJlZSB6bydlIGp1c3QgdG8gc2F5IHRoYXQgYSB0aGluZyBpcyBiZWluZyBz b2xkIHRha2VzIHRpbWUuIFRoZXJlZm9yZSB5b3UgZG9uJ3QgbmVlZCB0byB3cml0ZSBhbGwgdGhl ICcnem8nZScnIGluIGEgYnJpZGkuIFRoZSBydWxlIHNpbXBseSBpcyB0aGF0IGlmIHlvdSBsZWF2 ZSBvdXQgYW55IHN1bXRpLCB0aGV5IHdpbGwgYmUgY29uc2lkZXJlZCBhcyBpZiB0aGV5IGNvbnRh aW5lZCAnJ3pvJ2UnJy4gSWYgdGhlIGJyaWRpIGJlZ2lucyB3aXRoIGEgc2VsYnJpLCB0aGUgeDEg aXMgcHJlc3VtZWQgdG8gYmUgb21pdHRlZCBhbmQgaXQgYmVjb21lcyAnJ3pvJ2UnJy4KClRyeSBp dCBvdXQuIFdoYXQncyBMb2piYW4gZm9yIOKAnEkgc2VsbOKAnT8KCgoKQW5zd2VyOiB+fmdyZXks Z3JleTonJ21pIHZlY251Jyd+fgoKCgpBbmQgd2hhdCBkb2VzICcnemRhbmkgbWknJyBtZWFuPwoK CgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnFNvbWV0aGluZyBpcyBhIGhvbWUgb2YgbWXigJ0gb3Ig anVzdCDigJxJIGhhdmUgYSBob21lLuKAnX5+CgoKCkFzIG1lbnRpb25lZCBlYXJsaWVyLCB0aGUg Zm9ybSBkb2Vzbid0IGhhdmUgdG8gYmUge3gxIHN1bXRpfSB7c2VsYnJpfSB7eDIgc3VtdGl9IHt4 MyBzdW10aX0gKGVjdC4pIEluIGZhY3QsIHlvdSBjYW4gcGxhY2UgdGhlIHNlbGJyaSBhbnl3aGVy ZSB5b3Ugd2FudCwganVzdCBub3QgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgYnJpZGkuIElmIHlv dSBkbyB0aGF0LCB0aGUgeDEgaXMgY29uc2lkZXJlZCBsZWZ0IG91dCBhbmQgZmlsbGVkIHdpdGgg Jyd6bydlJycgaW5zdGVhZC4gU28gdGhlIGZvbGxvd2luZyB0aHJlZSBqdWZyYSBhcmUgYWxsIHRo ZSBleGFjdGx5IHNhbWUgYnJpZGk6CgonJ21pIGR1bmRhIHRpIGRvJycKCicnbWkgdGkgZHVuZGEg ZG8nJwoKJydtaSB0aSBkbyBkdW5kYScnCgoKClNvbWV0aW1lcyB0aGlzIGlzIHVzZWQgZm9yIHBv ZXRpYyBlZmZlY3QuIOKAnFlvdSBzZWxsIHlvdXJzZWxm4oCdIGNvdWxkIGJlICcnZG8gZG8gdmVj bnUnJywgd2hpY2ggc291bmRzIGJldHRlciB0aGFuICcnZG8gdmVjbnUgZG8nJy4gT3IgaXQgY2Fu IGJlIHVzZWQgZm9yIGNsYXJpdHkgaWYgdGhlIHNlbGJyaSBpcyB2ZXJ5IGxvbmcgYW5kIHRoZXJl Zm9yZSBiZXR0ZXIgYmUgbGVmdCBhdCB0aGUgZW5kIG9mIHRoZSBicmlkaS4KCgoKVGhlcmUgYXJl IGFsc28gc2V2ZXJhbCB3YXlzIHRvIHBsYXkgYXJvdW5kIHdpdGggdGhlIG9yZGVyIG9mIHRoZSBz dW10aSBpbnNpZGUgdGhlIGJyaWRpLiBUaGUgZWFzaWVzdCBvbmUgaXMgYnkgdXNpbmcgdGhlIHdv cmRzICcnZmEnJywgJydmZScnLCAnJ2ZpJycsICcnZm8nJyBhbmQgJydmdScnLiBOb3RpY2UgdGhh dCB0aGUgdm93ZWxzIGFyZSB0aGUgZml2ZSB2b3dlbHMgaW4gdGhlIExvamJhbiBhbHBoYWJldCBp biBvcmRlci4gVXNpbmcgb25lIG9mIHRoZXNlIHdvcmRzIG1hcmtzIHRoYXQgdGhlIG5leHQgc3Vt dGkgd2lsbCBmaWxsIHRoZSB4MSwgeDIsIHgzLCB4NCBhbmQgeDUgcmVzcGVjdGl2ZWx5LiBUaGUg bmV4dCBzdW10aSBhZnRlciB0aGF0IHdpbGwgYmUgcHJlc3VtZWQgdG8gZmlsbCBhIHNsb3Qgb25l IGdyZWF0ZXIgdGhhbiB0aGUgcHJldmlvdXMuIFRvIHVzZSBhbiBleGFtcGxlOgoKJydkdW5kYSBm YSBkbyBmZSB0aSBkbycnIOKAkyDigJxHaXZpbmcgYnkgeW91IG9mIHRoaXMgdGhpbmcgdG8geW91 4oCdLiAnJ2ZhJycgbWFya3MgdGhlIHgxLCB0aGUgZ2l2ZXIsIHdoaWNoIGlzIHlvdS4gJydmZScn IG1hcmtzIHRoZSB0aGluZyBiZWluZyBnaXZlbiwgdGhlIHgyLiBTdW10aSBjb3VudGluZyB0aGVu IGNvbnRpbnVlcyBmcm9tICcnZmUnJywgbWVhbmluZyB0aGF0IHRoZSBsYXN0IHN1bXRpIGZpbGxz IHgzLCB0aGUgb2JqZWN0IHJlY2VpdmluZy4KCgoKQXR0ZW1wdCB0byB0cmFuc2xhdGUgdGhlIGZv bGxvd2luZyB0aHJlZSBzZW50ZW5jZXM6CgoKCicnbWkgdmVjbnUgZm8gdGkgZmUgZG8nJwoKCgpB bnN3ZXI6IH5+Z3JleSxncmV5OuKAnUkgc2VsbCwgZm9yIHRoZSBwcmljZSBvZiB0aGlzLCB5b3Xi gJ0uIG9yIOKAnEkgc2VsbCB5b3UgZm9yIHRoZSBwcmljZSBvZiB0aGlz4oCdIChwcm9iYWJseSBw b2ludGluZyB0byBhIGJ1bmNoIG9mIG1vbmV5KX5+CgoKCicnemRhbmkgZmUgdGknJwoKCgpBbnN3 ZXI6IH5+Z3JleSxncmV5OuKAnFRoaXMgaGFzIGEgaG9tZeKAnS4gSGVyZSwgdGhlIGZlIGlzIHJl ZHVuZGFudC5+fgoKCgonJ3ZlY251IHpvJ2UgbWkgdGkgZmEgZG8nJwoKCgpBbnN3ZXI6IH5+Z3Jl eSxncmV5OuKAnFlvdSBzZWxsIHNvbWV0aGluZyB0byBtZSBmb3IgdGhpcyBwcmljZeKAnX5+CgoK CgoKISFMb2piYW4gTGVzc29ucyDigJMgbGVzc29uIHRocmVlICh0YW5ydSBhbmQgbG8pCgpJbiB0 aGlzIGxlc3NvbiwgeW91IHdpbGwgYmVjb21lIGZhbWlsaWFyIHdpdGggdGhlIGNvbmNlcHQgb2Yg YSAnJ3RhbnJ1JycuIEEgdGFucnUgaXMgZm9ybWVkIHdoZW4gYSBzZWxicmkgaXMgcHV0IGluIGZy b250IG9mIGFub3RoZXIgc2VsYnJpLCBtb2RpZnlpbmcgaXRzIG1lYW5pbmcuIEEgdGFucnUgaXMg aXRzZWxmIGEgc2VsYnJpLCBhbmQgY2FuIGNvbWJpbmUgd2l0aCBvdGhlciBzZWxicmkgb3IgdGFu cnUgdG8gZm9ybSBtb3JlIGNvbXBsZXggdGFucnUuIFRodXMgJyd6ZGFuaSB2ZWNudScnIGlzIGEg dGFucnUsIGFzIHdlbGwgYXMgICcncGVseHUgemRhbmkgdmVjbnUnJywgd2hpY2ggaXMgbWFkZSBm cm9tIHRoZSB0YW5ydSAnJ3BlbHh1IHpkYW5pJycgYW5kIHRoZSBzaW5nbGUgYnJpdmxhIHdvcmQg Jyd2ZWNudScnLiBUbyB1bmRlcnN0YW5kIHRoZSBjb25jZXB0IG9mIHRhbnJ1LCBjb25zaWRlciB0 aGUgRW5nbGlzaCBub3VuIGNvbWJpbmF0aW9uIOKAnGxlbW9uIHRyZWXigJ0uIElmIHlvdSBkaWRu J3Qga25vdyB3aGF0IGEgbGVtb24gdHJlZSB3YXMsIGJ1dCBoYWQgaGVhcmQgYWJvdXQgYm90aCBs ZW1vbnMgYW5kIHRyZWVzLCB5b3Ugd291bGQgbm90IGJlIGFibGUgdG8gZGVkdWNlIHdoYXQgYSBs ZW1vbiB0cmVlIHdhcy4gUGVyaGFwcyBhIGxlbW9uLWNvbG9yZWQgdHJlZSwgb3IgYSB0cmVlIHNo YXBlZCBsaWtlIGEgbGVtb24sIG9yIGEgdHJlZSB3aG9zZSBiYXJrIHRhc3RlcyBsaWtlIGxlbW9u LiBUaGUgb25seSB0aGluZ3MgeW91IGNvdWxkIGtub3cgZm9yIHN1cmUgd291bGQgYmUgdGhhdCBp dCB3b3VsZCBiZSBhIHRyZWUsIGFuZCBpdCB3b3VsZCBiZSBsZW1vbi1saWtlIGluIHNvbWUgd2F5 LgoKQSB0YW5ydSBpcyBjbG9zZWx5IGFuYWxvZ291cyB0byB0aGlzLiBJdCBjYW5ub3QgYmUgc2Fp ZCBleGFjdGx5IHdoYXQgYSAnJ3pkYW5pIHZlY251JycgaXMsIGJ1dCBpdCBjYW4gYmUgc2FpZCB0 aGF0IGl0IGlzIGRlZmluaXRlbHkgYSB2ZWNudSwgYW5kIHRoYXQgaXQncyB6ZGFuaS1saWtlIGlu IHNvbWUgd2F5LiBBbmQgaXQgY291bGQgYmUgemRhbmktbGlrZSBpbiBhbnkgd2F5LiBJbiB0aGVv cnksIG5vIG1hdHRlciBob3cgc2lsbHkgb3IgYWJzdXJkIHRoZSBjb25uZWN0aW9uIHRvIHpkYW5p IHdhcywgaXQgY291bGQgc3RpbGwgdHJ1bHkgYmUgYSAnJ3pkYW5pIHZlY251JycuIEhvd2V2ZXIs IGl0IG11c3QgYWN0dWFsbHkgYmUgYSB2ZWNudSBpbiB0aGUgb3JkaW5hcnkgc2Vuc2UgaW4gb3Jk ZXIgZm9yIHRoZSB0YW5ydSB0byBhcHBseS4gWW91IGNvdWxkIGdsb3NzICcnemRhbmkgdmVjbnUn JyBhcyDigJxob21lIHNlbGxlcuKAnSwgb3IgZXZlbiBiZXR0ZXIgYnV0IHdvcnNlIHNvdW5kaW5n IOKAnGEgaG9tZS10eXBlLW9mIHNlbGxlcuKAnS4gVGhlIHBsYWNlIHN0cnVjdHVyZSBvZiBhIHRh bnJ1IGlzIGFsd2F5cyB0aGF0IG9mIHRoZSByaWdodG1vc3Qgc2VsYnJpLiBJdCdzIGFsc28gc2Fp ZCB0aGF0IHRoZSBsZWZ0IHNlbGJyaSBtb2RpZmllcyB0aGUgcmlnaHQgc2VsYnJpLgoK4oCcUmVh bGx5P+KAnSwgeW91IGFzaywgc2NlcHRpY2FsbHksIOKAnEl0IGRvZXNuJ3QgbWF0dGVyIGhvdyBz aWxseSB0aGUgY29ubmVjdGlvbiB0byB0aGUgbGVmdCB3b3JkIGluIGEgdGFucnUgaXMsIGl0J3Mg c3RpbGwgdHJ1ZT8gU28gSSBjb3VsZCBjYWxsIGFsbCBzZWxsZXJzIGZvciAnJ3pkYW5pIHZlY251 JycgYW5kIHRoZW4gbWFrZSB1cCBzb21lIHNpbGx5IGV4Y3VzZSB3aHkgSSB0aGluayBpdCdzIHpk YW5pLWxpa2U/4oCdCgpXZWxsIHllcywgYnV0IHRoZW4geW91J2QgYmUgYSBkaWNrLiBPciBhdCBs ZWFzdCB5b3UnZCBiZSBpbnRlbnRpb25hbGx5IG1pc2xlYWRpbmcuIEluIGdlbmVyYWwsIHlvdSBz aG91bGQgdXNlIGEgdGFucnUgd2hlbiBpdCdzIG9idmlvdXMgaG93IHRoZSBsZWZ0IHdvcmQgcmVs YXRlcyB0byB0aGUgcmlnaHQuCgoKCkF0dGVtcHQgdG8gdHJhbnNsYXRlIHRoZSBmb2xsb3dpbmc6 ICcndGkgcGVseHUgemRhbmkgZG8nJwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnFRoYXQgaXMg YSB5ZWxsb3cgaG9tZSBmb3IgeW914oCdIEFnYWluLCB3ZSBkb24ndCBrbm93IGluIHdoaWNoIHdh eSBpdCdzIHllbGxvdy4gUHJvYmFibHkgaXQncyBwYWludGVkIHllbGxvdywgYnV0IHdlIGRvbid0 IGtub3cgZm9yIHN1cmUufn4KCgoKJydtaSB2ZWNudSBkdW5kYScnCgoKCkFuc3dlcjogfn5ncmV5 LGdyZXk64oCcSSBzZWxsLWxpa2UgZ2l2ZeKAnS4gV2hhdCBjYW4gdGhhdCBtZWFuPyBObyBpZGVh LiBJdCBjZXJ0YWlubHkgZG9lc24ndCBtZWFuIHRoYXQgeW91IHNvbGQgc29tZXRoaW5nLCBzaW5j ZSwgYnkgZGVmaW5pdGlvbiBvZiAnJ2R1bmRhJycsIHRoZXJlIGNhbiBiZSBubyBwYXltZW50IGlu dm9sdmVkLiBJdCBoYXMgdG8gYmUgYSBnaXZlYXdheSwgYnV0IGJlIHNlbGwtbGlrZSBpbiBzb21l IGFzcGVjdC5+fgoKCgpBbmQgbm93IGZvciBzb21ldGhpbmcgY29tcGxldGVseSBkaWZmZXJlbnQu IFdoYXQgaWYgSSB3YW50ZWQgdG8gc2F5IEkgc29sZCB0byBhIEdlcm1hbj8KCicnX19kb3Rjb19f JycgeDEgaXMgR2VybWFuL3JlZmxlY3RzIEdlcm1hbiBjdWx0dXJlIGluIGFzcGVjdCB4MgoKCgpJ IGNhbid0IHNheSAnJ21pIHZlY251IHpvJ2UgZG90Y28nJyBiZWNhdXNlIHRoYXQgd291bGQgbGVh dmUgdHdvIHNlbGJyaSBpbiBhIGJyaWRpLCB3aGljaCBpcyBub3QgcGVybWl0dGVkLiBJIGNvdWxk IHNheSAnJ21pIGRvdGNvIHZlY251JycgYnV0IHRoYXQgd291bGQgYmUgdW5uZWNlc3NhcnkgdmFn dWUgLSBJIGNvdWxkIHNlbGwgaW4gYSBHZXJtYW4gd2F5LiBMaWtld2lzZSwgaWYgSSB3YW50IHRv IHNheSDigJxJIGFtIGZyaWVuZHMgd2l0aCBhbiBBbWVyaWNhbuKAnSwgd2hhdCBzaG91bGQgSSBz YXk/CgonJ19fcGVuZG9fXycnIDF4IGlzIGEgZnJpZW5kIG9mIHgyCgonJ19fbWVya29fXycnIHgx IGlzIEFtZXJpY2FuL3JlZmxlY3QgVVMgY3VsdHVyZSBpbiBhc3BlY3QgeDIKCgoKQWdhaW4sIHRo ZSBvYnZpb3VzIHdvdWxkIGJlIHRvIHNheSAnJ21pIHBlbmRvIG1lcmtvJycsIGJ1dCB0aGF0IHdv dWxkIGZvcm0gYSB0YW5ydSwgbWVhbmluZyDigJxJIGFtIGZyaWVuZC1saWtlIEFtZXJpY2Fu4oCd LCB3aGljaCBpcyB3cm9uZy4gV2hhdCB3ZSByZWFsbHkgd2FudCB0byBpcyB0byB0YWtlIHRoZSBz ZWxicmkgJydtZXJrbycnIGFuZCB0cmFuc2Zvcm0gaXQgaW50byBhIHN1bXRpIHNvIGl0IGNhbiBi ZSB1c2VkIGluIHRoZSBzZWxicmkgJydwZW5kbycnLiBUaGlzIGlzIGRvbmUgYnkgdGhlIHR3byB3 b3JkcyAnJ2xvJycgYW5kICcna3UnJy4KCl9fJydsbycnX18g4oCTIGdlbmVyaWMgYmVnaW4gY29u dmVydCBzZWxicmkgdG8gc3VtdGkgd29yZC4gRXh0cmFjdHMgeDEgb2Ygc2VsYnJpIHRvIHVzZSBh cyBzdW10aS4KCl9fJydrdScnX18g4oCTIGVuZCBjb252ZXJ0IHNlbGJyaSB0byBzdW10aSBwcm9j ZXNzLgoKCgpZb3Ugc2ltcGx5IHBsYWNlIGEgc2VsYnJpIGJldHdlZW4gdGhlc2UgdHdvIHdvcmRz LCBhbmQgaXQgdGFrZXMgYW55dGhpbmcgdGhhdCBjYW4gZmlsbCB0aGUgeDEgb2YgdGhhdCBzZWxi cmkgYW5kIHR1cm5zIGl0IGludG8gYSBzdW10aS4KClNvIGZvciBpbnN0YW5jZSwgdGhlIHRoaW5n cyB0aGF0IGNhbiBmaWxsIHpkYW5p4oCYcyB4MSBhcmUgb25seSB0aGluZ3Mgd2hpY2ggYXJlIGhv bWVzIG9mIHNvbWVib2R5LiBTbyAnJ2xvIHpkYW5pIGt1JycgbWVhbnMg4oCcYSBob21lIG9yIHNv bWUgaG9tZXMgZm9yIHNvbWVib2R5LuKAnSBTaW1pbGFybHksIGlmIEkgc2F5IHRoYXQgc29tZXRo aW5nIGlzIHBlbHh1LCBpdCBtZWFucyBpdCdzIHllbGxvdy4gU28gJydsbyBwZWx4dSBrdScnIHJl ZmVycyB0byBzb21ldGhpbmcgeWVsbG93LgoKCgpOb3cgeW91IGhhdmUgdGhlIG5lY2Vzc2FyeSBn cmFtbWFyIHRvIGJlIGFibGUgdG8gc2F5IOKAnEkgYW0gZnJpZW5kcyB3aXRoIGFuIEFtZXJpY2Fu LuKAnSBIb3c/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JydtaSBwZW5kbyBsbyBtZXJrbyBrdScn fn4KCgoKVGhlcmUgaXMgYSBnb29kIHJlYXNvbiB3aHkgdGhlICcna3UnJyBpcyBuZWNlc3Nhcnku IFRyeSB0byB0cmFuc2xhdGUg4oCcQSBHZXJtYW4gc2VsbHMgdGhpcyB0byBtZeKAnQoKCgpBbnN3 ZXI6IH5+Z3JleSxncmV5OicnbG8gZG90Y28ga3UgdmVjbnUgdGkgbWknJyBJZiB5b3UgbGVhdmUg b3V0IHRoZSBrdSwgeW91IGRvIG5vdCBnZXQgYSBicmlkaSwgYnV0IHNpbXBseSB0aHJlZSBzdW10 aS4gU2luY2UgbG/igKZrdSBjYW5ub3QgY29udmVydCBicmlkaSwgdGhlIHRpIGlzIGZvcmNlZCBv dXRzaWRlIHRoZSBzdW10aSwgdGhlIGxvLWNvbnN0cnVjdCBpcyBmb3JjZWQgdG8gY2xvc2UgYW5k IGl0IHNpbXBseSBiZWNvbWVzIHRoZSB0aHJlZSBzdW10aSBvZiAnJ2xvIGRvdGNvIHZlY251IHtr dX0nJywgJyd0aScnIGFuZCAnJ21pJycufn4KCgoKWW91IGFsd2F5cyBoYXZlIHRvIGJlIGNhcmVm dWwgd2l0aCBqdWZyYSBsaWtlICcnbG8gemRhbmkga3UgcGVseHUnJy4gSWYgdGhlICcna3UnJyBp cyBsZWZ0IG91dCB0aGUgY29udmVyc2lvbiBwcm9jZXNzIGRvZXMgbm90IGVuZCwgYW5kIGl0IHNp bXBseSBiZWNvbWVzIG9uZSBzdW10aSwgbWFkZSBmcm9tIHRoZSB0YW5ydSAnJ3pkYW5pIHBlbHh1 JycgYW5kIHRoZW4gY29udmVydGVkIHdpdGggJydsbycnLgoKCgoKCiEhTG9qYmFuIExlc3NvbnMg 4oCTIGxlc3NvbiBmb3VyIChhdHRpdHVkaW5hbHMpCgpBbm90aGVyIGNvbmNlcHQgd2hpY2ggY2Fu IGJlIHVuZmFtaWxpYXIgdG8gRW5nbGlzaCBzcGVha2VycyBpcyB0aGF0IG9mIGF0dGl0dWRpbmFs cy4gQXR0aXR1ZGluYWxzIGFyZSB3b3JkcyB0aGF0IGV4cHJlc3MgZW1vdGlvbnMgZGlyZWN0bHku IFRoZSBpZGVhIG9mIGF0dGl0dWRpbmFscyBvcmlnaW5hdGVkIGluIHRoZSBmZW1pbmlzdCBjb25z dHJ1Y3RlZCBsYW5ndWFnZSBMYWRhbiwgc3VwcG9zZWRseSB0byBlbmFibGUgdHJ1ZSBmZW1hbGUg ZW1vdGlvbnMuIFRoZSBpZGVhIHdhcyB0aGF0IGZlbWFsZSBlbW90aW9uYWwgZXhwcmVzc2lvbiB3 YXMgaGluZGVyZWQgYnkgbWFsZSBkb21pbmF0ZWQgbGFuZ3VhZ2UsIGFuZCBpZiBvbmx5IHRoZXkg d2VyZSBhYmxlIHRvIGJlIGV4cHJlc3NlZCBtb3JlIGZyZWVseSwgdGhpcyB3b3VsZCBlbXBvd2Vy IHdvbWVuIHRocm91Z2ggbGliZXJhdGlvbiBvZiB0aGUgbGFuZ3VhZ2UuCgpJbiBMb2piYW4sIHRo ZXJlIGlzIG5vIHN1Y2ggYWdlbmRhLCBhbmQgYXR0aXR1ZGluYWxzIG1vc3QgcHJvYmFibHkgaGF2 ZSBiZWVuIGRlc2lnbmVkIGludG8gdGhlIGxhbmd1YWdlIGJlY2F1c2UgdGhleSB0dXJuZWQgb3V0 IHRvIGJlIGluY3JlZGlibHkgYXdlc29tZSBhbmQgdXNlZnVsLiBUaGV5IGFsbCBoYXZlIGEgc28t Y2FsbGVkIGZyZWUgZ3JhbW1hciwgd2hpY2ggbWVhbnMgdGhhdCB0aGV5IGNhbiBhcHBlYXIgYWxt b3N0IGFueXdoZXJlIHdpdGhpbiBicmlkaSB3aXRob3V0IGRpc3J1cHRpbmcgdGhlIGJyaWRpJ3Mg Z3JhbW1hciBvciBhbnkgZ3JhbW1hdGljYWwgY29uc3RydWN0cy4KCkluIExvamJhbiBncmFtbWFy LCBhbiBhdHRpdHVkaW5hbCBhcHBsaWVzIHRvIHRoZSBwcmV2aW91cyB3b3JkLiBJZiB0aGF0IHBy ZXZpb3VzIHdvcmQgaXMgYSB3b3JkIHdoaWNoIGJlZ2lucyBhIGNvbnN0cnVjdCAobGlrZSAnJy5p Jycgb3IgJydsbycnKSwgaXQgYXBwbGllcyB0byB0aGUgZW50aXJlIGNvbnN0cnVjdC4gTGlrZXdp c2UsIGlmIHRoZSBhdHRpdHVkaW5hbCBmb2xsb3dzIGEgd29yZCB3aGljaCBlbmRzIGEgY29uc3Ry dWN0IGxpa2UgJydrdScnLCBpdCBhcHBsaWVzIHRvIHRoZSBlbmRlZCBjb25zdHJ1Y3QuCgoKCkxl dCdzIGhhdmUgdHdvIGF0dGl0dWRpbmFscyB0byBtYWtlIHNvbWUgZXhhbXBsZXM6CgpfXycnLnVp JydfXzogYXR0aXR1ZGluYWw6IHNpbXBsZSBwdXJlIGVtb3Rpb246IGhhcHBpbmVzcyAtIHVuaGFw cGluZXNzCgpfXycnemEnYScnX186IGF0dGl0dWRpbmFsOiBldmlkZW50aWFsOiBJIGRpcmVjdGx5 IG9ic2VydmUKCgoKTm90ZSB0aGF0IGluIHRoZSBkZWZpbml0aW9uIG9mICcnLnVpJycsIHRoZXJl IGFyZSBsaXN0ZWQgdHdvIGVtb3Rpb25zLCBoYXBwaW5lc3MgYW5kIHVuaGFwcGluZXNzLiBUaGlz IG1lYW5zIHRoYXQgJycudWknJyBpcyBkZWZpbmVkIGFzIGhhcHBpbmVzcywgd2hpbGUgaXRzIOKA nG5lZ2F0aW9u4oCdLCBtZWFucyB1bmhhcHBpbmVzcy4g4oCcTmVnYXRpb27igJ0gbWlnaHQgYmUg dGhlIHdyb25nIHdvcmQgaGVyZS4gVGVjaG5pY2FsbHksIHRoZSBvdGhlciBkZWZpbml0aW9uIG9m ICcnLnVpJycgaXMgYW5vdGhlciBjb25zdHJ1Y3QsICcnLnVpIG5haScnLiBNb3N0IG9mIHRoZSB0 aW1lLCB0aGUgc2Vjb25kIGRlZmluaXRpb24gb2YgYXR0aXR1ZGluYWxzIC0gdGhlIG9uZXMgc3Vm Zml4ZWQgd2l0aCAnJ25haScnIC0gcmVhbGx5IGlzIHRoZSBuZWdhdGlvbiBvZiB0aGUgYmFyZSBh dHRpdHVkaW5hbC4gT3RoZXIgdGltZXMsIG5vdCBzbyBtdWNoLgoKX18nJ25haScnX18gbWlzYy4g bmVnYXRpb24gLSBhdHRhY2hlZCB0byBhdHRpdHVkaW5hbHMsIGl0IGNoYW5nZXMgdGhlIG1lYW5p bmcgaW50byB0aGUgYXR0aXR1ZGluYWwncyAibmVnYXRpb24iCgoKCkFuZCBzb21lIG1vcmUgc2Vs YnJpLCBqdXN0IGZvciB0aGUgaGVjayBvZiBpdDoKCl9fJydjaXRrYScnX18g4oCTIHgxIGVhdHMg eDIKCl9fJydwbGlzZScnX18g4oCTIHgxIGlzIGFuIGFwcGxlIG9mIHN0cmFpbi90eXBlIHgyCgoK ClRoZSBzZW50ZW5jZSAnJ2RvIGNpdGthIGxvIHBsaXNlIGt1IC51aScnLCBtZWFucyDigJxZb3Ug ZWF0IGFuIGFwcGxlLCB5YXkh4oCdIChlc3BlY2lhbGx5IGV4cHJlc3NpbmcgdGhhdCBpdCBpcyB0 aGUgX19hcHBsZV9fIHRoYXQgdGhlIHNwZWFrZXIgaXMgaGFwcHkgYWJvdXQsIG5vdCB0aGUgZWF0 aW5nLCBvciB0aGUgZmFjdCB0aGF0IGl0IHdhcyB5b3UuKSBJbiB0aGUgc2VudGVuY2UgJydkbyB6 YSdhIGNpdGthIGxvIHBsaXNlIGt1JycsIHRoZSBzcGVha2VyIGRpcmVjdGx5IG9ic2VydmVzIHRo YXQgaXQgaXMgaW5kZWVkIHRoZSBfX+KAnHlvdeKAnV9fLCB3aG8gZWF0cyBhbiBhcHBsZSBhcyBv cHBvc2VkIHRvIHNvbWVvbmUgZWxzZS4KCgoKSWYgYW4gYXR0aXR1ZGluYWwgaXMgcGxhY2VkIGF0 IHRoZSBiZWdpbm5pbmcgb2YgdGhlIGJyaWRpLCBpdCBpcyB1bmRlcnN0b29kIHRvIGFwcGx5IHRv IGFuIGV4cGxpY2l0IG9yIGltcGxpY2l0ICcnLmknJywgdGh1cyBhcHBseWluZyB0byB0aGUgZW50 aXJlIGJyaWRpOgoKJycudWkgemEnYSBkbyBkdW5kYSBsbyBwbGlzZSBrdSBtaScnIOKAkyDigJxZ YXksIEkgb2JzZXJ2ZSB0aGF0IHlvdSBnaXZlIGFuL3NvbWUgYXBwbGUgdG8gbWUh4oCdCgoKCicn bWkgdmVjbnUgLnVpIG5haSBsbyB6ZGFuaSBrdScnIOKAnEkgc2VsbCAod2hpY2ggc3Vja3MhKSBh IGhvbWXigJ0uCgoKClRyeSBpdCBvdXQgd2l0aCBhIGZldyBleGFtcGxlcy4gRmlyc3QsIHRob3Vn aCwgaGVyZSBhcmUgc29tZSBtb3JlIGF0dGl0dWRpbmFsczoKCl9fJycudSd1JydfXyBhdHRpdHVk aW5hbDogc2ltcGxlIHB1cmUgZW1vdGlvbjogZ3VpbHQgLSByZW1vcnNlbGVzc25lc3MgLSBpbm5v Y2VuY2UuCgpfXycnLm9pJydfXyBhdHRpdHVkaW5hbDogY29tcGxleCBwdXJlIGVtb3Rpb246IGNv bXBsYWludCAtIHBsZWFzdXJlLgoKX18nJy5pdScnX18gYXR0aXR1ZGluYWw6IG1pc2NlbGxhbmVv dXMgcHVyZSBlbW90aW9uOiBsb3ZlIC0gaGF0ZS4KCgoKTG9vayBhdCB0aGF0LCBhIHdvcmQgd2l0 aCB0aHJlZSBlbW90aW9ucyBpbiB0aGUgZGVmaW5pdGlvbiEgVGhlIG1pZGRsZSBvbmUgaXMgYWNj ZXNzZWQgYnkgc3VmZml4aW5uZyB3aXRoICcnY3UnaScnLiBJdCdzIGNvbnNpZGVyZWQgdGhlIG1p ZHBvaW50IG9mIHRoZSBlbW90aW9uLgoKX18nJ2N1J2knJ19fIGF0dGl0dWRpbmFsIG1pZHBvaW50 IHNjYWxhcjogYXR0YWNoIHRvIGF0dGl0dWRpbmFsIHRvIGNoYW5nZSB0aGUgbWVhbmluZyB0byB0 aGUgIm1pZHBvaW50IiBvZiB0aGUgZW1vdGlvbi4KCgoKVHJ5IHNheWluZyDigJxJIGdpdmUgc29t ZXRoaW5nIHRvIGEgR2VybWFuLCB3aG8gSSBsb3Zl4oCdCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6 JydtaSBkdW5kYSBmaSBsbyBkb3RjbyBrdSAuaXUnJyBvciAnJ3pvJ2UnJyBpbnN0ZWFkIG9mICcn ZmknJ35+CgoKCk5vdyDigJxBYWgsIEkgZWF0IGEgeWVsbG93IGFwcGxl4oCdCgpBbnN3ZXI6IH5+ Z3JleSxncmV5OicnLm9pIG5haSBtaSBjaXRrYSBsbyBwZWx4dSBwbGlzZSBrdScnfn4KCgoKTGV0 J3MgaGF2ZSBhbm90aGVyIGF0dGl0dWRpbmFsIG9mIGEgZGlmZmVyZW50IGtpbmQgdG8gaWxsdXN0 cmF0ZSBzb21ldGhpbmcgcGVjdWxpYXI6CgonJy5laScnIEF0dGl0dWRpbmFsOiBjb21wbGV4IHBy b3Bvc2l0aW9uYWwgZW1vdGlvbjogb2JsaWdhdGlvbiAtIGZyZWVkb20uCgoKClNvLCBxdWl0ZSBl YXN5OiDigJxJIGhhdmUgdG8gZ2l2ZSB0aGUgYXBwbGUgYXdheeKAnSBpcyAnJ21pIGR1bmRhIC5l aSBsbyBwbGlzZSBrdScnLCByaWdodD8gSXQgaXMsIGFjdHVhbGx5ISBXaGVuIHlvdSB0aGluayBh Ym91dCBpdCwgdGhhdCdzIHdlaXJkLiBXaHkgaXMgaXQgdGhhdCBhbGwgdGhlIG90aGVyIGF0dGl0 dWRpbmFscyB3ZSBoYXZlIHNlZW4gc28gZmFyIGV4cHJlc3NlcyB0aGUgc3BlYWtlcidzIGZlZWxp bmcgYWJvdXQgdGhlIGJyaWRpLCBidXQgdGhpcyBvbmUgYWN0dWFsbHkgY2hhbmdlcyB3aGF0IHRo ZSBicmlkaSBtZWFucz8gU3VyZWx5LCBieSBzYXlpbmcg4oCcSSBoYXZlIHRvIGdpdmUgdGhlIGFw cGxlIGF3YXnigJ0sIHdlIHNheSBub3RoaW5nIGFib3V0IHdoZXRoZXIgdGhlIGFwcGxlIGFjdHVh bGx5IGlzIGJlaW5nIGdpdmVuIGF3YXkuIElmIEkgaGFkIHVzZWQgJycudWknJywgaG93ZXZlciwg SSB3b3VsZCBhY3R1YWxseSBoYXZlIHN0YXRlZCB0aGF0IEkgZ2F2ZSB0aGUgYXBwbGUgYXdheSwg YW5kIHRoYXQgSSB3YXMgaGFwcHkgYWJvdXQgaXQuIFdoYXQncyB0aGF0IGFsbCBhYm91dD8KCgoK VGhpcyBpc3N1ZSwgZXhhY3RseSBob3cgYXR0aXR1ZGluYWxzIGNoYW5nZSB0aGUgY29uZGl0aW9u cyBvbiB3aGljaCBhIGJyaWRpIGlzIHRydWUsIGlzIGEgc3ViamVjdCBvZiBhIG1pbm9yIGRlYmF0 ZS4gVGhlIG9mZmljaWFsLCDigJx0ZXh0Ym9va+KAnSBydWxlLCB3aGljaCBwcm9iYWJseSB3b24n dCBiZSBjaGFuZ2VkLCBpcyB0aGF0IHRoZXJlIGlzIGEgZGlzdGluY3Rpb24gYmV0d2VlbiDigJxw dXJlIGVtb3Rpb25z4oCdIGFuZCDigJxwcm9wb3NpdGlvbmFsIGVtb3Rpb25z4oCdLiBPbmx5IHBy b3Bvc3Rpb25hbCBlbW90aW9ucyBjYW4gY2hhbmdlIHRoZSB0cnV0aCBjb25kaXRpb25zLCB3aGls ZSBwdXJlIGVtb3Rpb25zIGNhbm5vdC4gSW4gb3JkZXIgdG8gZXhwcmVzcyBhIHByb3Bvc2l0aW9u YWwgZW1vdGlvbmFsIGF0dGl0dWRpbmFsIHdpdGhvdXQgY2hhbmdpbmcgdGhlIHRydXRoIHZhbHVl IG9mIHRoZSBicmlkaSwgeW91IGNhbiBqdXN0IHNlcGFyYXRlIGl0IGZyb20gdGhlIGJyaWRpIHdp dGggJycuaScnLiBUaGVyZSBpcyBhbHNvIGEgd29yZCBmb3IgZXhwbGljaXRseSBjb25zZXJ2aW5n IG9yIGNoYW5naW5nIHRoZSB0cnV0aCBjb25kaXRpb25zIG9mIGEgYnJpZGk6CgoKCl9fJydkYSdp JydfXyBhdHRpdHVkaW5hbDogZGlzY3Vyc2l2ZTogc3VwcG9zaW5nIC0gaW4gZmFjdAoKU2F5aW5n ICcnZGEnaScnIGluIGEgYnJpZGkgY2hhbmdlcyB0aGUgdHJ1dGggY29uZGl0aW9ucyB0byBoeXBv dGhldGljYWwsIHdoaWNoIGlzIHRoZSBkZWZhdWx0IHVzaW5nIHByb3Bvc2l0aW9uYWwgYXR0aXR1 ZGluYWxzLiBTYXlpbmcgJydkYSdpIG5haScnIGNoYW5nZXMgdGhlIHRydXRoIGNvbmRpdGlvbiB0 byB0aGUgbm9ybWFsLCB3aGljaCBpcyBkZWZhdWx0IHVzaW5nIHB1cmUgYXR0aXR1ZGluYWxzLgoK CgpTbywgd2hhdCdzIHR3byB3YXlzIG9mIHNheWluZyDigJxJIGdpdmUgdGhlIGFwcGxlIGF3YXni gJ0/IChhbmQgZmVlbCBvYmxpZ2F0aW9uIGFib3V0IGl0KQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5 OicnbWkgZHVuZGEgbG8gcGxpc2UgLmkgLmVpJycgIGFuZCAnJ21pIGR1bmRhIGRhJ2kgbmFpIC5l aSBsbyBwbGlzZScnfn4KCgoKVGhlIGZlZWxpbmcgb2YgYW4gYXR0aXR1ZGluYWwgY2FuIGJlIHN1 YnNjcmliZWQgdG8gc29tZW9uZSBlbHNlIHVzaW5nICcnZGFpJycuIFVzdWFsbHkgaW4gb3JkaW5h cnkgc3BlZWNoLCB0aGUgYXR0aXR1ZGluYWwgaXMgc3Vic2NyaWJlZCB0byB0aGUgbGlzdGVuZXIs IGJ1dCBpdCBkb2Vzbid0IGhhdmUgdG8gYmUgc28uIEFsc28sIGJlY2F1c2UgdGhlIHdvcmQgaXMg Z2xvc3NlZCDigJxlbXBhdGh54oCdIChmZWVsaW5nIG90aGVycyBlbW90aW9ucyksIHNvbWUgTG9q YmFuaXN0cyBtaXN0YWtlbmx5IHRoaW5rIHRoYXQgdGhlIHNwZWFrZXIgbXVzdCBzaGFyZSB0aGUg ZW1vdGlvbiBiZWluZyBzdWJzY3JpYmVkIHRvIG90aGVycy4KCl9fJydkYWknJ19fIGF0dGl0dWRp bmFsIG1vZGlmeWVyOiBFbXBhdGh5IChzdWJzY3JpYmVzIGF0dGl0dWRpbmFsIHRvIHNvbWVvbmUg ZWxzZSwgdW5zcGVjaWZpZWQpCgpFeGFtcGxlOiAnJ3UnaSAub2kgZGFpIGNpdGthIHRpJycgLSDi gJxIYSBoYSwgdGhpcyB3YXMgZWF0ZW4hIFRoYXQgbXVzdCBoYXZlIGh1cnQh4oCdCgoKCldoYXQg b2Z0ZW4gdXNlZCBwaHJhc2UgY291bGQgJycub2kgdSdpIGRhaScnIG1lYW4/CgoKCkFuc3dlcjog fn5ncmV5LGdyZXk64oCcT3VjaCwgdmVyeSBmdW5ueS7igJ1+fgoKCgpBbmQgYW5vdGhlciBvbmUg dG8gdGVzdCB5b3VyIGtub3dsZWRnZTogVHJ5IHRvIHRyYW5zbGF0ZSDigJxIZSB3YXMgc29ycnkg aGUgc29sZCBhIGhvbWXigJ0gKHJlbWVtYmVyaW5nLCB0aGF0IHRlbnNlIGlzIGltcGxpZWQgYW5k IG5lZWQgbm90IGJlIHNwZWNpZmllZC4gQWxzbywg4oCcaGXigJ0gY291bGQgYmUgb2J2aW91cyBm cm9tIGNvbnRleHQpCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6Jyd1J3UgZGFpIHZlY251IGxvIHpk YW5pIGt1Jyd+fgoKCgpMYXN0bHksIHRoZSBpbnRlbnNpdHkgb2YgYW4gYXR0aXR1ZGluYWwgY2Fu IGJlIHNwZWNpZmllZCB1c2luZyBjZXJ0YWluIHdvcmRzLiBUaGVzZSBjYW4gYmUgdXNlZCBhZnRl ciBhbiBhdHRpdHVkaW5hbCwgb3IgYW4gYXR0aXR1ZGluYWwgd2l0aCAnJ25haScnIG9yICcnY3Un aScnIHN1ZmZpeGVkLiBJdCdzIGxlc3MgY2xlYXIgd2hhdCBoYXBwZW5zIHdoZW4geW91IGF0dGFj aCBpdCB0byBvdGhlciB3b3JkcywgbGlrZSBhIHNlbGJyaSwgYnV0IGl0J3MgbW9zdGx5IHVuZGVy c3Rvb2QgYXMgaW50ZW5zaWZ5aW5nIG9yIHdlYWtlbmluZyB0aGUgc2VsYnJpIGluIHNvbWUgdW5z cGVjaWZpZWQgd2F5OgoKfHwgTW9kaWZ5aW5nIHdvcmQgIHwgSW50ZW5zaXR5ICAKCiBjYWl8ICAg RXh0cmVtZQoKIHNhaXwgICBTdHJvbmcKCiAobm9uZSl8ICAgVW5zcGVjaWZpZWQgKG1lZGl1bSkK CiBydSdlICB8ICAgV2Vha3x8CgoKCldoYXQgZW1vdGlvbiBpcyBleHByZXNzZWQgdXNpbmcgJycu dSdpIG5haSBzYWknJyA/CgpfXycnLnUnaScnX186IGF0dGl0dWRpbmFsOiBzaW1wbGUgcHVyZSBl bW90aW9uOiBhbXVzZW1lbnQgLSB3ZWFyaW5lc3MKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTpTdHJv bmcgd2VhcmluZXNzfn4KCgoKQW5kIGhvdyB3b3VsZCB5b3UgZXhwcmVzcyB0aGF0IHlvdSBhcmUg bWlsZGx5IHJlbW9yc2VsZXNzPwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnLnUndSBjdSdpIHJ1 J2UnJ35+CgoKCiEhTG9qYmFuIGxlc3NvbnMg4oCTIGxlc3NvbiBmaXZlIChTRSkKCkJlZm9yZSB3 ZSB2ZW50dXJlIGludG8gdGhlIHRlcnJpdG9yeSBvZiBtb3JlIGNvbXBsZXggY29uc3RydWN0cywg eW91IHNob3VsZCBsZWFybiBhbm90aGVyIG1lY2hhbmlzbSBmb3IgcmVvcmRlcmluZyB0aGUgc3Vt dGkgb2YgYSBzZWxicmkuIFRoaXMsIGFzIHdlIHdpbGwgc2hvdywgaXMgdmVyeSB1c2VmdWwgZm9y IG1ha2luZyBkZXNjcmlwdGlvbi1saWtlIHN1bXRpICh0aGUga2luZCBvZiBzdW10aSB3aXRoICcn bG8nJykuCgpDb25zaWRlciB0aGUgc2VudGVuY2Ug4oCcSSBlYXQgYSBnaWZ04oCdLCB3aGljaCBt aWdodCBiZSBhcHByb3ByaWF0ZSBpZiB0aGF0IGdpZnQgaXMgYW4gYXBwbGUuIFRvIHRyYW5zbGF0 ZSB0aGlzLCBpdCB3b3VsZCBzZWVtIG5hdHVyYWwgdG8gbG9vayB1cCBhIHNlbGJyaSBtZWFuaW5n IOKAnGdpZnTigJ0gYmVmb3JlIGNvbnRpbnVpbmcuIEhvd2V2ZXIsIGlmIG9uZSBsb29rcyBjYXJl ZnVsbHkgYXQgdGhlIGRlZmluaXRpb24gb2YgJydkdW5kYScnLCB4MSBnaXZlcyB4MiB0byB4Mywg b25lIHJlYWxpemVzIHRoYXQgdGhlIHgyIG9mICcnZHVuZGEnJyBpcyBzb21ldGhpbmcgZ2l2ZW4g 4oCTIGEgZ2lmdC4KClNvLCB0byBleHByZXNzIHRoYXQgc2VudGVuY2UsIHdlIGNhbid0IHNheSAn J21pIGNpdGthIGxvIGR1bmRhIGt1JycsIGJlY2F1c2UgJydsbyBkdW5kYSBrdScnIHdvdWxkIGJl IHRoZSB4MSBvZiAnJ2R1bmRhJycsIHdoaWNoIGlzIGEgZG9ub3Igb2YgYSBnaWZ0LiBDYW5uaWJh bGlzbSBhc2lkZSwgd2UgZG9uJ3Qgd2FudCB0byBzYXkgdGhhdC4gV2hhdCB3ZSB3YW50IGlzIGEg d2F5IHRvIGV4dHJhY3QgdGhlIHgyIG9mIGEgc2VsYnJpLgoKVGhpcyBpcyBvbmUgZXhhbXBsZSB3 aGVyZSBpdCBpcyB1c2VmdWwgdG8gdXNlIHRoZSB3b3JkICcnc2UnJy4gV2hhdCAnJ3NlJycgZG9l cyBpcyB0byBtb2RpZnkgYSBzZWxicmkgc3VjaCB0aGF0IHRoZSB4MSBhbmQgeDIgb2YgdGhhdCBz ZWxicmkgdHJhZGUgcGxhY2VzLiBUaGUgY29uc3RydWN0IG9mICcnc2UnJyArIHNlbGJyaSBpcyBv biBpdHMgb3duIGNvbnNpZGVyZWQgb25lIHNlbGJyaS4gTGV0J3MgdHJ5IHdpdGggYW4gb3JkaW5h cnkgc2VudGVuY2U6CgpfXycnZmFudmEnJ19fID0g4oCceDEgdHJhbnNsYXRlcyB4MiB0byBsYW5n dWFnZSB4MyBmcm9tIGxhbmd1YWdlIHg0IHdpdGggcmVzdWx0IG9mIHRyYW5zbGF0aW9uIHg14oCd CgonJ3RpIHNlIGZhbnZhIG1pJycgPSAnJ21pIGZhbnZhIHRpJycKClRoaXMgaXMgdHJhbnNsYXRl ZCBieSBtZSAoPSBJIHRyYW5zbGF0ZSB0aGlzKS4gT2Z0ZW4sIGJ1dCBub3QgYWx3YXlzLCBicmlk aSB3aXRoICcnc2UnJy1jb25zdHJ1Y3RzIGFyZSB0cmFuc2xhdGVkIHRvIHNlbnRlbmNlcyB3aXRo IHRoZSBwYXNzaXZlIHZvaWNlLCBzaW5jZSB0aGUgeDEgaXMgb2Z0ZW4gdGhlIG9iamVjdCB0YWtp bmcgYWN0aW9uLgoKJydzZScnIGhhcyBpdHMgb3duIGZhbWlseSBvZiB3b3Jkcy4gQWxsIG9mIHRo ZW0gc3dhcCBhIGRpZmZlcmVudCBwbGFjZSB3aXRoIHRoZSB4MS4KCnx8c2UJfHN3YXAgeDEgYW5k IHgyCgp0ZQl8c3dhcCB4MSBhbmQgeDMKCnZlCXxzd2FwIHgxIGFuZCB4NAoKeGUJfHN3YXAgeDEg YW5kIHg1fHwKCk5vdGUgdGhhdCBzLCB0LCB2LCBhbmQgeCBhcmUgY29uc2VjdXRpdmUgY29uc29u YW50cyBpbiB0aGUgbG9qYmFuIGFscGhhYmV0LgoKCgpTbzogVXNpbmcgdGhpcyBrbm93bGVkZ2Us IHdoYXQgd291bGQgJyd0aSB4ZSBmYW52YSB0aScnIG1lYW4/CgoKCkFuc3dlcjogfn5ncmV5LGdy ZXk64oCcVGhpcyBpcyBhIHRyYW5zbGF0aW9uIG9mIHRoaXPigJ0gKG9yICcnZmFudmEgdGkgZnUg dGknJyl+fgoKCgonJ3NlJycgYW5kIGl0cyBmYW1pbHkgY2FuIG9mIGNvdXJzZSBiZSBjb21iaW5l ZCB3aXRoICcnZmEnJyBhbmQgaXRzIGZhbWlseS4gVGhlIHJlc3VsdCBjYW4gYmUgdmVyeSBjb25m dXNpbmcgaW5kZWVkLCBpZiB5b3Ugd2lzaCB0byBtYWtlIGl0IHNvOgoKX18nJ2tsYW1hJydfXyA9 IOKAnHgxIHRyYXZlbHMvZ29lcyB0byB4MiBmcm9tIHgzIHZpYSB4NCB1c2luZyB4NSBhcyB0cmFu c3BvcnRhdGlvbiBkZXZpY2XigJ0KCicnZm8gbG8gemRhbmkga3UgdGUga2xhbWEgZmUgZG8gdGkg ZmEgbWknJyA9ICcnbWkgdGUga2xhbWEgZG8gdGkgbG8gemRhbmkga3UnJyBhbmQgc2luY2UgJyd0 ZScnIGV4Y2hhbmdlcyB4MSBhbmQgeDM6ID0gJyd0aSBrbGFtYSBkbyBtaSBsbyB6ZGFuaSBrdScn CgrigJxUaGlzIHRyYXZlbHMgdG8geW91IGZyb20gbWUgdmlhIGEgaG9tZS7igJ0gT2YgY291cnNl LCBubyBvbmUgd291bGQgbWFrZSBzdWNoIGEgc2VudGVuY2UgZXhjZXB0IHRvIGNvbmZ1c2UgcGVv cGxlLCBvciBjcnVlbGx5IHRvIHRlc3QgdGhlaXIgdW5kZXJzdGFuZGluZyBvZiBMb2piYW4gZ3Jh bW1hci4KCkFuZCB0aHVzLCB3ZSBoYXZlIGNvbWUgdG8gdGhlIHBvaW50IHdoZXJlIHdlIGNhbiBz YXkg4oCcSSBlYXQgYSBnaWZ0LuKAnS4gU2ltcGx5IGV4Y2hhbmdlIHRoZSBzdW10aSBwbGFjZXMg b2YgJydkdW5kYScnIHRvIGdldCB0aGUgZ2lmdCB0byBiZSB4MSwgdGhlbiBleHRyYWN0IHRoaXMg bmV3IHgxIHdpdGggJydsbycnLi4uJydrdScnLiBTbywgaG93IHdvdWxkIHlvdSBzYXkgaXQ/CgpP bmUgKHBvc3NpYmxlKSBhbnN3ZXI6IH5+Z3JleSxncmV5OicnbWkgY2l0a2EgbG8gc2UgZHVuZGEg a3UnJ35+CgpUaGlzIHNob3dzIG9uZSBvZiB0aGUgbWFueSB1c2VzIGZvciAnJ3NlJycgYW5kIGl0 cyBmYW1pbHkuCgoKCgoKISFMb2piYW4gbGVzc29ucyDigJMgbGVzc29uIHNpeCAoYWJzdHJhY3Rp b25zKQoKU28gZmFyIHdlIGhhdmUgb25seSBleHByZXNzZWQgc2luZ2xlIHNlbnRlbmNlcyBvbmUg YXQgYSB0aW1lLiBUbyBleHByZXNzIG1vcmUgY29tcGxleCB0aGluZ3MsIGhvd2V2ZXIsIHlvdSBv ZnRlbiBuZWVkIHN1Ym9yZGluYXRlIHNlbnRlbmNlcy4gTHVja2lseSwgdGhlc2UgYXJlIG11Y2gg ZWFzaWVyIGluIExvamJhbiB0aGFuIHdoYXQgb25lIHdvdWxkIGV4cGVjdC4KCldlIGNhbiBiZWdp biB3aXRoIGFuIGV4YW1wbGUgdG8gZGVtb25zdHJhdGUgdGhpczog4oCcSSBhbSBoYXBweSB0aGF0 IHlvdSBhcmUgbXkgZnJpZW5kLuKAnSBIZXJlLCB0aGUgbWFpbiBicmlkaSBpcyDigJxJIGFtIGhh cHB5IHRoYXQgWC7igJ0sIGFuZCB0aGUgc3ViLWJyaWRpIGlzIOKAnFlvdSBhcmUgbXkgZnJpZW5k LuKAnSBMb29raW5nIGF0IHRoZSBkZWZpbml0aW9uIGZvciDigJxoYXBweeKAnSwgd2hpY2ggaXMg JydnbGVraScnOgoKX18nJ2dsZWtpJydfXyDigJx4MSBpcyBoYXBweSBhYm91dCB4MiAoZXZlbnQv c3RhdGUp4oCdCgpPbmUgc2VlcyB0aGF0IHRoZSB4MiBuZWVkcyB0byBiZSBhbiBldmVudCBvciBh IHN0YXRlLiBUaGlzIGlzIG5hdHVyYWwsIGJlY2F1c2Ugb25lIGNhbm5vdCBiZSBoYXBweSBhYm91 dCBhbiBvYmplY3QgaW4gaXRzZWxmLCBvbmx5IGFib3V0IHNvbWUgc3RhdGUgdGhlIG9iamVjdCBp cyBpbi4gQnV0IGFsYXMhIE9ubHkgYnJpZGkgY2FuIGV4cHJlc3MgYSBzdGF0ZSBvciBhbiBldmVu dCwgYW5kIG9ubHkgc3VtdGkgY2FuIGZpbGwgdGhlIHgyIG9mICcnZ2xla2knJyEKCkFzIHlvdSBt aWdodCBoYXZlIGd1ZXNzZWQsIHRoZXJlIGlzIGEgc29sdXRpb24uIFRoZSB3b3JkcyAnJ3N1J3Un Jy4uLicna2VpJycgaXMgYSBnZW5lcmljIOKAnGNvbnZlcnQgYnJpZGkgdG8gc2VsYnJp4oCdIGZ1 bmN0aW9uLCBhbmQgd29ya3MganVzdCBsaWtlICcnbG8nJ+KApicna3UnJy4KCl9fJydzdSd1Jydf XyB4MSBpcyBhbiBhYnN0cmFjdGlvbiBvZiB7YnJpZGl9IG9mIHR5cGUgeDIKCl9fJydrZWknJ19f IGVuZCBhYnN0cmFjdGlvbgoKCgpFeGFtcGxlOgoKX18nJ21lbGJpJydfXyB4MSBpcyBiZWF1dGlm dWwgdG8geDIuCgpfXycnZGFuc3UnJ19fIHgxIGRhbmNlcyB0byBhY2NvbXBhbmltZW50L211c2lj L3JoeXRobSB4Mi4KCicnbWVsYmkgc3UndSBkYW5zdSBrZWknJyAtIOKAnEJlYXV0aWZ1bCBkYW5j aW5n4oCdL+KAnEJlYXV0aWZ1bCBkYW5jZeKAnQoKCgpJdCdzIHVzdWFsbHkgaGFyZCB0byBmaW5k IGdvb2QgdXNlcyBvZiBhIGJyaWRpIGFzIGEgc2VsYnJpLiBIb3dldmVyLCBzaW5jZSAnJ3N1J3Ug QlJJREkga2VpJycgaXMgYSBzZWxicmksIG9uZSBjYW4gY29udmVydCBpdCB0byBhIHN1bXRpIHVz aW5nICcnbG8nJy4uLicna3UnJy4KCk5vdyB3ZSBoYXZlIHRoZSBlcXVpcG1lbnQgdG8gZXhwcmVz cyDigJxJIGFtIGhhcHB5IHRoYXQgeW91IGFyZSBteSBmcmllbmTigJ0uIFRyeSBpdCBvdXQhCgpf XycncGVuZG8nJ19fIOKAnHgxIGlzIGEgZnJpZW5kIG9mIHgy4oCdCgoKCkFuc3dlcjogfn5ncmV5 LGdyZXk6JydtaSBnbGVraSBsbyBzdSd1IGRvIHBlbmRvIG1pIGtlaSBrdScnfn4KCgoKSG93ZXZl ciwgJydzdSd1JyfigKYnJ2tlaScnIGRvZXMgbm90IHNlZSBtdWNoIHVzZS4gUGVvcGxlIHByZWZl ciB0byB1c2UgdGhlIG1vcmUgc3BlY2lmaWMgd29yZHMgJydudScn4oCmJydrZWknJyBhbmQgJydk dSd1JyfigKYnJ2tlaScnLiBUaGV5IHdvcmsgdGhlIHNhbWUgd2F5LCBidXQgbWVhbiBzb21ldGhp bmcgZGlmZmVyZW50LiAnJ2514oCma2VpJycgdHJlYXRzIHRoZSBicmlkaSBpbiBiZXR3ZWVuIGFz IGFuIGV2ZW50IG9yIHN0YXRlLCBhbmQgJydkdSd14oCma2VpJycgdHJlYXRzIGl0IGFzIGFuIGFi c3RyYWN0IGJyaWRpLCBmb3IgZXhwcmVzc2luZyB0aGluZ3MgbGlrZSBpZGVhcywgdGhvdWdodHMg b3IgdHJ1dGhzLiBBbGwgdGhlc2Ugd29yZHMgKGV4Y2VwdCAnJ2tlaScnKSBhcmUgY2FsbGVkIGFi c3RyYWN0b3JzLiBUaGVyZSBhcmUgbWFueSBvZiB0aGVtLCBhbmQgb25seSBmZXcgYXJlIHVzZWQg bXVjaC4gJydzdSd14oCma2VpJycgaXMgYSBnZW5lcmFsIGFic3RyYWN0b3IsIGFuZCB3aWxsIHdv cmsgaW4gYWxsIGNhc2VzLgoKCgpVc2UgJydudScnIHRvIHNheSDigJxJJ20gaGFwcHkgYWJvdXQg dGFsa2luZyB0byB5b3Uu4oCdCgpfXycndGF2bGEnJ19fIHgxIHRhbGtzIHRvIHgyIGFib3V0IHN1 YmplY3QgeDMgaW4gbGFuZ3VhZ2UgeDQuCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JydtaSBnbGVr aSBsbyBudSB0YXZsYSBkbyBrZWkga3UnJyAobm90aWNlIGJvdGggdGhlIEVuZ2xpc2ggYW5kIHRo ZSBMb2piYW4gaXMgdmFndWUgYXMgdG8gd2hvIGlzIGRvaW5nIHRoZSB0YWxraW5nKS5+fgoKCgpP dGhlciBpbXBvcnRhbnQgYWJzdHJhY3RvcnMgaW5jbHVkZTogJydrYS4uLmtlaScnIChwcm9wZXJ0 eS9hc3BlY3QgYWJzdHJhY3Rpb24pLCAnJ3NpJ28uLi5rZWknJyAoY29uY2VwdC9pZGVhIGFic3Ry YWN0aW9uKSwgJyduaS4uLmtlaScnIChxdWFudGl0eSBhYnN0cmFjdGlvbikgYW1vbmcgb3RoZXJz LiBUaGUgbWVhbmluZ3Mgb2YgdGhlc2UgaXMgYSBjb21wbGljYXRlZCBtYXR0ZXIsIGFuZCB3aWxs IGJlIGRpc2N1c3NlZCBtdWNoIGxhdGVyLCBpbiBsZXNzb24gdHdlbnR5LW5pbmUuIEZvciBub3cs IHlvdSdsbCBoYXZlIHRvIGRvIHdpdGhvdXQgdGhlbS4KCgoKSXQgaXMgaW1wb3J0YW50IHRvIG5v dGljZSB0aGF0IHNvbWUgYWJzdHJhY3RvcnMgaGF2ZSBzZXZlcmFsIHN1bXRpIHBsYWNlcy4gQXMg YW4gZXhhbXBsZSwgJydkdSd1JycgY2FuIGJlIG1lbnRpb25lZC4gJydkdSd1JycgaXMgZGVmaW5l ZDoKCicnZHUndScnID0g4oCcYWJzdHJhY3Rvci4geDEgaXMgdGhlIHByZWRpY2F0ZS9icmlkaSBv ZiB7YnJpZGl9IGV4cHJlc3NlZCBpbiBzZW50ZW5jZSB4MuKAnS4KClRoZSBvdGhlciBzdW10aSBw bGFjZXMgYmVzaWRlcyB4MSBpcyByYXJlbHkgdXNlZCwgYnV0ICcnbG8gc2UgZHUndSB7YnJpZGl9 IGtlaSBrdScnIGlzIHNvbWV0aW1lcyB1c2VkIGFzIGEgc3VtdGkgZm9yIGluZGlyZWN0IHF1b3Rh dGlvbjog4oCcSSBzYWlkIHRoYXQgSSB3YXMgZ2l2ZW4gYSBkb2figJ0gY2FuIGJlIHdyaXR0ZW4g JydtaSBjdXNrdSBsbyBzZSBkdSd1IG1pIHRlIGR1bmRhIGxvIGdlcmt1IGt1IGtlaSBrdScnLCBp ZiB5b3Ugd2lsbCBwYXJkb24gdGhlIHdlaXJkIGV4YW1wbGUuCgpfXycnY3Vza3UnJ19fIHgxIGV4 cHJlc3NlcyB4MiB0byB4MyB0aHJvdWdoIG1lZGl1bSB4NAoKX18nJ2dlcmt1JydfXyB4MSBpcyBh IGRvZyBvZiByYWNlIHgyCgohIUxvamJhbiBsZXNzb25zIOKAkyBsZXNzb24gc2V2ZW4gKE5PSSkK CldoaWxlIHdlJ3JlIGF0IGl0LCB0aGVyZSdzIGFub3RoZXIgdHlwZSBvZiBzdWJvcmRpbmF0ZSBi cmlkaS4gVGhlc2UgYXJlIGNhbGxlZCByZWxhdGl2ZSBjbGF1c2VzLiBUaGV5IGFyZSBzZW50ZW5j ZXMgd2hpY2ggYWRkIHNvbWUgZGVzY3JpcHRpb24gdG8gYSBzdW10aS4gSW5kZWVkLCB0aGUg4oCc d2hpY2jigJ0gaW4gdGhlIHByZXZpb3VzIHNlbnRlbmNlIG1hcmtlZCB0aGUgYmVnaW5uaW5nIG9m IGEgcmVsYXRpdmUgY2xhdXNlIGluIEVuZ2xpc2ggZGVzY3JpYmluZyByZWxhdGl2ZSBjbGF1c2Vz LiBJbiBMb2piYW4sIHRoZXkgY29tZSBpbiB0d28gZmxhdm9ycywgYW5kIGl0IG1pZ2h0IGJlIHdv cnRoIGRpc3Rpbmd1aXNoaW5nIHRoZSB0d28ga2luZHMgYmVmb3JlIGxlYXJuaW5nIGhvdyB0byBl eHByZXNzIHRoZW0uCgpUaGUgdHdvIGtpbmRzIGFyZSBjYWxsZWQgcmVzdHJpY3RpdmUgYW5kIG5v bi1yZXN0cmljdGl2ZSAob3IgaW5jaWRlbnRpYWwpIHJlbGF0aXZlIGNsYXVzZXMuIEFuIGV4YW1w bGUgd291bGQgYmUgZ29vZCBoZXJlOgoK4oCcTXkgYnJvdGhlciwgd2hvIGlzIHR3byBtZXRlcnMg dGFsbCwgaXMgYSBwb2xpdGljaWFuLuKAnSBUaGlzIGNhbiBiZSB1bmRlcnN0b29kIGluIHR3byB3 YXlzLiBJIGNvdWxkIGhhdmUgc2V2ZXJhbCBicm90aGVycywgaW4gd2hpY2ggY2FzZSBzYXlpbmcg aGUgaXMgdHdvIG1ldGVycyB0YWxsIHdpbGwgbGV0IHlvdSBrbm93IHdoaWNoIGJyb3RoZXIgSSBh bSB0YWxraW5nIGFib3V0LiBPciBJIG1pZ2h0IGhhdmUgb25seSBvbmUgYnJvdGhlciwgaW4gd2hp Y2ggY2FzZSBJIGFtIHNpbXBseSBnaXZpbmcgeW91IGFkZGl0aW9uYWwgaW5mb3JtYXRpb24uCgoK CkluIEVuZ2xpc2ggYXMgd2VsbCBhcyBMb2piYW4gd2UgZGlzdGluZ3Vpc2ggYmV0d2VlbiB0aGVz ZSB0d28ga2luZHMg4oCTIHRoZSBmaXJzdCBpbnRlcnByZXRhdGlvbiBpcyByZXN0cmljdGl2ZSAo c2luY2UgaXQgaGVscHMgcmVzdHJpY3QgdGhlIHBvc3NpYmxlIGJyb3RoZXJzIEkgbWlnaHQgYmUg dGFsa2luZyBhYm91dCksIHRoZSBzZWNvbmQgbm9uLXJlc3RyaWN0aXZlLiBXaGVuIHNwZWFraW5n IEVuZ2xpc2gsIGNvbnRleHQgYW5kIHRvbmUgb2Ygdm9pY2UgKG9yIGluIHdyaXR0ZW4gRW5nbGlz aCwgcHVuY3R1YXRpb24pIGhlbHBzIHVzIGRpc3Rpbmd1aXNoIGJldHdlZW4gdGhlc2UgdHdvLCBi dXQgbm90IHNvIGluIExvamJhbi4gTG9qYmFuIHVzZXMgdGhlIGNvbnN0cnVjdHMgJydwb2nigKZr dSdvJycgYW5kICcnbm9p4oCma3UnbycnIGZvciByZXN0cmljdGl2ZSBhbmQgbm9uLXJlc3RyaWN0 aXZlIHJlbGF0aXZlIGNsYXVzZXMsIHJlc3BlY3RpdmVseS4KCkxldCdzIGhhdmUgYSBMb2piYW5p YyBleGFtcGxlLCB3aGljaCBjYW4gYWxzbyBleHBsYWluIG91ciBzdHJhbmdlIGdpZnQtZWF0aW5n IGJlaGF2aW91ciBpbiB0aGUgZXhhbXBsZSBpbiBsZXNzb24gZml2ZToKCl9fJydub2knJ19fIGJl Z2luIG5vbi1yZXN0cmljdGl2ZSByZWxhdGl2ZSBjbGF1c2UgKGNhbiBvbmx5IGF0dGFjaCB0byBz dW10aSkKCl9fJydwb2knJ19fIGJlZ2luIHJlc3RyaWN0aXZlIHJlbGF0aXZlIGNsYXVzZSAoY2Fu IG9ubHkgYXR0YWNoIHRvIHN1bXRpKQoKX18nJ2t1J28nJ19fIGVuZCByZWxhdGl2ZSBjbGF1c2UK CgoKJydtaSBjaXRrYSBsbyBzZSBkdW5kYSBrdSBwb2kgcGxpc2Uga3UnbycnID0g4oCcSSBlYXQg YSBnaWZ0IHN1Y2ggdGhhdCAoc29tZXRoaW5nIGlzKSBhbiBhcHBsZeKAnS4gCgpIZXJlIHRoZSAn J3BvaeKApmt1J28nJyBpcyBwbGFjZWQganVzdCBhZnRlciAnJ2xvIHNlIGR1bmRhIGt1JycsIHNv IGl0IGFwcGxpZXMgdG8gdGhlIGdpZnQuIFRvIGJlIHN0cmljdCwgdGhlIHJlbGF0aXZlIGNsYXVz ZSBkb2VzIG5vdCBzcGVjaWZ5IHdoYXQgaXQgaXMsIHdoaWNoIGlzIGFuIGFwcGxlLCBidXQgc2lu Y2UgdGhlIHJlbGF0aXZlIGNsYXVzZSBhcHBsaWVzIHRvIHRoZSBnaWZ0LCB3ZSBjYW4gc2FmZWx5 IGFzc3VtZSB0aGF0IGl0IG1lYW5zIHRoYXQgdGhlIGdpZnQgaXMgYW4gYXBwbGUuIEFmdGVyIGFs bCwgaW4gdGhlIGNvbnRleHQgb2YgbGVzc29uIGZpdmUsIHRoaXMgc2VlbXMgcmVhc29uYWJsZS4g SWYgd2Ugd2FudCB0byBiZSBhYnNvbHV0ZWx5IHN1cmUgdGhhdCBpdCBpbmRlZWQgd2FzIHRoZSBn aWZ0IHRoYXQgd2FzIGFuIGFwcGxlLCB3ZSB1c2UgdGhlIHdvcmQgJydrZSdhJycsIHdoaWNoIGlz IGEgJydzdW1rYSdpJycgKGEgTG9qYmFuIHByb25vdW4sIG1vcmUgb24gdGhlbSBsYXRlcikgcmVw cmVzZW50aW5nIHRoZSBzdW10aSB3aGljaCB0aGUgcmVsYXRpdmUgY2xhdXNlIGlzIGF0dGFjaGVk IHRvLgoKX18nJ2tlJ2EnJ19fIHN1bWthJ2k7IHJlZmVycyB0byB0aGUgc3VtdGksIHRvIHdoaWNo IHRoZSByZWxhdGl2ZSBjbGF1c2UgaXQgYXR0YWNoZWQuCgoKCicnLnVpIG1pIGNpdGthIGxvIHNl IGR1bmRhIGt1IHBvaSBrZSdhIHBsaXNlIGt1J28nJyA9IOKAnFlheSwgSSBlYXQgYSBnaWZ0IHdo aWNoIGlzIGFuIGFwcGxl4oCdLgoKVG8gdW5kZXJsaW5lIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4g cmVzdHJpY3RpdmUgYW5kIG5vbi1yZXN0cmljdGl2ZSByZWxhdGl2ZSBjbGF1c2VzLCBoZXJlJ3Mg YW5vdGhlciBleGFtcGxlOgoKCgpfXycnbG9qYm8nJ19fIOKAnHgxIHJlZmxlY3RzIExvamJhbmlj IGN1bHR1cmUvY29tbXVuaXR5IGlzIGFzcGVjdCB4MjsgeDEgaXMgTG9qYmFuaWMu4oCdCgoKCicn bWkgbm9pIGxvamJvIGt1J28gZmFudmEgZm8gbG8gbG9qYm8ga3UnJyA9IOKAnEksIHdobyBhbSBh IExvamJhbmljLCB0cmFuc2xhdGUgZnJvbSBzb21lIExvamJhbmljIGxhbmd1YWdlLuKAnSBIZXJl LCB0aGVyZSBpcyBub3QgbXVsdGlwbGUgdGhpbmdzIHdoaWNoICcnbWknJyBjb3VsZCByZWZlciB0 bywgYW5kIHRoZSBmYWN0IHRoYXQgSSBhbSBsb2piYW5pYyBpcyBtZXJlbHkgYWRkaXRpb25hbCBp bmZvcm1hdGlvbiBub3QgbmVlZGVkIHRvIGlkZW50aWZ5IG1lLiBUaGVyZWZvcmUgJydub2nigKZr dSdvJycgaXMgYXBwcm9wcmlhdGUuCgpTZWUgaWYgeW91IGNhbiB0cmFuc2xhdGUgdGhpczog4oCc SSBmbGlydCB3aXRoIGEgbWFuIHdobyBpcyBiZWF1dGlmdWwvaGFuZHNvbWXigJ0uCgpfXycnbmFu bXUnJ19fIOKAnHgxIGlzIGEgbWFu4oCdCgpfXycnbWVsYmknJ19fIOKAnHgxIGlzIGJlYXV0aWZ1 bCB0byB4MiBpbiBhc3BlY3QgKGthKSB4MyBieSBzdGFuZGFyZCB4NOKAnQoKX18nJ2Npbmppa2Nh JydfXyDigJx4MSBmbGlydHMvY291cnRzIHgyLCBleGhpYml0aW5nIHNleHVhbGl0eSB4MyBieSBz dGFuZGFyZCB4NOKAnQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnbWkgY2luamlrY2EgbG8gbmFu bXUga3UgcG9pIHtrZSdhfSBtZWxiaSBrdSdvJyd+fgoKCgpPbiBhIG1vcmUgdGVjaG5pY2FsIHNp ZGUgbm90ZSwgaXQgbWlnaHQgYmUgdXNlZnVsIHRvIGtub3cgdGhhdCAnJ2xvIHtzZWxicml9IGt1 JycgaXMgb2Z0ZW4gc2VlbiBkZWZpbmVkIGFzICcnem8nZSBub2kga2UnYSB7c2VsYnJpfSBrdSdv JycuCgoKCkJlc2lkZXMsIGl0IGlzIGFsc28gcG9zc2libGUgdG8gY29ubmVjdCB0d28gb3IgbW9y ZSByZWxhdGl2ZSBjbGF1c2VzIHRvIHRoZSBzYW1lIHN1bXRpLCBieSB1c2luZyB0aGUgcmVsYXRp dmUgY2xhdXNlIGpvaW5lciB7emknZX0uIEl0J3Mgc3ludGF4IGlzICJzdW10aSArIHJlbGF0aXZl IGNsYXVzZSArIHppJ2UgKyByZWxhdGl2ZSBjbGF1c2UgKCsgemknZSArIHJlbGF0aXZlIGNsYXVz ZSAoLi4uKSkiLiBIZXJlIGlzIGFuIGV4YW1wbGU6CgoKCl9fJydwZW5taScnX18g4oCceDEgbWVl dHMvZW5jb3VudGVycyB4MiBhdC9pbiBsb2NhdGlvbiB4M+KAnQoKX18nJ2Rhc25pJydfXyDigJx4 MSB3ZWFycy9pcyByb2JlZC9nYXJiZWQgaW4geDIgYXMgYSBnYXJtZW50IG9mIHR5cGUgeDPigJ0K CgoKJydtaSB0YXZsYSBsbyBuYW5tdSBrdSBwb2kgZG8gcGVubWkga2UnYSBrdSdvIHppJ2Ugbm9p IGRhc25pIGxvIHh1bnJlIGt1IGt1J28nJwoKPSDigJxJIHRhbGtlZCB0byB0aGUgbWFuIHRoYXQg eW91IG1ldCBhbmQgd2hpY2ggKGluY2lkZW50YWxseSkgd2FzIGRyZXNzZWQgaW4gcmVkLuKAnQoK KExpdGVyYWxseTog4oCcLi4uIGFuZCB3aGljaCB3ZWFycyBzb21ldGhpbmcgcmVk4oCdLikKCgoK CgohIUxvamJhbiBMZXNzb25zIOKAkyBMZXNzb24gZWlnaHQgKHRlcm1pbmF0b3IgZWxpc2lvbikK CicnLmF1IGRhJ2kgbWkgZGppY2EgbG8gbnUgbGUgbWVya28gcG9pIHR1bmJhIG1pIF9fdmF1IGt1 J28ga3VfXyBqaW1wZSBsbyBkdSd1IG1pIG5hIG5lbGNpIGxvIG51IHZvJ2EgZGFyeGkgbWkgX192 YXUga2VpIGt1IHZhdSBrZWkga3UgdmF1IGtlaSBrdSB2YXVfXycnCgogLSAg4oCcSSB3aXNoIHRo ZSBBbWVyaWNhbiwgd2hvIGlzIG15IHNpYmxpbmcsIHdvdWxkIHVuZGVyc3RhbmQgdGhhdCBJIGRv bid0IGxpa2UgdGhhdCBoZSBoaXRzIG1lLuKAnQoKUmVnYXJkbGVzcyBvZiB3aGV0aGVyIHRoZSBh Ym92ZSBzZW50ZW5jZSBpcyBiZWluZyB1bmRlcnN0b29kLCAoaXQgc2hvdWxkbid0LCBhcyBpdCBj b250YWlucyB3b3JkcyB3ZSBoYXZlIG5vdCBjb3ZlcmVkIGluIHRoZXNlIGxlc3NvbnMgeWV0KSBv bmUgdGhpbmcgc3RhbmRzIG91dDogQXMgbW9yZSBjb21wbGV4IExvamJhbiBzdHJ1Y3R1cmVzIGFy ZSBsZWFybmVkLCBtb3JlIGFuZCBtb3JlIG9mIHRoZSBzZW50ZW5jZXMgZ2V0IGZpbGxlZCB3aXRo ICcna3UnJywgJydrZWknJywgJydrdSdvJycgYW5kIG90aGVyIG9mIHRob3NlIHdvcmRzIHdoaWNo IGJ5IHRoZW1zZWx2ZXMgY2Fycnkgbm8gbWVhbmluZy4KCgoKVGhlIGZ1bmN0aW9uIG9mIGFsbCB0 aGVzZSB3b3JkcyBpcyB0byBzaWduYWwgdGhlIGVuZCBvZiBhIGNlcnRhaW4gZ3JhbW1hdGljYWwg Y29uc3RydWN0LCBsaWtlIGZvciBpbnN0YW5jZSDigJxjb252ZXJ0IHNlbGJyaSB0byBzdW10aeKA nSBpbiB0aGUgY2FzZSBvZiAnJ2t1JycuIFRoZSBFbmdsaXNoIHdvcmQgZm9yIHRoaXMga2luZCBv ZiB3b3JkIGlzIOKAnHRlcm1pbmF0b3LigJ0sIHRoZSBMb2piYW4gd29yZCBpcyAnJ2ZhJ29ybWEn bycnLiBUaGV5IGFyZSB3cml0dGVuIGluIGJvbGQgaW4gdGhlIGV4YW1wbGUgYWJvdmUuCgpOb3Rl OiBUaGUgJyd2YXUnJyBpbiB0aGUgYWJvdmUgZXhhbXBsZSBhcmUgdGhlIGZhJ29ybWEnbyBmb3Ig 4oCcZW5kIGJyaWRp4oCdLiBUaGVyZSBpcyBhIGdvb2QgcmVhc29uIHlvdSBoYXZlIG5vdCB5ZXQg c2VlbiBpdCwgc3RheSB0dW5lZC4KCl9fJyd2YXUnJ19fIGZhJ29ybWEnbzogVGVybWluYXRlcyBi cmlkaS4KCgoKSW4gbW9zdCBzcG9rZW4gYW5kIHdyaXR0ZW4gTG9qYmFuLCBtb3N0IGZhJ29ybWEn byBhcmUgc2tpcHBlZCAoZWxpZGVkKS4gVGhpcyBncmVhdGx5IHNhdmVzIHN5bGxhYmxlcyBpbiBz cGVlY2ggYW5kIHNwYWNlIGluIHdyaXRpbmcsIGhvd2V2ZXIsIG9uZSBtdXN0IGFsd2F5cyBiZSBj YXJlZnVsIHdoZW4gZWxpZGluZyBmYSdvcm1hJ28uIEluIHRoZSBzaW1wbGUgZXhhbXBsZSAnJ2xv IG1lcmtvIGt1IGtsYW1hJycsIHJlbW92aW5nIHRoZSBmYSdvcm1hJ28gJydrdScnIHdvdWxkIHlp ZWxkICcnbG8gbWVya28ga2xhbWEnJywgd2hpY2ggaXMgYSBzaW5nbGUgc3VtdGkgbWFkZSBmcm9t IHRoZSB0YW5ydSAnJ21lcmtvIGtsYW1hJycuIFRodXMsIGl0IG1lYW5zIOKAnGFuIEFtZXJpY2Fu IHRyYXZlbGVy4oCdIGluc3RlYWQgb2Yg4oCcYW4gQW1lcmljYW4gdHJhdmVsc+KAnS4gZmEnb3Jt YSdvIGVsaXNpb24gY2FuIGxlYWQgdG8gdmVyeSB3cm9uZyByZXN1bHRzIGlmIGRvbmUgaW5jb3Jy ZWN0bHksIHdoaWNoIGlzIHdoeSB5b3UgaGF2ZW4ndCBsZWFybmVkIGFib3V0IGl0IHVudGlsIG5v dy4KCgoKVGhlIHJ1bGUgZm9yIHdoZW4gZmEnb3JtYSdvIGNhbiBiZSBlbGlkZWQgaXMgdmVyeSBz aW1wbGUsIGF0IGxlYXN0IGluIHRoZW9yeTog4oCcWW91IGNhbiBlbGlkZSBhIGZhJ29ybWEnbywg X19pZiBhbmQgb25seSBpZl9fIGRvaW5nIHNvIGRvZXMgbm90IGNoYW5nZSB0aGUgZ3JhbW1hdGlj YWwgY29uc3RydWN0cyBpbiB0aGUgc2VudGVuY2Uu4oCdCgpNb3N0IGZhJ29ybWEnbyBjYW4gYmUg c2FmZWx5IGVsaWRlZCBhdCB0aGUgZW5kIG9mIHRoZSBicmlkaS4gRXhjZXB0aW9ucyBhcmUgdGhl IG9idmlvdXMgb25lcyBsaWtlIOKAnGVuZCBxdW90ZeKAnS1mYSdvcm1hJ28gYW5kIOKAnGVuZCBi cmlkaSBncm91cGluZ+KAnS1mYSdvcm1hJ28uIFRoaXMgaXMgd2h5ICcndmF1JycgaXMgYWxtb3N0 IG5ldmVyIHVzZWQg4oCTIHNpbXBseSBiZWdpbm5pbmcgYSBuZXcgYnJpZGkgd2l0aCAnJy5pJycg d2lsbCBhbG1vc3QgYWx3YXlzIHRlcm1pbmF0ZSB0aGUgcHJlY2VkaW5nIGJyaWRpIGFueXdheS4g SXQgaGFzIG9uZSBmcmVxdWVudCB1c2UsIGhvd2V2ZXIuIFNpbmNlIGF0dGl0dWRpbmFscyBhbHdh eXMgYXBwbHkgdG8gdGhlIHByZWNlZGluZyB3b3JkLCBhcHBseWluZyBpdCB0byBhIGZhJ29ybWEn byBhcHBsaWVzIGl0IHRvIHRoZSBlbnRpcmUgY29uc3RydWN0IHdoaWNoIGlzIHRlcm1pbmF0ZWQu IFVzaW5nICcndmF1JycsIG9uZSBjYW4gdGhlbiB1c2UgYXR0aXR1ZGluYWxzIGFmdGVydGhvdWdo dCBhbmQgYXBwbHkgdGhlbSB0byB0aGUgZW50aXJlIGJyaWRpOgoKJyd6YSdhIGRvIGR1bmRhIGxv IHpkYW5pIHtrdX0gbG8gcHJlbnUge2t1fS4uLiB2YXUgaSdlJycgLSDigJxJIHNlZSB0aGF0IHlv dSBnaXZlIGEgaG9tZSB0byBhIHBlcnNvbi4uLiBJIGFwcHJvdmUh4oCdCgpfXycncHJlbnUnJ19f IHgxIGlzIGEgcGVyc29uOyB4MSBoYXMgYSBwZXJzb25hbGl0eS4KCgoKS25vd2luZyB0aGUgYmFz aWMgcnVsZXMgZm9yIGZhJ29ybWEnbyBlbGlzaW9uLCB3ZSBjYW4gdGh1cyByZXR1cm4gdG8gdGhl IG9yaWdpbmFsIHNlbnRlbmNlIGFuZCBiZWdpbiByZW1vdmluZyBmYSdvcm1hJ286CgoKCicnLmF1 IGRhJ2kgbWkgZGppY2EgbG8gbnUgbGUgbWVya28gcG9pIHR1bmJhIG1pIF9fdmF1IGt1J28ga3Vf XyBqaW1wZSBsbyBkdSd1IG1pIG5hIG5lbGNpIGxvIG51IHZvJ2EgZGFyeGkgbWkgX192YXUga2Vp IGt1IHZhdSBrZWkga3UgdmF1IGtlaSBrdSB2YXVfXycnCgoKCldlIGNhbiBzZWUgdGhhdCB0aGUg Zmlyc3QgJyd2YXUnJyBpcyBncmFtbWF0aWNhbGx5IHVubmVjZXNzYXJ5LCBiZWNhdXNlIHRoZSBu ZXh0IG5vbi1mYSdvcm1hJ28td29yZCBpcyAnJ2ppbXBlJycsIHdoaWNoIGlzIGEgc2VsYnJpLiBT aW5jZSB0aGVyZSBjYW4gb25seSBiZSBvbmUgc2VsYnJpIHBlciBicmlkaSwgJyd2YXUnJyBpcyBu b3QgbmVlZGVkLiBTaW5jZSAnJ2ppbXBlJycgYXMgYSBzZWxicmkgY2Fubm90IGJlIGluIHRoZSBy ZWxhdGl2ZSBjbGF1c2UgZWl0aGVyIChvbmx5IG9uZSBicmlkaSBpbiBhIGNsYXVzZSwgb25seSBv bmUgc2VsYnJpIGluIGVhY2ggYnJpZGkpLCB3ZSBjYW4gZWxpZGUgJydrdSdvJycuIExpa2V3aXNl LCAnJ2ppbXBlJycgY2Fubm90IGJlIGEgc2Vjb25kIHNlbGJyaSBpbnNpZGUgdGhlIGNvbnN0cnVj dCAnJ2xlIG1lcmtvIHBvaXsuLi59JycsIHNvIHRoZSAnJ2t1JycgaXMgbm90IG5lZWRlZCBlaXRo ZXIuIEZ1cnRoZXJtb3JlLCBhbGwgdGhlIGZhJ29ybWEnbyBhdCB0aGUgdmVyeSBlbmQgb2YgdGhl IHNlbnRlbmNlIGNhbiBiZSBlbGlkZWQgdG9vLCBzaW5jZSBiZWdpbm5pbmcgYSBuZXcgYnJpZGkg d2lsbCB0ZXJtaW5hdGUgYWxsIG9mIHRoZXNlIGNvbnN0cnVjdHMgYW55d2F5LgoKV2UgdGhlbiBl bmQgdXAgd2l0aDoKCicnLmF1IGRhJ2kgbWkgZGppY2EgbG8gbnUgbGUgbWVya28gcG9pIHR1bmJh IG1pIGppbXBlIGxvIGR1J3UgbWkgbmEgbmVsY2kgbG8gbnUgdm8nYSBkYXJ4aSBtaScnIOKAkyB3 aXRoIG5vIGZhJ29ybWEnbyBhdCBhbGwhCgoKCldoZW4gZWxpZGluZyBmYSdvcm1hJ28sIGl0IGlz IGEgZ29vZCBpZGVhIHRvIGJlIGFjcXVhaW50ZWQgd2l0aCAnJ2N1JycuICcnY3UnJyBpcyBvbmUg b2YgdGhvc2Ugd29yZHMgd2hpY2ggY2FuIG1ha2UgeW91ciAoTG9qYmFuaWMpIGxpZmUgYSBsb3Qg ZWFzaWVyLiBXaGF0IGl0IGRvZXMgaXMgdG8gc2VwYXJhdGUgYW55IHByZXZpb3VzIHN1bXRpIGZy b20gdGhlIHNlbGJyaS4gT25lIGNvdWxkIHNheSB0aGF0IGl0IGRlZmluZXMgdGhlIG5leHQgd29y ZCB0byBiZSBhIHNlbGJyaSwgYW5kIHRlcm1pbmF0ZXMgZXhhY3RseSBhcyBtdWNoIGFzIGl0IG5l ZWRzIHRvIGluIG9yZGVyIHRvIGRvIHRoYXQuCgpfXycnY3UnJ19fIGVsaWRhYmxlIG1hcmtlcjog c2VwYXJhdGVzIHNlbGJyaSBmcm9tIHByZWNlZGluZyBzdW10aSwgYWxsb3dzIHByZWNlZGluZyBm YSdvcm1hJ28gZWxpc2lvbi4KCgoKX18nJ3ByYW1pJydfXyA9IOKAnHgxIGxvdmVzIHgy4oCdCgoK CicnbG8gc3UndSBkbyBjdXNrdSBsbyBzZSBkdSd1IGRvIHByYW1pIG1pIF9fdmF1IGtlaSBrdSB2 YXUga2VpIGt1X18gc2UgZGppY2EgbWknJyA9CgonJ2xvIHN1J3UgZG8gY3Vza3UgbG8gc2UgZHUn dSBkbyBwcmFtaSBtaSBfX2N1X18gc2UgZGppY2EgbWknJwoK4oCcVGhhdCB5b3Ugc2F5IHRoYXQg eW91IGxvdmUgbWUgaXMgZGVzaXJlZCBieSBiZeKAnSBvciDigJxJIHdpc2ggeW91IHNhaWQgeW91 IGxvdmVkIG1l4oCdCgpub3RlOiAnJ2N1JycgaXMgbm90IGEgZmEnb3JtYSdvLCBiZWNhdXNlIGl0 IGlzIG5vdCB0aWVkIHRvIG9uZSBzcGVjaWZpYyBjb25zdHJ1Y3QuIEJ1dCBpdCBjYW4gYmUgdXNl ZCB0byBlbGlkZSBvdGhlciBmYSdvcm1hJ28uCgoKCk9uZSBvZiB0aGUgZ3JlYXRlc3Qgc3RyZW5n dGhzIG9mICcnY3UnJyBpcyB0aGF0IGl0IHF1aWNrbHkgYmVjb21lcyBlYXN5IHRvIGludHVpdGl2 ZWx5IHVuZGVyc3RhbmQuIEJ5IGl0c2VsZiBpdCBtZWFucyBub3RoaW5nLCBidXQgaXQgcmV2ZWFs cyB0aGUgc3RydWN0dXJlIG9mIExvamJhbiBleHByZXNzaW9ucyBieSBpZGVudGlmeWluZyB0aGUg Y29yZSBzZWxicmkuIEluIHRoZSBvcmlnaW5hbCBleGFtcGxlIHdpdGggdGhlIHZpb2xlbnQgQW1l cmljYW4gYnJvdGhlciwgdXNpbmcgJydjdScnIGJlZm9yZSAnJ2ppbXBlJycgZG9lcyBub3QgY2hh bmdlIHRoZSBtZWFuaW5nIG9mIHRoZSBzZW50ZW5jZSBpbiBhbnkgd2F5LCBidXQgbWlnaHQgbWFr ZSBpdCBlYXNpZXIgdG8gcmVhZC4KCgoKSW4gdGhlIGZvbGxvd2luZyBjb3VwbGUgb2YgbGVzc29u cywgJydjdScnIHdpbGwgYmUgdXNlZCB3aGVuIG5lY2Vzc2FyeSwgYW5kIGFsbCBmYSdvcm1hJ28g ZWxpZGVkIGlmIHBvc3NpYmxlLiBUaGUgZWxpZGVkIGZhJ29ybWEnbyB3aWxsIGJlIGVuY2FzZWQg aW4gY3VybHkgYnJhY2tldHMsIGFzIHNob3duIGJlbG93LiBUcnkgdG8gdHJhbnNsYXRlIGl0IQoK X18nJ3Zham5pJydfXyDigJx4MSBpcyBpbXBvcnRhbnQgdG8geDIgZm9yIHJlYXNvbiB4M+KAnQoK X18nJ2ppbXBlJydfXyDigJx4MSB1bmRlcnN0YW5kcyB0aGF0IHgyIChkdSd1LWFic3RyYWN0aW9u KSBpcyB0cnVlIGFib3V0IHgz4oCdCgpfXycnYSdvJydfXyAtIEF0dGl0dWRpbmFsOiBTaW1wbGUg cHJvcG9zaXRpb25hbCBlbW90aW9uOiBIb3BlIC0gZGVzcGFpcgoKCgonJ2EnbyBkbyBub2kga2Un YSBsb2pibyAuaSdlIHtrdSdvfSB7a3V9IGN1IGppbXBlIGxvIGR1J3UgbG8gZmEnb3JtYSdvIHtr dX0gY3UgdmFqbmkge3ZhdX0ge2tlaX0ge2t1fSB7dmF1fScnCgpXaGF0IGRvIEkgc3RhdGU/CgoK CkFuc3dlcjogfn5ncmV5LGdyZXk64oCcSSBob3BlIHRoYXQgeW91LCBhIHByb3VkIExvamJhbmlz dCwgdW5kZXJzdGFuZHMgdGhhdCBmYSdvcm1hJ28gYXJlIGltcG9ydGFudOKAnX5+CgoKCkZ1biBz aWRlIG5vdGU6IE1vc3QgcGVvcGxlIHdlbGwtdmVyc2VkIGluIGZhJ29ybWEnby1lbGlzaW9uIGRv IGl0IHNvIGluc3RpbmN0aXZlbHkgdGhhdCB0aGV5IG9mdGVuIG11c3QgYmUgcmVtaW5kZWQgaG93 IGltcG9ydGFudCB1bmRlcnN0YW5kaW5nIGZhJ29ybWEnbyBhcmUgdG8gdGhlIHVuZGVyc3RhbmRp bmcgb2YgTG9qYmFuLiBUaGVyZWZvcmUsIGVhY2ggVHVlc2RheSBoYXZlIGJlZW4gZGVzaWduYXRl ZCDigJxUZXJtaW5hdG9yIERheeKAnSBvciAnJ2ZhJ29ybWEnbyBkamVkaScnIG9uIHRoZSBMb2pi YW4gSVJDIGNoYXRyb29tLiBEdXJpbmcgVGVybWluYXRvciBEYXksIG1hbnkgcGVvcGxlIHRyeSAo YW5kIG9mdGVuIGZhaWwpIHRvIHJlbWVtYmVyIHdyaXRpbmcgb3V0IGFsbCBmYSdvcm1hJ28gd2l0 aCBzb21lIHZlcnkgdmVyYm9zZSBjb252ZXJzYXRpb25zIGFzIGEgcmVzdWx0LgoKCgoKCiEhTG9q YmFuIExlc3NvbnMgLSBMZXNzb24gbmluZSAoc3VtdGNpdGEpCgpTbyBmYXIgd2UgaGF2ZSBiZWVu IGRvaW5nIHByZXR0eSB3ZWxsIHdpdGggdGhlIHNlbGJyaSB3ZSBoYXZlIGhhZCBhdCBoYW5kLiBI b3dldmVyLCB0aGVyZSBpcyBhIGZpbml0ZSBhbW91bnQgb2YgZGVmaW5lZCBzZWxicmkgb3V0IHRo ZXJlLCBhbmQgaW4gbWFueSBjYXNlcyB0aGUgc3VtdGkgcGxhY2VzIGFyZSBub3QgdXNlZnVsIGZv ciB3aGF0IHdlIGhhZCBpbiBtaW5kLiBXaGF0IGlmLCBzYXksIGkgd2FudCB0byBzYXkgdGhhdCBJ IGFtIHRyYW5zbGF0aW5nIHVzaW5nIGEgY29tcHV0ZXI/IFRoZXJlIGlzIG5vIHBsYWNlIGluIHRo ZSBzdHJ1Y3R1cmUgb2YgJydmYW52YScnIHRvIHNwZWNpZnkgd2hhdCB0b29sIEkgdHJhbnNsYXRl IHdpdGgsIHNpbmNlLCBtb3N0IG9mIHRoZSB0aW1lLCB0aGF0IGlzIG5vdCBuZWNlc3NhcnkuIE5v dCB0byB3b3JyeSwgdGhpcyBsZXNzb24gaXMgb24gaG93IHRvIGFkZCBhZGRpdGlvbmFsIHN1bXRp IHBsYWNlcyB0byB0aGUgc2VsYnJpLgoKCgpUaGUgbW9zdCBiYXNpYyB3YXkgdG8gYWRkIHN1bXRp IHBsYWNlcyBhcmUgd2l0aCAnJ2ZpJ28gU0VMQlJJIGZlJ3UnJyAoeWVzLCBhbm90aGVyIGV4YW1w bGUgb2YgYSBmYSdvcm1hJ28sICcnZmUndScnLiBJdCdzIGFsbW9zdCBuZXZlciBuZWNlc3Nhcnks IHNvIHRoaXMgbWlnaHQgYmUgdGhlIGxhc3QgdGltZSB5b3UgZXZlciBzZWUgaXQuKQoKSW4gYmV0 d2VlbiB0aGVzZSB0d28gd29yZHMgZ29lcyBhIHNlbGJyaSwgYW5kIGxpa2UgJydsbyBTRUxCUkkg a3UnJywgJydmaSdvIFNFTEJSSSBmZSd1JycgZXh0cmFjdHMgdGhlIHgxIG9mIHRoZSBzZWxicmkg cHV0IGludG8gaXQuIEhvd2V2ZXIsIHdpdGggJydmaSdvIFNFTEJSSSBmZSd1JycsIHRoZSBzZWxi cmkgcGxhY2UgaXMgY29udmVydGVkLCBub3QgdG8gYSBzdW10aSwgYnV0IHRvIGEgJydzdW10Y2l0 YScnLCBtZWFuaW5nIOKAnHN1bXRpLWxhYmVs4oCdLCB3aXRoIHRoZSBwbGFjZSBzdHJ1Y3R1cmUg b2YgdGhlIHgxIG9mIHRoZSBzZWxicmkgaXQgY29udmVydGVkLiBUaGlzICcnc3VtdGNpdGEnJyB0 aGVuIGFic29yYnMgdGhlIG5leHQgc3VtdGkuIE9uZSBjb3VsZCBzYXkgdGhhdCB1c2luZyBhICcn c3VtdGNpdGEnJywgeW91IGltcG9ydCBhIHN1bXRpIHBsYWNlIGZyb20gYW5vdGhlciBzZWxicmks IGFuZCBhZGQgaXQgdG8gdGhlIGJyaWRpIGJlaW5nIHNhaWQuCgpOb3RlOiBTb21ldGltZXMsIGVz cGVjaWFsbHkgaW4gb2xkZXIgdGV4dHMsIHRoZSB0ZXJtIOKAnHRhZ+KAnSBvciDigJxtb2RhbOKA nSBpcyB1c2VkIGZvciAnJ3N1bXRjaXRhJycuIElnbm9yZSB0aG9zZSBwdW55IEVuZ2xpc2ggZXhw cmVzc2lvbnMuIFdlIHRlYWNoIHByb3BlciBMb2piYW4gaGVyZS4KCgoKV2hpbGUgaXQgaXMgaGFy ZCB0byBncmFzcCB0aGUgcHJvY2VzcyBmcm9tIHJlYWRpbmcgYWJvdXQgaXQsIGFuIGV4YW1wbGUg Y2FuIHBlcmhhcHMgc2hvdyBpdHMgYWN0dWFsIHNpbXBsaWNpdHk6CgpfXycnc2thbWknJ19fIOKA nHgxIGlzIGEgY29tcHV0ZXIgZm9yIHB1cnBvc2UgeDLigJ0KCl9fJydwaWxubycnX18g4oCceDEg dXNlcyB4MiBhcyBhIHRvb2wgZm9yIGRvaW5nIHgz4oCdCgoKCicnbWkgZmFudmEgdGkgZmknbyBz ZSBwaWxubyB7ZmUndX0gbG8gc2thbWkge2t1fXt2YXV9JycgLSDigJxJIHRyYW5zbGF0ZSB0aGlz IHdpdGggYSBjb21wdXRlcuKAnSBUaGUgeDIgb2YgJydwaWxubycnLCB3aGljaCBpcyB0aGUgeDEg b2YgJydzZSBwaWxubycnIGlzIGEgcGxhY2Ugc3RydWN0dXJlIGZvciBhIHRvb2wgYmVpbmcgdXNl ZCBieSBzb21lb25lLiBUaGlzIHBsYWNlIHN0cnVjdHVyZSBpcyBjYXB0dXJlZCBieSAnJ2ZpJ28g U0VMQlJJIGZlJ3UnJywgYWRkZWQgdG8gdGhlIG1haW4gc2VsYnJpLCBhbmQgdGhlbiBmaWxsZWQg YnkgJydsbyBza2FtaScnLiBUaGUgaWRlYSBvZiAnJ3N1bXRjaXRhJycgaXMgc29tZXRpbWVzIGV4 cHJlc3NlZCBpbiBFbmdsaXNoIHVzaW5nIHRoZSBmb2xsb3dpbmcgdHJhbnNsYXRpb246CgrigJxJ IHRyYW5zbGF0ZSB0aGlzIHdpdGgtdG9vbDogQSBjb21wdXRlcuKAnQoKCgpBICcnc3VtdGNpdGEn JyBjYW4gb25seSBhYnNvcmIgb25lIHN1bXRpLCB3aGljaCBpcyBhbHdheXMgdGhlIGZvbGxvd2lu ZyBvbmUuIEFsdGVybmF0aXZlbHksIG9uZSBjYW4gdXNlIHRoZSAnJ3N1bXRjaXRhJycgY29uc3Ry dWN0IGJ5IGl0c2VsZiB3aXRob3V0IHN1bXRpLiBJbiB0aGlzIGNhc2UgeW91IG5lZWQgdG8gcHV0 IGl0IGVpdGhlciBiZWZvcmUgdGhlIHNlbGJyaSBvciB0ZXJtaW5hdGUgaXQgd2l0aCAnJ2t1Jycu IEluIHN1Y2ggY2FzZSBvbmUgY2FuIHRoaW5rIGFzIGlmIHRoZSBzdW10Y2l0YSBoYXMgdGhlIHdv cmQgJyd6bydlJycgYXMgdGhlIHN1bXRpLgoKCgpfXycnenVrdGUnJ19fIOKAnHgxIGlzIGEgdm9s aXRpb25hbCBlbnRpdHkgY2Fycnlpbmcgb3V0IGFjdGlvbiB4MiBmb3IgcHVycG9zZSB4M+KAnQoK X18nJ3phcmNpJydfXyDigJx4MSBpcyBhIG1hcmtldC9zdG9yZS9leGNoYW5nZS9zaG9wKHMpIHNl bGxpbmcvdHJhZGluZyAoZm9yKSB4Miwgb3BlcmF0ZWQgYnkvd2l0aCBwYXJ0aWNpcGFudHMgeDPi gJ0KCgoKJydmaSdvIHp1a3RlIHtmZSd1fSBrdSBsbyBwcmVudSB7a3V9IGN1IGtsYW1hIGxvIHph cmNpIHtrdX17dmF1fScnIC0g4oCcQnkgdGhlaXIgb3duIHZvbGl0aW9uLCBhIHBlcnNvbiBpcyBn b2luZyB0byB0aGUgc3RvcmXigJ0KCgoKTm90ZSB0aGF0IHRoZXJlIGlzICcna3UnJyBpbiAnJ2Zp J28genVrdGUge2ZlJ3V9IGt1JycuIFdpdGhvdXQgaXQgdGhlIHN1bXRjaXRhIHdvdWxkIGhhdmUg YWJzb3JiZWQgJydsbyBwcmVudSB7a3V9JycgYW5kIHdlIGRvbid0IHdhbnQgdGhhdC4KCgoKV2Ug Y2FuIHNheSB0aGUgc2FtZSBpbiBvdGhlciB3b3JkczoKCgoKJydmaSdvIHp1a3RlIHtmZSd1fSB6 bydlIGxvIHByZW51IHtrdX0gY3Uga2xhbWEgbG8gemFyY2kge2t1fXt2YXV9JycgCgonJ2xvIHBy ZW51IHtrdX0gY3UgZmknbyB6dWt0ZSB7ZmUndX0ga2xhbWEgbG8gemFyY2kge2t1fXt2YXV9Jycg CgoKCnJldGFpbmluZyB0aGUgbWVhbmluZy4KCgoKV2hhdCBkb2VzICcnbWkgamltcGUgZmkgbG8g c2thbWkgZmknbyBzZSB0YXZsYSB7ZmUndX0gbWknJyBzdGF0ZT8KCgoKQW5zd2VyOiB+fmdyZXks Z3JleTrigJxJIHVuZGVyc3RhbmQgc29tZXRoaW5nIGFib3V0IGNvbXB1dGVycywgc3Bva2VuIHRv IG1l4oCdfn4KCgoKUHV0dGluZyB0aGUgJydzdW10Y2l0YScnIHJpZ2h0IGluIGZyb250IG9mIHRo ZSBzZWxicmkgYWxzbyBtYWtlcyBpdCBzZWxmLXRlcm1pbmF0ZSwgc2luY2Ugc3VtdGNpdGEgb25s eSBjYW4gYWJzb3JiIHN1bXRpLCBhbmQgbm90IHNlbGJyaS4gVGhpcyBmYWN0IHdpbGwgYmUgb2Yg aW1wb3J0YW5jZSBpbiBuZXh0IGxlc3NvbiwgYXMgeW91IHdpbGwgc2VlLgoKCgpBY3R1YWxseSwg JydmaSdvJycgaXMgbm90IHVzZWQgdmVyeSBvZnRlbiBkZXNwaXRlIGl0cyBmbGV4aWJpbGl0eS4g V2hhdCBJUyB1c2VkIHZlcnkgb2Z0ZW4sIHRob3VnaCwgYXJlIEJBSS4gQkFJIGlzIGEgY2xhc3Mg b2YgTG9qYmFuIHdvcmRzLCB3aGljaCBpbiB0aGVtc2VsdmVzIGFjdCBhcyAnJ3N1bXRjaXRhJycu IEFuIGV4YW1wbGUgb2YgdGhpcyBpcyAnJ3p1J2UnJywgdGhlIEJBSSBmb3IgJyd6dWt0ZScnLiBH cmFtYXRpY2FsbHksICcnenUnZScnIGlzIHRoZSBzYW1lIGFzICcnZmknbyB6dWt0ZSBmZSd1Jycu IFRodXMsIHRoZSBhYm92ZSBleGFtcGxlIGNvdWxkIGJlIHJlZHVjZWQgdG86CgonJ3p1J2Uga3Ug bG8gcHJlbnUge2t1fSBjdSBrbGFtYSBsbyB6YXJjaSB7a3V9e3ZhdX0nJy4gVGhlcmUgZXhpc3Qg c29tZXRoaW5nIGxpa2UgNjAgQkFJLCBhbmQgYSBsb3Qgb2YgdGhlc2UgYXJlIHZlcnkgdXNlZnVs IGluZGVlZC4gRnVydGVybW9yZSwgQkFJIGNhbiBhbHNvIGJlIGNvbnZlcnRlZCB3aXRoICcnc2Un JyBhbmQgZnJpZW5kcywgbWVhbmluZyB0aGF0ICcnc2UgenUnZScnIGlzIGVxdWFsIHRvICcnZmkn byBzZSB6dWt0ZSBmZSd1JycsIHdoaWNoIHJlc3VsdHMgaW4gYSBncmVhdCBkZWFsIG1vcmUgQkFJ LgoKISFMb2piYW4gTGVzc29ucyAtIExlc3NvbiB0ZW4gKFBVLCBGQWhBLCBaSSwgVkEsIFpFaEEs IFZFaEEpCgpIb3cgdW5mYW1pbGlhciB0byB0aGUgRW5nbGlzaC1zcGVha2VyIGEgbGFuZ3VhZ2Ug TG9qYmFuIGlzIHdoZW4gb25lIGNhbiByZWFkIHRocm91Z2ggbmluZSBsZXNzb25zIG9mIExvamJh biBncmFtbWFyIHdpdGhvdXQgbWVldGluZyBhIHRlbnNlIG9uY2UuIFRoaXMgaXMgYmVjYXVzZSwg dW5saWtlIG1hbnkgbmF0dXJhbCBsYW5ndWFnZXMgKG1vc3QgSW5kby1FdXJvcGVhbiBvbmVzLCBm b3IgaW5zdGFuY2UpLCBhbGwgdGVuc2VzIGluIExvamJhbiBhcmUgb3B0aW9uYWwuIFNheWluZyAn J21pIGNpdGthIGxvIGNpcmxhIHtrdX0nJyBjYW4gbWVhbiDigJxJIGVhdCBjaGVlc2XigJ0gb3Ig 4oCcSSBhdGUgdGhlIGNoZWVzZeKAnSBvciDigJxJIGFsd2F5cyBlYXQgY2hlZXNl4oCdIG9yIOKA nEluIGEgbW9tZW50LCBpIHdpbGwgaGF2ZSBqdXN0IGZpbmlzaGVkIGVhdGluZyBjaGVlc2XigJ0u IENvbnRleHQgcmVzb2x2ZXMgd2hhdCBpcyBjb3JyZWN0LCBhbmQgaW4gbW9zdCBjb252ZXJzYXRp b24sIHRlbnNlcyBhcmUgbm90IG5lZWRlZCBhdCBhbGwuIEhvd2V2ZXIsIHdoZW4gaXQncyBuZWVk ZWQgaXQncyBuZWVkZWQsIGFuZCBpdCBtdXN0IGJlIHRhdWdodC4gRnVydGhlcm1vcmUsIExvamJh biB0ZW5zZXMgYXJlIHVudXN1YWwgYmVjYXVzZSB0aGV5IHRyZWF0IHRpbWUgYW5kIHNwYWNlIGZ1 bmRhbWVudGFsbHkgdGhlIHNhbWUgLSBzYXlpbmcgdGhhdCBJIHdvcmtlZCBhIGxvbmcgdGltZSBh Z28gaXMgbm90IGdyYW1tYXRpY2FsbHkgZGlmZmVyZW50IHRoYW4gc2F5aW5nIEkgd29yayBmYXIg YXdheSB0byB0aGUgbm9ydGguCgpMaWtlIG1hbnkgb3RoZXIgbGFuZ3VhZ2VzLCB0aGUgTG9qYmFu IHRlbnNlIHN5c3RlbSBpcyBwZXJoYXBzIHRoZSBtb3N0IGRpZmZpY3VsdCBwYXJ0IG9mIHRoZSBs YW5ndWFnZS4gVW5saWtlIG1hbnkgb3RoZXIgbGFuZ3VhZ2VzIHRob3VnaCwgaXQncyBwZXJmZWN0 bHkgcmVndWxhciBhbmQgbWFrZXMgc2Vuc2UuIFNvIGZlYXIgbm90LCBmb3IgaXQgd2lsbCBub3Qg aW52b2x2ZSBzd2VhdGluZyB0byBsZWFybiBob3cgdG8gbW9kaWZ5IHRoZSBzZWxicmkgb3IgYW55 dGhpbmcgc2lsbHkgbGlrZSB0aGF0LgoKCgpObywgaW4gdGhlIExvamJhbiB0ZW5zZSBzeXN0ZW0s IGFsbCB0ZW5zZXMgYXJlIHN1bXRjaXRhLCB3aGljaCB3ZSBoYXZlIGNvbnZlbmllbnRseSBqdXN0 IG1hZGUgb3Vyc2VsdmVzIGZhbWlsaWFyIHdpdGguIE9rYXkgb2theSwgdGVjaG5pY2FsbHksIHRl bnNlcyBhcmUgc2xpZ2h0bHkgZGlmZmVyZW50IGZyb20gb3RoZXIgc3VtdGNpdGEsIGJ1dCB0aGlz IGRpZmZlcmVuY2UgaXMgYWxtb3N0IGluc2lnbmlmaWNhbnQsIGFuZCB3b24ndCBiZSBleHBsYWlu ZWQgdW50aWwgbGF0ZXIuIEluIG1vc3QgYXNwZWN0cyB0aGV5IGFyZSBsaWtlIGFsbCBvdGhlciBz dW10Y2l0YTsgdGhleSBhcmUgdGVybWluYXRlZCBieSAnJ2t1JycsIG1ha2luZyBpdCBleHBsaWNp dCB0aGF0IFBVIGlzIHRlcm1pbmF0ZWQgYnkgJydrdScnLgoKVGhlcmUgYXJlIG1hbnkgZGlmZmVy ZW50IGtpbmRzIG9mIHRlbnNlLXN1bXRjaXRhLCBzbyBsZXQncyBzdGFydCBhdCB0aGUgb25lcyBt b3N0IGZhbWlsaWFyIHRvIEVuZ2xpc2gtc3BlYWtlcnMuCgpfXycncHUnJ19fIC0gc3VtdGNpdGE6 IGJlZm9yZSB7c3VtdGl9CgpfXycnY2EnJ19fIC0gc3VtdGNpdGE6IGF0IHRoZSBzYW1lIHRpbWUg YXMge3N1bXRpfQoKX18nJ2JhJydfXyAtIHN1bXRjaXRhOiBhZnRlciB7c3VtdGl9CgoKClRoZXNl IGFyZSBsaWtlIHRoZSBFbmdsaXNoIGNvbmNlcHRzIOKAnGJlZm9yZeKAnSwg4oCcbm934oCdIGFu ZCDigJxhZnRlcuKAnS4gSW4gYWN0dWFsaXR5IHRob3VnaCwgb25lIGNvdWxkIGFyZ3VlIHRoYXQg dHdvIHBvaW50LWxpa2UgZXZlbnRzIGNhbiBuZXZlciBvY2N1ciBleGFjdGx5IHNpbXVsdGFuZW91 c2x5LCByZW5kZXJpbmcgJydjYScnIHVzZWxlc3MuIEJ1dCAnJ2NhJycgZXh0ZW5kcyBzbGlnaHRs eSBpbnRvIHRoZSBwYXN0IGFuZCB0aGUgZnV0dXJlLCBtZWFuaW5nIGp1c3Qg4oCcYWJvdXQgbm93 4oCdLiBUaGlzIGlzIGJlY2F1c2UgaHVtYW4gYmVpbmdzIGRvbid0IHBlcmNlaXZlIHRpbWUgaW4g YSBwZXJmZWN0bHkgbG9naWNhbCB3YXksIGFuZCB0aGUgTG9qYmFuIHRlbnNlIHN5c3RlbSByZWZs ZWN0cyB0aGF0LgoKCgpTaWRlIG5vdGU6IEl0IHdhcyBhY3R1YWxseSBzdWdnZXN0ZWQgbWFraW5n IHRoZSBMb2piYW4gdGVuc2Ugc3lzdGVtIHJlbGF0aXZpc3RpYy4gVGhhdCBpZGVhLCBob3dldmVy LCB3YXMgZHJvcHBlZCwgYmVjYXVzZSBpdCBpcyBjb3VudGVyLWludHVpdGl2ZSwgYW5kIHdvdWxk IG1lYW4gdGhhdCB0byBsZWFybiBMb2piYW4sIG9uZSB3b3VsZCBoYXZlIHRvIGxlYXJuIHRoZSB0 aGVvcnkgb2YgcmVsYXRpdml0eSBmaXJzdC4gIAoKCgpTbywgaG93IHdvdWxkIHlvdSBzYXkg4oCc SSBleHByZXNzIHRoaXMgYWZ0ZXIgSSBjYW1lIGhlcmU/4oCdIChwb2ludGluZyB0byBhIHBhcGVy KQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnbWkgY3Vza3UgdGkgYmEgbG8gbnUgbWkga2xhbWEg dGkge3ZhdX0ge2tlaX0ge2t1fSB7dmF1fScnfn4KCgoKVXN1YWxseSB3aGVuIHNwZWFraW5nLCB3 ZSBkbyBub3QgbmVlZCB0byBzcGVjaWZ5IHdoaWNoIGV2ZW50IGluIHRoZSBwYXN0IHRoaXMgYWN0 aW9uIGlzIHJlbGF0aXZlIHRvLiBJbjog4oCcSSBnYXZlIGEgY29tcHV0ZXIgYXdheeKAnSwgd2Ug Y2FuIGFzc3VtZSB0aGF0IHRoZSBhY3Rpb24gaGFwcGVuZWQgcmVsYXRpdmUgdG8g4oCcbm934oCd LCBhbmQgdGh1cyB3ZSBjYW4gZWxpZGUgdGhlIHN1bXRpIG9mIHRoZSBzdW10Y2l0YSwgYmVjYXVz ZSBpdCdzIG9idmlvdXM6CgonJ3B1IGt1IG1pIGR1bmRhIGxvIHNrYW1pIHtrdX0ge3ZhdX0nJyBv cgoKJydtaSBkdW5kYSBsbyBza2FtaSB7a3V9IHB1IHtrdX0ge3ZhdX0nJyBvciwgbW9yZSBjb21t b25seQoKJydtaSBwdSB7a3V9IGR1bmRhIGxvIHNrYW1pIHtrdX0ge3ZhdX0nJy4gVGhlIHN1bXRp IHdoaWNoIGZpbGxzIHRoZSBzdW10Y2l0YSBpcyBhbiBpbXBsaWVkICcnem8nZScnLCB3aGljaCBp cyBhbG1vc3QgYWx3YXlzIHVuZGVyc3Rvb2QgYXMgcmVsYXRpdmUgdG8gdGhlIHNwZWFrZXIncyB0 aW1lIGFuZCBwbGFjZSAodGhpcyBpcyBlc3BlY2lhbGx5IGltcG9ydGFudCB3aGVuIHNwZWFraW5n IGFib3V0IGxlZnQgYW5kIHJpZ2h0KS4gSWYgc3BlYWtpbmcgYWJvdXQgc29tZSBldmVudHMgdGhh dCBoYXBwZW5lZCBzb21lIG90aGVyIHRpbWUgdGhhbiB0aGUgcHJlc2VudCwgaXQgaXMgc29tZXRp bWVzIGFzc3VtZWQgdGhhdCBhbGwgdGVuc2VzIGFyZSByZWxhdGl2ZSB0byB0aGF0IGV2ZW50IHdo aWNoIGlzIGJlaW5nIHNwb2tlbiBhYm91dC4gSW4gb3JkZXIgdG8gY2xhcmlmeSB0aGF0IGFsbCB0 ZW5zZXMgYXJlIHJlbGF0aXZlIHRvIHRoZSBzcGVha2VyJ3MgY3VycmVudCBwb3NpdGlvbiwgdGhl IHdvcmQgJyduYXUnJyBjYW4gYmUgdXNlZCBhdCBhbnkgdGltZS4gQW5vdGhlciB3b3JkLCAnJ2tp JycgbWFya3MgYSB0ZW5zZSB3aGljaCBpcyB0aGVuIGNvbnNpZGVyZWQgdGhlIG5ldyBzdGFuZGFy ZC4gVGhhdCB3aWxsIGJlIHRhdWdodCB3YXkgbGF0ZXIuCgpfXycnbmF1JydfXyB1cGRhdGVzIHRl bXBvcmFsIGFuZCBzcGFjaWFsIGZyYW1lIG9mIHJlZmVyZW5jZSB0byB0aGUgc3BlYWtlcidzIGN1 cnJlbnQgaGVyZSBhbmQgbm93LgoKCgpfXycnZ3VnZGUnJ19fID0g4oCceDEgaXMgdGhlIGNvdW50 cnkgb2YgcGVvcGxlIHgyIHdpdGggbGFuZC90ZXJyaXRvcnkgeDPigJ0KCgoKQWxzbyBub3RlIHRo YXQgJydtaSBwdSB7a3V9IGtsYW1hIGxvIG1lcmtvIGd1Z2RlIHtrdX0ge3ZhdX0nJywg4oCcSSB3 ZW50IHRvIEFtZXJpY2HigJ0sIGRvZXMgbm90IGltcGx5IHRoYXQgSSdtIG5vdCBzdGlsbCB0cmF2 ZWxpbmcgdG8gVVNBLCBvbmx5IHRoYXQgaXQgd2FzIGFsc28gdHJ1ZSBzb21lIHRpbWUgaW4gdGhl IHBhc3QsIGZvciBpbnN0YW5jZSBmaXZlIG1pbnV0ZXMgYWdvLgoKCgpBcyBtZW50aW9uZWQsIHNw YWNpYWwgYW5kIHRlbXBvcmFsIHRpbWUgdGVuc2VzIGFyZSB2ZXJ5IG11Y2ggYWxpa2UuIENvbnRy YXN0IHRoZSBwcmV2aW91cyB0aHJlZSB0aW1lIHRlbnNlcyB3aXRoIHRoZXNlIGZvdXIgc3BhY2lh bCB0ZW5zZXM6CgpfXycnenUnYScnX18gc3VtdGNpdGE6IGxlZnQgb2Yge3N1bXRpfQoKX18nJ2Nh J3UnJ19fIHN1bXRjaXRhOiBpbiBmcm9udCBvZiB7c3VtdGl9CgpfXycncmkndScnX18gc3VtdGNp dGE6IHJpZ2h0IG9mIHtzdW10aX0KCl9fJydidSd1JydfXyBzdW10Y2l0YTogYXQgdGhlIHNhbWUg cGxhY2UgYXMge3N1bXRpfSAoc3BhY2lhbCBlcXVpdmFsZW50IG9mICcnY2EnJykKCgoKX18nJ28n bycnX186IGF0dGl0dWRpbmFsOiBjb21wbGV4IHB1cmUgZW1vdGlvbjogcGF0aWVuY2UgLSB0b2xl cmFuY2UgLSBhbmdlcgoKCgpXaGF0IHdvdWxkICcnLm8nb25haSByaSd1IHtrdX0gbnUgbG8gcHJl bnUge2t1fSBjdSBkYXJ4aSBsbyBnZXJrdSBwdSB7a3V9IHtrdX0ge3ZhdX0ge2tlaX0ge3ZhdX0n JyBtZWFuPyAobm90aWNlIHRoZSBmaXJzdCBlbGlkZWQga3UhKQoKX18nJ2RhcnhpJydfXyB4MSBi ZWF0cy9oaXRzIHgyIHdpdGggaW5zdHJ1bWVudCB4MyBhdCBsb2N1cyB4NAoKCgpBbnN3ZXI6IH5+ Z3JleSxncmV5OuKAnHthbmdlciF9IFRvIHRoZSByaWdodCAob2Ygc29tZXRoaW5nLCBwcm9iYWJs eSBtZSkgYW5kIGluIHRoZSBwYXN0IChvZiBzb21lIGV2ZW50KSwgc29tZXRoaW5nIGlzIGFuIGV2 ZW50IG9mIGEgcGVyc29uIGJlYXRpbmcgYSBkb2cu4oCdIG9yIOKAnEEgbWFuIGhpdCBhIGRvZyB0 byBteSByaWdodCHigJ1+fgoKCgpJZiB0aGVyZSBhcmUgc2V2ZXJhbCB0ZW5zZSBzdW10Y2l0YSBp biBvbmUgYnJpZGksIHRoZSBydWxlIGlzIHRoYXQgeW91IHJlYWQgdGhlbSBmcm9tIGxlZnQgdG8g cmlnaHQsIHRoaW5raW5nIGl0IGFzIGEgc28gY2FsbGVkIOKAnGltYWdpbmFyeSBqb3VybmV54oCd LCBXaGVyZSB5b3UgYmVnaW4gYXQgYW4gaW1wbGllZCBwb2ludCBpbiB0aW1lIGFuZCBzcGFjZSAo ZGVmYXVsdDogdGhlIHNwZWFrZXIncyBub3cgYW5kIGhlcmUpLCBhbmQgdGhlbiBmb2xsb3cgdGhl IHN1bXRjaXRhIG9uZSBhdCBhIHRpbWUgZnJvbSBsZWZ0IHRvIHJpZ2h0LgoKRXhhbXBsZQoKJydt aSBwdSB7a3V9IGJhIHtrdX0gamltcGUgZmkgbG8gbG9qYm8gZmEnb3JtYSdvIHtrdX0ge3ZhdX0n JyA9IOKAnEF0IHNvbWUgdGltZSBpbiB0aGUgcGFzdCwgSSB3aWxsIGJlIGFib3V0IHRvIGtub3cg YWJvdXQgZmEnb3JtYSdvcy7igJ0KCicnbWkgYmEge2t1fSBwdSB7a3V9IGppbXBlIGZpIGxvIGxv amJvIGZhJ29ybWEnbyB7a3V9IHt2YXV9Jycg4oCcQXQgc29tZSBwb2ludCBpbiB0aGUgZnV0dXJl LCBJIHdpbGwgaGF2ZSB1bmRlcnN0b29kIGFib3V0IGZhJ29ybWEnb3Mu4oCdCgpTaW5jZSB3ZSBk byBub3Qgc3BlY2lmeSB0aGUgYW1vdW50IG9mIHRpbWUgd2UgbW92ZSBiYWNrIG9yIGZvcnRoLCB0 aGUgdW5kZXJzdGFuZGluZyBjb3VsZCBpbiBib3RoIGNhc2VzIGhhcHBlbiBpbiB0aGUgZnV0dXJl IG9yIHRoZSBwYXN0IG9mIHRoZSBwb2ludCBvZiByZWZlcmVuY2UuCgoKCkFsc28sIGlmIHNwYWNp YWwgYW5kIHRlbXBvcmFsIHRlbnNlcyBhcmUgbWl4ZWQsIHRoZSBydWxlIGlzIHRvIGFsd2F5cyBw dXQgdGVtcG9yYWwgYmVmb3JlIHNwYWNpYWwuIElmIHRoaXMgcnVsZSBpcyB2aW9sYXRlZCwgaXQg Y2FuIHNvbWV0aW1lcyByZXN1bHQgaW4gc3ludGFjdGljYWwgYW1iaWd1aXR5LCB3aGljaCBMb2pi YW4gZG9lcyBub3QgdG9sZXJhdGUuCgoKClN1cHBvc2Ugd2Ugd2FudCB0byBzcGVjaWZ5IHRoYXQg dGhlIGEgbWFuIGhpdCBhIGRvZyBqdXN0IGEgbWludXRlIGFnby4gVGhlIHdvcmRzICcnemknJywg Jyd6YScnIGFuZCAnJ3p1Jycgc3BlY2lmaWVzIGEgc2hvcnQsIHVuc3BlY2lmaWVkIChwcmVzdW1h Ymx5IG1lZGl1bSkgYW5kIGxvbmcgZGlzdGFuY2UgaW4gdGltZS4gTm90aWNlIHRoZSB2b3dlbCBv cmRlciAnJ2knJywgJydhJycgYW5kICcndScnLiBUaGlzIG9yZGVyIGFwcGVhcnMgYWdhaW4gYW5k IGFnYWluIGluIExvamJhbiwgYW5kIG1pZ2h0IGJlIHdvcnRoIHRvIG1lbW9yaXplLiDigJxTaG9y dOKAnSBhbmQg4oCcbG9uZ+KAnSBpbiBhcmUgYWx3YXlzIGNvbnRleHQgZGVwZW5kZW50LCByZWxh dGl2ZSBhbmQgc3ViamVjdGl2ZS4gVHdvIGh1bmRyZWQgeWVhcnMgaXMgYSBzaG9ydCB0aW1lIGZv ciBhIHNwZWNpZXMgdG8gZXZvbHZlLCBidXQgYSBsb25nIHRpbWUgdG8gd2FpdCBmb3IgdGhlIGJ1 cy4KCl9fJyd6aScnX18gc3VtdGNpdGE6IE9jdXJyaW5nIHRoZSBzbWFsbCBkaXN0YW5jZSBvZiB7 c3VtdGl9IGluIHRpbWUgZnJvbSBwb2ludCBvZiByZWZlcmVuY2UgCgpfXycnemEnJ19fIHN1bXRj aXRhOiBPY3VycmluZyB0aGUgdW5zcGVjaWZpZWQobWVkaXVtKSBkaXN0YW5jZSBvZiB7c3VtdGl9 IGluIHRpbWUgZnJvbSBwb2ludCBvZiByZWZlcmVuY2UgCgpfXycnenUnJ19fIHN1bXRjaXRhOiBP Y3VycmluZyB0aGUgZmFyIGRpc3RhbmNlIG9mIHtzdW10aX0gaW4gdGltZSBmcm9tIHRoZSBwb2lu dCBvZiByZWZlcmVuY2UgCgoKClNpbWlsYXJseSwgc3BhY2lhbCBkaXN0YW5jZSBpcyBtYXJrZWQg YnkgJyd2aScnLCAnJ3ZhJycgYW5kICcndnUnJyBmb3Igc2hvcnQsIHVuc3BlY2lmaWVkIChtZWRp dW0pIGFuZCBsb25nIGRpc3RhbmNlIGluIHNwYWNlLgoKX18nJ3ZpJydfXyBzdW10Y2l0YTogT2N1 cnJpbmcgdGhlIHNtYWxsIGRpc3RhbmNlIG9mIHtzdW10aX0gaW4gc3BhY2UgZnJvbSBwb2ludCBv ZiByZWZlcmVuY2UgCgpfXycndmEnJ19fIHN1bXRjaXRhOiBPY3VycmluZyB0aGUgdW5zcGVjaWZp ZWQobWVkaXVtKSBkaXN0YW5jZSBvZiB7c3VtdGl9IGluIHNwYWNlIGZyb20gcG9pbnQgb2YgcmVm ZXJlbmNlIAoKX18nJ3Z1JydfXyBzdW10Y2l0YTogT2N1cnJpbmcgdGhlIGZhciBkaXN0YW5jZSBv ZiB7c3VtdGl9IGluIHNwYWNlIGZyb20gdGhlIHBvaW50IG9mIHJlZmVyZW5jZSAKCl9fJydndW5r YScnX18g4oCceDEgd29ya3MgYXQgeDIgd2l0aCBvYmplY3RpdmUgeDPigJ0KCgoKVHJhbnNsYXRl OiAnJ2JhIHtrdX0gemEga3UgbWkgdnUge2t1fSBndW5rYSB7dmF1fScnCgoKCkFuc3dlcjogfn5n cmV5LGdyZXk64oCcU29tZSB0aW1lIGluIHRoZSBmdXR1cmUsIEkgd2lsbCB3b3JrIGEgcGxhY2Ug bG9uZyBhd2F54oCdfn4KCk5vdGU6IFBlb3BsZSByYXJlbHkgdXNlICcnemknJywgJyd6YScnIG9y ICcnenUnJyB3aXRob3V0IGEgJydwdScnIG9yICcnYmEnJyBpbiBmcm9udCBvZiBpdC4gVGhpcyBp cyBiZWNhdXNlIG1vc3QgcGVvcGxlIGFsd2F5cyBuZWVkIHRvIHNwZWNpZnkgcGFzdCBvciBmdXR1 cmUgaW4gdGhlaXIgbmF0aXZlIGxhbmd1YWdlLiBXaGVuIHlvdSB0aGluayBhYm91dCBpdCBMb2pi YW5pY2FsbHksIG1vc3Qgb2YgdGhlIHRpbWUgdGhlIHRpbWUtZGlyZWN0aW9uIGlzIG9idmlvdXMs IGFuZCB0aGUgJydwdScnIG9yICcnYmEnJyBzdXBlcmZsdW91cyEKCgoKVGhlIG9yZGVyIGluIHdo aWNoIGRpcmVjdGlvbi1zdW10Y2l0YSBhbmQgZGlzdGFuY2Utc3VtdGNpdGEgYXJlIHNhaWQgbWFr ZXMgYSBkaWZmZXJlbmNlLiBSZW1lbWJlciB0aGF0IHRoZSBtZWFuaW5ncyBvZiBzZXZlcmFsIHRl bnNlIHdvcmRzIHBsYWNlZCB0b2dldGhlciBhcmUgcGljdHVyZWQgYnkgYW4gaW1hZ2luYXJ5IGpv dXJuZXkgcmVhZGluZyBmcm9tIGxlZnQgdG8gcmlnaHQuIFRodXMgJydwdSB6dScnIGlzIOKAnGEg bG9uZyB0aW1lIGFnb+KAnSB3aGlsZSAnJ3p1IHB1JycgaXMg4oCcaW4gdGhlIHBhc3Qgb2Ygc29t ZSBwb2ludCBpbiB0aW1lIHdoaWNoIGlzIGEgbG9uZyB0aW1lIHRvd2FyZCB0aGUgZnV0dXJlIG9y IHRoZSBwYXN0IG9mIG5vd+KAnS4gSW4gdGhlIGZpcnN0IGV4YW1wbGUsICcncHUnJyBzaG93cyB0 aGF0IHdlIGJlZ2luIGluIHRoZSBwYXN0LCAnJ3p1JycgdGhlbiB0aGF0IGl0IGlzIGEgbG9uZyB0 aW1lIGJhY2t3YXJkcy4gSW4gdGhlIHNlY29uZCBleGFtcGxlLCAnJ3p1Jycgc2hvd3MgdGhhdCB3 ZSBiZWdpbiBhdCBzb21lIHBvaW50IGZhciBhd2F5IGluIHRpbWUgZnJvbSBub3csICcncHUnJyB0 aGVuLCB0aGF0IHdlIG1vdmUgYmFja3dhcmRzIGZyb20gdGhhdCBwb2ludC4gVGh1cyAnJ3B1IHp1 JycgaXMgYWx3YXlzIGluIHRoZSBwYXN0LiAnJ3p1IHB1JycgY291bGQgYmUgaW4gdGhlIGZ1dHVy ZS4gVGhlIGZhY3QgdGhhdCB0aGVzZSB0aW1lIHRlbnNlcyBjb21iaW5lIGluIHRoaXMgd2F5IGlz IG9uZSBvZiB0aGUgZGlmZmVyZW5jZXMgYmV0d2VlbiB0ZW5zZSBzdW10Y2l0YSBhbmQgb3RoZXIg c3VtdGNpdGEuIFRoZSBtZWFuaW5ncyBvZiBvdGhlciBzdW10Y2l0YSBhcmUgbm90IGFsdGVyZWQg YnkgdGhlIHByZXNlbmNlIG9mIGFkZGl0aW9uYWwgc3VtdGNpdGEgaW4gYSBicmlkaS4KCgoKQXMg YnJpZWZseSBpbXBsaWVkIGVhcmxpZXIsIGFsbCB0aGVzZSBjb25zdHJ1Y3RzIGJhc2ljYWxseSB0 cmVhdCBicmlkaSBhcyBpZiB0aGV5IHdlcmUgcG9pbnQtbGlrZSBpbiB0aW1lIGFuZCBzcGFjZS4g SW4gYWN0dWFsaXR5LCBtb3N0IGV2ZW50cyBwbGF5IG91dCBvdmVyIGEgc3BhbiBvZiB0aW1lIGFu ZCBzcGFjZS4gSW4gdGhlIGZvbGxvd2luZyBmZXcgcGFyYWdyYXBocywgd2Ugd2lsbCBsZWFybiBo b3cgdG8gc3BlY2lmeSBpbnRlcnZhbHMgb2YgdGltZSBhbmQgc3BhY2UuCgoKCl9fJyd6ZSdpJydf XyBzdW10Y2l0YTogc3Bhbm5pbmcgb3ZlciB0aGUgc2hvcnQgdGltZSBvZiB7c3VtdGl9CgpfXycn emUnYScnX18gc3VtdGNpdGE6IHNwYW5uaW5nIG92ZXIgdGhlIHVuc3BlY2lmaWVkIChtZWRpdW0p IHRpbWUgb2Yge3N1bXRpfQoKX18nJ3plJ3UnJ19fIHN1bXRjaXRhOiBzcGFubmluZyBvdmVyIHRo ZSBsb25nIHRpbWUgb2Yge3N1bXRpfQoKCgpfXycndmUnaScnX18gc3VtdGNpdGE6IHNwYW5uaW5n IG92ZXIgdGhlIHNob3J0IHNwYWNlIG9mIHtzdW10aX0KCl9fJyd2ZSdhJydfXyBzdW10Y2l0YTog c3Bhbm5pbmcgb3ZlciB0aGUgdW5zcGVjaWZpZWQgKG1lZGl1bSkgc3BhY2Ugb2Yge3N1bXRpfQoK X18nJ3ZlJ3UnJ19fIHN1bXRjaXRhOiBzcGFubmluZyBvdmVyIHRoZSBsb25nIHNwYWNlIG9mIHtz dW10aX0KCgoKU2l4IHdvcmRzIGF0IGEgdGltZSwgSSBrbm93LCBidXQgcmVtZW1iZXJpbmcgdGhl IHZvd2VsIHNlcXVlbmNlIGFuZCB0aGUgc2ltaWxhcml0eSBvZiB0aGUgaW5pdGlhbCBsZXR0ZXIg eiBmb3IgdGVtcG9yYWwgdGVuc2VzIGFuZCB2IGZvciBzcGFjaWFsIHRlbnNlcyBtaWdodCBoZWxw IHRoZSBtZW1vcml6aW5nLgoKX18nJy5vaScnX18gLSBhdHRpdHVkaW5hbDogcGFpbiAtIHBsZWFz dXJlCgoKClRyYW5zbGF0ZTogJycub2kgZGFpIGRvIHZlJ3Uge2t1fSBrbGFtYSBsbyBkb3RjbyBn dWdkZSB7a3V9IHplJ3Uge2t1fSB7dmF1fScnCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcT3Vj aCwgeW91IHNwZW5kIGEgbG9uZyB0aW1lIHRyYXZlbGluZyBhIGxvbmcgc3BhY2UgdG8gR2VybWFu eeKAnSB+fgoKCgpUaG91Z2ggbW9zdCBwZW9wbGUgYXJlIG5vdCBmYW1pbGlhciB3aXRoIHNwYWNp YWwgdGVuc2VzLCB0aGVzZSBuZXcgd29yZHMgY2FuIG9wZW4gdXAgZm9yIHNvbWUgcHJldHR5IHN3 ZWV0IHVzZXMuIE9uZSBjb3VsZCwgZm9yIGluc3RhbmNlLCB0cmFuc2xhdGUg4oCcVGhhdCdzIGEg YmlnIGRvZ+KAnSBhcyAnJ3RpIHZlJ3Uge2t1fSBnZXJrdSB7dmF1fScnLiBTYXlpbmc6IOKAnFRo aXMgdGhpbmcgZG9ncyBmb3IgYSBsb25nIHNwYWNl4oCdIG1ha2VzIHlvdSBzb3VuZCByZXRhcmRl ZCBpbiBFbmdsaXNoLCBidXQgd2VsbC1zcG9rZW4gaW4gTG9qYmFuIQoKCgonJ3plJ3UnJyBhbmQg aXRzIGJyb3RoZXJzIGFsc28gY29tYmluZSB3aXRoIG90aGVyIHRlbnNlcyB0byBmb3JtIGNvbXBv dW5kIHRlbnNlcy4gVGhlIHJ1bGUgZm9yICcnemUndScnIGFuZCB0aGUgb3RoZXJzIGFyZSB0aGF0 IGFueSB0ZW5zZXMgcHJlY2VkaW5nIGl0IG1hcmtzIGFuIGVuZHBvaW50IG9mIHRoZSBwcm9jZXNz IChyZWxhdGl2ZSB0byB0aGUgcG9pbnQgb2YgcmVmZXJlbmNlKSBhbmQgYW55IHRlbnNlcyBjb21p bmcgYWZ0ZXIgaXQgbWFya3MgdGhlIG90aGVyIGVuZHBvaW50IHJlbGF0aXZlIHRvIHRoZSBmaXJz dC4gVGhpcyBzaG91bGQgYmUgZGVtb25zdHJhdGVkIHdpdGggYSBjb3VwbGUgb2YgZXhhbXBsZXM6 CgonJy5vJ29jdSdpIGRvIGNpdGthIHB1IHtrdX0gemUndSB7a3V9IGJhIHtrdX0genUge2t1fSB7 dmF1fScnIC0g4oCce3RvbGVyYW5jZX0geW91IGVhdCBiZWdpbm5pbmcgaW4gdGhlIHBhc3QgYW5k IGZvciBhIGxvbmcgdGltZSBlbmRpbmcgYXQgc29tZSBwb2ludCBmYXIgaW50byB0aGUgZnV0dXJl IG9mIHdoZW4geW91IHN0YXJ0ZWTigJ0gb3Ig4oCcSG1wZiwgeW91IGF0ZSBmb3IgYSBsb25nIHRp bWXigJ0uIE9uZSBjYW4gYWxzbyBjb250cmFzdCAnJ2RvIGNhIHtrdX0gemUnaSB7a3V9IHB1IHtr dX0ga2xhbWEge3ZhdX0nJyB3aXRoICcnZG8gcHUge2t1fSB6ZSdpIHtrdX0gY2Ege2t1fSBrbGFt YSB7dmF1fScnLiBUaGUgZmlyc3QgZXZlbnQgb2YgdHJhdmVsaW5nIGhhcyBvbmUgZW5kcG9pbnQg aW4gdGhlIHByZXNlbnQgYW5kIGV4dGVuZHMgYSBsaXR0bGUgdG93YXJkcyB0aGUgcGFzdCwgd2hp bGUgdGhlIHNlY29uZCBldmVudCBoYXMgb25lIGVuZHBvaW50IGluIHRoZSBwYXN0IGFuZCBleHRl bmRzIG9ubHkgdG8gdGhlIHByZXNlbnQgKHRoYXQgaXMsIHNsaWdodHkgaW50byB0aGUgcGFzdCBv ciBmdXR1cmUpIG9mIHRoYXQgZW5kcG9pbnQuCgpfXycnam1pdmUnJ19fIOKAnHgxIGlzIGFsaXZl IGJ5IHN0YW5kYXJkIHgy4oCdCgoKCldoYXQgZG9lcyAnJy51aSBtaSBwdSB7a3V9IHppIHtrdX0g emUndSB7a3V9IGptaXZlIHt2YXV9JycgZXhwcmVzcz8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTri gJx7aGFwcGluZXNzIX0gSSBsaXZlIGZyb20gYSBsaXR0bGUgaW50byB0aGUgcGFzdCBhbmQgYSBs b25nIHdheSB0b3dhcmRzIHRoZSBmdXR1cmUgb3IgcGFzdCAob2J2aW91c2x5IHRoZSBmdXR1cmUs IGluIHRoaXMgY2FzZSkgb2YgdGhhdCBldmVudOKAnSBvciDigJxJIGFtIHlvdW5nLCBhbmQgaGF2 ZSBtb3N0IG9mIG15IGxpZmUgYWhlYWQgb2YgbWUgOinigJ1+fgoKCgpKdXN0IHRvIHVuZGVybGlu ZSB0aGUgc2ltaWxhcml0eSB3aXRoIHNwYWNpYWwgdGVuc2VzLCBsZXQncyBoYXZlIGFub3RoZXIg ZXhhbXBsZSwgdGhpcyB0aW1lIHdpdGggc3BhY2lhbCB0ZW5zZXM6CgpfXycnLnUnZScnX18gYXR0 aXR1ZGluYWw6IHdvbmRlciAtIGNvbW1vbnBsYWNlCgoKCicnLnUnZSB6YSdhIHtrdX0gYnUndSB7 a3V9IHZlJ3Uge2t1fSBjYSd1IHtrdX0gemRhbmkge3ZhdX0nJyAtIFdoYXQgZG9lcyBpdCBtZWFu PwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OiDigJx7d29uZGVyfSB7SSBvYnNlcnZlIX0gRXh0ZW5k aW5nIGEgbG9uZyBzcGFjZSBmcm9tIGhlcmUgdG8gbXkgZnJvbnQgaXMgYSBob21lLuKAnSBvciDi gJxXb3csIHRoaXMgaG9tZSBleHRlbmRpbmcgYWhlYWQgaXMgaHVnZSHigJ1+fgoKCgpCZWZvcmUg d2UgY29udGludWUgd2l0aCB0aGlzIHN5bnRheC1oZWF2eSB0ZW5zZSBzeXN0ZW0sIGkgcmVjb21t ZW5kIHNwZW5kaW5nIGF0IGxlYXN0IHRlbiBtaW51dGVzIGRvaW5nIHNvbWV0aGluZyB3aGljaCBk b2Vzbid0IG9jY3VweSB5b3VyIGJyYWluIGluIG9yZGVyIHRvIGxldCB0aGUgaW5mb3JtYXRpb24g c2luayBpbi4gU2luZyBhIHNvbmcgb3IgZWF0IGEgY29va2llIHZlcnkgc2xvd2x5IC0gd2hhdGV2 ZXIsIGFzIGxvbmcgYXMgeW91IGxldCB5b3VyIG1pbmQgcmVzdC4KCgoKISFMb2piYW4gTGVzc29u cyAtIExlc3NvbiBlbGV2ZW4gKFpBaE8pCgpUaG91Z2ggd2Ugd29uJ3QgZ28gdGhyb3VnaCBhbGwg TG9qYmFuIHRlbnNlIGNvbnN0cnVjdHMgZm9yIG5vdywgdGhlcmUgaXMgb25lIG90aGVyIGtpbmQg b2YgdGVuc2UgdGhhdCBJIHRoaW5rIHNob3VsZCBiZSB0YXVnaHQgbm93LiBUaGVzZSBhcmUgY2Fs bGVkIOKAnGV2ZW50IGNvbnRvdXJz4oCdLCBhbmQgcmVwcmVzZW50IGEgdmVyeSBkaWZmZXJlbnQg d2F5IG9mIHZpZXdpbmcgdGVuc2VzIHRoYXQgd2UgaGF2ZSBzZWVuIHNvIGZhci4gU28gbGV0J3Mg Z2V0IHRvIGl0OgoKCgpVc2luZyB0aGUgdGVuc2VzIHdlIGhhdmUgbGVhcm5lZCBzbyBmYXIsIHdl IGNhbiBpbWFnaW5lIGFuIGluZGVmaW5pdGUgdGltZSBsaW5lLCBhbmQgd2UgdGhlbiBwbGFjZSBl dmVudHMgb24gdGhhdCBsaW5lIHJlbGF0aXZlIHRvIHRoZSDigJxub3figJ0uIFdpdGggZXZlbnQg Y29udG91cnMsIGhvd2V2ZXIsIHdlIHZpZXcgZWFjaCBldmVudCBhcyBhIHByb2Nlc3MsIHdoaWNo IGhhcyBjZXJ0YWluIHN0YWdlczogQSB0aW1lIGJlZm9yZSBpdCB1bmZvbGRzLCBhIHRpbWUgd2hl biBpdCBiZWdpbnMsIGEgdGltZSB3aGVuIGl0IGlzIGluIHByb2Nlc3MsIGEgdGltZSB3aGVuIGl0 IGVuZHMsIGFuZCBhIHRpbWUgYWZ0ZXIgaXQgaGFzIGVuZGVkLiBFdmVudCBjb250b3VycyB0aGVu IHRlbGxzIHVzIHdoaWNoIHBhcnQgb2YgdGhlIGV2ZW50J3MgcHJvY2VzcyB3YXMgaGFwcGVuaW5n IGR1cmluZyB0aGUgdGltZSBzcGVjaWZpZWQgYnkgdGhlIG90aGVyIHRlbnNlcy4gV2UgbmVlZCBh IGNvdXBsZSBvZiB0ZW5zZXMgZmlyc3Q6CgoKCl9fJydwdSdvJydfXyAtIHN1bXRjaXRhOiBldmVu dCBjb250b3VyOiBCcmlkaSBoYXMgbm90IHlldCBoYXBwZW5lZCBkdXJpbmcge3N1bXRpfQoKX18n J2NhJ28nJ19fIC0gc3VtdGNpdGE6IGV2ZW50IGNvbnRvdXI6IEJyaWRpIGlzIGluIHByb2Nlc3Mg ZHVyaW5nIHtzdW10aX0KCl9fJydiYSdvJydfXyAtIHN1bXRjaXRhOiBldmVudCBjb250b3VyOiBU aGUgcHJvY2VzcyBvZiBicmlkaSBoYXMgZW5kZWQgZHVyaW5nIHtzdW10aX0KCgoKVGhpcyBuZWVk cyB0byBiZSBkZW1vbnN0cmF0ZWQgYnkgc29tZSBleGFtcGxlcy4gV2hhdCdzICcnLnVpIG1pIHB1 J28ge2t1fSBzZSB6ZGFuaSB7dmF1fScnIG1lYW4/CgoKCkFuc3dlcjog4oCcWWF5LCBJJ2xsIGJl Z2luIHRvIGhhdmUgYSBob21l4oCdLgoKCgpCdXQgaGV5LCB5b3UgYXNrLCB3aHkgbm90IGp1c3Qg c2F5ICcnLnVpIG1pIGJhIHtrdX0gc2UgemRhbmkge3ZhdX0nJyBhbmQgZXZlbiBzYXZlIGEgc3ls bGFibGU/IEJlY2F1c2UsIHJlbWVtYmVyLCBzYXlpbmcgdGhhdCB5b3Ugd2lsbCBoYXZlIGEgaG9t ZSBpbiB0aGUgZnV0dXJlIHNheXMgbm90aGluZyBhYm91dCB3aGV0aGVyIHlvdSBoYXZlIGEgaG9t ZSBub3cuIFVzaW5nICcncHUnbycnLCB0aG91Z2gsIHlvdSBzYXkgdGhhdCB5b3UgYXJlIG5vdyBp biB0aGUgcGFzdCBvZiB0aGUgcHJvY2VzcyBvZiB5b3UgaGF2aW5nIGEgaG9tZSwgd2hpY2ggbWVh bnMgdGhhdCB5b3UgZG9uJ3QgaGF2ZSBvbmUgbm93LgoKTm90ZSwgYnkgdGhlIHdheSwgdGhhdCAn J21pIGJhIHtrdX0gc2UgemRhbmkge3ZhdX0nJyBpcyBzaW1pbGFyIHRvICcnbWkgcHUnbyB7a3V9 IHNlIHpkYW5pIHt2YXV9JycsIGFuZCBsaWtld2lzZSB3aXRoICcnYmEnbycnIGFuZCAnJ3B1Jycu IFdoeSBkbyB0aGV5IHNlZW0gcmV2ZXJzZWQ/IEJlY2F1c2UgZXZlbnQgY29udG91cnMgdmlldyB0 aGUgcHJlc2VudCBhcyBzZWVuIGZyb20gdGhlIHZpZXdwb2ludCBvZiB0aGUgcHJvY2Vzcywgd2hl cmVhcyB0aGUgb3RoZXIgdGVuc2VzIHZpZXcgZXZlbnRzIHNlZW4gZnJvbSB0aGUgcHJlc2VudC4K CgoKT2Z0ZW4sIGV2ZW50IGNvbnRvdXJzIGFyZSBtb3JlIHByZWNpc2UgdGhhdCBvdGhlciBraW5k IG9mIHRlbnNlcy4gRXZlbiBtb3JlIGNsYXJpdHkgaXMgYWNoaWV2ZWQgYnkgY29tYmluaW5nIHNl dmVyYWwgdGVuc2VzOiAnJy5hJ28gbWkgYmF7a3V9IHppIHtrdX0gYmEnbyB7a3V9IGd1bmthIHt2 YXV9JycgLSDigJxJIGhvcGUgSSd2ZSBzb29uIGZpbmlzaGVkIHdvcmtpbmcu4oCdCgoKCkluIExv amJhbiwgd2UgYWxzbyBvcGVyYXRlIHdpdGggYW4gZXZlbnQncyDigJxuYXR1cmFsIGJlZ2lubmlu Z+KAnSBhbmQgaXRzIOKAnG5hdHVyYWwgZW5k4oCdLiBUaGUgdGVybSDigJxuYXR1cmFs4oCdIGlz IGhpZ2hseSBzdWJqZWN0aXZlIGluIHRoaXMgc2Vuc2UsIGFuZCB0aGUgbmF0dXJhbCBlbmQgcmVm ZXJzIHRvIHRoZSBwb2ludCBpbiB0aGUgcHJvY2VzcyB3aGVyZSBpdCBzaG91bGQgZW5kLiBZb3Ug Y2FuIHNheSBhYm91dCBhIGxhdGUgdHJhaW4sIGZvciBpbnN0YW5jZSwgdGhhdCBpdHMgcHJvY2Vz cyBvZiByZWFjaGluZyB5b3UgaXMgbm93IGV4dGVuZGluZyBiZXlvbmQgaXRzIG5hdHVyYWwgZW5k LiBBbiB1bmRlcmNvb2tlZCwgYnV0IHNlcnZlZCBtZWFsLCBzaW1pbGFybHksIGlzIGJlaW5nIGVh dGVuIGJlZm9yZSB0aGF0IHByb2Nlc3MnIG5hdHVyYWwgYmVnaW5uaW5nLiBUaGUgZXZlbnQgY29u dG91cnMgdXNlZCBpbiB0aGVzZSBleGFtcGxlcyBhcmUgYXMgZm9sbG93czoKCgoKX18nJ3phJ28n J19fIC0gc3VtdGNpdGE6IGV2ZW50IGNvbnRvdXI6IEJyaWRpIGlzIGluIHByb2Nlc3MgYmV5b25k IGl0cyBuYXR1cmFsIGVuZCBkdXJpbmcge3N1bXRpfQoKX18nJ3hhJ28nJ19fIC0gc3VtdGNpdGE6 IGV2ZW50IGNvbnRvdXI6IEJyaWRpIGlzIGltbWF0dXJlbHkgaW4gcHJvY2VzcyBkdXJpbmcge3N1 bXRpfQoKCgpfXycnY2lkamEnJ19fOiDigJx4MSBpcyBmb29kLCB3aGljaCBpcyBlZGlibGUgZm9y IHgy4oCdCgoKClRyYW5zbGF0ZTogJycub2kgZG8gY2l0a2EgemEnbyBsbyBudSBkbyBiYSdvIHtr dX0gdSdlIGNpdGthIHpvJ2Ugbm9pIGNpZGphIGRvIHt2YXV9IHtrdSdvfSB7dmF1fSB7a2VpfSB7 a3V9JycKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxPeSwgeW91IGtlZXAgZWF0aW5nIHdoZW4g eW91IGhhdmUgZmluaXNoZWQsIGluY3JlZGlibHksIGVhdGluZyBzb21ldGhpbmcgZWRpYmxlIeKA nX5+CgoKCntpbWcgZmlsZUlkPSIyIiB0aHVtYj0ieSIgcmVsPSJib3hbZ10ifQoKSW1hZ2UgYWJv dmU6IFpBaE8gdGVuc2VzIChldmVudCBjb250b3VycykuIEFsbCB0ZW5zZXMgYWJvdmUgdGhlIGxp bmUgb2YgdGhlIGV2ZW50IHNpZ25pZnkgc3RhZ2VzIGNvdmVyaW5nIGFuIGFtb3VudCBvZiB0aW1l LiBBbGwgdGVuc2VzIGJlbG93IHRoZSBldmVudCBsaW5lIHNpZ25pZnkgc3RhZ2VzIHdoaWNoIGFy ZSBwb2ludC1saWtlLgoKCgpBbGwgb2YgdGhlc2UgdGVuc2VzIGhhdmUgYmVlbiBkZXNjcmliaW5n IHN0YWdlcyBvZiBhIHByb2Nlc3Mgd2hpY2ggdGFrZXMgc29tZSB0aW1lIChhcyBzaG93biBvbiB0 aGUgZ3JhcGggYWJvdmU7IHRob3NlIHRlbnNlcyBhYm92ZSB0aGUgZXZlbnQgbGlrZSkuIEJ1dCBt YW55IG9mIHRoZSBldmVudCBjb250b3VycyBkZXNjcmliZXMgcG9pbnQgbGlrZSBzdGFnZXMgaW4g dGhlIHByb2Nlc3MsIGxpa2UgaXRzIGJlZ2lubmluZy4gQXMgaXMgdHJ1ZSBvZiAnJ2NhJycgYW5k ICcnYnUndScnLCB0aGV5IGFjdHVhbGx5IGV4dGVuZCBzbGlnaHRseSBpbnRvIHRoZSBwYXN0IGFu ZCBmdXR1cmUgb2YgdGhhdCBwb2ludCwgYW5kIG5lZWQgbm90IHRvIGJlIHByZWNpc2UuCgoKClRo ZSB0d28gbW9zdCBpbXBvcnRhbnQgcG9pbnQtbGlrZSBldmVudCBjb250b3VycyBhcmU6CgpfXycn Y28nYScnX18gLSBzdW10Y2l0YTogZXZlbnQgY29udG91cjogQnJpZGkgaXMgYXQgaXRzIGJlZ2lu bmluZyBkdXJpbmcge3N1bXRpfQoKX18nJ2NvJ3UnJ19fIC0gc3VtdGNpdGE6IGV2ZW50IGNvbnRv dXI6IEJyaWRpIGlzIGF0IGl0cyBlbmRpbmcgZHVyaW5nIHtzdW10aX0KCgoKRnVydGhlcm1vcmUs IHRoZXJlIGlzIGEgcG9pbnQgd2hlcmUgdGhlIHByb2Nlc3MgaXMgbmF0dXJhbGx5IGNvbXBsZXRl LCBidXQgbm90IG5lY2Vzc2FyaWx5IGhhcyBlbmRlZCB5ZXQ6CgpfXycnbW8ndScnX18gLSBzdW10 Y2l0YTogZXZlbnQgY29udG91cjogQnJpZGkgaXMgYXQgaXRzIG5hdHVyYWwgZW5kaW5nIGR1cmlu ZyB7c3VtdGl9CgpNb3N0IG9mIHRoZSB0aW1lLCB0aG91Z2gsIHByb2Nlc3NlcyBhY3R1YWxseSBl bmQgYXQgdGhlaXIgbmF0dXJhbCBlbmRpbmc7IHRoaXMgaXMgd2hhdCBtYWtlcyBpdCBuYXR1cmFs LiBUcmFpbnMgYXJlIG5vdCB1c3VhbGx5IGxhdGUsIGFuZCBwZW9wbGUgdXN1YWxseSByZXRyYWlu IHRoZW1zZWx2ZXMgdG8gZWF0IG9ubHkgZWRpYmxlIGZvb2QuCgoKClNpbmNlIGEgcHJvY2VzcyBj YW4gYmUgaW50ZXJydXB0ZWQgYW5kIHJlc3VtZWQsIHRoZXNlIHBvaW50cyBoYXZlIGVhcm5lZCB0 aGVpciBvd24gZXZlbnQgY29udG91ciBhbHNvOgoKX18nJ2RlJ2EnJ19fIC0gc3VtdGNpdGE6IGV2 ZW50IGNvbnRvdXI6IEJyaWRpIGlzIHBhdXNpbmcgZHVyaW5nIHtzdW10aX0KCl9fJydkaSdhJydf XyAtIHN1bXRjaXRhOiBldmVudCBjb250b3VyOiBCcmlkaSBpcyByZXN1bWluZyBkdXJpbmcge3N1 bXRpfQoKCgpJbiBmYWN0LCBzaW5jZSAnJ2p1bmRpJycgbWVhbnMg4oCceDEgcGF5cyBhdHRlbnRp b24gdG8geDLigJ0sICcnZGUnYSBqdW5kaScnIGFuZCAnJ2RpJ2EganVuZGknJyBhcmUgY29tbW9u IExvamJhbiB3YXlzIG9mIHNheWluZyDigJxCUkLigJ0gYW5kIOKAnGJhY2vigJ0uIE9uZSBjb3Vs ZCBvZiBjb3Vyc2UgYWxzbyBzYXkgdGhlIGV2ZW50IGNvbnRvdXJzIGJ5IHRoZW1zZWx2ZXMgYW5k IGhvcGUgdGhlIHBvaW50IGdldHMgYWNyb3NzLgoKCgpGaW5hbGx5LCBvbmUgY2FuIHRyZWF0IGFu IGVudGlyZSBldmVudCwgZnJvbSB0aGUgYmVnaW5uaW5nIHRvIHRoZSBlbmQgYXMgb25lIHNpbmds ZSBwb2ludCB1c2luZyAnJ2NvJ2knJzoKCl9fJydwZW5taScnX18g4oCceDEgbWVldHMgeDIgYXQg bG9jYXRpb24geDPigJ0KCicnbWkgcHUge2t1fSB6aSB7a3V9IGNvJ2kge2t1fSBwZW5taSBsbyBk b3RjbyBwcmVudSB7a3V9IHt2YXV9JycgLSDigJxBIGxpdHRsZSB3aGlsZSBhZ28sIEkgd2FzIGF0 IHRoZSBwb2ludCBpbiB0aW1lIHdoZXJlIGkgbWV0IGEgR2VybWFuIHBlcnNvbuKAnQoKCgoKCiEh TG9qYmFuIExlc3NvbnMgLSBMZXNzb24gdHdlbHZlIChvcmRlcnMgYW5kIHF1ZXN0aW9ucykKClBo ZXcsIHRob3NlIHR3byBsb25nIGxlc3NvbnMgd2l0aCBzeW50YXggaGVhdnkgTG9qYmFuIGdpdmVz IHRoZSBicmFpbiBzb21ldGhpbmcgdG8gcG9uZGVyIGFib3V0LiBFc3BlY2lhbGx5IGJlY2F1c2Ug aXQncyBzbyBkaWZmZXJlbnQgZnJvbSBFbmdsaXNoLiBTbyBsZXQncyB0dXJuIHRvIHNvbWV0aGlu ZyBhIGxpdHRsZSBsaWdodGVyOiBPcmRlcnMgYW5kIHF1ZXN0aW9ucy4KCgoKV2hhdCB0aGUuLi4g X19zaXQgdXAgYW5kIGZvY3VzIV9fCgoKClNpbmNlIHRoZSB3YXkgdG8gZXhwcmVzcyBvcmRlcnMg aW4gRW5nbGlzaCBpcyB0byBsZWF2ZSBvdXQgdGhlIHN1YmplY3Qgb2YgdGhlIGNsYXVzZSwgd2h5 IGRpZCB5b3UgYXNzdW1lIHRoYXQgaXQgd2FzIHlvdSBJIHdhcyBzcGVha2luZyB0bywgYW5kIG5v dCBvcmRlcmluZyBteXNlbGYsIG9yIGV4cHJlc3NpbmcgdGhlIG9ibGlnYXRpb24gc29tZW9uZSBl bHNlIGhhcz8gQmVjYXVzZSB0aGUgRW5nbGlzaCBsYW5ndWFnZSB1bmRlcnN0YW5kcyB0aGF0IG9y ZGVycywgYnkgdGhlaXIgdmVyeSBuYXR1cmUsIGFyZSBhbHdheXMgZGlyZWN0ZWQgdG93YXJkcyB0 aGUgbGlzdGVuZXIgLSB0aGUg4oCceW914oCdLCBhbmQgc28gdGhlIHN1YmplY3QgaXMgbm90IG5l Y2Vzc2FyeS4KCkluIExvamJhbiwgZWxpZGluZyB0aGUgc3ViamVjdCB5aWVsZHMgJyd6bydlJycs IHNvIHRoYXQgcG9zc2liaWxpdHkgaXMgc2FkbHkgbm90IG9wZW4gdG8gdXMuIEluc3RlYWQsIHdl IHVzZSB0aGUgd29yZCAnJ2tvJycsIHdoaWNoIGlzIHRoZSBpbXBlcmF0aXZlIGZvcm0gb2YgJydk bycnLiBHcmFtbWF0aWNhbGx5IGFuZCBicmlkaS13aXNlLCBpdCdzIGVxdWl2YWxlbnQgdG8gJydk bycnLCBidXQgaXQgYWRkcyBhIGxheWVyIG9mIHNlbWFudGljcywgc2luY2UgaXQgdHVybnMgZXZl cnkgc3RhdGVtZW50IHdpdGggJydrbycnIGluIGl0IGludG8gYW4gb3JkZXIuIOKAnERvIHN1Y2gg dGhhdCB0aGlzIHNlbnRlbmNlIGlzIHRydWUgZm9yIHlvdT0nJ2tvJych4oCdIEZvciB0aGUgc2Ft ZSByZWFzb24gd2UgZG9uJ3QgbmVlZCB0aGUgc3ViamVjdCBpbiBFbmdsaXNoIHNlbnRlbmNlcywg d2UgZG9uJ3QgbmVlZCBvcmRlci13b3JkcyBkZXJpdmVkIGZyb20gYW55IG90aGVyIHN1bXRpIHRo YW4gJydkbycnLgoKCgpIb3cgY291bGQgeW91IG9yZGVyIG9uZSB0byBnbyBmYXIgYXdheSBmb3Ig YSBsb25nIHRpbWUgKHVzaW5nICcna2xhbWEnJyBhcyB0aGUgb25seSBzZWxicmk/KQoKCgpBbnN3 ZXI6IH5+Z3JleSxncmV5OmtvIHZlJ3UgemUndSBrbGFtYX5+CgooJycuaSB6YSdhIGRhaSBhJ28g bWkgY2EgY28ndSBjaXNrYSBsbyBmYSdvcm1hJ28gLmkga28gamltcGUgdmF1IC51aScnKSAtIGxv b2sgdXAgY2lza2EgYW5kIHdvcmsgaXQgb3V0LgoKCgpRdWVzdGlvbnMgaW4gTG9qYmFuIGFyZSB2 ZXJ5IGVhc3kgdG8gbGVhcm4sIGFuZCB0aGV5IGNvbWUgaW4gdHdvIGtpbmRzOiBGaWxsIGluIHRo ZSBibGFuaywgYW5kIHRydWUvZmFsc2UgcXVlc3Rpb25zLiBMZXQncyBiZWdpbiB3aXRoIHRoZSB0 cnVlLWZhbHNlIHF1ZXN0aW9uIGtpbmQgLSB0aGF0J3MgcHJldHR5IG92ZXJjb21lYWJsZSwgc2lu Y2UgaXQgb25seSBpbnZvbHZlcyBvbmUgd29yZCwgJyd4dScnLgoKJyd4dScnIHdvcmtzIGxpa2Ug YW4gYXR0aXR1ZGluYWwgaW4gdGhlIHNlbnNlIHRoYXQgaXQgY2FuIGdvIGFueXdoZXJlLCBhbmQg aXQgYXBwbGllcyB0byB0aGUgcHJlY2VkaW5nIHdvcmQgKG9yIGNvbnN0cnVjdCkuIEl0IHRoZW4g dHJhbnNmb3JtcyB0aGUgc2VudGVuY2UgaW50byBhIHF1ZXN0aW9uLCBhc2tpbmcgd2hldGhlciBp dCBpcyB0cnVlIG9yIG5vdC4gSW4gb3JkZXIgdG8gYWZmaXJtLCB5b3Ugc2ltcGx5IHJlcGVhdCB0 aGUgYnJpZGk6CgonJ3h1IHZlJ3UgemRhbmkgZG8nJyAnJy5pIHZlJ3UgemRhbmkgbWknJywgb3Ig eW91IGp1c3QgcmVwZWF0IHRoZSB0aGUgc2VsYnJpLCB3aGljaCBpcyB0aGUgYnJpZGkgd2l0aCBh bGwgdGhlIHN1bXRpIGFuZCB0ZW5zZXMgZWxpZGVkOiAnJ3pkYW5pJycuCgpUaGVyZSBpcyBhbiBl dmVuIGVhc2llciB3YXkgdG8gYWZmaXJtIHVzaW5nIGJyaWthJ2ksIGJ1dCB0aG9zZSBhcmUgYSB0 YWxlIGZvciBhbm90aGVyIHRpbWUuIFRvIGFuc3dlciDigJxub+KAnSBvciDigJxmYWxzZeKAnSwg eW91IHNpbXBseSBhbnN3ZXIgd2l0aCB0aGUgYnJpZGkgbmVnYXRlZC4gVGhhdCB0b28sIHdpbGwg YmUgbGVmdCBmb3IgbGF0ZXIsIGJ1dCB3ZSB3aWxsIHJldHVybiB0byBxdWVzdGlvbiBhbnN3ZXJp bmcgYnkgdGhlbi4KCgoKVGhlIG90aGVyIGtpbmQgaXMgZmlsbCBpbiB0aGUgYmxhbmsuIEhlcmUs IHlvdSBhc2sgZm9yIHRoZSBxdWVzdGlvbiB3b3JkIHRvIGJlIHJlcGxhY2VkIGZvciBhIGNvbnN0 cnVjdCwgd2hpY2ggbWFrZXMgdGhlIGJyaWRpIGNvcnJlY3QuIFRoZXJlIGFyZSBzZXZlcmFsIG9m IHRoZXNlIHdvcmRzLCBkZXBlbmRpbmcgb24gd2hhdCB5b3UgYXJlIGFza2luZyBhYm91dDoKCl9f JydtYScnX18gLSBzdW10aSBxdWVzdGlvbgoKX18nJ21vJydfXyAtIHNlbGJyaSBxdWVzdGlvbgoK X18nJ3hvJydfXyAtIG51bWJlciBxdWVzdGlvbgoKX18nJ2N1J2UnJ19fIC0gdGVuc2UgcXVlc3Rp b24KCgoKQXMgd2VsbCBhcyBtYW55IG90aGVycy4gVG8gYXNrIGFib3V0IGEgc3VtdGksIHlvdSB0 aGVuIGp1c3QgcGxhY2UgdGhlIHF1ZXN0aW9uIHdvcmQgd2hlcmUgeW91IHdhbnQgeW91ciBhbnN3 ZXI6ICcnZG8gZHVuZGEgbWEgbWknJyAtIGFza3MgZm9yIHRoZSB4MiB0byBiZSBmaWxsZWQgd2l0 aCBhIGNvcnJlY3Qgc3VtdGkuIOKAnFlvdSBnaXZlIHdoYXQgdG8gbWU/4oCdLiBUaGUgY29tYmlu YXRpb24gb2YgJydzdW10Y2l0YScnICsgJydtYScnIGlzIHZlcnkgdXNlZnVsIGluZGVlZDoKCl9f JydtdSdpJydfXyAtIHN1bXRjaXRhOiBtb3RpdmF0ZWQgYnkgdGhlIGFic3RyYWN0aW9uIG9mIHtz dW10aX0KCgoKJycub2kgZG8gZGFyeGkgbWkgbXUnaSBtYScnIC0g4oCcT3ksIHdoeSBkbyB5b3Ug aGl0IG1lPyHigJ0KCgoKTGV0J3MgdHJ5IGFub3RoZXIgb25lLiBUaGlzIHRpbWUsIHlvdSB0cmFu c2xhdGU6CgonJy51aSBkYWkgZG8gY2EgemUndSBwdSBtbycnCgoKCkFuc3dlcjogfn5ncmV5LGdy ZXk64oCcWW91J3JlIGhhcHB5LCB3aGF0IGhhdmUgeW91IGJlZW4gZG9pbmcgYWxsIHRoaXMgbG9u ZyB0aW1lIHVudGlsIG5vdz/igJ0gVGVjaG5pY2FsbHksIGl0IGNvdWxkIGFsc28gbWVhbiDigJx3 aGF0IGhhdmUgeW91IGJlZW4/4oCdLCBidXQgYW5zd2VyaW5nIHdpdGggJycudWEgbmFpIGxpJ2Eg cmVtbmEnJyAoVWgsIGh1bWFuLCBvYnZpb3VzbHkpIGlzIGp1c3QgYmVpbmcgaW5jcmVkaWJseSBh bm5veWluZyBvbiBwdXJwb3NlLn5+CgoKClNpbmNlIHRvbmUgb2Ygdm9pY2Ugb3Igc2VudGVuY2Ug c3RydWN0dXJlIGRvZXMgbm90IHJldmVhbCB3aGV0aGVyIGEgc2VudGVuY2UgaXMgYSBxdWVzdGlv biBvciBub3QsIG9uZSBiZXR0ZXIgbm90IG1pc3MgdGhlIHF1ZXN0aW9uIHdvcmQuIFRoZXJlZm9y ZSwgc2luY2UgcGVvcGxlIHRlbmQgdG8gZm9jdXMgbW9yZSBvbiB3b3JkcyBpbiB0aGUgYmVnaW5u aW5nIG9yIGF0IHRoZSBlbmQgb2Ygc2VudGVuY2VzLCBpdCdzIHVzdWFsbHkgd29ydGggdGhlIHdo aWxlIHRvIHJlLW9yZGVyIHRoZSBzZW50ZW5jZSBzbyB0aGF0IHRoZSBxdWVzdGlvbiB3b3JkcyBh cmUgYXQgdGhvc2UgcGxhY2VzLiBJZiB0aGF0IGlzIG5vdCBmZWFzYWJsZSwgJydwYXUnJyBpcyBh biBhdHRpdHVkaW5hbCBtYXJraW5nIHRoYXQgdGhlIHNlbnRlbmNlIGlzIGEgcXVlc3Rpb24uIENv bnRyYXJ5LCAnJ3BhdSBuYWknJyBleHBsaWNpdGx5IG1hcmtzIGFueSBxdWVzdGlvbiBhcyBiZWlu ZyByaGV0b3JpY2FsLgoKCgpXaGlsZSB3ZSBhcmUgb24gdGhlIHRvcGljIG9mIHF1ZXN0aW9ucywg aXQncyBhbHNvIGFwcHJvcHJpYXRlIHRvIG1lbnRpb24gdGhlIHdvcmQgJydrYXUnJywgd2hpY2gg aXMgYSBtYXJrZXIgZm9yIOKAnGluZGlyZWN0IHF1ZXN0aW9u4oCdLiBXaGF0J3MgYW4gaW5kaXJl Y3QgcXVlc3Rpb24sIHRoZW4/IFdlbGwsIHRha2UgYSBsb29rIGF0IHRoZSBzZW50ZW5jZTogJydt aSBkanVubyBsbyBkdSd1IG1hIGthdSB6ZGFuaSBkbycnIC0g4oCcSSBrbm93IHdoYXQgaXMgeW91 ciBob21lLuKAnQoKX18nJ2RqdW5vJydfXyDigJx4MSBrbm93cyBmYWN0KHMpIHgyIGFyZSB0cnVl IGFib3V0IHgzIGJ5IGVwaXN0ZW1vbG9neSB4NOKAnQoKT25lIGNhbiB0aGluayBpdCBhcyB0aGUg YW5zd2VyIHRvIHRoZSBxdWVzdGlvbiAnJ21hIHpkYW5pIGRvJycuIE1vcmUgcmFyZWx5LCBvbmUg Y2FuIG1hcmsgYSBub24tcXVlc3Rpb24gd29yZCB3aXRoICcna2F1JycsIGluIHdoaWNoIGNhc2Ug b25lIHN0aWxsIGNhbiBpbWFnaW5lIGl0IGFzIHRoZSBhbnN3ZXIgdG8gYSBxdWVzdGlvbjogJydt aSBqaW1wZSBsbyBkdSd1IGR1bmRhIHRpIGthdSBkbycnIC0g4oCcSSBrbm93IHdoYXQgeW91IGhh dmUgYmVlbiBnaXZlbiwgaXQgaXMgdGhpcy7igJ0KCgoKCgohIUxvamJhbiBMZXNzb25zIC0gTGVz c29uIHRoaXJ0ZWVuIChtb3JwaG9sb2d5IGFuZCB3b3JkIGNsYXNzZXMpCgpCYWNrIHRvIG1vcmUg aGVhdnkgKGFuZCBpbnRlcmVzdGluZykgc3R1ZmYuCgpJZiB5b3UgaGF2ZW4ndCBhbHJlYWR5LCBJ IHN0cm9uZ2x5IHN1Z2dlc3QgeW91IGZpbmQgdGhlIExvamJhbmljIHJlY29yZGluZyBjYWxsZWQg IlN0b3J5IFRpbWUgd2l0aCBVbmNsZSBSb2JpbiIsIG9yIGxpc3RlbiB0byBzb21lb25lIHNwZWFr IExvamJhbiBvbiBNdW1ibGUsIGFuZCB0aGVuIHByYWN0aWNlIHlvdXIgcHJvbnVuY2lhdGlvbi4g SGF2aW5nIGFuIGludGVybmFsIGNvbnZlcnNhdGlvbiBpbiB5b3VyIGhlYWQgaW4gTG9qYmFuIGlz IG9ubHkgZ29vZCBpZiBpdCBpc24ndCB3aXRoIGFsbCB0aGUgd3Jvbmcgc291bmRzLCBhbmQgbGVh cm5pbmcgcHJvbnVuY2lhdGlvbiBmcm9tIHdyaXR0ZW4gdGV4dCBpcyBoYXJkLiBUaGVyZWZvcmUs IHRoaXMgbGVzc29uIHdpbGwgbm90IGJlIG9uIHRoZSBMb2piYW4gc291bmRzLCBob3dldmVyIGlt cG9ydGFudCB0aGV5IG1pZ2h0IGJlLCBidXQgYSBzaG9ydCBpbnRyb2R1Y3Rpb24gdG8gdGhlIExv amJhbiBtb3JwaG9sb2d5LgoKCgpXaGF0IGlzIG1vcnBob2xvZ3k/IFRoZSB3b3JkIGlzIGRlcml2 ZWQgZnJvbSBHcmVlayBtZWFuaW5nIOKAnHRoZSBzdHVkeSBvZiBzaGFwZXPigJ0sIGFuZCBpbiB0 aGlzIGNvbnRleHQsIHdlIHRhbGsgYWJvdXQgaG93IHdlIG1ha2Ugd29yZHMgZnJvbSBsZXR0ZXJz IGFuZCBzb3VuZHMsIGFzIGNvbnRyYXN0ZWQgd2l0aCBzeW50YXggLSBob3cgd2UgbWFrZSBzZW50 ZW5jZXMgd2l0aCB3b3Jkcy4gTG9qYmFuIG9wZXJhdGVzIHdpdGggZGlmZmVyZW50IG1vcnBob2xv Z2ljYWwgd29yZCBjbGFzc2VzLCB3aGljaCBhcmUgYWxsIGRlZmluZWQgYnkgdGhlaXIgbW9ycGhv bG9neS4gVG8gbWFrZSBpdCBhbGwgbmljZSBhbmQgc3lzdGVtYXRpYyB0aG91Z2gsIHdvcmRzIHdp dGggY2VydGFpbiBmdW5jdGlvbnMgdGVuZCB0byBiZSBncm91cGVkIGJ5IG1vcnBob2xvZ2ljYWwg Y2xhc3NlcywgYnV0IGV4Y2VwdGlvbnMgbWF5IG9jY3VyLgoKfHwgICBDbGFzc3xNZWFuaW5nfERl ZmluZWQgQnl8VHlwaWNhbCBGdW5jdGlvbgoKICAgV29yZHM6fCAgIHwgICB8ICAgCgogICBCcml2 bGF8ICAgYnJpZGktd29yZHwgICBBbW9uZyBmaXJzdCA1IGxldHRlcnMgKGV4Y2x1ZGluZyDigJwg 4oCYIOKAnCkgaXMgYSBjb25zb25hbnQgY2x1c3Rlci4gRW5kcyBpbiB2b3dlbC4gICB8ICAgQWN0 cyBhcyBhIHNlbGJyaSBieSBkZWZhdWx0LiBBbHdheXMgaGFzIGEgcGxhY2Ugc3RydWN0dXJlLgoK ICAgLS1HaXNtdXwgICBSb290LXdvcmR8IDUgbGV0dGVycyBvZiB0aGUgZm9ybSBDVkNDViBvciBD Q1ZDViAgIHwgICBPbmUgdG8gZml2ZSBzdW10aSBwbGFjZXMuIENvdmVycyBiYXNpYyBjb25jZXB0 cy4KCiAgIC0tTHVqdm98ICBDb21wb3VuZCB3b3JkLiBEZXJpdmVkIGZyb20gZnJvbSDigJxsdWp2 bGHigJ0sIG1lYW5pbmcg4oCcY29tcGxleCB3b3Jk4oCdIHwgICBNaW4uIDYgbGV0dGVycy4gTWFk ZSBieSBzdHJpbmdpbmcgcmFmc2kgdG9nZXRoZXIgd2l0aCBiaW5kaW5nIGxldHRlcnMgaWYgbmVj ZXNzYXJ5LnwgICBDb3ZlcnMgbW9yZSBjb21wbGV4IGNvbmNlcHRzIHRoYW4gZ2lzbXUuCgogICAt LUZ1J2l2bGF8ICBDb3B5LXdvcmQgfCBBcyBicml2bGEsIGJ1dCBkbyBub3QgbWVldCBkZWZpbmlu ZyBjcml0ZXJpYSBvZiBnaXNtdSBvciBsdWp2bywgZXg6ICcnYW5nZWxpJycgIHwgICBDb3ZlcnMg dW5pcXVlIGNvbmNlcHRzIGxpa2UgbmFtZXMgb2YgcGxhY2VzIG9yIG9yZ2FuaXNtcy4KCiAgIENt ZXZsYXwgIE5hbWUtd29yZCB8ICAgQmVnaW5uaW5nIGFuZCBlbmRpbmcgd2l0aCBwYXVzZSAoZnVs bCBzdG9wKS4gTGFzdCBzb3VuZC9sZXR0ZXIgaXMgYSBjb25zb25hbnQufCAgIEFsd2F5cyBhY3Rz IGFzIGEgbmFtZSBvciBhcyB0aGUgY29udGVudCBvZiBhIHF1b3RlLgoKICAgQ21hdm98ICAgR3Jh bW1hci13b3JkLiBGcm9tIOKAnGNtYXZsYeKAnSwgbWVhbmluZyDigJxzbWFsbCB3b3Jk4oCdfCBP bmUgY29uc29uYW50IG9yIHplcm8sIGFsd2F5cyBhdCB0aGUgYmVnaW5uaW5nLiBFbmRzIGluIGEg dm93ZWwuICB8ICAgR3JhbW1hdGljYWwgZnVuY3Rpb25zLiBWYXJpZXMKCiAgIFdvcmQtZnJhZ21l bnRzOnwgICB8ICAgfAoKICAgUmFmc2l8ICAgQWZmaXh8ICBDQ1YsIENWQywgQ1YnViwgLUNWQ0NW LCAtQ0NWQ1YsIENWQ0N5LSBvciBDQ1ZDeS0gIHwgTm90IGFjdHVhbCB3b3JkcywgYnV0IGNhbiBi ZSBzdHJpbmdlZCB0b2dldGhlciB0byBmb3JtIGx1anZvIHx8CgoKCgoKX18nJ2NtZXZsYScnX18g YXJlIHZlcnkgZWFzeSB0byBpZGVudGlmeSBiZWNhdXNlIHRoZXkgYmVnaW4gYW5kIGVuZCB3aXRo IGEgcGF1c2UsIHNpZ25hbGVkIGJ5IGEgZnVsbCBzdG9wIGluIHdyaXRpbmcsIGFuZCB0aGUgbGFz dCBsZXR0ZXIgaXMgYSBjb25zb25hbnQuIENtZXZsYSBoYXZlIHR3byBmdW5jdGlvbnM6IFRoZXkg Y2FuIGVpdGhlciBhY3QgYXMgYSBwcm9wZXIgbmFtZSwgaWYgcHJlZml4ZWQgYnkgdGhlIGFydGlj bGUgJydsYScnIChleHBsYWluZWQgaW4gbmV4dCBsZXNzb24pLCBvciB0aGV5IGNhbiBhY3QgYXMg dGhlIGNvbnRlbnQgb2YgYSBxdW90ZS4gQXMgcHJldmlvdXNseSBzdGF0ZWQsIG9uZSBjYW4gbWFy ayBzdHJlc3MgaW4gdGhlIG5hbWVzIGJ5IGNhcGl0YWxpemluZyB0aGUgbGV0dGVycyB3aGljaCBh cmUgc3RyZXNzZWQuIEV4YW1wbGVzIG9mIGNtZXZsYSBhcmU6ICcnLmlvaEFOLicnIChKb2hhbiwg aCBpcyBjYXBpdGFsIGFwb3N0cm9waGUsIHlvdSByZW1lbWJlciksICcnLm1hdC4nJyAoTWF0dCkg YW5kICcnLmx1aXRjaU1JTi4nJyAoTHVpLUNoaSBNaW4pLiBOYW1lcyB3aGljaCBkbyBub3QgZW5k IGluIGNvbnNvbmFudHMgaGF2ZSB0byBoYXZlIG9uZSBhZGRlZDogJycuaXZ5bi4nJyAoRXZlKSwg b3IgKHByb2JhYmx5IGJldHRlciBpbiB0aGlzIGNhc2UpIHJlbW92ZWQ6ICcnLml2LicnCgoKCl9f Jydicml2bGEnJ19fIGFyZSBjYWxsZWQg4oCcYnJpZGktd29yZHPigJ0gYmVjYXVzZSB0aGV5IGJ5 IGRlZmF1bHQgYXJlIHNlbGJyaSwgYW5kIHRoZXJlZm9yZSBhbG1vc3QgYWxsIExvamJhbiB3b3Jk cyB3aXRoIGEgcGxhY2Ugc3RydWN0dXJlIGFyZSBicml2bGEuIFRoaXMgaGFzIGFsc28gZ2l2ZW4g dGhlbSB0aGUgRW5nbGlzaCBuaWNrbmFtZSDigJxjb250ZW50LXdvcmRz4oCdLiBJdCdzIG5lYXJs eSBpbXBvc3NpYmxlIHRvIHNheSBhbnl0aGluZyB1c2VmdWwgd2l0aG91dCBicml2bGEsIGFuZCBh bG1vc3QgYWxsIHdvcmRzIGZvciBjb25jZXB0cyBvdXRzaWRlIGxvamJhbiBncmFtbWFyIChhbmQg ZXZlbiBtb3N0IG9mIHRoZSB3b3JkcyBmb3IgdGhpbmdzIGluIHRoZSBsYW5ndWFnZSkgYXJlIGNh cHR1cmVkIGJ5IGJyaXZsYS4gQXMgc2hvd24gaW4gdGhlIHRhYmxlLCBicml2bGEgaGFzIHRocmVl IHN1YmNhdGVnb3JpZXM6CgpfXycnZ2lzbXUnJ19fIGFyZSB0aGUgcm9vdCB3b3JkcyBvZiB0aGUg bGFuZ3VhZ2UuIE9ubHkgYWJvdXQgMTQ1MCBleGlzdHMsIGFuZCB2ZXJ5IGZldyBuZXcgb25lcyBh cmUgYWRkZWQuIFRoZXkgY292ZXIgdGhlIG1vc3QgYmFzaWMgY29uY2VwdHMgbGlrZSDigJxjaXJj bGXigJ0sIOKAnGZyaWVuZOKAnSwg4oCcdHJlZeKAnSBhbmQg4oCcZHJlYW3igJ0uIEV4YW1wbGVz IGluY2x1ZGUgJyd6ZGFuaScnLCAnJ3BlbHh1JycgYW5kICcnZHVuZGEnJwoKX18nJ2x1anZvJydf XyBhcmUgbWFkZSBieSBjb21iaW5pbmcgcmFmc2kgKHNlZSB1bmRlciByYWZzaSksIHJlc3ByZXNl bnRpbmcgZ2lzbXUuIEJ5IGNvbWJpbmluZyByYWZzaSwgb25lIG5hcnJvd3MgZG93biB0aGUgbWVh bmluZyBvZiB0aGUgd29yZC4gbHVqdm8gYXJlIG1hZGUgYnkgYW4gZWxhYm9yYXRlIGFsZ29yaXRo bSwgc28gbWFraW5nIHZhbGlkIGx1anZvIG9uIHRoZSBmbHkgaXMgbmVhciBpbXBvc3NpYmxlLCB3 aXRoIGZldyBleGNlcHRpb25zIGxpa2UgJydzZWxwYSdpJycsIGZyb20gJydzZSBwcmFtaScnLCB3 aGljaCBjYW4gb25seSBoYXZlIG9uZSBkZWZpbml0aW9uLiBJbnN0ZWFkLCBsdWp2byBhcmUgbWFk ZSBvbmNlLCBpdHMgcGxhY2Ugc3RydWN0dXJlIGRlZmluZWQsIGFuZCB0aGVuIHRoYXQgZGVmaW5p dGlvbiBpcyBtYWRlIG9mZmljaWFsIGJ5IHRoZSBkaWN0aW9uYXJ5LiBFeGFtcGxlcyBpbmNsdWRl IGJyaXZsYSAoYnJpZGktd29yZCksICcnY2luamlrY2EnJyAoc2V4dWFsLXNvY2lhbGl6aW5nID0g ZmxpcnRpbmcpIGFuZCAnJ2Nha2NpbmtpJycgKHNoZWxsLWluc2VjdCA9IGJlZXRsZSkuCgpfXycn ZnUnaXZsYScnX18gYXJlIG1hZGUgYnkgbWFraW5nIHVwIHdvcmRzIHdoaWNoIGZpdCB0aGUgZGVm aW5pdGlvbiBmb3IgYnJpdmxhLCBidXQgbm90IGZvciBsdWp2byBvciBnaXNtdS4gVGhleSB0ZW5k IHRvIGNvdmVyIGNvbmNlcHRzIHdoaWNoIGl0J3MgaGFyZCB0byBjb3ZlciBieSBsdWp2bywgZm9y IGluc3RhbmNlIG5hbWVzIG9mIHNwZWNpZXMsIG5hdGlvbnMgb3IgdmVyeSBjdWx0dXJhbCBzcGVj aWZpYyBjb25jZXB0cy4gRXhhbXBsZXMgaW5jbHVkZSAnJ2d1Z2RyZ29ndXJpbycnIChLb3JlYSkg JydjaWRqcnBpdHNhJycgKHBpenphKSBvciAnJ2FuZ2VsaScnIChhbmdlbCkuCgoKCl9fJydjbWF2 bycnX18gYXJlIHNtYWxsIHdvcmRzIHdpdGggb25lIG9yIHplcm8gY29uc29uYW50cy4gVGhleSB0 ZW5kIHRvIG5vdCBzaWduaWZ5IGFueXRoaW5nIGluIHRoZSBleHRlcmlvciB3b3JsZCwgYnV0IHRv IGhhdmUgb25seSBncmFtbWF0aWNhbCBmdW5jdGlvbi4gRXhjZXB0aW9ucyBvY2N1ciwgYW5kIGl0 J3MgZGViYXRhYmxlIGhvdyBtdWNoIGF0dGl0dWRpbmFscyBleGlzdHMgZm9yIHRoZWlyIGdyYW1t YXRpY2FsIGZ1bmN0aW9uLiBBbm90aGVyIHdlaXJkIGV4YW1wbGUgYXJlIHRoZSB3b3JkcyBvZiB0 aGUgY2xhc3MgR09oQSwgd2hpY2ggYWN0IGFzIGJyaXZsYS4gSXQgaXMgdmFsaWQgdG8gdHlwZSBz ZXZlcmFsIGNtYXZvIGluIGEgcm93IGFzIG9uZSB3b3JkLCBidXQgaW4gdGhlc2UgbGVzc29ucywg dGhhdCB3b24ndCBiZSBkb25lLiBCeSBncm91cGluZyBjZXJ0YWluIGNtYXZvIGluIGZ1bmN0aW9u YWwgdW5pdHMsIHRob3VnaCwgaXQgaXMgc29tZXRpbWVzIGVhc2llciB0byByZWFkLiBUaHVzLCAn Jy51aXB1enV2dWt1bWkgY2l0a2EnJyBpcyB2YWxpZCwgYW5kIGlzIHBhcnNlZCBhbmQgdW5kZXJz dG9vZCBhcyAnJy51aSBwdSB6dSB2dSBrdSBtaSBjaXRrYScnLiBMaWtlIG90aGVyIExvamJhbiB3 b3Jkcywgb25lIHNob3VsZCAoYnV0IG5lZWQgbm90IGFsd2F5cykgcGxhY2UgYSBmdWxsIHN0b3Ag YmVmb3JlIGFueSB3b3JkcyBiZWdpbm5pbmcgd2l0aCBhIHZvd2VsLgoKY21hdm8gb2YgdGhlIGZv cm0geFZWLCBDVidWViBvciBWJ1ZWIGFyZSBleHBlcmltZW50YWwsIGFuZCBhcmUgd29yZHMgd2hp Y2ggYXJlIG5vdCBpbiB0aGUgZm9ybWFsIGdyYW1tYXIsIGJ1dCB3aGljaCBoYXZlIGJlZW4gYWRk ZWQgYnkgTG9qYmFuIHVzZXJzIHRvIHJlc3BvbmQgdG8gYSBjZXJ0YWluIG5lZWQuCgoKCl9fJydy YWZzaScnX18gYXJlIG5vdCBMb2piYW4gd29yZHMsIGFuZCBjYW4gbmV2ZXIgYXBwZWFyIGFsb25l LiBIb3dldmVyLCBzZXZlcmFsIChtb3JlIHRoYW4gb25lKSByYWZzaSBjb21iaW5lIHRvIGZvcm0g bHVqdm8uIFRoZXNlIG11c3Qgc3RpbGwgbGl2ZSB1cCB0byB0aGUgYnJpdmxhLWRlZmluaXRpb24s IGZvciBpbnN0YW5jZSAnJ2xvamJhbicnIGlzIGludmFsaWQgYmVjYXVzZSBpdCBlbmRzIGluIGEg Y29uc29uYW50ICh3aGljaCBtYWtlcyBpdCBhIGNtZXZsYSksIGFuZCAnJ2NpJ2VrZWknJyBpcyBp bnZhbGlkIGJlY2F1c2UgaXQgZG9lcyBub3QgY29udGFpbiBhIGNvbnNvbmFudCBjbHVzdGVyLCBh bmQgaXMgdGh1cyByZWFkIGFzIHR3byBjbWF2byB3cml0dGVuIGFzIG9uZSB3b3JkLiBPZnRlbiwg YSAzLTQgbGV0dGVyIHN0cmluZyBpcyBib3RoIGEgY21hdm8gYW5kIGEgcmFmc2ksIGxpa2UgJyd6 dSdlJycsIHdoaWNoIGlzIGJvdGggdGhlIEJBSSBhbmQgdGhlIHJhZnNpIGZvciAnJ3p1a3RlJycu IE5vdGUgdGhhdCB0aGVyZSBpcyBub3doZXJlIHRoYXQgYm90aCBhIGNtYXZvIGFuZCBhIHJhZnNp IHdvdWxkIGJlIGdyYW1tYXRpY2FsLCBzbyB0aGVzZSBhcmUgbm90IGNvbnNpZGVyZWQgaG9tb3Bo b25lcy4gQWxsIGdpc211IGNhbiBkb3VibGUgYXMgcmFmc2ksIGlmIHRoZXkgYXJlIHByZWZpeGVk IHdpdGggYW5vdGhlciByYWZzaS4gVGhlIGZpcnN0IGZvdXIgbGV0dGVyIG9mIGEgZ2lzbXUgc3Vm Zml4ZWQgd2l0aCBhbiAieSIgY2FuIGFsc28gYWN0IGFzIGEgcmFmc2ksIGlmIHRoZXkgYXJlIHN1 ZmZpeGVkIHdpdGggYW5vdGhlciByYWZzaS4gVGhlIHZvd2VsICJ5IiBjYW4gb25seSBhcHBlYXIg aW4gbHVqdm8gb3IgY21ldmxhLiBWYWxpZCByYWZzaSBsZXR0ZXIgY29tYmluYXRpb25zIGFyZTog Q1ZWLCBDVidWLCBDQ1YsIENWQ0N5LSBDQ1ZDeS0sIC1DVkNDViBhbmQgLUNDVkNWLgoKCgpVc2lu ZyB3aGF0IHlvdSBrbm93IG5vdywgeW91IHNob3VsZCBiZSBhYmxlIHRvIGFuc3dlciB0aGUgdGVz dCBpIHRodXMgcHJlc2VudDoKCkNhdGVnb3JpemUgZWFjaCBvZiB0aGUgZm9sbG93aW5nIHdvcmRz IGFzIGNtZXZsYSAoQyksIGdpc211IChnKSwgbHVqdm8gKGwpLCAnJ2Z1J2l2bGEnJyAoZikgb3Ig Y21hdm8gKGMpOgoKQSApIGphaSAgICAgICAgRyApIG11bWJsCgpCICkgLmlyY2kgICAgICAgIEgg KSAuaSdpCgpDICkgYm9zdHUgICAgICAgIEkgKSBjdQoKRCApIHhlbG1hbiAgICAgICAgSiApIHBs YWp2YQoKRSApIHBvJ2UgICAgICAgIEsgKSBkYW5zZWtlCgpGICkgZGppc2t1ICAgICAgICBMICkg LmVydHNhCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6YS1jLCBiLWYsIGMtZywgZC1DLCBlLWMsIGYt bCwgZy1DLCBoLWMsIGktYywgai1sLCBrLWYsIGwtZi4gSSBsZWZ0IG91dCB0aGUgZnVsbCBzdG9w cyBiZWZvcmUgYW5kIGFmdGVyIG5hbWVzIHNvIGl0IHdvdWxkbid0IGJlIHRvbyBlYXN5LgoKTm90 ZTogc29tZSBvZiB0aGVzZSB3b3JkcywgbGlrZSAnJ2Jvc3R1JycgZG8gbm90IGV4aXN0IGluIHRo ZSBkaWN0aW9uYXJ5LCBidXQgdGhpcyBpcyBpcnJlbGV2YW50LiBUaGUgbW9ycGhvbG9neSBzdGls bCBtYWtlcyBpdCBhIGdpc211LCBzbyBpdCdzIGp1c3QgYW4gdW5kZWZpbmVkIGdpc211LiBTaW1p bGFybHkgd2l0aCAnJy5lcnRzYScnfn4KCgoKCgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29uIGZv dXJ0ZWVuICh0aGUgTG9qYmFuIHN1bXRpIDE6IExFIGFuZCBMQSkKCklmIHlvdSBoYXZlIHJlYWQg YW5kIHVuZGVyc3Rvb2QgdGhlIGNvbnRlbnQgb2YgYWxsIHRoZSBsZXNzb25zIHVudGlsIG5vdywg eW91IGhhdmUgYW1hc3NlZCBhIGxhcmdlIGVub3VnaCBrbm93bGVkZ2Ugb2YgTG9qYmFuIHNvIHRo YXQgaXQgZG9lc24ndCBtYXR0ZXIgaW4gd2hpY2ggb3JkZXIgeW91IGxlYXJuIHRoZSByZXN0LiBB cyBhIHJlc3VsdCwgdGhlIG9yZGVyIG9mIHRoZSBuZXh0IGxlc3NvbnMgd2lsbCBiZSBhIG1peHR1 cmUgb2Ygc29ydGVkIGJ5IGluY3JlYXNpbmcgZGlmZmljdWx0eSBhbmQgc29ydGVkIGJ5IGltcG9y dGFuY2UgaW4gb3JkaW5hcnkgTG9qYmFuIGNvbnZlcnNhdGlvbi4KCgoKT25lIG9mIHRoZSBiaWdn ZXN0IGNvbnN0cmFpbnMgb24geW91ciBzcGVhayBub3cgaXMgeW91ciBsaW1pdGVkIGtub3dsZWRn ZSBvbiBob3cgdG8gbWFrZSBzdW10aS4gU28gZmFyLCB5b3Ugb25seSBrbm93ICcndGknJyBhbmQg JydsbyBTRUxCUkknJywgd2hpY2ggZG9lc24ndCB0YWtlIHlvdSBmYXIgY29uc2lkZXJpbmcgaG93 IGltcG9ydGFudCBzdW10aSBhcmUgaW4gTG9qYmFuLiBUaGlzIGxlc3NvbiBhcyB3ZWxsIGFzIHRo ZSBmb2xsb3dpbmcgdHdvIHdpbGwgYmUgYWJvdXQgdGhlIExvamJhbiBzdW10aS4gRm9yIG5vdywg d2UgZm9jdXMgb24gdGhlIGRlc2NyaXB0aXZlLWxpa2Ugc3VtdGksIHRoZSBvbmVzIG1hZGUgd2l0 aCBhcnRpY2xlcyBsaWtlICcnbG8nJwoKQXJ0aWNsZXMgYXJlIGluIGxvamJhbiBjYWxsZWQgJydn YWRyaScnLCBhbmQgYWxsIHRoZSBvbmVzIGRpc2N1c3NlZCBpbiB0aGlzIGxlc3NvbiBhcmUgdGVy bWluYXRlZCBieSAnJ2t1JycsIGV4Y2VwdCB0aGUgY29tYmluYXRpb25zICcnbGEgQ01FVkxBJycs ICcnbGFpIENNRVZMQScnIGFuZCAnJ2xhJ2kgQ01FVkxBJycuIFdlIHdpbGwgYmVnaW4gYnkgZGVz Y3JpYmluZyB0aHJlZSBzaW1wbGUga2luZHMgb2YgZGVzY3JpcHRpdmUgc3VtdGksIGFuZCB0aGVu IGltbWVkaWF0ZWx5IGZpbmQgdGhhdCB0aGV5IGFyZSBub3Qgc28gc2ltcGxlIGFmdGVyIGFsbDoK Cl9fJydsbycnX18gLSBnYWRyaTogR2VuZXJpYyB2ZXJpZGljYWwg4oCcY29udmVydCBzZWxicmkg dG8gc3VtdGnigJ0uIFJlc3VsdCBpcyB2YWd1ZSB3aXRoIHJlZ2FyZCB0byBpbmRpdmlkdWFsaXR5 L21hc3MtbmVzcy4KCl9fJydsZScnX18gLSBnYWRyaTogR2VuZXJpYyBkZXNjcmlwdGl2ZSDigJxj b252ZXJ0IHNlbGJyaSB0byBzdW10aeKAnS4gUmVzdWx0IGlzIHZhZ3VlIHdpdGggcmVnYXJkIHRv IGluZGl2aWR1YWxpdHkvbWFzcy1uZXNzLgoKX18nJ2xhJydfXyAtIGdhZHJpOiBOYW1pbmcgYXJ0 aWNsZTogQ29udmVudGlvbmFsLCDigJxjb252ZXJ0IHNlbGJyaSBvciBjbWV2bGEgdG8gc3VtdGni gJ0uIFRyZWF0IHJlc3VsdCBhcyBpbmRpdmlkdWFsKHMpLgoKCgpZb3UgYXJlIGFscmVhZHkgZmFt aWxpYXIgd2l0aCAnJ2xvJycgYW5kIHdoYXQgaXQgZG9lcy4gQnV0IHdoYXQgZG9lcyBpdCBtZWFu LCDigJx2ZXJpZGljYWzigJ0gYW5kIOKAnHZhZ3VlIHdpdGggcmVnYXJkIHRvIGluZGl2aWR1YWxp dHkvbWFzcy1uZXNz4oCdPyBUaGUgbGF0dGVyIGFib3V0IGluZGl2aWR1YWxzIGFuZCBtYXNzZXMs IEknbGwgY29tZSBiYWNrIHRvIGxhdGVyLiBGb3Igbm93LCDigJx2ZXJpZGljYWzigJ0gaW4gdGhp cyBjb250ZXh0IG1lYW5zIHRoYXQgaW4gb3JkZXIgZm9yIGEgdGhpbmcgdG8gcXVhbGlmeSBiZWdp biBsYWJlbGxlZCBhcyAnJ2xvIGtsYW1hJycsIGl0IGhhcyB0byBhY3R1YWxseSAnJ2tsYW1hJycu IFRodXMsIHZlcmlkaWNhbCBnYWRyaSBtYWtlcyBhIGNsYWltIHdoaWNoIG1heSBiZSB0cnVlIG9y IGZhbHNlIC0gdGhhdCB0aGUgb2JqZWN0KHMpIGluIHF1ZXN0aW9uIGFyZSBhY3R1YWxseSB0aGUg eDEgb2YgdGhlIHNlbGJyaSBhZnRlciAnJ2xvJycuIAoKCgpUaGlzIG1heSBiZSBjb250cmFzdGVk IHdpdGggJydsZScnLCB3aGljaCBpcyBkZXNjcmlwdGl2ZSwgYW5kIHRodXMgbm90IHZlcmlkaWNh bC4gU2F5aW5nICcnbGUgZ2Vya3UnJyBzYXlzIHRoYXQgeW91IGhhdmUgb25lIG9yIG1vcmUgc3Bl Y2lmaWMgb2JqZWN0cyBpbiBtaW5kLCBhbmQgeW91IHVzZSB0aGUgc2VsYnJpICcnZ2Vya3UnJyB0 byBkZXNjcmliZSBpdCwgc28gdGhhdCB0aGUgbGlzdGVuZXIgbWF5IGlkZW50aWZ5IHRob3NlIHNw ZWNpZmljIG9iamVjdHMuIFRoaXMgbWVhbnMgdGhhdCAnJ2xlJycgaGF2ZXMgdHdvIGltcG9ydGFu dCBkaWZmZXJlbmNlcyBmcm9tICcnbG8nJzogRmlyc3RseSwgaXQgY2Fubm90IHJlZmVyIHRvIG9i amVjdHMgaW4gZ2VuZXJhbCwgYnV0IGFsd2F5cyByZWZlcnMgdG8gc3BlY2lmaWMgb2JqZWN0cy4g U2Vjb25kbHksIHdoaWxlICcnbG8gZ2Vya3UnJyBkZWZpbml0ZWx5IGlzIG9uZSBvciBtb3JlIGRv Z3MsICcnbGUgZ2Vya3UnJywgYmVjYXVzZSBpdCdzIG5vdCB2ZXJpZGljYWwsIGNhbiBiZSBhbnl0 aGluZywgYXMgbG9uZyBhcyB0aGUgc3BlYWtlciB0aGlua3MgdGhlIGRlc2NyaXB0aW9uIHdpbGwg aGVscCBpZGVudGlmeWluZyB0aGUgY29ycmVjdCBvYmplY3RzLiBQZXJoYXBzIHRoZSBzcGVha2Vy IGlzIHJlZmVycmluZyB0byBhIGh5ZW5hLCBidXQgYXJlIG5vdCBmYW1pbGlhciB3aXRoIHRoZW0g YW5kIHRoaW5rIOKAnGRvZ+KAnSBpcyBhIGdvb2QgZW5vdWdoIGFwcHJveGltYXRpb24gdG8gYmUg dW5kZXJzdG9vZC4gVGhpcyBub24tdmVyaWRpY2FsaXR5IGlzIHBlcmhhcHMgb3Zlci1lbXBoYXNp c2VkIGluIG1vc3QgbWFueSB0ZXh0czsgVGhlIGJlc3Qgd2F5IHRvIGRlc2NyaWJlIGEgZG9nIGlz IHVzdWFsbHkgdG8gZGVzY3JpYmUgaXQgYXMgYmVpbmcgYSBkb2csIGFuZCB1bmxlc3MgdGhlcmUg aXMgYSBnb29kIHJlYXNvbiBub3QgdG8sICcnbGUgZ2Vya3UnJyBpcyB1c3VhbGx5IHByZXN1bWVk IHRvIHJlZmVyIHRvIHNvbWV0aGluZyB3aGljaCBpcyBhbHNvICcnbG8gZ2Vya3UnJy4KCkluIHRy YW5zbGF0aW9uLCAnJ2xvIGdlcmt1JycgaXMgdXN1YWxseSDigJxhIGRvZ+KAnSBvciDigJxzb21l IGRvZ3PigJ0sIHdoaWxlICcnbGUgZ2Vya3UnJyBpcyDigJx0aGUgZG9n4oCdIG9yIOKAnHRoZSBk b2dz4oCdLiBFdmVuIGJldHRlciBmb3IgJydsZSBnZXJrdScnIHdvdWxkIGJlIOKAnHRoZSDigJxk b2cocynigJ0g4oCdCgoKCkxhc3Qgb2YgdGhlIHRocmVlIGJhc2ljICcnZ2FkcmknJywgdGhlcmUg aXMgJydsYScnLCB0aGUgbmFtaW5nICcnZ2FkcmknJywgd2hpY2ggSSBoYXZlIHVuY29udmVudGlv bmFsbHkgY2FsbGVkIOKAnGNvbnZlbnRpb25hbOKAnS4gV2hhdCBJIG1lYW4gYnkgdGhpcyBpcyB0 aGF0IGl0J3MgbmVpdGhlciBkZXNjcmlwdGl2ZSBub3IgdmVyaWRpY2FsLCBzaW5jZSBpdCByZWZl cnMgdG8gYSBwcm9wZXIgbmFtZS4gSWYgSSBpbiBFbmdsaXNoIHJlZmVyIHRvIGEgcGVyc29uIGNh bGxlZCBJbm5vY2VudCBieSBoZXIgbmFtZSwgSSBuZWl0aGVyIGRlc2NyaWJlIGhlciBhcyBiZWlu ZyBpbm5vY2VudCwgbm9yIGRvIEkgc3RhdGUgdGhhdCBzaGUgaXMuIEkgb25seSBzdGF0ZSB0aGF0 IGJ5IGNvbnZlbnRpb24sIHRoYXQgb2JqZWN0IGlzIHJlZmVycmVkIHRvIGJ5IHRoYXQgc2VsYnJp IG9yIGNtZXZsYS4gTm90ZSB0aGF0ICcnbGEnJyBhbmQgdGhlIGdhZHJpIGRlcml2ZWQgZnJvbSBp dCBjYW4gY29udmVydCBjbWV2bGEgdG8gc3VtdGkgdW5saWtlIGFueSBvdGhlciAnJ2dhZHJpJycu IEFsc286IEJlIGNhdXRpb3VzOiBPdGhlciB0ZXh0cyBkbyBub3QgbWVudGlvbiB0aGF0IG5hbWVz IGNhbiBiZSBmb3JtZWQgZnJvbSBvcmRpbmFyeSBzZWxicmkgdXNpbmcgdGhlIGdhZHJpICcnbGEn Jy4gQnV0IHRob3NlIGhlcmV0aWNzIG11c3QgYnVybjsgc2VsYnJpIG5hbWVzIGFyZSBhcyBnb29k IGFzIHRoZXkgZ2V0LCBhbmQgbWFueSBhIHByb3VkIExvamJhbmlzdCBoYXZlIHRoZW0uCgonJ2xh JycsIGFzIHdlbGwgYXMgJydsYWknJyBhbmQgJydsYSdpJycgYXJlIGEgYml0IGVjY2VudHJpYywg c2luY2UgdGhleSBfX2Fsd2F5c19fIG1hcmtzIHRoZSBiZWdpbm5pbmcgb2YgYSBuYW1lLiBVbmxp a2UgdGhlIG90aGVyIGdhZHJpLCBhbnl0aGluZyB0aGF0IGNhbiBiZSBncmFtbWF0aWNhbGx5IHBs YWNlZCBhZnRlciAnJ2xhJycgYW5kIGl0cyBzaXN0ZXJzIGFyZSBjb25zaWRlcmVkIHBhcnQgb2Yg dGhlIG5hbWUuIEZvciBleGFtcGxlLCAnJ2xlIG1pIGdlcmt1JycgaXMgIm15IGRvZyIsIGJ1dCAn J2xhIG1pIGdlcmt1JycgaXMgc29tZW9uZSBjYWxsZWQgIk15IERvZyIuCgoKClRoZXNlIHRocmVl IGJhc2ljICcnZ2FkcmknJyBjYW4gYmUgZXhwYW5kZWQgd2l0aCB0aHJlZSBtb3JlLCB3aGljaCBj b3JyZXNwb25kcyB0byB0aGUgcHJldmlvdXM6CgoKCl9fJydsb2knJ19fIC0gZ2Fkcmk6IHZlcmlk aWNhbCDigJxjb252ZXJ0IHNlbGJyaSB0byBzdW10aeKAnS4gVHJlYXQgcmVzdWx0IGFzIG1hc3Mo ZXMpLgoKX18nJ2xlaScnX18gLSBnYWRyaTogRGVzY3JpcHRpdmUg4oCcY29udmVydCBzZWxicmkg dG8gc3VtdGnigJ0uIFRyZWF0IHJlc3VsdCBhcyBhIG1hc3MoZXMpLgoKX18nJ2xhaScnX18gLSBn YWRyaTogTmFtaW5nIGFydGljbGU6IENvbnZlbnRpb25hbCwg4oCcY29udmVydCBzZWxicmkgb3Ig Y21ldmxhIHRvIHN1bXRp4oCdLiBUcmVhdCByZXN1bHQgYXMgbWFzcyhlcykuCgoKClRoZXNlIGFy ZSB0aGUgc2FtZSBpbiBhbGwgYXNwZWN0cyBleGNlcHQgZm9yIG9uZTogVGhleSB0cmVhdCB0aGUg c3VtdGkgZXhwbGljaXRseSBhcyBtYXNzZXMuIFRoaXMgaXMgd2hlcmUgdGhlIGRpc3RpbmN0aW9u IGJldHdlZW4gaW5kaXZpZHVhbHMgYW5kIG1hc3NlcyBiZWNvbWVzIGltcG9ydGFudC4gSWYgdGhl cmUgaXMgb25seSBvbmUgb2JqZWN0IGluIHF1ZXN0aW9uLCBhbiBpbmRpdmlkdWFsIGFuZCBhIG1h c3MgY29uc2lzdGluZyBvZiBvbmUgb2JqZWN0IGFyZSBlcXVpdmFsZW50LiBUaGUgZGlmZmVyZW5j ZSBiZXR3ZWVuIHRoZXNlIHR3byBjb25jZXB0cyBsaWUgaW4gd2hpY2ggc2VsYnJpIGNhbiBiZSBh c2NyaWJlZCB0byBhIGdyb3VwIG9mIGluZGl2aWR1YWxzIHZlcnN1cyBhIG1hc3MuIEEgZ3JvdXAg b2YgaW5kaXZpZHVhbHMgY2FuIGJlIHNhaWQgdG8gZml0IGEgY2VydGFpbiBzZWxicmkgaWYsIGFu ZCBvbmx5IGlmLCBhbGwgbWVtYmVycyBvZiB0aGUgZ3JvdXAgZWFjaCBmaXQgdGhlIHNlbGJyaS4g SXQgaXMgY29ycmVjdCB0byBkZXNjcmliZSBhIHBhY2sgb2YgJydsbyBnZXJrdScnLCBjb25zaWRl cmVkIGluZGl2aWR1YWxseSwgYXMgYmVpbmcgYmxhY2ssIGlmIGZvciBlYWNoIG9mIHRoZSBkb2dz IGl0J3MgdHJ1ZSB0aGF0IHRoZXkgYXJlIGJsYWNrLiBBIG1hc3MsIG9uIHRoZSBvdGhlciBoYW5k LCBmaXRzIG9ubHkgdGhvc2Ugc2VsYnJpIHdoaWNoIGl0cyBjb21wb25lbnRzIGZpdCBhcyBhIHdo b2xlLCBhcyBhIHRlYW0sIHNvIHRvIHNwZWFrLiBIb3dldmVyLCBhbGwgdGhlIG1lbWJlcnMgb2Yg YSBtYXNzICcnbG9pIGdlcmt1JycgbXVzdCBiZSBkb2dzIGluIG9yZGVyIGZvciAnJ2xvaScnIHRv IGJlIGFwcGxpY2FibGUuIFRoZSBub3Rpb24gb2YgIm1hc3NlcyIgYXJlIHNvcGhpc3RpY2F0ZWQs IGFuZCByZXF1aXJlcyBzb21lIGV4YW1wbGVzIHRvIGRlbW9uc3RyYXRlIHdoaWNoIHByb3BlcnRp ZXMgaXQgY2FuIGhhdmU6CgpfXycnc3J1cmknJ19fOiDigJx4MSBmbGFua3MvZW5jaXJjbGVzL2Vu Y2xvc2VzIHgyIGluIGxpbmUvcGxhbmUvZGlyZWN0aW9ucyB4M+KAnQoKJydsZWkgcHJlbnUgY3Ug c3J1cmkgbG8gemRhbmknJyAtIOKAnFRoZSBwZW9wbGUgc3Vycm91bmRlZCB0aGUgaG9tZS7igJ0g aXMgcGxhdXNpYmxlLCBldmVuIHRob3VnaCwgeW8gbW9tYSBqb2tlcyBub3QgY29uc2lkZXJlZCwg aXQncyBjb21wbGV0ZWx5IGltcGxhdXNpYmxlIHRoYXQgaXQgY291bGQgYmUgdHJ1ZSBmb3IgYW55 IG9uZSBvZiB0aGUgbWVtYmVycyBhbG9uZS4gQW4gRW5nbGlzaCBhbmFsb2d5IGNvdWxkIGJlOiDi gJxIdW1hbnMgZGVmZWF0ZWQgc21hbGxwb3ggaW4gdGhlIDIwdGggY2VudHVyeeKAnS4gU3VyZWx5 IG5vIGh1bWFuIGRpZCBzbywgYnV0IHRoZSBtYXNzIG9mIGh1bWFucyBkaWQsIGFuZCB0aGF0IG1h a2VzIHRoZSBzZW50ZW5jZSB0cnVlIGluIEVuZ2xpc2gsIGFzIHdlbGwgYXMgaW4gTG9qYmFuIGlm IOKAnGh1bWFuc+KAnSBhcmUgYSBtYXNzLiBKdXN0IGxpa2UgdGhlIExvamJhbiBtYXNzLCB0aGUg RW5nbGlzaCBtYXNzIOKAnGh1bWFuc+KAnSBjYW4gb25seSByZWZlciB0byBpbmRpdmlkdWFscyBl YWNoIG9mIHdoaWNoIGFyZSBodW1hbi4gQW5vdGhlciBleGFtcGxlOgoKX18nJ21pdnlzbGUnJ19f OiAieDEgaXMgYSBiaW9sb2dpY2FsIGNlbGwgb2Ygb3JnYW5pc20geDIiCgpfXycncmVtbmEnJ19f OiAieDEgaXMgYSBodW1hbiIKCicnbG9pIG1pdnlzbGUgY3UgcmVtbmEnJyAtICJTb21lIG1hc3Nl cyBvZiBjZWxscyBhcmUgaHVtYW4iLiBBZ2Fpbiwgbm9uZSBvZiB0aGUgY2VsbHMgYXJlIGh1bWFu LiBJbmRlZWQsIHRoZSBjZWxscyBoYXZlIHZlcnkgZmV3IGh1bWFuIHRyYWl0cywgYnV0IHRoZSBj ZWxscyBjb25zaWRlcmVkIGFzIGEgd2hvbGUgbWFrZXMgdXAgYSBodW1hbi4KCgoKQSBtYXNzIG1h ZGUgd2l0aCAnJ2xlaScnLCBzdWNoIGFzICcnbGVpIGdlcmt1JycsIHJlZmVycyB0byBhIG1hc3Mg Zm9ybWVkIGJ5IGEgZ3JvdXAgb2Ygc3BlY2lmaWMgaW5kaXZpZHVhbHMsIGVhY2ggb2Ygd2hpY2gg dGhlIHNwZWFrZXIgcmVmZXJzIHRvIGFzICcnbGUgZ2Vya3UnJy4KCk1hc3MgbmFtZXMgYXMgZGVz Y3JpYmVzIGJ5ICcnbGFpJycgYXJlIG9ubHkgYXBwcm9wcmlhdGUgaWYgdGhlIGdyb3VwIGFzIGEg d2hvbGUgaXMgbmFtZWQgc3VjaCwgYW5kIG5vdCBqdXN0IGlmIGFueSBvZiB0aGUgbWVtYmVycyBh cmUuIEl0IGNhbiwgaG93ZXZlciBiZSB1c2VkIGlmIHRoZSBicmlkaSBpcyB0cnVlIGZvciBvbmx5 IGEgZnJhY3Rpb24gb2YgdGhhdCBncm91cC4KCgoKSXQgaXMgaW1wb3J0YW50IHRvIHJlbWVtYmVy IHRoYXQgJydsbycnIGFuZCAnJ2xlJycgY2FuIGJlIHVzZWQgdG8gZGVzY3JpYmUgYm90aCBpbmRp dmlkdWFscyBhbmQgbWFzc2VzLiBMZXQncyBzYXkgYSBwYWNrIG9mIGRvZ3MsIGNvbnNpZGVyZWQg YXMgYSBtYXNzIG5lZWRzIGRlc2NyaXB0aW9uLiBJIG1pZ2h0IGRlc2NyaWJlIGl0IGFzIGVpdGhl ciAnJ2xvaSBnZXJrdScnIG9yICcnbG8gZ2Vya3UnJy4gSWYgSSB1c2UgJydsbycnLCB0aGlzIGFs bG93cyBtZSB0byBjb3JyZWN0bHkgc3RhdGUgc29tZXRoaW5nIHdoaWNoIGxvb2tzIGxpa2UgYSBj b250cmFkaWN0aW9uLCBidXQgcmVhbGx5IGlzbid0OiAnJ2xvIGdlcmt1IG5hIGdlcmt1JycgLSAi U29tZSBkb2dzIGFyZSBub3QgZG9ncyIuIFNpbmNlIGl0J3MgYmVpbmcgY29uc2lkZXJlZCBhIG1h c3Mgb2YgZG9ncywgdGhlIG1hbnkgZG9ncyBjb25zaWRlcmVzIGFzIGEgd2hvbGUgaXMgbm90IGEg ZG9nLCBidXQgcmF0aGVyIGEgcGFjayBvZiBkb2dzLgoKWW91IG1pZ2h0IGhhdmUgbm90aWNlZCB0 aGF0IHRoZXJlIGlzIG5vIHdvcmQgd2hpY2ggdW5hbWJpZ3VvdXNseSBjb252ZXJ0cyBzZWxicmkg dG8gaW5kaXZpZHVhbChzKS4gSW4gb3JkZXIgdG8gYmUgZXhwbGljaXQgYWJvdXQgaW5kaXZpZHVh bG5lc3MsIG9uZSBuZWVkcyAnJ2xvJycsICcnbGUnJyBvciAnJ2xhJycgd2l0aCBhbiBvdXRlciBx dWFudGlmaWVyLiBUaGUgc3ViamVjdCBvZiBxdWFudGlmaWVycyB3aWxsIGJlIGNvbnNpZGVyZWQg bGF0ZXIsIGluIGxlc3NvbiB0d2VudHktdHdvLiBXaGF0IGlzIHRoZSByZWFzb24gdGhhdCAnJ2xv JycgYW5kICcnbGUnJyB2YWd1ZSwgYW5kIG5vdCBleHBsaWNpdGx5IGluZGl2aWR1YWw/IEl0IGlz IGJlY2F1c2UgdGhlaXIgdmFndWVuZXNzIGVuYWJsZXMgdGhlbSB0byBiZSB1c2VkIGluIGFueSBj b250ZXh0LCB3aXRob3V0IHRoZSBzcGVha2VyIGhhdmluZyB0byB0aGluayBhYm91dCB3aGV0aGVy IGlzIGJlaGF2ZXMgYXMgYSBtYXNzIG9yIGEgZ3JvdXAgb2YgaW5kaXZpZHVhbHMuCgoKClRoaXJk IGluIHRoaXMgc2VyaWVzLCB0aGVyZSBhcmUgdGhyZWUgc2V0LWZvcm1pbmcgJydnYWRyaScnOgoK CgpfXycnbG8naScnX18gLSBnYWRyaTogdmVyaWRpY2FsIOKAnGNvbnZlcnQgc2VsYnJpIHRvIHN1 bXRp4oCdLiBUcmVhdCByZXN1bHQgYXMgYSBzZXQuCgpfXycnbGUnaScnX18gLSBnYWRyaTogRGVz Y3JpcHRpdmUg4oCcY29udmVydCBzZWxicmkgdG8gc3VtdGnigJ0uIFRyZWF0IHJlc3VsdCBhcyBh IHNldC4KCl9fJydsYSdpJydfXyAtIGdhZHJpOiBOYW1pbmcgYXJ0aWNsZTogQ29udmVudGlvbmFs LCDigJxjb252ZXJ0IHNlbGJyaSBvciBjbWV2bGEgdG8gc3VtdGnigJ0uIFRyZWF0IHJlc3VsdCBh cyBhIHNldC4KCgoKVW5saWtlIGdyb3VwcyBvZiBpbmRpdmlkdWFscyBvciwgc29tZXRpbWVzLCBt YXNzZXMsIHNldHMgZG9lcyBub3QgdGFrZSBhbnkgb2YgdGhlIHByb3BlcnRpZXMgZnJvbSB0aGUg b2JqZWN0cyBmcm9tIHdoaWNoIHRoZSBzZXQgaXMgZm9ybWVkLiBBIHNldCBpcyBhIHB1cmVseSBt YXRoZW1hdGljYWwgb3IgbG9naWNhbCBjb25zdHJ1Y3QsIGFuZCBoYXMgcHJvcGVydGllcyBsaWtl IGNhcmRpbmFsaXR5LCBtZW1iZXJzaGlwIGFuZCBzZXQgaW5jbHVzaW9uLiBBZ2Fpbiwgbm90ZSB0 aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIGEgc2V0IG9mIHRoaW5ncywgYW5kIHRoZSB0aGluZ3Mgb2Yg d2hpY2ggdGhlIHNldCBpcyBmb3JtZWQ6CgpfXycndGlyeHUnJ19fIOKAnHgxIGlzIGEgdGlnZXIv bGVvcGFyZC9qYWd1YXIgb2Ygc3BlY2llcy9icmVlZCB4MiB3aXRoIGNvYXQgbWFya2luZ3MgeDPi gJ0KCicnbG8naSB0aXJ4dSBjdSBjbWFsdScnIHNheXMgbm90aGluZyBhYm91dCB3aGV0aGVyIGJp ZyBjYXRzIGFyZSBzbWFsbCAod2hpY2ggaXMsIGJ5IHRoZSB3YXksIG9idmlvdXNseSBmYWxzZSks IGJ1dCBpbnN0ZWFkIHNheSB0aGF0IHRoZSBzZXQgb2YgYmlnIGNhdHMgaXMgc21hbGw7IHRoYXQg aXMgLSB0aGVyZSBhcmUgZmV3IG9mIHRoZW0uCgoKCkxhc3RseSwgdGhlcmUgYXJlIHRoZSAob25s eSB0d28pIGdlbmVyYWxpemluZyAnJ2dhZHJpJyc6CgpfXycnbG8nZScnX18gLSBnYWRyaTogdmVy aWRpY2FsIOKAnGNvbnZlcnQgc2VsYnJpIHRvIHN1bXRp4oCdLiBTdW10aSByZWZlcnMgdG8gdGhl IGFyY2hldHlwZSBvZiAnJ2xvIHtzZWxicml9JycuCgpfXycnbGUnZScnX18gLSBnYWRyaTogRGVz Y3JpcHRpdmUg4oCcY29udmVydCBzZWxicmkgdG8gc3VtdGnigJ0uIFN1bXRpIHJlZmVycyB0byB0 aGUgZGVzY3JpYmVkL3BlcmNlaXZlZCBhcmNoZXR5cGUgb2YgJydsZSB7c2VsYnJpfScnLgoKT2Yg d2hpY2ggdGhlcmUgaXMgbm8gJydsYScnLWVxdWl2YWxlbnQuCgoKClNvLCB3aGF0IGlzIGFjdHVh bGx5IG1lYW50IGJ5IHRoZSBhcmNoZXR5cGU/IEZvciAnJ2xvJ2UgdGlyeHUnJywgaXQgaXMgYW4g aWRlYWwsIGltYWdpbmVkIGJpZyBjYXQsIHdoaWNoIGhhcyBhbGwgdGhlIHByb3BlcnRpZXMgd2hp Y2ggYmVzdCBleGVtcGxpZmllcyBiaWcgY2F0cy4gSXQgd291bGQgYmUgd3JvbmcgdG8gc2F5IHRo YXQgdGhpcyBpbmNsdWRlcyBoYXZpbmcgYSBzdHJpcGVkIGZ1ciwgc2luY2UgYSBiaWcgc3lzdGVt YXRpYyBzdWJncm91cCBvZiB0aGUgbWVtYmVycyBvZiB0aGUgc2V0IG9mIGJpZyBjYXRzIGRvIG5v dCBoYXZlIHN0cmlwZWQgZnVyLCBzdWNoIGFzIHRoZSBsZW9wYXJkcyBhbmQgdGhlIGphZ3VhcnMu IExpa2V3aXNlLCB0aGUgdHlwaWNhbCBodW1hbiBkb2VzIG5vdCBsaXZlIGluIEFzaWEgZXZlbiB0 aG91Z2ggYSBsb3Qgb2YgaHVtYW5zIGRvLiBIb3dldmVyLCBpZiBzdWZmaWNpZW50bHkgbWFueSBo dW1hbnMgaGF2ZSBhIHRyYWl0LCBmb3IgaW5zdGFuY2UgYmVpbmcgYWJsZSB0byBzcGVhaywgd2Ug Y2FuIHNheToKCl9fJydrYWtuZScnX186IOKAnHgxIGlzIGNhcGFibGUgb2YgZG9pbmcvYmVpbmcg eDIgdW5kZXIgY2lyY3Vtc3RhbmNlIHgz4oCdCgonJ2xvJ2UgcmVtbmEgY3Uga2FrbmUgbG8gbnUg dGF2bGEnJyAtIOKAnFRoZSB0eXBpY2FsIGh1bWFuIGJlaW5nIGNhbiBzcGVha+KAnS4KCgoKJyds ZSdlJycgdGhlbiwgaXMgdGhlIGlkZWFsIG9iamVjdCBhcyBwZXJjZWl2ZWQgb3IgZGVzY3JpYmVk IGJ5IHRoZSBzcGVha2VyLiBUaGlzIG5lZWQgbm90IGJlIGZhY3R1YWxseSBjb3JyZWN0LCBhbmQg aXMgb2Z0ZW4gdHJhbnNsYXRlZCBhcyB0aGUg4oCcc3RlcmVvdHlwZeKAnSwgZXZlbiB0aG91Z2gg dGhlIEVuZ2xpc2ggcGhyYXNlIGhhdmUgc29tZSB1bnBsZWFzYW50IG5lZ2F0aXZlIGNvbm5vdGF0 aW9ucywgd2hpY2ggdGhlIExvamJhbiBkb2VzIG5vdC4gSW4gZmFjdCwgZXZlcnlvbmUgaGFzIGEg c3RlcmVvdHlwaWNhbCBhcmNoZXR5cGljaGFsIGltYWdlIG9mIGFueSBjYXRlZ29yeS4gSW4gb3Ro ZXIgd29yZHMsICcnbG8nZSByZW1uYScnIGlzIHRoZSBhcmNoZXR5cGUgd2hpY2ggYmVzdCBleGVt cGxpZmllcyBhbGwgJydsbyByZW1uYScnLCB3aGlsZSB0aGUgYXJjaGV0eXBlICcnbGUnZSByZW1u YScnIGJlc3QgZXhlbXBsaWZpZXMgYWxsICcnbGUgcmVtbmEnJy4KCgoKVGhlIGVsZXZlbiBnYWRy aSBjYW4gYmUgc2VlbiBpbiB0aGUgZGlhZ3JhbSBiZWxvdy4KCnx8IHxHZW5lcmljfE1hc3Nlc3xT ZXRzfEdlbmVyYWxpemluZwoKdmVyaWRpY2FsfGxvfGxvaXxsbydpfGxvJ2UKCkRlc2NyaXB0aXZl fGxlfGxlaXxsZSdpfGxlJ2UKCk5hbWV8bGF8bGFpfGxhJ2l8ZG9lcyBub3QgZXhpc3R8fAoKCgpO b3RlOiBFYXJsaWVyLCB0aGVyZSB3YXMgYSB3b3JkICcneG8nZScnIGZvciB0aGUgZ2VuZXJpYyBn YWRyaS4gSG93ZXZlciwgdGhlIHJ1bGVzIGFuZCBkZWZpbml0aW9ucyBmb3IgZ2Fkcmkgd2VyZSBj aGFuZ2VkIGluIGxhdGUgMjAwNCwgYW5kIHRoZSBjdXJyZW50IHNldCBvZiBydWxlcyBvbiB0aGlz IHRvcGljLCBuaWNrZWQg4oCceG9ybG/igJ0gaGFzIHJlcGxhY2VkIHRoZSBvbGQgd2F5LiBOb3cs ICcnbG8nJyBpcyBnZW5lcmljLCBhbmQgJyd4bydlJycgaXMgdXNlZCBhcyBhbiBlbGxpcHRpY2Fs IGRpZ2l0IChsZXNzb24gbmluZXRlZW4pLgoKCgoKCiEhTG9qYmFuIExlc3NvbnMgLSBMZXNzb24g ZmlmdGVlbiAodGhlIExvamJhbiBzdW10aSAyOiBLT2hBMywgS09oQTUgYW5kIEtPaEE2KQoKU2Vl IHdoYXQgaGFwcGVucyBpZiBJIHRyeSB0byB0cmFuc2xhdGUgdGhlIHNlbnRlbmNlOiDigJxTdGVy ZW90eXBpY2FsIHBlb3BsZSB3aG8gY2FuIHNwZWFrIExvamJhbiBzcGVhayB0byBlYWNoIG90aGVy IGFib3V0IHRoZSBsYW5ndWFnZXMgdGhleSBjYW4gc3BlYWvigJ06CgpfXycnYmFuZ3UnJ19fIOKA nHgxIGlzIGEgbGFuZ3VhZ2UgdXNlZCBieSB4MiB0byBleHByZXNzIHgzIChhYnN0cmFjdGlvbini gJ0KCicnbGUnZSBwcmVudSBwb2kga2UnYSBrYWtuZSBsbyBudSB0YXZsYSBmbyBsYSAubG9qYmFu LiBjdSB0YXZsYSBsZSdlIHByZW51IHBvaSBrZSdhIGtha25lIGxvIG51IHRhdmxhIGZvIGxhIC5s b2piYW4uIGxvIGJhbmd1IHBvaSBsbyBwcmVudSBwb2kga2UnYSB0YXZsYSBmbyBsYSAubG9qYmFu LiBjdSBzZSBiYW5ndSBrZSdhJycKCgoKV2hhdCB3ZSBzZWUgaXMgdGhhdCB0aGUgTG9qYmFuIHZl cnNpb24gaXMgbXVjaCBsb25nZXIgdGhhbiB0aGUgRW5nbGlzaC4gVGhpcyBpcyBwcmltYXJpbHkg YmVjYXVzZSB0aGUgZmlyc3QsIHJpZGljdWxvdXNseSBsb25nIHN1bXRpIGlzIGJlaW5nIHJlcGVh dGVkIHR3byBtb3JlIHRpbWVzIGluIHRoZSBMb2piYW4gdGV4dCwgd2hpbGUgdGhlIEVuZ2xpc2gg Y2FuIHJlZmVyIHRvIGl0IGJ5IOKAnGVhY2ggb3RoZXLigJ0gYW5kIOKAnHRoZXnigJ0gLSBtdWNo IG1vcmUgZWZmaWNpZW50bHkuIFdvdWxkbid0IGl0IGJlIGNsZXZlciBpZiBMb2piYW4gc29tZWhv dyBoYWQgbWVjaGFuaXNtcyBmb3IgZG9pbmcgdGhlIHNhbWU/CgoKCkl0IHR1cm5zIG91dCBpdCBk b2VzLCB3aGF0IGEgc3VycHJpc2UhIExvamJhbiBoYXMgYSByYW5nZSBvZiB3b3JkcyBjYWxsZWQg JydzdW1rYSdpJycgbWVhbmluZyDigJxzdW10aS1yZXByZXNlbnRhdGl2ZXPigJ0uIEluIEVuZ2xp c2gsIHdlIHJlZmVyIHRvIHRoZW0gYXMgcHJvLXN1bXRpLCBiZWNhdXNlIHRoZXkgYXJlIGVzc2Vu dGlhbGx5IHRoZSBzYW1lIGFzIHRoZSBFbmdsaXNoIHByb25vdW5zLCBidXQgd2l0aCBzdW10aSBp bnN0ZWFkIG9mIG5vdW5zLiBJbiBmYWN0LCB5b3UgYWxyZWFkeSBrbm93ICcndGknJywgJydkbycn IGFuZCAnJ21pJycsIGJ1dCB0aGVyZSBhcmUgbWFueSBtb3JlLCBzbyBsZXQncyBnZXQgbGVhcm5p bmcuIEZpcnN0LCB3ZSB3YW50IHRvIHB1dCBpdCBpbnRvIHN5c3RlbS4gV2UgY2FuIGJlZ2luIHdp dGggdGhlIG9uZXMgbW9zdCBmYW1pbGlhciB0byBFbmdsaXNoLCBhbmQgd2hhdCB5b3UndmUgYWxy ZWFkeSBsZWFybmVkOgoKCgpfXycndGknJ19fIC0gc3Vta2EnaTog4oCcaW1tZWRpYXRlIOKAmGl0 JzogcmVwcmVzZW50cyBhIHN1bXRpIHBoeXNpY2FsbHkgbmVhciB0aGUgc3BlYWtlcuKAnQoKX18n J3RhJydfXyAtIHN1bWthJ2k6IOKAnG5lYXJieSDigJhpdCc6IHJlcHJlc2VudHMgYSBzdW10aSBz b21lIHBoeXNpY2FsIGRpc3RhbmNlIGZyb20gdGhlIHNwZWFrZXIgT1IgY2xvc2UgdG8gdGhlIGxp c3RlbmVy4oCdCgpfXycndHUnJ19fIC0gc3Vta2EnaTog4oCcZGlzdGFudCDigJhpdCc6IHJlcHJl c2VudHMgYSBzdW10aSBwaHlzaWNhbGx5IGZhciBmcm9tIHRoZSBzcGVha2VyIGFuZCB0aGUgbGlz dGVuZXIu4oCdCgoKCllvdSBjYW4gYWdhaW4gcmVjb2duaXplIHRoZSDigJxpLCBhLCB14oCdLXNl cXVlbmNlIHdoaWNoIHBvcHMgdXAgb3ZlciBhbmQgb3Zlci4gU29tZSB0aGluZ3MgbWlnaHQgdGFr ZSBzb21lIGNsZWFyaW5nIHVwLCB0aG91Z2guIEZpcnN0bHksIHRoZXNlIHN1bXRpIGNhbiByZXBy ZXNlbnQgYW55dGhpbmcgd2hpY2ggY2FuIGJlIHNhaWQgdG8gb2NjdXB5IGEgcGh5c2ljYWwgc3Bh Y2UuIE9iamVjdHMsIGNlcnRhaW5seS4gSWRlYXMsIGNlcnRhaW5seSBub3QuIEV2ZW50cyBhcmUg YWNjZXB0ZWQsIGJ1dCBvbmx5IHRvIHRoZSBleHRlbnQgdGhleSBhcmUgcmVzdHJpY3RlZCB0byBh IHNwZWNpZmljIHBsYWNlIC0gdGhlIEphc21pbiBSZXZvbHV0aW9uIGNhbm5vdCBiZSBwb2ludGVk IGF0LCBidXQgc29tZSBiYXItZmlnaHQgb3IgYSBraXNzIG1pZ2h0LiBTZWNvbmRseSwgbm90ZSB0 aGF0IHRoZSBkaXN0YW5jZSBpcyByZWxhdGl2ZSB0byBkaWZmZXJlbnQgdGhpbmdzIGZvciB0aGUg ZGlmZmVyZW50IHdvcmRzOiAnJ3R1Jycgb25seSBhcHBsaWVzIGlmIGl0J3MgZGlzdGFudCBmcm9t IGJvdGggdGhlIHNwZWFrZXIgYW5kIHRoZSBsaXN0ZW5lci4gSW4gY2FzZXMgd2hlcmUgdGhlIHNw ZWFrZXIgYW5kIGxpc3RlbmVyIGlzIGZhciBhcGFydCBhbmQgdGhlIGxpc3RlbmVyIGNhbm5vdCBz ZWUgdGhlIHNwZWFrZXIgdGFsa2luZywgJyd0YScnIHJlZmVycyB0byBzb21ldGhpbmcgY2xvc2Ug dG8gdGhlIGxpc3RlbmVyLiBUaGlyZGx5LCBpdCdzIGFsbCByZWxhdGl2ZSBhbmQgY29udGV4dCBk ZXBlbmRlbnQuIFRoZXNlIHRocmVlIHdvcmRzIGFyZSBhbGwgcHJvYmxlbWF0aWMgaW4gd3JpdHRl biB0ZXh0LCBmb3IgaW5zdGFuY2UsIGJlY2F1c2UgdGhlIHBvc2l0aW9uIG9mIHRoZSBzcGVha2Vy IGFuZCBsaXN0ZW5lciBpcyB1bmtub3duIHRvIGVhY2ggb3RoZXIsIGFuZCBjaGFuZ2VzIGFzIHRp bWUgZ29lcyBieS4gRnVydGhlcm1vcmUsIHRoZSBhdXRob3Igb2YgYSBib29rIGNhbm5vdCBwb2lu dCB0byBhbiBvYmplY3QgYW5kIGV4cHJlc3MgdGhlIHBvaW50aW5nIGluIHRoZSBib29rLgoKCgpU aGVuIHRoZXJlIGlzIGEgc2VyaWVzIGNhbGxlZCBLT2hBMywgdG8gd2hpY2ggJydtaScnIGFuZCAn J2RvJycgKGFuZCAnJ2tvJycsIGJ1dCBJIHdvbid0IHdyaXRlIHRoYXQgaGVyZSkgYmVsb25nczoK Cl9fJydtaScnX18gLSBzdW1rYSdpOiBUaGUgc3BlYWtlcihzKS4KCl9fJydtaSdvJydfXyAtIHN1 bWthJ2k6IFRoZSBtYXNzIG9mIHRoZSBzcGVha2VyKHMpIGFuZCB0aGUgbGlzdGVuZXIocykgLgoK X18nJ21pJ2EnJ19fIC0gc3Vta2EnaTogVGhlIG1hc3Mgb2YgdGhlIHNwZWFrZXIocykgYW5kIG90 aGVycy4KCl9fJydtYSdhJydfXyAtIHN1bWthJ2k6IFRoZSBtYXNzIG9mIHRoZSBzcGVha2VyKHMp LCB0aGUgbGlzdGVuZXIocykgYW5kIG90aGVycy4KCl9fJydkbycnX18gLSBzdW1rYSdpOiBUaGUg bGlzdGVuZXIocykuCgpfXycnZG8nbycnX18gLSBzdW1rYSdpOiBUaGUgbWFzcyBvZiB0aGUgbGlz dGVuZXIocykgYW5kIG90aGVycy4KCgoKVGhlc2Ugc2l4IHN1bWthJ2kgYXJlIG1vcmUgZWFzaWx5 IGdyYXNwZWQgaW4gdGhlIGJlbG93IFZlbm4gZGlhZ3JhbToKCgoKe2ltZyBmaWxlSWQ9IjMiIHRo dW1iPSJ5IiByZWw9ImJveFtnXSJ9CgpWZW5uIGRpYWdyYW0gb2YgS09oQTMgKCcna28nJyBleGNs dWRlZCkuICcnbGUgZHJhdGEnJyBpcyBub3QgYSBLT2hBMywgYnV0IG1lYW5zIOKAnHRoZSBvdGhl cihzKeKAnQoKCgpJdCBpcyBwb3NzaWJsZSBmb3Igc2V2ZXJhbCBwZW9wbGUgdG8gYmUg4oCcdGhl IHNwZWFrZXJz4oCdLCBpZiBvbmUgc3RhdGVtZW50IGlzIG1hZGUgb24gdGhlIGJlaGFsZiBvZiBh bGwgb2YgdGhlbS4gVGhlcmVmb3JlLCB3aGlsZSDigJx3ZeKAnSBjYW4gYmUgdHJhbnNsYXRlZCBh cyBlaXRoZXIgJydtaScnLCAnJ21pJ28nJywgJydtaSdhJycgb3IgJydtYSdhJycsIHdoYXQgb25l IHF1aXRlIG9mdGVuIG1lYW5zIGlzIHJlYWxseSBqdXN0ICcnbWknJy4gQWxsIG9mIHRoZXNlIHNp eCwgaWYgdGhleSByZWZlciB0byBtb3JlIHRoYW4gb25lIGluZGl2aWR1YWwsIHJlcHJlc2VudCBt YXNzZXMuIFdpdGhpbiBicmlkaS1sb2dpYywgdGhlIGJyaWRpICcnbWkgZ2xla2knJyBzYWlkIGJ5 IHNwZWFrZXIgQSBpcyBleGFjdGx5IGVxdWl2YWxlbnQgdG8gJydkbyBnbGVraScnIHNhaWQgYnkg c3BlYWtlciBCIHRvIHNwZWFrZXIgQSwgYW5kIGFyZSBjb25zaWRlcmVkIHRoZSBzYW1lIGJyaWRp LiBXZSB3aWxsIGNvbWUgYmFjayB0byB0aGlzIGxhdGVyLCBpbiB0aGUgJydicmlrYSdpJycgKHBy by1icmlkaSkgbGVzc29uLgoKCgpBbGwgb2YgdGhlc2UgJydzdW1rYSdpJycgYXJlIHZlcnkgY29u dGVudC1zcGVjaWZpYywgYW5kIGNhbm5vdCBiZSB1c2VkLCBmb3IgaW5zdGFuY2UsIHRvIGhlbHAg dXMgd2l0aCB0aGUgc2VudGVuY2Ugd2hpY2ggdGhpcyBsZXNzb24gYmVnYW4gd2l0aC4gVGhlIGZv bGxvd2luZyBzZXJpZXMgY2FuIGluIHByaW5jaXBsZSBiZSB1c2VkIHRvIHJlZmVyIHRvIGFueSBz dW10aToKCl9fJydyaScnX18gLSBzdW1rYSdpOiDigJxMYXN0IHN1bXRpIG1lbnRpb25lZOKAnQoK X18nJ3JhJydfXyAtIHN1bWthJ2k6IOKAnEEgcmVjZW50LCBidXQgbm90IHRoZSBsYXN0IHN1bXRp IG1lbnRpb25lZOKAnQoKX18nJ3J1JydfXyAtIHN1bWthJ2k6IOKAnEEgc3VtdGkgbWVudGlvbmVk IGxvbmcgYWdv4oCdCgoKClRoZXNlIHN1bXRpIHdpbGwgcmVmZXIgdG8gYW55IHRlcm1pbmF0ZWQg c3VtdGkgZXhjZXB0IG1vc3Qgb3RoZXIgJydzdW1rYSdpJycuIFRoZSByZWFzb24gdGhhdCBtb3N0 IG90aGVyICcnc3Vta2EnaScnIGNhbm5vdCBiZSByZWZlcnJlZCB0byBieSB0aGVzZSBzdW10aSwg aXMgdGhhdCB0aGV5IGFyZSBzbyBlYXN5IHRvIGp1c3QgcmVwZWF0IGJ5IHRoZW1zZWx2ZXMuIFRo ZSBleGNlcHRpb24gdG8gdGhlIHJ1bGUgYXJlICcndGknJywgJyd0YScnIGFuZCAnJ3R1JycsIGJl Y2F1c2UgeW91IGNvdWxkIGhhdmUgY2hhbmdlZCB3aGF0IHlvdSBwb2ludCBhdCwgYW5kIHRodXMg Y2Fubm90IGp1c3QgcmVwZWF0IHRoZSB3b3JkLiBUaGV5IHdpbGwgb25seSByZWZlciB0byB0ZXJt aW5hdGVkIHN1bXRpLCBhbmQgdGh1cyBjYW5ub3QsIGZvciBpbnN0YW5jZSwgYmUgdXNlZCB0byBy ZWZlciB0byBhbiBhYnN0cmFjdGlvbiBpZiB0aGUgd29yZCBpbiBpcyB0aGF0IGFic3RyYWN0aW9u OiAnJ2xlIHBlbmRvIG5vaSBrZSdhIHBlbmRvIG1pIGN1IGRqaWNhIGxvIG51IHJpIHNlIHpkYW5p JycgLSBoZXJlICcncmknJyBjYW5ub3QgcmVmZXIgdG8gdGhlIGFic3RyYXRpb24sIHNpbmNlIGl0 IGlzIG5vdCB0ZXJtaW5hdGVkLCBub3IgdG8gJydtaScnIG9yICcna2UnYScnLCBzaW5jZSB0aGV5 IGFyZSBzdW1rYSdpLCBzbyBpdCByZWZlcnMgdG8gJydsZSBwZW5kbycnLgoKJydyYScnIGFuZCAn J3J1JycgYXJlIGNvbnRleHQtZGVwZW5kZW50IGluIHdoYXQgdGhleSByZWZlciB0bywgYnV0IHRo ZXkgZm9sbG93IHRoZSBydWxlcyBtZW50aW9uZWQgYWJvdmUsIGFuZCAnJ3J1JycgYWx3YXlzIHJl ZmVyIHRvIGEgbW9yZSBkaXN0YW50IHN1bXRpIHRoYW4gJydyYScnLCB3aGljaCBpcyBhbHdheXMg bW9yZSBkaXN0YW50IHRoYW4gJydyaScnLgoKCgonJ3JpJycgYW5kIGl0J3MgYnJvdGhlcnMgYXJl IHByZXR0eSB3ZWxsIHN1aXRlZCBmb3IgZGVhbGluZyB3aXRoIHRoZSBvcmlnaW5hbCBzZW50ZW5j ZS4gVHJ5IHNheWluZyBpdCB1c2luZyB0d28gaW5zdGFuY2VzIG9mICcnc3Vta2EnaScnIQoKCgpB bnN3ZXI6IH5+Z3JleSxncmV5OicnbGUnZSBwcmVudSBwb2kga2UnYSBrYWtuZSBsbyBudSB0YXZs YSBmbyBsYSAubG9qYmFuLiBjdSB0YXZsYSBydSBsbyBiYW5ndSBwb2kgcnUgY3Ugc2UgYmFuZ3Ug a2UnYScnLiAnJ3JpJycgaXMgbm90IGNvcnJlY3QsIGJlY2F1c2UgaXQgcmVmZXJzIHRvICcnbGEg LmxvamJhbi4nJy4gJydyYScnIGNvdWxkIGJlIHVzZWQsIGJ1dCBjb3VsZCBiZSBtaXN0YWtlbmx5 IGJlIHRob3VnaHQgdG8gcmVmZXIgdG8gJydsbyBudSB0YXZsYSBmbyBsYSAubG9qYmFuLicnLCBi dXQgJydydScnIGlzIGFzc3VtZWQgdG8gcmVmZXIgdG8gdGhlIG1vc3QgZGlzdGFudCBzdW10aSAt IHRoZSBtb3N0IG91dGVyIG9uZS5+fgoKCgpMYXN0bHksIHRoZXJlIGEgc3VtdGNpdGEgd2hpY2gg cmVwcmVzZW50IHV0dGVyYW5jZXM6IFNvIGNhbGxlZCB1dHRlcmFuY2UgdmFyaWFibGVzLiBUaGV5 IG5lZWQgbm90IGJlIHJlc3RyaWN0ZWQgdG8gb25lIHNlbnRlbmNlIChqdWZyYSksIGJ1dCBjYW4g YmUgc2V2ZXJhbCBzZW50ZW5jZXMsIGlmIHRoZSBjb250ZXh0IGFsbG93cyBpdDoKCl9fJydkYSd1 JydfXyBVdHRlcmFuY2UgdmFyaWFibGU6IFJlbW90ZSBwYXN0IHNlbnRlbmNlCgpfXycnZGUndScn X18gVXR0ZXJhbmNlIHZhcmlhYmxlOiBSZWNlbnQgc2VudGVuY2UKCl9fJydkaSd1JydfXyBVdHRl cmFuY2UgdmFyaWFibGU6IFByZXZpb3VzIHNlbnRlbmNlCgpfXycnZGVpJydfXyBVdHRlcmFuY2Ug dmFyaWFibGU6IFRoaXMgc2VudGVuY2UKCl9fJydkaSdlJydfXyBVdHRlcmFuY2UgdmFyaWFibGU6 IE5leHQgc2VudGVuY2UKCl9fJydkZSdlJydfXyBVdHRlcmFuY2UgdmFyaWFibGU6IE5lYXIgZnV0 dXJlIHNlbnRlbmNlCgpfXycnZGEnZScnX18gVXR0ZXJhbmNlIHZhcmlhYmxlOiBSZW1vdGUgZnV0 dXJlIHNlbnRlbmNlCgpfXycnZG8naScnX18gVXR0ZXJhbmNlIHZhcmlhYmxlOiBFbGxpcHRpY2Fs IHV0dGVyYW5jZSB2YXJpYWJsZTog4oCcU29tZSBzZW50ZW5jZeKAnQoKVGhlc2UgcmVwcmVzZW50 cyBzZW50ZW5jZXMgYXMgc3VtdGksIGFuZCByZWZlciBvbmx5IHRvIHRoZSBzcG9rZW4gd29yZHMg b3IgdGhlIGxldHRlcnMsIG5vdCB0byB0aGUgbWVhbmluZyBiZWhpbmQgdGhlbS4KCgoKVGhlcmUg YXJlIG1vcmUgTG9qYmFuICcnc3Vta2EnaScnLCBidXQgZm9yIG5vdyB5b3UgcHJvYmFibHkgbmVl ZCBhIGJyZWFrIGZyb20gdGhlbS4gVGhlIG5leHQgbGVzc29uIHdpbGwgYmUgb24gZGVyaXZlZCBz dW10aSwgc3VtdGkgbWFkZSBmcm9tIG90aGVyIHN1bXRpLgoKCgoKCiEhTG9qYmFuIExlc3NvbnMg LSBMZXNzb24gc2l4dGVlbiAodGhlIExvamJhbiBzdW10aSAzOiBkZXJpdmVkIHN1bXRpKQoKWW91 IGNhbiBwcm9iYWJseSBzZWUgdGhhdCB0aGUgc3VtdGkgJydsZSBiYW5ndSBwb2kgbWkgc2UgYmFu Z3Uga2UnYScnIGlzIGEgbGVzcyB0aGFuIGVsZWdhbnQgZXhwcmVzc2lvbiBmb3Ig4oCcbXkgbGFu Z3VhZ2XigJ0uIFRoaXMgaXMgYmVjYXVzZSBpdCdzIHJlYWxseSBhIHdvcmsgYXJvdW5kLiBBIGxh bmd1YWdlIHdoaWNoIEkgc3BlYWsgY2FuIGJlIHNhaWQgdG8gZmlsbCBpbnRvIHRoZSB4MSBvZiB0 aGUgYnJpZGkgJydiYW5ndSBtaScnLiBXZSBjYW4ndCBjb252ZXJ0IHRoYXQgdG8gYSBzdW10aSB1 c2luZyBhIGdhZHJpOiAnJ2xlIGJhbmd1IHtrdX0gbWknJyBpcyB0d28gc3VtdGksIGJlY2F1c2Ug JydiYW5ndSBtaScnIGlzIGEgYnJpZGksIG5vdCBhIHNlbGJyaS4gTmVpdGhlciBjYW4gd2UgY29u dmVydCBpdCB1c2luZyAnJ2xlIHN1J3UnJywgYmVjYXVzZSB0aGUgc3UndSBnaXZlcyB0aGUgYnJp ZGkgYSBuZXcgeDEsIHRoZSBhYnN0cmFjdGlvbiwgYW5kIHRoZSAnJ2xlJycgdGhlbiBleHRyYWN0 cyB0aGF0LiBUaGF0IG1ha2VzIGFuIGFic3RyYWN0aW9uIHN1bXRpIG1lYW5pbmcgc29tZXRoaW5n IGxpa2Ug4oCcdGhhdCBzb21ldGhpbmcgaXMgbXkgbGFuZ3VhZ2XigJ0uCgpFbnRlciAnJ2JlJycu ICcnYmUnJyBpcyBhIHdvcmQgd2hpY2ggYmluZHMgY29uc3RydWN0cyAoc3VtdGksIHN1bXRjaXRh IGFuZCBvdGhlcnMpIHRvIGEgc2VsYnJpLiBVc2luZyBpdCBpbiBvcmRpbmFyeSBzZWxicmkgaGFz IG5vIGVmZmVjdDogaW4gJydtaSBuZWxjaSBiZSBkbycnLCB0aGUgJydiZScnIGRvZXMgbm90aGlu Zy4gSG93ZXZlciwgd2hlbiBhIHN1bXRpIGlzIGJvdW5kIHRvIGEgc2VsYnJpIHRoaXMgd2F5LCB5 b3UgY2FuIHVzZSBhIGdhZHJpIG9uIHRoZSBzZWxicmkgd2l0aG91dCB0aGUgc3VtdGkgc3BsaXR0 aW5nIG9mZjogJydsZSBiYW5ndSBiZSBtaScnIGlzIGEgY29ycmVjdCBzb2x1dGlvbiB0byB0aGUg cHJvYmxlbSBhYm92ZS4gTGlrZXdpc2UsIHlvdSBjYW4gYXR0YWNoIGEgc3VtdGNpdGE6ICcnbGUg bnUgZGFyeGkga2VpIGJlIGdhdSBkbycnOiDigJxUaGUgZXZlbnQgb2YgaGl0dGluZywgd2hpY2gg aXMgY2F1c2VkIGJ5IHlvdeKAnS4gTm90ZSB0aGF0IHRoZSBwcmVzZW5jZSBvciBhYnNlbmNlIG9m ICcna2VpJycgbWFrZXMgaXQgcGFyc2UgZGlmZmVyZW50bHk6IFdpdGggdGhlIGZhJ29ybWEnbyBw cmVzZW50LCAnJ2JlJycgYXR0YWNoZXMgdG8gJydudScnLCB3aXRob3V0IHRoZSBmYSdvcm1hJ28s IGl0IGF0dGFjaGVzIHRvICcnZGFyeGknJy4gU28gaXQgZGVjaWRlcyB3aGF0IGlzIGJlaW5nIGVt cGhhc2lzZWQ6IElzIHRoZSBoaXR0aW5nLCBvciB0aGUgZXZlbnQgb2YgaGl0dGluZyBjYXVzZWQg YnkgeW91PyBJbiB0aGlzIHNwZWNpZmljIGNhc2UsIHRob3VnaCwgdGhhdCdzIGp1c3QgYWJvdXQg dGhlIHNhbWUgdGhpbmcuCgoKCldoYXQgaWYgSSB3YW50IHRvIGF0dGFjaCBzZXZlcmFsIHN1bXRp IHRvIGEgc2VsYnJpIGluc2lkZSBhIGdhZHJpPyDigJxUaGUgZ2l2ZXIgb2YgdGhlIGFwcGxlIHRv IHlvdeKAnSBpcyAnJ2xlIGR1bmRhIGJlIGxvIHBsaXNlIGJlIGRvJycsIHJpZ2h0PyBOb3BlLiBU aGUgc2Vjb25kICcnYmUnJyBhdHRhY2hlcyB0byB0aGUgYXBwbGUsIG1lYW5pbmcgJydsZSBwbGlz ZSBiZSBkbycnIC0g4oCcVGhlIGFwcGxlIG9mIHRoZSBzdHJhaW4gb2YgeW914oCdLCB3aGljaCBt YWtlcyBubyBzZW5zZS4gSW4gb3JkZXIgdG8gc3RyaW5nIHNldmVyYWwgc3VtdGkgdG8gYSBzZWxi cmksIHRoZSBhbGwgdGhlIG9uZXMgZm9sbG93aW5nIHRoZSBmaXJzdCBtdXN0IGJlIGJvdW5kIHdp dGggJydiZWknJy4gVGhlIOKAnGJpbmRpbmfigJ0gY2FuIGJlIHRlcm1pbmF0ZWQgd2l0aCAnJ2Jl J28nJyAtIG9uZSBpbnN0YW5jZSBvZiAnJ2JlJ28nJyBmb3IgZWFjaCBzZWxicmkgd2hpY2ggaGFz IHN1bXRpIGJvdW5kIGJ5ICcnYmUnJy4KClRvIGxpc3QgdGhlbToKCl9fJydiZScnX18gYmluZHMg c3VtdGkgb3Igc3VtdGNpdGEgdG8gc2VsYnJpCgpfXycnYmVpJydfXyBiaW5kcyBhIHNlY29uZCwg dGhpcmQsIGZvdXJ0aCAoZWN0KSBzdW10aSBvciBzdW10Y2l0YSB0byBhIHNlbGJyaQoKX18nJ2Jl J28nJ19fIGVuZHMgYmluZGluZyB0byBzZWxicmkKCgoKVGhlcmUgaXMgYWxzbyB3YXlzIHRvIGxv b3NlbHkgYXNzb2NpYXRlIGEgc3VtdGkgd2l0aCBhbm90aGVyLiAnJ3BlJycgYW5kICcnbmUnJyBm b3IgcmVzdHJpY3RpdmUgYW5kIG5vbi1yZXN0cmljdGl2ZSBhc3NvY2lhdGlvbi4gQWN0dWFsbHks ICcnbGUgYmFuZ3UgcGUgbWknJyBpcyBhIGJldHRlciB0cmFuc2xhdGlvbiBvZiDigJxteSBsYW5n dWFnZeKAnSwgc2luY2UgdGhpcyBwaHJhc2UsIGxpa2UgdGhlIEVuZ2xpc2gsIGlzIHZhZ3VlIGFz IHRvIGhvdyB0aGUgdHdvIGFyZSBhc3NvY2lhdGVkIHdpdGggZWFjaCBvdGhlci4KCicncGUnJyBh bmQgJyduZScnIGFyZSB1c2VkIGFzIGxvb3NlIGFzc29jaWF0aW9uIG9ubHksIGxpa2Ugc2F5aW5n IOKAnG15IGNoYWly4oCdIGFib3V0IGEgY2hhaXIgd2hpY2ggeW91IHNpdCBvbi4gSXQncyBub3Qg cmVhbGx5IHlvdXJzLCBidXQgaGFzIHNvbWV0aGluZyBkbyB0byB3aXRoIHlvdS4gQSBtb3JlIGlu dGltYXRlIGNvbm5lY3Rpb24gY2FuIGJlIGVzdGFibGlzaGVkIHdpdGggJydwbycnLCB3aGljaCBt YWtlcyB0aGUgYXNzb2NpYXRpb24gdW5pcXVlIGFuZCBiaW5kaW5nIHRvIGEgcGVyc29uLCBhcyBp biDigJxteSBjYXLigJ0gZm9yIGEgY2FyIHRoYXQgeW91IGFjdHVhbGx5IG93bi4gVGhlIGxhc3Qg a2luZCBvZiBhc3NvY2lhdG9yIGlzICcncG8nZScnLCB3aGljaCBtYWtlcyBhIHNvLWNhbGxlZCAi aW5hbGllbmFibGUiIGJvbmQgYmV0d2VlbiBzdW10aSwgbWVhbmluZyB0aGF0IHRoZSBib25kIGlz IGlubmF0ZSBiZXR3ZWVuIHRoZSB0d28gc3VtdGkuIFNvbWUgZXhhbXBsZXMgY291bGQgYmUgIm15 IG1vdGhlciIsICJteSBhcm0iIG9yICJteSBob21lIGNvdW50cnkiOyBub25lIG9mIHRoZXNlICJw b3NzZXNpb25zIiBjYW4gYmUgbG9zdCAoZXZlbiBpZiB5b3Ugc2F3IG9mZiB5b3VyIGFybSwgaXQn cyBzdGlsbCBfX3lvdXJfXyBhcm0pLCBhbmQgYXJlIHRoZXJlZm9yZSBpbmFsaWVuYWJsZS4gQWxt b3N0IGFsbCBvZiB0aGUgdGltZXMgYSAnJ3BvJ2UnJyBpcyBhcHByb3ByaWF0ZSwgdGhvdWdoLCB0 aGUgeDIgb2YgdGhlIHNlbGJyaSBjb250YWlucyB0aGUgb25lIHRvIHdoaWNoIHRoZSB4MSBpcyBj b25uZWN0ZWQsIHNvICcnYmUnJyBpcyBiZXR0ZXIuCgpfXycnbmUnJ19fIG5vbi1yZXN0cmljdGl2 ZSByZWxhdGl2ZSBwaHJhc2UuICJ3aGljaCBpcyBhc3NvY2lhdGVkIHdpdGguLi4iCgpfXycncGUn J19fIHJlc3RyaWN0aXZlIHJlbGF0aXZlIHBocmFzZS4gIndoaWNoIGlzIGFzc29jaWF0ZWQgd2l0 aC4uLiIKCl9fJydwbycnX18gcG9zc2VzaXZlIHJlbGF0aXZlIHBocmFzZS4gIndoaWNoIGlzIHNw ZWNpZmljIHRvLi4uIgoKX18nJ3BvJ2UnJ19fIGluYWxpZW5hYmxlIHJlbGF0aXZlIHBocmFzZS4g IndoaWNoIGJlbG9uZ3MgdG8uLi4iCgoKCkEgdmVyeSB1c2VmdWwgY29uc3RydWN0IHRvIGtub3cg aXMgJyd7Z2Fkcml9IHtzdW10aX0ge3NlbGJyaX0nJy4gdGhpcyBpcyBlcXVpdmFsZW50IHRvICcn e2dhZHJpfSB7c2VsYnJpfSBwZSAge3N1bXRpfScnLiBGb3IgaW5zdGFuY2UgJydsZSBtaSBnZXJr dScnIGlzIGVxdWl2YWxlbnQgdG8gJydsZSBnZXJrdSBwZSBtaScnLiBPbmUgY291bGQgaGF2ZSBk ZXNjcmlwdGlvbiBzdW10aSBpbnNpZGUgZGVzY3JpcHRpb24gc3VtdGksIHNheWluZyAnJ2xlIGxl IHNlIGNpbmppa2NhIGJlIG1pIGt1IGdlcmt1JycsID0gJydsZSBnZXJrdSBwZSBsZSBzZSBjaW5q aWtjYSBiZSBtaScnID3igJx0aGUgZG9nIG9mIHRoZSBtYW4gSSdtIGZsaXJ0aW5nIHdpdGjigJ0s IGJ1dCB0aGF0J3Mgbm90IHZlcnkgZWFzeSB0byByZWFkIChvciB0byB1bmRlcnN0YW5kIHdoZW4g c3Bva2VuKSwgYW5kIGlzIG9mdGVuIGJlaW5nIGF2b2lkZWQuCgoKCk9uZSBuZWVkIGFsc28gdG8g bGVhcm4gJyd0dSdhJycsIHNpbmNlIGl0IHdpbGwgbWFrZSBhIGxvdCBvZiBzZW50ZW5jZXMgbXVj aCBlYXNpZXIuIEl0IHRha2VzIGEgc3VtdGkgYW5kIGNvbnZlcnRzIGl0IHRvIGFub3RoZXIgc3Vt dGkgLSBhbiBlbGxpcHRpY2FsIGFic3RyYWN0aW9uIHdoaWNoIGhhcyBzb21ldGhpbmcgdG8gZG8g d2l0aCB0aGUgZmlyc3Qgc3VtdGkuIEZvciBleGFtcGxlLCBJIGNvdWxkIHNheSAnJ21pIGRqaWNh IGxvIG51IG1pIGNpdGthIGxvIHBsaXNlJycsIG9yIEkgY291bGQgbGV0IGl0IGJlIHVwIHRvIGNv bnRleHQgd2hhdCBhYnN0cmFjdGlvbiBhYm91dCB0aGUgYXBwbGUgSSBkZXNpcmUgYW5kIGp1c3Qg c2F5ICcnbWkgZGppY2EgdHUnYSBsbyBwbGlzZScnLiBPbmUgYWx3YXlzIGhhcyB0byBndWVzcyB3 aGF0IGFic3RyYWN0aW9uIHRoZSBzcGVha2VyIG1lYW5zIGJ5ICcndHUnYSBTVU1USScnLCBzbyBp dCBzaG91bGQgb25seSBiZSB1c2VkIHdoZW4gY29udGV4dCBtYWtlcyBpdCBlYXN5IHRvIGd1ZXNz LiBBbm90aGVyIGV4YW1wbGU6CgpfXycnZ2FzbnUnJ19fIOKAnHgxIGRvZXMvYnJpbmdzIGFib3V0 IHgyICh2b2xpdGlvbiBub3QgaW1wbGllZCnigJ0KCicnemEnYSBkbyBnYXNudSB0dSdhIGxvIHNr YW1pJycgLSDigJxJIHNlZSB0aGF0IHlvdSBtYWtlIHRoZSBjb21wdXRlciBkbyBzb21ldGhpbmfi gJ0uIE9mZmljaWFsbHksICcndHUnYSBTVU1USScnIGlzIGVxdWl2YWxlbnQgdG8gJydsZSBzdSd1 IFNVTVRJIGNvJ2UnJy4gVmFndWUsIGJ1dCB1c2VmdWwuIFRoZXJlIGFyZSBzaXR1YXRpb25zIHdo ZXJlIHlvdSBjYW5ub3QgdXNlICcndHUnYScnLCBldmVuIHRob3VnaCBpdCB3b3VsZCBzZWVtIHN1 aXRhYmxlLiBUaGVzZSBzaXR1YXRpb25zIGFyZSB3aGVuIEkgZG9uJ3Qgd2FudCB0aGUgcmVzdWx0 aW5nIHN1bXRpIHRvIGJlIGFuIGFic3RyYWN0aW9uLCBidXQgYSBjb25jcmV0ZSBzdW10aS4gSW4g dGhpcyBjYXNlLCBvbmUgY2FuIHVzZSAnJ3pvJ2UgcGUnJy4KCl9fJyd0dSdhJydfXyBjb252ZXJ0 IHN1bXRpIHRvIHZhZ3VlIGFic3RyYWN0aW9uIGludm9sdmluZyB0aGUgc3VtdGkuIEVxdWl2YWxl bnQgdG8gJydsZSBzdSd1IFNVTVRJIGNvJ2Uga2VpIGt1JycKCgoKRmluYWxseSwgb25lIGtpbmQg b2Ygc3VtdGkgY2FuIGJlIHR1cm5lZCBpbnRvIGFub3RoZXIgYnkgdGhlIHdvcmRzIG9mIHRoZSBj bGFzcyBMQWhFLgoKX18nJ2x1J2EnJ19fIC0gQ29udmVydCBpbmRpdmlkdWFsKHMpL21hc3Mvc2Vx dWVuY2Uvc2V0IHRvIGluZGl2aWR1YWxzLgoKX18nJ2x1J2knJ19fIC0gQ29udmVydCBpbmRpdmlk dWFsKHMpL21hc3Mvc2VxdWVuY2Uvc2V0IHRvIGEgc2V0LgoKX18nJ2x1J28nJ19fIC0gQ29udmVy dCBpbmRpdmlkdWFsKHMpL21hc3Mvc2VxdWVuY2Uvc2V0IHRvIG1hc3MuCgpfXycndnUnaScnX18g LSBDb252ZXJ0IGluZGl2aWR1YWwocykvbWFzcy9zZXF1ZW5jZS9zZXQgdG8gc2VxdWVuY2U7IHRo ZSBvcmRlciBpcyBub3Qgc3RhdGVkLgoKVGhlIHVzZSBvZiB0aGVzZSB3b3JkcyBpcyBzdHJhaWdo dC1mb3J3YXJkbHk6IFBsYWNpbmcgdGhlbSBiZWZvcmUgYSBzdW10aSBvZiBhIGNlcnRhaW4gdHlw ZSBtYWtlcyBhIG5ldyBzdW10aSBvZiBhIG5ldyB0eXBlLiBOb3RpY2UsIHRob3VnaCwgdGhhdCBh cyBhIGZvdXJ0aCBraW5kIG9mIHN1bXRpLCBhIHNlcXVlbmNlIGhhcyBiZWVuIGludHJvZHVjZWQu IFRoaXMgaXMgbm90IHVzZWQgdmVyeSBvZnRlbiAoaXQgZG9lc24ndCBoYXZlIGl0cyBvd24gZ2Fk cmksIGZvciBpbnN0YW5jZSksIGJ1dCBqdXN0IGluY2x1ZGVkIGhlcmUgZm9yIGNvbXBsZXRpb24u CgpUaGUgbGFzdCB0d28gbWVtYmVycyBvZiBMQWhFIGRvIG5vdCBjb252ZXJ0IGJldHdlZW4gdHlw ZXMgb2Ygc3VtdGksIGJ1dCBhbGxvd3MgeW91IHRvIHNwZWFrIG9mIGEgYSBzdW10aSBieSBvbmx5 IG1lbnRpb25pbmcgc29tZXRoaW5nIHdoaWNoIHJlZmVyZW5jZXMgdG8gaXQ6CgpJZiBvbmUgc3Vt dGkgQSByZWZlcnMgdG8gYSBzdW10aSBCLCBmb3IgaW5zdGFuY2UgYmVjYXVzZSBzdW10aSBBIGlz IGEgdGl0bGUgb2YgYSBib29rLCBvciBhIG5hbWUsIG9yIGEgc2VudGVuY2UgKHdoaWNoIGFsd2F5 cyByZWZlciB0byBzb21ldGhpbmcsIGF0IGxlYXN0IGEgYnJpZGkpLCDigJgnbGEnZSBTVU1USSBB JycgcmVmZXJzIHRvIHN1bXRpIEIuIEZvciBpbnN0YW5jZSwg4oCYJ21pIG5lbGNpIGxhJ2UgZGkn dScnIGZvciDigJxJIGxpa2Ugd2hhdCB5b3UganVzdCBzYWlk4oCdIChub3QgJydtaSBuZWxjaSBk aSd1Jycgd2hpY2gganVzdCBtZWFucyAiSSBsaWtlIHlvdXIgcHJldmlvdXMgc2VudGVuY2UiKSBv ciDigJgnbGEnZSBsZSBjbWFsdSBub2x0cnUnJyBmb3IgdGhlIGJvb2sg4oCcVGhlIExpdHRsZSBQ cmluY2XigJ0sIGFuZCBub3Qgc29tZSBsaXR0bGUgcHJpbmNlIGhpbXNlbGYuIFRoZSBjbWF2byDi gJgnbHUnZScnIGRvZXMgdGhlIGV4YWN0IHJldmVyc2Ug4oCTIOKAmCdsdSdlIFNVTVRJJycgcmVm ZXJzIHRvIGFuIG9iamVjdCB3aGljaCByZWZlcnMgdG8gdGhlIHN1bXRpLiAKCl9fJydsYSdlJydf XyAtIOKAnHRoZSB0aGluZyByZWZlcnJlZCB0byBieeKAnSAtIGV4dHJhY3RzIGEgc3VtdGkgQSBm cm9tIGEgc3VtdGkgQiB3aGljaCByZWZlcnMgdG8gQS4gCgpfXycnbHUnZScnX18gLSDigJx0aGUg dGhpbmcgcmVmZXJyaW5nIHRv4oCdIC0gZXh0cmFjdHMgYSBzdW10aSBCIGZyb20gYSBzdW10aSBB LCB3aGVuIEIgcmVmZXJzIHRvIEEuCgoKCgoKISEhRW5kIG9mIHBhcnQgb25lCgpEdWUgdG8gdGhl IGltcHJhY3RpY2FsbHkgbGFyZ2Ugc2l6ZSBvZiB0aGVzZSBsZXNzb25zLCB0aGUgc2Vjb25kIGFu ZCB0aGlyZCBpbnN0YWxsbWVudCBjYW4gYmUgZm91bmQgb24gcGFnZXMgZGVkaWNhdGVkIHRvICgo d2F2ZWxlc3NvbnNjb250aW51ZWRwMnx0aGUgZm9ybWVyKSkgYW5kICgod2F2ZWxlc3NvbnNjb250 aW51ZWRwM3x0aGUgbGF0dGVyKSkuIE5vIHdvcnJpZXMsIHRob3VnaCwgY2xpY2tpbmcgb24gInRo ZSBmb3JtZXIiIG9yICJ0aGUgbGF0dGVyIiB3aWxsIHRha2UgeW91IHRoZXJlIHBhaW5sZXNzbHku CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KV2lraW5l dXJvdGljIG1haWxpbmcgbGlzdApXaWtpbmV1cm90aWNAbG9qYmFuLm9yZwpodHRwOi8vbWFpbC5s b2piYW4ub3JnL21haWxtYW4vbGlzdGluZm8vd2lraW5ldXJvdGljCg==