Received: from localhost ([::1]:46649 helo=stodi.digitalkingdom.org) by stodi.digitalkingdom.org with esmtp (Exim 4.76) (envelope-from ) id 1UvEPg-0005NP-81; Fri, 05 Jul 2013 15:23:36 -0700 Received: from 173-13-139-235-sfba.hfc.comcastbusiness.net ([173.13.139.235]:59158 helo=digitalkingdom.org) by stodi.digitalkingdom.org with smtp (Exim 4.76) (envelope-from ) id 1UvEPY-0005NJ-Ar for wikineurotic@lojban.org; Fri, 05 Jul 2013 15:23:34 -0700 Received: by digitalkingdom.org (sSMTP sendmail emulation); Fri, 5 Jul 2013 15:23:28 -0700 From: "Apache" Date: Fri, 5 Jul 2013 15:23:28 -0700 To: wikineurotic@lojban.org X-PHP-Originating-Script: 48:htmlMimeMail.php MIME-Version: 1.0 Message-ID: X-Spam-Score: 4.5 (++++) X-Spam_score: 4.5 X-Spam_score_int: 45 X-Spam_bar: ++++ X-Spam-Report: Spam detection software, running on the system "stodi.digitalkingdom.org", has identified this incoming email as possible spam. The original message has been attached to this so you can view it (if it isn't spam) or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: The page wavelessonscontinuedp2 was changed by Ilmen at 22:23 UTC Comment: Small addition to my warning. You can view the page by following this link: http://www.lojban.org/tiki/wavelessonscontinuedp2 [...] Content analysis details: (4.5 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 URIBL_BLOCKED ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [URIs: lojban.org] 1.6 RCVD_IN_BRBL_LASTEXT RBL: RCVD_IN_BRBL_LASTEXT [173.13.139.235 listed in bb.barracudacentral.org] 0.4 RDNS_DYNAMIC Delivered to internal network by host with dynamic-looking rDNS 2.5 DRUGS_MUSCLE Refers to a muscle relaxant Subject: [Wikineurotic] Wiki page wavelessonscontinuedp2 changed by Ilmen X-BeenThere: wikineurotic@lojban.org X-Mailman-Version: 2.1.14 Precedence: list Reply-To: webmaster@lojban.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: wikineurotic-bounces@lojban.org VGhlIHBhZ2Ugd2F2ZWxlc3NvbnNjb250aW51ZWRwMiB3YXMgY2hhbmdlZCBieSBJbG1lbiBhdCAy MjoyMyBVVEMKQ29tbWVudDogU21hbGwgYWRkaXRpb24gdG8gbXkgd2FybmluZy4KCllvdSBjYW4g dmlldyB0aGUgcGFnZSBieSBmb2xsb3dpbmcgdGhpcyBsaW5rOgogCmh0dHA6Ly93d3cubG9qYmFu Lm9yZy90aWtpL3dhdmVsZXNzb25zY29udGludWVkcDIKCllvdSBjYW4gdmlldyBhIGRpZmYgYmFj ayB0byB0aGUgcHJldmlvdXMgdmVyc2lvbiBieSBmb2xsb3dpbmcgdGhpcyBsaW5rOiAKaHR0cDov L3d3dy5sb2piYW4ub3JnL3Rpa2kvdGlraS1wYWdlaGlzdG9yeS5waHA/cGFnZT13YXZlbGVzc29u c2NvbnRpbnVlZHAyJmNvbXBhcmU9MSZvbGR2ZXI9MjQmbmV3dmVyPTI1CgoKKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKVGhlIGNoYW5n ZXMgaW4gdGhpcyB2ZXJzaW9uIGZvbGxvdyBiZWxvdywgZm9sbG93ZWQgYWZ0ZXIgYnkgdGhlIGN1 cnJlbnQgZnVsbCBwYWdlIHRleHQuCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqCgoKKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSst Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSsKQEAgLUxpbmVzOiAzMDYtMzEwIGNoYW5nZWQg dG8gK0xpbmVzOiAzMDYtMzEwIEBACistKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0r LSstKy0rLSstKy0rLSstKy0rLSstKy0rCl9fJydjaW5iYScnX18geDEga2lzc2VzIHgyIGF0IGxv Y3VzIHgzCgotIF9fJycgW05vdGUgZnJvbSBJbG1lbjogZ2kuLi5naS4uLiBjb25zdHJ1Y3QgaXMg b25seSB2YWxpZCB3aXRoIHN1bXRjaXRhLCBzbyBJIGhhZCB0byBjb3JyZWN0IHRoZSBleGFtcGxl cyBvZiB0aGUgcGFyYWdyYXBoIGJlbG93LiBQZXJoYXBzIHRoaXMgcGFyYWdyYXBoIHNob3VsZCBi ZSBzaW1wbHkgcmVtb3ZlZD9dJydfXworIF9fJycgW05vdGUgZnJvbSBJbG1lbjogZ2kuLi5naS4u LiBjb25zdHJ1Y3QgaXMgb25seSB2YWxpZCB3aXRoIHN1bXRjaXRhLCBzbyBJIGhhZCB0byBjb3Jy ZWN0IHRoZSBleGFtcGxlcyBvZiB0aGUgcGFyYWdyYXBoIGJlbG93IChieSByZXBsYWNpbmcgdGhl IGZpcnN0ICZxdW90O2dpJnF1b3Q7IHdpdGggJnF1b3Q7Z2UmcXVvdDspLiBQZXJoYXBzIHRoaXMg cGFyYWdyYXBoIHNob3VsZCBiZSBzaW1wbHkgcmVtb3ZlZD9dJydfXwonJ21pIGdlIHByYW1pIGRv IGdpIGNpbmJhIGRvJycgbGVhdmVzIG1pIG91dHNpZGUgdGhlIGNvbnN0cnVjdCwgbWFraW5nIGl0 IGFwcGx5IHRvIGJvdGggYnJpZGkuIFRoaXMgY2FuIGFsc28gYmUgZG9uZSB3aXRoICcnZG8nJywg d2hpY2ggaXMgYWxzbyBwcmVzZW50IGluIGJyb3RoIGJyaWRpOiAnJ21pIGdlIHByYW1pIGdpIGNp bmJhIHZhdSBkbycnLiBOb3RlIHRoYXQgJyd2YXUnJyBpcyBuZWVkZWQgdG8gbWFrZSBkbyBhcHBl YXIgb3V0c2lkZSB0aGUgc2Vjb25kIGJyaWRpLgoKCgoKCioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqClRoZSBuZXcgcGFnZSBjb250ZW50 IGZvbGxvd3MgYmVsb3cuCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqCgohTG9qYmFuIFdhdmUgTGVzc29ucyBDb250aW51ZWQgKHBhcnQg dHdvKToKCiEhIU1hZGUgYnkgbGEga2xha3Ugd2l0aCBoZWxwIGZyb20gdmFyaW91cyBsb2piYW5p c3RzLiBCYXNlZCBvbiB0aGUgd29yayBvZiBsYSAua3JpYmFjci4gU3ByaW5nIDIwMTMuCgoKClRo aXMgaXMgdGhlIHNlY29uZCBpbnN0YWxsbWVudCBvZiB0aGUgV2F2ZSBMZXNzb25zIENvbnRpbnVl ZC4gSWYgeW91IGRpZG4ndCBjYXRjaCB0aGUgZmlyc3QgcGFydCwgb3Igd2FudCB0byBnbyBiYWNr IGZvciBzb21lIHJlYXNvbiwganVzdCBjbGljayAoKHdhdmVsZXNzb25zY29udGludWVkfG9uIHRo ZXNlIGZvdXIgd29yZHMuKSkuIFlvdSBjYW4gYWxzbyBnbyB0byB0aGUgdGhpcmQgcGFydCBieSBj bGlja2luZyAoKHdhdmVsZXNzb25zY29udGludWVkcDJ8dGhpcyBsaW5rKSksIGlmIHlvdSBmZWVs IGxpa2UgZG9pbmcgdGhhdC4KCgoKISFMb2piYW4gTGVzc29ucyAtIExlc3NvbiBzZXZlbnRlZW4g KGN1dGUgYXNzb3J0ZWQgd29yZHMpCgpBbmQgd2l0aCB0aGF0LCB0aGlyZCBjaGFwdGVyLCB5b3Ug a25vdyBhIGxvdCBhYm91dCBMb2piYW4gc3VtdGkuIEFmdGVyIHN1Y2ggYSBsb25nIHRpbWUgb2Yg cmlnb3JvdXMgc3lzdGVtYXRpYyBsZWFybmluZywgd2hhdCBjb3VsZCBiZSBtb3JlIGZpdHRpbmcg dGhhdCB0aGlzIGxlc3NvbiB3aGVyZSBJIHNwZWFrIGFib3V0IHNvbWUgd29yZHMgd2hpY2ggSSBj b3VsZCBub3QsIG9yIHdhbnRlZCBub3QgdG8gZml0IGludG8gYW55IG90aGVyIGxlc3NvbnM/IFNv IGhlcmUgYXJlIGEgZmV3IHNtYWxsIGFuZCByZWFsbHkgdXNlZnVsIHdvcmRzOgoKCgpUaGUgZm9s bG93aW5nIGNtYXZvIGFyZSBhbGwgZWxsaXB0aWNhbCB3b3Jkcy4gWW91IHNob3VsZCBhbHJlYWR5 IGJlIGZhbWlsaWFyIHdpdGggdGhlIGZpcnN0LgoKX18nJ3pvJ2UnJ19fIC0gZWxsaXB0aWNhbCBz dW10aQoKX18nJ2NvJ2UnJ19fIC0gZWxsaXB0aWNhbCBzZWxicmkKCl9fJydkbydlJydfXyAtIGVs bGlwdGljYWwgc3VtdGNpdGEKCl9fJydqdSdhJydfXyAtIGVsbGlwdGljYWwgZXZpZGVudGlhbAoK X18nJ2RvJ2knJ19fIC0gZWxsaXB0aWNhbCB1dHRlcmFuY2UgdmFyaWFibGUKCl9fJydnZSdlJydf XyAtIGVsbGlwdGljYWwgYXR0aXR1ZGluYWwKCgoKQWxsIG9mIHRoZXNlIGFjdCBncmFtbWF0aWNh bGx5IGFzIGEgY21hdm8gb2YgdGhlIGtpbmQgdGhleSByZXByZXNlbnQsIGJ1dCB0aGV5IGNvbnRh aW4gbm8gaW5mb3JtYXRpb24sIGFuZCBjYW4gYmUgcXVpdGUgaGFuZHkgd2hlbiB5b3UncmUgbGF6 eSBhbmQgZG9uJ3QgbmVlZCB0byBiZSBzcGVjaWZpYyBhbnl3YXkuIFRoZXJlIGFyZSwgaG93ZXZl ciwgYSBmZXcgdGhpbmdzIHdoaWNoIG5lZWQgdG8gYmUgY2xlYXJlZCB1cDoKCgoKICAgICcnem8n ZScnIGhhdmUgdG8gcmVmZXIgdG8gc29tZXRoaW5nIHdoaWNoIGlzIGNsYWltZWQgdG8gaGF2ZSBh IHZhbHVlLiDigJx6ZXJvIGNhcnPigJ0gb3Ig4oCcbm90aGluZ+KAnSwgZm9yIGluc3RhbmNlLCBo YXMgbm8gdmFsdWUsIGFuZCB0aGVyZWZvcmUgY2Fubm90IGJlIHJlZmVycmVkIHRvIGJ5ICcnem8n ZScnLiBUaGlzIGlzIGJlY2F1c2UsIGlmIGl0IGNvdWxkIG1lYW4g4oCcbm90aGluZ+KAnSBieSAn J3pvJ2UnJywgdGhlbiBhbnkgc2VsYnJpIGNvdWxkIGJlIGlkZW50aWNhbCB0byBpdHMgbmVnYXRp b24sIGlmIG9uZSBvZiB0aGUgZWxpZGVkIHN1bXRpIHdlcmUgZmlsbGVkIHdpdGggYSAnJ3pvJ2Un JyB3aXRoIG5vIHZhbHVlLgoKICAgICcnZ2UnZScnIGRvZXMgbm90IG1lYW4gdGhhdCB5b3UgZmVl bCBubyBlbW90aW9uLCBqdXN0IHRoYXQgeW91IGZlZWwgbm90aGluZyBzcGVjaWFsIG9yIHdvcnRo IHRvIG1lbnRpb24gYXQgdGhlIG1vbWVudC4gSXQncyBzaW1pbGFyIHRvIOKAnEknbSBmaW5lLuKA nS4gJydnZSdlIHBlaScnIGFzayBhYm91dCBhbiBlbGxpcHRpY2FsIGVtb3Rpb24gYW5kIGlzIGEg Z29vZCB0cmFuc2xhdGlvbiBmb3I6IOKAnEhvdyBhcmUgeW91IGZlZWxpbmc/4oCdLgoKICAgICcn Y28nZScnIGlzIGhhbmR5IHdoZW4gbmVlZGluZyBhIHNlbGJyaSBpbiBhIGNvbnN0cnVjdCBmb3Ig Z3JhbW1hdGljYWwgcmVhc29ucywgbGlrZSBpbiB0aGUgZGVmaW5pdGlvbiBvZiAnJ3R1J2EnJyBp biB0aGUgcHJldmlvdXMgbGVzc29uLgoKICAgICcnanUnYScnIGRvZXMgbm90IGNoYW5nZSB0aGUg dHJ1dGggdmFsdWUgb3Igc3ViamVjdGl2ZSB1bmRlcnN0YW5kaW5nIG9mIHRoZSBicmlkaSBvciBh bnl0aGluZyBsaWtlIHRoYXQuIEluIGZhY3QsIGl0J3MgbW9zdGx5IGRvZXMgbm90aGluZy4gSG93 ZXZlciwgJydqdSdhIHBlaScnLCDigJxXaGF0IGlzIHlvdXIgYmFzaXMgZm9yIHNheWluZyB0aGF0 P+KAnSBpcyBoYW5keS4KCiAgICAnJ2RvJ2knJyBpcyByZWFsbHkgdXNlZnVsLiBBIGxvdCBvZiB0 aW1lcyB3aGVuIHlvdSByZWZlciB0byB1dHRlcmFuY2VzIG9yIGNvbnZlcnNhdGlvbnMgYnkgd29y ZHMgbGlrZSDigJx0aGlz4oCdIG9yIOKAnHRoYXTigJ0sIHlvdSB3YW50ICcnZG8naScnLgoKICAg IElmIHlvdSBmaWxsIGluIG1vcmUgc3VtdGkgdGhhbiBhIHNlbGJyaSBoYXMgcGxhY2VzIGZvciwg dGhlIGxhc3Qgc3VtdGkgaGF2ZSBpbXBsaWVkICcnZG8nZScnIHN1bXRjaXRhIGluIGZyb250IG9m IHRoZW0uCgoKCkZ1cnRoZXJtb3JlLCB0aGVyZSBpcyBhIHdvcmQsICcnemknbycnLCB0aGF0IHlv dSBjYW4gZmlsbCBhIHN1bXRpIHBsYWNlIHdpdGggdG8gZGVsZXRlIGl0IGZyb20gYW55IHNlbGJy aS4gJydsbyBtZWxiaSBiZSB6aSdvJycsIGZvciBpbnN0YW5jZSwgaXMganVzdCDigJxTb21ldGhp bmcgYmVhdXRpZnVs4oCdLCBhbmQgZG9lcyBub3QgaW5jbHVkZSB0aGUgdXN1YWwgeDIgb2YgJydt ZWxiaScnLCB3aGljaCBpcyB0aGUgb2JzZXJ2ZXIgd2hvIGp1ZGdlcyBzb21ldGhpbmcgdG8gYmUg YmVhdXRpZnVsLiBUaHVzLCBpdCBjYW4gbWVhbiBzb21ldGhpbmcgbGlrZSDigJxPYmplY3RpdmVs eSBiZWF1dGlmdWwu4oCdIEl0IGRvZXMgbm90IHN0YXRlIHRoYXQgbm90aGluZyBmaWxscyB0aGUg c3VtdGkgcGxhY2Ugd2hpY2ggaXMgYmVpbmcgZGVsZXRlZCwganVzdCB0aGF0IHRoZSBzdW10aSBw bGFjZSBpcyBub3QgYmVpbmcgY29uc2lkZXJlZCBpbiB0aGUgc2VsYnJpLiBVc2luZyAnJ3ppJ28n JyB3aXRoIGEgc3VtdGNpdGEgZ2l2ZXMgd2VpcmQgcmVzdWx0cy4gRm9ybWFsbHksIHRoZXkgc2hv dWxkIGNhbmNlbCBlYWNoIG90aGVyIG91dC4gUHJhY3RpY2FsbHksIGl0IHdvdWxkIHByb2JhYmx5 IGJlIHVuZGVyc3Rvb2QgYXMgYW4gZXhwbGljaXQgd2F5IG9mIHNheWluZyB0aGF0IHRoZSBzdW10 Y2l0YSBkb2VzIG5vdCBhcHBseSwgYXMgaW46ICcnbWkgZGFyeGkgZG8gbXUnaSB6aSdvJycgLSDi gJxJIGhpdCB5b3UsIHdpdGggb3Igd2l0aG91dCBtb3RpdmF0aW9uLuKAnQoKCgpUaGVuIHRoZXJl IGlzIHRoZSB3b3JkICcnamFpJycuIEl0J3Mgb25lIG9mIHRob3NlIGNvb2wsIHNtYWxsIHdvcmRz IHdoaWNoIGFyZSBoYXJkIHRvIGdyYXNwLCBidXQgZWFzeSB0byB3b3JrIHdpdGggb25jZSB5b3Ug a25vdyBpdC4gSXQgaGFzIHR3byBkaXN0aW5jdCwgYnV0IHNpbWlsYXIgZnVuY3Rpb25zLiBCb3Ro IGhhdmUgc29tZXRoaW5nIHRvIGRvIHdpdGggY29udmVydGluZyB0aGUgc2VsYnJpLCBsaWtlICcn c2UnJyBkb2VzLgoKX18nJ2phaScnX18gU2VsYnJpIGNvbnZlcnNpb246IENvbnZlcnRzIHN1bXRj aXRhIG9yIHVuc3BlY2lmaWVkIGFic3RyYWN0aW9uIHRvIHgxLiBVc2Ugd2l0aCAnJ2ZhaScnCgpf XycnZmFpJydfXyBNYXJrcyBzdW10aSBwbGFjZS4gV29ya3MgbGlrZSAnJ2ZhJycuIFRvIGJlIHVz ZWQgd2l0aCAnJ2phaScnLgoKVGhlIGZpcnN0IGdyYW1tYXRpY2FsIGNvbnN0cnVjdGlvbiBpdCBj YW4gbWFrZSBpcyAiJydqYWknJyB7c3VtdGNpdGF9IHtzZWxicml9Ii4gSXQgY2hhbmdlcyB0aGUg c3VtdGkgcGxhY2VzIHN1Y2ggdGhhdCB0aGUgc3VtdGkgcGxhY2Ugb2YgdGhlIHN1bXRjaXRhIGJl Y29tZXMgdGhlIHNlbGJyaSdzIHgxLCBhbmQgdGhlIHNlbGJyaSdzIG9sZCB4MSBpcyByZW1vdmVk LCBhbmQgb25seSBhY2Nlc3NpYmxlIGJ5IHVzaW5nICcnZmFpJycsIHdoaWNoIHdvcmtzIGxpa2Ug JydmYScnLiBZb3UgY2FuIHNlZSBpdCB3aXRoIHRoaXMgZXhhbXBsZToKCl9fJydnYXUnJ19fIC0g c3VtdGNpdGEgKGZyb20gJydnYXNudScnKSDigJxicmlkaSBoYXMgYmVlbiBicm91Z2h0IGFib3V0 IGJ5L3dpdGggYWN0aXZlIGFnZW50IHtzdW10aX3igJ0KCicnZG8gamFpIGdhdSBqdW5kaSB0aSBm YWkgbWknJy4gLSDigJxZb3UgYnJpbmcgYWJvdXQgYXR0ZW50aW9uIHRvIHRoaXMgYnkgbWXigJ0u IFRoZSBuZXcgc2VsYnJpLCAnJ2phaSBnYXUganVuZGknJywgaGFzIHRoZSBwbGFjZSBzdHJ1Y3R1 cmUgb2Yg4oCceDEgYnJpbmdzIGFib3V0IGF0dGVudGlvbiBwYWlkIHRvIHgy4oCdLiBUaGVzZSBh cmUgdGhlbiBmaWxsZWQgYnkgJydkbycnIGFuZCAnJ3RpJycuIFRoZSAnJ2ZhaScnIHRoZW4gbWFy a3MgdGhlIHBsYWNlIGZvciB0aGUgb2xkIHgxLCB0aGUgb25lIHdobyB3YXMgcGF5aW5nIGF0dGVu dGlvbiwgYW5kIGl0IGlzIGZpbGxlZCB3aXRoICcnbWknJy4gVGhpcyB3b3JkIGNhbiBiZSB2ZXJ5 IGNvbnZlbmllbnQgYW5kIGhhcyB0b25zIG9mIHVzZXMuIEEgZ29vZCBleGFtcGxlIGlzIGRlc2Ny aXB0aXZlLWxpa2Ugc3VtdGkuIE9uZSBjYW4sIGZvciBpbnN0YW5jZSwgcmVmZXIgdG8g4oCcdGhl IG1ldGhvZCBvZiB2b2xpdGlvbmFsIGFjdGlvbuKAnSBieSAnJ2xvIGphaSB0YSdpIHp1a3RlJycu CgpfXycndGEnaScnX186IHN1bXRjaXRhIChmcm9tICcndGFkamknJykg4oCcQnJpZGkgaXMgZG9u ZSB3aXRoIHRoZSBtZXRob2Qgb2Yge3N1bXRpfeKAnQoKQ2FuIHlvdSBkZWR1Y2Ugd2hhdCB0aGUg b3JkaW5hcnkgTG9qYmFuIHBocmFzZSAnJ2RvIGphaSBnYXUgbW8nJyBtZWFucz8KCgoKQW5zd2Vy OiB+fmdyZXksZ3JleTrigJxXaGF0IGFyZSB5b3UgZG9pbmc/4oCdfn4KCgoKVGhlIG90aGVyIGZ1 bmN0aW9uIG9mICcnamFpJycgaXMgZWFzaWVyIHRvIGV4cGxhaW4uIEl0IHNpbXBseSBjb252ZXJ0 cyB0aGUgc2VsYnJpIHN1Y2ggdGhhdCB0aGUgc3VtdGkgaW4gdGhlIHgxIGdldHMgYSAnJ3R1J2En JyBpbiBmcm9udCBvZiBpdCAoJydrbydhIGphaSBicm9kYScnIF9fPV9fICcndHUnYSBrbydhIGJy b2RhJycpLiBJbiBvdGhlciB3b3JkcywgaXQgY29udmVydHMgdGhlIHNlbGJyaSBpbiBhIHdheSBz dWNoIHRoYXQgaXQgYnVpbGRzIGFuIGVsbGlwdGljYWwgYWJzdHJhY3Rpb24gZnJvbSB0aGUgc3Vt dGkgaW4gdGhlIHgxLCBhbmQgdGhlbiBmaWxscyB4MSB3aXRoIHRoZSBhYnN0cmFjdGlvbiBpbnN0 ZWFkIG9mIHRoZSBhY3R1YWwgc3VtdGkuIEFnYWluLCB0aGUgb3JpZ2luYWwgc3VtdGkgcGxhY2Ug aXMgYWNjZXNzaWJsZSBieSAnJ2ZhaScnLgoKQSB2ZXJ5IGFjdGl2ZSBMb2piYW4gSVJDLXVzZXIg b2Z0ZW4gc2F5cyAnJ2xlIGdlcmt1IHBlIGRvIGphaSBzZSBzdGlkaSBtaScnLCB0byB1c2UgYSBy YW5kb20gZXhhbXBsZSBvZiBhIHN1bXRpIGluIHgxLiBXaGF0J3MgaGUgc2F5PwoKX18nJ3N0aWRp JydfXyB4MSBpbnNwaXJlcy9zdWdnZXN0cyB4MiBpbi90byB4M+KAnQoKCgpBbnN3ZXI6IH5+Z3Jl eSxncmV5OuKAnEkgc3VnZ2VzdCAoc29tZXRoaW5nIGFib3V0KSB5b3VyIGRvZy7igJ1+fgoKCgpT byBmYXIgeW91J3ZlIGxlYXJuZWQgaG93IHRvIGNvbnZlcnQgYnJpZGkgdG8gc2VsYnJpLCBzZWxi cmkgdG8gc3VtdGksIGFuZCBzZWxicmkgaW50byBicmlkaSwgc2luY2UgYWxsIHNlbGJyaSBieSB0 aGVtc2VsdmVzIGFyZSBhbHNvIGJyaWRpLiBZb3Ugb25seSBuZWVkIG9uZSBsYXN0IGZ1bmN0aW9u OiBjb252ZXJ0IHN1bXRpIHRvIHNlbGJyaS4gVGhpcyBpcyBkb25lIHdpdGggdGhlIHdvcmQgJydt ZScnLiBJdCBhY2NlcHRzIGEgc3VtdGkgYW5kIGNvbnZlcnRzIGl0IGludG8gYSBzZWxicmkuCgpf XycnbWUnJ19fOiBHZW5lcmljIGNvbnZlcnQgc3VtdGkgdG8gc2VsYnJpLiB4MSBpcy9hcmUgYW1v bmcgdGhlIHJlZmVyZW50cyBvZiBTVU1USQoKCgpXaGVuIHNjcmV3aW5nIGEgc2VudGVuY2UgdXAs IGtub3dpbmcgaG93IHRvIGNvcnJlY3QgeW91cnNlbGYgaXMgYSBnb29kIGlkZWEuIFRoZXJlIGFy ZSB0aHJlZSB3b3JkcyBpbiBMb2piYW4gd2hpY2ggeW91IGNhbiB1c2UgdG8gZGVsZXRlIHlvdXIg cHJldmlvdXMgd29yZChzKQoKX18nJ3NpJydfXyAtIGRlbGV0aW9uOiBEZWxldGVzIGxhc3Qgd29y ZCBvbmx5LgoKX18nJ3NhJydfXyAtIGRlbGV0aW9uOiBEZWxldGVzIGJhY2sgdW50aWwgbmV4dCBj bWF2byBzcG9rZW4uCgpfXycnc3UnJ19fIC0gZGVsZXRpb246IERlbGV0ZXMgZW50aXJlIGRpc2Nv dXJzZS4KClRoZSBmdW5jdGlvbiBvZiB0aGVzZSB3b3JkcyBhcmUgb2J2aW91czogVGhleSBkZWxl dGUgd29yZHMgYXMgaWYgdGhleSBoYXZlIG5ldmVyIGJlZW4gc3Bva2VuLiBUaGV5IGRvIG5vdCB3 b3JrIGluc2lkZSBjZXJ0YWluIHF1b3RlcyAoYWxsIHF1b3RlcyBleGNlcHQgJydsdS4ubGkndScn KSwgdGhvdWdoLCBhcyB0aGF0IHdvdWxkIGxlYXZlIGl0IGltcG9zc2libGUgdG8gcXVvdGUgdGhl c2Ugd29yZHMuIFNldmVyYWwgJydzaScnIGluIGEgcm93IGRlbGV0ZXMgc2V2ZXJhbCB3b3Jkcy4K CgoKCgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29uIGVpZ2h0ZWVuIChxdW90ZXMpCgpPbmUgb2Yg dGhlIGtleSBkZXNpZ24gZmVhdHVyZXMgb2YgTG9qYmFuIGlzIHRoYXQgaXQncyBzdXBwb3NlZCB0 byBiZSBhdWRpby12aXN1YWwgaXNvbW9ycGhpYywgbWVhbmluZyB0aGF0IGV2ZXJ5dGhpbmcgZXhw cmVzc2VkIGluIHRleHQgc2hvdWxkIGFsc28gYmUgZXhwcmVzc2VkIGluIHNwZWVjaCBhbmQgdmlj ZSB2ZXJzYS4gVGhlcmVmb3JlLCB0aGVyZSBjYW5ub3QgYmUgYW55IHB1bmN0dWF0aW9uIHdoaWNo IGlzIG5vdCBwcm9ub3VuY2VkLiBUaGlzIG1lYW5zIHRoYXQgTG9qYmFuIGhhcyBhIHdpZGUgcmFu Z2Ugb2Ygd29yZHMgdG8gcXVvdGUgb3RoZXIgd29yZHMuIEFsbCBMb2piYW4gcXVvdGVzIHRha2Ug c29tZSBpbnB1dCBvZiB0ZXh0IGFuZCBjb252ZXJ0cyBpdCB0byBhIHN1bXRpLiBMZXQncyBiZWdp biB3aXRoIHRoZSBtb3N0IHNpbXBsZToKCgoKX18nJ2x1JydfXyBRdW90ZSB3b3JkOiBCZWdpbiBx dW90ZSBvZiBncmFtbWF0aWNhbCBMb2piYW4gY29udGVudAoKX18nJ2xpJ3UnJ19fIFF1b3RlIHdv cmQ6IEVuZCBxdW90ZSBvZiBncmFtbWF0aWNhbCBMb2piYW4gY29udGVudAoKCgpUaGUgdGV4dCBp bnNpZGUgdGhpcyBjb25zdHJ1Y3QgbXVzdCBieSBpdHNlbGYgYmUgZ3JhbW1hdGljYWwuIEl0IGNh biBxdW90ZSBhbGwgTG9qYmFuIHdvcmRzIHdpdGggc29tZSBmZXcgZXhjZXB0aW9ucywgbW9zdCBu b3RhYmx5LCBvYnZpb3VzbHksICcnbGkndScnLgoKCgpUcnkgdG8gdHJhbnNsYXRlIHRoZSBmb2xs b3dpbmcgc2VudGVuY2UuIFRha2UgeW91ciB0aW1lLgoKJydtaSBzdGlkaSBsbyBkcmF0YSBiZSB0 dSdhIGx1IGtvIGphaSBnYXUgbW8gbGkndScnCgpfXycnZHJhdGEnJ19fIHgxIGlzIGRpZmZlcmVu dCBmcm9tIHgyIGJ5IHN0YW5kYXJkCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcSSBzdWdnZXN0 IHNvbWV0aGluZyBkaWZmZXJlbnQgdGhhbiBzb21ldGhpbmcgYWJvdXQg4oCca28gamFpIGdhdSBt b+KAnS7igJ1+fgoKCgpUaGVzZSBxdW90ZSB3b3JkcyBjYW5ub3QgcXVvdGUgdW5ncmFtbWF0aWNh bCB0ZXh0LiBUaGlzIGlzIHNvbWV0aW1lcyB1c2VmdWwsIHdoZW4geW91IHdhbnQgdG8gb25seSBw aWNrIG91dCBwYXJ0IG9mIGEgc2VudGVuY2UsIGFzIGluOiDigJwgaXMg4oCcZ2knZeKAnSBhIExv amJhbiBzdW10Y2l0YT/igJ0KCgoKRm9yIHRoaXMsIHlvdSBuZWVkIHRoZXNlIHR3byBjbWF2bwoK X18nJ2xvJ3UnJ19fIFF1b3RlIHdvcmQ6IEJlZ2luIHF1b3RlIG9mIHVuZ3JhbW1hdGljYWwgYnV0 IExvamJhbiBjb250ZW50CgpfXycnbGUndScnX18gUXVvdGUgd29yZDogRW5kIHF1b3RlIG9mIHVu Z3JhbW1hdGljYWwgYnV0IExvamJhbiBjb250ZW50CgoKClRoZSB0ZXh0IGluc2lkZSBtdXN0IGJl IExvamJhbiB3b3JkcywgYnV0IG5lZWQgbm90IGJlIGdyYW1tYXRpY2FsLiBUcnkgdG8gdHJhbnNs YXRlIHRoZSBhYm92ZSBleGFtcGxlICh0aGUgb25lIHdpdGggJydnaSdlJycpIGludG8gTG9qYmFu CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6Jyd4dSBsbyd1IGdpJ2UgbGUndSBsb2pibyBzdW10Y2l0 YScnfn4KCgoKVGhpcyBxdW90ZSBjYW4gYmUgdXNlZCB0byBxdW90ZSBhbGwgTG9qYmFuIHdvcmRz IGV4Y2VwdCAnJ2xlJ3UnJy4gSG93ZXZlciwgdGhpcyBpcyBub3QgZW5vdWdoLiBJZiB3ZSB3YW50 IHRvIHRyYW5zbGF0ZSDigJxpcyDigJ1kbyBtb+KAnSBhIGNvcnJlY3QgdHJhbnNsYXRpb24gb2Yg 4oCcV2hhdCdzIHVwP+KAneKAnSwgd2UgbWlnaHQgYmUgc2xpZ2h0bHkgd3JvbmcgYWJvdXQgd2hh dCB3ZSBoZXJlIHN0YXRlLCBzaW5jZSAnJ2RvIG1vJycgYWxzbyBjYW4gbWVhbiDigJxXaGF0IGFy ZSB5b3U/4oCdLCBidXQgbGV0J3Mgcm9sbCB3aXRoIGl0IGZvciBhIHNlY29uZC4gV2hhdCB3ZSBu ZWVkIGhlcmUgaXMgdGhlIHdvcmQgJyd6b2knJy4KCgoKJyd6b2knJyBOZXh0IGNtYXZvIGlzIGJl Z2luIGFsbC1wdXJwb3NlIHF1b3RlIGFuZCBjbG9zZSBhbGwtcHVycG9zZSBxdW90ZS4KCgoKV2hl biB1c2luZyAnJ3pvaScnLCB5b3UgcGljayBhbnkgbW9ycGhvbG9naWNhbGx5IGNvcnJlY3QgbG9q YmFuIHdvcmQgYXQgd2lsbCAoY2FsbGVkIHRoZSBkZWxpbWl0ZXIpLCB3aGljaCB0aGVuIG9wZW5z IGEgcXVvdGUuIFRvIGNsb3NlIGl0LCB1c2UgdGhhdCB3b3JkIGFnYWluLiBUaGlzIHdheSwgeW91 IGNhbiBxdW90ZSBhbnl0aGluZyBleGNlcHQgdGhlIGRlbGltaXRlciwgd2hpY2ggc2hvdWxkbid0 IGJlIGEgcHJvYmxlbSBiZWNhdXNlIHlvdSBjYW4gcGljayBpdCB5b3Vyc2VsZi4gVXN1YWxseSwg dGhlIHdvcmQgcGlja2VkIGlzIGVpdGhlciAnJ3pvaScnIGl0c2VsZiwgb3IgYSBsZXR0ZXIgd2hp Y2ggc3RhbmRzIGZvciB0aGUgbGFuZ3VhZ2Ugd2hpY2ggdGhlIHF1b3RlIGlzIHdyaXR0ZW4gaW4u IEV4YW1wbGU6IOKAnEkgbGlrZWQgVGhlIFBoYW50b20gb2YgdGhlIE9wZXJh4oCdIGlzICcnbWkg cHUgbmVsY2kgbGEnZSB6b2kgem9pLiBUaGUgUGhhbnRvbSBvZiB0aGUgT3BlcmEgLnpvaScnIE5v dGljZSB0d28gdGhpbmdzOiBGaXJzdGx5LCBJIG5lZWQgYSAnJ2xhJ2UnJywgc2luY2UgSSBkaWRu J3QgbGlrZSB0aGUgcXVvdGUsIGJ1dCByYXRoZXIgd2hhdCBpdCByZWZlcnJlZCB0by4gU2Vjb25k bHksIGJldHdlZW4gdGhlIGNob3NlbiBkZWxpbWl0ZXIgYW5kIHRoZSBxdW90ZSwgdGhlcmUgYXJl IHBhdXNlcywgb3B0aW9uYWxseSByZXByZXNlbnRlZCBieSBhIGZ1bGwgc3RvcCBpbiB3cml0aW5n LiBUaGlzIHBhdXNlIGlzIG5lY2Vzc2FyeSB0byBjb3JyZWN0bHkgaWRlbnRpZnkgdGhlIGRlbGlt aXRlci4KCgoKVHJ5IHRvIHRyYW5zbGF0ZSB0aGUgYWJvdmUgc2VudGVuY2UgY29uY2VybmluZyDi gJxXaGF0J3MgdXA/4oCdCgoKCl9fJydkcmFuaScnX18geDEgaXMgY29ycmVjdC9wcm9wZXIgaW4g YXNwZWN0IHgyIGluIHNpdHVhdGlvbiB4MyBieSBzdGFuZGFyZCB4NAoKCgpBbnN3ZXI6IH5+Z3Jl eSxncmV5OicneHUgbHUgZG8gbW8gbGkndSBkcmFuaSB4ZSBmYW52YSB6b2kgZ3kuIFdoYXQncyB1 cD8gLmd5JycuIEhlcmUgdGhlIGRlbGltaXRlciAnJ2d5JycgaXMgY2hvc2VuIGJlY2F1c2UgaXQn cyBzaG9ydCBmb3IgJydnbGljbycnLCBtZWFuaW5nICJFbmdsaXNoIn5+CgoKCkNsb3NlbHkgYW5h bG9nb3VzbHksIHRoZXJlIGlzICcnbGEnbycnLiBJdCB3b3JrcyBleGFjdGx5IGxpa2UgJyd6b2kn JywgYnV0IHR1cm5zIHRoZSByZXN1bHRpbmcgcXVvdGUgaW50byBhIG5hbWUuIEl0IGlzIG5lZWRl ZCBiZWNhdXNlIG5vcm1hbGx5LCBvbmx5IHNlbGJyaSBhbmQgY21ldmxhIGNhbiBiZSBuYW1lcywg bm90IHF1b3Rlcy4KCl9fJydsYSdvJydfXyBOZXh0IGNtYXZvIGlzIGJlZ2luIGFsbC1wdXJwb3Nl IHF1b3RlIGFuZCBjbG9zZSBhbGwtcHVycG9zZSBxdW90ZSDigJMgdXNlIGFzIG5hbWUuCgoKCkxh c3Qgb2YgdGhlIG9mZmljaWFsIHF1b3RlIHdvcmRzLCB0aGVyZSBpcyAnJ3pvJycuICcnem8nJyBh bHdheXMgcXVvdGVzIHRoZSBuZXh0IExvamJhbiB3b3JkLCBubyBtYXR0ZXIgd2hhdCBpdCBpcy4g SXQncyBwcmV0dHkgaGFuZHkuCgonJ3pvJycgUXVvdGUgbmV4dCBMb2piYW4gd29yZCwgbm8gbWF0 dGVyIHdoYXQuCgpFeGFtcGxlOiAnJ3pvIHpvIHpvJ28gcGxpeGF1JycgPSDigJwg4oCcem/igJ0g aXMgdXNlZnVsLCBoZWhl4oCdCgpfXycnem8nbycnX18gYXR0aXR1ZGluYWw6IGRpc2N1cnNpdmU6 IEh1bW9yb3VzbHksIOKAnGtpZGRpbmcgeW914oCdCgpfXycncGxpeGF1JydfXyB4MSBpcyB1c2Vm dWwgZm9yIHgyIHRvIGRvIHB1cnBvc2UgeDMKCgoKTG9qYmFuIHVzZXJzIGhhdmUgZm91bmQgaXQg dXNlZnVsIHRvIHN1cHBsZW1lbnQgd2l0aCBmb3VyIGFkZGl0aW9uYWwgcXVvdGUgd29yZHMuIFRo ZXkgYXJlIGFsbCBleHBlcmltZW50YWwsIGFuZCB0aGUgZm9ybWFsIGdyYW1tYXIgZG9lcyBub3Qg c3VwcG9ydCBpdC4gTm9uZXRoZWxlc3MsIHRoZXkgYXJlIHVzZWQgb2Z0ZW4sIGFuZCBpdCdzIGdv b2QgdG8gYmUgYWJsZSB0byByZWNvZ25pemUgdGhlbS4gVGhlIG1vc3QgdXNlZCBpczoKCgoKX18n J3pvJ29pJydfXyBRdW90ZSBuZXh0IHdvcmQgb25seS4gTmV4dCB3b3JkIGlzIGlkZW50aWZpZWQg YnkgcGF1c2VzIGluIHNwZWVjaCBvciB3aGl0ZXNwYWNlIGluIHdyaXRpbmc6CgoKCkV4YW1wbGU6 ICcncmkgcHUgY3Vza3Ugem8nb2kgRG9oISAudSdpJycg4oCcSGEgaGEsIGhlIHNhaWQg4oCcRG9o IeKAnSDigJwKCgoKSXQncyB2ZXJ5IGVhc3kgdG8gdXNlLiBBZ2Fpbiwgbm90ZSB0aGF0IGFsbCBn cmFtbWFyIGJvdHMgd2lsbCBjb25zaWRlciB0aGUgc2VudGVuY2Ugbm90IGdyYW1tYXRpY2FsLCBi ZWNhdXNlIHRoZXNlIHdvcmRzIGRvIG5vdCBleGlzdCBpbiB0aGUgZm9ybWFsIGdyYW1tYXIuCgoK CkFuYWxvZ291cyB0byAnJ3pvJ29pJycgYW5kICcnbGEnbycnLCB0aGVyZSBpcyBhbHNvIHRoZSB3 b3JkICcnbGEnb2knJywgd2hpY2ggd29ya3MganVzdCBsaWtlICcnem8nb2knJywgYnV0IHRyZWF0 cyB0aGUgcXVvdGUgYXMgYSBuYW1lOgoKX18nJ2xhJ29pJydfXyBRdW90ZSBuZXh0IHdvcmQgb25s eSwgdXNlIGFzIG5hbWUuIE5leHQgd29yZCBpcyBpZGVudGlmaWVkIGJ5IHBhdXNlcyBpbiBzcGVl Y2ggb3Igd2hpdGVzcGFjZSBpbiB3cml0aW5nOgoKCgpIb3cgd291bGQgeW91IHNheTog4oCcTXkg RW5nbGlzaCBuYW1lIGlzIOKAnFNhZmnigJ3igJ0/CgpfXycnZ2xpY28nJ19fIHgxIGlzIEVuZ2xp c2gvcGVydGFpbnMgdG8gRW5nbGlzaCBjdWx0dXJlIGluIGFzcGVjdCB4MgoKX18nJ2NtZW5lJydf XyB4MSBpcyB0aGUgbmFtZSBvZiB4MiBhcyB1c2VkIGJ5IHgzCgoKCkFuc3dlcjogfn5ncmV5LGdy ZXk6JydtaSBnbGljbyBzZSBjbWVuZSBsYSdvaSBTYWZpJycuIE5vdGljZSB0aGUgbmVjZXNzYXJ5 IHNlLiBXZSBkb24ndCB3aGF0IHRvIHNheSB0aGF0IHdlJ3JlIGEgbmFtZSF+fgoKCgpUaGlyZGx5 LCAnJ3JhJ29pJycgcXVvdGVzIHRoZSBuZXh0IHJhZnNpLiBTaW5jZSByYWZzaSBhcmUgbm90IHdv cmRzLCB0aGV5IHdvdWxkIHVzdWFsbHkgaGF2ZSB0byBiZSBxdW90ZWQgYnkgJyd6b2knJy4gRnVy dGhlcm1vcmUsIHNldmVyYWwgcmFmc2kgYXJlIGFsc28gY21hdm8uIFRvIGF2b2lkIGNvbmZ1c2lv biBvZiB3aGljaCBpcyBtZWFudCwgJydyYSdvaScnIGFsd2F5cyByZWZlciB0byBhIHJhZnNpLCBh bmQgaXMgd3JvbmcgaW4gZnJvbnQgb2YgYW55IHRleHQgc3RyaW5nIHdoaWNoIGFyZSBub3QgcmFm c2kuCgoKCldoYXQgZG9lcyAnJ3JhJ29pIHp1J2UgcmFmc2kgem8genVrdGUgLmlrdSdpIHpvJ29p IHp1J2Ugc3VtdGNpdGEnJyBtZWFuPwoKX18nJ2t1J2knJ19fIGF0dGl0dWRpbmFsOiBkaXNjdXJz aXZlOiBIb3dldmVyIC8gdGhvdWdoIChjb250cmFzdHMgdG8gc29tZXRoaW5nIHByZXZpb3VzbHkg c2FpZCkKCl9fJydyYWZzaScnX18geDEgYW4gYWZmaXggZm9yIHdvcmQvY29uY2VwdCB4MiB3aXRo IHByb3BlcnRpZXMvb2YgZm9ybSB4MyBpbiBsYW5ndWFnZSB4NAoKCgpBbnN3ZXI6IH5+Z3JleSxn cmV5OuKAnFRoZSByYWZzaSDigJx6dSdl4oCdIGlzIGEgcmFmc2kgZm9yIOKAnHp1a3Rl4oCdLiBC dXQg4oCcenUnZeKAnSBpcyBhIHN1bXRjaXRh4oCdfn4KCgoKQW5kIGZpbmFsbHkgdGhlIHVzZWZ1 bCB3b3JkICcnbWEnb2knJy4gJydtYSdvaScnIHF1b3RlcyBhbnkgY21hdm8sIGJ1dCB0cmVhdHMg dGhlIHF1b3RlIGFzIGEgbmFtZSBmb3IgdGhlIHdvcmQgY2xhc3MgKHNlbG1hJ28pIHRvIHdoaWNo IHRoYXQgd29yZCBiZWxvbmdzLiBTbywgZm9yIGluc3RhbmNlLCBiYSdvIGJlbG9uZ3MgdG8gdGhl IHdvcmRjbGFzcyBjYWxsZWQgWkFoTywgc28gJydtYSdvaSBiYSdvJycgaXMgdW5vZmZpY2lhbCBM b2piYW4gZm9yIOKAnFphaE/igJ0KCgoKVHJ5IGl0IG91dC4gU2F5IHRoYXQgJydwdScnIGFuZCAn J2JhJycgYXJlIGluIHRoZSBzYW1lIHNlbG1hJ28hCgpfXycnY21hdm8nJ19fIHgxIGlzIGEgZ3Jh bW1hdGljYWwgd29yZCBvZiBjbGFzcyB4MiBpbiBsYW5ndWFnZSB4MwoKCgooT25lIHBvc3NpYmxl KSBBbnN3ZXI6ICB+fmdyZXksZ3JleTonJ3pvIHB1IGNtYXZvIG1hJ29pIGJhJyd+fgoKCgoKCiEh TG9qYmFuIExlc3NvbnMgLSBMZXNzb24gbmluZXRlZW4gKG51bWJlcnMpCgpXaGVuIGxlYXJuaW5n IGEgbGFuZ3VhZ2UsIG9uZSBvZiB0aGUgdGhpbmdzIHdoaWNoIGFyZSB1c3VhbGx5IHRhdWdodCB2 ZXJ5IGVhcmx5IG9uIGlzIGhvdyB0byBjb3VudC4gVGhpcyByZWFsbHkgbWFrZXMgbGl0dGxlIHNl bnNlLCBiZWNhdXNlIGl0J3Mgbm90IG5lY2Vzc2FyeSB0byBrbm93IG51bWJlcnMgaWYgeW91IGRv bid0IGtub3cgaG93IHRvIHNwZWFrIGFib3V0IHRob3NlIHRoaW5ncyB0byB3aGljaCB0aGV5IGFw cGx5LiBUaGlzIGlzIHBhcnRseSB0aGUgcmVhc29uIHdoeSBJIGhhdmUgbGVmdCBpdCBmb3IgbGVz c29uIG51bWJlciBuaW5ldGVlbi4gVGhlIG90aGVyIHJlYXNvbiBpcyB0aGF0IHdoaWxlIHRoZSBu dW1iZXJzIHRoZW1zZWx2ZXMgYXJlIGVhc3kgdG8gbGVhcm4sIGhvdyB0aGV5IGFwcGx5IHRvIHN1 bXRpIGNhbiBnZXQgdmVyeSBjb25mdXNpbmcgaW5kZWVkLiBUaGF0LCBob3dldmVyLCB3ZSB3aWxs IHNhdmUgZm9yIGEgbGF0ZXIgbGVzc29uLgoKQmVmb3JlIGxlYXJuaW5nIHRoZSB3b3JkcyB0aGVt c2VsdmVzLCB5b3Ugc2hvdWxkIGtub3cgdGhhdCBudW1iZXJzIGRvIG5vdCBoYXZlIGFueSBpbnRl cm5hbCBncmFtbWFyLiBUaGlzIG1lYW5zIHRoYXQgYW55IHJvdyBvZiBudW1iZXIgd29yZHMgKGhl bmNlZm9ydGggcmVmZXJyZWQgdG8gYXMgYSAibnVtYmVyIHN0cmluZyIpIGFyZSB0cmVhdGVkIGlk ZW50aWNhbGx5IHRvIGFueSBvdGhlciBudW1iZXIgc3RyaW5nIHRvIHRoZSBMb2piYW4gZ3JhbW1h ciwgZXZlbiBpZiB0aGUgc3RyaW5nIG1ha2VzIG5vIHNlbnNlLiBUaGVyZWZvcmUsIG9uZSBjYW4g bmV2ZXIgYW5zd2VyIHVuYW1iaWd1b3VzbHkgd2hldGhlciBhIG51bWJlciBjb25zdHJ1Y3QgbWFr ZXMgc2Vuc2Ugb3Igbm90LiBUaGVyZSBhcmUsIGhvd2V2ZXIsIGludGVuZGVkIHdheXMgb2YgdXNp bmcgdGhlIG51bWJlciB3b3JkcywgYW5kIGNvbmZ1c2lvbiB3aWxsIHByb2JhYmx5IHJlc3VsdCBp ZiB5b3UgZGV2aWF0ZSBmcm9tIHRoZSBzdGFuZGFyZC4KCkxlYXJuaW5nIGFsbCB0aGUgbnVtYmVy IHdvcmRzIG9mIExvamJhbiBhcmUgd2F5IGJleW9uZCB0aGUgc2NvcGUgb2YgdGhpcyBsZXNzb24s IHNvIHlvdSB3aWxsIG9ubHkgYmUgaW50cm9kdWNlZCB0byB3aGF0IGlzIG5vcm1hbGx5IHVzZWQg aW4gdGV4dC4gVGhlIHdpZGUgcmFuZ2Ugb2YgTG9qYmFuIG1hdGhlbWF0aWNhbCBjbWF2byBhcmUg Y2FsbGVkICcnbWVrc28nJyAoTG9qYmFuIGZvciAibWF0aGVtYXRpY2FsIGV4cHJlc3Npb24iKSwg YW5kIGlzIHdpZGVseSBkaXNyZWdhcmRlZCBiZWNhdXNlIG9mIGl0cyBjb21wbGV4aXR5IGFuZCBx dWVzdGlvbmFibGUgYWR2YW50YWdlIG92ZXIgc28tY2FsbGVkIGJyaWRpIG1hdGguCgpMZXQncyBi ZWdpbiB3aXRoIHRoZSBvcmRpbmFyeSBMb2piYW4gbnVtYmVycywgZnJvbSB6ZXJvIHRvIG5pbmU6 Cgp8fHplcm98b25lfHR3b3x0aHJlZXxmb3VyfGZpdmV8c2l4fHNldmVufGVpZ2h0fG5pbmUKCm5v fHBhfHJlfGNpfHZvfG11fHhhfHplfGJpfHNvfHwKCk5vdGljZSBob3cgdGhlIHZvd2VscyBhcmUg YWx0ZXJuYXRpbmcgKHdpdGggdGhlIGV4Y2VwdGlvbiBvZiAnJ25vJycpLCBhbmQgaG93IG5vIGNv bnNvbmFudCBpcyB1c2VkIGZvciB0d28gZGlnaXRzLgoKSW4gb3JkZXIgdG8gZXhwcmVzcyBudW1i ZXJzIGhpZ2hlciB0aGFuIG5pbmUsIHRoZSBudW1iZXJzIGFyZSBqdXN0IHN0cnVuZyB0b2dldGhl cjoKCicndm8gbXUgY2knJyDigJMgZm91ciBodW5kcmVkIGFuZCBmaWZ0eSB0aHJlZSAoNDUzKQoK JydwYSBubyBubyBubyBubycnIHRlbiB0aG91c2FuZCAoMTAgMDAwKQoKVGhlcmUgaXMgYWxzbyBh IOKAnHF1ZXN0aW9uLWRpZ2l04oCdLCB3aGljaCBpcyB1c2VkIGxpa2Ugb3RoZXIgZmlsbC1pbi10 aGUtYmxhbmsgcXVlc3Rpb24gd29yZHMuIEl0J3MgJyd4bycnLiBUaGUgYW5zd2VyIHRvIHN1Y2gg YSBxdWVzdGlvbiBtYXkgYmUganVzdCB0aGUgcmVsZXZhbnQgZGlnaXQocykgYnkgaXRzZWxmLCBv ciB0aGV5IGNhbiBiZSBudW1lcmljYWwgY29uc3RydWN0cywgYXMgc2hvd24gbGF0ZXIuCgonJ2Np IHhvIHhvIHhvJycg4oCTICJUaHJlZSB0aG91c2FuZCBhbmQgaG93IG1hbnk/IiAoMz8/PykKCl9f Jyd4bycnX18gcXVlc3Rpb24gZGlnaXQg4oCTIHVzZSBsaWtlIGFueSBvdGhlciBkaWdpdCB0byBh c2sgZm9yIHRoZSBjb3JyZWN0IGRpZ2l0LgoKVGhlIGV4cGVyaW1lbnRhbCB3b3JkICcneG8nZScn IGlzIHNvbWV0aW1lcyB1c2VkIHRvIG1lYW4gYW4gdW5zcGVjaWZpZWQsIGVsbGlwdGljYWwgZGln aXQuIEl0cyBkZWZpbml0aW9uIGlzIG5vdCBvZmZpY2lhbCwgdGhvdWdoLgoKJydjaSB4bydlIHhv J2UgeG8nZScnIOKAkyBUaHJlZSB0aG91c2FuZCBhbmQgc29tZXRoaW5nCgpfXycneG8nZScnX18g ZWxsaXB0aWNhbCBkaWdpdC4KClNpbmNlIGFsbCBudW1iZXIgc3RyaW5ncyBhcmUgdHJlYXRlZCBn cmFtbWF0aWNhbGx5IHRoZSBzYW1lLCBvbmUgbWlnaHQgYWxzbyBhbnN3ZXIgc2V2ZXJhbCBkaWdp dHMgdG8gb25lICcneG8nZScnCgoKCkZ1cnRoZXJtb3JlLCB0aGVyZSBpcyBhbHNvIGEgc2V0IG9m IGhleGFkZWNpbWFsIGRpZ2l0cyBBIHRocm91Z2ggRi4gQnkgZGVmYXVsdCwgTG9qYmFuIG9wZXJh dGVzIGluIGJhc2UgMTAsIGJ1dCB3aGVuIHVzaW5nIGhleGFkZWNpbWFsIGRpZ2l0cywgaXQgY2Fu IGJlIHNhZmVseSBhc3N1bWVkIHRoYXQgeW91IHVzZSBiYXNlIHNpeHRlZW46Cgp8fGRhdXxmZWl8 Z2FpfGphdXxyZWl8eGVpIHx2YWl8CgoxMChBKXwxMShCKXwxMihDKXwxMyhEKXwxNChFKXwxNChF KXwxNShGKXx8CgpZZXMsIEkga25vdyB0aGVyZSBhcmUgdHdvIHdvcmRzIGZvciBFLiBUaGUgb2Zm aWNpYWwgb25lIGlzICcncmVpJycgKGFsbCB0aHJlZS1sZXR0ZXIgY21hdm8gYmVnaW5uaW5nIHdp dGggeCBpcyBleHBlcmltZW50YWwpLiAnJ3hlaScnIHdhcyBpbnZlbnRlZCB0byBhdm9pZCBjb25m dXNpb24gd2l0aCAnJ3JlJycuCgpUaGUgYmFzZSBjYW4gYmUgZXhwbGljaXRseSBzdGF0ZWQgdXNp bmcgJydqdSd1Jyc6IEFueSBudW1iZXIgYmVmb3JlICcnanUndScnIHRoZSBudW1iZXIgYmVpbmcg c3Bva2VuIG9mLCBhbnkgbnVtYmVyIGFmdGVyIGlzIHRoZSBiYXNlIG9mIHRoZSBudW1iZXI6Cgon J2RhdSBzbyBmZWkgbm8ganUndSBwYSByZScnIOKAkyBBOUIwIGluIGJhc2UgMTIgKG5vdGljZSBo ZXJlIHRoYXQgYmFzZSAxMiBpcyBhbHdheXMgaW4gZGVjaW1hbC4gSXQgaXMgcG9zc2libGUgdG8g cGVybWFuZW50bHkgY2hhbmdlIHRoZSBiYXNlIHlvdSBzcGVhayBpbiwgYnV0IHNpbmNlIGl0IGhh cyBuZXZlciBiZWVuIHVzZWQgaW4gcHJhY3RpY2UsIGl0IGhhcyBub3QgYmVlbiBzdGFuZGFyZGl6 ZWQgaG93IG9uZSBzaG91bGQgZG8gaXQpCgpGcmFjdGlvbnMgYXJlIGFsc28gdXNlZnVsIHRvIGxl YXJuIGhvdyB0byBleHByZXNzLiBUaGV5IGFyZSB1c3VhbGx5IGV4cHJlc3NlZCB2aWEgYSBkZWNp bWFsIHBvaW50LCAnJ3BpJycuCgpfXycncGknJ19fIERlY2ltYWwgcG9pbnQgKG9yIHBvaW50IGlu IHdoaWNoZXZlciBiYXNlIHlvdSBhcmUgdGFsa2luZyBpbikKCicncGEgcmUgcGkgcmUgbXUnJyDi gJMgdHdlbHZlIHBvaW50IHR3byBmaXZlICgxMi4yNSkuIAoKTGlrZSBpbiBtYXRoZW1hdGljcywg d2hlbiBubyBudW1iZXIgc3RyaW5nIGlzIHBsYWNlZCBiZWZvcmUgb3IgYWZ0ZXIgJydwaScnLCB6 ZXJvIGlzIGFzc3VtZWQuIAoKUmVsYXRlZCB0byB0aGlzLCB0aGUgbnVtYmVyIHNlcGFyYXRvciAn J3BpJ2UnJyBpcyB1c2VkIHRvIHNlcGFyYXRlIG51bWJlcnMsIGVpdGhlciB0byBzZXBhcmF0ZSBk aWdpdHMgd2hlbiBzcGVha2luZyBpbiBhIGJhc2UgbGFyZ2VyIHRoYW4gc2l4dGVlbiwgb3Igd2hl biBhIGRlY2ltYWwgcG9pbnQgaXMgbm90IGFwcGxpY2FibGUsIGZvciBpbnN0YW5jZSwgd2hlbiB0 YWxraW5nIGFib3V0IHRpbWUgaW4gaG91cnMsIG1pbnV0ZXMsIHNlY29uZHM6CgonJ3BhIHNvIHBp J2UgcmUgbXUgcGknZSBubyBqdSd1IHJlIHplJycg4oCTIE5pbmV0ZWVuLCB0d2VudHktZml2ZSwg emVybyBpbiBiYXNlIDI3IChKUDAgYmFzZSAyNykKCicncmUgcmUgcGknZSB2byBiaScnIOKAkyB0 d2VudHktdHdvLCBmb3VydHkgZWlnaHQgKDIyOjQ4KQoKCgpUaGVyZSBpcyBhbHNvIGEgcmFuZ2Ug b2YgbnVtYmVyIHdvcmRzIHdoaWNoIGFyZSBub3QgbWF0aGVtYXRpY2FsbHkgZXhhY3QgYnV0IHJh dGhlciBzdWJqZWN0aXZlIG9yIHJlbGF0aXZlLiBUaGUgYmVoYXZpb3JzIG9mIHRoZXNlIHdvcmRz IGFyZSBhbG1vc3QgZXhhY3RseSBsaWtlIHRoZSBiZWhhdmlvciBvZiBkaWdpdHMsIGV4Y2VwdCB0 aGV5IGNhbm5vdCBiZSBjb21iaW5lZCB0byBtYWtlIGJpZ2dlciBudW1iZXJzIHRoZSB3YXkgZGln aXRzIGNhbjoKCnx8IHJvfHNvJ2F8c28nZXxzbydpfHNvJ298c28ndXwKCmFsbHxhbG1vc3QgYWxs fG1vc3R8bWFueXxzb21lfGZld3x8CgpXaGVuIGNvbWJpbmVkIHdpdGggYW55IG9mIHRoZSBkaWdp dHMsIHRoZXNlIHdvcmRzIGFyZSBhc3N1bWVkIHRvIGdpdmUgYSBzZWNvbmQgdmVyZGljdCBhYm91 dCB0aGUgc2l6ZSBvZiB0aGUgbnVtYmVyOgoKJydtdSBiaSBzbydpIHNhaScnIOKAk0ZpZnR5IGVp Z2h0LCB3aGljaCBpcyByZWFsbHkgbWFueS4KClRoZXkgc2hvdWxkIHRoZXJlZm9yZSBub3QgYmUg cGxhY2VkIGluIHRoZSBtaWRkbGUgb2YgYSBudW1iZXIgc3RyaW5nLiBXaGVuIHBsYWNlZCBhZnRl ciAnJ3BpJycsIHRoZXkgYXJlIGFzc3VtZWQgdG8gY29udmV5IHRoZSBzaXplIG9mIGEgZnJhY3Rp b246CgonJ3BpIHNvJ3UnJyDigJMgYSBzbWFsbCBwYXJ0IG9mIGl0CgonJ3BpIHNvJ28nJyDigJMg c29tZSBvZiBpdCAKCicncGkgc28naScnIOKAkyBhIGxhcmdlIHBhcnQgb2YgaXQgCgonJ3BpIHNv J2UnJyDigJMgbW9zdCBvZiBpdAoKJydwaSBzbydhJycg4oCTIGFsbW9zdCBhbGwgb2YgaXQKCgoK VGhlc2UgYXJlIHNvbWUgaGlnaHRseSBzdWJqZWN0aXZlIG51bWJlcnMgLSB0aGV5IHdvcmsganVz dCBsaWtlIHRoZSBwcmV2aW91cyBvbmVzLgoKfHxkdSdlfG1vJ2F8cmF1Cgp0b28gbWFueXx0b28g ZmV3fGVub3VnaHx8CgpUaGUgZm9sbG93aW5nIGZpdmUgYXJlIGNvbnRleHQtYmFzZWQgbnVtYmVy cyDigJMgdGhlc2Ugd29yayBsaWtlIHRoZSBwcmV2aW91cyBvbmVzLCB3aXRoIHRoZSBleGNlcHRp b24gdGhhdCB0aGV5IHRha2UgdGhlIG5leHQgbnVtYmVyIGluIG9yZGVyIHRvIGFzc2lnbiB0aGVt IG1lYW5pbmc6Cgp8fGRhJ2F8c3UnZXxzdSdvfHphJ3V8bWUnaQoKYWxsIGV4Y2VwdCBuIHxBdCBt b3N0IG58QXQgbGVhc3Qgbnxtb3JlIHRoYW4gbnxsZXNzIHRoYW4gbnx8CgpJZiBubyBudW1iZXIg c3RyaW5nIGZvbGxvdyB0aGVtLCDigJxvbmXigJ0gaXMgYXNzdW1lZC4KCicnc28naSBwYSByZSBk YSdhIG11Jycg4oCTIE1hbnksIHdoaWNoIGlzIHR3ZWx2ZSwgd2hpY2ggaXMgYWxsIGJ1dCBmaXZl LgoKVGhlIHR3byBsYXN0IG51bWJlciB3b3JkcyB5b3Ugc2hvdWxkIGtub3cgaGF2ZSBzbGlnaHRs eSBtb3JlIGNvbXBsaWNhdGVkIGdyYW1tYXI6CgpfXycnamknaScnX18gLSBudW1iZXIgcm91bmRp bmcgb3IgbnVtYmVyIGFwcHJveGltYXRpb24KCldoZW4gJydqaSdpJycgaXMgcGxhY2VkIGJlZm9y ZSBhIG51bWJlciwgdGhlIGVudGlyZSBudW1iZXIgaXMgYXBwcm94aW1hdGVkOgoKJydqaSdpIHpl IHphJ3UgcmF1IGp1J28nJyDigJMgIkFib3V0IHNldmVudHksIHdoaWNoIGlzIG1vcmUgdGhhbiBl bm91Z2gsIGNlcnRhaW5seeKAnQoKUGxhY2VkIGluIHRoZSBtaWRkbGUgb2YgdGhlIG51bWJlciwg b25seSB0aGUgZm9sbG93aW5nIGRpZ2l0cyBhcmUgbm9uLWV4YWN0LiBBdCB0aGUgZW5kIG9mIGEg bnVtYmVyLCBpdCBzaWduaWZpZXMgdGhhdCB0aGUgbnVtYmVyIGhhcyBiZWVuIHJvdW5kZWQgb2Zm LiAKCl9fJydraSdvJydfXyBOdW1iZXIgY29tbWEgIC0gc2VwYXJhdGVzIGRpZ2l0cyB3aXRoaW4g b25lIHN0cmluZzsgVGhvdXNhbmRzLgoKSXQgaXMgbm90IGluY2lkZW50aWFsIHRoYXQgJydraSdv Jycgc291bmRzIGxpa2Ug4oCca2lsb+KAnS4gQXQgaXRzIHNpbXBsZXN0LCAnJ2tpJ28nJyBpcyB1 c2VkIHRvIHNlcGFyYXRlIHRocmVlIGRpZ2l0cyBhdCBhIHRpbWUgaW4gbGFyZ2UgbnVtYmVycywg bXVjaCBsaWtlIGNvbW1hcyBhcmUgdXNlZCBpbiBFbmdsaXNoOgoKJydwYSBraSdvIHNvIHNvIHNv IGtpJ28gYmkgeGEgemUnJyDigJMgMSw5OTksODY3CgpJZiBsZXNzIHRoYW4gdGhyZWUgZGlnaXRz IGFyZSBwdXQgYmVmb3JlIGEgJydraSdvJycsIHRoZSBkaWdpdHMgYXJlIGFzc3VtZWQgdG8gYmUg dGhlIGxlYXN0IHNpZ25pZmljYW50IG9uZXMsIGFuZCB6ZXJvcyBhcmUgYXNzdW1lZCB0byBmaWxs IGluIHRoZSByZXN0OgoKJyd2byBraSdvIGNpIGJpIGtpJ28gcGEga2knbyBraSdvJycg4oCTIDQs MDM4LDAwMSwwMDAsMDAwCgonJ2tpJ28nJyBpcyB1c2VkIHNpbWlsYXJseSBhZnRlciBhIGRlY2lt YWwgcG9pbnQuCgoKClRoYXQgY29uY2x1ZGVzIHRoZSBjb21tb24gTG9qYmFuIG51bWJlcnMgdGhl bXNlbHZlcy4gSG93IHRoZXkgYXBwbHkgdG8gc3VtdGkgaXMgYSBzY2llbmNlIGluIGl0c2VsZiwg YW5kIHdlIGxlYXZlIHRoYXQgZm9yIGxlc3NvbiB0d2VudHktdHdvLiBOb3cgd2UgZm9jdXMgb24g aG93IHRoZXNlIG51bWJlcnMgY2FuIGJlIHVzZWQgaW4gYSBicmlkaS4KCkEgc3RyaW5nIG9mIG51 bWJlciB3b3JkcyBieSB0aGVtc2VsdmVzIGFyZSBncmFtbWF0aWNhbCwgc2luY2UgdGhleSBjYW4g YWN0IGFzIGFuIGFuc3dlciB0byBhICcneG8nJy10eXBlIG9mIHF1ZXN0aW9uLiBJbiB0aGlzIGNh c2UsIGhvd2V2ZXIsIHRoZXkgY2Fubm90IGJlIGNvbnNpZGVyZWQgcGFydCBvZiBhbnkgYnJpZGku IEluIGdlbmVyYWwsIGlmIG51bWJlcnMgZmlsbCBwYXJ0IG9mIGEgYnJpZGksIHRoZXkgZG8gc28g aW4gb25lIG9mIHR3byBmb3JtczogUHVyZSBudW1iZXJzIGFuZCBxdWFudGlmaWVycy4gV2Ugd2ls bCByZXR1cm4gdG8gcXVhbnRpZmllcnMgaW4gYSBsYXRlciBsZXNzb24uIEZvciBub3csIHdlIHdp bGwgbG9vayBhdCBwdXJlIG51bWJlcnMuCgpBIHB1cmUgbnVtYmVyIGlzIGFueSByb3cgb2YgbnVt YmVyIHdvcmRzIHByZWZpeGVkIHdpdGggJydsaScnLiBUaGlzIG1ha2VzIGEgc3VtdGkgZGlyZWN0 bHkgZnJvbSB0aGUgbnVtYmVyLCBhbmQgcmVmZXJzIHRvIHRoZSBtYXRoZW1hdGljYWwgY29uY2Vw dCBvZiwgZm9yIGluc3RhbmNlLCDigJx0aGUgbnVtYmVyIHNpeOKAnS4gSXRzIGZhJ29ybWEnbyBp cyAnJ2xvJ28nJwoKX18nJ2xpJydfXyBjb252ZXJ0IG51bWJlci9tZWtzby1leHByZXNzaW9uIHRv IHN1bXRpLgoKX18nJ2xvJ28nJ19fIGZhJ29ybWEnbzogZW5kIGNvbnZlcnQgbnVtYmVyL21la3Nv LWV4cHJlc3Npb24gdG8gc3VtdGkuCgpUaGVzZSBwdXJlIHN1bXRpIGFyZSB1c3VhbGx5IHdoYXQg ZmlsbHMgdGhlIHgyIG9mIGJyaXZsYSBzdWNoIGFzICcnbWl0cmUnJyBvciAnJ2NhY3JhJycKCl9f JydtaXRyZScnX18geDEgaXMgeDIgbWV0cmVzIGluIGRpbWVuc2lvbiB4MyBieSBzdGFuZGFyZCB4 NAoKX18nJ2NhY3JhJydfXyB4MSBpcyB4MiBob3VycyBpbiBkdXJhdGlvbiAoZGVmYXVsdCAxKSBi eSBzdGFuZGFyZCB4MwoKCgpUcnkgdG8gdHJhbnNsYXRlIHRoZSBmb2xsb3dpbmc6CgonJ2xlIHRh IG51IGNpbmppa2NhIGN1IGNhY3JhIGxpIGNpIGppJ2kgdSdpIG5haScnCgpBbnN3ZXI6IH5+Z3Jl eSxncmV5OiDigJ0qc2lnaCogVGhhdCBmbGlydGluZyBoYXMgYmVlbiBnb2luZyBvbiBmb3IgYXJv dW5kIHRocmVlIGhvdXJzLuKAnSB+fgoKSG93IGRvIHlvdSBjb3VudCB0byB0aHJlZSBpbiBMb2pi YW4/CgpBbnN3ZXI6IH5+Z3JleSxncmV5OiAnJ2xpIHBhIGxpIHJlIGxpIGNpJycgfn4KCgoKVGhl IGxhc3QgdGhpbmcgd2UnbGwgZ28gdGhyb3VnaCBpbiB0aGlzIGxlc3NvbiBpcyB0aGUgd29yZHMg b2YgdGhlIHNlbG1hJ28gTUFJIGFuZCB0aG9zZSBvZiBNT0kuCgpNQUkgb25seSBjb250YWlucyB0 d28gd29yZHMsICcnbWFpJycgYW5kICcnbW8nbycnLiBCb3RoIG9mIHRoZXNlIGNvbnZlcnQgYW55 IG51bWJlciBzdHJpbmcgdG8gYW4gb3JkaW5hbCwgd2hpY2ggaGFzIHRoZSBncmFtbWFyIG9mIGF0 dGl0dWRpbmFscy4gT3JkaW5hbHMgYXJlIHVzZWQgdG8gZGl2aWRlIGEgdGV4dCBpbnRvIG51bWJl cmVkIHNlZ21lbnRzLCBsaWtlIGNoYXB0ZXJzIG9yIHBhcnRzLiBUaGUgb25seSBkaWZmZXJlbmNl IGJldHdlZW4gJydtYWknJyBhbmQgJydtbydvJycgaXMgdGhhdCAnJ21vJ28nJyBxdWFudGlmaWVz IGxhcmdlciBzdWJkaXZpc2lvbnMgb2YgdGV4dCwgYWxsb3dpbmcgeW91IHRvIGRpdmlkZSBhIHRl eHQgb24gdHdvIGRpZmZlcmVudCBsZXZlbHMsIGZvciBleGFtcGxlIGVudW1lcmF0aW5nIGNoYXB0 ZXJzIHdpdGggJydtbydvJycgYW5kIHNlY3Rpb25zIHdpdGggJydtYWknJy4gTm90aWNlIHRoYXQg dGhlc2UgYXMgd2VsbCBhcyB0aGUgTU9JIHRha2UgYW55IG51bWJlciBzdHJpbmcgZGlyZWN0bHks IHdpdGhvdXQgYW55IG5lZWQgZm9yICcnbGknJy4KCl9fJydtYWknJ19fOiBMb3dlci1vcmRlciBv cmRpbmFsIG1hcmtlcjogQ29udmVydCBudW1iZXIgdG8gb3JkaW5hbAoKX18nJ21vJ28nJ19fOiBI aWdoZXIgb3JkZXIgb3JkaW5hbCBtYXJrZXI6IENvbnZlcnQgbnVtYmVyIHRvIG9yZGluYWwuCgoK ClRoZXJlIGFyZSBmaXZlIE1PSSwgYW5kIHRoZXkgYWxsIGNvbnZlcnQgYW55IG51bWJlciBzdHJp bmcgdG8gc2VsYnJpLiBXZSdsbCB0YWtlIHRoZW0gb25lIGF0IGEgdGltZToKCl9fJydtb2knJ19f IC0gQ29udmVydCBudW1iZXIgbiB0byBzZWxicmk6IHgxIGlzIHRoZSBuJ3RoIG1lbWJlciBvZiBz ZXQgeDIgYnkgb3JkZXIgeDMKCkV4YW1wbGU6ICcnbGEgbHV0Y2ltaW4gY2kgbW9pIGxvJ2kgbmlu bXUgcGVuZG8gYmUgbWkgbGUgc3UndSBsbyBjbGFuaSB6bWFkdSBjdSBsaWRuZSBsbyBjbGFuaSBt bGVjYScnIOKAkyDigJxMdWktQ2hpIE1pbiBpcyB0aGlyZCBhbW9uZyBteSBmZW1hbGUgZnJpZW5k cyBieSB0aGUgb3JkZXI6IFRoZSBtb3JlIHRhbGwgb25lcyBwcmVjZWRlcyB0aGUgbGVzcyB0YWxs IG9uZXPigJ0uCgooV2hlbiBzcGVjaWZ5aW5nIGEgc2VxdWVuY2UsIGl0IGlzIHdpZGVseSB1bmRl cnN0b29kIHRoYXQgaWYgYSAnJ2thJyctYWJzdHJhY3Rpb24gKGxlc3NvbiB0d2VudHktbmluZSkg aXMgdXNlZCBhcyBhIHN1bXRpLCB0aGUgbWVtYmVycyBvZiB0aGUgc2V0IGFyZSBvcmRlcmVkIGZy b20gdGhlIG9uZSB3aXRoIG1vc3Qgb2YgdGhlIHByb3BlcnR5IHRvIHRoZSBvbmUgd2l0aCBsZXNz IG9mIHRoZSBwcm9wZXJ0eSwgc28gdGhlIHgzIG9mIHRoZSBmb2xsb3dpbmcgc2VudGVuY2UgY291 bGQgaGF2ZSBiZWVuIHNob3J0ZW5lZCB0byAnJ2xvIGthIGNsYW5pJycpCgpfXycnbGlkbmUnJ19f IHgxIGlzIGJlZm9yZSB4MiBpbiBzZXF1ZW5jZSB4MwoKX18nJ2NsYW5pJydfXyB4MSBpcyBsb25n IGluIGRpbWVuc2lvbiB4MiBieSBzdGFuZGFyZCB4MwoKX18nJ3ptYWR1JydfXyB4MSBleGNlZWRz IHgyIGluIHByb3BlcnR5L2FzcGVjdCB4MyBieSBhbW91bnQgeDQKCl9fJydtbGVjYScnX18geDEg aXMgbGVzcyB0aGFuL2lzIGxlc3MgY2hhcmFjdGVyaXplZCB0aGFuIHgyIGJ5IHByb3BlcnR5L2Fz cGVjdCB4MyBieSBhbW91bnQgeDQKCgoKX18nJ21laScnX18gLSBDb252ZXJ0IG51bWJlciBuIHRv IHNlbGJyaTogeDEgaXMgdGhlIG1hc3MgZm9ybWVkIGZyb20gdGhlIHNldCB4Miwgd2hpY2ggaGFz IHRoZSBuIG1lbWJlcnMgb2YgeDMKCk5vdGljZSBoZXJlIHRoYXQgeDMgYXJlIHN1cHBvc2VkIHRv IGJlIGluZGl2aWR1YWxzLCB4MiBhIHNldCBhbmQgeDEgYSBtYXNzLgoKV2hhdCB3b3VsZCAnJ21p IGNpIG1laScnIG1lYW4/IAoKQW53ZXI6IH5+Z3JleSxncmV5OuKAnFdlIGFyZSBncm91cCBvZiB0 aHJlZS7igJ1+fgoKCgpfXycnc2knZScnX18gLSBDb252ZXJ0IG51bWJlciBuIHRvIHNlbGJyaTog eDEgaXMgbiB0aW1lcyB4MgoKRXhhbXBsZTogJydsZSB2aSBwbGlzZSBjdSBtZSdpIHBpIHBhIHNp J2UgbGVpIG1pIGNpZGphIGJlIHplJ2EgbG8gZGplZGknJyDigJMg4oCcVGhpcyBhcHBsZSBoZXJl IGlzIGxlc3MgdGhhbiBvbmUgdGVudGggb2YgbXkgZm9vZCBmb3Igb25lIGRheeKAnQoKUGxlYXNl IG5vdGUgdGhhdCB0aGUgZGVmaW5pdGlvbiBvZiAnJ3NpJ2UnJyB3aGVuIGxvb2tlZCB1cCB3aWxs IHRlbGwgeW91IHRoYXQgaXQncyAieDEgaXMgYW4gbnRoIG9mIHgyIiwgaW5zdGVhZCBvZiAieDEg aXMgbiB0aW1lcyB4MiIuIEJ1dCBwZW9wbGUgb25seSB1c2UgaXQgYXMgSSBoYXZlIGRlZmluZWQg aXQsIHNvIHRoZSBkZWZpbml0aW9uIGluIHRoZSBkaWN0aW9uYXJpZXMgd2lsbCBwcm9iYWJseSBj aGFuZ2UuCgoKCl9fJydjdSdvJydfXyAtIENvbnZlcnQgbnVtYmVyIG4gdG8gc2VsYnJpOiB4MSBo YXMgbiBwcm9iYWJpbGl0eSBvZiBvY2N1cnJpbmcgdW5kZXIgY29uZGl0aW9ucyB4MgoKRXhhbXBs ZTogJydsbyBudSBtaSBtcm9iaSdvIGN1IHBhIGN1J28gbG8gbnUgbWkgZGVucGEgcmknJyDigJMg 4oCdQW4gZXZlbnQgb2YgbWUgZHlpbmcgaGFzIHByb2JhYmlsaXR5IDEgdW5kZXIgdGhlIGNvbmRp dGlvbnM6IEkgd2FpdCBmb3IgaXTigJ0gPSDigJ1NZSBkeWluZyBpcyBjb21wbGV0ZWx5IGNlcnRh aW4gaWYgSSB3YWl0IGxvbmcgZW5vdWdoLuKAnQoKX18nJ2RlbnBhJydfXyB4MSB3YWl0cyBmb3Ig eDIsIGJlaW5nIGluIHN0YXRlIHgzIHVudGlsIHJlc3VtaW5nL2RvaW5nIHg0CgpfXycndmEnZScn X18gLSBDb252ZXJ0IG51bWJlciBuIHRvIHNlbGJyaTogeDEgaXMgYXQgdGhlIG4ndGggcG9zaXRp b24gb24gdGhlIHNjYWxlIHgyCgpFeGFtcGxlOiAnJ2xpIHBhIG5vIGN1IHJvIHZhJ2UgbGEgdG9y aW5vbicnIOKAkyDigJwxMCBpcyB0aGUgaGlnaGVzdCB2YWx1ZSBvbiB0aGUgVG9yaW5vLXNjYWxl 4oCdCgoKCgoKISFMb2piYW4gTGVzc29ucyAtIExlc3NvbiB0d2VudHkgKGJvLCBrZSwgY28gYW5k IG1vcmUgY3V0ZW5lc3MpCgpTYXkgeW91J3JlIGFuIGltcG9ydGFudCBBbWVyaWNhbiBidXllciBv ZiBjb21wdXRlcnMuIEhvdyBkbyB5b3UgZXhwcmVzcyB0aGlzPyBGb3IgY29uc3RydWN0cyBsaWtl IHRoZXNlLCB0YW5ydSBhcmUgaWRlYWw6ICcnbWkgdmFqbmkgbWVya28gc2thbWkgdGUgdmVjbnUn Jy4gTm8gd2FpdCwgdGhhdCdzIG5vdCByaWdodC4gVGFucnUgYXJlIGdyb3VwZWQgZnJvbSBsZWZ0 IHRvIHJpZ2h0LCBzbyB0aGlzIHRhbnJ1IGlzIHVuZGVyc3Rvb2Q6ICgoJyd2YWpuaSBtZXJrbycn KSAnJ3NrYW1pJycpICcndGUgdmVjbnUnJywgYSBidXllciBvZiBjb21wdXRlcnMgZm9yIGltcG9y dGFudCBBbWVyaWNhbnMuIFlvdSBjYW4ndCBjaGFuZ2UgdGhlIG9yZGVyIG9mIHRoZSBzZWxicmkg dG8gZ2V0IGEgdXNlZnVsIHRhbnJ1LiBOZWl0aGVyIGNhbiB0aGlzIGJlIHNvbHZlZCB3aXRoIGxv Z2ljYWwgY29ubmVjdGl2ZXMsIHdoaWNoIHlvdSB3aWxsIGZpcnN0IGxlYXJuIGFib3V0IGxhdGVy IGFueXdheS4gVGhlIG9ubHkgd2F5IHRvIG1ha2UgYSBmaXR0aW5nIHRhbnJ1IGlzIHRvIGZvcmNl IHRoZSBzZWxicmkgdG8gZ3JvdXAgZGlmZmVyZW50bHkuCgoKClRvIGJpbmQgdHdvIHNlbGJyaSBj bG9zZSB0b2dldGhlciBpbiBhIHRhbnJ1LCB0aGUgd29yZCAnJ2JvJycgY2FuIGJlIHBsYWNlZCBi ZXR3ZWVuIHRoZW06ICcnbWkgdmFqbmkgYm8gbWVya28gc2thbWkgYm8gdGUgdmVjbnUnJyBpcyBy ZWFkICcnbWknJyAoJyd2YWpuaSBibyBtZXJrbycnKSAoJydza2FtaSBibyB0ZSB2ZWNudScnKSwg d2hpY2ggaXMgdXNlZnVsIGluIHRoaXMgY29udGV4dC4gSWYgYm8gaXMgcGxhY2VkIGJldHdlZW4g c2V2ZXJhbCBzZWxicmkgaW4gYSByb3csIHRoZXkgYXJlIGdyb3VwZWQgZnJvbSByaWdodCB0byBs ZWZ0IGluc3RlYWQgb2YgdGhlIHVzdWFsIGxlZnQgdG8gcmlnaHQ6ICcnbWkgdmFqbmkgbWVya28g Ym8gc2thbWkgYm8gdGUgdmVjbnUnJyBpcyByZWFkICcndmFqbmknJyAoJydtZXJrbyBibycnICgn J3NrYW1pIGJvIHRlIHZlY251JycpKSBhbiDigJxpbXBvcnRhbnQgKEFtZXJpY2FuIGNvbXB1dGVy LWJ1eWVyKeKAnSwgd2hpY2ggaXMgZXZlbiBtb3JlIGFwcHJvcHJpYXRlIGluIHRoZSBzaXR1YXRp b24uCgpfXycnYm8nJ19fIEJpbmRzIHR3byBzZWxicmkgdG9nZXRoZXIgc3Ryb25nbHkuCgoKCkhv dyB3b3VsZCB5b3Ugc2F5IOKAnFRoYXQncyBhIHRhc3R5IHllbGxvdyBhcHBsZeKAnT8KCl9fJydr dWt0ZScnX18geDEgaXMgdGFzdHkgZm9yIHgyCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6Jyd0aSBr dWt0ZSBwZWx4dSBibyBwbGlzZScnfn4KCgoKV2hhdCBhYm91dCDigJ1UaGF0J3MgYSBiaWcsIHRh c3R5IHllbGxvdyBhcHBsZeKAnQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicndGkgYmFyZGEga3Vr dGUgYm8gcGVseHUgYm8gcGxpc2UnJ35+CgoKCkFub3RoZXIgYXBwcm9hY2ggdG8gdGhpcyBpcyB0 byB1c2UgdGhlIHdvcmRzICcna2XigKZrZSdlJycuIFRoZXNlIGNhbiBiZSBjb25zaWRlcmVkIGFz IGVxdWl2YWxlbnQgdG8gdGhlIHBhcmVudGhlc2lzZXMgdXNlZCBpbiB0aGUgcGFyYWdyYXBoIGFi b3ZlLiAnJ2tlJycgYmVnaW5zIHN0cm9uZyBzZWxicmkgZ3JvdXBpbmcsICcna2UnZScnIGVuZHMg aXQuCgpfXycna2UnJ19fIOKAkyBiZWdpbiBzdHJvbmcgc2VsYnJpIGdyb3VwaW5nLgoKX18nJ2tl J2UnJ19fIOKAkyBlbmQgc3Ryb25nIHNlbGJyaSBncm91cGluZy4KClRoZSBzdHJlbmd0aCBvZiB0 aGUgYmluZGluZyBpcyB0aGUgc2FtZSBhcyB0aGF0IG9mICcnYm8nJy4gVGhlcmVmb3JlLCAnJ21p IHZham5pIG1lcmtvIGJvIHNrYW1pIGJvIHRlIHZlY251JycgY2FuIGJlIHdyaXR0ZW4gJydtaSB2 YWpuaSBrZSBtZXJrbyBrZSBza2FtaSB0ZSB2ZWNudSB7a2UnZX0ge2tlJ2V9JycuCgpIb3cgY291 bGQgeW91IHNheSDigJxJJ20gYSBHZXJtYW4gc2VsbGVyIG9mIHllbGxvdyBob21lcz/igJ0KCgoK QW5zd2VyOiB+fmdyZXksZ3JleTonJ21pIGRvdGNvIGtlIHBlbHh1IHpkYW5pIHZlY251Jyd+fgoK CgpXaGlsZSB3ZSdyZSBhdCBtZXNzaW5nIHdpdGggdGhlIG9yZGluYXJ5IHRhbnJ1IHN0cnVjdHVy ZSwgdGhlcmUgaXMgYW5vdGhlciB3b3JkIHdvcnRoIHBheWluZyBhdHRlbnRpb24gdG8uIElmIEkg d2FudCB0byBzYXkgdGhhdCBJJ20gYSBwcm9mZXNzaW9uYWwgdHJhbnNsYXRvciwgSSBjb3VsZCBz YXkgJydtaSBmYW52YSBzZSBqaWJyaScnLgoKX18nJ2ppYnJpJydfXyB4MSBpcyBhIGpvYiBvZiB4 MgoKX18nJ2RvdHliYXUnJ19fIHgxIGlzIEdlcm1hbiB1c2VkIGJ5IHgyIHRvIHNheSB4MwoKX18n J2dsaWJhdScnX18geDEgaXMgRW5nbGlzaCB1c2VkIGJ5IHgyIHRvIHNheSB4MwoKSWYgSSB3YW50 ZWQgdG8gc2F5IHRoYXQgSSdtIGEgcHJvZmVzc2lvbmFsIHRyYW5zbGF0ZXIgZnJvbSBFbmdsaXNo IHRvIEdlcm1hbiwgSSdkIGhhdmUgdG8gbWVzcyBhcm91bmQgd2l0aCAnJ2JlJycgYW5kICcnYmVp Jyc6ICcnbWkgZmFudmEgYmUgbGUgZG90eWJhdSBiZWkgbGUgZ2xpYmF1IGJlJ28gc2Ugamlicmkn JywgYW5kIHRoZSBmYWN0IHRoYXQgaXQgd2FzIGEgdGFucnUgY291bGQgcXVpY2tseSBiZSBsb3N0 IGluIHNwZWVjaCBkdWUgdG8gdGhlIGNvbXBsaWNhdGVkIHN0cnVjdHVyZSBvZiB0aGUgc2VudGVu Y2UuIEhlcmUsIHdlIGNhbiB1c2UgdGhlIHdvcmQgJydjbycnLiBpdCBpbnZlcnRzIHRoZSB0YW5y dSwgbWFraW5nIHRoZSByaWdodG1vc3Qgc2VsYnJpIG1vZGlmeSB0aGUgbGVmdG1vc3QgaW5zdGVh ZCBvZiB0aGUgb3RoZXIgd2F5IGFyb3VuZDoKCicnbWkgc2UgamlicmkgY28gZmFudmEgbGUgZG90 eWJhdSBsZSBnbGliYXUnJyBpcyB0aGUgc2FtZSBicmlkaSBhcyB0aGUgcHJldmlvdXMgTG9qYmFu IG9uZSwgYnV0IG11Y2ggbW9yZSBlYXN5IHRvIHVuZGVyc3RhbmQuIE5vdGljZSB0aGF0IGFueSBz dW10aSBiZWZvcmUgdGhlIHRhbnJ1IGZpbGxzICcnc2UgamlicmknJywgd2hpbGUgYW55IGZvbGxv d2luZyBpdCBvbmx5IGZpbGxzIHRoZSBtb2RpZnlpbmcgc2VsYnJpOiAnJ2ZhbnZhJycuCgpfXycn Y28nJ19fIEludmVydCB0YW5ydS4gQW55IHByZXZpb3VzIHN1bXRpIGZpbGwgdGhlIG1vZGlmaWVk LCBhbnkgZm9sbG93aW5nIGZpbGwgdGhlIG1vZGlmaWVyLgoKCgpUaGUgc3RyZW5ndGggYnkgd2hp Y2ggdHdvIHNlbGJyaSBhcmUgYm91bmQgdG9nZXRoZXIgd2l0aCBjbyBpcyB2ZXJ5IHdlYWsg4oCT IGV2ZW4gd2Vha2VyIHRoYW4gbm9ybWFsIHRhbnJ1IGdyb3VwaW5nIHdpdGhvdXQgYW55IGdyb3Vw aW5nIHdvcmRzLiBUaGlzIG1ha2VzIHN1cmUgdGhhdCwgaW4gYSBjby1jb25zdHJ1Y3QsIHRoZSBs ZWZ0bW9zdCBzZWxicmkgaXMgYWx3YXlzIHRoZSBzZWxicmkgYmVpbmcgbW9kaWZpZWQsIGFuZCB0 aGUgcmlnaHRtb3N0IGFsd2F5cyBtb2RpZmllcywgZXZlbiBpZiBhbnkgb2YgdGhvc2UgcGFydHMg YXJlIHRhbnJ1LiBUaGlzIG1ha2VzIGEgY28tY29uc3RydWN0IGVhc3kgdG8gcGFyc2U6CgonJ3Rp IHBlbHh1IHBsaXNlIGNvIGt1a3RlJycgaXMgcmVhZCAnJ3RpJycgKCcncGVseHUgcGxpc2UnJykg JydjbyBrdWt0ZScnLCB3aGljaCBpcyB0aGUgc2FtZSBhcyAnJ3RpIGt1a3RlIHBlbHh1IGJvIHBs aXNlJycuIFRoaXMgYWxzbyBtZWFucyB0aGF0IGEgJydrZeKApmtlJ2UnJyBjYW5ub3QgZW5jb21w YXNzIGEgJydjbycnLgoKVGhlIGNtYXZvIG9mIHRoZSBzZWxtYSdvIEdJaEEsIHRoZSBicmlkaS10 YWlsIGFmdGVydGhvdWdodCBsb2dpY2FsIGNvbm5lY3RpdmVzLCBob3dldmVyLCBiaW5kcyBldmVu IGxvb3NlciB0aGFuICcnY28nJy4gVGhpcyBpcyBpbiBvcmRlciB0byB0b3RhbGx5IGF2b2lkIGNv bmZ1c2lvbiBhYm91dCB3aGljaCBzZWxicmkgYmluZHMgdG8gd2hpY2ggaW4gYSBHSWhBLWNvbnN0 cnVjdC4gVGhlIGFuc3dlciBpcyBzaW1wbGU6IFRoZSBHSWhBIG5ldmVyIGVtY29tcGFzc2VzIGFu eSBzZWxicmktZ3JvdXBzLgoKCgpIb3cgY2FuIHlvdSBleHByZXNzIOKAnUkgYW0gYW4gaW1wb3J0 YW50IEFtZXJpY2FuIGJ1eWVyIG9mIGNvbXB1dGVyc+KAnSB1c2luZyBhICcnY28nJz8KCgoKQW5z d2VyOiB+fmdyZXksZ3JleTonJ21pIHNrYW1pIHRlIHZlY251IGNvIHZham5pIG1lcmtvJyd+fgoK CgpJZiBpdCdzIG9mIGFueSB1c2UsIHRoaXMgaXMgdGhlIGxpc3Qgb2YgZGlmZmVyZW50IGtpbmQg b2Ygc2VsYnJpIGdyb3VwZXJzIHJhbmtlZCBieSBzdHJlbmd0aDoKCgoKMS4gICAgJydibycnIGFu ZCAnJ2tlLi5rZSdlJycKCgoKMi4gICAgbG9naWNhbCBjb25uZWN0aXZlcyBvdGhlciB0aGFuIGJy aWRpLXRhaWwgYWZ0ZXJ0aG91Z2h0IGxvZ2ljYWwgY29ubmVjdGl2ZXMgKGV4cGxhaW5lZCBpbiBs ZXNzb24gdHdlbnR5LWZpdmUpCgoKCjMuICAgIG5vIGdyb3VwaW5nIHdvcmRzCgoKCjQuICAgICcn Y28nJwoKCgo1LiAgICBicmlkaS10YWlsIGFmdGVydGhvdWdodCBsb2dpY2FsIGNvbm5lY3RpdmVz IChhbHNvIGluIGxlc3NvbiB0d2VudHktZml2ZSkKCgoKVGhlIHJlc3Qgb2YgdGhpcyBsZXNzb24g d2lsbCBub3QgYmUgb24gc2VsYnJpIGdyb3VwaW5nLCBidXQgbXVjaCBsaWtlIGxlc3NvbiBzZXZl bnRlZW4gbWVudGlvbiBhc3NvcnRlZCB3b3Jkcywgd2hpY2ggY2FuIGJlIG9mIHVzZS4KCgoKJydi bycnIGhhcyBhbm90aGVyIHVzZSwgd2hpY2ggc2VlbXMgc2VwYXJhdGUgZnJvbSBzZWxicmkgZ3Jv dXBpbmc6IEl0IGNhbiBhbHNvIGJpbmQgYSBzdW10Y2l0YSB0byBhbiBlbnRpcmUgYnJpZGksIHNv IHRoYXQgdGhlIGNvbnRlbnQgb2YgdGhlIHN1bXRjaXRhIGlzIG5vdCBhIHN1bXRpLCBidXQgdGhl IGZvbGxvd2luZyBicmlkaS4gVGhpcyBpcyBiZXN0IGV4cGxhaW5lZCB3aXRoIGFuIGV4YW1wbGUu CgpfXycneGVibmknJ19fIHgxIGhhdGVzIHgyCgonJ21pIGRhcnhpIGRvIC5pIG11J2kgYm8gbWkg ZG8geGVibmknJyDigJMg4oCcSSBoaXQgeW91LCB3aXRoIG1vdGl2YXRpb24gdGhhdCBJIGhhdGUg eW91LuKAnSBIZXJlIHRoZSAnJ2JvJycgYmluZHMgJydtdSdpJycgdG8gdGhlIGZvbGxvd2luZyBi cmlkaS4KClRoaXMgaXMgd2hlcmUgdGhlIHRlY2huaWNhbCBkaWZmZXJlbmNlIGJldHdlZW4gdGVu c2Ugc3VtdGNpdGEgYW5kIG90aGVyIHN1bXRjaXRhIGlzIHJlbGV2YW50LiBZb3Ugc2VlLCB3aGVu IGJpbmRpbmcgYSBub3JtYWwgc3VtdGNpdGEgdG8gYSBicmlkaSB3aXRoICcnYm8nJywgaXQgbWVh bnMgdGhhdCB0aGUgZm9sbG93aW5nIGJyaWRpIHNvbWVob3cgZml0cyBpbnRvIHRoZSBzdW10aSBw bGFjZSBvZiB0aGUgc3VtdGNpdGEuIEZvciB0aGUgcmVhc29uIG9mIEdvZCBLbm93cyBXaHksIGJp bmRpbmcgb25lIG9mIHRoZSB3b3JkcyAnJ2JhJycgb3IgJydwdScnIHRvIGEgYnJpZGkgaGFzIHRo ZSBleGFjdCBvcHBvc2l0ZSBlZmZlY3QuIEZvciBleGFtcGxlLCBpbiB0aGUgYnJpZGkgJydtaSBk YXJ4aSBkbyAuaSBiYSBibyBkbyBjaW5qaWtjYScnLCBvbmUgd291bGQgYXNzdW1lIHRoYXQgdGhl IHNlY29uZCBicmlkaSBpcyBzb21laG93IGZpbGxlZCBpbnRvIHRoZSBzdW10aSBwbGFjZSBvZiAn J2JhJycsIG1lYW5pbmcgdGhhdCB0aGUgYnJpZGkgZmlyc3QgdXR0ZXJlZCB0b29rIHBsYWNlIGlu IHRoZSBmdXR1cmUgb2YgdGhlIHNlY29uZCBicmlkaS4gVGhhdCdzIG5vdCB0aGUgY2FzZSwgaG93 ZXZlciwgYW5kIHRoZSBjb3JyZWN0IHRyYW5zbGF0aW9uIG9mIHRoYXQgdXR0ZXJhbmNlIHdvdWxk IGJlICJJIGhpdCB5b3UuIEFmdGVyd2FyZHMsIHlvdSBmbGlydCIuIFRoaXMgd2VpcmQgcnVsZSBp cyBhY3R1YWxseSBvbmUgb2YgdGhlIG1haW4gb2JzdGFjbGVzIHRvIGEgdW5pZmljYXRpb24gb2Yg YWxsIHN1bXRjaXRhIGludG8gb25lIHNpbmdsZSB3b3JkIGNsYXNzLiBBbm90aGVyIGRpZmZlcmVu Y2UgaXMgdGhhdCB0ZW5zZS1zdW10Y2l0YSBjYW4gYmUgZWxpZGVkLCBldmVuIHRob3VnaCB0aGV5 IGFwcGx5LiBUaGlzIHJ1bGUgbWFrZXMgbW9yZSBzZW5zZSwgc2luY2Ugd2Ugb2Z0ZW4gY2FuIGFz c3VtZSBicmlkaSBpcyBwbGFjZWQgaW4gYSB0aW1lIGFuZCBzcGFjZSwgYnV0IHdlIGNhbid0IGFz c3VtZSB0aGF0IHRoZSBzdW10Y2l0YSBvZiBCQUkgYXBwbGllcy4KCgoKVGhlIHVub2ZmaWNpYWwg d29yZCAnJ21lJ29pJycgaXMgZXF1aXZhbGVudCB0byBtZSBsYSdlICcnem8nb2knJywgd2hpY2gg bWVhbnMgdGhhdCBpdCBjb252ZXJ0cyB0aGUgY29udGVudCBvZiB0aGUgbmV4dCB3b3JkIGludG8g YSBzZWxicmkuIEl0IGlzIHVzZWQgdG8gaW52ZW50IGJyaXZsYSBvbiB0aGUgZmx5OiAnJ21pIGNh IHpnYW5hIGxhIG1lJ29pIFgtZmlsZXMnJyBmb3Ig4oCcSSBub3cgd2F0Y2ggWC1maWxlc+KAnS4g TGlrZSBhbGwgcXVvdGUgbmV4dCB3b3JkLWNtYXZvLCBpdCBpcyBub3Qgc3VwcG9ydGVkIGJ5IHRo ZSBvZmZpY2lhbCBncmFtbWFyLCBidXQgdG8gdGhlIGxhenkgTG9qYmFuaXN0LCBpdCdzIGludmFs dWFibGUuCgoKClRoZSB3b3JkICcnZ2knJyBpcyBzdHJhZ2Uga2luZCBvZiBicmlkaSBzZXBhcmF0 b3IsIGFuYWxvZ291cyB0byAnJy5pJycsIGJ1dCB0byBteSBrbm93bGVkZ2UsIGl0IGlzIHVzZWQg aW4gb25seSB0d28gZGlmZmVyZW50IGtpbmRzIG9mIGNvbnN0cnVjdHM6IE1vc3Qgb2Z0ZW4gd2l0 aCBsb2dpY2FsIGNvbm5lY3RpdmVzLCBleHBsYWluZWQgaW4gbGVzc29uIHR3ZW50eS1maXZlLCBi dXQgYWxzbyB3aXRoIHN1bXRjaXRhLiBXaXRoIHN1bXRjaXRhIGl0IGNyZWF0ZXMgYSB1c2VmdWws IGJ1dCBoYXJkbHkgc2VlbiwgY29uc3RydWN0OgoKJydtdSdpIGdpIEJSSURJLTEgZ2kgQlJJREkt MicnLCB3aGljaCBpcyBlcXVpdmFsZW50IHRvICcnQlJJREktMiAuaSBtdSdpIGJvIEJSSURJLTEn Jy4gVGhlcmVmb3JlLCB0aGUgZXhhbXBsZSBhYm92ZSwgd2hpY2ggZXhwbGFpbmVkIHdoeSBJIGhp dCB5b3UsIGNhbiBiZSB3cml0dGVuICcnbXUnaSBnaSBtaSB4ZWJuaSBkbyBnaSBtaSBkYXJ4aSBk bycnLCBvciB0byBwcmVzZXJ2ZSB0aGUgc2FtZSBvcmRlciBhcyB0aGUgb3JpZ2luYWwgc2VudGVu Y2UsIHdlIGNhbiBjb252ZXJ0ICcnbXUnaScnIHdpdGggJydzZScnOiAnJ3NlIG11J2kgZ2kgbWkg ZGFyeGkgZG8gZ2kgbWkgeGVibmkgZG8nJy4KCkl0IGlzIGluIGV4YW1wbGVzIGxpa2UgdGhpcyB0 aGF0ICcnZ2knJyByZWFsbHkgY2FuIHNob3cgaXRzIHZlcnNhdGlsaXR5LiBJdCBkb2VzIG5vdCBq dXN0IHNlcGFyYXRlIHR3byBicmlkaSBsaWtlICcnLmknJyBkb2VzLCBidXQgY2FuIGFsc28gc2Vw YXJhdGUgdHdvIGNvbnN0cnVjdHMgd2l0aGluIGEgYnJpZGksIG1ha2luZyBhbGwgY29uc3RydWN0 cyBvdXRzaWRlIHRoZSBzY29wZSBvZiAnJ2dpJycgYXBwbHkgdG8gYm90aCBicmlkaSwgYXMgdGhp cyBleGFtcGxlIGRlbW9uc3RyYXRlczoKCl9fJydjaW5iYScnX18geDEga2lzc2VzIHgyIGF0IGxv Y3VzIHgzCgoKCl9fJyfigKIgW05vdGUgZnJvbSBJbG1lbjogZ2kuLi5naS4uLiBjb25zdHJ1Y3Qg aXMgb25seSB2YWxpZCB3aXRoIHN1bXRjaXRhLCBzbyBJIGhhZCB0byBjb3JyZWN0IHRoZSBleGFt cGxlcyBvZiB0aGUgcGFyYWdyYXBoIGJlbG93IChieSByZXBsYWNpbmcgdGhlIGZpcnN0ICJnaSIg d2l0aCAiZ2UiKS4gUGVyaGFwcyB0aGlzIHBhcmFncmFwaCBzaG91bGQgYmUgc2ltcGx5IHJlbW92 ZWQ/XScnX18KCicnbWkgZ2UgcHJhbWkgZG8gZ2kgY2luYmEgZG8nJyBsZWF2ZXMgbWkgb3V0c2lk ZSB0aGUgY29uc3RydWN0LCBtYWtpbmcgaXQgYXBwbHkgdG8gYm90aCBicmlkaS4gVGhpcyBjYW4g YWxzbyBiZSBkb25lIHdpdGggJydkbycnLCB3aGljaCBpcyBhbHNvIHByZXNlbnQgaW4gYnJvdGgg YnJpZGk6ICcnbWkgZ2UgcHJhbWkgZ2kgY2luYmEgdmF1IGRvJycuIE5vdGUgdGhhdCAnJ3ZhdScn IGlzIG5lZWRlZCB0byBtYWtlIGRvIGFwcGVhciBvdXRzaWRlIHRoZSBzZWNvbmQgYnJpZGkuCgoK ClRodXMsIHdlIGNhbiB3cml0ZSB0aGUgb3JpZ2luYWwgc2VudGVuY2Ugc2hvcnRlcjogJydtaSBt dSdpIGdpIHhlYm5pIGdpIGRhcnhpIHZhdSBkbycnLCBvciwgdG8gb21pdCBldmVuIHRoZSAnJ3Zh dScnLCB3ZSBjYW4gd3JpdGUgaXQgZXZlbiBzaG9ydGVyIGFuZCBtb3JlIGVsZWdhbnRseTogJydt aSBkbyBtdSdpIGdpIHhlYm5pIGdpIGRhcnhpJycKCgoKCgohIUxvamJhbiBMZXNzb25zIC0gTGVz c29uIHR3ZW50eS1vbmUgKENPSSkKCkluIHRoaXMgbGVzc29uLCB5b3Ugd2lsbCBmYW1pbGlhcml6 ZSB5b3Vyc2VsZiB3aXRoIHZvY2F0aXZlcywgb3IgJydtYSdvaSBjb2knJy4gVGhleSBnZXQgdGhl aXIgb3duIGxlc3Nvbiwgbm90IGJlY2F1c2UgdW5kZXJzdGFuZGluZyB0aGVzZSBwcm92aWRlcyBh IGJhc2lzIGZvciB1bmRlcnN0YW5kaW5nIExvamJhbiBncmFtbWFyIGluIGdlbmVyYWwsIG9yIGJl Y2F1c2UgdGhleSBhcmUgaGFyZCB0byB1bmRlcnN0YW5kLCBidXQgcmF0aGVyIGJlY2F1c2UgdGhl eSBhcmUgdmVyeSBvZnRlbiB1c2VkIGluIGNhc3VhbCBzcGVlY2gsIGFuZCB0aGVyZSBhcmUgYSBs b3Qgb2YgdGhlbS4KCkEgdm9jYXRpdmUgaXMgdXNlZCBwYXJ0bHkgdG8gZGVmaW5lIHdobyAnJ2Rv JycgcmVmZXJzIHRvLiBJZiB0aGUgdm9jYXRpdmUgaXMgZm9sbG93ZWQgYnkgYSBjbWV2bGEsIHRo ZSBjbWV2bGEgZ2V0cyBhbiBpbXBsaWVkIGxhIGluIGZyb250IG9mIGl0LiBJZiBhIHNlbGJyaSBm b2xsb3dzLCBhICcnbGUnJyBpcyB1c2VkIGFzIGEgZ2FkcmkgaW5zdGVhZC4KCkluIHRoZXNlIGV4 YW1wbGVzLCBJIHdpbGwgdXNlIHRoZSB2b2NhdGl2ZSAnJ2NvaScnLCB3aXRoIG1lYW5zIOKAnEhp 4oCdIG9yIOKAnEhlbGxv4oCdLgoKSWYgYSBwZXJzb24gaXMgY2FsbGVkICcnbGEgKyBTRUxCUkkn JywgdXNpbmcgYSB2b2NhdGl2ZSB3aXRoIG9ubHkgdGhlIHNlbGJyaSB0byBhZGRyZXNzIHRoYXQg cGVyc29uIHdpbGwgbWVhbiB5b3UgcmVmZXIgdG8gaGVyIGFzIGFjdHVhbGx5IGJlaW5nIHRoZSB4 MSBvZiB0aGF0IHNlbGJyaSwgd2hpY2ggaXMgb2Z0ZW4gd3JvbmcuIElmLCBmb3IgaW5zdGFuY2Us IGEgcGVyc29uIGlzIGNhbGxlZCAnJ2xhIHRzYW5pJycsIOKAnFNreeKAnSwgc2F5aW5nICcnY29p IHRzYW5pJycgcmVmZXJzIHRvIGhlciBhcyBhICcnbGUgdHNhbmknJywgbWVhbmluZyDigJxIaSwg eW91IHNreeKAnSwgd2hpbGUgJydjb2kgbGEgdHNhbmkgY29ycmVjdGx5JycgcmVmZXJzIHRvIGhl ciBhcyBzb21lb25lIGNhbGxlZCAiU2t5IiwgbWVhbmluZyDigJxIaSBTa3nigJ0uIFRoaXMgaXMg YSBmcmVxdWVudCBtaXN0YWtlLCBlc3BlY2lhbGx5IGFtb25nIG5ldyBMb2piYW5pc3RzLgoKQWxs IHZvY2F0aXZlcyBoYXZlIGEgZmEnb3JtYSdvIHdoaWNoIGlzIHNvbWV0aW1lcyByZXF1aXJlZC4g VGhpcyBpcyAnJ2RvJ3UnJy4gSXQncyBtb3N0bHkgdXNlZCBpZiBib3RoIHRoZSBmaXJzdCB3b3Jk IGFmdGVyIHRoZSB2b2NhdGl2ZSBwaHJhc2UgYW5kIHRoZSBsYXN0IHdvcmQgb2YgdGhlIHBocmFz ZSBpcyBhIHNlbGJyaSwgc28gdGhhdCBpdCBwcmV2ZW50cyBmb3JtaW5nIGEgdGFucnU6CgoKCl9f Jydkbyd1JydfXyBFbmQgdm9jYXRpdmUgcGhyYXNlLiBVc3VhbGx5IGVsaWRhYmxlLgoKX18nJ2ts YWt1JydfXyB4MSBjcmllcyB4MiAodGVhcnMpIGZvciByZWFzb24geDMKCicnY29pIGxhIGdsZWtp IGRvJ3Uga2xha3UgZmkgbWEnJyDigJ1IZWxsbyBIYXBweS4gV2h5IGNyeT/igJ0KCgoKVGhlIGdl bmVyaWMgdm9jYXRpdmUsICcnZG9pJycsIGRvZXMgbm90aGluZyBleGNlcHQgZGVmaW5pbmcgd2hv IGlzIGJlaW5nIHJlZmVycmVkIHRvIGJ5ICcnZG8nJzoKCicnZG9pIC5lcm5zdC4geHUgZG8gZG90 Y28gbWVya28nJyDigJxFcm5zdDogQXJlIHlvdSBhIEdlcm1hbi1BbWVyaWNhbj/igJ0KCgoKQWxs IHRoZSBvdGhlciB2b2NhdGl2ZXMgaGF2ZSBzb21lIGNvbnRlbnQgYmVzaWRlIGRlZmluaW5nICcn ZG8nJy4gJydjb2knJywgd2hpY2ggeW91IGtub3csIGFsc28gbWVhbnMg4oCcSGVsbG/igJ0sIGZv ciBleGFtcGxlLiBNYW55IG9mIHRoZSB2b2NhdGl2ZXMgaGF2ZSB0d28gb3IgdGhyZWUgZGVmaW5p dGlvbnMgbGlrZSB0aGUgYXR0aXR1ZGluYWxzLiBMaWtlIGF0dGl0dWRpbmFscywgdGhpcyBpcyBi ZWNhdXNlIHRoZXkgY2FuIGJlIG1vZGlmaWVkIHdpdGggJydjdSdpJycgYW5kICcnbmFpJycsIHRo b3VnaCBvbmx5IG9uZSB2b2NhdGl2ZSBoYXMgdGhlICcnY3UnaScnLWZvcm0gZGVmaW5lZC4KClNv bWUgaW1wb3J0YW50IHZvY2F0aXZlcyBhcmUgbGlzdGVkIGluIHRoZSB0YWJsZSBiZWxvdy4gVGhl cmUgYXJlIG90aGVycywgYnV0IHRob3NlIGFyZSBub3QgdXNlZCBtdWNoLgoKfHx2b2NhdGl2ZXxX aXRob3V0IHN1ZmZpeHwtY3UnaXwtbmFpCgpjb2l8SGVsbG98LXwtCgpjbydvfEdvb2RieWUJfC18 LQoKamUnZXxVbmRlcnN0b29kIC8gT0t8LXxOb3QgdW5kZXJzdG9vZAoKZmknaXxXZWxjb21lfC18 Tm90IHdlbGNvbWUgaGVyZQoKcGUndXxQbGVhc2V8LXwtCgpraSdlfFRoYW5rc3wtfERpc2FwcHJl Y2lhdGlvbgoKcmUnaXxSZWFkeSB0byByZWNpZXZlfC18Tm90IHJlYWR5CgpqdSdpfEhleSF8QXQg ZWFzZXxJZ25vcmUgbWUKCnRhJ2F8SW50ZXJydXB0aW9ufC18LQoKdmknb3xXaWxsIGRvfC18V2ls bCBub3QgZG8KCmtlJ298UGxlYXNlIHJlcGVhdHwtfE5vIHJlcGVhdCBuZWVkZWQKCmtpJ2FpfHdl bGwtd2lzaHwtfGN1cnNlfHwKCk5vdGljZSB0aGF0ICcna2knYWknJyBpcyBleHBlcmltZW50YWwK CgoKCgpXaGF0IHdvdWxkICcnY29pIGNvJ28nJyBtZWFuPwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5 OuKAnEdyZWV0aW5ncyBpbiBwYXNzaW5n4oCdIG9yIOKAnEhlbGxvIGFuZCBHb29kYnll4oCdfn4K CgoKJydqZSdlJycgaXMgdXNlZCBhcyDigJxPS+KAnSwgYnV0IGFsc28gdGhlIGFwcHJvcHJpYXRl IHJlc3BvbnNlIHdoZW4gcmVjZWl2aW5nIHByYWlzZSBvciB0aGFua3MgKGF0IGxlYXN0LCBpZiB5 b3Ugd2FudCB0byBiZSBtb2Rlc3QpLCBhcyBpdCBpbmRpY2F0ZXMgdGhhdCB0aGUgcHJhaXNlIG9y IHRoYW5rcyB3YXMgc3VjY2Vzc2Z1bGx5IHVuZGVyc3Rvb2QuCgoKClRyYW5zbGF0ZSAnJ2tpJ2Ug c2lkanUgYmUgbWkgYmVpIGxvIHZham5pIC5pIGplJ2UgLmplbmlmeW4uJycKCl9fJydzaWRqdScn X18geDEgaGVscHMgeDIgZG8geDMKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxUaGFua3MsIHlv dSBoZWxwZXIgb2YgbWUgdG8gZG8gc29tZXRoaW5nIGltcG9ydGFudC7igJ0g4oCcTm8gcHJvYmxl bSwgSmVubmlmZXLigJ1+fgoKCgpBbmQgJydmaSdpIHRlIHZlY251IC5pIHBlJ3Uga28gY2l0a2En JwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnVdlbGNvbWUsIGJ1eWVyLiBQbGVhc2UgZWF0IeKA nX5+CgoKCicncmUnaScnIGlzIHVzZWQgdG8gc2lnbmFsIHRoYXQgeW91IGFyZSByZWFkeSB0byBi ZSBzcG9rZW4gdG8uIEl0IGNhbiBiZSB1c2VkIGFzIHRoZSBMb2piYW4gZXF1aXZhbGVudCBvZiDi gJxXaGF0IGNhbiBJIGRvIGZvciB5b3U/4oCdIG9yIHBlcmhhcHMgcmVwbGFjZSDigJxIZWxsb+KA nSwgd2hlbiBzcGVha2luZyBvbiBhIHBob25lLiAnJ3JlJ2kgbmFpJycgY2FuIG1lYW4g4oCcQUZL 4oCdIG9yIOKAnEJlIHRoZXJlIGlzIGEgc2Vjb25kLuKAnQoKCgpUcmFuc2xhdGU6IOKAnEhlbGxv LCB3aGF0IGNhbiBJIGRvIGZvciB5b3UsIEludGVycHJldGVyL1RyYW5zbGF0ZXI/4oCdCgoKCkFu c3dlcjogfn5ncmV5LGdyZXk6Jydjb2kgcmUnaSBsYSBmYW52YScnfn4KCgoKJyd0YSdhJycgaXMg dXNlZCB3aGVuIGF0dGVtcHRpbmcgdG8gcG9saXRlbHkgaW50ZXJydXB0IHNvbWVvbmUgZWxzZS4g V2hhdCB3b3VsZCBiZSBnb29kIHJlc3BvbnNlcyB0byB0aGlzPwoKCgpUcmFuc2xhdGU6ICcndGEn YSBybyBkbyBtaSBjbydhIGNsaXZhJycKCl9fJydjbGl2YScnX18geDEgbGVhdmVzIHgyIHZpYSBy b3V0ZSB4MwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnEV4Y3VzZSBtZSBmb3IgaW50ZXJydXB0 aW5nLCBldmVyeW9uZS4gSSBiZWdpbiB0byBsZWF2ZSBub3figJ0gTm90aWNlIHRoYXQgbm8gZmEn b3JtYSdvIG9yICcnLmknJyBpcyBuZWVkZWQufn4KCgoKJydrZSdvJycgaXMgdXNlZCBhIGxvdCB3 aGVuIGluZXhwZXJpZW5jZWQgTG9qYmFuaXN0cyBzcGVhayB0b2dldGhlciB2b2NhbGx5LiBJdCdz IHF1aXRlIGEgaGFuZHkgd29yZAoKX18nJ3N1dHJhJydfXyB4MSBpcyBxdWljayBhdCBkb2luZyB4 MgoKCgpUcmFuc2xhdGU6ICcnLnkga2UnbyBzdXRyYSB0YXZsYScnCgoKCkFuc3dlcjogfn5ncmV5 LGdyZXk64oCcVWgsIFBsZWFzZSByZXBlYXQsIHlvdSBxdWljayBzcGVha2VyLuKAnX5+CgoKCkFu ZCDigJxPa2F5IG9rYXksIEkgZ290IGl0IGFscmVhZHkhIEknbGwgZG8gaXQh4oCdCgoKCkFuIGFu c3dlcjogfn5ncmV5LGdyZXk6JydrZSdvIG5haSAudWkgbmFpIHZpJ28nJ35+CgoKCiEhTG9qYmFu IExlc3NvbnMgLSBMZXNzb24gdHdlbnR5LXR3byAocXVhbnRpZnlpbmcgc3VtdGkpCgpNb3N0IG90 aGVyIGxlYXJuaW5nIG1hdGVyaWFscyBzdWNoIGFzIFRoZSBDb21wbGV0ZSBMb2piYW4gTGFuZ3Vh Z2UgYW5kIExvamJhbiBmb3IgQmVnaW5uZXJzIHdlcmUgd3JpdHRlbiBiZWZvcmUgdGhlIG9mZmlj aWFsIGFkb3B0YXRpb24gInhvcmxvIiwgYSBjaGFuZ2UgaW4gdGhlIHJ1bGVzIGFib3V0IGdhZHJp IGRlZmluaXRpb24gYW5kIGdhZHJpIHF1YW50aWZpY2F0aW9uLiBUaGUgb2Jzb2xldGVuZXNzIG9m IHNvbWUgb2YgdGhlIHRleHQgaW4gdGhlIG9sZGVyIGxlYXJuaW5nIG1hdGVyaWFscyB3YXMgYSBt YWpvciBjYXVzZSBmb3IgdGhlIG1vdGl2YXRpb24gdG8gd3JpdGUgdGhlc2UgbGVzc29ucy4gVW5m b3J0dW5hdGVseSBmb3IgbWUsIHF1YW50aWZpY2F0aW9uIG9mIHN1bXRpIGNhbiBiZWNvbWUgYSB2 ZXJ5IGNvbXBsZXggdG9waWMgd2hlbiB0aGUgaW1wbGljYXRpb25zIG9mIGNlcnRhaW4gcnVsZXMg YXJlIGRpc2N1c3NlZCBpbiBkZXRhaWwuIEluIG9yZGVyIHRvIGZ1bGZpbGwgdGhlIGdvYWwgb2Yg dGhpcyB0ZXh0IGJlaW5nIGFjY3VyYXRlIGVub3VnaCB0byByZXByZXNlbnQgdGhlIG9mZmljaWFs ICJnb2xkIHN0YW5kYXJkIiBCUEZLIHJ1bGVzLCB0aGlzIGNoYXB0ZXIgd2FzIGFtb25nIHRoZSBs YXN0IG9uZXMgZmluaXNoZWQgYW5kIHRoZSBvbmVzIG1vc3QgZnJlcXVlbnR5IHJld3JpdHRlbi4g SSBzdHJvbmdseSBlbmNvdXJhZ2UgYW55b25lIHdobyBmaW5kcyBtaXN0YWtlcyBpbiB0aGlzIHRl eHQgdG8gY29udGFjdCBtZSBpbiBvcmRlciBmb3IgdGhlbSB0byBiZSBjb3JyZWN0ZWQuCgpIYXZp bmcgc2FpZCB0aGF0IGRpc2NsYWltZXIsIGxldCdzIGdldCBzdGFydGVkOgoKVGhlIGZpcnN0IGNv bmNlcHQgeW91IHNob3VsZCBrbm93IGFib3V0IGlzICJkaXN0cmlidXRpdml0eSIuIEluIGxlc3Nv biBmb3VydGVlbiBpIHVzZWQgdGhlIHdvcmQgImluZGl2aWR1YWxzIiBhYm91dCBhIGdyb3VwIG9m IG9iamVjdHMgY29uc2lkZXJlZCBkaXN0cmlidXRpdmVseS4gQSBkaXN0cmlidXRpdmUgZ3JvdXAg JydrbydhJycgaXMgZm9yIGFueSBzZWxicmkgJydicm9kYScnIGEgZ3JvdXAgc3VjaCB0aGF0LCBp ZiAnJ2tvJ2EgYnJvZGEnJyBpcyB0cnVlLCBpdCBtZWFucyB0aGF0IGV2ZXJ5IG1lbWJlciBvZiB0 aGUgZ3JvdXAgYWxzbyBpcyBjaGFyYWN0ZXJpemVkIGJ5ICcnYnJvZGEnJy4gVGhpcyBzdGFuZHMg aW4gY29udHJhc3QgdG8gbm9uLWRpc3RyaWJ1dGl2aXR5ICh3aGljaCBtYXNzZXMgaGF2ZSksIGlu IHdoaWNoIHRoZSBncm91cCBoYXMgb3RoZXIgcHJvcGVydGllcyB0aGFuIGVhY2ggb2YgdGhlIGlu ZGl2aWR1YWxzIGRvLiBUaGUgZGlzdGluY3Rpb24gYmV0d2VlbiBkaXN0cmlidXRpdml0eSAoaW5k aXZpZHVhbC1saWtlKSBhbmQgbm9uLWRpc3RyaWJ1dGl2aXR5IChtYXNzLWxpa2UpIGlzIG9mIHJl bGV2YW5jZSB3aGVuIHF1YW50aWZ5aW5nIHN1bXRpLgoKTGV0IHVzIGZpcnN0IGNvbnNpZGVyIGhv dyBvbmUgY2FuIHF1YW50aWZ5IGRlY3JpcHRpb24gc3VtdGksIHdoaWNoIGFyZSBzdW10aSBvZiB0 aGUgZm9ybSBHQURSSSBCUklWTEEuIFRoZSBudW1iZXIgc3RyaW5nIHdoaWNoIGRvZXMgdGhlIHF1 YW50aWZpY2F0aW9uIGNhbiBiZSBwbGFjZWQgYmVmb3JlIHRoZSBnYWRyaSwgaW4gd2hpY2ggY2Fz ZSBpdCBpcyByZWZlcnJlZCB0byBhcyBhbiBfX291dGVyIHF1YW50aWZpZXJfXywgYW5kIGl0IGNh biBiZSBwbGFjZWQgYmV0d2VlbiB0aGUgZ2FkcmkgYW5kIHRoZSBicml2bGEsIGluIHdoaWNoIGNh c2UgaXQncyBhbiBfX2lubmVyIHF1YW50aWZpZXJfXy4gQW55IGtpbmQgb2YgbnVtYmVyIHN0cmlu ZyBjYW4gYWN0IGFzIGEgcXVhbnRpZmllci4KClRoZSBydWxlcyBmb3IgaG93IGlubmVyIGFuZCBv dXRlciBxdWFudGlmaWVycyBhZmZlY3RzIHN1bXRpIGRlcGVuZCBvbiB0aGUga2luZCBvZiBnYWRy aSB3aGljaCBpcyB1c2VkOgoKCgotIC0nJ2xvJycgYW5kICcnbGUnJy0gLSBBbiBpbm5lciBxdWFu dGlmaWVyIHRlbGxzIHVzIGhvdyBtYW55IG9iamVjdHMgYXJlIGJlaW5nIHNwb2tlbiBvZiAtIGhv dyBtYW55IG9iamVjdHMgYXJlIGluIHRoZSBkaXNjb3Vyc2UgdG90YWwuIElmIGFuIG91dGVyIHF1 YW50aWZpZXIgaXMgcHJlc2VudCwgdGhlIHN1bXRpIGlzIGRpc3RyaWJ1dGVkIG92ZXIgdGhhdCBh bW91bnQgb2Ygb2JqZWN0cy4gQXMgc3RhdGVkIGVhcmxpZXIsIGlmIG5vIG91dGVyIHF1YW50aWZp ZXIgaXMgcHJlc2VudCwgaXQncyB2YWd1ZSBob3cgbWFueSBvYmplY3RzIHRoZSBzZWxicmkgYXBw bGllcyB0byAodGhvdWdoIG5vdCBub25lKSwgYW5kIHdoZXRoZXIgaXQgZG9lcyBzbyBkaXN0cmli dXRpdmVseSBvciBub24tZGlzdHJpYnV0aXZlbHkuIEV4YW1wbGVzIGFyZSBhbHdheXMgYSBnb29k IGlkZWEsIHNvIGhlcmUgdGhleSBhcmU6CgonJ211IGxvIG11IGJha25pIGN1IHNlIGppcm5hJycg LSBUaGUgaW5uZXIgcXVhbnRpZmllciBvZiBmaXZlIHRlbGxzIHVzIHRoYXQgd2Ugc3BlYWsgYWJv dXQgZml2ZSBwaWVjZXMgb2YgY2F0dGxlLCBhbmQgdGhlIG91dGVyIHF1YW50aWZpZXIgb2YgZml2 ZSB0ZWxscyB1cyB0aGF0IHRoZSBzZWxicmkgaXMgdHJ1ZSBmb3IgZWFjaCBvZiB0aGUgZml2ZS4g VGhlcmVmb3JlLCBpdCBtZWFucyAiQWxsIHRoZSBmaXZlIGNvd3MgaGFkIGhvcm5zIi4gCgpfXycn YmFrbmknJ19fIHgxIGlzIGEgY293L294L2NhdHRsZS9jYWxmIGV0YyBvZiBicmVlZCB4MgoKX18n J2ppcm5hJydfXyB4MSBpcyB0aGUgaG9ybiBvZiB4MiAobWV0YXBob3I6IGFueSBwb2ludGVkIGV4 dHJlbWl0eSkKCgoKV2hhdCBkb2VzIHRoZSBmb2xsb3dpbmcgYnJpZGkgbWVhbj8KCicnbG8gcnUn dXJndWJ1cHUgYmUgbGkgcmUgcGkgemUgbXUgY3UgamRpbWEgbG8gcGEgcmUgc292ZGEnJwoKX18n J3J1J3VyZ3VidXB1JydfXyB4MSBpcyBtZWFzdXJlcyB0byBiZSB4MiBCcml0aXNoIHBvdW5kcyAo R0JQKQoKX18nJ2pkaW1hJydfXyB4MSBpcyB0aGUgcHJpY2Ugb2YgeDIgdG8gYnV5ZXIgeDMgc2V0 IGJ5IHZlbmRvciB4NAoKX18nJ3NvdmRhJydfXyB4MSBpcyBhIGdhbWV0ZSAoZWdnL3NwZXJtKSBv ZiB4MgoKQW5zd2VyOiB+fmdyZXksZ3JleTogIlR3ZWx2ZSBlZ2dzIGNvc3QgMi43NSBCcml0aXNo IHBvdW5kcyIgd2hpY2gsIGFzIHRoZSBFbmdsaXNoIHRyYW5zbGF0aW9uLCBjb3VsZCBtZWFuIGJv dGggdGhhdCB0aGV5IGNvc3QgMi43NSBlYWNoIChkaXN0cmlidXRpdmVseSkgb3IgdGhhdCBhbGwg dHdlbHZlIHRvZ2V0aGVyIGNvc3QgMi43NSAobm9uLWRpc3RyaWJ1dGl2ZWx5KX5+CgoKCicnc28g bGUgdGEgcGEgcGEgY2knZXJrZWkgY3UgY2xhbWF1IG1pJycgKG5vdGljZSB0aGF0IHRoZSAnJ3Rh JycgZ29lcyBiZWZvcmUgdGhlIGlubmVyIHF1YW50aWZpZXIpCgpfXycnY2knZXJrZWknJ19fIHgx IHBsYXlzIGdhbWUgeDIgZ292ZW5lcmQgYnkgcnVsZXMgeDMgaW50ZXJyZWxhdGluZyBnYW1lIHBh cnRzIHg0IHt0aGlzIGlzIHVzZWQgdG8gdHJhbnNsYXRlICJwbGF5IiBpbiB0aGUgc2Vuc2UgInBs YXkgYSBnYW1lIiByYXRoZXIgdGhhbiwgZm9yIGluc3RhbmNlICJwbGF5aW5nIHByZXRlbmQiIG9y ICJwbGF5aW5nIEhvdXNlIn0KCl9fJydjbGFtYXUnJ19fIHgxIGlzIHRhbGxlci9sb25nZXIgdGhh biB4MiBpbiBkaXJlY3Rpb24geDMgbXkgbWFyaWdpbiB4NAoKQW5zd2VyOiB+fmdyZXksZ3JleTpU aGUgaW5uZXIgc3RhdGVzIHRoZXJlIGFyZSAxMSBwbGF5ZXJzIGluIHRoZSBkaXNjb3Vyc2UsIGFu ZCB0aGUgb3V0ZXIgc3RhdGVzIHRoYXQgdGhlIHNlbGJyaSBhcHBsaWVzIHRvIG5pbmUgb2YgdGhl bSBkaXN0cmlidXRpdmVseS4gVGh1cyBpdCBtZWFucyAiTmluZSBvZiB0aGUgZWxldmVuIHBsYXll cnMgYXJlIHRhbGxlciB0aGFuIG1lIn5+CgoKClRoZXJlIGFyZSBhIGZldyBwb2ludHMgdGhhdCBu ZWVkcyB0byBiZSByYWlzZWQgcmVnYXJkaW5nIHF1YW50aWZpY2F0aW9uIG9mICcnbG8nJy8nJ2xl Jyc6CgpGaXJzdGx5LCAnJ2xvJycgaXMgdW5pcXVlIGluIHRoYXQgIntudW1iZXJ9IHtzZWxicml9 IiBpcyBkZWZpbmVkIGFzICJ7bnVtYmVyfSAnJ2xvJycge3NlbGJyaX0iLiBUaGVyZWZvcmUsICcn Y2kgZ2Vya3UgY3UgYmF0Y2kgcmUgbmFubXUnJyBpcyBkZWZpbmVkIHRvIGJlICcnY2kgbG8gZ2Vy a3UgY3UgYmF0Y2kgcmUgbG8gbmFubXUnJywgd2hpY2ggY29uc2lkZXJzIGJvdGggdGhlIGdyb3Vw IG9mIGRvZ3MgYW5kIHRoZSBncm91cCBvZiBtZW4gZGlzdHJpYnV0aXZlbHkuIFRoZXJlZm9yZSwg ZWFjaCBvZiB0aGUgdGhyZWUgZG9ncyBiaXQgZWFjaCBvZiB0aGUgdHdvIG1lbiwgd2l0aCBzaXgg Yml0aW5nIGV2ZW50cyBpbiB0b3RhbC4KCl9fJydiYXRjaScnX18geDEgYml0ZXMvcGluY2hlcyB4 MiBhdCBsb2N1cyB4MyB1c2luZyB4NCBhcyBwaW5jaGluZyB0b29sLgoKU2Vjb25kbHk6IFdoYXQg aWYgdGhlcmUgaXMgbm8gb3V0ZXIgcXVhbnRpZmllcj8gRG9lcyB0aGlzIG1lYW4gdGhhdCBpdCBf X2lzX18gdGhlcmUsIGJ1dCBpdCdzIGVsaWRlZD8gTm9wZS4gSWYgdGhlcmUgaXMgYW55IGtpbmQg b2Ygb3V0ZXIgcXVhbnRpZmllciwgZWxpZGVkIG9yIG5vdCwgaXQgd291bGQgZm9yY2UgdGhlIHN1 bXRpIHRvIGJlIGRpc3RyaWJ1dGl2ZSwgd2hpY2ggd291bGQgbWVhbiB0aGF0IG5laXRoZXIgJyds bycnIG5vciAnJ2xlJycgY291bGQgYmUgdXNlZCB0byBkZXNjcmliZSBtYXNzZXMuIFRoZXJlZm9y ZSwgaWYgbm8gb3V0ZXIgcXVhbnRpZmllciBpcyBwcmVzZW50LCBpdCdzIG5vdCBvbmx5IGVsaWRl ZCAtIGl0J3Mgc2ltcGx5IG5vdCB0aGVyZS4gU3VtdGkgd2l0aG91dCBhbiBvdXRlciBxdWFudGlm aWVyIGNhbiBiZSByZWZlcnJlZCB0byBhcyAiY29uc3RhbnRzIiwgZXZlbiB0aG91Z2ggSSB3b24n dC4KClRoaXJkbHksIGl0IG1ha2VzIG5vIHNlbnNlIHRvIGhhdmUgYW4gb3V0ZXIgcXVhbnRpZmll ciB3aGljaCBpcyBsYXJnZXIgdGhhbiB0aGUgaW5uZXIgb25lLiBJdCBtZWFucyB0aGF0IHRoZSBz ZWxicmkgaG9sZHMgdHJ1ZSBmb3IgbW9yZSBzdW10aSB0aGFuIGFyZSBwcmVzZW50IGluIHRoZSBk aXNjb3Vyc2UgLSBidXQgc2luY2UgdGhleSBhcHBlYXIgaW4gYSBicmlkaSwgdGhleSBfX2FyZV9f IHBhcnQgb2YgdGhlIGRpc2NvdXJzZS4gSXQncyBncmFtbWF0aWNhbCB0byBkbyBpdCwgdGhvdWdo LgoKTGFzdGx5LCBwbGFjaW5nIGEgJydsbycnIG9yIGEgJydsZScnIGluIGZyb250IG9mIGEgc3Vt dGkgaXMgZ3JhbW1hdGljYWwsIGlmIHRoZXJlIGlzIGFuIGlubmVyIHF1YW50aWZpZXIgcHJlc2Vu dC4gIicnbG8nJy8nJ2xlJycge251bWJlcn0ge3N1bXRpfSIgaXMgZGVmaW5lZCBhcyAiJydsbycn LycnbGUnJyB7bnVtYmVyfSAnJ21lJycge3N1bXRpfSIuCgpTbyB3aGF0IHdvdWxkIHRoaXMgbWVh bj8gJydtaSBuZWxjaSBsb2kgbWkgYnJpanUga2Fuc2EgLmkga3UnaSBjaSBsbyByZSBtdSBqaSdp IHJpIGN1IGxhem5pJycKCl9fJydicmlqdScnJ19fIHgxIGlzIGFuIG9mZmljZSBmb3Igd29ya2Vy IHgyIGF0IGxvY2F0aW9uIHgzCgpfXycna2Fuc2EnJ19fIHgxIGFjY29tcGFuaWVzIHgyIGluIGFj dGlvbi9zdGF0ZS9lbnRlcnByaXNlIHgzCgpfXycnbGF6bmknJ19fIHgxIGlzIGxhenksIGF2b2lk aW5nIHdvcmsgY29uY2VybmluZyB4MgoKQW5zd2VyOiB+fmdyZXksZ3JleToiSSBsaWtlIG15IGNv LXdvcmtlcnMsIGJ1dCB0aHJlZSBvdXQgb2YgYWJvdXQgdHdlbnR5IGZpdmUgb2YgdGhlbSBhcmUg bGF6eSJ+fgoKCgotIC0nJ2xhJyctIC0gQW4gaW5uZXIgcXVhbnRpZmllciBpcyBncmFtbWF0aWNh bCBpZiB0aGUgbmFtZSBpcyBhIHNlbGJyaSAtIGluIHRoaXMgY2FzZSwgaXQncyBjb25zaWRlcmVk IHBhcnQgb2YgdGhlIG5hbWUuIEFuIG91dGVyIHF1YW50aWZpZXIgaXMgdXNlZCB0byBxdWFudGlm eSBkaXN0cmlidXRpdmVseSBvdmVyIHN1Y2ggaW5kaXZpZHVhbHMgKG11Y2ggbGlrZSAnJ2xvJycv JydsZScnKSBJdCdzIGdyYW1tYXRpY2FsIHdoZW4gcGxhY2VkIGluIGZyb250IG9mIHtudW1iZXJ9 IHtzdW10aX0sIGluIHdoaWNoIGNhc2UsIHRoZSBib3RoIHRoZSBudW1iZXIgYW5kIHRoZSBzdW10 aSBpcyBjb25zaWRlcmVkIHRoZSBuYW1lLgoKCgpUcmFuc2xhdGUgdGhpczogJydyZSBsYSBjaSBi YXJndSBjdSBqaWJuaSBsZSBtaSB6ZGFuaScnCgpBbnN3ZXI6IH5+Z3JleSxncmV5OiBUd28gIlRo ZSBUaHJlZSBBcmNoZXMiIGFyZSBsb2NhdGVkIGNsb3NlIHRvIG15IGhvdXNlIiAoUGVyaGFwcyBU aGUgVGhyZWUgQXJjaGVzIGFyZSBhIGtpbmQgb2YgcmVzdGF1cmFudD8pfn4KCgoKLSAtJydsb2kn JyBhbmQgJydsZWknJy0gLSBBbiBpbm5lciBxdWFudGlmaWVyIHRlbGxzIHVzIGhvdyBtYW55IG1l bWJlcnMgdGhlcmUgYXJlIGluIHRoZSBtYXNzL21hc3NlcyBpbiBxdWVzdGlvbi4gQW4gb3V0ZXIg cXVhbnRpZmllciBxdWFudGlmaWVzIGRpc3RyaWJ1dGl2ZWx5IHshfSBvdmVyIHRoZXNlIG1hc3Nl cwoKTm90aWNlIGhlcmUgdGhhdCB3aGlsZSBtYXNzZXMgY29uc2lzdCBvZiBhIG51bWJlciBvZiBv YmplY3RzIGNvbnNpZGVyZWQgbm9uLWRpc3RyaWJ1dGl2ZWx5LCBhbiBvdXRlciBxdWFudGlmaWVy IGFsd2F5cyB0cmVhdHMgZWFjaCBvZiB0aGVzZSBtYXNzZXMgYXMgYW4gaW5kaXZpZHVhbC4KCldo ZW4gcGxhY2VkIGJlZm9yZSBhIG51bWJlciBzdHJpbmcsIHRoZW4gYSBzdW10aSwgJydsb2knJy8n J2xlaScnIGlzIGRlZmluZWQgYXMgIicnbG8gZ3VubWEgYmUgbG8nJy8nJ2xlJycge251bWJlcn0g e3N1bXRpfSIgLSAiVGhlIG1hc3MgY29uc2lzdGluZyBvZiB0aGUge251bWJlcn0gb2Yge3N1bXRp fSIuCgoKCkF0dGVtcHQgdG8gdHJhbnNsYXRlIHRoaXM6ICcncmUgZGVpIGd1bm1hIHJlIGxvaSB6 ZSB2YWxzaSAuaSBjYSdlIHBhIGRlaSBqYWkgZ2F1IGpldG51JycKCl9fJydndW5tYScnX18geDEg aXMgYSBtYXNzIG9mIHRoZSBpbmRpdmlkdWFscyB4MgoKX18nJ3ZhbHNpJydfXyB4MSBpcyBhIHdv cmQsIG1lYW5pbmcgeDIgaW4gbGFuZ3VhZ2UgeDMKCl9fJydjYSdlJydfXyBBdHRpdHVkaW5hbDog RXZpZGVudGlhbDogSSBkZWZpbmUKCl9fJydqZXRudScnX18geDEgaXMgdHJ1ZSBhY2NvcmRpbmcg dG8gbWV0YXBoeXNpY3MvZXBpc3RlbW9sb2d5IHgyCgpBbnN3ZXI6IH5+Z3JleSxncmV5OiAiVGhl c2UgdHdvIHV0dGVyYW5jZXMgYXJlIGEgbWFzcywgY29uc2lzdGluZyBvZiB0d28gaW5kaXZpZHVh bCBtYXNzZXMgZWFjaCBvZiBzZXZlbiB3b3Jkcy4gSSBkZWZpbmU6IFRoaXMgb25lIHV0dGVyYW5j ZSBjYXVzZXMge2l0fSB0byBiZSB0cnVlLiJ+fgoKCgotIC0nJ2xhaScnLSAtIE11Y2ggbGlrZSAn J2xhJycsIGFuIGlubmVyIHF1YW50aWZpZXIgKHdoZW4gbmFtZSBpcyBhIHNlbGJyaSkgaXMgcGFy dCBvZiB0aGUgbmFtZS4gQW4gb3V0ZXIgb25lIHF1YW50aWZpZXMgZGlzdHJpYnV0aXZlbHkuIEJl Zm9yZSBhIG51bWJlcitzdW10aSwgYm90aCB0aGUgc3VtdGkgYW5kIHRoZSBudW1iZXIgbWFrZSB1 cCB0aGUgbmFtZS4KCldoZW4gYSBmcmFjdGlvbiBpcyB1c2VkIGFzIGFuIG91dGVyIHF1YW50aWZp ZXIgdG8gcXVhbnRpZnkgJydsb2knJywgJydsZWknJyBvciAnJ2xhaScnLCBvbmUgc3BlYWtzIGFi b3V0IG9ubHkgcGFydCBvZiB0aGUgbWFzcyAoZm9yIGluc3RhbmNlLCAiaGFsZiBvZiB0aGUgSm9o bnNvbnMiIC0gJydwaSBtdSBsYWkgLmRqYW5zeW4uJycpLgoKCgotIC0nJ2xvJ2knJyBhbmQgJyds ZSdpJyctIC0gQW4gaW5uZXIgcXVhbnRpZmllciBkZXNjcmliZXMgdGhlIGFtb3VudCBvZiBtZW1i ZXJzIG9mIHRoZSBzZXQuIEFuIG91dGVyIHF1YW50aWZpZXMgZGlzdHJpYnV0aXZlbHkgb3ZlciBz ZXZlcmFsIG9mIHN1Y2ggc2V0cy4gV2hlbiBwbGFjZWQgYmVmb3JlIGEgbnVtYmVyIGFuZCBhIHN1 bXRpLCBpdCdzIGRlZmluZWQgYXMgIicnbG8gc2VsY21pIGJlICcnbG8nJy8nJ2xlJycge251bWJl cn0ge3N1bXRpfSIgLSAiVGhlIHNldCBvZiB7bnVtYmVyfSB7c3VtdGl9Ii4KCgoKVHJhbnNsYXRl ICcnbG8naSBybyBzZSBjaW5raSBjdSBicmFtYXUgbGEnYSBwYSBubyBubyBsbydpIHJvIHNlIGJv Z3lrYW1qdSBqdXRzaScnCgpfXycnY2lua2knJ19fIHgxIGlzIGFuIGluc2VjdCBvZiBzcGVjaWVz IHgyCgpfXycnbGEnYScnX18gQXR0aXR1ZGluYWw6IERpc2N1cnNpdmU6IFByb2JhYmx5CgpfXycn YnJhbWF1JydfXyB4MSBpcyBiaWdnZXIgdGhhbiB4MiBpbiBkaW1lbnNpb24geDMgYnkgbWFyaWdp biB4NAoKX18nJ2JvZ3lrYW1qdScnX18geDEgaXMgdGhlIHNwaW5lIG9mIHgyCgpfXycnanV0c2kn J19fIHgxIGlzIHRoZSBzcGVjaWVzIG9mIGdlbnVzIHgyLCBmYW1pbHkgeDMgLi4uIChvcGVuIGVu ZGVkIGNsYXNzaWZpY2F0aW9uKQoKQW5zd2VyOiB+fmdyZXksZ3JleTogIlRoZSBzZXQgb2YgYWxs IHRoZSBzcGVjaWVzIG9mIGluc2VjdHMgaXMgcHJvYmFibHkgYmlnZ2VyIHRoYW4gb25lIGh1bmRy ZWQgc2V0cyBvZiBhbGwgc3BlY2llcyBvZiB2ZXJ0ZWJyYXRlcyJ+fgoKCgotIC0nJ2xhJ2knJy0g LSBBcyB3aXRoICcnbGFpJycKCkxpa2Ugd2l0aCB0aGUgbWFzcyBnYWRyaSwgYW4gb3V0ZXIgcXVh bnRpZmllciBiZWZvcmUgYSBzZXQgZ2FkcmkgZW5hYmxlcyBvbmUgdG8gc3BlYWsgYWJvdXQgYSBm cmFjdGlvbiBvZiBhIHNldC4gSW4gZnJvbnQgb2YgYSBudW1iZXIgYW5kIGEgc3VtdGksIGl0J3Mg ZGVmaW5lZCBhcyAiJydsbyBzZWxjbWkgYmUgbGEnJyB7bnVtYmVyfSB7c3VtdGl9IiAtICJUaGUg c2V0IGNvbnNpc3Rpbmcgb2YgVGhlIHtOdW1iZXJ9IHtTdW10aX0iIChjb25zaWRlcmVkIGEgbmFt ZSkKCgoKLSAtJydsbydlJycgYW5kICcnbGUnZScnLSAtIEFyZSBmb3Igc29tZSByZWFzb24gbm90 IGluY2x1ZGVkIGluIHRoZSBjdXJyZW50bHkgYWNjZXB0ZWQgZ2FkcmkgcHJvcG9zYWwuIElmIG9u ZSB3ZXJlIHRvIGV4dGVuZCB0aGUgcnVsZXMgb2YgYW5vdGhlciBnYWRyaSwgJydsbycnLycnbGUn JyB3b3VsZCBwcm9iYWJseSBiZSB0aGUgYmVzdCBjaG9pY2UgKHNpbmNlIGJvdGggb3BlcmF0ZXMg d2l0aCBpbmRpdmlkdWFscyByYXRoZXIgdGhhbiBncm91cHMpLCBhbmQgc28gb25lIHdvdWxkIGV4 cGVjdCB0aGUgb3V0ZXIgcXVhbnRpZmllciB0byBmb3JjZSBkaXN0cmlidXRpdml0eSBvdmVyIHRo ZSBhbW91bnQgb2YgdHlwaWNhbC9zdGVyZW90eXBpY2FsIHRoaW5ncyBnaXZlbiBieSB0aGUgaW5u ZXIgcXVhbnRpZmllci4KCgoKV2hlbiBxdWFudGlmeWluZyBzdW1rYSdpIHJlcHJlc2VudGluZyBz ZXZlcmFsIG9iamVjdHMsIGl0IGlzIHVzZWZ1bCB0byByZW1lbWJlciB0aGF0IHRoZXkgYXJlIHVz dWFsbHkgbWFzc2VzLiBCeSBkZWZpbml0aW9uLCAie251bWJlcn0ge3N1bXRpfSIgaXMgZGVmaW5l ZCBhcyAie251bWJlcn0gJydkYSBwb2kga2UnYSBtZScnIHtzdW10aX0iLiBZb3Ugd2lsbCBub3Qg YmUgZmFtaWxpYXIgd2l0aCAnJ2RhJycgdW50aWwgYSBmZXcgbGVzc29ucyBsYXRlciwgc28gdGFr ZSBpdCBvbiBmYWl0aCB0aGF0IGl0IG1lYW5zICJzb21ldGhpbmciIGluIHRoaXMgY29udGV4dC4g VGhlcmVmb3JlLCAnJ2NpIG1pJycgbWVhbnMgIlR3byBvZiB0aG9zZSB3aG8gYmVsb25nIHRvICJ1 cyIiLiBXaGVuIHF1YW50aWZ5aW5nIHN1Y2ggbWFzc2VzLCBpdCBjYW4gc2FmZWx5IGJlIGFzc3Vt ZWQgdGhhdCB0aGUgcmVsYXRpb24gaW1wbGllZCBieSAnJ21lJycgaXMgbWVtYmVyc2hpcCBvZiB0 aGUgbWFzcywgYW5kIHRoZXJlZm9yZSAnJ2NpIG1pJycgaXMgIlRocmVlIG9mIHVzIi4KCgoKU29t ZSBpbXBvcnRhbnQgdXNlcyBvZiBxdWFudGlmaWNhdGlvbiByZXF1aXJlcyB5b3UgdG8gYmUgcXVh bnRpZnkgc2VsYnJpIG9yIG9iamVjdHMgd2hvc2UgaWRlbnRpdHkgaXMgdW5rbm93bi4gVGhpcyBp cyBkb25lIGJ5ICJsb2dpY2FsbHkgcXVhbnRpZmllZCB2YXJpYWJsZXMiLiBUaGVzZSwgYXMgd2Vs bCBhcyBob3cgdG8gcXVhbnRpZnkgdGhlbSB3aWxsIGJlIGNvdmVyZWQgaW4gbGVzc29ucyB0d2Vu dHktc2V2ZW4uCgoKCkxhc3RseSwgaG93IGNhbiB5b3UgcXVhbnRpZnkgdW5jb3VudGFibGUgc3Vi c3RhbmNlcyBsaWtlIHN1Z2FyIG9yIHdhdGVyPyBPbmUgc29sdXRpb24gaXMgdG8gcXVhbnRpZnkg aXQgdXNpbmcgaW5leGFjdCBudW1iZXJzLiBUaGlzIHVzZSBpcyB2YWd1ZSwgbm90IG9ubHkgYmVj YXVzZSB0aGUgdmFsdWUgb2YgdGhlIG51bWJlciBpcyB2YWd1ZSwgYnV0IGFsc28gYmVjYXVzZSBp dCdzIG5vdCBzcGVjaWZpZWQgb24gd2hhdCBzY2FsZSB5b3UncmUgY291bnRpbmc6IFRoZSBzdWdh ciBjb3VsZCBiZSBjb25zaWRlcmVkIGEgZ3JvdXAgb2YgbWFueSBjcnlzdGFscywgY291bnRlZCBv bmUgYXQgYSB0aW1lLCBhbmQgdGhlIHdhdGVyIGNvdWxkIGJlIHF1YW50aWZpZWQgYnkgdGhlIGFt b3VudHMgb2YgcmFpbmRyb3BzIGl0IHRvb2sgdG8gbWFrZSB0aGUgYm9keSBvZiB3YXRlciBpbiBx dWVzdGlvbi4gV2hpbGUgdGhpcyB3YXkgb2YgY291bnRpbmcgaXMgbGVnaXRpbWF0ZSwgaXQncyBu b3QgdmVyeSBleGFjdCBhbmQgY2FuIGVhc2lseSBjb25mdXNlIG9yIG1pc2xlYWQuCgpBIHdheSB0 byBiZSBleHBsaWNpdCBhYm91dCBub24tY291bnRhYmlsaXR5IGlzIHRvIHVzZSB0aGUgbnVsbCBv cGVyYW5kICcndHUnbycnIGFzIGFuIGlubmVyIHF1YW50aWZpZXIuCgpfXycndHUnbycnX18gTnVs bCBvcGVyYW5kICggw5ggKS4gVXNlZCBpbiB1bmFyeSBtZWtzby4KClRoaXMgc29sdXRpb24gaXMg ZWxlZ2FudCBhbmQgaW50dWl0aXZlLCBhbmQgYWxzbyBnaXZlcyBtZSBhbiBleGN1c2UgdG8gcXVv dGUgdGhpcyBob3JyaWZ5aW5nLCB5ZXQgY29taWNhbCBleGFtcGxlIGZyb20gdGhlIG9yaWdpbmFs ICcneG9ybG8nJy1wcm9wb3NhbDoKCicnbGUgbmFubXUgY3Ugc2Ugc251dGkgLmkgamEnZSBibyBs byB0dSdvIGdlcmt1IGN1IGt1c3BlIGxlIGtsYWppJycKCl9fJydzbnV0aScnX18geDEgaXMgYW4g YWNjaWRlbnQgb24gdGhlIHBhcnQgb2YgeDIKCl9fJydqYSdlJydfXyBzdW10Y2l0YTogQkFJOiAo ZnJvbSAnJ2phbGdlJycpOiBCcmlkaSByZXN1bHRzIGluIHtzdW10aX0gCgpfXycna3VzcGUnJ19f IHgxIHNwYW5zL2V4dGVuZHMgb3ZlciB4MgoKX18nJ2tsYWppJydfXyB4MSBpcyBhIHJvYWQvYXZl bnVlL3N0cmVldCBhdCB4MiBhY2Nlc3NpbmcgeDMKCgoKV2hhdCBkb2VzIGl0IG1lYW4/CgpBbnN3 ZXI6IH5+Z3JleSxncmV5OiAiVGhlIG1hbiBoYWQgYW4gYWNjaWRlbnQgYW5kIHNvIHRoZXJlIHdh cyBkb2cgYWxsIG92ZXIgdGhlIHJvYWQifn4KCgoKQSBzZWNvbmQgbWV0aG9kIG9mIHF1YW50aWZ5 aW5nIHN1YnN0YW5jZXMgaXMgdG8gdXNlIHRoZSB0ZW5zZXMgJyd2ZSdpJycsICcndmUnYScnIGFu ZCAnJ3ZlJ3UnJyBhcyBtZW50aW9uZWQgaW4gbGVzc29uIHRlbjoKCicndGkgdmUnaSBkamFjdScn IC0gVGhpcyBpcyBhIHNtYWxsIGFtb3VudCBvZiB3YXRlcgoKX18nJ2RqYWN1JydfXyB4MSBpcyBh biBleHBhbnNlIG9mIHdhdGVyL2lzIG1hZGUgb2Ygd2F0ZXIvY29udGFpbnMgd2F0ZXIKCgoKVGhp cmRseSwgb2YgY291cnNlLCB5b3UgY291bGQgdXNlIGEgYnJpdmxhIHRvIGdpdmUgYW4gZXhhY3Qg bWVhc3VyZW1lbnQ6CgonJ2xlIHRhIGRqYWN1IGN1IGtpJ29ncmEgYmUgbGkgcmUgcGkga2knbyBr aSdvJycgLSAiVGhhdCB3YXRlciBoYXMgYSBtYXNzIG9mIDIuMDAwIDAwMCBraWxvZ3JhbXMiCgpf Xycna2knb2dyYScnX18geDEgbWVhc3VyZXMgaW4gbWFzcyB4MiBraWxvZ3JhbXMgYnkgc3RhbmRh cmQgeDMKCgoKISFMb2piYW4gTGVzc29ucyAtIExlc3NvbiB0d2VudHktdGhyZWUgKG5lZ2F0aW9u KQoKU29tZXRpbWVzLCBqdXN0IHNheWluZyB3aGF0J3MgdGhlIHRydXRoIGlzIG5vdCBlbm91Z2gu IE9mdGVuLCB3ZSB3YW50IHRvIHNwZWNpZnkgd2hhdCdzIG5vdCB0aGUgdHJ1dGgsIGFuZCB3ZSBk byB0aGlzIGJ5IHVzaW5nIG5lZ2F0aW9uLgoKTmVnYXRpb24gaW4gRW5nbGlzaCBtb3N0bHkgaW52 b2x2ZXMg4oCcbm904oCdLCBhbmQgaXMgY29tcGxldGVseSBhcmJpdHJhcnkgYW5kIGFtYmlndW91 cy4gV2UsIGFzIExvamJhbmlzdHMsIGNhbid0IGhhdmUgdGhhdCwgb2YgY291cnNlLCBzbyBMb2pi YW4gY29udGFpbnMgYW4gZWxlZ2FudCBhbmQgdW5hbWJpZ2lvdXMgc3lzdGVtIGZvciBuZWdhdGlu Zy4gV2hhdCB3aWxsIGJlIHByZXNlbnRlZCBoZXJlIGFyZSB0aGUgb2ZmaWNpYWwgZ29sZC1zdGFu ZGFyZCBydWxlcy4gRGlzYXBwcm92YWwgb2YgdGhlc2UgImdvbGRlbiBydWxlcyIgY29uY2Vybmlu ZyAnJ25hJycgaXMgZ3Jvd2luZywgYW5kIHRoZXJlIGlzIGRpc2FncmVlbWVudCBhYm91dCB3aGF0 IHJ1bGUgc2V0IHNob3VsZCByZXBsYWNlIGl0LiBGb3Igbm93LCBJIHdpbGwgc3RpY2sgd2l0aCB0 aGUgb2ZmaWNpYWwgcnVsZXMsIGFuZCB0aGVyZWZvcmUsIHNvIHdpbGwgeW91LCBkZWFyIHJlYWRl ci4KClRoZSBmaXJzdCB5b3UgbmVlZCB0byBrbm93IGFib3V0IGlzIGJyaWRpIG5lZ2F0aW9uLCBz byBjYWxsZWQgYmVjYXVzZSBpdCBuZWdhdGVzIHRoZSBicmlkaSBpdCdzIGluLCBzYXlpbmcgaXQn cyBub3QgdHJ1ZS4gVGhlIHdheSB0byBuZWdhdGUgYSBicmlkaSBpcyB0byBwbGFjZSAnJ25hJycg Zmlyc3QgaW4gdGhlIHNlbnRlbmNlIHdpdGggYSAnJ2t1JycgYWZ0ZXIgaXQsIG9yIGp1c3QgYmVm b3JlIHRoZSBzZWxicmkuIAoKX18nJ3NwZW5pJydfXyB4MSBpcyBtYXJyaWVkIHRvIHgyIHVuZGVy IGNvbnZlbnRpb24geDMKClRodXM6ICcnbmEga3UgbGUgbWkgc3BlbmkgY3UgbmlubXUnJyBzdGF0 ZXMgdGhhdCDigJxNeSBzcG91c2UgaXMgbm90IGEgd29tYW7igJ0uIEl0IHN0YXRlcyBub3RoaW5n IGFib3V0IHdoYXQgbXkgd2lmZSBpcywgb3IgaWYgSSBldmVuIGhhdmUgYSB3aWZlLiBJdCBvbmx5 IHN0YXRlcyB0aGF0IEkgZG8gbm90IGhhdmUgYSB3aWZlIHdobyBpcyBhbHNvIGEgd29tYW4uIFRo aXMgaGFzIGFuIGltcG9ydGFudCBpbXBsaWNhdGlvbjogSWYgdGhlIG5lZ2F0aW9uIG9mIGEgYnJp ZGkgaXMgZmFsc2UsIHRoZSBicmlkaSBtdXN0IGJlIHRydWU6ICcnbmEga3UgbGUgbWkgc3Blbmkg Y3UgbmEgbmlubXUnJyBtdXN0IG1lYW4gdGhhdCBJIGhhdmUgYm90aCBhIHNwb3VzZSwgYW5kIHRo YXQgc2hlIGlzIGEgc2hlLgoKSXQgaXMgcG9zc2libGUgdG8gdXNlIGJyaWRpIG5lZ2F0aW9ucyBp biBhbGwgYnJpZGksIGV2ZW4gdGhlIGltcGxpY2l0IGJyaWRpIG9mIGRlc2NyaXB0aXZlIHN1bXRp LiAnJ2xvIG5hIHByZW51JycgY2FuIHJlZmVyIHRvIGFueXRoaW5nIG5vbi1odW1hbiwgd2hldGhl ciBpdCBiZSBhIHNwaGlueCwgYSBiYXNlYmFsbCBvciB0aGUgcHJvcGVydHkgb2YgYXBwcm9wcmlh dGVuZXNzLgoKCgpfXycnYmF1JydfXyBzdW10Y2l0YSwgZnJvbSBiYW5ndTogdXNpbmcgdGhlIGxh bmd1YWdlIG9mIHtzdW10aX0KCl9fJydzZSBqYSdlJydfXyBzdW10Y2l0YSwgZnJvbSBzZSBqYWxn ZTogYmVjYXVzZSBvZiB7c3VtdGl9CgoKCk9mdGVuIHdoZW4gdXNpbmcgJyduYScnLCBpdCdzIGEg cHJvYmxlbSB0aGF0IGl0IG5lZ2F0ZXMgdGhlIGVudGlyZSBicmlkaS4gSWYgSSBzYXkgJydtaSBu YSBzdXRyYSB0YXZsYSBiYXUgbGUgZ2xpYmF1IHNlIGphJ2UgbGUgbnUgbWkgZG90Y28nJywgSSBl bmQgdXAgbmVnYXRpbmcgdG9vIG11Y2gsIGFuZCBpdCBpcyBub3QgY2xlYXIgdGhhdCBJIHdhbnRl ZCB0byBvbmx5IG5lZ2F0ZSB0aGF0IEkgc3BlYWsgZmFzdC4gVGhlIHNlbnRlbmNlIGNvdWxkIHN1 Z2dlc3QgdGhhdCBJIGluIGZhY3Qgc3BlYWsgZmFzdCBiZWNhdXNlIG9mIHNvbWUgb3RoZXIgcmVh c29uLCBmb3IgaW5zdGFuY2UgdGhhdCBJIHNwZWFrIGZhc3QgaW4gRnJlbmNoIGJlY2F1c2UgSSdt IEdlcm1hbi4gVG8gZXhwcmVzcyB0aGUgc2VudGVuY2UgbW9yZSBwcmVjaXNlbHksIEkgbmVlZCB0 byBvbmx5IG5lZ2F0ZSB0aGF0IEkgc3BlYWsgZmFzdCwgYW5kIG5vdCB0aGUgb3RoZXIgdGhpbmdz LgoKVG8gb25seSBuZWdhdGUgcGFydCBvZiBhIGJyaWRpLCAnJ25hIGt1JycgY2FuIGJlIG1vdmVk IGFyb3VuZCB0aGUgYnJpZGkgYW5kIHBsYWNlZCBhbnl3aGVyZSBhIHN1bXRpIGNhbiBnby4gSXQg dGhlbiBuZWdhdGVzIGFueSBzdW10aSwgc2VsYnJpIGFuZCBzdW10Y2l0YSBwbGFjZWQgYWZ0ZXIg aXQuIFdoZW4gcGxhY2VkIGltbWVkaWF0ZWx5IGJlZm9yZSB0aGUgc2VsYnJpLCB0aGUgJydrdScn IGNhbiBiZSBlbGlkZWQuCgpNb3ZpbmcgJyduYSBrdScnIGZyb20gdGhlIGxlZnQgZW5kIG9mIHRo ZSBicmlkaSBhbmQgcmlnaHR3YXJkcyBlZmZlY3RzIGFueSBxdWFudGlmaWVycyBpbiBhIGNlcnRh aW4gd2F5LCBhcyBjYW4gYmUgc2VlbiBieSB0aGlzIGV4YW1wbGU6CgoKClRoZXJlIGFyZSBmb3Jj ZXMgd2l0aGluIHRoZSBMb2piYW4gY29tbXVuaXR5IHdobywgcGVyaGFwcyByaWdodGx5LCB0aGlu ayB0aGF0IHRoZXJlIGlzIG5vIGdvb2QgcmVhc29uIHRoYXQgYSAnJ25hJycgcGxhY2VkIGJlZm9y ZSBhIHNlbGJyaSBuZWdhdGVzIHRoZSBlbnRpcmUgYnJpZGksIHdoZXJlYXMgYSAnJ25hIGt1Jycg YW55IG90aGVyIHBsYWNlIG5lZ2F0ZXMgb25seSB3aGF0IGlzIHRyYWlsaW5nIGJlaGluZCBpdC4g SG93ZXZlciwgaW4gdGhlc2UgbGVzc29ucyB5b3Ugd2lsbCBiZSB0YXVnaHQgd2hhdCBpcyBzdGls bCB0aGUgb2ZmaWNpYWwgc3RhbmNlLCBuYW1lbHkgdGhhdCAnJ25hJycgYmVmb3JlIHRoZSBzZWxi cmkgbmVnYXRlcyB0aGUgYnJpZGkuCgoKClRoZSB1c2Ugb2YgJyduYSBrdScnIGlzIGV4ZW1wbGlm aWVkIHdpdGggdGhlIGZvbGxvd2luZyBleGFtcGxlcy4KCicnbmEga3Ugcm8gcmVtbmEgY3UgdmVy YmEnJyDigJxJdCdzIG5vdCB0cnVlIHRoYXQ6IEFsbCBodW1hbnMgYXJlIGNoaWxkcmVu4oCdCgon J3N1J28gcmVtbmEgbmEga3UgY3UgdmVyYmEnJyDigJxGb3IgYXQgbGVhc3Qgb25lIGh1bWFuIGl0 J3Mgbm90IHRydWUgdGhhdDogSXQncyBhIGNoaWxk4oCdLiBTZWUgdGhhdCB0aGUgJyduYSBrdScn IGlzIHBsYWNlZCBiZWZvcmUgJydjdScnLCBzaW5jZSBhIHN1bXRpIGNhbiBnbyBvbmx5IGJlZm9y ZSwgbm90IGFmdGVyIHRoZSAnJ2N1JycuIEhhZCBJIG9ubHkgdXNlZCAnJ25hJycsIGl0IHdvdWxk IGhhdmUgdG8gZ28gYWZ0ZXIgJydjdScnIC0gYnV0IHRoYXQgd291bGQgaGF2ZSBuZWdhdGVkIHRo ZSBlbnRpcmUgYnJpZGksIG1lYW5pbmcgIkl0J3Mgbm90IHRydWUgdGhhdDogQXQgbGVhc3Qgb25l IGh1bWFuIGlzIGEgY2hpbGQiLgoKCgpXaGVuIHRoZSAnJ25hIGt1JycgaXMgbW92ZWQgcmlnaHR3 YXJkcywgYW55IHF1YW50aWZpZXIgaXMgaW52ZXJ0ZWQgLSB0aGF0IGlzOiAnJ3JvJycgaXMgdHVy bmVkIGludG8gJydzdSdvJycuIFRoaXMgaXMsIG9mIGNvdXJzZSwgb25seSBpZiB0aGUgbWVhbmlu ZyBvZiB0aGUgYnJpZGkgaGFzIHRvIGJlIHByZXNlcnZlZC4gVGhpcyBtZWFucyB0aGF0IHdoZW4g dGhlICcnbmEga3UnJyBpcyBwbGFjZWQgYXQgdGhlIGVuZCBvZiB0aGUgYnJpZGksIG9ubHkgdGhl IHNlbGJyaSBpcyBuZWdhdGVkIGJ1dCBhbGwgdGhlIHN1bXRpIGFuZCBzdW10Y2l0YSBhcmUgcHJl c2VydmVkLCBhcyBjYW4gYmUgc2VlbiBieSB0aGVzZSB0aHJlZSBpZGVudGljYWwgYnJpZGk6Cgpf XycnY2t1bGUnJ19fIHgxIGlzIGEgc2Nob29sIGF0IGxvY2F0aW9uIHgyIHRlYWNoaW5nIHgzIHRv IHN0dWRlbnRzIHg0IGFuZCBvcGVyYXRlZCBieSB4NQoKCgonJ25hIGt1IHJvIHZlcmJhIGN1IHZl IGNrdWxlIGZvIHN1J28gY2t1bGUnJyDigJMg4oCcSXQncyBub3QgdHJ1ZSB0aGF0IGFsbCBjaGls ZHJlbiBhcmUgc3R1ZGVudHMgaW4gYSBzY2hvb2wu4oCdCgonJ3N1J28gdmVyYmEgY3UgdmUgY2t1 bGUgbmEga3UgZm8gc3UnbyBja3VsZScnIOKAkyDigJxTb21lIGNoaWxkcmVuIGFyZSBzdHVkZW50 cyBpbiBub3QgYSBzaW5nbGUgc2Nob29sLuKAnQoKJydzdSdvIHZlcmJhIGN1IHZlIGNrdWxlIGZv IHJvIGNrdWxlIG5hIGt1Jycg4oCTIOKAnFNvbWUgY2hpbGRyZW4gYXJlIGZvciBhbGwgc2Nob29s cyBub3Qgc3R1ZGVudHMgaW4gdGhlbS7igJ0KCgoKVGhlIG9wcG9zaXRlIG9mICcnbmEnJyBpcyAn J2phJ2EnJy4gVGhpcyBpcyBiYXJlbHkgZXZlciB1c2VkLCBzaW5jZSBpdCBpcyBkZWZhdWx0IGlu IG1vc3QgYnJpZGkuIE9uZSBleGNlcHRpb24gaXMgcmVwZWF0ZWQgYnJpZGkgKG5leHQgbGVzc29u KS4gU29tZXRpbWVzIGl0J3MgdXNlZCB0byBwdXQgbW9yZSB3ZWlnaHQgb24gdGhlIHRydXRoIG9m IHRoZSBicmlkaSwgYXMgaW4gJydsYSAuYmFiLiBqYSdhIG1lbGJpJycgPSAiQm9iIGlzIGluZGVl ZCBiZWF1dGlmdWwiLgoKCgpXaGlsZSB0aGUgbWVjaGFuaXNtIG9mICcnbmEga3UnJyByZXNlbWJs ZXMgbmF0dXJhbCBsYW5ndWFnZSBuZWdhdGlvbiwgaXQgY2FuIGJlIGRpZmZpY3VsdCB0byBrZWVw IHRyYWNrIG9mIGV4YWN0bHkgd2hhdCBpcyBuZWdhdGVkIGFuZCBob3cgdGhhdCBhZmZlY3RzIHRo ZSBicmlkaS4gRm9yIHRoYXQgcmVhc29uLCB0aGUgY29uc3RydWN0ICcnbmEga3UnJyBpcyByYXJl bHkgc2VlbiBhbnl3aGVyZSBvdGhlciB0aGFuIHRoZSBiZWdpbm5pbmcgb2YgYSBicmlkaS4gSW4g bW9zdCBjYXNlcyB3aGVyZSBtb3JlIHNwZWNpZmljIG5lZ2F0aW9uIGlzIG5lZWRlZCBwZW9wbGUg cmVzb3J0IHRvIGEgZGlmZmVyZW50IG1ldGhvZC4gVGhpcyBtZXRob2QsIGNhbGxlZCBzY2FsYXIg bmVnYXRpb24sIGlzIGFuIGVsZWdhbnQgYW5kIGludHVpdGl2ZSB0b29sLiBVc2luZyBpdCwgeW91 IGVmZmVjdCBvbmx5IHRoZSBzZWxicmksIHNpbmNlIHRoZSB3b3JkcyB1c2VkIGluIHNjYWxhciBu ZWdhdGlvbiBiaW5kcyB0byB0aGUgc2VsYnJpIG11Y2ggbGlrZSB0aGUgd29yZCAnJ3NlJycuCgpU aGUgbmFtZSDigJxzY2FsYXIgbmVnYXRpb27igJ0gaXMgZGVyaXZlZCBmcm9tIHRoZSBmYWN0IHRo YXQgdGhlIHdvcmRzIHdoaWNoIGJpbmQgdG8gdGhlIHNlbGJyaSBjYW4gYmUgcGxhY2VkIGFsb25n IGEgc2NhbGUgZnJvbSBhZmZpcm1hdGlvbiBvdmVyIG5lZ2F0aW9uIGFuZCB0byBzdGF0aW5nIHRo YXQgdGhlIG9wcG9zaXRlIGNhc2UgaXMgdHJ1ZToKCnx8V29yZHxNZWFuaW5nCgpqZSdhfOKAnElu ZGVlZOKAnTsgc2NhbGFyIGFmZmlybWVyCgpubydlfOKAnE5vdCByZWFsbHnigJ0sIHNjYWxhciBt aWRwb2ludAoKbmEnZXzigJxOb24t4oCcLCBzY2FsYXIgbmVnYXRvcgoKdG8nZXzigJxJbOKAnSwg 4oCcRGlzLeKAnCwg4oCcTWlz4oCdIGVjdDsgc2NhbGFyIG9wcG9zZXJ8fAoKCgpUaGVzZSB3b3Jk cyBhcmUgbm90IG5lZ2F0b3JzIGluIHRoZSBzYW1lIHNlbnNlIGFzICcnbmEnJy4gVGhleSBkbyBu b3Qgc3RhdGUgdGhhdCBhIGJyaWRpIGlzIGZhbHNlLCBidXQgbWFrZXMgYSBwb3NpdGl2ZSBzdGF0 ZW1lbnQgdGhhdCBhIGJyaWRpIGlzIHRydWUg4oCTIHRoZSBzYW1lIGJyaWRpLCBidXQgd2l0aCBh IGRpZmZlcmVudCBzZWxicmkuIFRoaXMgZGlzdGluY3Rpb24gaXMgbW9zdGx5IGFjYWRlbWljLCB0 aG91Z2guIElmLCBmb3IgZXhhbXBsZSwgSSBzdGF0ZSB0aGF0ICcnbWkgbmEnZSBzZSBuZWxjaScn ICJJIGFtIG5vbi1saWtlZCIsIEkgYWN0dWFsbHkgc3RhdGUgdGhhdCBzb21lIHNlbGJyaSBhcHBs aWVzIHRvIG1lLCB3aGljaCBpcyBhbHNvIG9uIGEgcmVsZXZhbnQgc2NhbGUgd2l0aCB0aGUgc2Vs YnJpICcnbmVsY2knJy4gTW9zdCBvZiB0aGUgdGltZSwgd2UgYXNzdW1lIGEgc2NhbGUgd2hlcmUg dGhlIHBvc2l0aW9ucyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIChsaWtlIGxvdmUtbGlrZS1kaXNs aWtlLWhhdGUpLCBzbyAnJ21pIG5hJ2Ugc2UgbmVsY2knJyBpbXBsaWVzICcnbWkgbmEgc2UgbmVs Y2knJwoKVGhlcmVmb3JlLCB0aGUgd29yZHMgJydubydlJycgYW5kICcndG8nZScnIHNob3VsZCBv bmx5IGJlIHVzZWQgd2hlbiB0aGUgc2VsYnJpIGlzIHBsYWNlZCBvbiBzb21lIG9idmlvdXMgc2Nh bGU6CgonJ2xlIG1pIHNwZW5pIGN1IHRvJ2UgbWVsYmknJyDigJMg4oCdTXkgc3BvdXNlIGlzIHVn bHnigJ0gbWFrZXMgc2Vuc2UsIHNpbmNlIHdlIGltbWVkaWF0ZWx5IGtub3cgd2hhdCB0aGUgb3Bw b3NpdGUgb2YgYmVhdXRpZnVsIGlzLCB3aGlsZQoKJydtaSBrbGFtYSBsZSBtaSB0bydlIHpkYW5p Jycg4oCTIOKAnUkgZ28gdG8gbXkgb3Bwb3NpdGUgdGhpbmcgb2YgaG9tZeKAnSwgd2hpbGUgZ3Jh bW1hdGljYWwsIGxlYXZlcyB0aGUgbGlzdGVuZXIgZ3Vlc3Npbmcgd2hhdCB0aGUgc3BlYWtlcidz IOKAnG9wcG9zaXRlLWhvbWXigJ0gaXMgYW5kIHNob3VsZCBiZSBhdm9pZGVkLgoKCgpTbyBob3cg Y2FuIHlvdSBuZWdhdGUgb25seSB0aGUgc2VsYnJpIHdpdGhvdXQgYWxzbyBpbXBseWluZyB0aGF0 IHRoZSBzZWxicmkgaXMgY29ycmVjdCBhdCBzb21lIG90aGVyIHBvc2l0aW9uIG9uIGEgdHJ1dGgt c2NhbGU/IFNpbXBsZTogTW92aW5nIHRoZSAnJ25hIGt1JycgdG8gdGhlIHJpZ2h0bW9zdCBlbmQg b2YgdGhlIGJyaWRpLCBhcyBkZW1vbnN0cmF0ZWQgYSBmZXcgbGluZXMgYWJvdmUuIFRoaXMgZmVh dHVyZSBpcyB2ZXJ5IHVzZWZ1bC4gU29tZSBsb2piYW5pc3RzIHByZWZlciB0byBwcmVmaXggdGhl IHJhZnNpICcnbmFyJycgKHRoZSByYWZzaSBvZiAnJ25hJycpIGluIGZyb250IG9mIHRoZSBzZWxi cmkgLSB0aGlzIGhhcyB0aGUgc2FtZSBlZmZlY3QsIGJ1dCBJIGFkdmlzZSBhZ2FpbnN0IGl0LCBi ZWNhdXNlIGl0IG1ha2VzIGZhbWlsaWFyIGJyaXZsYSBzZWVtIGFsaWVuLCBhbmQgaXQncyBoYXJk ZXIgdG8gdW5kZXJzdGFuZCB3aGVuIHNwb2tlbiBjYXN1YWxseS4KCklmIGEgc2l0dWF0aW9uIGFy aXNlcyB3aGVyZSB5b3UgbmVlZCB0byBuZWdhdGUgb25seSB0aGUgc2VsYnJpLCBidXQgd2FudCBp dCB0byBiZSBjbGVhciBiZWZvcmUgdGhlIGVuZCBvZiB0aGUgYnJpZGksIHRoZSBleHBlcmltZW50 YWwgY21hdm8gJyduYSdlaScnLCB3aGljaCBncmFtbWF0aWNhbGx5IHdvcmtzIGxpa2UgJyduYSdl JycsIGNhbiBiZSB1c2VkCgpfXycnbmEnZWknJ19fOiBOZWdhdGVzIHRoZSBmb2xsb3dpbmcgc2Vs YnJpIG9ubHkKCgoKVHJ5IHRvIHRyYW5zbGF0ZSB0aGVzZSBzZW50ZW5jZXM6CgrigJxNeSBzcG91 c2UgaXMgbm90IGEgd29tYW7igJ0gKG1lYW5pbmcgdGhhdCBoZSBpcyBhIG1hbGUpCgoKCkFuc3dl cjogfn5ncmV5LGdyZXk6JydsZSBtaSBzcGVuaSBjdSBuYSdlIC8gdG8nZSBuaW5tdScnLiBVc2lu ZyBzY2FsYXIgbmVnYXRpb24gaGVyZSBpbXBsaWVzIHRoYXQgaGUgZXhpc3RzLCB3aGljaCBuYSBk aWQgbm90Ln5+CgoKCuKAnE15IHNwb3VzZSBpcyBub3QgcmVhbGx5IGEgd29tYW7igJ0KCgoKQW5z d2VyOiB+fmdyZXksZ3JleTonJ2xlIG1pIHNwZW5pIGN1IG5vJ2UgbmlubXUnJy4gVGhlIHNjYWxl IGhlcmUgaXMgcHJlc3VtZWQgdG8gYmUgZnJvbSB3b21hbiB0byBtYW4ufn4KCgoK4oCcSSBkb24n dCBzcGVhayBmYXN0IGluIEVuZ2xpc2ggYmVjYXVzZSBJJ20gR2VybWFu4oCdCgoKCkFuc3dlcjog fn5ncmV5LGdyZXk6JydtaSBuYSdlIHN1dHJhIHRhdmxhIGJhdSBsZSBnbGliYXUgc2UgamEnZSBs ZSBudSBtaSBkb3Rjbycnfn4KCgoKQWxzbywgbm90ZSB0aGF0IHdoZW5ldmVyIHRoZXNlIHdvcmRz IGFyZSB1c2VkIHRvZ2V0aGVyIHdpdGggYSB0YW5ydSwgdGhleSBvbmx5IGFmZmVjdCB0aGUgbGVm dG1vc3Qgc2VsYnJpLiBJbiBvcmRlciB0byBtYWtlIGl0IGJpbmQgdG8gdGhlIHdob2xlIHRhbnJ1 IG9yIHBhcnRzIG9mIHRoZSB0YW5ydSwgdGhlIHVzdWFsIHRhbnJ1LWdyb3VwaW5nIHdvcmRzIGNh biBiZSB1c2VkLgoKCgpUcnkgdG8gc2F5IOKAnEkgc2VsbCBzb21ldGhpbmcgd2hpY2ggaXMgbm90 IHllbGxvdyBob21lc+KAnSB1c2luZyB0aGUgdGFucnUgJydwZWx4dSB6ZGFuaSB2ZWNudScnCgoK CkFuc3dlcjogfn5ncmV5LGdyZXk6JydtaSBuYSdlIGtlIHBlbHh1IHpkYW5pIGtlJ2UgdmVjbnUg b3IgbWkgbmEnZSBwZWx4dSBibyB6ZGFuaSB2ZWNudScnfn4KCgoKV2hlbiBhdHRlbXB0aW5nIHRv IGFuc3dlcjog4oCcSXMgdGhlIGtpbmcgb2YgdGhlIFVTQSBmYXQ/4oCdLCBhbGwgb2YgdGhlc2Ug bmVnYXRpb25zIGZhaWwuIFdoaWxlIGl0J3MgdGVjaG5pY2FsbHkgY29ycmVjdCB0byBuZWdhdGUg aXQgd2l0aCAnJ25hJycsIHNpbmNlIGl0IG1ha2VzIG5vIGFzc3VtcHRpb25zIG9mIHRoYXQgaXMg dHJ1ZSwgaXQncyBtaWxkbHkgbWlzbGVhZGluZyBzaW5jZSBpdCBjb3VsZCBsZWFkIHRoZSBsaXN0 ZW5lciB0byBiZWxpZXZlIHRoZXJlIGlzIGEga2luZyBvZiB0aGUgVVNBLiBGb3IgdGhlc2Ugc2Nl bmFyaW9zLCB0aGVyZSBpcyBhIG1ldGFsaW5ndWlzdGljIG5lZ2F0b3IsICcnbmEnaScnLgoKJydu YSdpJycgTWV0YWxpbmd1aXN0aWMgbmVnYXRvci4gU29tZXRoaW5nIGlzIHdyb25nIHdpdGggYXNz aWduaW5nIGEgdHJ1dGggdmFsdWUgdG8gdGhlIGJyaWRpLgoKQmVjYXVzZSAnJ25hJ2knJyBjYW4g YmUgbmVlZGVkIGFueXdoZXJlIGl0IGhhcyBiZWVuIGdpdmVuIHRoZSBncmFtbWFyIG9mIHRoZSBh dHRpdHVkaW5hbHMsIHdoaWNoIG1lYW5zIGl0IGNhbiBhcHBlYXIgYW55d2hlcmUsIGFuZCBpdCBh dHRhY2hlcyB0byB0aGUgcHJldmlvdXMgd29yZCBvciBjb25zdHJ1Y3QuCgoKCl9fJydwYWxjaScn X18geDEgaXMgZXZpbCBieSBzdGFuZGFyZCB4MgoKJydsZSBuYSdpIHB1IHRlIHp1a3RlIGJlIGxl IHNrYW1pIGN1IHBhbGNpJycg4oCTIOKAnVRoZSBzb3VnaHQgZ29hbCB7bWlzdGFrZSF9IG9mIHRo ZSBjb21wdXRlciB3YXMgZXZpbOKAnSwgcHJvYmFibHkgcHJvdGVzdHMgdGhhdCBjb21wdXRlcnMg Y2FuIHNlZWsgYSBnb2FsIHZvbGl0aW9uYWxseS4KCgoKU2luY2UgdGhpcyBpcyBhIGxlc3NvbiBv biBuZWdhdGlvbiwgSSBiZWxpZXZlIHRoZSB3b3JkICcnbmFpJycgZGVzZXJ2ZXMgYSBzaG9ydCBt ZW50aW9uLiBJdCBpcyB1c2VkIHRvIG5lZ2F0ZSBtaW5vciBncmFtbWF0aWNhbCBjb25zdHJ1Y3Rz LCBhbmQgY2FuIGJlIHVzZWQgaW4gY29tYmluYXRpb24gd2l0aCBhdHRpdHVkaW5hbHMsIGFsbCBz dW10Y2l0YSBpbmNsdWRpbmcgdGVuc2VzLCB2b2NhdGl2ZXMgYW5kIGxvZ2ljYWwgY29ubmVjdGl2 ZXMuIFRoZSBydWxlcyBmb3IgbmVnYXRpbmcgdXNpbmcgJyduYWknJyBkZXBlbmQgb24gdGhlIGNv bnN0cnVjdCwgYW5kIHNvIHRoZSBlZmZlY3Qgb2YgJyduYWknJyBoYXMgYmVlbiBkaXNjdXNzZWQg d2hlbiBtZW50aW9uaW5nIHRoZSBjb25zdHJ1Y3QgdGhlbXNlbHZlcy4gVGhlIGV4Y2VwdGlvbiBp cyBzdW10Y2l0YSwgd2hlcmUgdGhlIHJ1bGVzIGZvciBuZWdhdGlvbiBhcmUgbW9yZSBjb21wbGV4 LCBhbmQgd2lsbCBub3QgYmUgZGlzY3Vzc2VkIGhlcmUuCgpfX05vdGU6X18gQXQgdGhlIHRpbWUg b2Ygd3JpdGluZywgaXQgaGFzIGJlZW4gcHJvcG9zZWQgdG8gbW92ZSAnJ25haScnIHRvIHRoZSBz ZWxtYSdvIENBSSwgd2hpY2ggbWVhbnMgdGhlIHNlbWFudGljcyBvZiAnJ25haScnIGRlcGVuZCBv biB3aGljaCBzZWxtYSdvIGl0IGZvbGxvd3MuIAoKCgoKCiEhTG9qYmFuIExlc3NvbnMgLSBMZXNz b24gdHdlbnR5LWZvdXIgKGJyaWthJ2kvcHJvLWJyaWRpIGFuZCBrbydhKQoKSWYgSSBzYXkgdGhh dCBJJ20gY2FsbGVkIE1pa2hhaWwsICcnbGEgLm1pa2FpbC4gY21lbmUgbWknJywgYW5kIHlvdSBo YXZlIHRvIHNheSB0aGUgZXhhY3Qgc2FtZSBicmlkaSwgd2hhdCB3b3VsZCB0aGF0IGJlPyBPbmUg b2YgdGhlIG1hbnkgYW5zd2VycyBpcyAnJ2RvIHNlIGNtZW5lIGxhIC5taWthaWwuJycuIEZvciB0 aGUgYnJpZGkgdG8gYmUgdGhlIHNhbWUsIHlvdSBoYXZlIHRvIHJlcGxhY2UgJydtaScnIHdpdGgg JydkbycnLCBhbmQgaXQgZG9lc24ndCBtYXR0ZXIgd2hpY2ggaWYgeW91IHNheSB0aGUgYnJpZGkg d2l0aCB0aGUgJydzZScnLWNvbnZlcnRlZCBzZWxicmkgb3Igbm90LiBUaGlzIGlzIGJlY2F1c2Ug YSBicmlkaSBpcyBub3QgdGhlIHdvcmRzIHdoaWNoIGV4cHJlc3MgaXQg4oCTIGEgYnJpZGkgaXMg YW4gaWRlYSwgYW4gYWJzdHJhY3QgcHJvcG9zaXRpb24uIFRoZSB3b3JkICcnbWknJyB3aGVuIEkg c2F5IGl0IGFuZCB0aGUgd29yZCAnJ2RvJycgd2hlbiB5b3UgZG8gcmVmZXJzIHRvIHRoZSBzYW1l IHN1bXRpLCBzbyB0aGUgdHdvIGJyaWRpIGFyZSBpZGVudGljYWwuCgpUaGlzIGxlc3NvbiBpcyBv biAnJ2JyaWthJ2knJywgdGhlIGJyaWRpIGVxdWl2YWxlbnQgb2Ygc3Vta2EnaS4gVGhleSBhcmUg d29yZCB3aGljaCByZXByZXNlbnQgZW50aXJlIGJyaWRpLiBIZXJlIGl0IGlzIGltcG9ydGFudCB0 byByZW1lbWJlciB0aGF0IGEgYnJpZGkgY29uc2lzdHMgb25seSBvZiBzdW10aSBhbmQgdGhlIHRo aW5ncyB3aGljaCBjb250YWluIHRoZSBzdW10aSwgc2VsYnJpIGFuZCBzdW10Y2l0YS4gTmVpdGhl ciBhdHRpdHVkaW5hbHMsIG5vciB0aGUgc2VtYW50aWMgbGF5ZXIgb2YgJydrbycnIG9yICcnbWEn JyBhcmUgcGFydCBvZiB0aGUgYnJpZGkgcHJvcGVyLCBhbmQgc28gdGhlc2UgYXJlIG5vdCByZXBy ZXNlbnRlZCBieSBhICcnYnJpa2EnaScnLgoKCgpUaGVyZSBhcmUgbXVjaCBmZXdlciAnJ2JyaWth J2knJyB0aGFuIHRoZXJlIGFyZSBzdW1rYSdpLiBXZSB3aWxsIGJlZ2luIGJ5IGdvaW5nIHRocm91 Z2ggc29tZSBvZiB0aGUgd29yZHMgaW4gdGhlIG1vc3QgdXNlZCBzZXJpZXMsIGNhbGxlZCBHT2hB OgoKV29yZDoJRGVmaW5pdGlvbjoKCl9fJydnbyd1JydfXwlSZXBlYXRzIHJlbW90ZSBwYXN0IGJy aWRpCgpfXycnZ28nYScnX18JUmVwZWF0cyBwYXN0IGJyaWRpCgpfXycnZ28nZScnX18JUmVwZWF0 cyBuZXh0LXRvLWxhc3QgYnJpZGkKCl9fJydnbydpJydfXwlSZXBlYXRzIGxhc3QgbWVudGlvbmVk IGJyaWRpCgpfXycnZ28nbycnX18JUmVwZWF0cyBmdXR1cmUgYnJpZGkKCl9fJyduZWknJ19fCVJl cGVhdHMgY3VycmVudCBicmlkaQoKX18nJ25vJ2EnJ19fCVJlcGVhdHMgb3V0ZXIgYnJpZGkKCgoK U29tZSBvZiB0aGUgR09oQS0nJ2JyaWthJ2knJy4gTm90aWNlIHRoZSBmYW1pbGlhciBpLCBhLCB1 LXBhdHRlcm4gZm9yIGNsb3NlIGluIHBhc3QsIG1lZGl1bSBpbiBwYXN0IGFuZCBkaXN0YW50IGlu IHBhc3QuCgoKClRoZXNlIGFyZSB2ZXJ5IG11Y2ggbGlrZSB0aGUgc3Vta2EnaSAnJ3JpJycsICcn cmEnJyBhbmQgJydydScnLiBUaGV5IGNhbiBvbmx5IHJlZmVyIHRvIG1haW4gYnJpZGkgb2YganVm cmEsIGFuZCBub3QgdGhvc2UgY29udGFpbmVkIGluIHJlbGF0aXZlIHBocmFzZXMgb3IgZGVzY3Jp cHRpb24gc3VtdGkuIFRoZSBtYWluIGJyaWRpIGNhbiBjb250YWluIGEgcmVsYXRpdmUgcGhyYXNl LCBvZiBjb3Vyc2UsIGJ1dCBhICcnYnJpa2EnaScnIGNhbiBuZXZlciBiZSB1c2VkIHRvIHJlZmVy IHRvIG9ubHkgdGhlIHJlbGF0aXZlIHBocmFzZS4KCkEgR09oQSBhY3RzIGdyYW1tYXRpY2FsbHkg bXVjaCBsaWtlIGEgc2VsYnJpLCBhbnkgY29uc3RydWN0IHdoaWNoIGNhbiBhcHBseSB0byBzZWxi cmkgY2FuIGFsc28gYXBwbHkgdG8gdGhlc2UuIFRoZSBwbGFjZSBzdHJ1Y3R1cmUgb2YgYSBHT2hB IGlzIHRoZSBzYW1lIGFzIHRoYXQgb2YgdGhlIGJyaWRpIGl0IHJlcHJlc2VudHMsIGFuZCB0aGUg c3VtdGkgYXJlIGJ5IGRlZmF1bHQgdGhlIHNhbWUgYXMgaW4gdGhlIGJyaWRpIGl0IHJlcHJlc2Vu dHMuIEZpbGxpbmcgdGhlIHN1bXRpIHBsYWNlcyBvZiBhIEdPaEEgZXhwbGljaXRseSBvdmVyd3Jp dGVzIHRoZSBzdW10aSBvZiB0aGUgYnJpZGkgaXQgcmVwcmVzZW50cy4gQ29udHJhc3Q6CgpBOiAn J21pIGNpdGthIGxvIHBsaXNlJycgQjogJydnbydpJycg4oCTIOKAnEkgZWF0IGFuIGFwcGxlLuKA nSDigJxZb3UgZG8u4oCdIHdpdGgKCkE6ICcnbWkgY2l0a2EgbG8gcGxpc2UnJyBCOiAnJ21pIGdv J2knJyDigJMg4oCcSSBlYXQgYW4gYXBwbGUu4oCdIOKAnEkgZG8sIHRvby7igJ0KCgoKVGhlc2Ug JydicmlrYSdpJycgYXJlIHZlcnkgdXNlZnVsIHdoZW4gYW5zd2VyaW5nIGEgcXVlc3Rpb24gd2l0 aCAnJ3h1Jyc6CgpBOiAnJ3h1IGRvIG5lbGNpIGxlIG1pIHNwZW5pJycgQjogJydnbydpIC8gbmEg Z28naScnIOKAkyDigJxEbyB5b3UgbGlrZSBteSB3aWZlP+KAnSDigJxZZXMuL05vLuKAnS4gVGhl ICcneHUnJywgYmVpbmcgYW4gYXR0aXR1ZGluYWwsIGlzIG5vdCBjb3BpZWQuCgpXaGVuIHJlcGVh dGluZyBicmlkaSBuZWdhdGVkIGJ5ICcnbmEnJywgdGhhdCBpczogQnJpZGkgd2hlcmUgJyduYScn IGlzIHBsYWNlZCBpbiB0aGUgcHJlbmV4IChsZXNzb24gdHdlbnR5LXNldmVuKSwgaW4gdGhlIGJl Z2lubmluZyBvZiB0aGUgYnJpZGkgb3IgcmlnaHQgYmVmb3JlIHRoZSBzZWxicmksIHRoZSBydWxl cyBmb3IgY29weWluZyBvdmVyICcnbmEnJyBhcmUgZGlmZmVyZW50IGZyb20gd2hhdCBvbmUgbWln aHQgZXhwZWN0LiBBbnkgJyduYScnIGlzIGNvcGllZCBvdmVyLCBidXQgYW55IGFkZGl0aW9uYWwg JyduYScnIGluIHRoZSBicmlrYSdpIHJlcGxhY2VzIHRoZSBmaXJzdCBuYS4gTGV0IG1lIHNob3cg eW91IHdpdGggYW4gZXhhbXBsZToKCkE6ICcnbWkgbmEgY2l0a2EgbG8gcGxpc2UnJwoKQjogJydt aSBnbydpJycgPSAnJ21pIG5hIGNpdGthIGxvIHBsaXNlJycKCkM6ICcnbWkgbmEgZ28naScnID0g JydtaSBuYSBjaXRrYSBsbyBwbGlzZScnCgpEOiAnJ21pIG5hIG5hIGdvJ2knJyA9ICcnbWkgY2l0 a2EgbG8gcGxpc2UnJyA9ICcnbWkgamEnYSBnbydpJycKCgoKJyduZWknJyBhbmQgJydubydhJycg YXJlIG5vdCB1c2VkIG11Y2gsIGV4Y2VwdCBmb3Ig4oCcbWluZC1icmVha2luZyBwdXJwb3Nlc+KA nSwgd2hpY2ggaXMgbWFraW5nIHVwIGJyaWRpIHdoaWNoIGFyZSBoYXJkIHRvIHBhcnNlLCBsaWtl ICcnZGVpIG5hIHNlIGR1J3UgbGUgbm8nYSBsYSdlIGxlIG5laScnLiBTaW5jZSAnJ25laScnIHJl cGVhdHMgdGhlIGN1cnJlbnQgb3V0ZXIgYnJpZGksIGhvd2V2ZXIsICcnbGUgbmVpJycgY2FuIGJl IHVzZWQgdG8gcmVmZXIgdG8gdGhlIHgxIG9mIHRoZSBjdXJyZW50IG91dGVyIGJyaWRpLCAnJ2xl IHNlIG5laScnIHRoZSB4MiBhbmQgc28gb24uCgoKCldoZW4gdXNpbmcgJydicmlrYSdpJycsIG9u ZSBtdXN0IGFsd2F5cyBiZSB3YXJ5IG9mIGNvcHlpbmcgc2VudGVuY2VzIHdpdGggdGhlIHBlcnNv bmFsIHN1bWthJ2kgbGlrZSAnJ21pJycsICcnZG8nJywgJydtYSdhJycgZWN0LCBhbmQgYmUgY2Fy ZWZ1bCBub3QgdG8gcmVwZWF0IHRoZW0gd2hlbiB0aGV5IGFyZSBpbiB0aGUgd3JvbmcgY29udGVj dCwgYXMgc2hvd24gaW4gdGhlIHR3byBleGFtcGxlcyB3aXRoIGFwcGxlIGVhdGluZyBhYm92ZS4g SW5zdGVhZCBvZiByZXBsYWNpbmcgdGhlbSBvbmUgYnkgb25lLCB0aG91Z2gsIHRoZSB3b3JkICcn cmEnbycnIGFueXdoZXJlIGluIHRoZSBicmlkaSB1cGRhdGVzIHRoZSBwZXJzb25hbCBzdW1rYSdp IHNvIHRoYXQgdGhleSBhcHBseSBmb3IgdGhlIHNwZWFrZXIncyBwZXJzcGVjdGl2ZToKCkE6ICcn bWkgZG8gcHJhbWknJyBCOiAnJ21pIGRvIGdvJ2knJyBpcyBlcXVpdmFsZW50IHRvIEE6ICcnbWkg ZG8gcHJhbWknJyBCOiAnJ2dvJ2kgcmEnbycnCgpfXycncmEnbycnX18gVXBkYXRlIGFsbCBwZXJz b25hbCBzdW1rYSdpIHNvIHRoYXQgdGhleSBub3cgZml0IHRoZSBzcGVha2VyJ3MgcG9pbnQgb2Yg dmlldy4KCgoKVGhlIG9ubHkgb3RoZXIgc2VyaWVzIG9mIGJyaWthJ2kgYXJlIHZlcnkgZWFzeSB0 byByZW1lbWJlcjoKCl9fJydicm9kYScnX18JQnJpZGkgdmFyaWFibGUgMQoKX18nJ2Jyb2RlJydf XwlCcmlkaSB2YXJpYWJsZSAyCgpfXycnYnJvZGknJ19fCUJyaWRpIHZhcmlhYmxlIDMKCl9fJydi cm9kbycnX18JQnJpZGkgdmFyaWFibGUgNAoKX18nJ2Jyb2R1JydfXwlCcmlkaSB2YXJpYWJsZSA1 CgpfXycnY2VpJydfXwlEZWZpbmUgYnJpZGkgdmFyaWFibGUgKG5vdCBhIGJyaWthJ2kgYW5kIG5v dCBpbiBCUk9EQSkKCgoKCgpUaGUgZmlyc3QgZml2ZSBhcmUganVzdCBmaXZlIGluc3RhbmNlcyBv ZiB0aGUgc2FtZSB3b3JkLiBUaGV5IGNhbiBiZSB1c2VkIGFzIHNob3J0Y3V0cyB0byBicmlkaS4g QWZ0ZXIgc2F5aW5nIGEgYnJpZGksIHNheWluZyAnJ2NlaSBicm9kYScnIGRlZmluZXMgdGhhdCBi cmlkaSBhcyAnJ2Jyb2RhJycsIGFuZCAnJ2Jyb2RhJycgY2FuIHRoZW4gYmUgdXNlZCBhcyAnJ2Jy aWthJ2knJyBmb3IgdGhhdCBicmlkaSBpbiB0aGUgZm9sbG93aW5nIGNvbnZlcnNhdGlvbi4KCldo aWxlIHdlJ3JlIGF0IGl0LCB0aGVyZSBpcyBhbiBhbmFsb2dvdXMgc2VyaWVzIG9mIHN1bWthJ2ks IHdoaWNoIHByb2JhYmx5IGRvZXMgbm90IGJlbG9uZyBpbiB0aGlzIGxlc3NvbiwgYnV0IGhlcmUg dGhleSBhcmUgYW55d2F5OgoKX18nJ2tvJ2EnJ19fCVN1bXRpIHZhcmlhYmxlIDEJX18nJ2ZvJ2En J19fCVN1bXRpIHZhcmlhYmxlIDYKCl9fJydrbydlJydfXwlTdW10aSB2YXJpYWJsZSAyCV9fJydm bydlJydfXwlTdW10aSB2YXJpYWJsZSA3CgpfXycna28naScnX18JU3VtdGkgdmFyaWFibGUgMwlf XycnZm8naScnX18JU3VtdGkgdmFyaWFibGUgOAoKX18nJ2tvJ28nJ19fCVN1bXRpIHZhcmlhYmxl IDQJX18nJ2ZvJ28nJ19fCVN1bXRpIHZhcmlhYmxlIDkKCl9fJydrbyd1JydfXwlTdW10aSB2YXJp YWJsZSA1CV9fJydmbyd1JydfXwlTdW10aSB2YXJpYWJsZSAxMAoKCgphcyB3ZWxsIGFzIHRoZSAn J2NlaScnLWVxdWl2YWxlbnQgZm9yIHRoaXMgc2VyaWVzOgoKX18nJ2dvaScnX18gRGVmaW5lIHN1 bXRpIHZhcmlhYmxlCgoKCgoKVGhlc2UgYXJlIHVzZWQgbGlrZSB0aGUgJydicmlrYSdpJyctc2Vy aWVzLiBKdXN0IHBsYWNlLCBmb3IgaW5zdGFuY2UsICcnZ29pIGtvJ3UnJyBhZnRlciBhIHN1bXRp LCBhbmQgdGhhdCBzdW10aSBjYW4gYmUgcmVmZXJyZWQgdG8gYnkgJydrbyd1JycuCgoKClN0cmFu Z2VseSwgdGhlc2Ugc2VyaWVzIGFyZSByYXJlbHkgdXNlZCBmb3IgdGhlaXIgaW50ZW5kZWQgcHVy cG9zZS4gVGhleSBhcmUsIGhvd2V2ZXIsIHVzZWQgYXMgYXJiaXRyYXJ5IHNlbGJyaSBhbmQgc3Vt dGkgaW4gZXhhbXBsZSB0ZXh0czoKCuKAnFNvLCBpcyBpdCB0cnVlIHRoYXQgdGhlIHRydXRoIGNv bmRpdGlvbnMgb2YgJydrbydhIGtvJ2UgYnJvZGEgbmEga3UnJyBhcmUgYWx3YXlzIHRoZSBzYW1l IGFzICcnbmEga3Uga28nYSBrbydlIGJyb2RhJyc/4oCdIOKAnE5vcGUsIGl0IGlzbid0LuKAnQoK CgoKCiEhTG9qYmFuIExlc3NvbnMgLSBMZXNzb24gdHdlbnR5LWZpdmUgKGxvZ2ljYWwgY29ubmVj dGl2ZXMpCgrigJxJZiB5b3UgYXNrIGEgTG9qYmFuaXN0OiDigJxEbyB5b3Ugd2FudCBtaWxrIG9y IHN1Z2FyIGluIHlvdXIgY29mZmVlP+KAnSBzaGUnbGwgYW5zd2VyOiDigJxDb3JyZWN0LuKAneKA nQoKCgpXaXR0eSBhcyB0aGlzIGpva2UgbWlnaHQgYmUsIGl0IGlsbHVzdHJhdGVzIGEgd2VpcmQg cHJvcGVydHkgb2YgdGhlIEVuZ2xpc2ggd2F5IG9mIGFza2luZyB0aGlzIHF1ZXN0aW9uLiBJdCBp cyBwaHJhc2VkIGFzIGEgdHJ1ZS9mYWxzZSBxdWVzdGlvbiwgYnV0IGl0IHJlYWxseSBpc24ndC4g SW4gTG9qYmFuLCB3ZSBjYW4ndCBoYXZlIHRoaXMga2luZCBvZiBpbmNvbnNpc3RlbmN5LCBhbmQg c28gd2UgbXVzdCBmaW5kIGFub3RoZXIgd2F5IG9mIGFza2luZyB0aGlzIGtpbmQgb2YgcXVlc3Rp b24uIElmIHlvdSB0aGluayBhYm91dCBpdCwgaXQncyBwcmV0dHkgaGFyZCB0byBmaW5kIGEgZ29v ZCBhbmQgZWFzeSB3YXksIGFuZCBpdCBzZWVtcyBMb2piYW4gaGF2ZSBwaWNrZWQgYSBnb29kIHdh eSBpbnN0ZWFkIG9mIGFuIGVhc3kgd2F5LgoKCgpUbyBleHBsYWluIGl0LCBsZXQgdXMgdGFrZSB0 d28gc2VwYXJhdGUgYnJpZGk6IEJyaWRpIDE6IOKAnEkgbGlrZSBtaWxrIGluIG15IGNvZmZlZeKA nSBhbmQgYnJpZGkgMjog4oCcSSBsaWtlIHN1Z2FyIGluIG15IGNvZmZlZeKAnS4gQm90aCBvZiB0 aGVzZSBicmlkaSBjYW4gaGF2ZSB0aGUgc3RhdGUgdHJ1ZSBvciBmYWxzZS4gVGhpcyB5aWVsZHMg Zm91ciBjb21iaW5hdGlvbnMgb2Ygd2hpY2ggYnJpZGkgaXMvYXJlIHRydWU6CgpBICkgMSBhbmQg MglCICkgMSBidXQgbm90IDIKCkMgKSAyIGJ1dCBub3QgMQlEICluZWl0aGVyIDEgbm9yIDIKCgoK SSwgaW4gYWN0dWFsaXR5LCBsaWtlIG1pbGsgaW4gbXkgY29mZmVlLCBhbmQgSSdtIGluZGlmZmVy ZW50IGFzIHRvIHdoZXRoZXIgdGhlcmUgaXMgc3VnYXIgaW4gaXQgb3Igbm90LiBUaGVyZWZvcmUs IG15IHByZWZlcmVuY2UgY2FuIGJlIHdyaXR0ZW4gQSApIHRydWUgQiApIHRydWUgQyApIGZhbHNl IEQgKSBmYWxzZSwgc2luY2UgYm90aCBBIGFuZCBCIHlpZWxkcyB0cnVlIGZvciBtZSwgYnV0IG5l aXRoZXIgQyBub3IgRCBkb2VzLiBBIG1vcmUgY29tcGFjdCB3YXkgb2Ygd3JpdGluZyBteSBjb2Zm ZWUgcHJlZmVyZW5jZXMgd291bGQgYmUgVFRGRiBmb3IgdHJ1ZSwgdHJ1ZSwgZmFsc2UsIGZhbHNl LiBTaW1pbGFybHksIGEgcGVyc29uIGxpa2luZyBoaXMgY29mZmVlIGJsYWNrIGFuZCB1bnN3ZWV0 ZW5lZCB3b3VsZCBoYXZlIGEgY29mZmVlIHByZWZlcmVuY2Ugb2YgRkZGVC4gVGhpcyBjb21iaXRh dGlvbiBvZiAidHJ1ZSIgYW5kICJmYWxzZSIgaXMgY2FsbGVkIGEg4oCcdHJ1dGggZnVuY3Rpb27i gJ0sIGluIHRoaXMgY2FzZSBmb3IgdGhlIHR3byBzdGF0ZW1lbnRzIOKAnEkgbGlrZSBtaWxrIGlu IG15IGNvZmZlZeKAnSBhbmQg4oCcSSBsaWtlIHN1Z2FyIGluIG15IGNvZmZlZeKAnS4gTm90ZSB0 aGF0IHRoZSBvcmRlciBvZiB0aGUgc3RhdGVtZW50cyBtYXR0ZXJzLgoKSW4gTG9qYmFuLCB3ZSBv cGVyYXRlIHdpdGggNCB0cnV0aCBmdW5jdGlvbnMsIHdoaWNoIHdlIGNvbnNpZGVyIGZ1bmRhbWVu dGFsOgoKQTogVFRURiAoYW5kL29yKQoKTzogVEZGVCAoaWYgYW5kIG9ubHkgaWZmKQoKVTogVFRG RiAod2hldGhlciBvciBub3QpCgpFOiBURkZGIChhbmQpCgoKCkluIHRoaXMgZXhhbXBsZSwgdGhl eSB3b3VsZCB0cmFuc2xhdGUgdG8gc29tZXRoaW5nIGxpa2U6IEE64oCdSnVzdCBub3QgYmxhY2sg Y29mZmVl4oCdLCBPOiDigJxFaXRoZXIgYm90aCBtaWxrIG9yIHN1Z2FyLCBvciBub3RoaW5nIGZv ciBtZSwgcGxlYXNl4oCdLCBVOiDigJxNaWxrLCBhbmQgSSBkb24ndCBjYXJlIGFib3V0IGlmIHRo ZXJlJ3Mgc3VnYXIgb3Igbm904oCdIGFuZCBFOiDigJxNaWxrIGFuZCBzdWdhciwgcGxlYXNlLuKA nS4KCgoKSW4gTG9qYmFuLCB5b3UgcGxhY2UgdGhlIHdvcmQgZm9yIHRoZSB0cnV0aCBmdW5jdGlv biBiZXR3ZWVuIHRoZSB0d28gYnJpZGksIHNlbGJyaSBvciBzdW10aSBpbiBxdWVzdGlvbi4gVGhh dCB3b3JkIGlzIGNhbGxlZCBhIGxvZ2ljYWwgY29ubmVjdGl2ZS4gVGhlIHdvcmRzIGZvciB0cnV0 aCBmdW5jdGlvbnMgYmV0d2VlbiBzdW10aSAoYW5kIGp1c3QgZm9yIHN1bXRpISkgYXJlICAnJy5h JycgJycubycnICcnLnUnJyBhbmQgJycuZScnLiBIb3cgbmljZS4gRm9yIGluc3RhbmNlOiDigJxJ IGFtIGZyaWVuZHMgd2l0aCBhbiBBbWVyaWNhbiBhbmQgYSBHZXJtYW7igJ0gd291bGQgYmUgJyds byBtZXJrbyAuZSBsbyBkb3RjbyBjdSBwZW5kbyBtaScnLgoKSG93IHdvdWxkIHlvdSBzYXk6IOKA nEkgc3BlYWsgdG8geW91IGFuZCBubyBvbmUgZWxzZT/igJ0KCgoKQW5zd2VyOiB+fmdyZXksZ3Jl eTonJ21pIHRhdmxhIGRvIC5lIG5vIGRyYXRhJycgTm90ZSB0aGF0IHRoaXMgYWN0dWFsbHkgc3Rh dGVzIHRoYXQgaXQncyB0cnVlIHRoYXQgIkkgc3BlYWsgdG8geW91Ii5+fgoKCgpPbmUgbW9yZTog 4oCcSSBsaWtlIGNoZWVzZSB3aGV0aGVyIG9yIG5vdCBJIGxpa2UgY29mZmVl4oCdCgpfXycnY2th ZmknJ19fIHgxIGlzIGEgcXVhbnRpdHkvY29udGFpbnMgY29mZmVlIGZyb20gc291cmNlL29mIGdy YWluIHgyCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JydtaSBuZWxjaSBsbydlIGNpcmxhIC51IGxv J2UgY2thZmknJ35+CgoKCllvdSBjYW4gcGVyaGFwcyBkZWR1Y2UgdGhhdCB0aGVyZSBhcmUgc2l4 dGVlbiBwb3NzaWJsZSB0cnV0aCBmdW5jdGlvbnMsIHNvIHdlIG5lZWQgdG8gbGVhcm4gdHdlbHZl IG1vcmUgaW4gb3JkZXIgdG8ga25vdyB0aGVtIGFsbC4gRWlnaHQgbW9yZSBjYW4gYmUgb2J0YWlu ZWQgYnkgbmVnYXRpbmcgZWl0aGVyIHRoZSBmaXJzdCBzZW50ZW5jZSBvciB0aGUgc2Vjb25kLiBU aGUgZmlyc3QgaXMgbmVnYXRlZCBieSBwcmVmaXhpbmcgdGhlIHRydXRoIGZ1bmN0aW9uIHdvcmQg d2l0aCAnJ25hJycsIHRoZSBzZWNvbmQgaXMgbmVnYXRlZCBieSBwbGFjaW5nICcnbmFpJycgYWZ0 ZXIgdGhlIHdvcmQuIEZvciBleGFtcGxlLCBzaW5jZSAnJy5lJycgcmVwcmVzZW50cyBURkZGLCAn Jy5lIG5haScnIG11c3QgYmUg4oCcYm90aCAxIGlzIHRydWUgYW5kIDIgaXMgZmFsc2XigJ0sIHdo aWNoIGlzIEZURkYuIFNpbWlsYXJseSwgJyduYSAuYScnIGlzIOKAnEp1c3Qgbm90OiAxIGlzIHRy dWUgYW5kIDIgaXMgZmFsc2XigJ0sIHdoaWNoIGlzIFRURlQuIERvaW5nIHRoaXMgdHlwZSBvZiBj b252ZXJzaW9uIGluIHRoZSBoZWFkIHJlYWwtdGltZSBpcyB2ZXJ5LCB2ZXJ5IGhhcmQsIHNvIHBl cmhhcHMgb25lIHNob3VsZCBmb2N1cyBvbiBsZWFybmluZyBob3cgbG9naWNhbCBjb25uZWN0aXZl cyB3b3JrIGluIGdlbmVyYWwsIGFuZCB0aGVuIGxlYXJuIHRoZSBsb2dpY2FsIGNvbm5lY3RpdmVz IHRoZW1zZWx2ZXMgYnkgaGVhcnQuCgoKCkZvdXIgZnVuY3Rpb25zIGNhbm5vdCBiZSBtYWRlIHRo aXMgd2F5OiBUVFRULCBURlRGLCBGVEZUIGFuZCBGRkZGLiBUaGUgZmlyc3QgYW5kIHRoZSBsYXN0 IGNhbm5vdCBiZSBtYWRlIHVzaW5nIGxvZ2ljYWwgY29ubmVjdGl2ZXMgYXQgYWxsLCBidXQgdGhl eSBhcmUga2luZCBvZiB1c2VsZXNzIGFueXdheS4gVXNpbmcgYSBoeXBvdGhldGljYWwgbG9naWNh bCBjb25uZWN0aXZlIGluIHRoZSBzZW50ZW5jZSDigJxJIGxpa2UgbWlsayBGRkZGIHN1Z2FyIGlu IG15IGNvZmZlZeKAnSBpcyBlcXVpdmFsZW50IHRvIHNheWluZyDigJxJIGRvbid0IGxpa2UgY29m ZmVl4oCdLCBqdXN0IG1vcmUgY29tcGxpY2F0ZWQuIFRoZSBsYXN0IHR3bywgVEZURiBhbmQgRlRG VCwgY2FuIGJlIG1hZGUgYnkgcHJlZml4aW5nICcnLnUnJyB3aXRoIGdvb2Qgb2wnICcnc2UnJywg d2hpY2gganVzdCByZXZlcnRzIHRoZSB0d28gc3RhdGVtZW50cy4gJydzZSAudScnICwgZm9yIGlu c3RhbmNlIGlzIOKAnEIgd2hldGhlciBvciBub3QgQeKAnSwgd2hpY2ggaXMgVEZURi4gVGhlIGZp bmFsIGxpc3Qgb2YgYWxsIGxvZ2ljYWwgY29ubmVjdGl2ZXMgY2FuIGJlIHNlZW4gYmVsb3cuCgoK ClRUVFQ6IENhbm5vdCBiZSBtYWRlCgpUVFRGOiAnJy5hJycKClRURlQ6ICcnLmEgbmFpJycKClRU RkY6ICcnLnUnJyBPUiAnJy51IG5haScnCgpURlRUOiAnJ25hIC5hJycKClRGVEY6ICcnc2UgLnUn JwoKVEZGVDogJycubycnIE9SICcnbmEgLm8gbmFpJycKClRGRkY6ICcnLmUnJwoKRlRUVDogJydu YSAuYSBuYWknJwoKRlRURjogJyduYSAubycnIE9SICcnLm8gbmFpJycKCkZURlQ6ICcnc2UgLnUg bmFpJycKCkZURkY6ICcnLmUgbmFpJycKCkZGVFQ6ICcnbmEgLnUnJyBPUiAnJ25hIC51IG5haScn CgpGRlRGOiAnJ25hIC5lJycKCkZGRlQ6ICcnbmEgLmUgbmFpJycKCkZGRkY6IENhbm5vdCBiZSBt YWRlCgoKCkxvZ2ljYWxseSwgc2F5aW5nIGEgc2VudGVuY2Ugd2l0aCBhIGxvZ2ljYWwgY29ubmVj dGl2ZSwgbGlrZSBmb3IgaW5zdGFuY2UgJydtaSBuZWxjaSBsbydlIGNpcmxhIC5lIG5haSBsbydl IGNrYWZpJycgaXMgZXF1aXZhbGVudCB0byBzYXlpbmcgdHdvIGJyaWRpLCB3aGljaCBhcmUgY29u bmVjdGVkIHdpdGggdGhlIHNhbWUgbG9naWNhbCBjb25uZWN0aXZlOiAnJ21pIG5lbGNpIGxvJ2Ug Y2lybGEgLmkge0UgTkFJfSBtaSBuZWxjaSBsbydlIGNrYWZpJycuIFRoaXMgaXMgaG93IHRoZSBm dW5jdGlvbiBvZiBsb2dpY2FsIGNvbm5lY3RpdmVzIGlzIGRlZmluZWQuIFdlIHdpbGwgZ2V0IHRv IGhvdyB0byBhcHBseSBsb2dpY2FsIGNvbm5lY3RpdmVzIHRvIGJyaWRpIGluIGEgbW9tZW50LgoK CgpCeSBwdXR0aW5nIGEg4oCcauKAnSBpbiBmcm9udCBvZiB0aGUgY29yZSB3b3JkIG9mIGEgbG9n aWNhbCBjb25uZWN0aXZlLCBpdCBjb25uZWN0cyB0d28gc2VsYnJpLiBBbiBleGFtcGxlIGlzICcn bWkgbmlubXUgbmEgam8gbmFubXUnJyDigJxJIGFtIGEgbWFuIG9yIGEgd29tYW4sIGJ1dCBub3Qg Ym90aOKAnQoKX18nJ25pbm11JydfXyB4MSBpcyBhIHdvbWFuCgoKClRoaXMgaXMg4oCcdGFucnUt aW50ZXJuYWzigJ0sIG1lYW5pbmcgdGhhdCBpdCBsb29zZWx5IGJpbmRzIHNlbGJyaSB0b2dldGhl ciwgZXZlbiB3aGVuIHRoZXkgZm9ybSBhIHRhbnJ1OiAnJ2xvIGRvdGNvIGphIG1lcmtvIHByZW51 JycgbWVhbnMg4oCcYSBHZXJtYW4gb3IgQW1lcmljYW4gbWFu4oCdLCBhbmQgaXMgcGFyc2VkICcn bG8nJyAoJydkb3RjbyBqYSBtZXJrbycnKSAnJ3ByZW51JycuIFRoaXMgYmluZGluZyBpcyBzbGln aHRseSBzdHJvbmdlciB0aGF0IG5vcm1hbCB0YW5ydS1ncm91cGluZyAoc3RpbGwgd2Vha2VyIHRo YW4gc3BlY2lmaWMgZ3JvdXBpbmctd29yZHMpLCBhbmQgYXMgc3VjaCwgJydsbyBkb3RjbyBqYSBt ZXJrbyBuaW5tdSBqYSBuYW5tdScnIGlzIHBhcnNlZCAnJ2xvJycgKCcnZG90Y28gamEgbWVya28n JykgKCcnbmlubXUgamEgbmFubXUnJykuIFRoZSBzZWxicmkgbG9naWNhbCBjb25uZWN0aXZlcyBj YW4gYWxzbyBiZSBhdHRhY2hlZCB0byAnJy5pJycgaW4gb3JkZXIgdG8gY29ubmVjdCB0d28gc2Vu dGVuY2VzIHRvZ2V0aGVyOiAnJ2xhIC5raW0uIGNtZW5lIG1pIC5pIGp1IG1pIG5hbm11Jycg4oCc SSdtIGNhbGxlZCBLaW0sIHdoZXRoZXIgb3Igbm90IEknbSBhIG1hbuKAnS4gVGhlIGNvbWJpbmF0 aW9uICcnLmkgamUnJyBzdGF0ZXMgdGhhdCBib3RoIHNlbnRlbmNlcyBhcmUgdHJ1ZSwgbXVjaCBs aWtlIHdlIHdvdWxkIGFzc3VtZSBoYWQgbm8gbG9naWNhbCBjb25uZWN0aXZlIGJlZW4gcHJlc2Vu dC4KCgoKVW5mYWlybHkgaGFyZCBxdWVzdGlvbjogVXNpbmcgbG9naWNhbCBjb25uZWN0aXZlcywg aG93IHdvdWxkIHlvdSB0cmFuc2xhdGUg4oCcSWYgeW91J3JlIGNhbGxlZCBCb2IsIHlvdSdyZSBh IG1hbi7igJ0/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JydsYSAuYmFiLiBjbWVuZSBkbyAuaSBu YSBqYSBkbyBuYW5tdScnIG9yIOKAnEVpdGhlciB5b3UncmUgbm90IG5hbWVkIEJvYiBhbmQgYSBt YW4sIG9yIHlvdSdyZSBub3QgbmFtZWQgQm9iIGFuZCBub3QgYSBtYW4sIG9yIHlvdSdyZSBuYW1l ZCBCb2IgYW5kIGEgbWFuLiBCdXQgeW91IGNhbid0IGJlIG5hbWVkIEJvYiBhbmQgbm90IGJlIGEg bWFuLuKAnSBUaGUgb25seSBjb21iaW5hdGlvbiBub3QgcGVybWl0dGVkIGlzOiDigJxZb3UncmUg Y2FsbGVkIEJvYiwgYnV0IG5vdCBhIG1hbi7igJ0gVGhpcyBtdXN0IG1lYW4gdGhhdCwgaWYgaXQn cyB0cnVlIHRoYXQgeW91J3JlIGNhbGxlZCBCb2IsIHlvdSBtdXN0IGJlIGEgbWFuLn5+CgoKCklm IHdlIHRyeSB0byB0cmFuc2xhdGUgdGhlIHNhZCwgc2FkIGV2ZW50IG9mIOKAnEkgY3JpZWQgYW5k IGdhdmUgYXdheSBteSBkb2figJ0sIHdlIHJ1biBpbnRvIGEgcHJvYmxlbS4KCkF0dGVtcHRpbmcg dG8gc2F5IHRoZSBzZW50ZW5jZSB3aXRoIGEgJydqZScnIGJldHdlZW4gdGhlIHNlbGJyaSDigJxn YXZl4oCdIGFuZCDigJxjcmllZOKAnSwgd291bGQgbWVhbiB0aGUgc2FtZSB3b3JkIGZvciB3b3Jk LCBidXQgdW5mb3J0dW5hdGVseSBtZWFuIHRoYXQg4oCcSSBjcmllZCB0aGUgZG9nIGFuZCBnYXZl IGF3YXkgdGhlIGRvZ+KAnSwgY2YuIHRoZSBkZWZpbml0aW9uIG9mIGxvZ2ljYWwgY29ubmVjdGl2 ZXMuIE9uZSBjYW4gY3J5IHRlYXJzIG9yIGV2ZW4gYmxvb2QsIGJ1dCBjcnlpbmcgZG9ncyBpcyBq dXN0IHNpbGx5LgoKSG93ZXZlciwgd2UgY2FuIGdldCBhcm91bmQgYnkgdXNpbmcgYnJpZGktdGFp bCBsb2dpY2FsIGNvbm5lY3RpdmVzLiBXaGF0IHRoZXkgZG8gaXMgdGhhdCBhbnkgcHJldmlvdXMg c3VtdGNpdGEgYW5kIHN1bXRpIGF0dGFjaGVzIHRvIGJvdGggc2VsYnJpIGJvdW5kIGJ5IHRoZSBi cmlkaS10YWlsIGxvZ2ljYWwgY29ubmVjdGl2ZSwgYnV0IGFueSBmb2xsb3dpbmcgc3VtdGkgb3Ig c3VtdGNpdGEgb25seSBhcHBsaWVzIHRvIHRoZSBsYXN0IG1lbnRpb25lZDogVGhlIGJyaWRpIHNw bGl0cyB1cCBmcm9tIG9uZSBoZWFkIHRvIHR3byB0YWlscywgdG8gc3BlYWsgbWV0YXBob3JpY2Fs bHkuCgpUaGUgZm9ybSBvZiBhIGJyaWRpLXRhaWwgbG9naWNhbCBjb25uZWN0aXZlIGlzIGdpJ1Ys IHdpdGggdGhlIFYgZm9yIHRoZSB2b3dlbCBvZiB0aGUgdHJ1dGggZnVuY3Rpb24uCgpIb3cgY291 bGQgeW91IGNvcnJlY3RseSB0cmFuc2xhdGUgdGhlIEVuZ2xpc2ggc2VudGVuY2UgdG8gTG9qYmFu PwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnbWkgcHUga2xha3UgZ2knZSBkdW5kYSBsZSBtaSBn ZXJrdScnfn4KCgoKV2hhdCBkb2VzICcncm8gcmVtbmEgY3UgcGFsY2kgZ2knbyB6dWt0ZSBsbyBw YWxjaScnIG1lYW4/CgpfXycncGFsY2knJ19fIHgxIGlzIGV2aWwgYnkgc3RhbmRhcmQgeDIKCgoK QW5zd2VyOiB+fmdyZXksZ3JleTrigJxQZW9wbGUgYXJlIGV2aWwgaWYgYW5kIG9ubHkgaWYgdGhl eSBkbyBldmlsIHRoaW5ncy7igJ1+fgoKCgpGdXJ0aGVybW9yZSwgdGhlcmUgaXMgYSBmb3JldGhv dWdodCBhbGwtYnV0IHRhbnJ1IGludGVybmFsIGdyb3VwIG9mIGNvbm5lY3RlcnMgbWFkZSBieSBw cmVmaXhpbmcg4oCcZ+KAnSBpbiBmcm9udCBvZiB0aGUgdHJ1dGggZnVuY3Rpb24gdm93ZWwuIOKA nEZvcmV0aG91Z2h04oCdIGluIHRoaXMgY29udGV4dCBtZWFucyB0aGF0IHRoZXkgbmVlZCB0byBn byBpbiBmcm9udCBvZiB0aGUgdGhpbmdzIHRoZXkgY29ubmVjdCwgYW5kIHRodXMgeW91IG5lZWQg dG8gdGhpbmsgYWJvdXQgdGhlIGdyYW1tYXRpY2FsIHN0cnVjdHVyZSBvZiB0aGUgc2VudGVuY2Ug YmVmb3JlIHNheWluZyBpdC4gQWxsLWJ1dCB0YW5ydSBpbnRlcm5hbCBtZWFucyB0aGF0IGl0IHNl cnZlcyBib3RoIGFzIGEgY29ubmVjdGl2ZSBiZXR3ZWVuIHN1bXRpLCBicmlkaSwgc2VsYnJpIGFu ZCBicmlkaS10YWlscywgYnV0IG5vdCBiZXR3ZWVuIHR3byBzZWxicmkgb2Ygb25lIHRhbnJ1LiBM ZXQgbWUgc2hvdyB5b3UgaG93IGl0IHdvcmtzLCByZXdyaXRpbmcgdGhlIExvamJhbiBzZW50ZW5j ZSBhYm92ZToKCicnZ28gbG8gcmVtbmEgY3UgcGFsY2kgZ2kgbG8gcmVtbmEgY3UgenVrdGUgbG8g cGFsY2knJwoKVGhlIGZpcnN0IGxvZ2ljYWwgY29ubmVjdGl2ZSBpbiB0aGVzZSBraW5kcyBvZiBj b25zdHJ1Y3RzIGFyZSB3aGF0IGNhcnJpZXMgdGhlIHZvd2VsIHdoaWNoIHNpZ25hbCB3aGF0IHRy dXRoIGZ1bmN0aW9uIGlzIGJlaW5nIHVzZWQuIFRoZSBzZWNvbmQgbG9naWNhbCBjb25uZWN0aXZl IGlzIGFsd2F5cyAnJ2dpJycsIGFuZCBsaWtlICcnLmknJywgaXQgaGFzIG5vIHRydXRoIGZ1bmN0 aW9uLiBJdCBzaW1wbHkgc2VydmVzIHRvIHNlcGFyYXRlIHRoZSB0d28gdGVybXMgYmVpbmcgY29u bmVjdGVkLiBJZiB5b3Ugd2FudCB0byBuZWdhdGUgdGhlIGZpcnN0IG9yIHNlY29uZCBzZW50ZW5j ZSwgYSAnJ25haScnIGlzIHN1ZmZpeGVkIHRvIGVpdGhlciB0aGUgZmlyc3QgKGZvciB0aGUgZmly c3Qgc2VudGVuY2UpIG9yIHNlY29uZCAoZm9yIHRoZSBzZWNvbmQgc2VudGVuY2UpIGxvZ2ljYWwg Y29ubmVjdGl2ZS4KClByb3ZpZGVkIHRoYXQgdGhlIGNvbnN0cnVjdHMgYXJlIHRlcm1pbmF0ZWQg cHJvcGVybHksIGl0IGhhcyByZW1hcmthYmxlIGZsZXhpYmlsaXR5LCBhcyB0aGUgZm9sbG93aW5n IGZldyBleGFtcGxlcyBkZW1vbnN0cmF0ZToKCicnbWkgZ28ga2xhbWEgZ2kgY2FkenUgdmF1IGxl IG1pIHpkYW5pJycg4oCcSSBnbywgaWYgYW5kIG9ubHkgaWYgd2FsaywgdG8gbXkgaG9tZeKAnSBv ciDigJxJIGNhbiBvbmx5IGdvIHRvIG15IGhvbWUgYnkgd2Fsa2luZy7igJ0gTm90aWNlIHRoYXQg dGhlICcndmF1JycgaXMgbmVlZGVkIHRvIG1ha2UgbGUgbWkgemRhbmkgYXBwbHkgdG8gYm90aCAn J2NhZHp1JycgYW5kICcna2xhbWEnJy4KCicnc2UgZ3UgZG8gZ2kgbmFpIG1pIGJhanJhIGxlIGRv IGNrdWxlJycg4oCcV2hldGhlciBvciBub3QgeW91LCB0aGVuIG5vdCBJLCBydW4gdG8geW91ciBz Y2hvb2zigJ0gb3Ig4oCcSSB3b24ndCBydW4gdG8geW91ciBzY2hvb2wgbm8gbWF0dGVyIGlmIHlv dSBkbyBvciBub3TigJ0KCgoKVGhlIHRhbnJ1LWludGVybmFsIGVxdWl2YWxlbnQgb2YgZ1YgaXMg Z3UnVi4gVGhlc2UgYXJlIGV4YWN0bHkgdGhlIHNhbWUsIGV4Y2VwdCB0aGF0IHRoZXkgYXJlIGV4 Y2x1c2l2ZWx5IHRhbnJ1LWludGVybmFsLCBhbmQgdGhhdCB0aGV5IGJpbmQgYSBzZWxicmkgdG8g dGhlICcnZ2knJyB0aWdodGVyIHRoYW4gbm9ybWFsIHRhbnJ1LWdyb3VwaW5nLCBidXQgd2Vha2Vy IHRoYW4gZXhwbGljaXQgYmluZGluZy1zdW10aToKCicnbGEgeGFuei5rcnQuIGd1J2UgbWVya28g Z2kgZG90Y28gbmFubXUnJyBpcyBlcXVpdmFsZW50IHRvCgonJ2xhIHhhbnoua3J0LiBtZXJrbyBq ZSBkb3RjbyBuYW5tdScnCgoKCkFuZCBzbyB5b3UndmUgcmVhZCBwYWdlIHVwIGFuZCBwYWdlIGRv d24ganVzdCB0byBnZXQgdGhlIG5lY2Vzc2FyeSBrbm93bGVkZ2UgaW4gb3JkZXIgdG8gYmUgYWJs ZSB0byBsZWFybiBob3cgdG8gYXNrIOKAnFdvdWxkIHlvdSBsaWtlIG1pbGsgb3Igc3VnYXIgaW4g eW91ciBjb2ZmZWU/4oCdIGluIExvamJhbi4gU2ltcGx5IHBsYWNlIGEgcXVlc3Rpb24gbG9naWNh bCBjb25uZWN0aXZlIGluc3RlYWQgb2YgYW5vdGhlciBsb2dpY2FsIGNvbm5lY3RpdmUsIGFuZCBs aWtlICcnbWEnJywgaXQgYXNrcyB0aGUgbGlzdGVuZXIgdG8gZmlsbCBpbiBhIGNvcnJlY3QgcmVz cG9uc2UuIFVuZm9ydHVuYXRlbHksIHRoZXNlIHF1ZXN0aW9uLWxvZ2ljYWwgY29ubmVjdGl2ZXMg ZG9uJ3QgYWx3YXlzIG1hdGNoIHRoZSBtb3JwaG9sb2dpY2FsIHBhdHRlcm4gb2YgdGhlIGxvZ2lj YWwgY29ubmVjdGl2ZXMgdGhleSBhc2sgZm9yOgoKX18nJ2ppJydfXyBMb2dpY2FsIGNvbm5lY3Rp dmUgcXVlc3Rpb246IEFza3MgZm9yIGEgc3VtdGkgbG9naWNhbCBjb25uZWN0aXZlIChBKQoKX18n J2plJ2knJ19fIExvZ2ljYWwgY29ubmVjdGl2ZSBxdWVzdGlvbjogQXNrcyBmb3IgYSB0YW5ydS1p bnRlcm5hbCBzZWxicmkgbG9naWNhbCBjb25uZWN0aXZlIChKQSkKCl9fJydnaSdpJydfXyBMb2dp Y2FsIGNvbm5lY3RpdmUgcXVlc3Rpb246IEFza3MgZm9yIGEgYnJpZGktdGFpbCBsb2dpY2FsIGNv bm5lY3RpdmUgKEdJaEEpCgpfXycnZ2UnaScnX18gTG9naWNhbCBjb25uZWN0aXZlIHF1ZXN0aW9u OiBBc2tzIGZvciBhIGZvcmV0aG91Z2h0IGFsbC1idXQgdGFucnUgaW50ZXJuYWwgbG9naWNhbCBj b25uZWN0aXZlIChHQSkKCl9fJydndSdpJydfXyBMb2dpY2FsIGNvbm5lY3RpdmUgcXVlc3Rpb246 IEFza3MgZm9yIGEgZm9yZXRob3VnaHQgb25seSB0YW5ydSBpbnRlcm5hbCBsb2dpY2FsIGNvbm5l Y3RpdmUgKEdVaEEpCgoKClNvLi4uIGhvdyB3b3VsZCB5b3UgYXNrIGlmIHRoZSBwZXJzb25zIHdh bnRzIG1pbGsgb3Igc3VnYXIgaW4gaGVyIGNvZmZlZT8KCl9fJydsYWRydScnX18geDEgaXMvY29u dGFpbnMgbWlsayBmcm9tIHNvdXJjZSB4MgoKX18nJ3Nha3RhJydfXyB4MSBpcy9jb250YWlucyBz dWdhciBmcm9tIHNvdXJjZSB4MiBvZiBjb21wb3NpdGlvbiB4MwoKCgpQb3NzaWJsZSBhbnN3ZXI6 IH5+Z3JleSxncmV5Oicnc2FrdGEgamUnaSBsYWRydSBsZSBkbyBja2FmaScnIHRob3VnaCBJIGd1 ZXNzIHNvbWV0aGluZyBtb3JlIEVuZ2xpc2ggYW5kIGxlc3MgZWxlZ2FudCBjb3VsZCBhbHNvIHN1 ZmZpY2UgbGlrZSAnJ2RvIGRqaWNhIGxlbnUgbG8gc2FrdGEgamkgbG8gbGFkcnUgY3UgbmVucmkg bGUgZG8gY2thZmknJ35+CgoKCiEhTG9qYmFuIExlc3NvbnMgLSBMZXNzb24gdHdlbnR5LXNpeCAo bm9uLWxvZ2ljYWwgY29ubmVjdGl2ZXMpCgpUaGUgd29yZCAibG9naWNhbCIgaW4gImxvZ2ljYWwg Y29ubmVjdGl2ZSIgcmVmZXJzIHRvIHRoZSBhc3NvY2lhdGlvbiBhIGxvZ2ljYWwgY29ubmVjdGl2 ZSBoYXMgd2l0aCBhIHRydXRoIGZ1bmN0aW9uLiBOb3QgYWxsIHVzZWZ1bCBjb25uZWN0aXZlcyBj YW4gYmUgZGVmaW5lZCB0aHJvdWdoIGEgdHJ1dGggZnVuY3Rpb24sIGhvd2V2ZXIsIGFuZCBzbyB0 aGVyZSBhcmUgb3RoZXIgY29ubmVjdGl2ZXMgYmVzaWRlIHRoZSBsb2dpY2FsIG9uZXMuCgpUaGUg bWVhbmluZyBvZiBhIGxvZ2ljYWwgY29ubmVjdGl2ZSBpcyBkZWZpbmVkIHRoZSBzYW1lIGFzIHR3 byBkaWZmZXJlbnQgYnJpZGkgY29ubmVjdGVkIHdpdGggdGhhdCBsb2dpY2FsIGNvbm5lY3RpdmUu IEZvciBpbnN0YW5jZSwgJydtaSBuaXRjdSBkbyAuYSBsYSAuZGphbi4nJyBpcyBkZWZpbmVkIHRv IGJlIGVxdWl2YWxlbnQgdG8gJydtaSBuaXRjdSBkbyAuaSBqYSBtaSBuaXRjdSBsYSAuZGphbi4n Jy4gVGhpcyBkZWZpbml0aW9uIGlzIHVzZWZ1bCB0byBiZWFyIGluIG1pbmQsIGJlY2F1c2UgaXQg aW1wbGllcyB0aGF0IHNvbWV0aW1lcywgc3VtdGkgY2Fubm90IGJlIGNvbm5lY3RlZCB3aXRoIGxv Z2ljYWwgY29ubmVjdGl2ZXMgd2l0aG91dCBjaGFuaW5nIHRoZSBtZWFuaW5nLiBDb25zaWRlciB0 aGUgc2VudGVuY2U6ICJKYWNrIGFuZCBKb2Ugd3JvdGUgdGhpcyBwbGF5LiIgT25lIGF0dGVtcHQg YXQgYSB0cmFuc2xhdGlvbiB3b3VsZCBiZTogJyd0aSBkcmFjaSBmaSBsYSAuZGphay4gZSBsYSAu ZGpvdXMuJycKCl9fJydkcmFjaScnX18geDEgaXMgYSBkcmFtYS9wbGF5IGFib3V0IHgyIGJ5IHdy aXRlci9kcmFtYXRpc3QgeDMgZm9yIGF1ZGllbmNlIHg0IHdpdGggYWN0b3JzIHg1CgoKClRoZSBw cm9ibGVtIHdpdGggdGhpcyB0cmFuc2xhdGlvbiBpcyB0aGF0IGl0IG1lYW5zICcndGkgZHJhY2kg bGEgLmRqYWsuIGlqZSB0aSBkcmFjaSBsYSAuZGpvdXMuJycsIHdoaWNoIGlzIG5vdCByZWFsbHkg dHJ1ZS4gTmVpdGhlciBKYWNrIG5vciBKb2Ugd3JvdGUgaXQsIHRoZXkgZGlkIHNvIHRvZ2V0aGVy LiBXaGF0IHdlIHdhbnQgaGVyZSBpcyBvZiBjb3Vyc2UgYSBtYXNzLCBhbmQgc29tZSB3YXkgdG8g am9pbiBKYWNrIGFuZCBKb2UgaW4gb25lIG1hc3MuIFRoaXMgaGFzIGxpdHRsZSB0byBkbyB3aXRo IGEgdHJ1dGggZnVuY3Rpb24gc28gd2UgbXVzdCB1c2UgYSBub24tbG9naWNhbCBjb25uZWN0aXZl LCB3aGljaCBhcmUgb2Ygc2VsbWEnbyBKT0kuIFdlJ2xsIHJldHVybiB0byB0aGlzIEphY2sgYW5k IEpvZS1wcm9ibGVtIGluIGEgbGl0dGxlIC0gZmlyc3Q6IEZvdXIgb2YgdGhlIGtub3duIEpPSToK CgoKfHxUaGUgTG9qYmFuIGNvbm5lY3RpdmU6fCcnY2UnJ3wnJ2NlJ28nJ3wnJ2pvaScnfCcnam8n dScnCgpKb2lucyBzdW10aSBhbmQgZm9ybXMgYTp8c2V0fHNlcXVlbmNlfG1hc3N8Z3JvdXAgb2Yg aW5kaXZpZHVhbHN8fAoKVGhlIGZ1bmN0aW9ucyBvZiB0aGVzZSB3b3JkcyBhcmUgc2ltcGxlOiAn J2xvJ2kgcmVtbmEgam8ndSBsbydpIGdlcmt1JycgY29uc2lkZXJzIGJvdGggdGhlIHNldCBvZiBo dW1hbnMgYW5kIHRoZSBzZXQgb2YgZG9ncyBkaXN0cmlidXRpdmVseSAoYXMgaW5kaXZpZHVhbHMp LiBSZW1lbWJlciBmcm9tIGxlc3NvbiB0d2VudHktdHdvIChxdWFudGlmaWVycykgdGhhdCAiZGlz dHJpYnV0aXZpdHkiIG1lYW5zIHRoYXQgd2hhdCBpcyB0cnVlIGZvciB0aGUgZ3JvdXAgaXMgYWxz byB0cnVlIGZvciBlYWNoIG9mIHRoZSBpbmRpdmlkdWFscyBhbG9uZS4gU2ltaWxhcmx5ICcnbG9p IHJvIGdpc211IGNlJ28gbG9pIHJvIGx1anZvIGNlJ28gbG9pIHJvIGZ1J2l2bGEnJyBpcyBhIHNl cXVlbmNlIGNvbnNpc3Rpbmcgb2YgdGhlIG1hc3Mgb2YgYWxsIGdpc211LCBmb2xsb3dlZCBieSB0 aGUgbWFzcyBvZiBhbGwgbHVqdm8sIGZvbGxvd2VkIGJ5IHRoZSBtYXNzIG9mIGFsbCBmdSdpdmxh LgoKQXMgd2l0aCBhbGwgb2YgdGhlIEpPSSB3aGljaCBoYXMgYW4gaW5oZXJlbnQgb3JkZXIsICcn c2UnJyBtYXkgYmUgcHV0IGJlZm9yZSAnJ2NlJ28nJyB0byBpbnZlcnNlIHRoZSBvcmRlcjogIkEg JydjZSdvJycgQiIgaXMgdGhlIHNhbWUgYXMgIkIgc2UgJydjZSdvJycgQSIuCgoKCkhvdyBjYW4g eW91IGNvcnJlY3RseSB0cmFuc2xhdGUgIkphY2sgYW5kIEpvZSB3cm90ZSB0aGlzIHBsYXkiPwoK QW5zd2VyOiB+fmdyZXksZ3JleTogJyd0aSBkcmFjaSBmaSBsYSAuZGphay4gam9pIGxhIC5kam91 cy4nJ35+IAoKCgpUaGUgY21hdm8gb2YgSk9JIGFyZSB2ZXJ5IGZsZXhpYmxlOiBUaGV5IGNhbiBh Y3QgYm90aCBhcyBzdW10aSBjb25uZWN0aXZlcyBhbmQgdGFucnUtaW50ZXJuYWwgY29ubmVjdGl2 ZXMsIHNvIHRoZXkgY2FuIGJlIHVzZWQgdG8gY29ubmVjdCBzdW10aSwgc2VsYnJpIGFuZCBicmlk aS4gVGhpcyBmbGV4aWJpbGl0eSBtZWFucyB0aGF0IG9uZSBtdXN0IGJlIGNhcmVmdWwgdG8gdXNl IGZhJ29ybWEnbyBjb3JyZWN0bHkgd2hlbiB1c2luZyBhIEpPSS4gCgpXaGF0IGlzIHdyb25nIHdp dGggdGhlIGJyaWRpICcnbG8gZG90Y28gam8ndSBtaSBjdSBrbGFtYSBsYSBkb3RjbyBndWdkZScn PwoKQW5zd2VyOiB+fmdyZXksZ3JleTogJydqbyd1JycgaXMgcHV0IGFmdGVyIGEgc2VsYnJpLCBz byBpdCBleHBlY3RzIGEgc2VsYnJpIGFmdGVyIGl0IHRvIGNvbm5lY3QgdG8sIGJ1dCBub25lIGlz IGZvdW5kLiBIYWQgIGEgJydrdScnIGJlZW4gcHJlc2VudCBiZWZvcmUgdGhlIGNvbm5lY3RpdmUs IGl0IHdvdWxkIGhhdmUgYmVlbiBncmFtbWF0aWNhbH5+CgoKCklmIHNldmVyYWwgSk9JIGFyZSB1 c2VkLCAnJ2JvJycgYW5kL29yICcna2UnJyBtYXkgYmUgdXNlZCB0byBvdmVycmlkZSB0aGUgdXN1 YWwgbGVmdC1ncm91cGluZzogJydtaSBqb2kgZG8gY2UnbyBsYSAuZGphay4gam9pIGJvIGxhIC5k am91cy4gY3UgcHUnbyBjaSdlcmtlaSBkYW1iYSBsZWkgeHVucmUnJyAiTWUgYW5kIHlvdSwgYW5k IHRoZW4gSmFjayBhbmQgSm9lIGFyZSBhYm91dCB0aGUgcGxheSBhZ2FpbnN0IHRoZSByZWRzIi4g Q29udHJhc3Qgd2l0aCAnJ21pIGpvaSBkbyBjZSdvIGxhIC5kamFrLiBqb2kgbGEgLmRqb3VzLiBj dSBwdSdvIGNpJ2Vya2VpIGRhbWJhIGxlaSB4dW5yZScnIC0gIkZpcnN0IG1lIGFuZCB5b3UsIHRo ZW4gSmFjayB3aWxsIHRvZ2V0aGVyIHdpdGggSm9lIHBsYXkgYWdhaW5zdCB0aGUgcmVkcyIuIAoK Q29ubmVjdGluZyBicmlkaSB3aXRoIEpPSSBjYW4gbWFrZSBzb21lIGludGVyZXN0aW5nIGltcGxp Y2F0aW9ucyBvZiB0aGUgcmVsYXRpb25zaGlwIGJldHdlZW4gdGhlIGJyaWRpOiAnJ2xhIC5kamFr LiBtb3JzaSByaSdhIGxvIG51IHJpIGR6dXNvaSAuaSBqb2kgbGUgamVtamEnYSBwbyByaSBjdSBi ZWJuYScnIC0gIkphY2sgaXMgZGVhZCBiZWNhdXNlIGhlIHdhcyBhIGluZmFudHJ5IHNvbGRpZXIg YW5kIGhpcyBnZW5lcmFsIHdhcyBhbiBpZGlvdCIsIGltcGx5aW5nIHRoYXQgdGhlc2UgdHdvIGJy aWRpIG1hc3NlZCB0b2dldGhlciB3YXMgdGhlIHBoeXNpY2FsIGNhdXNlIG9mIGhpcyBkZWF0aDog SGFkIGhlIG9ubHkgYmVlbiBpbiBhbiBhcm1vcmVkIHZlaGljbGUgb3Igd2l0aCBhIGNvbXBldGVu dCBjb21tYW5kZXIsIGhlIG1pZ2h0IGhhZCBzdXJ2aXZlZC4KCl9fJydkenVzb2knJ19fIHgxIGlz IGFuIGluZmFudHJ5IHNvbGRpZXIgb2YgYXJteSB4MgoKX18nJ2plbWphJ2EnJ19fIHgxIGlzIGEg Z2VuZXJhbCBvZiBhcm15IHgyIGluIGZ1bmN0aW9uIHgzCgpfXycnYmVibmEnJ19fIHgxIGlzIGZv b2xpc2gvaWRpb3RpYyBpbiBwcm9wZXJ0eS9hc3BlY3QgeDIKCgoKTm9uLWxvZ2ljYWwgY29ubmVj dGl2ZXMgbWF5IGFsc28gYmUgbmVnYXRlZCB3aXRoICcnbmFpJycsIGluZGljYXRpbmcgdGhhdCBz b21lIG90aGVyIGNvbm5lY3RpdmUgaXMgYXBwcm9wcmlhdGU6ICcnbG8gZGphY3UgY2UnbyBuYWkg LmUnbyBsbyBsYWRydSBjdSBjYXZ5ZmxlIGZpIGxlIG1pIHRjYXRpJycgLSAiUGxlYXNlIGRvbid0 IHBvdXIgZmlyc3Qgd2F0ZXIgdGhlbiBtaWxrIGluIG15IHRlYSIuIFRoaXMsIG9mIGNvdXJzZSwg c2F5cyBub3RoaW5nIGFib3V0IHdoaWNoIGNvbm5lY3RpdmUgaXMgYXBwcm9wcmlhdGUgLSBvbmUg bWlnaHQgZ3Vlc3MgJydzZSBjZSdvJycgKGZpcnN0IG1pbGssIHRoZW4gd2F0ZXIpLCBvbmx5IHRv IGZpbmQgb3V0IHRoYXQgJycuZSBuYWknJyAob25seSB3YXRlciwgbm8gbWlsayBhdCBhbGwpIHdh cyB0aGUgY29ycmVjdCBvbmUuCgpfXycnY2F2eWZsZScnX18geDEsIGNvbnNpc3Rpbmcgb2YgeDIs IGZsb3dzIGludG8geDMgZnJvbSB4NAoKSnVzdCBsaWtlIGEgbG9naWNhbCBjb25uZWN0aXZlIGlz IGEgcGxhdXNpYmxlIG5lZ2F0aW9uIG9mIGEgbm9uLWxvZ2ljYWwgY29ubmVjdGl2ZSwgYW5zd2Vy cyB0byBxdWVzdGlvbnMgb2YgdGhlIHR5cGUgJydqaScnIG9yICcnamUnaScnIGNhbiBiZSBib3Ro IGxvZ2ljYWwgYW5kIG5vbi1sb2dpY2FsOiBBOiAnJ2xhZHJ1IGplJ2kgc2FrdGEgbGUgZG8gY2th ZmknJyBCOiAnJ3NlIGNlJ28nJyAoIk1pbGsgb3Igc3VnYXIgaW4geW91IGNvZmZlZT8iICJGaXJz dCB0aGUgbGF0dGVyLCB0aGVuIHRoZSBmb3JtZXIiKS4gSW4gdGhpcyBjYXNlICcnY2UnJyB3b3Vs ZCBtYWtlIG5vIHNlbnNlIGF0IGFsbCwgc2luY2Ugc2V0cyBjYW4ndCBiZSBjb250YWluZWQgaW4g Y29mZmVlLCBhbmQgJydqb2knJyAoYm90aCBtaXhlZCB0b2dldGhlcikgd291bGQgbWVhbiB0aGUg c2FtZSBhcyAnJ2pvJ3UnJyAoYm90aCBvZiB0aGVtKSwgdW5sZXNzIHRoZSByZXNwb25kYW50IHBy ZWZlcnJlZCB1bm1peGVkIHN1Z2FyIGluIGhpcyBjb2ZmZWUuCgoKClRoZSBmaWZ0aCBKT0kgSSBw cmVzZW50IGhlcmUgaXMgYSBiaXQgb2YgYW4gb2RkYmFsbDoKCl9fJydmYSd1JydfXyBOb24tbG9n aWNhbCBjb25uZWN0aXZlOiBVbm1peGVkIG9yZGVyZWQgZGlzdHJpYnV0aW9uIChBIGFuZCBCLCBy ZXNwZWN0aXZlbHkpCgpXaGVuIG9ubHkgb25lICcnZmEndScnIGlzIHBsYWNlZCB3aXRoaW4gYSBi cmlkaSAob3Igc2V2ZXJhbCBicmlkaSBjb25uZWN0ZWQgdG9nZXRoZXIgd2l0aCBjb25uZWN0b3Jz KSwgJydmYSd1JycgbWF5IGJlIGFzc3VtZWQgdG8gYmUgaWRlbnRpY2FsIHRvICcnam8ndScnLiBX aGVuIHNldmVyYWwgJydmYSd1JycgaXMgdXNlZCB3aXRoaW4gb25lIGJyaWRpLCBob3dldmVyLCB0 aGUgY29uc3RydWN0cyBiZWZvcmUgJydmYSd1JycgZWFjaCBhcHBseSB0byBlYWNoIG90aGVyLCBh bmQgdGhlIGNvbnN0cnVjdHMgYWZ0ZXIgJydmYSd1JycgZWFjaCBhcHBseSB0byBlYWNoIG90aGVy LiBMZXQncyBoYXZlIGFuIGV4YW1wbGU6CgonJ21pIGZhJ3UgZG8gcnVza28gZmEndSBrYWRubycn IC0gIllvdSBhbmQgSSBhcmUgUnVzc2lhbiBhbmQgQ2FuYWRpYW4iLCBpbXBseWluZyB0aGF0ICcn bWknJyBnb2VzIHdpdGggJydydXNrbycnIGFuZCAnJ2RvJycgZ29lcyB3aXRoICcna2Fkbm8nJywg YW5kIGltcGx5aW5nIG5vdGhpbmcgYWJvdXQgYW55IG90aGVyIGNvbWJpbmF0aW9uLiBPZiBjb3Vy c2UsIGluIHRoaXMgZXhhbXBsZSwgaXQgd291bGQgYmUgbXVjaCBlYXNpZXIgdG8gc2F5ICcnbWkg cnVza28gLmkgZG8ga2Fkbm8nJy4KCgoKVGhlc2UgbGFzdCB0aHJlZSBKT0kgY29ubmVjdHMgdHdv IHNldHMgdG8gbWFrZSBuZXcgc2V0czoKCl9fJydqbydlJydfXwlBIHVuaW9uIEIKCl9fJydrdSdh JydfXwlBIGludGVyc2VjdGlvbiBCCgpfXycncGkndSAnJ19fCUNyb3NzIHByb2R1Y3Qgb2YgQSBh bmQgQgoKCgpUaGVzZSBhcmUgcHJvYmFibHkgbm90IHZlcnkgdXNlZnVsIGZvciB0aGUgYXZlcmFn ZSBMb2piYW5pc3QsIGJ1dCBJIG1pZ2h0IGFzIHdlbGwgaW5jbHVkZSB0aGVtIGhlcmUuCgpUaGUg Zmlyc3Qgb25lLCAnJ2pvJ2UnJywgbWFrZXMgYSBuZXcgc2V0IGZyb20gdHdvIHNldHMuIFRoaXMg bmV3IHNldCBjb250YWlucyBvbmx5IHRob3NlIG1lbWJlcnMgd2hpY2ggYXJlIGluIGJvdGggc2V0 cy4KCkEgc2V0IG1hZGUgd2l0aCAnJ2t1J2EnJyBjb250YWlucyBhbGwgdGhlIG1lbWJlcnMgb2Yg c2V0IEEgYW5kIHRob3NlIG9mIHNldCBCLiBJZiBhbnl0aGluZyBpcyBhIG1lbWJlciBvZiBib3Ro IHNldHMsIHRoZXkgYXJlIG5vdCBjb3VudGVkIHR3aWNlLgoKJydwaSd1JycgaXMgYSBsaXR0bGUg bW9yZSBjb21wbGljYXRlZC4gQSBzZXQgIkEgJydwaSd1JycgQiIgY29udGFpbnMgYWxsIHRoZSBw b3NzaWJsZSBjb21iaW5hdGlvbnMgb2YgImEgJydjZSdvJycgYiIsIHdoZXJlIGEgaXMgYSBtZW1i ZXIgb2YgQSBhbmQgYiBpcyBhIG1lbWJlciBvZiBCLiBJdCBpcyB0aHVzIGEgc2V0IG9mIHNlcXVl bmNlcyBvZiBtZW1iZXJzLiBJZiwgZm9yIGluc3RhbmNlLCBzZXQgQSBjb250YWluZWQgdGhlIG1l bWJlcnMgcCBhbmQgcSwgYW5kIHNldCBCIGNvbnRhaW5lZCBtZW1iZXJzIGYgYW5kIGcsIHRoZW4g QSAnJ3BpJ3UnJyBCIHdvdWxkIGJlIGEgc2V0IGNvbnNpc3Rpbmcgb2YgdGhlIGZvdXIgbWVtYmVy cyBwICcnY2UnbycnIGYsIHAgJydjZSdvJycgZywgcSAnJ2NlJ28nJyBmIGFuZCBxICcnY2Unbycn IGcuCgoKCiEhIUVuZCBvZiBwYXJ0IHR3bwoKKCh3YXZlbGVzc29uc2NvbnRpbnVlZHxSZXR1cm4g dG8gdGhlIHdhdmVsZXNzb25zIHBhcnQgb25lKSkKClRoaXMgcGFydCBjb25jbHVkZXMgdGhlIHR1 dG9yaWFsIHRvIG9yZGluYXJ5IExvamJhbi4gSW4gdGhlIHRoaXJkIHBhcnQsIEkgd2lsbCBmb2N1 cyBvbiBhZHZhbmNlZCBMb2piYW4gLSB0aGUgcGFydHMgeW91IGRvbid0IGFjdHVhbGx5IG5lZWQg dG8ga25vdyB0byBzcGVhayB0aGUgbGFuZ3VhZ2UuIEkgZGlzY291cmFnZSB5b3UgdG8gYmVnaW4g cmVhZGluZyB0aGUgdGhpcmQgcGFydCB1bnRpbCB5b3UgZmVlbCBjb21mb3J0YWJsZSBlbm91Z2gg d2l0aCB0aGUgaW5mb3JtYXRpb24gaW4gdGhlIGZpcnN0IHR3byBwYXJ0cyB0byBob2xkIGFuIHdy aXR0ZW4gY29udmVyc2F0aW9uIGluIHRoZSBsYW5ndWFnZS4gSWYgeW91IF9fZG9fXyB3aXNoIHRv IGNvbnRpbnVlLCB5b3UgY2FuIHByZXNzICgod2F2ZWxlc3NvbnNjb250aW51ZWRwM3x0aGlzIGxp bmspKSB0byBnbyB0aGVyZS4KCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpXaWtpbmV1cm90aWMgbWFpbGluZyBsaXN0Cldpa2luZXVyb3RpY0Bsb2piYW4u b3JnCmh0dHA6Ly9tYWlsLmxvamJhbi5vcmcvbWFpbG1hbi9saXN0aW5mby93aWtpbmV1cm90aWMK