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 29068 invoked from network); 13 Jul 2022 09:43:58 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 13 Jul 2022 09:43:58 -0000 Content-Type: multipart/mixed; boundary="===============2926098628439404970==" 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 11:43:58 +0200 List-Id: Message-ID: <20220713094358.0-lbFEKMUb4hheXSfAKGDOA-T1A5eP7IDk9kTMslBPg@z> GitHub notification mails are now in MIME to allow UTF8. --===============2926098628439404970== 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 --===============2926098628439404970== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-7zip-37940.patch" RnJvbSBkZTBlNTg3NDkxZGYxZmQ1MGE0Y2NhYjk5NDQzNmY3YzcwMTAzZTZjIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBSb2JlcnRvIFJpY2NpIDxyaWNjaUBkaXNyb290Lm9yZz4KRGF0 ZTogU2F0LCA5IEp1bCAyMDIyIDEyOjA1OjIyICswMjAwClN1YmplY3Q6IFtQQVRDSF0gTmV3IHBh Y2thZ2U6IDd6aXAtMjIuMDAKCi0tLQogc3JjcGtncy83emlwLXVucmFyICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHwgICAxICsKIHNyY3BrZ3MvN3ppcC9maWxlcy83enouMSAgICAgICAgICAg ICAgICAgICAgICB8IDIxNSArKysrKysrKysrKysKIHNyY3BrZ3MvN3ppcC9wYXRjaGVzL2J1aWxk X2ZsYWdzLnBhdGNoICAgICAgICB8ICAzMCArKwogc3JjcGtncy83emlwL3RlbXBsYXRlICAgICAg ICAgICAgICAgICAgICAgICAgIHwgIDc4ICsrKysrCiBzcmNwa2dzLzd6aXAvdXBkYXRlICAgICAg ICAgICAgICAgICAgICAgICAgICAgfCAgIDIgKwogc3JjcGtncy9wN3ppcCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHwgICAxICsKIHNyY3BrZ3MvcDd6aXAtdW5yYXIgICAgICAgICAg ICAgICAgICAgICAgICAgICB8ICAgMiArLQogc3JjcGtncy9wN3ppcC9wYXRjaGVzLzIwLUNWRS0y MDE4LTU5OTYucGF0Y2ggIHwgMjIxIC0tLS0tLS0tLS0tLS0KIHNyY3BrZ3MvcDd6aXAvcGF0Y2hl cy8zMC1DVkUtMjAxOC0xMDExNS5wYXRjaCB8IDMxMSAtLS0tLS0tLS0tLS0tLS0tLS0KIHNyY3Br Z3MvcDd6aXAvcGF0Y2hlcy9DVkUtMjAxNi05Mjk2LnBhdGNoICAgICB8ICAxMiAtCiBzcmNwa2dz L3A3emlwL3BhdGNoZXMvQ1ZFLTIwMTctMTc5NjkucGF0Y2ggICAgfCAgMjYgLS0KIHNyY3BrZ3Mv cDd6aXAvdGVtcGxhdGUgICAgICAgICAgICAgICAgICAgICAgICB8ICA0NyAtLS0KIHNyY3BrZ3Mv cDd6aXAvdXBkYXRlICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMSAtCiAxMyBmaWxlcyBj aGFuZ2VkLCAzMjggaW5zZXJ0aW9ucygrKSwgNjE5IGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUg MTIwMDAwIHNyY3BrZ3MvN3ppcC11bnJhcgogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvN3pp cC9maWxlcy83enouMQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvN3ppcC9wYXRjaGVzL2J1 aWxkX2ZsYWdzLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy83emlwL3RlbXBsYXRl CiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy83emlwL3VwZGF0ZQogY3JlYXRlIG1vZGUgMTIw MDAwIHNyY3BrZ3MvcDd6aXAKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3A3emlwL3BhdGNo ZXMvMjAtQ1ZFLTIwMTgtNTk5Ni5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcDd6 aXAvcGF0Y2hlcy8zMC1DVkUtMjAxOC0xMDExNS5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNy Y3BrZ3MvcDd6aXAvcGF0Y2hlcy9DVkUtMjAxNi05Mjk2LnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2 NDQgc3JjcGtncy9wN3ppcC9wYXRjaGVzL0NWRS0yMDE3LTE3OTY5LnBhdGNoCiBkZWxldGUgbW9k ZSAxMDA2NDQgc3JjcGtncy9wN3ppcC90ZW1wbGF0ZQogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3Br Z3MvcDd6aXAvdXBkYXRlCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy83emlwLXVucmFyIGIvc3JjcGtn cy83emlwLXVucmFyCm5ldyBmaWxlIG1vZGUgMTIwMDAwCmluZGV4IDAwMDAwMDAwMDAwMC4uMjg0 MzEyNTk1YTRjCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy83emlwLXVucmFyCkBAIC0wLDAg KzEgQEAKKzd6aXAKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9zcmNw a2dzLzd6aXAvZmlsZXMvN3p6LjEgYi9zcmNwa2dzLzd6aXAvZmlsZXMvN3p6LjEKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi4yZTE1OWJkOTRiYjQKLS0tIC9kZXYvbnVs bAorKysgYi9zcmNwa2dzLzd6aXAvZmlsZXMvN3p6LjEKQEAgLTAsMCArMSwyMTUgQEAKKy5USCA3 WlogIjEiICJGZWJydWFyeSAxNCwgMjAyMiIKKy5TSCBOQU1FCis3enogXC0gU3RhbmRhbG9uZSBj b25zb2xlIHZlcnNpb24gb2YgdGhlIDctWmlwIGZpbGUgYXJjaGl2ZXIKKy5TSCBTWU5PUFNJUwor LkIgN3p6CisuXCIgXGZJXCw8Y29tbWFuZD4gXC9bXGZJXCw8c3dpdGNoPlwvLi4uXSBcZklcLDxh cmNoaXZlX25hbWU+IFwvW1xmSVwsPGZpbGVfbmFtZXM+XC8uLi5dIFtcZklcLEBsaXN0X2ZpbGVc L10KKy5CUiA8Y29tbWFuZD4KKy5CUiBbPHN3aXRjaD4uLi5dCisuQlIgPGFyY2hpdmVfbmFtZT4K Ky5CUiBbPGZpbGVfbmFtZXM+XQorLkJSIFtAbGlzdGZpbGVdCisuU0ggREVTQ1JJUFRJT04KKzdc LVppcCBpcyBhIGZpbGUgYXJjaGl2ZXIgd2l0aCBhIGhpZ2ggY29tcHJlc3Npb24gcmF0aW8uIFN1 cHBvcnRlZCBmb3JtYXRzOgorLklQCitQYWNraW5nIGFuZCB1bnBhY2tpbmc6IDd6LCBYWiwgQlpJ UDIsIEdaSVAsIFRBUiwgWklQIGFuZCBXSU0uCisuSVAKK1VucGFja2luZyBvbmx5OiBBUiwgQVJK LCBDQUIsIENITSwgQ1BJTywgQ3JhbUZTLCBETUcsIEVYVCwgRkFULCBHUFQsIEhGUywgSUhFWCwg SVNPLCBMWkgsIExaTUEsIE1CUiwgTVNJLCBOU0lTLCBOVEZTLCBRQ09XMiwgUkFSLCBSUE0sIFNx dWFzaEZTLCBVREYsIFVFRkksIFZESSwgVkhELCBWSERYLCBWTURLLCBXSU0sIFhBUiBhbmQgWi4K Ky5TSCBDb21tYW5kcworLlRQCisuQlIgYQorQWRkIGZpbGVzIHRvIGFyY2hpdmUKKy5UUAorLkJS IGIKK0JlbmNobWFyaworLlRQCisuQlIgZAorRGVsZXRlIGZpbGVzIGZyb20gYXJjaGl2ZQorLlRQ CisuQlIgZQorRXh0cmFjdCBmaWxlcyBmcm9tIGFyY2hpdmUgKHdpdGhvdXQgdXNpbmcgZGlyZWN0 b3J5IG5hbWVzKQorLlRQCisuQlIgaAorQ2FsY3VsYXRlIGhhc2ggdmFsdWVzIGZvciBmaWxlcwor LlRQCisuQlIgaQorU2hvdyBpbmZvcm1hdGlvbiBhYm91dCBzdXBwb3J0ZWQgZm9ybWF0cworLlRQ CisuQlIgbAorTGlzdCBjb250ZW50cyBvZiBhcmNoaXZlCisuVFAKKy5CUiBybgorUmVuYW1lIGZp bGVzIGluIGFyY2hpdmUKKy5UUAorLkJSIHQKK1Rlc3QgaW50ZWdyaXR5IG9mIGFyY2hpdmUKKy5U UAorLkJSIHUKK1VwZGF0ZSBmaWxlcyB0byBhcmNoaXZlCisuVFAKKy5CUiB4CitFeHRyYWN0IGZp bGVzIHdpdGggZnVsbCBwYXRocworLlNIIFN3aXRjaGVzCisuVFAKKy5CUiBcLVwtCitTdG9wIHN3 aXRjaGVzIGFuZCBAbGlzdGZpbGUgcGFyc2luZworLlRQCisuQlIgXC1haVtyW1wtfDBdXXtAbGlz dGZpbGV8IXdpbGRjYXJkfQorSW5jbHVkZSBhcmNoaXZlcworLlRQCisuQlIgXC1heFtyW1wtfDBd XXtAbGlzdGZpbGV8IXdpbGRjYXJkfQorRXhjbHVkZSBhcmNoaXZlcworLlRQCisuQlIgXC1hb3th fHN8dHx1fQorU2V0IE92ZXJ3cml0ZSBtb2RlCisuVFAKKy5CUiBcLWFuCitEaXNhYmxlIGFyY2hp dmVfbmFtZSBmaWVsZAorLlRQCisuQlIgXC1iYlswXC0zXQorU2V0IG91dHB1dCBsb2cgbGV2ZWwK Ky5UUAorLkJSIFwtYmQKK0Rpc2FibGUgcHJvZ3Jlc3MgaW5kaWNhdG9yCisuVFAKKy5CUiBcLWJz e298ZXxwfXswfDF8Mn0KK1NldCBvdXRwdXQgc3RyZWFtIGZvciBvdXRwdXQvZXJyb3IvcHJvZ3Jl c3MgbGluZQorLlRQCisuQlIgXC1idAorc2hvdyBleGVjdXRpb24gdGltZSBzdGF0aXN0aWNzCisu VFAKKy5CUiBcLWlbcltcLXwwXV17QGxpc3RmaWxlfCF3aWxkY2FyZH0KK0luY2x1ZGUgZmlsZW5h bWVzCisuVFAKKy5CUiBcLW17UGFyYW1ldGVyc30KK1NldCBjb21wcmVzc2lvbiBNZXRob2QKKy5U UAorLkJSIFwtbW10W05dCitTZXQgbnVtYmVyIG9mIENQVSB0aHJlYWRzCisuVFAKKy5CUiBcLW14 W05dCitTZXQgY29tcHJlc3Npb24gbGV2ZWw6IFwtbXgxIChmYXN0ZXN0KSAuLi4gXC1teDkgKHVs dHJhKQorLlRQCisuQlIgXC1ve0RpcmVjdG9yeX0KK1NldCBPdXRwdXQgZGlyZWN0b3J5CisuVFAK Ky5CUiBcLXB7UGFzc3dvcmR9CitTZXQgUGFzc3dvcmQKKy5UUAorLkJSIFwtcltcLXwwXQorUmVj dXJzZSBzdWJkaXJlY3RvcmllcyBmb3IgbmFtZSBzZWFyY2gKKy5UUAorLkJSIFwtc2F7YXxlfHN9 CitTZXQgQXJjaGl2ZSBuYW1lIG1vZGUKKy5UUAorLkJSIFwtc2Nje1VURlwtOHxXSU58RE9TfQor U2V0IGNoYXJzZXQgZm9yIGZvciBjb25zb2xlIGlucHV0L291dHB1dAorLlRQCisuQlIgXC1zY3N7 VVRGXC04fFVURlwtMTZMRXxVVEZcLTE2QkV8V0lOfERPU3x7aWR9fQorU2V0IGNoYXJzZXQgZm9y IGxpc3QgZmlsZXMKKy5UUAorLkJSIFwtc2NyY1tDUkMzMnxDUkM2NHxTSEExfFNIQTI1NnwqXQor U2V0IGhhc2ggZnVuY3Rpb24gZm9yIHgsIGUsIGggY29tbWFuZHMKKy5UUAorLkJSIFwtc2RlbAor RGVsZXRlIGZpbGVzIGFmdGVyIGNvbXByZXNzaW9uCisuVFAKKy5CUiBcLXNlbWxbLl0KK1NlbmQg YXJjaGl2ZSBieSBlbWFpbAorLlRQCisuQlIgXC1zZnhbe25hbWV9XQorQ3JlYXRlIFNGWCBhcmNo aXZlCisuVFAKKy5CUiBcLXNpW3tuYW1lfV0KK1JlYWQgZGF0YSBmcm9tIHN0ZGluCisuVFAKKy5C UiBcLXNscAorU2V0IExhcmdlIFBhZ2VzIG1vZGUKKy5UUAorLkJSIFwtc2x0CitTaG93IHRlY2hu aWNhbCBpbmZvcm1hdGlvbiBmb3IgbCAoTGlzdCkgY29tbWFuZAorLlRQCisuQlIgXC1zbmgKK1N0 b3JlIGhhcmQgbGlua3MgYXMgbGlua3MKKy5UUAorLkJSIFwtc25sCitTdG9yZSBzeW1ib2xpYyBs aW5rcyBhcyBsaW5rcworLlRQCisuQlIgXC1zbmkKK1N0b3JlIE5UIHNlY3VyaXR5IGluZm9ybWF0 aW9uCisuVFAKKy5CUiBcLXNuc1tcLV0KK1N0b3JlIE5URlMgYWx0ZXJuYXRlIHN0cmVhbXMKKy5U UAorLkJSIFwtc28KK1dyaXRlIGRhdGEgdG8gc3Rkb3V0CisuVFAKKy5CUiBcLXNwZAorRGlzYWJs ZSB3aWxkY2FyZCBtYXRjaGluZyBmb3IgZmlsZSBuYW1lcworLlRQCisuQlIgXC1zcGUKK0VsaW1p bmF0ZSBkdXBsaWNhdGlvbiBvZiByb290IGZvbGRlciBmb3IgZXh0cmFjdCBjb21tYW5kCisuVFAK Ky5CUiBcLXNwZgorVXNlIGZ1bGx5IHF1YWxpZmllZCBmaWxlIHBhdGhzCisuVFAKKy5CUiBcLXNz Y1tcLV0KK1NldCBzZW5zaXRpdmUgY2FzZSBtb2RlCisuVFAKKy5CUiBcLXNzZQorU3RvcCBhcmNo aXZlIGNyZWF0aW5nLCBpZiBpdCBjYW4ndCBvcGVuIHNvbWUgaW5wdXQgZmlsZQorLlRQCisuQlIg XC1zc3AKK0RvIG5vdCBjaGFuZ2UgTGFzdCBBY2Nlc3MgVGltZSBvZiBzb3VyY2UgZmlsZXMgd2hp bGUgYXJjaGl2aW5nCisuVFAKKy5CUiBcLXNzdworQ29tcHJlc3Mgc2hhcmVkIGZpbGVzCisuVFAK Ky5CUiBcLXN0bAorU2V0IGFyY2hpdmUgdGltZXN0YW1wIGZyb20gdGhlIG1vc3QgcmVjZW50bHkg bW9kaWZpZWQgZmlsZQorLlRQCisuQlIgXC1zdG17SGV4TWFza30KK1NldCBDUFUgdGhyZWFkIGFm ZmluaXR5IG1hc2sgKGhleGFkZWNpbWFsIG51bWJlcikKKy5UUAorLkJSIFwtc3R4e1R5cGV9CitF eGNsdWRlIGFyY2hpdmUgdHlwZQorLlRQCisuQlIgXC10e1R5cGV9CitTZXQgdHlwZSBvZiBhcmNo aXZlCisuVFAKKy5CUiBcLXVbXC1dW3AjXVtxI11bciNdW3gjXVt5I11beiNdWyFuZXdBcmNoaXZl TmFtZV0KK1VwZGF0ZSBvcHRpb25zCisuVFAKKy5CUiBcLXZ7U2l6ZX1bYnxrfG18Z10KK0NyZWF0 ZSB2b2x1bWVzCisuVFAKKy5CUiBcLXdbe3BhdGh9XQorU2V0IHdvcmtpbmcgZGlyZWN0b3J5LiBF bXB0eSBwYXRoIG1lYW5zIGEgdGVtcG9yYXJ5IGRpcmVjdG9yeQorLlRQCisuQlIgXC14W3JbXC18 MF1de0BsaXN0ZmlsZXwhd2lsZGNhcmR9CitFeGNsdWRlIGZpbGVuYW1lcworLlRQCisuQlIgXC15 CitBc3N1bWUgWWVzIG9uIGFsbCBxdWVyaWVzCisuU0ggTGlzdGZpbGUKK1lvdSBjYW4gc3VwcGx5 IG9uZSBvciBtb3JlIGZpbGVuYW1lcyBvciB3aWxkY2FyZHMgZm9yIHNwZWNpYWwgbGlzdCBmaWxl cyAoZmlsZXMgY29udGFpbmluZyBsaXN0cyBvZiBmaWxlcykuIFRoZSBmaWxlbmFtZXMgaW4gc3Vj aCBsaXN0IGZpbGUgbXVzdCBiZSBzZXBhcmF0ZWQgYnkgbmV3IGxpbmUgc3ltYm9sKHMpLiBGb3Ig bGlzdCBmaWxlcywgN1wtWmlwIHVzZXMgVVRGXC04IGVuY29kaW5nIGJ5IGRlZmF1bHQuIFlvdSBj YW4gY2hhbmdlIGVuY29kaW5nIHVzaW5nCisuQlIgXC1zY3MKK3N3aXRjaC4gTXVsdGlwbGUgbGlz dCBmaWxlcyBhcmUgc3VwcG9ydGVkLgorLlBQCitGb3IgZXhhbXBsZSwgaWYgdGhlIGZpbGUgImxp c3RmaWxlLnR4dCIgY29udGFpbnMgdGhlIGZvbGxvd2luZzoKKy5JUAorTXkgcHJvZ3JhbXNcXCou Y3BwCisuYnIKK1NyY1xcKi5jcHAKKy5QUAordGhlbiB0aGUgY29tbWFuZAorLklQCisuQiA3eiBh IFwtdHppcCBhcmNoaXZlLnppcCBAbGlzdGZpbGUudHh0CisuUFAKK2FkZHMgdG8gdGhlIGFyY2hp dmUgImFyY2hpdmUuemlwIiBhbGwgIiouY3BwIiBmaWxlcyBmcm9tIGRpcmVjdG9yaWVzICJNeSBw cm9ncmFtcyIgYW5kICJTcmMiLgorLlNIICJTRUUgQUxTTyIKKy5CUiB4eiAoMSkKKy5icgorRnJl cXVlbnRseSBBc2tlZCBRdWVzdGlvbnM6IDxodHRwczovL3d3dy43LXppcC5vcmcvZmFxLmh0bWw+ CisuYnIKK1JlY292ZXIgY29ycnVwdGVkIDd6IGFyY2hpdmU6IDxodHRwczovL3d3dy43LXppcC5v cmcvcmVjb3Zlci5odG1sPgpkaWZmIC0tZ2l0IGEvc3JjcGtncy83emlwL3BhdGNoZXMvYnVpbGRf ZmxhZ3MucGF0Y2ggYi9zcmNwa2dzLzd6aXAvcGF0Y2hlcy9idWlsZF9mbGFncy5wYXRjaApuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjRmNzkxZmY2M2RkZgotLS0gL2Rl di9udWxsCisrKyBiL3NyY3BrZ3MvN3ppcC9wYXRjaGVzL2J1aWxkX2ZsYWdzLnBhdGNoCkBAIC0w LDAgKzEsMzAgQEAKK2FwcGVuZCAoZG9uJ3QgcHJlZml4KSB4YnBzIGJ1aWxkIGZsYWdzIGFuZCBk b24ndCBzdHJpcCB0aGUgZXhlY3V0YWJsZQorLS0tIGEvQ1BQLzd6aXAvN3ppcF9nY2MubWFrCisr KysgYi9DUFAvN3ppcC83emlwX2djYy5tYWsKK0BAIC0xMjYsNyArMTI2LDcgQEAgZW5kaWYKKyAN CisgDQorIA0KKy1DRkxBR1MgPSAkKE1ZX0FSQ0hfMikgJChMT0NBTF9GTEFHUykgJChDRkxBR1Nf QkFTRTIpICQoQ0ZMQUdTX0JBU0UpICQoQ0NfU0hBUkVEKSAtbyAkQA0KKytDRkxBR1MgPSAkKE1Z X0FSQ0hfMikgJChMT0NBTF9GTEFHUykgJChDRkxBR1NfQkFTRTIpICQoQ0ZMQUdTX0JBU0UpICQo Q0NfU0hBUkVEKSAkKFhCUFNfQ0ZMQUdTKSAtbyAkQA0KKyANCisgDQorIGlmZGVmIElTX01JTkdX DQorQEAgLTE1NCw3ICsxNTQsNyBAQCBDWFhfV0FSTl9GTEFHUyA9CisgIy1Xbm8taW52YWxpZC1v ZmZzZXRvZg0KKyAjLVduby1yZW9yZGVyDQorIA0KKy1DWFhGTEFHUyA9ICQoTVlfQVJDSF8yKSAk KExPQ0FMX0ZMQUdTKSAkKENYWEZMQUdTX0JBU0UyKSAkKENGTEFHU19CQVNFKSAkKENYWEZMQUdT X0VYVFJBKSAkKENDX1NIQVJFRCkgLW8gJEAgJChDWFhfV0FSTl9GTEFHUykNCisrQ1hYRkxBR1Mg PSAkKE1ZX0FSQ0hfMikgJChMT0NBTF9GTEFHUykgJChDWFhGTEFHU19CQVNFMikgJChDRkxBR1Nf QkFTRSkgJChDWFhGTEFHU19FWFRSQSkgJChDQ19TSEFSRUQpIC1vICRAICQoQ1hYX1dBUk5fRkxB R1MpICQoWEJQU19DWFhGTEFHUykNCisgDQorIFNUQVRJQ19UQVJHRVQ9DQorIGlmZGVmIENPTVBM X1NUQVRJQw0KK0BAIC0xNjcsNyArMTY3LDcgQEAgYWxsOiAkKE8pICQoUFJPR1BBVEgpICQoU1RB VElDX1RBUkdFVCkKKyAkKE8pOg0KKyAJJChNWV9NS0RJUikgJChPKQ0KKyANCistTEZMQUdTX0FM TCA9IC1zICQoTVlfQVJDSF8yKSAkKExERkxBR1MpICQoTERfYXJjaCkgJChPQkpTKSAkKE1ZX0xJ QlMpICQoTElCMikNCisrTEZMQUdTX0FMTCA9ICQoTVlfQVJDSF8yKSAkKExERkxBR1MpICQoTERf YXJjaCkgJChPQkpTKSAkKE1ZX0xJQlMpICQoTElCMikgJChYQlBTX0xERkxBR1MpDQorICQoUFJP R1BBVEgpOiAkKE9CSlMpDQorIAkkKENYWCkgLW8gJChQUk9HUEFUSCkgJChMRkxBR1NfQUxMKQ0K KyANCmRpZmYgLS1naXQgYS9zcmNwa2dzLzd6aXAvdGVtcGxhdGUgYi9zcmNwa2dzLzd6aXAvdGVt cGxhdGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi4yMmFjZDk3Y2Vm NDIKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzLzd6aXAvdGVtcGxhdGUKQEAgLTAsMCArMSw3 OCBAQAorIyBUZW1wbGF0ZSBmaWxlIGZvciAnN3ppcCcKK3BrZ25hbWU9N3ppcAordmVyc2lvbj0y Mi4wMAorcmV2aXNpb249MQorY3JlYXRlX3dya3NyYz15ZXMKK3Nob3J0X2Rlc2M9IkZpbGUgYXJj aGl2ZXIgd2l0aCBhIGhpZ2ggY29tcHJlc3Npb24gcmF0aW8iCittYWludGFpbmVyPSJSb2JlcnRv IFJpY2NpIDxyaWNjaUBkaXNyb290Lm9yZz4iCitsaWNlbnNlPSJMR1BMLTIuMS1vci1sYXRlciwg QlNELTMtQ2xhdXNlIgoraG9tZXBhZ2U9Imh0dHBzOi8vd3d3LjctemlwLm9yZyIKK2NoYW5nZWxv Zz0iaHR0cHM6Ly93d3cuNy16aXAub3JnL2hpc3RvcnkudHh0IgorZGlzdGZpbGVzPSJodHRwczov L3d3dy43LXppcC5vcmcvYS83eiR7dmVyc2lvbi8vLi99LXNyYy50YXIueHoiCitjaGVja3N1bT00 MDk2OWY2MDFlODZhZmY0OWFhYTBiYTBkZjVjZTZmZDM5N2NmN2UyNjgzYTg0YjU5MWIwMDgxZTQ2 MWVmNjc1CisKK2lmIFsgIiRYQlBTX1RBUkdFVF9MSUJDIiA9IG11c2wgXTsgdGhlbgorCSMgbWlz c2luZyBwdGhyZWFkX2F0dHJfc2V0YWZmaW5pdHlfbnAoKQorCUNGTEFHUz0iLURfN1pJUF9BRkZJ TklUWV9ESVNBQkxFIgorCUNYWEZMQUdTPSItRF83WklQX0FGRklOSVRZX0RJU0FCTEUiCitmaQor Citkb19idWlsZCgpIHsKKwlfN3pfYnVpbGQoKSB7CisJCWNkICIkd3Jrc3JjIi9DUFAvN3ppcC9C dW5kbGVzL0Fsb25lMgorCisJCWNhc2UgIiRYQlBTX1RBUkdFVF9NQUNISU5FIiBpbgorCQlhYXJj aDY0KikgXzd6X21ha2VmaWxlPSIuLi8uLi9jbXBsX2djY19hcm02NC5tYWsiOzsKKwkJKikgICAg ICAgIF83el9tYWtlZmlsZT0iLi4vLi4vY21wbF9nY2MubWFrIjs7CisJCWVzYWMKKworCQltYWtl ICIkbWFrZWpvYnMiIC1mICIkXzd6X21ha2VmaWxlIiBcCisJCQlDQz0iJENDIiBDWFg9IiRDWFgi IFhCUFNfQ0ZMQUdTPSIkQ0ZMQUdTIiBcCisJCQlYQlBTX0NYWEZMQUdTPSIkQ1hYRkxBR1MiIFhC UFNfTERGTEFHUz0iJExERkxBR1MiIFwKKwkJCSIkQCIKKwl9CisJXzd6X2J1aWxkIE89Yi9ub3Jh ciBESVNBQkxFX1JBUl9DT01QUkVTUz0xCisJXzd6X2J1aWxkIE89Yi9yYXIKK30KKworXzd6X2lu c3RhbGwoKSB7CisJYmluZGlyPSIkMSIKKwlkZXN0PSIkMiIKKworCXZiaW4gIiR7d3Jrc3JjfS9D UFAvN3ppcC9CdW5kbGVzL0Fsb25lMi8ke2JpbmRpcn0vN3p6IgorCWZvciBpIGluIDd6IDd6YSA3 enI7IGRvCisJCWxuIC1zZiA3enogIiR7ZGVzdH0vdXNyL2Jpbi8ke2l9IgorCWRvbmUKKworCXZs aWNlbnNlICIkd3Jrc3JjIi9ET0MvTGljZW5zZS50eHQKKworCSMgaHR0cHM6Ly9jZ2l0LmZyZWVi c2Qub3JnL3BvcnRzL3BsYWluL2FyY2hpdmVycy83LXppcC9maWxlcy83enouMQorCXZtYW4gIiRG SUxFU0RJUiIvN3p6LjEKK30KKworZG9faW5zdGFsbCgpIHsKKwlfN3pfaW5zdGFsbCBiL25vcmFy ICIkREVTVERJUiIKK30KKworN3ppcC11bnJhcl9wYWNrYWdlKCkgeworCWxpY2Vuc2UrPSIsIGN1 c3RvbTpmcmVld2FyZSIKKwlyZXBvc2l0b3J5PW5vbmZyZWUKKwljb25mbGljdHM9N3ppcAorCXNo b3J0X2Rlc2MrPSIgLSBSQVIgc3VwcG9ydCIKKworCXBrZ19pbnN0YWxsKCkgeworCQlfN3pfaW5z dGFsbCBiL3JhciAiJFBLR0RFU1RESVIiCisJfQorfQorCitwN3ppcF9wYWNrYWdlKCkgeworCWJ1 aWxkX3N0eWxlPW1ldGEKKwlkZXBlbmRzPTd6aXAKKwlzaG9ydF9kZXNjPSJDb21tYW5kLWxpbmUg dmVyc2lvbiBvZiB0aGUgN3ppcCBjb21wcmVzc2VkIGZpbGUgYXJjaGl2ZSAodHJhbnNpdGlvbmFs IGR1bW15IHBhY2thZ2UpIgorfQorCitwN3ppcC11bnJhcl9wYWNrYWdlKCkgeworCWJ1aWxkX3N0 eWxlPW1ldGEKKwlkZXBlbmRzPTd6aXAtdW5yYXIKKwlzaG9ydF9kZXNjPSJDb21tYW5kLWxpbmUg dmVyc2lvbiBvZiB0aGUgN3ppcCBjb21wcmVzc2VkIGZpbGUgYXJjaGl2ZSAtIFJBUiBzdXBwb3J0 ICh0cmFuc2l0aW9uYWwgZHVtbXkgcGFja2FnZSkiCit9CmRpZmYgLS1naXQgYS9zcmNwa2dzLzd6 aXAvdXBkYXRlIGIvc3JjcGtncy83emlwL3VwZGF0ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCAwMDAwMDAwMDAwMDAuLjU0NjNmMTQ4ZTRmOAotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3Mv N3ppcC91cGRhdGUKQEAgLTAsMCArMSwyIEBACitzaXRlPSdodHRwczovLzctemlwLm9yZy9kb3du bG9hZC5odG1sJworcGF0dGVybj0nRG93bmxvYWQgNy1aaXAgXEtbXGQuXSsnCmRpZmYgLS1naXQg YS9zcmNwa2dzL3A3emlwIGIvc3JjcGtncy9wN3ppcApuZXcgZmlsZSBtb2RlIDEyMDAwMAppbmRl eCAwMDAwMDAwMDAwMDAuLjI4NDMxMjU5NWE0YwotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3Mv cDd6aXAKQEAgLTAsMCArMSBAQAorN3ppcApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm ZiAtLWdpdCBhL3NyY3BrZ3MvcDd6aXAtdW5yYXIgYi9zcmNwa2dzL3A3emlwLXVucmFyCmluZGV4 IGJmNTM0OWVlNjY2Ni4uMjg0MzEyNTk1YTRjIDEyMDAwMAotLS0gYS9zcmNwa2dzL3A3emlwLXVu cmFyCisrKyBiL3NyY3BrZ3MvcDd6aXAtdW5yYXIKQEAgLTEgKzEgQEAKLXA3emlwClwgTm8gbmV3 bGluZSBhdCBlbmQgb2YgZmlsZQorN3ppcApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm ZiAtLWdpdCBhL3NyY3BrZ3MvcDd6aXAvcGF0Y2hlcy8yMC1DVkUtMjAxOC01OTk2LnBhdGNoIGIv c3JjcGtncy9wN3ppcC9wYXRjaGVzLzIwLUNWRS0yMDE4LTU5OTYucGF0Y2gKZGVsZXRlZCBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDY3MzNiZmY5MTg5NS4uMDAwMDAwMDAwMDAwCi0tLSBhL3NyY3Br Z3MvcDd6aXAvcGF0Y2hlcy8yMC1DVkUtMjAxOC01OTk2LnBhdGNoCisrKyAvZGV2L251bGwKQEAg LTEsMjIxICswLDAgQEAKLUZyb206IFJvYmVydCBMdWJlcmRhIDxyb2JlcnRAZGViaWFuLm9yZz4K LURhdGU6IFN1biwgMjggSmFuIDIwMTggMjM6NDc6NDAgKzAxMDAKLVN1YmplY3Q6IENWRS0yMDE4 LTU5OTYKLQotSG9wZWZ1bGx5IGZpeCBNZW1vcnkgQ29ycnVwdGlvbnMgdmlhIFJBUiBQUE1kIChD VkUtMjAxOC01OTk2KSBieQotYXBwbHlpbmcgYSBmZXcgY2hhbmdlcyBmcm9tIDdaaXAgMTguMDAt YmV0YS4KLQotQnVnLURlYmlhbjogaHR0cHM6Ly9idWdzLmRlYmlhbi5vcmcvIzg4ODMxNAotLS0t Ci0gQ1BQLzd6aXAvQ29tcHJlc3MvUmFyMURlY29kZXIuY3BwIHwgMTMgKysrKysrKysrLS0tLQot IENQUC83emlwL0NvbXByZXNzL1JhcjFEZWNvZGVyLmggICB8ICAxICsKLSBDUFAvN3ppcC9Db21w cmVzcy9SYXIyRGVjb2Rlci5jcHAgfCAxMCArKysrKysrKystCi0gQ1BQLzd6aXAvQ29tcHJlc3Mv UmFyMkRlY29kZXIuaCAgIHwgIDEgKwotIENQUC83emlwL0NvbXByZXNzL1JhcjNEZWNvZGVyLmNw cCB8IDIzICsrKysrKysrKysrKysrKysrKysrLS0tCi0gQ1BQLzd6aXAvQ29tcHJlc3MvUmFyM0Rl Y29kZXIuaCAgIHwgIDIgKysKLSA2IGZpbGVzIGNoYW5nZWQsIDQyIGluc2VydGlvbnMoKyksIDgg ZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9DUFAvN3ppcC9Db21wcmVzcy9SYXIxRGVjb2Rl ci5jcHAgYi9DUFAvN3ppcC9Db21wcmVzcy9SYXIxRGVjb2Rlci5jcHAKLWluZGV4IDFhYWVkY2Mu LjY4MDMwYzcgMTAwNjQ0Ci0tLS0gYS9DUFAvN3ppcC9Db21wcmVzcy9SYXIxRGVjb2Rlci5jcHAK LSsrKyBiL0NQUC83emlwL0NvbXByZXNzL1JhcjFEZWNvZGVyLmNwcAotQEAgLTI5LDcgKzI5LDcg QEAgcHVibGljOgotIH07Ci0gKi8KLSAKLS1DRGVjb2Rlcjo6Q0RlY29kZXIoKTogbV9Jc1NvbGlk KGZhbHNlKSB7IH0KLStDRGVjb2Rlcjo6Q0RlY29kZXIoKTogbV9Jc1NvbGlkKGZhbHNlKSwgX2Vy cm9yTW9kZShmYWxzZSkgeyB9Ci0gCi0gdm9pZCBDRGVjb2Rlcjo6SW5pdFN0cnVjdHVyZXMoKQot IHsKLUBAIC00MDYsOSArNDA2LDE0IEBAIEhSRVNVTFQgQ0RlY29kZXI6OkNvZGVSZWFsKElTZXF1 ZW50aWFsSW5TdHJlYW0gKmluU3RyZWFtLCBJU2VxdWVudGlhbE91dFN0cmVhbSAqCi0gICBJbml0 RGF0YSgpOwotICAgaWYgKCFtX0lzU29saWQpCi0gICB7Ci0rICAgIF9lcnJvck1vZGUgPSBmYWxz ZTsKLSAgICAgSW5pdFN0cnVjdHVyZXMoKTsKLSAgICAgSW5pdEh1ZmYoKTsKLSAgIH0KLSsKLSsg IGlmIChfZXJyb3JNb2RlKQotKyAgICByZXR1cm4gU19GQUxTRTsKLSsKLSAgIGlmIChtX1VucGFj a1NpemUgPiAwKQotICAgewotICAgICBHZXRGbGFnc0J1ZigpOwotQEAgLTQ3Nyw5ICs0ODIsOSBA QCBTVERNRVRIT0RJTVAgQ0RlY29kZXI6OkNvZGUoSVNlcXVlbnRpYWxJblN0cmVhbSAqaW5TdHJl YW0sIElTZXF1ZW50aWFsT3V0U3RyZWFtCi0gICAgIGNvbnN0IFVJbnQ2NCAqaW5TaXplLCBjb25z dCBVSW50NjQgKm91dFNpemUsIElDb21wcmVzc1Byb2dyZXNzSW5mbyAqcHJvZ3Jlc3MpCi0gewot ICAgdHJ5IHsgcmV0dXJuIENvZGVSZWFsKGluU3RyZWFtLCBvdXRTdHJlYW0sIGluU2l6ZSwgb3V0 U2l6ZSwgcHJvZ3Jlc3MpOyB9Ci0tICBjYXRjaChjb25zdCBDSW5CdWZmZXJFeGNlcHRpb24gJmUp IHsgcmV0dXJuIGUuRXJyb3JDb2RlOyB9Ci0tICBjYXRjaChjb25zdCBDTHpPdXRXaW5kb3dFeGNl cHRpb24gJmUpIHsgcmV0dXJuIGUuRXJyb3JDb2RlOyB9Ci0tICBjYXRjaCguLi4pIHsgcmV0dXJu IFNfRkFMU0U7IH0KLSsgIGNhdGNoKGNvbnN0IENJbkJ1ZmZlckV4Y2VwdGlvbiAmZSkgeyBfZXJy b3JNb2RlID0gdHJ1ZTsgcmV0dXJuIGUuRXJyb3JDb2RlOyB9Ci0rICBjYXRjaChjb25zdCBDTHpP dXRXaW5kb3dFeGNlcHRpb24gJmUpIHsgX2Vycm9yTW9kZSA9IHRydWU7IHJldHVybiBlLkVycm9y Q29kZTsgfQotKyAgY2F0Y2goLi4uKSB7IF9lcnJvck1vZGUgPSB0cnVlOyByZXR1cm4gU19GQUxT RTsgfQotIH0KLSAKLSBTVERNRVRIT0RJTVAgQ0RlY29kZXI6OlNldERlY29kZXJQcm9wZXJ0aWVz Mihjb25zdCBCeXRlICpkYXRhLCBVSW50MzIgc2l6ZSkKLWRpZmYgLS1naXQgYS9DUFAvN3ppcC9D b21wcmVzcy9SYXIxRGVjb2Rlci5oIGIvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyMURlY29kZXIuaAot aW5kZXggNjMwZjA4OS4uMDFiNjA2YiAxMDA2NDQKLS0tLSBhL0NQUC83emlwL0NvbXByZXNzL1Jh cjFEZWNvZGVyLmgKLSsrKyBiL0NQUC83emlwL0NvbXByZXNzL1JhcjFEZWNvZGVyLmgKLUBAIC0z OSw2ICszOSw3IEBAIHB1YmxpYzoKLSAKLSAgIEludDY0IG1fVW5wYWNrU2l6ZTsKLSAgIGJvb2wg bV9Jc1NvbGlkOwotKyAgYm9vbCBfZXJyb3JNb2RlOwotIAotICAgVUludDMyIFJlYWRCaXRzKGlu dCBudW1CaXRzKTsKLSAgIEhSRVNVTFQgQ29weUJsb2NrKFVJbnQzMiBkaXN0YW5jZSwgVUludDMy IGxlbik7Ci1kaWZmIC0tZ2l0IGEvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyMkRlY29kZXIuY3BwIGIv Q1BQLzd6aXAvQ29tcHJlc3MvUmFyMkRlY29kZXIuY3BwCi1pbmRleCBiM2YyYjRiLi4wNTgwYzhk IDEwMDY0NAotLS0tIGEvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyMkRlY29kZXIuY3BwCi0rKysgYi9D UFAvN3ppcC9Db21wcmVzcy9SYXIyRGVjb2Rlci5jcHAKLUBAIC04MCw3ICs4MCw4IEBAIHN0YXRp YyBjb25zdCBVSW50MzIga0hpc3RvcnlTaXplID0gMSA8PCAyMDsKLSBzdGF0aWMgY29uc3QgVUlu dDMyIGtXaW5kb3dSZXNlcnZTaXplID0gKDEgPDwgMjIpICsgMjU2OwotIAotIENEZWNvZGVyOjpD RGVjb2RlcigpOgotLSAgbV9Jc1NvbGlkKGZhbHNlKQotKyAgbV9Jc1NvbGlkKGZhbHNlKSwKLSsg IG1fVGFibGVzT0soZmFsc2UpCi0gewotIH0KLSAKLUBAIC0xMDAsNiArMTAxLDggQEAgVUludDMy IENEZWNvZGVyOjpSZWFkQml0cyh1bnNpZ25lZCBudW1CaXRzKSB7IHJldHVybiBtX0luQml0U3Ry ZWFtLlJlYWRCaXRzKG51bUIKLSAKLSBib29sIENEZWNvZGVyOjpSZWFkVGFibGVzKHZvaWQpCi0g ewotKyAgbV9UYWJsZXNPSyA9IGZhbHNlOwotKwotICAgQnl0ZSBsZXZlbExldmVsc1trTGV2ZWxU YWJsZVNpemVdOwotICAgQnl0ZSBuZXdMZXZlbHNba01heFRhYmxlU2l6ZV07Ci0gICBtX0F1ZGlv TW9kZSA9IChSZWFkQml0cygxKSA9PSAxKTsKLUBAIC0xNzAsNiArMTczLDggQEAgYm9vbCBDRGVj b2Rlcjo6UmVhZFRhYmxlcyh2b2lkKQotICAgfQotICAgCi0gICBtZW1jcHkobV9MYXN0TGV2ZWxz LCBuZXdMZXZlbHMsIGtNYXhUYWJsZVNpemUpOwotKyAgbV9UYWJsZXNPSyA9IHRydWU7Ci0rCi0g ICByZXR1cm4gdHJ1ZTsKLSB9Ci0gCi1AQCAtMzQ0LDYgKzM0OSw5IEBAIEhSRVNVTFQgQ0RlY29k ZXI6OkNvZGVSZWFsKElTZXF1ZW50aWFsSW5TdHJlYW0gKmluU3RyZWFtLCBJU2VxdWVudGlhbE91 dFN0cmVhbSAqCi0gICAgICAgcmV0dXJuIFNfRkFMU0U7Ci0gICB9Ci0gCi0rICBpZiAoIW1fVGFi bGVzT0spCi0rICAgIHJldHVybiBTX0ZBTFNFOwotKwotICAgVUludDY0IHN0YXJ0UG9zID0gbV9P dXRXaW5kb3dTdHJlYW0uR2V0UHJvY2Vzc2VkU2l6ZSgpOwotICAgd2hpbGUgKHBvcyA8IHVuUGFj a1NpemUpCi0gICB7Ci1kaWZmIC0tZ2l0IGEvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyMkRlY29kZXIu aCBiL0NQUC83emlwL0NvbXByZXNzL1JhcjJEZWNvZGVyLmgKLWluZGV4IDNhMDUzNWMuLjBlOTAw NWYgMTAwNjQ0Ci0tLS0gYS9DUFAvN3ppcC9Db21wcmVzcy9SYXIyRGVjb2Rlci5oCi0rKysgYi9D UFAvN3ppcC9Db21wcmVzcy9SYXIyRGVjb2Rlci5oCi1AQCAtMTM5LDYgKzEzOSw3IEBAIGNsYXNz IENEZWNvZGVyIDoKLSAKLSAgIFVJbnQ2NCBtX1BhY2tTaXplOwotICAgYm9vbCBtX0lzU29saWQ7 Ci0rICBib29sIG1fVGFibGVzT0s7Ci0gCi0gICB2b2lkIEluaXRTdHJ1Y3R1cmVzKCk7Ci0gICBV SW50MzIgUmVhZEJpdHModW5zaWduZWQgbnVtQml0cyk7Ci1kaWZmIC0tZ2l0IGEvQ1BQLzd6aXAv Q29tcHJlc3MvUmFyM0RlY29kZXIuY3BwIGIvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyM0RlY29kZXIu Y3BwCi1pbmRleCAzYmYyNTEzLi42Y2I4YTZhIDEwMDY0NAotLS0tIGEvQ1BQLzd6aXAvQ29tcHJl c3MvUmFyM0RlY29kZXIuY3BwCi0rKysgYi9DUFAvN3ppcC9Db21wcmVzcy9SYXIzRGVjb2Rlci5j cHAKLUBAIC05Miw3ICs5Miw4IEBAIENEZWNvZGVyOjpDRGVjb2RlcigpOgotICAgX3dyaXR0ZW5G aWxlU2l6ZSgwKSwKLSAgIF92bURhdGEoMCksCi0gICBfdm1Db2RlKDApLAotLSAgbV9Jc1NvbGlk KGZhbHNlKQotKyAgbV9Jc1NvbGlkKGZhbHNlKSwKLSsgIF9lcnJvck1vZGUoZmFsc2UpCi0gewot ICAgUHBtZDdfQ29uc3RydWN0KCZfcHBtZCk7Ci0gfQotQEAgLTU0NSw2ICs1NDYsOSBAQCBIUkVT VUxUIENEZWNvZGVyOjpSZWFkVGFibGVzKGJvb2wgJmtlZXBEZWNvbXByZXNzaW5nKQotICAgICBy ZXR1cm4gSW5pdFBQTSgpOwotICAgfQotIAotKyAgVGFibGVzUmVhZCA9IGZhbHNlOwotKyAgVGFi bGVzT0sgPSBmYWxzZTsKLSsKLSAgIF9sek1vZGUgPSB0cnVlOwotICAgUHJldkFsaWduQml0cyA9 IDA7Ci0gICBQcmV2QWxpZ25Db3VudCA9IDA7Ci1AQCAtNjA2LDYgKzYxMCw5IEBAIEhSRVNVTFQg Q0RlY29kZXI6OlJlYWRUYWJsZXMoYm9vbCAma2VlcERlY29tcHJlc3NpbmcpCi0gICAgICAgfQot ICAgICB9Ci0gICB9Ci0rICBpZiAoSW5wdXRFb2ZFcnJvcigpKQotKyAgICByZXR1cm4gU19GQUxT RTsKLSsKLSAgIFRhYmxlc1JlYWQgPSB0cnVlOwotIAotICAgLy8gb3JpZ2luYWwgY29kZSBoYXMg Y2hlY2sgaGVyZToKLUBAIC02MjMsNiArNjMwLDkgQEAgSFJFU1VMVCBDRGVjb2Rlcjo6UmVhZFRh Ymxlcyhib29sICZrZWVwRGVjb21wcmVzc2luZykKLSAgIFJJRihtX0xlbkRlY29kZXIuQnVpbGQo Jm5ld0xldmVsc1trTWFpblRhYmxlU2l6ZSArIGtEaXN0VGFibGVTaXplICsga0FsaWduVGFibGVT aXplXSkpOwotIAotICAgbWVtY3B5KG1fTGFzdExldmVscywgbmV3TGV2ZWxzLCBrVGFibGVzU2l6 ZXNTdW0pOwotKwotKyAgVGFibGVzT0sgPSB0cnVlOwotKwotICAgcmV0dXJuIFNfT0s7Ci0gfQot IAotQEAgLTgyNCw3ICs4MzQsMTIgQEAgSFJFU1VMVCBDRGVjb2Rlcjo6Q29kZVJlYWwoSUNvbXBy ZXNzUHJvZ3Jlc3NJbmZvICpwcm9ncmVzcykKLSAgICAgUHBtRXNjQ2hhciA9IDI7Ci0gICAgIFBw bUVycm9yID0gdHJ1ZTsKLSAgICAgSW5pdEZpbHRlcnMoKTsKLSsgICAgX2Vycm9yTW9kZSA9IGZh bHNlOwotICAgfQotKwotKyAgaWYgKF9lcnJvck1vZGUpCi0rICAgIHJldHVybiBTX0ZBTFNFOwot KwotICAgaWYgKCFtX0lzU29saWQgfHwgIVRhYmxlc1JlYWQpCi0gICB7Ci0gICAgIGJvb2wga2Vl cERlY29tcHJlc3Npbmc7Ci1AQCAtODM4LDYgKzg1Myw4IEBAIEhSRVNVTFQgQ0RlY29kZXI6OkNv ZGVSZWFsKElDb21wcmVzc1Byb2dyZXNzSW5mbyAqcHJvZ3Jlc3MpCi0gICAgIGJvb2wga2VlcERl Y29tcHJlc3Npbmc7Ci0gICAgIGlmIChfbHpNb2RlKQotICAgICB7Ci0rICAgICAgaWYgKCFUYWJs ZXNPSykKLSsgICAgICAgIHJldHVybiBTX0ZBTFNFOwotICAgICAgIFJJTk9LKERlY29kZUxaKGtl ZXBEZWNvbXByZXNzaW5nKSkKLSAgICAgfQotICAgICBlbHNlCi1AQCAtOTAxLDggKzkxOCw4IEBA IFNURE1FVEhPRElNUCBDRGVjb2Rlcjo6Q29kZShJU2VxdWVudGlhbEluU3RyZWFtICppblN0cmVh bSwgSVNlcXVlbnRpYWxPdXRTdHJlYW0KLSAgICAgX3VucGFja1NpemUgPSBvdXRTaXplID8gKm91 dFNpemUgOiAoVUludDY0KShJbnQ2NCktMTsKLSAgICAgcmV0dXJuIENvZGVSZWFsKHByb2dyZXNz KTsKLSAgIH0KLS0gIGNhdGNoKGNvbnN0IENJbkJ1ZmZlckV4Y2VwdGlvbiAmZSkgIHsgcmV0dXJu IGUuRXJyb3JDb2RlOyB9Ci0tICBjYXRjaCguLi4pIHsgcmV0dXJuIFNfRkFMU0U7IH0KLSsgIGNh dGNoKGNvbnN0IENJbkJ1ZmZlckV4Y2VwdGlvbiAmZSkgIHsgX2Vycm9yTW9kZSA9IHRydWU7IHJl dHVybiBlLkVycm9yQ29kZTsgfQotKyAgY2F0Y2goLi4uKSB7IF9lcnJvck1vZGUgPSB0cnVlOyBy ZXR1cm4gU19GQUxTRTsgfQotICAgLy8gQ05ld0V4Y2VwdGlvbiBpcyBwb3NzaWJsZSBoZXJlLiBC dXQgcHJvYmFibHkgQ05ld0V4Y2VwdGlvbiBpcyBjYXVzZWQKLSAgIC8vIGJ5IGVycm9yIGluIGRh dGEgc3RyZWFtLgotIH0KLWRpZmYgLS1naXQgYS9DUFAvN3ppcC9Db21wcmVzcy9SYXIzRGVjb2Rl ci5oIGIvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyM0RlY29kZXIuaAotaW5kZXggYzEzMGNlYy4uMmY3 MmQ3ZCAxMDA2NDQKLS0tLSBhL0NQUC83emlwL0NvbXByZXNzL1JhcjNEZWNvZGVyLmgKLSsrKyBi L0NQUC83emlwL0NvbXByZXNzL1JhcjNEZWNvZGVyLmgKLUBAIC0xOTIsNiArMTkyLDcgQEAgY2xh c3MgQ0RlY29kZXI6Ci0gICBVSW50MzIgX2xhc3RGaWx0ZXI7Ci0gCi0gICBib29sIG1fSXNTb2xp ZDsKLSsgIGJvb2wgX2Vycm9yTW9kZTsKLSAKLSAgIGJvb2wgX2x6TW9kZTsKLSAgIGJvb2wgX3Vu c3VwcG9ydGVkRmlsdGVyOwotQEAgLTIwMCw2ICsyMDEsNyBAQCBjbGFzcyBDRGVjb2RlcjoKLSAg IFVJbnQzMiBQcmV2QWxpZ25Db3VudDsKLSAKLSAgIGJvb2wgVGFibGVzUmVhZDsKLSsgIGJvb2wg VGFibGVzT0s7Ci0gCi0gICBDUHBtZDcgX3BwbWQ7Ci0gICBpbnQgUHBtRXNjQ2hhcjsKZGlmZiAt LWdpdCBhL3NyY3BrZ3MvcDd6aXAvcGF0Y2hlcy8zMC1DVkUtMjAxOC0xMDExNS5wYXRjaCBiL3Ny Y3BrZ3MvcDd6aXAvcGF0Y2hlcy8zMC1DVkUtMjAxOC0xMDExNS5wYXRjaApkZWxldGVkIGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggN2Q5YzRiZjgxZjAwLi4wMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtn cy9wN3ppcC9wYXRjaGVzLzMwLUNWRS0yMDE4LTEwMTE1LnBhdGNoCisrKyAvZGV2L251bGwKQEAg LTEsMzExICswLDAgQEAKLUZyb206IFJvYmVydCBMdWJlcmRhIDxyb2JlcnRAZGViaWFuLm9yZz4K LURhdGU6IFR1ZSwgMjkgTWF5IDIwMTggMjM6NTk6MDkgKzAyMDAKLVN1YmplY3Q6IEZpeCBDVkUt MjAxOC0xMDExNQotCi1BcHBseSAicGF0Y2giIHRha2VuIGZyb20gaHR0cHM6Ly9sYW5kYXZlLmlv L2ZpbGVzL3BhdGNoXzd6aXBfQ1ZFLTIwMTgtMTAxMTUudHh0Ci0KLQotQnVncy1EZWJpYW46IGh0 dHBzOi8vYnVncy5kZWJpYW4ub3JnLzg5NzY3NAotLS0tCi0gQ1BQLzd6aXAvQ29tcHJlc3MvUmFy MURlY29kZXIuY3BwIHwgMTYgKysrKysrKysrKystLS0tLQotIENQUC83emlwL0NvbXByZXNzL1Jh cjFEZWNvZGVyLmggICB8ICAzICsrLQotIENQUC83emlwL0NvbXByZXNzL1JhcjJEZWNvZGVyLmNw cCB8IDE3ICsrKysrKysrKysrKystLS0tCi0gQ1BQLzd6aXAvQ29tcHJlc3MvUmFyMkRlY29kZXIu aCAgIHwgIDMgKystCi0gQ1BQLzd6aXAvQ29tcHJlc3MvUmFyM0RlY29kZXIuY3BwIHwgMTkgKysr KysrKysrKysrKysrLS0tLQotIENQUC83emlwL0NvbXByZXNzL1JhcjNEZWNvZGVyLmggICB8ICAz ICsrLQotIENQUC83emlwL0NvbXByZXNzL1JhcjVEZWNvZGVyLmNwcCB8ICA4ICsrKysrKysrCi0g Q1BQLzd6aXAvQ29tcHJlc3MvUmFyNURlY29kZXIuaCAgIHwgIDEgKwotIDggZmlsZXMgY2hhbmdl ZCwgNTQgaW5zZXJ0aW9ucygrKSwgMTYgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9DUFAv N3ppcC9Db21wcmVzcy9SYXIxRGVjb2Rlci5jcHAgYi9DUFAvN3ppcC9Db21wcmVzcy9SYXIxRGVj b2Rlci5jcHAKLWluZGV4IDY4MDMwYzcuLjhjODkwYzggMTAwNjQ0Ci0tLS0gYS9DUFAvN3ppcC9D b21wcmVzcy9SYXIxRGVjb2Rlci5jcHAKLSsrKyBiL0NQUC83emlwL0NvbXByZXNzL1JhcjFEZWNv ZGVyLmNwcAotQEAgLTI5LDcgKzI5LDcgQEAgcHVibGljOgotIH07Ci0gKi8KLSAKLS1DRGVjb2Rl cjo6Q0RlY29kZXIoKTogbV9Jc1NvbGlkKGZhbHNlKSwgX2Vycm9yTW9kZShmYWxzZSkgeyB9Ci0r Q0RlY29kZXI6OkNEZWNvZGVyKCk6IF9pc1NvbGlkKGZhbHNlKSwgX3NvbGlkQWxsb3dlZChmYWxz ZSksIF9lcnJvck1vZGUoZmFsc2UpIHsgfQotIAotIHZvaWQgQ0RlY29kZXI6OkluaXRTdHJ1Y3R1 cmVzKCkKLSB7Ci1AQCAtMzQ1LDcgKzM0NSw3IEBAIHZvaWQgQ0RlY29kZXI6OkdldEZsYWdzQnVm KCkKLSAKLSB2b2lkIENEZWNvZGVyOjpJbml0RGF0YSgpCi0gewotLSAgaWYgKCFtX0lzU29saWQp Ci0rICBpZiAoIV9pc1NvbGlkKQotICAgewotICAgICBBdnJQbGNCID0gQXZyTG4xID0gQXZyTG4y ID0gQXZyTG4zID0gTnVtSHVmID0gQnVmNjAgPSAwOwotICAgICBBdnJQbGMgPSAweDM1MDA7Ci1A QCAtMzkxLDYgKzM5MSwxMSBAQCBIUkVTVUxUIENEZWNvZGVyOjpDb2RlUmVhbChJU2VxdWVudGlh bEluU3RyZWFtICppblN0cmVhbSwgSVNlcXVlbnRpYWxPdXRTdHJlYW0gKgotICAgaWYgKGluU2l6 ZSA9PSBOVUxMIHx8IG91dFNpemUgPT0gTlVMTCkKLSAgICAgcmV0dXJuIEVfSU5WQUxJREFSRzsK LSAKLSsgIGlmIChfaXNTb2xpZCAmJiAhX3NvbGlkQWxsb3dlZCkKLSsgICAgcmV0dXJuIFNfRkFM U0U7Ci0rCi0rICBfc29saWRBbGxvd2VkID0gZmFsc2U7Ci0rCi0gICBpZiAoIW1fT3V0V2luZG93 U3RyZWFtLkNyZWF0ZShrSGlzdG9yeVNpemUpKQotICAgICByZXR1cm4gRV9PVVRPRk1FTU9SWTsK LSAgIGlmICghbV9JbkJpdFN0cmVhbS5DcmVhdGUoMSA8PCAyMCkpCi1AQCAtMzk4LDEzICs0MDMs MTMgQEAgSFJFU1VMVCBDRGVjb2Rlcjo6Q29kZVJlYWwoSVNlcXVlbnRpYWxJblN0cmVhbSAqaW5T dHJlYW0sIElTZXF1ZW50aWFsT3V0U3RyZWFtICoKLSAKLSAgIG1fVW5wYWNrU2l6ZSA9IChJbnQ2 NCkqb3V0U2l6ZTsKLSAgIG1fT3V0V2luZG93U3RyZWFtLlNldFN0cmVhbShvdXRTdHJlYW0pOwot LSAgbV9PdXRXaW5kb3dTdHJlYW0uSW5pdChtX0lzU29saWQpOwotKyAgbV9PdXRXaW5kb3dTdHJl YW0uSW5pdChfaXNTb2xpZCk7Ci0gICBtX0luQml0U3RyZWFtLlNldFN0cmVhbShpblN0cmVhbSk7 Ci0gICBtX0luQml0U3RyZWFtLkluaXQoKTsKLSAKLSAgIC8vIENDb2RlclJlbGVhc2VyIGNvZGVy UmVsZWFzZXIodGhpcyk7Ci0gICBJbml0RGF0YSgpOwotLSAgaWYgKCFtX0lzU29saWQpCi0rICBp ZiAoIV9pc1NvbGlkKQotICAgewotICAgICBfZXJyb3JNb2RlID0gZmFsc2U7Ci0gICAgIEluaXRT dHJ1Y3R1cmVzKCk7Ci1AQCAtNDc1LDYgKzQ4MCw3IEBAIEhSRVNVTFQgQ0RlY29kZXI6OkNvZGVS ZWFsKElTZXF1ZW50aWFsSW5TdHJlYW0gKmluU3RyZWFtLCBJU2VxdWVudGlhbE91dFN0cmVhbSAq Ci0gICB9Ci0gICBpZiAobV9VbnBhY2tTaXplIDwgMCkKLSAgICAgcmV0dXJuIFNfRkFMU0U7Ci0r ICBfc29saWRBbGxvd2VkID0gdHJ1ZTsKLSAgIHJldHVybiBtX091dFdpbmRvd1N0cmVhbS5GbHVz aCgpOwotIH0KLSAKLUBAIC00OTEsNyArNDk3LDcgQEAgU1RETUVUSE9ESU1QIENEZWNvZGVyOjpT ZXREZWNvZGVyUHJvcGVydGllczIoY29uc3QgQnl0ZSAqZGF0YSwgVUludDMyIHNpemUpCi0gewot ICAgaWYgKHNpemUgPCAxKQotICAgICByZXR1cm4gRV9JTlZBTElEQVJHOwotLSAgbV9Jc1NvbGlk ID0gKChkYXRhWzBdICYgMSkgIT0gMCk7Ci0rICBfaXNTb2xpZCA9ICgoZGF0YVswXSAmIDEpICE9 IDApOwotICAgcmV0dXJuIFNfT0s7Ci0gfQotIAotZGlmZiAtLWdpdCBhL0NQUC83emlwL0NvbXBy ZXNzL1JhcjFEZWNvZGVyLmggYi9DUFAvN3ppcC9Db21wcmVzcy9SYXIxRGVjb2Rlci5oCi1pbmRl eCAwMWI2MDZiLi44YWJiM2EzIDEwMDY0NAotLS0tIGEvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyMURl Y29kZXIuaAotKysrIGIvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyMURlY29kZXIuaAotQEAgLTM4LDcg KzM4LDggQEAgcHVibGljOgotICAgVUludDMyIExhc3RMZW5ndGg7Ci0gCi0gICBJbnQ2NCBtX1Vu cGFja1NpemU7Ci0tICBib29sIG1fSXNTb2xpZDsKLSsgIGJvb2wgX2lzU29saWQ7Ci0rICBib29s IF9zb2xpZEFsbG93ZWQ7Ci0gICBib29sIF9lcnJvck1vZGU7Ci0gCi0gICBVSW50MzIgUmVhZEJp dHMoaW50IG51bUJpdHMpOwotZGlmZiAtLWdpdCBhL0NQUC83emlwL0NvbXByZXNzL1JhcjJEZWNv ZGVyLmNwcCBiL0NQUC83emlwL0NvbXByZXNzL1JhcjJEZWNvZGVyLmNwcAotaW5kZXggMDU4MGM4 ZC4uYmU4ZDg0MiAxMDA2NDQKLS0tLSBhL0NQUC83emlwL0NvbXByZXNzL1JhcjJEZWNvZGVyLmNw cAotKysrIGIvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyMkRlY29kZXIuY3BwCi1AQCAtODAsNyArODAs OCBAQCBzdGF0aWMgY29uc3QgVUludDMyIGtIaXN0b3J5U2l6ZSA9IDEgPDwgMjA7Ci0gc3RhdGlj IGNvbnN0IFVJbnQzMiBrV2luZG93UmVzZXJ2U2l6ZSA9ICgxIDw8IDIyKSArIDI1NjsKLSAKLSBD RGVjb2Rlcjo6Q0RlY29kZXIoKToKLS0gIG1fSXNTb2xpZChmYWxzZSksCi0rICBfaXNTb2xpZChm YWxzZSksCi0rICBfc29saWRBbGxvd2VkKGZhbHNlKSwKLSAgIG1fVGFibGVzT0soZmFsc2UpCi0g ewotIH0KLUBAIC0zMjAsNiArMzIxLDEwIEBAIEhSRVNVTFQgQ0RlY29kZXI6OkNvZGVSZWFsKElT ZXF1ZW50aWFsSW5TdHJlYW0gKmluU3RyZWFtLCBJU2VxdWVudGlhbE91dFN0cmVhbSAqCi0gICBp ZiAoaW5TaXplID09IE5VTEwgfHwgb3V0U2l6ZSA9PSBOVUxMKQotICAgICByZXR1cm4gRV9JTlZB TElEQVJHOwotIAotKyAgaWYgKF9pc1NvbGlkICYmICFfc29saWRBbGxvd2VkKQotKyAgICByZXR1 cm4gU19GQUxTRTsKLSsgIF9zb2xpZEFsbG93ZWQgPSBmYWxzZTsKLSsKLSAgIGlmICghbV9PdXRX aW5kb3dTdHJlYW0uQ3JlYXRlKGtIaXN0b3J5U2l6ZSkpCi0gICAgIHJldHVybiBFX09VVE9GTUVN T1JZOwotICAgaWYgKCFtX0luQml0U3RyZWFtLkNyZWF0ZSgxIDw8IDIwKSkKLUBAIC0zMzAsMTIg KzMzNSwxMiBAQCBIUkVTVUxUIENEZWNvZGVyOjpDb2RlUmVhbChJU2VxdWVudGlhbEluU3RyZWFt ICppblN0cmVhbSwgSVNlcXVlbnRpYWxPdXRTdHJlYW0gKgotICAgVUludDY0IHBvcyA9IDAsIHVu UGFja1NpemUgPSAqb3V0U2l6ZTsKLSAgIAotICAgbV9PdXRXaW5kb3dTdHJlYW0uU2V0U3RyZWFt KG91dFN0cmVhbSk7Ci0tICBtX091dFdpbmRvd1N0cmVhbS5Jbml0KG1fSXNTb2xpZCk7Ci0rICBt X091dFdpbmRvd1N0cmVhbS5Jbml0KF9pc1NvbGlkKTsKLSAgIG1fSW5CaXRTdHJlYW0uU2V0U3Ry ZWFtKGluU3RyZWFtKTsKLSAgIG1fSW5CaXRTdHJlYW0uSW5pdCgpOwotIAotICAgLy8gQ0NvZGVy UmVsZWFzZXIgY29kZXJSZWxlYXNlcih0aGlzKTsKLS0gIGlmICghbV9Jc1NvbGlkKQotKyAgaWYg KCFfaXNTb2xpZCkKLSAgIHsKLSAgICAgSW5pdFN0cnVjdHVyZXMoKTsKLSAgICAgaWYgKHVuUGFj a1NpemUgPT0gMCkKLUBAIC0zNDMsNiArMzQ4LDcgQEAgSFJFU1VMVCBDRGVjb2Rlcjo6Q29kZVJl YWwoSVNlcXVlbnRpYWxJblN0cmVhbSAqaW5TdHJlYW0sIElTZXF1ZW50aWFsT3V0U3RyZWFtICoK LSAgICAgICBpZiAobV9JbkJpdFN0cmVhbS5HZXRQcm9jZXNzZWRTaXplKCkgKyAyIDw9IG1fUGFj a1NpemUpIC8vIHRlc3QgaXQ6IHByb2JhYmx5IGluY29ycmVjdDsKLSAgICAgICAgIGlmICghUmVh ZFRhYmxlcygpKQotICAgICAgICAgICByZXR1cm4gU19GQUxTRTsKLSsgICAgICBfc29saWRBbGxv d2VkID0gdHJ1ZTsKLSAgICAgICByZXR1cm4gU19PSzsKLSAgICAgfQotICAgICBpZiAoIVJlYWRU YWJsZXMoKSkKLUBAIC0zODYsNiArMzkyLDkgQEAgSFJFU1VMVCBDRGVjb2Rlcjo6Q29kZVJlYWwo SVNlcXVlbnRpYWxJblN0cmVhbSAqaW5TdHJlYW0sIElTZXF1ZW50aWFsT3V0U3RyZWFtICoKLSAK LSAgIGlmICghUmVhZExhc3RUYWJsZXMoKSkKLSAgICAgcmV0dXJuIFNfRkFMU0U7Ci0rCi0rICBf c29saWRBbGxvd2VkID0gdHJ1ZTsKLSsKLSAgIHJldHVybiBtX091dFdpbmRvd1N0cmVhbS5GbHVz aCgpOwotIH0KLSAKLUBAIC00MDIsNyArNDExLDcgQEAgU1RETUVUSE9ESU1QIENEZWNvZGVyOjpT ZXREZWNvZGVyUHJvcGVydGllczIoY29uc3QgQnl0ZSAqZGF0YSwgVUludDMyIHNpemUpCi0gewot ICAgaWYgKHNpemUgPCAxKQotICAgICByZXR1cm4gRV9JTlZBTElEQVJHOwotLSAgbV9Jc1NvbGlk ID0gKChkYXRhWzBdICYgMSkgIT0gMCk7Ci0rICBfaXNTb2xpZCA9ICgoZGF0YVswXSAmIDEpICE9 IDApOwotICAgcmV0dXJuIFNfT0s7Ci0gfQotIAotZGlmZiAtLWdpdCBhL0NQUC83emlwL0NvbXBy ZXNzL1JhcjJEZWNvZGVyLmggYi9DUFAvN3ppcC9Db21wcmVzcy9SYXIyRGVjb2Rlci5oCi1pbmRl eCAwZTkwMDVmLi4zNzBiY2UyIDEwMDY0NAotLS0tIGEvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyMkRl Y29kZXIuaAotKysrIGIvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyMkRlY29kZXIuaAotQEAgLTEzOCw3 ICsxMzgsOCBAQCBjbGFzcyBDRGVjb2RlciA6Ci0gICBCeXRlIG1fTGFzdExldmVsc1trTWF4VGFi bGVTaXplXTsKLSAKLSAgIFVJbnQ2NCBtX1BhY2tTaXplOwotLSAgYm9vbCBtX0lzU29saWQ7Ci0r ICBib29sIF9pc1NvbGlkOwotKyAgYm9vbCBfc29saWRBbGxvd2VkOwotICAgYm9vbCBtX1RhYmxl c09LOwotIAotICAgdm9pZCBJbml0U3RydWN0dXJlcygpOwotZGlmZiAtLWdpdCBhL0NQUC83emlw L0NvbXByZXNzL1JhcjNEZWNvZGVyLmNwcCBiL0NQUC83emlwL0NvbXByZXNzL1JhcjNEZWNvZGVy LmNwcAotaW5kZXggNmNiOGE2YS4uN2I4NTgzMyAxMDA2NDQKLS0tLSBhL0NQUC83emlwL0NvbXBy ZXNzL1JhcjNEZWNvZGVyLmNwcAotKysrIGIvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyM0RlY29kZXIu Y3BwCi1AQCAtOTIsNyArOTIsOCBAQCBDRGVjb2Rlcjo6Q0RlY29kZXIoKToKLSAgIF93cml0dGVu RmlsZVNpemUoMCksCi0gICBfdm1EYXRhKDApLAotICAgX3ZtQ29kZSgwKSwKLS0gIG1fSXNTb2xp ZChmYWxzZSksCi0rICBfaXNTb2xpZChmYWxzZSksCi0rICBfc29saWRBbGxvd2VkKGZhbHNlKSwK LSAgIF9lcnJvck1vZGUoZmFsc2UpCi0gewotICAgUHBtZDdfQ29uc3RydWN0KCZfcHBtZCk7Ci1A QCAtODIxLDcgKzgyMiw3IEBAIEhSRVNVTFQgQ0RlY29kZXI6OkNvZGVSZWFsKElDb21wcmVzc1By b2dyZXNzSW5mbyAqcHJvZ3Jlc3MpCi0gewotICAgX3dyaXR0ZW5GaWxlU2l6ZSA9IDA7Ci0gICBf dW5zdXBwb3J0ZWRGaWx0ZXIgPSBmYWxzZTsKLS0gIGlmICghbV9Jc1NvbGlkKQotKyAgaWYgKCFf aXNTb2xpZCkKLSAgIHsKLSAgICAgX2x6U2l6ZSA9IDA7Ci0gICAgIF93aW5Qb3MgPSAwOwotQEAg LTg0MCwxMiArODQxLDE1IEBAIEhSRVNVTFQgQ0RlY29kZXI6OkNvZGVSZWFsKElDb21wcmVzc1By b2dyZXNzSW5mbyAqcHJvZ3Jlc3MpCi0gICBpZiAoX2Vycm9yTW9kZSkKLSAgICAgcmV0dXJuIFNf RkFMU0U7Ci0gCi0tICBpZiAoIW1fSXNTb2xpZCB8fCAhVGFibGVzUmVhZCkKLSsgIGlmICghX2lz U29saWQgfHwgIVRhYmxlc1JlYWQpCi0gICB7Ci0gICAgIGJvb2wga2VlcERlY29tcHJlc3Npbmc7 Ci0gICAgIFJJTk9LKFJlYWRUYWJsZXMoa2VlcERlY29tcHJlc3NpbmcpKTsKLSAgICAgaWYgKCFr ZWVwRGVjb21wcmVzc2luZykKLSsgICAgewotKyAgICAgIF9zb2xpZEFsbG93ZWQgPSB0cnVlOwot ICAgICAgIHJldHVybiBTX09LOwotKyAgICB9Ci0gICB9Ci0gCi0gICBmb3IgKDs7KQotQEAgLTg3 MCw2ICs4NzQsOSBAQCBIUkVTVUxUIENEZWNvZGVyOjpDb2RlUmVhbChJQ29tcHJlc3NQcm9ncmVz c0luZm8gKnByb2dyZXNzKQotICAgICBpZiAoIWtlZXBEZWNvbXByZXNzaW5nKQotICAgICAgIGJy ZWFrOwotICAgfQotKwotKyAgX3NvbGlkQWxsb3dlZCA9IHRydWU7Ci0rCi0gICBSSU5PSyhXcml0 ZUJ1ZigpKTsKLSAgIFVJbnQ2NCBwYWNrU2l6ZSA9IG1fSW5CaXRTdHJlYW0uQml0RGVjb2Rlci5H ZXRQcm9jZXNzZWRTaXplKCk7Ci0gICBSSU5PSyhwcm9ncmVzcy0+U2V0UmF0aW9JbmZvKCZwYWNr U2l6ZSwgJl93cml0dGVuRmlsZVNpemUpKTsKLUBAIC04OTAsNiArODk3LDEwIEBAIFNURE1FVEhP RElNUCBDRGVjb2Rlcjo6Q29kZShJU2VxdWVudGlhbEluU3RyZWFtICppblN0cmVhbSwgSVNlcXVl bnRpYWxPdXRTdHJlYW0KLSAgICAgaWYgKCFpblNpemUpCi0gICAgICAgcmV0dXJuIEVfSU5WQUxJ REFSRzsKLSAKLSsgICAgaWYgKF9pc1NvbGlkICYmICFfc29saWRBbGxvd2VkKQotKyAgICAgIHJl dHVybiBTX0ZBTFNFOwotKyAgICBfc29saWRBbGxvd2VkID0gZmFsc2U7Ci0rCi0gICAgIGlmICgh X3ZtRGF0YSkKLSAgICAgewotICAgICAgIF92bURhdGEgPSAoQnl0ZSAqKTo6TWlkQWxsb2Moa1Zt RGF0YVNpemVNYXggKyBrVm1Db2RlU2l6ZU1heCk7Ci1AQCAtOTI4LDcgKzkzOSw3IEBAIFNURE1F VEhPRElNUCBDRGVjb2Rlcjo6U2V0RGVjb2RlclByb3BlcnRpZXMyKGNvbnN0IEJ5dGUgKmRhdGEs IFVJbnQzMiBzaXplKQotIHsKLSAgIGlmIChzaXplIDwgMSkKLSAgICAgcmV0dXJuIEVfSU5WQUxJ REFSRzsKLS0gIG1fSXNTb2xpZCA9ICgoZGF0YVswXSAmIDEpICE9IDApOwotKyAgX2lzU29saWQg PSAoKGRhdGFbMF0gJiAxKSAhPSAwKTsKLSAgIHJldHVybiBTX09LOwotIH0KLSAKLWRpZmYgLS1n aXQgYS9DUFAvN3ppcC9Db21wcmVzcy9SYXIzRGVjb2Rlci5oIGIvQ1BQLzd6aXAvQ29tcHJlc3Mv UmFyM0RlY29kZXIuaAotaW5kZXggMmY3MmQ3ZC4uMzJjODk0MyAxMDA2NDQKLS0tLSBhL0NQUC83 emlwL0NvbXByZXNzL1JhcjNEZWNvZGVyLmgKLSsrKyBiL0NQUC83emlwL0NvbXByZXNzL1JhcjNE ZWNvZGVyLmgKLUBAIC0xOTEsNyArMTkxLDggQEAgY2xhc3MgQ0RlY29kZXI6Ci0gICBDUmVjb3Jk VmVjdG9yPENUZW1wRmlsdGVyICo+ICBfdGVtcEZpbHRlcnM7Ci0gICBVSW50MzIgX2xhc3RGaWx0 ZXI7Ci0gCi0tICBib29sIG1fSXNTb2xpZDsKLSsgIGJvb2wgX2lzU29saWQ7Ci0rICBib29sIF9z b2xpZEFsbG93ZWQ7Ci0gICBib29sIF9lcnJvck1vZGU7Ci0gCi0gICBib29sIF9sek1vZGU7Ci1k aWZmIC0tZ2l0IGEvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyNURlY29kZXIuY3BwIGIvQ1BQLzd6aXAv Q29tcHJlc3MvUmFyNURlY29kZXIuY3BwCi1pbmRleCBkYzg4MzBmLi5hODI2ZDVhIDEwMDY0NAot LS0tIGEvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyNURlY29kZXIuY3BwCi0rKysgYi9DUFAvN3ppcC9D b21wcmVzcy9SYXI1RGVjb2Rlci5jcHAKLUBAIC03Miw2ICs3Miw3IEBAIENEZWNvZGVyOjpDRGVj b2RlcigpOgotICAgICBfd3JpdHRlbkZpbGVTaXplKDApLAotICAgICBfZGljdFNpemVMb2coMCks Ci0gICAgIF9pc1NvbGlkKGZhbHNlKSwKLSsgICAgX3NvbGlkQWxsb3dlZChmYWxzZSksCi0gICAg IF93YXNJbml0KGZhbHNlKSwKLSAgICAgX2lucHV0QnVmKE5VTEwpCi0gewotQEAgLTgwMSw3ICs4 MDIsMTAgQEAgSFJFU1VMVCBDRGVjb2Rlcjo6Q29kZVJlYWwoKQotICAgKi8KLSAKLSAgIGlmIChy ZXMgPT0gU19PSykKLSsgIHsKLSsgICAgX3NvbGlkQWxsb3dlZCA9IHRydWU7Ci0gICAgIHJlcyA9 IHJlczI7Ci0rICB9Ci0gICAgICAKLSAgIGlmIChyZXMgPT0gU19PSyAmJiBfdW5wYWNrU2l6ZV9E ZWZpbmVkICYmIF93cml0dGVuRmlsZVNpemUgIT0gX3VucGFja1NpemUpCi0gICAgIHJldHVybiBT X0ZBTFNFOwotQEAgLTgyMSw2ICs4MjUsMTAgQEAgU1RETUVUSE9ESU1QIENEZWNvZGVyOjpDb2Rl KElTZXF1ZW50aWFsSW5TdHJlYW0gKmluU3RyZWFtLCBJU2VxdWVudGlhbE91dFN0cmVhbQotIHsK LSAgIHRyeQotICAgewotKyAgICBpZiAoX2lzU29saWQgJiYgIV9zb2xpZEFsbG93ZWQpCi0rICAg ICAgcmV0dXJuIFNfRkFMU0U7Ci0rICAgIF9zb2xpZEFsbG93ZWQgPSBmYWxzZTsKLSsKLSAgICAg aWYgKF9kaWN0U2l6ZUxvZyA+PSBzaXplb2Yoc2l6ZV90KSAqIDgpCi0gICAgICAgcmV0dXJuIEVf Tk9USU1QTDsKLSAKLWRpZmYgLS1naXQgYS9DUFAvN3ppcC9Db21wcmVzcy9SYXI1RGVjb2Rlci5o IGIvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyNURlY29kZXIuaAotaW5kZXggYjBhNGRkMS4uM2RiNTAx OCAxMDA2NDQKLS0tLSBhL0NQUC83emlwL0NvbXByZXNzL1JhcjVEZWNvZGVyLmgKLSsrKyBiL0NQ UC83emlwL0NvbXByZXNzL1JhcjVEZWNvZGVyLmgKLUBAIC0yNzEsNiArMjcxLDcgQEAgY2xhc3Mg Q0RlY29kZXI6Ci0gICBCeXRlIF9kaWN0U2l6ZUxvZzsKLSAgIGJvb2wgX3RhYmxlV2FzRmlsbGVk OwotICAgYm9vbCBfaXNTb2xpZDsKLSsgIGJvb2wgX3NvbGlkQWxsb3dlZDsKLSAgIGJvb2wgX3dh c0luaXQ7Ci0gCi0gICBVSW50MzIgX3JlcHNba051bVJlcHNdOwpkaWZmIC0tZ2l0IGEvc3JjcGtn cy9wN3ppcC9wYXRjaGVzL0NWRS0yMDE2LTkyOTYucGF0Y2ggYi9zcmNwa2dzL3A3emlwL3BhdGNo ZXMvQ1ZFLTIwMTYtOTI5Ni5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmJi YjMzNzczN2U1Li4wMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9wN3ppcC9wYXRjaGVzL0NWRS0y MDE2LTkyOTYucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxMiArMCwwIEBACi0tLS0gYS9DUFAv N3ppcC9BcmNoaXZlLzd6Lzd6SW4uY3BwCVN1biBOb3YgMjAgMDk6Mjk6NDEgMjAxNgotKysrIGIv Q1BQLzd6aXAvQXJjaGl2ZS83ei83ekluLmNwcAlTdW4gTm92IDIwIDA5OjMxOjIyIDIwMTYKLUBA IC0xMDk3LDcgKzEwOTcsOCBAQCBIUkVTVUxUIENJbkFyY2hpdmU6OlJlYWRBbmREZWNvZGVQYWNr ZWRTdHJlYW1zKAotICAgICAgIGlmIChDcmNDYWxjKGRhdGEsIHVucGFja1NpemUpICE9IGZvbGRl cnMuRm9sZGVyQ1JDcy5WYWxzW2ldKQotICAgICAgICAgVGhyb3dJbmNvcnJlY3QoKTsKLSAgIH0K LS0gIEhlYWRlcnNTaXplICs9IGZvbGRlcnMuUGFja1Bvc2l0aW9uc1tmb2xkZXJzLk51bVBhY2tT dHJlYW1zXTsKLSsgIGlmIChmb2xkZXJzLlBhY2tQb3NpdGlvbnMpCi0rICAgICAgSGVhZGVyc1Np emUgKz0gZm9sZGVycy5QYWNrUG9zaXRpb25zW2ZvbGRlcnMuTnVtUGFja1N0cmVhbXNdOwotICAg cmV0dXJuIFNfT0s7Ci0gfQotIApkaWZmIC0tZ2l0IGEvc3JjcGtncy9wN3ppcC9wYXRjaGVzL0NW RS0yMDE3LTE3OTY5LnBhdGNoIGIvc3JjcGtncy9wN3ppcC9wYXRjaGVzL0NWRS0yMDE3LTE3OTY5 LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5YTgyMGFmNzMwNjcuLjAwMDAw MDAwMDAwMAotLS0gYS9zcmNwa2dzL3A3emlwL3BhdGNoZXMvQ1ZFLTIwMTctMTc5NjkucGF0Y2gK KysrIC9kZXYvbnVsbApAQCAtMSwyNiArMCwwIEBACi1Gcm9tOiA9P3V0Zi04P3E/QW50b2luZV9C ZWF1cHI9QzM9QTk/PSA8YW5hcmNhdEBkZWJpYW4ub3JnPgotRGF0ZTogU3VuLCAyOCBKYW4gMjAx OCAyMToxOTo1MCArMDEwMAotU3ViamVjdDogYmFja3BvcnQgb2YgdGhlIENWRS0yMDE3LTE3OTY5 IGZpeCBmcm9tIDd6aXAgMTguMDAtYmV0YQotCi0tLS0KLSBDUFAvN3ppcC9Db21wcmVzcy9TaHJp bmtEZWNvZGVyLmNwcCB8IDcgKysrKysrLQotIDEgZmlsZSBjaGFuZ2VkLCA2IGluc2VydGlvbnMo KyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL0NQUC83emlwL0NvbXByZXNzL1Nocmlu a0RlY29kZXIuY3BwIGIvQ1BQLzd6aXAvQ29tcHJlc3MvU2hyaW5rRGVjb2Rlci5jcHAKLWluZGV4 IDgwYjdlNjcuLjRhY2RjZTUgMTAwNjQ0Ci0tLS0gYS9DUFAvN3ppcC9Db21wcmVzcy9TaHJpbmtE ZWNvZGVyLmNwcAotKysrIGIvQ1BQLzd6aXAvQ29tcHJlc3MvU2hyaW5rRGVjb2Rlci5jcHAKLUBA IC0xMjEsNyArMTIxLDEyIEBAIEhSRVNVTFQgQ0RlY29kZXI6OkNvZGVSZWFsKElTZXF1ZW50aWFs SW5TdHJlYW0gKmluU3RyZWFtLCBJU2VxdWVudGlhbE91dFN0cmVhbSAqCi0gICAgIHsKLSAgICAg ICBfc3RhY2tbaSsrXSA9IF9zdWZmaXhlc1tjdXJdOwotICAgICAgIGN1ciA9IF9wYXJlbnRzW2N1 cl07Ci0tICAgIH0KLSsgICAgICBpZiAoaSA+PSBrTnVtSXRlbXMpCi0rICAgICAgICBicmVhazsK LSsgICAgIH0KLSsKLSsgICAgaWYgKGkgPj0ga051bUl0ZW1zKQotKyAgICAgIGJyZWFrOwotICAg ICAKLSAgICAgX3N0YWNrW2krK10gPSAoQnl0ZSljdXI7Ci0gICAgIGxhc3RDaGFyMiA9IChCeXRl KWN1cjsKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcDd6aXAvdGVtcGxhdGUgYi9zcmNwa2dzL3A3emlw L3RlbXBsYXRlCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2NDJlMjRhZGFmNTIuLjAw MDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL3A3emlwL3RlbXBsYXRlCisrKyAvZGV2L251bGwKQEAg LTEsNDcgKzAsMCBAQAotIyBUZW1wbGF0ZSBmaWxlIGZvciAncDd6aXAnCi1wa2duYW1lPXA3emlw Ci12ZXJzaW9uPTE2LjAyCi1yZXZpc2lvbj01Ci13cmtzcmM9IiR7cGtnbmFtZX1fJHt2ZXJzaW9u fSIKLWhvc3RtYWtlZGVwZW5kcz0ieWFzbSBuYXNtIgotc2hvcnRfZGVzYz0iQ29tbWFuZC1saW5l IHZlcnNpb24gb2YgdGhlIDd6aXAgY29tcHJlc3NlZCBmaWxlIGFyY2hpdmUiCi1tYWludGFpbmVy PSJPcnBoYW5lZCA8b3JwaGFuQHZvaWRsaW51eC5vcmc+IgotbGljZW5zZT0iTEdQTC0yLjEtb3It bGF0ZXIiCi1ob21lcGFnZT0iaHR0cDovL3A3emlwLnNvdXJjZWZvcmdlLm5ldC8iCi1kaXN0Zmls ZXM9IiR7U09VUkNFRk9SR0VfU0lURX0vJHtwa2duYW1lfS8ke3BrZ25hbWV9XyR7dmVyc2lvbn1f c3JjX2FsbC50YXIuYnoyIgotY2hlY2tzdW09NWViMjBhYzBlMjk0NGY2Y2I5YzJkNTFkZDZjNDUx ODk0MWMxODUzNDdkNDA4OWVhODkwODdmZmRkNmUyMzQxZgotCi1DWFhGTEFHUz0iLVduby1uYXJy b3dpbmciCi0KLWRvX2NvbmZpZ3VyZSgpIHsKLQljYXNlICIkWEJQU19UQVJHRVRfTUFDSElORSIg aW4KLQkJaTY4NiopIGNwIG1ha2VmaWxlLmxpbnV4X3g4Nl9hc21fZ2NjXzQuWCBtYWtlZmlsZS5t YWNoaW5lOzsKLQkJeDg2XzY0KikgY3AgbWFrZWZpbGUubGludXhfYW1kNjRfYXNtIG1ha2VmaWxl Lm1hY2hpbmU7OwotCQkqKSBjcCBtYWtlZmlsZS5saW51eF9hbnlfY3B1X2djY180LlggbWFrZWZp bGUubWFjaGluZTs7Ci0JZXNhYwotCXNlZCAtZSAicyxnKyssJHtDWFh9LCIgLWkgbWFrZWZpbGUu bWFjaGluZQotCXNlZCAtZSAicyxnY2MsJHtDQ30sIiAtaSBtYWtlZmlsZS5tYWNoaW5lCi19Ci1k b19idWlsZCgpIHsKLQltYWtlIGFsbDMgT1BURkxBR1M9IiRDWFhGTEFHUyIgJHttYWtlam9ic30K LX0KLWRvX2luc3RhbGwoKSB7Ci0JbWFrZSBpbnN0YWxsIERFU1RfRElSPSIke0RFU1RESVJ9IiBE RVNUX0hPTUU9Ii91c3IiIFwKLQkJREVTVF9NQU49Ii91c3Ivc2hhcmUvbWFuIiBcCi0JCURFU1Rf U0hBUkVfRE9DPSIvdXNyL3NoYXJlL2RvYy8ke3BrZ25hbWV9IgotCWZpbmQgJHtERVNURElSfS91 c3Ivc2hhcmUvZG9jLyRwa2duYW1lIC10eXBlIGQgLWV4ZWMgY2htb2QgNzU1IHt9IFw7Ci0JbWtk aXIgLXAgJHtERVNURElSfS91c3Ivc2hhcmUvbGljZW5zZXMvcDd6aXAvCi0JbXYgJHtERVNURElS fS91c3Ivc2hhcmUvZG9jL3A3emlwL0RPQy9jb3B5aW5nLnR4dCBcCi0JICAgJHtERVNURElSfS91 c3Ivc2hhcmUvbGljZW5zZXMvcDd6aXAvTElDRU5TRQotfQotCi1wN3ppcC11bnJhcl9wYWNrYWdl KCkgewotCXNob3J0X2Rlc2MrPSIgLSBSQVIgc3VwcG9ydCIKLQlsaWNlbnNlPSJjdXN0b206ZnJl ZXdhcmUiCi0JZGVwZW5kcz0iJHtzb3VyY2Vwa2d9LSR7dmVyc2lvbn1fJHtyZXZpc2lvbn0iCi0J cmVwb3NpdG9yeT1ub25mcmVlCi0JcGtnX2luc3RhbGwoKSB7Ci0JCXZtb3ZlIHVzci9saWIvcDd6 aXAvQ29kZWNzL1Jhci5zbwotCQl2bGljZW5zZSBET0MvdW5SYXJMaWNlbnNlLnR4dCBMSUNFTlNF Ci0JfQotfQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9wN3ppcC91cGRhdGUgYi9zcmNwa2dzL3A3emlw L3VwZGF0ZQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODRlZDQ2ZDc0YTFhLi4wMDAw MDAwMDAwMDAKLS0tIGEvc3JjcGtncy9wN3ppcC91cGRhdGUKKysrIC9kZXYvbnVsbApAQCAtMSAr MCwwIEBACi1wYXR0ZXJuPSdwN3ppcF9cS1suXGRdKycK --===============2926098628439404970==--