From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-0.2 required=5.0 tests=ALL_TRUSTED, DKIM_ADSP_NXDOMAIN,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.4 Received: (qmail 32459 invoked from network); 13 Jul 2022 18:24:05 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 13 Jul 2022 18:24:05 -0000 Content-Type: multipart/mixed; boundary="===============3832623055526457328==" MIME-Version: 1.0 Subject: =?utf8?q?Re=3A_=5BPR_PATCH=5D_=5BUpdated=5D_New_package=3A_7zip-22=2E00?= To: ml@inbox.vuxu.org From: r-ricci Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Wed, 13 Jul 2022 20:24:05 +0200 List-Id: Message-ID: <20220713182405.uqoPPsOh5zkSkuXbuAKvK_x_Iy-fJ843Gzb8DL_x7bU@z> GitHub notification mails are now in MIME to allow UTF8. --===============3832623055526457328== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgci1yaWNjaSBhZ2FpbnN0IG1hc3Rl ciBvbiB0aGUgdm9pZC1wYWNrYWdlcyByZXBvc2l0b3J5CgpodHRwczovL2dpdGh1Yi5jb20vci1y aWNjaS92b2lkLXBhY2thZ2VzIDd6aXAKaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGludXgvdm9p ZC1wYWNrYWdlcy9wdWxsLzM3OTQwCgpOZXcgcGFja2FnZTogN3ppcC0yMi4wMAo8IS0tIFVuY29t bWVudCByZWxldmFudCBzZWN0aW9ucyBhbmQgZGVsZXRlIG9wdGlvbnMgd2hpY2ggYXJlIG5vdCBh cHBsaWNhYmxlIC0tPg0KDQojIyMjIFRlc3RpbmcgdGhlIGNoYW5nZXMNCi0gSSB0ZXN0ZWQgdGhl IGNoYW5nZXMgaW4gdGhpcyBQUjogKipicmllZmx5KioNCg0KPCEtLQ0KIyMjIyBOZXcgcGFja2Fn ZQ0KLSBUaGlzIG5ldyBwYWNrYWdlIGNvbmZvcm1zIHRvIHRoZSBbcXVhbGl0eSByZXF1aXJlbWVu dHNdKGh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQtcGFja2FnZXMvYmxvYi9tYXN0 ZXIvTWFudWFsLm1kI3F1YWxpdHktcmVxdWlyZW1lbnRzKTogKipZRVMqKnwqKk5PKioNCi0tPg0K DQo8IS0tIE5vdGU6IElmIHRoZSBidWlsZCBpcyBsaWtlbHkgdG8gdGFrZSBtb3JlIHRoYW4gMiBo b3VycywgcGxlYXNlIGFkZCBjaSBza2lwIHRhZyBhcyBkZXNjcmliZWQgaW4NCmh0dHBzOi8vZ2l0 aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQtcGFja2FnZXMvYmxvYi9tYXN0ZXIvQ09OVFJJQlVUSU5H Lm1kI2NvbnRpbnVvdXMtaW50ZWdyYXRpb24NCmFuZCB0ZXN0IGF0IGxlYXN0IG9uZSBuYXRpdmUg YnVpbGQgYW5kLCBpZiBzdXBwb3J0ZWQsIGF0IGxlYXN0IG9uZSBjcm9zcyBidWlsZC4NCklnbm9y ZSB0aGlzIHNlY3Rpb24gaWYgdGhpcyBQUiBpcyBub3Qgc2tpcHBpbmcgQ0kuDQotLT4NCjwhLS0N CiMjIyMgTG9jYWwgYnVpbGQgdGVzdGluZw0KLSBJIGJ1aWx0IHRoaXMgUFIgbG9jYWxseSBmb3Ig bXkgbmF0aXZlIGFyY2hpdGVjdHVyZSwgKEFSQ0gtTElCQykNCi0gSSBidWlsdCB0aGlzIFBSIGxv Y2FsbHkgZm9yIHRoZXNlIGFyY2hpdGVjdHVyZXMgKGlmIHN1cHBvcnRlZC4gbWFyayBjcm9zc2J1 aWxkcyk6DQogIC0gYWFyY2g2NC1tdXNsDQogIC0gYXJtdjdsDQogIC0gYXJtdjZsLW11c2wNCi0t Pg0KDQpJIGRvbid0IHRoaW5rIHRoZXJlJ3MgYW55IHJlYXNvbiB0byBzaGlwIHRoZSBmdWxsIGFu ZCB0aGUgcmVkdWNlZCB2ZXJzaW9ucyBpbiB0aGUgc2FtZSBwYWNrYWdlLCBzbyBJIGp1c3QgY29t cGlsZSB0aGUgZnVsbCBvbmUgYW5kIGNyZWF0ZSBzeW1saW5rcyBmb3IgY29tcGF0aWJpbGl0eS4N Cg0KIyMjIyBUT0RPOg0KDQotIFt4XSBmaXggbXVzbDogfn5pdCB1c2VzIHNvbWUgZnVuY3Rpb25z IHJlcXVpcmluZyBgX0dOVV9TT1VSQ0VgLCBidXQgb3RoZXIgcGFydHMgb2YgdGhlIHNvdXJjZSBk ZWZpbmUgaXQgd2l0aG91dCBjaGVja2luZyBpZiBpdCdzIGFscmVhZHkgZGVmaW5lZCwgc28gSSBn ZXQgY29tcGlsYXRpb24gZXJyb3JzIGlmIEkganVzdCBkZWZpbmUgaXQgZ2xvYmFsbHkufn4NCi0g WyBdIGJ1aWxkIHdpdGggYXNzZW1ibHkgd2hlcmUgcG9zc2libGU6IG9uIGk2ODYgYW5kIHg4Nl82 NCogaXQgcmVxdWlyZXMgYGFzbWNgIG9yIGBqd2FzbWAvYHVhc21gIGFzc2VtYmxlcnMsIG5vbmUg b2Ygd2hpY2ggYXJlIHBhY2thZ2VkDQotIFsgXSBidWlsZCBhIHZlcnNpb24gd2l0aCBSQVIgc3Vw cG9ydCAobm9uZnJlZSByZXBvKQ0KLSBbeF0gdXNlIG91ciBjb21waWxlIGFuZCBsaW5rIGZsYWdz DQotIFsgXSB3aGF0J3MgdGhlIG1vc3QgYXBwcm9wcmlhdGUgbmFtZSBmb3IgdGhlIHBhY2thZ2U/ IDd6aXAsIDctemlwIG9yIDd6Pw0KLSB0ZXN0IHBhY2thZ2VzIHRoYXQgZGVwZW5kIG9uIGBwN3pp cGAgYXQgcnVudGltZSBvciBidWlsZCB0aW1lOg0KICAgIC0gWyBdIGp1bGlhDQogICAgLSBbIF0g bHV0cmlzDQogICAgLSBbIF0gbXVsdGlib290dXNiDQogICAgLSBbIF0gcGxheW9ubGludXgNCiAg ICAtIFsgXSBTTEFERQ0KICAgIC0gWyBdIFo4MEV4cGxvcmVyDQogICAgLSBbIF0gYXJrDQogICAg LSBbIF0gY2JwMm1ha2UNCg0KY2xvc2VzICMzNzg3NQoKQSBwYXRjaCBmaWxlIGZyb20gaHR0cHM6 Ly9naXRodWIuY29tL3ZvaWQtbGludXgvdm9pZC1wYWNrYWdlcy9wdWxsLzM3OTQwLnBhdGNoIGlz IGF0dGFjaGVk --===============3832623055526457328== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-7zip-37940.patch" RnJvbSA4MzI4Nzc2MmNlNTc1MDIxZTBhODMyM2IyMjU5OTNhZTUwNzRiYzZiIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBSb2JlcnRvIFJpY2NpIDxyaWNjaUBkaXNyb290Lm9yZz4KRGF0 ZTogU2F0LCA5IEp1bCAyMDIyIDEyOjA1OjIyICswMjAwClN1YmplY3Q6IFtQQVRDSF0gTmV3IHBh Y2thZ2U6IDd6aXAtMjIuMDAKCi0tLQogc3JjcGtncy83emlwLXVucmFyICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHwgICAxICsKIHNyY3BrZ3MvN3ppcC83emlwLXVucmFyLklOU1RBTEwubXNn ICAgICAgICAgICB8ICAgNSArCiBzcmNwa2dzLzd6aXAvZmlsZXMvN3p6LjEgICAgICAgICAgICAg ICAgICAgICAgfCAyMTUgKysrKysrKysrKysrCiBzcmNwa2dzLzd6aXAvcGF0Y2hlcy9idWlsZF9m bGFncy5wYXRjaCAgICAgICAgfCAgMzAgKysKIHNyY3BrZ3MvN3ppcC90ZW1wbGF0ZSAgICAgICAg ICAgICAgICAgICAgICAgICB8ICA4NSArKysrKwogc3JjcGtncy83emlwL3VwZGF0ZSAgICAgICAg ICAgICAgICAgICAgICAgICAgIHwgICAyICsKIHNyY3BrZ3MvcDd6aXAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB8ICAgMSArCiBzcmNwa2dzL3A3emlwLXVucmFyICAgICAgICAgICAg ICAgICAgICAgICAgICAgfCAgIDIgKy0KIHNyY3BrZ3MvcDd6aXAvcGF0Y2hlcy8yMC1DVkUtMjAx OC01OTk2LnBhdGNoICB8IDIyMSAtLS0tLS0tLS0tLS0tCiBzcmNwa2dzL3A3emlwL3BhdGNoZXMv MzAtQ1ZFLTIwMTgtMTAxMTUucGF0Y2ggfCAzMTEgLS0tLS0tLS0tLS0tLS0tLS0tCiBzcmNwa2dz L3A3emlwL3BhdGNoZXMvQ1ZFLTIwMTYtOTI5Ni5wYXRjaCAgICAgfCAgMTIgLQogc3JjcGtncy9w N3ppcC9wYXRjaGVzL0NWRS0yMDE3LTE3OTY5LnBhdGNoICAgIHwgIDI2IC0tCiBzcmNwa2dzL3A3 emlwL3RlbXBsYXRlICAgICAgICAgICAgICAgICAgICAgICAgfCAgNDcgLS0tCiBzcmNwa2dzL3A3 emlwL3VwZGF0ZSAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDEgLQogMTQgZmlsZXMgY2hh bmdlZCwgMzQwIGluc2VydGlvbnMoKyksIDYxOSBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEy MDAwMCBzcmNwa2dzLzd6aXAtdW5yYXIKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzLzd6aXAv N3ppcC11bnJhci5JTlNUQUxMLm1zZwogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvN3ppcC9m aWxlcy83enouMQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvN3ppcC9wYXRjaGVzL2J1aWxk X2ZsYWdzLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy83emlwL3RlbXBsYXRlCiBj cmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy83emlwL3VwZGF0ZQogY3JlYXRlIG1vZGUgMTIwMDAw IHNyY3BrZ3MvcDd6aXAKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3A3emlwL3BhdGNoZXMv MjAtQ1ZFLTIwMTgtNTk5Ni5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcDd6aXAv cGF0Y2hlcy8zMC1DVkUtMjAxOC0xMDExNS5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3Br Z3MvcDd6aXAvcGF0Y2hlcy9DVkUtMjAxNi05Mjk2LnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQg c3JjcGtncy9wN3ppcC9wYXRjaGVzL0NWRS0yMDE3LTE3OTY5LnBhdGNoCiBkZWxldGUgbW9kZSAx MDA2NDQgc3JjcGtncy9wN3ppcC90ZW1wbGF0ZQogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3Mv cDd6aXAvdXBkYXRlCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy83emlwLXVucmFyIGIvc3JjcGtncy83 emlwLXVucmFyCm5ldyBmaWxlIG1vZGUgMTIwMDAwCmluZGV4IDAwMDAwMDAwMDAwMC4uMjg0MzEy NTk1YTRjCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy83emlwLXVucmFyCkBAIC0wLDAgKzEg QEAKKzd6aXAKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9zcmNwa2dz Lzd6aXAvN3ppcC11bnJhci5JTlNUQUxMLm1zZyBiL3NyY3BrZ3MvN3ppcC83emlwLXVucmFyLklO U1RBTEwubXNnCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uNzc1Zjk0 M2MwYTU2Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy83emlwLzd6aXAtdW5yYXIuSU5TVEFM TC5tc2cKQEAgLTAsMCArMSw1IEBACitUaGUgcDd6aXAtdW5yYXIgcGFja2FnZSBoYXMgYmVlbiBy ZXBsYWNlZCBieSA3emlwLXVucmFyLgorVG8gdXNlIHRoZSBSQVItZW5hYmxlZCB2ZXJzaW9uIG9m IGA3emAsIG1ha2Ugc3VyZSB0aGUgZGVzaXJlZAorYWx0ZXJuYXRpdmUgaXMgY29uZmlndXJlZDoK KworCSMgeGJwcy1hbHRlcm5hdGl2ZXMgLXMgN3ppcC11bnJhcgpkaWZmIC0tZ2l0IGEvc3JjcGtn cy83emlwL2ZpbGVzLzd6ei4xIGIvc3JjcGtncy83emlwL2ZpbGVzLzd6ei4xCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uMmUxNTliZDk0YmI0Ci0tLSAvZGV2L251bGwK KysrIGIvc3JjcGtncy83emlwL2ZpbGVzLzd6ei4xCkBAIC0wLDAgKzEsMjE1IEBACisuVEggN1pa ICIxIiAiRmVicnVhcnkgMTQsIDIwMjIiCisuU0ggTkFNRQorN3p6IFwtIFN0YW5kYWxvbmUgY29u c29sZSB2ZXJzaW9uIG9mIHRoZSA3LVppcCBmaWxlIGFyY2hpdmVyCisuU0ggU1lOT1BTSVMKKy5C IDd6egorLlwiIFxmSVwsPGNvbW1hbmQ+IFwvW1xmSVwsPHN3aXRjaD5cLy4uLl0gXGZJXCw8YXJj aGl2ZV9uYW1lPiBcL1tcZklcLDxmaWxlX25hbWVzPlwvLi4uXSBbXGZJXCxAbGlzdF9maWxlXC9d CisuQlIgPGNvbW1hbmQ+CisuQlIgWzxzd2l0Y2g+Li4uXQorLkJSIDxhcmNoaXZlX25hbWU+Cisu QlIgWzxmaWxlX25hbWVzPl0KKy5CUiBbQGxpc3RmaWxlXQorLlNIIERFU0NSSVBUSU9OCis3XC1a aXAgaXMgYSBmaWxlIGFyY2hpdmVyIHdpdGggYSBoaWdoIGNvbXByZXNzaW9uIHJhdGlvLiBTdXBw b3J0ZWQgZm9ybWF0czoKKy5JUAorUGFja2luZyBhbmQgdW5wYWNraW5nOiA3eiwgWFosIEJaSVAy LCBHWklQLCBUQVIsIFpJUCBhbmQgV0lNLgorLklQCitVbnBhY2tpbmcgb25seTogQVIsIEFSSiwg Q0FCLCBDSE0sIENQSU8sIENyYW1GUywgRE1HLCBFWFQsIEZBVCwgR1BULCBIRlMsIElIRVgsIElT TywgTFpILCBMWk1BLCBNQlIsIE1TSSwgTlNJUywgTlRGUywgUUNPVzIsIFJBUiwgUlBNLCBTcXVh c2hGUywgVURGLCBVRUZJLCBWREksIFZIRCwgVkhEWCwgVk1ESywgV0lNLCBYQVIgYW5kIFouCisu U0ggQ29tbWFuZHMKKy5UUAorLkJSIGEKK0FkZCBmaWxlcyB0byBhcmNoaXZlCisuVFAKKy5CUiBi CitCZW5jaG1hcmsKKy5UUAorLkJSIGQKK0RlbGV0ZSBmaWxlcyBmcm9tIGFyY2hpdmUKKy5UUAor LkJSIGUKK0V4dHJhY3QgZmlsZXMgZnJvbSBhcmNoaXZlICh3aXRob3V0IHVzaW5nIGRpcmVjdG9y eSBuYW1lcykKKy5UUAorLkJSIGgKK0NhbGN1bGF0ZSBoYXNoIHZhbHVlcyBmb3IgZmlsZXMKKy5U UAorLkJSIGkKK1Nob3cgaW5mb3JtYXRpb24gYWJvdXQgc3VwcG9ydGVkIGZvcm1hdHMKKy5UUAor LkJSIGwKK0xpc3QgY29udGVudHMgb2YgYXJjaGl2ZQorLlRQCisuQlIgcm4KK1JlbmFtZSBmaWxl cyBpbiBhcmNoaXZlCisuVFAKKy5CUiB0CitUZXN0IGludGVncml0eSBvZiBhcmNoaXZlCisuVFAK Ky5CUiB1CitVcGRhdGUgZmlsZXMgdG8gYXJjaGl2ZQorLlRQCisuQlIgeAorRXh0cmFjdCBmaWxl cyB3aXRoIGZ1bGwgcGF0aHMKKy5TSCBTd2l0Y2hlcworLlRQCisuQlIgXC1cLQorU3RvcCBzd2l0 Y2hlcyBhbmQgQGxpc3RmaWxlIHBhcnNpbmcKKy5UUAorLkJSIFwtYWlbcltcLXwwXV17QGxpc3Rm aWxlfCF3aWxkY2FyZH0KK0luY2x1ZGUgYXJjaGl2ZXMKKy5UUAorLkJSIFwtYXhbcltcLXwwXV17 QGxpc3RmaWxlfCF3aWxkY2FyZH0KK0V4Y2x1ZGUgYXJjaGl2ZXMKKy5UUAorLkJSIFwtYW97YXxz fHR8dX0KK1NldCBPdmVyd3JpdGUgbW9kZQorLlRQCisuQlIgXC1hbgorRGlzYWJsZSBhcmNoaXZl X25hbWUgZmllbGQKKy5UUAorLkJSIFwtYmJbMFwtM10KK1NldCBvdXRwdXQgbG9nIGxldmVsCisu VFAKKy5CUiBcLWJkCitEaXNhYmxlIHByb2dyZXNzIGluZGljYXRvcgorLlRQCisuQlIgXC1ic3tv fGV8cH17MHwxfDJ9CitTZXQgb3V0cHV0IHN0cmVhbSBmb3Igb3V0cHV0L2Vycm9yL3Byb2dyZXNz IGxpbmUKKy5UUAorLkJSIFwtYnQKK3Nob3cgZXhlY3V0aW9uIHRpbWUgc3RhdGlzdGljcworLlRQ CisuQlIgXC1pW3JbXC18MF1de0BsaXN0ZmlsZXwhd2lsZGNhcmR9CitJbmNsdWRlIGZpbGVuYW1l cworLlRQCisuQlIgXC1te1BhcmFtZXRlcnN9CitTZXQgY29tcHJlc3Npb24gTWV0aG9kCisuVFAK Ky5CUiBcLW1tdFtOXQorU2V0IG51bWJlciBvZiBDUFUgdGhyZWFkcworLlRQCisuQlIgXC1teFtO XQorU2V0IGNvbXByZXNzaW9uIGxldmVsOiBcLW14MSAoZmFzdGVzdCkgLi4uIFwtbXg5ICh1bHRy YSkKKy5UUAorLkJSIFwtb3tEaXJlY3Rvcnl9CitTZXQgT3V0cHV0IGRpcmVjdG9yeQorLlRQCisu QlIgXC1we1Bhc3N3b3JkfQorU2V0IFBhc3N3b3JkCisuVFAKKy5CUiBcLXJbXC18MF0KK1JlY3Vy c2Ugc3ViZGlyZWN0b3JpZXMgZm9yIG5hbWUgc2VhcmNoCisuVFAKKy5CUiBcLXNhe2F8ZXxzfQor U2V0IEFyY2hpdmUgbmFtZSBtb2RlCisuVFAKKy5CUiBcLXNjY3tVVEZcLTh8V0lOfERPU30KK1Nl dCBjaGFyc2V0IGZvciBmb3IgY29uc29sZSBpbnB1dC9vdXRwdXQKKy5UUAorLkJSIFwtc2Nze1VU RlwtOHxVVEZcLTE2TEV8VVRGXC0xNkJFfFdJTnxET1N8e2lkfX0KK1NldCBjaGFyc2V0IGZvciBs aXN0IGZpbGVzCisuVFAKKy5CUiBcLXNjcmNbQ1JDMzJ8Q1JDNjR8U0hBMXxTSEEyNTZ8Kl0KK1Nl dCBoYXNoIGZ1bmN0aW9uIGZvciB4LCBlLCBoIGNvbW1hbmRzCisuVFAKKy5CUiBcLXNkZWwKK0Rl bGV0ZSBmaWxlcyBhZnRlciBjb21wcmVzc2lvbgorLlRQCisuQlIgXC1zZW1sWy5dCitTZW5kIGFy Y2hpdmUgYnkgZW1haWwKKy5UUAorLkJSIFwtc2Z4W3tuYW1lfV0KK0NyZWF0ZSBTRlggYXJjaGl2 ZQorLlRQCisuQlIgXC1zaVt7bmFtZX1dCitSZWFkIGRhdGEgZnJvbSBzdGRpbgorLlRQCisuQlIg XC1zbHAKK1NldCBMYXJnZSBQYWdlcyBtb2RlCisuVFAKKy5CUiBcLXNsdAorU2hvdyB0ZWNobmlj YWwgaW5mb3JtYXRpb24gZm9yIGwgKExpc3QpIGNvbW1hbmQKKy5UUAorLkJSIFwtc25oCitTdG9y ZSBoYXJkIGxpbmtzIGFzIGxpbmtzCisuVFAKKy5CUiBcLXNubAorU3RvcmUgc3ltYm9saWMgbGlu a3MgYXMgbGlua3MKKy5UUAorLkJSIFwtc25pCitTdG9yZSBOVCBzZWN1cml0eSBpbmZvcm1hdGlv bgorLlRQCisuQlIgXC1zbnNbXC1dCitTdG9yZSBOVEZTIGFsdGVybmF0ZSBzdHJlYW1zCisuVFAK Ky5CUiBcLXNvCitXcml0ZSBkYXRhIHRvIHN0ZG91dAorLlRQCisuQlIgXC1zcGQKK0Rpc2FibGUg d2lsZGNhcmQgbWF0Y2hpbmcgZm9yIGZpbGUgbmFtZXMKKy5UUAorLkJSIFwtc3BlCitFbGltaW5h dGUgZHVwbGljYXRpb24gb2Ygcm9vdCBmb2xkZXIgZm9yIGV4dHJhY3QgY29tbWFuZAorLlRQCisu QlIgXC1zcGYKK1VzZSBmdWxseSBxdWFsaWZpZWQgZmlsZSBwYXRocworLlRQCisuQlIgXC1zc2Nb XC1dCitTZXQgc2Vuc2l0aXZlIGNhc2UgbW9kZQorLlRQCisuQlIgXC1zc2UKK1N0b3AgYXJjaGl2 ZSBjcmVhdGluZywgaWYgaXQgY2FuJ3Qgb3BlbiBzb21lIGlucHV0IGZpbGUKKy5UUAorLkJSIFwt c3NwCitEbyBub3QgY2hhbmdlIExhc3QgQWNjZXNzIFRpbWUgb2Ygc291cmNlIGZpbGVzIHdoaWxl IGFyY2hpdmluZworLlRQCisuQlIgXC1zc3cKK0NvbXByZXNzIHNoYXJlZCBmaWxlcworLlRQCisu QlIgXC1zdGwKK1NldCBhcmNoaXZlIHRpbWVzdGFtcCBmcm9tIHRoZSBtb3N0IHJlY2VudGx5IG1v ZGlmaWVkIGZpbGUKKy5UUAorLkJSIFwtc3Rte0hleE1hc2t9CitTZXQgQ1BVIHRocmVhZCBhZmZp bml0eSBtYXNrIChoZXhhZGVjaW1hbCBudW1iZXIpCisuVFAKKy5CUiBcLXN0eHtUeXBlfQorRXhj bHVkZSBhcmNoaXZlIHR5cGUKKy5UUAorLkJSIFwtdHtUeXBlfQorU2V0IHR5cGUgb2YgYXJjaGl2 ZQorLlRQCisuQlIgXC11W1wtXVtwI11bcSNdW3IjXVt4I11beSNdW3ojXVshbmV3QXJjaGl2ZU5h bWVdCitVcGRhdGUgb3B0aW9ucworLlRQCisuQlIgXC12e1NpemV9W2J8a3xtfGddCitDcmVhdGUg dm9sdW1lcworLlRQCisuQlIgXC13W3twYXRofV0KK1NldCB3b3JraW5nIGRpcmVjdG9yeS4gRW1w dHkgcGF0aCBtZWFucyBhIHRlbXBvcmFyeSBkaXJlY3RvcnkKKy5UUAorLkJSIFwteFtyW1wtfDBd XXtAbGlzdGZpbGV8IXdpbGRjYXJkfQorRXhjbHVkZSBmaWxlbmFtZXMKKy5UUAorLkJSIFwteQor QXNzdW1lIFllcyBvbiBhbGwgcXVlcmllcworLlNIIExpc3RmaWxlCitZb3UgY2FuIHN1cHBseSBv bmUgb3IgbW9yZSBmaWxlbmFtZXMgb3Igd2lsZGNhcmRzIGZvciBzcGVjaWFsIGxpc3QgZmlsZXMg KGZpbGVzIGNvbnRhaW5pbmcgbGlzdHMgb2YgZmlsZXMpLiBUaGUgZmlsZW5hbWVzIGluIHN1Y2gg bGlzdCBmaWxlIG11c3QgYmUgc2VwYXJhdGVkIGJ5IG5ldyBsaW5lIHN5bWJvbChzKS4gRm9yIGxp c3QgZmlsZXMsIDdcLVppcCB1c2VzIFVURlwtOCBlbmNvZGluZyBieSBkZWZhdWx0LiBZb3UgY2Fu IGNoYW5nZSBlbmNvZGluZyB1c2luZworLkJSIFwtc2NzCitzd2l0Y2guIE11bHRpcGxlIGxpc3Qg ZmlsZXMgYXJlIHN1cHBvcnRlZC4KKy5QUAorRm9yIGV4YW1wbGUsIGlmIHRoZSBmaWxlICJsaXN0 ZmlsZS50eHQiIGNvbnRhaW5zIHRoZSBmb2xsb3dpbmc6CisuSVAKK015IHByb2dyYW1zXFwqLmNw cAorLmJyCitTcmNcXCouY3BwCisuUFAKK3RoZW4gdGhlIGNvbW1hbmQKKy5JUAorLkIgN3ogYSBc LXR6aXAgYXJjaGl2ZS56aXAgQGxpc3RmaWxlLnR4dAorLlBQCithZGRzIHRvIHRoZSBhcmNoaXZl ICJhcmNoaXZlLnppcCIgYWxsICIqLmNwcCIgZmlsZXMgZnJvbSBkaXJlY3RvcmllcyAiTXkgcHJv Z3JhbXMiIGFuZCAiU3JjIi4KKy5TSCAiU0VFIEFMU08iCisuQlIgeHogKDEpCisuYnIKK0ZyZXF1 ZW50bHkgQXNrZWQgUXVlc3Rpb25zOiA8aHR0cHM6Ly93d3cuNy16aXAub3JnL2ZhcS5odG1sPgor LmJyCitSZWNvdmVyIGNvcnJ1cHRlZCA3eiBhcmNoaXZlOiA8aHR0cHM6Ly93d3cuNy16aXAub3Jn L3JlY292ZXIuaHRtbD4KZGlmZiAtLWdpdCBhL3NyY3BrZ3MvN3ppcC9wYXRjaGVzL2J1aWxkX2Zs YWdzLnBhdGNoIGIvc3JjcGtncy83emlwL3BhdGNoZXMvYnVpbGRfZmxhZ3MucGF0Y2gKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi40Zjc5MWZmNjNkZGYKLS0tIC9kZXYv bnVsbAorKysgYi9zcmNwa2dzLzd6aXAvcGF0Y2hlcy9idWlsZF9mbGFncy5wYXRjaApAQCAtMCww ICsxLDMwIEBACithcHBlbmQgKGRvbid0IHByZWZpeCkgeGJwcyBidWlsZCBmbGFncyBhbmQgZG9u J3Qgc3RyaXAgdGhlIGV4ZWN1dGFibGUKKy0tLSBhL0NQUC83emlwLzd6aXBfZ2NjLm1haworKysr IGIvQ1BQLzd6aXAvN3ppcF9nY2MubWFrCitAQCAtMTI2LDcgKzEyNiw3IEBAIGVuZGlmCisgDQor IA0KKyANCistQ0ZMQUdTID0gJChNWV9BUkNIXzIpICQoTE9DQUxfRkxBR1MpICQoQ0ZMQUdTX0JB U0UyKSAkKENGTEFHU19CQVNFKSAkKENDX1NIQVJFRCkgLW8gJEANCisrQ0ZMQUdTID0gJChNWV9B UkNIXzIpICQoTE9DQUxfRkxBR1MpICQoQ0ZMQUdTX0JBU0UyKSAkKENGTEFHU19CQVNFKSAkKEND X1NIQVJFRCkgJChYQlBTX0NGTEFHUykgLW8gJEANCisgDQorIA0KKyBpZmRlZiBJU19NSU5HVw0K K0BAIC0xNTQsNyArMTU0LDcgQEAgQ1hYX1dBUk5fRkxBR1MgPQorICMtV25vLWludmFsaWQtb2Zm c2V0b2YNCisgIy1Xbm8tcmVvcmRlcg0KKyANCistQ1hYRkxBR1MgPSAkKE1ZX0FSQ0hfMikgJChM T0NBTF9GTEFHUykgJChDWFhGTEFHU19CQVNFMikgJChDRkxBR1NfQkFTRSkgJChDWFhGTEFHU19F WFRSQSkgJChDQ19TSEFSRUQpIC1vICRAICQoQ1hYX1dBUk5fRkxBR1MpDQorK0NYWEZMQUdTID0g JChNWV9BUkNIXzIpICQoTE9DQUxfRkxBR1MpICQoQ1hYRkxBR1NfQkFTRTIpICQoQ0ZMQUdTX0JB U0UpICQoQ1hYRkxBR1NfRVhUUkEpICQoQ0NfU0hBUkVEKSAtbyAkQCAkKENYWF9XQVJOX0ZMQUdT KSAkKFhCUFNfQ1hYRkxBR1MpDQorIA0KKyBTVEFUSUNfVEFSR0VUPQ0KKyBpZmRlZiBDT01QTF9T VEFUSUMNCitAQCAtMTY3LDcgKzE2Nyw3IEBAIGFsbDogJChPKSAkKFBST0dQQVRIKSAkKFNUQVRJ Q19UQVJHRVQpCisgJChPKToNCisgCSQoTVlfTUtESVIpICQoTykNCisgDQorLUxGTEFHU19BTEwg PSAtcyAkKE1ZX0FSQ0hfMikgJChMREZMQUdTKSAkKExEX2FyY2gpICQoT0JKUykgJChNWV9MSUJT KSAkKExJQjIpDQorK0xGTEFHU19BTEwgPSAkKE1ZX0FSQ0hfMikgJChMREZMQUdTKSAkKExEX2Fy Y2gpICQoT0JKUykgJChNWV9MSUJTKSAkKExJQjIpICQoWEJQU19MREZMQUdTKQ0KKyAkKFBST0dQ QVRIKTogJChPQkpTKQ0KKyAJJChDWFgpIC1vICQoUFJPR1BBVEgpICQoTEZMQUdTX0FMTCkNCisg DQpkaWZmIC0tZ2l0IGEvc3JjcGtncy83emlwL3RlbXBsYXRlIGIvc3JjcGtncy83emlwL3RlbXBs YXRlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uMWU1NWFmNGQ0ZDQ2 Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy83emlwL3RlbXBsYXRlCkBAIC0wLDAgKzEsODUg QEAKKyMgVGVtcGxhdGUgZmlsZSBmb3IgJzd6aXAnCitwa2duYW1lPTd6aXAKK3ZlcnNpb249MjIu MDAKK3JldmlzaW9uPTEKK2NyZWF0ZV93cmtzcmM9eWVzCitzaG9ydF9kZXNjPSJGaWxlIGFyY2hp dmVyIHdpdGggYSBoaWdoIGNvbXByZXNzaW9uIHJhdGlvIgorbWFpbnRhaW5lcj0iUm9iZXJ0byBS aWNjaSA8cmljY2lAZGlzcm9vdC5vcmc+IgorbGljZW5zZT0iTEdQTC0yLjEtb3ItbGF0ZXIsIEJT RC0zLUNsYXVzZSIKK2hvbWVwYWdlPSJodHRwczovL3d3dy43LXppcC5vcmciCitjaGFuZ2Vsb2c9 Imh0dHBzOi8vd3d3LjctemlwLm9yZy9oaXN0b3J5LnR4dCIKK2Rpc3RmaWxlcz0iaHR0cHM6Ly93 d3cuNy16aXAub3JnL2EvN3oke3ZlcnNpb24vLy4vfS1zcmMudGFyLnh6IgorY2hlY2tzdW09NDA5 NjlmNjAxZTg2YWZmNDlhYWEwYmEwZGY1Y2U2ZmQzOTdjZjdlMjY4M2E4NGI1OTFiMDA4MWU0NjFl ZjY3NQorYWx0ZXJuYXRpdmVzPSIKKyA3ejo3ejovdXNyL2Jpbi83ei1mcmVlCisgN3o6N3phOi91 c3IvYmluLzd6LWZyZWUKKyA3ejo3enI6L3Vzci9iaW4vN3otZnJlZQorIDd6Ojd6LjE6L3Vzci9z aGFyZS9tYW4vbWFuMS83ei1mcmVlLjEiCisKK2lmIFsgIiRYQlBTX1RBUkdFVF9MSUJDIiA9IG11 c2wgXTsgdGhlbgorCSMgbWlzc2luZyBwdGhyZWFkX2F0dHJfc2V0YWZmaW5pdHlfbnAoKQorCUNG TEFHUz0iLURfN1pJUF9BRkZJTklUWV9ESVNBQkxFIgorCUNYWEZMQUdTPSItRF83WklQX0FGRklO SVRZX0RJU0FCTEUiCitmaQorCitkb19idWlsZCgpIHsKKwlfN3pfYnVpbGQoKSB7CisJCWNkICIk d3Jrc3JjIi9DUFAvN3ppcC9CdW5kbGVzL0Fsb25lMgorCisJCWNhc2UgIiRYQlBTX1RBUkdFVF9N QUNISU5FIiBpbgorCQlhYXJjaDY0KikgXzd6X21ha2VmaWxlPSIuLi8uLi9jbXBsX2djY19hcm02 NC5tYWsiOzsKKwkJKikgICAgICAgIF83el9tYWtlZmlsZT0iLi4vLi4vY21wbF9nY2MubWFrIjs7 CisJCWVzYWMKKworCQltYWtlICIkbWFrZWpvYnMiIC1mICIkXzd6X21ha2VmaWxlIiBcCisJCQlD Qz0iJENDIiBDWFg9IiRDWFgiIFhCUFNfQ0ZMQUdTPSIkQ0ZMQUdTIiBcCisJCQlYQlBTX0NYWEZM QUdTPSIkQ1hYRkxBR1MiIFhCUFNfTERGTEFHUz0iJExERkxBR1MiIFwKKwkJCSIkQCIKKwl9CisJ Xzd6X2J1aWxkIE89Yi9ub3JhciBESVNBQkxFX1JBUl9DT01QUkVTUz0xCisJXzd6X2J1aWxkIE89 Yi9yYXIKK30KKworXzd6X2luc3RhbGwoKSB7CisJYmluZGlyPSIkMSIKKwlkZXN0PSIkMiIKKwlz dWZmaXg9IiQzIgorCisJdmJpbiAiJHt3cmtzcmN9L0NQUC83emlwL0J1bmRsZXMvQWxvbmUyLyR7 YmluZGlyfS83enoiICI3ei0ke3N1ZmZpeH0iCisKKwl2bGljZW5zZSAiJHt3cmtzcmN9L0RPQy9M aWNlbnNlLnR4dCIKKworCSMgaHR0cHM6Ly9jZ2l0LmZyZWVic2Qub3JnL3BvcnRzL3BsYWluL2Fy Y2hpdmVycy83LXppcC9maWxlcy83enouMQorCXZtYW4gIiR7RklMRVNESVJ9Lzd6ei4xIiAiN3ot JHtzdWZmaXh9LjEiCit9CisKK2RvX2luc3RhbGwoKSB7CisJXzd6X2luc3RhbGwgYi9ub3JhciAi JERFU1RESVIiIGZyZWUKK30KKworN3ppcC11bnJhcl9wYWNrYWdlKCkgeworCWxpY2Vuc2UrPSIs IGN1c3RvbTpmcmVld2FyZSIKKwlyZXBvc2l0b3J5PW5vbmZyZWUKKwlzaG9ydF9kZXNjKz0iIC0g UkFSIHN1cHBvcnQiCisJYWx0ZXJuYXRpdmVzPSIKKwkgN3o6N3o6L3Vzci9iaW4vN3otdW5yYXIK KwkgN3o6N3phOi91c3IvYmluLzd6LXVucmFyCisJIDd6Ojd6cjovdXNyL2Jpbi83ei11bnJhcgor CSA3ejo3ei4xOi91c3Ivc2hhcmUvbWFuL21hbjEvN3otdW5yYXIuMSIKKworCXBrZ19pbnN0YWxs KCkgeworCQlfN3pfaW5zdGFsbCBiL3JhciAiJFBLR0RFU1RESVIiIHVucmFyCisJfQorfQorCitw N3ppcF9wYWNrYWdlKCkgeworCWJ1aWxkX3N0eWxlPW1ldGEKKwlkZXBlbmRzPTd6aXAKKwlzaG9y dF9kZXNjPSJDb21tYW5kLWxpbmUgdmVyc2lvbiBvZiB0aGUgN3ppcCBjb21wcmVzc2VkIGZpbGUg YXJjaGl2ZSAodHJhbnNpdGlvbmFsIGR1bW15IHBhY2thZ2UpIgorfQorCitwN3ppcC11bnJhcl9w YWNrYWdlKCkgeworCWJ1aWxkX3N0eWxlPW1ldGEKKwlkZXBlbmRzPTd6aXAtdW5yYXIKKwlzaG9y dF9kZXNjPSJDb21tYW5kLWxpbmUgdmVyc2lvbiBvZiB0aGUgN3ppcCBjb21wcmVzc2VkIGZpbGUg YXJjaGl2ZSAtIFJBUiBzdXBwb3J0ICh0cmFuc2l0aW9uYWwgZHVtbXkgcGFja2FnZSkiCit9CmRp ZmYgLS1naXQgYS9zcmNwa2dzLzd6aXAvdXBkYXRlIGIvc3JjcGtncy83emlwL3VwZGF0ZQpuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjU0NjNmMTQ4ZTRmOAotLS0gL2Rl di9udWxsCisrKyBiL3NyY3BrZ3MvN3ppcC91cGRhdGUKQEAgLTAsMCArMSwyIEBACitzaXRlPSdo dHRwczovLzctemlwLm9yZy9kb3dubG9hZC5odG1sJworcGF0dGVybj0nRG93bmxvYWQgNy1aaXAg XEtbXGQuXSsnCmRpZmYgLS1naXQgYS9zcmNwa2dzL3A3emlwIGIvc3JjcGtncy9wN3ppcApuZXcg ZmlsZSBtb2RlIDEyMDAwMAppbmRleCAwMDAwMDAwMDAwMDAuLjI4NDMxMjU5NWE0YwotLS0gL2Rl di9udWxsCisrKyBiL3NyY3BrZ3MvcDd6aXAKQEAgLTAsMCArMSBAQAorN3ppcApcIE5vIG5ld2xp bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcDd6aXAtdW5yYXIgYi9zcmNw a2dzL3A3emlwLXVucmFyCmluZGV4IGJmNTM0OWVlNjY2Ni4uMjg0MzEyNTk1YTRjIDEyMDAwMAot LS0gYS9zcmNwa2dzL3A3emlwLXVucmFyCisrKyBiL3NyY3BrZ3MvcDd6aXAtdW5yYXIKQEAgLTEg KzEgQEAKLXA3emlwClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorN3ppcApcIE5vIG5ld2xp bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcDd6aXAvcGF0Y2hlcy8yMC1D VkUtMjAxOC01OTk2LnBhdGNoIGIvc3JjcGtncy9wN3ppcC9wYXRjaGVzLzIwLUNWRS0yMDE4LTU5 OTYucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY3MzNiZmY5MTg5NS4uMDAw MDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvcDd6aXAvcGF0Y2hlcy8yMC1DVkUtMjAxOC01OTk2LnBh dGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjIxICswLDAgQEAKLUZyb206IFJvYmVydCBMdWJlcmRh IDxyb2JlcnRAZGViaWFuLm9yZz4KLURhdGU6IFN1biwgMjggSmFuIDIwMTggMjM6NDc6NDAgKzAx MDAKLVN1YmplY3Q6IENWRS0yMDE4LTU5OTYKLQotSG9wZWZ1bGx5IGZpeCBNZW1vcnkgQ29ycnVw dGlvbnMgdmlhIFJBUiBQUE1kIChDVkUtMjAxOC01OTk2KSBieQotYXBwbHlpbmcgYSBmZXcgY2hh bmdlcyBmcm9tIDdaaXAgMTguMDAtYmV0YS4KLQotQnVnLURlYmlhbjogaHR0cHM6Ly9idWdzLmRl Ymlhbi5vcmcvIzg4ODMxNAotLS0tCi0gQ1BQLzd6aXAvQ29tcHJlc3MvUmFyMURlY29kZXIuY3Bw IHwgMTMgKysrKysrKysrLS0tLQotIENQUC83emlwL0NvbXByZXNzL1JhcjFEZWNvZGVyLmggICB8 ICAxICsKLSBDUFAvN3ppcC9Db21wcmVzcy9SYXIyRGVjb2Rlci5jcHAgfCAxMCArKysrKysrKyst Ci0gQ1BQLzd6aXAvQ29tcHJlc3MvUmFyMkRlY29kZXIuaCAgIHwgIDEgKwotIENQUC83emlwL0Nv bXByZXNzL1JhcjNEZWNvZGVyLmNwcCB8IDIzICsrKysrKysrKysrKysrKysrKysrLS0tCi0gQ1BQ Lzd6aXAvQ29tcHJlc3MvUmFyM0RlY29kZXIuaCAgIHwgIDIgKysKLSA2IGZpbGVzIGNoYW5nZWQs IDQyIGluc2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9DUFAvN3pp cC9Db21wcmVzcy9SYXIxRGVjb2Rlci5jcHAgYi9DUFAvN3ppcC9Db21wcmVzcy9SYXIxRGVjb2Rl ci5jcHAKLWluZGV4IDFhYWVkY2MuLjY4MDMwYzcgMTAwNjQ0Ci0tLS0gYS9DUFAvN3ppcC9Db21w cmVzcy9SYXIxRGVjb2Rlci5jcHAKLSsrKyBiL0NQUC83emlwL0NvbXByZXNzL1JhcjFEZWNvZGVy LmNwcAotQEAgLTI5LDcgKzI5LDcgQEAgcHVibGljOgotIH07Ci0gKi8KLSAKLS1DRGVjb2Rlcjo6 Q0RlY29kZXIoKTogbV9Jc1NvbGlkKGZhbHNlKSB7IH0KLStDRGVjb2Rlcjo6Q0RlY29kZXIoKTog bV9Jc1NvbGlkKGZhbHNlKSwgX2Vycm9yTW9kZShmYWxzZSkgeyB9Ci0gCi0gdm9pZCBDRGVjb2Rl cjo6SW5pdFN0cnVjdHVyZXMoKQotIHsKLUBAIC00MDYsOSArNDA2LDE0IEBAIEhSRVNVTFQgQ0Rl Y29kZXI6OkNvZGVSZWFsKElTZXF1ZW50aWFsSW5TdHJlYW0gKmluU3RyZWFtLCBJU2VxdWVudGlh bE91dFN0cmVhbSAqCi0gICBJbml0RGF0YSgpOwotICAgaWYgKCFtX0lzU29saWQpCi0gICB7Ci0r ICAgIF9lcnJvck1vZGUgPSBmYWxzZTsKLSAgICAgSW5pdFN0cnVjdHVyZXMoKTsKLSAgICAgSW5p dEh1ZmYoKTsKLSAgIH0KLSsKLSsgIGlmIChfZXJyb3JNb2RlKQotKyAgICByZXR1cm4gU19GQUxT RTsKLSsKLSAgIGlmIChtX1VucGFja1NpemUgPiAwKQotICAgewotICAgICBHZXRGbGFnc0J1Zigp OwotQEAgLTQ3Nyw5ICs0ODIsOSBAQCBTVERNRVRIT0RJTVAgQ0RlY29kZXI6OkNvZGUoSVNlcXVl bnRpYWxJblN0cmVhbSAqaW5TdHJlYW0sIElTZXF1ZW50aWFsT3V0U3RyZWFtCi0gICAgIGNvbnN0 IFVJbnQ2NCAqaW5TaXplLCBjb25zdCBVSW50NjQgKm91dFNpemUsIElDb21wcmVzc1Byb2dyZXNz SW5mbyAqcHJvZ3Jlc3MpCi0gewotICAgdHJ5IHsgcmV0dXJuIENvZGVSZWFsKGluU3RyZWFtLCBv dXRTdHJlYW0sIGluU2l6ZSwgb3V0U2l6ZSwgcHJvZ3Jlc3MpOyB9Ci0tICBjYXRjaChjb25zdCBD SW5CdWZmZXJFeGNlcHRpb24gJmUpIHsgcmV0dXJuIGUuRXJyb3JDb2RlOyB9Ci0tICBjYXRjaChj b25zdCBDTHpPdXRXaW5kb3dFeGNlcHRpb24gJmUpIHsgcmV0dXJuIGUuRXJyb3JDb2RlOyB9Ci0t ICBjYXRjaCguLi4pIHsgcmV0dXJuIFNfRkFMU0U7IH0KLSsgIGNhdGNoKGNvbnN0IENJbkJ1ZmZl ckV4Y2VwdGlvbiAmZSkgeyBfZXJyb3JNb2RlID0gdHJ1ZTsgcmV0dXJuIGUuRXJyb3JDb2RlOyB9 Ci0rICBjYXRjaChjb25zdCBDTHpPdXRXaW5kb3dFeGNlcHRpb24gJmUpIHsgX2Vycm9yTW9kZSA9 IHRydWU7IHJldHVybiBlLkVycm9yQ29kZTsgfQotKyAgY2F0Y2goLi4uKSB7IF9lcnJvck1vZGUg PSB0cnVlOyByZXR1cm4gU19GQUxTRTsgfQotIH0KLSAKLSBTVERNRVRIT0RJTVAgQ0RlY29kZXI6 OlNldERlY29kZXJQcm9wZXJ0aWVzMihjb25zdCBCeXRlICpkYXRhLCBVSW50MzIgc2l6ZSkKLWRp ZmYgLS1naXQgYS9DUFAvN3ppcC9Db21wcmVzcy9SYXIxRGVjb2Rlci5oIGIvQ1BQLzd6aXAvQ29t cHJlc3MvUmFyMURlY29kZXIuaAotaW5kZXggNjMwZjA4OS4uMDFiNjA2YiAxMDA2NDQKLS0tLSBh L0NQUC83emlwL0NvbXByZXNzL1JhcjFEZWNvZGVyLmgKLSsrKyBiL0NQUC83emlwL0NvbXByZXNz L1JhcjFEZWNvZGVyLmgKLUBAIC0zOSw2ICszOSw3IEBAIHB1YmxpYzoKLSAKLSAgIEludDY0IG1f VW5wYWNrU2l6ZTsKLSAgIGJvb2wgbV9Jc1NvbGlkOwotKyAgYm9vbCBfZXJyb3JNb2RlOwotIAot ICAgVUludDMyIFJlYWRCaXRzKGludCBudW1CaXRzKTsKLSAgIEhSRVNVTFQgQ29weUJsb2NrKFVJ bnQzMiBkaXN0YW5jZSwgVUludDMyIGxlbik7Ci1kaWZmIC0tZ2l0IGEvQ1BQLzd6aXAvQ29tcHJl c3MvUmFyMkRlY29kZXIuY3BwIGIvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyMkRlY29kZXIuY3BwCi1p bmRleCBiM2YyYjRiLi4wNTgwYzhkIDEwMDY0NAotLS0tIGEvQ1BQLzd6aXAvQ29tcHJlc3MvUmFy MkRlY29kZXIuY3BwCi0rKysgYi9DUFAvN3ppcC9Db21wcmVzcy9SYXIyRGVjb2Rlci5jcHAKLUBA IC04MCw3ICs4MCw4IEBAIHN0YXRpYyBjb25zdCBVSW50MzIga0hpc3RvcnlTaXplID0gMSA8PCAy MDsKLSBzdGF0aWMgY29uc3QgVUludDMyIGtXaW5kb3dSZXNlcnZTaXplID0gKDEgPDwgMjIpICsg MjU2OwotIAotIENEZWNvZGVyOjpDRGVjb2RlcigpOgotLSAgbV9Jc1NvbGlkKGZhbHNlKQotKyAg bV9Jc1NvbGlkKGZhbHNlKSwKLSsgIG1fVGFibGVzT0soZmFsc2UpCi0gewotIH0KLSAKLUBAIC0x MDAsNiArMTAxLDggQEAgVUludDMyIENEZWNvZGVyOjpSZWFkQml0cyh1bnNpZ25lZCBudW1CaXRz KSB7IHJldHVybiBtX0luQml0U3RyZWFtLlJlYWRCaXRzKG51bUIKLSAKLSBib29sIENEZWNvZGVy OjpSZWFkVGFibGVzKHZvaWQpCi0gewotKyAgbV9UYWJsZXNPSyA9IGZhbHNlOwotKwotICAgQnl0 ZSBsZXZlbExldmVsc1trTGV2ZWxUYWJsZVNpemVdOwotICAgQnl0ZSBuZXdMZXZlbHNba01heFRh YmxlU2l6ZV07Ci0gICBtX0F1ZGlvTW9kZSA9IChSZWFkQml0cygxKSA9PSAxKTsKLUBAIC0xNzAs NiArMTczLDggQEAgYm9vbCBDRGVjb2Rlcjo6UmVhZFRhYmxlcyh2b2lkKQotICAgfQotICAgCi0g ICBtZW1jcHkobV9MYXN0TGV2ZWxzLCBuZXdMZXZlbHMsIGtNYXhUYWJsZVNpemUpOwotKyAgbV9U YWJsZXNPSyA9IHRydWU7Ci0rCi0gICByZXR1cm4gdHJ1ZTsKLSB9Ci0gCi1AQCAtMzQ0LDYgKzM0 OSw5IEBAIEhSRVNVTFQgQ0RlY29kZXI6OkNvZGVSZWFsKElTZXF1ZW50aWFsSW5TdHJlYW0gKmlu U3RyZWFtLCBJU2VxdWVudGlhbE91dFN0cmVhbSAqCi0gICAgICAgcmV0dXJuIFNfRkFMU0U7Ci0g ICB9Ci0gCi0rICBpZiAoIW1fVGFibGVzT0spCi0rICAgIHJldHVybiBTX0ZBTFNFOwotKwotICAg VUludDY0IHN0YXJ0UG9zID0gbV9PdXRXaW5kb3dTdHJlYW0uR2V0UHJvY2Vzc2VkU2l6ZSgpOwot ICAgd2hpbGUgKHBvcyA8IHVuUGFja1NpemUpCi0gICB7Ci1kaWZmIC0tZ2l0IGEvQ1BQLzd6aXAv Q29tcHJlc3MvUmFyMkRlY29kZXIuaCBiL0NQUC83emlwL0NvbXByZXNzL1JhcjJEZWNvZGVyLmgK LWluZGV4IDNhMDUzNWMuLjBlOTAwNWYgMTAwNjQ0Ci0tLS0gYS9DUFAvN3ppcC9Db21wcmVzcy9S YXIyRGVjb2Rlci5oCi0rKysgYi9DUFAvN3ppcC9Db21wcmVzcy9SYXIyRGVjb2Rlci5oCi1AQCAt MTM5LDYgKzEzOSw3IEBAIGNsYXNzIENEZWNvZGVyIDoKLSAKLSAgIFVJbnQ2NCBtX1BhY2tTaXpl OwotICAgYm9vbCBtX0lzU29saWQ7Ci0rICBib29sIG1fVGFibGVzT0s7Ci0gCi0gICB2b2lkIElu aXRTdHJ1Y3R1cmVzKCk7Ci0gICBVSW50MzIgUmVhZEJpdHModW5zaWduZWQgbnVtQml0cyk7Ci1k aWZmIC0tZ2l0IGEvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyM0RlY29kZXIuY3BwIGIvQ1BQLzd6aXAv Q29tcHJlc3MvUmFyM0RlY29kZXIuY3BwCi1pbmRleCAzYmYyNTEzLi42Y2I4YTZhIDEwMDY0NAot LS0tIGEvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyM0RlY29kZXIuY3BwCi0rKysgYi9DUFAvN3ppcC9D b21wcmVzcy9SYXIzRGVjb2Rlci5jcHAKLUBAIC05Miw3ICs5Miw4IEBAIENEZWNvZGVyOjpDRGVj b2RlcigpOgotICAgX3dyaXR0ZW5GaWxlU2l6ZSgwKSwKLSAgIF92bURhdGEoMCksCi0gICBfdm1D b2RlKDApLAotLSAgbV9Jc1NvbGlkKGZhbHNlKQotKyAgbV9Jc1NvbGlkKGZhbHNlKSwKLSsgIF9l cnJvck1vZGUoZmFsc2UpCi0gewotICAgUHBtZDdfQ29uc3RydWN0KCZfcHBtZCk7Ci0gfQotQEAg LTU0NSw2ICs1NDYsOSBAQCBIUkVTVUxUIENEZWNvZGVyOjpSZWFkVGFibGVzKGJvb2wgJmtlZXBE ZWNvbXByZXNzaW5nKQotICAgICByZXR1cm4gSW5pdFBQTSgpOwotICAgfQotIAotKyAgVGFibGVz UmVhZCA9IGZhbHNlOwotKyAgVGFibGVzT0sgPSBmYWxzZTsKLSsKLSAgIF9sek1vZGUgPSB0cnVl OwotICAgUHJldkFsaWduQml0cyA9IDA7Ci0gICBQcmV2QWxpZ25Db3VudCA9IDA7Ci1AQCAtNjA2 LDYgKzYxMCw5IEBAIEhSRVNVTFQgQ0RlY29kZXI6OlJlYWRUYWJsZXMoYm9vbCAma2VlcERlY29t cHJlc3NpbmcpCi0gICAgICAgfQotICAgICB9Ci0gICB9Ci0rICBpZiAoSW5wdXRFb2ZFcnJvcigp KQotKyAgICByZXR1cm4gU19GQUxTRTsKLSsKLSAgIFRhYmxlc1JlYWQgPSB0cnVlOwotIAotICAg Ly8gb3JpZ2luYWwgY29kZSBoYXMgY2hlY2sgaGVyZToKLUBAIC02MjMsNiArNjMwLDkgQEAgSFJF U1VMVCBDRGVjb2Rlcjo6UmVhZFRhYmxlcyhib29sICZrZWVwRGVjb21wcmVzc2luZykKLSAgIFJJ RihtX0xlbkRlY29kZXIuQnVpbGQoJm5ld0xldmVsc1trTWFpblRhYmxlU2l6ZSArIGtEaXN0VGFi bGVTaXplICsga0FsaWduVGFibGVTaXplXSkpOwotIAotICAgbWVtY3B5KG1fTGFzdExldmVscywg bmV3TGV2ZWxzLCBrVGFibGVzU2l6ZXNTdW0pOwotKwotKyAgVGFibGVzT0sgPSB0cnVlOwotKwot ICAgcmV0dXJuIFNfT0s7Ci0gfQotIAotQEAgLTgyNCw3ICs4MzQsMTIgQEAgSFJFU1VMVCBDRGVj b2Rlcjo6Q29kZVJlYWwoSUNvbXByZXNzUHJvZ3Jlc3NJbmZvICpwcm9ncmVzcykKLSAgICAgUHBt RXNjQ2hhciA9IDI7Ci0gICAgIFBwbUVycm9yID0gdHJ1ZTsKLSAgICAgSW5pdEZpbHRlcnMoKTsK LSsgICAgX2Vycm9yTW9kZSA9IGZhbHNlOwotICAgfQotKwotKyAgaWYgKF9lcnJvck1vZGUpCi0r ICAgIHJldHVybiBTX0ZBTFNFOwotKwotICAgaWYgKCFtX0lzU29saWQgfHwgIVRhYmxlc1JlYWQp Ci0gICB7Ci0gICAgIGJvb2wga2VlcERlY29tcHJlc3Npbmc7Ci1AQCAtODM4LDYgKzg1Myw4IEBA IEhSRVNVTFQgQ0RlY29kZXI6OkNvZGVSZWFsKElDb21wcmVzc1Byb2dyZXNzSW5mbyAqcHJvZ3Jl c3MpCi0gICAgIGJvb2wga2VlcERlY29tcHJlc3Npbmc7Ci0gICAgIGlmIChfbHpNb2RlKQotICAg ICB7Ci0rICAgICAgaWYgKCFUYWJsZXNPSykKLSsgICAgICAgIHJldHVybiBTX0ZBTFNFOwotICAg ICAgIFJJTk9LKERlY29kZUxaKGtlZXBEZWNvbXByZXNzaW5nKSkKLSAgICAgfQotICAgICBlbHNl Ci1AQCAtOTAxLDggKzkxOCw4IEBAIFNURE1FVEhPRElNUCBDRGVjb2Rlcjo6Q29kZShJU2VxdWVu dGlhbEluU3RyZWFtICppblN0cmVhbSwgSVNlcXVlbnRpYWxPdXRTdHJlYW0KLSAgICAgX3VucGFj a1NpemUgPSBvdXRTaXplID8gKm91dFNpemUgOiAoVUludDY0KShJbnQ2NCktMTsKLSAgICAgcmV0 dXJuIENvZGVSZWFsKHByb2dyZXNzKTsKLSAgIH0KLS0gIGNhdGNoKGNvbnN0IENJbkJ1ZmZlckV4 Y2VwdGlvbiAmZSkgIHsgcmV0dXJuIGUuRXJyb3JDb2RlOyB9Ci0tICBjYXRjaCguLi4pIHsgcmV0 dXJuIFNfRkFMU0U7IH0KLSsgIGNhdGNoKGNvbnN0IENJbkJ1ZmZlckV4Y2VwdGlvbiAmZSkgIHsg X2Vycm9yTW9kZSA9IHRydWU7IHJldHVybiBlLkVycm9yQ29kZTsgfQotKyAgY2F0Y2goLi4uKSB7 IF9lcnJvck1vZGUgPSB0cnVlOyByZXR1cm4gU19GQUxTRTsgfQotICAgLy8gQ05ld0V4Y2VwdGlv biBpcyBwb3NzaWJsZSBoZXJlLiBCdXQgcHJvYmFibHkgQ05ld0V4Y2VwdGlvbiBpcyBjYXVzZWQK LSAgIC8vIGJ5IGVycm9yIGluIGRhdGEgc3RyZWFtLgotIH0KLWRpZmYgLS1naXQgYS9DUFAvN3pp cC9Db21wcmVzcy9SYXIzRGVjb2Rlci5oIGIvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyM0RlY29kZXIu aAotaW5kZXggYzEzMGNlYy4uMmY3MmQ3ZCAxMDA2NDQKLS0tLSBhL0NQUC83emlwL0NvbXByZXNz L1JhcjNEZWNvZGVyLmgKLSsrKyBiL0NQUC83emlwL0NvbXByZXNzL1JhcjNEZWNvZGVyLmgKLUBA IC0xOTIsNiArMTkyLDcgQEAgY2xhc3MgQ0RlY29kZXI6Ci0gICBVSW50MzIgX2xhc3RGaWx0ZXI7 Ci0gCi0gICBib29sIG1fSXNTb2xpZDsKLSsgIGJvb2wgX2Vycm9yTW9kZTsKLSAKLSAgIGJvb2wg X2x6TW9kZTsKLSAgIGJvb2wgX3Vuc3VwcG9ydGVkRmlsdGVyOwotQEAgLTIwMCw2ICsyMDEsNyBA QCBjbGFzcyBDRGVjb2RlcjoKLSAgIFVJbnQzMiBQcmV2QWxpZ25Db3VudDsKLSAKLSAgIGJvb2wg VGFibGVzUmVhZDsKLSsgIGJvb2wgVGFibGVzT0s7Ci0gCi0gICBDUHBtZDcgX3BwbWQ7Ci0gICBp bnQgUHBtRXNjQ2hhcjsKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcDd6aXAvcGF0Y2hlcy8zMC1DVkUt MjAxOC0xMDExNS5wYXRjaCBiL3NyY3BrZ3MvcDd6aXAvcGF0Y2hlcy8zMC1DVkUtMjAxOC0xMDEx NS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2Q5YzRiZjgxZjAwLi4wMDAw MDAwMDAwMDAKLS0tIGEvc3JjcGtncy9wN3ppcC9wYXRjaGVzLzMwLUNWRS0yMDE4LTEwMTE1LnBh dGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzExICswLDAgQEAKLUZyb206IFJvYmVydCBMdWJlcmRh IDxyb2JlcnRAZGViaWFuLm9yZz4KLURhdGU6IFR1ZSwgMjkgTWF5IDIwMTggMjM6NTk6MDkgKzAy MDAKLVN1YmplY3Q6IEZpeCBDVkUtMjAxOC0xMDExNQotCi1BcHBseSAicGF0Y2giIHRha2VuIGZy b20gaHR0cHM6Ly9sYW5kYXZlLmlvL2ZpbGVzL3BhdGNoXzd6aXBfQ1ZFLTIwMTgtMTAxMTUudHh0 Ci0KLQotQnVncy1EZWJpYW46IGh0dHBzOi8vYnVncy5kZWJpYW4ub3JnLzg5NzY3NAotLS0tCi0g Q1BQLzd6aXAvQ29tcHJlc3MvUmFyMURlY29kZXIuY3BwIHwgMTYgKysrKysrKysrKystLS0tLQot IENQUC83emlwL0NvbXByZXNzL1JhcjFEZWNvZGVyLmggICB8ICAzICsrLQotIENQUC83emlwL0Nv bXByZXNzL1JhcjJEZWNvZGVyLmNwcCB8IDE3ICsrKysrKysrKysrKystLS0tCi0gQ1BQLzd6aXAv Q29tcHJlc3MvUmFyMkRlY29kZXIuaCAgIHwgIDMgKystCi0gQ1BQLzd6aXAvQ29tcHJlc3MvUmFy M0RlY29kZXIuY3BwIHwgMTkgKysrKysrKysrKysrKysrLS0tLQotIENQUC83emlwL0NvbXByZXNz L1JhcjNEZWNvZGVyLmggICB8ICAzICsrLQotIENQUC83emlwL0NvbXByZXNzL1JhcjVEZWNvZGVy LmNwcCB8ICA4ICsrKysrKysrCi0gQ1BQLzd6aXAvQ29tcHJlc3MvUmFyNURlY29kZXIuaCAgIHwg IDEgKwotIDggZmlsZXMgY2hhbmdlZCwgNTQgaW5zZXJ0aW9ucygrKSwgMTYgZGVsZXRpb25zKC0p Ci0KLWRpZmYgLS1naXQgYS9DUFAvN3ppcC9Db21wcmVzcy9SYXIxRGVjb2Rlci5jcHAgYi9DUFAv N3ppcC9Db21wcmVzcy9SYXIxRGVjb2Rlci5jcHAKLWluZGV4IDY4MDMwYzcuLjhjODkwYzggMTAw NjQ0Ci0tLS0gYS9DUFAvN3ppcC9Db21wcmVzcy9SYXIxRGVjb2Rlci5jcHAKLSsrKyBiL0NQUC83 emlwL0NvbXByZXNzL1JhcjFEZWNvZGVyLmNwcAotQEAgLTI5LDcgKzI5LDcgQEAgcHVibGljOgot IH07Ci0gKi8KLSAKLS1DRGVjb2Rlcjo6Q0RlY29kZXIoKTogbV9Jc1NvbGlkKGZhbHNlKSwgX2Vy cm9yTW9kZShmYWxzZSkgeyB9Ci0rQ0RlY29kZXI6OkNEZWNvZGVyKCk6IF9pc1NvbGlkKGZhbHNl KSwgX3NvbGlkQWxsb3dlZChmYWxzZSksIF9lcnJvck1vZGUoZmFsc2UpIHsgfQotIAotIHZvaWQg Q0RlY29kZXI6OkluaXRTdHJ1Y3R1cmVzKCkKLSB7Ci1AQCAtMzQ1LDcgKzM0NSw3IEBAIHZvaWQg Q0RlY29kZXI6OkdldEZsYWdzQnVmKCkKLSAKLSB2b2lkIENEZWNvZGVyOjpJbml0RGF0YSgpCi0g ewotLSAgaWYgKCFtX0lzU29saWQpCi0rICBpZiAoIV9pc1NvbGlkKQotICAgewotICAgICBBdnJQ bGNCID0gQXZyTG4xID0gQXZyTG4yID0gQXZyTG4zID0gTnVtSHVmID0gQnVmNjAgPSAwOwotICAg ICBBdnJQbGMgPSAweDM1MDA7Ci1AQCAtMzkxLDYgKzM5MSwxMSBAQCBIUkVTVUxUIENEZWNvZGVy OjpDb2RlUmVhbChJU2VxdWVudGlhbEluU3RyZWFtICppblN0cmVhbSwgSVNlcXVlbnRpYWxPdXRT dHJlYW0gKgotICAgaWYgKGluU2l6ZSA9PSBOVUxMIHx8IG91dFNpemUgPT0gTlVMTCkKLSAgICAg cmV0dXJuIEVfSU5WQUxJREFSRzsKLSAKLSsgIGlmIChfaXNTb2xpZCAmJiAhX3NvbGlkQWxsb3dl ZCkKLSsgICAgcmV0dXJuIFNfRkFMU0U7Ci0rCi0rICBfc29saWRBbGxvd2VkID0gZmFsc2U7Ci0r Ci0gICBpZiAoIW1fT3V0V2luZG93U3RyZWFtLkNyZWF0ZShrSGlzdG9yeVNpemUpKQotICAgICBy ZXR1cm4gRV9PVVRPRk1FTU9SWTsKLSAgIGlmICghbV9JbkJpdFN0cmVhbS5DcmVhdGUoMSA8PCAy MCkpCi1AQCAtMzk4LDEzICs0MDMsMTMgQEAgSFJFU1VMVCBDRGVjb2Rlcjo6Q29kZVJlYWwoSVNl cXVlbnRpYWxJblN0cmVhbSAqaW5TdHJlYW0sIElTZXF1ZW50aWFsT3V0U3RyZWFtICoKLSAKLSAg IG1fVW5wYWNrU2l6ZSA9IChJbnQ2NCkqb3V0U2l6ZTsKLSAgIG1fT3V0V2luZG93U3RyZWFtLlNl dFN0cmVhbShvdXRTdHJlYW0pOwotLSAgbV9PdXRXaW5kb3dTdHJlYW0uSW5pdChtX0lzU29saWQp OwotKyAgbV9PdXRXaW5kb3dTdHJlYW0uSW5pdChfaXNTb2xpZCk7Ci0gICBtX0luQml0U3RyZWFt LlNldFN0cmVhbShpblN0cmVhbSk7Ci0gICBtX0luQml0U3RyZWFtLkluaXQoKTsKLSAKLSAgIC8v IENDb2RlclJlbGVhc2VyIGNvZGVyUmVsZWFzZXIodGhpcyk7Ci0gICBJbml0RGF0YSgpOwotLSAg aWYgKCFtX0lzU29saWQpCi0rICBpZiAoIV9pc1NvbGlkKQotICAgewotICAgICBfZXJyb3JNb2Rl ID0gZmFsc2U7Ci0gICAgIEluaXRTdHJ1Y3R1cmVzKCk7Ci1AQCAtNDc1LDYgKzQ4MCw3IEBAIEhS RVNVTFQgQ0RlY29kZXI6OkNvZGVSZWFsKElTZXF1ZW50aWFsSW5TdHJlYW0gKmluU3RyZWFtLCBJ U2VxdWVudGlhbE91dFN0cmVhbSAqCi0gICB9Ci0gICBpZiAobV9VbnBhY2tTaXplIDwgMCkKLSAg ICAgcmV0dXJuIFNfRkFMU0U7Ci0rICBfc29saWRBbGxvd2VkID0gdHJ1ZTsKLSAgIHJldHVybiBt X091dFdpbmRvd1N0cmVhbS5GbHVzaCgpOwotIH0KLSAKLUBAIC00OTEsNyArNDk3LDcgQEAgU1RE TUVUSE9ESU1QIENEZWNvZGVyOjpTZXREZWNvZGVyUHJvcGVydGllczIoY29uc3QgQnl0ZSAqZGF0 YSwgVUludDMyIHNpemUpCi0gewotICAgaWYgKHNpemUgPCAxKQotICAgICByZXR1cm4gRV9JTlZB TElEQVJHOwotLSAgbV9Jc1NvbGlkID0gKChkYXRhWzBdICYgMSkgIT0gMCk7Ci0rICBfaXNTb2xp ZCA9ICgoZGF0YVswXSAmIDEpICE9IDApOwotICAgcmV0dXJuIFNfT0s7Ci0gfQotIAotZGlmZiAt LWdpdCBhL0NQUC83emlwL0NvbXByZXNzL1JhcjFEZWNvZGVyLmggYi9DUFAvN3ppcC9Db21wcmVz cy9SYXIxRGVjb2Rlci5oCi1pbmRleCAwMWI2MDZiLi44YWJiM2EzIDEwMDY0NAotLS0tIGEvQ1BQ Lzd6aXAvQ29tcHJlc3MvUmFyMURlY29kZXIuaAotKysrIGIvQ1BQLzd6aXAvQ29tcHJlc3MvUmFy MURlY29kZXIuaAotQEAgLTM4LDcgKzM4LDggQEAgcHVibGljOgotICAgVUludDMyIExhc3RMZW5n dGg7Ci0gCi0gICBJbnQ2NCBtX1VucGFja1NpemU7Ci0tICBib29sIG1fSXNTb2xpZDsKLSsgIGJv b2wgX2lzU29saWQ7Ci0rICBib29sIF9zb2xpZEFsbG93ZWQ7Ci0gICBib29sIF9lcnJvck1vZGU7 Ci0gCi0gICBVSW50MzIgUmVhZEJpdHMoaW50IG51bUJpdHMpOwotZGlmZiAtLWdpdCBhL0NQUC83 emlwL0NvbXByZXNzL1JhcjJEZWNvZGVyLmNwcCBiL0NQUC83emlwL0NvbXByZXNzL1JhcjJEZWNv ZGVyLmNwcAotaW5kZXggMDU4MGM4ZC4uYmU4ZDg0MiAxMDA2NDQKLS0tLSBhL0NQUC83emlwL0Nv bXByZXNzL1JhcjJEZWNvZGVyLmNwcAotKysrIGIvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyMkRlY29k ZXIuY3BwCi1AQCAtODAsNyArODAsOCBAQCBzdGF0aWMgY29uc3QgVUludDMyIGtIaXN0b3J5U2l6 ZSA9IDEgPDwgMjA7Ci0gc3RhdGljIGNvbnN0IFVJbnQzMiBrV2luZG93UmVzZXJ2U2l6ZSA9ICgx IDw8IDIyKSArIDI1NjsKLSAKLSBDRGVjb2Rlcjo6Q0RlY29kZXIoKToKLS0gIG1fSXNTb2xpZChm YWxzZSksCi0rICBfaXNTb2xpZChmYWxzZSksCi0rICBfc29saWRBbGxvd2VkKGZhbHNlKSwKLSAg IG1fVGFibGVzT0soZmFsc2UpCi0gewotIH0KLUBAIC0zMjAsNiArMzIxLDEwIEBAIEhSRVNVTFQg Q0RlY29kZXI6OkNvZGVSZWFsKElTZXF1ZW50aWFsSW5TdHJlYW0gKmluU3RyZWFtLCBJU2VxdWVu dGlhbE91dFN0cmVhbSAqCi0gICBpZiAoaW5TaXplID09IE5VTEwgfHwgb3V0U2l6ZSA9PSBOVUxM KQotICAgICByZXR1cm4gRV9JTlZBTElEQVJHOwotIAotKyAgaWYgKF9pc1NvbGlkICYmICFfc29s aWRBbGxvd2VkKQotKyAgICByZXR1cm4gU19GQUxTRTsKLSsgIF9zb2xpZEFsbG93ZWQgPSBmYWxz ZTsKLSsKLSAgIGlmICghbV9PdXRXaW5kb3dTdHJlYW0uQ3JlYXRlKGtIaXN0b3J5U2l6ZSkpCi0g ICAgIHJldHVybiBFX09VVE9GTUVNT1JZOwotICAgaWYgKCFtX0luQml0U3RyZWFtLkNyZWF0ZSgx IDw8IDIwKSkKLUBAIC0zMzAsMTIgKzMzNSwxMiBAQCBIUkVTVUxUIENEZWNvZGVyOjpDb2RlUmVh bChJU2VxdWVudGlhbEluU3RyZWFtICppblN0cmVhbSwgSVNlcXVlbnRpYWxPdXRTdHJlYW0gKgot ICAgVUludDY0IHBvcyA9IDAsIHVuUGFja1NpemUgPSAqb3V0U2l6ZTsKLSAgIAotICAgbV9PdXRX aW5kb3dTdHJlYW0uU2V0U3RyZWFtKG91dFN0cmVhbSk7Ci0tICBtX091dFdpbmRvd1N0cmVhbS5J bml0KG1fSXNTb2xpZCk7Ci0rICBtX091dFdpbmRvd1N0cmVhbS5Jbml0KF9pc1NvbGlkKTsKLSAg IG1fSW5CaXRTdHJlYW0uU2V0U3RyZWFtKGluU3RyZWFtKTsKLSAgIG1fSW5CaXRTdHJlYW0uSW5p dCgpOwotIAotICAgLy8gQ0NvZGVyUmVsZWFzZXIgY29kZXJSZWxlYXNlcih0aGlzKTsKLS0gIGlm ICghbV9Jc1NvbGlkKQotKyAgaWYgKCFfaXNTb2xpZCkKLSAgIHsKLSAgICAgSW5pdFN0cnVjdHVy ZXMoKTsKLSAgICAgaWYgKHVuUGFja1NpemUgPT0gMCkKLUBAIC0zNDMsNiArMzQ4LDcgQEAgSFJF U1VMVCBDRGVjb2Rlcjo6Q29kZVJlYWwoSVNlcXVlbnRpYWxJblN0cmVhbSAqaW5TdHJlYW0sIElT ZXF1ZW50aWFsT3V0U3RyZWFtICoKLSAgICAgICBpZiAobV9JbkJpdFN0cmVhbS5HZXRQcm9jZXNz ZWRTaXplKCkgKyAyIDw9IG1fUGFja1NpemUpIC8vIHRlc3QgaXQ6IHByb2JhYmx5IGluY29ycmVj dDsKLSAgICAgICAgIGlmICghUmVhZFRhYmxlcygpKQotICAgICAgICAgICByZXR1cm4gU19GQUxT RTsKLSsgICAgICBfc29saWRBbGxvd2VkID0gdHJ1ZTsKLSAgICAgICByZXR1cm4gU19PSzsKLSAg ICAgfQotICAgICBpZiAoIVJlYWRUYWJsZXMoKSkKLUBAIC0zODYsNiArMzkyLDkgQEAgSFJFU1VM VCBDRGVjb2Rlcjo6Q29kZVJlYWwoSVNlcXVlbnRpYWxJblN0cmVhbSAqaW5TdHJlYW0sIElTZXF1 ZW50aWFsT3V0U3RyZWFtICoKLSAKLSAgIGlmICghUmVhZExhc3RUYWJsZXMoKSkKLSAgICAgcmV0 dXJuIFNfRkFMU0U7Ci0rCi0rICBfc29saWRBbGxvd2VkID0gdHJ1ZTsKLSsKLSAgIHJldHVybiBt X091dFdpbmRvd1N0cmVhbS5GbHVzaCgpOwotIH0KLSAKLUBAIC00MDIsNyArNDExLDcgQEAgU1RE TUVUSE9ESU1QIENEZWNvZGVyOjpTZXREZWNvZGVyUHJvcGVydGllczIoY29uc3QgQnl0ZSAqZGF0 YSwgVUludDMyIHNpemUpCi0gewotICAgaWYgKHNpemUgPCAxKQotICAgICByZXR1cm4gRV9JTlZB TElEQVJHOwotLSAgbV9Jc1NvbGlkID0gKChkYXRhWzBdICYgMSkgIT0gMCk7Ci0rICBfaXNTb2xp ZCA9ICgoZGF0YVswXSAmIDEpICE9IDApOwotICAgcmV0dXJuIFNfT0s7Ci0gfQotIAotZGlmZiAt LWdpdCBhL0NQUC83emlwL0NvbXByZXNzL1JhcjJEZWNvZGVyLmggYi9DUFAvN3ppcC9Db21wcmVz cy9SYXIyRGVjb2Rlci5oCi1pbmRleCAwZTkwMDVmLi4zNzBiY2UyIDEwMDY0NAotLS0tIGEvQ1BQ Lzd6aXAvQ29tcHJlc3MvUmFyMkRlY29kZXIuaAotKysrIGIvQ1BQLzd6aXAvQ29tcHJlc3MvUmFy MkRlY29kZXIuaAotQEAgLTEzOCw3ICsxMzgsOCBAQCBjbGFzcyBDRGVjb2RlciA6Ci0gICBCeXRl IG1fTGFzdExldmVsc1trTWF4VGFibGVTaXplXTsKLSAKLSAgIFVJbnQ2NCBtX1BhY2tTaXplOwot LSAgYm9vbCBtX0lzU29saWQ7Ci0rICBib29sIF9pc1NvbGlkOwotKyAgYm9vbCBfc29saWRBbGxv d2VkOwotICAgYm9vbCBtX1RhYmxlc09LOwotIAotICAgdm9pZCBJbml0U3RydWN0dXJlcygpOwot ZGlmZiAtLWdpdCBhL0NQUC83emlwL0NvbXByZXNzL1JhcjNEZWNvZGVyLmNwcCBiL0NQUC83emlw L0NvbXByZXNzL1JhcjNEZWNvZGVyLmNwcAotaW5kZXggNmNiOGE2YS4uN2I4NTgzMyAxMDA2NDQK LS0tLSBhL0NQUC83emlwL0NvbXByZXNzL1JhcjNEZWNvZGVyLmNwcAotKysrIGIvQ1BQLzd6aXAv Q29tcHJlc3MvUmFyM0RlY29kZXIuY3BwCi1AQCAtOTIsNyArOTIsOCBAQCBDRGVjb2Rlcjo6Q0Rl Y29kZXIoKToKLSAgIF93cml0dGVuRmlsZVNpemUoMCksCi0gICBfdm1EYXRhKDApLAotICAgX3Zt Q29kZSgwKSwKLS0gIG1fSXNTb2xpZChmYWxzZSksCi0rICBfaXNTb2xpZChmYWxzZSksCi0rICBf c29saWRBbGxvd2VkKGZhbHNlKSwKLSAgIF9lcnJvck1vZGUoZmFsc2UpCi0gewotICAgUHBtZDdf Q29uc3RydWN0KCZfcHBtZCk7Ci1AQCAtODIxLDcgKzgyMiw3IEBAIEhSRVNVTFQgQ0RlY29kZXI6 OkNvZGVSZWFsKElDb21wcmVzc1Byb2dyZXNzSW5mbyAqcHJvZ3Jlc3MpCi0gewotICAgX3dyaXR0 ZW5GaWxlU2l6ZSA9IDA7Ci0gICBfdW5zdXBwb3J0ZWRGaWx0ZXIgPSBmYWxzZTsKLS0gIGlmICgh bV9Jc1NvbGlkKQotKyAgaWYgKCFfaXNTb2xpZCkKLSAgIHsKLSAgICAgX2x6U2l6ZSA9IDA7Ci0g ICAgIF93aW5Qb3MgPSAwOwotQEAgLTg0MCwxMiArODQxLDE1IEBAIEhSRVNVTFQgQ0RlY29kZXI6 OkNvZGVSZWFsKElDb21wcmVzc1Byb2dyZXNzSW5mbyAqcHJvZ3Jlc3MpCi0gICBpZiAoX2Vycm9y TW9kZSkKLSAgICAgcmV0dXJuIFNfRkFMU0U7Ci0gCi0tICBpZiAoIW1fSXNTb2xpZCB8fCAhVGFi bGVzUmVhZCkKLSsgIGlmICghX2lzU29saWQgfHwgIVRhYmxlc1JlYWQpCi0gICB7Ci0gICAgIGJv b2wga2VlcERlY29tcHJlc3Npbmc7Ci0gICAgIFJJTk9LKFJlYWRUYWJsZXMoa2VlcERlY29tcHJl c3NpbmcpKTsKLSAgICAgaWYgKCFrZWVwRGVjb21wcmVzc2luZykKLSsgICAgewotKyAgICAgIF9z b2xpZEFsbG93ZWQgPSB0cnVlOwotICAgICAgIHJldHVybiBTX09LOwotKyAgICB9Ci0gICB9Ci0g Ci0gICBmb3IgKDs7KQotQEAgLTg3MCw2ICs4NzQsOSBAQCBIUkVTVUxUIENEZWNvZGVyOjpDb2Rl UmVhbChJQ29tcHJlc3NQcm9ncmVzc0luZm8gKnByb2dyZXNzKQotICAgICBpZiAoIWtlZXBEZWNv bXByZXNzaW5nKQotICAgICAgIGJyZWFrOwotICAgfQotKwotKyAgX3NvbGlkQWxsb3dlZCA9IHRy dWU7Ci0rCi0gICBSSU5PSyhXcml0ZUJ1ZigpKTsKLSAgIFVJbnQ2NCBwYWNrU2l6ZSA9IG1fSW5C aXRTdHJlYW0uQml0RGVjb2Rlci5HZXRQcm9jZXNzZWRTaXplKCk7Ci0gICBSSU5PSyhwcm9ncmVz cy0+U2V0UmF0aW9JbmZvKCZwYWNrU2l6ZSwgJl93cml0dGVuRmlsZVNpemUpKTsKLUBAIC04OTAs NiArODk3LDEwIEBAIFNURE1FVEhPRElNUCBDRGVjb2Rlcjo6Q29kZShJU2VxdWVudGlhbEluU3Ry ZWFtICppblN0cmVhbSwgSVNlcXVlbnRpYWxPdXRTdHJlYW0KLSAgICAgaWYgKCFpblNpemUpCi0g ICAgICAgcmV0dXJuIEVfSU5WQUxJREFSRzsKLSAKLSsgICAgaWYgKF9pc1NvbGlkICYmICFfc29s aWRBbGxvd2VkKQotKyAgICAgIHJldHVybiBTX0ZBTFNFOwotKyAgICBfc29saWRBbGxvd2VkID0g ZmFsc2U7Ci0rCi0gICAgIGlmICghX3ZtRGF0YSkKLSAgICAgewotICAgICAgIF92bURhdGEgPSAo Qnl0ZSAqKTo6TWlkQWxsb2Moa1ZtRGF0YVNpemVNYXggKyBrVm1Db2RlU2l6ZU1heCk7Ci1AQCAt OTI4LDcgKzkzOSw3IEBAIFNURE1FVEhPRElNUCBDRGVjb2Rlcjo6U2V0RGVjb2RlclByb3BlcnRp ZXMyKGNvbnN0IEJ5dGUgKmRhdGEsIFVJbnQzMiBzaXplKQotIHsKLSAgIGlmIChzaXplIDwgMSkK LSAgICAgcmV0dXJuIEVfSU5WQUxJREFSRzsKLS0gIG1fSXNTb2xpZCA9ICgoZGF0YVswXSAmIDEp ICE9IDApOwotKyAgX2lzU29saWQgPSAoKGRhdGFbMF0gJiAxKSAhPSAwKTsKLSAgIHJldHVybiBT X09LOwotIH0KLSAKLWRpZmYgLS1naXQgYS9DUFAvN3ppcC9Db21wcmVzcy9SYXIzRGVjb2Rlci5o IGIvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyM0RlY29kZXIuaAotaW5kZXggMmY3MmQ3ZC4uMzJjODk0 MyAxMDA2NDQKLS0tLSBhL0NQUC83emlwL0NvbXByZXNzL1JhcjNEZWNvZGVyLmgKLSsrKyBiL0NQ UC83emlwL0NvbXByZXNzL1JhcjNEZWNvZGVyLmgKLUBAIC0xOTEsNyArMTkxLDggQEAgY2xhc3Mg Q0RlY29kZXI6Ci0gICBDUmVjb3JkVmVjdG9yPENUZW1wRmlsdGVyICo+ICBfdGVtcEZpbHRlcnM7 Ci0gICBVSW50MzIgX2xhc3RGaWx0ZXI7Ci0gCi0tICBib29sIG1fSXNTb2xpZDsKLSsgIGJvb2wg X2lzU29saWQ7Ci0rICBib29sIF9zb2xpZEFsbG93ZWQ7Ci0gICBib29sIF9lcnJvck1vZGU7Ci0g Ci0gICBib29sIF9sek1vZGU7Ci1kaWZmIC0tZ2l0IGEvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyNURl Y29kZXIuY3BwIGIvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyNURlY29kZXIuY3BwCi1pbmRleCBkYzg4 MzBmLi5hODI2ZDVhIDEwMDY0NAotLS0tIGEvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyNURlY29kZXIu Y3BwCi0rKysgYi9DUFAvN3ppcC9Db21wcmVzcy9SYXI1RGVjb2Rlci5jcHAKLUBAIC03Miw2ICs3 Miw3IEBAIENEZWNvZGVyOjpDRGVjb2RlcigpOgotICAgICBfd3JpdHRlbkZpbGVTaXplKDApLAot ICAgICBfZGljdFNpemVMb2coMCksCi0gICAgIF9pc1NvbGlkKGZhbHNlKSwKLSsgICAgX3NvbGlk QWxsb3dlZChmYWxzZSksCi0gICAgIF93YXNJbml0KGZhbHNlKSwKLSAgICAgX2lucHV0QnVmKE5V TEwpCi0gewotQEAgLTgwMSw3ICs4MDIsMTAgQEAgSFJFU1VMVCBDRGVjb2Rlcjo6Q29kZVJlYWwo KQotICAgKi8KLSAKLSAgIGlmIChyZXMgPT0gU19PSykKLSsgIHsKLSsgICAgX3NvbGlkQWxsb3dl ZCA9IHRydWU7Ci0gICAgIHJlcyA9IHJlczI7Ci0rICB9Ci0gICAgICAKLSAgIGlmIChyZXMgPT0g U19PSyAmJiBfdW5wYWNrU2l6ZV9EZWZpbmVkICYmIF93cml0dGVuRmlsZVNpemUgIT0gX3VucGFj a1NpemUpCi0gICAgIHJldHVybiBTX0ZBTFNFOwotQEAgLTgyMSw2ICs4MjUsMTAgQEAgU1RETUVU SE9ESU1QIENEZWNvZGVyOjpDb2RlKElTZXF1ZW50aWFsSW5TdHJlYW0gKmluU3RyZWFtLCBJU2Vx dWVudGlhbE91dFN0cmVhbQotIHsKLSAgIHRyeQotICAgewotKyAgICBpZiAoX2lzU29saWQgJiYg IV9zb2xpZEFsbG93ZWQpCi0rICAgICAgcmV0dXJuIFNfRkFMU0U7Ci0rICAgIF9zb2xpZEFsbG93 ZWQgPSBmYWxzZTsKLSsKLSAgICAgaWYgKF9kaWN0U2l6ZUxvZyA+PSBzaXplb2Yoc2l6ZV90KSAq IDgpCi0gICAgICAgcmV0dXJuIEVfTk9USU1QTDsKLSAKLWRpZmYgLS1naXQgYS9DUFAvN3ppcC9D b21wcmVzcy9SYXI1RGVjb2Rlci5oIGIvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyNURlY29kZXIuaAot aW5kZXggYjBhNGRkMS4uM2RiNTAxOCAxMDA2NDQKLS0tLSBhL0NQUC83emlwL0NvbXByZXNzL1Jh cjVEZWNvZGVyLmgKLSsrKyBiL0NQUC83emlwL0NvbXByZXNzL1JhcjVEZWNvZGVyLmgKLUBAIC0y NzEsNiArMjcxLDcgQEAgY2xhc3MgQ0RlY29kZXI6Ci0gICBCeXRlIF9kaWN0U2l6ZUxvZzsKLSAg IGJvb2wgX3RhYmxlV2FzRmlsbGVkOwotICAgYm9vbCBfaXNTb2xpZDsKLSsgIGJvb2wgX3NvbGlk QWxsb3dlZDsKLSAgIGJvb2wgX3dhc0luaXQ7Ci0gCi0gICBVSW50MzIgX3JlcHNba051bVJlcHNd OwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9wN3ppcC9wYXRjaGVzL0NWRS0yMDE2LTkyOTYucGF0Y2gg Yi9zcmNwa2dzL3A3emlwL3BhdGNoZXMvQ1ZFLTIwMTYtOTI5Ni5wYXRjaApkZWxldGVkIGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggZmJiYjMzNzczN2U1Li4wMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtn cy9wN3ppcC9wYXRjaGVzL0NWRS0yMDE2LTkyOTYucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwx MiArMCwwIEBACi0tLS0gYS9DUFAvN3ppcC9BcmNoaXZlLzd6Lzd6SW4uY3BwCVN1biBOb3YgMjAg MDk6Mjk6NDEgMjAxNgotKysrIGIvQ1BQLzd6aXAvQXJjaGl2ZS83ei83ekluLmNwcAlTdW4gTm92 IDIwIDA5OjMxOjIyIDIwMTYKLUBAIC0xMDk3LDcgKzEwOTcsOCBAQCBIUkVTVUxUIENJbkFyY2hp dmU6OlJlYWRBbmREZWNvZGVQYWNrZWRTdHJlYW1zKAotICAgICAgIGlmIChDcmNDYWxjKGRhdGEs IHVucGFja1NpemUpICE9IGZvbGRlcnMuRm9sZGVyQ1JDcy5WYWxzW2ldKQotICAgICAgICAgVGhy b3dJbmNvcnJlY3QoKTsKLSAgIH0KLS0gIEhlYWRlcnNTaXplICs9IGZvbGRlcnMuUGFja1Bvc2l0 aW9uc1tmb2xkZXJzLk51bVBhY2tTdHJlYW1zXTsKLSsgIGlmIChmb2xkZXJzLlBhY2tQb3NpdGlv bnMpCi0rICAgICAgSGVhZGVyc1NpemUgKz0gZm9sZGVycy5QYWNrUG9zaXRpb25zW2ZvbGRlcnMu TnVtUGFja1N0cmVhbXNdOwotICAgcmV0dXJuIFNfT0s7Ci0gfQotIApkaWZmIC0tZ2l0IGEvc3Jj cGtncy9wN3ppcC9wYXRjaGVzL0NWRS0yMDE3LTE3OTY5LnBhdGNoIGIvc3JjcGtncy9wN3ppcC9w YXRjaGVzL0NWRS0yMDE3LTE3OTY5LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCA5YTgyMGFmNzMwNjcuLjAwMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL3A3emlwL3BhdGNoZXMv Q1ZFLTIwMTctMTc5NjkucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyNiArMCwwIEBACi1Gcm9t OiA9P3V0Zi04P3E/QW50b2luZV9CZWF1cHI9QzM9QTk/PSA8YW5hcmNhdEBkZWJpYW4ub3JnPgot RGF0ZTogU3VuLCAyOCBKYW4gMjAxOCAyMToxOTo1MCArMDEwMAotU3ViamVjdDogYmFja3BvcnQg b2YgdGhlIENWRS0yMDE3LTE3OTY5IGZpeCBmcm9tIDd6aXAgMTguMDAtYmV0YQotCi0tLS0KLSBD UFAvN3ppcC9Db21wcmVzcy9TaHJpbmtEZWNvZGVyLmNwcCB8IDcgKysrKysrLQotIDEgZmlsZSBj aGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL0NQ UC83emlwL0NvbXByZXNzL1Nocmlua0RlY29kZXIuY3BwIGIvQ1BQLzd6aXAvQ29tcHJlc3MvU2hy aW5rRGVjb2Rlci5jcHAKLWluZGV4IDgwYjdlNjcuLjRhY2RjZTUgMTAwNjQ0Ci0tLS0gYS9DUFAv N3ppcC9Db21wcmVzcy9TaHJpbmtEZWNvZGVyLmNwcAotKysrIGIvQ1BQLzd6aXAvQ29tcHJlc3Mv U2hyaW5rRGVjb2Rlci5jcHAKLUBAIC0xMjEsNyArMTIxLDEyIEBAIEhSRVNVTFQgQ0RlY29kZXI6 OkNvZGVSZWFsKElTZXF1ZW50aWFsSW5TdHJlYW0gKmluU3RyZWFtLCBJU2VxdWVudGlhbE91dFN0 cmVhbSAqCi0gICAgIHsKLSAgICAgICBfc3RhY2tbaSsrXSA9IF9zdWZmaXhlc1tjdXJdOwotICAg ICAgIGN1ciA9IF9wYXJlbnRzW2N1cl07Ci0tICAgIH0KLSsgICAgICBpZiAoaSA+PSBrTnVtSXRl bXMpCi0rICAgICAgICBicmVhazsKLSsgICAgIH0KLSsKLSsgICAgaWYgKGkgPj0ga051bUl0ZW1z KQotKyAgICAgIGJyZWFrOwotICAgICAKLSAgICAgX3N0YWNrW2krK10gPSAoQnl0ZSljdXI7Ci0g ICAgIGxhc3RDaGFyMiA9IChCeXRlKWN1cjsKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcDd6aXAvdGVt cGxhdGUgYi9zcmNwa2dzL3A3emlwL3RlbXBsYXRlCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp bmRleCA2NDJlMjRhZGFmNTIuLjAwMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL3A3emlwL3RlbXBs YXRlCisrKyAvZGV2L251bGwKQEAgLTEsNDcgKzAsMCBAQAotIyBUZW1wbGF0ZSBmaWxlIGZvciAn cDd6aXAnCi1wa2duYW1lPXA3emlwCi12ZXJzaW9uPTE2LjAyCi1yZXZpc2lvbj01Ci13cmtzcmM9 IiR7cGtnbmFtZX1fJHt2ZXJzaW9ufSIKLWhvc3RtYWtlZGVwZW5kcz0ieWFzbSBuYXNtIgotc2hv cnRfZGVzYz0iQ29tbWFuZC1saW5lIHZlcnNpb24gb2YgdGhlIDd6aXAgY29tcHJlc3NlZCBmaWxl IGFyY2hpdmUiCi1tYWludGFpbmVyPSJPcnBoYW5lZCA8b3JwaGFuQHZvaWRsaW51eC5vcmc+Igot bGljZW5zZT0iTEdQTC0yLjEtb3ItbGF0ZXIiCi1ob21lcGFnZT0iaHR0cDovL3A3emlwLnNvdXJj ZWZvcmdlLm5ldC8iCi1kaXN0ZmlsZXM9IiR7U09VUkNFRk9SR0VfU0lURX0vJHtwa2duYW1lfS8k e3BrZ25hbWV9XyR7dmVyc2lvbn1fc3JjX2FsbC50YXIuYnoyIgotY2hlY2tzdW09NWViMjBhYzBl Mjk0NGY2Y2I5YzJkNTFkZDZjNDUxODk0MWMxODUzNDdkNDA4OWVhODkwODdmZmRkNmUyMzQxZgot Ci1DWFhGTEFHUz0iLVduby1uYXJyb3dpbmciCi0KLWRvX2NvbmZpZ3VyZSgpIHsKLQljYXNlICIk WEJQU19UQVJHRVRfTUFDSElORSIgaW4KLQkJaTY4NiopIGNwIG1ha2VmaWxlLmxpbnV4X3g4Nl9h c21fZ2NjXzQuWCBtYWtlZmlsZS5tYWNoaW5lOzsKLQkJeDg2XzY0KikgY3AgbWFrZWZpbGUubGlu dXhfYW1kNjRfYXNtIG1ha2VmaWxlLm1hY2hpbmU7OwotCQkqKSBjcCBtYWtlZmlsZS5saW51eF9h bnlfY3B1X2djY180LlggbWFrZWZpbGUubWFjaGluZTs7Ci0JZXNhYwotCXNlZCAtZSAicyxnKyss JHtDWFh9LCIgLWkgbWFrZWZpbGUubWFjaGluZQotCXNlZCAtZSAicyxnY2MsJHtDQ30sIiAtaSBt YWtlZmlsZS5tYWNoaW5lCi19Ci1kb19idWlsZCgpIHsKLQltYWtlIGFsbDMgT1BURkxBR1M9IiRD WFhGTEFHUyIgJHttYWtlam9ic30KLX0KLWRvX2luc3RhbGwoKSB7Ci0JbWFrZSBpbnN0YWxsIERF U1RfRElSPSIke0RFU1RESVJ9IiBERVNUX0hPTUU9Ii91c3IiIFwKLQkJREVTVF9NQU49Ii91c3Iv c2hhcmUvbWFuIiBcCi0JCURFU1RfU0hBUkVfRE9DPSIvdXNyL3NoYXJlL2RvYy8ke3BrZ25hbWV9 IgotCWZpbmQgJHtERVNURElSfS91c3Ivc2hhcmUvZG9jLyRwa2duYW1lIC10eXBlIGQgLWV4ZWMg Y2htb2QgNzU1IHt9IFw7Ci0JbWtkaXIgLXAgJHtERVNURElSfS91c3Ivc2hhcmUvbGljZW5zZXMv cDd6aXAvCi0JbXYgJHtERVNURElSfS91c3Ivc2hhcmUvZG9jL3A3emlwL0RPQy9jb3B5aW5nLnR4 dCBcCi0JICAgJHtERVNURElSfS91c3Ivc2hhcmUvbGljZW5zZXMvcDd6aXAvTElDRU5TRQotfQot Ci1wN3ppcC11bnJhcl9wYWNrYWdlKCkgewotCXNob3J0X2Rlc2MrPSIgLSBSQVIgc3VwcG9ydCIK LQlsaWNlbnNlPSJjdXN0b206ZnJlZXdhcmUiCi0JZGVwZW5kcz0iJHtzb3VyY2Vwa2d9LSR7dmVy c2lvbn1fJHtyZXZpc2lvbn0iCi0JcmVwb3NpdG9yeT1ub25mcmVlCi0JcGtnX2luc3RhbGwoKSB7 Ci0JCXZtb3ZlIHVzci9saWIvcDd6aXAvQ29kZWNzL1Jhci5zbwotCQl2bGljZW5zZSBET0MvdW5S YXJMaWNlbnNlLnR4dCBMSUNFTlNFCi0JfQotfQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9wN3ppcC91 cGRhdGUgYi9zcmNwa2dzL3A3emlwL3VwZGF0ZQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggODRlZDQ2ZDc0YTFhLi4wMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9wN3ppcC91cGRhdGUK KysrIC9kZXYvbnVsbApAQCAtMSArMCwwIEBACi1wYXR0ZXJuPSdwN3ppcF9cS1suXGRdKycK --===============3832623055526457328==--