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=-1.0 required=5.0 tests=ALL_TRUSTED, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 28368 invoked from network); 15 Aug 2022 17:24:00 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 15 Aug 2022 17:24:00 -0000 Content-Type: multipart/mixed; boundary="===============3057153438001661696==" 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: Mon, 15 Aug 2022 19:23:59 +0200 List-Id: Message-ID: <20220815172359.bpQC41_q2bAjIbS1h6ekF0KFVMjpH_nYsXwMQlkLGQc@z> GitHub notification mails are now in MIME to allow UTF8. --===============3057153438001661696== 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 Cg0KIyMjIyBUT0RPOg0KDQotIFt4XSBmaXggbXVzbA0KLSBbIF0gYnVpbGQgd2l0aCBhc3NlbWJs eSB3aGVyZSBwb3NzaWJsZTogb24gaTY4NiBhbmQgeDg2XzY0KiBpdCByZXF1aXJlcyBgYXNtY2Ag b3IgYGp3YXNtYC9gdWFzbWAgYXNzZW1ibGVycywgbm9uZSBvZiB3aGljaCBhcmUgcGFja2FnZWQN Ci0gW3hdIGJ1aWxkIGEgdmVyc2lvbiB3aXRoIFJBUiBzdXBwb3J0IChub25mcmVlIHJlcG8pDQot IFt4XSB1c2Ugb3VyIGNvbXBpbGUgYW5kIGxpbmsgZmxhZ3MNCi0gdGVzdCBwYWNrYWdlcyB0aGF0 IGRlcGVuZCBvbiBgcDd6aXBgIGF0IHJ1bnRpbWUgb3IgYnVpbGQgdGltZToNCiAgICAtIFsgXSBq dWxpYQ0KICAgIC0gWyBdIGx1dHJpcw0KICAgIC0gWyBdIG11bHRpYm9vdHVzYg0KICAgIC0gWyBd IHBsYXlvbmxpbnV4DQogICAgLSBbIF0gU0xBREUNCiAgICAtIFsgXSBaODBFeHBsb3Jlcg0KICAg IC0gWyBdIGFyaw0KICAgIC0gWyBdIGNicDJtYWtlDQoNCmNsb3NlcyAjMzc4NzUKCkEgcGF0Y2gg ZmlsZSBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQtcGFja2FnZXMvcHVs bC8zNzk0MC5wYXRjaCBpcyBhdHRhY2hlZA== --===============3057153438001661696== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-7zip-37940.patch" RnJvbSA1NjE0ZDg0ZDQxZDc5YjBhN2FiODQzMTJjZWI3ODllZDM5NGMwZWFmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBSb2JlcnRvIFJpY2NpIDxyaWNjaUBkaXNyb290Lm9yZz4KRGF0 ZTogU2F0LCA5IEp1bCAyMDIyIDEyOjA1OjIyICswMjAwClN1YmplY3Q6IFtQQVRDSCAxLzJdIE5l dyBwYWNrYWdlOiA3emlwLTIyLjAxCgotLS0KIHNyY3BrZ3MvN3ppcC11bnJhciAgICAgICAgICAg ICAgICAgICAgICAgICAgICB8ICAgMSArCiBzcmNwa2dzLzd6aXAvZmlsZXMvN3p6LjEgICAgICAg ICAgICAgICAgICAgICAgfCAyMTUgKysrKysrKysrKysrCiBzcmNwa2dzLzd6aXAvcDd6aXAtdW5y YXIuSU5TVEFMTC5tc2cgICAgICAgICAgfCAgIDUgKwogc3JjcGtncy83emlwL3BhdGNoZXMvYnVp bGRfZmxhZ3MucGF0Y2ggICAgICAgIHwgIDMwICsrCiBzcmNwa2dzLzd6aXAvdGVtcGxhdGUgICAg ICAgICAgICAgICAgICAgICAgICAgfCAgODYgKysrKysKIHNyY3BrZ3MvN3ppcC91cGRhdGUgICAg ICAgICAgICAgICAgICAgICAgICAgICB8ICAgMiArCiBzcmNwa2dzL3A3emlwICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgfCAgIDEgKwogc3JjcGtncy9wN3ppcC11bnJhciAgICAgICAg ICAgICAgICAgICAgICAgICAgIHwgICAyICstCiBzcmNwa2dzL3A3emlwL3BhdGNoZXMvMjAtQ1ZF LTIwMTgtNTk5Ni5wYXRjaCAgfCAyMjEgLS0tLS0tLS0tLS0tLQogc3JjcGtncy9wN3ppcC9wYXRj aGVzLzMwLUNWRS0yMDE4LTEwMTE1LnBhdGNoIHwgMzExIC0tLS0tLS0tLS0tLS0tLS0tLQogc3Jj cGtncy9wN3ppcC9wYXRjaGVzL0NWRS0yMDE2LTkyOTYucGF0Y2ggICAgIHwgIDEyIC0KIHNyY3Br Z3MvcDd6aXAvcGF0Y2hlcy9DVkUtMjAxNy0xNzk2OS5wYXRjaCAgICB8ICAyNiAtLQogc3JjcGtn cy9wN3ppcC90ZW1wbGF0ZSAgICAgICAgICAgICAgICAgICAgICAgIHwgIDQ3IC0tLQogc3JjcGtn cy9wN3ppcC91cGRhdGUgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxIC0KIDE0IGZpbGVz IGNoYW5nZWQsIDM0MSBpbnNlcnRpb25zKCspLCA2MTkgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9k ZSAxMjAwMDAgc3JjcGtncy83emlwLXVucmFyCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy83 emlwL2ZpbGVzLzd6ei4xCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy83emlwL3A3emlwLXVu cmFyLklOU1RBTEwubXNnCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy83emlwL3BhdGNoZXMv YnVpbGRfZmxhZ3MucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzLzd6aXAvdGVtcGxh dGUKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzLzd6aXAvdXBkYXRlCiBjcmVhdGUgbW9kZSAx MjAwMDAgc3JjcGtncy9wN3ppcAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcDd6aXAvcGF0 Y2hlcy8yMC1DVkUtMjAxOC01OTk2LnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9w N3ppcC9wYXRjaGVzLzMwLUNWRS0yMDE4LTEwMTE1LnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQg c3JjcGtncy9wN3ppcC9wYXRjaGVzL0NWRS0yMDE2LTkyOTYucGF0Y2gKIGRlbGV0ZSBtb2RlIDEw MDY0NCBzcmNwa2dzL3A3emlwL3BhdGNoZXMvQ1ZFLTIwMTctMTc5NjkucGF0Y2gKIGRlbGV0ZSBt b2RlIDEwMDY0NCBzcmNwa2dzL3A3emlwL3RlbXBsYXRlCiBkZWxldGUgbW9kZSAxMDA2NDQgc3Jj cGtncy9wN3ppcC91cGRhdGUKCmRpZmYgLS1naXQgYS9zcmNwa2dzLzd6aXAtdW5yYXIgYi9zcmNw a2dzLzd6aXAtdW5yYXIKbmV3IGZpbGUgbW9kZSAxMjAwMDAKaW5kZXggMDAwMDAwMDAwMDAwLi4y ODQzMTI1OTVhNGMKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzLzd6aXAtdW5yYXIKQEAgLTAs MCArMSBAQAorN3ppcApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3Ny Y3BrZ3MvN3ppcC9maWxlcy83enouMSBiL3NyY3BrZ3MvN3ppcC9maWxlcy83enouMQpuZXcgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjJlMTU5YmQ5NGJiNAotLS0gL2Rldi9u dWxsCisrKyBiL3NyY3BrZ3MvN3ppcC9maWxlcy83enouMQpAQCAtMCwwICsxLDIxNSBAQAorLlRI IDdaWiAiMSIgIkZlYnJ1YXJ5IDE0LCAyMDIyIgorLlNIIE5BTUUKKzd6eiBcLSBTdGFuZGFsb25l IGNvbnNvbGUgdmVyc2lvbiBvZiB0aGUgNy1aaXAgZmlsZSBhcmNoaXZlcgorLlNIIFNZTk9QU0lT CisuQiA3enoKKy5cIiBcZklcLDxjb21tYW5kPiBcL1tcZklcLDxzd2l0Y2g+XC8uLi5dIFxmSVws PGFyY2hpdmVfbmFtZT4gXC9bXGZJXCw8ZmlsZV9uYW1lcz5cLy4uLl0gW1xmSVwsQGxpc3RfZmls ZVwvXQorLkJSIDxjb21tYW5kPgorLkJSIFs8c3dpdGNoPi4uLl0KKy5CUiA8YXJjaGl2ZV9uYW1l PgorLkJSIFs8ZmlsZV9uYW1lcz5dCisuQlIgW0BsaXN0ZmlsZV0KKy5TSCBERVNDUklQVElPTgor N1wtWmlwIGlzIGEgZmlsZSBhcmNoaXZlciB3aXRoIGEgaGlnaCBjb21wcmVzc2lvbiByYXRpby4g U3VwcG9ydGVkIGZvcm1hdHM6CisuSVAKK1BhY2tpbmcgYW5kIHVucGFja2luZzogN3osIFhaLCBC WklQMiwgR1pJUCwgVEFSLCBaSVAgYW5kIFdJTS4KKy5JUAorVW5wYWNraW5nIG9ubHk6IEFSLCBB UkosIENBQiwgQ0hNLCBDUElPLCBDcmFtRlMsIERNRywgRVhULCBGQVQsIEdQVCwgSEZTLCBJSEVY LCBJU08sIExaSCwgTFpNQSwgTUJSLCBNU0ksIE5TSVMsIE5URlMsIFFDT1cyLCBSQVIsIFJQTSwg U3F1YXNoRlMsIFVERiwgVUVGSSwgVkRJLCBWSEQsIFZIRFgsIFZNREssIFdJTSwgWEFSIGFuZCBa LgorLlNIIENvbW1hbmRzCisuVFAKKy5CUiBhCitBZGQgZmlsZXMgdG8gYXJjaGl2ZQorLlRQCisu QlIgYgorQmVuY2htYXJrCisuVFAKKy5CUiBkCitEZWxldGUgZmlsZXMgZnJvbSBhcmNoaXZlCisu VFAKKy5CUiBlCitFeHRyYWN0IGZpbGVzIGZyb20gYXJjaGl2ZSAod2l0aG91dCB1c2luZyBkaXJl Y3RvcnkgbmFtZXMpCisuVFAKKy5CUiBoCitDYWxjdWxhdGUgaGFzaCB2YWx1ZXMgZm9yIGZpbGVz CisuVFAKKy5CUiBpCitTaG93IGluZm9ybWF0aW9uIGFib3V0IHN1cHBvcnRlZCBmb3JtYXRzCisu VFAKKy5CUiBsCitMaXN0IGNvbnRlbnRzIG9mIGFyY2hpdmUKKy5UUAorLkJSIHJuCitSZW5hbWUg ZmlsZXMgaW4gYXJjaGl2ZQorLlRQCisuQlIgdAorVGVzdCBpbnRlZ3JpdHkgb2YgYXJjaGl2ZQor LlRQCisuQlIgdQorVXBkYXRlIGZpbGVzIHRvIGFyY2hpdmUKKy5UUAorLkJSIHgKK0V4dHJhY3Qg ZmlsZXMgd2l0aCBmdWxsIHBhdGhzCisuU0ggU3dpdGNoZXMKKy5UUAorLkJSIFwtXC0KK1N0b3Ag c3dpdGNoZXMgYW5kIEBsaXN0ZmlsZSBwYXJzaW5nCisuVFAKKy5CUiBcLWFpW3JbXC18MF1de0Bs aXN0ZmlsZXwhd2lsZGNhcmR9CitJbmNsdWRlIGFyY2hpdmVzCisuVFAKKy5CUiBcLWF4W3JbXC18 MF1de0BsaXN0ZmlsZXwhd2lsZGNhcmR9CitFeGNsdWRlIGFyY2hpdmVzCisuVFAKKy5CUiBcLWFv e2F8c3x0fHV9CitTZXQgT3ZlcndyaXRlIG1vZGUKKy5UUAorLkJSIFwtYW4KK0Rpc2FibGUgYXJj aGl2ZV9uYW1lIGZpZWxkCisuVFAKKy5CUiBcLWJiWzBcLTNdCitTZXQgb3V0cHV0IGxvZyBsZXZl bAorLlRQCisuQlIgXC1iZAorRGlzYWJsZSBwcm9ncmVzcyBpbmRpY2F0b3IKKy5UUAorLkJSIFwt YnN7b3xlfHB9ezB8MXwyfQorU2V0IG91dHB1dCBzdHJlYW0gZm9yIG91dHB1dC9lcnJvci9wcm9n cmVzcyBsaW5lCisuVFAKKy5CUiBcLWJ0CitzaG93IGV4ZWN1dGlvbiB0aW1lIHN0YXRpc3RpY3MK Ky5UUAorLkJSIFwtaVtyW1wtfDBdXXtAbGlzdGZpbGV8IXdpbGRjYXJkfQorSW5jbHVkZSBmaWxl bmFtZXMKKy5UUAorLkJSIFwtbXtQYXJhbWV0ZXJzfQorU2V0IGNvbXByZXNzaW9uIE1ldGhvZAor LlRQCisuQlIgXC1tbXRbTl0KK1NldCBudW1iZXIgb2YgQ1BVIHRocmVhZHMKKy5UUAorLkJSIFwt bXhbTl0KK1NldCBjb21wcmVzc2lvbiBsZXZlbDogXC1teDEgKGZhc3Rlc3QpIC4uLiBcLW14OSAo dWx0cmEpCisuVFAKKy5CUiBcLW97RGlyZWN0b3J5fQorU2V0IE91dHB1dCBkaXJlY3RvcnkKKy5U UAorLkJSIFwtcHtQYXNzd29yZH0KK1NldCBQYXNzd29yZAorLlRQCisuQlIgXC1yW1wtfDBdCitS ZWN1cnNlIHN1YmRpcmVjdG9yaWVzIGZvciBuYW1lIHNlYXJjaAorLlRQCisuQlIgXC1zYXthfGV8 c30KK1NldCBBcmNoaXZlIG5hbWUgbW9kZQorLlRQCisuQlIgXC1zY2N7VVRGXC04fFdJTnxET1N9 CitTZXQgY2hhcnNldCBmb3IgZm9yIGNvbnNvbGUgaW5wdXQvb3V0cHV0CisuVFAKKy5CUiBcLXNj c3tVVEZcLTh8VVRGXC0xNkxFfFVURlwtMTZCRXxXSU58RE9TfHtpZH19CitTZXQgY2hhcnNldCBm b3IgbGlzdCBmaWxlcworLlRQCisuQlIgXC1zY3JjW0NSQzMyfENSQzY0fFNIQTF8U0hBMjU2fCpd CitTZXQgaGFzaCBmdW5jdGlvbiBmb3IgeCwgZSwgaCBjb21tYW5kcworLlRQCisuQlIgXC1zZGVs CitEZWxldGUgZmlsZXMgYWZ0ZXIgY29tcHJlc3Npb24KKy5UUAorLkJSIFwtc2VtbFsuXQorU2Vu ZCBhcmNoaXZlIGJ5IGVtYWlsCisuVFAKKy5CUiBcLXNmeFt7bmFtZX1dCitDcmVhdGUgU0ZYIGFy Y2hpdmUKKy5UUAorLkJSIFwtc2lbe25hbWV9XQorUmVhZCBkYXRhIGZyb20gc3RkaW4KKy5UUAor LkJSIFwtc2xwCitTZXQgTGFyZ2UgUGFnZXMgbW9kZQorLlRQCisuQlIgXC1zbHQKK1Nob3cgdGVj aG5pY2FsIGluZm9ybWF0aW9uIGZvciBsIChMaXN0KSBjb21tYW5kCisuVFAKKy5CUiBcLXNuaAor U3RvcmUgaGFyZCBsaW5rcyBhcyBsaW5rcworLlRQCisuQlIgXC1zbmwKK1N0b3JlIHN5bWJvbGlj IGxpbmtzIGFzIGxpbmtzCisuVFAKKy5CUiBcLXNuaQorU3RvcmUgTlQgc2VjdXJpdHkgaW5mb3Jt YXRpb24KKy5UUAorLkJSIFwtc25zW1wtXQorU3RvcmUgTlRGUyBhbHRlcm5hdGUgc3RyZWFtcwor LlRQCisuQlIgXC1zbworV3JpdGUgZGF0YSB0byBzdGRvdXQKKy5UUAorLkJSIFwtc3BkCitEaXNh YmxlIHdpbGRjYXJkIG1hdGNoaW5nIGZvciBmaWxlIG5hbWVzCisuVFAKKy5CUiBcLXNwZQorRWxp bWluYXRlIGR1cGxpY2F0aW9uIG9mIHJvb3QgZm9sZGVyIGZvciBleHRyYWN0IGNvbW1hbmQKKy5U UAorLkJSIFwtc3BmCitVc2UgZnVsbHkgcXVhbGlmaWVkIGZpbGUgcGF0aHMKKy5UUAorLkJSIFwt c3NjW1wtXQorU2V0IHNlbnNpdGl2ZSBjYXNlIG1vZGUKKy5UUAorLkJSIFwtc3NlCitTdG9wIGFy Y2hpdmUgY3JlYXRpbmcsIGlmIGl0IGNhbid0IG9wZW4gc29tZSBpbnB1dCBmaWxlCisuVFAKKy5C UiBcLXNzcAorRG8gbm90IGNoYW5nZSBMYXN0IEFjY2VzcyBUaW1lIG9mIHNvdXJjZSBmaWxlcyB3 aGlsZSBhcmNoaXZpbmcKKy5UUAorLkJSIFwtc3N3CitDb21wcmVzcyBzaGFyZWQgZmlsZXMKKy5U UAorLkJSIFwtc3RsCitTZXQgYXJjaGl2ZSB0aW1lc3RhbXAgZnJvbSB0aGUgbW9zdCByZWNlbnRs eSBtb2RpZmllZCBmaWxlCisuVFAKKy5CUiBcLXN0bXtIZXhNYXNrfQorU2V0IENQVSB0aHJlYWQg YWZmaW5pdHkgbWFzayAoaGV4YWRlY2ltYWwgbnVtYmVyKQorLlRQCisuQlIgXC1zdHh7VHlwZX0K K0V4Y2x1ZGUgYXJjaGl2ZSB0eXBlCisuVFAKKy5CUiBcLXR7VHlwZX0KK1NldCB0eXBlIG9mIGFy Y2hpdmUKKy5UUAorLkJSIFwtdVtcLV1bcCNdW3EjXVtyI11beCNdW3kjXVt6I11bIW5ld0FyY2hp dmVOYW1lXQorVXBkYXRlIG9wdGlvbnMKKy5UUAorLkJSIFwtdntTaXplfVtifGt8bXxnXQorQ3Jl YXRlIHZvbHVtZXMKKy5UUAorLkJSIFwtd1t7cGF0aH1dCitTZXQgd29ya2luZyBkaXJlY3Rvcnku IEVtcHR5IHBhdGggbWVhbnMgYSB0ZW1wb3JhcnkgZGlyZWN0b3J5CisuVFAKKy5CUiBcLXhbcltc LXwwXV17QGxpc3RmaWxlfCF3aWxkY2FyZH0KK0V4Y2x1ZGUgZmlsZW5hbWVzCisuVFAKKy5CUiBc LXkKK0Fzc3VtZSBZZXMgb24gYWxsIHF1ZXJpZXMKKy5TSCBMaXN0ZmlsZQorWW91IGNhbiBzdXBw bHkgb25lIG9yIG1vcmUgZmlsZW5hbWVzIG9yIHdpbGRjYXJkcyBmb3Igc3BlY2lhbCBsaXN0IGZp bGVzIChmaWxlcyBjb250YWluaW5nIGxpc3RzIG9mIGZpbGVzKS4gVGhlIGZpbGVuYW1lcyBpbiBz dWNoIGxpc3QgZmlsZSBtdXN0IGJlIHNlcGFyYXRlZCBieSBuZXcgbGluZSBzeW1ib2wocykuIEZv ciBsaXN0IGZpbGVzLCA3XC1aaXAgdXNlcyBVVEZcLTggZW5jb2RpbmcgYnkgZGVmYXVsdC4gWW91 IGNhbiBjaGFuZ2UgZW5jb2RpbmcgdXNpbmcKKy5CUiBcLXNjcworc3dpdGNoLiBNdWx0aXBsZSBs aXN0IGZpbGVzIGFyZSBzdXBwb3J0ZWQuCisuUFAKK0ZvciBleGFtcGxlLCBpZiB0aGUgZmlsZSAi bGlzdGZpbGUudHh0IiBjb250YWlucyB0aGUgZm9sbG93aW5nOgorLklQCitNeSBwcm9ncmFtc1xc Ki5jcHAKKy5icgorU3JjXFwqLmNwcAorLlBQCit0aGVuIHRoZSBjb21tYW5kCisuSVAKKy5CIDd6 IGEgXC10emlwIGFyY2hpdmUuemlwIEBsaXN0ZmlsZS50eHQKKy5QUAorYWRkcyB0byB0aGUgYXJj aGl2ZSAiYXJjaGl2ZS56aXAiIGFsbCAiKi5jcHAiIGZpbGVzIGZyb20gZGlyZWN0b3JpZXMgIk15 IHByb2dyYW1zIiBhbmQgIlNyYyIuCisuU0ggIlNFRSBBTFNPIgorLkJSIHh6ICgxKQorLmJyCitG cmVxdWVudGx5IEFza2VkIFF1ZXN0aW9uczogPGh0dHBzOi8vd3d3LjctemlwLm9yZy9mYXEuaHRt bD4KKy5icgorUmVjb3ZlciBjb3JydXB0ZWQgN3ogYXJjaGl2ZTogPGh0dHBzOi8vd3d3Ljctemlw Lm9yZy9yZWNvdmVyLmh0bWw+CmRpZmYgLS1naXQgYS9zcmNwa2dzLzd6aXAvcDd6aXAtdW5yYXIu SU5TVEFMTC5tc2cgYi9zcmNwa2dzLzd6aXAvcDd6aXAtdW5yYXIuSU5TVEFMTC5tc2cKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi43NzVmOTQzYzBhNTYKLS0tIC9kZXYv bnVsbAorKysgYi9zcmNwa2dzLzd6aXAvcDd6aXAtdW5yYXIuSU5TVEFMTC5tc2cKQEAgLTAsMCAr MSw1IEBACitUaGUgcDd6aXAtdW5yYXIgcGFja2FnZSBoYXMgYmVlbiByZXBsYWNlZCBieSA3emlw LXVucmFyLgorVG8gdXNlIHRoZSBSQVItZW5hYmxlZCB2ZXJzaW9uIG9mIGA3emAsIG1ha2Ugc3Vy ZSB0aGUgZGVzaXJlZAorYWx0ZXJuYXRpdmUgaXMgY29uZmlndXJlZDoKKworCSMgeGJwcy1hbHRl cm5hdGl2ZXMgLXMgN3ppcC11bnJhcgpkaWZmIC0tZ2l0IGEvc3JjcGtncy83emlwL3BhdGNoZXMv YnVpbGRfZmxhZ3MucGF0Y2ggYi9zcmNwa2dzLzd6aXAvcGF0Y2hlcy9idWlsZF9mbGFncy5wYXRj aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjRmNzkxZmY2M2RkZgot LS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvN3ppcC9wYXRjaGVzL2J1aWxkX2ZsYWdzLnBhdGNo CkBAIC0wLDAgKzEsMzAgQEAKK2FwcGVuZCAoZG9uJ3QgcHJlZml4KSB4YnBzIGJ1aWxkIGZsYWdz IGFuZCBkb24ndCBzdHJpcCB0aGUgZXhlY3V0YWJsZQorLS0tIGEvQ1BQLzd6aXAvN3ppcF9nY2Mu bWFrCisrKysgYi9DUFAvN3ppcC83emlwX2djYy5tYWsKK0BAIC0xMjYsNyArMTI2LDcgQEAgZW5k aWYKKyANCisgDQorIA0KKy1DRkxBR1MgPSAkKE1ZX0FSQ0hfMikgJChMT0NBTF9GTEFHUykgJChD RkxBR1NfQkFTRTIpICQoQ0ZMQUdTX0JBU0UpICQoQ0NfU0hBUkVEKSAtbyAkQA0KKytDRkxBR1Mg PSAkKE1ZX0FSQ0hfMikgJChMT0NBTF9GTEFHUykgJChDRkxBR1NfQkFTRTIpICQoQ0ZMQUdTX0JB U0UpICQoQ0NfU0hBUkVEKSAkKFhCUFNfQ0ZMQUdTKSAtbyAkQA0KKyANCisgDQorIGlmZGVmIElT X01JTkdXDQorQEAgLTE1NCw3ICsxNTQsNyBAQCBDWFhfV0FSTl9GTEFHUyA9CisgIy1Xbm8taW52 YWxpZC1vZmZzZXRvZg0KKyAjLVduby1yZW9yZGVyDQorIA0KKy1DWFhGTEFHUyA9ICQoTVlfQVJD SF8yKSAkKExPQ0FMX0ZMQUdTKSAkKENYWEZMQUdTX0JBU0UyKSAkKENGTEFHU19CQVNFKSAkKENY WEZMQUdTX0VYVFJBKSAkKENDX1NIQVJFRCkgLW8gJEAgJChDWFhfV0FSTl9GTEFHUykNCisrQ1hY RkxBR1MgPSAkKE1ZX0FSQ0hfMikgJChMT0NBTF9GTEFHUykgJChDWFhGTEFHU19CQVNFMikgJChD RkxBR1NfQkFTRSkgJChDWFhGTEFHU19FWFRSQSkgJChDQ19TSEFSRUQpIC1vICRAICQoQ1hYX1dB Uk5fRkxBR1MpICQoWEJQU19DWFhGTEFHUykNCisgDQorIFNUQVRJQ19UQVJHRVQ9DQorIGlmZGVm IENPTVBMX1NUQVRJQw0KK0BAIC0xNjcsNyArMTY3LDcgQEAgYWxsOiAkKE8pICQoUFJPR1BBVEgp ICQoU1RBVElDX1RBUkdFVCkKKyAkKE8pOg0KKyAJJChNWV9NS0RJUikgJChPKQ0KKyANCistTEZM QUdTX0FMTCA9IC1zICQoTVlfQVJDSF8yKSAkKExERkxBR1MpICQoTERfYXJjaCkgJChPQkpTKSAk KE1ZX0xJQlMpICQoTElCMikNCisrTEZMQUdTX0FMTCA9ICQoTVlfQVJDSF8yKSAkKExERkxBR1Mp ICQoTERfYXJjaCkgJChPQkpTKSAkKE1ZX0xJQlMpICQoTElCMikgJChYQlBTX0xERkxBR1MpDQor ICQoUFJPR1BBVEgpOiAkKE9CSlMpDQorIAkkKENYWCkgLW8gJChQUk9HUEFUSCkgJChMRkxBR1Nf QUxMKQ0KKyANCmRpZmYgLS1naXQgYS9zcmNwa2dzLzd6aXAvdGVtcGxhdGUgYi9zcmNwa2dzLzd6 aXAvdGVtcGxhdGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi41NDMw MjM0MmJlODAKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzLzd6aXAvdGVtcGxhdGUKQEAgLTAs MCArMSw4NiBAQAorIyBUZW1wbGF0ZSBmaWxlIGZvciAnN3ppcCcKK3BrZ25hbWU9N3ppcAordmVy c2lvbj0yMi4wMQorcmV2aXNpb249MQorY3JlYXRlX3dya3NyYz15ZXMKK3Nob3J0X2Rlc2M9IkZp bGUgYXJjaGl2ZXIgd2l0aCBhIGhpZ2ggY29tcHJlc3Npb24gcmF0aW8iCittYWludGFpbmVyPSJS b2JlcnRvIFJpY2NpIDxyaWNjaUBkaXNyb290Lm9yZz4iCitsaWNlbnNlPSJMR1BMLTIuMS1vci1s YXRlciwgQlNELTMtQ2xhdXNlIgoraG9tZXBhZ2U9Imh0dHBzOi8vd3d3LjctemlwLm9yZyIKK2No YW5nZWxvZz0iaHR0cHM6Ly93d3cuNy16aXAub3JnL2hpc3RvcnkudHh0IgorZGlzdGZpbGVzPSJo dHRwczovL3d3dy43LXppcC5vcmcvYS83eiR7dmVyc2lvbi8vLi99LXNyYy50YXIueHoiCitjaGVj a3N1bT0zOTMwOTg3MzBjNzAwNDIzOTJhZjgwODkxN2U3NjU5NDVkYzI0MzdkZWU3YWFlM2NmY2M0 OTY2ZWI5MjBmYmM1CithbHRlcm5hdGl2ZXM9IgorIDd6Ojd6Oi91c3IvYmluLzd6LWZyZWUKKyA3 ejo3emE6L3Vzci9iaW4vN3otZnJlZQorIDd6Ojd6cjovdXNyL2Jpbi83ei1mcmVlCisgN3o6N3ou MTovdXNyL3NoYXJlL21hbi9tYW4xLzd6LWZyZWUuMSIKKworaWYgWyAiJFhCUFNfVEFSR0VUX0xJ QkMiID0gbXVzbCBdOyB0aGVuCisJIyBtaXNzaW5nIHB0aHJlYWRfYXR0cl9zZXRhZmZpbml0eV9u cCgpCisJQ0ZMQUdTKz0iLURfN1pJUF9BRkZJTklUWV9ESVNBQkxFIgorCUNYWEZMQUdTKz0iLURf N1pJUF9BRkZJTklUWV9ESVNBQkxFIgorZmkKKworZG9fYnVpbGQoKSB7CisJY2QgIiR3cmtzcmMi L0NQUC83emlwL0J1bmRsZXMvQWxvbmUyCisKKwljYXNlICIkWEJQU19UQVJHRVRfTUFDSElORSIg aW4KKwlhYXJjaDY0KikgXzd6X21ha2VmaWxlPSIuLi8uLi9jbXBsX2djY19hcm02NC5tYWsiOzsK KwkqKSAgICAgICAgXzd6X21ha2VmaWxlPSIuLi8uLi9jbXBsX2djYy5tYWsiOzsKKwllc2FjCisK Kwlmb3Igb3B0cyBpbiAiTz1iL25vcmFyIERJU0FCTEVfUkFSX0NPTVBSRVNTPTEiIE89Yi9yYXI7 IGRvCisJCW1ha2UgIiRtYWtlam9icyIgLWYgIiRfN3pfbWFrZWZpbGUiIFwKKwkJCUNDPSIkQ0Mi IENYWD0iJENYWCIgWEJQU19DRkxBR1M9IiRDRkxBR1MiIFwKKwkJCVhCUFNfQ1hYRkxBR1M9IiRD WFhGTEFHUyIgWEJQU19MREZMQUdTPSIkTERGTEFHUyIgXAorCQkJJG9wdHMKKwlkb25lCit9CisK K183el9pbnN0YWxsKCkgeworCWJpbmRpcj0iJDEiCisJZGVzdD0iJDIiCisJc3VmZml4PSIkMyIK KworCXZiaW4gIiR7d3Jrc3JjfS9DUFAvN3ppcC9CdW5kbGVzL0Fsb25lMi8ke2JpbmRpcn0vN3p6 IiAiN3otJHtzdWZmaXh9IgorCisJdmxpY2Vuc2UgIiR7d3Jrc3JjfS9ET0MvTGljZW5zZS50eHQi CisKKwkjIGh0dHBzOi8vY2dpdC5mcmVlYnNkLm9yZy9wb3J0cy9wbGFpbi9hcmNoaXZlcnMvNy16 aXAvZmlsZXMvN3p6LjEKKwl2bWFuICIke0ZJTEVTRElSfS83enouMSIgIjd6LSR7c3VmZml4fS4x IgorfQorCitkb19pbnN0YWxsKCkgeworCV83el9pbnN0YWxsIGIvbm9yYXIgIiRERVNURElSIiBm cmVlCit9CisKKzd6aXAtdW5yYXJfcGFja2FnZSgpIHsKKwlsaWNlbnNlKz0iLCBjdXN0b206ZnJl ZXdhcmUiCisJcmVwb3NpdG9yeT1ub25mcmVlCisJc2hvcnRfZGVzYys9IiAtIFJBUiBzdXBwb3J0 IgorCWFsdGVybmF0aXZlcz0iCisJIDd6Ojd6Oi91c3IvYmluLzd6LXVucmFyCisJIDd6Ojd6YTov dXNyL2Jpbi83ei11bnJhcgorCSA3ejo3enI6L3Vzci9iaW4vN3otdW5yYXIKKwkgN3o6N3ouMTov dXNyL3NoYXJlL21hbi9tYW4xLzd6LXVucmFyLjEiCisKKwlwa2dfaW5zdGFsbCgpIHsKKwkJXzd6 X2luc3RhbGwgYi9yYXIgIiRQS0dERVNURElSIiB1bnJhcgorCX0KK30KKworcDd6aXBfcGFja2Fn ZSgpIHsKKwlidWlsZF9zdHlsZT1tZXRhCisJZGVwZW5kcz03emlwCisJc2hvcnRfZGVzYz0iQ29t bWFuZC1saW5lIHZlcnNpb24gb2YgdGhlIDd6aXAgY29tcHJlc3NlZCBmaWxlIGFyY2hpdmUiCisJ c2hvcnRfZGVzYys9IiAodHJhbnNpdGlvbmFsIGR1bW15IHBhY2thZ2UpIgorfQorCitwN3ppcC11 bnJhcl9wYWNrYWdlKCkgeworCWJ1aWxkX3N0eWxlPW1ldGEKKwlyZXBvc2l0b3J5PW5vbmZyZWUK KwlkZXBlbmRzPTd6aXAtdW5yYXIKKwlzaG9ydF9kZXNjPSJDb21tYW5kLWxpbmUgdmVyc2lvbiBv ZiB0aGUgN3ppcCBjb21wcmVzc2VkIGZpbGUgYXJjaGl2ZSAtIFJBUiBzdXBwb3J0IgorCXNob3J0 X2Rlc2MrPSIgKHRyYW5zaXRpb25hbCBkdW1teSBwYWNrYWdlKSIKK30KZGlmZiAtLWdpdCBhL3Ny Y3BrZ3MvN3ppcC91cGRhdGUgYi9zcmNwa2dzLzd6aXAvdXBkYXRlCm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uNTQ2M2YxNDhlNGY4Ci0tLSAvZGV2L251bGwKKysrIGIv c3JjcGtncy83emlwL3VwZGF0ZQpAQCAtMCwwICsxLDIgQEAKK3NpdGU9J2h0dHBzOi8vNy16aXAu b3JnL2Rvd25sb2FkLmh0bWwnCitwYXR0ZXJuPSdEb3dubG9hZCA3LVppcCBcS1tcZC5dKycKZGlm ZiAtLWdpdCBhL3NyY3BrZ3MvcDd6aXAgYi9zcmNwa2dzL3A3emlwCm5ldyBmaWxlIG1vZGUgMTIw MDAwCmluZGV4IDAwMDAwMDAwMDAwMC4uMjg0MzEyNTk1YTRjCi0tLSAvZGV2L251bGwKKysrIGIv c3JjcGtncy9wN3ppcApAQCAtMCwwICsxIEBACis3emlwClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg ZmlsZQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9wN3ppcC11bnJhciBiL3NyY3BrZ3MvcDd6aXAtdW5y YXIKaW5kZXggYmY1MzQ5ZWU2NjY2Li4yODQzMTI1OTVhNGMgMTIwMDAwCi0tLSBhL3NyY3BrZ3Mv cDd6aXAtdW5yYXIKKysrIGIvc3JjcGtncy9wN3ppcC11bnJhcgpAQCAtMSArMSBAQAotcDd6aXAK XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCis3emlwClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg ZmlsZQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9wN3ppcC9wYXRjaGVzLzIwLUNWRS0yMDE4LTU5OTYu cGF0Y2ggYi9zcmNwa2dzL3A3emlwL3BhdGNoZXMvMjAtQ1ZFLTIwMTgtNTk5Ni5wYXRjaApkZWxl dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjczM2JmZjkxODk1Li4wMDAwMDAwMDAwMDAKLS0t IGEvc3JjcGtncy9wN3ppcC9wYXRjaGVzLzIwLUNWRS0yMDE4LTU5OTYucGF0Y2gKKysrIC9kZXYv bnVsbApAQCAtMSwyMjEgKzAsMCBAQAotRnJvbTogUm9iZXJ0IEx1YmVyZGEgPHJvYmVydEBkZWJp YW4ub3JnPgotRGF0ZTogU3VuLCAyOCBKYW4gMjAxOCAyMzo0Nzo0MCArMDEwMAotU3ViamVjdDog Q1ZFLTIwMTgtNTk5NgotCi1Ib3BlZnVsbHkgZml4IE1lbW9yeSBDb3JydXB0aW9ucyB2aWEgUkFS IFBQTWQgKENWRS0yMDE4LTU5OTYpIGJ5Ci1hcHBseWluZyBhIGZldyBjaGFuZ2VzIGZyb20gN1pp cCAxOC4wMC1iZXRhLgotCi1CdWctRGViaWFuOiBodHRwczovL2J1Z3MuZGViaWFuLm9yZy8jODg4 MzE0Ci0tLS0KLSBDUFAvN3ppcC9Db21wcmVzcy9SYXIxRGVjb2Rlci5jcHAgfCAxMyArKysrKysr KystLS0tCi0gQ1BQLzd6aXAvQ29tcHJlc3MvUmFyMURlY29kZXIuaCAgIHwgIDEgKwotIENQUC83 emlwL0NvbXByZXNzL1JhcjJEZWNvZGVyLmNwcCB8IDEwICsrKysrKysrKy0KLSBDUFAvN3ppcC9D b21wcmVzcy9SYXIyRGVjb2Rlci5oICAgfCAgMSArCi0gQ1BQLzd6aXAvQ29tcHJlc3MvUmFyM0Rl Y29kZXIuY3BwIHwgMjMgKysrKysrKysrKysrKysrKysrKystLS0KLSBDUFAvN3ppcC9Db21wcmVz cy9SYXIzRGVjb2Rlci5oICAgfCAgMiArKwotIDYgZmlsZXMgY2hhbmdlZCwgNDIgaW5zZXJ0aW9u cygrKSwgOCBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL0NQUC83emlwL0NvbXByZXNzL1Jh cjFEZWNvZGVyLmNwcCBiL0NQUC83emlwL0NvbXByZXNzL1JhcjFEZWNvZGVyLmNwcAotaW5kZXgg MWFhZWRjYy4uNjgwMzBjNyAxMDA2NDQKLS0tLSBhL0NQUC83emlwL0NvbXByZXNzL1JhcjFEZWNv ZGVyLmNwcAotKysrIGIvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyMURlY29kZXIuY3BwCi1AQCAtMjks NyArMjksNyBAQCBwdWJsaWM6Ci0gfTsKLSAqLwotIAotLUNEZWNvZGVyOjpDRGVjb2RlcigpOiBt X0lzU29saWQoZmFsc2UpIHsgfQotK0NEZWNvZGVyOjpDRGVjb2RlcigpOiBtX0lzU29saWQoZmFs c2UpLCBfZXJyb3JNb2RlKGZhbHNlKSB7IH0KLSAKLSB2b2lkIENEZWNvZGVyOjpJbml0U3RydWN0 dXJlcygpCi0gewotQEAgLTQwNiw5ICs0MDYsMTQgQEAgSFJFU1VMVCBDRGVjb2Rlcjo6Q29kZVJl YWwoSVNlcXVlbnRpYWxJblN0cmVhbSAqaW5TdHJlYW0sIElTZXF1ZW50aWFsT3V0U3RyZWFtICoK LSAgIEluaXREYXRhKCk7Ci0gICBpZiAoIW1fSXNTb2xpZCkKLSAgIHsKLSsgICAgX2Vycm9yTW9k ZSA9IGZhbHNlOwotICAgICBJbml0U3RydWN0dXJlcygpOwotICAgICBJbml0SHVmZigpOwotICAg fQotKwotKyAgaWYgKF9lcnJvck1vZGUpCi0rICAgIHJldHVybiBTX0ZBTFNFOwotKwotICAgaWYg KG1fVW5wYWNrU2l6ZSA+IDApCi0gICB7Ci0gICAgIEdldEZsYWdzQnVmKCk7Ci1AQCAtNDc3LDkg KzQ4Miw5IEBAIFNURE1FVEhPRElNUCBDRGVjb2Rlcjo6Q29kZShJU2VxdWVudGlhbEluU3RyZWFt ICppblN0cmVhbSwgSVNlcXVlbnRpYWxPdXRTdHJlYW0KLSAgICAgY29uc3QgVUludDY0ICppblNp emUsIGNvbnN0IFVJbnQ2NCAqb3V0U2l6ZSwgSUNvbXByZXNzUHJvZ3Jlc3NJbmZvICpwcm9ncmVz cykKLSB7Ci0gICB0cnkgeyByZXR1cm4gQ29kZVJlYWwoaW5TdHJlYW0sIG91dFN0cmVhbSwgaW5T aXplLCBvdXRTaXplLCBwcm9ncmVzcyk7IH0KLS0gIGNhdGNoKGNvbnN0IENJbkJ1ZmZlckV4Y2Vw dGlvbiAmZSkgeyByZXR1cm4gZS5FcnJvckNvZGU7IH0KLS0gIGNhdGNoKGNvbnN0IENMek91dFdp bmRvd0V4Y2VwdGlvbiAmZSkgeyByZXR1cm4gZS5FcnJvckNvZGU7IH0KLS0gIGNhdGNoKC4uLikg eyByZXR1cm4gU19GQUxTRTsgfQotKyAgY2F0Y2goY29uc3QgQ0luQnVmZmVyRXhjZXB0aW9uICZl KSB7IF9lcnJvck1vZGUgPSB0cnVlOyByZXR1cm4gZS5FcnJvckNvZGU7IH0KLSsgIGNhdGNoKGNv bnN0IENMek91dFdpbmRvd0V4Y2VwdGlvbiAmZSkgeyBfZXJyb3JNb2RlID0gdHJ1ZTsgcmV0dXJu IGUuRXJyb3JDb2RlOyB9Ci0rICBjYXRjaCguLi4pIHsgX2Vycm9yTW9kZSA9IHRydWU7IHJldHVy biBTX0ZBTFNFOyB9Ci0gfQotIAotIFNURE1FVEhPRElNUCBDRGVjb2Rlcjo6U2V0RGVjb2RlclBy b3BlcnRpZXMyKGNvbnN0IEJ5dGUgKmRhdGEsIFVJbnQzMiBzaXplKQotZGlmZiAtLWdpdCBhL0NQ UC83emlwL0NvbXByZXNzL1JhcjFEZWNvZGVyLmggYi9DUFAvN3ppcC9Db21wcmVzcy9SYXIxRGVj b2Rlci5oCi1pbmRleCA2MzBmMDg5Li4wMWI2MDZiIDEwMDY0NAotLS0tIGEvQ1BQLzd6aXAvQ29t cHJlc3MvUmFyMURlY29kZXIuaAotKysrIGIvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyMURlY29kZXIu aAotQEAgLTM5LDYgKzM5LDcgQEAgcHVibGljOgotIAotICAgSW50NjQgbV9VbnBhY2tTaXplOwot ICAgYm9vbCBtX0lzU29saWQ7Ci0rICBib29sIF9lcnJvck1vZGU7Ci0gCi0gICBVSW50MzIgUmVh ZEJpdHMoaW50IG51bUJpdHMpOwotICAgSFJFU1VMVCBDb3B5QmxvY2soVUludDMyIGRpc3RhbmNl LCBVSW50MzIgbGVuKTsKLWRpZmYgLS1naXQgYS9DUFAvN3ppcC9Db21wcmVzcy9SYXIyRGVjb2Rl ci5jcHAgYi9DUFAvN3ppcC9Db21wcmVzcy9SYXIyRGVjb2Rlci5jcHAKLWluZGV4IGIzZjJiNGIu LjA1ODBjOGQgMTAwNjQ0Ci0tLS0gYS9DUFAvN3ppcC9Db21wcmVzcy9SYXIyRGVjb2Rlci5jcHAK LSsrKyBiL0NQUC83emlwL0NvbXByZXNzL1JhcjJEZWNvZGVyLmNwcAotQEAgLTgwLDcgKzgwLDgg QEAgc3RhdGljIGNvbnN0IFVJbnQzMiBrSGlzdG9yeVNpemUgPSAxIDw8IDIwOwotIHN0YXRpYyBj b25zdCBVSW50MzIga1dpbmRvd1Jlc2VydlNpemUgPSAoMSA8PCAyMikgKyAyNTY7Ci0gCi0gQ0Rl Y29kZXI6OkNEZWNvZGVyKCk6Ci0tICBtX0lzU29saWQoZmFsc2UpCi0rICBtX0lzU29saWQoZmFs c2UpLAotKyAgbV9UYWJsZXNPSyhmYWxzZSkKLSB7Ci0gfQotIAotQEAgLTEwMCw2ICsxMDEsOCBA QCBVSW50MzIgQ0RlY29kZXI6OlJlYWRCaXRzKHVuc2lnbmVkIG51bUJpdHMpIHsgcmV0dXJuIG1f SW5CaXRTdHJlYW0uUmVhZEJpdHMobnVtQgotIAotIGJvb2wgQ0RlY29kZXI6OlJlYWRUYWJsZXMo dm9pZCkKLSB7Ci0rICBtX1RhYmxlc09LID0gZmFsc2U7Ci0rCi0gICBCeXRlIGxldmVsTGV2ZWxz W2tMZXZlbFRhYmxlU2l6ZV07Ci0gICBCeXRlIG5ld0xldmVsc1trTWF4VGFibGVTaXplXTsKLSAg IG1fQXVkaW9Nb2RlID0gKFJlYWRCaXRzKDEpID09IDEpOwotQEAgLTE3MCw2ICsxNzMsOCBAQCBi b29sIENEZWNvZGVyOjpSZWFkVGFibGVzKHZvaWQpCi0gICB9Ci0gICAKLSAgIG1lbWNweShtX0xh c3RMZXZlbHMsIG5ld0xldmVscywga01heFRhYmxlU2l6ZSk7Ci0rICBtX1RhYmxlc09LID0gdHJ1 ZTsKLSsKLSAgIHJldHVybiB0cnVlOwotIH0KLSAKLUBAIC0zNDQsNiArMzQ5LDkgQEAgSFJFU1VM VCBDRGVjb2Rlcjo6Q29kZVJlYWwoSVNlcXVlbnRpYWxJblN0cmVhbSAqaW5TdHJlYW0sIElTZXF1 ZW50aWFsT3V0U3RyZWFtICoKLSAgICAgICByZXR1cm4gU19GQUxTRTsKLSAgIH0KLSAKLSsgIGlm ICghbV9UYWJsZXNPSykKLSsgICAgcmV0dXJuIFNfRkFMU0U7Ci0rCi0gICBVSW50NjQgc3RhcnRQ b3MgPSBtX091dFdpbmRvd1N0cmVhbS5HZXRQcm9jZXNzZWRTaXplKCk7Ci0gICB3aGlsZSAocG9z IDwgdW5QYWNrU2l6ZSkKLSAgIHsKLWRpZmYgLS1naXQgYS9DUFAvN3ppcC9Db21wcmVzcy9SYXIy RGVjb2Rlci5oIGIvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyMkRlY29kZXIuaAotaW5kZXggM2EwNTM1 Yy4uMGU5MDA1ZiAxMDA2NDQKLS0tLSBhL0NQUC83emlwL0NvbXByZXNzL1JhcjJEZWNvZGVyLmgK LSsrKyBiL0NQUC83emlwL0NvbXByZXNzL1JhcjJEZWNvZGVyLmgKLUBAIC0xMzksNiArMTM5LDcg QEAgY2xhc3MgQ0RlY29kZXIgOgotIAotICAgVUludDY0IG1fUGFja1NpemU7Ci0gICBib29sIG1f SXNTb2xpZDsKLSsgIGJvb2wgbV9UYWJsZXNPSzsKLSAKLSAgIHZvaWQgSW5pdFN0cnVjdHVyZXMo KTsKLSAgIFVJbnQzMiBSZWFkQml0cyh1bnNpZ25lZCBudW1CaXRzKTsKLWRpZmYgLS1naXQgYS9D UFAvN3ppcC9Db21wcmVzcy9SYXIzRGVjb2Rlci5jcHAgYi9DUFAvN3ppcC9Db21wcmVzcy9SYXIz RGVjb2Rlci5jcHAKLWluZGV4IDNiZjI1MTMuLjZjYjhhNmEgMTAwNjQ0Ci0tLS0gYS9DUFAvN3pp cC9Db21wcmVzcy9SYXIzRGVjb2Rlci5jcHAKLSsrKyBiL0NQUC83emlwL0NvbXByZXNzL1JhcjNE ZWNvZGVyLmNwcAotQEAgLTkyLDcgKzkyLDggQEAgQ0RlY29kZXI6OkNEZWNvZGVyKCk6Ci0gICBf d3JpdHRlbkZpbGVTaXplKDApLAotICAgX3ZtRGF0YSgwKSwKLSAgIF92bUNvZGUoMCksCi0tICBt X0lzU29saWQoZmFsc2UpCi0rICBtX0lzU29saWQoZmFsc2UpLAotKyAgX2Vycm9yTW9kZShmYWxz ZSkKLSB7Ci0gICBQcG1kN19Db25zdHJ1Y3QoJl9wcG1kKTsKLSB9Ci1AQCAtNTQ1LDYgKzU0Niw5 IEBAIEhSRVNVTFQgQ0RlY29kZXI6OlJlYWRUYWJsZXMoYm9vbCAma2VlcERlY29tcHJlc3Npbmcp Ci0gICAgIHJldHVybiBJbml0UFBNKCk7Ci0gICB9Ci0gCi0rICBUYWJsZXNSZWFkID0gZmFsc2U7 Ci0rICBUYWJsZXNPSyA9IGZhbHNlOwotKwotICAgX2x6TW9kZSA9IHRydWU7Ci0gICBQcmV2QWxp Z25CaXRzID0gMDsKLSAgIFByZXZBbGlnbkNvdW50ID0gMDsKLUBAIC02MDYsNiArNjEwLDkgQEAg SFJFU1VMVCBDRGVjb2Rlcjo6UmVhZFRhYmxlcyhib29sICZrZWVwRGVjb21wcmVzc2luZykKLSAg ICAgICB9Ci0gICAgIH0KLSAgIH0KLSsgIGlmIChJbnB1dEVvZkVycm9yKCkpCi0rICAgIHJldHVy biBTX0ZBTFNFOwotKwotICAgVGFibGVzUmVhZCA9IHRydWU7Ci0gCi0gICAvLyBvcmlnaW5hbCBj b2RlIGhhcyBjaGVjayBoZXJlOgotQEAgLTYyMyw2ICs2MzAsOSBAQCBIUkVTVUxUIENEZWNvZGVy OjpSZWFkVGFibGVzKGJvb2wgJmtlZXBEZWNvbXByZXNzaW5nKQotICAgUklGKG1fTGVuRGVjb2Rl ci5CdWlsZCgmbmV3TGV2ZWxzW2tNYWluVGFibGVTaXplICsga0Rpc3RUYWJsZVNpemUgKyBrQWxp Z25UYWJsZVNpemVdKSk7Ci0gCi0gICBtZW1jcHkobV9MYXN0TGV2ZWxzLCBuZXdMZXZlbHMsIGtU YWJsZXNTaXplc1N1bSk7Ci0rCi0rICBUYWJsZXNPSyA9IHRydWU7Ci0rCi0gICByZXR1cm4gU19P SzsKLSB9Ci0gCi1AQCAtODI0LDcgKzgzNCwxMiBAQCBIUkVTVUxUIENEZWNvZGVyOjpDb2RlUmVh bChJQ29tcHJlc3NQcm9ncmVzc0luZm8gKnByb2dyZXNzKQotICAgICBQcG1Fc2NDaGFyID0gMjsK LSAgICAgUHBtRXJyb3IgPSB0cnVlOwotICAgICBJbml0RmlsdGVycygpOwotKyAgICBfZXJyb3JN b2RlID0gZmFsc2U7Ci0gICB9Ci0rCi0rICBpZiAoX2Vycm9yTW9kZSkKLSsgICAgcmV0dXJuIFNf RkFMU0U7Ci0rCi0gICBpZiAoIW1fSXNTb2xpZCB8fCAhVGFibGVzUmVhZCkKLSAgIHsKLSAgICAg Ym9vbCBrZWVwRGVjb21wcmVzc2luZzsKLUBAIC04MzgsNiArODUzLDggQEAgSFJFU1VMVCBDRGVj b2Rlcjo6Q29kZVJlYWwoSUNvbXByZXNzUHJvZ3Jlc3NJbmZvICpwcm9ncmVzcykKLSAgICAgYm9v bCBrZWVwRGVjb21wcmVzc2luZzsKLSAgICAgaWYgKF9sek1vZGUpCi0gICAgIHsKLSsgICAgICBp ZiAoIVRhYmxlc09LKQotKyAgICAgICAgcmV0dXJuIFNfRkFMU0U7Ci0gICAgICAgUklOT0soRGVj b2RlTFooa2VlcERlY29tcHJlc3NpbmcpKQotICAgICB9Ci0gICAgIGVsc2UKLUBAIC05MDEsOCAr OTE4LDggQEAgU1RETUVUSE9ESU1QIENEZWNvZGVyOjpDb2RlKElTZXF1ZW50aWFsSW5TdHJlYW0g KmluU3RyZWFtLCBJU2VxdWVudGlhbE91dFN0cmVhbQotICAgICBfdW5wYWNrU2l6ZSA9IG91dFNp emUgPyAqb3V0U2l6ZSA6IChVSW50NjQpKEludDY0KS0xOwotICAgICByZXR1cm4gQ29kZVJlYWwo cHJvZ3Jlc3MpOwotICAgfQotLSAgY2F0Y2goY29uc3QgQ0luQnVmZmVyRXhjZXB0aW9uICZlKSAg eyByZXR1cm4gZS5FcnJvckNvZGU7IH0KLS0gIGNhdGNoKC4uLikgeyByZXR1cm4gU19GQUxTRTsg fQotKyAgY2F0Y2goY29uc3QgQ0luQnVmZmVyRXhjZXB0aW9uICZlKSAgeyBfZXJyb3JNb2RlID0g dHJ1ZTsgcmV0dXJuIGUuRXJyb3JDb2RlOyB9Ci0rICBjYXRjaCguLi4pIHsgX2Vycm9yTW9kZSA9 IHRydWU7IHJldHVybiBTX0ZBTFNFOyB9Ci0gICAvLyBDTmV3RXhjZXB0aW9uIGlzIHBvc3NpYmxl IGhlcmUuIEJ1dCBwcm9iYWJseSBDTmV3RXhjZXB0aW9uIGlzIGNhdXNlZAotICAgLy8gYnkgZXJy b3IgaW4gZGF0YSBzdHJlYW0uCi0gfQotZGlmZiAtLWdpdCBhL0NQUC83emlwL0NvbXByZXNzL1Jh cjNEZWNvZGVyLmggYi9DUFAvN3ppcC9Db21wcmVzcy9SYXIzRGVjb2Rlci5oCi1pbmRleCBjMTMw Y2VjLi4yZjcyZDdkIDEwMDY0NAotLS0tIGEvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyM0RlY29kZXIu aAotKysrIGIvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyM0RlY29kZXIuaAotQEAgLTE5Miw2ICsxOTIs NyBAQCBjbGFzcyBDRGVjb2RlcjoKLSAgIFVJbnQzMiBfbGFzdEZpbHRlcjsKLSAKLSAgIGJvb2wg bV9Jc1NvbGlkOwotKyAgYm9vbCBfZXJyb3JNb2RlOwotIAotICAgYm9vbCBfbHpNb2RlOwotICAg Ym9vbCBfdW5zdXBwb3J0ZWRGaWx0ZXI7Ci1AQCAtMjAwLDYgKzIwMSw3IEBAIGNsYXNzIENEZWNv ZGVyOgotICAgVUludDMyIFByZXZBbGlnbkNvdW50OwotIAotICAgYm9vbCBUYWJsZXNSZWFkOwot KyAgYm9vbCBUYWJsZXNPSzsKLSAKLSAgIENQcG1kNyBfcHBtZDsKLSAgIGludCBQcG1Fc2NDaGFy OwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9wN3ppcC9wYXRjaGVzLzMwLUNWRS0yMDE4LTEwMTE1LnBh dGNoIGIvc3JjcGtncy9wN3ppcC9wYXRjaGVzLzMwLUNWRS0yMDE4LTEwMTE1LnBhdGNoCmRlbGV0 ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3ZDljNGJmODFmMDAuLjAwMDAwMDAwMDAwMAotLS0g YS9zcmNwa2dzL3A3emlwL3BhdGNoZXMvMzAtQ1ZFLTIwMTgtMTAxMTUucGF0Y2gKKysrIC9kZXYv bnVsbApAQCAtMSwzMTEgKzAsMCBAQAotRnJvbTogUm9iZXJ0IEx1YmVyZGEgPHJvYmVydEBkZWJp YW4ub3JnPgotRGF0ZTogVHVlLCAyOSBNYXkgMjAxOCAyMzo1OTowOSArMDIwMAotU3ViamVjdDog Rml4IENWRS0yMDE4LTEwMTE1Ci0KLUFwcGx5ICJwYXRjaCIgdGFrZW4gZnJvbSBodHRwczovL2xh bmRhdmUuaW8vZmlsZXMvcGF0Y2hfN3ppcF9DVkUtMjAxOC0xMDExNS50eHQKLQotCi1CdWdzLURl YmlhbjogaHR0cHM6Ly9idWdzLmRlYmlhbi5vcmcvODk3Njc0Ci0tLS0KLSBDUFAvN3ppcC9Db21w cmVzcy9SYXIxRGVjb2Rlci5jcHAgfCAxNiArKysrKysrKysrKy0tLS0tCi0gQ1BQLzd6aXAvQ29t cHJlc3MvUmFyMURlY29kZXIuaCAgIHwgIDMgKystCi0gQ1BQLzd6aXAvQ29tcHJlc3MvUmFyMkRl Y29kZXIuY3BwIHwgMTcgKysrKysrKysrKysrKy0tLS0KLSBDUFAvN3ppcC9Db21wcmVzcy9SYXIy RGVjb2Rlci5oICAgfCAgMyArKy0KLSBDUFAvN3ppcC9Db21wcmVzcy9SYXIzRGVjb2Rlci5jcHAg fCAxOSArKysrKysrKysrKysrKystLS0tCi0gQ1BQLzd6aXAvQ29tcHJlc3MvUmFyM0RlY29kZXIu aCAgIHwgIDMgKystCi0gQ1BQLzd6aXAvQ29tcHJlc3MvUmFyNURlY29kZXIuY3BwIHwgIDggKysr KysrKysKLSBDUFAvN3ppcC9Db21wcmVzcy9SYXI1RGVjb2Rlci5oICAgfCAgMSArCi0gOCBmaWxl cyBjaGFuZ2VkLCA1NCBpbnNlcnRpb25zKCspLCAxNiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdp dCBhL0NQUC83emlwL0NvbXByZXNzL1JhcjFEZWNvZGVyLmNwcCBiL0NQUC83emlwL0NvbXByZXNz L1JhcjFEZWNvZGVyLmNwcAotaW5kZXggNjgwMzBjNy4uOGM4OTBjOCAxMDA2NDQKLS0tLSBhL0NQ UC83emlwL0NvbXByZXNzL1JhcjFEZWNvZGVyLmNwcAotKysrIGIvQ1BQLzd6aXAvQ29tcHJlc3Mv UmFyMURlY29kZXIuY3BwCi1AQCAtMjksNyArMjksNyBAQCBwdWJsaWM6Ci0gfTsKLSAqLwotIAot LUNEZWNvZGVyOjpDRGVjb2RlcigpOiBtX0lzU29saWQoZmFsc2UpLCBfZXJyb3JNb2RlKGZhbHNl KSB7IH0KLStDRGVjb2Rlcjo6Q0RlY29kZXIoKTogX2lzU29saWQoZmFsc2UpLCBfc29saWRBbGxv d2VkKGZhbHNlKSwgX2Vycm9yTW9kZShmYWxzZSkgeyB9Ci0gCi0gdm9pZCBDRGVjb2Rlcjo6SW5p dFN0cnVjdHVyZXMoKQotIHsKLUBAIC0zNDUsNyArMzQ1LDcgQEAgdm9pZCBDRGVjb2Rlcjo6R2V0 RmxhZ3NCdWYoKQotIAotIHZvaWQgQ0RlY29kZXI6OkluaXREYXRhKCkKLSB7Ci0tICBpZiAoIW1f SXNTb2xpZCkKLSsgIGlmICghX2lzU29saWQpCi0gICB7Ci0gICAgIEF2clBsY0IgPSBBdnJMbjEg PSBBdnJMbjIgPSBBdnJMbjMgPSBOdW1IdWYgPSBCdWY2MCA9IDA7Ci0gICAgIEF2clBsYyA9IDB4 MzUwMDsKLUBAIC0zOTEsNiArMzkxLDExIEBAIEhSRVNVTFQgQ0RlY29kZXI6OkNvZGVSZWFsKElT ZXF1ZW50aWFsSW5TdHJlYW0gKmluU3RyZWFtLCBJU2VxdWVudGlhbE91dFN0cmVhbSAqCi0gICBp ZiAoaW5TaXplID09IE5VTEwgfHwgb3V0U2l6ZSA9PSBOVUxMKQotICAgICByZXR1cm4gRV9JTlZB TElEQVJHOwotIAotKyAgaWYgKF9pc1NvbGlkICYmICFfc29saWRBbGxvd2VkKQotKyAgICByZXR1 cm4gU19GQUxTRTsKLSsKLSsgIF9zb2xpZEFsbG93ZWQgPSBmYWxzZTsKLSsKLSAgIGlmICghbV9P dXRXaW5kb3dTdHJlYW0uQ3JlYXRlKGtIaXN0b3J5U2l6ZSkpCi0gICAgIHJldHVybiBFX09VVE9G TUVNT1JZOwotICAgaWYgKCFtX0luQml0U3RyZWFtLkNyZWF0ZSgxIDw8IDIwKSkKLUBAIC0zOTgs MTMgKzQwMywxMyBAQCBIUkVTVUxUIENEZWNvZGVyOjpDb2RlUmVhbChJU2VxdWVudGlhbEluU3Ry ZWFtICppblN0cmVhbSwgSVNlcXVlbnRpYWxPdXRTdHJlYW0gKgotIAotICAgbV9VbnBhY2tTaXpl ID0gKEludDY0KSpvdXRTaXplOwotICAgbV9PdXRXaW5kb3dTdHJlYW0uU2V0U3RyZWFtKG91dFN0 cmVhbSk7Ci0tICBtX091dFdpbmRvd1N0cmVhbS5Jbml0KG1fSXNTb2xpZCk7Ci0rICBtX091dFdp bmRvd1N0cmVhbS5Jbml0KF9pc1NvbGlkKTsKLSAgIG1fSW5CaXRTdHJlYW0uU2V0U3RyZWFtKGlu U3RyZWFtKTsKLSAgIG1fSW5CaXRTdHJlYW0uSW5pdCgpOwotIAotICAgLy8gQ0NvZGVyUmVsZWFz ZXIgY29kZXJSZWxlYXNlcih0aGlzKTsKLSAgIEluaXREYXRhKCk7Ci0tICBpZiAoIW1fSXNTb2xp ZCkKLSsgIGlmICghX2lzU29saWQpCi0gICB7Ci0gICAgIF9lcnJvck1vZGUgPSBmYWxzZTsKLSAg ICAgSW5pdFN0cnVjdHVyZXMoKTsKLUBAIC00NzUsNiArNDgwLDcgQEAgSFJFU1VMVCBDRGVjb2Rl cjo6Q29kZVJlYWwoSVNlcXVlbnRpYWxJblN0cmVhbSAqaW5TdHJlYW0sIElTZXF1ZW50aWFsT3V0 U3RyZWFtICoKLSAgIH0KLSAgIGlmIChtX1VucGFja1NpemUgPCAwKQotICAgICByZXR1cm4gU19G QUxTRTsKLSsgIF9zb2xpZEFsbG93ZWQgPSB0cnVlOwotICAgcmV0dXJuIG1fT3V0V2luZG93U3Ry ZWFtLkZsdXNoKCk7Ci0gfQotIAotQEAgLTQ5MSw3ICs0OTcsNyBAQCBTVERNRVRIT0RJTVAgQ0Rl Y29kZXI6OlNldERlY29kZXJQcm9wZXJ0aWVzMihjb25zdCBCeXRlICpkYXRhLCBVSW50MzIgc2l6 ZSkKLSB7Ci0gICBpZiAoc2l6ZSA8IDEpCi0gICAgIHJldHVybiBFX0lOVkFMSURBUkc7Ci0tICBt X0lzU29saWQgPSAoKGRhdGFbMF0gJiAxKSAhPSAwKTsKLSsgIF9pc1NvbGlkID0gKChkYXRhWzBd ICYgMSkgIT0gMCk7Ci0gICByZXR1cm4gU19PSzsKLSB9Ci0gCi1kaWZmIC0tZ2l0IGEvQ1BQLzd6 aXAvQ29tcHJlc3MvUmFyMURlY29kZXIuaCBiL0NQUC83emlwL0NvbXByZXNzL1JhcjFEZWNvZGVy LmgKLWluZGV4IDAxYjYwNmIuLjhhYmIzYTMgMTAwNjQ0Ci0tLS0gYS9DUFAvN3ppcC9Db21wcmVz cy9SYXIxRGVjb2Rlci5oCi0rKysgYi9DUFAvN3ppcC9Db21wcmVzcy9SYXIxRGVjb2Rlci5oCi1A QCAtMzgsNyArMzgsOCBAQCBwdWJsaWM6Ci0gICBVSW50MzIgTGFzdExlbmd0aDsKLSAKLSAgIElu dDY0IG1fVW5wYWNrU2l6ZTsKLS0gIGJvb2wgbV9Jc1NvbGlkOwotKyAgYm9vbCBfaXNTb2xpZDsK LSsgIGJvb2wgX3NvbGlkQWxsb3dlZDsKLSAgIGJvb2wgX2Vycm9yTW9kZTsKLSAKLSAgIFVJbnQz MiBSZWFkQml0cyhpbnQgbnVtQml0cyk7Ci1kaWZmIC0tZ2l0IGEvQ1BQLzd6aXAvQ29tcHJlc3Mv UmFyMkRlY29kZXIuY3BwIGIvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyMkRlY29kZXIuY3BwCi1pbmRl eCAwNTgwYzhkLi5iZThkODQyIDEwMDY0NAotLS0tIGEvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyMkRl Y29kZXIuY3BwCi0rKysgYi9DUFAvN3ppcC9Db21wcmVzcy9SYXIyRGVjb2Rlci5jcHAKLUBAIC04 MCw3ICs4MCw4IEBAIHN0YXRpYyBjb25zdCBVSW50MzIga0hpc3RvcnlTaXplID0gMSA8PCAyMDsK LSBzdGF0aWMgY29uc3QgVUludDMyIGtXaW5kb3dSZXNlcnZTaXplID0gKDEgPDwgMjIpICsgMjU2 OwotIAotIENEZWNvZGVyOjpDRGVjb2RlcigpOgotLSAgbV9Jc1NvbGlkKGZhbHNlKSwKLSsgIF9p c1NvbGlkKGZhbHNlKSwKLSsgIF9zb2xpZEFsbG93ZWQoZmFsc2UpLAotICAgbV9UYWJsZXNPSyhm YWxzZSkKLSB7Ci0gfQotQEAgLTMyMCw2ICszMjEsMTAgQEAgSFJFU1VMVCBDRGVjb2Rlcjo6Q29k ZVJlYWwoSVNlcXVlbnRpYWxJblN0cmVhbSAqaW5TdHJlYW0sIElTZXF1ZW50aWFsT3V0U3RyZWFt ICoKLSAgIGlmIChpblNpemUgPT0gTlVMTCB8fCBvdXRTaXplID09IE5VTEwpCi0gICAgIHJldHVy biBFX0lOVkFMSURBUkc7Ci0gCi0rICBpZiAoX2lzU29saWQgJiYgIV9zb2xpZEFsbG93ZWQpCi0r ICAgIHJldHVybiBTX0ZBTFNFOwotKyAgX3NvbGlkQWxsb3dlZCA9IGZhbHNlOwotKwotICAgaWYg KCFtX091dFdpbmRvd1N0cmVhbS5DcmVhdGUoa0hpc3RvcnlTaXplKSkKLSAgICAgcmV0dXJuIEVf T1VUT0ZNRU1PUlk7Ci0gICBpZiAoIW1fSW5CaXRTdHJlYW0uQ3JlYXRlKDEgPDwgMjApKQotQEAg LTMzMCwxMiArMzM1LDEyIEBAIEhSRVNVTFQgQ0RlY29kZXI6OkNvZGVSZWFsKElTZXF1ZW50aWFs SW5TdHJlYW0gKmluU3RyZWFtLCBJU2VxdWVudGlhbE91dFN0cmVhbSAqCi0gICBVSW50NjQgcG9z ID0gMCwgdW5QYWNrU2l6ZSA9ICpvdXRTaXplOwotICAgCi0gICBtX091dFdpbmRvd1N0cmVhbS5T ZXRTdHJlYW0ob3V0U3RyZWFtKTsKLS0gIG1fT3V0V2luZG93U3RyZWFtLkluaXQobV9Jc1NvbGlk KTsKLSsgIG1fT3V0V2luZG93U3RyZWFtLkluaXQoX2lzU29saWQpOwotICAgbV9JbkJpdFN0cmVh bS5TZXRTdHJlYW0oaW5TdHJlYW0pOwotICAgbV9JbkJpdFN0cmVhbS5Jbml0KCk7Ci0gCi0gICAv LyBDQ29kZXJSZWxlYXNlciBjb2RlclJlbGVhc2VyKHRoaXMpOwotLSAgaWYgKCFtX0lzU29saWQp Ci0rICBpZiAoIV9pc1NvbGlkKQotICAgewotICAgICBJbml0U3RydWN0dXJlcygpOwotICAgICBp ZiAodW5QYWNrU2l6ZSA9PSAwKQotQEAgLTM0Myw2ICszNDgsNyBAQCBIUkVTVUxUIENEZWNvZGVy OjpDb2RlUmVhbChJU2VxdWVudGlhbEluU3RyZWFtICppblN0cmVhbSwgSVNlcXVlbnRpYWxPdXRT dHJlYW0gKgotICAgICAgIGlmIChtX0luQml0U3RyZWFtLkdldFByb2Nlc3NlZFNpemUoKSArIDIg PD0gbV9QYWNrU2l6ZSkgLy8gdGVzdCBpdDogcHJvYmFibHkgaW5jb3JyZWN0OwotICAgICAgICAg aWYgKCFSZWFkVGFibGVzKCkpCi0gICAgICAgICAgIHJldHVybiBTX0ZBTFNFOwotKyAgICAgIF9z b2xpZEFsbG93ZWQgPSB0cnVlOwotICAgICAgIHJldHVybiBTX09LOwotICAgICB9Ci0gICAgIGlm ICghUmVhZFRhYmxlcygpKQotQEAgLTM4Niw2ICszOTIsOSBAQCBIUkVTVUxUIENEZWNvZGVyOjpD b2RlUmVhbChJU2VxdWVudGlhbEluU3RyZWFtICppblN0cmVhbSwgSVNlcXVlbnRpYWxPdXRTdHJl YW0gKgotIAotICAgaWYgKCFSZWFkTGFzdFRhYmxlcygpKQotICAgICByZXR1cm4gU19GQUxTRTsK LSsKLSsgIF9zb2xpZEFsbG93ZWQgPSB0cnVlOwotKwotICAgcmV0dXJuIG1fT3V0V2luZG93U3Ry ZWFtLkZsdXNoKCk7Ci0gfQotIAotQEAgLTQwMiw3ICs0MTEsNyBAQCBTVERNRVRIT0RJTVAgQ0Rl Y29kZXI6OlNldERlY29kZXJQcm9wZXJ0aWVzMihjb25zdCBCeXRlICpkYXRhLCBVSW50MzIgc2l6 ZSkKLSB7Ci0gICBpZiAoc2l6ZSA8IDEpCi0gICAgIHJldHVybiBFX0lOVkFMSURBUkc7Ci0tICBt X0lzU29saWQgPSAoKGRhdGFbMF0gJiAxKSAhPSAwKTsKLSsgIF9pc1NvbGlkID0gKChkYXRhWzBd ICYgMSkgIT0gMCk7Ci0gICByZXR1cm4gU19PSzsKLSB9Ci0gCi1kaWZmIC0tZ2l0IGEvQ1BQLzd6 aXAvQ29tcHJlc3MvUmFyMkRlY29kZXIuaCBiL0NQUC83emlwL0NvbXByZXNzL1JhcjJEZWNvZGVy LmgKLWluZGV4IDBlOTAwNWYuLjM3MGJjZTIgMTAwNjQ0Ci0tLS0gYS9DUFAvN3ppcC9Db21wcmVz cy9SYXIyRGVjb2Rlci5oCi0rKysgYi9DUFAvN3ppcC9Db21wcmVzcy9SYXIyRGVjb2Rlci5oCi1A QCAtMTM4LDcgKzEzOCw4IEBAIGNsYXNzIENEZWNvZGVyIDoKLSAgIEJ5dGUgbV9MYXN0TGV2ZWxz W2tNYXhUYWJsZVNpemVdOwotIAotICAgVUludDY0IG1fUGFja1NpemU7Ci0tICBib29sIG1fSXNT b2xpZDsKLSsgIGJvb2wgX2lzU29saWQ7Ci0rICBib29sIF9zb2xpZEFsbG93ZWQ7Ci0gICBib29s IG1fVGFibGVzT0s7Ci0gCi0gICB2b2lkIEluaXRTdHJ1Y3R1cmVzKCk7Ci1kaWZmIC0tZ2l0IGEv Q1BQLzd6aXAvQ29tcHJlc3MvUmFyM0RlY29kZXIuY3BwIGIvQ1BQLzd6aXAvQ29tcHJlc3MvUmFy M0RlY29kZXIuY3BwCi1pbmRleCA2Y2I4YTZhLi43Yjg1ODMzIDEwMDY0NAotLS0tIGEvQ1BQLzd6 aXAvQ29tcHJlc3MvUmFyM0RlY29kZXIuY3BwCi0rKysgYi9DUFAvN3ppcC9Db21wcmVzcy9SYXIz RGVjb2Rlci5jcHAKLUBAIC05Miw3ICs5Miw4IEBAIENEZWNvZGVyOjpDRGVjb2RlcigpOgotICAg X3dyaXR0ZW5GaWxlU2l6ZSgwKSwKLSAgIF92bURhdGEoMCksCi0gICBfdm1Db2RlKDApLAotLSAg bV9Jc1NvbGlkKGZhbHNlKSwKLSsgIF9pc1NvbGlkKGZhbHNlKSwKLSsgIF9zb2xpZEFsbG93ZWQo ZmFsc2UpLAotICAgX2Vycm9yTW9kZShmYWxzZSkKLSB7Ci0gICBQcG1kN19Db25zdHJ1Y3QoJl9w cG1kKTsKLUBAIC04MjEsNyArODIyLDcgQEAgSFJFU1VMVCBDRGVjb2Rlcjo6Q29kZVJlYWwoSUNv bXByZXNzUHJvZ3Jlc3NJbmZvICpwcm9ncmVzcykKLSB7Ci0gICBfd3JpdHRlbkZpbGVTaXplID0g MDsKLSAgIF91bnN1cHBvcnRlZEZpbHRlciA9IGZhbHNlOwotLSAgaWYgKCFtX0lzU29saWQpCi0r ICBpZiAoIV9pc1NvbGlkKQotICAgewotICAgICBfbHpTaXplID0gMDsKLSAgICAgX3dpblBvcyA9 IDA7Ci1AQCAtODQwLDEyICs4NDEsMTUgQEAgSFJFU1VMVCBDRGVjb2Rlcjo6Q29kZVJlYWwoSUNv bXByZXNzUHJvZ3Jlc3NJbmZvICpwcm9ncmVzcykKLSAgIGlmIChfZXJyb3JNb2RlKQotICAgICBy ZXR1cm4gU19GQUxTRTsKLSAKLS0gIGlmICghbV9Jc1NvbGlkIHx8ICFUYWJsZXNSZWFkKQotKyAg aWYgKCFfaXNTb2xpZCB8fCAhVGFibGVzUmVhZCkKLSAgIHsKLSAgICAgYm9vbCBrZWVwRGVjb21w cmVzc2luZzsKLSAgICAgUklOT0soUmVhZFRhYmxlcyhrZWVwRGVjb21wcmVzc2luZykpOwotICAg ICBpZiAoIWtlZXBEZWNvbXByZXNzaW5nKQotKyAgICB7Ci0rICAgICAgX3NvbGlkQWxsb3dlZCA9 IHRydWU7Ci0gICAgICAgcmV0dXJuIFNfT0s7Ci0rICAgIH0KLSAgIH0KLSAKLSAgIGZvciAoOzsp Ci1AQCAtODcwLDYgKzg3NCw5IEBAIEhSRVNVTFQgQ0RlY29kZXI6OkNvZGVSZWFsKElDb21wcmVz c1Byb2dyZXNzSW5mbyAqcHJvZ3Jlc3MpCi0gICAgIGlmICgha2VlcERlY29tcHJlc3NpbmcpCi0g ICAgICAgYnJlYWs7Ci0gICB9Ci0rCi0rICBfc29saWRBbGxvd2VkID0gdHJ1ZTsKLSsKLSAgIFJJ Tk9LKFdyaXRlQnVmKCkpOwotICAgVUludDY0IHBhY2tTaXplID0gbV9JbkJpdFN0cmVhbS5CaXRE ZWNvZGVyLkdldFByb2Nlc3NlZFNpemUoKTsKLSAgIFJJTk9LKHByb2dyZXNzLT5TZXRSYXRpb0lu Zm8oJnBhY2tTaXplLCAmX3dyaXR0ZW5GaWxlU2l6ZSkpOwotQEAgLTg5MCw2ICs4OTcsMTAgQEAg U1RETUVUSE9ESU1QIENEZWNvZGVyOjpDb2RlKElTZXF1ZW50aWFsSW5TdHJlYW0gKmluU3RyZWFt LCBJU2VxdWVudGlhbE91dFN0cmVhbQotICAgICBpZiAoIWluU2l6ZSkKLSAgICAgICByZXR1cm4g RV9JTlZBTElEQVJHOwotIAotKyAgICBpZiAoX2lzU29saWQgJiYgIV9zb2xpZEFsbG93ZWQpCi0r ICAgICAgcmV0dXJuIFNfRkFMU0U7Ci0rICAgIF9zb2xpZEFsbG93ZWQgPSBmYWxzZTsKLSsKLSAg ICAgaWYgKCFfdm1EYXRhKQotICAgICB7Ci0gICAgICAgX3ZtRGF0YSA9IChCeXRlICopOjpNaWRB bGxvYyhrVm1EYXRhU2l6ZU1heCArIGtWbUNvZGVTaXplTWF4KTsKLUBAIC05MjgsNyArOTM5LDcg QEAgU1RETUVUSE9ESU1QIENEZWNvZGVyOjpTZXREZWNvZGVyUHJvcGVydGllczIoY29uc3QgQnl0 ZSAqZGF0YSwgVUludDMyIHNpemUpCi0gewotICAgaWYgKHNpemUgPCAxKQotICAgICByZXR1cm4g RV9JTlZBTElEQVJHOwotLSAgbV9Jc1NvbGlkID0gKChkYXRhWzBdICYgMSkgIT0gMCk7Ci0rICBf aXNTb2xpZCA9ICgoZGF0YVswXSAmIDEpICE9IDApOwotICAgcmV0dXJuIFNfT0s7Ci0gfQotIAot ZGlmZiAtLWdpdCBhL0NQUC83emlwL0NvbXByZXNzL1JhcjNEZWNvZGVyLmggYi9DUFAvN3ppcC9D b21wcmVzcy9SYXIzRGVjb2Rlci5oCi1pbmRleCAyZjcyZDdkLi4zMmM4OTQzIDEwMDY0NAotLS0t IGEvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyM0RlY29kZXIuaAotKysrIGIvQ1BQLzd6aXAvQ29tcHJl c3MvUmFyM0RlY29kZXIuaAotQEAgLTE5MSw3ICsxOTEsOCBAQCBjbGFzcyBDRGVjb2RlcjoKLSAg IENSZWNvcmRWZWN0b3I8Q1RlbXBGaWx0ZXIgKj4gIF90ZW1wRmlsdGVyczsKLSAgIFVJbnQzMiBf bGFzdEZpbHRlcjsKLSAKLS0gIGJvb2wgbV9Jc1NvbGlkOwotKyAgYm9vbCBfaXNTb2xpZDsKLSsg IGJvb2wgX3NvbGlkQWxsb3dlZDsKLSAgIGJvb2wgX2Vycm9yTW9kZTsKLSAKLSAgIGJvb2wgX2x6 TW9kZTsKLWRpZmYgLS1naXQgYS9DUFAvN3ppcC9Db21wcmVzcy9SYXI1RGVjb2Rlci5jcHAgYi9D UFAvN3ppcC9Db21wcmVzcy9SYXI1RGVjb2Rlci5jcHAKLWluZGV4IGRjODgzMGYuLmE4MjZkNWEg MTAwNjQ0Ci0tLS0gYS9DUFAvN3ppcC9Db21wcmVzcy9SYXI1RGVjb2Rlci5jcHAKLSsrKyBiL0NQ UC83emlwL0NvbXByZXNzL1JhcjVEZWNvZGVyLmNwcAotQEAgLTcyLDYgKzcyLDcgQEAgQ0RlY29k ZXI6OkNEZWNvZGVyKCk6Ci0gICAgIF93cml0dGVuRmlsZVNpemUoMCksCi0gICAgIF9kaWN0U2l6 ZUxvZygwKSwKLSAgICAgX2lzU29saWQoZmFsc2UpLAotKyAgICBfc29saWRBbGxvd2VkKGZhbHNl KSwKLSAgICAgX3dhc0luaXQoZmFsc2UpLAotICAgICBfaW5wdXRCdWYoTlVMTCkKLSB7Ci1AQCAt ODAxLDcgKzgwMiwxMCBAQCBIUkVTVUxUIENEZWNvZGVyOjpDb2RlUmVhbCgpCi0gICAqLwotIAot ICAgaWYgKHJlcyA9PSBTX09LKQotKyAgewotKyAgICBfc29saWRBbGxvd2VkID0gdHJ1ZTsKLSAg ICAgcmVzID0gcmVzMjsKLSsgIH0KLSAgICAgIAotICAgaWYgKHJlcyA9PSBTX09LICYmIF91bnBh Y2tTaXplX0RlZmluZWQgJiYgX3dyaXR0ZW5GaWxlU2l6ZSAhPSBfdW5wYWNrU2l6ZSkKLSAgICAg cmV0dXJuIFNfRkFMU0U7Ci1AQCAtODIxLDYgKzgyNSwxMCBAQCBTVERNRVRIT0RJTVAgQ0RlY29k ZXI6OkNvZGUoSVNlcXVlbnRpYWxJblN0cmVhbSAqaW5TdHJlYW0sIElTZXF1ZW50aWFsT3V0U3Ry ZWFtCi0gewotICAgdHJ5Ci0gICB7Ci0rICAgIGlmIChfaXNTb2xpZCAmJiAhX3NvbGlkQWxsb3dl ZCkKLSsgICAgICByZXR1cm4gU19GQUxTRTsKLSsgICAgX3NvbGlkQWxsb3dlZCA9IGZhbHNlOwot KwotICAgICBpZiAoX2RpY3RTaXplTG9nID49IHNpemVvZihzaXplX3QpICogOCkKLSAgICAgICBy ZXR1cm4gRV9OT1RJTVBMOwotIAotZGlmZiAtLWdpdCBhL0NQUC83emlwL0NvbXByZXNzL1JhcjVE ZWNvZGVyLmggYi9DUFAvN3ppcC9Db21wcmVzcy9SYXI1RGVjb2Rlci5oCi1pbmRleCBiMGE0ZGQx Li4zZGI1MDE4IDEwMDY0NAotLS0tIGEvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyNURlY29kZXIuaAot KysrIGIvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyNURlY29kZXIuaAotQEAgLTI3MSw2ICsyNzEsNyBA QCBjbGFzcyBDRGVjb2RlcjoKLSAgIEJ5dGUgX2RpY3RTaXplTG9nOwotICAgYm9vbCBfdGFibGVX YXNGaWxsZWQ7Ci0gICBib29sIF9pc1NvbGlkOwotKyAgYm9vbCBfc29saWRBbGxvd2VkOwotICAg Ym9vbCBfd2FzSW5pdDsKLSAKLSAgIFVJbnQzMiBfcmVwc1trTnVtUmVwc107CmRpZmYgLS1naXQg YS9zcmNwa2dzL3A3emlwL3BhdGNoZXMvQ1ZFLTIwMTYtOTI5Ni5wYXRjaCBiL3NyY3BrZ3MvcDd6 aXAvcGF0Y2hlcy9DVkUtMjAxNi05Mjk2LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp bmRleCBmYmJiMzM3NzM3ZTUuLjAwMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL3A3emlwL3BhdGNo ZXMvQ1ZFLTIwMTYtOTI5Ni5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDEyICswLDAgQEAKLS0t LSBhL0NQUC83emlwL0FyY2hpdmUvN3ovN3pJbi5jcHAJU3VuIE5vdiAyMCAwOToyOTo0MSAyMDE2 Ci0rKysgYi9DUFAvN3ppcC9BcmNoaXZlLzd6Lzd6SW4uY3BwCVN1biBOb3YgMjAgMDk6MzE6MjIg MjAxNgotQEAgLTEwOTcsNyArMTA5Nyw4IEBAIEhSRVNVTFQgQ0luQXJjaGl2ZTo6UmVhZEFuZERl Y29kZVBhY2tlZFN0cmVhbXMoCi0gICAgICAgaWYgKENyY0NhbGMoZGF0YSwgdW5wYWNrU2l6ZSkg IT0gZm9sZGVycy5Gb2xkZXJDUkNzLlZhbHNbaV0pCi0gICAgICAgICBUaHJvd0luY29ycmVjdCgp OwotICAgfQotLSAgSGVhZGVyc1NpemUgKz0gZm9sZGVycy5QYWNrUG9zaXRpb25zW2ZvbGRlcnMu TnVtUGFja1N0cmVhbXNdOwotKyAgaWYgKGZvbGRlcnMuUGFja1Bvc2l0aW9ucykKLSsgICAgICBI ZWFkZXJzU2l6ZSArPSBmb2xkZXJzLlBhY2tQb3NpdGlvbnNbZm9sZGVycy5OdW1QYWNrU3RyZWFt c107Ci0gICByZXR1cm4gU19PSzsKLSB9Ci0gCmRpZmYgLS1naXQgYS9zcmNwa2dzL3A3emlwL3Bh dGNoZXMvQ1ZFLTIwMTctMTc5NjkucGF0Y2ggYi9zcmNwa2dzL3A3emlwL3BhdGNoZXMvQ1ZFLTIw MTctMTc5NjkucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDlhODIwYWY3MzA2 Ny4uMDAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvcDd6aXAvcGF0Y2hlcy9DVkUtMjAxNy0xNzk2 OS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI2ICswLDAgQEAKLUZyb206ID0/dXRmLTg/cT9B bnRvaW5lX0JlYXVwcj1DMz1BOT89IDxhbmFyY2F0QGRlYmlhbi5vcmc+Ci1EYXRlOiBTdW4sIDI4 IEphbiAyMDE4IDIxOjE5OjUwICswMTAwCi1TdWJqZWN0OiBiYWNrcG9ydCBvZiB0aGUgQ1ZFLTIw MTctMTc5NjkgZml4IGZyb20gN3ppcCAxOC4wMC1iZXRhCi0KLS0tLQotIENQUC83emlwL0NvbXBy ZXNzL1Nocmlua0RlY29kZXIuY3BwIHwgNyArKysrKystCi0gMSBmaWxlIGNoYW5nZWQsIDYgaW5z ZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvQ1BQLzd6aXAvQ29tcHJl c3MvU2hyaW5rRGVjb2Rlci5jcHAgYi9DUFAvN3ppcC9Db21wcmVzcy9TaHJpbmtEZWNvZGVyLmNw cAotaW5kZXggODBiN2U2Ny4uNGFjZGNlNSAxMDA2NDQKLS0tLSBhL0NQUC83emlwL0NvbXByZXNz L1Nocmlua0RlY29kZXIuY3BwCi0rKysgYi9DUFAvN3ppcC9Db21wcmVzcy9TaHJpbmtEZWNvZGVy LmNwcAotQEAgLTEyMSw3ICsxMjEsMTIgQEAgSFJFU1VMVCBDRGVjb2Rlcjo6Q29kZVJlYWwoSVNl cXVlbnRpYWxJblN0cmVhbSAqaW5TdHJlYW0sIElTZXF1ZW50aWFsT3V0U3RyZWFtICoKLSAgICAg ewotICAgICAgIF9zdGFja1tpKytdID0gX3N1ZmZpeGVzW2N1cl07Ci0gICAgICAgY3VyID0gX3Bh cmVudHNbY3VyXTsKLS0gICAgfQotKyAgICAgIGlmIChpID49IGtOdW1JdGVtcykKLSsgICAgICAg IGJyZWFrOwotKyAgICAgfQotKwotKyAgICBpZiAoaSA+PSBrTnVtSXRlbXMpCi0rICAgICAgYnJl YWs7Ci0gICAgIAotICAgICBfc3RhY2tbaSsrXSA9IChCeXRlKWN1cjsKLSAgICAgbGFzdENoYXIy ID0gKEJ5dGUpY3VyOwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9wN3ppcC90ZW1wbGF0ZSBiL3NyY3Br Z3MvcDd6aXAvdGVtcGxhdGUKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY0MmUyNGFk YWY1Mi4uMDAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvcDd6aXAvdGVtcGxhdGUKKysrIC9kZXYv bnVsbApAQCAtMSw0NyArMCwwIEBACi0jIFRlbXBsYXRlIGZpbGUgZm9yICdwN3ppcCcKLXBrZ25h bWU9cDd6aXAKLXZlcnNpb249MTYuMDIKLXJldmlzaW9uPTUKLXdya3NyYz0iJHtwa2duYW1lfV8k e3ZlcnNpb259IgotaG9zdG1ha2VkZXBlbmRzPSJ5YXNtIG5hc20iCi1zaG9ydF9kZXNjPSJDb21t YW5kLWxpbmUgdmVyc2lvbiBvZiB0aGUgN3ppcCBjb21wcmVzc2VkIGZpbGUgYXJjaGl2ZSIKLW1h aW50YWluZXI9Ik9ycGhhbmVkIDxvcnBoYW5Adm9pZGxpbnV4Lm9yZz4iCi1saWNlbnNlPSJMR1BM LTIuMS1vci1sYXRlciIKLWhvbWVwYWdlPSJodHRwOi8vcDd6aXAuc291cmNlZm9yZ2UubmV0LyIK LWRpc3RmaWxlcz0iJHtTT1VSQ0VGT1JHRV9TSVRFfS8ke3BrZ25hbWV9LyR7cGtnbmFtZX1fJHt2 ZXJzaW9ufV9zcmNfYWxsLnRhci5iejIiCi1jaGVja3N1bT01ZWIyMGFjMGUyOTQ0ZjZjYjljMmQ1 MWRkNmM0NTE4OTQxYzE4NTM0N2Q0MDg5ZWE4OTA4N2ZmZGQ2ZTIzNDFmCi0KLUNYWEZMQUdTPSIt V25vLW5hcnJvd2luZyIKLQotZG9fY29uZmlndXJlKCkgewotCWNhc2UgIiRYQlBTX1RBUkdFVF9N QUNISU5FIiBpbgotCQlpNjg2KikgY3AgbWFrZWZpbGUubGludXhfeDg2X2FzbV9nY2NfNC5YIG1h a2VmaWxlLm1hY2hpbmU7OwotCQl4ODZfNjQqKSBjcCBtYWtlZmlsZS5saW51eF9hbWQ2NF9hc20g bWFrZWZpbGUubWFjaGluZTs7Ci0JCSopIGNwIG1ha2VmaWxlLmxpbnV4X2FueV9jcHVfZ2NjXzQu WCBtYWtlZmlsZS5tYWNoaW5lOzsKLQllc2FjCi0Jc2VkIC1lICJzLGcrKywke0NYWH0sIiAtaSBt YWtlZmlsZS5tYWNoaW5lCi0Jc2VkIC1lICJzLGdjYywke0NDfSwiIC1pIG1ha2VmaWxlLm1hY2hp bmUKLX0KLWRvX2J1aWxkKCkgewotCW1ha2UgYWxsMyBPUFRGTEFHUz0iJENYWEZMQUdTIiAke21h a2Vqb2JzfQotfQotZG9faW5zdGFsbCgpIHsKLQltYWtlIGluc3RhbGwgREVTVF9ESVI9IiR7REVT VERJUn0iIERFU1RfSE9NRT0iL3VzciIgXAotCQlERVNUX01BTj0iL3Vzci9zaGFyZS9tYW4iIFwK LQkJREVTVF9TSEFSRV9ET0M9Ii91c3Ivc2hhcmUvZG9jLyR7cGtnbmFtZX0iCi0JZmluZCAke0RF U1RESVJ9L3Vzci9zaGFyZS9kb2MvJHBrZ25hbWUgLXR5cGUgZCAtZXhlYyBjaG1vZCA3NTUge30g XDsKLQlta2RpciAtcCAke0RFU1RESVJ9L3Vzci9zaGFyZS9saWNlbnNlcy9wN3ppcC8KLQltdiAk e0RFU1RESVJ9L3Vzci9zaGFyZS9kb2MvcDd6aXAvRE9DL2NvcHlpbmcudHh0IFwKLQkgICAke0RF U1RESVJ9L3Vzci9zaGFyZS9saWNlbnNlcy9wN3ppcC9MSUNFTlNFCi19Ci0KLXA3emlwLXVucmFy X3BhY2thZ2UoKSB7Ci0Jc2hvcnRfZGVzYys9IiAtIFJBUiBzdXBwb3J0IgotCWxpY2Vuc2U9ImN1 c3RvbTpmcmVld2FyZSIKLQlkZXBlbmRzPSIke3NvdXJjZXBrZ30tJHt2ZXJzaW9ufV8ke3Jldmlz aW9ufSIKLQlyZXBvc2l0b3J5PW5vbmZyZWUKLQlwa2dfaW5zdGFsbCgpIHsKLQkJdm1vdmUgdXNy L2xpYi9wN3ppcC9Db2RlY3MvUmFyLnNvCi0JCXZsaWNlbnNlIERPQy91blJhckxpY2Vuc2UudHh0 IExJQ0VOU0UKLQl9Ci19CmRpZmYgLS1naXQgYS9zcmNwa2dzL3A3emlwL3VwZGF0ZSBiL3NyY3Br Z3MvcDd6aXAvdXBkYXRlCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4NGVkNDZkNzRh MWEuLjAwMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL3A3emlwL3VwZGF0ZQorKysgL2Rldi9udWxs CkBAIC0xICswLDAgQEAKLXBhdHRlcm49J3A3emlwX1xLWy5cZF0rJwoKRnJvbSA1ODJiYzEzZjM5 NzkxMGU4OGE5ZmU0MTAxMjVkNjBhYzk4ZTY2ZWNkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpG cm9tOiBSb2JlcnRvIFJpY2NpIDxyaWNjaUBkaXNyb290Lm9yZz4KRGF0ZTogTW9uLCAxNSBBdWcg MjAyMiAxODo1ODowNSArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMi8yXSBtYWRvbm5hIGxhZHJhCgot LS0KIHNyY3BrZ3MvN3ppcC90ZW1wbGF0ZSB8IDIwICsrKysrKy0tLS0tLS0tLS0tLS0tCiAxIGZp bGUgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspLCAxNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS9zcmNwa2dzLzd6aXAvdGVtcGxhdGUgYi9zcmNwa2dzLzd6aXAvdGVtcGxhdGUKaW5kZXggNTQz MDIzNDJiZTgwLi44ZmNkNDhiNTU2MTQgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvN3ppcC90ZW1wbGF0 ZQorKysgYi9zcmNwa2dzLzd6aXAvdGVtcGxhdGUKQEAgLTM4LDIxICszOCwxMSBAQCBkb19idWls ZCgpIHsKIAlkb25lCiB9CiAKLV83el9pbnN0YWxsKCkgewotCWJpbmRpcj0iJDEiCi0JZGVzdD0i JDIiCi0Jc3VmZml4PSIkMyIKLQotCXZiaW4gIiR7d3Jrc3JjfS9DUFAvN3ppcC9CdW5kbGVzL0Fs b25lMi8ke2JpbmRpcn0vN3p6IiAiN3otJHtzdWZmaXh9IgotCitkb19pbnN0YWxsKCkgeworCXZi aW4gIiR7d3Jrc3JjfS9DUFAvN3ppcC9CdW5kbGVzL0Fsb25lMi9iL25vcmFyLzd6eiIgIjd6LWZy ZWUiCiAJdmxpY2Vuc2UgIiR7d3Jrc3JjfS9ET0MvTGljZW5zZS50eHQiCi0KIAkjIGh0dHBzOi8v Y2dpdC5mcmVlYnNkLm9yZy9wb3J0cy9wbGFpbi9hcmNoaXZlcnMvNy16aXAvZmlsZXMvN3p6LjEK LQl2bWFuICIke0ZJTEVTRElSfS83enouMSIgIjd6LSR7c3VmZml4fS4xIgotfQotCi1kb19pbnN0 YWxsKCkgewotCV83el9pbnN0YWxsIGIvbm9yYXIgIiRERVNURElSIiBmcmVlCisJdm1hbiAiJHtG SUxFU0RJUn0vN3p6LjEiICI3ei1mcmVlLjEiCiB9CiAKIDd6aXAtdW5yYXJfcGFja2FnZSgpIHsK QEAgLTY2LDcgKzU2LDkgQEAgZG9faW5zdGFsbCgpIHsKIAkgN3o6N3ouMTovdXNyL3NoYXJlL21h bi9tYW4xLzd6LXVucmFyLjEiCiAKIAlwa2dfaW5zdGFsbCgpIHsKLQkJXzd6X2luc3RhbGwgYi9y YXIgIiRQS0dERVNURElSIiB1bnJhcgorCQl2YmluICIke3dya3NyY30vQ1BQLzd6aXAvQnVuZGxl cy9BbG9uZTIvYi9yYXIvN3p6IiAiN3otdW5yYXIiCisJCXZsaWNlbnNlICIke3dya3NyY30vRE9D L0xpY2Vuc2UudHh0IgorCQl2bWFuICIke0ZJTEVTRElSfS83enouMSIgIjd6LXVucmFyLjEiCiAJ fQogfQogCg== --===============3057153438001661696==--