Received: from localhost ([::1]:44616 helo=stodi.digitalkingdom.org) by stodi.digitalkingdom.org with esmtp (Exim 4.80.1) (envelope-from ) id 1W7tgv-0002qz-Ey; Mon, 27 Jan 2014 13:26:01 -0800 Received: from 173-13-139-235-sfba.hfc.comcastbusiness.net ([173.13.139.235]:36325 helo=jukni.digitalkingdom.org) by stodi.digitalkingdom.org with smtp (Exim 4.80.1) (envelope-from ) id 1W7tgk-0002qs-LZ for wikichanges@lojban.org; Mon, 27 Jan 2014 13:25:59 -0800 Received: by jukni.digitalkingdom.org (sSMTP sendmail emulation); Mon, 27 Jan 2014 13:25:50 -0800 From: "Apache" Date: Mon, 27 Jan 2014 13:25:50 -0800 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 CLL, aka Reference Grammar, Errata was changed by latros at 21:24 GMT Comment: Example 11.5 erratum You can view the page by following this link: http://www.lojban.org/tiki/CLL%2C%20aka%20Reference%20Grammar%2C%20Errata [...] Content analysis details: (2.0 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 1.6 RCVD_IN_BRBL_LASTEXT RBL: RCVD_IN_BRBL_LASTEXT [173.13.139.235 listed in bb.barracudacentral.org] 0.4 RDNS_DYNAMIC Delivered to internal network by host with dynamic-looking rDNS Subject: [Wikichanges] Wiki page CLL, aka Reference Grammar, Errata changed by latros X-BeenThere: wikichanges@lojban.org X-Mailman-Version: 2.1.15 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 VGhlIHBhZ2UgQ0xMLCBha2EgUmVmZXJlbmNlIEdyYW1tYXIsIEVycmF0YSB3YXMgY2hhbmdlZCBi eSBsYXRyb3MgYXQgMjE6MjQgR01UCkNvbW1lbnQ6IEV4YW1wbGUgMTEuNSBlcnJhdHVtCgpZb3Ug Y2FuIHZpZXcgdGhlIHBhZ2UgYnkgZm9sbG93aW5nIHRoaXMgbGluazoKIApodHRwOi8vd3d3Lmxv amJhbi5vcmcvdGlraS9DTEwlMkMlMjBha2ElMjBSZWZlcmVuY2UlMjBHcmFtbWFyJTJDJTIwRXJy YXRhCgpZb3UgY2FuIHZpZXcgYSBkaWZmIGJhY2sgdG8gdGhlIHByZXZpb3VzIHZlcnNpb24gYnkg Zm9sbG93aW5nIHRoaXMgbGluazogCmh0dHA6Ly93d3cubG9qYmFuLm9yZy90aWtpL3Rpa2ktcGFn ZWhpc3RvcnkucGhwP3BhZ2U9Q0xMJTJDJTIwYWthJTIwUmVmZXJlbmNlJTIwR3JhbW1hciUyQyUy MEVycmF0YSZjb21wYXJlPTEmb2xkdmVyPTIyMCZuZXd2ZXI9MjIxCgoKKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKVGhlIGNoYW5nZXMg aW4gdGhpcyB2ZXJzaW9uIGZvbGxvdyBiZWxvdywgZm9sbG93ZWQgYWZ0ZXIgYnkgdGhlIGN1cnJl bnQgZnVsbCBwYWdlIHRleHQuCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqCgoKKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0r LSstKy0rLSstKy0rLSstKy0rLSstKy0rLSsKQEAgLUxpbmVzOiAzMjktMzMyIGNoYW5nZWQgdG8g K0xpbmVzOiAzMjktMzM0IEBACistKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSst Ky0rLSstKy0rLSstKy0rLSstKy0rCiogU2VjdGlvbiAxMDogUGFyYWdyYXBoIGFib3ZlIGV4YW1w bGUgMTAuNyByZWZlcmVuY2VzICJDaGFwdGVyIDExIi4gVGhhdCBzaG91bGQgcmVhZCAiQ2hhcHRl ciAxMCIuCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xV REVEIElOIERBRy1DTEwnJworIAorICogU2VjdGlvbiAxMTogRXhhbXBsZSAxMS41IGlzIHtzdSdv ZGEgcG9pIHZlcmJhIGN1IGtsYW1hIHJvZGUgcG9pIGNrdWxlIG5ha3V9LiBJdCBzaG91bGQgYmUg e3N1J29kYSBwb2kgdmVyYmEgY3Uga2xhbWEgcm9kZSBwb2kgY2t1bGUga3UnbyBuYWt1fSBvciBh biBlcXVpdmFsZW50OyBhcyBpdCBzdGFuZHMgdGhlIG5ha3UgaXMgdW5kZXNpcmFibHkgaW4gdGhl IHJlbGF0aXZlIGNsYXVzZS4KCiogU2VjdGlvbiAxMiwgcGFnZSAyNjkgaGFzIGV4YW1wbGVzIDEz LjEgYW5kIDEzLjIsIHRob3NlIHNob3VsZCBiZSBjYWxsZWQgMTIuMSBhbmQgMTIuMi4gICgoQXBw cm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoKKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKVGhlIG5ldyBwYWdlIGNvbnRl bnQgZm9sbG93cyBiZWxvdy4KKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioKClRoaXMgcGFnZSBpcyBmb3IgZXJyYXRhIGluICgoVGhlIENv bXBsZXRlIExvamJhbiBMYW5ndWFnZSkpLCB0aGF0IGlzIGZvciBtaXN0YWtlcyBzdWNoIGFzIHR5 cG9zLCBvciBzZWxmLWNvbnRyYWRpY3Rpb25zLCBvciBjb250cmFkaWN0aW9ucyB3aXRoIG90aGVy IGJhc2VsaW5lZCBsYW5ndWFnZSBkZWZpbml0aW9uIG1hdGVyaWFsLiBUaGlzIGlzIF9fbm90X18g YSBwYWdlIHRvIHB1dCBkZXNpZGVyYXRhIChzdWdnZXN0aW9ucyBmb3IgaW1wcm92ZW1lbnQpOyBz dWNoIHN1Z2dlc3Rpb25zIHNob3VsZCBnbyB0byAoKFN1Z2dlc3Rpb25zIGZvciBDTEwsIHNlY29u ZCBlZGl0aW9uKSkuICBUaGlzIGlzIGFsc28gbm90IGEgcGFnZSB0byBwdXQgZXJyYXRhIHJlc3Vs dGluZyBmcm9tIHRoZSA0dGggQmFzZWxpbmUgR3JhbW1hciBwcm9wb3NhbCAoaS5lLiwgdGhlICgo UEVHKSkgZ3JhbW1hcik7IFBFRyBncmFtbWFyIGVycmF0YSBzaG91bGQgZ28gdG8gKChDTEwgUEVH IEVycmF0YSkpLgoKCgpBbiBvbmxpbmUgdmVyc2lvbiBvZiB0aGUgQ0xMIGluY29ycG9yYXRpbmcg dGhlIGNoYW5nZXMgb24gdGhpcyBwYWdlIFtodHRwOi8vZGFnLmdpdGh1Yi5jb20vY2xsL3xpcyBh dmFpbGFibGVdLgoKCgpTZWUgYWxzbyBbV2hhdCtpcytMb2piYW4lM0YrZXJyYXRhJmJsPXl8V2hh dCBpcyBMb2piYW4/IGVycmF0YV0gKGZvciB0aGUgcHVibGlzaGVkIHZlcnNpb24pLCBMZXZlbCAw IEJvb2tsZXQgRXJyYXRhIFt0aWtpLWVkaXRwYWdlLnBocD9wYWdlPUxldmVsKzArQm9va2xldCtF cnJhdGEmbGFuZz18P10gKGZvciB0aGUgcHJlLXB1YmxpY2F0aW9uIHJldmlld3M7IG5vdyBmaW5p c2hlZCksIGFuZCBbTGVzc29ucytFcnJhdGEmYmw9eXxMZXNzb25zIEVycmF0YV0gKGZvciB0aGUg YmVnaW5uZXJzJyBjb3Vyc2UpLgoKCgpUaGUgIicnSU5DTFVERUQgSU4gREFHLUNMTCcnIiB0YWcg bWVhbnMgdGhhdCBodHRwOi8vZGFnLmdpdGh1Yi5jb20vY2xsLyBpbmNsdWRlcyB0aGlzIGZpeCwg d2hpY2ggYWxzbyBtZWFucyBpdCdsbCBwcm9iYWJseSBiZSBpbiB0aGUgbmV4dCBDTEwgdmVyc2lv bi4KCgoKLS0tCgoKCiFDaGFwdGVyIDEKCgoKKiBUaGVyZSBpcyBhIHBhcmFncmFwaCBhdCB0aGUg dmVyeSBiZWdpbm5pbmcgb2YgQ0xMLCBvbiBwYWdlIDQsIHdpdGggdGhlIHNlbnRlbmNlICcnIklu IGVzc2VuY2UsIENoYXB0ZXIgMiBnaXZlcyBhIGJyaWVmIG92ZXJ2aWV3IG9mIHRoZSBsYW5ndWFn ZSwgQ2hhcHRlciAyMSBnaXZlcyB0aGUgZm9ybWFsIHN0cnVjdHVyZSBvZiB0aGUgbGFuZ3VhZ2Us IGFuZCB0aGUgY2hhcHRlcnMgaW4gYmV0d2VlbiBwdXQgc2VtYW50aWMgYm9uZXMgb24gdGhhdCBm b3JtYWwgZmxlc2guIicnCgoqKiBXb3VsZG4ndCBpdCBtYWtlIG1vcmUgc2Vuc2UgdG8gc2F5ICJw dXQgc2VtYW50aWMgZmxlc2ggb24gdGhvc2UgZm9ybWFsIGJvbmVzIj8gKChBcHByb3ZlZCBFcnJh dHVtfGpjb3dhbiBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlv biA2LCBpdCBzYXlzICJMYXJyeSBIb3JuJ3Mgd29yayAnJ1RoZSBOYXR1cmFsIEhpc3Rvcnkgb2Yg TmVnYXRpb24nJyIuIEl0IHdvdWxkIGFwcGVhciB0aGF0IGV2ZXJ5b25lIGVsc2UgY2FsbHMgaXQg JydfX0FfXyBOYXR1cmFsIEhpc3Rvcnkgb2YgTmVnYXRpb24nJywgYnkgX19MYXVyZW5jZV9fIChS LikgSG9ybi4KCioqICcnSU5DTFVERUQgSU4gREFHLUNMTCcnICh6b3J0J3MgZm9yayBhdCBsZWFz dCkgYnV0IG5lZWRzIGFwcHJvdmFsCgoKCi0tLQoKIUNoYXB0ZXIgMgoKCgoqIFNlY3Rpb24gNSBl eGFtcGxlIDUuNyB1c2VzICJ0aSIgdG8gcG9pbnQgYXQgYSBsYW5ndWFnZSwgYW5kIHNob3VsZCBo YXZlIGl0cyBhY2NvbXBhbnlpbmcgbm90ZSBjaGFuZ2VkIHRvIG1vcmUgYWNjdXJhdGVseSByZWZs ZWN0IHRoYXQgdGhpcyBpcyBub3QgaG93ICJ0aSIgd29ya3MuCgoKCiogU2VjdGlvbiA2IEV4YW1w bGUgNi41IGhhcyAiY3UiIGFzIGVsaWRhYmxlLCB3aGVuIGluIGZhY3QgaXQgaXMgc2ltcGx5IGls bGVnYWwgdGhlcmUuICBSZW1vdmVkLiAgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCioqIHVhbmFp LCBJIHN0aWxsIHNlZSAiY3UiIGluIERBRy1DTEwuCgoKCiogU2VjdGlvbiA4IHBhZ2UgMTcgY2xh aW1zIHRoYXQgInh1IiBpcyBkaXNjdXNzZWQgaW4gc2VjdGlvbiAxLjcsIHdoaWNoIGhhcHBlbnMg dG8gbGlzdCB0aGUgY2FwdGlvbnMgZm9yIGFsbCB0aGUgY2hhcHRlciBwaWN0dXJlcy4KCioqIEl0 IHNob3VsZCByZWZlciB0byBTZWN0aW9uIDE1LiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBB cHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoqKiogVGhlIGxpbmsgaW4gdGhlIGN1 cnJlbnQgREFHLUNMTCBpcyBwb2ludGluZyB0byAiMi8yLzE1IiBpbnN0ZWFkIG9mIHRvICIyLzE1 Ii4KCgoKKiBTZWN0aW9uIDEwIHNheXMgdGhhdCBleGFtcGxlIDEwLjMgKG1pIHRhdmxhIGRvIGxl IHRhdmxhIGt1KSBtZWFucyB0aGUgc2FtZSBhcyAobWkgdGF2bGEgZG8gbGUgdGF2bGEga3UpLiBF eGFtcGxlIDEwLjMgc2hvdWxkIGJlICJtaSB0YXZsYSBkbyBsZSB0YXZsYSIsIGFzIGl0IGRlc2Ny aWJlcyBob3cgImt1IiBtYXkgYmUgb21pdHRlZC4KCioqIEl0IGFwcGVhcnMgdGhhdCBleGFtcGxl IDEwLjMgaXMgaW5jb3JyZWN0IG9ubHkgaW4gdGhlIG9ubGluZSB2ZXJzaW9uLCBub3QgdGhlIHB1 Ymxpc2hlZCBib29rLgoKCgoqIFNlY3Rpb24gMTcgc2F5cyAiTm90ZSB0aGF0IEV4YW1wbGUgMTcu MyAgaGFzIGFuZCByZXF1aXJlcyBhIOKAnGN14oCdIHRvIHByZXZlbnQg4oCcYmFqcmHigJ0gYW5k IOKAnGtsYW1h4oCdIGZyb20gZm9ybWluZyBhIHRhbnJ1LCBidXQgRXhhbXBsZSAxNy40ICBhbmQg RXhhbXBsZSAxNy41ICBsYWNrIHRoZSB1bm5lY2Vzc2FyeSDigJxjdeKAnS4iLCBidXQgZXhhbXBs ZSAxNy4zIGlzICJsYSBkamFuLiB+bnB+W2N1XX4vbnB+IGtsYW1hIGxlIHphcmNpIi4KCioqIEl0 IGFwcGVhcnMgdGhhdCB0aGUgb2ZmZW5kaW5nIHNlbnRlbmNlIGlzIHByZXNlbnQgb25seSBpbiB0 aGUgb25saW5lIHZlcnNpb24sIG5vdCB0aGUgcHVibGlzaGVkIGJvb2suCgoKCiogRXhhbXBsZSAx Ny45IGlzICJsZSB2aSB0YXZsYSBrdSBjdSBiYSBrbGFtYSIgaW4gdGhlIG9ubGluZSB2ZXJzaW9u LCBhbmQgdG90YWxseSBicm9rZW4gaW4gdGhlIHB1Ymxpc2hlZCBib29rLgoKKiogR28gd2l0aCB0 aGUgb25saW5lIHZlcnNpb24uICAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVk KSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBFeGFtcGxlIDE3LjkgaW4gZGFnLWNsbCBh cyBvZiAyMDEyLTA1LTA1IGlzICJsZSB2aSB0YXZsYSB+bnB+W2t1XX4vbnB+IGN1IGJhIGtsYW1h Ii4gU2luY2UgdGhlIHNhbWUgc2VjdGlvbiBoYXMgZXhwbGFpbmVkIHRoYXQgdGVuc2UgdGFncyBt YWtlICJjdSIgdW5uZWNlc3NhcnksIEkgdGhpbmsgdGhlIGV4YW1wbGUgc2hvdWxkIGJlICJsZSB2 aSB0YXZsYSB+bnB+W2t1XSBbY3Vdfi9ucH4gYmEga2xhbWEiLgoKCgotLS0KCgoKISBDaGFwdGVy IDMKCgoKQSBsb3Qgb2YgdGhlIElQQSBleGFtcGxlcyB1c2UgYSBzcGFjZSB0byBpbmRpY2F0ZSBh IHN5bGxhYmxlIGJyZWFrLiBUaGlzIGlzIG5vdCBzdGFuZGFyZCBJUEEgdXNhZ2U7IGFjY29yZGlu ZyB0byBJUEEsIHRoZSBwZXJpb2Qg4oCcLuKAnSBzaG91bGQgYmUgdXNlZCB0byBpbmRpY2F0ZSBh IHN5bGxhYmxlIGRpdmlzaW9uLgoKCgoqIFNlY3Rpb24gMiwgcGFnZSAzMDogaW4gdGhlIHRhYmxl IHRoZSBkZXNjcmlwdGlvbiBvZiAiYXBvc3Ryb3BoZSIgc2hvdWxkIHJlYWQgImFuIHVudm9pY2Vk IGdsb3R0YWwgc3BpcmFudCIsIG5vdCAiYSB1bnZvaWNlZCIuCgoqKiAoKEFwcHJvdmVkIEVycmF0 dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0 aW9uIDIsIGRpZ2l0YWwgdmVyc2lvbi4gIFRoZSBJUEEgdGFibGUgZ290IGhvcnJpYmx5IG1hbmds ZWQgc29tZXdoZXJlIGFsb25nIHRoZSB3YXkuICBJdCBzaG91bGQgbG9vayBsaWtlIChTQU1QQSBj b2x1bW4gYWRkZWQpOgoKCgp8fCBMZXR0ZXIgfCBJUEEgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB8IFNBTVBBICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfCBEZXNjcmlwdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCgog JyAgICAgIHwgW2hdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBbaF0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYW4gdW52b2ljZWQgZ2xv dHRhbCBzcGlyYW50ICAgICAgICAgICAgICAgICAgICAgIAoKICwgICAgICB8IC0tLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgLS0tICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB8IHRoZSBzeWxsYWJsZSBzZXBhcmF0b3IgICAgICAgICAgICAg ICAgICAgICAgICAgICAKCiAuICAgICAgfCBbypRdICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfCBbP10gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHwgYSBnbG90dGFsIHN0b3Agb3IgYSBwYXVzZSAgICAgICAgICAgICAgICAgICAgICAgIAoKIGEg ICAgICB8IFthXSwgW8mRXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFthXSwgW0Fd ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBhbiBvcGVuIHZvd2VsICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCgogYiAgICAgIHwgW2JdICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBbYl0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHwgYSB2b2ljZWQgYmlsYWJpYWwgc3RvcCAgICAgICAgICAgICAg ICAgICAgICAgICAgIAoKIGMgICAgICB8IFvKg10sIFvKgl0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfCBbU10sIFtzYF0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHwgYW4gdW52b2ljZWQgcG9zdGFsdmVvbGFyIGZyaWNhdGl2ZSAgICAgICAgICAgICAgICAgICAg IAoKIGQgICAgICB8IFtkXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgW2Rd ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGEgdm9pY2VkIGRl bnRhbC9hbHZlb2xhciBzdG9wICAgICAgICAgICAgICAgICAgICAKCiBlICAgICAgfCBbyZtdLCBb ZV0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBbRV0sIFtlXSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHwgYSBmcm9udCBtaWQgdm93ZWwgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIAoKIGYgICAgICB8IFtmXSwgW8m4XSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB8IFtmXSwgW3BcXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgfCBhbiB1bnZvaWNlZCBsYWJpYWwgZnJpY2F0aXZlICAgICAgICAgICAgICAgICAgICAg CgogZyAgICAgIHwgW8mhXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgW2dd ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGEgdm9pY2VkIHZl bGFyIHN0b3AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKCiBpICAgICAgfCBbaV0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFtpXSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfCBhIGZyb250IGNsb3NlIHZvd2VsICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgCgogaiAgICAgIHwgW8qSXSwgW8qQXSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB8IFtaXSwgW3pgXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgfCBhIHZvaWNlZCBwb3N0YWx2ZW9sYXIgZnJpY2F0aXZlICAgICAgICAgICAgICAgICAg ICAgICAgCgogayAgICAgIHwgW2tdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg fCBba10gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYW4gdW52 b2ljZWQgdmVsYXIgc3RvcCAgICAgICAgICAgICAgICAgICAgICAgICAgIAoKIGwgICAgICB8IFts XSwgW2zMqV0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBbbF0sIFtsPV0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYSB2b2ljZWQgbGF0ZXJhbCBhcHByb3hp bWFudCAobWF5IGJlIHN5bGxhYmljKSAgIAoKIG0gICAgICB8IFttXSwgW23MqV0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgfCBbbV0sIFttPV0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHwgYSB2b2ljZWQgYmlsYWJpYWwgbmFzYWwgKG1heSBiZSBzeWxsYWJpYykg ICAgICAgIAoKIG4gICAgICB8IFtuXSwgW27MqV0sIFvFi10sIFvFi8ypXSAgICAgICAgICAgICAg ICAgICAgIHwgW25dLCBbbj1dLCBbTl0sIFtOPV0gICAgICAgICAgICAgICAgICAgICAgICAgICB8 IGEgdm9pY2VkIGRlbnRhbCBvciB2ZWxhciBuYXNhbCAobWF5IGJlIHN5bGxhYmljKSAKCiBvICAg ICAgfCBbb10sIFvJlF0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBbb10sIFtPXSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYSBiYWNrIG1pZCB2b3dlbCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAoKIHAgICAgICB8IFtwXSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHwgW3BdICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB8IGFuIHVudm9pY2VkIGJpbGFiaWFsIHN0b3AgICAgICAgICAgICAg ICAgICAgICAgICAKCiByICAgICAgfCBbcl0sIFvJuV0sIFvJvl0sIFvKgF0sIFtyzKldLCBbybnM qV0sIFvJvsypXSwgW8qAzKldIHwgW3JdLCBbclxdLCBbNF0sIFtSXF0sIFtyPV0sIFtyXD1dLCBb ND1dLCBbUlw9XSB8IGEgcmhvdGljIHNvdW5kICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAKCiBzICAgICAgfCBbc10gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8 IFtzXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBhbiB1bnZv aWNlZCBhbHZlb2xhciBzaWJpbGFudCAgICAgICAgICAgICAgICAgICAgCgogdCAgICAgIHwgW3Rd ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBbdF0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYW4gdW52b2ljZWQgZGVudGFsL2FsdmVvbGFy IHN0b3AgICAgICAgICAgICAgICAgIAoKIHUgICAgICB8IFt1XSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHwgW3VdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8IGEgYmFjayBjbG9zZSB2b3dlbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAKCiB2ICAgICAgfCBbdl0sIFvOsl0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBb dl0sIFtCXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYSB2b2ljZWQg bGFiaWFsIGZyaWNhdGl2ZSAgICAgICAgICAgICAgICAgICAgICAKCiB4ICAgICAgfCBbeF0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFt4XSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfCBhbiB1bnZvaWNlZCB2ZWxhciBmcmljYXRpdmUgICAg ICAgICAgICAgICAgICAgICAgCgogeSAgICAgIHwgW8mZXSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHwgW0BdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB8IGEgY2VudHJhbCBtaWQgdm93ZWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAK CiB6ICAgICAgfCBbel0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFt6XSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBhIHZvaWNlZCBhbHZl b2xhciBzaWJpbGFudCAgICAgICAgICAgICAgICAgICAgICAgfHwKCgoKKiogU29ydC1vZiAoKEFw cHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSk7IHdoYXQgSSBhY3R1YWxseSBkaWQg aXMgaGFkIEFybnQgcmV2aWV3IHdoYXQgc29tZW9uZSBlbnRlcmVkIGluIERBRy1DTEwsIHdoaWNo IHByZXN1bWFibHkgd2FzIGJhc2VkIG9uIHRoZSBhYm92ZS4gICcnSU5DTFVERUQgSU4gREFHLUNM TCcnCgoKCiogU2VjdGlvbiAyLCBwYWdlIDMwLiBmb3IgdGhlIHNlY29uZCBlbmcgKGltbWVkaWF0 ZWx5IHRvIHRoZSBsZWZ0IG9mICIobWF5IGJlIHN5bGxhYmljKSIpIHRoZSBzeWxsYWJpY2l0eSBt YXJrZXIgaXMgY29uY2VhbGVkIGJ5IHRoZSByaWdodCB0YWlsLgoKKiogSSBjYW4ganVzdCBiYXJl bHkgc2VlIHRoZSBtYXJrZXIgdW5kZXIgYSBnb29kIGxpZ2h0LiAgICgoQXBwcm92ZWQgRXJyYXR1 bXxqY293YW4gQXBwcm92ZWQpKQoKKioqIEZvciBmdXR1cmUgZWRpdGlvbnMgOi0pICwgbm90ZSB0 aGF0IHRoZSBJUEEgYXBwcm92ZXMgcHV0dGluZyBkaWFjcml0aWNzIGFib3ZlIHJhdGhlciB0aGFu IGJlbG93IHRoZSBsZXR0ZXIgaW4gY2FzZXMgbGlrZSB0aGVzZS4gVW5mb3J0dW5hdGVseSwgdGhl IGZvbnRzIGhpdGhlcnRvIGF2YWlsYWJsZSBoYXZlIG5vdCBtYWRlIHRoaXMgZmFjaWxpdHkgYXZh aWxhYmxlLCBzbyBvdXRzaWRlIHRoZSBqb3VybmFsIG9mIHRoZSBJUEEgaXRzZWxmLCBzdWNoIG92 ZXItZGlhY3JpdGljcyBhcmUgc2VsZG9tIHNlZW4uIOKAlCBuaXRjaW9uCgoKCiogSW4gc2VjdGlv biAzLjIsIHRoZSBjb21tYSBzaG91bGQgKHByb2JhYmx5KSBiZSByZXByZXNlbnRlZCBieSB0aGUg SVBBIG5vdGF0aW9uIFsufC5dLCBhcyB0aGUgcGVyaW9kIGlzIHVzZWQgaW4gSVBBIHRvIGRlbm90 ZSBzeWxsYWJsZSBicmVha3MuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkK CgoKKiBTZWN0aW9uIDIsIHBhZ2UgMzAuIEZvciB0aGUgTG9qYmFuIHBob25lbWUgL3IvLCB0aGUg SVBBIHN5bWJvbCBmb3IgYSBkZW50YWwvYWx2ZW9sYXIgdm9pY2VkIGFwaWNhbCB0YXAgaXMgZ2l2 ZW4gd2l0aCBhIHN5bGxhYmljaXR5IG1hcmtlciBiZWxvdy4gQSB0YXAgY2FuJ3QgYmUgc3lsbGFi aWMsIGJlY2F1c2UgaXQgaXMgYnkgZGVmaW5pdGlvbiBpbnN0YW50YW5lb3VzLiAgKChBcHByb3Zl ZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpIEp1c3QgcmVtb3ZlIHRoYXQgY2FzZSBhbHRvZ2V0 aGVyLgoKCgoqIFNlY3Rpb24gMi4gIFRoZSBkZXNjcmlwdGlvbnMgb2YgJydjJycgYW5kICcnaicn IGFyZSBsaXN0ZWQgYXMgImNvcm9uYWwgc2liaWxhbnQicy4gIFRoZSBkZXNjcmlwdGlvbnMgc2hv dWxkIHJlYWQgInZvaWNlbGVzcyBwb3N0YWx2ZW9sYXIgZnJpY2F0aXZlIiBhbmQgInZvaWNlZCBw b3N0YWx2ZW9sYXIgZnJpY2F0aXZlIiwgcmVzcGVjdGl2ZWx5LiAgKChBcHByb3ZlZCBFcnJhdHVt fGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogU2VjdGlvbiAzLCB0aGlyZCBwYXJhZ3JhcGggKHBhZ2Ug MzEpOiAiYSB1bnZvaWNlZCB2b3dlbCBnbGlkZSIgc2hvdWxkIGJlICJhbiB1bnZvaWNlZCB2b3dl bCBnbGlkZSIuCgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJ TkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIDYsIHBhZ2UgMzYuIElQQSBmb3IgdGhl IHVuYWNjZXB0YWJsZSBBbWVyaWNhbiBmbGFwIHZhcmlhbnQgb2YgaW50ZXJ2b2NhbGljICcndCcn IHNob3dzIHRoZSBHQSAnJ3InJyBzb3VuZCAodXBzaWRlLWRvd24gcikgaW5zdGVhZCBvZiB0aGUg ZmxhcCAobGlrZSBhbiByIHdpdGggbm8gdmVydGljYWwgYml0IGF0IHRoZSB0b3Ag4oCUIHNlZSB0 aGUgbGlzdCBvZiBhY2NlcHRpYmxlICcncicnIHZhcmlhbnRzIG9uIG9uIHBhZ2UgNDQgd2hlcmUg aXQgYXBwZWFycyBjb3JyZWN0bHkpICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVk KSkKCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVE IElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gNiwgcGFnZSAzNi4gKFNhbWUgYXMgcHJldmlvdXMg ZXJyYXR1bSkgVGhlIGNvbnNvbmFudCBpcyByZWZlcnJlZCB0byBhcyBhIGZsYXAsIHdoaWxlIGl0 IGlzIGFjdHVhbGx5IGEgdGFwLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkp CgoKCiogU2VjdGlvbiA3LiBJbiBiZXR3ZWVuIHRoZSBzaGFkZWQgYm94ZXMsICJhIHBhaXJpbmcg b2Ygdm9pY2VkIGFuZCB1bnZvaWNlZCBlcXVpdmFsZW50IHZvd2VscyIgc2hvdWxkIHJlYWQgImEg cGFpcmluZyBvZiB2b2ljZWQgYW5kIHVudm9pY2VkIGVxdWl2YWxlbnQgY29uc29uYW50cyIuCgoK CiogU2VjdGlvbiA4LCBwYWdlIDM4LiBJUEEgZm9yIHByb251bmNpYXRpb24gb2YgInhhcGNrZSIg aGFzIGMgd2hlcmUgaXQgc2hvdWxkIGhhdmUgUyAobG9uZyBzKS4gICgoQXBwcm92ZWQgRXJyYXR1 bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIFNlY3Rpb24gOSwgcGFnZSA0MC4gSVBBIGZvciBwcm9u dW5jaWF0aW9uIG9mICJkaWt5anZvIiBoYXMgaiB3aGVyZSBpdCBzaG91bGQgaGF2ZSBaICh0aGF0 IGxpdHRsZSBzY3JpcHQgeiB0aGluZykgICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92 ZWQpKQoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVE RUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlvbiAxMiwgcGFnZSA0Ni4gV2hhdCBzaG91bGQgYmUg dGhlIEN5cmlsbGljIGxldHRlciA7IGlzIHByaW50ZWQgYXMgc29tZXRoaW5nIHRoYXQgbG9va3Mg bGlrZSB0aGUgR3JlZWsgbGV0dGVyIC4gSXMgdGhpcyBvbmx5IGEgdHlwb2dyYXBoaWNhbCB2YXJp YW50IG9mIHRoZSA7LCBvciBpcyBpdCBhIHZhcmlhbnQ/CgoKCioqIFRoaXMgZXJyYXR1bSBpcyBp bmRlY2lwaGVyYWJsZSBhbmQgc2hvdWxkIGJlIGRyb3BwZWQsIHVubGVzcyBzb21lb25lIGNhbiBy ZWNvbnN0cnVjdCBpdC4gIFRoZSBDeXJpbGxpYyBsZXR0ZXJzIGxvb2sgZmluZS4gIC0tamNvd2Fu CgoKCiogU2VjdGlvbiAxMiwgcGFnZSA0Ni4gUmVwbGFjZSB0aGUgd29yZHMgInRoZSBoYXJkIHNp Z24iIHdpdGggYW4gYWN0dWFsIGhhcmQgc2lnbiwgVSswNDRBIENZUklMTElDIFNNQUxMIExFVFRF UiBIQVJEIFNJR04uCgoKCiogU2VjdGlvbiAxMiwgcGFnZSA0Ny4gImFyZS8iZXNzZSIgc2hvdWxk IHByb2JhYmx5IGJlICJhcmUiLyJlc3NlIiAodGhlIGFjdXRlIG9uIHRoZSBhIG1heSBvciBtYXkg bm90IGhhdmUgYmVlbiBsZWZ0IG9mZiwgYnV0IHRoZSBjbG9zaW5nIHF1b3RlIGFmdGVyIGFyZSBp cyBkZWZpbmF0ZWx5IG1pc3NpbmcuKQoKKiogTXkgY29weSBzaG93cyB0aGUgYWN1dGUuCgoqKiAo KEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUct Q0xMJycKCgoKLS0tCgoKCiFDaGFwdGVyIDQKCgoKKiBTZWN0aW9uIDQsIHBhZ2UgNTQuIFRoZSBi b29rIHN0YXRlcyB0aGF0IGZ1J2l2bGEgd2l0aCBhIGZvcm0gbGlrZSAnJ3NwYSdpJycgYXJlIHZh bGlkLiBUaGV5IGFyZSBub3QsIHRoZXkgZmFpbCB0aGUgc2xpbmt1J2kgdGVzdC4gKChBcHByb3Zl ZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiog U2VjdGlvbiA2LCBwIDU4LCAiLWxhYyIgaW4gdGhlIHRoaXJkIHRhYmxlIGluIHRoYXQgc2VjdGlv biBzaG91bGQgYmUgIi1sYWMtIgoKCgoqIFNlY3Rpb24gNiwgaXQgc2F5cyAiTW9zdCBjbWF2byB0 aGF0IGhhdmUgcmFmc2kgYXJlIG9uZXMgdXNlZCBpbiBjb21wb3NpbmcgdGFucnUgKGZvciBhIGNv bXBsZXRlIGxpc3QsIHNlZSBDaGFwdGVyIDEyKSIsIGJ1dCB0aGVyZSBpcyBubyBzdWNoIGxpc3Qg aW4gQ2hhcHRlciAxMiwgb3IgYW55d2hlcmUgaW4gdGhlIGJvb2sgKGp1J29zYWkpLiBQZXJoYXBz IGl0IHdhbnRzIHRvIHBvaW50IHRvIHRoZSBsaXN0IG9mIFBBIHJhZnNpIGluIENoYXB0ZXIgMTgg c2VjdGlvbiAyNT8gT3IgdG8gdGhlIGxpc3RzIG9mIHRhbnJ1IGluIENoYXB0ZXIgNSBzZWN0aW9u cyAxNCBhbmQgMTU/CgoqKiBXaGF0IEkgcHJvYmFibHkgbWVhbnQgd2FzIHRoYXQgQ2hhcHRlciAx MiwgdGFrZW4gYXMgYSB3aG9sZSwgZGlzY3Vzc2VzIHRoZSBjbWF2byB1c2VkIGluIGNvbnN0cnVj dGluZyB0YW5ydS4gIEkgZG9uJ3QgdGhpbmsgYW55IHNwZWNpZmljIGxpc3QgZXZlciBleGlzdGVk LiAgSSdkIGp1c3QgZHJvcCB0aGUgcGFyZW50aGV0aWNhbCBzZW50ZW5jZS4KCgoKKiBTZWN0aW9u IDYsIGp1c3QgYWZ0ZXIgZXhhbXBsZSA2LjkuIEl0IHNheXMgInNvbWUgb2YgdGhlIHVucmVkdWNl ZCBmb3JtcyBpbiB0aGUgcHJldmlvdXMgZXhhbXBsZSIsIGJ1dCBpdCBpcyBub3QgcmVmZXJyaW5n IHRvIHRoZSBwcmV2aW91cyBleGFtcGxlOiBpdCBpcyByZWZlcnJpbmcgYWxsIHRoZSB3YXkgYmFj ayB0byBleGFtcGxlcyA2LjEgYW5kIDYuMiwgc28gaXQgc2hvdWxkIGJlICJzb21lIG9mIHRoZSB1 bnJlZHVjZWQgZm9ybXMgaW4gdGhlIHByZXZpb3VzIGV4YW1wbGVfX3NfXyIuCgoqKiAnJ0lOQ0xV REVEIElOIERBRy1DTEwnJyAoem9ydCdzIGZvcmsgYXQgbGVhc3QpCgooQXBwcm92ZWQgRXJyYXR1 bXxqY293YW4gQXBwcm92ZWQpKSAgUmVmZXIgZXhwbGljaXRseSB0byA2LjEgYW5kIDYuMgoKCgoq IFNlY3Rpb24gNywgcGFnZSA2MC4gSW4gZXhhbXBsZSA2LjE2LCB0aGUgd29yZCAieGFybnlrYXJj ZSIgaXMgZ2xvc3NlZCBhcyAid2FyLWNhciIuIEVpdGhlciB0aGUgZ2xvc3Mgc2hvdWxkIGJlIHVw ZGF0ZWQgdG8gcmVmbGVjdCB0aGUgdmVsanZvICgic3R1YmJvcm4tY2FyIiksIG9yIHRoZSBsdWp2 byBzaG91bGQgYmUgdXBkYXRlZCB0byByZWZsZWN0IHRoZSBnbG9zcyAiamFta2FyY2UiCgoqKiBU aGUgbGF0dGVyICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xV REVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gNywgbWFraW5nIGEgdHlwZSAzIGZ1J2l2bGEs IHN0ZXAgNSBzaG91bGQgcmVhZCAic3RlcHMgMS00Iiwgbm90ICJzdGVwcyAxLTUiLiAgKChBcHBy b3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogU2VjdGlvbiA3LCBzdGVwIDUgb2Yg dGhlIFN0YWdlIDMgZnUnaXZsYTogImlmIHRoZSByYWZzaSBlbmRzIGluICcncicnIGFuZCB0aGUg cmVzdCBvZiB0aGUgZnUnaXZsYSBiZWdpbnMgd2l0aCAnJ24nJyAob3IgdmljZSB2ZXJzYSkgdXNl IGFuICcnbCcnLWh5cGhlbiIgc2hvdWxkIHJlYWQgICJpZiB0aGUgcmFmc2kgZW5kcyBpbiAnJ3In JyBhbmQgdGhlIHJlc3Qgb2YgdGhlIGZ1J2l2bGEgYmVnaW5zIHdpdGggJyduJycsICcndGMnJywg Jyd0cycnLCAnJ2R6Jycgb3IgJydkaicnLCBvciB0aGUgcmFmc2kgZW5kcyBpbiAnJ24nJyBhbmQg dGhlIHJlc3Qgb2YgdGhlIGZ1J2l2bGEgYmVnaW5zIHdpdGggJydyJycgdXNlIGFuICcnbCcnLWh5 cGhlbiIuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBUaGUgZW5k IG9mIHNlY3Rpb24gNyBzZWVtcyB0byBpbXBseSB0aGF0IGNtZW5lIGFyZSBleGVtcHQgZnJvbSB0 aGUgbm9ybWFsIHJlc3RyaWN0aW9ucyBvbiBjb25zb25hbnQgY2x1c3RlcnMgYXMgbG9uZyBhcyBl YWNoIGNvbnNvbmFudCBwYWlyIGlzIHZhbGlkLgoKCgoqIFNlY3Rpb24gOC4gRXhhbXBsZSA4LjEw ICcnZGphbmRqb256JycgaXMgbm90IHZhbGlkIGxvamJhbiBhcyBpdCBjb250YWlucyB0aGUgZm9y YmlkZGVuIGNvbnNvbmFudCBzZXF1ZW5jZSBgbmRqYC4gICAgKChBcHByb3ZlZCBFcnJhdHVtfGpj b3dhbiBBcHByb3ZlZCkpICBSZXBsYWNlIHdpdGggYSBkaWZmZXJlbnQgbmFtZS4KCioqIFJlcGxh Y2luZyB3aXRoICJKb2huIEJyb3duIiBhcyAiZGphbmJyYXVuIi4gLS1ybHBvd2VsbCAnJ0lOQ0xV REVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gOCwgcGFnZSA2Ni4gRXhhbXBsZSA4LjEyLiBT YXlzIHRoYXQgdGhlIGdpc211ICJzb2xyaSIgbWVhbnMgImFjdHVhbGx5LCAncGVydGFpbmluZyB0 byB0aGUgc3VuJyIuIFRoaXMgaXMgZmFsc2UuIEFjY29yZGluZyB0byB0aGUgZ2lzbXUgbGlzdCwg aXQgbWVhbnMgJydpcycnYSBzdW4uCgoqKiBMZWF2ZSB0aGlzIG9uZSBhbG9uZS4gIEFzIGEgc2Vs dGF1LCAic29scmkiIGRvZXMgaW5kZWVkIG1lYW4gInNvbGFyIi4gIC0tamNvd2FuCgoKCiogU2Vj dGlvbiAxMSwgNWEpICcnRXhhbWluZSBhbGwgdGhlIEMvQyBjb25zb25hbnQgcGFpcnMgdGhhdCBq b2luIHRoZSBDVkMgcmFmc2ksIGFuZCBhbHNvIHRoZSBwYWlyIGJldHdlZW4gdGhlIGxhc3QgQ1ZD IGFuZCB0aGUgWCBwb3J0aW9uLCBpZ25vcmluZyBhbnkgInkiLWh5cGhlbiBiZWZvcmUgdGhlIFgu Jycgc2hvdWxkIHJlYWQgaW5zdGVhZDogJydFeGFtaW5lIGFsbCB0aGUgQy9DIGNvbnNvbmFudCBw YWlycyB1cCB0byB0aGUgZmlyc3QgInkiLWh5cGhlbiwgb3IgdXAgdG8gdGhlIGVuZCBvZiB0aGUg d29yZCBpbiBjYXNlIHRoZXJlIGFyZSBubyAieSItaHlwaGVucy4nJwoKKiogKChBcHByb3ZlZCBF cnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiog U2VjdGlvbiAxMi4gSW4gRXhhbXBsZXMgMTIuMiwgMTIuMyBhbmQgMTIuNCB0aGUgY2FsY3VsYXRp b25zIGFyZSBnaXZlbiBhcyAzMjUwMCBtaW51cyB0aGUgc2NvcmUsIGluc3RlYWQgb2Ygc2ltcGx5 IHRoZSBzY29yZS4gKFByb2JhYmx5IGZyb20gcHJldmlvdXMgdmVyc2lvbnMgb2YgdGhlIGFsZ29y aXRobS4pICAgICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIFNlY3Rp b24gMTMsIHBhZ2UgNzQsIHRoaXJkIHRhYmxlOiB0aGVyZSBpcyBubyBzcGFjZSBiZXR3ZWVuICJs b2piYXVncmkiIGFuZCAibG9qYmFuZ3lncmkiLCBzbyB0aGF0IHRoZXkgYXJlIHJ1biBpbnRvIG9u ZSB3b3JkIGluIHRoZSBzZWNvbmQgY29sdW1uIG9mIHRoZSB0YWJsZS4gICgoQXBwcm92ZWQgRXJy YXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIFNlY3Rpb24gMTUgc3RhdGVzIHRoYXQgImR6aXBv IiBjb21lcyBmcm9tICJjYWR6dSBjaXBuaSIgKCJ3YWxraW5nIGJpcmQiKS4gIFRoaXMgZmFpbHMg dG8gbWFrZSBzZW5zZSBlaXRoZXIgZXR5bW9sb2dpY2FsbHkgb3Igc2VtYW50aWNhbGx5IChJZiB0 aGUgbmFtZSByZWZlcnMgdG8gcGVuZ3VpbnMsIHRoZXJlIGFyZSBhIGxvdCBvZiBvdGhlciBmZWF0 dXJlcyBvZiBBbnRhcmN0aWNhIHRoYXQgYXJlIG1vcmUgcHJvbWluZW50IGFuZCBub3Qgc2hhcmVk IGJ5IG90aGVyIHBsYWNlcykuICBJIHN1c3BlY3QgdGhhdCB0aGUgd29yZCBtYXkgYWN0dWFsbHkg Y29tZSBmcm9tICJkaXpsbyBkYXBsdSIgKCJsb3cgaXNsYW5kIiksIHdoaWNoIGlzIGEgc29tZXdo YXQgbW9yZSByZWFzb25hYmxlIG5hbWUuCgoqKiBOb3QgYW4gZXJyYXR1bSwgdGhlIHdvcmQgcmVh bGx5IGRvZXMgY29tZSBmcm9tICJjYURadSBjSVBuaSIuIFRoYXQgaXQgZmFpbHMgdG8gbWFrZSBz ZW5zZSBkb2Vzbid0IGNoYW5nZSB0aGUgZmFjdCB0aGF0IHRoYXQgaXMgaG93IHRoZXkgY29uc3Ry dWN0ZWQgaXQuIFRoZSBldHltb2xvZ2llcyBvZiAiYmVtcm8iIGFuZCAia2V0Y28iIG1ha2UgZXZl biBsZXNzIHNlbnNlLCBieSB0aGUgd2F5LgoKKioqIENvcnJlY3QsIGJ1dCB0aGUgZXR5bW9sb2dp ZXMgYXJlIHdoYXQgdGhleSBhcmUuICAtLWpjb3dhbgoKCgotLS0KCgoKIUNoYXB0ZXIgNQoKCgoq IFNlY3Rpb24gNiwgZXhhbXBsZSA2LjE1OiBJdCBzYXlzIHt4YW1ndSBqbyBjb3J0dSBudW50YXZs YX0sIGFuZCB0aGUgZ2xvc3Mgc2F5cyB7KGdvb2QgaWYtYW5kLW9ubHktaWYgc2hvcnQpIHNwZWVj aH0sIGJ1dCB7Y29ydHV9IG1lYW5zICJodXJ0Iiwgbm90ICJzaG9ydCIuCgoqKiAnJ0lOQ0xVREVE IElOIERBRy1DTEwnJyAgKGNoYW5nZWQgdG8ge3RvcmR1fSkgKGluIHpvcnQncyBmb3JrIGF0IGxl YXN0KSAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBFeGFtcGxlIDYu MTY6IHZham5pIGp1IHNlbHBsdWthIG51bnRhdmxhICwgIChpbXBvcnRhbnQgd2hldGhlci1vci1u b3QgcGxlYXNpbmcpIGV2ZW50LW9mLXRhbGtpbmcKCioqIFNob3VsZCBiZSBwbHVrYSwgbm90IHNl bHBsdWthLiAgKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVE RUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlvbiA4IHNheXMgImludm9sdmluZyBzZWxtYSdvIFZP aEEgYW5kIEdPaEksIGV4cGxhaW5lZCBpbiBDaGFwdGVyIDciLCBidXQgVk9oQSBkb2Vzbid0IGFw cGVhciBpbiBDaGFwdGVyIDcuIFZPaEEgZG9lc24ndCBldmVuIHNlZW0gdG8gYmUgYSBzZWxtYSdv LCBmb3IgdGhhdCBtYXR0ZXIuIEFsc28sIHByb2JhYmx5IEdPaEkgc2hvdWxkIGJlIEdPaEE/CgoK CiogU2VjdGlvbiA4LCBwYWdlIDk2Lzk3OiBFeGFtcGxlIDguMTMgbmVlZHMgc29tZSBraW5kIG9m IHRlcm1pbmF0b3IgKGxpa2UgImJlJ28iKSBiZWZvcmUgdGhlICJjbyIuICAgKChBcHByb3ZlZCBF cnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogQWxzbywgdGhlIHByZWNlZGluZyBwYXJhZ3Jh cGggc3VnZ2VzdHMgdGhhdCAiYmUiIGlzIHRoZSBvbmx5IHdheSB0byBmaWxsIHNlbGJyaSBwbGFj ZXMgb3RoZXIgdGhhbiB4MS4gVGhpcyBpcyBub3QgdGhlIGNhc2U6ICJtaSBsZSB6YXJjaSBjdSBr bGFtYSBjbyBzdXRyYSIgd291bGQgYWxzCgpvIHdvcmsuCgoqKiBJIGRvbid0IGFncmVlIHRoYXQg dGhlcmUncyBhbnkgc3VjaCBzdWdnZXN0aW9uLCBhbHRob3VnaCBhZGRpbmcgYSBzZWNvbmQgcG9z c2liaWxpdHkgaXMgZmluZSB3aXRoIG1lLiAgLS1qY293YW4KCgoKKiBTZWN0aW9uIDkgbGlzdHMg ImtlaSIgYXMgdGhlIHRlcm1pbmF0b3IgZm9yIG51LCBidXQgaXQncyBub3Qgb25seSBmb3IgbnUs IGJ1dCBmb3IgYWxsIG9mIE5VLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkp CgoKCiogU2VjdGlvbiAxNCwgcGFnZSAxMDQgc2F5cyAiZGFkeWxzaSIgZm9yICJkYWR5c2xpIi4K CioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElO IERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gMTQsIHBhZ2UgMTA1IHVzZXMgInpkYW5pIGxpamdyaSIg aW4gdGhlIGV4YW1wbGUgbGlzdCwgYnV0IHRoZSBwYXJhZ3JhcGggYWZ0ZXIsIGFzIHdlbGwgYXMg dGhlIG5leHQgbGlzdCwgcmVmZXIgdG8gInpkYW5pIGxpbmppIiBhbmQgImxpbmppIHpkYW5pIi4K CgoKKiBTZWN0aW9uIDE0LCBwYWdlIDEwNSBoYXMgdGhlIGx1anZvICJjcHVtaSdpIiBidXQgZGVm aW5lcyBpdCBhdCB0aGUgYm90dG9tIG9mIHRoZSBzZXQgYXMgImNwYW1pJ2kiLgoKKiogY3VhbWkn aSBzIHB1bGwtbWFjaGluZSwgc28gdXNpbmcgdGhhdCAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3Vz bWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIDE0LCBw YWdlIDEwNiBzYXlzICJwbGlzZSB0YXBsYSIgZm9yICJhcHBsZSBjYWtlIi4gRG9lcyBUdXJraXNo IHJlYWxseSByZWZlciB0byBhIGNha2UgYXMgYSB0aWxlLCBvciBpcyB0aGlzIGEgbWlzdW5kZXJz dGFuZGluZyBvZiB0aGUgZGVmaW5pdGlvbiBvZiAidGFwbGEiPwoKKiogTm8sIGl0J3MgdGhhdCB7 dGFwbGF9IGNhbiBtZWFuIGJvdGggY2FrZSBhbmQgdGlsZSwgYXMgdGhlIGdpc211IGxpc3Qgc2hv d3M7IGl0J3MgYSBnZW5lcmljIHdvcmQgZm9yIGEgZmxhdCAzLUQgc2hhcGUsIG9yIHNob3J0IGN5 bGluZGVyLiAgU3RldC4gIC0tamNvd2FuCgoKCiogU2VjdGlvbiAxNCwgcGFnZSAxMDggc2F5cyAi dHVtbGEgc3Bpc2EiLiBUaGlzIHNob3VsZCBwcm9iYWJseSBiZSAidHVtbGEgcGFnYnUiLCBzaW5j ZSBwaWVjZXMgb2YgbGFuZCBhcmUgbm90IGFjdHVhbGx5IGRldGFjaGVkLgoKKiogV2hhdCBtYWtl cyB5b3UgdGhpbmsgdGhhdCBzcGlzYSBoYXZlIHRvIGJlIGRldGFjaGVkPyAgU3RldC4gIC0tamNv d2FuCgoKCiogU2VjdGlvbiAxNCwgcGFnZSAxMDkgc2F5cyAicm9zdHUgbW9qeXN1J2EiLiAicm9z dHUiIGlzIG5vdCBhIExvamJhbiBnaXNtdSwgbm9yIGFuIE9sZCBMb2dsYW4gcHJpbWl0aXZlLiBJ dCdzIHN1cHBvc2VkIHRvIGJlICJtcm9zdAoKdSIuCgoqKiAiTXJvc3R1IiBpcyBjb3JyZWN0LCBh bmQgdGhhdCdzIHRoZSByZWFkaW5nIG9mIHRoZSBvbmxpbmUgdmVyc2lvbi4gICgoQXBwcm92ZWQg RXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIFNlY3Rpb24gMTQsICJudW5raWxicmEiIGlz IGNsZWFybHkgbm90ICJzaGFycGVuZXIiLCBhbmQgZXZlbiBpZiBpdCB3YXMgdXNpbmcgdGhlIHJp Z2h0IHJhZnNpIGZvciBjYWJyYSwgdGhhdCBzdHJpa2VzIG1lIGFzIGEgcHJldHR5IGNyYXBweSBs dWp2bzsgbmVlZHMgemVuYmEgb3Igem1hZHUgb3IgYmlueG8gb3Igc29tZXRoaW5nLgoKCgoqIFNl Y3Rpb24gMTQsIHBhZ2UgMTEyIGxpc3RzIG51bWVyb3VzIHRhbnJ1IGV4YW1wbGVzIHdob3NlIG1l YW5pbmdzIGFyZSBoeXBlcm55bXMgb2YgdGhlIHRlcnRhdSBpbnN0ZWFkIG9mIGh5cG9ueW1zLiBU aGlzIGNvbnRyYWRpY3RzIHRoZSBwcmltYXJpbmVzcyBvZiB0aGUgdGVydGF1IGFzIGRlZmluZWQg b24gcGFnZSA4NC4gVGhlIHdvcmQgImphIiBzaG91bGQgcHJvYmFibHkgYmUgaW5zZXJ0ZWQgYmV0 d2VlbiB0aGUgY29uc3RpdHVlbnRzLCBvciB0aGUgZW50aXJlIHNlY3Rpb24gc2hvdWxkIGJlIHJl bW92ZWQuCgoqKiBTdGV0LiAgTGlvbnMgY2FuJ3QgYmUgbWFkZSBvZiBzdG9uZSwgYnV0IHtyb2tj aSBjaW5mb30gaXMgYSBsZWdpdGltYXRlIHRhbnJ1IG5vbmV0aGVsZXNzLiAgLS1qY293YW4KCgoK LS0tCgoKCiFDaGFwdGVyIDYKCgoKKiBFbmQgb2Ygc2VjdGlvbiAyLCBpdCBzYXlzICJjb21wb3Vu ZCBuZWdhdG9yIGBgbmFrdScnIChkaXNjdXNzZWQgaW4gQ2hhcHRlciAxNSkiLCBidXQgIm5ha3Ui IGlzIG5ldmVyIG1lbnRpb25lZCBpbiBjaGFwdGVyIDE1OyBpbmRlZWQsIHRoZSBvbmx5IHVzZXMg b2YgdGhlIHdvcmQge2t1fSBhdCBhbGwgYXJlIGFmdGVyIHRoZSB3b3JkcyB7amkndX0gb3Ige25h J2l9LiBDaGFwdGVyIDE2IHRhbGtzIGFib3V0IHtuYWt1fS4KCioqICcnSU5DTFVERUQgSU4gREFH LUNMTCcnICh6b3J0J3MgZm9yayBhdCBsZWFzdCkgYnV0IG5lZWRzIGFwcHJvdmFsCgoKCiogU2Vj dGlvbiAxMiwgcC4gMTM4IGNsYWltcyB0aGF0IHRoZSBzdW10aSBpbiBleGFtcGxlcyAxMi4yIGFu ZCAxMi4zIG9wZXJhdGUgbGlrZSBleGFtcGxlcyAyLjUgYW5kIDMuNiByZXNwZWN0aXZlbHkuICIy LjYgYW5kIDMuNiIgaXMgYWxtb3N0IHN1cmVseSB3aGF0IHdhcyBtZWFudC4gICgoQXBwcm92ZWQg RXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIElu IHNlY3Rpb24gMTEgRXhhbXBsZSAxMS4yIG9jY3VycyB0d2ljZS4KCioqICgoQXBwcm92ZWQgRXJy YXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNl Y3Rpb24gMiBoYXMgZXhhbXBsZXMgMi4zIGFuZCAyLjUgdG8gc2hvdyB0aGUgZGlmZmVyZW5jZSBi ZXR3ZWVuIHtsb30gYW5kIHtsZX0uIEV4YW1wbGUgMi41IGFuZCB0aGUgc3Vic2VxdWVudCB0ZXh0 IHNheSB0aGF0IHtsbyBuYW5tdSBjdSBuaW5tdX0gaXMgbmVjZXNzYXJpbHkgZmFsc2UgaW4gbG9q YmFuIHNpbmNlIHtub2RhIG5hbm11IGdpJ2UgbmlubXV9LiBUaGlzIGNvbnRyaWJ1dGVzIHRvIHRy YW5zLWVyYXN1cmUsIGFuZCBzaG91bGQgYmUgcmV2aXNlZC4KCgoKKiBJbiBzZWN0aW9uIDUgYmV0 d2VlbiBleGFtcGxlcyA1LjIgYW5kIDUuMywgaXQgc2F5cyB0aGF0IHRoZSB0eXBpY2FsIGxpb24g YmVzdCBleGVtcGxpZmllcyB0aGUgc2V0IG9mIGxpb25zLiBUaGlzIGlzIGZhbHNlLCBpdCBleGVt cGxpZmllcyBub3QgdGhlIHNldCwgYnV0IHRoZSBtZW1iZXJzIG9mIHRoYXQgc2V0LgoKCgotLS0K CgoKISBDaGFwdGVyIDcKCgoKKiBTZWN0aW9uIDYsIHBhZ2UgMTU1IGhhcyBhIG5vdGUgYmVsb3cg ZXhhbXBsZSA2LjEzIHRoYXQgc2F5cywgaW4gcGFydDogIlRoZSBMb2piYW4gZG9lcyBub3QgY29u dGFpbiBhbiBlcXVpdmFsZW50IG9mIHRoZSAibXkiIGluIGNvbGxvcXVpYWwgRW5nbGlzaDsiIGFu ZCB0aGVuIGdvZXMgb24gdG8gZXhwbGFpbiBob3cgZXhhbXBsZSA2LjEzIGNvdWxkIGJlIG1vZGlm aWVkIHRvIGluY2x1ZGUgIHRoZSByZWxhdGlvbnNoaXAgYmV0d2VlbiB0aGUgc3BlYWtlciBhbmQg dGhlaXIgc29uIGFuZCBkYXVnaHRlci4gIEkgYmVsaWV2ZSB5b3UgY291bGQgc2F5ICJsZSBtaSBi ZXJzYSIgb3IgImxlIGJlcnNhIHBlIG1pIiB0byBleHByZXNzIHRoZSBFbmdsaXNoICJteSwiIHRo ZXJlZm9yIHJlbW92aW5nIHRoZSAocHJlc3VtYWJseSBpbmFjY3VyYXRlKSBub3RlIGFuZCBtYWtp bmcgdGhlIExvamJhbiB0cmFuc2xhdGlvbiBtb3JlIGFjY3VyYXRlLgoKKiogU3VyZSB5b3UgY291 bGQsIGJ1dCB0aGUgcG9pbnQgb2YgdGhlIG5vdGUgKHdoaWNoIGlzICcnbm90JycgaW5hY2N1cmF0 ZSkgaXMgbm90IHRlYWNoaW5nIGhvdyB0byB1c2UgcmVsYXRpdmUgY2xhdXNlcywgYnV0IHRvIGNs YXJpZnkgdGhhdCB0aGUgaWRpb21hdGljIEVuZ2xpc2ggdmVyc2lvbiBjb250YWlucyBtb3JlIGlu Zm9ybWF0aW9uIHRoYW4gdGhlIExvamJhbiB2ZXJzaW9uIGRvZXMuICBTdGV0LgoKCgoqIFNlY3Rp b24gNiwgcGFnZSAxNTYgaGFzICcna2FyY2EnJyBmb3IgJydrYXJjZScnLiAgKChBcHByb3ZlZCBF cnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogQWZ0ZXIgZXhhbXBsZSA2LjE4IGlzIGEgcGFy YWdyYXBoIHRoYXQgcXVvdGVzIG5vbi1leGlzdGVudCB0ZXh0IGZyb20gZXhhbXBsZSA2LjEwLiAg ImdvJ2UgcmEnbyIgc2hvdWxkIHJlYWQgImdvJ2kgcmEnbyIgYW5kICJkbyBnbydlIiBzaG91bGQg cmVhZCAibWkgZ28naSIKCioqIFRoZSBjb3JyZWN0IGNvcnJlY3Rpb24gaXMgdG8gcmVwbGFjZSAi QidzIHN0YXRlbWVudCIgd2l0aCAiQSdzIHNlY29uZCBzdGF0ZW1lbnQiLiAgKChBcHByb3ZlZCBF cnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoqKiogTm90IHJlYWxseS4gImdvJ2UgcmEnbyIgaW4g QSdzIHNlY29uZCBzdGF0ZW1lbnQgd291bGQgbWVhbiB0aGUgc2FtZSBhcyAiZ28nZSIsIHdoaWNo IGlzIHdyb25nLiBUaGUgb3JpZ2luYWwgY29ycmVjdGlvbiBpcyB2YWxpZCB0aG91Z2guCgoKCipT ZWN0aW9uIDYsIHRoZSBleGNlcHRpb25zIHRvIHRoZSBhbmFwaG9yYSBydWxlcyBhcmUgYWxtb3N0 IGNlcnRhaW5seSBpbmNvbXBsZXRlLiBJbiBwYXJ0aWN1bGFyICJtYSIgYW5kICJjZSd1IiBkZWZp bml0ZWx5IHdhcnJhbnQgZXhjZXB0aW9ucy4KCgoKKiBTZWN0aW9uIDcsIGV4YW1wbGUgNy43IGhh cyAibWkgemJhc3UgbG9pIG11ZHJpIHppJ28iIGZvciAibWkgemJhc3UgbGUgZGluanUgemknbyIK CioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElO IERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gOCwgcC4gMTU4IGltcGxpZXMgdGhhdCAnJ3ZvJ2EnJy1z ZXJpZXMgYW5hcGhvcmEgcmVmZXIgdG8gc3VtdGkgb2YgdGhlIGJyaWRpIHRoZXkgdGhlbXNlbHZl cyBhcmUgc3VtdGkgb2YuIFRoaXMgY29udHJhZGljdHMgdGhlIGNtYXZvIGxpc3QsIGFuZCBpcyBp bmNvcnJlY3Q6ICcndm8nYScnLXNlcmllcyBhbmFwaG9yYSAoYWNjb3JkaW5nIHRvIHRoZSBtYSdv c3RlKSByZWZlciB0byBzdW10aSBvZiB0aGUgb3V0ZXJtb3N0IGJyaWRpIHdpdGhpbiB0aGUgY3Vy cmVudCBzZW50ZW5jZS4gVGhpcyBtYWtlcyB0aGVtIGxvZ29waG9ycy9sb25nIGRpc3RhbmNlIHJl ZmxleGl2ZXMsIHJhdGhlciB0aGFuIHNob3J0LWRpc3RhbmNlIHJlZmxleGl2ZXMsIGFzIGlzIG5v cm1hbCBpbiBodW1hbiBsYW5ndWFnZS4gVGh1cywgaW4gJydtaSBuZWxjaSBsZW51IGRvIHByYW1p IHZvJ2EnJywgJyd2bydhJydtZWFucyAnJ21pJycsIG5vdCAnJ2RvJycuCgoqKl9fLS0+X18oKFdo eSB0aGUgQm9vayBpcyBSaWdodCBhbmQgdGhlIG1hJ29zdGUgaXMgV3JvbmcpKQoKKioqV2hpY2gg b2YgdGhlIHR3byBjYXNlcyBpcyBub3JtYWwgaW4gaHVtYW4gbGFuZ3VhZ2U/IElmIHlvdSdkIHdy aXR0ZW4gaXQgaW4gTG9qYmFuLCBJJ2Qga25vdyEKCioqKiogSSdkIGd1ZXNzIHRoYXQgc2hvcnQt ZGlzdGFuY2UgaXMgbm9ybWFsLCBiL2Mgb3RoZXJ3aXNlIGl0IHdvdWxkIG5vdCBiZSB3b3J0aCBj b21wYXJpbmcgdGhlIHR3by4gQnV0IG9mIGNvdXJzZSBpbiBsb2piYW4gd2Ugd291bGRuJ3QgaGF2 ZSB0byBnbG9yayB0aGF0LgoKKioqKiogU2hvcnQtZGlzdGFuY2UgaXMgaW5kZWVkIG5vcm1hbCwg YnV0IExvamJhbmlzdHMgaGF2ZSBjb25zaXN0ZW50bHkgdXNlZCBsb25nLWRpc3RhbmNlLiAgTmlj ayB3cm90ZSBhIHBlZXItcmV2aWV3ZWQgcGFwZXIgb24gdGhpcy4gIC0tamNvd2FuCgoKCiogRXhh bXBsZSA3LjguNSAocDE1OSk6IGJhanJhIG9uIHRoaXJkIGxpbmUgc2hvdWxkIGJlIGJhanlrbGEs IGxpa2UgdGhlIG90aGVycy4KCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92 ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gOCwgaXQgc2F5cyAiRXhh bXBsZSA5LjMgaXMgYSB0cnVseSBwcmVnbmFudCBxdWVzdGlvbi4uLiIgd2hlbiBleGFtcGxlIDku MiBpcyB0aGUgcHJlZ25hbnQgcXVlc3Rpb24sIGFuZCBleGFtcGxlIDkuMyBpcyBhIGJldHRlciB3 YXkgb2YgZXhwcmVzc2luZyAiV2hvIGFyZSB5b3U/IgoKCgoqIFNlY3Rpb24gMTUsIGl0IHNheXMg IkZpbmFsbHksIGx1anZvIGludm9sdmluZyBgYHppJ28nJyBhcmUgYWxzbyBwb3NzaWJsZSwgYW5k IGFyZSBmdWxseSBkaXNjdXNzZWQgaW4gQ2hhcHRlciAxMiIsIGJ1dCBub3doZXJlIGRvZXMgQ2hh cHRlciAxMiBtZW50aW9uIHRoZSB3b3JkIHt6aSdvfSwgbXVjaCBsZXNzIGx1anZvIGludm9sdmlu ZyBpdC4gVGhpcyBpcyBwcm9iYWJseSBhIENoYXB0ZXIgMTIgZXJyYXR1bS4KCi0tLQoKCgohQ2hh cHRlciA4CgoKCiogSW4gU2VjdGlvbiAzIHRoZSBleGFtcGxlIDMuMjAgc2hvdWxkIGhhdmUge3hh bmNlfSBpbnN0ZWFkIG9mIHt4YW5jaX0sIHdoaWNoIGlzIGRlZmluaXRlbHkgYSB0eXBvLiAtLWlk b250a253CgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNM VURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIDgsIHAuIDE4MTogIDguMSkgJydsaSBwYWkg bm9pIG5hJ2UgZnJpbnUgbmFtY3UnJ3Nob3VsZCBiZSAnJ2xpIHBhaSBub2kgbmEnZSBmcmludSBj dSBuYW1jdScnLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogU2Vj dGlvbiA4LCBFeGFtcGxlIDguNiwgdGhlIHRoaXJkIGxpbmUsICJJIHJ1bm5pbmdseS1nbyB0by10 aGlzIFtyZWNpcHJvY2l0eV0gW3gzIG9mIHRoaXMgYnJpZGldIGZyb20tdGhhdCIsIGlzIG5vdCB0 aGUgdXN1YWwgZGVjZW50IEVuZ2xpc2ggb25lIHdvdWxkIGV4cGVjdCBpbiB0aGF0IHBvc2l0aW9u OyByZXBsYWNlZCB3aXRoICJJIHJ1biB0byB0aGlzIGZyb20gdGhhdCBhbmQgdmljZSB2ZXJzYS4i IGlzIGRhZy1jbGwgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIDksIGV4YW1w bGUgOS4yIGlzICcnY28nbyB4aXJtYScnLiBUaGVuLCAnJ05vdGUgdGhhdCBFeGFtcGxlIDkuMiBz YXlzIGZhcmV3ZWxsIHRvIHNvbWV0aGluZyB3aGljaCBkb2VzbuKAmXQgcmVhbGx5IGhhdmUgdG8g YmUgYSBob3JzZSwgc29tZXRoaW5nIHRoYXQgdGhlIHNwZWFrZXIgc2ltcGx5IHRoaW5rcyBvZiBh cyBiZWluZyBhIGhvcnNlLCBvciBldmVuIG1pZ2h0IGJlIHNvbWV0aGluZyAoYSBwZXJzb24sIGZv ciBleGFtcGxlKSB3aG8gaXMgbmFtZWQgIkhvcnNlIi4gSW4gYSBzZW5zZSwgRXhhbXBsZSA5LjIg aXMgYW1iaWd1b3VzIGJldHdlZW4gImNvJ28gbGUgeGlybWEiIGFuZCAiY28nbyBsYSB4aXJtYSIn Jy4gSXMgdGhpcyB0cnVlPwoKKiogWWVzLCBpbiB0aGUgc2Vuc2UgdGhhdCBhbGwgdXNlcyBvZiAi bGUiICcnbWlnaHQnJyBtZWFuICJsYSIuICBCdXQgaXQncyBwcm9iYWJseSBtb3JlIGNvbmZ1c2lu ZyB0aGFuIGl0J3Mgd29ydGguICBUcnVuY2F0ZSBhZnRlciAidGhpbmtzIG9mIGFzIGJlaW5nIGEg aG9yc2UiLiAgLS1qY293YW4KCgoKKiBTZWN0aW9uIDkgc2F5cyAnJ0luIHZvY2F0aXZlIHBocmFz ZXMgd2hpY2ggYXJlIHNpbXBsZSBuYW1lcyAoYWZ0ZXIgdGhlIHZvY2F0aXZlIHdvcmRzKSwgYW55 IHJlbGF0aXZlIGNsYXVzZXMgbXVzdCBjb21lIGp1c3QgYWZ0ZXIgdGhlIG5hbWVzJycuIFRoaXMg aXNuJ3QgdHJ1ZS4gUmVsYXRpdmUgY2xhdXNlcyBjYW4gZ28gYmV0d2VlbiB0aGUgdm9jYXRpdmUg YW5kIHRoZSBjbWV2bGEuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkgIERy b3AgaXQ7IGl0IHJlZmxlY3RzIGFuIGVhcmxpZXIgc3RhdGUgb2YgdGhlIGxhbmd1YWdlLgoKCgoq IFNlY3Rpb24gMTAsIGV4YW1wbGUgMTAuMyB1c2VzICJrZSdhIGdvaSBrbydlIHpvJ3Uga28nYSB6 YmFzdSBrZSdhIiBidXQgZ2xvc3NlcyBpdCBhcyAiKElUID0gaXQyIDogaXQxIGJ1aWx0IGl0Miki LiBUaGUgYXNzaWduZWQgImtvJ2UiIGlzIG5vdCB1c2VkIGFzIGV4cGVjdGVkIG9yIGRlc2NyaWJl ZCwgYW5kIHNob3VsZCBwcm9iYWJseSBiZSAia28nYSB6YmFzdSBrbydlIi4gICgoQXBwcm92ZWQg RXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKSAgWWVzLCAia28nYSB6YmFzdSBrbydlIiBpcyBjbGVh cmx5IHdoYXQncyBtZWFudC4KCgoKLS0tCgohQ2hhcHRlciA5CgoKCiogU2VjdGlvbiA2LCBwbGFj ZSBzdHJ1Y3R1cmUgb2YgJydwaWxubycnIGlzIG1pc3NpbmcgImZvciBwdXJwb3NlIHgzIi4gICgo QXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIFNlY3Rpb24gOCwgdGhlIGV4 YW1wbGVzIDguNSBhbmQgOC42IGFyZSBzdXBwb3NlZCB0byBtZWFuIHRoZSBzYW1lIHRoaW5nLCBi dXQgZG8gbm90LgoKKiogUGxlYXNlIGVsYWJvcmF0ZS4gIC0tamNvd2FuCgoqKiogOC41IG1lYW5z ICJJIGdhdmUgdGhlIGJvb2sgdG8gSm9obiwgYmVjYXVzZSBKb2huIGdhdmUgdGhlIG1vbmV5IHRv IG1lIiBidXQgOC42IG1lYW5zICJKb2huIGdhdmUgdGhlIG1vbmV5IHRvIG1lIGJlY2F1c2UgSSBn YXZlIHRoZSBib29rIHRvIEpvaG4uIgoKKiogJydJTkNMVURFRCBJTiBEQUctQ0xMJycgKChBcHBy b3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogU2VjdGlvbiAxMSwgZGVzY3JpcHRp b24gb2YgdGhlIG1lYW5pbmcgb2YgIi5pamUgc2VyaSdhIHR1J2UiIGNvbnRyYWRpY3RzIHRoZSBl eHBsYW5hdGlvbiBvZiBFeGFtcGxlIDkuOSwgd2hpY2ggd291bGQgc3VnZ2VzdCAiLmlqZSByaSdh IHR1J2UiLgoKCgoqIHNlY3Rpb24gMTcsICJmcm9tIHNvdXJjZSBhcyBhbiBvcmlnaW4gb2YiIHNo b3VsZCBiZSB0d28gZW50cmllczsgImZyb20gc291cmNlIiBhbmQgImFzIGFuIG9yaWdpbiBvZiIg JydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKLS0tCgoKCiFDaGFwdGVyIDEwCgoKCiogU2VjdGlv biA0LCAid2hlbiBib3RoIHNwYXRpYWwgYW5kIHRlbXBvcmFsIHRlbnNlIGNtYXZvIGFyZSBnaXZl biBpbiBhIHNpbmdsZSB0ZW5zZSBjb25zdHJ1Y3QsIHRoZSB0ZW1wb3JhbCB0ZW5zZSBpcyBleHBy ZXNzZWQgZmlyc3QiIGRpc2FncmVlcyB3aXRoIHRoZSBydWxlIHNpbXBsZS10ZW5zZS1tb2RhbC05 NzIgaW4gdGhlIEJORiBncmFtbWFyLgoKCgoqIFNlY3Rpb24gOSwgZXhhbXBsZSA5Ljkgb24gcGFn ZSAyMjcgaGFzICJjaXJsaSIgZm9yICJjaXJsYSIuCgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2Ft Z3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIDEy LCBleGFtcGxlIDEyLjYgdHJhbnNsYXRlcyBtb3JzaSBhcyAiZGllIiByYXRoZXIgdGhhbiAiYW0g ZGVhZCIgaW4gdGhlIHRyYW5zbGF0aW9uIChhcyBvcHBvc2VkIHRvIHRoZSBnbG9zcykuCgoKCiog U2VjdGlvbiAxNiwgYXQgdGhlIGVuZCwgdGhlIFggYW5kIFkgaW4gdGhlIDMgZm9ybXMgZG9uJ3Qg Zml0IHByb3Blcmx5ICh0aGUgM3JkIGRvZXNuJ3QgbWF0Y2ggdGhlIGZpcnN0IHR3bykuIEkgcmVj b21tZW5kLCBjb3B5aW5nIGZyb20gU2VjdGlvbiAyMyAod2hlcmUgdGhleSBhcmUgd3JpdHRlbiBh Z2FpbiBjb3JyZWN0bHkpOgoKICAgICAgIFggLmkgVEVOU0UgYm8gWQoKICAgICAgIFRFTlNFIGdp IFggZ2kgWQoKICAgICAgIFkgVEVOU0UgbGUgbnUgWAoKCgoqIFNlY3Rpb24gMTcsIGV4YW1wbGUg MTcuMTIgc2hvdWxkIG5vdCBoYXZlIHRoZSBzZWNvbmQgImJldnJpIi4KCioqICgoQXBwcm92ZWQg RXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoq IFNlY3Rpb24gMTgsIGV4YW1wbGUgMTguOSBpcyBzdXBwb3NlZCB0byBzaG93IHNjYWxhciBuZWdh dGlvbiBvZiB0ZW5zZXMgbm90IGxpbWl0ZWQgdG8gUFUgYW5kIEZBaEEsIGJ1dCB0aGUgZXhhbXBs ZSB0ZW5zZSBpcyByaSd1IChGQWhBMikuCgoKCiogU2VjdGlvbiAxOSwgZXhhbXBsZSAxOS4xMCBz aG91bGQgaGF2ZSAiYmEiLCBub3QgInB1IiwgYW5kICJbZnV0dXJlXSIsIG5vdCAiW3Bhc3RdIi4g ICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIFNlY3Rpb24gMjUsIGV4 YW1wbGVzIDI1LjEgYW5kIDI1LjIgaGF2ZSAnJ2x1J2EnJyBmb3IgJydsYSd1JycuCgoqKiAoKEFw cHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xM JycKCgoKKiBTZWN0aW9uIDI1LCB0aGlzIHdob2xlIHNlY3Rpb24gaXMgYXQgb2RkcyB3aXRoIHRo ZSBmb3JtYWwgZ3JhbW1hci4gSXQgc2F5czogJydJdCBpcyBncmFtbWF0aWNhbCBmb3IgYSB0ZXJt c2V0IHRvIGJlIHBsYWNlZCBhZnRlciBhIHRlbnNlIG9yIG1vZGFsIHRhZyByYXRoZXIgdGhhbiBh IHN1bXRpJycuICBCdXQgdGhhdCBpcyBpbiBmYWN0IGluY29ycmVjdCwgaXQgaXMgbm90IGdyYW1t YXRpY2FsIGZvciBhIHRlcm1zZXQgdG8gYmUgdGhlIGFyZ3VtZW50IG9mIGEgdGFnLgoKKiogVW5m b3J0dW5hdGVseSB0cnVlLiAgVGVybXNldHMgc3VjayByb2NrcywgYW5kIHNvbWUgd29yayB3aWxs IGhhdmUgdG8gYmUgZG9uZSB0byBtYWtlIGV2ZXJ5dGhpbmcgc2FpZCBhYm91dCB0aGVtIGNvbnNp c3RlbnQgLS0gaWYgaXQgaXMgZXZlbiBwb3NzaWJsZS4gIFBlcnNvbmFsbHksIEknZCBsaWtlIHRv IGp1c3QgYnVybiB0aGVtLiAgLS1qY293YW4gICcnJ05PRklYJycnCgoKCiogU2VjdGlvbiAyNzog TU9oSSBzZWUgU2VjdGlvbiAyOCwgbm90IDI3LiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBB cHByb3ZlZCkpCgoKCi0tLQoKCgohQ2hhcHRlciAxMQoKCgoqIFNlY3Rpb24gNDogVGhlIHVzZSBv ZiBrYSBpbiBFeGFtcGxlIDQuNCAocGFnZSAyNTkpIGlzIGVycm9uZW91czsgaXQgc2hvdWxkIGJl IGR1J3UuIC0tKChKb2huIENvd2FuKSkgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3Zl ZCkpCgoKCiogTGFzdCBwYXJhZ3JhcGggb2Ygc2VjdGlvbiA3IHJlZmVyZW5jZXMgY2hhcHRlciA1 IGZvciBhIGRpc2N1c3Npb24gb2YgImx1J2UiLiAgbHUnZSBpc24ndCBtZW50aW9uZWQgaW4gY2hh cHRlciA1LiAgUHJvYmFibHkgY2hhcHRlciA2IGlzIG1lYW50IGhlcmUuCgoqKiBZZXMsIHNob3Vs ZCBiZSBTZWN0aW9uIDUuMTAuICAgICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQp KQoKCgoqIFNlY3Rpb24gOSwgcGFnZSAyNjYgaGFzICJzYW8ncmR6aWZhJ2EiIGluc3RlYWQgb2Yg InNhJ29yZHppZmEnYSIuCgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVk KSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBUaGUgc2FtZSBleGFtcGxlICg5LjYpIGFs c28gaGFzIGt1Y3RyYSBpbnN0ZWFkIG9mIGt1Y3RhaQoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNh bWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogVGhlIGJvb2sg dGl0bGUgaW4gZXhhbXBsZSA5LjYgc2VlbXMgdG8gYmUgaW5jb3JyZWN0OiAiVGhlIENydWNpZml4 aW9uIG9mIEplc3VzIENvbnNpZGVyZWQgQXMgQSBEb3duaGlsbCBCaWN5Y2xlIFJhY2UiIGlzIGFj dHVhbGx5ICJbaHR0cDovL3d3dy5ldmVyZ3JlZW5yZXZpZXcuY29tLzEwMi9maWN0aW9uL2R1by5o dG1sfFRoZSBDcnVjaWZpeGlvbiBDb25zaWRlcmVkIEFzIEFuIFVwaGlsbCBCaWN5Y2xlIFJhY2Vd LiIKCioqIFVuYXBwcm92ZWQKCgoKKiBTZWN0aW9uIDEwOiBQYXJhZ3JhcGggYWJvdmUgZXhhbXBs ZSAxMC43IHJlZmVyZW5jZXMgIkNoYXB0ZXIgMTEiLiBUaGF0IHNob3VsZCByZWFkICJDaGFwdGVy IDEwIi4KCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xV REVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gMTE6IEV4YW1wbGUgMTEuNSBpcyB7c3Unb2Rh IHBvaSB2ZXJiYSBjdSBrbGFtYSByb2RlIHBvaSBja3VsZSBuYWt1fS4gSXQgc2hvdWxkIGJlIHtz dSdvZGEgcG9pIHZlcmJhIGN1IGtsYW1hIHJvZGUgcG9pIGNrdWxlIGt1J28gbmFrdX0gb3IgYW4g ZXF1aXZhbGVudDsgYXMgaXQgc3RhbmRzIHRoZSBuYWt1IGlzIHVuZGVzaXJhYmx5IGluIHRoZSBy ZWxhdGl2ZSBjbGF1c2UuCgoKCiogU2VjdGlvbiAxMiwgcGFnZSAyNjkgaGFzIGV4YW1wbGVzIDEz LjEgYW5kIDEzLjIsIHRob3NlIHNob3VsZCBiZSBjYWxsZWQgMTIuMSBhbmQgMTIuMi4gICgoQXBw cm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgotLS0KCgoKIUNoYXB0ZXIgMTIKCgoK KiBTZWN0aW9uIDIsIHBhZ2UgMjc1LiBUaGUgcGFyYWdyYXBoIHVuZGVyIEV4YW1wbGUgMi4zIHJl ZmVycyB0byBpdCBhcyBFeGFtcGxlIDIuNCAoMi40IGRvZXNuJ3QgZXZlbiBleGlzdCkuICAoKEFw cHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBTZWN0aW9uIDUsIHJpZ2h0IGFm dGVyIGV4YW1wbGUgNS43LiBJdCBzYXlzICJhIiBpbnN0ZWFkIG9mICJhbiIuICAoKEFwcHJvdmVk IEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBTZWN0aW9uIDYsIHBhZ2UgMjgwLiBFeGFt cGxlIDYuNiBzaG91bGQgaGF2ZSBhIHNwYWNlIGJldHdlZW4gImxhIHNwYXQuIiBhbmQgIm5vaSIu CgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJ TiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIDcsIHBhZ2UgMjgyLiBFeGFtcGxlIDcuNSBoYXMgImJh bnNvaSIgaW5zdGVhZCBvZiAiYmFsc29pIi4KCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNt aXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gMTEsIHBh Z2UgMjg1IGhhcyAieGFzY2FrY3VybnUiIGluc3RlYWQgb2YgInhhc3ljYWtjdXJudSIuCgoqKiAo KEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUct Q0xMJycKCgoKKiBTZWN0aW9uIDEyIHJlZmVycyB0byAibnVua2xhbWEiIGFzIHRoZSBzYW1lIGx1 anZvIGFzICJudW5rbGEiLiAgRXZlbiBpZiB0aGVzZSBhcmUgZXF1aXZhbGVudCBhbHRlcm5hdGl2 ZXMgaXQgd291bGQgYmUgbGVzcyBjb25mdXNpbmcgdG8gYmUgY29uc2lzdGVudC4KCgoKKiBTZWN0 aW9uIDEyIGNsYWltcyB0aGF0IC1qYXgtIGlzIGEgcmFmc2kgZm9yIHtqYWl9LCBidXQgaXQgaXNu J3QgaW4gW2h0dHA6Ly93d3cubG9qYmFuLm9yZy9wdWJsaWNhdGlvbnMvd29yZGxpc3RzL3JhZnNp LnR4dHxodHRwOi8vd3d3LmxvamJhbi5vcmcvcHVibGljYXRpb25zL3dvcmRsaXN0cy9yYWZzaS50 eHRdLiBEb2VzIHtqYWl9IGhhdmUgYSByYWZzaSBvciBub3Q/CgoqKiBJdCBzaG91bGQsIGJ1dCBz b21laG93IGl0IG5ldmVyIGdvdCBpbnRvIHRoZSBnaXNtdSBsaXN0LCBhbmQgY29uc2VxdWVudGx5 IG5vdCBpbnRvIHRoZSByYWZzaSBsaXN0IGVpdGhlci4gIFN0ZXQsIGFuZCB3ZSdsbCBhZGQgaXQg dG8gdGhlIGdpc211IGxpc3QuICAtLWpjb3dhbgoKCgoqIFNlY3Rpb24gMTIsIHJpZ2h0IGF0IHRo ZSBlbmQsIHNheXMgdGhhdCB7ZmFpfSBpcyBleHBsYWluZWQgaW4gQ2hhcHRlciAxMSwgYnV0IENo YXB0ZXIgMTEgbWFrZXMgbm8gbWVudGlvbiBvZiB7ZmFpfS4gT25seSBjaGFwdGVycyA5IGFuZCAx MCBkby4KCioqICcnSU5DTFVERUQgSU4gREFHLUNMTCcnICh6b3J0J3MgZm9yayBhdCBsZWFzdCkg ICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIFNlY3Rpb24gMTQsIGV4 YW1wbGUgMTQuMi4gTWlzc2luZyA8IC9wcmUgPiB0YWcsIGFuZCBtaXNzaW5nIDwgcHJlPiB0YWcg Zm9sbG93aW5nIGV4cGxhbmF0b3J5IHBhcmFncmFwaC4KCgoKKiBTZWN0aW9uIDE0LCBwYWdlIDI5 MS4gVGhlIHBhcmFncmFwaCB1bmRlciBleGFtcGxlIDE0Ljcgc2F5cyAic2UgeGFuY2UgbWluZHUi IGluc3RlYWQgb2YgInNlIHhhbmNlIG1pbmRlIi4KCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1n dXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gMTUs IHR3byBwYXJhZ3JhcGhzIGJlZm9yZSBleGFtcGxlIDE1LjcuIEl0IHNheXMgIlRoZXJlIGFyZSBz b21lIGNvbXBhcmF0aXZlIGNvbmNlcHRzIHdoaWNoIGFyZSBpbiB3aGljaCB0aGUgJ3NlIHptYWR1 JyBpcyBkaWZmaWN1bHQgdG8gc3BlY2lmeS4iIFRoZSAid2hpY2ggYXJlIGluIHdoaWNoIiBzZWVt cyBncmFtbWF0aWNhbGx5IGluY29ycmVjdC4KCioqIERyb3AgIndoaWNoIGFyZSIuICAtLWpjb3dh biAgICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIFNlY3Rpb24gMTUs IGV4YW1wbGUgMTUuMSwgdGhlIHg0IG9mIHt6bWFkdX0gYW5kIHttbGVjYX0gc2hvdWxkIGJlICJi eSBhbW91bnQiIG9yICJieSBxdWFudGl0eSIsIG5vdCAiaW4gcXVhbnRpdHkiLgoKCgoqIFNlY3Rp b24gMTUsIHBhZ2UgMjk0LCBleGFtcGxlIDE1LjE0LiAibGEgYWluY3RhaW4iIG5lZWRzIGEgcGVy aW9kIGJlZm9yZSBpdCBiZWNhdXNlIGl0IHN0YXJ0cyB3aXRoIGEgdm93ZWwuCgoqKiAoKEFwcHJv dmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycK CgoKLS0tCgoKCiFDaGFwdGVyIDEzCgoKCiogTWFueSBpbmNpZGVudHMgb2Ygbm90IGhhdmluZyBw ZXJpb2RzIGluIGZyb250IG9mIHZvd2VsLWluaXRpYWwgY21hdm8uCgoqKiAoKEFwcHJvdmVkIEVy cmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBJ biBzZWN0aW9uIDIsIHAuIDMwMCByZWZlcmVuY2VzIHRvIHRoZSBleGFtcGxlcyBmb3IgLnVlIGFu ZCAudWVjdSdpIGFyZSBmbGlwcGVkLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3Zl ZCkpCgoKCiogU2VjdGlvbiAzLCBwYWdlIDMwMywgZXhhbXBsZSAzLjkuICJlJ2UiIG5lZWRzIGEg cGVyaW9kIGJlZm9yZSBpdC4KCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92 ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gMywgcGFnZSAzMDMsIGV4 YW1wbGUgMy4xMC4gInRpc25hIiBuZWVkcyB0byBiZSByZXBsYWNlZCB3aXRoICJ0aXN5Z2F1Ii4K CioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElO IERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gNCwgcGFnZSAzMDUuIFRoZSBzY2FsZSB3aXRoIHRoZSBn aXNtdSBtbmVtb25pY3MgaXMgbWlzYWxpZ25lZCB3aXRoIHRoZSBzY2FsZSB3aXRoIHRoZSBtZW1i ZXJzIG9mIHNlbG1hJ28gQ0FJLiAic2FpIiBzaG91bGQgYmUgdGFiYmVkIG9uZSBwbGFjZSBsZWZ0 LCBzbyB0aGF0IGl0IGFsaWducyB3aXRoIHRzYWxpLCAmYy4KCgoKKiBTZWN0aW9uIDcsIGl0IHNh eXMgIkl0IGlzIG5vdCBjbGVhciBob3cgbXVjaCB1c2UgbG9naWNhbGx5IGNvbm5lY3RlZCBhYnN0 cmFjdG9ycyB3aWxsIGJlOiBzZWUgQ2hhcHRlciAxMy4iIEl0IHNob3VsZCBiZSAiQ2hhcHRlciAx NS4iCgoqKiAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJyAoem9ydCdzIGZvcmsgYXQgbGVhc3QpIGJ1 dCBuZWVkcyBhcHByb3ZhbAoKKiBTZWN0aW9uIDEwLCBwYWdlIDMxMy4gVGhlcmUgaXMgYSBtaXNz aW5nIHNwYWNlIGJldHdlZW4gImNvbnRpbnVlIGVtb3Rpb24iIGFuZCAiZW5kIGVtb3Rpb24iLgoK CgoqIFNlY3Rpb24gMTUuIEEgc2FtcGxlIGRpYWxvZ3VlICAxNS40KSAvIH5ucH5bQ29tbWVudF0g UGFtIHNheXMsIFtQbGVhc2VdIEFsaWNlLCBbZW5kLW9mLWNvbW1lbnRdIC8gW0NvbW1lbnRdIFBh bSBzYXlzLCBbZW5kLW9mLWNvbW1lbnRdIFtQbGVhc2VdIEFsaWNlLC9+L25wfiAoKEFwcHJvdmVk IEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNt aXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gMTUsIGV4 YW1wbGUgMTUuNSAveGFtZ3UvZ2xla2kvID8KCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNt aXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gMTUsIGV4 YW1wbGUgMTUuMTApIC9maSdpIHJvIHp2YXRpIGtvIHBpbnhlIHBhIGNrYWZpL2ZpJ2kgcm8genZh dGkgLmkga28gcGlueGUgcGEgY2thZmkvCgoqKiBObywgdGhpcyBvbmUgaXMgcGVyZmVjdGx5IGZp bmU6ICJmaSdpIHJvIHp2YXRpIiBpcyBhIHZvY2F0aXZlIHBocmFzZSwgd2hpY2ggaXMgYSBmcmVl IG1vZGlmaWVyLCBtZWFuaW5nIHRoYXQgaXQgY2FuIG9jY3VyIGFsbW9zdCBhbnl3aGVyZS4gICgo QXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIFNlY3Rpb24gMTUsIGV4YW1w bGUgMTUuMTMpIC9maSdvIHNlbHBsZWppIG1pL2ZpJ28gcGxlamkgbWkvCgoqKiBBbmQgIndpdGgg cGF5ZXIiIHJhdGhlciB0aGFuICJ3aXRoIHBheW1lbnQiOyBleSdzIG5vdCBwYXlpbmcgd2l0aCBl bXNlbGYhIC0tIGNhbWd1c21pcwoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHBy b3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlvbiAxNSwgZXhhbXBsZSAx NS4xMy4gV3JvbmcgdXNlIG9mIHtzZWxmdX0uIHtiZXZyaX0gd291bGQgZml0IGJldHRlci4KCi0t LQoKCgohQ2hhcHRlciAxNAoKCgoqIFNlY3Rpb24gOCwgcmlnaHQgYmVmb3JlIGV4YW1wbGUgOC45 IGlzICJwcm9kdWNpbmcgZXhhbXBsZSA4LjEwIiB3aGljaCBzaG91bGQgaW4gZmFjdCByZWFkICJw cm9kdWNpbmcgZXhhbXBsZSA4LjkiLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3Zl ZCkpCgoKCiogU2VjdGlvbiA5OiBiZXR3ZWVuIGV4YW1wbGUgOS4xMCBhbmQgOS4xMSwgImlkZW50 aWZpZWQiIHNob3VsZCByZWFkICJpZGVudGljYWwiCgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2Ft Z3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIDEx LCByaWdodCBiZWZvcmUgc2VjdGlvbiAxMi4gSXQgc2F5cyAidGVybXNldHMuLi5hcmUgZXhwbGFp bmVkIGluIENoYXB0ZXIgMTIgYW5kIENoYXB0ZXIgMTYiIGJ1dCBjaGFwdGVyIDEyICh3aGljaCBp cyBvbiBsdWp2bykgbWFrZXMgYWJzb2x1dGVseSBubyBtZW50aW9uIG9mIHRlcm1zZXRzLiBDaGFw dGVycyA5IGFuZCAxMCBkaXNjdXNzIHRlcm1zZXRzLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dh biBBcHByb3ZlZCkpCgoKCiogU2VjdGlvbiAxNCwgZXhhbXBsZSAxNC4xNSBpcyBub3QgZ3JhbW1h dGljYWwgKGFjY29yZGluZyB0byBqYm9maSdlIGFuZCBjYW14ZXMpIGJlY2F1c2UgaXQgc2F5cyAi cGUnZSAuZSIgd2hlbiBpdCBzaG91bGQgc2F5ICJwZSdlIGplIi4gICgoQXBwcm92ZWQgRXJyYXR1 bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIFNlY3Rpb24gMTQsIGV4YW1wbGUgMTQuMTYgbWVudGlv bnMgInNvcm1lIiwgd2hpY2ggaXMgcHJvYmFibHkgT2xkIExvZ2xhbiwgYW5kIHNob3VsZCBiZSBy ZXBsYWNlZCBieSAibWVuc2kiLgoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHBy b3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlvbiAxNCwgInRoZSBzdGF0 ZWQgZ2xvc3Mgb2YgVEZUVGFzIOKAnG9ubHkgaWbigJ0gd29ya3MgbmF0dXJhbGx5IG9ubHkgd2hl biB0aGUgcmlnaHQtaGFuZCBicmlkaSBpcyB0cnVlOyBpZiBpdCBpcyBmYWxzZSwgdGhlIGxlZnQt aGFuZCBicmlkaSBtYXkgYmUgZWl0aGVyIHRydWUgb3IgZmFsc2UuIiBjaGFuZ2VkIHRvICJ0aGUg c3RhdGVkIGdsb3NzIG9mIFRGVFRhcyDigJxvbmx5IGlm4oCdIHdvcmtzIG5hdHVyYWxseSBvbmx5 IHdoZW4gdGhlIHJpZ2h0LWhhbmQgYnJpZGkgaXMgZmFsc2U7IGlmIGl0IGlzIHRydWUsIHRoZSBs ZWZ0LWhhbmQgYnJpZGkgbWF5IGJlIGVpdGhlciB0cnVlIG9yIGZhbHNlLiIKCioqICgoQXBwcm92 ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoK CgoqIFNlY3Rpb24gMTUsIHJpZ2h0IGFmdGVyIDE1LjksIGl0IHNheXMgImV4YW1wbGUgMTQuMTci IHdoZXJlIGl0IHNob3VsZCBzYXkgImV4YW1wbGUgMTUuOSIgKDE0LjE3IGRvZXMgbm90IGV4aXN0 KS4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIFNlY3Rpb24gMTUs IGV4YW1wbGUgMTUuOSBpcyBub3QgZ3JhbW1hdGljYWw7IGl0IHNob3VsZCBiZSAibGEgZGphbi4g ZmEndSBsYSBmcmFuay4gY3Vza3UgbnUnaSBiYXUgbGEgbG9qYmFuLiBwZSdlIGZhJ3UgYmFpIGxh IGRqb3Jkai4iLgoKCgoqIFNlY3Rpb24gMTksIGV4YW1wbGUgMTkuNCBpcyB0cmFuc2xhdGVkIGFz ICJJIG9waW5lIHRoZSBmYWN0LXRoYXQgYS1tYXNzLW9mIGxpdmluZy10aGluZ3MgaXMtYXQgSnVw aXRlciBvci1lbHNlIEkgb3BpbmUgdGhlIGZhY3QtdGhhdCBhLW1hc3Mtb2YgbGl2aW5nLXRoaW5n cyBpc24ndC1hdCBKdXBpdGVyIiBidXQgcmVhbGx5IGl0J3MgIkkgb3BpbmUgdGhlIGZhY3QtdGhh dCBhLW1hc3Mtb2YgbGl2aW5nLXRoaW5ncyBpcy1hdCBKdXBpdGVyIG9yLWVsc2UgSSBfX2RvLW5v dF9fIG9waW5lIHRoZSBmYWN0LXRoYXQgYS1tYXNzLW9mIGxpdmluZy10aGluZ3MgX19pcy1hdF9f IEp1cGl0ZXIiLiBTbyAxOS40IGlzIGFjdHVhbGx5IHRydWUsIG5vdCBmYWxzZSBhcyBpdCBpcyBj bGFpbWVkIHRvIGJlLgoKKiogQ29ycmVjdCwgc28gdGhpcyBleGFtcGxlIHdpbGwgbmVlZCByZXBs YWNpbmcuICAgICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIEFsc28g dGhlcmUgaXNuJ3QgcmVhbGx5IGEgcmVhc29uIGZvciBpdCB0byBzYXkgYSBtYXNzIG9mIGxpdmlu ZyB0aGluZ3MgYW5kIG5vdCBzb21lIGluZGl2aWR1YWwgbGl2aW5nIHRoaW5ncy4KCioqIFN0ZXQu ICBUaGUgYXV0aG9yIHByZWZlcnMgaXQgdGhhdCB3YXksIHRoYW5reW91dmVyeW11Y2guICAtLWpj b3dhbi4KCgoKCgotLS0KCgoKISBDaGFwdGVyIDE1CgoKCiogU2VjdGlvbiAyLCBtaXNzaW5nIDwg L3ByZSA+IHRhZyBhZnRlciBleGFtcGxlIDIuOCBhbmQgPCBwcmU+IHRhZyBiZWZvcmUgZXhhbXBs ZSAyLjkuCgoKCiogU2VjdGlvbiA0LCBleGFtcGxlIDQuMTIgL25ha2UvbmEnZWtlLwoKCgoqIFNl Y3Rpb24gOSwgdHdvIHBhcmFncmFwaHMgYWJvdmUgZXhhbXBsZSA5LjQgdGhlIHdvcmQgIm5lZ2F0 aXYiIHNob3VsZCBiZSAibmVnYXRpdmUiLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHBy b3ZlZCkpCgoKCiogU2VjdGlvbiA5OiBJcyB0aGVyZSBzdXBwb3NlZCB0byBiZSBhbnkgZGlmZmVy ZW5jZSBiZXR3ZWVuIGV4LiA5LjUgYW5kIDkuNj8KCioqIFRoYXQgcHJvYmxlbSBpcyBvbmx5IGlu IHRoZSBvbmxpbmUgdmVyc2lvbi4KCgoKKiBTZWN0aW9uIDEwLCB0aHJlZSBwYXJhZ3JhcGhzIGFm dGVyIGV4YW1wbGUgMTAuMTQsIHRoZXJlJ3MgYSBzZW1pY29sb24gd2hpY2ggc2hvdWxkIGJlIGEg Y29tbWEgYWZ0ZXIgIihzYXksIGEgc3BlbGxpbmcgZXJyb3IpIi4gICgoQXBwcm92ZWQgRXJyYXR1 bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIFNlY3Rpb24gMTAsIGl0IHNheXMgIidqaSd1bmEnaWt1 JyBtZXRhbGluZ3Vpc3RpY2FsbHkgc2F5cyB0aGF0IHNvbWV0aGluZyBpcyB3cm9uZyB3aXRoIHRo YXQgYXNzdW1wdGlvbi4gKFNlZSBDaGFwdGVyIDEwLikiLiBTaG91bGRuJ3QgdGhhdCBiZSBDaGFw dGVyIDksIG1vZGFscz8KCioqICcnSU5DTFVERUQgSU4gREFHLUNMTCcnICh6b3J0J3MgZm9yayBh dCBsZWFzdCkgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgotLS0KCgoKIUNo YXB0ZXIgMTYKCgoKKiBTZWN0aW9uIDUsIGV4YW1wbGUgNS41OiBFbmdsaXNoIGhhcyAiZXZlcnkg WSIgd2hlbiBpdCBzaG91bGQgcmVhZCAiZXZlcnkgWCIKCioqICgoQXBwcm92ZWQgRXJyYXR1bXxj YW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24g NiwgZXhhbXBsZSA2LjYgaGFzIGEgbWlzc2luZyAiY3UiIGJlZm9yZSAidmlza2EiLgoKKiogKChB cHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNM TCcnCgoKCiogU2VjdGlvbiA4LCB0aGUgZXhwbGFuYXRpb24gb2YgZXhhbXBsZSA4LjMgc2F5cyAi YW55IGVudGl0eSB3aGljaCBpcyBvbmUgaXMgYWxzbyB0aGUgb3RoZXIiLiBUaGF0IHdvdWxkIGJl IHRydWUgaWYgdGhlIGV4YW1wbGUgdXNlZCB7Z299LCBidXQgaXQgdXNlcyB7Z2FuYWl9LiA4LjMg ZG9lcyBub3QgY2xhaW0gdGhhdCBpZiBzb21ldGhpbmcgd2Fsa3MgYWNyb3NzIHRoZSBmaWVsZCB0 aGVuIGl0IGdvZXMgdG8gdGhlIHN0b3JlLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHBy b3ZlZCkpICBDaGFuZ2UgaXQgdG8gdXNlIHtnb30uICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoq KiBTYW1lIHBsYWNlOiBuZWVkcyB0byBibyB7ZGEgZ299LCBub3Qge2dvIGRhfSAgQW5kIHRoZSBn bG9zcyBzaG91bGQgYmUgIkZvci1ldmVyeSBYOiBYIGlzLWEtZ29lci10byB0aGUgc3RvcmUgaWYt YW5kLW9ubHktaWYgaXQgaXMtYS13YWxrZXItb24gdGhlIGZpZWxkLiIgJydJTkNMVURFRCBJTiBE QUctQ0xMJycKCgoKKiBTZWN0aW9uIDgsIGV4YW1wbGUgOC4zLiBFaXRoZXIgdGhlIHtkYX0gc2hv dWxkIGNvbWUgYmVmb3JlIHRoZSB7Z2FuYWl9IChvciwgYnkgdGhlIHByZXZpb3VzIF4gZXJyYXR1 bSwge2dvfSkgYW5kIHRoZSBnbG9zcyBzaG91bGQgYmUgY2hhbmdlZCB0byBvbmx5IG1lbnRpb24g IlgiIG9uY2UsIG9yIGEge2RhfSBzaG91bGQgYmUgaW5zZXJ0ZWQgYmVmb3JlIHtjYWR6dX0uCgoq KiAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJyAgY2hvc2UgZmlyc3Qgb3B0aW9uIHNpbmNlIGl0J3Mg dGVyc2VyICh6b3J0J3MgZm9yayBhdCBsZWFzdCkgYnV0IG5lZWRzIGFwcHJvdmFsCgoKCiogVGhp czogIkFkamFjZW50IG5lZ2F0aW9uIGJvdW5kYXJpZXMgaW4gdGhlIHByZW5leCBjYW4gYmUgZHJv cHBlZCwiIHJlYWRzIGJldHRlciBhcyAiQWRqYWNlbnQgcGFpcnMgb2YgbmVnYXRpb24gYm91bmRh cmllcyBpbiB0aGUgcHJlbmV4IGNhbiBiZSBkcm9wcGVkLCIKCioqICgoQXBwcm92ZWQgRXJyYXR1 bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKKioqIFRoZSBv bmxpbmUgdmVyc2lvbiBzYXlzICJBZGphY2VudCBkb3VibGUgbmVnYXRpb24gYm91bmRhcmllcyIs IGJ1dCBJJ20gb2theSB3aXRoIGVpdGhlciAiZG91YmxlIiBvciAicGFpcnMgb2YiLiAgLS1qY293 YW4KCgoKKiBTZWN0aW9uIDEwLCBleC4gMTAuNSBhbmQgMTAuNiBoYXZlIGEgcHJlbmV4LCAibmFr dSB6byd1IiwgYWZ0ZXIgYW4gaWplay4gVGhpcyBpcyBub3QgYWxsb3dlZCBieSB0aGUgZ3JhbW1h ci4gSXQgY291bGQgYmUgZml4ZWQgYnkgcmVtb3ZpbmcgdGhlICJ6byd1IiBhbmQgdXNpbmcgIm5h a3UiIG91dHNpZGUgdGhlIHByZW5leCwgYWx0aG91Z2ggdGhpcyBpcyBvbmx5IGV4cGxhaW5lZCBp biB0aGUgZm9sbG93aW5nIFNlY3Rpb24gMTEuCgoqKiBUaGlzIGlzIGEgYmlnIHByb2JsZW0sIGFu ZCBJJ20gbm90IHN1cmUgd2hhdCBzaG91bGQgYmUgZml4ZWQuICAtLWpjb3dhbiAgJycnTk9GSVgn JycKCiogU2VjdGlvbiAxMiwgZXguIDEyLjcgYW5kIDEyLjkgaGF2ZSBtaXNzaW5nICJjdSJzLgoK KiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4g REFHLUNMTCcnCgoKCiogU2VjdGlvbiAxNCwgRXhhbXBsZSAxNC4xIGhhcyAiYmxhY2kiIChnbGFz cykgbm90ICJibGFiaSIgKHdoaXRlKSBhcyBwZXIgdGhlIEVuZ2xpc2guCgoqKiAoKEFwcHJvdmVk IEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoK LS0tCgoKCiFDaGFwdGVyIDE3CgoKCiogU2VjdGlvbiA1LCBhZnRlciBleGFtcGxlIDUuMSwgcGFy YWdyYXBoIHN0YXJ0aW5nICJIb3dldmVyLCAiIGhhcyBpbmNvcnJlY3QgZm9udC4gICgoQXBwcm92 ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIFNlY3Rpb24gNSwgaW4gdGhlIHNlY29u ZCBwYXJhZ3JhcGggYWZ0ZXIgZXhhbXBsZSA1LjEsIHNheXMgJ3RoZSBsZXJmdSB3b3JkIOKAnHR5 4oCdIHdvdWxkIHJlcHJlc2VudCBub3QgTGF0aW4g4oCcdOKAnSBidXQgR3JlZWsg4oCcdGF14oCd LicgU2hvdWxkbid0IGl0IGJlICJ0eS4iPwoKCgoqIFNlY3Rpb24gOSwgcGFnZSA0MjEuIGxlcmZ1 IHN0cmluZ3MgYXJlIHdyaXR0ZW4gd2l0aG91dCBwYXVzZXMgb3Igc3BhY2VzLCBldmVuIHRob3Vn aCBCWSB3b3JkcyBoYXZlIHRvIGVuZCB3aXRoIGEgY29uc29uYW50LgoKKiogU3RldC4gIEJZIHdv cmRzIGRvIG5vdCBlbmQgd2l0aCBhIGNvbnNvbmFudCwgYW5kIGEgc3RyaW5nIG9mIHRoZW0gY2Fu IG5ldmVyIGJlIGFtYmlndW91cywgc28gcGF1c2VzL3NwYWNlcyBhcmUgbm90IHJlcXVpcmVkLiAg LS1qY293YW4KCgoKKiBTZWN0aW9uIDksIEV4YW1wbGUgOS40OiBzaG91bGRuJ3QgInN5bXlqeSIg YmUgInN5bXlkeSIgKGxvamJhbiBtb3JwaG9sb2d5KT8gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293 YW4gQXBwcm92ZWQpKQoKCgoqIFNlY3Rpb24gMTAuIEFmdGVyIEV4YW1wbGUgMTAuNC41LCB0aGUg cmVmZXJlbmNlIHRvIEV4YW1wbGUgMTAuNCBzaG91bGQgYmUgaW5zdGVhZCB0byBFeGFtcGxlIDEw LjQuNS4KCioqSW4gdGhlIGN1cnJlbnQgREFHLUNMTCwgdGhlIGV4YW1wbGVzIG51bWJlcmluZyBp cyBzYW5lLCBidXQgYWZ0ZXIgRXhhbXBsZSAxMC4zLCB0aGUgdHdvIHJlZmVyZW5jZXMgdG8gRXhh bXBsZSAxMC40IHNob3VsZCBiZSB0byBFeGFtcGxlIDEwLjMuCgoKCiogUmlnaHQgYmVmb3JlIHNl Y3Rpb24gMTIsIHRoZXJlIGlzIGEgbGluZSBicmVhayBpbiB0aGUgbWlkZGxlIG9mIHRoZSBwYXJh Z3JhcGguICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBJbiBzZWN0 aW9uIDEzLCB0aGUgZmlyc3QgcGFyYWdyYXBoIHN0YXRlcyAiSGlzdG9yaWNhbGx5LCB0aGVzZSBj aGFyYWN0ZXIgc2V0cyBoYXZlIG9ubHkgY292ZXJlZCB0aGUgRW5nbGlzaCBhbHBoYWJldCBhbmQg YSBmZXcgc2VsZWN0ZWQgcHVuY3R1YXRpb24gbWFya3MuIiwgd2hpY2ggaXMgaW5jb3JyZWN0LiBU aGVyZSBoYXZlIGJlZW4gbXVsdGl0dWRlcyBvZiBjaGFyYWN0ZXIgc2V0cyBmb3Igd3JpdGluZyBz eXN0ZW1zIG90aGVyIHRoYW4gdGhlIEVuZ2xpc2ggYWxwaGFiZXQuCgoqKiBDaGFuZ2UgdG8gc29t ZXRoaW5nIGFsb25nIHRoZSBsaW5lIG9mICJIaXN0b3JpY2FsbHksIGVhY2ggb2YgdGhlc2UgY2hh cmFjdGVyIHNldHMgaGFzIG9ubHkgY292ZXJlZCBhIHBhcnRpY3VsYXIgd3JpdGluZyBzeXN0ZW0u IgoKCgoqIFNlY3Rpb24gMTcsIHBhZ2UgNDI3LiAiLnR2cml5ZG9zLiBidSIgYmVnaW5zIHdpdGgg dGhlIGNvbnNvbmFudCBjbHVzdGVyLCB3aGljaCBpc24ndCBldmVuIHBlcm1pc3NpYmxlIG1lZGlh bGx5LgoKKiogY2hhbmdlIHRvIHR5dnJpeWRvcwoKKioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1n dXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKKioqKiBBY3R1YWxseSwg aXQgc2hvdWxkIGJlICJ0eXZyZG9zLiBidSIgIC0tamNvd2FuCgoKCiogSW4gdGhlIHRhYmxlIGlu IHNlY3Rpb24gMTksIHRoZSBsZXJ2bGEgZm9yIG92ZXItZG90ICgiLmdhcm1vYy4gYnUiKSBhbmQg b3Zlci1yaW5nICgiLmdhcmppbi4gYnUiKSBzaG91bGQgYmUgdXBkYXRlZCB0byB0aGVpciBwb3N0 LVJlYWxsb2NhdGlvbiBmb3JtcywgIi5nYXBtb2MuIGJ1IiBhbmQgIi5nYXB5amluLiBidSIuCgoq KiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4g REFHLUNMTCcnCgoKCiogU2VjdGlvbiAxOSBoYXMgdHdvIGNvbHVtbnMgcnVuIHRvZ2V0aGVyIGlu IHRoZSByb3cgdGhhdCBzYXlzICJEYW5pc2gvTGF0aW4gYWV0ZWkgLmFidSAuZWJ1IGZvaSIKCgoK LS0tCgohQ2hhcHRlciAxOAoKCgoqIFNlY3Rpb24gMywgZXguIDMuMTAsIHNob3VsZCB0cmFuc2xh dGUgYXMgIi4xMDEyMDAxIi4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoK CgoqIEluIHNlY3Rpb24gNCBleGFtcGxlIDQuNSBpcyBsaW5rZWQgaW5zdGVhZCBvZiA0LjcgLSAi RXhhbXBsZSA0LjUgaXMgbm90IGBgMSBtaW51cyAyJycsIFsuLi58Li4uXSIgd2hlcmUgZXhhbXBs ZSA0LjUgaXMganVzdCAidGUnbyIuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVk KSkKCgoKKiBTZWN0aW9uIDUsIHA0MzcgZXg1LjkgW2dsb3NzXTogb3VyIC0+IGZvdXIgKChBcHBy b3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoqKiAnJ0lOQ0xVREVEIElOIERBRy1DTEwn JwoKCgoqIFNlY3Rpb24gNiwgcDQzODogaiB2dSd1IC0+IHZ1J3UgICgoQXBwcm92ZWQgRXJyYXR1 bXxqY293YW4gQXBwcm92ZWQpKQoKKiogJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBTdGFy dCBvZiBzZWN0aW9uIDExIHNob3VsZCByZWFkIHRoZXJlIGFyZSBmaXZlIG1lbWJlcnMgb2YgTU9J IChub3QgZm91cikuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBJ biBzZWN0aW9uIDExLCBleCAxMS4xMCBvbiB2YSdlICJzb2ZpJ3VwYW5vIiBpbiB0aGUgZXhhbXBs ZSBpcyBnbG9zc2VkIGFzICI4LzEwIiBpbnN0ZWFkIG9mICI5LzEwIi4gICgoQXBwcm92ZWQgRXJy YXR1bXxqY293YW4gQXBwcm92ZWQpKQoKKiogJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBJ biBzZWN0aW9uIDExLCAibGVpIHJhdGN1IHBvaSB6dmF0aSBsZSBwYW5rYSBjdSBzbyd1bWVpIGZv IGxvJ2kgcmF0Y3UiLCBidXQgdGhlcmUgaXMgbm8gNHRoIHBsYWNlIG9mIG1laS4KCioqIFJlbW92 ZSB0aGUgImZvIjsgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpICcnSU5DTFVE RUQgSU4gREFHLUNMTCcnCgoKCiogRXhhbXBsZSAxNC40IG5lZWRzIGEgc3ViLTIgYWZ0ZXIgYm90 aCBudW1iZXJzLgoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcn SU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogSW4gc2VjdGlvbiAxNywgYXQgdGhlIGJvdHRvbSBv ZiBwYWdlIDQ1NCwgdGhlIHF1YWRyYXRpYyBmb3JtdWxhIHNob3VsZCBiZSBkZXNjcmliZWQgYXMg YSBjbGFzc2ljIGV4YW1wbGUgb2Ygb3BlcmF0b3IgbG9naWNhbCBjb25uZWN0aW9uLCBub3Qgb3Bl cmFuZC4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIFNlY3Rpb24g MjAsIHA0NTg6IC1lc3RhYmxpc2hlZCAtPiBlc3RhYmxpc2hlZCAgKChBcHByb3ZlZCBFcnJhdHVt fGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogU2VjdGlvbiAyMSBzdGF0ZXMgdGhhdCB0aGUgcmFmc2kg b2YgImZyaW51IiBtYXkgYmUgdXNlZCBhcyByYWZzaSBmb3IgImZpJ3UiOyBob3dldmVyLCAiZnJp bnUiIGxvc3QgYm90aCBvZiBpdHMgc2hvcnQgcmFmc2kgaW4gdGhlIFJlYWxsb2NhdGlvbiwgc28g dGhpcyByZWFsbHkgaXNuJ3QgdmVyeSB1c2VmdWwuIFRoZSB0YWJsZSBiZWxvdyBsaXN0cyAiZmkn dSIgYXMgYSByYWZzaSB1c2FibGUgZm9yICJmaSd1IiwgdGhlcmVmb3JlIG9mICJmcmludSI7IHRo ZSBnaW1zdGUgbGlzdHMgImZpJ3UiIGFzIGEgcmFmc2kgb2YgImNmaXB1Ii4KCioqIFRoaXMgaXMg YSBzZXJpb3VzIHByb2JsZW0gd2hpY2ggbmVlZHMgc29tZSB0aG91Z2h0LiAgVGhlcmUgbmVlZHMg dG8gYmUgYSByYWZzaSBmb3IgZmkndSBzb21laG93LiAgLS1qY293YW4gICcnJ05PRklYJycnCgoK CiogU2VjdGlvbiAyMiBleGFtcGxlIDIyLjMsICJtbydlIHZvYm9pIHJlbm9tZWkgc3UnaSB6ZSIs IGRvZXMgbm90IHBhcnNlLgoKKiogSXQgbmVlZHMgInZlaSIgaW4gZnJvbnQgdG8gYmUgYSBxdWFu dGlmaWVyIChhbiBvcGVyYW5kIGJ5IGl0c2VsZiBpcyBub3QgYSBwZXJtaXR0ZWQgZnJhZ21lbnQp LiBBbHNvLCB0aGUgZm9sbG93aW5nIHRleHQgbWVudGlvbnMgInRlJ3UiIGJ1dCB0aGUgZXhhbXBs ZSBvbWl0cyBpdC4KCioqKiBOb25lIG9mIHRob3NlIGV4YW1wbGVzIHBhcnNlIHdpdGhvdXQge2xp fSwgd2hpY2ggSSBoYXZlIGFkZGVkIHRvIGFsbC4gIFJlcGxhY2VkIHRoZSBvbmUgaW4gcXVlc3Rp b24gd2l0aCAibGkgbW8nZSB2b2JvaSByZW5vbWVpIHRlJ3Ugc3UnaSB6ZSIgKChBcHByb3ZlZCBF cnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCi0t LQoKIUNoYXB0ZXIgMTkKCgoKKiBTZWN0aW9uIDQsIHA0NjcgZXg0LjM6IHp1J28gLT4gem8ndSAg KChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoqKiAoKEFwcHJvdmVkIEVycmF0 dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0 aW9uIDYsIHBhZ2UgNDcyLiBFeGFtcGxlIDYuNiBlbmRzIHdpdGggImtsYW1hIiwgYnV0IGZvciB0 aGUgYXJndW1lbnQgdG8gbWFrZSBzZW5zZSwgaXQgaGFzIHRvIHNheSAibnVua2xhIi4KCioqICgo QXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1D TEwnJwoKCgoqIFNlY3Rpb24gNywgRXhhbXBsZSA3LjEgaGFzIGFzIHRoZSBFbmdsaXNoOiAiSSBn by10byAoZmlyc3RseSkgdGhlIHN0b3JlIGFuZCAoc2Vjb25kbHkpIHRoZSBtYXJrZXQuIiAgInRo ZSBtYXJrZXQiIHNob3VsZCBiZSAidGhlIGhvdXNlIi4KCioqICgoQXBwcm92ZWQgRXJyYXR1bXxj YW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIEV4YW1wbGUg MTEuOCwgdGhlcmUncyBhIGRlbnBhYnUgYWZ0ZXIge3phJ2V9IGFuZCBubyBkZW5wYWJ1IGFmdGVy IHthbGJlaW5pYXN9LgoKKiogJydJTkNMVURFRCBJTiBEQUctQ0xMJycgKHpvcnQncyBmb3JrIGF0 IGxlYXN0KSBidXQgbmVlZHMgYXBwcm92YWwKCgoKKiBTZWN0aW9uIDExLCB0aGUgcGFyYWdyYXBo IGFmdGVyIGV4YW1wbGUgMTEuOCBzYXlzICJjdGlpcHlyaXMiIGJ1dCBpdCBzaG91bGQgYmUgImNr aWlweXJpcyIuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCi0tLQoKCgoh Q2hhcHRlciAyMAoKCgoqIFNlY3Rpb24gTEUsIHBhZ2UgNDk4LiBJbiAibGUgZ2Vya3Uga2xhbWEg bGUgemRhbmkiLCAiY3UiIGlzIG1pc3NpbmcuCgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3Vz bWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIFRVaEUs IHBhZ2UgNTA1LiBJbiAieGFnbWF1IHpvJ3UgdHUnZSBnYW5haSBjaWRqYSBnaSBjbmlubyAuaSBn YW5haSB2YW5qdSBnaSB0b2xjaSdvIHR1J3UiLCAiY25pbm8iIHNob3VsZCBiZSByZXBsYWNlZCBi eSAiY2l0bm8iLiAgQWxzbywgYSBwcmVuZXggY2FuJ3QgaGF2ZSBhIHNlbGJyaSwgc28gJyd4YWdt YXUnJyBzaG91bGQgYmUgcmVwbGFjZWQgYnkgJydsbyB4YWdtYXUnJy4KCioqICgoQXBwcm92ZWQg RXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoq IFNlY3Rpb24gU0UsIHBhZ2UgNTA0OiBtaXNzaW5nICJjdSIgYWZ0ZXIgInphcmNpIi4KCioqICgo QXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1D TEwnJwoKCgoqIEluIHRoZSBwYXNzYWdlcyBvbiBWRUkgYW5kIFZFaE8sIHRoZSAiYm8icyBzaG91 bGQgYmUgY2hhbmdlZCB0byAiYmknZSJzLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHBy b3ZlZCkpCgoKCi0tLQoKCgohQ2hhcHRlciAyMQoKCgoqIEluIHRoZSBCTkYgZ3JhbW1hciwgdGhl IHJ1bGUgc2ltcGxlLXRlbnNlLW1vZGFsLTk3MiBpcyBtaXNzaW5nIGEgInwiIGJlZm9yZSB0aGUg Q1VoRS4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIEluIHRoZSBC TkYgZ3JhbW1hciwgdGhlIHJ1bGUgc2ltcGxlLXRlbnNlLW1vZGFsLTk3MiBoYXMgYW4gZXh0cmEg bmV3bGluZSBpbiB0aGUgc3BhY2UvdGltZSBzdWJwaHJhc2UuCgoKCiogSW4gdGhlIEJORiBncmFt bWFyLCB0aGUgcnVsZSBzZWxicmktMS0xMzEgaXMgbWlzc2luZyBhICJ8IiBiZWZvcmUgdGhlIE5B LiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogSW4gdGhlIEJORiBn cmFtbWFyLCB0aGUgcnVsZSB0YW5ydS11bml0LTItMTUyIGlzIG1pc3NpbmcgYSAifCIgYmVmb3Jl IHRoZSBKQUkuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiogKChB cHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNM TCcnIDsgYml6YXJlbGx5LCB0aGUgV29yZCBkb2MgdGhlIGJvb2sgd2FzIHByaW50ZWQgZnJvbSBk b2VzIG5vdCBoYXZlIHRoaXMgcHJvYmxlbSBhdCBhbGwuCgoKCiogSW4gdGhlIEJORiBncmFtbWFy LCB0aGUgcnVsZSBvcGVyYXRvci0xLTM3MSBpcyBtaXNzaW5nIHR3byAifCIuICAoKEFwcHJvdmVk IEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBJbiB0aGUgQk5GIGdyYW1tYXIsIHRoZSBy dWxlIG1leC1vcGVyYXRvci0zNzQgaXMgbWlzc2luZyBhICJ8IiBiZWZvcmUgdGhlIE1BaE8gYW5k IGFub3RoZXIgYmVmb3JlIHRoZSBWVWhVLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHBy b3ZlZCkpCgoKCiogSW4gdGhlIEJORiBncmFtbWFyLCB0aGUgcnVsZSBvcGVyYW5kLTMtMzg1IGlz IG1pc3NpbmcgYSAifCIgYmVmb3JlIHRoZSBOSWhFLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dh biBBcHByb3ZlZCkpCgoKCiogSW4gdGhlIEJORiBncmFtbWFyLCBpbiB0aGUgcnVsZSB0aW1lXzEw MzAsIHRoZSAiWkVoQSBbUFUgW05BSV0gXSIgc2hvdWxkIGJlIGVuY2xvc2VkIGluIHBhcmVudGhl c2VzLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KV2lraWNoYW5nZXMgbWFpbGluZyBs aXN0Cldpa2ljaGFuZ2VzQGxvamJhbi5vcmcKaHR0cDovL21haWwubG9qYmFuLm9yZy9tYWlsbWFu L2xpc3RpbmZvL3dpa2ljaGFuZ2VzCg==