Received: from localhost ([::1]:39772 helo=stodi.digitalkingdom.org) by stodi.digitalkingdom.org with esmtp (Exim 4.76) (envelope-from ) id 1UgbRp-0001XN-8M; Sun, 26 May 2013 06:57:21 -0700 Received: from 173-13-139-235-sfba.hfc.comcastbusiness.net ([173.13.139.235]:41107 helo=digitalkingdom.org) by stodi.digitalkingdom.org with smtp (Exim 4.76) (envelope-from ) id 1UgbRd-0001XF-98 for wikichanges@lojban.org; Sun, 26 May 2013 06:57:17 -0700 Received: by digitalkingdom.org (sSMTP sendmail emulation); Sun, 26 May 2013 06:57:09 -0700 From: "Apache" Date: Sun, 26 May 2013 06:57:09 -0700 To: wikichanges@lojban.org X-PHP-Originating-Script: 48:htmlMimeMail.php MIME-Version: 1.0 Message-ID: X-Spam-Score: 2.0 (++) X-Spam_score: 2.0 X-Spam_score_int: 20 X-Spam_bar: ++ X-Spam-Report: Spam detection software, running on the system "stodi.digitalkingdom.org", has identified this incoming email as possible spam. The original message has been attached to this so you can view it (if it isn't spam) or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: The page wavelessonscontinued was changed by dimnas at 15:56 CEST Comment: Missing } in elidable fa'orma'o and reworded sentence after. You can view the page by following this link: http://www.lojban.org/tiki/wavelessonscontinued [...] Content analysis details: (2.0 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 RCVD_IN_DNSWL_BLOCKED RBL: ADMINISTRATOR NOTICE: The query to DNSWL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [173.13.139.235 listed in list.dnswl.org] 1.6 RCVD_IN_BRBL_LASTEXT RBL: RCVD_IN_BRBL_LASTEXT [173.13.139.235 listed in bb.barracudacentral.org] 0.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] 0.4 RDNS_DYNAMIC Delivered to internal network by host with dynamic-looking rDNS Subject: [Wikichanges] Wiki page wavelessonscontinued changed by dimnas X-BeenThere: wikichanges@lojban.org X-Mailman-Version: 2.1.14 Precedence: list Reply-To: webmaster@lojban.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: wikichanges-bounces@lojban.org VGhlIHBhZ2Ugd2F2ZWxlc3NvbnNjb250aW51ZWQgd2FzIGNoYW5nZWQgYnkgZGltbmFzIGF0IDE1 OjU2IENFU1QKQ29tbWVudDogTWlzc2luZyB9IGluIGVsaWRhYmxlIGZhJ29ybWEnbyBhbmQgcmV3 b3JkZWQgc2VudGVuY2UgYWZ0ZXIuCgpZb3UgY2FuIHZpZXcgdGhlIHBhZ2UgYnkgZm9sbG93aW5n IHRoaXMgbGluazoKIApodHRwOi8vd3d3LmxvamJhbi5vcmcvdGlraS93YXZlbGVzc29uc2NvbnRp bnVlZAoKWW91IGNhbiB2aWV3IGEgZGlmZiBiYWNrIHRvIHRoZSBwcmV2aW91cyB2ZXJzaW9uIGJ5 IGZvbGxvd2luZyB0aGlzIGxpbms6IApodHRwOi8vd3d3LmxvamJhbi5vcmcvdGlraS90aWtpLXBh Z2VoaXN0b3J5LnBocD9wYWdlPXdhdmVsZXNzb25zY29udGludWVkJmNvbXBhcmU9MSZvbGR2ZXI9 NzMmbmV3dmVyPTc0CgoKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioKVGhlIGNoYW5nZXMgaW4gdGhpcyB2ZXJzaW9uIGZvbGxvdyBiZWxv dywgZm9sbG93ZWQgYWZ0ZXIgYnkgdGhlIGN1cnJlbnQgZnVsbCBwYWdlIHRleHQuCioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCgoKKy0r LSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSsK QEAgLUxpbmVzOiA2MTAtNjE2IGNoYW5nZWQgdG8gK0xpbmVzOiA2MTAtNjE2IEBACistKy0rLSst Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rClNvLCBo b3cgd291bGQgeW91IHNheSDigJxJIGV4cHJlc3MgdGhpcyBhZnRlciBJIGNhbWUgaGVyZT/igJ0g KHBvaW50aW5nIHRvIGEgcGFwZXIpCgotIEFuc3dlcjogfn5ncmV5LGdyZXk6JydtaSBjdXNrdSB0 aSBiYSBsbyBudSBtaSBrbGFtYSB0aSB7dmF1fSB7a2VpIHtrdX0ge3ZhdX0nJ35+CisgQW5zd2Vy OiB+fmdyZXksZ3JleTonJ21pIGN1c2t1IHRpIGJhIGxvIG51IG1pIGtsYW1hIHRpIHt2YXV9IHtr ZWl9IHtrdX0ge3ZhdX0nJ35+CgotIFVzdWFsbHkgd2hlbiBzcGVha2luZywgd2UgZG8gbm90IG5l ZWQgdG8gc3BlY2lmeSB3aGljaCBldmVudCB0aGlzIGFjdGlvbiBpcyBpbiB0aGUgcGFzdCByZWxh dGl2ZSB0by4gSW46IEkgZ2F2ZSBhIGNvbXB1dGVyIGF3YXksIHdlIGNhbiBhc3N1bWUgdGhhdCB0 aGUgYWN0aW9uIGhhcHBlbmVkIHJlbGF0aXZlIHRvIG5vdywgYW5kIHRodXMgd2UgY2FuIGVsaWRl IHRoZSBzdW10aSBvZiB0aGUgc3VtdGNpdGEsIGJlY2F1c2UgaXQncyBvYnZpb3VzOgorIFVzdWFs bHkgd2hlbiBzcGVha2luZywgd2UgZG8gbm90IG5lZWQgdG8gc3BlY2lmeSB3aGljaCBldmVudCBp biB0aGUgcGFzdCB0aGlzIGFjdGlvbiBpcyByZWxhdGl2ZSB0by4gSW46IEkgZ2F2ZSBhIGNvbXB1 dGVyIGF3YXksIHdlIGNhbiBhc3N1bWUgdGhhdCB0aGUgYWN0aW9uIGhhcHBlbmVkIHJlbGF0aXZl IHRvIG5vdywgYW5kIHRodXMgd2UgY2FuIGVsaWRlIHRoZSBzdW10aSBvZiB0aGUgc3VtdGNpdGEs IGJlY2F1c2UgaXQncyBvYnZpb3VzOgonJ3B1IGt1IG1pIGR1bmRhIGxvIHNrYW1pIHtrdX0ge3Zh dX0nJyBvcgonJ21pIGR1bmRhIGxvIHNrYW1pIHtrdX0gcHUge2t1fSB7dmF1fScnIG9yLCBtb3Jl IGNvbW1vbmx5CgoKCgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKgpUaGUgbmV3IHBhZ2UgY29udGVudCBmb2xsb3dzIGJlbG93LgoqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgoK IUxvamJhbiBXYXZlIExlc3NvbnMgQ29udGludWVkOgoKISEhTWFkZSBieSBsYSBrbGFrdSB3aXRo IGhlbHAgZnJvbSB2YXJpb3VzIGxvamJhbmlzdHMuIEJhc2VkIG9uIHRoZSB3b3JrIG9mIGxhIC5r cmliYWNyLiBTcHJpbmcgMjAxMy4KCgoKISFMb2piYW4gTGVzc29ucyDigJMgbGVzc29uIHplcm86 IEZvcmV3b3JkCgpUaGVzZSBsZXNzb25zIGFyZSBhbiBhdHRlbXB0IHRvIGV4cGFuZCBvbiB0aGUg R29vZ2xlIFdhdmUgTGVzc29ucywgYW4gZXhjZWxsZW50IExvamJhbiB0dXRvcmlhbCBieSBrcmli YWNyLCB4YWxibywgYW5kIG90aGVycywgd2hpY2ggc2FkbHkgb25seSBjb3ZlcmVkIHRoZSBmaXJz dCBmb3VyIGNoYXB0ZXJzIGluIHRoaXMgdHV0b3JpYWwuIEl0IGltcGxlbWVudHMgdGhlIG5ld2Vz dCBydWxlcyBvZiBMb2piYW4gbm90IGNvdmVyZWQgYnkgb2xkZXIgbWF0ZXJpYWxzIHN1Y2ggYXMg V2hhdCBpcyBMb2piYW4/IGFuZCBMb2piYW4gZm9yIEJlZ2lubmVycy4KCgoKSWYgeW91IGFyZSBu ZXcgdG8gTG9qYmFuLCBJIHJlY29tbWVuZCBsaXN0ZW5pbmcgdG8gYW55IHJlY29yZGluZ3MgeW91 IGNhbiBmaW5kIG9mIHNwb2tlbiBMb2piYW4gYm90aCBiZWZvcmUgYW5kIHdoaWxlIHlvdSBhcmUg dGFraW5nIHRoaXMgdHV0b3JpYWwsIGluIG9yZGVyIHRvIG1ha2UgeW91cnNlbGYgZmFtaWxpYXIg d2l0aCB0aGUgc291bmRzIGFuZCB3b3JkcyBvZiB0aGUgbGFuZ3VhZ2V+dGN+LCB3aGljaCB3aWxs IG5vdCBiZSBleHBsYWluZWQgaGVyZX4vdGN+LiBGdXJ0aGVybW9yZSwgdHJ5IHRvIHNheSB0aGUg dGhpbmdzIHlvdSByZWFkIGluIExvamJhbiBhY2NlbnQgaWYgaXQncyByZWFzb25hYmx5IHByYWN0 aWNhbC4gVGhpcyBjYW4gaGVscCB5b3VyIHByb251bmNpYXRpb24gYSBsb3QuCgoKCldoZW4gdGFr aW5nIHRoaXMgdHV0b3JpYWwsIGl0J3MgYmVzdCB0byBwYXVzZSBiZXR3ZWVuIGxlc3NvbnMgaW4g b3JkZXIgdG8gaW50ZXJuYWxpemUgd2hhdCB5b3UgaGF2ZSBsZWFybnQuIEkgaGF2ZSBhdHRlbXB0 ZWQgdG8gYnVpbGQgdGhlc2UgbGVzc29ucyBmcm9tIHRoZSBib3R0b20gdXAgYW5kIGV4Y2x1ZGUg YW55IHdvcmRzIG9yIGNvbmNlcHRzIHRoYXQgaGF2ZSBub3QgYmVlbiBleHBsYWluZWQgaW4gcHJl dmlvdXMgbGVzc29ucy4gT25jZSBleHBsYWluZWQsIHRoZXkgYXJlIHVzZWQgZnJlZWx5IHRocm91 Z2hvdXQgdGhlIHJlbWFpbmRlciBvZiB0aGUgdHV0b3JpYWwuIEkgdXJnZSByZWFkZXJzIG5vdCB0 byBwYXNzIGFueSBtaXN1bmRlcnN0b29kIGNvbnRlbnQ7IGlmIHlvdSBoYXZlIHF1ZXN0aW9ucyBv ciBhcmUgdW5jZXJ0YWluIGFib3V0IHNvbWV0aGluZywgZmVlbCBmcmVlIHRvIGFzayB0aGUgTG9q YmFuIGNvbW11bml0eSwgd2hpY2ggY2FuIGJlIGZvdW5kIGluICNsb2piYW4gb24gdGhlIEZyZWVu b2RlIElSQyBuZXR3b3JrLiBUaGV5IHdpbGwgYmUgaGFwcHkgdG8gaGVscC4KCgoKSW4gdGhpcyB0 dXRvcmlhbCwgTG9qYmFuIHRleHQgaXMgd3JpdHRlbiBpbiAnJ2l0YWxpY3MnJy4gTGF0ZXIsIHdo ZW4gdXNlZCBhcyBMb2piYW4gbG9hbndvcmRzIGluIEVuZ2xpc2ggc2VudGVuY2VzLCB0aGV5IGFy ZSBub3QgbWFya2VkLiBBbnN3ZXJzIHRvIGV4ZXJjaXNlcyBhcmUgZGlzcGxheWVkIGFzIGEgZ3Jl eSBiYXIuIEhpZ2hsaWdodCB0aGUgdGV4dCBpbiBvcmRlciB0byBzZWUgaXQuCgoKCkxhc3RseSwg SSBoYXZlIGFzIGZhciBhcyBwb3NzaWJsZSBhdHRlbXB0ZWQgdG8gdXNlIHRoZSBMb2piYW4gd29y ZHMgZm9yIGdyYW1tYXRpY2FsIGNvbnN0cnVjdHM6ICcnc3Vta2EnaScnIGluc3RlYWQgb2YgcHJv LXN1bXRpLCAnJ3N1bXRjaXRhJycgaW5zdGVhZCBvZiBtb2RhbCBhbmQgJydqdWZyYScnIGluc3Rl YWQgb2YgdXR0ZXJhbmNlLiBUaGlzIGlzIGJlY2F1c2UgSSBmZWVsIHRoZSBFbmdsaXNoIHdvcmRz IGFyZSBvZnRlbiBlaXRoZXIgYXJiaXRyYXJ5LCBpbiB3aGljaCBjYXNlIHRoZXkgYXJlIGp1c3Qg bW9yZSB3b3JkcyB0byBsZWFybiwgb3IgbWlzbGVhZGluZywgaW4gd2hpY2ggY2FzZSB0aGV5IGFy ZSB3b3JzZSB0aGFuIHVzZWxlc3MuIEluIGVpdGhlciBjYXNlLCBhcyBsb25nIGFzIHRoZSB3b3Jk cyBhcmUgc3BlY2lmaWMgdG8gdGhvc2Ugd2hvIGFyZSBsZWFybmluZyBMb2piYW4gYW55d2F5LCB0 aGVyZSBpcyBubyByZWFzb24gZm9yIHRoZW0gdG8gZXhpc3QgYXMgc2VwYXJhdGUgRW5nbGlzaCB3 b3Jkcy4KCgoKISEhUHJlZmFjZS4gU291bmRzCgpUaGUgZmlyc3QgdGhpbmcgeW91IG5lZWQgdG8g ZG8gd2hlbiB5b3UgbGVhcm4gYSBmb3JlaWduIGxhbmd1YWdlIGlzIHRvIGJlY29tZSBmYW1pbGlh ciB3aXRoIHRoZSBzb3VuZHMgb2YgdGhlIGxhbmd1YWdlIGFuZCBob3cgdGhleSBhcmUgd3JpdHRl biwgYW5kIHRoZSBzYW1lIGdvZXMgZm9yIExvamJhbi4gRm9ydHVuYXRlbHksIExvamJhbiBzb3Vu ZHMgKF9fcGhvbmVtZXNfXykgYXJlIGZhaXJseSBzdHJhaWdodGZvcndhcmQuCgohISEhVm93ZWxz CgpUaGVyZSBhcmUgc2l4IHZvd2VscyBpbiBMb2piYW4uCgoKCnx8JydhJycgfGFzIGluICJmX19h X190aGVyIiAobm90IGFzIGluICJoX19hX190IikKCicnZScnIHxhcyBpbiAiZ19fZV9fdCIKCicn aScnIHxhcyBpbiAibWFjaF9faV9fbmUiIG9yIChJdGFsaWFuKSAidl9faV9fbm8iIChub3QgYXMg aW4gImhfX2lfX3QiKQoKJydvJycgfGFzIGluICJiX19vX19sZCIgb3IgIm1fX29fX3JlIiDigJQg bm90IGFzIGluICJzX19vX18iICh0aGlzIHNob3VsZCBiZSBhICdwdXJlJyBzb3VuZC4pCgonJ3Un JyB8YXMgaW4gImNfX29vX19sIiAobm90IGFzIGluICJiX191X190IikgfHwKClRoZXNlIGFyZSBw cmV0dHkgbXVjaCB0aGUgc2FtZSBhcyB2b3dlbHMgaW4gSXRhbGlhbiBvciBTcGFuaXNoLiBUaGUg c2l4dGggdm93ZWwsICcneScnLCBpcyBjYWxsZWQgYSBfX3NjaHdhX18gaW4gdGhlIGxhbmd1YWdl IHRyYWRlLCBhbmQgaXMgcHJvbm91bmNlZCBsaWtlIHRoZSBmaXJzdCBhbmQgbGFzdCAiQSIncyBp biAiQW1lcmljYSIgKHRoYXQncyBFbmdsaXNoICJBbWVyaWNhIiwgbm90IFNwYW5pc2guKSBJdCdz IHRoZSBzb3VuZCB0aGF0IGNvbWVzIG91dCB3aGVuIHRoZSBtb3V0aCBpcyBjb21wbGV0ZWx5IHJl bGF4ZWQuCgpUd28gdm93ZWxzIHRvZ2V0aGVyIGFyZSBwcm9ub3VuY2VkIGFzIG9uZSBzb3VuZCAo X19kaXBodGhvbmdfXykuIFNvbWUgZXhhbXBsZXMgYXJlOgoKCgp8fCcnYWknJyB8YXMgaW4gImhf X2lnaF9fIgoKJydhdScnIHxhcyBpbiAiaF9fb3dfXyIKCicnZWknJyB8YXMgaW4gImhfX2V5X18i CgonJ29pJycgfGFzIGluICJiX19veV9fIgoKJydpYScnIHxsaWtlIEdlcm1hbiBfXyJKYV9fIgoK JydpZScnIHxsaWtlIF9fInllYWhfXyIKCicnaXUnJyB8bGlrZSBfXyJ5b3VfXyIKCicndWEnJyB8 YXMgaW4gX18id2FhaCFfXyIsIG9yIEZyZW5jaCAicV9fdW9pX18iCgonJ3VlJycgfGFzIGluICJx X191ZV9fc3Rpb24iCgonJ3VvJycgfGFzIGluICJxX191b19fdGUiCgonJ3VpJycgfGxpa2UgX18i d2VfXyIsIG9yIEZyZW5jaCBfXyJvdWlfXyIgfHwKCkRvdWJsZSB2b3dlbHMgYXJlIHJhcmUuIFRo ZSBvbmx5IGV4YW1wbGVzIGFyZSAnJ2lpJycsIHdoaWNoIGlzIHByb25vdW5jZWQgbGlrZSBFbmds aXNoICJ5ZSIgKGFzIGluIOKAnE9oIGNvbWUgYWxsIHllIGZhaXRoZnVs4oCdKSBvciBDaGluZXNl ICJ5aSIsIGFuZCAnJ3V1JycsIHByb25vdW5jZWQgbGlrZSAid29vIi4KCiEhISFDb25zb25hbnRz CgpNb3N0IExvamJhbiBjb25zb25hbnRzIGFyZSB0aGUgc2FtZSBhcyBFbmdsaXNoLCBidXQgdGhl cmUgYXJlIHNvbWUgZXhjZXB0aW9uczoKCgoKfHxnIHxhbHdheXMgJydnJycgYXMgaW4gJydfX2df X3VtJycsIG5ldmVyICcnZycnIGFzIGluICcnX19nX19lbScnCgpjIHwnJ3NoJycsIGFzIGluICcn X19zaF9faXAnJwoKaiB8YXMgaW4gJydtZWFfX3NfX3VyZScnIG9yIEZyZW5jaCAnJ2Jvbl9fal9f b3VyJycKCnggfGFzIGluIEdlcm1hbiAnJ0JhX19jaCcnX18sIFNwYW5pc2ggJydfX0pfX29zZScn IG9yIEFyYWJpYyAnJ19fS2hfX2FsZWQnJyB8fAoKVGhlIEVuZ2xpc2ggc291bmRzICcnY2gnJyBh bmQgJydqJycgYXJlIHdyaXR0ZW4gYXMgdGMgYW5kIGRqLgoKTG9qYmFuIGRvZXNuJ3QgdXNlIHRo ZSBsZXR0ZXJzICcnSCcnLCAnJ1EnJyBvciAnJ1cnJy4KCiEhISFTcGVjaWFsIENoYXJhY3RlcnMK CkxvamJhbiBkb2VzIG5vdCByZXF1aXJlIGFueSBwdW5jdHVhdGlvbiwgYnV0IHNvbWUgc3BlY2lh bCBjaGFyYWN0ZXJzIChub3JtYWxseSB1c2VkIGluIHB1bmN0dWF0aW9uIGluIG90aGVyIGxhbmd1 YWdlcykgYWZmZWN0IHRoZSB3YXkgTG9qYmFuIGlzIHByb25vdW5jZWQuCgpUaGUgb25seSBvbmUg b2YgdGhlc2UgY2hhcmFjdGVycyB3aGljaCBpcyBvYmxpZ2F0b3J5IGluIExvamJhbiBpcyB0aGUg YXBvc3Ryb3BoZTsgaW4gZmFjdCB0aGUgYXBvc3Ryb3BoZSBpcyByZWdhcmRlZCBhcyBhIHByb3Bl ciBsZXR0ZXIgb2YgTG9qYmFuLiBBbiBhcG9zdHJvcGhlIHNlcGFyYXRlcyB0d28gdm93ZWxzLCBw cmV2ZW50aW5nIHRoZW0gZnJvbSBiZWluZyBwcm9ub3VuY2VkIHRvZ2V0aGVyIChhcyBhIF9fZGlw aHRob25nX18pOyBpdCBpcyBpdHNlbGYgcHJvbm91bmNlZCBsaWtlIGFuICJoIi4gRm9yIGV4YW1w bGUsICcndWknJyBpcyBub3JtYWxseSBwcm9ub3VuY2VkICJ3ZSIsIGJ1dCAnJ3UnaScnIGlzICJv b2hlZSInLgoKQSBmdWxsIHN0b3AgKHBlcmlvZCkgaXMgYSBzaG9ydCBwYXVzZSB0byBzdG9wIHdv cmRzIHJ1bm5pbmcgaW50byBlYWNoIG90aGVyLiBUaGUgcnVsZXMgb2YgTG9qYmFuIG1ha2UgaXQg ZWFzaWVyIGZvciBvbmUgd29yZCB0byBydW4gaW50byBhbm90aGVyIHdoZW4gdGhlIHNlY29uZCB3 b3JkIGJlZ2lucyB3aXRoIGEgdm93ZWw7IHNvIGFueSB3b3JkIHN0YXJ0aW5nIHdpdGggYSB2b3dl bCBjb252ZW50aW9uYWxseSBoYXMgYSBmdWxsIHN0b3AgcGxhY2VkIGluIGZyb250IG9mIGl0LgoK Q29tbWFzIGFyZSByYXJlIGluIExvamJhbiwgYnV0IGNhbiBiZSB1c2VkIHRvIHN0b3AgdHdvIHZv d2VscyBibHVycmluZyB0b2dldGhlciB3aGVuIHlvdSBkb24ndCB3YW50IHRvIHVzZSBhbiBhcG9z dHJvcGhlICh3aGljaCB3b3VsZCBwdXQgYSAnJ2gnJyBiZXR3ZWVuIHRoZW0pLiBObyBMb2piYW4g d29yZHMgaGF2ZSBjb21tYXMsIGJ1dCB0aGV5J3JlIHNvbWV0aW1lcyB1c2VkIGluIHdyaXRpbmcg bm9uLUxvamJhbiBuYW1lcywgZm9yIGV4YW1wbGUgJycucGksRVIuJycgKCJQaWVycmUiKSwgYXMg b3Bwb3NlZCB0byAnJy5waWVyLicnICgiUC15ZXJyIiksICcnLnBpLkVSLicnICgiUGVlOyBFaHIi KSwgb3IgJycucGknRVIuJycgKCJQaWhlcnIiKS4KCkNhcGl0YWwgbGV0dGVycyBhcmUgbm90IG5v cm1hbGx5IHVzZWQgaW4gTG9qYmFuLiBXZSB1c2UgdGhlbSBpbiBub24tTG9qYmFuIHdvcmRzIChs aWtlICJQaWVycmUiKSB3aGVuIHRoZSBzdHJlc3Mgb2YgYSB3b3JkIGlzIGRpZmZlcmVudCBmcm9t IHRoZSBMb2piYW4gbm9ybS4gVGhlIG5vcm0gaXMgdG8gcHV0IHRoZSBzdHJlc3Mgb24gdGhlIGxh c3QtYnV0LW9uZSBzeWxsYWJsZTsgc28sIGZvciBleGFtcGxlLCAnJ2t1am1pa2NlJycgIm51cnNl IiBpcyAnJ2t1al9fTUlLX19jZScnLCBub3QgJydfX0tVSl9fbWlrY2UnJy4gVGhlIG5hbWUgIkp1 bGlldHRlIiB3b3VsZCBiZSB3cml0dGVuICcnLkRKVWxpLGV0LicnIGlmIHByb25vdW5jZWQgaW4g YW4gRW5nbGlzaCB3YXksIGJ1dCAnJy5qdUxJRVQuJycgaWYgcHJvbm91bmNlZCBhcyBpbiBGcmVu Y2guCgohISEhQWxwaGFiZXQKCkluIG1vc3QgbGFuZ3VhZ2UgdGV4dGJvb2tzLCB5b3UgZ2V0IHRo ZSBhbHBoYWJldCBvZiB0aGUgbGFuZ3VhZ2UgdG9nZXRoZXIgd2l0aCBpdHMgc291bmRzLiBMZXR0 ZXJzICgnJ2xlcmZ1JycpIHR1cm4gb3V0IHRvIGJlIGV2ZW4gbW9yZSBpbXBvcnRhbnQgdGhhbiB1 c3VhbCBpbiBMb2piYW4sIHNvIHdlIG1pZ2h0IGFzIHdlbGwgZ28gdGhyb3VnaCB0aGVpciBuYW1l cyBxdWlja2x5LgoKQ29uc29uYW50cyBhcmUgc3RyYWlnaHRmb3J3YXJkOiB0aGUgbmFtZSBvZiBh IGNvbnNvbmFudCBsZXR0ZXIgaXMgdGhhdCBsZXR0ZXIsIHBsdXMgeS4gU28gdGhlIGNvbnNvbmFu dCBsZXR0ZXJzIG9mIExvamJhbiwgImIsIGMsIGQsIGYsIGcgLi4uIiwgYXJlIGNhbGxlZCAnJ2J5 LiwgY3kuLCBkeS4sIGZ5LiwgZ3kuJycgLi4uIGluIExvamJhbiAodXNpbmcgdGhlIGZ1bGwgc3Rv cCBhcyB3ZSd2ZSBqdXN0IGRlc2NyaWJlZC4pCgpWb3dlbHMgX193b3VsZF9fIGJlIGNhbGxlZCAn Jy5heSwgLmV5LCAuaXknJywgYnV0IHRoYXQgd291bGQgYmUgcmF0aGVyIGRpZmZpY3VsdCB0byBw cm9ub3VuY2UuIEluc3RlYWQsIHRoZXkgYXJlIGhhbmRsZWQgYnkgZm9sbG93aW5nIHRoZSB2b3dl bCBzb3VuZCB3aXRoIHRoZSB3b3JkICcnYnUnJywgd2hpY2ggYmFzaWNhbGx5IG1lYW5zICdsZXR0 ZXInLiBTbyB0aGUgdm93ZWxzIG9mIExvamJhbiBhcmU6ICcnLmFidSwgLmVidSwgLmlidSwgLm9i dSwgLnVidSwgeWJ1LicnCgpUaGUgYXBvc3Ryb3BoZSBpcyByZWdhcmRlZCBhcyBhIHByb3BlciBs ZXR0ZXIgaW4gTG9qYmFuLCBhbmQgaXMgY2FsbGVkICcnLnkneS4nJyAuIFRvIHNvbWUgcGVvcGxl LCB0aGlzIHNvdW5kcyBsaWtlIGEgY291Z2g7IHRvIG90aGVyLCBsaWtlICJ1aC1odWgiICh3aGVu IGl0IG1lYW5zICdZZXMnIHJhdGhlciB0aGFuICdObycuKQoKTG9qYmFuIGhhcyB3YXlzIG9mIHJl ZmVyaW5nIHRvIG1vc3QgbGV0dGVycyB5b3UgY2FuIHRoaW5rIG9mLiBJZiB5b3UgaGF2ZSB0aGUg dXJnZSB0byBzcGVsbCBvdXQgeW91ciBuYW1lIGluIExvamJhbiBhbmQgaGF2ZSBhbiAiSCIsICJR Iiwgb3IgIlciIHRvIGRlYWwgd2l0aCwgeW91IGNhbiB1c2UgJycueSd5LmJ1LCBreS5idScnIGFu ZCAnJ3Z5LmJ1JycuIFNvICJTY2h3YXJ6ZW5lZ2dlciIgaXMgc3BlbHQgaW4gTG9qYmFuIGFzOgoK JydzeS4gY3kuIC55J3lidSB2eWJ1LiAuYWJ1IHJ5LiB6eS4gLmVidSBueS4gLmVidSBneS4gZ3ku IC5lYnUgcnkuJycKCkFuZCBzcGVsbGluZyAidGhhdCIgaXMgYSB0YXNrIHRoZSBlcXVhbCBvZiBh bnl0aGluZyB0aGUgVGVybWluYXRvciBldmVyIGRpZCEKCgoKTm93IHNwZWxsIHlvdXIgbmFtZSBp biBMb2piYW4gKG9yIGF0IGxlYXN0IHNvbWV0aGluZyBjbG9zZSBlbm91Z2ggdG8gaXQgdG8gdXNl IHRoZSB0d2VudHktc2l4IGxldHRlcnMgb2YgRW5nbGlzaCB3ZSBoYXZlIGxlYXJuZWQsIGFuZCB0 aGUgYXBvc3Ryb3BoZSkuCgoKCiEhISEgJ0NvcnJlY3QnIHByb251bmNpYXRpb24KCllvdSBkb24n dCBoYXZlIHRvIGJlIHZlcnkgcHJlY2lzZSBhYm91dCBMb2piYW4gcHJvbnVuY2lhdGlvbiwgYmVj YXVzZSB0aGUgcGhvbmVtZXMgYXJlIGRpc3RyaWJ1dGVkIHNvIHRoYXQgaXQgaXMgaGFyZCB0byBt aXN0YWtlIG9uZSBzb3VuZCBmb3IgYW5vdGhlci4gVGhpcyBtZWFucyB0aGF0IHJhdGhlciB0aGFu IG9uZSAnY29ycmVjdCcgcHJvbnVuY2lhdGlvbiwgdGhlcmUgaXMgYSByYW5nZSBvZiBhY2NlcHRh YmxlIHByb251bmNpYXRpb27igJR0aGUgZ2VuZXJhbCBwcmluY2lwbGUgaXMgdGhhdCBhbnl0aGlu ZyBpcyBPSyBzbyBsb25nIGFzIGl0IGRvZXNuJ3Qgc291bmQgdG9vIG11Y2ggbGlrZSBzb21ldGhp bmcgZWxzZS4gRm9yIGV4YW1wbGUsIExvamJhbiByIGNhbiBiZSBwcm9ub3VuY2VkIGxpa2UgdGhl ICJyIiBpbiBFbmdsaXNoLCBTY290dGlzaCBvciBGcmVuY2guCgpUd28gdGhpbmdzIHRvIGJlIGNh cmVmdWwgb2YsIHRob3VnaCwgYXJlIHByb25vdW5jaW5nIExvamJhbiAnJ2knJyBhbmQgJyd1Jycg bGlrZSBTdGFuZGFyZCBCcml0aXNoIEVuZ2xpc2ggImhpdCIgYW5kICJidXQiIChOb3J0aGVybiBF bmdsaXNoICJidXQiIGlzIGZpbmUhKS4gVGhpcyBpcyBiZWNhdXNlIG5vbi1Mb2piYW4gdm93ZWxz LCBwYXJ0aWN1bGFybHkgdGhlc2UgdHdvLCBhcmUgdXNlZCB0byBzZXBhcmF0ZSBjb25zb25hbnRz IGJ5IHBlb3BsZSB3aG8gZmluZCB0aGVtIGhhcmQgdG8gc2F5LiBGb3IgZXhhbXBsZSwgaWYgeW91 IGhhdmUgcHJvYmxlbXMgc3BpdHRpbmcgb3V0IHRoZSAnJ3pkJycgaW4gJyd6ZGFuaScnIChob3Vz ZSksIHlvdSBjYW4gc2F5IHrJqmRhbmnigJR3aGVyZSB0aGUgIsmqIiBpcyB2ZXJ5IHNob3J0LCBi dXQgdGhlIGZpbmFsICJpIiBoYXMgdG8gYmUgbG9uZy4KCiEhISFMb2piYW4gTmFtZXMgKGNtZXZs YSkKCldhdGNoIGFueSBmaWxtIHdoZXJlIHBlb3BsZSBkb24ndCBrbm93IGVhY2ggb3RoZXIncyBs YW5ndWFnZS4gVGhleSBzdGFydCBvZmYgc2F5aW5nIHRoaW5ncyBsaWtlIOKAnE1lIFRhcnphbizi gJ0gd2hpY2ggaXMgYXMgZ29vZCBhIHBsYWNlIHRvIHN0YXJ0IGxlYXJuaW5nIExvamJhbiBhcyBh bnkuIFNvIGhlcmUgd2UgZ28uCgpfXycnbWknZSAucm9iaW4uJydfXwoKIkktYW0tbmFtZWQgUm9i aW4iCgoiSSdtIFJvYmluIgoKJydtaSdlJycgaXMgcmVsYXRlZCB0byAnJ21pJycsIHdoaWNoIGlz ICdJJywgJ21lJyBhbmQgc28gb24uIEl0J3MgYSBnb29kIGV4YW1wbGUgb2YgdGhlIGFwb3N0cm9w aGUgc2VwYXJhdGluZyB0d28gdm93ZWxzLCBhbmQgc291bmRzIGEgYml0IGxpa2UgIm1lIGhlaCIu CgpUaGlzIGd1eSBSb2JpbiBpcyBsdWNreSBiZWNhdXNlIGhpcyBuYW1lIGdvZXMgZGlyZWN0bHkg aW50byBMb2piYW4gd2l0aG91dCBhbnkgY2hhbmdlcy4gSG93ZXZlciwgdGhlcmUgYXJlIHNvbWUg cnVsZXMgZm9yIExvamJhbiBuYW1lcyB3aGljaCBtZWFuIHRoYXQgc29tZSBuYW1lcyBoYXZlIHRv IGJlICdMb2piYW5pc2VkJy4gVGhpcyBtYXkgc291bmQgc3RyYW5nZeKAlGFmdGVyIGFsbCwgYSBu YW1lIGlzIGEgbmFtZeKAlGJ1dCBpbiBmYWN0IGFsbCBsYW5ndWFnZXMgZG8gdGhpcyB0byBzb21l IGV4dGVudC4gRm9yIGV4YW1wbGUsIEVuZ2xpc2ggc3BlYWtlcnMgdGVuZCB0byBwcm9ub3VuY2Ug Ikpvc2UiIHNvbWV0aGluZyBsaWtlICJIb3pheSIsIGFuZCAiTWFyZ2FyZXQiIGluIENoaW5lc2Ug aXMgIk1hZ2VsaXRhIi4gU29tZSBzb3VuZHMganVzdCBkb24ndCBleGlzdCBpbiBzb21lIGxhbmd1 YWdlcywgc28gdGhlIGZpcnN0IHRoaW5nIHlvdSBuZWVkIHRvIGRvIGlzIHJld3JpdGUgdGhlIG5h bWUgc28gdGhhdCBpdCBvbmx5IGNvbnRhaW5zIExvamJhbiBzb3VuZHMsIGFuZCBpcyBzcGVsdCBp biBhIExvamJhbiB3YXkuCgpfX05vdGU6IF9fVGhlIGNhdGNoIGhlcmUgaXMsIHdoYXQgdmVyc2lv biBvZiB0aGUgc291bmRzIHdpbGwgeW91IGJlIHVzaW5nPyBGb3IgRW5nbGlzaCBpbiBwYXJ0aWN1 bGFyLCBCcml0aXNoIGFuZCBBbWVyaWNhbiB2b3dlbHMgY2FuIGJlIHF1aXRlIGRpZmZlcmVudC4g VGhlIEJyaXRpc2ggdmVyc2lvbiBvZiAiUm9iaW4iIGlzIHJlYXNvbmFibHkgYXBwcm94aW1hdGVk IGJ5ICcnLnJvYmluLicnOyBidXQgdGhlIEFtZXJpY2FuIHZlcnNpb24gaXMgY2xvc2VyIHRvICcn LnJhYnluLicnIG9yICcnLnJhYixuLicnLiBBbmQgd2l0aGluIEFtZXJpY2EgYW5kIEJyaXRhaW4s IHRoZXJlIGlzIGFsc28gYSBnb29kIGRlYWwgb2YgdmFyaWF0aW9uLiBTbyB5b3Ugc2hvdWxkIHRh a2UgdGhlIHRyYW5zbGl0ZXJhdGlvbnMgZ2l2ZW4gYmVsb3cgd2l0aCBhIGdyYWluIG9mIHNhbHQu CgpMZXQncyB0YWtlIHRoZSBFbmdsaXNoIG5hbWUgIlN1c2FuIi4gVGhlIHR3byAnJ3MnJydzIGFy ZSBwcm9ub3VuY2VkIGRpZmZlcmVudGx54oCUdGhlIHNlY29uZCBvbmUgaXMgYWN0dWFsbHkgYSAi eiLigJRhbmQgdGhlICJhIiBpcyBub3QgcmVhbGx5IGFuICJhIiBzb3VuZCwgaXQncyB0aGUgJ3Nj aHdhJyB3ZSBqdXN0IG1lbnRpb25lZC4gU28gIlN1c2FuIiBjb21lcyBvdXQgaW4gTG9qYmFuIGFz ICcnLnN1enluLicnLgoKWW91IG1heSBoYXZlIG5vdGljZWQgdHdvIGV4dHJhIGZ1bGwgc3RvcHMg KHBlcmlvZHMpIHRoZXJlLiBUaGlzIGlzIG5lY2Vzc2FyeSBiZWNhdXNlIGlmIHlvdSBkaWRuJ3Qg cGF1c2UsIHlvdSBtaWdodCBub3Qga25vdyB3aGVyZSB0aGUgcHJldmlvdXMgd29yZCBlbmRlZCBh bmQgdGhlIG5leHQgd29yZCBiZWdhbi4KCgoKWW91IHNob3VsZCBhbHNvIHB1dCBhIGZ1bGwgc3Rv cCBpbiBiZXR3ZWVuIGEgcGVyc29uJ3MgZmlyc3QgYW5kIGxhc3QgbmFtZXMgKHRob3VnaCBpdCdz IG5vdCBjb21wdWxzb3J5KSwgc28gIkppbSBKb25lcyIgYmVjb21lcyAnJy5kamltLmRqb256Licn LgoKQW4gaW1wb3J0YW50IHJ1bGUgZm9yIExvamJhbmlzaW5nIG5hbWVzIGlzIHRoYXQgdGhlIGxh c3QgbGV0dGVyIG9mIGEgY21ldmxhIChMb2piYW4gbmFtZSkgbXVzdCBiZSBhIGNvbnNvbmFudC4g QWdhaW4sIHRoaXMgaXMgdG8gcHJldmVudCBjb25mdXNpb24gYXMgdG8gd2hlcmUgYSBuYW1lIGVu ZHMsIGFuZCB3aGF0IGlzIGFuZCBpcyBub3QgYSBuYW1lIChhbGwgb3RoZXIgTG9qYmFuIHdvcmRz IGVuZCBpbiBhIHZvd2VsKS4gV2UgdXN1YWxseSB1c2UgJydzJycgZm9yIHRoaXM7IHNvIGluIExv amJhbiwgIk1hcnkiIGJlY29tZXMgJycubWVyaXMuJycgLCAiSm9lIiBiZWNvbWVzICcnLmRqb3Mu JycgYW5kIHNvIG9uLiBBbiBhbHRlcm5hdGl2ZSBpcyB0byBsZWF2ZSBvdXQgdGhlIGxhc3Qgdm93 ZWwsIHNvICJNYXJ5IiB3b3VsZCBiZWNvbWUgJycubWVyLicnIG9yICcnLm1laXIuJycuCgoKClRo ZSBmaW5hbCBwb2ludCBpcyBzdHJlc3MuIEFzIHdlJ3ZlIHNlZW4sIExvamJhbiB3b3JkcyBhcmUg c3RyZXNzZWQgb24gdGhlIHBlbnVsdGltYXRlIHN5bGxhYmxlLCBhbmQgaWYgYSBuYW1lIGhhcyBk aWZmZXJlbnQgc3RyZXNzLCB3ZSB1c2UgY2FwaXRhbCBsZXR0ZXJzLiBUaGlzIG1lYW5zIHRoYXQg dGhlIEVuZ2xpc2ggYW5kIEZyZW5jaCBuYW1lcyAiUm9iZXJ0IiBjb21lIG91dCBkaWZmZXJlbnRs eSBpbiBMb2piYW46IHRoZSBFbmdsaXNoIG5hbWUgaXMgJycucm9ieXQuJycgaW4gVUsgRW5nbGlz aCwgb3IgJycucmFiLHJ0LicnIGluIHNvbWUgQW1lcmljYW4gZGlhbGVjdHMsIGJ1dCB0aGUgRnJl bmNoIGlzICcnLnJvQkVSLicnLgoKVG8gZ2l2ZSBhbiBpZGVhIG9mIGhvdyBhbGwgdGhpcyB3b3Jr cywgaGVyZSBhcmUgc29tZSBuYW1lcyBvZiBmYW1vdXMgcGVvcGxlIGluIHRoZWlyIG93biBsYW5n dWFnZSBhbmQgaW4gTG9qYmFuLgoKCgp8fF9fRW5nbGlzaF9fCgpNYXJnYXJldCBUaGF0Y2hlciB8 JycubWFncnl0LnRhdGN5ci4nJyAobm8gInRoIiBpbiBMb2piYW4gYmVjYXVzZSBtb3N0IHBlb3Bs ZSBhcm91bmQgdGhlIHdvcmxkIGNhbid0IHNheSBpdCEpCgpNaWNrIEphZ2dlciB8JycubWlrLmRq YWd5cy4nJyB8fAoKfHxfX0ZyZW5jaF9fCgpOYXBvbGVvbiBCb25hcGFydGUgfCcnLm5hcG9sZSxP Ti5ib25hUEFSVC4nJwoKSnVsaWV0dGUgQmlub2NoZSB8JycuanVMSUVULmJpbk9DLicnIHx8Cgp8 fF9fQ2hpbmVzZV9fCgpMYW96aSB8JycubGF1ZHouJycKCk1hbyBaZWRvbmcgfCcnLm1hdWR6eURZ Ti4nJyAoRmluYWwgJyduZycnIGlzIGluIExvamJhbiBjb252ZW50aW9uYWxseSB0dXJuZWQgaW50 byBuLikgfHwKCnx8X19UdXJraXNoX18KCk11c3RhZmEgS2VtYWwgfCcnLk1VU3RhZmFzLmtlTUFM LicnCgpFcmtpbiBLb3JheSB8JycuZXJraW4ua29yYWlzLicnIHx8Cgp8fF9fR2VybWFuX18KCkZy aWVkcmljaCBOaWV0enNjaGUgfCcnLmZyaWRyaXgubml0Y3lzLicnCgpDbGFyYSBTY2h1bWFubiB8 Jycua2xhcmFzLmN1bWFuLicnIHx8Cgp8fF9fU3BhbmlzaF9fCgpJc2FiZWwgQWxsZW5kZSB8Jycu aXphQkVMLmFpZW5kZXMuJycKCkNoZSBHdWV2YXJhIHwnJy50Y2VnZXZhcmFzLicnIHx8CgpfX0V4 ZXJjaXNlX18uCgpXaGVyZSBhcmUgdGhlc2UgcGxhY2VzPwoKIy5udSxJT1JLLgoKIy5yb21hcy4K CiMueGF2YW5hcy4KCiMua2FyZGlmLgoKIy5iZWlkamluLgoKIy5BTmthcmFzLgoKIy5BTGJla2Vy a2lzLgoKIy52YW5rdXZlci4KCiMua2VpcHRhdW4uCgojLnRhaWJlaXMuCgojLmJvbi4KCiMuZGVs aXMuCgojLm5pcy4KCiMuYXRpbmFzLgoKIy5saWR6LgoKIy54ZWxzaW5raXMuCgpBbnN3ZXI6Cgp+ fmdyYXksZ3JheTp+fgoKI35+Z3JheSxncmF5Ok5ldyBZb3JrOiBVU0F+fgoKI35+Z3JheSxncmF5 OlJvbWU6IEl0YWx5fn4KCiN+fmdyYXksZ3JheTpIYXZhbmE6IEN1YmF+fgoKI35+Z3JheSxncmF5 OkNhcmRpZmY6IFdhbGVzIChUaGUgV2Vsc2ggZm9yICJDYXJkaWZmIiBpcyAiQ2FlcmR5ZGQiLCB3 aGljaCB3b3VsZCBMb2piYW5pc2UgdG8gc29tZXRoaW5nIGxpa2Uga2FpcmR5ZC4uKX5+Cgojfn5n cmF5LGdyYXk6QmVpamluZzogQ2hpbmF+fgoKI35+Z3JheSxncmF5OkFua2FyYTogVHVya2V5fn4K CiN+fmdyYXksZ3JheTpBbGJlcXVlcnF1ZTogTmV3IE1leGljbywgVVNBfn4KCiN+fmdyYXksZ3Jh eTpWYW5jb3V2ZXI6IENhbmFkYX5+Cgojfn5ncmF5LGdyYXk6Q2FwZSBUb3duOiBTb3V0aCBBZnJp Y2F+fgoKI35+Z3JheSxncmF5OlRhaXBlaTogVGFpd2FuIChub3RlIGIsIG5vdCBwLiBBbHRob3Vn aCBhY3R1YWxseSwgdGhlIGIgaW4gUGlueWluIGlzIHByb25vdW5jZWQgYXMgYSBwLi4uIEJ1dCB0 aGlzIGlzbid0IG1lYW50IHRvIGJlIGEgY291cnNlIG9uIE1hbmRhcmluISl+fgoKI35+Z3JheSxn cmF5OkJvbm46IEdlcm1hbnl+fgoKI35+Z3JheSxncmF5OkRlbGhpOiBJbmRpYSAoVGhlIEhpbmRp IGZvciAiRGVsaGkiIGlzICJEaWxsw64iLCB3aGljaCB3b3VsZCBnaXZlIGRpbGl5cy4gb3IgZGls aSdpcy4uKX5+Cgojfn5ncmF5LGdyYXk6TmljZTogRnJhbmNlfn4KCiN+fmdyYXksZ3JheTpBdGhl bnM6IEdyZWVjZSAoIkF0aGluYSIgaW4gR3JlZWspfn4KCiN+fmdyYXksZ3JheTpMZWVkczogRW5n bGFuZH5+Cgojfn5ncmF5LGdyYXk6SGVsc2lua2k6IEZpbmxhbmR+fgoKX19FeGVyY2lzZV9fLgoK TG9qYmFuaXNlIHRoZSBmb2xsb3dpbmcgbmFtZXMKCiNKb2huCgojTWVsaXNzYQoKI0FtYW5kYQoK I01hdHRoZXcKCiNNaWNoYWVsCgojRGF2aWQgQm93aWUKCiNKYW5lIEF1c3RlbgoKI1dpbGxpYW0g U2hha2VzcGVhcmUKCiNTaWdvdXJuZXkgV2VhdmVyCgojUmljaGFyZCBOaXhvbgoKI0lzdGFuYnVs CgojTWFkcmlkCgojVG9reW8KCiNTYW4gU2FsdmFkb3IKCkFuc3dlcjoKCn5+Z3JheSxncmF5OlRo ZXJlIGFyZSB1c3VhbGx5IGFsdGVybmF0aXZlIHNwZWxsaW5ncyBmb3IgbmFtZXMsIGVpdGhlciBi ZWNhdXNlIHBlb3BsZSBwcm9ub3VuY2UgdGhlIG9yaWdpbmFscyBkaWZmZXJlbnRseSwgb3IgYmVj YXVzZSB0aGUgZXhhY3Qgc291bmQgZG9lc24ndCBleGlzdCBpbiBMb2piYW4sIHNvIHlvdSBuZWVk IHRvIGNob29zZSBiZXR3ZWVuIHR3byBMb2piYW4gbGV0dGVycy4gVGhpcyBkb2Vzbid0IG1hdHRl ciwgc28gbG9uZyBhcyBldmVyeW9uZSBrbm93cyB3aG8gb3Igd2hlcmUgeW91J3JlIHRhbGtpbmcg YWJvdXQufn4KCiN+fmdyYXksZ3JheTouZGpvbi4gKG9yIC5kamFuLiB3aXRoIHNvbWUgYWNjZW50 cyl+fgoKI35+Z3JheSxncmF5Oi5tZWxpc3lzLn5+Cgojfn5ncmF5LGdyYXk6LmFtYW5keXMuIChh Z2FpbiwgZGVwZW5kaW5nIG9uIHlvdXIgYWNjZW50LCB0aGUgZmluYWwgeSBtYXkgYmUgYSwgdGhl IGluaXRpYWwgYSBtYXkgYmUgeSwgYW5kIHRoZSBtaWRkbGUgYSBtYXkgYmUgZS4pfn4KCiN+fmdy YXksZ3JheToubWF0aXVzLn5+Cgojfn5ncmF5LGdyYXk6Lm1haWt5bC4gb3IgLm1haWssbC4gLCBk ZXBlbmRpbmcgb24gaG93IHlvdSBzYXkgaXQufn4KCiN+fmdyYXksZ3JheTouZGVpdnlkLmJhdSxp cy4gb3IgLmJvLGlzLiAoYnV0IG5vdCAuYnUsaXMuIOKAlCB0aGF0J3MgdGhlIGtuaWZlKX5+Cgoj fn5ncmF5LGdyYXk6LmRqZWluLm9zdGluLn5+Cgojfn5ncmF5LGdyYXk6LnVpbGlhbS5jZWtzcGly Ln5+Cgojfn5ncmF5LGdyYXk6LnNpZ29ybmlzLnVpdnlyLiBvciAuc3lnb3JuaXMudWl2eXIufn4K CiN+fmdyYXksZ3JheToucml0Y3lyZC5uaWtzeW4ufn4KCiN+fmdyYXksZ3JheTouaXN0YW5CVUwu IHdpdGggRW5nbGlzaCBzdHJlc3MsIC5JU3RhbmJ1bC4gd2l0aCBBbWVyaWNhbiwgLmlzdGFuYnVs LiB3aXRoIFR1cmtpc2guIExvamJhbmlzdHMgZ2VuZXJhbGx5IHByZWZlciB0byBiYXNlIGNtZXZs YSBvbiBsb2NhbCBwcm9udW5jaWF0aW9uLCBidXQgdGhpcyBpcyBub3QgYW4gYWJzb2x1dGUgcnVs ZS5+fgoKI35+Z3JheSxncmF5Oi5tYURSSUQufn4KCiN+fmdyYXksZ3JheToudG9raW9zLn5+Cgoj fn5ncmF5LGdyYXk6LnNhbi5zYWx2YURPUi4gKHdpdGggU3BhbmlzaCBzdHJlc3MpIDwvc3Bhbj48 L2h0bWw+fn4KCiEhISFMb2piYW4gd29yZHMgYXMgbmFtZXMKCkJ5IG5vdyB5b3Ugc2hvdWxkIGJl IGFibGUgdG8gTG9qYmFuaXNlIHlvdXIgb3duIG5hbWUuIEhvd2V2ZXIsIGlmIHlvdSBwcmVmZXIs IHlvdSBjYW4gdHJhbnNsYXRlIHlvdXIgbmFtZSBpbnRvIExvamJhbiAoaWYgeW91IGtub3cgd2hh dCBpdCBtZWFucywgb2YgY291cnNlKSBvciBhZG9wdCBhIGNvbXBsZXRlbHkgbmV3IExvamJhbiBp ZGVudGl0eS4gTmF0aXZlIEFtZXJpY2FucyBnZW5lcmFsbHkgdHJhbnNsYXRlIHRoZWlyIG5hbWUg d2hlbiBzcGVha2luZyBFbmdsaXNoLCBwYXJ0bHkgYmVjYXVzZSB0aGV5IGhhdmUgbWVhbmluZ2Z1 bCBuYW1lcywgYW5kIHBhcnRseSBiZWNhdXNlIHRoZXkgZG9uJ3QgZXhwZWN0IHRoZSAid2FzaWNo dSIgdG8gYmUgYWJsZSB0byBwcm9ub3VuY2Ugd29yZHMgaW4gTGFrb3RhLCBDaGVyb2tlZSBvciB3 aGF0ZXZlciEKCkxvamJhbiB3b3JkcyAoZXhjZXB0IGNtZXZsYSkgZW5kIGluIGEgdm93ZWwuIFlv dSBjYW4gdXNlIGxvamJhbiB3b3JkcyBhcyBuYW1lcyB0b28uIEJ1dCBpZiB5b3UgcHJlZmVyIHRo YXQgeW91ciBuYW1lIGlzIGEgY21ldmxhIGFuZCBpdCBlbmRzIGluIGEgdm93ZWwgdGhlbiB5b3Ug Y2FuIGVpdGhlciBhZGQgYSBjb25zb25hbnQgdG8gdGhlIGVuZCBvZiBpdCBvciBqdXN0IGNob3Ag dGhlIGVuZCB2b3dlbCBvZmYuCgpIZXJlIGFyZSBhIGZldyBleGFtcGxlcyAob3JpZ2luYWwgbmFt ZSwgbWVhbmluZywgbmFtZSBhbmQgbmFtZSBhcyBjbWV2bGEpOgoKKkZpc2gg4oCTIGZpbnBlIOKA kyAnJy5maW5wLicnCgoqQmrDtnJuIChTY2FuZGluYXZpYW4gPSBiZWFyKSDigJMgY3JpYmUg4oCT ICcnLmNyaWIuJycKCipHcmVlbiDigJMgY3Jpbm8g4oCTICcnLmNyaW4uJycKCipNZWkgTGkgKENo aW5lc2UgPSBiZWF1dGlmdWwpIOKAkyBtZWxiaSDigJMgJycubWVsYi4nJwoKKkF5aGFuIChUdXJr aXNoID0gTW9vbiBMb3JkKSDigJMgbHVucmEgbm9ibGkgKD0gbHVybm9ibGkpIOKAkyAnJy5sdXJu b2JsaXMuJycKCgoKISFMb2piYW4gTGVzc29ucyDigJMgbGVzc29uIG9uZSAoYnJpZGksIGp1ZnJh LCBzdW10aSBhbmQgc2VsYnJpKQoKQSAnJ2JyaWRpJycgaXMgdGhlIG1vc3QgY2VudHJhbCB1bml0 IG9mIExvamJhbiB1dHRlcmFuY2VzLiBUaGUgY29uY2VwdCBpcyB2ZXJ5IGNsb3NlIHRvIHdoYXQg d2UgY2FsbCBhIHByb3Bvc2l0aW9uIGluIEVuZ2xpc2guIEEgYnJpZGkgaXMgYSBjbGFpbSB0aGF0 IHNvbWUgb2JqZWN0cyBzdGFuZCBpbiBhIHJlbGF0aW9uIHRvIGVhY2ggb3RoZXIsIG9yIHRoYXQg YW4gb2JqZWN0IGhhcyBzb21lIHByb3BlcnR5LiBUaGlzIHN0YW5kcyBpbiBjb250cmFzdCB0byAn J2p1ZnJhJycsIHdoaWNoIGFyZSBtZXJlbHkgTG9qYmFuIHV0dGVyYW5jZXMsIHdoaWNoIGNhbiBi ZSBicmlkaSBvciBhbnl0aGluZyBlbHNlIGJlaW5nIHNhaWQuIFRoZSBkaWZmZXJlbmNlIGJldHdl ZW4gYSBicmlkaSBhbmQgYSBqdWZyYSBpcyB0aGF0IGEganVmcmEgZG9lcyBub3QgbmVjZXNzYXJp bHkgc3RhdGUgYW55dGhpbmcsIHdoaWxlIGEgYnJpZGkgZG9lcy4gVGh1cywgYSBicmlkaSBtaWdo dCBiZSB0cnVlIG9yIGZhbHNlLCB3aGlsZSBub3QgYWxsIGp1ZnJhIGNhbiBiZSBzYWlkIHRvIGJl IHN1Y2guCgpUbyBoYXZlIHNvbWUgZXhhbXBsZXMgKGluIEVuZ2xpc2gsIHRvIGJlZ2luIHdpdGgp LCDigJxNb3phcnQgd2FzIHRoZSBncmVhdGVzdCBtdXNpY2lhbiBvZiBhbGwgdGltZeKAnSBpcyBh IGJyaWRpLCBiZWNhdXNlIGl0IG1ha2VzIGEgY2xhaW0gd2l0aCBhIHRydXRoIHZhbHVlLCBhbmQg aXQgaW52b2x2ZXMgYW4gb2JqZWN0LCBNb3phcnQsIGFuZCBhIHByb3BlcnR5LCBiZWluZyB0aGUg Z3JlYXRlc3QgbXVzaWNpYW4gb2YgYWxsIHRpbWUuIE9uIHRoZSBjb250cmFyeSwg4oCcT3chIE15 IHRvZSHigJ0gaXMgbm90IGEgYnJpZGksIHNpbmNlIGl0IGRvZXMgbm90IGludm9sdmUgYSByZWxh dGlvbiwgYW5kIHRodXMgZG9lcyBub3Qgc3RhdGUgYW55dGhpbmcuIEJvdGgsIHRob3VnaCwgYXJl IGp1ZnJhLgoKVHJ5IHRvIGlkZW50aWZ5IHRoZSBicmlkaSBhbW9uZyB0aGVzZSBFbmdsaXNoIGp1 ZnJhOgoKCgojIOKAnEkgaGF0ZSBpdCB3aGVuIHlvdSBkbyB0aGF0LuKAnQoKIyDigJxSdW5zLuKA nQoKIyDigJxXb2FoLCB0aGF0IGxvb2tzIGRlbGljaW91cyHigJ0KCiMg4oCcR2Vleiwgbm90IGFn YWluLuKAnQoKIyDigJxObywgSSBvd24gdGhyZWUgY2Fyc+KAnQoKIyDigJxOaW5ldGVlbiBtaW51 dGVzIHBhc3QgZWlnaHQu4oCdCgojIOKAnFRoaXMgU2F0dXJkYXksIHllcy7igJ0KCgoKQW5zd2Vy OiB+fmdyZXksZ3JleToxLCAzIGFuZCA1IGFyZSBicmlkaS4gMiBjb250YWlucyBubyBvYmplY3Rz IGFuZCB0aGUgcmVzdCBjb250YWluIG5vIHJlbGF0aW9uIG9yIGNsYWltIG9mIGEgcHJvcGVydHku fn4KCgoKUHV0IGluIExvamJhbiB0ZXJtcywgYSBicmlkaSBjb25zaXN0cyBvZiBvbmUgJydzZWxi cmknJywgYW5kIG9uZSBvciBtb3JlICcnc3VtdGknJy4gVGhlIHNlbGJyaSBpcyB0aGUgcmVsYXRp b24gb3IgY2xhaW0gYWJvdXQgdGhlIG9iamVjdCwgYW5kIHRoZSBzdW10aSBhcmUgdGhlIG9iamVj dHMgd2hpY2ggYXJlIGluIGEgcmVsYXRpb24uIE5vdGUgdGhhdCDigJxvYmplY3TigJ0gaXMgbm90 IGEgcGVyZmVjdCB0cmFuc2xhdGlvbiBvZiDigJxzdW10aeKAnSwgc2luY2Ug4oCcc3VtdGnigJ0g Y2FuIHJlZmVyIHRvIG5vdCBqdXN0IHBoeXNpY2FsIG9iamVjdHMsIGJ1dCBjYW4gYWxzbyBwdXJl bHkgYWJzdHJhY3QgdGhpbmdzIGxpa2Ug4oCcVGhlIGlkZWEgb2Ygd2FyZmFyZeKAnS4gQSBiZXR0 ZXIgdHJhbnNsYXRpb24gd291bGQgYmUgc29tZXRoaW5nIGxpa2Ug4oCcc3ViamVjdCwgZGlyZWN0 IG9yIGluZGlyZWN0IG9iamVjdOKAnSBmb3Igc3VtdGksIGFuZCDigJx2ZXJi4oCdIGZvciBzZWxi cmksIHRob3VnaCwgYXMgd2Ugd2lsbCBzZWUsIHRoaXMgaXMgbm90IG9wdGltYWwgZWl0aGVyLgoK V2UgY2FuIG5vdyB3cml0ZSB0aGUgZmlyc3QgaW1wb3J0YW50IGxlc3NvbiBkb3duOgoKYnJpZGkg PSBzZWxicmkgKyBvbmUgb3IgbW9yZSBzdW10aQoKUHV0IGFub3RoZXIgd2F5LCBhIGJyaWRpIHN0 YXRlcyB0aGF0IHNvbWUgc3VtdGkgZG8vYXJlIHNvbWV0aGluZyBleHBsYWluZWQgYnkgYSBzZWxi cmkuCgoKCklkZW50aWZ5IHRoZSBzdW10aSBhbmQgc2VsYnJpIGVxdWl2YWxlbnRzIGluIHRoZXNl IEVuZ2xpc2gganVmcmE6CgrigJxJIHdpbGwgcGljayB1cCBteSBkYXVnaHRlcnMgd2l0aCBteSBj YXLigJ0KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTpzZWxicmk6IOKAnHBpY2sgdXAgKHdpdGgp4oCd LiBzdW10aTog4oCcSeKAnSwg4oCcbXkgZGF1Z2h0ZXJz4oCdLCDigJxteSBjYXLigJ1+fgoKCgri gJxIZSBib3VnaHQgNSBuZXcgc2hpcnRzIGZyb20gTWFyayBmb3IganVzdCB0d28gaHVuZHJlZCBl dXJvIeKAnQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OnNlbGJyaTog4oCcYm91Z2h0IChmcm9tKSAo Zm9yKeKAnSBzdW10aTog4oCcSGXigJ0sIOKAnDUgbmV3IHNoaXJ0c+KAnSwg4oCcTWFya+KAnSBh bmQg4oCcdHdvIGh1bmRyZWQgZXVyb3PigJ1+fgoKCgpTaW5jZSB0aGVzZSBjb25jZXB0cyBhcmUg c28gZnVuZGFtZW50YWwgdG8gTG9qYmFuLCBsZXQncyBoYXZlIGEgdGhpcmQgZXhhbXBsZTog4oCc U28gZmFyLCB0aGUgRVBBIGhhcyBkb25lIG5vdGhpbmcgYWJvdXQgdGhlIGFtb3VudCBvZiBzdWxw aHVyIGRpb3hpZGUu4oCdCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6c2VsYnJpOiDigJxoYXMgZG9u ZSAoYWJvdXQp4oCdIHN1bXRpOiDigJxUaGUgRVBB4oCdLCDigJxub3RoaW5n4oCdIGFuZCDigJx0 aGUgYW1vdW50IG9mIHN1bHBodXIgZGlveGlkZeKAnX5+CgoKCk5vdyB0cnkgYmVnaW4gbWFraW5n IExvamJhbiBicmlkaS4gRm9yIHRoaXMgeW91IHdpbGwgbmVlZCB0byB1c2Ugc29tZSB3b3Jkcywg d2hpY2ggY2FuIGFjdCBhcyBzZWxicmk6CgonJ19fZHVuZGFfXycnIHgxIGdpdmVzIHgyIHRvIHgz ICh3aXRob3V0IHBheW1lbnQpCgonJ19fcGVseHVfXycnIHgxIGlzIHllbGxvdwoKJydfX3pkYW5p X18nJyB4MSBpcyBhIGhvbWUgb2YgeDIKCgoKTm90aWNlIHRoYXQgdGhlc2Ugd29yZHMgbWVhbmlu ZyDigJxnaXZl4oCdLCDigJx5ZWxsb3figJ0gYW5kIOKAnGhvbWXigJ0gd291bGQgYmUgY29uc2lk ZXJlZCBhIHZlcmIsIGFuIGFkamVjdGl2ZSBhbmQgYSBub3VuIGluIEVuZ2xpc2guIEluIExvamJh biwgdGhlcmUgYXJlIG5vIHN1Y2ggY2F0ZWdvcmllcyBhbmQgbm8gc3VjaCBkaXN0aW5jdGlvbi4g JydkdW5kYScnIGNhbiBiZSB0cmFuc2xhdGVkIOKAnGdpdmVz4oCdICh2ZXJiKSwg4oCcaXMgYSBn aXZlcuKAnSAobm91biksIOKAnGlzIGdpdmluZ+KAnSAoYWRqZWN0aXZlKSBhcyB3ZWxsIGFzIHRv IGFuIGFkdmVyYiBmb3JtLiBUaGV5IGFsbCBhY3QgYXMgc2VsYnJpLCBhbmQgYXJlIHVzZWQgaW4g dGhlIHNhbWUgd2F5LgoKCgpBcyB3ZWxsIGFzIGEgZmV3IHdvcmRzLCB3aGljaCBjYW4gYWN0IGFz IHN1bXRpOgoKJydfX21pX18nJyDigJxJ4oCdIG9yIOKAnHdl4oCdIOKAkyB0aGUgb25lIG9yIHRo b3NlIHdobyBhcmUgc3BlYWtpbmcuCgonJ19fdGlfXycnIOKAnHRoaXPigJ0g4oCTIGEgY2xvc2Ug dGhpbmcgb3IgZXZlbnQgbmVhcmJ5IHdoaWNoIGNhbiBiZSBwb2ludGVkIHRvIGJ5IHRoZSBzcGVh a2VyLgoKJydfX2RvX18nJyDigJx5b3XigJ0g4oCTIHRoZSBvbmUgb3IgdGhvc2Ugd2hvIGFyZSBi ZWluZyBzcG9rZW4gdG8uCgoKClNlZSB0aGUgc3RyYW5nZSB0cmFuc2xhdGlvbnMgb2YgdGhlIHNl bGJyaSBhYm92ZSAtIGVzcGVjaWFsbHkgdGhlIHgxLCB4MiBhbmQgeDM/IFRob3NlIGFyZSBjYWxs ZWQgc3VtdGkgcGxhY2VzLiBUaGV5IGFyZSBwbGFjZXMgd2hlcmUgc3VtdGkgY2FuIGdvIHRvIGZp bGwgYSBicmlkaS4gRmlsbGluZyBhIHN1bXRpIGluIGEgcGxhY2Ugc3RhdGVzIHRoYXQgdGhlIHN1 bXRpIGZpdHMgaW4gdGhhdCBwbGFjZS4gVGhlIHNlY29uZCBwbGFjZSBvZiAnJ2R1bmRhJycsIGZv ciBleGFtcGxlLCB4MiwgaXMgdGhlIHRoaW5nIGJlaW5nIGdpdmVuLiBUaGUgdGhpcmQgaXMgdGhl IG9iamVjdCB3aGljaCByZWNlaXZlcyB0aGUgdGhpbmcuIE5vdGljZSBhbHNvIHRoYXQgdGhlIHRy YW5zbGF0aW9uIG9mICcnZHVuZGEnJyBoYXMgdGhlIHdvcmQg4oCcdG/igJ0gaW4gaXQuIFRoaXMg aXMgYmVjYXVzZSwgd2hpbGUgdGhpcyB3b3JkIGlzIG5lZWRlZCBpbiBFbmdsaXNoIHRvIHNpZ25p ZnkgdGhlIHJlY2VpdmVyLCB0aGUgcmVjZWl2ZXIgaXMgaW4gdGhlIHRoaXJkIHN1bXRpIHBsYWNl IG9mICcnZHVuZGEnJy4gU28gd2hlbiB5b3UgZmlsbCB0aGUgdGhpcmQgc3VtdGkgcGxhY2Ugb2Yg JydkdW5kYScnLCB0aGUgc3VtdGkgeW91IGZpbGwgaW4gaXMgYWx3YXlzIHRoZSByZWNlaXZlciwg YW5kIHlvdSBkb24ndCBuZWVkIGFuIGVxdWl2YWxlbnQgdG8gdGhlIHdvcmQg4oCcdG/igJ0hCgoK ClRvIHNheSBhIGJyaWRpLCB5b3Ugc2ltcGx5IHNheSB0aGUgeDEgc3VtdGkgZmlyc3QsIHRoZW4g dGhlIHNlbGJyaSwgdGhlbiBhbnkgb3RoZXIgc3VtdGkuCgpVc3VhbCBicmlkaToge3gxIHN1bXRp fSBfX3tzZWxicml9X18ge3gyIHN1bXRpfSB7eDMgc3VtdGl9IHt4NCBzdW10aX0ge3g1IHN1bXRp fSB7YW5kIHNvIG9ufQoKVGhlIG9yZGVyIGNhbiBiZSBwbGF5ZWQgYXJvdW5kIHdpdGgsIGJ1dCBm b3Igbm93LCB3ZSBzdGljayB3aXRoIHRoZSB1c3VhbCBmb3JtLiBUbyBzYXkg4oCcSSBnaXZlIHRo aXMgdG8geW914oCdIHlvdSBqdXN0IHNheSAnJ21pIGR1bmRhIHRpIGRvJycsIHdpdGggdGhlIHRo cmVlIHN1bXRpIGF0IHRoZSByaWdodCBwbGFjZXMuCgoKClNvLCBob3cgd291bGQgeW91IHNheSDi gJxUaGlzIGlzIGEgaG9tZSBvZiBtZeKAnT8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ3RpIHpk YW5pIG1pJyd+fgoKCgpUcnkgYSBmZXcgbW9yZSBpbiBvcmRlciB0byBnZXQgdGhlIGlkZWEgb2Yg YSBwbGFjZSBzdHJ1Y3R1cmUgc2luayBpbi4KCgoK4oCcWW91IGdpdmUgdGhpcyB0byBtZeKAnT8K CgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ2RvIGR1bmRhIHRpIG1pJyd+fgoKCgpBbmQgdHJhbnNs YXRlICcndGkgcGVseHUnJwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnFRoaXMgaXMgeWVsbG93 LuKAnX5+CgoKClF1aXRlIGVhc3kgb25jZSB5b3UgZ2V0IHRoZSBoYW5nIG9mIGl0LCByaWdodD8K CgoKTXVsdGlwbGUgYnJpZGkgYWZ0ZXIgZWFjaCBvdGhlciBhcmUgc2VwYXJhdGVkIGJ5ICcnLmkn JyBUaGlzIGlzIHRoZSBMb2piYW4gZXF1aXZhbGVudCBvZiBmdWxsIHN0b3AsIGJ1dCBpdCB1c3Vh bGx5IGdvZXMgYmVmb3JlIGJyaWRpIGluc3RlYWQgb2YgYWZ0ZXIgdGhlbS4gSXQncyBvZnRlbiBs ZWZ0IG91dCBiZWZvcmUgdGhlIGZpcnN0IGJyaWRpLCB0aG91Z2gsIGFzIGluIGFsbCB0aGVzZSBl eGFtcGxlczoKCicnX18uaV9fJycgU2VudGVuY2Ugc2VwYXJhdG9yLiBTZXBhcmF0ZXMgYW55IHR3 byBqdWZyYSAoYW5kIHRoZXJlZm9yZSBhbHNvIGJyaWRpKS4KCgoKJyd0aSB6ZGFuaSBtaSAgLmkg dGkgcGVseHUnJyDigJ1UaGlzIGlzIGEgaG9tZSB0byBtZS4gVGhpcyBpcyB5ZWxsb3cu4oCdCgoK CkJlZm9yZSB5b3UgbW92ZSBvbiB0byB0aGUgbmV4dCBsZXNzb24sIEkgcmVjb21tZW5kIHRoYXQg eW91IHRha2UgYSBicmVhayBmb3IgYXQgbGVhc3Qgc2V2ZW4gbWludXRlcyB0byBsZXQgdGhlIGlu Zm9ybWF0aW9uIHNpbmsgaW4uCgoKCgoKISFMb2piYW4gTGVzc29ucyDigJMgbGVzc29uIHR3byAo RkEgYW5kIHpvJ2UpCgpNb3N0IHNlbGJyaSBoYXZlIGZyb20gb25lIHRvIGZpdmUgc3VtdGkgcGxh Y2VzLCBidXQgc29tZSBoYXZlIG1vcmUuIEhlcmUgaXMgYSBzZWxicmkgd2l0aCBmb3VyIHN1bXRp IHBsYWNlczoKCicnX192ZWNudV9fJycgeDEgc2VsbHMgeDIgdG8geDMgZm9yIHByaWNlIHg0CgoK CklmIEkgd2FudCB0byBzYXkg4oCcSSBzZWxsIHRoaXPigJ0sIGl0IHdvdWxkIGJlIHRvbyBtdWNo IHRvIGhhdmUgdG8gZmlsbCB0aGUgc3VtdGkgcGxhY2VzIHgzIGFuZCB4NCwgd2hpY2ggc3BlY2lm eSB3aG8gSSBzZWxsIHRoZSB0aGluZyB0bywgYW5kIGZvciB3aGF0IHByaWNlLiBMdWNraWx5LCBJ IGRvbid0IG5lZWQgdG8uIHN1bXRpIHBsYWNlcyBjYW4gYmUgZmlsbGVkIHdpdGggJyd6bydlJycu ICcnem8nZScnIGluZGljYXRlcyB0byB1cyB0aGF0IHRoZSB2YWx1ZSBvZiB0aGUgc3VtdGkgcGxh Y2UgaXMgdW5zcGVjaWZpZWQgYmVjYXVzZSBpdCdzIHVuaW1wb3J0YW50IG9yIGNhbiBiZSBkZXRl cm1pbmVkIGZyb20gY29udGV4dC4KCicnX196bydlX18nJyDigJxzb21ldGhpbmfigJ0gRmlsbHMg YSBzdW10aSBwbGFjZSB3aXRoIHNvbWV0aGluZywgYnV0IGRvZXMgbm90IHN0YXRlIHdoYXQuCgoK ClNvIHRvIHNheSDigJxJIHNlbGwgdG8geW914oCdLCBJIGNvdWxkIHNheSAnJ21pIHZlY251IHpv J2UgZG8gem8nZScnIOKAkyBJIHNlbGwgc29tZXRoaW5nIHRvIHlvdSBmb3Igc29tZSBwcmljZS4K CkhvdyB3b3VsZCB5b3Ugc2F5OiDigJxUaGF0J3MgYSBob21lIChmb3Igc29tZWJvZHkp4oCdPwoK CgpBbnN3ZXI6IH5+Z3JleSxncmV5OiAnJ3RpIHpkYW5pIHpvJ2UnJ35+CgoKCkhvdyBhYm91dCDi gJwoc29tZW9uZSkgZ2l2ZXMgdGhpcyB0byAoc29tZW9uZSnigJ0/CgoKCkFuc3dlcjogfn5ncmV5 LGdyZXk6Jyd6bydlIGR1bmRhIHRpIHpvJ2UnJ35+CgoKClN0aWxsLCBmaWxsaW5nIG91dCB0aHJl ZSB6bydlIGp1c3QgdG8gc2F5IHRoYXQgYSB0aGluZyBpcyBiZWluZyBzb2xkIHRha2VzIHRpbWUu IFRoZXJlZm9yZSB5b3UgZG9uJ3QgbmVlZCB0byB3cml0ZSBhbGwgdGhlICcnem8nZScnIGluIGEg YnJpZGkuIFRoZSBydWxlIHNpbXBseSBpcyB0aGF0IGlmIHlvdSBsZWF2ZSBvdXQgYW55IHN1bXRp LCB0aGV5IHdpbGwgYmUgY29uc2lkZXJlZCBhcyBpZiB0aGV5IGNvbnRhaW5lZCAnJ3pvJ2UnJy4g SWYgdGhlIGJyaWRpIGJlZ2lucyB3aXRoIGEgc2VsYnJpLCB0aGUgeDEgaXMgcHJlc3VtZWQgdG8g YmUgb21pdHRlZCBhbmQgaXQgYmVjb21lcyAnJ3pvJ2UnJy4KClRyeSBpdCBvdXQuIFdoYXQncyBM b2piYW4gZm9yIOKAnEkgc2VsbOKAnT8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ21pIHZlY251 Jyd+fgoKCgpBbmQgd2hhdCBkb2VzICcnemRhbmkgbWknJyBtZWFuPwoKCgpBbnN3ZXI6IH5+Z3Jl eSxncmV5OuKAnFNvbWV0aGluZyBpcyBhIGhvbWUgb2YgbWXigJ0gb3IganVzdCDigJxJIGhhdmUg YSBob21lLuKAnX5+CgoKCkFzIG1lbnRpb25lZCBlYXJsaWVyLCB0aGUgZm9ybSBkb2Vzbid0IGhh dmUgdG8gYmUge3gxIHN1bXRpfSB7c2VsYnJpfSB7eDIgc3VtdGl9IHt4MyBzdW10aX0gKGVjdC4p IEluIGZhY3QsIHlvdSBjYW4gcGxhY2UgdGhlIHNlbGJyaSBhbnl3aGVyZSB5b3Ugd2FudCwganVz dCBub3QgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgYnJpZGkuIElmIHlvdSBkbyB0aGF0LCB0aGUg eDEgaXMgY29uc2lkZXJlZCBsZWZ0IG91dCBhbmQgZmlsbGVkIHdpdGggJyd6bydlJycgaW5zdGVh ZC4gU28gdGhlIGZvbGxvd2luZyB0aHJlZSBqdWZyYSBhcmUgYWxsIHRoZSBleGFjdGx5IHNhbWUg YnJpZGk6CgonJ21pIGR1bmRhIHRpIGRvJycKCicnbWkgdGkgZHVuZGEgZG8nJwoKJydtaSB0aSBk byBkdW5kYScnCgoKClNvbWV0aW1lcyB0aGlzIGlzIHVzZWQgZm9yIHBvZXRpYyBlZmZlY3QuIOKA nFlvdSBzZWxsIHlvdXJzZWxm4oCdIGNvdWxkIGJlICcnZG8gZG8gdmVjbnUnJywgd2hpY2ggc291 bmRzIGJldHRlciB0aGFuICcnZG8gdmVjbnUgZG8nJy4gT3IgaXQgY2FuIGJlIHVzZWQgZm9yIGNs YXJpdHkgaWYgdGhlIHNlbGJyaSBpcyB2ZXJ5IGxvbmcgYW5kIHRoZXJlZm9yZSBiZXR0ZXIgYmUg bGVmdCBhdCB0aGUgZW5kIG9mIHRoZSBicmlkaS4KCgoKVGhlcmUgYXJlIGFsc28gc2V2ZXJhbCB3 YXlzIHRvIHBsYXkgYXJvdW5kIHdpdGggdGhlIG9yZGVyIG9mIHRoZSBzdW10aSBpbnNpZGUgdGhl IGJyaWRpLiBUaGUgZWFzaWVzdCBvbmUgaXMgYnkgdXNpbmcgdGhlIHdvcmRzICcnZmEnJywgJydm ZScnLCAnJ2ZpJycsICcnZm8nJyBhbmQgJydmdScnLiBOb3RpY2UgdGhhdCB0aGUgdm93ZWxzIGFy ZSB0aGUgZml2ZSB2b3dlbHMgaW4gdGhlIExvamJhbiBhbHBoYWJldCBpbiBvcmRlci4gVXNpbmcg b25lIG9mIHRoZXNlIHdvcmRzIG1hcmtzIHRoYXQgdGhlIG5leHQgc3VtdGkgd2lsbCBmaWxsIHRo ZSB4MSwgeDIsIHgzLCB4NCBhbmQgeDUgcmVzcGVjdGl2ZWx5LiBUaGUgbmV4dCBzdW10aSBhZnRl ciB0aGF0IHdpbGwgYmUgcHJlc3VtZWQgdG8gZmlsbCBhIHNsb3Qgb25lIGdyZWF0ZXIgdGhhbiB0 aGUgcHJldmlvdXMuIFRvIHVzZSBhbiBleGFtcGxlOgoKJydkdW5kYSBmYSBkbyBmZSB0aSBkbycn IOKAkyDigJxHaXZpbmcgYnkgeW91IG9mIHRoaXMgdGhpbmcgdG8geW914oCdLiAnJ2ZhJycgbWFy a3MgdGhlIHgxLCB0aGUgZ2l2ZXIsIHdoaWNoIGlzIHlvdS4gJydmZScnIG1hcmtzIHRoZSB0aGlu ZyBiZWluZyBnaXZlbiwgdGhlIHgyLiBTdW10aSBjb3VudGluZyB0aGVuIGNvbnRpbnVlcyBmcm9t ICcnZmUnJywgbWVhbmluZyB0aGF0IHRoZSBsYXN0IHN1bXRpIGZpbGxzIHgzLCB0aGUgb2JqZWN0 IHJlY2VpdmluZy4KCgoKQXR0ZW1wdCB0byB0cmFuc2xhdGUgdGhlIGZvbGxvd2luZyB0aHJlZSBz ZW50ZW5jZXM6CgoKCicnbWkgdmVjbnUgZm8gdGkgZmUgZG8nJwoKCgpBbnN3ZXI6IH5+Z3JleSxn cmV5OuKAnUkgc2VsbCwgZm9yIHRoZSBwcmljZSBvZiB0aGlzLCB5b3XigJ0uIG9yIOKAnEkgc2Vs bCB5b3UgZm9yIHRoZSBwcmljZSBvZiB0aGlz4oCdIChwcm9iYWJseSBwb2ludGluZyB0byBhIGJ1 bmNoIG9mIG1vbmV5KX5+CgoKCicnemRhbmkgZmUgdGknJwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5 OuKAnFRoaXMgaGFzIGEgaG9tZeKAnS4gSGVyZSwgdGhlIGZlIGlzIHJlZHVuZGFudC5+fgoKCgon J3ZlY251IHpvJ2UgbWkgdGkgZmEgZG8nJwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnFlvdSBz ZWxsIHNvbWV0aGluZyB0byBtZSBmb3IgdGhpcyBwcmljZeKAnX5+CgoKCgoKISFMb2piYW4gTGVz c29ucyDigJMgbGVzc29uIHRocmVlICh0YW5ydSBhbmQgbG8pCgpJbiB0aGlzIGxlc3NvbiwgeW91 IHdpbGwgYmVjb21lIGZhbWlsaWFyIHdpdGggdGhlIGNvbmNlcHQgb2YgYSAnJ3RhbnJ1JycuIEEg dGFucnUgaXMgZm9ybWVkIHdoZW4gYSBzZWxicmkgaXMgcHV0IGluIGZyb250IG9mIGFub3RoZXIg c2VsYnJpLCBtb2RpZnlpbmcgaXRzIG1lYW5pbmcuIEEgdGFucnUgaXMgaXRzZWxmIGEgc2VsYnJp LCBhbmQgY2FuIGNvbWJpbmUgd2l0aCBvdGhlciBzZWxicmkgb3IgdGFucnUgdG8gZm9ybSBtb3Jl IGNvbXBsZXggdGFucnUuIFRodXMgJyd6ZGFuaSB2ZWNudScnIGlzIGEgdGFucnUsIGFzIHdlbGwg YXMgICcncGVseHUgemRhbmkgdmVjbnUnJywgd2hpY2ggaXMgbWFkZSBmcm9tIHRoZSB0YW5ydSAn J3BlbHh1IHpkYW5pJycgYW5kIHRoZSBzaW5nbGUgYnJpdmxhIHdvcmQgJyd2ZWNudScnLiBUbyB1 bmRlcnN0YW5kIHRoZSBjb25jZXB0IG9mIHRhbnJ1LCBjb25zaWRlciB0aGUgRW5nbGlzaCBub3Vu IGNvbWJpbmF0aW9uIOKAnGxlbW9uIHRyZWXigJ0uIElmIHlvdSBkaWRuJ3Qga25vdyB3aGF0IGEg bGVtb24gdHJlZSB3YXMsIGJ1dCBoYWQgaGVhcmQgYWJvdXQgYm90aCBsZW1vbnMgYW5kIHRyZWVz LCB5b3Ugd291bGQgbm90IGJlIGFibGUgdG8gZGVkdWNlIHdoYXQgYSBsZW1vbiB0cmVlIHdhcy4g UGVyaGFwcyBhIGxlbW9uLWNvbG9yZWQgdHJlZSwgb3IgYSB0cmVlIHNoYXBlZCBsaWtlIGEgbGVt b24sIG9yIGEgdHJlZSB3aG9zZSBiYXJrIHRhc3RlcyBsaWtlIGxlbW9uLiBUaGUgb25seSB0aGlu Z3MgeW91IGNvdWxkIGtub3cgZm9yIHN1cmUgd291bGQgYmUgdGhhdCBpdCB3b3VsZCBiZSBhIHRy ZWUsIGFuZCBpdCB3b3VsZCBiZSBsZW1vbi1saWtlIGluIHNvbWUgd2F5LgoKQSB0YW5ydSBpcyBj bG9zZWx5IGFuYWxvZ291cyB0byB0aGlzLiBJdCBjYW5ub3QgYmUgc2FpZCBleGFjdGx5IHdoYXQg YSAnJ3pkYW5pIHZlY251JycgaXMsIGJ1dCBpdCBjYW4gYmUgc2FpZCB0aGF0IGl0IGlzIGRlZmlu aXRlbHkgYSB2ZWNudSwgYW5kIHRoYXQgaXQncyB6ZGFuaS1saWtlIGluIHNvbWUgd2F5LiBBbmQg aXQgY291bGQgYmUgemRhbmktbGlrZSBpbiBhbnkgd2F5LiBJbiB0aGVvcnksIG5vIG1hdHRlciBo b3cgc2lsbHkgb3IgYWJzdXJkIHRoZSBjb25uZWN0aW9uIHRvIHpkYW5pIHdhcywgaXQgY291bGQg c3RpbGwgdHJ1bHkgYmUgYSAnJ3pkYW5pIHZlY251JycuIEhvd2V2ZXIsIGl0IG11c3QgYWN0dWFs bHkgYmUgYSB2ZWNudSBpbiB0aGUgb3JkaW5hcnkgc2Vuc2UgaW4gb3JkZXIgZm9yIHRoZSB0YW5y dSB0byBhcHBseS4gWW91IGNvdWxkIGdsb3NzICcnemRhbmkgdmVjbnUnJyBhcyDigJxob21lIHNl bGxlcuKAnSwgb3IgZXZlbiBiZXR0ZXIgYnV0IHdvcnNlIHNvdW5kaW5nIOKAnGEgaG9tZS10eXBl LW9mIHNlbGxlcuKAnS4gVGhlIHBsYWNlIHN0cnVjdHVyZSBvZiBhIHRhbnJ1IGlzIGFsd2F5cyB0 aGF0IG9mIHRoZSByaWdodG1vc3Qgc2VsYnJpLiBJdCdzIGFsc28gc2FpZCB0aGF0IHRoZSBsZWZ0 IHNlbGJyaSBtb2RpZmllcyB0aGUgcmlnaHQgc2VsYnJpLgoK4oCcUmVhbGx5P+KAnSwgeW91IGFz aywgc2NlcHRpY2FsbHksIOKAnEl0IGRvZXNuJ3QgbWF0dGVyIGhvdyBzaWxseSB0aGUgY29ubmVj dGlvbiB0byB0aGUgbGVmdCB3b3JkIGluIGEgdGFucnUgaXMsIGl0J3Mgc3RpbGwgdHJ1ZT8gU28g SSBjb3VsZCBjYWxsIGFsbCBzZWxsZXJzIGZvciAnJ3pkYW5pIHZlY251JycgYW5kIHRoZW4gbWFr ZSB1cCBzb21lIHNpbGx5IGV4Y3VzZSB3aHkgSSB0aGluayBpdCdzIHpkYW5pLWxpa2U/4oCdCgpX ZWxsIHllcywgYnV0IHRoZW4geW91J2QgYmUgYSBkaWNrLiBPciBhdCBsZWFzdCB5b3UnZCBiZSBp bnRlbnRpb25hbGx5IG1pc2xlYWRpbmcuIEluIGdlbmVyYWwsIHlvdSBzaG91bGQgdXNlIGEgdGFu cnUgd2hlbiBpdCdzIG9idmlvdXMgaG93IHRoZSBsZWZ0IHdvcmQgcmVsYXRlcyB0byB0aGUgcmln aHQuCgoKCkF0dGVtcHQgdG8gdHJhbnNsYXRlIHRoZSBmb2xsb3dpbmc6ICcndGkgcGVseHUgemRh bmkgZG8nJwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnFRoYXQgaXMgYSB5ZWxsb3cgaG9tZSBm b3IgeW914oCdIEFnYWluLCB3ZSBkb24ndCBrbm93IGluIHdoaWNoIHdheSBpdCdzIHllbGxvdy4g UHJvYmFibHkgaXQncyBwYWludGVkIHllbGxvdywgYnV0IHdlIGRvbid0IGtub3cgZm9yIHN1cmUu fn4KCgoKJydtaSB2ZWNudSBkdW5kYScnCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcSSBzZWxs LWxpa2UgZ2l2ZeKAnS4gV2hhdCBjYW4gdGhhdCBtZWFuPyBObyBpZGVhLiBJdCBjZXJ0YWlubHkg ZG9lc24ndCBtZWFuIHRoYXQgeW91IHNvbGQgc29tZXRoaW5nLCBzaW5jZSwgYnkgZGVmaW5pdGlv biBvZiAnJ2R1bmRhJycsIHRoZXJlIGNhbiBiZSBubyBwYXltZW50IGludm9sdmVkLiBJdCBoYXMg dG8gYmUgYSBnaXZlYXdheSwgYnV0IGJlIHNlbGwtbGlrZSBpbiBzb21lIGFzcGVjdC5+fgoKCgpB bmQgbm93IGZvciBzb21ldGhpbmcgY29tcGxldGVseSBkaWZmZXJlbnQuIFdoYXQgaWYgSSB3YW50 ZWQgdG8gc2F5IEkgc29sZCB0byBhIEdlcm1hbj8KCicnX19kb3Rjb19fJycgeDEgaXMgR2VybWFu L3JlZmxlY3RzIEdlcm1hbiBjdWx0dXJlIGluIGFzcGVjdCB4MgoKCgpJIGNhbid0IHNheSAnJ21p IHZlY251IHpvJ2UgZG90Y28nJyBiZWNhdXNlIHRoYXQgd291bGQgbGVhdmUgdHdvIHNlbGJyaSBp biBhIGJyaWRpLCB3aGljaCBpcyBub3QgcGVybWl0dGVkLiBJIGNvdWxkIHNheSAnJ21pIGRvdGNv IHZlY251JycgYnV0IHRoYXQgd291bGQgYmUgdW5uZWNlc3NhcnkgdmFndWUgLSBJIGNvdWxkIHNl bGwgaW4gYSBHZXJtYW4gd2F5LiBMaWtld2lzZSwgaWYgSSB3YW50IHRvIHNheSDigJxJIGFtIGZy aWVuZHMgd2l0aCBhbiBBbWVyaWNhbuKAnSwgd2hhdCBzaG91bGQgSSBzYXk/CgonJ19fcGVuZG9f XycnIDF4IGlzIGEgZnJpZW5kIG9mIHgyCgonJ19fbWVya29fXycnIHgxIGlzIEFtZXJpY2FuL3Jl ZmxlY3QgVVMgY3VsdHVyZSBpbiBhc3BlY3QgeDIKCgoKQWdhaW4sIHRoZSBvYnZpb3VzIHdvdWxk IGJlIHRvIHNheSAnJ21pIHBlbmRvIG1lcmtvJycsIGJ1dCB0aGF0IHdvdWxkIGZvcm0gYSB0YW5y dSwgbWVhbmluZyDigJxJIGFtIGZyaWVuZC1saWtlIEFtZXJpY2Fu4oCdLCB3aGljaCBpcyB3cm9u Zy4gV2hhdCB3ZSByZWFsbHkgd2FudCB0byBpcyB0byB0YWtlIHRoZSBzZWxicmkgJydtZXJrbycn IGFuZCB0cmFuc2Zvcm0gaXQgaW50byBhIHN1bXRpIHNvIGl0IGNhbiBiZSB1c2VkIGluIHRoZSBz ZWxicmkgJydwZW5kbycnLiBUaGlzIGlzIGRvbmUgYnkgdGhlIHR3byB3b3JkcyAnJ2xvJycgYW5k ICcna3UnJy4KCl9fJydsbycnX18g4oCTIGdlbmVyaWMgYmVnaW4gY29udmVydCBzZWxicmkgdG8g c3VtdGkgd29yZC4gRXh0cmFjdHMgeDEgb2Ygc2VsYnJpIHRvIHVzZSBhcyBzdW10aS4KCl9fJydr dScnX18g4oCTIGVuZCBjb252ZXJ0IHNlbGJyaSB0byBzdW10aSBwcm9jZXNzLgoKCgpZb3Ugc2lt cGx5IHBsYWNlIGEgc2VsYnJpIGJldHdlZW4gdGhlc2UgdHdvIHdvcmRzLCBhbmQgaXQgdGFrZXMg YW55dGhpbmcgdGhhdCBjYW4gZmlsbCB0aGUgeDEgb2YgdGhhdCBzZWxicmkgYW5kIHR1cm5zIGl0 IGludG8gYSBzdW10aS4KClNvIGZvciBpbnN0YW5jZSwgdGhlIHRoaW5ncyB0aGF0IGNhbiBmaWxs IHpkYW5p4oCYcyB4MSBhcmUgb25seSB0aGluZ3Mgd2hpY2ggYXJlIGhvbWVzIG9mIHNvbWVib2R5 LiBTbyAnJ2xvIHpkYW5pIGt1JycgbWVhbnMg4oCcYSBob21lIG9yIHNvbWUgaG9tZXMgZm9yIHNv bWVib2R5LuKAnSBTaW1pbGFybHksIGlmIEkgc2F5IHRoYXQgc29tZXRoaW5nIGlzIHBlbHh1LCBp dCBtZWFucyBpdCdzIHllbGxvdy4gU28gJydsbyBwZWx4dSBrdScnIHJlZmVycyB0byBzb21ldGhp bmcgeWVsbG93LgoKCgpOb3cgeW91IGhhdmUgdGhlIG5lY2Vzc2FyeSBncmFtbWFyIHRvIGJlIGFi bGUgdG8gc2F5IOKAnEkgYW0gZnJpZW5kcyB3aXRoIGFuIEFtZXJpY2FuLuKAnSBIb3c/CgoKCkFu c3dlcjogfn5ncmV5LGdyZXk6JydtaSBwZW5kbyBsbyBtZXJrbyBrdScnfn4KCgoKVGhlcmUgaXMg YSBnb29kIHJlYXNvbiB3aHkgdGhlICcna3UnJyBpcyBuZWNlc3NhcnkuIFRyeSB0byB0cmFuc2xh dGUg4oCcQSBHZXJtYW4gc2VsbHMgdGhpcyB0byBtZeKAnQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5 OicnbG8gZG90Y28ga3UgdmVjbnUgdGkgbWknJyBJZiB5b3UgbGVhdmUgb3V0IHRoZSBrdSwgeW91 IGRvIG5vdCBnZXQgYSBicmlkaSwgYnV0IHNpbXBseSB0aHJlZSBzdW10aS4gU2luY2UgbG/igKZr dSBjYW5ub3QgY29udmVydCBicmlkaSwgdGhlIHRpIGlzIGZvcmNlZCBvdXRzaWRlIHRoZSBzdW10 aSwgdGhlIGxvLWNvbnN0cnVjdCBpcyBmb3JjZWQgdG8gY2xvc2UgYW5kIGl0IHNpbXBseSBiZWNv bWVzIHRoZSB0aHJlZSBzdW10aSBvZiAnJ2xvIGRvdGNvIHZlY251IHtrdX0nJywgJyd0aScnIGFu ZCAnJ21pJycufn4KCgoKWW91IGFsd2F5cyBoYXZlIHRvIGJlIGNhcmVmdWwgd2l0aCBqdWZyYSBs aWtlICcnbG8gemRhbmkga3UgcGVseHUnJy4gSWYgdGhlICcna3UnJyBpcyBsZWZ0IG91dCB0aGUg Y29udmVyc2lvbiBwcm9jZXNzIGRvZXMgbm90IGVuZCwgYW5kIGl0IHNpbXBseSBiZWNvbWVzIG9u ZSBzdW10aSwgbWFkZSBmcm9tIHRoZSB0YW5ydSAnJ3pkYW5pIHBlbHh1JycgYW5kIHRoZW4gY29u dmVydGVkIHdpdGggJydsbycnLgoKCgoKCiEhTG9qYmFuIExlc3NvbnMg4oCTIGxlc3NvbiBmb3Vy IChhdHRpdHVkaW5hbHMpCgpBbm90aGVyIGNvbmNlcHQgd2hpY2ggY2FuIGJlIHVuZmFtaWxpYXIg dG8gRW5nbGlzaCBzcGVha2VycyBpcyB0aGF0IG9mIGF0dGl0dWRpbmFscy4gQXR0aXR1ZGluYWxz IGFyZSB3b3JkcyB0aGF0IGV4cHJlc3MgZW1vdGlvbnMgZGlyZWN0bHkuIFRoZSBpZGVhIG9mIGF0 dGl0dWRpbmFscyBvcmlnaW5hdGVkIGluIHRoZSBmZW1pbmlzdCBjb25zdHJ1Y3RlZCBsYW5ndWFn ZSBMYWRhbiwgc3VwcG9zZWRseSB0byBlbmFibGUgdHJ1ZSBmZW1hbGUgZW1vdGlvbnMuIFRoZSBp ZGVhIHdhcyB0aGF0IGZlbWFsZSBlbW90aW9uYWwgZXhwcmVzc2lvbiB3YXMgaGluZGVyZWQgYnkg bWFsZSBkb21pbmF0ZWQgbGFuZ3VhZ2UsIGFuZCBpZiBvbmx5IHRoZXkgd2VyZSBhYmxlIHRvIGJl IGV4cHJlc3NlZCBtb3JlIGZyZWVseSwgdGhpcyB3b3VsZCBlbXBvd2VyIHdvbWVuIHRocm91Z2gg bGliZXJhdGlvbiBvZiB0aGUgbGFuZ3VhZ2UuCgpJbiBMb2piYW4sIHRoZXJlIGlzIG5vIHN1Y2gg YWdlbmRhLCBhbmQgYXR0aXR1ZGluYWxzIG1vc3QgcHJvYmFibHkgaGF2ZSBiZWVuIGRlc2lnbmVk IGludG8gdGhlIGxhbmd1YWdlIGJlY2F1c2UgdGhleSB0dXJuZWQgb3V0IHRvIGJlIGluY3JlZGli bHkgYXdlc29tZSBhbmQgdXNlZnVsLiBUaGV5IGFsbCBoYXZlIGEgc28tY2FsbGVkIGZyZWUgZ3Jh bW1hciwgd2hpY2ggbWVhbnMgdGhhdCB0aGV5IGNhbiBhcHBlYXIgYWxtb3N0IGFueXdoZXJlIHdp dGhpbiBicmlkaSB3aXRob3V0IGRpc3J1cHRpbmcgdGhlIGJyaWRpJ3MgZ3JhbW1hciBvciBhbnkg Z3JhbW1hdGljYWwgY29uc3RydWN0cy4KCkluIExvamJhbiBncmFtbWFyLCBhbiBhdHRpdHVkaW5h bCBhcHBsaWVzIHRvIHRoZSBwcmV2aW91cyB3b3JkLiBJZiB0aGF0IHByZXZpb3VzIHdvcmQgaXMg YSB3b3JkIHdoaWNoIGJlZ2lucyBhIGNvbnN0cnVjdCAobGlrZSAnJy5pJycgb3IgJydsbycnKSwg aXQgYXBwbGllcyB0byB0aGUgZW50aXJlIGNvbnN0cnVjdC4gTGlrZXdpc2UsIGlmIHRoZSBhdHRp dHVkaW5hbCBmb2xsb3dzIGEgd29yZCB3aGljaCBlbmRzIGEgY29uc3RydWN0IGxpa2UgJydrdScn LCBpdCBhcHBsaWVzIHRvIHRoZSBlbmRlZCBjb25zdHJ1Y3QuCgoKCkxldCdzIGhhdmUgdHdvIGF0 dGl0dWRpbmFscyB0byBtYWtlIHNvbWUgZXhhbXBsZXM6CgpfXycnLnVpJydfXzogYXR0aXR1ZGlu YWw6IHNpbXBsZSBwdXJlIGVtb3Rpb246IGhhcHBpbmVzcyAtIHVuaGFwcGluZXNzCgpfXycnemEn YScnX186IGF0dGl0dWRpbmFsOiBldmlkZW50aWFsOiBJIGRpcmVjdGx5IG9ic2VydmUKCgoKTm90 ZSB0aGF0IGluIHRoZSBkZWZpbml0aW9uIG9mICcnLnVpJycsIHRoZXJlIGFyZSBsaXN0ZWQgdHdv IGVtb3Rpb25zLCBoYXBwaW5lc3MgYW5kIHVuaGFwcGluZXNzLiBUaGlzIG1lYW5zIHRoYXQgJycu dWknJyBpcyBkZWZpbmVkIGFzIGhhcHBpbmVzcywgd2hpbGUgaXRzIOKAnG5lZ2F0aW9u4oCdLCBt ZWFucyB1bmhhcHBpbmVzcy4g4oCcTmVnYXRpb27igJ0gbWlnaHQgYmUgdGhlIHdyb25nIHdvcmQg aGVyZS4gVGVjaG5pY2FsbHksIHRoZSBvdGhlciBkZWZpbml0aW9uIG9mICcnLnVpJycgaXMgYW5v dGhlciBjb25zdHJ1Y3QsICcnLnVpIG5haScnLiBNb3N0IG9mIHRoZSB0aW1lLCB0aGUgc2Vjb25k IGRlZmluaXRpb24gb2YgYXR0aXR1ZGluYWxzIC0gdGhlIG9uZXMgc3VmZml4ZWQgd2l0aCAnJ25h aScnIC0gcmVhbGx5IGlzIHRoZSBuZWdhdGlvbiBvZiB0aGUgYmFyZSBhdHRpdHVkaW5hbC4gT3Ro ZXIgdGltZXMsIG5vdCBzbyBtdWNoLgoKX18nJ25haScnX18gbWlzYy4gbmVnYXRpb24gLSBhdHRh Y2hlZCB0byBhdHRpdHVkaW5hbHMsIGl0IGNoYW5nZXMgdGhlIG1lYW5pbmcgaW50byB0aGUgYXR0 aXR1ZGluYWwncyAibmVnYXRpb24iCgoKCkFuZCBzb21lIG1vcmUgc2VsYnJpLCBqdXN0IGZvciB0 aGUgaGVjayBvZiBpdDoKCl9fJydjaXRrYScnX18g4oCTIHgxIGVhdHMgeDIKCl9fJydwbGlzZScn X18g4oCTIHgxIGlzIGFuIGFwcGxlIG9mIHN0cmFpbi90eXBlIHgyCgoKClRoZSBzZW50ZW5jZSAn J2RvIGNpdGthIGxvIHBsaXNlIGt1IC51aScnLCBtZWFucyDigJxZb3UgZWF0IGFuIGFwcGxlLCB5 YXkh4oCdIChlc3BlY2lhbGx5IGV4cHJlc3NpbmcgdGhhdCBpdCBpcyB0aGUgX19hcHBsZV9fIHRo YXQgdGhlIHNwZWFrZXIgaXMgaGFwcHkgYWJvdXQsIG5vdCB0aGUgZWF0aW5nLCBvciB0aGUgZmFj dCB0aGF0IGl0IHdhcyB5b3UuKSBJbiB0aGUgc2VudGVuY2UgJydkbyB6YSdhIGNpdGthIGxvIHBs aXNlIGt1JycsIHRoZSBzcGVha2VyIGRpcmVjdGx5IG9ic2VydmVzIHRoYXQgaXQgaXMgaW5kZWVk IHRoZSBfX+KAnHlvdeKAnV9fLCB3aG8gZWF0cyBhbiBhcHBsZSBhcyBvcHBvc2VkIHRvIHNvbWVv bmUgZWxzZS4KCgoKSWYgYW4gYXR0aXR1ZGluYWwgaXMgcGxhY2VkIGF0IHRoZSBiZWdpbm5pbmcg b2YgdGhlIGJyaWRpLCBpdCBpcyB1bmRlcnN0b29kIHRvIGFwcGx5IHRvIGFuIGV4cGxpY2l0IG9y IGltcGxpY2l0ICcnLmknJywgdGh1cyBhcHBseWluZyB0byB0aGUgZW50aXJlIGJyaWRpOgoKJycu dWkgemEnYSBkbyBkdW5kYSBsbyBwbGlzZSBrdSBtaScnIOKAkyDigJxZYXksIEkgb2JzZXJ2ZSB0 aGF0IHlvdSBnaXZlIGFuL3NvbWUgYXBwbGUgdG8gbWUh4oCdCgoKCicnbWkgdmVjbnUgLnVpIG5h aSBsbyB6ZGFuaSBrdScnIOKAnEkgc2VsbCAod2hpY2ggc3Vja3MhKSBhIGhvbWXigJ0uCgoKClRy eSBpdCBvdXQgd2l0aCBhIGZldyBleGFtcGxlcy4gRmlyc3QsIHRob3VnaCwgaGVyZSBhcmUgc29t ZSBtb3JlIGF0dGl0dWRpbmFsczoKCl9fJycudSd1JydfXyBhdHRpdHVkaW5hbDogc2ltcGxlIHB1 cmUgZW1vdGlvbjogZ3VpbHQgLSByZW1vcnNlbGVzc25lc3MgLSBpbm5vY2VuY2UuCgpfXycnLm9p JydfXyBhdHRpdHVkaW5hbDogY29tcGxleCBwdXJlIGVtb3Rpb246IGNvbXBsYWludCAtIHBsZWFz dXJlLgoKX18nJy5pdScnX18gYXR0aXR1ZGluYWw6IG1pc2NlbGxhbmVvdXMgcHVyZSBlbW90aW9u OiBsb3ZlIC0gaGF0ZS4KCgoKTG9vayBhdCB0aGF0LCBhIHdvcmQgd2l0aCB0aHJlZSBlbW90aW9u cyBpbiB0aGUgZGVmaW5pdGlvbiEgVGhlIG1pZGRsZSBvbmUgaXMgYWNjZXNzZWQgYnkgc3VmZml4 aW5uZyB3aXRoICcnY3UnaScnLiBJdCdzIGNvbnNpZGVyZWQgdGhlIG1pZHBvaW50IG9mIHRoZSBl bW90aW9uLgoKX18nJ2N1J2knJ19fIGF0dGl0dWRpbmFsIG1pZHBvaW50IHNjYWxhcjogYXR0YWNo IHRvIGF0dGl0dWRpbmFsIHRvIGNoYW5nZSB0aGUgbWVhbmluZyB0byB0aGUgIm1pZHBvaW50IiBv ZiB0aGUgZW1vdGlvbi4KCgoKVHJ5IHNheWluZyDigJxJIGdpdmUgc29tZXRoaW5nIHRvIGEgR2Vy bWFuLCB3aG8gSSBsb3Zl4oCdCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JydtaSBkdW5kYSBmaSBs byBkb3RjbyBrdSAuaXUnJyBvciAnJ3pvJ2UnJyBpbnN0ZWFkIG9mICcnZmknJ35+CgoKCk5vdyDi gJxBYWgsIEkgZWF0IGEgeWVsbG93IGFwcGxl4oCdCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnLm9p IG5haSBtaSBjaXRrYSBsbyBwZWx4dSBwbGlzZSBrdScnfn4KCgoKTGV0J3MgaGF2ZSBhbm90aGVy IGF0dGl0dWRpbmFsIG9mIGEgZGlmZmVyZW50IGtpbmQgdG8gaWxsdXN0cmF0ZSBzb21ldGhpbmcg cGVjdWxpYXI6CgonJy5laScnIEF0dGl0dWRpbmFsOiBjb21wbGV4IHByb3Bvc2l0aW9uYWwgZW1v dGlvbjogb2JsaWdhdGlvbiAtIGZyZWVkb20uCgoKClNvLCBxdWl0ZSBlYXN5OiDigJxJIGhhdmUg dG8gZ2l2ZSB0aGUgYXBwbGUgYXdheeKAnSBpcyAnJ21pIGR1bmRhIC5laSBsbyBwbGlzZSBrdScn LCByaWdodD8gSXQgaXMsIGFjdHVhbGx5ISBXaGVuIHlvdSB0aGluayBhYm91dCBpdCwgdGhhdCdz IHdlaXJkLiBXaHkgaXMgaXQgdGhhdCBhbGwgdGhlIG90aGVyIGF0dGl0dWRpbmFscyB3ZSBoYXZl IHNlZW4gc28gZmFyIGV4cHJlc3NlcyB0aGUgc3BlYWtlcidzIGZlZWxpbmcgYWJvdXQgdGhlIGJy aWRpLCBidXQgdGhpcyBvbmUgYWN0dWFsbHkgY2hhbmdlcyB3aGF0IHRoZSBicmlkaSBtZWFucz8g U3VyZWx5LCBieSBzYXlpbmcg4oCcSSBoYXZlIHRvIGdpdmUgdGhlIGFwcGxlIGF3YXnigJ0sIHdl IHNheSBub3RoaW5nIGFib3V0IHdoZXRoZXIgdGhlIGFwcGxlIGFjdHVhbGx5IGlzIGJlaW5nIGdp dmVuIGF3YXkuIElmIEkgaGFkIHVzZWQgJycudWknJywgaG93ZXZlciwgSSB3b3VsZCBhY3R1YWxs eSBoYXZlIHN0YXRlZCB0aGF0IEkgZ2F2ZSB0aGUgYXBwbGUgYXdheSwgYW5kIHRoYXQgSSB3YXMg aGFwcHkgYWJvdXQgaXQuIFdoYXQncyB0aGF0IGFsbCBhYm91dD8KCgoKVGhpcyBpc3N1ZSwgZXhh Y3RseSBob3cgYXR0aXR1ZGluYWxzIGNoYW5nZSB0aGUgY29uZGl0aW9ucyBvbiB3aGljaCBhIGJy aWRpIGlzIHRydWUsIGlzIGEgc3ViamVjdCBvZiBhIG1pbm9yIGRlYmF0ZS4gVGhlIG9mZmljaWFs LCDigJx0ZXh0Ym9va+KAnSBydWxlLCB3aGljaCBwcm9iYWJseSB3b24ndCBiZSBjaGFuZ2VkLCBp cyB0aGF0IHRoZXJlIGlzIGEgZGlzdGluY3Rpb24gYmV0d2VlbiDigJxwdXJlIGVtb3Rpb25z4oCd IGFuZCDigJxwcm9wb3NpdGlvbmFsIGVtb3Rpb25z4oCdLiBPbmx5IHByb3Bvc3Rpb25hbCBlbW90 aW9ucyBjYW4gY2hhbmdlIHRoZSB0cnV0aCBjb25kaXRpb25zLCB3aGlsZSBwdXJlIGVtb3Rpb25z IGNhbm5vdC4gSW4gb3JkZXIgdG8gZXhwcmVzcyBhIHByb3Bvc2l0aW9uYWwgZW1vdGlvbmFsIGF0 dGl0dWRpbmFsIHdpdGhvdXQgY2hhbmdpbmcgdGhlIHRydXRoIHZhbHVlIG9mIHRoZSBicmlkaSwg eW91IGNhbiBqdXN0IHNlcGFyYXRlIGl0IGZyb20gdGhlIGJyaWRpIHdpdGggJycuaScnLiBUaGVy ZSBpcyBhbHNvIGEgd29yZCBmb3IgZXhwbGljaXRseSBjb25zZXJ2aW5nIG9yIGNoYW5naW5nIHRo ZSB0cnV0aCBjb25kaXRpb25zIG9mIGEgYnJpZGk6CgoKCl9fJydkYSdpJydfXyBhdHRpdHVkaW5h bDogZGlzY3Vyc2l2ZTogc3VwcG9zaW5nIC0gaW4gZmFjdAoKU2F5aW5nICcnZGEnaScnIGluIGEg YnJpZGkgY2hhbmdlcyB0aGUgdHJ1dGggY29uZGl0aW9ucyB0byBoeXBvdGhldGljYWwsIHdoaWNo IGlzIHRoZSBkZWZhdWx0IHVzaW5nIHByb3Bvc2l0aW9uYWwgYXR0aXR1ZGluYWxzLiBTYXlpbmcg JydkYSdpIG5haScnIGNoYW5nZXMgdGhlIHRydXRoIGNvbmRpdGlvbiB0byB0aGUgbm9ybWFsLCB3 aGljaCBpcyBkZWZhdWx0IHVzaW5nIHB1cmUgYXR0aXR1ZGluYWxzLgoKCgpTbywgd2hhdCdzIHR3 byB3YXlzIG9mIHNheWluZyDigJxJIGdpdmUgdGhlIGFwcGxlIGF3YXnigJ0/IChhbmQgZmVlbCBv YmxpZ2F0aW9uIGFib3V0IGl0KQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnbWkgZHVuZGEgbG8g cGxpc2UgLmkgLmVpJycgIGFuZCAnJ21pIGR1bmRhIGRhJ2kgbmFpIC5laSBsbyBwbGlzZScnfn4K CgoKVGhlIGZlZWxpbmcgb2YgYW4gYXR0aXR1ZGluYWwgY2FuIGJlIHN1YnNjcmliZWQgdG8gc29t ZW9uZSBlbHNlIHVzaW5nICcnZGFpJycuIFVzdWFsbHkgaW4gb3JkaW5hcnkgc3BlZWNoLCB0aGUg YXR0aXR1ZGluYWwgaXMgc3Vic2NyaWJlZCB0byB0aGUgbGlzdGVuZXIsIGJ1dCBpdCBkb2Vzbid0 IGhhdmUgdG8gYmUgc28uIEFsc28sIGJlY2F1c2UgdGhlIHdvcmQgaXMgZ2xvc3NlZCDigJxlbXBh dGh54oCdIChmZWVsaW5nIG90aGVycyBlbW90aW9ucyksIHNvbWUgTG9qYmFuaXN0cyBtaXN0YWtl bmx5IHRoaW5rIHRoYXQgdGhlIHNwZWFrZXIgbXVzdCBzaGFyZSB0aGUgZW1vdGlvbiBiZWluZyBz dWJzY3JpYmVkIHRvIG90aGVycy4KCl9fJydkYWknJ19fIGF0dGl0dWRpbmFsIG1vZGlmeWVyOiBF bXBhdGh5IChzdWJzY3JpYmVzIGF0dGl0dWRpbmFsIHRvIHNvbWVvbmUgZWxzZSwgdW5zcGVjaWZp ZWQpCgpFeGFtcGxlOiAnJ3UnaSAub2kgZGFpIGNpdGthIHRpJycgLSDigJxIYSBoYSwgdGhpcyB3 YXMgZWF0ZW4hIFRoYXQgbXVzdCBoYXZlIGh1cnQh4oCdCgoKCldoYXQgb2Z0ZW4gdXNlZCBwaHJh c2UgY291bGQgJycub2kgdSdpIGRhaScnIG1lYW4/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCc T3VjaCwgdmVyeSBmdW5ueS7igJ1+fgoKCgpBbmQgYW5vdGhlciBvbmUgdG8gdGVzdCB5b3VyIGtu b3dsZWRnZTogVHJ5IHRvIHRyYW5zbGF0ZSDigJxIZSB3YXMgc29ycnkgaGUgc29sZCBhIGhvbWXi gJ0gKHJlbWVtYmVyaW5nLCB0aGF0IHRlbnNlIGlzIGltcGxpZWQgYW5kIG5lZWQgbm90IGJlIHNw ZWNpZmllZC4gQWxzbywg4oCcaGXigJ0gY291bGQgYmUgb2J2aW91cyBmcm9tIGNvbnRleHQpCgoK CkFuc3dlcjogfn5ncmV5LGdyZXk6Jyd1J3UgZGFpIHZlY251IGxvIHpkYW5pIGt1Jyd+fgoKCgpM YXN0bHksIHRoZSBpbnRlbnNpdHkgb2YgYW4gYXR0aXR1ZGluYWwgY2FuIGJlIHNwZWNpZmllZCB1 c2luZyBjZXJ0YWluIHdvcmRzLiBUaGVzZSBjYW4gYmUgdXNlZCBhZnRlciBhbiBhdHRpdHVkaW5h bCwgb3IgYW4gYXR0aXR1ZGluYWwgd2l0aCAnJ25haScnIG9yICcnY3UnaScnIHN1ZmZpeGVkLiBJ dCdzIGxlc3MgY2xlYXIgd2hhdCBoYXBwZW5zIHdoZW4geW91IGF0dGFjaCBpdCB0byBvdGhlciB3 b3JkcywgbGlrZSBhIHNlbGJyaSwgYnV0IGl0J3MgbW9zdGx5IHVuZGVyc3Rvb2QgYXMgaW50ZW5z aWZ5aW5nIG9yIHdlYWtlbmluZyB0aGUgc2VsYnJpIGluIHNvbWUgdW5zcGVjaWZpZWQgd2F5OgoK fHwgTW9kaWZ5aW5nIHdvcmQgIHwgSW50ZW5zaXR5ICAKCiBjYWl8ICAgRXh0cmVtZQoKIHNhaXwg ICBTdHJvbmcKCiAobm9uZSl8ICAgVW5zcGVjaWZpZWQgKG1lZGl1bSkKCiBydSdlICB8ICAgV2Vh a3x8CgoKCldoYXQgZW1vdGlvbiBpcyBleHByZXNzZWQgdXNpbmcgJycudSdpIG5haSBzYWknJyA/ CgpfXycnLnUnaScnX186IGF0dGl0dWRpbmFsOiBzaW1wbGUgcHVyZSBlbW90aW9uOiBhbXVzZW1l bnQgLSB3ZWFyaW5lc3MKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTpTdHJvbmcgd2VhcmluZXNzfn4K CgoKQW5kIGhvdyB3b3VsZCB5b3UgZXhwcmVzcyB0aGF0IHlvdSBhcmUgbWlsZGx5IHJlbW9yc2Vs ZXNzPwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnLnUndSBjdSdpIHJ1J2UnJ35+CgoKCiEhTG9q YmFuIGxlc3NvbnMg4oCTIGxlc3NvbiBmaXZlIChTRSkKCkJlZm9yZSB3ZSB2ZW50dXJlIGludG8g dGhlIHRlcnJpdG9yeSBvZiBtb3JlIGNvbXBsZXggY29uc3RydWN0cywgeW91IHNob3VsZCBsZWFy biBhbm90aGVyIG1lY2hhbmlzbSBmb3IgcmVvcmRlcmluZyB0aGUgc3VtdGkgb2YgYSBzZWxicmku IFRoaXMsIGFzIHdlIHdpbGwgc2hvdywgaXMgdmVyeSB1c2VmdWwgZm9yIG1ha2luZyBkZXNjcmlw dGlvbi1saWtlIHN1bXRpICh0aGUga2luZCBvZiBzdW10aSB3aXRoICcnbG8nJykuCgpDb25zaWRl ciB0aGUgc2VudGVuY2Ug4oCcSSBlYXQgYSBnaWZ04oCdLCB3aGljaCBtaWdodCBiZSBhcHByb3By aWF0ZSBpZiB0aGF0IGdpZnQgaXMgYW4gYXBwbGUuIFRvIHRyYW5zbGF0ZSB0aGlzLCBpdCB3b3Vs ZCBzZWVtIG5hdHVyYWwgdG8gbG9vayB1cCBhIHNlbGJyaSBtZWFuaW5nIOKAnGdpZnTigJ0gYmVm b3JlIGNvbnRpbnVpbmcuIEhvd2V2ZXIsIGlmIG9uZSBsb29rcyBjYXJlZnVsbHkgYXQgdGhlIGRl ZmluaXRpb24gb2YgJydkdW5kYScnLCB4MSBnaXZlcyB4MiB0byB4Mywgb25lIHJlYWxpemVzIHRo YXQgdGhlIHgyIG9mICcnZHVuZGEnJyBpcyBzb21ldGhpbmcgZ2l2ZW4g4oCTIGEgZ2lmdC4KClNv LCB0byBleHByZXNzIHRoYXQgc2VudGVuY2UsIHdlIGNhbid0IHNheSAnJ21pIGNpdGthIGxvIGR1 bmRhIGt1JycsIGJlY2F1c2UgJydsbyBkdW5kYSBrdScnIHdvdWxkIGJlIHRoZSB4MSBvZiAnJ2R1 bmRhJycsIHdoaWNoIGlzIGEgZG9ub3Igb2YgYSBnaWZ0LiBDYW5uaWJhbGlzbSBhc2lkZSwgd2Ug ZG9uJ3Qgd2FudCB0byBzYXkgdGhhdC4gV2hhdCB3ZSB3YW50IGlzIGEgd2F5IHRvIGV4dHJhY3Qg dGhlIHgyIG9mIGEgc2VsYnJpLgoKVGhpcyBpcyBvbmUgZXhhbXBsZSB3aGVyZSBpdCBpcyB1c2Vm dWwgdG8gdXNlIHRoZSB3b3JkICcnc2UnJy4gV2hhdCAnJ3NlJycgZG9lcyBpcyB0byBtb2RpZnkg YSBzZWxicmkgc3VjaCB0aGF0IHRoZSB4MSBhbmQgeDIgb2YgdGhhdCBzZWxicmkgdHJhZGUgcGxh Y2VzLiBUaGUgY29uc3RydWN0IG9mICcnc2UnJyArIHNlbGJyaSBpcyBvbiBpdHMgb3duIGNvbnNp ZGVyZWQgb25lIHNlbGJyaS4gTGV0J3MgdHJ5IHdpdGggYW4gb3JkaW5hcnkgc2VudGVuY2U6Cgpf XycnZmFudmEnJ19fID0g4oCceDEgdHJhbnNsYXRlcyB4MiB0byBsYW5ndWFnZSB4MyBmcm9tIGxh bmd1YWdlIHg0IHdpdGggcmVzdWx0IG9mIHRyYW5zbGF0aW9uIHg14oCdCgonJ3RpIHNlIGZhbnZh IG1pJycgPSAnJ21pIGZhbnZhIHRpJycKClRoaXMgaXMgdHJhbnNsYXRlZCBieSBtZSAoPSBJIHRy YW5zbGF0ZSB0aGlzKS4gT2Z0ZW4sIGJ1dCBub3QgYWx3YXlzLCBicmlkaSB3aXRoICcnc2UnJy1j b25zdHJ1Y3RzIGFyZSB0cmFuc2xhdGVkIHRvIHNlbnRlbmNlcyB3aXRoIHRoZSBwYXNzaXZlIHZv aWNlLCBzaW5jZSB0aGUgeDEgaXMgb2Z0ZW4gdGhlIG9iamVjdCB0YWtpbmcgYWN0aW9uLgoKJydz ZScnIGhhcyBpdHMgb3duIGZhbWlseSBvZiB3b3Jkcy4gQWxsIG9mIHRoZW0gc3dhcCBhIGRpZmZl cmVudCBwbGFjZSB3aXRoIHRoZSB4MS4KCnx8c2UJfHN3YXAgeDEgYW5kIHgyCgp0ZQl8c3dhcCB4 MSBhbmQgeDMKCnZlCXxzd2FwIHgxIGFuZCB4NAoKeGUJfHN3YXAgeDEgYW5kIHg1fHwKCk5vdGUg dGhhdCBzLCB0LCB2LCBhbmQgeCBhcmUgY29uc2VjdXRpdmUgY29uc29uYW50cyBpbiB0aGUgbG9q YmFuIGFscGhhYmV0LgoKCgpTbzogVXNpbmcgdGhpcyBrbm93bGVkZ2UsIHdoYXQgd291bGQgJyd0 aSB4ZSBmYW52YSB0aScnIG1lYW4/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcVGhpcyBpcyBh IHRyYW5zbGF0aW9uIG9mIHRoaXPigJ0gKG9yICcnZmFudmEgdGkgZnUgdGknJyl+fgoKCgonJ3Nl JycgYW5kIGl0cyBmYW1pbHkgY2FuIG9mIGNvdXJzZSBiZSBjb21iaW5lZCB3aXRoICcnZmEnJyBh bmQgaXRzIGZhbWlseS4gVGhlIHJlc3VsdCBjYW4gYmUgdmVyeSBjb25mdXNpbmcgaW5kZWVkLCBp ZiB5b3Ugd2lzaCB0byBtYWtlIGl0IHNvOgoKX18nJ2tsYW1hJydfXyA9IOKAnHgxIHRyYXZlbHMv Z29lcyB0byB4MiBmcm9tIHgzIHZpYSB4NCB1c2luZyB4NSBhcyB0cmFuc3BvcnRhdGlvbiBkZXZp Y2XigJ0KCicnZnUgbG8gemRhbmkga3UgdGUga2xhbWEgZmUgZG8gdGkgZmEgbWknJyA9ICcnbWkg dGUga2xhbWEgZG8gdGkgbG8gemRhbmkga3UnJyBhbmQgc2luY2UgJyd0ZScnIGV4Y2hhbmdlcyB4 MSBhbmQgeDM6ID0gJyd0aSBrbGFtYSBkbyBtaSBsbyB6ZGFuaSBrdScnCgrigJxUaGlzIHRyYXZl bHMgdG8geW91IGZyb20gbWUgdmlhIGEgaG9tZS7igJ0gT2YgY291cnNlLCBubyBvbmUgd291bGQg bWFrZSBzdWNoIGEgc2VudGVuY2UgZXhjZXB0IHRvIGNvbmZ1c2UgcGVvcGxlLCBvciBjcnVlbGx5 IHRvIHRlc3QgdGhlaXIgdW5kZXJzdGFuZGluZyBvZiBMb2piYW4gZ3JhbW1hci4KCkFuZCB0aHVz LCB3ZSBoYXZlIGNvbWUgdG8gdGhlIHBvaW50IHdoZXJlIHdlIGNhbiBzYXkg4oCcSSBlYXQgYSBn aWZ0LuKAnS4gU2ltcGx5IGV4Y2hhbmdlIHRoZSBzdW10aSBwbGFjZXMgb2YgJydkdW5kYScnIHRv IGdldCB0aGUgZ2lmdCB0byBiZSB4MSwgdGhlbiBleHRyYWN0IHRoaXMgbmV3IHgxIHdpdGggJyds bycnLi4uJydrdScnLiBTbywgaG93IHdvdWxkIHlvdSBzYXkgaXQ/CgpPbmUgKHBvc3NpYmxlKSBh bnN3ZXI6IH5+Z3JleSxncmV5OicnbWkgY2l0a2EgbG8gc2UgZHVuZGEga3UnJ35+CgpUaGlzIHNo b3dzIG9uZSBvZiB0aGUgbWFueSB1c2VzIGZvciAnJ3NlJycgYW5kIGl0cyBmYW1pbHkuCgoKCgoK ISFMb2piYW4gbGVzc29ucyDigJMgbGVzc29uIHNpeCAoYWJzdHJhY3Rpb25zKQoKU28gZmFyIHdl IGhhdmUgb25seSBleHByZXNzZWQgc2luZ2xlIHNlbnRlbmNlcyBvbmUgYXQgYSB0aW1lLiBUbyBl eHByZXNzIG1vcmUgY29tcGxleCB0aGluZ3MsIGhvd2V2ZXIsIHlvdSBvZnRlbiBuZWVkIHN1Ym9y ZGluYXRlIHNlbnRlbmNlcy4gTHVja2lseSwgdGhlc2UgYXJlIG11Y2ggZWFzaWVyIGluIExvamJh biB0aGFuIHdoYXQgb25lIHdvdWxkIGV4cGVjdC4KCldlIGNhbiBiZWdpbiB3aXRoIGFuIGV4YW1w bGUgdG8gZGVtb25zdHJhdGUgdGhpczog4oCcSSBhbSBoYXBweSB0aGF0IHlvdSBhcmUgbXkgZnJp ZW5kLuKAnSBIZXJlLCB0aGUgbWFpbiBicmlkaSBpcyDigJxJIGFtIGhhcHB5IHRoYXQgWC7igJ0s IGFuZCB0aGUgc3ViLWJyaWRpIGlzIOKAnFlvdSBhcmUgbXkgZnJpZW5kLuKAnSBMb29raW5nIGF0 IHRoZSBkZWZpbml0aW9uIGZvciDigJxoYXBweeKAnSwgd2hpY2ggaXMgJydnbGVraScnOgoKX18n J2dsZWtpJydfXyDigJx4MSBpcyBoYXBweSBhYm91dCB4MiAoZXZlbnQvc3RhdGUp4oCdCgpPbmUg c2VlcyB0aGF0IHRoZSB4MiBuZWVkcyB0byBiZSBhbiBldmVudCBvciBhIHN0YXRlLiBUaGlzIGlz IG5hdHVyYWwsIGJlY2F1c2Ugb25lIGNhbm5vdCBiZSBoYXBweSBhYm91dCBhbiBvYmplY3QgaW4g aXRzZWxmLCBvbmx5IGFib3V0IHNvbWUgc3RhdGUgdGhlIG9iamVjdCBpcyBpbi4gQnV0IGFsYXMh IE9ubHkgYnJpZGkgY2FuIGV4cHJlc3MgYSBzdGF0ZSBvciBhbiBldmVudCwgYW5kIG9ubHkgc3Vt dGkgY2FuIGZpbGwgdGhlIHgyIG9mICcnZ2xla2knJyEKCkFzIHlvdSBtaWdodCBoYXZlIGd1ZXNz ZWQsIHRoZXJlIGlzIGEgc29sdXRpb24uIFRoZSB3b3JkcyAnJ3N1J3UnJy4uLicna2VpJycgaXMg YSBnZW5lcmljIOKAnGNvbnZlcnQgYnJpZGkgdG8gc2VsYnJp4oCdIGZ1bmN0aW9uLCBhbmQgd29y a3MganVzdCBsaWtlICcnbG8nJ+KApicna3UnJy4KCl9fJydzdSd1JydfXyB4MSBpcyBhbiBhYnN0 cmFjdGlvbiBvZiB7YnJpZGl9IG9mIHR5cGUgeDIKCl9fJydrZWknJ19fIGVuZCBhYnN0cmFjdGlv bgoKCgpFeGFtcGxlOgoKX18nJ21lbGJpJydfXyB4MSBpcyBiZWF1dGlmdWwgdG8geDIuCgpfXycn ZGFuc3UnJ19fIHgxIGRhbmNlcyB0byBhY2NvbXBhbmltZW50L211c2ljL3JoeXRobSB4Mi4KCicn bWVsYmkgc3UndSBkYW5zdSBrZWknJyAtIOKAnEJlYXV0aWZ1bCBkYW5jaW5n4oCdL+KAnEJlYXV0 aWZ1bCBkYW5jZeKAnQoKCgpJdCdzIHVzdWFsbHkgaGFyZCB0byBmaW5kIGdvb2QgdXNlcyBvZiBh IGJyaWRpIGFzIGEgc2VsYnJpLiBIb3dldmVyLCBzaW5jZSAnJ3N1J3UgQlJJREkga2VpJycgaXMg YSBzZWxicmksIG9uZSBjYW4gY29udmVydCBpdCB0byBhIHN1bXRpIHVzaW5nICcnbG8nJy4uLicn a3UnJy4KCk5vdyB3ZSBoYXZlIHRoZSBlcXVpcG1lbnQgdG8gZXhwcmVzcyDigJxJIGFtIGhhcHB5 IHRoYXQgeW91IGFyZSBteSBmcmllbmTigJ0uIFRyeSBpdCBvdXQhCgpfXycncGVuZG8nJ19fIOKA nHgxIGlzIGEgZnJpZW5kIG9mIHgy4oCdCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JydtaSBnbGVr aSBsbyBzdSd1IGRvIHBlbmRvIG1pIGtlaSBrdScnfn4KCgoKSG93ZXZlciwgJydzdSd1JyfigKYn J2tlaScnIGRvZXMgbm90IHNlZSBtdWNoIHVzZS4gUGVvcGxlIHByZWZlciB0byB1c2UgdGhlIG1v cmUgc3BlY2lmaWMgd29yZHMgJydudScn4oCmJydrZWknJyBhbmQgJydkdSd1JyfigKYnJ2tlaScn LiBUaGV5IHdvcmsgdGhlIHNhbWUgd2F5LCBidXQgbWVhbiBzb21ldGhpbmcgZGlmZmVyZW50LiAn J2514oCma2VpJycgdHJlYXRzIHRoZSBicmlkaSBpbiBiZXR3ZWVuIGFzIGFuIGV2ZW50IG9yIHN0 YXRlLCBhbmQgJydkdSd14oCma2VpJycgdHJlYXRzIGl0IGFzIGFuIGFic3RyYWN0IGJyaWRpLCBm b3IgZXhwcmVzc2luZyB0aGluZ3MgbGlrZSBpZGVhcywgdGhvdWdodHMgb3IgdHJ1dGhzLiBBbGwg dGhlc2Ugd29yZHMgKGV4Y2VwdCAnJ2tlaScnKSBhcmUgY2FsbGVkIGFic3RyYWN0b3JzLiBUaGVy ZSBhcmUgbWFueSBvZiB0aGVtLCBhbmQgb25seSBmZXcgYXJlIHVzZWQgbXVjaC4gJydzdSd14oCm a2VpJycgaXMgYSBnZW5lcmFsIGFic3RyYWN0b3IsIGFuZCB3aWxsIHdvcmsgaW4gYWxsIGNhc2Vz LgoKCgpVc2UgJydudScnIHRvIHNheSDigJxJJ20gaGFwcHkgYWJvdXQgdGFsa2luZyB0byB5b3Uu 4oCdCgpfXycndGF2bGEnJ19fIHgxIHRhbGtzIHRvIHgyIGFib3V0IHN1YmplY3QgeDMgaW4gbGFu Z3VhZ2UgeDQuCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JydtaSBnbGVraSBsbyBudSB0YXZsYSBk byBrZWkga3UnJyAobm90aWNlIGJvdGggdGhlIEVuZ2xpc2ggYW5kIHRoZSBMb2piYW4gaXMgdmFn dWUgYXMgdG8gd2hvIGlzIGRvaW5nIHRoZSB0YWxraW5nKS5+fgoKCgpPdGhlciBpbXBvcnRhbnQg YWJzdHJhY3RvcnMgaW5jbHVkZTogJydrYS4uLmtlaScnIChwcm9wZXJ0eS9hc3BlY3QgYWJzdHJh Y3Rpb24pLCAnJ3NpJ28uLi5rZWknJyAoY29uY2VwdC9pZGVhIGFic3RyYWN0aW9uKSwgJyduaS4u LmtlaScnIChxdWFudGl0eSBhYnN0cmFjdGlvbikgYW1vbmcgb3RoZXJzLiBUaGUgbWVhbmluZ3Mg b2YgdGhlc2UgaXMgYSBjb21wbGljYXRlZCBtYXR0ZXIsIGFuZCB3aWxsIGJlIGRpc2N1c3NlZCBt dWNoIGxhdGVyLCBpbiBsZXNzb24gdHdlbnR5LW5pbmUuIEZvciBub3csIHlvdSdsbCBoYXZlIHRv IGRvIHdpdGhvdXQgdGhlbS4KCgoKSXQgaXMgaW1wb3J0YW50IHRvIG5vdGljZSB0aGF0IHNvbWUg YWJzdHJhY3RvcnMgaGF2ZSBzZXZlcmFsIHN1bXRpIHBsYWNlcy4gQXMgYW4gZXhhbXBsZSwgJydk dSd1JycgY2FuIGJlIG1lbnRpb25lZC4gJydkdSd1JycgaXMgZGVmaW5lZDoKCicnZHUndScnID0g 4oCcYWJzdHJhY3Rvci4geDEgaXMgdGhlIHByZWRpY2F0ZS9icmlkaSBvZiB7YnJpZGl9IGV4cHJl c3NlZCBpbiBzZW50ZW5jZSB4MuKAnS4KClRoZSBvdGhlciBzdW10aSBwbGFjZXMgYmVzaWRlcyB4 MSBpcyByYXJlbHkgdXNlZCwgYnV0ICcnbG8gc2UgZHUndSB7YnJpZGl9IGtlaSBrdScnIGlzIHNv bWV0aW1lcyB1c2VkIGFzIGEgc3VtdGkgZm9yIGluZGlyZWN0IHF1b3RhdGlvbjog4oCcSSBzYWlk IHRoYXQgSSB3YXMgZ2l2ZW4gYSBkb2figJ0gY2FuIGJlIHdyaXR0ZW4gJydtaSBjdXNrdSBsbyBz ZSBkdSd1IG1pIHRlIGR1bmRhIGxvIGdlcmt1IGt1IGtlaSBrdScnLCBpZiB5b3Ugd2lsbCBwYXJk b24gdGhlIHdlaXJkIGV4YW1wbGUuCgpfXycnY3Vza3UnJ19fIHgxIGV4cHJlc3NlcyB4MiB0byB4 MyB0aHJvdWdoIG1lZGl1bSB4NAoKX18nJ2dlcmt1JydfXyB4MSBpcyBhIGRvZyBvZiByYWNlIHgy CgohIUxvamJhbiBsZXNzb25zIOKAkyBsZXNzb24gc2V2ZW4gKE5PSSkKCldoaWxlIHdlJ3JlIGF0 IGl0LCB0aGVyZSdzIGFub3RoZXIgdHlwZSBvZiBzdWJvcmRpbmF0ZSBicmlkaS4gVGhlc2UgYXJl IGNhbGxlZCByZWxhdGl2ZSBjbGF1c2VzLiBUaGV5IGFyZSBzZW50ZW5jZXMgd2hpY2ggYWRkIHNv bWUgZGVzY3JpcHRpb24gdG8gYSBzdW10aS4gSW5kZWVkLCB0aGUg4oCcd2hpY2jigJ0gaW4gdGhl IHByZXZpb3VzIHNlbnRlbmNlIG1hcmtlZCB0aGUgYmVnaW5uaW5nIG9mIGEgcmVsYXRpdmUgY2xh dXNlIGluIEVuZ2xpc2ggZGVzY3JpYmluZyByZWxhdGl2ZSBjbGF1c2VzLiBJbiBMb2piYW4sIHRo ZXkgY29tZSBpbiB0d28gZmxhdm9ycywgYW5kIGl0IG1pZ2h0IGJlIHdvcnRoIGRpc3Rpbmd1aXNo aW5nIHRoZSB0d28ga2luZHMgYmVmb3JlIGxlYXJuaW5nIGhvdyB0byBleHByZXNzIHRoZW0uCgpU aGUgdHdvIGtpbmRzIGFyZSBjYWxsZWQgcmVzdHJpY3RpdmUgYW5kIG5vbi1yZXN0cmljdGl2ZSAo b3IgaW5jaWRlbnRpYWwpIHJlbGF0aXZlIGNsYXVzZXMuIEFuIGV4YW1wbGUgd291bGQgYmUgZ29v ZCBoZXJlOgoK4oCcTXkgYnJvdGhlciwgd2hvIGlzIHR3byBtZXRlcnMgdGFsbCwgaXMgYSBwb2xp dGljaWFuLuKAnSBUaGlzIGNhbiBiZSB1bmRlcnN0b29kIGluIHR3byB3YXlzLiBJIGNvdWxkIGhh dmUgc2V2ZXJhbCBicm90aGVycywgaW4gd2hpY2ggY2FzZSBzYXlpbmcgaGUgaXMgdHdvIG1ldGVy cyB0YWxsIHdpbGwgbGV0IHlvdSBrbm93IHdoaWNoIGJyb3RoZXIgSSBhbSB0YWxraW5nIGFib3V0 LiBPciBJIG1pZ2h0IGhhdmUgb25seSBvbmUgYnJvdGhlciwgaW4gd2hpY2ggY2FzZSBJIGFtIHNp bXBseSBnaXZpbmcgeW91IGFkZGl0aW9uYWwgaW5mb3JtYXRpb24uCgoKCkluIEVuZ2xpc2ggYXMg d2VsbCBhcyBMb2piYW4gd2UgZGlzdGluZ3Vpc2ggYmV0d2VlbiB0aGVzZSB0d28ga2luZHMg4oCT IHRoZSBmaXJzdCBpbnRlcnByZXRhdGlvbiBpcyByZXN0cmljdGl2ZSAoc2luY2UgaXQgaGVscHMg cmVzdHJpY3QgdGhlIHBvc3NpYmxlIGJyb3RoZXJzIEkgbWlnaHQgYmUgdGFsa2luZyBhYm91dCks IHRoZSBzZWNvbmQgbm9uLXJlc3RyaWN0aXZlLiBXaGVuIHNwZWFraW5nIEVuZ2xpc2gsIGNvbnRl eHQgYW5kIHRvbmUgb2Ygdm9pY2UgKG9yIGluIHdyaXR0ZW4gRW5nbGlzaCwgcHVuY3R1YXRpb24p IGhlbHBzIHVzIGRpc3Rpbmd1aXNoIGJldHdlZW4gdGhlc2UgdHdvLCBidXQgbm90IHNvIGluIExv amJhbi4gTG9qYmFuIHVzZXMgdGhlIGNvbnN0cnVjdHMgJydwb2nigKZrdSdvJycgYW5kICcnbm9p 4oCma3UnbycnIGZvciByZXN0cmljdGl2ZSBhbmQgbm9uLXJlc3RyaWN0aXZlIHJlbGF0aXZlIGNs YXVzZXMsIHJlc3BlY3RpdmVseS4KCkxldCdzIGhhdmUgYSBMb2piYW5pYyBleGFtcGxlLCB3aGlj aCBjYW4gYWxzbyBleHBsYWluIG91ciBzdHJhbmdlIGdpZnQtZWF0aW5nIGJlaGF2aW91ciBpbiB0 aGUgZXhhbXBsZSBpbiBsZXNzb24gZml2ZToKCl9fJydub2knJ19fIGJlZ2luIG5vbi1yZXN0cmlj dGl2ZSByZWxhdGl2ZSBjbGF1c2UgKGNhbiBvbmx5IGF0dGFjaCB0byBzdW10aSkKCl9fJydwb2kn J19fIGJlZ2luIHJlc3RyaWN0aXZlIHJlbGF0aXZlIGNsYXVzZSAoY2FuIG9ubHkgYXR0YWNoIHRv IHN1bXRpKQoKX18nJ2t1J28nJ19fIGVuZCByZWxhdGl2ZSBjbGF1c2UKCgoKJydtaSBjaXRrYSBs byBzZSBkdW5kYSBrdSBwb2kgcGxpc2Uga3UnbycnID0g4oCcSSBlYXQgYSBnaWZ0IHN1Y2ggdGhh dCAoc29tZXRoaW5nIGlzKSBhbiBhcHBsZeKAnS4gCgpIZXJlIHRoZSAnJ3BvaeKApmt1J28nJyBp cyBwbGFjZWQganVzdCBhZnRlciAnJ2xvIHNlIGR1bmRhIGt1JycsIHNvIGl0IGFwcGxpZXMgdG8g dGhlIGdpZnQuIFRvIGJlIHN0cmljdCwgdGhlIHJlbGF0aXZlIGNsYXVzZSBkb2VzIG5vdCBzcGVj aWZ5IHdoYXQgaXQgaXMsIHdoaWNoIGlzIGFuIGFwcGxlLCBidXQgc2luY2UgdGhlIHJlbGF0aXZl IGNsYXVzZSBhcHBsaWVzIHRvIHRoZSBnaWZ0LCB3ZSBjYW4gc2FmZWx5IGFzc3VtZSB0aGF0IGl0 IG1lYW5zIHRoYXQgdGhlIGdpZnQgaXMgYW4gYXBwbGUuIEFmdGVyIGFsbCwgaW4gdGhlIGNvbnRl eHQgb2YgbGVzc29uIGZpdmUsIHRoaXMgc2VlbXMgcmVhc29uYWJsZS4gSWYgd2Ugd2FudCB0byBi ZSBhYnNvbHV0ZWx5IHN1cmUgdGhhdCBpdCBpbmRlZWQgd2FzIHRoZSBnaWZ0IHRoYXQgd2FzIGFu IGFwcGxlLCB3ZSB1c2UgdGhlIHdvcmQgJydrZSdhJycsIHdoaWNoIGlzIGEgJydzdW1rYSdpJycg KGEgTG9qYmFuIHByb25vdW4sIG1vcmUgb24gdGhlbSBsYXRlcikgcmVwcmVzZW50aW5nIHRoZSBz dW10aSB3aGljaCB0aGUgcmVsYXRpdmUgY2xhdXNlIGlzIGF0dGFjaGVkIHRvLgoKX18nJ2tlJ2En J19fIHN1bWthJ2k7IHJlZmVycyB0byB0aGUgc3VtdGksIHRvIHdoaWNoIHRoZSByZWxhdGl2ZSBj bGF1c2UgaXQgYXR0YWNoZWQuCgoKCicnLnVpIG1pIGNpdGthIGxvIHNlIGR1bmRhIGt1IHBvaSBr ZSdhIHBsaXNlIGt1J28nJyA9IOKAnFlheSwgSSBlYXQgYSBnaWZ0IHdoaWNoIGlzIGFuIGFwcGxl 4oCdLgoKVG8gdW5kZXJsaW5lIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gcmVzdHJpY3RpdmUgYW5k IG5vbi1yZXN0cmljdGl2ZSByZWxhdGl2ZSBjbGF1c2VzLCBoZXJlJ3MgYW5vdGhlciBleGFtcGxl OgoKCgpfXycnbG9qYm8nJ19fIOKAnHgxIHJlZmxlY3RzIExvamJhbmljIGN1bHR1cmUvY29tbXVu aXR5IGlzIGFzcGVjdCB4MjsgeDEgaXMgTG9qYmFuaWMu4oCdCgoKCicnbWkgbm9pIGxvamJvIGt1 J28gZmFudmEgZm8gbG8gbG9qYm8ga3UnJyA9IOKAnEksIHdobyBhbSBhIExvamJhbmljLCB0cmFu c2xhdGUgZnJvbSBzb21lIExvamJhbmljIGxhbmd1YWdlLuKAnSBIZXJlLCB0aGVyZSBpcyBub3Qg bXVsdGlwbGUgdGhpbmdzIHdoaWNoICcnbWknJyBjb3VsZCByZWZlciB0bywgYW5kIHRoZSBmYWN0 IHRoYXQgSSBhbSBsb2piYW5pYyBpcyBtZXJlbHkgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiBub3Qg bmVlZGVkIHRvIGlkZW50aWZ5IG1lLiBUaGVyZWZvcmUgJydub2nigKZrdSdvJycgaXMgYXBwcm9w cmlhdGUuCgpTZWUgaWYgeW91IGNhbiB0cmFuc2xhdGUgdGhpczog4oCcSSBmbGlydCB3aXRoIGEg bWFuIHdobyBpcyBiZWF1dGlmdWwvaGFuZHNvbWXigJ0uCgpfXycnbmFubXUnJ19fIOKAnHgxIGlz IGEgbWFu4oCdCgpfXycnbWVsYmknJ19fIOKAnHgxIGlzIGJlYXV0aWZ1bCB0byB4MiBpbiBhc3Bl Y3QgKGthKSB4MyBieSBzdGFuZGFyZCB4NOKAnQoKX18nJ2Npbmppa2NhJydfXyDigJx4MSBmbGly dHMvY291cnRzIHgyLCBleGhpYml0aW5nIHNleHVhbGl0eSB4MyBieSBzdGFuZGFyZCB4NOKAnQoK CgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnbWkgY2luamlrY2EgbG8gbmFubXUga3UgcG9pIHtrZSdh fSBtZWxiaSBrdSdvJyd+fgoKCgpPbiBhIG1vcmUgdGVjaG5pY2FsIHNpZGUgbm90ZSwgaXQgbWln aHQgYmUgdXNlZnVsIHRvIGtub3cgdGhhdCAnJ2xvIHtzZWxicml9IGt1JycgaXMgb2Z0ZW4gc2Vl biBkZWZpbmVkIGFzICcnem8nZSBub2kga2UnYSB7c2VsYnJpfSBrdSdvJycuCgoKCgoKISFMb2pi YW4gTGVzc29ucyDigJMgTGVzc29uIGVpZ2h0ICh0ZXJtaW5hdG9yIGVsaXNpb24pCgonJy5hdSBk YSdpIG1pIGRqaWNhIGxvIG51IGxlIG1lcmtvIHBvaSB0dW5iYSBtaSBfX3ZhdSBrdSdvIGt1X18g amltcGUgbG8gZHUndSBtaSBuYSBuZWxjaSBsbyBudSB2bydhIGRhcnhpIG1pIF9fdmF1IGtlaSBr dSB2YXUga2VpIGt1IHZhdSBrZWkga3UgdmF1X18nJwoKIC0gIOKAnEkgd2lzaCB0aGUgQW1lcmlj YW4sIHdobyBpcyBteSBzaWJsaW5nLCB3b3VsZCB1bmRlcnN0YW5kIHRoYXQgSSBkb24ndCBsaWtl IHRoYXQgaGUgaGl0cyBtZS7igJ0KClJlZ2FyZGxlc3Mgb2Ygd2hldGhlciB0aGUgYWJvdmUgc2Vu dGVuY2UgaXMgYmVpbmcgdW5kZXJzdG9vZCwgKGl0IHNob3VsZG4ndCwgYXMgaXQgY29udGFpbnMg d29yZHMgd2UgaGF2ZSBub3QgY292ZXJlZCBpbiB0aGVzZSBsZXNzb25zIHlldCkgb25lIHRoaW5n IHN0YW5kcyBvdXQ6IEFzIG1vcmUgY29tcGxleCBMb2piYW4gc3RydWN0dXJlcyBhcmUgbGVhcm5l ZCwgbW9yZSBhbmQgbW9yZSBvZiB0aGUgc2VudGVuY2VzIGdldCBmaWxsZWQgd2l0aCAnJ2t1Jycs ICcna2VpJycsICcna3UnbycnIGFuZCBvdGhlciBvZiB0aG9zZSB3b3JkcyB3aGljaCBieSB0aGVt c2VsdmVzIGNhcnJ5IG5vIG1lYW5pbmcuCgoKClRoZSBmdW5jdGlvbiBvZiBhbGwgdGhlc2Ugd29y ZHMgaXMgdG8gc2lnbmFsIHRoZSBlbmQgb2YgYSBjZXJ0YWluIGdyYW1tYXRpY2FsIGNvbnN0cnVj dCwgbGlrZSBmb3IgaW5zdGFuY2Ug4oCcY29udmVydCBzZWxicmkgdG8gc3VtdGnigJ0gaW4gdGhl IGNhc2Ugb2YgJydrdScnLiBUaGUgRW5nbGlzaCB3b3JkIGZvciB0aGlzIGtpbmQgb2Ygd29yZCBp cyDigJx0ZXJtaW5hdG9y4oCdLCB0aGUgTG9qYmFuIHdvcmQgaXMgJydmYSdvcm1hJ28nJy4gVGhl eSBhcmUgd3JpdHRlbiBpbiBib2xkIGluIHRoZSBleGFtcGxlIGFib3ZlLgoKTm90ZTogVGhlICcn dmF1JycgaW4gdGhlIGFib3ZlIGV4YW1wbGUgYXJlIHRoZSBmYSdvcm1hJ28gZm9yIOKAnGVuZCBi cmlkaeKAnS4gVGhlcmUgaXMgYSBnb29kIHJlYXNvbiB5b3UgaGF2ZSBub3QgeWV0IHNlZW4gaXQs IHN0YXkgdHVuZWQuCgpfXycndmF1JydfXyBmYSdvcm1hJ286IFRlcm1pbmF0ZXMgYnJpZGkuCgoK CkluIG1vc3Qgc3Bva2VuIGFuZCB3cml0dGVuIExvamJhbiwgbW9zdCBmYSdvcm1hJ28gYXJlIHNr aXBwZWQgKGVsaWRlZCkuIFRoaXMgZ3JlYXRseSBzYXZlcyBzeWxsYWJsZXMgaW4gc3BlZWNoIGFu ZCBzcGFjZSBpbiB3cml0aW5nLCBob3dldmVyLCBvbmUgbXVzdCBhbHdheXMgYmUgY2FyZWZ1bCB3 aGVuIGVsaWRpbmcgZmEnb3JtYSdvLiBJbiB0aGUgc2ltcGxlIGV4YW1wbGUgJydsbyBtZXJrbyBr dSBrbGFtYScnLCByZW1vdmluZyB0aGUgZmEnb3JtYSdvICcna3UnJyB3b3VsZCB5aWVsZCAnJ2xv IG1lcmtvIGtsYW1hJycsIHdoaWNoIGlzIGEgc2luZ2xlIHN1bXRpIG1hZGUgZnJvbSB0aGUgdGFu cnUgJydtZXJrbyBrbGFtYScnLiBUaHVzLCBpdCBtZWFucyDigJxhbiBBbWVyaWNhbiB0cmF2ZWxl cuKAnSBpbnN0ZWFkIG9mIOKAnGFuIEFtZXJpY2FuIHRyYXZlbHPigJ0uIGZhJ29ybWEnbyBlbGlz aW9uIGNhbiBsZWFkIHRvIHZlcnkgd3JvbmcgcmVzdWx0cyBpZiBkb25lIGluY29ycmVjdGx5LCB3 aGljaCBpcyB3aHkgeW91IGhhdmVuJ3QgbGVhcm5lZCBhYm91dCBpdCB1bnRpbCBub3cuCgoKClRo ZSBydWxlIGZvciB3aGVuIGZhJ29ybWEnbyBjYW4gYmUgZWxpZGVkIGlzIHZlcnkgc2ltcGxlLCBh dCBsZWFzdCBpbiB0aGVvcnk6IOKAnFlvdSBjYW4gZWxpZGUgYSBmYSdvcm1hJ28sIF9faWYgYW5k IG9ubHkgaWZfXyBkb2luZyBzbyBkb2VzIG5vdCBjaGFuZ2UgdGhlIGdyYW1tYXRpY2FsIGNvbnN0 cnVjdHMgaW4gdGhlIHNlbnRlbmNlLuKAnQoKTW9zdCBmYSdvcm1hJ28gY2FuIGJlIHNhZmVseSBl bGlkZWQgYXQgdGhlIGVuZCBvZiB0aGUgYnJpZGkuIEV4Y2VwdGlvbnMgYXJlIHRoZSBvYnZpb3Vz IG9uZXMgbGlrZSDigJxlbmQgcXVvdGXigJ0tZmEnb3JtYSdvIGFuZCDigJxlbmQgYnJpZGkgZ3Jv dXBpbmfigJ0tZmEnb3JtYSdvLiBUaGlzIGlzIHdoeSAnJ3ZhdScnIGlzIGFsbW9zdCBuZXZlciB1 c2VkIOKAkyBzaW1wbHkgYmVnaW5uaW5nIGEgbmV3IGJyaWRpIHdpdGggJycuaScnIHdpbGwgYWxt b3N0IGFsd2F5cyB0ZXJtaW5hdGUgdGhlIHByZWNlZGluZyBicmlkaSBhbnl3YXkuIEl0IGhhcyBv bmUgZnJlcXVlbnQgdXNlLCBob3dldmVyLiBTaW5jZSBhdHRpdHVkaW5hbHMgYWx3YXlzIGFwcGx5 IHRvIHRoZSBwcmVjZWRpbmcgd29yZCwgYXBwbHlpbmcgaXQgdG8gYSBmYSdvcm1hJ28gYXBwbGll cyBpdCB0byB0aGUgZW50aXJlIGNvbnN0cnVjdCB3aGljaCBpcyB0ZXJtaW5hdGVkLiBVc2luZyAn J3ZhdScnLCBvbmUgY2FuIHRoZW4gdXNlIGF0dGl0dWRpbmFscyBhZnRlcnRob3VnaHQgYW5kIGFw cGx5IHRoZW0gdG8gdGhlIGVudGlyZSBicmlkaToKCicnemEnYSBkbyBkdW5kYSBsbyB6ZGFuaSB7 a3V9IGxvIHByZW51IHtrdX0uLi4gdmF1IGknZScnIC0g4oCcSSBzZWUgdGhhdCB5b3UgZ2l2ZSBh IGhvbWUgdG8gYSBwZXJzb24uLi4gSSBhcHByb3ZlIeKAnQoKX18nJ3ByZW51JydfXyB4MSBpcyBh IHBlcnNvbjsgeDEgaGFzIGEgcGVyc29uYWxpdHkuCgoKCktub3dpbmcgdGhlIGJhc2ljIHJ1bGVz IGZvciBmYSdvcm1hJ28gZWxpc2lvbiwgd2UgY2FuIHRodXMgcmV0dXJuIHRvIHRoZSBvcmlnaW5h bCBzZW50ZW5jZSBhbmQgYmVnaW4gcmVtb3ZpbmcgZmEnb3JtYSdvOgoKCgonJy5hdSBkYSdpIG1p IGRqaWNhIGxvIG51IGxlIG1lcmtvIHBvaSB0dW5iYSBtaSBfX3ZhdSBrdSdvIGt1X18gamltcGUg bG8gZHUndSBtaSBuYSBuZWxjaSBsbyBudSB2bydhIGRhcnhpIG1pIF9fdmF1IGtlaSBrdSB2YXUg a2VpIGt1IHZhdSBrZWkga3UgdmF1X18nJwoKCgpXZSBjYW4gc2VlIHRoYXQgdGhlIGZpcnN0ICcn dmF1JycgaXMgZ3JhbW1hdGljYWxseSB1bm5lY2Vzc2FyeSwgYmVjYXVzZSB0aGUgbmV4dCBub24t ZmEnb3JtYSdvLXdvcmQgaXMgJydqaW1wZScnLCB3aGljaCBpcyBhIHNlbGJyaS4gU2luY2UgdGhl cmUgY2FuIG9ubHkgYmUgb25lIHNlbGJyaSBwZXIgYnJpZGksICcndmF1JycgaXMgbm90IG5lZWRl ZC4gU2luY2UgJydqaW1wZScnIGFzIGEgc2VsYnJpIGNhbm5vdCBiZSBpbiB0aGUgcmVsYXRpdmUg Y2xhdXNlIGVpdGhlciAob25seSBvbmUgYnJpZGkgaW4gYSBjbGF1c2UsIG9ubHkgb25lIHNlbGJy aSBpbiBlYWNoIGJyaWRpKSwgd2UgY2FuIGVsaWRlICcna3UnbycnLiBMaWtld2lzZSwgJydqaW1w ZScnIGNhbm5vdCBiZSBhIHNlY29uZCBzZWxicmkgaW5zaWRlIHRoZSBjb25zdHJ1Y3QgJydsZSBt ZXJrbyBwb2l7Li4ufScnLCBzbyB0aGUgJydrdScnIGlzIG5vdCBuZWVkZWQgZWl0aGVyLiBGdXJ0 aGVybW9yZSwgYWxsIHRoZSBmYSdvcm1hJ28gYXQgdGhlIHZlcnkgZW5kIG9mIHRoZSBzZW50ZW5j ZSBjYW4gYmUgZWxpZGVkIHRvbywgc2luY2UgYmVnaW5uaW5nIGEgbmV3IGJyaWRpIHdpbGwgdGVy bWluYXRlIGFsbCBvZiB0aGVzZSBjb25zdHJ1Y3RzIGFueXdheS4KCldlIHRoZW4gZW5kIHVwIHdp dGg6CgonJy5hdSBkYSdpIG1pIGRqaWNhIGxvIG51IGxlIG1lcmtvIHBvaSB0dW5iYSBtaSBqaW1w ZSBsbyBkdSd1IG1pIG5hIG5lbGNpIGxvIG51IHZvJ2EgZGFyeGkgbWknJyDigJMgd2l0aCBubyBm YSdvcm1hJ28gYXQgYWxsIQoKCgpXaGVuIGVsaWRpbmcgZmEnb3JtYSdvLCBpdCBpcyBhIGdvb2Qg aWRlYSB0byBiZSBhY3F1YWludGVkIHdpdGggJydjdScnLiAnJ2N1JycgaXMgb25lIG9mIHRob3Nl IHdvcmRzIHdoaWNoIGNhbiBtYWtlIHlvdXIgKExvamJhbmljKSBsaWZlIGEgbG90IGVhc2llci4g V2hhdCBpdCBkb2VzIGlzIHRvIHNlcGFyYXRlIGFueSBwcmV2aW91cyBzdW10aSBmcm9tIHRoZSBz ZWxicmkuIE9uZSBjb3VsZCBzYXkgdGhhdCBpdCBkZWZpbmVzIHRoZSBuZXh0IHdvcmQgdG8gYmUg YSBzZWxicmksIGFuZCB0ZXJtaW5hdGVzIGV4YWN0bHkgYXMgbXVjaCBhcyBpdCBuZWVkcyB0byBp biBvcmRlciB0byBkbyB0aGF0LgoKX18nJ2N1JydfXyBlbGlkYWJsZSBtYXJrZXI6IHNlcGFyYXRl cyBzZWxicmkgZnJvbSBwcmVjZWRpbmcgc3VtdGksIGFsbG93cyBwcmVjZWRpbmcgZmEnb3JtYSdv IGVsaXNpb24uCgoKCl9fJydwcmFtaScnX18gPSDigJx4MSBsb3ZlcyB4MuKAnQoKCgonJ2xvIHN1 J3UgZG8gY3Vza3UgbG8gc2UgZHUndSBkbyBwcmFtaSBtaSBfX3ZhdSBrZWkga3UgdmF1IGtlaSBr dV9fIHNlIGRqaWNhIG1pJycgPQoKJydsbyBzdSd1IGRvIGN1c2t1IGxvIHNlIGR1J3UgZG8gcHJh bWkgbWkgX19jdV9fIHNlIGRqaWNhIG1pJycKCuKAnFRoYXQgeW91IHNheSB0aGF0IHlvdSBsb3Zl IG1lIGlzIGRlc2lyZWQgYnkgYmXigJ0gb3Ig4oCcSSB3aXNoIHlvdSBzYWlkIHlvdSBsb3ZlZCBt ZeKAnQoKbm90ZTogJydjdScnIGlzIG5vdCBhIGZhJ29ybWEnbywgYmVjYXVzZSBpdCBpcyBub3Qg dGllZCB0byBvbmUgc3BlY2lmaWMgY29uc3RydWN0LiBCdXQgaXQgY2FuIGJlIHVzZWQgdG8gZWxp ZGUgb3RoZXIgZmEnb3JtYSdvLgoKCgpPbmUgb2YgdGhlIGdyZWF0ZXN0IHN0cmVuZ3RocyBvZiAn J2N1JycgaXMgdGhhdCBpdCBxdWlja2x5IGJlY29tZXMgZWFzeSB0byBpbnR1aXRpdmVseSB1bmRl cnN0YW5kLiBCeSBpdHNlbGYgaXQgbWVhbnMgbm90aGluZywgYnV0IGl0IHJldmVhbHMgdGhlIHN0 cnVjdHVyZSBvZiBMb2piYW4gZXhwcmVzc2lvbnMgYnkgaWRlbnRpZnlpbmcgdGhlIGNvcmUgc2Vs YnJpLiBJbiB0aGUgb3JpZ2luYWwgZXhhbXBsZSB3aXRoIHRoZSB2aW9sZW50IEFtZXJpY2FuIGJy b3RoZXIsIHVzaW5nICcnY3UnJyBiZWZvcmUgJydqaW1wZScnIGRvZXMgbm90IGNoYW5nZSB0aGUg bWVhbmluZyBvZiB0aGUgc2VudGVuY2UgaW4gYW55IHdheSwgYnV0IG1pZ2h0IG1ha2UgaXQgZWFz aWVyIHRvIHJlYWQuCgoKCkluIHRoZSBmb2xsb3dpbmcgY291cGxlIG9mIGxlc3NvbnMsICcnY3Un JyB3aWxsIGJlIHVzZWQgd2hlbiBuZWNlc3NhcnksIGFuZCBhbGwgZmEnb3JtYSdvIGVsaWRlZCBp ZiBwb3NzaWJsZS4gVGhlIGVsaWRlZCBmYSdvcm1hJ28gd2lsbCBiZSBlbmNhc2VkIGluIGN1cmx5 IGJyYWNrZXRzLCBhcyBzaG93biBiZWxvdy4gVHJ5IHRvIHRyYW5zbGF0ZSBpdCEKCl9fJyd2YWpu aScnX18g4oCceDEgaXMgaW1wb3J0YW50IHRvIHgyIGZvciByZWFzb24geDPigJ0KCl9fJydqaW1w ZScnX18g4oCceDEgdW5kZXJzdGFuZHMgdGhhdCB4MiAoZHUndS1hYnN0cmFjdGlvbikgaXMgdHJ1 ZSBhYm91dCB4M+KAnQoKX18nJ2EnbycnX18gLSBBdHRpdHVkaW5hbDogU2ltcGxlIHByb3Bvc2l0 aW9uYWwgZW1vdGlvbjogSG9wZSAtIGRlc3BhaXIKCgoKJydhJ28gZG8gbm9pIGtlJ2EgbG9qYm8g LmknZSB7a3Unb30ge2t1fSBjdSBqaW1wZSBsbyBkdSd1IGxvIGZhJ29ybWEnbyB7a3V9IGN1IHZh am5pIHt2YXV9IHtrZWl9IHtrdX0ge3ZhdX0nJwoKV2hhdCBkbyBJIHN0YXRlPwoKCgpBbnN3ZXI6 IH5+Z3JleSxncmV5OuKAnEkgaG9wZSB0aGF0IHlvdSwgYSBwcm91ZCBMb2piYW5pc3QsIHVuZGVy c3RhbmRzIHRoYXQgZmEnb3JtYSdvIGFyZSBpbXBvcnRhbnTigJ1+fgoKCgpGdW4gc2lkZSBub3Rl OiBNb3N0IHBlb3BsZSB3ZWxsLXZlcnNlZCBpbiBmYSdvcm1hJ28tZWxpc2lvbiBkbyBpdCBzbyBp bnN0aW5jdGl2ZWx5IHRoYXQgdGhleSBvZnRlbiBtdXN0IGJlIHJlbWluZGVkIGhvdyBpbXBvcnRh bnQgdW5kZXJzdGFuZGluZyBmYSdvcm1hJ28gYXJlIHRvIHRoZSB1bmRlcnN0YW5kaW5nIG9mIExv amJhbi4gVGhlcmVmb3JlLCBlYWNoIFR1ZXNkYXkgaGF2ZSBiZWVuIGRlc2lnbmF0ZWQg4oCcVGVy bWluYXRvciBEYXnigJ0gb3IgJydmYSdvcm1hJ28gZGplZGknJyBvbiB0aGUgTG9qYmFuIElSQyBj aGF0cm9vbS4gRHVyaW5nIFRlcm1pbmF0b3IgRGF5LCBtYW55IHBlb3BsZSB0cnkgKGFuZCBvZnRl biBmYWlsKSB0byByZW1lbWJlciB3cml0aW5nIG91dCBhbGwgZmEnb3JtYSdvIHdpdGggc29tZSB2 ZXJ5IHZlcmJvc2UgY29udmVyc2F0aW9ucyBhcyBhIHJlc3VsdC4KCgoKCgohIUxvamJhbiBMZXNz b25zIC0gTGVzc29uIG5pbmUgKHN1bXRjaXRhKQoKU28gZmFyIHdlIGhhdmUgYmVlbiBkb2luZyBw cmV0dHkgd2VsbCB3aXRoIHRoZSBzZWxicmkgd2UgaGF2ZSBoYWQgYXQgaGFuZC4gSG93ZXZlciwg dGhlcmUgaXMgYSBmaW5pdGUgYW1vdW50IG9mIGRlZmluZWQgc2VsYnJpIG91dCB0aGVyZSwgYW5k IGluIG1hbnkgY2FzZXMgdGhlIHN1bXRpIHBsYWNlcyBhcmUgbm90IHVzZWZ1bCBmb3Igd2hhdCB3 ZSBoYWQgaW4gbWluZC4gV2hhdCBpZiwgc2F5LCBpIHdhbnQgdG8gc2F5IHRoYXQgSSBhbSB0cmFu c2xhdGluZyB1c2luZyBhIGNvbXB1dGVyPyBUaGVyZSBpcyBubyBwbGFjZSBpbiB0aGUgc3RydWN0 dXJlIG9mICcnZmFudmEnJyB0byBzcGVjaWZ5IHdoYXQgdG9vbCBJIHRyYW5zbGF0ZSB3aXRoLCBz aW5jZSwgbW9zdCBvZiB0aGUgdGltZSwgdGhhdCBpcyBub3QgbmVjZXNzYXJ5LiBOb3QgdG8gd29y cnksIHRoaXMgbGVzc29uIGlzIG9uIGhvdyB0byBhZGQgYWRkaXRpb25hbCBzdW10aSBwbGFjZXMg dG8gdGhlIHNlbGJyaS4KCgoKVGhlIG1vc3QgYmFzaWMgd2F5IHRvIGFkZCBzdW10aSBwbGFjZXMg YXJlIHdpdGggJydmaSdvIFNFTEJSSSBmZSd1JycgKHllcywgYW5vdGhlciBleGFtcGxlIG9mIGEg ZmEnb3JtYSdvLCAnJ2ZlJ3UnJy4gSXQncyBhbG1vc3QgbmV2ZXIgbmVjZXNzYXJ5LCBzbyB0aGlz IG1pZ2h0IGJlIHRoZSBsYXN0IHRpbWUgeW91IGV2ZXIgc2VlIGl0LikKCkluIGJldHdlZW4gdGhl c2UgdHdvIHdvcmRzIGdvZXMgYSBzZWxicmksIGFuZCBsaWtlICcnbG8gU0VMQlJJIGt1JycsICcn ZmknbyBTRUxCUkkgZmUndScnIGV4dHJhY3RzIHRoZSB4MSBvZiB0aGUgc2VsYnJpIHB1dCBpbnRv IGl0LiBIb3dldmVyLCB3aXRoICcnZmknbyBTRUxCUkkgZmUndScnLCB0aGUgc2VsYnJpIHBsYWNl IGlzIGNvbnZlcnRlZCwgbm90IHRvIGEgc3VtdGksIGJ1dCB0byBhICcnc3VtdGNpdGEnJywgbWVh bmluZyDigJxzdW10aS1sYWJlbOKAnSwgd2l0aCB0aGUgcGxhY2Ugc3RydWN0dXJlIG9mIHRoZSB4 MSBvZiB0aGUgc2VsYnJpIGl0IGNvbnZlcnRlZC4gVGhpcyAnJ3N1bXRjaXRhJycgdGhlbiBhYnNv cmJzIHRoZSBuZXh0IHN1bXRpLiBPbmUgY291bGQgc2F5IHRoYXQgdXNpbmcgYSAnJ3N1bXRjaXRh JycsIHlvdSBpbXBvcnQgYSBzdW10aSBwbGFjZSBmcm9tIGFub3RoZXIgc2VsYnJpLCBhbmQgYWRk IGl0IHRvIHRoZSBicmlkaSBiZWluZyBzYWlkLgoKTm90ZTogU29tZXRpbWVzLCBlc3BlY2lhbGx5 IGluIG9sZGVyIHRleHRzLCB0aGUgdGVybSDigJx0YWfigJ0gb3Ig4oCcbW9kYWzigJ0gaXMgdXNl ZCBmb3IgJydzdW10Y2l0YScnLiBJZ25vcmUgdGhvc2UgcHVueSBFbmdsaXNoIGV4cHJlc3Npb25z LiBXZSB0ZWFjaCBwcm9wZXIgTG9qYmFuIGhlcmUuCgoKCldoaWxlIGl0IGlzIGhhcmQgdG8gZ3Jh c3AgdGhlIHByb2Nlc3MgZnJvbSByZWFkaW5nIGFib3V0IGl0LCBhbiBleGFtcGxlIGNhbiBwZXJo YXBzIHNob3cgaXRzIGFjdHVhbCBzaW1wbGljaXR5OgoKX18nJ3NrYW1pJydfXyDigJx4MSBpcyBh IGNvbXB1dGVyIGZvciBwdXJwb3NlIHgy4oCdCgpfXycncGlsbm8nJ19fIOKAnHgxIHVzZXMgeDIg YXMgYSB0b29sIGZvciBkb2luZyB4M+KAnQoKCgonJ21pIGZhbnZhIHRpIGZpJ28gc2UgcGlsbm8g e2ZlJ3V9IGxvIHNrYW1pIHtrdX17dmF1fScnIC0g4oCcSSB0cmFuc2xhdGUgdGhpcyB3aXRoIGEg Y29tcHV0ZXLigJ0gVGhlIHgyIG9mICcncGlsbm8nJywgd2hpY2ggaXMgdGhlIHgxIG9mICcnc2Ug cGlsbm8nJyBpcyBhIHBsYWNlIHN0cnVjdHVyZSBmb3IgYSB0b29sIGJlaW5nIHVzZWQgYnkgc29t ZW9uZS4gVGhpcyBwbGFjZSBzdHJ1Y3R1cmUgaXMgY2FwdHVyZWQgYnkgJydmaSdvIFNFTEJSSSBm ZSd1JycsIGFkZGVkIHRvIHRoZSBtYWluIHNlbGJyaSwgYW5kIHRoZW4gZmlsbGVkIGJ5ICcnbG8g c2thbWknJy4gVGhlIGlkZWEgb2YgJydzdW10Y2l0YScnIGlzIHNvbWV0aW1lcyBleHByZXNzZWQg aW4gRW5nbGlzaCB1c2luZyB0aGUgZm9sbG93aW5nIHRyYW5zbGF0aW9uOgoK4oCcSSB0cmFuc2xh dGUgdGhpcyB3aXRoLXRvb2w6IEEgY29tcHV0ZXLigJ0KCgoKQSAnJ3N1bXRjaXRhJycgY2FuIG9u bHkgYWJzb3JiIG9uZSBzdW10aSwgd2hpY2ggaXMgYWx3YXlzIHRoZSBmb2xsb3dpbmcgb25lLiBB bHRlcm5hdGl2ZWx5LCB0aGUgJydzdW10Y2l0YScnIGNvbnN0cnVjdCBjYW4gYmUgdGVybWluYXRl ZCB3aXRoICcna3UnJywgaW4gd2hpY2ggY2FzZSBhICcnem8nZScnIGlzIGltcGxpZWQgdG8gZmls bCB0aGUgJydzdW10Y2l0YScnLiBPciwgb25lIGNvdWxkIGltYWdpbmUgYW4gZWxpZGVkIHN1bXRp IGJlaW5nIHRlcm1pbmF0ZWQgd2l0aCB0aGUgJydrdScnLgoKX18nJ3p1a3RlJydfXyDigJx4MSBp cyBhIHZvbGl0aW9uYWwgZW50aXR5IGNhcnJ5aW5nIG91dCBhY3Rpb24geDIgZm9yIHB1cnBvc2Ug eDPigJ0KCgoKJydmaSdvIHp1a3RlIHtmZSd1fSBrdSBsbyBza2FtaSB7a3V9IGN1IHBpbG5vIGxv IGxvamJvIHtrdX17dmF1fScnIC0g4oCcV2l0aCB2b2xpdGlvbiwgYSBjb21wdXRlciB1c2VkIHNv bWV0aGluZyBMb2piYW5pY+KAnSAocGVyaGFwcyBpbXBseWluZyB0aGF0IGEgTG9qYmFuaWMgY29t cHV0ZXIgd2VudCBzZW50aWVudD8gVG91Z2ggaXQgZG9lcyBub3Qgc3BlY2lmeSB3aG8gaGFkIHZv bGl0aW9uLiBJdCBjb3VsZCBqdXN0IGJlIHRoZSBwcm9ncmFtbWVyIHdobyBwcm9ncmFtbWVkIHRo ZSBjb21wdXRlciAtIGhvdyBib3JpbmcuKQoKCgpXaGF0IGRvZXMgJydtaSBqaW1wZSBmaSBsYSBq Ym9iYXUgZmknbyBzZSB0YXZsYSB7ZmUndX0gbWknJyBzdGF0ZT8KCgoKQW5zd2VyOiB+fmdyZXks Z3JleTrigJxJIHVuZGVyc3RhbmQgc29tZXRoaW5nIGFib3V0IExvamJhbiwgc3Bva2VuIHRvIG1l 4oCdfn4KCgoKUHV0dGluZyB0aGUgJydzdW10Y2l0YScnIHJpZ2h0IGluIGZyb250IG9mIHRoZSBz ZWxicmkgYWxzbyBtYWtlcyBpdCBzZWxmLXRlcm1pbmF0ZSwgc2luY2Ugc3VtdGNpdGEgb25seSBj YW4gYWJzb3JiIHN1bXRpLCBhbmQgbm90IHNlbGJyaS4gVGhpcyBmYWN0IHdpbGwgYmUgb2YgaW1w b3J0YW5jZSBpbiBuZXh0IGxlc3NvbiwgYXMgeW91IHdpbGwgc2VlLgoKCgpTYWRseSwgJydmaSdv JycgaXMgbm90IHVzZWQgdmVyeSBvZnRlbiBkZXNwaXRlIGl0cyBmbGV4aWJpbGl0eS4gV2hhdCBJ UyB1c2VkIHZlcnkgb2Z0ZW4sIHRob3VnaCwgYXJlIEJBSS4gQkFJIGlzIGEgY2xhc3Mgb2YgTG9q YmFuIHdvcmRzLCB3aGljaCBpbiB0aGVtc2VsdmVzIGFjdCBhcyAnJ3N1bXRjaXRhJycuIEFuIGV4 YW1wbGUgb2YgdGhpcyBpcyAnJ3p1J2UnJywgdGhlIEJBSSBmb3IgJyd6dWt0ZScnLiBHcmFtYXRp Y2FsbHksICcnenUnZScnIGlzIHRoZSBzYW1lIGFzICcnZmknbyB6dWt0ZSBmZSd1JycuIFRodXMs IHRoZSBhYm92ZSBleGFtcGxlIGNvdWxkIGJlIHJlZHVjZWQgdG86CgonJ3p1J2Uga3UgbG8gc2th bWkge2t1fSBjdSBwaWxubyBsbyBsb2pibyB7a3V9IHt2YXV9JycuIFRoZXJlIGV4aXN0IHNvbWV0 aGluZyBsaWtlIDYwIEJBSSwgYW5kIGEgbG90IG9mIHRoZXNlIGFyZSB2ZXJ5IHVzZWZ1bCBpbmRl ZWQuIEZ1cnRlcm1vcmUsIEJBSSBjYW4gYWxzbyBiZSBjb252ZXJ0ZWQgd2l0aCAnJ3NlJycgYW5k IGZyaWVuZHMsIG1lYW5pbmcgdGhhdCAnJ3NlIHp1J2UnJyBpcyBlcXVhbCB0byAnJ2ZpJ28gc2Ug enVrdGUgZmUndScnLCB3aGljaCByZXN1bHRzIGluIGEgZ3JlYXQgZGVhbCBtb3JlIEJBSS4KCgoK ISFMb2piYW4gTGVzc29ucyAtIExlc3NvbiB0ZW4gKFBVLCBGQWhBLCBaSSwgVkEsIFpFaEEsIFZF aEEpCgpIb3cgdW5mYW1pbGlhciB0byB0aGUgRW5nbGlzaC1zcGVha2VyIGEgbGFuZ3VhZ2UgTG9q YmFuIGlzIHdoZW4gb25lIGNhbiByZWFkIHRocm91Z2ggbmluZSBsZXNzb25zIG9mIExvamJhbiBn cmFtbWFyIHdpdGhvdXQgbWVldGluZyBhIHRlbnNlIG9uY2UuIFRoaXMgaXMgYmVjYXVzZSwgdW5s aWtlIG1hbnkgbmF0dXJhbCBsYW5ndWFnZXMgKG1vc3QgSW5kby1FdXJvcGVhbiBvbmVzLCBmb3Ig aW5zdGFuY2UpLCBhbGwgdGVuc2VzIGluIExvamJhbiBhcmUgb3B0aW9uYWwuIFNheWluZyAnJ21p IGNpdGthIGxvIGNpcmxhIHtrdX0nJyBjYW4gbWVhbiDigJxJIGVhdCBjaGVlc2XigJ0gb3Ig4oCc SSBhdGUgdGhlIGNoZWVzZeKAnSBvciDigJxJIGFsd2F5cyBlYXQgY2hlZXNl4oCdIG9yIOKAnElu IGEgbW9tZW50LCBpIHdpbGwgaGF2ZSBqdXN0IGZpbmlzaGVkIGVhdGluZyBjaGVlc2XigJ0uIENv bnRleHQgcmVzb2x2ZXMgd2hhdCBpcyBjb3JyZWN0LCBhbmQgaW4gbW9zdCBjb252ZXJzYXRpb24s IHRlbnNlcyBhcmUgbm90IG5lZWRlZCBhdCBhbGwuIEhvd2V2ZXIsIHdoZW4gaXQncyBuZWVkZWQg aXQncyBuZWVkZWQsIGFuZCBpdCBtdXN0IGJlIHRhdWdodC4gRnVydGhlcm1vcmUsIExvamJhbiB0 ZW5zZXMgYXJlIHVudXN1YWwgYmVjYXVzZSB0aGV5IHRyZWF0IHRpbWUgYW5kIHNwYWNlIGZ1bmRh bWVudGFsbHkgdGhlIHNhbWUgLSBzYXlpbmcgdGhhdCBJIHdvcmtlZCBhIGxvbmcgdGltZSBhZ28g aXMgbm90IGdyYW1tYXRpY2FsbHkgZGlmZmVyZW50IHRoYW4gc2F5aW5nIEkgd29yayBmYXIgYXdh eSB0byB0aGUgbm9ydGguCgpMaWtlIG1hbnkgb3RoZXIgbGFuZ3VhZ2VzLCB0aGUgTG9qYmFuIHRl bnNlIHN5c3RlbSBpcyBwZXJoYXBzIHRoZSBtb3N0IGRpZmZpY3VsdCBwYXJ0IG9mIHRoZSBsYW5n dWFnZS4gVW5saWtlIG1hbnkgb3RoZXIgbGFuZ3VhZ2VzIHRob3VnaCwgaXQncyBwZXJmZWN0bHkg cmVndWxhciBhbmQgbWFrZXMgc2Vuc2UuIFNvIGZlYXIgbm90LCBmb3IgaXQgd2lsbCBub3QgaW52 b2x2ZSBzd2VhdGluZyB0byBsZWFybiBob3cgdG8gbW9kaWZ5IHRoZSBzZWxicmkgb3IgYW55dGhp bmcgc2lsbHkgbGlrZSB0aGF0LgoKCgpObywgaW4gdGhlIExvamJhbiB0ZW5zZSBzeXN0ZW0sIGFs bCB0ZW5zZXMgYXJlIHN1bXRjaXRhLCB3aGljaCB3ZSBoYXZlIGNvbnZlbmllbnRseSBqdXN0IG1h ZGUgb3Vyc2VsdmVzIGZhbWlsaWFyIHdpdGguIE9rYXkgb2theSwgdGVjaG5pY2FsbHksIHRlbnNl cyBhcmUgc2xpZ2h0bHkgZGlmZmVyZW50IGZyb20gb3RoZXIgc3VtdGNpdGEsIGJ1dCB0aGlzIGRp ZmZlcmVuY2UgaXMgYWxtb3N0IGluc2lnbmlmaWNhbnQsIGFuZCB3b24ndCBiZSBleHBsYWluZWQg dW50aWwgbGF0ZXIuIEluIG1vc3QgYXNwZWN0cyB0aGV5IGFyZSBsaWtlIGFsbCBvdGhlciBzdW10 Y2l0YTsgdGhleSBhcmUgdGVybWluYXRlZCBieSAnJ2t1JycsIG1ha2luZyBpdCBleHBsaWNpdCB0 aGF0IFBVIGlzIHRlcm1pbmF0ZWQgYnkgJydrdScnLgoKVGhlcmUgYXJlIG1hbnkgZGlmZmVyZW50 IGtpbmRzIG9mIHRlbnNlLXN1bXRjaXRhLCBzbyBsZXQncyBzdGFydCBhdCB0aGUgb25lcyBtb3N0 IGZhbWlsaWFyIHRvIEVuZ2xpc2gtc3BlYWtlcnMuCgpfXycncHUnJ19fIC0gc3VtdGNpdGE6IGJl Zm9yZSB7c3VtdGl9CgpfXycnY2EnJ19fIC0gc3VtdGNpdGE6IGF0IHRoZSBzYW1lIHRpbWUgYXMg e3N1bXRpfQoKX18nJ2JhJydfXyAtIHN1bXRjaXRhOiBhZnRlciB7c3VtdGl9CgoKClRoZXNlIGFy ZSBsaWtlIHRoZSBFbmdsaXNoIGNvbmNlcHRzIOKAnGJlZm9yZeKAnSwg4oCcbm934oCdIGFuZCDi gJxhZnRlcuKAnS4gSW4gYWN0dWFsaXR5IHRob3VnaCwgb25lIGNvdWxkIGFyZ3VlIHRoYXQgdHdv IHBvaW50LWxpa2UgZXZlbnRzIGNhbiBuZXZlciBvY2N1ciBleGFjdGx5IHNpbXVsdGFuZW91c2x5 LCByZW5kZXJpbmcgJydjYScnIHVzZWxlc3MuIEJ1dCAnJ2NhJycgZXh0ZW5kcyBzbGlnaHRseSBp bnRvIHRoZSBwYXN0IGFuZCB0aGUgZnV0dXJlLCBtZWFuaW5nIGp1c3Qg4oCcYWJvdXQgbm934oCd LiBUaGlzIGlzIGJlY2F1c2UgaHVtYW4gYmVpbmdzIGRvbid0IHBlcmNlaXZlIHRpbWUgaW4gYSBw ZXJmZWN0bHkgbG9naWNhbCB3YXksIGFuZCB0aGUgTG9qYmFuIHRlbnNlIHN5c3RlbSByZWZsZWN0 cyB0aGF0LgoKCgpTaWRlIG5vdGU6IEl0IHdhcyBhY3R1YWxseSBzdWdnZXN0ZWQgbWFraW5nIHRo ZSBMb2piYW4gdGVuc2Ugc3lzdGVtIHJlbGF0aXZpc3RpYy4gVGhhdCBpZGVhLCBob3dldmVyLCB3 YXMgZHJvcHBlZCwgYmVjYXVzZSBpdCBpcyBjb3VudGVyLWludHVpdGl2ZSwgYW5kIHdvdWxkIG1l YW4gdGhhdCB0byBsZWFybiBMb2piYW4sIG9uZSB3b3VsZCBoYXZlIHRvIGxlYXJuIHRoZSB0aGVv cnkgb2YgcmVsYXRpdml0eSBmaXJzdC4gIAoKCgpTbywgaG93IHdvdWxkIHlvdSBzYXkg4oCcSSBl eHByZXNzIHRoaXMgYWZ0ZXIgSSBjYW1lIGhlcmU/4oCdIChwb2ludGluZyB0byBhIHBhcGVyKQoK CgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnbWkgY3Vza3UgdGkgYmEgbG8gbnUgbWkga2xhbWEgdGkg e3ZhdX0ge2tlaX0ge2t1fSB7dmF1fScnfn4KCgoKVXN1YWxseSB3aGVuIHNwZWFraW5nLCB3ZSBk byBub3QgbmVlZCB0byBzcGVjaWZ5IHdoaWNoIGV2ZW50IGluIHRoZSBwYXN0IHRoaXMgYWN0aW9u IGlzIHJlbGF0aXZlIHRvLiBJbjog4oCcSSBnYXZlIGEgY29tcHV0ZXIgYXdheeKAnSwgd2UgY2Fu IGFzc3VtZSB0aGF0IHRoZSBhY3Rpb24gaGFwcGVuZWQgcmVsYXRpdmUgdG8g4oCcbm934oCdLCBh bmQgdGh1cyB3ZSBjYW4gZWxpZGUgdGhlIHN1bXRpIG9mIHRoZSBzdW10Y2l0YSwgYmVjYXVzZSBp dCdzIG9idmlvdXM6CgonJ3B1IGt1IG1pIGR1bmRhIGxvIHNrYW1pIHtrdX0ge3ZhdX0nJyBvcgoK JydtaSBkdW5kYSBsbyBza2FtaSB7a3V9IHB1IHtrdX0ge3ZhdX0nJyBvciwgbW9yZSBjb21tb25s eQoKJydtaSBwdSB7a3V9IGR1bmRhIGxvIHNrYW1pIHtrdX0ge3ZhdX0nJy4gVGhlIHN1bXRpIHdo aWNoIGZpbGxzIHRoZSBzdW10Y2l0YSBpcyBhbiBpbXBsaWVkICcnem8nZScnLCB3aGljaCBpcyBh bG1vc3QgYWx3YXlzIHVuZGVyc3Rvb2QgYXMgcmVsYXRpdmUgdG8gdGhlIHNwZWFrZXIncyB0aW1l IGFuZCBwbGFjZSAodGhpcyBpcyBlc3BlY2lhbGx5IGltcG9ydGFudCB3aGVuIHNwZWFraW5nIGFi b3V0IGxlZnQgYW5kIHJpZ2h0KS4gSWYgc3BlYWtpbmcgYWJvdXQgc29tZSBldmVudHMgdGhhdCBo YXBwZW5lZCBzb21lIG90aGVyIHRpbWUgdGhhbiB0aGUgcHJlc2VudCwgaXQgaXMgc29tZXRpbWVz IGFzc3VtZWQgdGhhdCBhbGwgdGVuc2VzIGFyZSByZWxhdGl2ZSB0byB0aGF0IGV2ZW50IHdoaWNo IGlzIGJlaW5nIHNwb2tlbiBhYm91dC4gSW4gb3JkZXIgdG8gY2xhcmlmeSB0aGF0IGFsbCB0ZW5z ZXMgYXJlIHJlbGF0aXZlIHRvIHRoZSBzcGVha2VyJ3MgY3VycmVudCBwb3NpdGlvbiwgdGhlIHdv cmQgJyduYXUnJyBjYW4gYmUgdXNlZCBhdCBhbnkgdGltZS4gQW5vdGhlciB3b3JkLCAnJ2tpJycg bWFya3MgYSB0ZW5zZSB3aGljaCBpcyB0aGVuIGNvbnNpZGVyZWQgdGhlIG5ldyBzdGFuZGFyZC4g VGhhdCB3aWxsIGJlIHRhdWdodCB3YXkgbGF0ZXIuCgpfXycnbmF1JydfXyB1cGRhdGVzIHRlbXBv cmFsIGFuZCBzcGFjaWFsIGZyYW1lIG9mIHJlZmVyZW5jZSB0byB0aGUgc3BlYWtlcidzIGN1cnJl bnQgaGVyZSBhbmQgbm93LgoKCgpfXycnZ3VnZGUnJ19fID0g4oCceDEgaXMgdGhlIGNvdW50cnkg b2YgcGVvcGxlIHgyIHdpdGggbGFuZC90ZXJyaXRvcnkgeDPigJ0KCgoKQWxzbyBub3RlIHRoYXQg JydtaSBwdSB7a3V9IGtsYW1hIGxvIG1lcmtvIGd1Z2RlIHtrdX0ge3ZhdX0nJywg4oCcSSB3ZW50 IHRvIEFtZXJpY2HigJ0sIGRvZXMgbm90IGltcGx5IHRoYXQgSSdtIG5vdCBzdGlsbCB0cmF2ZWxp bmcgdG8gVVNBLCBvbmx5IHRoYXQgaXQgd2FzIGFsc28gdHJ1ZSBzb21lIHRpbWUgaW4gdGhlIHBh c3QsIGZvciBpbnN0YW5jZSBmaXZlIG1pbnV0ZXMgYWdvLgoKCgpBcyBtZW50aW9uZWQsIHNwYWNp YWwgYW5kIHRlbXBvcmFsIHRpbWUgdGVuc2VzIGFyZSB2ZXJ5IG11Y2ggYWxpa2UuIENvbnRyYXN0 IHRoZSBwcmV2aW91cyB0aHJlZSB0aW1lIHRlbnNlcyB3aXRoIHRoZXNlIGZvdXIgc3BhY2lhbCB0 ZW5zZXM6CgpfXycnenUnYScnX18gc3VtdGNpdGE6IGxlZnQgb2Yge3N1bXRpfQoKX18nJ2NhJ3Un J19fIHN1bXRjaXRhOiBpbiBmcm9udCBvZiB7c3VtdGl9CgpfXycncmkndScnX18gc3VtdGNpdGE6 IHJpZ2h0IG9mIHtzdW10aX0KCl9fJydidSd1JydfXyBzdW10Y2l0YTogYXQgdGhlIHNhbWUgcGxh Y2UgYXMge3N1bXRpfSAoc3BhY2lhbCBlcXVpdmFsZW50IG9mICcnY2EnJykKCgoKX18nJ28nbycn X186IGF0dGl0dWRpbmFsOiBjb21wbGV4IHB1cmUgZW1vdGlvbjogcGF0aWVuY2UgLSB0b2xlcmFu Y2UgLSBhbmdlcgoKCgpXaGF0IHdvdWxkICcnLm8nb25haSByaSd1IHtrdX0gbnUgbG8gcHJlbnUg e2t1fSBjdSBkYXJ4aSBsbyBnZXJrdSBwdSB7a3V9IHtrdX0ge3ZhdX0ge2tlaX0ge3ZhdX0nJyBt ZWFuPyAobm90aWNlIHRoZSBmaXJzdCBlbGlkZWQga3UhKQoKX18nJ2RhcnhpJydfXyB4MSBiZWF0 cy9oaXRzIHgyIHdpdGggaW5zdHJ1bWVudCB4MyBhdCBsb2N1cyB4NAoKCgpBbnN3ZXI6IH5+Z3Jl eSxncmV5OuKAnHthbmdlciF9IFRvIHRoZSByaWdodCAob2Ygc29tZXRoaW5nLCBwcm9iYWJseSBt ZSkgYW5kIGluIHRoZSBwYXN0IChvZiBzb21lIGV2ZW50KSwgc29tZXRoaW5nIGlzIGFuIGV2ZW50 IG9mIGEgcGVyc29uIGJlYXRpbmcgYSBkb2cu4oCdIG9yIOKAnEEgbWFuIGhpdCBhIGRvZyB0byBt eSByaWdodCHigJ1+fgoKCgpJZiB0aGVyZSBhcmUgc2V2ZXJhbCB0ZW5zZSBzdW10Y2l0YSBpbiBv bmUgYnJpZGksIHRoZSBydWxlIGlzIHRoYXQgeW91IHJlYWQgdGhlbSBmcm9tIGxlZnQgdG8gcmln aHQsIHRoaW5raW5nIGl0IGFzIGEgc28gY2FsbGVkIOKAnGltYWdpbmFyeSBqb3VybmV54oCdLCBX aGVyZSB5b3UgYmVnaW4gYXQgYW4gaW1wbGllZCBwb2ludCBpbiB0aW1lIGFuZCBzcGFjZSAoZGVm YXVsdDogdGhlIHNwZWFrZXIncyBub3cgYW5kIGhlcmUpLCBhbmQgdGhlbiBmb2xsb3cgdGhlIHN1 bXRjaXRhIG9uZSBhdCBhIHRpbWUgZnJvbSBsZWZ0IHRvIHJpZ2h0LgoKRXhhbXBsZQoKJydtaSBw dSB7a3V9IGJhIHtrdX0gamltcGUgZmkgbG8gbG9qYm8gZmEnb3JtYSdvIHtrdX0ge3ZhdX0nJyA9 IOKAnEF0IHNvbWUgdGltZSBpbiB0aGUgcGFzdCwgSSB3aWxsIGJlIGFib3V0IHRvIGtub3cgYWJv dXQgZmEnb3JtYSdvcy7igJ0KCicnbWkgYmEge2t1fSBwdSB7a3V9IGppbXBlIGZpIGxvIGxvamJv IGZhJ29ybWEnbyB7a3V9IHt2YXV9Jycg4oCcQXQgc29tZSBwb2ludCBpbiB0aGUgZnV0dXJlLCBJ IHdpbGwgaGF2ZSB1bmRlcnN0b29kIGFib3V0IGZhJ29ybWEnb3Mu4oCdCgpTaW5jZSB3ZSBkbyBu b3Qgc3BlY2lmeSB0aGUgYW1vdW50IG9mIHRpbWUgd2UgbW92ZSBiYWNrIG9yIGZvcnRoLCB0aGUg dW5kZXJzdGFuZGluZyBjb3VsZCBpbiBib3RoIGNhc2VzIGhhcHBlbiBpbiB0aGUgZnV0dXJlIG9y IHRoZSBwYXN0IG9mIHRoZSBwb2ludCBvZiByZWZlcmVuY2UuCgoKCkFsc28sIGlmIHNwYWNpYWwg YW5kIHRlbXBvcmFsIHRlbnNlcyBhcmUgbWl4ZWQsIHRoZSBydWxlIGlzIHRvIGFsd2F5cyBwdXQg dGVtcG9yYWwgYmVmb3JlIHNwYWNpYWwuIElmIHRoaXMgcnVsZSBpcyB2aW9sYXRlZCwgaXQgY2Fu IHNvbWV0aW1lcyByZXN1bHQgaW4gc3ludGFjdGljYWwgYW1iaWd1aXR5LCB3aGljaCBMb2piYW4g ZG9lcyBub3QgdG9sZXJhdGUuCgoKClN1cHBvc2Ugd2Ugd2FudCB0byBzcGVjaWZ5IHRoYXQgdGhl IGEgbWFuIGhpdCBhIGRvZyBqdXN0IGEgbWludXRlIGFnby4gVGhlIHdvcmRzICcnemknJywgJyd6 YScnIGFuZCAnJ3p1Jycgc3BlY2lmaWVzIGEgc2hvcnQsIHVuc3BlY2lmaWVkIChwcmVzdW1hYmx5 IG1lZGl1bSkgYW5kIGxvbmcgZGlzdGFuY2UgaW4gdGltZS4gTm90aWNlIHRoZSB2b3dlbCBvcmRl ciAnJ2knJywgJydhJycgYW5kICcndScnLiBUaGlzIG9yZGVyIGFwcGVhcnMgYWdhaW4gYW5kIGFn YWluIGluIExvamJhbiwgYW5kIG1pZ2h0IGJlIHdvcnRoIHRvIG1lbW9yaXplLiDigJxTaG9ydOKA nSBhbmQg4oCcbG9uZ+KAnSBpbiBhcmUgYWx3YXlzIGNvbnRleHQgZGVwZW5kZW50LCByZWxhdGl2 ZSBhbmQgc3ViamVjdGl2ZS4gVHdvIGh1bmRyZWQgeWVhcnMgaXMgYSBzaG9ydCB0aW1lIGZvciBh IHNwZWNpZXMgdG8gZXZvbHZlLCBidXQgYSBsb25nIHRpbWUgdG8gd2FpdCBmb3IgdGhlIGJ1cy4K Cl9fJyd6aScnX18gc3VtdGNpdGE6IE9jdXJyaW5nIHRoZSBzbWFsbCBkaXN0YW5jZSBvZiB7c3Vt dGl9IGluIHRpbWUgZnJvbSBwb2ludCBvZiByZWZlcmVuY2UgCgpfXycnemEnJ19fIHN1bXRjaXRh OiBPY3VycmluZyB0aGUgdW5zcGVjaWZpZWQobWVkaXVtKSBkaXN0YW5jZSBvZiB7c3VtdGl9IGlu IHRpbWUgZnJvbSBwb2ludCBvZiByZWZlcmVuY2UgCgpfXycnenUnJ19fIHN1bXRjaXRhOiBPY3Vy cmluZyB0aGUgZmFyIGRpc3RhbmNlIG9mIHtzdW10aX0gaW4gdGltZSBmcm9tIHRoZSBwb2ludCBv ZiByZWZlcmVuY2UgCgoKClNpbWlsYXJseSwgc3BhY2lhbCBkaXN0YW5jZSBpcyBtYXJrZWQgYnkg Jyd2aScnLCAnJ3ZhJycgYW5kICcndnUnJyBmb3Igc2hvcnQsIHVuc3BlY2lmaWVkIChtZWRpdW0p IGFuZCBsb25nIGRpc3RhbmNlIGluIHNwYWNlLgoKX18nJ3ZpJydfXyBzdW10Y2l0YTogT2N1cnJp bmcgdGhlIHNtYWxsIGRpc3RhbmNlIG9mIHtzdW10aX0gaW4gc3BhY2UgZnJvbSBwb2ludCBvZiBy ZWZlcmVuY2UgCgpfXycndmEnJ19fIHN1bXRjaXRhOiBPY3VycmluZyB0aGUgdW5zcGVjaWZpZWQo bWVkaXVtKSBkaXN0YW5jZSBvZiB7c3VtdGl9IGluIHNwYWNlIGZyb20gcG9pbnQgb2YgcmVmZXJl bmNlIAoKX18nJ3Z1JydfXyBzdW10Y2l0YTogT2N1cnJpbmcgdGhlIGZhciBkaXN0YW5jZSBvZiB7 c3VtdGl9IGluIHNwYWNlIGZyb20gdGhlIHBvaW50IG9mIHJlZmVyZW5jZSAKCl9fJydndW5rYScn X18g4oCceDEgd29ya3MgYXQgeDIgd2l0aCBvYmplY3RpdmUgeDPigJ0KCgoKVHJhbnNsYXRlOiAn J2JhIHtrdX0gemEga3UgbWkgdnUge2t1fSBndW5rYSB7dmF1fScnCgoKCkFuc3dlcjogfn5ncmV5 LGdyZXk64oCcU29tZSB0aW1lIGluIHRoZSBmdXR1cmUsIEkgd2lsbCB3b3JrIGEgcGxhY2UgbG9u ZyBhd2F54oCdfn4KCk5vdGU6IFBlb3BsZSByYXJlbHkgdXNlICcnemknJywgJyd6YScnIG9yICcn enUnJyB3aXRob3V0IGEgJydwdScnIG9yICcnYmEnJyBpbiBmcm9udCBvZiBpdC4gVGhpcyBpcyBi ZWNhdXNlIG1vc3QgcGVvcGxlIGFsd2F5cyBuZWVkIHRvIHNwZWNpZnkgcGFzdCBvciBmdXR1cmUg aW4gdGhlaXIgbmF0aXZlIGxhbmd1YWdlLiBXaGVuIHlvdSB0aGluayBhYm91dCBpdCBMb2piYW5p Y2FsbHksIG1vc3Qgb2YgdGhlIHRpbWUgdGhlIHRpbWUtZGlyZWN0aW9uIGlzIG9idmlvdXMsIGFu ZCB0aGUgJydwdScnIG9yICcnYmEnJyBzdXBlcmZsdW91cyEKCgoKVGhlIG9yZGVyIGluIHdoaWNo IGRpcmVjdGlvbi1zdW10Y2l0YSBhbmQgZGlzdGFuY2Utc3VtdGNpdGEgYXJlIHNhaWQgbWFrZXMg YSBkaWZmZXJlbmNlLiBSZW1lbWJlciB0aGF0IHRoZSBtZWFuaW5ncyBvZiBzZXZlcmFsIHRlbnNl IHdvcmRzIHBsYWNlZCB0b2dldGhlciBhcmUgcGljdHVyZWQgYnkgYW4gaW1hZ2luYXJ5IGpvdXJu ZXkgcmVhZGluZyBmcm9tIGxlZnQgdG8gcmlnaHQuIFRodXMgJydwdSB6dScnIGlzIOKAnGEgbG9u ZyB0aW1lIGFnb+KAnSB3aGlsZSAnJ3p1IHB1JycgaXMg4oCcaW4gdGhlIHBhc3Qgb2Ygc29tZSBw b2ludCBpbiB0aW1lIHdoaWNoIGlzIGEgbG9uZyB0aW1lIHRvd2FyZCB0aGUgZnV0dXJlIG9yIHRo ZSBwYXN0IG9mIG5vd+KAnS4gSW4gdGhlIGZpcnN0IGV4YW1wbGUsICcncHUnJyBzaG93cyB0aGF0 IHdlIGJlZ2luIGluIHRoZSBwYXN0LCAnJ3p1JycgdGhlbiB0aGF0IGl0IGlzIGEgbG9uZyB0aW1l IGJhY2t3YXJkcy4gSW4gdGhlIHNlY29uZCBleGFtcGxlLCAnJ3p1Jycgc2hvd3MgdGhhdCB3ZSBi ZWdpbiBhdCBzb21lIHBvaW50IGZhciBhd2F5IGluIHRpbWUgZnJvbSBub3csICcncHUnJyB0aGVu LCB0aGF0IHdlIG1vdmUgYmFja3dhcmRzIGZyb20gdGhhdCBwb2ludC4gVGh1cyAnJ3B1IHp1Jycg aXMgYWx3YXlzIGluIHRoZSBwYXN0LiAnJ3p1IHB1JycgY291bGQgYmUgaW4gdGhlIGZ1dHVyZS4g VGhlIGZhY3QgdGhhdCB0aGVzZSB0aW1lIHRlbnNlcyBjb21iaW5lIGluIHRoaXMgd2F5IGlzIG9u ZSBvZiB0aGUgZGlmZmVyZW5jZXMgYmV0d2VlbiB0ZW5zZSBzdW10Y2l0YSBhbmQgb3RoZXIgc3Vt dGNpdGEuIFRoZSBtZWFuaW5ncyBvZiBvdGhlciBzdW10Y2l0YSBhcmUgbm90IGFsdGVyZWQgYnkg dGhlIHByZXNlbmNlIG9mIGFkZGl0aW9uYWwgc3VtdGNpdGEgaW4gYSBicmlkaS4KCgoKQXMgYnJp ZWZseSBpbXBsaWVkIGVhcmxpZXIsIGFsbCB0aGVzZSBjb25zdHJ1Y3RzIGJhc2ljYWxseSB0cmVh dCBicmlkaSBhcyBpZiB0aGV5IHdlcmUgcG9pbnQtbGlrZSBpbiB0aW1lIGFuZCBzcGFjZS4gSW4g YWN0dWFsaXR5LCBtb3N0IGV2ZW50cyBwbGF5IG91dCBvdmVyIGEgc3BhbiBvZiB0aW1lIGFuZCBz cGFjZS4gSW4gdGhlIGZvbGxvd2luZyBmZXcgcGFyYWdyYXBocywgd2Ugd2lsbCBsZWFybiBob3cg dG8gc3BlY2lmeSBpbnRlcnZhbHMgb2YgdGltZSBhbmQgc3BhY2UuCgoKCl9fJyd6ZSdpJydfXyBz dW10Y2l0YTogc3Bhbm5pbmcgb3ZlciB0aGUgc2hvcnQgdGltZSBvZiB7c3VtdGl9CgpfXycnemUn YScnX18gc3VtdGNpdGE6IHNwYW5uaW5nIG92ZXIgdGhlIHVuc3BlY2lmaWVkIChtZWRpdW0pIHRp bWUgb2Yge3N1bXRpfQoKX18nJ3plJ3UnJ19fIHN1bXRjaXRhOiBzcGFubmluZyBvdmVyIHRoZSBs b25nIHRpbWUgb2Yge3N1bXRpfQoKCgpfXycndmUnaScnX18gc3VtdGNpdGE6IHNwYW5uaW5nIG92 ZXIgdGhlIHNob3J0IHNwYWNlIG9mIHtzdW10aX0KCl9fJyd2ZSdhJydfXyBzdW10Y2l0YTogc3Bh bm5pbmcgb3ZlciB0aGUgdW5zcGVjaWZpZWQgKG1lZGl1bSkgc3BhY2Ugb2Yge3N1bXRpfQoKX18n J3ZlJ3UnJ19fIHN1bXRjaXRhOiBzcGFubmluZyBvdmVyIHRoZSBsb25nIHNwYWNlIG9mIHtzdW10 aX0KCgoKU2l4IHdvcmRzIGF0IGEgdGltZSwgSSBrbm93LCBidXQgcmVtZW1iZXJpbmcgdGhlIHZv d2VsIHNlcXVlbmNlIGFuZCB0aGUgc2ltaWxhcml0eSBvZiB0aGUgaW5pdGlhbCBsZXR0ZXIgeiBm b3IgdGVtcG9yYWwgdGVuc2VzIGFuZCB2IGZvciBzcGFjaWFsIHRlbnNlcyBtaWdodCBoZWxwIHRo ZSBtZW1vcml6aW5nLgoKX18nJy5vaScnX18gLSBhdHRpdHVkaW5hbDogcGFpbiAtIHBsZWFzdXJl CgoKClRyYW5zbGF0ZTogJycub2kgZGFpIGRvIHZlJ3Uge2t1fSBrbGFtYSBsbyBkb3RjbyBndWdk ZSB7a3V9IHplJ3Uge2t1fSB7dmF1fScnCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcT3VjaCwg eW91IHNwZW5kIGEgbG9uZyB0aW1lIHRyYXZlbGluZyBhIGxvbmcgc3BhY2UgdG8gR2VybWFueeKA nSB+fgoKCgpUaG91Z2ggbW9zdCBwZW9wbGUgYXJlIG5vdCBmYW1pbGlhciB3aXRoIHNwYWNpYWwg dGVuc2VzLCB0aGVzZSBuZXcgd29yZHMgY2FuIG9wZW4gdXAgZm9yIHNvbWUgcHJldHR5IHN3ZWV0 IHVzZXMuIE9uZSBjb3VsZCwgZm9yIGluc3RhbmNlLCB0cmFuc2xhdGUg4oCcVGhhdCdzIGEgYmln IGRvZ+KAnSBhcyAnJ3RpIHZlJ3Uge2t1fSBnZXJrdSB7dmF1fScnLiBTYXlpbmc6IOKAnFRoaXMg dGhpbmcgZG9ncyBmb3IgYSBsb25nIHNwYWNl4oCdIG1ha2VzIHlvdSBzb3VuZCByZXRhcmRlZCBp biBFbmdsaXNoLCBidXQgd2VsbC1zcG9rZW4gaW4gTG9qYmFuIQoKCgonJ3plJ3UnJyBhbmQgaXRz IGJyb3RoZXJzIGFsc28gY29tYmluZSB3aXRoIG90aGVyIHRlbnNlcyB0byBmb3JtIGNvbXBvdW5k IHRlbnNlcy4gVGhlIHJ1bGUgZm9yICcnemUndScnIGFuZCB0aGUgb3RoZXJzIGFyZSB0aGF0IGFu eSB0ZW5zZXMgcHJlY2VkaW5nIGl0IG1hcmtzIGFuIGVuZHBvaW50IG9mIHRoZSBwcm9jZXNzIChy ZWxhdGl2ZSB0byB0aGUgcG9pbnQgb2YgcmVmZXJlbmNlKSBhbmQgYW55IHRlbnNlcyBjb21pbmcg YWZ0ZXIgaXQgbWFya3MgdGhlIG90aGVyIGVuZHBvaW50IHJlbGF0aXZlIHRvIHRoZSBmaXJzdC4g VGhpcyBzaG91bGQgYmUgZGVtb25zdHJhdGVkIHdpdGggYSBjb3VwbGUgb2YgZXhhbXBsZXM6Cgon Jy5vJ29jdSdpIGRvIGNpdGthIHB1IHtrdX0gemUndSB7a3V9IGJhIHtrdX0genUge2t1fSB7dmF1 fScnIC0g4oCce3RvbGVyYW5jZX0geW91IGVhdCBiZWdpbm5pbmcgaW4gdGhlIHBhc3QgYW5kIGZv ciBhIGxvbmcgdGltZSBlbmRpbmcgYXQgc29tZSBwb2ludCBmYXIgaW50byB0aGUgZnV0dXJlIG9m IHdoZW4geW91IHN0YXJ0ZWTigJ0gb3Ig4oCcSG1wZiwgeW91IGF0ZSBmb3IgYSBsb25nIHRpbWXi gJ0uIE9uZSBjYW4gYWxzbyBjb250cmFzdCAnJ2RvIGNhIHtrdX0gemUnaSB7a3V9IHB1IHtrdX0g a2xhbWEge3ZhdX0nJyB3aXRoICcnZG8gcHUge2t1fSB6ZSdpIHtrdX0gY2Ege2t1fSBrbGFtYSB7 dmF1fScnLiBUaGUgZmlyc3QgZXZlbnQgb2YgdHJhdmVsaW5nIGhhcyBvbmUgZW5kcG9pbnQgaW4g dGhlIHByZXNlbnQgYW5kIGV4dGVuZHMgYSBsaXR0bGUgdG93YXJkcyB0aGUgcGFzdCwgd2hpbGUg dGhlIHNlY29uZCBldmVudCBoYXMgb25lIGVuZHBvaW50IGluIHRoZSBwYXN0IGFuZCBleHRlbmRz IG9ubHkgdG8gdGhlIHByZXNlbnQgKHRoYXQgaXMsIHNsaWdodHkgaW50byB0aGUgcGFzdCBvciBm dXR1cmUpIG9mIHRoYXQgZW5kcG9pbnQuCgpfXycnam1pdmUnJ19fIOKAnHgxIGlzIGFsaXZlIGJ5 IHN0YW5kYXJkIHgy4oCdCgoKCldoYXQgZG9lcyAnJy51aSBtaSBwdSB7a3V9IHppIHtrdX0gemUn dSB7a3V9IGptaXZlIHt2YXV9JycgZXhwcmVzcz8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJx7 aGFwcGluZXNzIX0gSSBsaXZlIGZyb20gYSBsaXR0bGUgaW50byB0aGUgcGFzdCBhbmQgYSBsb25n IHdheSB0b3dhcmRzIHRoZSBmdXR1cmUgb3IgcGFzdCAob2J2aW91c2x5IHRoZSBmdXR1cmUsIGlu IHRoaXMgY2FzZSkgb2YgdGhhdCBldmVudOKAnSBvciDigJxJIGFtIHlvdW5nLCBhbmQgaGF2ZSBt b3N0IG9mIG15IGxpZmUgYWhlYWQgb2YgbWUgOinigJ1+fgoKCgpKdXN0IHRvIHVuZGVybGluZSB0 aGUgc2ltaWxhcml0eSB3aXRoIHNwYWNpYWwgdGVuc2VzLCBsZXQncyBoYXZlIGFub3RoZXIgZXhh bXBsZSwgdGhpcyB0aW1lIHdpdGggc3BhY2lhbCB0ZW5zZXM6CgpfXycnLnUnZScnX18gYXR0aXR1 ZGluYWw6IHdvbmRlciAtIGNvbW1vbnBsYWNlCgoKCicnLnUnZSB6YSdhIHtrdX0gYnUndSB7a3V9 IHZlJ3Uge2t1fSBjYSd1IHtrdX0gemRhbmkge3ZhdX0nJyAtIFdoYXQgZG9lcyBpdCBtZWFuPwoK CgpBbnN3ZXI6IH5+Z3JleSxncmV5OiDigJx7d29uZGVyfSB7SSBvYnNlcnZlIX0gRXh0ZW5kaW5n IGEgbG9uZyBzcGFjZSBmcm9tIGhlcmUgdG8gbXkgZnJvbnQgaXMgYSBob21lLuKAnSBvciDigJxX b3csIHRoaXMgaG9tZSBleHRlbmRpbmcgYWhlYWQgaXMgaHVnZSHigJ1+fgoKCgpCZWZvcmUgd2Ug Y29udGludWUgd2l0aCB0aGlzIHN5bnRheC1oZWF2eSB0ZW5zZSBzeXN0ZW0sIGkgcmVjb21tZW5k IHNwZW5kaW5nIGF0IGxlYXN0IHRlbiBtaW51dGVzIGRvaW5nIHNvbWV0aGluZyB3aGljaCBkb2Vz bid0IG9jY3VweSB5b3VyIGJyYWluIGluIG9yZGVyIHRvIGxldCB0aGUgaW5mb3JtYXRpb24gc2lu ayBpbi4gU2luZyBhIHNvbmcgb3IgZWF0IGEgY29va2llIHZlcnkgc2xvd2x5IC0gd2hhdGV2ZXIs IGFzIGxvbmcgYXMgeW91IGxldCB5b3VyIG1pbmQgcmVzdC4KCgoKISFMb2piYW4gTGVzc29ucyAt IExlc3NvbiBlbGV2ZW4gKFpBaE8pCgpUaG91Z2ggd2Ugd29uJ3QgZ28gdGhyb3VnaCBhbGwgTG9q YmFuIHRlbnNlIGNvbnN0cnVjdHMgZm9yIG5vdywgdGhlcmUgaXMgb25lIG90aGVyIGtpbmQgb2Yg dGVuc2UgdGhhdCBJIHRoaW5rIHNob3VsZCBiZSB0YXVnaHQgbm93LiBUaGVzZSBhcmUgY2FsbGVk IOKAnGV2ZW50IGNvbnRvdXJz4oCdLCBhbmQgcmVwcmVzZW50IGEgdmVyeSBkaWZmZXJlbnQgd2F5 IG9mIHZpZXdpbmcgdGVuc2VzIHRoYXQgd2UgaGF2ZSBzZWVuIHNvIGZhci4gU28gbGV0J3MgZ2V0 IHRvIGl0OgoKCgpVc2luZyB0aGUgdGVuc2VzIHdlIGhhdmUgbGVhcm5lZCBzbyBmYXIsIHdlIGNh biBpbWFnaW5lIGFuIGluZGVmaW5pdGUgdGltZSBsaW5lLCBhbmQgd2UgdGhlbiBwbGFjZSBldmVu dHMgb24gdGhhdCBsaW5lIHJlbGF0aXZlIHRvIHRoZSDigJxub3figJ0uIFdpdGggZXZlbnQgY29u dG91cnMsIGhvd2V2ZXIsIHdlIHZpZXcgZWFjaCBldmVudCBhcyBhIHByb2Nlc3MsIHdoaWNoIGhh cyBjZXJ0YWluIHN0YWdlczogQSB0aW1lIGJlZm9yZSBpdCB1bmZvbGRzLCBhIHRpbWUgd2hlbiBp dCBiZWdpbnMsIGEgdGltZSB3aGVuIGl0IGlzIGluIHByb2Nlc3MsIGEgdGltZSB3aGVuIGl0IGVu ZHMsIGFuZCBhIHRpbWUgYWZ0ZXIgaXQgaGFzIGVuZGVkLiBFdmVudCBjb250b3VycyB0aGVuIHRl bGxzIHVzIHdoaWNoIHBhcnQgb2YgdGhlIGV2ZW50J3MgcHJvY2VzcyB3YXMgaGFwcGVuaW5nIGR1 cmluZyB0aGUgdGltZSBzcGVjaWZpZWQgYnkgdGhlIG90aGVyIHRlbnNlcy4gV2UgbmVlZCBhIGNv dXBsZSBvZiB0ZW5zZXMgZmlyc3Q6CgoKCl9fJydwdSdvJydfXyAtIHN1bXRjaXRhOiBldmVudCBj b250b3VyOiBCcmlkaSBoYXMgbm90IHlldCBoYXBwZW5lZCBkdXJpbmcge3N1bXRpfQoKX18nJ2Nh J28nJ19fIC0gc3VtdGNpdGE6IGV2ZW50IGNvbnRvdXI6IEJyaWRpIGlzIGluIHByb2Nlc3MgZHVy aW5nIHtzdW10aX0KCl9fJydiYSdvJydfXyAtIHN1bXRjaXRhOiBldmVudCBjb250b3VyOiBUaGUg cHJvY2VzcyBvZiBicmlkaSBoYXMgZW5kZWQgZHVyaW5nIHtzdW10aX0KCgoKVGhpcyBuZWVkcyB0 byBiZSBkZW1vbnN0cmF0ZWQgYnkgc29tZSBleGFtcGxlcy4gV2hhdCdzICcnLnVpIG1pIHB1J28g e2t1fSBzZSB6ZGFuaSB7dmF1fScnIG1lYW4/CgoKCkFuc3dlcjog4oCcWWF5LCBJJ2xsIGJlZ2lu IHRvIGhhdmUgYSBob21l4oCdLgoKCgpCdXQgaGV5LCB5b3UgYXNrLCB3aHkgbm90IGp1c3Qgc2F5 ICcnLnVpIG1pIGJhIHtrdX0gc2UgemRhbmkge3ZhdX0nJyBhbmQgZXZlbiBzYXZlIGEgc3lsbGFi bGU/IEJlY2F1c2UsIHJlbWVtYmVyLCBzYXlpbmcgdGhhdCB5b3Ugd2lsbCBoYXZlIGEgaG9tZSBp biB0aGUgZnV0dXJlIHNheXMgbm90aGluZyBhYm91dCB3aGV0aGVyIHlvdSBoYXZlIGEgaG9tZSBu b3cuIFVzaW5nICcncHUnbycnLCB0aG91Z2gsIHlvdSBzYXkgdGhhdCB5b3UgYXJlIG5vdyBpbiB0 aGUgcGFzdCBvZiB0aGUgcHJvY2VzcyBvZiB5b3UgaGF2aW5nIGEgaG9tZSwgd2hpY2ggbWVhbnMg dGhhdCB5b3UgZG9uJ3QgaGF2ZSBvbmUgbm93LgoKTm90ZSwgYnkgdGhlIHdheSwgdGhhdCAnJ21p IGJhIHtrdX0gc2UgemRhbmkge3ZhdX0nJyBpcyBzaW1pbGFyIHRvICcnbWkgcHUnbyB7a3V9IHNl IHpkYW5pIHt2YXV9JycsIGFuZCBsaWtld2lzZSB3aXRoICcnYmEnbycnIGFuZCAnJ3B1JycuIFdo eSBkbyB0aGV5IHNlZW0gcmV2ZXJzZWQ/IEJlY2F1c2UgZXZlbnQgY29udG91cnMgdmlldyB0aGUg cHJlc2VudCBhcyBzZWVuIGZyb20gdGhlIHZpZXdwb2ludCBvZiB0aGUgcHJvY2Vzcywgd2hlcmVh cyB0aGUgb3RoZXIgdGVuc2VzIHZpZXcgZXZlbnRzIHNlZW4gZnJvbSB0aGUgcHJlc2VudC4KCgoK T2Z0ZW4sIGV2ZW50IGNvbnRvdXJzIGFyZSBtb3JlIHByZWNpc2UgdGhhdCBvdGhlciBraW5kIG9m IHRlbnNlcy4gRXZlbiBtb3JlIGNsYXJpdHkgaXMgYWNoaWV2ZWQgYnkgY29tYmluaW5nIHNldmVy YWwgdGVuc2VzOiAnJy5hJ28gbWkgYmF7a3V9IHppIHtrdX0gYmEnbyB7a3V9IGd1bmthIHt2YXV9 JycgLSDigJxJIGhvcGUgSSd2ZSBzb29uIGZpbmlzaGVkIHdvcmtpbmcu4oCdCgoKCkluIExvamJh biwgd2UgYWxzbyBvcGVyYXRlIHdpdGggYW4gZXZlbnQncyDigJxuYXR1cmFsIGJlZ2lubmluZ+KA nSBhbmQgaXRzIOKAnG5hdHVyYWwgZW5k4oCdLiBUaGUgdGVybSDigJxuYXR1cmFs4oCdIGlzIGhp Z2hseSBzdWJqZWN0aXZlIGluIHRoaXMgc2Vuc2UsIGFuZCB0aGUgbmF0dXJhbCBlbmQgcmVmZXJz IHRvIHRoZSBwb2ludCBpbiB0aGUgcHJvY2VzcyB3aGVyZSBpdCBzaG91bGQgZW5kLiBZb3UgY2Fu IHNheSBhYm91dCBhIGxhdGUgdHJhaW4sIGZvciBpbnN0YW5jZSwgdGhhdCBpdHMgcHJvY2VzcyBv ZiByZWFjaGluZyB5b3UgaXMgbm93IGV4dGVuZGluZyBiZXlvbmQgaXRzIG5hdHVyYWwgZW5kLiBB biB1bmRlcmNvb2tlZCwgYnV0IHNlcnZlZCBtZWFsLCBzaW1pbGFybHksIGlzIGJlaW5nIGVhdGVu IGJlZm9yZSB0aGF0IHByb2Nlc3MnIG5hdHVyYWwgYmVnaW5uaW5nLiBUaGUgZXZlbnQgY29udG91 cnMgdXNlZCBpbiB0aGVzZSBleGFtcGxlcyBhcmUgYXMgZm9sbG93czoKCgoKX18nJ3phJ28nJ19f IC0gc3VtdGNpdGE6IGV2ZW50IGNvbnRvdXI6IEJyaWRpIGlzIGluIHByb2Nlc3MgYmV5b25kIGl0 cyBuYXR1cmFsIGVuZCBkdXJpbmcge3N1bXRpfQoKX18nJ3hhJ28nJ19fIC0gc3VtdGNpdGE6IGV2 ZW50IGNvbnRvdXI6IEJyaWRpIGlzIGltbWF0dXJlbHkgaW4gcHJvY2VzcyBkdXJpbmcge3N1bXRp fQoKCgpfXycnY2lkamEnJ19fOiDigJx4MSBpcyBmb29kLCB3aGljaCBpcyBlZGlibGUgZm9yIHgy 4oCdCgoKClRyYW5zbGF0ZTogJycub2kgZG8gY2l0a2EgemEnbyBsbyBudSBkbyBiYSdvIHtrdX0g dSdlIGNpdGthIHpvJ2Ugbm9pIGNpZGphIGRvIHt2YXV9IHtrdSdvfSB7dmF1fSB7a2VpfSB7a3V9 JycKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxPeSwgeW91IGtlZXAgZWF0aW5nIHdoZW4geW91 IGhhdmUgZmluaXNoZWQsIGluY3JlZGlibHksIGVhdGluZyBzb21ldGhpbmcgZWRpYmxlIeKAnX5+ CgoKCntpbWcgZmlsZUlkPSIyIiB0aHVtYj0ieSIgcmVsPSJib3hbZ10ifQoKSW1hZ2UgYWJvdmU6 IFpBaE8gdGVuc2VzIChldmVudCBjb250b3VycykuIEFsbCB0ZW5zZXMgYWJvdmUgdGhlIGxpbmUg b2YgdGhlIGV2ZW50IHNpZ25pZnkgc3RhZ2VzIGNvdmVyaW5nIGFuIGFtb3VudCBvZiB0aW1lLiBB bGwgdGVuc2VzIGJlbG93IHRoZSBldmVudCBsaW5lIHNpZ25pZnkgc3RhZ2VzIHdoaWNoIGFyZSBw b2ludC1saWtlLgoKCgpBbGwgb2YgdGhlc2UgdGVuc2VzIGhhdmUgYmVlbiBkZXNjcmliaW5nIHN0 YWdlcyBvZiBhIHByb2Nlc3Mgd2hpY2ggdGFrZXMgc29tZSB0aW1lIChhcyBzaG93biBvbiB0aGUg Z3JhcGggYWJvdmU7IHRob3NlIHRlbnNlcyBhYm92ZSB0aGUgZXZlbnQgbGlrZSkuIEJ1dCBtYW55 IG9mIHRoZSBldmVudCBjb250b3VycyBkZXNjcmliZXMgcG9pbnQgbGlrZSBzdGFnZXMgaW4gdGhl IHByb2Nlc3MsIGxpa2UgaXRzIGJlZ2lubmluZy4gQXMgaXMgdHJ1ZSBvZiAnJ2NhJycgYW5kICcn YnUndScnLCB0aGV5IGFjdHVhbGx5IGV4dGVuZCBzbGlnaHRseSBpbnRvIHRoZSBwYXN0IGFuZCBm dXR1cmUgb2YgdGhhdCBwb2ludCwgYW5kIG5lZWQgbm90IHRvIGJlIHByZWNpc2UuCgoKClRoZSB0 d28gbW9zdCBpbXBvcnRhbnQgcG9pbnQtbGlrZSBldmVudCBjb250b3VycyBhcmU6CgpfXycnY28n YScnX18gLSBzdW10Y2l0YTogZXZlbnQgY29udG91cjogQnJpZGkgaXMgYXQgaXRzIGJlZ2lubmlu ZyBkdXJpbmcge3N1bXRpfQoKX18nJ2NvJ3UnJ19fIC0gc3VtdGNpdGE6IGV2ZW50IGNvbnRvdXI6 IEJyaWRpIGlzIGF0IGl0cyBlbmRpbmcgZHVyaW5nIHtzdW10aX0KCgoKRnVydGhlcm1vcmUsIHRo ZXJlIGlzIGEgcG9pbnQgd2hlcmUgdGhlIHByb2Nlc3MgaXMgbmF0dXJhbGx5IGNvbXBsZXRlLCBi dXQgbm90IG5lY2Vzc2FyaWx5IGhhcyBlbmRlZCB5ZXQ6CgpfXycnbW8ndScnX18gLSBzdW10Y2l0 YTogZXZlbnQgY29udG91cjogQnJpZGkgaXMgYXQgaXRzIG5hdHVyYWwgZW5kaW5nIGR1cmluZyB7 c3VtdGl9CgpNb3N0IG9mIHRoZSB0aW1lLCB0aG91Z2gsIHByb2Nlc3NlcyBhY3R1YWxseSBlbmQg YXQgdGhlaXIgbmF0dXJhbCBlbmRpbmc7IHRoaXMgaXMgd2hhdCBtYWtlcyBpdCBuYXR1cmFsLiBU cmFpbnMgYXJlIG5vdCB1c3VhbGx5IGxhdGUsIGFuZCBwZW9wbGUgdXN1YWxseSByZXRyYWluIHRo ZW1zZWx2ZXMgdG8gZWF0IG9ubHkgZWRpYmxlIGZvb2QuCgoKClNpbmNlIGEgcHJvY2VzcyBjYW4g YmUgaW50ZXJydXB0ZWQgYW5kIHJlc3VtZWQsIHRoZXNlIHBvaW50cyBoYXZlIGVhcm5lZCB0aGVp ciBvd24gZXZlbnQgY29udG91ciBhbHNvOgoKX18nJ2RlJ2EnJ19fIC0gc3VtdGNpdGE6IGV2ZW50 IGNvbnRvdXI6IEJyaWRpIGlzIHBhdXNpbmcgZHVyaW5nIHtzdW10aX0KCl9fJydkaSdhJydfXyAt IHN1bXRjaXRhOiBldmVudCBjb250b3VyOiBCcmlkaSBpcyByZXN1bWluZyBkdXJpbmcge3N1bXRp fQoKCgpJbiBmYWN0LCBzaW5jZSAnJ2p1bmRpJycgbWVhbnMg4oCceDEgcGF5cyBhdHRlbnRpb24g dG8geDLigJ0sICcnZGUnYSBqdW5kaScnIGFuZCAnJ2RpJ2EganVuZGknJyBhcmUgY29tbW9uIExv amJhbiB3YXlzIG9mIHNheWluZyDigJxCUkLigJ0gYW5kIOKAnGJhY2vigJ0uIE9uZSBjb3VsZCBv ZiBjb3Vyc2UgYWxzbyBzYXkgdGhlIGV2ZW50IGNvbnRvdXJzIGJ5IHRoZW1zZWx2ZXMgYW5kIGhv cGUgdGhlIHBvaW50IGdldHMgYWNyb3NzLgoKCgpGaW5hbGx5LCBvbmUgY2FuIHRyZWF0IGFuIGVu dGlyZSBldmVudCwgZnJvbSB0aGUgYmVnaW5uaW5nIHRvIHRoZSBlbmQgYXMgb25lIHNpbmdsZSBw b2ludCB1c2luZyAnJ2NvJ2knJzoKCl9fJydwZW5taScnX18g4oCceDEgbWVldHMgeDIgYXQgbG9j YXRpb24geDPigJ0KCicnbWkgcHUge2t1fSB6aSB7a3V9IGNvJ2kge2t1fSBwZW5taSBsbyBkb3Rj byBwcmVudSB7a3V9IHt2YXV9JycgLSDigJxBIGxpdHRsZSB3aGlsZSBhZ28sIEkgd2FzIGF0IHRo ZSBwb2ludCBpbiB0aW1lIHdoZXJlIGkgbWV0IGEgR2VybWFuIHBlcnNvbuKAnQoKCgoKCiEhTG9q YmFuIExlc3NvbnMgLSBMZXNzb24gdHdlbHZlIChvcmRlcnMgYW5kIHF1ZXN0aW9ucykKClBoZXcs IHRob3NlIHR3byBsb25nIGxlc3NvbnMgd2l0aCBzeW50YXggaGVhdnkgTG9qYmFuIGdpdmVzIHRo ZSBicmFpbiBzb21ldGhpbmcgdG8gcG9uZGVyIGFib3V0LiBFc3BlY2lhbGx5IGJlY2F1c2UgaXQn cyBzbyBkaWZmZXJlbnQgZnJvbSBFbmdsaXNoLiBTbyBsZXQncyB0dXJuIHRvIHNvbWV0aGluZyBh IGxpdHRsZSBsaWdodGVyOiBPcmRlcnMgYW5kIHF1ZXN0aW9ucy4KCgoKV2hhdCB0aGUuLi4gX19z aXQgdXAgYW5kIGZvY3VzIV9fCgoKClNpbmNlIHRoZSB3YXkgdG8gZXhwcmVzcyBvcmRlcnMgaW4g RW5nbGlzaCBpcyB0byBsZWF2ZSBvdXQgdGhlIHN1YmplY3Qgb2YgdGhlIGNsYXVzZSwgd2h5IGRp ZCB5b3UgYXNzdW1lIHRoYXQgaXQgd2FzIHlvdSBJIHdhcyBzcGVha2luZyB0bywgYW5kIG5vdCBv cmRlcmluZyBteXNlbGYsIG9yIGV4cHJlc3NpbmcgdGhlIG9ibGlnYXRpb24gc29tZW9uZSBlbHNl IGhhcz8gQmVjYXVzZSB0aGUgRW5nbGlzaCBsYW5ndWFnZSB1bmRlcnN0YW5kcyB0aGF0IG9yZGVy cywgYnkgdGhlaXIgdmVyeSBuYXR1cmUsIGFyZSBhbHdheXMgZGlyZWN0ZWQgdG93YXJkcyB0aGUg bGlzdGVuZXIgLSB0aGUg4oCceW914oCdLCBhbmQgc28gdGhlIHN1YmplY3QgaXMgbm90IG5lY2Vz c2FyeS4KCkluIExvamJhbiwgZWxpZGluZyB0aGUgc3ViamVjdCB5aWVsZHMgJyd6bydlJycsIHNv IHRoYXQgcG9zc2liaWxpdHkgaXMgc2FkbHkgbm90IG9wZW4gdG8gdXMuIEluc3RlYWQsIHdlIHVz ZSB0aGUgd29yZCAnJ2tvJycsIHdoaWNoIGlzIHRoZSBpbXBlcmF0aXZlIGZvcm0gb2YgJydkbycn LiBHcmFtbWF0aWNhbGx5IGFuZCBicmlkaS13aXNlLCBpdCdzIGVxdWl2YWxlbnQgdG8gJydkbycn LCBidXQgaXQgYWRkcyBhIGxheWVyIG9mIHNlbWFudGljcywgc2luY2UgaXQgdHVybnMgZXZlcnkg c3RhdGVtZW50IHdpdGggJydrbycnIGluIGl0IGludG8gYW4gb3JkZXIuIOKAnERvIHN1Y2ggdGhh dCB0aGlzIHNlbnRlbmNlIGlzIHRydWUgZm9yIHlvdT0nJ2tvJych4oCdIEZvciB0aGUgc2FtZSBy ZWFzb24gd2UgZG9uJ3QgbmVlZCB0aGUgc3ViamVjdCBpbiBFbmdsaXNoIHNlbnRlbmNlcywgd2Ug ZG9uJ3QgbmVlZCBvcmRlci13b3JkcyBkZXJpdmVkIGZyb20gYW55IG90aGVyIHN1bXRpIHRoYW4g JydkbycnLgoKCgpIb3cgY291bGQgeW91IG9yZGVyIG9uZSB0byBnbyBmYXIgYXdheSBmb3IgYSBs b25nIHRpbWUgKHVzaW5nICcna2xhbWEnJyBhcyB0aGUgb25seSBzZWxicmk/KQoKCgpBbnN3ZXI6 IH5+Z3JleSxncmV5OmtvIHZlJ3UgemUndSBrbGFtYX5+CgooJycuaSB6YSdhIGRhaSBhJ28gbWkg Y2EgY28ndSBjaXNrYSBsbyBmYSdvcm1hJ28gLmkga28gamltcGUgdmF1IC51aScnKSAtIGxvb2sg dXAgY2lza2EgYW5kIHdvcmsgaXQgb3V0LgoKCgpRdWVzdGlvbnMgaW4gTG9qYmFuIGFyZSB2ZXJ5 IGVhc3kgdG8gbGVhcm4sIGFuZCB0aGV5IGNvbWUgaW4gdHdvIGtpbmRzOiBGaWxsIGluIHRoZSBi bGFuaywgYW5kIHRydWUvZmFsc2UgcXVlc3Rpb25zLiBMZXQncyBiZWdpbiB3aXRoIHRoZSB0cnVl LWZhbHNlIHF1ZXN0aW9uIGtpbmQgLSB0aGF0J3MgcHJldHR5IG92ZXJjb21lYWJsZSwgc2luY2Ug aXQgb25seSBpbnZvbHZlcyBvbmUgd29yZCwgJyd4dScnLgoKJyd4dScnIHdvcmtzIGxpa2UgYW4g YXR0aXR1ZGluYWwgaW4gdGhlIHNlbnNlIHRoYXQgaXQgY2FuIGdvIGFueXdoZXJlLCBhbmQgaXQg YXBwbGllcyB0byB0aGUgcHJlY2VkaW5nIHdvcmQgKG9yIGNvbnN0cnVjdCkuIEl0IHRoZW4gdHJh bnNmb3JtcyB0aGUgc2VudGVuY2UgaW50byBhIHF1ZXN0aW9uLCBhc2tpbmcgd2hldGhlciBpdCBp cyB0cnVlIG9yIG5vdC4gSW4gb3JkZXIgdG8gYWZmaXJtLCB5b3Ugc2ltcGx5IHJlcGVhdCB0aGUg YnJpZGk6CgonJ3h1IHZlJ3UgemRhbmkgZG8nJyAnJy5pIHZlJ3UgemRhbmkgbWknJywgb3IgeW91 IGp1c3QgcmVwZWF0IHRoZSB0aGUgc2VsYnJpLCB3aGljaCBpcyB0aGUgYnJpZGkgd2l0aCBhbGwg dGhlIHN1bXRpIGFuZCB0ZW5zZXMgZWxpZGVkOiAnJ3pkYW5pJycuCgpUaGVyZSBpcyBhbiBldmVu IGVhc2llciB3YXkgdG8gYWZmaXJtIHVzaW5nIGJyaWthJ2ksIGJ1dCB0aG9zZSBhcmUgYSB0YWxl IGZvciBhbm90aGVyIHRpbWUuIFRvIGFuc3dlciDigJxub+KAnSBvciDigJxmYWxzZeKAnSwgeW91 IHNpbXBseSBhbnN3ZXIgd2l0aCB0aGUgYnJpZGkgbmVnYXRlZC4gVGhhdCB0b28sIHdpbGwgYmUg bGVmdCBmb3IgbGF0ZXIsIGJ1dCB3ZSB3aWxsIHJldHVybiB0byBxdWVzdGlvbiBhbnN3ZXJpbmcg YnkgdGhlbi4KCgoKVGhlIG90aGVyIGtpbmQgaXMgZmlsbCBpbiB0aGUgYmxhbmsuIEhlcmUsIHlv dSBhc2sgZm9yIHRoZSBxdWVzdGlvbiB3b3JkIHRvIGJlIHJlcGxhY2VkIGZvciBhIGNvbnN0cnVj dCwgd2hpY2ggbWFrZXMgdGhlIGJyaWRpIGNvcnJlY3QuIFRoZXJlIGFyZSBzZXZlcmFsIG9mIHRo ZXNlIHdvcmRzLCBkZXBlbmRpbmcgb24gd2hhdCB5b3UgYXJlIGFza2luZyBhYm91dDoKCl9fJydt YScnX18gLSBzdW10aSBxdWVzdGlvbgoKX18nJ21vJydfXyAtIHNlbGJyaSBxdWVzdGlvbgoKX18n J3hvJydfXyAtIG51bWJlciBxdWVzdGlvbgoKX18nJ2N1J2UnJ19fIC0gdGVuc2UgcXVlc3Rpb24K CgoKQXMgd2VsbCBhcyBtYW55IG90aGVycy4gVG8gYXNrIGFib3V0IGEgc3VtdGksIHlvdSB0aGVu IGp1c3QgcGxhY2UgdGhlIHF1ZXN0aW9uIHdvcmQgd2hlcmUgeW91IHdhbnQgeW91ciBhbnN3ZXI6 ICcnZG8gZHVuZGEgbWEgbWknJyAtIGFza3MgZm9yIHRoZSB4MiB0byBiZSBmaWxsZWQgd2l0aCBh IGNvcnJlY3Qgc3VtdGkuIOKAnFlvdSBnaXZlIHdoYXQgdG8gbWU/4oCdLiBUaGUgY29tYmluYXRp b24gb2YgJydzdW10Y2l0YScnICsgJydtYScnIGlzIHZlcnkgdXNlZnVsIGluZGVlZDoKCl9fJydt dSdpJydfXyAtIHN1bXRjaXRhOiBtb3RpdmF0ZWQgYnkgdGhlIGFic3RyYWN0aW9uIG9mIHtzdW10 aX0KCgoKJycub2kgZG8gZGFyeGkgbWkgbXUnaSBtYScnIC0g4oCcT3ksIHdoeSBkbyB5b3UgaGl0 IG1lPyHigJ0KCgoKTGV0J3MgdHJ5IGFub3RoZXIgb25lLiBUaGlzIHRpbWUsIHlvdSB0cmFuc2xh dGU6CgonJy51aSBkYWkgZG8gY2EgemUndSBwdSBtbycnCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6 4oCcWW91J3JlIGhhcHB5LCB3aGF0IGhhdmUgeW91IGJlZW4gZG9pbmcgYWxsIHRoaXMgbG9uZyB0 aW1lIHVudGlsIG5vdz/igJ0gVGVjaG5pY2FsbHksIGl0IGNvdWxkIGFsc28gbWVhbiDigJx3aGF0 IGhhdmUgeW91IGJlZW4/4oCdLCBidXQgYW5zd2VyaW5nIHdpdGggJycudWEgbmFpIGxpJ2EgcmVt bmEnJyAoVWgsIGh1bWFuLCBvYnZpb3VzbHkpIGlzIGp1c3QgYmVpbmcgaW5jcmVkaWJseSBhbm5v eWluZyBvbiBwdXJwb3NlLn5+CgoKClNpbmNlIHRvbmUgb2Ygdm9pY2Ugb3Igc2VudGVuY2Ugc3Ry dWN0dXJlIGRvZXMgbm90IHJldmVhbCB3aGV0aGVyIGEgc2VudGVuY2UgaXMgYSBxdWVzdGlvbiBv ciBub3QsIG9uZSBiZXR0ZXIgbm90IG1pc3MgdGhlIHF1ZXN0aW9uIHdvcmQuIFRoZXJlZm9yZSwg c2luY2UgcGVvcGxlIHRlbmQgdG8gZm9jdXMgbW9yZSBvbiB3b3JkcyBpbiB0aGUgYmVnaW5uaW5n IG9yIGF0IHRoZSBlbmQgb2Ygc2VudGVuY2VzLCBpdCdzIHVzdWFsbHkgd29ydGggdGhlIHdoaWxl IHRvIHJlLW9yZGVyIHRoZSBzZW50ZW5jZSBzbyB0aGF0IHRoZSBxdWVzdGlvbiB3b3JkcyBhcmUg YXQgdGhvc2UgcGxhY2VzLiBJZiB0aGF0IGlzIG5vdCBmZWFzYWJsZSwgJydwYXUnJyBpcyBhbiBh dHRpdHVkaW5hbCBtYXJraW5nIHRoYXQgdGhlIHNlbnRlbmNlIGlzIGEgcXVlc3Rpb24uIENvbnRy YXJ5LCAnJ3BhdSBuYWknJyBleHBsaWNpdGx5IG1hcmtzIGFueSBxdWVzdGlvbiBhcyBiZWluZyBy aGV0b3JpY2FsLgoKCgpXaGlsZSB3ZSBhcmUgb24gdGhlIHRvcGljIG9mIHF1ZXN0aW9ucywgaXQn cyBhbHNvIGFwcHJvcHJpYXRlIHRvIG1lbnRpb24gdGhlIHdvcmQgJydrYXUnJywgd2hpY2ggaXMg YSBtYXJrZXIgZm9yIOKAnGluZGlyZWN0IHF1ZXN0aW9u4oCdLiBXaGF0J3MgYW4gaW5kaXJlY3Qg cXVlc3Rpb24sIHRoZW4/IFdlbGwsIHRha2UgYSBsb29rIGF0IHRoZSBzZW50ZW5jZTogJydtaSBk anVubyBsbyBkdSd1IG1hIGthdSB6ZGFuaSBkbycnIC0g4oCcSSBrbm93IHdoYXQgaXMgeW91ciBo b21lLuKAnQoKX18nJ2RqdW5vJydfXyDigJx4MSBrbm93cyBmYWN0KHMpIHgyIGFyZSB0cnVlIGFi b3V0IHgzIGJ5IGVwaXN0ZW1vbG9neSB4NOKAnQoKT25lIGNhbiB0aGluayBpdCBhcyB0aGUgYW5z d2VyIHRvIHRoZSBxdWVzdGlvbiAnJ21hIHpkYW5pIGRvJycuIE1vcmUgcmFyZWx5LCBvbmUgY2Fu IG1hcmsgYSBub24tcXVlc3Rpb24gd29yZCB3aXRoICcna2F1JycsIGluIHdoaWNoIGNhc2Ugb25l IHN0aWxsIGNhbiBpbWFnaW5lIGl0IGFzIHRoZSBhbnN3ZXIgdG8gYSBxdWVzdGlvbjogJydtaSBq aW1wZSBsbyBkdSd1IGR1bmRhIHRpIGthdSBkbycnIC0g4oCcSSBrbm93IHdoYXQgeW91IGhhdmUg YmVlbiBnaXZlbiwgaXQgaXMgdGhpcy7igJ0KCgoKCgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29u IHRoaXJ0ZWVuIChtb3JwaG9sb2d5IGFuZCB3b3JkIGNsYXNzZXMpCgpCYWNrIHRvIG1vcmUgaGVh dnkgKGFuZCBpbnRlcmVzdGluZykgc3R1ZmYuCgpJZiB5b3UgaGF2ZW4ndCBhbHJlYWR5LCBJIHN0 cm9uZ2x5IHN1Z2dlc3QgeW91IGZpbmQgdGhlIExvamJhbmljIHJlY29yZGluZyBjYWxsZWQgIlN0 b3J5IFRpbWUgd2l0aCBVbmNsZSBSb2JpbiIsIG9yIGxpc3RlbiB0byBzb21lb25lIHNwZWFrIExv amJhbiBvbiBNdW1ibGUsIGFuZCB0aGVuIHByYWN0aWNlIHlvdXIgcHJvbnVuY2lhdGlvbi4gSGF2 aW5nIGFuIGludGVybmFsIGNvbnZlcnNhdGlvbiBpbiB5b3VyIGhlYWQgaW4gTG9qYmFuIGlzIG9u bHkgZ29vZCBpZiBpdCBpc24ndCB3aXRoIGFsbCB0aGUgd3Jvbmcgc291bmRzLCBhbmQgbGVhcm5p bmcgcHJvbnVuY2lhdGlvbiBmcm9tIHdyaXR0ZW4gdGV4dCBpcyBoYXJkLiBUaGVyZWZvcmUsIHRo aXMgbGVzc29uIHdpbGwgbm90IGJlIG9uIHRoZSBMb2piYW4gc291bmRzLCBob3dldmVyIGltcG9y dGFudCB0aGV5IG1pZ2h0IGJlLCBidXQgYSBzaG9ydCBpbnRyb2R1Y3Rpb24gdG8gdGhlIExvamJh biBtb3JwaG9sb2d5LgoKCgpXaGF0IGlzIG1vcnBob2xvZ3k/IFRoZSB3b3JkIGlzIGRlcml2ZWQg ZnJvbSBHcmVlayBtZWFuaW5nIOKAnHRoZSBzdHVkeSBvZiBzaGFwZXPigJ0sIGFuZCBpbiB0aGlz IGNvbnRleHQsIHdlIHRhbGsgYWJvdXQgaG93IHdlIG1ha2Ugd29yZHMgZnJvbSBsZXR0ZXJzIGFu ZCBzb3VuZHMsIGFzIGNvbnRyYXN0ZWQgd2l0aCBzeW50YXggLSBob3cgd2UgbWFrZSBzZW50ZW5j ZXMgd2l0aCB3b3Jkcy4gTG9qYmFuIG9wZXJhdGVzIHdpdGggZGlmZmVyZW50IG1vcnBob2xvZ2lj YWwgd29yZCBjbGFzc2VzLCB3aGljaCBhcmUgYWxsIGRlZmluZWQgYnkgdGhlaXIgbW9ycGhvbG9n eS4gVG8gbWFrZSBpdCBhbGwgbmljZSBhbmQgc3lzdGVtYXRpYyB0aG91Z2gsIHdvcmRzIHdpdGgg Y2VydGFpbiBmdW5jdGlvbnMgdGVuZCB0byBiZSBncm91cGVkIGJ5IG1vcnBob2xvZ2ljYWwgY2xh c3NlcywgYnV0IGV4Y2VwdGlvbnMgbWF5IG9jY3VyLgoKfHwgICBDbGFzc3xNZWFuaW5nfERlZmlu ZWQgQnl8VHlwaWNhbCBGdW5jdGlvbgoKICAgV29yZHM6fCAgIHwgICB8ICAgCgogICBCcml2bGF8 ICAgYnJpZGktd29yZHwgICBBbW9uZyBmaXJzdCA1IGxldHRlcnMgKGV4Y2x1ZGluZyDigJwg4oCY IOKAnCkgaXMgYSBjb25zb25hbnQgY2x1c3Rlci4gRW5kcyBpbiB2b3dlbC4gICB8ICAgQWN0cyBh cyBhIHNlbGJyaSBieSBkZWZhdWx0LiBBbHdheXMgaGFzIGEgcGxhY2Ugc3RydWN0dXJlLgoKICAg LS1HaXNtdXwgICBSb290LXdvcmR8IDUgbGV0dGVycyBvZiB0aGUgZm9ybSBDVkNDViBvciBDQ1ZD ViAgIHwgICBPbmUgdG8gZml2ZSBzdW10aSBwbGFjZXMuIENvdmVycyBiYXNpYyBjb25jZXB0cy4K CiAgIC0tTHVqdm98ICBDb21wb3VuZCB3b3JkLiBEZXJpdmVkIGZyb20gZnJvbSDigJxsdWp2bGHi gJ0sIG1lYW5pbmcg4oCcY29tcGxleCB3b3Jk4oCdIHwgICBNaW4uIDYgbGV0dGVycy4gTWFkZSBi eSBzdHJpbmdpbmcgcmFmc2kgdG9nZXRoZXIgd2l0aCBiaW5kaW5nIGxldHRlcnMgaWYgbmVjZXNz YXJ5LnwgICBDb3ZlcnMgbW9yZSBjb21wbGV4IGNvbmNlcHRzIHRoYW4gZ2lzbXUuCgogICAtLUZ1 J2l2bGF8ICBDb3B5LXdvcmQgfCBBcyBicml2bGEsIGJ1dCBkbyBub3QgbWVldCBkZWZpbmluZyBj cml0ZXJpYSBvZiBnaXNtdSBvciBsdWp2bywgZXg6ICcnYW5nZWxpJycgIHwgICBDb3ZlcnMgdW5p cXVlIGNvbmNlcHRzIGxpa2UgbmFtZXMgb2YgcGxhY2VzIG9yIG9yZ2FuaXNtcy4KCiAgIENtZXZs YXwgIE5hbWUtd29yZCB8ICAgQmVnaW5uaW5nIGFuZCBlbmRpbmcgd2l0aCBwYXVzZSAoZnVsbCBz dG9wKS4gTGFzdCBzb3VuZC9sZXR0ZXIgaXMgYSBjb25zb25hbnQufCAgIEFsd2F5cyBhY3RzIGFz IGEgbmFtZSBvciBhcyB0aGUgY29udGVudCBvZiBhIHF1b3RlLgoKICAgQ21hdm98ICAgR3JhbW1h ci13b3JkLiBGcm9tIOKAnGNtYXZsYeKAnSwgbWVhbmluZyDigJxzbWFsbCB3b3Jk4oCdfCBPbmUg Y29uc29uYW50IG9yIHplcm8sIGFsd2F5cyBhdCB0aGUgYmVnaW5uaW5nLiBFbmRzIGluIGEgdm93 ZWwuICB8ICAgR3JhbW1hdGljYWwgZnVuY3Rpb25zLiBWYXJpZXMKCiAgIFdvcmQtZnJhZ21lbnRz OnwgICB8ICAgfAoKICAgUmFmc2l8ICAgQWZmaXh8ICBDQ1YsIENWQywgQ1YnViwgLUNWQ0NWLCAt Q0NWQ1YsIENWQ0N5LSBvciBDQ1ZDeS0gIHwgTm90IGFjdHVhbCB3b3JkcywgYnV0IGNhbiBiZSBz dHJpbmdlZCB0b2dldGhlciB0byBmb3JtIGx1anZvIHx8CgoKCgoKX18nJ2NtZXZsYScnX18gYXJl IHZlcnkgZWFzeSB0byBpZGVudGlmeSBiZWNhdXNlIHRoZXkgYmVnaW4gYW5kIGVuZCB3aXRoIGEg cGF1c2UsIHNpZ25hbGVkIGJ5IGEgZnVsbCBzdG9wIGluIHdyaXRpbmcsIGFuZCB0aGUgbGFzdCBs ZXR0ZXIgaXMgYSBjb25zb25hbnQuIGNtZXZsYSBjYW4ndCBoYXZlIGFueSBvdGhlciBmdW5jdGlv biBiZXNpZGVzIGFjdGluZyBhcyBhIG5hbWUuIE9uIHRoZSBvdGhlciBoYW5kLCBuYW1lcyB3aGlj aCBhcmUgbm90IHNlbGJyaSBjYW5ub3QgYXBwZWFyIGluIExvamJhbiB3aXRob3V0IHRoZW0gYmVp bmcgY21ldmxhLCBvciBlbmNhc2VkIGJ5IGNlcnRhaW4gcXVvdGUgd29yZHMuIE9uZSBjYW4gbWFy ayBzdHJlc3MgaW4gdGhlIG5hbWVzIGJ5IGNhcGl0YWxpemluZyB0aGUgbGV0dGVycyB3aGljaCBh cmUgc3RyZXNzZWQuIEV4YW1wbGVzIG9mIGNtZXZsYSBhcmU6ICcnLmlvaEFOLicnIChKb2hhbiwg aCBpcyBjYXBpdGFsIGFwb3N0cm9waGUpLCAnJy5tYXQuJycgKE1hdHQpIGFuZCAnJy5sdXRjaU1J Ti4nJyAoTHVpLUNoaSBNaW4pLiBOYW1lcyB3aGljaCBkbyBub3QgZW5kIGluIGNvbnNvbmFudHMg aGF2ZSB0byBoYXZlIG9uZSBhZGRlZDogJycuaXZ5bi4nJyAoRXZlKSwgb3IgKHByb2JhYmx5IGJl dHRlciBpbiB0aGlzIGNhc2UpIHJlbW92ZWQ6ICcnLml2LicnCgoKCl9fJydicml2bGEnJ19fIGFy ZSBjYWxsZWQg4oCcYnJpZGktd29yZHPigJ0gYmVjYXVzZSB0aGV5IGJ5IGRlZmF1bHQgYXJlIHNl bGJyaSwgYW5kIHRoZXJlZm9yZSBhbG1vc3QgYWxsIExvamJhbiB3b3JkcyB3aXRoIGEgcGxhY2Ug c3RydWN0dXJlIGFyZSBicml2bGEuIFRoaXMgaGFzIGFsc28gZ2l2ZW4gdGhlbSB0aGUgRW5nbGlz aCBuaWNrbmFtZSDigJxjb250ZW50LXdvcmRz4oCdLiBJdCdzIG5lYXJseSBpbXBvc3NpYmxlIHRv IHNheSBhbnl0aGluZyB1c2VmdWwgd2l0aG91dCBicml2bGEsIGFuZCBhbG1vc3QgYWxsIHdvcmRz IGZvciBjb25jZXB0cyBvdXRzaWRlIGxvamJhbiBncmFtbWFyIChhbmQgZXZlbiBtb3N0IG9mIHRo ZSB3b3JkcyBmb3IgdGhpbmdzIGluIHRoZSBsYW5ndWFnZSkgYXJlIGNhcHR1cmVkIGJ5IGJyaXZs YS4gQXMgc2hvd24gaW4gdGhlIHRhYmxlLCBicml2bGEgaGFzIHRocmVlIHN1YmNhdGVnb3JpZXM6 CgpfXycnZ2lzbXUnJ19fIGFyZSB0aGUgcm9vdCB3b3JkcyBvZiB0aGUgbGFuZ3VhZ2UuIE9ubHkg YWJvdXQgMTQ1MCBleGlzdHMsIGFuZCB2ZXJ5IGZldyBuZXcgb25lcyBhcmUgYWRkZWQuIFRoZXkg Y292ZXIgdGhlIG1vc3QgYmFzaWMgY29uY2VwdHMgbGlrZSDigJxjaXJjbGXigJ0sIOKAnGZyaWVu ZOKAnSwg4oCcdHJlZeKAnSBhbmQg4oCcZHJlYW3igJ0uIEV4YW1wbGVzIGluY2x1ZGUgJyd6ZGFu aScnLCAnJ3BlbHh1JycgYW5kICcnZHVuZGEnJwoKX18nJ2x1anZvJydfXyBhcmUgbWFkZSBieSBj b21iaW5pbmcgcmFmc2kgKHNlZSB1bmRlciByYWZzaSksIHJlc3ByZXNlbnRpbmcgZ2lzbXUuIEJ5 IGNvbWJpbmluZyByYWZzaSwgb25lIG5hcnJvd3MgZG93biB0aGUgbWVhbmluZyBvZiB0aGUgd29y ZC4gbHVqdm8gYXJlIG1hZGUgYnkgYW4gZWxhYm9yYXRlIGFsZ29yaXRobSwgc28gbWFraW5nIHZh bGlkIGx1anZvIG9uIHRoZSBmbHkgaXMgbmVhciBpbXBvc3NpYmxlLCB3aXRoIGZldyBleGNlcHRp b25zIGxpa2UgJydzZWxwYSdpJycsIGZyb20gJydzZSBwcmFtaScnLCB3aGljaCBjYW4gb25seSBo YXZlIG9uZSBkZWZpbml0aW9uLiBJbnN0ZWFkLCBsdWp2byBhcmUgbWFkZSBvbmNlLCBpdHMgcGxh Y2Ugc3RydWN0dXJlIGRlZmluZWQsIGFuZCB0aGVuIHRoYXQgZGVmaW5pdGlvbiBpcyBtYWRlIG9m ZmljaWFsIGJ5IHRoZSBkaWN0aW9uYXJ5LiBFeGFtcGxlcyBpbmNsdWRlIGJyaXZsYSAoYnJpZGkt d29yZCksICcnY2luamlrY2EnJyAoc2V4dWFsLXNvY2lhbGl6aW5nID0gZmxpcnRpbmcpIGFuZCAn J2Nha2NpbmtpJycgKHNoZWxsLWluc2VjdCA9IGJlZXRsZSkuCgpfXycnZnUnaXZsYScnX18gYXJl IG1hZGUgYnkgbWFraW5nIHVwIHdvcmRzIHdoaWNoIGZpdCB0aGUgZGVmaW5pdGlvbiBmb3IgYnJp dmxhLCBidXQgbm90IGZvciBsdWp2byBvciBnaXNtdS4gVGhleSB0ZW5kIHRvIGNvdmVyIGNvbmNl cHRzIHdoaWNoIGl0J3MgaGFyZCB0byBjb3ZlciBieSBsdWp2bywgZm9yIGluc3RhbmNlIG5hbWVz IG9mIHNwZWNpZXMsIG5hdGlvbnMgb3IgdmVyeSBjdWx0dXJhbCBzcGVjaWZpYyBjb25jZXB0cy4g RXhhbXBsZXMgaW5jbHVkZSAnJ2d1Z2RyZ29ndXJpbycnIChLb3JlYSkgJydjaWRqcnBpdHNhJycg KHBpenphKSBvciAnJ2FuZ2VsaScnIChhbmdlbCkuCgoKCl9fJydjbWF2bycnX18gYXJlIHNtYWxs IHdvcmRzIHdpdGggb25lIG9yIHplcm8gY29uc29uYW50cy4gVGhleSB0ZW5kIHRvIG5vdCBzaWdu aWZ5IGFueXRoaW5nIGluIHRoZSBleHRlcmlvciB3b3JsZCwgYnV0IHRvIGhhdmUgb25seSBncmFt bWF0aWNhbCBmdW5jdGlvbi4gRXhjZXB0aW9ucyBvY2N1ciwgYW5kIGl0J3MgZGViYXRhYmxlIGhv dyBtdWNoIGF0dGl0dWRpbmFscyBleGlzdHMgZm9yIHRoZWlyIGdyYW1tYXRpY2FsIGZ1bmN0aW9u LiBBbm90aGVyIHdlaXJkIGV4YW1wbGUgYXJlIHRoZSB3b3JkcyBvZiB0aGUgY2xhc3MgR09oQSwg d2hpY2ggYWN0IGFzIGJyaXZsYS4gSXQgaXMgdmFsaWQgdG8gdHlwZSBzZXZlcmFsIGNtYXZvIGlu IGEgcm93IGFzIG9uZSB3b3JkLCBidXQgaW4gdGhlc2UgbGVzc29ucywgdGhhdCB3b24ndCBiZSBk b25lLiBCeSBncm91cGluZyBjZXJ0YWluIGNtYXZvIGluIGZ1bmN0aW9uYWwgdW5pdHMsIHRob3Vn aCwgaXQgaXMgc29tZXRpbWVzIGVhc2llciB0byByZWFkLiBUaHVzLCAnJy51aXB1enV2dWt1bWkg Y2l0a2EnJyBpcyB2YWxpZCwgYW5kIGlzIHBhcnNlZCBhbmQgdW5kZXJzdG9vZCBhcyAnJy51aSBw dSB6dSB2dSBrdSBtaSBjaXRrYScnLiBMaWtlIG90aGVyIExvamJhbiB3b3Jkcywgb25lIHNob3Vs ZCAoYnV0IG5lZWQgbm90IGFsd2F5cykgcGxhY2UgYSBmdWxsIHN0b3AgYmVmb3JlIGFueSB3b3Jk cyBiZWdpbm5pbmcgd2l0aCBhIHZvd2VsLgoKY21hdm8gb2YgdGhlIGZvcm0geFZWLCBDVidWViBv ciBWJ1ZWIGFyZSBleHBlcmltZW50YWwsIGFuZCBhcmUgd29yZHMgd2hpY2ggYXJlIG5vdCBpbiB0 aGUgZm9ybWFsIGdyYW1tYXIsIGJ1dCB3aGljaCBoYXZlIGJlZW4gYWRkZWQgYnkgTG9qYmFuIHVz ZXJzIHRvIHJlc3BvbmQgdG8gYSBjZXJ0YWluIG5lZWQuCgoKCl9fJydyYWZzaScnX18gYXJlIG5v dCBMb2piYW4gd29yZHMsIGFuZCBjYW4gbmV2ZXIgYXBwZWFyIGFsb25lLiBIb3dldmVyLCBzZXZl cmFsIChtb3JlIHRoYW4gb25lKSByYWZzaSBjb21iaW5lIHRvIGZvcm0gbHVqdm8uIFRoZXNlIG11 c3Qgc3RpbGwgbGl2ZSB1cCB0byB0aGUgYnJpdmxhLWRlZmluaXRpb24sIGZvciBpbnN0YW5jZSAn J2xvamJhbicnIGlzIGludmFsaWQgYmVjYXVzZSBpdCBlbmRzIGluIGEgY29uc29uYW50ICh3aGlj aCBtYWtlcyBpdCBhIGNtZXZsYSksIGFuZCAnJ2NpJ2VrZWknJyBpcyBpbnZhbGlkIGJlY2F1c2Ug aXQgZG9lcyBub3QgY29udGFpbiBhIGNvbnNvbmFudCBjbHVzdGVyLCBhbmQgaXMgdGh1cyByZWFk IGFzIHR3byBjbWF2byB3cml0dGVuIGFzIG9uZSB3b3JkLiBPZnRlbiwgYSAzLTQgbGV0dGVyIHN0 cmluZyBpcyBib3RoIGEgY21hdm8gYW5kIGEgcmFmc2ksIGxpa2UgJyd6dSdlJycsIHdoaWNoIGlz IGJvdGggdGhlIEJBSSBhbmQgdGhlIHJhZnNpIGZvciAnJ3p1a3RlJycuIE5vdGUgdGhhdCB0aGVy ZSBpcyBub3doZXJlIHRoYXQgYm90aCBhIGNtYXZvIGFuZCBhIHJhZnNpIHdvdWxkIGJlIGdyYW1t YXRpY2FsLCBzbyB0aGVzZSBhcmUgbm90IGNvbnNpZGVyZWQgaG9tb3Bob25lcy4gQWxsIGdpc211 IGNhbiBkb3VibGUgYXMgcmFmc2ksIGlmIHRoZXkgYXJlIHByZWZpeGVkIHdpdGggYW5vdGhlciBy YWZzaS4gVGhlIGZpcnN0IGZvdXIgbGV0dGVyIG9mIGEgZ2lzbXUgc3VmZml4ZWQgd2l0aCBhbiAi eSIgY2FuIGFsc28gYWN0IGFzIGEgcmFmc2ksIGlmIHRoZXkgYXJlIHN1ZmZpeGVkIHdpdGggYW5v dGhlciByYWZzaS4gVGhlIHZvd2VsICJ5IiBjYW4gb25seSBhcHBlYXIgaW4gbHVqdm8gb3IgY21l dmxhLiBWYWxpZCByYWZzaSBsZXR0ZXIgY29tYmluYXRpb25zIGFyZTogQ1ZWLCBDVidWLCBDQ1Ys IENWQ0N5LSBDQ1ZDeS0sIC1DVkNDViBhbmQgLUNDVkNWLgoKCgpVc2luZyB3aGF0IHlvdSBrbm93 IG5vdywgeW91IHNob3VsZCBiZSBhYmxlIHRvIGFuc3dlciB0aGUgdGVzdCBpIHRodXMgcHJlc2Vu dDoKCkNhdGVnb3JpemUgZWFjaCBvZiB0aGUgZm9sbG93aW5nIHdvcmRzIGFzIGNtZXZsYSAoQyks IGdpc211IChnKSwgbHVqdm8gKGwpLCAnJ2Z1J2l2bGEnJyAoZikgb3IgY21hdm8gKGMpOgoKQSAp IGphaSAgICAgICAgRyApIG11bWJsCgpCICkgLmlyY2kgICAgICAgIEggKSAuaSdpCgpDICkgYm9z dHUgICAgICAgIEkgKSBjdQoKRCApIHhlbG1hbiAgICAgICAgSiApIHBsYWp2YQoKRSApIHBvJ2Ug ICAgICAgIEsgKSBkYW5zZWtlCgpGICkgZGppc2t1ICAgICAgICBMICkgLmVydHNhCgoKCkFuc3dl cjogfn5ncmV5LGdyZXk6YS1jLCBiLWYsIGMtZywgZC1DLCBlLWMsIGYtbCwgZy1DLCBoLWMsIGkt Yywgai1sLCBrLWYsIGwtZi4gSSBsZWZ0IG91dCB0aGUgZnVsbCBzdG9wcyBiZWZvcmUgYW5kIGFm dGVyIG5hbWVzIHNvIGl0IHdvdWxkbid0IGJlIHRvbyBlYXN5LgoKTm90ZTogc29tZSBvZiB0aGVz ZSB3b3JkcywgbGlrZSAnJ2Jvc3R1JycgZG8gbm90IGV4aXN0IGluIHRoZSBkaWN0aW9uYXJ5LCBi dXQgdGhpcyBpcyBpcnJlbGV2YW50LiBUaGUgbW9ycGhvbG9neSBzdGlsbCBtYWtlcyBpdCBhIGdp c211LCBzbyBpdCdzIGp1c3QgYW4gdW5kZWZpbmVkIGdpc211LiBTaW1pbGFybHkgd2l0aCAnJy5l cnRzYScnfn4KCgoKCgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29uIGZvdXJ0ZWVuICh0aGUgTG9q YmFuIHN1bXRpIDE6IExFIGFuZCBMQSkKCklmIHlvdSBoYXZlIHJlYWQgYW5kIHVuZGVyc3Rvb2Qg dGhlIGNvbnRlbnQgb2YgYWxsIHRoZSBsZXNzb25zIHVudGlsIG5vdywgeW91IGhhdmUgYW1hc3Nl ZCBhIGxhcmdlIGVub3VnaCBrbm93bGVkZ2Ugb2YgTG9qYmFuIHNvIHRoYXQgaXQgZG9lc24ndCBt YXR0ZXIgaW4gd2hpY2ggb3JkZXIgeW91IGxlYXJuIHRoZSByZXN0LiBBcyBhIHJlc3VsdCwgdGhl IG9yZGVyIG9mIHRoZSBuZXh0IGxlc3NvbnMgd2lsbCBiZSBhIG1peHR1cmUgb2Ygc29ydGVkIGJ5 IGluY3JlYXNpbmcgZGlmZmljdWx0eSBhbmQgc29ydGVkIGJ5IGltcG9ydGFuY2UgaW4gb3JkaW5h cnkgTG9qYmFuIGNvbnZlcnNhdGlvbi4KCgoKT25lIG9mIHRoZSBiaWdnZXN0IGNvbnN0cmFpbnMg b24geW91ciBzcGVhayBub3cgaXMgeW91ciBsaW1pdGVkIGtub3dsZWRnZSBvbiBob3cgdG8gbWFr ZSBzdW10aS4gU28gZmFyLCB5b3Ugb25seSBrbm93ICcndGknJyBhbmQgJydsbyBTRUxCUkknJywg d2hpY2ggZG9lc24ndCB0YWtlIHlvdSBmYXIgY29uc2lkZXJpbmcgaG93IGltcG9ydGFudCBzdW10 aSBhcmUgaW4gTG9qYmFuLiBUaGlzIGxlc3NvbiBhcyB3ZWxsIGFzIHRoZSBmb2xsb3dpbmcgdHdv IHdpbGwgYmUgYWJvdXQgdGhlIExvamJhbiBzdW10aS4gRm9yIG5vdywgd2UgZm9jdXMgb24gdGhl IGRlc2NyaXB0aXZlLWxpa2Ugc3VtdGksIHRoZSBvbmVzIG1hZGUgd2l0aCBhcnRpY2xlcyBsaWtl ICcnbG8nJwoKQXJ0aWNsZXMgYXJlIGluIGxvamJhbiBjYWxsZWQgJydnYWRyaScnLCBhbmQgYWxs IHRoZSBvbmVzIGRpc2N1c3NlZCBpbiB0aGlzIGxlc3NvbiBhcmUgdGVybWluYXRlZCBieSAnJ2t1 JycsIGV4Y2VwdCB0aGUgY29tYmluYXRpb25zICcnbGEgQ01FVkxBJycsICcnbGFpIENNRVZMQScn IGFuZCAnJ2xhJ2kgQ01FVkxBJycuIFdlIHdpbGwgYmVnaW4gYnkgZGVzY3JpYmluZyB0aHJlZSBz aW1wbGUga2luZHMgb2YgZGVzY3JpcHRpdmUgc3VtdGksIGFuZCB0aGVuIGltbWVkaWF0ZWx5IGZp bmQgdGhhdCB0aGV5IGFyZSBub3Qgc28gc2ltcGxlIGFmdGVyIGFsbDoKCl9fJydsbycnX18gLSBn YWRyaTogR2VuZXJpYyB2ZXJpZGljYWwg4oCcY29udmVydCBzZWxicmkgdG8gc3VtdGnigJ0uIFJl c3VsdCBpcyB2YWd1ZSB3aXRoIHJlZ2FyZCB0byBpbmRpdmlkdWFsaXR5L21hc3MtbmVzcy4KCl9f JydsZScnX18gLSBnYWRyaTogR2VuZXJpYyBkZXNjcmlwdGl2ZSDigJxjb252ZXJ0IHNlbGJyaSB0 byBzdW10aeKAnS4gUmVzdWx0IGlzIHZhZ3VlIHdpdGggcmVnYXJkIHRvIGluZGl2aWR1YWxpdHkv bWFzcy1uZXNzLgoKX18nJ2xhJydfXyAtIGdhZHJpOiBOYW1pbmcgYXJ0aWNsZTogQ29udmVudGlv bmFsLCDigJxjb252ZXJ0IHNlbGJyaSBvciBjbWV2bGEgdG8gc3VtdGnigJ0uIFRyZWF0IHJlc3Vs dCBhcyBpbmRpdmlkdWFsKHMpLgoKCgpZb3UgYXJlIGFscmVhZHkgZmFtaWxpYXIgd2l0aCAnJ2xv JycgYW5kIHdoYXQgaXQgZG9lcy4gQnV0IHdoYXQgZG9lcyBpdCBtZWFuLCDigJx2ZXJpZGljYWzi gJ0gYW5kIOKAnHZhZ3VlIHdpdGggcmVnYXJkIHRvIGluZGl2aWR1YWxpdHkvbWFzcy1uZXNz4oCd PyBUaGUgbGF0dGVyIGFib3V0IGluZGl2aWR1YWxzIGFuZCBtYXNzZXMsIEknbGwgY29tZSBiYWNr IHRvIGxhdGVyLiBGb3Igbm93LCDigJx2ZXJpZGljYWzigJ0gaW4gdGhpcyBjb250ZXh0IG1lYW5z IHRoYXQgaW4gb3JkZXIgZm9yIGEgdGhpbmcgdG8gcXVhbGlmeSBiZWdpbiBsYWJlbGxlZCBhcyAn J2xvIGtsYW1hJycsIGl0IGhhcyB0byBhY3R1YWxseSAnJ2tsYW1hJycuIFRodXMsIHZlcmlkaWNh bCBnYWRyaSBtYWtlcyBhIGNsYWltIHdoaWNoIG1heSBiZSB0cnVlIG9yIGZhbHNlIC0gdGhhdCB0 aGUgb2JqZWN0KHMpIGluIHF1ZXN0aW9uIGFyZSBhY3R1YWxseSB0aGUgeDEgb2YgdGhlIHNlbGJy aSBhZnRlciAnJ2xvJycuIAoKCgpUaGlzIG1heSBiZSBjb250cmFzdGVkIHdpdGggJydsZScnLCB3 aGljaCBpcyBkZXNjcmlwdGl2ZSwgYW5kIHRodXMgbm90IHZlcmlkaWNhbC4gU2F5aW5nICcnbGUg Z2Vya3UnJyBzYXlzIHRoYXQgeW91IGhhdmUgb25lIG9yIG1vcmUgc3BlY2lmaWMgb2JqZWN0cyBp biBtaW5kLCBhbmQgeW91IHVzZSB0aGUgc2VsYnJpICcnZ2Vya3UnJyB0byBkZXNjcmliZSBpdCwg c28gdGhhdCB0aGUgbGlzdGVuZXIgbWF5IGlkZW50aWZ5IHRob3NlIHNwZWNpZmljIG9iamVjdHMu IFRoaXMgbWVhbnMgdGhhdCAnJ2xlJycgaGF2ZXMgdHdvIGltcG9ydGFudCBkaWZmZXJlbmNlcyBm cm9tICcnbG8nJzogRmlyc3RseSwgaXQgY2Fubm90IHJlZmVyIHRvIG9iamVjdHMgaW4gZ2VuZXJh bCwgYnV0IGFsd2F5cyByZWZlcnMgdG8gc3BlY2lmaWMgb2JqZWN0cy4gU2Vjb25kbHksIHdoaWxl ICcnbG8gZ2Vya3UnJyBkZWZpbml0ZWx5IGlzIG9uZSBvciBtb3JlIGRvZ3MsICcnbGUgZ2Vya3Un JywgYmVjYXVzZSBpdCdzIG5vdCB2ZXJpZGljYWwsIGNhbiBiZSBhbnl0aGluZywgYXMgbG9uZyBh cyB0aGUgc3BlYWtlciB0aGlua3MgdGhlIGRlc2NyaXB0aW9uIHdpbGwgaGVscCBpZGVudGlmeWlu ZyB0aGUgY29ycmVjdCBvYmplY3RzLiBQZXJoYXBzIHRoZSBzcGVha2VyIGlzIHJlZmVycmluZyB0 byBhIGh5ZW5hLCBidXQgYXJlIG5vdCBmYW1pbGlhciB3aXRoIHRoZW0gYW5kIHRoaW5rIOKAnGRv Z+KAnSBpcyBhIGdvb2QgZW5vdWdoIGFwcHJveGltYXRpb24gdG8gYmUgdW5kZXJzdG9vZC4gVGhp cyBub24tdmVyaWRpY2FsaXR5IGlzIHBlcmhhcHMgb3Zlci1lbXBoYXNpc2VkIGluIG1vc3QgbWFu eSB0ZXh0czsgVGhlIGJlc3Qgd2F5IHRvIGRlc2NyaWJlIGEgZG9nIGlzIHVzdWFsbHkgdG8gZGVz Y3JpYmUgaXQgYXMgYmVpbmcgYSBkb2csIGFuZCB1bmxlc3MgdGhlcmUgaXMgYSBnb29kIHJlYXNv biBub3QgdG8sICcnbGUgZ2Vya3UnJyBpcyB1c3VhbGx5IHByZXN1bWVkIHRvIHJlZmVyIHRvIHNv bWV0aGluZyB3aGljaCBpcyBhbHNvICcnbG8gZ2Vya3UnJy4KCkluIHRyYW5zbGF0aW9uLCAnJ2xv IGdlcmt1JycgaXMgdXN1YWxseSDigJxhIGRvZ+KAnSBvciDigJxzb21lIGRvZ3PigJ0sIHdoaWxl ICcnbGUgZ2Vya3UnJyBpcyDigJx0aGUgZG9n4oCdIG9yIOKAnHRoZSBkb2dz4oCdLiBFdmVuIGJl dHRlciBmb3IgJydsZSBnZXJrdScnIHdvdWxkIGJlIOKAnHRoZSDigJxkb2cocynigJ0g4oCdCgoK Ckxhc3Qgb2YgdGhlIHRocmVlIGJhc2ljICcnZ2FkcmknJywgdGhlcmUgaXMgJydsYScnLCB0aGUg bmFtaW5nICcnZ2FkcmknJywgd2hpY2ggSSBoYXZlIHVuY29udmVudGlvbmFsbHkgY2FsbGVkIOKA nGNvbnZlbnRpb25hbOKAnS4gV2hhdCBJIG1lYW4gYnkgdGhpcyBpcyB0aGF0IGl0J3MgbmVpdGhl ciBkZXNjcmlwdGl2ZSBub3IgdmVyaWRpY2FsLCBzaW5jZSBpdCByZWZlcnMgdG8gYSBwcm9wZXIg bmFtZS4gSWYgSSBpbiBFbmdsaXNoIHJlZmVyIHRvIGEgcGVyc29uIGNhbGxlZCBJbm5vY2VudCBi eSBoZXIgbmFtZSwgSSBuZWl0aGVyIGRlc2NyaWJlIGhlciBhcyBiZWluZyBpbm5vY2VudCwgbm9y IGRvIEkgc3RhdGUgdGhhdCBzaGUgaXMuIEkgb25seSBzdGF0ZSB0aGF0IGJ5IGNvbnZlbnRpb24s IHRoYXQgb2JqZWN0IGlzIHJlZmVycmVkIHRvIGJ5IHRoYXQgc2VsYnJpIG9yIGNtZXZsYS4gTm90 ZSB0aGF0ICcnbGEnJyBhbmQgdGhlIGdhZHJpIGRlcml2ZWQgZnJvbSBpdCBjYW4gY29udmVydCBj bWV2bGEgdG8gc3VtdGkgdW5saWtlIGFueSBvdGhlciAnJ2dhZHJpJycuIEFsc286IEJlIGNhdXRp b3VzOiBPdGhlciB0ZXh0cyBkbyBub3QgbWVudGlvbiB0aGF0IG5hbWVzIGNhbiBiZSBmb3JtZWQg ZnJvbSBvcmRpbmFyeSBzZWxicmkgdXNpbmcgdGhlIGdhZHJpICcnbGEnJy4gQnV0IHRob3NlIGhl cmV0aWNzIG11c3QgYnVybjsgc2VsYnJpIG5hbWVzIGFyZSBhcyBnb29kIGFzIHRoZXkgZ2V0LCBh bmQgbWFueSBhIHByb3VkIExvamJhbmlzdCBoYXZlIHRoZW0uCgonJ2xhJycsIGFzIHdlbGwgYXMg JydsYWknJyBhbmQgJydsYSdpJycgYXJlIGEgYml0IGVjY2VudHJpYywgc2luY2UgdGhleSBfX2Fs d2F5c19fIG1hcmtzIHRoZSBiZWdpbm5pbmcgb2YgYSBuYW1lLiBVbmxpa2UgdGhlIG90aGVyIGdh ZHJpLCBhbnl0aGluZyB0aGF0IGNhbiBiZSBncmFtbWF0aWNhbGx5IHBsYWNlZCBhZnRlciAnJ2xh JycgYW5kIGl0cyBzaXN0ZXJzIGFyZSBjb25zaWRlcmVkIHBhcnQgb2YgdGhlIG5hbWUuIEZvciBl eGFtcGxlLCAnJ2xlIG1pIGdlcmt1JycgaXMgIm15IGRvZyIsIGJ1dCAnJ2xhIG1pIGdlcmt1Jycg aXMgc29tZW9uZSBjYWxsZWQgIk15IERvZyIuCgoKClRoZXNlIHRocmVlIGJhc2ljICcnZ2Fkcmkn JyBjYW4gYmUgZXhwYW5kZWQgd2l0aCB0aHJlZSBtb3JlLCB3aGljaCBjb3JyZXNwb25kcyB0byB0 aGUgcHJldmlvdXM6CgoKCl9fJydsb2knJ19fIC0gZ2Fkcmk6IHZlcmlkaWNhbCDigJxjb252ZXJ0 IHNlbGJyaSB0byBzdW10aeKAnS4gVHJlYXQgcmVzdWx0IGFzIG1hc3MoZXMpLgoKX18nJ2xlaScn X18gLSBnYWRyaTogRGVzY3JpcHRpdmUg4oCcY29udmVydCBzZWxicmkgdG8gc3VtdGnigJ0uIFRy ZWF0IHJlc3VsdCBhcyBhIG1hc3MoZXMpLgoKX18nJ2xhaScnX18gLSBnYWRyaTogTmFtaW5nIGFy dGljbGU6IENvbnZlbnRpb25hbCwg4oCcY29udmVydCBzZWxicmkgb3IgY21ldmxhIHRvIHN1bXRp 4oCdLiBUcmVhdCByZXN1bHQgYXMgbWFzcyhlcykuCgoKClRoZXNlIGFyZSB0aGUgc2FtZSBpbiBh bGwgYXNwZWN0cyBleGNlcHQgZm9yIG9uZTogVGhleSB0cmVhdCB0aGUgc3VtdGkgZXhwbGljaXRs eSBhcyBtYXNzZXMuIElmIHRoZXJlIGlzIG9ubHkgb25lIG9iamVjdCBpbiBxdWVzdGlvbiwgYW4g aW5kaXZpZHVhbCBhbmQgYSBtYXNzIGNvbnNpc3Rpbmcgb2Ygb25lIG9iamVjdCBhcmUgZXF1aXZh bGVudC4gVGhlIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGVzZSB0d28gY29uY2VwdHMgbGllIGluIHdo aWNoIHNlbGJyaSBjYW4gYmUgYXNjcmliZWQgdG8gYSBncm91cCBvZiBpbmRpdmlkdWFscyB2ZXJz dXMgYSBtYXNzLiBBIGdyb3VwIG9mIGluZGl2aWR1YWxzIGNhbiBiZSBzYWlkIHRvIGZpdCBhIGNl cnRhaW4gc2VsYnJpIGlmLCBhbmQgb25seSBpZiwgYWxsIG1lbWJlcnMgb2YgdGhlIGdyb3VwIGVh Y2ggZml0IHRoZSBzZWxicmkuIEl0IGlzIGNvcnJlY3QgdG8gZGVzY3JpYmUgYSBwYWNrIG9mICcn bG8gZ2Vya3UnJywgY29uc2lkZXJlZCBpbmRpdmlkdWFsbHksIGFzIGJlaW5nIGJsYWNrLCBpZiBm b3IgZWFjaCBvZiB0aGUgZG9ncyBpdCdzIHRydWUgdGhhdCB0aGV5IGFyZSBibGFjay4gQSBtYXNz LCBvbiB0aGUgb3RoZXIgaGFuZCwgZml0cyBvbmx5IHRob3NlIHNlbGJyaSB3aGljaCBpdHMgY29t cG9uZW50cyBmaXQgYXMgYSB3aG9sZSwgYXMgYSB0ZWFtLCBzbyB0byBzcGVhay4gSG93ZXZlciwg YWxsIHRoZSBtZW1iZXJzIG9mIGEgbWFzcyAnJ2xvaSBnZXJrdScnIG11c3QgYmUgZG9ncyBpbiBv cmRlciBmb3IgJydsb2knJyB0byBiZSBhcHBsaWNhYmxlLiBUaGUgbm90aW9uIG9mICJtYXNzZXMi IGFyZSBzb3BoaXN0aWNhdGVkLCBhbmQgcmVxdWlyZXMgc29tZSBleGFtcGxlcyB0byBkZW1vbnN0 cmF0ZSB3aGljaCBwcm9wZXJ0aWVzIGl0IGNhbiBoYXZlOgoKX18nJ3NydXJpJydfXzog4oCceDEg ZmxhbmtzL2VuY2lyY2xlcy9lbmNsb3NlcyB4MiBpbiBsaW5lL3BsYW5lL2RpcmVjdGlvbnMgeDPi gJ0KCicnbGVpIHByZW51IGN1IHNydXJpIGxvIHpkYW5pJycgLSDigJxUaGUgcGVvcGxlIHN1cnJv dW5kZWQgdGhlIGhvbWUu4oCdIGlzIHBsYXVzaWJsZSwgZXZlbiB0aG91Z2gsIHlvIG1vbWEgam9r ZXMgbm90IGNvbnNpZGVyZWQsIGl0J3MgY29tcGxldGVseSBpbXBsYXVzaWJsZSB0aGF0IGl0IGNv dWxkIGJlIHRydWUgZm9yIGFueSBvbmUgb2YgdGhlIG1lbWJlcnMgYWxvbmUuIEFuIEVuZ2xpc2gg YW5hbG9neSBjb3VsZCBiZTog4oCcSHVtYW5zIGRlZmVhdGVkIHNtYWxscG94IGluIHRoZSAyMHRo IGNlbnR1cnnigJ0uIFN1cmVseSBubyBodW1hbiBkaWQgc28sIGJ1dCB0aGUgbWFzcyBvZiBodW1h bnMgZGlkLCBhbmQgdGhhdCBtYWtlcyB0aGUgc2VudGVuY2UgdHJ1ZSBpbiBFbmdsaXNoLCBhcyB3 ZWxsIGFzIGluIExvamJhbiBpZiDigJxodW1hbnPigJ0gYXJlIGEgbWFzcy4gSnVzdCBsaWtlIHRo ZSBMb2piYW4gbWFzcywgdGhlIEVuZ2xpc2ggbWFzcyDigJxodW1hbnPigJ0gY2FuIG9ubHkgcmVm ZXIgdG8gaW5kaXZpZHVhbHMgZWFjaCBvZiB3aGljaCBhcmUgaHVtYW4uIEFub3RoZXIgZXhhbXBs ZToKCl9fJydtaXZ5c2xlJydfXzogIngxIGlzIGEgYmlvbG9naWNhbCBjZWxsIG9mIG9yZ2FuaXNt IHgyIgoKX18nJ3JlbW5hJydfXzogIngxIGlzIGEgaHVtYW4iCgonJ2xvaSBtaXZ5c2xlIGN1IHJl bW5hJycgLSAiU29tZSBtYXNzZXMgb2YgY2VsbHMgYXJlIGh1bWFuIi4gQWdhaW4sIG5vbmUgb2Yg dGhlIGNlbGxzIGFyZSBodW1hbi4gSW5kZWVkLCB0aGUgY2VsbHMgaGF2ZSB2ZXJ5IGZldyBodW1h biB0cmFpdHMsIGJ1dCB0aGUgY2VsbHMgY29uc2lkZXJlZCBhcyBhIHdob2xlIG1ha2VzIHVwIGEg aHVtYW4uCgoKCkEgbWFzcyBtYWRlIHdpdGggJydsZWknJywgc3VjaCBhcyAnJ2xlaSBnZXJrdScn LCByZWZlcnMgdG8gYSBtYXNzIGZvcm1lZCBieSBhIGdyb3VwIG9mIHNwZWNpZmljIGluZGl2aWR1 YWxzLCBlYWNoIG9mIHdoaWNoIHRoZSBzcGVha2VyIHJlZmVycyB0byBhcyAnJ2xlIGdlcmt1Jycu CgpNYXNzIG5hbWVzIGFzIGRlc2NyaWJlcyBieSAnJ2xhaScnIGFyZSBvbmx5IGFwcHJvcHJpYXRl IGlmIHRoZSBncm91cCBhcyBhIHdob2xlIGlzIG5hbWVkIHN1Y2gsIGFuZCBub3QganVzdCBpZiBh bnkgb2YgdGhlIG1lbWJlcnMgYXJlLiBJdCBjYW4sIGhvd2V2ZXIgYmUgdXNlZCBpZiB0aGUgYnJp ZGkgaXMgdHJ1ZSBmb3Igb25seSBhIGZyYWN0aW9uIG9mIHRoYXQgZ3JvdXAuCgoKCkl0IGlzIGlt cG9ydGFudCB0byByZW1lbWJlciB0aGF0ICcnbG8nJyBhbmQgJydsZScnIGNhbiBiZSB1c2VkIHRv IGRlc2NyaWJlIGJvdGggaW5kaXZpZHVhbHMgYW5kIG1hc3Nlcy4gTGV0J3Mgc2F5IGEgcGFjayBv ZiBkb2dzLCBjb25zaWRlcmVkIGFzIGEgbWFzcyBuZWVkcyBkZXNjcmlwdGlvbi4gSSBtaWdodCBk ZXNjcmliZSBpdCBhcyBlaXRoZXIgJydsb2kgZ2Vya3UnJyBvciAnJ2xvIGdlcmt1JycuIElmIEkg dXNlICcnbG8nJywgdGhpcyBhbGxvd3MgbWUgdG8gY29ycmVjdGx5IHN0YXRlIHNvbWV0aGluZyB3 aGljaCBsb29rcyBsaWtlIGEgY29udHJhZGljdGlvbiwgYnV0IHJlYWxseSBpc24ndDogJydsbyBn ZXJrdSBuYSBnZXJrdScnIC0gIlNvbWUgZG9ncyBhcmUgbm90IGRvZ3MiLiBTaW5jZSBpdCdzIGJl aW5nIGNvbnNpZGVyZWQgYSBtYXNzIG9mIGRvZ3MsIHRoZSBtYW55IGRvZ3MgY29uc2lkZXJlcyBh cyBhIHdob2xlIGlzIG5vdCBhIGRvZywgYnV0IHJhdGhlciBhIHBhY2sgb2YgZG9ncy4KCllvdSBt aWdodCBoYXZlIG5vdGljZWQgdGhhdCB0aGVyZSBpcyBubyB3b3JkIHdoaWNoIHVuYW1iaWd1b3Vz bHkgY29udmVydHMgc2VsYnJpIHRvIGluZGl2aWR1YWwocykuIEluIG9yZGVyIHRvIGJlIGV4cGxp Y2l0IGFib3V0IGluZGl2aWR1YWxuZXNzLCBvbmUgbmVlZHMgJydsbycnLCAnJ2xlJycgb3IgJyds YScnIHdpdGggYW4gb3V0ZXIgcXVhbnRpZmllci4gVGhlIHN1YmplY3Qgb2YgcXVhbnRpZmllcnMg d2lsbCBiZSBjb25zaWRlcmVkIGxhdGVyLCBpbiBsZXNzb24gdHdlbnR5LXR3by4gV2hhdCBpcyB0 aGUgcmVhc29uIHRoYXQgJydsbycnIGFuZCAnJ2xlJycgdmFndWUsIGFuZCBub3QgZXhwbGljaXRs eSBpbmRpdmlkdWFsPyBJdCBpcyBiZWNhdXNlIHRoZWlyIHZhZ3VlbmVzcyBlbmFibGVzIHRoZW0g dG8gYmUgdXNlZCBpbiBhbnkgY29udGV4dCwgd2l0aG91dCB0aGUgc3BlYWtlciBoYXZpbmcgdG8g dGhpbmsgYWJvdXQgd2hldGhlciBpcyBiZWhhdmVzIGFzIGEgbWFzcyBvciBhIGdyb3VwIG9mIGlu ZGl2aWR1YWxzLgoKCgpUaGlyZCBpbiB0aGlzIHNlcmllcywgdGhlcmUgYXJlIHRocmVlIHNldC1m b3JtaW5nICcnZ2FkcmknJzoKCgoKX18nJ2xvJ2knJ19fIC0gZ2Fkcmk6IHZlcmlkaWNhbCDigJxj b252ZXJ0IHNlbGJyaSB0byBzdW10aeKAnS4gVHJlYXQgcmVzdWx0IGFzIGEgc2V0LgoKX18nJ2xl J2knJ19fIC0gZ2Fkcmk6IERlc2NyaXB0aXZlIOKAnGNvbnZlcnQgc2VsYnJpIHRvIHN1bXRp4oCd LiBUcmVhdCByZXN1bHQgYXMgYSBzZXQuCgpfXycnbGEnaScnX18gLSBnYWRyaTogTmFtaW5nIGFy dGljbGU6IENvbnZlbnRpb25hbCwg4oCcY29udmVydCBzZWxicmkgb3IgY21ldmxhIHRvIHN1bXRp 4oCdLiBUcmVhdCByZXN1bHQgYXMgYSBzZXQuCgoKClVubGlrZSBncm91cHMgb2YgaW5kaXZpZHVh bHMgb3IsIHNvbWV0aW1lcywgbWFzc2VzLCBzZXRzIGRvZXMgbm90IHRha2UgYW55IG9mIHRoZSBw cm9wZXJ0aWVzIGZyb20gdGhlIG9iamVjdHMgZnJvbSB3aGljaCB0aGUgc2V0IGlzIGZvcm1lZC4g QSBzZXQgaXMgYSBwdXJlbHkgbWF0aGVtYXRpY2FsIG9yIGxvZ2ljYWwgY29uc3RydWN0LCBhbmQg aGFzIHByb3BlcnRpZXMgbGlrZSBjYXJkaW5hbGl0eSwgbWVtYmVyc2hpcCBhbmQgc2V0IGluY2x1 c2lvbi4gQWdhaW4sIG5vdGUgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiBhIHNldCBvZiB0aGluZ3Ms IGFuZCB0aGUgdGhpbmdzIG9mIHdoaWNoIHRoZSBzZXQgaXMgZm9ybWVkOgoKX18nJ3Rpcnh1Jydf XyDigJx4MSBpcyBhIHRpZ2VyL2xlb3BhcmQvamFndWFyIG9mIHNwZWNpZXMvYnJlZWQgeDIgd2l0 aCBjb2F0IG1hcmtpbmdzIHgz4oCdCgonJ2xvJ2kgdGlyeHUgY3UgY21hbHUnJyBzYXlzIG5vdGhp bmcgYWJvdXQgd2hldGhlciBiaWcgY2F0cyBhcmUgc21hbGwgKHdoaWNoIGlzLCBieSB0aGUgd2F5 LCBvYnZpb3VzbHkgZmFsc2UpLCBidXQgaW5zdGVhZCBzYXkgdGhhdCB0aGUgc2V0IG9mIGJpZyBj YXRzIGlzIHNtYWxsOyB0aGF0IGlzIC0gdGhlcmUgYXJlIGZldyBvZiB0aGVtLgoKCgpMYXN0bHks IHRoZXJlIGFyZSB0aGUgKG9ubHkgdHdvKSBnZW5lcmFsaXppbmcgJydnYWRyaScnOgoKX18nJ2xv J2UnJ19fIC0gZ2Fkcmk6IHZlcmlkaWNhbCDigJxjb252ZXJ0IHNlbGJyaSB0byBzdW10aeKAnS4g U3VtdGkgcmVmZXJzIHRvIHRoZSBhcmNoZXR5cGUgb2YgJydsbyB7c2VsYnJpfScnLgoKX18nJ2xl J2UnJ19fIC0gZ2Fkcmk6IERlc2NyaXB0aXZlIOKAnGNvbnZlcnQgc2VsYnJpIHRvIHN1bXRp4oCd LiBTdW10aSByZWZlcnMgdG8gdGhlIGRlc2NyaWJlZC9wZXJjZWl2ZWQgYXJjaGV0eXBlIG9mICcn bGUge3NlbGJyaX0nJy4KCk9mIHdoaWNoIHRoZXJlIGlzIG5vICcnbGEnJy1lcXVpdmFsZW50LgoK CgpTbywgd2hhdCBpcyBhY3R1YWxseSBtZWFudCBieSB0aGUgYXJjaGV0eXBlPyBGb3IgJydsbydl IHRpcnh1JycsIGl0IGlzIGFuIGlkZWFsLCBpbWFnaW5lZCBiaWcgY2F0LCB3aGljaCBoYXMgYWxs IHRoZSBwcm9wZXJ0aWVzIHdoaWNoIGJlc3QgZXhlbXBsaWZpZXMgYmlnIGNhdHMuIEl0IHdvdWxk IGJlIHdyb25nIHRvIHNheSB0aGF0IHRoaXMgaW5jbHVkZXMgaGF2aW5nIGEgc3RyaXBlZCBmdXIs IHNpbmNlIGEgYmlnIHN5c3RlbWF0aWMgc3ViZ3JvdXAgb2YgdGhlIG1lbWJlcnMgb2YgdGhlIHNl dCBvZiBiaWcgY2F0cyBkbyBub3QgaGF2ZSBzdHJpcGVkIGZ1ciwgdGhlIGxlb3BhcmRzIGFuZCB0 aGUgamFndWFycy4gTGlrZXdpc2UsIHRoZSB0eXBpY2FsIGh1bWFuIGRvZXMgbm90IGxpdmUgaW4g QXNpYSBldmVuIHRob3VnaCBhIGxvdCBvZiBodW1hbnMgZG8uIEhvd2V2ZXIsIGlmIHN1ZmZpY2ll bnRseSBtYW55IGh1bWFucyBoYXZlIGEgdHJhaXQsIGZvciBpbnN0YW5jZSBiZWluZyBhYmxlIHRv IHNwZWFrLCB3ZSBjYW4gc2F5OgoKX18nJ2tha25lJydfXzog4oCceDEgaXMgY2FwYWJsZSBvZiBk b2luZy9iZWluZyB4MiB1bmRlciBjaXJjdW1zdGFuY2UgeDPigJ0KCicnbG8nZSByZW1uYSBjdSBr YWtuZSBsbyBudSB0YXZsYScnIC0g4oCcVGhlIHR5cGljYWwgaHVtYW4gYmVpbmcgY2FuIHNwZWFr 4oCdLgoKCgonJ2xlJ2UnJyB0aGVuLCBpcyB0aGUgaWRlYWwgb2JqZWN0IGFzIHBlcmNlaXZlZCBv ciBkZXNjcmliZWQgYnkgdGhlIHNwZWFrZXIuIFRoaXMgbmVlZCBub3QgYmUgZmFjdHVhbGx5IGNv cnJlY3QsIGFuZCBpcyBvZnRlbiB0cmFuc2xhdGVkIGFzIHRoZSDigJxzdGVyZW90eXBl4oCdLCBl dmVuIHRob3VnaCB0aGUgRW5nbGlzaCBwaHJhc2UgaGF2ZSBzb21lIHVucGxlYXNhbnQgbmVnYXRp dmUgY29ubm90YXRpb25zLCB3aGljaCB0aGUgTG9qYmFuIGRvZXMgbm90LiBJbiBmYWN0LCBldmVy eW9uZSBoYXMgYSBzdGVyZW90eXBpY2FsIGFyY2hldHlwaWNoYWwgaW1hZ2Ugb2YgYW55IGNhdGVn b3J5LiBJbiBvdGhlciB3b3JkcywgJydsbydlIHJlbW5hJycgaXMgdGhlIGFyY2hldHlwZSB3aGlj aCBiZXN0IGV4ZW1wbGlmaWVzIGFsbCAnJ2xvIHJlbW5hJycsIHdoaWxlIHRoZSBhcmNoZXR5cGUg JydsZSdlIHJlbW5hJycgYmVzdCBleGVtcGxpZmllcyBhbGwgJydsZSByZW1uYScnLgoKCgpUaGUg ZWxldmVuIGdhZHJpIGNhbiBiZSBzZWVuIGluIHRoZSBkaWFncmFtIGJlbG93LgoKfHwgfEdlbmVy aWN8TWFzc2VzfFNldHN8R2VuZXJhbGl6aW5nCgp2ZXJpZGljYWx8bG98bG9pfGxvJ2l8bG8nZQoK RGVzY3JpcHRpdmV8bGV8bGVpfGxlJ2l8bGUnZQoKTmFtZXxsYXxsYWl8bGEnaXxkb2VzIG5vdCBl eGlzdHx8CgoKCk5vdGU6IEVhcmxpZXIsIHRoZXJlIHdhcyBhIHdvcmQgJyd4bydlJycgZm9yIHRo ZSBnZW5lcmljIGdhZHJpLiBIb3dldmVyLCB0aGUgcnVsZXMgYW5kIGRlZmluaXRpb25zIGZvciBn YWRyaSB3ZXJlIGNoYW5nZWQgaW4gbGF0ZSAyMDA0LCBhbmQgdGhlIGN1cnJlbnQgc2V0IG9mIHJ1 bGVzIG9uIHRoaXMgdG9waWMsIG5pY2tlZCDigJx4b3Jsb+KAnSBoYXMgcmVwbGFjZWQgdGhlIG9s ZCB3YXkuIE5vdywgJydsbycnIGlzIGdlbmVyaWMsIGFuZCAnJ3hvJ2UnJyBpcyB1c2VkIGFzIGEg ZWxsaXB0aWNhbCBkaWdpdCAobGVzc29uIG5pbmV0ZWVuKS4KCgoKCgohIUxvamJhbiBMZXNzb25z IC0gTGVzc29uIGZpZnRlZW4gKHRoZSBMb2piYW4gc3VtdGkgMjogS09oQTMsIEtPaEE1IGFuZCBL T2hBNikKClNlZSB3aGF0IGhhcHBlbnMgaWYgSSB0cnkgdG8gdHJhbnNsYXRlIHRoZSBzZW50ZW5j ZTog4oCcU3RlcmVvdHlwaWNhbCBwZW9wbGUgd2hvIGNhbiBzcGVhayBMb2piYW4gc3BlYWsgdG8g ZWFjaCBvdGhlciBhYm91dCB0aGUgbGFuZ3VhZ2VzIHRoZXkgY2FuIHNwZWFr4oCdOgoKX18nJ2Jh bmd1JydfXyDigJx4MSBpcyBhIGxhbmd1YWdlIHVzZWQgYnkgeDIgdG8gZXhwcmVzcyB4MyAoYWJz dHJhY3Rpb24p4oCdCgonJ2xlJ2UgcHJlbnUgcG9pIGtlJ2Ega2FrbmUgbG8gbnUgdGF2bGEgZm8g bGEgLmxvamJhbi4gY3UgdGF2bGEgbGUnZSBwcmVudSBwb2kga2UnYSBrYWtuZSBsbyBudSB0YXZs YSBmbyBsYSAubG9qYmFuLiBsbyBiYW5ndSBwb2kgbG8gcHJlbnUgcG9pIGtlJ2EgdGF2bGEgZm8g bGEgLmxvamJhbi4gY3Ugc2UgYmFuZ3Uga2UnYScnCgoKCldoYXQgd2Ugc2VlIGlzIHRoYXQgdGhl IExvamJhbiB2ZXJzaW9uIGlzIG11Y2ggbG9uZ2VyIHRoYW4gdGhlIEVuZ2xpc2guIFRoaXMgaXMg cHJpbWFyaWx5IGJlY2F1c2UgdGhlIGZpcnN0LCByaWRpY3Vsb3VzbHkgbG9uZyBzdW10aSBpcyBi ZWluZyByZXBlYXRlZCB0d28gbW9yZSB0aW1lcyBpbiB0aGUgTG9qYmFuIHRleHQsIHdoaWxlIHRo ZSBFbmdsaXNoIGNhbiByZWZlciB0byBpdCBieSDigJxlYWNoIG90aGVy4oCdIGFuZCDigJx0aGV5 4oCdIC0gbXVjaCBtb3JlIGVmZmljaWVudGx5LiBXb3VsZG4ndCBpdCBiZSBjbGV2ZXIgaWYgTG9q YmFuIHNvbWVob3cgaGFkIG1lY2hhbmlzbXMgZm9yIGRvaW5nIHRoZSBzYW1lPwoKCgpJdCB0dXJu cyBvdXQgaXQgZG9lcywgd2hhdCBhIHN1cnByaXNlISBMb2piYW4gaGFzIGEgcmFuZ2Ugb2Ygd29y ZHMgY2FsbGVkICcnc3Vta2EnaScnIG1lYW5pbmcg4oCcc3VtdGktcmVwcmVzZW50YXRpdmVz4oCd LiBJbiBFbmdsaXNoLCB3ZSByZWZlciB0byB0aGVtIGFzIHByby1zdW10aSwgYmVjYXVzZSB0aGV5 IGFyZSBlc3NlbnRpYWxseSB0aGUgc2FtZSBhcyB0aGUgRW5nbGlzaCBwcm9ub3VucywgYnV0IHdp dGggc3VtdGkgaW5zdGVhZCBvZiBub3Vucy4gSW4gZmFjdCwgeW91IGFscmVhZHkga25vdyAnJ3Rp JycsICcnZG8nJyBhbmQgJydtaScnLCBidXQgdGhlcmUgYXJlIG1hbnkgbW9yZSwgc28gbGV0J3Mg Z2V0IGxlYXJuaW5nLiBGaXJzdCwgd2Ugd2FudCB0byBwdXQgaXQgaW50byBzeXN0ZW0uIFdlIGNh biBiZWdpbiB3aXRoIHRoZSBvbmVzIG1vc3QgZmFtaWxpYXIgdG8gRW5nbGlzaCwgYW5kIHdoYXQg eW91J3ZlIGFscmVhZHkgbGVhcm5lZDoKCgoKX18nJ3RpJydfXyAtIHN1bWthJ2k6IOKAnGltbWVk aWF0ZSDigJhpdCc6IHJlcHJlc2VudHMgYSBzdW10aSBwaHlzaWNhbGx5IG5lYXIgdGhlIHNwZWFr ZXLigJ0KCl9fJyd0YScnX18gLSBzdW1rYSdpOiDigJxuZWFyYnkg4oCYaXQnOiByZXByZXNlbnRz IGEgc3VtdGkgc29tZSBwaHlzaWNhbCBkaXN0YW5jZSBmcm9tIHRoZSBzcGVha2VyIE9SIGNsb3Nl IHRvIHRoZSBsaXN0ZW5lcuKAnQoKX18nJ3R1JydfXyAtIHN1bWthJ2k6IOKAnGRpc3RhbnQg4oCY aXQnOiByZXByZXNlbnRzIGEgc3VtdGkgcGh5c2ljYWxseSBmYXIgZnJvbSB0aGUgc3BlYWtlciBh bmQgdGhlIGxpc3RlbmVyLuKAnQoKCgpZb3UgY2FuIGFnYWluIHJlY29nbml6ZSB0aGUg4oCcaSwg YSwgdeKAnS1zZXF1ZW5jZSB3aGljaCBwb3BzIHVwIG92ZXIgYW5kIG92ZXIuIFNvbWUgdGhpbmdz IG1pZ2h0IHRha2Ugc29tZSBjbGVhcmluZyB1cCwgdGhvdWdoLiBGaXJzdGx5LCB0aGVzZSBzdW10 aSBjYW4gcmVwcmVzZW50IGFueXRoaW5nIHdoaWNoIGNhbiBiZSBzYWlkIHRvIG9jY3VweSBhIHBo eXNpY2FsIHNwYWNlLiBPYmplY3RzLCBjZXJ0YWlubHkuIElkZWFzLCBjZXJ0YWlubHkgbm90LiBF dmVudHMgYXJlIGFjY2VwdGVkLCBidXQgb25seSB0byB0aGUgZXh0ZW50IHRoZXkgYXJlIHJlc3Ry aWN0ZWQgdG8gYSBzcGVjaWZpYyBwbGFjZSAtIHRoZSBKYXNtaW4gUmV2b2x1dGlvbiBjYW5ub3Qg YmUgcG9pbnRlZCBhdCwgYnV0IHNvbWUgYmFyLWZpZ2h0IG9yIGEga2lzcyBtaWdodC4gU2Vjb25k bHksIG5vdGUgdGhhdCB0aGUgZGlzdGFuY2UgaXMgcmVsYXRpdmUgdG8gZGlmZmVyZW50IHRoaW5n cyBmb3IgdGhlIGRpZmZlcmVudCB3b3JkczogJyd0dScnIG9ubHkgYXBwbGllcyBpZiBpdCdzIGRp c3RhbnQgZnJvbSBib3RoIHRoZSBzcGVha2VyIGFuZCB0aGUgbGlzdGVuZXIuIEluIGNhc2VzIHdo ZXJlIHRoZSBzcGVha2VyIGFuZCBsaXN0ZW5lciBpcyBmYXIgYXBhcnQgYW5kIHRoZSBsaXN0ZW5l ciBjYW5ub3Qgc2VlIHRoZSBzcGVha2VyIHRhbGtpbmcsICcndGEnJyByZWZlcnMgdG8gc29tZXRo aW5nIGNsb3NlIHRvIHRoZSBsaXN0ZW5lci4gVGhpcmRseSwgaXQncyBhbGwgcmVsYXRpdmUgYW5k IGNvbnRleHQgZGVwZW5kZW50LiBUaGVzZSB0aHJlZSB3b3JkcyBhcmUgYWxsIHByb2JsZW1hdGlj IGluIHdyaXR0ZW4gdGV4dCwgZm9yIGluc3RhbmNlLCBiZWNhdXNlIHRoZSBwb3NpdGlvbiBvZiB0 aGUgc3BlYWtlciBhbmQgbGlzdGVuZXIgaXMgdW5rbm93biB0byBlYWNoIG90aGVyLCBhbmQgY2hh bmdlcyBhcyB0aW1lIGdvZXMgYnkuIEZ1cnRoZXJtb3JlLCB0aGUgYXV0aG9yIG9mIGEgYm9vayBj YW5ub3QgcG9pbnQgdG8gYW4gb2JqZWN0IGFuZCBleHByZXNzIHRoZSBwb2ludGluZyBpbiB0aGUg Ym9vay4KCgoKVGhlbiB0aGVyZSBpcyBhIHNlcmllcyBjYWxsZWQgS09oQTMsIHRvIHdoaWNoICcn bWknJyBhbmQgJydkbycnIChhbmQgJydrbycnLCBidXQgSSB3b24ndCB3cml0ZSB0aGF0IGhlcmUp IGJlbG9uZ3M6CgpfXycnbWknJ19fIC0gc3Vta2EnaTogVGhlIHNwZWFrZXIocykuCgpfXycnbWkn bycnX18gLSBzdW1rYSdpOiBUaGUgbWFzcyBvZiB0aGUgc3BlYWtlcihzKSBhbmQgdGhlIGxpc3Rl bmVyKHMpIC4KCl9fJydtaSdhJydfXyAtIHN1bWthJ2k6IFRoZSBtYXNzIG9mIHRoZSBzcGVha2Vy KHMpIGFuZCBvdGhlcnMuCgpfXycnbWEnYScnX18gLSBzdW1rYSdpOiBUaGUgbWFzcyBvZiB0aGUg c3BlYWtlcihzKSwgdGhlIGxpc3RlbmVyKHMpIGFuZCBvdGhlcnMuCgpfXycnZG8nJ19fIC0gc3Vt a2EnaTogVGhlIGxpc3RlbmVyKHMpLgoKX18nJ2RvJ28nJ19fIC0gc3Vta2EnaTogVGhlIG1hc3Mg b2YgdGhlIGxpc3RlbmVyKHMpIGFuZCBvdGhlcnMuCgoKClRoZXNlIHNpeCBzdW1rYSdpIGFyZSBt b3JlIGVhc2lseSBncmFzcGVkIGluIHRoZSBiZWxvdyBWZW5uIGRpYWdyYW06CgoKCntpbWcgZmls ZUlkPSIzIiB0aHVtYj0ieSIgcmVsPSJib3hbZ10ifQoKVmVubiBkaWFncmFtIG9mIEtPaEEzICgn J2tvJycgZXhjbHVkZWQpLiAnJ2xlIGRyYXRhJycgaXMgbm90IGEgS09oQTMsIGJ1dCBtZWFucyDi gJx0aGUgb3RoZXIocynigJ0KCgoKSXQgaXMgcG9zc2libGUgZm9yIHNldmVyYWwgcGVvcGxlIHRv IGJlIOKAnHRoZSBzcGVha2Vyc+KAnSwgaWYgb25lIHN0YXRlbWVudCBpcyBtYWRlIG9uIHRoZSBi ZWhhbGYgb2YgYWxsIG9mIHRoZW0uIFRoZXJlZm9yZSwgd2hpbGUg4oCcd2XigJ0gY2FuIGJlIHRy YW5zbGF0ZWQgYXMgZWl0aGVyICcnbWknJywgJydtaSdvJycsICcnbWknYScnIG9yICcnbWEnYScn LCB3aGF0IG9uZSBxdWl0ZSBvZnRlbiBtZWFucyBpcyByZWFsbHkganVzdCAnJ21pJycuIEFsbCBv ZiB0aGVzZSBzaXgsIGlmIHRoZXkgcmVmZXIgdG8gbW9yZSB0aGFuIG9uZSBpbmRpdmlkdWFsLCBy ZXByZXNlbnQgbWFzc2VzLiBXaXRoaW4gYnJpZGktbG9naWMsIHRoZSBicmlkaSAnJ21pIGdsZWtp Jycgc2FpZCBieSBzcGVha2VyIEEgaXMgZXhhY3RseSBlcXVpdmFsZW50IHRvICcnZG8gZ2xla2kn JyBzYWlkIGJ5IHNwZWFrZXIgQiB0byBzcGVha2VyIEEsIGFuZCBhcmUgY29uc2lkZXJlZCB0aGUg c2FtZSBicmlkaS4gV2Ugd2lsbCBjb21lIGJhY2sgdG8gdGhpcyBsYXRlciwgaW4gdGhlICcnYnJp a2EnaScnIChwcm8tYnJpZGkpIGxlc3Nvbi4KCgoKQWxsIG9mIHRoZXNlICcnc3Vta2EnaScnIGFy ZSB2ZXJ5IGNvbnRlbnQtc3BlY2lmaWMsIGFuZCBjYW5ub3QgYmUgdXNlZCwgZm9yIGluc3RhbmNl LCB0byBoZWxwIHVzIHdpdGggdGhlIHNlbnRlbmNlIHdoaWNoIHRoaXMgbGVzc29uIGJlZ2FuIHdp dGguIFRoZSBmb2xsb3dpbmcgc2VyaWVzIGNhbiBpbiBwcmluY2lwbGUgYmUgdXNlZCB0byByZWZl ciB0byBhbnkgc3VtdGk6CgpfXycncmknJ19fIC0gc3Vta2EnaTog4oCcTGFzdCBzdW10aSBtZW50 aW9uZWTigJ0KCl9fJydyYScnX18gLSBzdW1rYSdpOiDigJxBIHJlY2VudCwgYnV0IG5vdCB0aGUg bGFzdCBzdW10aSBtZW50aW9uZWTigJ0KCl9fJydydScnX18gLSBzdW1rYSdpOiDigJxBIHN1bXRp IG1lbnRpb25lZCBsb25nIGFnb+KAnQoKCgpUaGVzZSBzdW10aSB3aWxsIHJlZmVyIHRvIGFueSB0 ZXJtaW5hdGVkIHN1bXRpIGV4Y2VwdCBtb3N0IG90aGVyICcnc3Vta2EnaScnLiBUaGUgcmVhc29u IHRoYXQgbW9zdCBvdGhlciAnJ3N1bWthJ2knJyBjYW5ub3QgYmUgcmVmZXJyZWQgdG8gYnkgdGhl c2Ugc3VtdGksIGlzIHRoYXQgdGhleSBhcmUgc28gZWFzeSB0byBqdXN0IHJlcGVhdCBieSB0aGVt c2VsdmVzLiBUaGUgZXhjZXB0aW9uIHRvIHRoZSBydWxlIGFyZSAnJ3RpJycsICcndGEnJyBhbmQg Jyd0dScnLCBiZWNhdXNlIHlvdSBjb3VsZCBoYXZlIGNoYW5nZWQgd2hhdCB5b3UgcG9pbnQgYXQs IGFuZCB0aHVzIGNhbm5vdCBqdXN0IHJlcGVhdCB0aGUgd29yZC4gVGhleSB3aWxsIG9ubHkgcmVm ZXIgdG8gdGVybWluYXRlZCBzdW10aSwgYW5kIHRodXMgY2Fubm90LCBmb3IgaW5zdGFuY2UsIGJl IHVzZWQgdG8gcmVmZXIgdG8gYW4gYWJzdHJhY3Rpb24gaWYgdGhlIHdvcmQgaW4gaXMgdGhhdCBh YnN0cmFjdGlvbjogJydsZSBwZW5kbyBub2kga2UnYSBwZW5kbyBtaSBjdSBkamljYSBsbyBudSBy aSBzZSB6ZGFuaScnIC0gaGVyZSAnJ3JpJycgY2Fubm90IHJlZmVyIHRvIHRoZSBhYnN0cmF0aW9u LCBzaW5jZSBpdCBpcyBub3QgdGVybWluYXRlZCwgbm9yIHRvICcnbWknJyBvciAnJ2tlJ2EnJywg c2luY2UgdGhleSBhcmUgc3Vta2EnaSwgc28gaXQgcmVmZXJzIHRvICcnbGUgcGVuZG8nJy4KCicn cmEnJyBhbmQgJydydScnIGFyZSBjb250ZXh0LWRlcGVuZGVudCBpbiB3aGF0IHRoZXkgcmVmZXIg dG8sIGJ1dCB0aGV5IGZvbGxvdyB0aGUgcnVsZXMgbWVudGlvbmVkIGFib3ZlLCBhbmQgJydydScn IGFsd2F5cyByZWZlciB0byBhIG1vcmUgZGlzdGFudCBzdW10aSB0aGFuICcncmEnJywgd2hpY2gg aXMgYWx3YXlzIG1vcmUgZGlzdGFudCB0aGFuICcncmknJy4KCgoKJydyaScnIGFuZCBpdCdzIGJy b3RoZXJzIGFyZSBwcmV0dHkgd2VsbCBzdWl0ZWQgZm9yIGRlYWxpbmcgd2l0aCB0aGUgb3JpZ2lu YWwgc2VudGVuY2UuIFRyeSBzYXlpbmcgaXQgdXNpbmcgdHdvIGluc3RhbmNlcyBvZiAnJ3N1bWth J2knJyEKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ2xlJ2UgcHJlbnUgcG9pIGtlJ2Ega2FrbmUg bG8gbnUgdGF2bGEgZm8gbGEgLmxvamJhbi4gY3UgdGF2bGEgcnUgbG8gYmFuZ3UgcG9pIHJ1IGN1 IHNlIGJhbmd1IGtlJ2EnJy4gJydyaScnIGlzIG5vdCBjb3JyZWN0LCBiZWNhdXNlIGl0IHJlZmVy cyB0byAnJ2xhIC5sb2piYW4uJycuICcncmEnJyBjb3VsZCBiZSB1c2VkLCBidXQgY291bGQgYmUg bWlzdGFrZW5seSBiZSB0aG91Z2h0IHRvIHJlZmVyIHRvICcnbG8gbnUgdGF2bGEgZm8gbGEgLmxv amJhbi4nJywgYnV0ICcncnUnJyBpcyBhc3N1bWVkIHRvIHJlZmVyIHRvIHRoZSBtb3N0IGRpc3Rh bnQgc3VtdGkgLSB0aGUgbW9zdCBvdXRlciBvbmUufn4KCgoKTGFzdGx5LCB0aGVyZSBhIHN1bXRj aXRhIHdoaWNoIHJlcHJlc2VudCB1dHRlcmFuY2VzOiBTbyBjYWxsZWQgdXR0ZXJhbmNlIHZhcmlh Ymxlcy4gVGhleSBuZWVkIG5vdCBiZSByZXN0cmljdGVkIHRvIG9uZSBzZW50ZW5jZSAoanVmcmEp LCBidXQgY2FuIGJlIHNldmVyYWwgc2VudGVuY2VzLCBpZiB0aGUgY29udGV4dCBhbGxvd3MgaXQ6 CgpfXycnZGEndScnX18gVXR0ZXJhbmNlIHZhcmlhYmxlOiBSZW1vdGUgcGFzdCBzZW50ZW5jZQoK X18nJ2RlJ3UnJ19fIFV0dGVyYW5jZSB2YXJpYWJsZTogUmVjZW50IHNlbnRlbmNlCgpfXycnZGkn dScnX18gVXR0ZXJhbmNlIHZhcmlhYmxlOiBQcmV2aW91cyBzZW50ZW5jZQoKX18nJ2RlaScnX18g VXR0ZXJhbmNlIHZhcmlhYmxlOiBUaGlzIHNlbnRlbmNlCgpfXycnZGknZScnX18gVXR0ZXJhbmNl IHZhcmlhYmxlOiBOZXh0IHNlbnRlbmNlCgpfXycnZGUnZScnX18gVXR0ZXJhbmNlIHZhcmlhYmxl OiBOZWFyIGZ1dHVyZSBzZW50ZW5jZQoKX18nJ2RhJ2UnJ19fIFV0dGVyYW5jZSB2YXJpYWJsZTog UmVtb3RlIGZ1dHVyZSBzZW50ZW5jZQoKX18nJ2RvJ2knJ19fIFV0dGVyYW5jZSB2YXJpYWJsZTog RWxsaXB0aWNhbCB1dHRlcmFuY2UgdmFyaWFibGU6IOKAnFNvbWUgc2VudGVuY2XigJ0KClRoZXNl IHJlcHJlc2VudHMgc2VudGVuY2VzIGFzIHN1bXRpLCBhbmQgcmVmZXIgb25seSB0byB0aGUgc3Bv a2VuIHdvcmRzIG9yIHRoZSBsZXR0ZXJzLCBub3QgdG8gdGhlIG1lYW5pbmcgYmVoaW5kIHRoZW0u CgoKClRoZXJlIGFyZSBtb3JlIExvamJhbiAnJ3N1bWthJ2knJywgYnV0IGZvciBub3cgeW91IHBy b2JhYmx5IG5lZWQgYSBicmVhayBmcm9tIHRoZW0uIFRoZSBuZXh0IGxlc3NvbiB3aWxsIGJlIG9u IGRlcml2ZWQgc3VtdGksIHN1bXRpIG1hZGUgZnJvbSBvdGhlciBzdW10aS4KCgoKCgohIUxvamJh biBMZXNzb25zIC0gTGVzc29uIHNpeHRlZW4gKHRoZSBMb2piYW4gc3VtdGkgMzogZGVyaXZlZCBz dW10aSkKCllvdSBjYW4gcHJvYmFibHkgc2VlIHRoYXQgdGhlIHN1bXRpICcnbGUgYmFuZ3UgcG9p IG1pIHNlIGJhbmd1IGtlJ2EnJyBpcyBhIGxlc3MgdGhhbiBlbGVnYW50IGV4cHJlc3Npb24gZm9y IOKAnG15IGxhbmd1YWdl4oCdLiBUaGlzIGlzIGJlY2F1c2UgaXQncyByZWFsbHkgYSB3b3JrIGFy b3VuZC4gQSBsYW5ndWFnZSB3aGljaCBJIHNwZWFrIGNhbiBiZSBzYWlkIHRvIGZpbGwgaW50byB0 aGUgeDEgb2YgdGhlIGJyaWRpICcnYmFuZ3UgbWknJy4gV2UgY2FuJ3QgY29udmVydCB0aGF0IHRv IGEgc3VtdGkgdXNpbmcgYSBnYWRyaTogJydsZSBiYW5ndSB7a3V9IG1pJycgaXMgdHdvIHN1bXRp LCBiZWNhdXNlICcnYmFuZ3UgbWknJyBpcyBhIGJyaWRpLCBub3QgYSBzZWxicmkuIE5laXRoZXIg Y2FuIHdlIGNvbnZlcnQgaXQgdXNpbmcgJydsZSBzdSd1JycsIGJlY2F1c2UgdGhlIHN1J3UgZ2l2 ZXMgdGhlIGJyaWRpIGEgbmV3IHgxLCB0aGUgYWJzdHJhY3Rpb24sIGFuZCB0aGUgJydsZScnIHRo ZW4gZXh0cmFjdHMgdGhhdC4gVGhhdCBtYWtlcyBhbiBhYnN0cmFjdGlvbiBzdW10aSBtZWFuaW5n IHNvbWV0aGluZyBsaWtlIOKAnHRoYXQgc29tZXRoaW5nIGlzIG15IGxhbmd1YWdl4oCdLgoKRW50 ZXIgJydiZScnLiAnJ2JlJycgaXMgYSB3b3JkIHdoaWNoIGJpbmRzIGNvbnN0cnVjdHMgKHN1bXRp LCBzdW10Y2l0YSBhbmQgb3RoZXJzKSB0byBhIHNlbGJyaS4gVXNpbmcgaXQgaW4gb3JkaW5hcnkg c2VsYnJpIGhhcyBubyBlZmZlY3Q6IGluICcnbWkgbmVsY2kgYmUgZG8nJywgdGhlICcnYmUnJyBk b2VzIG5vdGhpbmcuIEhvd2V2ZXIsIHdoZW4gYSBzdW10aSBpcyBib3VuZCB0byBhIHNlbGJyaSB0 aGlzIHdheSwgeW91IGNhbiB1c2UgYSBnYWRyaSBvbiB0aGUgc2VsYnJpIHdpdGhvdXQgdGhlIHN1 bXRpIHNwbGl0dGluZyBvZmY6ICcnbGUgYmFuZ3UgYmUgbWknJyBpcyBhIGNvcnJlY3Qgc29sdXRp b24gdG8gdGhlIHByb2JsZW0gYWJvdmUuIExpa2V3aXNlLCB5b3UgY2FuIGF0dGFjaCBhIHN1bXRj aXRhOiAnJ2xlIG51IGRhcnhpIGtlaSBiZSBnYXUgZG8nJzog4oCcVGhlIGV2ZW50IG9mIGhpdHRp bmcsIHdoaWNoIGlzIGNhdXNlZCBieSB5b3XigJ0uIE5vdGUgdGhhdCB0aGUgcHJlc2VuY2Ugb3Ig YWJzZW5jZSBvZiAnJ2tlaScnIG1ha2VzIGl0IHBhcnNlIGRpZmZlcmVudGx5OiBXaXRoIHRoZSBm YSdvcm1hJ28gcHJlc2VudCwgJydiZScnIGF0dGFjaGVzIHRvICcnbnUnJywgd2l0aG91dCB0aGUg ZmEnb3JtYSdvLCBpdCBhdHRhY2hlcyB0byAnJ2RhcnhpJycuIFNvIGl0IGRlY2lkZXMgd2hhdCBp cyBiZWluZyBlbXBoYXNpc2VkOiBJcyB0aGUgaGl0dGluZywgb3IgdGhlIGV2ZW50IG9mIGhpdHRp bmcgY2F1c2VkIGJ5IHlvdT8gSW4gdGhpcyBzcGVjaWZpYyBjYXNlLCB0aG91Z2gsIHRoYXQncyBq dXN0IGFib3V0IHRoZSBzYW1lIHRoaW5nLgoKCgpXaGF0IGlmIEkgd2FudCB0byBhdHRhY2ggc2V2 ZXJhbCBzdW10aSB0byBhIHNlbGJyaSBpbnNpZGUgYSBnYWRyaT8g4oCcVGhlIGdpdmVyIG9mIHRo ZSBhcHBsZSB0byB5b3XigJ0gaXMgJydsZSBkdW5kYSBiZSBsbyBwbGlzZSBiZSBkbycnLCByaWdo dD8gTm9wZS4gVGhlIHNlY29uZCAnJ2JlJycgYXR0YWNoZXMgdG8gdGhlIGFwcGxlLCBtZWFuaW5n ICcnbGUgcGxpc2UgYmUgZG8nJyAtIOKAnFRoZSBhcHBsZSBvZiB0aGUgc3RyYWluIG9mIHlvdeKA nSwgd2hpY2ggbWFrZXMgbm8gc2Vuc2UuIEluIG9yZGVyIHRvIHN0cmluZyBzZXZlcmFsIHN1bXRp IHRvIGEgc2VsYnJpLCB0aGUgYWxsIHRoZSBvbmVzIGZvbGxvd2luZyB0aGUgZmlyc3QgbXVzdCBi ZSBib3VuZCB3aXRoICcnYmVpJycuIFRoZSDigJxiaW5kaW5n4oCdIGNhbiBiZSB0ZXJtaW5hdGVk IHdpdGggJydiZSdvJycgLSBvbmUgaW5zdGFuY2Ugb2YgJydiZSdvJycgZm9yIGVhY2ggc2VsYnJp IHdoaWNoIGhhcyBzdW10aSBib3VuZCBieSAnJ2JlJycuCgpUbyBsaXN0IHRoZW06CgpfXycnYmUn J19fIGJpbmRzIHN1bXRpIG9yIHN1bXRjaXRhIHRvIHNlbGJyaQoKX18nJ2JlaScnX18gYmluZHMg YSBzZWNvbmQsIHRoaXJkLCBmb3VydGggKGVjdCkgc3VtdGkgb3Igc3VtdGNpdGEgdG8gYSBzZWxi cmkKCl9fJydiZSdvJydfXyBlbmRzIGJpbmRpbmcgdG8gc2VsYnJpCgoKClRoZXJlIGlzIGFsc28g d2F5cyB0byBsb29zZWx5IGFzc29jaWF0ZSBhIHN1bXRpIHdpdGggYW5vdGhlci4gJydwZScnIGFu ZCAnJ25lJycgZm9yIHJlc3RyaWN0aXZlIGFuZCBub24tcmVzdHJpY3RpdmUgYXNzb2NpYXRpb24u IEFjdHVhbGx5LCAnJ2xlIGJhbmd1IHBlIG1pJycgaXMgYSBiZXR0ZXIgdHJhbnNsYXRpb24gb2Yg 4oCcbXkgbGFuZ3VhZ2XigJ0sIHNpbmNlIHRoaXMgcGhyYXNlLCBsaWtlIHRoZSBFbmdsaXNoLCBp cyB2YWd1ZSBhcyB0byBob3cgdGhlIHR3byBhcmUgYXNzb2NpYXRlZCB3aXRoIGVhY2ggb3RoZXIu CgonJ3BlJycgYW5kICcnbmUnJyBhcmUgdXNlZCBhcyBsb29zZSBhc3NvY2lhdGlvbiBvbmx5LCBs aWtlIHNheWluZyDigJxteSBjaGFpcuKAnSBhYm91dCBhIGNoYWlyIHdoaWNoIHlvdSBzaXQgb24u IEl0J3Mgbm90IHJlYWxseSB5b3VycywgYnV0IGhhcyBzb21ldGhpbmcgZG8gdG8gd2l0aCB5b3Uu IEEgbW9yZSBpbnRpbWF0ZSBjb25uZWN0aW9uIGNhbiBiZSBlc3RhYmxpc2hlZCB3aXRoICcncG8n Jywgd2hpY2ggbWFrZXMgdGhlIGFzc29jaWF0aW9uIHVuaXF1ZSBhbmQgYmluZGluZyB0byBhIHBl cnNvbiwgYXMgaW4g4oCcbXkgY2Fy4oCdIGZvciBhIGNhciB0aGF0IHlvdSBhY3R1YWxseSBvd24u IFRoZSBsYXN0IGtpbmQgb2YgYXNzb2NpYXRvciBpcyAnJ3BvJ2UnJywgd2hpY2ggbWFrZXMgYSBz by1jYWxsZWQgImluYWxpZW5hYmxlIiBib25kIGJldHdlZW4gc3VtdGksIG1lYW5pbmcgdGhhdCB0 aGUgYm9uZCBpcyBpbm5hdGUgYmV0d2VlbiB0aGUgdHdvIHN1bXRpLiBTb21lIGV4YW1wbGVzIGNv dWxkIGJlICJteSBtb3RoZXIiLCAibXkgYXJtIiBvciAibXkgaG9tZSBjb3VudHJ5Ijsgbm9uZSBv ZiB0aGVzZSAicG9zc2VzaW9ucyIgY2FuIGJlIGxvc3QgKGV2ZW4gaWYgeW91IHNhdyBvZmYgeW91 ciBhcm0sIGl0J3Mgc3RpbGwgX195b3VyX18gYXJtKSwgYW5kIGFyZSB0aGVyZWZvcmUgaW5hbGll bmFibGUuIEFsbW9zdCBhbGwgb2YgdGhlIHRpbWVzIGEgJydwbydlJycgaXMgYXBwcm9wcmlhdGUs IHRob3VnaCwgdGhlIHgyIG9mIHRoZSBzZWxicmkgY29udGFpbnMgdGhlIG9uZSB0byB3aGljaCB0 aGUgeDEgaXMgY29ubmVjdGVkLCBzbyAnJ2JlJycgaXMgYmV0dGVyLgoKX18nJ25lJydfXyBub24t cmVzdHJpY3RpdmUgcmVsYXRpdmUgcGhyYXNlLiAid2hpY2ggaXMgYXNzb2NpYXRlZCB3aXRoLi4u IgoKX18nJ3BlJydfXyByZXN0cmljdGl2ZSByZWxhdGl2ZSBwaHJhc2UuICJ3aGljaCBpcyBhc3Nv Y2lhdGVkIHdpdGguLi4iCgpfXycncG8nJ19fIHBvc3Nlc2l2ZSByZWxhdGl2ZSBwaHJhc2UuICJ3 aGljaCBpcyBzcGVjaWZpYyB0by4uLiIKCl9fJydwbydlJydfXyBpbmFsaWVuYWJsZSByZWxhdGl2 ZSBwaHJhc2UuICJ3aGljaCBiZWxvbmdzIHRvLi4uIgoKCgpBIHZlcnkgdXNlZnVsIGNvbnN0cnVj dCB0byBrbm93IGlzICcne2dhZHJpfSB7c3VtdGl9IHtzZWxicml9JycuIHRoaXMgaXMgZXF1aXZh bGVudCB0byAnJ3tnYWRyaX0ge3NlbGJyaX0gcGUgIHtzdW10aX0nJy4gRm9yIGluc3RhbmNlICcn bGUgbWkgZ2Vya3UnJyBpcyBlcXVpdmFsZW50IHRvICcnbGUgZ2Vya3UgcGUgbWknJy4gT25lIGNv dWxkIGhhdmUgZGVzY3JpcHRpb24gc3VtdGkgaW5zaWRlIGRlc2NyaXB0aW9uIHN1bXRpLCBzYXlp bmcgJydsZSBsZSBzZSBjaW5qaWtjYSBiZSBtaSBrdSBnZXJrdScnLCA9ICcnbGUgZ2Vya3UgcGUg bGUgc2UgY2luamlrY2EgYmUgbWknJyA94oCcdGhlIGRvZyBvZiB0aGUgbWFuIEknbSBmbGlydGlu ZyB3aXRo4oCdLCBidXQgdGhhdCdzIG5vdCB2ZXJ5IGVhc3kgdG8gcmVhZCAob3IgdG8gdW5kZXJz dGFuZCB3aGVuIHNwb2tlbiksIGFuZCBpcyBvZnRlbiBiZWluZyBhdm9pZGVkLgoKCgpPbmUgbmVl ZCBhbHNvIHRvIGxlYXJuICcndHUnYScnLCBzaW5jZSBpdCB3aWxsIG1ha2UgYSBsb3Qgb2Ygc2Vu dGVuY2VzIG11Y2ggZWFzaWVyLiBJdCB0YWtlcyBhIHN1bXRpIGFuZCBjb252ZXJ0cyBpdCB0byBh bm90aGVyIHN1bXRpIC0gYW4gZWxsaXB0aWNhbCBhYnN0cmFjdGlvbiB3aGljaCBoYXMgc29tZXRo aW5nIHRvIGRvIHdpdGggdGhlIGZpcnN0IHN1bXRpLiBGb3IgZXhhbXBsZSwgSSBjb3VsZCBzYXkg JydtaSBkamljYSBsbyBudSBtaSBjaXRrYSBsbyBwbGlzZScnLCBvciBJIGNvdWxkIGxldCBpdCBi ZSB1cCB0byBjb250ZXh0IHdoYXQgYWJzdHJhY3Rpb24gYWJvdXQgdGhlIGFwcGxlIEkgZGVzaXJl IGFuZCBqdXN0IHNheSAnJ21pIGRqaWNhIHR1J2EgbG8gcGxpc2UnJy4gT25lIGFsd2F5cyBoYXMg dG8gZ3Vlc3Mgd2hhdCBhYnN0cmFjdGlvbiB0aGUgc3BlYWtlciBtZWFucyBieSAnJ3R1J2EgU1VN VEknJywgc28gaXQgc2hvdWxkIG9ubHkgYmUgdXNlZCB3aGVuIGNvbnRleHQgbWFrZXMgaXQgZWFz eSB0byBndWVzcy4gQW5vdGhlciBleGFtcGxlOgoKX18nJ2dhc251JydfXyDigJx4MSBkb2VzL2Jy aW5ncyBhYm91dCB4MiAodm9saXRpb24gbm90IGltcGxpZWQp4oCdCgonJ3phJ2EgZG8gZ2FzbnUg dHUnYSBsbyBza2FtaScnIC0g4oCcSSBzZWUgdGhhdCB5b3UgbWFrZSB0aGUgY29tcHV0ZXIgZG8g c29tZXRoaW5n4oCdLiBPZmZpY2lhbGx5LCAnJ3R1J2EgU1VNVEknJyBpcyBlcXVpdmFsZW50IHRv ICcnbGUgc3UndSBTVU1USSBjbydlJycuIFZhZ3VlLCBidXQgdXNlZnVsLiBUaGVyZSBhcmUgc2l0 dWF0aW9ucyB3aGVyZSB5b3UgY2Fubm90IHVzZSAnJ3R1J2EnJywgZXZlbiB0aG91Z2ggaXQgd291 bGQgc2VlbSBzdWl0YWJsZS4gVGhlc2Ugc2l0dWF0aW9ucyBhcmUgd2hlbiBJIGRvbid0IHdhbnQg dGhlIHJlc3VsdGluZyBzdW10aSB0byBiZSBhbiBhYnN0cmFjdGlvbiwgYnV0IGEgY29uY3JldGUg c3VtdGkuIEluIHRoaXMgY2FzZSwgb25lIGNhbiB1c2UgJyd6bydlIHBlJycuCgpfXycndHUnYScn X18gY29udmVydCBzdW10aSB0byB2YWd1ZSBhYnN0cmFjdGlvbiBpbnZvbHZpbmcgdGhlIHN1bXRp LiBFcXVpdmFsZW50IHRvICcnbGUgc3UndSBTVU1USSBjbydlIGtlaSBrdScnCgoKCkZpbmFsbHks IG9uZSBraW5kIG9mIHN1bXRpIGNhbiBiZSB0dXJuZWQgaW50byBhbm90aGVyIGJ5IHRoZSB3b3Jk cyBvZiB0aGUgY2xhc3MgTEFoRS4KCl9fJydsdSdhJydfXyAtIENvbnZlcnQgaW5kaXZpZHVhbChz KS9tYXNzL3NlcXVlbmNlL3NldCB0byBpbmRpdmlkdWFscy4KCl9fJydsdSdpJydfXyAtIENvbnZl cnQgaW5kaXZpZHVhbChzKS9tYXNzL3NlcXVlbmNlL3NldCB0byBhIHNldC4KCl9fJydsdSdvJydf XyAtIENvbnZlcnQgaW5kaXZpZHVhbChzKS9tYXNzL3NlcXVlbmNlL3NldCB0byBtYXNzLgoKX18n J3Z1J2knJ19fIC0gQ29udmVydCBpbmRpdmlkdWFsKHMpL21hc3Mvc2VxdWVuY2Uvc2V0IHRvIHNl cXVlbmNlOyB0aGUgb3JkZXIgaXMgbm90IHN0YXRlZC4KClRoZSB1c2Ugb2YgdGhlc2Ugd29yZHMg aXMgc3RyYWlnaHQtZm9yd2FyZGx5OiBQbGFjaW5nIHRoZW0gYmVmb3JlIGEgc3VtdGkgb2YgYSBj ZXJ0YWluIHR5cGUgbWFrZXMgYSBuZXcgc3VtdGkgb2YgYSBuZXcgdHlwZS4gTm90aWNlLCB0aG91 Z2gsIHRoYXQgYXMgYSBmb3VydGgga2luZCBvZiBzdW10aSwgYSBzZXF1ZW5jZSBoYXMgYmVlbiBp bnRyb2R1Y2VkLiBUaGlzIGlzIG5vdCB1c2VkIHZlcnkgb2Z0ZW4gKGl0IGRvZXNuJ3QgaGF2ZSBp dHMgb3duIGdhZHJpLCBmb3IgaW5zdGFuY2UpLCBidXQganVzdCBpbmNsdWRlZCBoZXJlIGZvciBj b21wbGV0aW9uLgoKVGhlIGxhc3QgdHdvIG1lbWJlcnMgb2YgTEFoRSBkbyBub3QgY29udmVydCBi ZXR3ZWVuIHR5cGVzIG9mIHN1bXRpLCBidXQgYWxsb3dzIHlvdSB0byBzcGVhayBvZiBhIGEgc3Vt dGkgYnkgb25seSBtZW50aW9uaW5nIHNvbWV0aGluZyB3aGljaCByZWZlcmVuY2VzIHRvIGl0OgoK SWYgb25lIHN1bXRpIEEgcmVmZXJzIHRvIGEgc3VtdGkgQiwgZm9yIGluc3RhbmNlIGJlY2F1c2Ug c3VtdGkgQSBpcyBhIHRpdGxlIG9mIGEgYm9vaywgb3IgYSBuYW1lLCBvciBhIHNlbnRlbmNlICh3 aGljaCBhbHdheXMgcmVmZXIgdG8gc29tZXRoaW5nLCBhdCBsZWFzdCBhIGJyaWRpKSwg4oCYJ2xh J2UgU1VNVEkgQScnIHJlZmVycyB0byBzdW10aSBCLiBGb3IgaW5zdGFuY2UsIOKAmCdtaSBuZWxj aSBsYSdlIGRpJ3UnJyBmb3Ig4oCcSSBsaWtlIHdoYXQgeW91IGp1c3Qgc2FpZOKAnSAobm90ICcn bWkgbmVsY2kgZGkndScnIHdoaWNoIGp1c3QgbWVhbnMgIkkgbGlrZSB5b3VyIHByZXZpb3VzIHNl bnRlbmNlIikgb3Ig4oCYJ2xhJ2UgbGUgY21hbHUgbm9sdHJ1JycgZm9yIHRoZSBib29rIOKAnFRo ZSBMaXR0bGUgUHJpbmNl4oCdLCBhbmQgbm90IHNvbWUgbGl0dGxlIHByaW5jZSBoaW1zZWxmLiBU aGUgY21hdm8g4oCYJ2x1J2UnJyBkb2VzIHRoZSBleGFjdCByZXZlcnNlIOKAkyDigJgnbHUnZSBT VU1USScnIHJlZmVycyB0byBhbiBvYmplY3Qgd2hpY2ggcmVmZXJzIHRvIHRoZSBzdW10aS4gCgpf XycnbGEnZScnX18gLSDigJx0aGUgdGhpbmcgcmVmZXJyZWQgdG8gYnnigJ0gLSBleHRyYWN0cyBh IHN1bXRpIEEgZnJvbSBhIHN1bXRpIEIgd2hpY2ggcmVmZXJzIHRvIEEuIAoKX18nJ2x1J2UnJ19f IC0g4oCcdGhlIHRoaW5nIHJlZmVycmluZyB0b+KAnSAtIGV4dHJhY3RzIGEgc3VtdGkgQiBmcm9t IGEgc3VtdGkgQSwgd2hlbiBCIHJlZmVycyB0byBBLgoKCgoKCiEhIUVuZCBvZiBwYXJ0IG9uZQoK RHVlIHRvIHRoZSBpbXByYWN0aWNhbGx5IGxhcmdlIHNpemUgb2YgdGhlc2UgbGVzc29ucywgdGhl IHNlY29uZCBhbmQgdGhpcmQgaW5zdGFsbG1lbnQgY2FuIGJlIGZvdW5kIG9uIHBhZ2VzIGRlZGlj YXRlZCB0byAoKHdhdmVsZXNzb25zY29udGludWVkcDJ8dGhlIGZvcm1lcikpIGFuZCAoKHdhdmVs ZXNzb25zY29udGludWVkcDN8dGhlIGxhdHRlcikpLiBObyB3b3JyaWVzLCB0aG91Z2gsIGNsaWNr aW5nIG9uICJ0aGUgZm9ybWVyIiBvciAidGhlIGxhdHRlciIgd2lsbCB0YWtlIHlvdSB0aGVyZSBw YWlubGVzc2x5LgoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCldpa2ljaGFuZ2VzIG1haWxpbmcgbGlzdApXaWtpY2hhbmdlc0Bsb2piYW4ub3JnCmh0dHA6 Ly9tYWlsLmxvamJhbi5vcmcvbWFpbG1hbi9saXN0aW5mby93aWtpY2hhbmdlcwo=