Received: from localhost ([::1]:53368 helo=stodi.digitalkingdom.org) by stodi.digitalkingdom.org with esmtp (Exim 4.76) (envelope-from ) id 1RqcU5-0008VW-0K; Thu, 26 Jan 2012 19:28:19 -0800 Received: from 173-13-139-235-sfba.hfc.comcastbusiness.net ([173.13.139.235]:49932 helo=jukni.digitalkingdom.org) by stodi.digitalkingdom.org with esmtps (TLSv1:AES256-SHA:256) (Exim 4.76) (envelope-from ) id 1RqcTS-0008Th-CJ for wikineurotic@lojban.org; Thu, 26 Jan 2012 19:27:53 -0800 Received: from jukni.digitalkingdom.org (localhost [127.0.0.1]) by jukni.digitalkingdom.org (8.14.5/8.14.5) with ESMTP id q0R3Ravh031351 for ; Thu, 26 Jan 2012 19:27:36 -0800 Received: (from apache@localhost) by jukni.digitalkingdom.org (8.14.5/8.14.5/Submit) id q0R3RaDb031350; Thu, 26 Jan 2012 19:27:36 -0800 Date: Thu, 26 Jan 2012 19:27:36 -0800 X-Authentication-Warning: jukni.digitalkingdom.org: apache set sender to webmaster@lojban.org using -f To: wikineurotic@lojban.org X-PHP-Originating-Script: 48:htmlMimeMail.php MIME-Version: 1.0 From: webmaster@lojban.org Message-ID: X-MIME-Autoconverted: from 8bit to quoted-printable by jukni.digitalkingdom.org id q0R3Ravh031351 X-Spam-Score: 1.0 (+) X-Spam_score: 1.0 X-Spam_score_int: 10 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 brablonau at 03:26 UTC Comment: note extra newline in simple-tense-modal-972 You can view the page by following this link: http://www.lojban.org/tiki/CLL%2C%20aka%20Reference%20Grammar%2C%20Errata [...] Content analysis details: (1.0 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.4 RDNS_DYNAMIC Delivered to internal network by host with dynamic-looking rDNS 0.6 TO_NO_BRKTS_DYNIP To: misformatted and dynamic rDNS Subject: [Wikineurotic] Wiki page CLL, aka Reference Grammar, Errata changed by brablonau X-BeenThere: wikineurotic@lojban.org X-Mailman-Version: 2.1.14 Precedence: list Reply-To: webmaster@lojban.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: wikineurotic-bounces@lojban.org Content-Length: 60398 VGhlIHBhZ2UgQ0xMLCBha2EgUmVmZXJlbmNlIEdyYW1tYXIsIEVycmF0YSB3YXMgY2hhbmdlZCBi eSBicmFibG9uYXUgYXQgMDM6MjYgVVRDCkNvbW1lbnQ6IG5vdGUgZXh0cmEgbmV3bGluZSBpbiBz aW1wbGUtdGVuc2UtbW9kYWwtOTcyCgpZb3UgY2FuIHZpZXcgdGhlIHBhZ2UgYnkgZm9sbG93aW5n IHRoaXMgbGluazoKIApodHRwOi8vd3d3LmxvamJhbi5vcmcvdGlraS9DTEwlMkMlMjBha2ElMjBS ZWZlcmVuY2UlMjBHcmFtbWFyJTJDJTIwRXJyYXRhCgpZb3UgY2FuIHZpZXcgYSBkaWZmIGJhY2sg dG8gdGhlIHByZXZpb3VzIHZlcnNpb24gYnkgZm9sbG93aW5nIHRoaXMgbGluazogCmh0dHA6Ly93 d3cubG9qYmFuLm9yZy90aWtpL3Rpa2ktcGFnZWhpc3RvcnkucGhwP3BhZ2U9Q0xMJTJDJTIwYWth JTIwUmVmZXJlbmNlJTIwR3JhbW1hciUyQyUyMEVycmF0YSZjb21wYXJlPTEmb2xkdmVyPTIwNyZu ZXd2ZXI9MjA4CgoKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioKVGhlIGNoYW5nZXMgaW4gdGhpcyB2ZXJzaW9uIGZvbGxvdyBiZWxvdywg Zm9sbG93ZWQgYWZ0ZXIgYnkgdGhlIGN1cnJlbnQgZnVsbCBwYWdlIHRleHQuCioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCgoKKy0rLSst Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSsKQEAg LUxpbmVzOiA1NjEtNTY0IGNoYW5nZWQgdG8gK0xpbmVzOiA1NjEtNTY3IEBACistKy0rLSstKy0r LSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rCgoqIEluIHRo ZSBCTkYgZ3JhbW1hciwgdGhlIHJ1bGUgc2ltcGxlLXRlbnNlLW1vZGFsLTk3MiBpcyBtaXNzaW5n IGEgInwiIGJlZm9yZSB0aGUgQ1VoRS4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92 ZWQpKQorIAorICogSW4gdGhlIEJORiBncmFtbWFyLCB0aGUgcnVsZSBzaW1wbGUtdGVuc2UtbW9k YWwtOTcyIGhhcyBhbiBleHRyYSBuZXdsaW5lCisgaW4gdGhlIHNwYWNlL3RpbWUgc3VicGhyYXNl LgoKKiBJbiB0aGUgQk5GIGdyYW1tYXIsIHRoZSBydWxlIHNlbGJyaS0xLTEzMSBpcyBtaXNzaW5n IGEgInwiIGJlZm9yZSB0aGUgTkEuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVk KSkKCgoKCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqClRoZSBuZXcgcGFnZSBjb250ZW50IGZvbGxvd3MgYmVsb3cuCioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCgpUaGlzIHBh Z2UgaXMgZm9yIGVycmF0YSBpbiAoKFRoZSBDb21wbGV0ZSBMb2piYW4gTGFuZ3VhZ2UpKSwgdGhh dCBpcyBmb3IgbWlzdGFrZXMgc3VjaCBhcyB0eXBvcywgb3Igc2VsZi1jb250cmFkaWN0aW9ucywg b3IgY29udHJhZGljdGlvbnMgd2l0aCBvdGhlciBiYXNlbGluZWQgbGFuZ3VhZ2UgZGVmaW5pdGlv biBtYXRlcmlhbC4gVGhpcyBpcyBfX25vdF9fIGEgcGFnZSB0byBwdXQgZGVzaWRlcmF0YSAoc3Vn Z2VzdGlvbnMgZm9yIGltcHJvdmVtZW50KTsgc3VjaCBzdWdnZXN0aW9ucyBzaG91bGQgZ28gdG8g KChTdWdnZXN0aW9ucyBmb3IgQ0xMLCBzZWNvbmQgZWRpdGlvbikpLiAgVGhpcyBpcyBhbHNvIG5v dCBhIHBhZ2UgdG8gcHV0IGVycmF0YSByZXN1bHRpbmcgZnJvbSB0aGUgNHRoIEJhc2VsaW5lIEdy YW1tYXIgcHJvcG9zYWwgKGkuZS4sIHRoZSAoKFBFRykpIGdyYW1tYXIpOyBQRUcgZ3JhbW1hciBl cnJhdGEgc2hvdWxkIGdvIHRvICgoQ0xMIFBFRyBFcnJhdGEpKS4KCkFuIG9ubGluZSB2ZXJzaW9u IG9mIHRoZSBDTEwgaW5jb3Jwb3JhdGluZyB0aGUgY2hhbmdlcyBvbiB0aGlzIHBhZ2UgW2h0dHA6 Ly9kYWcuZ2l0aHViLmNvbS9jbGwvfGlzIGF2YWlsYWJsZV0uCgpTZWUgYWxzbyBbV2hhdCtpcytM b2piYW4lM0YrZXJyYXRhJmJsPXl8V2hhdCBpcyBMb2piYW4/IGVycmF0YV0gKGZvciB0aGUgcHVi bGlzaGVkIHZlcnNpb24pLCBMZXZlbCAwIEJvb2tsZXQgRXJyYXRhIFt0aWtpLWVkaXRwYWdlLnBo cD9wYWdlPUxldmVsKzArQm9va2xldCtFcnJhdGEmbGFuZz18P10gKGZvciB0aGUgcHJlLXB1Ymxp Y2F0aW9uIHJldmlld3M7IG5vdyBmaW5pc2hlZCksIGFuZCBbTGVzc29ucytFcnJhdGEmYmw9eXxM ZXNzb25zIEVycmF0YV0gKGZvciB0aGUgYmVnaW5uZXJzJyBjb3Vyc2UpLgoKVGhlICInJ0lOQ0xV REVEIElOIERBRy1DTEwnJyIgdGFnIG1lYW5zIHRoYXQgaHR0cDovL2RhZy5naXRodWIuY29tL2Ns bC8gaW5jbHVkZXMgdGhpcyBmaXgsIHdoaWNoIGFsc28gbWVhbnMgaXQnbGwgcHJvYmFibHkgYmUg aW4gdGhlIG5leHQgQ0xMIHZlcnNpb24uCgotLS0KCiFDaGFwdGVyIDEKCiogVGhlcmUgaXMgYSBw YXJhZ3JhcGggYXQgdGhlIHZlcnkgYmVnaW5uaW5nIG9mIENMTCwgb24gcGFnZSA0LCB3aXRoIHRo ZSBzZW50ZW5jZSAnJyJJbiBlc3NlbmNlLCBDaGFwdGVyIDIgZ2l2ZXMgYSBicmllZiBvdmVydmll dyBvZiB0aGUgbGFuZ3VhZ2UsIENoYXB0ZXIgMjEgZ2l2ZXMgdGhlIGZvcm1hbCBzdHJ1Y3R1cmUg b2YgdGhlIGxhbmd1YWdlLCBhbmQgdGhlIGNoYXB0ZXJzIGluIGJldHdlZW4gcHV0IHNlbWFudGlj IGJvbmVzIG9uIHRoYXQgZm9ybWFsIGZsZXNoLiInJwoqKiBXb3VsZG4ndCBpdCBtYWtlIG1vcmUg c2Vuc2UgdG8gc2F5ICJwdXQgc2VtYW50aWMgZmxlc2ggb24gdGhvc2UgZm9ybWFsIGJvbmVzIj8g KChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNM TCcnCgoqIFNlY3Rpb24gNiwgaXQgc2F5cyAiTGFycnkgSG9ybidzIHdvcmsgJydUaGUgTmF0dXJh bCBIaXN0b3J5IG9mIE5lZ2F0aW9uJyciLiBJdCB3b3VsZCBhcHBlYXIgdGhhdCBldmVyeW9uZSBl bHNlIGNhbGxzIGl0ICcnX19BX18gTmF0dXJhbCBIaXN0b3J5IG9mIE5lZ2F0aW9uJycsIGJ5IF9f TGF1cmVuY2VfXyAoUi4pIEhvcm4uCioqICcnSU5DTFVERUQgSU4gREFHLUNMTCcnICh6b3J0J3Mg Zm9yayBhdCBsZWFzdCkgYnV0IG5lZWRzIGFwcHJvdmFsCgotLS0KIUNoYXB0ZXIgMgoKKiBTZWN0 aW9uIDUgZXhhbXBsZSA1LjcgdXNlcyAidGkiIHRvIHBvaW50IGF0IGEgbGFuZ3VhZ2UsIGFuZCBz aG91bGQgaGF2ZSBpdHMgYWNjb21wYW55aW5nIG5vdGUgY2hhbmdlZCB0byBtb3JlIGFjY3VyYXRl bHkgcmVmbGVjdCB0aGF0IHRoaXMgaXMgbm90IGhvdyAidGkiIHdvcmtzLgoKKiBTZWN0aW9uIDYg RXhhbXBsZSA2LjUgaGFzICJjdSIgYXMgZWxpZGFibGUsIHdoZW4gaW4gZmFjdCBpdCBpcyBzaW1w bHkgaWxsZWdhbCB0aGVyZS4gIFJlbW92ZWQuICAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoqKiB1 YW5haSwgSSBzdGlsbCBzZWUgImN1IiBpbiBEQUctQ0xMLgoKKiBTZWN0aW9uIDggcGFnZSAxNyBj bGFpbXMgdGhhdCAieHUiIGlzIGRpc2N1c3NlZCBpbiBzZWN0aW9uIDEuNywgd2hpY2ggaGFwcGVu cyB0byBsaXN0IHRoZSBjYXB0aW9ucyBmb3IgYWxsIHRoZSBjaGFwdGVyIHBpY3R1cmVzLgoqKiBJ dCBzaG91bGQgcmVmZXIgdG8gU2VjdGlvbiAxNS4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4g QXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoqKiogVGhlIGxpbmsgaW4gdGhlIGN1 cnJlbnQgREFHLUNMTCBpcyBwb2ludGluZyB0byAiMi8yLzE1IiBpbnN0ZWFkIG9mIHRvICIyLzE1 Ii4KCiogU2VjdGlvbiAxMCBzYXlzIHRoYXQgZXhhbXBsZSAxMC4zIChtaSB0YXZsYSBkbyBsZSB0 YXZsYSBrdSkgbWVhbnMgdGhlIHNhbWUgYXMgKG1pIHRhdmxhIGRvIGxlIHRhdmxhIGt1KS4gRXhh bXBsZSAxMC4zIHNob3VsZCBiZSAibWkgdGF2bGEgZG8gbGUgdGF2bGEiLCBhcyBpdCBkZXNjcmli ZXMgaG93ICJrdSIgbWF5IGJlIG9taXR0ZWQuCioqIEl0IGFwcGVhcnMgdGhhdCBleGFtcGxlIDEw LjMgaXMgaW5jb3JyZWN0IG9ubHkgaW4gdGhlIG9ubGluZSB2ZXJzaW9uLCBub3QgdGhlIHB1Ymxp c2hlZCBib29rLgoKKiBTZWN0aW9uIDE3IHNheXMgIk5vdGUgdGhhdCBFeGFtcGxlIDE3LjMgIGhh cyBhbmQgcmVxdWlyZXMgYSDigJxjdeKAnSB0byBwcmV2ZW50IOKAnGJhanJh4oCdIGFuZCDigJxr bGFtYeKAnSBmcm9tIGZvcm1pbmcgYSB0YW5ydSwgYnV0IEV4YW1wbGUgMTcuNCAgYW5kIEV4YW1w bGUgMTcuNSAgbGFjayB0aGUgdW5uZWNlc3Nhcnkg4oCcY3XigJ0uIiwgYnV0IGV4YW1wbGUgMTcu MyBpcyAibGEgZGphbi4gfm5wfltjdV1+L25wfiBrbGFtYSBsZSB6YXJjaSIuCioqIEl0IGFwcGVh cnMgdGhhdCB0aGUgb2ZmZW5kaW5nIHNlbnRlbmNlIGlzIHByZXNlbnQgb25seSBpbiB0aGUgb25s aW5lIHZlcnNpb24sIG5vdCB0aGUgcHVibGlzaGVkIGJvb2suCgoqIEV4YW1wbGUgMTcuOSBpcyAi bGUgdmkgdGF2bGEga3UgY3UgYmEga2xhbWEiIGluIHRoZSBvbmxpbmUgdmVyc2lvbiwgYW5kIHRv dGFsbHkgYnJva2VuIGluIHRoZSBwdWJsaXNoZWQgYm9vay4KKiogR28gd2l0aCB0aGUgb25saW5l IHZlcnNpb24uICAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNM VURFRCBJTiBEQUctQ0xMJycKCi0tLQoKISBDaGFwdGVyIDMKCkEgbG90IG9mIHRoZSBJUEEgZXhh bXBsZXMgdXNlIGEgc3BhY2UgdG8gaW5kaWNhdGUgYSBzeWxsYWJsZSBicmVhay4gVGhpcyBpcyBu b3Qgc3RhbmRhcmQgSVBBIHVzYWdlOyBhY2NvcmRpbmcgdG8gSVBBLCB0aGUgcGVyaW9kIOKAnC7i gJ0gc2hvdWxkIGJlIHVzZWQgdG8gaW5kaWNhdGUgYSBzeWxsYWJsZSBkaXZpc2lvbi4KCiogU2Vj dGlvbiAyLCBwYWdlIDMwOiBpbiB0aGUgdGFibGUgdGhlIGRlc2NyaXB0aW9uIG9mICJhcG9zdHJv cGhlIiBzaG91bGQgcmVhZCAiYW4gdW52b2ljZWQgZ2xvdHRhbCBzcGlyYW50Iiwgbm90ICJhIHVu dm9pY2VkIi4KKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5D TFVERUQgSU4gREFHLUNMTCcnCgoqIFNlY3Rpb24gMiwgZGlnaXRhbCB2ZXJzaW9uLiAgVGhlIElQ QSB0YWJsZSBnb3QgaG9ycmlibHkgbWFuZ2xlZCBzb21ld2hlcmUgYWxvbmcgdGhlIHdheS4gIEl0 IHNob3VsZCBsb29rIGxpa2UgKFNBTVBBIGNvbHVtbiBhZGRlZCk6Cgp8fCBMZXR0ZXIgfCBJUEEg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFNBTVBBICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBEZXNjcmlwdGlvbiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgCiAnICAgICAgfCBbaF0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB8IFtoXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgfCBhbiB1bnZvaWNlZCBnbG90dGFsIHNwaXJhbnQgICAgICAgICAgICAgICAgICAgICAg CiAsICAgICAgfCAtLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IC0tLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCB0aGUgc3lsbGFibGUg c2VwYXJhdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAuICAgICAgfCBbypRdICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBbP10gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHwgYSBnbG90dGFsIHN0b3Agb3IgYSBwYXVzZSAgICAgICAg ICAgICAgICAgICAgICAgIAogYSAgICAgIHwgW2FdLCBbyZFdICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHwgW2FdLCBbQV0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB8IGFuIG9wZW4gdm93ZWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKIGIg ICAgICB8IFtiXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgW2JdICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGEgdm9pY2VkIGJpbGFiaWFs IHN0b3AgICAgICAgICAgICAgICAgICAgICAgICAgICAKIGMgICAgICB8IFvKg10sIFvKgl0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBbU10sIFtzYF0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHwgYW4gdW52b2ljZWQgcG9zdGFsdmVvbGFyIGZyaWNhdGl2ZSAg ICAgICAgICAgICAgICAgICAgIAogZCAgICAgIHwgW2RdICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfCBbZF0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwgYSB2b2ljZWQgZGVudGFsL2FsdmVvbGFyIHN0b3AgICAgICAgICAgICAgICAgICAgIAog ZSAgICAgIHwgW8mbXSwgW2VdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgW0VdLCBb ZV0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGEgZnJvbnQgbWlkIHZv d2VsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKIGYgICAgICB8IFtmXSwgW8m4XSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFtmXSwgW3BcXSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgfCBhbiB1bnZvaWNlZCBsYWJpYWwgZnJpY2F0aXZlICAgICAg ICAgICAgICAgICAgICAgCiBnICAgICAgfCBbyaFdICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfCBbZ10gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHwgYSB2b2ljZWQgdmVsYXIgc3RvcCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogaSAg ICAgIHwgW2ldICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBbaV0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYSBmcm9udCBjbG9zZSB2b3dl bCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogaiAgICAgIHwgW8qSXSwgW8qQXSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB8IFtaXSwgW3pgXSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfCBhIHZvaWNlZCBwb3N0YWx2ZW9sYXIgZnJpY2F0aXZlICAgICAg ICAgICAgICAgICAgICAgICAgCiBrICAgICAgfCBba10gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB8IFtrXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfCBhbiB1bnZvaWNlZCB2ZWxhciBzdG9wICAgICAgICAgICAgICAgICAgICAgICAgICAgCiBs ICAgICAgfCBbbF0sIFtszKldICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgW2xdLCBb bD1dICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGEgdm9pY2VkIGxhdGVy YWwgYXBwcm94aW1hbnQgKG1heSBiZSBzeWxsYWJpYykgICAKIG0gICAgICB8IFttXSwgW23MqV0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBbbV0sIFttPV0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHwgYSB2b2ljZWQgYmlsYWJpYWwgbmFzYWwgKG1heSBiZSBz eWxsYWJpYykgICAgICAgIAogbiAgICAgIHwgW25dLCBbbsypXSwgW8WLXSwgW8WLzKldICAgICAg ICAgICAgICAgICAgICAgfCBbbl0sIFtuPV0sIFtOXSwgW049XSAgICAgICAgICAgICAgICAgICAg ICAgICAgIHwgYSB2b2ljZWQgZGVudGFsIG9yIHZlbGFyIG5hc2FsIChtYXkgYmUgc3lsbGFiaWMp IAogbyAgICAgIHwgW29dLCBbyZRdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgW29d LCBbT10gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGEgYmFjayBtaWQg dm93ZWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKIHAgICAgICB8IFtwXSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgW3BdICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB8IGFuIHVudm9pY2VkIGJpbGFiaWFsIHN0b3AgICAgICAg ICAgICAgICAgICAgICAgICAKIHIgICAgICB8IFtyXSwgW8m5XSwgW8m+XSwgW8qAXSwgW3LMqV0s IFvJucypXSwgW8m+zKldLCBbyoDMqV0gfCBbcl0sIFtyXF0sIFs0XSwgW1JcXSwgW3I9XSwgW3Jc PV0sIFs0PV0sIFtSXD1dIHwgYSByaG90aWMgc291bmQgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIAogcyAgICAgIHwgW3NdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfCBbc10gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYW4g dW52b2ljZWQgYWx2ZW9sYXIgc2liaWxhbnQgICAgICAgICAgICAgICAgICAgIAogdCAgICAgIHwg W3RdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBbdF0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYW4gdW52b2ljZWQgZGVudGFsL2FsdmVv bGFyIHN0b3AgICAgICAgICAgICAgICAgIAogdSAgICAgIHwgW3VdICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfCBbdV0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHwgYSBiYWNrIGNsb3NlIHZvd2VsICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIAogdiAgICAgIHwgW3ZdLCBbzrJdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwg W3ZdLCBbQl0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGEgdm9pY2Vk IGxhYmlhbCBmcmljYXRpdmUgICAgICAgICAgICAgICAgICAgICAgCiB4ICAgICAgfCBbeF0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFt4XSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfCBhbiB1bnZvaWNlZCB2ZWxhciBmcmljYXRpdmUgICAg ICAgICAgICAgICAgICAgICAgCiB5ICAgICAgfCBbyZldICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfCBbQF0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwgYSBjZW50cmFsIG1pZCB2b3dlbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAog eiAgICAgIHwgW3pdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBbel0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYSB2b2ljZWQgYWx2ZW9s YXIgc2liaWxhbnQgICAgICAgICAgICAgICAgICAgICAgIHx8CgoqKiBTb3J0LW9mICgoQXBwcm92 ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKTsgd2hhdCBJIGFjdHVhbGx5IGRpZCBpcyBo YWQgQXJudCByZXZpZXcgd2hhdCBzb21lb25lIGVudGVyZWQgaW4gREFHLUNMTCwgd2hpY2ggcHJl c3VtYWJseSB3YXMgYmFzZWQgb24gdGhlIGFib3ZlLiAgJydJTkNMVURFRCBJTiBEQUctQ0xMJycK CiogU2VjdGlvbiAyLCBwYWdlIDMwLiBmb3IgdGhlIHNlY29uZCBlbmcgKGltbWVkaWF0ZWx5IHRv IHRoZSBsZWZ0IG9mICIobWF5IGJlIHN5bGxhYmljKSIpIHRoZSBzeWxsYWJpY2l0eSBtYXJrZXIg aXMgY29uY2VhbGVkIGJ5IHRoZSByaWdodCB0YWlsLgoqKiBJIGNhbiBqdXN0IGJhcmVseSBzZWUg dGhlIG1hcmtlciB1bmRlciBhIGdvb2QgbGlnaHQuICAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dh biBBcHByb3ZlZCkpCioqKiBGb3IgZnV0dXJlIGVkaXRpb25zIDotKSAsIG5vdGUgdGhhdCB0aGUg SVBBIGFwcHJvdmVzIHB1dHRpbmcgZGlhY3JpdGljcyBhYm92ZSByYXRoZXIgdGhhbiBiZWxvdyB0 aGUgbGV0dGVyIGluIGNhc2VzIGxpa2UgdGhlc2UuIFVuZm9ydHVuYXRlbHksIHRoZSBmb250cyBo aXRoZXJ0byBhdmFpbGFibGUgaGF2ZSBub3QgbWFkZSB0aGlzIGZhY2lsaXR5IGF2YWlsYWJsZSwg c28gb3V0c2lkZSB0aGUgam91cm5hbCBvZiB0aGUgSVBBIGl0c2VsZiwgc3VjaCBvdmVyLWRpYWNy aXRpY3MgYXJlIHNlbGRvbSBzZWVuLiDigJQgbml0Y2lvbgoKKiBJbiBzZWN0aW9uIDMuMiwgdGhl IGNvbW1hIHNob3VsZCAocHJvYmFibHkpIGJlIHJlcHJlc2VudGVkIGJ5IHRoZSBJUEEgbm90YXRp b24gWy58Ll0sIGFzIHRoZSBwZXJpb2QgaXMgdXNlZCBpbiBJUEEgdG8gZGVub3RlIHN5bGxhYmxl IGJyZWFrcy4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKKiBTZWN0aW9u IDIsIHBhZ2UgMzAuIEZvciB0aGUgTG9qYmFuIHBob25lbWUgL3IvLCB0aGUgSVBBIHN5bWJvbCBm b3IgYSBkZW50YWwvYWx2ZW9sYXIgdm9pY2VkIGFwaWNhbCB0YXAgaXMgZ2l2ZW4gd2l0aCBhIHN5 bGxhYmljaXR5IG1hcmtlciBiZWxvdy4gQSB0YXAgY2FuJ3QgYmUgc3lsbGFiaWMsIGJlY2F1c2Ug aXQgaXMgYnkgZGVmaW5pdGlvbiBpbnN0YW50YW5lb3VzLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpj b3dhbiBBcHByb3ZlZCkpIEp1c3QgcmVtb3ZlIHRoYXQgY2FzZSBhbHRvZ2V0aGVyLgoKKiBTZWN0 aW9uIDIuICBUaGUgZGVzY3JpcHRpb25zIG9mICcnYycnIGFuZCAnJ2onJyBhcmUgbGlzdGVkIGFz ICJjb3JvbmFsIHNpYmlsYW50InMuICBUaGUgZGVzY3JpcHRpb25zIHNob3VsZCByZWFkICJ2b2lj ZWxlc3MgcG9zdGFsdmVvbGFyIGZyaWNhdGl2ZSIgYW5kICJ2b2ljZWQgcG9zdGFsdmVvbGFyIGZy aWNhdGl2ZSIsIHJlc3BlY3RpdmVseS4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92 ZWQpKQoKKiBTZWN0aW9uIDMsIHRoaXJkIHBhcmFncmFwaCAocGFnZSAzMSk6ICJhIHVudm9pY2Vk IHZvd2VsIGdsaWRlIiBzaG91bGQgYmUgImFuIHVudm9pY2VkIHZvd2VsIGdsaWRlIi4KKiogKChB cHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNM TCcnCgoqIFNlY3Rpb24gNiwgcGFnZSAzNi4gSVBBIGZvciB0aGUgdW5hY2NlcHRhYmxlIEFtZXJp Y2FuIGZsYXAgdmFyaWFudCBvZiBpbnRlcnZvY2FsaWMgJyd0Jycgc2hvd3MgdGhlIEdBICcncicn IHNvdW5kICh1cHNpZGUtZG93biByKSBpbnN0ZWFkIG9mIHRoZSBmbGFwIChsaWtlIGFuIHIgd2l0 aCBubyB2ZXJ0aWNhbCBiaXQgYXQgdGhlIHRvcCDigJQgc2VlIHRoZSBsaXN0IG9mIGFjY2VwdGli bGUgJydyJycgdmFyaWFudHMgb24gb24gcGFnZSA0NCB3aGVyZSBpdCBhcHBlYXJzIGNvcnJlY3Rs eSkgICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoqKiAoKEFwcHJvdmVkIEVy cmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCiogU2Vj dGlvbiA2LCBwYWdlIDM2LiAoU2FtZSBhcyBwcmV2aW91cyBlcnJhdHVtKSBUaGUgY29uc29uYW50 IGlzIHJlZmVycmVkIHRvIGFzIGEgZmxhcCwgd2hpbGUgaXQgaXMgYWN0dWFsbHkgYSB0YXAuICAo KEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCiogU2VjdGlvbiA3LiBJbiBiZXR3 ZWVuIHRoZSBzaGFkZWQgYm94ZXMsICJhIHBhaXJpbmcgb2Ygdm9pY2VkIGFuZCB1bnZvaWNlZCBl cXVpdmFsZW50IHZvd2VscyIgc2hvdWxkIHJlYWQgImEgcGFpcmluZyBvZiB2b2ljZWQgYW5kIHVu dm9pY2VkIGVxdWl2YWxlbnQgY29uc29uYW50cyIuCgoqIFNlY3Rpb24gOCwgcGFnZSAzOC4gSVBB IGZvciBwcm9udW5jaWF0aW9uIG9mICJ4YXBja2UiIGhhcyBjIHdoZXJlIGl0IHNob3VsZCBoYXZl IFMgKGxvbmcgcykuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCiogU2Vj dGlvbiA5LCBwYWdlIDQwLiBJUEEgZm9yIHByb251bmNpYXRpb24gb2YgImRpa3lqdm8iIGhhcyBq IHdoZXJlIGl0IHNob3VsZCBoYXZlIFogKHRoYXQgbGl0dGxlIHNjcmlwdCB6IHRoaW5nKSAgKChB cHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCioqICgoQXBwcm92ZWQgRXJyYXR1bXxj YW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKKiBTZWN0aW9uIDEy LCBwYWdlIDQ2LiBXaGF0IHNob3VsZCBiZSB0aGUgQ3lyaWxsaWMgbGV0dGVyIDsgaXMgcHJpbnRl ZCBhcyBzb21ldGhpbmcgdGhhdCBsb29rcyBsaWtlIHRoZSBHcmVlayBsZXR0ZXIgLiBJcyB0aGlz IG9ubHkgYSB0eXBvZ3JhcGhpY2FsIHZhcmlhbnQgb2YgdGhlIDssIG9yIGlzIGl0IGEgdmFyaWFu dD8KCioqIFRoaXMgZXJyYXR1bSBpcyBpbmRlY2lwaGVyYWJsZSBhbmQgc2hvdWxkIGJlIGRyb3Bw ZWQsIHVubGVzcyBzb21lb25lIGNhbiByZWNvbnN0cnVjdCBpdC4gIFRoZSBDeXJpbGxpYyBsZXR0 ZXJzIGxvb2sgZmluZS4gIC0tamNvd2FuCgoqIFNlY3Rpb24gMTIsIHBhZ2UgNDYuIFJlcGxhY2Ug dGhlIHdvcmRzICJ0aGUgaGFyZCBzaWduIiB3aXRoIGFuIGFjdHVhbCBoYXJkIHNpZ24sIFUrMDQ0 QSBDWVJJTExJQyBTTUFMTCBMRVRURVIgSEFSRCBTSUdOLgoKKiBTZWN0aW9uIDEyLCBwYWdlIDQ3 LiAiYXJlLyJlc3NlIiBzaG91bGQgcHJvYmFibHkgYmUgImFyZSIvImVzc2UiICh0aGUgYWN1dGUg b24gdGhlIGEgbWF5IG9yIG1heSBub3QgaGF2ZSBiZWVuIGxlZnQgb2ZmLCBidXQgdGhlIGNsb3Np bmcgcXVvdGUgYWZ0ZXIgYXJlIGlzIGRlZmluYXRlbHkgbWlzc2luZy4pCioqIE15IGNvcHkgc2hv d3MgdGhlIGFjdXRlLgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkg JydJTkNMVURFRCBJTiBEQUctQ0xMJycKCi0tLQoKIUNoYXB0ZXIgNAoKKiBTZWN0aW9uIDQsIHBh Z2UgNTQuIFRoZSBib29rIHN0YXRlcyB0aGF0IGZ1J2l2bGEgd2l0aCBhIGZvcm0gbGlrZSAnJ3Nw YSdpJycgYXJlIHZhbGlkLiBUaGV5IGFyZSBub3QsIHRoZXkgZmFpbCB0aGUgc2xpbmt1J2kgdGVz dC4gKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFH LUNMTCcnCgoqIFNlY3Rpb24gNiwgcCA1OCwgIi1sYWMiIGluIHRoZSB0aGlyZCB0YWJsZSBpbiB0 aGF0IHNlY3Rpb24gc2hvdWxkIGJlICItbGFjLSIKCiogU2VjdGlvbiA2LCBpdCBzYXlzICJNb3N0 IGNtYXZvIHRoYXQgaGF2ZSByYWZzaSBhcmUgb25lcyB1c2VkIGluIGNvbXBvc2luZyB0YW5ydSAo Zm9yIGEgY29tcGxldGUgbGlzdCwgc2VlIENoYXB0ZXIgMTIpIiwgYnV0IHRoZXJlIGlzIG5vIHN1 Y2ggbGlzdCBpbiBDaGFwdGVyIDEyLCBvciBhbnl3aGVyZSBpbiB0aGUgYm9vayAoanUnb3NhaSku IFBlcmhhcHMgaXQgd2FudHMgdG8gcG9pbnQgdG8gdGhlIGxpc3Qgb2YgUEEgcmFmc2kgaW4gQ2hh cHRlciAxOCBzZWN0aW9uIDI1PyBPciB0byB0aGUgbGlzdHMgb2YgdGFucnUgaW4gQ2hhcHRlciA1 IHNlY3Rpb25zIDE0IGFuZCAxNT8KKiogV2hhdCBJIHByb2JhYmx5IG1lYW50IHdhcyB0aGF0IENo YXB0ZXIgMTIsIHRha2VuIGFzIGEgd2hvbGUsIGRpc2N1c3NlcyB0aGUgY21hdm8gdXNlZCBpbiBj b25zdHJ1Y3RpbmcgdGFucnUuICBJIGRvbid0IHRoaW5rIGFueSBzcGVjaWZpYyBsaXN0IGV2ZXIg ZXhpc3RlZC4gIEknZCBqdXN0IGRyb3AgdGhlIHBhcmVudGhldGljYWwgc2VudGVuY2UuCgoqIFNl Y3Rpb24gNiwganVzdCBhZnRlciBleGFtcGxlIDYuOS4gSXQgc2F5cyAic29tZSBvZiB0aGUgdW5y ZWR1Y2VkIGZvcm1zIGluIHRoZSBwcmV2aW91cyBleGFtcGxlIiwgYnV0IGl0IGlzIG5vdCByZWZl cnJpbmcgdG8gdGhlIHByZXZpb3VzIGV4YW1wbGU6IGl0IGlzIHJlZmVycmluZyBhbGwgdGhlIHdh eSBiYWNrIHRvIGV4YW1wbGVzIDYuMSBhbmQgNi4yLCBzbyBpdCBzaG91bGQgYmUgInNvbWUgb2Yg dGhlIHVucmVkdWNlZCBmb3JtcyBpbiB0aGUgcHJldmlvdXMgZXhhbXBsZV9fc19fIi4KKiogJydJ TkNMVURFRCBJTiBEQUctQ0xMJycgKHpvcnQncyBmb3JrIGF0IGxlYXN0KQooQXBwcm92ZWQgRXJy YXR1bXxqY293YW4gQXBwcm92ZWQpKSAgUmVmZXIgZXhwbGljaXRseSB0byA2LjEgYW5kIDYuMgoK KiBTZWN0aW9uIDcsIHBhZ2UgNjAuIEluIGV4YW1wbGUgNi4xNiwgdGhlIHdvcmQgInhhcm55a2Fy Y2UiIGlzIGdsb3NzZWQgYXMgIndhci1jYXIiLiBFaXRoZXIgdGhlIGdsb3NzIHNob3VsZCBiZSB1 cGRhdGVkIHRvIHJlZmxlY3QgdGhlIHZlbGp2byAoInN0dWJib3JuLWNhciIpLCBvciB0aGUgbHVq dm8gc2hvdWxkIGJlIHVwZGF0ZWQgdG8gcmVmbGVjdCB0aGUgZ2xvc3MgImphbWthcmNlIgoqKiBU aGUgbGF0dGVyICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xV REVEIElOIERBRy1DTEwnJwoKKiBTZWN0aW9uIDcsIG1ha2luZyBhIHR5cGUgMyBmdSdpdmxhLCBz dGVwIDUgc2hvdWxkIHJlYWQgInN0ZXBzIDEtNCIsIG5vdCAic3RlcHMgMS01Ii4gICgoQXBwcm92 ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKKiBTZWN0aW9uIDcsIHN0ZXAgNSBvZiB0aGUg U3RhZ2UgMyBmdSdpdmxhOiAiaWYgdGhlIHJhZnNpIGVuZHMgaW4gJydyJycgYW5kIHRoZSByZXN0 IG9mIHRoZSBmdSdpdmxhIGJlZ2lucyB3aXRoICcnbicnIChvciB2aWNlIHZlcnNhKSB1c2UgYW4g JydsJyctaHlwaGVuIiBzaG91bGQgcmVhZCAgImlmIHRoZSByYWZzaSBlbmRzIGluICcncicnIGFu ZCB0aGUgcmVzdCBvZiB0aGUgZnUnaXZsYSBiZWdpbnMgd2l0aCAnJ24nJywgJyd0YycnLCAnJ3Rz JycsICcnZHonJyBvciAnJ2RqJycsIG9yIHRoZSByYWZzaSBlbmRzIGluICcnbicnIGFuZCB0aGUg cmVzdCBvZiB0aGUgZnUnaXZsYSBiZWdpbnMgd2l0aCAnJ3InJyB1c2UgYW4gJydsJyctaHlwaGVu Ii4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKKiBUaGUgZW5kIG9mIHNl Y3Rpb24gNyBzZWVtcyB0byBpbXBseSB0aGF0IGNtZW5lIGFyZSBleGVtcHQgZnJvbSB0aGUgbm9y bWFsIHJlc3RyaWN0aW9ucyBvbiBjb25zb25hbnQgY2x1c3RlcnMgYXMgbG9uZyBhcyBlYWNoIGNv bnNvbmFudCBwYWlyIGlzIHZhbGlkLgoKKiBTZWN0aW9uIDguIEV4YW1wbGUgOC4xMCAnJ2RqYW5k am9ueicnIGlzIG5vdCB2YWxpZCBsb2piYW4gYXMgaXQgY29udGFpbnMgdGhlIGZvcmJpZGRlbiBj b25zb25hbnQgc2VxdWVuY2UgYG5kamAuICAgICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBw cm92ZWQpKSAgUmVwbGFjZSB3aXRoIGEgZGlmZmVyZW50IG5hbWUuCioqIFJlcGxhY2luZyB3aXRo ICJKb2huIEJyb3duIiBhcyAiZGphbmJyYXVuIi4gLS1ybHBvd2VsbCAnJ0lOQ0xVREVEIElOIERB Ry1DTEwnJwoKKiBTZWN0aW9uIDgsIHBhZ2UgNjYuIEV4YW1wbGUgOC4xMi4gU2F5cyB0aGF0IHRo ZSBnaXNtdSAic29scmkiIG1lYW5zICJhY3R1YWxseSwgJ3BlcnRhaW5pbmcgdG8gdGhlIHN1bici LiBUaGlzIGlzIGZhbHNlLiBBY2NvcmRpbmcgdG8gdGhlIGdpc211IGxpc3QsIGl0IG1lYW5zICcn aXMnJ2Egc3VuLgoqKiBMZWF2ZSB0aGlzIG9uZSBhbG9uZS4gIEFzIGEgc2VsdGF1LCAic29scmki IGRvZXMgaW5kZWVkIG1lYW4gInNvbGFyIi4gIC0tamNvd2FuCgoqIFNlY3Rpb24gMTEsIDVhKSAn J0V4YW1pbmUgYWxsIHRoZSBDL0MgY29uc29uYW50IHBhaXJzIHRoYXQgam9pbiB0aGUgQ1ZDIHJh ZnNpLCBhbmQgYWxzbyB0aGUgcGFpciBiZXR3ZWVuIHRoZSBsYXN0IENWQyBhbmQgdGhlIFggcG9y dGlvbiwgaWdub3JpbmcgYW55ICJ5Ii1oeXBoZW4gYmVmb3JlIHRoZSBYLicnIHNob3VsZCByZWFk IGluc3RlYWQ6ICcnRXhhbWluZSBhbGwgdGhlIEMvQyBjb25zb25hbnQgcGFpcnMgdXAgdG8gdGhl IGZpcnN0ICJ5Ii1oeXBoZW4sIG9yIHVwIHRvIHRoZSBlbmQgb2YgdGhlIHdvcmQgaW4gY2FzZSB0 aGVyZSBhcmUgbm8gInkiLWh5cGhlbnMuJycKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21p cyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoqIFNlY3Rpb24gMTIuIEluIEV4 YW1wbGVzIDEyLjIsIDEyLjMgYW5kIDEyLjQgdGhlIGNhbGN1bGF0aW9ucyBhcmUgZ2l2ZW4gYXMg MzI1MDAgbWludXMgdGhlIHNjb3JlLCBpbnN0ZWFkIG9mIHNpbXBseSB0aGUgc2NvcmUuIChQcm9i YWJseSBmcm9tIHByZXZpb3VzIHZlcnNpb25zIG9mIHRoZSBhbGdvcml0aG0uKSAgICAoKEFwcHJv dmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCiogU2VjdGlvbiAxMywgcGFnZSA3NCwgdGhp cmQgdGFibGU6IHRoZXJlIGlzIG5vIHNwYWNlIGJldHdlZW4gImxvamJhdWdyaSIgYW5kICJsb2pi YW5neWdyaSIsIHNvIHRoYXQgdGhleSBhcmUgcnVuIGludG8gb25lIHdvcmQgaW4gdGhlIHNlY29u ZCBjb2x1bW4gb2YgdGhlIHRhYmxlLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3Zl ZCkpCgoqIFNlY3Rpb24gMTUgc3RhdGVzIHRoYXQgImR6aXBvIiBjb21lcyBmcm9tICJjYWR6dSBj aXBuaSIgKCJ3YWxraW5nIGJpcmQiKS4gIFRoaXMgZmFpbHMgdG8gbWFrZSBzZW5zZSBlaXRoZXIg ZXR5bW9sb2dpY2FsbHkgb3Igc2VtYW50aWNhbGx5IChJZiB0aGUgbmFtZSByZWZlcnMgdG8gcGVu Z3VpbnMsIHRoZXJlIGFyZSBhIGxvdCBvZiBvdGhlciBmZWF0dXJlcyBvZiBBbnRhcmN0aWNhIHRo YXQgYXJlIG1vcmUgcHJvbWluZW50IGFuZCBub3Qgc2hhcmVkIGJ5IG90aGVyIHBsYWNlcykuICBJ IHN1c3BlY3QgdGhhdCB0aGUgd29yZCBtYXkgYWN0dWFsbHkgY29tZSBmcm9tICJkaXpsbyBkYXBs dSIgKCJsb3cgaXNsYW5kIiksIHdoaWNoIGlzIGEgc29tZXdoYXQgbW9yZSByZWFzb25hYmxlIG5h bWUuCioqIE5vdCBhbiBlcnJhdHVtLCB0aGUgd29yZCByZWFsbHkgZG9lcyBjb21lIGZyb20gImNh RFp1IGNJUG5pIi4gVGhhdCBpdCBmYWlscyB0byBtYWtlIHNlbnNlIGRvZXNuJ3QgY2hhbmdlIHRo ZSBmYWN0IHRoYXQgdGhhdCBpcyBob3cgdGhleSBjb25zdHJ1Y3RlZCBpdC4gVGhlIGV0eW1vbG9n aWVzIG9mICJiZW1ybyIgYW5kICJrZXRjbyIgbWFrZSBldmVuIGxlc3Mgc2Vuc2UsIGJ5IHRoZSB3 YXkuCioqKiBDb3JyZWN0LCBidXQgdGhlIGV0eW1vbG9naWVzIGFyZSB3aGF0IHRoZXkgYXJlLiAg LS1qY293YW4KCi0tLQoKIUNoYXB0ZXIgNQoKKiBTZWN0aW9uIDYsIGV4YW1wbGUgNi4xNTogSXQg c2F5cyB7eGFtZ3Ugam8gY29ydHUgbnVudGF2bGF9LCBhbmQgdGhlIGdsb3NzIHNheXMgeyhnb29k IGlmLWFuZC1vbmx5LWlmIHNob3J0KSBzcGVlY2h9LCBidXQge2NvcnR1fSBtZWFucyAiaHVydCIs IG5vdCAic2hvcnQiLgoqKiAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJyAgKGNoYW5nZWQgdG8ge3Rv cmR1fSkgKGluIHpvcnQncyBmb3JrIGF0IGxlYXN0KSAoKEFwcHJvdmVkIEVycmF0dW18amNvd2Fu IEFwcHJvdmVkKSkKCiogRXhhbXBsZSA2LjE2OiB2YWpuaSBqdSBzZWxwbHVrYSBudW50YXZsYSAs ICAoaW1wb3J0YW50IHdoZXRoZXItb3Itbm90IHBsZWFzaW5nKSBldmVudC1vZi10YWxraW5nCioq IFNob3VsZCBiZSBwbHVrYSwgbm90IHNlbHBsdWthLiAgKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1 c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoqIFNlY3Rpb24gOCBzYXlz ICJpbnZvbHZpbmcgc2VsbWEnbyBWT2hBIGFuZCBHT2hJLCBleHBsYWluZWQgaW4gQ2hhcHRlciA3 IiwgYnV0IFZPaEEgZG9lc24ndCBhcHBlYXIgaW4gQ2hhcHRlciA3LiBWT2hBIGRvZXNuJ3QgZXZl biBzZWVtIHRvIGJlIGEgc2VsbWEnbywgZm9yIHRoYXQgbWF0dGVyLiBBbHNvLCBwcm9iYWJseSBH T2hJIHNob3VsZCBiZSBHT2hBPwoKKiBTZWN0aW9uIDgsIHBhZ2UgOTYvOTc6IEV4YW1wbGUgOC4x MyBuZWVkcyBzb21lIGtpbmQgb2YgdGVybWluYXRvciAobGlrZSAiYmUnbyIpIGJlZm9yZSB0aGUg ImNvIi4gICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCiogQWxzbywgdGhl IHByZWNlZGluZyBwYXJhZ3JhcGggc3VnZ2VzdHMgdGhhdCAiYmUiIGlzIHRoZSBvbmx5IHdheSB0 byBmaWxsIHNlbGJyaSBwbGFjZXMgb3RoZXIgdGhhbiB4MS4gVGhpcyBpcyBub3QgdGhlIGNhc2U6 ICJtaSBsZSB6YXJjaSBjdSBrbGFtYSBjbyBzdXRyYSIgd291bGQgYWxzCm8gd29yay4KKiogSSBk b24ndCBhZ3JlZSB0aGF0IHRoZXJlJ3MgYW55IHN1Y2ggc3VnZ2VzdGlvbiwgYWx0aG91Z2ggYWRk aW5nIGEgc2Vjb25kIHBvc3NpYmlsaXR5IGlzIGZpbmUgd2l0aCBtZS4gIC0tamNvd2FuCgoqIFNl Y3Rpb24gOSBsaXN0cyAia2VpIiBhcyB0aGUgdGVybWluYXRvciBmb3IgbnUsIGJ1dCBpdCdzIG5v dCBvbmx5IGZvciBudSwgYnV0IGZvciBhbGwgb2YgTlUuICAoKEFwcHJvdmVkIEVycmF0dW18amNv d2FuIEFwcHJvdmVkKSkKCiogU2VjdGlvbiAxNCwgcGFnZSAxMDQgc2F5cyAiZGFkeWxzaSIgZm9y ICJkYWR5c2xpIi4KKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcn SU5DTFVERUQgSU4gREFHLUNMTCcnCgoqIFNlY3Rpb24gMTQsIHBhZ2UgMTA1IHVzZXMgInpkYW5p IGxpamdyaSIgaW4gdGhlIGV4YW1wbGUgbGlzdCwgYnV0IHRoZSBwYXJhZ3JhcGggYWZ0ZXIsIGFz IHdlbGwgYXMgdGhlIG5leHQgbGlzdCwgcmVmZXIgdG8gInpkYW5pIGxpbmppIiBhbmQgImxpbmpp IHpkYW5pIi4KCiogU2VjdGlvbiAxNCwgcGFnZSAxMDUgaGFzIHRoZSBsdWp2byAiY3B1bWknaSIg YnV0IGRlZmluZXMgaXQgYXQgdGhlIGJvdHRvbSBvZiB0aGUgc2V0IGFzICJjcGFtaSdpIi4KKiog Y3VhbWknaSBzIHB1bGwtbWFjaGluZSwgc28gdXNpbmcgdGhhdCAoKEFwcHJvdmVkIEVycmF0dW18 Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCiogU2VjdGlvbiAx NCwgcGFnZSAxMDYgc2F5cyAicGxpc2UgdGFwbGEiIGZvciAiYXBwbGUgY2FrZSIuIERvZXMgVHVy a2lzaCByZWFsbHkgcmVmZXIgdG8gYSBjYWtlIGFzIGEgdGlsZSwgb3IgaXMgdGhpcyBhIG1pc3Vu ZGVyc3RhbmRpbmcgb2YgdGhlIGRlZmluaXRpb24gb2YgInRhcGxhIj8KKiogTm8sIGl0J3MgdGhh dCB7dGFwbGF9IGNhbiBtZWFuIGJvdGggY2FrZSBhbmQgdGlsZSwgYXMgdGhlIGdpc211IGxpc3Qg c2hvd3M7IGl0J3MgYSBnZW5lcmljIHdvcmQgZm9yIGEgZmxhdCAzLUQgc2hhcGUsIG9yIHNob3J0 IGN5bGluZGVyLiAgU3RldC4gIC0tamNvd2FuCgoqIFNlY3Rpb24gMTQsIHBhZ2UgMTA4IHNheXMg InR1bWxhIHNwaXNhIi4gVGhpcyBzaG91bGQgcHJvYmFibHkgYmUgInR1bWxhIHBhZ2J1Iiwgc2lu Y2UgcGllY2VzIG9mIGxhbmQgYXJlIG5vdCBhY3R1YWxseSBkZXRhY2hlZC4KKiogV2hhdCBtYWtl cyB5b3UgdGhpbmsgdGhhdCBzcGlzYSBoYXZlIHRvIGJlIGRldGFjaGVkPyAgU3RldC4gIC0tamNv d2FuCgoqIFNlY3Rpb24gMTQsIHBhZ2UgMTA5IHNheXMgInJvc3R1IG1vanlzdSdhIi4gInJvc3R1 IiBpcyBub3QgYSBMb2piYW4gZ2lzbXUsIG5vciBhbiBPbGQgTG9nbGFuIHByaW1pdGl2ZS4gSXQn cyBzdXBwb3NlZCB0byBiZSAibXJvc3QKdSIuCioqICJNcm9zdHUiIGlzIGNvcnJlY3QsIGFuZCB0 aGF0J3MgdGhlIHJlYWRpbmcgb2YgdGhlIG9ubGluZSB2ZXJzaW9uLiAgKChBcHByb3ZlZCBFcnJh dHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoqIFNlY3Rpb24gMTQsICJudW5raWxicmEiIGlzIGNsZWFy bHkgbm90ICJzaGFycGVuZXIiLCBhbmQgZXZlbiBpZiBpdCB3YXMgdXNpbmcgdGhlIHJpZ2h0IHJh ZnNpIGZvciBjYWJyYSwgdGhhdCBzdHJpa2VzIG1lIGFzIGEgcHJldHR5IGNyYXBweSBsdWp2bzsg bmVlZHMgemVuYmEgb3Igem1hZHUgb3IgYmlueG8gb3Igc29tZXRoaW5nLgoKKiBTZWN0aW9uIDE0 LCBwYWdlIDExMiBsaXN0cyBudW1lcm91cyB0YW5ydSBleGFtcGxlcyB3aG9zZSBtZWFuaW5ncyBh cmUgaHlwZXJueW1zIG9mIHRoZSB0ZXJ0YXUgaW5zdGVhZCBvZiBoeXBvbnltcy4gVGhpcyBjb250 cmFkaWN0cyB0aGUgcHJpbWFyaW5lc3Mgb2YgdGhlIHRlcnRhdSBhcyBkZWZpbmVkIG9uIHBhZ2Ug ODQuIFRoZSB3b3JkICJqYSIgc2hvdWxkIHByb2JhYmx5IGJlIGluc2VydGVkIGJldHdlZW4gdGhl IGNvbnN0aXR1ZW50cywgb3IgdGhlIGVudGlyZSBzZWN0aW9uIHNob3VsZCBiZSByZW1vdmVkLgoq KiBTdGV0LiAgTGlvbnMgY2FuJ3QgYmUgbWFkZSBvZiBzdG9uZSwgYnV0IHtyb2tjaSBjaW5mb30g aXMgYSBsZWdpdGltYXRlIHRhbnJ1IG5vbmV0aGVsZXNzLiAgLS1qY293YW4KCi0tLQoKIUNoYXB0 ZXIgNgoKKiBFbmQgb2Ygc2VjdGlvbiAyLCBpdCBzYXlzICJjb21wb3VuZCBuZWdhdG9yIGBgbmFr dScnIChkaXNjdXNzZWQgaW4gQ2hhcHRlciAxNSkiLCBidXQgIm5ha3UiIGlzIG5ldmVyIG1lbnRp b25lZCBpbiBjaGFwdGVyIDE1OyBpbmRlZWQsIHRoZSBvbmx5IHVzZXMgb2YgdGhlIHdvcmQge2t1 fSBhdCBhbGwgYXJlIGFmdGVyIHRoZSB3b3JkcyB7amkndX0gb3Ige25hJ2l9LiBDaGFwdGVyIDE2 IHRhbGtzIGFib3V0IHtuYWt1fS4KKiogJydJTkNMVURFRCBJTiBEQUctQ0xMJycgKHpvcnQncyBm b3JrIGF0IGxlYXN0KSBidXQgbmVlZHMgYXBwcm92YWwKCiogU2VjdGlvbiAxMiwgcC4gMTM4IGNs YWltcyB0aGF0IHRoZSBzdW10aSBpbiBleGFtcGxlcyAxMi4yIGFuZCAxMi4zIG9wZXJhdGUgbGlr ZSBleGFtcGxlcyAyLjUgYW5kIDMuNiByZXNwZWN0aXZlbHkuICIyLjYgYW5kIDMuNiIgaXMgYWxt b3N0IHN1cmVseSB3aGF0IHdhcyBtZWFudC4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBw cm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKKiBJbiBzZWN0aW9uIDExIEV4YW1wbGUg MTEuMiBvY2N1cnMgdHdpY2UuCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92 ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKKiBTZWN0aW9uIDIgaGFzIGV4YW1wbGVzIDIu MyBhbmQgMi41IHRvIHNob3cgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiB7bG99IGFuZCB7bGV9LiBF eGFtcGxlIDIuNSBhbmQgdGhlIHN1YnNlcXVlbnQgdGV4dCBzYXkgdGhhdCB7bG8gbmFubXUgY3Ug bmlubXV9IGlzIG5lY2Vzc2FyaWx5IGZhbHNlIGluIGxvamJhbiBzaW5jZSB7bm9kYSBuYW5tdSBn aSdlIG5pbm11fS4gVGhpcyBjb250cmlidXRlcyB0byB0cmFucy1lcmFzdXJlLCBhbmQgc2hvdWxk IGJlIHJldmlzZWQuCgoqIEluIHNlY3Rpb24gNSBiZXR3ZWVuIGV4YW1wbGVzIDUuMiBhbmQgNS4z LCBpdCBzYXlzIHRoYXQgdGhlIHR5cGljYWwgbGlvbiBiZXN0IGV4ZW1wbGlmaWVzIHRoZSBzZXQg b2YgbGlvbnMuIFRoaXMgaXMgZmFsc2UsIGl0IGV4ZW1wbGlmaWVzIG5vdCB0aGUgc2V0LCBidXQg dGhlIG1lbWJlcnMgb2YgdGhhdCBzZXQuCgotLS0KCiEgQ2hhcHRlciA3CgoqIFNlY3Rpb24gNiwg cGFnZSAxNTUgaGFzIGEgbm90ZSBiZWxvdyBleGFtcGxlIDYuMTMgdGhhdCBzYXlzLCBpbiBwYXJ0 OiAiVGhlIExvamJhbiBkb2VzIG5vdCBjb250YWluIGFuIGVxdWl2YWxlbnQgb2YgdGhlICJteSIg aW4gY29sbG9xdWlhbCBFbmdsaXNoOyIgYW5kIHRoZW4gZ29lcyBvbiB0byBleHBsYWluIGhvdyBl eGFtcGxlIDYuMTMgY291bGQgYmUgbW9kaWZpZWQgdG8gaW5jbHVkZSAgdGhlIHJlbGF0aW9uc2hp cCBiZXR3ZWVuIHRoZSBzcGVha2VyIGFuZCB0aGVpciBzb24gYW5kIGRhdWdodGVyLiAgSSBiZWxp ZXZlIHlvdSBjb3VsZCBzYXkgImxlIG1pIGJlcnNhIiBvciAibGUgYmVyc2EgcGUgbWkiIHRvIGV4 cHJlc3MgdGhlIEVuZ2xpc2ggIm15LCIgdGhlcmVmb3IgcmVtb3ZpbmcgdGhlIChwcmVzdW1hYmx5 IGluYWNjdXJhdGUpIG5vdGUgYW5kIG1ha2luZyB0aGUgTG9qYmFuIHRyYW5zbGF0aW9uIG1vcmUg YWNjdXJhdGUuCioqIFN1cmUgeW91IGNvdWxkLCBidXQgdGhlIHBvaW50IG9mIHRoZSBub3RlICh3 aGljaCBpcyAnJ25vdCcnIGluYWNjdXJhdGUpIGlzIG5vdCB0ZWFjaGluZyBob3cgdG8gdXNlIHJl bGF0aXZlIGNsYXVzZXMsIGJ1dCB0byBjbGFyaWZ5IHRoYXQgdGhlIGlkaW9tYXRpYyBFbmdsaXNo IHZlcnNpb24gY29udGFpbnMgbW9yZSBpbmZvcm1hdGlvbiB0aGFuIHRoZSBMb2piYW4gdmVyc2lv biBkb2VzLiAgU3RldC4KCiogU2VjdGlvbiA2LCBwYWdlIDE1NiBoYXMgJydrYXJjYScnIGZvciAn J2thcmNlJycuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCiogQWZ0ZXIg ZXhhbXBsZSA2LjE4IGlzIGEgcGFyYWdyYXBoIHRoYXQgcXVvdGVzIG5vbi1leGlzdGVudCB0ZXh0 IGZyb20gZXhhbXBsZSA2LjEwLiAgImdvJ2UgcmEnbyIgc2hvdWxkIHJlYWQgImdvJ2kgcmEnbyIg YW5kICJkbyBnbydlIiBzaG91bGQgcmVhZCAibWkgZ28naSIKKiogVGhlIGNvcnJlY3QgY29ycmVj dGlvbiBpcyB0byByZXBsYWNlICJCJ3Mgc3RhdGVtZW50IiB3aXRoICJBJ3Mgc2Vjb25kIHN0YXRl bWVudCIuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKKioqIE5vdCByZWFs bHkuICJnbydlIHJhJ28iIGluIEEncyBzZWNvbmQgc3RhdGVtZW50IHdvdWxkIG1lYW4gdGhlIHNh bWUgYXMgImdvJ2UiLCB3aGljaCBpcyB3cm9uZy4gVGhlIG9yaWdpbmFsIGNvcnJlY3Rpb24gaXMg dmFsaWQgdGhvdWdoLgoKKiBTZWN0aW9uIDcsIGV4YW1wbGUgNy43IGhhcyAibWkgemJhc3UgbG9p IG11ZHJpIHppJ28iIGZvciAibWkgemJhc3UgbGUgZGluanUgemknbyIKKiogKChBcHByb3ZlZCBF cnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoqIFNl Y3Rpb24gOCwgcC4gMTU4IGltcGxpZXMgdGhhdCAnJ3ZvJ2EnJy1zZXJpZXMgYW5hcGhvcmEgcmVm ZXIgdG8gc3VtdGkgb2YgdGhlIGJyaWRpIHRoZXkgdGhlbXNlbHZlcyBhcmUgc3VtdGkgb2YuIFRo aXMgY29udHJhZGljdHMgdGhlIGNtYXZvIGxpc3QsIGFuZCBpcyBpbmNvcnJlY3Q6ICcndm8nYScn LXNlcmllcyBhbmFwaG9yYSAoYWNjb3JkaW5nIHRvIHRoZSBtYSdvc3RlKSByZWZlciB0byBzdW10 aSBvZiB0aGUgb3V0ZXJtb3N0IGJyaWRpIHdpdGhpbiB0aGUgY3VycmVudCBzZW50ZW5jZS4gVGhp cyBtYWtlcyB0aGVtIGxvZ29waG9ycy9sb25nIGRpc3RhbmNlIHJlZmxleGl2ZXMsIHJhdGhlciB0 aGFuIHNob3J0LWRpc3RhbmNlIHJlZmxleGl2ZXMsIGFzIGlzIG5vcm1hbCBpbiBodW1hbiBsYW5n dWFnZS4gVGh1cywgaW4gJydtaSBuZWxjaSBsZW51IGRvIHByYW1pIHZvJ2EnJywgJyd2bydhJydt ZWFucyAnJ21pJycsIG5vdCAnJ2RvJycuCioqX18tLT5fXygoV2h5IHRoZSBCb29rIGlzIFJpZ2h0 IGFuZCB0aGUgbWEnb3N0ZSBpcyBXcm9uZykpCioqKldoaWNoIG9mIHRoZSB0d28gY2FzZXMgaXMg bm9ybWFsIGluIGh1bWFuIGxhbmd1YWdlPyBJZiB5b3UnZCB3cml0dGVuIGl0IGluIExvamJhbiwg SSdkIGtub3chCioqKiogSSdkIGd1ZXNzIHRoYXQgc2hvcnQtZGlzdGFuY2UgaXMgbm9ybWFsLCBi L2Mgb3RoZXJ3aXNlIGl0IHdvdWxkIG5vdCBiZSB3b3J0aCBjb21wYXJpbmcgdGhlIHR3by4gQnV0 IG9mIGNvdXJzZSBpbiBsb2piYW4gd2Ugd291bGRuJ3QgaGF2ZSB0byBnbG9yayB0aGF0LgoqKioq KiBTaG9ydC1kaXN0YW5jZSBpcyBpbmRlZWQgbm9ybWFsLCBidXQgTG9qYmFuaXN0cyBoYXZlIGNv bnNpc3RlbnRseSB1c2VkIGxvbmctZGlzdGFuY2UuICBOaWNrIHdyb3RlIGEgcGVlci1yZXZpZXdl ZCBwYXBlciBvbiB0aGlzLiAgLS1qY293YW4KCiogRXhhbXBsZSA3LjguNSAocDE1OSk6IGJhanJh IG9uIHRoaXJkIGxpbmUgc2hvdWxkIGJlIGJhanlrbGEsIGxpa2UgdGhlIG90aGVycy4KKiogKChB cHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNM TCcnCgoqIFNlY3Rpb24gOCwgaXQgc2F5cyAiRXhhbXBsZSA5LjMgaXMgYSB0cnVseSBwcmVnbmFu dCBxdWVzdGlvbi4uLiIgd2hlbiBleGFtcGxlIDkuMiBpcyB0aGUgcHJlZ25hbnQgcXVlc3Rpb24s IGFuZCBleGFtcGxlIDkuMyBpcyBhIGJldHRlciB3YXkgb2YgZXhwcmVzc2luZyAiV2hvIGFyZSB5 b3U/IgoKKiBTZWN0aW9uIDE1LCBpdCBzYXlzICJGaW5hbGx5LCBsdWp2byBpbnZvbHZpbmcgYGB6 aSdvJycgYXJlIGFsc28gcG9zc2libGUsIGFuZCBhcmUgZnVsbHkgZGlzY3Vzc2VkIGluIENoYXB0 ZXIgMTIiLCBidXQgbm93aGVyZSBkb2VzIENoYXB0ZXIgMTIgbWVudGlvbiB0aGUgd29yZCB7emkn b30sIG11Y2ggbGVzcyBsdWp2byBpbnZvbHZpbmcgaXQuIFRoaXMgaXMgcHJvYmFibHkgYSBDaGFw dGVyIDEyIGVycmF0dW0uCi0tLQoKIUNoYXB0ZXIgOAoKKiBJbiBTZWN0aW9uIDMgdGhlIGV4YW1w bGUgMy4yMCBzaG91bGQgaGF2ZSB7eGFuY2V9IGluc3RlYWQgb2Yge3hhbmNpfSwgd2hpY2ggaXMg ZGVmaW5pdGVseSBhIHR5cG8uIC0taWRvbnRrbncKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1 c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoqIFNlY3Rpb24gOCwgcC4g MTgxOiAgOC4xKSAnJ2xpIHBhaSBub2kgbmEnZSBmcmludSBuYW1jdScnc2hvdWxkIGJlICcnbGkg cGFpIG5vaSBuYSdlIGZyaW51IGN1IG5hbWN1JycuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2Fu IEFwcHJvdmVkKSkKCiogU2VjdGlvbiA4LCBFeGFtcGxlIDguNiwgdGhlIHRoaXJkIGxpbmUsICJJ IHJ1bm5pbmdseS1nbyB0by10aGlzIFtyZWNpcHJvY2l0eV0gW3gzIG9mIHRoaXMgYnJpZGldIGZy b20tdGhhdCIsIGlzIG5vdCB0aGUgdXN1YWwgZGVjZW50IEVuZ2xpc2ggb25lIHdvdWxkIGV4cGVj dCBpbiB0aGF0IHBvc2l0aW9uOyByZXBsYWNlZCB3aXRoICJJIHJ1biB0byB0aGlzIGZyb20gdGhh dCBhbmQgdmljZSB2ZXJzYS4iIGlzIGRhZy1jbGwgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCiog U2VjdGlvbiA5LCBleGFtcGxlIDkuMiBpcyAnJ2NvJ28geGlybWEnJy4gVGhlbiwgJydOb3RlIHRo YXQgRXhhbXBsZSA5LjIgc2F5cyBmYXJld2VsbCB0byBzb21ldGhpbmcgd2hpY2ggZG9lc27igJl0 IHJlYWxseSBoYXZlIHRvIGJlIGEgaG9yc2UsIHNvbWV0aGluZyB0aGF0IHRoZSBzcGVha2VyIHNp bXBseSB0aGlua3Mgb2YgYXMgYmVpbmcgYSBob3JzZSwgb3IgZXZlbiBtaWdodCBiZSBzb21ldGhp bmcgKGEgcGVyc29uLCBmb3IgZXhhbXBsZSkgd2hvIGlzIG5hbWVkICJIb3JzZSIuIEluIGEgc2Vu c2UsIEV4YW1wbGUgOS4yIGlzIGFtYmlndW91cyBiZXR3ZWVuICJjbydvIGxlIHhpcm1hIiBhbmQg ImNvJ28gbGEgeGlybWEiJycuIElzIHRoaXMgdHJ1ZT8KKiogWWVzLCBpbiB0aGUgc2Vuc2UgdGhh dCBhbGwgdXNlcyBvZiAibGUiICcnbWlnaHQnJyBtZWFuICJsYSIuICBCdXQgaXQncyBwcm9iYWJs eSBtb3JlIGNvbmZ1c2luZyB0aGFuIGl0J3Mgd29ydGguICBUcnVuY2F0ZSBhZnRlciAidGhpbmtz IG9mIGFzIGJlaW5nIGEgaG9yc2UiLiAgLS1qY293YW4KCiogU2VjdGlvbiA5IHNheXMgJydJbiB2 b2NhdGl2ZSBwaHJhc2VzIHdoaWNoIGFyZSBzaW1wbGUgbmFtZXMgKGFmdGVyIHRoZSB2b2NhdGl2 ZSB3b3JkcyksIGFueSByZWxhdGl2ZSBjbGF1c2VzIG11c3QgY29tZSBqdXN0IGFmdGVyIHRoZSBu YW1lcycnLiBUaGlzIGlzbid0IHRydWUuIFJlbGF0aXZlIGNsYXVzZXMgY2FuIGdvIGJldHdlZW4g dGhlIHZvY2F0aXZlIGFuZCB0aGUgY21ldmxhLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBB cHByb3ZlZCkpICBEcm9wIGl0OyBpdCByZWZsZWN0cyBhbiBlYXJsaWVyIHN0YXRlIG9mIHRoZSBs YW5ndWFnZS4KCi0tLQohQ2hhcHRlciA5CgoqIFNlY3Rpb24gNiwgcGxhY2Ugc3RydWN0dXJlIG9m ICcncGlsbm8nJyBpcyBtaXNzaW5nICJmb3IgcHVycG9zZSB4MyIuICAoKEFwcHJvdmVkIEVycmF0 dW18amNvd2FuIEFwcHJvdmVkKSkKCiogU2VjdGlvbiA4LCB0aGUgZXhhbXBsZXMgOC41IGFuZCA4 LjYgYXJlIHN1cHBvc2VkIHRvIG1lYW4gdGhlIHNhbWUgdGhpbmcsIGJ1dCBkbyBub3QuCioqIFBs ZWFzZSBlbGFib3JhdGUuICAtLWpjb3dhbgoqKiogOC41IG1lYW5zICJJIGdhdmUgdGhlIGJvb2sg dG8gSm9obiwgYmVjYXVzZSBKb2huIGdhdmUgdGhlIG1vbmV5IHRvIG1lIiBidXQgOC42IG1lYW5z ICJKb2huIGdhdmUgdGhlIG1vbmV5IHRvIG1lIGJlY2F1c2UgSSBnYXZlIHRoZSBib29rIHRvIEpv aG4uIgoqKiAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJyAoKEFwcHJvdmVkIEVycmF0dW18amNvd2Fu IEFwcHJvdmVkKSkKCiogc2VjdGlvbiAxNywgImZyb20gc291cmNlIGFzIGFuIG9yaWdpbiBvZiIg c2hvdWxkIGJlIHR3byBlbnRyaWVzOyAiZnJvbSBzb3VyY2UiIGFuZCAiYXMgYW4gb3JpZ2luIG9m IiAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKLS0tCgohQ2hhcHRlciAxMAoKKiBTZWN0aW9uIDks IGV4YW1wbGUgOS45IG9uIHBhZ2UgMjI3IGhhcyAiY2lybGkiIGZvciAiY2lybGEiLgoqKiAoKEFw cHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xM JycKCiogU2VjdGlvbiAxMiwgZXhhbXBsZSAxMi42IHRyYW5zbGF0ZXMgbW9yc2kgYXMgImRpZSIg cmF0aGVyIHRoYW4gImFtIGRlYWQiIGluIHRoZSB0cmFuc2xhdGlvbiAoYXMgb3Bwb3NlZCB0byB0 aGUgZ2xvc3MpLgoKKiBTZWN0aW9uIDE2LCBhdCB0aGUgZW5kLCB0aGUgWCBhbmQgWSBpbiB0aGUg MyBmb3JtcyBkb24ndCBmaXQgcHJvcGVybHkgKHRoZSAzcmQgZG9lc24ndCBtYXRjaCB0aGUgZmly c3QgdHdvKS4gSSByZWNvbW1lbmQsIGNvcHlpbmcgZnJvbSBTZWN0aW9uIDIzICh3aGVyZSB0aGV5 IGFyZSB3cml0dGVuIGFnYWluIGNvcnJlY3RseSk6CiAgICAgICBYIC5pIFRFTlNFIGJvIFkKICAg ICAgIFRFTlNFIGdpIFggZ2kgWQogICAgICAgWSBURU5TRSBsZSBudSBYCgoqIFNlY3Rpb24gMTcs IGV4YW1wbGUgMTcuMTIgc2hvdWxkIG5vdCBoYXZlIHRoZSBzZWNvbmQgImJldnJpIi4KKiogKChB cHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNM TCcnCgoqIFNlY3Rpb24gMTgsIGV4YW1wbGUgMTguOSBpcyBzdXBwb3NlZCB0byBzaG93IHNjYWxh ciBuZWdhdGlvbiBvZiB0ZW5zZXMgbm90IGxpbWl0ZWQgdG8gUFUgYW5kIEZBaEEsIGJ1dCB0aGUg ZXhhbXBsZSB0ZW5zZSBpcyByaSd1IChGQWhBMikuCgoqIFNlY3Rpb24gMTksIGV4YW1wbGUgMTku MTAgc2hvdWxkIGhhdmUgImJhIiwgbm90ICJwdSIsIGFuZCAiW2Z1dHVyZV0iLCBub3QgIltwYXN0 XSIuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCiogU2VjdGlvbiAyNSwg ZXhhbXBsZXMgMjUuMSBhbmQgMjUuMiBoYXZlICcnbHUnYScnIGZvciAnJ2xhJ3UnJy4KKiogKChB cHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNM TCcnCgoqIFNlY3Rpb24gMjUsIHRoaXMgd2hvbGUgc2VjdGlvbiBpcyBhdCBvZGRzIHdpdGggdGhl IGZvcm1hbCBncmFtbWFyLiBJdCBzYXlzOiAnJ0l0IGlzIGdyYW1tYXRpY2FsIGZvciBhIHRlcm1z ZXQgdG8gYmUgcGxhY2VkIGFmdGVyIGEgdGVuc2Ugb3IgbW9kYWwgdGFnIHJhdGhlciB0aGFuIGEg c3VtdGknJy4gIEJ1dCB0aGF0IGlzIGluIGZhY3QgaW5jb3JyZWN0LCBpdCBpcyBub3QgZ3JhbW1h dGljYWwgZm9yIGEgdGVybXNldCB0byBiZSB0aGUgYXJndW1lbnQgb2YgYSB0YWcuCioqIFVuZm9y dHVuYXRlbHkgdHJ1ZS4gIFRlcm1zZXRzIHN1Y2sgcm9ja3MsIGFuZCBzb21lIHdvcmsgd2lsbCBo YXZlIHRvIGJlIGRvbmUgdG8gbWFrZSBldmVyeXRoaW5nIHNhaWQgYWJvdXQgdGhlbSBjb25zaXN0 ZW50IC0tIGlmIGl0IGlzIGV2ZW4gcG9zc2libGUuICBQZXJzb25hbGx5LCBJJ2QgbGlrZSB0byBq dXN0IGJ1cm4gdGhlbS4gIC0tamNvd2FuICAnJydOT0ZJWCcnJwoKKiBTZWN0aW9uIDI3OiBNT2hJ IHNlZSBTZWN0aW9uIDI4LCBub3QgMjcuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJv dmVkKSkKCi0tLQoKIUNoYXB0ZXIgMTEKCiogU2VjdGlvbiA0OiBUaGUgdXNlIG9mIGthIGluIEV4 YW1wbGUgNC40IChwYWdlIDI1OSkgaXMgZXJyb25lb3VzOyBpdCBzaG91bGQgYmUgZHUndS4gLS0o KEpvaG4gQ293YW4pKSAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCiogTGFz dCBwYXJhZ3JhcGggb2Ygc2VjdGlvbiA3IHJlZmVyZW5jZXMgY2hhcHRlciA1IGZvciBhIGRpc2N1 c3Npb24gb2YgImx1J2UiLiAgbHUnZSBpc24ndCBtZW50aW9uZWQgaW4gY2hhcHRlciA1LiAgUHJv YmFibHkgY2hhcHRlciA2IGlzIG1lYW50IGhlcmUuCioqIFllcywgc2hvdWxkIGJlIFNlY3Rpb24g NS4xMC4gICAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoqIFNlY3Rpb24g OSwgcGFnZSAyNjYgaGFzICJzYW8ncmR6aWZhJ2EiIGluc3RlYWQgb2YgInNhJ29yZHppZmEnYSIu CioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElO IERBRy1DTEwnJwoKKiBUaGUgc2FtZSBleGFtcGxlICg5LjYpIGFsc28gaGFzIGt1Y3RyYSBpbnN0 ZWFkIG9mIGt1Y3RhaQoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkg JydJTkNMVURFRCBJTiBEQUctQ0xMJycKCiogVGhlIGJvb2sgdGl0bGUgaW4gZXhhbXBsZSA5LjYg c2VlbXMgdG8gYmUgaW5jb3JyZWN0OiAiVGhlIENydWNpZml4aW9uIG9mIEplc3VzIENvbnNpZGVy ZWQgQXMgQSBEb3duaGlsbCBCaWN5Y2xlIFJhY2UiIGlzIGFjdHVhbGx5ICJbaHR0cDovL3d3dy5l dmVyZ3JlZW5yZXZpZXcuY29tLzEwMi9maWN0aW9uL2R1by5odG1sfFRoZSBDcnVjaWZpeGlvbiBD b25zaWRlcmVkIEFzIEFuIFVwaGlsbCBCaWN5Y2xlIFJhY2VdLiIKKiogVW5hcHByb3ZlZAoKKiBT ZWN0aW9uIDEwOiBQYXJhZ3JhcGggYWJvdmUgZXhhbXBsZSAxMC43IHJlZmVyZW5jZXMgIkNoYXB0 ZXIgMTEiLiBUaGF0IHNob3VsZCByZWFkICJDaGFwdGVyIDEwIi4KKiogKChBcHByb3ZlZCBFcnJh dHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoqIFNlY3Rp b24gMTIsIHBhZ2UgMjY5IGhhcyBleGFtcGxlcyAxMy4xIGFuZCAxMy4yLCB0aG9zZSBzaG91bGQg YmUgY2FsbGVkIDEyLjEgYW5kIDEyLjIuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJv dmVkKSkKCi0tLQoKIUNoYXB0ZXIgMTIKCiogU2VjdGlvbiAyLCBwYWdlIDI3NS4gVGhlIHBhcmFn cmFwaCB1bmRlciBFeGFtcGxlIDIuMyByZWZlcnMgdG8gaXQgYXMgRXhhbXBsZSAyLjQgKDIuNCBk b2Vzbid0IGV2ZW4gZXhpc3QpLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkp CgoqIFNlY3Rpb24gNSwgcmlnaHQgYWZ0ZXIgZXhhbXBsZSA1LjcuIEl0IHNheXMgImEiIGluc3Rl YWQgb2YgImFuIi4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKKiBTZWN0 aW9uIDYsIHBhZ2UgMjgwLiBFeGFtcGxlIDYuNiBzaG91bGQgaGF2ZSBhIHNwYWNlIGJldHdlZW4g ImxhIHNwYXQuIiBhbmQgIm5vaSIuCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBw cm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKKiBTZWN0aW9uIDcsIHBhZ2UgMjgyLiBF eGFtcGxlIDcuNSBoYXMgImJhbnNvaSIgaW5zdGVhZCBvZiAiYmFsc29pIi4KKiogKChBcHByb3Zl ZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoq IFNlY3Rpb24gMTEsIHBhZ2UgMjg1IGhhcyAieGFzY2FrY3VybnUiIGluc3RlYWQgb2YgInhhc3lj YWtjdXJudSIuCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lO Q0xVREVEIElOIERBRy1DTEwnJwoKKiBTZWN0aW9uIDEyIGNsYWltcyB0aGF0IC1qYXgtIGlzIGEg cmFmc2kgZm9yIHtqYWl9LCBidXQgaXQgaXNuJ3QgaW4gW2h0dHA6Ly93d3cubG9qYmFuLm9yZy9w dWJsaWNhdGlvbnMvd29yZGxpc3RzL3JhZnNpLnR4dHxodHRwOi8vd3d3LmxvamJhbi5vcmcvcHVi bGljYXRpb25zL3dvcmRsaXN0cy9yYWZzaS50eHRdLiBEb2VzIHtqYWl9IGhhdmUgYSByYWZzaSBv ciBub3Q/CioqIEl0IHNob3VsZCwgYnV0IHNvbWVob3cgaXQgbmV2ZXIgZ290IGludG8gdGhlIGdp c211IGxpc3QsIGFuZCBjb25zZXF1ZW50bHkgbm90IGludG8gdGhlIHJhZnNpIGxpc3QgZWl0aGVy LiAgU3RldCwgYW5kIHdlJ2xsIGFkZCBpdCB0byB0aGUgZ2lzbXUgbGlzdC4gIC0tamNvd2FuCgoq IFNlY3Rpb24gMTIsIHJpZ2h0IGF0IHRoZSBlbmQsIHNheXMgdGhhdCB7ZmFpfSBpcyBleHBsYWlu ZWQgaW4gQ2hhcHRlciAxMSwgYnV0IENoYXB0ZXIgMTEgbWFrZXMgbm8gbWVudGlvbiBvZiB7ZmFp fS4gT25seSBjaGFwdGVycyA5IGFuZCAxMCBkby4KKiogJydJTkNMVURFRCBJTiBEQUctQ0xMJycg KHpvcnQncyBmb3JrIGF0IGxlYXN0KSAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3Zl ZCkpCgoqIFNlY3Rpb24gMTQsIGV4YW1wbGUgMTQuMi4gTWlzc2luZyA8IC9wcmUgPiB0YWcsIGFu ZCBtaXNzaW5nIDwgcHJlPiB0YWcgZm9sbG93aW5nIGV4cGxhbmF0b3J5IHBhcmFncmFwaC4KCiog U2VjdGlvbiAxNCwgcGFnZSAyOTEuIFRoZSBwYXJhZ3JhcGggdW5kZXIgZXhhbXBsZSAxNC43IHNh eXMgInNlIHhhbmNlIG1pbmR1IiBpbnN0ZWFkIG9mICJzZSB4YW5jZSBtaW5kZSIuCioqICgoQXBw cm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwn JwoKKiBTZWN0aW9uIDE1LCB0d28gcGFyYWdyYXBocyBiZWZvcmUgZXhhbXBsZSAxNS43LiBJdCBz YXlzICJUaGVyZSBhcmUgc29tZSBjb21wYXJhdGl2ZSBjb25jZXB0cyB3aGljaCBhcmUgaW4gd2hp Y2ggdGhlICdzZSB6bWFkdScgaXMgZGlmZmljdWx0IHRvIHNwZWNpZnkuIiBUaGUgIndoaWNoIGFy ZSBpbiB3aGljaCIgc2VlbXMgZ3JhbW1hdGljYWxseSBpbmNvcnJlY3QuCioqIERyb3AgIndoaWNo IGFyZSIuICAtLWpjb3dhbiAgICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoK KiBTZWN0aW9uIDE1LCBwYWdlIDI5NCwgZXhhbXBsZSAxNS4xNC4gImxhIGFpbmN0YWluIiBuZWVk cyBhIHBlcmlvZCBiZWZvcmUgaXQgYmVjYXVzZSBpdCBzdGFydHMgd2l0aCBhIHZvd2VsLgoqKiAo KEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUct Q0xMJycKCi0tLQoKIUNoYXB0ZXIgMTMKCiogTWFueSBpbmNpZGVudHMgb2Ygbm90IGhhdmluZyBw ZXJpb2RzIGluIGZyb250IG9mIHZvd2VsLWluaXRpYWwgY21hdm8uCioqICgoQXBwcm92ZWQgRXJy YXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKKiBJbiBz ZWN0aW9uIDIsIHAuIDMwMCByZWZlcmVuY2VzIHRvIHRoZSBleGFtcGxlcyBmb3IgLnVlIGFuZCAu dWVjdSdpIGFyZSBmbGlwcGVkLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkp CgoqIFNlY3Rpb24gMywgcGFnZSAzMDMsIGV4YW1wbGUgMy45LiAiZSdlIiBuZWVkcyBhIHBlcmlv ZCBiZWZvcmUgaXQuCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAn J0lOQ0xVREVEIElOIERBRy1DTEwnJwoKKiBTZWN0aW9uIDMsIHBhZ2UgMzAzLCBleGFtcGxlIDMu MTAuICJ0aXNuYSIgbmVlZHMgdG8gYmUgcmVwbGFjZWQgd2l0aCAidGlzeWdhdSIuCioqICgoQXBw cm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwn JwoKKiBTZWN0aW9uIDQsIHBhZ2UgMzA1LiBUaGUgc2NhbGUgd2l0aCB0aGUgZ2lzbXUgbW5lbW9u aWNzIGlzIG1pc2FsaWduZWQgd2l0aCB0aGUgc2NhbGUgd2l0aCB0aGUgbWVtYmVycyBvZiBzZWxt YSdvIENBSS4gInNhaSIgc2hvdWxkIGJlIHRhYmJlZCBvbmUgcGxhY2UgbGVmdCwgc28gdGhhdCBp dCBhbGlnbnMgd2l0aCB0c2FsaSwgJmMuCgoqIFNlY3Rpb24gNywgaXQgc2F5cyAiSXQgaXMgbm90 IGNsZWFyIGhvdyBtdWNoIHVzZSBsb2dpY2FsbHkgY29ubmVjdGVkIGFic3RyYWN0b3JzIHdpbGwg YmU6IHNlZSBDaGFwdGVyIDEzLiIgSXQgc2hvdWxkIGJlICJDaGFwdGVyIDE1LiIKKiogJydJTkNM VURFRCBJTiBEQUctQ0xMJycgKHpvcnQncyBmb3JrIGF0IGxlYXN0KSBidXQgbmVlZHMgYXBwcm92 YWwKKiBTZWN0aW9uIDEwLCBwYWdlIDMxMy4gVGhlcmUgaXMgYSBtaXNzaW5nIHNwYWNlIGJldHdl ZW4gImNvbnRpbnVlIGVtb3Rpb24iIGFuZCAiZW5kIGVtb3Rpb24iLgoKKiBTZWN0aW9uIDE1LiBB IHNhbXBsZSBkaWFsb2d1ZSAgMTUuNCkgLyB+bnB+W0NvbW1lbnRdIFBhbSBzYXlzLCBbUGxlYXNl XSBBbGljZSwgW2VuZC1vZi1jb21tZW50XSAvIFtDb21tZW50XSBQYW0gc2F5cywgW2VuZC1vZi1j b21tZW50XSBbUGxlYXNlXSBBbGljZSwvfi9ucH4gKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBB cHByb3ZlZCkpCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lO Q0xVREVEIElOIERBRy1DTEwnJwoKKiBTZWN0aW9uIDE1LCBleGFtcGxlIDE1LjUgL3hhbWd1L2ds ZWtpLyA/CioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xV REVEIElOIERBRy1DTEwnJwoKKiBTZWN0aW9uIDE1LCBleGFtcGxlIDE1LjEwKSAvZmknaSBybyB6 dmF0aSBrbyBwaW54ZSBwYSBja2FmaS9maSdpIHJvIHp2YXRpIC5pIGtvIHBpbnhlIHBhIGNrYWZp LwoqKiBObywgdGhpcyBvbmUgaXMgcGVyZmVjdGx5IGZpbmU6ICJmaSdpIHJvIHp2YXRpIiBpcyBh IHZvY2F0aXZlIHBocmFzZSwgd2hpY2ggaXMgYSBmcmVlIG1vZGlmaWVyLCBtZWFuaW5nIHRoYXQg aXQgY2FuIG9jY3VyIGFsbW9zdCBhbnl3aGVyZS4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4g QXBwcm92ZWQpKQoKKiBTZWN0aW9uIDE1LCBleGFtcGxlIDE1LjEzKSAvZmknbyBzZWxwbGVqaSBt aS9maSdvIHBsZWppIG1pLwoqKiBBbmQgIndpdGggcGF5ZXIiIHJhdGhlciB0aGFuICJ3aXRoIHBh eW1lbnQiOyBleSdzIG5vdCBwYXlpbmcgd2l0aCBlbXNlbGYhIC0tIGNhbWd1c21pcwoqKiAoKEFw cHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xM JycKCi0tLQoKIUNoYXB0ZXIgMTQKCiogU2VjdGlvbiA4LCByaWdodCBiZWZvcmUgZXhhbXBsZSA4 LjkgaXMgInByb2R1Y2luZyBleGFtcGxlIDguMTAiIHdoaWNoIHNob3VsZCBpbiBmYWN0IHJlYWQg InByb2R1Y2luZyBleGFtcGxlIDguOSIuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJv dmVkKSkKCiogU2VjdGlvbiA5OiBiZXR3ZWVuIGV4YW1wbGUgOS4xMCBhbmQgOS4xMSwgImlkZW50 aWZpZWQiIHNob3VsZCByZWFkICJpZGVudGljYWwiCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1n dXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKKiBTZWN0aW9uIDExLCBy aWdodCBiZWZvcmUgc2VjdGlvbiAxMi4gSXQgc2F5cyAidGVybXNldHMuLi5hcmUgZXhwbGFpbmVk IGluIENoYXB0ZXIgMTIgYW5kIENoYXB0ZXIgMTYiIGJ1dCBjaGFwdGVyIDEyICh3aGljaCBpcyBv biBsdWp2bykgbWFrZXMgYWJzb2x1dGVseSBubyBtZW50aW9uIG9mIHRlcm1zZXRzLiBDaGFwdGVy cyA5IGFuZCAxMCBkaXNjdXNzIHRlcm1zZXRzLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBB cHByb3ZlZCkpCgoqIFNlY3Rpb24gMTQsIGV4YW1wbGUgMTQuMTUgaXMgbm90IGdyYW1tYXRpY2Fs IChhY2NvcmRpbmcgdG8gamJvZmknZSBhbmQgY2FteGVzKSBiZWNhdXNlIGl0IHNheXMgInBlJ2Ug LmUiIHdoZW4gaXQgc2hvdWxkIHNheSAicGUnZSBqZSIuICAoKEFwcHJvdmVkIEVycmF0dW18amNv d2FuIEFwcHJvdmVkKSkKCiogU2VjdGlvbiAxNCwgZXhhbXBsZSAxNC4xNiBtZW50aW9ucyAic29y bWUiLCB3aGljaCBpcyBwcm9iYWJseSBPbGQgTG9nbGFuLCBhbmQgc2hvdWxkIGJlIHJlcGxhY2Vk IGJ5ICJtZW5zaSIuCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAn J0lOQ0xVREVEIElOIERBRy1DTEwnJwoKKiBTZWN0aW9uIDE0LCAidGhlIHN0YXRlZCBnbG9zcyBv ZiBURlRUYXMg4oCcb25seSBpZuKAnSB3b3JrcyBuYXR1cmFsbHkgb25seSB3aGVuIHRoZSByaWdo dC1oYW5kIGJyaWRpIGlzIHRydWU7IGlmIGl0IGlzIGZhbHNlLCB0aGUgbGVmdC1oYW5kIGJyaWRp IG1heSBiZSBlaXRoZXIgdHJ1ZSBvciBmYWxzZS4iIGNoYW5nZWQgdG8gInRoZSBzdGF0ZWQgZ2xv c3Mgb2YgVEZUVGFzIOKAnG9ubHkgaWbigJ0gd29ya3MgbmF0dXJhbGx5IG9ubHkgd2hlbiB0aGUg cmlnaHQtaGFuZCBicmlkaSBpcyBmYWxzZTsgaWYgaXQgaXMgdHJ1ZSwgdGhlIGxlZnQtaGFuZCBi cmlkaSBtYXkgYmUgZWl0aGVyIHRydWUgb3IgZmFsc2UuIgoqKiAoKEFwcHJvdmVkIEVycmF0dW18 Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCiogU2VjdGlvbiAx NSwgcmlnaHQgYWZ0ZXIgMTUuOSwgaXQgc2F5cyAiZXhhbXBsZSAxNC4xNyIgd2hlcmUgaXQgc2hv dWxkIHNheSAiZXhhbXBsZSAxNS45IiAoMTQuMTcgZG9lcyBub3QgZXhpc3QpLiAgKChBcHByb3Zl ZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoqIFNlY3Rpb24gMTUsIGV4YW1wbGUgMTUuOSBp cyBub3QgZ3JhbW1hdGljYWw7IGl0IHNob3VsZCBiZSAibGEgZGphbi4gZmEndSBsYSBmcmFuay4g Y3Vza3UgbnUnaSBiYXUgbGEgbG9qYmFuLiBwZSdlIGZhJ3UgYmFpIGxhIGRqb3Jkai4iLgoKKiBT ZWN0aW9uIDE5LCBleGFtcGxlIDE5LjQgaXMgdHJhbnNsYXRlZCBhcyAiSSBvcGluZSB0aGUgZmFj dC10aGF0IGEtbWFzcy1vZiBsaXZpbmctdGhpbmdzIGlzLWF0IEp1cGl0ZXIgb3ItZWxzZSBJIG9w aW5lIHRoZSBmYWN0LXRoYXQgYS1tYXNzLW9mIGxpdmluZy10aGluZ3MgaXNuJ3QtYXQgSnVwaXRl ciIgYnV0IHJlYWxseSBpdCdzICJJIG9waW5lIHRoZSBmYWN0LXRoYXQgYS1tYXNzLW9mIGxpdmlu Zy10aGluZ3MgaXMtYXQgSnVwaXRlciBvci1lbHNlIEkgX19kby1ub3RfXyBvcGluZSB0aGUgZmFj dC10aGF0IGEtbWFzcy1vZiBsaXZpbmctdGhpbmdzIF9faXMtYXRfXyBKdXBpdGVyIi4gU28gMTku NCBpcyBhY3R1YWxseSB0cnVlLCBub3QgZmFsc2UgYXMgaXQgaXMgY2xhaW1lZCB0byBiZS4KKiog Q29ycmVjdCwgc28gdGhpcyBleGFtcGxlIHdpbGwgbmVlZCByZXBsYWNpbmcuICAgICgoQXBwcm92 ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKKiBBbHNvIHRoZXJlIGlzbid0IHJlYWxseSBh IHJlYXNvbiBmb3IgaXQgdG8gc2F5IGEgbWFzcyBvZiBsaXZpbmcgdGhpbmdzIGFuZCBub3Qgc29t ZSBpbmRpdmlkdWFsIGxpdmluZyB0aGluZ3MuCioqIFN0ZXQuICBUaGUgYXV0aG9yIHByZWZlcnMg aXQgdGhhdCB3YXksIHRoYW5reW91dmVyeW11Y2guICAtLWpjb3dhbi4KCgotLS0KCiEgQ2hhcHRl ciAxNQoKKiBTZWN0aW9uIDIsIG1pc3NpbmcgPCAvcHJlID4gdGFnIGFmdGVyIGV4YW1wbGUgMi44 IGFuZCA8IHByZT4gdGFnIGJlZm9yZSBleGFtcGxlIDIuOS4KCiogU2VjdGlvbiA5LCB0d28gcGFy YWdyYXBocyBhYm92ZSBleGFtcGxlIDkuNCB0aGUgd29yZCAibmVnYXRpdiIgc2hvdWxkIGJlICJu ZWdhdGl2ZSIuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCiogU2VjdGlv biA5OiBJcyB0aGVyZSBzdXBwb3NlZCB0byBiZSBhbnkgZGlmZmVyZW5jZSBiZXR3ZWVuIGV4LiA5 LjUgYW5kIDkuNj8KKiogVGhhdCBwcm9ibGVtIGlzIG9ubHkgaW4gdGhlIG9ubGluZSB2ZXJzaW9u LgoKKiBTZWN0aW9uIDEwLCB0aHJlZSBwYXJhZ3JhcGhzIGFmdGVyIGV4YW1wbGUgMTAuMTQsIHRo ZXJlJ3MgYSBzZW1pY29sb24gd2hpY2ggc2hvdWxkIGJlIGEgY29tbWEgYWZ0ZXIgIihzYXksIGEg c3BlbGxpbmcgZXJyb3IpIi4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoK KiBTZWN0aW9uIDEwLCBpdCBzYXlzICInamkndW5hJ2lrdScgbWV0YWxpbmd1aXN0aWNhbGx5IHNh eXMgdGhhdCBzb21ldGhpbmcgaXMgd3Jvbmcgd2l0aCB0aGF0IGFzc3VtcHRpb24uIChTZWUgQ2hh cHRlciAxMC4pIi4gU2hvdWxkbid0IHRoYXQgYmUgQ2hhcHRlciA5LCBtb2RhbHM/CioqICcnSU5D TFVERUQgSU4gREFHLUNMTCcnICh6b3J0J3MgZm9yayBhdCBsZWFzdCkgKChBcHByb3ZlZCBFcnJh dHVtfGpjb3dhbiBBcHByb3ZlZCkpCi0tLQoKIUNoYXB0ZXIgMTYKCiogU2VjdGlvbiA1LCBleGFt cGxlIDUuNTogRW5nbGlzaCBoYXMgImV2ZXJ5IFkiIHdoZW4gaXQgc2hvdWxkIHJlYWQgImV2ZXJ5 IFgiCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVE IElOIERBRy1DTEwnJwoKKiBTZWN0aW9uIDYsIGV4YW1wbGUgNi42IGhhcyBhIG1pc3NpbmcgImN1 IiBiZWZvcmUgInZpc2thIi4KKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3Zl ZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoqIFNlY3Rpb24gOCwgdGhlIGV4cGxhbmF0aW9u IG9mIGV4YW1wbGUgOC4zIHNheXMgImFueSBlbnRpdHkgd2hpY2ggaXMgb25lIGlzIGFsc28gdGhl IG90aGVyIi4gVGhhdCB3b3VsZCBiZSB0cnVlIGlmIHRoZSBleGFtcGxlIHVzZWQge2dvfSwgYnV0 IGl0IHVzZXMge2dhbmFpfS4gOC4zIGRvZXMgbm90IGNsYWltIHRoYXQgaWYgc29tZXRoaW5nIHdh bGtzIGFjcm9zcyB0aGUgZmllbGQgdGhlbiBpdCBnb2VzIHRvIHRoZSBzdG9yZS4gICgoQXBwcm92 ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKSAgQ2hhbmdlIGl0IHRvIHVzZSB7Z299LiAnJ0lO Q0xVREVEIElOIERBRy1DTEwnJwoqKiBTYW1lIHBsYWNlOiBuZWVkcyB0byBibyB7ZGEgZ299LCBu b3Qge2dvIGRhfSAgQW5kIHRoZSBnbG9zcyBzaG91bGQgYmUgIkZvci1ldmVyeSBYOiBYIGlzLWEt Z29lci10byB0aGUgc3RvcmUgaWYtYW5kLW9ubHktaWYgaXQgaXMtYS13YWxrZXItb24gdGhlIGZp ZWxkLiIgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCiogU2VjdGlvbiA4LCBleGFtcGxlIDguMy4g RWl0aGVyIHRoZSB7ZGF9IHNob3VsZCBjb21lIGJlZm9yZSB0aGUge2dhbmFpfSAob3IsIGJ5IHRo ZSBwcmV2aW91cyBeIGVycmF0dW0sIHtnb30pIGFuZCB0aGUgZ2xvc3Mgc2hvdWxkIGJlIGNoYW5n ZWQgdG8gb25seSBtZW50aW9uICJYIiBvbmNlLCBvciBhIHtkYX0gc2hvdWxkIGJlIGluc2VydGVk IGJlZm9yZSB7Y2FkenV9LgoqKiAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJyAgY2hvc2UgZmlyc3Qg b3B0aW9uIHNpbmNlIGl0J3MgdGVyc2VyICh6b3J0J3MgZm9yayBhdCBsZWFzdCkgYnV0IG5lZWRz IGFwcHJvdmFsCgoqIFRoaXM6ICJBZGphY2VudCBuZWdhdGlvbiBib3VuZGFyaWVzIGluIHRoZSBw cmVuZXggY2FuIGJlIGRyb3BwZWQsIiByZWFkcyBiZXR0ZXIgYXMgIkFkamFjZW50IHBhaXJzIG9m IG5lZ2F0aW9uIGJvdW5kYXJpZXMgaW4gdGhlIHByZW5leCBjYW4gYmUgZHJvcHBlZCwiCioqICgo QXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1D TEwnJwoqKiogVGhlIG9ubGluZSB2ZXJzaW9uIHNheXMgIkFkamFjZW50IGRvdWJsZSBuZWdhdGlv biBib3VuZGFyaWVzIiwgYnV0IEknbSBva2F5IHdpdGggZWl0aGVyICJkb3VibGUiIG9yICJwYWly cyBvZiIuICAtLWpjb3dhbgoKKiBTZWN0aW9uIDEwLCBleC4gMTAuNSBhbmQgMTAuNiBoYXZlIGEg cHJlbmV4LCAibmFrdSB6byd1IiwgYWZ0ZXIgYW4gaWplay4gVGhpcyBpcyBub3QgYWxsb3dlZCBi eSB0aGUgZ3JhbW1hci4gSXQgY291bGQgYmUgZml4ZWQgYnkgcmVtb3ZpbmcgdGhlICJ6byd1IiBh bmQgdXNpbmcgIm5ha3UiIG91dHNpZGUgdGhlIHByZW5leCwgYWx0aG91Z2ggdGhpcyBpcyBvbmx5 IGV4cGxhaW5lZCBpbiB0aGUgZm9sbG93aW5nIFNlY3Rpb24gMTEuCioqIFRoaXMgaXMgYSBiaWcg cHJvYmxlbSwgYW5kIEknbSBub3Qgc3VyZSB3aGF0IHNob3VsZCBiZSBmaXhlZC4gIC0tamNvd2Fu ICAnJydOT0ZJWCcnJwoqIFNlY3Rpb24gMTIsIGV4LiAxMi43IGFuZCAxMi45IGhhdmUgbWlzc2lu ZyAiY3Uicy4KKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5D TFVERUQgSU4gREFHLUNMTCcnCgoqIFNlY3Rpb24gMTQsIEV4YW1wbGUgMTQuMSBoYXMgImJsYWNp IiAoZ2xhc3MpIG5vdCAiYmxhYmkiICh3aGl0ZSkgYXMgcGVyIHRoZSBFbmdsaXNoLgoqKiAoKEFw cHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xM JycKCi0tLQoKIUNoYXB0ZXIgMTcKCiogU2VjdGlvbiA1LCBhZnRlciBleGFtcGxlIDUuMSwgcGFy YWdyYXBoIHN0YXJ0aW5nICJIb3dldmVyLCAiIGhhcyBpbmNvcnJlY3QgZm9udC4gICgoQXBwcm92 ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKKiBTZWN0aW9uIDksIHBhZ2UgNDIxLiBsZXJm dSBzdHJpbmdzIGFyZSB3cml0dGVuIHdpdGhvdXQgcGF1c2VzIG9yIHNwYWNlcywgZXZlbiB0aG91 Z2ggQlkgd29yZHMgaGF2ZSB0byBlbmQgd2l0aCBhIGNvbnNvbmFudC4KKiogU3RldC4gIEJZIHdv cmRzIGRvIG5vdCBlbmQgd2l0aCBhIGNvbnNvbmFudCwgYW5kIGEgc3RyaW5nIG9mIHRoZW0gY2Fu IG5ldmVyIGJlIGFtYmlndW91cywgc28gcGF1c2VzL3NwYWNlcyBhcmUgbm90IHJlcXVpcmVkLiAg LS1qY293YW4KCiogU2VjdGlvbiA5LCBFeGFtcGxlIDkuNDogc2hvdWxkbid0ICJzeW15ankiIGJl ICJzeW15ZHkiIChsb2piYW4gbW9ycGhvbG9neSk/ICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2Fu IEFwcHJvdmVkKSkKCiogU2VjdGlvbiAxMC4gQWZ0ZXIgRXhhbXBsZSAxMC40LjUsIHRoZSByZWZl cmVuY2UgdG8gRXhhbXBsZSAxMC40IHNob3VsZCBiZSBpbnN0ZWFkIHRvIEV4YW1wbGUgMTAuNC41 LgoqKkluIHRoZSBjdXJyZW50IERBRy1DTEwsIHRoZSBleGFtcGxlcyBudW1iZXJpbmcgaXMgc2Fu ZSwgYnV0IGFmdGVyIEV4YW1wbGUgMTAuMywgdGhlIHR3byByZWZlcmVuY2VzIHRvIEV4YW1wbGUg MTAuNCBzaG91bGQgYmUgdG8gRXhhbXBsZSAxMC4zLgoKKiBSaWdodCBiZWZvcmUgc2VjdGlvbiAx MiwgdGhlcmUgaXMgYSBsaW5lIGJyZWFrIGluIHRoZSBtaWRkbGUgb2YgdGhlIHBhcmFncmFwaC4g ICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKKiBTZWN0aW9uIDE3LCBwYWdl IDQyNy4gIi50dnJpeWRvcy4gYnUiIGJlZ2lucyB3aXRoIHRoZSBjb25zb25hbnQgY2x1c3Rlciwg d2hpY2ggaXNuJ3QgZXZlbiBwZXJtaXNzaWJsZSBtZWRpYWxseS4KKiogY2hhbmdlIHRvIHR5dnJp eWRvcwoqKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVE RUQgSU4gREFHLUNMTCcnCioqKiogQWN0dWFsbHksIGl0IHNob3VsZCBiZSAidHl2cmRvcy4gYnUi ICAtLWpjb3dhbgoKKiBJbiB0aGUgdGFibGUgaW4gc2VjdGlvbiAxOSwgdGhlIGxlcnZsYSBmb3Ig b3Zlci1kb3QgKCIuZ2FybW9jLiBidSIpIGFuZCBvdmVyLXJpbmcgKCIuZ2FyamluLiBidSIpIHNo b3VsZCBiZSB1cGRhdGVkIHRvIHRoZWlyIHBvc3QtUmVhbGxvY2F0aW9uIGZvcm1zLCAiLmdhcG1v Yy4gYnUiIGFuZCAiLmdhcHlqaW4uIGJ1Ii4KKioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNt aXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKKiBTZWN0aW9uIDE5IGhhcyB0 d28gY29sdW1ucyBydW4gdG9nZXRoZXIgaW4gdGhlIHJvdyB0aGF0IHNheXMgIkRhbmlzaC9MYXRp biBhZXRlaSAuYWJ1IC5lYnUgZm9pIgoKLS0tCgohQ2hhcHRlciAxOAoKKiBTZWN0aW9uIDMsIGV4 LiAzLjEwLCBzaG91bGQgdHJhbnNsYXRlIGFzICIuMTAxMjAwMSIuICAoKEFwcHJvdmVkIEVycmF0 dW18amNvd2FuIEFwcHJvdmVkKSkKCiogSW4gc2VjdGlvbiA0IGV4YW1wbGUgNC41IGlzIGxpbmtl ZCBpbnN0ZWFkIG9mIDQuNyAtICJFeGFtcGxlIDQuNSBpcyBub3QgYGAxIG1pbnVzIDInJywgWy4u LnwuLi5dIiB3aGVyZSBleGFtcGxlIDQuNSBpcyBqdXN0ICJ0ZSdvIi4gICgoQXBwcm92ZWQgRXJy YXR1bXxqY293YW4gQXBwcm92ZWQpKQoKKiBTZWN0aW9uIDUsIHA0MzcgZXg1LjkgW2dsb3NzXTog b3VyIC0+IGZvdXIgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCioqICcnSU5D TFVERUQgSU4gREFHLUNMTCcnCgoqIFNlY3Rpb24gNiwgcDQzODogaiB2dSd1IC0+IHZ1J3UgICgo QXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoqKiAnJ0lOQ0xVREVEIElOIERBRy1D TEwnJwoKKiBTdGFydCBvZiBzZWN0aW9uIDExIHNob3VsZCByZWFkIHRoZXJlIGFyZSBmaXZlIG1l bWJlcnMgb2YgTU9JIChub3QgZm91cikuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJv dmVkKSkKCiogSW4gc2VjdGlvbiAxMSwgZXggMTEuMTAgb24gdmEnZSAic29maSd1cGFubyIgaW4g dGhlIGV4YW1wbGUgaXMgZ2xvc3NlZCBhcyAiOC8xMCIgaW5zdGVhZCBvZiAiOS8xMCIuICAoKEFw cHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKKiogJydJTkNMVURFRCBJTiBEQUctQ0xM JycKCiogSW4gc2VjdGlvbiAxMSwgImxlaSByYXRjdSBwb2kgenZhdGkgbGUgcGFua2EgY3Ugc28n dW1laSBmbyBsbydpIHJhdGN1IiwgYnV0IHRoZXJlIGlzIG5vIDR0aCBwbGFjZSBvZiBtZWkuCioq IFJlbW92ZSB0aGUgImZvIjsgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpICcn SU5DTFVERUQgSU4gREFHLUNMTCcnCgoqIEV4YW1wbGUgMTQuNCBuZWVkcyBhIHN1Yi0yIGFmdGVy IGJvdGggbnVtYmVycy4KKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkp ICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoqIEluIHNlY3Rpb24gMTcsIGF0IHRoZSBib3R0b20g b2YgcGFnZSA0NTQsIHRoZSBxdWFkcmF0aWMgZm9ybXVsYSBzaG91bGQgYmUgZGVzY3JpYmVkIGFz IGEgY2xhc3NpYyBleGFtcGxlIG9mIG9wZXJhdG9yIGxvZ2ljYWwgY29ubmVjdGlvbiwgbm90IG9w ZXJhbmQuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCiogU2VjdGlvbiAy MCwgcDQ1ODogLWVzdGFibGlzaGVkIC0+IGVzdGFibGlzaGVkICAoKEFwcHJvdmVkIEVycmF0dW18 amNvd2FuIEFwcHJvdmVkKSkKCiogU2VjdGlvbiAyMSBzdGF0ZXMgdGhhdCB0aGUgcmFmc2kgb2Yg ImZyaW51IiBtYXkgYmUgdXNlZCBhcyByYWZzaSBmb3IgImZpJ3UiOyBob3dldmVyLCAiZnJpbnUi IGxvc3QgYm90aCBvZiBpdHMgc2hvcnQgcmFmc2kgaW4gdGhlIFJlYWxsb2NhdGlvbiwgc28gdGhp cyByZWFsbHkgaXNuJ3QgdmVyeSB1c2VmdWwuIFRoZSB0YWJsZSBiZWxvdyBsaXN0cyAiZmkndSIg YXMgYSByYWZzaSB1c2FibGUgZm9yICJmaSd1IiwgdGhlcmVmb3JlIG9mICJmcmludSI7IHRoZSBn aW1zdGUgbGlzdHMgImZpJ3UiIGFzIGEgcmFmc2kgb2YgImNmaXB1Ii4KKiogVGhpcyBpcyBhIHNl cmlvdXMgcHJvYmxlbSB3aGljaCBuZWVkcyBzb21lIHRob3VnaHQuICBUaGVyZSBuZWVkcyB0byBi ZSBhIHJhZnNpIGZvciBmaSd1IHNvbWVob3cuICAtLWpjb3dhbiAgJycnTk9GSVgnJycKCiogU2Vj dGlvbiAyMiBleGFtcGxlIDIyLjMsICJtbydlIHZvYm9pIHJlbm9tZWkgc3UnaSB6ZSIsIGRvZXMg bm90IHBhcnNlLgoqKiBJdCBuZWVkcyAidmVpIiBpbiBmcm9udCB0byBiZSBhIHF1YW50aWZpZXIg KGFuIG9wZXJhbmQgYnkgaXRzZWxmIGlzIG5vdCBhIHBlcm1pdHRlZCBmcmFnbWVudCkuIEFsc28s IHRoZSBmb2xsb3dpbmcgdGV4dCBtZW50aW9ucyAidGUndSIgYnV0IHRoZSBleGFtcGxlIG9taXRz IGl0LgoqKiogTm9uZSBvZiB0aG9zZSBleGFtcGxlcyBwYXJzZSB3aXRob3V0IHtsaX0sIHdoaWNo IEkgaGF2ZSBhZGRlZCB0byBhbGwuICBSZXBsYWNlZCB0aGUgb25lIGluIHF1ZXN0aW9uIHdpdGgg ImxpIG1vJ2Ugdm9ib2kgcmVub21laSB0ZSd1IHN1J2kgemUiICgoQXBwcm92ZWQgRXJyYXR1bXxj YW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKLS0tCiFDaGFwdGVy IDE5CgoqIFNlY3Rpb24gNCwgcDQ2NyBleDQuMzogenUnbyAtPiB6byd1ICAoKEFwcHJvdmVkIEVy cmF0dW18amNvd2FuIEFwcHJvdmVkKSkKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBB cHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoqIFNlY3Rpb24gNiwgcGFnZSA0NzIu IEV4YW1wbGUgNi42IGVuZHMgd2l0aCAia2xhbWEiLCBidXQgZm9yIHRoZSBhcmd1bWVudCB0byBt YWtlIHNlbnNlLCBpdCBoYXMgdG8gc2F5ICJudW5rbGEiLgoqKiAoKEFwcHJvdmVkIEVycmF0dW18 Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCiogU2VjdGlvbiA3 LCBFeGFtcGxlIDcuMSBoYXMgYXMgdGhlIEVuZ2xpc2g6ICJJIGdvLXRvIChmaXJzdGx5KSB0aGUg c3RvcmUgYW5kIChzZWNvbmRseSkgdGhlIG1hcmtldC4iICAidGhlIG1hcmtldCIgc2hvdWxkIGJl ICJ0aGUgaG91c2UiLgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkg JydJTkNMVURFRCBJTiBEQUctQ0xMJycKCiogRXhhbXBsZSAxMS44LCB0aGVyZSdzIGEgZGVucGFi dSBhZnRlciB7emEnZX0gYW5kIG5vIGRlbnBhYnUgYWZ0ZXIge2FsYmVpbmlhc30uCioqICcnSU5D TFVERUQgSU4gREFHLUNMTCcnICh6b3J0J3MgZm9yayBhdCBsZWFzdCkgYnV0IG5lZWRzIGFwcHJv dmFsCgoqIFNlY3Rpb24gMTEsIHRoZSBwYXJhZ3JhcGggYWZ0ZXIgZXhhbXBsZSAxMS44IHNheXMg ImN0aWlweXJpcyIgYnV0IGl0IHNob3VsZCBiZSAiY2tpaXB5cmlzIi4gICgoQXBwcm92ZWQgRXJy YXR1bXxqY293YW4gQXBwcm92ZWQpKQotLS0KCiFDaGFwdGVyIDIwCgoqIFNlY3Rpb24gTEUsIHBh Z2UgNDk4LiBJbiAibGUgZ2Vya3Uga2xhbWEgbGUgemRhbmkiLCAiY3UiIGlzIG1pc3NpbmcuCioq ICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERB Ry1DTEwnJwoKKiBTZWN0aW9uIFRVaEUsIHBhZ2UgNTA1LiBJbiAieGFnbWF1IHpvJ3UgdHUnZSBn YW5haSBjaWRqYSBnaSBjbmlubyAuaSBnYW5haSB2YW5qdSBnaSB0b2xjaSdvIHR1J3UiLCAiY25p bm8iIHNob3VsZCBiZSByZXBsYWNlZCBieSAiY2l0bm8iLiAgQWxzbywgYSBwcmVuZXggY2FuJ3Qg aGF2ZSBhIHNlbGJyaSwgc28gJyd4YWdtYXUnJyBzaG91bGQgYmUgcmVwbGFjZWQgYnkgJydsbyB4 YWdtYXUnJy4KKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5D TFVERUQgSU4gREFHLUNMTCcnCgoqIFNlY3Rpb24gU0UsIHBhZ2UgNTA0OiBtaXNzaW5nICJjdSIg YWZ0ZXIgInphcmNpIi4KKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkp ICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoqIEluIHRoZSBwYXNzYWdlcyBvbiBWRUkgYW5kIFZF aE8sIHRoZSAiYm8icyBzaG91bGQgYmUgY2hhbmdlZCB0byAiYmknZSJzLiAgKChBcHByb3ZlZCBF cnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgotLS0KCiFDaGFwdGVyIDIxCgoqIEluIHRoZSBCTkYg Z3JhbW1hciwgdGhlIHJ1bGUgc2ltcGxlLXRlbnNlLW1vZGFsLTk3MiBpcyBtaXNzaW5nIGEgInwi IGJlZm9yZSB0aGUgQ1VoRS4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoK KiBJbiB0aGUgQk5GIGdyYW1tYXIsIHRoZSBydWxlIHNpbXBsZS10ZW5zZS1tb2RhbC05NzIgaGFz IGFuIGV4dHJhIG5ld2xpbmUKaW4gdGhlIHNwYWNlL3RpbWUgc3VicGhyYXNlLgoKKiBJbiB0aGUg Qk5GIGdyYW1tYXIsIHRoZSBydWxlIHNlbGJyaS0xLTEzMSBpcyBtaXNzaW5nIGEgInwiIGJlZm9y ZSB0aGUgTkEuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCiogSW4gdGhl IEJORiBncmFtbWFyLCB0aGUgcnVsZSB0YW5ydS11bml0LTItMTUyIGlzIG1pc3NpbmcgYSAifCIg YmVmb3JlIHRoZSBKQUkuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKKiog KChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFH LUNMTCcnIDsgYml6YXJlbGx5LCB0aGUgV29yZCBkb2MgdGhlIGJvb2sgd2FzIHByaW50ZWQgZnJv bSBkb2VzIG5vdCBoYXZlIHRoaXMgcHJvYmxlbSBhdCBhbGwuCgoqIEluIHRoZSBCTkYgZ3JhbW1h ciwgdGhlIHJ1bGUgb3BlcmF0b3ItMS0zNzEgaXMgbWlzc2luZyB0d28gInwiLiAgKChBcHByb3Zl ZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoqIEluIHRoZSBCTkYgZ3JhbW1hciwgdGhlIHJ1 bGUgbWV4LW9wZXJhdG9yLTM3NCBpcyBtaXNzaW5nIGEgInwiIGJlZm9yZSB0aGUgTUFoTyBhbmQg YW5vdGhlciBiZWZvcmUgdGhlIFZVaFUuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJv dmVkKSkKCiogSW4gdGhlIEJORiBncmFtbWFyLCB0aGUgcnVsZSBvcGVyYW5kLTMtMzg1IGlzIG1p c3NpbmcgYSAifCIgYmVmb3JlIHRoZSBOSWhFLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBB cHByb3ZlZCkpCgoqIEluIHRoZSBCTkYgZ3JhbW1hciwgaW4gdGhlIHJ1bGUgdGltZV8xMDMwLCB0 aGUgIlpFaEEgW1BVIFtOQUldIF0iIHNob3VsZCBiZSBlbmNsb3NlZCBpbiBwYXJlbnRoZXNlcy4g ICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpXaWtpbmV1cm90aWMgbWFpbGluZyBsaXN0 Cldpa2luZXVyb3RpY0Bsb2piYW4ub3JnCmh0dHA6Ly9tYWlsLmxvamJhbi5vcmcvbWFpbG1hbi9s aXN0aW5mby93aWtpbmV1cm90aWMK