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 autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 31903 invoked from network); 5 Mar 2023 21:05:34 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 5 Mar 2023 21:05:34 -0000 Content-Type: multipart/mixed; boundary="===============8535085965182075305==" MIME-Version: 1.0 Subject: =?utf8?q?Re=3A_=5BPR_PATCH=5D_=5BUpdated=5D_openldap=3A_update_to_2=2E6=2E4?= To: ml@inbox.vuxu.org From: klarasm Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Sun, 05 Mar 2023 22:05:33 +0100 List-Id: Message-ID: <20230305210533.UBqEsl1OGnJI1qJDSnsMJGKRc-QET4YmvbGBYBm1ZYk@z> GitHub notification mails are now in MIME to allow UTF8. --===============8535085965182075305== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkga2xhcmFzbSBhZ2FpbnN0IG1hc3Rl ciBvbiB0aGUgdm9pZC1wYWNrYWdlcyByZXBvc2l0b3J5CgpodHRwczovL2dpdGh1Yi5jb20va2xh cmFzbS92b2lkLXBhY2thZ2VzIG9wZW5sZGFwLTIuNgpodHRwczovL2dpdGh1Yi5jb20vdm9pZC1s aW51eC92b2lkLXBhY2thZ2VzL3B1bGwvNDE5NDgKCm9wZW5sZGFwOiB1cGRhdGUgdG8gMi42LjQK VGhlIDIuNCBicmFuY2ggaXMgbm90IG1haW50YWluZWQgYW55bW9yZSBhbmQgSSBkb24ndCBrbm93 IGlmIHRoZXJlJ3MgbXVjaCBhZHZhbnRhZ2UgdG8gZ29pbmcgdG8gMi41IGluc3RlYWQgb2YgMi42 DQoNClNvbWUgc2hhcmVkIGxpYnJhcmllcyBoYXZlIGNoYW5nZWQgbmFtZSBzbyB0aGlzIHVwZGF0 ZXMgY29tbW9uL3NobGlicy4NCg0KQXMgdGhpcyBpcyBhIG1ham9yIHVwZGF0ZSB0aGUgbGRhcCBk YXRhYmFzZSBzaG91bGQgYmUgYmFja2VkIHVwIGFuZCByZWNyZWF0ZWQgYXMgcGVyIGh0dHBzOi8v d3d3Lm9wZW5sZGFwLm9yZy9kb2MvYWRtaW4yNi9tYWludGVuYW5jZS5odG1sDQoNCiMjIyMgVGVz dGluZyB0aGUgY2hhbmdlcw0KLSBJIHRlc3RlZCB0aGUgY2hhbmdlcyBpbiB0aGlzIFBSOiAqKllF UyoqIChtYWlubHkgb3BlbmxkYXAsIG1pdC1rcmI1IGFuZCBjeXJ1cy1zYXNsKQ0KLSBJIGhhdmVu J3QgdGVzdGVkIHRoZSByZXZidW1wZWQgcGFja2FnZXMgdGhhdCBtdWNoLCBvdGhlciB0aGFuIGJ1 aWxkaW5nIHdpdGggdGhlaXIgdGVzdCBzdWl0ZQ0KDQpJIGhhdmUgdXBncmFkZWQgbXkgbGRhcCBz ZXR1cCB0byB0aGlzIHZlcnNpb24uIEl0J3Mgbm90IHZlcnkgY29tcGxpY2F0ZWQgc28gbWF5IG5v dCBiZSBncmVhdCBmb3IgY292ZXJhZ2UuDQpCYXNpY2FsbHk6DQotIHR3byBub2Rlcywgd2l0aCBu b3JtYWwgc3luY3JlcGwgYW5kIGdzc2FwaS9rZXJiZXJvcyBmb3IgYXV0aGVudGljYXRpb24NCi0g dGhlIGxkYXAgZGlyZWN0b3J5IGlzIHVzZWQgYXMgZGF0YWJhc2UgYmFja2VuZCBmb3IgbXkga2Vy YmVyb3Mgc2V0dXANCi0gSSBoYXZlIGEgZmV3IG1hY2hpbmVzIHNldHVwIHdpdGgga2VyYmVyb3Mg Zm9yIGF1dGhlbnRpY2F0aW9uIGFuZCBsZGFwIGFzIGlkIHByb3ZpZGVyIChzb21lIHdpdGggc3Nz ZCBhbmQgc29tZSB3aXRoIG5zbGNkKQ0KDQpTbyBmYXIgaXQgc2VlbXMgcHJvbWlzaW5nIGJ1dCB3 aWxsIHRlc3QgbW9yZS4gSSB3b3VsZCBhcHByZWNpYXRlIGlmIGFueW9uZSBlbHNlIGNvdWxkIHRl c3QgYXMgd2VsbC4NCg0KSSBoYXZlIHByb2JhYmx5IG1pc3NlZCBwYWNrYWdlcyB0aGF0IG5lZWQg dG8gYmUgcmV2YnVtcGVkIHNvIHBsZWFzZSBwb2ludCB0aGVtIG91dCBpbiB0aGF0IGNhc2UuDQoN ClBhY2thZ2VzIHRoYXQgZGVwZW5kIG9uIGxpYmxkYXA6DQotIFt4XSBGcmVlUkFESVVTLTMuMC4y Nl8xIChvdXQgb2YgZGF0ZSwgbmV3ZXN0IHZlcnNpb24gaXMgMy4yLjEpDQotIFt4XSBhbHBpbmUt Mi4yNl8xDQotIFt4XSBhbmp1dGEtMy4zNC4wXzQgKGZpeCBmYXVsdHkgZGV0ZWN0aW9uIG9mIHdl YmtpdDJndGspDQotIFt4XSBhcGFjaGUtMi40LjU0XzIgKG91dCBvZiBkYXRlLCBuZXdlc3QgdmVy c2lvbiBpcyAyLjQuNTUpDQotIFt4XSBhcHItdXRpbC1sZGFwLTEuNi4xXzEzICh1cGRhdGUgdG8g MS42LjIpDQotIFt4XSBhdWRpdC0zLjAuM180IChvdXQgb2YgZGF0ZSwgbmV3ZXN0IHZlcnNpb24g aXMgMy4wLjkpDQotIFt4XSBhdXRvZnMtNS4xLjhfMiAob3V0IG9mIGRhdGUsIG5ld2VzdCB2ZXJz aW9uIGlzIDUuMS45KQ0KLSBbeF0gY2xhd3MtbWFpbC00LjEuMV8xDQotIFt4XSBjeXJ1cy1zYXNs LTIuMS4yN185IChvdXQgb2YgZGF0ZSwgbmV3ZXN0IHZlcnNpb24gaXMgMi4xLjI4KQ0KLSBbeF0g ZG92ZWNvdC1wbHVnaW4tbGRhcC0yLjMuMjBfMQ0KLSBbeF0gZG92ZWNvdC1wbHVnaW4tcGlnZW9u aG9sZS1sZGFwLTAuNS4yMF8xDQotIFt4XSBldm9sdXRpb24tMy40Ni4yXzENCi0gW3hdIGV2b2x1 dGlvbi1kYXRhLXNlcnZlci0zLjQ2LjJfMQ0KLSBbeF0gZ251cGctMi4zLjhfMQ0KLSBbeF0gZ251 cGcxLTEuNC4yM18xDQotIFt4XSBrbGRhcC0yMi4wOC4yXzENCi0gW3hdIGxkYXB2aS0xLjdfMTEN Ci0gW3hdIGxpYm5mc2lkbWFwLTIuNS40XzINCi0gW3hdIGxpYnJlb2ZmaWNlLWNvbW1vbi03LjQu My4yXzENCi0gW3hdIGxpZ2h0dHBkLTEuNC42OF8xDQotIFt4XSBsb2c0Y3h4LTAuMTAuMF80ICh1 cGRhdGUgdG8gMS4wLjApDQotIFt4XSBsdWE1NC1sdWFsZGFwLTEuMi41XzMgKG91dCBvZiBkYXRl LCBuZXdlc3QgdmVyc2lvbiBpcyAxLjMuMCkNCi0gW3hdIG1pdC1rcmI1LWxpYnMtMS4xOC4zXzIg KHVwZGF0ZSB0byAxLjIwLjEpDQotIFt4XSBtb25pdG9yaW5nLXBsdWdpbnMtMi4zLjJfMSAob3V0 IG9mIGRhdGUsIG5ld2VzdCB2ZXJzaW9uIGlzIDIuMy4zKQ0KLSBbeF0gbnNzLXBhbS1sZGFwZC0w LjkuMTJfMQ0KLSBbeF0gcGhwLWxkYXAtNy40LjMzXzENCi0gW3hdIHBocDguMC1sZGFwLTguMC4y NV8xIChvdXQgb2YgZGF0ZSwgbmV3ZXN0IHZlcnNpb24gaXMgOC4wLjI3KQ0KLSBbeF0gcGhwOC4x LWxkYXAtOC4xLjEyXzEgKG91dCBvZiBkYXRlLCBuZXdlc3QgdmVyc2lvbiBpbiBicmFuY2ggaXMg OC4xLjE0LiA4LjIuMSBpcyBhbHNvIGF2YWlsYWJsZSkNCi0gW3hdIHBvc3RmaXgtMy43LjNfMQ0K LSBbeF0gcHl0aG9uMy1sZGFwLTMuMi4wXzUgKHVwZGF0ZSB0byAzLjQuMykNCi0gW3hdIHF1b3Rh LTQuMDlfMQ0KLSBbeF0gc2FtYmEtNC4xNC4xMl8yIChvdXQgb2YgZGF0ZSwgbmV3ZXN0IHZlcnNp b24gaXMgNC4xNy41KQ0KLSBbeF0gc2VhaG9yc2UtNDMuMF8xDQotIFt4XSBzcXVpZC01LjdfMQ0K LSBbeF0gc3NzZC0yLjQuMF81IChvdXQgb2YgZGF0ZSwgbGF0ZXN0IHZlcnNpb24gaXMgMi44LjIp DQotIFt4XSBzeWxwaGVlZC0zLjcuMF84DQotIFt4XSB2aXJ0dW9zby1iYXNlLTcuMi41LjFfMyAo dXBkYXRlIHRvIDcuMi44KQ0KLSBbeF0geDJnb2NsaWVudC00LjEuMi4yXzINCg0KW2NpIHNraXBd IGFnYWluLiBUaGlzIHdpbGwgcHJvYmFibHkgdGFrZSBhIGxvbmcgdGltZSB0byBidWlsZC4NCg0K IyMjIyBMb2NhbCBidWlsZCB0ZXN0aW5nDQotIEkgYnVpbHQgdGhpcyBQUiBsb2NhbGx5IGZvciBt eSBuYXRpdmUgYXJjaGl0ZWN0dXJlLCAoeDg2XzY0LWdsaWJjKQ0KLSBJIGJ1aWx0IHRoaXMgUFIg bG9jYWxseSBmb3IgbXkgbmF0aXZlIGFyY2hpdGVjdHVyZSwgKHg4Nl82NC1tdXNsKS4gQnVpbGQg aXNzdWVzOg0KICAtIFt4XSBhdWRpdC0zLjAuM180IChvdXQgb2YgZGF0ZSwgbmV3ZXN0IHZlcnNp b24gaXMgMy4wLjkpIGFscmVhZHkgZmFpbGluZyBvbiBtYXN0ZXIgYnJhbmNoDQogIC0gW3hdIGRv dmVjb3QtcGx1Z2luLWxkYXAtMi4zLjIwXzEgYWxyZWFkeSBmYWlsaW5nIG9uIG1hc3RlciBicmFu Y2gNCiAgLSBbeF0gZG92ZWNvdC1wbHVnaW4tcGlnZW9uaG9sZS1sZGFwLTAuNS4yMF8xIHRlc3Qg c3VpdGUgcGFzc2VzIGlmIGRvdmVjb3QgaXMgYnVpbHQgd2l0aG91dCBjaGVja3MgZmlyc3QNCiAg LSBbeF0gZXZvbHV0aW9uLTMuNDYuMl8xIHRlc3RzIGFyZSBub3QgZm91bmQgb24gbWFzdGVyIGJy YW5jaCBhbmQgdGh1cyBwYXNzZXMgd2l0aG91dCBydW5uaW5nIHRoZW0NCiAgLSBbeF0gZXZvbHV0 aW9uLWRhdGEtc2VydmVyLTMuNDYuMl8xIGFscmVhZHkgZmFpbGluZyBvbiBtYXN0ZXIgYnJhbmNo DQoNCi0gSSBidWlsdCB0aGlzIFBSIGxvY2FsbHkgZm9yIHRoZXNlIGFyY2hpdGVjdHVyZXMgKGlm IHN1cHBvcnRlZC4gbWFyayBjcm9zc2J1aWxkcyk6DQogIC0gYWFyY2g2NC1tdXNsICh4MmdvLWNs aWVudCwgdmlydHVvc28sIHNzc2QsIHNxdWlkLCBsaWJyZW9mZmljZSBhbmQgRnJlZVJBRElVUyBm YWlsIGR1ZSB0byBjcm9zcy1jb21waWxhdGlvbiwgYWxsIG90aGVyIGNvbXBsZXRlKQ0KICAtIGFy bXY2bC1tdXNsICh4MmdvLWNsaWVudCwgdmlydHVvc28sIHNzc2QsIHNxdWlkLCBsaWJyZW9mZmlj ZSBhbmQgRnJlZVJBRElVUyBmYWlsIGR1ZSB0byBjcm9zcy1jb21waWxhdGlvbiwgYWxsIG90aGVy IGNvbXBsZXRlKQ0KICAtIGFybXY3bCAoeDJnby1jbGllbnQsIHZpcnR1b3NvLCBzc3NkLCBzcXVp ZCwgbGlicmVvZmZpY2UgYW5kIEZyZWVSQURJVVMgZmFpbCBkdWUgdG8gY3Jvc3MtY29tcGlsYXRp b24sIGFsbCBvdGhlciBjb21wbGV0ZSkNCiAgLSBpNjg2IChhcHItdXRpbCBzZWVtcyB0byByZXF1 aXJlIHg4Nl82NCBhbmQgY29tcGxhaW5zIHRoYXQgc2VsZWN0ZWQgY3B1IGRvZXMgbm90IHN1cHBv cnQgdGhhdC4gVGhpcyBtYWtlcyBvdGhlciBwYWNrYWdlIHRoYXQgZGVwZW5kIG9uIGFwci11dGls IGZhaWwgYXMgd2VsbDogYW5qdXRhLCBhcGFjaGUsIHBocCwgcGhwOC4wIGFuZCBsb2c0Y3h4LiB2 aXJ0dW9zbywgc3NzZCwgbGlicmVvZmZpY2UsIEZyZWVSQURJVVMsIHNxdWlkIGFuZCBnbnVwZzEg cHJvYmFibHkgZmFpbHMgZHVlIHRvIGNyb3NzLWNvbXBpbGF0aW9uKQoKQSBwYXRjaCBmaWxlIGZy b20gaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGludXgvdm9pZC1wYWNrYWdlcy9wdWxsLzQxOTQ4 LnBhdGNoIGlzIGF0dGFjaGVk --===============8535085965182075305== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-openldap-2.6-41948.patch" RnJvbSA1YjgyMGZiY2NmMDk0YzczMDRmM2E3MzgxZGM3NzAxNTllNmFhNzUzIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBLbGFyYSBNb2RpbiA8a2xhcmFzbW9kaW5AZ21haWwuY29tPgpE YXRlOiBXZWQsIDIgTm92IDIwMjIgMjE6MDQ6NDYgKzAxMDAKU3ViamVjdDogW1BBVENIIDAxLzM4 XSBvcGVubGRhcDogdXBkYXRlIHRvIDIuNi40CgotIHVwZGF0ZSBjb21tb24vc2hsaWJzCi0gYWRk IHNsYXBkLmxkaWYgdG8gY29uZl9maWxlcwotIGFkZCBtb3JlIG9wdGlvbnMgdG8gcnVuaXQgc2Vy dmljZQotIHJlbW92ZSB1bnJlZ29nbml6ZWQgY29uZmlndXJlIG9wdHMKLS0tCiBjb21tb24vc2hs aWJzICAgICAgICAgICAgICAgICAgICB8ICA1ICsrLS0tCiBzcmNwa2dzL29wZW5sZGFwL2ZpbGVz L3NsYXBkL3J1biB8ICAyICstCiBzcmNwa2dzL29wZW5sZGFwL3RlbXBsYXRlICAgICAgICB8IDEy ICsrKysrKy0tLS0tLQogMyBmaWxlcyBjaGFuZ2VkLCA5IGluc2VydGlvbnMoKyksIDEwIGRlbGV0 aW9ucygtKQoKZGlmZiAtLWdpdCBhL2NvbW1vbi9zaGxpYnMgYi9jb21tb24vc2hsaWJzCmluZGV4 IDBmOWM3NWFmNDRiYy4uZWVhZDQ1NjJmNTA0IDEwMDY0NAotLS0gYS9jb21tb24vc2hsaWJzCisr KyBiL2NvbW1vbi9zaGxpYnMKQEAgLTY5OSw5ICs2OTksOCBAQCBsaWJnbm9tZS1ibHVldG9vdGgu c28uMTMgZ25vbWUtYmx1ZXRvb3RoMS0zLjEyLjBfMQogbGliZ25vbWUtYmx1ZXRvb3RoLTMuMC5z by4xMyBnbm9tZS1ibHVldG9vdGgtNDIuMV8xCiBsaWJnbm9tZS1ibHVldG9vdGgtdWktMy4wLnNv LjEzIGdub21lLWJsdWV0b290aC00Mi4xXzEKIGxpYnNhc2wyLnNvLjMgbGlic2FzbC0yLjEuMjZf MQotbGlibGJlci0yLjQuc28uMiBsaWJsZGFwLTIuNC4yMV8xCi1saWJsZGFwLTIuNC5zby4yIGxp YmxkYXAtMi40LjIxXzEKLWxpYmxkYXBfci0yLjQuc28uMiBsaWJsZGFwLTIuNC4yMV8xCitsaWJs YmVyLnNvLjIgbGlibGRhcC0yLjYuM18xCitsaWJsZGFwLnNvLjIgbGlibGRhcC0yLjYuM18xCiBs aWJldmVudC0yLjEuc28uNyBsaWJldmVudC0yLjEuMTFfMQogbGliZXZlbnRfY29yZS0yLjEuc28u NyBsaWJldmVudC0yLjEuMTFfMQogbGliZXZlbnRfZXh0cmEtMi4xLnNvLjcgbGliZXZlbnQtMi4x LjExXzEKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mvb3BlbmxkYXAvZmlsZXMvc2xhcGQvcnVuIGIvc3Jj cGtncy9vcGVubGRhcC9maWxlcy9zbGFwZC9ydW4KaW5kZXggZjdhZGRmY2JlZWEzLi40ZmEyMjUz YjE4MjUgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3Mvb3BlbmxkYXAvZmlsZXMvc2xhcGQvcnVuCisrKyBi L3NyY3BrZ3Mvb3BlbmxkYXAvZmlsZXMvc2xhcGQvcnVuCkBAIC03LDQgKzcsNCBAQCBpZiBbICEg LWQgL3J1bi9vcGVubGRhcCBdOyB0aGVuCiAJY2hvd24gJExEQVBVU0VSOiRMREFQR1JPVVAgL3J1 bi9vcGVubGRhcAogZmkKIGV4ZWMgMj4mMQotZXhlYyBzbGFwZCAtdSAkTERBUFVTRVIgLWcgJExE QVBHUk9VUCAtZCAwCitleGVjIHNsYXBkIC11ICRMREFQVVNFUiAtZyAkTERBUEdST1VQIC1kIDAg JHtMREFQVVJMUzorLWggIiRMREFQVVJMUyJ9ICRMREFQT1BUUwpkaWZmIC0tZ2l0IGEvc3JjcGtn cy9vcGVubGRhcC90ZW1wbGF0ZSBiL3NyY3BrZ3Mvb3BlbmxkYXAvdGVtcGxhdGUKaW5kZXggODVm ZTc5ZDc3ZDFlLi41NmI1ODljNmQ4MTMgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3Mvb3BlbmxkYXAvdGVt cGxhdGUKKysrIGIvc3JjcGtncy9vcGVubGRhcC90ZW1wbGF0ZQpAQCAtMSw2ICsxLDYgQEAKICMg VGVtcGxhdGUgZmlsZSBmb3IgJ29wZW5sZGFwJwogcGtnbmFtZT1vcGVubGRhcAotdmVyc2lvbj0y LjQuNTgKK3ZlcnNpb249Mi42LjQKIHJldmlzaW9uPTEKIGJ1aWxkX3N0eWxlPWdudS1jb25maWd1 cmUKIGNvbmZpZ3VyZV9hcmdzPSItLXByZWZpeD0vdXNyCkBAIC04LDIxICs4LDIxIEBAIGNvbmZp Z3VyZV9hcmdzPSItLXByZWZpeD0vdXNyCiAgLS1zeXNjb25mZGlyPS9ldGMKICAtLWxvY2Fsc3Rh dGVkaXI9L3Zhci9saWIvb3BlbmxkYXAKICAtLXNiaW5kaXI9L3Vzci9iaW4KLSAtLWVuYWJsZS1k eW5hbWljIC0tZW5hYmxlLXByb2N0aXRsZSAtLXdpdGgtdGxzIC0tZW5hYmxlLWxkYXAKKyAtLWVu YWJsZS1keW5hbWljIC0td2l0aC10bHMgLS1lbmFibGUtbGRhcAogIC0tZW5hYmxlLWlwdjYgLS1l bmFibGUtbG9jYWwgLS13aXRoLWN5cnVzLXNhc2wgLS13aXRoLXRocmVhZHMKICAtLWVuYWJsZS1z eXNsb2cgLS1lbmFibGUtc2xhcGQgLS1lbmFibGUtY3J5cHQgLS1lbmFibGUtc3Bhc3N3ZAotIC0t ZW5hYmxlLWJkYiAtLWVuYWJsZS1oZGIgLS1lbmFibGUtb3ZlcmxheXM9bW9kIC0tZW5hYmxlLW1l dGE9bW9kCisgLS1lbmFibGUtb3ZlcmxheXM9bW9kIC0tZW5hYmxlLW1ldGE9bW9kCiAgLS1kaXNh YmxlLXN0YXRpYyAtLXdpdGgteWllbGRpbmdfc2VsZWN0PXllcyAtLWVuYWJsZS1tb2R1bGVzIgog aG9zdG1ha2VkZXBlbmRzPSJwa2ctY29uZmlnIGdyb2ZmIgogbWFrZWRlcGVuZHM9Im9wZW5zc2wt ZGV2ZWwgbGlic2FzbC1kZXZlbCBkYi1kZXZlbCBsaWJsdGRsLWRldmVsIgogZGVwZW5kcz0ib3Bl bmxkYXAtdG9vbHM+PSR7dmVyc2lvbn1fJHtyZXZpc2lvbn0iCi1jb25mX2ZpbGVzPSIvZXRjL29w ZW5sZGFwL2xkYXAuY29uZiAvZXRjL29wZW5sZGFwL3NsYXBkLmNvbmYiCitjb25mX2ZpbGVzPSIv ZXRjL29wZW5sZGFwL2xkYXAuY29uZiAvZXRjL29wZW5sZGFwL3NsYXBkLmNvbmYgL2V0Yy9vcGVu bGRhcC9zbGFwZC5sZGlmIgogc2hvcnRfZGVzYz0iT3BlbkxEQVAgKExpZ2h0d2VpZ2h0IERpcmVj dG9yeSBBY2Nlc3MgUHJvdG9jb2wpIgogbWFpbnRhaW5lcj0iT3JwaGFuZWQgPG9ycGhhbkB2b2lk bGludXgub3JnPiIKIGxpY2Vuc2U9Ik9MREFQLTIuMCIKIGhvbWVwYWdlPSJodHRwOi8vd3d3Lm9w ZW5sZGFwLm9yZyIKIGRpc3RmaWxlcz0iaHR0cHM6Ly93d3cub3BlbmxkYXAub3JnL3NvZnR3YXJl L2Rvd25sb2FkL09wZW5MREFQL29wZW5sZGFwLXJlbGVhc2Uvb3BlbmxkYXAtJHt2ZXJzaW9ufS50 Z3oiCi1jaGVja3N1bT01N2I1OTI1NGJlMTVkMGJmNmE5YWIzZDUxNGMxYzA1Nzc3YjAyMTIzMjkx NTMzMTM0YTg3Yzk0NDY4ZjhmNDdiCitjaGVja3N1bT1kNTE3MDRlNTAxNzg0MzBjMDZjZjNkOGFh MTc0ZGE2NmJhZGY1NTk3NDdhNDdkOTIwYmI1NGIyZDRhYTQwOTkxCiAKIHN5c3RlbV9hY2NvdW50 cz0ibGRhcCIKIGxkYXBfaG9tZWRpcj0iL3Zhci9saWIvb3BlbmxkYXAiCkBAIC0zOCw3ICszOCw3 IEBAIHBvc3RfaW5zdGFsbCgpIHsKIAl2bGljZW5zZSBMSUNFTlNFCiAJY2htb2QgNzU1ICR7REVT VERJUn0vdXNyL2xpYi8qLnNvLioKIAl2bWtkaXIgdXNyL3NoYXJlL2V4YW1wbGVzL29wZW5sZGFw Ci0JbXYgJHtERVNURElSfS9ldGMvb3BlbmxkYXAvKi57ZXhhbXBsZSxkZWZhdWx0fSAke0RFU1RE SVJ9L3Vzci9zaGFyZS9leGFtcGxlcy9vcGVubGRhcAorCW12ICR7REVTVERJUn0vZXRjL29wZW5s ZGFwLyouZGVmYXVsdCAke0RFU1RESVJ9L3Vzci9zaGFyZS9leGFtcGxlcy9vcGVubGRhcAogCWNo bW9kIDA2NDQgJHtERVNURElSfS91c3Ivc2hhcmUvZXhhbXBsZXMvb3BlbmxkYXAvKgogfQogCgpG cm9tIGIyYmM2MzhiNjQ2ODRmYTM3N2YwZjgwOWQwMDhjMjU4YmM4MmJlYzYgTW9uIFNlcCAxNyAw MDowMDowMCAyMDAxCkZyb206IEtsYXJhIE1vZGluIDxrbGFyYXNtb2RpbkBnbWFpbC5jb20+CkRh dGU6IFdlZCwgMSBGZWIgMjAyMyAwMDoyNTozNiArMDEwMApTdWJqZWN0OiBbUEFUQ0ggMDIvMzhd IGN5cnVzLXNhc2w6IHJldmJ1bXAgZHVlIHRvIG9wZW5sZGFwIHVwZGF0ZQoKLS0tCiBzcmNwa2dz L2N5cnVzLXNhc2wvdGVtcGxhdGUgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24o KyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL2N5cnVzLXNhc2wvdGVtcGxh dGUgYi9zcmNwa2dzL2N5cnVzLXNhc2wvdGVtcGxhdGUKaW5kZXggYjI1OTE1MjEzOWZkLi5kOTY0 NmVkOGE2NDIgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvY3lydXMtc2FzbC90ZW1wbGF0ZQorKysgYi9z cmNwa2dzL2N5cnVzLXNhc2wvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZp bGUgZm9yICdjeXJ1cy1zYXNsJwogcGtnbmFtZT1jeXJ1cy1zYXNsCiB2ZXJzaW9uPTIuMS4yNwot cmV2aXNpb249OQorcmV2aXNpb249MTAKIGJ1aWxkX3N0eWxlPWdudS1jb25maWd1cmUKIGNvbmZp Z3VyZV9hcmdzPSItLWRpc2FibGUtc3RhdGljIC0tZW5hYmxlLXNoYXJlZCAtLWVuYWJsZS1jaGVj a2Fwb3AKICAtLWVuYWJsZS1jcmFtIC0tZW5hYmxlLWRpZ2VzdCAtLWRpc2FibGUtb3RwIC0tZGlz YWJsZS1zcnAKCkZyb20gODZlZjE3NzE1MGFiZTVkOGU4NDU2ZTE4ZWE1MmM3MWMyZjVkZjYzNCBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogS2xhcmEgTW9kaW4gPGtsYXJhc21vZGluQGdt YWlsLmNvbT4KRGF0ZTogV2VkLCAxIEZlYiAyMDIzIDAwOjI2OjA4ICswMTAwClN1YmplY3Q6IFtQ QVRDSCAwMy8zOF0gbWl0LWtyYjU6IHVwZGF0ZSB0byAxLjIwLjEKCkEgcmVidWlsZCB0cmlnZ2Vy ZCBieSB1cGRhdGUgdG8gb3BlbmxkYXAtMi42LjMgaGFkIHNvbWUgZXJyb3JzIGluIHRoZQp0ZXN0 IHN1aXRlLgpSZW1vdmUgcGF0Y2ggZm9yIGxpYnJlc3NsLgpGb2xsb3cgZGlzdGZpbGVzIGNvbnZl bnRpb24uCi0tLQogc3JjcGtncy9taXQta3JiNS9wYXRjaGVzL2xpYnJlc3NsLnBhdGNoIHwgMzgg LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogc3JjcGtncy9taXQta3JiNS90ZW1wbGF0ZSAgICAg ICAgICAgICAgIHwgIDggKysrLS0tCiAyIGZpbGVzIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwg NDIgZGVsZXRpb25zKC0pCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9taXQta3JiNS9wYXRj aGVzL2xpYnJlc3NsLnBhdGNoCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9taXQta3JiNS9wYXRjaGVz L2xpYnJlc3NsLnBhdGNoIGIvc3JjcGtncy9taXQta3JiNS9wYXRjaGVzL2xpYnJlc3NsLnBhdGNo CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2ZWIwZGJmY2FmM2QuLjAwMDAwMDAwMDAw MAotLS0gYS9zcmNwa2dzL21pdC1rcmI1L3BhdGNoZXMvbGlicmVzc2wucGF0Y2gKKysrIC9kZXYv bnVsbApAQCAtMSwzOCArMCwwIEBACi0tLS0gYS9zcmMvcGx1Z2lucy9wcmVhdXRoL3BraW5pdC9w a2luaXRfY3J5cHRvX29wZW5zc2wuYwkyMDE5LTAxLTA4IDE3OjAyOjM3LjAwMDAwMDAwMCArMDEw MAotKysrIGIvc3JjL3BsdWdpbnMvcHJlYXV0aC9wa2luaXQvcGtpbml0X2NyeXB0b19vcGVuc3Ns LmMJMjAxOS0wNS0xMSAxNjoyOTozNy4wMDE0NTgwODQgKzAyMDAKLUBAIC0xODksNyArMTg5LDcg QEAKLSAgICAgKCpfeDUwOV9wcCkgPSBQS0NTN19jZXJ0X2Zyb21fc2lnbmVyX2luZm8oX3A3LF9z aSkKLSAjZW5kaWYKLSAKLS0jaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDBM Ci0rI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDAwTCB8fCBkZWZpbmVkKExJ QlJFU1NMX1ZFUlNJT05fTlVNQkVSKQotIAotIC8qIDEuMSBzdGFuZGFyZGl6ZXMgY29uc3RydWN0 b3IgYW5kIGRlc3RydWN0b3IgbmFtZXMsIHJlbmFtaW5nCi0gICogRVZQX01EX0NUWF97Y3JlYXRl LGRlc3Ryb3l9IGFuZCBkZXByZWNhdGluZyBBU04xX1NUUklOR19kYXRhLiAqLwotQEAgLTMwNTMs NyArMzA1Myw3IEBACi0gICAgIHJldHVybiByZXR2YWw7Ci0gfQotIAotLSNpZiBPUEVOU1NMX1ZF UlNJT05fTlVNQkVSID49IDB4MTAxMDAwMDBMCi0rI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIg Pj0gMHgxMDEwMDAwMEwgfHwgZGVmaW5lZChMSUJSRVNTTF9WRVJTSU9OX05VTUJFUikKLSAKLSAv KgotICAqIFdlIG5lZWQgdG8gZGVjb2RlIERvbWFpblBhcmFtZXRlcnMgZnJvbSBSRkMgMzI3OSBz ZWN0aW9uIDIuMy4zLiAgV2Ugd291bGQKLUBAIC0zMDc5LDcgKzMwNzksNyBAQAotIEFTTjFfU0VR VUVOQ0UoREh2cGFyYW1zKSA9IHsKLSAgICAgQVNOMV9TSU1QTEUoaW50X2RodnBhcmFtcywgc2Vl ZCwgQVNOMV9CSVRfU1RSSU5HKSwKLSAgICAgQVNOMV9TSU1QTEUoaW50X2RodnBhcmFtcywgY291 bnRlciwgQklHTlVNKQotLX0gc3RhdGljX0FTTjFfU0VRVUVOQ0VfRU5EX25hbWUoaW50X2RodnBh cmFtcywgREh2cGFyYW1zKQotK30gQVNOMV9TRVFVRU5DRV9FTkRfbmFtZShpbnRfZGh2cGFyYW1z LCBESHZwYXJhbXMpCi0gCi0gQVNOMV9TRVFVRU5DRShESHhwYXJhbXMpID0gewotICAgICBBU04x X1NJTVBMRShpbnRfZGh4OTQyX2RoLCBwLCBCSUdOVU0pLAotQEAgLTMwODcsNyArMzA4Nyw3IEBA Ci0gICAgIEFTTjFfT1BUKGludF9kaHg5NDJfZGgsIHEsIEJJR05VTSksCi0gICAgIEFTTjFfT1BU KGludF9kaHg5NDJfZGgsIGosIEJJR05VTSksCi0gICAgIEFTTjFfT1BUKGludF9kaHg5NDJfZGgs IHZwYXJhbXMsIERIdnBhcmFtcyksCi0tfSBzdGF0aWNfQVNOMV9TRVFVRU5DRV9FTkRfbmFtZShp bnRfZGh4OTQyX2RoLCBESHhwYXJhbXMpCi0rfSBBU04xX1NFUVVFTkNFX0VORF9uYW1lKGludF9k aHg5NDJfZGgsIERIeHBhcmFtcykKLSAKLSBzdGF0aWMgREggKgotIGRlY29kZV9kaF9wYXJhbXMo Y29uc3QgdWludDhfdCAqcCwgdW5zaWduZWQgaW50IGxlbikKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mv bWl0LWtyYjUvdGVtcGxhdGUgYi9zcmNwa2dzL21pdC1rcmI1L3RlbXBsYXRlCmluZGV4IGE2N2Jh ZTE5NzY0YS4uMzZhN2RlNDZlMDk5IDEwMDY0NAotLS0gYS9zcmNwa2dzL21pdC1rcmI1L3RlbXBs YXRlCisrKyBiL3NyY3BrZ3MvbWl0LWtyYjUvdGVtcGxhdGUKQEAgLTIsOCArMiw4IEBACiAjIGlm IHRoZXJlIGlzIGEgYnVtcCBpbiAuc28gdmVyc2lvbiwKICMgYWxzbyB1cGRhdGUgc3JjcGtncy9s aWJnc3NnbHVlL2ZpbGVzL2dzc2FwaV9tZWNoLmNvbmYKIHBrZ25hbWU9bWl0LWtyYjUKLXZlcnNp b249MS4xOC4zCi1yZXZpc2lvbj0yCit2ZXJzaW9uPTEuMjAuMQorcmV2aXNpb249MQogYnVpbGRf c3R5bGU9Z251LWNvbmZpZ3VyZQogaG9zdG1ha2VkZXBlbmRzPSJlMmZzcHJvZ3MtZGV2ZWwgZmxl eCBwZXJsIHBrZy1jb25maWciCiBtYWtlZGVwZW5kcz0iZTJmc3Byb2dzLWRldmVsIGxpYmxkYXAt ZGV2ZWwiCkBAIC0xMSw4ICsxMSw4IEBAIHNob3J0X2Rlc2M9Ik1JVCBLZXJiZXJvcyA1IGltcGxl bWVudGF0aW9uIgogbWFpbnRhaW5lcj0iT3JwaGFuZWQgPG9ycGhhbkB2b2lkbGludXgub3JnPiIK IGxpY2Vuc2U9Ik1JVCIKIGhvbWVwYWdlPSJodHRwOi8vd2ViLm1pdC5lZHUva2VyYmVyb3MiCi1k aXN0ZmlsZXM9IiR7aG9tZXBhZ2V9L2Rpc3Qva3JiNS8ke3ZlcnNpb24lLip9L2tyYjUtJHt2ZXJz aW9ufS50YXIuZ3oiCi1jaGVja3N1bT1lNjE3ODNjMjkyYjVlZmQ5YWZiNDVjNTU1YTgwZGQyNjdh YzY3ZWViYWJjYTQyMTg1MzYyYmVlNmM0ZmJkNzE5CitkaXN0ZmlsZXM9Imh0dHA6Ly93ZWIubWl0 LmVkdS9rZXJiZXJvcy9kaXN0L2tyYjUvJHt2ZXJzaW9uJS4qfS9rcmI1LSR7dmVyc2lvbn0udGFy Lmd6IgorY2hlY2tzdW09NzA0YWVkNDliMTllYjVhNzE3OGIzNGIyODczNjIwZWMyOTlkYjA4NzUy ZDZhODU3NGY5NWQ0MTg3OWFiODg1MQogCiBwb3N0X3BhdGNoKCkgewogCXZzZWQgLWUgIi9MREZM QUdTPS9kIiAtaSBzcmMvYnVpbGQtdG9vbHMva3JiNS1jb25maWcuaW4KCkZyb20gYWY4YWI1YTUw ZDY1NTAxNzY3YTRiZDMzMzQ2YzQ5NGVmM2YyNzZjYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK RnJvbTogS2xhcmEgTW9kaW4gPGtsYXJhc21vZGluQGdtYWlsLmNvbT4KRGF0ZTogV2VkLCAxIEZl YiAyMDIzIDAyOjE5OjMzICswMTAwClN1YmplY3Q6IFtQQVRDSCAwNC8zOF0gZXZvbHV0aW9uLWRh dGEtc2VydmVyOiByZXZidW1wIGR1ZSB0byBvcGVubGRhcCB1cGRhdGUKCi0tLQogc3JjcGtncy9l dm9sdXRpb24tZGF0YS1zZXJ2ZXIvdGVtcGxhdGUgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBp bnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL2V2b2x1dGlv bi1kYXRhLXNlcnZlci90ZW1wbGF0ZSBiL3NyY3BrZ3MvZXZvbHV0aW9uLWRhdGEtc2VydmVyL3Rl bXBsYXRlCmluZGV4IGJmMWRiMjg4Y2QxMi4uMzVmNGYwYjAwOWM3IDEwMDY0NAotLS0gYS9zcmNw a2dzL2V2b2x1dGlvbi1kYXRhLXNlcnZlci90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL2V2b2x1dGlv bi1kYXRhLXNlcnZlci90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBm b3IgJ2V2b2x1dGlvbi1kYXRhLXNlcnZlcicKIHBrZ25hbWU9ZXZvbHV0aW9uLWRhdGEtc2VydmVy CiB2ZXJzaW9uPTMuNDYuMwotcmV2aXNpb249MQorcmV2aXNpb249MgogYnVpbGRfc3R5bGU9Y21h a2UKIGJ1aWxkX2hlbHBlcj0iZ2lyIHFlbXUiCiBjb25maWd1cmVfYXJncz0iIC1EU1lTQ09ORl9J TlNUQUxMX0RJUj0vZXRjCgpGcm9tIDI0OWMzNDhkMjMxOGEyNDM1YmNhNThlZmY4ZjE3NDVhOWRm ZGM0OGUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEtsYXJhIE1vZGluIDxrbGFyYXNt b2RpbkBnbWFpbC5jb20+CkRhdGU6IFdlZCwgMSBGZWIgMjAyMyAwMjoyMDoxOSArMDEwMApTdWJq ZWN0OiBbUEFUQ0ggMDUvMzhdIGdudXBnOiByZXZidW1wIGR1ZSB0byBvcGVubGRhcCB1cGRhdGUK Ci0tLQogc3JjcGtncy9nbnVwZy90ZW1wbGF0ZSB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGlu c2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvZ251cGcvdGVt cGxhdGUgYi9zcmNwa2dzL2dudXBnL3RlbXBsYXRlCmluZGV4IGM3Y2JlNjg5ZjIzYS4uNDZiNTk2 ZjBjYWM4IDEwMDY0NAotLS0gYS9zcmNwa2dzL2dudXBnL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3Mv Z251cGcvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdnbnVw ZycKIHBrZ25hbWU9Z251cGcKIHZlcnNpb249Mi40LjAKLXJldmlzaW9uPTEKK3JldmlzaW9uPTIK ICMgV2UncmUgYnVpbGRpbmcgb3V0c2lkZSBvZiB0aGUgc291cmNlIHRyZWUsIGJlY2F1c2UgdXBz dHJlYW0gdG9sZCB1cyB0bzoKICMgaHR0cHM6Ly9kZXYuZ251cGcub3JnL1Q2MzEzIzE2NjMzOQog YnVpbGRfd3Jrc3JjPWJ1aWxkCgpGcm9tIDY5Y2IzNGEzZmQzNmM4YjE0NWZiOGI3Nzc1ZDYxNDI3 MGE4ZTY3ZjcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEtsYXJhIE1vZGluIDxrbGFy YXNtb2RpbkBnbWFpbC5jb20+CkRhdGU6IFdlZCwgMSBGZWIgMjAyMyAxNToxMzoyNSArMDEwMApT dWJqZWN0OiBbUEFUQ0ggMDYvMzhdIEZyZWVSQURJVVM6IHJldmJ1bXAgZHVlIHRvIG9wZW5sZGFw IHVwZGF0ZQoKLS0tCiBzcmNwa2dzL0ZyZWVSQURJVVMvdGVtcGxhdGUgfCAyICstCiAxIGZpbGUg Y2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9zcmNw a2dzL0ZyZWVSQURJVVMvdGVtcGxhdGUgYi9zcmNwa2dzL0ZyZWVSQURJVVMvdGVtcGxhdGUKaW5k ZXggZWUyMDU5YTM3M2I0Li41YjJkNmZjYjc0ZjMgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvRnJlZVJB RElVUy90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL0ZyZWVSQURJVVMvdGVtcGxhdGUKQEAgLTEsNyAr MSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdGcmVlUkFESVVTJwogcGtnbmFtZT1GcmVlUkFE SVVTCiB2ZXJzaW9uPTMuMC4yNgotcmV2aXNpb249MQorcmV2aXNpb249MgogYnVpbGRfc3R5bGU9 Z251LWNvbmZpZ3VyZQogbWFrZWRlcGVuZHM9InRhbGxvYy1kZXZlbCBvcGVuc3NsLWRldmVsIG1p dC1rcmI1LWRldmVsIHBhbS1kZXZlbCBcCiAgbGlibWFyaWFkYmNsaWVudC1kZXZlbCBwb3N0Z3Jl c3FsLWxpYnMtZGV2ZWwganNvbi1jLWRldmVsIgoKRnJvbSAxYmZkYjE3ZjQ2ZDNmNjIwNmIwMzlk ZjQ3ZTliNDBlMTUxOTllMGQ5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBLbGFyYSBN b2RpbiA8a2xhcmFzbW9kaW5AZ21haWwuY29tPgpEYXRlOiBXZWQsIDEgRmViIDIwMjMgMTU6MTQ6 MzEgKzAxMDAKU3ViamVjdDogW1BBVENIIDA3LzM4XSBhbHBpbmU6IHJldmJ1bXAgZHVlIHRvIG9w ZW5sZGFwIHVkcGF0ZQoKYWxzbyBhZGQgQlNELTQtQ2xhdXNlIHRvIGxpY2Vuc2VzCi0tLQogc3Jj cGtncy9hbHBpbmUvdGVtcGxhdGUgfCA0ICsrLS0KIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlv bnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9hbHBpbmUvdGVtcGxh dGUgYi9zcmNwa2dzL2FscGluZS90ZW1wbGF0ZQppbmRleCAwMmM0Zjk0NDUxNWMuLjk3ODllMzAz ZmM4YSAxMDA2NDQKLS0tIGEvc3JjcGtncy9hbHBpbmUvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9h bHBpbmUvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdhbHBp bmUnCiBwa2duYW1lPWFscGluZQogdmVyc2lvbj0yLjI2Ci1yZXZpc2lvbj0xCityZXZpc2lvbj0y CiBfZ2l0aGFzaD05NzI2YzA5OGE3MzllZGZkY2E2MjE4YmM1ZGVlMTA0YzMxMDk1N2U5CiBfZ2l0 c2hvcnQ9IiR7X2dpdGhhc2g6MDo3fSIKIGJ1aWxkX3N0eWxlPWdudS1jb25maWd1cmUKQEAgLTEz LDcgKzEzLDcgQEAgaG9zdG1ha2VkZXBlbmRzPSJodW5zcGVsbCIKIG1ha2VkZXBlbmRzPSJnZXR0 ZXh0LWRldmVsIGxpYmxkYXAtZGV2ZWwgbWl0LWtyYjUtZGV2ZWwgbmN1cnNlcy1kZXZlbCIKIHNo b3J0X2Rlc2M9IkFwYWNoZS1saWNlbnNlZCBQSU5FIG1haWwgdXNlciBhZ2VudCAod2l0aCBDaGFw cGEgcGF0Y2hlcykiCiBtYWludGFpbmVyPSJMZWFoIE5ldWtpcmNoZW4gPGxlYWhAdnV4dS5vcmc+ IgotbGljZW5zZT0iQXBhY2hlLTIuMCIKK2xpY2Vuc2U9IkFwYWNoZS0yLjAsIEJTRC00LUNsYXVz ZSIKIGhvbWVwYWdlPSJodHRwczovL3JlcG8ub3IuY3ovYWxwaW5lLmdpdCIKIGRpc3RmaWxlcz0i aHR0cHM6Ly9yZXBvLm9yLmN6L2FscGluZS5naXQvc25hcHNob3QvJHtfZ2l0aGFzaH0udGFyLmd6 IgogY2hlY2tzdW09YzhjMzc3ZWFiMGY2NWI1MTI4M2UwYWQzMTQ0YmUxNDMwNjVkY2E0NDYzZDEy Y2NmNTA5MmFlODQxNTE1YTQzMQoKRnJvbSBiMGE0OWRkNzI1MGU1MTI2ZDE3YzczYWFkNTZmMTky MTQ2ZTBmNTE1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBLbGFyYSBNb2RpbiA8a2xh cmFzbW9kaW5AZ21haWwuY29tPgpEYXRlOiBXZWQsIDEgRmViIDIwMjMgMTU6MTg6MjcgKzAxMDAK U3ViamVjdDogW1BBVENIIDA4LzM4XSBhbmp1dGE6IHJldmJ1bXAgZHVlIHRvIG9wZW5sZGFwIHVw ZGF0ZQoKLS0tCiBzcmNwa2dzL2FuanV0YS90ZW1wbGF0ZSB8IDIgKy0KIDEgZmlsZSBjaGFuZ2Vk LCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvYW5q dXRhL3RlbXBsYXRlIGIvc3JjcGtncy9hbmp1dGEvdGVtcGxhdGUKaW5kZXggM2RmMDQ2ZDg4NGZi Li4wNzc3ZTFiOTJlNTcgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvYW5qdXRhL3RlbXBsYXRlCisrKyBi L3NyY3BrZ3MvYW5qdXRhL3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxl IGZvciAnYW5qdXRhJwogcGtnbmFtZT1hbmp1dGEKIHZlcnNpb249My4zNC4wCi1yZXZpc2lvbj00 CityZXZpc2lvbj01CiBidWlsZF9zdHlsZT1nbnUtY29uZmlndXJlCiBidWlsZF9oZWxwZXI9Imdp ciBxZW11IgogY29uZmlndXJlX2FyZ3M9Ii0tZGlzYWJsZS1jb21waWxlLXdhcm5pbmdzIC0tZGlz YWJsZS1zY2hlbWFzLWNvbXBpbGUKCkZyb20gOWRlZGJhZDY2ZmFlMzJlNzJmODU1NjBmMmEyMTQ0 NjUxMjUzMWQzYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogS2xhcmEgTW9kaW4gPGts YXJhc21vZGluQGdtYWlsLmNvbT4KRGF0ZTogV2VkLCAxIEZlYiAyMDIzIDE1OjE5OjQ1ICswMTAw ClN1YmplY3Q6IFtQQVRDSCAwOS8zOF0gYXBhY2hlOiByZXZidW1wIGR1ZSB0byBvcGVubGRhcCB1 cGRhdGUKCi0tLQogc3JjcGtncy9hcGFjaGUvdGVtcGxhdGUgfCAyICstCiAxIGZpbGUgY2hhbmdl ZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL2Fw YWNoZS90ZW1wbGF0ZSBiL3NyY3BrZ3MvYXBhY2hlL3RlbXBsYXRlCmluZGV4IDYyOWFkMThiMzRh NS4uYTY2MWJmNzFkNWMxIDEwMDY0NAotLS0gYS9zcmNwa2dzL2FwYWNoZS90ZW1wbGF0ZQorKysg Yi9zcmNwa2dzL2FwYWNoZS90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmls ZSBmb3IgJ2FwYWNoZScKIHBrZ25hbWU9YXBhY2hlCiB2ZXJzaW9uPTIuNC41NAotcmV2aXNpb249 MgorcmV2aXNpb249MwogYnVpbGRfc3R5bGU9Z251LWNvbmZpZ3VyZQogY29uZmlndXJlX2FyZ3M9 Ii0tcHJlZml4PSAtLXNiaW5kaXI9L3Vzci9iaW4gLS1lbmFibGUtcGllIC0tZW5hYmxlLW1vZHVs ZXM9YWxsCiAgLS1lbmFibGUtbW9kcy1zaGFyZWQ9YWxsIC0tZW5hYmxlLWF1dGhuLWRibSAtLWVu YWJsZS1hdXRobi1hbm9uCgpGcm9tIGM2ZWRiZDNlMTNkYzZmZDJmZDRhNjlmZmMyMGRhNTUxMmI5 MzZlNDYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEtsYXJhIE1vZGluIDxrbGFyYXNt b2RpbkBnbWFpbC5jb20+CkRhdGU6IFdlZCwgMSBGZWIgMjAyMyAxNToyNTozMyArMDEwMApTdWJq ZWN0OiBbUEFUQ0ggMTAvMzhdIGFwci11dGlsOiB1cGRhdGUgdG8gMS42LjIKCmZhaWxlZCB0byBk b3dubG9hZCBkaXN0ZmlsZXMgd2hlbiByZXZidW1waW5nCgotIHVwZGF0ZSBtaXJyb3IKLSByZW1v dmUgdXBzdHJlYW1lZCBwYXRjaAotLS0KIHNyY3BrZ3MvYXByLXV0aWwvcGF0Y2hlcy9teXNxbC5w YXRjaCB8IDE1IC0tLS0tLS0tLS0tLS0tLQogc3JjcGtncy9hcHItdXRpbC90ZW1wbGF0ZSAgICAg ICAgICAgIHwgIDggKysrKy0tLS0KIDIgZmlsZXMgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCAx OSBkZWxldGlvbnMoLSkKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2Fwci11dGlsL3BhdGNo ZXMvbXlzcWwucGF0Y2gKCmRpZmYgLS1naXQgYS9zcmNwa2dzL2Fwci11dGlsL3BhdGNoZXMvbXlz cWwucGF0Y2ggYi9zcmNwa2dzL2Fwci11dGlsL3BhdGNoZXMvbXlzcWwucGF0Y2gKZGVsZXRlZCBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJmMTc5MmVkNmViYi4uMDAwMDAwMDAwMDAwCi0tLSBhL3Ny Y3BrZ3MvYXByLXV0aWwvcGF0Y2hlcy9teXNxbC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDE1 ICswLDAgQEAKLWZpeGVzOiBodHRwczovL2dpdGh1Yi5jb20vdm9pZC1saW51eC92b2lkLXBhY2th Z2VzL2lzc3Vlcy8zOTUxMAotdGFrZW4gZnJvbSB1cHN0cmVhbTogaHR0cHM6Ly9zdm4uYXBhY2hl Lm9yZy92aWV3dmMvYXByL2Fwci90cnVuay9kYmQvYXByX2RiZF9teXNxbC5jP3IxPTE4NzIwNTkm cjI9MTg3MjA2MCZkaWZmX2Zvcm1hdD1oCi0KLS0tLSBhL2RiZC9hcHJfZGJkX215c3FsLmMKLSsr KyBiL2RiZC9hcHJfZGJkX215c3FsLmMKLUBAIC0xMjYyLDcgKzEyNjIsOSBAQAotIAotIHN0YXRp YyB2b2lkIGRiZF9teXNxbF9pbml0KGFwcl9wb29sX3QgKnBvb2wpCi0gewotKyNpZiBNWVNRTF9W RVJTSU9OX0lEIDwgMTAwMDAwCi0gICAgIG15X2luaXQoKTsKLSsjZW5kaWYKLSAgICAgbXlzcWxf dGhyZWFkX2luaXQoKTsKLSAKLSAgICAgLyogRklYTUU6IHRoaXMgaXMgYSBndWVzczsgZmluZCBv dXQgd2hhdCBpdCByZWFsbHkgZG9lcyAqLwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9hcHItdXRpbC90 ZW1wbGF0ZSBiL3NyY3BrZ3MvYXByLXV0aWwvdGVtcGxhdGUKaW5kZXggZjFjZDQzNjMzNjVhLi41 ZTkwMDk4NTFiYTQgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvYXByLXV0aWwvdGVtcGxhdGUKKysrIGIv c3JjcGtncy9hcHItdXRpbC90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmls ZSBmb3IgJ2Fwci11dGlsJwogcGtnbmFtZT1hcHItdXRpbAotdmVyc2lvbj0xLjYuMQotcmV2aXNp b249MTMKK3ZlcnNpb249MS42LjIKK3JldmlzaW9uPTEKIGJ1aWxkX3N0eWxlPWdudS1jb25maWd1 cmUKIGNvbmZpZ3VyZV9hcmdzPSIKICAtLXdpdGgtcGdzcWwgLS13aXRoLWxkYXAKQEAgLTE3LDgg KzE3LDggQEAgc2hvcnRfZGVzYz0iQXBhY2hlIFBvcnRhYmxlIFJ1bnRpbWUgVXRpbGl0eSBMaWJy YXJ5IgogbWFpbnRhaW5lcj0iT3JwaGFuZWQgPG9ycGhhbkB2b2lkbGludXgub3JnPiIKIGxpY2Vu c2U9IkFwYWNoZS0yLjAiCiBob21lcGFnZT0iaHR0cHM6Ly9hcHIuYXBhY2hlLm9yZy8iCi1kaXN0 ZmlsZXM9Imh0dHBzOi8vd3d3LmFwYWNoZS5vcmcvZGlzdC9hcHIvJHtwa2duYW1lfS0ke3ZlcnNp b259LnRhci5iejIiCi1jaGVja3N1bT1kM2UxMmY3YjZhZDEyNjg3NTcyYTNhMzk0NzU1NDVhMDcy NjA4ZjRiYTAzYTZjZThhMzc3OGY2MDdkZDAwMzViCitkaXN0ZmlsZXM9Imh0dHBzOi8vZG93bmxv YWRzLmFwYWNoZS5vcmcvYXByLyR7cGtnbmFtZX0tJHt2ZXJzaW9ufS50YXIuYnoyIgorY2hlY2tz dW09NGZlNTc0NDNhNzkwNTAyN2UxMzcwN2M4NzVjNWRlNmY5ZmM2ZTJlNWEyNzI1ZDY5NWIyNWE4 YTEwYzJkMjdlMAogIyBmYWlscyB0byBidWlsZCB0ZXN0cwogbWFrZV9jaGVjaz1ubwogCgpGcm9t IDQ5Mjg3ZDAwY2RlZTg3ZmMyYWYyNGJjZTk3YzYxMjU3MzNiOTQ3ZGYgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCkZyb206IEtsYXJhIE1vZGluIDxrbGFyYXNtb2RpbkBnbWFpbC5jb20+CkRhdGU6 IFdlZCwgMSBGZWIgMjAyMyAxNToyNjo1NCArMDEwMApTdWJqZWN0OiBbUEFUQ0ggMTEvMzhdIGF1 ZGl0OiByZXZidW1wIGR1ZSB0byBvcGVubGRhcCB1cGRhdGUKCi0tLQogc3JjcGtncy9hdWRpdC90 ZW1wbGF0ZSB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlv bigtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvYXVkaXQvdGVtcGxhdGUgYi9zcmNwa2dzL2F1ZGl0 L3RlbXBsYXRlCmluZGV4IDdlMWU0ZGFiMmY0NS4uMzM0ZDU2N2YzNzgxIDEwMDY0NAotLS0gYS9z cmNwa2dzL2F1ZGl0L3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvYXVkaXQvdGVtcGxhdGUKQEAgLTEs NyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdhdWRpdCcKIHBrZ25hbWU9YXVkaXQKIHZl cnNpb249My4wLjMKLXJldmlzaW9uPTQKK3JldmlzaW9uPTUKIGJ1aWxkX3N0eWxlPWdudS1jb25m aWd1cmUKIGNvbmZpZ3VyZV9hcmdzPSItLWxpYmRpcj0vdXNyL2xpYiAtLWVuYWJsZS1zaGFyZWQ9 YXVkaXQgLS1lbmFibGUtZ3NzYXBpLWtyYjUKICAtLXdpdGgtYXBwYXJtb3IgLS13aXRoLWxpYmNh cC1uZyAtLXdpdGgtcHl0aG9uMyIKCkZyb20gOGI3ZjA0MTdiZGNmYWM0MDljZDNhNGRjZDMzZGRk OGM3ZmY0MzI3MiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogS2xhcmEgTW9kaW4gPGts YXJhc21vZGluQGdtYWlsLmNvbT4KRGF0ZTogV2VkLCAxIEZlYiAyMDIzIDE1OjI4OjE1ICswMTAw ClN1YmplY3Q6IFtQQVRDSCAxMi8zOF0gYXV0b2ZzOiByZXZidW1wIGR1ZSB0byBvcGVubGRhcCB1 cGRhdGUKCi0tLQogc3JjcGtncy9hdXRvZnMvdGVtcGxhdGUgfCAyICstCiAxIGZpbGUgY2hhbmdl ZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL2F1 dG9mcy90ZW1wbGF0ZSBiL3NyY3BrZ3MvYXV0b2ZzL3RlbXBsYXRlCmluZGV4IGE5YWJjNjBlNjRl OC4uNWY2M2QwYWQ5MmNhIDEwMDY0NAotLS0gYS9zcmNwa2dzL2F1dG9mcy90ZW1wbGF0ZQorKysg Yi9zcmNwa2dzL2F1dG9mcy90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmls ZSBmb3IgJ2F1dG9mcycKIHBrZ25hbWU9YXV0b2ZzCiB2ZXJzaW9uPTUuMS44Ci1yZXZpc2lvbj0y CityZXZpc2lvbj0zCiBidWlsZF9zdHlsZT1nbnUtY29uZmlndXJlCiBtYWtlX2J1aWxkX2FyZ3M9 IkRPTlRTVFJJUD0xIgogY29uZmlndXJlX2FyZ3M9Ii0td2l0aC1saWJ0aXJwYyAtLXdpdGgtbWFw ZGlyPS9ldGMvYXV0b2ZzIC0tc2JpbmRpcj0vdXNyL2JpbiIKCkZyb20gN2Y5OTQwODQ1ZGYyODlj ZDJmZDdjZTJiZDNhYjQxNjg3MTMxOWM1OSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTog S2xhcmEgTW9kaW4gPGtsYXJhc21vZGluQGdtYWlsLmNvbT4KRGF0ZTogV2VkLCAxIEZlYiAyMDIz IDE1OjI5OjA0ICswMTAwClN1YmplY3Q6IFtQQVRDSCAxMy8zOF0gY2xhd3MtbWFpbDogcmV2YnVt cCBkdWUgdG8gb3BlbmxkYXAgdXBkYXRlCgotLS0KIHNyY3BrZ3MvY2xhd3MtbWFpbC90ZW1wbGF0 ZSB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoK ZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY2xhd3MtbWFpbC90ZW1wbGF0ZSBiL3NyY3BrZ3MvY2xhd3Mt bWFpbC90ZW1wbGF0ZQppbmRleCAwZmQ4N2RmNzgwM2UuLmI5ODllYmYxZDhlNCAxMDA2NDQKLS0t IGEvc3JjcGtncy9jbGF3cy1tYWlsL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvY2xhd3MtbWFpbC90 ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ2NsYXdzLW1haWwn CiBwa2duYW1lPWNsYXdzLW1haWwKIHZlcnNpb249NC4xLjEKLXJldmlzaW9uPTEKK3JldmlzaW9u PTIKIGJ1aWxkX3N0eWxlPWdudS1jb25maWd1cmUKIGNvbmZpZ3VyZV9hcmdzPSItLWRpc2FibGUt c3RhdGljIC0tZGlzYWJsZS1weXRob24tcGx1Z2luIC0tZGlzYWJsZS1wZXJsLXBsdWdpbgogIC0t ZW5hYmxlLWVuY2hhbnQgLS1lbmFibGUtZ251dGxzIgoKRnJvbSA5ZTllOTMzMGNhNzNlNzllMWJj YmUyYTFiMTAzYjdjNWMyMDA0MjY2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBLbGFy YSBNb2RpbiA8a2xhcmFzbW9kaW5AZ21haWwuY29tPgpEYXRlOiBXZWQsIDEgRmViIDIwMjMgMTU6 MzE6MTYgKzAxMDAKU3ViamVjdDogW1BBVENIIDE0LzM4XSBkb3ZlY290OiByZXZidW1wIGR1ZSB0 byBvcGVubGRhcCB1cGRhdGUKCi0tLQogc3JjcGtncy9kb3ZlY290L3RlbXBsYXRlIHwgMiArLQog MSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0 IGEvc3JjcGtncy9kb3ZlY290L3RlbXBsYXRlIGIvc3JjcGtncy9kb3ZlY290L3RlbXBsYXRlCmlu ZGV4IDc4N2IyOWI2ZWFiOC4uNjk3Nzg4ZTVjMjY2IDEwMDY0NAotLS0gYS9zcmNwa2dzL2RvdmVj b3QvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9kb3ZlY290L3RlbXBsYXRlCkBAIC0yLDcgKzIsNyBA QAogIyByZXZidW1wIGRvdmVjb3QtcGx1Z2luLXBpZ2VvbmhvbGUgd2hlbiB1cGRhdGluZyBkb3Zl Y290IQogcGtnbmFtZT1kb3ZlY290CiB2ZXJzaW9uPTIuMy4yMAotcmV2aXNpb249MgorcmV2aXNp b249MwogYnVpbGRfc3R5bGU9Z251LWNvbmZpZ3VyZQogY29uZmlndXJlX2FyZ3M9Ii0td2l0aC1t b2R1bGVkaXI9L3Vzci9saWIvZG92ZWNvdC9tb2R1bGVzIC0td2l0aC1zcWw9cGx1Z2luCiAgLS1k aXNhYmxlLXN0YXRpYyAtLXdpdGgtcGFtIC0td2l0aC1teXNxbCAtLXdpdGgtcGdzcWwgLS13aXRo LWx1Y2VuZQoKRnJvbSBhZWI0MmIxM2IxODdjZGZkNzM1ODFjMWRiOTUzZTQzNmM2YTBlNzliIE1v biBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBLbGFyYSBNb2RpbiA8a2xhcmFzbW9kaW5AZ21h aWwuY29tPgpEYXRlOiBXZWQsIDEgRmViIDIwMjMgMTU6MzI6MzIgKzAxMDAKU3ViamVjdDogW1BB VENIIDE1LzM4XSBkb3ZlY290LXBsdWdpbi1waWdlb25ob2xlOiByZXZidW1wIGR1ZSB0byBvcGVu bGRhcAogdXBkYXRlCgotLS0KIHNyY3BrZ3MvZG92ZWNvdC1wbHVnaW4tcGlnZW9uaG9sZS90ZW1w bGF0ZSB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigt KQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvZG92ZWNvdC1wbHVnaW4tcGlnZW9uaG9sZS90ZW1wbGF0 ZSBiL3NyY3BrZ3MvZG92ZWNvdC1wbHVnaW4tcGlnZW9uaG9sZS90ZW1wbGF0ZQppbmRleCBlNGQx NjhjYzRmNzguLjhhZDM3Y2NmOGZkYSAxMDA2NDQKLS0tIGEvc3JjcGtncy9kb3ZlY290LXBsdWdp bi1waWdlb25ob2xlL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvZG92ZWNvdC1wbHVnaW4tcGlnZW9u aG9sZS90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ2RvdmVj b3QtcGx1Z2luLXBpZ2VvbmhvbGUnCiBwa2duYW1lPWRvdmVjb3QtcGx1Z2luLXBpZ2VvbmhvbGUK IHZlcnNpb249MC41LjIwCi1yZXZpc2lvbj0yCityZXZpc2lvbj0zCiBidWlsZF9zdHlsZT1nbnUt Y29uZmlndXJlCiBjb25maWd1cmVfYXJncz0iLS1wcmVmaXg9L3VzcgogIC0td2l0aC1kb3ZlY290 PSR7WEJQU19DUk9TU19CQVNFfS91c3IvbGliL2RvdmVjb3QKCkZyb20gZTc2OTUxODFiMjBiNWVm MTc3NWQ1NmM0MzRjZjQyMmZkNzhjZjg0YyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTog S2xhcmEgTW9kaW4gPGtsYXJhc21vZGluQGdtYWlsLmNvbT4KRGF0ZTogV2VkLCAxIEZlYiAyMDIz IDE1OjMzOjQ1ICswMTAwClN1YmplY3Q6IFtQQVRDSCAxNi8zOF0gZXZvbHV0aW9uOiByZXZidW1w IGR1ZSB0byBvcGVubGRhcCB1cGRhdGUKCi0tLQogc3JjcGtncy9ldm9sdXRpb24vdGVtcGxhdGUg fCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRp ZmYgLS1naXQgYS9zcmNwa2dzL2V2b2x1dGlvbi90ZW1wbGF0ZSBiL3NyY3BrZ3MvZXZvbHV0aW9u L3RlbXBsYXRlCmluZGV4IGI5YTYzYWYwOTk1NS4uNWJkMjkxNzNhYzI2IDEwMDY0NAotLS0gYS9z cmNwa2dzL2V2b2x1dGlvbi90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL2V2b2x1dGlvbi90ZW1wbGF0 ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ2V2b2x1dGlvbicKIHBrZ25h bWU9ZXZvbHV0aW9uCiB2ZXJzaW9uPTMuNDYuMwotcmV2aXNpb249MQorcmV2aXNpb249MgogYnVp bGRfc3R5bGU9Y21ha2UKIGJ1aWxkX2hlbHBlcj0icWVtdSIKIGNvbmZpZ3VyZV9hcmdzPSItRFNZ U0NPTkZfSU5TVEFMTF9ESVI9L2V0YwoKRnJvbSBjMmQxOTQ0MTZiMzc5N2EyZTMxY2VlMDZkOTAy N2E1OWU1MjM0Y2Y0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBLbGFyYSBNb2RpbiA8 a2xhcmFzbW9kaW5AZ21haWwuY29tPgpEYXRlOiBXZWQsIDEgRmViIDIwMjMgMTU6MzU6MjcgKzAx MDAKU3ViamVjdDogW1BBVENIIDE3LzM4XSBnbnVwZzE6IHJldmJ1bXAgZHVlIHRvIG9wZW5sZGFw IHVwZGF0ZQoKLS0tCiBzcmNwa2dzL2dudXBnMS90ZW1wbGF0ZSB8IDIgKy0KIDEgZmlsZSBjaGFu Z2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mv Z251cGcxL3RlbXBsYXRlIGIvc3JjcGtncy9nbnVwZzEvdGVtcGxhdGUKaW5kZXggYzBjODM3NDc3 OTM5Li5lODYxNDcwMDZhYTEgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvZ251cGcxL3RlbXBsYXRlCisr KyBiL3NyY3BrZ3MvZ251cGcxL3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBm aWxlIGZvciAnZ251cGcxJwogcGtnbmFtZT1nbnVwZzEKIHZlcnNpb249MS40LjIzCi1yZXZpc2lv bj0xCityZXZpc2lvbj0yCiBidWlsZF9zdHlsZT1nbnUtY29uZmlndXJlCiBjb25maWd1cmVfYXJn cz0iLS1lbmFibGUtdGhyZWFkcz1wb3NpeCAtLWVuYWJsZS1ub2V4ZWNzdGFjawogIGdudXBnX2N2 X3JlZ2V4X2Jyb2tlbj1ubyIKCkZyb20gYjU4NGJiZGUwYjJiZmJlOWM0MTU3ZjA4MDMzZDcwNWRl NDg5MTE2YiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogS2xhcmEgTW9kaW4gPGtsYXJh c21vZGluQGdtYWlsLmNvbT4KRGF0ZTogV2VkLCAxIEZlYiAyMDIzIDE1OjM2OjUwICswMTAwClN1 YmplY3Q6IFtQQVRDSCAxOC8zOF0ga2xkYXA6IHJldmJ1bXAgZHVlIHRvIG9wZW5sZGFwIHVwZGF0 ZQoKLS0tCiBzcmNwa2dzL2tsZGFwL3RlbXBsYXRlIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEg aW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9rbGRhcC90 ZW1wbGF0ZSBiL3NyY3BrZ3Mva2xkYXAvdGVtcGxhdGUKaW5kZXggYzRmNmFjZGI4N2RiLi4wNDQz OWJmZDIyYzEgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3Mva2xkYXAvdGVtcGxhdGUKKysrIGIvc3JjcGtn cy9rbGRhcC90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ2ts ZGFwJwogcGtnbmFtZT1rbGRhcAogdmVyc2lvbj0yMi4xMi4xCi1yZXZpc2lvbj0xCityZXZpc2lv bj0yCiBidWlsZF9zdHlsZT1jbWFrZQogaG9zdG1ha2VkZXBlbmRzPSJleHRyYS1jbWFrZS1tb2R1 bGVzIHF0NS1xbWFrZSBxdDUtaG9zdC10b29scyBweXRob24zCiAgZ2V0dGV4dCBrY29yZWFkZG9u cyBrZG9jdG9vbHMiCgpGcm9tIGU4NDZlZWQwMDExZTlkMGIzY2I2ZjVhZGFmNmY2MDdlN2M2YTc3 NTMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEtsYXJhIE1vZGluIDxrbGFyYXNtb2Rp bkBnbWFpbC5jb20+CkRhdGU6IFdlZCwgMSBGZWIgMjAyMyAxNTozNzoyNyArMDEwMApTdWJqZWN0 OiBbUEFUQ0ggMTkvMzhdIGxkYXB2aTogcmV2YnVtcCBkdWUgdG8gb3BlbmxkYXAgdXBkYXRlCgph bHNvIGZpeCBzb21lIGxpbnRpbmcgcHJvYmxlbXMKLS0tCiBzcmNwa2dzL2xkYXB2aS90ZW1wbGF0 ZSB8IDggKysrKy0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDQgZGVsZXRp b25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9sZGFwdmkvdGVtcGxhdGUgYi9zcmNwa2dzL2xk YXB2aS90ZW1wbGF0ZQppbmRleCAxZGRhM2MyYWU2ZTguLjg4NDAxYjcyMjE5NyAxMDA2NDQKLS0t IGEvc3JjcGtncy9sZGFwdmkvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9sZGFwdmkvdGVtcGxhdGUK QEAgLTEsMTUgKzEsMTUgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ2xkYXB2aScKIHBrZ25hbWU9 bGRhcHZpCiB2ZXJzaW9uPTEuNwotcmV2aXNpb249MTEKK3JldmlzaW9uPTEyCiBidWlsZF9zdHls ZT1nbnUtY29uZmlndXJlCiBjb25maWd1cmVfYXJncz0iLS13aXRoLXNoYSIKLW1haW50YWluZXI9 IkxlYWggTmV1a2lyY2hlbiA8bGVhaEB2dXh1Lm9yZz4iCiBob3N0bWFrZWRlcGVuZHM9InBrZy1j b25maWciCiBtYWtlZGVwZW5kcz0ibmN1cnNlcy1kZXZlbCByZWFkbGluZS1kZXZlbCBsaWJzYXNs LWRldmVsIHBvcHQtZGV2ZWwgbGlibGRhcC1kZXZlbCBnbGliLWRldmVsIgotbGljZW5zZT0iR1BM LTIiCitzaG9ydF9kZXNjPSJJbnRlcmFjdGl2ZSBMREFQIGNsaWVudCBmb3IgVW5peCB0ZXJtaW5h bHMiCittYWludGFpbmVyPSJMZWFoIE5ldWtpcmNoZW4gPGxlYWhAdnV4dS5vcmc+IgorbGljZW5z ZT0iR1BMLTIuMC1vci1sYXRlciIKIGhvbWVwYWdlPSJodHRwOi8vd3d3LmxpY2h0ZWJsYXUuY29t L2xkYXB2aS8iCi1zaG9ydF9kZXNjPSJBbiBpbnRlcmFjdGl2ZSBMREFQIGNsaWVudCBmb3IgVW5p eCB0ZXJtaW5hbHMiCiBkaXN0ZmlsZXM9Imh0dHA6Ly93d3cubGljaHRlYmxhdS5jb20vZG93bmxv YWQvbGRhcHZpLSR7dmVyc2lvbn0udGFyLmd6IgogY2hlY2tzdW09NmY2MmU5MmQyMGZmMmFjMGQw NjEyNTAyNGE5MTRiODYyMmU1YjhhMGEwYzJkMzkwYmYzZTc5OTBjYmQyZTE1MwogCgpGcm9tIGIx OTBiOTVjMGU2Mjk2ZjhkYjhjOWNiZWE2MmQ0ZmQ3NGRlMGNkNmIgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCkZyb206IEtsYXJhIE1vZGluIDxrbGFyYXNtb2RpbkBnbWFpbC5jb20+CkRhdGU6IFdl ZCwgMSBGZWIgMjAyMyAxNTo0MDozNCArMDEwMApTdWJqZWN0OiBbUEFUQ0ggMjAvMzhdIG5mcy11 dGlsczogcmV2YnVtcCBkdWUgdG8gb3BlbmxkYXAgdXBkYXRlCgotLS0KIHNyY3BrZ3MvbmZzLXV0 aWxzL3RlbXBsYXRlIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRl bGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9uZnMtdXRpbHMvdGVtcGxhdGUgYi9zcmNw a2dzL25mcy11dGlscy90ZW1wbGF0ZQppbmRleCAyNTJhNzM1NWI2ODMuLjFlYTIzNzgxY2FmZiAx MDA2NDQKLS0tIGEvc3JjcGtncy9uZnMtdXRpbHMvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9uZnMt dXRpbHMvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICduZnMt dXRpbHMnCiBwa2duYW1lPW5mcy11dGlscwogdmVyc2lvbj0yLjYuMgotcmV2aXNpb249MQorcmV2 aXNpb249MgogYnVpbGRfc3R5bGU9Z251LWNvbmZpZ3VyZQogY29uZmlndXJlX2FyZ3M9Ii0td2l0 aC1zdGF0ZHVzZXI9bm9ib2R5IC0tZW5hYmxlLWdzcyAtLWVuYWJsZS1uZnN2NAogIC0td2l0aC1z dGF0ZWRpcj0vdmFyL2xpYi9uZnMgLS1lbmFibGUtbGlibW91bnQtbW91bnQgLS1lbmFibGUtc3Zj Z3NzCgpGcm9tIDJiZWZhMDA5NGY5MWVkMWZjZGMwM2EwNTVkNzg0YjRiYTZmYzhhYTUgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCkZyb206IEtsYXJhIE1vZGluIDxrbGFyYXNtb2RpbkBnbWFpbC5j b20+CkRhdGU6IFdlZCwgMSBGZWIgMjAyMyAxNTo0MTozMSArMDEwMApTdWJqZWN0OiBbUEFUQ0gg MjEvMzhdIGxpYnJlb2ZmaWNlOiByZXZidW1wIGR1ZSB0byBvcGVubGRhcCB1cGRhdGUKCi0tLQog c3JjcGtncy9saWJyZW9mZmljZS90ZW1wbGF0ZSB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGlu c2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbGlicmVvZmZp Y2UvdGVtcGxhdGUgYi9zcmNwa2dzL2xpYnJlb2ZmaWNlL3RlbXBsYXRlCmluZGV4IDExZTAyMzg0 N2YxZS4uZWJjNzYyNzJkNmQ4IDEwMDY0NAotLS0gYS9zcmNwa2dzL2xpYnJlb2ZmaWNlL3RlbXBs YXRlCisrKyBiL3NyY3BrZ3MvbGlicmVvZmZpY2UvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAj IFRlbXBsYXRlIGZpbGUgZm9yICdsaWJyZW9mZmljZScKIHBrZ25hbWU9bGlicmVvZmZpY2UKIHZl cnNpb249Ny40LjMuMgotcmV2aXNpb249MQorcmV2aXNpb249MgogYnVpbGRfc3R5bGU9bWV0YQog bWFrZV9idWlsZF90YXJnZXQ9ImJ1aWxkIgogbm9jcm9zcz0iU2V2ZXJhbCBkZXBlbmRlbmNpZXMg YXJlIG5vY3Jvc3M9eWVzIgoKRnJvbSBlNDc2ZmZjOTIxOTM2ZjZiMWFhOWMzOTBkYzExN2VhZTNm ZDA0OGVkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBLbGFyYSBNb2RpbiA8a2xhcmFz bW9kaW5AZ21haWwuY29tPgpEYXRlOiBXZWQsIDEgRmViIDIwMjMgMTU6NDU6NTEgKzAxMDAKU3Vi amVjdDogW1BBVENIIDIyLzM4XSBzYW1iYTogcmV2YnVtcCBkdWUgdG8gb3BlbmxkYXAgdXBkYXRl CgotLS0KIHNyY3BrZ3Mvc2FtYmEvdGVtcGxhdGUgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBp bnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3NhbWJhL3Rl bXBsYXRlIGIvc3JjcGtncy9zYW1iYS90ZW1wbGF0ZQppbmRleCAzYmE5MzI2ODk3M2QuLjNlMTE5 OWI3MGM1ZSAxMDA2NDQKLS0tIGEvc3JjcGtncy9zYW1iYS90ZW1wbGF0ZQorKysgYi9zcmNwa2dz L3NhbWJhL3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnc2Ft YmEnCiBwa2duYW1lPXNhbWJhCiB2ZXJzaW9uPTQuMTQuMTIKLXJldmlzaW9uPTIKK3JldmlzaW9u PTMKIGJ1aWxkX3N0eWxlPXdhZjMKIGJ1aWxkX2hlbHBlcj0icWVtdSIKIGNvbmZpZ3VyZV9zY3Jp cHQ9ImJ1aWxkdG9vbHMvYmluL3dhZiIKCkZyb20gNjZmMDQ2YjYyYTY2NGYzMzI2MmYxNTY4NDhi ZjBlYjRkYmViMTc5MyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogS2xhcmEgTW9kaW4g PGtsYXJhc21vZGluQGdtYWlsLmNvbT4KRGF0ZTogV2VkLCAxIEZlYiAyMDIzIDE1OjUxOjI0ICsw MTAwClN1YmplY3Q6IFtQQVRDSCAyMy8zOF0gbGlnaHR0cDogcmV2YnVtcCBkdWUgdG8gb3Blbmxk YXAgdXBkYXRlCgotLS0KIHNyY3BrZ3MvbGlnaHR0cGQvdGVtcGxhdGUgfCAyICstCiAxIGZpbGUg Y2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9zcmNw a2dzL2xpZ2h0dHBkL3RlbXBsYXRlIGIvc3JjcGtncy9saWdodHRwZC90ZW1wbGF0ZQppbmRleCBm OTkwMzc1MTRhZTIuLjAxNTNiNGE4MjIwZiAxMDA2NDQKLS0tIGEvc3JjcGtncy9saWdodHRwZC90 ZW1wbGF0ZQorKysgYi9zcmNwa2dzL2xpZ2h0dHBkL3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAog IyBUZW1wbGF0ZSBmaWxlIGZvciAnbGlnaHR0cGQnCiBwa2duYW1lPWxpZ2h0dHBkCiB2ZXJzaW9u PTEuNC42OQotcmV2aXNpb249MQorcmV2aXNpb249MgogYnVpbGRfc3R5bGU9bWVzb24KIGNvbmZp Z3VyZV9hcmdzPSItRHdpdGhfYnJvdGxpPWRpc2FibGVkIC1Ed2l0aF9iemlwPWRpc2FibGVkCiAg LUR3aXRoX2tyYjU9ZW5hYmxlZCAtRHdpdGhfbGRhcD1lbmFibGVkCgpGcm9tIGRlNGUxMDU1Y2Y0 MjA1M2I0ZGUwYWIyY2Q1Yzk5NjU4ODczNWY4MTQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZy b206IEtsYXJhIE1vZGluIDxrbGFyYXNtb2RpbkBnbWFpbC5jb20+CkRhdGU6IFdlZCwgMSBGZWIg MjAyMyAxNTo1Mzo1MyArMDEwMApTdWJqZWN0OiBbUEFUQ0ggMjQvMzhdIGxvZzRjeHg6IHVwZGF0 ZSB0byAxLjAuMAoKLSBmaXggYSBsaW50aW5nIGlzc3VlCi0gZml4IHN1YnBhY2FrZ2UKLS0tCiAu Li4vcGF0Y2hlcy8xMDAtYnVnZml4LUxPR0NYWC0yODQucGF0Y2ggICAgICAgfCAxNyAtLS0tCiAu Li4vcGF0Y2hlcy8xNTAtYnVnZml4LUxPR0NYWC0zNjUucGF0Y2ggICAgICAgfCAxOSAtLS0tLQog c3JjcGtncy9sb2c0Y3h4L3BhdGNoZXMvMTcwLWdjYzYtZml4LnBhdGNoICAgIHwgODAgLS0tLS0t LS0tLS0tLS0tLS0tLQogLi4uL3BhdGNoZXMvMTgwLWdjYy1maXgtdGVzdHN1aXRlLnBhdGNoICAg ICAgIHwgMjUgLS0tLS0tCiAuLi4vbG9nNGN4eC9wYXRjaGVzL21pc3NpbmctaW5jbHVkZXMucGF0 Y2ggICAgfCAzOCAtLS0tLS0tLS0KIHNyY3BrZ3MvbG9nNGN4eC90ZW1wbGF0ZSAgICAgICAgICAg ICAgICAgICAgICB8IDE0ICsrLS0KIDYgZmlsZXMgY2hhbmdlZCwgNyBpbnNlcnRpb25zKCspLCAx ODYgZGVsZXRpb25zKC0pCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9sb2c0Y3h4L3BhdGNo ZXMvMTAwLWJ1Z2ZpeC1MT0dDWFgtMjg0LnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtn cy9sb2c0Y3h4L3BhdGNoZXMvMTUwLWJ1Z2ZpeC1MT0dDWFgtMzY1LnBhdGNoCiBkZWxldGUgbW9k ZSAxMDA2NDQgc3JjcGtncy9sb2c0Y3h4L3BhdGNoZXMvMTcwLWdjYzYtZml4LnBhdGNoCiBkZWxl dGUgbW9kZSAxMDA2NDQgc3JjcGtncy9sb2c0Y3h4L3BhdGNoZXMvMTgwLWdjYy1maXgtdGVzdHN1 aXRlLnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9sb2c0Y3h4L3BhdGNoZXMvbWlz c2luZy1pbmNsdWRlcy5wYXRjaAoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbG9nNGN4eC9wYXRjaGVz LzEwMC1idWdmaXgtTE9HQ1hYLTI4NC5wYXRjaCBiL3NyY3BrZ3MvbG9nNGN4eC9wYXRjaGVzLzEw MC1idWdmaXgtTE9HQ1hYLTI4NC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg ZmNmZjMzMGYzNmQ3Li4wMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9sb2c0Y3h4L3BhdGNoZXMv MTAwLWJ1Z2ZpeC1MT0dDWFgtMjg0LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTcgKzAsMCBA QAotIyEgL2Jpbi9zaCAvdXNyL3NoYXJlL2RwYXRjaC9kcGF0Y2gtcnVuCi0jIyAxMDAtYnVnZml4 LUxPR0NYWC0yODQuZHBhdGNoIGJ5ICA8bWF0dGhld0Bsb2NhbGhvc3Q+Ci0jIwotIyMgQWxsIGxp bmVzIGJlZ2lubmluZyB3aXRoIGAjIyBEUDonIGFyZSBhIGRlc2NyaXB0aW9uIG9mIHRoZSBwYXRj aC4KLSMjIERQOiBGaXhlcyBidWlsZCBlcnJvciBvbiBBSVggd2l0aCB4bGNfcgotCi0tLS0gYS9z cmMvdGVzdC9jcHAvaGVscGVycy9kYXRldGltZWRhdGVmb3JtYXR0ZXN0Y2FzZS5jcHAJMjAwOC0w My0zMSAxNTozMzowOS4wMDAwMDAwMDAgLTA3MDAKLSsrKyBiL3NyYy90ZXN0L2NwcC9oZWxwZXJz L2RhdGV0aW1lZGF0ZWZvcm1hdHRlc3RjYXNlLmNwcAkyMDA4LTA3LTE3IDA2OjQ5OjQzLjAwMDAw MDAwMCAtMDcwMAotQEAgLTE4MSw3ICsxODEsNyBAQAotICAgICAgICAgLy8gIG91dHB1dCB0aGUg dXNpbmcgU1RMCi0gICAgICAgICAvLwotICAgICAgICAgc3RkOjpiYXNpY19vc3RyaW5nc3RyZWFt PGxvZ2NoYXI+IGJ1ZmZlcjsKLS0jaWYgZGVmaW5lZChfVVNFRkFDKQotKyNpZiBkZWZpbmVkKF9N U0NfVkVSKSAmJiBfTVNDX1ZFUiA8IDEzMDAKLSAgICAgICAgICBfVVNFRkFDKGxvY2FsZSwgc3Rk Ojp0aW1lX3B1dDxsb2djaGFyPikKLSAgICAgICAgICAgICAgLnB1dChidWZmZXIsIGJ1ZmZlciwg JmRhdGUsIGZtdC5jX3N0cigpLCBmbXQuY19zdHIoKSArIGZtdC5sZW5ndGgoKSk7Ci0gI2Vsc2UK ZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbG9nNGN4eC9wYXRjaGVzLzE1MC1idWdmaXgtTE9HQ1hYLTM2 NS5wYXRjaCBiL3NyY3BrZ3MvbG9nNGN4eC9wYXRjaGVzLzE1MC1idWdmaXgtTE9HQ1hYLTM2NS5w YXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMGNmOTZiNjdhZTRhLi4wMDAwMDAw MDAwMDAKLS0tIGEvc3JjcGtncy9sb2c0Y3h4L3BhdGNoZXMvMTUwLWJ1Z2ZpeC1MT0dDWFgtMzY1 LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTkgKzAsMCBAQAotRGVzY3JpcHRpb246IGZpeGVz IHRlc3Qgc3VpdGUgdG8gbm90IGV4cGVjdCB0aGUgeWVhciB0byBiZSBiZXR3ZWVuIDIwMDAgYW5k IDIwMDkuCi1PcmlnaW46IHVwc3RyZWFtLCBodHRwOi8vc3ZuLmFwYWNoZS5vcmcvdmlld3ZjP3Zp ZXc9cmV2JnJldj05NTQzMzUKLUJ1ZzogaHR0cHM6Ly9pc3N1ZXMuYXBhY2hlLm9yZy9qaXJhL2Jy b3dzZS9MT0dDWFgtMzY1Ci1Gb3J3YXJkZWQ6IG5vdC1uZWVkZWQKLUFwcGxpZWQtVXBzdHJlYW06 IGNvbW1pdCA5NTQzMzUKLUxhc3QtVXBkYXRlOiAyMDE0LTAzLTE0Ci0tLS0KLVRoaXMgcGF0Y2gg aGVhZGVyIGZvbGxvd3MgREVQLTM6IGh0dHA6Ly9kZXAuZGViaWFuLm5ldC9kZXBzL2RlcDMvCi0t LS0gYS9zcmMvdGVzdC9jcHAvdXRpbC9maWx0ZXIuaAkyMDEwLzA2LzE0IDAwOjI0OjQyCTk1NDMz NAotKysrIGIvc3JjL3Rlc3QvY3BwL3V0aWwvZmlsdGVyLmgJMjAxMC8wNi8xNCAwMDozMDo0Mwk5 NTQzMzUKLUBAIC0zMSw3ICszMSw3IEBACi0gI2RlZmluZSBCQVNJQ19QQVQgIlxcWzB4WzAtOUEt Rl0qXSAoRkFUQUx8RVJST1J8V0FSTnxJTkZPfERFQlVHKSIKLSAjZGVmaW5lIElTTzg2MDFfUEFU ICJbMC05XVxcezRcXH0tWzAtOV1cXHsyXFx9LVswLTldXFx7MlxcfSBbMC05XVxcezJcXH06WzAt OV1cXHsyXFx9OlswLTldXFx7MlxcfSxbMC05XVxcezNcXH0iCi0gI2RlZmluZSBBQlNPTFVURV9E QVRFX0FORF9USU1FX1BBVCBcCi0tICAgICAgICAiWzAtOV1cXHsxLDJcXH0gLiogMjAwWzAtOV0g WzAtOV1cXHsyXFx9OlswLTldXFx7MlxcfTpbMC05XVxcezJcXH0sWzAtOV1cXHszXFx9IgotKyAg ICAgICAgIlswLTldXFx7MSwyXFx9IC4qIDJbMC05XVswLTldWzAtOV0gWzAtOV1cXHsyXFx9Olsw LTldXFx7MlxcfTpbMC05XVxcezJcXH0sWzAtOV1cXHszXFx9IgotICNkZWZpbmUgQUJTT0xVVEVf VElNRV9QQVQgIlswLTJdWzAtOV06WzAtOV1bMC05XTpbMC05XVswLTldLFswLTldWzAtOV1bMC05 XSIKLSAjZGVmaW5lIFJFTEFUSVZFX1RJTUVfUEFUICJeWzAtOV0rIgotIApkaWZmIC0tZ2l0IGEv c3JjcGtncy9sb2c0Y3h4L3BhdGNoZXMvMTcwLWdjYzYtZml4LnBhdGNoIGIvc3JjcGtncy9sb2c0 Y3h4L3BhdGNoZXMvMTcwLWdjYzYtZml4LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp bmRleCBjZmEwYzJmNTMxOWMuLjAwMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL2xvZzRjeHgvcGF0 Y2hlcy8xNzAtZ2NjNi1maXgucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw4MCArMCwwIEBACi1E ZXNjcmlwdGlvbjogRml4IEZUQkZTIHdpdGggR0NDNgotIEdDQzYgaXMgbW9yZSBwaWNraWVyIG9u IHRydW5jYXRpbmcsIHNvIHRoaXMgcGF0Y2ggZml4ZXMgdGhlIG5hcnJvd2luZyBjb252ZXJzaW9u IGVycm9ycy4KLUF1dGhvcjogVG9iaWFzIEZyb3N0IDx0b2JpQGRlYmlhbi5vcmc+Ci1CdWctRGVi aWFuOiBodHRwczovL2J1Z3MuZGViaWFuLm9yZy9jZ2ktYmluL2J1Z3JlcG9ydC5jZ2k/YnVnPTgx MTc2OAotRm9yd2FyZGVkOiBodHRwczovL2lzc3Vlcy5hcGFjaGUub3JnL2ppcmEvYnJvd3NlL0xP R0NYWC00ODIKLUFwcGxpZWQtVXBzdHJlYW06IHllcywgdGFyZ2V0ZWQgdmVyc2lvbiAwLjExLjAK LUxhc3QtVXBkYXRlOiAyMDE2LTA3LTAxIChEZWJDYW1wMTYpCi0tLS0KLVRoaXMgcGF0Y2ggaGVh ZGVyIGZvbGxvd3MgREVQLTM6IGh0dHA6Ly9kZXAuZGViaWFuLm5ldC9kZXBzL2RlcDMvCi0tLS0g YS9zcmMvbWFpbi9jcHAvbG9jYXRpb25pbmZvLmNwcAotKysrIGIvc3JjL21haW4vY3BwL2xvY2F0 aW9uaW5mby5jcHAKLUBAIC0xNDgsNyArMTQ4LDcgQEAKLSAgICAgaWYgKGxpbmVOdW1iZXIgPT0g LTEgJiYgZmlsZU5hbWUgPT0gTkEgJiYgbWV0aG9kTmFtZSA9PSBOQV9NRVRIT0QpIHsKLSAgICAg ICAgICBvcy53cml0ZU51bGwocCk7Ci0gICAgIH0gZWxzZSB7Ci0tICAgICAgICBjaGFyIHByb2xv Z1tdID0gewotKyAgICAgICAgdW5zaWduZWQgY2hhciBwcm9sb2dbXSA9IHsKLSAgICAgICAgICAw eDcyLCAweDAwLCAweDIxLCAweDZGLCAweDcyLCAweDY3LCAweDJFLCAKLSAgICAgICAgICAweDYx LCAweDcwLCAweDYxLCAweDYzLCAweDY4LCAweDY1LCAweDJFLCAweDZDLCAKLSAgICAgICAgICAw eDZGLCAweDY3LCAweDM0LCAweDZBLCAweDJFLCAweDczLCAweDcwLCAweDY5LCAKLUBAIC0xNjEs NyArMTYxLDcgQEAKLSAgICAgICAgICAgICAgICAgMHg2MSwgMHg3NiwgMHg2MSwgMHgyRiwgMHg2 QywgMHg2MSwgMHg2RSwgMHg2NywgCi0gICAgICAgICAgICAgICAgIDB4MkYsIDB4NTMsIDB4NzQs IDB4NzIsIDB4NjksIDB4NkUsIDB4NjcsIDB4M0IsCi0gICAgICAgICAgMHg3OCwgMHg3MCB9Owot LSAgICAgIG9zLndyaXRlUHJvbG9nKCJvcmcuYXBhY2hlLmxvZzRqLnNwaS5Mb2NhdGlvbkluZm8i LCAyLCBwcm9sb2csIHNpemVvZihwcm9sb2cpLCBwKTsKLSsgICAgICBvcy53cml0ZVByb2xvZygi b3JnLmFwYWNoZS5sb2c0ai5zcGkuTG9jYXRpb25JbmZvIiwgMiwgKGNoYXIgKilwcm9sb2csIHNp emVvZihwcm9sb2cpLCBwKTsKLSAgICAgICAgIGNoYXIqIGxpbmUgPSBwLml0b2EobGluZU51bWJl cik7Ci0gICAgICAgICAvLwotICAgICAgICAgLy8gICBjb25zdHJ1Y3QgSmF2YS1saWtlIGZ1bGxJ bmZvIChyZXBsYWNlICI6OiIgd2l0aCAiLiIpCi0tLS0gYS9zcmMvbWFpbi9jcHAvbG9nZ2luZ2V2 ZW50LmNwcAotKysrIGIvc3JjL21haW4vY3BwL2xvZ2dpbmdldmVudC5jcHAKLUBAIC0yMzYsNyAr MjM2LDcgQEAKLSAKLSAKLSB2b2lkIExvZ2dpbmdFdmVudDo6d3JpdGVQcm9sb2coT2JqZWN0T3V0 cHV0U3RyZWFtJiBvcywgUG9vbCYgcCkgIHsKLS0gICAgIGNoYXIgY2xhc3NEZXNjW10gPSB7Ci0r ICAgICB1bnNpZ25lZCBjaGFyIGNsYXNzRGVzY1tdID0gewotICAgICAgICAgMHg3MiwgMHgwMCwg MHgyMSwgCi0gICAgICAgICAweDZGLCAweDcyLCAweDY3LCAweDJFLCAweDYxLCAweDcwLCAweDYx LCAweDYzLCAKLSAgICAgICAgIDB4NjgsIDB4NjUsIDB4MkUsIDB4NkMsIDB4NkYsIDB4NjcsIDB4 MzQsIDB4NkEsIAotQEAgLTI5Miw3ICsyOTIsNyBAQAotICAgICAgICAgMHgzQiwgMHg3OCwgMHg3 MCB9OyAKLSAKLSAgICAgIG9zLndyaXRlUHJvbG9nKCJvcmcuYXBhY2hlLmxvZzRqLnNwaS5Mb2dn aW5nRXZlbnQiLCAKLS0gICAgICAgIDgsIGNsYXNzRGVzYywgc2l6ZW9mKGNsYXNzRGVzYyksIHAp OwotKyAgICAgICAgOCwgKGNoYXIgKikgY2xhc3NEZXNjLCBzaXplb2YoY2xhc3NEZXNjKSwgcCk7 Ci0gfQotIAotIHZvaWQgTG9nZ2luZ0V2ZW50Ojp3cml0ZShoZWxwZXJzOjpPYmplY3RPdXRwdXRT dHJlYW0mIG9zLCBQb29sJiBwKSBjb25zdCB7Ci0tLS0gYS9zcmMvbWFpbi9jcHAvb2JqZWN0b3V0 cHV0c3RyZWFtLmNwcAotKysrIGIvc3JjL21haW4vY3BwL29iamVjdG91dHB1dHN0cmVhbS5jcHAK LUBAIC0zNiw4ICszNiw4IEBACi0gICAgICAgIG9iamVjdEhhbmRsZSgweDdFMDAwMCksCi0gICAg ICAgIGNsYXNzRGVzY3JpcHRpb25zKG5ldyBDbGFzc0Rlc2NyaXB0aW9uTWFwKCkpCi0gewotLSAg IGNoYXIgc3RhcnRbXSA9IHsgMHhBQywgMHhFRCwgMHgwMCwgMHgwNSB9OwotLSAgIEJ5dGVCdWZm ZXIgYnVmKHN0YXJ0LCBzaXplb2Yoc3RhcnQpKTsKLSsgICB1bnNpZ25lZCBjaGFyIHN0YXJ0W10g PSB7IDB4QUMsIDB4RUQsIDB4MDAsIDB4MDUgfTsKLSsgICBCeXRlQnVmZmVyIGJ1ZigoY2hhciop c3RhcnQsIHNpemVvZihzdGFydCkpOwotICAgIG9zLT53cml0ZShidWYsIHApOwotIH0KLSAKLUBA IC04MSw3ICs4MSw3IEBACi0gICAgIC8vCi0gICAgIC8vICBUQ19PQkpFQ1QgYW5kIHRoZSBjbGFz c0Rlc2MgZm9yIGphdmEudXRpbC5IYXNodGFibGUKLSAgICAgLy8KLS0gICAgY2hhciBwcm9sb2db XSA9IHsKLSsgICAgdW5zaWduZWQgY2hhciBwcm9sb2dbXSA9IHsKLSAgICAgICAgIDB4NzIsIDB4 MDAsIDB4MTMsIDB4NkEsIDB4NjEsIDB4NzYsIDB4NjEsIAotICAgICAgICAgMHgyRSwgMHg3NSwg MHg3NCwgMHg2OSwgMHg2QywgMHgyRSwgMHg0OCwgMHg2MSwgCi0gICAgICAgICAweDczLCAweDY4 LCAweDc0LCAweDYxLCAweDYyLCAweDZDLCAweDY1LCAweDEzLCAKLUBAIC05MCw3ICs5MCw3IEBA Ci0gICAgICAgICAweDY0LCAweDQ2LCAweDYxLCAweDYzLCAweDc0LCAweDZGLCAweDcyLCAweDQ5 LCAKLSAgICAgICAgIDB4MDAsIDB4MDksIDB4NzQsIDB4NjgsIDB4NzIsIDB4NjUsIDB4NzMsIDB4 NjgsIAotICAgICAgICAgMHg2RiwgMHg2QywgMHg2NCwgMHg3OCwgMHg3MCAgfTsKLS0gICAgd3Jp dGVQcm9sb2coImphdmEudXRpbC5IYXNodGFibGUiLCAxLCBwcm9sb2csIHNpemVvZihwcm9sb2cp LCBwKTsKLSsgICAgd3JpdGVQcm9sb2coImphdmEudXRpbC5IYXNodGFibGUiLCAxLCAoY2hhciAq KSBwcm9sb2csIHNpemVvZihwcm9sb2cpLCBwKTsKLSAgICAgLy8KLSAgICAgLy8gICBsb2FkRmFj dG9yID0gMC43NSwgdGhyZXNob2xkID0gNSwgYmxvY2tkYXRhIHN0YXJ0LCBidWNrZXRzLnNpemUg PSA3Ci0gICAgIGNoYXIgZGF0YVtdID0geyAweDNGLCAweDQwLCAweDAwLCAweDAwLCAweDAwLCAw eDAwLCAweDAwLCAweDA1LCAKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbG9nNGN4eC9wYXRjaGVzLzE4 MC1nY2MtZml4LXRlc3RzdWl0ZS5wYXRjaCBiL3NyY3BrZ3MvbG9nNGN4eC9wYXRjaGVzLzE4MC1n Y2MtZml4LXRlc3RzdWl0ZS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzFi NzE0NjdhMTMxLi4wMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9sb2c0Y3h4L3BhdGNoZXMvMTgw LWdjYy1maXgtdGVzdHN1aXRlLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjUgKzAsMCBAQAot RGVzY3JpcHRpb246IEZpeCBuYXJyb3dpbmcgZXJyb3JzIGFsc28gZm9yIHRoZSB0ZXN0c3VpdGUK LUF1dGhvcjogVG9iaWFzIEZyb3N0IDx0b2JpQGRlYmlhbi5vcmc+Ci1MYXN0LVVwZGF0ZTogMjAx Ni0xMC0yMwotLS0tCi1UaGlzIHBhdGNoIGhlYWRlciBmb2xsb3dzIERFUC0zOiBodHRwOi8vZGVw LmRlYmlhbi5uZXQvZGVwcy9kZXAzLwotLS0tIGEvc3JjL3Rlc3QvY3BwL3htbC9kb210ZXN0Y2Fz ZS5jcHAKLSsrKyBiL3NyYy90ZXN0L2NwcC94bWwvZG9tdGVzdGNhc2UuY3BwCi1AQCAtMTkwLDcg KzE5MCw3IEBACi0gICAgICAgICAgICAgICAgIERPTUNvbmZpZ3VyYXRvcjo6Y29uZmlndXJlKExP RzRDWFhfVEVTVF9TVFIoImlucHV0L3htbC9ET01UZXN0Q2FzZTMueG1sIikpOwotICAgICAgICAg ICAgICAgICBMT0c0Q1hYX0lORk8obG9nZ2VyLCAiRmlsZSBuYW1lIGlzIGV4cGVjdGVkIHRvIGVu ZCB3aXRoIGEgc3VwZXJzY3JpcHQgMyIpOwotICNpZiBMT0c0Q1hYX0xPR0NIQVJfSVNfVVRGOAot LSAgICAgICAgICAgICAgICBjb25zdCBsb2djaGFyIGZuYW1lW10gPSB7IDB4NkYsIDB4NzUsIDB4 NzQsIDB4NzAsIDB4NzUsIDB4NzQsIDB4MkYsIDB4NjQsIDB4NkYsIDB4NkQsIDB4QzIsIDB4QjMs IDAgfTsKLSsgICAgICAgICAgICAgICAgY29uc3QgbG9nY2hhciBmbmFtZVtdID0geyAweDZGLCAw eDc1LCAweDc0LCAweDcwLCAweDc1LCAweDc0LCAweDJGLCAweDY0LCAweDZGLCAweDZELCAobG9n Y2hhcikweEMyLCAobG9nY2hhcikweEIzLCAwIH07Ci0gI2Vsc2UKLSAgICAgICAgICAgICAgICAg Y29uc3QgbG9nY2hhciBmbmFtZVtdID0geyAweDZGLCAweDc1LCAweDc0LCAweDcwLCAweDc1LCAw eDc0LCAweDJGLCAweDY0LCAweDZGLCAweDZELCAweEIzLCAwIH07Ci0gI2VuZGlmCi1AQCAtMjA5 LDcgKzIwOSw3IEBACi0gICAgICAgICAgICAgICAgIERPTUNvbmZpZ3VyYXRvcjo6Y29uZmlndXJl KExPRzRDWFhfVEVTVF9TVFIoImlucHV0L3htbC9ET01UZXN0Q2FzZTQueG1sIikpOwotICAgICAg ICAgICAgICAgICBMT0c0Q1hYX0lORk8obG9nZ2VyLCAiRmlsZSBuYW1lIGlzIGV4cGVjdGVkIHRv IGVuZCB3aXRoIGFuIGlkZW9ncmFwaGljIDQiKTsKLSAjaWYgTE9HNENYWF9MT0dDSEFSX0lTX1VU RjgKLS0gICAgICAgICAgICAgICAgY29uc3QgbG9nY2hhciBmbmFtZVtdID0geyAweDZGLCAweDc1 LCAweDc0LCAweDcwLCAweDc1LCAweDc0LCAweDJGLCAweDY0LCAweDZGLCAweDZELCAweEUzLCAw eDg2LCAweDk1LCAwIH07Ci0rICAgICAgICAgICAgICAgIGNvbnN0IGxvZ2NoYXIgZm5hbWVbXSA9 IHsgMHg2RiwgKGxvZ2NoYXIpMHg3NSwgMHg3NCwgMHg3MCwgMHg3NSwgMHg3NCwgMHgyRiwgMHg2 NCwgMHg2RiwgMHg2RCwgKGxvZ2NoYXIpMHhFMywgKGxvZ2NoYXIpMHg4NiwgKGxvZ2NoYXIpMHg5 NSwgMCB9OwotICNlbHNlCi0gICAgICAgICAgICAgICAgIGNvbnN0IGxvZ2NoYXIgZm5hbWVbXSA9 IHsgMHg2RiwgMHg3NSwgMHg3NCwgMHg3MCwgMHg3NSwgMHg3NCwgMHgyRiwgMHg2NCwgMHg2Riwg MHg2RCwgMHgzMTk1LCAwIH07Ci0gI2VuZGlmCmRpZmYgLS1naXQgYS9zcmNwa2dzL2xvZzRjeHgv cGF0Y2hlcy9taXNzaW5nLWluY2x1ZGVzLnBhdGNoIGIvc3JjcGtncy9sb2c0Y3h4L3BhdGNoZXMv bWlzc2luZy1pbmNsdWRlcy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTYz YmZmZDk1YzU3Li4wMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9sb2c0Y3h4L3BhdGNoZXMvbWlz c2luZy1pbmNsdWRlcy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM4ICswLDAgQEAKLWRpZmYg LU5hdXIgYXBhY2hlLWxvZzRjeHgtMC4xMC4wLm9yaWcvc3JjL2V4YW1wbGVzL2NwcC9jb25zb2xl LmNwcCBhcGFjaGUtbG9nNGN4eC0wLjEwLjAvc3JjL2V4YW1wbGVzL2NwcC9jb25zb2xlLmNwcAot LS0tIGEvc3JjL2V4YW1wbGVzL2NwcC9jb25zb2xlLmNwcAkyMDA4LTA0LTAxIDAwOjM0OjUyLjAw MDAwMDAwMCArMDIwMAotKysrIGIvc3JjL2V4YW1wbGVzL2NwcC9jb25zb2xlLmNwcAkyMDA4LTA1 LTA2IDA1OjQwOjUyLjAwMDAwMDAwMCArMDIwMAotQEAgLTE1LDcgKzE1LDEwIEBACi0gICogbGlt aXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCi0gICovCi0gCi0tI2luY2x1ZGUgPHN0ZGxpYi5o PgotKyNpbmNsdWRlIDxjc3RkaW8+Ci0rI2luY2x1ZGUgPGNzdGRsaWI+Ci0rI2luY2x1ZGUgPGNz dHJpbmc+Ci0rI2luY2x1ZGUgPHN0ZGludC5oPgotICNpbmNsdWRlIDxsb2c0Y3h4L2xvZ2dlci5o PgotICNpbmNsdWRlIDxsb2c0Y3h4L2NvbnNvbGVhcHBlbmRlci5oPgotICNpbmNsdWRlIDxsb2c0 Y3h4L3NpbXBsZWxheW91dC5oPgotZGlmZiAtTmF1ciBhcGFjaGUtbG9nNGN4eC0wLjEwLjAub3Jp Zy9zcmMvbWFpbi9jcHAvaW5wdXRzdHJlYW1yZWFkZXIuY3BwIGFwYWNoZS1sb2c0Y3h4LTAuMTAu MC9zcmMvbWFpbi9jcHAvaW5wdXRzdHJlYW1yZWFkZXIuY3BwCi0tLS0gYS9zcmMvbWFpbi9jcHAv aW5wdXRzdHJlYW1yZWFkZXIuY3BwCTIwMDgtMDQtMDEgMDA6MzQ6MDkuMDAwMDAwMDAwICswMjAw Ci0rKysgYi9zcmMvbWFpbi9jcHAvaW5wdXRzdHJlYW1yZWFkZXIuY3BwCTIwMDgtMDUtMDYgMDU6 MzI6MzEuMDAwMDAwMDAwICswMjAwCi1AQCAtMjEsNiArMjEsOCBAQAotICNpbmNsdWRlIDxsb2c0 Y3h4L2hlbHBlcnMvcG9vbC5oPgotICNpbmNsdWRlIDxsb2c0Y3h4L2hlbHBlcnMvYnl0ZWJ1ZmZl ci5oPgotIAotKyNpbmNsdWRlIDxjc3RyaW5nPgotKwotIHVzaW5nIG5hbWVzcGFjZSBsb2c0Y3h4 OwotIHVzaW5nIG5hbWVzcGFjZSBsb2c0Y3h4OjpoZWxwZXJzOwotIAotZGlmZiAtTmF1ciBzcmMv bWFpbi9jcHAvc29ja2V0b3V0cHV0c3RyZWFtLmNwcCBhcGFjaGUtbG9nNGN4eC0wLjEwLjAvc3Jj L21haW4vY3BwL3NvY2tldG91dHB1dHN0cmVhbS5jcHAKLS0tLSBhL3NyYy9tYWluL2NwcC9zb2Nr ZXRvdXRwdXRzdHJlYW0uY3BwCTIwMDgtMDQtMDEgMDA6MzQ6MDkuMDAwMDAwMDAwICswMjAwCi0r KysgYi9zcmMvbWFpbi9jcHAvc29ja2V0b3V0cHV0c3RyZWFtLmNwcAkyMDA4LTA1LTA2IDA1OjM1 OjU1LjAwMDAwMDAwMCArMDIwMAotQEAgLTIwLDYgKzIwLDggQEAKLSAjaW5jbHVkZSA8bG9nNGN4 eC9oZWxwZXJzL3NvY2tldC5oPgotICNpbmNsdWRlIDxsb2c0Y3h4L2hlbHBlcnMvYnl0ZWJ1ZmZl ci5oPgotIAotKyNpbmNsdWRlIDxjc3RyaW5nPgotKwotIHVzaW5nIG5hbWVzcGFjZSBsb2c0Y3h4 OwotIHVzaW5nIG5hbWVzcGFjZSBsb2c0Y3h4OjpoZWxwZXJzOwpkaWZmIC0tZ2l0IGEvc3JjcGtn cy9sb2c0Y3h4L3RlbXBsYXRlIGIvc3JjcGtncy9sb2c0Y3h4L3RlbXBsYXRlCmluZGV4IDJmNDkw NWExNjA5Mi4uOTYzNzQzZjYzNjdhIDEwMDY0NAotLS0gYS9zcmNwa2dzL2xvZzRjeHgvdGVtcGxh dGUKKysrIGIvc3JjcGtncy9sb2c0Y3h4L3RlbXBsYXRlCkBAIC0xLDIyICsxLDIyIEBACiAjIFRl bXBsYXRlIGZpbGUgZm9yICdsb2c0Y3h4JwogcGtnbmFtZT1sb2c0Y3h4Ci12ZXJzaW9uPTAuMTAu MAotcmV2aXNpb249NAotYnVpbGRfc3R5bGU9Z251LWNvbmZpZ3VyZQotbWFrZWRlcGVuZHM9Imxp YnhtbDItZGV2ZWwgYXByLWRldmVsIGFwci11dGlsLWRldmVsIGdkYm0tZGV2ZWwiCi1zaG9ydF9k ZXNjPSJBIEMrKyBMb2dnaW5nIExpYnJhcnkgYmFzZWQgb24gTG9nNEoiCit2ZXJzaW9uPTEuMC4w CityZXZpc2lvbj0xCitidWlsZF9zdHlsZT1jbWFrZQoraG9zdG1ha2VkZXBlbmRzPSJwa2ctY29u ZmlnIHppcCIKK21ha2VkZXBlbmRzPSJsaWJ4bWwyLWRldmVsIGFwci1kZXZlbCBhcHItdXRpbC1k ZXZlbCBnZGJtLWRldmVsIGJvb3N0LWRldmVsIgorc2hvcnRfZGVzYz0iQysrIExvZ2dpbmcgTGli cmFyeSBiYXNlZCBvbiBMb2c0SiIKIG1haW50YWluZXI9Ik9ycGhhbmVkIDxvcnBoYW5Adm9pZGxp bnV4Lm9yZz4iCiBsaWNlbnNlPSJBcGFjaGUtMi4wIgogaG9tZXBhZ2U9Imh0dHBzOi8vbG9nZ2lu Zy5hcGFjaGUub3JnL2xvZzRjeHgvIgogZGlzdGZpbGVzPSJodHRwczovL2FyY2hpdmUuYXBhY2hl Lm9yZy9kaXN0L2xvZ2dpbmcvbG9nNGN4eC8ke3ZlcnNpb259L2FwYWNoZS1sb2c0Y3h4LSR7dmVy c2lvbn0udGFyLmd6IgotY2hlY2tzdW09MGRlMDM5NjIyMGE5NTY2YTU4MDE2NmU2NmIzOTY3NGNi NDBlZmQyMTc2ZjUyYWQyYzY1NDg2Yzk5YzkyMGM4YworY2hlY2tzdW09NmRmOWYxZjY4MjY1MGRl NjA0NTMwOTQ3M2Q1YjJmZTFmNzk4YTAzY2ViMzZhNzRhNWIyMWY1NTIwOTYyZDMyZgogCiBsb2c0 Y3h4LWRldmVsX3BhY2thZ2UoKSB7CiAJc2hvcnRfZGVzYys9IiAtIGRldmVsb3BtZW50IGZpbGVz IgogCWRlcGVuZHM9IiR7c291cmNlcGtnfT49JHt2ZXJzaW9ufV8ke3JldmlzaW9ufSIKIAlwa2df aW5zdGFsbCgpIHsKIAkJdm1vdmUgdXNyL2luY2x1ZGUKLQkJdm1vdmUgdXNyL2xpYi8qLmEKIAkJ dm1vdmUgdXNyL2xpYi8qLnNvCiAJCXZtb3ZlIHVzci9saWIvcGtnY29uZmlnCiAJfQoKRnJvbSA5 Y2U1ODI3NDA4ZWZmYTQ2YzczM2ZlMDhhMThkNWQwZGEyNmExODQ0IE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQpGcm9tOiBLbGFyYSBNb2RpbiA8a2xhcmFzbW9kaW5AZ21haWwuY29tPgpEYXRlOiBX ZWQsIDEgRmViIDIwMjMgMTU6NTU6MjUgKzAxMDAKU3ViamVjdDogW1BBVENIIDI1LzM4XSBsdWE1 NC1sdWFsZGFwOiByZXZidW1wIGR1ZSB0byBvcGVubGRhcCB1cGRhdGUKCi0tLQogc3JjcGtncy9s dWE1NC1sdWFsZGFwL3RlbXBsYXRlIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9u KCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9sdWE1NC1sdWFsZGFwL3Rl bXBsYXRlIGIvc3JjcGtncy9sdWE1NC1sdWFsZGFwL3RlbXBsYXRlCmluZGV4IDQ0OTJkYmVhYjY1 MC4uOGMwM2VlZjdlZjRkIDEwMDY0NAotLS0gYS9zcmNwa2dzL2x1YTU0LWx1YWxkYXAvdGVtcGxh dGUKKysrIGIvc3JjcGtncy9sdWE1NC1sdWFsZGFwL3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAog IyBUZW1wbGF0ZSBmaWxlIGZvciAnbHVhNTQtbHVhbGRhcCcKIHBrZ25hbWU9bHVhNTQtbHVhbGRh cAogdmVyc2lvbj0xLjIuNQotcmV2aXNpb249MworcmV2aXNpb249NAogY3JlYXRlX3dya3NyYz15 ZXMKIGJ1aWxkX3N0eWxlPWdudS1tYWtlZmlsZQogaG9zdG1ha2VkZXBlbmRzPSJwa2ctY29uZmln IgoKRnJvbSA0ZDUyYzRhMGViODUwOTlhYzliMjVmM2EyNGJhMjg0MWVlNWViMzI1IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBLbGFyYSBNb2RpbiA8a2xhcmFzbW9kaW5AZ21haWwuY29t PgpEYXRlOiBXZWQsIDEgRmViIDIwMjMgMTU6NTY6MjIgKzAxMDAKU3ViamVjdDogW1BBVENIIDI2 LzM4XSBtb25pdG9yaW5nLXBsdWdpbnM6IHJldmJ1bXAgZHVlIHRvIG9wZW5sZGFwIHVwZGF0ZQoK LS0tCiBzcmNwa2dzL21vbml0b3JpbmctcGx1Z2lucy90ZW1wbGF0ZSB8IDIgKy0KIDEgZmlsZSBj aGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyY3Br Z3MvbW9uaXRvcmluZy1wbHVnaW5zL3RlbXBsYXRlIGIvc3JjcGtncy9tb25pdG9yaW5nLXBsdWdp bnMvdGVtcGxhdGUKaW5kZXggOWZlYzU1NjJhOWNjLi4yMGZiZDEzYTUwMjAgMTAwNjQ0Ci0tLSBh L3NyY3BrZ3MvbW9uaXRvcmluZy1wbHVnaW5zL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvbW9uaXRv cmluZy1wbHVnaW5zL3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZv ciAnbW9uaXRvcmluZy1wbHVnaW5zJwogcGtnbmFtZT1tb25pdG9yaW5nLXBsdWdpbnMKIHZlcnNp b249Mi4zLjIKLXJldmlzaW9uPTEKK3JldmlzaW9uPTIKIGJ1aWxkX3N0eWxlPWdudS1jb25maWd1 cmUKIGNvbmZpZ3VyZV9hcmdzPSItLWxpYmV4ZWNkaXI9L3Vzci9saWIvbW9uaXRvcmluZy1wbHVn aW5zIgogaG9zdG1ha2VkZXBlbmRzPSJmcGluZyBvcGVuc3NoIHBvc3RmaXggcHJvY3BzLW5nIHNt YmNsaWVudCBuZXQtc25tcCBiaW5kLXV0aWxzIHN1ZG8iCgpGcm9tIGIwZTA4ZGRlY2E1MDc0ZDU3 ZDgyZmY2YmYwZWRiY2Y1OWFlMGI2YjAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEts YXJhIE1vZGluIDxrbGFyYXNtb2RpbkBnbWFpbC5jb20+CkRhdGU6IFdlZCwgMSBGZWIgMjAyMyAx NTo1NzoxMiArMDEwMApTdWJqZWN0OiBbUEFUQ0ggMjcvMzhdIG5zcy1wYW0tbGRhcGQ6IHJldmJ1 bXAgZHVlIHRvIG9wZW5sZGFwIHVwZGF0ZQoKLS0tCiBzcmNwa2dzL25zcy1wYW0tbGRhcGQvdGVt cGxhdGUgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24o LSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL25zcy1wYW0tbGRhcGQvdGVtcGxhdGUgYi9zcmNwa2dz L25zcy1wYW0tbGRhcGQvdGVtcGxhdGUKaW5kZXggOTJjYmQ3NTQxN2I0Li4yYjNhMzVhZTg1YTMg MTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvbnNzLXBhbS1sZGFwZC90ZW1wbGF0ZQorKysgYi9zcmNwa2dz L25zcy1wYW0tbGRhcGQvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUg Zm9yICduc3MtcGFtLWxkYXBkJwogcGtnbmFtZT1uc3MtcGFtLWxkYXBkCiB2ZXJzaW9uPTAuOS4x MgotcmV2aXNpb249MQorcmV2aXNpb249MgogYnVpbGRfc3R5bGU9Z251LWNvbmZpZ3VyZQogY29u ZmlndXJlX2FyZ3M9Ii0tZW5hYmxlLXNhc2wgLS1lbmFibGUta2VyYmVyb3MgLS13aXRoLXBhbS1z ZWNsaWItZGlyPS91c3IvbGliL3NlY3VyaXR5LyIKIGNvbmZfZmlsZXM9Ii9ldGMvbnNsY2QuY29u ZiIKCkZyb20gMzRkN2I3NGYzMDllOWM4NTkyZDY4Y2Q5NjY2NjI2OTVlYzkxNWRmOCBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogS2xhcmEgTW9kaW4gPGtsYXJhc21vZGluQGdtYWlsLmNv bT4KRGF0ZTogV2VkLCAxIEZlYiAyMDIzIDE2OjE3OjA5ICswMTAwClN1YmplY3Q6IFtQQVRDSCAy OC8zOF0gcGhwOC4wOiByZXZidW1wIGR1ZSB0byBvcGVubGRhcCB1cGRhdGUKCi0tLQogc3JjcGtn cy9waHA4LjAvdGVtcGxhdGUgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyks IDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3BocDguMC90ZW1wbGF0ZSBiL3Ny Y3BrZ3MvcGhwOC4wL3RlbXBsYXRlCmluZGV4IDZmNjk0YmY5MjhhMS4uNWFkZTg3YzRhZDVlIDEw MDY0NAotLS0gYS9zcmNwa2dzL3BocDguMC90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3BocDguMC90 ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3BocDguMCcKIHBr Z25hbWU9cGhwOC4wCiB2ZXJzaW9uPTguMC4yNQotcmV2aXNpb249MgorcmV2aXNpb249MwogX3Bo cF92ZXJzaW9uPTguMAogaG9zdG1ha2VkZXBlbmRzPSJiaXNvbiBwa2ctY29uZmlnIGFwYWNoZS1k ZXZlbCIKIG1ha2VkZXBlbmRzPSJhcGFjaGUtZGV2ZWwgZW5jaGFudDItZGV2ZWwgZnJlZXRkcy1k ZXZlbCBmcmVldHlwZS1kZXZlbCBnZGJtLWRldmVsCgpGcm9tIDM4ODVjYjdjMjg4N2VkZDM2YzRh MmE2ZWQ3NTFjYzVhY2ExNWEwZDggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEtsYXJh IE1vZGluIDxrbGFyYXNtb2RpbkBnbWFpbC5jb20+CkRhdGU6IFdlZCwgMSBGZWIgMjAyMyAxNjox OToxNiArMDEwMApTdWJqZWN0OiBbUEFUQ0ggMjkvMzhdIHBocDguMTogcmV2YnVtcCBkdWUgdG8g b3BlbmxkYXAgdXBkYXRlCgotLS0KIHNyY3BrZ3MvcGhwOC4xL3RlbXBsYXRlIHwgMiArLQogMSBm aWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEv c3JjcGtncy9waHA4LjEvdGVtcGxhdGUgYi9zcmNwa2dzL3BocDguMS90ZW1wbGF0ZQppbmRleCA0 OWZkMjY1ZjY4NGYuLjdmMGNhOTZhNzg3MSAxMDA2NDQKLS0tIGEvc3JjcGtncy9waHA4LjEvdGVt cGxhdGUKKysrIGIvc3JjcGtncy9waHA4LjEvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRl bXBsYXRlIGZpbGUgZm9yICdwaHA4LjEnCiBwa2duYW1lPXBocDguMQogdmVyc2lvbj04LjEuMTIK LXJldmlzaW9uPTIKK3JldmlzaW9uPTMKIF9waHBfdmVyc2lvbj04LjEKIGhvc3RtYWtlZGVwZW5k cz0iYmlzb24gcGtnLWNvbmZpZyBhcGFjaGUtZGV2ZWwiCiBtYWtlZGVwZW5kcz0iYXBhY2hlLWRl dmVsIGVuY2hhbnQyLWRldmVsIGZyZWV0ZHMtZGV2ZWwgZnJlZXR5cGUtZGV2ZWwgZ2RibS1kZXZl bAoKRnJvbSAzNzgzNTE5NzZkYzA5NjY3MGUyYzg5YzhlMzUxMDkzZDY5ZGI2ZTBlIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBLbGFyYSBNb2RpbiA8a2xhcmFzbW9kaW5AZ21haWwuY29t PgpEYXRlOiBXZWQsIDEgRmViIDIwMjMgMTY6MjA6MDkgKzAxMDAKU3ViamVjdDogW1BBVENIIDMw LzM4XSBwb3N0Zml4OiByZXZidW1wIGR1ZSB0byBvcGVubGRhcCB1cGRhdGUKCi0tLQogc3JjcGtn cy9wb3N0Zml4L3RlbXBsYXRlIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCsp LCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9wb3N0Zml4L3RlbXBsYXRlIGIv c3JjcGtncy9wb3N0Zml4L3RlbXBsYXRlCmluZGV4IGIxYzJjZDRlODA5MC4uOTk3YTI0MmI5MTkx IDEwMDY0NAotLS0gYS9zcmNwa2dzL3Bvc3RmaXgvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9wb3N0 Zml4L3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAncG9zdGZp eCcKIHBrZ25hbWU9cG9zdGZpeAogdmVyc2lvbj0zLjcuNAotcmV2aXNpb249MQorcmV2aXNpb249 MgogaG9zdG1ha2VkZXBlbmRzPSJwZXJsIG00IgogbWFrZWRlcGVuZHM9ImljdS1kZXZlbCBsaWJs ZGFwLWRldmVsIGxpYm1hcmlhZGJjbGllbnQtZGV2ZWwgcGNyZTItZGV2ZWwKICBwb3N0Z3Jlc3Fs LWxpYnMtZGV2ZWwgc3FsaXRlLWRldmVsIgoKRnJvbSA0MjU5M2ZjMTI0OTZhZTY3OTMyODNiOTA5 NjlhOWZmMmYyMWI3MjQ5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBLbGFyYSBNb2Rp biA8a2xhcmFzbW9kaW5AZ21haWwuY29tPgpEYXRlOiBXZWQsIDEgRmViIDIwMjMgMTY6MjE6MzYg KzAxMDAKU3ViamVjdDogW1BBVENIIDMxLzM4XSBweXRob24zLWxkYXA6IHVwZGF0ZSB0byAzLjQu MwoKYnVpbGQgd2FzIGZhaWxpbmcgYWZ0ZXIgcmV2YnVtcApyZW1vdmUgdW5uZWNlc3Nhcnkgc2Vk IGV4cHJlc3Npb24KLS0tCiBzcmNwa2dzL3B5dGhvbjMtbGRhcC90ZW1wbGF0ZSB8IDEyICsrKyst LS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMoLSkK CmRpZmYgLS1naXQgYS9zcmNwa2dzL3B5dGhvbjMtbGRhcC90ZW1wbGF0ZSBiL3NyY3BrZ3MvcHl0 aG9uMy1sZGFwL3RlbXBsYXRlCmluZGV4IGNmZjdkZjA1NWU3OC4uNDFlNGVkYjFmMzU0IDEwMDY0 NAotLS0gYS9zcmNwa2dzL3B5dGhvbjMtbGRhcC90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3B5dGhv bjMtbGRhcC90ZW1wbGF0ZQpAQCAtMSwxMCArMSwxMCBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAn cHl0aG9uMy1sZGFwJwogcGtnbmFtZT1weXRob24zLWxkYXAKIF9wa2duYW1lPXB5dGhvbi1sZGFw Ci12ZXJzaW9uPTMuMi4wCi1yZXZpc2lvbj01Cit2ZXJzaW9uPTMuNC4zCityZXZpc2lvbj0xCiBi dWlsZF9zdHlsZT1weXRob24zLW1vZHVsZQotaG9zdG1ha2VkZXBlbmRzPSJweXRob24zLXNldHVw dG9vbHMiCitob3N0bWFrZWRlcGVuZHM9InB5dGhvbjMtc2V0dXB0b29scyBweXRob24zLXdoZWVs IHB5dGhvbjMtcHlhc24xLW1vZHVsZXMiCiBtYWtlZGVwZW5kcz0icHl0aG9uMy1kZXZlbCBsaWJs ZGFwLWRldmVsIgogZGVwZW5kcz0icHl0aG9uMy1weWFzbjEtbW9kdWxlcyIKIGNoZWNrZGVwZW5k cz0ib3BlbmxkYXAgb3BlbmxkYXAtdG9vbHMiCkBAIC0xMyw4ICsxMyw0IEBAIG1haW50YWluZXI9 Ik1pY2hhZWwgQWxkcmlkZ2UgPG1hbGRyaWRnZUB2b2lkbGludXgub3JnPiIKIGxpY2Vuc2U9IlB5 dGhvbi0yLjAiCiBob21lcGFnZT0iaHR0cHM6Ly93d3cucHl0aG9uLWxkYXAub3JnIgogZGlzdGZp bGVzPSIke1BZUElfU0lURX0vcC8ke19wa2duYW1lfS8ke19wa2duYW1lfS0ke3ZlcnNpb259LnRh ci5neiIKLWNoZWNrc3VtPTdkMWM0YjE1Mzc1YTUzMzU2NGFhZDNkM2RlYWRlNzg5MjIxZTQ1MDA1 MmIyMWViYjk3MjBmYjgyMmVjY2RiOGUKLQotcHJlX2J1aWxkKCkgewotCXNlZCAtaSAiczpebGli cyA9IC4qOmxpYnMgPSBsZGFwX3IgbGJlciBzYXNsMiBzc2wgY3J5cHRvOiIgc2V0dXAuY2ZnCi19 CitjaGVja3N1bT1hYjI2YzUxOWEwZWYyYTQ0M2EyYTEwMzkxZmEzYzVjYjUyZDc4NzEzMjMzOTlk Yjk0OWViZmFhOWYyNWVlMmEwCgpGcm9tIDQ4ZTliOTE1ODRmODIxNGJiZWMzODJkNThjZjIwMjRl NjFjZWZmODAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEtsYXJhIE1vZGluIDxrbGFy YXNtb2RpbkBnbWFpbC5jb20+CkRhdGU6IFdlZCwgMSBGZWIgMjAyMyAxNjoyMzozOSArMDEwMApT dWJqZWN0OiBbUEFUQ0ggMzIvMzhdIHF1b3RhOiByZXZidW1wIGR1ZSB0byBvcGVubGRhcCB1cGRh dGUKCi0tLQogc3JjcGtncy9xdW90YS90ZW1wbGF0ZSB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAx IGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXVvdGEv dGVtcGxhdGUgYi9zcmNwa2dzL3F1b3RhL3RlbXBsYXRlCmluZGV4IGE1ZGM3YmJkYjVmNC4uNTU5 ZWZhZWUyOTk0IDEwMDY0NAotLS0gYS9zcmNwa2dzL3F1b3RhL3RlbXBsYXRlCisrKyBiL3NyY3Br Z3MvcXVvdGEvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdx dW90YScKIHBrZ25hbWU9cXVvdGEKIHZlcnNpb249NC4wOQotcmV2aXNpb249MQorcmV2aXNpb249 MgogYnVpbGRfc3R5bGU9Z251LWNvbmZpZ3VyZQogbWFrZV9idWlsZF9hcmdzPSJWPTEiCiBjb25m X2ZpbGVzPSIvZXRjL3F1b3RhZ3JwYWRtaW5zIC9ldGMvcXVvdGF0YWIgL2V0Yy93YXJucXVvdGEu Y29uZiIKCkZyb20gZTllYjEzNTNlODgyOGRhY2U1NWE2MWRkZTg2MjZkZGQ2NTVkODFiZiBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogS2xhcmEgTW9kaW4gPGtsYXJhc21vZGluQGdtYWls LmNvbT4KRGF0ZTogV2VkLCAxIEZlYiAyMDIzIDE2OjM2OjIyICswMTAwClN1YmplY3Q6IFtQQVRD SCAzMy8zOF0gc2VhaG9yc2U6IHJldmJ1bXAgZHVlIHRvIG9wZW5sZGFwIHVwZGF0ZQoKLS0tCiBz cmNwa2dzL3NlYWhvcnNlL3RlbXBsYXRlIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0 aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9zZWFob3JzZS90ZW1w bGF0ZSBiL3NyY3BrZ3Mvc2VhaG9yc2UvdGVtcGxhdGUKaW5kZXggYmU4YmE0NTRiNGE4Li5kYTky MjM0ZDgyMTYgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3Mvc2VhaG9yc2UvdGVtcGxhdGUKKysrIGIvc3Jj cGtncy9zZWFob3JzZS90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBm b3IgJ3NlYWhvcnNlJwogcGtnbmFtZT1zZWFob3JzZQogdmVyc2lvbj00My4wCi1yZXZpc2lvbj0x CityZXZpc2lvbj0yCiBidWlsZF9zdHlsZT1tZXNvbgogYnVpbGRfaGVscGVyPWdpcgogaG9zdG1h a2VkZXBlbmRzPSJnY3ItZGV2ZWwgZ2V0dGV4dCBnbGliLWRldmVsIGdudXBnIGl0c3Rvb2wgbGli c2VjcmV0LWRldmVsCgpGcm9tIGQwODg0MGJjZTM5N2ZhMWZlY2RmNmIxZDg0Y2JiYTE2ZGIxNjk2 MDIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEtsYXJhIE1vZGluIDxrbGFyYXNtb2Rp bkBnbWFpbC5jb20+CkRhdGU6IFdlZCwgMSBGZWIgMjAyMyAxNjozODozNSArMDEwMApTdWJqZWN0 OiBbUEFUQ0ggMzQvMzhdIHNxdWlkOiByZXZidW1wIGR1ZSB0byBvcGVubGRhcCB1cGRhdGUKCi0t LQogc3JjcGtncy9zcXVpZC90ZW1wbGF0ZSB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2Vy dGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mvc3F1aWQvdGVtcGxh dGUgYi9zcmNwa2dzL3NxdWlkL3RlbXBsYXRlCmluZGV4IDQ5YjllYjlkN2I5MS4uMjIzOGQxYzdk ZjUyIDEwMDY0NAotLS0gYS9zcmNwa2dzL3NxdWlkL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3Mvc3F1 aWQvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdzcXVpZCcK IHBrZ25hbWU9c3F1aWQKIHZlcnNpb249NS43Ci1yZXZpc2lvbj0xCityZXZpc2lvbj0yCiBidWls ZF9zdHlsZT1nbnUtY29uZmlndXJlCiBjb25maWd1cmVfYXJncz0iCiAgLS1zeXNjb25mZGlyPS9l dGMvc3F1aWQKCkZyb20gYjI1MjMwNzcxMjU3NTcyYWFkZmZiZTVmZWJlNTY3MjY0ZjYxN2QzYSBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogS2xhcmEgTW9kaW4gPGtsYXJhc21vZGluQGdt YWlsLmNvbT4KRGF0ZTogV2VkLCAxIEZlYiAyMDIzIDE2OjM5OjMwICswMTAwClN1YmplY3Q6IFtQ QVRDSCAzNS8zOF0gc3NzZDogcmV2YnVtcCBkdWUgdG8gb3BlbmxkYXAgdXBkYXRlCgotLS0KIHNy Y3BrZ3Mvc3NzZC90ZW1wbGF0ZSB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigr KSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mvc3NzZC90ZW1wbGF0ZSBiL3Ny Y3BrZ3Mvc3NzZC90ZW1wbGF0ZQppbmRleCBlZDFiZmVlYTA0OGUuLjY5MWUxYjk1OGE1ZSAxMDA2 NDQKLS0tIGEvc3JjcGtncy9zc3NkL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3Mvc3NzZC90ZW1wbGF0 ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3Nzc2QnCiBwa2duYW1lPXNz c2QKIHZlcnNpb249Mi44LjIKLXJldmlzaW9uPTEKK3JldmlzaW9uPTIKICMgdXBzdHJlYW0gZXhw bGljaXRseSBoYXJkY29kZXMgdG8gdXNlIGdsaWJjOgogIyBodHRwczovL2dpdGh1Yi5jb20vU1NT RC9zc3NkL2Jsb2IvMi44LjIvc3JjL3V0aWwvbnNzX2RsX2xvYWQuYwogYXJjaHM9In4qLW11c2wi CgpGcm9tIGI4NWZkOGE3MzFmNmRlZjQ1MzZlMDI0ZjAzYWRkZDM5MTBlZjZhOTggTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCkZyb206IEtsYXJhIE1vZGluIDxrbGFyYXNtb2RpbkBnbWFpbC5jb20+ CkRhdGU6IFdlZCwgMSBGZWIgMjAyMyAxNjo0MTozMCArMDEwMApTdWJqZWN0OiBbUEFUQ0ggMzYv MzhdIHN5bHBoZWVkOiByZXZidW1wIGR1ZSB0byBvcGVubGRhcCB1cGRhdGUKCi0tLQogc3JjcGtn cy9zeWxwaGVlZC90ZW1wbGF0ZSB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigr KSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mvc3lscGhlZWQvdGVtcGxhdGUg Yi9zcmNwa2dzL3N5bHBoZWVkL3RlbXBsYXRlCmluZGV4IDdmYmYyNTI3NmZiYy4uMjVhYTc1M2U2 ZDRkIDEwMDY0NAotLS0gYS9zcmNwa2dzL3N5bHBoZWVkL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3Mv c3lscGhlZWQvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdz eWxwaGVlZCcKIHBrZ25hbWU9c3lscGhlZWQKIHZlcnNpb249My43LjAKLXJldmlzaW9uPTgKK3Jl dmlzaW9uPTkKIGJ1aWxkX3N0eWxlPWdudS1jb25maWd1cmUKIGNvbmZpZ3VyZV9hcmdzPSItLWRp c2FibGUtY29tcGZhY2UgLS1kaXNhYmxlLWd0a3NwZWxsIC0tZW5hYmxlLWxkYXAgLS13aXRoLWdw Z21lLXByZWZpeD0ke1hCUFNfQ1JPU1NfQkFTRX0vdXNyIgogaG9zdG1ha2VkZXBlbmRzPSJhdXRv bWFrZSBsaWJ0b29sIHBrZy1jb25maWcgZmxleCBnZXR0ZXh0LWRldmVsIGd0aystZGV2ZWwgZ3Bn bWUtZGV2ZWwgZ2xpYi1kZXZlbCIKCkZyb20gODcyYjZmM2ZmNzgxYzlmMWQ4ZWRjM2Q1MGI3MGEw NzU4MjQxOWFmOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogS2xhcmEgTW9kaW4gPGts YXJhc21vZGluQGdtYWlsLmNvbT4KRGF0ZTogV2VkLCAxIEZlYiAyMDIzIDE2OjQyOjQ3ICswMTAw ClN1YmplY3Q6IFtQQVRDSCAzNy8zOF0gdmlydHVvc286IHVwZGF0ZSB0byA3LjIuOAoKdGVzdCBz dWl0ZSB3YXMgZmFpbGluZyBvbiByZXZidW1wCgotIHJlbW92ZSBwYXRjaGVzIHRoYXQgbm8gbG9u Z2VyIGFwcGx5Ci0gYWRkIHBhdGNoIHRoYXQgcmVtb3ZlcyBnaXQgcmV2aXNpb24gZnJvbSBncmFw aHFsCi0gZGlzYWJsZSBzdGF0aWMgbGlicmFyaWVzIGFzIHdlJ3JlIHJlbW92aW5nIHRoZW0gYWZ0 ZXIgaW5zdGFsbCBhbnl3YXkKLSBhZGQgd2hpY2ggdG8gaG9zdG1ha2VkZXBlbmRzCi0gYWRkIG1p c3NpbmcgY2hlY2tkZXBlbmRzCi0tLQogLi4uL3ZpcnR1b3NvL3BhdGNoZXMvYWx3YXlzLWllZWUt ZmxvYXRzLnBhdGNoIHwgICA0NiAtCiBzcmNwa2dzL3ZpcnR1b3NvL3BhdGNoZXMvZml4LWdyYXBo cWwucGF0Y2ggICAgfCAgIDExICsKIC4uLi92aXJ0dW9zby9wYXRjaGVzL2ZpeC11dGY4LWJpdHRl c3QucGF0Y2ggICB8ICAgMTUgLQogc3JjcGtncy92aXJ0dW9zby9wYXRjaGVzL211c2wtcGFnZV9z aXplLnBhdGNoIHwgICAzNCAtCiAuLi4vcmVtb3ZlLW9wZW5zc2wtdmVyc2lvbi1jaGVjay5wYXRj aCAgICAgICAgfCAgIDQ4IC0KIC4uLi92aXJ0dW9zby9wYXRjaGVzL3NzbC1jb25uZWN0LXN0YXRl LnBhdGNoICB8ICAgMTUgLQogc3JjcGtncy92aXJ0dW9zby9wYXRjaGVzL3NzbDEuMS5wYXRjaCAg ICAgICAgIHwgMTQwMCAtLS0tLS0tLS0tLS0tLS0tLQogc3JjcGtncy92aXJ0dW9zby9wYXRjaGVz L3NzbDEuMV9tb3JlLnBhdGNoICAgIHwgICAyMCAtCiBzcmNwa2dzL3ZpcnR1b3NvL3BhdGNoZXMv dXNlLW1rc3RlbXAucGF0Y2ggICAgfCAgIDE4IC0KIHNyY3BrZ3MvdmlydHVvc28vdGVtcGxhdGUg ICAgICAgICAgICAgICAgICAgICB8ICAgMTYgKy0KIDEwIGZpbGVzIGNoYW5nZWQsIDE4IGluc2Vy dGlvbnMoKyksIDE2MDUgZGVsZXRpb25zKC0pCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy92 aXJ0dW9zby9wYXRjaGVzL2Fsd2F5cy1pZWVlLWZsb2F0cy5wYXRjaAogY3JlYXRlIG1vZGUgMTAw NjQ0IHNyY3BrZ3MvdmlydHVvc28vcGF0Y2hlcy9maXgtZ3JhcGhxbC5wYXRjaAogZGVsZXRlIG1v ZGUgMTAwNjQ0IHNyY3BrZ3MvdmlydHVvc28vcGF0Y2hlcy9maXgtdXRmOC1iaXR0ZXN0LnBhdGNo CiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy92aXJ0dW9zby9wYXRjaGVzL211c2wtcGFnZV9z aXplLnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy92aXJ0dW9zby9wYXRjaGVzL3Jl bW92ZS1vcGVuc3NsLXZlcnNpb24tY2hlY2sucGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNw a2dzL3ZpcnR1b3NvL3BhdGNoZXMvc3NsLWNvbm5lY3Qtc3RhdGUucGF0Y2gKIGRlbGV0ZSBtb2Rl IDEwMDY0NCBzcmNwa2dzL3ZpcnR1b3NvL3BhdGNoZXMvc3NsMS4xLnBhdGNoCiBkZWxldGUgbW9k ZSAxMDA2NDQgc3JjcGtncy92aXJ0dW9zby9wYXRjaGVzL3NzbDEuMV9tb3JlLnBhdGNoCiBkZWxl dGUgbW9kZSAxMDA2NDQgc3JjcGtncy92aXJ0dW9zby9wYXRjaGVzL3VzZS1ta3N0ZW1wLnBhdGNo CgpkaWZmIC0tZ2l0IGEvc3JjcGtncy92aXJ0dW9zby9wYXRjaGVzL2Fsd2F5cy1pZWVlLWZsb2F0 cy5wYXRjaCBiL3NyY3BrZ3MvdmlydHVvc28vcGF0Y2hlcy9hbHdheXMtaWVlZS1mbG9hdHMucGF0 Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY5YjUwMzQyMTRmNy4uMDAwMDAwMDAw MDAwCi0tLSBhL3NyY3BrZ3MvdmlydHVvc28vcGF0Y2hlcy9hbHdheXMtaWVlZS1mbG9hdHMucGF0 Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0NiArMCwwIEBACi1Gcm9tIGJjOGU5ODkwZGU4Yzk4NjZl NmUxZjQ5YzgzNTVlYmVlOTE1NTc5ZTQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBx NjYgPGRhbmllbEBvY3RhZm9yZ2Uub3JnPgotRGF0ZTogV2VkLCAyOSBKYW4gMjAyMCAxMjo1MDo0 NiArMDEwMAotU3ViamVjdDogW1BBVENIIDEvMl0gYWx3YXlzIHVzZSBJRUVFIGZsb2F0cwotCi1X ZSBkb24ndCBidWlsZCBvbiBhbnkgcGxhdGZvcm1zIHdoZXJlIHRoaXMgaXMgbm90IHRoZSBjYXNl LgotCi1GaXhlcyBwbGF0Zm9ybXMgZm9yIHdoaWNoIHRoaXMgaXMgbm90IGNoZWNrZWQuCi0tLS0K LSBsaWJzcmMvRGsvRGttYXJzaGFsLmMgfCAyMCArLS0tLS0tLS0tLS0tLS0tLS0tLQotIDEgZmls ZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMTkgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQg bGlic3JjL0RrL0RrbWFyc2hhbC5jIGxpYnNyYy9Eay9Ea21hcnNoYWwuYwotaW5kZXggZGExNWEy MS4uYjJiNmM3MSAxMDA2NDQKLS0tLSBhL2xpYnNyYy9Eay9Ea21hcnNoYWwuYwotKysrIGIvbGli c3JjL0RrL0RrbWFyc2hhbC5jCi1AQCAtMzEsMjUgKzMxLDcgQEAKLSAjIGluY2x1ZGUgPG5ldGlu ZXQvaW4uaD4JCQkgLyogZm9yIG50b2hsLCBodG9ubCAqLwotICNlbmRpZgotIAotLSNpZiBkZWZp bmVkIChpMzg2KSB8fCBcCi0tICAgIGRlZmluZWQgKF9XSU42NCkgfHwgXAotLSAgICBkZWZpbmVk IChfTV9JWDg2KSB8fCBcCi0tICAgIGRlZmluZWQgKF9NX0FMUEhBKSB8fCBcCi0tICAgIGRlZmlu ZWQgKG1jNjgwMDApIHx8IFwKLS0gICAgZGVmaW5lZCAoc3BhcmMpIHx8IFwKLS0gICAgZGVmaW5l ZCAoX194ODZfNjQpIHx8IFwKLS0gICAgZGVmaW5lZCAoX19hbHBoYSkgfHwgXAotLSAgICBkZWZp bmVkIChfX3Bvd2VycGMpIHx8IFwKLS0gICAgZGVmaW5lZCAobWlwcykgfHwgXAotLSAgICBkZWZp bmVkIChfX09TMl9fKSB8fCBcCi0tICAgIGRlZmluZWQgKF9JQk1SMikKLS0jIGRlZmluZSBfSUVF RV9GTE9BVFMKLS0jZWxpZiBkZWZpbmVkIChPUExfU09VUkNFKQotLSMgaW5jbHVkZSA8bGlicnBj Lmg+Ci0tI2Vsc2UKLS0jIGluY2x1ZGUgPHJwYy90eXBlcy5oPgotLSMgaW5jbHVkZSA8cnBjL3hk ci5oPgotLSNlbmRpZgotKyNkZWZpbmUgX0lFRUVfRkxPQVRTCi0gCi0gbWFjcm9fY2hhcl9mdW5j IHJlYWR0YWJsZVsyNTZdOwotIHNlc193cml0ZV9mdW5jIHdyaXRldGFibGVbMjU2XTsKLS0tIAot Mi4yNC4wCi0KZGlmZiAtLWdpdCBhL3NyY3BrZ3MvdmlydHVvc28vcGF0Y2hlcy9maXgtZ3JhcGhx bC5wYXRjaCBiL3NyY3BrZ3MvdmlydHVvc28vcGF0Y2hlcy9maXgtZ3JhcGhxbC5wYXRjaApuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmYwNGIzZTQ1YzQ3YQotLS0gL2Rl di9udWxsCisrKyBiL3NyY3BrZ3MvdmlydHVvc28vcGF0Y2hlcy9maXgtZ3JhcGhxbC5wYXRjaApA QCAtMCwwICsxLDExIEBACistLS0gYS9iaW5zcmMvZ3JhcGhxbC9ncmFwaHFsX3BsdWdpbi5jCTIw MjMtMDItMDEgMjE6MTQ6MTguMTQ4NDc4NTAwICswMTAwCisrKysgYi9iaW5zcmMvZ3JhcGhxbC9n cmFwaHFsX3BsdWdpbi5jCTIwMjItMTAtMTkgMTQ6NDQ6MTQuMDAwMDAwMDAwICswMjAwCitAQCAt MTczLDcgKzE3Myw3IEBACisgCisgc3RhdGljIHVuaXRfdmVyc2lvbl90IHBsdWdpbl9ncmFwaHFs X3ZlcnNpb24gPSB7CisgICAiR3JhcGhRTC9TUEFSUUwgQnJpZGdlIiwJLyohPCBUaXRsZSBvZiB1 bml0LCBmaWxsZWQgYnkgdW5pdCAqLworLSAgR1FMX0JSSURHRV9WRVIgIiAoIiBHSVRfSEVBRF9T VFIgIikiLAkvKiE8IFZlcnNpb24gbnVtYmVyLCBmaWxsZWQgYnkgdW5pdCAqLworKyAgR1FMX0JS SURHRV9WRVIsCQkvKiE8IFZlcnNpb24gbnVtYmVyLCBmaWxsZWQgYnkgdW5pdCAqLworICAgIk9w ZW5MaW5rIFNvZnR3YXJlIiwJCS8qITwgUGx1Z2luJ3MgZGV2ZWxvcGVyLCBmaWxsZWQgYnkgdW5p dCAqLworICAgIlN1cHBvcnQgZnVuY3Rpb25zIGZvciBHcmFwaFFML1NQQVJRTCBCcmlkZ2UiLAkv KiE8IEFueSBhZGRpdGlvbmFsIGluZm8sIGZpbGxlZCBieSB1bml0ICovCisgICAwLAkJCQkvKiE8 IEVycm9yIG1lc3NhZ2UsIGZpbGxlZCBieSB1bml0IGxvYWRlciAqLwpkaWZmIC0tZ2l0IGEvc3Jj cGtncy92aXJ0dW9zby9wYXRjaGVzL2ZpeC11dGY4LWJpdHRlc3QucGF0Y2ggYi9zcmNwa2dzL3Zp cnR1b3NvL3BhdGNoZXMvZml4LXV0ZjgtYml0dGVzdC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggODVlODRhNjdlZjNjLi4wMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy92aXJ0 dW9zby9wYXRjaGVzL2ZpeC11dGY4LWJpdHRlc3QucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwx NSArMCwwIEBACi1Tb3VyY2U6IEBwdWxsbW9sbAotVXBzdHJlYW06IG5vCi1SZWFzb246IGV4cHJl c3Npb24gcmVxdWlyZXMgYmluYXJ5IEFORCwgbm90IGxvZ2ljYWwKLQotLS0tIGEvbGlic3JjL3V0 aWwvcGNyZWxpYi9wY3JlX3N0dWR5LmMJMjAxOC0wOC0xNiAwMTowNjoyMS4wMDAwMDAwMDAgKzAy MDAKLSsrKyBiL2xpYnNyYy91dGlsL3BjcmVsaWIvcGNyZV9zdHVkeS5jCTIwMjAtMDEtMjcgMTU6 NDQ6NTcuNzE1ODIxMzU1ICswMTAwCi1AQCAtNDMyLDcgKzQzMiw3IEBACi0gICAgICAgICAgIGZv ciAoYyA9IDA7IGMgPCAxNjsgYysrKSBzdGFydF9iaXRzW2NdIHw9IHRjb2RlW2NdOwotICAgICAg ICAgICBmb3IgKGMgPSAxMjg7IGMgPCAyNTY7IGMrKykKLSAgICAgICAgICAgICB7Ci0tICAgICAg ICAgICAgaWYgKCh0Y29kZVtjLzhdICYmICgxIDw8IChjJjcpKSkgIT0gMCkKLSsgICAgICAgICAg ICBpZiAoKHRjb2RlW2MvOF0gJiAoMSA8PCAoYyY3KSkpICE9IDApCi0gICAgICAgICAgICAgICB7 Ci0gICAgICAgICAgICAgICBpbnQgZCA9IChjID4+IDYpIHwgMHhjMDsgICAgICAgICAgICAvKiBT ZXQgYml0IGZvciB0aGlzIHN0YXJ0ZXIgKi8KLSAgICAgICAgICAgICAgIHN0YXJ0X2JpdHNbZC84 XSB8PSAoMSA8PCAoZCY3KSk7ICAgIC8qIGFuZCB0aGVuIHNraXAgb24gdG8gdGhlICovCmRpZmYg LS1naXQgYS9zcmNwa2dzL3ZpcnR1b3NvL3BhdGNoZXMvbXVzbC1wYWdlX3NpemUucGF0Y2ggYi9z cmNwa2dzL3ZpcnR1b3NvL3BhdGNoZXMvbXVzbC1wYWdlX3NpemUucGF0Y2gKZGVsZXRlZCBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDczYTlhYmRkMGYzOS4uMDAwMDAwMDAwMDAwCi0tLSBhL3NyY3Br Z3MvdmlydHVvc28vcGF0Y2hlcy9tdXNsLXBhZ2Vfc2l6ZS5wYXRjaAorKysgL2Rldi9udWxsCkBA IC0xLDM0ICswLDAgQEAKLUZyb20gMTI1NjY5ODIxZDk1ZmY5ODliZjk0MTYxYjhlMjQ5N2JmY2E5 ZDBhYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IHE2NiA8ZGFuaWVsQG9jdGFmb3Jn ZS5vcmc+Ci1EYXRlOiBXZWQsIDI5IEphbiAyMDIwIDEyOjU0OjE0ICswMTAwCi1TdWJqZWN0OiBb UEFUQ0ggMi8yXSBVc2UgbW9yZSBwb3J0YWJsZSBwYWdlIHNpemUgY2hlY2sKLQotVGhpcyBmaXhl cyBtdXNsIGJ1aWxkcy4KLS0tLQotIGxpYnNyYy9Eay90bHNmLmggfCAzICsrLQotIDEgZmlsZSBj aGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBsaWJz cmMvRGsvdGxzZi5oIGxpYnNyYy9Eay90bHNmLmgKLWluZGV4IGRkY2U0NzguLmE5Njg3ZjQgMTAw NjQ0Ci0tLS0gYS9saWJzcmMvRGsvdGxzZi5oCi0rKysgYi9saWJzcmMvRGsvdGxzZi5oCi1AQCAt MjAsNiArMjAsNyBAQAotICNkZWZpbmUgX1RMU0ZfSF8KLSAKLSAjaW5jbHVkZSA8c3lzL3R5cGVz Lmg+Ci0rI2luY2x1ZGUgPHVuaXN0ZC5oPgotIAotIGV4dGVybiBzaXplX3QgaW5pdF9tZW1vcnlf cG9vbChzaXplX3QsIHZvaWQgKik7Ci0gZXh0ZXJuIHNpemVfdCBnZXRfdXNlZF9zaXplKHZvaWQg Kik7Ci1AQCAtMTU5LDcgKzE2MCw3IEBAIGV4dGVybiB2b2lkIHRsc2ZfYmFzZV9mcmVlICh2b2lk ICogYywgc2l6ZV90IHN6KTsKLSAKLSAjZGVmaW5lIERFRkFVTFRfQVJFQV9TSVpFICgxMDI0KjEw KQotIAotLSNkZWZpbmUgUEFHRV9TSVpFIChnZXRwYWdlc2l6ZSgpKQotKyNkZWZpbmUgUEFHRV9T SVpFICgoaW50KXN5c2NvbmYoX1NDX1BBR0VTSVpFKSkKLSAKLSAjaWZuZGVmIFdJTjMyCi0gI2lm ZGVmIFVTRV9QUklOVEYKLS0tIAotMi4yNC4wCi0KZGlmZiAtLWdpdCBhL3NyY3BrZ3MvdmlydHVv c28vcGF0Y2hlcy9yZW1vdmUtb3BlbnNzbC12ZXJzaW9uLWNoZWNrLnBhdGNoIGIvc3JjcGtncy92 aXJ0dW9zby9wYXRjaGVzL3JlbW92ZS1vcGVuc3NsLXZlcnNpb24tY2hlY2sucGF0Y2gKZGVsZXRl ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDMwOTRmYmI2YWI2NC4uMDAwMDAwMDAwMDAwCi0tLSBh L3NyY3BrZ3MvdmlydHVvc28vcGF0Y2hlcy9yZW1vdmUtb3BlbnNzbC12ZXJzaW9uLWNoZWNrLnBh dGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDggKzAsMCBAQAotU291cmNlOiBAcHVsbG1vbGwKLVVw c3RyZWFtOiBubwotUmVhc29uOiBFbmFibGUgc3ViZGlyLW9iamVjdHMgYW5kIHN0cmlwIG9wZW5z c2wgdmVyc2lvbiBjaGVjayB3aGljaCBmYWlscyBmb3IgbGlicmVzc2wKLQotLS0tIGEvY29uZmln dXJlLmFjCTIwMTgtMDgtMTYgMDE6MDY6MjEuMDAwMDAwMDAwICswMjAwCi0rKysgYi9jb25maWd1 cmUuYWMJMjAyMC0wMS0yNyAxNTowMjozNi45NDY5MjI2NjMgKzAxMDAKLUBAIC01OCw3ICs1OCw3 IEBACi0gZG5sCUFNX0lOSVRfQVVUT01BS0UoWzEuOF0pCi0gZG5sCUFNX0lOSVRfQVVUT01BS0Uo WzEuOSB0YXItdXN0YXJdKQotIGRubAotLUFNX0lOSVRfQVVUT01BS0UoWzEuOSB0YXItdXN0YXJd KQotK0FNX0lOSVRfQVVUT01BS0UoWzEuOSB0YXItdXN0YXIgc3ViZGlyLW9iamVjdHNdKQotIAot IEFNX01BSU5UQUlORVJfTU9ERQotIAotQEAgLTg2NywzMiArODY3LDYgQEAKLSAJOzsKLSBlc2Fj Ci0gCi0tQUNfTVNHX0NIRUNLSU5HKFtPcGVuU1NMIHZlcnNpb25dKQotLUFDX1RSWV9DT01QSUxF KFsKLS0jaW5jbHVkZSA8b3BlbnNzbC9vcGVuc3Nsdi5oPgotLV0sIFsKLS0jaWYgT1BFTlNTTF9W RVJTSU9OX05VTUJFUiA8IDB4MDA5MDgwMWZMCi0tI2Vycm9yIE9wZW5TU0wgdmVyc2lvbiB0b28g b2xkIAotLSNlbmRpZgotLSAgICBdLFsKLS0gICAgICBBQ19NU0dfUkVTVUxUKFs+PSAwLjkuOGVd KQotLSAgICBdLFsKLS0gICAgICBBQ19NU0dfRVJST1IoW09wZW5TU0wgdmVyc2lvbiAwLjkuOGUg b3IgZ3JlYXRlciBpcyByZXF1aXJlZC5dKQotLSAgICBdKQotLQotLUFDX01TR19DSEVDS0lORyhb T3BlblNTTCB2ZXJzaW9uXSkKLS1BQ19UUllfQ09NUElMRShbCi0tI2luY2x1ZGUgPG9wZW5zc2wv b3BlbnNzbHYuaD4KLS1dLFsKLS0jaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA+PSAweDEwMTAw MDBmTAotLSNlcnJvciBPcGVuU1NMIHZlcnNpb24gdG9vIG5ldwotLSNlbmRpZgotLSAgICBdLFsK LS0gICAgICBBQ19NU0dfUkVTVUxUKFs8IDEuMS4wXSkKLS0gICAgXSxbCi0tICAgICAgQUNfTVNH X0VSUk9SKFtPcGVuU1NMIHZlcnNpb24gMS4xLjAgb3IgZ3JlYXRlciBpcyBjdXJyZW50bHkgbm90 IHN1cHBvcnRlZC5dKQotLSAgICBdKQotLQotIEFDX01TR19DSEVDS0lORyhbdXNhYmlsaXR5IG9m IHRoZSBPcGVuU1NMIGhlYWRlciBmaWxlcyBhbmQgbGlicmFyeSBpbiAke29wZW5zc2xfZGlyfV0p Ci0gQUNfVFJZX1JVTihbCi0gI2luY2x1ZGUgPG9wZW5zc2wvcnNhLmg+CmRpZmYgLS1naXQgYS9z cmNwa2dzL3ZpcnR1b3NvL3BhdGNoZXMvc3NsLWNvbm5lY3Qtc3RhdGUucGF0Y2ggYi9zcmNwa2dz L3ZpcnR1b3NvL3BhdGNoZXMvc3NsLWNvbm5lY3Qtc3RhdGUucGF0Y2gKZGVsZXRlZCBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDM5NTY2ZTNiNmRmZC4uMDAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3Mv dmlydHVvc28vcGF0Y2hlcy9zc2wtY29ubmVjdC1zdGF0ZS5wYXRjaAorKysgL2Rldi9udWxsCkBA IC0xLDE1ICswLDAgQEAKLVNvdXJjZTogQHB1bGxtb2xsCi1VcHN0cmVhbTogbm8KLVJlYXNvbjog VXNlIHRoZSBwcm9wZXIgaW50ZXJmYWNlIG9mIGxpYnJlc3NsIHdoaWNoIGRvZXMgbm90IGV4cG9z ZSB0aGUgaW50ZXJuYWwgc3RydWN0dXJlIG9mIFNTTAotCi0tLS0gYS9saWJzcmMvV2kvaHR0cC5j CTIwMTgtMDgtMTYgMDE6MDY6MjEuMDAwMDAwMDAwICswMjAwCi0rKysgYi9saWJzcmMvV2kvaHR0 cC5jCTIwMjAtMDEtMjcgMTU6MDk6NTMuMjg0OTA1MjY1ICswMTAwCi1AQCAtOTk0OSw3ICs5OTQ5 LDcgQEAKLSAJICBjbGlfc3NsX2dldF9lcnJvcl9zdHJpbmcgKGVycl9idWYsIHNpemVvZiAoZXJy X2J1ZikpOwotIAkgIHNxbHJfbmV3X2Vycm9yICgiNDIwMDAiLCAiLi4wMDIiLCAiU1NMX2RvX2hh bmRzaGFrZSBmYWlsZWQgJXMiLCBlcnJfYnVmKTsKLSAJfQotLSAgICAgIHNzbC0+c3RhdGUgPSBT U0xfU1RfQUNDRVBUOwotKyAgICAgIFNTTF9zZXRfYWNjZXB0X3N0YXRlIChzc2wpOwotICAgICAg IHdoaWxlIChTU0xfcmVuZWdvdGlhdGVfcGVuZGluZyAoc3NsKSAmJiBjdHIgPCAxMDAwKQotIAl7 Ci0gCSAgdGltZW91dF90IHRvID0geyAwLCAxMDAwIH07CmRpZmYgLS1naXQgYS9zcmNwa2dzL3Zp cnR1b3NvL3BhdGNoZXMvc3NsMS4xLnBhdGNoIGIvc3JjcGtncy92aXJ0dW9zby9wYXRjaGVzL3Nz bDEuMS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTg4NzQ5OTQ2NDgwLi4w MDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy92aXJ0dW9zby9wYXRjaGVzL3NzbDEuMS5wYXRjaAor KysgL2Rldi9udWxsCkBAIC0xLDE0MDAgKzAsMCBAQAotRGVzY3JpcHRpb246IEZpeCBGVEJGUyB3 aXRoIG9wZW5zc2wgMS4xCi1BdXRob3I6IFNlYmFzdGlhbiBBbmRyemVqIFNpZXdpb3IgPHNlYmFz dGlhbkBicmVha3BvaW50LmNjPgotQnVnLURlYmlhbjogaHR0cHM6Ly9idWdzLmRlYmlhbi5vcmcv ODI4NTk0Ci1Gb3J3YXJkZWQ6IGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVubGluay92aXJ0dW9zby1v cGVuc291cmNlL3B1bGwvNTgzCi1MYXN0LVVwZGF0ZTogTW8gMTEuIEZlYiAxMzo1MDoxNyBDRVQg MjAxOSAoYnkgQW5kcmVhcyBUaWxsZSA8dGlsbGVAZGViaWFuLm9yZz4pCi0KLS0tLQotCi1Gcm9t IDgyMzA5MmNjY2JkOGUyYWI5YmZhZDZjM2QzZGY3OTFhN2ZmYTc2ZmMgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCi1Gcm9tOiBTZWJhc3RpYW4gQW5kcnplaiBTaWV3aW9yIDxzZWJhc3RpYW5AYnJl YWtwb2ludC5jYz4KLURhdGU6IE1vbiwgNSBTZXAgMjAxNiAxMDo0OTo1NCArMDAwMAotU3ViamVj dDogW1BBVENIXSB2aXJ0dW9zby1vcGVuc291cmNlOiBidWlsZCBhZ2FpbnN0IG9wZW5zc2wgMS4x LjAKLQotU2lnbmVkLW9mZi1ieTogU2ViYXN0aWFuIEFuZHJ6ZWogU2lld2lvciA8c2ViYXN0aWFu QGJyZWFrcG9pbnQuY2M+Ci0tLS0KLSBsaWJzcmMvRGsvRGtlcm5lbC5jICAgICAgfCAgIDYgKy0K LSBsaWJzcmMvV2kvYmlmX2NyeXB0by5jICAgfCAxMjAgKysrKysrKysrKy0tLS0tLS0tCi0gbGli c3JjL1dpL2h0dHAuYyAgICAgICAgIHwgICAyICstCi0gbGlic3JjL1dpL3htbGVuYy5jICAgICAg IHwgMzE5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tCi0g bGlic3JjL1dpL3htbGVuYy5oICAgICAgIHwgMTkzICsrKysrKysrKysrKysrKysrKysrKysrKysr LS0KLSBsaWJzcmMvV2kveG1sZW5jX2FsZ29zLmMgfCAxMzIgKysrKysrKysrKystLS0tLS0tLS0K LSBsaWJzcmMvdXRpbC9zc2xlbmdpbmUuYyAgfCAgIDYgKy0KLSA3IGZpbGVzIGNoYW5nZWQsIDUy NCBpbnNlcnRpb25zKCspLCAyNTQgZGVsZXRpb25zKC0pCi0KLS0tLSBhL2xpYnNyYy9XaS9iaWZf Y3J5cHRvLmMKLSsrKyBiL2xpYnNyYy9XaS9iaWZfY3J5cHRvLmMKLUBAIC0xODEsMjEgKzE4MSwy NiBAQCBib3hfaG1hYyAoY2FkZHJfdCBib3gsIGNhZGRyX3Qga2V5LCBpbnQKLSAgIHVuc2lnbmVk IGNoYXIgdGVtcFtFVlBfTUFYX01EX1NJWkVdOwotICAgdW5zaWduZWQgaW50IHNpemUgPSAwOwot ICAgY2FkZHJfdCByZXMgPSBOVUxMOwotLSAgSE1BQ19DVFggY3R4OwotKyAgSE1BQ19DVFggKmN0 eDsKLSAgIGNvbnN0IEVWUF9NRCAqbWQgPSBFVlBfc2hhMSAoKTsKLSAKLSAgIGlmIChhbGcgPT0g MSkKLSAgICAgbWQgPSBFVlBfcmlwZW1kMTYwICgpOwotIAotLSAgSE1BQ19Jbml0ICgmY3R4LCBr ZXksIGJveF9sZW5ndGggKGtleSkgLSBEVl9TVFJJTkdQIChrZXkpID8gMSA6IDAsIG1kKTsKLS0g IGJveF9obWFjXzEgKGJveCwgJmN0eCk7Ci0tICBITUFDX0ZpbmFsICgmY3R4LCB0ZW1wLCAmc2l6 ZSk7Ci0rICBjdHggPSBITUFDX0NUWF9uZXcoKTsKLSsgIGlmICghY3R4KQotKwkgIHJldHVybiBy ZXM7Ci0rCi0rICBITUFDX0luaXRfZXggKGN0eCwga2V5LCBib3hfbGVuZ3RoIChrZXkpIC0gRFZf U1RSSU5HUCAoa2V5KSA/IDEgOiAwLCBtZCwgTlVMTCk7Ci0rICBib3hfaG1hY18xIChib3gsIGN0 eCk7Ci0rICBITUFDX0ZpbmFsIChjdHgsIHRlbXAsICZzaXplKTsKLSAgIGlmIChzaXplKQotICAg ICB7Ci0gICAgICAgcmVzID0gZGtfYWxsb2NfYm94IChzaXplICsgMSwgRFZfU0hPUlRfU1RSSU5H KTsKLSAgICAgICBtZW1jcHkgKHJlcywgdGVtcCwgc2l6ZSk7Ci0gICAgICAgcmVzW3NpemVdID0g MDsKLSAgICAgfQotKyAgSE1BQ19DVFhfZnJlZShjdHgpOwotICAgcmV0dXJuIHJlczsKLSB9Ci0g Ci1AQCAtMzQ3LDE0ICszNTIsMTIgQEAgYXNuMV9wYXJzZV90b194bWwgKEJJTyAqIGJwLCB1bnNp Z25lZCBjaAotIAkgICAgewotIAkgICAgICBpbnQgaWk7Ci0gCi0tCSAgICAgIG9wcCA9IG9wOwot LQkgICAgICBpaSA9IGQyaV9BU04xX0JPT0xFQU4gKE5VTEwsIChjb25zdCB1bnNpZ25lZCBjaGFy ICoqKSZvcHAsIGxlbiArIGhsKTsKLS0JICAgICAgaWYgKGlpIDwgMCkKLSsJICAgICAgaWYgKGxl biArIGhsIDwgMSkKLSAJCXsKLSAJCSAgaWYgKEJJT193cml0ZSAoYnAsICJCYWQgYm9vbGVhblxu IiwgMTIpKQotIAkJICAgIGdvdG8gZW5kOwotIAkJfQotLQkgICAgICBCSU9fcHJpbnRmIChicCwg IiVkIiwgaWkpOwotKwkgICAgICBCSU9fcHJpbnRmIChicCwgIiVkIiwgcFswXSk7Ci0gCSAgICB9 Ci0gCSAgZWxzZSBpZiAodGFnID09IFZfQVNOMV9CTVBTVFJJTkcpCi0gCSAgICB7Ci1AQCAtNDE1 LDcgKzQxOCw3IEBAIGFzbjFfcGFyc2VfdG9feG1sIChCSU8gKiBicCwgdW5zaWduZWQgY2gKLSAJ CX0KLSAJICAgICAgaWYgKG9zICE9IE5VTEwpCi0gCQl7Ci0tCQkgIE1fQVNOMV9PQ1RFVF9TVFJJ TkdfZnJlZSAob3MpOwotKwkJICBBU04xX1NUUklOR19mcmVlIChvcyk7Ci0gCQkgIG9zID0gTlVM TDsKLSAJCX0KLSAJICAgIH0KLUBAIC00NDgsNyArNDUxLDcgQEAgYXNuMV9wYXJzZV90b194bWwg KEJJTyAqIGJwLCB1bnNpZ25lZCBjaAotIAkJICBpZiAoQklPX3dyaXRlIChicCwgIkJBRCBJTlRF R0VSIiwgMTEpIDw9IDApCi0gCQkgICAgZ290byBlbmQ7Ci0gCQl9Ci0tCSAgICAgIE1fQVNOMV9J TlRFR0VSX2ZyZWUgKGJzKTsKLSsJICAgICAgQVNOMV9TVFJJTkdfZnJlZSAoYnMpOwotIAkgICAg fQotIAkgIGVsc2UgaWYgKHRhZyA9PSBWX0FTTjFfRU5VTUVSQVRFRCkKLSAJICAgIHsKLUBAIC00 NzksNyArNDgyLDcgQEAgYXNuMV9wYXJzZV90b194bWwgKEJJTyAqIGJwLCB1bnNpZ25lZCBjaAot IAkJICBpZiAoQklPX3dyaXRlIChicCwgIkJBRCBFTlVNRVJBVEVEIiwgMTEpIDw9IDApCi0gCQkg ICAgZ290byBlbmQ7Ci0gCQl9Ci0tCSAgICAgIE1fQVNOMV9FTlVNRVJBVEVEX2ZyZWUgKGJzKTsK LSsJICAgICAgQVNOMV9TVFJJTkdfZnJlZSAoYnMpOwotIAkgICAgfQotIAkgIGVsc2UgaWYgKGxl biA+IDAgJiYgZHVtcCkKLSAJICAgIHsKLUBAIC01MTUsNyArNTE4LDcgQEAgZW5kOgotICAgaWYg KG8gIT0gTlVMTCkKLSAgICAgQVNOMV9PQkpFQ1RfZnJlZSAobyk7Ci0gICBpZiAob3MgIT0gTlVM TCkKLS0gICAgTV9BU04xX09DVEVUX1NUUklOR19mcmVlIChvcyk7Ci0rICAgIEFTTjFfU1RSSU5H X2ZyZWUgKG9zKTsKLSAgICpwcCA9IHA7Ci0gICByZXR1cm4gKHJldCk7Ci0gfQotQEAgLTcyMyw3 ICs3MjYsNyBAQCBiaW9fdG9fc3Ryc2VzIChCSU8gKiBvdXRfYmlvKQotICAgaW50IGxlbiA9IEJJ T19nZXRfbWVtX2RhdGEgKG91dF9iaW8sICZwdHIpOwotICAgaW50IHRvX3JlYWQgPSBsZW4sIHJl YWRlZCA9IDA7Ci0gCi0tICB0b19mcmVlID0gKChCVUZfTUVNICopIG91dF9iaW8tPnB0ciktPmRh dGE7Ci0rICB0b19mcmVlID0gKChCVUZfTUVNICopIEJJT19nZXRfZGF0YShvdXRfYmlvKSktPmRh dGE7Ci0gICBCSU9fc2V0X2ZsYWdzIChvdXRfYmlvLCBCSU9fRkxBR1NfTUVNX1JET05MWSk7Ci0g ICBDQVRDSF9XUklURV9GQUlMIChzZXMpCi0gICAgIHsKLUBAIC03MzUsNyArNzM4LDcgQEAgYmlv X3RvX3N0cnNlcyAoQklPICogb3V0X2JpbykKLSAgICAgICB9IHdoaWxlICh0b19yZWFkID4gMCk7 Ci0gICAgIH0KLSAgIEVORF9XUklURV9GQUlMIChzZXMpOwotLSAgKChCVUZfTUVNICopIG91dF9i aW8tPnB0ciktPmRhdGEgPSB0b19mcmVlOwotKyAgKChCVUZfTUVNICopIEJJT19nZXRfZGF0YShv dXRfYmlvKSktPmRhdGEgPSB0b19mcmVlOwotICAgQklPX2NsZWFyX2ZsYWdzIChvdXRfYmlvLCBC SU9fRkxBR1NfTUVNX1JET05MWSk7Ci0gICByZXR1cm4gc2VzOwotIH0KLUBAIC03NzAsNyArNzcz LDcgQEAgYmlmX3NtaW1lX3ZlcmlmeSAoY2FkZHJfdCAqIHFzdCwgY2FkZHJfdAotICAgaWYgKERW X1RZUEVfT0YgKG1zZykgPT0gRFZfU1RSSU5HX1NFU1NJT04pCi0gICAgIHsKLSAgICAgICBpbl9i aW8gPSBzdHJzZXNfdG9fYmlvICgoZGtfc2Vzc2lvbl90ICopIG1zZyk7Ci0tICAgICAgdG9fZnJl ZSA9ICgoQlVGX01FTSAqKSBpbl9iaW8tPnB0ciktPmRhdGE7Ci0rICAgICAgdG9fZnJlZSA9ICgo QlVGX01FTSAqKSBCSU9fZ2V0X2RhdGEoaW5fYmlvKSktPmRhdGE7Ci0gICAgICAgQklPX3NldF9m bGFncyAoaW5fYmlvLCBCSU9fRkxBR1NfTUVNX1JET05MWSk7Ci0gICAgIH0KLSAgIGVsc2UKLUBA IC03ODAsNyArNzgzLDcgQEAgYmlmX3NtaW1lX3ZlcmlmeSAoY2FkZHJfdCAqIHFzdCwgY2FkZHJf dAotICAgICAgIHA3ID0gU01JTUVfcmVhZF9QS0NTNyAoaW5fYmlvLCAmZGF0YV9iaW8pOwotICAg ICAgIGlmICh0b19mcmVlKQotIAl7Ci0tCSAgKChCVUZfTUVNICopIGluX2Jpby0+cHRyKS0+ZGF0 YSA9IHRvX2ZyZWU7Ci0rCSAgKChCVUZfTUVNICopIEJJT19nZXRfZGF0YShpbl9iaW8pKS0+ZGF0 YSA9IHRvX2ZyZWU7Ci0gCSAgQklPX2NsZWFyX2ZsYWdzIChpbl9iaW8sIEJJT19GTEFHU19NRU1f UkRPTkxZKTsKLSAJfQotICAgICAgIEJJT19mcmVlIChpbl9iaW8pOwotQEAgLTkyNCwxNiArOTI3 LDIwIEBAIGJpZl9zbWltZV9zaWduIChjYWRkcl90ICogcXN0LCBjYWRkcl90ICoKLSAgICAgfQot IAotICAgY2VydHMgPSBza19YNTA5X25ld19udWxsICgpOwotLSAgaWYgKHN0b3JlICYmIHN0b3Jl LT5vYmpzKQotKwotKyAgaWYgKHN0b3JlICYmIFg1MDlfU1RPUkVfZ2V0MF9vYmplY3RzKHN0b3Jl KSkKLSAgICAgewotLSAgICAgIGZvciAoaW54ID0gMDsgaW54IDwgc2tfWDUwOV9PQkpFQ1RfbnVt IChzdG9yZS0+b2Jqcyk7IGlueCsrKQotKyAgICAgIFNUQUNLX09GKFg1MDlfT0JKRUNUKSAqc3Rv cmVfb2JqcyA9IFg1MDlfU1RPUkVfZ2V0MF9vYmplY3RzKHN0b3JlKTsKLSsKLSsgICAgICBmb3Ig KGlueCA9IDA7IGlueCA8IHNrX1g1MDlfT0JKRUNUX251bSAoc3RvcmVfb2Jqcyk7IGlueCsrKQot IAl7Ci0tCSAgWDUwOV9PQkpFQ1QgKm9iaiA9IHNrX1g1MDlfT0JKRUNUX3ZhbHVlIChzdG9yZS0+ b2JqcywgaW54KTsKLS0JICBpZiAob2JqLT50eXBlID09IFg1MDlfTFVfWDUwOSkKLS0JICAgIHNr X1g1MDlfcHVzaCAoY2VydHMsIFg1MDlfZHVwIChvYmotPmRhdGEueDUwOSkpOwotKwkgIFg1MDlf T0JKRUNUICpvYmogPSBza19YNTA5X09CSkVDVF92YWx1ZSAoc3RvcmVfb2JqcywgaW54KTsKLSsJ ICBpZiAoWDUwOV9PQkpFQ1RfZ2V0X3R5cGUob2JqKSA9PSBYNTA5X0xVX1g1MDkpCi0rCSAgICBz a19YNTA5X3B1c2ggKGNlcnRzLCBYNTA5X2R1cCAoWDUwOV9PQkpFQ1RfZ2V0MF9YNTA5KG9iaikp KTsKLSAJfQotIAotICAgICB9Ci0rCi0gICBpZiAoc3RvcmUpCi0gICAgIFg1MDlfU1RPUkVfZnJl ZSAoc3RvcmUpOwotICAgaW5fYmlvID0gQklPX25ld19tZW1fYnVmIChtc2csIGJveF9sZW5ndGgg KG1zZykgLSAxKTsKLUBAIC0xMDA1LDE1ICsxMDEyLDE5IEBAIGJpZl9zbWltZV9lbmNyeXB0IChj YWRkcl90ICogcXN0LCBjYWRkcl8KLSAgICAgc3Fscl9uZXdfZXJyb3IgKCI0MjAwMCIsICJDUjAw NiIsICJObyByZWNpcGllbnQgY2VydGlmaWNhdGVzIik7Ci0gCi0gICBjZXJ0cyA9IHNrX1g1MDlf bmV3X251bGwgKCk7Ci0tICBpZiAoc3RvcmUgJiYgc3RvcmUtPm9ianMpCi0rCi0rICBpZiAoc3Rv cmUgJiYgWDUwOV9TVE9SRV9nZXQwX29iamVjdHMoc3RvcmUpKQotICAgICB7Ci0tICAgICAgZm9y IChpbnggPSAwOyBpbnggPCBza19YNTA5X09CSkVDVF9udW0gKHN0b3JlLT5vYmpzKTsgaW54Kysp Ci0rICAgICAgU1RBQ0tfT0YoWDUwOV9PQkpFQ1QpICpzdG9yZV9vYmpzID0gWDUwOV9TVE9SRV9n ZXQwX29iamVjdHMoc3RvcmUpOwotKwotKyAgICAgIGZvciAoaW54ID0gMDsgaW54IDwgc2tfWDUw OV9PQkpFQ1RfbnVtIChzdG9yZV9vYmpzKTsgaW54KyspCi0gCXsKLS0JICBYNTA5X09CSkVDVCAq b2JqID0gc2tfWDUwOV9PQkpFQ1RfdmFsdWUgKHN0b3JlLT5vYmpzLCBpbngpOwotLQkgIGlmIChv YmotPnR5cGUgPT0gWDUwOV9MVV9YNTA5KQotLQkgICAgc2tfWDUwOV9wdXNoIChjZXJ0cywgWDUw OV9kdXAgKG9iai0+ZGF0YS54NTA5KSk7Ci0rCSAgWDUwOV9PQkpFQ1QgKm9iaiA9IHNrX1g1MDlf T0JKRUNUX3ZhbHVlIChzdG9yZV9vYmpzLCBpbngpOwotKwkgIGlmIChYNTA5X09CSkVDVF9nZXRf dHlwZShvYmopID09IFg1MDlfTFVfWDUwOSkKLSsJICAgIHNrX1g1MDlfcHVzaCAoY2VydHMsIFg1 MDlfZHVwIChYNTA5X09CSkVDVF9nZXQwX1g1MDkob2JqKSkpOwotIAl9Ci0gICAgIH0KLSsKLSAg IGlmIChzdG9yZSkKLSAgICAgWDUwOV9TVE9SRV9mcmVlIChzdG9yZSk7Ci0gICBpbl9iaW8gPSBC SU9fbmV3X21lbV9idWYgKG1zZywgYm94X2xlbmd0aCAobXNnKSAtIDEpOwotQEAgLTExODEsNyAr MTE5Miw3IEBAIHg1MDlfY2VydGlmaWNhdGVfdmVyaWZ5X2NiIChpbnQgb2ssIFg1MDkKLSAgIGNo YXIgKm9wdHMgPSAoY2hhciAqKSBYNTA5X1NUT1JFX0NUWF9nZXRfYXBwX2RhdGEgKGN0eCk7Ci0g ICBpZiAoIW9rICYmIG9wdHMpCi0gICAgIHsKLS0gICAgICBzd2l0Y2ggKGN0eC0+ZXJyb3IpCi0r ICAgICAgc3dpdGNoIChYNTA5X1NUT1JFX0NUWF9nZXRfZXJyb3IoY3R4KSkKLSAJewotIAljYXNl IFg1MDlfVl9FUlJfQ0VSVF9IQVNfRVhQSVJFRDoKLSAJICBpZiAoc3Ryc3RyIChvcHRzLCAiZXhw aXJlZCIpKQotQEAgLTEyODcsNyArMTI5OCw3IEBAIGJpZl94NTA5X2NlcnRpZmljYXRlX3Zlcmlm eSAoY2FkZHJfdCAqIHEKLSAgIGlmICghaSkKLSAgICAgewotICAgICAgIGNvbnN0IGNoYXIgKmVy cl9zdHI7Ci0tICAgICAgZXJyX3N0ciA9IFg1MDlfdmVyaWZ5X2NlcnRfZXJyb3Jfc3RyaW5nIChj c2MtPmVycm9yKTsKLSsgICAgICBlcnJfc3RyID0gWDUwOV92ZXJpZnlfY2VydF9lcnJvcl9zdHJp bmcgKFg1MDlfU1RPUkVfQ1RYX2dldF9lcnJvcihjc2MpKTsKLSAgICAgICAqZXJyX3JldCA9IHNy dl9tYWtlX25ld19lcnJvciAoIjIyMDIzIiwgIkNSMDE1IiwgIlg1MDkgZXJyb3I6ICVzIiwgZXJy X3N0cik7Ci0gICAgIH0KLSAKLUBAIC0xMzA4LDIwICsxMzE5LDE2IEBAIGVycl9yZXQ6Ci0gI2Rl ZmluZSBWSVJUX0NFUlRfRVhUICIyLjE2Ljg0MC4xLjExMTMuMSIKLSAKLSBzdGF0aWMgY2FkZHJf dAotLUJOX2JveCAoQklHTlVNICogeCkKLStCTl9ib3ggKGNvbnN0IEJJR05VTSAqeCkKLSB7Ci0g ICBzaXplX3QgYnVmX2xlbiwgbjsKLSAgIGNhZGRyX3QgYnVmOwotICAgYnVmX2xlbiA9IChzaXpl X3QpIEJOX251bV9ieXRlcyAoeCk7Ci0tICBpZiAoYnVmX2xlbiA8PSBCTl9CWVRFUykKLS0gICAg YnVmID0gYm94X251bSAoKHVuc2lnbmVkIGxvbmcpIHgtPmRbMF0pOwotLSAgZWxzZQotLSAgICB7 Ci0tICAgICAgYnVmID0gZGtfYWxsb2NfYm94IChidWZfbGVuLCBEVl9CSU4pOwotLSAgICAgIG4g PSBCTl9ibjJiaW4gKHgsICh1bnNpZ25lZCBjaGFyICopIGJ1Zik7Ci0tICAgICAgaWYgKG4gIT0g YnVmX2xlbikKLS0JR1BGX1Q7Ci0tICAgIH0KLSsgIC8qIGRpZCBub3QgZmlndXJlIG91dCB3aGVy ZSBidWYgaXMgZnJlZSgpZWQgKi8KLSsgIGJ1ZiA9IGRrX2FsbG9jX2JveCAoYnVmX2xlbiwgRFZf QklOKTsKLSsgIG4gPSBCTl9ibjJiaW4gKHgsICh1bnNpZ25lZCBjaGFyICopIGJ1Zik7Ci0rICBp ZiAobiAhPSBidWZfbGVuKQotKwkgIEdQRl9UOwotICAgcmV0dXJuIGJ1ZjsKLSB9Ci0gCi1AQCAt MTQ5OCw3ICsxNTA1LDcgQEAgYmlmX2dldF9jZXJ0aWZpY2F0ZV9pbmZvIChjYWRkcl90ICogcXN0 LAotIAlpbnQgaTsKLSAJY2hhciB0bXBbMTAyNF07Ci0gCWNoYXIgKmV4dF9vaWQgPSAoY2hhciAq KSAoQk9YX0VMRU1FTlRTIChhcmdzKSA+IDQgPyBiaWZfc3RyaW5nX2FyZyAocXN0LCBhcmdzLCA0 LCAiZ2V0X2NlcnRpZmljYXRlX2luZm8iKSA6IFZJUlRfQ0VSVF9FWFQpOwotLQlTVEFDS19PRiAo WDUwOV9FWFRFTlNJT04pICogZXh0cyA9IGNlcnQtPmNlcnRfaW5mby0+ZXh0ZW5zaW9uczsKLSsJ Y29uc3QgU1RBQ0tfT0YgKFg1MDlfRVhURU5TSU9OKSAqIGV4dHMgPSBYNTA5X2dldDBfZXh0ZW5z aW9ucyhjZXJ0KTsKLSAJZm9yIChpID0gMDsgaSA8IHNrX1g1MDlfRVhURU5TSU9OX251bSAoZXh0 cyk7IGkrKykKLSAJICB7Ci0gCSAgICBYNTA5X0VYVEVOU0lPTiAqZXggPSBza19YNTA5X0VYVEVO U0lPTl92YWx1ZSAoZXh0cywgaSk7Ci1AQCAtMTUxMCw3ICsxNTE3LDcgQEAgYmlmX2dldF9jZXJ0 aWZpY2F0ZV9pbmZvIChjYWRkcl90ICogcXN0LAotIAkJY2hhciAqZGF0YV9wdHI7Ci0gCQlCSU8g Km1lbSA9IEJJT19uZXcgKEJJT19zX21lbSAoKSk7Ci0gCQlpZiAoIVg1MDlWM19FWFRfcHJpbnQg KG1lbSwgZXgsIDAsIDApKQotLQkJICBNX0FTTjFfT0NURVRfU1RSSU5HX3ByaW50IChtZW0sIGV4 LT52YWx1ZSk7Ci0rCQkgIEFTTjFfU1RSSU5HX3ByaW50IChtZW0sIFg1MDlfRVhURU5TSU9OX2dl dF9kYXRhKGV4KSk7Ci0gCQlsZW4gPSBCSU9fZ2V0X21lbV9kYXRhIChtZW0sICZkYXRhX3B0cik7 Ci0gCQlpZiAobGVuID4gMCAmJiBkYXRhX3B0cikKLSAJCSAgewotQEAgLTE1MzcsMTggKzE1NDQs MjMgQEAgYmlmX2dldF9jZXJ0aWZpY2F0ZV9pbmZvIChjYWRkcl90ICogcXN0LAotIAlpZiAoaykK LSAJICB7Ci0gI2lmZGVmIEVWUF9QS0VZX1JTQQotLQkgICAgaWYgKGstPnR5cGUgPT0gRVZQX1BL RVlfUlNBKQotKwkgICAgaWYgKEVWUF9QS0VZX2lkKGspID09IEVWUF9QS0VZX1JTQSkKLSAJICAg ICAgewotLQkJUlNBICp4ID0gay0+cGtleS5yc2E7Ci0tCQlyZXQgPSBsaXN0ICgzLCBib3hfZHZf c2hvcnRfc3RyaW5nICgiUlNBUHVibGljS2V5IiksIEJOX2JveCAoeC0+ZSksIEJOX2JveCAoeC0+ bikpOwotKwkJY29uc3QgQklHTlVNICpuLCAqZTsKLSsKLSsJCVJTQV9nZXQwX2tleShFVlBfUEtF WV9nZXQwX1JTQShrKSwgJm4sICZlLCBOVUxMKTsKLSsKLSsJCXJldCA9IGxpc3QgKDMsIGJveF9k dl9zaG9ydF9zdHJpbmcgKCJSU0FQdWJsaWNLZXkiKSwgQk5fYm94IChlKSwgQk5fYm94IChuKSk7 Ci0gCSAgICAgIH0KLSAJICAgIGVsc2UKLSAjZW5kaWYKLSAjaWZkZWYgRVZQX1BLRVlfRFNBCi0t CSAgICBpZiAoay0+dHlwZSA9PSBFVlBfUEtFWV9EU0EpCi0rCSAgICBpZiAoRVZQX1BLRVlfaWQo aykgPT0gRVZQX1BLRVlfRFNBKQotIAkgICAgICB7Ci0tCQlEU0EgKnggPSBrLT5wa2V5LmRzYTsK LS0JCXJldCA9IGxpc3QgKDIsIGJveF9kdl9zaG9ydF9zdHJpbmcgKCJEU0FQdWJsaWNLZXkiKSwg Qk5fYm94ICh4LT5wdWJfa2V5KSk7Ci0rCQljb25zdCBCSUdOVU0gKnB1Yl9rZXk7Ci0rCi0rCQlE U0FfZ2V0MF9rZXkoRVZQX1BLRVlfZ2V0MF9EU0EoayksICZwdWJfa2V5LCBOVUxMKTsKLSsJCXJl dCA9IGxpc3QgKDIsIGJveF9kdl9zaG9ydF9zdHJpbmcgKCJEU0FQdWJsaWNLZXkiKSwgQk5fYm94 IChwdWJfa2V5KSk7Ci0gCSAgICAgIH0KLSAJICAgIGVsc2UKLSAjZW5kaWYKLUBAIC0xNTY3LDEz ICsxNTc5LDEzIEBAIGJpZl9nZXRfY2VydGlmaWNhdGVfaW5mbyAoY2FkZHJfdCAqIHFzdCwKLSAJ aW50IG4sIGksIGxlbjsKLSAJY2hhciAqcywgKmRhdGFfcHRyOwotIAlCSU8gKm1lbSA9IEJJT19u ZXcgKEJJT19zX21lbSAoKSk7Ci0tCWZvciAoaSA9IDA7IE5VTEwgIT0gc3ViaiAmJiBpIDwgc2tf WDUwOV9OQU1FX0VOVFJZX251bShzdWJqLT5lbnRyaWVzKTsgaSsrKQotKwlmb3IgKGkgPSAwOyBO VUxMICE9IHN1YmogJiYgaSA8IFg1MDlfTkFNRV9lbnRyeV9jb3VudChzdWJqKTsgaSsrKQotIAkg IHsKLS0JICAgIG5lID0gc2tfWDUwOV9OQU1FX0VOVFJZX3ZhbHVlKHN1YmotPmVudHJpZXMsaSk7 Ci0tCSAgICBuID0gT0JKX29iajJuaWQgKG5lLT5vYmplY3QpOwotKwkgICAgbmUgPSBYNTA5X05B TUVfZ2V0X2VudHJ5KHN1YmosIGkpOwotKwkgICAgbiA9IE9CSl9vYmoybmlkIChYNTA5X05BTUVf RU5UUllfZ2V0X29iamVjdChuZSkpOwotIAkgICAgaWYgKChuID09IE5JRF91bmRlZikgfHwgKChz ID0gKGNoYXIgKikgT0JKX25pZDJzbiAobikpID09IE5VTEwpKQotIAkgICAgICB7Ci0tCQlpMnRf QVNOMV9PQkpFQ1QgKGJ1ZmZlciwgc2l6ZW9mIChidWZmZXIpLCBuZS0+b2JqZWN0KTsKLSsJCWky dF9BU04xX09CSkVDVCAoYnVmZmVyLCBzaXplb2YgKGJ1ZmZlciksIFg1MDlfTkFNRV9FTlRSWV9n ZXRfb2JqZWN0KG5lKSk7Ci0gCQlzID0gYnVmZmVyOwotIAkgICAgICB9Ci0gCSAgICBpZiAoIXN0 cmNtcCAocywgYXR0cikpCi1AQCAtMTU4Miw5ICsxNTk0LDEwIEBAIGJpZl9nZXRfY2VydGlmaWNh dGVfaW5mbyAoY2FkZHJfdCAqIHFzdCwKLSAJCWJyZWFrOwotIAkgICAgICB9Ci0gCSAgfQotKwot IAlpZiAobmVfcmV0KQotIAkgIHsKLS0JICAgIEFTTjFfU1RSSU5HX3ByaW50IChtZW0sIG5lX3Jl dC0+dmFsdWUpOwotKwkgICAgQVNOMV9TVFJJTkdfcHJpbnQgKG1lbSwgWDUwOV9OQU1FX0VOVFJZ X2dldF9kYXRhKG5lX3JldCkpOwotIAkgICAgbGVuID0gQklPX2dldF9tZW1fZGF0YSAobWVtLCAm ZGF0YV9wdHIpOwotIAkgICAgaWYgKGxlbiA+IDAgJiYgZGF0YV9wdHIpCi0gCSAgICAgIHsKLUBA IC0xNjA1LDE3ICsxNjE4LDE3IEBAIGJpZl9nZXRfY2VydGlmaWNhdGVfaW5mbyAoY2FkZHJfdCAq IHFzdCwKLSAJZGtfc2V0X3Qgc2V0ID0gTlVMTDsKLSAJY2FkZHJfdCB2YWw7Ci0gCUJJTyAqbWVt ID0gQklPX25ldyAoQklPX3NfbWVtICgpKTsKLS0JZm9yIChpID0gMDsgTlVMTCAhPSBzdWJqICYm IGkgPCBza19YNTA5X05BTUVfRU5UUllfbnVtKHN1YmotPmVudHJpZXMpOyBpKyspCi0rCWZvciAo aSA9IDA7IE5VTEwgIT0gc3ViaiAmJiBpIDwgWDUwOV9OQU1FX2VudHJ5X2NvdW50KHN1YmopOyBp KyspCi0gCSAgewotIAkgICAgdmFsID0gTlVMTDsKLS0JICAgIG5lID0gc2tfWDUwOV9OQU1FX0VO VFJZX3ZhbHVlKHN1YmotPmVudHJpZXMsaSk7Ci0tCSAgICBuID0gT0JKX29iajJuaWQgKG5lLT5v YmplY3QpOwotKwkgICAgbmUgPSBYNTA5X05BTUVfZ2V0X2VudHJ5KHN1YmosIGkpOwotKwkgICAg biA9IE9CSl9vYmoybmlkIChYNTA5X05BTUVfRU5UUllfZ2V0X29iamVjdChuZSkpOwotIAkgICAg aWYgKChuID09IE5JRF91bmRlZikgfHwgKChzID0gKGNoYXIgKikgT0JKX25pZDJzbiAobikpID09 IE5VTEwpKQotIAkgICAgICB7Ci0tCQlpMnRfQVNOMV9PQkpFQ1QgKGJ1ZmZlciwgc2l6ZW9mIChi dWZmZXIpLCBuZS0+b2JqZWN0KTsKLSsJCWkydF9BU04xX09CSkVDVCAoYnVmZmVyLCBzaXplb2Yg KGJ1ZmZlciksIFg1MDlfTkFNRV9FTlRSWV9nZXRfb2JqZWN0KG5lKSk7Ci0gCQlzID0gYnVmZmVy OwotIAkgICAgICB9Ci0tCSAgICBBU04xX1NUUklOR19wcmludCAobWVtLCBuZS0+dmFsdWUpOwot KwkgICAgQVNOMV9TVFJJTkdfcHJpbnQgKG1lbSwgWDUwOV9OQU1FX0VOVFJZX2dldF9kYXRhKG5l KSk7Ci0gCSAgICBsZW4gPSBCSU9fZ2V0X21lbV9kYXRhIChtZW0sICZkYXRhX3B0cik7Ci0gCSAg ICBpZiAobGVuID4gMCAmJiBkYXRhX3B0cikKLSAJICAgICAgewotQEAgLTE2MjksMTggKzE2NDIs MjIgQEAgYmlmX2dldF9jZXJ0aWZpY2F0ZV9pbmZvIChjYWRkcl90ICogcXN0LAotIAkgIH0KLSAJ QklPX2ZyZWUgKG1lbSk7Ci0gCXJldCA9IGxpc3RfdG9fYXJyYXkgKGRrX3NldF9ucmV2ZXJzZSAo c2V0KSk7Ci0rCi0gCWJyZWFrOwotICAgICAgIH0KLSAgICAgY2FzZSAxMjoKLSAgICAgICB7Ci0g CWNvbnN0IHVuc2lnbmVkIGNoYXIgKnM7Ci0gCWludCBpLCBuOwotLQljb25zdCBBU04xX1NUUklO RyAqc2lnID0gY2VydC0+c2lnbmF0dXJlOwotLQlYNTA5X0FMR09SICpzaWdhbGcgPSBjZXJ0LT5z aWdfYWxnOwotKwljb25zdCBBU04xX1NUUklORyAqc2lnOwotKwljb25zdCBYNTA5X0FMR09SICpz aWdhbGc7Ci0rCWNvbnN0IEFTTjFfT0JKRUNUICpzaWdfYWxnX2FsZ29yaXRobTsKLSAJY2hhciBi dWZbODBdOwotIAljYWRkcl90IHZhbDsKLSAKLS0gICAgICAgIGkydF9BU04xX09CSkVDVChidWYs c2l6ZW9mIChidWYpLCBzaWdhbGctPmFsZ29yaXRobSk7Ci0rCVg1MDlfZ2V0MF9zaWduYXR1cmUo JnNpZywgJnNpZ2FsZywgY2VydCk7Ci0rCVg1MDlfQUxHT1JfZ2V0MCgmc2lnX2FsZ19hbGdvcml0 aG0sIE5VTEwsIE5VTEwsIHNpZ2FsZyk7Ci0rCWkydF9BU04xX09CSkVDVChidWYsc2l6ZW9mIChi dWYpLCBzaWdfYWxnX2FsZ29yaXRobSk7Ci0gCi0gCW4gPSBzaWctPmxlbmd0aDsKLSAJcyA9IHNp Zy0+ZGF0YTsKLUBAIC0xNjYwLDExICsxNjc3LDExIEBAIGJpZl9nZXRfY2VydGlmaWNhdGVfaW5m byAoY2FkZHJfdCAqIHFzdCwKLSAJaWYgKGspCi0gCSAgewotICNpZmRlZiBFVlBfUEtFWV9SU0EK LS0JICAgIGlmIChrLT50eXBlID09IEVWUF9QS0VZX1JTQSkKLSsJICAgIGlmIChFVlBfUEtFWV9p ZChrKSA9PSBFVlBfUEtFWV9SU0EpCi0gCSAgICAgIHsKLSAJCWNoYXIgKmRhdGFfcHRyOwotIAkJ aW50IGxlbjsKLS0JCVJTQSAqeCA9IGstPnBrZXkucnNhOwotKwkJUlNBICp4ID0gRVZQX1BLRVlf Z2V0MF9SU0Eoayk7Ci0gCQliID0gQklPX25ldyAoQklPX3NfbWVtKCkpOwotIAkJaTJkX1JTQV9Q VUJLRVlfYmlvIChiLCB4KTsKLSAJCWxlbiA9IEJJT19nZXRfbWVtX2RhdGEgKGIsICZkYXRhX3B0 cik7Ci0tLS0gYS9saWJzcmMvV2kveG1sZW5jLmMKLSsrKyBiL2xpYnNyYy9XaS94bWxlbmMuYwot QEAgLTEyMTUsMzYgKzEyMTUsNDUgQEAgdm9pZCB4ZW5jX2tleV9yZW1vdmUgKHhlbmNfa2V5X3Qg KiBrZXksCi0gfQotIAotIAotLXN0YXRpYyB2b2lkCi0tZ2VucnNhX2NiKGludCBwLCBpbnQgbiwg dm9pZCAqYXJnKQotLXsKLS0jaWZkZWYgTElOVAotLSAgcD1uOwotLSNlbmRpZgotLX0KLS0KLSBp bnQKLSBfX3hlbmNfa2V5X3JzYV9pbml0IChjaGFyICpuYW1lKQotIHsKLSAgIFJTQSAqcnNhID0g TlVMTDsKLS0gIGludCBudW09MTAyNDsKLS0gIHVuc2lnbmVkIGxvbmcgZjQ9UlNBX0Y0OwotKyAg QklHTlVNICpibiA9IE5VTEw7Ci0gICBpbnQgcjsKLSsKLSAgIHhlbmNfa2V5X3QgKiBwa2V5ID0g eGVuY19nZXRfa2V5X2J5X25hbWUgKG5hbWUsIDEpOwotICAgaWYgKE5VTEwgPT0gcGtleSkKLSAg ICAgU1FMUl9ORVdfS0VZX0VSUk9SIChuYW1lKTsKLSAKLS0gIHJzYT1SU0FfZ2VuZXJhdGVfa2V5 KG51bSxmNCxnZW5yc2FfY2IsTlVMTCk7Ci0rICByc2EgPSBSU0FfbmV3KCk7Ci0rICBpZiAoIXJz YSkKLSsJICBnb3RvIG91dDsKLSsgIGJuID0gQk5fbmV3KCk7Ci0rICBpZiAoIWJuKQotKwkgIGdv dG8gb3V0OwotKyAgaWYgKCFCTl9zZXRfd29yZChibiwgUlNBX0Y0KSkKLSsJICBnb3RvIG91dDsK LSsKLSsgIGlmICghUlNBX2dlbmVyYXRlX2tleV9leChyc2EsIDEwMjQsIGJuLCBOVUxMKSkKLSsJ ICBnb3RvIG91dDsKLSsKLSAgIHIgPSBSU0FfY2hlY2tfa2V5KHJzYSk7Ci0rICBpZiAociAhPSAx KQotKwkgIGdvdG8gb3V0OwotICAgcGtleS0+a2kucnNhLnBhZCA9IFJTQV9QS0NTMV9QQURESU5H OwotLSAgaWYgKHJzYSA9PSBOVUxMKQotLSAgICB7Ci0tICAgICAgc3Fscl9uZXdfZXJyb3IgKCI0 MjAwMCIsICJYRU5DMDYiLAotLQkJICAgICJSU0EgcGFyYW1ldGVycyBnZW5lcmF0aW9uIGVycm9y Iik7Ci0tICAgIH0KLSAgIHBrZXktPnhla19yc2EgPSByc2E7Ci0gICBwa2V5LT54ZWtfcHJpdmF0 ZV9yc2EgPSByc2E7Ci0rICBCTl9mcmVlKGJuKTsKLSAgIHJldHVybiAwOwotK291dDoKLSsgIGlm IChibikKLSsJICBCTl9mcmVlKGJuKTsKLSsgIGlmIChyc2EpCi0rCSAgUlNBX2ZyZWUocnNhKTsK LSsgIHNxbHJfbmV3X2Vycm9yICgiNDIwMDAiLCAiWEVOQzA2IiwKLSsJCSAgIlJTQSBwYXJhbWV0 ZXJzIGdlbmVyYXRpb24gZXJyb3IiKTsKLSsgIHJldHVybiAtMTsKLSB9Ci0gCi0gCi1AQCAtMTQ1 NSwxOSArMTQ2NCwxOSBAQCB4ZW5jX2tleV90ICogeGVuY19rZXlfY3JlYXRlX2Zyb21feDUwOV9j Ci0gCi0gICBpZiAocGtleSkKLSAgICAgewotLSAgICAgIHN3aXRjaCAoRVZQX1BLRVlfdHlwZSAo cGtleS0+dHlwZSkpCi0rICAgICAgc3dpdGNoIChFVlBfUEtFWV90eXBlIChFVlBfUEtFWV9pZChw a2V5KSkpCi0gCXsKLSAJY2FzZSBFVlBfUEtFWV9EU0E6Ci0gCSAgc2lnbl9hbGdvbmFtZSA9IERT SUdfRFNBX1NIQTFfQUxHTzsKLSAJICBlbmNfYWxnb25hbWUgPSBYRU5DX0RTQV9BTEdPOwotLQkg IGRzYSA9IHBrZXktPnBrZXkuZHNhOwotLQkgIHByaXZhdGVfZHNhID0gcHJpdmF0ZV9rZXkgPyBw cml2YXRlX2tleS0+cGtleS5kc2EgOiAwOwotKwkgIGRzYSA9IEVWUF9QS0VZX2dldDBfRFNBKHBr ZXkpOwotKwkgIHByaXZhdGVfZHNhID0gcHJpdmF0ZV9rZXkgPyBFVlBfUEtFWV9nZXQwX0RTQShw cml2YXRlX2tleSkgOiAwOwotIAkgIGJyZWFrOwotIAljYXNlIEVWUF9QS0VZX1JTQToKLSAJICBz aWduX2FsZ29uYW1lID0gRFNJR19SU0FfU0hBMV9BTEdPOwotIAkgIGVuY19hbGdvbmFtZSA9IFhF TkNfUlNBX0FMR087Ci0tCSAgcnNhID0gcGtleS0+cGtleS5yc2E7Ci0tCSAgcHJpdmF0ZV9yc2Eg PSBwcml2YXRlX2tleSA/IHByaXZhdGVfa2V5LT5wa2V5LnJzYSA6IDA7Ci0rCSAgcnNhID0gRVZQ X1BLRVlfZ2V0MF9SU0EocGtleSk7Ci0rCSAgcHJpdmF0ZV9yc2EgPSBwcml2YXRlX2tleSA/IEVW UF9QS0VZX2dldDBfUlNBKHByaXZhdGVfa2V5KSA6IDA7Ci0gCSAgYnJlYWs7Ci0gCWRlZmF1bHQ6 Ci0gCSAgZ290byBmaW5pc2g7Ci1AQCAtMTUxNiwxMyArMTUyNSw2IEBAIHhlbmNfa2V5X3QgKiB4 ZW5jX2tleV9jcmVhdGVfZnJvbV94NTA5X2MKLSAgIHJldHVybiBrOwotIH0KLSAKLS1zdGF0aWMg dm9pZCBkaF9jYihpbnQgcCwgaW50IG4sIHZvaWQgKmFyZykKLS17Ci0tI2lmZGVmIExJTlQKLS0g IHA9bjsKLS0jZW5kaWYKLS19Ci0tCi0gc3RhdGljIC8qeGVuY19rZXlfRFNBX2NyZWF0ZSAqLwot IGNhZGRyX3QgYmlmX3hlbmNfa2V5X2RzYV9jcmVhdGUgKGNhZGRyX3QgKiBxc3QsIGNhZGRyX3Qg KiBlcnJfciwgc3RhdGVfc2xvdF90ICoqIGFyZ3MpCi0gewotQEAgLTE1ODgsMTUgKzE1OTAsMjEg QEAgY2FkZHJfdCBiaWZfeGVuY19rZXlfREhfY3JlYXRlIChjYWRkcl90Ci0gICAgICAgZGggPSBE SF9uZXcgKCk7Ci0gICAgICAgYm5fcCA9IEJOX2JpbjJibiAoKHVuc2lnbmVkIGNoYXIgKiltb2Qs IHBfbGVuLCBOVUxMKTsKLSAgICAgICBibl9nID0gQk5fYmluMmJuIChnX2JpbiwgMSwgTlVMTCk7 Ci0tICAgICAgZGgtPnAgPSBibl9wOwotLSAgICAgIGRoLT5nID0gYm5fZzsKLSsgICAgICBpZiAo ZGgpCi0rCSAgICAgIERIX3NldDBfcHFnKGRoLCBibl9wLCBOVUxMLCBibl9nKTsKLSAKLSAgICAg ICBka19mcmVlX2JveCAobW9kX2I2NCk7Ci0gICAgICAgZGtfZnJlZV9ib3ggKG1vZCk7Ci0gICAg IH0KLSAgIGVsc2UKLSAgICAgewotLSAgICAgIGRoID0gREhfZ2VuZXJhdGVfcGFyYW1ldGVycyAo bnVtLCBnLCBkaF9jYiwgTlVMTCk7Ci0rICAgICAgZGggPSBESF9uZXcoKTsKLSsgICAgICBpZiAo ZGgpIHsKLSsJICAgICAgaWYgKCFESF9nZW5lcmF0ZV9wYXJhbWV0ZXJzX2V4KGRoLCBudW0sIGcs IE5VTEwpKSB7Ci0rCQkgICAgICBESF9mcmVlKGRoKTsKLSsJCSAgICAgIGRoID0gTlVMTDsKLSsJ ICAgICAgfQotKyAgICAgIH0KLSAgICAgfQotICAgaWYgKCFkaCkKLSAgICAgewotQEAgLTE2MjYs NyArMTYzNCw3IEBAIGNhZGRyX3QgYmlmX3hlbmNfREhfZ2V0X3BhcmFtcyAoY2FkZHJfdAotICAg aW50IG4sIGxlbjsKLSAgIGNhZGRyX3QgYnVmID0gTlVMTCwgcmV0LCBiNjQ7Ci0gICBESCAqZGg7 Ci0tICBCSUdOVU0gKm51bTsKLSsgIGNvbnN0IEJJR05VTSAqbnVtOwotIAotICAgbXV0ZXhfZW50 ZXIgKHhlbmNfa2V5c19tdHgpOwotICAga2V5ID0geGVuY19nZXRfa2V5X2J5X25hbWUgKG5hbWUs IDApOwotQEAgLTE2NDEsMTkgKzE2NDksMTkgQEAgY2FkZHJfdCBiaWZfeGVuY19ESF9nZXRfcGFy YW1zIChjYWRkcl90Ci0gICBzd2l0Y2ggKHBhcmFtKQotICAgICB7Ci0gICAJY2FzZSAxOgotLQkg bnVtID0gZGgtPnA7Ci0rCSBESF9nZXQwX3BxZyhkaCwgJm51bSwgTlVMTCwgTlVMTCk7Ci0gCSBi cmVhazsKLSAJY2FzZSAyOgotLQkgbnVtID0gZGgtPmc7Ci0rCSBESF9nZXQwX3BxZyhkaCwgTlVM TCwgTlVMTCwgJm51bSk7Ci0gCSBicmVhazsKLSAJY2FzZSAzOgotLQkgbnVtID0gZGgtPnB1Yl9r ZXk7Ci0rCSBESF9nZXQwX2tleShkaCwgJm51bSwgTlVMTCk7Ci0gCSBicmVhazsKLSAJY2FzZSA0 OgotLQkgbnVtID0gZGgtPnByaXZfa2V5OwotKwkgREhfZ2V0MF9rZXkoZGgsIE5VTEwsICZudW0p OwotIAkgYnJlYWs7Ci0gCWRlZmF1bHQ6Ci0tCSBudW0gPSBkaC0+cHViX2tleTsKLSsJIERIX2dl dDBfa2V5KGRoLCAmbnVtLCBOVUxMKTsKLSAgICAgfQotIAotICAgYnVmX2xlbiA9IChzaXplX3Qp Qk5fbnVtX2J5dGVzKG51bSk7Ci1AQCAtMTgxMSw3ICsxODE5LDE1IEBAIGNhZGRyX3QgYmlmX3hl bmNfa2V5X3JzYV9jcmVhdGUgKGNhZGRyX3QKLSAgIHhlbmNfa2V5X3QgKiBrOwotICAgY2FkZHJf dCBuYW1lID0gYmlmX3N0cmluZ19hcmcgKHFzdCwgYXJncywgMCwgInhlbmNfa2V5X1JTQV9jcmVh dGUiKTsKLSAgIGludCBudW0gPSAoaW50KSBiaWZfbG9uZ19hcmcgKHFzdCwgYXJncywgMSwgInhl bmNfa2V5X1JTQV9jcmVhdGUiKTsKLS0gIFJTQSAqcnNhID0gTlVMTDsKLSsgIFJTQSAqcnNhOwot KyAgQklHTlVNICpibjsKLSsKLSsgIHJzYSA9IFJTQV9uZXcoKTsKLSsgIGJuID0gQk5fbmV3KCk7 Ci0rICBpZiAoIXJzYSB8fCAhYm4pCi0rCWdvdG8gb3V0OwotKyAgaWYgKCFCTl9zZXRfd29yZChi biwgUlNBX0Y0KSkKLSsJZ290byBvdXQ7Ci0gCi0gICBtdXRleF9lbnRlciAoeGVuY19rZXlzX210 eCk7Ci0gICBpZiAoTlVMTCA9PSAoayA9IHhlbmNfa2V5X2NyZWF0ZSAobmFtZSwgWEVOQ19SU0Ff QUxHTyAsIERTSUdfUlNBX1NIQTFfQUxHTywgMCkpKQotQEAgLTE4MjAsMTIgKzE4MzYsMTEgQEAg Y2FkZHJfdCBiaWZfeGVuY19rZXlfcnNhX2NyZWF0ZSAoY2FkZHJfdAotICAgICAgIFNRTFJfTkVX X0tFWV9FWElTVF9FUlJPUiAobmFtZSk7Ci0gICAgIH0KLSAKLS0gIHJzYSA9IFJTQV9nZW5lcmF0 ZV9rZXkgKG51bSwgUlNBX0Y0LCBOVUxMLCBOVUxMKTsKLS0KLS0gIGlmIChyc2EgPT0gTlVMTCkK LS0gICAgewotLSAgICAgIHNxbHJfbmV3X2Vycm9yICgiNDIwMDAiLCAiWEVOQzA2IiwgIlJTQSBn ZW5lcmF0aW9uIGVycm9yIik7Ci0tICAgIH0KLSsgIGlmICghUlNBX2dlbmVyYXRlX2tleV9leCAo cnNhLCBudW0sIGJuLCBOVUxMKSkgewotKwkgIG11dGV4X2xlYXZlICh4ZW5jX2tleXNfbXR4KTsK LSsJICBnb3RvIG91dDsKLSsgIH0KLSsgIEJOX2ZyZWUoYm4pOwotIAotICAgay0+eGVrX3JzYSA9 IFJTQVB1YmxpY0tleV9kdXAgKHJzYSk7Ci0gICBrLT54ZWtfcHJpdmF0ZV9yc2EgPSByc2E7Ci1A QCAtMTgzOSw2ICsxODU0LDEzIEBAIGNhZGRyX3QgYmlmX3hlbmNfa2V5X3JzYV9jcmVhdGUgKGNh ZGRyX3QKLSAKLSAgIG11dGV4X2xlYXZlICh4ZW5jX2tleXNfbXR4KTsKLSAgIHJldHVybiBOVUxM OwotK291dDoKLSsgIGlmIChibikKLSsJICBCTl9mcmVlKGJuKTsKLSsgIGlmIChyc2EpCi0rCSAg UlNBX2ZyZWUocnNhKTsKLSsgIHNxbHJfbmV3X2Vycm9yICgiNDIwMDAiLCAiWEVOQzA2IiwgIlJT QSBnZW5lcmF0aW9uIGVycm9yIik7Ci0rICByZXR1cm4gTlVMTDsKLSB9Ci0gCi0geGVuY19rZXlf dCAqCi1AQCAtMjAzNCw3ICsyMDU2LDEzIEBAIGludCBfX3hlbmNfa2V5X2RzYV9pbml0IChjaGFy ICpuYW1lLCBpbnQKLSAgICAgU1FMUl9ORVdfS0VZX0VSUk9SIChuYW1lKTsKLSAKLSAgIFJBTkRf cG9sbCAoKTsKLS0gIGRzYSA9IERTQV9nZW5lcmF0ZV9wYXJhbWV0ZXJzKG51bSwgTlVMTCwgMCwg TlVMTCwgTlVMTCwgZGhfY2IsIE5VTEwpOwotKyAgZHNhID0gRFNBX25ldygpOwotKyAgaWYgKGRz YSkgewotKwkgIGlmICghRFNBX2dlbmVyYXRlX3BhcmFtZXRlcnNfZXgoZHNhLCBudW0sIE5VTEws IDAsIE5VTEwsIE5VTEwsIE5VTEwpKSB7Ci0rCQkgIERTQV9mcmVlKGRzYSk7Ci0rCQkgIGRzYSA9 IE5VTEw7Ci0rCSAgfQotKyAgfQotICAgaWYgKGRzYSA9PSBOVUxMKQotICAgICB7Ci0gICAgICAg c3Fscl9uZXdfZXJyb3IgKCI0MjAwMCIsICJYRU5DMTEiLAotQEAgLTIwNTgsNyArMjA4NiwxMyBA QCBpbnQgX194ZW5jX2tleV9kaF9pbml0IChjaGFyICpuYW1lLCBpbnQKLSAgIGlmIChOVUxMID09 IHBrZXkpCi0gICAgIFNRTFJfTkVXX0tFWV9FUlJPUiAobmFtZSk7Ci0gCi0tICBkaCA9IERIX2dl bmVyYXRlX3BhcmFtZXRlcnMgKG51bSwgZywgZGhfY2IsIE5VTEwpOwotKyAgZGggPSBESF9uZXco KTsKLSsgIGlmIChkaCkgewotKwkgIGlmICghREhfZ2VuZXJhdGVfcGFyYW1ldGVyc19leChkaCwg bnVtLCBnLCBOVUxMKSkgewotKwkJICBESF9mcmVlKGRoKTsKLSsJCSAgZGggPSBOVUxMOwotKwkg IH0KLSsgIH0KLSAgIGlmICghZGgpCi0gICAgIHsKLSAgICAgICBzcWxyX25ld19lcnJvciAoIjQy MDAwIiwgIlhFTkMxMSIsCi1AQCAtMjI4MCwxMiArMjMxNCwxMiBAQCBiaWZfeGVuY19rZXlfcnNh X3JlYWQgKGNhZGRyX3QgKiBxc3QsIGNhCi0gICAgIHsKLSAgICAgICBpbiA9IEJJT19uZXdfbWVt X2J1ZiAoa2V5X2Jhc2U2NCwgbGVuKTsKLSAgICAgICBwa2V5ID0gZDJpX1BVQktFWV9iaW8gKGlu LCBOVUxMKTsKLS0gICAgICBpZiAocGtleSAmJiBwa2V5LT50eXBlID09IEVWUF9QS0VZX1JTQSkK LS0JcCA9IHBrZXktPnBrZXkucnNhOwotKyAgICAgIGlmIChwa2V5ICYmIEVWUF9QS0VZX2lkKHBr ZXkpID09IEVWUF9QS0VZX1JTQSkKLSsJcCA9IEVWUF9QS0VZX2dldDBfUlNBKHBrZXkpOwotICAg ICAgIEJJT19yZXNldCAoaW4pOwotICAgICAgIHBra2V5ID0gZDJpX1ByaXZhdGVLZXlfYmlvIChp biwgTlVMTCk7Ci0tICAgICAgaWYgKHBra2V5ICYmIHBra2V5LT50eXBlID09IEVWUF9QS0VZX1JT QSkKLS0JciA9IHBra2V5LT5wa2V5LnJzYTsKLSsgICAgICBpZiAocGtrZXkgJiYgRVZQX1BLRVlf aWQocGtrZXkpID09IEVWUF9QS0VZX1JTQSkKLSsJciA9IEVWUF9QS0VZX2dldDBfUlNBKHBra2V5 KTsKLSAgICAgICBCSU9fZnJlZSAoaW4pOwotICAgICB9Ci0gICBlbHNlCi1AQCAtMjMwNCw5ICsy MzM4LDExIEBAIGJpZl94ZW5jX2tleV9yc2FfcmVhZCAoY2FkZHJfdCAqIHFzdCwgY2EKLSAKLSAg IGlmICghcCkKLSAgICAgewotKyAgICAgIGNvbnN0IEJJR05VTSAqbiwgKmU7Ci0rCi0rICAgICAg UlNBX2dldDBfa2V5KHIsICZuLCAmZSwgTlVMTCk7Ci0gICAgICAgcCA9IFJTQV9uZXcgKCk7Ci0t ICAgICAgcC0+biA9IEJOX2R1cCAoci0+bik7Ci0tICAgICAgcC0+ZSA9IEJOX2R1cCAoci0+ZSk7 Ci0rICAgICAgUlNBX3NldDBfa2V5KHAsIEJOX2R1cChuKSwgQk5fZHVwKGUpLCBOVUxMKTsKLSAg ICAgfQotIAotICAgbXV0ZXhfZW50ZXIgKHhlbmNfa2V5c19tdHgpOwotQEAgLTIzNTUsMTQgKzIz OTEsMTMgQEAgYmlmX3hlbmNfa2V5X3JzYV9jb25zdHJ1Y3QgKGNhZGRyX3QgKiBxcwotICAgcCA9 IFJTQV9uZXcgKCk7Ci0gICBuID0gQk5fYmluMmJuICgodW5zaWduZWQgY2hhciAqKSBtb2QsIGJv eF9sZW5ndGggKG1vZCkgLSAxLCBOVUxMKTsKLSAgIGUgPSBCTl9iaW4yYm4gKCh1bnNpZ25lZCBj aGFyICopIGV4cCwgYm94X2xlbmd0aCAoZXhwKSAtIDEsIE5VTEwpOwotLSAgcC0+biA9IG47Ci0t ICBwLT5lID0gZTsKLSsgIFJTQV9zZXQwX2tleShwLCBuLCBlLCBOVUxMKTsKLSAgIGlmIChwZXhw KQotICAgICB7Ci0gICAgICAgcGsgPSBSU0FfbmV3ICgpOwotLSAgICAgIHBrLT5kID0gQk5fYmlu MmJuICgodW5zaWduZWQgY2hhciAqKSBwZXhwLCBib3hfbGVuZ3RoIChwZXhwKSAtIDEsIE5VTEwp OwotLSAgICAgIHBrLT5uID0gQk5fZHVwIChuKTsKLS0gICAgICBway0+ZSA9IEJOX2R1cCAoZSk7 Ci0rICAgICAgUlNBX3NldDBfa2V5KHAsIEJOX2R1cChuKSwKLSsJCSAgICAgIEJOX2R1cChlKSwK LSsJCSAgICAgIEJOX2JpbjJibiAoKHVuc2lnbmVkIGNoYXIgKikgcGV4cCwgYm94X2xlbmd0aCAo cGV4cCkgLSAxLCBOVUxMKSk7Ci0gICAgIH0KLSAgIG11dGV4X2VudGVyICh4ZW5jX2tleXNfbXR4 KTsKLSAgIGsgPSB4ZW5jX2tleV9jcmVhdGUgKG5hbWUsIFhFTkNfUlNBX0FMR08sIERTSUdfUlNB X1NIQTFfQUxHTywgMCk7Ci1AQCAtNDA4Niw3ICs0MTIxLDcgQEAgdm9pZCB4ZW5jX3RhZ19mcmVl ICh4ZW5jX3RhZ190ICogdCkKLSAjZW5kaWYKLSB9Ci0gCi0teGVuY190YWdfdCAqIHhlbmNfdGFn X2FkZF9jaGlsZF9CTiAoeGVuY190YWdfdCAqIHRhZywgQklHTlVNICogYm4pCi0rc3RhdGljIHhl bmNfdGFnX3QgKiB4ZW5jX3RhZ19hZGRfY2hpbGRfQk4gKHhlbmNfdGFnX3QgKiB0YWcsIGNvbnN0 IEJJR05VTSAqIGJuKQotIHsKLSAgY2hhciAqIGJ1ZmZlciA9IGRrX2FsbG9jX2JveCAoQk5fbnVt X2J5dGVzIChibiksIERWX0JJTik7Ci0gIGNoYXIgKiBidWZmZXJfYmFzZTY0ID0gZGtfYWxsb2Nf Ym94IChib3hfbGVuZ3RoIChidWZmZXIpICogMiwgRFZfU1RSSU5HKTsKLUBAIC00MTExLDEyICs0 MTQ2LDE1IEBAIGNhZGRyX3QgKiogeGVuY19nZW5lcmF0ZV9leHRfaW5mbyAoeGVuY18KLSAgIGNh ZGRyX3QgKiogYXJyYXk7Ci0gICBpZiAoa2V5LT54ZWtfdHlwZSA9PSBEU0lHX0tFWV9SU0EpCi0g ICAgIHsKLSsgICAgICBjb25zdCBCSUdOVU0gKnJzYV9uLCAqcnNhX2U7Ci0rCi0rICAgICAgUlNB X2dldDBfa2V5KGtleS0+a2kucnNhLnJzYV9zdCwgJnJzYV9uLCAmcnNhX2UsIE5VTEwpOwotICAg ICAgIHhlbmNfdGFnX3QgKiByc2FrZXl2YWwgPSB4ZW5jX3RhZ19jcmVhdGUgKERTSUdfVVJJLCAi OlJTQUtleVZhbHVlIik7Ci0gICAgICAgeGVuY190YWdfdCAqIHJzYW1vZHVsdXMgPSB4ZW5jX3Rh Z19jcmVhdGUgKERTSUdfVVJJLCAiOk1vZHVsdXMiKTsKLSAgICAgICB4ZW5jX3RhZ190ICogcnNh ZXhwb25lbnQgPSB4ZW5jX3RhZ19jcmVhdGUgKERTSUdfVVJJLCAiOkV4cG9uZW50Iik7Ci0gCi0t ICAgICAgeGVuY190YWdfYWRkX2NoaWxkX0JOIChyc2Ftb2R1bHVzLCBrZXktPmtpLnJzYS5yc2Ff c3QtPm4pOwotLSAgICAgIHhlbmNfdGFnX2FkZF9jaGlsZF9CTiAocnNhZXhwb25lbnQsIGtleS0+ a2kucnNhLnJzYV9zdC0+ZSk7Ci0rICAgICAgeGVuY190YWdfYWRkX2NoaWxkX0JOIChyc2Ftb2R1 bHVzLCByc2Ffbik7Ci0rICAgICAgeGVuY190YWdfYWRkX2NoaWxkX0JOIChyc2FleHBvbmVudCwg cnNhX2UpOwotIAotICAgICAgIHhlbmNfdGFnX2FkZF9jaGlsZCAocnNha2V5dmFsLCB4ZW5jX3Rh Z19maW5hbGl6ZSAocnNhbW9kdWx1cykpOwotICAgICAgIHhlbmNfdGFnX2FkZF9jaGlsZCAocnNh a2V5dmFsLCB4ZW5jX3RhZ19maW5hbGl6ZSAocnNhZXhwb25lbnQpKTsKLUBAIC00MTM1LDEyICs0 MTczLDE1IEBAIGNhZGRyX3QgKiogeGVuY19nZW5lcmF0ZV9leHRfaW5mbyAoeGVuY18KLSAgICAg ICB4ZW5jX3RhZ190ICogZyA9IHhlbmNfdGFnX2NyZWF0ZSAoRFNJR19VUkksICI6RyIpOwotICAg ICAgIHhlbmNfdGFnX3QgKiB5ID0geGVuY190YWdfY3JlYXRlIChEU0lHX1VSSSwgIjpZIik7Ci0g ICAgICAgRFNBICogZHNhID0ga2V5LT5raS5kc2EuZHNhX3N0OwotKyAgICAgIGNvbnN0IEJJR05V TSAqZHNhX3AsICpkc2FfcSwgKmRzYV9nLCAqZHNhX3B1Yl9rZXk7Ci0gCi0rICAgICAgRFNBX2dl dDBfcHFnKGRzYSwgJmRzYV9wLCAmZHNhX3EsICZkc2FfZyk7Ci0rICAgICAgRFNBX2dldDBfa2V5 KGRzYSwgJmRzYV9wdWJfa2V5LCBOVUxMKTsKLSAKLS0gICAgICB4ZW5jX3RhZ19hZGRfY2hpbGRf Qk4gKHAsIGRzYS0+cCk7Ci0tICAgICAgeGVuY190YWdfYWRkX2NoaWxkX0JOIChwLCBkc2EtPnEp OwotLSAgICAgIHhlbmNfdGFnX2FkZF9jaGlsZF9CTiAocCwgZHNhLT5nKTsKLS0gICAgICB4ZW5j X3RhZ19hZGRfY2hpbGRfQk4gKHAsIGRzYS0+cHViX2tleSk7Ci0rICAgICAgeGVuY190YWdfYWRk X2NoaWxkX0JOIChwLCBkc2FfcCk7Ci0rICAgICAgeGVuY190YWdfYWRkX2NoaWxkX0JOIChwLCBk c2FfcSk7Ci0rICAgICAgeGVuY190YWdfYWRkX2NoaWxkX0JOIChwLCBkc2FfZyk7Ci0rICAgICAg eGVuY190YWdfYWRkX2NoaWxkX0JOIChwLCBkc2FfcHViX2tleSk7Ci0gCi0gICAgICAgeGVuY190 YWdfYWRkX2NoaWxkIChkc2FrZXl2YWwsIHhlbmNfdGFnX2ZpbmFsaXplIChwKSk7Ci0gICAgICAg eGVuY190YWdfYWRkX2NoaWxkIChkc2FrZXl2YWwsIHhlbmNfdGFnX2ZpbmFsaXplIChxKSk7Ci1A QCAtNjE4Nyw3ICs2MjI4LDcgQEAgY2FkZHJfdCB4ZW5jX3g1MDlfZ2V0X2tleV9pZGVudGlmaWVy IChYNQotIAotICAgcmV0ID0gZGtfYWxsb2NfYm94IChpa2V5aWQtPmxlbmd0aCwgRFZfQklOKTsK LSAgIG1lbWNweSAocmV0LCBpa2V5aWQtPmRhdGEsIGlrZXlpZC0+bGVuZ3RoKTsKLS0gIE1fQVNO MV9PQ1RFVF9TVFJJTkdfZnJlZShpa2V5aWQpOwotKyAgQVNOMV9TVFJJTkdfZnJlZShpa2V5aWQp OwotICAgcmV0dXJuIHJldDsKLSB9Ci0gCi1AQCAtNjI0Nyw3ICs2Mjg4LDcgQEAgYmlmX3g1MDlf Z2V0X3N1YmplY3QgKGNhZGRyX3QgKiBxc3QsIGNhZAotIAotICAgcmV0ID0gZGtfYWxsb2NfYm94 IChpa2V5aWQtPmxlbmd0aCwgRFZfQklOKTsKLSAgIG1lbWNweSAocmV0LCBpa2V5aWQtPmRhdGEs IGlrZXlpZC0+bGVuZ3RoKTsKLS0gIE1fQVNOMV9PQ1RFVF9TVFJJTkdfZnJlZShpa2V5aWQpOwot KyAgQVNOMV9TVFJJTkdfZnJlZShpa2V5aWQpOwotICAgcmV0dXJuIHJldDsKLSB9Ci0gCi1AQCAt NjgwNiw3ICs2ODQ3LDcgQEAgYmlmX3hlbmNfeDUwOV9jc3JfZ2VuZXJhdGUgKGNhZGRyX3QgKiBx cwotIAlza19YNTA5X0VYVEVOU0lPTl9wdXNoKHN0X2V4dHMsIGV4KTsKLSAgICAgfQotICAgWDUw OV9SRVFfYWRkX2V4dGVuc2lvbnMoeCwgc3RfZXh0cyk7Ci0tICBpZiAoIVg1MDlfUkVRX3NpZ24g KHgsIHBrLCAocGstPnR5cGUgPT0gRVZQX1BLRVlfUlNBID8gRVZQX21kNSgpIDogRVZQX2RzczEo KSkpKQotKyAgaWYgKCFYNTA5X1JFUV9zaWduICh4LCBwaywgKEVWUF9QS0VZX2lkKHBrKSA9PSBF VlBfUEtFWV9SU0EgPyBFVlBfbWQ1KCkgOiBFVlBfc2hhMSgpKSkpCi0gICAgIHsKLSAgICAgICBw ayA9IE5VTEw7IC8qIGtlZXAgb25lIGluIHRoZSB4ZW5jX2tleSAqLwotICAgICAgICplcnJfcmV0 ID0gc3J2X21ha2VfbmV3X2Vycm9yICgiNDIwMDAiLCAiWEVDWFgiLCAiQ2FuIG5vdCBzaWduIGNl cnRpZmljYXRlIDogJXMiLCBnZXRfc3NsX2Vycm9yX3RleHQgKGJ1Ziwgc2l6ZW9mIChidWYpKSk7 Ci1AQCAtNjk0NSwxNyArNjk4NiwxNyBAQCBiaWZfeGVuY194NTA5X2Zyb21fY3NyIChjYWRkcl90 ICogcXN0LCBjCi0gICAgICAgKmVycl9yZXQgPSBzcnZfbWFrZV9uZXdfZXJyb3IgKCI0MjAwMCIs ICJYRUNYWCIsICJDYW4gbm90IHNpZ24gY2VydGlmaWNhdGUiKTsKLSAgICAgICBnb3RvIGVycjsK LSAgICAgfQotLSAgc3dpdGNoIChFVlBfUEtFWV90eXBlIChjbGlfcGstPnR5cGUpKQotKyAgc3dp dGNoIChFVlBfUEtFWV90eXBlIChFVlBfUEtFWV9pZChjbGlfcGspKSkKLSAgICAgewotICAgICAg IGNhc2UgRVZQX1BLRVlfRFNBOgotIAkgIHNpZ25fYWxnb25hbWUgPSBEU0lHX0RTQV9TSEExX0FM R087Ci0gCSAgZW5jX2FsZ29uYW1lID0gWEVOQ19EU0FfQUxHTzsKLS0JICBkc2EgPSBjbGlfcGst PnBrZXkuZHNhOwotKwkgIGRzYSA9IEVWUF9QS0VZX2dldDBfRFNBKGNsaV9wayk7Ci0gCSAgYnJl YWs7Ci0gICAgICAgY2FzZSBFVlBfUEtFWV9SU0E6Ci0gCSAgc2lnbl9hbGdvbmFtZSA9IERTSUdf UlNBX1NIQTFfQUxHTzsKLSAJICBlbmNfYWxnb25hbWUgPSBYRU5DX1JTQV9BTEdPOwotLQkgIHJz YSA9IGNsaV9way0+cGtleS5yc2E7Ci0rCSAgcnNhID0gRVZQX1BLRVlfZ2V0MF9SU0EoY2xpX3Br KTsKLSAJICBicmVhazsKLSAgICAgICBkZWZhdWx0OgotIAkgICplcnJfcmV0ID0gc3J2X21ha2Vf bmV3X2Vycm9yICgiNDIwMDAiLCAiWEVDWFgiLCAiVGhlIHR5cGUgb2YgcHVibGljIGtleSBpcyBu b3Qgc3VwcG9ydGVkIG11cyB0YmUgUlNBIG9yIERTQSIpOwotQEAgLTcwMzIsMTkgKzcwNzMsMTkg QEAgYmlmX3hlbmNfcGtjczEyX2V4cG9ydCAoY2FkZHJfdCAqIHFzdCwgYwotICAgaWYgKGV4cG9y dF9jaGFpbikKLSAgICAgewotICAgICAgIGludCBpOwotLSAgICAgIFg1MDlfU1RPUkVfQ1RYIHN0 b3JlX2N0eDsKLS0gICAgICBYNTA5X1NUT1JFX0NUWF9pbml0ICgmc3RvcmVfY3R4LCBDQV9jZXJ0 cywgeCwgTlVMTCk7Ci0tICAgICAgaWYgKFg1MDlfdmVyaWZ5X2NlcnQgKCZzdG9yZV9jdHgpID4g MCkKLS0JY2hhaW4gPSBYNTA5X1NUT1JFX0NUWF9nZXQxX2NoYWluICgmc3RvcmVfY3R4KTsKLSsg ICAgICBYNTA5X1NUT1JFX0NUWCAqY3R4OwotKyAgICAgIFg1MDlfU1RPUkVfQ1RYX2luaXQgKGN0 eCwgQ0FfY2VydHMsIHgsIE5VTEwpOwotKyAgICAgIGlmIChYNTA5X3ZlcmlmeV9jZXJ0IChjdHgp ID4gMCkKLSsJY2hhaW4gPSBYNTA5X1NUT1JFX0NUWF9nZXQxX2NoYWluIChjdHgpOwotICAgICAg IGVsc2UKLSAJewotIAkgIGNvbnN0IGNoYXIgKmVycl9zdHI7Ci0tCSAgZXJyX3N0ciA9IFg1MDlf dmVyaWZ5X2NlcnRfZXJyb3Jfc3RyaW5nIChzdG9yZV9jdHguZXJyb3IpOwotKwkgIGVycl9zdHIg PSBYNTA5X3ZlcmlmeV9jZXJ0X2Vycm9yX3N0cmluZyAoWDUwOV9TVE9SRV9DVFhfZ2V0X2Vycm9y KGN0eCkpOwotIAkgICplcnJfcmV0ID0gc3J2X21ha2VfbmV3X2Vycm9yICgiMjIwMjMiLCAiWEVO Q1giLCAiWDUwOSBlcnJvcjogJXMiLCBlcnJfc3RyKTsKLS0JICBYNTA5X1NUT1JFX0NUWF9jbGVh bnVwICgmc3RvcmVfY3R4KTsKLSsJICBYNTA5X1NUT1JFX0NUWF9jbGVhbnVwIChjdHgpOwotIAkg IGdvdG8gZXJyOwotIAl9Ci0tICAgICAgWDUwOV9TVE9SRV9DVFhfY2xlYW51cCAoJnN0b3JlX2N0 eCk7Ci0rICAgICAgWDUwOV9TVE9SRV9DVFhfY2xlYW51cCAoY3R4KTsKLSAgICAgICBpZiAoY2hh aW4pCi0gCXsKLSAJICBjZXJ0cyA9IHNrX1g1MDlfbmV3X251bGwgKCk7Ci1AQCAtNzE1MiwxNiAr NzE5MywxNiBAQCBiaWZfeGVuY19wdWJrZXlfcGVtX2V4cG9ydCAoY2FkZHJfdCAqIHFzCi0gICAg IHsKLSAgICAgICBrID0gWDUwOV9nZXRfcHVia2V5IChrZXktPnhla194NTA5KTsKLSAjaWZkZWYg RVZQX1BLRVlfUlNBCi0tICAgICAgaWYgKGstPnR5cGUgPT0gRVZQX1BLRVlfUlNBKQotKyAgICAg IGlmIChFVlBfUEtFWV9pZChrKSA9PSBFVlBfUEtFWV9SU0EpCi0gCXsKLS0JICBSU0EgKiB4ID0g ay0+cGtleS5yc2E7Ci0rCSAgUlNBICp4ID0gRVZQX1BLRVlfZ2V0MF9SU0Eoayk7Ci0gCSAgUEVN X3dyaXRlX2Jpb19SU0FfUFVCS0VZIChiLCB4KTsKLSAJfQotICNlbmRpZgotICNpZmRlZiBFVlBf UEtFWV9EU0EKLS0gICAgICBpZiAoay0+dHlwZSA9PSBFVlBfUEtFWV9EU0EpCi0rICAgICAgaWYg KEVWUF9QS0VZX2lkKGspID09IEVWUF9QS0VZX0RTQSkKLSAJewotLQkgIERTQSAqIHggPSBrLT5w a2V5LmRzYTsKLSsJICBEU0EgKiB4ID0gRVZQX1BLRVlfZ2V0MF9EU0Eoayk7Ci0gCSAgUEVNX3dy aXRlX2Jpb19EU0FfUFVCS0VZIChiLCB4KTsKLSAJfQotICNlbmRpZgotQEAgLTcyMDgsMTYgKzcy NDksMTYgQEAgYmlmX3hlbmNfcHVia2V5X2Rlcl9leHBvcnQgKGNhZGRyX3QgKiBxcwotICAgICB7 Ci0gICAgICAgayA9IFg1MDlfZ2V0X3B1YmtleSAoa2V5LT54ZWtfeDUwOSk7Ci0gI2lmZGVmIEVW UF9QS0VZX1JTQQotLSAgICAgIGlmIChrLT50eXBlID09IEVWUF9QS0VZX1JTQSkKLSsgICAgICBp ZiAoRVZQX1BLRVlfaWQoaykgPT0gRVZQX1BLRVlfUlNBKQotIAl7Ci0tCSAgUlNBICogeCA9IGst PnBrZXkucnNhOwotKwkgIFJTQSAqIHggPSBFVlBfUEtFWV9nZXQwX1JTQShrKTsKLSAJICBpMmRf UlNBX1BVQktFWV9iaW8gKGIsIHgpOwotIAl9Ci0gI2VuZGlmCi0gI2lmZGVmIEVWUF9QS0VZX0RT QQotLSAgICAgIGlmIChrLT50eXBlID09IEVWUF9QS0VZX0RTQSkKLSsgICAgICBpZiAoRVZQX1BL RVlfaWQoaykgPT0gRVZQX1BLRVlfRFNBKQotIAl7Ci0tCSAgRFNBICogeCA9IGstPnBrZXkuZHNh OwotKwkgIERTQSAqIHggPSBFVlBfUEtFWV9nZXQwX0RTQShrKTsKLSAJICBpMmRfRFNBX1BVQktF WV9iaW8gKGIsIHgpOwotIAl9Ci0gI2VuZGlmCi1AQCAtNzI0NSw3ICs3Mjg2LDcgQEAgZXJyOgot IH0KLSAKLSBzdGF0aWMgY2FkZHJfdAotLUJOMmJpbmJveCAoQklHTlVNICogeCkKLStCTjJiaW5i b3ggKGNvbnN0IEJJR05VTSAqIHgpCi0gewotICAgc2l6ZV90IGJ1Zl9sZW4sIG47Ci0gICBjYWRk cl90IGJ1ZjsKLUBAIC03MjgwLDggKzczMjEsMTQgQEAgc3RhdGljIGNhZGRyX3QKLSB4ZW5jX3Jz YV9wdWJfbWFnaWMgKFJTQSAqIHgpCi0gewotICAgY2FkZHJfdCByZXQ7Ci0tICBjYWRkcl90IG4g PSBCTjJiaW5ib3ggKHgtPm4pOyAvKiBtb2R1bHVzICovCi0tICBjYWRkcl90IGUgPSBCTjJiaW5i b3ggKHgtPmUpOyAvKiBwdWJsaWMgZXhwb25lbnQgKi8KLSsgIGNhZGRyX3QgbjsKLSsgIGNhZGRy X3QgZTsKLSsgIGNvbnN0IEJJR05VTSAqcnNhX24sICpyc2FfZTsKLSsKLSsgIFJTQV9nZXQwX2tl eSh4LCAmcnNhX24sICZyc2FfZSwgTlVMTCk7Ci0rICBuID0gQk4yYmluYm94IChyc2Ffbik7IC8q IG1vZHVsdXMgKi8KLSsgIGUgPSBCTjJiaW5ib3ggKHJzYV9lKTsgLyogcHVibGljIGV4cG9uZW50 ICovCi0rCi0gICBuID0geGVuY19lbmNvZGVfYmFzZTY0X2JpbmJveCAobiwgMSk7Ci0gICBlID0g eGVuY19lbmNvZGVfYmFzZTY0X2JpbmJveCAoZSwgMSk7Ci0gICByZXQgPSBka19hbGxvY19ib3gg KGJveF9sZW5ndGggKG4pICsgYm94X2xlbmd0aCAoZSkgKyA0IC8qIHR3byBkb3RzIC0gb25lIHRy YWlsaW5nIHplcm8gKyBSU0EgcHJlZml4ICovLCBEVl9TVFJJTkcpOwotQEAgLTczMDYsOSArNzM1 Myw5IEBAIGJpZl94ZW5jX3B1YmtleV9tYWdpY19leHBvcnQgKGNhZGRyX3QgKgotICAgICB7Ci0g ICAgICAgayA9IFg1MDlfZ2V0X3B1YmtleSAoa2V5LT54ZWtfeDUwOSk7Ci0gI2lmZGVmIEVWUF9Q S0VZX1JTQQotLSAgICAgIGlmIChrLT50eXBlID09IEVWUF9QS0VZX1JTQSkKLSsgICAgICBpZiAo RVZQX1BLRVlfaWQoaykgPT0gRVZQX1BLRVlfUlNBKQotIAl7Ci0tCSAgUlNBICogeCA9IGstPnBr ZXkucnNhOwotKwkgIFJTQSAqIHggPSBFVlBfUEtFWV9nZXQwX1JTQShrKTsKLSAJICByZXQgPSB4 ZW5jX3JzYV9wdWJfbWFnaWMgKHgpOwotIAl9Ci0gI2VuZGlmCi1AQCAtNzM0OSwxMCArNzM5Niwx NiBAQCBzdGF0aWMgY2FkZHJfdAotIHhlbmNfcnNhX3B1Yl9zc2hfZXhwb3J0IChSU0EgKiB4KQot IHsKLSAgIHN0YXRpYyBjaGFyICogc3NoX2hlYWRlciA9ICJceDAwXHgwMFx4MDBceDA3c3NoLXJz YSI7Ci0rICBjb25zdCBCSUdOVU0gKnJzYV9uLCAqcnNhX2U7Ci0gICBjYWRkcl90IHJldDsKLSAg IGludCBsZW4sIHBvczsKLS0gIGNhZGRyX3QgbiA9IEJOMmJpbmJveCAoeC0+bik7IC8qIG1vZHVs dXMgKi8KLS0gIGNhZGRyX3QgZSA9IEJOMmJpbmJveCAoeC0+ZSk7IC8qIHB1YmxpYyBleHBvbmVu dCAqLwotKyAgY2FkZHJfdCBuOwotKyAgY2FkZHJfdCBlOwotKwotKyAgUlNBX2dldDBfa2V5KHgs ICZyc2FfbiwgJnJzYV9lLCBOVUxMKTsKLSsgIG4gPSBCTjJiaW5ib3ggKHJzYV9uKTsgLyogbW9k dWx1cyAqLwotKyAgZSA9IEJOMmJpbmJveCAocnNhX2UpOyAvKiBwdWJsaWMgZXhwb25lbnQgKi8K LSsKLSAgIGxlbiA9IDExICsgOCArIGJveF9sZW5ndGggKG4pICsgYm94X2xlbmd0aCAoZSk7Ci0g ICBpZiAoblswXSAmIDB4ODApCi0gICAgIGxlbiArKzsKLUBAIC03MzgzLDkgKzc0MzYsOSBAQCBi aWZfeGVuY19wdWJrZXlfc3NoX2V4cG9ydCAoY2FkZHJfdCAqIHFzCi0gICAgIHsKLSAgICAgICBr ID0gWDUwOV9nZXRfcHVia2V5IChrZXktPnhla194NTA5KTsKLSAjaWZkZWYgRVZQX1BLRVlfUlNB Ci0tICAgICAgaWYgKGstPnR5cGUgPT0gRVZQX1BLRVlfUlNBKQotKyAgICAgIGlmIChFVlBfUEtF WV9pZChrKSA9PSBFVlBfUEtFWV9SU0EpCi0gCXsKLS0JICBSU0EgKiB4ID0gay0+cGtleS5yc2E7 Ci0rCSAgUlNBICogeCA9IEVWUF9QS0VZX2dldDBfUlNBKGspOwotIAkgIHJldCA9IHhlbmNfcnNh X3B1Yl9zc2hfZXhwb3J0ICh4KTsKLSAJfQotICNlbmRpZgotQEAgLTc0MTgsNyArNzQ3MSw3IEBA IGJpZl94ZW5jX1NQS0lfcmVhZCAoY2FkZHJfdCAqIHFzdCwgY2FkZHIKLSAgICAgICByZXR1cm4g TlVMTDsKLSAgICAgfQotICAgcGsgPSBORVRTQ0FQRV9TUEtJX2dldF9wdWJrZXkgKHNwa2kpOwot LSAgaWYgKCFwayB8fCBway0+dHlwZSAhPSBFVlBfUEtFWV9SU0EpCi0rICBpZiAoIXBrIHx8IEVW UF9QS0VZX2lkKHBrKSAhPSBFVlBfUEtFWV9SU0EpCi0gICAgIHsKLSAgICAgICBORVRTQ0FQRV9T UEtJX2ZyZWUgKHNwa2kpOwotICAgICAgICplcnJfcmV0ID0gc3J2X21ha2VfbmV3X2Vycm9yICgi NDIwMDAiLCAiWEVDWFgiLCAiQ2FuIG5vdCByZXRyaWV2ZSBSU0Ega2V5Iik7Ci1AQCAtNzU5NSwx NCArNzY0OCwxNCBAQCBiaWZfeGVuY194NTA5X2NhX2NlcnRzX2xpc3QgKGNhZGRyX3QgKiBxCi0g ICBzZWNfY2hlY2tfZGJhICgoUUkqKXFzdCwgbWUpOwotICAgaW4gPSBCSU9fbmV3IChCSU9fc19t ZW0gKCkpOwotICAgbXV0ZXhfZW50ZXIgKHhlbmNfa2V5c19tdHgpOwotLSAgY2VydHMgPSBDQV9j ZXJ0cy0+b2JqczsKLSsgIGNlcnRzID0gWDUwOV9TVE9SRV9nZXQwX29iamVjdHMoQ0FfY2VydHMp OwotICAgbGVuID0gc2tfWDUwOV9PQkpFQ1RfbnVtIChjZXJ0cyk7Ci0gICBmb3IgKGkgPSAwOyBp IDwgbGVuOyBpKyspCi0gICAgIHsKLSAgICAgICBYNTA5X09CSkVDVCAqIG9iaiA9IHNrX1g1MDlf T0JKRUNUX3ZhbHVlIChjZXJ0cywgaSk7Ci0tICAgICAgaWYgKG9iai0+dHlwZSA9PSBYNTA5X0xV X1g1MDkpCi0rICAgICAgaWYgKFg1MDlfT0JKRUNUX2dldF90eXBlKG9iaikgPT0gWDUwOV9MVV9Y NTA5KQotIAl7Ci0tCSAgWDUwOSAqeCA9IG9iai0+ZGF0YS54NTA5OwotKwkgIFg1MDkgKnggPSBY NTA5X09CSkVDVF9nZXQwX1g1MDkob2JqKTsKLSAJICBjYWRkcl90IGl0bTsKLSAJICBpbnQgYmxl bjsKLSAJICBCSU9fcmVzZXQgKGluKTsKLS0tLSBhL2xpYnNyYy9XaS94bWxlbmMuaAotKysrIGIv bGlic3JjL1dpL3htbGVuYy5oCi1AQCAtMzgsNiArMzgsNyBAQAotICNpbmNsdWRlIDxvcGVuc3Ns L2RzYS5oPgotICNpbmNsdWRlIDxvcGVuc3NsL3JzYS5oPgotICNpbmNsdWRlIDxvcGVuc3NsL2Rl cy5oPgotKyNpbmNsdWRlIDxvcGVuc3NsL2htYWMuaD4KLSAKLSAjaWZkZWYgQUVTX0VOQ19FTkFC TEUKLSAjaW5jbHVkZSA8b3BlbnNzbC9hZXMuaD4KLUBAIC02MzEsNSArNjMyLDE4MyBAQCBjYWRk cl90ICogeG1sX2ZpbmRfYW55X2NoaWxkIChjYWRkcl90ICoKLSAKLSBleHRlcm4gZGtfbXV0ZXhf dCAqIHhlbmNfa2V5c19tdHg7Ci0gCi0rI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEw MTAwMDAwCi0rCi0rc3RhdGljIGlubGluZSBITUFDX0NUWCAqSE1BQ19DVFhfbmV3KHZvaWQpCi0r ewotKwlITUFDX0NUWCAqcDsKLSsKLSsJcCA9IGNhbGxvYygxLCBzaXplb2YoSE1BQ19DVFgpKTsK LSsJaWYgKCFwKQotKwkJcmV0dXJuIHA7Ci0rCUhNQUNfQ1RYX2luaXQocCk7Ci0rCXJldHVybiBw OwotK30KLSsKLStzdGF0aWMgaW5saW5lIHZvaWQgSE1BQ19DVFhfZnJlZShITUFDX0NUWCAqY3R4 KQotK3sKLSsJSE1BQ19DVFhfY2xlYW51cChjdHgpOwotKwlmcmVlKGN0eCk7Ci0rfQotKwotK3N0 YXRpYyBpbmxpbmUgdm9pZCBSU0FfZ2V0MF9rZXkoY29uc3QgUlNBICpyLCBjb25zdCBCSUdOVU0g KipuLAotKwkJCQljb25zdCBCSUdOVU0gKiplLCBjb25zdCBCSUdOVU0gKipkKQotK3sKLSsJaWYg KG4gIT0gTlVMTCkKLSsJCSpuID0gci0+bjsKLSsJaWYgKGUgIT0gTlVMTCkKLSsJCSplID0gci0+ ZTsKLSsJaWYgKGQgIT0gTlVMTCkKLSsJCSpkID0gci0+ZDsKLSt9Ci0rCi0rc3RhdGljIGlubGlu ZSB2b2lkIFJTQV9nZXQwX2ZhY3RvcnMoY29uc3QgUlNBICpyLCBjb25zdCBCSUdOVU0gKipwLAot KwkJCQkgICAgY29uc3QgQklHTlVNICoqcSkKLSt7Ci0rCWlmIChwICE9IE5VTEwpCi0rCQkqcCA9 IHItPnA7Ci0rCWlmIChxICE9IE5VTEwpCi0rCQkqcSA9IHItPnE7Ci0rfQotKwotK3N0YXRpYyBp bmxpbmUgUlNBICpFVlBfUEtFWV9nZXQwX1JTQShFVlBfUEtFWSAqcGtleSkKLSt7Ci0rCWlmIChw a2V5LT50eXBlICE9IEVWUF9QS0VZX1JTQSkKLSsJCXJldHVybiBOVUxMOwotKwlyZXR1cm4gcGtl eS0+cGtleS5yc2E7Ci0rfQotKwotK3N0YXRpYyBpbmxpbmUgdm9pZCBESF9nZXQwX2tleShjb25z dCBESCAqZGgsIGNvbnN0IEJJR05VTSAqKnB1Yl9rZXksCi0rCQkJICAgICAgIGNvbnN0IEJJR05V TSAqKnByaXZfa2V5KQotK3sKLSsJaWYgKHB1Yl9rZXkgIT0gTlVMTCkKLSsJCSpwdWJfa2V5ID0g ZGgtPnB1Yl9rZXk7Ci0rCWlmIChwcml2X2tleSAhPSBOVUxMKQotKwkJKnByaXZfa2V5ID0gZGgt PnByaXZfa2V5OwotK30KLSsKLSsKLStzdGF0aWMgaW5saW5lIHZvaWQgREhfZ2V0MF9wcWcoY29u c3QgREggKmRoLCBjb25zdCBCSUdOVU0gKipwLCBjb25zdCBCSUdOVU0gKipxLAotKwkJCSAgICAg ICBjb25zdCBCSUdOVU0gKipnKQotK3sKLSsJaWYgKHAgIT0gTlVMTCkKLSsJCSpwID0gZGgtPnA7 Ci0rCWlmIChxICE9IE5VTEwpCi0rCQkqcSA9IGRoLT5xOwotKwlpZiAoZyAhPSBOVUxMKQotKwkJ KmcgPSBkaC0+ZzsKLSt9Ci0rCi0rc3RhdGljIGlubGluZSBEU0EgKkVWUF9QS0VZX2dldDBfRFNB KEVWUF9QS0VZICpwa2V5KQotK3sKLSsJaWYgKHBrZXktPnR5cGUgIT0gRVZQX1BLRVlfRFNBKQot KwkJcmV0dXJuIE5VTEw7Ci0rCXJldHVybiBwa2V5LT5wa2V5LmRzYTsKLSt9Ci0rCi0rc3RhdGlj IGlubGluZSBpbnQgREhfc2V0MF9wcWcoREggKmRoLCBCSUdOVU0gKnAsIEJJR05VTSAqcSwgQklH TlVNICpnKQotK3sKLSsJLyogSWYgdGhlIGZpZWxkcyBwIGFuZCBnIGluIGQgYXJlIE5VTEwsIHRo ZSBjb3JyZXNwb25kaW5nIGlucHV0Ci0rCSAqIHBhcmFtZXRlcnMgTVVTVCBiZSBub24tTlVMTC4g IHEgbWF5IHJlbWFpbiBOVUxMLgotKwkgKi8KLSsJaWYgKChkaC0+cCA9PSBOVUxMICYmIHAgPT0g TlVMTCkKLSsJICAgIHx8IChkaC0+ZyA9PSBOVUxMICYmIGcgPT0gTlVMTCkpCi0rCQlyZXR1cm4g MDsKLSsKLSsJaWYgKHAgIT0gTlVMTCkgewotKwkJQk5fZnJlZShkaC0+cCk7Ci0rCQlkaC0+cCA9 IHA7Ci0rCX0KLSsJaWYgKHEgIT0gTlVMTCkgewotKwkJQk5fZnJlZShkaC0+cSk7Ci0rCQlkaC0+ cSA9IHE7Ci0rCX0KLSsJaWYgKGcgIT0gTlVMTCkgewotKwkJQk5fZnJlZShkaC0+Zyk7Ci0rCQlk aC0+ZyA9IGc7Ci0rCX0KLSsKLSsJaWYgKHEgIT0gTlVMTCkgewotKwkJZGgtPmxlbmd0aCA9IEJO X251bV9iaXRzKHEpOwotKwl9Ci0rCi0rCXJldHVybiAxOwotK30KLSsKLStzdGF0aWMgaW5saW5l IGludCBSU0Ffc2V0MF9rZXkoUlNBICpyLCBCSUdOVU0gKm4sIEJJR05VTSAqZSwgQklHTlVNICpk KQotK3sKLSsJLyogSWYgdGhlIGZpZWxkcyBuIGFuZCBlIGluIHIgYXJlIE5VTEwsIHRoZSBjb3Jy ZXNwb25kaW5nIGlucHV0Ci0rCSAqIHBhcmFtZXRlcnMgTVVTVCBiZSBub24tTlVMTCBmb3IgbiBh bmQgZS4gIGQgbWF5IGJlCi0rCSAqIGxlZnQgTlVMTCAoaW4gY2FzZSBvbmx5IHRoZSBwdWJsaWMg a2V5IGlzIHVzZWQpLgotKwkgKi8KLSsJaWYgKChyLT5uID09IE5VTEwgJiYgbiA9PSBOVUxMKQot KwkgICAgfHwgKHItPmUgPT0gTlVMTCAmJiBlID09IE5VTEwpKQotKwkJcmV0dXJuIDA7Ci0rCi0r CWlmIChuICE9IE5VTEwpIHsKLSsJCUJOX2ZyZWUoci0+bik7Ci0rCQlyLT5uID0gbjsKLSsJfQot KwlpZiAoZSAhPSBOVUxMKSB7Ci0rCQlCTl9mcmVlKHItPmUpOwotKwkJci0+ZSA9IGU7Ci0rCX0K LSsJaWYgKGQgIT0gTlVMTCkgewotKwkJQk5fZnJlZShyLT5kKTsKLSsJCXItPmQgPSBkOwotKwl9 Ci0rCi0rCXJldHVybiAxOwotK30KLSsKLStzdGF0aWMgaW5saW5lIHZvaWQgRFNBX2dldDBfcHFn KGNvbnN0IERTQSAqZCwgY29uc3QgQklHTlVNICoqcCwKLSsJCQkJY29uc3QgQklHTlVNICoqcSwg Y29uc3QgQklHTlVNICoqZykKLSt7Ci0rCWlmIChwICE9IE5VTEwpCi0rCQkqcCA9IGQtPnA7Ci0r CWlmIChxICE9IE5VTEwpCi0rCQkqcSA9IGQtPnE7Ci0rCWlmIChnICE9IE5VTEwpCi0rCQkqZyA9 IGQtPmc7Ci0rfQotKwotK3N0YXRpYyBpbmxpbmUgdm9pZCBEU0FfZ2V0MF9rZXkoY29uc3QgRFNB ICpkLCBjb25zdCBCSUdOVU0gKipwdWJfa2V5LAotKwkJCQljb25zdCBCSUdOVU0gKipwcml2X2tl eSkKLSt7Ci0rCWlmIChwdWJfa2V5ICE9IE5VTEwpCi0rCQkqcHViX2tleSA9IGQtPnB1Yl9rZXk7 Ci0rCWlmIChwcml2X2tleSAhPSBOVUxMKQotKwkJKnByaXZfa2V5ID0gZC0+cHJpdl9rZXk7Ci0r fQotKwotK3N0YXRpYyBpbmxpbmUgY29uc3QgU1RBQ0tfT0YoWDUwOV9FWFRFTlNJT04pICpYNTA5 X2dldDBfZXh0ZW5zaW9ucyhjb25zdCBYNTA5ICp4KQotK3sKLSsJcmV0dXJuIHgtPmNlcnRfaW5m by0+ZXh0ZW5zaW9uczsKLSt9Ci0rCi0rc3RhdGljIGlubGluZSBpbnQgWDUwOV91cF9yZWYoWDUw OSAqeCkKLSt7Ci0rCXJldHVybiBDUllQVE9fYWRkKCZ4LT5yZWZlcmVuY2VzLCAxLCBDUllQVE9f TE9DS19YNTA5KTsKLSt9Ci0rCi0rc3RhdGljIGlubGluZSBTVEFDS19PRihYNTA5X09CSkVDVCkg Klg1MDlfU1RPUkVfZ2V0MF9vYmplY3RzKFg1MDlfU1RPUkUgKnYpCi0rewotKwlyZXR1cm4gdi0+ b2JqczsKLSt9Ci0rCi0rc3RhdGljIGlubGluZSBpbnQgWDUwOV9PQkpFQ1RfZ2V0X3R5cGUoY29u c3QgWDUwOV9PQkpFQ1QgKmEpCi0rewotKwlyZXR1cm4gYS0+dHlwZTsKLSt9Ci0rCi0rc3RhdGlj IGlubGluZSBYNTA5ICpYNTA5X09CSkVDVF9nZXQwX1g1MDkoY29uc3QgWDUwOV9PQkpFQ1QgKmEp Ci0rewotKwlpZiAoYSA9PSBOVUxMIHx8IGEtPnR5cGUgIT0gWDUwOV9MVV9YNTA5KQotKwkJcmV0 dXJuIE5VTEw7Ci0rCXJldHVybiBhLT5kYXRhLng1MDk7Ci0rfQotKwotKyNlbmRpZgotKwotICNl bmRpZgotIAotLS0tIGEvbGlic3JjL1dpL3htbGVuY19hbGdvcy5jCi0rKysgYi9saWJzcmMvV2kv eG1sZW5jX2FsZ29zLmMKLUBAIC0xMTQ5LDcgKzExNDksNyBAQCBpbnQKLSBkc2lnX2htYWNfc2hh MjU2X2RpZ2VzdCAoZGtfc2Vzc2lvbl90ICogc2VzX2luLCBsb25nIGxlbiwgeGVuY19rZXlfdCAq IGtleSwgY2FkZHJfdCAqIHNpZ25fb3V0KQotIHsKLSAgIHVuc2lnbmVkIGNoYXIgKiBkYXRhOwot LSAgSE1BQ19DVFggY3R4OwotKyAgSE1BQ19DVFggKmN0eDsKLSAgIHVuc2lnbmVkIGNoYXIga2V5 X2RhdGFbMzIgKiA4XTsKLSAgIHVuc2lnbmVkIGNoYXIgbWQgW1NIQTI1Nl9ESUdFU1RfTEVOR1RI ICsgMV07Ci0gICB1bnNpZ25lZCBjaGFyIG1kNjQgW1NIQTI1Nl9ESUdFU1RfTEVOR1RIICogMiAr IDFdOwotQEAgLTExODIsNyArMTE4Miw5IEBAIGRzaWdfaG1hY19zaGEyNTZfZGlnZXN0IChka19z ZXNzaW9uX3QgKgotICAgICAgIGRlZmF1bHQ6Ci0gCSAgcmV0dXJuIDA7Ci0gICAgIH0KLS0KLSsg IGN0eCA9IEhNQUNfQ1RYX25ldygpOwotKyAgaWYgKCFjdHgpCi0rCSAgcmV0dXJuIDA7Ci0gCi0g ICBkYXRhID0gKHVuc2lnbmVkIGNoYXIgKikgZGtfYWxsb2NfYm94IChsZW4sIERWX0NfU1RSSU5H KTsKLSAgIENBVENIX1JFQURfRkFJTCAoc2VzX2luKQotQEAgLTExOTIsMTQgKzExOTQsMTUgQEAg ZHNpZ19obWFjX3NoYTI1Nl9kaWdlc3QgKGRrX3Nlc3Npb25fdCAqCi0gICBGQUlMRUQKLSAgICAg ewotICAgICAgIGRrX2ZyZWVfYm94ICgoYm94X3QpIGRhdGEpOwotKyAgICAgIEhNQUNfQ1RYX2Zy ZWUoY3R4KTsKLSAgICAgICByZXR1cm4gMDsKLSAgICAgfQotICAgRU5EX1JFQURfRkFJTCAoc2Vz X2luKTsKLSAKLS0gIEhNQUNfSW5pdCgmY3R4LCAodm9pZCopIGtleV9kYXRhICwga2V5X2xlbiwg RVZQX3NoYTI1NiAoKSk7Ci0tICBITUFDX1VwZGF0ZSgmY3R4LCBkYXRhLCBsZW4pOwotLSAgSE1B Q19GaW5hbCgmY3R4LCBtZCwgJmhtYWNfbGVuKTsKLS0gIEhNQUNfY2xlYW51cCgmY3R4KTsKLSsg IEhNQUNfSW5pdF9leChjdHgsICh2b2lkKikga2V5X2RhdGEgLCBrZXlfbGVuLCBFVlBfc2hhMjU2 ICgpLCBOVUxMKTsKLSsgIEhNQUNfVXBkYXRlKGN0eCwgZGF0YSwgbGVuKTsKLSsgIEhNQUNfRmlu YWwoY3R4LCBtZCwgJmhtYWNfbGVuKTsKLSsgIEhNQUNfQ1RYX2ZyZWUoY3R4KTsKLSAKLSAgIGlm IChobWFjX2xlbiAhPSBTSEEyNTZfRElHRVNUX0xFTkdUSCkKLSAgICAgR1BGX1Q7Ci1AQCAtMTIy MCw3ICsxMjIzLDcgQEAgZHNpZ19obWFjX3NoYTI1Nl9kaWdlc3QgKGRrX3Nlc3Npb25fdCAqCi0g aW50Ci0gZHNpZ19obWFjX3NoYTI1Nl92ZXJpZnkgKGRrX3Nlc3Npb25fdCAqIHNlc19pbiwgbG9u ZyBsZW4sIHhlbmNfa2V5X3QgKiBrZXksIGNhZGRyX3QgZGlnZXN0KQotIHsKLS0gIEhNQUNfQ1RY IGN0eDsKLSsgIEhNQUNfQ1RYICpjdHg7Ci0gICB1bnNpZ25lZCBjaGFyICogZGF0YTsKLSAgIHVu c2lnbmVkIGNoYXIga2V5X2RhdGFbMyAqIDhdOwotICAgdW5zaWduZWQgY2hhciBtZCBbU0hBMjU2 X0RJR0VTVF9MRU5HVEggKyAxXTsKLUBAIC0xMjQ5LDYgKzEyNTIsOSBAQCBkc2lnX2htYWNfc2hh MjU2X3ZlcmlmeSAoZGtfc2Vzc2lvbl90ICoKLSAJICByZXR1cm4gMDsKLSAgICAgfQotIAotKyAg Y3R4ID0gSE1BQ19DVFhfbmV3KCk7Ci0rICBpZiAoIWN0eCkKLSsJICByZXR1cm4gMDsKLSAKLSAg IGRhdGEgPSAodW5zaWduZWQgY2hhciAqKSBka19hbGxvY19ib3ggKGxlbiwgRFZfQ19TVFJJTkcp OwotICAgQ0FUQ0hfUkVBRF9GQUlMIChzZXNfaW4pCi1AQCAtMTI1OCwxNCArMTI2NCwxNSBAQCBk c2lnX2htYWNfc2hhMjU2X3ZlcmlmeSAoZGtfc2Vzc2lvbl90ICoKLSAgIEZBSUxFRAotICAgICB7 Ci0gICAgICAgZGtfZnJlZV9ib3ggKChib3hfdCkgZGF0YSk7Ci0rICAgICAgSE1BQ19DVFhfZnJl ZShjdHgpOwotICAgICAgIHJldHVybiAwOwotICAgICB9Ci0gICBFTkRfUkVBRF9GQUlMIChzZXNf aW4pOwotIAotLSAgSE1BQ19Jbml0KCZjdHgsICh2b2lkKikga2V5X2RhdGEgLCBrZXlfbGVuLCBF VlBfc2hhMjU2ICgpKTsKLS0gIEhNQUNfVXBkYXRlKCZjdHgsIGRhdGEsIGxlbik7Ci0tICBITUFD X0ZpbmFsKCZjdHgsIG1kLCAmaG1hY19sZW4pOwotLSAgSE1BQ19jbGVhbnVwKCZjdHgpOwotKyAg SE1BQ19Jbml0X2V4KGN0eCwgKHZvaWQqKSBrZXlfZGF0YSAsIGtleV9sZW4sIEVWUF9zaGEyNTYg KCksIE5VTEwpOwotKyAgSE1BQ19VcGRhdGUoY3R4LCBkYXRhLCBsZW4pOwotKyAgSE1BQ19GaW5h bChjdHgsIG1kLCAmaG1hY19sZW4pOwotKyAgSE1BQ19DVFhfZnJlZShjdHgpOwotICAgZGtfZnJl ZV9ib3ggKChib3hfdCkgZGF0YSk7Ci0gCi0gICBsZW4xID0geGVuY19lbmNvZGVfYmFzZTY0ICgo Y2hhciAqKW1kLCBtZDY0LCBobWFjX2xlbik7Ci1AQCAtMTU4Niw3ICsxNTkzLDcgQEAgaW50Ci0g ZHNpZ19obWFjX3NoYTFfZGlnZXN0IChka19zZXNzaW9uX3QgKiBzZXNfaW4sIGxvbmcgbGVuLCB4 ZW5jX2tleV90ICoga2V5LCBjYWRkcl90ICogc2lnbl9vdXQpCi0gewotICAgdW5zaWduZWQgY2hh ciAqIGRhdGE7Ci0tICBITUFDX0NUWCBjdHg7Ci0rICBITUFDX0NUWCAqY3R4OwotICAgdW5zaWdu ZWQgY2hhciBrZXlfZGF0YVszMiAqIDhdOwotICAgdW5zaWduZWQgY2hhciBtZCBbU0hBX0RJR0VT VF9MRU5HVEggKyAxXTsKLSAgIHVuc2lnbmVkIGNoYXIgbWQ2NCBbU0hBX0RJR0VTVF9MRU5HVEgg KiAyICsgMV07Ci1AQCAtMTYyMCw2ICsxNjI3LDkgQEAgZHNpZ19obWFjX3NoYTFfZGlnZXN0IChk a19zZXNzaW9uX3QgKiBzZQotIAkgIHJldHVybiAwOwotICAgICB9Ci0gCi0rICBjdHggPSBITUFD X0NUWF9uZXcoKTsKLSsgIGlmICghY3R4KQotKwkgIHJldHVybiAwOwotIAotICAgZGF0YSA9ICh1 bnNpZ25lZCBjaGFyICopIGRrX2FsbG9jX2JveCAobGVuLCBEVl9DX1NUUklORyk7Ci0gICBDQVRD SF9SRUFEX0ZBSUwgKHNlc19pbikKLUBAIC0xNjI5LDE0ICsxNjM5LDE1IEBAIGRzaWdfaG1hY19z aGExX2RpZ2VzdCAoZGtfc2Vzc2lvbl90ICogc2UKLSAgIEZBSUxFRAotICAgICB7Ci0gICAgICAg ZGtfZnJlZV9ib3ggKChib3hfdCkgZGF0YSk7Ci0rICAgICAgSE1BQ19DVFhfZnJlZShjdHgpOwot ICAgICAgIHJldHVybiAwOwotICAgICB9Ci0gICBFTkRfUkVBRF9GQUlMIChzZXNfaW4pOwotIAot LSAgSE1BQ19Jbml0KCZjdHgsICh2b2lkKikga2V5X2RhdGEgLCBrZXlfbGVuLCBFVlBfc2hhMSAo KSk7Ci0tICBITUFDX1VwZGF0ZSgmY3R4LCBkYXRhLCBsZW4pOwotLSAgSE1BQ19GaW5hbCgmY3R4 LCBtZCwgJmhtYWNfbGVuKTsKLS0gIEhNQUNfY2xlYW51cCgmY3R4KTsKLSsgIEhNQUNfSW5pdF9l eChjdHgsICh2b2lkKikga2V5X2RhdGEgLCBrZXlfbGVuLCBFVlBfc2hhMSAoKSwgTlVMTCk7Ci0r ICBITUFDX1VwZGF0ZShjdHgsIGRhdGEsIGxlbik7Ci0rICBITUFDX0ZpbmFsKGN0eCwgbWQsICZo bWFjX2xlbik7Ci0rICBITUFDX0NUWF9mcmVlKGN0eCk7Ci0gCi0gICBpZiAoaG1hY19sZW4gIT0g U0hBX0RJR0VTVF9MRU5HVEgpCi0gICAgIEdQRl9UOwotQEAgLTE2NTcsNyArMTY2OCw3IEBAIGRz aWdfaG1hY19zaGExX2RpZ2VzdCAoZGtfc2Vzc2lvbl90ICogc2UKLSBpbnQKLSBkc2lnX2htYWNf c2hhMV92ZXJpZnkgKGRrX3Nlc3Npb25fdCAqIHNlc19pbiwgbG9uZyBsZW4sIHhlbmNfa2V5X3Qg KiBrZXksIGNhZGRyX3QgZGlnZXN0KQotIHsKLS0gIEhNQUNfQ1RYIGN0eDsKLSsgIEhNQUNfQ1RY ICpjdHg7Ci0gICB1bnNpZ25lZCBjaGFyICogZGF0YTsKLSAgIHVuc2lnbmVkIGNoYXIga2V5X2Rh dGFbMyAqIDhdOwotICAgdW5zaWduZWQgY2hhciBtZCBbU0hBX0RJR0VTVF9MRU5HVEggKyAxXTsK LUBAIC0xNjg2LDYgKzE2OTcsOSBAQCBkc2lnX2htYWNfc2hhMV92ZXJpZnkgKGRrX3Nlc3Npb25f dCAqIHNlCi0gCSAgcmV0dXJuIDA7Ci0gICAgIH0KLSAKLSsgIGN0eCA9IEhNQUNfQ1RYX25ldygp OwotKyAgaWYgKCFjdHgpCi0rCSAgcmV0dXJuIDA7Ci0gCi0gICBkYXRhID0gKHVuc2lnbmVkIGNo YXIgKikgZGtfYWxsb2NfYm94IChsZW4sIERWX0NfU1RSSU5HKTsKLSAgIENBVENIX1JFQURfRkFJ TCAoc2VzX2luKQotQEAgLTE2OTUsMTQgKzE3MDksMTUgQEAgZHNpZ19obWFjX3NoYTFfdmVyaWZ5 IChka19zZXNzaW9uX3QgKiBzZQotICAgRkFJTEVECi0gICAgIHsKLSAgICAgICBka19mcmVlX2Jv eCAoKGJveF90KSBkYXRhKTsKLSsgICAgICBITUFDX0NUWF9mcmVlKGN0eCk7Ci0gICAgICAgcmV0 dXJuIDA7Ci0gICAgIH0KLSAgIEVORF9SRUFEX0ZBSUwgKHNlc19pbik7Ci0gCi0tICBITUFDX0lu aXQoJmN0eCwgKHZvaWQqKSBrZXlfZGF0YSAsIGtleV9sZW4sIEVWUF9zaGExICgpKTsKLS0gIEhN QUNfVXBkYXRlKCZjdHgsIGRhdGEsIGxlbik7Ci0tICBITUFDX0ZpbmFsKCZjdHgsIG1kLCAmaG1h Y19sZW4pOwotLSAgSE1BQ19jbGVhbnVwKCZjdHgpOwotKyAgSE1BQ19Jbml0X2V4KGN0eCwgKHZv aWQqKSBrZXlfZGF0YSAsIGtleV9sZW4sIEVWUF9zaGExICgpLCBOVUxMKTsKLSsgIEhNQUNfVXBk YXRlKGN0eCwgZGF0YSwgbGVuKTsKLSsgIEhNQUNfRmluYWwoY3R4LCBtZCwgJmhtYWNfbGVuKTsK LSsgIEhNQUNfQ1RYX2ZyZWUoY3R4KTsKLSAgIGRrX2ZyZWVfYm94ICgoYm94X3QpIGRhdGEpOwot IAotICAgbGVuMSA9IHhlbmNfZW5jb2RlX2Jhc2U2NCAoKGNoYXIgKiltZCwgbWQ2NCwgaG1hY19s ZW4pOwotQEAgLTE3NjMsNyArMTc3OCw3IEBAIGludCB4ZW5jX2Flc19lbmNyeXB0b3IgKGRrX3Nl c3Npb25fdCAqIHMKLSAgIGNhZGRyX3Qgb3V0YnVmX2JlZzsKLSAgIGludCBsZW47Ci0gICBjYWRk cl90IGVuY29kZWRfb3V0OwotLSAgRVZQX0NJUEhFUl9DVFggY3R4OwotKyAgRVZQX0NJUEhFUl9D VFggKmN0eDsKLSAgIHVuc2lnbmVkIGNoYXIgKiBpdmVjID0gJmtleS0+a2kuYWVzLml2WzBdOwot IAotICAgQ0FUQ0hfUkVBRF9GQUlMIChzZXNfaW4pCi1AQCAtMTc3OCw3ICsxNzkzLDcgQEAgaW50 IHhlbmNfYWVzX2VuY3J5cHRvciAoZGtfc2Vzc2lvbl90ICogcwotICAgRU5EX1JFQURfRkFJTCAo c2VzX2luKTsKLSAKLSAjaWYgMQotLSAgRVZQX0NJUEhFUl9DVFhfaW5pdCgmY3R4KTsKLSsgIGN0 eCA9IEVWUF9DSVBIRVJfQ1RYX25ldygpOwotICAgb3V0YnVmX2JlZyA9IGRrX2FsbG9jX2JveCAo Ym94X2xlbmd0aCAodGV4dCkgKyAxNiwgRFZfQklOKTsKLSAgIG1lbWNweSAob3V0YnVmX2JlZywg aXZlYywgMTYpOwotICAgb3V0YnVmID0gb3V0YnVmX2JlZyArIDE2OwotQEAgLTE3ODYsMjAgKzE4 MDEsMTkgQEAgaW50IHhlbmNfYWVzX2VuY3J5cHRvciAoZGtfc2Vzc2lvbl90ICogcwotICAgc3dp dGNoIChrZXktPmtpLmFlcy5iaXRzKQotICAgICB7Ci0gICAgIGNhc2UgMTI4OgotLSAgICAgIEVW UF9FbmNyeXB0SW5pdF9leCgmY3R4LCBFVlBfYWVzXzEyOF9jYmMoKSwgTlVMTCwga2V5LT5raS5h ZXMuaywgaXZlYyk7Ci0rICAgICAgRVZQX0VuY3J5cHRJbml0X2V4KGN0eCwgRVZQX2Flc18xMjhf Y2JjKCksIE5VTEwsIGtleS0+a2kuYWVzLmssIGl2ZWMpOwotICAgICAgIGJyZWFrOwotICAgICBj YXNlIDE5MjoKLS0gICAgICBFVlBfRW5jcnlwdEluaXRfZXgoJmN0eCwgRVZQX2Flc18xOTJfY2Jj KCksIE5VTEwsIGtleS0+a2kuYWVzLmssIGl2ZWMpOwotKyAgICAgIEVWUF9FbmNyeXB0SW5pdF9l eChjdHgsIEVWUF9hZXNfMTkyX2NiYygpLCBOVUxMLCBrZXktPmtpLmFlcy5rLCBpdmVjKTsKLSAg ICAgICBicmVhazsKLSAgICAgY2FzZSAyNTY6Ci0tICAgICAgRVZQX0VuY3J5cHRJbml0X2V4KCZj dHgsIEVWUF9hZXNfMjU2X2NiYygpLCBOVUxMLCBrZXktPmtpLmFlcy5rLCBpdmVjKTsKLSsgICAg ICBFVlBfRW5jcnlwdEluaXRfZXgoY3R4LCBFVlBfYWVzXzI1Nl9jYmMoKSwgTlVMTCwga2V5LT5r aS5hZXMuaywgaXZlYyk7Ci0gICAgICAgYnJlYWs7Ci0gICAgIGRlZmF1bHQ6Ci0gICAgICAgR1BG X1QxICgiVW5zdXBwb3J0ZWQga2V5IHNpemUiKTsKLSAgICAgfQotLSAgaWYoIUVWUF9FbmNyeXB0 VXBkYXRlKCZjdHgsICh1bnNpZ25lZCBjaGFyICopb3V0YnVmLCAmb3V0bGVuLCAodW5zaWduZWQg Y2hhciAqKXRleHQsIGJveF9sZW5ndGggKHRleHQpKSkKLSsgIGlmKCFFVlBfRW5jcnlwdFVwZGF0 ZShjdHgsICh1bnNpZ25lZCBjaGFyICopb3V0YnVmLCAmb3V0bGVuLCAodW5zaWduZWQgY2hhciAq KXRleHQsIGJveF9sZW5ndGggKHRleHQpKSkKLSAgICAgewotLSAgICAgIEVWUF9DSVBIRVJfQ1RY X2NsZWFudXAoJmN0eCk7Ci0gICAgICAgZGtfZnJlZV9ib3ggKHRleHQpOwotICAgICAgIGRrX2Zy ZWVfYm94IChvdXRidWZfYmVnKTsKLSAgICAgICB4ZW5jX3JlcG9ydF9lcnJvciAodCwgNTAwLCBY RU5DX0VOQ19FUlIsICJBRVMgZW5jcnlwdGlvbiBpbnRlcm5hbCBlcnJvciAjMiIpOwotQEAgLTE4 MTIsNyArMTgyNiw3IEBAIGludCB4ZW5jX2Flc19lbmNyeXB0b3IgKGRrX3Nlc3Npb25fdCAqIHMK LSAgICAgICB4ZW5jX3JlcG9ydF9lcnJvciAodCwgNTAwLCBYRU5DX0VOQ19FUlIsICJBRVMgZW5j cnlwdGlvbiBpbnRlcm5hbCBlcnJvciAjMyIpOwotICAgICAgIH0gKi8KLSAgIC8qIG91dGxlbiAr PSB0bXBsZW47ICovCi0tICBFVlBfQ0lQSEVSX0NUWF9jbGVhbnVwKCZjdHgpOwotKyAgRVZQX0NJ UEhFUl9DVFhfZnJlZShjdHgpOwotIAotICNlbHNlCi0gICBvdXRidWZfYmVnID0gZGtfYWxsb2Nf Ym94IChib3hfbGVuZ3RoICh0ZXh0KSArIDE2IC8qIGl2ICovLCBEVl9CSU4pOwotQEAgLTIwNTAs NiArMjA2NCw3IEBAIHhlbmNfcnNhX2RlY3J5cHRvciAoZGtfc2Vzc2lvbl90ICogc2VzX2kKLSAg IGludCBsZW4gPSAwOwotICAgaW50IGtleXNpemU7Ci0gICBSU0EgKiByc2EgPSBrZXktPnhla19w cml2YXRlX3JzYTsKLSsgIGNvbnN0IEJJR05VTSAqcCwgKnE7Ci0gCi0gICBpZiAoIXNlc2xlbikK LSAgICAgewotQEAgLTIwNjIsOSArMjA3Nyw5IEBAIHhlbmNfcnNhX2RlY3J5cHRvciAoZGtfc2Vz c2lvbl90ICogc2VzX2kKLSAgICAgICB4ZW5jX3JlcG9ydF9lcnJvciAodCwgNTAwICsgc3RybGVu IChrZXktPnhla19uYW1lKSwgWEVOQ19FTkNfRVJSLCAiY291bGQgbm90IG1ha2UgUlNBIGRlY3J5 cHRpb24gW2tleSAlcyBpcyBub3QgUlNBXSIsIGtleS0+eGVrX25hbWUpOwotICAgICAgIHJldHVy biAwOwotICAgICB9Ci0rICBSU0FfZ2V0MF9mYWN0b3JzKHJzYSwgJnAsICZxKTsKLSAgIGlmICgh cnNhIHx8Ci0tICAgICAgIXJzYS0+cCB8fAotLSAgICAgICFyc2EtPnEpCi0rICAgICAgIXAgfHwg IXEpCi0gICAgIHsKLSAgICAgICBpZiAoa2V5LT54ZWtfeDUwOV9LSSkKLSAJa2V5ID0geGVuY19n ZXRfa2V5X2J5X2tleWlkZW50aWZpZXIgKGtleS0+eGVrX3g1MDlfS0ksIDEpOwotLS0tIGEvbGli c3JjL3V0aWwvc3NsZW5naW5lLmMKLSsrKyBiL2xpYnNyYy91dGlsL3NzbGVuZ2luZS5jCi1AQCAt MjksNyArMjksMTEgQEAKLSBpbnQKLSBzc2xfZW5naW5lX3N0YXJ0dXAgKHZvaWQpCi0gewotLSAg Q1JZUFRPX21hbGxvY19pbml0ICgpOwotKyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgx MDEwMDAwMCB8fCBkZWZpbmVkIExJQlJFU1NMX1ZFUlNJT05fTlVNQkVSCi0rCUNSWVBUT19tYWxs b2NfaW5pdCAoKTsKLSsjZWxzZQotKwlPUEVOU1NMX21hbGxvY19pbml0KCk7Ci0rI2VuZGlmCi0g ICBFUlJfbG9hZF9jcnlwdG9fc3RyaW5ncygpOwotICAgT3BlblNTTF9hZGRfYWxsX2FsZ29yaXRo bXMoKTsKLSAKLS0tLSBhL2xpYnNyYy9XaS9odHRwLmMKLSsrKyBiL2xpYnNyYy9XaS9odHRwLmMK LUBAIC04ODg2LDcgKzg4ODYsNyBAQCBzc2xfc2VydmVyX3NldF9jZXJ0aWZpY2F0ZSAoU1NMX0NU WCogc3NsCi0gCQkgIGxvZ19lcnJvciAoIlNTTDogVGhlIHN0b3JlZCBjZXJ0aWZpY2F0ZSAnJXMn IGNhbiBub3QgYmUgdXNlZCBhcyBleHRyYSBjaGFpbiBjZXJ0aWZpY2F0ZSIsIHRvayk7Ci0gCQkg IGJyZWFrOwotIAkJfQotLQkgICAgICBDUllQVE9fYWRkKCZrLT54ZWtfeDUwOS0+cmVmZXJlbmNl cywgMSwgQ1JZUFRPX0xPQ0tfWDUwOSk7Ci0rCSAgICAgIFg1MDlfdXBfcmVmKGstPnhla194NTA5 KTsKLSAgICAgICAgICAgICAgIHRvayA9IHN0cnRva19yIChOVUxMLCAiLCIsICZ0b2tfcyk7Ci0g CSAgICB9Ci0gCSAgZGtfZnJlZV9ib3ggKHN0cik7Ci0tLS0gYS9saWJzcmMvRGsvRGtlcm5lbC5j Ci0rKysgYi9saWJzcmMvRGsvRGtlcm5lbC5jCi1AQCAtNTI4MCw3ICs1MjgwLDExIEBAIHNzbF9z ZXJ2ZXJfaW5pdCAoKQotICAgfQotICNlbmRpZgotIAotLSAgU1NMZWF5X2FkZF9hbGxfYWxnb3Jp dGhtcyAoKTsKLSsjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDAKLSsgIFNT TGVheV9hZGRfYWxsX2FsZ29yaXRobXMoKTsKLSsjZWxzZQotKyAgT3BlblNTTF9hZGRfYWxsX2Fs Z29yaXRobXMoKTsKLSsjZW5kaWYKLSAgIFBLQ1MxMl9QQkVfYWRkICgpOwkJLyogc3R1YiAqLwot IAotICNpZmRlZiBOT19USFJFQUQKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvdmlydHVvc28vcGF0Y2hl cy9zc2wxLjFfbW9yZS5wYXRjaCBiL3NyY3BrZ3MvdmlydHVvc28vcGF0Y2hlcy9zc2wxLjFfbW9y ZS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjZlNTBlYzEyN2JhLi4wMDAw MDAwMDAwMDAKLS0tIGEvc3JjcGtncy92aXJ0dW9zby9wYXRjaGVzL3NzbDEuMV9tb3JlLnBhdGNo CisrKyAvZGV2L251bGwKQEAgLTEsMjAgKzAsMCBAQAotRGVzY3JpcHRpb246IENvbW1lbnQgdW5r bm93biBkZWZpbml0aW9uIGluIHNzbDEuMSAtIHBsZWFzZSByZXZpZXchCi1BdXRob3I6IEFuZHJl YXMgVGlsbGUgPHRpbGxlQGRlYmlhbi5vcmc+Ci1CdWctRGViaWFuOiBodHRwczovL2J1Z3MuZGVi aWFuLm9yZy84Mjg1OTQKLUxhc3QtVXBkYXRlOiBNbyAxMS4gRmViIDEzOjUwOjE3IENFVCAyMDE5 Ci0KLS0tLSBhL2xpYnNyYy9Eay9Ea2VybmVsLmMKLSsrKyBiL2xpYnNyYy9Eay9Ea2VybmVsLmMK LUBAIC01MTYxLDEwICs1MTYxLDEyIEBAIHNzbF9jdHhfc2V0X3Byb3RvY29sX29wdGlvbnMoU1NM X0NUWCAqY3QKLSAgICAgICBlbHNlIGlmICghc3RyY2FzZWNtcCAobmFtZSwgIlRMU3YxXzIiKSB8 fCAhc3RyY2FzZWNtcCAobmFtZSwgIlRMU3YxLjIiKSkKLSAJb3B0ID0gU1NMX1BST1RPQ09MX1RM U1YxXzI7Ci0gI2VuZGlmCi0rLyoKLSAjaWYgZGVmaW5lZCAoU1NMX09QX05PX1RMU3YxXzMpCi0g ICAgICAgZWxzZSBpZiAoIXN0cmNhc2VjbXAgKG5hbWUsICJUTFN2MV8zIikgfHwgIXN0cmNhc2Vj bXAgKG5hbWUsICJUTFN2MS4zIikpCi0gCW9wdCA9IFNTTF9QUk9UT0NPTF9UTFNWMV8zOwotICNl bmRpZgotKyovCi0gICAgICAgZWxzZSBpZiAoIXN0cmNhc2VjbXAgKG5hbWUsICJBTEwiKSkKLSAJ b3B0ID0gU1NMX1BST1RPQ09MX0FMTDsKLSAgICAgICBlbHNlCmRpZmYgLS1naXQgYS9zcmNwa2dz L3ZpcnR1b3NvL3BhdGNoZXMvdXNlLW1rc3RlbXAucGF0Y2ggYi9zcmNwa2dzL3ZpcnR1b3NvL3Bh dGNoZXMvdXNlLW1rc3RlbXAucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ3 MWI3ZTQxN2JkOS4uMDAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvdmlydHVvc28vcGF0Y2hlcy91 c2UtbWtzdGVtcC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDE4ICswLDAgQEAKLVNvdXJjZTog QHB1bGxtb2xsCi1VcHN0cmVhbTogbm8KLVJlYXNvbjogQXZvaWQgbWt0ZW1wKDMpIGJlY2F1c2Ug Ik5ldmVyIHVzZSB0aGlzIGZ1bmN0aW9uOyBzZWUgQlVHUy4iCi0KLS0tLSBhL2xpYnNyYy9Eay9E a3Nlc3N0ci5jCTIwMTgtMDgtMTYgMDE6MDY6MjEuMDAwMDAwMDAwICswMjAwCi0rKysgYi9saWJz cmMvRGsvRGtzZXNzdHIuYwkyMDIwLTAxLTI3IDE1OjIyOjAwLjk1Mzg3NjI1MSArMDEwMAotQEAg LTI5OCw4ICsyOTgsMTAgQEAKLSAgICAgICBpZiAoIXNlczItPnNlc19maWxlLT5zZXNfbWF4X2Js b2Nrc19pbl9tZW0pCi0gCXsKLSAJICBjaGFyIGZuYW1lW1BBVEhfTUFYICsgMV07Ci0rICAgICAg ICAgIGludCBmZDsKLSAJICBzbnByaW50ZiAoZm5hbWUsIHNpemVvZiAoZm5hbWUpLCAiJXMvc2Vz WFhYWFhYIiwgc2VzX3RtcF9kaXIpOwotLQkgIG1rdGVtcCAoZm5hbWUpOwotKwkgIGZkID0gbWtz dGVtcCAoZm5hbWUpOwotKyAgICAgICAgICBjbG9zZSAoZmQpOwotIAotICNpZiBkZWZpbmVkIChX SU4zMikKLSAjIGRlZmluZSBPUEVOX0ZMQUdTICAJICBPX0NSRUFUIHwgT19SRFdSIHwgT19CSU5B UlkgfCBPX0VYQ0wgfCBPX1RFTVBPUkFSWQpkaWZmIC0tZ2l0IGEvc3JjcGtncy92aXJ0dW9zby90 ZW1wbGF0ZSBiL3NyY3BrZ3MvdmlydHVvc28vdGVtcGxhdGUKaW5kZXggNzNlNTkwMjNkMzVlLi43 ODM5MDlmMGRlMTQgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvdmlydHVvc28vdGVtcGxhdGUKKysrIGIv c3JjcGtncy92aXJ0dW9zby90ZW1wbGF0ZQpAQCAtMSwxOCArMSwxOCBAQAogIyBUZW1wbGF0ZSBm aWxlIGZvciAndmlydHVvc28nCiBwa2duYW1lPXZpcnR1b3NvCi12ZXJzaW9uPTcuMi41LjEKLXJl dmlzaW9uPTMKK3ZlcnNpb249Ny4yLjgKK3JldmlzaW9uPTEKIGFyY2hzPSJ4ODZfNjQqIGFhcmNo NjQqIHBwYzY0bGUqIgogYnVpbGRfc3R5bGU9Z251LWNvbmZpZ3VyZQotY29uZmlndXJlX2FyZ3M9 Ii0tZW5hYmxlLXN0YXRpYyIKLWhvc3RtYWtlZGVwZW5kcz0iYXV0b21ha2UgbGlidG9vbCBmbGV4 IGdwZXJmIG5ldC10b29scyIKK2hvc3RtYWtlZGVwZW5kcz0iYXV0b21ha2UgbGlidG9vbCBmbGV4 IGdwZXJmIG5ldC10b29scyB3aGljaCIKIG1ha2VkZXBlbmRzPSJvcGVuc3NsLWRldmVsIGxpYmxk YXAtZGV2ZWwgcmVhZGxpbmUtZGV2ZWwgbGlieG1sMi1kZXZlbCBtaXQta3JiNS1kZXZlbCIKK2No ZWNrZGVwZW5kcz0icHJvY3BzLW5nIHVuemlwIGN1cmwiCiBzaG9ydF9kZXNjPSJTY2FsYWJsZSBj cm9zcy1wbGF0Zm9ybSBzZXJ2ZXIgb2YgdmlydHVvc28iCiBtYWludGFpbmVyPSJPcnBoYW5lZCA8 b3JwaGFuQHZvaWRsaW51eC5vcmc+IgotbGljZW5zZT0iR1BMLTIiCitsaWNlbnNlPSJHUEwtMi4w LW9ubHkiCiBob21lcGFnZT0iaHR0cDovL3ZpcnR1b3NvLm9wZW5saW5rc3cuY29tL3dpa2kvbWFp bi9NYWluLyIKIGRpc3RmaWxlcz0iaHR0cHM6Ly9naXRodWIuY29tL29wZW5saW5rL3ZpcnR1b3Nv LW9wZW5zb3VyY2UvYXJjaGl2ZS92JHt2ZXJzaW9ufS50YXIuZ3oiCi1jaGVja3N1bT0zZTQ4MDdl OTQwOThiODI2NWY4Y2YwMDg2N2QxMjE1YmIxZTlkMGQyNzQ4NzhlNTlhNDIwNzQyZDJkZTQ3MWMy CitjaGVja3N1bT1iN2E4Yjc5OTQzYWVmN2RlMWQ3ZjdhOTg0MDI3NzQ3Nzc2YWIwYjQ0Y2Y2ZTE2 MGNiZDY2MDg1ZTViZDkxZWQ1CiAjIGNhbm5vdCBleGVjdXRlIGJpbmFyeSBmaWxlOiBFeGVjIGZv cm1hdCBlcnJvcgogbm9jcm9zcz0iaHR0cHM6Ly9idWlsZC52b2lkbGludXgub3JnL2J1aWxkZXJz L2FybXY2bF9idWlsZGVyL2J1aWxkcy8yOTE4Ny9zdGVwcy9zaGVsbF8zL2xvZ3Mvc3RkaW8iCiAK QEAgLTQ1LDggKzQ1LDYgQEAgcG9zdF9pbnN0YWxsKCkgewogCXJtICR7REVTVERJUn0vdXNyL2xp Yi92aXJ0b2RiY19yLnthLHNvfQogCXJtICR7REVTVERJUn0vdXNyL2xpYi92aXJ0b2RiY3Uue2Es c299CiAJcm0gJHtERVNURElSfS91c3IvbGliL3ZpcnRvZGJjdV9yLnthLHNvfQotCSMgcmVtb3Zl IHN0YXRpYyBsaWJzLgotCXJtICR7REVTVERJUn0vdXNyL2xpYi92aXJ0dW9zby1vcGVuc291cmNl LSR7dmVyc2lvbiUlLip9L2hvc3RpbmcvKi5hCiB9CiAKIHZpcnR1b3NvLWJhc2VfcGFja2FnZSgp IHsKQEAgLTYyLDYgKzYwLDYgQEAgdmlydHVvc28tYmFzZV9wYWNrYWdlKCkgewogCQkJCSR7UEtH REVTVERJUn0vdXNyL2Jpbi8ke2Jpbn0tdnQKIAkJZG9uZQogCQkjIFJlbW92ZSBzdGF0aWMgbGli cyBhbmQgbGlidG9vbCBhcmNoaXZlcy4KLQkJcm0gLWYgJHtQS0dERVNURElSfS91c3IvbGliLyou e2EsbGF9CisJCXJtIC1mICR7UEtHREVTVERJUn0vdXNyL2xpYi8qLmxhCiAJfQogfQoKRnJvbSBh OWFjZDYxYmYyZjE0ZGVkMzY1ZDY1MGRiY2I3YWQxY2NmNmJmODA2IE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQpGcm9tOiBLbGFyYSBNb2RpbiA8a2xhcmFzbW9kaW5AZ21haWwuY29tPgpEYXRlOiBX ZWQsIDEgRmViIDIwMjMgMTY6NDM6NTggKzAxMDAKU3ViamVjdDogW1BBVENIIDM4LzM4XSB4Mmdv Y2xpZW50OiByZXZidW1wIGR1ZSB0byBvcGVubGRhcCB1cGRhdGUKCi0tLQogc3JjcGtncy94Mmdv Y2xpZW50L3RlbXBsYXRlIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAx IGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy94MmdvY2xpZW50L3RlbXBsYXRlIGIv c3JjcGtncy94MmdvY2xpZW50L3RlbXBsYXRlCmluZGV4IGJhMmQ1Nzc4MWM0ZC4uNzBjOWZhZWM0 ZDRlIDEwMDY0NAotLS0gYS9zcmNwa2dzL3gyZ29jbGllbnQvdGVtcGxhdGUKKysrIGIvc3JjcGtn cy94MmdvY2xpZW50L3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZv ciAneDJnb2NsaWVudCcKIHBrZ25hbWU9eDJnb2NsaWVudAogdmVyc2lvbj00LjEuMi4yCi1yZXZp c2lvbj0yCityZXZpc2lvbj0zCiBidWlsZF9zdHlsZT1nbnUtbWFrZWZpbGUKIGJ1aWxkX2hlbHBl cj1xbWFrZQogbWFrZV9idWlsZF9hcmdzPSJRTUFLRV9CSU5BUlk9cW1ha2UtcXQ1IExSRUxFQVNF X0JJTkFSWT1scmVsZWFzZS1xdDUiCg== --===============8535085965182075305==--