Received: from localhost ([::1]:38021 helo=stodi.digitalkingdom.org) by stodi.digitalkingdom.org with esmtp (Exim 4.76) (envelope-from ) id 1UaMej-0005EP-Hf; Thu, 09 May 2013 01:56:53 -0700 Received: from 173-13-139-235-sfba.hfc.comcastbusiness.net ([173.13.139.235]:58230 helo=digitalkingdom.org) by stodi.digitalkingdom.org with smtp (Exim 4.76) (envelope-from ) id 1UaMea-0005EI-Sd for wikichanges@lojban.org; Thu, 09 May 2013 01:56:52 -0700 Received: by digitalkingdom.org (sSMTP sendmail emulation); Thu, 9 May 2013 01:56:44 -0700 From: "Apache" Date: Thu, 9 May 2013 01:56:44 -0700 To: wikichanges@lojban.org X-PHP-Originating-Script: 48:htmlMimeMail.php MIME-Version: 1.0 Message-ID: X-Spam-Score: 2.0 (++) X-Spam_score: 2.0 X-Spam_score_int: 20 X-Spam_bar: ++ X-Spam-Report: Spam detection software, running on the system "stodi.digitalkingdom.org", has identified this incoming email as possible spam. The original message has been attached to this so you can view it (if it isn't spam) or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: The page leçons wave en français was changed by gleki at 08:56 UTC You can view the page by following this link: http://www.lojban.org/tiki/le%C3%A7ons%20wave%20en%20fran%C3%A7ais [...] Content analysis details: (2.0 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 URIBL_BLOCKED ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [URIs: lojban.org] 1.6 RCVD_IN_BRBL_LASTEXT RBL: RCVD_IN_BRBL_LASTEXT [173.13.139.235 listed in bb.barracudacentral.org] 0.4 RDNS_DYNAMIC Delivered to internal network by host with dynamic-looking rDNS Subject: [Wikichanges] =?utf-8?q?Wiki_page_le=C3=A7ons_wave_en_fran=C3=A7a?= =?utf-8?q?is_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 VGhlIHBhZ2UgbGXDp29ucyB3YXZlIGVuIGZyYW7Dp2FpcyB3YXMgY2hhbmdlZCBieSBnbGVraSBh dCAwODo1NiBVVEMKCllvdSBjYW4gdmlldyB0aGUgcGFnZSBieSBmb2xsb3dpbmcgdGhpcyBsaW5r OgogCmh0dHA6Ly93d3cubG9qYmFuLm9yZy90aWtpL2xlJUMzJUE3b25zJTIwd2F2ZSUyMGVuJTIw ZnJhbiVDMyVBN2FpcwoKWW91IGNhbiB2aWV3IGEgZGlmZiBiYWNrIHRvIHRoZSBwcmV2aW91cyB2 ZXJzaW9uIGJ5IGZvbGxvd2luZyB0aGlzIGxpbms6IApodHRwOi8vd3d3LmxvamJhbi5vcmcvdGlr aS90aWtpLXBhZ2VoaXN0b3J5LnBocD9wYWdlPWxlJUMzJUE3b25zJTIwd2F2ZSUyMGVuJTIwZnJh biVDMyVBN2FpcyZjb21wYXJlPTEmb2xkdmVyPTE1Jm5ld3Zlcj0xNgoKCioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqClRoZSBjaGFuZ2Vz IGluIHRoaXMgdmVyc2lvbiBmb2xsb3cgYmVsb3csIGZvbGxvd2VkIGFmdGVyIGJ5IHRoZSBjdXJy ZW50IGZ1bGwgcGFnZSB0ZXh0LgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKgoKCistKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSst Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rCkBAIC1MaW5lczogMjM0LTI0MCBjaGFuZ2VkIHRv ICtMaW5lczogMjM0LTI0MCBAQAorLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0r LSstKy0rLSstKy0rLSstKy0rLSstKwpBbnN3ZXI6IH5+Z3JleSxncmV5OnNlbGJyaTog4oCccGlj ayB1cCAod2l0aCnigJ0uIHN1bXRpOiDigJxJ4oCdLCDigJxteSBkYXVnaHRlcnPigJ0sIOKAnG15 IGNhcuKAnX5+CgotIEhlIGJvdWdodCBzaXh0ZWVuIG5ldyBzaGlydHMgZnJvbSBMZWEmYW1wO0xl dnkncyBmb3IganVzdCB0d28gaHVuZHJlZCBldXJvIQorIEhlIGJvdWdodCA1IG5ldyBzaGlydHMg ZnJvbSBNYXJrIGZvciBqdXN0IHR3byBodW5kcmVkIGV1cm8hCgotIEFuc3dlcjogfn5ncmV5LGdy ZXk6c2VsYnJpOiBib3VnaHQgKGZyb20pIChmb3IpIHN1bXRpOiBIZSwgc2l4dGVlbiBuZXcgc2hp cnRzLCBMZWEmYW1wO0xld2lzIGFuZCB0d28gaHVuZHJlZCBldXJvc35+CisgQW5zd2VyOiB+fmdy ZXksZ3JleTpzZWxicmk6IGJvdWdodCAoZnJvbSkgKGZvcikgc3VtdGk6IEhlLCA1IG5ldyBzaGly dHMsIE1hcmsgYW5kIHR3byBodW5kcmVkIGV1cm9zfn4KClNpbmNlIHRoZXNlIGNvbmNlcHRzIGFy ZSBzbyBmdW5kYW1lbnRhbCB0byBMb2piYW4sIGxldCdzIGhhdmUgYSB0aGlyZCBleGFtcGxlOiDi gJxTbyBmYXIsIHRoZSBFUEEgaGFzIGRvbmUgbm90aGluZyBhYm91dCB0aGUgYW1vdW50IG9mIHN1 bHBodXIgZGlveGlkZS7igJ0KCgoKCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqClRoZSBuZXcgcGFnZSBjb250ZW50IGZvbGxvd3MgYmVs b3cuCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqCgp7Qk9YKAoKICB0aXRsZT0iVHJhdmFpbCBlbiBjb3VycyIKCil9CgpDZXR0ZSBwYWdl IGVzdCB1bmUgdHJhZHVjdGlvbiBlbiBjb3VycyBkZSAoKHdhdmVsZXNzb25zY29udGludWVkKSkg ZW4gZnJhbsOnYWlzLiBMZSBzdGF0dXQgYWN0dWVsIGVzdCB1biBpbXBvcnQgYsOqdGUgZXQgbcOp Y2hhbnQgZGUgbGEgcGFnZSBhbmdsYWlzZS4gQXUgZnVyIGV0IMOgIG1lc3VyZSBkZSBsYSB0cmFk dWN0aW9uLCBjZXR0ZSBub3RlIHNlcmEgbWlzZSDDoCBqb3VyIHBvdXIgaW5kaXF1ZXIgbCfDqXRh dCBkJ2F2YW5jZW1lbnQgZGVzIGxlw6dvbnMuIAoKCgrDiXRhdCBhY3R1ZWzCoDogdHJhZHVjdGlv biBkZSBsYSBsZcOnb24gesOpcm8gZW50YW3DqWUuCgp7Qk9YfSAKCgoKIUxlcyBsZcOnb25zIFdh dmUgY29udGludcOpZXPCoDoKCiEhIVLDqWRpZ8OpZXMgcGFyIGxhIGtsYWt1LCBhdmVjIGwnYWlk ZSBkZSBsb2piYW5pc3RlcyB2YXJpw6lzLiBCYXPDqWUgc3VyIGxlIHRyYXZhaWwgZGUgbGEgLmty aWJhY3IuIFByaW50ZW1wcyAyMDEzLgoKVHJhZHVpdGVzIGRlIGwnYW5nbGFpcyB2ZXJzIGxlIGZy YW7Dp2FpcyBwYXIgRGFlbGRpci4KCgoKISFMZcOnb25zIGRlIGxvamJhbiDigJMgbGXDp29uIHrD qXJvOiBhdmFudCBwcm9wb3MKCkNlcyBsZcOnb25zIHNvbnQgdW5lIHRlbnRhdGl2ZSBkZSBkw6l2 ZWxvcHBlciBsZXMgwqvCoExlw6dvbnMgZGUgR29vZ2xlIFdhdmXCoMK7LCB1biBleGNlbGxlbnQg ZGlkYWN0aWNpZWwgY29uc2FjcsOpIGF1IGxvamJhbiwgw6ljcml0IHBhciBrcmliYWNyLCB4YWxi bywgZXQgZCdhdXRyZXMsIHF1aSwgaMOpbGFzLCBuZSBjb3V2cmFpdCBxdWUgbGVzIHF1YXRyZXMg cHJlbWllcnMgY2hhcGl0cmVzIGR1IHByw6lzZW50IGRpZGFjdGljaWVsLiBJbCB0cmFpdGUgZGVz IHLDqGdsZXMgbGVzIHBsdXMgcsOpY2VudGVzIGR1IGxvamJhbiwgcXVpIG5lIHNvbnQgcGFzIGNv dXZlcnRlcyBwYXIgZGUgcGx1cyBhbmNpZW5zIGNvdXJzIHRlbHMgcXVlIMKrwqBXaGF0IGlzIExv amJhbj/CoMK7LCBldCDCq8KgTG9qYmFuIGZvciBCZWdpbm5lcnPCoMK7LgoKCgpTaSBsZSBsb2pi YW4gZXN0IHRvdGFsZW1lbnQgbm91dmVhdSBwb3VyIHZvdXMsIGplIHZvdXMgcmVjb21tYW5kZSBk J8OpY291dGVyIHRvdXQgbGVzIGVucmVnaXN0cmVtZW50IGRlIGxvamJhbiBwYXJsw6kgcXVlIHZv dXMgcG91cnJleiB0cm91dmVyLCB0YW50IGF2YW50IHF1ZSBwZW5kYW50IGxhIGxlY3R1cmUgZGUg Y2UgZGlkYWN0aWNpZWwsIGFmaW4gZGUgdm91cyBmYW1pbGlhcmlzZXIgYXZlYyBsZXMgc29ucyBl dCBsZXMgbW90cyBkdSBsYW5nYWdlLiBEZSBwbHVzLCBlc3NheWV6IGRlIHByb25vbmNlciBjZSBx dWUgdm91cyBsaXNleiBhdmVjIGwnYWNjZW50IGR1IGxvamJhbiBzaSB2b3VzIGxlIHBvdXZlei4g Q2VjaSB2b3VzIGFpZGVyYSDDoCBwcm9ub25jZXIgbGUgbG9qYmFuLiAKCgoKRW4gc3VpdmFudCBj ZSBkaWRhY3RpY2llbCwgaWwgZXN0IGNvbnNlaWxsw6kgZGUgcHJlbmRyZSBkZXMgcGF1c2VzIGVu dHJlIGxlcyBsZcOnb25zIGFmaW4gZGUgZGlnw6lyZXIgY2UgcXVlIHZvdXMgYXZleiBhcHByaXMu IEonYWkgZXNzYXnDqSBkZSBjb25zdHJ1aXJlIGNlcyBsZcOnb25zIGR1IHNpbXBsZSBhdSBjb21w bGV4ZSwgZXQgZCdleGNsdXJlIHRvdXQgbW90IG91IGNvbmNlcHQgcXVpIG4nYSBwYXMgw6l0w6kg ZXhwbGlxdcOpIGRhbnMgbGVzIGxlw6dvbiBwcsOpY8OpZGVudGUuIFVuZSBmb2lzIGV4cGxpcXXD qXMsIGlscyBzb250IHV0aWxpc8OpcyBsaWJyZW1lbnQgdG91dCBhdSBsb25nIGR1IHJlc3RlIGR1 IGRpZGFjdGljaWVsLiBKJ2V4aG9ydGUgbGUgbGVjdGV1ciDDoCBuZSBwYXMgZmFpcmUgbCdpbXBh c3NlIHN1ciB1biBjb250ZW51IGluY29tcHJpc8KgOiBzaSB2b3VzIGF2ZXogdW5lIHF1ZXN0aW9u IG91IMOqdGVzIGluY2VydGFpbiBkJ3VuZSBjaG9zZSwgbidheWV6IHBhcyBkZSBjb21wbGV4ZSDD oCBkZW1hbmRlciDDoCBsYSBjb21tdW5hdXTDqSBsb2piYW4sIHF1aSBwZXV0IMOqdHJlIHRyb3V2 w6llIHN1ciAjbG9qYmFuIHN1ciBsZSByw6lzZWF1IElSQyBGcmVlbm9kZSAoZW4gYW5nbGFpcyks IG91IHN1ciBsYSBbaHR0cDovL21haWwubG9qYmFuLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xvamJh bi1mcnxtYWlsaW5nLWxpc3QgZnJhbmNvcGhvbmVdLiBFbGxlIHNlcmEgaGV1cmV1c2UgZCdhaWRl ci4KCgoKRGFucyBjZSBkaWRhY3RpY2llbCwgbGUgdGV4dGUgZW4gbG9qYmFuIGVzdCDDqWNyaXQg ZW4gJydpdGFsaXF1ZXMnJy4gUGx1cyB0YXJkLCBxdWFuZCB1dGlsaXPDqXMgY29tbWVzIG1vdHMg ZW1wcnVudMOpcyBkdSBsb2piYW4gZGFucyBkZXMgcGhyYXNlcyBmcmFuw6dhaXNlcywgaWxzIG5l IHNvbnQgcGFzIG1hcnF1w6lzLiBMZXMgcsOpcG9uc2VzIGRlcyBleGVyY2ljZXMgc29udCBhZmZp Y2jDqWVzIGNvbW1lIHVuZSBiYXJyZSBncmlzZS4gU8OpbGVjdGlvbm5leiBjZXR0ZSBiYXJyZSBw b3VyIHZvaXIgbGUgdGV4dGUuCgoKCkVuZmluLCBqJ2FpIGF1dGFudCBxdWUgcG9zc2libGUgZXNz YXnDqSBkJ3V0aWxpc2VyIGxlcyBtb3RzIGR1IGxvamJhbiBwb3VyIGTDqXNpZ25lciBsZXMgY29u c3RydWN0aW9ucyBncmFtbWF0aWNhbGVzwqA6ICcnc3Vta2EnaScnIGF1IGxpZXUgZGUgcHJvLXN1 bXRpLCAnJ3N1bXRjaXRhJycgYXUgbGlldSBkZSBtb2RhbCwgZXQgJydqdWZyYScnIGF1IGxpZXUg ZCfDqW5vbmPDqS4gQ2VjaSBwYXJjZSBxdWUgaidhaSBsJ2ltcHJlc3Npb24gcXVlIGxlcyBtb3Rz IGZyYW7Dp2FpcyBzb250IHNvdXZlbnQgc29pdCBhcmJpdHJhaXJlcywgYXVxdWVsIGNhcyBpbHMg c29udCBqdXN0ZXMgZGVzIG1vdHMgZW4gcGx1cyDDoCBhcHByZW5kcmUsIHNvaXQgdHJvbXBldXJz LCBhdXF1ZWwgY2FzIGlscyBzb250IHBpcmUgcXUnaW51dGlsZXMuIERhbnMgbGVzIGRldXggY2Fz LCBwdWlzcXVlIGNlcyBtb3RzIHNvbnQgc3DDqWNpZmlxdWVzIMOgIGwnYXBwcmVudGlzc2FnZSBk dSBsb2piYW4gZGUgdG91dGUgZmHDp29uLCBpbCBuJ3kgYSBwYXMgZGUgcmFpc29uIHBvdXIgZXV4 IGQnZXhpc3RlciBjb21tZSBkZXMgbW90cyBmcmFuw6dhaXMgZGlzdGluY3QuCgoKCiEhIVByw6lm YWNlLiBTb25zCgpMYSBwcmVtacOocmUgY2hvc2Ugw6AgZmFpcmUgcXVhbmQgdm91cyBhcHByZW5l eiB1bmUgbGFuZ3VlIMOpdHJhbmfDqHJlIGVzdCBkZSB2b3VzIGZhbWlsaWFyaXNlciBhdmVjIGxl cyBzb25zIGR1IGxhbmdhZ2UgZXQgbGV1ciDDqWNyaXR1cmUuIElsIGVuIHZhIGRlIG3Dqm1lIHBv dXIgbGUgbG9qYmFuLiBIZXVyZXVzZW1lbnQsIGxlcyBzb25zIGR1IGxvamJhbiAoX19waG9uw6ht ZXNfXykgc29udCBwbHV0w7R0IHNpbXBsZXMuCgoKCiEhISFWb3llbGxlcwoKSWwgeSBhIHNpeCB2 b3llbGxlcyBlbiBsb2piYW4uCgoKCnx8JydhJycgfGNvbW1lIGRhbnMgwqvCoHBfX2FfX3BfX2Ff X8KgwrsKCicnZScnIHxjb21tZSBkYW5zIMKrIGJfX2VfX3JnX1/DqF9fcmUgwrsKCicnaScnIHxj b21tZSBkYW5zIMKrwqBtYWNoX19pX19uZcKgwrsKCicnbycnIHxjb21tZSBkYW5zIMKrIF9fb19f bcOpZ2EgwrssIMKrwqBfX2F1X190X19vX19tb2JpbGXCoMK7CgonJ3UnJyB8Y29tbWUgZGFucyDC q8KgX19vdV9fwqDCuywgwqvCoGxfX291X19wwqDCuwoKJyd5JycgfGNvbW1lIGRhbnMgwqsgbWF0 X19lX19sb3Qgwrt8fAoKCgpMYSBzaXhpw6htZSB2b3llbGxlLCAnJ3knJywgZXN0IGFwcGVsw6ll IHVuIF9fc2Nod2FfXyBlbiBsaW5ndWlzdGlxdWUuIEMnZXN0IHVuIMKrwqBlwqDCuyB0csOocyBs w6lnZXIsIG5vbiBhY2NlbnR1w6ksIGp1c3RlIG1pbGlldSBlbnRyZSBsZSDCq8KgZcKgwrsgbWFy c2VpbGxhaXMgKMKrIG1hdF9fZXVfX2xvdCDCuykgZXQgbGUgwqvCoGXCoMK7IG11ZXQgcGFyaXNp ZW4gKMKrIG1hdCdsb3QgwrspLgoKCgpEZXV4IHZveWVsbGVzIGVuc2VtYmxlIHNvbnQgcHJvbm9u Y8OpZXMgY29tbWUgdW4gc29uIChfX2RpcGh0b25ndWVfXykuIFBhciBleGVtcGxlwqA6CgoKCnx8 JydhaScnIHxjb21tZSBkYW5zIMKrwqBjYW5fX2FpX19sbGXCoMK7CgonJ2F1JycgfGNvbW1lIGRh bnMgwqvCoGNfX2FvdV9fdGNob3VjwqDCuwoKJydlaScnIHxjb21tZSBkYW5zIMKrwqBhYl9fZWlf X2xsZcKgwrsKCicnb2knJyB8Y29tbWUgZGFucyDCq8KgZ19fb3lfX8KgwrsKCicnaWEnJyB8Y29t bWUgZGFucyDCq8KgcF9faWFfX25vwqDCuwoKJydpZScnIHxjb21tZSBkYW5zIMKrwqBoX19pZV9f csKgwrsKCicnaXUnJyB8Y29tbWUgZGFucyDCq8KgY2FfX2lsbG91X1/CoMK7CgonJ3VhJycgfGNv bW1lIGRhbnMgwqvCoHFfX3VvaV9fwqDCuwoKJyd1ZScnIHxjb21tZSBkYW5zIMKrwqBicl9fb3Vl X190dGXCoMK7CgonJ3VvJycgfGNvbW1lIGRhbnMgwqvCoGRyX19vdW9fX3TCoMK7CgonJ3VpJycg fGNvbW1lIGRhbnMgwqvCoF9fb3VpX1/CoMK7IHx8CgoKCkxlcyB2b3llbGxlcyBkb3VibMOpZXMg c29udCByYXJlcy4gTGVzIHNldWxzIGV4ZW1wbGVzIHNvbnQgJydpaScnLCBwcm9ub25jw6kgY29t bWUgZGFucyDCq8KgZmFfX2lsbGlfX8KgwrssIGV0ICcndXUnJywgcHJvbm9uY8OpIGNvbW1lIGRh bnMgwqvCoF9fT3VfX2hfX291X1/CoCHCoMK7IChxdWFuZCBvbiBhcHBlbGxlIHF1ZWxxdSd1biwg bWFpcyBwYXMgY29tbWUgZGFucyDCq8KgSG91aG91wqDCu8KgOiBkYW5zIGxlIHByZW1pZXIgZXhl bXBsZSwgbGUgJydoJycgZXN0IG11ZXQsIGRhbnMgbGUgZGV1eGnDqG1lLCBsZSAnJ2gnJyBlc3Qg YXNwaXLDqSDigJMgY2UgcXVpIHNlIHRyYW5zY3JpcmFpdCBlbiBsb2piYW4gJyd1J3UnJykKCgoK ISEhIUNvbnNvbm5lcwoKTGEgcGx1cGFydCBkZXMgY29uc29ubmVzIHNvbnQgbGVzIG3Dqm1lcyBx dSdlbiBmcmFuw6dhaXMsIMOgIHF1ZWxxdWUgZXhjZXB0aW9ucyBwcsOqdMKgOgoKCgp8fCcnZycn IHxzZSBwcm9ub25jZSB0b3Vqb3VycyBjb21tZSBkYW5zIMKrwqBfX2dfX8OidGVhdcKgwrssIGph bWFpcyBjb21tZSBkYW5zIMKrwqBfX2dfX2Vub3V4wqDCuwoKJydjJycgfHNlIHByb25vbmNlICcn Y2gnJywgY29tbWUgZGFucyDCq8KgX19jaF9fYXRlYXXCoMK7CgonJ3gnJyB8c2UgcHJvbm9uY2Ug Y29tbWUgZGFucyBsJ2FsbGVtYW5kIMKrwqBCYV9fY2hfX8KgwrssIGwnZXNwYWdub2wgwqvCoF9f Sl9fb3NlwqDCuyBvdSBsJ2FyYWJlIMKrwqBfX0toX19hbGVkwqDCuwoKJydyJycgfGFjY2VwdGUg YmVhdWNvdXAgZGUgcHJvbm9uY2lhdGlvbnMgKMOgIGxhIGZyYW7Dp2Fpc2UsIMOgIGwnYW5nbGFp c2XigKYpIG1haXMgbGEgcHJvbm9uY2lhdGlvbiBpdGFsaWVubmUgKCcncicnIHJvdWzDqSkgZXN0 IHByw6lmw6lyw6llfHwKCgoKTGUgbG9qYmFuIG4ndXRpbGlzZSBwYXMgbGVzIGNhcmFjdMOocmVz IMKrwqBIwqDCuywgwqvCoFHCoMK7IG91IMKrwqBXwqDCuywgZXQgaWwgbid5IGEgcGFzIGRlIGNh cmFjdMOocmVzIGFjY2VudHXDqXMgZW4gbG9qYmFuLgoKCgohISEhQ2FyYWN0w6hyZXMgc3DDqWNp YXV4CgoKCkxlIGxvamJhbiBuZSByZXF1acOocmUgYXVjdW5lIHBvbmN0dWF0aW9uLCBtYWlzIGNl cnRhaW4gY2FyYWN0w6hyZXMsIGhhYml0dWVsbGVtZW50IHV0aWxpc8OpcyBjb21tZSBwb25jdHVh dGlvbiBkYW5zIGQnYXV0cmUgbGFuZ3VlcywgYWZmZWN0ZW50IGxhIG1hbmnDqHJlIGRvbnQgbGUg bG9qYmFuIGVzdCBwcm9ub25jw6kuCgoKCkxlIHNldWwgZGUgY2VzIGNhcmFjdMOocmVzIHF1aSBz b2l0IG9ibGlnYXRvaXJlIGVuIGxvamJhbiBlc3QgbCdhcG9zdHJvcGhlLiBFbiBmYWl0LCBsJ2Fw b3N0cm9waGUgZXN0IGNvbnNpZMOpcsOpZSBjb21tZSB1bmUgbGV0dHJlIGR1IGxvamJhbi4gVW5l IGFwb3N0cm9waGUgc8OpcGFyZSBkZXV4IHZveWVsbGVzLCBlbXDDqmNoYW50IGNlbGxlcy1jaSBk J8OqdHJlIHByb25vbmPDqWVzIGVuc2VtYmxlIGNvbW1lIHVuZSBfX2RpcGh0b25ndWVfXy4gRWxs ZSBlc3QgZWxsZSBtw6ptZSBwcm9ub25jw6llIGNvbW1lIHVuIMKrwqBowqDCuy4gUGFyIGV4ZW1w bGUsIMKrwqAnJ3VpJyfCoMK7IGVzdCBub3JtYWxlbWVudCBwcm9ub25jw6kgY29tbWUgwqvCoF9f b3VpX1/CoMK7LCBtYWlzIMKrwqAnJ3UnaScnwqDCuyBlc3QgcHJvbm9uY8OpIGNvbW1lIMKrwqBf X291aGlfX8KgwrsuCgoKClVuIHBvaW50IGVzdCB1bmUgY291cnRlIHBhdXNlIMOpdml0YW50IMOg IGRldXggbW90cyBkZSBzZSBjb25mb25kcmUgbCd1biBkYW5zIGwnYXV0cmUuIExlcyByw6hnbGVz IGR1IGxvamJhbiByZW5kZW50IGZhY2lsZSBsYSBmdXNpb24gZGUgZGV1eCBtb3RzIHF1YW5kIGxl IHNlY29uZCBjb21tZW5jZSBwYXIgdW5lIHZveWVsbGUsIGV0IGRvbmMsIHBhciBjb252ZW50aW9u LCBjaGFxdWUgbW90IGNvbW1lbsOnYW50IHBhciB1bmUgdm95ZWxsZSBlc3QgcHLDqWPDqWTDqSBw YXIgdW4gcG9pbnQuCgoKCkxlcyB2aXJndWxlcyBzb250IHJhcmUgZW4gbG9qYmFuLCBtYWlzIHBl dXZlbnQgw6p0cmUgdXRpbGlzw6llcyBwb3VyIGVtcMOqY2hlciBkZXV4IHZveWVsbGVzIGRlIHNl IGZvbmRyZSBsJ3VuZSBkYW5zIGwnYXV0cmUgcXVhbmQgdm91cyBuZSB2b3VsZXogcGFzIHV0aWxp c2VyIGQnYXBvc3Ryb3BoZSwgY2UgcXVpIGFqb3V0ZXJhaXMgdW4gwqvCoGjCoMK7IGVudHJlIGVs bGVzLiBBdWN1biBtb3QgbG9qYmFuIG4nYSBkZSB2aXJndWxlLCBtYWlzIGVsbGUgZXN0IHBhcmZv aXMgdXRpbGlzw6llIGRhbnMgbCfDqWNyaXR1cmUgZGVzIG5vbXMgZCdhdXRyZXMgbGFuZ3Vlcy4g UGFyIGV4ZW1wbGUsIMKrwqAnJ3BpLEVSLicnwqDCuyAoUGllcnJlKSwgYXUgbGlldSBkZSDCq8Kg JydwaWVyLicnwqDCuyAoUC15ZXJyKSwgwqvCoCcncGkuRVIuJyfCoMK7IChQaTsgRWhyKSwgb3Ug wqvCoCcncGknRVInJ8KgwrsgKFBpaGVycikuCgoKCkxlcyBsZXR0cmVzIGNhcGl0YWxlcyBuZSBz b250IG5vcm1hbGVtZW50IHBhcyB1dGlsaXPDqWVzIGVuIGxvamJhbi4gTm91cyBsZXMgdXRpbGlz b25zIGRhbnMgZGVzIG1vdHMgbm9uIGxvamJhbiAoY29tbWUgwqvCoFBpZXJyZcKgwrspLCBxdWFu ZCBsJ2FjY2VudCB0b25pcXVlIGQndW4gbW90IGVzdCBkaWZmw6lyZW50IGRlIGNlbHVpIGRlIGxh IG5vcm1lIGxvamJhbi4gTGEgbm9ybWUgY29uc2lzdGUgw6AgbWV0dHJlIHVuIGFjY2VudCB0b25p cXVlIHN1ciBsJ2F2YW50IGRlcm5pw6hyZSBzeWxsYWJlLiBQYXIgZXhlbXBsZSwgJydrdWptaWtj ZScnIChpbmZpcm1pw6hyZSksIGVzdCDCq8Kga3VqX19NSUtfX2NlwqDCuywgZXQgbm9uIHBhcyDC q8KgX19LVUpfX21pa2NlwqDCuy4gTGUgbm9tIMKrwqBKdWxpZXR0ZcKgwrsgcyfDqWNyaXJhaXQg wqvCoCcnanVMSUVULicnwqDCuyBzaSBwcm9ub25jw6kgY29tbWUgZW4gZnJhbsOnYWlzLCBtYWlz IMKrwqAnJ0RKVWxpLGV0LicnwqDCuyBzaSBwcm9ub25jw6kgY29tbWUgZW4gYW5nbGFpcy4KCiEh ISFBbHBoYWJldAoKCgpEYW5zIGxhIHBsdXBhcnQgZGVzIG1hbnVlbHMsIGxvcnMgZGUgbCdhcHBy ZW50aXNzYWdlIGQndW5lIGxhbmd1ZSwgdm91cyBhcHByZW5leiBsJ2FscGhhYmV0IGR1IGxhbmdh Z2UsIGV0IHNhIHByb25vbmNpYXRpb24uIExlcyBsZXR0cmVzICgnJ2xlcmZ1JycpIMOpdGFudCBw bHVzIGltcG9ydGFudGVzIGVuIGxvamJhbiBxdSfDoCBsJ2FjY291dHVtw6llLCBhdXRhbnQgYXBw cmVuZHJlIGxldXIgbm9tcyByYXBpZGVtZW50LgoKCgpMZXMgY29uc29ubmVzIHNvbnQgc2ltcGxl c8KgOiBsZSBub20gZCd1bmUgY29uc29ubmUgZXN0IGNldHRlIGxldHRyZSwgc3VpdmllIGRlIMKr wqB5wqDCuy4gQWluc2ksIGxlcyBjb25zb25uZXMgZHUgbG9qYmFuLCDCq8KgYsKgwrssIMKrwqBj wqDCuywgwqvCoGTCoMK7LCDCq8KgZsKgwrssIMKrwqBnwqDCu+KApiBzb250IGFwcGVsw6llcyDC q8KgJydieS4nJ8KgwrssIMKrwqAnJ2N5LicnwqDCuywgwqvCoCcnZHkuJyfCoMK7LCDCq8KgJydm eS4nJ8KgwrssIMKrwqAnJ2d5LicnwqDCu+KApiBlbiBsb2piYW4gKGVuIHV0aWxpc2FudCB1biBw b2ludCwgY29tbWUgZMOpY3JpdCBkYW5zIGxhIHBhcnRpZSBwcsOpY8OpZGVudGUpLgoKCgpMZXMg dm95ZWxsZXMgX19zZXJhaWVudF9fIGFwcGVsw6llcyDCq8KgJycuYXknJ8KgwrssIMKrwqAnJy5l eScnwqDCuywgwqvCoCcnLml5JyfCoMK74oCmLCBzaSBjJ8OpdGFpdCBtb2lucyBkaWZmaWNpbGUg w6AgcHJvbm9uY2VyLiBBdSBsaWV1IGRlIMOnYSwgZWxsZXMgc29udCBub21tw6llIGVuIHN1aXZh bnQgbGUgc29uIGRlIGxhIHZveWVsbGUgcGFyIGxlIG1vdCAnJ2J1JycsIHF1aSBzaWduaWZpZSBz aW1wbGVtZW50IMKrwqBsZXR0cmXCoMK7LiBBaW5zaSwgbGVzIHZveWVsbGVzIGR1IGxvamJhbiBz b250wqA6ICDCq8KgJycuYWJ1JyfCoMK7LCDCq8KgJycuZWJ1JyfCoMK7LCDCq8KgJycuaWJ1JyfC oMK7LCDCqyAnJy5vYnUnJyDCuywgwqvCoCcnLnVidScnwqDCuywgwqvCoCcnLnlidScnwqDCuy4K CgoKTCdhcG9zdHJvcGhlIGVzdCBjb25zaWTDqXLDqWUgY29tbWUgdW5lIHZyYWkgbGV0dHJlIGVu IGxvamJhbiwgZXQgZXN0IG5vbW3DqWUgwqvCoCcnLnkneS4nJ8KgwrsgKMKrwqBldWhldcKgwrvi gKYgVW4gcGV1IGNvbW1lIHVuZSBwZXRpdGUgdG91eCkuCgoKCkxlIGxvamJhbiBhIHVuIG1veWVu IGRlIHNlIHLDqWbDqXJlciDDoCBsYSBwbHVwYXJ0IGRlcyBsZXR0cmVzIGF1eHF1ZWxsZXMgdm91 cyBwb3V2ZXogcGVuc2VyLiBTaSB2b3VzIGTDqXNpcmV6IGTDqHMgbWFpbnRlbmFudCDDqXBlbGVy IHZvdHJlIG5vbSBlbiBsb2piYW4sIGV0IHF1ZSBjZWx1aSBjaSBwb3Nzw6hkZSB1biDCq8KgSMKg wrssIMKrwqBRwqDCuyBvdSDCq8KgV8KgwrssIHZvdXMgcG91dmV6IHV0aWxpc2VyIMKrICcnLnkn eS5idScnIMK7LCDCqyAnJ2t5LmJ1JycgwrsgZXQgwqsgJyd2eS5idScnIMK7LiBBaW5zaSwgwqvC oFNjaHdhcnplbmVnZ2VywqDCuyBlc3Qgw6lwZWzDqSBlbiBsb2piYW7CoDoKCicnc3kuIGN5LiAu eSd5YnUgdnlidS4gLmFidSByeS4genkuIC5lYnUgbnkuIC5lYnUgZ3kuIGd5LiAuZWJ1IHJ5Licn CgoKCkV0IMOpcGVsZXIgX1/Dp2FfXyBlc3QgdW5lIHTDomNoZSBkaWduZSBkdSBUZXJtaW5hdG9y wqAhCgoKCk1haW50ZW5hbnQsIMOpcGVsZXogdm90cmUgbm9tIGVuIGxvamJhbiAobGUgY2FzIMOp Y2jDqWFudCwgZGUgbGEgbWFuacOocmUgbGEgcGx1cyBwcm9jaGUgcXVlIHZvdXMgcG91dmV6IGF2 ZWMgbGVzIDI2IGxldHRyZXMgcXVlIG5vdXMgdmVub25zIGQnYXBwcmVuZHJlLCBldCBsJ2Fwb3N0 cm9waGUpLgoKISEhISBQcm9ub25jaWF0aW9uIMKrwqBjb3JyZWN0ZcKgwrsKCgoKVm91cyBuJ2F2 ZXogcGFzIMOgIGF2b2lyIHVuZSBwcm9ub25jaWF0aW9uIHByw6ljaXNlIGR1IGxvamJhbiwgY2Fy IGNoYXF1ZSBwaG9uw6htZSBlc3QgZGlzdHJpYnXDqSBkZSBtYW5pw6hyZSDDoCBjZSBxdSdpbCBz b2l0IGRpZmZpY2lsZSBkZSBjb25mb25kcmUgZGV1eCBzb25zLiBDZWNpIHNpZ25pZmllIHF1ZSwg cG91ciB1bmUgbGV0dHJlLCBwbHV0w7R0IHF1J3VuZSBwcm9ub25jaWF0aW9uIMKrwqBjb3JyZWN0 ZcKgwrssIGlsIHkgYSB1bmUgZ2FtbWUgZGUgc29ucyBhY2NlcHTDqXMg4oCTIGxlIHByaW5jaXBl IGfDqW7DqXJhbCDDqXRhbnQgcXUndW4gc29uIGVzdCBib24gdGFudCBxdSdpbCBuZSByZXNzZW1i bGUgcGFzIHRyb3Agw6AgdW5lIGF1dHJlIGxldHRyZS4gUGFyIGV4ZW1wbGUsIGxlIMKrwqBywqDC uyBsb2piYW4gcGV1dCDDqnRyZSBwcm9ub25jw6kgY29tbWUgZW4gYW5nbGFpcywgw6ljb3NzYWlz LCBmcmFuw6dhaXPigKYKCgoKJydQb3VyIGRlcyByYWlzb25zIC0tZCdpbmNvbXDDqXRlbmNlLS0g ZGUgZGlmZmljdWx0w6lzIGRlIHRyYWR1Y3Rpb24sIGxlIHBhc3NhZ2Ugc3VpdmFudCBzZSBiYXNl IGVuY29yZSBzdXIgZGVzIGV4ZW1wbGVzIGRlIG1vdHMgYW5nbGFpcyDigJMgc2kgdm91cyB0cm91 dmV6IHVuIMOpcXVpdmFsZW50IGZyYW7Dp2Fpcywgbidow6lzaXRleiBwYXPCoCEnJwoKCgpJbCBm YXV0IGNlcGVuZGFudCBiaWVuIGZhaXJlIGF0dGVudGlvbiDDoCBuZSBwYXMgcHJvbm9uY2VyIGxl cyDCq8KgJydpJyfCoMK7IGV0IMKrwqAnJ3UnJ8KgwrsgbG9qYmFuIGNvbW1lIGRhbnMgbCdhbmds YWlzIHN0YW5kYXJkIMKrwqBoaXTCoMK7IGV0IMKrwqBidXTCoMK7IChsZSDCq8KgYnV0wqDCuyBk ZSBsJ2FuZ2xhaXMgZHUgbm9yZCBlc3QgY2VwZW5kYW50IGNvcnJlY3TCoCEpLiBMYSByYWlzb24g ZW4gZXN0IHF1ZSBsZXMgdm95ZWxsZXMgbm9uLWxvamJhbiwgY2VzIGRldXggY2kgcGFydGljdWxp w6hyZW1lbnQsIHNvbnQgdXRpbGlzw6llcyBwb3VyIHPDqXBhcmVyIGxlcyBjb25zb25uZXMgcGFy IGxlcyBwZXJzb25uZXMgcXVpIG4nYXJyaXZlbnQgcGFzIMOgIGxlcyBwcm9ub25jZXIuIFBhciBl eGVtcGxlLCBzaSB2b3VzIGF2ZXogdW4gcHJvYmzDqG1lIGF2ZWMgbGUgwqvCoCcnemQnJ8Kgwrsg ZGUgwqvCoCcnemRhbmknJ8KgwrsgKG1haXNvbiksIHZvdXMgcG91dmV6IGRpcmUgwqvCoHrJqmRh bmnCoMK7LCBhdmVjIHVuIMKrwqDJqsKgwrsgdHLDqHMgY291cnQsIG1haXMgbGUgwqvCoGnCoMK7 IGZpbmFsIGxvbmcuCgohISEhTG9qYmFuIE5hbWVzIChjbWV2bGEpCgpXYXRjaCBhbnkgZmlsbSB3 aGVyZSBwZW9wbGUgZG9uJ3Qga25vdyBlYWNoIG90aGVyJ3MgbGFuZ3VhZ2UuIFRoZXkgc3RhcnQg b2ZmIHNheWluZyB0aGluZ3MgbGlrZSDigJxNZSBUYXJ6YW4s4oCdIHdoaWNoIGlzIGFzIGdvb2Qg YSBwbGFjZSB0byBzdGFydCBsZWFybmluZyBMb2piYW4gYXMgYW55LiBTbyBoZXJlIHdlIGdvLgoK X18nJ21pJ2UgLnJvYmluLicnX18KCiJJLWFtLW5hbWVkIFJvYmluIgoKIkknbSBSb2JpbiIKCicn bWknZScnIGlzIHJlbGF0ZWQgdG8gJydtaScnLCB3aGljaCBpcyAnSScsICdtZScgYW5kIHNvIG9u LiBJdCdzIGEgZ29vZCBleGFtcGxlIG9mIHRoZSBhcG9zdHJvcGhlIHNlcGFyYXRpbmcgdHdvIHZv d2VscywgYW5kIHNvdW5kcyBhIGJpdCBsaWtlICJtZSBoZWgiLgoKVGhpcyBndXkgUm9iaW4gaXMg bHVja3kgYmVjYXVzZSBoaXMgbmFtZSBnb2VzIGRpcmVjdGx5IGludG8gTG9qYmFuIHdpdGhvdXQg YW55IGNoYW5nZXMuIEhvd2V2ZXIsIHRoZXJlIGFyZSBzb21lIHJ1bGVzIGZvciBMb2piYW4gbmFt ZXMgd2hpY2ggbWVhbiB0aGF0IHNvbWUgbmFtZXMgaGF2ZSB0byBiZSAnTG9qYmFuaXNlZCcuIFRo aXMgbWF5IHNvdW5kIHN0cmFuZ2XigJRhZnRlciBhbGwsIGEgbmFtZSBpcyBhIG5hbWXigJRidXQg aW4gZmFjdCBhbGwgbGFuZ3VhZ2VzIGRvIHRoaXMgdG8gc29tZSBleHRlbnQuIEZvciBleGFtcGxl LCBFbmdsaXNoIHNwZWFrZXJzIHRlbmQgdG8gcHJvbm91bmNlICJKb3NlIiBzb21ldGhpbmcgbGlr ZSAiSG96YXkiLCBhbmQgIk1hcmdhcmV0IiBpbiBDaGluZXNlIGlzICJNYWdlbGl0YSIuIFNvbWUg c291bmRzIGp1c3QgZG9uJ3QgZXhpc3QgaW4gc29tZSBsYW5ndWFnZXMsIHNvIHRoZSBmaXJzdCB0 aGluZyB5b3UgbmVlZCB0byBkbyBpcyByZXdyaXRlIHRoZSBuYW1lIHNvIHRoYXQgaXQgb25seSBj b250YWlucyBMb2piYW4gc291bmRzLCBhbmQgaXMgc3BlbHQgaW4gYSBMb2piYW4gd2F5LgoKX19O b3RlOiBfX1RoZSBjYXRjaCBoZXJlIGlzLCB3aGF0IHZlcnNpb24gb2YgdGhlIHNvdW5kcyB3aWxs IHlvdSBiZSB1c2luZz8gRm9yIEVuZ2xpc2ggaW4gcGFydGljdWxhciwgQnJpdGlzaCBhbmQgQW1l cmljYW4gdm93ZWxzIGNhbiBiZSBxdWl0ZSBkaWZmZXJlbnQuIFRoZSBCcml0aXNoIHZlcnNpb24g b2YgIlJvYmluIiBpcyByZWFzb25hYmx5IGFwcHJveGltYXRlZCBieSAnJy5yb2Jpbi4nJzsgYnV0 IHRoZSBBbWVyaWNhbiB2ZXJzaW9uIGlzIGNsb3NlciB0byAnJy5yYWJ5bi4nJyBvciAnJy5yYWIs bi4nJy4gQW5kIHdpdGhpbiBBbWVyaWNhIGFuZCBCcml0YWluLCB0aGVyZSBpcyBhbHNvIGEgZ29v ZCBkZWFsIG9mIHZhcmlhdGlvbi4gU28geW91IHNob3VsZCB0YWtlIHRoZSB0cmFuc2xpdGVyYXRp b25zIGdpdmVuIGJlbG93IHdpdGggYSBncmFpbiBvZiBzYWx0LgoKTGV0J3MgdGFrZSB0aGUgRW5n bGlzaCBuYW1lICJTdXNhbiIuIFRoZSB0d28gJydzJycncyBhcmUgcHJvbm91bmNlZCBkaWZmZXJl bnRseeKAlHRoZSBzZWNvbmQgb25lIGlzIGFjdHVhbGx5IGEgInoi4oCUYW5kIHRoZSAiYSIgaXMg bm90IHJlYWxseSBhbiAiYSIgc291bmQsIGl0J3MgdGhlICdzY2h3YScgd2UganVzdCBtZW50aW9u ZWQuIFNvICJTdXNhbiIgY29tZXMgb3V0IGluIExvamJhbiBhcyAnJy5zdXp5bi4nJy4KCllvdSBt YXkgaGF2ZSBub3RpY2VkIHR3byBleHRyYSBmdWxsIHN0b3BzIChwZXJpb2RzKSB0aGVyZS4gVGhp cyBpcyBuZWNlc3NhcnkgYmVjYXVzZSBpZiB5b3UgZGlkbid0IHBhdXNlLCB5b3UgbWlnaHQgbm90 IGtub3cgd2hlcmUgdGhlIHByZXZpb3VzIHdvcmQgZW5kZWQgYW5kIHRoZSBuZXh0IHdvcmQgYmVn YW4uCgoKCllvdSBzaG91bGQgYWxzbyBwdXQgYSBmdWxsIHN0b3AgaW4gYmV0d2VlbiBhIHBlcnNv bidzIGZpcnN0IGFuZCBsYXN0IG5hbWVzICh0aG91Z2ggaXQncyBub3QgY29tcHVsc29yeSksIHNv ICJKaW0gSm9uZXMiIGJlY29tZXMgJycuZGppbS5kam9uei4nJy4KCkFuIGltcG9ydGFudCBydWxl IGZvciBMb2piYW5pc2luZyBuYW1lcyBpcyB0aGF0IHRoZSBsYXN0IGxldHRlciBvZiBhIGNtZXZs YSAoTG9qYmFuIG5hbWUpIG11c3QgYmUgYSBjb25zb25hbnQuIEFnYWluLCB0aGlzIGlzIHRvIHBy ZXZlbnQgY29uZnVzaW9uIGFzIHRvIHdoZXJlIGEgbmFtZSBlbmRzLCBhbmQgd2hhdCBpcyBhbmQg aXMgbm90IGEgbmFtZSAoYWxsIG90aGVyIExvamJhbiB3b3JkcyBlbmQgaW4gYSB2b3dlbCkuIFdl IHVzdWFsbHkgdXNlICcncydmb3IgdGhpczsgc28gaW4gTG9qYmFuLCAiTWFyeSIgYmVjb21lcyAn Jy5tZXJpcy4nJyAsICJKb2UiIGJlY29tZXMgJycuZGpvcy4nJyBhbmQgc28gb24uIEFuIGFsdGVy bmF0aXZlIGlzIHRvIGxlYXZlIG91dCB0aGUgbGFzdCB2b3dlbCwgc28gIk1hcnkiIHdvdWxkIGJl Y29tZSAnJy5tZXIuJycgb3IgJycubWVpci4nJy4KCgoKVGhlIGZpbmFsIHBvaW50IGlzIHN0cmVz cy4gQXMgd2UndmUgc2VlbiwgTG9qYmFuIHdvcmRzIGFyZSBzdHJlc3NlZCBvbiB0aGUgcGVudWx0 aW1hdGUgc3lsbGFibGUsIGFuZCBpZiBhIG5hbWUgaGFzIGRpZmZlcmVudCBzdHJlc3MsIHdlIHVz ZSBjYXBpdGFsIGxldHRlcnMuIFRoaXMgbWVhbnMgdGhhdCB0aGUgRW5nbGlzaCBhbmQgRnJlbmNo IG5hbWVzICJSb2JlcnQiIGNvbWUgb3V0IGRpZmZlcmVudGx5IGluIExvamJhbjogdGhlIEVuZ2xp c2ggbmFtZSBpcyAnJy5yb2J5dC4nJyBpbiBVSyBFbmdsaXNoLCBvciAnJy5yYWIscnQuJycgaW4g c29tZSBBbWVyaWNhbiBkaWFsZWN0cywgYnV0IHRoZSBGcmVuY2ggaXMgJycucm9CRVIuJycuCgpU byBnaXZlIGFuIGlkZWEgb2YgaG93IGFsbCB0aGlzIHdvcmtzLCBoZXJlIGFyZSBzb21lIG5hbWVz IG9mIGZhbW91cyBwZW9wbGUgaW4gdGhlaXIgb3duIGxhbmd1YWdlIGFuZCBpbiBMb2piYW4uCgoK Cnx8X19FbmdsaXNoX18KCk1hcmdhcmV0IFRoYXRjaGVyIHwnJy5tYWdyeXQudGF0Y3lyLicnIChu byAidGgiIGluIExvamJhbiBiZWNhdXNlIG1vc3QgcGVvcGxlIGFyb3VuZCB0aGUgd29ybGQgY2Fu J3Qgc2F5IGl0ISkKCk1pY2sgSmFnZ2VyIHwnJy5taWsuZGphZ3lzLicnIHx8Cgp8fF9fRnJlbmNo X18KCk5hcG9sZW9uIEJvbmFwYXJ0ZSB8JycubmFwb2xlLE9OLmJvbmFQQVJULicnCgpKdWxpZXR0 ZSBCaW5vY2hlIHwnJy5qdUxJRVQuYmluT0MuJycgfHwKCnx8X19DaGluZXNlX18KCkxhb3ppIHwn Jy5sYXVkei4nJwoKTWFvIFplZG9uZyB8JycubWF1ZHp5RFlOLicnIChGaW5hbCAnJ25nJycgaXMg aW4gTG9qYmFuIGNvbnZlbnRpb25hbGx5IHR1cm5lZCBpbnRvIG4uKSB8fAoKfHxfX1R1cmtpc2hf XwoKTXVzdGFmYSBLZW1hbCB8JycuTVVTdGFmYXMua2VNQUwuJycKCkVya2luIEtvcmF5IHwnJy5l cmtpbi5rb3JhaXMuJycgfHwKCnx8X19HZXJtYW5fXwoKRnJpZWRyaWNoIE5pZXR6c2NoZSB8Jycu ZnJpZHJpeC5uaXRjeXMuJycKCkNsYXJhIFNjaHVtYW5uIHwnJy5rbGFyYXMuY3VtYW4uJycgfHwK Cnx8X19TcGFuaXNoX18KCklzYWJlbCBBbGxlbmRlIHwnJy5pemFCRUwuYWllbmRlcy4nJwoKQ2hl IEd1ZXZhcmEgfCcnLnRjZWdldmFyYXMuJycgfHwKCl9fRXhlcmNpc2VfXy4KCldoZXJlIGFyZSB0 aGVzZSBwbGFjZXM/CgojLm51LElPUksuCgojLnJvbWFzLgoKIy54YXZhbmFzLgoKIy5rYXJkaWYu CgojLmJlaWRqaW4uCgojLkFOa2FyYXMuCgojLkFMYmVrZXJraXMuCgojLnZhbmt1dmVyLgoKIy5r ZWlwdGF1bi4KCiMudGFpYmVpcy4KCiMuYm9uLgoKIy5kZWxpcy4KCiMubmlzLgoKIy5hdGluYXMu CgojLmxpZHouCgojLnhlbHNpbmtpcy4KCkFuc3dlcjoKCn5+Z3JheSxncmF5On5+Cgojfn5ncmF5 LGdyYXk6TmV3IFlvcms6IFVTQX5+Cgojfn5ncmF5LGdyYXk6Um9tZTogSXRhbHl+fgoKI35+Z3Jh eSxncmF5OkhhdmFuYTogQ3ViYX5+Cgojfn5ncmF5LGdyYXk6Q2FyZGlmZjogV2FsZXMgKFRoZSBX ZWxzaCBmb3IgIkNhcmRpZmYiIGlzICJDYWVyZHlkZCIsIHdoaWNoIHdvdWxkIExvamJhbmlzZSB0 byBzb21ldGhpbmcgbGlrZSBrYWlyZHlkLi4pfn4KCiN+fmdyYXksZ3JheTpCZWlqaW5nOiBDaGlu YX5+Cgojfn5ncmF5LGdyYXk6QW5rYXJhOiBUdXJrZXl+fgoKI35+Z3JheSxncmF5OkFsYmVxdWVy cXVlOiBOZXcgTWV4aWNvLCBVU0F+fgoKI35+Z3JheSxncmF5OlZhbmNvdXZlcjogQ2FuYWRhfn4K CiN+fmdyYXksZ3JheTpDYXBlIFRvd246IFNvdXRoIEFmcmljYX5+Cgojfn5ncmF5LGdyYXk6VGFp cGVpOiBUYWl3YW4gKG5vdGUgYiwgbm90IHAuIEFsdGhvdWdoIGFjdHVhbGx5LCB0aGUgYiBpbiBQ aW55aW4gaXMgcHJvbm91bmNlZCBhcyBhIHAuLi4gQnV0IHRoaXMgaXNuJ3QgbWVhbnQgdG8gYmUg YSBjb3Vyc2Ugb24gTWFuZGFyaW4hKX5+Cgojfn5ncmF5LGdyYXk6Qm9ubjogR2VybWFueX5+Cgoj fn5ncmF5LGdyYXk6RGVsaGk6IEluZGlhIChUaGUgSGluZGkgZm9yICJEZWxoaSIgaXMgIkRpbGzD riIsIHdoaWNoIHdvdWxkIGdpdmUgZGlsaXlzLiBvciBkaWxpJ2lzLi4pfn4KCiN+fmdyYXksZ3Jh eTpOaWNlOiBGcmFuY2V+fgoKI35+Z3JheSxncmF5OkF0aGVuczogR3JlZWNlICgiQXRoaW5hIiBp biBHcmVlayl+fgoKI35+Z3JheSxncmF5OkxlZWRzOiBFbmdsYW5kfn4KCiN+fmdyYXksZ3JheTpI ZWxzaW5raTogRmlubGFuZH5+CgpfX0V4ZXJjaXNlX18uCgpMb2piYW5pc2UgdGhlIGZvbGxvd2lu ZyBuYW1lcwoKI0pvaG4KCiNNZWxpc3NhCgojQW1hbmRhCgojTWF0dGhldwoKI01pY2hhZWwKCiNE YXZpZCBCb3dpZQoKI0phbmUgQXVzdGVuCgojV2lsbGlhbSBTaGFrZXNwZWFyZQoKI1NpZ291cm5l eSBXZWF2ZXIKCiNSaWNoYXJkIE5peG9uCgojSXN0YW5idWwKCiNNYWRyaWQKCiNUb2t5bwoKI1Nh biBTYWx2YWRvcgoKQW5zd2VyOgoKfn5ncmF5LGdyYXk6VGhlcmUgYXJlIHVzdWFsbHkgYWx0ZXJu YXRpdmUgc3BlbGxpbmdzIGZvciBuYW1lcywgZWl0aGVyIGJlY2F1c2UgcGVvcGxlIHByb25vdW5j ZSB0aGUgb3JpZ2luYWxzIGRpZmZlcmVudGx5LCBvciBiZWNhdXNlIHRoZSBleGFjdCBzb3VuZCBk b2Vzbid0IGV4aXN0IGluIExvamJhbiwgc28geW91IG5lZWQgdG8gY2hvb3NlIGJldHdlZW4gdHdv IExvamJhbiBsZXR0ZXJzLiBUaGlzIGRvZXNuJ3QgbWF0dGVyLCBzbyBsb25nIGFzIGV2ZXJ5b25l IGtub3dzIHdobyBvciB3aGVyZSB5b3UncmUgdGFsa2luZyBhYm91dC5+fgoKI35+Z3JheSxncmF5 Oi5kam9uLiAob3IgLmRqYW4uIHdpdGggc29tZSBhY2NlbnRzKX5+Cgojfn5ncmF5LGdyYXk6Lm1l bGlzeXMufn4KCiN+fmdyYXksZ3JheTouYW1hbmR5cy4gKGFnYWluLCBkZXBlbmRpbmcgb24geW91 ciBhY2NlbnQsIHRoZSBmaW5hbCB5IG1heSBiZSBhLCB0aGUgaW5pdGlhbCBhIG1heSBiZSB5LCBh bmQgdGhlIG1pZGRsZSBhIG1heSBiZSBlLil+fgoKI35+Z3JheSxncmF5Oi5tYXRpdXMufn4KCiN+ fmdyYXksZ3JheToubWFpa3lsLiBvciAubWFpayxsLiAsIGRlcGVuZGluZyBvbiBob3cgeW91IHNh eSBpdC5+fgoKI35+Z3JheSxncmF5Oi5kZWl2eWQuYmF1LGlzLiBvciAuYm8saXMuIChidXQgbm90 IC5idSxpcy4g4oCUIHRoYXQncyB0aGUga25pZmUpfn4KCiN+fmdyYXksZ3JheTouZGplaW4ub3N0 aW4ufn4KCiN+fmdyYXksZ3JheToudWlsaWFtLmNla3NwaXIufn4KCiN+fmdyYXksZ3JheTouc2ln b3JuaXMudWl2eXIuIG9yIC5zeWdvcm5pcy51aXZ5ci5+fgoKI35+Z3JheSxncmF5Oi5yaXRjeXJk Lm5pa3N5bi5+fgoKI35+Z3JheSxncmF5Oi5pc3RhbkJVTC4gd2l0aCBFbmdsaXNoIHN0cmVzcywg LklTdGFuYnVsLiB3aXRoIEFtZXJpY2FuLCAuaXN0YW5idWwuIHdpdGggVHVya2lzaC4gTG9qYmFu aXN0cyBnZW5lcmFsbHkgcHJlZmVyIHRvIGJhc2UgY21ldmxhIG9uIGxvY2FsIHByb251bmNpYXRp b24sIGJ1dCB0aGlzIGlzIG5vdCBhbiBhYnNvbHV0ZSBydWxlLn5+Cgojfn5ncmF5LGdyYXk6Lm1h RFJJRC5+fgoKI35+Z3JheSxncmF5Oi50b2tpb3Mufn4KCiN+fmdyYXksZ3JheTouc2FuLnNhbHZh RE9SLiAod2l0aCBTcGFuaXNoIHN0cmVzcykgPC9zcGFuPjwvaHRtbD5+fgoKISEhIUxvamJhbiB3 b3JkcyBhcyBuYW1lcwoKQnkgbm93IHlvdSBzaG91bGQgYmUgYWJsZSB0byBMb2piYW5pc2UgeW91 ciBvd24gbmFtZS4gSG93ZXZlciwgaWYgeW91IHByZWZlciwgeW91IGNhbiB0cmFuc2xhdGUgeW91 ciBuYW1lIGludG8gTG9qYmFuIChpZiB5b3Uga25vdyB3aGF0IGl0IG1lYW5zLCBvZiBjb3Vyc2Up IG9yIGFkb3B0IGEgY29tcGxldGVseSBuZXcgTG9qYmFuIGlkZW50aXR5LiBOYXRpdmUgQW1lcmlj YW5zIGdlbmVyYWxseSB0cmFuc2xhdGUgdGhlaXIgbmFtZSB3aGVuIHNwZWFraW5nIEVuZ2xpc2gs IHBhcnRseSBiZWNhdXNlIHRoZXkgaGF2ZSBtZWFuaW5nZnVsIG5hbWVzLCBhbmQgcGFydGx5IGJl Y2F1c2UgdGhleSBkb24ndCBleHBlY3QgdGhlICJ3YXNpY2h1IiB0byBiZSBhYmxlIHRvIHByb25v dW5jZSB3b3JkcyBpbiBMYWtvdGEsIENoZXJva2VlIG9yIHdoYXRldmVyIQoKTG9qYmFuIHdvcmRz IChleGNlcHQgY21ldmxhKSBlbmQgaW4gYSB2b3dlbC4gWW91IGNhbiB1c2UgbG9qYmFuIHdvcmRz IGFzIG5hbWVzIHRvby4gQnV0IGlmIHlvdSBwcmVmZXIgdGhhdCB5b3VyIG5hbWUgaXMgYSBjbWV2 bGEgYW5kIGl0IGVuZHMgaW4gYSB2b3dlbCB0aGVuIHlvdSBjYW4gZWl0aGVyIGFkZCBhIGNvbnNv bmFudCB0byB0aGUgZW5kIG9mIGl0IG9yIGp1c3QgY2hvcCB0aGUgZW5kIHZvd2VsIG9mZi4KCkhl cmUgYXJlIGEgZmV3IGV4YW1wbGVzIChvcmlnaW5hbCBuYW1lLCBtZWFuaW5nLCBuYW1lIGFuZCBu YW1lIGFzIGNtZXZsYSk6CgoqRmlzaCDigJMgZmlucGUg4oCTICcnLmZpbnAuJycKCipCasO2cm4g KFNjYW5kaW5hdmlhbiA9IGJlYXIpIOKAkyBjcmliZSDigJMgJycuY3JpYi4nJwoKKkdyZWVuIOKA kyBjcmlubyDigJMgJycuY3Jpbi4nJwoKKk1laSBMaSAoQ2hpbmVzZSA9IGJlYXV0aWZ1bCkg4oCT IG1lbGJpIOKAkyAnJy5tZWxiLicnCgoqQXloYW4gKFR1cmtpc2ggPSBNb29uIExvcmQpIOKAkyBs dW5yYSBub2JsaSAoPSBsdXJub2JsaSkg4oCTICcnLmx1cm5vYmxpcy4nJwoKISFMb2piYW4gTGVz c29ucyDigJMgbGVzc29uIG9uZSAoYnJpZGksIGp1ZnJhLCBzdW10aSBhbmQgc2VsYnJpKQoKQSAn J2JyaWRpJycgaXMgdGhlIG1vc3QgY2VudHJhbCB1bml0IG9mIExvamJhbiB1dHRlcmFuY2VzLiBU aGUgY29uY2VwdCBpcyB2ZXJ5IGNsb3NlIHRvIHdoYXQgd2UgY2FsbCBhIHByb3Bvc2l0aW9uIGlu IEVuZ2xpc2guIEEgYnJpZGkgaXMgYSBjbGFpbSB0aGF0IHNvbWUgb2JqZWN0cyBzdGFuZCBpbiBh IHJlbGF0aW9uIHRvIGVhY2ggb3RoZXIsIG9yIHRoYXQgYW4gb2JqZWN0IGhhcyBzb21lIHByb3Bl cnR5LiBUaGlzIHN0YW5kcyBpbiBjb250cmFzdCB0byAnJ2p1ZnJhJycsIHdoaWNoIGFyZSBtZXJl bHkgTG9qYmFuIHV0dGVyYW5jZXMsIHdoaWNoIGNhbiBiZSBicmlkaSBvciBhbnl0aGluZyBlbHNl IGJlaW5nIHNhaWQuIFRoZSBkaWZmZXJlbmNlIGJldHdlZW4gYSBicmlkaSBhbmQgYSBqdWZyYSBp cyB0aGF0IGEganVmcmEgZG9lcyBub3QgbmVjZXNzYXJpbHkgc3RhdGUgYW55dGhpbmcsIHdoaWxl IGEgYnJpZGkgZG9lcy4gVGh1cywgYSBicmlkaSBtaWdodCBiZSB0cnVlIG9yIGZhbHNlLCB3aGls ZSBub3QgYWxsIGp1ZnJhIGNhbiBiZSBzYWlkIHRvIGJlIHN1Y2guCgpUbyBoYXZlIHNvbWUgZXhh bXBsZXMgKGluIEVuZ2xpc2gsIHRvIGJlZ2luIHdpdGgpLCDigJxNb3phcnQgd2FzIHRoZSBncmVh dGVzdCBtdXNpY2lhbiBvZiBhbGwgdGltZeKAnSBpcyBhIGJyaWRpLCBiZWNhdXNlIGl0IG1ha2Vz IGEgY2xhaW0gd2l0aCBhIHRydXRoIHZhbHVlLCBhbmQgaXQgaW52b2x2ZXMgYW4gb2JqZWN0LCBN b3phcnQsIGFuZCBhIHByb3BlcnR5LCBiZWluZyB0aGUgZ3JlYXRlc3QgbXVzaWNpYW4gb2YgYWxs IHRpbWUuIE9uIHRoZSBjb250cmFyeSwg4oCcT3chIE15IHRvZSHigJ0gaXMgbm90IGEgYnJpZGks IHNpbmNlIGl0IGRvZXMgbm90IGludm9sdmUgYSByZWxhdGlvbiwgYW5kIHRodXMgZG9lcyBub3Qg c3RhdGUgYW55dGhpbmcuIEJvdGgsIHRob3VnaCwgYXJlIGp1ZnJhLgoKVHJ5IHRvIGlkZW50aWZ5 IHRoZSBicmlkaSBhbW9uZyB0aGVzZSBFbmdsaXNoIGp1ZnJhOgoKCgojIOKAnEkgaGF0ZSBpdCB3 aGVuIHlvdSBkbyB0aGF0LuKAnQoKIyDigJxSdW5zLuKAnQoKIyDigJxXb2FoLCB0aGF0IGxvb2tz IGRlbGljaW91cyHigJ0KCiMg4oCcR2Vleiwgbm90IGFnYWluLuKAnQoKIyDigJxObywgSSBvd24g dGhyZWUgY2Fyc+KAnQoKIyDigJxOaW5ldGVlbiBtaW51dGVzIHBhc3QgZWlnaHQu4oCdCgojIOKA nFRoaXMgU2F0dXJkYXksIHllcy7igJ0KCgoKQW5zd2VyOiB+fmdyZXksZ3JleToxLCAzIGFuZCA1 IGFyZSBicmlkaS4gMiBjb250YWlucyBubyBvYmplY3RzIGFuZCB0aGUgcmVzdCBjb250YWluIG5v IHJlbGF0aW9uIG9yIGNsYWltIG9mIGEgcHJvcGVydHkufn4KCgoKUHV0IGluIExvamJhbiB0ZXJt cywgYSBicmlkaSBjb25zaXN0cyBvZiBvbmUgJydzZWxicmknJywgYW5kIG9uZSBvciBtb3JlICcn c3VtdGknJy4gVGhlIHNlbGJyaSBpcyB0aGUgcmVsYXRpb24gb3IgY2xhaW0gYWJvdXQgdGhlIG9i amVjdCwgYW5kIHRoZSBzdW10aSBhcmUgdGhlIG9iamVjdHMgd2hpY2ggYXJlIGluIGEgcmVsYXRp b24uIE5vdGUgdGhhdCDigJxvYmplY3TigJ0gaXMgbm90IGEgcGVyZmVjdCB0cmFuc2xhdGlvbiBv ZiDigJxzdW10aeKAnSwgc2luY2Ug4oCcc3VtdGnigJ0gY2FuIHJlZmVyIHRvIG5vdCBqdXN0IHBo eXNpY2FsIG9iamVjdHMsIGJ1dCBjYW4gYWxzbyBwdXJlbHkgYWJzdHJhY3QgdGhpbmdzIGxpa2Ug 4oCcVGhlIGlkZWEgb2Ygd2FyZmFyZeKAnS4gQSBiZXR0ZXIgdHJhbnNsYXRpb24gd291bGQgYmUg c29tZXRoaW5nIGxpa2Ug4oCcc3ViamVjdCwgZGlyZWN0IG9yIGluZGlyZWN0IG9iamVjdOKAnSBm b3Igc3VtdGksIGFuZCDigJx2ZXJi4oCdIGZvciBzZWxicmksIHRob3VnaCwgYXMgd2Ugd2lsbCBz ZWUsIHRoaXMgaXMgbm90IG9wdGltYWwgZWl0aGVyLgoKV2UgY2FuIG5vdyB3cml0ZSB0aGUgZmly c3QgaW1wb3J0YW50IGxlc3NvbiBkb3duOgoKYnJpZGkgPSBzZWxicmkgKyBvbmUgb3IgbW9yZSBz dW10aQoKUHV0IGFub3RoZXIgd2F5LCBhIGJyaWRpIHN0YXRlcyB0aGF0IHNvbWUgc3VtdGkgZG8v YXJlIHNvbWV0aGluZyBleHBsYWluZWQgYnkgYSBzZWxicmkuCgoKCklkZW50aWZ5IHRoZSBzdW10 aSBhbmQgc2VsYnJpIGVxdWl2YWxlbnRzIGluIHRoZXNlIEVuZ2xpc2gganVmcmE6CgrigJxJIHdp bGwgcGljayB1cCBteSBkYXVnaHRlcnMgd2l0aCBteSBjYXLigJ0KCgoKQW5zd2VyOiB+fmdyZXks Z3JleTpzZWxicmk6IOKAnHBpY2sgdXAgKHdpdGgp4oCdLiBzdW10aTog4oCcSeKAnSwg4oCcbXkg ZGF1Z2h0ZXJz4oCdLCDigJxteSBjYXLigJ1+fgoKCgrigJxIZSBib3VnaHQgNSBuZXcgc2hpcnRz IGZyb20gTWFyayBmb3IganVzdCB0d28gaHVuZHJlZCBldXJvIeKAnQoKCgpBbnN3ZXI6IH5+Z3Jl eSxncmV5OnNlbGJyaTog4oCcYm91Z2h0IChmcm9tKSAoZm9yKeKAnSBzdW10aTog4oCcSGXigJ0s IOKAnDUgbmV3IHNoaXJ0c+KAnSwg4oCcTWFya+KAnSBhbmQg4oCcdHdvIGh1bmRyZWQgZXVyb3Pi gJ1+fgoKCgpTaW5jZSB0aGVzZSBjb25jZXB0cyBhcmUgc28gZnVuZGFtZW50YWwgdG8gTG9qYmFu LCBsZXQncyBoYXZlIGEgdGhpcmQgZXhhbXBsZTog4oCcU28gZmFyLCB0aGUgRVBBIGhhcyBkb25l IG5vdGhpbmcgYWJvdXQgdGhlIGFtb3VudCBvZiBzdWxwaHVyIGRpb3hpZGUu4oCdCgoKCkFuc3dl cjogfn5ncmV5LGdyZXk6c2VsYnJpOiDigJxoYXMgZG9uZSAoYWJvdXQp4oCdIHN1bXRpOiDigJxU aGUgRVBB4oCdLCDigJxub3RoaW5n4oCdIGFuZCDigJx0aGUgYW1vdW50IG9mIHN1bHBodXIgZGlv eGlkZeKAnX5+CgoKCk5vdyB0cnkgYmVnaW4gbWFraW5nIExvamJhbiBicmlkaS4gRm9yIHRoaXMg eW91IHdpbGwgbmVlZCB0byB1c2Ugc29tZSB3b3Jkcywgd2hpY2ggY2FuIGFjdCBhcyBzZWxicmk6 CgonJ19fZHVuZGFfXycnIHgxIGdpdmVzIHgyIHRvIHgzICh3aXRob3V0IHBheW1lbnQpCgonJ19f cGVseHVfXycnIHgxIGlzIHllbGxvdwoKJydfX3pkYW5pX18nJyB4MSBpcyBhIGhvbWUgb2YgeDIK CgoKTm90aWNlIHRoYXQgdGhlc2Ugd29yZHMgbWVhbmluZyDigJxnaXZl4oCdLCDigJx5ZWxsb3fi gJ0gYW5kIOKAnGhvbWXigJ0gd291bGQgYmUgY29uc2lkZXJlZCBhIHZlcmIsIGFuIGFkamVjdGl2 ZSBhbmQgYSBub3VuIGluIEVuZ2xpc2guIEluIExvamJhbiwgdGhlcmUgYXJlIG5vIHN1Y2ggY2F0 ZWdvcmllcyBhbmQgbm8gc3VjaCBkaXN0aW5jdGlvbi4gJydkdW5kYScnIGNhbiBiZSB0cmFuc2xh dGVkIOKAnGdpdmVz4oCdICh2ZXJiKSwg4oCcaXMgYSBnaXZlcuKAnSAobm91biksIOKAnGlzIGdp dmluZ+KAnSAoYWRqZWN0aXZlKSBhcyB3ZWxsIGFzIHRvIGFuIGFkdmVyYiBmb3JtLiBUaGV5IGFs bCBhY3QgYXMgc2VsYnJpLCBhbmQgYXJlIHVzZWQgaW4gdGhlIHNhbWUgd2F5LgoKCgpBcyB3ZWxs IGFzIGEgZmV3IHdvcmRzLCB3aGljaCBjYW4gYWN0IGFzIHN1bXRpOgoKJydfX21pX18nJyDigJxJ 4oCdIG9yIOKAnHdl4oCdIOKAkyB0aGUgb25lIG9yIHRob3NlIHdobyBhcmUgc3BlYWtpbmcuCgon J19fdGlfXycnIOKAnHRoaXPigJ0g4oCTIGEgY2xvc2UgdGhpbmcgb3IgZXZlbnQgbmVhcmJ5IHdo aWNoIGNhbiBiZSBwb2ludGVkIHRvIGJ5IHRoZSBzcGVha2VyLgoKJydfX2RvX18nJyDigJx5b3Xi gJ0g4oCTIHRoZSBvbmUgb3IgdGhvc2Ugd2hvIGFyZSBiZWluZyBzcG9rZW4gdG8uCgoKClNlZSB0 aGUgc3RyYW5nZSB0cmFuc2xhdGlvbnMgb2YgdGhlIHNlbGJyaSBhYm92ZSAtIGVzcGVjaWFsbHkg dGhlIHgxLCB4MiBhbmQgeDM/IFRob3NlIGFyZSBjYWxsZWQgc3VtdGkgcGxhY2VzLiBUaGV5IGFy ZSBwbGFjZXMgd2hlcmUgc3VtdGkgY2FuIGdvIHRvIGZpbGwgYSBicmlkaS4gRmlsbGluZyBhIHN1 bXRpIGluIGEgcGxhY2Ugc3RhdGVzIHRoYXQgdGhlIHN1bXRpIGZpdHMgaW4gdGhhdCBwbGFjZS4g VGhlIHNlY29uZCBwbGFjZSBvZiAnJ2R1bmRhJycsIGZvciBleGFtcGxlLCB4MiwgaXMgdGhlIHRo aW5nIGJlaW5nIGdpdmVuLiBUaGUgdGhpcmQgaXMgdGhlIG9iamVjdCB3aGljaCByZWNlaXZlcyB0 aGUgdGhpbmcuIE5vdGljZSBhbHNvIHRoYXQgdGhlIHRyYW5zbGF0aW9uIG9mICcnZHVuZGEnJyBo YXMgdGhlIHdvcmQg4oCcdG/igJ0gaW4gaXQuIFRoaXMgaXMgYmVjYXVzZSwgd2hpbGUgdGhpcyB3 b3JkIGlzIG5lZWRlZCBpbiBFbmdsaXNoIHRvIHNpZ25pZnkgdGhlIHJlY2VpdmVyLCB0aGUgcmVj ZWl2ZXIgaXMgaW4gdGhlIHRoaXJkIHN1bXRpIHBsYWNlIG9mICcnZHVuZGEnJy4gU28gd2hlbiB5 b3UgZmlsbCB0aGUgdGhpcmQgc3VtdGkgcGxhY2Ugb2YgJydkdW5kYScnLCB0aGUgc3VtdGkgeW91 IGZpbGwgaW4gaXMgYWx3YXlzIHRoZSByZWNlaXZlciwgYW5kIHlvdSBkb24ndCBuZWVkIGFuIGVx dWl2YWxlbnQgdG8gdGhlIHdvcmQg4oCcdG/igJ0hCgoKClRvIHNheSBhIGJyaWRpLCB5b3Ugc2lt cGx5IHNheSB0aGUgeDEgc3VtdGkgZmlyc3QsIHRoZW4gdGhlIHNlbGJyaSwgdGhlbiBhbnkgb3Ro ZXIgc3VtdGkuCgpVc3VhbCBicmlkaToge3gxIHN1bXRpfSBfX3tzZWxicml9X18ge3gyIHN1bXRp fSB7eDMgc3VtdGl9IHt4NCBzdW10aX0ge3g1IHN1bXRpfSB7YW5kIHNvIG9ufQoKVGhlIG9yZGVy IGNhbiBiZSBwbGF5ZWQgYXJvdW5kIHdpdGgsIGJ1dCBmb3Igbm93LCB3ZSBzdGljayB3aXRoIHRo ZSB1c3VhbCBmb3JtLiBUbyBzYXkg4oCcSSBnaXZlIHRoaXMgdG8geW914oCdIHlvdSBqdXN0IHNh eSAnJ21pIGR1bmRhIHRpIGRvJycsIHdpdGggdGhlIHRocmVlIHN1bXRpIGF0IHRoZSByaWdodCBw bGFjZXMuCgoKClNvLCBob3cgd291bGQgeW91IHNheSDigJxUaGlzIGlzIGEgaG9tZSBvZiBtZeKA nT8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ3RpIHpkYW5pIG1pJyd+fgoKCgpUcnkgYSBmZXcg bW9yZSBpbiBvcmRlciB0byBnZXQgdGhlIGlkZWEgb2YgYSBwbGFjZSBzdHJ1Y3R1cmUgc2luayBp bi4KCgoK4oCcWW91IGdpdmUgdGhpcyB0byBtZeKAnT8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTon J2RvIGR1bmRhIHRpIG1pJyd+fgoKCgpBbmQgdHJhbnNsYXRlICcndGkgcGVseHUnJwoKCgpBbnN3 ZXI6IH5+Z3JleSxncmV5OuKAnFRoaXMgaXMgeWVsbG93LuKAnX5+CgoKClF1aXRlIGVhc3kgb25j ZSB5b3UgZ2V0IHRoZSBoYW5nIG9mIGl0LCByaWdodD8KCgoKTXVsdGlwbGUgYnJpZGkgYWZ0ZXIg ZWFjaCBvdGhlciBhcmUgc2VwYXJhdGVkIGJ5ICcnLmknJyBUaGlzIGlzIHRoZSBMb2piYW4gZXF1 aXZhbGVudCBvZiBmdWxsIHN0b3AsIGJ1dCBpdCB1c3VhbGx5IGdvZXMgYmVmb3JlIGJyaWRpIGlu c3RlYWQgb2YgYWZ0ZXIgdGhlbS4gSXQncyBvZnRlbiBsZWZ0IG91dCBiZWZvcmUgdGhlIGZpcnN0 IGJyaWRpLCB0aG91Z2gsIGFzIGluIGFsbCB0aGVzZSBleGFtcGxlczoKCicnX18uaV9fJycgU2Vu dGVuY2Ugc2VwYXJhdG9yLiBTZXBhcmF0ZXMgYW55IHR3byBqdWZyYSAoYW5kIHRoZXJlZm9yZSBh bHNvIGJyaWRpKS4KCgoKJyd0aSB6ZGFuaSBtaSAgLmkgdGkgcGVseHUnJyDigJ1UaGlzIGlzIGEg aG9tZSB0byBtZS4gVGhpcyBpcyB5ZWxsb3cu4oCdCgoKCkJlZm9yZSB5b3UgbW92ZSBvbiB0byB0 aGUgbmV4dCBsZXNzb24sIEkgcmVjb21tZW5kIHRoYXQgeW91IHRha2UgYSBicmVhayBmb3IgYXQg bGVhc3Qgc2V2ZW4gbWludXRlcyB0byBsZXQgdGhlIGluZm9ybWF0aW9uIHNpbmsgaW4uCgoKCgoK ISFMb2piYW4gTGVzc29ucyDigJMgbGVzc29uIHR3byAoRkEgYW5kIHpvJ2UpCgpNb3N0IHNlbGJy aSBoYXZlIGZyb20gb25lIHRvIGZpdmUgc3VtdGkgcGxhY2VzLCBidXQgc29tZSBoYXZlIG1vcmUu IEhlcmUgaXMgYSBzZWxicmkgd2l0aCBmb3VyIHN1bXRpIHBsYWNlczoKCicnX192ZWNudV9fJycg eDEgc2VsbHMgeDIgdG8geDMgZm9yIHByaWNlIHg0CgoKCklmIEkgd2FudCB0byBzYXkg4oCcSSBz ZWxsIHRoaXPigJ0sIGl0IHdvdWxkIGJlIHRvbyBtdWNoIHRvIGhhdmUgdG8gZmlsbCB0aGUgc3Vt dGkgcGxhY2VzIHgzIGFuZCB4NCwgd2hpY2ggc3BlY2lmeSB3aG8gSSBzZWxsIHRoZSB0aGluZyB0 bywgYW5kIGZvciB3aGF0IHByaWNlLiBMdWNraWx5LCBJIGRvbid0IG5lZWQgdG8uIHN1bXRpIHBs YWNlcyBjYW4gYmUgZmlsbGVkIHdpdGggJyd6bydlJycuICcnem8nZScnIGluZGljYXRlcyB0byB1 cyB0aGF0IHRoZSB2YWx1ZSBvZiB0aGUgc3VtdGkgcGxhY2UgaXMgdW5zcGVjaWZpZWQgYmVjYXVz ZSBpdCdzIHVuaW1wb3J0YW50IG9yIGNhbiBiZSBkZXRlcm1pbmVkIGZyb20gY29udGV4dC4KCicn X196bydlX18nJyDigJxzb21ldGhpbmfigJ0gRmlsbHMgYSBzdW10aSBwbGFjZSB3aXRoIHNvbWV0 aGluZywgYnV0IGRvZXMgbm90IHN0YXRlIHdoYXQuCgoKClNvIHRvIHNheSDigJxJIHNlbGwgdG8g eW914oCdLCBJIGNvdWxkIHNheSAnJ21pIHZlY251IHpvJ2UgZG8gem8nZScnIOKAkyBJIHNlbGwg c29tZXRoaW5nIHRvIHlvdSBmb3Igc29tZSBwcmljZS4KCkhvdyB3b3VsZCB5b3Ugc2F5OiDigJxU aGF0J3MgYSBob21lIChmb3Igc29tZWJvZHkp4oCdPwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OiAn J3RpIHpkYW5pIHpvJ2UnJ35+CgoKCkhvdyBhYm91dCDigJwoc29tZW9uZSkgZ2l2ZXMgdGhpcyB0 byAoc29tZW9uZSnigJ0/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6Jyd6bydlIGR1bmRhIHRpIHpv J2UnJ35+CgoKClN0aWxsLCBmaWxsaW5nIG91dCB0aHJlZSB6bydlIGp1c3QgdG8gc2F5IHRoYXQg YSB0aGluZyBpcyBiZWluZyBzb2xkIHRha2VzIHRpbWUuIFRoZXJlZm9yZSB5b3UgZG9uJ3QgbmVl ZCB0byB3cml0ZSBhbGwgdGhlICcnem8nZScnIGluIGEgYnJpZGkuIFRoZSBydWxlIHNpbXBseSBp cyB0aGF0IGlmIHlvdSBsZWF2ZSBvdXQgYW55IHN1bXRpLCB0aGV5IHdpbGwgYmUgY29uc2lkZXJl ZCBhcyBpZiB0aGV5IGNvbnRhaW5lZCAnJ3pvJ2UnJy4gSWYgdGhlIGJyaWRpIGJlZ2lucyB3aXRo IGEgc2VsYnJpLCB0aGUgeDEgaXMgcHJlc3VtZWQgdG8gYmUgb21pdHRlZCBhbmQgaXQgYmVjb21l cyAnJ3pvJ2UnJy4KClRyeSBpdCBvdXQuIFdoYXQncyBMb2piYW4gZm9yIOKAnEkgc2VsbOKAnT8K CgoKQW5zd2VyOiB+fmdyZXksZ3JleTonJ21pIHZlY251Jyd+fgoKCgpBbmQgd2hhdCBkb2VzICcn emRhbmkgbWknJyBtZWFuPwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnFNvbWV0aGluZyBpcyBh IGhvbWUgb2YgbWXigJ0gb3IganVzdCDigJxJIGhhdmUgYSBob21lLuKAnX5+CgoKCkFzIG1lbnRp b25lZCBlYXJsaWVyLCB0aGUgZm9ybSBkb2Vzbid0IGhhdmUgdG8gYmUge3gxIHN1bXRpfSB7c2Vs YnJpfSB7eDIgc3VtdGl9IHt4MyBzdW10aX0gKGVjdC4pIEluIGZhY3QsIHlvdSBjYW4gcGxhY2Ug dGhlIHNlbGJyaSBhbnl3aGVyZSB5b3Ugd2FudCwganVzdCBub3QgYXQgdGhlIGJlZ2lubmluZyBv ZiB0aGUgYnJpZGkuIElmIHlvdSBkbyB0aGF0LCB0aGUgeDEgaXMgY29uc2lkZXJlZCBsZWZ0IG91 dCBhbmQgZmlsbGVkIHdpdGggJyd6bydlJycgaW5zdGVhZC4gU28gdGhlIGZvbGxvd2luZyB0aHJl ZSBqdWZyYSBhcmUgYWxsIHRoZSBleGFjdGx5IHNhbWUgYnJpZGk6CgonJ21pIGR1bmRhIHRpIGRv JycKCicnbWkgdGkgZHVuZGEgZG8nJwoKJydtaSB0aSBkbyBkdW5kYScnCgoKClNvbWV0aW1lcyB0 aGlzIGlzIHVzZWQgZm9yIHBvZXRpYyBlZmZlY3QuIOKAnFlvdSBzZWxsIHlvdXJzZWxm4oCdIGNv dWxkIGJlICcnZG8gZG8gdmVjbnUnJywgd2hpY2ggc291bmRzIGJldHRlciB0aGFuICcnZG8gdmVj bnUgZG8nJy4gT3IgaXQgY2FuIGJlIHVzZWQgZm9yIGNsYXJpdHkgaWYgdGhlIHNlbGJyaSBpcyB2 ZXJ5IGxvbmcgYW5kIHRoZXJlZm9yZSBiZXR0ZXIgYmUgbGVmdCBhdCB0aGUgZW5kIG9mIHRoZSBi cmlkaS4KCgoKVGhlcmUgYXJlIGFsc28gc2V2ZXJhbCB3YXlzIHRvIHBsYXkgYXJvdW5kIHdpdGgg dGhlIG9yZGVyIG9mIHRoZSBzdW10aSBpbnNpZGUgdGhlIGJyaWRpLiBUaGUgZWFzaWVzdCBvbmUg aXMgYnkgdXNpbmcgdGhlIHdvcmRzICcnZmEnJywgJydmZScnLCAnJ2ZpJycsICcnZm8nJyBhbmQg JydmdScnLiBOb3RpY2UgdGhhdCB0aGUgdm93ZWxzIGFyZSB0aGUgZml2ZSB2b3dlbHMgaW4gdGhl IExvamJhbiBhbHBoYWJldCBpbiBvcmRlci4gVXNpbmcgb25lIG9mIHRoZXNlIHdvcmRzIG1hcmtz IHRoYXQgdGhlIG5leHQgc3VtdGkgd2lsbCBmaWxsIHRoZSB4MSwgeDIsIHgzLCB4NCBhbmQgeDUg cmVzcGVjdGl2ZWx5LiBUaGUgbmV4dCBzdW10aSBhZnRlciB0aGF0IHdpbGwgYmUgcHJlc3VtZWQg dG8gZmlsbCBhIHNsb3Qgb25lIGdyZWF0ZXIgdGhhbiB0aGUgcHJldmlvdXMuIFRvIHVzZSBhbiBl eGFtcGxlOgoKJydkdW5kYSBmYSBkbyBmZSB0aSBkbycnIOKAkyDigJxHaXZpbmcgYnkgeW91IG9m IHRoaXMgdGhpbmcgdG8geW914oCdLiAnJ2ZhJycgbWFya3MgdGhlIHgxLCB0aGUgZ2l2ZXIsIHdo aWNoIGlzIHlvdS4gJydmZScnIG1hcmtzIHRoZSB0aGluZyBiZWluZyBnaXZlbiwgdGhlIHgyLiBT dW10aSBjb3VudGluZyB0aGVuIGNvbnRpbnVlcyBmcm9tICcnZmUnJywgbWVhbmluZyB0aGF0IHRo ZSBsYXN0IHN1bXRpIGZpbGxzIHgzLCB0aGUgb2JqZWN0IHJlY2VpdmluZy4KCgoKQXR0ZW1wdCB0 byB0cmFuc2xhdGUgdGhlIGZvbGxvd2luZyB0aHJlZSBzZW50ZW5jZXM6CgoKCicnbWkgdmVjbnUg Zm8gdGkgZmUgZG8nJwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnUkgc2VsbCwgZm9yIHRoZSBw cmljZSBvZiB0aGlzLCB5b3XigJ0uIG9yIOKAnEkgc2VsbCB5b3UgZm9yIHRoZSBwcmljZSBvZiB0 aGlz4oCdIChwcm9iYWJseSBwb2ludGluZyB0byBhIGJ1bmNoIG9mIG1vbmV5KX5+CgoKCicnemRh bmkgZmUgdGknJwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnFRoaXMgaGFzIGEgaG9tZeKAnS4g SGVyZSwgdGhlIGZlIGlzIHJlZHVuZGFudC5+fgoKCgonJ3ZlY251IHpvJ2UgbWkgdGkgZmEgZG8n JwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnFlvdSBzZWxsIHNvbWV0aGluZyB0byBtZSBmb3Ig dGhpcyBwcmljZeKAnX5+CgoKCgoKISFMb2piYW4gTGVzc29ucyDigJMgbGVzc29uIHRocmVlICh0 YW5ydSBhbmQgbG8pCgpJbiB0aGlzIGxlc3NvbiwgeW91IHdpbGwgYmVjb21lIGZhbWlsaWFyIHdp dGggdGhlIGNvbmNlcHQgb2YgYSAnJ3RhbnJ1JycuIEEgdGFucnUgaXMgZm9ybWVkIHdoZW4gYSBz ZWxicmkgaXMgcHV0IGluIGZyb250IG9mIGFub3RoZXIgc2VsYnJpLCBtb2RpZnlpbmcgaXRzIG1l YW5pbmcuIEEgdGFucnUgaXMgaXRzZWxmIGEgc2VsYnJpLCBhbmQgY2FuIGNvbWJpbmUgd2l0aCBv dGhlciBzZWxicmkgb3IgdGFucnUgdG8gZm9ybSBtb3JlIGNvbXBsZXggdGFucnUuIFRodXMgJyd6 ZGFuaSB2ZWNudScnIGlzIGEgdGFucnUsIGFzIHdlbGwgYXMgICcncGVseHUgemRhbmkgdmVjbnUn Jywgd2hpY2ggaXMgbWFkZSBmcm9tIHRoZSB0YW5ydSAnJ3BlbHh1IHpkYW5pJycgYW5kIHRoZSBz aW5nbGUgYnJpdmxhIHdvcmQgJyd2ZWNudScnLiBUbyB1bmRlcnN0YW5kIHRoZSBjb25jZXB0IG9m IHRhbnJ1LCBjb25zaWRlciB0aGUgRW5nbGlzaCBub3VuIGNvbWJpbmF0aW9uIOKAnGxlbW9uIHRy ZWXigJ0uIElmIHlvdSBkaWRuJ3Qga25vdyB3aGF0IGEgbGVtb24gdHJlZSB3YXMsIGJ1dCBoYWQg aGVhcmQgYWJvdXQgYm90aCBsZW1vbnMgYW5kIHRyZWVzLCB5b3Ugd291bGQgbm90IGJlIGFibGUg dG8gZGVkdWNlIHdoYXQgYSBsZW1vbiB0cmVlIHdhcy4gUGVyaGFwcyBhIGxlbW9uLWNvbG9yZWQg dHJlZSwgb3IgYSB0cmVlIHNoYXBlZCBsaWtlIGEgbGVtb24sIG9yIGEgdHJlZSB3aG9zZSBiYXJr IHRhc3RlcyBsaWtlIGxlbW9uLiBUaGUgb25seSB0aGluZ3MgeW91IGNvdWxkIGtub3cgZm9yIHN1 cmUgd291bGQgYmUgdGhhdCBpdCB3b3VsZCBiZSBhIHRyZWUsIGFuZCBpdCB3b3VsZCBiZSBsZW1v bi1saWtlIGluIHNvbWUgd2F5LgoKQSB0YW5ydSBpcyBjbG9zZWx5IGFuYWxvZ291cyB0byB0aGlz LiBJdCBjYW5ub3QgYmUgc2FpZCBleGFjdGx5IHdoYXQgYSAnJ3pkYW5pIHZlY251JycgaXMsIGJ1 dCBpdCBjYW4gYmUgc2FpZCB0aGF0IGl0IGlzIGRlZmluaXRlbHkgYSB2ZWNudSwgYW5kIHRoYXQg aXQncyB6ZGFuaS1saWtlIGluIHNvbWUgd2F5LiBBbmQgaXQgY291bGQgYmUgemRhbmktbGlrZSBp biBhbnkgd2F5LiBJbiB0aGVvcnksIG5vIG1hdHRlciBob3cgc2lsbHkgb3IgYWJzdXJkIHRoZSBj b25uZWN0aW9uIHRvIHpkYW5pIHdhcywgaXQgY291bGQgc3RpbGwgdHJ1bHkgYmUgYSAnJ3pkYW5p IHZlY251JycuIEhvd2V2ZXIsIGl0IG11c3QgYWN0dWFsbHkgYmUgYSB2ZWNudSBpbiB0aGUgb3Jk aW5hcnkgc2Vuc2UgaW4gb3JkZXIgZm9yIHRoZSB0YW5ydSB0byBhcHBseS4gWW91IGNvdWxkIGds b3NzICcnemRhbmkgdmVjbnUnJyBhcyDigJxob21lIHNlbGxlcuKAnSwgb3IgZXZlbiBiZXR0ZXIg YnV0IHdvcnNlIHNvdW5kaW5nIOKAnGEgaG9tZS10eXBlLW9mIHNlbGxlcuKAnS4gVGhlIHBsYWNl IHN0cnVjdHVyZSBvZiBhIHRhbnJ1IGlzIGFsd2F5cyB0aGF0IG9mIHRoZSByaWdodG1vc3Qgc2Vs YnJpLiBJdCdzIGFsc28gc2FpZCB0aGF0IHRoZSBsZWZ0IHNlbGJyaSBtb2RpZmllcyB0aGUgcmln aHQgc2VsYnJpLgoK4oCcUmVhbGx5P+KAnSwgeW91IGFzaywgc2NlcHRpY2FsbHksIOKAnEl0IGRv ZXNuJ3QgbWF0dGVyIGhvdyBzaWxseSB0aGUgY29ubmVjdGlvbiB0byB0aGUgbGVmdCB3b3JkIGlu IGEgdGFucnUgaXMsIGl0J3Mgc3RpbGwgdHJ1ZT8gU28gSSBjb3VsZCBjYWxsIGFsbCBzZWxsZXJz IGZvciAnJ3pkYW5pIHZlY251JycgYW5kIHRoZW4gbWFrZSB1cCBzb21lIHNpbGx5IGV4Y3VzZSB3 aHkgSSB0aGluayBpdCdzIHpkYW5pLWxpa2U/4oCdCgpXZWxsIHllcywgYnV0IHRoZW4geW91J2Qg YmUgYSBkaWNrLiBPciBhdCBsZWFzdCB5b3UnZCBiZSBpbnRlbnRpb25hbGx5IG1pc2xlYWRpbmcu IEluIGdlbmVyYWwsIHlvdSBzaG91bGQgdXNlIGEgdGFucnUgd2hlbiBpdCdzIG9idmlvdXMgaG93 IHRoZSBsZWZ0IHdvcmQgcmVsYXRlcyB0byB0aGUgcmlnaHQuCgoKCkF0dGVtcHQgdG8gdHJhbnNs YXRlIHRoZSBmb2xsb3dpbmc6ICcndGkgcGVseHUgemRhbmkgZG8nJwoKCgpBbnN3ZXI6IH5+Z3Jl eSxncmV5OuKAnFRoYXQgaXMgYSB5ZWxsb3cgaG9tZSBmb3IgeW914oCdIEFnYWluLCB3ZSBkb24n dCBrbm93IGluIHdoaWNoIHdheSBpdCdzIHllbGxvdy4gUHJvYmFibHkgaXQncyBwYWludGVkIHll bGxvdywgYnV0IHdlIGRvbid0IGtub3cgZm9yIHN1cmUufn4KCgoKJydtaSB2ZWNudSBkdW5kYScn CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcSSBzZWxsLWxpa2UgZ2l2ZeKAnS4gV2hhdCBjYW4g dGhhdCBtZWFuPyBObyBpZGVhLiBJdCBjZXJ0YWlubHkgZG9lc24ndCBtZWFuIHRoYXQgeW91IHNv bGQgc29tZXRoaW5nLCBzaW5jZSwgYnkgZGVmaW5pdGlvbiBvZiAnJ2R1bmRhJycsIHRoZXJlIGNh biBiZSBubyBwYXltZW50IGludm9sdmVkLiBJdCBoYXMgdG8gYmUgYSBnaXZlYXdheSwgYnV0IGJl IHNlbGwtbGlrZSBpbiBzb21lIGFzcGVjdC5+fgoKCgpBbmQgbm93IGZvciBzb21ldGhpbmcgY29t cGxldGVseSBkaWZmZXJlbnQuIFdoYXQgaWYgSSB3YW50ZWQgdG8gc2F5IEkgc29sZCB0byBhIEdl cm1hbj8KCicnX19kb3Rjb19fJycgeDEgaXMgR2VybWFuL3JlZmxlY3RzIEdlcm1hbiBjdWx0dXJl IGluIGFzcGVjdCB4MgoKCgpJIGNhbid0IHNheSAnJ21pIHZlY251IHpvJ2UgZG90Y28nJyBiZWNh dXNlIHRoYXQgd291bGQgbGVhdmUgdHdvIHNlbGJyaSBpbiBhIGJyaWRpLCB3aGljaCBpcyBub3Qg cGVybWl0dGVkLiBJIGNvdWxkIHNheSAnJ21pIGRvdGNvIHZlY251JycgYnV0IHRoYXQgd291bGQg YmUgdW5uZWNlc3NhcnkgdmFndWUgLSBJIGNvdWxkIHNlbGwgaW4gYSBHZXJtYW4gd2F5LiBMaWtl d2lzZSwgaWYgSSB3YW50IHRvIHNheSDigJxJIGFtIGZyaWVuZHMgd2l0aCBhbiBBbWVyaWNhbuKA nSwgd2hhdCBzaG91bGQgSSBzYXk/CgonJ19fcGVuZG9fXycnIDF4IGlzIGEgZnJpZW5kIG9mIHgy CgonJ19fbWVya29fXycnIHgxIGlzIEFtZXJpY2FuL3JlZmxlY3QgVVMgY3VsdHVyZSBpbiBhc3Bl Y3QgeDIKCgoKQWdhaW4sIHRoZSBvYnZpb3VzIHdvdWxkIGJlIHRvIHNheSAnJ21pIHBlbmRvIG1l cmtvJycsIGJ1dCB0aGF0IHdvdWxkIGZvcm0gYSB0YW5ydSwgbWVhbmluZyDigJxJIGFtIGZyaWVu ZC1saWtlIEFtZXJpY2Fu4oCdLCB3aGljaCBpcyB3cm9uZy4gV2hhdCB3ZSByZWFsbHkgd2FudCB0 byBpcyB0byB0YWtlIHRoZSBzZWxicmkgJydtZXJrbycnIGFuZCB0cmFuc2Zvcm0gaXQgaW50byBh IHN1bXRpIHNvIGl0IGNhbiBiZSB1c2VkIGluIHRoZSBzZWxicmkgJydwZW5kbycnLiBUaGlzIGlz IGRvbmUgYnkgdGhlIHR3byB3b3JkcyAnJ2xvJycgYW5kICcna3UnJy4KCl9fJydsbycnX18g4oCT IGdlbmVyaWMgYmVnaW4gY29udmVydCBzZWxicmkgdG8gc3VtdGkgd29yZC4gRXh0cmFjdHMgeDEg b2Ygc2VsYnJpIHRvIHVzZSBhcyBzdW10aS4KCl9fJydrdScnX18g4oCTIGVuZCBjb252ZXJ0IHNl bGJyaSB0byBzdW10aSBwcm9jZXNzLgoKCgpZb3Ugc2ltcGx5IHBsYWNlIGEgc2VsYnJpIGJldHdl ZW4gdGhlc2UgdHdvIHdvcmRzLCBhbmQgaXQgdGFrZXMgYW55dGhpbmcgdGhhdCBjYW4gZmlsbCB0 aGUgeDEgb2YgdGhhdCBzZWxicmkgYW5kIHR1cm5zIGl0IGludG8gYSBzdW10aS4KClNvIGZvciBp bnN0YW5jZSwgdGhlIHRoaW5ncyB0aGF0IGNhbiBmaWxsIHpkYW5p4oCYcyB4MSBhcmUgb25seSB0 aGluZ3Mgd2hpY2ggYXJlIGhvbWVzIG9mIHNvbWVib2R5LiBTbyAnJ2xvIHpkYW5pIGt1JycgbWVh bnMg4oCcYSBob21lIG9yIHNvbWUgaG9tZXMgZm9yIHNvbWVib2R5LuKAnSBTaW1pbGFybHksIGlm IEkgc2F5IHRoYXQgc29tZXRoaW5nIGlzIHBlbHh1LCBpdCBtZWFucyBpdCdzIHllbGxvdy4gU28g JydsbyBwZWx4dSBrdScnIHJlZmVycyB0byBzb21ldGhpbmcgeWVsbG93LgoKCgpOb3cgeW91IGhh dmUgdGhlIG5lY2Vzc2FyeSBncmFtbWFyIHRvIGJlIGFibGUgdG8gc2F5IOKAnEkgYW0gZnJpZW5k cyB3aXRoIGFuIEFtZXJpY2FuLuKAnSBIb3c/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6JydtaSBw ZW5kbyBsbyBtZXJrbyBrdScnfn4KCgoKVGhlcmUgaXMgYSBnb29kIHJlYXNvbiB3aHkgdGhlICcn a3UnJyBpcyBuZWNlc3NhcnkuIFRyeSB0byB0cmFuc2xhdGUg4oCcQSBHZXJtYW4gc2VsbHMgdGhp cyB0byBtZeKAnQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnbG8gZG90Y28ga3UgdmVjbnUgdGkg bWknJyBJZiB5b3UgbGVhdmUgb3V0IHRoZSBrdSwgeW91IGRvIG5vdCBnZXQgYSBicmlkaSwgYnV0 IHNpbXBseSB0aHJlZSBzdW10aS4gU2luY2UgbG/igKZrdSBjYW5ub3QgY29udmVydCBicmlkaSwg dGhlIHRpIGlzIGZvcmNlZCBvdXRzaWRlIHRoZSBzdW10aSwgdGhlIGxvLWNvbnN0cnVjdCBpcyBm b3JjZWQgdG8gY2xvc2UgYW5kIGl0IHNpbXBseSBiZWNvbWVzIHRoZSB0aHJlZSBzdW10aSBvZiAn J2xvIGRvdGNvIHZlY251IHtrdX0nJywgJyd0aScnIGFuZCAnJ21pJycufn4KCgoKWW91IGFsd2F5 cyBoYXZlIHRvIGJlIGNhcmVmdWwgd2l0aCBqdWZyYSBsaWtlICcnbG8gemRhbmkga3UgcGVseHUn Jy4gSWYgdGhlICcna3UnJyBpcyBsZWZ0IG91dCB0aGUgY29udmVyc2lvbiBwcm9jZXNzIGRvZXMg bm90IGVuZCwgYW5kIGl0IHNpbXBseSBiZWNvbWVzIG9uZSBzdW10aSwgbWFkZSBmcm9tIHRoZSB0 YW5ydSAnJ3pkYW5pIHBlbHh1JycgYW5kIHRoZW4gY29udmVydGVkIHdpdGggJydsbycnLgoKCgoK CiEhTG9qYmFuIExlc3NvbnMg4oCTIGxlc3NvbiBmb3VyIChhdHRpdHVkaW5hbHMpCgpBbm90aGVy IGNvbmNlcHQgd2hpY2ggY2FuIGJlIHVuZmFtaWxpYXIgdG8gRW5nbGlzaCBzcGVha2VycyBpcyB0 aGF0IG9mIGF0dGl0dWRpbmFscy4gQXR0aXR1ZGluYWxzIGFyZSB3b3JkcyB0aGF0IGV4cHJlc3Mg ZW1vdGlvbnMgZGlyZWN0bHkuIFRoZSBpZGVhIG9mIGF0dGl0dWRpbmFscyBvcmlnaW5hdGVkIGlu IHRoZSBmZW1pbmlzdCBjb25zdHJ1Y3RlZCBsYW5ndWFnZSBMYWRhbiwgc3VwcG9zZWRseSB0byBl bmFibGUgdHJ1ZSBmZW1hbGUgZW1vdGlvbnMuIFRoZSBpZGVhIHdhcyB0aGF0IGZlbWFsZSBlbW90 aW9uYWwgZXhwcmVzc2lvbiB3YXMgaGluZGVyZWQgYnkgbWFsZSBkb21pbmF0ZWQgbGFuZ3VhZ2Us IGFuZCBpZiBvbmx5IHRoZXkgd2VyZSBhYmxlIHRvIGJlIGV4cHJlc3NlZCBtb3JlIGZyZWVseSwg dGhpcyB3b3VsZCBlbXBvd2VyIHdvbWVuIHRocm91Z2ggbGliZXJhdGlvbiBvZiB0aGUgbGFuZ3Vh Z2UuCgpJbiBMb2piYW4sIHRoZXJlIGlzIG5vIHN1Y2ggYWdlbmRhLCBhbmQgYXR0aXR1ZGluYWxz IG1vc3QgcHJvYmFibHkgaGF2ZSBiZWVuIGRlc2lnbmVkIGludG8gdGhlIGxhbmd1YWdlIGJlY2F1 c2UgdGhleSB0dXJuZWQgb3V0IHRvIGJlIGluY3JlZGlibHkgYXdlc29tZSBhbmQgdXNlZnVsLiBU aGV5IGFsbCBoYXZlIGEgc28tY2FsbGVkIGZyZWUgZ3JhbW1hciwgd2hpY2ggbWVhbnMgdGhhdCB0 aGV5IGNhbiBhcHBlYXIgYWxtb3N0IGFueXdoZXJlIHdpdGhpbiBicmlkaSB3aXRob3V0IGRpc3J1 cHRpbmcgdGhlIGJyaWRpJ3MgZ3JhbW1hciBvciBhbnkgZ3JhbW1hdGljYWwgY29uc3RydWN0cy4K CkluIExvamJhbiBncmFtbWFyLCBhbiBhdHRpdHVkaW5hbCBhcHBsaWVzIHRvIHRoZSBwcmV2aW91 cyB3b3JkLiBJZiB0aGF0IHByZXZpb3VzIHdvcmQgaXMgYSB3b3JkIHdoaWNoIGJlZ2lucyBhIGNv bnN0cnVjdCAobGlrZSAnJy5pJycgb3IgJydsbycnKSwgaXQgYXBwbGllcyB0byB0aGUgZW50aXJl IGNvbnN0cnVjdC4gTGlrZXdpc2UsIGlmIHRoZSBhdHRpdHVkaW5hbCBmb2xsb3dzIGEgd29yZCB3 aGljaCBlbmRzIGEgY29uc3RydWN0IGxpa2UgJydrdScnLCBpdCBhcHBsaWVzIHRvIHRoZSBlbmRl ZCBjb25zdHJ1Y3QuCgoKCkxldCdzIGhhdmUgdHdvIGF0dGl0dWRpbmFscyB0byBtYWtlIHNvbWUg ZXhhbXBsZXM6CgpfXycnLnVpJydfXzogYXR0aXR1ZGluYWw6IHNpbXBsZSBwdXJlIGVtb3Rpb246 IGhhcHBpbmVzcyAtIHVuaGFwcGluZXNzCgpfXycnemEnYScnX186IGF0dGl0dWRpbmFsOiBldmlk ZW50aWFsOiBJIGRpcmVjdGx5IG9ic2VydmUKCgoKTm90ZSB0aGF0IGluIHRoZSBkZWZpbml0aW9u IG9mICcnLnVpJycsIHRoZXJlIGFyZSBsaXN0ZWQgdHdvIGVtb3Rpb25zLCBoYXBwaW5lc3MgYW5k IHVuaGFwcGluZXNzLiBUaGlzIG1lYW5zIHRoYXQgJycudWknJyBpcyBkZWZpbmVkIGFzIGhhcHBp bmVzcywgd2hpbGUgaXRzIOKAnG5lZ2F0aW9u4oCdLCBtZWFucyB1bmhhcHBpbmVzcy4g4oCcTmVn YXRpb27igJ0gbWlnaHQgYmUgdGhlIHdyb25nIHdvcmQgaGVyZS4gVGVjaG5pY2FsbHksIHRoZSBv dGhlciBkZWZpbml0aW9uIG9mICcnLnVpJycgaXMgYW5vdGhlciBjb25zdHJ1Y3QsICcnLnVpIG5h aScnLiBNb3N0IG9mIHRoZSB0aW1lLCB0aGUgc2Vjb25kIGRlZmluaXRpb24gb2YgYXR0aXR1ZGlu YWxzIC0gdGhlIG9uZXMgc3VmZml4ZWQgd2l0aCAnJ25haScnIC0gcmVhbGx5IGlzIHRoZSBuZWdh dGlvbiBvZiB0aGUgYmFyZSBhdHRpdHVkaW5hbC4gT3RoZXIgdGltZXMsIG5vdCBzbyBtdWNoLgoK X18nJ25haScnX18gbWlzYy4gbmVnYXRpb24gLSBhdHRhY2hlZCB0byBhdHRpdHVkaW5hbHMsIGl0 IGNoYW5nZXMgdGhlIG1lYW5pbmcgaW50byB0aGUgYXR0aXR1ZGluYWwncyAibmVnYXRpb24iCgoK CkFuZCBzb21lIG1vcmUgc2VsYnJpLCBqdXN0IGZvciB0aGUgaGVjayBvZiBpdDoKCl9fJydjaXRr YScnX18g4oCTIHgxIGVhdHMgeDIKCl9fJydwbGlzZScnX18g4oCTIHgxIGlzIGFuIGFwcGxlIG9m IHN0cmFpbi90eXBlIHgyCgoKClRoZSBzZW50ZW5jZSAnJ2RvIGNpdGthIGxvIHBsaXNlIGt1IC51 aScnLCBtZWFucyDigJxZb3UgZWF0IGFuIGFwcGxlLCB5YXkh4oCdIChlc3BlY2lhbGx5IGV4cHJl c3NpbmcgdGhhdCBpdCBpcyB0aGUgX19hcHBsZV9fIHRoYXQgdGhlIHNwZWFrZXIgaXMgaGFwcHkg YWJvdXQsIG5vdCB0aGUgZWF0aW5nLCBvciB0aGUgZmFjdCB0aGF0IGl0IHdhcyB5b3UuKSBJbiB0 aGUgc2VudGVuY2UgJydkbyB6YSdhIGNpdGthIGxvIHBsaXNlIGt1JycsIHRoZSBzcGVha2VyIGRp cmVjdGx5IG9ic2VydmVzIHRoYXQgaXQgaXMgaW5kZWVkIHRoZSBfX+KAnHlvdeKAnV9fLCB3aG8g ZWF0cyBhbiBhcHBsZSBhcyBvcHBvc2VkIHRvIHNvbWVvbmUgZWxzZS4KCgoKSWYgYW4gYXR0aXR1 ZGluYWwgaXMgcGxhY2VkIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIGJyaWRpLCBpdCBpcyB1bmRl cnN0b29kIHRvIGFwcGx5IHRvIGFuIGV4cGxpY2l0IG9yIGltcGxpY2l0ICcnLmknJywgdGh1cyBh cHBseWluZyB0byB0aGUgZW50aXJlIGJyaWRpOgoKJycudWkgemEnYSBkbyBkdW5kYSBsbyBwbGlz ZSBrdSBtaScnIOKAkyDigJxZYXksIEkgb2JzZXJ2ZSB0aGF0IHlvdSBnaXZlIGFuL3NvbWUgYXBw bGUgdG8gbWUh4oCdCgoKCicnbWkgdmVjbnUgLnVpIG5haSBsbyB6ZGFuaSBrdScnIOKAnEkgc2Vs bCAod2hpY2ggc3Vja3MhKSBhIGhvbWXigJ0uCgoKClRyeSBpdCBvdXQgd2l0aCBhIGZldyBleGFt cGxlcy4gRmlyc3QsIHRob3VnaCwgaGVyZSBhcmUgc29tZSBtb3JlIGF0dGl0dWRpbmFsczoKCl9f JycudSd1JydfXyBhdHRpdHVkaW5hbDogc2ltcGxlIHB1cmUgZW1vdGlvbjogZ3VpbHQgLSByZW1v cnNlbGVzc25lc3MgLSBpbm5vY2VuY2UuCgpfXycnLm9pJydfXyBhdHRpdHVkaW5hbDogY29tcGxl eCBwdXJlIGVtb3Rpb246IGNvbXBsYWludCAtIHBsZWFzdXJlLgoKX18nJy5pdScnX18gYXR0aXR1 ZGluYWw6IG1pc2NlbGxhbmVvdXMgcHVyZSBlbW90aW9uOiBsb3ZlIC0gaGF0ZS4KCgoKTG9vayBh dCB0aGF0LCB0d28gd29yZHMgd2l0aCB0aHJlZSBlbW90aW9ucyBpbiB0aGUgZGVmaW5pdGlvbiEg VGhlIG1pZGRsZSBvbmUgaXMgYWNjZXNzZWQgYnkgc3VmZml4aW5uZyB3aXRoICcnY3UnaScnLiBJ dCdzIGNvbnNpZGVyZWQgdGhlIG1pZHBvaW50IG9mIHRoZSBlbW90aW9uLgoKX18nJ2N1J2knJ19f IGF0dGl0dWRpbmFsIG1pZHBvaW50IHNjYWxhcjogYXR0YWNoIHRvIGF0dGl0dWRpbmFsIHRvIGNo YW5nZSB0aGUgbWVhbmluZyB0byB0aGUgIm1pZHBvaW50IiBvZiB0aGUgZW1vdGlvbi4KCgoKVHJ5 IHNheWluZyDigJxJIGdpdmUgc29tZXRoaW5nIHRvIGEgR2VybWFuLCB3aG8gSSBsb3Zl4oCdCgoK CkFuc3dlcjogfn5ncmV5LGdyZXk6JydtaSBkdW5kYSBmaSBsbyBkb3RjbyBrdSAuaXUnJyBvciAn J3pvJ2UnJyBpbnN0ZWFkIG9mICcnZmknJ35+CgoKCk5vdyDigJxBYWgsIEkgZWF0IGEgeWVsbG93 IGFwcGxl4oCdCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnLm9pIG5haSBtaSBjaXRrYSBsbyBwZWx4 dSBwbGlzZSBrdScnfn4KCgoKTGV0J3MgaGF2ZSBhbm90aGVyIGF0dGl0dWRpbmFsIG9mIGEgZGlm ZmVyZW50IGtpbmQgdG8gaWxsdXN0cmF0ZSBzb21ldGhpbmcgcGVjdWxpYXI6CgonJy5laScnIEF0 dGl0dWRpbmFsOiBjb21wbGV4IHByb3Bvc2l0aW9uYWwgZW1vdGlvbjogb2JsaWdhdGlvbiAtIGZy ZWVkb20uCgoKClNvLCBxdWl0ZSBlYXN5OiDigJxJIGhhdmUgdG8gZ2l2ZSB0aGUgYXBwbGUgYXdh eeKAnSBpcyAnJ21pIGR1bmRhIC5laSBsbyBwbGlzZSBrdScnLCByaWdodD8gSXQgaXMsIGFjdHVh bGx5ISBXaGVuIHlvdSB0aGluayBhYm91dCBpdCwgdGhhdCdzIHdlaXJkLiBXaHkgaXMgaXQgdGhh dCBhbGwgdGhlIG90aGVyIGF0dGl0dWRpbmFscyB3ZSBoYXZlIHNlZW4gc28gZmFyIGV4cHJlc3Nl cyB0aGUgc3BlYWtlcidzIGZlZWxpbmcgYWJvdXQgdGhlIGJyaWRpLCBidXQgdGhpcyBvbmUgYWN0 dWFsbHkgY2hhbmdlcyB3aGF0IHRoZSBicmlkaSBtZWFucz8gU3VyZWx5LCBieSBzYXlpbmcg4oCc SSBoYXZlIHRvIGdpdmUgdGhlIGFwcGxlIGF3YXnigJ0sIHdlIHNheSBub3RoaW5nIGFib3V0IHdo ZXRoZXIgdGhlIGFwcGxlIGFjdHVhbGx5IGlzIGJlaW5nIGdpdmVuIGF3YXkuIElmIEkgaGFkIHVz ZWQgJycudWknJywgaG93ZXZlciwgSSB3b3VsZCBhY3R1YWxseSBoYXZlIHN0YXRlZCB0aGF0IEkg Z2F2ZSB0aGUgYXBwbGUgYXdheSwgYW5kIHRoYXQgSSB3YXMgaGFwcHkgYWJvdXQgaXQuIFdoYXQn cyB0aGF0IGFsbCBhYm91dD8KCgoKVGhpcyBpc3N1ZSwgZXhhY3RseSBob3cgYXR0aXR1ZGluYWxz IGNoYW5nZSB0aGUgY29uZGl0aW9ucyBvbiB3aGljaCBhIGJyaWRpIGlzIHRydWUsIGlzIGEgc3Vi amVjdCBvZiBhIG1pbm9yIGRlYmF0ZS4gVGhlIG9mZmljaWFsLCDigJx0ZXh0Ym9va+KAnSBydWxl LCB3aGljaCBwcm9iYWJseSB3b24ndCBiZSBjaGFuZ2VkLCBpcyB0aGF0IHRoZXJlIGlzIGEgZGlz dGluY3Rpb24gYmV0d2VlbiDigJxwdXJlIGVtb3Rpb25z4oCdIGFuZCDigJxwcm9wb3NpdGlvbmFs IGVtb3Rpb25z4oCdLiBPbmx5IHByb3Bvc3Rpb25hbCBlbW90aW9ucyBjYW4gY2hhbmdlIHRoZSB0 cnV0aCBjb25kaXRpb25zLCB3aGlsZSBwdXJlIGVtb3Rpb25zIGNhbm5vdC4gSW4gb3JkZXIgdG8g ZXhwcmVzcyBhIHByb3Bvc2l0aW9uYWwgZW1vdGlvbmFsIGF0dGl0dWRpbmFsIHdpdGhvdXQgY2hh bmdpbmcgdGhlIHRydXRoIHZhbHVlIG9mIHRoZSBicmlkaSwgeW91IGNhbiBqdXN0IHNlcGFyYXRl IGl0IGZyb20gdGhlIGJyaWRpIHdpdGggJycuaScnLiBUaGVyZSBpcyBhbHNvIGEgd29yZCBmb3Ig ZXhwbGljaXRseSBjb25zZXJ2aW5nIG9yIGNoYW5naW5nIHRoZSB0cnV0aCBjb25kaXRpb25zIG9m IGEgYnJpZGk6CgoKCl9fJydkYSdpJydfXyBhdHRpdHVkaW5hbDogZGlzY3Vyc2l2ZTogc3VwcG9z aW5nIC0gaW4gZmFjdAoKU2F5aW5nICcnZGEnaScnIGluIGEgYnJpZGkgY2hhbmdlcyB0aGUgdHJ1 dGggY29uZGl0aW9ucyB0byBoeXBvdGhldGljYWwsIHdoaWNoIGlzIHRoZSBkZWZhdWx0IHVzaW5n IHByb3Bvc2l0aW9uYWwgYXR0aXR1ZGluYWxzLiBTYXlpbmcgJydkYSdpIG5haScnIGNoYW5nZXMg dGhlIHRydXRoIGNvbmRpdGlvbiB0byB0aGUgbm9ybWFsLCB3aGljaCBpcyBkZWZhdWx0IHVzaW5n IHB1cmUgYXR0aXR1ZGluYWxzLgoKCgpTbywgd2hhdCdzIHR3byB3YXlzIG9mIHNheWluZyDigJxJ IGdpdmUgdGhlIGFwcGxlIGF3YXnigJ0/IChhbmQgZmVlbCBvYmxpZ2F0aW9uIGFib3V0IGl0KQoK CgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnbWkgZHVuZGEgbG8gcGxpc2UgLmkgLmVpJycgIGFuZCAn J21pIGR1bmRhIGRhJ2kgbmFpIC5laSBsbyBwbGlzZScnfn4KCgoKVGhlIGZlZWxpbmcgb2YgYW4g YXR0aXR1ZGluYWwgY2FuIGJlIHN1YnNjcmliZWQgdG8gc29tZW9uZSBlbHNlIHVzaW5nICcnZGFp JycuIFVzdWFsbHkgaW4gb3JkaW5hcnkgc3BlZWNoLCB0aGUgYXR0aXR1ZGluYWwgaXMgc3Vic2Ny aWJlZCB0byB0aGUgbGlzdGVuZXIsIGJ1dCBpdCBkb2Vzbid0IGhhdmUgdG8gYmUgc28uIEFsc28s IGJlY2F1c2UgdGhlIHdvcmQgaXMgZ2xvc3NlZCDigJxlbXBhdGh54oCdIChmZWVsaW5nIG90aGVy cyBlbW90aW9ucyksIHNvbWUgTG9qYmFuaXN0cyBtaXN0YWtlbmx5IHRoaW5rIHRoYXQgdGhlIHNw ZWFrZXIgbXVzdCBzaGFyZSB0aGUgZW1vdGlvbiBiZWluZyBzdWJzY3JpYmVkIHRvIG90aGVycy4K Cl9fJydkYWknJ19fIGF0dGl0dWRpbmFsIG1vZGlmeWVyOiBFbXBhdGh5IChzdWJzY3JpYmVzIGF0 dGl0dWRpbmFsIHRvIHNvbWVvbmUgZWxzZSwgdW5zcGVjaWZpZWQpCgpFeGFtcGxlOiAnJ3UnaSAu b2kgZGFpIGNpdGthIHRpJycgLSDigJxIYSBoYSwgdGhpcyB3YXMgZWF0ZW4hIFRoYXQgbXVzdCBo YXZlIGh1cnQh4oCdCgoKCldoYXQgb2Z0ZW4gdXNlZCBwaHJhc2UgY291bGQgJycub2kgdSdpIGRh aScnIG1lYW4/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCcT3VjaCwgdmVyeSBmdW5ueS7igJ1+ fgoKCgpBbmQgYW5vdGhlciBvbmUgdG8gdGVzdCB5b3VyIGtub3dsZWRnZTogVHJ5IHRvIHRyYW5z bGF0ZSDigJxIZSB3YXMgc29ycnkgaGUgc29sZCBhIGhvbWXigJ0gKHJlbWVtYmVyaW5nLCB0aGF0 IHRlbnNlIGlzIGltcGxpZWQgYW5kIG5lZWQgbm90IGJlIHNwZWNpZmllZC4gQWxzbywg4oCcaGXi gJ0gY291bGQgYmUgb2J2aW91cyBmcm9tIGNvbnRleHQpCgoKCkFuc3dlcjogfn5ncmV5LGdyZXk6 Jyd1J3UgZGFpIHZlY251IGxvIHpkYW5pIGt1Jyd+fgoKCgpMYXN0bHksIHRoZSBpbnRlbnNpdHkg b2YgYW4gYXR0aXR1ZGluYWwgY2FuIGJlIHNwZWNpZmllZCB1c2luZyBjZXJ0YWluIHdvcmRzLiBU aGVzZSBjYW4gYmUgdXNlZCBhZnRlciBhbiBhdHRpdHVkaW5hbCwgb3IgYW4gYXR0aXR1ZGluYWwg d2l0aCAnJ25haScnIG9yICcnY3UnaScnIHN1ZmZpeGVkLiBJdCdzIGxlc3MgY2xlYXIgd2hhdCBo YXBwZW5zIHdoZW4geW91IGF0dGFjaCBpdCB0byBvdGhlciB3b3JkcywgbGlrZSBhIHNlbGJyaSwg bXVzdCBpdCdzIG1vc3RseSB1bmRlcnN0b29kIGFzIGludGVuc2lmeWluZyBvciB3ZWFrZW5pbmcg dGhlIHNlbGJyaSBpbiBzb21lIHVuc3BlY2lmaWVkIHdheToKCnx8IE1vZGlmeWluZyB3b3JkICB8 IEludGVuc2l0eSAgCgogY2FpfCAgIEV4dHJlbWUKCiBzYWl8ICAgU3Ryb25nCgogKG5vbmUpfCAg IFVuc3BlY2lmaWVkIChtZWRpdW0pCgogcnUnZSAgfCAgIFdlYWt8fAoKCgpXaGF0IGVtb3Rpb24g aXMgZXhwcmVzc2VkIHVzaW5nICcnLnUnaSBuYWkgc2FpJycgPwoKX18nJy51J2knJ19fOiBhdHRp dHVkaW5hbDogc2ltcGxlIHB1cmUgZW1vdGlvbjogYW11c2VtZW50IC0gd2VhcmluZXNzCgoKCkFu c3dlcjogfn5ncmV5LGdyZXk6U3Ryb25nIHdlYXJpbmVzc35+CgoKCkFuZCBob3cgd291bGQgeW91 IGV4cHJlc3MgdGhhdCB5b3UgYXJlIG1pbGRseSByZW1vcnNlbGVzcz8KCgoKQW5zd2VyOiB+fmdy ZXksZ3JleTonJy51J3UgY3UnaSBydSdlJyd+fgoKCgohIUxvamJhbiBsZXNzb25zIOKAkyBsZXNz b24gZml2ZSAoU0UpCgpCZWZvcmUgd2UgdmVudHVyZSBpbnRvIHRoZSB0ZXJyaXRvcnkgb2YgbW9y ZSBjb21wbGV4IGNvbnN0cnVjdHMsIHlvdSBzaG91bGQgbGVhcm4gYW5vdGhlciBtZWNoYW5pc20g Zm9yIHJlb3JkZXJpbmcgdGhlIHN1bXRpIG9mIGEgc2VsYnJpLiBUaGlzLCBhcyB3ZSB3aWxsIHNo b3csIGlzIHZlcnkgdXNlZnVsIGZvciBtYWtpbmcgZGVzY3JpcHRpb24tbGlrZSBzdW10aSAodGhl IGtpbmQgb2Ygc3VtdGkgd2l0aCAnJ2xvJycpLgoKQ29uc2lkZXIgdGhlIHNlbnRlbmNlIOKAnEkg ZWF0IGEgZ2lmdOKAnSwgd2hpY2ggbWlnaHQgYmUgYXBwcm9wcmlhdGUgaWYgdGhhdCBnaWZ0IGlz IGFuIGFwcGxlLiBUbyB0cmFuc2xhdGUgdGhpcywgaXQgd291bGQgc2VlbSBuYXR1cmFsIHRvIGxv b2sgdXAgYSBzZWxicmkgbWVhbmluZyDigJxnaWZ04oCdIGJlZm9yZSBjb250aW51aW5nLiBIb3dl dmVyLCBpZiBvbmUgbG9va3MgY2FyZWZ1bGx5IGF0IHRoZSBkZWZpbml0aW9uIG9mICcnZHVuZGEn JywgeDEgZ2l2ZXMgeDIgdG8geDMsIG9uZSByZWFsaXplcyB0aGF0IHRoZSB4MiBvZiAnJ2R1bmRh JycgaXMgc29tZXRoaW5nIGdpdmVuIOKAkyBhIGdpZnQuCgpTbywgdG8gZXhwcmVzcyB0aGF0IHNl bnRlbmNlLCB3ZSBjYW4ndCBzYXkgJydtaSBjaXRrYSBsbyBkdW5kYSBrdScnLCBiZWNhdXNlICcn bG8gZHVuZGEga3UnJyB3b3VsZCBiZSB0aGUgeDEgb2YgJydkdW5kYScnLCB3aGljaCBpcyBhIGRv bm9yIG9mIGEgZ2lmdC4gQ2FubmliYWxpc20gYXNpZGUsIHdlIGRvbid0IHdhbnQgdG8gc2F5IHRo YXQuIFdoYXQgd2Ugd2FudCBpcyBhIHdheSB0byBleHRyYWN0IHRoZSB4MiBvZiBhIHNlbGJyaS4K ClRoaXMgaXMgb25lIGV4YW1wbGUgd2hlcmUgaXQgaXMgdXNlZnVsIHRvIHVzZSB0aGUgd29yZCAn J3NlJycuIFdoYXQgJydzZScnIGRvZXMgaXMgdG8gbW9kaWZ5IGEgc2VsYnJpIHN1Y2ggdGhhdCB0 aGUgeDEgYW5kIHgyIG9mIHRoYXQgc2VsYnJpIHRyYWRlIHBsYWNlcy4gVGhlIGNvbnN0cnVjdCBv ZiAnJ3NlJycgKyBzZWxicmkgaXMgb24gaXRzIG93biBjb25zaWRlcmVkIG9uZSBzZWxicmkuIExl dCdzIHRyeSB3aXRoIGFuIG9yZGluYXJ5IHNlbnRlbmNlOgoKX18nJ2ZhbnZhJydfXyA9IOKAnHgx IHRyYW5zbGF0ZXMgeDIgdG8gbGFuZ3VhZ2UgeDMgZnJvbSBsYW5ndWFnZSB4NCB3aXRoIHJlc3Vs dCBvZiB0cmFuc2xhdGlvbiB4NeKAnQoKJyd0aSBzZSBmYW52YSBtaScnID0gJydtaSBmYW52YSB0 aScnCgpUaGlzIGlzIHRyYW5zbGF0ZWQgYnkgbWUgKD0gSSB0cmFuc2xhdGUgdGhpcykuIE9mdGVu LCBidXQgbm90IGFsd2F5cywgYnJpZGkgd2l0aCAnJ3NlJyctY29uc3RydWN0cyBhcmUgdHJhbnNs YXRlZCB0byBzZW50ZW5jZXMgd2l0aCB0aGUgcGFzc2l2ZSB2b2ljZSwgc2luY2UgdGhlIHgxIGlz IG9mdGVuIHRoZSBvYmplY3QgdGFraW5nIGFjdGlvbi4KCicnc2UnJyBoYXMgaXRzIG93biBmYW1p bHkgb2Ygd29yZHMuIEFsbCBvZiB0aGVtIHN3YXAgYSBkaWZmZXJlbnQgcGxhY2Ugd2l0aCB0aGUg eDEuCgp8fHNlCXxzd2FwIHgxIGFuZCB4MgoKdGUJfHN3YXAgeDEgYW5kIHgzCgp2ZQl8c3dhcCB4 MSBhbmQgeDQKCnhlCXxzd2FwIHgxIGFuZCB4NXx8CgpOb3RlIHRoYXQgcywgdCwgdiwgYW5kIHgg YXJlIGNvbnNlY3V0aXZlIGNvbnNvbmFudHMgaW4gdGhlIGxvamJhbiBhbHBoYWJldC4KCgoKU286 IFVzaW5nIHRoaXMga25vd2xlZGdlLCB3aGF0IHdvdWxkICcndGkgeGUgZmFudmEgdGknJyBtZWFu PwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnFRoaXMgaXMgYSB0cmFuc2xhdGlvbiBvZiB0aGlz 4oCdIChvciAnJ2ZhbnZhIHRpIGZ1IHRpJycpfn4KCgoKJydzZScnIGFuZCBpdHMgZmFtaWx5IGNh biBvZiBjb3Vyc2UgYmUgY29tYmluZWQgd2l0aCAnJ2ZhJycgYW5kIGl0cyBmYW1pbHkuIFRoZSBy ZXN1bHQgY2FuIGJlIHZlcnkgY29uZnVzaW5nIGluZGVlZCwgaWYgeW91IHdpc2ggdG8gbWFrZSBp dCBzbzoKCl9fJydrbGFtYScnX18gPSDigJx4MSB0cmF2ZWxzL2dvZXMgdG8geDIgZnJvbSB4MyB2 aWEgeDQgdXNpbmcgeDUgYXMgdHJhbnNwb3J0YXRpb24gZGV2aWNl4oCdCgonJ2Z1IGxvIHpkYW5p IGt1IHRlIGtsYW1hIGZlIGRvIHRpIGZhIG1pJycgPSAnJ21pIHRlIGtsYW1hIGRvIHRpIGxvIHpk YW5pIGt1JycgYW5kIHNpbmNlICcndGUnJyBleGNoYW5nZXMgeDEgYW5kIHgzOiA9ICcndGkga2xh bWEgZG8gbWkgbG8gemRhbmkga3UnJwoK4oCcVGhpcyB0cmF2ZWxzIHRvIHlvdSBmcm9tIG1lIHZp YSBhIGhvbWUu4oCdIE9mIGNvdXJzZSwgbm8gb25lIHdvdWxkIG1ha2Ugc3VjaCBhIHNlbnRlbmNl IGV4Y2VwdCB0byBjb25mdXNlIHBlb3BsZSwgb3IgY3J1ZWxseSB0byB0ZXN0IHRoZWlyIHVuZGVy c3RhbmRpbmcgb2YgTG9qYmFuIGdyYW1tYXIuCgpBbmQgdGh1cywgd2UgaGF2ZSBjb21lIHRvIHRo ZSBwb2ludCB3aGVyZSB3ZSBjYW4gc2F5IOKAnEkgZWF0IGEgZ2lmdC7igJ0uIFNpbXBseSBleGNo YW5nZSB0aGUgc3VtdGkgcGxhY2VzIG9mICcnZHVuZGEnJyB0byBnZXQgdGhlIGdpZnQgdG8gYmUg eDEsIHRoZW4gZXh0cmFjdCB0aGlzIG5ldyB4MSB3aXRoICcnbG8nJy4uLicna3UnJy4gU28sIGhv dyB3b3VsZCB5b3Ugc2F5IGl0PwoKT25lIChwb3NzaWJsZSkgYW5zd2VyOiB+fmdyZXksZ3JleTon J21pIGNpdGthIGxvIHNlIGR1bmRhIGt1Jyd+fgoKVGhpcyBzaG93cyBvbmUgb2YgdGhlIG1hbnkg dXNlcyBmb3IgJydzZScnIGFuZCBpdHMgZmFtaWx5LgoKCgoKCiEhTG9qYmFuIGxlc3NvbnMg4oCT IGxlc3NvbiBzaXggKGFic3RyYWN0aW9ucykKClNvIGZhciB3ZSBoYXZlIG9ubHkgZXhwcmVzc2Vk IHNpbmdsZSBzZW50ZW5jZXMgb25lIGF0IGEgdGltZS4gVG8gZXhwcmVzcyBtb3JlIGNvbXBsZXgg dGhpbmdzLCBob3dldmVyLCB5b3Ugb2Z0ZW4gbmVlZCBzdWJvcmRpbmF0ZSBzZW50ZW5jZXMuIEx1 Y2tpbHksIHRoZXNlIGFyZSBtdWNoIGVhc2llciBpbiBMb2piYW4gdGhhbiB3aGF0IG9uZSB3b3Vs ZCBleHBlY3QuCgpXZSBjYW4gYmVnaW4gd2l0aCBhbiBleGFtcGxlIHRvIGRlbW9uc3RyYXRlIHRo aXM6IOKAnEkgYW0gaGFwcHkgdGhhdCB5b3UgYXJlIG15IGZyaWVuZC7igJ0gSGVyZSwgdGhlIG1h aW4gYnJpZGkgaXMg4oCcSSBhbSBoYXBweSB0aGF0IFgu4oCdLCBhbmQgdGhlIHN1Yi1icmlkaSBp cyDigJxZb3UgYXJlIG15IGZyaWVuZC7igJ0gTG9va2luZyBhdCB0aGUgZGVmaW5pdGlvbiBmb3Ig 4oCcaGFwcHnigJ0sIHdoaWNoIGlzICcnZ2xla2knJzoKCl9fJydnbGVraScnX18g4oCceDEgaXMg aGFwcHkgYWJvdXQgeDIgKGV2ZW50L3N0YXRlKeKAnQoKT25lIHNlZXMgdGhhdCB0aGUgeDIgbmVl ZHMgdG8gYmUgYW4gZXZlbnQgb3IgYSBzdGF0ZS4gVGhpcyBpcyBuYXR1cmFsLCBiZWNhdXNlIG9u ZSBjYW5ub3QgYmUgaGFwcHkgYWJvdXQgYW4gb2JqZWN0IGluIGl0c2VsZiwgb25seSBhYm91dCBz b21lIHN0YXRlIHRoZSBvYmplY3QgaXMgaW4uIEJ1dCBhbGFzISBPbmx5IGJyaWRpIGNhbiBleHBy ZXNzIGEgc3RhdGUgb3IgYW4gZXZlbnQsIGFuZCBvbmx5IHN1bXRpIGNhbiBmaWxsIHRoZSB4MiBv ZiAnJ2dsZWtpJychCgpBcyB5b3UgbWlnaHQgaGF2ZSBndWVzc2VkLCB0aGVyZSBpcyBhIHNvbHV0 aW9uLiBUaGUgd29yZHMgJydzdSd1JycuLi4nJ2tlaScnIGlzIGEgZ2VuZXJpYyDigJxjb252ZXJ0 IGJyaWRpIHRvIHNlbGJyaeKAnSBmdW5jdGlvbiwgYW5kIHdvcmtzIGp1c3QgbGlrZSAnJ2xvJyfi gKYnJ2t1JycuCgpfXycnc3UndScnX18geDEgaXMgYW4gYWJzdHJhY3Rpb24gb2Yge2JyaWRpfSBv ZiB0eXBlIHgyCgpfXycna2VpJydfXyBlbmQgYWJzdHJhY3Rpb24KCgoKRXhhbXBsZToKCl9fJydt ZWxiaScnX18geDEgaXMgYmVhdXRpZnVsIHRvIHgyLgoKX18nJ2RhbnN1JydfXyB4MSBkYW5jZXMg dG8gYWNjb21wYW5pbWVudC9tdXNpYy9yaHl0aG0geDIuCgonJ21lbGJpIHN1J3UgZGFuc3Uga2Vp JycgLSDigJxCZWF1dGlmaWwgZGFuY2luZ+KAnS/igJxCZWF1dGlmaWwgZGFuY2XigJ0KCgoKSXQn cyB1c3VhbGx5IGhhcmQgdG8gZmluZCBnb29kIHVzZXMgb2YgYSBicmlkaSBhcyBhIHNlbGJyaS4g SG93ZXZlciwgc2luY2UgJydzdSd1IEJSSURJIGtlaScnIGlzIGEgc2VsYnJpLCBvbmUgY2FuIGNv bnZlcnQgaXQgdG8gYSBzdW10aSB1c2luZyAnJ2xvJycuLi4nJ2t1JycuCgpOb3cgd2UgaGF2ZSB0 aGUgZXF1aXBtZW50IHRvIGV4cHJlc3Mg4oCcSSBhbSBoYXBweSB0aGF0IHlvdSBhcmUgbXkgZnJp ZW5k4oCdLiBUcnkgaXQgb3V0IQoKX18nJ3BlbmRvJydfXyDigJx4MSBpcyBhIGZyaWVuZCBvZiB4 MuKAnQoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OicnbWkgZ2xla2kgbG8gc3UndSBkbyBwZW5kbyBt aSBrZWkga3UnJ35+CgoKCkhvd2V2ZXIsICcnc3UndScn4oCmJydrZWknJyBkb2VzIG5vdCBzZWUg bXVjaCB1c2UuIFBlb3BsZSBwcmVmZXIgdG8gdXNlIHRoZSBtb3JlIHNwZWNpZmljIHdvcmRzICcn bnUnJ+KApicna2VpJycgYW5kICcnZHUndScn4oCmJydrZWknJy4gVGhleSB3b3JrIHRoZSBzYW1l IHdheSwgYnV0IG1lYW4gc29tZXRoaW5nIGRpZmZlcmVudC4gJydudeKApmtlaScnIHRyZWF0cyB0 aGUgYnJpZGkgaW4gYmV0d2VlbiBhcyBhbiBldmVudCBvciBzdGF0ZSwgYW5kICcnZHUndeKApmtl aScnIHRyZWF0cyBpdCBhcyBhbiBhYnN0cmFjdCBicmlkaSwgZm9yIGV4cHJlc3NpbmcgdGhpbmdz IGxpa2UgaWRlYXMsIHRob3VnaHRzIG9yIHRydXRocy4gQWxsIHRoZXNlIHdvcmRzIChleGNlcHQg JydrZWknJykgYXJlIGNhbGxlZCBhYnN0cmFjdG9ycy4gVGhlcmUgYXJlIG1hbnkgb2YgdGhlbSwg YW5kIG9ubHkgZmV3IGFyZSB1c2VkIG11Y2guICcnc3UndeKApmtlaScnIGlzIGEgZ2VuZXJhbCBh YnN0cmFjdG9yLCBhbmQgd2lsbCB3b3JrIGluIGFsbCBjYXNlcy4KCgoKVXNlICcnbnUnJyB0byBz YXkg4oCcSSdtIGhhcHB5IGFib3V0IHRhbGtpbmcgdG8geW91LuKAnQoKX18nJ3RhdmxhJydfXyB4 MSB0YWxrcyB0byB4MiBhYm91dCBzdWJqZWN0IHgzIGluIGxhbmd1YWdlIHg0LgoKCgpBbnN3ZXI6 IH5+Z3JleSxncmV5OicnbWkgZ2xla2kgbG8gbnUgdGF2bGEgZG8ga2VpIGt1JycgKG5vdGljZSBi b3RoIHRoZSBFbmdsaXNoIGFuZCB0aGUgTG9qYmFuIGlzIHZhZ3VlIGFzIHRvIHdobyBpcyBkb2lu ZyB0aGUgdGFsa2luZykufn4KCgoKT3RoZXIgaW1wb3J0YW50IGFic3RyYWN0b3JzIGluY2x1ZGU6 ICcna2EuLi5rZWknJyAocHJvcGVydHkvYXNwZWN0IGFic3RyYWN0aW9uKSwgJydzaSdvLi4ua2Vp JycgKGNvbmNlcHQvaWRlYSBhYnN0cmFjdGlvbiksICcnbmkuLi5rZWknJyAocXVhbnRpdHkgYWJz dHJhY3Rpb24pIGFtb25nIG90aGVycy4gVGhlIG1lYW5pbmdzIG9mIHRoZXNlIGlzIGEgY29tcGxp Y2F0ZWQgbWF0dGVyLCBhbmQgd2lsbCBiZSBkaXNjdXNzZWQgbXVjaCBsYXRlciwgaW4gbGVzc29u IHR3ZW50eS1uaW5lLiBGb3Igbm93LCB5b3UnbGwgaGF2ZSB0byBkbyB3aXRob3V0IHRoZW0uCgoK Ckl0IGlzIGltcG9ydGFudCB0byBub3RpY2UgdGhhdCBzb21lIGFic3RyYWN0b3JzIGhhdmUgc2V2 ZXJhbCBzdW10aSBwbGFjZXMuIEFzIGFuIGV4YW1wbGUsICcnZHUndScnIGNhbiBiZSBtZW50aW9u ZWQuICcnZHUndScnIGlzIGRlZmluZWQ6CgonJ2R1J3UnJyA9IOKAnGFic3RyYWN0b3IuIHgxIGlz IHRoZSBwcmVkaWNhdGUvYnJpZGkgb2Yge2JyaWRpfSBleHByZXNzZWQgaW4gc2VudGVuY2UgeDLi gJ0uCgpUaGUgb3RoZXIgc3VtdGkgcGxhY2VzIGJlc2lkZXMgeDEgaXMgcmFyZWx5IHVzZWQsIGJ1 dCAnJ2xvIHNlIGR1J3Uge2JyaWRpfSBrZWkga3UnJyBpcyBzb21ldGltZXMgdXNlZCBhcyBhIHN1 bXRpIGZvciBpbmRpcmVjdCBxdW90YXRpb246IOKAnEkgc2FpZCB0aGF0IEkgd2FzIGdpdmVuIGEg ZG9n4oCdIGNhbiBiZSB3cml0dGVuICcnbWkgY3Vza3UgbG8gc2UgZHUndSBtaSB0ZSBkdW5kYSBs byBnZXJrdSBrdSBrZWkga3UnJywgaWYgeW91IHdpbGwgcGFyZG9uIHRoZSB3ZWlyZCBleGFtcGxl LgoKX18nJ2N1c2t1JydfXyB4MSBleHByZXNzZXMgeDIgdG8geDMgdGhyb3VnaCBtZWRpdW0geDQK Cl9fJydnZXJrdScnX18geDEgaXMgYSBkb2cgb2YgcmFjZSB4MgoKISFMb2piYW4gbGVzc29ucyDi gJMgbGVzc29uIHNldmVuIChOT0kpCgpXaGlsZSB3ZSdyZSBhdCBpdCwgdGhlcmUncyBhbm90aGVy IHR5cGUgb2Ygc3Vib3JkaW5hdGUgYnJpZGkuIFRoZXNlIGFyZSBjYWxsZWQgcmVsYXRpdmUgY2xh dXNlcy4gVGhleSBhcmUgc2VudGVuY2VzIHdoaWNoIGFkZCBzb21lIGRlc2NyaXB0aW9uIHRvIGEg c3VtdGkuIEluZGVlZCwgdGhlIOKAnHdoaWNo4oCdIGluIHRoZSBwcmV2aW91cyBzZW50ZW5jZSBt YXJrZWQgdGhlIGJlZ2lubmluZyBvZiBhIHJlbGF0aXZlIGNsYXVzZSBpbiBFbmdsaXNoIGRlc2Ny aWJpbmcgcmVsYXRpdmUgY2xhdXNlcy4gSW4gTG9qYmFuLCB0aGV5IGNvbWUgaW4gdHdvIGZsYXZv cnMsIGFuZCBpdCBtaWdodCBiZSB3b3J0aCBkaXN0aW5ndWlzaGluZyB0aGUgdHdvIGtpbmRzIGJl Zm9yZSBsZWFybmluZyBob3cgdG8gZXhwcmVzcyB0aGVtLgoKVGhlIHR3byBraW5kcyBhcmUgY2Fs bGVkIHJlc3RyaWN0aXZlIGFuZCBub24tcmVzdHJpY3RpdmUgKG9yIGluY2lkZW50aWFsKSByZWxh dGl2ZSBjbGF1c2VzLiBBbiBleGFtcGxlIHdvdWxkIGJlIGdvb2QgaGVyZToKCuKAnE15IGJyb3Ro ZXIsIHdobyBpcyB0d28gbWV0ZXJzIHRhbGwsIGlzIGEgcG9saXRpY2lhbi7igJ0gVGhpcyBjYW4g YmUgdW5kZXJzdG9vZCBpbiB0d28gd2F5cy4gSSBjb3VsZCBoYXZlIHNldmVyYWwgYnJvdGhlcnMs IGluIHdoaWNoIGNhc2Ugc2F5aW5nIGhlIGlzIHR3byBtZXRlcnMgdGFsbCB3aWxsIGxldCB5b3Ug a25vdyB3aGljaCBicm90aGVyIEkgYW0gdGFsa2luZyBhYm91dC4gT3IgSSBtaWdodCBoYXZlIG9u bHkgb25lIGJyb3RoZXIsIGluIHdoaWNoIGNhc2UgSSBhbSBzaW1wbHkgZ2l2aW5nIHlvdSBhZGRp dGlvbmFsIGluZm9ybWF0aW9uLgoKCgpJbiBFbmdsaXNoIGFzIHdlbGwgYXMgTG9qYmFuIHdlIGRp c3Rpbmd1aXNoIGJldHdlZW4gdGhlc2UgdHdvIGtpbmRzIOKAkyB0aGUgZmlyc3QgaW50ZXJwcmV0 YXRpb24gaXMgcmVzdHJpY3RpdmUgKHNpbmNlIGl0IGhlbHBzIHJlc3RyaWN0IHRoZSBwb3NzaWJs ZSBicm90aGVycyBJIG1pZ2h0IGJlIHRhbGtpbmcgYWJvdXQpLCB0aGUgc2Vjb25kIG5vbi1yZXN0 cmljdGl2ZS4gV2hlbiBzcGVha2luZyBFbmdsaXNoLCBjb250ZXh0IGFuZCB0b25lIG9mIHZvaWNl IChvciBpbiB3cml0dGVuIEVuZ2xpc2gsIHB1bmN0dWF0aW9uKSBoZWxwcyB1cyBkaXN0aW5ndWlz aCBiZXR3ZWVuIHRoZXNlIHR3bywgYnV0IG5vdCBzbyBpbiBMb2piYW4uIExvamJhbiB1c2VzIHRo ZSBjb25zdHJ1Y3RzICcncG9p4oCma3UnbycnIGFuZCAnJ25vaeKApmt1J28nJyBmb3IgcmVzdHJp Y3RpdmUgYW5kIG5vbi1yZXN0cmljdGl2ZSByZWxhdGl2ZSBjbGF1c2VzLCByZXNwZWN0aXZlbHku CgpMZXQncyBoYXZlIGEgTG9qYmFuaWMgZXhhbXBsZSwgd2hpY2ggY2FuIGFsc28gZXhwbGFpbiBv dXIgc3RyYW5nZSBnaWZ0LWVhdGluZyBiZWhhdmlvdXIgaW4gdGhlIGV4YW1wbGUgaW4gbGVzc29u IGZpdmU6CgpfXycnbm9pJydfXyBiZWdpbiBub24tcmVzdHJpY3RpdmUgcmVsYXRpdmUgY2xhdXNl IChjYW4gb25seSBhdHRhY2ggdG8gc3VtdGkpCgpfXycncG9pJydfXyBiZWdpbiByZXN0cmljdGl2 ZSByZWxhdGl2ZSBjbGF1c2UgKGNhbiBvbmx5IGF0dGFjaCB0byBzdW10aSkKCl9fJydrdSdvJydf XyBlbmQgcmVsYXRpdmUgY2xhdXNlCgoKCicnbWkgY2l0a2EgbG8gc2UgZHVuZGEga3UgcG9pIHBs aXNlIGt1J28nJyA9IOKAnEkgZWF0IGEgZ2lmdCBzdWNoIHRoYXQgKHNvbWV0aGluZyBpcykgYW4g YXBwbGXigJ0uIAoKSGVyZSB0aGUgJydwb2nigKZrdSdvJycgaXMgcGxhY2VkIGp1c3QgYWZ0ZXIg JydsbyBzZSBkdW5kYSBrdScnLCBzbyBpdCBhcHBsaWVzIHRvIHRoZSBnaWZ0LiBUbyBiZSBzdHJp Y3QsIHRoZSByZWxhdGl2ZSBjbGF1c2UgZG9lcyBub3Qgc3BlY2lmeSB3aGF0IGl0IGlzLCB3aGlj aCBpcyBhbiBhcHBsZSwgYnV0IHNpbmNlIHRoZSByZWxhdGl2ZSBjbGF1c2UgYXBwbGllcyB0byB0 aGUgZ2lmdCwgd2UgY2FuIHNhZmVseSBhc3N1bWUgdGhhdCBpdCBtZWFucyB0aGF0IHRoZSBnaWZ0 IGlzIGFuIGFwcGxlLiBBZnRlciBhbGwsIGluIHRoZSBjb250ZXh0IG9mIGxlc3NvbiBmaXZlLCB0 aGlzIHNlZW1zIHJlYXNvbmFibGUuIElmIHdlIHdhbnQgdG8gYmUgYWJzb2x1dGVseSBzdXJlIHRo YXQgaXQgaW5kZWVkIHdhcyB0aGUgZ2lmdCB0aGF0IHdhcyBhbiBhcHBsZSwgd2UgdXNlIHRoZSB3 b3JkICcna2UnYScnLCB3aGljaCBpcyBhICcnc3Vta2EnaScnIChhIExvamJhbiBwcm9ub3VuLCBt b3JlIG9uIHRoZW0gbGF0ZXIpIHJlcHJlc2VudGluZyB0aGUgc3VtdGkgd2hpY2ggdGhlIHJlbGF0 aXZlIGNsYXVzZSBpcyBhdHRhY2hlZCB0by4KCl9fJydrZSdhJydfXyBzdW1rYSdpOyByZWZlcnMg dG8gdGhlIHN1bXRpLCB0byB3aGljaCB0aGUgcmVsYXRpdmUgY2xhdXNlIGl0IGF0dGFjaGVkLgoK CgonJy51aSBtaSBjaXRrYSBsbyBzZSBkdW5kYSBrdSBwb2kga2UnYSBwbGlzZSBrdSdvJycgPSDi gJxZYXksIEkgZWF0IGEgZ2lmdCB3aGljaCBpcyBhbiBhcHBsZeKAnS4KClRvIHVuZGVybGluZSB0 aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHJlc3RyaWN0aXZlIGFuZCBub24tcmVzdHJpY3RpdmUgcmVs YXRpdmUgY2xhdXNlcywgaGVyZSdzIGFub3RoZXIgZXhhbXBsZToKCgoKX18nJ2xvamJvJydfXyDi gJx4MSByZWZsZWN0cyBMb2piYW5pYyBjdWx0dXJlL2NvbW11bml0eSBpcyBhc3BlY3QgeDI7IHgx IGlzIExvamJhbmljLuKAnQoKCgonJ21pIG5vaSBsb2pibyBrdSdvIGZhbnZhIGZvIGxvIGxvamJv IGt1JycgPSDigJxJLCB3aG8gYW0gYSBMb2piYW5pYywgdHJhbnNsYXRlIGZyb20gc29tZSBMb2pi YW5pYyBsYW5ndWFnZS7igJ0gSGVyZSwgdGhlcmUgaXMgbm90IG11bHRpcGxlIHRoaW5ncyB3aGlj aCAnJ21pJycgY291bGQgcmVmZXIgdG8sIGFuZCB0aGUgZmFjdCB0aGF0IEkgYW0gbG9qYmFuaWMg aXMgbWVyZWx5IGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gbm90IG5lZWRlZCB0byBpZGVudGlmeSBt ZS4gVGhlcmVmb3JlICcnbm9p4oCma3UnbycnIGlzIGFwcHJvcHJpYXRlLgoKU2VlIGlmIHlvdSBj YW4gdHJhbnNsYXRlIHRoaXM6IOKAnEkgZmxpcnQgd2l0aCBhIG1hbiB3aG8gaXMgYmVhdXRpZnVs L2hhbmRzb21l4oCdLgoKX18nJ25hbm11JydfXyDigJx4MSBpcyBhIG1hbuKAnQoKX18nJ21lbGJp JydfXyDigJx4MSBpcyBiZWF1dGlmdWwgdG8geDIgaW4gYXNwZWN0IChrYSkgeDMgYnkgc3RhbmRh cmQgeDTigJ0KCl9fJydjaW5qaWtjYScnX18g4oCceDEgZmxpcnRzL2NvdXJ0cyB4MiwgZXhoaWJp dGluZyBzZXh1YWxpdHkgeDMgYnkgc3RhbmRhcmQgeDTigJ0KCgoKQW5zd2VyOiB+fmdyZXksZ3Jl eTonJ21pIGNpbmppa2NhIGxvIG5hbm11IGt1IHBvaSB7a2UnYX0gbWVsYmkga3Unbycnfn4KCgoK T24gYSBtb3JlIHRlY2huaWNhbCBzaWRlIG5vdGUsIGl0IG1pZ2h0IGJlIHVzZWZ1bCB0byBrbm93 IHRoYXQgJydsbyB7c2VsYnJpfSBrdScnIGlzIG9mdGVuIHNlZW4gZGVmaW5lZCBhcyAnJ3pvJ2Ug bm9pIGtlJ2Ege3NlbGJyaX0ga3UnbycnLgoKCgoKCiEhTG9qYmFuIExlc3NvbnMg4oCTIExlc3Nv biBlaWdodCAodGVybWluYXRvciBlbGlzaW9uKQoKJycuYXUgZGEnaSBtaSBkamljYSBsbyBudSBs ZSBtZXJrbyBwb2kgdHVuYmEgbWkgX192YXUga3UnbyBrdV9fIGppbXBlIGxvIGR1J3UgbWkgbmEg bmVsY2kgbG8gbnUgdm8nYSBkYXJ4aSBtaSBfX3ZhdSBrZWkga3UgdmF1IGtlaSBrdSB2YXUga2Vp IGt1IHZhdV9fJycKCiAtICDigJxJIHdpc2ggdGhlIEFtZXJpY2FuLCB3aG8gaXMgbXkgc2libGlu Zywgd291bGQgdW5kZXJzdGFuZCB0aGF0IEkgZG9uJ3QgbGlrZSB0aGF0IGhlIGhpdHMgbWUu4oCd CgpSZWdhcmRsZXNzIG9mIHdoZXRoZXIgdGhlIGFib3ZlIHNlbnRlbmNlIGlzIGJlaW5nIHVuZGVy c3Rvb2QsIChpdCBzaG91bGRuJ3QsIGFzIGl0IGNvbnRhaW5zIHdvcmRzIHdlIGhhdmUgbm90IGNv dmVyZWQgaW4gdGhlc2UgbGVzc29ucyB5ZXQpIG9uZSB0aGluZyBzdGFuZHMgb3V0OiBBcyBtb3Jl IGNvbXBsZXggTG9qYmFuIHN0cnVjdHVyZXMgYXJlIGxlYXJuZWQsIG1vcmUgYW5kIG1vcmUgb2Yg dGhlIHNlbnRlbmNlcyBnZXQgZmlsbGVkIHdpdGggJydrdScnLCAnJ2tlaScnLCAnJ2t1J28nJyBh bmQgb3RoZXIgb2YgdGhvc2Ugd29yZHMgd2hpY2ggYnkgdGhlbXNlbHZlcyBjYXJyeSBubyBtZWFu aW5nLgoKCgpUaGUgZnVuY3Rpb24gb2YgYWxsIHRoZXNlIHdvcmRzIGlzIHRvIHNpZ25hbCB0aGUg ZW5kIG9mIGEgY2VydGFpbiBncmFtbWF0aWNhbCBjb25zdHJ1Y3QsIGxpa2UgZm9yIGluc3RhbmNl IOKAnGNvbnZlcnQgc2VsYnJpIHRvIHN1bXRp4oCdIGluIHRoZSBjYXNlIG9mICcna3UnJy4gVGhl IEVuZ2xpc2ggd29yZCBmb3IgdGhpcyBraW5kIG9mIHdvcmQgaXMg4oCcdGVybWluYXRvcuKAnSwg dGhlIExvamJhbiB3b3JkIGlzICcnZmEnb3JtYSdvJycuIFRoZXkgYXJlIHdyaXR0ZW4gaW4gYm9s ZCBpbiB0aGUgZXhhbXBsZSBhYm92ZS4KCk5vdGU6IFRoZSAnJ3ZhdScnIGluIHRoZSBhYm92ZSBl eGFtcGxlIGFyZSB0aGUgZmEnb3JtYSdvIGZvciDigJxlbmQgYnJpZGnigJ0uIFRoZXJlIGlzIGEg Z29vZCByZWFzb24geW91IGhhdmUgbm90IHlldCBzZWVuIGl0LCBzdGF5IHR1bmVkLgoKX18nJ3Zh dScnX18gZmEnb3JtYSdvOiBUZXJtaW5hdGVzIGJyaWRpLgoKCgpJbiBtb3N0IHNwb2tlbiBhbmQg d3JpdHRlbiBMb2piYW4sIG1vc3QgZmEnb3JtYSdvIGFyZSBza2lwcGVkIChlbGlkZWQpLiBUaGlz IGdyZWF0bHkgc2F2ZXMgc3lsbGFibGVzIGluIHNwZWVjaCBhbmQgc3BhY2UgaW4gd3JpdGluZywg aG93ZXZlciwgb25lIG11c3QgYWx3YXlzIGJlIGNhcmVmdWwgd2hlbiBlbGlkaW5nIGZhJ29ybWEn by4gSW4gdGhlIHNpbXBsZSBleGFtcGxlICcnbG8gbWVya28ga3Uga2xhbWEnJywgcmVtb3Zpbmcg dGhlIGZhJ29ybWEnbyAnJ2t1Jycgd291bGQgeWllbGQgJydsbyBtZXJrbyBrbGFtYScnLCB3aGlj aCBpcyBhIHNpbmdsZSBzdW10aSBtYWRlIGZyb20gdGhlIHRhbnJ1ICcnbWVya28ga2xhbWEnJy4g VGh1cywgaXQgbWVhbnMg4oCcYW4gQW1lcmljYW4gdHJhdmVsZXLigJ0gaW5zdGVhZCBvZiDigJxh biBBbWVyaWNhbiB0cmF2ZWxz4oCdLiBmYSdvcm1hJ28gZWxpc2lvbiBjYW4gbGVhZCB0byB2ZXJ5 IHdyb25nIHJlc3VsdHMgaWYgZG9uZSBpbmNvcnJlY3RseSwgd2hpY2ggaXMgd2h5IHlvdSBoYXZl bid0IGxlYXJuZWQgYWJvdXQgaXQgdW50aWwgbm93LgoKCgpUaGUgcnVsZSBmb3Igd2hlbiBmYSdv cm1hJ28gY2FuIGJlIGVsaWRlZCBpcyB2ZXJ5IHNpbXBsZSwgYXQgbGVhc3QgaW4gdGhlb3J5OiDi gJxZb3UgY2FuIGVsaWRlIGEgZmEnb3JtYSdvLCBfX2lmIGFuZCBvbmx5IGlmX18gZG9pbmcgc28g ZG9lcyBub3QgY2hhbmdlIHRoZSBncmFtbWF0aWNhbCBjb25zdHJ1Y3RzIGluIHRoZSBzZW50ZW5j ZS7igJ0KCk1vc3QgZmEnb3JtYSdvIGNhbiBiZSBzYWZlbHkgZWxpZGVkIGF0IHRoZSBlbmQgb2Yg dGhlIGJyaWRpLiBFeGNlcHRpb25zIGFyZSB0aGUgb2J2aW91cyBvbmVzIGxpa2Ug4oCcZW5kIHF1 b3Rl4oCdLWZhJ29ybWEnbyBhbmQg4oCcZW5kIGJyaWRpIGdyb3VwaW5n4oCdLWZhJ29ybWEnby4g VGhpcyBpcyB3aHkgJyd2YXUnJyBpcyBhbG1vc3QgbmV2ZXIgdXNlZCDigJMgc2ltcGx5IGJlZ2lu bmluZyBhIG5ldyBicmlkaSB3aXRoICcnLmknJyB3aWxsIGFsbW9zdCBhbHdheXMgdGVybWluYXRl IHRoZSBwcmVjZWRpbmcgYnJpZGkgYW55d2F5LiBJdCBoYXMgb25lIGZyZXF1ZW50IHVzZSwgaG93 ZXZlci4gU2luY2UgYXR0aXR1ZGluYWxzIGFsd2F5cyBhcHBseSB0byB0aGUgcHJlY2VkaW5nIHdv cmQsIGFwcGx5aW5nIGl0IHRvIGEgZmEnb3JtYSdvIGFwcGxpZXMgaXQgdG8gdGhlIGVudGlyZSBj b25zdHJ1Y3Qgd2hpY2ggaXMgdGVybWluYXRlZC4gVXNpbmcgJyd2YXUnJywgb25lIGNhbiB0aGVu IHVzZSBhdHRpdHVkaW5hbHMgYWZ0ZXJ0aG91Z2h0IGFuZCBhcHBseSB0aGVtIHRvIHRoZSBlbnRp cmUgYnJpZGk6CgonJ3phJ2EgZG8gZHVuZGEgbG8gemRhbmkge2t1fSBsbyBwcmVudSB7a3V9Li4u IHZhdSBpJ2UnJyAtIOKAnEkgc2VlIHRoYXQgeW91IGdpdmUgYSBob21lIHRvIGEgcGVyc29uLi4u IEkgYXBwcm92ZSHigJ0KCl9fJydwcmVudScnX18geDEgaXMgYSBwZXJzb247IHgxIGhhcyBhIHBl cnNvbmFsaXR5LgoKCgpLbm93aW5nIHRoZSBiYXNpYyBydWxlcyBmb3IgZmEnb3JtYSdvIGVsaXNp b24sIHdlIGNhbiB0aHVzIHJldHVybiB0byB0aGUgb3JpZ2luYWwgc2VudGVuY2UgYW5kIGJlZ2lu IHJlbW92aW5nIGZhJ29ybWEnbzoKCgoKJycuYXUgZGEnaSBtaSBkamljYSBsbyBudSBsZSBtZXJr byBwb2kgdHVuYmEgbWkgX192YXUga3UnbyBrdV9fIGppbXBlIGxvIGR1J3UgbWkgbmEgbmVsY2kg bG8gbnUgdm8nYSBkYXJ4aSBtaSBfX3ZhdSBrZWkga3UgdmF1IGtlaSBrdSB2YXUga2VpIGt1IHZh dV9fJycKCgoKV2UgY2FuIHNlZSB0aGF0IHRoZSBmaXJzdCAnJ3ZhdScnIGlzIGdyYW1tYXRpY2Fs bHkgdW5uZWNlc3NhcnksIGJlY2F1c2UgdGhlIG5leHQgbm9uLWZhJ29ybWEnby13b3JkIGlzICcn amltcGUnJywgd2hpY2ggaXMgYSBzZWxicmkuIFNpbmNlIHRoZXJlIGNhbiBvbmx5IGJlIG9uZSBz ZWxicmkgcGVyIGJyaWRpLCAnJ3ZhdScnIGlzIG5vdCBuZWVkZWQuIFNpbmNlICcnamltcGUnJyBh cyBhIHNlbGJyaSBjYW5ub3QgYmUgaW4gdGhlIHJlbGF0aXZlIGNsYXVzZSBlaXRoZXIgKG9ubHkg b25lIGJyaWRpIGluIGEgY2xhdXNlLCBvbmx5IG9uZSBzZWxicmkgaW4gZWFjaCBicmlkaSksIHdl IGNhbiBlbGlkZSAnJ2t1J28nJy4gTGlrZXdpc2UsICcnamltcGUnJyBjYW5ub3QgYmUgYSBzZWNv bmQgc2VsYnJpIGluc2lkZSB0aGUgY29uc3RydWN0ICcnbGUgbWVya28gcG9pey4uLn0nJywgc28g dGhlICcna3UnJyBpcyBub3QgbmVlZGVkIGVpdGhlci4gRnVydGhlcm1vcmUsIGFsbCB0aGUgZmEn b3JtYSdvIGF0IHRoZSB2ZXJ5IGVuZCBvZiB0aGUgc2VudGVuY2UgY2FuIGJlIGVsaWRlZCB0b28s IHNpbmNlIGJlZ2lubmluZyBhIG5ldyBicmlkaSB3aWxsIHRlcm1pbmF0ZSBhbGwgb2YgdGhlc2Ug Y29uc3RydWN0cyBhbnl3YXkuCgpXZSB0aGVuIGVuZCB1cCB3aXRoOgoKJycuYXUgZGEnaSBtaSBk amljYSBsbyBudSBsZSBtZXJrbyBwb2kgdHVuYmEgbWkgamltcGUgbG8gZHUndSBtaSBuYSBuZWxj aSBsbyBudSB2bydhIGRhcnhpIG1pJycg4oCTIHdpdGggbm8gZmEnb3JtYSdvIGF0IGFsbCEKCgoK V2hlbiBlbGlkaW5nIGZhJ29ybWEnbywgaXQgaXMgYSBnb29kIGlkZWEgdG8gYmUgYWNxdWFpbnRl ZCB3aXRoICcnY3UnJy4gJydjdScnIGlzIG9uZSBvZiB0aG9zZSB3b3JkcyB3aGljaCBjYW4gbWFr ZSB5b3VyIChMb2piYW5pYykgbGlmZSBhIGxvdCBlYXNpZXIuIFdoYXQgaXQgZG9lcyBpcyB0byBz ZXBhcmF0ZSBhbnkgcHJldmlvdXMgc3VtdGkgZnJvbSB0aGUgc2VsYnJpLiBPbmUgY291bGQgc2F5 IHRoYXQgaXQgZGVmaW5lcyB0aGUgbmV4dCB3b3JkIHRvIGJlIGEgc2VsYnJpLCBhbmQgdGVybWlu YXRlcyBleGFjdGx5IGFzIG11Y2ggYXMgaXQgbmVlZHMgdG8gaW4gb3JkZXIgdG8gZG8gdGhhdC4K Cl9fJydjdScnX18gZWxpZGFibGUgbWFya2VyOiBzZXBhcmF0ZXMgc2VsYnJpIGZyb20gcHJlY2Vk aW5nIHN1bXRpLCBhbGxvd3MgcHJlY2VkaW5nIGZhJ29ybWEnbyBlbGlzaW9uLgoKCgpfXycncHJh bWknJ19fID0g4oCceDEgbG92ZXMgeDLigJ0KCgoKJydsbyBzdSd1IGRvIGN1c2t1IGxvIHNlIGR1 J3UgZG8gcHJhbWkgbWkgX192YXUga2VpIGt1IHZhdSBrZWkga3VfXyBzZSBkamljYSBtaScnID0K CicnbG8gc3UndSBkbyBjdXNrdSBsbyBzZSBkdSd1IGRvIHByYW1pIG1pIF9fY3VfXyBzZSBkamlj YSBtaScnCgrigJxUaGF0IHlvdSBzYXkgdGhhdCB5b3UgbG92ZSBtZSBpcyBkZXNpcmVkIGJ5IGJl 4oCdIG9yIOKAnEkgd2lzaCB5b3Ugc2FpZCB5b3UgbG92ZWQgbWXigJ0KCm5vdGU6ICcnY3UnJyBp cyBub3QgYSBmYSdvcm1hJ28sIGJlY2F1c2UgaXQgaXMgbm90IHRpZWQgdG8gb25lIHNwZWNpZmlj IGNvbnN0cnVjdC4gQnV0IGl0IGNhbiBiZSB1c2VkIHRvIGVsaWRlIG90aGVyIGZhJ29ybWEnby4K CgoKT25lIG9mIHRoZSBncmVhdGVzdCBzdHJlbmd0aHMgb2YgJydjdScnIGlzIHRoYXQgaXQgcXVp Y2tseSBiZWNvbWVzIGVhc3kgdG8gaW50dWl0aXZlbHkgdW5kZXJzdGFuZC4gQnkgaXRzZWxmIGl0 IG1lYW5zIG5vdGhpbmcsIGJ1dCBpdCByZXZlYWxzIHRoZSBzdHJ1Y3R1cmUgb2YgTG9qYmFuIGV4 cHJlc3Npb25zIGJ5IGlkZW50aWZ5aW5nIHRoZSBjb3JlIHNlbGJyaS4gSW4gdGhlIG9yaWdpbmFs IGV4YW1wbGUgd2l0aCB0aGUgdmlvbGVudCBBbWVyaWNhbiBicm90aGVyLCB1c2luZyAnJ2N1Jycg YmVmb3JlICcnamltcGUnJyBkb2VzIG5vdCBjaGFuZ2UgdGhlIG1lYW5pbmcgb2YgdGhlIHNlbnRl bmNlIGluIGFueSB3YXksIGJ1dCBtaWdodCBtYWtlIGl0IGVhc2llciB0byByZWFkLgoKCgpJbiB0 aGUgZm9sbG93aW5nIGNvdXBsZSBvZiBsZXNzb25zLCAnJ2N1Jycgd2lsbCBiZSB1c2VkIHdoZW4g bmVjZXNzYXJ5LCBhbmQgYWxsIGZhJ29ybWEnbyBlbGlkZWQgaWYgcG9zc2libGUuIFRoZSBlbGlk ZWQgZmEnb3JtYSdvIHdpbGwgYmUgZW5jYXNlZCBpbiBjdXJseSBicmFja2V0cywgYXMgc2hvd24g YmVsb3cuIFRyeSB0byB0cmFuc2xhdGUgaXQhCgpfXycndmFqbmknJ19fIOKAnHgxIGlzIGltcG9y dGFudCB0byB4MiBmb3IgcmVhc29uIHgz4oCdCgpfXycnamltcGUnJ19fIOKAnHgxIHVuZGVyc3Rh bmRzIHRoYXQgeDIgKGR1J3UtYWJzdHJhY3Rpb24pIGlzIHRydWUgYWJvdXQgeDPigJ0KCl9fJydh J28nJ19fIC0gQXR0aXR1ZGluYWw6IFNpbXBsZSBwcm9wb3NpdGlvbmFsIGVtb3Rpb246IEhvcGUg LSBkZXNwYWlyCgoKCicnYSdvIGRvIG5vaSBrZSdhIGxvamJvIC5pJ2Uge2t1J299IHtrdX0gY3Ug amltcGUgbG8gZHUndSBsbyBmYSdvcm1hJ28ge2t1fSBjdSB2YWpuaSB7dmF1fSB7a2VpfSB7a3V9 IHt2YXV9JycKCldoYXQgZG8gSSBzdGF0ZT8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxJIGhv cGUgdGhhdCB5b3UsIGEgcHJvdWQgTG9qYmFuaXN0LCB1bmRlcnN0YW5kcyB0aGF0IGZhJ29ybWEn byBhcmUgaW1wb3J0YW504oCdfn4KCgoKRnVuIHNpZGUgbm90ZTogTW9zdCBwZW9wbGUgd2VsbC12 ZXJzZWQgaW4gZmEnb3JtYSdvLWVsaXNpb24gZG8gaXQgc28gaW5zdGluY3RpdmVseSB0aGF0IHRo ZXkgb2Z0ZW4gbXVzdCBiZSByZW1pbmRlZCBob3cgaW1wb3J0YW50IHVuZGVyc3RhbmRpbmcgZmEn b3JtYSdvIGFyZSB0byB0aGUgdW5kZXJzdGFuZGluZyBvZiBMb2piYW4uIFRoZXJlZm9yZSwgZWFj aCBUdWVzZGF5IGhhdmUgYmVlbiBkZXNpZ25hdGVkIOKAnFRlcm1pbmF0b3IgRGF54oCdIG9yICcn ZmEnb3JtYSdvIGRqZWRpJycgb24gdGhlIExvamJhbiBJUkMgY2hhdHJvb20uIER1cmluZyBUZXJt aW5hdG9yIERheSwgbWFueSBwZW9wbGUgdHJ5IChhbmQgb2Z0ZW4gZmFpbCkgdG8gcmVtZW1iZXIg d3JpdGluZyBvdXQgYWxsIGZhJ29ybWEnbyB3aXRoIHNvbWUgdmVyeSB2ZXJib3NlIGNvbnZlcnNh dGlvbnMgYXMgYSByZXN1bHQuCgoKCgoKISFMb2piYW4gTGVzc29ucyAtIExlc3NvbiBuaW5lIChz dW10Y2l0YSkKClNvIGZhciB3ZSBoYXZlIGJlZW4gZG9pbmcgcHJldHR5IHdlbGwgd2l0aCB0aGUg c2VsYnJpIHdlIGhhdmUgaGFkIGF0IGhhbmQuIEhvd2V2ZXIsIHRoZXJlIGlzIGEgZmluaXRlIGFt b3VudCBvZiBkZWZpbmVkIHNlbGJyaSBvdXQgdGhlcmUsIGFuZCBpbiBtYW55IGNhc2VzIHRoZSBz dW10aSBwbGFjZXMgYXJlIG5vdCB1c2VmdWwgZm9yIHdoYXQgd2UgaGFkIGluIG1pbmQuIFdoYXQg aWYsIHNheSwgaSB3YW50IHRvIHNheSB0aGF0IEkgYW0gdHJhbnNsYXRpbmcgdXNpbmcgYSBjb21w dXRlcj8gVGhlcmUgaXMgbm8gcGxhY2UgaW4gdGhlIHN0cnVjdHVyZSBvZiAnJ2ZhbnZhJycgdG8g c3BlY2lmeSB3aGF0IHRvb2wgSSB0cmFuc2xhdGUgd2l0aCwgc2luY2UsIG1vc3Qgb2YgdGhlIHRp bWUsIHRoYXQgaXMgbm90IG5lY2Vzc2FyeS4gTm90IHRvIHdvcnJ5LCB0aGlzIGxlc3NvbiBpcyBv biBob3cgdG8gYWRkIGFkZGl0aW9uYWwgc3VtdGkgcGxhY2VzIHRvIHRoZSBzZWxicmkuCgoKClRo ZSBtb3N0IGJhc2ljIHdheSB0byBhZGQgc3VtdGkgcGxhY2VzIGFyZSB3aXRoICcnZmknbyBTRUxC UkkgZmUndScnICh5ZXMsIGFub3RoZXIgZXhhbXBsZSBvZiBhIGZhJ29ybWEnbywgJydmZSd1Jycu IEl0J3MgYWxtb3N0IG5ldmVyIG5lY2Vzc2FyeSwgc28gdGhpcyBtaWdodCBiZSB0aGUgbGFzdCB0 aW1lIHlvdSBldmVyIHNlZSBpdC4pCgpJbiBiZXR3ZWVuIHRoZXNlIHR3byB3b3JkcyBnb2VzIGEg c2VsYnJpLCBhbmQgbGlrZSAnJ2xvIFNFTEJSSSBrdScnLCAnJ2ZpJ28gU0VMQlJJIGZlJ3UnJyBl eHRyYWN0cyB0aGUgeDEgb2YgdGhlIHNlbGJyaSBwdXQgaW50byBpdC4gSG93ZXZlciwgd2l0aCAn J2ZpJ28gU0VMQlJJIGZlJ3UnJywgdGhlIHNlbGJyaSBwbGFjZSBpcyBjb252ZXJ0ZWQsIG5vdCB0 byBhIHN1bXRpLCBidXQgdG8gYSAnJ3N1bXRjaXRhJycsIG1lYW5pbmcg4oCcc3VtdGktbGFiZWzi gJ0sIHdpdGggdGhlIHBsYWNlIHN0cnVjdHVyZSBvZiB0aGUgeDEgb2YgdGhlIHNlbGJyaSBpdCBj b252ZXJ0ZWQuIFRoaXMgJydzdW10Y2l0YScnIHRoZW4gYWJzb3JicyB0aGUgbmV4dCBzdW10aS4g T25lIGNvdWxkIHNheSB0aGF0IHVzaW5nIGEgJydzdW10Y2l0YScnLCB5b3UgaW1wb3J0IGEgc3Vt dGkgcGxhY2UgZnJvbSBhbm90aGVyIHNlbGJyaSwgYW5kIGFkZCBpdCB0byB0aGUgYnJpZGkgYmVp bmcgc2FpZC4KCk5vdGU6IFNvbWV0aW1lcywgZXNwZWNpYWxseSBpbiBvbGRlciB0ZXh0cywgdGhl IHRlcm0g4oCcdGFn4oCdIG9yIOKAnG1vZGFs4oCdIGlzIHVzZWQgZm9yICcnc3VtdGNpdGEnJy4g SWdub3JlIHRob3NlIHB1bnkgRW5nbGlzaCBleHByZXNzaW9ucy4gV2UgdGVhY2ggcHJvcGVyIExv amJhbiBoZXJlLgoKCgpXaGlsZSBpdCBpcyBoYXJkIHRvIGdyYXNwIHRoZSBwcm9jZXNzIGZyb20g cmVhZGluZyBhYm91dCBpdCwgYW4gZXhhbXBsZSBjYW4gcGVyaGFwcyBzaG93IGl0cyBhY3R1YWwg c2ltcGxpY2l0eToKCl9fJydza2FtaScnX18g4oCceDEgaXMgYSBjb21wdXRlciBmb3IgcHVycG9z ZSB4MuKAnQoKX18nJ3BpbG5vJydfXyDigJx4MSB1c2VzIHgyIGFzIGEgdG9vbCBmb3IgZG9pbmcg eDPigJ0KCgoKJydtaSBmYW52YSB0aSBmaSdvIHNlIHBpbG5vIHtmZSd1fSBsbyBza2FtaSB7a3V9 e3ZhdX0nJyAtIOKAnEkgdHJhbnNsYXRlIHRoaXMgd2l0aCBhIGNvbXB1dGVy4oCdIFRoZSB4MiBv ZiAnJ3BpbG5vJycsIHdoaWNoIGlzIHRoZSB4MSBvZiAnJ3NlIHBpbG5vJycgaXMgYSBwbGFjZSBz dHJ1Y3R1cmUgZm9yIGEgdG9vbCBiZWluZyB1c2VkIGJ5IHNvbWVvbmUuIFRoaXMgcGxhY2Ugc3Ry dWN0dXJlIGlzIGNhcHR1cmVkIGJ5ICcnZmknbyBTRUxCUkkgZmUndScnLCBhZGRlZCB0byB0aGUg bWFpbiBzZWxicmksIGFuZCB0aGVuIGZpbGxlZCBieSAnJ2xvIHNrYW1pJycuIFRoZSBpZGVhIG9m ICcnc3VtdGNpdGEnJyBpcyBzb21ldGltZXMgZXhwcmVzc2VkIGluIEVuZ2xpc2ggdXNpbmcgdGhl IGZvbGxvd2luZyB0cmFuc2xhdGlvbjoKCuKAnEkgdHJhbnNsYXRlIHRoaXMgd2l0aC10b29sOiBB IGNvbXB1dGVy4oCdCgoKCkEgJydzdW10Y2l0YScnIGNhbiBvbmx5IGFic29yYiBvbmUgc3VtdGks IHdoaWNoIGlzIGFsd2F5cyB0aGUgZm9sbG93aW5nIG9uZS4gQWx0ZXJuYXRpdmVseSwgdGhlICcn c3VtdGNpdGEnJyBjb25zdHJ1Y3QgY2FuIGJlIHRlcm1pbmF0ZWQgd2l0aCAnJ2t1JycsIGluIHdo aWNoIGNhc2UgYSAnJ3pvJ2UnJyBpcyBpbXBsaWVkIHRvIGZpbGwgdGhlICcnc3VtdGNpdGEnJy4g T3IsIG9uZSBjb3VsZCBpbWFnaW5lIGFuIGVsaWRlZCBzdW10aSBiZWluZyB0ZXJtaW5hdGVkIHdp dGggdGhlICcna3UnJy4KCl9fJyd6dWt0ZScnX18g4oCceDEgaXMgYSB2b2xpdGlvbmFsIGVudGl0 eSBjYXJyeWluZyBvdXQgYWN0aW9uIHgyIGZvciBwdXJwb3NlIHgz4oCdCgoKCicnZmknbyB6dWt0 ZSB7ZmUndX0ga3UgbG8gc2thbWkge2t1fSBjdSBwaWxubyBsbyBsb2pibyB7a3V9e3ZhdX0nJyAt IOKAnFdpdGggdm9saXRpb24sIGEgY29tcHV0ZXIgdXNlZCBzb21ldGhpbmcgTG9qYmFuaWPigJ0g KHBlcmhhcHMgaW1wbHlpbmcgdGhhdCBhIExvamJhbmljIGNvbXB1dGVyIHdlbnQgc2VudGllbnQ/ IFRvdWdoIGl0IGRvZXMgbm90IHNwZWNpZnkgd2hvIGhhZCB2b2xpdGlvbi4gSXQgY291bGQganVz dCBiZSB0aGUgcHJvZ3JhbW1lciB3aG8gcHJvZ3JhbW1lZCB0aGUgY29tcHV0ZXIgLSBob3cgYm9y aW5nLikKCgoKV2hhdCBkb2VzICcnbWkgamltcGUgZmkgbGEgbG9qYmFuIHtrdX0gZmknbyBzZSB0 YXZsYSB7ZmUndX0gbWknJyBzdGF0ZT8KCgoKQW5zd2VyOiB+fmdyZXksZ3JleTrigJxJIHVuZGVy c3RhbmQgc29tZXRoaW5nIGFib3V0IExvamJhbiwgc3Bva2VuIHRvIG1l4oCdfn4KCgoKUHV0dGlu ZyB0aGUgJydzdW10Y2l0YScnIHJpZ2h0IGluIGZyb250IG9mIHRoZSBzZWxicmkgYWxzbyBtYWtl cyBpdCBzZWxmLXRlcm1pbmF0ZSwgc2luY2Ugc3VtdGNpdGEgb25seSBjYW4gYWJzb3JiIHN1bXRp LCBhbmQgbm90IHNlbGJyaS4gVGhpcyBmYWN0IHdpbGwgYmUgb2YgaW1wb3J0YW5jZSBpbiBuZXh0 IGxlc3NvbiwgYXMgeW91IHdpbGwgc2VlLgoKCgpTYWRseSwgJydmaSdvJycgaXMgbm90IHVzZWQg dmVyeSBvZnRlbiBkZXNwaXRlIGl0cyBmbGV4aWJpbGl0eS4gV2hhdCBJUyB1c2VkIHZlcnkgb2Z0 ZW4sIHRob3VnaCwgYXJlIEJBSS4gQkFJIGlzIGEgY2xhc3Mgb2YgTG9qYmFuIHdvcmRzLCB3aGlj aCBpbiB0aGVtc2VsdmVzIGFjdCBhcyAnJ3N1bXRjaXRhJycuIEFuIGV4YW1wbGUgb2YgdGhpcyBp cyAnJ3p1J2UnJywgdGhlIEJBSSBmb3IgJyd6dWt0ZScnLiBHcmFtYXRpY2FsbHksICcnenUnZScn IGlzIHRoZSBzYW1lIGFzICcnZmknbyB6dWt0ZSBmZSd1JycuIFRodXMsIHRoZSBhYm92ZSBleGFt cGxlIGNvdWxkIGJlIHJlZHVjZWQgdG86CgonJ3p1J2Uga3UgbG8gc2thbWkge2t1fSBjdSBwaWxu byBsbyBsb2pibyB7a3V9IHt2YXV9JycuIFRoZXJlIGV4aXN0IHNvbWV0aGluZyBsaWtlIDYwIEJB SSwgYW5kIGEgbG90IG9mIHRoZXNlIGFyZSB2ZXJ5IHVzZWZ1bCBpbmRlZWQuIEZ1cnRlcm1vcmUs IEJBSSBjYW4gYWxzbyBiZSBjb252ZXJ0ZWQgd2l0aCAnJ3NlJycgYW5kIGZyaWVuZHMsIG1lYW5p bmcgdGhhdCAnJ3NlIHp1J2UnJyBpcyBlcXVhbCB0byAnJ2ZpJ28gc2UgenVrdGUgZmUndScnLCB3 aGljaCByZXN1bHRzIGluIGEgZ3JlYXQgZGVhbCBtb3JlIEJBSS4KCgoKISFMb2piYW4gTGVzc29u cyAtIExlc3NvbiB0ZW4gKFBVLCBGQWhBLCBaSSwgVkEsIFpFaEEsIFZFaEEpCgpIb3cgdW5mYW1p bGlhciB0byB0aGUgRW5nbGlzaC1zcGVha2VyIGEgbGFuZ3VhZ2UgTG9qYmFuIGlzIHdoZW4gb25l IGNhbiByZWFkIHRocm91Z2ggbmluZSBsZXNzb25zIG9mIExvamJhbiBncmFtbWFyIHdpdGhvdXQg bWVldGluZyBhIHRlbnNlIG9uY2UuIFRoaXMgaXMgYmVjYXVzZSwgdW5saWtlIG1hbnkgbmF0dXJh bCBsYW5ndWFnZXMgKG1vc3QgSW5kby1FdXJvcGVhbiBvbmVzLCBmb3IgaW5zdGFuY2UpLCBhbGwg dGVuc2VzIGluIExvamJhbiBhcmUgb3B0aW9uYWwuIFNheWluZyAnJ21pIGNpdGthIGxvIGNpcmxh IHtrdX0nJyBjYW4gbWVhbiDigJxJIGVhdCBjaGVlc2XigJ0gb3Ig4oCcSSBhdGUgdGhlIGNoZWVz ZeKAnSBvciDigJxJIGFsd2F5cyBlYXQgY2hlZXNl4oCdIG9yIOKAnEluIGEgbW9tZW50LCBpIHdp bGwgaGF2ZSBqdXN0IGZpbmlzaGVkIGVhdGluZyBjaGVlc2XigJ0uIENvbnRleHQgcmVzb2x2ZXMg d2hhdCBpcyBjb3JyZWN0LCBhbmQgaW4gbW9zdCBjb252ZXJzYXRpb24sIHRlbnNlcyBhcmUgbm90 IG5lZWRlZCBhdCBhbGwuIEhvd2V2ZXIsIHdoZW4gaXQncyBuZWVkZWQgaXQncyBuZWVkZWQsIGFu ZCBpdCBtdXN0IGJlIHRhdWdodC4gRnVydGhlcm1vcmUsIExvamJhbiB0ZW5zZXMgYXJlIHVudXN1 YWwgYmVjYXVzZSB0aGV5IHRyZWF0IHRpbWUgYW5kIHNwYWNlIGZ1bmRhbWVudGFsbHkgdGhlIHNh bWUgLSBzYXlpbmcgdGhhdCBJIHdvcmtlZCBhIGxvbmcgdGltZSBhZ28gaXMgbm90IGdyYW1tYXRp Y2FsbHkgZGlmZmVyZW50IHRoYW4gc2F5aW5nIEkgd29yayBmYXIgYXdheSB0byB0aGUgbm9ydGgu CgpMaWtlIG1hbnkgb3RoZXIgbGFuZ3VhZ2VzLCB0aGUgTG9qYmFuIHRlbnNlIHN5c3RlbSBpcyBw ZXJoYXBzIHRoZSBtb3N0IGRpZmZpY3VsdCBwYXJ0IG9mIHRoZSBsYW5ndWFnZS4gVW5saWtlIG1h bnkgb3RoZXIgbGFuZ3VhZ2VzIHRob3VnaCwgaXQncyBwZXJmZWN0bHkgcmVndWxhciBhbmQgbWFr ZXMgc2Vuc2UuIFNvIGZlYXIgbm90LCBmb3IgaXQgd2lsbCBub3QgaW52b2x2ZSBzd2VhdGluZyB0 byBsZWFybiBob3cgdG8gbW9kaWZ5IHRoZSBzZWxicmkgb3IgYW55dGhpbmcgc2lsbHkgbGlrZSB0 aGF0LgoKCgpObywgaW4gdGhlIExvamJhbiB0ZW5zZSBzeXN0ZW0sIGFsbCB0ZW5zZXMgYXJlIHN1 bXRjaXRhLCB3aGljaCB3ZSBoYXZlIGNvbnZlbmllbnRseSBqdXN0IG1hZGUgb3Vyc2VsdmVzIGZh bWlsaWFyIHdpdGguIE9rYXkgb2theSwgdGVjaG5pY2FsbHksIHRlbnNlcyBhcmUgc2xpZ2h0bHkg ZGlmZmVyZW50IGZyb20gb3RoZXIgc3VtdGNpdGEsIGJ1dCB0aGlzIGRpZmZlcmVuY2UgaXMgYWxt b3N0IGluc2lnbmlmaWNhbnQsIGFuZCB3aWxsIGJlIHdvbid0IGJlIGV4cGxhaW5lZCB1bnRpbCBs YXRlci4gSW4gbW9zdCBhc3BlY3RzIHRoZXkgYXJlIGxpa2UgYWxsIG90aGVyIHN1bXRjaXRhOyB0 aGV5IGFyZSB0ZXJtaW5hdGVkIGJ5ICcna3UnJywgbWFraW5nIGl0IGV4cGxpY2l0IHRoYXQgUFUg aXMgdGVybWluYXRlZCBieSAnJ2t1JycuCgpUaGVyZSBhcmUgbWFueSBkaWZmZXJlbnQga2luZHMg b2YgdGVuc2Utc3VtdGNpdGEsIHNvIGxldCdzIHN0YXJ0IGF0IHRoZSBvbmVzIG1vc3QgZmFtaWxp YXIgdG8gRW5nbGlzaC1zcGVha2Vycy4KCl9fJydwdScnX18gLSBzdW10Y2l0YTogYmVmb3JlIHtz dW10aX0KCl9fJydjYScnX18gLSBzdW10Y2l0YTogYXQgdGhlIHNhbWUgdGltZSBhcyB7c3VtdGl9 CgpfXycnYmEnJ19fIC0gc3VtdGNpdGE6IGFmdGVyIHtzdW10aX0KCgoKVGhlc2UgYXJlIGxpa2Ug dGhlIEVuZ2xpc2ggY29uY2VwdHMg4oCcYmVmb3Jl4oCdLCDigJxub3figJ0gYW5kIOKAnGFmdGVy 4oCdLiBJbiBhY3R1YWxpdHkgdGhvdWdoLCBvbmUgY291bGQgYXJndWUgdGhhdCB0d28gcG9pbnQt bGlrZSBldmVudHMgY2FuIG5ldmVyIG9jY3VyIGV4YWN0bHkgc2ltdWx0YW5lb3VzbHksIHJlbmRl cmluZyAnJ2NhJycgdXNlbGVzcy4gQnV0ICcnY2EnJyBleHRlbmRzIHNsaWdodGx5IGludG8gdGhl IHBhc3QgYW5kIHRoZSBmdXR1cmUsIG1lYW5pbmcganVzdCDigJxhYm91dCBub3figJ0uIFRoaXMg aXMgYmVjYXVzZSBodW1hbiBiZWluZ3MgZG9uJ3QgcGVyY2VpdmUgdGltZSBpbiBhIHBlcmZlY3Rs eSBsb2dpY2FsIHdheSwgYW5kIHRoZSBMb2piYW4gdGVuc2Ugc3lzdGVtIHJlZmxlY3RzIHRoYXQu CgoKClNpZGUgbm90ZTogSXQgd2FzIGFjdHVhbGx5IHN1Z2dlc3RlZCBtYWtpbmcgdGhlIExvamJh biB0ZW5zZSBzeXN0ZW0gcmVsYXRpdmlzdGljLiBUaGF0IGlkZWEsIGhvd2V2ZXIsIHdhcyBkcm9w cGVkLCBiZWNhdXNlIGl0IGlzIGNvdW50ZXItaW50dWl0aXZlLCBhbmQgd291bGQgbWVhbiB0aGF0 IHRvIGxlYXJuIExvamJhbiwgb25lIHdvdWxkIGhhdmUgdG8gbGVhcm4gdGhlIHRoZW9yeSBvZiBy ZWxhdGl2aXR5IGZpcnN0LiAgCgoKClNvLCBob3cgd291bGQgeW91IHNheSDigJxJIGV4cHJlc3Mg dGhpcyBhZnRlciBJIGNhbWUgaGVyZT/igJ0gKHBvaW50aW5nIHRvIGEgcGFwZXIpCgoKCkFuc3dl cjogfn5ncmV5LGdyZXk6JydtaSBjdXNrdSB0aSBiYSBsbyBudSBtaSBrbGFtYSB0aSB7dmF1fSB7 a2VpIHtrdX0ge3ZhdX0nJ35+CgoKClVzdWFsbHkgd2hlbiBzcGVha2luZywgd2UgZG8gbm90IG5l ZWQgdG8gc3BlY2lmeSB3aGljaCBldmVudCB0aGlzIGFjdGlvbiBpcyBpbiB0aGUgcGFzdCByZWxh dGl2ZSB0by4gSW46IOKAnEkgZ2F2ZSBhIGNvbXB1dGVyIGF3YXnigJ0sIHdlIGNhbiBhc3N1bWUg dGhhdCB0aGUgYWN0aW9uIGhhcHBlbmVkIHJlbGF0aXZlIHRvIOKAnG5vd+KAnSwgYW5kIHRodXMg d2UgY2FuIGVsaWRlIHRoZSBzdW10aSBvZiB0aGUgc3VtdGNpdGEsIGJlY2F1c2UgaXQncyBvYnZp b3VzOgoKJydwdSBrdSBtaSBkdW5kYSBsbyBza2FtaSB7a3V9IHt2YXV9Jycgb3IKCicnbWkgZHVu ZGEgbG8gc2thbWkge2t1fSBwdSB7a3V9IHt2YXV9Jycgb3IsIG1vcmUgY29tbW9ubHkKCicnbWkg cHUge2t1fSBkdW5kYSBsbyBza2FtaSB7a3V9IHt2YXV9JycuIFRoZSBzdW10aSB3aGljaCBmaWxs cyB0aGUgc3VtdGNpdGEgaXMgYW4gaW1wbGllZCAnJ3pvJ2UnJywgd2hpY2ggaXMgYWxtb3N0IGFs d2F5cyB1bmRlcnN0b29kIGFzIHJlbGF0aXZlIHRvIHRoZSBzcGVha2VyJ3MgdGltZSBhbmQgcGxh Y2UgKHRoaXMgaXMgZXNwZWNpYWxseSBpbXBvcnRhbnQgd2hlbiBzcGVha2luZyBhYm91dCBsZWZ0 IGFuZCByaWdodCkuIElmIHNwZWFraW5nIGFib3V0IHNvbWUgZXZlbnRzIHRoYXQgaGFwcGVuZWQg c29tZSBvdGhlciB0aW1lIHRoYW4gdGhlIHByZXNlbnQsIGl0IGlzIHNvbWV0aW1lcyBhc3N1bWVk IHRoYXQgYWxsIHRlbnNlcyBhcmUgcmVsYXRpdmUgdG8gdGhhdCBldmVudCB3aGljaCBpcyBiZWlu ZyBzcG9rZW4gYWJvdXQuIEluIG9yZGVyIHRvIGNsYXJpZnkgdGhhdCBhbGwgdGVuc2VzIGFyZSBy ZWxhdGl2ZSB0byB0aGUgc3BlYWtlcidzIGN1cnJlbnQgcG9zaXRpb24sIHRoZSB3b3JkICcnbmF1 JycgY2FuIGJlIHVzZWQgYXQgYW55IHRpbWUuIEFub3RoZXIgd29yZCwgJydraScnIG1hcmtzIGEg dGVuc2Ugd2hpY2ggaXMgdGhlbiBjb25zaWRlcmVkIHRoZSBuZXcgc3RhbmRhcmQuIFRoYXQgd2ls bCBiZSB0YXVnaHQgd2F5IGxhdGVyLgoKX18nJ25hdScnX18gdXBkYXRlcyB0ZW1wb3JhbCBhbmQg c3BhY2lhbCBmcmFtZSBvZiByZWZlcmVuY2UgdG8gdGhlIHNwZWFrZXIncyBjdXJyZW50IGhlcmUg YW5kIG5vdy4KCgoKX18nJ2d1Z2RlJydfXyA9IOKAnHgxIGlzIHRoZSBjb3VudHJ5IG9mIHBlb3Bs ZSB4MiB3aXRoIGxhbmQvdGVycml0b3J5IHgz4oCdCgoKCkFsc28gbm90ZSB0aGF0ICcnbWkgcHUg e2t1fSBrbGFtYSBsbyBtZXJrbyBndWdkZSB7a3V9IHt2YXV9JycsIOKAnEkgd2VudCB0byBBbWVy aWNh4oCdLCBkb2VzIG5vdCBpbXBseSB0aGF0IEknbSBub3Qgc3RpbGwgdHJhdmVsaW5nIHRvIFVT QSwgb25seSB0aGF0IGl0IHdhcyBhbHNvIHRydWUgc29tZSB0aW1lIGluIHRoZSBwYXN0LCBmb3Ig aW5zdGFuY2UgZml2ZSBtaW51dGVzIGFnby4KCgoKQXMgbWVudGlvbmVkLCBzcGFjaWFsIGFuZCB0 ZW1wb3JhbCB0aW1lIHRlbnNlcyBhcmUgdmVyeSBtdWNoIGFsaWtlLiBDb250cmFzdCB0aGUgcHJl dmlvdXMgdGhyZWUgdGltZSB0ZW5zZXMgd2l0aCB0aGVzZSBmb3VyIHNwYWNpYWwgdGVuc2VzOgoK X18nJ3p1J2EnJ19fIHN1bXRjaXRhOiBsZWZ0IG9mIHtzdW10aX0KCl9fJydjYSd1JydfXyBzdW10 Y2l0YTogaW4gZnJvbnQgb2Yge3N1bXRpfQoKX18nJ3JpJ3UnJ19fIHN1bXRjaXRhOiByaWdodCBv ZiB7c3VtdGl9CgpfXycnYnUndScnX18gc3VtdGNpdGE6IGF0IHRoZSBzYW1lIHBsYWNlIGFzIHtz dW10aX0gKHNwYWNpYWwgZXF1aXZhbGVudCBvZiAnJ2NhJycpCgoKCl9fJydvJ28nJ19fOiBhdHRp dHVkaW5hbDogY29tcGxleCBwdXJlIGVtb3Rpb246IHBhdGllbmNlIC0gdG9sZXJhbmNlIC0gYW5n ZXIKCgoKV2hhdCB3b3VsZCAnJy5vJ29uYWkgcmkndSB7a3V9IG51IGxvIHByZW51IHtrdX0gY3Ug ZGFyeGkgbG8gZ2Vya3UgcHUge2t1fSB7a3V9IHt2YXV9IHtrZWl9IHt2YXV9JycgbWVhbj8gKG5v dGljZSB0aGUgZmlyc3QgZWxpZGVkIGt1ISkKCl9fJydkYXJ4aScnX18geDEgYmVhdHMvaGl0cyB4 MiB3aXRoIGluc3RydW1lbnQgeDMgYXQgbG9jdXMgeDQKCgoKQW5zd2VyOiB+fmdyZXksZ3JleTri gJx7YW5nZXIhfSBUbyB0aGUgcmlnaHQgKG9mIHNvbWV0aGluZywgcHJvYmFibHkgbWUpIGFuZCBp biB0aGUgcGFzdCAob2Ygc29tZSBldmVudCksIHNvbWV0aGluZyBpcyBhbiBldmVudCBvZiBhIHBl cnNvbiBiZWF0aW5nIGEgZG9nLuKAnSBvciDigJxBIG1hbiBoaXQgYSBkb2cgdG8gbXkgcmlnaHQh 4oCdfn4KCgoKSWYgdGhlcmUgYXJlIHNldmVyYWwgdGVuc2Ugc3VtdGNpdGEgaW4gb25lIGJyaWRp LCB0aGUgcnVsZSBpcyB0aGF0IHlvdSByZWFkIHRoZW0gZnJvbSBsZWZ0IHRvIHJpZ2h0LCB0aGlu a2luZyBpdCBhcyBhIHNvIGNhbGxlZCDigJxpbWFnaW5hcnkgam91cm5leeKAnSwgV2hlcmUgeW91 IGJlZ2luIGF0IGFuIGltcGxpZWQgcG9pbnQgaW4gdGltZSBhbmQgc3BhY2UgKGRlZmF1bHQ6IHRo ZSBzcGVha2VyJ3Mgbm93IGFuZCBoZXJlKSwgYW5kIHRoZW4gZm9sbG93IHRoZSBzdW10Y2l0YSBv bmUgYXQgYSB0aW1lIGZyb20gbGVmdCB0byByaWdodC4KCkV4YW1wbGUKCicnbWkgcHUge2t1fSBi YSB7a3V9IGppbXBlIGZpIGxvIGxvamJvIGZhJ29ybWEnbyB7a3V9IHt2YXV9JycgPSDigJxBdCBz b21lIHRpbWUgaW4gdGhlIHBhc3QsIEkgd2lsbCBiZSBhYm91dCB0byBrbm93IGFib3V0IGZhJ29y bWEnb3Mu4oCdCgonJ21pIGJhIHtrdX0gcHUge2t1fSBqaW1wZSBmaSBsbyBsb2pibyBmYSdvcm1h J28ge2t1fSB7dmF1fScnIOKAnEF0IHNvbWUgcG9pbnQgaW4gdGhlIGZ1dHVyZSwgSSB3aWxsIGhh dmUgdW5kZXJzdG9vZCBhYm91dCBmYSdvcm1hJ29zLuKAnQoKU2luY2Ugd2UgZG8gbm90IHNwZWNp ZnkgdGhlIGFtb3VudCBvZiB0aW1lIHdlIG1vdmUgYmFjayBvciBmb3J0aCwgdGhlIHVuZGVyc3Rh bmRpbmcgY291bGQgaW4gYm90aCBjYXNlcyBoYXBwZW4gaW4gdGhlIGZ1dHVyZSBvciB0aGUgcGFz dCBvZiB0aGUgcG9pbnQgb2YgcmVmZXJlbmNlLgoKCgpBbHNvLCBpZiBzcGFjaWFsIGFuZCB0ZW1w b3JhbCB0ZW5zZXMgYXJlIG1peGVkLCB0aGUgcnVsZSBpcyB0byBhbHdheXMgcHV0IHRlbXBvcmFs IGJlZm9yZSBzcGFjaWFsLiBJZiB0aGlzIHJ1bGUgaXMgdmlvbGF0ZWQsIGl0IGNhbiBzb21ldGlt ZXMgcmVzdWx0IGluIHN5bnRhY3RpY2FsIGFtYmlndWl0eSwgd2hpY2ggTG9qYmFuIGRvZXMgbm90 IHRvbGVyYXRlLgoKCgpTdXBwb3NlIHdlIHdhbnQgdG8gc3BlY2lmeSB0aGF0IHRoZSBhIG1hbiBo aXQgYSBkb2cganVzdCBhIG1pbnV0ZSBhZ28uIFRoZSB3b3JkcyAnJ3ppJycsICcnemEnJyBhbmQg Jyd6dScnIHNwZWNpZmllcyBhIHNob3J0LCB1bnNwZWNpZmllZCAocHJlc3VtYWJseSBtZWRpdW0p IGFuZCBsb25nIGRpc3RhbmNlIGluIHRpbWUuIE5vdGljZSB0aGUgdm93ZWwgb3JkZXIgJydpJycs ICcnYScnIGFuZCAnJ3UnJy4gVGhpcyBvcmRlciBhcHBlYXJzIGFnYWluIGFuZCBhZ2FpbiBpbiBM b2piYW4sIGFuZCBtaWdodCBiZSB3b3J0aCB0byBtZW1vcml6ZS4g4oCcU2hvcnTigJ0gYW5kIOKA nGxvbmfigJ0gaW4gYXJlIGFsd2F5cyBjb250ZXh0IGRlcGVuZGVudCwgcmVsYXRpdmUgYW5kIHN1 YmplY3RpdmUuIFR3byBodW5kcmVkIHllYXJzIGlzIGEgc2hvcnQgdGltZSBmb3IgYSBzcGVjaWVz IHRvIGV2b2x2ZSwgYnV0IGEgbG9uZyB0aW1lIHRvIHdhaXQgZm9yIHRoZSBidXMuCgpfXycnemkn J19fIHN1bXRjaXRhOiBPY3VycmluZyB0aGUgc21hbGwgZGlzdGFuY2Ugb2Yge3N1bXRpfSBpbiB0 aW1lIGZyb20gcG9pbnQgb2YgcmVmZXJlbmNlIAoKX18nJ3phJydfXyBzdW10Y2l0YTogT2N1cnJp bmcgdGhlIHVuc3BlY2lmaWVkKG1lZGl1bSkgZGlzdGFuY2Ugb2Yge3N1bXRpfSBpbiB0aW1lIGZy b20gcG9pbnQgb2YgcmVmZXJlbmNlIAoKX18nJ3p1JydfXyBzdW10Y2l0YTogT2N1cnJpbmcgdGhl IGZhciBkaXN0YW5jZSBvZiB7c3VtdGl9IGluIHRpbWUgZnJvbSB0aGUgcG9pbnQgb2YgcmVmZXJl bmNlIAoKCgpTaW1pbGFybHksIHNwYWNpYWwgZGlzdGFuY2UgaXMgbWFya2VkIGJ5ICcndmknJywg Jyd2YScnIGFuZCAnJ3Z1JycgZm9yIHNob3J0LCB1bnNwZWNpZmllZCAobWVkaXVtKSBhbmQgbG9u ZyBkaXN0YW5jZSBpbiBzcGFjZS4KCl9fJyd2aScnX18gc3VtdGNpdGE6IE9jdXJyaW5nIHRoZSBz bWFsbCBkaXN0YW5jZSBvZiB7c3VtdGl9IGluIHNwYWNlIGZyb20gcG9pbnQgb2YgcmVmZXJlbmNl IAoKX18nJ3ZhJydfXyBzdW10Y2l0YTogT2N1cnJpbmcgdGhlIHVuc3BlY2lmaWVkKG1lZGl1bSkg ZGlzdGFuY2Ugb2Yge3N1bXRpfSBpbiBzcGFjZSBmcm9tIHBvaW50IG9mIHJlZmVyZW5jZSAKCl9f Jyd2dScnX18gc3VtdGNpdGE6IE9jdXJyaW5nIHRoZSBmYXIgZGlzdGFuY2Ugb2Yge3N1bXRpfSBp biBzcGFjZSBmcm9tIHRoZSBwb2ludCBvZiByZWZlcmVuY2UgCgpfXycnZ3Vua2EnJ19fIOKAnHgx IHdvcmtzIGF0IHgyIHdpdGggb2JqZWN0aXZlIHgz4oCdCgoKClRyYW5zbGF0ZTogJydiYSB7a3V9 IHphIGt1IG1pIHZ1IHtrdX0gZ3Vua2Ege3ZhdX0nJwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKA nFNvbWUgdGltZSBpbiB0aGUgZnV0dXJlLCBJIHdpbGwgd29yayBhIHBsYWNlIGxvbmcgYXdheeKA nX5+CgpOb3RlOiBQZW9wbGUgcmFyZWx5IHVzZSAnJ3ppJycsICcnemEnJyBvciAnJ3p1Jycgd2l0 aG91dCBhICcncHUnJyBvciAnJ2JhJycgaW4gZnJvbnQgb2YgaXQuIFRoaXMgaXMgYmVjYXVzZSBt b3N0IHBlb3BsZSBhbHdheXMgbmVlZCB0byBzcGVjaWZ5IHBhc3Qgb3IgZnV0dXJlIGluIHRoZWly IG5hdGl2ZSBsYW5ndWFnZS4gV2hlbiB5b3UgdGhpbmsgYWJvdXQgaXQgTG9qYmFuaWNhbGx5LCBt b3N0IG9mIHRoZSB0aW1lIHRoZSB0aW1lLWRpcmVjdGlvbiBpcyBvYnZpb3VzLCBhbmQgdGhlICcn cHUnJyBvciAnJ2JhJycgc3VwZXJmbHVvdXMhCgoKClRoZSBvcmRlciBpbiB3aGljaCBkaXJlY3Rp b24tc3VtdGNpdGEgYW5kIGRpc3RhbmNlLXN1bXRjaXRhIGFyZSBzYWlkIG1ha2VzIGEgZGlmZmVy ZW5jZS4gUmVtZW1iZXIgdGhhdCB0aGUgbWVhbmluZ3Mgb2Ygc2V2ZXJhbCB0ZW5zZSB3b3JkcyBw bGFjZWQgdG9nZXRoZXIgYXJlIHBpY3R1cmVkIGJ5IGFuIGltYWdpbmFyeSBqb3VybmV5IHJlYWRp bmcgZnJvbSBsZWZ0IHRvIHJpZ2h0LiBUaHVzICcncHUgenUnJyBpcyDigJxhIGxvbmcgdGltZSBh Z2/igJ0gd2hpbGUgJyd6dSBwdScnIGlzIOKAnGluIHRoZSBwYXN0IG9mIHNvbWUgcG9pbnQgaW4g dGltZSB3aGljaCBpcyBhIGxvbmcgdGltZSB0b3dhcmQgdGhlIGZ1dHVyZSBvciB0aGUgcGFzdCBv ZiBub3figJ0uIEluIHRoZSBmaXJzdCBleGFtcGxlLCAnJ3B1Jycgc2hvd3MgdGhhdCB3ZSBiZWdp biBpbiB0aGUgcGFzdCwgJyd6dScnIHRoZW4gdGhhdCBpdCBpcyBhIGxvbmcgdGltZSBiYWNrd2Fy ZHMuIEluIHRoZSBzZWNvbmQgZXhhbXBsZSwgJyd6dScnIHNob3dzIHRoYXQgd2UgYmVnaW4gYXQg c29tZSBwb2ludCBmYXIgYXdheSBpbiB0aW1lIGZyb20gbm93LCAnJ3B1JycgdGhlbiwgdGhhdCB3 ZSBtb3ZlIGJhY2t3YXJkcyBmcm9tIHRoYXQgcG9pbnQuIFRodXMgJydwdSB6dScnIGlzIGFsd2F5 cyBpbiB0aGUgcGFzdC4gJyd6dSBwdScnIGNvdWxkIGJlIGluIHRoZSBmdXR1cmUuIFRoZSBmYWN0 IHRoYXQgdGhlc2UgdGltZSB0ZW5zZXMgY29tYmluZSBpbiB0aGlzIHdheSBpcyBvbmUgb2YgdGhl IGRpZmZlcmVuY2VzIGJldHdlZW4gdGVuc2Ugc3VtdGNpdGEgYW5kIG90aGVyIHN1bXRjaXRhLiBU aGUgbWVhbmluZ3Mgb2Ygb3RoZXIgc3VtdGNpdGEgYXJlIG5vdCBhbHRlcmVkIGJ5IHRoZSBwcmVz ZW5jZSBvZiBhZGRpdGlvbmFsIHN1bXRjaXRhIGluIGEgYnJpZGkuCgoKCkFzIGJyaWVmbHkgaW1w bGllZCBlYXJsaWVyLCBhbGwgdGhlc2UgY29uc3RydWN0cyBiYXNpY2FsbHkgdHJlYXQgYnJpZGkg YXMgaWYgdGhleSB3ZXJlIHBvaW50LWxpa2UgaW4gdGltZSBhbmQgc3BhY2UuIEluIGFjdHVhbGl0 eSwgbW9zdCBldmVudHMgcGxheSBvdXQgb3ZlciBhIHNwYW4gb2YgdGltZSBhbmQgc3BhY2UuIElu IHRoZSBmb2xsb3dpbmcgZmV3IHBhcmFncmFwaHMsIHdlIHdpbGwgbGVhcm4gaG93IHRvIHNwZWNp ZnkgaW50ZXJ2YWxzIG9mIHRpbWUgYW5kIHNwYWNlLgoKCgpfXycnemUnaScnX18gc3VtdGNpdGE6 IHNwYW5uaW5nIG92ZXIgdGhlIHNob3J0IHRpbWUgb2Yge3N1bXRpfQoKX18nJ3plJ2EnJ19fIHN1 bXRjaXRhOiBzcGFubmluZyBvdmVyIHRoZSB1bnNwZWNpZmllZCAobWVkaXVtKSB0aW1lIG9mIHtz dW10aX0KCl9fJyd6ZSd1JydfXyBzdW10Y2l0YTogc3Bhbm5pbmcgb3ZlciB0aGUgbG9uZyB0aW1l IG9mIHtzdW10aX0KCgoKX18nJ3ZlJ2knJ19fIHN1bXRjaXRhOiBzcGFubmluZyBvdmVyIHRoZSBz aG9ydCBzcGFjZSBvZiB7c3VtdGl9CgpfXycndmUnYScnX18gc3VtdGNpdGE6IHNwYW5uaW5nIG92 ZXIgdGhlIHVuc3BlY2lmaWVkIChtZWRpdW0pIHNwYWNlIG9mIHtzdW10aX0KCl9fJyd2ZSd1Jydf XyBzdW10Y2l0YTogc3Bhbm5pbmcgb3ZlciB0aGUgbG9uZyBzcGFjZSBvZiB7c3VtdGl9CgoKClNp eCB3b3JkcyBhdCBhIHRpbWUsIEkga25vdywgYnV0IHJlbWVtYmVyaW5nIHRoZSB2b3dlbCBzZXF1 ZW5jZSBhbmQgdGhlIHNpbWlsYXJpdHkgb2YgdGhlIGluaXRpYWwgbGV0dGVyIHogZm9yIHRlbXBv cmFsIHRlbnNlcyBhbmQgdiBmb3Igc3BhY2lhbCB0ZW5zZXMgbWlnaHQgaGVscCB0aGUgbWVtb3Jp emluZy4KCl9fJycub2knJ19fIC0gYXR0aXR1ZGluYWw6IHBhaW4gLSBwbGVhc3VyZQoKCgpUcmFu c2xhdGU6ICcnLm9pIGRhaSBkbyB2ZSd1IHtrdX0ga2xhbWEgbG8gZG90Y28gZ3VnZGUge2t1fSB6 ZSd1IHtrdX0ge3ZhdX0nJwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnE91Y2gsIHlvdSBzcGVu ZCBhIGxvbmcgdGltZSB0cmF2ZWxpbmcgYSBsb25nIHNwYWNlIHRvIEdlcm1hbnnigJ0gfn4KCgoK VGhvdWdoIG1vc3QgcGVvcGxlIGFyZSBub3QgZmFtaWxpYXIgd2l0aCBzcGFjaWFsIHRlbnNlcywg dGhlc2UgbmV3IHdvcmRzIGNhbiBvcGVuIHVwIGZvciBzb21lIHByZXR0eSBzd2VldCB1c2VzLiBP bmUgY291bGQsIGZvciBpbnN0YW5jZSwgdHJhbnNsYXRlIOKAnFRoYXQncyBhIGJpZyBkb2figJ0g YXMgJyd0aSB2ZSd1IHtrdX0gZ2Vya3Uge3ZhdX0nJy4gU2F5aW5nOiDigJxUaGlzIHRoaW5nIGRv Z3MgZm9yIGEgbG9uZyBzcGFjZeKAnSBtYWtlcyB5b3Ugc291bmQgcmV0YXJkZWQgaW4gRW5nbGlz aCwgYnV0IHdlbGwtc3Bva2VuIGluIExvamJhbiEKCgoKJyd6ZSd1JycgYW5kIGl0cyBicm90aGVy cyBhbHNvIGNvbWJpbmUgd2l0aCBvdGhlciB0ZW5zZXMgdG8gZm9ybSBjb21wb3VuZCB0ZW5zZXMu IFRoZSBydWxlIGZvciAnJ3plJ3UnJyBhbmQgdGhlIG90aGVycyBhcmUgdGhhdCBhbnkgdGVuc2Vz IHByZWNlZGluZyBpdCBtYXJrcyBhbiBlbmRwb2ludCBvZiB0aGUgcHJvY2VzcyAocmVsYXRpdmUg dG8gdGhlIHBvaW50IG9mIHJlZmVyZW5jZSkgYW5kIGFueSB0ZW5zZXMgY29taW5nIGFmdGVyIGl0 IG1hcmtzIHRoZSBvdGhlciBlbmRwb2ludCByZWxhdGl2ZSB0byB0aGUgZmlyc3QuIFRoaXMgc2hv dWxkIGJlIGRlbW9uc3RyYXRlZCB3aXRoIGEgY291cGxlIG9mIGV4YW1wbGVzOgoKJycubydvY3Un aSBkbyBjaXRrYSBwdSB7a3V9IHplJ3Uge2t1fSBiYSB7a3V9IHp1IHtrdX0ge3ZhdX0nJyAtIOKA nHt0b2xlcmFuY2V9IHlvdSBlYXQgYmVnaW5uaW5nIGluIHRoZSBwYXN0IGFuZCBmb3IgYSBsb25n IHRpbWUgZW5kaW5nIGF0IHNvbWUgcG9pbnQgZmFyIGludG8gdGhlIGZ1dHVyZSBvZiB3aGVuIHlv dSBzdGFydGVk4oCdIG9yIOKAnEhtcGYsIHlvdSBhdGUgZm9yIGEgbG9uZyB0aW1l4oCdLiBPbmUg Y2FuIGFsc28gY29udHJhc3QgJydkbyBjYSB7a3V9IHplJ2kge2t1fSBwdSB7a3V9IGtsYW1hIHt2 YXV9Jycgd2l0aCAnJ2RvIHB1IHtrdX0gemUnaSB7a3V9IGNhIHtrdX0ga2xhbWEge3ZhdX0nJy4g VGhlIGZpcnN0IGV2ZW50IG9mIHRyYXZlbGluZyBoYXMgb25lIGVuZHBvaW50IGluIHRoZSBwcmVz ZW50IGFuZCBleHRlbmRzIGEgbGl0dGxlIHRvd2FyZHMgdGhlIHBhc3QsIHdoaWxlIHRoZSBzZWNv bmQgZXZlbnQgaGFzIG9uZSBlbmRwb2ludCBpbiB0aGUgcGFzdCBhbmQgZXh0ZW5kcyBvbmx5IHRv IHRoZSBwcmVzZW50ICh0aGF0IGlzLCBzbGlnaHR5IGludG8gdGhlIHBhc3Qgb3IgZnV0dXJlKSBv ZiB0aGF0IGVuZHBvaW50LgoKX18nJ2ptaXZlJydfXyDigJx4MSBpcyBhbGl2ZSBieSBzdGFuZGFy ZCB4MuKAnQoKCgpXaGF0IGRvZXMgJycudWkgbWkgcHUge2t1fSB6aSB7a3V9IHplJ3Uge2t1fSBq bWl2ZSB7dmF1fScnIGV4cHJlc3M/CgoKCkFuc3dlcjogfn5ncmV5LGdyZXk64oCce2hhcHBpbmVz cyF9IEkgbGl2ZSBmcm9tIGEgbGl0dGxlIGludG8gdGhlIHBhc3QgYW5kIGEgbG9uZyB3YXkgdG93 YXJkcyB0aGUgZnV0dXJlIG9yIHBhc3QgKG9idmlvdXNseSB0aGUgZnV0dXJlLCBpbiB0aGlzIGNh c2UpIG9mIHRoYXQgZXZlbnTigJ0gb3Ig4oCcSSBhbSB5b3VuZywgYW5kIGhhdmUgbW9zdCBvZiBt eSBsaWZlIGFoZWFkIG9mIG1lIDop4oCdfn4KCgoKSnVzdCB0byB1bmRlcmxpbmUgdGhlIHNpbWls YXJpdHkgd2l0aCBzcGFjaWFsIHRlbnNlcywgbGV0J3MgaGF2ZSBhbm90aGVyIGV4YW1wbGUsIHRo aXMgdGltZSB3aXRoIHNwYWNpYWwgdGVuc2VzOgoKX18nJy51J2UnJ19fIGF0dGl0dWRpbmFsOiB3 b25kZXIgLSBjb21tb25wbGFjZQoKCgonJy51J2UgemEnYSB7a3V9IGJ1J3Uge2t1fSB2ZSd1IHtr dX0gY2EndSB7a3V9IHpkYW5pIHt2YXV9JycgLSBXaGF0IGRvZXMgaXQgbWVhbj8KCgoKQW5zd2Vy OiB+fmdyZXksZ3JleTog4oCce3dvbmRlcn0ge0kgb2JzZXJ2ZSF9IEV4dGVuZGluZyBhIGxvbmcg c3BhY2UgZnJvbSBoZXJlIHRvIG15IGZyb250IGlzIGEgaG9tZS7igJ0gb3Ig4oCcV293LCB0aGlz IGhvbWUgZXh0ZW5kaW5nIGFoZWFkIGlzIGh1Z2Uh4oCdfn4KCgoKQmVmb3JlIHdlIGNvbnRpbnVl IHdpdGggdGhpcyBzeW50YXgtaGVhdnkgdGVuc2Ugc3lzdGVtLCBpIHJlY29tbWVuZCBzcGVuZGlu ZyBhdCBsZWFzdCB0ZW4gbWludXRlcyBkb2luZyBzb21ldGhpbmcgd2hpY2ggZG9lc24ndCBvY2N1 cHkgeW91ciBicmFpbiBpbiBvcmRlciB0byBsZXQgdGhlIGluZm9ybWF0aW9uIHNpbmsgaW4uIFNp bmcgYSBzb25nIG9yIGVhdCBhIGNvb2tpZSB2ZXJ5IHNsb3dseSAtIHdoYXRldmVyLCBhcyBsb25n IGFzIHlvdSBsZXQgeW91ciBtaW5kIHJlc3QuCgoKCiEhTG9qYmFuIExlc3NvbnMgLSBMZXNzb24g ZWxldmVuIChaQWhPKQoKVGhvdWdoIHdlIHdvbid0IGdvIHRocm91Z2ggYWxsIExvamJhbiB0ZW5z ZSBjb25zdHJ1Y3RzIGZvciBub3csIHRoZXJlIGlzIG9uZSBvdGhlciBraW5kIG9mIHRlbnNlIHRo YXQgSSB0aGluayBzaG91bGQgYmUgdGF1Z2h0IG5vdy4gVGhlc2UgYXJlIGNhbGxlZCDigJxldmVu dCBjb250b3Vyc+KAnSwgYW5kIHJlcHJlc2VudCBhIHZlcnkgZGlmZmVyZW50IHdheSBvZiB2aWV3 aW5nIHRlbnNlcyB0aGF0IHdlIGhhdmUgc2VlbiBzbyBmYXIuIFNvIGxldCdzIGdldCB0byBpdDoK CgoKVXNpbmcgdGhlIHRlbnNlcyB3ZSBoYXZlIGxlYXJuZWQgc28gZmFyLCB3ZSBjYW4gaW1hZ2lu ZSBhbiBpbmRlZmluaXRlIHRpbWUgbGluZSwgYW5kIHdlIHRoZW4gcGxhY2UgZXZlbnRzIG9uIHRo YXQgbGluZSByZWxhdGl2ZSB0byB0aGUg4oCcbm934oCdLiBXaXRoIGV2ZW50IGNvbnRvdXJzLCBo b3dldmVyLCB3ZSB2aWV3IGVhY2ggZXZlbnQgYXMgYSBwcm9jZXNzLCB3aGljaCBoYXMgY2VydGFp biBzdGFnZXM6IEEgdGltZSBiZWZvcmUgaXQgdW5mb2xkcywgYSB0aW1lIHdoZW4gaXQgYmVnaW5z LCBhIHRpbWUgd2hlbiBpdCBpcyBpbiBwcm9jZXNzLCBhIHRpbWUgd2hlbiBpdCBlbmRzLCBhbmQg YSB0aW1lIGFmdGVyIGl0IGhhcyBlbmRlZC4gRXZlbnQgY29udG91cnMgdGhlbiB0ZWxscyB1cyB3 aGljaCBwYXJ0IG9mIHRoZSBldmVudCdzIHByb2Nlc3Mgd2FzIGhhcHBlbmluZyBkdXJpbmcgdGhl IHRpbWUgc3BlY2lmaWVkIGJ5IHRoZSBvdGhlciB0ZW5zZXMuIFdlIG5lZWQgYSBjb3VwbGUgb2Yg dGVuc2VzIGZpcnN0OgoKCgpfXycncHUnbycnX18gLSBzdW10Y2l0YTogZXZlbnQgY29udG91cjog QnJpZGkgaGFzIG5vdCB5ZXQgaGFwcGVuZWQgZHVyaW5nIHtzdW10aX0KCl9fJydjYSdvJydfXyAt IHN1bXRjaXRhOiBldmVudCBjb250b3VyOiBCcmlkaSBpcyBpbiBwcm9jZXNzIGR1cmluZyB7c3Vt dGl9CgpfXycnYmEnbycnX18gLSBzdW10Y2l0YTogZXZlbnQgY29udG91cjogVGhlIHByb2Nlc3Mg b2YgYnJpZGkgaGFzIGVuZGVkIGR1cmluZyB7c3VtdGl9CgoKClRoaXMgbmVlZHMgdG8gYmUgZGVt b25zdHJhdGVkIGJ5IHNvbWUgZXhhbXBsZXMuIFdoYXQncyAnJy51aSBtaSBwdSdvIHtrdX0gc2Ug emRhbmkge3ZhdX0nJyBtZWFuPwoKCgpBbnN3ZXI6IOKAnFlheSwgSSdsbCBiZWdpbiB0byBoYXZl IGEgaG9tZeKAnS4KCgoKQnV0IGhleSwgeW91IGFzaywgd2h5IG5vdCBqdXN0IHNheSAnJy51aSBt aSBiYSB7a3V9IHNlIHpkYW5pIHt2YXV9JycgYW5kIGV2ZW4gc2F2ZSBhIHN5bGxhYmxlPyBCZWNh dXNlLCByZW1lbWJlciwgc2F5aW5nIHRoYXQgeW91IHdpbGwgaGF2ZSBhIGhvbWUgaW4gdGhlIGZ1 dHVyZSBzYXlzIG5vdGhpbmcgYWJvdXQgd2hldGhlciB5b3UgaGF2ZSBhIGhvbWUgbm93LiBVc2lu ZyAnJ3B1J28nJywgdGhvdWdoLCB5b3Ugc2F5IHRoYXQgeW91IGFyZSBub3cgaW4gdGhlIHBhc3Qg b2YgdGhlIHByb2Nlc3Mgb2YgeW91IGhhdmluZyBhIGhvbWUsIHdoaWNoIG1lYW5zIHRoYXQgeW91 IGRvbid0IGhhdmUgb25lIG5vdy4KCk5vdGUsIGJ5IHRoZSB3YXksIHRoYXQgJydtaSBiYSB7a3V9 IHNlIHpkYW5pIHt2YXV9JycgaXMgc2ltaWxhciB0byAnJ21pIHB1J28ge2t1fSBzZSB6ZGFuaSB7 dmF1fScnLCBhbmQgbGlrZXdpc2Ugd2l0aCAnJ2JhJ28nJyBhbmQgJydwdScnLiBXaHkgZG8gdGhl eSBzZWVtIHJldmVyc2VkPyBCZWNhdXNlIGV2ZW50IGNvbnRvdXJzIHZpZXcgdGhlIHByZXNlbnQg YXMgc2VlbiBmcm9tIHRoZSB2aWV3cG9pbnQgb2YgdGhlIHByb2Nlc3MsIHdoZXJlYXMgdGhlIG90 aGVyIHRlbnNlcyB2aWV3IGV2ZW50cyBzZWVuIGZyb20gdGhlIHByZXNlbnQuCgoKCk9mdGVuLCBl dmVudCBjb250b3VycyBhcmUgbW9yZSBwcmVjaXNlIHRoYXQgb3RoZXIga2luZCBvZiB0ZW5zZXMu IEV2ZW4gbW9yZSBjbGFyaXR5IGlzIGFjaGlldmVkIGJ5IGNvbWJpbmluZyBzZXZlcmFsIHRlbnNl czogJycuYSdvIG1pIGJhe2t1fSB6aSB7a3V9IGJhJ28ge2t1fSBndW5rYSB7dmF1fScnIC0g4oCc SSBob3BlIEkndmUgc29vbiBmaW5pc2hlZCB3b3JraW5nLuKAnQoKCgpJbiBMb2piYW4sIHdlIGFs c28gb3BlcmF0ZSB3aXRoIGFuIGV2ZW50J3Mg4oCcbmF0dXJhbCBiZWdpbm5pbmfigJ0gYW5kIGl0 cyDigJxuYXR1cmFsIGVuZOKAnS4gVGhlIHRlcm0g4oCcbmF0dXJhbOKAnSBpcyBoaWdobHkgc3Vi amVjdGl2ZSBpbiB0aGlzIHNlbnNlLCBhbmQgdGhlIG5hdHVyYWwgZW5kIHJlZmVycyB0byB0aGUg cG9pbnQgaW4gdGhlIHByb2Nlc3Mgd2hlcmUgaXQgc2hvdWxkIGVuZC4gWW91IGNhbiBzYXkgYWJv dXQgYSBsYXRlIHRyYWluLCBmb3IgaW5zdGFuY2UsIHRoYXQgaXRzIHByb2Nlc3Mgb2YgcmVhY2hp bmcgeW91IGlzIG5vdyBleHRlbmRpbmcgYmV5b25kIGl0cyBuYXR1cmFsIGVuZC4gQW4gdW5kZXJj b29rZWQsIGJ1dCBzZXJ2ZWQgbWVhbCwgc2ltaWxhcmx5LCBpcyBiZWluZyBlYXRlbiBiZWZvcmUg dGhhdCBwcm9jZXNzJyBuYXR1cmFsIGJlZ2lubmluZy4gVGhlIGV2ZW50IGNvbnRvdXJzIHVzZWQg aW4gdGhlc2UgZXhhbXBsZXMgYXJlIGFzIGZvbGxvd3M6CgoKCl9fJyd6YSdvJydfXyAtIHN1bXRj aXRhOiBldmVudCBjb250b3VyOiBCcmlkaSBpcyBpbiBwcm9jZXNzIGJleW9uZCBpdHMgbmF0dXJh bCBlbmQgZHVyaW5nIHtzdW10aX0KCl9fJyd4YSdvJydfXyAtIHN1bXRjaXRhOiBldmVudCBjb250 b3VyOiBCcmlkaSBpcyBpbW1hdHVyZWx5IGluIHByb2Nlc3MgZHVyaW5nIHtzdW10aX0KCgoKX18n J2NpZGphJydfXzog4oCceDEgaXMgZm9vZCwgd2hpY2ggaXMgZWRpYmxlIGZvciB4MuKAnQoKCgpU cmFuc2xhdGU6ICcnLm9pIGRvIGNpdGthIHphJ28gbG8gbnUgZG8gYmEnbyB7a3V9IHUnZSBjaXRr YSB6bydlIG5vaSBjaWRqYSBkbyB7dmF1fSB7a3Unb30ge3ZhdX0ge2tlaX0ge2t1fScnCgoKCkFu c3dlcjogfn5ncmV5LGdyZXk64oCcT3ksIHlvdSBrZWVwIGVhdGluZyB3aGVuIHlvdSBoYXZlIGZp bmlzaGVkLCBpbmNyZWRpYmx5LCBlYXRpbmcgc29tZXRoaW5nIGVkaWJsZSHigJ1+fgoKCgp7aW1n IGZpbGVJZD0iMiIgdGh1bWI9InkiIHJlbD0iYm94W2ddIn0KCkltYWdlIGFib3ZlOiBaQWhPIHRl bnNlcyAoZXZlbnQgY29udG91cnMpLiBBbGwgdGVuc2VzIGFib3ZlIHRoZSBsaW5lIG9mIHRoZSBl dmVudCBzaWduaWZ5IHN0YWdlcyBjb3ZlcmluZyBhbiBhbW91bnQgb2YgdGltZS4gQWxsIHRlbnNl cyBiZWxvdyB0aGUgZXZlbnQgbGluZSBzaWduaWZ5IHN0YWdlcyB3aGljaCBhcmUgcG9pbnQtbGlr ZS4KCgoKQWxsIG9mIHRoZXNlIHRlbnNlcyBoYXZlIGJlZW4gZGVzY3JpYmluZyBzdGFnZXMgb2Yg YSBwcm9jZXNzIHdoaWNoIHRha2VzIHNvbWUgdGltZSAoYXMgc2hvd24gb24gdGhlIGdyYXBoIGFi b3ZlOyB0aG9zZSB0ZW5zZXMgYWJvdmUgdGhlIGV2ZW50IGxpa2UpLiBCdXQgbWFueSBvZiB0aGUg ZXZlbnQgY29udG91cnMgZGVzY3JpYmVzIHBvaW50IGxpa2Ugc3RhZ2VzIGluIHRoZSBwcm9jZXNz LCBsaWtlIGl0cyBiZWdpbm5pbmcuIEFzIGlzIHRydWUgb2YgJydjYScnIGFuZCAnJ2J1J3UnJywg dGhleSBhY3R1YWxseSBleHRlbmQgc2xpZ2h0bHkgaW50byB0aGUgcGFzdCBhbmQgZnV0dXJlIG9m IHRoYXQgcG9pbnQsIGFuZCBuZWVkIG5vdCB0byBiZSBwcmVjaXNlLgoKCgpUaGUgdHdvIG1vc3Qg aW1wb3J0YW50IHBvaW50LWxpa2UgZXZlbnQgY29udG91cnMgYXJlOgoKX18nJ2NvJ2EnJ19fIC0g c3VtdGNpdGE6IGV2ZW50IGNvbnRvdXI6IEJyaWRpIGlzIGF0IGl0cyBiZWdpbm5pbmcgZHVyaW5n IHtzdW10aX0KCl9fJydjbyd1JydfXyAtIHN1bXRjaXRhOiBldmVudCBjb250b3VyOiBCcmlkaSBp cyBhdCBpdHMgZW5kaW5nIGR1cmluZyB7c3VtdGl9CgoKCkZ1cnRoZXJtb3JlLCB0aGVyZSBpcyBh IHBvaW50IHdoZXJlIHRoZSBwcm9jZXNzIGlzIG5hdHVyYWxseSBjb21wbGV0ZSwgYnV0IG5vdCBu ZWNlc3NhcmlseSBoYXMgZW5kZWQgeWV0OgoKX18nJ21vJ3UnJ19fIC0gc3VtdGNpdGE6IGV2ZW50 IGNvbnRvdXI6IEJyaWRpIGlzIGF0IGl0cyBuYXR1cmFsIGVuZGluZyBkdXJpbmcge3N1bXRpfQoK TW9zdCBvZiB0aGUgdGltZSwgdGhvdWdoLCBwcm9jZXNzZXMgYWN0dWFsbHkgZW5kIGF0IHRoZWly IG5hdHVyYWwgZW5kaW5nOyB0aGlzIGlzIHdoYXQgbWFrZXMgaXQgbmF0dXJhbC4gVHJhaW5zIGFy ZSBub3QgdXN1YWxseSBsYXRlLCBhbmQgcGVvcGxlIHVzdWFsbHkgcmV0cmFpbiB0aGVtc2VsdmVz IHRvIGVhdCBvbmx5IGVkaWJsZSBmb29kLgoKCgpTaW5jZSBhIHByb2Nlc3MgY2FuIGJlIGludGVy cnVwdGVkIGFuZCByZXN1bWVkLCB0aGVzZSBwb2ludHMgaGF2ZSBlYXJuZWQgdGhlaXIgb3duIGV2 ZW50IGNvbnRvdXIgYWxzbzoKCl9fJydkZSdhJydfXyAtIHN1bXRjaXRhOiBldmVudCBjb250b3Vy OiBCcmlkaSBpcyBwYXVzaW5nIGR1cmluZyB7c3VtdGl9CgpfXycnZGknYScnX18gLSBzdW10Y2l0 YTogZXZlbnQgY29udG91cjogQnJpZGkgaXMgcmVzdW1pbmcgZHVyaW5nIHtzdW10aX0KCgoKSW4g ZmFjdCwgc2luY2UgJydqdW5kaScnIG1lYW5zIOKAnHgxIHBheXMgYXR0ZW50aW9uIHRvIHgy4oCd LCAnJ2RlJ2EganVuZGknJyBhbmQgJydkaSdhIGp1bmRpJycgYXJlIGNvbW1vbiBMb2piYW4gd2F5 cyBvZiBzYXlpbmcg4oCcQlJC4oCdIGFuZCDigJxiYWNr4oCdLiBPbmUgY291bGQgb2YgY291cnNl IGFsc28gc2F5IHRoZSBldmVudCBjb250b3VycyBieSB0aGVtc2VsdmVzIGFuZCBob3BlIHRoZSBw b2ludCBnZXRzIGFjcm9zcy4KCgoKRmluYWxseSwgb25lIGNhbiB0cmVhdCBhbiBlbnRpcmUgZXZl bnQsIGZyb20gdGhlIGJlZ2lubmluZyB0byB0aGUgZW5kIGFzIG9uZSBzaW5nbGUgcG9pbnQgdXNp bmcgJydjbydpJyc6CgpfXycncGVubWknJ19fIOKAnHgxIG1lZXRzIHgyIGF0IGxvY2F0aW9uIHgz 4oCdCgonJ21pIHB1IHtrdX0gemkge2t1fSBjbydpIHtrdX0gcGVubWkgbG8gZG90Y28gcHJlbnUg e2t1fSB7dmF1fScnIC0g4oCcQSBsaXR0bGUgd2hpbGUgYWdvLCBJIHdhcyBhdCB0aGUgcG9pbnQg aW4gdGltZSB3aGVyZSBpIG1ldCBhIEdlcm1hbiBwZXJzb27igJ0KCgoKCgohIUxvamJhbiBMZXNz b25zIC0gTGVzc29uIHR3ZWx2ZSAob3JkZXJzIGFuZCBxdWVzdGlvbnMpCgpQaGV3LCB0aG9zZSB0 d28gbG9uZyBsZXNzb25zIHdpdGggc3ludGF4IGhlYXZ5IExvamJhbiBnaXZlcyB0aGUgYnJhaW4g c29tZXRoaW5nIHRvIHBvbmRlciBhYm91dC4gRXNwZWNpYWxseSBiZWNhdXNlIGl0J3Mgc28gZGlm ZmVyZW50IGZyb20gRW5nbGlzaC4gU28gbGV0J3MgdHVybiB0byBzb21ldGhpbmcgYSBsaXR0bGUg bGlnaHRlcjogT3JkZXJzIGFuZCBxdWVzdGlvbnMuCgoKCldoYXQgdGhlLi4uIF9fc2l0IHVwIGFu ZCBmb2N1cyFfXwoKCgpTaW5jZSB0aGUgd2F5IHRvIGV4cHJlc3Mgb3JkZXJzIGluIEVuZ2xpc2gg aXMgdG8gbGVhdmUgb3V0IHRoZSBzdWJqZWN0IG9mIHRoZSBjbGF1c2UsIHdoeSBkaWQgeW91IGFz c3VtZSB0aGF0IGl0IHdhcyB5b3UgSSB3YXMgc3BlYWtpbmcgdG8sIGFuZCBub3Qgb3JkZXJpbmcg bXlzZWxmLCBvciBleHByZXNzaW5nIHRoZSBvYmxpZ2F0aW9uIHNvbWVvbmUgZWxzZSBoYXM/IEJl Y2F1c2UgdGhlIEVuZ2xpc2ggbGFuZ3VhZ2UgdW5kZXJzdGFuZHMgdGhhdCBvcmRlcnMsIGJ5IHRo ZWlyIHZlcnkgbmF0dXJlLCBhcmUgYWx3YXlzIGRpcmVjdGVkIHRvd2FyZHMgdGhlIGxpc3RlbmVy IC0gdGhlIOKAnHlvdeKAnSwgYW5kIHNvIHRoZSBzdWJqZWN0IGlzIG5vdCBuZWNlc3NhcnkuCgpJ biBMb2piYW4sIGVsaWRpbmcgdGhlIHN1YmplY3QgeWllbGRzICcnem8nZScnLCBzbyB0aGF0IHBv c3NpYmlsaXR5IGlzIHNhZGx5IG5vdCBvcGVuIHRvIHVzLiBJbnN0ZWFkLCB3ZSB1c2UgdGhlIHdv cmQgJydrbycnLCB3aGljaCBpcyB0aGUgaW1wZXJhdGl2ZSBmb3JtIG9mICcnZG8nJy4gR3JhbW1h dGljYWxseSBhbmQgYnJpZGktd2lzZSwgaXQncyBlcXVpdmFsZW50IHRvICcnZG8nJywgYnV0IGl0 IGFkZHMgYSBsYXllciBvZiBzZW1hbnRpY3MsIHNpbmNlIGl0IHR1cm5zIGV2ZXJ5IHN0YXRlbWVu dCB3aXRoICcna28nJyBpbiBpdCBpbnRvIGFuIG9yZGVyLiDigJxEbyBzdWNoIHRoYXQgdGhpcyBz ZW50ZW5jZSBpcyB0cnVlIGZvciB5b3U9JydrbycnIeKAnSBGb3IgdGhlIHNhbWUgcmVhc29uIHdl IGRvbid0IG5lZWQgdGhlIHN1YmplY3QgaW4gRW5nbGlzaCBzZW50ZW5jZXMsIHdlIGRvbid0IG5l ZWQgb3JkZXItd29yZHMgZGVyaXZlZCBmcm9tIGFueSBvdGhlciBzdW10aSB0aGFuICcnZG8nJy4K CgoKSG93IGNvdWxkIHlvdSBvcmRlciBvbmUgdG8gZ28gZmFyIGF3YXkgZm9yIGEgbG9uZyB0aW1l ICh1c2luZyAnJ2tsYW1hJycgYXMgdGhlIG9ubHkgc2VsYnJpPykKCgoKQW5zd2VyOiB+fmdyZXks Z3JleTprbyB2ZSd1IHplJ3Uga2xhbWF+fgoKKCcnLmkgemEnYSBkYWkgYSdvIG1pIGNhIGNvJ3Ug Y2lza2EgbG8gZmEnb3JtYSdvIC5pIGtvIGppbXBlIHZhdSAudWknJykgLSBsb29rIHVwIGNpc2th IGFuZCB3b3JrIGl0IG91dC4KCgoKUXVlc3Rpb25zIGluIExvamJhbiBhcmUgdmVyeSBlYXN5IHRv IGxlYXJuLCBhbmQgdGhleSBjb21lIGluIHR3byBraW5kczogRmlsbCBpbiB0aGUgYmxhbmssIGFu ZCB0cnVlL2ZhbHNlIHF1ZXN0aW9ucy4gTGV0J3MgYmVnaW4gd2l0aCB0aGUgdHJ1ZS1mYWxzZSBx dWVzdGlvbiBraW5kIC0gdGhhdCdzIHByZXR0eSBvdmVyY29tZWFibGUsIHNpbmNlIGl0IG9ubHkg aW52b2x2ZXMgb25lIHdvcmQsICcneHUnJy4KCicneHUnJyB3b3JrcyBsaWtlIGFuIGF0dGl0dWRp bmFsIGluIHRoZSBzZW5zZSB0aGF0IGl0IGNhbiBnbyBhbnl3aGVyZSwgYW5kIGl0IGFwcGxpZXMg dG8gdGhlIHByZWNlZGluZyB3b3JkIChvciBjb25zdHJ1Y3QpLiBJdCB0aGVuIHRyYW5zZm9ybXMg dGhlIHNlbnRlbmNlIGludG8gYSBxdWVzdGlvbiwgYXNraW5nIHdoZXRoZXIgaXQgaXMgdHJ1ZSBv ciBub3QuIEluIG9yZGVyIHRvIGFmZmlybSwgeW91IHNpbXBseSByZXBlYXQgdGhlIGJyaWRpOgoK Jyd4dSB2ZSd1IHpkYW5pIGRvJycgJycuaSB2ZSd1IHpkYW5pIG1pJycsIG9yIHlvdSBqdXN0IHJl cGVhdCB0aGUgdGhlIHNlbGJyaSwgd2hpY2ggaXMgdGhlIGJyaWRpIHdpdGggYWxsIHRoZSBzdW10 aSBhbmQgdGVuc2VzIGVsaWRlZDogJyd6ZGFuaScnLgoKVGhlcmUgaXMgYW4gZXZlbiBlYXNpZXIg d2F5IHRvIGFmZmlybSB1c2luZyBicmlrYSdpLCBidXQgdGhvc2UgYXJlIGEgdGFsZSBmb3IgYW5v dGhlciB0aW1lLiBUbyBhbnN3ZXIg4oCcbm/igJ0gb3Ig4oCcZmFsc2XigJ0sIHlvdSBzaW1wbHkg YW5zd2VyIHdpdGggdGhlIGJyaWRpIG5lZ2F0ZWQuIFRoYXQgdG9vLCB3aWxsIGJlIGxlZnQgZm9y IGxhdGVyLCBidXQgd2Ugd2lsbCByZXR1cm4gdG8gcXVlc3Rpb24gYW5zd2VyaW5nIGJ5IHRoZW4u CgoKClRoZSBvdGhlciBraW5kIGlzIGZpbGwgaW4gdGhlIGJsYW5rLiBIZXJlLCB5b3UgYXNrIGZv ciB0aGUgcXVlc3Rpb24gd29yZCB0byBiZSByZXBsYWNlZCBmb3IgYSBjb25zdHJ1Y3QsIHdoaWNo IG1ha2VzIHRoZSBicmlkaSBjb3JyZWN0LiBUaGVyZSBhcmUgc2V2ZXJhbCBvZiB0aGVzZSB3b3Jk cywgZGVwZW5kaW5nIG9uIHdoYXQgeW91IGFyZSBhc2tpbmcgYWJvdXQ6CgpfXycnbWEnJ19fIC0g c3VtdGkgcXVlc3Rpb24KCl9fJydtbycnX18gLSBzZWxicmkgcXVlc3Rpb24KCl9fJyd4bycnX18g LSBudW1iZXIgcXVlc3Rpb24KCl9fJydjdSdlJydfXyAtIHRlbnNlIHF1ZXN0aW9uCgoKCkFzIHdl bGwgYXMgbWFueSBvdGhlcnMuIFRvIGFzayBhYm91dCBhIHN1bXRpLCB5b3UgdGhlbiBqdXN0IHBs YWNlIHRoZSBxdWVzdGlvbiB3b3JkIHdoZXJlIHlvdSB3YW50IHlvdXIgYW5zd2VyOiAnJ2RvIGR1 bmRhIG1hIG1pJycgLSBhc2tzIGZvciB0aGUgeDIgdG8gYmUgZmlsbGVkIHdpdGggYSBjb3JyZWN0 IHN1bXRpLiDigJxZb3UgZ2l2ZSB3aGF0IHRvIG1lP+KAnS4gVGhlIGNvbWJpbmF0aW9uIG9mICcn c3VtdGNpdGEnJyArICcnbWEnJyBpcyB2ZXJ5IHVzZWZ1bCBpbmRlZWQ6CgpfXycnbXUnaScnX18g LSBzdW10Y2l0YTogbW90aXZhdGVkIGJ5IHRoZSBhYnN0cmFjdGlvbiBvZiB7c3VtdGl9CgoKCicn Lm9pIGRvIGRhcnhpIG1pIG11J2kgbWEnJyAtIOKAnE95LCB3aHkgZG8geW91IGhpdCBtZT8h4oCd CgoKCkxldCdzIHRyeSBhbm90aGVyIG9uZS4gVGhpcyB0aW1lLCB5b3UgdHJhbnNsYXRlOgoKJycu dWkgZGFpIGRvIGNhIHplJ3UgcHUgbW8nJwoKCgpBbnN3ZXI6IH5+Z3JleSxncmV5OuKAnFlvdSdy ZSBoYXBweSwgd2hhdCBoYXZlIHlvdSBiZWVuIGRvaW5nIGFsbCB0aGlzIGxvbmcgdGltZSB1bnRp bCBub3c/4oCdIFRlY2huaWNhbGx5LCBpdCBjb3VsZCBhbHNvIG1lYW4g4oCcd2hhdCBoYXZlIHlv dSBiZWVuP+KAnSwgYnV0IGFuc3dlcmluZyB3aXRoICcnLnVhIG5haSBsaSdhIHJlbW5hJycgKFVo LCBodW1hbiwgb2J2aW91c2x5KSBpcyBqdXN0IGJlaW5nIGluY3JlZGlibHkgYW5ub3lpbmcgb24g cHVycG9zZS5+fgoKCgpTaW5jZSB0b25lIG9mIHZvaWNlIG9yIHNlbnRlbmNlIHN0cnVjdHVyZSBk b2VzIG5vdCByZXZlYWwgd2hldGhlciBhIHNlbnRlbmNlIGlzIGEgcXVlc3Rpb24gb3Igbm90LCBv bmUgYmV0dGVyIG5vdCBtaXNzIHRoZSBxdWVzdGlvbiB3b3JkLiBUaGVyZWZvcmUsIHNpbmNlIHBl b3BsZSB0ZW5kIHRvIGZvY3VzIG1vcmUgb24gd29yZHMgaW4gdGhlIGJlZ2lubmluZyBvciBhdCB0 aGUgZW5kIG9mIHNlbnRlbmNlcywgaXQncyB1c3VhbGx5IHdvcnRoIHRoZSB3aGlsZSB0byByZS1v cmRlciB0aGUgc2VudGVuY2Ugc28gdGhhdCB0aGUgcXVlc3Rpb24gd29yZHMgYXJlIGF0IHRob3Nl IHBsYWNlcy4gSWYgdGhhdCBpcyBub3QgZmVhc2FibGUsICcncGF1JycgaXMgYW4gYXR0aXR1ZGlu YWwgbWFya2luZyB0aGF0IHRoZSBzZW50ZW5jZSBpcyBhIHF1ZXN0aW9uLiBDb250cmFyeSwgJydw YXUgbmFpJycgZXhwbGljaXRseSBtYXJrcyBhbnkgcXVlc3Rpb24gYXMgYmVpbmcgcmhldG9yaWNh bC4KCgoKV2hpbGUgd2UgYXJlIG9uIHRoZSB0b3BpYyBvZiBxdWVzdGlvbnMsIGl0J3MgYWxzbyBh cHByb3ByaWF0ZSB0byBtZW50aW9uIHRoZSB3b3JkICcna2F1JycsIHdoaWNoIGlzIGEgbWFya2Vy IGZvciDigJxpbmRpcmVjdCBxdWVzdGlvbuKAnS4gV2hhdCdzIGFuIGluZGlyZWN0IHF1ZXN0aW9u LCB0aGVuPyBXZWxsLCB0YWtlIGEgbG9vayBhdCB0aGUgc2VudGVuY2U6ICcnbWkgZGp1bm8gbG8g ZHUndSBtYSBrYXUgemRhbmkgZG8nJyAtIOKAnEkga25vdyB3aGF0IGlzIHlvdXIgaG9tZS7igJ0K Cl9fJydkanVubycnX18g4oCceDEga25vd3MgZmFjdChzKSB4MiBhcmUgdHJ1ZSBhYm91dCB4MyBi eSBlcGlzdGVtb2xvZ3kgeDTigJ0KCk9uZSBjYW4gdGhpbmsgaXQgYXMgdGhlIGFuc3dlciB0byB0 aGUgcXVlc3Rpb24gJydtYSB6ZGFuaSBkbycnLiBNb3JlIHJhcmVseSwgb25lIGNhbiBtYXJrIGEg bm9uLXF1ZXN0aW9uIHdvcmQgd2l0aCAnJ2thdScnLCBpbiB3aGljaCBjYXNlIG9uZSBzdGlsbCBj YW4gaW1hZ2luZSBpdCBhcyB0aGUgYW5zd2VyIHRvIGEgcXVlc3Rpb246ICcnbWkgamltcGUgbG8g ZHUndSBkdW5kYSB0aSBrYXUgZG8nJyAtIOKAnEkga25vdyB3aGF0IHlvdSBoYXZlIGJlZW4gZ2l2 ZW4sIGl0IGlzIHRoaXMu4oCdCgoKCgoKISFMb2piYW4gTGVzc29ucyAtIExlc3NvbiB0aGlydGVl biAobW9ycGhvbG9neSBhbmQgd29yZCBjbGFzc2VzKQoKQmFjayB0byBtb3JlIGhlYXZ5IChhbmQg aW50ZXJlc3RpbmcpIHN0dWZmLgoKSWYgeW91IGhhdmVuJ3QgYWxyZWFkeSwgSSBzdHJvbmdseSBz dWdnZXN0IHlvdSBmaW5kIHRoZSBMb2piYW5pYyByZWNvcmRpbmcgY2FsbGVkICJTdG9yeSBUaW1l IHdpdGggVW5jbGUgUm9iaW4iLCBvciBsaXN0ZW4gdG8gc29tZW9uZSBzcGVhayBMb2piYW4gb24g TXVtYmxlLCBhbmQgdGhlbiBwcmFjdGljZSB5b3VyIHByb251bmNpYXRpb24uIEhhdmluZyBhbiBp bnRlcm5hbCBjb252ZXJzYXRpb24gaW4geW91ciBoZWFkIGluIExvamJhbiBpcyBvbmx5IGdvb2Qg aWYgaXQgaXNuJ3Qgd2l0aCBhbGwgdGhlIHdyb25nIHNvdW5kcywgYW5kIGxlYXJuaW5nIHByb251 bmNpYXRpb24gZnJvbSB3cml0dGVuIHRleHQgaXMgaGFyZC4gVGhlcmVmb3JlLCB0aGlzIGxlc3Nv biB3aWxsIG5vdCBiZSBvbiB0aGUgTG9qYmFuIHNvdW5kcywgaG93ZXZlciBpbXBvcnRhbnQgdGhl eSBtaWdodCBiZSwgYnV0IGEgc2hvcnQgaW50cm9kdWN0aW9uIHRvIHRoZSBMb2piYW4gbW9ycGhv bG9neS4KCgoKV2hhdCBpcyBtb3JwaG9sb2d5PyBUaGUgd29yZCBpcyBkZXJpdmVkIGZyb20gR3Jl ZWsgbWVhbmluZyDigJx0aGUgc3R1ZHkgb2Ygc2hhcGVz4oCdLCBhbmQgaW4gdGhpcyBjb250ZXh0 LCB3ZSB0YWxrIGFib3V0IGhvdyB3ZSBtYWtlIHdvcmRzIGZyb20gbGV0dGVycyBhbmQgc291bmRz LCBhcyBjb250cmFzdGVkIHdpdGggc3ludGF4IC0gaG93IHdlIG1ha2Ugc2VudGVuY2VzIHdpdGgg d29yZHMuIExvamJhbiBvcGVyYXRlcyB3aXRoIGRpZmZlcmVudCBtb3JwaG9sb2dpY2FsIHdvcmQg Y2xhc3Nlcywgd2hpY2ggYXJlIGFsbCBkZWZpbmVkIGJ5IHRoZWlyIG1vcnBob2xvZ3kuIFRvIG1h a2UgaXQgYWxsIG5pY2UgYW5kIHN5c3RlbWF0aWMgdGhvdWdoLCB3b3JkcyB3aXRoIGNlcnRhaW4g ZnVuY3Rpb25zIHRlbmQgdG8gYmUgZ3JvdXBlZCBieSBtb3JwaG9sb2dpY2FsIGNsYXNzZXMsIGJ1 dCBleGNlcHRpb25zIG1heSBvY2N1ci4KCnx8ICAgQ2xhc3N8TWVhbmluZ3xEZWZpbmVkIEJ5fFR5 cGljYWwgRnVuY3Rpb24KCiAgIFdvcmRzOnwgICB8ICAgfCAgIAoKICAgQnJpdmxhfCAgIGJyaWRp LXdvcmR8ICAgQW1vbmcgZmlyc3QgNSBsZXR0ZXJzIChleGNsdWRpbmcg4oCcIOKAmCDigJwpIGlz IGEgY29uc29uYW50IGNsdXN0ZXIuIEVuZHMgaW4gdm93ZWwuICAgfCAgIEFjdHMgYXMgYSBzZWxi cmkgYnkgZGVmYXVsdC4gQWx3YXlzIGhhcyBhIHBsYWNlIHN0cnVjdHVyZS4KCiAgIC0tR2lzbXV8 ICAgUm9vdC13b3JkfCA1IGxldHRlcnMgb2YgdGhlIGZvcm0gQ1ZDQ1Ygb3IgQ0NWQ1YgICB8ICAg T25lIHRvIGZpdmUgc3VtdGkgcGxhY2VzLiBDb3ZlcnMgYmFzaWMgY29uY2VwdHMuCgogICAtLUx1 anZvfCAgQ29tcG91bmQgd29yZC4gRGVyaXZlZCBmcm9tIGZyb20g4oCcbHVqdmxh4oCdLCBtZWFu aW5nIOKAnGNvbXBsZXggd29yZOKAnSB8ICAgTWluLiA2IGxldHRlcnMuIE1hZGUgYnkgc3RyaW5n aW5nIHJhZnNpIHRvZ2V0aGVyIHdpdGggYmluZGluZyBsZXR0ZXJzIGlmIG5lY2Vzc2FyeS58ICAg Q292ZXJzIG1vcmUgY29tcGxleCBjb25jZXB0cyB0aGFuIGdpc211LgoKICAgLS1GdSdpdmxhfCAg Q29weS13b3JkIHwgQXMgYnJpdmxhLCBidXQgZG8gbm90IG1lZXQgZGVmaW5pbmcgY3JpdGVyaWEg b2YgZ2lzbXUgb3IgbHVqdm8sIGV4OiAnJ2FuZ2VsaScnICB8ICAgQ292ZXJzIHVuaXF1ZSBjb25j ZXB0cyBsaWtlIG5hbWVzIG9mIHBsYWNlcyBvciBvcmdhbmlzbXMuCgogICBDbWV2bGF8ICBOYW1l LXdvcmQgfCAgIEJlZ2lubmluZyBhbmQgZW5kaW5nIHdpdGggcGF1c2UgKGZ1bGwgc3RvcCkuIExh c3Qgc291bmQvbGV0dGVyIGlzIGEgY29uc29uYW50LnwgICBBbHdheXMgYWN0cyBhcyBhIG5hbWUg b3IgYXMgdGhlIGNvbnRlbnQgb2YgYSBxdW90ZS4KCiAgIENtYXZvfCAgIEdyYW1tYXItd29yZC4g RnJvbSDigJxjbWF2bGHigJ0sIG1lYW5pbmcg4oCcc21hbGwgd29yZOKAnXwgT25lIGNvbnNvbmFu dCBvciB6ZXJvLCBhbHdheXMgYXQgdGhlIGJlZ2lubmluZy4gRW5kcyBpbiBhIHZvd2VsLiAgfCAg IEdyYW1tYXRpY2FsIGZ1bmN0aW9ucy4gVmFyaWVzCgogICBXb3JkLWZyYWdtZW50czp8ICAgfCAg IHwKCiAgIFJhZnNpfCAgIEFmZml4fCAgQ0NWLCBDVkMsIENWJ1YsIC1DVkNDViwgLUNDVkNWLCBD VkNDeS0gb3IgQ0NWQ3ktICB8IE5vdCBhY3R1YWwgd29yZHMsIGJ1dCBjYW4gYmUgc3RyaW5nZWQg dG9nZXRoZXIgdG8gZm9ybSBsdWp2byB8fAoKCgoKCl9fJydjbWV2bGEnJ19fIGFyZSB2ZXJ5IGVh c3kgdG8gaWRlbnRpZnkgYmVjYXVzZSB0aGV5IGJlZ2luIGFuZCBlbmQgd2l0aCBhIHBhdXNlLCBz aWduYWxlZCBieSBhIGZ1bGwgc3RvcCBpbiB3cml0aW5nLCBhbmQgdGhlIGxhc3QgbGV0dGVyIGlz IGEgY29uc29uYW50LiBjbWV2bGEgY2FuJ3QgaGF2ZSBhbnkgb3RoZXIgZnVuY3Rpb24gYmVzaWRl cyBhY3RpbmcgYXMgYSBuYW1lLiBPbiB0aGUgb3RoZXIgaGFuZCwgbmFtZXMgd2hpY2ggYXJlIG5v dCBzZWxicmkgY2Fubm90IGFwcGVhciBpbiBMb2piYW4gd2l0aG91dCB0aGVtIGJlaW5nIGNtZXZs YSwgb3IgZW5jYXNlZCBieSBjZXJ0YWluIHF1b3RlIHdvcmRzLiBPbmUgY2FuIG1hcmsgc3RyZXNz IGluIHRoZSBuYW1lcyBieSBjYXBpdGFsaXppbmcgdGhlIGxldHRlcnMgd2hpY2ggYXJlIHN0cmVz c2VkLiBFeGFtcGxlcyBvZiBjbWV2bGEgYXJlOiAnJy5pb2hBTi4nJyAoSm9oYW4sIGggaXMgY2Fw aXRhbCBhcG9zdHJvcGhlKSwgJycubWF0LicnIChNYXR0KSBhbmQgJycubHV0Y2lNSU4uJycgKEx1 aS1DaGkgTWluKS4gTmFtZXMgd2hpY2ggZG8gbm90IGVuZCBpbiBjb25zb25hbnRzIGhhdmUgdG8g aGF2ZSBvbmUgYWRkZWQ6ICcnLml2eW4uJycgKEV2ZSksIG9yIChwcm9iYWJseSBiZXR0ZXIgaW4g dGhpcyBjYXNlKSByZW1vdmVkOiAnJy5pdi4nJwoKCgpfXycnYnJpdmxhJydfXyBhcmUgY2FsbGVk IOKAnGJyaWRpLXdvcmRz4oCdIGJlY2F1c2UgdGhleSBieSBkZWZhdWx0IGFyZSBzZWxicmksIGFu ZCB0aGVyZWZvcmUgYWxtb3N0IGFsbCBMb2piYW4gd29yZHMgd2l0aCBhIHBsYWNlIHN0cnVjdHVy ZSBhcmUgYnJpdmxhLiBUaGlzIGhhcyBhbHNvIGdpdmVuIHRoZW0gdGhlIEVuZ2xpc2ggbmlja25h bWUg4oCcY29udGVudC13b3Jkc+KAnS4gSXQncyBuZWFybHkgaW1wb3NzaWJsZSB0byBzYXkgYW55 dGhpbmcgdXNlZnVsIHdpdGhvdXQgYnJpdmxhLCBhbmQgYWxtb3N0IGFsbCB3b3JkcyBmb3IgY29u Y2VwdHMgb3V0c2lkZSBsb2piYW4gZ3JhbW1hciAoYW5kIGV2ZW4gbW9zdCBvZiB0aGUgd29yZHMg Zm9yIHRoaW5ncyBpbiB0aGUgbGFuZ3VhZ2UpIGFyZSBjYXB0dXJlZCBieSBicml2bGEuIEFzIHNo b3duIGluIHRoZSB0YWJsZSwgYnJpdmxhIGhhcyB0aHJlZSBzdWJjYXRlZ29yaWVzOgoKX18nJ2dp c211JydfXyBhcmUgdGhlIHJvb3Qgd29yZHMgb2YgdGhlIGxhbmd1YWdlLiBPbmx5IGFib3V0IDE0 NTAgZXhpc3RzLCBhbmQgdmVyeSBmZXcgbmV3IG9uZXMgYXJlIGFkZGVkLiBUaGV5IGNvdmVyIHRo ZSBtb3N0IGJhc2ljIGNvbmNlcHRzIGxpa2Ug4oCcY2lyY2xl4oCdLCDigJxmcmllbmTigJ0sIOKA nHRyZWXigJ0gYW5kIOKAnGRyZWFt4oCdLiBFeGFtcGxlcyBpbmNsdWRlICcnemRhbmknJywgJydw ZWx4dScnIGFuZCAnJ2R1bmRhJycKCl9fJydsdWp2bycnX18gYXJlIG1hZGUgYnkgY29tYmluaW5n IHJhZnNpIChzZWUgdW5kZXIgcmFmc2kpLCByZXNwcmVzZW50aW5nIGdpc211LiBCeSBjb21iaW5p bmcgcmFmc2ksIG9uZSBuYXJyb3dzIGRvd24gdGhlIG1lYW5pbmcgb2YgdGhlIHdvcmQuIGx1anZv IGFyZSBtYWRlIGJ5IGFuIGVsYWJvcmF0ZSBhbGdvcml0aG0sIHNvIG1ha2luZyB2YWxpZCBsdWp2 byBvbiB0aGUgZmx5IGlzIG5lYXIgaW1wb3NzaWJsZSwgd2l0aCBmZXcgZXhjZXB0aW9ucyBsaWtl ICcnc2VscGEnaScnLCBmcm9tICcnc2UgcHJhbWknJywgd2hpY2ggY2FuIG9ubHkgaGF2ZSBvbmUg ZGVmaW5pdGlvbi4gSW5zdGVhZCwgbHVqdm8gYXJlIG1hZGUgb25jZSwgaXRzIHBsYWNlIHN0cnVj dHVyZSBkZWZpbmVkLCBhbmQgdGhlbiB0aGF0IGRlZmluaXRpb24gaXMgbWFkZSBvZmZpY2lhbCBi eSB0aGUgZGljdGlvbmFyeS4gRXhhbXBsZXMgaW5jbHVkZSBicml2bGEgKGJyaWRpLXdvcmQpLCAn J2Npbmppa2NhJycgKHNleHVhbC1zb2NpYWxpemluZyA9IGZsaXJ0aW5nKSBhbmQgJydjYWtjaW5r aScnIChzaGVsbC1pbnNlY3QgPSBiZWV0bGUpLgoKX18nJ2Z1J2l2bGEnJ19fIGFyZSBtYWRlIGJ5 IG1ha2luZyB1cCB3b3JkcyB3aGljaCBmaXQgdGhlIGRlZmluaXRpb24gZm9yIGJyaXZsYSwgYnV0 IG5vdCBmb3IgbHVqdm8gb3IgZ2lzbXUuIFRoZXkgdGVuZCB0byBjb3ZlciBjb25jZXB0cyB3aGlj aCBpdCdzIGhhcmQgdG8gY292ZXIgYnkgbHVqdm8sIGZvciBpbnN0YW5jZSBuYW1lcyBvZiBzcGVj aWVzLCBuYXRpb25zIG9yIHZlcnkgY3VsdHVyYWwgc3BlY2lmaWMgY29uY2VwdHMuIEV4YW1wbGVz IGluY2x1ZGUgJydndWdkcmdvZ3VyaW8nJyAoS29yZWEpICcnY2lkanJwaXRzYScnIChwaXp6YSkg b3IgJydhbmdlbGknJyAoYW5nZWwpLgoKCgpfXycnY21hdm8nJ19fIGFyZSBzbWFsbCB3b3JkcyB3 aXRoIG9uZSBvciB6ZXJvIGNvbnNvbmFudHMuIFRoZXkgdGVuZCB0byBub3Qgc2lnbmlmeSBhbnl0 aGluZyBpbiB0aGUgZXh0ZXJpb3Igd29ybGQsIGJ1dCB0byBoYXZlIG9ubHkgZ3JhbW1hdGljYWwg ZnVuY3Rpb24uIEV4Y2VwdGlvbnMgb2NjdXIsIGFuZCBpdCdzIGRlYmF0YWJsZSBob3cgbXVjaCBh dHRpdHVkaW5hbHMgZXhpc3RzIGZvciB0aGVpciBncmFtbWF0aWNhbCBmdW5jdGlvbi4gQW5vdGhl ciB3ZWlyZCBleGFtcGxlIGFyZSB0aGUgd29yZHMgb2YgdGhlIGNsYXNzIEdPaEEsIHdoaWNoIGFj dCBhcyBicml2bGEuIEl0IGlzIHZhbGlkIHRvIHR5cGUgc2V2ZXJhbCBjbWF2byBpbiBhIHJvdyBh cyBvbmUgd29yZCwgYnV0IGluIHRoZXNlIGxlc3NvbnMsIHRoYXQgd29uJ3QgYmUgZG9uZS4gQnkg Z3JvdXBpbmcgY2VydGFpbiBjbWF2byBpbiBmdW5jdGlvbmFsIHVuaXRzLCB0aG91Z2gsIGl0IGlz IHNvbWV0aW1lcyBlYXNpZXIgdG8gcmVhZC4gVGh1cywgJycudWlwdXp1dnVrdW1pIGNpdGthJycg aXMgdmFsaWQsIGFuZCBpcyBwYXJzZWQgYW5kIHVuZGVyc3Rvb2QgYXMgJycudWkgcHUgenUgdnUg a3UgbWkgY2l0a2EnJy4gTGlrZSBvdGhlciBMb2piYW4gd29yZHMsIG9uZSBzaG91bGQgKGJ1dCBu ZWVkIG5vdCBhbHdheXMpIHBsYWNlIGEgZnVsbCBzdG9wIGJlZm9yZSBhbnkgd29yZHMgYmVnaW5u aW5nIHdpdGggYSB2b3dlbC4KCmNtYXZvIG9mIHRoZSBmb3JtIHhWViwgQ1YnVlYgb3IgVidWViBh cmUgZXhwZXJpbWVudGFsLCBhbmQgYXJlIHdvcmRzIHdoaWNoIGFyZSBub3QgaW4gdGhlIGZvcm1h bCBncmFtbWFyLCBidXQgd2hpY2ggaGF2ZSBiZWVuIGFkZGVkIGJ5IExvamJhbiB1c2VycyB0byBy ZXNwb25kIHRvIGEgY2VydGFpbiBuZWVkLgoKCgpfXycncmFmc2knJ19fIGFyZSBub3QgTG9qYmFu IHdvcmRzLCBhbmQgY2FuIG5ldmVyIGFwcGVhciBhbG9uZS4gSG93ZXZlciwgc2V2ZXJhbCAobW9y ZSB0aGFuIG9uZSkgcmFmc2kgY29tYmluZSB0byBmb3JtIGx1anZvLiBUaGVzZSBtdXN0IHN0aWxs IGxpdmUgdXAgdG8gdGhlIGJyaXZsYS1kZWZpbml0aW9uLCBmb3IgaW5zdGFuY2UgJydsb2piYW4n JyBpcyBpbnZhbGlkIGJlY2F1c2UgaXQgZW5kcyBpbiBhIGNvbnNvbmFudCAod2hpY2ggbWFrZXMg aXQgYSBjbWV2bGEpLCBhbmQgJydjaSdla2VpJycgaXMgaW52YWxpZCBiZWNhdXNlIGl0IGRvZXMg bm90IGNvbnRhaW4gYSBjb25zb25hbnQgY2x1c3RlciwgYW5kIGlzIHRodXMgcmVhZCBhcyB0d28g Y21hdm8gd3JpdHRlbiBhcyBvbmUgd29yZC4gT2Z0ZW4sIGEgMy00IGxldHRlciBzdHJpbmcgaXMg Ym90aCBhIGNtYXZvIGFuZCBhIHJhZnNpLCBsaWtlICcnenUnZScnLCB3aGljaCBpcyBib3RoIHRo ZSBCQUkgYW5kIHRoZSByYWZzaSBmb3IgJyd6dWt0ZScnLiBOb3RlIHRoYXQgdGhlcmUgaXMgbm93 aGVyZSB0aGF0IGJvdGggYSBjbWF2byBhbmQgYSByYWZzaSB3b3VsZCBiZSBncmFtbWF0aWNhbCwg c28gdGhlc2UgYXJlIG5vdCBjb25zaWRlcmVkIGhvbW9waG9uZXMuIEFsbCBnaXNtdSBjYW4gZG91 YmxlIGFzIHJhZnNpLCBpZiB0aGV5IGFyZSBwcmVmaXhlZCB3aXRoIGFub3RoZXIgcmFmc2kuIFRo ZSBmaXJzdCBmb3VyIGxldHRlciBvZiBhIGdpc211IHN1ZmZpeGVkIHdpdGggYW4gInkiIGNhbiBh bHNvIGFjdCBhcyBhIHJhZnNpLCBpZiB0aGV5IGFyZSBzdWZmaXhlZCB3aXRoIGFub3RoZXIgcmFm c2kuIFRoZSB2b3dlbCAieSIgY2FuIG9ubHkgYXBwZWFyIGluIGx1anZvIG9yIGNtZXZsYS4gVmFs aWQgcmFmc2kgbGV0dGVyIGNvbWJpbmF0aW9ucyBhcmU6IENWViwgQ1YnViwgQ0NWLCBDVkNDeS0g Q0NWQ3ktLCAtQ1ZDQ1YgYW5kIC1DQ1ZDVi4KCgoKVXNpbmcgd2hhdCB5b3Uga25vdyBub3csIHlv dSBzaG91bGQgYmUgYWJsZSB0byBhbnN3ZXIgdGhlIHRlc3QgaSB0aHVzIHByZXNlbnQ6CgpDYXRl Z29yaXplIGVhY2ggb2YgdGhlIGZvbGxvd2luZyB3b3JkcyBhcyBjbWV2bGEgKEMpLCBnaXNtdSAo ZyksIGx1anZvIChsKSwgJydmdSdpdmxhJycgKGYpIG9yIGNtYXZvIChjKToKCkEgKSBqYWkgICAg ICAgIEcgKSBtdW1ibAoKQiApIC5pcmNpICAgICAgICBIICkgLmknaQoKQyApIGJvc3R1ICAgICAg ICBJICkgY3UKCkQgKSB4ZWxtYW4gICAgICAgIEogKSBwbGFqdmEKCkUgKSBwbydlICAgICAgICBL ICkgZGFuc2VrZQoKRiApIGRqaXNrdSAgICAgICAgTCApIC5lcnRzYQoKCgpBbnN3ZXI6IH5+Z3Jl eSxncmV5OmEtYywgYi1mLCBjLWcsIGQtQywgZS1jLCBmLWwsIGctQywgaC1jLCBpLWMsIGotbCwg ay1mLCBsLWYuIEkgbGVmdCBvdXQgdGhlIGZ1bGwgc3RvcHMgYmVmb3JlIGFuZCBhZnRlciBuYW1l cyBzbyBpdCB3b3VsZG4ndCBiZSB0b28gZWFzeS4KCk5vdGU6IHNvbWUgb2YgdGhlc2Ugd29yZHMs IGxpa2UgJydib3N0dScnIGRvIG5vdCBleGlzdCBpbiB0aGUgZGljdGlvbmFyeSwgYnV0IHRoaXMg aXMgaXJyZWxldmFudC4gVGhlIG1vcnBob2xvZ3kgc3RpbGwgbWFrZXMgaXQgYSBnaXNtdSwgc28g aXQncyBqdXN0IGFuIHVuZGVmaW5lZCBnaXNtdS4gU2ltaWxhcmx5IHdpdGggJycuZXJ0c2EnJ35+ CgoKCgoKISFMb2piYW4gTGVzc29ucyAtIExlc3NvbiBmb3VydGVlbiAodGhlIExvamJhbiBzdW10 aSAxOiBMRSBhbmQgTEEpCgpJZiB5b3UgaGF2ZSByZWFkIGFuZCB1bmRlcnN0b29kIHRoZSBjb250 ZW50IG9mIGFsbCB0aGUgbGVzc29ucyB1bnRpbCBub3csIHlvdSBoYXZlIGFtYXNzZWQgYSBsYXJn ZSBlbm91Z2gga25vd2xlZGdlIG9mIExvamJhbiBzbyB0aGF0IGl0IGRvZXNuJ3QgbWF0dGVyIGlu IHdoaWNoIG9yZGVyIHlvdSBsZWFybiB0aGUgcmVzdC4gQXMgYSByZXN1bHQsIHRoZSBvcmRlciBv ZiB0aGUgbmV4dCBsZXNzb25zIHdpbGwgYmUgYSBtaXh0dXJlIG9mIHNvcnRlZCBieSBpbmNyZWFz aW5nIGRpZmZpY3VsdHkgYW5kIHNvcnRlZCBieSBpbXBvcnRhbmNlIGluIG9yZGluYXJ5IExvamJh biBjb252ZXJzYXRpb24uCgoKCk9uZSBvZiB0aGUgYmlnZ2VzdCBjb25zdHJhaW5zIG9uIHlvdXIg c3BlYWsgbm93IGlzIHlvdXIgbGltaXRlZCBrbm93bGVkZ2Ugb24gaG93IHRvIG1ha2Ugc3VtdGku IFNvIGZhciwgeW91IG9ubHkga25vdyAnJ3RpJycgYW5kICcnbG8gU0VMQlJJJycsIHdoaWNoIGRv ZXNuJ3QgdGFrZSB5b3UgZmFyIGNvbnNpZGVyaW5nIGhvdyBpbXBvcnRhbnQgc3VtdGkgYXJlIGlu IExvamJhbi4gVGhpcyBsZXNzb24gYXMgd2VsbCBhcyB0aGUgZm9sbG93aW5nIHR3byB3aWxsIGJl IGFib3V0IHRoZSBMb2piYW4gc3VtdGkuIEZvciBub3csIHdlIGZvY3VzIG9uIHRoZSBkZXNjcmlw dGl2ZS1saWtlIHN1bXRpLCB0aGUgb25lcyBtYWRlIHdpdGggYXJ0aWNsZXMgbGlrZSAnJ2xvJycK CkFydGljbGVzIGFyZSBpbiBsb2piYW4gY2FsbGVkICcnZ2FkcmknJywgYW5kIGFsbCB0aGUgb25l cyBkaXNjdXNzZWQgaW4gdGhpcyBsZXNzb24gYXJlIHRlcm1pbmF0ZWQgYnkgJydrdScnLCBleGNl cHQgdGhlIGNvbWJpbmF0aW9ucyAnJ2xhIENNRVZMQScnLCAnJ2xhaSBDTUVWTEEnJyBhbmQgJyds YSdpIENNRVZMQScnLiBXZSB3aWxsIGJlZ2luIGJ5IGRlc2NyaWJpbmcgdGhyZWUgc2ltcGxlIGtp bmRzIG9mIGRlc2NyaXB0aXZlIHN1bXRpLCBhbmQgdGhlbiBpbW1lZGlhdGVseSBmaW5kIHRoYXQg dGhleSBhcmUgbm90IHNvIHNpbXBsZSBhZnRlciBhbGw6CgpfXycnbG8nJ19fIC0gZ2Fkcmk6IEdl bmVyaWMgdmVyaWRpY2FsIOKAnGNvbnZlcnQgc2VsYnJpIHRvIHN1bXRp4oCdLiBSZXN1bHQgaXMg dmFndWUgd2l0aCByZWdhcmQgdG8gaW5kaXZpZHVhbGl0eS9tYXNzLW5lc3MuCgpfXycnbGUnJ19f IC0gZ2Fkcmk6IEdlbmVyaWMgZGVzY3JpcHRpdmUg4oCcY29udmVydCBzZWxicmkgdG8gc3VtdGni gJ0uIFJlc3VsdCBpcyB2YWd1ZSB3aXRoIHJlZ2FyZCB0byBpbmRpdmlkdWFsaXR5L21hc3MtbmVz cy4KCl9fJydsYScnX18gLSBnYWRyaTogTmFtaW5nIGFydGljbGU6IENvbnZlbnRpb25hbCwg4oCc Y29udmVydCBzZWxicmkgb3IgY21ldmxhIHRvIHN1bXRp4oCdLiBUcmVhdCByZXN1bHQgYXMgaW5k aXZpZHVhbChzKS4KCgoKWW91IGFyZSBhbHJlYWR5IGZhbWlsaWFyIHdpdGggJydsbycnIGFuZCB3 aGF0IGl0IGRvZXMuIEJ1dCB3aGF0IGRvZXMgaXQgbWVhbiwg4oCcdmVyaWRpY2Fs4oCdIGFuZCDi gJx2YWd1ZSB3aXRoIHJlZ2FyZCB0byBpbmRpdmlkdWFsaXR5L21hc3MtbmVzc+KAnT8gVGhlIGxh dHRlciBhYm91dCBpbmRpdmlkdWFscyBhbmQgbWFzc2VzLCBJJ2xsIGNvbWUgYmFjayB0byBsYXRl ci4gRm9yIG5vdywg4oCcdmVyaWRpY2Fs4oCdIGluIHRoaXMgY29udGV4dCBtZWFucyB0aGF0IGlu IG9yZGVyIGZvciBhIHRoaW5nIHRvIHF1YWxpZnkgYmVnaW4gbGFiZWxsZWQgYXMgJydsbyBrbGFt YScnLCBpdCBoYXMgdG8gYWN0dWFsbHkgJydrbGFtYScnLiBUaHVzLCB2ZXJpZGljYWwgZ2Fkcmkg bWFrZXMgYSBjbGFpbSB3aGljaCBtYXkgYmUgdHJ1ZSBvciBmYWxzZSAtIHRoYXQgdGhlIG9iamVj dChzKSBpbiBxdWVzdGlvbiBhcmUgYWN0dWFsbHkgdGhlIHgxIG9mIHRoZSBzZWxicmkgYWZ0ZXIg JydsbycnLiAKCgoKVGhpcyBtYXkgYmUgY29udHJhc3RlZCB3aXRoICcnbGUnJywgd2hpY2ggaXMg ZGVzY3JpcHRpdmUsIGFuZCB0aHVzIG5vdCB2ZXJpZGljYWwuIFNheWluZyAnJ2xlIGdlcmt1Jycg c2F5cyB0aGF0IHlvdSBoYXZlIG9uZSBvciBtb3JlIHNwZWNpZmljIG9iamVjdHMgaW4gbWluZCwg YW5kIHlvdSB1c2UgdGhlIHNlbGJyaSAnJ2dlcmt1JycgdG8gZGVzY3JpYmUgaXQsIHNvIHRoYXQg dGhlIGxpc3RlbmVyIG1heSBpZGVudGlmeSB0aG9zZSBzcGVjaWZpYyBvYmplY3RzLiBUaGlzIG1l YW5zIHRoYXQgJydsZScnIGhhdmVzIHR3byBpbXBvcnRhbnQgZGlmZmVyZW5jZXMgZnJvbSAnJ2xv Jyc6IEZpcnN0bHksIGl0IGNhbm5vdCByZWZlciB0byBvYmplY3RzIGluIGdlbmVyYWwsIGJ1dCBh bHdheXMgcmVmZXJzIHRvIHNwZWNpZmljIG9iamVjdHMuIFNlY29uZGx5LCB3aGlsZSAnJ2xvIGdl cmt1JycgZGVmaW5pdGVseSBpcyBvbmUgb3IgbW9yZSBkb2dzLCAnJ2xlIGdlcmt1JycsIGJlY2F1 c2UgaXQncyBub3QgdmVyaWRpY2FsLCBjYW4gYmUgYW55dGhpbmcsIGFzIGxvbmcgYXMgdGhlIHNw ZWFrZXIgdGhpbmtzIHRoZSBkZXNjcmlwdGlvbiB3aWxsIGhlbHAgaWRlbnRpZnlpbmcgdGhlIGNv cnJlY3Qgb2JqZWN0cy4gUGVyaGFwcyB0aGUgc3BlYWtlciBpcyByZWZlcnJpbmcgdG8gYSBoeWVu YSwgYnV0IGFyZSBub3QgZmFtaWxpYXIgd2l0aCB0aGVtIGFuZCB0aGluayDigJxkb2figJ0gaXMg YSBnb29kIGVub3VnaCBhcHByb3hpbWF0aW9uIHRvIGJlIHVuZGVyc3Rvb2QuIFRoaXMgbm9uLXZl cmlkaWNhbGl0eSBpcyBwZXJoYXBzIG92ZXItZW1waGFzaXNlZCBpbiBtb3N0IG1hbnkgdGV4dHM7 IFRoZSBiZXN0IHdheSB0byBkZXNjcmliZSBhIGRvZyBpcyB1c3VhbGx5IHRvIGRlc2NyaWJlIGl0 IGFzIGJlaW5nIGEgZG9nLCBhbmQgdW5sZXNzIHRoZXJlIGlzIGEgZ29vZCByZWFzb24gbm90IHRv LCAnJ2xlIGdlcmt1JycgaXMgdXN1YWxseSBwcmVzdW1lZCB0byByZWZlciB0byBzb21ldGhpbmcg d2hpY2ggaXMgYWxzbyAnJ2xvIGdlcmt1JycuCgpJbiB0cmFuc2xhdGlvbiwgJydsbyBnZXJrdScn IGlzIHVzdWFsbHkg4oCcYSBkb2figJ0gb3Ig4oCcc29tZSBkb2dz4oCdLCB3aGlsZSAnJ2xlIGdl cmt1JycgaXMg4oCcdGhlIGRvZ+KAnSBvciDigJx0aGUgZG9nc+KAnS4gRXZlbiBiZXR0ZXIgZm9y ICcnbGUgZ2Vya3UnJyB3b3VsZCBiZSDigJx0aGUg4oCcZG9nKHMp4oCdIOKAnQoKCgpMYXN0IG9m IHRoZSB0aHJlZSBiYXNpYyAnJ2dhZHJpJycsIHRoZXJlIGlzICcnbGEnJywgdGhlIG5hbWluZyAn J2dhZHJpJycsIHdoaWNoIEkgaGF2ZSB1bmNvbnZlbnRpb25hbGx5IGNhbGxlZCDigJxjb252ZW50 aW9uYWzigJ0uIFdoYXQgSSBtZWFuIGJ5IHRoaXMgaXMgdGhhdCBpdCdzIG5laXRoZXIgZGVzY3Jp cHRpdmUgbm9yIHZlcmlkaWNhbCwgc2luY2UgaXQgcmVmZXJzIHRvIGEgcHJvcGVyIG5hbWUuIElm IEkgaW4gRW5nbGlzaCByZWZlciB0byBhIHBlcnNvbiBjYWxsZWQgSW5ub2NlbnQgYnkgaGVyIG5h bWUsIEkgbmVpdGhlciBkZXNjcmliZSBoZXIgYXMgYmVpbmcgaW5ub2NlbnQsIG5vciBkbyBJIHN0 YXRlIHRoYXQgc2hlIGlzLiBJIG9ubHkgc3RhdGUgdGhhdCBieSBjb252ZW50aW9uLCB0aGF0IG9i amVjdCBpcyByZWZlcnJlZCB0byBieSB0aGF0IHNlbGJyaSBvciBjbWV2bGEuIE5vdGUgdGhhdCAn J2xhJycgYW5kIHRoZSBnYWRyaSBkZXJpdmVkIGZyb20gaXQgY2FuIGNvbnZlcnQgY21ldmxhIHRv IHN1bXRpIHVubGlrZSBhbnkgb3RoZXIgJydnYWRyaScnLiBBbHNvOiBCZSBjYXV0aW91czogT3Ro ZXIgdGV4dHMgZG8gbm90IG1lbnRpb24gdGhhdCBuYW1lcyBjYW4gYmUgZm9ybWVkIGZyb20gb3Jk aW5hcnkgc2VsYnJpIHVzaW5nIHRoZSBnYWRyaSAnJ2xhJycuIEJ1dCB0aG9zZSBoZXJldGljcyBt dXN0IGJ1cm47IHNlbGJyaSBuYW1lcyBhcmUgYXMgZ29vZCBhcyB0aGV5IGdldCwgYW5kIG1hbnkg YSBwcm91ZCBMb2piYW5pc3QgaGF2ZSB0aGVtLgoKJydsYScnLCBhcyB3ZWxsIGFzICcnbGFpJycg YW5kICcnbGEnaScnIGFyZSBhIGJpdCBlY2NlbnRyaWMsIHNpbmNlIHRoZXkgX19hbHdheXNfXyBt YXJrcyB0aGUgYmVnaW5uaW5nIG9mIGEgbmFtZS4gVW5saWtlIHRoZSBvdGhlciBnYWRyaSwgYW55 dGhpbmcgdGhhdCBjYW4gYmUgZ3JhbW1hdGljYWxseSBwbGFjZWQgYWZ0ZXIgJydsYScnIGFuZCBp dHMgc2lzdGVycyBhcmUgY29uc2lkZXJlZCBwYXJ0IG9mIHRoZSBuYW1lLiBGb3IgZXhhbXBsZSwg JydsZSBtaSBnZXJrdScnIGlzICJteSBkb2ciLCBidXQgJydsYSBtaSBnZXJrdScnIGlzIHNvbWVv bmUgY2FsbGVkICJNeSBEb2ciLgoKCgpUaGVzZSB0aHJlZSBiYXNpYyAnJ2dhZHJpJycgY2FuIGJl IGV4cGFuZGVkIHdpdGggdGhyZWUgbW9yZSwgd2hpY2ggY29ycmVzcG9uZHMgdG8gdGhlIHByZXZp b3VzOgoKCgpfXycnbG9pJydfXyAtIGdhZHJpOiB2ZXJpZGljYWwg4oCcY29udmVydCBzZWxicmkg dG8gc3VtdGnigJ0uIFRyZWF0IHJlc3VsdCBhcyBtYXNzKGVzKS4KCl9fJydsZWknJ19fIC0gZ2Fk cmk6IERlc2NyaXB0aXZlIOKAnGNvbnZlcnQgc2VsYnJpIHRvIHN1bXRp4oCdLiBUcmVhdCByZXN1 bHQgYXMgYSBtYXNzKGVzKS4KCl9fJydsYWknJ19fIC0gZ2Fkcmk6IE5hbWluZyBhcnRpY2xlOiBD b252ZW50aW9uYWwsIOKAnGNvbnZlcnQgc2VsYnJpIG9yIGNtZXZsYSB0byBzdW10aeKAnS4gVHJl YXQgcmVzdWx0IGFzIG1hc3MoZXMpLgoKCgpUaGVzZSBhcmUgdGhlIHNhbWUgaW4gYWxsIGFzcGVj dHMgZXhjZXB0IGZvciBvbmU6IFRoZXkgdHJlYXQgdGhlIHN1bXRpIGV4cGxpY2l0bHkgYXMgbWFz c2VzLiBJZiB0aGVyZSBpcyBvbmx5IG9uZSBvYmplY3QgaW4gcXVlc3Rpb24sIGFuIGluZGl2aWR1 YWwgYW5kIGEgbWFzcyBjb25zaXN0aW5nIG9mIG9uZSBvYmplY3QgYXJlIGVxdWl2YWxlbnQuIFRo ZSBkaWZmZXJlbmNlIGJldHdlZW4gdGhlc2UgdHdvIGNvbmNlcHRzIGxpZSBpbiB3aGljaCBzZWxi cmkgY2FuIGJlIGFzY3JpYmVkIHRvIGEgZ3JvdXAgb2YgaW5kaXZpZHVhbHMgdmVyc3VzIGEgbWFz cy4gQSBncm91cCBvZiBpbmRpdmlkdWFscyBjYW4gYmUgc2FpZCB0byBmaXQgYSBjZXJ0YWluIHNl bGJyaSBpZiwgYW5kIG9ubHkgaWYsIGFsbCBtZW1iZXJzIG9mIHRoZSBncm91cCBlYWNoIGZpdCB0 aGUgc2VsYnJpLiBJdCBpcyBjb3JyZWN0IHRvIGRlc2NyaWJlIGEgcGFjayBvZiAnJ2xvIGdlcmt1 JycsIGNvbnNpZGVyZWQgaW5kaXZpZHVhbGx5LCBhcyBiZWluZyBibGFjaywgaWYgZm9yIGVhY2gg b2YgdGhlIGRvZ3MgaXQncyB0cnVlIHRoYXQgdGhleSBhcmUgYmxhY2suIEEgbWFzcywgb24gdGhl IG90aGVyIGhhbmQsIGZpdHMgb25seSB0aG9zZSBzZWxicmkgd2hpY2ggaXRzIGNvbXBvbmVudHMg Zml0IGFzIGEgd2hvbGUsIGFzIGEgdGVhbSwgc28gdG8gc3BlYWsuIEhvd2V2ZXIsIGFsbCB0aGUg bWVtYmVycyBvZiBhIG1hc3MgJydsb2kgZ2Vya3UnJyBtdXN0IGJlIGRvZ3MgaW4gb3JkZXIgZm9y ICcnbG9pJycgdG8gYmUgYXBwbGljYWJsZS4gVGhlIG5vdGlvbiBvZiAibWFzc2VzIiBhcmUgc29w aGlzdGljYXRlZCwgYW5kIHJlcXVpcmVzIHNvbWUgZXhhbXBsZXMgdG8gZGVtb25zdHJhdGUgd2hp Y2ggcHJvcGVydGllcyBpdCBjYW4gaGF2ZToKCl9fJydzcnVyaScnX186IOKAnHgxIGZsYW5rcy9l bmNpcmNsZXMvZW5jbG9zZXMgeDIgaW4gbGluZS9wbGFuZS9kaXJlY3Rpb25zIHgz4oCdCgonJ2xl aSBwcmVudSBjdSBzcnVyaSBsbyB6ZGFuaScnIC0g4oCcVGhlIHBlb3BsZSBzdXJyb3VuZGVkIHRo ZSBob21lLuKAnSBpcyBwbGF1c2libGUsIGV2ZW4gdGhvdWdoLCB5byBtb21hIGpva2VzIG5vdCBj b25zaWRlcmVkLCBpdCdzIGNvbXBsZXRlbHkgaW1wbGF1c2libGUgdGhhdCBpdCBjb3VsZCBiZSB0 cnVlIGZvciBhbnkgb25lIG9mIHRoZSBtZW1iZXJzIGFsb25lLiBBbiBFbmdsaXNoIGFuYWxvZ3kg Y291bGQgYmU6IOKAnEh1bWFucyBkZWZlYXRlZCBzbWFsbHBveCBpbiB0aGUgMjB0aCBjZW50dXJ5 4oCdLiBTdXJlbHkgbm8gaHVtYW4gZGlkIHNvLCBidXQgdGhlIG1hc3Mgb2YgaHVtYW5zIGRpZCwg YW5kIHRoYXQgbWFrZXMgdGhlIHNlbnRlbmNlIHRydWUgaW4gRW5nbGlzaCwgYXMgd2VsbCBhcyBp biBMb2piYW4gaWYg4oCcaHVtYW5z4oCdIGFyZSBhIG1hc3MuIEp1c3QgbGlrZSB0aGUgTG9qYmFu IG1hc3MsIHRoZSBFbmdsaXNoIG1hc3Mg4oCcaHVtYW5z4oCdIGNhbiBvbmx5IHJlZmVyIHRvIGlu ZGl2aWR1YWxzIGVhY2ggb2Ygd2hpY2ggYXJlIGh1bWFuLiBBbm90aGVyIGV4YW1wbGU6CgpfXycn bWl2eXNsZScnX186ICJ4MSBpcyBhIGJpb2xvZ2ljYWwgY2VsbCBvZiBvcmdhbmlzbSB4MiIKCl9f JydyZW1uYScnX186ICJ4MSBpcyBhIGh1bWFuIgoKJydsb2kgbWl2eXNsZSBjdSByZW1uYScnIC0g IlNvbWUgbWFzc2VzIG9mIGNlbGxzIGFyZSBodW1hbiIuIEFnYWluLCBub25lIG9mIHRoZSBjZWxs cyBhcmUgaHVtYW4uIEluZGVlZCwgdGhlIGNlbGxzIGhhdmUgdmVyeSBmZXcgaHVtYW4gdHJhaXRz LCBidXQgdGhlIGNlbGxzIGNvbnNpZGVyZWQgYXMgYSB3aG9sZSBtYWtlcyB1cCBhIGh1bWFuLgoK CgpBIG1hc3MgbWFkZSB3aXRoICcnbGVpJycsIHN1Y2ggYXMgJydsZWkgZ2Vya3UnJywgcmVmZXJz IHRvIGEgbWFzcyBmb3JtZWQgYnkgYSBncm91cCBvZiBzcGVjaWZpYyBpbmRpdmlkdWFscywgZWFj aCBvZiB3aGljaCB0aGUgc3BlYWtlciByZWZlcnMgdG8gYXMgJydsZSBnZXJrdScnLgoKTWFzcyBu YW1lcyBhcyBkZXNjcmliZXMgYnkgJydsYWknJyBhcmUgb25seSBhcHByb3ByaWF0ZSBpZiB0aGUg Z3JvdXAgYXMgYSB3aG9sZSBpcyBuYW1lZCBzdWNoLCBhbmQgbm90IGp1c3QgaWYgYW55IG9mIHRo ZSBtZW1iZXJzIGFyZS4gSXQgY2FuLCBob3dldmVyIGJlIHVzZWQgaWYgdGhlIGJyaWRpIGlzIHRy dWUgZm9yIG9ubHkgYSBmcmFjdGlvbiBvZiB0aGF0IGdyb3VwLgoKCgpJdCBpcyBpbXBvcnRhbnQg dG8gcmVtZW1iZXIgdGhhdCAnJ2xvJycgYW5kICcnbGUnJyBjYW4gYmUgdXNlZCB0byBkZXNjcmli ZSBib3RoIGluZGl2aWR1YWxzIGFuZCBtYXNzZXMuIExldCdzIHNheSBhIHBhY2sgb2YgZG9ncywg Y29uc2lkZXJlZCBhcyBhIG1hc3MgbmVlZHMgZGVzY3JpcHRpb24uIEkgbWlnaHQgZGVzY3JpYmUg aXQgYXMgZWl0aGVyICcnbG9pIGdlcmt1Jycgb3IgJydsbyBnZXJrdScnLiBJZiBJIHVzZSAnJ2xv JycsIHRoaXMgYWxsb3dzIG1lIHRvIGNvcnJlY3RseSBzdGF0ZSBzb21ldGhpbmcgd2hpY2ggbG9v a3MgbGlrZSBhIGNvbnRyYWRpY3Rpb24sIGJ1dCByZWFsbHkgaXNuJ3Q6ICcnbG8gZ2Vya3UgbmEg Z2Vya3UnJyAtICJTb21lIGRvZ3MgYXJlIG5vdCBkb2dzIi4gU2luY2UgaXQncyBiZWluZyBjb25z aWRlcmVkIGEgbWFzcyBvZiBkb2dzLCB0aGUgbWFueSBkb2dzIGNvbnNpZGVyZXMgYXMgYSB3aG9s ZSBpcyBub3QgYSBkb2csIGJ1dCByYXRoZXIgYSBwYWNrIG9mIGRvZ3MuCgpZb3UgbWlnaHQgaGF2 ZSBub3RpY2VkIHRoYXQgdGhlcmUgaXMgbm8gd29yZCB3aGljaCB1bmFtYmlndW91c2x5IGNvbnZl cnRzIHNlbGJyaSB0byBpbmRpdmlkdWFsKHMpLiBJbiBvcmRlciB0byBiZSBleHBsaWNpdCBhYm91 dCBpbmRpdmlkdWFsbmVzcywgb25lIG5lZWRzICcnbG8nJywgJydsZScnIG9yICcnbGEnJyB3aXRo IGFuIG91dGVyIHF1YW50aWZpZXIuIFRoZSBzdWJqZWN0IG9mIHF1YW50aWZpZXJzIHdpbGwgYmUg Y29uc2lkZXJlZCBsYXRlciwgaW4gbGVzc29uIHR3ZW50eS10d28uIFdoYXQgaXMgdGhlIHJlYXNv biB0aGF0ICcnbG8nJyBhbmQgJydsZScnIHZhZ3VlLCBhbmQgbm90IGV4cGxpY2l0bHkgaW5kaXZp ZHVhbD8gSXQgaXMgYmVjYXVzZSB0aGVpciB2YWd1ZW5lc3MgZW5hYmxlcyB0aGVtIHRvIGJlIHVz ZWQgaW4gYW55IGNvbnRleHQsIHdpdGhvdXQgdGhlIHNwZWFrZXIgaGF2aW5nIHRvIHRoaW5rIGFi b3V0IHdoZXRoZXIgaXMgYmVoYXZlcyBhcyBhIG1hc3Mgb3IgYSBncm91cCBvZiBpbmRpdmlkdWFs cy4KCgoKVGhpcmQgaW4gdGhpcyBzZXJpZXMsIHRoZXJlIGFyZSB0aHJlZSBzZXQtZm9ybWluZyAn J2dhZHJpJyc6CgoKCl9fJydsbydpJydfXyAtIGdhZHJpOiB2ZXJpZGljYWwg4oCcY29udmVydCBz ZWxicmkgdG8gc3VtdGnigJ0uIFRyZWF0IHJlc3VsdCBhcyBhIHNldC4KCl9fJydsZSdpJydfXyAt IGdhZHJpOiBEZXNjcmlwdGl2ZSDigJxjb252ZXJ0IHNlbGJyaSB0byBzdW10aeKAnS4gVHJlYXQg cmVzdWx0IGFzIGEgc2V0LgoKX18nJ2xhJ2knJ19fIC0gZ2Fkcmk6IE5hbWluZyBhcnRpY2xlOiBD b252ZW50aW9uYWwsIOKAnGNvbnZlcnQgc2VsYnJpIG9yIGNtZXZsYSB0byBzdW10aeKAnS4gVHJl YXQgcmVzdWx0IGFzIGEgc2V0LgoKCgpVbmxpa2UgZ3JvdXBzIG9mIGluZGl2aWR1YWxzIG9yLCBz b21ldGltZXMsIG1hc3Nlcywgc2V0cyBkb2VzIG5vdCB0YWtlIGFueSBvZiB0aGUgcHJvcGVydGll cyBmcm9tIHRoZSBvYmplY3RzIGZyb20gd2hpY2ggdGhlIHNldCBpcyBmb3JtZWQuIEEgc2V0IGlz IGEgcHVyZWx5IG1hdGhlbWF0aWNhbCBvciBsb2dpY2FsIGNvbnN0cnVjdCwgYW5kIGhhcyBwcm9w ZXJ0aWVzIGxpa2UgY2FyZGluYWxpdHksIG1lbWJlcnNoaXAgYW5kIHNldCBpbmNsdXNpb24uIEFn YWluLCBub3RlIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gYSBzZXQgb2YgdGhpbmdzLCBhbmQgdGhl IHRoaW5ncyBvZiB3aGljaCB0aGUgc2V0IGlzIGZvcm1lZDoKCl9fJyd0aXJ4dScnX18g4oCceDEg aXMgYSB0aWdlci9sZW9wYXJkL2phZ3VhciBvZiBzcGVjaWVzL2JyZWVkIHgyIHdpdGggY29hdCBt YXJraW5ncyB4M+KAnQoKJydsbydpIHRpcnh1IGN1IGNtYWx1Jycgc2F5cyBub3RoaW5nIGFib3V0 IHdoZXRoZXIgYmlnIGNhdHMgYXJlIHNtYWxsICh3aGljaCBpcywgYnkgdGhlIHdheSwgb2J2aW91 c2x5IGZhbHNlKSwgYnV0IGluc3RlYWQgc2F5IHRoYXQgdGhlIHNldCBvZiBiaWcgY2F0cyBpcyBz bWFsbDsgdGhhdCBpcyAtIHRoZXJlIGFyZSBmZXcgb2YgdGhlbS4KCgoKTGFzdGx5LCB0aGVyZSBh cmUgdGhlIChvbmx5IHR3bykgZ2VuZXJhbGl6aW5nICcnZ2FkcmknJzoKCl9fJydsbydlJydfXyAt IGdhZHJpOiB2ZXJpZGljYWwg4oCcY29udmVydCBzZWxicmkgdG8gc3VtdGnigJ0uIFN1bXRpIHJl ZmVycyB0byB0aGUgYXJjaGV0eXBlIG9mICcnbG8ge3NlbGJyaX0nJy4KCl9fJydsZSdlJydfXyAt IGdhZHJpOiBEZXNjcmlwdGl2ZSDigJxjb252ZXJ0IHNlbGJyaSB0byBzdW10aeKAnS4gU3VtdGkg cmVmZXJzIHRvIHRoZSBkZXNjcmliZWQvcGVyY2VpdmVkIGFyY2hldHlwZSBvZiAnJ2xlIHtzZWxi cml9JycuCgpPZiB3aGljaCB0aGVyZSBpcyBubyAnJ2xhJyctZXF1aXZhbGVudC4KCgoKU28sIHdo YXQgaXMgYWN0dWFsbHkgbWVhbnQgYnkgdGhlIGFyY2hldHlwZT8gRm9yICcnbG8nZSB0aXJ4dScn LCBpdCBpcyBhbiBpZGVhbCwgaW1hZ2luZWQgYmlnIGNhdCwgd2hpY2ggaGFzIGFsbCB0aGUgcHJv cGVydGllcyB3aGljaCBiZXN0IGV4ZW1wbGlmaWVzIGJpZyBjYXRzLiBJdCB3b3VsZCBiZSB3cm9u ZyB0byBzYXkgdGhhdCB0aGlzIGluY2x1ZGVzIGhhdmluZyBhIHN0cmlwZWQgZnVyLCBzaW5jZSBh IGJpZyBzeXN0ZW1hdGljIHN1Ymdyb3VwIG9mIHRoZSBtZW1iZXJzIG9mIHRoZSBzZXQgb2YgYmln IGNhdHMgZG8gbm90IGhhdmUgc3RyaXBlZCBmdXIsIHRoZSBsZW9wYXJkcyBhbmQgdGhlIGphZ3Vh cnMuIExpa2V3aXNlLCB0aGUgdHlwaWNhbCBodW1hbiBkb2VzIG5vdCBsaXZlIGluIEFzaWEgZXZl biB0aG91Z2ggYSBsb3Qgb2YgaHVtYW5zIGRvLiBIb3dldmVyLCBpZiBzdWZmaWNpZW50bHkgbWFu eSBodW1hbnMgaGF2ZSBhIHRyYWl0LCBmb3IgaW5zdGFuY2UgYmVpbmcgYWJsZSB0byBzcGVhaywg d2UgY2FuIHNheToKCl9fJydrYWtuZScnX186IOKAnHgxIGlzIGNhcGFibGUgb2YgZG9pbmcvYmVp bmcgeDIgdW5kZXIgY2lyY3Vtc3RhbmNlIHgz4oCdCgonJ2xvJ2UgcmVtbmEgY3Uga2FrbmUgbG8g bnUgdGF2bGEnJyAtIOKAnFRoZSB0eXBpY2FsIGh1bWFuIGJlaW5nIGNhbiBzcGVha+KAnS4KCgoK JydsZSdlJycgdGhlbiwgaXMgdGhlIGlkZWFsIG9iamVjdCBhcyBwZXJjZWl2ZWQgb3IgZGVzY3Jp YmVkIGJ5IHRoZSBzcGVha2VyLiBUaGlzIG5lZWQgbm90IGJlIGZhY3R1YWxseSBjb3JyZWN0LCBh bmQgaXMgb2Z0ZW4gdHJhbnNsYXRlZCBhcyB0aGUg4oCcc3RlcmVvdHlwZeKAnSwgZXZlbiB0aG91 Z2ggdGhlIEVuZ2xpc2ggcGhyYXNlIGhhdmUgc29tZSB1bnBsZWFzYW50IG5lZ2F0aXZlIGNvbm5v dGF0aW9ucywgd2hpY2ggdGhlIExvamJhbiBkb2VzIG5vdC4gSW4gZmFjdCwgZXZlcnlvbmUgaGFz IGEgc3RlcmVvdHlwaWNhbCBhcmNoZXR5cGljaGFsIGltYWdlIG9mIGFueSBjYXRlZ29yeS4gSW4g b3RoZXIgd29yZHMsICcnbG8nZSByZW1uYScnIGlzIHRoZSBhcmNoZXR5cGUgd2hpY2ggYmVzdCBl eGVtcGxpZmllcyBhbGwgJydsbyByZW1uYScnLCB3aGlsZSB0aGUgYXJjaGV0eXBlICcnbGUnZSBy ZW1uYScnIGJlc3QgZXhlbXBsaWZpZXMgYWxsICcnbGUgcmVtbmEnJy4KCgoKVGhlIGVsZXZlbiBn YWRyaSBjYW4gYmUgc2VlbiBpbiB0aGUgZGlhZ3JhbSBiZWxvdy4KCnx8IHxHZW5lcmljfE1hc3Nl c3xTZXRzfEdlbmVyYWxpemluZwoKdmVyaWRpY2FsfGxvfGxvaXxsbydpfGxvJ2UKCkRlc2NyaXB0 aXZlfGxlfGxlaXxsZSdpfGxlJ2UKCk5hbWV8bGF8bGFpfGxhJ2l8ZG9lcyBub3QgZXhpc3R8fAoK CgpOb3RlOiBFYXJsaWVyLCB0aGVyZSB3YXMgYSB3b3JkICcneG8nZScnIGZvciB0aGUgZ2VuZXJp YyBnYWRyaS4gSG93ZXZlciwgdGhlIHJ1bGVzIGFuZCBkZWZpbml0aW9ucyBmb3IgZ2Fkcmkgd2Vy ZSBjaGFuZ2VkIGluIGxhdGUgMjAwNCwgYW5kIHRoZSBjdXJyZW50IHNldCBvZiBydWxlcyBvbiB0 aGlzIHRvcGljLCBuaWNrZWQg4oCceG9ybG/igJ0gaGFzIHJlcGxhY2VkIHRoZSBvbGQgd2F5LiBO b3csICcnbG8nJyBpcyBnZW5lcmljLCBhbmQgJyd4bydlJycgaXMgdXNlZCBhcyBhIGVsbGlwdGlj YWwgZGlnaXQgKGxlc3NvbiBuaW5ldGVlbikuCgoKCgoKISFMb2piYW4gTGVzc29ucyAtIExlc3Nv biBmaWZ0ZWVuICh0aGUgTG9qYmFuIHN1bXRpIDI6IEtPaEEzLCBLT2hBNSBhbmQgS09oQTYpCgpT ZWUgd2hhdCBoYXBwZW5zIGlmIEkgdHJ5IHRvIHRyYW5zbGF0ZSB0aGUgc2VudGVuY2U6IOKAnFN0 ZXJlb3R5cGljYWwgcGVvcGxlIHdobyBjYW4gc3BlYWsgTG9qYmFuIHNwZWFrIHRvIGVhY2ggb3Ro ZXIgYWJvdXQgdGhlIGxhbmd1YWdlcyB0aGV5IGNhbiBzcGVha+KAnToKCl9fJydiYW5ndScnX18g 4oCceDEgaXMgYSBsYW5ndWFnZSB1c2VkIGJ5IHgyIHRvIGV4cHJlc3MgeDMgKGFic3RyYWN0aW9u KeKAnQoKJydsZSdlIHByZW51IHBvaSBrZSdhIGtha25lIGxvIG51IHRhdmxhIGZvIGxhIC5sb2pi YW4uIGN1IHRhdmxhIGxlJ2UgcHJlbnUgcG9pIGtlJ2Ega2FrbmUgbG8gbnUgdGF2bGEgZm8gbGEg LmxvamJhbi4gbG8gYmFuZ3UgcG9pIGxvIHByZW51IHBvaSBrZSdhIHRhdmxhIGZvIGxhIC5sb2pi YW4uIGN1IHNlIGJhbmd1IGtlJ2EnJwoKCgpXaGF0IHdlIHNlZSBpcyB0aGF0IHRoZSBMb2piYW4g dmVyc2lvbiBpcyBtdWNoIGxvbmdlciB0aGFuIHRoZSBFbmdsaXNoLiBUaGlzIGlzIHByaW1hcmls eSBiZWNhdXNlIHRoZSBmaXJzdCwgcmlkaWN1bG91c2x5IGxvbmcgc3VtdGkgaXMgYmVpbmcgcmVw ZWF0ZWQgdHdvIG1vcmUgdGltZXMgaW4gdGhlIExvamJhbiB0ZXh0LCB3aGlsZSB0aGUgRW5nbGlz aCBjYW4gcmVmZXIgdG8gaXQgYnkg4oCcZWFjaCBvdGhlcuKAnSBhbmQg4oCcdGhleeKAnSAtIG11 Y2ggbW9yZSBlZmZpY2llbnRseS4gV291bGRuJ3QgaXQgYmUgY2xldmVyIGlmIExvamJhbiBzb21l aG93IGhhZCBtZWNoYW5pc21zIGZvciBkb2luZyB0aGUgc2FtZT8KCgoKSXQgdHVybnMgb3V0IGl0 IGRvZXMsIHdoYXQgYSBzdXJwcmlzZSEgTG9qYmFuIGhhcyBhIHJhbmdlIG9mIHdvcmRzIGNhbGxl ZCAnJ3N1bWthJ2knJyBtZWFuaW5nIOKAnHN1bXRpLXJlcHJlc2VudGF0aXZlc+KAnS4gSW4gRW5n bGlzaCwgd2UgcmVmZXIgdG8gdGhlbSBhcyBwcm8tc3VtdGksIGJlY2F1c2UgdGhleSBhcmUgZXNz ZW50aWFsbHkgdGhlIHNhbWUgYXMgdGhlIEVuZ2xpc2ggcHJvbm91bnMsIGJ1dCB3aXRoIHN1bXRp IGluc3RlYWQgb2Ygbm91bnMuIEluIGZhY3QsIHlvdSBhbHJlYWR5IGtub3cgJyd0aScnLCAnJ2Rv JycgYW5kICcnbWknJywgYnV0IHRoZXJlIGFyZSBtYW55IG1vcmUsIHNvIGxldCdzIGdldCBsZWFy bmluZy4gRmlyc3QsIHdlIHdhbnQgdG8gcHV0IGl0IGludG8gc3lzdGVtLiBXZSBjYW4gYmVnaW4g d2l0aCB0aGUgb25lcyBtb3N0IGZhbWlsaWFyIHRvIEVuZ2xpc2gsIGFuZCB3aGF0IHlvdSd2ZSBh bHJlYWR5IGxlYXJuZWQ6CgoKCl9fJyd0aScnX18gLSBzdW1rYSdpOiDigJxpbW1lZGlhdGUg4oCY aXQnOiByZXByZXNlbnRzIGEgc3VtdGkgcGh5c2ljYWxseSBuZWFyIHRoZSBzcGVha2Vy4oCdCgpf XycndGEnJ19fIC0gc3Vta2EnaTog4oCcbmVhcmJ5IOKAmGl0JzogcmVwcmVzZW50cyBhIHN1bXRp IHNvbWUgcGh5c2ljYWwgZGlzdGFuY2UgZnJvbSB0aGUgc3BlYWtlciBPUiBjbG9zZSB0byB0aGUg bGlzdGVuZXLigJ0KCl9fJyd0dScnX18gLSBzdW1rYSdpOiDigJxkaXN0YW50IOKAmGl0JzogcmVw cmVzZW50cyBhIHN1bXRpIHBoeXNpY2FsbHkgZmFyIGZyb20gdGhlIHNwZWFrZXIgYW5kIHRoZSBs aXN0ZW5lci7igJ0KCgoKWW91IGNhbiBhZ2FpbiByZWNvZ25pemUgdGhlIOKAnGksIGEsIHXigJ0t c2VxdWVuY2Ugd2hpY2ggcG9wcyB1cCBvdmVyIGFuZCBvdmVyLiBTb21lIHRoaW5ncyBtaWdodCB0 YWtlIHNvbWUgY2xlYXJpbmcgdXAsIHRob3VnaC4gRmlyc3RseSwgdGhlc2Ugc3VtdGkgY2FuIHJl cHJlc2VudCBhbnl0aGluZyB3aGljaCBjYW4gYmUgc2FpZCB0byBvY2N1cHkgYSBwaHlzaWNhbCBz cGFjZS4gT2JqZWN0cywgY2VydGFpbmx5LiBJZGVhcywgY2VydGFpbmx5IG5vdC4gRXZlbnRzIGFy ZSBhY2NlcHRlZCwgYnV0IG9ubHkgdG8gdGhlIGV4dGVudCB0aGV5IGFyZSByZXN0cmljdGVkIHRv IGEgc3BlY2lmaWMgcGxhY2UgLSB0aGUgSmFzbWluIFJldm9sdXRpb24gY2Fubm90IGJlIHBvaW50 ZWQgYXQsIGJ1dCBzb21lIGJhci1maWdodCBvciBhIGtpc3MgbWlnaHQuIFNlY29uZGx5LCBub3Rl IHRoYXQgdGhlIGRpc3RhbmNlIGlzIHJlbGF0aXZlIHRvIGRpZmZlcmVudCB0aGluZ3MgZm9yIHRo ZSBkaWZmZXJlbnQgd29yZHM6ICcndHUnJyBvbmx5IGFwcGxpZXMgaWYgaXQncyBkaXN0YW50IGZy b20gYm90aCB0aGUgc3BlYWtlciBhbmQgdGhlIGxpc3RlbmVyLiBJbiBjYXNlcyB3aGVyZSB0aGUg c3BlYWtlciBhbmQgbGlzdGVuZXIgaXMgZmFyIGFwYXJ0IGFuZCB0aGUgbGlzdGVuZXIgY2Fubm90 IHNlZSB0aGUgc3BlYWtlciB0YWxraW5nLCAnJ3RhJycgcmVmZXJzIHRvIHNvbWV0aGluZyBjbG9z ZSB0byB0aGUgbGlzdGVuZXIuIFRoaXJkbHksIGl0J3MgYWxsIHJlbGF0aXZlIGFuZCBjb250ZXh0 IGRlcGVuZGVudC4gVGhlc2UgdGhyZWUgd29yZHMgYXJlIGFsbCBwcm9ibGVtYXRpYyBpbiB3cml0 dGVuIHRleHQsIGZvciBpbnN0YW5jZSwgYmVjYXVzZSB0aGUgcG9zaXRpb24gb2YgdGhlIHNwZWFr ZXIgYW5kIGxpc3RlbmVyIGlzIHVua25vd24gdG8gZWFjaCBvdGhlciwgYW5kIGNoYW5nZXMgYXMg dGltZSBnb2VzIGJ5LiBGdXJ0aGVybW9yZSwgdGhlIGF1dGhvciBvZiBhIGJvb2sgY2Fubm90IHBv aW50IHRvIGFuIG9iamVjdCBhbmQgZXhwcmVzcyB0aGUgcG9pbnRpbmcgaW4gdGhlIGJvb2suCgoK ClRoZW4gdGhlcmUgaXMgYSBzZXJpZXMgY2FsbGVkIEtPaEEzLCB0byB3aGljaCAnJ21pJycgYW5k ICcnZG8nJyAoYW5kICcna28nJywgYnV0IEkgd29uJ3Qgd3JpdGUgdGhhdCBoZXJlKSBiZWxvbmdz OgoKX18nJ21pJydfXyAtIHN1bWthJ2k6IFRoZSBzcGVha2VyKHMpLgoKX18nJ21pJ28nJ19fIC0g c3Vta2EnaTogVGhlIG1hc3Mgb2YgdGhlIHNwZWFrZXIocykgYW5kIHRoZSBsaXN0ZW5lcihzKSAu CgpfXycnbWknYScnX18gLSBzdW1rYSdpOiBUaGUgbWFzcyBvZiB0aGUgc3BlYWtlcihzKSBhbmQg b3RoZXJzLgoKX18nJ21hJ2EnJ19fIC0gc3Vta2EnaTogVGhlIG1hc3Mgb2YgdGhlIHNwZWFrZXIo cyksIHRoZSBsaXN0ZW5lcihzKSBhbmQgb3RoZXJzLgoKX18nJ2RvJydfXyAtIHN1bWthJ2k6IFRo ZSBsaXN0ZW5lcihzKS4KCl9fJydkbydvJydfXyAtIHN1bWthJ2k6IFRoZSBtYXNzIG9mIHRoZSBs aXN0ZW5lcihzKSBhbmQgb3RoZXJzLgoKCgpUaGVzZSBzaXggc3Vta2EnaSBhcmUgbW9yZSBlYXNp bHkgZ3Jhc3BlZCBpbiB0aGUgYmVsb3cgVmVubiBkaWFncmFtOgoKCgp7aW1nIGZpbGVJZD0iMyIg dGh1bWI9InkiIHJlbD0iYm94W2ddIn0KClZlbm4gZGlhZ3JhbSBvZiBLT2hBMyAoJydrbycnIGV4 Y2x1ZGVkKS4gJydsZSBkcmF0YScnIGlzIG5vdCBhIEtPaEEzLCBidXQgbWVhbnMg4oCcdGhlIG90 aGVyKHMp4oCdCgoKCkl0IGlzIHBvc3NpYmxlIGZvciBzZXZlcmFsIHBlb3BsZSB0byBiZSDigJx0 aGUgc3BlYWtlcnPigJ0sIGlmIG9uZSBzdGF0ZW1lbnQgaXMgbWFkZSBvbiB0aGUgYmVoYWxmIG9m IGFsbCBvZiB0aGVtLiBUaGVyZWZvcmUsIHdoaWxlIOKAnHdl4oCdIGNhbiBiZSB0cmFuc2xhdGVk IGFzIGVpdGhlciAnJ21pJycsICcnbWknbycnLCAnJ21pJ2EnJyBvciAnJ21hJ2EnJywgd2hhdCBv bmUgcXVpdGUgb2Z0ZW4gbWVhbnMgaXMgcmVhbGx5IGp1c3QgJydtaScnLiBBbGwgb2YgdGhlc2Ug c2l4LCBpZiB0aGV5IHJlZmVyIHRvIG1vcmUgdGhhbiBvbmUgaW5kaXZpZHVhbCwgcmVwcmVzZW50 IG1hc3Nlcy4gV2l0aGluIGJyaWRpLWxvZ2ljLCB0aGUgYnJpZGkgJydtaSBnbGVraScnIHNhaWQg Ynkgc3BlYWtlciBBIGlzIGV4YWN0bHkgZXF1aXZhbGVudCB0byAnJ2RvIGdsZWtpJycgc2FpZCBi eSBzcGVha2VyIEIgdG8gc3BlYWtlciBBLCBhbmQgYXJlIGNvbnNpZGVyZWQgdGhlIHNhbWUgYnJp ZGkuIFdlIHdpbGwgY29tZSBiYWNrIHRvIHRoaXMgbGF0ZXIsIGluIHRoZSAnJ2JyaWthJ2knJyAo cHJvLWJyaWRpKSBsZXNzb24uCgoKCkFsbCBvZiB0aGVzZSAnJ3N1bWthJ2knJyBhcmUgdmVyeSBj b250ZW50LXNwZWNpZmljLCBhbmQgY2Fubm90IGJlIHVzZWQsIGZvciBpbnN0YW5jZSwgdG8gaGVs cCB1cyB3aXRoIHRoZSBzZW50ZW5jZSB3aGljaCB0aGlzIGxlc3NvbiBiZWdhbiB3aXRoLiBUaGUg Zm9sbG93aW5nIHNlcmllcyBjYW4gaW4gcHJpbmNpcGxlIGJlIHVzZWQgdG8gcmVmZXIgdG8gYW55 IHN1bXRpOgoKX18nJ3JpJydfXyAtIHN1bWthJ2k6IOKAnExhc3Qgc3VtdGkgbWVudGlvbmVk4oCd CgpfXycncmEnJ19fIC0gc3Vta2EnaTog4oCcQSByZWNlbnQsIGJ1dCBub3QgdGhlIGxhc3Qgc3Vt dGkgbWVudGlvbmVk4oCdCgpfXycncnUnJ19fIC0gc3Vta2EnaTog4oCcQSBzdW10aSBtZW50aW9u ZWQgbG9uZyBhZ2/igJ0KCgoKVGhlc2Ugc3VtdGkgd2lsbCByZWZlciB0byBhbnkgdGVybWluYXRl ZCBzdW10aSBleGNlcHQgbW9zdCBvdGhlciAnJ3N1bWthJ2knJy4gVGhlIHJlYXNvbiB0aGF0IG1v c3Qgb3RoZXIgJydzdW1rYSdpJycgY2Fubm90IGJlIHJlZmVycmVkIHRvIGJ5IHRoZXNlIHN1bXRp LCBpcyB0aGF0IHRoZXkgYXJlIHNvIGVhc3kgdG8ganVzdCByZXBlYXQgYnkgdGhlbXNlbHZlcy4g VGhlIGV4Y2VwdGlvbiB0byB0aGUgcnVsZSBhcmUgJyd0aScnLCAnJ3RhJycgYW5kICcndHUnJywg YmVjYXVzZSB5b3UgY291bGQgaGF2ZSBjaGFuZ2VkIHdoYXQgeW91IHBvaW50IGF0LCBhbmQgdGh1 cyBjYW5ub3QganVzdCByZXBlYXQgdGhlIHdvcmQuIFRoZXkgd2lsbCBvbmx5IHJlZmVyIHRvIHRl cm1pbmF0ZWQgc3VtdGksIGFuZCB0aHVzIGNhbm5vdCwgZm9yIGluc3RhbmNlLCBiZSB1c2VkIHRv IHJlZmVyIHRvIGFuIGFic3RyYWN0aW9uIGlmIHRoZSB3b3JkIGluIGlzIHRoYXQgYWJzdHJhY3Rp b246ICcnbGUgcGVuZG8gbm9pIGtlJ2EgcGVuZG8gbWkgY3UgZGppY2EgbG8gbnUgcmkgc2UgemRh bmknJyAtIGhlcmUgJydyaScnIGNhbm5vdCByZWZlciB0byB0aGUgYWJzdHJhdGlvbiwgc2luY2Ug aXQgaXMgbm90IHRlcm1pbmF0ZWQsIG5vciB0byAnJ21pJycgb3IgJydrZSdhJycsIHNpbmNlIHRo ZXkgYXJlIHN1bWthJ2ksIHNvIGl0IHJlZmVycyB0byAnJ2xlIHBlbmRvJycuCgonJ3JhJycgYW5k ICcncnUnJyBhcmUgY29udGV4dC1kZXBlbmRlbnQgaW4gd2hhdCB0aGV5IHJlZmVyIHRvLCBidXQg dGhleSBmb2xsb3cgdGhlIHJ1bGVzIG1lbnRpb25lZCBhYm92ZSwgYW5kICcncnUnJyBhbHdheXMg cmVmZXIgdG8gYSBtb3JlIGRpc3RhbnQgc3VtdGkgdGhhbiAnJ3JhJycsIHdoaWNoIGlzIGFsd2F5 cyBtb3JlIGRpc3RhbnQgdGhhbiAnJ3JpJycuCgoKCicncmknJyBhbmQgaXQncyBicm90aGVycyBh cmUgcHJldHR5IHdlbGwgc3VpdGVkIGZvciBkZWFsaW5nIHdpdGggdGhlIG9yaWdpbmFsIHNlbnRl bmNlLiBUcnkgc2F5aW5nIGl0IHVzaW5nIHR3byBpbnN0YW5jZXMgb2YgJydzdW1rYSdpJychCgoK CkFuc3dlcjogfn5ncmV5LGdyZXk6JydsZSdlIHByZW51IHBvaSBrZSdhIGtha25lIGxvIG51IHRh dmxhIGZvIGxhIC5sb2piYW4uIGN1IHRhdmxhIHJ1IGxvIGJhbmd1IHBvaSBydSBjdSBzZSBiYW5n dSBrZSdhJycuICcncmknJyBpcyBub3QgY29ycmVjdCwgYmVjYXVzZSBpdCByZWZlcnMgdG8gJyds YSAubG9qYmFuLicnLiAnJ3JhJycgY291bGQgYmUgdXNlZCwgYnV0IGNvdWxkIGJlIG1pc3Rha2Vu bHkgYmUgdGhvdWdodCB0byByZWZlciB0byAnJ2xvIG51IHRhdmxhIGZvIGxhIC5sb2piYW4uJycs IGJ1dCAnJ3J1JycgaXMgYXNzdW1lZCB0byByZWZlciB0byB0aGUgbW9zdCBkaXN0YW50IHN1bXRp IC0gdGhlIG1vc3Qgb3V0ZXIgb25lLn5+CgoKCkxhc3RseSwgdGhlcmUgYSBzdW10Y2l0YSB3aGlj aCByZXByZXNlbnQgdXR0ZXJhbmNlczogU28gY2FsbGVkIHV0dGVyYW5jZSB2YXJpYWJsZXMuIFRo ZXkgbmVlZCBub3QgYmUgcmVzdHJpY3RlZCB0byBvbmUgc2VudGVuY2UgKGp1ZnJhKSwgYnV0IGNh biBiZSBzZXZlcmFsIHNlbnRlbmNlcywgaWYgdGhlIGNvbnRleHQgYWxsb3dzIGl0OgoKX18nJ2Rh J3UnJ19fIFV0dGVyYW5jZSB2YXJpYWJsZTogUmVtb3RlIHBhc3Qgc2VudGVuY2UKCl9fJydkZSd1 JydfXyBVdHRlcmFuY2UgdmFyaWFibGU6IFJlY2VudCBzZW50ZW5jZQoKX18nJ2RpJ3UnJ19fIFV0 dGVyYW5jZSB2YXJpYWJsZTogUHJldmlvdXMgc2VudGVuY2UKCl9fJydkZWknJ19fIFV0dGVyYW5j ZSB2YXJpYWJsZTogVGhpcyBzZW50ZW5jZQoKX18nJ2RpJ2UnJ19fIFV0dGVyYW5jZSB2YXJpYWJs ZTogTmV4dCBzZW50ZW5jZQoKX18nJ2RlJ2UnJ19fIFV0dGVyYW5jZSB2YXJpYWJsZTogTmVhciBm dXR1cmUgc2VudGVuY2UKCl9fJydkYSdlJydfXyBVdHRlcmFuY2UgdmFyaWFibGU6IFJlbW90ZSBm dXR1cmUgc2VudGVuY2UKCl9fJydkbydpJydfXyBVdHRlcmFuY2UgdmFyaWFibGU6IEVsbGlwdGlj YWwgdXR0ZXJhbmNlIHZhcmlhYmxlOiDigJxTb21lIHNlbnRlbmNl4oCdCgpUaGVzZSByZXByZXNl bnRzIHNlbnRlbmNlcyBhcyBzdW10aSwgYW5kIHJlZmVyIG9ubHkgdG8gdGhlIHNwb2tlbiB3b3Jk cyBvciB0aGUgbGV0dGVycywgbm90IHRvIHRoZSBtZWFuaW5nIGJlaGluZCB0aGVtLgoKCgpUaGVy ZSBhcmUgbW9yZSBMb2piYW4gJydzdW1rYSdpJycsIGJ1dCBmb3Igbm93IHlvdSBwcm9iYWJseSBu ZWVkIGEgYnJlYWsgZnJvbSB0aGVtLiBUaGUgbmV4dCBsZXNzb24gd2lsbCBiZSBvbiBkZXJpdmVk IHN1bXRpLCBzdW10aSBtYWRlIGZyb20gb3RoZXIgc3VtdGkuCgoKCgoKISFMb2piYW4gTGVzc29u cyAtIExlc3NvbiBzaXh0ZWVuICh0aGUgTG9qYmFuIHN1bXRpIDM6IGRlcml2ZWQgc3VtdGkpCgpZ b3UgY2FuIHByb2JhYmx5IHNlZSB0aGF0IHRoZSBzdW10aSAnJ2xlIGJhbmd1IHBvaSBtaSBzZSBi YW5ndSBrZSdhJycgaXMgYSBsZXNzIHRoYW4gZWxlZ2FudCBleHByZXNzaW9uIGZvciDigJxteSBs YW5ndWFnZeKAnS4gVGhpcyBpcyBiZWNhdXNlIGl0J3MgcmVhbGx5IGEgd29yayBhcm91bmQuIEEg bGFuZ3VhZ2Ugd2hpY2ggSSBzcGVhayBjYW4gYmUgc2FpZCB0byBmaWxsIGludG8gdGhlIHgxIG9m IHRoZSBicmlkaSAnJ2Jhbmd1IG1pJycuIFdlIGNhbid0IGNvbnZlcnQgdGhhdCB0byBhIHN1bXRp IHVzaW5nIGEgZ2Fkcmk6ICcnbGUgYmFuZ3Uge2t1fSBtaScnIGlzIHR3byBzdW10aSwgYmVjYXVz ZSAnJ2Jhbmd1IG1pJycgaXMgYSBicmlkaSwgbm90IGEgc2VsYnJpLiBOZWl0aGVyIGNhbiB3ZSBj b252ZXJ0IGl0IHVzaW5nICcnbGUgc3UndScnLCBiZWNhdXNlIHRoZSBzdSd1IGdpdmVzIHRoZSBi cmlkaSBhIG5ldyB4MSwgdGhlIGFic3RyYWN0aW9uLCBhbmQgdGhlICcnbGUnJyB0aGVuIGV4dHJh Y3RzIHRoYXQuIFRoYXQgbWFrZXMgYW4gYWJzdHJhY3Rpb24gc3VtdGkgbWVhbmluZyBzb21ldGhp bmcgbGlrZSDigJx0aGF0IHNvbWV0aGluZyBpcyBteSBsYW5ndWFnZeKAnS4KCkVudGVyICcnYmUn Jy4gJydiZScnIGlzIGEgd29yZCB3aGljaCBiaW5kcyBjb25zdHJ1Y3RzIChzdW10aSwgc3VtdGNp dGEgYW5kIG90aGVycykgdG8gYSBzZWxicmkuIFVzaW5nIGl0IGluIG9yZGluYXJ5IHNlbGJyaSBo YXMgbm8gZWZmZWN0OiBpbiAnJ21pIG5lbGNpIGJlIGRvJycsIHRoZSAnJ2JlJycgZG9lcyBub3Ro aW5nLiBIb3dldmVyLCB3aGVuIGEgc3VtdGkgaXMgYm91bmQgdG8gYSBzZWxicmkgdGhpcyB3YXks IHlvdSBjYW4gdXNlIGEgZ2Fkcmkgb24gdGhlIHNlbGJyaSB3aXRob3V0IHRoZSBzdW10aSBzcGxp dHRpbmcgb2ZmOiAnJ2xlIGJhbmd1IGJlIG1pJycgaXMgYSBjb3JyZWN0IHNvbHV0aW9uIHRvIHRo ZSBwcm9ibGVtIGFib3ZlLiBMaWtld2lzZSwgeW91IGNhbiBhdHRhY2ggYSBzdW10Y2l0YTogJyds ZSBudSBkYXJ4aSBrZWkgYmUgZ2F1IGRvJyc6IOKAnFRoZSBldmVudCBvZiBoaXR0aW5nLCB3aGlj aCBpcyBjYXVzZWQgYnkgeW914oCdLiBOb3RlIHRoYXQgdGhlIHByZXNlbmNlIG9yIGFic2VuY2Ug b2YgJydrZWknJyBtYWtlcyBpdCBwYXJzZSBkaWZmZXJlbnRseTogV2l0aCB0aGUgZmEnb3JtYSdv IHByZXNlbnQsICcnYmUnJyBhdHRhY2hlcyB0byAnJ251JycsIHdpdGhvdXQgdGhlIGZhJ29ybWEn bywgaXQgYXR0YWNoZXMgdG8gJydkYXJ4aScnLiBTbyBpdCBkZWNpZGVzIHdoYXQgaXMgYmVpbmcg ZW1waGFzaXNlZDogSXMgdGhlIGhpdHRpbmcsIG9yIHRoZSBldmVudCBvZiBoaXR0aW5nIGNhdXNl ZCBieSB5b3U/IEluIHRoaXMgc3BlY2lmaWMgY2FzZSwgdGhvdWdoLCB0aGF0J3MganVzdCBhYm91 dCB0aGUgc2FtZSB0aGluZy4KCgoKV2hhdCBpZiBJIHdhbnQgdG8gYXR0YWNoIHNldmVyYWwgc3Vt dGkgdG8gYSBzZWxicmkgaW5zaWRlIGEgZ2Fkcmk/IOKAnFRoZSBnaXZlciBvZiB0aGUgYXBwbGUg dG8geW914oCdIGlzICcnbGUgZHVuZGEgYmUgbG8gcGxpc2UgYmUgZG8nJywgcmlnaHQ/IE5vcGUu IFRoZSBzZWNvbmQgJydiZScnIGF0dGFjaGVzIHRvIHRoZSBhcHBsZSwgbWVhbmluZyAnJ2xlIHBs aXNlIGJlIGRvJycgLSDigJxUaGUgYXBwbGUgb2YgdGhlIHN0cmFpbiBvZiB5b3XigJ0sIHdoaWNo IG1ha2VzIG5vIHNlbnNlLiBJbiBvcmRlciB0byBzdHJpbmcgc2V2ZXJhbCBzdW10aSB0byBhIHNl bGJyaSwgdGhlIGFsbCB0aGUgb25lcyBmb2xsb3dpbmcgdGhlIGZpcnN0IG11c3QgYmUgYm91bmQg d2l0aCAnJ2JlaScnLiBUaGUg4oCcYmluZGluZ+KAnSBjYW4gYmUgdGVybWluYXRlZCB3aXRoICcn YmUnbycnIC0gb25lIGluc3RhbmNlIG9mICcnYmUnbycnIGZvciBlYWNoIHNlbGJyaSB3aGljaCBo YXMgc3VtdGkgYm91bmQgYnkgJydiZScnLgoKVG8gbGlzdCB0aGVtOgoKX18nJ2JlJydfXyBiaW5k cyBzdW10aSBvciBzdW10Y2l0YSB0byBzZWxicmkKCl9fJydiZWknJ19fIGJpbmRzIGEgc2Vjb25k LCB0aGlyZCwgZm91cnRoIChlY3QpIHN1bXRpIG9yIHN1bXRjaXRhIHRvIGEgc2VsYnJpCgpfXycn YmUnbycnX18gZW5kcyBiaW5kaW5nIHRvIHNlbGJyaQoKCgpUaGVyZSBpcyBhbHNvIHdheXMgdG8g bG9vc2VseSBhc3NvY2lhdGUgYSBzdW10aSB3aXRoIGFub3RoZXIuICcncGUnJyBhbmQgJyduZScn IGZvciByZXN0cmljdGl2ZSBhbmQgbm9uLXJlc3RyaWN0aXZlIGFzc29jaWF0aW9uLiBBY3R1YWxs eSwgJydsZSBiYW5ndSBwZSBtaScnIGlzIGEgYmV0dGVyIHRyYW5zbGF0aW9uIG9mIOKAnG15IGxh bmd1YWdl4oCdLCBzaW5jZSB0aGlzIHBocmFzZSwgbGlrZSB0aGUgRW5nbGlzaCwgaXMgdmFndWUg YXMgdG8gaG93IHRoZSB0d28gYXJlIGFzc29jaWF0ZWQgd2l0aCBlYWNoIG90aGVyLgoKJydwZScn IGFuZCAnJ25lJycgYXJlIHVzZWQgYXMgbG9vc2UgYXNzb2NpYXRpb24gb25seSwgbGlrZSBzYXlp bmcg4oCcbXkgY2hhaXLigJ0gYWJvdXQgYSBjaGFpciB3aGljaCB5b3Ugc2l0IG9uLiBJdCdzIG5v dCByZWFsbHkgeW91cnMsIGJ1dCBoYXMgc29tZXRoaW5nIGRvIHRvIHdpdGggeW91LiBBIG1vcmUg aW50aW1hdGUgY29ubmVjdGlvbiBjYW4gYmUgZXN0YWJsaXNoZWQgd2l0aCAnJ3BvJycsIHdoaWNo IG1ha2VzIHRoZSBhc3NvY2lhdGlvbiB1bmlxdWUgYW5kIGJpbmRpbmcgdG8gYSBwZXJzb24sIGFz IGluIOKAnG15IGNhcuKAnSBmb3IgYSBjYXIgdGhhdCB5b3UgYWN0dWFsbHkgb3duLiBUaGUgbGFz dCBraW5kIG9mIGFzc29jaWF0b3IgaXMgJydwbydlJycsIHdoaWNoIG1ha2VzIGEgc28tY2FsbGVk ICJpbmFsaWVuYWJsZSIgYm9uZCBiZXR3ZWVuIHN1bXRpLCBtZWFuaW5nIHRoYXQgdGhlIGJvbmQg aXMgaW5uYXRlIGJldHdlZW4gdGhlIHR3byBzdW10aS4gU29tZSBleGFtcGxlcyBjb3VsZCBiZSAi bXkgbW90aGVyIiwgIm15IGFybSIgb3IgIm15IGhvbWUgY291bnRyeSI7IG5vbmUgb2YgdGhlc2Ug InBvc3Nlc2lvbnMiIGNhbiBiZSBsb3N0IChldmVuIGlmIHlvdSBzYXcgb2ZmIHlvdXIgYXJtLCBp dCdzIHN0aWxsIF9feW91cl9fIGFybSksIGFuZCBhcmUgdGhlcmVmb3JlIGluYWxpZW5hYmxlLiBB bG1vc3QgYWxsIG9mIHRoZSB0aW1lcyBhICcncG8nZScnIGlzIGFwcHJvcHJpYXRlLCB0aG91Z2gs IHRoZSB4MiBvZiB0aGUgc2VsYnJpIGNvbnRhaW5zIHRoZSBvbmUgdG8gd2hpY2ggdGhlIHgxIGlz IGNvbm5lY3RlZCwgc28gJydiZScnIGlzIGJldHRlci4KCl9fJyduZScnX18gbm9uLXJlc3RyaWN0 aXZlIHJlbGF0aXZlIHBocmFzZS4gIndoaWNoIGlzIGFzc29jaWF0ZWQgd2l0aC4uLiIKCl9fJydw ZScnX18gcmVzdHJpY3RpdmUgcmVsYXRpdmUgcGhyYXNlLiAid2hpY2ggaXMgYXNzb2NpYXRlZCB3 aXRoLi4uIgoKX18nJ3BvJydfXyBwb3NzZXNpdmUgcmVsYXRpdmUgcGhyYXNlLiAid2hpY2ggaXMg c3BlY2lmaWMgdG8uLi4iCgpfXycncG8nZScnX18gaW5hbGllbmFibGUgcmVsYXRpdmUgcGhyYXNl LiAid2hpY2ggYmVsb25ncyB0by4uLiIKCgoKQSB2ZXJ5IHVzZWZ1bCBjb25zdHJ1Y3QgdG8ga25v dyBpcyAnJ3tnYWRyaX0ge3N1bXRpfSB7c2VsYnJpfScnLiB0aGlzIGlzIGVxdWl2YWxlbnQgdG8g Jyd7Z2Fkcml9IHtzZWxicml9IHBlICB7c3VtdGl9JycuIEZvciBpbnN0YW5jZSAnJ2xlIG1pIGdl cmt1JycgaXMgZXF1aXZhbGVudCB0byAnJ2xlIGdlcmt1IHBlIG1pJycuIE9uZSBjb3VsZCBoYXZl IGRlc2NyaXB0aW9uIHN1bXRpIGluc2lkZSBkZXNjcmlwdGlvbiBzdW10aSwgc2F5aW5nICcnbGUg bGUgc2UgY2luamlrY2EgYmUgbWkga3UgZ2Vya3UnJywgPSAnJ2xlIGdlcmt1IHBlIGxlIHNlIGNp bmppa2NhIGJlIG1pJycgPeKAnHRoZSBkb2cgb2YgdGhlIG1hbiBJJ20gZmxpcnRpbmcgd2l0aOKA nSwgYnV0IHRoYXQncyBub3QgdmVyeSBlYXN5IHRvIHJlYWQgKG9yIHRvIHVuZGVyc3RhbmQgd2hl biBzcG9rZW4pLCBhbmQgaXMgb2Z0ZW4gYmVpbmcgYXZvaWRlZC4KCgoKT25lIG5lZWQgYWxzbyB0 byBsZWFybiAnJ3R1J2EnJywgc2luY2UgaXQgd2lsbCBtYWtlIGEgbG90IG9mIHNlbnRlbmNlcyBt dWNoIGVhc2llci4gSXQgdGFrZXMgYSBzdW10aSBhbmQgY29udmVydHMgaXQgdG8gYW5vdGhlciBz dW10aSAtIGFuIGVsbGlwdGljYWwgYWJzdHJhY3Rpb24gd2hpY2ggaGFzIHNvbWV0aGluZyB0byBk byB3aXRoIHRoZSBmaXJzdCBzdW10aS4gRm9yIGV4YW1wbGUsIEkgY291bGQgc2F5ICcnbWkgZGpp Y2EgbG8gbnUgbWkgY2l0a2EgbG8gcGxpc2UnJywgb3IgSSBjb3VsZCBsZXQgaXQgYmUgdXAgdG8g Y29udGV4dCB3aGF0IGFic3RyYWN0aW9uIGFib3V0IHRoZSBhcHBsZSBJIGRlc2lyZSBhbmQganVz dCBzYXkgJydtaSBkamljYSB0dSdhIGxvIHBsaXNlJycuIE9uZSBhbHdheXMgaGFzIHRvIGd1ZXNz IHdoYXQgYWJzdHJhY3Rpb24gdGhlIHNwZWFrZXIgbWVhbnMgYnkgJyd0dSdhIFNVTVRJJycsIHNv IGl0IHNob3VsZCBvbmx5IGJlIHVzZWQgd2hlbiBjb250ZXh0IG1ha2VzIGl0IGVhc3kgdG8gZ3Vl c3MuIEFub3RoZXIgZXhhbXBsZToKCl9fJydnYXNudScnX18g4oCceDEgZG9lcy9icmluZ3MgYWJv dXQgeDIgKHZvbGl0aW9uIG5vdCBpbXBsaWVkKeKAnQoKJyd6YSdhIGRvIGdhc251IHR1J2EgbG8g c2thbWknJyAtIOKAnEkgc2VlIHRoYXQgeW91IG1ha2UgdGhlIGNvbXB1dGVyIGRvIHNvbWV0aGlu Z+KAnS4gT2ZmaWNpYWxseSwgJyd0dSdhIFNVTVRJJycgaXMgZXF1aXZhbGVudCB0byAnJ2xlIHN1 J3UgU1VNVEkgY28nZScnLiBWYWd1ZSwgYnV0IHVzZWZ1bC4gVGhlcmUgYXJlIHNpdHVhdGlvbnMg d2hlcmUgeW91IGNhbm5vdCB1c2UgJyd0dSdhJycsIGV2ZW4gdGhvdWdoIGl0IHdvdWxkIHNlZW0g c3VpdGFibGUuIFRoZXNlIHNpdHVhdGlvbnMgYXJlIHdoZW4gSSBkb24ndCB3YW50IHRoZSByZXN1 bHRpbmcgc3VtdGkgdG8gYmUgYW4gYWJzdHJhY3Rpb24sIGJ1dCBhIGNvbmNyZXRlIHN1bXRpLiBJ biB0aGlzIGNhc2UsIG9uZSBjYW4gdXNlICcnem8nZSBwZScnLgoKX18nJ3R1J2EnJ19fIGNvbnZl cnQgc3VtdGkgdG8gdmFndWUgYWJzdHJhY3Rpb24gaW52b2x2aW5nIHRoZSBzdW10aS4gRXF1aXZh bGVudCB0byAnJ2xlIHN1J3UgU1VNVEkgY28nZSBrZWkga3UnJwoKCgpGaW5hbGx5LCBvbmUga2lu ZCBvZiBzdW10aSBjYW4gYmUgdHVybmVkIGludG8gYW5vdGhlciBieSB0aGUgd29yZHMgb2YgdGhl IGNsYXNzIExBaEUuCgpfXycnbHUnYScnX18gLSBDb252ZXJ0IGluZGl2aWR1YWwocykvbWFzcy9z ZXF1ZW5jZS9zZXQgdG8gaW5kaXZpZHVhbHMuCgpfXycnbHUnaScnX18gLSBDb252ZXJ0IGluZGl2 aWR1YWwocykvbWFzcy9zZXF1ZW5jZS9zZXQgdG8gYSBzZXQuCgpfXycnbHUnbycnX18gLSBDb252 ZXJ0IGluZGl2aWR1YWwocykvbWFzcy9zZXF1ZW5jZS9zZXQgdG8gbWFzcy4KCl9fJyd2dSdpJydf XyAtIENvbnZlcnQgaW5kaXZpZHVhbChzKS9tYXNzL3NlcXVlbmNlL3NldCB0byBzZXF1ZW5jZTsg dGhlIG9yZGVyIGlzIG5vdCBzdGF0ZWQuCgpUaGUgdXNlIG9mIHRoZXNlIHdvcmRzIGlzIHN0cmFp Z2h0LWZvcndhcmRseTogUGxhY2luZyB0aGVtIGJlZm9yZSBhIHN1bXRpIG9mIGEgY2VydGFpbiB0 eXBlIG1ha2VzIGEgbmV3IHN1bXRpIG9mIGEgbmV3IHR5cGUuIE5vdGljZSwgdGhvdWdoLCB0aGF0 IGFzIGEgZm91cnRoIGtpbmQgb2Ygc3VtdGksIGEgc2VxdWVuY2UgaGFzIGJlZW4gaW50cm9kdWNl ZC4gVGhpcyBpcyBub3QgdXNlZCB2ZXJ5IG9mdGVuIChpdCBkb2Vzbid0IGhhdmUgaXRzIG93biBn YWRyaSwgZm9yIGluc3RhbmNlKSwgYnV0IGp1c3QgaW5jbHVkZWQgaGVyZSBmb3IgY29tcGxldGlv bi4KClRoZSBsYXN0IHR3byBtZW1iZXJzIG9mIExBaEUgZG8gbm90IGNvbnZlcnQgYmV0d2VlbiB0 eXBlcyBvZiBzdW10aSwgYnV0IGFsbG93cyB5b3UgdG8gc3BlYWsgb2YgYSBhIHN1bXRpIGJ5IG9u bHkgbWVudGlvbmluZyBzb21ldGhpbmcgd2hpY2ggcmVmZXJlbmNlcyB0byBpdDoKCklmIG9uZSBz dW10aSBBIHJlZmVycyB0byBhIHN1bXRpIEIsIGZvciBpbnN0YW5jZSBiZWNhdXNlIHN1bXRpIEEg aXMgYSB0aXRsZSBvZiBhIGJvb2ssIG9yIGEgbmFtZSwgb3IgYSBzZW50ZW5jZSAod2hpY2ggYWx3 YXlzIHJlZmVyIHRvIHNvbWV0aGluZywgYXQgbGVhc3QgYSBicmlkaSksIOKAmCdsYSdlIFNVTVRJ IEEnJyByZWZlcnMgdG8gc3VtdGkgQi4gRm9yIGluc3RhbmNlLCDigJgnbWkgbmVsY2kgbGEnZSBk aSd1JycgZm9yIOKAnEkgbGlrZSB3aGF0IHlvdSBqdXN0IHNhaWTigJ0gKG5vdCAnJ21pIG5lbGNp IGRpJ3UnJyB3aGljaCBqdXN0IG1lYW5zICJJIGxpa2UgeW91ciBwcmV2aW91cyBzZW50ZW5jZSIp IG9yIOKAmCdsYSdlIGxlIGNtYWx1IG5vbHRydScnIGZvciB0aGUgYm9vayDigJxUaGUgTGl0dGxl IFByaW5jZeKAnSwgYW5kIG5vdCBzb21lIGxpdHRsZSBwcmluY2UgaGltc2VsZi4gVGhlIGNtYXZv IOKAmCdsdSdlJycgZG9lcyB0aGUgZXhhY3QgcmV2ZXJzZSDigJMg4oCYJ2x1J2UgU1VNVEknJyBy ZWZlcnMgdG8gYW4gb2JqZWN0IHdoaWNoIHJlZmVycyB0byB0aGUgc3VtdGkuIAoKX18nJ2xhJ2Un J19fIC0g4oCcdGhlIHRoaW5nIHJlZmVycmVkIHRvIGJ54oCdIC0gZXh0cmFjdHMgYSBzdW10aSBB IGZyb20gYSBzdW10aSBCIHdoaWNoIHJlZmVycyB0byBBLiAKCl9fJydsdSdlJydfXyAtIOKAnHRo ZSB0aGluZyByZWZlcnJpbmcgdG/igJ0gLSBleHRyYWN0cyBhIHN1bXRpIEIgZnJvbSBhIHN1bXRp IEEsIHdoZW4gQiByZWZlcnMgdG8gQS4KCgoKCgohISFFbmQgb2YgcGFydCBvbmUKCkR1ZSB0byB0 aGUgaW1wcmFjdGljYWxseSBsYXJnZSBzaXplIG9mIHRoZXNlIGxlc3NvbnMsIHRoZSBzZWNvbmQg YW5kIHRoaXJkIGluc3RhbGxtZW50IGNhbiBiZSBmb3VuZCBvbiBwYWdlcyBkZWRpY2F0ZWQgdG8g KCh3YXZlbGVzc29uc2NvbnRpbnVlZHAyfHRoZSBmb3JtZXIpKSBhbmQgKCh3YXZlbGVzc29uc2Nv bnRpbnVlZHAzfHRoZSBsYXR0ZXIpKS4gTm8gd29ycmllcywgdGhvdWdoLCBjbGlja2luZyBvbiAi dGhlIGZvcm1lciIgb3IgInRoZSBsYXR0ZXIiIHdpbGwgdGFrZSB5b3UgdGhlcmUgcGFpbmxlc3Ns eS4KCgoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCldp a2ljaGFuZ2VzIG1haWxpbmcgbGlzdApXaWtpY2hhbmdlc0Bsb2piYW4ub3JnCmh0dHA6Ly9tYWls LmxvamJhbi5vcmcvbWFpbG1hbi9saXN0aW5mby93aWtpY2hhbmdlcwo=