Received: from localhost ([::1]:41004 helo=stodi.digitalkingdom.org) by stodi.digitalkingdom.org with esmtp (Exim 4.76) (envelope-from ) id 1V6KCX-0007vt-Am; Mon, 05 Aug 2013 05:47:53 -0700 Received: from 173-13-139-235-sfba.hfc.comcastbusiness.net ([173.13.139.235]:43182 helo=digitalkingdom.org) by stodi.digitalkingdom.org with smtp (Exim 4.76) (envelope-from ) id 1V6KCN-0007vl-O4 for wikineurotic@lojban.org; Mon, 05 Aug 2013 05:47:51 -0700 Received: by digitalkingdom.org (sSMTP sendmail emulation); Mon, 5 Aug 2013 05:47:43 -0700 From: "Apache" Date: Mon, 5 Aug 2013 05:47:43 -0700 To: wikineurotic@lojban.org X-PHP-Originating-Script: 48:htmlMimeMail.php MIME-Version: 1.0 Message-ID: X-Spam-Score: 2.0 (++) X-Spam_score: 2.0 X-Spam_score_int: 20 X-Spam_bar: ++ X-Spam-Report: Spam detection software, running on the system "stodi.digitalkingdom.org", has identified this incoming email as possible spam. The original message has been attached to this so you can view it (if it isn't spam) or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: The page wavelessonscontinued was changed by mitlik at 07:46 CDT Comment: Making Lesson 9 examples follow with change 84 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 URIBL_BLOCKED ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [URIs: wikipedia.org] 0.0 RCVD_IN_DNSWL_BLOCKED RBL: ADMINISTRATOR NOTICE: The query to DNSWL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [173.13.139.235 listed in list.dnswl.org] 1.6 RCVD_IN_BRBL_LASTEXT RBL: RCVD_IN_BRBL_LASTEXT [173.13.139.235 listed in bb.barracudacentral.org] 0.4 RDNS_DYNAMIC Delivered to internal network by host with dynamic-looking rDNS Subject: [Wikineurotic] Wiki page wavelessonscontinued changed by mitlik X-BeenThere: wikineurotic@lojban.org X-Mailman-Version: 2.1.14 Precedence: list Reply-To: webmaster@lojban.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: wikineurotic-bounces@lojban.org VGhlIHBhZ2Ugd2F2ZWxlc3NvbnNjb250aW51ZWQgd2FzIGNoYW5nZWQgYnkgbWl0bGlrIGF0IDA3 OjQ2IENEVApDb21tZW50OiBNYWtpbmcgTGVzc29uIDkgZXhhbXBsZXMgZm9sbG93IHdpdGggY2hh bmdlIDg0CgpZb3UgY2FuIHZpZXcgdGhlIHBhZ2UgYnkgZm9sbG93aW5nIHRoaXMgbGluazoKIApo dHRwOi8vd3d3LmxvamJhbi5vcmcvdGlraS93YXZlbGVzc29uc2NvbnRpbnVlZAoKWW91IGNhbiB2 aWV3IGEgZGlmZiBiYWNrIHRvIHRoZSBwcmV2aW91cyB2ZXJzaW9uIGJ5IGZvbGxvd2luZyB0aGlz IGxpbms6IApodHRwOi8vd3d3LmxvamJhbi5vcmcvdGlraS90aWtpLXBhZ2VoaXN0b3J5LnBocD9w YWdlPXdhdmVsZXNzb25zY29udGludWVkJmNvbXBhcmU9MSZvbGR2ZXI9ODUmbmV3dmVyPTg2CgoK KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioKVGhlIGNoYW5nZXMgaW4gdGhpcyB2ZXJzaW9uIGZvbGxvdyBiZWxvdywgZm9sbG93ZWQgYWZ0 ZXIgYnkgdGhlIGN1cnJlbnQgZnVsbCBwYWdlIHRleHQuCioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCgoKKy0rLSstKy0rLSstKy0rLSst Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSsKQEAgLUxpbmVzOiA2MTkt NjIzIGNoYW5nZWQgdG8gK0xpbmVzOiA2MTktNjIzIEBACistKy0rLSstKy0rLSstKy0rLSstKy0r LSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rCgpBY3R1YWxseSwgJydmaSdvJycg aXMgbm90IHVzZWQgdmVyeSBvZnRlbiBkZXNwaXRlIGl0cyBmbGV4aWJpbGl0eS4gV2hhdCBJUyB1 c2VkIHZlcnkgb2Z0ZW4sIHRob3VnaCwgYXJlIEJBSS4gQkFJIGlzIGEgY2xhc3Mgb2YgTG9qYmFu IHdvcmRzLCB3aGljaCBpbiB0aGVtc2VsdmVzIGFjdCBhcyAnJ3N1bXRjaXRhJycuIEFuIGV4YW1w bGUgb2YgdGhpcyBpcyAnJ3p1J2UnJywgdGhlIEJBSSBmb3IgJyd6dWt0ZScnLiBHcmFtYXRpY2Fs bHksICcnenUnZScnIGlzIHRoZSBzYW1lIGFzICcnZmknbyB6dWt0ZSBmZSd1JycuIFRodXMsIHRo ZSBhYm92ZSBleGFtcGxlIGNvdWxkIGJlIHJlZHVjZWQgdG86Ci0gJyd6dSdlIGt1IGxvIHNrYW1p IHtrdX0gY3UgcGlsbm8gbG8gbG9qYm8ge2t1fSB7dmF1fScnLiBUaGVyZSBleGlzdCBzb21ldGhp bmcgbGlrZSA2MCBCQUksIGFuZCBhIGxvdCBvZiB0aGVzZSBhcmUgdmVyeSB1c2VmdWwgaW5kZWVk LiBGdXJ0ZXJtb3JlLCBCQUkgY2FuIGFsc28gYmUgY29udmVydGVkIHdpdGggJydzZScnIGFuZCBm cmllbmRzLCBtZWFuaW5nIHRoYXQgJydzZSB6dSdlJycgaXMgZXF1YWwgdG8gJydmaSdvIHNlIHp1 a3RlIGZlJ3UnJywgd2hpY2ggcmVzdWx0cyBpbiBhIGdyZWF0IGRlYWwgbW9yZSBCQUkuCisgJyd6 dSdlIGt1IGxvIHByZW51IHtrdX0gY3Uga2xhbWEgbG8gemFyY2kge2t1fXt2YXV9JycuIFRoZXJl IGV4aXN0IHNvbWV0aGluZyBsaWtlIDYwIEJBSSwgYW5kIGEgbG90IG9mIHRoZXNlIGFyZSB2ZXJ5 IHVzZWZ1bCBpbmRlZWQuIEZ1cnRlcm1vcmUsIEJBSSBjYW4gYWxzbyBiZSBjb252ZXJ0ZWQgd2l0 aCAnJ3NlJycgYW5kIGZyaWVuZHMsIG1lYW5pbmcgdGhhdCAnJ3NlIHp1J2UnJyBpcyBlcXVhbCB0 byAnJ2ZpJ28gc2UgenVrdGUgZmUndScnLCB3aGljaCByZXN1bHRzIGluIGEgZ3JlYXQgZGVhbCBt b3JlIEJBSS4KISFMb2piYW4gTGVzc29ucyAtIExlc3NvbiB0ZW4gKFBVLCBGQWhBLCBaSSwgVkEs IFpFaEEsIFZFaEEpCkhvdyB1bmZhbWlsaWFyIHRvIHRoZSBFbmdsaXNoLXNwZWFrZXIgYSBsYW5n dWFnZSBMb2piYW4gaXMgd2hlbiBvbmUgY2FuIHJlYWQgdGhyb3VnaCBuaW5lIGxlc3NvbnMgb2Yg TG9qYmFuIGdyYW1tYXIgd2l0aG91dCBtZWV0aW5nIGEgdGVuc2Ugb25jZS4gVGhpcyBpcyBiZWNh dXNlLCB1bmxpa2UgbWFueSBuYXR1cmFsIGxhbmd1YWdlcyAobW9zdCBJbmRvLUV1cm9wZWFuIG9u ZXMsIGZvciBpbnN0YW5jZSksIGFsbCB0ZW5zZXMgaW4gTG9qYmFuIGFyZSBvcHRpb25hbC4gU2F5 aW5nICcnbWkgY2l0a2EgbG8gY2lybGEge2t1fScnIGNhbiBtZWFuIOKAnEkgZWF0IGNoZWVzZeKA nSBvciDigJxJIGF0ZSB0aGUgY2hlZXNl4oCdIG9yIOKAnEkgYWx3YXlzIGVhdCBjaGVlc2XigJ0g b3Ig4oCcSW4gYSBtb21lbnQsIGkgd2lsbCBoYXZlIGp1c3QgZmluaXNoZWQgZWF0aW5nIGNoZWVz ZeKAnS4gQ29udGV4dCByZXNvbHZlcyB3aGF0IGlzIGNvcnJlY3QsIGFuZCBpbiBtb3N0IGNvbnZl cnNhdGlvbiwgdGVuc2VzIGFyZSBub3QgbmVlZGVkIGF0IGFsbC4gSG93ZXZlciwgd2hlbiBpdCdz IG5lZWRlZCBpdCdzIG5lZWRlZCwgYW5kIGl0IG11c3QgYmUgdGF1Z2h0LiBGdXJ0aGVybW9yZSwg TG9qYmFuIHRlbnNlcyBhcmUgdW51c3VhbCBiZWNhdXNlIHRoZXkgdHJlYXQgdGltZSBhbmQgc3Bh Y2UgZnVuZGFtZW50YWxseSB0aGUgc2FtZSAtIHNheWluZyB0aGF0IEkgd29ya2VkIGEgbG9uZyB0 aW1lIGFnbyBpcyBub3QgZ3JhbW1hdGljYWxseSBkaWZmZXJlbnQgdGhhbiBzYXlpbmcgSSB3b3Jr IGZhciBhd2F5IHRvIHRoZSBub3J0aC4KCgoKCioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqClRoZSBuZXcgcGFnZSBjb250ZW50IGZvbGxv d3MgYmVsb3cuCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqCgohTG9qYmFuIFdhdmUgTGVzc29ucyBDb250aW51ZWQ6CgohISFNYWRlIGJ5 IGxhIGtsYWt1IHdpdGggaGVscCBmcm9tIHZhcmlvdXMgbG9qYmFuaXN0cy4gQmFzZWQgb24gdGhl IHdvcmsgb2YgbGEgLmtyaWJhY3IuIFNwcmluZyAyMDEzLgoKCgohIUxvamJhbiBMZXNzb25zIOKA kyBsZXNzb24gemVybzogRm9yZXdvcmQKClRoZXNlIGxlc3NvbnMgYXJlIGFuIGF0dGVtcHQgdG8g ZXhwYW5kIG9uIHRoZSBHb29nbGUgV2F2ZSBMZXNzb25zLCBhbiBleGNlbGxlbnQgTG9qYmFuIHR1 dG9yaWFsIGJ5IGtyaWJhY3IsIHhhbGJvLCBhbmQgb3RoZXJzLCBvcmlnaW5hbGx5IHRyYW5zY3Jp YmVkLCBjb2xsYXRlZCwgYW5kIHJlc2N1ZWQgZnJvbSBvYmxpdmlvbiBieSBNYXJlbnosIHdoaWNo IHNhZGx5IG9ubHkgY292ZXJlZCB0aGUgZmlyc3QgZm91ciBjaGFwdGVycyBpbiB0aGlzIHR1dG9y aWFsLiBJdCBpbXBsZW1lbnRzIHRoZSBuZXdlc3QgcnVsZXMgb2YgTG9qYmFuIG5vdCBjb3ZlcmVk IGJ5IG9sZGVyIG1hdGVyaWFscyBzdWNoIGFzIFdoYXQgaXMgTG9qYmFuPyBhbmQgTG9qYmFuIGZv ciBCZWdpbm5lcnMuCgoKCklmIHlvdSBhcmUgbmV3IHRvIExvamJhbiwgSSByZWNvbW1lbmQgbGlz dGVuaW5nIHRvIGFueSByZWNvcmRpbmdzIHlvdSBjYW4gZmluZCBvZiBzcG9rZW4gTG9qYmFuIGJv dGggYmVmb3JlIGFuZCB3aGlsZSB5b3UgYXJlIHRha2luZyB0aGlzIHR1dG9yaWFsLCBpbiBvcmRl ciB0byBtYWtlIHlvdXJzZWxmIGZhbWlsaWFyIHdpdGggdGhlIHNvdW5kcyBhbmQgd29yZHMgb2Yg dGhlIGxhbmd1YWdlfnRjfiwgd2hpY2ggd2lsbCBub3QgYmUgZXhwbGFpbmVkIGhlcmV+L3Rjfi4g RnVydGhlcm1vcmUsIHRyeSB0byBzYXkgdGhlIHRoaW5ncyB5b3UgcmVhZCBpbiBMb2piYW4gYWNj ZW50IGlmIGl0J3MgcmVhc29uYWJseSBwcmFjdGljYWwuIFRoaXMgY2FuIGhlbHAgeW91ciBwcm9u dW5jaWF0aW9uIGEgbG90LgoKCgpXaGVuIHRha2luZyB0aGlzIHR1dG9yaWFsLCBpdCdzIGJlc3Qg dG8gcGF1c2UgYmV0d2VlbiBsZXNzb25zIGluIG9yZGVyIHRvIGludGVybmFsaXplIHdoYXQgeW91 IGhhdmUgbGVhcm50LiBJIGhhdmUgYXR0ZW1wdGVkIHRvIGJ1aWxkIHRoZXNlIGxlc3NvbnMgZnJv bSB0aGUgYm90dG9tIHVwIGFuZCBleGNsdWRlIGFueSB3b3JkcyBvciBjb25jZXB0cyB0aGF0IGhh dmUgbm90IGJlZW4gZXhwbGFpbmVkIGluIHByZXZpb3VzIGxlc3NvbnMuIE9uY2UgZXhwbGFpbmVk LCB0aGV5IGFyZSB1c2VkIGZyZWVseSB0aHJvdWdob3V0IHRoZSByZW1haW5kZXIgb2YgdGhlIHR1 dG9yaWFsLiBJIHVyZ2UgcmVhZGVycyBub3QgdG8gcGFzcyBhbnkgbWlzdW5kZXJzdG9vZCBjb250 ZW50OyBpZiB5b3UgaGF2ZSBxdWVzdGlvbnMgb3IgYXJlIHVuY2VydGFpbiBhYm91dCBzb21ldGhp bmcsIGZlZWwgZnJlZSB0byBhc2sgdGhlIExvamJhbiBjb21tdW5pdHksIHdoaWNoIGNhbiBiZSBm b3VuZCBpbiAjbG9qYmFuIG9uIHRoZSBGcmVlbm9kZSBJUkMgbmV0d29yay4gVGhleSB3aWxsIGJl IGhhcHB5IHRvIGhlbHAuCgoKCkluIHRoaXMgdHV0b3JpYWwsIExvamJhbiB0ZXh0IGlzIHdyaXR0 ZW4gaW4gJydpdGFsaWNzJycuIExhdGVyLCB3aGVuIHVzZWQgYXMgTG9qYmFuIGxvYW53b3JkcyBp biBFbmdsaXNoIHNlbnRlbmNlcywgdGhleSBhcmUgbm90IG1hcmtlZC4gQW5zd2VycyB0byBleGVy Y2lzZXMgYXJlIGRpc3BsYXllZCBhcyBhIGdyZXkgYmFyLiBIaWdobGlnaHQgdGhlIHRleHQgaW4g b3JkZXIgdG8gc2VlIGl0LgoKCgpMYXN0bHksIEkgaGF2ZSBhcyBmYXIgYXMgcG9zc2libGUgYXR0 ZW1wdGVkIHRvIHVzZSB0aGUgTG9qYmFuIHdvcmRzIGZvciBncmFtbWF0aWNhbCBjb25zdHJ1Y3Rz OiAnJ3N1bWthJ2knJyBpbnN0ZWFkIG9mIHByby1zdW10aSwgJydzdW10Y2l0YScnIGluc3RlYWQg b2YgbW9kYWwgYW5kICcnanVmcmEnJyBpbnN0ZWFkIG9mIHV0dGVyYW5jZS4gVGhpcyBpcyBiZWNh dXNlIEkgZmVlbCB0aGUgRW5nbGlzaCB3b3JkcyBhcmUgb2Z0ZW4gZWl0aGVyIGFyYml0cmFyeSwg aW4gd2hpY2ggY2FzZSB0aGV5IGFyZSBqdXN0IG1vcmUgd29yZHMgdG8gbGVhcm4sIG9yIG1pc2xl YWRpbmcsIGluIHdoaWNoIGNhc2UgdGhleSBhcmUgd29yc2UgdGhhbiB1c2VsZXNzLiBJbiBlaXRo ZXIgY2FzZSwgYXMgbG9uZyBhcyB0aGUgd29yZHMgYXJlIHNwZWNpZmljIHRvIHRob3NlIHdobyBh cmUgbGVhcm5pbmcgTG9qYmFuIGFueXdheSwgdGhlcmUgaXMgbm8gcmVhc29uIGZvciB0aGVtIHRv IGV4aXN0IGFzIHNlcGFyYXRlIEVuZ2xpc2ggd29yZHMuCgoKCiEhIVByZWZhY2UuIFNvdW5kcwoK VGhlIGZpcnN0IHRoaW5nIHlvdSBuZWVkIHRvIGRvIHdoZW4geW91IGxlYXJuIGEgZm9yZWlnbiBs YW5ndWFnZSBpcyB0byBiZWNvbWUgZmFtaWxpYXIgd2l0aCB0aGUgc291bmRzIG9mIHRoZSBsYW5n dWFnZSBhbmQgaG93IHRoZXkgYXJlIHdyaXR0ZW4sIGFuZCB0aGUgc2FtZSBnb2VzIGZvciBMb2pi YW4uIEZvcnR1bmF0ZWx5LCBMb2piYW4gc291bmRzIChfX3Bob25lbWVzX18pIGFyZSBmYWlybHkg c3RyYWlnaHRmb3J3YXJkLgoKCgpGb3IgbW9yZSBkZXRhaWxzIG9uIHZvd2VscyBhbmQgY29uc29u YW50cyBzb3VuZHMgdXNlZCBpbiBsb2piYW4sIHlvdSBjYW4gY2xpY2sgb24gdGhlIGxldHRlcnMg ZGVzY3JpYmVkLiBUaGV5IGFyZSBwb2ludGluZyB0byB3aWtpcGVkaWEgYXJ0aWNsZXMgd2hpY2gg ZGVzY3JpYmUgdGhlIHNvdW5kICcnYW5kIHVzdWFsbHkgaGF2ZSBhbiBhdWRpbyByZWNvcmQgb2Yg aXQnJy4KCgoKISEhIVZvd2VscwoKVGhlcmUgYXJlIHNpeCB2b3dlbHMgaW4gTG9qYmFuLgoKCgp8 fCcnW2h0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvT3Blbl9mcm9udF91bnJvdW5kZWRfdm93 ZWx8YV0nJyB8YXMgaW4gImZfX2FfX3RoZXIiIChub3QgYXMgaW4gImhfX2FfX3QiKQoKJydbaHR0 cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9DbG9zZS1taWRfZnJvbnRfdW5yb3VuZGVkX3Zvd2Vs fGVdJycgfGFzIGluICJnX19lX190IgoKJydbaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9D bG9zZV9mcm9udF91bnJvdW5kZWRfdm93ZWx8aV0nJyB8YXMgaW4gIm1hY2hfX2lfX25lIiBvciAo SXRhbGlhbikgInZfX2lfX25vIiAobm90IGFzIGluICJoX19pX190IikKCicnW2h0dHA6Ly9lbi53 aWtpcGVkaWEub3JnL3dpa2kvQ2xvc2UtbWlkX2JhY2tfcm91bmRlZF92b3dlbHxvXScnIHxhcyBp biAiYl9fb19fbGQiIG9yICJtX19vX19yZSIg4oCUIG5vdCBhcyBpbiAic19fb19fIiAodGhpcyBz aG91bGQgYmUgYSAncHVyZScgc291bmQuKQoKJydbaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lr aS9DbG9zZV9iYWNrX3JvdW5kZWRfdm93ZWx8dV0nJyB8YXMgaW4gImNfX29vX19sIiAobm90IGFz IGluICJiX191X190IikgfHwKClRoZXNlIGFyZSBwcmV0dHkgbXVjaCB0aGUgc2FtZSBhcyB2b3dl bHMgaW4gSXRhbGlhbiBvciBTcGFuaXNoLiBUaGUgc2l4dGggdm93ZWwsICcnW2h0dHA6Ly9lbi53 aWtpcGVkaWEub3JnL3dpa2kvU2Nod2F8eV0nJywgaXMgY2FsbGVkIGEgX19zY2h3YV9fIGluIHRo ZSBsYW5ndWFnZSB0cmFkZSwgYW5kIGlzIHByb25vdW5jZWQgbGlrZSB0aGUgZmlyc3QgYW5kIGxh c3QgIkEiJ3MgaW4gIkFtZXJpY2EiICh0aGF0J3MgRW5nbGlzaCAiQW1lcmljYSIsIG5vdCBTcGFu aXNoLikgSXQncyB0aGUgc291bmQgdGhhdCBjb21lcyBvdXQgd2hlbiB0aGUgbW91dGggaXMgY29t cGxldGVseSByZWxheGVkLgoKVHdvIHZvd2VscyB0b2dldGhlciBhcmUgcHJvbm91bmNlZCBhcyBv bmUgc291bmQgKF9fZGlwaHRob25nX18pLiBTb21lIGV4YW1wbGVzIGFyZToKCgoKfHwnJ2FpJycg fGFzIGluICJoX19pZ2hfXyIKCicnYXUnJyB8YXMgaW4gImhfX293X18iCgonJ2VpJycgfGFzIGlu ICJoX19leV9fIgoKJydvaScnIHxhcyBpbiAiYl9fb3lfXyIKCicnaWEnJyB8bGlrZSBHZXJtYW4g X18iSmFfXyIKCicnaWUnJyB8bGlrZSBfXyJ5ZWFoX18iCgonJ2l1JycgfGxpa2UgX18ieW91X18i CgonJ3VhJycgfGFzIGluIF9fIndhYWghX18iLCBvciBGcmVuY2ggInFfX3VvaV9fIgoKJyd1ZScn IHxhcyBpbiAicV9fdWVfX3N0aW9uIgoKJyd1bycnIHxhcyBpbiAicV9fdW9fX3RlIgoKJyd1aScn IHxsaWtlIF9fIndlX18iLCBvciBGcmVuY2ggX18ib3VpX18iIHx8CgpEb3VibGUgdm93ZWxzIGFy ZSByYXJlLiBUaGUgb25seSBleGFtcGxlcyBhcmUgJydpaScnLCB3aGljaCBpcyBwcm9ub3VuY2Vk IGxpa2UgRW5nbGlzaCAieWUiIChhcyBpbiDigJxPaCBjb21lIGFsbCB5ZSBmYWl0aGZ1bOKAnSkg b3IgQ2hpbmVzZSAieWkiLCBhbmQgJyd1dScnLCBwcm9ub3VuY2VkIGxpa2UgIndvbyIuCgohISEh Q29uc29uYW50cwoKTW9zdCBMb2piYW4gY29uc29uYW50cyBhcmUgdGhlIHNhbWUgYXMgRW5nbGlz aCwgYnV0IHRoZXJlIGFyZSBzb21lIGV4Y2VwdGlvbnM6CgoKCnx8W2h0dHA6Ly9lbi53aWtpcGVk aWEub3JnL3dpa2kvVm9pY2VkX3ZlbGFyX3Bsb3NpdmV8Z10gfGFsd2F5cyAnJ2cnJyBhcyBpbiAn J19fZ19fdW0nJywgbmV2ZXIgJydnJycgYXMgaW4gJydfX2dfX2VtJycKCltodHRwczovL2VuLndp a2lwZWRpYS5vcmcvd2lraS9Wb2ljZWxlc3NfcGFsYXRvLWFsdmVvbGFyX3NpYmlsYW50fGNdIHwn J3NoJycsIGFzIGluICcnX19zaF9faXAnJwoKW2h0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kv Vm9pY2VkX3BhbGF0by1hbHZlb2xhcl9zaWJpbGFudHxqXSB8YXMgaW4gJydtZWFfX3NfX3VyZScn IG9yIEZyZW5jaCAnJ2Jvbl9fal9fb3VyJycKCltodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lr aS9Wb2ljZWxlc3NfdmVsYXJfZnJpY2F0aXZlfHhdIHxhcyBpbiBHZXJtYW4gJydCYV9fY2gnJ19f LCBTcGFuaXNoICcnX19KX19vc2UnJyBvciBBcmFiaWMgJydfX0toX19hbGVkJycgfHwKClRoZSBF bmdsaXNoIHNvdW5kcyAnJ2NoJycgYW5kICcnaicnIGFyZSB3cml0dGVuIGFzIHRjIGFuZCBkai4K CkxvamJhbiBkb2Vzbid0IHVzZSB0aGUgbGV0dGVycyAnJ0gnJywgJydRJycgb3IgJydXJycuCgoK CkZvciBjb21wcmVoZW5zaXZlbmVzcyBzYWtlLCBoZXJlIGlzIGEgbGlzdCBvZiB0aGUgcmVtYWlu aW5nIChhbmQgbGVzcyB0cmlja3kpIGxvamJhbiBjb25zb25hbnRzOgoKJydbaHR0cDovL2VuLndp a2lwZWRpYS5vcmcvd2lraS9Wb2ljZWRfYmlsYWJpYWxfcGxvc2l2ZXxiXScnLCAnJ1todHRwOi8v ZW4ud2lraXBlZGlhLm9yZy93aWtpL1ZvaWNlZF9hbHZlb2xhcl9wbG9zaXZlfGRdJycsICcnW2h0 dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvVm9pY2VsZXNzX2xhYmlvZGVudGFsX2ZyaWNhdGl2 ZXxmXScnLCAnJ1todHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1ZvaWNlbGVzc192ZWxhcl9w bG9zaXZlfGtdJycsICcnW2h0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvQWx2ZW9sYXJfbGF0 ZXJhbF9hcHByb3hpbWFudHxsXScnLCAnJ1todHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0Jp bGFiaWFsX25hc2FsfG1dJycsICcnW2h0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvQWx2ZW9s YXJfbmFzYWx8bl0nJywgJydbaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9Wb2ljZWxlc3Nf YmlsYWJpYWxfcGxvc2l2ZXxwXScnLCAnJ1todHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0Fs dmVvbGFyX3RhcHxyXScnLCAnJ1todHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1ZvaWNlbGVz c19hbHZlb2xhcl9zaWJpbGFudCNWb2ljZWxlc3NfYWx2ZW9sYXJfc2liaWxhbnR8c10nJywgJydb aHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvVm9pY2VsZXNzX2FsdmVvbGFyX3Bsb3NpdmV8 dF0nJywgJydbaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvVm9pY2VkX2xhYmlvZGVudGFs X2ZyaWNhdGl2ZXx2XScnLCAnJ1todHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1ZvaWNlZF9h bHZlb2xhcl9zaWJpbGFudCNWb2ljZWRfYWx2ZW9sYXJfc2liaWxhbnR8el0nJwoKCgohISEhU3Bl Y2lhbCBDaGFyYWN0ZXJzCgpMb2piYW4gZG9lcyBub3QgcmVxdWlyZSBhbnkgcHVuY3R1YXRpb24s IGJ1dCBzb21lIHNwZWNpYWwgY2hhcmFjdGVycyAobm9ybWFsbHkgdXNlZCBpbiBwdW5jdHVhdGlv biBpbiBvdGhlciBsYW5ndWFnZXMpIGFmZmVjdCB0aGUgd2F5IExvamJhbiBpcyBwcm9ub3VuY2Vk LgoKVGhlIG9ubHkgb25lIG9mIHRoZXNlIGNoYXJhY3RlcnMgd2hpY2ggaXMgb2JsaWdhdG9yeSBp biBMb2piYW4gaXMgdGhlIFtodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1ZvaWNlbGVzc19n bG90dGFsX2ZyaWNhdGl2ZXxhcG9zdHJvcGhlXTsgaW4gZmFjdCB0aGUgYXBvc3Ryb3BoZSBpcyBy ZWdhcmRlZCBhcyBhIHByb3BlciBsZXR0ZXIgb2YgTG9qYmFuLiBBbiBhcG9zdHJvcGhlIHNlcGFy YXRlcyB0d28gdm93ZWxzLCBwcmV2ZW50aW5nIHRoZW0gZnJvbSBiZWluZyBwcm9ub3VuY2VkIHRv Z2V0aGVyIChhcyBhIF9fZGlwaHRob25nX18pOyBpdCBpcyBpdHNlbGYgcHJvbm91bmNlZCBsaWtl IGFuICJoIi4gRm9yIGV4YW1wbGUsICcndWknJyBpcyBub3JtYWxseSBwcm9ub3VuY2VkICJ3ZSIs IGJ1dCAnJ3UnaScnIGlzICJvb2hlZSInLgoKQSBmdWxsIHN0b3AgKHBlcmlvZCkgaXMgYSBzaG9y dCBwYXVzZSB0byBzdG9wIHdvcmRzIHJ1bm5pbmcgaW50byBlYWNoIG90aGVyLiBUaGUgcnVsZXMg b2YgTG9qYmFuIG1ha2UgaXQgZWFzaWVyIGZvciBvbmUgd29yZCB0byBydW4gaW50byBhbm90aGVy IHdoZW4gdGhlIHNlY29uZCB3b3JkIGJlZ2lucyB3aXRoIGEgdm93ZWw7IHNvIGFueSB3b3JkIHN0 YXJ0aW5nIHdpdGggYSB2b3dlbCBjb252ZW50aW9uYWxseSBoYXMgYSBmdWxsIHN0b3AgcGxhY2Vk IGluIGZyb250IG9mIGl0LgoKQ29tbWFzIGFyZSByYXJlIGluIExvamJhbiwgYnV0IGNhbiBiZSB1 c2VkIHRvIHN0b3AgdHdvIHZvd2VscyBibHVycmluZyB0b2dldGhlciB3aGVuIHlvdSBkb24ndCB3 YW50IHRvIHVzZSBhbiBhcG9zdHJvcGhlICh3aGljaCB3b3VsZCBwdXQgYSAnJ2gnJyBiZXR3ZWVu IHRoZW0pLiBObyBMb2piYW4gd29yZHMgaGF2ZSBjb21tYXMsIGJ1dCB0aGV5J3JlIHNvbWV0aW1l cyB1c2VkIGluIHdyaXRpbmcgbm9uLUxvamJhbiBuYW1lcywgZm9yIGV4YW1wbGUgJycucGksRVIu JycgKCJQaWVycmUiKSwgYXMgb3Bwb3NlZCB0byAnJy5waWVyLicnICgiUC15ZXJyIiksICcnLnBp LkVSLicnICgiUGVlOyBFaHIiKSwgb3IgJycucGknRVIuJycgKCJQaWhlcnIiKS4KCkNhcGl0YWwg bGV0dGVycyBhcmUgbm90IG5vcm1hbGx5IHVzZWQgaW4gTG9qYmFuLiBXZSB1c2UgdGhlbSBpbiBu b24tTG9qYmFuIHdvcmRzIChsaWtlICJQaWVycmUiKSB3aGVuIHRoZSBzdHJlc3Mgb2YgYSB3b3Jk IGlzIGRpZmZlcmVudCBmcm9tIHRoZSBMb2piYW4gbm9ybS4gVGhlIG5vcm0gaXMgdG8gcHV0IHRo ZSBzdHJlc3Mgb24gdGhlIGxhc3QtYnV0LW9uZSBzeWxsYWJsZTsgc28sIGZvciBleGFtcGxlLCAn J2t1am1pa2NlJycgIm51cnNlIiBpcyAnJ2t1al9fTUlLX19jZScnLCBub3QgJydfX0tVSl9fbWlr Y2UnJy4gVGhlIG5hbWUgIkp1bGlldHRlIiB3b3VsZCBiZSB3cml0dGVuICcnLkRKVWxpLGV0Licn IGlmIHByb25vdW5jZWQgaW4gYW4gRW5nbGlzaCB3YXksIGJ1dCAnJy5qdUxJRVQuJycgaWYgcHJv bm91bmNlZCBhcyBpbiBGcmVuY2guCgohISEhQWxwaGFiZXQKCkluIG1vc3QgbGFuZ3VhZ2UgdGV4 dGJvb2tzLCB5b3UgZ2V0IHRoZSBhbHBoYWJldCBvZiB0aGUgbGFuZ3VhZ2UgdG9nZXRoZXIgd2l0 aCBpdHMgc291bmRzLiBMZXR0ZXJzICgnJ2xlcmZ1JycpIHR1cm4gb3V0IHRvIGJlIGV2ZW4gbW9y ZSBpbXBvcnRhbnQgdGhhbiB1c3VhbCBpbiBMb2piYW4sIHNvIHdlIG1pZ2h0IGFzIHdlbGwgZ28g dGhyb3VnaCB0aGVpciBuYW1lcyBxdWlja2x5LgoKQ29uc29uYW50cyBhcmUgc3RyYWlnaHRmb3J3 YXJkOiB0aGUgbmFtZSBvZiBhIGNvbnNvbmFudCBsZXR0ZXIgaXMgdGhhdCBsZXR0ZXIsIHBsdXMg eS4gU28gdGhlIGNvbnNvbmFudCBsZXR0ZXJzIG9mIExvamJhbiwgImIsIGMsIGQsIGYsIGcgLi4u IiwgYXJlIGNhbGxlZCAnJ2J5LiwgY3kuLCBkeS4sIGZ5LiwgZ3kuJycgLi4uIGluIExvamJhbiAo dXNpbmcgdGhlIGZ1bGwgc3RvcCBhcyB3ZSd2ZSBqdXN0IGRlc2NyaWJlZC4pCgpWb3dlbHMgX193 b3VsZF9fIGJlIGNhbGxlZCAnJy5heSwgLmV5LCAuaXknJywgYnV0IHRoYXQgd291bGQgYmUgcmF0 aGVyIGRpZmZpY3VsdCB0byBwcm9ub3VuY2UuIEluc3RlYWQsIHRoZXkgYXJlIGhhbmRsZWQgYnkg Zm9sbG93aW5nIHRoZSB2b3dlbCBzb3VuZCB3aXRoIHRoZSB3b3JkICcnYnUnJywgd2hpY2ggYmFz aWNhbGx5IG1lYW5zICdsZXR0ZXInLiBTbyB0aGUgdm93ZWxzIG9mIExvamJhbiBhcmU6ICcnLmFi dSwgLmVidSwgLmlidSwgLm9idSwgLnVidSwgeWJ1LicnCgpUaGUgYXBvc3Ryb3BoZSBpcyByZWdh cmRlZCBhcyBhIHByb3BlciBsZXR0ZXIgaW4gTG9qYmFuLCBhbmQgaXMgY2FsbGVkICcnLnkneS4n JyAuIFRvIHNvbWUgcGVvcGxlLCB0aGlzIHNvdW5kcyBsaWtlIGEgY291Z2g7IHRvIG90aGVyLCBs aWtlICJ1aC1odWgiICh3aGVuIGl0IG1lYW5zICdZZXMnIHJhdGhlciB0aGFuICdObycuKQoKTG9q YmFuIGhhcyB3YXlzIG9mIHJlZmVyaW5nIHRvIG1vc3QgbGV0dGVycyB5b3UgY2FuIHRoaW5rIG9m LiBJZiB5b3UgaGF2ZSB0aGUgdXJnZSB0byBzcGVsbCBvdXQgeW91ciBuYW1lIGluIExvamJhbiBh bmQgaGF2ZSBhbiAiSCIsICJRIiwgb3IgIlciIHRvIGRlYWwgd2l0aCwgeW91IGNhbiB1c2UgJycu eSd5LmJ1LCBreS5idScnIGFuZCAnJ3Z5LmJ1JycuIFNvICJTY2h3YXJ6ZW5lZ2dlciIgaXMgc3Bl bHQgaW4gTG9qYmFuIGFzOgoKJydzeS4gY3kuIC55J3lidSB2eWJ1LiAuYWJ1IHJ5LiB6eS4gLmVi dSBueS4gLmVidSBneS4gZ3kuIC5lYnUgcnkuJycKCkFuZCBzcGVsbGluZyAidGhhdCIgaXMgYSB0 YXNrIHRoZSBlcXVhbCBvZiBhbnl0aGluZyB0aGUgVGVybWluYXRvciBldmVyIGRpZCEKCgoKTm93 IHNwZWxsIHlvdXIgbmFtZSBpbiBMb2piYW4gKG9yIGF0IGxlYXN0IHNvbWV0aGluZyBjbG9zZSBl bm91Z2ggdG8gaXQgdG8gdXNlIHRoZSB0d2VudHktc2l4IGxldHRlcnMgb2YgRW5nbGlzaCB3ZSBo YXZlIGxlYXJuZWQsIGFuZCB0aGUgYXBvc3Ryb3BoZSkuCgoKCiEhISEgJ0NvcnJlY3QnIHByb251 bmNpYXRpb24KCllvdSBkb24ndCBoYXZlIHRvIGJlIHZlcnkgcHJlY2lzZSBhYm91dCBMb2piYW4g cHJvbnVuY2lhdGlvbiwgYmVjYXVzZSB0aGUgcGhvbmVtZXMgYXJlIGRpc3RyaWJ1dGVkIHNvIHRo YXQgaXQgaXMgaGFyZCB0byBtaXN0YWtlIG9uZSBzb3VuZCBmb3IgYW5vdGhlci4gVGhpcyBtZWFu cyB0aGF0IHJhdGhlciB0aGFuIG9uZSAnY29ycmVjdCcgcHJvbnVuY2lhdGlvbiwgdGhlcmUgaXMg YSByYW5nZSBvZiBhY2NlcHRhYmxlIHByb251bmNpYXRpb27igJR0aGUgZ2VuZXJhbCBwcmluY2lw bGUgaXMgdGhhdCBhbnl0aGluZyBpcyBPSyBzbyBsb25nIGFzIGl0IGRvZXNuJ3Qgc291bmQgdG9v IG11Y2ggbGlrZSBzb21ldGhpbmcgZWxzZS4gRm9yIGV4YW1wbGUsIExvamJhbiByIGNhbiBiZSBw cm9ub3VuY2VkIGxpa2UgdGhlICJyIiBpbiBFbmdsaXNoLCBTY290dGlzaCBvciBGcmVuY2guCgpU d28gdGhpbmdzIHRvIGJlIGNhcmVmdWwgb2YsIHRob3VnaCwgYXJlIHByb25vdW5jaW5nIExvamJh biAnJ2knJyBhbmQgJyd1JycgbGlrZSBTdGFuZGFyZCBCcml0aXNoIEVuZ2xpc2ggImhpdCIgYW5k ICJidXQiIChOb3J0aGVybiBFbmdsaXNoICJidXQiIGlzIGZpbmUhKS4gVGhpcyBpcyBiZWNhdXNl IG5vbi1Mb2piYW4gdm93ZWxzLCBwYXJ0aWN1bGFybHkgdGhlc2UgdHdvLCBhcmUgdXNlZCB0byBz ZXBhcmF0ZSBjb25zb25hbnRzIGJ5IHBlb3BsZSB3aG8gZmluZCB0aGVtIGhhcmQgdG8gc2F5LiBG b3IgZXhhbXBsZSwgaWYgeW91IGhhdmUgcHJvYmxlbXMgc3BpdHRpbmcgb3V0IHRoZSAnJ3pkJycg aW4gJyd6ZGFuaScnIChob3VzZSksIHlvdSBjYW4gc2F5IHrJqmRhbmnigJR3aGVyZSB0aGUgIsmq IiBpcyB2ZXJ5IHNob3J0LCBidXQgdGhlIGZpbmFsICJpIiBoYXMgdG8gYmUgbG9uZy4KCiEhISFM b2piYW4gTmFtZXMgKGNtZXZsYSkKCldhdGNoIGFueSBmaWxtIHdoZXJlIHBlb3BsZSBkb24ndCBr bm93IGVhY2ggb3RoZXIncyBsYW5ndWFnZS4gVGhleSBzdGFydCBvZmYgc2F5aW5nIHRoaW5ncyBs aWtlIOKAnE1lIFRhcnphbizigJ0gd2hpY2ggaXMgYXMgZ29vZCBhIHBsYWNlIHRvIHN0YXJ0IGxl YXJuaW5nIExvamJhbiBhcyBhbnkuIFNvIGhlcmUgd2UgZ28uCgpfXycnbWknZSAucm9iaW4uJydf XwoKIkktYW0tbmFtZWQgUm9iaW4iCgoiSSdtIFJvYmluIgoKJydtaSdlJycgaXMgcmVsYXRlZCB0 byAnJ21pJycsIHdoaWNoIGlzICdJJywgJ21lJyBhbmQgc28gb24uIEl0J3MgYSBnb29kIGV4YW1w bGUgb2YgdGhlIGFwb3N0cm9waGUgc2VwYXJhdGluZyB0d28gdm93ZWxzLCBhbmQgc291bmRzIGEg Yml0IGxpa2UgIm1lIGhlaCIuCgpUaGlzIGd1eSBSb2JpbiBpcyBsdWNreSBiZWNhdXNlIGhpcyBu YW1lIGdvZXMgZGlyZWN0bHkgaW50byBMb2piYW4gd2l0aG91dCBhbnkgY2hhbmdlcy4gSG93ZXZl ciwgdGhlcmUgYXJlIHNvbWUgcnVsZXMgZm9yIExvamJhbiBuYW1lcyB3aGljaCBtZWFuIHRoYXQg c29tZSBuYW1lcyBoYXZlIHRvIGJlICdMb2piYW5pc2VkJy4gVGhpcyBtYXkgc291bmQgc3RyYW5n ZeKAlGFmdGVyIGFsbCwgYSBuYW1lIGlzIGEgbmFtZeKAlGJ1dCBpbiBmYWN0IGFsbCBsYW5ndWFn ZXMgZG8gdGhpcyB0byBzb21lIGV4dGVudC4gRm9yIGV4YW1wbGUsIEVuZ2xpc2ggc3BlYWtlcnMg dGVuZCB0byBwcm9ub3VuY2UgIkpvc2UiIHNvbWV0aGluZyBsaWtlICJIb3pheSIsIGFuZCAiTWFy Z2FyZXQiIGluIENoaW5lc2UgaXMgIk1hZ2VsaXRhIi4gU29tZSBzb3VuZHMganVzdCBkb24ndCBl eGlzdCBpbiBzb21lIGxhbmd1YWdlcywgc28gdGhlIGZpcnN0IHRoaW5nIHlvdSBuZWVkIHRvIGRv IGlzIHJld3JpdGUgdGhlIG5hbWUgc28gdGhhdCBpdCBvbmx5IGNvbnRhaW5zIExvamJhbiBzb3Vu ZHMsIGFuZCBpcyBzcGVsdCBpbiBhIExvamJhbiB3YXkuCgpfX05vdGU6IF9fVGhlIGNhdGNoIGhl cmUgaXMsIHdoYXQgdmVyc2lvbiBvZiB0aGUgc291bmRzIHdpbGwgeW91IGJlIHVzaW5nPyBGb3Ig RW5nbGlzaCBpbiBwYXJ0aWN1bGFyLCBCcml0aXNoIGFuZCBBbWVyaWNhbiB2b3dlbHMgY2FuIGJl IHF1aXRlIGRpZmZlcmVudC4gVGhlIEJyaXRpc2ggdmVyc2lvbiBvZiAiUm9iaW4iIGlzIHJlYXNv bmFibHkgYXBwcm94aW1hdGVkIGJ5ICcnLnJvYmluLicnOyBidXQgdGhlIEFtZXJpY2FuIHZlcnNp b24gaXMgY2xvc2VyIHRvICcnLnJhYnluLicnIG9yICcnLnJhYixuLicnLiBBbmQgd2l0aGluIEFt ZXJpY2EgYW5kIEJyaXRhaW4sIHRoZXJlIGlzIGFsc28gYSBnb29kIGRlYWwgb2YgdmFyaWF0aW9u LiBTbyB5b3Ugc2hvdWxkIHRha2UgdGhlIHRyYW5zbGl0ZXJhdGlvbnMgZ2l2ZW4gYmVsb3cgd2l0 aCBhIGdyYWluIG9mIHNhbHQuCgpMZXQncyB0YWtlIHRoZSBFbmdsaXNoIG5hbWUgIlN1c2FuIi4g VGhlIHR3byAnJ3MnJydzIGFyZSBwcm9ub3VuY2VkIGRpZmZlcmVudGx54oCUdGhlIHNlY29uZCBv bmUgaXMgYWN0dWFsbHkgYSAieiLigJRhbmQgdGhlICJhIiBpcyBub3QgcmVhbGx5IGFuICJhIiBz b3VuZCwgaXQncyB0aGUgJ3NjaHdhJyB3ZSBqdXN0IG1lbnRpb25lZC4gU28gIlN1c2FuIiBjb21l cyBvdXQgaW4gTG9qYmFuIGFzICcnLnN1enluLicnLgoKWW91IG1heSBoYXZlIG5vdGljZWQgdHdv IGV4dHJhIGZ1bGwgc3RvcHMgKHBlcmlvZHMpIHRoZXJlLiBUaGlzIGlzIG5lY2Vzc2FyeSBiZWNh dXNlIGlmIHlvdSBkaWRuJ3QgcGF1c2UsIHlvdSBtaWdodCBub3Qga25vdyB3aGVyZSB0aGUgcHJl dmlvdXMgd29yZCBlbmRlZCBhbmQgdGhlIG5leHQgd29yZCBiZWdhbi4KCgoKWW91IHNob3VsZCBh bHNvIHB1dCBhIGZ1bGwgc3RvcCBpbiBiZXR3ZWVuIGEgcGVyc29uJ3MgZmlyc3QgYW5kIGxhc3Qg bmFtZXMgKHRob3VnaCBpdCdzIG5vdCBjb21wdWxzb3J5KSwgc28gIkppbSBKb25lcyIgYmVjb21l cyAnJy5kamltLmRqb256LicnLgoKQW4gaW1wb3J0YW50IHJ1bGUgZm9yIExvamJhbmlzaW5nIG5h bWVzIGlzIHRoYXQgdGhlIGxhc3QgbGV0dGVyIG9mIGEgY21ldmxhIChMb2piYW4gbmFtZSkgbXVz dCBiZSBhIGNvbnNvbmFudC4gQWdhaW4sIHRoaXMgaXMgdG8gcHJldmVudCBjb25mdXNpb24gYXMg dG8gd2hlcmUgYSBuYW1lIGVuZHMsIGFuZCB3aGF0IGlzIGFuZCBpcyBub3QgYSBuYW1lIChhbGwg b3RoZXIgTG9qYmFuIHdvcmRzIGVuZCBpbiBhIHZvd2VsKS4gV2UgdXN1YWxseSB1c2UgJydzJycg Zm9yIHRoaXM7IHNvIGluIExvamJhbiwgIk1hcnkiIGJlY29tZXMgJycubWVyaXMuJycgLCAiSm9l IiBiZWNvbWVzICcnLmRqb3MuJycgYW5kIHNvIG9uLiBBbiBhbHRlcm5hdGl2ZSBpcyB0byBsZWF2 ZSBvdXQgdGhlIGxhc3Qgdm93ZWwsIHNvICJNYXJ5IiB3b3VsZCBiZWNvbWUgJycubWVyLicnIG9y ICcnLm1laXIuJycuCgoKClRoZSBmaW5hbCBwb2ludCBpcyBzdHJlc3MuIEFzIHdlJ3ZlIHNlZW4s IExvamJhbiB3b3JkcyBhcmUgc3RyZXNzZWQgb24gdGhlIHBlbnVsdGltYXRlIHN5bGxhYmxlLCBh bmQgaWYgYSBuYW1lIGhhcyBkaWZmZXJlbnQgc3RyZXNzLCB3ZSB1c2UgY2FwaXRhbCBsZXR0ZXJz LiBUaGlzIG1lYW5zIHRoYXQgdGhlIEVuZ2xpc2ggYW5kIEZyZW5jaCBuYW1lcyAiUm9iZXJ0IiBj b21lIG91dCBkaWZmZXJlbnRseSBpbiBMb2piYW46IHRoZSBFbmdsaXNoIG5hbWUgaXMgJycucm9i eXQuJycgaW4gVUsgRW5nbGlzaCwgb3IgJycucmFiLHJ0LicnIGluIHNvbWUgQW1lcmljYW4gZGlh bGVjdHMsIGJ1dCB0aGUgRnJlbmNoIGlzICcnLnJvQkVSLicnLgoKVG8gZ2l2ZSBhbiBpZGVhIG9m IGhvdyBhbGwgdGhpcyB3b3JrcywgaGVyZSBhcmUgc29tZSBuYW1lcyBvZiBmYW1vdXMgcGVvcGxl IGluIHRoZWlyIG93biBsYW5ndWFnZSBhbmQgaW4gTG9qYmFuLgoKCgp8fF9fRW5nbGlzaF9fCgpN YXJnYXJldCBUaGF0Y2hlciB8JycubWFncnl0LnRhdGN5ci4nJyAobm8gInRoIiBpbiBMb2piYW4g YmVjYXVzZSBtb3N0IHBlb3BsZSBhcm91bmQgdGhlIHdvcmxkIGNhbid0IHNheSBpdCEpCgpNaWNr IEphZ2dlciB8JycubWlrLmRqYWd5cy4nJyB8fAoKfHxfX0ZyZW5jaF9fCgpOYXBvbGVvbiBCb25h cGFydGUgfCcnLm5hcG9sZSxPTi5ib25hUEFSVC4nJwoKSnVsaWV0dGUgQmlub2NoZSB8JycuanVM SUVULmJpbk9DLicnIHx8Cgp8fF9fQ2hpbmVzZV9fCgpMYW96aSB8JycubGF1ZHouJycKCk1hbyBa ZWRvbmcgfCcnLm1hdWR6eURZTi4nJyAoRmluYWwgJyduZycnIGlzIGluIExvamJhbiBjb252ZW50 aW9uYWxseSB0dXJuZWQgaW50byBuLikgfHwKCnx8X19UdXJraXNoX18KCk11c3RhZmEgS2VtYWwg fCcnLk1VU3RhZmFzLmtlTUFMLicnCgpFcmtpbiBLb3JheSB8JycuZXJraW4ua29yYWlzLicnIHx8 Cgp8fF9fR2VybWFuX18KCkZyaWVkcmljaCBOaWV0enNjaGUgfCcnLmZyaWRyaXgubml0Y3lzLicn CgpDbGFyYSBTY2h1bWFubiB8Jycua2xhcmFzLmN1bWFuLicnIHx8Cgp8fF9fU3BhbmlzaF9fCgpJ c2FiZWwgQWxsZW5kZSB8JycuaXphQkVMLmFpZW5kZXMuJycKCkNoZSBHdWV2YXJhIHwnJy50Y2Vn ZXZhcmFzLicnIHx8CgpfX0V4ZXJjaXNlX18uCgpXaGVyZSBhcmUgdGhlc2UgcGxhY2VzPwoKIy5u dSxJT1JLLgoKIy5yb21hcy4KCiMueGF2YW5hcy4KCiMua2FyZGlmLgoKIy5iZWlkamluLgoKIy5B TmthcmFzLgoKIy5BTGJla2Vya2lzLgoKIy52YW5rdXZlci4KCiMua2VpcHRhdW4uCgojLnRhaWJl aXMuCgojLmJvbi4KCiMuZGVsaXMuCgojLm5pcy4KCiMuYXRpbmFzLgoKIy5saWR6LgoKIy54ZWxz aW5raXMuCgpBbnN3ZXI6Cgp+fmdyYXksZ3JheTp+fgoKI35+Z3JheSxncmF5Ok5ldyBZb3JrOiBV U0F+fgoKI35+Z3JheSxncmF5OlJvbWU6IEl0YWx5fn4KCiN+fmdyYXksZ3JheTpIYXZhbmE6IEN1 YmF+fgoKI35+Z3JheSxncmF5OkNhcmRpZmY6IFdhbGVzIChUaGUgV2Vsc2ggZm9yICJDYXJkaWZm IiBpcyAiQ2FlcmR5ZGQiLCB3aGljaCB3b3VsZCBMb2piYW5pc2UgdG8gc29tZXRoaW5nIGxpa2Ug a2FpcmR5ZC4uKX5+Cgojfn5ncmF5LGdyYXk6QmVpamluZzogQ2hpbmF+fgoKI35+Z3JheSxncmF5 OkFua2FyYTogVHVya2V5fn4KCiN+fmdyYXksZ3JheTpBbGJlcXVlcnF1ZTogTmV3IE1leGljbywg VVNBfn4KCiN+fmdyYXksZ3JheTpWYW5jb3V2ZXI6IENhbmFkYX5+Cgojfn5ncmF5LGdyYXk6Q2Fw ZSBUb3duOiBTb3V0aCBBZnJpY2F+fgoKI35+Z3JheSxncmF5OlRhaXBlaTogVGFpd2FuIChub3Rl IGIsIG5vdCBwLiBBbHRob3VnaCBhY3R1YWxseSwgdGhlIGIgaW4gUGlueWluIGlzIHByb25vdW5j ZWQgYXMgYSBwLi4uIEJ1dCB0aGlzIGlzbid0IG1lYW50IHRvIGJlIGEgY291cnNlIG9uIE1hbmRh cmluISl+fgoKI35+Z3JheSxncmF5OkJvbm46IEdlcm1hbnl+fgoKI35+Z3JheSxncmF5OkRlbGhp OiBJbmRpYSAoVGhlIEhpbmRpIGZvciAiRGVsaGkiIGlzICJEaWxsw64iLCB3aGljaCB3b3VsZCBn aXZlIGRpbGl5cy4gb3IgZGlsaSdpcy4uKX5+Cgojfn5ncmF5LGdyYXk6TmljZTogRnJhbmNlfn4K CiN+fmdyYXksZ3JheTpBdGhlbnM6IEdyZWVjZSAoIkF0aGluYSIgaW4gR3JlZWspfn4KCiN+fmdy YXksZ3JheTpMZWVkczogRW5nbGFuZH5+Cgojfn5ncmF5LGdyYXk6SGVsc2lua2k6IEZpbmxhbmR+ fgoKX19FeGVyY2lzZV9fLgoKTG9qYmFuaXNlIHRoZSBmb2xsb3dpbmcgbmFtZXMKCiNKb2huCgoj TWVsaXNzYQoKI0FtYW5kYQoKI01hdHRoZXcKCiNNaWNoYWVsCgojRGF2aWQgQm93aWUKCiNKYW5l IEF1c3RlbgoKI1dpbGxpYW0gU2hha2VzcGVhcmUKCiNTaWdvdXJuZXkgV2VhdmVyCgojUmljaGFy ZCBOaXhvbgoKI0lzdGFuYnVsCgojTWFkcmlkCgojVG9reW8KCiNTYW4gU2FsdmFkb3IKCkFuc3dl cjoKCn5+Z3JheSxncmF5OlRoZXJlIGFyZSB1c3VhbGx5IGFsdGVybmF0aXZlIHNwZWxsaW5ncyBm b3IgbmFtZXMsIGVpdGhlciBiZWNhdXNlIHBlb3BsZSBwcm9ub3VuY2UgdGhlIG9yaWdpbmFscyBk aWZmZXJlbnRseSwgb3IgYmVjYXVzZSB0aGUgZXhhY3Qgc291bmQgZG9lc24ndCBleGlzdCBpbiBM b2piYW4sIHNvIHlvdSBuZWVkIHRvIGNob29zZSBiZXR3ZWVuIHR3byBMb2piYW4gbGV0dGVycy4g VGhpcyBkb2Vzbid0IG1hdHRlciwgc28gbG9uZyBhcyBldmVyeW9uZSBrbm93cyB3aG8gb3Igd2hl cmUgeW91J3JlIHRhbGtpbmcgYWJvdXQufn4KCiN+fmdyYXksZ3JheTouZGpvbi4gKG9yIC5kamFu LiB3aXRoIHNvbWUgYWNjZW50cyl+fgoKI35+Z3JheSxncmF5Oi5tZWxpc3lzLn5+Cgojfn5ncmF5 LGdyYXk6LmFtYW5keXMuIChhZ2FpbiwgZGVwZW5kaW5nIG9uIHlvdXIgYWNjZW50LCB0aGUgZmlu YWwgeSBtYXkgYmUgYSwgdGhlIGluaXRpYWwgYSBtYXkgYmUgeSwgYW5kIHRoZSBtaWRkbGUgYSBt YXkgYmUgZS4pfn4KCiN+fmdyYXksZ3JheToubWF0aXVzLn5+Cgojfn5ncmF5LGdyYXk6Lm1haWt5 bC4gb3IgLm1haWssbC4gLCBkZXBlbmRpbmcgb24gaG93IHlvdSBzYXkgaXQufn4KCiN+fmdyYXks Z3JheTouZGVpdnlkLmJhdSxpcy4gb3IgLmJvLGlzLiAoYnV0IG5vdCAuYnUsaXMuIOKAlCB0aGF0 J3MgdGhlIGtuaWZlKX5+Cgojfn5ncmF5LGdyYXk6LmRqZWluLm9zdGluLn5+Cgojfn5ncmF5LGdy YXk6LnVpbGlhbS5jZWtzcGlyLn5+Cgojfn5ncmF5LGdyYXk6LnNpZ29ybmlzLnVpdnlyLiBvciAu c3lnb3JuaXMudWl2eXIufn4KCiN+fmdyYXksZ3JheToucml0Y3lyZC5uaWtzeW4ufn4KCiN+fmdy YXksZ3JheTouaXN0YW5CVUwuIHdpdGggRW5nbGlzaCBzdHJlc3MsIC5JU3RhbmJ1bC4gd2l0aCBB bWVyaWNhbiwgLmlzdGFuYnVsLiB3aXRoIFR1cmtpc2guIExvamJhbmlzdHMgZ2VuZXJhbGx5IHBy ZWZlciB0byBiYXNlIGNtZXZsYSBvbiBsb2NhbCBwcm9udW5jaWF0aW9uLCBidXQgdGhpcyBpcyBu b3QgYW4gYWJzb2x1dGUgcnVsZS5+fgoKI35+Z3JheSxncmF5Oi5tYURSSUQufn4KCiN+fmdyYXks Z3JheToudG9raW9zLn5+Cgojfn5ncmF5LGdyYXk6LnNhbi5zYWx2YURPUi4gKHdpdGggU3Bhbmlz aCBzdHJlc3MpIDwvc3Bhbj48L2h0bWw+fn4KCiEhISFMb2piYW4gd29yZHMgYXMgbmFtZXMKCkJ5 IG5vdyB5b3Ugc2hvdWxkIGJlIGFibGUgdG8gTG9qYmFuaXNlIHlvdXIgb3duIG5hbWUuIEhvd2V2 ZXIsIGlmIHlvdSBwcmVmZXIsIHlvdSBjYW4gdHJhbnNsYXRlIHlvdXIgbmFtZSBpbnRvIExvamJh biAoaWYgeW91IGtub3cgd2hhdCBpdCBtZWFucywgb2YgY291cnNlKSBvciBhZG9wdCBhIGNvbXBs ZXRlbHkgbmV3IExvamJhbiBpZGVudGl0eS4gTmF0aXZlIEFtZXJpY2FucyBnZW5lcmFsbHkgdHJh bnNsYXRlIHRoZWlyIG5hbWUgd2hlbiBzcGVha2luZyBFbmdsaXNoLCBwYXJ0bHkgYmVjYXVzZSB0 aGV5IGhhdmUgbWVhbmluZ2Z1bCBuYW1lcywgYW5kIHBhcnRseSBiZWNhdXNlIHRoZXkgZG9uJ3Qg ZXhwZWN0IHRoZSAid2FzaWNodSIgdG8gYmUgYWJsZSB0byBwcm9ub3VuY2Ugd29yZHMgaW4gTGFr b3RhLCBDaGVyb2tlZSBvciB3aGF0ZXZlciEKCkxvamJhbiB3b3JkcyAoZXhjZXB0IGNtZXZsYSkg ZW5kIGluIGEgdm93ZWwuIFlvdSBjYW4gdXNlIGxvamJhbiB3b3JkcyBhcyBuYW1lcyB0b28uIEJ1 dCBpZiB5b3UgcHJlZmVyIHRoYXQgeW91ciBuYW1lIGlzIGEgY21ldmxhIGFuZCBpdCBlbmRzIGlu IGEgdm93ZWwgdGhlbiB5b3UgY2FuIGVpdGhlciBhZGQgYSBjb25zb25hbnQgdG8gdGhlIGVuZCBv ZiBpdCBvciBqdXN0IGNob3AgdGhlIGVuZCB2b3dlbCBvZmYuCgpIZXJlIGFyZSBhIGZldyBleGFt cGxlcyAob3JpZ2luYWwgbmFtZSwgbWVhbmluZywgbmFtZSBhbmQgbmFtZSBhcyBjbWV2bGEpOgoK KkZpc2gg4oCTIGZpbnBlIOKAkyAnJy5maW5wLicnCgoqQmrDtnJuIChTY2FuZGluYXZpYW4gPSBi ZWFyKSDigJMgY3JpYmUg4oCTICcnLmNyaWIuJycKCipHcmVlbiDigJMgY3Jpbm8g4oCTICcnLmNy aW4uJycKCipNZWkgTGkgKENoaW5lc2UgPSBiZWF1dGlmdWwpIOKAkyBtZWxiaSDigJMgJycubWVs Yi4nJwoKKkF5aGFuIChUdXJraXNoID0gTW9vbiBMb3JkKSDigJMgbHVucmEgbm9ibGkgKD0gbHVy bm9ibGkpIOKAkyAnJy5sdXJub2JsaXMuJycKCgoKISFMb2piYW4gTGVzc29ucyDigJMgbGVzc29u IG9uZSAoYnJpZGksIGp1ZnJhLCBzdW10aSBhbmQgc2VsYnJpKQoKQSAnJ2JyaWRpJycgaXMgdGhl IG1vc3QgY2VudHJhbCB1bml0IG9mIExvamJhbiB1dHRlcmFuY2VzLiBUaGUgY29uY2VwdCBpcyB2 ZXJ5IGNsb3NlIHRvIHdoYXQgd2UgY2FsbCBhIHByb3Bvc2l0aW9uIGluIEVuZ2xpc2guIEEgYnJp ZGkgaXMgYSBjbGFpbSB0aGF0IHNvbWUgb2JqZWN0cyBzdGFuZCBpbiBhIHJlbGF0aW9uIHRvIGVh Y2ggb3RoZXIsIG9yIHRoYXQgYW4gb2JqZWN0IGhhcyBzb21lIHByb3BlcnR5LiBUaGlzIHN0YW5k cyBpbiBjb250cmFzdCB0byAnJ2p1ZnJhJycsIHdoaWNoIGFyZSBtZXJlbHkgTG9qYmFuIHV0dGVy YW5jZXMsIHdoaWNoIGNhbiBiZSBicmlkaSBvciBhbnl0aGluZyBlbHNlIGJlaW5nIHNhaWQuIFRo ZSBkaWZmZXJlbmNlIGJldHdlZW4gYSBicmlkaSBhbmQgYSBqdWZyYSBpcyB0aGF0IGEganVmcmEg ZG9lcyBub3QgbmVjZXNzYXJpbHkgc3RhdGUgYW55dGhpbmcsIHdoaWxlIGEgYnJpZGkgZG9lcy4g VGh1cywgYSBicmlkaSBtaWdodCBiZSB0cnVlIG9yIGZhbHNlLCB3aGlsZSBub3QgYWxsIGp1ZnJh IGNhbiBiZSBzYWlkIHRvIGJlIHN1Y2guCgpUbyBoYXZlIHNvbWUgZXhhbXBsZXMgKGluIEVuZ2xp c2gsIHRvIGJlZ2luIHdpdGgpLCDigJxNb3phcnQgd2FzIHRoZSBncmVhdGVzdCBtdXNpY2lhbiBv ZiBhbGwgdGltZeKAnSBpcyBhIGJyaWRpLCBiZWNhdXNlIGl0IG1ha2VzIGEgY2xhaW0gd2l0aCBh IHRydXRoIHZhbHVlLCBhbmQgaXQgaW52b2x2ZXMgYW4gb2JqZWN0LCBNb3phcnQsIGFuZCBhIHBy b3BlcnR5LCBiZWluZyB0aGUgZ3JlYXRlc3QgbXVzaWNpYW4gb2YgYWxsIHRpbWUuIE9uIHRoZSBj b250cmFyeSwg4oCcT3chIE15IHRvZSHigJ0gaXMgbm90IGEgYnJpZGksIHNpbmNlIGl0IGRvZXMg bm90IGludm9sdmUgYSByZWxhdGlvbiwgYW5kIHRodXMgZG9lcyBub3Qgc3RhdGUgYW55dGhpbmcu IEJvdGgsIHRob3VnaCwgYXJlIGp1ZnJhLgoKVHJ5IHRvIGlkZW50aWZ5IHRoZSBicmlkaSBhbW9u ZyB0aGVzZSBFbmdsaXNoIGp1ZnJhOgoKCgojIOKAnEkgaGF0ZSBpdCB3aGVuIHlvdSBkbyB0aGF0 LuKAnQoKIyDigJxSdW5zLuKAnQoKIyDigJxXb2FoLCB0aGF0IGxvb2tzIGRlbGljaW91cyHigJ0K CiMg4oCcR2Vleiwgbm90IGFnYWluLuKAnQoKIyDigJxObywgSSBvd24gdGhyZWUgY2Fyc+KAnQoK IyDigJxOaW5ldGVlbiBtaW51dGVzIHBhc3QgZWlnaHQu4oCdCgojIOKAnFRoaXMgU2F0dXJkYXks IHllcy7igJ0KCgoKQW5zd2VyOiB+fmdyZXksZ3JleToxLCAzIGFuZCA1IGFyZSBicmlkaS4gMiBj b250YWlucyBubyBvYmplY3RzIGFuZCB0aGUgcmVzdCBjb250YWluIG5vIHJlbGF0aW9uIG9yIGNs YWltIG9mIGEgcHJvcGVydHkufn4KCgoKUHV0IGluIExvamJhbiB0ZXJtcywgYSBicmlkaSBjb25z aXN0cyBvZiBvbmUgJydzZWxicmknJywgYW5kIG9uZSBvciBtb3JlICcnc3VtdGknJy4gVGhlIHNl bGJyaSBpcyB0aGUgcmVsYXRpb24gb3IgY2xhaW0gYWJvdXQgdGhlIG9iamVjdCwgYW5kIHRoZSBz dW10aSBhcmUgdGhlIG9iamVjdHMgd2hpY2ggYXJlIGluIGEgcmVsYXRpb24uIE5vdGUgdGhhdCDi gJxvYmplY3TigJ0gaXMgbm90IGEgcGVyZmVjdCB0cmFuc2xhdGlvbiBvZiDigJxzdW10aeKAnSwg c2luY2Ug4oCcc3VtdGnigJ0gY2FuIHJlZmVyIHRvIG5vdCBqdXN0IHBoeXNpY2FsIG9iamVjdHMs IGJ1dCBjYW4gYWxzbyBwdXJlbHkgYWJzdHJhY3QgdGhpbmdzIGxpa2Ug4oCcVGhlIGlkZWEgb2Yg d2FyZmFyZeKAnS4gQSBiZXR0ZXIgdHJhbnNsYXRpb24gd291bGQgYmUgc29tZXRoaW5nIGxpa2Ug 4oCcc3ViamVjdCwgZGlyZWN0IG9yIGluZGlyZWN0IG9iamVjdOKAnSBmb3Igc3VtdGksIGFuZCDi gJx2ZXJi4oCdIGZvciBzZWxicmksIHRob3VnaCwgYXMgd2Ugd2lsbCBzZWUsIHRoaXMgaXMgbm90 IG9wdGltYWwgZWl0aGVyLgoKV2UgY2FuIG5vdyB3cml0ZSB0aGUgZmlyc3QgaW1wb3J0YW50IGxl c3NvbiBkb3duOgoKYnJpZGkgPSBzZWxicmkgKyBvbmUgb3IgbW9yZSBzdW10aQoKUHV0IGFub3Ro ZXIgd2F5LCBhIGJyaWRpIHN0YXRlcyB0aGF0IHNvbWUgc3VtdGkgZG8vYXJlIHNvbWV0aGluZyBl eHBsYWluZWQgYnkgYSBzZWxicmkuCgoKCklkZW50aWZ5IHRoZSBzdW10aSBhbmQgc2VsYnJpIGVx dWl2YWxlbnRzIGluIHRoZXNlIEVuZ2xpc2gganVmcmE6CgrigJxJIHdpbGwgcGljayB1cCBteSBk YXVnaHRlcnMgd2l0aCBteSBjYXLigJ0KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTpzZWxicmk6IOKA nHBpY2sgdXAgKHdpdGgp4oCdLiBzdW10aTog4oCcSeKAnSwg4oCcbXkgZGF1Z2h0ZXJz4oCdLCDi gJxteSBjYXLigJ1+fgoKCgrigJxIZSBib3VnaHQgNSBuZXcgc2hpcnRzIGZyb20gTWFyayBmb3Ig anVzdCB0d28gaHVuZHJlZCBldXJvIeKAnQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OnNlbGJyaTog 4oCcYm91Z2h0IChmcm9tKSAoZm9yKeKAnSBzdW10aTog4oCcSGXigJ0sIOKAnDUgbmV3IHNoaXJ0 c+KAnSwg4oCcTWFya+KAnSBhbmQg4oCcdHdvIGh1bmRyZWQgZXVyb3PigJ1+fgoKCgpTaW5jZSB0 aGVzZSBjb25jZXB0cyBhcmUgc28gZnVuZGFtZW50YWwgdG8gTG9qYmFuLCBsZXQncyBoYXZlIGEg dGhpcmQgZXhhbXBsZTog4oCcU28gZmFyLCB0aGUgRVBBIGhhcyBkb25lIG5vdGhpbmcgYWJvdXQg dGhlIGFtb3VudCBvZiBzdWxwaHVyIGRpb3hpZGUu4oCdCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6 c2VsYnJpOiDigJxoYXMgZG9uZSAoYWJvdXQp4oCdIHN1bXRpOiDigJxUaGUgRVBB4oCdLCDigJxu b3RoaW5n4oCdIGFuZCDigJx0aGUgYW1vdW50IG9mIHN1bHBodXIgZGlveGlkZeKAnX5+CgoKCk5v dyB0cnkgYmVnaW4gbWFraW5nIExvamJhbiBicmlkaS4gRm9yIHRoaXMgeW91IHdpbGwgbmVlZCB0 byB1c2Ugc29tZSB3b3Jkcywgd2hpY2ggY2FuIGFjdCBhcyBzZWxicmk6CgonJ19fZHVuZGFfXycn IHgxIGdpdmVzIHgyIHRvIHgzICh3aXRob3V0IHBheW1lbnQpCgonJ19fcGVseHVfXycnIHgxIGlz IHllbGxvdwoKJydfX3pkYW5pX18nJyB4MSBpcyBhIGhvbWUgb2YgeDIKCgoKTm90aWNlIHRoYXQg dGhlc2Ugd29yZHMgbWVhbmluZyDigJxnaXZl4oCdLCDigJx5ZWxsb3figJ0gYW5kIOKAnGhvbWXi gJ0gd291bGQgYmUgY29uc2lkZXJlZCBhIHZlcmIsIGFuIGFkamVjdGl2ZSBhbmQgYSBub3VuIGlu IEVuZ2xpc2guIEluIExvamJhbiwgdGhlcmUgYXJlIG5vIHN1Y2ggY2F0ZWdvcmllcyBhbmQgbm8g c3VjaCBkaXN0aW5jdGlvbi4gJydkdW5kYScnIGNhbiBiZSB0cmFuc2xhdGVkIOKAnGdpdmVz4oCd ICh2ZXJiKSwg4oCcaXMgYSBnaXZlcuKAnSAobm91biksIOKAnGlzIGdpdmluZ+KAnSAoYWRqZWN0 aXZlKSBhcyB3ZWxsIGFzIHRvIGFuIGFkdmVyYiBmb3JtLiBUaGV5IGFsbCBhY3QgYXMgc2VsYnJp LCBhbmQgYXJlIHVzZWQgaW4gdGhlIHNhbWUgd2F5LgoKCgpBcyB3ZWxsIGFzIGEgZmV3IHdvcmRz LCB3aGljaCBjYW4gYWN0IGFzIHN1bXRpOgoKJydfX21pX18nJyDigJxJ4oCdIG9yIOKAnHdl4oCd IOKAkyB0aGUgb25lIG9yIHRob3NlIHdobyBhcmUgc3BlYWtpbmcuCgonJ19fdGlfXycnIOKAnHRo aXPigJ0g4oCTIGEgY2xvc2UgdGhpbmcgb3IgZXZlbnQgbmVhcmJ5IHdoaWNoIGNhbiBiZSBwb2lu dGVkIHRvIGJ5IHRoZSBzcGVha2VyLgoKJydfX2RvX18nJyDigJx5b3XigJ0g4oCTIHRoZSBvbmUg b3IgdGhvc2Ugd2hvIGFyZSBiZWluZyBzcG9rZW4gdG8uCgoKClNlZSB0aGUgc3RyYW5nZSB0cmFu c2xhdGlvbnMgb2YgdGhlIHNlbGJyaSBhYm92ZSAtIGVzcGVjaWFsbHkgdGhlIHgxLCB4MiBhbmQg eDM/IFRob3NlIGFyZSBjYWxsZWQgc3VtdGkgcGxhY2VzLiBUaGV5IGFyZSBwbGFjZXMgd2hlcmUg c3VtdGkgY2FuIGdvIHRvIGZpbGwgYSBicmlkaS4gRmlsbGluZyBhIHN1bXRpIGluIGEgcGxhY2Ug c3RhdGVzIHRoYXQgdGhlIHN1bXRpIGZpdHMgaW4gdGhhdCBwbGFjZS4gVGhlIHNlY29uZCBwbGFj ZSBvZiAnJ2R1bmRhJycsIGZvciBleGFtcGxlLCB4MiwgaXMgdGhlIHRoaW5nIGJlaW5nIGdpdmVu LiBUaGUgdGhpcmQgaXMgdGhlIG9iamVjdCB3aGljaCByZWNlaXZlcyB0aGUgdGhpbmcuIE5vdGlj ZSBhbHNvIHRoYXQgdGhlIHRyYW5zbGF0aW9uIG9mICcnZHVuZGEnJyBoYXMgdGhlIHdvcmQg4oCc dG/igJ0gaW4gaXQuIFRoaXMgaXMgYmVjYXVzZSwgd2hpbGUgdGhpcyB3b3JkIGlzIG5lZWRlZCBp biBFbmdsaXNoIHRvIHNpZ25pZnkgdGhlIHJlY2VpdmVyLCB0aGUgcmVjZWl2ZXIgaXMgaW4gdGhl IHRoaXJkIHN1bXRpIHBsYWNlIG9mICcnZHVuZGEnJy4gU28gd2hlbiB5b3UgZmlsbCB0aGUgdGhp cmQgc3VtdGkgcGxhY2Ugb2YgJydkdW5kYScnLCB0aGUgc3VtdGkgeW91IGZpbGwgaW4gaXMgYWx3 YXlzIHRoZSByZWNlaXZlciwgYW5kIHlvdSBkb24ndCBuZWVkIGFuIGVxdWl2YWxlbnQgdG8gdGhl IHdvcmQg4oCcdG/igJ0hCgoKClRvIHNheSBhIGJyaWRpLCB5b3Ugc2ltcGx5IHNheSB0aGUgeDEg c3VtdGkgZmlyc3QsIHRoZW4gdGhlIHNlbGJyaSwgdGhlbiBhbnkgb3RoZXIgc3VtdGkuCgpVc3Vh bCBicmlkaToge3gxIHN1bXRpfSBfX3tzZWxicml9X18ge3gyIHN1bXRpfSB7eDMgc3VtdGl9IHt4 NCBzdW10aX0ge3g1IHN1bXRpfSB7YW5kIHNvIG9ufQoKVGhlIG9yZGVyIGNhbiBiZSBwbGF5ZWQg YXJvdW5kIHdpdGgsIGJ1dCBmb3Igbm93LCB3ZSBzdGljayB3aXRoIHRoZSB1c3VhbCBmb3JtLiBU byBzYXkg4oCcSSBnaXZlIHRoaXMgdG8geW914oCdIHlvdSBqdXN0IHNheSAnJ21pIGR1bmRhIHRp IGRvJycsIHdpdGggdGhlIHRocmVlIHN1bXRpIGF0IHRoZSByaWdodCBwbGFjZXMuCgoKClNvLCBo b3cgd291bGQgeW91IHNheSDigJxUaGlzIGlzIGEgaG9tZSBvZiBtZeKAnT8KCgoKQW5zd2VyOiB+ fmdyZXksZ3JleTonJ3RpIHpkYW5pIG1pJyd+fgoKCgpUcnkgYSBmZXcgbW9yZSBpbiBvcmRlciB0 byBnZXQgdGhlIGlkZWEgb2YgYSBwbGFjZSBzdHJ1Y3R1cmUgc2luayBpbi4KCgoK4oCcWW91IGdp dmUgdGhpcyB0byBtZeKAnT8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ2RvIGR1bmRhIHRpIG1p Jyd+fgoKCgpBbmQgdHJhbnNsYXRlICcndGkgcGVseHUnJwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5 OuKAnFRoaXMgaXMgeWVsbG93LuKAnX5+CgoKClF1aXRlIGVhc3kgb25jZSB5b3UgZ2V0IHRoZSBo YW5nIG9mIGl0LCByaWdodD8KCgoKTXVsdGlwbGUgYnJpZGkgYWZ0ZXIgZWFjaCBvdGhlciBhcmUg c2VwYXJhdGVkIGJ5ICcnLmknJyBUaGlzIGlzIHRoZSBMb2piYW4gZXF1aXZhbGVudCBvZiBmdWxs IHN0b3AsIGJ1dCBpdCB1c3VhbGx5IGdvZXMgYmVmb3JlIGJyaWRpIGluc3RlYWQgb2YgYWZ0ZXIg dGhlbS4gSXQncyBvZnRlbiBsZWZ0IG91dCBiZWZvcmUgdGhlIGZpcnN0IGJyaWRpLCB0aG91Z2gs IGFzIGluIGFsbCB0aGVzZSBleGFtcGxlczoKCicnX18uaV9fJycgU2VudGVuY2Ugc2VwYXJhdG9y LiBTZXBhcmF0ZXMgYW55IHR3byBqdWZyYSAoYW5kIHRoZXJlZm9yZSBhbHNvIGJyaWRpKS4KCgoK Jyd0aSB6ZGFuaSBtaSAgLmkgdGkgcGVseHUnJyDigJ1UaGlzIGlzIGEgaG9tZSB0byBtZS4gVGhp cyBpcyB5ZWxsb3cu4oCdCgoKCkJlZm9yZSB5b3UgbW92ZSBvbiB0byB0aGUgbmV4dCBsZXNzb24s IEkgcmVjb21tZW5kIHRoYXQgeW91IHRha2UgYSBicmVhayBmb3IgYXQgbGVhc3Qgc2V2ZW4gbWlu dXRlcyB0byBsZXQgdGhlIGluZm9ybWF0aW9uIHNpbmsgaW4uCgoKCgoKISFMb2piYW4gTGVzc29u cyDigJMgbGVzc29uIHR3byAoRkEgYW5kIHpvJ2UpCgpNb3N0IHNlbGJyaSBoYXZlIGZyb20gb25l IHRvIGZpdmUgc3VtdGkgcGxhY2VzLCBidXQgc29tZSBoYXZlIG1vcmUuIEhlcmUgaXMgYSBzZWxi cmkgd2l0aCBmb3VyIHN1bXRpIHBsYWNlczoKCicnX192ZWNudV9fJycgeDEgc2VsbHMgeDIgdG8g eDMgZm9yIHByaWNlIHg0CgoKCklmIEkgd2FudCB0byBzYXkg4oCcSSBzZWxsIHRoaXPigJ0sIGl0 IHdvdWxkIGJlIHRvbyBtdWNoIHRvIGhhdmUgdG8gZmlsbCB0aGUgc3VtdGkgcGxhY2VzIHgzIGFu ZCB4NCwgd2hpY2ggc3BlY2lmeSB3aG8gSSBzZWxsIHRoZSB0aGluZyB0bywgYW5kIGZvciB3aGF0 IHByaWNlLiBMdWNraWx5LCBJIGRvbid0IG5lZWQgdG8uIHN1bXRpIHBsYWNlcyBjYW4gYmUgZmls bGVkIHdpdGggJyd6bydlJycuICcnem8nZScnIGluZGljYXRlcyB0byB1cyB0aGF0IHRoZSB2YWx1 ZSBvZiB0aGUgc3VtdGkgcGxhY2UgaXMgdW5zcGVjaWZpZWQgYmVjYXVzZSBpdCdzIHVuaW1wb3J0 YW50IG9yIGNhbiBiZSBkZXRlcm1pbmVkIGZyb20gY29udGV4dC4KCicnX196bydlX18nJyDigJxz b21ldGhpbmfigJ0gRmlsbHMgYSBzdW10aSBwbGFjZSB3aXRoIHNvbWV0aGluZywgYnV0IGRvZXMg bm90IHN0YXRlIHdoYXQuCgoKClNvIHRvIHNheSDigJxJIHNlbGwgdG8geW914oCdLCBJIGNvdWxk IHNheSAnJ21pIHZlY251IHpvJ2UgZG8gem8nZScnIOKAkyBJIHNlbGwgc29tZXRoaW5nIHRvIHlv dSBmb3Igc29tZSBwcmljZS4KCkhvdyB3b3VsZCB5b3Ugc2F5OiDigJxUaGF0J3MgYSBob21lIChm b3Igc29tZWJvZHkp4oCdPwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OiAnJ3RpIHpkYW5pIHpvJ2Un J35+CgoKCkhvdyBhYm91dCDigJwoc29tZW9uZSkgZ2l2ZXMgdGhpcyB0byAoc29tZW9uZSnigJ0/ CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6Jyd6bydlIGR1bmRhIHRpIHpvJ2UnJ35+CgoKClN0aWxs LCBmaWxsaW5nIG91dCB0aHJlZSB6bydlIGp1c3QgdG8gc2F5IHRoYXQgYSB0aGluZyBpcyBiZWlu ZyBzb2xkIHRha2VzIHRpbWUuIFRoZXJlZm9yZSB5b3UgZG9uJ3QgbmVlZCB0byB3cml0ZSBhbGwg dGhlICcnem8nZScnIGluIGEgYnJpZGkuIFRoZSBydWxlIHNpbXBseSBpcyB0aGF0IGlmIHlvdSBs ZWF2ZSBvdXQgYW55IHN1bXRpLCB0aGV5IHdpbGwgYmUgY29uc2lkZXJlZCBhcyBpZiB0aGV5IGNv bnRhaW5lZCAnJ3pvJ2UnJy4gSWYgdGhlIGJyaWRpIGJlZ2lucyB3aXRoIGEgc2VsYnJpLCB0aGUg eDEgaXMgcHJlc3VtZWQgdG8gYmUgb21pdHRlZCBhbmQgaXQgYmVjb21lcyAnJ3pvJ2UnJy4KClRy eSBpdCBvdXQuIFdoYXQncyBMb2piYW4gZm9yIOKAnEkgc2VsbOKAnT8KCgoKQW5zd2VyOiB+fmdy ZXksZ3JleTonJ21pIHZlY251Jyd+fgoKCgpBbmQgd2hhdCBkb2VzICcnemRhbmkgbWknJyBtZWFu PwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnFNvbWV0aGluZyBpcyBhIGhvbWUgb2YgbWXigJ0g b3IganVzdCDigJxJIGhhdmUgYSBob21lLuKAnX5+CgoKCkFzIG1lbnRpb25lZCBlYXJsaWVyLCB0 aGUgZm9ybSBkb2Vzbid0IGhhdmUgdG8gYmUge3gxIHN1bXRpfSB7c2VsYnJpfSB7eDIgc3VtdGl9 IHt4MyBzdW10aX0gKGVjdC4pIEluIGZhY3QsIHlvdSBjYW4gcGxhY2UgdGhlIHNlbGJyaSBhbnl3 aGVyZSB5b3Ugd2FudCwganVzdCBub3QgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgYnJpZGkuIElm IHlvdSBkbyB0aGF0LCB0aGUgeDEgaXMgY29uc2lkZXJlZCBsZWZ0IG91dCBhbmQgZmlsbGVkIHdp dGggJyd6bydlJycgaW5zdGVhZC4gU28gdGhlIGZvbGxvd2luZyB0aHJlZSBqdWZyYSBhcmUgYWxs IHRoZSBleGFjdGx5IHNhbWUgYnJpZGk6CgonJ21pIGR1bmRhIHRpIGRvJycKCicnbWkgdGkgZHVu ZGEgZG8nJwoKJydtaSB0aSBkbyBkdW5kYScnCgoKClNvbWV0aW1lcyB0aGlzIGlzIHVzZWQgZm9y IHBvZXRpYyBlZmZlY3QuIOKAnFlvdSBzZWxsIHlvdXJzZWxm4oCdIGNvdWxkIGJlICcnZG8gZG8g dmVjbnUnJywgd2hpY2ggc291bmRzIGJldHRlciB0aGFuICcnZG8gdmVjbnUgZG8nJy4gT3IgaXQg Y2FuIGJlIHVzZWQgZm9yIGNsYXJpdHkgaWYgdGhlIHNlbGJyaSBpcyB2ZXJ5IGxvbmcgYW5kIHRo ZXJlZm9yZSBiZXR0ZXIgYmUgbGVmdCBhdCB0aGUgZW5kIG9mIHRoZSBicmlkaS4KCgoKVGhlcmUg YXJlIGFsc28gc2V2ZXJhbCB3YXlzIHRvIHBsYXkgYXJvdW5kIHdpdGggdGhlIG9yZGVyIG9mIHRo ZSBzdW10aSBpbnNpZGUgdGhlIGJyaWRpLiBUaGUgZWFzaWVzdCBvbmUgaXMgYnkgdXNpbmcgdGhl IHdvcmRzICcnZmEnJywgJydmZScnLCAnJ2ZpJycsICcnZm8nJyBhbmQgJydmdScnLiBOb3RpY2Ug dGhhdCB0aGUgdm93ZWxzIGFyZSB0aGUgZml2ZSB2b3dlbHMgaW4gdGhlIExvamJhbiBhbHBoYWJl dCBpbiBvcmRlci4gVXNpbmcgb25lIG9mIHRoZXNlIHdvcmRzIG1hcmtzIHRoYXQgdGhlIG5leHQg c3VtdGkgd2lsbCBmaWxsIHRoZSB4MSwgeDIsIHgzLCB4NCBhbmQgeDUgcmVzcGVjdGl2ZWx5LiBU aGUgbmV4dCBzdW10aSBhZnRlciB0aGF0IHdpbGwgYmUgcHJlc3VtZWQgdG8gZmlsbCBhIHNsb3Qg b25lIGdyZWF0ZXIgdGhhbiB0aGUgcHJldmlvdXMuIFRvIHVzZSBhbiBleGFtcGxlOgoKJydkdW5k YSBmYSBkbyBmZSB0aSBkbycnIOKAkyDigJxHaXZpbmcgYnkgeW91IG9mIHRoaXMgdGhpbmcgdG8g eW914oCdLiAnJ2ZhJycgbWFya3MgdGhlIHgxLCB0aGUgZ2l2ZXIsIHdoaWNoIGlzIHlvdS4gJydm ZScnIG1hcmtzIHRoZSB0aGluZyBiZWluZyBnaXZlbiwgdGhlIHgyLiBTdW10aSBjb3VudGluZyB0 aGVuIGNvbnRpbnVlcyBmcm9tICcnZmUnJywgbWVhbmluZyB0aGF0IHRoZSBsYXN0IHN1bXRpIGZp bGxzIHgzLCB0aGUgb2JqZWN0IHJlY2VpdmluZy4KCgoKQXR0ZW1wdCB0byB0cmFuc2xhdGUgdGhl IGZvbGxvd2luZyB0aHJlZSBzZW50ZW5jZXM6CgoKCicnbWkgdmVjbnUgZm8gdGkgZmUgZG8nJwoK CgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnUkgc2VsbCwgZm9yIHRoZSBwcmljZSBvZiB0aGlzLCB5 b3XigJ0uIG9yIOKAnEkgc2VsbCB5b3UgZm9yIHRoZSBwcmljZSBvZiB0aGlz4oCdIChwcm9iYWJs eSBwb2ludGluZyB0byBhIGJ1bmNoIG9mIG1vbmV5KX5+CgoKCicnemRhbmkgZmUgdGknJwoKCgpB bnN3ZXI6IH5+Z3JleSxncmV5OuKAnFRoaXMgaGFzIGEgaG9tZeKAnS4gSGVyZSwgdGhlIGZlIGlz IHJlZHVuZGFudC5+fgoKCgonJ3ZlY251IHpvJ2UgbWkgdGkgZmEgZG8nJwoKCgpBbnN3ZXI6IH5+ Z3JleSxncmV5OuKAnFlvdSBzZWxsIHNvbWV0aGluZyB0byBtZSBmb3IgdGhpcyBwcmljZeKAnX5+ CgoKCgoKISFMb2piYW4gTGVzc29ucyDigJMgbGVzc29uIHRocmVlICh0YW5ydSBhbmQgbG8pCgpJ biB0aGlzIGxlc3NvbiwgeW91IHdpbGwgYmVjb21lIGZhbWlsaWFyIHdpdGggdGhlIGNvbmNlcHQg b2YgYSAnJ3RhbnJ1JycuIEEgdGFucnUgaXMgZm9ybWVkIHdoZW4gYSBzZWxicmkgaXMgcHV0IGlu IGZyb250IG9mIGFub3RoZXIgc2VsYnJpLCBtb2RpZnlpbmcgaXRzIG1lYW5pbmcuIEEgdGFucnUg aXMgaXRzZWxmIGEgc2VsYnJpLCBhbmQgY2FuIGNvbWJpbmUgd2l0aCBvdGhlciBzZWxicmkgb3Ig dGFucnUgdG8gZm9ybSBtb3JlIGNvbXBsZXggdGFucnUuIFRodXMgJyd6ZGFuaSB2ZWNudScnIGlz IGEgdGFucnUsIGFzIHdlbGwgYXMgICcncGVseHUgemRhbmkgdmVjbnUnJywgd2hpY2ggaXMgbWFk ZSBmcm9tIHRoZSB0YW5ydSAnJ3BlbHh1IHpkYW5pJycgYW5kIHRoZSBzaW5nbGUgYnJpdmxhIHdv cmQgJyd2ZWNudScnLiBUbyB1bmRlcnN0YW5kIHRoZSBjb25jZXB0IG9mIHRhbnJ1LCBjb25zaWRl ciB0aGUgRW5nbGlzaCBub3VuIGNvbWJpbmF0aW9uIOKAnGxlbW9uIHRyZWXigJ0uIElmIHlvdSBk aWRuJ3Qga25vdyB3aGF0IGEgbGVtb24gdHJlZSB3YXMsIGJ1dCBoYWQgaGVhcmQgYWJvdXQgYm90 aCBsZW1vbnMgYW5kIHRyZWVzLCB5b3Ugd291bGQgbm90IGJlIGFibGUgdG8gZGVkdWNlIHdoYXQg YSBsZW1vbiB0cmVlIHdhcy4gUGVyaGFwcyBhIGxlbW9uLWNvbG9yZWQgdHJlZSwgb3IgYSB0cmVl IHNoYXBlZCBsaWtlIGEgbGVtb24sIG9yIGEgdHJlZSB3aG9zZSBiYXJrIHRhc3RlcyBsaWtlIGxl bW9uLiBUaGUgb25seSB0aGluZ3MgeW91IGNvdWxkIGtub3cgZm9yIHN1cmUgd291bGQgYmUgdGhh dCBpdCB3b3VsZCBiZSBhIHRyZWUsIGFuZCBpdCB3b3VsZCBiZSBsZW1vbi1saWtlIGluIHNvbWUg d2F5LgoKQSB0YW5ydSBpcyBjbG9zZWx5IGFuYWxvZ291cyB0byB0aGlzLiBJdCBjYW5ub3QgYmUg c2FpZCBleGFjdGx5IHdoYXQgYSAnJ3pkYW5pIHZlY251JycgaXMsIGJ1dCBpdCBjYW4gYmUgc2Fp ZCB0aGF0IGl0IGlzIGRlZmluaXRlbHkgYSB2ZWNudSwgYW5kIHRoYXQgaXQncyB6ZGFuaS1saWtl IGluIHNvbWUgd2F5LiBBbmQgaXQgY291bGQgYmUgemRhbmktbGlrZSBpbiBhbnkgd2F5LiBJbiB0 aGVvcnksIG5vIG1hdHRlciBob3cgc2lsbHkgb3IgYWJzdXJkIHRoZSBjb25uZWN0aW9uIHRvIHpk YW5pIHdhcywgaXQgY291bGQgc3RpbGwgdHJ1bHkgYmUgYSAnJ3pkYW5pIHZlY251JycuIEhvd2V2 ZXIsIGl0IG11c3QgYWN0dWFsbHkgYmUgYSB2ZWNudSBpbiB0aGUgb3JkaW5hcnkgc2Vuc2UgaW4g b3JkZXIgZm9yIHRoZSB0YW5ydSB0byBhcHBseS4gWW91IGNvdWxkIGdsb3NzICcnemRhbmkgdmVj bnUnJyBhcyDigJxob21lIHNlbGxlcuKAnSwgb3IgZXZlbiBiZXR0ZXIgYnV0IHdvcnNlIHNvdW5k aW5nIOKAnGEgaG9tZS10eXBlLW9mIHNlbGxlcuKAnS4gVGhlIHBsYWNlIHN0cnVjdHVyZSBvZiBh IHRhbnJ1IGlzIGFsd2F5cyB0aGF0IG9mIHRoZSByaWdodG1vc3Qgc2VsYnJpLiBJdCdzIGFsc28g c2FpZCB0aGF0IHRoZSBsZWZ0IHNlbGJyaSBtb2RpZmllcyB0aGUgcmlnaHQgc2VsYnJpLgoK4oCc UmVhbGx5P+KAnSwgeW91IGFzaywgc2NlcHRpY2FsbHksIOKAnEl0IGRvZXNuJ3QgbWF0dGVyIGhv dyBzaWxseSB0aGUgY29ubmVjdGlvbiB0byB0aGUgbGVmdCB3b3JkIGluIGEgdGFucnUgaXMsIGl0 J3Mgc3RpbGwgdHJ1ZT8gU28gSSBjb3VsZCBjYWxsIGFsbCBzZWxsZXJzIGZvciAnJ3pkYW5pIHZl Y251JycgYW5kIHRoZW4gbWFrZSB1cCBzb21lIHNpbGx5IGV4Y3VzZSB3aHkgSSB0aGluayBpdCdz IHpkYW5pLWxpa2U/4oCdCgpXZWxsIHllcywgYnV0IHRoZW4geW91J2QgYmUgYSBkaWNrLiBPciBh dCBsZWFzdCB5b3UnZCBiZSBpbnRlbnRpb25hbGx5IG1pc2xlYWRpbmcuIEluIGdlbmVyYWwsIHlv dSBzaG91bGQgdXNlIGEgdGFucnUgd2hlbiBpdCdzIG9idmlvdXMgaG93IHRoZSBsZWZ0IHdvcmQg cmVsYXRlcyB0byB0aGUgcmlnaHQuCgoKCkF0dGVtcHQgdG8gdHJhbnNsYXRlIHRoZSBmb2xsb3dp bmc6ICcndGkgcGVseHUgemRhbmkgZG8nJwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnFRoYXQg aXMgYSB5ZWxsb3cgaG9tZSBmb3IgeW914oCdIEFnYWluLCB3ZSBkb24ndCBrbm93IGluIHdoaWNo IHdheSBpdCdzIHllbGxvdy4gUHJvYmFibHkgaXQncyBwYWludGVkIHllbGxvdywgYnV0IHdlIGRv bid0IGtub3cgZm9yIHN1cmUufn4KCgoKJydtaSB2ZWNudSBkdW5kYScnCgoKCkFuc3dlcjogfn5n cmV5LGdyZXk64oCcSSBzZWxsLWxpa2UgZ2l2ZeKAnS4gV2hhdCBjYW4gdGhhdCBtZWFuPyBObyBp ZGVhLiBJdCBjZXJ0YWlubHkgZG9lc24ndCBtZWFuIHRoYXQgeW91IHNvbGQgc29tZXRoaW5nLCBz aW5jZSwgYnkgZGVmaW5pdGlvbiBvZiAnJ2R1bmRhJycsIHRoZXJlIGNhbiBiZSBubyBwYXltZW50 IGludm9sdmVkLiBJdCBoYXMgdG8gYmUgYSBnaXZlYXdheSwgYnV0IGJlIHNlbGwtbGlrZSBpbiBz b21lIGFzcGVjdC5+fgoKCgpBbmQgbm93IGZvciBzb21ldGhpbmcgY29tcGxldGVseSBkaWZmZXJl bnQuIFdoYXQgaWYgSSB3YW50ZWQgdG8gc2F5IEkgc29sZCB0byBhIEdlcm1hbj8KCicnX19kb3Rj b19fJycgeDEgaXMgR2VybWFuL3JlZmxlY3RzIEdlcm1hbiBjdWx0dXJlIGluIGFzcGVjdCB4MgoK CgpJIGNhbid0IHNheSAnJ21pIHZlY251IHpvJ2UgZG90Y28nJyBiZWNhdXNlIHRoYXQgd291bGQg bGVhdmUgdHdvIHNlbGJyaSBpbiBhIGJyaWRpLCB3aGljaCBpcyBub3QgcGVybWl0dGVkLiBJIGNv dWxkIHNheSAnJ21pIGRvdGNvIHZlY251JycgYnV0IHRoYXQgd291bGQgYmUgdW5uZWNlc3Nhcnkg dmFndWUgLSBJIGNvdWxkIHNlbGwgaW4gYSBHZXJtYW4gd2F5LiBMaWtld2lzZSwgaWYgSSB3YW50 IHRvIHNheSDigJxJIGFtIGZyaWVuZHMgd2l0aCBhbiBBbWVyaWNhbuKAnSwgd2hhdCBzaG91bGQg SSBzYXk/CgonJ19fcGVuZG9fXycnIDF4IGlzIGEgZnJpZW5kIG9mIHgyCgonJ19fbWVya29fXycn IHgxIGlzIEFtZXJpY2FuL3JlZmxlY3QgVVMgY3VsdHVyZSBpbiBhc3BlY3QgeDIKCgoKQWdhaW4s IHRoZSBvYnZpb3VzIHdvdWxkIGJlIHRvIHNheSAnJ21pIHBlbmRvIG1lcmtvJycsIGJ1dCB0aGF0 IHdvdWxkIGZvcm0gYSB0YW5ydSwgbWVhbmluZyDigJxJIGFtIGZyaWVuZC1saWtlIEFtZXJpY2Fu 4oCdLCB3aGljaCBpcyB3cm9uZy4gV2hhdCB3ZSByZWFsbHkgd2FudCB0byBpcyB0byB0YWtlIHRo ZSBzZWxicmkgJydtZXJrbycnIGFuZCB0cmFuc2Zvcm0gaXQgaW50byBhIHN1bXRpIHNvIGl0IGNh biBiZSB1c2VkIGluIHRoZSBzZWxicmkgJydwZW5kbycnLiBUaGlzIGlzIGRvbmUgYnkgdGhlIHR3 byB3b3JkcyAnJ2xvJycgYW5kICcna3UnJy4KCl9fJydsbycnX18g4oCTIGdlbmVyaWMgYmVnaW4g Y29udmVydCBzZWxicmkgdG8gc3VtdGkgd29yZC4gRXh0cmFjdHMgeDEgb2Ygc2VsYnJpIHRvIHVz ZSBhcyBzdW10aS4KCl9fJydrdScnX18g4oCTIGVuZCBjb252ZXJ0IHNlbGJyaSB0byBzdW10aSBw cm9jZXNzLgoKCgpZb3Ugc2ltcGx5IHBsYWNlIGEgc2VsYnJpIGJldHdlZW4gdGhlc2UgdHdvIHdv cmRzLCBhbmQgaXQgdGFrZXMgYW55dGhpbmcgdGhhdCBjYW4gZmlsbCB0aGUgeDEgb2YgdGhhdCBz ZWxicmkgYW5kIHR1cm5zIGl0IGludG8gYSBzdW10aS4KClNvIGZvciBpbnN0YW5jZSwgdGhlIHRo aW5ncyB0aGF0IGNhbiBmaWxsIHpkYW5p4oCYcyB4MSBhcmUgb25seSB0aGluZ3Mgd2hpY2ggYXJl IGhvbWVzIG9mIHNvbWVib2R5LiBTbyAnJ2xvIHpkYW5pIGt1JycgbWVhbnMg4oCcYSBob21lIG9y IHNvbWUgaG9tZXMgZm9yIHNvbWVib2R5LuKAnSBTaW1pbGFybHksIGlmIEkgc2F5IHRoYXQgc29t ZXRoaW5nIGlzIHBlbHh1LCBpdCBtZWFucyBpdCdzIHllbGxvdy4gU28gJydsbyBwZWx4dSBrdScn IHJlZmVycyB0byBzb21ldGhpbmcgeWVsbG93LgoKCgpOb3cgeW91IGhhdmUgdGhlIG5lY2Vzc2Fy eSBncmFtbWFyIHRvIGJlIGFibGUgdG8gc2F5IOKAnEkgYW0gZnJpZW5kcyB3aXRoIGFuIEFtZXJp Y2FuLuKAnSBIb3c/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JydtaSBwZW5kbyBsbyBtZXJrbyBr dScnfn4KCgoKVGhlcmUgaXMgYSBnb29kIHJlYXNvbiB3aHkgdGhlICcna3UnJyBpcyBuZWNlc3Nh cnkuIFRyeSB0byB0cmFuc2xhdGUg4oCcQSBHZXJtYW4gc2VsbHMgdGhpcyB0byBtZeKAnQoKCgpB bnN3ZXI6IH5+Z3JleSxncmV5OicnbG8gZG90Y28ga3UgdmVjbnUgdGkgbWknJyBJZiB5b3UgbGVh dmUgb3V0IHRoZSBrdSwgeW91IGRvIG5vdCBnZXQgYSBicmlkaSwgYnV0IHNpbXBseSB0aHJlZSBz dW10aS4gU2luY2UgbG/igKZrdSBjYW5ub3QgY29udmVydCBicmlkaSwgdGhlIHRpIGlzIGZvcmNl ZCBvdXRzaWRlIHRoZSBzdW10aSwgdGhlIGxvLWNvbnN0cnVjdCBpcyBmb3JjZWQgdG8gY2xvc2Ug YW5kIGl0IHNpbXBseSBiZWNvbWVzIHRoZSB0aHJlZSBzdW10aSBvZiAnJ2xvIGRvdGNvIHZlY251 IHtrdX0nJywgJyd0aScnIGFuZCAnJ21pJycufn4KCgoKWW91IGFsd2F5cyBoYXZlIHRvIGJlIGNh cmVmdWwgd2l0aCBqdWZyYSBsaWtlICcnbG8gemRhbmkga3UgcGVseHUnJy4gSWYgdGhlICcna3Un JyBpcyBsZWZ0IG91dCB0aGUgY29udmVyc2lvbiBwcm9jZXNzIGRvZXMgbm90IGVuZCwgYW5kIGl0 IHNpbXBseSBiZWNvbWVzIG9uZSBzdW10aSwgbWFkZSBmcm9tIHRoZSB0YW5ydSAnJ3pkYW5pIHBl bHh1JycgYW5kIHRoZW4gY29udmVydGVkIHdpdGggJydsbycnLgoKCgoKCiEhTG9qYmFuIExlc3Nv bnMg4oCTIGxlc3NvbiBmb3VyIChhdHRpdHVkaW5hbHMpCgpBbm90aGVyIGNvbmNlcHQgd2hpY2gg Y2FuIGJlIHVuZmFtaWxpYXIgdG8gRW5nbGlzaCBzcGVha2VycyBpcyB0aGF0IG9mIGF0dGl0dWRp bmFscy4gQXR0aXR1ZGluYWxzIGFyZSB3b3JkcyB0aGF0IGV4cHJlc3MgZW1vdGlvbnMgZGlyZWN0 bHkuIFRoZSBpZGVhIG9mIGF0dGl0dWRpbmFscyBvcmlnaW5hdGVkIGluIHRoZSBmZW1pbmlzdCBj b25zdHJ1Y3RlZCBsYW5ndWFnZSBMYWRhbiwgc3VwcG9zZWRseSB0byBlbmFibGUgdHJ1ZSBmZW1h bGUgZW1vdGlvbnMuIFRoZSBpZGVhIHdhcyB0aGF0IGZlbWFsZSBlbW90aW9uYWwgZXhwcmVzc2lv biB3YXMgaGluZGVyZWQgYnkgbWFsZSBkb21pbmF0ZWQgbGFuZ3VhZ2UsIGFuZCBpZiBvbmx5IHRo ZXkgd2VyZSBhYmxlIHRvIGJlIGV4cHJlc3NlZCBtb3JlIGZyZWVseSwgdGhpcyB3b3VsZCBlbXBv d2VyIHdvbWVuIHRocm91Z2ggbGliZXJhdGlvbiBvZiB0aGUgbGFuZ3VhZ2UuCgpJbiBMb2piYW4s IHRoZXJlIGlzIG5vIHN1Y2ggYWdlbmRhLCBhbmQgYXR0aXR1ZGluYWxzIG1vc3QgcHJvYmFibHkg aGF2ZSBiZWVuIGRlc2lnbmVkIGludG8gdGhlIGxhbmd1YWdlIGJlY2F1c2UgdGhleSB0dXJuZWQg b3V0IHRvIGJlIGluY3JlZGlibHkgYXdlc29tZSBhbmQgdXNlZnVsLiBUaGV5IGFsbCBoYXZlIGEg c28tY2FsbGVkIGZyZWUgZ3JhbW1hciwgd2hpY2ggbWVhbnMgdGhhdCB0aGV5IGNhbiBhcHBlYXIg YWxtb3N0IGFueXdoZXJlIHdpdGhpbiBicmlkaSB3aXRob3V0IGRpc3J1cHRpbmcgdGhlIGJyaWRp J3MgZ3JhbW1hciBvciBhbnkgZ3JhbW1hdGljYWwgY29uc3RydWN0cy4KCkluIExvamJhbiBncmFt bWFyLCBhbiBhdHRpdHVkaW5hbCBhcHBsaWVzIHRvIHRoZSBwcmV2aW91cyB3b3JkLiBJZiB0aGF0 IHByZXZpb3VzIHdvcmQgaXMgYSB3b3JkIHdoaWNoIGJlZ2lucyBhIGNvbnN0cnVjdCAobGlrZSAn Jy5pJycgb3IgJydsbycnKSwgaXQgYXBwbGllcyB0byB0aGUgZW50aXJlIGNvbnN0cnVjdC4gTGlr ZXdpc2UsIGlmIHRoZSBhdHRpdHVkaW5hbCBmb2xsb3dzIGEgd29yZCB3aGljaCBlbmRzIGEgY29u c3RydWN0IGxpa2UgJydrdScnLCBpdCBhcHBsaWVzIHRvIHRoZSBlbmRlZCBjb25zdHJ1Y3QuCgoK CkxldCdzIGhhdmUgdHdvIGF0dGl0dWRpbmFscyB0byBtYWtlIHNvbWUgZXhhbXBsZXM6CgpfXycn LnVpJydfXzogYXR0aXR1ZGluYWw6IHNpbXBsZSBwdXJlIGVtb3Rpb246IGhhcHBpbmVzcyAtIHVu aGFwcGluZXNzCgpfXycnemEnYScnX186IGF0dGl0dWRpbmFsOiBldmlkZW50aWFsOiBJIGRpcmVj dGx5IG9ic2VydmUKCgoKTm90ZSB0aGF0IGluIHRoZSBkZWZpbml0aW9uIG9mICcnLnVpJycsIHRo ZXJlIGFyZSBsaXN0ZWQgdHdvIGVtb3Rpb25zLCBoYXBwaW5lc3MgYW5kIHVuaGFwcGluZXNzLiBU aGlzIG1lYW5zIHRoYXQgJycudWknJyBpcyBkZWZpbmVkIGFzIGhhcHBpbmVzcywgd2hpbGUgaXRz IOKAnG5lZ2F0aW9u4oCdLCBtZWFucyB1bmhhcHBpbmVzcy4g4oCcTmVnYXRpb27igJ0gbWlnaHQg YmUgdGhlIHdyb25nIHdvcmQgaGVyZS4gVGVjaG5pY2FsbHksIHRoZSBvdGhlciBkZWZpbml0aW9u IG9mICcnLnVpJycgaXMgYW5vdGhlciBjb25zdHJ1Y3QsICcnLnVpIG5haScnLiBNb3N0IG9mIHRo ZSB0aW1lLCB0aGUgc2Vjb25kIGRlZmluaXRpb24gb2YgYXR0aXR1ZGluYWxzIC0gdGhlIG9uZXMg c3VmZml4ZWQgd2l0aCAnJ25haScnIC0gcmVhbGx5IGlzIHRoZSBuZWdhdGlvbiBvZiB0aGUgYmFy ZSBhdHRpdHVkaW5hbC4gT3RoZXIgdGltZXMsIG5vdCBzbyBtdWNoLgoKX18nJ25haScnX18gbWlz Yy4gbmVnYXRpb24gLSBhdHRhY2hlZCB0byBhdHRpdHVkaW5hbHMsIGl0IGNoYW5nZXMgdGhlIG1l YW5pbmcgaW50byB0aGUgYXR0aXR1ZGluYWwncyAibmVnYXRpb24iCgoKCkFuZCBzb21lIG1vcmUg c2VsYnJpLCBqdXN0IGZvciB0aGUgaGVjayBvZiBpdDoKCl9fJydjaXRrYScnX18g4oCTIHgxIGVh dHMgeDIKCl9fJydwbGlzZScnX18g4oCTIHgxIGlzIGFuIGFwcGxlIG9mIHN0cmFpbi90eXBlIHgy CgoKClRoZSBzZW50ZW5jZSAnJ2RvIGNpdGthIGxvIHBsaXNlIGt1IC51aScnLCBtZWFucyDigJxZ b3UgZWF0IGFuIGFwcGxlLCB5YXkh4oCdIChlc3BlY2lhbGx5IGV4cHJlc3NpbmcgdGhhdCBpdCBp cyB0aGUgX19hcHBsZV9fIHRoYXQgdGhlIHNwZWFrZXIgaXMgaGFwcHkgYWJvdXQsIG5vdCB0aGUg ZWF0aW5nLCBvciB0aGUgZmFjdCB0aGF0IGl0IHdhcyB5b3UuKSBJbiB0aGUgc2VudGVuY2UgJydk byB6YSdhIGNpdGthIGxvIHBsaXNlIGt1JycsIHRoZSBzcGVha2VyIGRpcmVjdGx5IG9ic2VydmVz IHRoYXQgaXQgaXMgaW5kZWVkIHRoZSBfX+KAnHlvdeKAnV9fLCB3aG8gZWF0cyBhbiBhcHBsZSBh cyBvcHBvc2VkIHRvIHNvbWVvbmUgZWxzZS4KCgoKSWYgYW4gYXR0aXR1ZGluYWwgaXMgcGxhY2Vk IGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIGJyaWRpLCBpdCBpcyB1bmRlcnN0b29kIHRvIGFwcGx5 IHRvIGFuIGV4cGxpY2l0IG9yIGltcGxpY2l0ICcnLmknJywgdGh1cyBhcHBseWluZyB0byB0aGUg ZW50aXJlIGJyaWRpOgoKJycudWkgemEnYSBkbyBkdW5kYSBsbyBwbGlzZSBrdSBtaScnIOKAkyDi gJxZYXksIEkgb2JzZXJ2ZSB0aGF0IHlvdSBnaXZlIGFuL3NvbWUgYXBwbGUgdG8gbWUh4oCdCgoK CicnbWkgdmVjbnUgLnVpIG5haSBsbyB6ZGFuaSBrdScnIOKAnEkgc2VsbCAod2hpY2ggc3Vja3Mh KSBhIGhvbWXigJ0uCgoKClRyeSBpdCBvdXQgd2l0aCBhIGZldyBleGFtcGxlcy4gRmlyc3QsIHRo b3VnaCwgaGVyZSBhcmUgc29tZSBtb3JlIGF0dGl0dWRpbmFsczoKCl9fJycudSd1JydfXyBhdHRp dHVkaW5hbDogc2ltcGxlIHB1cmUgZW1vdGlvbjogZ3VpbHQgLSByZW1vcnNlbGVzc25lc3MgLSBp bm5vY2VuY2UuCgpfXycnLm9pJydfXyBhdHRpdHVkaW5hbDogY29tcGxleCBwdXJlIGVtb3Rpb246 IGNvbXBsYWludCAtIHBsZWFzdXJlLgoKX18nJy5pdScnX18gYXR0aXR1ZGluYWw6IG1pc2NlbGxh bmVvdXMgcHVyZSBlbW90aW9uOiBsb3ZlIC0gaGF0ZS4KCgoKTG9vayBhdCB0aGF0LCBhIHdvcmQg d2l0aCB0aHJlZSBlbW90aW9ucyBpbiB0aGUgZGVmaW5pdGlvbiEgVGhlIG1pZGRsZSBvbmUgaXMg YWNjZXNzZWQgYnkgc3VmZml4aW5uZyB3aXRoICcnY3UnaScnLiBJdCdzIGNvbnNpZGVyZWQgdGhl IG1pZHBvaW50IG9mIHRoZSBlbW90aW9uLgoKX18nJ2N1J2knJ19fIGF0dGl0dWRpbmFsIG1pZHBv aW50IHNjYWxhcjogYXR0YWNoIHRvIGF0dGl0dWRpbmFsIHRvIGNoYW5nZSB0aGUgbWVhbmluZyB0 byB0aGUgIm1pZHBvaW50IiBvZiB0aGUgZW1vdGlvbi4KCgoKVHJ5IHNheWluZyDigJxJIGdpdmUg c29tZXRoaW5nIHRvIGEgR2VybWFuLCB3aG8gSSBsb3Zl4oCdCgoKCkFuc3dlcjogfn5ncmV5LGdy ZXk6JydtaSBkdW5kYSBmaSBsbyBkb3RjbyBrdSAuaXUnJyBvciAnJ3pvJ2UnJyBpbnN0ZWFkIG9m ICcnZmknJ35+CgoKCk5vdyDigJxBYWgsIEkgZWF0IGEgeWVsbG93IGFwcGxl4oCdCgpBbnN3ZXI6 IH5+Z3JleSxncmV5OicnLm9pIG5haSBtaSBjaXRrYSBsbyBwZWx4dSBwbGlzZSBrdScnfn4KCgoK TGV0J3MgaGF2ZSBhbm90aGVyIGF0dGl0dWRpbmFsIG9mIGEgZGlmZmVyZW50IGtpbmQgdG8gaWxs dXN0cmF0ZSBzb21ldGhpbmcgcGVjdWxpYXI6CgonJy5laScnIEF0dGl0dWRpbmFsOiBjb21wbGV4 IHByb3Bvc2l0aW9uYWwgZW1vdGlvbjogb2JsaWdhdGlvbiAtIGZyZWVkb20uCgoKClNvLCBxdWl0 ZSBlYXN5OiDigJxJIGhhdmUgdG8gZ2l2ZSB0aGUgYXBwbGUgYXdheeKAnSBpcyAnJ21pIGR1bmRh IC5laSBsbyBwbGlzZSBrdScnLCByaWdodD8gSXQgaXMsIGFjdHVhbGx5ISBXaGVuIHlvdSB0aGlu ayBhYm91dCBpdCwgdGhhdCdzIHdlaXJkLiBXaHkgaXMgaXQgdGhhdCBhbGwgdGhlIG90aGVyIGF0 dGl0dWRpbmFscyB3ZSBoYXZlIHNlZW4gc28gZmFyIGV4cHJlc3NlcyB0aGUgc3BlYWtlcidzIGZl ZWxpbmcgYWJvdXQgdGhlIGJyaWRpLCBidXQgdGhpcyBvbmUgYWN0dWFsbHkgY2hhbmdlcyB3aGF0 IHRoZSBicmlkaSBtZWFucz8gU3VyZWx5LCBieSBzYXlpbmcg4oCcSSBoYXZlIHRvIGdpdmUgdGhl IGFwcGxlIGF3YXnigJ0sIHdlIHNheSBub3RoaW5nIGFib3V0IHdoZXRoZXIgdGhlIGFwcGxlIGFj dHVhbGx5IGlzIGJlaW5nIGdpdmVuIGF3YXkuIElmIEkgaGFkIHVzZWQgJycudWknJywgaG93ZXZl ciwgSSB3b3VsZCBhY3R1YWxseSBoYXZlIHN0YXRlZCB0aGF0IEkgZ2F2ZSB0aGUgYXBwbGUgYXdh eSwgYW5kIHRoYXQgSSB3YXMgaGFwcHkgYWJvdXQgaXQuIFdoYXQncyB0aGF0IGFsbCBhYm91dD8K CgoKVGhpcyBpc3N1ZSwgZXhhY3RseSBob3cgYXR0aXR1ZGluYWxzIGNoYW5nZSB0aGUgY29uZGl0 aW9ucyBvbiB3aGljaCBhIGJyaWRpIGlzIHRydWUsIGlzIGEgc3ViamVjdCBvZiBhIG1pbm9yIGRl YmF0ZS4gVGhlIG9mZmljaWFsLCDigJx0ZXh0Ym9va+KAnSBydWxlLCB3aGljaCBwcm9iYWJseSB3 b24ndCBiZSBjaGFuZ2VkLCBpcyB0aGF0IHRoZXJlIGlzIGEgZGlzdGluY3Rpb24gYmV0d2VlbiDi gJxwdXJlIGVtb3Rpb25z4oCdIGFuZCDigJxwcm9wb3NpdGlvbmFsIGVtb3Rpb25z4oCdLiBPbmx5 IHByb3Bvc3Rpb25hbCBlbW90aW9ucyBjYW4gY2hhbmdlIHRoZSB0cnV0aCBjb25kaXRpb25zLCB3 aGlsZSBwdXJlIGVtb3Rpb25zIGNhbm5vdC4gSW4gb3JkZXIgdG8gZXhwcmVzcyBhIHByb3Bvc2l0 aW9uYWwgZW1vdGlvbmFsIGF0dGl0dWRpbmFsIHdpdGhvdXQgY2hhbmdpbmcgdGhlIHRydXRoIHZh bHVlIG9mIHRoZSBicmlkaSwgeW91IGNhbiBqdXN0IHNlcGFyYXRlIGl0IGZyb20gdGhlIGJyaWRp IHdpdGggJycuaScnLiBUaGVyZSBpcyBhbHNvIGEgd29yZCBmb3IgZXhwbGljaXRseSBjb25zZXJ2 aW5nIG9yIGNoYW5naW5nIHRoZSB0cnV0aCBjb25kaXRpb25zIG9mIGEgYnJpZGk6CgoKCl9fJydk YSdpJydfXyBhdHRpdHVkaW5hbDogZGlzY3Vyc2l2ZTogc3VwcG9zaW5nIC0gaW4gZmFjdAoKU2F5 aW5nICcnZGEnaScnIGluIGEgYnJpZGkgY2hhbmdlcyB0aGUgdHJ1dGggY29uZGl0aW9ucyB0byBo eXBvdGhldGljYWwsIHdoaWNoIGlzIHRoZSBkZWZhdWx0IHVzaW5nIHByb3Bvc2l0aW9uYWwgYXR0 aXR1ZGluYWxzLiBTYXlpbmcgJydkYSdpIG5haScnIGNoYW5nZXMgdGhlIHRydXRoIGNvbmRpdGlv biB0byB0aGUgbm9ybWFsLCB3aGljaCBpcyBkZWZhdWx0IHVzaW5nIHB1cmUgYXR0aXR1ZGluYWxz LgoKCgpTbywgd2hhdCdzIHR3byB3YXlzIG9mIHNheWluZyDigJxJIGdpdmUgdGhlIGFwcGxlIGF3 YXnigJ0/IChhbmQgZmVlbCBvYmxpZ2F0aW9uIGFib3V0IGl0KQoKCgpBbnN3ZXI6IH5+Z3JleSxn cmV5OicnbWkgZHVuZGEgbG8gcGxpc2UgLmkgLmVpJycgIGFuZCAnJ21pIGR1bmRhIGRhJ2kgbmFp IC5laSBsbyBwbGlzZScnfn4KCgoKVGhlIGZlZWxpbmcgb2YgYW4gYXR0aXR1ZGluYWwgY2FuIGJl IHN1YnNjcmliZWQgdG8gc29tZW9uZSBlbHNlIHVzaW5nICcnZGFpJycuIFVzdWFsbHkgaW4gb3Jk aW5hcnkgc3BlZWNoLCB0aGUgYXR0aXR1ZGluYWwgaXMgc3Vic2NyaWJlZCB0byB0aGUgbGlzdGVu ZXIsIGJ1dCBpdCBkb2Vzbid0IGhhdmUgdG8gYmUgc28uIEFsc28sIGJlY2F1c2UgdGhlIHdvcmQg aXMgZ2xvc3NlZCDigJxlbXBhdGh54oCdIChmZWVsaW5nIG90aGVycyBlbW90aW9ucyksIHNvbWUg TG9qYmFuaXN0cyBtaXN0YWtlbmx5IHRoaW5rIHRoYXQgdGhlIHNwZWFrZXIgbXVzdCBzaGFyZSB0 aGUgZW1vdGlvbiBiZWluZyBzdWJzY3JpYmVkIHRvIG90aGVycy4KCl9fJydkYWknJ19fIGF0dGl0 dWRpbmFsIG1vZGlmeWVyOiBFbXBhdGh5IChzdWJzY3JpYmVzIGF0dGl0dWRpbmFsIHRvIHNvbWVv bmUgZWxzZSwgdW5zcGVjaWZpZWQpCgpFeGFtcGxlOiAnJ3UnaSAub2kgZGFpIGNpdGthIHRpJycg LSDigJxIYSBoYSwgdGhpcyB3YXMgZWF0ZW4hIFRoYXQgbXVzdCBoYXZlIGh1cnQh4oCdCgoKCldo YXQgb2Z0ZW4gdXNlZCBwaHJhc2UgY291bGQgJycub2kgdSdpIGRhaScnIG1lYW4/CgoKCkFuc3dl cjogfn5ncmV5LGdyZXk64oCcT3VjaCwgdmVyeSBmdW5ueS7igJ1+fgoKCgpBbmQgYW5vdGhlciBv bmUgdG8gdGVzdCB5b3VyIGtub3dsZWRnZTogVHJ5IHRvIHRyYW5zbGF0ZSDigJxIZSB3YXMgc29y cnkgaGUgc29sZCBhIGhvbWXigJ0gKHJlbWVtYmVyaW5nLCB0aGF0IHRlbnNlIGlzIGltcGxpZWQg YW5kIG5lZWQgbm90IGJlIHNwZWNpZmllZC4gQWxzbywg4oCcaGXigJ0gY291bGQgYmUgb2J2aW91 cyBmcm9tIGNvbnRleHQpCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6Jyd1J3UgZGFpIHZlY251IGxv IHpkYW5pIGt1Jyd+fgoKCgpMYXN0bHksIHRoZSBpbnRlbnNpdHkgb2YgYW4gYXR0aXR1ZGluYWwg Y2FuIGJlIHNwZWNpZmllZCB1c2luZyBjZXJ0YWluIHdvcmRzLiBUaGVzZSBjYW4gYmUgdXNlZCBh ZnRlciBhbiBhdHRpdHVkaW5hbCwgb3IgYW4gYXR0aXR1ZGluYWwgd2l0aCAnJ25haScnIG9yICcn Y3UnaScnIHN1ZmZpeGVkLiBJdCdzIGxlc3MgY2xlYXIgd2hhdCBoYXBwZW5zIHdoZW4geW91IGF0 dGFjaCBpdCB0byBvdGhlciB3b3JkcywgbGlrZSBhIHNlbGJyaSwgYnV0IGl0J3MgbW9zdGx5IHVu ZGVyc3Rvb2QgYXMgaW50ZW5zaWZ5aW5nIG9yIHdlYWtlbmluZyB0aGUgc2VsYnJpIGluIHNvbWUg dW5zcGVjaWZpZWQgd2F5OgoKfHwgTW9kaWZ5aW5nIHdvcmQgIHwgSW50ZW5zaXR5ICAKCiBjYWl8 ICAgRXh0cmVtZQoKIHNhaXwgICBTdHJvbmcKCiAobm9uZSl8ICAgVW5zcGVjaWZpZWQgKG1lZGl1 bSkKCiBydSdlICB8ICAgV2Vha3x8CgoKCldoYXQgZW1vdGlvbiBpcyBleHByZXNzZWQgdXNpbmcg JycudSdpIG5haSBzYWknJyA/CgpfXycnLnUnaScnX186IGF0dGl0dWRpbmFsOiBzaW1wbGUgcHVy ZSBlbW90aW9uOiBhbXVzZW1lbnQgLSB3ZWFyaW5lc3MKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTpT dHJvbmcgd2VhcmluZXNzfn4KCgoKQW5kIGhvdyB3b3VsZCB5b3UgZXhwcmVzcyB0aGF0IHlvdSBh cmUgbWlsZGx5IHJlbW9yc2VsZXNzPwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnLnUndSBjdSdp IHJ1J2UnJ35+CgoKCiEhTG9qYmFuIGxlc3NvbnMg4oCTIGxlc3NvbiBmaXZlIChTRSkKCkJlZm9y ZSB3ZSB2ZW50dXJlIGludG8gdGhlIHRlcnJpdG9yeSBvZiBtb3JlIGNvbXBsZXggY29uc3RydWN0 cywgeW91IHNob3VsZCBsZWFybiBhbm90aGVyIG1lY2hhbmlzbSBmb3IgcmVvcmRlcmluZyB0aGUg c3VtdGkgb2YgYSBzZWxicmkuIFRoaXMsIGFzIHdlIHdpbGwgc2hvdywgaXMgdmVyeSB1c2VmdWwg Zm9yIG1ha2luZyBkZXNjcmlwdGlvbi1saWtlIHN1bXRpICh0aGUga2luZCBvZiBzdW10aSB3aXRo ICcnbG8nJykuCgpDb25zaWRlciB0aGUgc2VudGVuY2Ug4oCcSSBlYXQgYSBnaWZ04oCdLCB3aGlj aCBtaWdodCBiZSBhcHByb3ByaWF0ZSBpZiB0aGF0IGdpZnQgaXMgYW4gYXBwbGUuIFRvIHRyYW5z bGF0ZSB0aGlzLCBpdCB3b3VsZCBzZWVtIG5hdHVyYWwgdG8gbG9vayB1cCBhIHNlbGJyaSBtZWFu aW5nIOKAnGdpZnTigJ0gYmVmb3JlIGNvbnRpbnVpbmcuIEhvd2V2ZXIsIGlmIG9uZSBsb29rcyBj YXJlZnVsbHkgYXQgdGhlIGRlZmluaXRpb24gb2YgJydkdW5kYScnLCB4MSBnaXZlcyB4MiB0byB4 Mywgb25lIHJlYWxpemVzIHRoYXQgdGhlIHgyIG9mICcnZHVuZGEnJyBpcyBzb21ldGhpbmcgZ2l2 ZW4g4oCTIGEgZ2lmdC4KClNvLCB0byBleHByZXNzIHRoYXQgc2VudGVuY2UsIHdlIGNhbid0IHNh eSAnJ21pIGNpdGthIGxvIGR1bmRhIGt1JycsIGJlY2F1c2UgJydsbyBkdW5kYSBrdScnIHdvdWxk IGJlIHRoZSB4MSBvZiAnJ2R1bmRhJycsIHdoaWNoIGlzIGEgZG9ub3Igb2YgYSBnaWZ0LiBDYW5u aWJhbGlzbSBhc2lkZSwgd2UgZG9uJ3Qgd2FudCB0byBzYXkgdGhhdC4gV2hhdCB3ZSB3YW50IGlz IGEgd2F5IHRvIGV4dHJhY3QgdGhlIHgyIG9mIGEgc2VsYnJpLgoKVGhpcyBpcyBvbmUgZXhhbXBs ZSB3aGVyZSBpdCBpcyB1c2VmdWwgdG8gdXNlIHRoZSB3b3JkICcnc2UnJy4gV2hhdCAnJ3NlJycg ZG9lcyBpcyB0byBtb2RpZnkgYSBzZWxicmkgc3VjaCB0aGF0IHRoZSB4MSBhbmQgeDIgb2YgdGhh dCBzZWxicmkgdHJhZGUgcGxhY2VzLiBUaGUgY29uc3RydWN0IG9mICcnc2UnJyArIHNlbGJyaSBp cyBvbiBpdHMgb3duIGNvbnNpZGVyZWQgb25lIHNlbGJyaS4gTGV0J3MgdHJ5IHdpdGggYW4gb3Jk aW5hcnkgc2VudGVuY2U6CgpfXycnZmFudmEnJ19fID0g4oCceDEgdHJhbnNsYXRlcyB4MiB0byBs YW5ndWFnZSB4MyBmcm9tIGxhbmd1YWdlIHg0IHdpdGggcmVzdWx0IG9mIHRyYW5zbGF0aW9uIHg1 4oCdCgonJ3RpIHNlIGZhbnZhIG1pJycgPSAnJ21pIGZhbnZhIHRpJycKClRoaXMgaXMgdHJhbnNs YXRlZCBieSBtZSAoPSBJIHRyYW5zbGF0ZSB0aGlzKS4gT2Z0ZW4sIGJ1dCBub3QgYWx3YXlzLCBi cmlkaSB3aXRoICcnc2UnJy1jb25zdHJ1Y3RzIGFyZSB0cmFuc2xhdGVkIHRvIHNlbnRlbmNlcyB3 aXRoIHRoZSBwYXNzaXZlIHZvaWNlLCBzaW5jZSB0aGUgeDEgaXMgb2Z0ZW4gdGhlIG9iamVjdCB0 YWtpbmcgYWN0aW9uLgoKJydzZScnIGhhcyBpdHMgb3duIGZhbWlseSBvZiB3b3Jkcy4gQWxsIG9m IHRoZW0gc3dhcCBhIGRpZmZlcmVudCBwbGFjZSB3aXRoIHRoZSB4MS4KCnx8c2UJfHN3YXAgeDEg YW5kIHgyCgp0ZQl8c3dhcCB4MSBhbmQgeDMKCnZlCXxzd2FwIHgxIGFuZCB4NAoKeGUJfHN3YXAg eDEgYW5kIHg1fHwKCk5vdGUgdGhhdCBzLCB0LCB2LCBhbmQgeCBhcmUgY29uc2VjdXRpdmUgY29u c29uYW50cyBpbiB0aGUgbG9qYmFuIGFscGhhYmV0LgoKCgpTbzogVXNpbmcgdGhpcyBrbm93bGVk Z2UsIHdoYXQgd291bGQgJyd0aSB4ZSBmYW52YSB0aScnIG1lYW4/CgoKCkFuc3dlcjogfn5ncmV5 LGdyZXk64oCcVGhpcyBpcyBhIHRyYW5zbGF0aW9uIG9mIHRoaXPigJ0gKG9yICcnZmFudmEgdGkg ZnUgdGknJyl+fgoKCgonJ3NlJycgYW5kIGl0cyBmYW1pbHkgY2FuIG9mIGNvdXJzZSBiZSBjb21i aW5lZCB3aXRoICcnZmEnJyBhbmQgaXRzIGZhbWlseS4gVGhlIHJlc3VsdCBjYW4gYmUgdmVyeSBj b25mdXNpbmcgaW5kZWVkLCBpZiB5b3Ugd2lzaCB0byBtYWtlIGl0IHNvOgoKX18nJ2tsYW1hJydf XyA9IOKAnHgxIHRyYXZlbHMvZ29lcyB0byB4MiBmcm9tIHgzIHZpYSB4NCB1c2luZyB4NSBhcyB0 cmFuc3BvcnRhdGlvbiBkZXZpY2XigJ0KCicnZnUgbG8gemRhbmkga3UgdGUga2xhbWEgZmUgZG8g dGkgZmEgbWknJyA9ICcnbWkgdGUga2xhbWEgZG8gdGkgbG8gemRhbmkga3UnJyBhbmQgc2luY2Ug Jyd0ZScnIGV4Y2hhbmdlcyB4MSBhbmQgeDM6ID0gJyd0aSBrbGFtYSBkbyBtaSBsbyB6ZGFuaSBr dScnCgrigJxUaGlzIHRyYXZlbHMgdG8geW91IGZyb20gbWUgdmlhIGEgaG9tZS7igJ0gT2YgY291 cnNlLCBubyBvbmUgd291bGQgbWFrZSBzdWNoIGEgc2VudGVuY2UgZXhjZXB0IHRvIGNvbmZ1c2Ug cGVvcGxlLCBvciBjcnVlbGx5IHRvIHRlc3QgdGhlaXIgdW5kZXJzdGFuZGluZyBvZiBMb2piYW4g Z3JhbW1hci4KCkFuZCB0aHVzLCB3ZSBoYXZlIGNvbWUgdG8gdGhlIHBvaW50IHdoZXJlIHdlIGNh biBzYXkg4oCcSSBlYXQgYSBnaWZ0LuKAnS4gU2ltcGx5IGV4Y2hhbmdlIHRoZSBzdW10aSBwbGFj ZXMgb2YgJydkdW5kYScnIHRvIGdldCB0aGUgZ2lmdCB0byBiZSB4MSwgdGhlbiBleHRyYWN0IHRo aXMgbmV3IHgxIHdpdGggJydsbycnLi4uJydrdScnLiBTbywgaG93IHdvdWxkIHlvdSBzYXkgaXQ/ CgpPbmUgKHBvc3NpYmxlKSBhbnN3ZXI6IH5+Z3JleSxncmV5OicnbWkgY2l0a2EgbG8gc2UgZHVu ZGEga3UnJ35+CgpUaGlzIHNob3dzIG9uZSBvZiB0aGUgbWFueSB1c2VzIGZvciAnJ3NlJycgYW5k IGl0cyBmYW1pbHkuCgoKCgoKISFMb2piYW4gbGVzc29ucyDigJMgbGVzc29uIHNpeCAoYWJzdHJh Y3Rpb25zKQoKU28gZmFyIHdlIGhhdmUgb25seSBleHByZXNzZWQgc2luZ2xlIHNlbnRlbmNlcyBv bmUgYXQgYSB0aW1lLiBUbyBleHByZXNzIG1vcmUgY29tcGxleCB0aGluZ3MsIGhvd2V2ZXIsIHlv dSBvZnRlbiBuZWVkIHN1Ym9yZGluYXRlIHNlbnRlbmNlcy4gTHVja2lseSwgdGhlc2UgYXJlIG11 Y2ggZWFzaWVyIGluIExvamJhbiB0aGFuIHdoYXQgb25lIHdvdWxkIGV4cGVjdC4KCldlIGNhbiBi ZWdpbiB3aXRoIGFuIGV4YW1wbGUgdG8gZGVtb25zdHJhdGUgdGhpczog4oCcSSBhbSBoYXBweSB0 aGF0IHlvdSBhcmUgbXkgZnJpZW5kLuKAnSBIZXJlLCB0aGUgbWFpbiBicmlkaSBpcyDigJxJIGFt IGhhcHB5IHRoYXQgWC7igJ0sIGFuZCB0aGUgc3ViLWJyaWRpIGlzIOKAnFlvdSBhcmUgbXkgZnJp ZW5kLuKAnSBMb29raW5nIGF0IHRoZSBkZWZpbml0aW9uIGZvciDigJxoYXBweeKAnSwgd2hpY2gg aXMgJydnbGVraScnOgoKX18nJ2dsZWtpJydfXyDigJx4MSBpcyBoYXBweSBhYm91dCB4MiAoZXZl bnQvc3RhdGUp4oCdCgpPbmUgc2VlcyB0aGF0IHRoZSB4MiBuZWVkcyB0byBiZSBhbiBldmVudCBv ciBhIHN0YXRlLiBUaGlzIGlzIG5hdHVyYWwsIGJlY2F1c2Ugb25lIGNhbm5vdCBiZSBoYXBweSBh Ym91dCBhbiBvYmplY3QgaW4gaXRzZWxmLCBvbmx5IGFib3V0IHNvbWUgc3RhdGUgdGhlIG9iamVj dCBpcyBpbi4gQnV0IGFsYXMhIE9ubHkgYnJpZGkgY2FuIGV4cHJlc3MgYSBzdGF0ZSBvciBhbiBl dmVudCwgYW5kIG9ubHkgc3VtdGkgY2FuIGZpbGwgdGhlIHgyIG9mICcnZ2xla2knJyEKCkFzIHlv dSBtaWdodCBoYXZlIGd1ZXNzZWQsIHRoZXJlIGlzIGEgc29sdXRpb24uIFRoZSB3b3JkcyAnJ3N1 J3UnJy4uLicna2VpJycgaXMgYSBnZW5lcmljIOKAnGNvbnZlcnQgYnJpZGkgdG8gc2VsYnJp4oCd IGZ1bmN0aW9uLCBhbmQgd29ya3MganVzdCBsaWtlICcnbG8nJ+KApicna3UnJy4KCl9fJydzdSd1 JydfXyB4MSBpcyBhbiBhYnN0cmFjdGlvbiBvZiB7YnJpZGl9IG9mIHR5cGUgeDIKCl9fJydrZWkn J19fIGVuZCBhYnN0cmFjdGlvbgoKCgpFeGFtcGxlOgoKX18nJ21lbGJpJydfXyB4MSBpcyBiZWF1 dGlmdWwgdG8geDIuCgpfXycnZGFuc3UnJ19fIHgxIGRhbmNlcyB0byBhY2NvbXBhbmltZW50L211 c2ljL3JoeXRobSB4Mi4KCicnbWVsYmkgc3UndSBkYW5zdSBrZWknJyAtIOKAnEJlYXV0aWZ1bCBk YW5jaW5n4oCdL+KAnEJlYXV0aWZ1bCBkYW5jZeKAnQoKCgpJdCdzIHVzdWFsbHkgaGFyZCB0byBm aW5kIGdvb2QgdXNlcyBvZiBhIGJyaWRpIGFzIGEgc2VsYnJpLiBIb3dldmVyLCBzaW5jZSAnJ3N1 J3UgQlJJREkga2VpJycgaXMgYSBzZWxicmksIG9uZSBjYW4gY29udmVydCBpdCB0byBhIHN1bXRp IHVzaW5nICcnbG8nJy4uLicna3UnJy4KCk5vdyB3ZSBoYXZlIHRoZSBlcXVpcG1lbnQgdG8gZXhw cmVzcyDigJxJIGFtIGhhcHB5IHRoYXQgeW91IGFyZSBteSBmcmllbmTigJ0uIFRyeSBpdCBvdXQh CgpfXycncGVuZG8nJ19fIOKAnHgxIGlzIGEgZnJpZW5kIG9mIHgy4oCdCgoKCkFuc3dlcjogfn5n cmV5LGdyZXk6JydtaSBnbGVraSBsbyBzdSd1IGRvIHBlbmRvIG1pIGtlaSBrdScnfn4KCgoKSG93 ZXZlciwgJydzdSd1JyfigKYnJ2tlaScnIGRvZXMgbm90IHNlZSBtdWNoIHVzZS4gUGVvcGxlIHBy ZWZlciB0byB1c2UgdGhlIG1vcmUgc3BlY2lmaWMgd29yZHMgJydudScn4oCmJydrZWknJyBhbmQg JydkdSd1JyfigKYnJ2tlaScnLiBUaGV5IHdvcmsgdGhlIHNhbWUgd2F5LCBidXQgbWVhbiBzb21l dGhpbmcgZGlmZmVyZW50LiAnJ2514oCma2VpJycgdHJlYXRzIHRoZSBicmlkaSBpbiBiZXR3ZWVu IGFzIGFuIGV2ZW50IG9yIHN0YXRlLCBhbmQgJydkdSd14oCma2VpJycgdHJlYXRzIGl0IGFzIGFu IGFic3RyYWN0IGJyaWRpLCBmb3IgZXhwcmVzc2luZyB0aGluZ3MgbGlrZSBpZGVhcywgdGhvdWdo dHMgb3IgdHJ1dGhzLiBBbGwgdGhlc2Ugd29yZHMgKGV4Y2VwdCAnJ2tlaScnKSBhcmUgY2FsbGVk IGFic3RyYWN0b3JzLiBUaGVyZSBhcmUgbWFueSBvZiB0aGVtLCBhbmQgb25seSBmZXcgYXJlIHVz ZWQgbXVjaC4gJydzdSd14oCma2VpJycgaXMgYSBnZW5lcmFsIGFic3RyYWN0b3IsIGFuZCB3aWxs IHdvcmsgaW4gYWxsIGNhc2VzLgoKCgpVc2UgJydudScnIHRvIHNheSDigJxJJ20gaGFwcHkgYWJv dXQgdGFsa2luZyB0byB5b3Uu4oCdCgpfXycndGF2bGEnJ19fIHgxIHRhbGtzIHRvIHgyIGFib3V0 IHN1YmplY3QgeDMgaW4gbGFuZ3VhZ2UgeDQuCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JydtaSBn bGVraSBsbyBudSB0YXZsYSBkbyBrZWkga3UnJyAobm90aWNlIGJvdGggdGhlIEVuZ2xpc2ggYW5k IHRoZSBMb2piYW4gaXMgdmFndWUgYXMgdG8gd2hvIGlzIGRvaW5nIHRoZSB0YWxraW5nKS5+fgoK CgpPdGhlciBpbXBvcnRhbnQgYWJzdHJhY3RvcnMgaW5jbHVkZTogJydrYS4uLmtlaScnIChwcm9w ZXJ0eS9hc3BlY3QgYWJzdHJhY3Rpb24pLCAnJ3NpJ28uLi5rZWknJyAoY29uY2VwdC9pZGVhIGFi c3RyYWN0aW9uKSwgJyduaS4uLmtlaScnIChxdWFudGl0eSBhYnN0cmFjdGlvbikgYW1vbmcgb3Ro ZXJzLiBUaGUgbWVhbmluZ3Mgb2YgdGhlc2UgaXMgYSBjb21wbGljYXRlZCBtYXR0ZXIsIGFuZCB3 aWxsIGJlIGRpc2N1c3NlZCBtdWNoIGxhdGVyLCBpbiBsZXNzb24gdHdlbnR5LW5pbmUuIEZvciBu b3csIHlvdSdsbCBoYXZlIHRvIGRvIHdpdGhvdXQgdGhlbS4KCgoKSXQgaXMgaW1wb3J0YW50IHRv IG5vdGljZSB0aGF0IHNvbWUgYWJzdHJhY3RvcnMgaGF2ZSBzZXZlcmFsIHN1bXRpIHBsYWNlcy4g QXMgYW4gZXhhbXBsZSwgJydkdSd1JycgY2FuIGJlIG1lbnRpb25lZC4gJydkdSd1JycgaXMgZGVm aW5lZDoKCicnZHUndScnID0g4oCcYWJzdHJhY3Rvci4geDEgaXMgdGhlIHByZWRpY2F0ZS9icmlk aSBvZiB7YnJpZGl9IGV4cHJlc3NlZCBpbiBzZW50ZW5jZSB4MuKAnS4KClRoZSBvdGhlciBzdW10 aSBwbGFjZXMgYmVzaWRlcyB4MSBpcyByYXJlbHkgdXNlZCwgYnV0ICcnbG8gc2UgZHUndSB7YnJp ZGl9IGtlaSBrdScnIGlzIHNvbWV0aW1lcyB1c2VkIGFzIGEgc3VtdGkgZm9yIGluZGlyZWN0IHF1 b3RhdGlvbjog4oCcSSBzYWlkIHRoYXQgSSB3YXMgZ2l2ZW4gYSBkb2figJ0gY2FuIGJlIHdyaXR0 ZW4gJydtaSBjdXNrdSBsbyBzZSBkdSd1IG1pIHRlIGR1bmRhIGxvIGdlcmt1IGt1IGtlaSBrdScn LCBpZiB5b3Ugd2lsbCBwYXJkb24gdGhlIHdlaXJkIGV4YW1wbGUuCgpfXycnY3Vza3UnJ19fIHgx IGV4cHJlc3NlcyB4MiB0byB4MyB0aHJvdWdoIG1lZGl1bSB4NAoKX18nJ2dlcmt1JydfXyB4MSBp cyBhIGRvZyBvZiByYWNlIHgyCgohIUxvamJhbiBsZXNzb25zIOKAkyBsZXNzb24gc2V2ZW4gKE5P SSkKCldoaWxlIHdlJ3JlIGF0IGl0LCB0aGVyZSdzIGFub3RoZXIgdHlwZSBvZiBzdWJvcmRpbmF0 ZSBicmlkaS4gVGhlc2UgYXJlIGNhbGxlZCByZWxhdGl2ZSBjbGF1c2VzLiBUaGV5IGFyZSBzZW50 ZW5jZXMgd2hpY2ggYWRkIHNvbWUgZGVzY3JpcHRpb24gdG8gYSBzdW10aS4gSW5kZWVkLCB0aGUg 4oCcd2hpY2jigJ0gaW4gdGhlIHByZXZpb3VzIHNlbnRlbmNlIG1hcmtlZCB0aGUgYmVnaW5uaW5n IG9mIGEgcmVsYXRpdmUgY2xhdXNlIGluIEVuZ2xpc2ggZGVzY3JpYmluZyByZWxhdGl2ZSBjbGF1 c2VzLiBJbiBMb2piYW4sIHRoZXkgY29tZSBpbiB0d28gZmxhdm9ycywgYW5kIGl0IG1pZ2h0IGJl IHdvcnRoIGRpc3Rpbmd1aXNoaW5nIHRoZSB0d28ga2luZHMgYmVmb3JlIGxlYXJuaW5nIGhvdyB0 byBleHByZXNzIHRoZW0uCgpUaGUgdHdvIGtpbmRzIGFyZSBjYWxsZWQgcmVzdHJpY3RpdmUgYW5k IG5vbi1yZXN0cmljdGl2ZSAob3IgaW5jaWRlbnRpYWwpIHJlbGF0aXZlIGNsYXVzZXMuIEFuIGV4 YW1wbGUgd291bGQgYmUgZ29vZCBoZXJlOgoK4oCcTXkgYnJvdGhlciwgd2hvIGlzIHR3byBtZXRl cnMgdGFsbCwgaXMgYSBwb2xpdGljaWFuLuKAnSBUaGlzIGNhbiBiZSB1bmRlcnN0b29kIGluIHR3 byB3YXlzLiBJIGNvdWxkIGhhdmUgc2V2ZXJhbCBicm90aGVycywgaW4gd2hpY2ggY2FzZSBzYXlp bmcgaGUgaXMgdHdvIG1ldGVycyB0YWxsIHdpbGwgbGV0IHlvdSBrbm93IHdoaWNoIGJyb3RoZXIg SSBhbSB0YWxraW5nIGFib3V0LiBPciBJIG1pZ2h0IGhhdmUgb25seSBvbmUgYnJvdGhlciwgaW4g d2hpY2ggY2FzZSBJIGFtIHNpbXBseSBnaXZpbmcgeW91IGFkZGl0aW9uYWwgaW5mb3JtYXRpb24u CgoKCkluIEVuZ2xpc2ggYXMgd2VsbCBhcyBMb2piYW4gd2UgZGlzdGluZ3Vpc2ggYmV0d2VlbiB0 aGVzZSB0d28ga2luZHMg4oCTIHRoZSBmaXJzdCBpbnRlcnByZXRhdGlvbiBpcyByZXN0cmljdGl2 ZSAoc2luY2UgaXQgaGVscHMgcmVzdHJpY3QgdGhlIHBvc3NpYmxlIGJyb3RoZXJzIEkgbWlnaHQg YmUgdGFsa2luZyBhYm91dCksIHRoZSBzZWNvbmQgbm9uLXJlc3RyaWN0aXZlLiBXaGVuIHNwZWFr aW5nIEVuZ2xpc2gsIGNvbnRleHQgYW5kIHRvbmUgb2Ygdm9pY2UgKG9yIGluIHdyaXR0ZW4gRW5n bGlzaCwgcHVuY3R1YXRpb24pIGhlbHBzIHVzIGRpc3Rpbmd1aXNoIGJldHdlZW4gdGhlc2UgdHdv LCBidXQgbm90IHNvIGluIExvamJhbi4gTG9qYmFuIHVzZXMgdGhlIGNvbnN0cnVjdHMgJydwb2ni gKZrdSdvJycgYW5kICcnbm9p4oCma3UnbycnIGZvciByZXN0cmljdGl2ZSBhbmQgbm9uLXJlc3Ry aWN0aXZlIHJlbGF0aXZlIGNsYXVzZXMsIHJlc3BlY3RpdmVseS4KCkxldCdzIGhhdmUgYSBMb2pi YW5pYyBleGFtcGxlLCB3aGljaCBjYW4gYWxzbyBleHBsYWluIG91ciBzdHJhbmdlIGdpZnQtZWF0 aW5nIGJlaGF2aW91ciBpbiB0aGUgZXhhbXBsZSBpbiBsZXNzb24gZml2ZToKCl9fJydub2knJ19f IGJlZ2luIG5vbi1yZXN0cmljdGl2ZSByZWxhdGl2ZSBjbGF1c2UgKGNhbiBvbmx5IGF0dGFjaCB0 byBzdW10aSkKCl9fJydwb2knJ19fIGJlZ2luIHJlc3RyaWN0aXZlIHJlbGF0aXZlIGNsYXVzZSAo Y2FuIG9ubHkgYXR0YWNoIHRvIHN1bXRpKQoKX18nJ2t1J28nJ19fIGVuZCByZWxhdGl2ZSBjbGF1 c2UKCgoKJydtaSBjaXRrYSBsbyBzZSBkdW5kYSBrdSBwb2kgcGxpc2Uga3UnbycnID0g4oCcSSBl YXQgYSBnaWZ0IHN1Y2ggdGhhdCAoc29tZXRoaW5nIGlzKSBhbiBhcHBsZeKAnS4gCgpIZXJlIHRo ZSAnJ3BvaeKApmt1J28nJyBpcyBwbGFjZWQganVzdCBhZnRlciAnJ2xvIHNlIGR1bmRhIGt1Jycs IHNvIGl0IGFwcGxpZXMgdG8gdGhlIGdpZnQuIFRvIGJlIHN0cmljdCwgdGhlIHJlbGF0aXZlIGNs YXVzZSBkb2VzIG5vdCBzcGVjaWZ5IHdoYXQgaXQgaXMsIHdoaWNoIGlzIGFuIGFwcGxlLCBidXQg c2luY2UgdGhlIHJlbGF0aXZlIGNsYXVzZSBhcHBsaWVzIHRvIHRoZSBnaWZ0LCB3ZSBjYW4gc2Fm ZWx5IGFzc3VtZSB0aGF0IGl0IG1lYW5zIHRoYXQgdGhlIGdpZnQgaXMgYW4gYXBwbGUuIEFmdGVy IGFsbCwgaW4gdGhlIGNvbnRleHQgb2YgbGVzc29uIGZpdmUsIHRoaXMgc2VlbXMgcmVhc29uYWJs ZS4gSWYgd2Ugd2FudCB0byBiZSBhYnNvbHV0ZWx5IHN1cmUgdGhhdCBpdCBpbmRlZWQgd2FzIHRo ZSBnaWZ0IHRoYXQgd2FzIGFuIGFwcGxlLCB3ZSB1c2UgdGhlIHdvcmQgJydrZSdhJycsIHdoaWNo IGlzIGEgJydzdW1rYSdpJycgKGEgTG9qYmFuIHByb25vdW4sIG1vcmUgb24gdGhlbSBsYXRlcikg cmVwcmVzZW50aW5nIHRoZSBzdW10aSB3aGljaCB0aGUgcmVsYXRpdmUgY2xhdXNlIGlzIGF0dGFj aGVkIHRvLgoKX18nJ2tlJ2EnJ19fIHN1bWthJ2k7IHJlZmVycyB0byB0aGUgc3VtdGksIHRvIHdo aWNoIHRoZSByZWxhdGl2ZSBjbGF1c2UgaXQgYXR0YWNoZWQuCgoKCicnLnVpIG1pIGNpdGthIGxv IHNlIGR1bmRhIGt1IHBvaSBrZSdhIHBsaXNlIGt1J28nJyA9IOKAnFlheSwgSSBlYXQgYSBnaWZ0 IHdoaWNoIGlzIGFuIGFwcGxl4oCdLgoKVG8gdW5kZXJsaW5lIHRoZSBkaWZmZXJlbmNlIGJldHdl ZW4gcmVzdHJpY3RpdmUgYW5kIG5vbi1yZXN0cmljdGl2ZSByZWxhdGl2ZSBjbGF1c2VzLCBoZXJl J3MgYW5vdGhlciBleGFtcGxlOgoKCgpfXycnbG9qYm8nJ19fIOKAnHgxIHJlZmxlY3RzIExvamJh bmljIGN1bHR1cmUvY29tbXVuaXR5IGlzIGFzcGVjdCB4MjsgeDEgaXMgTG9qYmFuaWMu4oCdCgoK CicnbWkgbm9pIGxvamJvIGt1J28gZmFudmEgZm8gbG8gbG9qYm8ga3UnJyA9IOKAnEksIHdobyBh bSBhIExvamJhbmljLCB0cmFuc2xhdGUgZnJvbSBzb21lIExvamJhbmljIGxhbmd1YWdlLuKAnSBI ZXJlLCB0aGVyZSBpcyBub3QgbXVsdGlwbGUgdGhpbmdzIHdoaWNoICcnbWknJyBjb3VsZCByZWZl ciB0bywgYW5kIHRoZSBmYWN0IHRoYXQgSSBhbSBsb2piYW5pYyBpcyBtZXJlbHkgYWRkaXRpb25h bCBpbmZvcm1hdGlvbiBub3QgbmVlZGVkIHRvIGlkZW50aWZ5IG1lLiBUaGVyZWZvcmUgJydub2ni gKZrdSdvJycgaXMgYXBwcm9wcmlhdGUuCgpTZWUgaWYgeW91IGNhbiB0cmFuc2xhdGUgdGhpczog 4oCcSSBmbGlydCB3aXRoIGEgbWFuIHdobyBpcyBiZWF1dGlmdWwvaGFuZHNvbWXigJ0uCgpfXycn bmFubXUnJ19fIOKAnHgxIGlzIGEgbWFu4oCdCgpfXycnbWVsYmknJ19fIOKAnHgxIGlzIGJlYXV0 aWZ1bCB0byB4MiBpbiBhc3BlY3QgKGthKSB4MyBieSBzdGFuZGFyZCB4NOKAnQoKX18nJ2Npbmpp a2NhJydfXyDigJx4MSBmbGlydHMvY291cnRzIHgyLCBleGhpYml0aW5nIHNleHVhbGl0eSB4MyBi eSBzdGFuZGFyZCB4NOKAnQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnbWkgY2luamlrY2EgbG8g bmFubXUga3UgcG9pIHtrZSdhfSBtZWxiaSBrdSdvJyd+fgoKCgpPbiBhIG1vcmUgdGVjaG5pY2Fs IHNpZGUgbm90ZSwgaXQgbWlnaHQgYmUgdXNlZnVsIHRvIGtub3cgdGhhdCAnJ2xvIHtzZWxicml9 IGt1JycgaXMgb2Z0ZW4gc2VlbiBkZWZpbmVkIGFzICcnem8nZSBub2kga2UnYSB7c2VsYnJpfSBr dSdvJycuCgoKCkJlc2lkZXMsIGl0IGlzIGFsc28gcG9zc2libGUgdG8gY29ubmVjdCB0d28gb3Ig bW9yZSByZWxhdGl2ZSBjbGF1c2VzIHRvIHRoZSBzYW1lIHN1bXRpLCBieSB1c2luZyB0aGUgcmVs YXRpdmUgY2xhdXNlIGpvaW5lciB7emknZX0uIEl0J3Mgc3ludGF4IGlzICJzdW10aSArIHJlbGF0 aXZlIGNsYXVzZSArIHppJ2UgKyByZWxhdGl2ZSBjbGF1c2UgKCsgemknZSArIHJlbGF0aXZlIGNs YXVzZSAoLi4uKSkiLiBIZXJlIGlzIGFuIGV4YW1wbGU6CgoKCl9fJydwZW5taScnX18g4oCceDEg bWVldHMvZW5jb3VudGVycyB4MiBhdC9pbiBsb2NhdGlvbiB4M+KAnQoKX18nJ2Rhc25pJydfXyDi gJx4MSB3ZWFycy9pcyByb2JlZC9nYXJiZWQgaW4geDIgYXMgYSBnYXJtZW50IG9mIHR5cGUgeDPi gJ0KCgoKJydtaSB0YXZsYSBsbyBuYW5tdSBrdSBwb2kgZG8gcGVubWkga2UnYSBrdSdvIHppJ2Ug bm9pIGRhc25pIGxvIHh1bnJlIGt1IGt1J28nJwoKPSDigJxJIHRhbGtlZCB0byB0aGUgbWFuIHRo YXQgeW91IG1ldCBhbmQgd2hpY2ggKGluY2lkZW50YWxseSkgd2FzIGRyZXNzZWQgaW4gcmVkLuKA nQoKKExpdGVyYWxseTog4oCcLi4uIGFuZCB3aGljaCB3ZWFycyBzb21ldGhpbmcgcmVk4oCdLikK CgoKCgohIUxvamJhbiBMZXNzb25zIOKAkyBMZXNzb24gZWlnaHQgKHRlcm1pbmF0b3IgZWxpc2lv bikKCicnLmF1IGRhJ2kgbWkgZGppY2EgbG8gbnUgbGUgbWVya28gcG9pIHR1bmJhIG1pIF9fdmF1 IGt1J28ga3VfXyBqaW1wZSBsbyBkdSd1IG1pIG5hIG5lbGNpIGxvIG51IHZvJ2EgZGFyeGkgbWkg X192YXUga2VpIGt1IHZhdSBrZWkga3UgdmF1IGtlaSBrdSB2YXVfXycnCgogLSAg4oCcSSB3aXNo IHRoZSBBbWVyaWNhbiwgd2hvIGlzIG15IHNpYmxpbmcsIHdvdWxkIHVuZGVyc3RhbmQgdGhhdCBJ IGRvbid0IGxpa2UgdGhhdCBoZSBoaXRzIG1lLuKAnQoKUmVnYXJkbGVzcyBvZiB3aGV0aGVyIHRo ZSBhYm92ZSBzZW50ZW5jZSBpcyBiZWluZyB1bmRlcnN0b29kLCAoaXQgc2hvdWxkbid0LCBhcyBp dCBjb250YWlucyB3b3JkcyB3ZSBoYXZlIG5vdCBjb3ZlcmVkIGluIHRoZXNlIGxlc3NvbnMgeWV0 KSBvbmUgdGhpbmcgc3RhbmRzIG91dDogQXMgbW9yZSBjb21wbGV4IExvamJhbiBzdHJ1Y3R1cmVz IGFyZSBsZWFybmVkLCBtb3JlIGFuZCBtb3JlIG9mIHRoZSBzZW50ZW5jZXMgZ2V0IGZpbGxlZCB3 aXRoICcna3UnJywgJydrZWknJywgJydrdSdvJycgYW5kIG90aGVyIG9mIHRob3NlIHdvcmRzIHdo aWNoIGJ5IHRoZW1zZWx2ZXMgY2Fycnkgbm8gbWVhbmluZy4KCgoKVGhlIGZ1bmN0aW9uIG9mIGFs bCB0aGVzZSB3b3JkcyBpcyB0byBzaWduYWwgdGhlIGVuZCBvZiBhIGNlcnRhaW4gZ3JhbW1hdGlj YWwgY29uc3RydWN0LCBsaWtlIGZvciBpbnN0YW5jZSDigJxjb252ZXJ0IHNlbGJyaSB0byBzdW10 aeKAnSBpbiB0aGUgY2FzZSBvZiAnJ2t1JycuIFRoZSBFbmdsaXNoIHdvcmQgZm9yIHRoaXMga2lu ZCBvZiB3b3JkIGlzIOKAnHRlcm1pbmF0b3LigJ0sIHRoZSBMb2piYW4gd29yZCBpcyAnJ2ZhJ29y bWEnbycnLiBUaGV5IGFyZSB3cml0dGVuIGluIGJvbGQgaW4gdGhlIGV4YW1wbGUgYWJvdmUuCgpO b3RlOiBUaGUgJyd2YXUnJyBpbiB0aGUgYWJvdmUgZXhhbXBsZSBhcmUgdGhlIGZhJ29ybWEnbyBm b3Ig4oCcZW5kIGJyaWRp4oCdLiBUaGVyZSBpcyBhIGdvb2QgcmVhc29uIHlvdSBoYXZlIG5vdCB5 ZXQgc2VlbiBpdCwgc3RheSB0dW5lZC4KCl9fJyd2YXUnJ19fIGZhJ29ybWEnbzogVGVybWluYXRl cyBicmlkaS4KCgoKSW4gbW9zdCBzcG9rZW4gYW5kIHdyaXR0ZW4gTG9qYmFuLCBtb3N0IGZhJ29y bWEnbyBhcmUgc2tpcHBlZCAoZWxpZGVkKS4gVGhpcyBncmVhdGx5IHNhdmVzIHN5bGxhYmxlcyBp biBzcGVlY2ggYW5kIHNwYWNlIGluIHdyaXRpbmcsIGhvd2V2ZXIsIG9uZSBtdXN0IGFsd2F5cyBi ZSBjYXJlZnVsIHdoZW4gZWxpZGluZyBmYSdvcm1hJ28uIEluIHRoZSBzaW1wbGUgZXhhbXBsZSAn J2xvIG1lcmtvIGt1IGtsYW1hJycsIHJlbW92aW5nIHRoZSBmYSdvcm1hJ28gJydrdScnIHdvdWxk IHlpZWxkICcnbG8gbWVya28ga2xhbWEnJywgd2hpY2ggaXMgYSBzaW5nbGUgc3VtdGkgbWFkZSBm cm9tIHRoZSB0YW5ydSAnJ21lcmtvIGtsYW1hJycuIFRodXMsIGl0IG1lYW5zIOKAnGFuIEFtZXJp Y2FuIHRyYXZlbGVy4oCdIGluc3RlYWQgb2Yg4oCcYW4gQW1lcmljYW4gdHJhdmVsc+KAnS4gZmEn b3JtYSdvIGVsaXNpb24gY2FuIGxlYWQgdG8gdmVyeSB3cm9uZyByZXN1bHRzIGlmIGRvbmUgaW5j b3JyZWN0bHksIHdoaWNoIGlzIHdoeSB5b3UgaGF2ZW4ndCBsZWFybmVkIGFib3V0IGl0IHVudGls IG5vdy4KCgoKVGhlIHJ1bGUgZm9yIHdoZW4gZmEnb3JtYSdvIGNhbiBiZSBlbGlkZWQgaXMgdmVy eSBzaW1wbGUsIGF0IGxlYXN0IGluIHRoZW9yeTog4oCcWW91IGNhbiBlbGlkZSBhIGZhJ29ybWEn bywgX19pZiBhbmQgb25seSBpZl9fIGRvaW5nIHNvIGRvZXMgbm90IGNoYW5nZSB0aGUgZ3JhbW1h dGljYWwgY29uc3RydWN0cyBpbiB0aGUgc2VudGVuY2Uu4oCdCgpNb3N0IGZhJ29ybWEnbyBjYW4g YmUgc2FmZWx5IGVsaWRlZCBhdCB0aGUgZW5kIG9mIHRoZSBicmlkaS4gRXhjZXB0aW9ucyBhcmUg dGhlIG9idmlvdXMgb25lcyBsaWtlIOKAnGVuZCBxdW90ZeKAnS1mYSdvcm1hJ28gYW5kIOKAnGVu ZCBicmlkaSBncm91cGluZ+KAnS1mYSdvcm1hJ28uIFRoaXMgaXMgd2h5ICcndmF1JycgaXMgYWxt b3N0IG5ldmVyIHVzZWQg4oCTIHNpbXBseSBiZWdpbm5pbmcgYSBuZXcgYnJpZGkgd2l0aCAnJy5p Jycgd2lsbCBhbG1vc3QgYWx3YXlzIHRlcm1pbmF0ZSB0aGUgcHJlY2VkaW5nIGJyaWRpIGFueXdh eS4gSXQgaGFzIG9uZSBmcmVxdWVudCB1c2UsIGhvd2V2ZXIuIFNpbmNlIGF0dGl0dWRpbmFscyBh bHdheXMgYXBwbHkgdG8gdGhlIHByZWNlZGluZyB3b3JkLCBhcHBseWluZyBpdCB0byBhIGZhJ29y bWEnbyBhcHBsaWVzIGl0IHRvIHRoZSBlbnRpcmUgY29uc3RydWN0IHdoaWNoIGlzIHRlcm1pbmF0 ZWQuIFVzaW5nICcndmF1JycsIG9uZSBjYW4gdGhlbiB1c2UgYXR0aXR1ZGluYWxzIGFmdGVydGhv dWdodCBhbmQgYXBwbHkgdGhlbSB0byB0aGUgZW50aXJlIGJyaWRpOgoKJyd6YSdhIGRvIGR1bmRh IGxvIHpkYW5pIHtrdX0gbG8gcHJlbnUge2t1fS4uLiB2YXUgaSdlJycgLSDigJxJIHNlZSB0aGF0 IHlvdSBnaXZlIGEgaG9tZSB0byBhIHBlcnNvbi4uLiBJIGFwcHJvdmUh4oCdCgpfXycncHJlbnUn J19fIHgxIGlzIGEgcGVyc29uOyB4MSBoYXMgYSBwZXJzb25hbGl0eS4KCgoKS25vd2luZyB0aGUg YmFzaWMgcnVsZXMgZm9yIGZhJ29ybWEnbyBlbGlzaW9uLCB3ZSBjYW4gdGh1cyByZXR1cm4gdG8g dGhlIG9yaWdpbmFsIHNlbnRlbmNlIGFuZCBiZWdpbiByZW1vdmluZyBmYSdvcm1hJ286CgoKCicn LmF1IGRhJ2kgbWkgZGppY2EgbG8gbnUgbGUgbWVya28gcG9pIHR1bmJhIG1pIF9fdmF1IGt1J28g a3VfXyBqaW1wZSBsbyBkdSd1IG1pIG5hIG5lbGNpIGxvIG51IHZvJ2EgZGFyeGkgbWkgX192YXUg a2VpIGt1IHZhdSBrZWkga3UgdmF1IGtlaSBrdSB2YXVfXycnCgoKCldlIGNhbiBzZWUgdGhhdCB0 aGUgZmlyc3QgJyd2YXUnJyBpcyBncmFtbWF0aWNhbGx5IHVubmVjZXNzYXJ5LCBiZWNhdXNlIHRo ZSBuZXh0IG5vbi1mYSdvcm1hJ28td29yZCBpcyAnJ2ppbXBlJycsIHdoaWNoIGlzIGEgc2VsYnJp LiBTaW5jZSB0aGVyZSBjYW4gb25seSBiZSBvbmUgc2VsYnJpIHBlciBicmlkaSwgJyd2YXUnJyBp cyBub3QgbmVlZGVkLiBTaW5jZSAnJ2ppbXBlJycgYXMgYSBzZWxicmkgY2Fubm90IGJlIGluIHRo ZSByZWxhdGl2ZSBjbGF1c2UgZWl0aGVyIChvbmx5IG9uZSBicmlkaSBpbiBhIGNsYXVzZSwgb25s eSBvbmUgc2VsYnJpIGluIGVhY2ggYnJpZGkpLCB3ZSBjYW4gZWxpZGUgJydrdSdvJycuIExpa2V3 aXNlLCAnJ2ppbXBlJycgY2Fubm90IGJlIGEgc2Vjb25kIHNlbGJyaSBpbnNpZGUgdGhlIGNvbnN0 cnVjdCAnJ2xlIG1lcmtvIHBvaXsuLi59JycsIHNvIHRoZSAnJ2t1JycgaXMgbm90IG5lZWRlZCBl aXRoZXIuIEZ1cnRoZXJtb3JlLCBhbGwgdGhlIGZhJ29ybWEnbyBhdCB0aGUgdmVyeSBlbmQgb2Yg dGhlIHNlbnRlbmNlIGNhbiBiZSBlbGlkZWQgdG9vLCBzaW5jZSBiZWdpbm5pbmcgYSBuZXcgYnJp ZGkgd2lsbCB0ZXJtaW5hdGUgYWxsIG9mIHRoZXNlIGNvbnN0cnVjdHMgYW55d2F5LgoKV2UgdGhl biBlbmQgdXAgd2l0aDoKCicnLmF1IGRhJ2kgbWkgZGppY2EgbG8gbnUgbGUgbWVya28gcG9pIHR1 bmJhIG1pIGppbXBlIGxvIGR1J3UgbWkgbmEgbmVsY2kgbG8gbnUgdm8nYSBkYXJ4aSBtaScnIOKA kyB3aXRoIG5vIGZhJ29ybWEnbyBhdCBhbGwhCgoKCldoZW4gZWxpZGluZyBmYSdvcm1hJ28sIGl0 IGlzIGEgZ29vZCBpZGVhIHRvIGJlIGFjcXVhaW50ZWQgd2l0aCAnJ2N1JycuICcnY3UnJyBpcyBv bmUgb2YgdGhvc2Ugd29yZHMgd2hpY2ggY2FuIG1ha2UgeW91ciAoTG9qYmFuaWMpIGxpZmUgYSBs b3QgZWFzaWVyLiBXaGF0IGl0IGRvZXMgaXMgdG8gc2VwYXJhdGUgYW55IHByZXZpb3VzIHN1bXRp IGZyb20gdGhlIHNlbGJyaS4gT25lIGNvdWxkIHNheSB0aGF0IGl0IGRlZmluZXMgdGhlIG5leHQg d29yZCB0byBiZSBhIHNlbGJyaSwgYW5kIHRlcm1pbmF0ZXMgZXhhY3RseSBhcyBtdWNoIGFzIGl0 IG5lZWRzIHRvIGluIG9yZGVyIHRvIGRvIHRoYXQuCgpfXycnY3UnJ19fIGVsaWRhYmxlIG1hcmtl cjogc2VwYXJhdGVzIHNlbGJyaSBmcm9tIHByZWNlZGluZyBzdW10aSwgYWxsb3dzIHByZWNlZGlu ZyBmYSdvcm1hJ28gZWxpc2lvbi4KCgoKX18nJ3ByYW1pJydfXyA9IOKAnHgxIGxvdmVzIHgy4oCd CgoKCicnbG8gc3UndSBkbyBjdXNrdSBsbyBzZSBkdSd1IGRvIHByYW1pIG1pIF9fdmF1IGtlaSBr dSB2YXUga2VpIGt1X18gc2UgZGppY2EgbWknJyA9CgonJ2xvIHN1J3UgZG8gY3Vza3UgbG8gc2Ug ZHUndSBkbyBwcmFtaSBtaSBfX2N1X18gc2UgZGppY2EgbWknJwoK4oCcVGhhdCB5b3Ugc2F5IHRo YXQgeW91IGxvdmUgbWUgaXMgZGVzaXJlZCBieSBiZeKAnSBvciDigJxJIHdpc2ggeW91IHNhaWQg eW91IGxvdmVkIG1l4oCdCgpub3RlOiAnJ2N1JycgaXMgbm90IGEgZmEnb3JtYSdvLCBiZWNhdXNl IGl0IGlzIG5vdCB0aWVkIHRvIG9uZSBzcGVjaWZpYyBjb25zdHJ1Y3QuIEJ1dCBpdCBjYW4gYmUg dXNlZCB0byBlbGlkZSBvdGhlciBmYSdvcm1hJ28uCgoKCk9uZSBvZiB0aGUgZ3JlYXRlc3Qgc3Ry ZW5ndGhzIG9mICcnY3UnJyBpcyB0aGF0IGl0IHF1aWNrbHkgYmVjb21lcyBlYXN5IHRvIGludHVp dGl2ZWx5IHVuZGVyc3RhbmQuIEJ5IGl0c2VsZiBpdCBtZWFucyBub3RoaW5nLCBidXQgaXQgcmV2 ZWFscyB0aGUgc3RydWN0dXJlIG9mIExvamJhbiBleHByZXNzaW9ucyBieSBpZGVudGlmeWluZyB0 aGUgY29yZSBzZWxicmkuIEluIHRoZSBvcmlnaW5hbCBleGFtcGxlIHdpdGggdGhlIHZpb2xlbnQg QW1lcmljYW4gYnJvdGhlciwgdXNpbmcgJydjdScnIGJlZm9yZSAnJ2ppbXBlJycgZG9lcyBub3Qg Y2hhbmdlIHRoZSBtZWFuaW5nIG9mIHRoZSBzZW50ZW5jZSBpbiBhbnkgd2F5LCBidXQgbWlnaHQg bWFrZSBpdCBlYXNpZXIgdG8gcmVhZC4KCgoKSW4gdGhlIGZvbGxvd2luZyBjb3VwbGUgb2YgbGVz c29ucywgJydjdScnIHdpbGwgYmUgdXNlZCB3aGVuIG5lY2Vzc2FyeSwgYW5kIGFsbCBmYSdvcm1h J28gZWxpZGVkIGlmIHBvc3NpYmxlLiBUaGUgZWxpZGVkIGZhJ29ybWEnbyB3aWxsIGJlIGVuY2Fz ZWQgaW4gY3VybHkgYnJhY2tldHMsIGFzIHNob3duIGJlbG93LiBUcnkgdG8gdHJhbnNsYXRlIGl0 IQoKX18nJ3Zham5pJydfXyDigJx4MSBpcyBpbXBvcnRhbnQgdG8geDIgZm9yIHJlYXNvbiB4M+KA nQoKX18nJ2ppbXBlJydfXyDigJx4MSB1bmRlcnN0YW5kcyB0aGF0IHgyIChkdSd1LWFic3RyYWN0 aW9uKSBpcyB0cnVlIGFib3V0IHgz4oCdCgpfXycnYSdvJydfXyAtIEF0dGl0dWRpbmFsOiBTaW1w bGUgcHJvcG9zaXRpb25hbCBlbW90aW9uOiBIb3BlIC0gZGVzcGFpcgoKCgonJ2EnbyBkbyBub2kg a2UnYSBsb2pibyAuaSdlIHtrdSdvfSB7a3V9IGN1IGppbXBlIGxvIGR1J3UgbG8gZmEnb3JtYSdv IHtrdX0gY3UgdmFqbmkge3ZhdX0ge2tlaX0ge2t1fSB7dmF1fScnCgpXaGF0IGRvIEkgc3RhdGU/ CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcSSBob3BlIHRoYXQgeW91LCBhIHByb3VkIExvamJh bmlzdCwgdW5kZXJzdGFuZHMgdGhhdCBmYSdvcm1hJ28gYXJlIGltcG9ydGFudOKAnX5+CgoKCkZ1 biBzaWRlIG5vdGU6IE1vc3QgcGVvcGxlIHdlbGwtdmVyc2VkIGluIGZhJ29ybWEnby1lbGlzaW9u IGRvIGl0IHNvIGluc3RpbmN0aXZlbHkgdGhhdCB0aGV5IG9mdGVuIG11c3QgYmUgcmVtaW5kZWQg aG93IGltcG9ydGFudCB1bmRlcnN0YW5kaW5nIGZhJ29ybWEnbyBhcmUgdG8gdGhlIHVuZGVyc3Rh bmRpbmcgb2YgTG9qYmFuLiBUaGVyZWZvcmUsIGVhY2ggVHVlc2RheSBoYXZlIGJlZW4gZGVzaWdu YXRlZCDigJxUZXJtaW5hdG9yIERheeKAnSBvciAnJ2ZhJ29ybWEnbyBkamVkaScnIG9uIHRoZSBM b2piYW4gSVJDIGNoYXRyb29tLiBEdXJpbmcgVGVybWluYXRvciBEYXksIG1hbnkgcGVvcGxlIHRy eSAoYW5kIG9mdGVuIGZhaWwpIHRvIHJlbWVtYmVyIHdyaXRpbmcgb3V0IGFsbCBmYSdvcm1hJ28g d2l0aCBzb21lIHZlcnkgdmVyYm9zZSBjb252ZXJzYXRpb25zIGFzIGEgcmVzdWx0LgoKCgoKCiEh TG9qYmFuIExlc3NvbnMgLSBMZXNzb24gbmluZSAoc3VtdGNpdGEpCgpTbyBmYXIgd2UgaGF2ZSBi ZWVuIGRvaW5nIHByZXR0eSB3ZWxsIHdpdGggdGhlIHNlbGJyaSB3ZSBoYXZlIGhhZCBhdCBoYW5k LiBIb3dldmVyLCB0aGVyZSBpcyBhIGZpbml0ZSBhbW91bnQgb2YgZGVmaW5lZCBzZWxicmkgb3V0 IHRoZXJlLCBhbmQgaW4gbWFueSBjYXNlcyB0aGUgc3VtdGkgcGxhY2VzIGFyZSBub3QgdXNlZnVs IGZvciB3aGF0IHdlIGhhZCBpbiBtaW5kLiBXaGF0IGlmLCBzYXksIGkgd2FudCB0byBzYXkgdGhh dCBJIGFtIHRyYW5zbGF0aW5nIHVzaW5nIGEgY29tcHV0ZXI/IFRoZXJlIGlzIG5vIHBsYWNlIGlu IHRoZSBzdHJ1Y3R1cmUgb2YgJydmYW52YScnIHRvIHNwZWNpZnkgd2hhdCB0b29sIEkgdHJhbnNs YXRlIHdpdGgsIHNpbmNlLCBtb3N0IG9mIHRoZSB0aW1lLCB0aGF0IGlzIG5vdCBuZWNlc3Nhcnku IE5vdCB0byB3b3JyeSwgdGhpcyBsZXNzb24gaXMgb24gaG93IHRvIGFkZCBhZGRpdGlvbmFsIHN1 bXRpIHBsYWNlcyB0byB0aGUgc2VsYnJpLgoKCgpUaGUgbW9zdCBiYXNpYyB3YXkgdG8gYWRkIHN1 bXRpIHBsYWNlcyBhcmUgd2l0aCAnJ2ZpJ28gU0VMQlJJIGZlJ3UnJyAoeWVzLCBhbm90aGVyIGV4 YW1wbGUgb2YgYSBmYSdvcm1hJ28sICcnZmUndScnLiBJdCdzIGFsbW9zdCBuZXZlciBuZWNlc3Nh cnksIHNvIHRoaXMgbWlnaHQgYmUgdGhlIGxhc3QgdGltZSB5b3UgZXZlciBzZWUgaXQuKQoKSW4g YmV0d2VlbiB0aGVzZSB0d28gd29yZHMgZ29lcyBhIHNlbGJyaSwgYW5kIGxpa2UgJydsbyBTRUxC Ukkga3UnJywgJydmaSdvIFNFTEJSSSBmZSd1JycgZXh0cmFjdHMgdGhlIHgxIG9mIHRoZSBzZWxi cmkgcHV0IGludG8gaXQuIEhvd2V2ZXIsIHdpdGggJydmaSdvIFNFTEJSSSBmZSd1JycsIHRoZSBz ZWxicmkgcGxhY2UgaXMgY29udmVydGVkLCBub3QgdG8gYSBzdW10aSwgYnV0IHRvIGEgJydzdW10 Y2l0YScnLCBtZWFuaW5nIOKAnHN1bXRpLWxhYmVs4oCdLCB3aXRoIHRoZSBwbGFjZSBzdHJ1Y3R1 cmUgb2YgdGhlIHgxIG9mIHRoZSBzZWxicmkgaXQgY29udmVydGVkLiBUaGlzICcnc3VtdGNpdGEn JyB0aGVuIGFic29yYnMgdGhlIG5leHQgc3VtdGkuIE9uZSBjb3VsZCBzYXkgdGhhdCB1c2luZyBh ICcnc3VtdGNpdGEnJywgeW91IGltcG9ydCBhIHN1bXRpIHBsYWNlIGZyb20gYW5vdGhlciBzZWxi cmksIGFuZCBhZGQgaXQgdG8gdGhlIGJyaWRpIGJlaW5nIHNhaWQuCgpOb3RlOiBTb21ldGltZXMs IGVzcGVjaWFsbHkgaW4gb2xkZXIgdGV4dHMsIHRoZSB0ZXJtIOKAnHRhZ+KAnSBvciDigJxtb2Rh bOKAnSBpcyB1c2VkIGZvciAnJ3N1bXRjaXRhJycuIElnbm9yZSB0aG9zZSBwdW55IEVuZ2xpc2gg ZXhwcmVzc2lvbnMuIFdlIHRlYWNoIHByb3BlciBMb2piYW4gaGVyZS4KCgoKV2hpbGUgaXQgaXMg aGFyZCB0byBncmFzcCB0aGUgcHJvY2VzcyBmcm9tIHJlYWRpbmcgYWJvdXQgaXQsIGFuIGV4YW1w bGUgY2FuIHBlcmhhcHMgc2hvdyBpdHMgYWN0dWFsIHNpbXBsaWNpdHk6CgpfXycnc2thbWknJ19f IOKAnHgxIGlzIGEgY29tcHV0ZXIgZm9yIHB1cnBvc2UgeDLigJ0KCl9fJydwaWxubycnX18g4oCc eDEgdXNlcyB4MiBhcyBhIHRvb2wgZm9yIGRvaW5nIHgz4oCdCgoKCicnbWkgZmFudmEgdGkgZmkn byBzZSBwaWxubyB7ZmUndX0gbG8gc2thbWkge2t1fXt2YXV9JycgLSDigJxJIHRyYW5zbGF0ZSB0 aGlzIHdpdGggYSBjb21wdXRlcuKAnSBUaGUgeDIgb2YgJydwaWxubycnLCB3aGljaCBpcyB0aGUg eDEgb2YgJydzZSBwaWxubycnIGlzIGEgcGxhY2Ugc3RydWN0dXJlIGZvciBhIHRvb2wgYmVpbmcg dXNlZCBieSBzb21lb25lLiBUaGlzIHBsYWNlIHN0cnVjdHVyZSBpcyBjYXB0dXJlZCBieSAnJ2Zp J28gU0VMQlJJIGZlJ3UnJywgYWRkZWQgdG8gdGhlIG1haW4gc2VsYnJpLCBhbmQgdGhlbiBmaWxs ZWQgYnkgJydsbyBza2FtaScnLiBUaGUgaWRlYSBvZiAnJ3N1bXRjaXRhJycgaXMgc29tZXRpbWVz IGV4cHJlc3NlZCBpbiBFbmdsaXNoIHVzaW5nIHRoZSBmb2xsb3dpbmcgdHJhbnNsYXRpb246Cgri gJxJIHRyYW5zbGF0ZSB0aGlzIHdpdGgtdG9vbDogQSBjb21wdXRlcuKAnQoKCgpBICcnc3VtdGNp dGEnJyBjYW4gb25seSBhYnNvcmIgb25lIHN1bXRpLCB3aGljaCBpcyBhbHdheXMgdGhlIGZvbGxv d2luZyBvbmUuIEFsdGVybmF0aXZlbHksIG9uZSBjYW4gdXNlIHRoZSAnJ3N1bXRjaXRhJycgY29u c3RydWN0IGJ5IGl0c2VsZiB3aXRob3V0IHN1bXRpLiBJbiB0aGlzIGNhc2UgeW91IG5lZWQgdG8g cHV0IGl0IGVpdGhlciBiZWZvcmUgdGhlIHNlbGJyaSBvciB0ZXJtaW5hdGUgaXQgd2l0aCAnJ2t1 JycuIEluIHN1Y2ggY2FzZSBvbmUgY2FuIHRoaW5rIGFzIGlmIHRoZSBzdW10Y2l0YSBoYXMgdGhl IHdvcmQgJyd6bydlJycgYXMgdGhlIHN1bXRpLgoKCgpfXycnenVrdGUnJ19fIOKAnHgxIGlzIGEg dm9saXRpb25hbCBlbnRpdHkgY2Fycnlpbmcgb3V0IGFjdGlvbiB4MiBmb3IgcHVycG9zZSB4M+KA nQoKX18nJ3phcmNpJydfXyDigJx4MSBpcyBhIG1hcmtldC9zdG9yZS9leGNoYW5nZS9zaG9wKHMp IHNlbGxpbmcvdHJhZGluZyAoZm9yKSB4Miwgb3BlcmF0ZWQgYnkvd2l0aCBwYXJ0aWNpcGFudHMg eDPigJ0KCgoKJydmaSdvIHp1a3RlIHtmZSd1fSBrdSBsbyBwcmVudSB7a3V9IGN1IGtsYW1hIGxv IHphcmNpIHtrdX17dmF1fScnIC0g4oCcQnkgdGhlaXIgb3duIHZvbGl0aW9uLCBhIHBlcnNvbiBp cyBnb2luZyB0byB0aGUgc3RvcmXigJ0KCgoKTm90ZSB0aGF0IHRoZXJlIGlzICcna3UnJyBpbiAn J2ZpJ28genVrdGUge2ZlJ3V9IGt1JycuIFdpdGhvdXQgaXQgdGhlIHN1bXRjaXRhIHdvdWxkIGhh dmUgYWJzb3JiZWQgJydsbyBwcmVudSB7a3V9JycgYW5kIHdlIGRvbid0IHdhbnQgdGhhdC4KCgoK V2UgY2FuIHNheSB0aGUgc2FtZSBpbiBvdGhlciB3b3JkczoKCgoKJydmaSdvIHp1a3RlIHtmZSd1 fSB6bydlIGxvIHByZW51IHtrdX0gY3Uga2xhbWEgbG8gemFyY2kge2t1fXt2YXV9JycgCgonJ2xv IHByZW51IHtrdX0gY3UgZmknbyB6dWt0ZSB7ZmUndX0ga2xhbWEgbG8gemFyY2kge2t1fXt2YXV9 JycgCgoKCnJldGFpbmluZyB0aGUgbWVhbmluZy4KCgoKV2hhdCBkb2VzICcnbWkgamltcGUgZmkg bGEgbG9qYmFuIGZpJ28gc2UgdGF2bGEge2ZlJ3V9IG1pJycgc3RhdGU/CgoKCkFuc3dlcjogfn5n cmV5LGdyZXk64oCcSSB1bmRlcnN0YW5kIHNvbWV0aGluZyBhYm91dCBMb2piYW4sIHNwb2tlbiB0 byBtZeKAnX5+CgoKClB1dHRpbmcgdGhlICcnc3VtdGNpdGEnJyByaWdodCBpbiBmcm9udCBvZiB0 aGUgc2VsYnJpIGFsc28gbWFrZXMgaXQgc2VsZi10ZXJtaW5hdGUsIHNpbmNlIHN1bXRjaXRhIG9u bHkgY2FuIGFic29yYiBzdW10aSwgYW5kIG5vdCBzZWxicmkuIFRoaXMgZmFjdCB3aWxsIGJlIG9m IGltcG9ydGFuY2UgaW4gbmV4dCBsZXNzb24sIGFzIHlvdSB3aWxsIHNlZS4KCgoKQWN0dWFsbHks ICcnZmknbycnIGlzIG5vdCB1c2VkIHZlcnkgb2Z0ZW4gZGVzcGl0ZSBpdHMgZmxleGliaWxpdHku IFdoYXQgSVMgdXNlZCB2ZXJ5IG9mdGVuLCB0aG91Z2gsIGFyZSBCQUkuIEJBSSBpcyBhIGNsYXNz IG9mIExvamJhbiB3b3Jkcywgd2hpY2ggaW4gdGhlbXNlbHZlcyBhY3QgYXMgJydzdW10Y2l0YScn LiBBbiBleGFtcGxlIG9mIHRoaXMgaXMgJyd6dSdlJycsIHRoZSBCQUkgZm9yICcnenVrdGUnJy4g R3JhbWF0aWNhbGx5LCAnJ3p1J2UnJyBpcyB0aGUgc2FtZSBhcyAnJ2ZpJ28genVrdGUgZmUndScn LiBUaHVzLCB0aGUgYWJvdmUgZXhhbXBsZSBjb3VsZCBiZSByZWR1Y2VkIHRvOgoKJyd6dSdlIGt1 IGxvIHByZW51IHtrdX0gY3Uga2xhbWEgbG8gemFyY2kge2t1fXt2YXV9JycuIFRoZXJlIGV4aXN0 IHNvbWV0aGluZyBsaWtlIDYwIEJBSSwgYW5kIGEgbG90IG9mIHRoZXNlIGFyZSB2ZXJ5IHVzZWZ1 bCBpbmRlZWQuIEZ1cnRlcm1vcmUsIEJBSSBjYW4gYWxzbyBiZSBjb252ZXJ0ZWQgd2l0aCAnJ3Nl JycgYW5kIGZyaWVuZHMsIG1lYW5pbmcgdGhhdCAnJ3NlIHp1J2UnJyBpcyBlcXVhbCB0byAnJ2Zp J28gc2UgenVrdGUgZmUndScnLCB3aGljaCByZXN1bHRzIGluIGEgZ3JlYXQgZGVhbCBtb3JlIEJB SS4KCiEhTG9qYmFuIExlc3NvbnMgLSBMZXNzb24gdGVuIChQVSwgRkFoQSwgWkksIFZBLCBaRWhB LCBWRWhBKQoKSG93IHVuZmFtaWxpYXIgdG8gdGhlIEVuZ2xpc2gtc3BlYWtlciBhIGxhbmd1YWdl IExvamJhbiBpcyB3aGVuIG9uZSBjYW4gcmVhZCB0aHJvdWdoIG5pbmUgbGVzc29ucyBvZiBMb2pi YW4gZ3JhbW1hciB3aXRob3V0IG1lZXRpbmcgYSB0ZW5zZSBvbmNlLiBUaGlzIGlzIGJlY2F1c2Us IHVubGlrZSBtYW55IG5hdHVyYWwgbGFuZ3VhZ2VzIChtb3N0IEluZG8tRXVyb3BlYW4gb25lcywg Zm9yIGluc3RhbmNlKSwgYWxsIHRlbnNlcyBpbiBMb2piYW4gYXJlIG9wdGlvbmFsLiBTYXlpbmcg JydtaSBjaXRrYSBsbyBjaXJsYSB7a3V9JycgY2FuIG1lYW4g4oCcSSBlYXQgY2hlZXNl4oCdIG9y IOKAnEkgYXRlIHRoZSBjaGVlc2XigJ0gb3Ig4oCcSSBhbHdheXMgZWF0IGNoZWVzZeKAnSBvciDi gJxJbiBhIG1vbWVudCwgaSB3aWxsIGhhdmUganVzdCBmaW5pc2hlZCBlYXRpbmcgY2hlZXNl4oCd LiBDb250ZXh0IHJlc29sdmVzIHdoYXQgaXMgY29ycmVjdCwgYW5kIGluIG1vc3QgY29udmVyc2F0 aW9uLCB0ZW5zZXMgYXJlIG5vdCBuZWVkZWQgYXQgYWxsLiBIb3dldmVyLCB3aGVuIGl0J3MgbmVl ZGVkIGl0J3MgbmVlZGVkLCBhbmQgaXQgbXVzdCBiZSB0YXVnaHQuIEZ1cnRoZXJtb3JlLCBMb2pi YW4gdGVuc2VzIGFyZSB1bnVzdWFsIGJlY2F1c2UgdGhleSB0cmVhdCB0aW1lIGFuZCBzcGFjZSBm dW5kYW1lbnRhbGx5IHRoZSBzYW1lIC0gc2F5aW5nIHRoYXQgSSB3b3JrZWQgYSBsb25nIHRpbWUg YWdvIGlzIG5vdCBncmFtbWF0aWNhbGx5IGRpZmZlcmVudCB0aGFuIHNheWluZyBJIHdvcmsgZmFy IGF3YXkgdG8gdGhlIG5vcnRoLgoKTGlrZSBtYW55IG90aGVyIGxhbmd1YWdlcywgdGhlIExvamJh biB0ZW5zZSBzeXN0ZW0gaXMgcGVyaGFwcyB0aGUgbW9zdCBkaWZmaWN1bHQgcGFydCBvZiB0aGUg bGFuZ3VhZ2UuIFVubGlrZSBtYW55IG90aGVyIGxhbmd1YWdlcyB0aG91Z2gsIGl0J3MgcGVyZmVj dGx5IHJlZ3VsYXIgYW5kIG1ha2VzIHNlbnNlLiBTbyBmZWFyIG5vdCwgZm9yIGl0IHdpbGwgbm90 IGludm9sdmUgc3dlYXRpbmcgdG8gbGVhcm4gaG93IHRvIG1vZGlmeSB0aGUgc2VsYnJpIG9yIGFu eXRoaW5nIHNpbGx5IGxpa2UgdGhhdC4KCgoKTm8sIGluIHRoZSBMb2piYW4gdGVuc2Ugc3lzdGVt LCBhbGwgdGVuc2VzIGFyZSBzdW10Y2l0YSwgd2hpY2ggd2UgaGF2ZSBjb252ZW5pZW50bHkganVz dCBtYWRlIG91cnNlbHZlcyBmYW1pbGlhciB3aXRoLiBPa2F5IG9rYXksIHRlY2huaWNhbGx5LCB0 ZW5zZXMgYXJlIHNsaWdodGx5IGRpZmZlcmVudCBmcm9tIG90aGVyIHN1bXRjaXRhLCBidXQgdGhp cyBkaWZmZXJlbmNlIGlzIGFsbW9zdCBpbnNpZ25pZmljYW50LCBhbmQgd29uJ3QgYmUgZXhwbGFp bmVkIHVudGlsIGxhdGVyLiBJbiBtb3N0IGFzcGVjdHMgdGhleSBhcmUgbGlrZSBhbGwgb3RoZXIg c3VtdGNpdGE7IHRoZXkgYXJlIHRlcm1pbmF0ZWQgYnkgJydrdScnLCBtYWtpbmcgaXQgZXhwbGlj aXQgdGhhdCBQVSBpcyB0ZXJtaW5hdGVkIGJ5ICcna3UnJy4KClRoZXJlIGFyZSBtYW55IGRpZmZl cmVudCBraW5kcyBvZiB0ZW5zZS1zdW10Y2l0YSwgc28gbGV0J3Mgc3RhcnQgYXQgdGhlIG9uZXMg bW9zdCBmYW1pbGlhciB0byBFbmdsaXNoLXNwZWFrZXJzLgoKX18nJ3B1JydfXyAtIHN1bXRjaXRh OiBiZWZvcmUge3N1bXRpfQoKX18nJ2NhJydfXyAtIHN1bXRjaXRhOiBhdCB0aGUgc2FtZSB0aW1l IGFzIHtzdW10aX0KCl9fJydiYScnX18gLSBzdW10Y2l0YTogYWZ0ZXIge3N1bXRpfQoKCgpUaGVz ZSBhcmUgbGlrZSB0aGUgRW5nbGlzaCBjb25jZXB0cyDigJxiZWZvcmXigJ0sIOKAnG5vd+KAnSBh bmQg4oCcYWZ0ZXLigJ0uIEluIGFjdHVhbGl0eSB0aG91Z2gsIG9uZSBjb3VsZCBhcmd1ZSB0aGF0 IHR3byBwb2ludC1saWtlIGV2ZW50cyBjYW4gbmV2ZXIgb2NjdXIgZXhhY3RseSBzaW11bHRhbmVv dXNseSwgcmVuZGVyaW5nICcnY2EnJyB1c2VsZXNzLiBCdXQgJydjYScnIGV4dGVuZHMgc2xpZ2h0 bHkgaW50byB0aGUgcGFzdCBhbmQgdGhlIGZ1dHVyZSwgbWVhbmluZyBqdXN0IOKAnGFib3V0IG5v d+KAnS4gVGhpcyBpcyBiZWNhdXNlIGh1bWFuIGJlaW5ncyBkb24ndCBwZXJjZWl2ZSB0aW1lIGlu IGEgcGVyZmVjdGx5IGxvZ2ljYWwgd2F5LCBhbmQgdGhlIExvamJhbiB0ZW5zZSBzeXN0ZW0gcmVm bGVjdHMgdGhhdC4KCgoKU2lkZSBub3RlOiBJdCB3YXMgYWN0dWFsbHkgc3VnZ2VzdGVkIG1ha2lu ZyB0aGUgTG9qYmFuIHRlbnNlIHN5c3RlbSByZWxhdGl2aXN0aWMuIFRoYXQgaWRlYSwgaG93ZXZl ciwgd2FzIGRyb3BwZWQsIGJlY2F1c2UgaXQgaXMgY291bnRlci1pbnR1aXRpdmUsIGFuZCB3b3Vs ZCBtZWFuIHRoYXQgdG8gbGVhcm4gTG9qYmFuLCBvbmUgd291bGQgaGF2ZSB0byBsZWFybiB0aGUg dGhlb3J5IG9mIHJlbGF0aXZpdHkgZmlyc3QuICAKCgoKU28sIGhvdyB3b3VsZCB5b3Ugc2F5IOKA nEkgZXhwcmVzcyB0aGlzIGFmdGVyIEkgY2FtZSBoZXJlP+KAnSAocG9pbnRpbmcgdG8gYSBwYXBl cikKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ21pIGN1c2t1IHRpIGJhIGxvIG51IG1pIGtsYW1h IHRpIHt2YXV9IHtrZWl9IHtrdX0ge3ZhdX0nJ35+CgoKClVzdWFsbHkgd2hlbiBzcGVha2luZywg d2UgZG8gbm90IG5lZWQgdG8gc3BlY2lmeSB3aGljaCBldmVudCBpbiB0aGUgcGFzdCB0aGlzIGFj dGlvbiBpcyByZWxhdGl2ZSB0by4gSW46IOKAnEkgZ2F2ZSBhIGNvbXB1dGVyIGF3YXnigJ0sIHdl IGNhbiBhc3N1bWUgdGhhdCB0aGUgYWN0aW9uIGhhcHBlbmVkIHJlbGF0aXZlIHRvIOKAnG5vd+KA nSwgYW5kIHRodXMgd2UgY2FuIGVsaWRlIHRoZSBzdW10aSBvZiB0aGUgc3VtdGNpdGEsIGJlY2F1 c2UgaXQncyBvYnZpb3VzOgoKJydwdSBrdSBtaSBkdW5kYSBsbyBza2FtaSB7a3V9IHt2YXV9Jycg b3IKCicnbWkgZHVuZGEgbG8gc2thbWkge2t1fSBwdSB7a3V9IHt2YXV9Jycgb3IsIG1vcmUgY29t bW9ubHkKCicnbWkgcHUge2t1fSBkdW5kYSBsbyBza2FtaSB7a3V9IHt2YXV9JycuIFRoZSBzdW10 aSB3aGljaCBmaWxscyB0aGUgc3VtdGNpdGEgaXMgYW4gaW1wbGllZCAnJ3pvJ2UnJywgd2hpY2gg aXMgYWxtb3N0IGFsd2F5cyB1bmRlcnN0b29kIGFzIHJlbGF0aXZlIHRvIHRoZSBzcGVha2VyJ3Mg dGltZSBhbmQgcGxhY2UgKHRoaXMgaXMgZXNwZWNpYWxseSBpbXBvcnRhbnQgd2hlbiBzcGVha2lu ZyBhYm91dCBsZWZ0IGFuZCByaWdodCkuIElmIHNwZWFraW5nIGFib3V0IHNvbWUgZXZlbnRzIHRo YXQgaGFwcGVuZWQgc29tZSBvdGhlciB0aW1lIHRoYW4gdGhlIHByZXNlbnQsIGl0IGlzIHNvbWV0 aW1lcyBhc3N1bWVkIHRoYXQgYWxsIHRlbnNlcyBhcmUgcmVsYXRpdmUgdG8gdGhhdCBldmVudCB3 aGljaCBpcyBiZWluZyBzcG9rZW4gYWJvdXQuIEluIG9yZGVyIHRvIGNsYXJpZnkgdGhhdCBhbGwg dGVuc2VzIGFyZSByZWxhdGl2ZSB0byB0aGUgc3BlYWtlcidzIGN1cnJlbnQgcG9zaXRpb24sIHRo ZSB3b3JkICcnbmF1JycgY2FuIGJlIHVzZWQgYXQgYW55IHRpbWUuIEFub3RoZXIgd29yZCwgJydr aScnIG1hcmtzIGEgdGVuc2Ugd2hpY2ggaXMgdGhlbiBjb25zaWRlcmVkIHRoZSBuZXcgc3RhbmRh cmQuIFRoYXQgd2lsbCBiZSB0YXVnaHQgd2F5IGxhdGVyLgoKX18nJ25hdScnX18gdXBkYXRlcyB0 ZW1wb3JhbCBhbmQgc3BhY2lhbCBmcmFtZSBvZiByZWZlcmVuY2UgdG8gdGhlIHNwZWFrZXIncyBj dXJyZW50IGhlcmUgYW5kIG5vdy4KCgoKX18nJ2d1Z2RlJydfXyA9IOKAnHgxIGlzIHRoZSBjb3Vu dHJ5IG9mIHBlb3BsZSB4MiB3aXRoIGxhbmQvdGVycml0b3J5IHgz4oCdCgoKCkFsc28gbm90ZSB0 aGF0ICcnbWkgcHUge2t1fSBrbGFtYSBsbyBtZXJrbyBndWdkZSB7a3V9IHt2YXV9JycsIOKAnEkg d2VudCB0byBBbWVyaWNh4oCdLCBkb2VzIG5vdCBpbXBseSB0aGF0IEknbSBub3Qgc3RpbGwgdHJh dmVsaW5nIHRvIFVTQSwgb25seSB0aGF0IGl0IHdhcyBhbHNvIHRydWUgc29tZSB0aW1lIGluIHRo ZSBwYXN0LCBmb3IgaW5zdGFuY2UgZml2ZSBtaW51dGVzIGFnby4KCgoKQXMgbWVudGlvbmVkLCBz cGFjaWFsIGFuZCB0ZW1wb3JhbCB0aW1lIHRlbnNlcyBhcmUgdmVyeSBtdWNoIGFsaWtlLiBDb250 cmFzdCB0aGUgcHJldmlvdXMgdGhyZWUgdGltZSB0ZW5zZXMgd2l0aCB0aGVzZSBmb3VyIHNwYWNp YWwgdGVuc2VzOgoKX18nJ3p1J2EnJ19fIHN1bXRjaXRhOiBsZWZ0IG9mIHtzdW10aX0KCl9fJydj YSd1JydfXyBzdW10Y2l0YTogaW4gZnJvbnQgb2Yge3N1bXRpfQoKX18nJ3JpJ3UnJ19fIHN1bXRj aXRhOiByaWdodCBvZiB7c3VtdGl9CgpfXycnYnUndScnX18gc3VtdGNpdGE6IGF0IHRoZSBzYW1l IHBsYWNlIGFzIHtzdW10aX0gKHNwYWNpYWwgZXF1aXZhbGVudCBvZiAnJ2NhJycpCgoKCl9fJydv J28nJ19fOiBhdHRpdHVkaW5hbDogY29tcGxleCBwdXJlIGVtb3Rpb246IHBhdGllbmNlIC0gdG9s ZXJhbmNlIC0gYW5nZXIKCgoKV2hhdCB3b3VsZCAnJy5vJ29uYWkgcmkndSB7a3V9IG51IGxvIHBy ZW51IHtrdX0gY3UgZGFyeGkgbG8gZ2Vya3UgcHUge2t1fSB7a3V9IHt2YXV9IHtrZWl9IHt2YXV9 JycgbWVhbj8gKG5vdGljZSB0aGUgZmlyc3QgZWxpZGVkIGt1ISkKCl9fJydkYXJ4aScnX18geDEg YmVhdHMvaGl0cyB4MiB3aXRoIGluc3RydW1lbnQgeDMgYXQgbG9jdXMgeDQKCgoKQW5zd2VyOiB+ fmdyZXksZ3JleTrigJx7YW5nZXIhfSBUbyB0aGUgcmlnaHQgKG9mIHNvbWV0aGluZywgcHJvYmFi bHkgbWUpIGFuZCBpbiB0aGUgcGFzdCAob2Ygc29tZSBldmVudCksIHNvbWV0aGluZyBpcyBhbiBl dmVudCBvZiBhIHBlcnNvbiBiZWF0aW5nIGEgZG9nLuKAnSBvciDigJxBIG1hbiBoaXQgYSBkb2cg dG8gbXkgcmlnaHQh4oCdfn4KCgoKSWYgdGhlcmUgYXJlIHNldmVyYWwgdGVuc2Ugc3VtdGNpdGEg aW4gb25lIGJyaWRpLCB0aGUgcnVsZSBpcyB0aGF0IHlvdSByZWFkIHRoZW0gZnJvbSBsZWZ0IHRv IHJpZ2h0LCB0aGlua2luZyBpdCBhcyBhIHNvIGNhbGxlZCDigJxpbWFnaW5hcnkgam91cm5leeKA nSwgV2hlcmUgeW91IGJlZ2luIGF0IGFuIGltcGxpZWQgcG9pbnQgaW4gdGltZSBhbmQgc3BhY2Ug KGRlZmF1bHQ6IHRoZSBzcGVha2VyJ3Mgbm93IGFuZCBoZXJlKSwgYW5kIHRoZW4gZm9sbG93IHRo ZSBzdW10Y2l0YSBvbmUgYXQgYSB0aW1lIGZyb20gbGVmdCB0byByaWdodC4KCkV4YW1wbGUKCicn bWkgcHUge2t1fSBiYSB7a3V9IGppbXBlIGZpIGxvIGxvamJvIGZhJ29ybWEnbyB7a3V9IHt2YXV9 JycgPSDigJxBdCBzb21lIHRpbWUgaW4gdGhlIHBhc3QsIEkgd2lsbCBiZSBhYm91dCB0byBrbm93 IGFib3V0IGZhJ29ybWEnb3Mu4oCdCgonJ21pIGJhIHtrdX0gcHUge2t1fSBqaW1wZSBmaSBsbyBs b2pibyBmYSdvcm1hJ28ge2t1fSB7dmF1fScnIOKAnEF0IHNvbWUgcG9pbnQgaW4gdGhlIGZ1dHVy ZSwgSSB3aWxsIGhhdmUgdW5kZXJzdG9vZCBhYm91dCBmYSdvcm1hJ29zLuKAnQoKU2luY2Ugd2Ug ZG8gbm90IHNwZWNpZnkgdGhlIGFtb3VudCBvZiB0aW1lIHdlIG1vdmUgYmFjayBvciBmb3J0aCwg dGhlIHVuZGVyc3RhbmRpbmcgY291bGQgaW4gYm90aCBjYXNlcyBoYXBwZW4gaW4gdGhlIGZ1dHVy ZSBvciB0aGUgcGFzdCBvZiB0aGUgcG9pbnQgb2YgcmVmZXJlbmNlLgoKCgpBbHNvLCBpZiBzcGFj aWFsIGFuZCB0ZW1wb3JhbCB0ZW5zZXMgYXJlIG1peGVkLCB0aGUgcnVsZSBpcyB0byBhbHdheXMg cHV0IHRlbXBvcmFsIGJlZm9yZSBzcGFjaWFsLiBJZiB0aGlzIHJ1bGUgaXMgdmlvbGF0ZWQsIGl0 IGNhbiBzb21ldGltZXMgcmVzdWx0IGluIHN5bnRhY3RpY2FsIGFtYmlndWl0eSwgd2hpY2ggTG9q YmFuIGRvZXMgbm90IHRvbGVyYXRlLgoKCgpTdXBwb3NlIHdlIHdhbnQgdG8gc3BlY2lmeSB0aGF0 IHRoZSBhIG1hbiBoaXQgYSBkb2cganVzdCBhIG1pbnV0ZSBhZ28uIFRoZSB3b3JkcyAnJ3ppJycs ICcnemEnJyBhbmQgJyd6dScnIHNwZWNpZmllcyBhIHNob3J0LCB1bnNwZWNpZmllZCAocHJlc3Vt YWJseSBtZWRpdW0pIGFuZCBsb25nIGRpc3RhbmNlIGluIHRpbWUuIE5vdGljZSB0aGUgdm93ZWwg b3JkZXIgJydpJycsICcnYScnIGFuZCAnJ3UnJy4gVGhpcyBvcmRlciBhcHBlYXJzIGFnYWluIGFu ZCBhZ2FpbiBpbiBMb2piYW4sIGFuZCBtaWdodCBiZSB3b3J0aCB0byBtZW1vcml6ZS4g4oCcU2hv cnTigJ0gYW5kIOKAnGxvbmfigJ0gaW4gYXJlIGFsd2F5cyBjb250ZXh0IGRlcGVuZGVudCwgcmVs YXRpdmUgYW5kIHN1YmplY3RpdmUuIFR3byBodW5kcmVkIHllYXJzIGlzIGEgc2hvcnQgdGltZSBm b3IgYSBzcGVjaWVzIHRvIGV2b2x2ZSwgYnV0IGEgbG9uZyB0aW1lIHRvIHdhaXQgZm9yIHRoZSBi dXMuCgpfXycnemknJ19fIHN1bXRjaXRhOiBPY3VycmluZyB0aGUgc21hbGwgZGlzdGFuY2Ugb2Yg e3N1bXRpfSBpbiB0aW1lIGZyb20gcG9pbnQgb2YgcmVmZXJlbmNlIAoKX18nJ3phJydfXyBzdW10 Y2l0YTogT2N1cnJpbmcgdGhlIHVuc3BlY2lmaWVkKG1lZGl1bSkgZGlzdGFuY2Ugb2Yge3N1bXRp fSBpbiB0aW1lIGZyb20gcG9pbnQgb2YgcmVmZXJlbmNlIAoKX18nJ3p1JydfXyBzdW10Y2l0YTog T2N1cnJpbmcgdGhlIGZhciBkaXN0YW5jZSBvZiB7c3VtdGl9IGluIHRpbWUgZnJvbSB0aGUgcG9p bnQgb2YgcmVmZXJlbmNlIAoKCgpTaW1pbGFybHksIHNwYWNpYWwgZGlzdGFuY2UgaXMgbWFya2Vk IGJ5ICcndmknJywgJyd2YScnIGFuZCAnJ3Z1JycgZm9yIHNob3J0LCB1bnNwZWNpZmllZCAobWVk aXVtKSBhbmQgbG9uZyBkaXN0YW5jZSBpbiBzcGFjZS4KCl9fJyd2aScnX18gc3VtdGNpdGE6IE9j dXJyaW5nIHRoZSBzbWFsbCBkaXN0YW5jZSBvZiB7c3VtdGl9IGluIHNwYWNlIGZyb20gcG9pbnQg b2YgcmVmZXJlbmNlIAoKX18nJ3ZhJydfXyBzdW10Y2l0YTogT2N1cnJpbmcgdGhlIHVuc3BlY2lm aWVkKG1lZGl1bSkgZGlzdGFuY2Ugb2Yge3N1bXRpfSBpbiBzcGFjZSBmcm9tIHBvaW50IG9mIHJl ZmVyZW5jZSAKCl9fJyd2dScnX18gc3VtdGNpdGE6IE9jdXJyaW5nIHRoZSBmYXIgZGlzdGFuY2Ug b2Yge3N1bXRpfSBpbiBzcGFjZSBmcm9tIHRoZSBwb2ludCBvZiByZWZlcmVuY2UgCgpfXycnZ3Vu a2EnJ19fIOKAnHgxIHdvcmtzIGF0IHgyIHdpdGggb2JqZWN0aXZlIHgz4oCdCgoKClRyYW5zbGF0 ZTogJydiYSB7a3V9IHphIGt1IG1pIHZ1IHtrdX0gZ3Vua2Ege3ZhdX0nJwoKCgpBbnN3ZXI6IH5+ Z3JleSxncmV5OuKAnFNvbWUgdGltZSBpbiB0aGUgZnV0dXJlLCBJIHdpbGwgd29yayBhIHBsYWNl IGxvbmcgYXdheeKAnX5+CgpOb3RlOiBQZW9wbGUgcmFyZWx5IHVzZSAnJ3ppJycsICcnemEnJyBv ciAnJ3p1Jycgd2l0aG91dCBhICcncHUnJyBvciAnJ2JhJycgaW4gZnJvbnQgb2YgaXQuIFRoaXMg aXMgYmVjYXVzZSBtb3N0IHBlb3BsZSBhbHdheXMgbmVlZCB0byBzcGVjaWZ5IHBhc3Qgb3IgZnV0 dXJlIGluIHRoZWlyIG5hdGl2ZSBsYW5ndWFnZS4gV2hlbiB5b3UgdGhpbmsgYWJvdXQgaXQgTG9q YmFuaWNhbGx5LCBtb3N0IG9mIHRoZSB0aW1lIHRoZSB0aW1lLWRpcmVjdGlvbiBpcyBvYnZpb3Vz LCBhbmQgdGhlICcncHUnJyBvciAnJ2JhJycgc3VwZXJmbHVvdXMhCgoKClRoZSBvcmRlciBpbiB3 aGljaCBkaXJlY3Rpb24tc3VtdGNpdGEgYW5kIGRpc3RhbmNlLXN1bXRjaXRhIGFyZSBzYWlkIG1h a2VzIGEgZGlmZmVyZW5jZS4gUmVtZW1iZXIgdGhhdCB0aGUgbWVhbmluZ3Mgb2Ygc2V2ZXJhbCB0 ZW5zZSB3b3JkcyBwbGFjZWQgdG9nZXRoZXIgYXJlIHBpY3R1cmVkIGJ5IGFuIGltYWdpbmFyeSBq b3VybmV5IHJlYWRpbmcgZnJvbSBsZWZ0IHRvIHJpZ2h0LiBUaHVzICcncHUgenUnJyBpcyDigJxh IGxvbmcgdGltZSBhZ2/igJ0gd2hpbGUgJyd6dSBwdScnIGlzIOKAnGluIHRoZSBwYXN0IG9mIHNv bWUgcG9pbnQgaW4gdGltZSB3aGljaCBpcyBhIGxvbmcgdGltZSB0b3dhcmQgdGhlIGZ1dHVyZSBv ciB0aGUgcGFzdCBvZiBub3figJ0uIEluIHRoZSBmaXJzdCBleGFtcGxlLCAnJ3B1Jycgc2hvd3Mg dGhhdCB3ZSBiZWdpbiBpbiB0aGUgcGFzdCwgJyd6dScnIHRoZW4gdGhhdCBpdCBpcyBhIGxvbmcg dGltZSBiYWNrd2FyZHMuIEluIHRoZSBzZWNvbmQgZXhhbXBsZSwgJyd6dScnIHNob3dzIHRoYXQg d2UgYmVnaW4gYXQgc29tZSBwb2ludCBmYXIgYXdheSBpbiB0aW1lIGZyb20gbm93LCAnJ3B1Jycg dGhlbiwgdGhhdCB3ZSBtb3ZlIGJhY2t3YXJkcyBmcm9tIHRoYXQgcG9pbnQuIFRodXMgJydwdSB6 dScnIGlzIGFsd2F5cyBpbiB0aGUgcGFzdC4gJyd6dSBwdScnIGNvdWxkIGJlIGluIHRoZSBmdXR1 cmUuIFRoZSBmYWN0IHRoYXQgdGhlc2UgdGltZSB0ZW5zZXMgY29tYmluZSBpbiB0aGlzIHdheSBp cyBvbmUgb2YgdGhlIGRpZmZlcmVuY2VzIGJldHdlZW4gdGVuc2Ugc3VtdGNpdGEgYW5kIG90aGVy IHN1bXRjaXRhLiBUaGUgbWVhbmluZ3Mgb2Ygb3RoZXIgc3VtdGNpdGEgYXJlIG5vdCBhbHRlcmVk IGJ5IHRoZSBwcmVzZW5jZSBvZiBhZGRpdGlvbmFsIHN1bXRjaXRhIGluIGEgYnJpZGkuCgoKCkFz IGJyaWVmbHkgaW1wbGllZCBlYXJsaWVyLCBhbGwgdGhlc2UgY29uc3RydWN0cyBiYXNpY2FsbHkg dHJlYXQgYnJpZGkgYXMgaWYgdGhleSB3ZXJlIHBvaW50LWxpa2UgaW4gdGltZSBhbmQgc3BhY2Uu IEluIGFjdHVhbGl0eSwgbW9zdCBldmVudHMgcGxheSBvdXQgb3ZlciBhIHNwYW4gb2YgdGltZSBh bmQgc3BhY2UuIEluIHRoZSBmb2xsb3dpbmcgZmV3IHBhcmFncmFwaHMsIHdlIHdpbGwgbGVhcm4g aG93IHRvIHNwZWNpZnkgaW50ZXJ2YWxzIG9mIHRpbWUgYW5kIHNwYWNlLgoKCgpfXycnemUnaScn X18gc3VtdGNpdGE6IHNwYW5uaW5nIG92ZXIgdGhlIHNob3J0IHRpbWUgb2Yge3N1bXRpfQoKX18n J3plJ2EnJ19fIHN1bXRjaXRhOiBzcGFubmluZyBvdmVyIHRoZSB1bnNwZWNpZmllZCAobWVkaXVt KSB0aW1lIG9mIHtzdW10aX0KCl9fJyd6ZSd1JydfXyBzdW10Y2l0YTogc3Bhbm5pbmcgb3ZlciB0 aGUgbG9uZyB0aW1lIG9mIHtzdW10aX0KCgoKX18nJ3ZlJ2knJ19fIHN1bXRjaXRhOiBzcGFubmlu ZyBvdmVyIHRoZSBzaG9ydCBzcGFjZSBvZiB7c3VtdGl9CgpfXycndmUnYScnX18gc3VtdGNpdGE6 IHNwYW5uaW5nIG92ZXIgdGhlIHVuc3BlY2lmaWVkIChtZWRpdW0pIHNwYWNlIG9mIHtzdW10aX0K Cl9fJyd2ZSd1JydfXyBzdW10Y2l0YTogc3Bhbm5pbmcgb3ZlciB0aGUgbG9uZyBzcGFjZSBvZiB7 c3VtdGl9CgoKClNpeCB3b3JkcyBhdCBhIHRpbWUsIEkga25vdywgYnV0IHJlbWVtYmVyaW5nIHRo ZSB2b3dlbCBzZXF1ZW5jZSBhbmQgdGhlIHNpbWlsYXJpdHkgb2YgdGhlIGluaXRpYWwgbGV0dGVy IHogZm9yIHRlbXBvcmFsIHRlbnNlcyBhbmQgdiBmb3Igc3BhY2lhbCB0ZW5zZXMgbWlnaHQgaGVs cCB0aGUgbWVtb3JpemluZy4KCl9fJycub2knJ19fIC0gYXR0aXR1ZGluYWw6IHBhaW4gLSBwbGVh c3VyZQoKCgpUcmFuc2xhdGU6ICcnLm9pIGRhaSBkbyB2ZSd1IHtrdX0ga2xhbWEgbG8gZG90Y28g Z3VnZGUge2t1fSB6ZSd1IHtrdX0ge3ZhdX0nJwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnE91 Y2gsIHlvdSBzcGVuZCBhIGxvbmcgdGltZSB0cmF2ZWxpbmcgYSBsb25nIHNwYWNlIHRvIEdlcm1h bnnigJ0gfn4KCgoKVGhvdWdoIG1vc3QgcGVvcGxlIGFyZSBub3QgZmFtaWxpYXIgd2l0aCBzcGFj aWFsIHRlbnNlcywgdGhlc2UgbmV3IHdvcmRzIGNhbiBvcGVuIHVwIGZvciBzb21lIHByZXR0eSBz d2VldCB1c2VzLiBPbmUgY291bGQsIGZvciBpbnN0YW5jZSwgdHJhbnNsYXRlIOKAnFRoYXQncyBh IGJpZyBkb2figJ0gYXMgJyd0aSB2ZSd1IHtrdX0gZ2Vya3Uge3ZhdX0nJy4gU2F5aW5nOiDigJxU aGlzIHRoaW5nIGRvZ3MgZm9yIGEgbG9uZyBzcGFjZeKAnSBtYWtlcyB5b3Ugc291bmQgcmV0YXJk ZWQgaW4gRW5nbGlzaCwgYnV0IHdlbGwtc3Bva2VuIGluIExvamJhbiEKCgoKJyd6ZSd1JycgYW5k IGl0cyBicm90aGVycyBhbHNvIGNvbWJpbmUgd2l0aCBvdGhlciB0ZW5zZXMgdG8gZm9ybSBjb21w b3VuZCB0ZW5zZXMuIFRoZSBydWxlIGZvciAnJ3plJ3UnJyBhbmQgdGhlIG90aGVycyBhcmUgdGhh dCBhbnkgdGVuc2VzIHByZWNlZGluZyBpdCBtYXJrcyBhbiBlbmRwb2ludCBvZiB0aGUgcHJvY2Vz cyAocmVsYXRpdmUgdG8gdGhlIHBvaW50IG9mIHJlZmVyZW5jZSkgYW5kIGFueSB0ZW5zZXMgY29t aW5nIGFmdGVyIGl0IG1hcmtzIHRoZSBvdGhlciBlbmRwb2ludCByZWxhdGl2ZSB0byB0aGUgZmly c3QuIFRoaXMgc2hvdWxkIGJlIGRlbW9uc3RyYXRlZCB3aXRoIGEgY291cGxlIG9mIGV4YW1wbGVz OgoKJycubydvY3UnaSBkbyBjaXRrYSBwdSB7a3V9IHplJ3Uge2t1fSBiYSB7a3V9IHp1IHtrdX0g e3ZhdX0nJyAtIOKAnHt0b2xlcmFuY2V9IHlvdSBlYXQgYmVnaW5uaW5nIGluIHRoZSBwYXN0IGFu ZCBmb3IgYSBsb25nIHRpbWUgZW5kaW5nIGF0IHNvbWUgcG9pbnQgZmFyIGludG8gdGhlIGZ1dHVy ZSBvZiB3aGVuIHlvdSBzdGFydGVk4oCdIG9yIOKAnEhtcGYsIHlvdSBhdGUgZm9yIGEgbG9uZyB0 aW1l4oCdLiBPbmUgY2FuIGFsc28gY29udHJhc3QgJydkbyBjYSB7a3V9IHplJ2kge2t1fSBwdSB7 a3V9IGtsYW1hIHt2YXV9Jycgd2l0aCAnJ2RvIHB1IHtrdX0gemUnaSB7a3V9IGNhIHtrdX0ga2xh bWEge3ZhdX0nJy4gVGhlIGZpcnN0IGV2ZW50IG9mIHRyYXZlbGluZyBoYXMgb25lIGVuZHBvaW50 IGluIHRoZSBwcmVzZW50IGFuZCBleHRlbmRzIGEgbGl0dGxlIHRvd2FyZHMgdGhlIHBhc3QsIHdo aWxlIHRoZSBzZWNvbmQgZXZlbnQgaGFzIG9uZSBlbmRwb2ludCBpbiB0aGUgcGFzdCBhbmQgZXh0 ZW5kcyBvbmx5IHRvIHRoZSBwcmVzZW50ICh0aGF0IGlzLCBzbGlnaHR5IGludG8gdGhlIHBhc3Qg b3IgZnV0dXJlKSBvZiB0aGF0IGVuZHBvaW50LgoKX18nJ2ptaXZlJydfXyDigJx4MSBpcyBhbGl2 ZSBieSBzdGFuZGFyZCB4MuKAnQoKCgpXaGF0IGRvZXMgJycudWkgbWkgcHUge2t1fSB6aSB7a3V9 IHplJ3Uge2t1fSBqbWl2ZSB7dmF1fScnIGV4cHJlc3M/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6 4oCce2hhcHBpbmVzcyF9IEkgbGl2ZSBmcm9tIGEgbGl0dGxlIGludG8gdGhlIHBhc3QgYW5kIGEg bG9uZyB3YXkgdG93YXJkcyB0aGUgZnV0dXJlIG9yIHBhc3QgKG9idmlvdXNseSB0aGUgZnV0dXJl LCBpbiB0aGlzIGNhc2UpIG9mIHRoYXQgZXZlbnTigJ0gb3Ig4oCcSSBhbSB5b3VuZywgYW5kIGhh dmUgbW9zdCBvZiBteSBsaWZlIGFoZWFkIG9mIG1lIDop4oCdfn4KCgoKSnVzdCB0byB1bmRlcmxp bmUgdGhlIHNpbWlsYXJpdHkgd2l0aCBzcGFjaWFsIHRlbnNlcywgbGV0J3MgaGF2ZSBhbm90aGVy IGV4YW1wbGUsIHRoaXMgdGltZSB3aXRoIHNwYWNpYWwgdGVuc2VzOgoKX18nJy51J2UnJ19fIGF0 dGl0dWRpbmFsOiB3b25kZXIgLSBjb21tb25wbGFjZQoKCgonJy51J2UgemEnYSB7a3V9IGJ1J3Ug e2t1fSB2ZSd1IHtrdX0gY2EndSB7a3V9IHpkYW5pIHt2YXV9JycgLSBXaGF0IGRvZXMgaXQgbWVh bj8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTog4oCce3dvbmRlcn0ge0kgb2JzZXJ2ZSF9IEV4dGVu ZGluZyBhIGxvbmcgc3BhY2UgZnJvbSBoZXJlIHRvIG15IGZyb250IGlzIGEgaG9tZS7igJ0gb3Ig 4oCcV293LCB0aGlzIGhvbWUgZXh0ZW5kaW5nIGFoZWFkIGlzIGh1Z2Uh4oCdfn4KCgoKQmVmb3Jl IHdlIGNvbnRpbnVlIHdpdGggdGhpcyBzeW50YXgtaGVhdnkgdGVuc2Ugc3lzdGVtLCBpIHJlY29t bWVuZCBzcGVuZGluZyBhdCBsZWFzdCB0ZW4gbWludXRlcyBkb2luZyBzb21ldGhpbmcgd2hpY2gg ZG9lc24ndCBvY2N1cHkgeW91ciBicmFpbiBpbiBvcmRlciB0byBsZXQgdGhlIGluZm9ybWF0aW9u IHNpbmsgaW4uIFNpbmcgYSBzb25nIG9yIGVhdCBhIGNvb2tpZSB2ZXJ5IHNsb3dseSAtIHdoYXRl dmVyLCBhcyBsb25nIGFzIHlvdSBsZXQgeW91ciBtaW5kIHJlc3QuCgoKCiEhTG9qYmFuIExlc3Nv bnMgLSBMZXNzb24gZWxldmVuIChaQWhPKQoKVGhvdWdoIHdlIHdvbid0IGdvIHRocm91Z2ggYWxs IExvamJhbiB0ZW5zZSBjb25zdHJ1Y3RzIGZvciBub3csIHRoZXJlIGlzIG9uZSBvdGhlciBraW5k IG9mIHRlbnNlIHRoYXQgSSB0aGluayBzaG91bGQgYmUgdGF1Z2h0IG5vdy4gVGhlc2UgYXJlIGNh bGxlZCDigJxldmVudCBjb250b3Vyc+KAnSwgYW5kIHJlcHJlc2VudCBhIHZlcnkgZGlmZmVyZW50 IHdheSBvZiB2aWV3aW5nIHRlbnNlcyB0aGF0IHdlIGhhdmUgc2VlbiBzbyBmYXIuIFNvIGxldCdz IGdldCB0byBpdDoKCgoKVXNpbmcgdGhlIHRlbnNlcyB3ZSBoYXZlIGxlYXJuZWQgc28gZmFyLCB3 ZSBjYW4gaW1hZ2luZSBhbiBpbmRlZmluaXRlIHRpbWUgbGluZSwgYW5kIHdlIHRoZW4gcGxhY2Ug ZXZlbnRzIG9uIHRoYXQgbGluZSByZWxhdGl2ZSB0byB0aGUg4oCcbm934oCdLiBXaXRoIGV2ZW50 IGNvbnRvdXJzLCBob3dldmVyLCB3ZSB2aWV3IGVhY2ggZXZlbnQgYXMgYSBwcm9jZXNzLCB3aGlj aCBoYXMgY2VydGFpbiBzdGFnZXM6IEEgdGltZSBiZWZvcmUgaXQgdW5mb2xkcywgYSB0aW1lIHdo ZW4gaXQgYmVnaW5zLCBhIHRpbWUgd2hlbiBpdCBpcyBpbiBwcm9jZXNzLCBhIHRpbWUgd2hlbiBp dCBlbmRzLCBhbmQgYSB0aW1lIGFmdGVyIGl0IGhhcyBlbmRlZC4gRXZlbnQgY29udG91cnMgdGhl biB0ZWxscyB1cyB3aGljaCBwYXJ0IG9mIHRoZSBldmVudCdzIHByb2Nlc3Mgd2FzIGhhcHBlbmlu ZyBkdXJpbmcgdGhlIHRpbWUgc3BlY2lmaWVkIGJ5IHRoZSBvdGhlciB0ZW5zZXMuIFdlIG5lZWQg YSBjb3VwbGUgb2YgdGVuc2VzIGZpcnN0OgoKCgpfXycncHUnbycnX18gLSBzdW10Y2l0YTogZXZl bnQgY29udG91cjogQnJpZGkgaGFzIG5vdCB5ZXQgaGFwcGVuZWQgZHVyaW5nIHtzdW10aX0KCl9f JydjYSdvJydfXyAtIHN1bXRjaXRhOiBldmVudCBjb250b3VyOiBCcmlkaSBpcyBpbiBwcm9jZXNz IGR1cmluZyB7c3VtdGl9CgpfXycnYmEnbycnX18gLSBzdW10Y2l0YTogZXZlbnQgY29udG91cjog VGhlIHByb2Nlc3Mgb2YgYnJpZGkgaGFzIGVuZGVkIGR1cmluZyB7c3VtdGl9CgoKClRoaXMgbmVl ZHMgdG8gYmUgZGVtb25zdHJhdGVkIGJ5IHNvbWUgZXhhbXBsZXMuIFdoYXQncyAnJy51aSBtaSBw dSdvIHtrdX0gc2UgemRhbmkge3ZhdX0nJyBtZWFuPwoKCgpBbnN3ZXI6IOKAnFlheSwgSSdsbCBi ZWdpbiB0byBoYXZlIGEgaG9tZeKAnS4KCgoKQnV0IGhleSwgeW91IGFzaywgd2h5IG5vdCBqdXN0 IHNheSAnJy51aSBtaSBiYSB7a3V9IHNlIHpkYW5pIHt2YXV9JycgYW5kIGV2ZW4gc2F2ZSBhIHN5 bGxhYmxlPyBCZWNhdXNlLCByZW1lbWJlciwgc2F5aW5nIHRoYXQgeW91IHdpbGwgaGF2ZSBhIGhv bWUgaW4gdGhlIGZ1dHVyZSBzYXlzIG5vdGhpbmcgYWJvdXQgd2hldGhlciB5b3UgaGF2ZSBhIGhv bWUgbm93LiBVc2luZyAnJ3B1J28nJywgdGhvdWdoLCB5b3Ugc2F5IHRoYXQgeW91IGFyZSBub3cg aW4gdGhlIHBhc3Qgb2YgdGhlIHByb2Nlc3Mgb2YgeW91IGhhdmluZyBhIGhvbWUsIHdoaWNoIG1l YW5zIHRoYXQgeW91IGRvbid0IGhhdmUgb25lIG5vdy4KCk5vdGUsIGJ5IHRoZSB3YXksIHRoYXQg JydtaSBiYSB7a3V9IHNlIHpkYW5pIHt2YXV9JycgaXMgc2ltaWxhciB0byAnJ21pIHB1J28ge2t1 fSBzZSB6ZGFuaSB7dmF1fScnLCBhbmQgbGlrZXdpc2Ugd2l0aCAnJ2JhJ28nJyBhbmQgJydwdScn LiBXaHkgZG8gdGhleSBzZWVtIHJldmVyc2VkPyBCZWNhdXNlIGV2ZW50IGNvbnRvdXJzIHZpZXcg dGhlIHByZXNlbnQgYXMgc2VlbiBmcm9tIHRoZSB2aWV3cG9pbnQgb2YgdGhlIHByb2Nlc3MsIHdo ZXJlYXMgdGhlIG90aGVyIHRlbnNlcyB2aWV3IGV2ZW50cyBzZWVuIGZyb20gdGhlIHByZXNlbnQu CgoKCk9mdGVuLCBldmVudCBjb250b3VycyBhcmUgbW9yZSBwcmVjaXNlIHRoYXQgb3RoZXIga2lu ZCBvZiB0ZW5zZXMuIEV2ZW4gbW9yZSBjbGFyaXR5IGlzIGFjaGlldmVkIGJ5IGNvbWJpbmluZyBz ZXZlcmFsIHRlbnNlczogJycuYSdvIG1pIGJhe2t1fSB6aSB7a3V9IGJhJ28ge2t1fSBndW5rYSB7 dmF1fScnIC0g4oCcSSBob3BlIEkndmUgc29vbiBmaW5pc2hlZCB3b3JraW5nLuKAnQoKCgpJbiBM b2piYW4sIHdlIGFsc28gb3BlcmF0ZSB3aXRoIGFuIGV2ZW50J3Mg4oCcbmF0dXJhbCBiZWdpbm5p bmfigJ0gYW5kIGl0cyDigJxuYXR1cmFsIGVuZOKAnS4gVGhlIHRlcm0g4oCcbmF0dXJhbOKAnSBp cyBoaWdobHkgc3ViamVjdGl2ZSBpbiB0aGlzIHNlbnNlLCBhbmQgdGhlIG5hdHVyYWwgZW5kIHJl ZmVycyB0byB0aGUgcG9pbnQgaW4gdGhlIHByb2Nlc3Mgd2hlcmUgaXQgc2hvdWxkIGVuZC4gWW91 IGNhbiBzYXkgYWJvdXQgYSBsYXRlIHRyYWluLCBmb3IgaW5zdGFuY2UsIHRoYXQgaXRzIHByb2Nl c3Mgb2YgcmVhY2hpbmcgeW91IGlzIG5vdyBleHRlbmRpbmcgYmV5b25kIGl0cyBuYXR1cmFsIGVu ZC4gQW4gdW5kZXJjb29rZWQsIGJ1dCBzZXJ2ZWQgbWVhbCwgc2ltaWxhcmx5LCBpcyBiZWluZyBl YXRlbiBiZWZvcmUgdGhhdCBwcm9jZXNzJyBuYXR1cmFsIGJlZ2lubmluZy4gVGhlIGV2ZW50IGNv bnRvdXJzIHVzZWQgaW4gdGhlc2UgZXhhbXBsZXMgYXJlIGFzIGZvbGxvd3M6CgoKCl9fJyd6YSdv JydfXyAtIHN1bXRjaXRhOiBldmVudCBjb250b3VyOiBCcmlkaSBpcyBpbiBwcm9jZXNzIGJleW9u ZCBpdHMgbmF0dXJhbCBlbmQgZHVyaW5nIHtzdW10aX0KCl9fJyd4YSdvJydfXyAtIHN1bXRjaXRh OiBldmVudCBjb250b3VyOiBCcmlkaSBpcyBpbW1hdHVyZWx5IGluIHByb2Nlc3MgZHVyaW5nIHtz dW10aX0KCgoKX18nJ2NpZGphJydfXzog4oCceDEgaXMgZm9vZCwgd2hpY2ggaXMgZWRpYmxlIGZv ciB4MuKAnQoKCgpUcmFuc2xhdGU6ICcnLm9pIGRvIGNpdGthIHphJ28gbG8gbnUgZG8gYmEnbyB7 a3V9IHUnZSBjaXRrYSB6bydlIG5vaSBjaWRqYSBkbyB7dmF1fSB7a3Unb30ge3ZhdX0ge2tlaX0g e2t1fScnCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcT3ksIHlvdSBrZWVwIGVhdGluZyB3aGVu IHlvdSBoYXZlIGZpbmlzaGVkLCBpbmNyZWRpYmx5LCBlYXRpbmcgc29tZXRoaW5nIGVkaWJsZSHi gJ1+fgoKCgp7aW1nIGZpbGVJZD0iMiIgdGh1bWI9InkiIHJlbD0iYm94W2ddIn0KCkltYWdlIGFi b3ZlOiBaQWhPIHRlbnNlcyAoZXZlbnQgY29udG91cnMpLiBBbGwgdGVuc2VzIGFib3ZlIHRoZSBs aW5lIG9mIHRoZSBldmVudCBzaWduaWZ5IHN0YWdlcyBjb3ZlcmluZyBhbiBhbW91bnQgb2YgdGlt ZS4gQWxsIHRlbnNlcyBiZWxvdyB0aGUgZXZlbnQgbGluZSBzaWduaWZ5IHN0YWdlcyB3aGljaCBh cmUgcG9pbnQtbGlrZS4KCgoKQWxsIG9mIHRoZXNlIHRlbnNlcyBoYXZlIGJlZW4gZGVzY3JpYmlu ZyBzdGFnZXMgb2YgYSBwcm9jZXNzIHdoaWNoIHRha2VzIHNvbWUgdGltZSAoYXMgc2hvd24gb24g dGhlIGdyYXBoIGFib3ZlOyB0aG9zZSB0ZW5zZXMgYWJvdmUgdGhlIGV2ZW50IGxpa2UpLiBCdXQg bWFueSBvZiB0aGUgZXZlbnQgY29udG91cnMgZGVzY3JpYmVzIHBvaW50IGxpa2Ugc3RhZ2VzIGlu IHRoZSBwcm9jZXNzLCBsaWtlIGl0cyBiZWdpbm5pbmcuIEFzIGlzIHRydWUgb2YgJydjYScnIGFu ZCAnJ2J1J3UnJywgdGhleSBhY3R1YWxseSBleHRlbmQgc2xpZ2h0bHkgaW50byB0aGUgcGFzdCBh bmQgZnV0dXJlIG9mIHRoYXQgcG9pbnQsIGFuZCBuZWVkIG5vdCB0byBiZSBwcmVjaXNlLgoKCgpU aGUgdHdvIG1vc3QgaW1wb3J0YW50IHBvaW50LWxpa2UgZXZlbnQgY29udG91cnMgYXJlOgoKX18n J2NvJ2EnJ19fIC0gc3VtdGNpdGE6IGV2ZW50IGNvbnRvdXI6IEJyaWRpIGlzIGF0IGl0cyBiZWdp bm5pbmcgZHVyaW5nIHtzdW10aX0KCl9fJydjbyd1JydfXyAtIHN1bXRjaXRhOiBldmVudCBjb250 b3VyOiBCcmlkaSBpcyBhdCBpdHMgZW5kaW5nIGR1cmluZyB7c3VtdGl9CgoKCkZ1cnRoZXJtb3Jl LCB0aGVyZSBpcyBhIHBvaW50IHdoZXJlIHRoZSBwcm9jZXNzIGlzIG5hdHVyYWxseSBjb21wbGV0 ZSwgYnV0IG5vdCBuZWNlc3NhcmlseSBoYXMgZW5kZWQgeWV0OgoKX18nJ21vJ3UnJ19fIC0gc3Vt dGNpdGE6IGV2ZW50IGNvbnRvdXI6IEJyaWRpIGlzIGF0IGl0cyBuYXR1cmFsIGVuZGluZyBkdXJp bmcge3N1bXRpfQoKTW9zdCBvZiB0aGUgdGltZSwgdGhvdWdoLCBwcm9jZXNzZXMgYWN0dWFsbHkg ZW5kIGF0IHRoZWlyIG5hdHVyYWwgZW5kaW5nOyB0aGlzIGlzIHdoYXQgbWFrZXMgaXQgbmF0dXJh bC4gVHJhaW5zIGFyZSBub3QgdXN1YWxseSBsYXRlLCBhbmQgcGVvcGxlIHVzdWFsbHkgcmV0cmFp biB0aGVtc2VsdmVzIHRvIGVhdCBvbmx5IGVkaWJsZSBmb29kLgoKCgpTaW5jZSBhIHByb2Nlc3Mg Y2FuIGJlIGludGVycnVwdGVkIGFuZCByZXN1bWVkLCB0aGVzZSBwb2ludHMgaGF2ZSBlYXJuZWQg dGhlaXIgb3duIGV2ZW50IGNvbnRvdXIgYWxzbzoKCl9fJydkZSdhJydfXyAtIHN1bXRjaXRhOiBl dmVudCBjb250b3VyOiBCcmlkaSBpcyBwYXVzaW5nIGR1cmluZyB7c3VtdGl9CgpfXycnZGknYScn X18gLSBzdW10Y2l0YTogZXZlbnQgY29udG91cjogQnJpZGkgaXMgcmVzdW1pbmcgZHVyaW5nIHtz dW10aX0KCgoKSW4gZmFjdCwgc2luY2UgJydqdW5kaScnIG1lYW5zIOKAnHgxIHBheXMgYXR0ZW50 aW9uIHRvIHgy4oCdLCAnJ2RlJ2EganVuZGknJyBhbmQgJydkaSdhIGp1bmRpJycgYXJlIGNvbW1v biBMb2piYW4gd2F5cyBvZiBzYXlpbmcg4oCcQlJC4oCdIGFuZCDigJxiYWNr4oCdLiBPbmUgY291 bGQgb2YgY291cnNlIGFsc28gc2F5IHRoZSBldmVudCBjb250b3VycyBieSB0aGVtc2VsdmVzIGFu ZCBob3BlIHRoZSBwb2ludCBnZXRzIGFjcm9zcy4KCgoKRmluYWxseSwgb25lIGNhbiB0cmVhdCBh biBlbnRpcmUgZXZlbnQsIGZyb20gdGhlIGJlZ2lubmluZyB0byB0aGUgZW5kIGFzIG9uZSBzaW5n bGUgcG9pbnQgdXNpbmcgJydjbydpJyc6CgpfXycncGVubWknJ19fIOKAnHgxIG1lZXRzIHgyIGF0 IGxvY2F0aW9uIHgz4oCdCgonJ21pIHB1IHtrdX0gemkge2t1fSBjbydpIHtrdX0gcGVubWkgbG8g ZG90Y28gcHJlbnUge2t1fSB7dmF1fScnIC0g4oCcQSBsaXR0bGUgd2hpbGUgYWdvLCBJIHdhcyBh dCB0aGUgcG9pbnQgaW4gdGltZSB3aGVyZSBpIG1ldCBhIEdlcm1hbiBwZXJzb27igJ0KCgoKCgoh IUxvamJhbiBMZXNzb25zIC0gTGVzc29uIHR3ZWx2ZSAob3JkZXJzIGFuZCBxdWVzdGlvbnMpCgpQ aGV3LCB0aG9zZSB0d28gbG9uZyBsZXNzb25zIHdpdGggc3ludGF4IGhlYXZ5IExvamJhbiBnaXZl cyB0aGUgYnJhaW4gc29tZXRoaW5nIHRvIHBvbmRlciBhYm91dC4gRXNwZWNpYWxseSBiZWNhdXNl IGl0J3Mgc28gZGlmZmVyZW50IGZyb20gRW5nbGlzaC4gU28gbGV0J3MgdHVybiB0byBzb21ldGhp bmcgYSBsaXR0bGUgbGlnaHRlcjogT3JkZXJzIGFuZCBxdWVzdGlvbnMuCgoKCldoYXQgdGhlLi4u IF9fc2l0IHVwIGFuZCBmb2N1cyFfXwoKCgpTaW5jZSB0aGUgd2F5IHRvIGV4cHJlc3Mgb3JkZXJz IGluIEVuZ2xpc2ggaXMgdG8gbGVhdmUgb3V0IHRoZSBzdWJqZWN0IG9mIHRoZSBjbGF1c2UsIHdo eSBkaWQgeW91IGFzc3VtZSB0aGF0IGl0IHdhcyB5b3UgSSB3YXMgc3BlYWtpbmcgdG8sIGFuZCBu b3Qgb3JkZXJpbmcgbXlzZWxmLCBvciBleHByZXNzaW5nIHRoZSBvYmxpZ2F0aW9uIHNvbWVvbmUg ZWxzZSBoYXM/IEJlY2F1c2UgdGhlIEVuZ2xpc2ggbGFuZ3VhZ2UgdW5kZXJzdGFuZHMgdGhhdCBv cmRlcnMsIGJ5IHRoZWlyIHZlcnkgbmF0dXJlLCBhcmUgYWx3YXlzIGRpcmVjdGVkIHRvd2FyZHMg dGhlIGxpc3RlbmVyIC0gdGhlIOKAnHlvdeKAnSwgYW5kIHNvIHRoZSBzdWJqZWN0IGlzIG5vdCBu ZWNlc3NhcnkuCgpJbiBMb2piYW4sIGVsaWRpbmcgdGhlIHN1YmplY3QgeWllbGRzICcnem8nZScn LCBzbyB0aGF0IHBvc3NpYmlsaXR5IGlzIHNhZGx5IG5vdCBvcGVuIHRvIHVzLiBJbnN0ZWFkLCB3 ZSB1c2UgdGhlIHdvcmQgJydrbycnLCB3aGljaCBpcyB0aGUgaW1wZXJhdGl2ZSBmb3JtIG9mICcn ZG8nJy4gR3JhbW1hdGljYWxseSBhbmQgYnJpZGktd2lzZSwgaXQncyBlcXVpdmFsZW50IHRvICcn ZG8nJywgYnV0IGl0IGFkZHMgYSBsYXllciBvZiBzZW1hbnRpY3MsIHNpbmNlIGl0IHR1cm5zIGV2 ZXJ5IHN0YXRlbWVudCB3aXRoICcna28nJyBpbiBpdCBpbnRvIGFuIG9yZGVyLiDigJxEbyBzdWNo IHRoYXQgdGhpcyBzZW50ZW5jZSBpcyB0cnVlIGZvciB5b3U9JydrbycnIeKAnSBGb3IgdGhlIHNh bWUgcmVhc29uIHdlIGRvbid0IG5lZWQgdGhlIHN1YmplY3QgaW4gRW5nbGlzaCBzZW50ZW5jZXMs IHdlIGRvbid0IG5lZWQgb3JkZXItd29yZHMgZGVyaXZlZCBmcm9tIGFueSBvdGhlciBzdW10aSB0 aGFuICcnZG8nJy4KCgoKSG93IGNvdWxkIHlvdSBvcmRlciBvbmUgdG8gZ28gZmFyIGF3YXkgZm9y IGEgbG9uZyB0aW1lICh1c2luZyAnJ2tsYW1hJycgYXMgdGhlIG9ubHkgc2VsYnJpPykKCgoKQW5z d2VyOiB+fmdyZXksZ3JleTprbyB2ZSd1IHplJ3Uga2xhbWF+fgoKKCcnLmkgemEnYSBkYWkgYSdv IG1pIGNhIGNvJ3UgY2lza2EgbG8gZmEnb3JtYSdvIC5pIGtvIGppbXBlIHZhdSAudWknJykgLSBs b29rIHVwIGNpc2thIGFuZCB3b3JrIGl0IG91dC4KCgoKUXVlc3Rpb25zIGluIExvamJhbiBhcmUg dmVyeSBlYXN5IHRvIGxlYXJuLCBhbmQgdGhleSBjb21lIGluIHR3byBraW5kczogRmlsbCBpbiB0 aGUgYmxhbmssIGFuZCB0cnVlL2ZhbHNlIHF1ZXN0aW9ucy4gTGV0J3MgYmVnaW4gd2l0aCB0aGUg dHJ1ZS1mYWxzZSBxdWVzdGlvbiBraW5kIC0gdGhhdCdzIHByZXR0eSBvdmVyY29tZWFibGUsIHNp bmNlIGl0IG9ubHkgaW52b2x2ZXMgb25lIHdvcmQsICcneHUnJy4KCicneHUnJyB3b3JrcyBsaWtl IGFuIGF0dGl0dWRpbmFsIGluIHRoZSBzZW5zZSB0aGF0IGl0IGNhbiBnbyBhbnl3aGVyZSwgYW5k IGl0IGFwcGxpZXMgdG8gdGhlIHByZWNlZGluZyB3b3JkIChvciBjb25zdHJ1Y3QpLiBJdCB0aGVu IHRyYW5zZm9ybXMgdGhlIHNlbnRlbmNlIGludG8gYSBxdWVzdGlvbiwgYXNraW5nIHdoZXRoZXIg aXQgaXMgdHJ1ZSBvciBub3QuIEluIG9yZGVyIHRvIGFmZmlybSwgeW91IHNpbXBseSByZXBlYXQg dGhlIGJyaWRpOgoKJyd4dSB2ZSd1IHpkYW5pIGRvJycgJycuaSB2ZSd1IHpkYW5pIG1pJycsIG9y IHlvdSBqdXN0IHJlcGVhdCB0aGUgdGhlIHNlbGJyaSwgd2hpY2ggaXMgdGhlIGJyaWRpIHdpdGgg YWxsIHRoZSBzdW10aSBhbmQgdGVuc2VzIGVsaWRlZDogJyd6ZGFuaScnLgoKVGhlcmUgaXMgYW4g ZXZlbiBlYXNpZXIgd2F5IHRvIGFmZmlybSB1c2luZyBicmlrYSdpLCBidXQgdGhvc2UgYXJlIGEg dGFsZSBmb3IgYW5vdGhlciB0aW1lLiBUbyBhbnN3ZXIg4oCcbm/igJ0gb3Ig4oCcZmFsc2XigJ0s IHlvdSBzaW1wbHkgYW5zd2VyIHdpdGggdGhlIGJyaWRpIG5lZ2F0ZWQuIFRoYXQgdG9vLCB3aWxs IGJlIGxlZnQgZm9yIGxhdGVyLCBidXQgd2Ugd2lsbCByZXR1cm4gdG8gcXVlc3Rpb24gYW5zd2Vy aW5nIGJ5IHRoZW4uCgoKClRoZSBvdGhlciBraW5kIGlzIGZpbGwgaW4gdGhlIGJsYW5rLiBIZXJl LCB5b3UgYXNrIGZvciB0aGUgcXVlc3Rpb24gd29yZCB0byBiZSByZXBsYWNlZCBmb3IgYSBjb25z dHJ1Y3QsIHdoaWNoIG1ha2VzIHRoZSBicmlkaSBjb3JyZWN0LiBUaGVyZSBhcmUgc2V2ZXJhbCBv ZiB0aGVzZSB3b3JkcywgZGVwZW5kaW5nIG9uIHdoYXQgeW91IGFyZSBhc2tpbmcgYWJvdXQ6Cgpf XycnbWEnJ19fIC0gc3VtdGkgcXVlc3Rpb24KCl9fJydtbycnX18gLSBzZWxicmkgcXVlc3Rpb24K Cl9fJyd4bycnX18gLSBudW1iZXIgcXVlc3Rpb24KCl9fJydjdSdlJydfXyAtIHRlbnNlIHF1ZXN0 aW9uCgoKCkFzIHdlbGwgYXMgbWFueSBvdGhlcnMuIFRvIGFzayBhYm91dCBhIHN1bXRpLCB5b3Ug dGhlbiBqdXN0IHBsYWNlIHRoZSBxdWVzdGlvbiB3b3JkIHdoZXJlIHlvdSB3YW50IHlvdXIgYW5z d2VyOiAnJ2RvIGR1bmRhIG1hIG1pJycgLSBhc2tzIGZvciB0aGUgeDIgdG8gYmUgZmlsbGVkIHdp dGggYSBjb3JyZWN0IHN1bXRpLiDigJxZb3UgZ2l2ZSB3aGF0IHRvIG1lP+KAnS4gVGhlIGNvbWJp bmF0aW9uIG9mICcnc3VtdGNpdGEnJyArICcnbWEnJyBpcyB2ZXJ5IHVzZWZ1bCBpbmRlZWQ6Cgpf XycnbXUnaScnX18gLSBzdW10Y2l0YTogbW90aXZhdGVkIGJ5IHRoZSBhYnN0cmFjdGlvbiBvZiB7 c3VtdGl9CgoKCicnLm9pIGRvIGRhcnhpIG1pIG11J2kgbWEnJyAtIOKAnE95LCB3aHkgZG8geW91 IGhpdCBtZT8h4oCdCgoKCkxldCdzIHRyeSBhbm90aGVyIG9uZS4gVGhpcyB0aW1lLCB5b3UgdHJh bnNsYXRlOgoKJycudWkgZGFpIGRvIGNhIHplJ3UgcHUgbW8nJwoKCgpBbnN3ZXI6IH5+Z3JleSxn cmV5OuKAnFlvdSdyZSBoYXBweSwgd2hhdCBoYXZlIHlvdSBiZWVuIGRvaW5nIGFsbCB0aGlzIGxv bmcgdGltZSB1bnRpbCBub3c/4oCdIFRlY2huaWNhbGx5LCBpdCBjb3VsZCBhbHNvIG1lYW4g4oCc d2hhdCBoYXZlIHlvdSBiZWVuP+KAnSwgYnV0IGFuc3dlcmluZyB3aXRoICcnLnVhIG5haSBsaSdh IHJlbW5hJycgKFVoLCBodW1hbiwgb2J2aW91c2x5KSBpcyBqdXN0IGJlaW5nIGluY3JlZGlibHkg YW5ub3lpbmcgb24gcHVycG9zZS5+fgoKCgpTaW5jZSB0b25lIG9mIHZvaWNlIG9yIHNlbnRlbmNl IHN0cnVjdHVyZSBkb2VzIG5vdCByZXZlYWwgd2hldGhlciBhIHNlbnRlbmNlIGlzIGEgcXVlc3Rp b24gb3Igbm90LCBvbmUgYmV0dGVyIG5vdCBtaXNzIHRoZSBxdWVzdGlvbiB3b3JkLiBUaGVyZWZv cmUsIHNpbmNlIHBlb3BsZSB0ZW5kIHRvIGZvY3VzIG1vcmUgb24gd29yZHMgaW4gdGhlIGJlZ2lu bmluZyBvciBhdCB0aGUgZW5kIG9mIHNlbnRlbmNlcywgaXQncyB1c3VhbGx5IHdvcnRoIHRoZSB3 aGlsZSB0byByZS1vcmRlciB0aGUgc2VudGVuY2Ugc28gdGhhdCB0aGUgcXVlc3Rpb24gd29yZHMg YXJlIGF0IHRob3NlIHBsYWNlcy4gSWYgdGhhdCBpcyBub3QgZmVhc2FibGUsICcncGF1JycgaXMg YW4gYXR0aXR1ZGluYWwgbWFya2luZyB0aGF0IHRoZSBzZW50ZW5jZSBpcyBhIHF1ZXN0aW9uLiBD b250cmFyeSwgJydwYXUgbmFpJycgZXhwbGljaXRseSBtYXJrcyBhbnkgcXVlc3Rpb24gYXMgYmVp bmcgcmhldG9yaWNhbC4KCgoKV2hpbGUgd2UgYXJlIG9uIHRoZSB0b3BpYyBvZiBxdWVzdGlvbnMs IGl0J3MgYWxzbyBhcHByb3ByaWF0ZSB0byBtZW50aW9uIHRoZSB3b3JkICcna2F1JycsIHdoaWNo IGlzIGEgbWFya2VyIGZvciDigJxpbmRpcmVjdCBxdWVzdGlvbuKAnS4gV2hhdCdzIGFuIGluZGly ZWN0IHF1ZXN0aW9uLCB0aGVuPyBXZWxsLCB0YWtlIGEgbG9vayBhdCB0aGUgc2VudGVuY2U6ICcn bWkgZGp1bm8gbG8gZHUndSBtYSBrYXUgemRhbmkgZG8nJyAtIOKAnEkga25vdyB3aGF0IGlzIHlv dXIgaG9tZS7igJ0KCl9fJydkanVubycnX18g4oCceDEga25vd3MgZmFjdChzKSB4MiBhcmUgdHJ1 ZSBhYm91dCB4MyBieSBlcGlzdGVtb2xvZ3kgeDTigJ0KCk9uZSBjYW4gdGhpbmsgaXQgYXMgdGhl IGFuc3dlciB0byB0aGUgcXVlc3Rpb24gJydtYSB6ZGFuaSBkbycnLiBNb3JlIHJhcmVseSwgb25l IGNhbiBtYXJrIGEgbm9uLXF1ZXN0aW9uIHdvcmQgd2l0aCAnJ2thdScnLCBpbiB3aGljaCBjYXNl IG9uZSBzdGlsbCBjYW4gaW1hZ2luZSBpdCBhcyB0aGUgYW5zd2VyIHRvIGEgcXVlc3Rpb246ICcn bWkgamltcGUgbG8gZHUndSBkdW5kYSB0aSBrYXUgZG8nJyAtIOKAnEkga25vdyB3aGF0IHlvdSBo YXZlIGJlZW4gZ2l2ZW4sIGl0IGlzIHRoaXMu4oCdCgoKCgoKISFMb2piYW4gTGVzc29ucyAtIExl c3NvbiB0aGlydGVlbiAobW9ycGhvbG9neSBhbmQgd29yZCBjbGFzc2VzKQoKQmFjayB0byBtb3Jl IGhlYXZ5IChhbmQgaW50ZXJlc3RpbmcpIHN0dWZmLgoKSWYgeW91IGhhdmVuJ3QgYWxyZWFkeSwg SSBzdHJvbmdseSBzdWdnZXN0IHlvdSBmaW5kIHRoZSBMb2piYW5pYyByZWNvcmRpbmcgY2FsbGVk ICJTdG9yeSBUaW1lIHdpdGggVW5jbGUgUm9iaW4iLCBvciBsaXN0ZW4gdG8gc29tZW9uZSBzcGVh ayBMb2piYW4gb24gTXVtYmxlLCBhbmQgdGhlbiBwcmFjdGljZSB5b3VyIHByb251bmNpYXRpb24u IEhhdmluZyBhbiBpbnRlcm5hbCBjb252ZXJzYXRpb24gaW4geW91ciBoZWFkIGluIExvamJhbiBp cyBvbmx5IGdvb2QgaWYgaXQgaXNuJ3Qgd2l0aCBhbGwgdGhlIHdyb25nIHNvdW5kcywgYW5kIGxl YXJuaW5nIHByb251bmNpYXRpb24gZnJvbSB3cml0dGVuIHRleHQgaXMgaGFyZC4gVGhlcmVmb3Jl LCB0aGlzIGxlc3NvbiB3aWxsIG5vdCBiZSBvbiB0aGUgTG9qYmFuIHNvdW5kcywgaG93ZXZlciBp bXBvcnRhbnQgdGhleSBtaWdodCBiZSwgYnV0IGEgc2hvcnQgaW50cm9kdWN0aW9uIHRvIHRoZSBM b2piYW4gbW9ycGhvbG9neS4KCgoKV2hhdCBpcyBtb3JwaG9sb2d5PyBUaGUgd29yZCBpcyBkZXJp dmVkIGZyb20gR3JlZWsgbWVhbmluZyDigJx0aGUgc3R1ZHkgb2Ygc2hhcGVz4oCdLCBhbmQgaW4g dGhpcyBjb250ZXh0LCB3ZSB0YWxrIGFib3V0IGhvdyB3ZSBtYWtlIHdvcmRzIGZyb20gbGV0dGVy cyBhbmQgc291bmRzLCBhcyBjb250cmFzdGVkIHdpdGggc3ludGF4IC0gaG93IHdlIG1ha2Ugc2Vu dGVuY2VzIHdpdGggd29yZHMuIExvamJhbiBvcGVyYXRlcyB3aXRoIGRpZmZlcmVudCBtb3JwaG9s b2dpY2FsIHdvcmQgY2xhc3Nlcywgd2hpY2ggYXJlIGFsbCBkZWZpbmVkIGJ5IHRoZWlyIG1vcnBo b2xvZ3kuIFRvIG1ha2UgaXQgYWxsIG5pY2UgYW5kIHN5c3RlbWF0aWMgdGhvdWdoLCB3b3JkcyB3 aXRoIGNlcnRhaW4gZnVuY3Rpb25zIHRlbmQgdG8gYmUgZ3JvdXBlZCBieSBtb3JwaG9sb2dpY2Fs IGNsYXNzZXMsIGJ1dCBleGNlcHRpb25zIG1heSBvY2N1ci4KCnx8ICAgQ2xhc3N8TWVhbmluZ3xE ZWZpbmVkIEJ5fFR5cGljYWwgRnVuY3Rpb24KCiAgIFdvcmRzOnwgICB8ICAgfCAgIAoKICAgQnJp dmxhfCAgIGJyaWRpLXdvcmR8ICAgQW1vbmcgZmlyc3QgNSBsZXR0ZXJzIChleGNsdWRpbmcg4oCc IOKAmCDigJwpIGlzIGEgY29uc29uYW50IGNsdXN0ZXIuIEVuZHMgaW4gdm93ZWwuICAgfCAgIEFj dHMgYXMgYSBzZWxicmkgYnkgZGVmYXVsdC4gQWx3YXlzIGhhcyBhIHBsYWNlIHN0cnVjdHVyZS4K CiAgIC0tR2lzbXV8ICAgUm9vdC13b3JkfCA1IGxldHRlcnMgb2YgdGhlIGZvcm0gQ1ZDQ1Ygb3Ig Q0NWQ1YgICB8ICAgT25lIHRvIGZpdmUgc3VtdGkgcGxhY2VzLiBDb3ZlcnMgYmFzaWMgY29uY2Vw dHMuCgogICAtLUx1anZvfCAgQ29tcG91bmQgd29yZC4gRGVyaXZlZCBmcm9tIGZyb20g4oCcbHVq dmxh4oCdLCBtZWFuaW5nIOKAnGNvbXBsZXggd29yZOKAnSB8ICAgTWluLiA2IGxldHRlcnMuIE1h ZGUgYnkgc3RyaW5naW5nIHJhZnNpIHRvZ2V0aGVyIHdpdGggYmluZGluZyBsZXR0ZXJzIGlmIG5l Y2Vzc2FyeS58ICAgQ292ZXJzIG1vcmUgY29tcGxleCBjb25jZXB0cyB0aGFuIGdpc211LgoKICAg LS1GdSdpdmxhfCAgQ29weS13b3JkIHwgQXMgYnJpdmxhLCBidXQgZG8gbm90IG1lZXQgZGVmaW5p bmcgY3JpdGVyaWEgb2YgZ2lzbXUgb3IgbHVqdm8sIGV4OiAnJ2FuZ2VsaScnICB8ICAgQ292ZXJz IHVuaXF1ZSBjb25jZXB0cyBsaWtlIG5hbWVzIG9mIHBsYWNlcyBvciBvcmdhbmlzbXMuCgogICBD bWV2bGF8ICBOYW1lLXdvcmQgfCAgIEJlZ2lubmluZyBhbmQgZW5kaW5nIHdpdGggcGF1c2UgKGZ1 bGwgc3RvcCkuIExhc3Qgc291bmQvbGV0dGVyIGlzIGEgY29uc29uYW50LnwgICBBbHdheXMgYWN0 cyBhcyBhIG5hbWUgb3IgYXMgdGhlIGNvbnRlbnQgb2YgYSBxdW90ZS4KCiAgIENtYXZvfCAgIEdy YW1tYXItd29yZC4gRnJvbSDigJxjbWF2bGHigJ0sIG1lYW5pbmcg4oCcc21hbGwgd29yZOKAnXwg T25lIGNvbnNvbmFudCBvciB6ZXJvLCBhbHdheXMgYXQgdGhlIGJlZ2lubmluZy4gRW5kcyBpbiBh IHZvd2VsLiAgfCAgIEdyYW1tYXRpY2FsIGZ1bmN0aW9ucy4gVmFyaWVzCgogICBXb3JkLWZyYWdt ZW50czp8ICAgfCAgIHwKCiAgIFJhZnNpfCAgIEFmZml4fCAgQ0NWLCBDVkMsIENWJ1YsIC1DVkND ViwgLUNDVkNWLCBDVkNDeS0gb3IgQ0NWQ3ktICB8IE5vdCBhY3R1YWwgd29yZHMsIGJ1dCBjYW4g YmUgc3RyaW5nZWQgdG9nZXRoZXIgdG8gZm9ybSBsdWp2byB8fAoKCgoKCl9fJydjbWV2bGEnJ19f IGFyZSB2ZXJ5IGVhc3kgdG8gaWRlbnRpZnkgYmVjYXVzZSB0aGV5IGJlZ2luIGFuZCBlbmQgd2l0 aCBhIHBhdXNlLCBzaWduYWxlZCBieSBhIGZ1bGwgc3RvcCBpbiB3cml0aW5nLCBhbmQgdGhlIGxh c3QgbGV0dGVyIGlzIGEgY29uc29uYW50LiBjbWV2bGEgY2FuJ3QgaGF2ZSBhbnkgb3RoZXIgZnVu Y3Rpb24gYmVzaWRlcyBhY3RpbmcgYXMgYSBuYW1lLiBPbiB0aGUgb3RoZXIgaGFuZCwgbmFtZXMg d2hpY2ggYXJlIG5vdCBzZWxicmkgY2Fubm90IGFwcGVhciBpbiBMb2piYW4gd2l0aG91dCB0aGVt IGJlaW5nIGNtZXZsYSwgb3IgZW5jYXNlZCBieSBjZXJ0YWluIHF1b3RlIHdvcmRzLiBPbmUgY2Fu IG1hcmsgc3RyZXNzIGluIHRoZSBuYW1lcyBieSBjYXBpdGFsaXppbmcgdGhlIGxldHRlcnMgd2hp Y2ggYXJlIHN0cmVzc2VkLiBFeGFtcGxlcyBvZiBjbWV2bGEgYXJlOiAnJy5pb2hBTi4nJyAoSm9o YW4sIGggaXMgY2FwaXRhbCBhcG9zdHJvcGhlKSwgJycubWF0LicnIChNYXR0KSBhbmQgJycubHV0 Y2lNSU4uJycgKEx1aS1DaGkgTWluKS4gTmFtZXMgd2hpY2ggZG8gbm90IGVuZCBpbiBjb25zb25h bnRzIGhhdmUgdG8gaGF2ZSBvbmUgYWRkZWQ6ICcnLml2eW4uJycgKEV2ZSksIG9yIChwcm9iYWJs eSBiZXR0ZXIgaW4gdGhpcyBjYXNlKSByZW1vdmVkOiAnJy5pdi4nJwoKCgpfXycnYnJpdmxhJydf XyBhcmUgY2FsbGVkIOKAnGJyaWRpLXdvcmRz4oCdIGJlY2F1c2UgdGhleSBieSBkZWZhdWx0IGFy ZSBzZWxicmksIGFuZCB0aGVyZWZvcmUgYWxtb3N0IGFsbCBMb2piYW4gd29yZHMgd2l0aCBhIHBs YWNlIHN0cnVjdHVyZSBhcmUgYnJpdmxhLiBUaGlzIGhhcyBhbHNvIGdpdmVuIHRoZW0gdGhlIEVu Z2xpc2ggbmlja25hbWUg4oCcY29udGVudC13b3Jkc+KAnS4gSXQncyBuZWFybHkgaW1wb3NzaWJs ZSB0byBzYXkgYW55dGhpbmcgdXNlZnVsIHdpdGhvdXQgYnJpdmxhLCBhbmQgYWxtb3N0IGFsbCB3 b3JkcyBmb3IgY29uY2VwdHMgb3V0c2lkZSBsb2piYW4gZ3JhbW1hciAoYW5kIGV2ZW4gbW9zdCBv ZiB0aGUgd29yZHMgZm9yIHRoaW5ncyBpbiB0aGUgbGFuZ3VhZ2UpIGFyZSBjYXB0dXJlZCBieSBi cml2bGEuIEFzIHNob3duIGluIHRoZSB0YWJsZSwgYnJpdmxhIGhhcyB0aHJlZSBzdWJjYXRlZ29y aWVzOgoKX18nJ2dpc211JydfXyBhcmUgdGhlIHJvb3Qgd29yZHMgb2YgdGhlIGxhbmd1YWdlLiBP bmx5IGFib3V0IDE0NTAgZXhpc3RzLCBhbmQgdmVyeSBmZXcgbmV3IG9uZXMgYXJlIGFkZGVkLiBU aGV5IGNvdmVyIHRoZSBtb3N0IGJhc2ljIGNvbmNlcHRzIGxpa2Ug4oCcY2lyY2xl4oCdLCDigJxm cmllbmTigJ0sIOKAnHRyZWXigJ0gYW5kIOKAnGRyZWFt4oCdLiBFeGFtcGxlcyBpbmNsdWRlICcn emRhbmknJywgJydwZWx4dScnIGFuZCAnJ2R1bmRhJycKCl9fJydsdWp2bycnX18gYXJlIG1hZGUg YnkgY29tYmluaW5nIHJhZnNpIChzZWUgdW5kZXIgcmFmc2kpLCByZXNwcmVzZW50aW5nIGdpc211 LiBCeSBjb21iaW5pbmcgcmFmc2ksIG9uZSBuYXJyb3dzIGRvd24gdGhlIG1lYW5pbmcgb2YgdGhl IHdvcmQuIGx1anZvIGFyZSBtYWRlIGJ5IGFuIGVsYWJvcmF0ZSBhbGdvcml0aG0sIHNvIG1ha2lu ZyB2YWxpZCBsdWp2byBvbiB0aGUgZmx5IGlzIG5lYXIgaW1wb3NzaWJsZSwgd2l0aCBmZXcgZXhj ZXB0aW9ucyBsaWtlICcnc2VscGEnaScnLCBmcm9tICcnc2UgcHJhbWknJywgd2hpY2ggY2FuIG9u bHkgaGF2ZSBvbmUgZGVmaW5pdGlvbi4gSW5zdGVhZCwgbHVqdm8gYXJlIG1hZGUgb25jZSwgaXRz IHBsYWNlIHN0cnVjdHVyZSBkZWZpbmVkLCBhbmQgdGhlbiB0aGF0IGRlZmluaXRpb24gaXMgbWFk ZSBvZmZpY2lhbCBieSB0aGUgZGljdGlvbmFyeS4gRXhhbXBsZXMgaW5jbHVkZSBicml2bGEgKGJy aWRpLXdvcmQpLCAnJ2Npbmppa2NhJycgKHNleHVhbC1zb2NpYWxpemluZyA9IGZsaXJ0aW5nKSBh bmQgJydjYWtjaW5raScnIChzaGVsbC1pbnNlY3QgPSBiZWV0bGUpLgoKX18nJ2Z1J2l2bGEnJ19f IGFyZSBtYWRlIGJ5IG1ha2luZyB1cCB3b3JkcyB3aGljaCBmaXQgdGhlIGRlZmluaXRpb24gZm9y IGJyaXZsYSwgYnV0IG5vdCBmb3IgbHVqdm8gb3IgZ2lzbXUuIFRoZXkgdGVuZCB0byBjb3ZlciBj b25jZXB0cyB3aGljaCBpdCdzIGhhcmQgdG8gY292ZXIgYnkgbHVqdm8sIGZvciBpbnN0YW5jZSBu YW1lcyBvZiBzcGVjaWVzLCBuYXRpb25zIG9yIHZlcnkgY3VsdHVyYWwgc3BlY2lmaWMgY29uY2Vw dHMuIEV4YW1wbGVzIGluY2x1ZGUgJydndWdkcmdvZ3VyaW8nJyAoS29yZWEpICcnY2lkanJwaXRz YScnIChwaXp6YSkgb3IgJydhbmdlbGknJyAoYW5nZWwpLgoKCgpfXycnY21hdm8nJ19fIGFyZSBz bWFsbCB3b3JkcyB3aXRoIG9uZSBvciB6ZXJvIGNvbnNvbmFudHMuIFRoZXkgdGVuZCB0byBub3Qg c2lnbmlmeSBhbnl0aGluZyBpbiB0aGUgZXh0ZXJpb3Igd29ybGQsIGJ1dCB0byBoYXZlIG9ubHkg Z3JhbW1hdGljYWwgZnVuY3Rpb24uIEV4Y2VwdGlvbnMgb2NjdXIsIGFuZCBpdCdzIGRlYmF0YWJs ZSBob3cgbXVjaCBhdHRpdHVkaW5hbHMgZXhpc3RzIGZvciB0aGVpciBncmFtbWF0aWNhbCBmdW5j dGlvbi4gQW5vdGhlciB3ZWlyZCBleGFtcGxlIGFyZSB0aGUgd29yZHMgb2YgdGhlIGNsYXNzIEdP aEEsIHdoaWNoIGFjdCBhcyBicml2bGEuIEl0IGlzIHZhbGlkIHRvIHR5cGUgc2V2ZXJhbCBjbWF2 byBpbiBhIHJvdyBhcyBvbmUgd29yZCwgYnV0IGluIHRoZXNlIGxlc3NvbnMsIHRoYXQgd29uJ3Qg YmUgZG9uZS4gQnkgZ3JvdXBpbmcgY2VydGFpbiBjbWF2byBpbiBmdW5jdGlvbmFsIHVuaXRzLCB0 aG91Z2gsIGl0IGlzIHNvbWV0aW1lcyBlYXNpZXIgdG8gcmVhZC4gVGh1cywgJycudWlwdXp1dnVr dW1pIGNpdGthJycgaXMgdmFsaWQsIGFuZCBpcyBwYXJzZWQgYW5kIHVuZGVyc3Rvb2QgYXMgJycu dWkgcHUgenUgdnUga3UgbWkgY2l0a2EnJy4gTGlrZSBvdGhlciBMb2piYW4gd29yZHMsIG9uZSBz aG91bGQgKGJ1dCBuZWVkIG5vdCBhbHdheXMpIHBsYWNlIGEgZnVsbCBzdG9wIGJlZm9yZSBhbnkg d29yZHMgYmVnaW5uaW5nIHdpdGggYSB2b3dlbC4KCmNtYXZvIG9mIHRoZSBmb3JtIHhWViwgQ1Yn VlYgb3IgVidWViBhcmUgZXhwZXJpbWVudGFsLCBhbmQgYXJlIHdvcmRzIHdoaWNoIGFyZSBub3Qg aW4gdGhlIGZvcm1hbCBncmFtbWFyLCBidXQgd2hpY2ggaGF2ZSBiZWVuIGFkZGVkIGJ5IExvamJh biB1c2VycyB0byByZXNwb25kIHRvIGEgY2VydGFpbiBuZWVkLgoKCgpfXycncmFmc2knJ19fIGFy ZSBub3QgTG9qYmFuIHdvcmRzLCBhbmQgY2FuIG5ldmVyIGFwcGVhciBhbG9uZS4gSG93ZXZlciwg c2V2ZXJhbCAobW9yZSB0aGFuIG9uZSkgcmFmc2kgY29tYmluZSB0byBmb3JtIGx1anZvLiBUaGVz ZSBtdXN0IHN0aWxsIGxpdmUgdXAgdG8gdGhlIGJyaXZsYS1kZWZpbml0aW9uLCBmb3IgaW5zdGFu Y2UgJydsb2piYW4nJyBpcyBpbnZhbGlkIGJlY2F1c2UgaXQgZW5kcyBpbiBhIGNvbnNvbmFudCAo d2hpY2ggbWFrZXMgaXQgYSBjbWV2bGEpLCBhbmQgJydjaSdla2VpJycgaXMgaW52YWxpZCBiZWNh dXNlIGl0IGRvZXMgbm90IGNvbnRhaW4gYSBjb25zb25hbnQgY2x1c3RlciwgYW5kIGlzIHRodXMg cmVhZCBhcyB0d28gY21hdm8gd3JpdHRlbiBhcyBvbmUgd29yZC4gT2Z0ZW4sIGEgMy00IGxldHRl ciBzdHJpbmcgaXMgYm90aCBhIGNtYXZvIGFuZCBhIHJhZnNpLCBsaWtlICcnenUnZScnLCB3aGlj aCBpcyBib3RoIHRoZSBCQUkgYW5kIHRoZSByYWZzaSBmb3IgJyd6dWt0ZScnLiBOb3RlIHRoYXQg dGhlcmUgaXMgbm93aGVyZSB0aGF0IGJvdGggYSBjbWF2byBhbmQgYSByYWZzaSB3b3VsZCBiZSBn cmFtbWF0aWNhbCwgc28gdGhlc2UgYXJlIG5vdCBjb25zaWRlcmVkIGhvbW9waG9uZXMuIEFsbCBn aXNtdSBjYW4gZG91YmxlIGFzIHJhZnNpLCBpZiB0aGV5IGFyZSBwcmVmaXhlZCB3aXRoIGFub3Ro ZXIgcmFmc2kuIFRoZSBmaXJzdCBmb3VyIGxldHRlciBvZiBhIGdpc211IHN1ZmZpeGVkIHdpdGgg YW4gInkiIGNhbiBhbHNvIGFjdCBhcyBhIHJhZnNpLCBpZiB0aGV5IGFyZSBzdWZmaXhlZCB3aXRo IGFub3RoZXIgcmFmc2kuIFRoZSB2b3dlbCAieSIgY2FuIG9ubHkgYXBwZWFyIGluIGx1anZvIG9y IGNtZXZsYS4gVmFsaWQgcmFmc2kgbGV0dGVyIGNvbWJpbmF0aW9ucyBhcmU6IENWViwgQ1YnViwg Q0NWLCBDVkNDeS0gQ0NWQ3ktLCAtQ1ZDQ1YgYW5kIC1DQ1ZDVi4KCgoKVXNpbmcgd2hhdCB5b3Ug a25vdyBub3csIHlvdSBzaG91bGQgYmUgYWJsZSB0byBhbnN3ZXIgdGhlIHRlc3QgaSB0aHVzIHBy ZXNlbnQ6CgpDYXRlZ29yaXplIGVhY2ggb2YgdGhlIGZvbGxvd2luZyB3b3JkcyBhcyBjbWV2bGEg KEMpLCBnaXNtdSAoZyksIGx1anZvIChsKSwgJydmdSdpdmxhJycgKGYpIG9yIGNtYXZvIChjKToK CkEgKSBqYWkgICAgICAgIEcgKSBtdW1ibAoKQiApIC5pcmNpICAgICAgICBIICkgLmknaQoKQyAp IGJvc3R1ICAgICAgICBJICkgY3UKCkQgKSB4ZWxtYW4gICAgICAgIEogKSBwbGFqdmEKCkUgKSBw bydlICAgICAgICBLICkgZGFuc2VrZQoKRiApIGRqaXNrdSAgICAgICAgTCApIC5lcnRzYQoKCgpB bnN3ZXI6IH5+Z3JleSxncmV5OmEtYywgYi1mLCBjLWcsIGQtQywgZS1jLCBmLWwsIGctQywgaC1j LCBpLWMsIGotbCwgay1mLCBsLWYuIEkgbGVmdCBvdXQgdGhlIGZ1bGwgc3RvcHMgYmVmb3JlIGFu ZCBhZnRlciBuYW1lcyBzbyBpdCB3b3VsZG4ndCBiZSB0b28gZWFzeS4KCk5vdGU6IHNvbWUgb2Yg dGhlc2Ugd29yZHMsIGxpa2UgJydib3N0dScnIGRvIG5vdCBleGlzdCBpbiB0aGUgZGljdGlvbmFy eSwgYnV0IHRoaXMgaXMgaXJyZWxldmFudC4gVGhlIG1vcnBob2xvZ3kgc3RpbGwgbWFrZXMgaXQg YSBnaXNtdSwgc28gaXQncyBqdXN0IGFuIHVuZGVmaW5lZCBnaXNtdS4gU2ltaWxhcmx5IHdpdGgg JycuZXJ0c2EnJ35+CgoKCgoKISFMb2piYW4gTGVzc29ucyAtIExlc3NvbiBmb3VydGVlbiAodGhl IExvamJhbiBzdW10aSAxOiBMRSBhbmQgTEEpCgpJZiB5b3UgaGF2ZSByZWFkIGFuZCB1bmRlcnN0 b29kIHRoZSBjb250ZW50IG9mIGFsbCB0aGUgbGVzc29ucyB1bnRpbCBub3csIHlvdSBoYXZlIGFt YXNzZWQgYSBsYXJnZSBlbm91Z2gga25vd2xlZGdlIG9mIExvamJhbiBzbyB0aGF0IGl0IGRvZXNu J3QgbWF0dGVyIGluIHdoaWNoIG9yZGVyIHlvdSBsZWFybiB0aGUgcmVzdC4gQXMgYSByZXN1bHQs IHRoZSBvcmRlciBvZiB0aGUgbmV4dCBsZXNzb25zIHdpbGwgYmUgYSBtaXh0dXJlIG9mIHNvcnRl ZCBieSBpbmNyZWFzaW5nIGRpZmZpY3VsdHkgYW5kIHNvcnRlZCBieSBpbXBvcnRhbmNlIGluIG9y ZGluYXJ5IExvamJhbiBjb252ZXJzYXRpb24uCgoKCk9uZSBvZiB0aGUgYmlnZ2VzdCBjb25zdHJh aW5zIG9uIHlvdXIgc3BlYWsgbm93IGlzIHlvdXIgbGltaXRlZCBrbm93bGVkZ2Ugb24gaG93IHRv IG1ha2Ugc3VtdGkuIFNvIGZhciwgeW91IG9ubHkga25vdyAnJ3RpJycgYW5kICcnbG8gU0VMQlJJ JycsIHdoaWNoIGRvZXNuJ3QgdGFrZSB5b3UgZmFyIGNvbnNpZGVyaW5nIGhvdyBpbXBvcnRhbnQg c3VtdGkgYXJlIGluIExvamJhbi4gVGhpcyBsZXNzb24gYXMgd2VsbCBhcyB0aGUgZm9sbG93aW5n IHR3byB3aWxsIGJlIGFib3V0IHRoZSBMb2piYW4gc3VtdGkuIEZvciBub3csIHdlIGZvY3VzIG9u IHRoZSBkZXNjcmlwdGl2ZS1saWtlIHN1bXRpLCB0aGUgb25lcyBtYWRlIHdpdGggYXJ0aWNsZXMg bGlrZSAnJ2xvJycKCkFydGljbGVzIGFyZSBpbiBsb2piYW4gY2FsbGVkICcnZ2FkcmknJywgYW5k IGFsbCB0aGUgb25lcyBkaXNjdXNzZWQgaW4gdGhpcyBsZXNzb24gYXJlIHRlcm1pbmF0ZWQgYnkg JydrdScnLCBleGNlcHQgdGhlIGNvbWJpbmF0aW9ucyAnJ2xhIENNRVZMQScnLCAnJ2xhaSBDTUVW TEEnJyBhbmQgJydsYSdpIENNRVZMQScnLiBXZSB3aWxsIGJlZ2luIGJ5IGRlc2NyaWJpbmcgdGhy ZWUgc2ltcGxlIGtpbmRzIG9mIGRlc2NyaXB0aXZlIHN1bXRpLCBhbmQgdGhlbiBpbW1lZGlhdGVs eSBmaW5kIHRoYXQgdGhleSBhcmUgbm90IHNvIHNpbXBsZSBhZnRlciBhbGw6CgpfXycnbG8nJ19f IC0gZ2Fkcmk6IEdlbmVyaWMgdmVyaWRpY2FsIOKAnGNvbnZlcnQgc2VsYnJpIHRvIHN1bXRp4oCd LiBSZXN1bHQgaXMgdmFndWUgd2l0aCByZWdhcmQgdG8gaW5kaXZpZHVhbGl0eS9tYXNzLW5lc3Mu CgpfXycnbGUnJ19fIC0gZ2Fkcmk6IEdlbmVyaWMgZGVzY3JpcHRpdmUg4oCcY29udmVydCBzZWxi cmkgdG8gc3VtdGnigJ0uIFJlc3VsdCBpcyB2YWd1ZSB3aXRoIHJlZ2FyZCB0byBpbmRpdmlkdWFs aXR5L21hc3MtbmVzcy4KCl9fJydsYScnX18gLSBnYWRyaTogTmFtaW5nIGFydGljbGU6IENvbnZl bnRpb25hbCwg4oCcY29udmVydCBzZWxicmkgb3IgY21ldmxhIHRvIHN1bXRp4oCdLiBUcmVhdCBy ZXN1bHQgYXMgaW5kaXZpZHVhbChzKS4KCgoKWW91IGFyZSBhbHJlYWR5IGZhbWlsaWFyIHdpdGgg JydsbycnIGFuZCB3aGF0IGl0IGRvZXMuIEJ1dCB3aGF0IGRvZXMgaXQgbWVhbiwg4oCcdmVyaWRp Y2Fs4oCdIGFuZCDigJx2YWd1ZSB3aXRoIHJlZ2FyZCB0byBpbmRpdmlkdWFsaXR5L21hc3MtbmVz c+KAnT8gVGhlIGxhdHRlciBhYm91dCBpbmRpdmlkdWFscyBhbmQgbWFzc2VzLCBJJ2xsIGNvbWUg YmFjayB0byBsYXRlci4gRm9yIG5vdywg4oCcdmVyaWRpY2Fs4oCdIGluIHRoaXMgY29udGV4dCBt ZWFucyB0aGF0IGluIG9yZGVyIGZvciBhIHRoaW5nIHRvIHF1YWxpZnkgYmVnaW4gbGFiZWxsZWQg YXMgJydsbyBrbGFtYScnLCBpdCBoYXMgdG8gYWN0dWFsbHkgJydrbGFtYScnLiBUaHVzLCB2ZXJp ZGljYWwgZ2FkcmkgbWFrZXMgYSBjbGFpbSB3aGljaCBtYXkgYmUgdHJ1ZSBvciBmYWxzZSAtIHRo YXQgdGhlIG9iamVjdChzKSBpbiBxdWVzdGlvbiBhcmUgYWN0dWFsbHkgdGhlIHgxIG9mIHRoZSBz ZWxicmkgYWZ0ZXIgJydsbycnLiAKCgoKVGhpcyBtYXkgYmUgY29udHJhc3RlZCB3aXRoICcnbGUn Jywgd2hpY2ggaXMgZGVzY3JpcHRpdmUsIGFuZCB0aHVzIG5vdCB2ZXJpZGljYWwuIFNheWluZyAn J2xlIGdlcmt1Jycgc2F5cyB0aGF0IHlvdSBoYXZlIG9uZSBvciBtb3JlIHNwZWNpZmljIG9iamVj dHMgaW4gbWluZCwgYW5kIHlvdSB1c2UgdGhlIHNlbGJyaSAnJ2dlcmt1JycgdG8gZGVzY3JpYmUg aXQsIHNvIHRoYXQgdGhlIGxpc3RlbmVyIG1heSBpZGVudGlmeSB0aG9zZSBzcGVjaWZpYyBvYmpl Y3RzLiBUaGlzIG1lYW5zIHRoYXQgJydsZScnIGhhdmVzIHR3byBpbXBvcnRhbnQgZGlmZmVyZW5j ZXMgZnJvbSAnJ2xvJyc6IEZpcnN0bHksIGl0IGNhbm5vdCByZWZlciB0byBvYmplY3RzIGluIGdl bmVyYWwsIGJ1dCBhbHdheXMgcmVmZXJzIHRvIHNwZWNpZmljIG9iamVjdHMuIFNlY29uZGx5LCB3 aGlsZSAnJ2xvIGdlcmt1JycgZGVmaW5pdGVseSBpcyBvbmUgb3IgbW9yZSBkb2dzLCAnJ2xlIGdl cmt1JycsIGJlY2F1c2UgaXQncyBub3QgdmVyaWRpY2FsLCBjYW4gYmUgYW55dGhpbmcsIGFzIGxv bmcgYXMgdGhlIHNwZWFrZXIgdGhpbmtzIHRoZSBkZXNjcmlwdGlvbiB3aWxsIGhlbHAgaWRlbnRp ZnlpbmcgdGhlIGNvcnJlY3Qgb2JqZWN0cy4gUGVyaGFwcyB0aGUgc3BlYWtlciBpcyByZWZlcnJp bmcgdG8gYSBoeWVuYSwgYnV0IGFyZSBub3QgZmFtaWxpYXIgd2l0aCB0aGVtIGFuZCB0aGluayDi gJxkb2figJ0gaXMgYSBnb29kIGVub3VnaCBhcHByb3hpbWF0aW9uIHRvIGJlIHVuZGVyc3Rvb2Qu IFRoaXMgbm9uLXZlcmlkaWNhbGl0eSBpcyBwZXJoYXBzIG92ZXItZW1waGFzaXNlZCBpbiBtb3N0 IG1hbnkgdGV4dHM7IFRoZSBiZXN0IHdheSB0byBkZXNjcmliZSBhIGRvZyBpcyB1c3VhbGx5IHRv IGRlc2NyaWJlIGl0IGFzIGJlaW5nIGEgZG9nLCBhbmQgdW5sZXNzIHRoZXJlIGlzIGEgZ29vZCBy ZWFzb24gbm90IHRvLCAnJ2xlIGdlcmt1JycgaXMgdXN1YWxseSBwcmVzdW1lZCB0byByZWZlciB0 byBzb21ldGhpbmcgd2hpY2ggaXMgYWxzbyAnJ2xvIGdlcmt1JycuCgpJbiB0cmFuc2xhdGlvbiwg JydsbyBnZXJrdScnIGlzIHVzdWFsbHkg4oCcYSBkb2figJ0gb3Ig4oCcc29tZSBkb2dz4oCdLCB3 aGlsZSAnJ2xlIGdlcmt1JycgaXMg4oCcdGhlIGRvZ+KAnSBvciDigJx0aGUgZG9nc+KAnS4gRXZl biBiZXR0ZXIgZm9yICcnbGUgZ2Vya3UnJyB3b3VsZCBiZSDigJx0aGUg4oCcZG9nKHMp4oCdIOKA nQoKCgpMYXN0IG9mIHRoZSB0aHJlZSBiYXNpYyAnJ2dhZHJpJycsIHRoZXJlIGlzICcnbGEnJywg dGhlIG5hbWluZyAnJ2dhZHJpJycsIHdoaWNoIEkgaGF2ZSB1bmNvbnZlbnRpb25hbGx5IGNhbGxl ZCDigJxjb252ZW50aW9uYWzigJ0uIFdoYXQgSSBtZWFuIGJ5IHRoaXMgaXMgdGhhdCBpdCdzIG5l aXRoZXIgZGVzY3JpcHRpdmUgbm9yIHZlcmlkaWNhbCwgc2luY2UgaXQgcmVmZXJzIHRvIGEgcHJv cGVyIG5hbWUuIElmIEkgaW4gRW5nbGlzaCByZWZlciB0byBhIHBlcnNvbiBjYWxsZWQgSW5ub2Nl bnQgYnkgaGVyIG5hbWUsIEkgbmVpdGhlciBkZXNjcmliZSBoZXIgYXMgYmVpbmcgaW5ub2NlbnQs IG5vciBkbyBJIHN0YXRlIHRoYXQgc2hlIGlzLiBJIG9ubHkgc3RhdGUgdGhhdCBieSBjb252ZW50 aW9uLCB0aGF0IG9iamVjdCBpcyByZWZlcnJlZCB0byBieSB0aGF0IHNlbGJyaSBvciBjbWV2bGEu IE5vdGUgdGhhdCAnJ2xhJycgYW5kIHRoZSBnYWRyaSBkZXJpdmVkIGZyb20gaXQgY2FuIGNvbnZl cnQgY21ldmxhIHRvIHN1bXRpIHVubGlrZSBhbnkgb3RoZXIgJydnYWRyaScnLiBBbHNvOiBCZSBj YXV0aW91czogT3RoZXIgdGV4dHMgZG8gbm90IG1lbnRpb24gdGhhdCBuYW1lcyBjYW4gYmUgZm9y bWVkIGZyb20gb3JkaW5hcnkgc2VsYnJpIHVzaW5nIHRoZSBnYWRyaSAnJ2xhJycuIEJ1dCB0aG9z ZSBoZXJldGljcyBtdXN0IGJ1cm47IHNlbGJyaSBuYW1lcyBhcmUgYXMgZ29vZCBhcyB0aGV5IGdl dCwgYW5kIG1hbnkgYSBwcm91ZCBMb2piYW5pc3QgaGF2ZSB0aGVtLgoKJydsYScnLCBhcyB3ZWxs IGFzICcnbGFpJycgYW5kICcnbGEnaScnIGFyZSBhIGJpdCBlY2NlbnRyaWMsIHNpbmNlIHRoZXkg X19hbHdheXNfXyBtYXJrcyB0aGUgYmVnaW5uaW5nIG9mIGEgbmFtZS4gVW5saWtlIHRoZSBvdGhl ciBnYWRyaSwgYW55dGhpbmcgdGhhdCBjYW4gYmUgZ3JhbW1hdGljYWxseSBwbGFjZWQgYWZ0ZXIg JydsYScnIGFuZCBpdHMgc2lzdGVycyBhcmUgY29uc2lkZXJlZCBwYXJ0IG9mIHRoZSBuYW1lLiBG b3IgZXhhbXBsZSwgJydsZSBtaSBnZXJrdScnIGlzICJteSBkb2ciLCBidXQgJydsYSBtaSBnZXJr dScnIGlzIHNvbWVvbmUgY2FsbGVkICJNeSBEb2ciLgoKCgpUaGVzZSB0aHJlZSBiYXNpYyAnJ2dh ZHJpJycgY2FuIGJlIGV4cGFuZGVkIHdpdGggdGhyZWUgbW9yZSwgd2hpY2ggY29ycmVzcG9uZHMg dG8gdGhlIHByZXZpb3VzOgoKCgpfXycnbG9pJydfXyAtIGdhZHJpOiB2ZXJpZGljYWwg4oCcY29u dmVydCBzZWxicmkgdG8gc3VtdGnigJ0uIFRyZWF0IHJlc3VsdCBhcyBtYXNzKGVzKS4KCl9fJyds ZWknJ19fIC0gZ2Fkcmk6IERlc2NyaXB0aXZlIOKAnGNvbnZlcnQgc2VsYnJpIHRvIHN1bXRp4oCd LiBUcmVhdCByZXN1bHQgYXMgYSBtYXNzKGVzKS4KCl9fJydsYWknJ19fIC0gZ2Fkcmk6IE5hbWlu ZyBhcnRpY2xlOiBDb252ZW50aW9uYWwsIOKAnGNvbnZlcnQgc2VsYnJpIG9yIGNtZXZsYSB0byBz dW10aeKAnS4gVHJlYXQgcmVzdWx0IGFzIG1hc3MoZXMpLgoKCgpUaGVzZSBhcmUgdGhlIHNhbWUg aW4gYWxsIGFzcGVjdHMgZXhjZXB0IGZvciBvbmU6IFRoZXkgdHJlYXQgdGhlIHN1bXRpIGV4cGxp Y2l0bHkgYXMgbWFzc2VzLiBJZiB0aGVyZSBpcyBvbmx5IG9uZSBvYmplY3QgaW4gcXVlc3Rpb24s IGFuIGluZGl2aWR1YWwgYW5kIGEgbWFzcyBjb25zaXN0aW5nIG9mIG9uZSBvYmplY3QgYXJlIGVx dWl2YWxlbnQuIFRoZSBkaWZmZXJlbmNlIGJldHdlZW4gdGhlc2UgdHdvIGNvbmNlcHRzIGxpZSBp biB3aGljaCBzZWxicmkgY2FuIGJlIGFzY3JpYmVkIHRvIGEgZ3JvdXAgb2YgaW5kaXZpZHVhbHMg dmVyc3VzIGEgbWFzcy4gQSBncm91cCBvZiBpbmRpdmlkdWFscyBjYW4gYmUgc2FpZCB0byBmaXQg YSBjZXJ0YWluIHNlbGJyaSBpZiwgYW5kIG9ubHkgaWYsIGFsbCBtZW1iZXJzIG9mIHRoZSBncm91 cCBlYWNoIGZpdCB0aGUgc2VsYnJpLiBJdCBpcyBjb3JyZWN0IHRvIGRlc2NyaWJlIGEgcGFjayBv ZiAnJ2xvIGdlcmt1JycsIGNvbnNpZGVyZWQgaW5kaXZpZHVhbGx5LCBhcyBiZWluZyBibGFjaywg aWYgZm9yIGVhY2ggb2YgdGhlIGRvZ3MgaXQncyB0cnVlIHRoYXQgdGhleSBhcmUgYmxhY2suIEEg bWFzcywgb24gdGhlIG90aGVyIGhhbmQsIGZpdHMgb25seSB0aG9zZSBzZWxicmkgd2hpY2ggaXRz IGNvbXBvbmVudHMgZml0IGFzIGEgd2hvbGUsIGFzIGEgdGVhbSwgc28gdG8gc3BlYWsuIEhvd2V2 ZXIsIGFsbCB0aGUgbWVtYmVycyBvZiBhIG1hc3MgJydsb2kgZ2Vya3UnJyBtdXN0IGJlIGRvZ3Mg aW4gb3JkZXIgZm9yICcnbG9pJycgdG8gYmUgYXBwbGljYWJsZS4gVGhlIG5vdGlvbiBvZiAibWFz c2VzIiBhcmUgc29waGlzdGljYXRlZCwgYW5kIHJlcXVpcmVzIHNvbWUgZXhhbXBsZXMgdG8gZGVt b25zdHJhdGUgd2hpY2ggcHJvcGVydGllcyBpdCBjYW4gaGF2ZToKCl9fJydzcnVyaScnX186IOKA nHgxIGZsYW5rcy9lbmNpcmNsZXMvZW5jbG9zZXMgeDIgaW4gbGluZS9wbGFuZS9kaXJlY3Rpb25z IHgz4oCdCgonJ2xlaSBwcmVudSBjdSBzcnVyaSBsbyB6ZGFuaScnIC0g4oCcVGhlIHBlb3BsZSBz dXJyb3VuZGVkIHRoZSBob21lLuKAnSBpcyBwbGF1c2libGUsIGV2ZW4gdGhvdWdoLCB5byBtb21h IGpva2VzIG5vdCBjb25zaWRlcmVkLCBpdCdzIGNvbXBsZXRlbHkgaW1wbGF1c2libGUgdGhhdCBp dCBjb3VsZCBiZSB0cnVlIGZvciBhbnkgb25lIG9mIHRoZSBtZW1iZXJzIGFsb25lLiBBbiBFbmds aXNoIGFuYWxvZ3kgY291bGQgYmU6IOKAnEh1bWFucyBkZWZlYXRlZCBzbWFsbHBveCBpbiB0aGUg MjB0aCBjZW50dXJ54oCdLiBTdXJlbHkgbm8gaHVtYW4gZGlkIHNvLCBidXQgdGhlIG1hc3Mgb2Yg aHVtYW5zIGRpZCwgYW5kIHRoYXQgbWFrZXMgdGhlIHNlbnRlbmNlIHRydWUgaW4gRW5nbGlzaCwg YXMgd2VsbCBhcyBpbiBMb2piYW4gaWYg4oCcaHVtYW5z4oCdIGFyZSBhIG1hc3MuIEp1c3QgbGlr ZSB0aGUgTG9qYmFuIG1hc3MsIHRoZSBFbmdsaXNoIG1hc3Mg4oCcaHVtYW5z4oCdIGNhbiBvbmx5 IHJlZmVyIHRvIGluZGl2aWR1YWxzIGVhY2ggb2Ygd2hpY2ggYXJlIGh1bWFuLiBBbm90aGVyIGV4 YW1wbGU6CgpfXycnbWl2eXNsZScnX186ICJ4MSBpcyBhIGJpb2xvZ2ljYWwgY2VsbCBvZiBvcmdh bmlzbSB4MiIKCl9fJydyZW1uYScnX186ICJ4MSBpcyBhIGh1bWFuIgoKJydsb2kgbWl2eXNsZSBj dSByZW1uYScnIC0gIlNvbWUgbWFzc2VzIG9mIGNlbGxzIGFyZSBodW1hbiIuIEFnYWluLCBub25l IG9mIHRoZSBjZWxscyBhcmUgaHVtYW4uIEluZGVlZCwgdGhlIGNlbGxzIGhhdmUgdmVyeSBmZXcg aHVtYW4gdHJhaXRzLCBidXQgdGhlIGNlbGxzIGNvbnNpZGVyZWQgYXMgYSB3aG9sZSBtYWtlcyB1 cCBhIGh1bWFuLgoKCgpBIG1hc3MgbWFkZSB3aXRoICcnbGVpJycsIHN1Y2ggYXMgJydsZWkgZ2Vy a3UnJywgcmVmZXJzIHRvIGEgbWFzcyBmb3JtZWQgYnkgYSBncm91cCBvZiBzcGVjaWZpYyBpbmRp dmlkdWFscywgZWFjaCBvZiB3aGljaCB0aGUgc3BlYWtlciByZWZlcnMgdG8gYXMgJydsZSBnZXJr dScnLgoKTWFzcyBuYW1lcyBhcyBkZXNjcmliZXMgYnkgJydsYWknJyBhcmUgb25seSBhcHByb3By aWF0ZSBpZiB0aGUgZ3JvdXAgYXMgYSB3aG9sZSBpcyBuYW1lZCBzdWNoLCBhbmQgbm90IGp1c3Qg aWYgYW55IG9mIHRoZSBtZW1iZXJzIGFyZS4gSXQgY2FuLCBob3dldmVyIGJlIHVzZWQgaWYgdGhl IGJyaWRpIGlzIHRydWUgZm9yIG9ubHkgYSBmcmFjdGlvbiBvZiB0aGF0IGdyb3VwLgoKCgpJdCBp cyBpbXBvcnRhbnQgdG8gcmVtZW1iZXIgdGhhdCAnJ2xvJycgYW5kICcnbGUnJyBjYW4gYmUgdXNl ZCB0byBkZXNjcmliZSBib3RoIGluZGl2aWR1YWxzIGFuZCBtYXNzZXMuIExldCdzIHNheSBhIHBh Y2sgb2YgZG9ncywgY29uc2lkZXJlZCBhcyBhIG1hc3MgbmVlZHMgZGVzY3JpcHRpb24uIEkgbWln aHQgZGVzY3JpYmUgaXQgYXMgZWl0aGVyICcnbG9pIGdlcmt1Jycgb3IgJydsbyBnZXJrdScnLiBJ ZiBJIHVzZSAnJ2xvJycsIHRoaXMgYWxsb3dzIG1lIHRvIGNvcnJlY3RseSBzdGF0ZSBzb21ldGhp bmcgd2hpY2ggbG9va3MgbGlrZSBhIGNvbnRyYWRpY3Rpb24sIGJ1dCByZWFsbHkgaXNuJ3Q6ICcn bG8gZ2Vya3UgbmEgZ2Vya3UnJyAtICJTb21lIGRvZ3MgYXJlIG5vdCBkb2dzIi4gU2luY2UgaXQn cyBiZWluZyBjb25zaWRlcmVkIGEgbWFzcyBvZiBkb2dzLCB0aGUgbWFueSBkb2dzIGNvbnNpZGVy ZXMgYXMgYSB3aG9sZSBpcyBub3QgYSBkb2csIGJ1dCByYXRoZXIgYSBwYWNrIG9mIGRvZ3MuCgpZ b3UgbWlnaHQgaGF2ZSBub3RpY2VkIHRoYXQgdGhlcmUgaXMgbm8gd29yZCB3aGljaCB1bmFtYmln dW91c2x5IGNvbnZlcnRzIHNlbGJyaSB0byBpbmRpdmlkdWFsKHMpLiBJbiBvcmRlciB0byBiZSBl eHBsaWNpdCBhYm91dCBpbmRpdmlkdWFsbmVzcywgb25lIG5lZWRzICcnbG8nJywgJydsZScnIG9y ICcnbGEnJyB3aXRoIGFuIG91dGVyIHF1YW50aWZpZXIuIFRoZSBzdWJqZWN0IG9mIHF1YW50aWZp ZXJzIHdpbGwgYmUgY29uc2lkZXJlZCBsYXRlciwgaW4gbGVzc29uIHR3ZW50eS10d28uIFdoYXQg aXMgdGhlIHJlYXNvbiB0aGF0ICcnbG8nJyBhbmQgJydsZScnIHZhZ3VlLCBhbmQgbm90IGV4cGxp Y2l0bHkgaW5kaXZpZHVhbD8gSXQgaXMgYmVjYXVzZSB0aGVpciB2YWd1ZW5lc3MgZW5hYmxlcyB0 aGVtIHRvIGJlIHVzZWQgaW4gYW55IGNvbnRleHQsIHdpdGhvdXQgdGhlIHNwZWFrZXIgaGF2aW5n IHRvIHRoaW5rIGFib3V0IHdoZXRoZXIgaXMgYmVoYXZlcyBhcyBhIG1hc3Mgb3IgYSBncm91cCBv ZiBpbmRpdmlkdWFscy4KCgoKVGhpcmQgaW4gdGhpcyBzZXJpZXMsIHRoZXJlIGFyZSB0aHJlZSBz ZXQtZm9ybWluZyAnJ2dhZHJpJyc6CgoKCl9fJydsbydpJydfXyAtIGdhZHJpOiB2ZXJpZGljYWwg 4oCcY29udmVydCBzZWxicmkgdG8gc3VtdGnigJ0uIFRyZWF0IHJlc3VsdCBhcyBhIHNldC4KCl9f JydsZSdpJydfXyAtIGdhZHJpOiBEZXNjcmlwdGl2ZSDigJxjb252ZXJ0IHNlbGJyaSB0byBzdW10 aeKAnS4gVHJlYXQgcmVzdWx0IGFzIGEgc2V0LgoKX18nJ2xhJ2knJ19fIC0gZ2Fkcmk6IE5hbWlu ZyBhcnRpY2xlOiBDb252ZW50aW9uYWwsIOKAnGNvbnZlcnQgc2VsYnJpIG9yIGNtZXZsYSB0byBz dW10aeKAnS4gVHJlYXQgcmVzdWx0IGFzIGEgc2V0LgoKCgpVbmxpa2UgZ3JvdXBzIG9mIGluZGl2 aWR1YWxzIG9yLCBzb21ldGltZXMsIG1hc3Nlcywgc2V0cyBkb2VzIG5vdCB0YWtlIGFueSBvZiB0 aGUgcHJvcGVydGllcyBmcm9tIHRoZSBvYmplY3RzIGZyb20gd2hpY2ggdGhlIHNldCBpcyBmb3Jt ZWQuIEEgc2V0IGlzIGEgcHVyZWx5IG1hdGhlbWF0aWNhbCBvciBsb2dpY2FsIGNvbnN0cnVjdCwg YW5kIGhhcyBwcm9wZXJ0aWVzIGxpa2UgY2FyZGluYWxpdHksIG1lbWJlcnNoaXAgYW5kIHNldCBp bmNsdXNpb24uIEFnYWluLCBub3RlIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gYSBzZXQgb2YgdGhp bmdzLCBhbmQgdGhlIHRoaW5ncyBvZiB3aGljaCB0aGUgc2V0IGlzIGZvcm1lZDoKCl9fJyd0aXJ4 dScnX18g4oCceDEgaXMgYSB0aWdlci9sZW9wYXJkL2phZ3VhciBvZiBzcGVjaWVzL2JyZWVkIHgy IHdpdGggY29hdCBtYXJraW5ncyB4M+KAnQoKJydsbydpIHRpcnh1IGN1IGNtYWx1Jycgc2F5cyBu b3RoaW5nIGFib3V0IHdoZXRoZXIgYmlnIGNhdHMgYXJlIHNtYWxsICh3aGljaCBpcywgYnkgdGhl IHdheSwgb2J2aW91c2x5IGZhbHNlKSwgYnV0IGluc3RlYWQgc2F5IHRoYXQgdGhlIHNldCBvZiBi aWcgY2F0cyBpcyBzbWFsbDsgdGhhdCBpcyAtIHRoZXJlIGFyZSBmZXcgb2YgdGhlbS4KCgoKTGFz dGx5LCB0aGVyZSBhcmUgdGhlIChvbmx5IHR3bykgZ2VuZXJhbGl6aW5nICcnZ2FkcmknJzoKCl9f JydsbydlJydfXyAtIGdhZHJpOiB2ZXJpZGljYWwg4oCcY29udmVydCBzZWxicmkgdG8gc3VtdGni gJ0uIFN1bXRpIHJlZmVycyB0byB0aGUgYXJjaGV0eXBlIG9mICcnbG8ge3NlbGJyaX0nJy4KCl9f JydsZSdlJydfXyAtIGdhZHJpOiBEZXNjcmlwdGl2ZSDigJxjb252ZXJ0IHNlbGJyaSB0byBzdW10 aeKAnS4gU3VtdGkgcmVmZXJzIHRvIHRoZSBkZXNjcmliZWQvcGVyY2VpdmVkIGFyY2hldHlwZSBv ZiAnJ2xlIHtzZWxicml9JycuCgpPZiB3aGljaCB0aGVyZSBpcyBubyAnJ2xhJyctZXF1aXZhbGVu dC4KCgoKU28sIHdoYXQgaXMgYWN0dWFsbHkgbWVhbnQgYnkgdGhlIGFyY2hldHlwZT8gRm9yICcn bG8nZSB0aXJ4dScnLCBpdCBpcyBhbiBpZGVhbCwgaW1hZ2luZWQgYmlnIGNhdCwgd2hpY2ggaGFz IGFsbCB0aGUgcHJvcGVydGllcyB3aGljaCBiZXN0IGV4ZW1wbGlmaWVzIGJpZyBjYXRzLiBJdCB3 b3VsZCBiZSB3cm9uZyB0byBzYXkgdGhhdCB0aGlzIGluY2x1ZGVzIGhhdmluZyBhIHN0cmlwZWQg ZnVyLCBzaW5jZSBhIGJpZyBzeXN0ZW1hdGljIHN1Ymdyb3VwIG9mIHRoZSBtZW1iZXJzIG9mIHRo ZSBzZXQgb2YgYmlnIGNhdHMgZG8gbm90IGhhdmUgc3RyaXBlZCBmdXIsIHRoZSBsZW9wYXJkcyBh bmQgdGhlIGphZ3VhcnMuIExpa2V3aXNlLCB0aGUgdHlwaWNhbCBodW1hbiBkb2VzIG5vdCBsaXZl IGluIEFzaWEgZXZlbiB0aG91Z2ggYSBsb3Qgb2YgaHVtYW5zIGRvLiBIb3dldmVyLCBpZiBzdWZm aWNpZW50bHkgbWFueSBodW1hbnMgaGF2ZSBhIHRyYWl0LCBmb3IgaW5zdGFuY2UgYmVpbmcgYWJs ZSB0byBzcGVhaywgd2UgY2FuIHNheToKCl9fJydrYWtuZScnX186IOKAnHgxIGlzIGNhcGFibGUg b2YgZG9pbmcvYmVpbmcgeDIgdW5kZXIgY2lyY3Vtc3RhbmNlIHgz4oCdCgonJ2xvJ2UgcmVtbmEg Y3Uga2FrbmUgbG8gbnUgdGF2bGEnJyAtIOKAnFRoZSB0eXBpY2FsIGh1bWFuIGJlaW5nIGNhbiBz cGVha+KAnS4KCgoKJydsZSdlJycgdGhlbiwgaXMgdGhlIGlkZWFsIG9iamVjdCBhcyBwZXJjZWl2 ZWQgb3IgZGVzY3JpYmVkIGJ5IHRoZSBzcGVha2VyLiBUaGlzIG5lZWQgbm90IGJlIGZhY3R1YWxs eSBjb3JyZWN0LCBhbmQgaXMgb2Z0ZW4gdHJhbnNsYXRlZCBhcyB0aGUg4oCcc3RlcmVvdHlwZeKA nSwgZXZlbiB0aG91Z2ggdGhlIEVuZ2xpc2ggcGhyYXNlIGhhdmUgc29tZSB1bnBsZWFzYW50IG5l Z2F0aXZlIGNvbm5vdGF0aW9ucywgd2hpY2ggdGhlIExvamJhbiBkb2VzIG5vdC4gSW4gZmFjdCwg ZXZlcnlvbmUgaGFzIGEgc3RlcmVvdHlwaWNhbCBhcmNoZXR5cGljaGFsIGltYWdlIG9mIGFueSBj YXRlZ29yeS4gSW4gb3RoZXIgd29yZHMsICcnbG8nZSByZW1uYScnIGlzIHRoZSBhcmNoZXR5cGUg d2hpY2ggYmVzdCBleGVtcGxpZmllcyBhbGwgJydsbyByZW1uYScnLCB3aGlsZSB0aGUgYXJjaGV0 eXBlICcnbGUnZSByZW1uYScnIGJlc3QgZXhlbXBsaWZpZXMgYWxsICcnbGUgcmVtbmEnJy4KCgoK VGhlIGVsZXZlbiBnYWRyaSBjYW4gYmUgc2VlbiBpbiB0aGUgZGlhZ3JhbSBiZWxvdy4KCnx8IHxH ZW5lcmljfE1hc3Nlc3xTZXRzfEdlbmVyYWxpemluZwoKdmVyaWRpY2FsfGxvfGxvaXxsbydpfGxv J2UKCkRlc2NyaXB0aXZlfGxlfGxlaXxsZSdpfGxlJ2UKCk5hbWV8bGF8bGFpfGxhJ2l8ZG9lcyBu b3QgZXhpc3R8fAoKCgpOb3RlOiBFYXJsaWVyLCB0aGVyZSB3YXMgYSB3b3JkICcneG8nZScnIGZv ciB0aGUgZ2VuZXJpYyBnYWRyaS4gSG93ZXZlciwgdGhlIHJ1bGVzIGFuZCBkZWZpbml0aW9ucyBm b3IgZ2Fkcmkgd2VyZSBjaGFuZ2VkIGluIGxhdGUgMjAwNCwgYW5kIHRoZSBjdXJyZW50IHNldCBv ZiBydWxlcyBvbiB0aGlzIHRvcGljLCBuaWNrZWQg4oCceG9ybG/igJ0gaGFzIHJlcGxhY2VkIHRo ZSBvbGQgd2F5LiBOb3csICcnbG8nJyBpcyBnZW5lcmljLCBhbmQgJyd4bydlJycgaXMgdXNlZCBh cyBhbiBlbGxpcHRpY2FsIGRpZ2l0IChsZXNzb24gbmluZXRlZW4pLgoKCgoKCiEhTG9qYmFuIExl c3NvbnMgLSBMZXNzb24gZmlmdGVlbiAodGhlIExvamJhbiBzdW10aSAyOiBLT2hBMywgS09oQTUg YW5kIEtPaEE2KQoKU2VlIHdoYXQgaGFwcGVucyBpZiBJIHRyeSB0byB0cmFuc2xhdGUgdGhlIHNl bnRlbmNlOiDigJxTdGVyZW90eXBpY2FsIHBlb3BsZSB3aG8gY2FuIHNwZWFrIExvamJhbiBzcGVh ayB0byBlYWNoIG90aGVyIGFib3V0IHRoZSBsYW5ndWFnZXMgdGhleSBjYW4gc3BlYWvigJ06Cgpf XycnYmFuZ3UnJ19fIOKAnHgxIGlzIGEgbGFuZ3VhZ2UgdXNlZCBieSB4MiB0byBleHByZXNzIHgz IChhYnN0cmFjdGlvbinigJ0KCicnbGUnZSBwcmVudSBwb2kga2UnYSBrYWtuZSBsbyBudSB0YXZs YSBmbyBsYSAubG9qYmFuLiBjdSB0YXZsYSBsZSdlIHByZW51IHBvaSBrZSdhIGtha25lIGxvIG51 IHRhdmxhIGZvIGxhIC5sb2piYW4uIGxvIGJhbmd1IHBvaSBsbyBwcmVudSBwb2kga2UnYSB0YXZs YSBmbyBsYSAubG9qYmFuLiBjdSBzZSBiYW5ndSBrZSdhJycKCgoKV2hhdCB3ZSBzZWUgaXMgdGhh dCB0aGUgTG9qYmFuIHZlcnNpb24gaXMgbXVjaCBsb25nZXIgdGhhbiB0aGUgRW5nbGlzaC4gVGhp cyBpcyBwcmltYXJpbHkgYmVjYXVzZSB0aGUgZmlyc3QsIHJpZGljdWxvdXNseSBsb25nIHN1bXRp IGlzIGJlaW5nIHJlcGVhdGVkIHR3byBtb3JlIHRpbWVzIGluIHRoZSBMb2piYW4gdGV4dCwgd2hp bGUgdGhlIEVuZ2xpc2ggY2FuIHJlZmVyIHRvIGl0IGJ5IOKAnGVhY2ggb3RoZXLigJ0gYW5kIOKA nHRoZXnigJ0gLSBtdWNoIG1vcmUgZWZmaWNpZW50bHkuIFdvdWxkbid0IGl0IGJlIGNsZXZlciBp ZiBMb2piYW4gc29tZWhvdyBoYWQgbWVjaGFuaXNtcyBmb3IgZG9pbmcgdGhlIHNhbWU/CgoKCkl0 IHR1cm5zIG91dCBpdCBkb2VzLCB3aGF0IGEgc3VycHJpc2UhIExvamJhbiBoYXMgYSByYW5nZSBv ZiB3b3JkcyBjYWxsZWQgJydzdW1rYSdpJycgbWVhbmluZyDigJxzdW10aS1yZXByZXNlbnRhdGl2 ZXPigJ0uIEluIEVuZ2xpc2gsIHdlIHJlZmVyIHRvIHRoZW0gYXMgcHJvLXN1bXRpLCBiZWNhdXNl IHRoZXkgYXJlIGVzc2VudGlhbGx5IHRoZSBzYW1lIGFzIHRoZSBFbmdsaXNoIHByb25vdW5zLCBi dXQgd2l0aCBzdW10aSBpbnN0ZWFkIG9mIG5vdW5zLiBJbiBmYWN0LCB5b3UgYWxyZWFkeSBrbm93 ICcndGknJywgJydkbycnIGFuZCAnJ21pJycsIGJ1dCB0aGVyZSBhcmUgbWFueSBtb3JlLCBzbyBs ZXQncyBnZXQgbGVhcm5pbmcuIEZpcnN0LCB3ZSB3YW50IHRvIHB1dCBpdCBpbnRvIHN5c3RlbS4g V2UgY2FuIGJlZ2luIHdpdGggdGhlIG9uZXMgbW9zdCBmYW1pbGlhciB0byBFbmdsaXNoLCBhbmQg d2hhdCB5b3UndmUgYWxyZWFkeSBsZWFybmVkOgoKCgpfXycndGknJ19fIC0gc3Vta2EnaTog4oCc aW1tZWRpYXRlIOKAmGl0JzogcmVwcmVzZW50cyBhIHN1bXRpIHBoeXNpY2FsbHkgbmVhciB0aGUg c3BlYWtlcuKAnQoKX18nJ3RhJydfXyAtIHN1bWthJ2k6IOKAnG5lYXJieSDigJhpdCc6IHJlcHJl c2VudHMgYSBzdW10aSBzb21lIHBoeXNpY2FsIGRpc3RhbmNlIGZyb20gdGhlIHNwZWFrZXIgT1Ig Y2xvc2UgdG8gdGhlIGxpc3RlbmVy4oCdCgpfXycndHUnJ19fIC0gc3Vta2EnaTog4oCcZGlzdGFu dCDigJhpdCc6IHJlcHJlc2VudHMgYSBzdW10aSBwaHlzaWNhbGx5IGZhciBmcm9tIHRoZSBzcGVh a2VyIGFuZCB0aGUgbGlzdGVuZXIu4oCdCgoKCllvdSBjYW4gYWdhaW4gcmVjb2duaXplIHRoZSDi gJxpLCBhLCB14oCdLXNlcXVlbmNlIHdoaWNoIHBvcHMgdXAgb3ZlciBhbmQgb3Zlci4gU29tZSB0 aGluZ3MgbWlnaHQgdGFrZSBzb21lIGNsZWFyaW5nIHVwLCB0aG91Z2guIEZpcnN0bHksIHRoZXNl IHN1bXRpIGNhbiByZXByZXNlbnQgYW55dGhpbmcgd2hpY2ggY2FuIGJlIHNhaWQgdG8gb2NjdXB5 IGEgcGh5c2ljYWwgc3BhY2UuIE9iamVjdHMsIGNlcnRhaW5seS4gSWRlYXMsIGNlcnRhaW5seSBu b3QuIEV2ZW50cyBhcmUgYWNjZXB0ZWQsIGJ1dCBvbmx5IHRvIHRoZSBleHRlbnQgdGhleSBhcmUg cmVzdHJpY3RlZCB0byBhIHNwZWNpZmljIHBsYWNlIC0gdGhlIEphc21pbiBSZXZvbHV0aW9uIGNh bm5vdCBiZSBwb2ludGVkIGF0LCBidXQgc29tZSBiYXItZmlnaHQgb3IgYSBraXNzIG1pZ2h0LiBT ZWNvbmRseSwgbm90ZSB0aGF0IHRoZSBkaXN0YW5jZSBpcyByZWxhdGl2ZSB0byBkaWZmZXJlbnQg dGhpbmdzIGZvciB0aGUgZGlmZmVyZW50IHdvcmRzOiAnJ3R1Jycgb25seSBhcHBsaWVzIGlmIGl0 J3MgZGlzdGFudCBmcm9tIGJvdGggdGhlIHNwZWFrZXIgYW5kIHRoZSBsaXN0ZW5lci4gSW4gY2Fz ZXMgd2hlcmUgdGhlIHNwZWFrZXIgYW5kIGxpc3RlbmVyIGlzIGZhciBhcGFydCBhbmQgdGhlIGxp c3RlbmVyIGNhbm5vdCBzZWUgdGhlIHNwZWFrZXIgdGFsa2luZywgJyd0YScnIHJlZmVycyB0byBz b21ldGhpbmcgY2xvc2UgdG8gdGhlIGxpc3RlbmVyLiBUaGlyZGx5LCBpdCdzIGFsbCByZWxhdGl2 ZSBhbmQgY29udGV4dCBkZXBlbmRlbnQuIFRoZXNlIHRocmVlIHdvcmRzIGFyZSBhbGwgcHJvYmxl bWF0aWMgaW4gd3JpdHRlbiB0ZXh0LCBmb3IgaW5zdGFuY2UsIGJlY2F1c2UgdGhlIHBvc2l0aW9u IG9mIHRoZSBzcGVha2VyIGFuZCBsaXN0ZW5lciBpcyB1bmtub3duIHRvIGVhY2ggb3RoZXIsIGFu ZCBjaGFuZ2VzIGFzIHRpbWUgZ29lcyBieS4gRnVydGhlcm1vcmUsIHRoZSBhdXRob3Igb2YgYSBi b29rIGNhbm5vdCBwb2ludCB0byBhbiBvYmplY3QgYW5kIGV4cHJlc3MgdGhlIHBvaW50aW5nIGlu IHRoZSBib29rLgoKCgpUaGVuIHRoZXJlIGlzIGEgc2VyaWVzIGNhbGxlZCBLT2hBMywgdG8gd2hp Y2ggJydtaScnIGFuZCAnJ2RvJycgKGFuZCAnJ2tvJycsIGJ1dCBJIHdvbid0IHdyaXRlIHRoYXQg aGVyZSkgYmVsb25nczoKCl9fJydtaScnX18gLSBzdW1rYSdpOiBUaGUgc3BlYWtlcihzKS4KCl9f JydtaSdvJydfXyAtIHN1bWthJ2k6IFRoZSBtYXNzIG9mIHRoZSBzcGVha2VyKHMpIGFuZCB0aGUg bGlzdGVuZXIocykgLgoKX18nJ21pJ2EnJ19fIC0gc3Vta2EnaTogVGhlIG1hc3Mgb2YgdGhlIHNw ZWFrZXIocykgYW5kIG90aGVycy4KCl9fJydtYSdhJydfXyAtIHN1bWthJ2k6IFRoZSBtYXNzIG9m IHRoZSBzcGVha2VyKHMpLCB0aGUgbGlzdGVuZXIocykgYW5kIG90aGVycy4KCl9fJydkbycnX18g LSBzdW1rYSdpOiBUaGUgbGlzdGVuZXIocykuCgpfXycnZG8nbycnX18gLSBzdW1rYSdpOiBUaGUg bWFzcyBvZiB0aGUgbGlzdGVuZXIocykgYW5kIG90aGVycy4KCgoKVGhlc2Ugc2l4IHN1bWthJ2kg YXJlIG1vcmUgZWFzaWx5IGdyYXNwZWQgaW4gdGhlIGJlbG93IFZlbm4gZGlhZ3JhbToKCgoKe2lt ZyBmaWxlSWQ9IjMiIHRodW1iPSJ5IiByZWw9ImJveFtnXSJ9CgpWZW5uIGRpYWdyYW0gb2YgS09o QTMgKCcna28nJyBleGNsdWRlZCkuICcnbGUgZHJhdGEnJyBpcyBub3QgYSBLT2hBMywgYnV0IG1l YW5zIOKAnHRoZSBvdGhlcihzKeKAnQoKCgpJdCBpcyBwb3NzaWJsZSBmb3Igc2V2ZXJhbCBwZW9w bGUgdG8gYmUg4oCcdGhlIHNwZWFrZXJz4oCdLCBpZiBvbmUgc3RhdGVtZW50IGlzIG1hZGUgb24g dGhlIGJlaGFsZiBvZiBhbGwgb2YgdGhlbS4gVGhlcmVmb3JlLCB3aGlsZSDigJx3ZeKAnSBjYW4g YmUgdHJhbnNsYXRlZCBhcyBlaXRoZXIgJydtaScnLCAnJ21pJ28nJywgJydtaSdhJycgb3IgJydt YSdhJycsIHdoYXQgb25lIHF1aXRlIG9mdGVuIG1lYW5zIGlzIHJlYWxseSBqdXN0ICcnbWknJy4g QWxsIG9mIHRoZXNlIHNpeCwgaWYgdGhleSByZWZlciB0byBtb3JlIHRoYW4gb25lIGluZGl2aWR1 YWwsIHJlcHJlc2VudCBtYXNzZXMuIFdpdGhpbiBicmlkaS1sb2dpYywgdGhlIGJyaWRpICcnbWkg Z2xla2knJyBzYWlkIGJ5IHNwZWFrZXIgQSBpcyBleGFjdGx5IGVxdWl2YWxlbnQgdG8gJydkbyBn bGVraScnIHNhaWQgYnkgc3BlYWtlciBCIHRvIHNwZWFrZXIgQSwgYW5kIGFyZSBjb25zaWRlcmVk IHRoZSBzYW1lIGJyaWRpLiBXZSB3aWxsIGNvbWUgYmFjayB0byB0aGlzIGxhdGVyLCBpbiB0aGUg JydicmlrYSdpJycgKHByby1icmlkaSkgbGVzc29uLgoKCgpBbGwgb2YgdGhlc2UgJydzdW1rYSdp JycgYXJlIHZlcnkgY29udGVudC1zcGVjaWZpYywgYW5kIGNhbm5vdCBiZSB1c2VkLCBmb3IgaW5z dGFuY2UsIHRvIGhlbHAgdXMgd2l0aCB0aGUgc2VudGVuY2Ugd2hpY2ggdGhpcyBsZXNzb24gYmVn YW4gd2l0aC4gVGhlIGZvbGxvd2luZyBzZXJpZXMgY2FuIGluIHByaW5jaXBsZSBiZSB1c2VkIHRv IHJlZmVyIHRvIGFueSBzdW10aToKCl9fJydyaScnX18gLSBzdW1rYSdpOiDigJxMYXN0IHN1bXRp IG1lbnRpb25lZOKAnQoKX18nJ3JhJydfXyAtIHN1bWthJ2k6IOKAnEEgcmVjZW50LCBidXQgbm90 IHRoZSBsYXN0IHN1bXRpIG1lbnRpb25lZOKAnQoKX18nJ3J1JydfXyAtIHN1bWthJ2k6IOKAnEEg c3VtdGkgbWVudGlvbmVkIGxvbmcgYWdv4oCdCgoKClRoZXNlIHN1bXRpIHdpbGwgcmVmZXIgdG8g YW55IHRlcm1pbmF0ZWQgc3VtdGkgZXhjZXB0IG1vc3Qgb3RoZXIgJydzdW1rYSdpJycuIFRoZSBy ZWFzb24gdGhhdCBtb3N0IG90aGVyICcnc3Vta2EnaScnIGNhbm5vdCBiZSByZWZlcnJlZCB0byBi eSB0aGVzZSBzdW10aSwgaXMgdGhhdCB0aGV5IGFyZSBzbyBlYXN5IHRvIGp1c3QgcmVwZWF0IGJ5 IHRoZW1zZWx2ZXMuIFRoZSBleGNlcHRpb24gdG8gdGhlIHJ1bGUgYXJlICcndGknJywgJyd0YScn IGFuZCAnJ3R1JycsIGJlY2F1c2UgeW91IGNvdWxkIGhhdmUgY2hhbmdlZCB3aGF0IHlvdSBwb2lu dCBhdCwgYW5kIHRodXMgY2Fubm90IGp1c3QgcmVwZWF0IHRoZSB3b3JkLiBUaGV5IHdpbGwgb25s eSByZWZlciB0byB0ZXJtaW5hdGVkIHN1bXRpLCBhbmQgdGh1cyBjYW5ub3QsIGZvciBpbnN0YW5j ZSwgYmUgdXNlZCB0byByZWZlciB0byBhbiBhYnN0cmFjdGlvbiBpZiB0aGUgd29yZCBpbiBpcyB0 aGF0IGFic3RyYWN0aW9uOiAnJ2xlIHBlbmRvIG5vaSBrZSdhIHBlbmRvIG1pIGN1IGRqaWNhIGxv IG51IHJpIHNlIHpkYW5pJycgLSBoZXJlICcncmknJyBjYW5ub3QgcmVmZXIgdG8gdGhlIGFic3Ry YXRpb24sIHNpbmNlIGl0IGlzIG5vdCB0ZXJtaW5hdGVkLCBub3IgdG8gJydtaScnIG9yICcna2Un YScnLCBzaW5jZSB0aGV5IGFyZSBzdW1rYSdpLCBzbyBpdCByZWZlcnMgdG8gJydsZSBwZW5kbycn LgoKJydyYScnIGFuZCAnJ3J1JycgYXJlIGNvbnRleHQtZGVwZW5kZW50IGluIHdoYXQgdGhleSBy ZWZlciB0bywgYnV0IHRoZXkgZm9sbG93IHRoZSBydWxlcyBtZW50aW9uZWQgYWJvdmUsIGFuZCAn J3J1JycgYWx3YXlzIHJlZmVyIHRvIGEgbW9yZSBkaXN0YW50IHN1bXRpIHRoYW4gJydyYScnLCB3 aGljaCBpcyBhbHdheXMgbW9yZSBkaXN0YW50IHRoYW4gJydyaScnLgoKCgonJ3JpJycgYW5kIGl0 J3MgYnJvdGhlcnMgYXJlIHByZXR0eSB3ZWxsIHN1aXRlZCBmb3IgZGVhbGluZyB3aXRoIHRoZSBv cmlnaW5hbCBzZW50ZW5jZS4gVHJ5IHNheWluZyBpdCB1c2luZyB0d28gaW5zdGFuY2VzIG9mICcn c3Vta2EnaScnIQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnbGUnZSBwcmVudSBwb2kga2UnYSBr YWtuZSBsbyBudSB0YXZsYSBmbyBsYSAubG9qYmFuLiBjdSB0YXZsYSBydSBsbyBiYW5ndSBwb2kg cnUgY3Ugc2UgYmFuZ3Uga2UnYScnLiAnJ3JpJycgaXMgbm90IGNvcnJlY3QsIGJlY2F1c2UgaXQg cmVmZXJzIHRvICcnbGEgLmxvamJhbi4nJy4gJydyYScnIGNvdWxkIGJlIHVzZWQsIGJ1dCBjb3Vs ZCBiZSBtaXN0YWtlbmx5IGJlIHRob3VnaHQgdG8gcmVmZXIgdG8gJydsbyBudSB0YXZsYSBmbyBs YSAubG9qYmFuLicnLCBidXQgJydydScnIGlzIGFzc3VtZWQgdG8gcmVmZXIgdG8gdGhlIG1vc3Qg ZGlzdGFudCBzdW10aSAtIHRoZSBtb3N0IG91dGVyIG9uZS5+fgoKCgpMYXN0bHksIHRoZXJlIGEg c3VtdGNpdGEgd2hpY2ggcmVwcmVzZW50IHV0dGVyYW5jZXM6IFNvIGNhbGxlZCB1dHRlcmFuY2Ug dmFyaWFibGVzLiBUaGV5IG5lZWQgbm90IGJlIHJlc3RyaWN0ZWQgdG8gb25lIHNlbnRlbmNlIChq dWZyYSksIGJ1dCBjYW4gYmUgc2V2ZXJhbCBzZW50ZW5jZXMsIGlmIHRoZSBjb250ZXh0IGFsbG93 cyBpdDoKCl9fJydkYSd1JydfXyBVdHRlcmFuY2UgdmFyaWFibGU6IFJlbW90ZSBwYXN0IHNlbnRl bmNlCgpfXycnZGUndScnX18gVXR0ZXJhbmNlIHZhcmlhYmxlOiBSZWNlbnQgc2VudGVuY2UKCl9f JydkaSd1JydfXyBVdHRlcmFuY2UgdmFyaWFibGU6IFByZXZpb3VzIHNlbnRlbmNlCgpfXycnZGVp JydfXyBVdHRlcmFuY2UgdmFyaWFibGU6IFRoaXMgc2VudGVuY2UKCl9fJydkaSdlJydfXyBVdHRl cmFuY2UgdmFyaWFibGU6IE5leHQgc2VudGVuY2UKCl9fJydkZSdlJydfXyBVdHRlcmFuY2UgdmFy aWFibGU6IE5lYXIgZnV0dXJlIHNlbnRlbmNlCgpfXycnZGEnZScnX18gVXR0ZXJhbmNlIHZhcmlh YmxlOiBSZW1vdGUgZnV0dXJlIHNlbnRlbmNlCgpfXycnZG8naScnX18gVXR0ZXJhbmNlIHZhcmlh YmxlOiBFbGxpcHRpY2FsIHV0dGVyYW5jZSB2YXJpYWJsZTog4oCcU29tZSBzZW50ZW5jZeKAnQoK VGhlc2UgcmVwcmVzZW50cyBzZW50ZW5jZXMgYXMgc3VtdGksIGFuZCByZWZlciBvbmx5IHRvIHRo ZSBzcG9rZW4gd29yZHMgb3IgdGhlIGxldHRlcnMsIG5vdCB0byB0aGUgbWVhbmluZyBiZWhpbmQg dGhlbS4KCgoKVGhlcmUgYXJlIG1vcmUgTG9qYmFuICcnc3Vta2EnaScnLCBidXQgZm9yIG5vdyB5 b3UgcHJvYmFibHkgbmVlZCBhIGJyZWFrIGZyb20gdGhlbS4gVGhlIG5leHQgbGVzc29uIHdpbGwg YmUgb24gZGVyaXZlZCBzdW10aSwgc3VtdGkgbWFkZSBmcm9tIG90aGVyIHN1bXRpLgoKCgoKCiEh TG9qYmFuIExlc3NvbnMgLSBMZXNzb24gc2l4dGVlbiAodGhlIExvamJhbiBzdW10aSAzOiBkZXJp dmVkIHN1bXRpKQoKWW91IGNhbiBwcm9iYWJseSBzZWUgdGhhdCB0aGUgc3VtdGkgJydsZSBiYW5n dSBwb2kgbWkgc2UgYmFuZ3Uga2UnYScnIGlzIGEgbGVzcyB0aGFuIGVsZWdhbnQgZXhwcmVzc2lv biBmb3Ig4oCcbXkgbGFuZ3VhZ2XigJ0uIFRoaXMgaXMgYmVjYXVzZSBpdCdzIHJlYWxseSBhIHdv cmsgYXJvdW5kLiBBIGxhbmd1YWdlIHdoaWNoIEkgc3BlYWsgY2FuIGJlIHNhaWQgdG8gZmlsbCBp bnRvIHRoZSB4MSBvZiB0aGUgYnJpZGkgJydiYW5ndSBtaScnLiBXZSBjYW4ndCBjb252ZXJ0IHRo YXQgdG8gYSBzdW10aSB1c2luZyBhIGdhZHJpOiAnJ2xlIGJhbmd1IHtrdX0gbWknJyBpcyB0d28g c3VtdGksIGJlY2F1c2UgJydiYW5ndSBtaScnIGlzIGEgYnJpZGksIG5vdCBhIHNlbGJyaS4gTmVp dGhlciBjYW4gd2UgY29udmVydCBpdCB1c2luZyAnJ2xlIHN1J3UnJywgYmVjYXVzZSB0aGUgc3Un dSBnaXZlcyB0aGUgYnJpZGkgYSBuZXcgeDEsIHRoZSBhYnN0cmFjdGlvbiwgYW5kIHRoZSAnJ2xl JycgdGhlbiBleHRyYWN0cyB0aGF0LiBUaGF0IG1ha2VzIGFuIGFic3RyYWN0aW9uIHN1bXRpIG1l YW5pbmcgc29tZXRoaW5nIGxpa2Ug4oCcdGhhdCBzb21ldGhpbmcgaXMgbXkgbGFuZ3VhZ2XigJ0u CgpFbnRlciAnJ2JlJycuICcnYmUnJyBpcyBhIHdvcmQgd2hpY2ggYmluZHMgY29uc3RydWN0cyAo c3VtdGksIHN1bXRjaXRhIGFuZCBvdGhlcnMpIHRvIGEgc2VsYnJpLiBVc2luZyBpdCBpbiBvcmRp bmFyeSBzZWxicmkgaGFzIG5vIGVmZmVjdDogaW4gJydtaSBuZWxjaSBiZSBkbycnLCB0aGUgJydi ZScnIGRvZXMgbm90aGluZy4gSG93ZXZlciwgd2hlbiBhIHN1bXRpIGlzIGJvdW5kIHRvIGEgc2Vs YnJpIHRoaXMgd2F5LCB5b3UgY2FuIHVzZSBhIGdhZHJpIG9uIHRoZSBzZWxicmkgd2l0aG91dCB0 aGUgc3VtdGkgc3BsaXR0aW5nIG9mZjogJydsZSBiYW5ndSBiZSBtaScnIGlzIGEgY29ycmVjdCBz b2x1dGlvbiB0byB0aGUgcHJvYmxlbSBhYm92ZS4gTGlrZXdpc2UsIHlvdSBjYW4gYXR0YWNoIGEg c3VtdGNpdGE6ICcnbGUgbnUgZGFyeGkga2VpIGJlIGdhdSBkbycnOiDigJxUaGUgZXZlbnQgb2Yg aGl0dGluZywgd2hpY2ggaXMgY2F1c2VkIGJ5IHlvdeKAnS4gTm90ZSB0aGF0IHRoZSBwcmVzZW5j ZSBvciBhYnNlbmNlIG9mICcna2VpJycgbWFrZXMgaXQgcGFyc2UgZGlmZmVyZW50bHk6IFdpdGgg dGhlIGZhJ29ybWEnbyBwcmVzZW50LCAnJ2JlJycgYXR0YWNoZXMgdG8gJydudScnLCB3aXRob3V0 IHRoZSBmYSdvcm1hJ28sIGl0IGF0dGFjaGVzIHRvICcnZGFyeGknJy4gU28gaXQgZGVjaWRlcyB3 aGF0IGlzIGJlaW5nIGVtcGhhc2lzZWQ6IElzIHRoZSBoaXR0aW5nLCBvciB0aGUgZXZlbnQgb2Yg aGl0dGluZyBjYXVzZWQgYnkgeW91PyBJbiB0aGlzIHNwZWNpZmljIGNhc2UsIHRob3VnaCwgdGhh dCdzIGp1c3QgYWJvdXQgdGhlIHNhbWUgdGhpbmcuCgoKCldoYXQgaWYgSSB3YW50IHRvIGF0dGFj aCBzZXZlcmFsIHN1bXRpIHRvIGEgc2VsYnJpIGluc2lkZSBhIGdhZHJpPyDigJxUaGUgZ2l2ZXIg b2YgdGhlIGFwcGxlIHRvIHlvdeKAnSBpcyAnJ2xlIGR1bmRhIGJlIGxvIHBsaXNlIGJlIGRvJycs IHJpZ2h0PyBOb3BlLiBUaGUgc2Vjb25kICcnYmUnJyBhdHRhY2hlcyB0byB0aGUgYXBwbGUsIG1l YW5pbmcgJydsZSBwbGlzZSBiZSBkbycnIC0g4oCcVGhlIGFwcGxlIG9mIHRoZSBzdHJhaW4gb2Yg eW914oCdLCB3aGljaCBtYWtlcyBubyBzZW5zZS4gSW4gb3JkZXIgdG8gc3RyaW5nIHNldmVyYWwg c3VtdGkgdG8gYSBzZWxicmksIHRoZSBhbGwgdGhlIG9uZXMgZm9sbG93aW5nIHRoZSBmaXJzdCBt dXN0IGJlIGJvdW5kIHdpdGggJydiZWknJy4gVGhlIOKAnGJpbmRpbmfigJ0gY2FuIGJlIHRlcm1p bmF0ZWQgd2l0aCAnJ2JlJ28nJyAtIG9uZSBpbnN0YW5jZSBvZiAnJ2JlJ28nJyBmb3IgZWFjaCBz ZWxicmkgd2hpY2ggaGFzIHN1bXRpIGJvdW5kIGJ5ICcnYmUnJy4KClRvIGxpc3QgdGhlbToKCl9f JydiZScnX18gYmluZHMgc3VtdGkgb3Igc3VtdGNpdGEgdG8gc2VsYnJpCgpfXycnYmVpJydfXyBi aW5kcyBhIHNlY29uZCwgdGhpcmQsIGZvdXJ0aCAoZWN0KSBzdW10aSBvciBzdW10Y2l0YSB0byBh IHNlbGJyaQoKX18nJ2JlJ28nJ19fIGVuZHMgYmluZGluZyB0byBzZWxicmkKCgoKVGhlcmUgaXMg YWxzbyB3YXlzIHRvIGxvb3NlbHkgYXNzb2NpYXRlIGEgc3VtdGkgd2l0aCBhbm90aGVyLiAnJ3Bl JycgYW5kICcnbmUnJyBmb3IgcmVzdHJpY3RpdmUgYW5kIG5vbi1yZXN0cmljdGl2ZSBhc3NvY2lh dGlvbi4gQWN0dWFsbHksICcnbGUgYmFuZ3UgcGUgbWknJyBpcyBhIGJldHRlciB0cmFuc2xhdGlv biBvZiDigJxteSBsYW5ndWFnZeKAnSwgc2luY2UgdGhpcyBwaHJhc2UsIGxpa2UgdGhlIEVuZ2xp c2gsIGlzIHZhZ3VlIGFzIHRvIGhvdyB0aGUgdHdvIGFyZSBhc3NvY2lhdGVkIHdpdGggZWFjaCBv dGhlci4KCicncGUnJyBhbmQgJyduZScnIGFyZSB1c2VkIGFzIGxvb3NlIGFzc29jaWF0aW9uIG9u bHksIGxpa2Ugc2F5aW5nIOKAnG15IGNoYWly4oCdIGFib3V0IGEgY2hhaXIgd2hpY2ggeW91IHNp dCBvbi4gSXQncyBub3QgcmVhbGx5IHlvdXJzLCBidXQgaGFzIHNvbWV0aGluZyBkbyB0byB3aXRo IHlvdS4gQSBtb3JlIGludGltYXRlIGNvbm5lY3Rpb24gY2FuIGJlIGVzdGFibGlzaGVkIHdpdGgg JydwbycnLCB3aGljaCBtYWtlcyB0aGUgYXNzb2NpYXRpb24gdW5pcXVlIGFuZCBiaW5kaW5nIHRv IGEgcGVyc29uLCBhcyBpbiDigJxteSBjYXLigJ0gZm9yIGEgY2FyIHRoYXQgeW91IGFjdHVhbGx5 IG93bi4gVGhlIGxhc3Qga2luZCBvZiBhc3NvY2lhdG9yIGlzICcncG8nZScnLCB3aGljaCBtYWtl cyBhIHNvLWNhbGxlZCAiaW5hbGllbmFibGUiIGJvbmQgYmV0d2VlbiBzdW10aSwgbWVhbmluZyB0 aGF0IHRoZSBib25kIGlzIGlubmF0ZSBiZXR3ZWVuIHRoZSB0d28gc3VtdGkuIFNvbWUgZXhhbXBs ZXMgY291bGQgYmUgIm15IG1vdGhlciIsICJteSBhcm0iIG9yICJteSBob21lIGNvdW50cnkiOyBu b25lIG9mIHRoZXNlICJwb3NzZXNpb25zIiBjYW4gYmUgbG9zdCAoZXZlbiBpZiB5b3Ugc2F3IG9m ZiB5b3VyIGFybSwgaXQncyBzdGlsbCBfX3lvdXJfXyBhcm0pLCBhbmQgYXJlIHRoZXJlZm9yZSBp bmFsaWVuYWJsZS4gQWxtb3N0IGFsbCBvZiB0aGUgdGltZXMgYSAnJ3BvJ2UnJyBpcyBhcHByb3By aWF0ZSwgdGhvdWdoLCB0aGUgeDIgb2YgdGhlIHNlbGJyaSBjb250YWlucyB0aGUgb25lIHRvIHdo aWNoIHRoZSB4MSBpcyBjb25uZWN0ZWQsIHNvICcnYmUnJyBpcyBiZXR0ZXIuCgpfXycnbmUnJ19f IG5vbi1yZXN0cmljdGl2ZSByZWxhdGl2ZSBwaHJhc2UuICJ3aGljaCBpcyBhc3NvY2lhdGVkIHdp dGguLi4iCgpfXycncGUnJ19fIHJlc3RyaWN0aXZlIHJlbGF0aXZlIHBocmFzZS4gIndoaWNoIGlz IGFzc29jaWF0ZWQgd2l0aC4uLiIKCl9fJydwbycnX18gcG9zc2VzaXZlIHJlbGF0aXZlIHBocmFz ZS4gIndoaWNoIGlzIHNwZWNpZmljIHRvLi4uIgoKX18nJ3BvJ2UnJ19fIGluYWxpZW5hYmxlIHJl bGF0aXZlIHBocmFzZS4gIndoaWNoIGJlbG9uZ3MgdG8uLi4iCgoKCkEgdmVyeSB1c2VmdWwgY29u c3RydWN0IHRvIGtub3cgaXMgJyd7Z2Fkcml9IHtzdW10aX0ge3NlbGJyaX0nJy4gdGhpcyBpcyBl cXVpdmFsZW50IHRvICcne2dhZHJpfSB7c2VsYnJpfSBwZSAge3N1bXRpfScnLiBGb3IgaW5zdGFu Y2UgJydsZSBtaSBnZXJrdScnIGlzIGVxdWl2YWxlbnQgdG8gJydsZSBnZXJrdSBwZSBtaScnLiBP bmUgY291bGQgaGF2ZSBkZXNjcmlwdGlvbiBzdW10aSBpbnNpZGUgZGVzY3JpcHRpb24gc3VtdGks IHNheWluZyAnJ2xlIGxlIHNlIGNpbmppa2NhIGJlIG1pIGt1IGdlcmt1JycsID0gJydsZSBnZXJr dSBwZSBsZSBzZSBjaW5qaWtjYSBiZSBtaScnID3igJx0aGUgZG9nIG9mIHRoZSBtYW4gSSdtIGZs aXJ0aW5nIHdpdGjigJ0sIGJ1dCB0aGF0J3Mgbm90IHZlcnkgZWFzeSB0byByZWFkIChvciB0byB1 bmRlcnN0YW5kIHdoZW4gc3Bva2VuKSwgYW5kIGlzIG9mdGVuIGJlaW5nIGF2b2lkZWQuCgoKCk9u ZSBuZWVkIGFsc28gdG8gbGVhcm4gJyd0dSdhJycsIHNpbmNlIGl0IHdpbGwgbWFrZSBhIGxvdCBv ZiBzZW50ZW5jZXMgbXVjaCBlYXNpZXIuIEl0IHRha2VzIGEgc3VtdGkgYW5kIGNvbnZlcnRzIGl0 IHRvIGFub3RoZXIgc3VtdGkgLSBhbiBlbGxpcHRpY2FsIGFic3RyYWN0aW9uIHdoaWNoIGhhcyBz b21ldGhpbmcgdG8gZG8gd2l0aCB0aGUgZmlyc3Qgc3VtdGkuIEZvciBleGFtcGxlLCBJIGNvdWxk IHNheSAnJ21pIGRqaWNhIGxvIG51IG1pIGNpdGthIGxvIHBsaXNlJycsIG9yIEkgY291bGQgbGV0 IGl0IGJlIHVwIHRvIGNvbnRleHQgd2hhdCBhYnN0cmFjdGlvbiBhYm91dCB0aGUgYXBwbGUgSSBk ZXNpcmUgYW5kIGp1c3Qgc2F5ICcnbWkgZGppY2EgdHUnYSBsbyBwbGlzZScnLiBPbmUgYWx3YXlz IGhhcyB0byBndWVzcyB3aGF0IGFic3RyYWN0aW9uIHRoZSBzcGVha2VyIG1lYW5zIGJ5ICcndHUn YSBTVU1USScnLCBzbyBpdCBzaG91bGQgb25seSBiZSB1c2VkIHdoZW4gY29udGV4dCBtYWtlcyBp dCBlYXN5IHRvIGd1ZXNzLiBBbm90aGVyIGV4YW1wbGU6CgpfXycnZ2FzbnUnJ19fIOKAnHgxIGRv ZXMvYnJpbmdzIGFib3V0IHgyICh2b2xpdGlvbiBub3QgaW1wbGllZCnigJ0KCicnemEnYSBkbyBn YXNudSB0dSdhIGxvIHNrYW1pJycgLSDigJxJIHNlZSB0aGF0IHlvdSBtYWtlIHRoZSBjb21wdXRl ciBkbyBzb21ldGhpbmfigJ0uIE9mZmljaWFsbHksICcndHUnYSBTVU1USScnIGlzIGVxdWl2YWxl bnQgdG8gJydsZSBzdSd1IFNVTVRJIGNvJ2UnJy4gVmFndWUsIGJ1dCB1c2VmdWwuIFRoZXJlIGFy ZSBzaXR1YXRpb25zIHdoZXJlIHlvdSBjYW5ub3QgdXNlICcndHUnYScnLCBldmVuIHRob3VnaCBp dCB3b3VsZCBzZWVtIHN1aXRhYmxlLiBUaGVzZSBzaXR1YXRpb25zIGFyZSB3aGVuIEkgZG9uJ3Qg d2FudCB0aGUgcmVzdWx0aW5nIHN1bXRpIHRvIGJlIGFuIGFic3RyYWN0aW9uLCBidXQgYSBjb25j cmV0ZSBzdW10aS4gSW4gdGhpcyBjYXNlLCBvbmUgY2FuIHVzZSAnJ3pvJ2UgcGUnJy4KCl9fJyd0 dSdhJydfXyBjb252ZXJ0IHN1bXRpIHRvIHZhZ3VlIGFic3RyYWN0aW9uIGludm9sdmluZyB0aGUg c3VtdGkuIEVxdWl2YWxlbnQgdG8gJydsZSBzdSd1IFNVTVRJIGNvJ2Uga2VpIGt1JycKCgoKRmlu YWxseSwgb25lIGtpbmQgb2Ygc3VtdGkgY2FuIGJlIHR1cm5lZCBpbnRvIGFub3RoZXIgYnkgdGhl IHdvcmRzIG9mIHRoZSBjbGFzcyBMQWhFLgoKX18nJ2x1J2EnJ19fIC0gQ29udmVydCBpbmRpdmlk dWFsKHMpL21hc3Mvc2VxdWVuY2Uvc2V0IHRvIGluZGl2aWR1YWxzLgoKX18nJ2x1J2knJ19fIC0g Q29udmVydCBpbmRpdmlkdWFsKHMpL21hc3Mvc2VxdWVuY2Uvc2V0IHRvIGEgc2V0LgoKX18nJ2x1 J28nJ19fIC0gQ29udmVydCBpbmRpdmlkdWFsKHMpL21hc3Mvc2VxdWVuY2Uvc2V0IHRvIG1hc3Mu CgpfXycndnUnaScnX18gLSBDb252ZXJ0IGluZGl2aWR1YWwocykvbWFzcy9zZXF1ZW5jZS9zZXQg dG8gc2VxdWVuY2U7IHRoZSBvcmRlciBpcyBub3Qgc3RhdGVkLgoKVGhlIHVzZSBvZiB0aGVzZSB3 b3JkcyBpcyBzdHJhaWdodC1mb3J3YXJkbHk6IFBsYWNpbmcgdGhlbSBiZWZvcmUgYSBzdW10aSBv ZiBhIGNlcnRhaW4gdHlwZSBtYWtlcyBhIG5ldyBzdW10aSBvZiBhIG5ldyB0eXBlLiBOb3RpY2Us IHRob3VnaCwgdGhhdCBhcyBhIGZvdXJ0aCBraW5kIG9mIHN1bXRpLCBhIHNlcXVlbmNlIGhhcyBi ZWVuIGludHJvZHVjZWQuIFRoaXMgaXMgbm90IHVzZWQgdmVyeSBvZnRlbiAoaXQgZG9lc24ndCBo YXZlIGl0cyBvd24gZ2FkcmksIGZvciBpbnN0YW5jZSksIGJ1dCBqdXN0IGluY2x1ZGVkIGhlcmUg Zm9yIGNvbXBsZXRpb24uCgpUaGUgbGFzdCB0d28gbWVtYmVycyBvZiBMQWhFIGRvIG5vdCBjb252 ZXJ0IGJldHdlZW4gdHlwZXMgb2Ygc3VtdGksIGJ1dCBhbGxvd3MgeW91IHRvIHNwZWFrIG9mIGEg YSBzdW10aSBieSBvbmx5IG1lbnRpb25pbmcgc29tZXRoaW5nIHdoaWNoIHJlZmVyZW5jZXMgdG8g aXQ6CgpJZiBvbmUgc3VtdGkgQSByZWZlcnMgdG8gYSBzdW10aSBCLCBmb3IgaW5zdGFuY2UgYmVj YXVzZSBzdW10aSBBIGlzIGEgdGl0bGUgb2YgYSBib29rLCBvciBhIG5hbWUsIG9yIGEgc2VudGVu Y2UgKHdoaWNoIGFsd2F5cyByZWZlciB0byBzb21ldGhpbmcsIGF0IGxlYXN0IGEgYnJpZGkpLCDi gJgnbGEnZSBTVU1USSBBJycgcmVmZXJzIHRvIHN1bXRpIEIuIEZvciBpbnN0YW5jZSwg4oCYJ21p IG5lbGNpIGxhJ2UgZGkndScnIGZvciDigJxJIGxpa2Ugd2hhdCB5b3UganVzdCBzYWlk4oCdIChu b3QgJydtaSBuZWxjaSBkaSd1Jycgd2hpY2gganVzdCBtZWFucyAiSSBsaWtlIHlvdXIgcHJldmlv dXMgc2VudGVuY2UiKSBvciDigJgnbGEnZSBsZSBjbWFsdSBub2x0cnUnJyBmb3IgdGhlIGJvb2sg 4oCcVGhlIExpdHRsZSBQcmluY2XigJ0sIGFuZCBub3Qgc29tZSBsaXR0bGUgcHJpbmNlIGhpbXNl bGYuIFRoZSBjbWF2byDigJgnbHUnZScnIGRvZXMgdGhlIGV4YWN0IHJldmVyc2Ug4oCTIOKAmCds dSdlIFNVTVRJJycgcmVmZXJzIHRvIGFuIG9iamVjdCB3aGljaCByZWZlcnMgdG8gdGhlIHN1bXRp LiAKCl9fJydsYSdlJydfXyAtIOKAnHRoZSB0aGluZyByZWZlcnJlZCB0byBieeKAnSAtIGV4dHJh Y3RzIGEgc3VtdGkgQSBmcm9tIGEgc3VtdGkgQiB3aGljaCByZWZlcnMgdG8gQS4gCgpfXycnbHUn ZScnX18gLSDigJx0aGUgdGhpbmcgcmVmZXJyaW5nIHRv4oCdIC0gZXh0cmFjdHMgYSBzdW10aSBC IGZyb20gYSBzdW10aSBBLCB3aGVuIEIgcmVmZXJzIHRvIEEuCgoKCgoKISEhRW5kIG9mIHBhcnQg b25lCgpEdWUgdG8gdGhlIGltcHJhY3RpY2FsbHkgbGFyZ2Ugc2l6ZSBvZiB0aGVzZSBsZXNzb25z LCB0aGUgc2Vjb25kIGFuZCB0aGlyZCBpbnN0YWxsbWVudCBjYW4gYmUgZm91bmQgb24gcGFnZXMg ZGVkaWNhdGVkIHRvICgod2F2ZWxlc3NvbnNjb250aW51ZWRwMnx0aGUgZm9ybWVyKSkgYW5kICgo d2F2ZWxlc3NvbnNjb250aW51ZWRwM3x0aGUgbGF0dGVyKSkuIE5vIHdvcnJpZXMsIHRob3VnaCwg Y2xpY2tpbmcgb24gInRoZSBmb3JtZXIiIG9yICJ0aGUgbGF0dGVyIiB3aWxsIHRha2UgeW91IHRo ZXJlIHBhaW5sZXNzbHkuCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KV2lraW5ldXJvdGljIG1haWxpbmcgbGlzdApXaWtpbmV1cm90aWNAbG9qYmFuLm9y ZwpodHRwOi8vbWFpbC5sb2piYW4ub3JnL21haWxtYW4vbGlzdGluZm8vd2lraW5ldXJvdGljCg==