Received: from localhost ([::1]:37351 helo=stodi.digitalkingdom.org) by stodi.digitalkingdom.org with esmtp (Exim 4.80.1) (envelope-from ) id 1Wq72y-0007Ib-NN; Thu, 29 May 2014 13:35:32 -0700 Received: from 173-13-139-235-sfba.hfc.comcastbusiness.net ([173.13.139.235]:57380 helo=jukni.digitalkingdom.org) by stodi.digitalkingdom.org with smtp (Exim 4.80.1) (envelope-from ) id 1Wq72m-0007IJ-Sc for wikineurotic@lojban.org; Thu, 29 May 2014 13:35:30 -0700 Received: by jukni.digitalkingdom.org (sSMTP sendmail emulation); Thu, 29 May 2014 13:35:20 -0700 From: "Apache" Date: Thu, 29 May 2014 13:35:20 -0700 To: wikineurotic@lojban.org X-PHP-Originating-Script: 48:htmlMimeMail.php MIME-Version: 1.0 Message-ID: X-Spam-Score: 0.4 (/) X-Spam_score: 0.4 X-Spam_score_int: 4 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 ionac at 22:34 CEST Comment: errors in logical connection between mekso operator You can view the page by following this link: http://www.lojban.org/tiki/CLL%2C%20aka%20Reference%20Grammar%2C%20Errata [...] Content analysis details: (0.4 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.4 RDNS_DYNAMIC Delivered to internal network by host with dynamic-looking rDNS Subject: [Wikineurotic] Wiki page CLL, aka Reference Grammar, Errata changed by ionac X-BeenThere: wikineurotic@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: wikineurotic-bounces@lojban.org VGhlIHBhZ2UgQ0xMLCBha2EgUmVmZXJlbmNlIEdyYW1tYXIsIEVycmF0YSB3YXMgY2hhbmdlZCBi eSBpb25hYyBhdCAyMjozNCBDRVNUCkNvbW1lbnQ6IGVycm9ycyBpbiBsb2dpY2FsIGNvbm5lY3Rp b24gYmV0d2VlbiBtZWtzbyBvcGVyYXRvciAKCllvdSBjYW4gdmlldyB0aGUgcGFnZSBieSBmb2xs b3dpbmcgdGhpcyBsaW5rOgogCmh0dHA6Ly93d3cubG9qYmFuLm9yZy90aWtpL0NMTCUyQyUyMGFr YSUyMFJlZmVyZW5jZSUyMEdyYW1tYXIlMkMlMjBFcnJhdGEKCllvdSBjYW4gdmlldyBhIGRpZmYg YmFjayB0byB0aGUgcHJldmlvdXMgdmVyc2lvbiBieSBmb2xsb3dpbmcgdGhpcyBsaW5rOiAKaHR0 cDovL3d3dy5sb2piYW4ub3JnL3Rpa2kvdGlraS1wYWdlaGlzdG9yeS5waHA/cGFnZT1DTEwlMkMl MjBha2ElMjBSZWZlcmVuY2UlMjBHcmFtbWFyJTJDJTIwRXJyYXRhJmNvbXBhcmU9MSZvbGR2ZXI9 MjI0Jm5ld3Zlcj0yMjUKCgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKgpUaGUgY2hhbmdlcyBpbiB0aGlzIHZlcnNpb24gZm9sbG93IGJl bG93LCBmb2xsb3dlZCBhZnRlciBieSB0aGUgY3VycmVudCBmdWxsIHBhZ2UgdGV4dC4KKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKCgor LSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSst KwpAQCAtTGluZXM6IDQzNS00MzggY2hhbmdlZCB0byArTGluZXM6IDQzNS00NDAgQEAKKy0rLSst Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSsKCiog U2VjdGlvbiAxNSwgZXhhbXBsZSAxNS45IGlzIG5vdCBncmFtbWF0aWNhbDsgaXQgc2hvdWxkIGJl ICJsYSBkamFuLiBmYSd1IGxhIGZyYW5rLiBjdXNrdSBudSdpIGJhdSBsYSBsb2piYW4uIHBlJ2Ug ZmEndSBiYWkgbGEgZGpvcmRqLiIuCisgCisgKiBTZWN0aW9uIDE3LCBleGFtcGxlIDE3LjQgaXMg d3JvbmcuICBUaGUgc2VjdGlvbiBleHBsYWlucyB0aGF0IG1la3NvIG9wZXJhdG9ycyBjYW4gYmUg bG9naWNhbGx5IGNvbm5lY3RlZCB1c2luZyB7Z3UnZSAuLi4gZ2kgLi4ufSwgYnV0IHRoaXMgZXhh bXBsZSB0cmllcyB0byBjb25uZWN0IHRoZW0gd2l0aCB7Z2UgLi4uIGdpIC4uLn0uICBSZXBsYWNl IHtnZX0gd2l0aCB7Z3UnZX0gaW4gdGhlIGV4YW1wbGUgdG8gY29ycmVjdCBpdC4KCiogU2VjdGlv biAxOSwgZXhhbXBsZSAxOS40IGlzIHRyYW5zbGF0ZWQgYXMgIkkgb3BpbmUgdGhlIGZhY3QtdGhh dCBhLW1hc3Mtb2YgbGl2aW5nLXRoaW5ncyBpcy1hdCBKdXBpdGVyIG9yLWVsc2UgSSBvcGluZSB0 aGUgZmFjdC10aGF0IGEtbWFzcy1vZiBsaXZpbmctdGhpbmdzIGlzbid0LWF0IEp1cGl0ZXIiIGJ1 dCByZWFsbHkgaXQncyAiSSBvcGluZSB0aGUgZmFjdC10aGF0IGEtbWFzcy1vZiBsaXZpbmctdGhp bmdzIGlzLWF0IEp1cGl0ZXIgb3ItZWxzZSBJIF9fZG8tbm90X18gb3BpbmUgdGhlIGZhY3QtdGhh dCBhLW1hc3Mtb2YgbGl2aW5nLXRoaW5ncyBfX2lzLWF0X18gSnVwaXRlciIuIFNvIDE5LjQgaXMg YWN0dWFsbHkgdHJ1ZSwgbm90IGZhbHNlIGFzIGl0IGlzIGNsYWltZWQgdG8gYmUuCgorLSstKy0r LSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKwpAQCAt TGluZXM6IDU0Mi01NDUgY2hhbmdlZCB0byArTGluZXM6IDU0NC01NTEgQEAKKy0rLSstKy0rLSst Ky0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSstKy0rLSsKKiBFeGFtcGxl IDE0LjQgbmVlZHMgYSBzdWItMiBhZnRlciBib3RoIG51bWJlcnMuCioqICgoQXBwcm92ZWQgRXJy YXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJworIAorICog SW4gc2VjdGlvbiAxNywgZXhhbXBsZSAxNy41LCB7Z2l9IHNob3VsZCBiZSByZXBsYWNlZCBieSB7 Z3UnZX0sIGJlY2F1c2UgbWVrc28gb3BlcmF0b3JzIGFyZSB0byBiZSBjb25uZWN0ZWQgYnkgZ3Vo ZWtzLiAgVGhpcyBpcyBlc3NlbnRpYWxseSB0aGUgc2FtZSBtaXN0YWtlIGFzIGluIGV4YW1wbGUg MTQvMTcuNC4KKyAKKyAqIEluIHNlY3Rpb24gMTcsIHRoZSBFbmdsaXNoIHRyYW5zbGF0aW9uIGZv ciBleGFtcGxlIDE3LjYgaGFzIHRoZSBmb3JtdWxhIHJlbmRlcmVkIHdyb25nIGluIHRoZSBIVE1M IHZlcnNpb24uICBUaGUgZnJhY3Rpb24gYmFyIHNob3VsZCBiZSBhZGRlZCAoaXQgaXMgaW52aXNi bGUgY3VycmVudGx5KSwgYW5kIHRoZSB3b3JkcyAidGhlbiB4ID0iIHNob3VsZCBiZSB2ZXJ0aWNh bGx5IGFsaWduZWQgdG8gdGhlIGZyYWN0aW9uIGJhciAodGhleSBhcmUgY3VycmVudGx5IGFsaWdu ZWQgdG8gdGhlIG51bWVyYXRvcikuCgoqIEluIHNlY3Rpb24gMTcsIGF0IHRoZSBib3R0b20gb2Yg cGFnZSA0NTQsIHRoZSBxdWFkcmF0aWMgZm9ybXVsYSBzaG91bGQgYmUgZGVzY3JpYmVkIGFzIGEg Y2xhc3NpYyBleGFtcGxlIG9mIG9wZXJhdG9yIGxvZ2ljYWwgY29ubmVjdGlvbiwgbm90IG9wZXJh bmQuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKCioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqClRoZSBuZXcg cGFnZSBjb250ZW50IGZvbGxvd3MgYmVsb3cuCioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCgpUaGlzIHBhZ2UgaXMgZm9yIGVycmF0YSBp biAoKFRoZSBDb21wbGV0ZSBMb2piYW4gTGFuZ3VhZ2UpKSwgdGhhdCBpcyBmb3IgbWlzdGFrZXMg c3VjaCBhcyB0eXBvcywgb3Igc2VsZi1jb250cmFkaWN0aW9ucywgb3IgY29udHJhZGljdGlvbnMg d2l0aCBvdGhlciBiYXNlbGluZWQgbGFuZ3VhZ2UgZGVmaW5pdGlvbiBtYXRlcmlhbC4gVGhpcyBp cyBfX25vdF9fIGEgcGFnZSB0byBwdXQgZGVzaWRlcmF0YSAoc3VnZ2VzdGlvbnMgZm9yIGltcHJv dmVtZW50KTsgc3VjaCBzdWdnZXN0aW9ucyBzaG91bGQgZ28gdG8gKChTdWdnZXN0aW9ucyBmb3Ig Q0xMLCBzZWNvbmQgZWRpdGlvbikpLiAgVGhpcyBpcyBhbHNvIG5vdCBhIHBhZ2UgdG8gcHV0IGVy cmF0YSByZXN1bHRpbmcgZnJvbSB0aGUgNHRoIEJhc2VsaW5lIEdyYW1tYXIgcHJvcG9zYWwgKGku ZS4sIHRoZSAoKFBFRykpIGdyYW1tYXIpOyBQRUcgZ3JhbW1hciBlcnJhdGEgc2hvdWxkIGdvIHRv ICgoQ0xMIFBFRyBFcnJhdGEpKS4KCgoKQW4gb25saW5lIHZlcnNpb24gb2YgdGhlIENMTCBpbmNv cnBvcmF0aW5nIHRoZSBjaGFuZ2VzIG9uIHRoaXMgcGFnZSBbaHR0cDovL2RhZy5naXRodWIuY29t L2NsbC98aXMgYXZhaWxhYmxlXS4KCgoKU2VlIGFsc28gW1doYXQraXMrTG9qYmFuJTNGK2VycmF0 YSZibD15fFdoYXQgaXMgTG9qYmFuPyBlcnJhdGFdIChmb3IgdGhlIHB1Ymxpc2hlZCB2ZXJzaW9u KSwgTGV2ZWwgMCBCb29rbGV0IEVycmF0YSBbdGlraS1lZGl0cGFnZS5waHA/cGFnZT1MZXZlbCsw K0Jvb2tsZXQrRXJyYXRhJmxhbmc9fD9dIChmb3IgdGhlIHByZS1wdWJsaWNhdGlvbiByZXZpZXdz OyBub3cgZmluaXNoZWQpLCBhbmQgW0xlc3NvbnMrRXJyYXRhJmJsPXl8TGVzc29ucyBFcnJhdGFd IChmb3IgdGhlIGJlZ2lubmVycycgY291cnNlKS4KCgoKVGhlICInJ0lOQ0xVREVEIElOIERBRy1D TEwnJyIgdGFnIG1lYW5zIHRoYXQgaHR0cDovL2RhZy5naXRodWIuY29tL2NsbC8gaW5jbHVkZXMg dGhpcyBmaXgsIHdoaWNoIGFsc28gbWVhbnMgaXQnbGwgcHJvYmFibHkgYmUgaW4gdGhlIG5leHQg Q0xMIHZlcnNpb24uCgoKCi0tLQoKCgohQ2hhcHRlciAxCgoKCiogVGhlcmUgaXMgYSBwYXJhZ3Jh cGggYXQgdGhlIHZlcnkgYmVnaW5uaW5nIG9mIENMTCwgb24gcGFnZSA0LCB3aXRoIHRoZSBzZW50 ZW5jZSAnJyJJbiBlc3NlbmNlLCBDaGFwdGVyIDIgZ2l2ZXMgYSBicmllZiBvdmVydmlldyBvZiB0 aGUgbGFuZ3VhZ2UsIENoYXB0ZXIgMjEgZ2l2ZXMgdGhlIGZvcm1hbCBzdHJ1Y3R1cmUgb2YgdGhl IGxhbmd1YWdlLCBhbmQgdGhlIGNoYXB0ZXJzIGluIGJldHdlZW4gcHV0IHNlbWFudGljIGJvbmVz IG9uIHRoYXQgZm9ybWFsIGZsZXNoLiInJwoKKiogV291bGRuJ3QgaXQgbWFrZSBtb3JlIHNlbnNl IHRvIHNheSAicHV0IHNlbWFudGljIGZsZXNoIG9uIHRob3NlIGZvcm1hbCBib25lcyI/ICgoQXBw cm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoK CgoqIFNlY3Rpb24gNiwgaXQgc2F5cyAiTGFycnkgSG9ybidzIHdvcmsgJydUaGUgTmF0dXJhbCBI aXN0b3J5IG9mIE5lZ2F0aW9uJyciLiBJdCB3b3VsZCBhcHBlYXIgdGhhdCBldmVyeW9uZSBlbHNl IGNhbGxzIGl0ICcnX19BX18gTmF0dXJhbCBIaXN0b3J5IG9mIE5lZ2F0aW9uJycsIGJ5IF9fTGF1 cmVuY2VfXyAoUi4pIEhvcm4uCgoqKiAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJyAoem9ydCdzIGZv cmsgYXQgbGVhc3QpIGJ1dCBuZWVkcyBhcHByb3ZhbAoKCgotLS0KCiFDaGFwdGVyIDIKCgoKKiBT ZWN0aW9uIDUgZXhhbXBsZSA1LjcgdXNlcyAidGkiIHRvIHBvaW50IGF0IGEgbGFuZ3VhZ2UsIGFu ZCBzaG91bGQgaGF2ZSBpdHMgYWNjb21wYW55aW5nIG5vdGUgY2hhbmdlZCB0byBtb3JlIGFjY3Vy YXRlbHkgcmVmbGVjdCB0aGF0IHRoaXMgaXMgbm90IGhvdyAidGkiIHdvcmtzLgoKCgoqIFNlY3Rp b24gNiBFeGFtcGxlIDYuNSBoYXMgImN1IiBhcyBlbGlkYWJsZSwgd2hlbiBpbiBmYWN0IGl0IGlz IHNpbXBseSBpbGxlZ2FsIHRoZXJlLiAgUmVtb3ZlZC4gICcnSU5DTFVERUQgSU4gREFHLUNMTCcn CgoqKiB1YW5haSwgSSBzdGlsbCBzZWUgImN1IiBpbiBEQUctQ0xMLgoKCgoqIFNlY3Rpb24gOCBw YWdlIDE3IGNsYWltcyB0aGF0ICJ4dSIgaXMgZGlzY3Vzc2VkIGluIHNlY3Rpb24gMS43LCB3aGlj aCBoYXBwZW5zIHRvIGxpc3QgdGhlIGNhcHRpb25zIGZvciBhbGwgdGhlIGNoYXB0ZXIgcGljdHVy ZXMuCgoqKiBJdCBzaG91bGQgcmVmZXIgdG8gU2VjdGlvbiAxNS4gICgoQXBwcm92ZWQgRXJyYXR1 bXxqY293YW4gQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKKioqIFRoZSBsaW5r IGluIHRoZSBjdXJyZW50IERBRy1DTEwgaXMgcG9pbnRpbmcgdG8gIjIvMi8xNSIgaW5zdGVhZCBv ZiB0byAiMi8xNSIuCgoKCiogU2VjdGlvbiAxMCBzYXlzIHRoYXQgZXhhbXBsZSAxMC4zIChtaSB0 YXZsYSBkbyBsZSB0YXZsYSBrdSkgbWVhbnMgdGhlIHNhbWUgYXMgKG1pIHRhdmxhIGRvIGxlIHRh dmxhIGt1KS4gRXhhbXBsZSAxMC4zIHNob3VsZCBiZSAibWkgdGF2bGEgZG8gbGUgdGF2bGEiLCBh cyBpdCBkZXNjcmliZXMgaG93ICJrdSIgbWF5IGJlIG9taXR0ZWQuCgoqKiBJdCBhcHBlYXJzIHRo YXQgZXhhbXBsZSAxMC4zIGlzIGluY29ycmVjdCBvbmx5IGluIHRoZSBvbmxpbmUgdmVyc2lvbiwg bm90IHRoZSBwdWJsaXNoZWQgYm9vay4KCgoKKiBTZWN0aW9uIDE3IHNheXMgIk5vdGUgdGhhdCBF eGFtcGxlIDE3LjMgIGhhcyBhbmQgcmVxdWlyZXMgYSDigJxjdeKAnSB0byBwcmV2ZW50IOKAnGJh anJh4oCdIGFuZCDigJxrbGFtYeKAnSBmcm9tIGZvcm1pbmcgYSB0YW5ydSwgYnV0IEV4YW1wbGUg MTcuNCAgYW5kIEV4YW1wbGUgMTcuNSAgbGFjayB0aGUgdW5uZWNlc3Nhcnkg4oCcY3XigJ0uIiwg YnV0IGV4YW1wbGUgMTcuMyBpcyAibGEgZGphbi4gfm5wfltjdV1+L25wfiBrbGFtYSBsZSB6YXJj aSIuCgoqKiBJdCBhcHBlYXJzIHRoYXQgdGhlIG9mZmVuZGluZyBzZW50ZW5jZSBpcyBwcmVzZW50 IG9ubHkgaW4gdGhlIG9ubGluZSB2ZXJzaW9uLCBub3QgdGhlIHB1Ymxpc2hlZCBib29rLgoKCgoq IEV4YW1wbGUgMTcuOSBpcyAibGUgdmkgdGF2bGEga3UgY3UgYmEga2xhbWEiIGluIHRoZSBvbmxp bmUgdmVyc2lvbiwgYW5kIHRvdGFsbHkgYnJva2VuIGluIHRoZSBwdWJsaXNoZWQgYm9vay4KCioq IEdvIHdpdGggdGhlIG9ubGluZSB2ZXJzaW9uLiAgKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21p cyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogRXhhbXBsZSAxNy45IGlu IGRhZy1jbGwgYXMgb2YgMjAxMi0wNS0wNSBpcyAibGUgdmkgdGF2bGEgfm5wfltrdV1+L25wfiBj dSBiYSBrbGFtYSIuIFNpbmNlIHRoZSBzYW1lIHNlY3Rpb24gaGFzIGV4cGxhaW5lZCB0aGF0IHRl bnNlIHRhZ3MgbWFrZSAiY3UiIHVubmVjZXNzYXJ5LCBJIHRoaW5rIHRoZSBleGFtcGxlIHNob3Vs ZCBiZSAibGUgdmkgdGF2bGEgfm5wfltrdV0gW2N1XX4vbnB+IGJhIGtsYW1hIi4KCgoKLS0tCgoK CiEgQ2hhcHRlciAzCgoKCkEgbG90IG9mIHRoZSBJUEEgZXhhbXBsZXMgdXNlIGEgc3BhY2UgdG8g aW5kaWNhdGUgYSBzeWxsYWJsZSBicmVhay4gVGhpcyBpcyBub3Qgc3RhbmRhcmQgSVBBIHVzYWdl OyBhY2NvcmRpbmcgdG8gSVBBLCB0aGUgcGVyaW9kIOKAnC7igJ0gc2hvdWxkIGJlIHVzZWQgdG8g aW5kaWNhdGUgYSBzeWxsYWJsZSBkaXZpc2lvbi4KCgoKKiBTZWN0aW9uIDIsIHBhZ2UgMzA6IGlu IHRoZSB0YWJsZSB0aGUgZGVzY3JpcHRpb24gb2YgImFwb3N0cm9waGUiIHNob3VsZCByZWFkICJh biB1bnZvaWNlZCBnbG90dGFsIHNwaXJhbnQiLCBub3QgImEgdW52b2ljZWQiLgoKKiogKChBcHBy b3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcn CgoKCiogU2VjdGlvbiAyLCBkaWdpdGFsIHZlcnNpb24uICBUaGUgSVBBIHRhYmxlIGdvdCBob3Jy aWJseSBtYW5nbGVkIHNvbWV3aGVyZSBhbG9uZyB0aGUgd2F5LiAgSXQgc2hvdWxkIGxvb2sgbGlr ZSAoU0FNUEEgY29sdW1uIGFkZGVkKToKCgoKfHwgTGV0dGVyIHwgSVBBICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgfCBTQU1QQSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHwgRGVzY3JpcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIAoKICcgICAgICB8IFtoXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHwgW2hdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGFuIHVu dm9pY2VkIGdsb3R0YWwgc3BpcmFudCAgICAgICAgICAgICAgICAgICAgICAKCiAsICAgICAgfCAt LS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IC0tLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCB0aGUgc3lsbGFibGUgc2VwYXJhdG9yICAg ICAgICAgICAgICAgICAgICAgICAgICAgCgogLiAgICAgIHwgW8qUXSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHwgWz9dICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB8IGEgZ2xvdHRhbCBzdG9wIG9yIGEgcGF1c2UgICAgICAgICAgICAgICAgICAg ICAgICAKCiBhICAgICAgfCBbYV0sIFvJkV0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg fCBbYV0sIFtBXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYW4gb3Bl biB2b3dlbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAoKIGIgICAgICB8IFti XSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgW2JdICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGEgdm9pY2VkIGJpbGFiaWFsIHN0b3AgICAg ICAgICAgICAgICAgICAgICAgICAgICAKCiBjICAgICAgfCBbyoNdLCBbyoJdICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHwgW1NdLCBbc2BdICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB8IGFuIHVudm9pY2VkIHBvc3RhbHZlb2xhciBmcmljYXRpdmUgICAgICAgICAg ICAgICAgICAgICAKCiBkICAgICAgfCBbZF0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB8IFtkXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBh IHZvaWNlZCBkZW50YWwvYWx2ZW9sYXIgc3RvcCAgICAgICAgICAgICAgICAgICAgCgogZSAgICAg IHwgW8mbXSwgW2VdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgW0VdLCBbZV0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGEgZnJvbnQgbWlkIHZvd2VsICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKCiBmICAgICAgfCBbZl0sIFvJuF0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfCBbZl0sIFtwXF0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHwgYW4gdW52b2ljZWQgbGFiaWFsIGZyaWNhdGl2ZSAgICAgICAgICAg ICAgICAgICAgIAoKIGcgICAgICB8IFvJoV0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB8IFtnXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBh IHZvaWNlZCB2ZWxhciBzdG9wICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCgogaSAgICAg IHwgW2ldICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBbaV0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYSBmcm9udCBjbG9zZSB2b3dlbCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIAoKIGogICAgICB8IFvKkl0sIFvKkF0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfCBbWl0sIFt6YF0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHwgYSB2b2ljZWQgcG9zdGFsdmVvbGFyIGZyaWNhdGl2ZSAgICAgICAg ICAgICAgICAgICAgICAgIAoKIGsgICAgICB8IFtrXSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHwgW2tdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB8IGFuIHVudm9pY2VkIHZlbGFyIHN0b3AgICAgICAgICAgICAgICAgICAgICAgICAgICAKCiBs ICAgICAgfCBbbF0sIFtszKldICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgW2xdLCBb bD1dICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGEgdm9pY2VkIGxhdGVy YWwgYXBwcm94aW1hbnQgKG1heSBiZSBzeWxsYWJpYykgICAKCiBtICAgICAgfCBbbV0sIFttzKld ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgW21dLCBbbT1dICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB8IGEgdm9pY2VkIGJpbGFiaWFsIG5hc2FsIChtYXkgYmUg c3lsbGFiaWMpICAgICAgICAKCiBuICAgICAgfCBbbl0sIFtuzKldLCBbxYtdLCBbxYvMqV0gICAg ICAgICAgICAgICAgICAgICB8IFtuXSwgW249XSwgW05dLCBbTj1dICAgICAgICAgICAgICAgICAg ICAgICAgICAgfCBhIHZvaWNlZCBkZW50YWwgb3IgdmVsYXIgbmFzYWwgKG1heSBiZSBzeWxsYWJp YykgCgogbyAgICAgIHwgW29dLCBbyZRdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwg W29dLCBbT10gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGEgYmFjayBt aWQgdm93ZWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKCiBwICAgICAgfCBbcF0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFtwXSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBhbiB1bnZvaWNlZCBiaWxhYmlhbCBzdG9wICAg ICAgICAgICAgICAgICAgICAgICAgCgogciAgICAgIHwgW3JdLCBbybldLCBbyb5dLCBbyoBdLCBb csypXSwgW8m5zKldLCBbyb7MqV0sIFvKgMypXSB8IFtyXSwgW3JcXSwgWzRdLCBbUlxdLCBbcj1d LCBbclw9XSwgWzQ9XSwgW1JcPV0gfCBhIHJob3RpYyBzb3VuZCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgCgogcyAgICAgIHwgW3NdICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfCBbc10gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHwgYW4gdW52b2ljZWQgYWx2ZW9sYXIgc2liaWxhbnQgICAgICAgICAgICAgICAgICAgIAoKIHQg ICAgICB8IFt0XSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgW3RdICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGFuIHVudm9pY2VkIGRlbnRh bC9hbHZlb2xhciBzdG9wICAgICAgICAgICAgICAgICAKCiB1ICAgICAgfCBbdV0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB8IFt1XSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfCBhIGJhY2sgY2xvc2Ugdm93ZWwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgCgogdiAgICAgIHwgW3ZdLCBbzrJdICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHwgW3ZdLCBbQl0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8 IGEgdm9pY2VkIGxhYmlhbCBmcmljYXRpdmUgICAgICAgICAgICAgICAgICAgICAgCgogeCAgICAg IHwgW3hdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBbeF0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYW4gdW52b2ljZWQgdmVsYXIgZnJp Y2F0aXZlICAgICAgICAgICAgICAgICAgICAgIAoKIHkgICAgICB8IFvJmV0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB8IFtAXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfCBhIGNlbnRyYWwgbWlkIHZvd2VsICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgCgogeiAgICAgIHwgW3pdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfCBbel0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYSB2 b2ljZWQgYWx2ZW9sYXIgc2liaWxhbnQgICAgICAgICAgICAgICAgICAgICAgIHx8CgoKCioqIFNv cnQtb2YgKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpOyB3aGF0IEkgYWN0 dWFsbHkgZGlkIGlzIGhhZCBBcm50IHJldmlldyB3aGF0IHNvbWVvbmUgZW50ZXJlZCBpbiBEQUct Q0xMLCB3aGljaCBwcmVzdW1hYmx5IHdhcyBiYXNlZCBvbiB0aGUgYWJvdmUuICAnJ0lOQ0xVREVE IElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gMiwgcGFnZSAzMC4gZm9yIHRoZSBzZWNvbmQgZW5n IChpbW1lZGlhdGVseSB0byB0aGUgbGVmdCBvZiAiKG1heSBiZSBzeWxsYWJpYykiKSB0aGUgc3ls bGFiaWNpdHkgbWFya2VyIGlzIGNvbmNlYWxlZCBieSB0aGUgcmlnaHQgdGFpbC4KCioqIEkgY2Fu IGp1c3QgYmFyZWx5IHNlZSB0aGUgbWFya2VyIHVuZGVyIGEgZ29vZCBsaWdodC4gICAoKEFwcHJv dmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCioqKiBGb3IgZnV0dXJlIGVkaXRpb25zIDot KSAsIG5vdGUgdGhhdCB0aGUgSVBBIGFwcHJvdmVzIHB1dHRpbmcgZGlhY3JpdGljcyBhYm92ZSBy YXRoZXIgdGhhbiBiZWxvdyB0aGUgbGV0dGVyIGluIGNhc2VzIGxpa2UgdGhlc2UuIFVuZm9ydHVu YXRlbHksIHRoZSBmb250cyBoaXRoZXJ0byBhdmFpbGFibGUgaGF2ZSBub3QgbWFkZSB0aGlzIGZh Y2lsaXR5IGF2YWlsYWJsZSwgc28gb3V0c2lkZSB0aGUgam91cm5hbCBvZiB0aGUgSVBBIGl0c2Vs Ziwgc3VjaCBvdmVyLWRpYWNyaXRpY3MgYXJlIHNlbGRvbSBzZWVuLiDigJQgbml0Y2lvbgoKCgoq IEluIHNlY3Rpb24gMy4yLCB0aGUgY29tbWEgc2hvdWxkIChwcm9iYWJseSkgYmUgcmVwcmVzZW50 ZWQgYnkgdGhlIElQQSBub3RhdGlvbiBbLnwuXSwgYXMgdGhlIHBlcmlvZCBpcyB1c2VkIGluIElQ QSB0byBkZW5vdGUgc3lsbGFibGUgYnJlYWtzLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBB cHByb3ZlZCkpCgoKCiogU2VjdGlvbiAyLCBwYWdlIDMwLiBGb3IgdGhlIExvamJhbiBwaG9uZW1l IC9yLywgdGhlIElQQSBzeW1ib2wgZm9yIGEgZGVudGFsL2FsdmVvbGFyIHZvaWNlZCBhcGljYWwg dGFwIGlzIGdpdmVuIHdpdGggYSBzeWxsYWJpY2l0eSBtYXJrZXIgYmVsb3cuIEEgdGFwIGNhbid0 IGJlIHN5bGxhYmljLCBiZWNhdXNlIGl0IGlzIGJ5IGRlZmluaXRpb24gaW5zdGFudGFuZW91cy4g ICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKSBKdXN0IHJlbW92ZSB0aGF0IGNh c2UgYWx0b2dldGhlci4KCgoKKiBTZWN0aW9uIDIuICBUaGUgZGVzY3JpcHRpb25zIG9mICcnYycn IGFuZCAnJ2onJyBhcmUgbGlzdGVkIGFzICJjb3JvbmFsIHNpYmlsYW50InMuICBUaGUgZGVzY3Jp cHRpb25zIHNob3VsZCByZWFkICJ2b2ljZWxlc3MgcG9zdGFsdmVvbGFyIGZyaWNhdGl2ZSIgYW5k ICJ2b2ljZWQgcG9zdGFsdmVvbGFyIGZyaWNhdGl2ZSIsIHJlc3BlY3RpdmVseS4gICgoQXBwcm92 ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIFNlY3Rpb24gMywgdGhpcmQgcGFyYWdy YXBoIChwYWdlIDMxKTogImEgdW52b2ljZWQgdm93ZWwgZ2xpZGUiIHNob3VsZCBiZSAiYW4gdW52 b2ljZWQgdm93ZWwgZ2xpZGUiLgoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHBy b3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlvbiA2LCBwYWdlIDM2LiBJ UEEgZm9yIHRoZSB1bmFjY2VwdGFibGUgQW1lcmljYW4gZmxhcCB2YXJpYW50IG9mIGludGVydm9j YWxpYyAnJ3QnJyBzaG93cyB0aGUgR0EgJydyJycgc291bmQgKHVwc2lkZS1kb3duIHIpIGluc3Rl YWQgb2YgdGhlIGZsYXAgKGxpa2UgYW4gciB3aXRoIG5vIHZlcnRpY2FsIGJpdCBhdCB0aGUgdG9w IOKAlCBzZWUgdGhlIGxpc3Qgb2YgYWNjZXB0aWJsZSAnJ3InJyB2YXJpYW50cyBvbiBvbiBwYWdl IDQ0IHdoZXJlIGl0IGFwcGVhcnMgY29ycmVjdGx5KSAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dh biBBcHByb3ZlZCkpCgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkg JydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIDYsIHBhZ2UgMzYuIChTYW1lIGFz IHByZXZpb3VzIGVycmF0dW0pIFRoZSBjb25zb25hbnQgaXMgcmVmZXJyZWQgdG8gYXMgYSBmbGFw LCB3aGlsZSBpdCBpcyBhY3R1YWxseSBhIHRhcC4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4g QXBwcm92ZWQpKQoKCgoqIFNlY3Rpb24gNy4gSW4gYmV0d2VlbiB0aGUgc2hhZGVkIGJveGVzLCAi YSBwYWlyaW5nIG9mIHZvaWNlZCBhbmQgdW52b2ljZWQgZXF1aXZhbGVudCB2b3dlbHMiIHNob3Vs ZCByZWFkICJhIHBhaXJpbmcgb2Ygdm9pY2VkIGFuZCB1bnZvaWNlZCBlcXVpdmFsZW50IGNvbnNv bmFudHMiLgoKCgoqIFNlY3Rpb24gOCwgcGFnZSAzOC4gSVBBIGZvciBwcm9udW5jaWF0aW9uIG9m ICJ4YXBja2UiIGhhcyBjIHdoZXJlIGl0IHNob3VsZCBoYXZlIFMgKGxvbmcgcykuICAoKEFwcHJv dmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBTZWN0aW9uIDksIHBhZ2UgNDAuIElQ QSBmb3IgcHJvbnVuY2lhdGlvbiBvZiAiZGlreWp2byIgaGFzIGogd2hlcmUgaXQgc2hvdWxkIGhh dmUgWiAodGhhdCBsaXR0bGUgc2NyaXB0IHogdGhpbmcpICAoKEFwcHJvdmVkIEVycmF0dW18amNv d2FuIEFwcHJvdmVkKSkKCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQp KSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gMTIsIHBhZ2UgNDYuIFdoYXQg c2hvdWxkIGJlIHRoZSBDeXJpbGxpYyBsZXR0ZXIgOyBpcyBwcmludGVkIGFzIHNvbWV0aGluZyB0 aGF0IGxvb2tzIGxpa2UgdGhlIEdyZWVrIGxldHRlciAuIElzIHRoaXMgb25seSBhIHR5cG9ncmFw aGljYWwgdmFyaWFudCBvZiB0aGUgOywgb3IgaXMgaXQgYSB2YXJpYW50PwoKCgoqKiBUaGlzIGVy cmF0dW0gaXMgaW5kZWNpcGhlcmFibGUgYW5kIHNob3VsZCBiZSBkcm9wcGVkLCB1bmxlc3Mgc29t ZW9uZSBjYW4gcmVjb25zdHJ1Y3QgaXQuICBUaGUgQ3lyaWxsaWMgbGV0dGVycyBsb29rIGZpbmUu ICAtLWpjb3dhbgoKCgoqIFNlY3Rpb24gMTIsIHBhZ2UgNDYuIFJlcGxhY2UgdGhlIHdvcmRzICJ0 aGUgaGFyZCBzaWduIiB3aXRoIGFuIGFjdHVhbCBoYXJkIHNpZ24sIFUrMDQ0QSBDWVJJTExJQyBT TUFMTCBMRVRURVIgSEFSRCBTSUdOLgoKCgoqIFNlY3Rpb24gMTIsIHBhZ2UgNDcuICJhcmUvImVz c2UiIHNob3VsZCBwcm9iYWJseSBiZSAiYXJlIi8iZXNzZSIgKHRoZSBhY3V0ZSBvbiB0aGUgYSBt YXkgb3IgbWF5IG5vdCBoYXZlIGJlZW4gbGVmdCBvZmYsIGJ1dCB0aGUgY2xvc2luZyBxdW90ZSBh ZnRlciBhcmUgaXMgZGVmaW5hdGVseSBtaXNzaW5nLikKCioqIE15IGNvcHkgc2hvd3MgdGhlIGFj dXRlLgoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVE RUQgSU4gREFHLUNMTCcnCgoKCi0tLQoKCgohQ2hhcHRlciA0CgoKCiogU2VjdGlvbiA0LCBwYWdl IDU0LiBUaGUgYm9vayBzdGF0ZXMgdGhhdCBmdSdpdmxhIHdpdGggYSBmb3JtIGxpa2UgJydzcGEn aScnIGFyZSB2YWxpZC4gVGhleSBhcmUgbm90LCB0aGV5IGZhaWwgdGhlIHNsaW5rdSdpIHRlc3Qu ICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1D TEwnJwoKCgoqIFNlY3Rpb24gNiwgcCA1OCwgIi1sYWMiIGluIHRoZSB0aGlyZCB0YWJsZSBpbiB0 aGF0IHNlY3Rpb24gc2hvdWxkIGJlICItbGFjLSIKCgoKKiBTZWN0aW9uIDYsIGl0IHNheXMgIk1v c3QgY21hdm8gdGhhdCBoYXZlIHJhZnNpIGFyZSBvbmVzIHVzZWQgaW4gY29tcG9zaW5nIHRhbnJ1 IChmb3IgYSBjb21wbGV0ZSBsaXN0LCBzZWUgQ2hhcHRlciAxMikiLCBidXQgdGhlcmUgaXMgbm8g c3VjaCBsaXN0IGluIENoYXB0ZXIgMTIsIG9yIGFueXdoZXJlIGluIHRoZSBib29rIChqdSdvc2Fp KS4gUGVyaGFwcyBpdCB3YW50cyB0byBwb2ludCB0byB0aGUgbGlzdCBvZiBQQSByYWZzaSBpbiBD aGFwdGVyIDE4IHNlY3Rpb24gMjU/IE9yIHRvIHRoZSBsaXN0cyBvZiB0YW5ydSBpbiBDaGFwdGVy IDUgc2VjdGlvbnMgMTQgYW5kIDE1PwoKKiogV2hhdCBJIHByb2JhYmx5IG1lYW50IHdhcyB0aGF0 IENoYXB0ZXIgMTIsIHRha2VuIGFzIGEgd2hvbGUsIGRpc2N1c3NlcyB0aGUgY21hdm8gdXNlZCBp biBjb25zdHJ1Y3RpbmcgdGFucnUuICBJIGRvbid0IHRoaW5rIGFueSBzcGVjaWZpYyBsaXN0IGV2 ZXIgZXhpc3RlZC4gIEknZCBqdXN0IGRyb3AgdGhlIHBhcmVudGhldGljYWwgc2VudGVuY2UuCgoK CiogU2VjdGlvbiA2LCBqdXN0IGFmdGVyIGV4YW1wbGUgNi45LiBJdCBzYXlzICJzb21lIG9mIHRo ZSB1bnJlZHVjZWQgZm9ybXMgaW4gdGhlIHByZXZpb3VzIGV4YW1wbGUiLCBidXQgaXQgaXMgbm90 IHJlZmVycmluZyB0byB0aGUgcHJldmlvdXMgZXhhbXBsZTogaXQgaXMgcmVmZXJyaW5nIGFsbCB0 aGUgd2F5IGJhY2sgdG8gZXhhbXBsZXMgNi4xIGFuZCA2LjIsIHNvIGl0IHNob3VsZCBiZSAic29t ZSBvZiB0aGUgdW5yZWR1Y2VkIGZvcm1zIGluIHRoZSBwcmV2aW91cyBleGFtcGxlX19zX18iLgoK KiogJydJTkNMVURFRCBJTiBEQUctQ0xMJycgKHpvcnQncyBmb3JrIGF0IGxlYXN0KQoKKEFwcHJv dmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkgIFJlZmVyIGV4cGxpY2l0bHkgdG8gNi4xIGFu ZCA2LjIKCgoKKiBTZWN0aW9uIDcsIHBhZ2UgNjAuIEluIGV4YW1wbGUgNi4xNiwgdGhlIHdvcmQg Inhhcm55a2FyY2UiIGlzIGdsb3NzZWQgYXMgIndhci1jYXIiLiBFaXRoZXIgdGhlIGdsb3NzIHNo b3VsZCBiZSB1cGRhdGVkIHRvIHJlZmxlY3QgdGhlIHZlbGp2byAoInN0dWJib3JuLWNhciIpLCBv ciB0aGUgbHVqdm8gc2hvdWxkIGJlIHVwZGF0ZWQgdG8gcmVmbGVjdCB0aGUgZ2xvc3MgImphbWth cmNlIgoKKiogVGhlIGxhdHRlciAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVk KSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIDcsIG1ha2luZyBhIHR5cGUg MyBmdSdpdmxhLCBzdGVwIDUgc2hvdWxkIHJlYWQgInN0ZXBzIDEtNCIsIG5vdCAic3RlcHMgMS01 Ii4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIFNlY3Rpb24gNywg c3RlcCA1IG9mIHRoZSBTdGFnZSAzIGZ1J2l2bGE6ICJpZiB0aGUgcmFmc2kgZW5kcyBpbiAnJ3In JyBhbmQgdGhlIHJlc3Qgb2YgdGhlIGZ1J2l2bGEgYmVnaW5zIHdpdGggJyduJycgKG9yIHZpY2Ug dmVyc2EpIHVzZSBhbiAnJ2wnJy1oeXBoZW4iIHNob3VsZCByZWFkICAiaWYgdGhlIHJhZnNpIGVu ZHMgaW4gJydyJycgYW5kIHRoZSByZXN0IG9mIHRoZSBmdSdpdmxhIGJlZ2lucyB3aXRoICcnbicn LCAnJ3RjJycsICcndHMnJywgJydkeicnIG9yICcnZGonJywgb3IgdGhlIHJhZnNpIGVuZHMgaW4g JyduJycgYW5kIHRoZSByZXN0IG9mIHRoZSBmdSdpdmxhIGJlZ2lucyB3aXRoICcncicnIHVzZSBh biAnJ2wnJy1oeXBoZW4iLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoK CiogVGhlIGVuZCBvZiBzZWN0aW9uIDcgc2VlbXMgdG8gaW1wbHkgdGhhdCBjbWVuZSBhcmUgZXhl bXB0IGZyb20gdGhlIG5vcm1hbCByZXN0cmljdGlvbnMgb24gY29uc29uYW50IGNsdXN0ZXJzIGFz IGxvbmcgYXMgZWFjaCBjb25zb25hbnQgcGFpciBpcyB2YWxpZC4KCgoKKiBTZWN0aW9uIDguIEV4 YW1wbGUgOC4xMCAnJ2RqYW5kam9ueicnIGlzIG5vdCB2YWxpZCBsb2piYW4gYXMgaXQgY29udGFp bnMgdGhlIGZvcmJpZGRlbiBjb25zb25hbnQgc2VxdWVuY2UgYG5kamAuICAgICgoQXBwcm92ZWQg RXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKSAgUmVwbGFjZSB3aXRoIGEgZGlmZmVyZW50IG5hbWUu CgoqKiBSZXBsYWNpbmcgd2l0aCAiSm9obiBCcm93biIgYXMgImRqYW5icmF1biIuIC0tcmxwb3dl bGwgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIDgsIHBhZ2UgNjYuIEV4YW1w bGUgOC4xMi4gU2F5cyB0aGF0IHRoZSBnaXNtdSAic29scmkiIG1lYW5zICJhY3R1YWxseSwgJ3Bl cnRhaW5pbmcgdG8gdGhlIHN1biciLiBUaGlzIGlzIGZhbHNlLiBBY2NvcmRpbmcgdG8gdGhlIGdp c211IGxpc3QsIGl0IG1lYW5zICcnaXMnJ2Egc3VuLgoKKiogTGVhdmUgdGhpcyBvbmUgYWxvbmUu ICBBcyBhIHNlbHRhdSwgInNvbHJpIiBkb2VzIGluZGVlZCBtZWFuICJzb2xhciIuICAtLWpjb3dh bgoKCgoqIFNlY3Rpb24gMTEsIDVhKSAnJ0V4YW1pbmUgYWxsIHRoZSBDL0MgY29uc29uYW50IHBh aXJzIHRoYXQgam9pbiB0aGUgQ1ZDIHJhZnNpLCBhbmQgYWxzbyB0aGUgcGFpciBiZXR3ZWVuIHRo ZSBsYXN0IENWQyBhbmQgdGhlIFggcG9ydGlvbiwgaWdub3JpbmcgYW55ICJ5Ii1oeXBoZW4gYmVm b3JlIHRoZSBYLicnIHNob3VsZCByZWFkIGluc3RlYWQ6ICcnRXhhbWluZSBhbGwgdGhlIEMvQyBj b25zb25hbnQgcGFpcnMgdXAgdG8gdGhlIGZpcnN0ICJ5Ii1oeXBoZW4sIG9yIHVwIHRvIHRoZSBl bmQgb2YgdGhlIHdvcmQgaW4gY2FzZSB0aGVyZSBhcmUgbm8gInkiLWh5cGhlbnMuJycKCioqICgo QXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1D TEwnJwoKCgoqIFNlY3Rpb24gMTIuIEluIEV4YW1wbGVzIDEyLjIsIDEyLjMgYW5kIDEyLjQgdGhl IGNhbGN1bGF0aW9ucyBhcmUgZ2l2ZW4gYXMgMzI1MDAgbWludXMgdGhlIHNjb3JlLCBpbnN0ZWFk IG9mIHNpbXBseSB0aGUgc2NvcmUuIChQcm9iYWJseSBmcm9tIHByZXZpb3VzIHZlcnNpb25zIG9m IHRoZSBhbGdvcml0aG0uKSAgICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkK CgoKKiBTZWN0aW9uIDEzLCBwYWdlIDc0LCB0aGlyZCB0YWJsZTogdGhlcmUgaXMgbm8gc3BhY2Ug YmV0d2VlbiAibG9qYmF1Z3JpIiBhbmQgImxvamJhbmd5Z3JpIiwgc28gdGhhdCB0aGV5IGFyZSBy dW4gaW50byBvbmUgd29yZCBpbiB0aGUgc2Vjb25kIGNvbHVtbiBvZiB0aGUgdGFibGUuICAoKEFw cHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBTZWN0aW9uIDE1IHN0YXRlcyB0 aGF0ICJkemlwbyIgY29tZXMgZnJvbSAiY2FkenUgY2lwbmkiICgid2Fsa2luZyBiaXJkIikuICBU aGlzIGZhaWxzIHRvIG1ha2Ugc2Vuc2UgZWl0aGVyIGV0eW1vbG9naWNhbGx5IG9yIHNlbWFudGlj YWxseSAoSWYgdGhlIG5hbWUgcmVmZXJzIHRvIHBlbmd1aW5zLCB0aGVyZSBhcmUgYSBsb3Qgb2Yg b3RoZXIgZmVhdHVyZXMgb2YgQW50YXJjdGljYSB0aGF0IGFyZSBtb3JlIHByb21pbmVudCBhbmQg bm90IHNoYXJlZCBieSBvdGhlciBwbGFjZXMpLiAgSSBzdXNwZWN0IHRoYXQgdGhlIHdvcmQgbWF5 IGFjdHVhbGx5IGNvbWUgZnJvbSAiZGl6bG8gZGFwbHUiICgibG93IGlzbGFuZCIpLCB3aGljaCBp cyBhIHNvbWV3aGF0IG1vcmUgcmVhc29uYWJsZSBuYW1lLgoKKiogTm90IGFuIGVycmF0dW0sIHRo ZSB3b3JkIHJlYWxseSBkb2VzIGNvbWUgZnJvbSAiY2FEWnUgY0lQbmkiLiBUaGF0IGl0IGZhaWxz IHRvIG1ha2Ugc2Vuc2UgZG9lc24ndCBjaGFuZ2UgdGhlIGZhY3QgdGhhdCB0aGF0IGlzIGhvdyB0 aGV5IGNvbnN0cnVjdGVkIGl0LiBUaGUgZXR5bW9sb2dpZXMgb2YgImJlbXJvIiBhbmQgImtldGNv IiBtYWtlIGV2ZW4gbGVzcyBzZW5zZSwgYnkgdGhlIHdheS4KCioqKiBDb3JyZWN0LCBidXQgdGhl IGV0eW1vbG9naWVzIGFyZSB3aGF0IHRoZXkgYXJlLiAgLS1qY293YW4KCgoKLS0tCgoKCiFDaGFw dGVyIDUKCgoKKiBTZWN0aW9uIDYsIGV4YW1wbGUgNi4xNTogSXQgc2F5cyB7eGFtZ3Ugam8gY29y dHUgbnVudGF2bGF9LCBhbmQgdGhlIGdsb3NzIHNheXMgeyhnb29kIGlmLWFuZC1vbmx5LWlmIHNo b3J0KSBzcGVlY2h9LCBidXQge2NvcnR1fSBtZWFucyAiaHVydCIsIG5vdCAic2hvcnQiLgoKKiog JydJTkNMVURFRCBJTiBEQUctQ0xMJycgIChjaGFuZ2VkIHRvIHt0b3JkdX0pIChpbiB6b3J0J3Mg Zm9yayBhdCBsZWFzdCkgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiog RXhhbXBsZSA2LjE2OiB2YWpuaSBqdSBzZWxwbHVrYSBudW50YXZsYSAsICAoaW1wb3J0YW50IHdo ZXRoZXItb3Itbm90IHBsZWFzaW5nKSBldmVudC1vZi10YWxraW5nCgoqKiBTaG91bGQgYmUgcGx1 a2EsIG5vdCBzZWxwbHVrYS4gICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQp KSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gOCBzYXlzICJpbnZvbHZpbmcg c2VsbWEnbyBWT2hBIGFuZCBHT2hJLCBleHBsYWluZWQgaW4gQ2hhcHRlciA3IiwgYnV0IFZPaEEg ZG9lc24ndCBhcHBlYXIgaW4gQ2hhcHRlciA3LiBWT2hBIGRvZXNuJ3QgZXZlbiBzZWVtIHRvIGJl IGEgc2VsbWEnbywgZm9yIHRoYXQgbWF0dGVyLiBBbHNvLCBwcm9iYWJseSBHT2hJIHNob3VsZCBi ZSBHT2hBPwoKCgoqIFNlY3Rpb24gOCwgcGFnZSA5Ni85NzogRXhhbXBsZSA4LjEzIG5lZWRzIHNv bWUga2luZCBvZiB0ZXJtaW5hdG9yIChsaWtlICJiZSdvIikgYmVmb3JlIHRoZSAiY28iLiAgICgo QXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIEFsc28sIHRoZSBwcmVjZWRp bmcgcGFyYWdyYXBoIHN1Z2dlc3RzIHRoYXQgImJlIiBpcyB0aGUgb25seSB3YXkgdG8gZmlsbCBz ZWxicmkgcGxhY2VzIG90aGVyIHRoYW4geDEuIFRoaXMgaXMgbm90IHRoZSBjYXNlOiAibWkgbGUg emFyY2kgY3Uga2xhbWEgY28gc3V0cmEiIHdvdWxkIGFscwoKbyB3b3JrLgoKKiogSSBkb24ndCBh Z3JlZSB0aGF0IHRoZXJlJ3MgYW55IHN1Y2ggc3VnZ2VzdGlvbiwgYWx0aG91Z2ggYWRkaW5nIGEg c2Vjb25kIHBvc3NpYmlsaXR5IGlzIGZpbmUgd2l0aCBtZS4gIC0tamNvd2FuCgoKCiogU2VjdGlv biA5IGxpc3RzICJrZWkiIGFzIHRoZSB0ZXJtaW5hdG9yIGZvciBudSwgYnV0IGl0J3Mgbm90IG9u bHkgZm9yIG51LCBidXQgZm9yIGFsbCBvZiBOVS4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4g QXBwcm92ZWQpKQoKCgoqIFNlY3Rpb24gMTQsIHBhZ2UgMTA0IHNheXMgImRhZHlsc2kiIGZvciAi ZGFkeXNsaSIuCgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJ TkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIDE0LCBwYWdlIDEwNSB1c2VzICJ6ZGFu aSBsaWpncmkiIGluIHRoZSBleGFtcGxlIGxpc3QsIGJ1dCB0aGUgcGFyYWdyYXBoIGFmdGVyLCBh cyB3ZWxsIGFzIHRoZSBuZXh0IGxpc3QsIHJlZmVyIHRvICJ6ZGFuaSBsaW5qaSIgYW5kICJsaW5q aSB6ZGFuaSIuCgoKCiogU2VjdGlvbiAxNCwgcGFnZSAxMDUgaGFzIHRoZSBsdWp2byAiY3B1bWkn aSIgYnV0IGRlZmluZXMgaXQgYXQgdGhlIGJvdHRvbSBvZiB0aGUgc2V0IGFzICJjcGFtaSdpIi4K CioqIGN1YW1pJ2kgcyBwdWxsLW1hY2hpbmUsIHNvIHVzaW5nIHRoYXQgKChBcHByb3ZlZCBFcnJh dHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogU2Vj dGlvbiAxNCwgcGFnZSAxMDYgc2F5cyAicGxpc2UgdGFwbGEiIGZvciAiYXBwbGUgY2FrZSIuIERv ZXMgVHVya2lzaCByZWFsbHkgcmVmZXIgdG8gYSBjYWtlIGFzIGEgdGlsZSwgb3IgaXMgdGhpcyBh IG1pc3VuZGVyc3RhbmRpbmcgb2YgdGhlIGRlZmluaXRpb24gb2YgInRhcGxhIj8KCioqIE5vLCBp dCdzIHRoYXQge3RhcGxhfSBjYW4gbWVhbiBib3RoIGNha2UgYW5kIHRpbGUsIGFzIHRoZSBnaXNt dSBsaXN0IHNob3dzOyBpdCdzIGEgZ2VuZXJpYyB3b3JkIGZvciBhIGZsYXQgMy1EIHNoYXBlLCBv ciBzaG9ydCBjeWxpbmRlci4gIFN0ZXQuICAtLWpjb3dhbgoKCgoqIFNlY3Rpb24gMTQsIHBhZ2Ug MTA4IHNheXMgInR1bWxhIHNwaXNhIi4gVGhpcyBzaG91bGQgcHJvYmFibHkgYmUgInR1bWxhIHBh Z2J1Iiwgc2luY2UgcGllY2VzIG9mIGxhbmQgYXJlIG5vdCBhY3R1YWxseSBkZXRhY2hlZC4KCioq IFdoYXQgbWFrZXMgeW91IHRoaW5rIHRoYXQgc3Bpc2EgaGF2ZSB0byBiZSBkZXRhY2hlZD8gIFN0 ZXQuICAtLWpjb3dhbgoKCgoqIFNlY3Rpb24gMTQsIHBhZ2UgMTA5IHNheXMgInJvc3R1IG1vanlz dSdhIi4gInJvc3R1IiBpcyBub3QgYSBMb2piYW4gZ2lzbXUsIG5vciBhbiBPbGQgTG9nbGFuIHBy aW1pdGl2ZS4gSXQncyBzdXBwb3NlZCB0byBiZSAibXJvc3QKCnUiLgoKKiogIk1yb3N0dSIgaXMg Y29ycmVjdCwgYW5kIHRoYXQncyB0aGUgcmVhZGluZyBvZiB0aGUgb25saW5lIHZlcnNpb24uICAo KEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBTZWN0aW9uIDE0LCAibnVu a2lsYnJhIiBpcyBjbGVhcmx5IG5vdCAic2hhcnBlbmVyIiwgYW5kIGV2ZW4gaWYgaXQgd2FzIHVz aW5nIHRoZSByaWdodCByYWZzaSBmb3IgY2FicmEsIHRoYXQgc3RyaWtlcyBtZSBhcyBhIHByZXR0 eSBjcmFwcHkgbHVqdm87IG5lZWRzIHplbmJhIG9yIHptYWR1IG9yIGJpbnhvIG9yIHNvbWV0aGlu Zy4KCgoKKiBTZWN0aW9uIDE0LCBwYWdlIDExMiBsaXN0cyBudW1lcm91cyB0YW5ydSBleGFtcGxl cyB3aG9zZSBtZWFuaW5ncyBhcmUgaHlwZXJueW1zIG9mIHRoZSB0ZXJ0YXUgaW5zdGVhZCBvZiBo eXBvbnltcy4gVGhpcyBjb250cmFkaWN0cyB0aGUgcHJpbWFyaW5lc3Mgb2YgdGhlIHRlcnRhdSBh cyBkZWZpbmVkIG9uIHBhZ2UgODQuIFRoZSB3b3JkICJqYSIgc2hvdWxkIHByb2JhYmx5IGJlIGlu c2VydGVkIGJldHdlZW4gdGhlIGNvbnN0aXR1ZW50cywgb3IgdGhlIGVudGlyZSBzZWN0aW9uIHNo b3VsZCBiZSByZW1vdmVkLgoKKiogU3RldC4gIExpb25zIGNhbid0IGJlIG1hZGUgb2Ygc3RvbmUs IGJ1dCB7cm9rY2kgY2luZm99IGlzIGEgbGVnaXRpbWF0ZSB0YW5ydSBub25ldGhlbGVzcy4gIC0t amNvd2FuCgoKCi0tLQoKCgohQ2hhcHRlciA2CgoKCiogRW5kIG9mIHNlY3Rpb24gMiwgaXQgc2F5 cyAiY29tcG91bmQgbmVnYXRvciBgYG5ha3UnJyAoZGlzY3Vzc2VkIGluIENoYXB0ZXIgMTUpIiwg YnV0ICJuYWt1IiBpcyBuZXZlciBtZW50aW9uZWQgaW4gY2hhcHRlciAxNTsgaW5kZWVkLCB0aGUg b25seSB1c2VzIG9mIHRoZSB3b3JkIHtrdX0gYXQgYWxsIGFyZSBhZnRlciB0aGUgd29yZHMge2pp J3V9IG9yIHtuYSdpfS4gQ2hhcHRlciAxNiB0YWxrcyBhYm91dCB7bmFrdX0uCgoqKiAnJ0lOQ0xV REVEIElOIERBRy1DTEwnJyAoem9ydCdzIGZvcmsgYXQgbGVhc3QpIGJ1dCBuZWVkcyBhcHByb3Zh bAoKCgoqIFNlY3Rpb24gMTIsIHAuIDEzOCBjbGFpbXMgdGhhdCB0aGUgc3VtdGkgaW4gZXhhbXBs ZXMgMTIuMiBhbmQgMTIuMyBvcGVyYXRlIGxpa2UgZXhhbXBsZXMgMi41IGFuZCAzLjYgcmVzcGVj dGl2ZWx5LiAiMi42IGFuZCAzLjYiIGlzIGFsbW9zdCBzdXJlbHkgd2hhdCB3YXMgbWVhbnQuICAo KEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xM JycKCgoKKiBJbiBzZWN0aW9uIDExIEV4YW1wbGUgMTEuMiBvY2N1cnMgdHdpY2UuCgoqKiAoKEFw cHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xM JycKCgoKKiBTZWN0aW9uIDIgaGFzIGV4YW1wbGVzIDIuMyBhbmQgMi41IHRvIHNob3cgdGhlIGRp ZmZlcmVuY2UgYmV0d2VlbiB7bG99IGFuZCB7bGV9LiBFeGFtcGxlIDIuNSBhbmQgdGhlIHN1YnNl cXVlbnQgdGV4dCBzYXkgdGhhdCB7bG8gbmFubXUgY3UgbmlubXV9IGlzIG5lY2Vzc2FyaWx5IGZh bHNlIGluIGxvamJhbiBzaW5jZSB7bm9kYSBuYW5tdSBnaSdlIG5pbm11fS4gVGhpcyBjb250cmli dXRlcyB0byB0cmFucy1lcmFzdXJlLCBhbmQgc2hvdWxkIGJlIHJldmlzZWQuCgoKCiogSW4gc2Vj dGlvbiA1IGJldHdlZW4gZXhhbXBsZXMgNS4yIGFuZCA1LjMsIGl0IHNheXMgdGhhdCB0aGUgdHlw aWNhbCBsaW9uIGJlc3QgZXhlbXBsaWZpZXMgdGhlIHNldCBvZiBsaW9ucy4gVGhpcyBpcyBmYWxz ZSwgaXQgZXhlbXBsaWZpZXMgbm90IHRoZSBzZXQsIGJ1dCB0aGUgbWVtYmVycyBvZiB0aGF0IHNl dC4KCgoKLS0tCgoKCiEgQ2hhcHRlciA3CgoKCiogU2VjdGlvbiA2LCBwYWdlIDE1NSBoYXMgYSBu b3RlIGJlbG93IGV4YW1wbGUgNi4xMyB0aGF0IHNheXMsIGluIHBhcnQ6ICJUaGUgTG9qYmFuIGRv ZXMgbm90IGNvbnRhaW4gYW4gZXF1aXZhbGVudCBvZiB0aGUgIm15IiBpbiBjb2xsb3F1aWFsIEVu Z2xpc2g7IiBhbmQgdGhlbiBnb2VzIG9uIHRvIGV4cGxhaW4gaG93IGV4YW1wbGUgNi4xMyBjb3Vs ZCBiZSBtb2RpZmllZCB0byBpbmNsdWRlICB0aGUgcmVsYXRpb25zaGlwIGJldHdlZW4gdGhlIHNw ZWFrZXIgYW5kIHRoZWlyIHNvbiBhbmQgZGF1Z2h0ZXIuICBJIGJlbGlldmUgeW91IGNvdWxkIHNh eSAibGUgbWkgYmVyc2EiIG9yICJsZSBiZXJzYSBwZSBtaSIgdG8gZXhwcmVzcyB0aGUgRW5nbGlz aCAibXksIiB0aGVyZWZvciByZW1vdmluZyB0aGUgKHByZXN1bWFibHkgaW5hY2N1cmF0ZSkgbm90 ZSBhbmQgbWFraW5nIHRoZSBMb2piYW4gdHJhbnNsYXRpb24gbW9yZSBhY2N1cmF0ZS4KCioqIFN1 cmUgeW91IGNvdWxkLCBidXQgdGhlIHBvaW50IG9mIHRoZSBub3RlICh3aGljaCBpcyAnJ25vdCcn IGluYWNjdXJhdGUpIGlzIG5vdCB0ZWFjaGluZyBob3cgdG8gdXNlIHJlbGF0aXZlIGNsYXVzZXMs IGJ1dCB0byBjbGFyaWZ5IHRoYXQgdGhlIGlkaW9tYXRpYyBFbmdsaXNoIHZlcnNpb24gY29udGFp bnMgbW9yZSBpbmZvcm1hdGlvbiB0aGFuIHRoZSBMb2piYW4gdmVyc2lvbiBkb2VzLiAgU3RldC4K CgoKKiBTZWN0aW9uIDYsIHBhZ2UgMTU2IGhhcyAnJ2thcmNhJycgZm9yICcna2FyY2UnJy4gICgo QXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIEFmdGVyIGV4YW1wbGUgNi4x OCBpcyBhIHBhcmFncmFwaCB0aGF0IHF1b3RlcyBub24tZXhpc3RlbnQgdGV4dCBmcm9tIGV4YW1w bGUgNi4xMC4gICJnbydlIHJhJ28iIHNob3VsZCByZWFkICJnbydpIHJhJ28iIGFuZCAiZG8gZ28n ZSIgc2hvdWxkIHJlYWQgIm1pIGdvJ2kiCgoqKiBUaGUgY29ycmVjdCBjb3JyZWN0aW9uIGlzIHRv IHJlcGxhY2UgIkIncyBzdGF0ZW1lbnQiIHdpdGggIkEncyBzZWNvbmQgc3RhdGVtZW50Ii4gICgo QXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKKioqIE5vdCByZWFsbHkuICJnbydl IHJhJ28iIGluIEEncyBzZWNvbmQgc3RhdGVtZW50IHdvdWxkIG1lYW4gdGhlIHNhbWUgYXMgImdv J2UiLCB3aGljaCBpcyB3cm9uZy4gVGhlIG9yaWdpbmFsIGNvcnJlY3Rpb24gaXMgdmFsaWQgdGhv dWdoLgoKCgoqU2VjdGlvbiA2LCB0aGUgZXhjZXB0aW9ucyB0byB0aGUgYW5hcGhvcmEgcnVsZXMg YXJlIGFsbW9zdCBjZXJ0YWlubHkgaW5jb21wbGV0ZS4gSW4gcGFydGljdWxhciAibWEiIGFuZCAi Y2UndSIgZGVmaW5pdGVseSB3YXJyYW50IGV4Y2VwdGlvbnMuCgoKCiogU2VjdGlvbiA3LCBleGFt cGxlIDcuNyBoYXMgIm1pIHpiYXN1IGxvaSBtdWRyaSB6aSdvIiBmb3IgIm1pIHpiYXN1IGxlIGRp bmp1IHppJ28iCgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJ TkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIDgsIHAuIDE1OCBpbXBsaWVzIHRoYXQg Jyd2bydhJyctc2VyaWVzIGFuYXBob3JhIHJlZmVyIHRvIHN1bXRpIG9mIHRoZSBicmlkaSB0aGV5 IHRoZW1zZWx2ZXMgYXJlIHN1bXRpIG9mLiBUaGlzIGNvbnRyYWRpY3RzIHRoZSBjbWF2byBsaXN0 LCBhbmQgaXMgaW5jb3JyZWN0OiAnJ3ZvJ2EnJy1zZXJpZXMgYW5hcGhvcmEgKGFjY29yZGluZyB0 byB0aGUgbWEnb3N0ZSkgcmVmZXIgdG8gc3VtdGkgb2YgdGhlIG91dGVybW9zdCBicmlkaSB3aXRo aW4gdGhlIGN1cnJlbnQgc2VudGVuY2UuIFRoaXMgbWFrZXMgdGhlbSBsb2dvcGhvcnMvbG9uZyBk aXN0YW5jZSByZWZsZXhpdmVzLCByYXRoZXIgdGhhbiBzaG9ydC1kaXN0YW5jZSByZWZsZXhpdmVz LCBhcyBpcyBub3JtYWwgaW4gaHVtYW4gbGFuZ3VhZ2UuIFRodXMsIGluICcnbWkgbmVsY2kgbGVu dSBkbyBwcmFtaSB2bydhJycsICcndm8nYScnbWVhbnMgJydtaScnLCBub3QgJydkbycnLgoKKipf Xy0tPl9fKChXaHkgdGhlIEJvb2sgaXMgUmlnaHQgYW5kIHRoZSBtYSdvc3RlIGlzIFdyb25nKSkK CioqKldoaWNoIG9mIHRoZSB0d28gY2FzZXMgaXMgbm9ybWFsIGluIGh1bWFuIGxhbmd1YWdlPyBJ ZiB5b3UnZCB3cml0dGVuIGl0IGluIExvamJhbiwgSSdkIGtub3chCgoqKioqIEknZCBndWVzcyB0 aGF0IHNob3J0LWRpc3RhbmNlIGlzIG5vcm1hbCwgYi9jIG90aGVyd2lzZSBpdCB3b3VsZCBub3Qg YmUgd29ydGggY29tcGFyaW5nIHRoZSB0d28uIEJ1dCBvZiBjb3Vyc2UgaW4gbG9qYmFuIHdlIHdv dWxkbid0IGhhdmUgdG8gZ2xvcmsgdGhhdC4KCioqKioqIFNob3J0LWRpc3RhbmNlIGlzIGluZGVl ZCBub3JtYWwsIGJ1dCBMb2piYW5pc3RzIGhhdmUgY29uc2lzdGVudGx5IHVzZWQgbG9uZy1kaXN0 YW5jZS4gIE5pY2sgd3JvdGUgYSBwZWVyLXJldmlld2VkIHBhcGVyIG9uIHRoaXMuICAtLWpjb3dh bgoKCgoqIEV4YW1wbGUgNy44LjUgKHAxNTkpOiBiYWpyYSBvbiB0aGlyZCBsaW5lIHNob3VsZCBi ZSBiYWp5a2xhLCBsaWtlIHRoZSBvdGhlcnMuCgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3Vz bWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIDgsIGl0 IHNheXMgIkV4YW1wbGUgOS4zIGlzIGEgdHJ1bHkgcHJlZ25hbnQgcXVlc3Rpb24uLi4iIHdoZW4g ZXhhbXBsZSA5LjIgaXMgdGhlIHByZWduYW50IHF1ZXN0aW9uLCBhbmQgZXhhbXBsZSA5LjMgaXMg YSBiZXR0ZXIgd2F5IG9mIGV4cHJlc3NpbmcgIldobyBhcmUgeW91PyIKCgoKKiBTZWN0aW9uIDE1 LCBpdCBzYXlzICJGaW5hbGx5LCBsdWp2byBpbnZvbHZpbmcgYGB6aSdvJycgYXJlIGFsc28gcG9z c2libGUsIGFuZCBhcmUgZnVsbHkgZGlzY3Vzc2VkIGluIENoYXB0ZXIgMTIiLCBidXQgbm93aGVy ZSBkb2VzIENoYXB0ZXIgMTIgbWVudGlvbiB0aGUgd29yZCB7emknb30sIG11Y2ggbGVzcyBsdWp2 byBpbnZvbHZpbmcgaXQuIFRoaXMgaXMgcHJvYmFibHkgYSBDaGFwdGVyIDEyIGVycmF0dW0uCgot LS0KCgoKIUNoYXB0ZXIgOAoKCgoqIFNlY3Rpb24gMS4gRXhhbXBsZSAxLjggaXMgc2FpZCB0byBi ZSBlcXVpdmFsZW50IHRvIEV4YW1wbGUgMS40LCB3aGVuIGl0IGlzIGluc3RlYWQgZXF1aXZhbGVu dCB0byBFeGFtcGxlIDEuNS4KCgoKKiBJbiBTZWN0aW9uIDMgdGhlIGV4YW1wbGUgMy4yMCBzaG91 bGQgaGF2ZSB7eGFuY2V9IGluc3RlYWQgb2Yge3hhbmNpfSwgd2hpY2ggaXMgZGVmaW5pdGVseSBh IHR5cG8uIC0taWRvbnRrbncKCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92 ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gOCwgcC4gMTgxOiAgOC4x KSAnJ2xpIHBhaSBub2kgbmEnZSBmcmludSBuYW1jdScnc2hvdWxkIGJlICcnbGkgcGFpIG5vaSBu YSdlIGZyaW51IGN1IG5hbWN1JycuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVk KSkKCgoKKiBTZWN0aW9uIDgsIEV4YW1wbGUgOC42LCB0aGUgdGhpcmQgbGluZSwgIkkgcnVubmlu Z2x5LWdvIHRvLXRoaXMgW3JlY2lwcm9jaXR5XSBbeDMgb2YgdGhpcyBicmlkaV0gZnJvbS10aGF0 IiwgaXMgbm90IHRoZSB1c3VhbCBkZWNlbnQgRW5nbGlzaCBvbmUgd291bGQgZXhwZWN0IGluIHRo YXQgcG9zaXRpb247IHJlcGxhY2VkIHdpdGggIkkgcnVuIHRvIHRoaXMgZnJvbSB0aGF0IGFuZCB2 aWNlIHZlcnNhLiIgaXMgZGFnLWNsbCAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rp b24gOSwgZXhhbXBsZSA5LjIgaXMgJydjbydvIHhpcm1hJycuIFRoZW4sICcnTm90ZSB0aGF0IEV4 YW1wbGUgOS4yIHNheXMgZmFyZXdlbGwgdG8gc29tZXRoaW5nIHdoaWNoIGRvZXNu4oCZdCByZWFs bHkgaGF2ZSB0byBiZSBhIGhvcnNlLCBzb21ldGhpbmcgdGhhdCB0aGUgc3BlYWtlciBzaW1wbHkg dGhpbmtzIG9mIGFzIGJlaW5nIGEgaG9yc2UsIG9yIGV2ZW4gbWlnaHQgYmUgc29tZXRoaW5nIChh IHBlcnNvbiwgZm9yIGV4YW1wbGUpIHdobyBpcyBuYW1lZCAiSG9yc2UiLiBJbiBhIHNlbnNlLCBF eGFtcGxlIDkuMiBpcyBhbWJpZ3VvdXMgYmV0d2VlbiAiY28nbyBsZSB4aXJtYSIgYW5kICJjbydv IGxhIHhpcm1hIicnLiBJcyB0aGlzIHRydWU/CgoqKiBZZXMsIGluIHRoZSBzZW5zZSB0aGF0IGFs bCB1c2VzIG9mICJsZSIgJydtaWdodCcnIG1lYW4gImxhIi4gIEJ1dCBpdCdzIHByb2JhYmx5IG1v cmUgY29uZnVzaW5nIHRoYW4gaXQncyB3b3J0aC4gIFRydW5jYXRlIGFmdGVyICJ0aGlua3Mgb2Yg YXMgYmVpbmcgYSBob3JzZSIuICAtLWpjb3dhbgoKCgoqIFNlY3Rpb24gOSBzYXlzICcnSW4gdm9j YXRpdmUgcGhyYXNlcyB3aGljaCBhcmUgc2ltcGxlIG5hbWVzIChhZnRlciB0aGUgdm9jYXRpdmUg d29yZHMpLCBhbnkgcmVsYXRpdmUgY2xhdXNlcyBtdXN0IGNvbWUganVzdCBhZnRlciB0aGUgbmFt ZXMnJy4gVGhpcyBpc24ndCB0cnVlLiBSZWxhdGl2ZSBjbGF1c2VzIGNhbiBnbyBiZXR3ZWVuIHRo ZSB2b2NhdGl2ZSBhbmQgdGhlIGNtZXZsYS4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBw cm92ZWQpKSAgRHJvcCBpdDsgaXQgcmVmbGVjdHMgYW4gZWFybGllciBzdGF0ZSBvZiB0aGUgbGFu Z3VhZ2UuCgoKCiogU2VjdGlvbiAxMCwgZXhhbXBsZSAxMC4zIHVzZXMgImtlJ2EgZ29pIGtvJ2Ug em8ndSBrbydhIHpiYXN1IGtlJ2EiIGJ1dCBnbG9zc2VzIGl0IGFzICIoSVQgPSBpdDIgOiBpdDEg YnVpbHQgaXQyKSIuIFRoZSBhc3NpZ25lZCAia28nZSIgaXMgbm90IHVzZWQgYXMgZXhwZWN0ZWQg b3IgZGVzY3JpYmVkLCBhbmQgc2hvdWxkIHByb2JhYmx5IGJlICJrbydhIHpiYXN1IGtvJ2UiLiAg KChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpICBZZXMsICJrbydhIHpiYXN1IGtv J2UiIGlzIGNsZWFybHkgd2hhdCdzIG1lYW50LgoKCgotLS0KCiFDaGFwdGVyIDkKCgoKKiBTZWN0 aW9uIDYsIHBsYWNlIHN0cnVjdHVyZSBvZiAnJ3BpbG5vJycgaXMgbWlzc2luZyAiZm9yIHB1cnBv c2UgeDMiLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogU2VjdGlv biA4LCB0aGUgZXhhbXBsZXMgOC41IGFuZCA4LjYgYXJlIHN1cHBvc2VkIHRvIG1lYW4gdGhlIHNh bWUgdGhpbmcsIGJ1dCBkbyBub3QuCgoqKiBQbGVhc2UgZWxhYm9yYXRlLiAgLS1qY293YW4KCioq KiA4LjUgbWVhbnMgIkkgZ2F2ZSB0aGUgYm9vayB0byBKb2huLCBiZWNhdXNlIEpvaG4gZ2F2ZSB0 aGUgbW9uZXkgdG8gbWUiIGJ1dCA4LjYgbWVhbnMgIkpvaG4gZ2F2ZSB0aGUgbW9uZXkgdG8gbWUg YmVjYXVzZSBJIGdhdmUgdGhlIGJvb2sgdG8gSm9obi4iCgoqKiAnJ0lOQ0xVREVEIElOIERBRy1D TEwnJyAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBTZWN0aW9uIDEx LCBkZXNjcmlwdGlvbiBvZiB0aGUgbWVhbmluZyBvZiAiLmlqZSBzZXJpJ2EgdHUnZSIgY29udHJh ZGljdHMgdGhlIGV4cGxhbmF0aW9uIG9mIEV4YW1wbGUgOS45LCB3aGljaCB3b3VsZCBzdWdnZXN0 ICIuaWplIHJpJ2EgdHUnZSIuCgoKCiogc2VjdGlvbiAxNywgInBlcnRhaW5lZCB0byBieSBjb25j ZXJuaW5nIiBzaG91bGQgYmUgc2VwYXJhdGVkLCB3aXRoICJjb25jZXJuaW5nIiBzaG91bGQgYmUg aW4gdGhlIGxhc3QgY29sdW1uIG9mIHRoZSB0YWJsZQoKCgoqIHNlY3Rpb24gMTcgImZyb20gc291 cmNlIGFzIGFuIG9yaWdpbiBvZiIgc2hvdWxkIGJlIHR3byBlbnRyaWVzOyAiZnJvbSBzb3VyY2Ui IGFuZCAiYXMgYW4gb3JpZ2luIG9mIiAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgotLS0KCgoK IUNoYXB0ZXIgMTAKCgoKKiBTZWN0aW9uIDQsICJ3aGVuIGJvdGggc3BhdGlhbCBhbmQgdGVtcG9y YWwgdGVuc2UgY21hdm8gYXJlIGdpdmVuIGluIGEgc2luZ2xlIHRlbnNlIGNvbnN0cnVjdCwgdGhl IHRlbXBvcmFsIHRlbnNlIGlzIGV4cHJlc3NlZCBmaXJzdCIgZGlzYWdyZWVzIHdpdGggdGhlIHJ1 bGUgc2ltcGxlLXRlbnNlLW1vZGFsLTk3MiBpbiB0aGUgQk5GIGdyYW1tYXIuCgoKCiogU2VjdGlv biA5LCBleGFtcGxlIDkuOSBvbiBwYWdlIDIyNyBoYXMgImNpcmxpIiBmb3IgImNpcmxhIi4KCioq ICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERB Ry1DTEwnJwoKCgoqIFNlY3Rpb24gMTIsIGV4YW1wbGUgMTIuNiB0cmFuc2xhdGVzIG1vcnNpIGFz ICJkaWUiIHJhdGhlciB0aGFuICJhbSBkZWFkIiBpbiB0aGUgdHJhbnNsYXRpb24gKGFzIG9wcG9z ZWQgdG8gdGhlIGdsb3NzKS4KCgoKKiBTZWN0aW9uIDE2LCBhdCB0aGUgZW5kLCB0aGUgWCBhbmQg WSBpbiB0aGUgMyBmb3JtcyBkb24ndCBmaXQgcHJvcGVybHkgKHRoZSAzcmQgZG9lc24ndCBtYXRj aCB0aGUgZmlyc3QgdHdvKS4gSSByZWNvbW1lbmQsIGNvcHlpbmcgZnJvbSBTZWN0aW9uIDIzICh3 aGVyZSB0aGV5IGFyZSB3cml0dGVuIGFnYWluIGNvcnJlY3RseSk6CgogICAgICAgWCAuaSBURU5T RSBibyBZCgogICAgICAgVEVOU0UgZ2kgWCBnaSBZCgogICAgICAgWSBURU5TRSBsZSBudSBYCgoK CiogU2VjdGlvbiAxNywgZXhhbXBsZSAxNy4xMiBzaG91bGQgbm90IGhhdmUgdGhlIHNlY29uZCAi YmV2cmkiLgoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5D TFVERUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlvbiAxOCwgZXhhbXBsZSAxOC45IGlzIHN1cHBv c2VkIHRvIHNob3cgc2NhbGFyIG5lZ2F0aW9uIG9mIHRlbnNlcyBub3QgbGltaXRlZCB0byBQVSBh bmQgRkFoQSwgYnV0IHRoZSBleGFtcGxlIHRlbnNlIGlzIHJpJ3UgKEZBaEEyKS4KCgoKKiBTZWN0 aW9uIDE5LCBleGFtcGxlIDE5LjEwIHNob3VsZCBoYXZlICJiYSIsIG5vdCAicHUiLCBhbmQgIltm dXR1cmVdIiwgbm90ICJbcGFzdF0iLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3Zl ZCkpCgoKCiogU2VjdGlvbiAyNSwgZXhhbXBsZXMgMjUuMSBhbmQgMjUuMiBoYXZlICcnbHUnYScn IGZvciAnJ2xhJ3UnJy4KCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQp KSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gMjUsIHRoaXMgd2hvbGUgc2Vj dGlvbiBpcyBhdCBvZGRzIHdpdGggdGhlIGZvcm1hbCBncmFtbWFyLiBJdCBzYXlzOiAnJ0l0IGlz IGdyYW1tYXRpY2FsIGZvciBhIHRlcm1zZXQgdG8gYmUgcGxhY2VkIGFmdGVyIGEgdGVuc2Ugb3Ig bW9kYWwgdGFnIHJhdGhlciB0aGFuIGEgc3VtdGknJy4gIEJ1dCB0aGF0IGlzIGluIGZhY3QgaW5j b3JyZWN0LCBpdCBpcyBub3QgZ3JhbW1hdGljYWwgZm9yIGEgdGVybXNldCB0byBiZSB0aGUgYXJn dW1lbnQgb2YgYSB0YWcuCgoqKiBVbmZvcnR1bmF0ZWx5IHRydWUuICBUZXJtc2V0cyBzdWNrIHJv Y2tzLCBhbmQgc29tZSB3b3JrIHdpbGwgaGF2ZSB0byBiZSBkb25lIHRvIG1ha2UgZXZlcnl0aGlu ZyBzYWlkIGFib3V0IHRoZW0gY29uc2lzdGVudCAtLSBpZiBpdCBpcyBldmVuIHBvc3NpYmxlLiAg UGVyc29uYWxseSwgSSdkIGxpa2UgdG8ganVzdCBidXJuIHRoZW0uICAtLWpjb3dhbiAgJycnTk9G SVgnJycKCgoKKiBTZWN0aW9uIDI3OiBNT2hJIHNlZSBTZWN0aW9uIDI4LCBub3QgMjcuICAoKEFw cHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKLS0tCgoKCiFDaGFwdGVyIDExCgoK CiogU2VjdGlvbiA0OiBUaGUgdXNlIG9mIGthIGluIEV4YW1wbGUgNC40IChwYWdlIDI1OSkgaXMg ZXJyb25lb3VzOyBpdCBzaG91bGQgYmUgZHUndS4gLS0oKEpvaG4gQ293YW4pKSAoKEFwcHJvdmVk IEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBMYXN0IHBhcmFncmFwaCBvZiBzZWN0aW9u IDcgcmVmZXJlbmNlcyBjaGFwdGVyIDUgZm9yIGEgZGlzY3Vzc2lvbiBvZiAibHUnZSIuICBsdSdl IGlzbid0IG1lbnRpb25lZCBpbiBjaGFwdGVyIDUuICBQcm9iYWJseSBjaGFwdGVyIDYgaXMgbWVh bnQgaGVyZS4KCioqIFllcywgc2hvdWxkIGJlIFNlY3Rpb24gNS4xMC4gICAgKChBcHByb3ZlZCBF cnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogU2VjdGlvbiA5LCBwYWdlIDI2NiBoYXMgInNh bydyZHppZmEnYSIgaW5zdGVhZCBvZiAic2Enb3JkemlmYSdhIi4KCioqICgoQXBwcm92ZWQgRXJy YXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFRo ZSBzYW1lIGV4YW1wbGUgKDkuNikgYWxzbyBoYXMga3VjdHJhIGluc3RlYWQgb2Yga3VjdGFpCgoq KiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBE QUctQ0xMJycKCgoKKiBUaGUgYm9vayB0aXRsZSBpbiBleGFtcGxlIDkuNiBzZWVtcyB0byBiZSBp bmNvcnJlY3Q6ICJUaGUgQ3J1Y2lmaXhpb24gb2YgSmVzdXMgQ29uc2lkZXJlZCBBcyBBIERvd25o aWxsIEJpY3ljbGUgUmFjZSIgaXMgYWN0dWFsbHkgIltodHRwOi8vd3d3LmV2ZXJncmVlbnJldmll dy5jb20vMTAyL2ZpY3Rpb24vZHVvLmh0bWx8VGhlIENydWNpZml4aW9uIENvbnNpZGVyZWQgQXMg QW4gVXBoaWxsIEJpY3ljbGUgUmFjZV0uIgoKKiogVW5hcHByb3ZlZAoKCgoqIFNlY3Rpb24gMTA6 IFBhcmFncmFwaCBhYm92ZSBleGFtcGxlIDEwLjcgcmVmZXJlbmNlcyAiQ2hhcHRlciAxMSIuIFRo YXQgc2hvdWxkIHJlYWQgIkNoYXB0ZXIgMTAiLgoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1 c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlvbiAxMTog RXhhbXBsZSAxMS41IGlzIHtzdSdvZGEgcG9pIHZlcmJhIGN1IGtsYW1hIHJvZGUgcG9pIGNrdWxl IG5ha3V9LiBJdCBzaG91bGQgYmUge3N1J29kYSBwb2kgdmVyYmEgY3Uga2xhbWEgcm9kZSBwb2kg Y2t1bGUga3UnbyBuYWt1fSBvciBhbiBlcXVpdmFsZW50OyBhcyBpdCBzdGFuZHMgdGhlIG5ha3Ug aXMgdW5kZXNpcmFibHkgaW4gdGhlIHJlbGF0aXZlIGNsYXVzZS4KCgoKKiBTZWN0aW9uIDEyLCBw YWdlIDI2OSBoYXMgZXhhbXBsZXMgMTMuMSBhbmQgMTMuMiwgdGhvc2Ugc2hvdWxkIGJlIGNhbGxl ZCAxMi4xIGFuZCAxMi4yLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoK Ci0tLQoKCgohQ2hhcHRlciAxMgoKCgoqIFNlY3Rpb24gMiwgcGFnZSAyNzUuIFRoZSBwYXJhZ3Jh cGggdW5kZXIgRXhhbXBsZSAyLjMgcmVmZXJzIHRvIGl0IGFzIEV4YW1wbGUgMi40ICgyLjQgZG9l c24ndCBldmVuIGV4aXN0KS4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoK CgoqIFNlY3Rpb24gNSwgcmlnaHQgYWZ0ZXIgZXhhbXBsZSA1LjcuIEl0IHNheXMgImEiIGluc3Rl YWQgb2YgImFuIi4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIFNl Y3Rpb24gNiwgcGFnZSAyODAuIEV4YW1wbGUgNi42IHNob3VsZCBoYXZlIGEgc3BhY2UgYmV0d2Vl biAibGEgc3BhdC4iIGFuZCAibm9pIi4KCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMg QXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gNywgcGFnZSAy ODIuIEV4YW1wbGUgNy41IGhhcyAiYmFuc29pIiBpbnN0ZWFkIG9mICJiYWxzb2kiLgoKKiogKChB cHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNM TCcnCgoKCiogU2VjdGlvbiAxMSwgcGFnZSAyODUgaGFzICJ4YXNjYWtjdXJudSIgaW5zdGVhZCBv ZiAieGFzeWNha2N1cm51Ii4KCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92 ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gMTIgcmVmZXJzIHRvICJu dW5rbGFtYSIgYXMgdGhlIHNhbWUgbHVqdm8gYXMgIm51bmtsYSIuICBFdmVuIGlmIHRoZXNlIGFy ZSBlcXVpdmFsZW50IGFsdGVybmF0aXZlcyBpdCB3b3VsZCBiZSBsZXNzIGNvbmZ1c2luZyB0byBi ZSBjb25zaXN0ZW50LgoKCgoqIFNlY3Rpb24gMTIgY2xhaW1zIHRoYXQgLWpheC0gaXMgYSByYWZz aSBmb3Ige2phaX0sIGJ1dCBpdCBpc24ndCBpbiBbaHR0cDovL3d3dy5sb2piYW4ub3JnL3B1Ymxp Y2F0aW9ucy93b3JkbGlzdHMvcmFmc2kudHh0fGh0dHA6Ly93d3cubG9qYmFuLm9yZy9wdWJsaWNh dGlvbnMvd29yZGxpc3RzL3JhZnNpLnR4dF0uIERvZXMge2phaX0gaGF2ZSBhIHJhZnNpIG9yIG5v dD8KCioqIEl0IHNob3VsZCwgYnV0IHNvbWVob3cgaXQgbmV2ZXIgZ290IGludG8gdGhlIGdpc211 IGxpc3QsIGFuZCBjb25zZXF1ZW50bHkgbm90IGludG8gdGhlIHJhZnNpIGxpc3QgZWl0aGVyLiAg U3RldCwgYW5kIHdlJ2xsIGFkZCBpdCB0byB0aGUgZ2lzbXUgbGlzdC4gIC0tamNvd2FuCgoKCiog U2VjdGlvbiAxMiwgcmlnaHQgYXQgdGhlIGVuZCwgc2F5cyB0aGF0IHtmYWl9IGlzIGV4cGxhaW5l ZCBpbiBDaGFwdGVyIDExLCBidXQgQ2hhcHRlciAxMSBtYWtlcyBubyBtZW50aW9uIG9mIHtmYWl9 LiBPbmx5IGNoYXB0ZXJzIDkgYW5kIDEwIGRvLgoKKiogJydJTkNMVURFRCBJTiBEQUctQ0xMJycg KHpvcnQncyBmb3JrIGF0IGxlYXN0KSAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3Zl ZCkpCgoKCiogU2VjdGlvbiAxNCwgZXhhbXBsZSAxNC4yLiBNaXNzaW5nIDwgL3ByZSA+IHRhZywg YW5kIG1pc3NpbmcgPCBwcmU+IHRhZyBmb2xsb3dpbmcgZXhwbGFuYXRvcnkgcGFyYWdyYXBoLgoK CgoqIFNlY3Rpb24gMTQsIHBhZ2UgMjkxLiBUaGUgcGFyYWdyYXBoIHVuZGVyIGV4YW1wbGUgMTQu NyBzYXlzICJzZSB4YW5jZSBtaW5kdSIgaW5zdGVhZCBvZiAic2UgeGFuY2UgbWluZGUiLgoKKiog KChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFH LUNMTCcnCgoKCiogU2VjdGlvbiAxNSwgdHdvIHBhcmFncmFwaHMgYmVmb3JlIGV4YW1wbGUgMTUu Ny4gSXQgc2F5cyAiVGhlcmUgYXJlIHNvbWUgY29tcGFyYXRpdmUgY29uY2VwdHMgd2hpY2ggYXJl IGluIHdoaWNoIHRoZSAnc2Ugem1hZHUnIGlzIGRpZmZpY3VsdCB0byBzcGVjaWZ5LiIgVGhlICJ3 aGljaCBhcmUgaW4gd2hpY2giIHNlZW1zIGdyYW1tYXRpY2FsbHkgaW5jb3JyZWN0LgoKKiogRHJv cCAid2hpY2ggYXJlIi4gIC0tamNvd2FuICAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHBy b3ZlZCkpCgoKCiogU2VjdGlvbiAxNSwgZXhhbXBsZSAxNS4xLCB0aGUgeDQgb2Yge3ptYWR1fSBh bmQge21sZWNhfSBzaG91bGQgYmUgImJ5IGFtb3VudCIgb3IgImJ5IHF1YW50aXR5Iiwgbm90ICJp biBxdWFudGl0eSIuCgoKCiogU2VjdGlvbiAxNSwgcGFnZSAyOTQsIGV4YW1wbGUgMTUuMTQuICJs YSBhaW5jdGFpbiIgbmVlZHMgYSBwZXJpb2QgYmVmb3JlIGl0IGJlY2F1c2UgaXQgc3RhcnRzIHdp dGggYSB2b3dlbC4KCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAn J0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgotLS0KCgoKIUNoYXB0ZXIgMTMKCgoKKiBNYW55IGlu Y2lkZW50cyBvZiBub3QgaGF2aW5nIHBlcmlvZHMgaW4gZnJvbnQgb2Ygdm93ZWwtaW5pdGlhbCBj bWF2by4KCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xV REVEIElOIERBRy1DTEwnJwoKCgoqIEluIHNlY3Rpb24gMiwgcC4gMzAwIHJlZmVyZW5jZXMgdG8g dGhlIGV4YW1wbGVzIGZvciAudWUgYW5kIC51ZWN1J2kgYXJlIGZsaXBwZWQuICAoKEFwcHJvdmVk IEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBTZWN0aW9uIDMsIHBhZ2UgMzAzLCBleGFt cGxlIDMuOS4gImUnZSIgbmVlZHMgYSBwZXJpb2QgYmVmb3JlIGl0LgoKKiogKChBcHByb3ZlZCBF cnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiog U2VjdGlvbiAzLCBwYWdlIDMwMywgZXhhbXBsZSAzLjEwLiAidGlzbmEiIG5lZWRzIHRvIGJlIHJl cGxhY2VkIHdpdGggInRpc3lnYXUiLgoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBB cHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlvbiA0LCBwYWdlIDMw NS4gVGhlIHNjYWxlIHdpdGggdGhlIGdpc211IG1uZW1vbmljcyBpcyBtaXNhbGlnbmVkIHdpdGgg dGhlIHNjYWxlIHdpdGggdGhlIG1lbWJlcnMgb2Ygc2VsbWEnbyBDQUkuICJzYWkiIHNob3VsZCBi ZSB0YWJiZWQgb25lIHBsYWNlIGxlZnQsIHNvIHRoYXQgaXQgYWxpZ25zIHdpdGggdHNhbGksICZj LgoKCgoqIFNlY3Rpb24gNywgaXQgc2F5cyAiSXQgaXMgbm90IGNsZWFyIGhvdyBtdWNoIHVzZSBs b2dpY2FsbHkgY29ubmVjdGVkIGFic3RyYWN0b3JzIHdpbGwgYmU6IHNlZSBDaGFwdGVyIDEzLiIg SXQgc2hvdWxkIGJlICJDaGFwdGVyIDE1LiIKCioqICcnSU5DTFVERUQgSU4gREFHLUNMTCcnICh6 b3J0J3MgZm9yayBhdCBsZWFzdCkgYnV0IG5lZWRzIGFwcHJvdmFsCgoqIFNlY3Rpb24gMTAsIHBh Z2UgMzEzLiBUaGVyZSBpcyBhIG1pc3Npbmcgc3BhY2UgYmV0d2VlbiAiY29udGludWUgZW1vdGlv biIgYW5kICJlbmQgZW1vdGlvbiIuCgoKCiogU2VjdGlvbiAxNS4gQSBzYW1wbGUgZGlhbG9ndWUg IDE1LjQpIC8gfm5wfltDb21tZW50XSBQYW0gc2F5cywgW1BsZWFzZV0gQWxpY2UsIFtlbmQtb2Yt Y29tbWVudF0gLyBbQ29tbWVudF0gUGFtIHNheXMsIFtlbmQtb2YtY29tbWVudF0gW1BsZWFzZV0g QWxpY2UsL34vbnB+ICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKKiogKChB cHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNM TCcnCgoKCiogU2VjdGlvbiAxNSwgZXhhbXBsZSAxNS41IC94YW1ndS9nbGVraS8gPwoKKiogKChB cHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNM TCcnCgoKCiogU2VjdGlvbiAxNSwgZXhhbXBsZSAxNS4xMCkgL2ZpJ2kgcm8genZhdGkga28gcGlu eGUgcGEgY2thZmkvZmknaSBybyB6dmF0aSAuaSBrbyBwaW54ZSBwYSBja2FmaS8KCioqIE5vLCB0 aGlzIG9uZSBpcyBwZXJmZWN0bHkgZmluZTogImZpJ2kgcm8genZhdGkiIGlzIGEgdm9jYXRpdmUg cGhyYXNlLCB3aGljaCBpcyBhIGZyZWUgbW9kaWZpZXIsIG1lYW5pbmcgdGhhdCBpdCBjYW4gb2Nj dXIgYWxtb3N0IGFueXdoZXJlLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkp CgoKCiogU2VjdGlvbiAxNSwgZXhhbXBsZSAxNS4xMykgL2ZpJ28gc2VscGxlamkgbWkvZmknbyBw bGVqaSBtaS8KCioqIEFuZCAid2l0aCBwYXllciIgcmF0aGVyIHRoYW4gIndpdGggcGF5bWVudCI7 IGV5J3Mgbm90IHBheWluZyB3aXRoIGVtc2VsZiEgLS0gY2FtZ3VzbWlzCgoqKiAoKEFwcHJvdmVk IEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoK KiBTZWN0aW9uIDE1LCBleGFtcGxlIDE1LjEzLiBXcm9uZyB1c2Ugb2Yge3NlbGZ1fS4ge2JldnJp fSB3b3VsZCBmaXQgYmV0dGVyLgoKLS0tCgoKCiFDaGFwdGVyIDE0CgoKCiogU2VjdGlvbiA4LCBy aWdodCBiZWZvcmUgZXhhbXBsZSA4LjkgaXMgInByb2R1Y2luZyBleGFtcGxlIDguMTAiIHdoaWNo IHNob3VsZCBpbiBmYWN0IHJlYWQgInByb2R1Y2luZyBleGFtcGxlIDguOSIuICAoKEFwcHJvdmVk IEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBTZWN0aW9uIDk6IGJldHdlZW4gZXhhbXBs ZSA5LjEwIGFuZCA5LjExLCAiaWRlbnRpZmllZCIgc2hvdWxkIHJlYWQgImlkZW50aWNhbCIKCioq ICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERB Ry1DTEwnJwoKCgoqIFNlY3Rpb24gMTEsIHJpZ2h0IGJlZm9yZSBzZWN0aW9uIDEyLiBJdCBzYXlz ICJ0ZXJtc2V0cy4uLmFyZSBleHBsYWluZWQgaW4gQ2hhcHRlciAxMiBhbmQgQ2hhcHRlciAxNiIg YnV0IGNoYXB0ZXIgMTIgKHdoaWNoIGlzIG9uIGx1anZvKSBtYWtlcyBhYnNvbHV0ZWx5IG5vIG1l bnRpb24gb2YgdGVybXNldHMuIENoYXB0ZXJzIDkgYW5kIDEwIGRpc2N1c3MgdGVybXNldHMuICAo KEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBTZWN0aW9uIDE0LCBleGFt cGxlIDE0LjE1IGlzIG5vdCBncmFtbWF0aWNhbCAoYWNjb3JkaW5nIHRvIGpib2ZpJ2UgYW5kIGNh bXhlcykgYmVjYXVzZSBpdCBzYXlzICJwZSdlIC5lIiB3aGVuIGl0IHNob3VsZCBzYXkgInBlJ2Ug amUiLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogU2VjdGlvbiAx NCwgZXhhbXBsZSAxNC4xNiBtZW50aW9ucyAic29ybWUiLCB3aGljaCBpcyBwcm9iYWJseSBPbGQg TG9nbGFuLCBhbmQgc2hvdWxkIGJlIHJlcGxhY2VkIGJ5ICJtZW5zaSIuCgoqKiAoKEFwcHJvdmVk IEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCgoK KiBTZWN0aW9uIDE0LCAidGhlIHN0YXRlZCBnbG9zcyBvZiBURlRUYXMg4oCcb25seSBpZuKAnSB3 b3JrcyBuYXR1cmFsbHkgb25seSB3aGVuIHRoZSByaWdodC1oYW5kIGJyaWRpIGlzIHRydWU7IGlm IGl0IGlzIGZhbHNlLCB0aGUgbGVmdC1oYW5kIGJyaWRpIG1heSBiZSBlaXRoZXIgdHJ1ZSBvciBm YWxzZS4iIGNoYW5nZWQgdG8gInRoZSBzdGF0ZWQgZ2xvc3Mgb2YgVEZUVGFzIOKAnG9ubHkgaWbi gJ0gd29ya3MgbmF0dXJhbGx5IG9ubHkgd2hlbiB0aGUgcmlnaHQtaGFuZCBicmlkaSBpcyBmYWxz ZTsgaWYgaXQgaXMgdHJ1ZSwgdGhlIGxlZnQtaGFuZCBicmlkaSBtYXkgYmUgZWl0aGVyIHRydWUg b3IgZmFsc2UuIgoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcn SU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlvbiAxNSwgcmlnaHQgYWZ0ZXIgMTUuOSwg aXQgc2F5cyAiZXhhbXBsZSAxNC4xNyIgd2hlcmUgaXQgc2hvdWxkIHNheSAiZXhhbXBsZSAxNS45 IiAoMTQuMTcgZG9lcyBub3QgZXhpc3QpLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHBy b3ZlZCkpCgoKCiogU2VjdGlvbiAxNSwgZXhhbXBsZSAxNS44IGlzIG1pc3NpbmcgYSBkb3QgYWZ0 ZXIgImxhIGxvamJhbiIuCgoKCiogU2VjdGlvbiAxNSwgZXhhbXBsZSAxNS45IGlzIG5vdCBncmFt bWF0aWNhbDsgaXQgc2hvdWxkIGJlICJsYSBkamFuLiBmYSd1IGxhIGZyYW5rLiBjdXNrdSBudSdp IGJhdSBsYSBsb2piYW4uIHBlJ2UgZmEndSBiYWkgbGEgZGpvcmRqLiIuCgoKCiogU2VjdGlvbiAx NywgZXhhbXBsZSAxNy40IGlzIHdyb25nLiAgVGhlIHNlY3Rpb24gZXhwbGFpbnMgdGhhdCBtZWtz byBvcGVyYXRvcnMgY2FuIGJlIGxvZ2ljYWxseSBjb25uZWN0ZWQgdXNpbmcge2d1J2UgLi4uIGdp IC4uLn0sIGJ1dCB0aGlzIGV4YW1wbGUgdHJpZXMgdG8gY29ubmVjdCB0aGVtIHdpdGgge2dlIC4u LiBnaSAuLi59LiAgUmVwbGFjZSB7Z2V9IHdpdGgge2d1J2V9IGluIHRoZSBleGFtcGxlIHRvIGNv cnJlY3QgaXQuCgoKCiogU2VjdGlvbiAxOSwgZXhhbXBsZSAxOS40IGlzIHRyYW5zbGF0ZWQgYXMg Ikkgb3BpbmUgdGhlIGZhY3QtdGhhdCBhLW1hc3Mtb2YgbGl2aW5nLXRoaW5ncyBpcy1hdCBKdXBp dGVyIG9yLWVsc2UgSSBvcGluZSB0aGUgZmFjdC10aGF0IGEtbWFzcy1vZiBsaXZpbmctdGhpbmdz IGlzbid0LWF0IEp1cGl0ZXIiIGJ1dCByZWFsbHkgaXQncyAiSSBvcGluZSB0aGUgZmFjdC10aGF0 IGEtbWFzcy1vZiBsaXZpbmctdGhpbmdzIGlzLWF0IEp1cGl0ZXIgb3ItZWxzZSBJIF9fZG8tbm90 X18gb3BpbmUgdGhlIGZhY3QtdGhhdCBhLW1hc3Mtb2YgbGl2aW5nLXRoaW5ncyBfX2lzLWF0X18g SnVwaXRlciIuIFNvIDE5LjQgaXMgYWN0dWFsbHkgdHJ1ZSwgbm90IGZhbHNlIGFzIGl0IGlzIGNs YWltZWQgdG8gYmUuCgoqKiBDb3JyZWN0LCBzbyB0aGlzIGV4YW1wbGUgd2lsbCBuZWVkIHJlcGxh Y2luZy4gICAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogQWxzbyB0 aGVyZSBpc24ndCByZWFsbHkgYSByZWFzb24gZm9yIGl0IHRvIHNheSBhIG1hc3Mgb2YgbGl2aW5n IHRoaW5ncyBhbmQgbm90IHNvbWUgaW5kaXZpZHVhbCBsaXZpbmcgdGhpbmdzLgoKKiogU3RldC4g IFRoZSBhdXRob3IgcHJlZmVycyBpdCB0aGF0IHdheSwgdGhhbmt5b3V2ZXJ5bXVjaC4gIC0tamNv d2FuLgoKCgoKCi0tLQoKCgohIENoYXB0ZXIgMTUKCgoKKiBTZWN0aW9uIDIsIG1pc3NpbmcgPCAv cHJlID4gdGFnIGFmdGVyIGV4YW1wbGUgMi44IGFuZCA8IHByZT4gdGFnIGJlZm9yZSBleGFtcGxl IDIuOS4KCgoKKiBTZWN0aW9uIDQsIGV4YW1wbGUgNC4xMiAvbmFrZS9uYSdla2UvCgoKCiogU2Vj dGlvbiA5LCB0d28gcGFyYWdyYXBocyBhYm92ZSBleGFtcGxlIDkuNCB0aGUgd29yZCAibmVnYXRp diIgc2hvdWxkIGJlICJuZWdhdGl2ZSIuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJv dmVkKSkKCgoKKiBTZWN0aW9uIDk6IElzIHRoZXJlIHN1cHBvc2VkIHRvIGJlIGFueSBkaWZmZXJl bmNlIGJldHdlZW4gZXguIDkuNSBhbmQgOS42PwoKKiogVGhhdCBwcm9ibGVtIGlzIG9ubHkgaW4g dGhlIG9ubGluZSB2ZXJzaW9uLgoKCgoqIFNlY3Rpb24gMTAsIHRocmVlIHBhcmFncmFwaHMgYWZ0 ZXIgZXhhbXBsZSAxMC4xNCwgdGhlcmUncyBhIHNlbWljb2xvbiB3aGljaCBzaG91bGQgYmUgYSBj b21tYSBhZnRlciAiKHNheSwgYSBzcGVsbGluZyBlcnJvcikiLiAgKChBcHByb3ZlZCBFcnJhdHVt fGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogU2VjdGlvbiAxMCwgaXQgc2F5cyAiJ2ppJ3VuYSdpa3Un IG1ldGFsaW5ndWlzdGljYWxseSBzYXlzIHRoYXQgc29tZXRoaW5nIGlzIHdyb25nIHdpdGggdGhh dCBhc3N1bXB0aW9uLiAoU2VlIENoYXB0ZXIgMTAuKSIuIFNob3VsZG4ndCB0aGF0IGJlIENoYXB0 ZXIgOSwgbW9kYWxzPwoKKiogJydJTkNMVURFRCBJTiBEQUctQ0xMJycgKHpvcnQncyBmb3JrIGF0 IGxlYXN0KSAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCi0tLQoKCgohQ2hh cHRlciAxNgoKCgoqIFNlY3Rpb24gNSwgZXhhbXBsZSA1LjU6IEVuZ2xpc2ggaGFzICJldmVyeSBZ IiB3aGVuIGl0IHNob3VsZCByZWFkICJldmVyeSBYIgoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNh bWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoKCiogU2VjdGlvbiA2 LCBleGFtcGxlIDYuNiBoYXMgYSBtaXNzaW5nICJjdSIgYmVmb3JlICJ2aXNrYSIuCgoqKiAoKEFw cHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUctQ0xM JycKCgoKKiBTZWN0aW9uIDgsIHRoZSBleHBsYW5hdGlvbiBvZiBleGFtcGxlIDguMyBzYXlzICJh bnkgZW50aXR5IHdoaWNoIGlzIG9uZSBpcyBhbHNvIHRoZSBvdGhlciIuIFRoYXQgd291bGQgYmUg dHJ1ZSBpZiB0aGUgZXhhbXBsZSB1c2VkIHtnb30sIGJ1dCBpdCB1c2VzIHtnYW5haX0uIDguMyBk b2VzIG5vdCBjbGFpbSB0aGF0IGlmIHNvbWV0aGluZyB3YWxrcyBhY3Jvc3MgdGhlIGZpZWxkIHRo ZW4gaXQgZ29lcyB0byB0aGUgc3RvcmUuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJv dmVkKSkgIENoYW5nZSBpdCB0byB1c2Uge2dvfS4gJydJTkNMVURFRCBJTiBEQUctQ0xMJycKCioq IFNhbWUgcGxhY2U6IG5lZWRzIHRvIGJvIHtkYSBnb30sIG5vdCB7Z28gZGF9ICBBbmQgdGhlIGds b3NzIHNob3VsZCBiZSAiRm9yLWV2ZXJ5IFg6IFggaXMtYS1nb2VyLXRvIHRoZSBzdG9yZSBpZi1h bmQtb25seS1pZiBpdCBpcy1hLXdhbGtlci1vbiB0aGUgZmllbGQuIiAnJ0lOQ0xVREVEIElOIERB Ry1DTEwnJwoKCgoqIFNlY3Rpb24gOCwgZXhhbXBsZSA4LjMuIEVpdGhlciB0aGUge2RhfSBzaG91 bGQgY29tZSBiZWZvcmUgdGhlIHtnYW5haX0gKG9yLCBieSB0aGUgcHJldmlvdXMgXiBlcnJhdHVt LCB7Z299KSBhbmQgdGhlIGdsb3NzIHNob3VsZCBiZSBjaGFuZ2VkIHRvIG9ubHkgbWVudGlvbiAi WCIgb25jZSwgb3IgYSB7ZGF9IHNob3VsZCBiZSBpbnNlcnRlZCBiZWZvcmUge2NhZHp1fS4KCioq ICcnSU5DTFVERUQgSU4gREFHLUNMTCcnICBjaG9zZSBmaXJzdCBvcHRpb24gc2luY2UgaXQncyB0 ZXJzZXIgKHpvcnQncyBmb3JrIGF0IGxlYXN0KSBidXQgbmVlZHMgYXBwcm92YWwKCgoKKiBUaGlz OiAiQWRqYWNlbnQgbmVnYXRpb24gYm91bmRhcmllcyBpbiB0aGUgcHJlbmV4IGNhbiBiZSBkcm9w cGVkLCIgcmVhZHMgYmV0dGVyIGFzICJBZGphY2VudCBwYWlycyBvZiBuZWdhdGlvbiBib3VuZGFy aWVzIGluIHRoZSBwcmVuZXggY2FuIGJlIGRyb3BwZWQsIgoKKiogKChBcHByb3ZlZCBFcnJhdHVt fGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoqKiogVGhlIG9u bGluZSB2ZXJzaW9uIHNheXMgIkFkamFjZW50IGRvdWJsZSBuZWdhdGlvbiBib3VuZGFyaWVzIiwg YnV0IEknbSBva2F5IHdpdGggZWl0aGVyICJkb3VibGUiIG9yICJwYWlycyBvZiIuICAtLWpjb3dh bgoKCgoqIFNlY3Rpb24gMTAsIGV4LiAxMC41IGFuZCAxMC42IGhhdmUgYSBwcmVuZXgsICJuYWt1 IHpvJ3UiLCBhZnRlciBhbiBpamVrLiBUaGlzIGlzIG5vdCBhbGxvd2VkIGJ5IHRoZSBncmFtbWFy LiBJdCBjb3VsZCBiZSBmaXhlZCBieSByZW1vdmluZyB0aGUgInpvJ3UiIGFuZCB1c2luZyAibmFr dSIgb3V0c2lkZSB0aGUgcHJlbmV4LCBhbHRob3VnaCB0aGlzIGlzIG9ubHkgZXhwbGFpbmVkIGlu IHRoZSBmb2xsb3dpbmcgU2VjdGlvbiAxMS4KCioqIFRoaXMgaXMgYSBiaWcgcHJvYmxlbSwgYW5k IEknbSBub3Qgc3VyZSB3aGF0IHNob3VsZCBiZSBmaXhlZC4gIC0tamNvd2FuICAnJydOT0ZJWCcn JwoKKiBTZWN0aW9uIDEyLCBleC4gMTIuNyBhbmQgMTIuOSBoYXZlIG1pc3NpbmcgImN1InMuCgoq KiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBE QUctQ0xMJycKCgoKKiBTZWN0aW9uIDE0LCBFeGFtcGxlIDE0LjEgaGFzICJibGFjaSIgKGdsYXNz KSBub3QgImJsYWJpIiAod2hpdGUpIGFzIHBlciB0aGUgRW5nbGlzaC4KCioqICgoQXBwcm92ZWQg RXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgot LS0KCgoKIUNoYXB0ZXIgMTcKCgoKKiBTZWN0aW9uIDUsIGFmdGVyIGV4YW1wbGUgNS4xLCBwYXJh Z3JhcGggc3RhcnRpbmcgIkhvd2V2ZXIsICIgaGFzIGluY29ycmVjdCBmb250LiAgKChBcHByb3Zl ZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogU2VjdGlvbiA1LCBpbiB0aGUgc2Vjb25k IHBhcmFncmFwaCBhZnRlciBleGFtcGxlIDUuMSwgc2F5cyAndGhlIGxlcmZ1IHdvcmQg4oCcdHni gJ0gd291bGQgcmVwcmVzZW50IG5vdCBMYXRpbiDigJx04oCdIGJ1dCBHcmVlayDigJx0YXXigJ0u JyBTaG91bGRuJ3QgaXQgYmUgInR5LiI/CgoKCiogU2VjdGlvbiA5LCBwYWdlIDQyMS4gbGVyZnUg c3RyaW5ncyBhcmUgd3JpdHRlbiB3aXRob3V0IHBhdXNlcyBvciBzcGFjZXMsIGV2ZW4gdGhvdWdo IEJZIHdvcmRzIGhhdmUgdG8gZW5kIHdpdGggYSBjb25zb25hbnQuCgoqKiBTdGV0LiAgQlkgd29y ZHMgZG8gbm90IGVuZCB3aXRoIGEgY29uc29uYW50LCBhbmQgYSBzdHJpbmcgb2YgdGhlbSBjYW4g bmV2ZXIgYmUgYW1iaWd1b3VzLCBzbyBwYXVzZXMvc3BhY2VzIGFyZSBub3QgcmVxdWlyZWQuICAt LWpjb3dhbgoKCgoqIFNlY3Rpb24gOSwgRXhhbXBsZSA5LjQ6IHNob3VsZG4ndCAic3lteWp5IiBi ZSAic3lteWR5IiAobG9qYmFuIG1vcnBob2xvZ3kpPyAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dh biBBcHByb3ZlZCkpCgoKCiogU2VjdGlvbiAxMC4gQWZ0ZXIgRXhhbXBsZSAxMC40LjUsIHRoZSBy ZWZlcmVuY2UgdG8gRXhhbXBsZSAxMC40IHNob3VsZCBiZSBpbnN0ZWFkIHRvIEV4YW1wbGUgMTAu NC41LgoKKipJbiB0aGUgY3VycmVudCBEQUctQ0xMLCB0aGUgZXhhbXBsZXMgbnVtYmVyaW5nIGlz IHNhbmUsIGJ1dCBhZnRlciBFeGFtcGxlIDEwLjMsIHRoZSB0d28gcmVmZXJlbmNlcyB0byBFeGFt cGxlIDEwLjQgc2hvdWxkIGJlIHRvIEV4YW1wbGUgMTAuMy4KCgoKKiBSaWdodCBiZWZvcmUgc2Vj dGlvbiAxMiwgdGhlcmUgaXMgYSBsaW5lIGJyZWFrIGluIHRoZSBtaWRkbGUgb2YgdGhlIHBhcmFn cmFwaC4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIEluIHNlY3Rp b24gMTMsIHRoZSBmaXJzdCBwYXJhZ3JhcGggc3RhdGVzICJIaXN0b3JpY2FsbHksIHRoZXNlIGNo YXJhY3RlciBzZXRzIGhhdmUgb25seSBjb3ZlcmVkIHRoZSBFbmdsaXNoIGFscGhhYmV0IGFuZCBh IGZldyBzZWxlY3RlZCBwdW5jdHVhdGlvbiBtYXJrcy4iLCB3aGljaCBpcyBpbmNvcnJlY3QuIFRo ZXJlIGhhdmUgYmVlbiBtdWx0aXR1ZGVzIG9mIGNoYXJhY3RlciBzZXRzIGZvciB3cml0aW5nIHN5 c3RlbXMgb3RoZXIgdGhhbiB0aGUgRW5nbGlzaCBhbHBoYWJldC4KCioqIENoYW5nZSB0byBzb21l dGhpbmcgYWxvbmcgdGhlIGxpbmUgb2YgIkhpc3RvcmljYWxseSwgZWFjaCBvZiB0aGVzZSBjaGFy YWN0ZXIgc2V0cyBoYXMgb25seSBjb3ZlcmVkIGEgcGFydGljdWxhciB3cml0aW5nIHN5c3RlbS4i CgoKCiogU2VjdGlvbiAxNywgcGFnZSA0MjcuICIudHZyaXlkb3MuIGJ1IiBiZWdpbnMgd2l0aCB0 aGUgY29uc29uYW50IGNsdXN0ZXIsIHdoaWNoIGlzbid0IGV2ZW4gcGVybWlzc2libGUgbWVkaWFs bHkuCgoqKiBjaGFuZ2UgdG8gdHl2cml5ZG9zCgoqKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1 c21pcyBBcHByb3ZlZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnCgoqKioqIEFjdHVhbGx5LCBp dCBzaG91bGQgYmUgInR5dnJkb3MuIGJ1IiAgLS1qY293YW4KCgoKKiBJbiB0aGUgdGFibGUgaW4g c2VjdGlvbiAxOSwgdGhlIGxlcnZsYSBmb3Igb3Zlci1kb3QgKCIuZ2FybW9jLiBidSIpIGFuZCBv dmVyLXJpbmcgKCIuZ2FyamluLiBidSIpIHNob3VsZCBiZSB1cGRhdGVkIHRvIHRoZWlyIHBvc3Qt UmVhbGxvY2F0aW9uIGZvcm1zLCAiLmdhcG1vYy4gYnUiIGFuZCAiLmdhcHlqaW4uIGJ1Ii4KCioq KiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBE QUctQ0xMJycKCgoKKiBTZWN0aW9uIDE5IGhhcyB0d28gY29sdW1ucyBydW4gdG9nZXRoZXIgaW4g dGhlIHJvdyB0aGF0IHNheXMgIkRhbmlzaC9MYXRpbiBhZXRlaSAuYWJ1IC5lYnUgZm9pIgoKCgot LS0KCiFDaGFwdGVyIDE4CgoKCiogU2VjdGlvbiAzLCBleC4gMy4xMCwgc2hvdWxkIHRyYW5zbGF0 ZSBhcyAiLjEwMTIwMDEiLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoK CiogSW4gc2VjdGlvbiA0IGV4YW1wbGUgNC41IGlzIGxpbmtlZCBpbnN0ZWFkIG9mIDQuNyAtICJF eGFtcGxlIDQuNSBpcyBub3QgYGAxIG1pbnVzIDInJywgWy4uLnwuLi5dIiB3aGVyZSBleGFtcGxl IDQuNSBpcyBqdXN0ICJ0ZSdvIi4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQp KQoKCgoqIFNlY3Rpb24gNSwgcDQzNyBleDUuOSBbZ2xvc3NdOiBvdXIgLT4gZm91ciAoKEFwcHJv dmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCioqICcnSU5DTFVERUQgSU4gREFHLUNMTCcn CgoKCiogU2VjdGlvbiA2LCBwNDM4OiBqIHZ1J3UgLT4gdnUndSAgKChBcHByb3ZlZCBFcnJhdHVt fGpjb3dhbiBBcHByb3ZlZCkpCgoqKiAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFN0YXJ0 IG9mIHNlY3Rpb24gMTEgc2hvdWxkIHJlYWQgdGhlcmUgYXJlIGZpdmUgbWVtYmVycyBvZiBNT0kg KG5vdCBmb3VyKS4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4gQXBwcm92ZWQpKQoKCgoqIElu IHNlY3Rpb24gMTEsIGV4IDExLjEwIG9uIHZhJ2UgInNvZmkndXBhbm8iIGluIHRoZSBleGFtcGxl IGlzIGdsb3NzZWQgYXMgIjgvMTAiIGluc3RlYWQgb2YgIjkvMTAiLiAgKChBcHByb3ZlZCBFcnJh dHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoqKiAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIElu IHNlY3Rpb24gMTEsICJsZWkgcmF0Y3UgcG9pIHp2YXRpIGxlIHBhbmthIGN1IHNvJ3VtZWkgZm8g bG8naSByYXRjdSIsIGJ1dCB0aGVyZSBpcyBubyA0dGggcGxhY2Ugb2YgbWVpLgoKKiogUmVtb3Zl IHRoZSAiZm8iOyAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkgJydJTkNMVURF RCBJTiBEQUctQ0xMJycKCgoKKiBFeGFtcGxlIDE0LjQgbmVlZHMgYSBzdWItMiBhZnRlciBib3Ro IG51bWJlcnMuCgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJ TkNMVURFRCBJTiBEQUctQ0xMJycKCgoKKiBJbiBzZWN0aW9uIDE3LCBleGFtcGxlIDE3LjUsIHtn aX0gc2hvdWxkIGJlIHJlcGxhY2VkIGJ5IHtndSdlfSwgYmVjYXVzZSBtZWtzbyBvcGVyYXRvcnMg YXJlIHRvIGJlIGNvbm5lY3RlZCBieSBndWhla3MuICBUaGlzIGlzIGVzc2VudGlhbGx5IHRoZSBz YW1lIG1pc3Rha2UgYXMgaW4gZXhhbXBsZSAxNC8xNy40LgoKCgoqIEluIHNlY3Rpb24gMTcsIHRo ZSBFbmdsaXNoIHRyYW5zbGF0aW9uIGZvciBleGFtcGxlIDE3LjYgaGFzIHRoZSBmb3JtdWxhIHJl bmRlcmVkIHdyb25nIGluIHRoZSBIVE1MIHZlcnNpb24uICBUaGUgZnJhY3Rpb24gYmFyIHNob3Vs ZCBiZSBhZGRlZCAoaXQgaXMgaW52aXNibGUgY3VycmVudGx5KSwgYW5kIHRoZSB3b3JkcyAidGhl biB4ID0iIHNob3VsZCBiZSB2ZXJ0aWNhbGx5IGFsaWduZWQgdG8gdGhlIGZyYWN0aW9uIGJhciAo dGhleSBhcmUgY3VycmVudGx5IGFsaWduZWQgdG8gdGhlIG51bWVyYXRvcikuCgoKCiogSW4gc2Vj dGlvbiAxNywgYXQgdGhlIGJvdHRvbSBvZiBwYWdlIDQ1NCwgdGhlIHF1YWRyYXRpYyBmb3JtdWxh IHNob3VsZCBiZSBkZXNjcmliZWQgYXMgYSBjbGFzc2ljIGV4YW1wbGUgb2Ygb3BlcmF0b3IgbG9n aWNhbCBjb25uZWN0aW9uLCBub3Qgb3BlcmFuZC4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4g QXBwcm92ZWQpKQoKCgoqIFNlY3Rpb24gMjAsIHA0NTg6IC1lc3RhYmxpc2hlZCAtPiBlc3RhYmxp c2hlZCAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogU2VjdGlvbiAy MSBzdGF0ZXMgdGhhdCB0aGUgcmFmc2kgb2YgImZyaW51IiBtYXkgYmUgdXNlZCBhcyByYWZzaSBm b3IgImZpJ3UiOyBob3dldmVyLCAiZnJpbnUiIGxvc3QgYm90aCBvZiBpdHMgc2hvcnQgcmFmc2kg aW4gdGhlIFJlYWxsb2NhdGlvbiwgc28gdGhpcyByZWFsbHkgaXNuJ3QgdmVyeSB1c2VmdWwuIFRo ZSB0YWJsZSBiZWxvdyBsaXN0cyAiZmkndSIgYXMgYSByYWZzaSB1c2FibGUgZm9yICJmaSd1Iiwg dGhlcmVmb3JlIG9mICJmcmludSI7IHRoZSBnaW1zdGUgbGlzdHMgImZpJ3UiIGFzIGEgcmFmc2kg b2YgImNmaXB1Ii4KCioqIFRoaXMgaXMgYSBzZXJpb3VzIHByb2JsZW0gd2hpY2ggbmVlZHMgc29t ZSB0aG91Z2h0LiAgVGhlcmUgbmVlZHMgdG8gYmUgYSByYWZzaSBmb3IgZmkndSBzb21laG93LiAg LS1qY293YW4gICcnJ05PRklYJycnCgoKCiogU2VjdGlvbiAyMiBleGFtcGxlIDIyLjMsICJtbydl IHZvYm9pIHJlbm9tZWkgc3UnaSB6ZSIsIGRvZXMgbm90IHBhcnNlLgoKKiogSXQgbmVlZHMgInZl aSIgaW4gZnJvbnQgdG8gYmUgYSBxdWFudGlmaWVyIChhbiBvcGVyYW5kIGJ5IGl0c2VsZiBpcyBu b3QgYSBwZXJtaXR0ZWQgZnJhZ21lbnQpLiBBbHNvLCB0aGUgZm9sbG93aW5nIHRleHQgbWVudGlv bnMgInRlJ3UiIGJ1dCB0aGUgZXhhbXBsZSBvbWl0cyBpdC4KCioqKiBOb25lIG9mIHRob3NlIGV4 YW1wbGVzIHBhcnNlIHdpdGhvdXQge2xpfSwgd2hpY2ggSSBoYXZlIGFkZGVkIHRvIGFsbC4gIFJl cGxhY2VkIHRoZSBvbmUgaW4gcXVlc3Rpb24gd2l0aCAibGkgbW8nZSB2b2JvaSByZW5vbWVpIHRl J3Ugc3UnaSB6ZSIgKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3ZlZCkpICcnSU5D TFVERUQgSU4gREFHLUNMTCcnCgoKCi0tLQoKIUNoYXB0ZXIgMTkKCgoKKiBTZWN0aW9uIDQsIHA0 NjcgZXg0LjM6IHp1J28gLT4gem8ndSAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3Zl ZCkpCgoqKiAoKEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURF RCBJTiBEQUctQ0xMJycKCgoKKiBTZWN0aW9uIDYsIHBhZ2UgNDcyLiBFeGFtcGxlIDYuNiBlbmRz IHdpdGggImtsYW1hIiwgYnV0IGZvciB0aGUgYXJndW1lbnQgdG8gbWFrZSBzZW5zZSwgaXQgaGFz IHRvIHNheSAibnVua2xhIi4KCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92 ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gNywgRXhhbXBsZSA3LjEg aGFzIGFzIHRoZSBFbmdsaXNoOiAiSSBnby10byAoZmlyc3RseSkgdGhlIHN0b3JlIGFuZCAoc2Vj b25kbHkpIHRoZSBtYXJrZXQuIiAgInRoZSBtYXJrZXQiIHNob3VsZCBiZSAidGhlIGhvdXNlIi4K CioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lOQ0xVREVEIElO IERBRy1DTEwnJwoKCgoqIEV4YW1wbGUgMTEuOCwgdGhlcmUncyBhIGRlbnBhYnUgYWZ0ZXIge3ph J2V9IGFuZCBubyBkZW5wYWJ1IGFmdGVyIHthbGJlaW5pYXN9LgoKKiogJydJTkNMVURFRCBJTiBE QUctQ0xMJycgKHpvcnQncyBmb3JrIGF0IGxlYXN0KSBidXQgbmVlZHMgYXBwcm92YWwKCgoKKiBT ZWN0aW9uIDExLCB0aGUgcGFyYWdyYXBoIGFmdGVyIGV4YW1wbGUgMTEuOCBzYXlzICJjdGlpcHly aXMiIGJ1dCBpdCBzaG91bGQgYmUgImNraWlweXJpcyIuICAoKEFwcHJvdmVkIEVycmF0dW18amNv d2FuIEFwcHJvdmVkKSkKCi0tLQoKCgohQ2hhcHRlciAyMAoKCgoqIFNlY3Rpb24gTEUsIHBhZ2Ug NDk4LiBJbiAibGUgZ2Vya3Uga2xhbWEgbGUgemRhbmkiLCAiY3UiIGlzIG1pc3NpbmcuCgoqKiAo KEFwcHJvdmVkIEVycmF0dW18Y2FtZ3VzbWlzIEFwcHJvdmVkKSkgJydJTkNMVURFRCBJTiBEQUct Q0xMJycKCgoKKiBTZWN0aW9uIFRVaEUsIHBhZ2UgNTA1LiBJbiAieGFnbWF1IHpvJ3UgdHUnZSBn YW5haSBjaWRqYSBnaSBjbmlubyAuaSBnYW5haSB2YW5qdSBnaSB0b2xjaSdvIHR1J3UiLCAiY25p bm8iIHNob3VsZCBiZSByZXBsYWNlZCBieSAiY2l0bm8iLiAgQWxzbywgYSBwcmVuZXggY2FuJ3Qg aGF2ZSBhIHNlbGJyaSwgc28gJyd4YWdtYXUnJyBzaG91bGQgYmUgcmVwbGFjZWQgYnkgJydsbyB4 YWdtYXUnJy4KCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92ZWQpKSAnJ0lO Q0xVREVEIElOIERBRy1DTEwnJwoKCgoqIFNlY3Rpb24gU0UsIHBhZ2UgNTA0OiBtaXNzaW5nICJj dSIgYWZ0ZXIgInphcmNpIi4KCioqICgoQXBwcm92ZWQgRXJyYXR1bXxjYW1ndXNtaXMgQXBwcm92 ZWQpKSAnJ0lOQ0xVREVEIElOIERBRy1DTEwnJwoKCgoqIEluIHRoZSBwYXNzYWdlcyBvbiBWRUkg YW5kIFZFaE8sIHRoZSAiYm8icyBzaG91bGQgYmUgY2hhbmdlZCB0byAiYmknZSJzLiAgKChBcHBy b3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCi0tLQoKCgohQ2hhcHRlciAyMQoKCgoq IEluIHRoZSBCTkYgZ3JhbW1hciwgdGhlIHJ1bGUgc2ltcGxlLXRlbnNlLW1vZGFsLTk3MiBpcyBt aXNzaW5nIGEgInwiIGJlZm9yZSB0aGUgQ1VoRS4gICgoQXBwcm92ZWQgRXJyYXR1bXxqY293YW4g QXBwcm92ZWQpKQoKCgoqIEluIHRoZSBCTkYgZ3JhbW1hciwgdGhlIHJ1bGUgc2ltcGxlLXRlbnNl LW1vZGFsLTk3MiBoYXMgYW4gZXh0cmEgbmV3bGluZSBpbiB0aGUgc3BhY2UvdGltZSBzdWJwaHJh c2UuCgoKCiogSW4gdGhlIEJORiBncmFtbWFyLCB0aGUgcnVsZSBzZWxicmktMS0xMzEgaXMgbWlz c2luZyBhICJ8IiBiZWZvcmUgdGhlIE5BLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHBy b3ZlZCkpCgoKCiogSW4gdGhlIEJORiBncmFtbWFyLCB0aGUgcnVsZSB0YW5ydS11bml0LTItMTUy IGlzIG1pc3NpbmcgYSAifCIgYmVmb3JlIHRoZSBKQUkuICAoKEFwcHJvdmVkIEVycmF0dW18amNv d2FuIEFwcHJvdmVkKSkKCgoKKiogKChBcHByb3ZlZCBFcnJhdHVtfGNhbWd1c21pcyBBcHByb3Zl ZCkpICcnSU5DTFVERUQgSU4gREFHLUNMTCcnIDsgYml6YXJlbGx5LCB0aGUgV29yZCBkb2MgdGhl IGJvb2sgd2FzIHByaW50ZWQgZnJvbSBkb2VzIG5vdCBoYXZlIHRoaXMgcHJvYmxlbSBhdCBhbGwu CgoKCiogSW4gdGhlIEJORiBncmFtbWFyLCB0aGUgcnVsZSBvcGVyYXRvci0xLTM3MSBpcyBtaXNz aW5nIHR3byAifCIuICAoKEFwcHJvdmVkIEVycmF0dW18amNvd2FuIEFwcHJvdmVkKSkKCgoKKiBJ biB0aGUgQk5GIGdyYW1tYXIsIHRoZSBydWxlIG1leC1vcGVyYXRvci0zNzQgaXMgbWlzc2luZyBh ICJ8IiBiZWZvcmUgdGhlIE1BaE8gYW5kIGFub3RoZXIgYmVmb3JlIHRoZSBWVWhVLiAgKChBcHBy b3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogSW4gdGhlIEJORiBncmFtbWFyLCB0 aGUgcnVsZSBvcGVyYW5kLTMtMzg1IGlzIG1pc3NpbmcgYSAifCIgYmVmb3JlIHRoZSBOSWhFLiAg KChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBBcHByb3ZlZCkpCgoKCiogSW4gdGhlIEJORiBncmFt bWFyLCBpbiB0aGUgcnVsZSB0aW1lXzEwMzAsIHRoZSAiWkVoQSBbUFUgW05BSV0gXSIgc2hvdWxk IGJlIGVuY2xvc2VkIGluIHBhcmVudGhlc2VzLiAgKChBcHByb3ZlZCBFcnJhdHVtfGpjb3dhbiBB cHByb3ZlZCkpCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KV2lraW5ldXJvdGljIG1haWxpbmcgbGlzdApXaWtpbmV1cm90aWNAbG9qYmFuLm9yZwpodHRw Oi8vbWFpbC5sb2piYW4ub3JnL21haWxtYW4vbGlzdGluZm8vd2lraW5ldXJvdGljCg==