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 19204 invoked from network); 29 Aug 2022 12:58:22 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 29 Aug 2022 12:58:22 -0000 Content-Type: multipart/mixed; boundary="===============7569822362785081116==" MIME-Version: 1.0 Subject: =?utf8?q?Re=3A_=5BPR_PATCH=5D_=5BUpdated=5D_New_package=3A_7zip-22=2E01?= To: ml@inbox.vuxu.org From: r-ricci Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Mon, 29 Aug 2022 14:58:22 +0200 List-Id: Message-ID: <20220829125822.5t3bm5n2aqTbULeNLd4IaH0fdxuNj8uSjhC2IeWX1dw@z> GitHub notification mails are now in MIME to allow UTF8. --===============7569822362785081116== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgci1yaWNjaSBhZ2FpbnN0IG1hc3Rl ciBvbiB0aGUgdm9pZC1wYWNrYWdlcyByZXBvc2l0b3J5CgpodHRwczovL2dpdGh1Yi5jb20vci1y aWNjaS92b2lkLXBhY2thZ2VzIDd6aXAKaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGludXgvdm9p ZC1wYWNrYWdlcy9wdWxsLzM3OTQwCgpOZXcgcGFja2FnZTogN3ppcC0yMi4wMQo8IS0tIFVuY29t bWVudCByZWxldmFudCBzZWN0aW9ucyBhbmQgZGVsZXRlIG9wdGlvbnMgd2hpY2ggYXJlIG5vdCBh cHBsaWNhYmxlIC0tPg0KDQojIyMjIFRlc3RpbmcgdGhlIGNoYW5nZXMNCi0gSSB0ZXN0ZWQgdGhl IGNoYW5nZXMgaW4gdGhpcyBQUjogKipicmllZmx5KioNCg0KPCEtLQ0KIyMjIyBOZXcgcGFja2Fn ZQ0KLSBUaGlzIG5ldyBwYWNrYWdlIGNvbmZvcm1zIHRvIHRoZSBbcXVhbGl0eSByZXF1aXJlbWVu dHNdKGh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQtcGFja2FnZXMvYmxvYi9tYXN0 ZXIvTWFudWFsLm1kI3F1YWxpdHktcmVxdWlyZW1lbnRzKTogKipZRVMqKnwqKk5PKioNCi0tPg0K DQo8IS0tIE5vdGU6IElmIHRoZSBidWlsZCBpcyBsaWtlbHkgdG8gdGFrZSBtb3JlIHRoYW4gMiBo b3VycywgcGxlYXNlIGFkZCBjaSBza2lwIHRhZyBhcyBkZXNjcmliZWQgaW4NCmh0dHBzOi8vZ2l0 aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQtcGFja2FnZXMvYmxvYi9tYXN0ZXIvQ09OVFJJQlVUSU5H Lm1kI2NvbnRpbnVvdXMtaW50ZWdyYXRpb24NCmFuZCB0ZXN0IGF0IGxlYXN0IG9uZSBuYXRpdmUg YnVpbGQgYW5kLCBpZiBzdXBwb3J0ZWQsIGF0IGxlYXN0IG9uZSBjcm9zcyBidWlsZC4NCklnbm9y ZSB0aGlzIHNlY3Rpb24gaWYgdGhpcyBQUiBpcyBub3Qgc2tpcHBpbmcgQ0kuDQotLT4NCjwhLS0N CiMjIyMgTG9jYWwgYnVpbGQgdGVzdGluZw0KLSBJIGJ1aWx0IHRoaXMgUFIgbG9jYWxseSBmb3Ig bXkgbmF0aXZlIGFyY2hpdGVjdHVyZSwgKEFSQ0gtTElCQykNCi0gSSBidWlsdCB0aGlzIFBSIGxv Y2FsbHkgZm9yIHRoZXNlIGFyY2hpdGVjdHVyZXMgKGlmIHN1cHBvcnRlZC4gbWFyayBjcm9zc2J1 aWxkcyk6DQogIC0gYWFyY2g2NC1tdXNsDQogIC0gYXJtdjdsDQogIC0gYXJtdjZsLW11c2wNCi0t Pg0KDQpJIGRvbid0IHRoaW5rIHRoZXJlJ3MgYW55IHJlYXNvbiB0byBzaGlwIHRoZSBmdWxsIGFu ZCB0aGUgcmVkdWNlZCB2ZXJzaW9ucyBpbiB0aGUgc2FtZSBwYWNrYWdlLCBzbyBJIGp1c3QgY29t cGlsZSB0aGUgZnVsbCBvbmUgYW5kIGNyZWF0ZSBzeW1saW5rcyBmb3IgY29tcGF0aWJpbGl0eS4N Cg0KIyMjIyBUT0RPOg0KDQotIFt4XSBmaXggbXVzbA0KLSBbIF0gfmJ1aWxkIHdpdGggYXNzZW1i bHkgd2hlcmUgcG9zc2libGU6IG9uIGk2ODYgYW5kIHg4Nl82NCogaXQgcmVxdWlyZXMgYGFzbWNg IG9yIGBqd2FzbWAvYHVhc21gIGFzc2VtYmxlcnMsIG5vbmUgb2Ygd2hpY2ggYXJlIHBhY2thZ2Vk fg0KLSBbeF0gYnVpbGQgYSB2ZXJzaW9uIHdpdGggUkFSIHN1cHBvcnQgKG5vbmZyZWUgcmVwbykN Ci0gW3hdIHVzZSBvdXIgY29tcGlsZSBhbmQgbGluayBmbGFncw0KLSBbeF0gdGVzdCBwYWNrYWdl cyB0aGF0IGRlcGVuZCBvbiBgcDd6aXBgIGF0IGJ1aWxkL2NoZWNrIHRpbWU6IFNMQURFLCBaODBF eHBsb3JlciwgYXJrLCBjYnAybWFrZS4gKEkganVzdCB0ZXN0ZWQgdGhhdCB0aGV5IHN0aWxsIGJ1 aWxkKQ0KLSB0ZXN0IHBhY2thZ2VzIHRoYXQgZGVwZW5kIG9uIGBwN3ppcGAgYXQgcnVuIHRpbWU6 DQogICAgLSBbIF0ganVsaWENCiAgICAtIFsgXSBsdXRyaXMNCiAgICAtIFsgXSBtdWx0aWJvb3R1 c2INCiAgICAtIFsgXSBwbGF5b25saW51eA0KDQpjbG9zZXMgIzM3ODc1CgpBIHBhdGNoIGZpbGUg ZnJvbSBodHRwczovL2dpdGh1Yi5jb20vdm9pZC1saW51eC92b2lkLXBhY2thZ2VzL3B1bGwvMzc5 NDAucGF0Y2ggaXMgYXR0YWNoZWQ= --===============7569822362785081116== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-7zip-37940.patch" RnJvbSAxOTIwNjU0ZjE2NzQxN2Y0OWZiZjdmNjVkNWQ3YzkzOTJkNzI4YmU4IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBSb2JlcnRvIFJpY2NpIDxyaWNjaUBkaXNyb290Lm9yZz4KRGF0 ZTogU2F0LCA5IEp1bCAyMDIyIDEyOjA1OjIyICswMjAwClN1YmplY3Q6IFtQQVRDSCAxLzJdIE5l dyBwYWNrYWdlOiA3emlwLTIyLjAxCgotLS0KIHNyY3BrZ3MvN3ppcC11bnJhciAgICAgICAgICAg ICAgICAgICAgICAgICAgICB8ICAgMSArCiBzcmNwa2dzLzd6aXAvcDd6aXAtdW5yYXIuSU5TVEFM TC5tc2cgICAgICAgICAgfCAgIDUgKwogc3JjcGtncy83emlwL3BhdGNoZXMvYnVpbGRfZmxhZ3Mu cGF0Y2ggICAgICAgIHwgIDMwICsrCiBzcmNwa2dzLzd6aXAvdGVtcGxhdGUgICAgICAgICAgICAg ICAgICAgICAgICAgfCAgNzMgKysrKwogc3JjcGtncy83emlwL3VwZGF0ZSAgICAgICAgICAgICAg ICAgICAgICAgICAgIHwgICAyICsKIHNyY3BrZ3MvcDd6aXAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB8ICAgMSArCiBzcmNwa2dzL3A3emlwLXVucmFyICAgICAgICAgICAgICAgICAg ICAgICAgICAgfCAgIDIgKy0KIHNyY3BrZ3MvcDd6aXAvcGF0Y2hlcy8yMC1DVkUtMjAxOC01OTk2 LnBhdGNoICB8IDIyMSAtLS0tLS0tLS0tLS0tCiBzcmNwa2dzL3A3emlwL3BhdGNoZXMvMzAtQ1ZF LTIwMTgtMTAxMTUucGF0Y2ggfCAzMTEgLS0tLS0tLS0tLS0tLS0tLS0tCiBzcmNwa2dzL3A3emlw L3BhdGNoZXMvQ1ZFLTIwMTYtOTI5Ni5wYXRjaCAgICAgfCAgMTIgLQogc3JjcGtncy9wN3ppcC9w YXRjaGVzL0NWRS0yMDE3LTE3OTY5LnBhdGNoICAgIHwgIDI2IC0tCiBzcmNwa2dzL3A3emlwL3Rl bXBsYXRlICAgICAgICAgICAgICAgICAgICAgICAgfCAgNDcgLS0tCiBzcmNwa2dzL3A3emlwL3Vw ZGF0ZSAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDEgLQogMTMgZmlsZXMgY2hhbmdlZCwg MTEzIGluc2VydGlvbnMoKyksIDYxOSBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEyMDAwMCBz cmNwa2dzLzd6aXAtdW5yYXIKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzLzd6aXAvcDd6aXAt dW5yYXIuSU5TVEFMTC5tc2cKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzLzd6aXAvcGF0Y2hl cy9idWlsZF9mbGFncy5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvN3ppcC90ZW1w bGF0ZQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvN3ppcC91cGRhdGUKIGNyZWF0ZSBtb2Rl IDEyMDAwMCBzcmNwa2dzL3A3emlwCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9wN3ppcC9w YXRjaGVzLzIwLUNWRS0yMDE4LTU5OTYucGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dz L3A3emlwL3BhdGNoZXMvMzAtQ1ZFLTIwMTgtMTAxMTUucGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0 NCBzcmNwa2dzL3A3emlwL3BhdGNoZXMvQ1ZFLTIwMTYtOTI5Ni5wYXRjaAogZGVsZXRlIG1vZGUg MTAwNjQ0IHNyY3BrZ3MvcDd6aXAvcGF0Y2hlcy9DVkUtMjAxNy0xNzk2OS5wYXRjaAogZGVsZXRl IG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcDd6aXAvdGVtcGxhdGUKIGRlbGV0ZSBtb2RlIDEwMDY0NCBz cmNwa2dzL3A3emlwL3VwZGF0ZQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvN3ppcC11bnJhciBiL3Ny Y3BrZ3MvN3ppcC11bnJhcgpuZXcgZmlsZSBtb2RlIDEyMDAwMAppbmRleCAwMDAwMDAwMDAwMDAu LjI4NDMxMjU5NWE0YwotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvN3ppcC11bnJhcgpAQCAt MCwwICsxIEBACis3emlwClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv c3JjcGtncy83emlwL3A3emlwLXVucmFyLklOU1RBTEwubXNnIGIvc3JjcGtncy83emlwL3A3emlw LXVucmFyLklOU1RBTEwubXNnCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw MC4uNzc1Zjk0M2MwYTU2Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy83emlwL3A3emlwLXVu cmFyLklOU1RBTEwubXNnCkBAIC0wLDAgKzEsNSBAQAorVGhlIHA3emlwLXVucmFyIHBhY2thZ2Ug aGFzIGJlZW4gcmVwbGFjZWQgYnkgN3ppcC11bnJhci4KK1RvIHVzZSB0aGUgUkFSLWVuYWJsZWQg dmVyc2lvbiBvZiBgN3pgLCBtYWtlIHN1cmUgdGhlIGRlc2lyZWQKK2FsdGVybmF0aXZlIGlzIGNv bmZpZ3VyZWQ6CisKKwkjIHhicHMtYWx0ZXJuYXRpdmVzIC1zIDd6aXAtdW5yYXIKZGlmZiAtLWdp dCBhL3NyY3BrZ3MvN3ppcC9wYXRjaGVzL2J1aWxkX2ZsYWdzLnBhdGNoIGIvc3JjcGtncy83emlw L3BhdGNoZXMvYnVpbGRfZmxhZ3MucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw MDAwMDAwMDAwLi40Zjc5MWZmNjNkZGYKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzLzd6aXAv cGF0Y2hlcy9idWlsZF9mbGFncy5wYXRjaApAQCAtMCwwICsxLDMwIEBACithcHBlbmQgKGRvbid0 IHByZWZpeCkgeGJwcyBidWlsZCBmbGFncyBhbmQgZG9uJ3Qgc3RyaXAgdGhlIGV4ZWN1dGFibGUK Ky0tLSBhL0NQUC83emlwLzd6aXBfZ2NjLm1haworKysrIGIvQ1BQLzd6aXAvN3ppcF9nY2MubWFr CitAQCAtMTI2LDcgKzEyNiw3IEBAIGVuZGlmCisgDQorIA0KKyANCistQ0ZMQUdTID0gJChNWV9B UkNIXzIpICQoTE9DQUxfRkxBR1MpICQoQ0ZMQUdTX0JBU0UyKSAkKENGTEFHU19CQVNFKSAkKEND X1NIQVJFRCkgLW8gJEANCisrQ0ZMQUdTID0gJChNWV9BUkNIXzIpICQoTE9DQUxfRkxBR1MpICQo Q0ZMQUdTX0JBU0UyKSAkKENGTEFHU19CQVNFKSAkKENDX1NIQVJFRCkgJChYQlBTX0NGTEFHUykg LW8gJEANCisgDQorIA0KKyBpZmRlZiBJU19NSU5HVw0KK0BAIC0xNTQsNyArMTU0LDcgQEAgQ1hY X1dBUk5fRkxBR1MgPQorICMtV25vLWludmFsaWQtb2Zmc2V0b2YNCisgIy1Xbm8tcmVvcmRlcg0K KyANCistQ1hYRkxBR1MgPSAkKE1ZX0FSQ0hfMikgJChMT0NBTF9GTEFHUykgJChDWFhGTEFHU19C QVNFMikgJChDRkxBR1NfQkFTRSkgJChDWFhGTEFHU19FWFRSQSkgJChDQ19TSEFSRUQpIC1vICRA ICQoQ1hYX1dBUk5fRkxBR1MpDQorK0NYWEZMQUdTID0gJChNWV9BUkNIXzIpICQoTE9DQUxfRkxB R1MpICQoQ1hYRkxBR1NfQkFTRTIpICQoQ0ZMQUdTX0JBU0UpICQoQ1hYRkxBR1NfRVhUUkEpICQo Q0NfU0hBUkVEKSAtbyAkQCAkKENYWF9XQVJOX0ZMQUdTKSAkKFhCUFNfQ1hYRkxBR1MpDQorIA0K KyBTVEFUSUNfVEFSR0VUPQ0KKyBpZmRlZiBDT01QTF9TVEFUSUMNCitAQCAtMTY3LDcgKzE2Nyw3 IEBAIGFsbDogJChPKSAkKFBST0dQQVRIKSAkKFNUQVRJQ19UQVJHRVQpCisgJChPKToNCisgCSQo TVlfTUtESVIpICQoTykNCisgDQorLUxGTEFHU19BTEwgPSAtcyAkKE1ZX0FSQ0hfMikgJChMREZM QUdTKSAkKExEX2FyY2gpICQoT0JKUykgJChNWV9MSUJTKSAkKExJQjIpDQorK0xGTEFHU19BTEwg PSAkKE1ZX0FSQ0hfMikgJChMREZMQUdTKSAkKExEX2FyY2gpICQoT0JKUykgJChNWV9MSUJTKSAk KExJQjIpICQoWEJQU19MREZMQUdTKQ0KKyAkKFBST0dQQVRIKTogJChPQkpTKQ0KKyAJJChDWFgp IC1vICQoUFJPR1BBVEgpICQoTEZMQUdTX0FMTCkNCisgDQpkaWZmIC0tZ2l0IGEvc3JjcGtncy83 emlwL3RlbXBsYXRlIGIvc3JjcGtncy83emlwL3RlbXBsYXRlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IDAwMDAwMDAwMDAwMC4uNzA2YjBjMWVhNDIyCi0tLSAvZGV2L251bGwKKysrIGIvc3Jj cGtncy83emlwL3RlbXBsYXRlCkBAIC0wLDAgKzEsNzMgQEAKKyMgVGVtcGxhdGUgZmlsZSBmb3Ig Jzd6aXAnCitwa2duYW1lPTd6aXAKK3ZlcnNpb249MjIuMDEKK3JldmlzaW9uPTEKK2NyZWF0ZV93 cmtzcmM9eWVzCitzaG9ydF9kZXNjPSJGaWxlIGFyY2hpdmVyIHdpdGggYSBoaWdoIGNvbXByZXNz aW9uIHJhdGlvIgorbWFpbnRhaW5lcj0iUm9iZXJ0byBSaWNjaSA8cmljY2lAZGlzcm9vdC5vcmc+ IgorbGljZW5zZT0iTEdQTC0yLjEtb3ItbGF0ZXIsIEJTRC0zLUNsYXVzZSIKK2hvbWVwYWdlPSJo dHRwczovL3d3dy43LXppcC5vcmciCitjaGFuZ2Vsb2c9Imh0dHBzOi8vd3d3LjctemlwLm9yZy9o aXN0b3J5LnR4dCIKK2Rpc3RmaWxlcz0iaHR0cHM6Ly93d3cuNy16aXAub3JnL2EvN3oke3ZlcnNp b24vLy4vfS1zcmMudGFyLnh6IgorY2hlY2tzdW09MzkzMDk4NzMwYzcwMDQyMzkyYWY4MDg5MTdl NzY1OTQ1ZGMyNDM3ZGVlN2FhZTNjZmNjNDk2NmViOTIwZmJjNQorYWx0ZXJuYXRpdmVzPSIKKyA3 ejo3ejovdXNyL2Jpbi83emlwCisgN3o6N3phOi91c3IvYmluLzd6aXAKKyA3ejo3enI6L3Vzci9i aW4vN3ppcCIKKworaWYgWyAiJFhCUFNfVEFSR0VUX0xJQkMiID0gbXVzbCBdOyB0aGVuCisJIyBt aXNzaW5nIHB0aHJlYWRfYXR0cl9zZXRhZmZpbml0eV9ucCgpCisJQ0ZMQUdTKz0iLURfN1pJUF9B RkZJTklUWV9ESVNBQkxFIgorCUNYWEZMQUdTKz0iLURfN1pJUF9BRkZJTklUWV9ESVNBQkxFIgor ZmkKKworZG9fYnVpbGQoKSB7CisJY2QgIiR3cmtzcmMiL0NQUC83emlwL0J1bmRsZXMvQWxvbmUy CisKKwljYXNlICIkWEJQU19UQVJHRVRfTUFDSElORSIgaW4KKwlhYXJjaDY0KikgXzd6X21ha2Vm aWxlPSIuLi8uLi9jbXBsX2djY19hcm02NC5tYWsiOzsKKwkqKSAgICAgICAgXzd6X21ha2VmaWxl PSIuLi8uLi9jbXBsX2djYy5tYWsiOzsKKwllc2FjCisKKwlmb3Igb3B0cyBpbiAiTz1iL25vcmFy IERJU0FCTEVfUkFSX0NPTVBSRVNTPTEiICJPPWIvcmFyIjsgZG8KKwkJbWFrZSAiJG1ha2Vqb2Jz IiAtZiAiJF83el9tYWtlZmlsZSIgXAorCQkJQ0M9IiRDQyIgQ1hYPSIkQ1hYIiBYQlBTX0NGTEFH Uz0iJENGTEFHUyIgXAorCQkJWEJQU19DWFhGTEFHUz0iJENYWEZMQUdTIiBYQlBTX0xERkxBR1M9 IiRMREZMQUdTIiBcCisJCQkkb3B0cworCWRvbmUKK30KKworZG9faW5zdGFsbCgpIHsKKwl2Ymlu ICIke3dya3NyY30vQ1BQLzd6aXAvQnVuZGxlcy9BbG9uZTIvYi9ub3Jhci83enoiICI3emlwIgor CXZsaWNlbnNlICIke3dya3NyY30vRE9DL0xpY2Vuc2UudHh0IgorfQorCis3emlwLXVucmFyX3Bh Y2thZ2UoKSB7CisJbGljZW5zZSs9IiwgY3VzdG9tOmZyZWV3YXJlIgorCXJlcG9zaXRvcnk9bm9u ZnJlZQorCXNob3J0X2Rlc2MrPSIgLSBSQVIgc3VwcG9ydCIKKwlhbHRlcm5hdGl2ZXM9IgorCSA3 ejo3ejovdXNyL2Jpbi83emlwLXVucmFyCisJIDd6Ojd6YTovdXNyL2Jpbi83emlwLXVucmFyCisJ IDd6Ojd6cjovdXNyL2Jpbi83emlwLXVucmFyIgorCisJcGtnX2luc3RhbGwoKSB7CisJCXZiaW4g IiR7d3Jrc3JjfS9DUFAvN3ppcC9CdW5kbGVzL0Fsb25lMi9iL3Jhci83enoiICI3emlwLXVucmFy IgorCQl2bGljZW5zZSAiJHt3cmtzcmN9L0RPQy9MaWNlbnNlLnR4dCIKKwl9Cit9CisKK3A3emlw X3BhY2thZ2UoKSB7CisJYnVpbGRfc3R5bGU9bWV0YQorCWRlcGVuZHM9N3ppcAorCXNob3J0X2Rl c2M9IkNvbW1hbmQtbGluZSB2ZXJzaW9uIG9mIHRoZSA3emlwIGNvbXByZXNzZWQgZmlsZSBhcmNo aXZlIgorCXNob3J0X2Rlc2MrPSIgKHRyYW5zaXRpb25hbCBkdW1teSBwYWNrYWdlKSIKK30KKwor cDd6aXAtdW5yYXJfcGFja2FnZSgpIHsKKwlidWlsZF9zdHlsZT1tZXRhCisJcmVwb3NpdG9yeT1u b25mcmVlCisJZGVwZW5kcz03emlwLXVucmFyCisJc2hvcnRfZGVzYz0iQ29tbWFuZC1saW5lIHZl cnNpb24gb2YgdGhlIDd6aXAgY29tcHJlc3NlZCBmaWxlIGFyY2hpdmUgLSBSQVIgc3VwcG9ydCIK KwlzaG9ydF9kZXNjKz0iICh0cmFuc2l0aW9uYWwgZHVtbXkgcGFja2FnZSkiCit9CmRpZmYgLS1n aXQgYS9zcmNwa2dzLzd6aXAvdXBkYXRlIGIvc3JjcGtncy83emlwL3VwZGF0ZQpuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjU0NjNmMTQ4ZTRmOAotLS0gL2Rldi9udWxs CisrKyBiL3NyY3BrZ3MvN3ppcC91cGRhdGUKQEAgLTAsMCArMSwyIEBACitzaXRlPSdodHRwczov LzctemlwLm9yZy9kb3dubG9hZC5odG1sJworcGF0dGVybj0nRG93bmxvYWQgNy1aaXAgXEtbXGQu XSsnCmRpZmYgLS1naXQgYS9zcmNwa2dzL3A3emlwIGIvc3JjcGtncy9wN3ppcApuZXcgZmlsZSBt b2RlIDEyMDAwMAppbmRleCAwMDAwMDAwMDAwMDAuLjI4NDMxMjU5NWE0YwotLS0gL2Rldi9udWxs CisrKyBiL3NyY3BrZ3MvcDd6aXAKQEAgLTAsMCArMSBAQAorN3ppcApcIE5vIG5ld2xpbmUgYXQg ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcDd6aXAtdW5yYXIgYi9zcmNwa2dzL3A3 emlwLXVucmFyCmluZGV4IGJmNTM0OWVlNjY2Ni4uMjg0MzEyNTk1YTRjIDEyMDAwMAotLS0gYS9z cmNwa2dzL3A3emlwLXVucmFyCisrKyBiL3NyY3BrZ3MvcDd6aXAtdW5yYXIKQEAgLTEgKzEgQEAK LXA3emlwClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorN3ppcApcIE5vIG5ld2xpbmUgYXQg ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcDd6aXAvcGF0Y2hlcy8yMC1DVkUtMjAx OC01OTk2LnBhdGNoIGIvc3JjcGtncy9wN3ppcC9wYXRjaGVzLzIwLUNWRS0yMDE4LTU5OTYucGF0 Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY3MzNiZmY5MTg5NS4uMDAwMDAwMDAw MDAwCi0tLSBhL3NyY3BrZ3MvcDd6aXAvcGF0Y2hlcy8yMC1DVkUtMjAxOC01OTk2LnBhdGNoCisr KyAvZGV2L251bGwKQEAgLTEsMjIxICswLDAgQEAKLUZyb206IFJvYmVydCBMdWJlcmRhIDxyb2Jl cnRAZGViaWFuLm9yZz4KLURhdGU6IFN1biwgMjggSmFuIDIwMTggMjM6NDc6NDAgKzAxMDAKLVN1 YmplY3Q6IENWRS0yMDE4LTU5OTYKLQotSG9wZWZ1bGx5IGZpeCBNZW1vcnkgQ29ycnVwdGlvbnMg dmlhIFJBUiBQUE1kIChDVkUtMjAxOC01OTk2KSBieQotYXBwbHlpbmcgYSBmZXcgY2hhbmdlcyBm cm9tIDdaaXAgMTguMDAtYmV0YS4KLQotQnVnLURlYmlhbjogaHR0cHM6Ly9idWdzLmRlYmlhbi5v cmcvIzg4ODMxNAotLS0tCi0gQ1BQLzd6aXAvQ29tcHJlc3MvUmFyMURlY29kZXIuY3BwIHwgMTMg KysrKysrKysrLS0tLQotIENQUC83emlwL0NvbXByZXNzL1JhcjFEZWNvZGVyLmggICB8ICAxICsK LSBDUFAvN3ppcC9Db21wcmVzcy9SYXIyRGVjb2Rlci5jcHAgfCAxMCArKysrKysrKystCi0gQ1BQ Lzd6aXAvQ29tcHJlc3MvUmFyMkRlY29kZXIuaCAgIHwgIDEgKwotIENQUC83emlwL0NvbXByZXNz L1JhcjNEZWNvZGVyLmNwcCB8IDIzICsrKysrKysrKysrKysrKysrKysrLS0tCi0gQ1BQLzd6aXAv Q29tcHJlc3MvUmFyM0RlY29kZXIuaCAgIHwgIDIgKysKLSA2IGZpbGVzIGNoYW5nZWQsIDQyIGlu c2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9DUFAvN3ppcC9Db21w cmVzcy9SYXIxRGVjb2Rlci5jcHAgYi9DUFAvN3ppcC9Db21wcmVzcy9SYXIxRGVjb2Rlci5jcHAK LWluZGV4IDFhYWVkY2MuLjY4MDMwYzcgMTAwNjQ0Ci0tLS0gYS9DUFAvN3ppcC9Db21wcmVzcy9S YXIxRGVjb2Rlci5jcHAKLSsrKyBiL0NQUC83emlwL0NvbXByZXNzL1JhcjFEZWNvZGVyLmNwcAot QEAgLTI5LDcgKzI5LDcgQEAgcHVibGljOgotIH07Ci0gKi8KLSAKLS1DRGVjb2Rlcjo6Q0RlY29k ZXIoKTogbV9Jc1NvbGlkKGZhbHNlKSB7IH0KLStDRGVjb2Rlcjo6Q0RlY29kZXIoKTogbV9Jc1Nv bGlkKGZhbHNlKSwgX2Vycm9yTW9kZShmYWxzZSkgeyB9Ci0gCi0gdm9pZCBDRGVjb2Rlcjo6SW5p dFN0cnVjdHVyZXMoKQotIHsKLUBAIC00MDYsOSArNDA2LDE0IEBAIEhSRVNVTFQgQ0RlY29kZXI6 OkNvZGVSZWFsKElTZXF1ZW50aWFsSW5TdHJlYW0gKmluU3RyZWFtLCBJU2VxdWVudGlhbE91dFN0 cmVhbSAqCi0gICBJbml0RGF0YSgpOwotICAgaWYgKCFtX0lzU29saWQpCi0gICB7Ci0rICAgIF9l cnJvck1vZGUgPSBmYWxzZTsKLSAgICAgSW5pdFN0cnVjdHVyZXMoKTsKLSAgICAgSW5pdEh1ZmYo KTsKLSAgIH0KLSsKLSsgIGlmIChfZXJyb3JNb2RlKQotKyAgICByZXR1cm4gU19GQUxTRTsKLSsK LSAgIGlmIChtX1VucGFja1NpemUgPiAwKQotICAgewotICAgICBHZXRGbGFnc0J1ZigpOwotQEAg LTQ3Nyw5ICs0ODIsOSBAQCBTVERNRVRIT0RJTVAgQ0RlY29kZXI6OkNvZGUoSVNlcXVlbnRpYWxJ blN0cmVhbSAqaW5TdHJlYW0sIElTZXF1ZW50aWFsT3V0U3RyZWFtCi0gICAgIGNvbnN0IFVJbnQ2 NCAqaW5TaXplLCBjb25zdCBVSW50NjQgKm91dFNpemUsIElDb21wcmVzc1Byb2dyZXNzSW5mbyAq cHJvZ3Jlc3MpCi0gewotICAgdHJ5IHsgcmV0dXJuIENvZGVSZWFsKGluU3RyZWFtLCBvdXRTdHJl YW0sIGluU2l6ZSwgb3V0U2l6ZSwgcHJvZ3Jlc3MpOyB9Ci0tICBjYXRjaChjb25zdCBDSW5CdWZm ZXJFeGNlcHRpb24gJmUpIHsgcmV0dXJuIGUuRXJyb3JDb2RlOyB9Ci0tICBjYXRjaChjb25zdCBD THpPdXRXaW5kb3dFeGNlcHRpb24gJmUpIHsgcmV0dXJuIGUuRXJyb3JDb2RlOyB9Ci0tICBjYXRj aCguLi4pIHsgcmV0dXJuIFNfRkFMU0U7IH0KLSsgIGNhdGNoKGNvbnN0IENJbkJ1ZmZlckV4Y2Vw dGlvbiAmZSkgeyBfZXJyb3JNb2RlID0gdHJ1ZTsgcmV0dXJuIGUuRXJyb3JDb2RlOyB9Ci0rICBj YXRjaChjb25zdCBDTHpPdXRXaW5kb3dFeGNlcHRpb24gJmUpIHsgX2Vycm9yTW9kZSA9IHRydWU7 IHJldHVybiBlLkVycm9yQ29kZTsgfQotKyAgY2F0Y2goLi4uKSB7IF9lcnJvck1vZGUgPSB0cnVl OyByZXR1cm4gU19GQUxTRTsgfQotIH0KLSAKLSBTVERNRVRIT0RJTVAgQ0RlY29kZXI6OlNldERl Y29kZXJQcm9wZXJ0aWVzMihjb25zdCBCeXRlICpkYXRhLCBVSW50MzIgc2l6ZSkKLWRpZmYgLS1n aXQgYS9DUFAvN3ppcC9Db21wcmVzcy9SYXIxRGVjb2Rlci5oIGIvQ1BQLzd6aXAvQ29tcHJlc3Mv UmFyMURlY29kZXIuaAotaW5kZXggNjMwZjA4OS4uMDFiNjA2YiAxMDA2NDQKLS0tLSBhL0NQUC83 emlwL0NvbXByZXNzL1JhcjFEZWNvZGVyLmgKLSsrKyBiL0NQUC83emlwL0NvbXByZXNzL1JhcjFE ZWNvZGVyLmgKLUBAIC0zOSw2ICszOSw3IEBAIHB1YmxpYzoKLSAKLSAgIEludDY0IG1fVW5wYWNr U2l6ZTsKLSAgIGJvb2wgbV9Jc1NvbGlkOwotKyAgYm9vbCBfZXJyb3JNb2RlOwotIAotICAgVUlu dDMyIFJlYWRCaXRzKGludCBudW1CaXRzKTsKLSAgIEhSRVNVTFQgQ29weUJsb2NrKFVJbnQzMiBk aXN0YW5jZSwgVUludDMyIGxlbik7Ci1kaWZmIC0tZ2l0IGEvQ1BQLzd6aXAvQ29tcHJlc3MvUmFy MkRlY29kZXIuY3BwIGIvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyMkRlY29kZXIuY3BwCi1pbmRleCBi M2YyYjRiLi4wNTgwYzhkIDEwMDY0NAotLS0tIGEvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyMkRlY29k ZXIuY3BwCi0rKysgYi9DUFAvN3ppcC9Db21wcmVzcy9SYXIyRGVjb2Rlci5jcHAKLUBAIC04MCw3 ICs4MCw4IEBAIHN0YXRpYyBjb25zdCBVSW50MzIga0hpc3RvcnlTaXplID0gMSA8PCAyMDsKLSBz dGF0aWMgY29uc3QgVUludDMyIGtXaW5kb3dSZXNlcnZTaXplID0gKDEgPDwgMjIpICsgMjU2Owot IAotIENEZWNvZGVyOjpDRGVjb2RlcigpOgotLSAgbV9Jc1NvbGlkKGZhbHNlKQotKyAgbV9Jc1Nv bGlkKGZhbHNlKSwKLSsgIG1fVGFibGVzT0soZmFsc2UpCi0gewotIH0KLSAKLUBAIC0xMDAsNiAr MTAxLDggQEAgVUludDMyIENEZWNvZGVyOjpSZWFkQml0cyh1bnNpZ25lZCBudW1CaXRzKSB7IHJl dHVybiBtX0luQml0U3RyZWFtLlJlYWRCaXRzKG51bUIKLSAKLSBib29sIENEZWNvZGVyOjpSZWFk VGFibGVzKHZvaWQpCi0gewotKyAgbV9UYWJsZXNPSyA9IGZhbHNlOwotKwotICAgQnl0ZSBsZXZl bExldmVsc1trTGV2ZWxUYWJsZVNpemVdOwotICAgQnl0ZSBuZXdMZXZlbHNba01heFRhYmxlU2l6 ZV07Ci0gICBtX0F1ZGlvTW9kZSA9IChSZWFkQml0cygxKSA9PSAxKTsKLUBAIC0xNzAsNiArMTcz LDggQEAgYm9vbCBDRGVjb2Rlcjo6UmVhZFRhYmxlcyh2b2lkKQotICAgfQotICAgCi0gICBtZW1j cHkobV9MYXN0TGV2ZWxzLCBuZXdMZXZlbHMsIGtNYXhUYWJsZVNpemUpOwotKyAgbV9UYWJsZXNP SyA9IHRydWU7Ci0rCi0gICByZXR1cm4gdHJ1ZTsKLSB9Ci0gCi1AQCAtMzQ0LDYgKzM0OSw5IEBA IEhSRVNVTFQgQ0RlY29kZXI6OkNvZGVSZWFsKElTZXF1ZW50aWFsSW5TdHJlYW0gKmluU3RyZWFt LCBJU2VxdWVudGlhbE91dFN0cmVhbSAqCi0gICAgICAgcmV0dXJuIFNfRkFMU0U7Ci0gICB9Ci0g Ci0rICBpZiAoIW1fVGFibGVzT0spCi0rICAgIHJldHVybiBTX0ZBTFNFOwotKwotICAgVUludDY0 IHN0YXJ0UG9zID0gbV9PdXRXaW5kb3dTdHJlYW0uR2V0UHJvY2Vzc2VkU2l6ZSgpOwotICAgd2hp bGUgKHBvcyA8IHVuUGFja1NpemUpCi0gICB7Ci1kaWZmIC0tZ2l0IGEvQ1BQLzd6aXAvQ29tcHJl c3MvUmFyMkRlY29kZXIuaCBiL0NQUC83emlwL0NvbXByZXNzL1JhcjJEZWNvZGVyLmgKLWluZGV4 IDNhMDUzNWMuLjBlOTAwNWYgMTAwNjQ0Ci0tLS0gYS9DUFAvN3ppcC9Db21wcmVzcy9SYXIyRGVj b2Rlci5oCi0rKysgYi9DUFAvN3ppcC9Db21wcmVzcy9SYXIyRGVjb2Rlci5oCi1AQCAtMTM5LDYg KzEzOSw3IEBAIGNsYXNzIENEZWNvZGVyIDoKLSAKLSAgIFVJbnQ2NCBtX1BhY2tTaXplOwotICAg Ym9vbCBtX0lzU29saWQ7Ci0rICBib29sIG1fVGFibGVzT0s7Ci0gCi0gICB2b2lkIEluaXRTdHJ1 Y3R1cmVzKCk7Ci0gICBVSW50MzIgUmVhZEJpdHModW5zaWduZWQgbnVtQml0cyk7Ci1kaWZmIC0t Z2l0IGEvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyM0RlY29kZXIuY3BwIGIvQ1BQLzd6aXAvQ29tcHJl c3MvUmFyM0RlY29kZXIuY3BwCi1pbmRleCAzYmYyNTEzLi42Y2I4YTZhIDEwMDY0NAotLS0tIGEv Q1BQLzd6aXAvQ29tcHJlc3MvUmFyM0RlY29kZXIuY3BwCi0rKysgYi9DUFAvN3ppcC9Db21wcmVz cy9SYXIzRGVjb2Rlci5jcHAKLUBAIC05Miw3ICs5Miw4IEBAIENEZWNvZGVyOjpDRGVjb2Rlcigp OgotICAgX3dyaXR0ZW5GaWxlU2l6ZSgwKSwKLSAgIF92bURhdGEoMCksCi0gICBfdm1Db2RlKDAp LAotLSAgbV9Jc1NvbGlkKGZhbHNlKQotKyAgbV9Jc1NvbGlkKGZhbHNlKSwKLSsgIF9lcnJvck1v ZGUoZmFsc2UpCi0gewotICAgUHBtZDdfQ29uc3RydWN0KCZfcHBtZCk7Ci0gfQotQEAgLTU0NSw2 ICs1NDYsOSBAQCBIUkVTVUxUIENEZWNvZGVyOjpSZWFkVGFibGVzKGJvb2wgJmtlZXBEZWNvbXBy ZXNzaW5nKQotICAgICByZXR1cm4gSW5pdFBQTSgpOwotICAgfQotIAotKyAgVGFibGVzUmVhZCA9 IGZhbHNlOwotKyAgVGFibGVzT0sgPSBmYWxzZTsKLSsKLSAgIF9sek1vZGUgPSB0cnVlOwotICAg UHJldkFsaWduQml0cyA9IDA7Ci0gICBQcmV2QWxpZ25Db3VudCA9IDA7Ci1AQCAtNjA2LDYgKzYx MCw5IEBAIEhSRVNVTFQgQ0RlY29kZXI6OlJlYWRUYWJsZXMoYm9vbCAma2VlcERlY29tcHJlc3Np bmcpCi0gICAgICAgfQotICAgICB9Ci0gICB9Ci0rICBpZiAoSW5wdXRFb2ZFcnJvcigpKQotKyAg ICByZXR1cm4gU19GQUxTRTsKLSsKLSAgIFRhYmxlc1JlYWQgPSB0cnVlOwotIAotICAgLy8gb3Jp Z2luYWwgY29kZSBoYXMgY2hlY2sgaGVyZToKLUBAIC02MjMsNiArNjMwLDkgQEAgSFJFU1VMVCBD RGVjb2Rlcjo6UmVhZFRhYmxlcyhib29sICZrZWVwRGVjb21wcmVzc2luZykKLSAgIFJJRihtX0xl bkRlY29kZXIuQnVpbGQoJm5ld0xldmVsc1trTWFpblRhYmxlU2l6ZSArIGtEaXN0VGFibGVTaXpl ICsga0FsaWduVGFibGVTaXplXSkpOwotIAotICAgbWVtY3B5KG1fTGFzdExldmVscywgbmV3TGV2 ZWxzLCBrVGFibGVzU2l6ZXNTdW0pOwotKwotKyAgVGFibGVzT0sgPSB0cnVlOwotKwotICAgcmV0 dXJuIFNfT0s7Ci0gfQotIAotQEAgLTgyNCw3ICs4MzQsMTIgQEAgSFJFU1VMVCBDRGVjb2Rlcjo6 Q29kZVJlYWwoSUNvbXByZXNzUHJvZ3Jlc3NJbmZvICpwcm9ncmVzcykKLSAgICAgUHBtRXNjQ2hh ciA9IDI7Ci0gICAgIFBwbUVycm9yID0gdHJ1ZTsKLSAgICAgSW5pdEZpbHRlcnMoKTsKLSsgICAg X2Vycm9yTW9kZSA9IGZhbHNlOwotICAgfQotKwotKyAgaWYgKF9lcnJvck1vZGUpCi0rICAgIHJl dHVybiBTX0ZBTFNFOwotKwotICAgaWYgKCFtX0lzU29saWQgfHwgIVRhYmxlc1JlYWQpCi0gICB7 Ci0gICAgIGJvb2wga2VlcERlY29tcHJlc3Npbmc7Ci1AQCAtODM4LDYgKzg1Myw4IEBAIEhSRVNV TFQgQ0RlY29kZXI6OkNvZGVSZWFsKElDb21wcmVzc1Byb2dyZXNzSW5mbyAqcHJvZ3Jlc3MpCi0g ICAgIGJvb2wga2VlcERlY29tcHJlc3Npbmc7Ci0gICAgIGlmIChfbHpNb2RlKQotICAgICB7Ci0r ICAgICAgaWYgKCFUYWJsZXNPSykKLSsgICAgICAgIHJldHVybiBTX0ZBTFNFOwotICAgICAgIFJJ Tk9LKERlY29kZUxaKGtlZXBEZWNvbXByZXNzaW5nKSkKLSAgICAgfQotICAgICBlbHNlCi1AQCAt OTAxLDggKzkxOCw4IEBAIFNURE1FVEhPRElNUCBDRGVjb2Rlcjo6Q29kZShJU2VxdWVudGlhbElu U3RyZWFtICppblN0cmVhbSwgSVNlcXVlbnRpYWxPdXRTdHJlYW0KLSAgICAgX3VucGFja1NpemUg PSBvdXRTaXplID8gKm91dFNpemUgOiAoVUludDY0KShJbnQ2NCktMTsKLSAgICAgcmV0dXJuIENv ZGVSZWFsKHByb2dyZXNzKTsKLSAgIH0KLS0gIGNhdGNoKGNvbnN0IENJbkJ1ZmZlckV4Y2VwdGlv biAmZSkgIHsgcmV0dXJuIGUuRXJyb3JDb2RlOyB9Ci0tICBjYXRjaCguLi4pIHsgcmV0dXJuIFNf RkFMU0U7IH0KLSsgIGNhdGNoKGNvbnN0IENJbkJ1ZmZlckV4Y2VwdGlvbiAmZSkgIHsgX2Vycm9y TW9kZSA9IHRydWU7IHJldHVybiBlLkVycm9yQ29kZTsgfQotKyAgY2F0Y2goLi4uKSB7IF9lcnJv ck1vZGUgPSB0cnVlOyByZXR1cm4gU19GQUxTRTsgfQotICAgLy8gQ05ld0V4Y2VwdGlvbiBpcyBw b3NzaWJsZSBoZXJlLiBCdXQgcHJvYmFibHkgQ05ld0V4Y2VwdGlvbiBpcyBjYXVzZWQKLSAgIC8v IGJ5IGVycm9yIGluIGRhdGEgc3RyZWFtLgotIH0KLWRpZmYgLS1naXQgYS9DUFAvN3ppcC9Db21w cmVzcy9SYXIzRGVjb2Rlci5oIGIvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyM0RlY29kZXIuaAotaW5k ZXggYzEzMGNlYy4uMmY3MmQ3ZCAxMDA2NDQKLS0tLSBhL0NQUC83emlwL0NvbXByZXNzL1JhcjNE ZWNvZGVyLmgKLSsrKyBiL0NQUC83emlwL0NvbXByZXNzL1JhcjNEZWNvZGVyLmgKLUBAIC0xOTIs NiArMTkyLDcgQEAgY2xhc3MgQ0RlY29kZXI6Ci0gICBVSW50MzIgX2xhc3RGaWx0ZXI7Ci0gCi0g ICBib29sIG1fSXNTb2xpZDsKLSsgIGJvb2wgX2Vycm9yTW9kZTsKLSAKLSAgIGJvb2wgX2x6TW9k ZTsKLSAgIGJvb2wgX3Vuc3VwcG9ydGVkRmlsdGVyOwotQEAgLTIwMCw2ICsyMDEsNyBAQCBjbGFz cyBDRGVjb2RlcjoKLSAgIFVJbnQzMiBQcmV2QWxpZ25Db3VudDsKLSAKLSAgIGJvb2wgVGFibGVz UmVhZDsKLSsgIGJvb2wgVGFibGVzT0s7Ci0gCi0gICBDUHBtZDcgX3BwbWQ7Ci0gICBpbnQgUHBt RXNjQ2hhcjsKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcDd6aXAvcGF0Y2hlcy8zMC1DVkUtMjAxOC0x MDExNS5wYXRjaCBiL3NyY3BrZ3MvcDd6aXAvcGF0Y2hlcy8zMC1DVkUtMjAxOC0xMDExNS5wYXRj aApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2Q5YzRiZjgxZjAwLi4wMDAwMDAwMDAw MDAKLS0tIGEvc3JjcGtncy9wN3ppcC9wYXRjaGVzLzMwLUNWRS0yMDE4LTEwMTE1LnBhdGNoCisr KyAvZGV2L251bGwKQEAgLTEsMzExICswLDAgQEAKLUZyb206IFJvYmVydCBMdWJlcmRhIDxyb2Jl cnRAZGViaWFuLm9yZz4KLURhdGU6IFR1ZSwgMjkgTWF5IDIwMTggMjM6NTk6MDkgKzAyMDAKLVN1 YmplY3Q6IEZpeCBDVkUtMjAxOC0xMDExNQotCi1BcHBseSAicGF0Y2giIHRha2VuIGZyb20gaHR0 cHM6Ly9sYW5kYXZlLmlvL2ZpbGVzL3BhdGNoXzd6aXBfQ1ZFLTIwMTgtMTAxMTUudHh0Ci0KLQot QnVncy1EZWJpYW46IGh0dHBzOi8vYnVncy5kZWJpYW4ub3JnLzg5NzY3NAotLS0tCi0gQ1BQLzd6 aXAvQ29tcHJlc3MvUmFyMURlY29kZXIuY3BwIHwgMTYgKysrKysrKysrKystLS0tLQotIENQUC83 emlwL0NvbXByZXNzL1JhcjFEZWNvZGVyLmggICB8ICAzICsrLQotIENQUC83emlwL0NvbXByZXNz L1JhcjJEZWNvZGVyLmNwcCB8IDE3ICsrKysrKysrKysrKystLS0tCi0gQ1BQLzd6aXAvQ29tcHJl c3MvUmFyMkRlY29kZXIuaCAgIHwgIDMgKystCi0gQ1BQLzd6aXAvQ29tcHJlc3MvUmFyM0RlY29k ZXIuY3BwIHwgMTkgKysrKysrKysrKysrKysrLS0tLQotIENQUC83emlwL0NvbXByZXNzL1JhcjNE ZWNvZGVyLmggICB8ICAzICsrLQotIENQUC83emlwL0NvbXByZXNzL1JhcjVEZWNvZGVyLmNwcCB8 ICA4ICsrKysrKysrCi0gQ1BQLzd6aXAvQ29tcHJlc3MvUmFyNURlY29kZXIuaCAgIHwgIDEgKwot IDggZmlsZXMgY2hhbmdlZCwgNTQgaW5zZXJ0aW9ucygrKSwgMTYgZGVsZXRpb25zKC0pCi0KLWRp ZmYgLS1naXQgYS9DUFAvN3ppcC9Db21wcmVzcy9SYXIxRGVjb2Rlci5jcHAgYi9DUFAvN3ppcC9D b21wcmVzcy9SYXIxRGVjb2Rlci5jcHAKLWluZGV4IDY4MDMwYzcuLjhjODkwYzggMTAwNjQ0Ci0t LS0gYS9DUFAvN3ppcC9Db21wcmVzcy9SYXIxRGVjb2Rlci5jcHAKLSsrKyBiL0NQUC83emlwL0Nv bXByZXNzL1JhcjFEZWNvZGVyLmNwcAotQEAgLTI5LDcgKzI5LDcgQEAgcHVibGljOgotIH07Ci0g Ki8KLSAKLS1DRGVjb2Rlcjo6Q0RlY29kZXIoKTogbV9Jc1NvbGlkKGZhbHNlKSwgX2Vycm9yTW9k ZShmYWxzZSkgeyB9Ci0rQ0RlY29kZXI6OkNEZWNvZGVyKCk6IF9pc1NvbGlkKGZhbHNlKSwgX3Nv bGlkQWxsb3dlZChmYWxzZSksIF9lcnJvck1vZGUoZmFsc2UpIHsgfQotIAotIHZvaWQgQ0RlY29k ZXI6OkluaXRTdHJ1Y3R1cmVzKCkKLSB7Ci1AQCAtMzQ1LDcgKzM0NSw3IEBAIHZvaWQgQ0RlY29k ZXI6OkdldEZsYWdzQnVmKCkKLSAKLSB2b2lkIENEZWNvZGVyOjpJbml0RGF0YSgpCi0gewotLSAg aWYgKCFtX0lzU29saWQpCi0rICBpZiAoIV9pc1NvbGlkKQotICAgewotICAgICBBdnJQbGNCID0g QXZyTG4xID0gQXZyTG4yID0gQXZyTG4zID0gTnVtSHVmID0gQnVmNjAgPSAwOwotICAgICBBdnJQ bGMgPSAweDM1MDA7Ci1AQCAtMzkxLDYgKzM5MSwxMSBAQCBIUkVTVUxUIENEZWNvZGVyOjpDb2Rl UmVhbChJU2VxdWVudGlhbEluU3RyZWFtICppblN0cmVhbSwgSVNlcXVlbnRpYWxPdXRTdHJlYW0g KgotICAgaWYgKGluU2l6ZSA9PSBOVUxMIHx8IG91dFNpemUgPT0gTlVMTCkKLSAgICAgcmV0dXJu IEVfSU5WQUxJREFSRzsKLSAKLSsgIGlmIChfaXNTb2xpZCAmJiAhX3NvbGlkQWxsb3dlZCkKLSsg ICAgcmV0dXJuIFNfRkFMU0U7Ci0rCi0rICBfc29saWRBbGxvd2VkID0gZmFsc2U7Ci0rCi0gICBp ZiAoIW1fT3V0V2luZG93U3RyZWFtLkNyZWF0ZShrSGlzdG9yeVNpemUpKQotICAgICByZXR1cm4g RV9PVVRPRk1FTU9SWTsKLSAgIGlmICghbV9JbkJpdFN0cmVhbS5DcmVhdGUoMSA8PCAyMCkpCi1A QCAtMzk4LDEzICs0MDMsMTMgQEAgSFJFU1VMVCBDRGVjb2Rlcjo6Q29kZVJlYWwoSVNlcXVlbnRp YWxJblN0cmVhbSAqaW5TdHJlYW0sIElTZXF1ZW50aWFsT3V0U3RyZWFtICoKLSAKLSAgIG1fVW5w YWNrU2l6ZSA9IChJbnQ2NCkqb3V0U2l6ZTsKLSAgIG1fT3V0V2luZG93U3RyZWFtLlNldFN0cmVh bShvdXRTdHJlYW0pOwotLSAgbV9PdXRXaW5kb3dTdHJlYW0uSW5pdChtX0lzU29saWQpOwotKyAg bV9PdXRXaW5kb3dTdHJlYW0uSW5pdChfaXNTb2xpZCk7Ci0gICBtX0luQml0U3RyZWFtLlNldFN0 cmVhbShpblN0cmVhbSk7Ci0gICBtX0luQml0U3RyZWFtLkluaXQoKTsKLSAKLSAgIC8vIENDb2Rl clJlbGVhc2VyIGNvZGVyUmVsZWFzZXIodGhpcyk7Ci0gICBJbml0RGF0YSgpOwotLSAgaWYgKCFt X0lzU29saWQpCi0rICBpZiAoIV9pc1NvbGlkKQotICAgewotICAgICBfZXJyb3JNb2RlID0gZmFs c2U7Ci0gICAgIEluaXRTdHJ1Y3R1cmVzKCk7Ci1AQCAtNDc1LDYgKzQ4MCw3IEBAIEhSRVNVTFQg Q0RlY29kZXI6OkNvZGVSZWFsKElTZXF1ZW50aWFsSW5TdHJlYW0gKmluU3RyZWFtLCBJU2VxdWVu dGlhbE91dFN0cmVhbSAqCi0gICB9Ci0gICBpZiAobV9VbnBhY2tTaXplIDwgMCkKLSAgICAgcmV0 dXJuIFNfRkFMU0U7Ci0rICBfc29saWRBbGxvd2VkID0gdHJ1ZTsKLSAgIHJldHVybiBtX091dFdp bmRvd1N0cmVhbS5GbHVzaCgpOwotIH0KLSAKLUBAIC00OTEsNyArNDk3LDcgQEAgU1RETUVUSE9E SU1QIENEZWNvZGVyOjpTZXREZWNvZGVyUHJvcGVydGllczIoY29uc3QgQnl0ZSAqZGF0YSwgVUlu dDMyIHNpemUpCi0gewotICAgaWYgKHNpemUgPCAxKQotICAgICByZXR1cm4gRV9JTlZBTElEQVJH OwotLSAgbV9Jc1NvbGlkID0gKChkYXRhWzBdICYgMSkgIT0gMCk7Ci0rICBfaXNTb2xpZCA9ICgo ZGF0YVswXSAmIDEpICE9IDApOwotICAgcmV0dXJuIFNfT0s7Ci0gfQotIAotZGlmZiAtLWdpdCBh L0NQUC83emlwL0NvbXByZXNzL1JhcjFEZWNvZGVyLmggYi9DUFAvN3ppcC9Db21wcmVzcy9SYXIx RGVjb2Rlci5oCi1pbmRleCAwMWI2MDZiLi44YWJiM2EzIDEwMDY0NAotLS0tIGEvQ1BQLzd6aXAv Q29tcHJlc3MvUmFyMURlY29kZXIuaAotKysrIGIvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyMURlY29k ZXIuaAotQEAgLTM4LDcgKzM4LDggQEAgcHVibGljOgotICAgVUludDMyIExhc3RMZW5ndGg7Ci0g Ci0gICBJbnQ2NCBtX1VucGFja1NpemU7Ci0tICBib29sIG1fSXNTb2xpZDsKLSsgIGJvb2wgX2lz U29saWQ7Ci0rICBib29sIF9zb2xpZEFsbG93ZWQ7Ci0gICBib29sIF9lcnJvck1vZGU7Ci0gCi0g ICBVSW50MzIgUmVhZEJpdHMoaW50IG51bUJpdHMpOwotZGlmZiAtLWdpdCBhL0NQUC83emlwL0Nv bXByZXNzL1JhcjJEZWNvZGVyLmNwcCBiL0NQUC83emlwL0NvbXByZXNzL1JhcjJEZWNvZGVyLmNw cAotaW5kZXggMDU4MGM4ZC4uYmU4ZDg0MiAxMDA2NDQKLS0tLSBhL0NQUC83emlwL0NvbXByZXNz L1JhcjJEZWNvZGVyLmNwcAotKysrIGIvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyMkRlY29kZXIuY3Bw Ci1AQCAtODAsNyArODAsOCBAQCBzdGF0aWMgY29uc3QgVUludDMyIGtIaXN0b3J5U2l6ZSA9IDEg PDwgMjA7Ci0gc3RhdGljIGNvbnN0IFVJbnQzMiBrV2luZG93UmVzZXJ2U2l6ZSA9ICgxIDw8IDIy KSArIDI1NjsKLSAKLSBDRGVjb2Rlcjo6Q0RlY29kZXIoKToKLS0gIG1fSXNTb2xpZChmYWxzZSks Ci0rICBfaXNTb2xpZChmYWxzZSksCi0rICBfc29saWRBbGxvd2VkKGZhbHNlKSwKLSAgIG1fVGFi bGVzT0soZmFsc2UpCi0gewotIH0KLUBAIC0zMjAsNiArMzIxLDEwIEBAIEhSRVNVTFQgQ0RlY29k ZXI6OkNvZGVSZWFsKElTZXF1ZW50aWFsSW5TdHJlYW0gKmluU3RyZWFtLCBJU2VxdWVudGlhbE91 dFN0cmVhbSAqCi0gICBpZiAoaW5TaXplID09IE5VTEwgfHwgb3V0U2l6ZSA9PSBOVUxMKQotICAg ICByZXR1cm4gRV9JTlZBTElEQVJHOwotIAotKyAgaWYgKF9pc1NvbGlkICYmICFfc29saWRBbGxv d2VkKQotKyAgICByZXR1cm4gU19GQUxTRTsKLSsgIF9zb2xpZEFsbG93ZWQgPSBmYWxzZTsKLSsK LSAgIGlmICghbV9PdXRXaW5kb3dTdHJlYW0uQ3JlYXRlKGtIaXN0b3J5U2l6ZSkpCi0gICAgIHJl dHVybiBFX09VVE9GTUVNT1JZOwotICAgaWYgKCFtX0luQml0U3RyZWFtLkNyZWF0ZSgxIDw8IDIw KSkKLUBAIC0zMzAsMTIgKzMzNSwxMiBAQCBIUkVTVUxUIENEZWNvZGVyOjpDb2RlUmVhbChJU2Vx dWVudGlhbEluU3RyZWFtICppblN0cmVhbSwgSVNlcXVlbnRpYWxPdXRTdHJlYW0gKgotICAgVUlu dDY0IHBvcyA9IDAsIHVuUGFja1NpemUgPSAqb3V0U2l6ZTsKLSAgIAotICAgbV9PdXRXaW5kb3dT dHJlYW0uU2V0U3RyZWFtKG91dFN0cmVhbSk7Ci0tICBtX091dFdpbmRvd1N0cmVhbS5Jbml0KG1f SXNTb2xpZCk7Ci0rICBtX091dFdpbmRvd1N0cmVhbS5Jbml0KF9pc1NvbGlkKTsKLSAgIG1fSW5C aXRTdHJlYW0uU2V0U3RyZWFtKGluU3RyZWFtKTsKLSAgIG1fSW5CaXRTdHJlYW0uSW5pdCgpOwot IAotICAgLy8gQ0NvZGVyUmVsZWFzZXIgY29kZXJSZWxlYXNlcih0aGlzKTsKLS0gIGlmICghbV9J c1NvbGlkKQotKyAgaWYgKCFfaXNTb2xpZCkKLSAgIHsKLSAgICAgSW5pdFN0cnVjdHVyZXMoKTsK LSAgICAgaWYgKHVuUGFja1NpemUgPT0gMCkKLUBAIC0zNDMsNiArMzQ4LDcgQEAgSFJFU1VMVCBD RGVjb2Rlcjo6Q29kZVJlYWwoSVNlcXVlbnRpYWxJblN0cmVhbSAqaW5TdHJlYW0sIElTZXF1ZW50 aWFsT3V0U3RyZWFtICoKLSAgICAgICBpZiAobV9JbkJpdFN0cmVhbS5HZXRQcm9jZXNzZWRTaXpl KCkgKyAyIDw9IG1fUGFja1NpemUpIC8vIHRlc3QgaXQ6IHByb2JhYmx5IGluY29ycmVjdDsKLSAg ICAgICAgIGlmICghUmVhZFRhYmxlcygpKQotICAgICAgICAgICByZXR1cm4gU19GQUxTRTsKLSsg ICAgICBfc29saWRBbGxvd2VkID0gdHJ1ZTsKLSAgICAgICByZXR1cm4gU19PSzsKLSAgICAgfQot ICAgICBpZiAoIVJlYWRUYWJsZXMoKSkKLUBAIC0zODYsNiArMzkyLDkgQEAgSFJFU1VMVCBDRGVj b2Rlcjo6Q29kZVJlYWwoSVNlcXVlbnRpYWxJblN0cmVhbSAqaW5TdHJlYW0sIElTZXF1ZW50aWFs T3V0U3RyZWFtICoKLSAKLSAgIGlmICghUmVhZExhc3RUYWJsZXMoKSkKLSAgICAgcmV0dXJuIFNf RkFMU0U7Ci0rCi0rICBfc29saWRBbGxvd2VkID0gdHJ1ZTsKLSsKLSAgIHJldHVybiBtX091dFdp bmRvd1N0cmVhbS5GbHVzaCgpOwotIH0KLSAKLUBAIC00MDIsNyArNDExLDcgQEAgU1RETUVUSE9E SU1QIENEZWNvZGVyOjpTZXREZWNvZGVyUHJvcGVydGllczIoY29uc3QgQnl0ZSAqZGF0YSwgVUlu dDMyIHNpemUpCi0gewotICAgaWYgKHNpemUgPCAxKQotICAgICByZXR1cm4gRV9JTlZBTElEQVJH OwotLSAgbV9Jc1NvbGlkID0gKChkYXRhWzBdICYgMSkgIT0gMCk7Ci0rICBfaXNTb2xpZCA9ICgo ZGF0YVswXSAmIDEpICE9IDApOwotICAgcmV0dXJuIFNfT0s7Ci0gfQotIAotZGlmZiAtLWdpdCBh L0NQUC83emlwL0NvbXByZXNzL1JhcjJEZWNvZGVyLmggYi9DUFAvN3ppcC9Db21wcmVzcy9SYXIy RGVjb2Rlci5oCi1pbmRleCAwZTkwMDVmLi4zNzBiY2UyIDEwMDY0NAotLS0tIGEvQ1BQLzd6aXAv Q29tcHJlc3MvUmFyMkRlY29kZXIuaAotKysrIGIvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyMkRlY29k ZXIuaAotQEAgLTEzOCw3ICsxMzgsOCBAQCBjbGFzcyBDRGVjb2RlciA6Ci0gICBCeXRlIG1fTGFz dExldmVsc1trTWF4VGFibGVTaXplXTsKLSAKLSAgIFVJbnQ2NCBtX1BhY2tTaXplOwotLSAgYm9v bCBtX0lzU29saWQ7Ci0rICBib29sIF9pc1NvbGlkOwotKyAgYm9vbCBfc29saWRBbGxvd2VkOwot ICAgYm9vbCBtX1RhYmxlc09LOwotIAotICAgdm9pZCBJbml0U3RydWN0dXJlcygpOwotZGlmZiAt LWdpdCBhL0NQUC83emlwL0NvbXByZXNzL1JhcjNEZWNvZGVyLmNwcCBiL0NQUC83emlwL0NvbXBy ZXNzL1JhcjNEZWNvZGVyLmNwcAotaW5kZXggNmNiOGE2YS4uN2I4NTgzMyAxMDA2NDQKLS0tLSBh L0NQUC83emlwL0NvbXByZXNzL1JhcjNEZWNvZGVyLmNwcAotKysrIGIvQ1BQLzd6aXAvQ29tcHJl c3MvUmFyM0RlY29kZXIuY3BwCi1AQCAtOTIsNyArOTIsOCBAQCBDRGVjb2Rlcjo6Q0RlY29kZXIo KToKLSAgIF93cml0dGVuRmlsZVNpemUoMCksCi0gICBfdm1EYXRhKDApLAotICAgX3ZtQ29kZSgw KSwKLS0gIG1fSXNTb2xpZChmYWxzZSksCi0rICBfaXNTb2xpZChmYWxzZSksCi0rICBfc29saWRB bGxvd2VkKGZhbHNlKSwKLSAgIF9lcnJvck1vZGUoZmFsc2UpCi0gewotICAgUHBtZDdfQ29uc3Ry dWN0KCZfcHBtZCk7Ci1AQCAtODIxLDcgKzgyMiw3IEBAIEhSRVNVTFQgQ0RlY29kZXI6OkNvZGVS ZWFsKElDb21wcmVzc1Byb2dyZXNzSW5mbyAqcHJvZ3Jlc3MpCi0gewotICAgX3dyaXR0ZW5GaWxl U2l6ZSA9IDA7Ci0gICBfdW5zdXBwb3J0ZWRGaWx0ZXIgPSBmYWxzZTsKLS0gIGlmICghbV9Jc1Nv bGlkKQotKyAgaWYgKCFfaXNTb2xpZCkKLSAgIHsKLSAgICAgX2x6U2l6ZSA9IDA7Ci0gICAgIF93 aW5Qb3MgPSAwOwotQEAgLTg0MCwxMiArODQxLDE1IEBAIEhSRVNVTFQgQ0RlY29kZXI6OkNvZGVS ZWFsKElDb21wcmVzc1Byb2dyZXNzSW5mbyAqcHJvZ3Jlc3MpCi0gICBpZiAoX2Vycm9yTW9kZSkK LSAgICAgcmV0dXJuIFNfRkFMU0U7Ci0gCi0tICBpZiAoIW1fSXNTb2xpZCB8fCAhVGFibGVzUmVh ZCkKLSsgIGlmICghX2lzU29saWQgfHwgIVRhYmxlc1JlYWQpCi0gICB7Ci0gICAgIGJvb2wga2Vl cERlY29tcHJlc3Npbmc7Ci0gICAgIFJJTk9LKFJlYWRUYWJsZXMoa2VlcERlY29tcHJlc3Npbmcp KTsKLSAgICAgaWYgKCFrZWVwRGVjb21wcmVzc2luZykKLSsgICAgewotKyAgICAgIF9zb2xpZEFs bG93ZWQgPSB0cnVlOwotICAgICAgIHJldHVybiBTX09LOwotKyAgICB9Ci0gICB9Ci0gCi0gICBm b3IgKDs7KQotQEAgLTg3MCw2ICs4NzQsOSBAQCBIUkVTVUxUIENEZWNvZGVyOjpDb2RlUmVhbChJ Q29tcHJlc3NQcm9ncmVzc0luZm8gKnByb2dyZXNzKQotICAgICBpZiAoIWtlZXBEZWNvbXByZXNz aW5nKQotICAgICAgIGJyZWFrOwotICAgfQotKwotKyAgX3NvbGlkQWxsb3dlZCA9IHRydWU7Ci0r Ci0gICBSSU5PSyhXcml0ZUJ1ZigpKTsKLSAgIFVJbnQ2NCBwYWNrU2l6ZSA9IG1fSW5CaXRTdHJl YW0uQml0RGVjb2Rlci5HZXRQcm9jZXNzZWRTaXplKCk7Ci0gICBSSU5PSyhwcm9ncmVzcy0+U2V0 UmF0aW9JbmZvKCZwYWNrU2l6ZSwgJl93cml0dGVuRmlsZVNpemUpKTsKLUBAIC04OTAsNiArODk3 LDEwIEBAIFNURE1FVEhPRElNUCBDRGVjb2Rlcjo6Q29kZShJU2VxdWVudGlhbEluU3RyZWFtICpp blN0cmVhbSwgSVNlcXVlbnRpYWxPdXRTdHJlYW0KLSAgICAgaWYgKCFpblNpemUpCi0gICAgICAg cmV0dXJuIEVfSU5WQUxJREFSRzsKLSAKLSsgICAgaWYgKF9pc1NvbGlkICYmICFfc29saWRBbGxv d2VkKQotKyAgICAgIHJldHVybiBTX0ZBTFNFOwotKyAgICBfc29saWRBbGxvd2VkID0gZmFsc2U7 Ci0rCi0gICAgIGlmICghX3ZtRGF0YSkKLSAgICAgewotICAgICAgIF92bURhdGEgPSAoQnl0ZSAq KTo6TWlkQWxsb2Moa1ZtRGF0YVNpemVNYXggKyBrVm1Db2RlU2l6ZU1heCk7Ci1AQCAtOTI4LDcg KzkzOSw3IEBAIFNURE1FVEhPRElNUCBDRGVjb2Rlcjo6U2V0RGVjb2RlclByb3BlcnRpZXMyKGNv bnN0IEJ5dGUgKmRhdGEsIFVJbnQzMiBzaXplKQotIHsKLSAgIGlmIChzaXplIDwgMSkKLSAgICAg cmV0dXJuIEVfSU5WQUxJREFSRzsKLS0gIG1fSXNTb2xpZCA9ICgoZGF0YVswXSAmIDEpICE9IDAp OwotKyAgX2lzU29saWQgPSAoKGRhdGFbMF0gJiAxKSAhPSAwKTsKLSAgIHJldHVybiBTX09LOwot IH0KLSAKLWRpZmYgLS1naXQgYS9DUFAvN3ppcC9Db21wcmVzcy9SYXIzRGVjb2Rlci5oIGIvQ1BQ Lzd6aXAvQ29tcHJlc3MvUmFyM0RlY29kZXIuaAotaW5kZXggMmY3MmQ3ZC4uMzJjODk0MyAxMDA2 NDQKLS0tLSBhL0NQUC83emlwL0NvbXByZXNzL1JhcjNEZWNvZGVyLmgKLSsrKyBiL0NQUC83emlw L0NvbXByZXNzL1JhcjNEZWNvZGVyLmgKLUBAIC0xOTEsNyArMTkxLDggQEAgY2xhc3MgQ0RlY29k ZXI6Ci0gICBDUmVjb3JkVmVjdG9yPENUZW1wRmlsdGVyICo+ICBfdGVtcEZpbHRlcnM7Ci0gICBV SW50MzIgX2xhc3RGaWx0ZXI7Ci0gCi0tICBib29sIG1fSXNTb2xpZDsKLSsgIGJvb2wgX2lzU29s aWQ7Ci0rICBib29sIF9zb2xpZEFsbG93ZWQ7Ci0gICBib29sIF9lcnJvck1vZGU7Ci0gCi0gICBi b29sIF9sek1vZGU7Ci1kaWZmIC0tZ2l0IGEvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyNURlY29kZXIu Y3BwIGIvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyNURlY29kZXIuY3BwCi1pbmRleCBkYzg4MzBmLi5h ODI2ZDVhIDEwMDY0NAotLS0tIGEvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyNURlY29kZXIuY3BwCi0r KysgYi9DUFAvN3ppcC9Db21wcmVzcy9SYXI1RGVjb2Rlci5jcHAKLUBAIC03Miw2ICs3Miw3IEBA IENEZWNvZGVyOjpDRGVjb2RlcigpOgotICAgICBfd3JpdHRlbkZpbGVTaXplKDApLAotICAgICBf ZGljdFNpemVMb2coMCksCi0gICAgIF9pc1NvbGlkKGZhbHNlKSwKLSsgICAgX3NvbGlkQWxsb3dl ZChmYWxzZSksCi0gICAgIF93YXNJbml0KGZhbHNlKSwKLSAgICAgX2lucHV0QnVmKE5VTEwpCi0g ewotQEAgLTgwMSw3ICs4MDIsMTAgQEAgSFJFU1VMVCBDRGVjb2Rlcjo6Q29kZVJlYWwoKQotICAg Ki8KLSAKLSAgIGlmIChyZXMgPT0gU19PSykKLSsgIHsKLSsgICAgX3NvbGlkQWxsb3dlZCA9IHRy dWU7Ci0gICAgIHJlcyA9IHJlczI7Ci0rICB9Ci0gICAgICAKLSAgIGlmIChyZXMgPT0gU19PSyAm JiBfdW5wYWNrU2l6ZV9EZWZpbmVkICYmIF93cml0dGVuRmlsZVNpemUgIT0gX3VucGFja1NpemUp Ci0gICAgIHJldHVybiBTX0ZBTFNFOwotQEAgLTgyMSw2ICs4MjUsMTAgQEAgU1RETUVUSE9ESU1Q IENEZWNvZGVyOjpDb2RlKElTZXF1ZW50aWFsSW5TdHJlYW0gKmluU3RyZWFtLCBJU2VxdWVudGlh bE91dFN0cmVhbQotIHsKLSAgIHRyeQotICAgewotKyAgICBpZiAoX2lzU29saWQgJiYgIV9zb2xp ZEFsbG93ZWQpCi0rICAgICAgcmV0dXJuIFNfRkFMU0U7Ci0rICAgIF9zb2xpZEFsbG93ZWQgPSBm YWxzZTsKLSsKLSAgICAgaWYgKF9kaWN0U2l6ZUxvZyA+PSBzaXplb2Yoc2l6ZV90KSAqIDgpCi0g ICAgICAgcmV0dXJuIEVfTk9USU1QTDsKLSAKLWRpZmYgLS1naXQgYS9DUFAvN3ppcC9Db21wcmVz cy9SYXI1RGVjb2Rlci5oIGIvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyNURlY29kZXIuaAotaW5kZXgg YjBhNGRkMS4uM2RiNTAxOCAxMDA2NDQKLS0tLSBhL0NQUC83emlwL0NvbXByZXNzL1JhcjVEZWNv ZGVyLmgKLSsrKyBiL0NQUC83emlwL0NvbXByZXNzL1JhcjVEZWNvZGVyLmgKLUBAIC0yNzEsNiAr MjcxLDcgQEAgY2xhc3MgQ0RlY29kZXI6Ci0gICBCeXRlIF9kaWN0U2l6ZUxvZzsKLSAgIGJvb2wg X3RhYmxlV2FzRmlsbGVkOwotICAgYm9vbCBfaXNTb2xpZDsKLSsgIGJvb2wgX3NvbGlkQWxsb3dl ZDsKLSAgIGJvb2wgX3dhc0luaXQ7Ci0gCi0gICBVSW50MzIgX3JlcHNba051bVJlcHNdOwpkaWZm IC0tZ2l0IGEvc3JjcGtncy9wN3ppcC9wYXRjaGVzL0NWRS0yMDE2LTkyOTYucGF0Y2ggYi9zcmNw a2dzL3A3emlwL3BhdGNoZXMvQ1ZFLTIwMTYtOTI5Ni5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggZmJiYjMzNzczN2U1Li4wMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9wN3pp cC9wYXRjaGVzL0NWRS0yMDE2LTkyOTYucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxMiArMCww IEBACi0tLS0gYS9DUFAvN3ppcC9BcmNoaXZlLzd6Lzd6SW4uY3BwCVN1biBOb3YgMjAgMDk6Mjk6 NDEgMjAxNgotKysrIGIvQ1BQLzd6aXAvQXJjaGl2ZS83ei83ekluLmNwcAlTdW4gTm92IDIwIDA5 OjMxOjIyIDIwMTYKLUBAIC0xMDk3LDcgKzEwOTcsOCBAQCBIUkVTVUxUIENJbkFyY2hpdmU6OlJl YWRBbmREZWNvZGVQYWNrZWRTdHJlYW1zKAotICAgICAgIGlmIChDcmNDYWxjKGRhdGEsIHVucGFj a1NpemUpICE9IGZvbGRlcnMuRm9sZGVyQ1JDcy5WYWxzW2ldKQotICAgICAgICAgVGhyb3dJbmNv cnJlY3QoKTsKLSAgIH0KLS0gIEhlYWRlcnNTaXplICs9IGZvbGRlcnMuUGFja1Bvc2l0aW9uc1tm b2xkZXJzLk51bVBhY2tTdHJlYW1zXTsKLSsgIGlmIChmb2xkZXJzLlBhY2tQb3NpdGlvbnMpCi0r ICAgICAgSGVhZGVyc1NpemUgKz0gZm9sZGVycy5QYWNrUG9zaXRpb25zW2ZvbGRlcnMuTnVtUGFj a1N0cmVhbXNdOwotICAgcmV0dXJuIFNfT0s7Ci0gfQotIApkaWZmIC0tZ2l0IGEvc3JjcGtncy9w N3ppcC9wYXRjaGVzL0NWRS0yMDE3LTE3OTY5LnBhdGNoIGIvc3JjcGtncy9wN3ppcC9wYXRjaGVz L0NWRS0yMDE3LTE3OTY5LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5YTgy MGFmNzMwNjcuLjAwMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL3A3emlwL3BhdGNoZXMvQ1ZFLTIw MTctMTc5NjkucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyNiArMCwwIEBACi1Gcm9tOiA9P3V0 Zi04P3E/QW50b2luZV9CZWF1cHI9QzM9QTk/PSA8YW5hcmNhdEBkZWJpYW4ub3JnPgotRGF0ZTog U3VuLCAyOCBKYW4gMjAxOCAyMToxOTo1MCArMDEwMAotU3ViamVjdDogYmFja3BvcnQgb2YgdGhl IENWRS0yMDE3LTE3OTY5IGZpeCBmcm9tIDd6aXAgMTguMDAtYmV0YQotCi0tLS0KLSBDUFAvN3pp cC9Db21wcmVzcy9TaHJpbmtEZWNvZGVyLmNwcCB8IDcgKysrKysrLQotIDEgZmlsZSBjaGFuZ2Vk LCA2IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL0NQUC83emlw L0NvbXByZXNzL1Nocmlua0RlY29kZXIuY3BwIGIvQ1BQLzd6aXAvQ29tcHJlc3MvU2hyaW5rRGVj b2Rlci5jcHAKLWluZGV4IDgwYjdlNjcuLjRhY2RjZTUgMTAwNjQ0Ci0tLS0gYS9DUFAvN3ppcC9D b21wcmVzcy9TaHJpbmtEZWNvZGVyLmNwcAotKysrIGIvQ1BQLzd6aXAvQ29tcHJlc3MvU2hyaW5r RGVjb2Rlci5jcHAKLUBAIC0xMjEsNyArMTIxLDEyIEBAIEhSRVNVTFQgQ0RlY29kZXI6OkNvZGVS ZWFsKElTZXF1ZW50aWFsSW5TdHJlYW0gKmluU3RyZWFtLCBJU2VxdWVudGlhbE91dFN0cmVhbSAq Ci0gICAgIHsKLSAgICAgICBfc3RhY2tbaSsrXSA9IF9zdWZmaXhlc1tjdXJdOwotICAgICAgIGN1 ciA9IF9wYXJlbnRzW2N1cl07Ci0tICAgIH0KLSsgICAgICBpZiAoaSA+PSBrTnVtSXRlbXMpCi0r ICAgICAgICBicmVhazsKLSsgICAgIH0KLSsKLSsgICAgaWYgKGkgPj0ga051bUl0ZW1zKQotKyAg ICAgIGJyZWFrOwotICAgICAKLSAgICAgX3N0YWNrW2krK10gPSAoQnl0ZSljdXI7Ci0gICAgIGxh c3RDaGFyMiA9IChCeXRlKWN1cjsKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcDd6aXAvdGVtcGxhdGUg Yi9zcmNwa2dzL3A3emlwL3RlbXBsYXRlCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2 NDJlMjRhZGFmNTIuLjAwMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL3A3emlwL3RlbXBsYXRlCisr KyAvZGV2L251bGwKQEAgLTEsNDcgKzAsMCBAQAotIyBUZW1wbGF0ZSBmaWxlIGZvciAncDd6aXAn Ci1wa2duYW1lPXA3emlwCi12ZXJzaW9uPTE2LjAyCi1yZXZpc2lvbj01Ci13cmtzcmM9IiR7cGtn bmFtZX1fJHt2ZXJzaW9ufSIKLWhvc3RtYWtlZGVwZW5kcz0ieWFzbSBuYXNtIgotc2hvcnRfZGVz Yz0iQ29tbWFuZC1saW5lIHZlcnNpb24gb2YgdGhlIDd6aXAgY29tcHJlc3NlZCBmaWxlIGFyY2hp dmUiCi1tYWludGFpbmVyPSJPcnBoYW5lZCA8b3JwaGFuQHZvaWRsaW51eC5vcmc+IgotbGljZW5z ZT0iTEdQTC0yLjEtb3ItbGF0ZXIiCi1ob21lcGFnZT0iaHR0cDovL3A3emlwLnNvdXJjZWZvcmdl Lm5ldC8iCi1kaXN0ZmlsZXM9IiR7U09VUkNFRk9SR0VfU0lURX0vJHtwa2duYW1lfS8ke3BrZ25h bWV9XyR7dmVyc2lvbn1fc3JjX2FsbC50YXIuYnoyIgotY2hlY2tzdW09NWViMjBhYzBlMjk0NGY2 Y2I5YzJkNTFkZDZjNDUxODk0MWMxODUzNDdkNDA4OWVhODkwODdmZmRkNmUyMzQxZgotCi1DWFhG TEFHUz0iLVduby1uYXJyb3dpbmciCi0KLWRvX2NvbmZpZ3VyZSgpIHsKLQljYXNlICIkWEJQU19U QVJHRVRfTUFDSElORSIgaW4KLQkJaTY4NiopIGNwIG1ha2VmaWxlLmxpbnV4X3g4Nl9hc21fZ2Nj XzQuWCBtYWtlZmlsZS5tYWNoaW5lOzsKLQkJeDg2XzY0KikgY3AgbWFrZWZpbGUubGludXhfYW1k NjRfYXNtIG1ha2VmaWxlLm1hY2hpbmU7OwotCQkqKSBjcCBtYWtlZmlsZS5saW51eF9hbnlfY3B1 X2djY180LlggbWFrZWZpbGUubWFjaGluZTs7Ci0JZXNhYwotCXNlZCAtZSAicyxnKyssJHtDWFh9 LCIgLWkgbWFrZWZpbGUubWFjaGluZQotCXNlZCAtZSAicyxnY2MsJHtDQ30sIiAtaSBtYWtlZmls ZS5tYWNoaW5lCi19Ci1kb19idWlsZCgpIHsKLQltYWtlIGFsbDMgT1BURkxBR1M9IiRDWFhGTEFH UyIgJHttYWtlam9ic30KLX0KLWRvX2luc3RhbGwoKSB7Ci0JbWFrZSBpbnN0YWxsIERFU1RfRElS PSIke0RFU1RESVJ9IiBERVNUX0hPTUU9Ii91c3IiIFwKLQkJREVTVF9NQU49Ii91c3Ivc2hhcmUv bWFuIiBcCi0JCURFU1RfU0hBUkVfRE9DPSIvdXNyL3NoYXJlL2RvYy8ke3BrZ25hbWV9IgotCWZp bmQgJHtERVNURElSfS91c3Ivc2hhcmUvZG9jLyRwa2duYW1lIC10eXBlIGQgLWV4ZWMgY2htb2Qg NzU1IHt9IFw7Ci0JbWtkaXIgLXAgJHtERVNURElSfS91c3Ivc2hhcmUvbGljZW5zZXMvcDd6aXAv Ci0JbXYgJHtERVNURElSfS91c3Ivc2hhcmUvZG9jL3A3emlwL0RPQy9jb3B5aW5nLnR4dCBcCi0J ICAgJHtERVNURElSfS91c3Ivc2hhcmUvbGljZW5zZXMvcDd6aXAvTElDRU5TRQotfQotCi1wN3pp cC11bnJhcl9wYWNrYWdlKCkgewotCXNob3J0X2Rlc2MrPSIgLSBSQVIgc3VwcG9ydCIKLQlsaWNl bnNlPSJjdXN0b206ZnJlZXdhcmUiCi0JZGVwZW5kcz0iJHtzb3VyY2Vwa2d9LSR7dmVyc2lvbn1f JHtyZXZpc2lvbn0iCi0JcmVwb3NpdG9yeT1ub25mcmVlCi0JcGtnX2luc3RhbGwoKSB7Ci0JCXZt b3ZlIHVzci9saWIvcDd6aXAvQ29kZWNzL1Jhci5zbwotCQl2bGljZW5zZSBET0MvdW5SYXJMaWNl bnNlLnR4dCBMSUNFTlNFCi0JfQotfQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9wN3ppcC91cGRhdGUg Yi9zcmNwa2dzL3A3emlwL3VwZGF0ZQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODRl ZDQ2ZDc0YTFhLi4wMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9wN3ppcC91cGRhdGUKKysrIC9k ZXYvbnVsbApAQCAtMSArMCwwIEBACi1wYXR0ZXJuPSdwN3ppcF9cS1suXGRdKycKCkZyb20gNjFj YzJmOTY2NGRlMDlkMmQ2N2I3M2UyMjJmMjA3YzA1NmQzMDdhZSBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKRnJvbTogUm9iZXJ0byBSaWNjaSA8cmljY2lAZGlzcm9vdC5vcmc+CkRhdGU6IE1vbiwg MjkgQXVnIDIwMjIgMTQ6NDY6MTYgKzAyMDAKU3ViamVjdDogW1BBVENIIDIvMl0gYXJrOiBmaXgg N3ppcCBjaGVja2RlcGVuZHMKCkJ5IGRlZmF1bHQsIHdoZW4gYm90aCBwYWNrYWdlcyBhcmUgaW5z dGFsbGVkLCB0aGUgYWx0ZXJuYXRpdmVzIGZvcgo3emlwIGhhdmUgcHJlY2VkZW5jZSBvdmVyIHRo ZSBvbmVzIGZvciA3emlwLXVucmFyLgotLS0KIHNyY3BrZ3MvYXJrL3RlbXBsYXRlIHwgMiArLQog MSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0 IGEvc3JjcGtncy9hcmsvdGVtcGxhdGUgYi9zcmNwa2dzL2Fyay90ZW1wbGF0ZQppbmRleCA2Mjhl NjNkZWMwN2EuLmQyYmJhM2E4ZTE1NCAxMDA2NDQKLS0tIGEvc3JjcGtncy9hcmsvdGVtcGxhdGUK KysrIGIvc3JjcGtncy9hcmsvdGVtcGxhdGUKQEAgLTcsNyArNyw3IEBAIGNvbmZpZ3VyZV9hcmdz PSItRERFU0tUT1BUT0pTT05fRVhFQ1VUQUJMRT0vdXNyL2Jpbi9kZXNrdG9wdG9qc29uIgogaG9z dG1ha2VkZXBlbmRzPSJleHRyYS1jbWFrZS1tb2R1bGVzIHF0NS1kZXZlbCBxdDUtcW1ha2UKICBr ZG9jdG9vbHMga2NvbmZpZyBnZXR0ZXh0IHBrZy1jb25maWcgcHl0aG9uMyBrY29yZWFkZG9ucyBr cGFydHMiCiBtYWtlZGVwZW5kcz0ibGliYXJjaGl2ZS1kZXZlbCBrcHR5LWRldmVsIGtwYXJ0cy1k ZXZlbCBraXRlbW1vZGVscy1kZXZlbCBsaWJ6aXAtZGV2ZWwiCi1jaGVja2RlcGVuZHM9InA3emlw IHA3emlwLXVucmFyIGx6b3AgbHJ6aXAgdW5yYXIgdW56aXAgemlwIHpzdGQiCitjaGVja2RlcGVu ZHM9Ijd6aXAtdW5yYXIgbHpvcCBscnppcCB1bnJhciB1bnppcCB6aXAgenN0ZCIKIHNob3J0X2Rl c2M9IktERSBBcmNoaXZpbmcgVG9vbCIKIG1haW50YWluZXI9IkpvaG4gPG1lQGpvaG5ueW5hdG9y LmRldj4iCiBsaWNlbnNlPSJHUEwtMi4wLW9yLWxhdGVyIgo= --===============7569822362785081116==--