Received: from localhost ([::1]:39592 helo=stodi.digitalkingdom.org) by stodi.digitalkingdom.org with esmtp (Exim 4.76) (envelope-from ) id 1UAMH3-00014N-EH; Tue, 26 Feb 2013 07:16:57 -0800 Received: from 173-13-139-235-sfba.hfc.comcastbusiness.net ([173.13.139.235]:51068 helo=digitalkingdom.org) by stodi.digitalkingdom.org with smtp (Exim 4.76) (envelope-from ) id 1UAMGo-00014G-1D for wikichanges@lojban.org; Tue, 26 Feb 2013 07:16:49 -0800 Received: by digitalkingdom.org (sSMTP sendmail emulation); Tue, 26 Feb 2013 07:16:41 -0800 From: "Apache" Date: Tue, 26 Feb 2013 07:16:41 -0800 To: wikichanges@lojban.org X-PHP-Originating-Script: 48:htmlMimeMail.php MIME-Version: 1.0 Message-ID: X-Spam-Score: 4.5 (++++) X-Spam_score: 4.5 X-Spam_score_int: 45 X-Spam_bar: ++++ X-Spam-Report: Spam detection software, running on the system "stodi.digitalkingdom.org", has identified this incoming email as possible spam. The original message has been attached to this so you can view it (if it isn't spam) or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: The page wavelessonscontinuedp2 was changed by gleki at 15:16 UTC You can view the page by following this link: http://www.lojban.org/tiki/wavelessonscontinuedp2 [...] Content analysis details: (4.5 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 1.6 RCVD_IN_BRBL_LASTEXT RBL: RCVD_IN_BRBL_LASTEXT [173.13.139.235 listed in bb.barracudacentral.org] 0.4 RDNS_DYNAMIC Delivered to internal network by host with dynamic-looking rDNS 2.5 DRUGS_MUSCLE Refers to a muscle relaxant Subject: [Wikichanges] Wiki page wavelessonscontinuedp2 changed by gleki X-BeenThere: wikichanges@lojban.org X-Mailman-Version: 2.1.14 Precedence: list Reply-To: webmaster@lojban.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: wikichanges-bounces@lojban.org Content-Length: 126225 VGhlIHBhZ2Ugd2F2ZWxlc3NvbnNjb250aW51ZWRwMiB3YXMgY2hhbmdlZCBieSBnbGVraSBhdCAx NToxNiBVVEMKCllvdSBjYW4gdmlldyB0aGUgcGFnZSBieSBmb2xsb3dpbmcgdGhpcyBsaW5rOgog Cmh0dHA6Ly93d3cubG9qYmFuLm9yZy90aWtpL3dhdmVsZXNzb25zY29udGludWVkcDIKCllvdSBj YW4gdmlldyBhIGRpZmYgYmFjayB0byB0aGUgcHJldmlvdXMgdmVyc2lvbiBieSBmb2xsb3dpbmcg dGhpcyBsaW5rOiAKaHR0cDovL3d3dy5sb2piYW4ub3JnL3Rpa2kvdGlraS1wYWdlaGlzdG9yeS5w aHA/cGFnZT13YXZlbGVzc29uc2NvbnRpbnVlZHAyJmNvbXBhcmU9MSZvbGR2ZXI9MTYmbmV3dmVy PTE3CgoKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioKVGhlIGNoYW5nZXMgaW4gdGhpcyB2ZXJzaW9uIGZvbGxvdyBiZWxvdywgZm9sbG93 ZWQgYWZ0ZXIgYnkgdGhlIGN1cnJlbnQgZnVsbCBwYWdlIHRleHQuCioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCgoKKy0rLSstKy0rLSst Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSsKQEAgLUxpbmVz OiA3My03NyBjaGFuZ2VkIHRvICtMaW5lczogNzMtNzcgQEAKKy0rLSstKy0rLSstKy0rLSstKy0r LSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSsKX18nJ2xlJ3UnJ19fIFF1b3Rl IHdvcmQ6IEVuZCBxdW90ZSBvZiB1bmdyYW1tYXRpY2FsIGJ1dCBMb2piYW4gY29udGVudAoKLSBU aGUgdGV4dCBpbnNpZGUgbXVzdCBiZSBMb2piYW4gd29yZHMsIGJ1dCBuZWVkIG5vdCBiZSBncmFt bWF0aWNhbC4gVHJ5IHRvIHRyYW5zbGF0ZSB0aGUgYWJvdmUgZXhhbXBsZSAodGhlbiBvbmUgd2l0 aCAnJ2dpJ2UnJykgaW50byBMb2piYW4KKyBUaGUgdGV4dCBpbnNpZGUgbXVzdCBiZSBMb2piYW4g d29yZHMsIGJ1dCBuZWVkIG5vdCBiZSBncmFtbWF0aWNhbC4gVHJ5IHRvIHRyYW5zbGF0ZSB0aGUg YWJvdmUgZXhhbXBsZSAodGhlIG9uZSB3aXRoICcnZ2knZScnKSBpbnRvIExvamJhbgoKQW5zd2Vy OiB+fmdyZXksZ3JleTonJ3h1IGxvJ3UgZ2knZSBsZSd1IGxvamJvIHN1bXRjaXRhJyd+fgoKKy0r LSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSsK QEAgLUxpbmVzOiA4MS04NSBjaGFuZ2VkIHRvICtMaW5lczogODEtODUgQEAKKy0rLSstKy0rLSst Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSsKJyd6b2knJyBO ZXh0IGNtYXZvIGlzIGJlZ2luIGFsbC1wdXJwb3NlIHF1b3RlIGFuZCBjbG9zZSBhbGwtcHVycG9z ZSBxdW90ZS4KCi0gV2hlbiB1c2luZyAnJ3pvaScnLCB5b3UgcGljayBhbnkgbW9ycGhvbG9naWNh bGx5IGNvcnJlY3QgbG9qYmFuIHdvcmQgYXQgd2lsbCAoY2FsbGVkIHRoZSBkZWxpbWl0ZXIpLCB3 aGljaCB0aGVuIG9wZW5zIGEgcXVvdGUuIFRvIGNsb3NlIGlzLCB1c2UgdGhhdCB3b3JkIGFnYWlu LiBUaGlzIHdheSwgeW91IGNhbiBxdW90ZSBhbnl0aGluZyBleGNlcHQgdGhlIGRlbGltaXRlciwg d2hpY2ggc2hvdWxkbid0IGJlIGEgcHJvYmxlbSBiZWNhdXNlIHlvdSBjYW4gcGljayBpdCB5b3Vy c2VsZi4gVXN1YWxseSwgdGhlIHdvcmQgcGlja2VkIGlzIGVpdGhlciAnJ3pvaScnIGl0c2VsZiwg b3IgYSBsZXR0ZXIgd2hpY2ggc3RhbmRzIGZvciB0aGUgbGFuZ3VhZ2Ugd2hpY2ggdGhlIHF1b3Rl IGlzIHdyaXR0ZW4gaW4uIEV4YW1wbGU6IEkgbGlrZWQgVGhlIFBoYW50b20gb2YgdGhlIE9wZXJh IGlzICcnbWkgcHUgbmVsY2kgbGEnZSB6b2kgem9pLiBUaGUgUGhhbnRvbSBvZiB0aGUgT3BlcmEg LnpvaScnIE5vdGljZSB0d28gdGhpbmdzOiBGaXJzdGx5LCBJIG5lZWQgYSAnJ2xhJ2UnJywgc2lu Y2UgSSBkaWRuJ3QgbGlrZSB0aGUgcXVvdGUsIGJ1dCByYXRoZXIgd2hhdCBpdCByZWZlcnJlZCB0 by4gU2Vjb25kbHksIGJldHdlZW4gdGhlIGNob3NlbiBkZWxpbWl0ZXIgYW5kIHRoZSBxdW90ZSwg dGhlcmUgYXJlIHBhdXNlcywgb3B0aW9uYWxseSByZXByZXNlbnRlZCBieSBhIGZ1bGwgc3RvcCBp biB3cml0aW5nLiBUaGlzIHBhdXNlIGlzIG5lY2Vzc2FyeSB0byBjb3JyZWN0bHkgaWRlbnRpZnkg dGhlIGRlbGltaXRlci4KKyBXaGVuIHVzaW5nICcnem9pJycsIHlvdSBwaWNrIGFueSBtb3JwaG9s b2dpY2FsbHkgY29ycmVjdCBsb2piYW4gd29yZCBhdCB3aWxsIChjYWxsZWQgdGhlIGRlbGltaXRl ciksIHdoaWNoIHRoZW4gb3BlbnMgYSBxdW90ZS4gVG8gY2xvc2UgaXQsIHVzZSB0aGF0IHdvcmQg YWdhaW4uIFRoaXMgd2F5LCB5b3UgY2FuIHF1b3RlIGFueXRoaW5nIGV4Y2VwdCB0aGUgZGVsaW1p dGVyLCB3aGljaCBzaG91bGRuJ3QgYmUgYSBwcm9ibGVtIGJlY2F1c2UgeW91IGNhbiBwaWNrIGl0 IHlvdXJzZWxmLiBVc3VhbGx5LCB0aGUgd29yZCBwaWNrZWQgaXMgZWl0aGVyICcnem9pJycgaXRz ZWxmLCBvciBhIGxldHRlciB3aGljaCBzdGFuZHMgZm9yIHRoZSBsYW5ndWFnZSB3aGljaCB0aGUg cXVvdGUgaXMgd3JpdHRlbiBpbi4gRXhhbXBsZTogSSBsaWtlZCBUaGUgUGhhbnRvbSBvZiB0aGUg T3BlcmEgaXMgJydtaSBwdSBuZWxjaSBsYSdlIHpvaSB6b2kuIFRoZSBQaGFudG9tIG9mIHRoZSBP cGVyYSAuem9pJycgTm90aWNlIHR3byB0aGluZ3M6IEZpcnN0bHksIEkgbmVlZCBhICcnbGEnZScn LCBzaW5jZSBJIGRpZG4ndCBsaWtlIHRoZSBxdW90ZSwgYnV0IHJhdGhlciB3aGF0IGl0IHJlZmVy cmVkIHRvLiBTZWNvbmRseSwgYmV0d2VlbiB0aGUgY2hvc2VuIGRlbGltaXRlciBhbmQgdGhlIHF1 b3RlLCB0aGVyZSBhcmUgcGF1c2VzLCBvcHRpb25hbGx5IHJlcHJlc2VudGVkIGJ5IGEgZnVsbCBz dG9wIGluIHdyaXRpbmcuIFRoaXMgcGF1c2UgaXMgbmVjZXNzYXJ5IHRvIGNvcnJlY3RseSBpZGVu dGlmeSB0aGUgZGVsaW1pdGVyLgoKVHJ5IHRvIHRyYW5zbGF0ZSB0aGUgYWJvdmUgc2VudGVuY2Ug Y29uY2VybmluZyDigJxXaGF0J3MgdXA/4oCdCgorLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSst Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKwpAQCAtTGluZXM6IDE3MC0xNzQgY2hhbmdl ZCB0byArTGluZXM6IDE3MC0xNzQgQEAKKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0r LSstKy0rLSstKy0rLSstKy0rLSstKy0rLSsKJydtdSBiaSBzbydpIHNhaScnIOKAk0ZpZnR5IGVp Z2h0LCB3aGljaCBpcyByZWFsbHkgbWFueS4KVGhleSBzaG91bGQgdGhlcmVmb3JlIG5vdCBiZSBw bGFjZWQgaW4gdGhlIG1pZGRsZSBvZiBhIG51bWJlciBzdHJpbmcuIFdoZW4gcGxhY2VkIGFmdGVy ICcncGknJywgdGhleSBhcmUgYXNzdW1lZCB0byBjb252ZXkgdGhlIHNpemUgb2YgYSBmcmFjdGlv bjoKLSAnJ3BpIHNvJ3UnJyAgYSBzbWFsbCBwYXJ0IG9mIGl0OgorICcncGkgc28ndScnICBhIHNt YWxsIHBhcnQgb2YgaXQKJydwaSBzbydvJycg4oCTIHNvbWUgb2YgaXQgCicncGkgc28naScnIOKA kyBhIGxhcmdlIHBhcnQgb2YgaXQgCgorLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSst Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKwpAQCAtTGluZXM6IDIyMS0yMjUgY2hhbmdlZCB0byAr TGluZXM6IDIyMS0yMjUgQEAKKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0r LSstKy0rLSstKy0rLSstKy0rLSsKKFdoZW4gc3BlY2lmeWluZyBhIHNlcXVlbmNlLCBpdCBpcyB3 aWRlbHkgdW5kZXJzdG9vZCB0aGF0IGlmIGEgJydrYScnLWFic3RyYWN0aW9uIChsZXNzb24gdHdl bnR5LW5pbmUpIGlzIHVzZWQgYXMgYSBzdW10aSwgdGhlIG1lbWJlcnMgb2YgdGhlIHNldCBhcmUg b3JkZXJlZCBmcm9tIHRoZSBvbmUgd2l0aCBtb3N0IG9mIHRoZSBwcm9wZXJ0eSB0byB0aGUgb25l IHdpdGggbGVzcyBvZiB0aGUgcHJvcGVydHksIHNvIHRoZSB4MyBvZiB0aGUgZm9sbG93aW5nIHNl bnRlbmNlIGNvdWxkIGhhdmUgYmVlbiBzaG9ydGVuZWQgdG8gJydsbyBrYSBjbGFuaScnKQpfXycn bGlkbmUnJ19fIHgxIGlzIGJlZm9yZSB4MiBpbiBzZXF1ZW5jZSB4MwotIF9fJydjbGFuaScnX18g eDEgaXMgc2hvcnQgaW4gZGltZW5zaW9uIHgyIGJ5IHN0YW5kYXJkIHgzCisgX18nJ2NsYW5pJydf XyB4MSBpcyBsb25nIGluIGRpbWVuc2lvbiB4MiBieSBzdGFuZGFyZCB4MwpfXycnem1hZHUnJ19f IHgxIGV4Y2VlZHMgeDIgaW4gcHJvcGVydHkvYXNwZWN0IHgzIGJ5IGFtb3VudCB4NApfXycnbWxl Y2EnJ19fIHgxIGlzIGxlc3MgdGhhbi9pcyBsZXNzIGNoYXJhY3Rlcml6ZWQgdGhhbiB4MiBieSBw cm9wZXJ0eS9hc3BlY3QgeDMgYnkgYW1vdW50IHg0CgorLSstKy0rLSstKy0rLSstKy0rLSstKy0r LSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKwpAQCAtTGluZXM6IDIzMS0yMzUgY2hh bmdlZCB0byArTGluZXM6IDIzMS0yMzUgQEAKKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSst Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSsKCl9fJydzaSdlJydfXyAtIENvbnZlcnQgbnVt YmVyIG4gdG8gc2VsYnJpOiB4MSBpcyBuIHRpbWVzIHgyCi0gRXhhbXBsZTogJydsZSB0aSBwbGlz ZSBjdSBtZSdpIHBpIHBhIHNpJ2UgbGVpIG1pIGNpZGphIGJlIHplJ2EgbG8gZGplZGknJyAgVGhp cyBhcHBsZSBoZXJlIGlzIGxlc3MgdGhhbiBvbmUgdGVudGggb2YgbXkgZm9vZCBmb3Igb25lIGRh eQorIEV4YW1wbGU6ICcnbGUgdmkgcGxpc2UgY3UgbWUnaSBwaSBwYSBzaSdlIGxlaSBtaSBjaWRq YSBiZSB6ZSdhIGxvIGRqZWRpJycgIFRoaXMgYXBwbGUgaGVyZSBpcyBsZXNzIHRoYW4gb25lIHRl bnRoIG9mIG15IGZvb2QgZm9yIG9uZSBkYXkKUGxlYXNlIG5vdGUgdGhhdCB0aGUgZGVmaW5pdGlv biBvZiAnJ3NpJ2UnJyB3aGVuIGxvb2tlZCB1cCB3aWxsIHRlbGwgeW91IHRoYXQgaXQncyAieDEg aXMgYW4gbnRoIG9mIHgyIiwgaW5zdGVhZCBvZiAieDEgaXMgbiB0aW1lcyB4MiIuIEJ1dCBwZW9w bGUgb25seSB1c2UgaXQgYXMgSSBoYXZlIGRlZmluZWQgaXQsIHNvIHRoZSBkZWZpbml0aW9uIGlu IHRoZSBkaWN0aW9uYXJpZXMgd2lsbCBwcm9iYWJseSBjaGFuZ2UuCgoKKy0rLSstKy0rLSstKy0r LSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSsKQEAgLUxpbmVzOiAy NjYtMjczIGNoYW5nZWQgdG8gK0xpbmVzOiAyNjYtMjczIEBACistKy0rLSstKy0rLSstKy0rLSst Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rCldoaWxlIHdlJ3JlIGF0IG1l c3Npbmcgd2l0aCB0aGUgb3JkaW5hcnkgdGFucnUgc3RydWN0dXJlLCB0aGVyZSBpcyBhbm90aGVy IHdvcmQgd29ydGggcGF5aW5nIGF0dGVudGlvbiB0by4gSWYgSSB3YW50IHRvIHNheSB0aGF0IEkn bSBhIHByb2Zlc3Npb25hbCB0cmFuc2xhdG9yLCBJIGNvdWxkIHNheSAnJ21pIGZhbnZhIHNlIGpp YnJpJycuCl9fJydqaWJyaScnX18geDEgaXMgYSBqb2Igb2YgeDIKLSBfXycnZG9jYmF1JydfXyB4 MSBpcyBHZXJtYW4gdXNlZCBieSB4MiB0byBzYXkgeDMKKyBfXycnZG90eWJhdScnX18geDEgaXMg R2VybWFuIHVzZWQgYnkgeDIgdG8gc2F5IHgzCl9fJydnbGliYXUnJ19fIHgxIGlzIEVuZ2xpc2gg dXNlZCBieSB4MiB0byBzYXkgeDMKLSBJZiBJIHdhbnRlZCB0byBzYXkgdGhhdCBJJ20gYSBwcm9m ZXNzaW9uYWwgdHJhbnNsYXRlciBmcm9tIEVuZ2xpc2ggdG8gR2VybWFuLCBJJ2QgaGF2ZSB0byBt ZXNzIGFyb3VuZCB3aXRoICcnYmUnJyBhbmQgJydiZWknJzogJydtaSBmYW52YSBiZSBsZSBkb2Ni YXUgYmVpIGxlIGdsaWJhdSBiZSdvIHNlIGppYnJpJycsIGFuZCB0aGUgZmFjdCB0aGF0IGl0IHdh cyBhIHRhbnJ1IGNvdWxkIHF1aWNrbHkgYmUgbG9zdCBpbiBzcGVlY2ggZHVlIHRvIHRoZSBjb21w bGljYXRlZCBzdHJ1Y3R1cmUgb2YgdGhlIHNlbnRlbmNlLiBIZXJlLCB3ZSBjYW4gdXNlIHRoZSB3 b3JkICcnY28nJy4gaXQgaW52ZXJ0cyB0aGUgdGFucnUsIG1ha2luZyB0aGUgcmlnaHRtb3N0IHNl bGJyaSBtb2RpZnkgdGhlIGxlZnRtb3N0IGluc3RlYWQgb2YgdGhlIG90aGVyIHdheSBhcm91bmQ6 PGJyIC8+JydtaSBzZSBqaWJyaSBjbyBmYW52YSBsZSBkb2NiYXUgbGUgZ2xpYmF1JycgaXMgdGhl IHNhbWUgYnJpZGkgYXMgdGhlIHByZXZpb3VzIExvamJhbiBvbmUsIGJ1dCBtdWNoIG1vcmUgZWFz eSB0byB1bmRlcnN0YW5kLiBOb3RpY2UgdGhhdCBhbnkgc3VtdGkgYmVmb3JlIHRoZSB0YW5ydSBm aWxscyAnJ3NlIGppYnJpJycsIHdoaWxlIGFueSBmb2xsb3dpbmcgaXQgb25seSBmaWxscyB0aGUg bW9kaWZ5aW5nIHNlbGJyaTogJydmYW52YScnLgorIElmIEkgd2FudGVkIHRvIHNheSB0aGF0IEkn bSBhIHByb2Zlc3Npb25hbCB0cmFuc2xhdGVyIGZyb20gRW5nbGlzaCB0byBHZXJtYW4sIEknZCBo YXZlIHRvIG1lc3MgYXJvdW5kIHdpdGggJydiZScnIGFuZCAnJ2JlaScnOiAnJ21pIGZhbnZhIGJl IGxlIGRvdHliYXUgYmVpIGxlIGdsaWJhdSBiZSdvIHNlIGppYnJpJycsIGFuZCB0aGUgZmFjdCB0 aGF0IGl0IHdhcyBhIHRhbnJ1IGNvdWxkIHF1aWNrbHkgYmUgbG9zdCBpbiBzcGVlY2ggZHVlIHRv IHRoZSBjb21wbGljYXRlZCBzdHJ1Y3R1cmUgb2YgdGhlIHNlbnRlbmNlLiBIZXJlLCB3ZSBjYW4g dXNlIHRoZSB3b3JkICcnY28nJy4gaXQgaW52ZXJ0cyB0aGUgdGFucnUsIG1ha2luZyB0aGUgcmln aHRtb3N0IHNlbGJyaSBtb2RpZnkgdGhlIGxlZnRtb3N0IGluc3RlYWQgb2YgdGhlIG90aGVyIHdh eSBhcm91bmQ6PGJyIC8+JydtaSBzZSBqaWJyaSBjbyBmYW52YSBsZSBkb3R5YmF1IGxlIGdsaWJh dScnIGlzIHRoZSBzYW1lIGJyaWRpIGFzIHRoZSBwcmV2aW91cyBMb2piYW4gb25lLCBidXQgbXVj aCBtb3JlIGVhc3kgdG8gdW5kZXJzdGFuZC4gTm90aWNlIHRoYXQgYW55IHN1bXRpIGJlZm9yZSB0 aGUgdGFucnUgZmlsbHMgJydzZSBqaWJyaScnLCB3aGlsZSBhbnkgZm9sbG93aW5nIGl0IG9ubHkg ZmlsbHMgdGhlIG1vZGlmeWluZyBzZWxicmk6ICcnZmFudmEnJy4KX18nJ2NvJydfXyBJbnZlcnQg dGFucnUuIEFueSBwcmV2aW91cyBzdW10aSBmaWxsIHRoZSBtb2RpZmllZCwgYW55IGZvbGxvd2lu ZyBmaWxsIHRoZSBtb2RpZmllci4KCgorLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSst Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKwpAQCAtTGluZXM6IDI5Ny0zMDEgY2hhbmdlZCB0byAr TGluZXM6IDI5Ny0zMDEgQEAKKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0r LSstKy0rLSstKy0rLSstKy0rLSsKX18nJ3hlYm5pJydfXyB4MSBoYXRlcyB4MgonJ21pIGRhcnhp IGRvIC5pIG11J2kgYm8gbWkgZG8geGVibmknJyDigJMg4oCcSSBoaXQgeW91LCB3aXRoIG1vdGl2 YXRpb24gdGhhdCBJIGhhdGUgeW91LuKAnSBIZXJlIHRoZSAnJ2JvJycgYmluZHMgJydtdSdpJycg dG8gdGhlIGZvbGxvd2luZyBicmlkaS4KLSBUaGlzIGlzIHdoZXJlIHRoZSBvdGhlciB0ZWNobmlj YWwgZGlmZmVyZW5jZSBiZXR3ZWVuIHRlbnNlIHN1bXRjaXRhIGFuZCBvdGhlciBzdW10Y2l0YSBp cyByZWxldmFudC4gWW91IHNlZSwgd2hlbiBiaW5kaW5nIGEgbm9ybWFsIHN1bXRjaXRhIHRvIGEg YnJpZGkgd2l0aCAnJ2JvJycsIGl0IG1lYW5zIHRoYXQgdGhlIGZvbGxvd2luZyBicmlkaSBzb21l aG93IGZpdHMgaW50byB0aGUgc3VtdGkgcGxhY2Ugb2YgdGhlIHN1bXRjaXRhLiBGb3IgdGhlIHJl YXNvbiBvZiBHb2QgS25vd3MgV2h5LCBiaW5kaW5nIG9uZSBvZiB0aGUgd29yZHMgJydiYScnIG9y ICcncHUnJyB0byBhIGJyaWRpIGhhcyB0aGUgZXhhY3Qgb3Bwb3NpdGUgZWZmZWN0LiBGb3IgZXhh bXBsZSwgaW4gdGhlIGJyaWRpICcnbWkgZGFyeGkgZG8gLmkgYmEgYm8gZG8gY2luamlrY2EnJywg b25lIHdvdWxkIGFzc3VtZSB0aGF0IHRoZSBzZWNvbmQgYnJpZGkgaXMgc29tZWhvdyBmaWxsZWQg aW50byB0aGUgc3VtdGkgcGxhY2Ugb2YgJydiYScnLCBtZWFuaW5nIHRoYXQgdGhlIGJyaWRpIGZp cnN0IHV0dGVyZWQgdG9vayBwbGFjZSBpbiB0aGUgZnV0dXJlIG9mIHRoZSBzZWNvbmQgYnJpZGku IFRoYXQncyBub3QgdGhlIGNhc2UsIGhvd2V2ZXIsIGFuZCB0aGUgY29ycmVjdCB0cmFuc2xhdGlv biBvZiB0aGF0IHV0dGVyYW5jZSB3b3VsZCBiZSAmcXVvdDtJIGhpdCB5b3UuIEFmdGVyd2FyZHMs IHlvdSBmbGlydCZxdW90Oy4gVGhpcyB3ZWlyZCBydWxlIGlzIGFjdHVhbGx5IG9uZSBvZiB0aGUg bWFpbiBvYnN0YWNsZXMgdG8gYSB1bmlmaWNhdGlvbiBvZiBhbGwgc3VtdGNpdGEgaW50byBvbmUg c2luZ2xlIHdvcmQgY2xhc3MuIEFub3RoZXIgZGlmZmVyZW5jZSBpcyB0aGF0IHRlbnNlLXN1bXRj aXRhIGNhbiBiZSBlbGlkZWQsIGV2ZW4gdGhvdWdoIHRoZXkgYXBwbHkuIFRoaXMgcnVsZSBtYWtl cyBtb3JlIHNlbnNlLCBzaW5jZSB3ZSBvZnRlbiBjYW4gYXNzdW1lIGJyaWRpIGlzIHBsYWNlZCBp biBhIHRpbWUgYW5kIHNwYWNlLCBidXQgd2UgY2FuJ3QgYXNzdW1lIHRoYXQgdGhlIHN1bXRpY3Rh IG9mIEJBSSBhcHBsaWVzLgorIFRoaXMgaXMgd2hlcmUgdGhlIHRlY2huaWNhbCBkaWZmZXJlbmNl IGJldHdlZW4gdGVuc2Ugc3VtdGNpdGEgYW5kIG90aGVyIHN1bXRjaXRhIGlzIHJlbGV2YW50LiBZ b3Ugc2VlLCB3aGVuIGJpbmRpbmcgYSBub3JtYWwgc3VtdGNpdGEgdG8gYSBicmlkaSB3aXRoICcn Ym8nJywgaXQgbWVhbnMgdGhhdCB0aGUgZm9sbG93aW5nIGJyaWRpIHNvbWVob3cgZml0cyBpbnRv IHRoZSBzdW10aSBwbGFjZSBvZiB0aGUgc3VtdGNpdGEuIEZvciB0aGUgcmVhc29uIG9mIEdvZCBL bm93cyBXaHksIGJpbmRpbmcgb25lIG9mIHRoZSB3b3JkcyAnJ2JhJycgb3IgJydwdScnIHRvIGEg YnJpZGkgaGFzIHRoZSBleGFjdCBvcHBvc2l0ZSBlZmZlY3QuIEZvciBleGFtcGxlLCBpbiB0aGUg YnJpZGkgJydtaSBkYXJ4aSBkbyAuaSBiYSBibyBkbyBjaW5qaWtjYScnLCBvbmUgd291bGQgYXNz dW1lIHRoYXQgdGhlIHNlY29uZCBicmlkaSBpcyBzb21laG93IGZpbGxlZCBpbnRvIHRoZSBzdW10 aSBwbGFjZSBvZiAnJ2JhJycsIG1lYW5pbmcgdGhhdCB0aGUgYnJpZGkgZmlyc3QgdXR0ZXJlZCB0 b29rIHBsYWNlIGluIHRoZSBmdXR1cmUgb2YgdGhlIHNlY29uZCBicmlkaS4gVGhhdCdzIG5vdCB0 aGUgY2FzZSwgaG93ZXZlciwgYW5kIHRoZSBjb3JyZWN0IHRyYW5zbGF0aW9uIG9mIHRoYXQgdXR0 ZXJhbmNlIHdvdWxkIGJlICZxdW90O0kgaGl0IHlvdS4gQWZ0ZXJ3YXJkcywgeW91IGZsaXJ0JnF1 b3Q7LiBUaGlzIHdlaXJkIHJ1bGUgaXMgYWN0dWFsbHkgb25lIG9mIHRoZSBtYWluIG9ic3RhY2xl cyB0byBhIHVuaWZpY2F0aW9uIG9mIGFsbCBzdW10Y2l0YSBpbnRvIG9uZSBzaW5nbGUgd29yZCBj bGFzcy4gQW5vdGhlciBkaWZmZXJlbmNlIGlzIHRoYXQgdGVuc2Utc3VtdGNpdGEgY2FuIGJlIGVs aWRlZCwgZXZlbiB0aG91Z2ggdGhleSBhcHBseS4gVGhpcyBydWxlIG1ha2VzIG1vcmUgc2Vuc2Us IHNpbmNlIHdlIG9mdGVuIGNhbiBhc3N1bWUgYnJpZGkgaXMgcGxhY2VkIGluIGEgdGltZSBhbmQg c3BhY2UsIGJ1dCB3ZSBjYW4ndCBhc3N1bWUgdGhhdCB0aGUgc3VtdGNpdGEgb2YgQkFJIGFwcGxp ZXMuCgpUaGUgdW5vZmZpY2lhbCB3b3JkICcnbWUnb2knJyBpcyBlcXVpdmFsZW50IHRvIG1lIGxh J2UgJyd6bydvaScnLCB3aGljaCBtZWFucyB0aGF0IGl0IGNvbnZlcnRzIHRoZSBjb250ZW50IG9m IHRoZSBuZXh0IHdvcmQgaW50byBhIHNlbGJyaS4gSXQgaXMgdXNlZCB0byBpbnZlbnQgYnJpdmxh IG9uIHRoZSBmbHk6ICcnbWkgY2EgemdhbmEgbGEgbWUnb2kgWC1maWxlcycnIGZvciDigJxJIG5v dyB3YXRjaCBYLWZpbGVz4oCdLiBMaWtlIGFsbCBxdW90ZSBuZXh0IHdvcmQtY21hdm8sIGl0IGlz IG5vdCBzdXBwb3J0ZWQgYnkgdGhlIG9mZmljaWFsIGdyYW1tYXIsIGJ1dCB0byB0aGUgbGF6eSBM b2piYW5pc3QsIGl0J3MgaW52YWx1YWJsZS4KCistKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0r LSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rCkBAIC1MaW5lczogMzg5LTM5MyBjaGFuZ2Vk IHRvICtMaW5lczogMzg5LTM5MyBAQAorLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSst Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKwpUaGUgcnVsZXMgZm9yIGhvdyBpbm5lciBhbmQgb3V0 ZXIgcXVhbnRpZmllcnMgYWZmZWN0cyBzdW10aSBkZXBlbmQgb24gdGhlIGtpbmQgb2YgZ2Fkcmkg d2hpY2ggaXMgdXNlZDoKCi0gLSAtJydsbycnIGFuZCAnJ2xlJyctIC0gQW4gaW5uZXIgcXVhbnRp ZmllciB0ZWxscyB1cyBob3cgbWFueSBvYmplY3RzIGFyZSBiZWluZyBzcG9rZW4gb2YgLSBob3cg bWFueSBvYmplY3RzIGFyZSBpbiB0aGUgZGlzY291cnNlIHRvdGFsLiBJZiBhbiBvdXRlciBxdWFu dGlmaWVyIGlzIHByZXNlbnQsIHRoZSBzdW10aSBpcyBiZWluZyBjb25zaWRlcmVzIGRpc3RyaWJ1 dGVkIG92ZXIgdGhhdCBhbW91bnQgb2Ygb2JqZWN0cy4gQXMgc3RhdGVkIGVhcmxpZXIsIGlmIG5v IG91dGVyIHF1YW50aWZpZXIgaXMgcHJlc2VudCwgaXQncyB2YWd1ZSBob3cgbWFueSBvYmplY3Rz IHRoZSBzZWxicmkgYXBwbGllcyB0byAodGhvdWdoIG5vdCBub25lKSwgYW5kIHdoZXRoZXIgaXQg ZG9lcyBzbyBkaXN0cmlidXRpdmVseSBvciBub24tZGlzdHJpYnV0aXZlbHkuIEV4YW1wbGVzIGFy ZSBhbHdheXMgYSBnb29kIGlkZWEsIHNvIGhlcmUgdGhleSBhcmU6CisgLSAtJydsbycnIGFuZCAn J2xlJyctIC0gQW4gaW5uZXIgcXVhbnRpZmllciB0ZWxscyB1cyBob3cgbWFueSBvYmplY3RzIGFy ZSBiZWluZyBzcG9rZW4gb2YgLSBob3cgbWFueSBvYmplY3RzIGFyZSBpbiB0aGUgZGlzY291cnNl IHRvdGFsLiBJZiBhbiBvdXRlciBxdWFudGlmaWVyIGlzIHByZXNlbnQsIHRoZSBzdW10aSBpcyBk aXN0cmlidXRlZCBvdmVyIHRoYXQgYW1vdW50IG9mIG9iamVjdHMuIEFzIHN0YXRlZCBlYXJsaWVy LCBpZiBubyBvdXRlciBxdWFudGlmaWVyIGlzIHByZXNlbnQsIGl0J3MgdmFndWUgaG93IG1hbnkg b2JqZWN0cyB0aGUgc2VsYnJpIGFwcGxpZXMgdG8gKHRob3VnaCBub3Qgbm9uZSksIGFuZCB3aGV0 aGVyIGl0IGRvZXMgc28gZGlzdHJpYnV0aXZlbHkgb3Igbm9uLWRpc3RyaWJ1dGl2ZWx5LiBFeGFt cGxlcyBhcmUgYWx3YXlzIGEgZ29vZCBpZGVhLCBzbyBoZXJlIHRoZXkgYXJlOgonJ211IGxvIG11 IGJha25pIGN1IHNlIGppcm5hJycgLSBUaGUgaW5uZXIgcXVhbnRpZmllciBvZiBmaXZlIHRlbGxz IHVzIHRoYXQgd2Ugc3BlYWsgYWJvdXQgZml2ZSBwaWVjZXMgb2YgY2F0dGxlLCBhbmQgdGhlIG91 dGVyIHF1YW50aWZpZXIgb2YgZml2ZSB0ZWxscyB1cyB0aGF0IHRoZSBzZWxicmkgaXMgdHJ1ZSBm b3IgZWFjaCBvZiB0aGUgZml2ZS4gVGhlcmVmb3JlLCBpdCBtZWFucyAiQWxsIHRoZSBmaXZlIGNv d3MgaGFkIGhvcm5zIi4gCl9fJydiYWtuaScnX18geDEgaXMgYSBjb3cvb3gvY2F0dGxlL2NhbGYg ZXRjIG9mIGJyZWVkIHgyCgoKCgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKgpUaGUgbmV3IHBhZ2UgY29udGVudCBmb2xsb3dzIGJlbG93 LgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKgoKIUxvamJhbiBXYXZlIExlc3NvbnMgQ29udGludWVkIChwYXJ0IHR3byk6CgohISFNYWRl IGJ5IGxhIGtsYWt1IHdpdGggaGVscCBmcm9tIHZhcmlvdXMgbG9qYmFuaXN0cy4gQmFzZWQgb24g dGhlIHdvcmsgb2YgbGEgLmtyaWJhY3IuIFNwcmluZyAyMDEzLgoKCgpUaGlzIGlzIHRoZSBzZWNv bmQgaW5zdGFsbG1lbnQgb2YgdGhlIFdhdmUgTGVzc29ucyBDb250aW51ZWQuIElmIHlvdSBkaWRu J3QgY2F0Y2ggdGhlIGZpcnN0IHBhcnQsIG9yIHdhbnQgdG8gZ28gYmFjayBmb3Igc29tZSByZWFz b24sIGp1c3QgY2xpY2sgKCh3YXZlbGVzc29uc2NvbnRpbnVlZHxvbiB0aGVzZSBmb3VyIHdvcmRz LikpLiBZb3UgY2FuIGFsc28gZ28gdG8gdGhlIHRoaXJkIHBhcnQgYnkgY2xpY2tpbmcgKCh3YXZl bGVzc29uc2NvbnRpbnVlZHAyfHRoaXMgbGluaykpLCBpZiB5b3UgZmVlbCBsaWtlIGRvaW5nIHRo YXQuCgoKCiEhTG9qYmFuIExlc3NvbnMgLSBMZXNzb24gc2V2ZW50ZWVuIChjdXRlIGFzc29ydGVk IHdvcmRzKQoKQW5kIHdpdGggdGhhdCwgdGhpcmQgY2hhcHRlciwgeW91IGtub3cgYSBsb3QgYWJv dXQgTG9qYmFuIHN1bXRpLiBBZnRlciBzdWNoIGEgbG9uZyB0aW1lIG9mIHJpZ29yb3VzIHN5c3Rl bWF0aWMgbGVhcm5pbmcsIHdoYXQgY291bGQgYmUgbW9yZSBmaXR0aW5nIHRoYXQgdGhpcyBsZXNz b24gd2hlcmUgSSBzcGVhayBhYm91dCBzb21lIHdvcmRzIHdoaWNoIEkgY291bGQgbm90LCBvciB3 YW50ZWQgbm90IHRvIGZpdCBpbnRvIGFueSBvdGhlciBsZXNzb25zPyBTbyBoZXJlIGFyZSBhIGZl dyBzbWFsbCBhbmQgcmVhbGx5IHVzZWZ1bCB3b3JkczoKCgoKVGhlIGZvbGxvd2luZyBjbWF2byBh cmUgYWxsIGVsbGlwdGljYWwgd29yZHMuIFlvdSBzaG91bGQgYWxyZWFkeSBiZSBmYW1pbGlhciB3 aXRoIHRoZSBmaXJzdC4KCl9fJyd6bydlJydfXyAtIGVsbGlwdGljYWwgc3VtdGkKCl9fJydjbydl JydfXyAtIGVsbGlwdGljYWwgc2VsYnJpCgpfXycnZG8nZScnX18gLSBlbGxpcHRpY2FsIHN1bXRj aXRhCgpfXycnanUnYScnX18gLSBlbGxpcHRpY2FsIGV2aWRlbnRpYWwKCl9fJydkbydpJydfXyAt IGVsbGlwdGljYWwgdXR0ZXJhbmNlIHZhcmlhYmxlCgpfXycnZ2UnZScnX18gLSBlbGxpcHRpY2Fs IGF0dGl0dWRpbmFsCgoKCkFsbCBvZiB0aGVzZSBhY3QgZ3JhbW1hdGljYWxseSBhcyBhIGNtYXZv IG9mIHRoZSBraW5kIHRoZXkgcmVwcmVzZW50LCBidXQgdGhleSBjb250YWluIG5vIGluZm9ybWF0 aW9uLCBhbmQgY2FuIGJlIHF1aXRlIGhhbmR5IHdoZW4geW91J3JlIGxhenkgYW5kIGRvbid0IG5l ZWQgdG8gYmUgc3BlY2lmaWMgYW55d2F5LiBUaGVyZSBhcmUsIGhvd2V2ZXIsIGEgZmV3IHRoaW5n cyB3aGljaCBuZWVkIHRvIGJlIGNsZWFyZWQgdXA6CgoKCiAgICAnJ3pvJ2UnJyBoYXZlIHRvIHJl ZmVyIHRvIHNvbWV0aGluZyB3aGljaCBpcyBjbGFpbWVkIHRvIGhhdmUgYSB2YWx1ZS4g4oCcemVy byBjYXJz4oCdIG9yIOKAnG5vdGhpbmfigJ0sIGZvciBpbnN0YW5jZSwgaGFzIG5vIHZhbHVlLCBh bmQgdGhlcmVmb3JlIGNhbm5vdCBiZSByZWZlcnJlZCB0byBieSAnJ3pvJ2UnJy4gVGhpcyBpcyBi ZWNhdXNlLCBpZiBpdCBjb3VsZCBtZWFuIOKAnG5vdGhpbmfigJ0gYnkgJyd6bydlJycsIHRoZW4g YW55IHNlbGJyaSBjb3VsZCBiZSBpZGVudGljYWwgdG8gaXRzIG5lZ2F0aW9uLCBpZiBvbmUgb2Yg dGhlIGVsaWRlZCBzdW10aSB3ZXJlIGZpbGxlZCB3aXRoIGEgJyd6bydlJycgd2l0aCBubyB2YWx1 ZS4KCiAgICAnJ2dlJ2UnJyBkb2VzIG5vdCBtZWFuIHRoYXQgeW91IGZlZWwgbm8gZW1vdGlvbiwg anVzdCB0aGF0IHlvdSBmZWVsIG5vdGhpbmcgc3BlY2lhbCBvciB3b3J0aCB0byBtZW50aW9uIGF0 IHRoZSBtb21lbnQuIEl0J3Mgc2ltaWxhciB0byDigJxJJ20gZmluZS7igJ0uICcnZ2UnZSBwZWkn JyBhc2sgYWJvdXQgYW4gZWxsaXB0aWNhbCBlbW90aW9uIGFuZCBpcyBhIGdvb2QgdHJhbnNsYXRp b24gZm9yOiDigJxIb3cgYXJlIHlvdSBmZWVsaW5nP+KAnS4KCiAgICAnJ2NvJ2UnJyBpcyBoYW5k eSB3aGVuIG5lZWRpbmcgYSBzZWxicmkgaW4gYSBjb25zdHJ1Y3QgZm9yIGdyYW1tYXRpY2FsIHJl YXNvbnMsIGxpa2UgaW4gdGhlIGRlZmluaXRpb24gb2YgJyd0dSdhJycgaW4gdGhlIHByZXZpb3Vz IGxlc3Nvbi4KCiAgICAnJ2p1J2EnJyBkb2VzIG5vdCBjaGFuZ2UgdGhlIHRydXRoIHZhbHVlIG9y IHN1YmplY3RpdmUgdW5kZXJzdGFuZGluZyBvZiB0aGUgYnJpZGkgb3IgYW55dGhpbmcgbGlrZSB0 aGF0LiBJbiBmYWN0LCBpdCdzIG1vc3RseSBkb2VzIG5vdGhpbmcuIEhvd2V2ZXIsICcnanUnYSBw ZWknJywg4oCcV2hhdCBpcyB5b3VyIGJhc2lzIGZvciBzYXlpbmcgdGhhdD/igJ0gaXMgaGFuZHku CgogICAgJydkbydpJycgaXMgcmVhbGx5IHVzZWZ1bC4gQSBsb3Qgb2YgdGltZXMgd2hlbiB5b3Ug cmVmZXIgdG8gdXR0ZXJhbmNlcyBvciBjb252ZXJzYXRpb25zIGJ5IHdvcmRzIGxpa2Ug4oCcdGhp c+KAnSBvciDigJx0aGF04oCdLCB5b3Ugd2FudCAnJ2RvJ2knJy4KCiAgICBJZiB5b3UgZmlsbCBp biBtb3JlIHN1bXRpIHRoYW4gYSBzZWxicmkgaGFzIHBsYWNlcyBmb3IsIHRoZSBsYXN0IHN1bXRp IGhhdmUgaW1wbGllZCAnJ2RvJ2UnJyBzdW10Y2l0YSBpbiBmcm9udCBvZiB0aGVtLgoKCgpGdXJ0 aGVybW9yZSwgdGhlcmUgaXMgYSB3b3JkLCAnJ3ppJ28nJywgdGhhdCB5b3UgY2FuIGZpbGwgYSBz dW10aSBwbGFjZSB3aXRoIHRvIGRlbGV0ZSBpdCBmcm9tIGFueSBzZWxicmkuICcnbG8gbWVsYmkg YmUgemknbycnLCBmb3IgaW5zdGFuY2UsIGlzIGp1c3Qg4oCcU29tZXRoaW5nIGJlYXV0aWZ1bOKA nSwgYW5kIGRvZXMgbm90IGluY2x1ZGUgdGhlIHVzdWFsIHgyIG9mICcnbWVsYmknJywgd2hpY2gg aXMgdGhlIG9ic2VydmVyIHdobyBqdWRnZXMgc29tZXRoaW5nIHRvIGJlIGJlYXV0aWZ1bC4gVGh1 cywgaXQgY2FuIG1lYW4gc29tZXRoaW5nIGxpa2Ug4oCcT2JqZWN0aXZlbHkgYmVhdXRpZnVsLuKA nSBJdCBkb2VzIG5vdCBzdGF0ZSB0aGF0IG5vdGhpbmcgZmlsbHMgdGhlIHN1bXRpIHBsYWNlIHdo aWNoIGlzIGJlaW5nIGRlbGV0ZWQsIGp1c3QgdGhhdCB0aGUgc3VtdGkgcGxhY2UgaXMgbm90IGJl aW5nIGNvbnNpZGVyZWQgaW4gdGhlIHNlbGJyaS4gVXNpbmcgJyd6aSdvJycgd2l0aCBhIHN1bXRj aXRhIGdpdmVzIHdlaXJkIHJlc3VsdHMuIEZvcm1hbGx5LCB0aGV5IHNob3VsZCBjYW5jZWwgZWFj aCBvdGhlciBvdXQuIFByYWN0aWNhbGx5LCBpdCB3b3VsZCBwcm9iYWJseSBiZSB1bmRlcnN0b29k IGFzIGFuIGV4cGxpY2l0IHdheSBvZiBzYXlpbmcgdGhhdCB0aGUgc3VtdGNpdGEgZG9lcyBub3Qg YXBwbHksIGFzIGluOiAnJ21pIGRhcnhpIGRvIG11J2kgemknbycnIC0g4oCcSSBoaXQgeW91LCB3 aXRoIG9yIHdpdGhvdXQgbW90aXZhdGlvbi7igJ0KCgoKVGhlbiB0aGVyZSBpcyB0aGUgd29yZCAn J2phaScnLiBJdCdzIG9uZSBvZiB0aG9zZSBjb29sLCBzbWFsbCB3b3JkcyB3aGljaCBhcmUgaGFy ZCB0byBncmFzcCwgYnV0IGVhc3kgdG8gd29yayB3aXRoIG9uY2UgeW91IGtub3cgaXQuIEl0IGhh cyB0d28gZGlzdGluY3QsIGJ1dCBzaW1pbGFyIGZ1bmN0aW9ucy4gQm90aCBoYXZlIHNvbWV0aGlu ZyB0byBkbyB3aXRoIGNvbnZlcnRpbmcgdGhlIHNlbGJyaSwgbGlrZSAnJ3NlJycgZG9lcy4KCl9f JydqYWknJ19fIFNlbGJyaSBjb252ZXJzaW9uOiBDb252ZXJ0cyBzdW10Y2l0YSBvciB1bnNwZWNp ZmllZCBhYnN0cmFjdGlvbiB0byB4MS4gVXNlIHdpdGggJydmYWknJwoKX18nJ2ZhaScnX18gTWFy a3Mgc3VtdGkgcGxhY2UuIFdvcmtzIGxpa2UgJydmYScnLiBUbyBiZSB1c2VkIHdpdGggJydqYWkn Jy4KClRoZSBmaXJzdCBncmFtbWF0aWNhbCBjb25zdHJ1Y3Rpb24gaXQgY2FuIG1ha2UgaXMgIicn amFpJycge3N1bXRjaXRhfSB7c2VsYnJpfSIuIEl0IGNoYW5nZXMgdGhlIHN1bXRpIHBsYWNlcyBz dWNoIHRoYXQgdGhlIHN1bXRpIHBsYWNlIG9mIHRoZSBzdW10Y2l0YSBiZWNvbWVzIHRoZSBzZWxi cmkncyB4MSwgYW5kIHRoZSBzZWxicmkncyBvbGQgeDEgaXMgcmVtb3ZlZCwgYW5kIG9ubHkgYWNj ZXNzaWJsZSBieSB1c2luZyAnJ2ZhaScnLCB3aGljaCB3b3JrcyBsaWtlICcnZmEnJy4gWW91IGNh biBzZWUgaXQgd2l0aCB0aGlzIGV4YW1wbGU6CgpfXycnZ2F1JydfXyAtIHN1bXRjaXRhIChmcm9t ICcnZ2FzbnUnJykg4oCcYnJpZGkgaGFzIGJlZW4gYnJvdWdodCBhYm91dCBieS93aXRoIGFjdGl2 ZSBhZ2VudCB7c3VtdGl94oCdCgonJ2RvIGphaSBnYXUganVuZGkgdGkgZmFpIG1pJycuIC0g4oCc WW91IGJyaW5nIGFib3V0IGF0dGVudGlvbiB0byB0aGlzIGJ5IG1l4oCdLiBUaGUgbmV3IHNlbGJy aSwgJydqYWkgZ2F1IGp1bmRpJycsIGhhcyB0aGUgcGxhY2Ugc3RydWN0dXJlIG9mIOKAnHgxIGJy aW5ncyBhYm91dCBhdHRlbnRpb24gcGFpZCB0byB4MuKAnS4gVGhlc2UgYXJlIHRoZW4gZmlsbGVk IGJ5ICcnZG8nJyBhbmQgJyd0aScnLiBUaGUgJydmYWknJyB0aGVuIG1hcmtzIHRoZSBwbGFjZSBm b3IgdGhlIG9sZCB4MSwgdGhlIG9uZSB3aG8gd2FzIHBheWluZyBhdHRlbnRpb24sIGFuZCBpdCBp cyBmaWxsZWQgd2l0aCAnJ21pJycuIFRoaXMgd29yZCBjYW4gYmUgdmVyeSBjb252ZW5pZW50IGFu ZCBoYXMgdG9ucyBvZiB1c2VzLiBBIGdvb2QgZXhhbXBsZSBpcyBkZXNjcmlwdGl2ZS1saWtlIHN1 bXRpLiBPbmUgY2FuLCBmb3IgaW5zdGFuY2UsIHJlZmVyIHRvIOKAnHRoZSBtZXRob2Qgb2Ygdm9s aXRpb25hbCBhY3Rpb27igJ0gYnkgJydsbyBqYWkgdGEnaSB6dWt0ZScnLgoKX18nJ3RhJ2knJ19f OiBzdW10Y2l0YSAoZnJvbSAnJ3RhZGppJycpIOKAnEJyaWRpIGlzIGRvbmUgd2l0aCB0aGUgbWV0 aG9kIG9mIHtzdW10aX3igJ0KCkNhbiB5b3UgZGVkdWNlIHdoYXQgdGhlIG9yZGluYXJ5IExvamJh biBwaHJhc2UgJydkbyBqYWkgZ2F1IG1vJycgbWVhbnM/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6 4oCcV2hhdCBhcmUgeW91IGRvaW5nP+KAnX5+CgoKClRoZSBvdGhlciBmdW5jdGlvbiBvZiAnJ2ph aScnIGlzIGVhc2llciB0byBleHBsYWluLiBJdCBzaW1wbHkgY29udmVydHMgdGhlIHNlbGJyaSBz dWNoIHRoYXQgdGhlIHN1bXRpIGluIHRoZSB4MSBnZXRzIGEgJyd0dSdhJycgaW4gZnJvbnQgb2Yg aXQgKCcna28nYSBqYWkgYnJvZGEnJyBfXz1fXyAnJ3R1J2Ega28nYSBicm9kYScnKS4gSW4gb3Ro ZXIgd29yZHMsIGl0IGNvbnZlcnRzIHRoZSBzZWxicmkgaW4gYSB3YXkgc3VjaCB0aGF0IGl0IGJ1 aWxkcyBhbiBlbGxpcHRpY2FsIGFic3RyYWN0aW9uIGZyb20gdGhlIHN1bXRpIGluIHRoZSB4MSwg YW5kIHRoZW4gZmlsbHMgeDEgd2l0aCB0aGUgYWJzdHJhY3Rpb24gaW5zdGVhZCBvZiB0aGUgYWN0 dWFsIHN1bXRpLiBBZ2FpbiwgdGhlIG9yaWdpbmFsIHN1bXRpIHBsYWNlIGlzIGFjY2Vzc2libGUg YnkgJydmYWknJy4KCkEgdmVyeSBhY3RpdmUgTG9qYmFuIElSQy11c2VyIG9mdGVuIHNheXMgJyds ZSBnZXJrdSBwZSBkbyBqYWkgc2Ugc3RpZGkgbWknJywgdG8gdXNlIGEgcmFuZG9tIGV4YW1wbGUg b2YgYSBzdW10aSBpbiB4MS4gV2hhdCdzIGhlIHNheT8KCl9fJydzdGlkaScnX18geDEgaW5zcGly ZXMvc3VnZ2VzdHMgeDIgaW4vdG8geDPigJ0KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxJIHN1 Z2dlc3QgKHNvbWV0aGluZyBhYm91dCkgeW91ciBkb2cu4oCdfn4KCgoKU28gZmFyIHlvdSd2ZSBs ZWFybmVkIGhvdyB0byBjb252ZXJ0IGJyaWRpIHRvIHNlbGJyaSwgc2VsYnJpIHRvIHN1bXRpLCBh bmQgc2VsYnJpIGludG8gYnJpZGksIHNpbmNlIGFsbCBzZWxicmkgYnkgdGhlbXNlbHZlcyBhcmUg YWxzbyBicmlkaS4gWW91IG9ubHkgbmVlZCBvbmUgbGFzdCBmdW5jdGlvbjogY29udmVydCBzdW10 aSB0byBzZWxicmkuIFRoaXMgaXMgZG9uZSB3aXRoIHRoZSB3b3JkICcnbWUnJy4gSXQgYWNjZXB0 cyBhIHN1bXRpIGFuZCBjb252ZXJ0cyBpdCBpbnRvIGEgc2VsYnJpIHdpdGggdGhlIHBsYWNlIHN0 cnVjdHVyZSDigJx4MSBpcyBzcGVjaWZpYyB0byB7c3VtdGl9IGluIHByb3BlcnR5L2FzcGVjdCB4 MuKAnS4KCl9fJydtZScnX186IEdlbmVyaWMgY29udmVydCBzdW10aSB0byBzZWxicmkuIHgxIGlz IHNwZWNpZmljIHRvIFNVTVRJIGluIHByb3BlcnR5L2FzcGVjdCB4MgoKCgpXaGVuIHNjcmV3aW5n IGEgc2VudGVuY2UgdXAsIGtub3dpbmcgaG93IHRvIGNvcnJlY3QgeW91cnNlbGYgaXMgYSBnb29k IGlkZWEuIFRoZXJlIGFyZSB0aHJlZSB3b3JkcyBpbiBMb2piYW4gd2hpY2ggeW91IGNhbiB1c2Ug dG8gZGVsZXRlIHlvdXIgcHJldmlvdXMgd29yZChzKQoKX18nJ3NpJydfXyAtIGRlbGV0aW9uOiBE ZWxldGVzIGxhc3Qgd29yZCBvbmx5LgoKX18nJ3NhJydfXyAtIGRlbGV0aW9uOiBEZWxldGVzIGJh Y2sgdW50aWwgbmV4dCBjbWF2byBzcG9rZW4uCgpfXycnc3UnJ19fIC0gZGVsZXRpb246IERlbGV0 ZXMgZW50aXJlIGRpc2NvdXJzZS4KClRoZSBmdW5jdGlvbiBvZiB0aGVzZSB3b3JkcyBhcmUgb2J2 aW91czogVGhleSBkZWxldGUgd29yZHMgYXMgaWYgdGhleSBoYXZlIG5ldmVyIGJlZW4gc3Bva2Vu LiBUaGV5IGRvIG5vdCB3b3JrIGluc2lkZSBjZXJ0YWluIHF1b3RlcyAoYWxsIHF1b3RlcyBleGNl cHQgJydsdS4ubGkndScnKSwgdGhvdWdoLCBhcyB0aGF0IHdvdWxkIGxlYXZlIGl0IGltcG9zc2li bGUgdG8gcXVvdGUgdGhlc2Ugd29yZHMuIFNldmVyYWwgJydzaScnIGluIGEgcm93IGRlbGV0ZXMg c2V2ZXJhbCB3b3Jkcy4KCgoKCgohIUxvamJhbiBMZXNzb25zIC0gTGVzc29uIGVpZ2h0ZWVuIChx dW90ZXMpCgpPbmUgb2YgdGhlIGtleSBkZXNpZ24gZmVhdHVyZXMgb2YgTG9qYmFuIGlzIHRoYXQg aXQncyBzdXBwb3NlZCB0byBiZSBhdWRpby12aXN1YWwgaXNvbW9ycGhpYywgbWVhbmluZyB0aGF0 IGV2ZXJ5dGhpbmcgZXhwcmVzc2VkIGluIHRleHQgc2hvdWxkIGFsc28gYmUgZXhwcmVzc2VkIGlu IHNwZWVjaCBhbmQgdmljZSB2ZXJzYS4gVGhlcmVmb3JlLCB0aGVyZSBjYW5ub3QgYmUgYW55IHB1 bmN0dWF0aW9uIHdoaWNoIGlzIG5vdCBwcm9ub3VuY2VkLiBUaGlzIG1lYW5zIHRoYXQgTG9qYmFu IGhhcyBhIHdpZGUgcmFuZ2Ugb2Ygd29yZHMgdG8gcXVvdGUgb3RoZXIgd29yZHMuIEFsbCBMb2pi YW4gcXVvdGVzIHRha2Ugc29tZSBpbnB1dCBvZiB0ZXh0IGFuZCBjb252ZXJ0cyBpdCB0byBhIHN1 bXRpLiBMZXQncyBiZWdpbiB3aXRoIHRoZSBtb3N0IHNpbXBsZToKCgoKX18nJ2x1JydfXyBRdW90 ZSB3b3JkOiBCZWdpbiBxdW90ZSBvZiBncmFtbWF0aWNhbCBMb2piYW4gY29udGVudAoKX18nJ2xp J3UnJ19fIFF1b3RlIHdvcmQ6IEVuZCBxdW90ZSBvZiBncmFtbWF0aWNhbCBMb2piYW4gY29udGVu dAoKCgpUaGUgdGV4dCBpbnNpZGUgdGhpcyBjb25zdHJ1Y3QgbXVzdCBieSBpdHNlbGYgYmUgZ3Jh bW1hdGljYWwuIEl0IGNhbiBxdW90ZSBhbGwgTG9qYmFuIHdvcmRzIHdpdGggc29tZSBmZXcgZXhj ZXB0aW9ucywgbW9zdCBub3RhYmx5LCBvYnZpb3VzbHksICcnbGkndScnLgoKCgpUcnkgdG8gdHJh bnNsYXRlIHRoZSBmb2xsb3dpbmcgc2VudGVuY2UuIFRha2UgeW91ciB0aW1lLgoKJydtaSBzdGlk aSBsbyBkcmF0YSBiZSB0dSdhIGx1IGtvIGphaSBnYXUgbW8gbGkndScnCgpfXycnZHJhdGEnJ19f IHgxIGlzIGRpZmZlcmVudCBmcm9tIHgyIGJ5IHN0YW5kYXJkCgoKCkFuc3dlcjogfn5ncmV5LGdy ZXk64oCcSSBzdWdnZXN0IHNvbWV0aGluZyBkaWZmZXJlbnQgdGhhbiBzb21ldGhpbmcgYWJvdXQg 4oCca28gamFpIGdhdSBtb+KAnS7igJ1+fgoKCgpUaGVzZSBxdW90ZSB3b3JkcyBjYW5ub3QgcXVv dGUgdW5ncmFtbWF0aWNhbCB0ZXh0LiBUaGlzIGlzIHNvbWV0aW1lcyB1c2VmdWwsIHdoZW4geW91 IHdhbnQgdG8gb25seSBwaWNrIG91dCBwYXJ0IG9mIGEgc2VudGVuY2UsIGFzIGluOiDigJwgaXMg 4oCcZ2knZeKAnSBhIExvamJhbiBzdW10Y2l0YT/igJ0KCgoKRm9yIHRoaXMsIHlvdSBuZWVkIHRo ZXNlIHR3byBjbWF2bwoKX18nJ2xvJ3UnJ19fIFF1b3RlIHdvcmQ6IEJlZ2luIHF1b3RlIG9mIHVu Z3JhbW1hdGljYWwgYnV0IExvamJhbiBjb250ZW50CgpfXycnbGUndScnX18gUXVvdGUgd29yZDog RW5kIHF1b3RlIG9mIHVuZ3JhbW1hdGljYWwgYnV0IExvamJhbiBjb250ZW50CgoKClRoZSB0ZXh0 IGluc2lkZSBtdXN0IGJlIExvamJhbiB3b3JkcywgYnV0IG5lZWQgbm90IGJlIGdyYW1tYXRpY2Fs LiBUcnkgdG8gdHJhbnNsYXRlIHRoZSBhYm92ZSBleGFtcGxlICh0aGUgb25lIHdpdGggJydnaSdl JycpIGludG8gTG9qYmFuCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6Jyd4dSBsbyd1IGdpJ2UgbGUn dSBsb2pibyBzdW10Y2l0YScnfn4KCgoKVGhpcyBxdW90ZSBjYW4gYmUgdXNlZCB0byBxdW90ZSBh bGwgTG9qYmFuIHdvcmRzIGV4Y2VwdCAnJ2xlJ3UnJy4gSG93ZXZlciwgdGhpcyBpcyBub3QgZW5v dWdoLiBJZiB3ZSB3YW50IHRvIHRyYW5zbGF0ZSDigJxpcyDigJ1kbyBtb+KAnSBhIGNvcnJlY3Qg dHJhbnNsYXRpb24gb2Yg4oCcV2hhdCdzIHVwP+KAneKAnSwgd2UgbWlnaHQgYmUgc2xpZ2h0bHkg d3JvbmcgYWJvdXQgd2hhdCB3ZSBoZXJlIHN0YXRlLCBzaW5jZSAnJ2RvIG1vJycgYWxzbyBjYW4g bWVhbiDigJxXaGF0IGFyZSB5b3U/4oCdLCBidXQgbGV0J3Mgcm9sbCB3aXRoIGl0IGZvciBhIHNl Y29uZC4gV2hhdCB3ZSBuZWVkIGhlcmUgaXMgdGhlIHdvcmQgJyd6b2knJy4KCgoKJyd6b2knJyBO ZXh0IGNtYXZvIGlzIGJlZ2luIGFsbC1wdXJwb3NlIHF1b3RlIGFuZCBjbG9zZSBhbGwtcHVycG9z ZSBxdW90ZS4KCgoKV2hlbiB1c2luZyAnJ3pvaScnLCB5b3UgcGljayBhbnkgbW9ycGhvbG9naWNh bGx5IGNvcnJlY3QgbG9qYmFuIHdvcmQgYXQgd2lsbCAoY2FsbGVkIHRoZSBkZWxpbWl0ZXIpLCB3 aGljaCB0aGVuIG9wZW5zIGEgcXVvdGUuIFRvIGNsb3NlIGl0LCB1c2UgdGhhdCB3b3JkIGFnYWlu LiBUaGlzIHdheSwgeW91IGNhbiBxdW90ZSBhbnl0aGluZyBleGNlcHQgdGhlIGRlbGltaXRlciwg d2hpY2ggc2hvdWxkbid0IGJlIGEgcHJvYmxlbSBiZWNhdXNlIHlvdSBjYW4gcGljayBpdCB5b3Vy c2VsZi4gVXN1YWxseSwgdGhlIHdvcmQgcGlja2VkIGlzIGVpdGhlciAnJ3pvaScnIGl0c2VsZiwg b3IgYSBsZXR0ZXIgd2hpY2ggc3RhbmRzIGZvciB0aGUgbGFuZ3VhZ2Ugd2hpY2ggdGhlIHF1b3Rl IGlzIHdyaXR0ZW4gaW4uIEV4YW1wbGU6IOKAnEkgbGlrZWQgVGhlIFBoYW50b20gb2YgdGhlIE9w ZXJh4oCdIGlzICcnbWkgcHUgbmVsY2kgbGEnZSB6b2kgem9pLiBUaGUgUGhhbnRvbSBvZiB0aGUg T3BlcmEgLnpvaScnIE5vdGljZSB0d28gdGhpbmdzOiBGaXJzdGx5LCBJIG5lZWQgYSAnJ2xhJ2Un Jywgc2luY2UgSSBkaWRuJ3QgbGlrZSB0aGUgcXVvdGUsIGJ1dCByYXRoZXIgd2hhdCBpdCByZWZl cnJlZCB0by4gU2Vjb25kbHksIGJldHdlZW4gdGhlIGNob3NlbiBkZWxpbWl0ZXIgYW5kIHRoZSBx dW90ZSwgdGhlcmUgYXJlIHBhdXNlcywgb3B0aW9uYWxseSByZXByZXNlbnRlZCBieSBhIGZ1bGwg c3RvcCBpbiB3cml0aW5nLiBUaGlzIHBhdXNlIGlzIG5lY2Vzc2FyeSB0byBjb3JyZWN0bHkgaWRl bnRpZnkgdGhlIGRlbGltaXRlci4KCgoKVHJ5IHRvIHRyYW5zbGF0ZSB0aGUgYWJvdmUgc2VudGVu Y2UgY29uY2VybmluZyDigJxXaGF0J3MgdXA/4oCdCgoKCl9fJydkcmFuaScnX18geDEgaXMgY29y cmVjdC9wcm9wZXIgaW4gYXNwZWN0IHgyIGluIHNpdHVhdGlvbiB4MyBieSBzdGFuZGFyZCB4NAoK CgpBbnN3ZXI6IH5+Z3JleSxncmV5OicneHUgbHUgZG8gbW8gbGkndSBkcmFuaSB4ZSBmYW52YSB6 b2kgZ3kuIFdoYXQncyB1cD8gLmd5JycuIEhlcmUgdGhlIGRlbGltaXRlciAnJ2d5JycgaXMgY2hv c2VuIGJlY2F1c2UgaXQncyBzaG9ydCBmb3IgJydnbGljbycnLCBtZWFuaW5nICJFbmdsaXNoIn5+ CgoKCkNsb3NlbHkgYW5hbG9nb3VzbHksIHRoZXJlIGlzICcnbGEnbycnLiBJdCB3b3JrcyBleGFj dGx5IGxpa2UgJyd6b2knJywgYnV0IHR1cm5zIHRoZSByZXN1bHRpbmcgcXVvdGUgaW50byBhIG5h bWUuIEl0IGlzIG5lZWRlZCBiZWNhdXNlIG5vcm1hbGx5LCBvbmx5IHNlbGJyaSBhbmQgY21ldmxh IGNhbiBiZSBuYW1lcywgbm90IHF1b3Rlcy4KCl9fJydsYSdvJydfXyBOZXh0IGNtYXZvIGlzIGJl Z2luIGFsbC1wdXJwb3NlIHF1b3RlIGFuZCBjbG9zZSBhbGwtcHVycG9zZSBxdW90ZSDigJMgdXNl IGFzIG5hbWUuCgoKCkxhc3Qgb2YgdGhlIG9mZmljaWFsIHF1b3RlIHdvcmRzLCB0aGVyZSBpcyAn J3pvJycuICcnem8nJyBhbHdheXMgcXVvdGVzIHRoZSBuZXh0IExvamJhbiB3b3JkLCBubyBtYXR0 ZXIgd2hhdCBpdCBpcy4gSXQncyBwcmV0dHkgaGFuZHkuCgonJ3pvJycgUXVvdGUgbmV4dCBMb2pi YW4gd29yZCwgbm8gbWF0dGVyIHdoYXQuCgpFeGFtcGxlOiAnJ3pvIHpvIHpvJ28gcGxpeGF1Jycg PSDigJwg4oCcem/igJ0gaXMgdXNlZnVsLCBoZWhl4oCdCgpfXycnem8nbycnX18gYXR0aXR1ZGlu YWw6IGRpc2N1cnNpdmU6IEh1bW9yb3VzbHksIOKAnGtpZGRpbmcgeW914oCdCgpfXycncGxpeGF1 JydfXyB4MSBpcyB1c2VmdWwgZm9yIHgyIHRvIGRvIHB1cnBvc2UgeDMKCgoKTG9qYmFuIHVzZXJz IGhhdmUgZm91bmQgaXQgdXNlZnVsIHRvIHN1cHBsZW1lbnQgd2l0aCBmb3VyIGFkZGl0aW9uYWwg cXVvdGUgd29yZHMuIFRoZXkgYXJlIGFsbCBleHBlcmltZW50YWwsIGFuZCB0aGUgZm9ybWFsIGdy YW1tYXIgZG9lcyBub3Qgc3VwcG9ydCBpdC4gTm9uZXRoZWxlc3MsIHRoZXkgYXJlIHVzZWQgb2Z0 ZW4sIGFuZCBpdCdzIGdvb2QgdG8gYmUgYWJsZSB0byByZWNvZ25pemUgdGhlbS4gVGhlIG1vc3Qg dXNlZCBpczoKCgoKX18nJ3pvJ29pJydfXyBRdW90ZSBuZXh0IHdvcmQgb25seS4gTmV4dCB3b3Jk IGlzIGlkZW50aWZpZWQgYnkgcGF1c2VzIGluIHNwZWVjaCBvciB3aGl0ZXNwYWNlIGluIHdyaXRp bmc6CgoKCkV4YW1wbGU6ICcncmkgcHUgY3Vza3Ugem8nb2kgRG9oISAudSdpJycg4oCcSGEgaGEs IGhlIHNhaWQg4oCcRG9oIeKAnSDigJwKCgoKSXQncyB2ZXJ5IGVhc3kgdG8gdXNlLiBBZ2Fpbiwg bm90ZSB0aGF0IGFsbCBncmFtbWFyIGJvdHMgd2lsbCBjb25zaWRlciB0aGUgc2VudGVuY2Ugbm90 IGdyYW1tYXRpY2FsLCBiZWNhdXNlIHRoZXNlIHdvcmRzIGRvIG5vdCBleGlzdCBpbiB0aGUgZm9y bWFsIGdyYW1tYXIuCgoKCkFuYWxvZ291cyB0byAnJ3pvJ29pJycgYW5kICcnbGEnbycnLCB0aGVy ZSBpcyBhbHNvIHRoZSB3b3JkICcnbGEnb2knJywgd2hpY2ggd29ya3MganVzdCBsaWtlICcnem8n b2knJywgYnV0IHRyZWF0cyB0aGUgcXVvdGUgYXMgYSBuYW1lOgoKX18nJ2xhJ29pJydfXyBRdW90 ZSBuZXh0IHdvcmQgb25seSwgdXNlIGFzIG5hbWUuIE5leHQgd29yZCBpcyBpZGVudGlmaWVkIGJ5 IHBhdXNlcyBpbiBzcGVlY2ggb3Igd2hpdGVzcGFjZSBpbiB3cml0aW5nOgoKCgpIb3cgd291bGQg eW91IHNheTog4oCcTXkgRW5nbGlzaCBuYW1lIGlzIOKAnFNhZmnigJ3igJ0/CgpfXycnZ2xpY28n J19fIHgxIGlzIEVuZ2xpc2gvcGVydGFpbnMgdG8gRW5nbGlzaCBjdWx0dXJlIGluIGFzcGVjdCB4 MgoKX18nJ2NtZW5lJydfXyB4MSBpcyB0aGUgbmFtZSBvZiB4MiBhcyB1c2VkIGJ5IHgzCgoKCkFu c3dlcjogfn5ncmV5LGdyZXk6JydtaSBnbGljbyBzZSBjbWVuZSBsYSdvaSBTYWZpJycuIE5vdGlj ZSB0aGUgbmVjZXNzYXJ5IHNlLiBXZSBkb24ndCB3aGF0IHRvIHNheSB0aGF0IHdlJ3JlIGEgbmFt ZSF+fgoKCgpUaGlyZGx5LCAnJ3JhJ29pJycgcXVvdGVzIHRoZSBuZXh0IHJhZnNpLiBTaW5jZSBy YWZzaSBhcmUgbm90IHdvcmRzLCB0aGV5IHdvdWxkIHVzdWFsbHkgaGF2ZSB0byBiZSBxdW90ZWQg YnkgJyd6b2knJy4gRnVydGhlcm1vcmUsIHNldmVyYWwgcmFmc2kgYXJlIGFsc28gY21hdm8uIFRv IGF2b2lkIGNvbmZ1c2lvbiBvZiB3aGljaCBpcyBtZWFudCwgJydyYSdvaScnIGFsd2F5cyByZWZl ciB0byBhIHJhZnNpLCBhbmQgaXMgd3JvbmcgaW4gZnJvbnQgb2YgYW55IHRleHQgc3RyaW5nIHdo aWNoIGFyZSBub3QgcmFmc2kuCgoKCldoYXQgZG9lcyAnJ3JhJ29pIHp1J2UgcmFmc2kgem8genVr dGUgLmlrdSdpIHpvJ29pIHp1J2Ugc3VtdGNpdGEnJyBtZWFuPwoKX18nJ2t1J2knJ19fIGF0dGl0 dWRpbmFsOiBkaXNjdXJzaXZlOiBIb3dldmVyIC8gdGhvdWdoIChjb250cmFzdHMgdG8gc29tZXRo aW5nIHByZXZpb3VzbHkgc2FpZCkKCl9fJydyYWZzaScnX18geDEgYW4gYWZmaXggZm9yIHdvcmQv Y29uY2VwdCB4MiB3aXRoIHByb3BlcnRpZXMvb2YgZm9ybSB4MyBpbiBsYW5ndWFnZSB4NAoKCgpB bnN3ZXI6IH5+Z3JleSxncmV5OuKAnFRoZSByYWZzaSDigJx6dSdl4oCdIGlzIGEgcmFmc2kgZm9y IOKAnHp1a3Rl4oCdLiBCdXQg4oCcenUnZeKAnSBpcyBhIHN1bXRjaXRh4oCdfn4KCgoKQW5kIGZp bmFsbHkgdGhlIHVzZWZ1bCB3b3JkICcnbWEnb2knJy4gJydtYSdvaScnIHF1b3RlcyBhbnkgY21h dm8sIGJ1dCB0cmVhdHMgdGhlIHF1b3RlIGFzIGEgbmFtZSBmb3IgdGhlIHdvcmQgY2xhc3MgKHNl bG1hJ28pIHRvIHdoaWNoIHRoYXQgd29yZCBiZWxvbmdzLiBTbywgZm9yIGluc3RhbmNlLCBiYSdv IGJlbG9uZ3MgdG8gdGhlIHdvcmRjbGFzcyBjYWxsZWQgWkFoTywgc28gJydtYSdvaSBiYSdvJycg aXMgdW5vZmZpY2lhbCBMb2piYW4gZm9yIOKAnFphaE/igJ0KCgoKVHJ5IGl0IG91dC4gU2F5IHRo YXQgJydwdScnIGFuZCAnJ2JhJycgYXJlIGluIHRoZSBzYW1lIHNlbG1hJ28hCgpfXycnY21hdm8n J19fIHgxIGlzIGEgZ3JhbW1hdGljYWwgd29yZCBvZiBjbGFzcyB4MiBpbiBsYW5ndWFnZSB4MwoK CgooT25lIHBvc3NpYmxlKSBBbnN3ZXI6ICB+fmdyZXksZ3JleTonJ3pvIHB1IGNtYXZvIG1hJ29p IGJhJyd+fgoKCgoKCiEhTG9qYmFuIExlc3NvbnMgLSBMZXNzb24gbmluZXRlZW4gKG51bWJlcnMp CgpXaGVuIGxlYXJuaW5nIGEgbGFuZ3VhZ2UsIG9uZSBvZiB0aGUgdGhpbmdzIHdoaWNoIGFyZSB1 c3VhbGx5IHRhdWdodCB2ZXJ5IGVhcmx5IG9uIGlzIGhvdyB0byBjb3VudC4gVGhpcyByZWFsbHkg bWFrZXMgbGl0dGxlIHNlbnNlLCBiZWNhdXNlIGl0J3Mgbm90IG5lY2Vzc2FyeSB0byBrbm93IG51 bWJlcnMgaWYgeW91IGRvbid0IGtub3cgaG93IHRvIHNwZWFrIGFib3V0IHRob3NlIHRoaW5ncyB0 byB3aGljaCB0aGV5IGFwcGx5LiBUaGlzIGlzIHBhcnRseSB0aGUgcmVhc29uIHdoeSBJIGhhdmUg bGVmdCBpdCBmb3IgbGVzc29uIG51bWJlciBuaW5ldGVlbi4gVGhlIG90aGVyIHJlYXNvbiBpcyB0 aGF0IHdoaWxlIHRoZSBudW1iZXJzIHRoZW1zZWx2ZXMgYXJlIGVhc3kgdG8gbGVhcm4sIGhvdyB0 aGV5IGFwcGx5IHRvIHN1bXRpIGNhbiBnZXQgdmVyeSBjb25mdXNpbmcgaW5kZWVkLiBUaGF0LCBo b3dldmVyLCB3ZSB3aWxsIHNhdmUgZm9yIGEgbGF0ZXIgbGVzc29uLgoKQmVmb3JlIGxlYXJuaW5n IHRoZSB3b3JkcyB0aGVtc2VsdmVzLCB5b3Ugc2hvdWxkIGtub3cgdGhhdCBudW1iZXJzIGRvIG5v dCBoYXZlIGFueSBpbnRlcm5hbCBncmFtbWFyLiBUaGlzIG1lYW5zIHRoYXQgYW55IHJvdyBvZiBu dW1iZXIgd29yZHMgKGhlbmNlZm9ydGggcmVmZXJyZWQgdG8gYXMgYSAibnVtYmVyIHN0cmluZyIp IGFyZSB0cmVhdGVkIGlkZW50aWNhbGx5IHRvIGFueSBvdGhlciBudW1iZXIgc3RyaW5nIHRvIHRo ZSBMb2piYW4gZ3JhbW1hciwgZXZlbiBpZiB0aGUgc3RyaW5nIG1ha2VzIG5vIHNlbnNlLiBUaGVy ZWZvcmUsIG9uZSBjYW4gbmV2ZXIgYW5zd2VyIHVuYW1iaWd1b3VzbHkgd2hldGhlciBhIG51bWJl ciBjb25zdHJ1Y3QgbWFrZXMgc2Vuc2Ugb3Igbm90LiBUaGVyZSBhcmUsIGhvd2V2ZXIsIGludGVu ZGVkIHdheXMgb2YgdXNpbmcgdGhlIG51bWJlciB3b3JkcywgYW5kIGNvbmZ1c2lvbiB3aWxsIHBy b2JhYmx5IHJlc3VsdCBpZiB5b3UgZGV2aWF0ZSBmcm9tIHRoZSBzdGFuZGFyZC4KCkxlYXJuaW5n IGFsbCB0aGUgbnVtYmVyIHdvcmRzIG9mIExvamJhbiBhcmUgd2F5IGJleW9uZCB0aGUgc2NvcGUg b2YgdGhpcyBsZXNzb24sIHNvIHlvdSB3aWxsIG9ubHkgYmUgaW50cm9kdWNlZCB0byB3aGF0IGlz IG5vcm1hbGx5IHVzZWQgaW4gdGV4dC4gVGhlIHdpZGUgcmFuZ2Ugb2YgTG9qYmFuIG1hdGhlbWF0 aWNhbCBjbWF2byBhcmUgY2FsbGVkICcnbWVrc28nJyAoTG9qYmFuIGZvciAibWF0aGVtYXRpY2Fs IGV4cHJlc3Npb24iKSwgYW5kIGlzIHdpZGVseSBkaXNyZWdhcmRlZCBiZWNhdXNlIG9mIGl0cyBj b21wbGV4aXR5IGFuZCBxdWVzdGlvbmFibGUgYWR2YW50YWdlIG92ZXIgc28tY2FsbGVkIGJyaWRp IG1hdGguCgpMZXQncyBiZWdpbiB3aXRoIHRoZSBvcmRpbmFyeSBMb2piYW4gbnVtYmVycywgZnJv bSB6ZXJvIHRvIG5pbmU6Cgp8fHplcm98b25lfHR3b3x0aHJlZXxmb3VyfGZpdmV8c2l4fHNldmVu fGVpZ2h0fG5pbmUKCm5vfHBhfHJlfGNpfHZvfG11fHhhfHplfGJpfHNvfHwKCk5vdGljZSBob3cg dGhlIHZvd2VscyBhcmUgYWx0ZXJuYXRpbmcgKHdpdGggdGhlIGV4Y2VwdGlvbiBvZiAnJ25vJycp LCBhbmQgaG93IG5vIGNvbnNvbmFudCBpcyB1c2VkIGZvciB0d28gZGlnaXRzLgoKSW4gb3JkZXIg dG8gZXhwcmVzcyBudW1iZXJzIGhpZ2hlciB0aGFuIG5pbmUsIHRoZSBudW1iZXJzIGFyZSBqdXN0 IHN0cnVuZyB0b2dldGhlcjoKCicndm8gbXUgY2knJyDigJMgZm91ciBodW5kcmVkIGFuZCBmaWZ0 eSB0aHJlZSAoNDUzKQoKJydwYSBubyBubyBubyBubycnIHRlbiB0aG91c2FuZCAoMTAgMDAwKQoK VGhlcmUgaXMgYWxzbyBhIOKAnHF1ZXN0aW9uLWRpZ2l04oCdLCB3aGljaCBpcyB1c2VkIGxpa2Ug b3RoZXIgZmlsbC1pbi10aGUtYmxhbmsgcXVlc3Rpb24gd29yZHMuIEl0J3MgJyd4bycnLiBUaGUg YW5zd2VyIHRvIHN1Y2ggYSBxdWVzdGlvbiBtYXkgYmUganVzdCB0aGUgcmVsZXZhbnQgZGlnaXQo cykgYnkgaXRzZWxmLCBvciB0aGV5IGNhbiBiZSBudW1lcmljYWwgY29uc3RydWN0cywgYXMgc2hv d24gbGF0ZXIuCgonJ2NpIHhvIHhvIHhvJycg4oCTICJUaHJlZSB0aG91c2FuZCBhbmQgaG93IG1h bnk/IiAoMz8/PykKCl9fJyd4bycnX18gcXVlc3Rpb24gZGlnaXQg4oCTIHVzZSBsaWtlIGFueSBv dGhlciBkaWdpdCB0byBhc2sgZm9yIHRoZSBjb3JyZWN0IGRpZ2l0LgoKVGhlIGV4cGVyaW1lbnRh bCB3b3JkICcneG8nZScnIGlzIHNvbWV0aW1lcyB1c2VkIHRvIG1lYW4gYW4gdW5zcGVjaWZpZWQs IGVsbGlwdGljYWwgZGlnaXQuIEl0cyBkZWZpbml0aW9uIGlzIG5vdCBvZmZpY2lhbCwgdGhvdWdo LgoKJydjaSB4bydlIHhvJ2UgeG8nZScnIOKAkyBUaHJlZSB0aG91c2FuZCBhbmQgc29tZXRoaW5n CgpfXycneG8nZScnX18gZWxsaXB0aWNhbCBkaWdpdC4KClNpbmNlIGFsbCBudW1iZXIgc3RyaW5n cyBhcmUgdHJlYXRlZCBncmFtbWF0aWNhbGx5IHRoZSBzYW1lLCBvbmUgbWlnaHQgYWxzbyBhbnN3 ZXIgc2V2ZXJhbCBkaWdpdHMgdG8gb25lICcneG8nZScnCgoKCkZ1cnRoZXJtb3JlLCB0aGVyZSBp cyBhbHNvIGEgc2V0IG9mIGhleGFkZWNpbWFsIGRpZ2l0cyBBIHRocm91Z2ggRi4gQnkgZGVmYXVs dCwgTG9qYmFuIG9wZXJhdGVzIGluIGJhc2UgMTAsIGJ1dCB3aGVuIHVzaW5nIGhleGFkZWNpbWFs IGRpZ2l0cywgaXQgY2FuIGJlIHNhZmVseSBhc3N1bWVkIHRoYXQgeW91IHVzZSBiYXNlIHNpeHRl ZW46Cgp8fGRhdXxmZWl8Z2FpfGphdXxyZWl8eGVpIHx2YWl8CgoxMChBKXwxMShCKXwxMihDKXwx MyhEKXwxNChFKXwxNChFKXwxNShGKXx8CgpZZXMsIEkga25vdyB0aGVyZSBhcmUgdHdvIHdvcmRz IGZvciBFLiBUaGUgb2ZmaWNpYWwgb25lIGlzICcncmVpJycgKGFsbCB0aHJlZS1sZXR0ZXIgY21h dm8gYmVnaW5uaW5nIHdpdGggeCBpcyBleHBlcmltZW50YWwpLiAnJ3hlaScnIHdhcyBpbnZlbnRl ZCB0byBhdm9pZCBjb25mdXNpb24gd2l0aCAnJ3JlJycuCgpUaGUgYmFzZSBjYW4gYmUgZXhwbGlj aXRseSBzdGF0ZWQgdXNpbmcgJydqdSd1Jyc6IEFueSBudW1iZXIgYmVmb3JlICcnanUndScnIHRo ZSBudW1iZXIgYmVpbmcgc3Bva2VuIG9mLCBhbnkgbnVtYmVyIGFmdGVyIGlzIHRoZSBiYXNlIG9m IHRoZSBudW1iZXI6CgonJ2RhdSBzbyBmZWkgbm8ganUndSBwYSByZScnIOKAkyBBOUIwIGluIGJh c2UgMTIgKG5vdGljZSBoZXJlIHRoYXQgYmFzZSAxMiBpcyBhbHdheXMgaW4gZGVjaW1hbC4gSXQg aXMgcG9zc2libGUgdG8gcGVybWFuZW50bHkgY2hhbmdlIHRoZSBiYXNlIHlvdSBzcGVhayBpbiwg YnV0IHNpbmNlIGl0IGhhcyBuZXZlciBiZWVuIHVzZWQgaW4gcHJhY3RpY2UsIGl0IGhhcyBub3Qg YmVlbiBzdGFuZGFyZGl6ZWQgaG93IG9uZSBzaG91bGQgZG8gaXQpCgpGcmFjdGlvbnMgYXJlIGFs c28gdXNlZnVsIHRvIGxlYXJuIGhvdyB0byBleHByZXNzLiBUaGV5IGFyZSB1c3VhbGx5IGV4cHJl c3NlZCB2aWEgYSBkZWNpbWFsIHBvaW50LCAnJ3BpJycuCgpfXycncGknJ19fIERlY2ltYWwgcG9p bnQgKG9yIHBvaW50IGluIHdoaWNoZXZlciBiYXNlIHlvdSBhcmUgdGFsa2luZyBpbikKCicncGEg cmUgcGkgcmUgbXUnJyDigJMgdHdlbHZlIHBvaW50IHR3byBmaXZlICgxMi4yNSkuIAoKTGlrZSBp biBtYXRoZW1hdGljcywgd2hlbiBubyBudW1iZXIgc3RyaW5nIGlzIHBsYWNlZCBiZWZvcmUgb3Ig YWZ0ZXIgJydwaScnLCB6ZXJvIGlzIGFzc3VtZWQuIAoKUmVsYXRlZCB0byB0aGlzLCB0aGUgbnVt YmVyIHNlcGFyYXRvciAnJ3BpJ2UnJyBpcyB1c2VkIHRvIHNlcGFyYXRlIG51bWJlcnMsIGVpdGhl ciB0byBzZXBhcmF0ZSBkaWdpdHMgd2hlbiBzcGVha2luZyBpbiBhIGJhc2UgbGFyZ2VyIHRoYW4g c2l4dGVlbiwgb3Igd2hlbiBhIGRlY2ltYWwgcG9pbnQgaXMgbm90IGFwcGxpY2FibGUsIGZvciBp bnN0YW5jZSwgd2hlbiB0YWxraW5nIGFib3V0IHRpbWUgaW4gaG91cnMsIG1pbnV0ZXMsIHNlY29u ZHM6CgonJ3BhIHNvIHBpJ2UgcmUgbXUgcGknZSBubyBqdSd1IHJlIHplJycg4oCTIE5pbmV0ZWVu LCB0d2VudHktZml2ZSwgemVybyBpbiBiYXNlIDI3IChKUDAgYmFzZSAyNykKCicncmUgcmUgcGkn ZSB2byBiaScnIOKAkyB0d2VudHktdHdvLCBmb3VydHkgZWlnaHQgKDIyOjQ4KQoKCgpUaGVyZSBp cyBhbHNvIGEgcmFuZ2Ugb2YgbnVtYmVyIHdvcmRzIHdoaWNoIGFyZSBub3QgbWF0aGVtYXRpY2Fs bHkgZXhhY3QgYnV0IHJhdGhlciBzdWJqZWN0aXZlIG9yIHJlbGF0aXZlLiBUaGUgYmVoYXZpb3Jz IG9mIHRoZXNlIHdvcmRzIGFyZSBhbG1vc3QgZXhhY3RseSBsaWtlIHRoZSBiZWhhdmlvciBvZiBk aWdpdHMsIGV4Y2VwdCB0aGV5IGNhbm5vdCBiZSBjb21iaW5lZCB0byBtYWtlIGJpZ2dlciBudW1i ZXJzIHRoZSB3YXkgZGlnaXRzIGNhbjoKCnx8IHJvfHNvJ2F8c28nZXxzbydpfHNvJ298c28ndXwK CmFsbHxhbG1vc3QgYWxsfG1vc3R8bWFueXxzb21lfGZld3x8CgpXaGVuIGNvbWJpbmVkIHdpdGgg YW55IG9mIHRoZSBkaWdpdHMsIHRoZXNlIHdvcmRzIGFyZSBhc3N1bWVkIHRvIGdpdmUgYSBzZWNv bmQgdmVyZGljdCBhYm91dCB0aGUgc2l6ZSBvZiB0aGUgbnVtYmVyOgoKJydtdSBiaSBzbydpIHNh aScnIOKAk0ZpZnR5IGVpZ2h0LCB3aGljaCBpcyByZWFsbHkgbWFueS4KClRoZXkgc2hvdWxkIHRo ZXJlZm9yZSBub3QgYmUgcGxhY2VkIGluIHRoZSBtaWRkbGUgb2YgYSBudW1iZXIgc3RyaW5nLiBX aGVuIHBsYWNlZCBhZnRlciAnJ3BpJycsIHRoZXkgYXJlIGFzc3VtZWQgdG8gY29udmV5IHRoZSBz aXplIG9mIGEgZnJhY3Rpb246CgonJ3BpIHNvJ3UnJyDigJMgYSBzbWFsbCBwYXJ0IG9mIGl0Cgon J3BpIHNvJ28nJyDigJMgc29tZSBvZiBpdCAKCicncGkgc28naScnIOKAkyBhIGxhcmdlIHBhcnQg b2YgaXQgCgonJ3BpIHNvJ2UnJyDigJMgbW9zdCBvZiBpdAoKJydwaSBzbydhJycg4oCTIGFsbW9z dCBhbGwgb2YgaXQKCgoKVGhlc2UgYXJlIHNvbWUgaGlnaHRseSBzdWJqZWN0aXZlIG51bWJlcnMg LSB0aGV5IHdvcmsganVzdCBsaWtlIHRoZSBwcmV2aW91cyBvbmVzLgoKfHxkdSdlfG1vJ2F8cmF1 Cgp0b28gbWFueXx0b28gZmV3fGVub3VnaHx8CgpUaGUgZm9sbG93aW5nIGZpdmUgYXJlIGNvbnRl eHQtYmFzZWQgbnVtYmVycyDigJMgdGhlc2Ugd29yayBsaWtlIHRoZSBwcmV2aW91cyBvbmVzLCB3 aXRoIHRoZSBleGNlcHRpb24gdGhhdCB0aGV5IHRha2UgdGhlIG5leHQgbnVtYmVyIGluIG9yZGVy IHRvIGFzc2lnbiB0aGVtIG1lYW5pbmc6Cgp8fGRhJ2F8c3UnZXxzdSdvfHphJ3V8bWUnaQoKYWxs IGV4Y2VwdCBuIHxBdCBtb3N0IG58QXQgbGVhc3Qgbnxtb3JlIHRoYW4gbnxsZXNzIHRoYW4gbnx8 CgpJZiBubyBudW1iZXIgc3RyaW5nIGZvbGxvdyB0aGVtLCDigJxvbmXigJ0gaXMgYXNzdW1lZC4K Cicnc28naSBwYSByZSBkYSdhIG11Jycg4oCTIE1hbnksIHdoaWNoIGlzIHR3ZWx2ZSwgd2hpY2gg aXMgYWxsIGJ1dCBmaXZlLgoKVGhlIHR3byBsYXN0IG51bWJlciB3b3JkcyB5b3Ugc2hvdWxkIGtu b3cgaGF2ZSBzbGlnaHRseSBtb3JlIGNvbXBsaWNhdGVkIGdyYW1tYXI6CgpfXycnamknaScnX18g LSBudW1iZXIgcm91bmRpbmcgb3IgbnVtYmVyIGFwcHJveGltYXRpb24KCldoZW4gJydqaSdpJycg aXMgcGxhY2VkIGJlZm9yZSBhIG51bWJlciwgdGhlIGVudGlyZSBudW1iZXIgaXMgYXBwcm94aW1h dGVkOgoKJydqaSdpIHplIHphJ3UgcmF1IGp1J28nJyDigJMgIkFib3V0IHNldmVudHksIHdoaWNo IGlzIG1vcmUgdGhhbiBlbm91Z2gsIGNlcnRhaW5seeKAnQoKUGxhY2VkIGluIHRoZSBtaWRkbGUg b2YgdGhlIG51bWJlciwgb25seSB0aGUgZm9sbG93aW5nIGRpZ2l0cyBhcmUgbm9uLWV4YWN0LiBB dCB0aGUgZW5kIG9mIGEgbnVtYmVyLCBpdCBzaWduaWZpZXMgdGhhdCB0aGUgbnVtYmVyIGhhcyBi ZWVuIHJvdW5kZWQgb2ZmLiAKCl9fJydraSdvJydfXyBOdW1iZXIgY29tbWEgIC0gc2VwYXJhdGVz IGRpZ2l0cyB3aXRoaW4gb25lIHN0cmluZzsgVGhvdXNhbmRzLgoKSXQgaXMgbm90IGluY2lkZW50 aWFsIHRoYXQgJydraSdvJycgc291bmRzIGxpa2Ug4oCca2lsb+KAnS4gQXQgaXRzIHNpbXBsZXN0 LCAnJ2tpJ28nJyBpcyB1c2VkIHRvIHNlcGFyYXRlIHRocmVlIGRpZ2l0cyBhdCBhIHRpbWUgaW4g bGFyZ2UgbnVtYmVycywgbXVjaCBsaWtlIGNvbW1hcyBhcmUgdXNlZCBpbiBFbmdsaXNoOgoKJydw YSBraSdvIHNvIHNvIHNvIGtpJ28gYmkgeGEgemUnJyDigJMgMSw5OTksODY3CgpJZiBsZXNzIHRo YW4gdGhyZWUgZGlnaXRzIGFyZSBwdXQgYmVmb3JlIGEgJydraSdvJycsIHRoZSBkaWdpdHMgYXJl IGFzc3VtZWQgdG8gYmUgdGhlIGxlYXN0IHNpZ25pZmljYW50IG9uZXMsIGFuZCB6ZXJvcyBhcmUg YXNzdW1lZCB0byBmaWxsIGluIHRoZSByZXN0OgoKJyd2byBraSdvIGNpIGJpIGtpJ28gcGEga2kn byBraSdvJycg4oCTIDQsMDM4LDAwMSwwMDAsMDAwCgonJ2tpJ28nJyBpcyB1c2VkIHNpbWlsYXJs eSBhZnRlciBhIGRlY2ltYWwgcG9pbnQuCgoKClRoYXQgY29uY2x1ZGVzIHRoZSBjb21tb24gTG9q YmFuIG51bWJlcnMgdGhlbXNlbHZlcy4gSG93IHRoZXkgYXBwbHkgdG8gc3VtdGkgaXMgYSBzY2ll bmNlIGluIGl0c2VsZiwgYW5kIHdlIGxlYXZlIHRoYXQgZm9yIGxlc3NvbiB0d2VudHktdHdvLiBO b3cgd2UgZm9jdXMgb24gaG93IHRoZXNlIG51bWJlcnMgY2FuIGJlIHVzZWQgaW4gYSBicmlkaS4K CkEgc3RyaW5nIG9mIG51bWJlciB3b3JkcyBieSB0aGVtc2VsdmVzIGFyZSBncmFtbWF0aWNhbCwg c2luY2UgdGhleSBjYW4gYWN0IGFzIGFuIGFuc3dlciB0byBhICcneG8nJy10eXBlIG9mIHF1ZXN0 aW9uLiBJbiB0aGlzIGNhc2UsIGhvd2V2ZXIsIHRoZXkgY2Fubm90IGJlIGNvbnNpZGVyZWQgcGFy dCBvZiBhbnkgYnJpZGkuIEluIGdlbmVyYWwsIGlmIG51bWJlcnMgZmlsbCBwYXJ0IG9mIGEgYnJp ZGksIHRoZXkgZG8gc28gaW4gb25lIG9mIHR3byBmb3JtczogUHVyZSBudW1iZXJzIGFuZCBxdWFu dGlmaWVycy4gV2Ugd2lsbCByZXR1cm4gdG8gcXVhbnRpZmllcnMgaW4gYSBsYXRlciBsZXNzb24u IEZvciBub3csIHdlIHdpbGwgbG9vayBhdCBwdXJlIG51bWJlcnMuCgpBIHB1cmUgbnVtYmVyIGlz IGFueSByb3cgb2YgbnVtYmVyIHdvcmRzIHByZWZpeGVkIHdpdGggJydsaScnLiBUaGlzIG1ha2Vz IGEgc3VtdGkgZGlyZWN0bHkgZnJvbSB0aGUgbnVtYmVyLCBhbmQgcmVmZXJzIHRvIHRoZSBtYXRo ZW1hdGljYWwgY29uY2VwdCBvZiwgZm9yIGluc3RhbmNlLCDigJx0aGUgbnVtYmVyIHNpeOKAnS4g SXRzIGZhJ29ybWEnbyBpcyAnJ2xvJ28nJwoKX18nJ2xpJydfXyBjb252ZXJ0IG51bWJlci9tZWtz by1leHByZXNzaW9uIHRvIHN1bXRpLgoKX18nJ2xvJ28nJ19fIGZhJ29ybWEnbzogZW5kIGNvbnZl cnQgbnVtYmVyL21la3NvLWV4cHJlc3Npb24gdG8gc3VtdGkuCgpUaGVzZSBwdXJlIHN1bXRpIGFy ZSB1c3VhbGx5IHdoYXQgZmlsbHMgdGhlIHgyIG9mIGJyaXZsYSBzdWNoIGFzICcnbWl0cmUnJyBv ciAnJ2NhY3JhJycKCl9fJydtaXRyZScnX18geDEgaXMgeDIgbWV0cmVzIGluIGRpbWVuc2lvbiB4 MyBieSBzdGFuZGFyZCB4NAoKX18nJ2NhY3JhJydfXyB4MSBpcyB4MiBob3VycyBpbiBkdXJhdGlv biAoZGVmYXVsdCAxKSBieSBzdGFuZGFyZCB4MwoKCgpUcnkgdG8gdHJhbnNsYXRlIHRoZSBmb2xs b3dpbmc6CgonJ2xlIHRhIG51IGNpbmppa2NhIGN1IGNhY3JhIGxpIGNpIGppJ2kgdSdpIG5haScn CgpBbnN3ZXI6IH5+Z3JleSxncmV5OiDigJ0qc2lnaCogVGhhdCBmbGlydGluZyBoYXMgYmVlbiBn b2luZyBvbiBmb3IgYXJvdW5kIHRocmVlIGhvdXJzLuKAnSB+fgoKSG93IGRvIHlvdSBjb3VudCB0 byB0aHJlZSBpbiBMb2piYW4/CgpBbnN3ZXI6IH5+Z3JleSxncmV5OiAnJ2xpIHBhIGxpIHJlIGxp IGNpJycgfn4KCgoKVGhlIGxhc3QgdGhpbmcgd2UnbGwgZ28gdGhyb3VnaCBpbiB0aGlzIGxlc3Nv biBpcyB0aGUgd29yZHMgb2YgdGhlIHNlbG1hJ28gTUFJIGFuZCB0aG9zZSBvZiBNT0kuCgpNQUkg b25seSBjb250YWlucyB0d28gd29yZHMsICcnbWFpJycgYW5kICcnbW8nbycnLiBCb3RoIG9mIHRo ZXNlIGNvbnZlcnQgYW55IG51bWJlciBzdHJpbmcgdG8gYW4gb3JkaW5hbCwgd2hpY2ggaGFzIHRo ZSBncmFtbWFyIG9mIGF0dGl0dWRpbmFscy4gT3JkaW5hbHMgYXJlIHVzZWQgdG8gZGl2aWRlIGEg dGV4dCBpbnRvIG51bWJlcmVkIHNlZ21lbnRzLCBsaWtlIGNoYXB0ZXJzIG9yIHBhcnRzLiBUaGUg b25seSBkaWZmZXJlbmNlIGJldHdlZW4gJydtYWknJyBhbmQgJydtbydvJycgaXMgdGhhdCAnJ21v J28nJyBxdWFudGlmaWVzIGxhcmdlciBzdWJkaXZpc2lvbnMgb2YgdGV4dCwgYWxsb3dpbmcgeW91 IHRvIGRpdmlkZSBhIHRleHQgb24gdHdvIGRpZmZlcmVudCBsZXZlbHMsIGZvciBleGFtcGxlIGVu dW1lcmF0aW5nIGNoYXB0ZXJzIHdpdGggJydtbydvJycgYW5kIHNlY3Rpb25zIHdpdGggJydtYWkn Jy4gTm90aWNlIHRoYXQgdGhlc2UgYXMgd2VsbCBhcyB0aGUgTU9JIHRha2UgYW55IG51bWJlciBz dHJpbmcgZGlyZWN0bHksIHdpdGhvdXQgYW55IG5lZWQgZm9yICcnbGknJy4KCl9fJydtYWknJ19f OiBMb3dlci1vcmRlciBvcmRpbmFsIG1hcmtlcjogQ29udmVydCBudW1iZXIgdG8gb3JkaW5hbAoK X18nJ21vJ28nJ19fOiBIaWdoZXIgb3JkZXIgb3JkaW5hbCBtYXJrZXI6IENvbnZlcnQgbnVtYmVy IHRvIG9yZGluYWwuCgoKClRoZXJlIGFyZSBmaXZlIE1PSSwgYW5kIHRoZXkgYWxsIGNvbnZlcnQg YW55IG51bWJlciBzdHJpbmcgdG8gc2VsYnJpLiBXZSdsbCB0YWtlIHRoZW0gb25lIGF0IGEgdGlt ZToKCl9fJydtb2knJ19fIC0gQ29udmVydCBudW1iZXIgbiB0byBzZWxicmk6IHgxIGlzIHRoZSBu J3RoIG1lbWJlciBvZiBzZXQgeDIgYnkgb3JkZXIgeDMKCkV4YW1wbGU6ICcnbGEgbHV0Y2ltaW4g Y2kgbW9pIGxvJ2kgbmlubXUgcGVuZG8gYmUgbWkgbGUgc3UndSBsbyBjbGFuaSB6bWFkdSBjdSBs aWRuZSBsbyBjbGFuaSBtbGVjYScnIOKAkyDigJxMdWktQ2hpIE1pbiBpcyB0aGlyZCBhbW9uZyBt eSBmZW1hbGUgZnJpZW5kcyBieSB0aGUgb3JkZXI6IFRoZSBtb3JlIHRhbGwgb25lcyBwcmVjZWRl cyB0aGUgbGVzcyB0YWxsIG9uZXPigJ0uCgooV2hlbiBzcGVjaWZ5aW5nIGEgc2VxdWVuY2UsIGl0 IGlzIHdpZGVseSB1bmRlcnN0b29kIHRoYXQgaWYgYSAnJ2thJyctYWJzdHJhY3Rpb24gKGxlc3Nv biB0d2VudHktbmluZSkgaXMgdXNlZCBhcyBhIHN1bXRpLCB0aGUgbWVtYmVycyBvZiB0aGUgc2V0 IGFyZSBvcmRlcmVkIGZyb20gdGhlIG9uZSB3aXRoIG1vc3Qgb2YgdGhlIHByb3BlcnR5IHRvIHRo ZSBvbmUgd2l0aCBsZXNzIG9mIHRoZSBwcm9wZXJ0eSwgc28gdGhlIHgzIG9mIHRoZSBmb2xsb3dp bmcgc2VudGVuY2UgY291bGQgaGF2ZSBiZWVuIHNob3J0ZW5lZCB0byAnJ2xvIGthIGNsYW5pJycp CgpfXycnbGlkbmUnJ19fIHgxIGlzIGJlZm9yZSB4MiBpbiBzZXF1ZW5jZSB4MwoKX18nJ2NsYW5p JydfXyB4MSBpcyBsb25nIGluIGRpbWVuc2lvbiB4MiBieSBzdGFuZGFyZCB4MwoKX18nJ3ptYWR1 JydfXyB4MSBleGNlZWRzIHgyIGluIHByb3BlcnR5L2FzcGVjdCB4MyBieSBhbW91bnQgeDQKCl9f JydtbGVjYScnX18geDEgaXMgbGVzcyB0aGFuL2lzIGxlc3MgY2hhcmFjdGVyaXplZCB0aGFuIHgy IGJ5IHByb3BlcnR5L2FzcGVjdCB4MyBieSBhbW91bnQgeDQKCgoKX18nJ21laScnX18gLSBDb252 ZXJ0IG51bWJlciBuIHRvIHNlbGJyaTogeDEgaXMgdGhlIG1hc3MgZm9ybWVkIGZyb20gdGhlIHNl dCB4Miwgd2hpY2ggaGFzIHRoZSBuIG1lbWJlcnMgb2YgeDMKCk5vdGljZSBoZXJlIHRoYXQgeDMg YXJlIHN1cHBvc2VkIHRvIGJlIGluZGl2aWR1YWxzLCB4MiBhIHNldCBhbmQgeDEgYSBtYXNzLgoK V2hhdCB3b3VsZCAnJ21pIGNpIG1laScnIG1lYW4/IAoKQW53ZXI6IH5+Z3JleSxncmV5OuKAnFdl IGFyZSBncm91cCBvZiB0aHJlZS7igJ1+fgoKCgpfXycnc2knZScnX18gLSBDb252ZXJ0IG51bWJl ciBuIHRvIHNlbGJyaTogeDEgaXMgbiB0aW1lcyB4MgoKRXhhbXBsZTogJydsZSB2aSBwbGlzZSBj dSBtZSdpIHBpIHBhIHNpJ2UgbGVpIG1pIGNpZGphIGJlIHplJ2EgbG8gZGplZGknJyDigJMg4oCc VGhpcyBhcHBsZSBoZXJlIGlzIGxlc3MgdGhhbiBvbmUgdGVudGggb2YgbXkgZm9vZCBmb3Igb25l IGRheeKAnQoKUGxlYXNlIG5vdGUgdGhhdCB0aGUgZGVmaW5pdGlvbiBvZiAnJ3NpJ2UnJyB3aGVu IGxvb2tlZCB1cCB3aWxsIHRlbGwgeW91IHRoYXQgaXQncyAieDEgaXMgYW4gbnRoIG9mIHgyIiwg aW5zdGVhZCBvZiAieDEgaXMgbiB0aW1lcyB4MiIuIEJ1dCBwZW9wbGUgb25seSB1c2UgaXQgYXMg SSBoYXZlIGRlZmluZWQgaXQsIHNvIHRoZSBkZWZpbml0aW9uIGluIHRoZSBkaWN0aW9uYXJpZXMg d2lsbCBwcm9iYWJseSBjaGFuZ2UuCgoKCl9fJydjdSdvJydfXyAtIENvbnZlcnQgbnVtYmVyIG4g dG8gc2VsYnJpOiB4MSBoYXMgbiBwcm9iYWJpbGl0eSBvZiBvY2N1cnJpbmcgdW5kZXIgY29uZGl0 aW9ucyB4MgoKRXhhbXBsZTogJydsbyBudSBtaSBtcm9iaSdvIGN1IHBhIGN1J28gbG8gbnUgbWkg ZGVucGEgcmknJyDigJMg4oCdQW4gZXZlbnQgb2YgbWUgZHlpbmcgaGFzIHByb2JhYmlsaXR5IDEg dW5kZXIgdGhlIGNvbmRpdGlvbnM6IEkgd2FpdCBmb3IgaXTigJ0gPSDigJ1NZSBkeWluZyBpcyBj b21wbGV0ZWx5IGNlcnRhaW4gaWYgSSB3YWl0IGxvbmcgZW5vdWdoLuKAnQoKX18nJ2RlbnBhJydf XyB4MSB3YWl0cyBmb3IgeDIsIGJlaW5nIGluIHN0YXRlIHgzIHVudGlsIHJlc3VtaW5nL2RvaW5n IHg0CgpfXycndmEnZScnX18gLSBDb252ZXJ0IG51bWJlciBuIHRvIHNlbGJyaTogeDEgaXMgYXQg dGhlIG4ndGggcG9zaXRpb24gb24gdGhlIHNjYWxlIHgyCgpFeGFtcGxlOiAnJ2xpIHBhIG5vIGN1 IHJvIHZhJ2UgbGEgdG9yaW5vbicnIOKAkyDigJwxMCBpcyB0aGUgaGlnaGVzdCB2YWx1ZSBvbiB0 aGUgVG9yaW5vLXNjYWxl4oCdCgoKCgoKISFMb2piYW4gTGVzc29ucyAtIExlc3NvbiB0d2VudHkg KGJvLCBrZSwgY28gYW5kIG1vcmUgY3V0ZW5lc3MpCgpTYXkgeW91J3JlIGFuIGltcG9ydGFudCBB bWVyaWNhbiBidXllciBvZiBjb21wdXRlcnMuIEhvdyBkbyB5b3UgZXhwcmVzcyB0aGlzPyBGb3Ig Y29uc3RydWN0cyBsaWtlIHRoZXNlLCB0YW5ydSBhcmUgaWRlYWw6ICcnbWkgdmFqbmkgbWVya28g c2thbWkgdGUgdmVjbnUnJy4gTm8gd2FpdCwgdGhhdCdzIG5vdCByaWdodC4gVGFucnUgYXJlIGdy b3VwZWQgZnJvbSBsZWZ0IHRvIHJpZ2h0LCBzbyB0aGlzIHRhbnJ1IGlzIHVuZGVyc3Rvb2Q6ICgo Jyd2YWpuaSBtZXJrbycnKSAnJ3NrYW1pJycpICcndGUgdmVjbnUnJywgYSBidXllciBvZiBjb21w dXRlcnMgZm9yIGltcG9ydGFudCBBbWVyaWNhbnMuIFlvdSBjYW4ndCBjaGFuZ2UgdGhlIG9yZGVy IG9mIHRoZSBzZWxicmkgdG8gZ2V0IGEgdXNlZnVsIHRhbnJ1LiBOZWl0aGVyIGNhbiB0aGlzIGJl IHNvbHZlZCB3aXRoIGxvZ2ljYWwgY29ubmVjdGl2ZXMsIHdoaWNoIHlvdSB3aWxsIGZpcnN0IGxl YXJuIGFib3V0IGxhdGVyIGFueXdheS4gVGhlIG9ubHkgd2F5IHRvIG1ha2UgYSBmaXR0aW5nIHRh bnJ1IGlzIHRvIGZvcmNlIHRoZSBzZWxicmkgdG8gZ3JvdXAgZGlmZmVyZW50bHkuCgoKClRvIGJp bmQgdHdvIHNlbGJyaSBjbG9zZSB0b2dldGhlciBpbiBhIHRhbnJ1LCB0aGUgd29yZCAnJ2JvJycg Y2FuIGJlIHBsYWNlZCBiZXR3ZWVuIHRoZW06ICcnbWkgdmFqbmkgYm8gbWVya28gc2thbWkgYm8g dGUgdmVjbnUnJyBpcyByZWFkICcnbWknJyAoJyd2YWpuaSBibyBtZXJrbycnKSAoJydza2FtaSBi byB0ZSB2ZWNudScnKSwgd2hpY2ggaXMgdXNlZnVsIGluIHRoaXMgY29udGV4dC4gSWYgYm8gaXMg cGxhY2VkIGJldHdlZW4gc2V2ZXJhbCBzZWxicmkgaW4gYSByb3csIHRoZXkgYXJlIGdyb3VwZWQg ZnJvbSByaWdodCB0byBsZWZ0IGluc3RlYWQgb2YgdGhlIHVzdWFsIGxlZnQgdG8gcmlnaHQ6ICcn bWkgdmFqbmkgbWVya28gYm8gc2thbWkgYm8gdGUgdmVjbnUnJyBpcyByZWFkICcndmFqbmknJyAo JydtZXJrbyBibycnICgnJ3NrYW1pIGJvIHRlIHZlY251JycpKSBhbiDigJxpbXBvcnRhbnQgKEFt ZXJpY2FuIGNvbXB1dGVyLWJ1eWVyKeKAnSwgd2hpY2ggaXMgZXZlbiBtb3JlIGFwcHJvcHJpYXRl IGluIHRoZSBzaXR1YXRpb24uCgpfXycnYm8nJ19fIEJpbmRzIHR3byBzZWxicmkgdG9nZXRoZXIg c3Ryb25nbHkuCgoKCkhvdyB3b3VsZCB5b3Ugc2F5IOKAnFRoYXQncyBhIHRhc3R5IHllbGxvdyBh cHBsZeKAnT8KCl9fJydrdWt0ZScnX18geDEgaXMgdGFzdHkgZm9yIHgyCgoKCkFuc3dlcjogfn5n cmV5LGdyZXk6Jyd0aSBrdWt0ZSBwZWx4dSBibyBwbGlzZScnfn4KCgoKV2hhdCBhYm91dCDigJ1U aGF0J3MgYSBiaWcsIHRhc3R5IHllbGxvdyBhcHBsZeKAnQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5 OicndGkgYmFyZGEga3VrdGUgYm8gcGVseHUgYm8gcGxpc2UnJ35+CgoKCkFub3RoZXIgYXBwcm9h Y2ggdG8gdGhpcyBpcyB0byB1c2UgdGhlIHdvcmRzICcna2XigKZrZSdlJycuIFRoZXNlIGNhbiBi ZSBjb25zaWRlcmVkIGFzIGVxdWl2YWxlbnQgdG8gdGhlIHBhcmVudGhlc2lzZXMgdXNlZCBpbiB0 aGUgcGFyYWdyYXBoIGFib3ZlLiAnJ2tlJycgYmVnaW5zIHN0cm9uZyBzZWxicmkgZ3JvdXBpbmcs ICcna2UnZScnIGVuZHMgaXQuCgpfXycna2UnJ19fIOKAkyBiZWdpbiBzdHJvbmcgc2VsYnJpIGdy b3VwaW5nLgoKX18nJ2tlJ2UnJ19fIOKAkyBlbmQgc3Ryb25nIHNlbGJyaSBncm91cGluZy4KClRo ZSBzdHJlbmd0aCBvZiB0aGUgYmluZGluZyBpcyB0aGUgc2FtZSBhcyB0aGF0IG9mICcnYm8nJy4g VGhlcmVmb3JlLCAnJ21pIHZham5pIG1lcmtvIGJvIHNrYW1pIGJvIHRlIHZlY251JycgY2FuIGJl IHdyaXR0ZW4gJydtaSB2YWpuaSBrZSBtZXJrbyBrZSBza2FtaSB0ZSB2ZWNudSB7a2UnZX0ge2tl J2V9JycuCgpIb3cgY291bGQgeW91IHNheSDigJxJJ20gYSBHZXJtYW4gc2VsbGVyIG9mIHllbGxv dyBob21lcz/igJ0KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ21pIGRvdGNvIGtlIHBlbHh1IHpk YW5pIHZlY251Jyd+fgoKCgpXaGlsZSB3ZSdyZSBhdCBtZXNzaW5nIHdpdGggdGhlIG9yZGluYXJ5 IHRhbnJ1IHN0cnVjdHVyZSwgdGhlcmUgaXMgYW5vdGhlciB3b3JkIHdvcnRoIHBheWluZyBhdHRl bnRpb24gdG8uIElmIEkgd2FudCB0byBzYXkgdGhhdCBJJ20gYSBwcm9mZXNzaW9uYWwgdHJhbnNs YXRvciwgSSBjb3VsZCBzYXkgJydtaSBmYW52YSBzZSBqaWJyaScnLgoKX18nJ2ppYnJpJydfXyB4 MSBpcyBhIGpvYiBvZiB4MgoKX18nJ2RvdHliYXUnJ19fIHgxIGlzIEdlcm1hbiB1c2VkIGJ5IHgy IHRvIHNheSB4MwoKX18nJ2dsaWJhdScnX18geDEgaXMgRW5nbGlzaCB1c2VkIGJ5IHgyIHRvIHNh eSB4MwoKSWYgSSB3YW50ZWQgdG8gc2F5IHRoYXQgSSdtIGEgcHJvZmVzc2lvbmFsIHRyYW5zbGF0 ZXIgZnJvbSBFbmdsaXNoIHRvIEdlcm1hbiwgSSdkIGhhdmUgdG8gbWVzcyBhcm91bmQgd2l0aCAn J2JlJycgYW5kICcnYmVpJyc6ICcnbWkgZmFudmEgYmUgbGUgZG90eWJhdSBiZWkgbGUgZ2xpYmF1 IGJlJ28gc2UgamlicmknJywgYW5kIHRoZSBmYWN0IHRoYXQgaXQgd2FzIGEgdGFucnUgY291bGQg cXVpY2tseSBiZSBsb3N0IGluIHNwZWVjaCBkdWUgdG8gdGhlIGNvbXBsaWNhdGVkIHN0cnVjdHVy ZSBvZiB0aGUgc2VudGVuY2UuIEhlcmUsIHdlIGNhbiB1c2UgdGhlIHdvcmQgJydjbycnLiBpdCBp bnZlcnRzIHRoZSB0YW5ydSwgbWFraW5nIHRoZSByaWdodG1vc3Qgc2VsYnJpIG1vZGlmeSB0aGUg bGVmdG1vc3QgaW5zdGVhZCBvZiB0aGUgb3RoZXIgd2F5IGFyb3VuZDoKCicnbWkgc2Ugamlicmkg Y28gZmFudmEgbGUgZG90eWJhdSBsZSBnbGliYXUnJyBpcyB0aGUgc2FtZSBicmlkaSBhcyB0aGUg cHJldmlvdXMgTG9qYmFuIG9uZSwgYnV0IG11Y2ggbW9yZSBlYXN5IHRvIHVuZGVyc3RhbmQuIE5v dGljZSB0aGF0IGFueSBzdW10aSBiZWZvcmUgdGhlIHRhbnJ1IGZpbGxzICcnc2UgamlicmknJywg d2hpbGUgYW55IGZvbGxvd2luZyBpdCBvbmx5IGZpbGxzIHRoZSBtb2RpZnlpbmcgc2VsYnJpOiAn J2ZhbnZhJycuCgpfXycnY28nJ19fIEludmVydCB0YW5ydS4gQW55IHByZXZpb3VzIHN1bXRpIGZp bGwgdGhlIG1vZGlmaWVkLCBhbnkgZm9sbG93aW5nIGZpbGwgdGhlIG1vZGlmaWVyLgoKCgpUaGUg c3RyZW5ndGggYnkgd2hpY2ggdHdvIHNlbGJyaSBhcmUgYm91bmQgdG9nZXRoZXIgd2l0aCBjbyBp cyB2ZXJ5IHdlYWsg4oCTIGV2ZW4gd2Vha2VyIHRoYW4gbm9ybWFsIHRhbnJ1IGdyb3VwaW5nIHdp dGhvdXQgYW55IGdyb3VwaW5nIHdvcmRzLiBUaGlzIG1ha2VzIHN1cmUgdGhhdCwgaW4gYSBjby1j b25zdHJ1Y3QsIHRoZSBsZWZ0bW9zdCBzZWxicmkgaXMgYWx3YXlzIHRoZSBzZWxicmkgYmVpbmcg bW9kaWZpZWQsIGFuZCB0aGUgcmlnaHRtb3N0IGFsd2F5cyBtb2RpZmllcywgZXZlbiBpZiBhbnkg b2YgdGhvc2UgcGFydHMgYXJlIHRhbnJ1LiBUaGlzIG1ha2VzIGEgY28tY29uc3RydWN0IGVhc3kg dG8gcGFyc2U6CgonJ3RpIHBlbHh1IHBsaXNlIGNvIGt1a3RlJycgaXMgcmVhZCAnJ3RpJycgKCcn cGVseHUgcGxpc2UnJykgJydjbyBrdWt0ZScnLCB3aGljaCBpcyB0aGUgc2FtZSBhcyAnJ3RpIGt1 a3RlIHBlbHh1IGJvIHBsaXNlJycuIFRoaXMgYWxzbyBtZWFucyB0aGF0IGEgJydrZeKApmtlJ2Un JyBjYW5ub3QgZW5jb21wYXNzIGEgJydjbycnLgoKVGhlIGNtYXZvIG9mIHRoZSBzZWxtYSdvIEdJ aEEsIHRoZSBicmlkaS10YWlsIGFmdGVydGhvdWdodCBsb2dpY2FsIGNvbm5lY3RpdmVzLCBob3dl dmVyLCBiaW5kcyBldmVuIGxvb3NlciB0aGFuICcnY28nJy4gVGhpcyBpcyBpbiBvcmRlciB0byB0 b3RhbGx5IGF2b2lkIGNvbmZ1c2lvbiBhYm91dCB3aGljaCBzZWxicmkgYmluZHMgdG8gd2hpY2gg aW4gYSBHSWhBLWNvbnN0cnVjdC4gVGhlIGFuc3dlciBpcyBzaW1wbGU6IFRoZSBHSWhBIG5ldmVy IGVtY29tcGFzc2VzIGFueSBzZWxicmktZ3JvdXBzLgoKCgpIb3cgY2FuIHlvdSBleHByZXNzIOKA nUkgYW0gYW4gaW1wb3J0YW50IEFtZXJpY2FuIGJ1eWVyIG9mIGNvbXB1dGVyc+KAnSB1c2luZyBh ICcnY28nJz8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ21pIHNrYW1pIHRlIHZlY251IGNvIHZh am5pIG1lcmtvJyd+fgoKCgpJZiBpdCdzIG9mIGFueSB1c2UsIHRoaXMgaXMgdGhlIGxpc3Qgb2Yg ZGlmZmVyZW50IGtpbmQgb2Ygc2VsYnJpIGdyb3VwZXJzIHJhbmtlZCBieSBzdHJlbmd0aDoKCgoK MS4gICAgJydibycnIGFuZCAnJ2tlLi5rZSdlJycKCgoKMi4gICAgbG9naWNhbCBjb25uZWN0aXZl cyBvdGhlciB0aGFuIGJyaWRpLXRhaWwgYWZ0ZXJ0aG91Z2h0IGxvZ2ljYWwgY29ubmVjdGl2ZXMg KGV4cGxhaW5lZCBpbiBsZXNzb24gdHdlbnR5LWZpdmUpCgoKCjMuICAgIG5vIGdyb3VwaW5nIHdv cmRzCgoKCjQuICAgICcnY28nJwoKCgo1LiAgICBicmlkaS10YWlsIGFmdGVydGhvdWdodCBsb2dp Y2FsIGNvbm5lY3RpdmVzIChhbHNvIGluIGxlc3NvbiB0d2VudHktZml2ZSkKCgoKVGhlIHJlc3Qg b2YgdGhpcyBsZXNzb24gd2lsbCBub3QgYmUgb24gc2VsYnJpIGdyb3VwaW5nLCBidXQgbXVjaCBs aWtlIGxlc3NvbiBzZXZlbnRlZW4gbWVudGlvbiBhc3NvcnRlZCB3b3Jkcywgd2hpY2ggY2FuIGJl IG9mIHVzZS4KCgoKJydibycnIGhhcyBhbm90aGVyIHVzZSwgd2hpY2ggc2VlbXMgc2VwYXJhdGUg ZnJvbSBzZWxicmkgZ3JvdXBpbmc6IEl0IGNhbiBhbHNvIGJpbmQgYSBzdW10Y2l0YSB0byBhbiBl bnRpcmUgYnJpZGksIHNvIHRoYXQgdGhlIGNvbnRlbnQgb2YgdGhlIHN1bXRjaXRhIGlzIG5vdCBh IHN1bXRpLCBidXQgdGhlIGZvbGxvd2luZyBicmlkaS4gVGhpcyBpcyBiZXN0IGV4cGxhaW5lZCB3 aXRoIGFuIGV4YW1wbGUuCgpfXycneGVibmknJ19fIHgxIGhhdGVzIHgyCgonJ21pIGRhcnhpIGRv IC5pIG11J2kgYm8gbWkgZG8geGVibmknJyDigJMg4oCcSSBoaXQgeW91LCB3aXRoIG1vdGl2YXRp b24gdGhhdCBJIGhhdGUgeW91LuKAnSBIZXJlIHRoZSAnJ2JvJycgYmluZHMgJydtdSdpJycgdG8g dGhlIGZvbGxvd2luZyBicmlkaS4KClRoaXMgaXMgd2hlcmUgdGhlIHRlY2huaWNhbCBkaWZmZXJl bmNlIGJldHdlZW4gdGVuc2Ugc3VtdGNpdGEgYW5kIG90aGVyIHN1bXRjaXRhIGlzIHJlbGV2YW50 LiBZb3Ugc2VlLCB3aGVuIGJpbmRpbmcgYSBub3JtYWwgc3VtdGNpdGEgdG8gYSBicmlkaSB3aXRo ICcnYm8nJywgaXQgbWVhbnMgdGhhdCB0aGUgZm9sbG93aW5nIGJyaWRpIHNvbWVob3cgZml0cyBp bnRvIHRoZSBzdW10aSBwbGFjZSBvZiB0aGUgc3VtdGNpdGEuIEZvciB0aGUgcmVhc29uIG9mIEdv ZCBLbm93cyBXaHksIGJpbmRpbmcgb25lIG9mIHRoZSB3b3JkcyAnJ2JhJycgb3IgJydwdScnIHRv IGEgYnJpZGkgaGFzIHRoZSBleGFjdCBvcHBvc2l0ZSBlZmZlY3QuIEZvciBleGFtcGxlLCBpbiB0 aGUgYnJpZGkgJydtaSBkYXJ4aSBkbyAuaSBiYSBibyBkbyBjaW5qaWtjYScnLCBvbmUgd291bGQg YXNzdW1lIHRoYXQgdGhlIHNlY29uZCBicmlkaSBpcyBzb21laG93IGZpbGxlZCBpbnRvIHRoZSBz dW10aSBwbGFjZSBvZiAnJ2JhJycsIG1lYW5pbmcgdGhhdCB0aGUgYnJpZGkgZmlyc3QgdXR0ZXJl ZCB0b29rIHBsYWNlIGluIHRoZSBmdXR1cmUgb2YgdGhlIHNlY29uZCBicmlkaS4gVGhhdCdzIG5v dCB0aGUgY2FzZSwgaG93ZXZlciwgYW5kIHRoZSBjb3JyZWN0IHRyYW5zbGF0aW9uIG9mIHRoYXQg dXR0ZXJhbmNlIHdvdWxkIGJlICJJIGhpdCB5b3UuIEFmdGVyd2FyZHMsIHlvdSBmbGlydCIuIFRo aXMgd2VpcmQgcnVsZSBpcyBhY3R1YWxseSBvbmUgb2YgdGhlIG1haW4gb2JzdGFjbGVzIHRvIGEg dW5pZmljYXRpb24gb2YgYWxsIHN1bXRjaXRhIGludG8gb25lIHNpbmdsZSB3b3JkIGNsYXNzLiBB bm90aGVyIGRpZmZlcmVuY2UgaXMgdGhhdCB0ZW5zZS1zdW10Y2l0YSBjYW4gYmUgZWxpZGVkLCBl dmVuIHRob3VnaCB0aGV5IGFwcGx5LiBUaGlzIHJ1bGUgbWFrZXMgbW9yZSBzZW5zZSwgc2luY2Ug d2Ugb2Z0ZW4gY2FuIGFzc3VtZSBicmlkaSBpcyBwbGFjZWQgaW4gYSB0aW1lIGFuZCBzcGFjZSwg YnV0IHdlIGNhbid0IGFzc3VtZSB0aGF0IHRoZSBzdW10Y2l0YSBvZiBCQUkgYXBwbGllcy4KCgoK VGhlIHVub2ZmaWNpYWwgd29yZCAnJ21lJ29pJycgaXMgZXF1aXZhbGVudCB0byBtZSBsYSdlICcn em8nb2knJywgd2hpY2ggbWVhbnMgdGhhdCBpdCBjb252ZXJ0cyB0aGUgY29udGVudCBvZiB0aGUg bmV4dCB3b3JkIGludG8gYSBzZWxicmkuIEl0IGlzIHVzZWQgdG8gaW52ZW50IGJyaXZsYSBvbiB0 aGUgZmx5OiAnJ21pIGNhIHpnYW5hIGxhIG1lJ29pIFgtZmlsZXMnJyBmb3Ig4oCcSSBub3cgd2F0 Y2ggWC1maWxlc+KAnS4gTGlrZSBhbGwgcXVvdGUgbmV4dCB3b3JkLWNtYXZvLCBpdCBpcyBub3Qg c3VwcG9ydGVkIGJ5IHRoZSBvZmZpY2lhbCBncmFtbWFyLCBidXQgdG8gdGhlIGxhenkgTG9qYmFu aXN0LCBpdCdzIGludmFsdWFibGUuCgoKClRoZSB3b3JkICcnZ2knJyBpcyBzdHJhZ2Uga2luZCBv ZiBicmlkaSBzZXBhcmF0b3IsIGFuYWxvZ291cyB0byAnJy5pJycsIGJ1dCB0byBteSBrbm93bGVk Z2UsIGl0IGlzIHVzZWQgaW4gb25seSB0d28gZGlmZmVyZW50IGtpbmRzIG9mIGNvbnN0cnVjdHM6 IE1vc3Qgb2Z0ZW4gd2l0aCBsb2dpY2FsIGNvbm5lY3RpdmVzLCBleHBsYWluZWQgaW4gbGVzc29u IHR3ZW50eS1maXZlLCBidXQgYWxzbyB3aXRoIHN1bXRjaXRhLiBXaXRoIHN1bXRjaXRhIGl0IGNy ZWF0ZXMgYSB1c2VmdWwsIGJ1dCBoYXJkbHkgc2VlbiwgY29uc3RydWN0OgoKJydtdSdpIGdpIEJS SURJLTEgZ2kgQlJJREktMicnLCB3aGljaCBpcyBlcXVpdmFsZW50IHRvICcnQlJJREktMiAuaSBt dSdpIGJvIEJSSURJLTEnJy4gVGhlcmVmb3JlLCB0aGUgZXhhbXBsZSBhYm92ZSwgd2hpY2ggZXhw bGFpbmVkIHdoeSBJIGhpdCB5b3UsIGNhbiBiZSB3cml0dGVuICcnbXUnaSBnaSBtaSB4ZWJuaSBk byBnaSBtaSBkYXJ4aSBkbycnLCBvciB0byBwcmVzZXJ2ZSB0aGUgc2FtZSBvcmRlciBhcyB0aGUg b3JpZ2luYWwgc2VudGVuY2UsIHdlIGNhbiBjb252ZXJ0ICcnbXUnaScnIHdpdGggJydzZScnOiAn J3NlIG11J2kgZ2kgbWkgZGFyeGkgZG8gZ2kgbWkgeGVibmkgZG8nJy4KCkl0IGlzIGluIGV4YW1w bGVzIGxpa2UgdGhpcyB0aGF0ICcnZ2knJyByZWFsbHkgY2FuIHNob3cgaXRzIHZlcnNhdGlsaXR5 LiBJdCBkb2VzIG5vdCBqdXN0IHNlcGFyYXRlIHR3byBicmlkaSBsaWtlICcnLmknJyBkb2VzLCBi dXQgY2FuIGFsc28gc2VwYXJhdGUgdHdvIGNvbnN0cnVjdHMgd2l0aGluIGEgYnJpZGksIG1ha2lu ZyBhbGwgY29uc3RydWN0cyBvdXRzaWRlIHRoZSBzY29wZSBvZiAnJ2dpJycgYXBwbHkgdG8gYm90 aCBicmlkaSwgYXMgdGhpcyBleGFtcGxlIGRlbW9uc3RyYXRlczoKCl9fJydjaW5iYScnX18geDEg a2lzc2VzIHgyIGF0IGxvY3VzIHgzCgoKCicnbWkgZ2kgcHJhbWkgZG8gZ2kgY2luYmEgZG8nJyBs ZWF2ZXMgbWkgb3V0c2lkZSB0aGUgY29uc3RydWN0LCBtYWtpbmcgaXQgYXBwbHkgdG8gYm90aCBi cmlkaS4gVGhpcyBjYW4gYWxzbyBiZSBkb25lIHdpdGggJydkbycnLCB3aGljaCBpcyBhbHNvIHBy ZXNlbnQgaW4gYnJvdGggYnJpZGk6ICcnbWkgZ2kgcHJhbWkgZ2kgY2luYmEgdmF1IGRvJycuIE5v dGUgdGhhdCAnJ3ZhdScnIGlzIG5lZWRlZCB0byBtYWtlIGRvIGFwcGVhciBvdXRzaWRlIHRoZSBz ZWNvbmQgYnJpZGkuCgoKClRodXMsIHdlIGNhbiB3cml0ZSB0aGUgb3JpZ2luYWwgc2VudGVuY2Ug c2hvcnRlcjogJydtaSBtdSdpIGdpIHhlYm5pIGdpIGRhcnhpIHZhdSBkbycnLCBvciwgdG8gb21p dCBldmVuIHRoZSAnJ3ZhdScnLCB3ZSBjYW4gd3JpdGUgaXQgZXZlbiBzaG9ydGVyIGFuZCBtb3Jl IGVsZWdhbnRseTogJydtaSBkbyBtdSdpIGdpIHhlYm5pIGdpIGRhcnhpJycKCgoKCgohIUxvamJh biBMZXNzb25zIC0gTGVzc29uIHR3ZW50eS1vbmUgKENPSSkKCkluIHRoaXMgbGVzc29uLCB5b3Ug d2lsbCBmYW1pbGlhcml6ZSB5b3Vyc2VsZiB3aXRoIHZvY2F0aXZlcywgb3IgJydtYSdvaSBjb2kn Jy4gVGhleSBnZXQgdGhlaXIgb3duIGxlc3Nvbiwgbm90IGJlY2F1c2UgdW5kZXJzdGFuZGluZyB0 aGVzZSBwcm92aWRlcyBhIGJhc2lzIGZvciB1bmRlcnN0YW5kaW5nIExvamJhbiBncmFtbWFyIGlu IGdlbmVyYWwsIG9yIGJlY2F1c2UgdGhleSBhcmUgaGFyZCB0byB1bmRlcnN0YW5kLCBidXQgcmF0 aGVyIGJlY2F1c2UgdGhleSBhcmUgdmVyeSBvZnRlbiB1c2VkIGluIGNhc3VhbCBzcGVlY2gsIGFu ZCB0aGVyZSBhcmUgYSBsb3Qgb2YgdGhlbS4KCkEgdm9jYXRpdmUgaXMgdXNlZCBwYXJ0bHkgdG8g ZGVmaW5lIHdobyAnJ2RvJycgcmVmZXJzIHRvLiBJZiB0aGUgdm9jYXRpdmUgaXMgZm9sbG93ZWQg YnkgYSBjbWV2bGEsIHRoZSBjbWV2bGEgZ2V0cyBhbiBpbXBsaWVkIGxhIGluIGZyb250IG9mIGl0 LiBJZiBhIHNlbGJyaSBmb2xsb3dzLCBhICcnbGUnJyBpcyB1c2VkIGFzIGEgZ2FkcmkgaW5zdGVh ZC4KCkluIHRoZXNlIGV4YW1wbGVzLCBJIHdpbGwgdXNlIHRoZSB2b2NhdGl2ZSAnJ2NvaScnLCB3 aXRoIG1lYW5zIOKAnEhp4oCdIG9yIOKAnEhlbGxv4oCdLgoKSWYgYSBwZXJzb24gaXMgY2FsbGVk ICcnbGEgKyBTRUxCUkknJywgdXNpbmcgYSB2b2NhdGl2ZSB3aXRoIG9ubHkgdGhlIHNlbGJyaSB0 byBhZGRyZXNzIHRoYXQgcGVyc29uIHdpbGwgbWVhbiB5b3UgcmVmZXIgdG8gaGVyIGFzIGFjdHVh bGx5IGJlaW5nIHRoZSB4MSBvZiB0aGF0IHNlbGJyaSwgd2hpY2ggaXMgb2Z0ZW4gd3JvbmcuIElm LCBmb3IgaW5zdGFuY2UsIGEgcGVyc29uIGlzIGNhbGxlZCAnJ2xhIHRzYW5pJycsIOKAnFNreeKA nSwgc2F5aW5nICcnY29pIHRzYW5pJycgcmVmZXJzIHRvIGhlciBhcyBhICcnbGUgdHNhbmknJywg bWVhbmluZyDigJxIaSwgeW91IHNreeKAnSwgd2hpbGUgJydjb2kgbGEgdHNhbmkgY29ycmVjdGx5 JycgcmVmZXJzIHRvIGhlciBhcyBzb21lb25lIGNhbGxlZCAiU2t5IiwgbWVhbmluZyDigJxIaSBT a3nigJ0uIFRoaXMgaXMgYSBmcmVxdWVudCBtaXN0YWtlLCBlc3BlY2lhbGx5IGFtb25nIG5ldyBM b2piYW5pc3RzLgoKQWxsIHZvY2F0aXZlcyBoYXZlIGEgZmEnb3JtYSdvIHdoaWNoIGlzIHNvbWV0 aW1lcyByZXF1aXJlZC4gVGhpcyBpcyAnJ2RvJ3UnJy4gSXQncyBtb3N0bHkgdXNlZCBpZiBib3Ro IHRoZSBmaXJzdCB3b3JkIGFmdGVyIHRoZSB2b2NhdGl2ZSBwaHJhc2UgYW5kIHRoZSBsYXN0IHdv cmQgb2YgdGhlIHBocmFzZSBpcyBhIHNlbGJyaSwgc28gdGhhdCBpdCBwcmV2ZW50cyBmb3JtaW5n IGEgdGFucnU6CgoKCl9fJydkbyd1JydfXyBFbmQgdm9jYXRpdmUgcGhyYXNlLiBVc3VhbGx5IGVs aWRhYmxlLgoKX18nJ2tsYWt1JydfXyB4MSBjcmllcyB4MiAodGVhcnMpIGZvciByZWFzb24geDMK CicnY29pIGxhIGdsZWtpIGRvJ3Uga2xha3UgZmkgbWEnJyDigJ1IZWxsbyBIYXBweS4gV2h5IGNy eT/igJ0KCgoKVGhlIGdlbmVyaWMgdm9jYXRpdmUsICcnZG9pJycsIGRvZXMgbm90aGluZyBleGNl cHQgZGVmaW5pbmcgd2hvIGlzIGJlaW5nIHJlZmVycmVkIHRvIGJ5ICcnZG8nJzoKCicnZG9pIC5l cm5zdC4geHUgZG8gZG90Y28gbWVya28nJyDigJxFcm5zdDogQXJlIHlvdSBhIEdlcm1hbi1BbWVy aWNhbj/igJ0KCgoKQWxsIHRoZSBvdGhlciB2b2NhdGl2ZXMgaGF2ZSBzb21lIGNvbnRlbnQgYmVz aWRlIGRlZmluaW5nICcnZG8nJy4gJydjb2knJywgd2hpY2ggeW91IGtub3csIGFsc28gbWVhbnMg 4oCcSGVsbG/igJ0sIGZvciBleGFtcGxlLiBNYW55IG9mIHRoZSB2b2NhdGl2ZXMgaGF2ZSB0d28g b3IgdGhyZWUgZGVmaW5pdGlvbnMgbGlrZSB0aGUgYXR0aXR1ZGluYWxzLiBMaWtlIGF0dGl0dWRp bmFscywgdGhpcyBpcyBiZWNhdXNlIHRoZXkgY2FuIGJlIG1vZGlmaWVkIHdpdGggJydjdSdpJycg YW5kICcnbmFpJycsIHRob3VnaCBvbmx5IG9uZSB2b2NhdGl2ZSBoYXMgdGhlICcnY3UnaScnLWZv cm0gZGVmaW5lZC4KClNvbWUgaW1wb3J0YW50IHZvY2F0aXZlcyBhcmUgbGlzdGVkIGluIHRoZSB0 YWJsZSBiZWxvdy4gVGhlcmUgYXJlIG90aGVycywgYnV0IHRob3NlIGFyZSBub3QgdXNlZCBtdWNo LgoKfHx2b2NhdGl2ZXxXaXRob3V0IHN1ZmZpeHwtY3UnaXwtbmFpCgpjb2l8SGVsbG98LXwtCgpj bydvfEdvb2RieWUJfC18LQoKamUnZXxVbmRlcnN0b29kIC8gT0t8LXxOb3QgdW5kZXJzdG9vZAoK ZmknaXxXZWxjb21lfC18Tm90IHdlbGNvbWUgaGVyZQoKcGUndXxQbGVhc2V8LXwtCgpraSdlfFRo YW5rc3wtfERpc2FwcHJlY2lhdGlvbgoKcmUnaXxSZWFkeSB0byByZWNpZXZlfC18Tm90IHJlYWR5 CgpqdSdpfEhleSF8QXQgZWFzZXxJZ25vcmUgbWUKCnRhJ2F8SW50ZXJydXB0aW9ufC18LQoKdmkn b3xXaWxsIGRvfC18V2lsbCBub3QgZG8KCmtlJ298UGxlYXNlIHJlcGVhdHwtfE5vIHJlcGVhdCBu ZWVkZWQKCmtpJ2FpfHdlbGwtd2lzaHwtfGN1cnNlfHwKCk5vdGljZSB0aGF0ICcna2knYWknJyBp cyBleHBlcmltZW50YWwKCgoKCgpXaGF0IHdvdWxkICcnY29pIGNvJ28nJyBtZWFuPwoKCgpBbnN3 ZXI6IH5+Z3JleSxncmV5OuKAnEdyZWV0aW5ncyBpbiBwYXNzaW5n4oCdIG9yIOKAnEhlbGxvIGFu ZCBHb29kYnll4oCdfn4KCgoKJydqZSdlJycgaXMgdXNlZCBhcyDigJxPS+KAnSwgYnV0IGFsc28g dGhlIGFwcHJvcHJpYXRlIHJlc3BvbnNlIHdoZW4gcmVjZWl2aW5nIHByYWlzZSBvciB0aGFua3Mg KGF0IGxlYXN0LCBpZiB5b3Ugd2FudCB0byBiZSBtb2Rlc3QpLCBhcyBpdCBpbmRpY2F0ZXMgdGhh dCB0aGUgcHJhaXNlIG9yIHRoYW5rcyB3YXMgc3VjY2Vzc2Z1bGx5IHVuZGVyc3Rvb2QuCgoKClRy YW5zbGF0ZSAnJ2tpJ2Ugc2lkanUgYmUgbWkgYmVpIGxvIHZham5pIC5pIGplJ2UgLmplbmlmeW4u JycKCl9fJydzaWRqdScnX18geDEgaGVscHMgeDIgZG8geDMKCgoKQW5zd2VyOiB+fmdyZXksZ3Jl eTrigJxUaGFua3MsIHlvdSBoZWxwZXIgb2YgbWUgdG8gZG8gc29tZXRoaW5nIGltcG9ydGFudC7i gJ0g4oCcTm8gcHJvYmxlbSwgSmVubmlmZXLigJ1+fgoKCgpBbmQgJydmaSdpIHRlIHZlY251IC5p IHBlJ3Uga28gY2l0a2EnJwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnVdlbGNvbWUsIGJ1eWVy LiBQbGVhc2UgZWF0IeKAnX5+CgoKCicncmUnaScnIGlzIHVzZWQgdG8gc2lnbmFsIHRoYXQgeW91 IGFyZSByZWFkeSB0byBiZSBzcG9rZW4gdG8uIEl0IGNhbiBiZSB1c2VkIGFzIHRoZSBMb2piYW4g ZXF1aXZhbGVudCBvZiDigJxXaGF0IGNhbiBJIGRvIGZvciB5b3U/4oCdIG9yIHBlcmhhcHMgcmVw bGFjZSDigJxIZWxsb+KAnSwgd2hlbiBzcGVha2luZyBvbiBhIHBob25lLiAnJ3JlJ2kgbmFpJycg Y2FuIG1lYW4g4oCcQUZL4oCdIG9yIOKAnEJlIHRoZXJlIGlzIGEgc2Vjb25kLuKAnQoKCgpUcmFu c2xhdGU6IOKAnEhlbGxvLCB3aGF0IGNhbiBJIGRvIGZvciB5b3UsIEludGVycHJldGVyL1RyYW5z bGF0ZXI/4oCdCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6Jydjb2kgcmUnaSBsYSBmYW52YScnfn4K CgoKJyd0YSdhJycgaXMgdXNlZCB3aGVuIGF0dGVtcHRpbmcgdG8gcG9saXRlbHkgaW50ZXJydXB0 IHNvbWVvbmUgZWxzZS4gV2hhdCB3b3VsZCBiZSBnb29kIHJlc3BvbnNlcyB0byB0aGlzPwoKCgpU cmFuc2xhdGU6ICcndGEnYSBybyBkbyBtaSBjbydhIGNsaXZhJycKCl9fJydjbGl2YScnX18geDEg bGVhdmVzIHgyIHZpYSByb3V0ZSB4MwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnEV4Y3VzZSBt ZSBmb3IgaW50ZXJydXB0aW5nLCBldmVyeW9uZS4gSSBiZWdpbiB0byBsZWF2ZSBub3figJ0gTm90 aWNlIHRoYXQgbm8gZmEnb3JtYSdvIG9yICcnLmknJyBpcyBuZWVkZWQufn4KCgoKJydrZSdvJycg aXMgdXNlZCBhIGxvdCB3aGVuIGluZXhwZXJpZW5jZWQgTG9qYmFuaXN0cyBzcGVhayB0b2dldGhl ciB2b2NhbGx5LiBJdCdzIHF1aXRlIGEgaGFuZHkgd29yZAoKX18nJ3N1dHJhJydfXyB4MSBpcyBx dWljayBhdCBkb2luZyB4MgoKCgpUcmFuc2xhdGU6ICcnLnkga2UnbyBzdXRyYSB0YXZsYScnCgoK CkFuc3dlcjogfn5ncmV5LGdyZXk64oCcVWgsIFBsZWFzZSByZXBlYXQsIHlvdSBxdWljayBzcGVh a2VyLuKAnX5+CgoKCkFuZCDigJxPa2F5IG9rYXksIEkgZ290IGl0IGFscmVhZHkhIEknbGwgZG8g aXQh4oCdCgoKCkFuIGFuc3dlcjogfn5ncmV5LGdyZXk6JydrZSdvIG5haSAudWkgbmFpIHZpJ28n J35+CgoKCiEhTG9qYmFuIExlc3NvbnMgLSBMZXNzb24gdHdlbnR5LXR3byAocXVhbnRpZnlpbmcg c3VtdGkpCgpNb3N0IG90aGVyIGxlYXJuaW5nIG1hdGVyaWFscyBzdWNoIGFzIFRoZSBDb21wbGV0 ZSBMb2piYW4gTGFuZ3VhZ2UgYW5kIExvamJhbiBmb3IgQmVnaW5uZXJzIHdlcmUgd3JpdHRlbiBi ZWZvcmUgdGhlIG9mZmljaWFsIGFkb3B0YXRpb24gInhvcmxvIiwgYSBjaGFuZ2UgaW4gdGhlIHJ1 bGVzIGFib3V0IGdhZHJpIGRlZmluaXRpb24gYW5kIGdhZHJpIHF1YW50aWZpY2F0aW9uLiBUaGUg b2Jzb2xldGVuZXNzIG9mIHNvbWUgb2YgdGhlIHRleHQgaW4gdGhlIG9sZGVyIGxlYXJuaW5nIG1h dGVyaWFscyB3YXMgYSBtYWpvciBjYXVzZSBmb3IgdGhlIG1vdGl2YXRpb24gdG8gd3JpdGUgdGhl c2UgbGVzc29ucy4gVW5mb3J0dW5hdGVseSBmb3IgbWUsIHF1YW50aWZpY2F0aW9uIG9mIHN1bXRp IGNhbiBiZWNvbWUgYSB2ZXJ5IGNvbXBsZXggdG9waWMgd2hlbiB0aGUgaW1wbGljYXRpb25zIG9m IGNlcnRhaW4gcnVsZXMgYXJlIGRpc2N1c3NlZCBpbiBkZXRhaWwuIEluIG9yZGVyIHRvIGZ1bGZp bGwgdGhlIGdvYWwgb2YgdGhpcyB0ZXh0IGJlaW5nIGFjY3VyYXRlIGVub3VnaCB0byByZXByZXNl bnQgdGhlIG9mZmljaWFsICJnb2xkIHN0YW5kYXJkIiBCUEZLIHJ1bGVzLCB0aGlzIGNoYXB0ZXIg d2FzIGFtb25nIHRoZSBsYXN0IG9uZXMgZmluaXNoZWQgYW5kIHRoZSBvbmVzIG1vc3QgZnJlcXVl bnR5IHJld3JpdHRlbi4gSSBzdHJvbmdseSBlbmNvdXJhZ2UgYW55b25lIHdobyBmaW5kcyBtaXN0 YWtlcyBpbiB0aGlzIHRleHQgdG8gY29udGFjdCBtZSBpbiBvcmRlciBmb3IgdGhlbSB0byBiZSBj b3JyZWN0ZWQuCgpIYXZpbmcgc2FpZCB0aGF0IGRpc2NsYWltZXIsIGxldCdzIGdldCBzdGFydGVk OgoKVGhlIGZpcnN0IGNvbmNlcHQgeW91IHNob3VsZCBrbm93IGFib3V0IGlzICJkaXN0cmlidXRp dml0eSIuIEluIGxlc3NvbiBmb3VydGVlbiBpIHVzZWQgdGhlIHdvcmQgImluZGl2aWR1YWxzIiBh Ym91dCBhIGdyb3VwIG9mIG9iamVjdHMgY29uc2lkZXJlZCBkaXN0cmlidXRpdmVseS4gQSBkaXN0 cmlidXRpdmUgZ3JvdXAgJydrbydhJycgaXMgZm9yIGFueSBzZWxicmkgJydicm9kYScnIGEgZ3Jv dXAgc3VjaCB0aGF0LCBpZiAnJ2tvJ2EgYnJvZGEnJyBpcyB0cnVlLCBpdCBtZWFucyB0aGF0IGV2 ZXJ5IG1lbWJlciBvZiB0aGUgZ3JvdXAgYWxzbyBpcyBjaGFyYWN0ZXJpemVkIGJ5ICcnYnJvZGEn Jy4gVGhpcyBzdGFuZHMgaW4gY29udHJhc3QgdG8gbm9uLWRpc3RyaWJ1dGl2aXR5ICh3aGljaCBt YXNzZXMgaGF2ZSksIGluIHdoaWNoIHRoZSBncm91cCBoYXMgb3RoZXIgcHJvcGVydGllcyB0aGFu IGVhY2ggb2YgdGhlIGluZGl2aWR1YWxzIGRvLiBUaGUgZGlzdGluY3Rpb24gYmV0d2VlbiBkaXN0 cmlidXRpdml0eSAoaW5kaXZpZHVhbC1saWtlKSBhbmQgbm9uLWRpc3RyaWJ1dGl2aXR5IChtYXNz LWxpa2UpIGlzIG9mIHJlbGV2YW5jZSB3aGVuIHF1YW50aWZ5aW5nIHN1bXRpLgoKTGV0IHVzIGZp cnN0IGNvbnNpZGVyIGhvdyBvbmUgY2FuIHF1YW50aWZ5IGRlY3JpcHRpb24gc3VtdGksIHdoaWNo IGFyZSBzdW10aSBvZiB0aGUgZm9ybSBHQURSSSBCUklWTEEuIFRoZSBudW1iZXIgc3RyaW5nIHdo aWNoIGRvZXMgdGhlIHF1YW50aWZpY2F0aW9uIGNhbiBiZSBwbGFjZWQgYmVmb3JlIHRoZSBnYWRy aSwgaW4gd2hpY2ggY2FzZSBpdCBpcyByZWZlcnJlZCB0byBhcyBhbiBfX291dGVyIHF1YW50aWZp ZXJfXywgYW5kIGl0IGNhbiBiZSBwbGFjZWQgYmV0d2VlbiB0aGUgZ2FkcmkgYW5kIHRoZSBicml2 bGEsIGluIHdoaWNoIGNhc2UgaXQncyBhbiBfX2lubmVyIHF1YW50aWZpZXJfXy4gQW55IGtpbmQg b2YgbnVtYmVyIHN0cmluZyBjYW4gYWN0IGFzIGEgcXVhbnRpZmllci4KClRoZSBydWxlcyBmb3Ig aG93IGlubmVyIGFuZCBvdXRlciBxdWFudGlmaWVycyBhZmZlY3RzIHN1bXRpIGRlcGVuZCBvbiB0 aGUga2luZCBvZiBnYWRyaSB3aGljaCBpcyB1c2VkOgoKCgotIC0nJ2xvJycgYW5kICcnbGUnJy0g LSBBbiBpbm5lciBxdWFudGlmaWVyIHRlbGxzIHVzIGhvdyBtYW55IG9iamVjdHMgYXJlIGJlaW5n IHNwb2tlbiBvZiAtIGhvdyBtYW55IG9iamVjdHMgYXJlIGluIHRoZSBkaXNjb3Vyc2UgdG90YWwu IElmIGFuIG91dGVyIHF1YW50aWZpZXIgaXMgcHJlc2VudCwgdGhlIHN1bXRpIGlzIGRpc3RyaWJ1 dGVkIG92ZXIgdGhhdCBhbW91bnQgb2Ygb2JqZWN0cy4gQXMgc3RhdGVkIGVhcmxpZXIsIGlmIG5v IG91dGVyIHF1YW50aWZpZXIgaXMgcHJlc2VudCwgaXQncyB2YWd1ZSBob3cgbWFueSBvYmplY3Rz IHRoZSBzZWxicmkgYXBwbGllcyB0byAodGhvdWdoIG5vdCBub25lKSwgYW5kIHdoZXRoZXIgaXQg ZG9lcyBzbyBkaXN0cmlidXRpdmVseSBvciBub24tZGlzdHJpYnV0aXZlbHkuIEV4YW1wbGVzIGFy ZSBhbHdheXMgYSBnb29kIGlkZWEsIHNvIGhlcmUgdGhleSBhcmU6CgonJ211IGxvIG11IGJha25p IGN1IHNlIGppcm5hJycgLSBUaGUgaW5uZXIgcXVhbnRpZmllciBvZiBmaXZlIHRlbGxzIHVzIHRo YXQgd2Ugc3BlYWsgYWJvdXQgZml2ZSBwaWVjZXMgb2YgY2F0dGxlLCBhbmQgdGhlIG91dGVyIHF1 YW50aWZpZXIgb2YgZml2ZSB0ZWxscyB1cyB0aGF0IHRoZSBzZWxicmkgaXMgdHJ1ZSBmb3IgZWFj aCBvZiB0aGUgZml2ZS4gVGhlcmVmb3JlLCBpdCBtZWFucyAiQWxsIHRoZSBmaXZlIGNvd3MgaGFk IGhvcm5zIi4gCgpfXycnYmFrbmknJ19fIHgxIGlzIGEgY293L294L2NhdHRsZS9jYWxmIGV0YyBv ZiBicmVlZCB4MgoKX18nJ2ppcm5hJydfXyB4MSBpcyB0aGUgaG9ybiBvZiB4MiAobWV0YXBob3I6 IGFueSBwb2ludGVkIGV4dHJlbWl0eSkKCgoKV2hhdCBkb2VzIHRoZSBmb2xsb3dpbmcgYnJpZGkg bWVhbj8KCicnbG8gcnUndXJndWJ1cHUgYmUgbGkgcmUgcGkgemUgbXUgY3UgamRpbWEgbG8gcGEg cmUgc292ZGEnJwoKX18nJ3J1J3VyZ3VidXB1JydfXyB4MSBpcyBtZWFzdXJlcyB0byBiZSB4MiBC cml0aXNoIHBvdW5kcyAoR0JQKQoKX18nJ2pkaW1hJydfXyB4MSBpcyB0aGUgcHJpY2Ugb2YgeDIg dG8gYnV5ZXIgeDMgc2V0IGJ5IHZlbmRvciB4NAoKX18nJ3NvdmRhJydfXyB4MSBpcyBhIGdhbWV0 ZSAoZWdnL3NwZXJtKSBvZiB4MgoKQW5zd2VyOiB+fmdyZXksZ3JleTogIlR3ZWx2ZSBlZ2dzIGNv c3QgMi43NSBCcml0aXNoIHBvdW5kcyIgd2hpY2gsIGFzIHRoZSBFbmdsaXNoIHRyYW5zbGF0aW9u LCBjb3VsZCBtZWFuIGJvdGggdGhhdCB0aGV5IGNvc3QgMi43NSBlYWNoIChkaXN0cmlidXRpdmVs eSkgb3IgdGhhdCBhbGwgdHdlbHZlIHRvZ2V0aGVyIGNvc3QgMi43NSAobm9uLWRpc3RyaWJ1dGl2 ZWx5KX5+CgoKCicnc28gbGUgdGEgcGEgcGEgY2knZXJrZWkgY3UgY2xhbWF1IG1pJycgKG5vdGlj ZSB0aGF0IHRoZSAnJ3RhJycgZ29lcyBiZWZvcmUgdGhlIGlubmVyIHF1YW50aWZpZXIpCgpfXycn Y2knZXJrZWknJ19fIHgxIHBsYXlzIGdhbWUgeDIgZ292ZW5lcmQgYnkgcnVsZXMgeDMgaW50ZXJy ZWxhdGluZyBnYW1lIHBhcnRzIHg0IHt0aGlzIGlzIHVzZWQgdG8gdHJhbnNsYXRlICJwbGF5IiBp biB0aGUgc2Vuc2UgInBsYXkgYSBnYW1lIiByYXRoZXIgdGhhbiwgZm9yIGluc3RhbmNlICJwbGF5 aW5nIHByZXRlbmQiIG9yICJwbGF5aW5nIEhvdXNlIn0KCl9fJydjbGFtYXUnJ19fIHgxIGlzIHRh bGxlci9sb25nZXIgdGhhbiB4MiBpbiBkaXJlY3Rpb24geDMgbXkgbWFyaWdpbiB4NAoKQW5zd2Vy OiB+fmdyZXksZ3JleTpUaGUgaW5uZXIgc3RhdGVzIHRoZXJlIGFyZSAxMSBwbGF5ZXJzIGluIHRo ZSBkaXNjb3Vyc2UsIGFuZCB0aGUgb3V0ZXIgc3RhdGVzIHRoYXQgdGhlIHNlbGJyaSBhcHBsaWVz IHRvIG5pbmUgb2YgdGhlbSBkaXN0cmlidXRpdmVseS4gVGh1cyBpdCBtZWFucyAiTmluZSBvZiB0 aGUgZWxldmVuIHBsYXllcnMgYXJlIHRhbGxlciB0aGFuIG1lIn5+CgoKClRoZXJlIGFyZSBhIGZl dyBwb2ludHMgdGhhdCBuZWVkcyB0byBiZSByYWlzZWQgcmVnYXJkaW5nIHF1YW50aWZpY2F0aW9u IG9mICcnbG8nJy8nJ2xlJyc6CgpGaXJzdGx5LCAnJ2xvJycgaXMgdW5pcXVlIGluIHRoYXQgIntu dW1iZXJ9IHtzZWxicml9IiBpcyBkZWZpbmVkIGFzICJ7bnVtYmVyfSAnJ2xvJycge3NlbGJyaX0i LiBUaGVyZWZvcmUsICcnY2kgZ2Vya3UgY3UgYmF0Y2kgcmUgbmFubXUnJyBpcyBkZWZpbmVkIHRv IGJlICcnY2kgbG8gZ2Vya3UgY3UgYmF0Y2kgcmUgbG8gbmFubXUnJywgd2hpY2ggY29uc2lkZXJz IGJvdGggdGhlIGdyb3VwIG9mIGRvZ3MgYW5kIHRoZSBncm91cCBvZiBtZW4gZGlzdHJpYnV0aXZl bHkuIFRoZXJlZm9yZSwgZWFjaCBvZiB0aGUgdGhyZWUgZG9ncyBiaXQgZWFjaCBvZiB0aGUgdHdv IG1lbiwgd2l0aCBzaXggYml0aW5nIGV2ZW50cyBpbiB0b3RhbC4KCl9fJydiYXRjaScnX18geDEg Yml0ZXMvcGluY2hlcyB4MiBhdCBsb2N1cyB4MyB1c2luZyB4NCBhcyBwaW5jaGluZyB0b29sLgoK U2Vjb25kbHk6IFdoYXQgaWYgdGhlcmUgaXMgbm8gb3V0ZXIgcXVhbnRpZmllcj8gRG9lcyB0aGlz IG1lYW4gdGhhdCBpdCBfX2lzX18gdGhlcmUsIGJ1dCBpdCdzIGVsaWRlZD8gTm9wZS4gSWYgdGhl cmUgaXMgYW55IGtpbmQgb2Ygb3V0ZXIgcXVhbnRpZmllciwgZWxpZGVkIG9yIG5vdCwgaXQgd291 bGQgZm9yY2UgdGhlIHN1bXRpIHRvIGJlIGRpc3RyaWJ1dGl2ZSwgd2hpY2ggd291bGQgbWVhbiB0 aGF0IG5laXRoZXIgJydsbycnIG5vciAnJ2xlJycgY291bGQgYmUgdXNlZCB0byBkZXNjcmliZSBt YXNzZXMuIFRoZXJlZm9yZSwgaWYgbm8gb3V0ZXIgcXVhbnRpZmllciBpcyBwcmVzZW50LCBpdCdz IG5vdCBvbmx5IGVsaWRlZCAtIGl0J3Mgc2ltcGx5IG5vdCB0aGVyZS4gU3VtdGkgd2l0aG91dCBh biBvdXRlciBxdWFudGlmaWVyIGNhbiBiZSByZWZlcnJlZCB0byBhcyAiY29uc3RhbnRzIiwgZXZl biB0aG91Z2ggSSB3b24ndC4KClRoaXJkbHksIGl0IG1ha2VzIG5vIHNlbnNlIHRvIGhhdmUgYW4g b3V0ZXIgcXVhbnRpZmllciB3aGljaCBpcyBsYXJnZXIgdGhhbiB0aGUgaW5uZXIgb25lLiBJdCBt ZWFucyB0aGF0IHRoZSBzZWxicmkgaG9sZHMgdHJ1ZSBmb3IgbW9yZSBzdW10aSB0aGFuIGFyZSBw cmVzZW50IGluIHRoZSBkaXNjb3Vyc2UgLSBidXQgc2luY2UgdGhleSBhcHBlYXIgaW4gYSBicmlk aSwgdGhleSBfX2FyZV9fIHBhcnQgb2YgdGhlIGRpc2NvdXJzZS4gSXQncyBncmFtbWF0aWNhbCB0 byBkbyBpdCwgdGhvdWdoLgoKTGFzdGx5LCBwbGFjaW5nIGEgJydsbycnIG9yIGEgJydsZScnIGlu IGZyb250IG9mIGEgc3VtdGkgaXMgZ3JhbW1hdGljYWwsIGlmIHRoZXJlIGlzIGFuIGlubmVyIHF1 YW50aWZpZXIgcHJlc2VudC4gIicnbG8nJy8nJ2xlJycge251bWJlcn0ge3N1bXRpfSIgaXMgZGVm aW5lZCBhcyAiJydsbycnLycnbGUnJyB7bnVtYmVyfSAnJ21lJycge3N1bXRpfSIuCgpTbyB3aGF0 IHdvdWxkIHRoaXMgbWVhbj8gJydtaSBuZWxjaSBsb2kgbWkgYnJpanUga2Fuc2EgLmkga3UnaSBj aSBsbyByZSBtdSBqaSdpIHJpIGN1IGxhem5pJycKCl9fJydicmlqdScnJ19fIHgxIGlzIGFuIG9m ZmljZSBmb3Igd29ya2VyIHgyIGF0IGxvY2F0aW9uIHgzCgpfXycna2Fuc2EnJ19fIHgxIGFjY29t cGFuaWVzIHgyIGluIGFjdGlvbi9zdGF0ZS9lbnRlcnByaXNlIHgzCgpfXycnbGF6bmknJ19fIHgx IGlzIGxhenksIGF2b2lkaW5nIHdvcmsgY29uY2VybmluZyB4MgoKQW5zd2VyOiB+fmdyZXksZ3Jl eToiSSBsaWtlIG15IGNvLXdvcmtlcnMsIGJ1dCB0aHJlZSBvdXQgb2YgYWJvdXQgdHdlbnR5IGZp dmUgb2YgdGhlbSBhcmUgbGF6eSJ+fgoKCgotIC0nJ2xhJyctIC0gQW4gaW5uZXIgcXVhbnRpZmll ciBpcyBncmFtbWF0aWNhbCBpZiB0aGUgbmFtZSBpcyBhIHNlbGJyaSAtIGluIHRoaXMgY2FzZSwg aXQncyBjb25zaWRlcmVkIHBhcnQgb2YgdGhlIG5hbWUuIEFuIG91dGVyIHF1YW50aWZpZXIgaXMg dXNlZCB0byBxdWFudGlmeSBkaXN0cmlidXRpdmVseSBvdmVyIHN1Y2ggaW5kaXZpZHVhbHMgKG11 Y2ggbGlrZSAnJ2xvJycvJydsZScnKSBJdCdzIGdyYW1tYXRpY2FsIHdoZW4gcGxhY2VkIGluIGZy b250IG9mIHtudW1iZXJ9IHtzdW10aX0sIGluIHdoaWNoIGNhc2UsIHRoZSBib3RoIHRoZSBudW1i ZXIgYW5kIHRoZSBzdW10aSBpcyBjb25zaWRlcmVkIHRoZSBuYW1lLgoKCgpUcmFuc2xhdGUgdGhp czogJydyZSBsYSBjaSBiYXJndSBjdSBqaWJuaSBsZSBtaSB6ZGFuaScnCgpBbnN3ZXI6IH5+Z3Jl eSxncmV5OiBUd28gIlRoZSBUaHJlZSBBcmNoZXMiIGFyZSBsb2NhdGVkIGNsb3NlIHRvIG15IGhv dXNlIiAoUGVyaGFwcyBUaGUgVGhyZWUgQXJjaGVzIGFyZSBhIGtpbmQgb2YgcmVzdGF1cmFudD8p fn4KCgoKLSAtJydsb2knJyBhbmQgJydsZWknJy0gLSBBbiBpbm5lciBxdWFudGlmaWVyIHRlbGxz IHVzIGhvdyBtYW55IG1lbWJlcnMgdGhlcmUgYXJlIGluIHRoZSBtYXNzL21hc3NlcyBpbiBxdWVz dGlvbi4gQW4gb3V0ZXIgcXVhbnRpZmllciBxdWFudGlmaWVzIGRpc3RyaWJ1dGl2ZWx5IHshfSBv dmVyIHRoZXNlIG1hc3NlcwoKTm90aWNlIGhlcmUgdGhhdCB3aGlsZSBtYXNzZXMgY29uc2lzdCBv ZiBhIG51bWJlciBvZiBvYmplY3RzIGNvbnNpZGVyZWQgbm9uLWRpc3RyaWJ1dGl2ZWx5LCBhbiBv dXRlciBxdWFudGlmaWVyIGFsd2F5cyB0cmVhdHMgZWFjaCBvZiB0aGVzZSBtYXNzZXMgYXMgYW4g aW5kaXZpZHVhbC4KCldoZW4gcGxhY2VkIGJlZm9yZSBhIG51bWJlciBzdHJpbmcsIHRoZW4gYSBz dW10aSwgJydsb2knJy8nJ2xlaScnIGlzIGRlZmluZWQgYXMgIicnbG8gZ3VubWEgYmUgbG8nJy8n J2xlJycge251bWJlcn0ge3N1bXRpfSIgLSAiVGhlIG1hc3MgY29uc2lzdGluZyBvZiB0aGUge251 bWJlcn0gb2Yge3N1bXRpfSIuCgoKCkF0dGVtcHQgdG8gdHJhbnNsYXRlIHRoaXM6ICcncmUgZGVp IGd1bm1hIHJlIGxvaSB6ZSB2YWxzaSAuaSBjYSdlIHBhIGRlaSBqYWkgZ2F1IGpldG51JycKCl9f JydndW5tYScnX18geDEgaXMgYSBtYXNzIG9mIHRoZSBpbmRpdmlkdWFscyB4MgoKX18nJ3ZhbHNp JydfXyB4MSBpcyBhIHdvcmQsIG1lYW5pbmcgeDIgaW4gbGFuZ3VhZ2UgeDMKCl9fJydjYSdlJydf XyBBdHRpdHVkaW5hbDogRXZpZGVudGlhbDogSSBkZWZpbmUKCl9fJydqZXRudScnX18geDEgaXMg dHJ1ZSBhY2NvcmRpbmcgdG8gbWV0YXBoeXNpY3MvZXBpc3RlbW9sb2d5IHgyCgpBbnN3ZXI6IH5+ Z3JleSxncmV5OiAiVGhlc2UgdHdvIHV0dGVyYW5jZXMgYXJlIGEgbWFzcywgY29uc2lzdGluZyBv ZiB0d28gaW5kaXZpZHVhbCBtYXNzZXMgZWFjaCBvZiBzZXZlbiB3b3Jkcy4gSSBkZWZpbmU6IFRo aXMgb25lIHV0dGVyYW5jZSBjYXVzZXMge2l0fSB0byBiZSB0cnVlLiJ+fgoKCgotIC0nJ2xhaScn LSAtIE11Y2ggbGlrZSAnJ2xhJycsIGFuIGlubmVyIHF1YW50aWZpZXIgKHdoZW4gbmFtZSBpcyBh IHNlbGJyaSkgaXMgcGFydCBvZiB0aGUgbmFtZS4gQW4gb3V0ZXIgb25lIHF1YW50aWZpZXMgZGlz dHJpYnV0aXZlbHkuIEJlZm9yZSBhIG51bWJlcitzdW10aSwgYm90aCB0aGUgc3VtdGkgYW5kIHRo ZSBudW1iZXIgbWFrZSB1cCB0aGUgbmFtZS4KCldoZW4gYSBmcmFjdGlvbiBpcyB1c2VkIGFzIGFu IG91dGVyIHF1YW50aWZpZXIgdG8gcXVhbnRpZnkgJydsb2knJywgJydsZWknJyBvciAnJ2xhaScn LCBvbmUgc3BlYWtzIGFib3V0IG9ubHkgcGFydCBvZiB0aGUgbWFzcyAoZm9yIGluc3RhbmNlLCAi aGFsZiBvZiB0aGUgSm9obnNvbnMiIC0gJydwaSBtdSBsYWkgLmRqYW5zeW4uJycpLgoKCgotIC0n J2xvJ2knJyBhbmQgJydsZSdpJyctIC0gQW4gaW5uZXIgcXVhbnRpZmllciBkZXNjcmliZXMgdGhl IGFtb3VudCBvZiBtZW1iZXJzIG9mIHRoZSBzZXQuIEFuIG91dGVyIHF1YW50aWZpZXMgZGlzdHJp YnV0aXZlbHkgb3ZlciBzZXZlcmFsIG9mIHN1Y2ggc2V0cy4gV2hlbiBwbGFjZWQgYmVmb3JlIGEg bnVtYmVyIGFuZCBhIHN1bXRpLCBpdCdzIGRlZmluZWQgYXMgIicnbG8gc2VsY21pIGJlICcnbG8n Jy8nJ2xlJycge251bWJlcn0ge3N1bXRpfSIgLSAiVGhlIHNldCBvZiB7bnVtYmVyfSB7c3VtdGl9 Ii4KCgoKVHJhbnNsYXRlICcnbG8naSBybyBzZSBjaW5raSBjdSBicmFtYXUgbGEnYSBwYSBubyBu byBsbydpIHJvIHNlIGJvZ3lrYW1qdSBqdXRzaScnCgpfXycnY2lua2knJ19fIHgxIGlzIGFuIGlu c2VjdCBvZiBzcGVjaWVzIHgyCgpfXycnbGEnYScnX18gQXR0aXR1ZGluYWw6IERpc2N1cnNpdmU6 IFByb2JhYmx5CgpfXycnYnJhbWF1JydfXyB4MSBpcyBiaWdnZXIgdGhhbiB4MiBpbiBkaW1lbnNp b24geDMgYnkgbWFyaWdpbiB4NAoKX18nJ2JvZ3lrYW1qdScnX18geDEgaXMgdGhlIHNwaW5lIG9m IHgyCgpfXycnanV0c2knJ19fIHgxIGlzIHRoZSBzcGVjaWVzIG9mIGdlbnVzIHgyLCBmYW1pbHkg eDMgLi4uIChvcGVuIGVuZGVkIGNsYXNzaWZpY2F0aW9uKQoKQW5zd2VyOiB+fmdyZXksZ3JleTog IlRoZSBzZXQgb2YgYWxsIHRoZSBzcGVjaWVzIG9mIGluc2VjdHMgaXMgcHJvYmFibHkgYmlnZ2Vy IHRoYW4gb25lIGh1bmRyZWQgc2V0cyBvZiBhbGwgc3BlY2llcyBvZiB2ZXJ0ZWJyYXRlcyJ+fgoK CgotIC0nJ2xhJ2knJy0gLSBBcyB3aXRoICcnbGFpJycKCkxpa2Ugd2l0aCB0aGUgbWFzcyBnYWRy aSwgYW4gb3V0ZXIgcXVhbnRpZmllciBiZWZvcmUgYSBzZXQgZ2FkcmkgZW5hYmxlcyBvbmUgdG8g c3BlYWsgYWJvdXQgYSBmcmFjdGlvbiBvZiBhIHNldC4gSW4gZnJvbnQgb2YgYSBudW1iZXIgYW5k IGEgc3VtdGksIGl0J3MgZGVmaW5lZCBhcyAiJydsbyBzZWxjbWkgYmUgbGEnJyB7bnVtYmVyfSB7 c3VtdGl9IiAtICJUaGUgc2V0IGNvbnNpc3Rpbmcgb2YgVGhlIHtOdW1iZXJ9IHtTdW10aX0iIChj b25zaWRlcmVkIGEgbmFtZSkKCgoKLSAtJydsbydlJycgYW5kICcnbGUnZScnLSAtIEFyZSBmb3Ig c29tZSByZWFzb24gbm90IGluY2x1ZGVkIGluIHRoZSBjdXJyZW50bHkgYWNjZXB0ZWQgZ2Fkcmkg cHJvcG9zYWwuIElmIG9uZSB3ZXJlIHRvIGV4dGVuZCB0aGUgcnVsZXMgb2YgYW5vdGhlciBnYWRy aSwgJydsbycnLycnbGUnJyB3b3VsZCBwcm9iYWJseSBiZSB0aGUgYmVzdCBjaG9pY2UgKHNpbmNl IGJvdGggb3BlcmF0ZXMgd2l0aCBpbmRpdmlkdWFscyByYXRoZXIgdGhhbiBncm91cHMpLCBhbmQg c28gb25lIHdvdWxkIGV4cGVjdCB0aGUgb3V0ZXIgcXVhbnRpZmllciB0byBmb3JjZSBkaXN0cmli dXRpdml0eSBvdmVyIHRoZSBhbW91bnQgb2YgdHlwaWNhbC9zdGVyZW90eXBpY2FsIHRoaW5ncyBn aXZlbiBieSB0aGUgaW5uZXIgcXVhbnRpZmllci4KCgoKV2hlbiBxdWFudGlmeWluZyBzdW1rYSdp IHJlcHJlc2VudGluZyBzZXZlcmFsIG9iamVjdHMsIGl0IGlzIHVzZWZ1bCB0byByZW1lbWJlciB0 aGF0IHRoZXkgYXJlIHVzdWFsbHkgbWFzc2VzLiBCeSBkZWZpbml0aW9uLCAie251bWJlcn0ge3N1 bXRpfSIgaXMgZGVmaW5lZCBhcyAie251bWJlcn0gJydkYSBwb2kga2UnYSBtZScnIHtzdW10aX0i LiBZb3Ugd2lsbCBub3QgYmUgZmFtaWxpYXIgd2l0aCAnJ2RhJycgdW50aWwgYSBmZXcgbGVzc29u cyBsYXRlciwgc28gdGFrZSBpdCBvbiBmYWl0aCB0aGF0IGlzIG1lYW5zICJzb21ldGhpbmciIGlu IHRoaXMgY29udGV4dC4gVGhlcmVmb3JlLCAnJ2NpIG1pJycgbWVhbnMgIlR3byBvZiB0aG9zZSB3 aG8gYmVsb25nIHRvICJ1cyIiLiBXaGVuIHF1YW50aWZ5aW5nIHN1Y2ggbWFzc2VzLCBpdCBjYW4g c2FmZWx5IGJlIGFzc3VtZWQgdGhhdCB0aGUgcmVsYXRpb24gaW1wbGllZCBieSAnJ21lJycgaXMg bWVtYmVyc2hpcCBvZiB0aGUgbWFzcywgYW5kIHRoZXJlZm9yZSAnJ2NpIG1pJycgaXMgIlRocmVl IG9mIHVzIi4KCgoKU29tZSBpbXBvcnRhbnQgdXNlcyBvZiBxdWFudGlmaWNhdGlvbiByZXF1aXJl cyB5b3UgdG8gYmUgcXVhbnRpZnkgc2VsYnJpIG9yIG9iamVjdHMgd2hvc2UgaWRlbnRpdHkgaXMg dW5rbm93bi4gVGhpcyBpcyBkb25lIGJ5ICJsb2dpY2FsbHkgcXVhbnRpZmllZCB2YXJpYWJsZXMi LiBUaGVzZSwgYXMgd2VsbCBhcyBob3cgdG8gcXVhbnRpZnkgdGhlbSB3aWxsIGJlIGNvdmVyZWQg aW4gbGVzc29ucyB0d2VudHktc2V2ZW4uCgoKCkxhc3RseSwgaG93IGNhbiB5b3UgcXVhbnRpZnkg dW5jb3VudGFibGUgc3Vic3RhbmNlcyBsaWtlIHN1Z2FyIG9yIHdhdGVyPyBPbmUgc29sdXRpb24g aXMgdG8gcXVhbnRpZnkgaXQgdXNpbmcgaW5leGFjdCBudW1iZXJzLiBUaGlzIHVzZSBpcyB2YWd1 ZSwgbm90IG9ubHkgYmVjYXVzZSB0aGUgdmFsdWUgb2YgdGhlIG51bWJlciBpcyB2YWd1ZSwgYnV0 IGFsc28gYmVjYXVzZSBpdCdzIG5vdCBzcGVjaWZpZWQgb24gd2hhdCBzY2FsZSB5b3UncmUgY291 bnRpbmc6IFRoZSBzdWdhciBjb3VsZCBiZSBjb25zaWRlcmVkIGEgZ3JvdXAgb2YgbWFueSBjcnlz dGFscywgY291bnRlZCBvbmUgYXQgYSB0aW1lLCBhbmQgdGhlIHdhdGVyIGNvdWxkIGJlIHF1YW50 aWZpZWQgYnkgdGhlIGFtb3VudHMgb2YgcmFpbmRyb3BzIGl0IHRvb2sgdG8gbWFrZSB0aGUgYm9k eSBvZiB3YXRlciBpbiBxdWVzdGlvbi4gV2hpbGUgdGhpcyB3YXkgb2YgY291bnRpbmcgaXMgbGVn aXRpbWF0ZSwgaXQncyBub3QgdmVyeSBleGFjdCBhbmQgY2FuIGVhc2lseSBjb25mdXNlIG9yIG1p c2xlYWQuCgpBIHdheSB0byBiZSBleHBsaWNpdCBhYm91dCBub24tY291bnRhYmlsaXR5IGlzIHRv IHVzZSB0aGUgbnVsbCBvcGVyYW5kICcndHUnbycnIGFzIGFuIGlubmVyIHF1YW50aWZpZXIuCgpf XycndHUnbycnX18gTnVsbCBvcGVyYW5kICggw5ggKS4gVXNlZCBpbiB1bmFyeSBtZWtzby4KClRo aXMgc29sdXRpb24gaXMgZWxlZ2FudCBhbmQgaW50dWl0aXZlLCBhbmQgYWxzbyBnaXZlcyBtZSBh biBleGN1c2UgdG8gcXVvdGUgdGhpcyBob3JyaWZ5aW5nLCB5ZXQgY29taWNhbCBleGFtcGxlIGZy b20gdGhlIG9yaWdpbmFsICcneG9ybG8nJy1wcm9wb3NhbDoKCicnbGUgbmFubXUgY3Ugc2Ugc251 dGkgLmkgamEnZSBibyBsbyB0dSdvIGdlcmt1IGN1IGt1c3BlIGxlIGtsYWppJycKCl9fJydzbnV0 aScnX18geDEgaXMgYW4gYWNjaWRlbnQgb24gdGhlIHBhcnQgb2YgeDIKCl9fJydqYSdlJydfXyBz dW10Y2l0YTogQkFJOiAoZnJvbSAnJ2phbGdlJycpOiBCcmlkaSByZXN1bHRzIGluIHtzdW10aX0g CgpfXycna3VzcGUnJ19fIHgxIHNwYW5zL2V4dGVuZHMgb3ZlciB4MgoKX18nJ2tsYWppJydfXyB4 MSBpcyBhIHJvYWQvYXZlbnVlL3N0cmVldCBhdCB4MiBhY2Nlc3NpbmcgeDMKCgoKV2hhdCBkb2Vz IGl0IG1lYW4/CgpBbnN3ZXI6IH5+Z3JleSxncmV5OiAiVGhlIG1hbiBoYWQgYW4gYWNjaWRlbnQg YW5kIHNvIHRoZXJlIHdhcyBkb2cgYWxsIG92ZXIgdGhlIHJvYWQifn4KCgoKQSBzZWNvbmQgbWV0 aG9kIG9mIHF1YW50aWZ5aW5nIHN1YnN0YW5jZXMgaXMgdG8gdXNlIHRoZSB0ZW5zZXMgJyd2ZSdp JycsICcndmUnYScnIGFuZCAnJ3ZlJ3UnJyBhcyBtZW50aW9uZWQgaW4gbGVzc29uIHRlbjoKCicn dGkgdmUnaSBkamFjdScnIC0gVGhpcyBpcyBhIHNtYWxsIGFtb3VudCBvZiB3YXRlcgoKX18nJ2Rq YWN1JydfXyB4MSBpcyBhbiBleHBhbnNlIG9mIHdhdGVyL2lzIG1hZGUgb2Ygd2F0ZXIvY29udGFp bnMgd2F0ZXIKCgoKVGhpcmRseSwgb2YgY291cnNlLCB5b3UgY291bGQgdXNlIGEgYnJpdmxhIHRv IGdpdmUgYW4gZXhhY3QgbWVhc3VyZW1lbnQ6CgonJ2xlIHRhIGRqYWN1IGN1IGtpJ29ncmEgYmUg bGkgcmUgcGkga2knbyBraSdvJycgLSAiVGhhdCB3YXRlciBoYXMgYSBtYXNzIG9mIDIuMDAwIDAw MCBraWxvZ3JhbXMiCgpfXycna2knb2dyYScnX18geDEgbWVhc3VyZXMgaW4gbWFzcyB4MiBraWxv Z3JhbXMgYnkgc3RhbmRhcmQgeDMKCgoKISFMb2piYW4gTGVzc29ucyAtIExlc3NvbiB0d2VudHkt dGhyZWUgKG5lZ2F0aW9uKQoKU29tZXRpbWVzLCBqdXN0IHNheWluZyB3aGF0J3MgdGhlIHRydXRo IGlzIG5vdCBlbm91Z2guIE9mdGVuLCB3ZSB3YW50IHRvIHNwZWNpZnkgd2hhdCdzIG5vdCB0aGUg dHJ1dGgsIGFuZCB3ZSBkbyB0aGlzIGJ5IHVzaW5nIG5lZ2F0aW9uLgoKTmVnYXRpb24gaW4gRW5n bGlzaCBtb3N0bHkgaW52b2x2ZXMg4oCcbm904oCdLCBhbmQgaXMgY29tcGxldGVseSBhcmJpdHJh cnkgYW5kIGFtYmlndW91cy4gV2UsIGFzIExvamJhbmlzdHMsIGNhbid0IGhhdmUgdGhhdCwgb2Yg Y291cnNlLCBzbyBMb2piYW4gY29udGFpbnMgYW4gZWxlZ2FudCBhbmQgdW5hbWJpZ2lvdXMgc3lz dGVtIGZvciBuZWdhdGluZy4gV2hhdCB3aWxsIGJlIHByZXNlbnRlZCBoZXJlIGFyZSB0aGUgb2Zm aWNpYWwgZ29sZC1zdGFuZGFyZCBydWxlcy4gRGlzYXBwcm92YWwgb2YgdGhlc2UgImdvbGRlbiBy dWxlcyIgY29uY2VybmluZyAnJ25hJycgaXMgZ3Jvd2luZywgYW5kIHRoZXJlIGlzIGRpc2FncmVl bWVudCBhYm91dCB3aGF0IHJ1bGUgc2V0IHNob3VsZCByZXBsYWNlIGl0LiBGb3Igbm93LCBJIHdp bGwgc3RpY2sgd2l0aCB0aGUgb2ZmaWNpYWwgcnVsZXMsIGFuZCB0aGVyZWZvcmUsIHNvIHdpbGwg eW91LCBkZWFyIHJlYWRlci4KClRoZSBmaXJzdCB5b3UgbmVlZCB0byBrbm93IGFib3V0IGlzIGJy aWRpIG5lZ2F0aW9uLCBzbyBjYWxsZWQgYmVjYXVzZSBpdCBuZWdhdGVzIHRoZSBicmlkaSBpdCdz IGluLCBzYXlpbmcgaXQncyBub3QgdHJ1ZS4gVGhlIHdheSB0byBuZWdhdGUgYSBicmlkaSBpcyB0 byBwbGFjZSAnJ25hJycgZmlyc3QgaW4gdGhlIHNlbnRlbmNlIHdpdGggYSAnJ2t1JycgYWZ0ZXIg aXQsIG9yIGp1c3QgYmVmb3JlIHRoZSBzZWxicmkuIAoKX18nJ3NwZW5pJydfXyB4MSBpcyBtYXJy aWVkIHRvIHgyIHVuZGVyIGNvbnZlbnRpb24geDMKClRodXM6ICcnbmEga3UgbGUgbWkgc3Blbmkg Y3UgbmlubXUnJyBzdGF0ZXMgdGhhdCDigJxNeSBzcG91c2UgaXMgbm90IGEgd29tYW7igJ0uIEl0 IHN0YXRlcyBub3RoaW5nIGFib3V0IHdoYXQgbXkgd2lmZSBpcywgb3IgaWYgSSBldmVuIGhhdmUg YSB3aWZlLiBJdCBvbmx5IHN0YXRlcyB0aGF0IEkgZG8gbm90IGhhdmUgYSB3aWZlIHdobyBpcyBh bHNvIGEgd29tYW4uIFRoaXMgaGFzIGFuIGltcG9ydGFudCBpbXBsaWNhdGlvbjogSWYgdGhlIG5l Z2F0aW9uIG9mIGEgYnJpZGkgaXMgZmFsc2UsIHRoZSBicmlkaSBtdXN0IGJlIHRydWU6ICcnbmEg a3UgbGUgbWkgc3BlbmkgY3UgbmEgbmlubXUnJyBtdXN0IG1lYW4gdGhhdCBJIGhhdmUgYm90aCBh IHNwb3VzZSwgYW5kIHRoYXQgc2hlIGlzIGEgc2hlLgoKSXQgaXMgcG9zc2libGUgdG8gdXNlIGJy aWRpIG5lZ2F0aW9ucyBpbiBhbGwgYnJpZGksIGV2ZW4gdGhlIGltcGxpY2l0IGJyaWRpIG9mIGRl c2NyaXB0aXZlIHN1bXRpLiAnJ2xvIG5hIHByZW51JycgY2FuIHJlZmVyIHRvIGFueXRoaW5nIG5v bi1odW1hbiwgd2hldGhlciBpdCBiZSBhIHNwaGlueCwgYSBiYXNlYmFsbCBvciB0aGUgcHJvcGVy dHkgb2YgYXBwcm9wcmlhdGVuZXNzLgoKCgpfXycnYmF1JydfXyBzdW10Y2l0YSwgZnJvbSBiYW5n dTogdXNpbmcgdGhlIGxhbmd1YWdlIG9mIHtzdW10aX0KCl9fJydzZSBqYSdlJydfXyBzdW10Y2l0 YSwgZnJvbSBzZSBqYWxnZTogYmVjYXVzZSBvZiB7c3VtdGl9CgoKCk9mdGVuIHdoZW4gdXNpbmcg JyduYScnLCBpdCdzIGEgcHJvYmxlbSB0aGF0IGl0IG5lZ2F0ZXMgdGhlIGVudGlyZSBicmlkaS4g SWYgSSBzYXkgJydtaSBuYSBzdXRyYSB0YXZsYSBiYXUgbGUgZ2xpYmF1IHNlIGphJ2UgbGUgbnUg bWkgZG90Y28nJywgSSBlbmQgdXAgbmVnYXRpbmcgdG9vIG11Y2gsIGFuZCBpdCBpcyBub3QgY2xl YXIgdGhhdCBJIHdhbnRlZCB0byBvbmx5IG5lZ2F0ZSB0aGF0IEkgc3BlYWsgZmFzdC4gVGhlIHNl bnRlbmNlIGNvdWxkIHN1Z2dlc3QgdGhhdCBJIGluIGZhY3Qgc3BlYWsgZmFzdCBiZWNhdXNlIG9m IHNvbWUgb3RoZXIgcmVhc29uLCBmb3IgaW5zdGFuY2UgdGhhdCBJIHNwZWFrIGZhc3QgaW4gRnJl bmNoIGJlY2F1c2UgSSdtIEdlcm1hbi4gVG8gZXhwcmVzcyB0aGUgc2VudGVuY2UgbW9yZSBwcmVj aXNlbHksIEkgbmVlZCB0byBvbmx5IG5lZ2F0ZSB0aGF0IEkgc3BlYWsgZmFzdCwgYW5kIG5vdCB0 aGUgb3RoZXIgdGhpbmdzLgoKVG8gb25seSBuZWdhdGUgcGFydCBvZiBhIGJyaWRpLCAnJ25hIGt1 JycgY2FuIGJlIG1vdmVkIGFyb3VuZCB0aGUgYnJpZGkgYW5kIHBsYWNlZCBhbnl3aGVyZSBhIHN1 bXRpIGNhbiBnby4gSXQgdGhlbiBuZWdhdGVzIGFueSBzdW10aSwgc2VsYnJpIGFuZCBzdW10Y2l0 YSBwbGFjZWQgYWZ0ZXIgaXQuIFdoZW4gcGxhY2VkIGltbWVkaWF0ZWx5IGJlZm9yZSB0aGUgc2Vs YnJpLCB0aGUgJydrdScnIGNhbiBiZSBlbGlkZWQuCgpNb3ZpbmcgJyduYSBrdScnIGZyb20gdGhl IGxlZnQgZW5kIG9mIHRoZSBicmlkaSBhbmQgcmlnaHR3YXJkcyBlZmZlY3RzIGFueSBxdWFudGlm aWVycyBpbiBhIGNlcnRhaW4gd2F5LCBhcyBjYW4gYmUgc2VlbiBieSB0aGlzIGV4YW1wbGU6CgoK ClRoZXJlIGFyZSBmb3JjZXMgd2l0aGluIHRoZSBMb2piYW4gY29tbXVuaXR5IHdobywgcGVyaGFw cyByaWdodGx5LCB0aGluayB0aGF0IHRoZXJlIGlzIG5vIGdvb2QgcmVhc29uIHRoYXQgYSAnJ25h JycgcGxhY2VkIGJlZm9yZSBhIHNlbGJyaSBuZWdhdGVzIHRoZSBlbnRpcmUgYnJpZGksIHdoZXJl YXMgYSAnJ25hIGt1JycgYW55IG90aGVyIHBsYWNlIG5lZ2F0ZXMgb25seSB3aGF0IGlzIHRyYWls aW5nIGJlaGluZCBpdC4gSG93ZXZlciwgaW4gdGhlc2UgbGVzc29ucyB5b3Ugd2lsbCBiZSB0YXVn aHQgd2hhdCBpcyBzdGlsbCB0aGUgb2ZmaWNpYWwgc3RhbmNlLCBuYW1lbHkgdGhhdCAnJ25hJycg YmVmb3JlIHRoZSBzZWxicmkgbmVnYXRlcyB0aGUgYnJpZGkuCgoKClRoZSB1c2Ugb2YgJyduYSBr dScnIGlzIGV4ZW1wbGlmaWVkIHdpdGggdGhlIGZvbGxvd2luZyBleGFtcGxlcy4KCicnbmEga3Ug cm8gcmVtbmEgY3UgdmVyYmEnJyDigJxJdCdzIG5vdCB0cnVlIHRoYXQ6IEFsbCBodW1hbnMgYXJl IGNoaWxkcmVu4oCdCgonJ3N1J28gcmVtbmEgbmEga3UgY3UgdmVyYmEnJyDigJxGb3IgYXQgbGVh c3Qgb25lIGh1bWFuIGl0J3Mgbm90IHRydWUgdGhhdDogSXQncyBhIGNoaWxk4oCdLiBTZWUgdGhh dCB0aGUgJyduYSBrdScnIGlzIHBsYWNlZCBiZWZvcmUgJydjdScnLCBzaW5jZSBhIHN1bXRpIGNh biBnbyBvbmx5IGJlZm9yZSwgbm90IGFmdGVyIHRoZSAnJ2N1JycuIEhhZCBJIG9ubHkgdXNlZCAn J25hJycsIGl0IHdvdWxkIGhhdmUgdG8gZ28gYWZ0ZXIgJydjdScnIC0gYnV0IHRoYXQgd291bGQg aGF2ZSBuZWdhdGVkIHRoZSBlbnRpcmUgYnJpZGksIG1lYW5pbmcgIkl0J3Mgbm90IHRydWUgdGhh dDogQXQgbGVhc3Qgb25lIGh1bWFuIGlzIGEgY2hpbGQiLgoKCgpXaGVuIHRoZSAnJ25hIGt1Jycg aXMgbW92ZWQgcmlnaHR3YXJkcywgYW55IHF1YW50aWZpZXIgaXMgaW52ZXJ0ZWQgLSB0aGF0IGlz OiAnJ3JvJycgaXMgdHVybmVkIGludG8gJydzdSdvJycuIFRoaXMgaXMsIG9mIGNvdXJzZSwgb25s eSBpZiB0aGUgbWVhbmluZyBvZiB0aGUgYnJpZGkgaGFzIHRvIGJlIHByZXNlcnZlZC4gVGhpcyBt ZWFucyB0aGF0IHdoZW4gdGhlICcnbmEga3UnJyBpcyBwbGFjZWQgYXQgdGhlIGVuZCBvZiB0aGUg YnJpZGksIG9ubHkgdGhlIHNlbGJyaSBpcyBuZWdhdGVkIGJ1dCBhbGwgdGhlIHN1bXRpIGFuZCBz dW10Y2l0YSBhcmUgcHJlc2VydmVkLCBhcyBjYW4gYmUgc2VlbiBieSB0aGVzZSB0aHJlZSBpZGVu dGljYWwgYnJpZGk6CgpfXycnY2t1bGUnJ19fIHgxIGlzIGEgc2Nob29sIGF0IGxvY2F0aW9uIHgy IHRlYWNoaW5nIHgzIHRvIHN0dWRlbnRzIHg0IGFuZCBvcGVyYXRlZCBieSB4NQoKCgonJ25hIGt1 IHJvIHZlcmJhIGN1IHZlIGNrdWxlIGZvIHN1J28gY2t1bGUnJyDigJMg4oCcSXQncyBub3QgdHJ1 ZSB0aGF0IGFsbCBjaGlsZHJlbiBhcmUgc3R1ZGVudHMgaW4gYSBzY2hvb2wu4oCdCgonJ3N1J28g dmVyYmEgY3UgdmUgY2t1bGUgbmEga3UgZm8gc3UnbyBja3VsZScnIOKAkyDigJxTb21lIGNoaWxk cmVuIGFyZSBzdHVkZW50cyBpbiBub3QgYSBzaW5nbGUgc2Nob29sLuKAnQoKJydzdSdvIHZlcmJh IGN1IHZlIGNrdWxlIGZvIHJvIGNrdWxlIG5hIGt1Jycg4oCTIOKAnFNvbWUgY2hpbGRyZW4gYXJl IGZvciBhbGwgc2Nob29scyBub3Qgc3R1ZGVudHMgaW4gdGhlbS7igJ0KCgoKVGhlIG9wcG9zaXRl IG9mICcnbmEnJyBpcyAnJ2phJ2EnJy4gVGhpcyBpcyBiYXJlbHkgZXZlciB1c2VkLCBzaW5jZSBp dCBpcyBkZWZhdWx0IGluIG1vc3QgYnJpZGkuIE9uZSBleGNlcHRpb24gaXMgcmVwZWF0ZWQgYnJp ZGkgKG5leHQgbGVzc29uKS4gU29tZXRpbWVzIGl0J3MgdXNlZCB0byBwdXQgbW9yZSB3ZWlnaHQg b24gdGhlIHRydXRoIG9mIHRoZSBicmlkaSwgYXMgaW4gJydsYSAuYmFiLiBqYSdhIG1lbGJpJycg PSAiQm9iIGlzIGluZGVlZCBiZWF1dGlmdWwiLgoKCgpXaGlsZSB0aGUgbWVjaGFuaXNtIG9mICcn bmEga3UnJyByZXNlbWJsZXMgbmF0dXJhbCBsYW5ndWFnZSBuZWdhdGlvbiwgaXQgY2FuIGJlIGRp ZmZpY3VsdCB0byBrZWVwIHRyYWNrIG9mIGV4YWN0bHkgd2hhdCBpcyBuZWdhdGVkIGFuZCBob3cg dGhhdCBhZmZlY3RzIHRoZSBicmlkaS4gRm9yIHRoYXQgcmVhc29uLCB0aGUgY29uc3RydWN0ICcn bmEga3UnJyBpcyByYXJlbHkgc2VlbiBhbnl3aGVyZSBvdGhlciB0aGFuIHRoZSBiZWdpbm5pbmcg b2YgYSBicmlkaS4gSW4gbW9zdCBjYXNlcyB3aGVyZSBtb3JlIHNwZWNpZmljIG5lZ2F0aW9uIGlz IG5lZWRlZCBwZW9wbGUgcmVzb3J0IHRvIGEgZGlmZmVyZW50IG1ldGhvZC4gVGhpcyBtZXRob2Qs IGNhbGxlZCBzY2FsYXIgbmVnYXRpb24sIGlzIGFuIGVsZWdhbnQgYW5kIGludHVpdGl2ZSB0b29s LiBVc2luZyBpdCwgeW91IGVmZmVjdCBvbmx5IHRoZSBzZWxicmksIHNpbmNlIHRoZSB3b3JkcyB1 c2VkIGluIHNjYWxhciBuZWdhdGlvbiBiaW5kcyB0byB0aGUgc2VsYnJpIG11Y2ggbGlrZSB0aGUg d29yZCAnJ3NlJycuCgpUaGUgbmFtZSDigJxzY2FsYXIgbmVnYXRpb27igJ0gaXMgZGVyaXZlZCBm cm9tIHRoZSBmYWN0IHRoYXQgdGhlIHdvcmRzIHdoaWNoIGJpbmQgdG8gdGhlIHNlbGJyaSBjYW4g YmUgcGxhY2VkIGFsb25nIGEgc2NhbGUgZnJvbSBhZmZpcm1hdGlvbiBvdmVyIG5lZ2F0aW9uIGFu ZCB0byBzdGF0aW5nIHRoYXQgdGhlIG9wcG9zaXRlIGNhc2UgaXMgdHJ1ZToKCnx8V29yZHxNZWFu aW5nCgpqZSdhfOKAnEluZGVlZOKAnTsgc2NhbGFyIGFmZmlybWVyCgpubydlfOKAnE5vdCByZWFs bHnigJ0sIHNjYWxhciBtaWRwb2ludAoKbmEnZXzigJxOb24t4oCcLCBzY2FsYXIgbmVnYXRvcgoK dG8nZXzigJxJbOKAnSwg4oCcRGlzLeKAnCwg4oCcTWlz4oCdIGVjdDsgc2NhbGFyIG9wcG9zZXJ8 fAoKCgpUaGVzZSB3b3JkcyBhcmUgbm90IG5lZ2F0b3JzIGluIHRoZSBzYW1lIHNlbnNlIGFzICcn bmEnJy4gVGhleSBkbyBub3Qgc3RhdGUgdGhhdCBhIGJyaWRpIGlzIGZhbHNlLCBidXQgbWFrZXMg YSBwb3NpdGl2ZSBzdGF0ZW1lbnQgdGhhdCBhIGJyaWRpIGlzIHRydWUg4oCTIHRoZSBzYW1lIGJy aWRpLCBidXQgd2l0aCBhIGRpZmZlcmVudCBzZWxicmkuIFRoaXMgZGlzdGluY3Rpb24gaXMgbW9z dGx5IGFjYWRlbWljLCB0aG91Z2guIElmLCBmb3IgZXhhbXBsZSwgSSBzdGF0ZSB0aGF0ICcnbWkg bmEnZSBzZSBuZWxjaScnICJJIGFtIG5vbi1saWtlZCIsIEkgYWN0dWFsbHkgc3RhdGUgdGhhdCBz b21lIHNlbGJyaSBhcHBsaWVzIHRvIG1lLCB3aGljaCBpcyBhbHNvIG9uIGEgcmVsZXZhbnQgc2Nh bGUgd2l0aCB0aGUgc2VsYnJpICcnbmVsY2knJy4gTW9zdCBvZiB0aGUgdGltZSwgd2UgYXNzdW1l IGEgc2NhbGUgd2hlcmUgdGhlIHBvc2l0aW9ucyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIChsaWtl IGxvdmUtbGlrZS1kaXNsaWtlLWhhdGUpLCBzbyAnJ21pIG5hJ2Ugc2UgbmVsY2knJyBpbXBsaWVz ICcnbWkgbmEgc2UgbmVsY2knJwoKVGhlcmVmb3JlLCB0aGUgd29yZHMgJydubydlJycgYW5kICcn dG8nZScnIHNob3VsZCBvbmx5IGJlIHVzZWQgd2hlbiB0aGUgc2VsYnJpIGlzIHBsYWNlZCBvbiBz b21lIG9idmlvdXMgc2NhbGU6CgonJ2xlIG1pIHNwZW5pIGN1IHRvJ2UgbWVsYmknJyDigJMg4oCd TXkgc3BvdXNlIGlzIHVnbHnigJ0gbWFrZXMgc2Vuc2UsIHNpbmNlIHdlIGltbWVkaWF0ZWx5IGtu b3cgd2hhdCB0aGUgb3Bwb3NpdGUgb2YgYmVhdXRpZnVsIGlzLCB3aGlsZQoKJydtaSBrbGFtYSBs ZSBtaSB0bydlIHpkYW5pJycg4oCTIOKAnUkgZ28gdG8gbXkgb3Bwb3NpdGUgdGhpbmcgb2YgaG9t ZeKAnSwgd2hpbGUgZ3JhbW1hdGljYWwsIGxlYXZlcyB0aGUgbGlzdGVuZXIgZ3Vlc3Npbmcgd2hh dCB0aGUgc3BlYWtlcidzIOKAnG9wcG9zaXRlLWhvbWXigJ0gaXMgYW5kIHNob3VsZCBiZSBhdm9p ZGVkLgoKCgpTbyBob3cgY2FuIHlvdSBuZWdhdGUgb25seSB0aGUgc2VsYnJpIHdpdGhvdXQgYWxz byBpbXBseWluZyB0aGF0IHRoZSBzZWxicmkgaXMgY29ycmVjdCBhdCBzb21lIG90aGVyIHBvc2l0 aW9uIG9uIGEgdHJ1dGgtc2NhbGU/IFNpbXBsZTogTW92aW5nIHRoZSAnJ25hIGt1JycgdG8gdGhl IHJpZ2h0bW9zdCBlbmQgb2YgdGhlIGJyaWRpLCBhcyBkZW1vbnN0cmF0ZWQgYSBmZXcgbGluZXMg YWJvdmUuIFRoaXMgZmVhdHVyZSBpcyB2ZXJ5IHVzZWZ1bC4gU29tZSBsb2piYW5pc3RzIHByZWZl ciB0byBwcmVmaXggdGhlIHJhZnNpICcnbmFyJycgKHRoZSByYWZzaSBvZiAnJ25hJycpIGluIGZy b250IG9mIHRoZSBzZWxicmkgLSB0aGlzIGhhcyB0aGUgc2FtZSBlZmZlY3QsIGJ1dCBJIGFkdmlz ZSBhZ2FpbnN0IGl0LCBiZWNhdXNlIGl0IG1ha2VzIGZhbWlsaWFyIGJyaXZsYSBzZWVtIGFsaWVu LCBhbmQgaXQncyBoYXJkZXIgdG8gdW5kZXJzdGFuZCB3aGVuIHNwb2tlbiBjYXN1YWxseS4KCklm IGEgc2l0dWF0aW9uIGFyaXNlcyB3aGVyZSB5b3UgbmVlZCB0byBuZWdhdGUgb25seSB0aGUgc2Vs YnJpLCBidXQgd2FudCBpdCB0byBiZSBjbGVhciBiZWZvcmUgdGhlIGVuZCBvZiB0aGUgYnJpZGks IHRoZSBleHBlcmltZW50YWwgY21hdm8gJyduYSdlaScnLCB3aGljaCBncmFtbWF0aWNhbGx5IHdv cmtzIGxpa2UgJyduYSdlJycsIGNhbiBiZSB1c2VkCgpfXycnbmEnZWknJ19fOiBOZWdhdGVzIHRo ZSBmb2xsb3dpbmcgc2VsYnJpIG9ubHkKCgoKVHJ5IHRvIHRyYW5zbGF0ZSB0aGVzZSBzZW50ZW5j ZXM6CgrigJxNeSBzcG91c2UgaXMgbm90IGEgd29tYW7igJ0gKG1lYW5pbmcgdGhhdCBoZSBpcyBh IG1hbGUpCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JydsZSBtaSBzcGVuaSBjdSBuYSdlIC8gdG8n ZSBuaW5tdScnLiBVc2luZyBzY2FsYXIgbmVnYXRpb24gaGVyZSBpbXBsaWVzIHRoYXQgaGUgZXhp c3RzLCB3aGljaCBuYSBkaWQgbm90Ln5+CgoKCuKAnE15IHNwb3VzZSBpcyBub3QgcmVhbGx5IGEg d29tYW7igJ0KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ2xlIG1pIHNwZW5pIGN1IG5vJ2Ugbmlu bXUnJy4gVGhlIHNjYWxlIGhlcmUgaXMgcHJlc3VtZWQgdG8gYmUgZnJvbSB3b21hbiB0byBtYW4u fn4KCgoK4oCcSSBkb24ndCBzcGVhayBmYXN0IGluIEVuZ2xpc2ggYmVjYXVzZSBJJ20gR2VybWFu 4oCdCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JydtaSBuYSdlIHN1dHJhIHRhdmxhIGJhdSBsZSBn bGliYXUgc2UgamEnZSBsZSBudSBtaSBkb3Rjbycnfn4KCgoKQWxzbywgbm90ZSB0aGF0IHdoZW5l dmVyIHRoZXNlIHdvcmRzIGFyZSB1c2VkIHRvZ2V0aGVyIHdpdGggYSB0YW5ydSwgdGhleSBvbmx5 IGFmZmVjdCB0aGUgbGVmdG1vc3Qgc2VsYnJpLiBJbiBvcmRlciB0byBtYWtlIGl0IGJpbmQgdG8g dGhlIHdob2xlIHRhbnJ1IG9yIHBhcnRzIG9mIHRoZSB0YW5ydSwgdGhlIHVzdWFsIHRhbnJ1LWdy b3VwaW5nIHdvcmRzIGNhbiBiZSB1c2VkLgoKCgpUcnkgdG8gc2F5IOKAnEkgc2VsbCBzb21ldGhp bmcgd2hpY2ggaXMgbm90IHllbGxvdyBob21lc+KAnSB1c2luZyB0aGUgdGFucnUgJydwZWx4dSB6 ZGFuaSB2ZWNudScnCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JydtaSBuYSdlIGtlIHBlbHh1IHpk YW5pIGtlJ2UgdmVjbnUgb3IgbWkgbmEnZSBwZWx4dSBibyB6ZGFuaSB2ZWNudScnfn4KCgoKV2hl biBhdHRlbXB0aW5nIHRvIGFuc3dlcjog4oCcSXMgdGhlIGtpbmcgb2YgdGhlIFVTQSBmYXQ/4oCd LCBhbGwgb2YgdGhlc2UgbmVnYXRpb25zIGZhaWwuIFdoaWxlIGl0J3MgdGVjaG5pY2FsbHkgY29y cmVjdCB0byBuZWdhdGUgaXQgd2l0aCAnJ25hJycsIHNpbmNlIGl0IG1ha2VzIG5vIGFzc3VtcHRp b25zIG9mIHRoYXQgaXMgdHJ1ZSwgaXQncyBtaWxkbHkgbWlzbGVhZGluZyBzaW5jZSBpdCBjb3Vs ZCBsZWFkIHRoZSBsaXN0ZW5lciB0byBiZWxpZXZlIHRoZXJlIGlzIGEga2luZyBvZiB0aGUgVVNB LiBGb3IgdGhlc2Ugc2NlbmFyaW9zLCB0aGVyZSBpcyBhIG1ldGFsaW5ndWlzdGljIG5lZ2F0b3Is ICcnbmEnaScnLgoKJyduYSdpJycgTWV0YWxpbmd1aXN0aWMgbmVnYXRvci4gU29tZXRoaW5nIGlz IHdyb25nIHdpdGggYXNzaWduaW5nIGEgdHJ1dGggdmFsdWUgdG8gdGhlIGJyaWRpLgoKQmVjYXVz ZSAnJ25hJ2knJyBjYW4gYmUgbmVlZGVkIGFueXdoZXJlIGl0IGhhcyBiZWVuIGdpdmVuIHRoZSBn cmFtbWFyIG9mIHRoZSBhdHRpdHVkaW5hbHMsIHdoaWNoIG1lYW5zIGl0IGNhbiBhcHBlYXIgYW55 d2hlcmUsIGFuZCBpdCBhdHRhY2hlcyB0byB0aGUgcHJldmlvdXMgd29yZCBvciBjb25zdHJ1Y3Qu CgoKCl9fJydwYWxjaScnX18geDEgaXMgZXZpbCBieSBzdGFuZGFyZCB4MgoKJydsZSBuYSdpIHB1 IHRlIHp1a3RlIGJlIGxlIHNrYW1pIGN1IHBhbGNpJycg4oCTIOKAnVRoZSBzb3VnaHQgZ29hbCB7 bWlzdGFrZSF9IG9mIHRoZSBjb21wdXRlciB3YXMgZXZpbOKAnSwgcHJvYmFibHkgcHJvdGVzdHMg dGhhdCBjb21wdXRlcnMgY2FuIHNlZWsgYSBnb2FsIHZvbGl0aW9uYWxseS4KCgoKU2luY2UgdGhp cyBpcyBhIGxlc3NvbiBvbiBuZWdhdGlvbiwgSSBiZWxpZXZlIHRoZSB3b3JkICcnbmFpJycgZGVz ZXJ2ZXMgYSBzaG9ydCBtZW50aW9uLiBJdCBpcyB1c2VkIHRvIG5lZ2F0ZSBtaW5vciBncmFtbWF0 aWNhbCBjb25zdHJ1Y3RzLCBhbmQgY2FuIGJlIHVzZWQgaW4gY29tYmluYXRpb24gd2l0aCBhdHRp dHVkaW5hbHMsIGFsbCBzdW10Y2l0YSBpbmNsdWRpbmcgdGVuc2VzLCB2b2NhdGl2ZXMgYW5kIGxv Z2ljYWwgY29ubmVjdGl2ZXMuIFRoZSBydWxlcyBmb3IgbmVnYXRpbmcgdXNpbmcgJyduYWknJyBk ZXBlbmQgb24gdGhlIGNvbnN0cnVjdCwgYW5kIHNvIHRoZSBlZmZlY3Qgb2YgJyduYWknJyBoYXMg YmVlbiBkaXNjdXNzZWQgd2hlbiBtZW50aW9uaW5nIHRoZSBjb25zdHJ1Y3QgdGhlbXNlbHZlcy4g VGhlIGV4Y2VwdGlvbiBpcyBzdW10Y2l0YSwgd2hlcmUgdGhlIHJ1bGVzIGZvciBuZWdhdGlvbiBh cmUgbW9yZSBjb21wbGV4LCBhbmQgd2lsbCBub3QgYmUgZGlzY3Vzc2VkIGhlcmUuCgpfX05vdGU6 X18gQXQgdGhlIHRpbWUgb2Ygd3JpdGluZywgaXQgaGFzIGJlZW4gcHJvcG9zZWQgdG8gbW92ZSAn J25haScnIHRvIHRoZSBzZWxtYSdvIENBSSwgd2hpY2ggbWVhbnMgdGhlIHNlbWFudGljcyBvZiAn J25haScnIGRlcGVuZCBvbiB3aGljaCBzZWxtYSdvIGl0IGZvbGxvd3MuIAoKCgoKCiEhTG9qYmFu IExlc3NvbnMgLSBMZXNzb24gdHdlbnR5LWZvdXIgKGJyaWthJ2kvcHJvLWJyaWRpIGFuZCBrbydh KQoKSWYgSSBzYXkgdGhhdCBJJ20gY2FsbGVkIE1pa2hhaWwsICcnbGEgLm1pa2FpbC4gY21lbmUg bWknJywgYW5kIHlvdSBoYXZlIHRvIHNheSB0aGUgZXhhY3Qgc2FtZSBicmlkaSwgd2hhdCB3b3Vs ZCB0aGF0IGJlPyBPbmUgb2YgdGhlIG1hbnkgYW5zd2VycyBpcyAnJ2RvIHNlIGNtZW5lIGxhIC5t aWthaWwuJycuIEZvciB0aGUgYnJpZGkgdG8gYmUgdGhlIHNhbWUsIHlvdSBoYXZlIHRvIHJlcGxh Y2UgJydtaScnIHdpdGggJydkbycnLCBhbmQgaXQgZG9lc24ndCBtYXR0ZXIgd2hpY2ggaWYgeW91 IHNheSB0aGUgYnJpZGkgd2l0aCB0aGUgJydzZScnLWNvbnZlcnRlZCBzZWxicmkgb3Igbm90LiBU aGlzIGlzIGJlY2F1c2UgYSBicmlkaSBpcyBub3QgdGhlIHdvcmRzIHdoaWNoIGV4cHJlc3MgaXQg 4oCTIGEgYnJpZGkgaXMgYW4gaWRlYSwgYW4gYWJzdHJhY3QgcHJvcG9zaXRpb24uIFRoZSB3b3Jk ICcnbWknJyB3aGVuIEkgc2F5IGl0IGFuZCB0aGUgd29yZCAnJ2RvJycgd2hlbiB5b3UgZG8gcmVm ZXJzIHRvIHRoZSBzYW1lIHN1bXRpLCBzbyB0aGUgdHdvIGJyaWRpIGFyZSBpZGVudGljYWwuCgpU aGlzIGxlc3NvbiBpcyBvbiAnJ2JyaWthJ2knJywgdGhlIGJyaWRpIGVxdWl2YWxlbnQgb2Ygc3Vt a2EnaS4gVGhleSBhcmUgd29yZCB3aGljaCByZXByZXNlbnQgZW50aXJlIGJyaWRpLiBIZXJlIGl0 IGlzIGltcG9ydGFudCB0byByZW1lbWJlciB0aGF0IGEgYnJpZGkgY29uc2lzdHMgb25seSBvZiBz dW10aSBhbmQgdGhlIHRoaW5ncyB3aGljaCBjb250YWluIHRoZSBzdW10aSwgc2VsYnJpIGFuZCBz dW10Y2l0YS4gTmVpdGhlciBhdHRpdHVkaW5hbHMsIG5vciB0aGUgc2VtYW50aWMgbGF5ZXIgb2Yg JydrbycnIG9yICcnbWEnJyBhcmUgcGFydCBvZiB0aGUgYnJpZGkgcHJvcGVyLCBhbmQgc28gdGhl c2UgYXJlIG5vdCByZXByZXNlbnRlZCBieSBhICcnYnJpa2EnaScnLgoKCgpUaGVyZSBhcmUgbXVj aCBmZXdlciAnJ2JyaWthJ2knJyB0aGFuIHRoZXJlIGFyZSBzdW1rYSdpLiBXZSB3aWxsIGJlZ2lu IGJ5IGdvaW5nIHRocm91Z2ggc29tZSBvZiB0aGUgd29yZHMgaW4gdGhlIG1vc3QgdXNlZCBzZXJp ZXMsIGNhbGxlZCBHT2hBOgoKV29yZDoJRGVmaW5pdGlvbjoKCl9fJydnbyd1JydfXwlSZXBlYXRz IHJlbW90ZSBwYXN0IGJyaWRpCgpfXycnZ28nYScnX18JUmVwZWF0cyBwYXN0IGJyaWRpCgpfXycn Z28nZScnX18JUmVwZWF0cyBuZXh0LXRvLWxhc3QgYnJpZGkKCl9fJydnbydpJydfXwlSZXBlYXRz IGxhc3QgbWVudGlvbmVkIGJyaWRpCgpfXycnZ28nbycnX18JUmVwZWF0cyBmdXR1cmUgYnJpZGkK Cl9fJyduZWknJ19fCVJlcGVhdHMgY3VycmVudCBicmlkaQoKX18nJ25vJ2EnJ19fCVJlcGVhdHMg b3V0ZXIgYnJpZGkKCgoKU29tZSBvZiB0aGUgR09oQS0nJ2JyaWthJ2knJy4gTm90aWNlIHRoZSBm YW1pbGlhciBpLCBhLCB1LXBhdHRlcm4gZm9yIGNsb3NlIGluIHBhc3QsIG1lZGl1bSBpbiBwYXN0 IGFuZCBkaXN0YW50IGluIHBhc3QuCgoKClRoZXNlIGFyZSB2ZXJ5IG11Y2ggbGlrZSB0aGUgc3Vt a2EnaSAnJ3JpJycsICcncmEnJyBhbmQgJydydScnLiBUaGV5IGNhbiBvbmx5IHJlZmVyIHRvIG1h aW4gYnJpZGkgb2YganVmcmEsIGFuZCBub3QgdGhvc2UgY29udGFpbmVkIGluIHJlbGF0aXZlIHBo cmFzZXMgb3IgZGVzY3JpcHRpb24gc3VtdGkuIFRoZSBtYWluIGJyaWRpIGNhbiBjb250YWluIGEg cmVsYXRpdmUgcGhyYXNlLCBvZiBjb3Vyc2UsIGJ1dCBhICcnYnJpa2EnaScnIGNhbiBuZXZlciBi ZSB1c2VkIHRvIHJlZmVyIHRvIG9ubHkgdGhlIHJlbGF0aXZlIHBocmFzZS4KCkEgR09oQSBhY3Rz IGdyYW1tYXRpY2FsbHkgbXVjaCBsaWtlIGEgc2VsYnJpLCBhbnkgY29uc3RydWN0IHdoaWNoIGNh biBhcHBseSB0byBzZWxicmkgY2FuIGFsc28gYXBwbHkgdG8gdGhlc2UuIFRoZSBwbGFjZSBzdHJ1 Y3R1cmUgb2YgYSBHT2hBIGlzIHRoZSBzYW1lIGFzIHRoYXQgb2YgdGhlIGJyaWRpIGl0IHJlcHJl c2VudHMsIGFuZCB0aGUgc3VtdGkgYXJlIGJ5IGRlZmF1bHQgdGhlIHNhbWUgYXMgaW4gdGhlIGJy aWRpIGl0IHJlcHJlc2VudHMuIEZpbGxpbmcgdGhlIHN1bXRpIHBsYWNlcyBvZiBhIEdPaEEgZXhw bGljaXRseSBvdmVyd3JpdGVzIHRoZSBzdW10aSBvZiB0aGUgYnJpZGkgaXQgcmVwcmVzZW50cy4g Q29udHJhc3Q6CgpBOiAnJ21pIGNpdGthIGxvIHBsaXNlJycgQjogJydnbydpJycg4oCTIOKAnEkg ZWF0IGFuIGFwcGxlLuKAnSDigJxZb3UgZG8u4oCdIHdpdGgKCkE6ICcnbWkgY2l0a2EgbG8gcGxp c2UnJyBCOiAnJ21pIGdvJ2knJyDigJMg4oCcSSBlYXQgYW4gYXBwbGUu4oCdIOKAnEkgZG8sIHRv by7igJ0KCgoKVGhlc2UgJydicmlrYSdpJycgYXJlIHZlcnkgdXNlZnVsIHdoZW4gYW5zd2VyaW5n IGEgcXVlc3Rpb24gd2l0aCAnJ3h1Jyc6CgpBOiAnJ3h1IGRvIG5lbGNpIGxlIG1pIHNwZW5pJycg QjogJydnbydpIC8gbmEgZ28naScnIOKAkyDigJxEbyB5b3UgbGlrZSBteSB3aWZlP+KAnSDigJxZ ZXMuL05vLuKAnS4gVGhlICcneHUnJywgYmVpbmcgYW4gYXR0aXR1ZGluYWwsIGlzIG5vdCBjb3Bp ZWQuCgpXaGVuIHJlcGVhdGluZyBicmlkaSBuZWdhdGVkIGJ5ICcnbmEnJywgdGhhdCBpczogQnJp ZGkgd2hlcmUgJyduYScnIGlzIHBsYWNlZCBpbiB0aGUgcHJlbmV4IChsZXNzb24gdHdlbnR5LXNl dmVuKSwgaW4gdGhlIGJlZ2lubmluZyBvZiB0aGUgYnJpZGkgb3IgcmlnaHQgYmVmb3JlIHRoZSBz ZWxicmksIHRoZSBydWxlcyBmb3IgY29weWluZyBvdmVyICcnbmEnJyBhcmUgZGlmZmVyZW50IGZy b20gd2hhdCBvbmUgbWlnaHQgZXhwZWN0LiBBbnkgJyduYScnIGlzIGNvcGllZCBvdmVyLCBidXQg YW55IGFkZGl0aW9uYWwgJyduYScnIGluIHRoZSBwcm8tYnJpZGkgcmVwbGFjZXMgdGhlIGZpcnN0 IG5hLiBMZXQgbWUgc2hvdyB5b3Ugd2l0aCBhbiBleGFtcGxlOgoKQTogJydtaSBuYSBjaXRrYSBs byBwbGlzZScnCgpCOiAnJ21pIGdvJ2knJyA9ICcnbWkgbmEgY2l0a2EgbG8gcGxpc2UnJwoKQzog JydtaSBuYSBnbydpJycgPSAnJ21pIG5hIGNpdGthIGxvIHBsaXNlJycKCkQ6ICcnbWkgbmEgbmEg Z28naScnID0gJydtaSBjaXRrYSBsbyBwbGlzZScnID0gJydtaSBqYSdhIGdvJ2knJwoKCgonJ25l aScnIGFuZCAnJ25vJ2EnJyBhcmUgbm90IHVzZWQgbXVjaCwgZXhjZXB0IGZvciDigJxtaW5kLWJy ZWFraW5nIHB1cnBvc2Vz4oCdLCB3aGljaCBpcyBtYWtpbmcgdXAgYnJpZGkgd2hpY2ggYXJlIGhh cmQgdG8gcGFyc2UsIGxpa2UgJydkZWkgbmEgc2UgZHUndSBsZSBubydhIGxhJ2UgbGUgbmVpJycu IFNpbmNlICcnbmVpJycgcmVwZWF0cyB0aGUgY3VycmVudCBvdXRlciBicmlkaSwgaG93ZXZlciwg JydsZSBuZWknJyBjYW4gYmUgdXNlZCB0byByZWZlciB0byB0aGUgeDEgb2YgdGhlIGN1cnJlbnQg b3V0ZXIgYnJpZGksICcnbGUgc2UgbmVpJycgdGhlIHgyIGFuZCBzbyBvbi4KCgoKV2hlbiB1c2lu ZyAnJ2JyaWthJ2knJywgb25lIG11c3QgYWx3YXlzIGJlIHdhcnkgb2YgY29weWluZyBzZW50ZW5j ZXMgd2l0aCB0aGUgcGVyc29uYWwgc3Vta2EnaSBsaWtlICcnbWknJywgJydkbycnLCAnJ21hJ2En JyBlY3QsIGFuZCBiZSBjYXJlZnVsIG5vdCB0byByZXBlYXQgdGhlbSB3aGVuIHRoZXkgYXJlIGlu IHRoZSB3cm9uZyBjb250ZWN0LCBhcyBzaG93biBpbiB0aGUgdHdvIGV4YW1wbGVzIHdpdGggYXBw bGUgZWF0aW5nIGFib3ZlLiBJbnN0ZWFkIG9mIHJlcGxhY2luZyB0aGVtIG9uZSBieSBvbmUsIHRo b3VnaCwgdGhlIHdvcmQgJydyYSdvJycgYW55d2hlcmUgaW4gdGhlIGJyaWRpIHVwZGF0ZXMgdGhl IHBlcnNvbmFsIHN1bWthJ2kgc28gdGhhdCB0aGV5IGFwcGx5IGZvciB0aGUgc3BlYWtlcidzIHBl cnNwZWN0aXZlOgoKQTogJydtaSBkbyBwcmFtaScnIEI6ICcnbWkgZG8gZ28naScnIGlzIGVxdWl2 YWxlbnQgdG8gQTogJydtaSBkbyBwcmFtaScnIEI6ICcnZ28naSByYSdvJycKCl9fJydyYSdvJydf XyBVcGRhdGUgYWxsIHBlcnNvbmFsIHN1bWthJ2kgc28gdGhhdCB0aGV5IG5vdyBmaXQgdGhlIHNw ZWFrZXIncyBwb2ludCBvZiB2aWV3LgoKCgpUaGUgb25seSBvdGhlciBzZXJpZXMgb2YgYnJpa2En aSBhcmUgdmVyeSBlYXN5IHRvIHJlbWVtYmVyOgoKX18nJ2Jyb2RhJydfXwlCcmlkaSB2YXJpYWJs ZSAxCgpfXycnYnJvZGUnJ19fCUJyaWRpIHZhcmlhYmxlIDIKCl9fJydicm9kaScnX18JQnJpZGkg dmFyaWFibGUgMwoKX18nJ2Jyb2RvJydfXwlCcmlkaSB2YXJpYWJsZSA0CgpfXycnYnJvZHUnJ19f CUJyaWRpIHZhcmlhYmxlIDUKCl9fJydjZWknJ19fCURlZmluZSBicmlkaSB2YXJpYWJsZSAobm90 IGEgYnJpa2EnaSBhbmQgbm90IGluIEJST0RBKQoKCgoKClRoZSBmaXJzdCBmaXZlIGFyZSBqdXN0 IGZpdmUgaW5zdGFuY2VzIG9mIHRoZSBzYW1lIHdvcmQuIFRoZXkgY2FuIGJlIHVzZWQgYXMgc2hv cnRjdXRzIHRvIGJyaWRpLiBBZnRlciBzYXlpbmcgYSBicmlkaSwgc2F5aW5nICcnY2VpIGJyb2Rh JycgZGVmaW5lcyB0aGF0IGJyaWRpIGFzICcnYnJvZGEnJywgYW5kICcnYnJvZGEnJyBjYW4gdGhl biBiZSB1c2VkIGFzICcnYnJpa2EnaScnIGZvciB0aGF0IGJyaWRpIGluIHRoZSBmb2xsb3dpbmcg Y29udmVyc2F0aW9uLgoKV2hpbGUgd2UncmUgYXQgaXQsIHRoZXJlIGlzIGFuIGFuYWxvZ291cyBz ZXJpZXMgb2Ygc3Vta2EnaSwgd2hpY2ggcHJvYmFibHkgZG9lcyBub3QgYmVsb25nIGluIHRoaXMg bGVzc29uLCBidXQgaGVyZSB0aGV5IGFyZSBhbnl3YXk6CgpfXycna28nYScnX18JU3VtdGkgdmFy aWFibGUgMQlfXycnZm8nYScnX18JU3VtdGkgdmFyaWFibGUgNgoKX18nJ2tvJ2UnJ19fCVN1bXRp IHZhcmlhYmxlIDIJX18nJ2ZvJ2UnJ19fCVN1bXRpIHZhcmlhYmxlIDcKCl9fJydrbydpJydfXwlT dW10aSB2YXJpYWJsZSAzCV9fJydmbydpJydfXwlTdW10aSB2YXJpYWJsZSA4CgpfXycna28nbycn X18JU3VtdGkgdmFyaWFibGUgNAlfXycnZm8nbycnX18JU3VtdGkgdmFyaWFibGUgOQoKX18nJ2tv J3UnJ19fCVN1bXRpIHZhcmlhYmxlIDUJX18nJ2ZvJ3UnJ19fCVN1bXRpIHZhcmlhYmxlIDEwCgoK CmFzIHdlbGwgYXMgdGhlICcnY2VpJyctZXF1aXZhbGVudCBmb3IgdGhpcyBzZXJpZXM6CgpfXycn Z29pJydfXyBEZWZpbmUgc3VtdGkgdmFyaWFibGUKCgoKCgpUaGVzZSBhcmUgdXNlZCBsaWtlIHRo ZSAnJ2JyaWthJ2knJy1zZXJpZXMuIEp1c3QgcGxhY2UsIGZvciBpbnN0YW5jZSwgJydnb2kga28n dScnIGFmdGVyIGEgc3VtdGksIGFuZCB0aGF0IHN1bXRpIGNhbiBiZSByZWZlcnJlZCB0byBieSAn J2tvJ3UnJy4KCgoKU3RyYW5nZWx5LCB0aGVzZSBzZXJpZXMgYXJlIHJhcmVseSB1c2VkIGZvciB0 aGVpciBpbnRlbmRlZCBwdXJwb3NlLiBUaGV5IGFyZSwgaG93ZXZlciwgdXNlZCBhcyBhcmJpdHJh cnkgc2VsYnJpIGFuZCBzdW10aSBpbiBleGFtcGxlIHRleHRzOgoK4oCcU28sIGlzIGl0IHRydWUg dGhhdCB0aGUgdHJ1dGggY29uZGl0aW9ucyBvZiAnJ2tvJ2Ega28nZSBicm9kYSBuYSBrdScnIGFy ZSBhbHdheXMgdGhlIHNhbWUgYXMgJyduYSBrdSBrbydhIGtvJ2UgYnJvZGEnJz/igJ0g4oCcTm9w ZSwgaXQgaXNuJ3Qu4oCdCgoKCgoKISFMb2piYW4gTGVzc29ucyAtIExlc3NvbiB0d2VudHktZml2 ZSAobG9naWNhbCBjb25uZWN0aXZlcykKCuKAnElmIHlvdSBhc2sgYSBMb2piYW5pc3Q6IOKAnERv IHlvdSB3YW50IG1pbGsgb3Igc3VnYXIgaW4geW91ciBjb2ZmZWU/4oCdIHNoZSdsbCBhbnN3ZXI6 IOKAnENvcnJlY3Qu4oCd4oCdCgoKCldpdHR5IGFzIHRoaXMgam9rZSBtaWdodCBiZSwgaXQgaWxs dXN0cmF0ZXMgYSB3ZWlyZCBwcm9wZXJ0eSBvZiB0aGUgRW5nbGlzaCB3YXkgb2YgYXNraW5nIHRo aXMgcXVlc3Rpb24uIEl0IGlzIHBocmFzZWQgYXMgYSB0cnVlL2ZhbHNlIHF1ZXN0aW9uLCBidXQg aXQgcmVhbGx5IGlzbid0LiBJbiBMb2piYW4sIHdlIGNhbid0IGhhdmUgdGhpcyBraW5kIG9mIGlu Y29uc2lzdGVuY3ksIGFuZCBzbyB3ZSBtdXN0IGZpbmQgYW5vdGhlciB3YXkgb2YgYXNraW5nIHRo aXMga2luZCBvZiBxdWVzdGlvbi4gSWYgeW91IHRoaW5rIGFib3V0IGl0LCBpdCdzIHByZXR0eSBo YXJkIHRvIGZpbmQgYSBnb29kIGFuZCBlYXN5IHdheSwgYW5kIGl0IHNlZW1zIExvamJhbiBoYXZl IHBpY2tlZCBhIGdvb2Qgd2F5IGluc3RlYWQgb2YgYW4gZWFzeSB3YXkuCgoKClRvIGV4cGxhaW4g aXQsIGxldCB1cyB0YWtlIHR3byBzZXBhcmF0ZSBicmlkaTogQnJpZGkgMTog4oCcSSBsaWtlIG1p bGsgaW4gbXkgY29mZmVl4oCdIGFuZCBicmlkaSAyOiDigJxJIGxpa2Ugc3VnYXIgaW4gbXkgY29m ZmVl4oCdLiBCb3RoIG9mIHRoZXNlIGJyaWRpIGNhbiBoYXZlIHRoZSBzdGF0ZSB0cnVlIG9yIGZh bHNlLiBUaGlzIHlpZWxkcyBmb3VyIGNvbWJpbmF0aW9ucyBvZiB3aGljaCBicmlkaSBpcy9hcmUg dHJ1ZToKCkEgKSAxIGFuZCAyCUIgKSAxIGJ1dCBub3QgMgoKQyApIDIgYnV0IG5vdCAxCUQgKW5l aXRoZXIgMSBub3IgMgoKCgpJLCBpbiBhY3R1YWxpdHksIGxpa2UgbWlsayBpbiBteSBjb2ZmZWUs IGFuZCBJJ20gaW5kaWZmZXJlbnQgYXMgdG8gd2hldGhlciB0aGVyZSBpcyBzdWdhciBpbiBpdCBv ciBub3QuIFRoZXJlZm9yZSwgbXkgcHJlZmVyZW5jZSBjYW4gYmUgd3JpdHRlbiBBICkgdHJ1ZSBC ICkgdHJ1ZSBDICkgZmFsc2UgRCApIGZhbHNlLCBzaW5jZSBib3RoIEEgYW5kIEIgeWllbGRzIHRy dWUgZm9yIG1lLCBidXQgbmVpdGhlciBDIG5vciBEIGRvZXMuIEEgbW9yZSBjb21wYWN0IHdheSBv ZiB3cml0aW5nIG15IGNvZmZlZSBwcmVmZXJlbmNlcyB3b3VsZCBiZSBUVEZGIGZvciB0cnVlLCB0 cnVlLCBmYWxzZSwgZmFsc2UuIFNpbWlsYXJseSwgYSBwZXJzb24gbGlraW5nIGhpcyBjb2ZmZWUg YmxhY2sgYW5kIHVuc3dlZXRlbmVkIHdvdWxkIGhhdmUgYSBjb2ZmZWUgcHJlZmVyZW5jZSBvZiBG RkZULiBUaGlzIGNvbWJpdGF0aW9uIG9mICJ0cnVlIiBhbmQgImZhbHNlIiBpcyBjYWxsZWQgYSDi gJx0cnV0aCBmdW5jdGlvbuKAnSwgaW4gdGhpcyBjYXNlIGZvciB0aGUgdHdvIHN0YXRlbWVudHMg 4oCcSSBsaWtlIG1pbGsgaW4gbXkgY29mZmVl4oCdIGFuZCDigJxJIGxpa2Ugc3VnYXIgaW4gbXkg Y29mZmVl4oCdLiBOb3RlIHRoYXQgdGhlIG9yZGVyIG9mIHRoZSBzdGF0ZW1lbnRzIG1hdHRlcnMu CgpJbiBMb2piYW4sIHdlIG9wZXJhdGUgd2l0aCA0IHRydXRoIGZ1bmN0aW9ucywgd2hpY2ggd2Ug Y29uc2lkZXIgZnVuZGFtZW50YWw6CgpBOiBUVFRGIChhbmQvb3IpCgpPOiBURkZUIChpZiBhbmQg b25seSBpZmYpCgpVOiBUVEZGICh3aGV0aGVyIG9yIG5vdCkKCkU6IFRGRkYgKGFuZCkKCgoKSW4g dGhpcyBleGFtcGxlLCB0aGV5IHdvdWxkIHRyYW5zbGF0ZSB0byBzb21ldGhpbmcgbGlrZTogQTri gJ1KdXN0IG5vdCBibGFjayBjb2ZmZWXigJ0sIE86IOKAnEVpdGhlciBib3RoIG1pbGsgb3Igc3Vn YXIsIG9yIG5vdGhpbmcgZm9yIG1lLCBwbGVhc2XigJ0sIFU6IOKAnE1pbGssIGFuZCBJIGRvbid0 IGNhcmUgYWJvdXQgaWYgdGhlcmUncyBzdWdhciBvciBub3TigJ0gYW5kIEU6IOKAnE1pbGsgYW5k IHN1Z2FyLCBwbGVhc2Uu4oCdLgoKCgpJbiBMb2piYW4sIHlvdSBwbGFjZSB0aGUgd29yZCBmb3Ig dGhlIHRydXRoIGZ1bmN0aW9uIGJldHdlZW4gdGhlIHR3byBicmlkaSwgc2VsYnJpIG9yIHN1bXRp IGluIHF1ZXN0aW9uLiBUaGF0IHdvcmQgaXMgY2FsbGVkIGEgbG9naWNhbCBjb25uZWN0aXZlLiBU aGUgd29yZHMgZm9yIHRydXRoIGZ1bmN0aW9ucyBiZXR3ZWVuIHN1bXRpIChhbmQganVzdCBmb3Ig c3VtdGkhKSBhcmUgICcnLmEnJyAnJy5vJycgJycudScnIGFuZCAnJy5lJycuIEhvdyBuaWNlLiBG b3IgaW5zdGFuY2U6IOKAnEkgYW0gZnJpZW5kcyB3aXRoIGFuIEFtZXJpY2FuIGFuZCBhIEdlcm1h buKAnSB3b3VsZCBiZSAnJ2xvIG1lcmtvIC5lIGxvIGRvdGNvIGN1IHBlbmRvIG1pJycuCgpIb3cg d291bGQgeW91IHNheTog4oCcSSBzcGVhayB0byB5b3UgYW5kIG5vIG9uZSBlbHNlP+KAnQoKCgpB bnN3ZXI6IH5+Z3JleSxncmV5OicnbWkgdGF2bGEgZG8gLmUgbm8gZHJhdGEnJyBOb3RlIHRoYXQg dGhpcyBhY3R1YWxseSBzdGF0ZXMgdGhhdCBpdCdzIHRydWUgdGhhdCAiSSBzcGVhayB0byB5b3Ui Ln5+CgoKCk9uZSBtb3JlOiDigJxJIGxpa2UgY2hlZXNlIHdoZXRoZXIgb3Igbm90IEkgbGlrZSBj b2ZmZWXigJ0KCl9fJydja2FmaScnX18geDEgaXMgYSBxdWFudGl0eS9jb250YWlucyBjb2ZmZWUg ZnJvbSBzb3VyY2Uvb2YgZ3JhaW4geDIKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ21pIG5lbGNp IGxvJ2UgY2lybGEgLnUgbG8nZSBja2FmaScnfn4KCgoKWW91IGNhbiBwZXJoYXBzIGRlZHVjZSB0 aGF0IHRoZXJlIGFyZSBzaXh0ZWVuIHBvc3NpYmxlIHRydXRoIGZ1bmN0aW9ucywgc28gd2UgbmVl ZCB0byBsZWFybiB0d2VsdmUgbW9yZSBpbiBvcmRlciB0byBrbm93IHRoZW0gYWxsLiBFaWdodCBt b3JlIGNhbiBiZSBvYnRhaW5lZCBieSBuZWdhdGluZyBlaXRoZXIgdGhlIGZpcnN0IHNlbnRlbmNl IG9yIHRoZSBzZWNvbmQuIFRoZSBmaXJzdCBpcyBuZWdhdGVkIGJ5IHByZWZpeGluZyB0aGUgdHJ1 dGggZnVuY3Rpb24gd29yZCB3aXRoICcnbmEnJywgdGhlIHNlY29uZCBpcyBuZWdhdGVkIGJ5IHBs YWNpbmcgJyduYWknJyBhZnRlciB0aGUgd29yZC4gRm9yIGV4YW1wbGUsIHNpbmNlICcnLmUnJyBy ZXByZXNlbnRzIFRGRkYsICcnLmUgbmFpJycgbXVzdCBiZSDigJxib3RoIDEgaXMgdHJ1ZSBhbmQg MiBpcyBmYWxzZeKAnSwgd2hpY2ggaXMgRlRGRi4gU2ltaWxhcmx5LCAnJ25hIC5hJycgaXMg4oCc SnVzdCBub3Q6IDEgaXMgdHJ1ZSBhbmQgMiBpcyBmYWxzZeKAnSwgd2hpY2ggaXMgVFRGVC4gRG9p bmcgdGhpcyB0eXBlIG9mIGNvbnZlcnNpb24gaW4gdGhlIGhlYWQgcmVhbC10aW1lIGlzIHZlcnks IHZlcnkgaGFyZCwgc28gcGVyaGFwcyBvbmUgc2hvdWxkIGZvY3VzIG9uIGxlYXJuaW5nIGhvdyBs b2dpY2FsIGNvbm5lY3RpdmVzIHdvcmsgaW4gZ2VuZXJhbCwgYW5kIHRoZW4gbGVhcm4gdGhlIGxv Z2ljYWwgY29ubmVjdGl2ZXMgdGhlbXNlbHZlcyBieSBoZWFydC4KCgoKRm91ciBmdW5jdGlvbnMg Y2Fubm90IGJlIG1hZGUgdGhpcyB3YXk6IFRUVFQsIFRGVEYsIEZURlQgYW5kIEZGRkYuIFRoZSBm aXJzdCBhbmQgdGhlIGxhc3QgY2Fubm90IGJlIG1hZGUgdXNpbmcgbG9naWNhbCBjb25uZWN0aXZl cyBhdCBhbGwsIGJ1dCB0aGV5IGFyZSBraW5kIG9mIHVzZWxlc3MgYW55d2F5LiBVc2luZyBhIGh5 cG90aGV0aWNhbCBsb2dpY2FsIGNvbm5lY3RpdmUgaW4gdGhlIHNlbnRlbmNlIOKAnEkgbGlrZSBt aWxrIEZGRkYgc3VnYXIgaW4gbXkgY29mZmVl4oCdIGlzIGVxdWl2YWxlbnQgdG8gc2F5aW5nIOKA nEkgZG9uJ3QgbGlrZSBjb2ZmZWXigJ0sIGp1c3QgbW9yZSBjb21wbGljYXRlZC4gVGhlIGxhc3Qg dHdvLCBURlRGIGFuZCBGVEZULCBjYW4gYmUgbWFkZSBieSBwcmVmaXhpbmcgJycudScnIHdpdGgg Z29vZCBvbCcgJydzZScnLCB3aGljaCBqdXN0IHJldmVydHMgdGhlIHR3byBzdGF0ZW1lbnRzLiAn J3NlIC51JycgLCBmb3IgaW5zdGFuY2UgaXMg4oCcQiB3aGV0aGVyIG9yIG5vdCBB4oCdLCB3aGlj aCBpcyBURlRGLiBUaGUgZmluYWwgbGlzdCBvZiBhbGwgbG9naWNhbCBjb25uZWN0aXZlcyBjYW4g YmUgc2VlbiBiZWxvdy4KCgoKVFRUVDogQ2Fubm90IGJlIG1hZGUKClRUVEY6ICcnLmEnJwoKVFRG VDogJycuYSBuYWknJwoKVFRGRjogJycudScnIE9SICcnLnUgbmFpJycKClRGVFQ6ICcnbmEgLmEn JwoKVEZURjogJydzZSAudScnCgpURkZUOiAnJy5vJycgT1IgJyduYSAubyBuYWknJwoKVEZGRjog JycuZScnCgpGVFRUOiAnJ25hIC5hIG5haScnCgpGVFRGOiAnJ25hIC5vJycgT1IgJycubyBuYWkn JwoKRlRGVDogJydzZSAudSBuYWknJwoKRlRGRjogJycuZSBuYWknJwoKRkZUVDogJyduYSAudScn IE9SICcnbmEgLnUgbmFpJycKCkZGVEY6ICcnbmEgLmUnJwoKRkZGVDogJyduYSAuZSBuYWknJwoK RkZGRjogQ2Fubm90IGJlIG1hZGUKCgoKTG9naWNhbGx5LCBzYXlpbmcgYSBzZW50ZW5jZSB3aXRo IGEgbG9naWNhbCBjb25uZWN0aXZlLCBsaWtlIGZvciBpbnN0YW5jZSAnJ21pIG5lbGNpIGxvJ2Ug Y2lybGEgLmUgbmFpIGxvJ2UgY2thZmknJyBpcyBlcXVpdmFsZW50IHRvIHNheWluZyB0d28gYnJp ZGksIHdoaWNoIGFyZSBjb25uZWN0ZWQgd2l0aCB0aGUgc2FtZSBsb2dpY2FsIGNvbm5lY3RpdmU6 ICcnbWkgbmVsY2kgbG8nZSBjaXJsYSAuaSB7RSBOQUl9IG1pIG5lbGNpIGxvJ2UgY2thZmknJy4g VGhpcyBpcyBob3cgdGhlIGZ1bmN0aW9uIG9mIGxvZ2ljYWwgY29ubmVjdGl2ZXMgaXMgZGVmaW5l ZC4gV2Ugd2lsbCBnZXQgdG8gaG93IHRvIGFwcGx5IGxvZ2ljYWwgY29ubmVjdGl2ZXMgdG8gYnJp ZGkgaW4gYSBtb21lbnQuCgoKCkJ5IHB1dHRpbmcgYSDigJxq4oCdIGluIGZyb250IG9mIHRoZSBj b3JlIHdvcmQgb2YgYSBsb2dpY2FsIGNvbm5lY3RpdmUsIGl0IGNvbm5lY3RzIHR3byBzZWxicmku IEFuIGV4YW1wbGUgaXMgJydtaSBuaW5tdSBuYSBqbyBuYW5tdScnIOKAnEkgYW0gYSBtYW4gb3Ig YSB3b21hbiwgYnV0IG5vdCBib3Ro4oCdCgpfXycnbmlubXUnJ19fIHgxIGlzIGEgd29tYW4KCgoK VGhpcyBpcyDigJx0YW5ydS1pbnRlcm5hbOKAnSwgbWVhbmluZyB0aGF0IGl0IGxvb3NlbHkgYmlu ZHMgc2VsYnJpIHRvZ2V0aGVyLCBldmVuIHdoZW4gdGhleSBmb3JtIGEgdGFucnU6ICcnbG8gZG90 Y28gamEgbWVya28gcHJlbnUnJyBtZWFucyDigJxhIEdlcm1hbiBvciBBbWVyaWNhbiBtYW7igJ0s IGFuZCBpcyBwYXJzZWQgJydsbycnICgnJ2RvdGNvIGphIG1lcmtvJycpICcncHJlbnUnJy4gVGhp cyBiaW5kaW5nIGlzIHNsaWdodGx5IHN0cm9uZ2VyIHRoYXQgbm9ybWFsIHRhbnJ1LWdyb3VwaW5n IChzdGlsbCB3ZWFrZXIgdGhhbiBzcGVjaWZpYyBncm91cGluZy13b3JkcyksIGFuZCBhcyBzdWNo LCAnJ2xvIGRvdGNvIGphIG1lcmtvIG5pbm11IGphIG5hbm11JycgaXMgcGFyc2VkICcnbG8nJyAo Jydkb3RjbyBqYSBtZXJrbycnKSAoJyduaW5tdSBqYSBuYW5tdScnKS4gVGhlIHNlbGJyaSBsb2dp Y2FsIGNvbm5lY3RpdmVzIGNhbiBhbHNvIGJlIGF0dGFjaGVkIHRvICcnLmknJyBpbiBvcmRlciB0 byBjb25uZWN0IHR3byBzZW50ZW5jZXMgdG9nZXRoZXI6ICcnbGEgLmtpbS4gY21lbmUgbWkgLmkg anUgbWkgbmFubXUnJyDigJxJJ20gY2FsbGVkIEtpbSwgd2hldGhlciBvciBub3QgSSdtIGEgbWFu 4oCdLiBUaGUgY29tYmluYXRpb24gJycuaSBqZScnIHN0YXRlcyB0aGF0IGJvdGggc2VudGVuY2Vz IGFyZSB0cnVlLCBtdWNoIGxpa2Ugd2Ugd291bGQgYXNzdW1lIGhhZCBubyBsb2dpY2FsIGNvbm5l Y3RpdmUgYmVlbiBwcmVzZW50LgoKCgpVbmZhaXJseSBoYXJkIHF1ZXN0aW9uOiBVc2luZyBsb2dp Y2FsIGNvbm5lY3RpdmVzLCBob3cgd291bGQgeW91IHRyYW5zbGF0ZSDigJxJZiB5b3UncmUgY2Fs bGVkIEJvYiwgeW91J3JlIGEgbWFuLuKAnT8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ2xhIC5i YWIuIGNtZW5lIGRvIC5pIG5hIGphIGRvIG5hbm11Jycgb3Ig4oCcRWl0aGVyIHlvdSdyZSBub3Qg bmFtZWQgQm9iIGFuZCBhIG1hbiwgb3IgeW91J3JlIG5vdCBuYW1lZCBCb2IgYW5kIG5vdCBhIG1h biwgb3IgeW91J3JlIG5hbWVkIEJvYiBhbmQgYSBtYW4uIEJ1dCB5b3UgY2FuJ3QgYmUgbmFtZWQg Qm9iIGFuZCBub3QgYmUgYSBtYW4u4oCdIFRoZSBvbmx5IGNvbWJpbmF0aW9uIG5vdCBwZXJtaXR0 ZWQgaXM6IOKAnFlvdSdyZSBjYWxsZWQgQm9iLCBidXQgbm90IGEgbWFuLuKAnSBUaGlzIG11c3Qg bWVhbiB0aGF0LCBpZiBpdCdzIHRydWUgdGhhdCB5b3UncmUgY2FsbGVkIEJvYiwgeW91IG11c3Qg YmUgYSBtYW4ufn4KCgoKSWYgd2UgdHJ5IHRvIHRyYW5zbGF0ZSB0aGUgc2FkLCBzYWQgZXZlbnQg b2Yg4oCcSSBjcmllZCBhbmQgZ2F2ZSBhd2F5IG15IGRvZ+KAnSwgd2UgcnVuIGludG8gYSBwcm9i bGVtLgoKQXR0ZW1wdGluZyB0byBzYXkgdGhlIHNlbnRlbmNlIHdpdGggYSAnJ2plJycgYmV0d2Vl biB0aGUgc2VsYnJpIOKAnGdhdmXigJ0gYW5kIOKAnGNyaWVk4oCdLCB3b3VsZCBtZWFuIHRoZSBz YW1lIHdvcmQgZm9yIHdvcmQsIGJ1dCB1bmZvcnR1bmF0ZWx5IG1lYW4gdGhhdCDigJxJIGNyaWVk IHRoZSBkb2cgYW5kIGdhdmUgYXdheSB0aGUgZG9n4oCdLCBjZi4gdGhlIGRlZmluaXRpb24gb2Yg bG9naWNhbCBjb25uZWN0aXZlcy4gT25lIGNhbiBjcnkgdGVhcnMgb3IgZXZlbiBibG9vZCwgYnV0 IGNyeWluZyBkb2dzIGlzIGp1c3Qgc2lsbHkuCgpIb3dldmVyLCB3ZSBjYW4gZ2V0IGFyb3VuZCBi eSB1c2luZyBicmlkaS10YWlsIGxvZ2ljYWwgY29ubmVjdGl2ZXMuIFdoYXQgdGhleSBkbyBpcyB0 aGF0IGFueSBwcmV2aW91cyBzdW10Y2l0YSBhbmQgc3VtdGkgYXR0YWNoZXMgdG8gYm90aCBzZWxi cmkgYm91bmQgYnkgdGhlIGJyaWRpLXRhaWwgbG9naWNhbCBjb25uZWN0aXZlLCBidXQgYW55IGZv bGxvd2luZyBzdW10aSBvciBzdW10Y2l0YSBvbmx5IGFwcGxpZXMgdG8gdGhlIGxhc3QgbWVudGlv bmVkOiBUaGUgYnJpZGkgc3BsaXRzIHVwIGZyb20gb25lIGhlYWQgdG8gdHdvIHRhaWxzLCB0byBz cGVhayBtZXRhcGhvcmljYWxseS4KClRoZSBmb3JtIG9mIGEgYnJpZGktdGFpbCBsb2dpY2FsIGNv bm5lY3RpdmUgaXMgZ2knViwgd2l0aCB0aGUgViBmb3IgdGhlIHZvd2VsIG9mIHRoZSB0cnV0aCBm dW5jdGlvbi4KCkhvdyBjb3VsZCB5b3UgY29ycmVjdGx5IHRyYW5zbGF0ZSB0aGUgRW5nbGlzaCBz ZW50ZW5jZSB0byBMb2piYW4/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JydtaSBwdSBrbGFrdSBn aSdlIGR1bmRhIGxlIG1pIGdlcmt1Jyd+fgoKCgpXaGF0IGRvZXMgJydybyByZW1uYSBjdSBwYWxj aSBnaSdvIHp1a3RlIGxvIHBhbGNpJycgbWVhbj8KCl9fJydwYWxjaScnX18geDEgaXMgZXZpbCBi eSBzdGFuZGFyZCB4MgoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnFBlb3BsZSBhcmUgZXZpbCBp ZiBhbmQgb25seSBpZiB0aGV5IGRvIGV2aWwgdGhpbmdzLuKAnX5+CgoKCkZ1cnRoZXJtb3JlLCB0 aGVyZSBpcyBhIGZvcmV0aG91Z2h0IGFsbC1idXQgdGFucnUgaW50ZXJuYWwgZ3JvdXAgb2YgY29u bmVjdGVycyBtYWRlIGJ5IHByZWZpeGluZyDigJxn4oCdIGluIGZyb250IG9mIHRoZSB0cnV0aCBm dW5jdGlvbiB2b3dlbC4g4oCcRm9yZXRob3VnaHTigJ0gaW4gdGhpcyBjb250ZXh0IG1lYW5zIHRo YXQgdGhleSBuZWVkIHRvIGdvIGluIGZyb250IG9mIHRoZSB0aGluZ3MgdGhleSBjb25uZWN0LCBh bmQgdGh1cyB5b3UgbmVlZCB0byB0aGluayBhYm91dCB0aGUgZ3JhbW1hdGljYWwgc3RydWN0dXJl IG9mIHRoZSBzZW50ZW5jZSBiZWZvcmUgc2F5aW5nIGl0LiBBbGwtYnV0IHRhbnJ1IGludGVybmFs IG1lYW5zIHRoYXQgaXQgc2VydmVzIGJvdGggYXMgYSBjb25uZWN0aXZlIGJldHdlZW4gc3VtdGks IGJyaWRpLCBzZWxicmkgYW5kIGJyaWRpLXRhaWxzLCBidXQgbm90IGJldHdlZW4gdHdvIHNlbGJy aSBvZiBvbmUgdGFucnUuIExldCBtZSBzaG93IHlvdSBob3cgaXQgd29ya3MsIHJld3JpdGluZyB0 aGUgTG9qYmFuIHNlbnRlbmNlIGFib3ZlOgoKJydnbyBsbyByZW1uYSBjdSBwYWxjaSBnaSBsbyBy ZW1uYSBjdSB6dWt0ZSBsbyBwYWxjaScnCgpUaGUgZmlyc3QgbG9naWNhbCBjb25uZWN0aXZlIGlu IHRoZXNlIGtpbmRzIG9mIGNvbnN0cnVjdHMgYXJlIHdoYXQgY2FycmllcyB0aGUgdm93ZWwgd2hp Y2ggc2lnbmFsIHdoYXQgdHJ1dGggZnVuY3Rpb24gaXMgYmVpbmcgdXNlZC4gVGhlIHNlY29uZCBs b2dpY2FsIGNvbm5lY3RpdmUgaXMgYWx3YXlzICcnZ2knJywgYW5kIGxpa2UgJycuaScnLCBpdCBo YXMgbm8gdHJ1dGggZnVuY3Rpb24uIEl0IHNpbXBseSBzZXJ2ZXMgdG8gc2VwYXJhdGUgdGhlIHR3 byB0ZXJtcyBiZWluZyBjb25uZWN0ZWQuIElmIHlvdSB3YW50IHRvIG5lZ2F0ZSB0aGUgZmlyc3Qg b3Igc2Vjb25kIHNlbnRlbmNlLCBhICcnbmFpJycgaXMgc3VmZml4ZWQgdG8gZWl0aGVyIHRoZSBm aXJzdCAoZm9yIHRoZSBmaXJzdCBzZW50ZW5jZSkgb3Igc2Vjb25kIChmb3IgdGhlIHNlY29uZCBz ZW50ZW5jZSkgbG9naWNhbCBjb25uZWN0aXZlLgoKUHJvdmlkZWQgdGhhdCB0aGUgY29uc3RydWN0 cyBhcmUgdGVybWluYXRlZCBwcm9wZXJseSwgaXQgaGFzIHJlbWFya2FibGUgZmxleGliaWxpdHks IGFzIHRoZSBmb2xsb3dpbmcgZmV3IGV4YW1wbGVzIGRlbW9uc3RyYXRlOgoKJydtaSBnbyBrbGFt YSBnaSBjYWR6dSB2YXUgbGUgbWkgemRhbmknJyDigJxJIGdvLCBpZiBhbmQgb25seSBpZiB3YWxr LCB0byBteSBob21l4oCdIG9yIOKAnEkgY2FuIG9ubHkgZ28gdG8gbXkgaG9tZSBieSB3YWxraW5n LuKAnSBOb3RpY2UgdGhhdCB0aGUgJyd2YXUnJyBpcyBuZWVkZWQgdG8gbWFrZSBsZSBtaSB6ZGFu aSBhcHBseSB0byBib3RoICcnY2FkenUnJyBhbmQgJydrbGFtYScnLgoKJydzZSBndSBkbyBnaSBu YWkgbWkgYmFqcmEgbGUgZG8gY2t1bGUnJyDigJxXaGV0aGVyIG9yIG5vdCB5b3UsIHRoZW4gbm90 IEksIHJ1biB0byB5b3VyIHNjaG9vbOKAnSBvciDigJxJIHdvbid0IHJ1biB0byB5b3VyIHNjaG9v bCBubyBtYXR0ZXIgaWYgeW91IGRvIG9yIG5vdOKAnQoKCgpUaGUgdGFucnUtaW50ZXJuYWwgZXF1 aXZhbGVudCBvZiBnViBpcyBndSdWLiBUaGVzZSBhcmUgZXhhY3RseSB0aGUgc2FtZSwgZXhjZXB0 IHRoYXQgdGhleSBhcmUgZXhjbHVzaXZlbHkgdGFucnUtaW50ZXJuYWwsIGFuZCB0aGF0IHRoZXkg YmluZCBhIHNlbGJyaSB0byB0aGUgJydnaScnIHRpZ2h0ZXIgdGhhbiBub3JtYWwgdGFucnUtZ3Jv dXBpbmcsIGJ1dCB3ZWFrZXIgdGhhbiBleHBsaWNpdCBiaW5kaW5nLXN1bXRpOgoKJydsYSB4YW56 LmtydC4gZ3UnZSBtZXJrbyBnaSBkb3RjbyBuYW5tdScnIGlzIGVxdWl2YWxlbnQgdG8KCicnbGEg eGFuei5rcnQuIG1lcmtvIGplIGRvdGNvIG5hbm11JycKCgoKQW5kIHNvIHlvdSd2ZSByZWFkIHBh Z2UgdXAgYW5kIHBhZ2UgZG93biBqdXN0IHRvIGdldCB0aGUgbmVjZXNzYXJ5IGtub3dsZWRnZSBp biBvcmRlciB0byBiZSBhYmxlIHRvIGxlYXJuIGhvdyB0byBhc2sg4oCcV291bGQgeW91IGxpa2Ug bWlsayBvciBzdWdhciBpbiB5b3VyIGNvZmZlZT/igJ0gaW4gTG9qYmFuLiBTaW1wbHkgcGxhY2Ug YSBxdWVzdGlvbiBsb2dpY2FsIGNvbm5lY3RpdmUgaW5zdGVhZCBvZiBhbm90aGVyIGxvZ2ljYWwg Y29ubmVjdGl2ZSwgYW5kIGxpa2UgJydtYScnLCBpdCBhc2tzIHRoZSBsaXN0ZW5lciB0byBmaWxs IGluIGEgY29ycmVjdCByZXNwb25zZS4gVW5mb3J0dW5hdGVseSwgdGhlc2UgcXVlc3Rpb24tbG9n aWNhbCBjb25uZWN0aXZlcyBkb24ndCBhbHdheXMgbWF0Y2ggdGhlIG1vcnBob2xvZ2ljYWwgcGF0 dGVybiBvZiB0aGUgbG9naWNhbCBjb25uZWN0aXZlcyB0aGV5IGFzayBmb3I6CgpfXycnamknJ19f IExvZ2ljYWwgY29ubmVjdGl2ZSBxdWVzdGlvbjogQXNrcyBmb3IgYSBzdW10aSBsb2dpY2FsIGNv bm5lY3RpdmUgKEEpCgpfXycnamUnaScnX18gTG9naWNhbCBjb25uZWN0aXZlIHF1ZXN0aW9uOiBB c2tzIGZvciBhIHRhbnJ1LWludGVybmFsIHNlbGJyaSBsb2dpY2FsIGNvbm5lY3RpdmUgKEpBKQoK X18nJ2dpJ2knJ19fIExvZ2ljYWwgY29ubmVjdGl2ZSBxdWVzdGlvbjogQXNrcyBmb3IgYSBicmlk aS10YWlsIGxvZ2ljYWwgY29ubmVjdGl2ZSAoR0loQSkKCl9fJydnZSdpJydfXyBMb2dpY2FsIGNv bm5lY3RpdmUgcXVlc3Rpb246IEFza3MgZm9yIGEgZm9yZXRob3VnaHQgYWxsLWJ1dCB0YW5ydSBp bnRlcm5hbCBsb2dpY2FsIGNvbm5lY3RpdmUgKEdBKQoKX18nJ2d1J2knJ19fIExvZ2ljYWwgY29u bmVjdGl2ZSBxdWVzdGlvbjogQXNrcyBmb3IgYSBmb3JldGhvdWdodCBvbmx5IHRhbnJ1IGludGVy bmFsIGxvZ2ljYWwgY29ubmVjdGl2ZSAoR1VoQSkKCgoKU28uLi4gaG93IHdvdWxkIHlvdSBhc2sg aWYgdGhlIHBlcnNvbnMgd2FudHMgbWlsayBvciBzdWdhciBpbiBoZXIgY29mZmVlPwoKX18nJ2xh ZHJ1JydfXyB4MSBpcy9jb250YWlucyBtaWxrIGZyb20gc291cmNlIHgyCgpfXycnc2FrdGEnJ19f IHgxIGlzL2NvbnRhaW5zIHN1Z2FyIGZyb20gc291cmNlIHgyIG9mIGNvbXBvc2l0aW9uIHgzCgoK ClBvc3NpYmxlIGFuc3dlcjogfn5ncmV5LGdyZXk6JydzYWt0YSBqZSdpIGxhZHJ1IGxlIGRvIGNr YWZpJycgdGhvdWdoIEkgZ3Vlc3Mgc29tZXRoaW5nIG1vcmUgRW5nbGlzaCBhbmQgbGVzcyBlbGVn YW50IGNvdWxkIGFsc28gc3VmZmljZSBsaWtlICcnZG8gZGppY2EgbGVudSBsbyBzYWt0YSBqaSBs byBsYWRydSBjdSBuZW5yaSBsZSBkbyBja2FmaScnfn4KCgoKISFMb2piYW4gTGVzc29ucyAtIExl c3NvbiB0d2VudHktc2l4IChub24tbG9naWNhbCBjb25uZWN0aXZlcykKClRoZSB3b3JkICJsb2dp Y2FsIiBpbiAibG9naWNhbCBjb25uZWN0aXZlIiByZWZlcnMgdG8gdGhlIGFzc29jaWF0aW9uIGEg bG9naWNhbCBjb25uZWN0aXZlIGhhcyB3aXRoIGEgdHJ1dGggZnVuY3Rpb24uIE5vdCBhbGwgdXNl ZnVsIGNvbm5lY3RpdmVzIGNhbiBiZSBkZWZpbmVkIHRocm91Z2ggYSB0cnV0aCBmdW5jdGlvbiwg aG93ZXZlciwgYW5kIHNvIHRoZXJlIGFyZSBvdGhlciBjb25uZWN0aXZlcyBiZXNpZGUgdGhlIGxv Z2ljYWwgb25lcy4KClRoZSBtZWFuaW5nIG9mIGEgbG9naWNhbCBjb25uZWN0aXZlIGlzIGRlZmlu ZWQgdGhlIHNhbWUgYXMgdHdvIGRpZmZlcmVudCBicmlkaSBjb25uZWN0ZWQgd2l0aCB0aGF0IGxv Z2ljYWwgY29ubmVjdGl2ZS4gRm9yIGluc3RhbmNlLCAnJ21pIG5pdGN1IGRvIC5hIGxhIC5kamFu LicnIGlzIGRlZmluZWQgdG8gYmUgZXF1aXZhbGVudCB0byAnJ21pIG5pdGN1IGRvIC5pIGphIG1p IG5pdGN1IGxhIC5kamFuLicnLiBUaGlzIGRlZmluaXRpb24gaXMgdXNlZnVsIHRvIGJlYXIgaW4g bWluZCwgYmVjYXVzZSBpdCBpbXBsaWVzIHRoYXQgc29tZXRpbWVzLCBzdW10aSBjYW5ub3QgYmUg Y29ubmVjdGVkIHdpdGggbG9naWNhbCBjb25uZWN0aXZlcyB3aXRob3V0IGNoYW5pbmcgdGhlIG1l YW5pbmcuIENvbnNpZGVyIHRoZSBzZW50ZW5jZTogIkphY2sgYW5kIEpvZSB3cm90ZSB0aGlzIHBs YXkuIiBPbmUgYXR0ZW1wdCBhdCBhIHRyYW5zbGF0aW9uIHdvdWxkIGJlOiAnJ3RpIGRyYWNpIGZp IGxhIC5kamFrLiBlIGxhIC5kam91cy4nJwoKX18nJ2RyYWNpJydfXyB4MSBpcyBhIGRyYW1hL3Bs YXkgYWJvdXQgeDIgYnkgd3JpdGVyL2RyYW1hdGlzdCB4MyBmb3IgYXVkaWVuY2UgeDQgd2l0aCBh Y3RvcnMgeDUKCgoKVGhlIHByb2JsZW0gd2l0aCB0aGlzIHRyYW5zbGF0aW9uIGlzIHRoYXQgaXQg bWVhbnMgJyd0aSBkcmFjaSBsYSAuZGphay4gaWplIHRpIGRyYWNpIGxhIC5kam91cy4nJywgd2hp Y2ggaXMgbm90IHJlYWxseSB0cnVlLiBOZWl0aGVyIEphY2sgbm9yIEpvZSB3cm90ZSBpdCwgdGhl eSBkaWQgc28gdG9nZXRoZXIuIFdoYXQgd2Ugd2FudCBoZXJlIGlzIG9mIGNvdXJzZSBhIG1hc3Ms IGFuZCBzb21lIHdheSB0byBqb2luIEphY2sgYW5kIEpvZSBpbiBvbmUgbWFzcy4gVGhpcyBoYXMg bGl0dGxlIHRvIGRvIHdpdGggYSB0cnV0aCBmdW5jdGlvbiBzbyB3ZSBtdXN0IHVzZSBhIG5vbi1s b2dpY2FsIGNvbm5lY3RpdmUsIHdoaWNoIGFyZSBvZiBzZWxtYSdvIEpPSS4gV2UnbGwgcmV0dXJu IHRvIHRoaXMgSmFjayBhbmQgSm9lLXByb2JsZW0gaW4gYSBsaXR0bGUgLSBmaXJzdDogRm91ciBv ZiB0aGUga25vd24gSk9JOgoKCgp8fFRoZSBMb2piYW4gY29ubmVjdGl2ZTp8JydjZScnfCcnY2Un bycnfCcnam9pJyd8Jydqbyd1JycKCkpvaW5zIHN1bXRpIGFuZCBmb3JtcyBhOnxzZXR8c2VxdWVu Y2V8bWFzc3xncm91cCBvZiBpbmRpdmlkdWFsc3x8CgpUaGUgZnVuY3Rpb25zIG9mIHRoZXNlIHdv cmRzIGFyZSBzaW1wbGU6ICcnbG8naSByZW1uYSBqbyd1IGxvJ2kgZ2Vya3UnJyBjb25zaWRlcnMg Ym90aCB0aGUgc2V0IG9mIGh1bWFucyBhbmQgdGhlIHNldCBvZiBkb2dzIGRpc3RyaWJ1dGl2ZWx5 IChhcyBpbmRpdmlkdWFscykuIFJlbWVtYmVyIGZyb20gbGVzc29uIHR3ZW50eS10d28gKHF1YW50 aWZpZXJzKSB0aGF0ICJkaXN0cmlidXRpdml0eSIgbWVhbnMgdGhhdCB3aGF0IGlzIHRydWUgZm9y IHRoZSBncm91cCBpcyBhbHNvIHRydWUgZm9yIGVhY2ggb2YgdGhlIGluZGl2aWR1YWxzIGFsb25l LiBTaW1pbGFybHkgJydsb2kgcm8gZ2lzbXUgY2UnbyBsb2kgcm8gbHVqdm8gY2UnbyBsb2kgcm8g ZnUnaXZsYScnIGlzIGEgc2VxdWVuY2UgY29uc2lzdGluZyBvZiB0aGUgbWFzcyBvZiBhbGwgZ2lz bXUsIGZvbGxvd2VkIGJ5IHRoZSBtYXNzIG9mIGFsbCBsdWp2bywgZm9sbG93ZWQgYnkgdGhlIG1h c3Mgb2YgYWxsIGZ1J2l2bGEuCgpBcyB3aXRoIGFsbCBvZiB0aGUgSk9JIHdoaWNoIGhhcyBhbiBp bmhlcmVudCBvcmRlciwgJydzZScnIG1heSBiZSBwdXQgYmVmb3JlICcnY2UnbycnIHRvIGludmVy c2UgdGhlIG9yZGVyOiAiQSAnJ2NlJ28nJyBCIiBpcyB0aGUgc2FtZSBhcyAiQiBzZSAnJ2NlJ28n JyBBIi4KCgoKSG93IGNhbiB5b3UgY29ycmVjdGx5IHRyYW5zbGF0ZSAiSmFjayBhbmQgSm9lIHdy b3RlIHRoaXMgcGxheSI/CgpBbnN3ZXI6IH5+Z3JleSxncmV5OiAnJ3RpIGRyYWNpIGZpIGxhIC5k amFrLiBqb2kgbGEgLmRqb3VzLicnfn4gCgoKClRoZSBjbWF2byBvZiBKT0kgYXJlIHZlcnkgZmxl eGlibGU6IFRoZXkgY2FuIGFjdCBib3RoIGFzIHN1bXRpIGNvbm5lY3RpdmVzIGFuZCB0YW5ydS1p bnRlcm5hbCBjb25uZWN0aXZlcywgc28gdGhleSBjYW4gYmUgdXNlZCB0byBjb25uZWN0IHN1bXRp LCBzZWxicmkgYW5kIGJyaWRpLiBUaGlzIGZsZXhpYmlsaXR5IG1lYW5zIHRoYXQgb25lIG11c3Qg YmUgY2FyZWZ1bCB0byB1c2UgZmEnb3JtYSdvIGNvcnJlY3RseSB3aGVuIHVzaW5nIGEgSk9JLiAK CldoYXQgaXMgd3Jvbmcgd2l0aCB0aGUgYnJpZGkgJydsbyBkb3RjbyBqbyd1IG1pIGN1IGtsYW1h IGxhIGRvdGNvIGd1Z2RlJyc/CgpBbnN3ZXI6IH5+Z3JleSxncmV5OiAnJ2pvJ3UnJyBpcyBwdXQg YWZ0ZXIgYSBzZWxicmksIHNvIGl0IGV4cGVjdHMgYSBzZWxicmkgYWZ0ZXIgaXQgdG8gY29ubmVj dCB0bywgYnV0IG5vbmUgaXMgZm91bmQuIEhhZCAgYSAnJ2t1JycgYmVlbiBwcmVzZW50IGJlZm9y ZSB0aGUgY29ubmVjdGl2ZSwgaXQgd291bGQgaGF2ZSBiZWVuIGdyYW1tYXRpY2Fsfn4KCgoKSWYg c2V2ZXJhbCBKT0kgYXJlIHVzZWQsICcnYm8nJyBhbmQvb3IgJydrZScnIG1heSBiZSB1c2VkIHRv IG92ZXJyaWRlIHRoZSB1c3VhbCBsZWZ0LWdyb3VwaW5nOiAnJ21pIGpvaSBkbyBjZSdvIGxhIC5k amFrLiBqb2kgYm8gbGEgLmRqb3VzLiBjdSBwdSdvIGNpJ2Vya2VpIGRhbWJhIGxlaSB4dW5yZScn ICJNZSBhbmQgeW91LCBhbmQgdGhlbiBKYWNrIGFuZCBKb2UgYXJlIGFib3V0IHRoZSBwbGF5IGFn YWluc3QgdGhlIHJlZHMiLiBDb250cmFzdCB3aXRoICcnbWkgam9pIGRvIGNlJ28gbGEgLmRqYWsu IGpvaSBsYSAuZGpvdXMuIGN1IHB1J28gY2knZXJrZWkgZGFtYmEgbGVpIHh1bnJlJycgLSAiRmly c3QgbWUgYW5kIHlvdSwgdGhlbiBKYWNrIHdpbGwgdG9nZXRoZXIgd2l0aCBKb2UgcGxheSBhZ2Fp bnN0IHRoZSByZWRzIi4gCgpDb25uZWN0aW5nIGJyaWRpIHdpdGggSk9JIGNhbiBtYWtlIHNvbWUg aW50ZXJlc3RpbmcgaW1wbGljYXRpb25zIG9mIHRoZSByZWxhdGlvbnNoaXAgYmV0d2VlbiB0aGUg YnJpZGk6ICcnbGEgLmRqYWsuIG1vcnNpIHJpJ2EgbG8gbnUgcmkgZHp1c29pIC5pIGpvaSBsZSBq ZW1qYSdhIHBvIHJpIGN1IGJlYm5hJycgLSAiSmFjayBpcyBkZWFkIGJlY2F1c2UgaGUgd2FzIGEg aW5mYW50cnkgc29sZGllciBhbmQgaGlzIGdlbmVyYWwgd2FzIGFuIGlkaW90IiwgaW1wbHlpbmcg dGhhdCB0aGVzZSB0d28gYnJpZGkgbWFzc2VkIHRvZ2V0aGVyIHdhcyB0aGUgcGh5c2ljYWwgY2F1 c2Ugb2YgaGlzIGRlYXRoOiBIYWQgaGUgb25seSBiZWVuIGluIGFuIGFybW9yZWQgdmVoaWNsZSBv ciB3aXRoIGEgY29tcGV0ZW50IGNvbW1hbmRlciwgaGUgbWlnaHQgaGFkIHN1cnZpdmVkLgoKX18n J2R6dXNvaScnX18geDEgaXMgYW4gaW5mYW50cnkgc29sZGllciBvZiBhcm15IHgyCgpfXycnamVt amEnYScnX18geDEgaXMgYSBnZW5lcmFsIG9mIGFybXkgeDIgaW4gZnVuY3Rpb24geDMKCl9fJydi ZWJuYScnX18geDEgaXMgZm9vbGlzaC9pZGlvdGljIGluIHByb3BlcnR5L2FzcGVjdCB4MgoKCgpO b24tbG9naWNhbCBjb25uZWN0aXZlcyBtYXkgYWxzbyBiZSBuZWdhdGVkIHdpdGggJyduYWknJywg aW5kaWNhdGluZyB0aGF0IHNvbWUgb3RoZXIgY29ubmVjdGl2ZSBpcyBhcHByb3ByaWF0ZTogJyds byBkamFjdSBjZSdvIG5haSAuZSdvIGxvIGxhZHJ1IGN1IGNhdnlmbGUgZmkgbGUgbWkgdGNhdGkn JyAtICJQbGVhc2UgZG9uJ3QgcG91ciBmaXJzdCB3YXRlciB0aGVuIG1pbGsgaW4gbXkgdGVhIi4g VGhpcywgb2YgY291cnNlLCBzYXlzIG5vdGhpbmcgYWJvdXQgd2hpY2ggY29ubmVjdGl2ZSBpcyBh cHByb3ByaWF0ZSAtIG9uZSBtaWdodCBndWVzcyAnJ3NlIGNlJ28nJyAoZmlyc3QgbWlsaywgdGhl biB3YXRlciksIG9ubHkgdG8gZmluZCBvdXQgdGhhdCAnJy5lIG5haScnIChvbmx5IHdhdGVyLCBu byBtaWxrIGF0IGFsbCkgd2FzIHRoZSBjb3JyZWN0IG9uZS4KCl9fJydjYXZ5ZmxlJydfXyB4MSwg Y29uc2lzdGluZyBvZiB4MiwgZmxvd3MgaW50byB4MyBmcm9tIHg0CgpKdXN0IGxpa2UgYSBsb2dp Y2FsIGNvbm5lY3RpdmUgaXMgYSBwbGF1c2libGUgbmVnYXRpb24gb2YgYSBub24tbG9naWNhbCBj b25uZWN0aXZlLCBhbnN3ZXJzIHRvIHF1ZXN0aW9ucyBvZiB0aGUgdHlwZSAnJ2ppJycgb3IgJydq ZSdpJycgY2FuIGJlIGJvdGggbG9naWNhbCBhbmQgbm9uLWxvZ2ljYWw6IEE6ICcnbGFkcnUgamUn aSBzYWt0YSBsZSBkbyBja2FmaScnIEI6ICcnc2UgY2UnbycnICgiTWlsayBvciBzdWdhciBpbiB5 b3UgY29mZmVlPyIgIkZpcnN0IHRoZSBsYXR0ZXIsIHRoZW4gdGhlIGZvcm1lciIpLiBJbiB0aGlz IGNhc2UgJydjZScnIHdvdWxkIG1ha2Ugbm8gc2Vuc2UgYXQgYWxsLCBzaW5jZSBzZXRzIGNhbid0 IGJlIGNvbnRhaW5lZCBpbiBjb2ZmZWUsIGFuZCAnJ2pvaScnIChib3RoIG1peGVkIHRvZ2V0aGVy KSB3b3VsZCBtZWFuIHRoZSBzYW1lIGFzICcnam8ndScnIChib3RoIG9mIHRoZW0pLCB1bmxlc3Mg dGhlIHJlc3BvbmRhbnQgcHJlZmVycmVkIHVubWl4ZWQgc3VnYXIgaW4gaGlzIGNvZmZlZS4KCgoK VGhlIGZpZnRoIEpPSSBJIHByZXNlbnQgaGVyZSBpcyBhIGJpdCBvZiBhbiBvZGRiYWxsOgoKX18n J2ZhJ3UnJ19fIE5vbi1sb2dpY2FsIGNvbm5lY3RpdmU6IFVubWl4ZWQgb3JkZXJlZCBkaXN0cmli dXRpb24gKEEgYW5kIEIsIHJlc3BlY3RpdmVseSkKCldoZW4gb25seSBvbmUgJydmYSd1JycgaXMg cGxhY2VkIHdpdGhpbiBhIGJyaWRpIChvciBzZXZlcmFsIGJyaWRpIGNvbm5lY3RlZCB0b2dldGhl ciB3aXRoIGNvbm5lY3RvcnMpLCAnJ2ZhJ3UnJyBtYXkgYmUgYXNzdW1lZCB0byBiZSBpZGVudGlj YWwgdG8gJydqbyd1JycuIFdoZW4gc2V2ZXJhbCAnJ2ZhJ3UnJyBpcyB1c2VkIHdpdGhpbiBvbmUg YnJpZGksIGhvd2V2ZXIsIHRoZSBjb25zdHJ1Y3RzIGJlZm9yZSAnJ2ZhJ3UnJyBlYWNoIGFwcGx5 IHRvIGVhY2ggb3RoZXIsIGFuZCB0aGUgY29uc3RydWN0cyBhZnRlciAnJ2ZhJ3UnJyBlYWNoIGFw cGx5IHRvIGVhY2ggb3RoZXIuIExldCdzIGhhdmUgYW4gZXhhbXBsZToKCicnbWkgZmEndSBkbyBy dXNrbyBmYSd1IGthZG5vJycgLSAiWW91IGFuZCBJIGFyZSBSdXNzaWFuIGFuZCBDYW5hZGlhbiIs IGltcGx5aW5nIHRoYXQgJydtaScnIGdvZXMgd2l0aCAnJ3J1c2tvJycgYW5kICcnZG8nJyBnb2Vz IHdpdGggJydrYWRubycnLCBhbmQgaW1wbHlpbmcgbm90aGluZyBhYm91dCBhbnkgb3RoZXIgY29t YmluYXRpb24uIE9mIGNvdXJzZSwgaW4gdGhpcyBleGFtcGxlLCBpdCB3b3VsZCBiZSBtdWNoIGVh c2llciB0byBzYXkgJydtaSBydXNrbyAuaSBkbyBrYWRubycnLgoKCgpUaGVzZSBsYXN0IHRocmVl IEpPSSBjb25uZWN0cyB0d28gc2V0cyB0byBtYWtlIG5ldyBzZXRzOgoKX18nJ2pvJ2UnJ19fCUEg dW5pb24gQgoKX18nJ2t1J2EnJ19fCUEgaW50ZXJzZWN0aW9uIEIKCl9fJydwaSd1ICcnX18JQ3Jv c3MgcHJvZHVjdCBvZiBBIGFuZCBCCgoKClRoZXNlIGFyZSBwcm9iYWJseSBub3QgdmVyeSB1c2Vm dWwgZm9yIHRoZSBhdmVyYWdlIExvamJhbmlzdCwgYnV0IEkgbWlnaHQgYXMgd2VsbCBpbmNsdWRl IHRoZW0gaGVyZS4KClRoZSBmaXJzdCBvbmUsICcnam8nZScnLCBtYWtlcyBhIG5ldyBzZXQgZnJv bSB0d28gc2V0cy4gVGhpcyBuZXcgc2V0IGNvbnRhaW5zIG9ubHkgdGhvc2UgbWVtYmVycyB3aGlj aCBhcmUgaW4gYm90aCBzZXRzLgoKQSBzZXQgbWFkZSB3aXRoICcna3UnYScnIGNvbnRhaW5zIGFs bCB0aGUgbWVtYmVycyBvZiBzZXQgQSBhbmQgdGhvc2Ugb2Ygc2V0IEIuIElmIGFueXRoaW5nIGlz IGEgbWVtYmVyIG9mIGJvdGggc2V0cywgdGhleSBhcmUgbm90IGNvdW50ZWQgdHdpY2UuCgonJ3Bp J3UnJyBpcyBhIGxpdHRsZSBtb3JlIGNvbXBsaWNhdGVkLiBBIHNldCAiQSAnJ3BpJ3UnJyBCIiBj b250YWlucyBhbGwgdGhlIHBvc3NpYmxlIGNvbWJpbmF0aW9ucyBvZiAiYSAnJ2NlJ28nJyBiIiwg d2hlcmUgYSBpcyBhIG1lbWJlciBvZiBBIGFuZCBiIGlzIGEgbWVtYmVyIG9mIEIuIEl0IGlzIHRo dXMgYSBzZXQgb2Ygc2VxdWVuY2VzIG9mIG1lbWJlcnMuIElmLCBmb3IgaW5zdGFuY2UsIHNldCBB IGNvbnRhaW5lZCB0aGUgbWVtYmVycyBwIGFuZCBxLCBhbmQgc2V0IEIgY29udGFpbmVkIG1lbWJl cnMgZiBhbmQgZywgdGhlbiBBICcncGkndScnIEIgd291bGQgYmUgYSBzZXQgY29uc2lzdGluZyBv ZiB0aGUgZm91ciBtZW1iZXJzIHAgJydjZSdvJycgZiwgcCAnJ2NlJ28nJyBnLCBxICcnY2Unbycn IGYgYW5kIHEgJydjZSdvJycgZy4KCgoKISEhRW5kIG9mIHBhcnQgdHdvCgooKHdhdmVsZXNzb25z Y29udGludWVkfFJldHVybiB0byB0aGUgd2F2ZWxlc3NvbnMgcGFydCBvbmUpKQoKVGhpcyBwYXJ0 IGNvbmNsdWRlcyB0aGUgdHV0b3JpYWwgdG8gb3JkaW5hcnkgTG9qYmFuLiBJbiB0aGUgdGhpcmQg cGFydCwgSSB3aWxsIGZvY3VzIG9uIGFkdmFuY2VkIExvamJhbiAtIHRoZSBwYXJ0cyB5b3UgZG9u J3QgYWN0dWFsbHkgbmVlZCB0byBrbm93IHRvIHNwZWFrIHRoZSBsYW5ndWFnZS4gSSBkaXNjb3Vy YWdlIHlvdSB0byBiZWdpbiByZWFkaW5nIHRoZSB0aGlyZCBwYXJ0IHVudGlsIHlvdSBmZWVsIGNv bWZvcnRhYmxlIGVub3VnaCB3aXRoIHRoZSBpbmZvcm1hdGlvbiBpbiB0aGUgZmlyc3QgdHdvIHBh cnRzIHRvIGhvbGQgYW4gd3JpdHRlbiBjb252ZXJzYXRpb24gaW4gdGhlIGxhbmd1YWdlLiBJZiB5 b3UgX19kb19fIHdpc2ggdG8gY29udGludWUsIHlvdSBjYW4gcHJlc3MgKCh3YXZlbGVzc29uc2Nv bnRpbnVlZHAzfHRoaXMgbGluaykpIHRvIGdvIHRoZXJlLgoKCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCldpa2ljaGFuZ2VzIG1haWxpbmcgbGlzdApXaWtp Y2hhbmdlc0Bsb2piYW4ub3JnCmh0dHA6Ly9tYWlsLmxvamJhbi5vcmcvbWFpbG1hbi9saXN0aW5m by93aWtpY2hhbmdlcwo=