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 1730 invoked from network); 30 Jan 2023 22:52:12 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 30 Jan 2023 22:52:12 -0000 Content-Type: multipart/mixed; boundary="===============7184297099225928513==" MIME-Version: 1.0 Subject: =?utf8?q?Re=3A_=5BPR_PATCH=5D_=5BUpdated=5D_poco=3A_update_to_build_with_openssl3?= To: ml@inbox.vuxu.org From: dkwo Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Mon, 30 Jan 2023 23:52:12 +0100 List-Id: Message-ID: <20230130225212.UNCvbUu9F_dvX6agoLD0Bhi9RkiG1XCjWUKAUj5tnyo@z> GitHub notification mails are now in MIME to allow UTF8. --===============7184297099225928513== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgZGt3byBhZ2FpbnN0IG1hc3RlciBv biB0aGUgdm9pZC1wYWNrYWdlcyByZXBvc2l0b3J5CgpodHRwczovL2dpdGh1Yi5jb20vZGt3by92 b2lkLXBhY2thZ2VzIE8zcG9jbwpodHRwczovL2dpdGh1Yi5jb20vdm9pZC1saW51eC92b2lkLXBh Y2thZ2VzL3B1bGwvNDE5NjMKCnBvY286IHVwZGF0ZSB0byBidWlsZCB3aXRoIG9wZW5zc2wzCi0g SSB0ZXN0ZWQgdGhlIGNoYW5nZXMgaW4gdGhpcyBQUjogbm8NCi0gSSBidWlsdCB0aGlzIFBSIGxv Y2FsbHkgZm9yIG15IG5hdGl2ZSBhcmNoaXRlY3R1cmUsICh4ODZfNjQtbXVzbCkNCg0KcmVxdWly ZWQgdG8gYnVpbGQgd2l0aCBvcGVuc3NsMyAjMzc2ODEgCgpBIHBhdGNoIGZpbGUgZnJvbSBodHRw czovL2dpdGh1Yi5jb20vdm9pZC1saW51eC92b2lkLXBhY2thZ2VzL3B1bGwvNDE5NjMucGF0Y2gg aXMgYXR0YWNoZWQ= --===============7184297099225928513== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-O3poco-41963.patch" RnJvbSA3YzRlOGRhYzgyMTYzOGQ3ZDQ3YTZiOWZiYmVhMmZhNzg5OGZkMTQxIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBka3dvIDxuaWNvbG9waWF6emFsdW5nYUBnbWFpbC5jb20+CkRh dGU6IEZyaSwgMjcgSmFuIDIwMjMgMTA6NDU6MjAgLTA1MDAKU3ViamVjdDogW1BBVENIIDEvM10g cG9jbzogdXBkYXRlIHRvIDEuMTIuNCwgb3JwaGFuCgotLS0KIGNvbW1vbi9zaGxpYnMgICAgICAg ICB8IDI2ICsrKysrKysrKysrKystLS0tLS0tLS0tLS0tCiBzcmNwa2dzL3BvY28vdGVtcGxhdGUg fCAxMSArKysrKystLS0tLQogMiBmaWxlcyBjaGFuZ2VkLCAxOSBpbnNlcnRpb25zKCspLCAxOCBk ZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9jb21tb24vc2hsaWJzIGIvY29tbW9uL3NobGlicwpp bmRleCBlZGI4YTJjNWRkNzMuLjUyM2ZkMTVhZjczNCAxMDA2NDQKLS0tIGEvY29tbW9uL3NobGli cworKysgYi9jb21tb24vc2hsaWJzCkBAIC0zMDA2LDE5ICszMDA2LDE5IEBAIGxpYnNpZ3Jvay5z by40IGxpYnNpZ3Jvay0wLjUuMF8xCiBsaWJzaWdyb2tjeHguc28uNCBsaWJzaWdyb2stMC41LjBf MQogbGlic2lncm9rZGVjb2RlLnNvLjQgbGlic2lncm9rZGVjb2RlLTAuNS4wXzIKIGxpYmdseXIu c28uMSBnbHlyLTEuMC44XzEKLWxpYlBvY29KU09OLnNvLjY0IHBvY28tMS45LjRfMwotbGliUG9j b01vbmdvREIuc28uNjQgcG9jby0xLjkuNF8zCi1saWJQb2NvWmlwLnNvLjY0IHBvY28tMS45LjRf MwotbGliUG9jb0RhdGEuc28uNjQgcG9jby0xLjkuNF8zCi1saWJQb2NvTmV0LnNvLjY0IHBvY28t MS45LjRfMwotbGliUG9jb0RhdGFTUUxpdGUuc28uNjQgcG9jby0xLjkuNF8zCi1saWJQb2NvRm91 bmRhdGlvbi5zby42NCBwb2NvLTEuOS40XzMKLWxpYlBvY29YTUwuc28uNjQgcG9jby0xLjkuNF8z Ci1saWJQb2NvVXRpbC5zby42NCBwb2NvLTEuOS40XzMKLWxpYlBvY29SZWRpcy5zby42NCBwb2Nv LTEuOS40XzMKLWxpYlBvY29FbmNvZGluZ3Muc28uNjQgcG9jby0xLjkuNF8zCi1saWJQb2NvTmV0 U1NMLnNvLjY0IHBvY28tMS45LjRfMwotbGliUG9jb0NyeXB0by5zby42NCBwb2NvLTEuOS40XzMK K2xpYlBvY29KU09OLnNvLjk0IHBvY28tMS4xMi40XzEKK2xpYlBvY29Nb25nb0RCLnNvLjk0IHBv Y28tMS4xMi40XzEKK2xpYlBvY29aaXAuc28uOTQgcG9jby0xLjEyLjRfMQorbGliUG9jb0RhdGEu c28uOTQgcG9jby0xLjEyLjRfMQorbGliUG9jb05ldC5zby45NCBwb2NvLTEuMTIuNF8xCitsaWJQ b2NvRGF0YVNRTGl0ZS5zby45NCBwb2NvLTEuMTIuNF8xCitsaWJQb2NvRm91bmRhdGlvbi5zby45 NCBwb2NvLTEuMTIuNF8xCitsaWJQb2NvWE1MLnNvLjk0IHBvY28tMS4xMi40XzEKK2xpYlBvY29V dGlsLnNvLjk0IHBvY28tMS4xMi40XzEKK2xpYlBvY29SZWRpcy5zby45NCBwb2NvLTEuMTIuNF8x CitsaWJQb2NvRW5jb2RpbmdzLnNvLjk0IHBvY28tMS4xMi40XzEKK2xpYlBvY29OZXRTU0wuc28u OTQgcG9jby0xLjEyLjRfMQorbGliUG9jb0NyeXB0by5zby45NCBwb2NvLTEuMTIuNF8xCiBsaWJQ dGV4LnNvIHB0ZXgtMi4zLjJfMQogbGlib3BlbmJsYXMuc28uMCBvcGVuYmxhcy0wLjIuMTlfMQog bGlicnRhdWRpby5zby42IHJ0YXVkaW8tNS4xLjBfMQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9wb2Nv L3RlbXBsYXRlIGIvc3JjcGtncy9wb2NvL3RlbXBsYXRlCmluZGV4IDAwODUzNmI2NzEyMS4uNmNh NzE0YjllOTRmIDEwMDY0NAotLS0gYS9zcmNwa2dzL3BvY28vdGVtcGxhdGUKKysrIGIvc3JjcGtn cy9wb2NvL3RlbXBsYXRlCkBAIC0xLDE2ICsxLDE3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdw b2NvJwogcGtnbmFtZT1wb2NvCi12ZXJzaW9uPTEuOS40Ci1yZXZpc2lvbj0zCit2ZXJzaW9uPTEu MTIuNAorcmV2aXNpb249MQogYnVpbGRfc3R5bGU9Y21ha2UKIGNvbmZpZ3VyZV9hcmdzPSItRFBP Q09fVU5CVU5ETEVEPU9OIgotbWFrZWRlcGVuZHM9Im9wZW5zc2wtZGV2ZWwgemxpYi1kZXZlbCBw Y3JlLWRldmVsIGV4cGF0LWRldmVsIHNxbGl0ZS1kZXZlbCIKK21ha2VkZXBlbmRzPSJvcGVuc3Ns LWRldmVsIHpsaWItZGV2ZWwgcGNyZTItZGV2ZWwgZXhwYXQtZGV2ZWwgc3FsaXRlLWRldmVsIgog c2hvcnRfZGVzYz0iQysrIGNsYXNzIGxpYnJhcmllcyBmb3IgYnVpbGRpbmcgbmV0d29yay1iYXNl ZCBhcHBsaWNhdGlvbnMiCi1tYWludGFpbmVyPSJKdWxpZW4gRGVob3MgPGRlaG9zQHVuaXYtbGl0 dG9yYWwuZnI+IgorbWFpbnRhaW5lcj0iT3JwaGFuZWQgPG9ycGhhbkB2b2lkbGludXgub3JnPiIK IGxpY2Vuc2U9IkJTTC0xLjAiCiBob21lcGFnZT0iaHR0cHM6Ly9wb2NvcHJvamVjdC5vcmciCiBk aXN0ZmlsZXM9Imh0dHBzOi8vcG9jb3Byb2plY3Qub3JnL3JlbGVhc2VzLyR7cGtnbmFtZX0tJHt2 ZXJzaW9ufS8ke3BrZ25hbWV9LSR7dmVyc2lvbn0tYWxsLnRhci5neiIKLWNoZWNrc3VtPWViMzRm MjU3YjExMjQwYTcxMWVlNTA1ZjFkODBjNzU0YTgwYTk5MGFlYjQ4ZDhkOTM0MDc4ODRkZjI4OGZk NzcKK2NoZWNrc3VtPTRjMzU4NGRhYTViMGU5NzNmMjY4NjU0ZGJlYjExNzFlYzc2MjFlMzU4YjJi NjQzNjNjZDFhYmQ1NThhNjg3NzcKK2NvbmZsaWN0cz0iYXJjaGl2ZXIiCiAKIHBvc3RfaW5zdGFs bCgpIHsKIAl2bGljZW5zZSBMSUNFTlNFCgpGcm9tIDE5MGNiYzdkNDQ3NWQzMWNjNzNkMmEwNjY0 YTljZjBjMmVlMDRmYzYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IGRrd28gPG5pY29s b3BpYXp6YWx1bmdhQGdtYWlsLmNvbT4KRGF0ZTogRnJpLCAyNyBKYW4gMjAyMyAxMDo0NTo0MyAt MDUwMApTdWJqZWN0OiBbUEFUQ0ggMi8zXSByZW13aGFyZWFkOiBidW1wIGZvciBwb2NvCgotLS0K IHNyY3BrZ3MvcmVtd2hhcmVhZC90ZW1wbGF0ZSB8IDYgKysrLS0tCiAxIGZpbGUgY2hhbmdlZCwg MyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcmVt d2hhcmVhZC90ZW1wbGF0ZSBiL3NyY3BrZ3MvcmVtd2hhcmVhZC90ZW1wbGF0ZQppbmRleCBlNzJh YjA2MTMxZTQuLjNmMDk0NzZkOWJlOSAxMDA2NDQKLS0tIGEvc3JjcGtncy9yZW13aGFyZWFkL3Rl bXBsYXRlCisrKyBiL3NyY3BrZ3MvcmVtd2hhcmVhZC90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAK ICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3JlbXdoYXJlYWQnCiBwa2duYW1lPXJlbXdoYXJlYWQKIHZl cnNpb249MC4xMC4wCi1yZXZpc2lvbj00CityZXZpc2lvbj01CiBidWlsZF9zdHlsZT1jbWFrZQog aG9zdG1ha2VkZXBlbmRzPSJwb2NvLWRldmVsIGFzY2lpZG9jIHBrZy1jb25maWciCiBtYWtlZGVw ZW5kcz0icG9jby1kZXZlbCBib29zdC1kZXZlbCIKQEAgLTksOCArOSw4IEBAIHNob3J0X2Rlc2M9 IlNhdmVzIFVSSXMgb2YgdGhpbmdzIHlvdSB3YW50IHRvIHJlbWVtYmVyIGluIGEgZGF0YWJhc2Ui CiBtYWludGFpbmVyPSJ0ZWxkcmEgPHRlbGRyYUByb3RjZS5kZT4iCiBsaWNlbnNlPSJHUEwtMy4w LW9ubHkiCiBob21lcGFnZT0iaHR0cHM6Ly9zY2hsb21wLnNwYWNlL3Rhc3R5dGVhL3JlbXdoYXJl YWQiCi1kaXN0ZmlsZXM9Imh0dHBzOi8vZ2l0aHViLmNvbS90YXN0eXRlYS9yZW13aGFyZWFkL2Fy Y2hpdmUvJHt2ZXJzaW9ufS50YXIuZ3oiCi1jaGVja3N1bT04N2YxNGE2MTFlM2FlOWY5YmFiZTJk ZmY4ZTRhNmM0ZjU0OTVmYTI4ODMzOTNlZGIzNmU3OTZhZjNmMTlmYjMwCitkaXN0ZmlsZXM9Imh0 dHBzOi8vZ2l0aHViLmNvbS90YXN0eXRlYS9yZW13aGFyZWFkL2FyY2hpdmUvcmVmcy90YWdzLyR7 dmVyc2lvbn0udGFyLmd6IgorY2hlY2tzdW09ZDQxMGZkODQxNmY0ZTA1YjBiZjZjMGVlZWRhYzhk Y2ZkYTFmMWQ5NjBiZWQ2Y2I2OWE5ZGRmOGQ0YzA0ZTgwMwogCiByZW13aGFyZWFkLWZpcmVmb3gt cGx1Z2luX3BhY2thZ2UoKSB7CiAJZGVwZW5kcz0iJHtzb3VyY2Vwa2d9IgoKRnJvbSA0NjlmZjNi OWM5MTMxNjI1NDYyMWE4Zjk2ODhjYWYyZTUzZjYyODQ0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQpGcm9tOiBka3dvIDxuaWNvbG9waWF6emFsdW5nYUBnbWFpbC5jb20+CkRhdGU6IE1vbiwgMzAg SmFuIDIwMjMgMTA6NDU6MDQgLTA1MDAKU3ViamVjdDogW1BBVENIIDMvM10gbXVtYmxlOiBidW1w IGZvciBwb2NvLCBwYXRjaCBmb3Igb3BlbnNzbDMKCi0tLQogc3JjcGtncy9tdW1ibGUvcGF0Y2hl cy9vcGVuc3NsMy5wYXRjaCB8IDY4NSArKysrKysrKysrKysrKysrKysrKysrKysrKwogc3JjcGtn cy9tdW1ibGUvdGVtcGxhdGUgICAgICAgICAgICAgICB8ICAgMiArLQogMiBmaWxlcyBjaGFuZ2Vk LCA2ODYgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNy Y3BrZ3MvbXVtYmxlL3BhdGNoZXMvb3BlbnNzbDMucGF0Y2gKCmRpZmYgLS1naXQgYS9zcmNwa2dz L211bWJsZS9wYXRjaGVzL29wZW5zc2wzLnBhdGNoIGIvc3JjcGtncy9tdW1ibGUvcGF0Y2hlcy9v cGVuc3NsMy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjkw NmQxNzkwNDQ0YgotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvbXVtYmxlL3BhdGNoZXMvb3Bl bnNzbDMucGF0Y2gKQEAgLTAsMCArMSw2ODUgQEAKK0Zyb20gZjRjZWE2MmVkOTVlNDk2N2Q4NTkx ZjI1ZTkwM2Y1ZThmYzJlMmEzMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFRlcnJ5 IEdlbmcgPHRlcnJ5QHRlcnJpZXguY29tPgorRGF0ZTogTW9uLCA2IERlYyAyMDIxIDEwOjQ1OjEx IC0wNTAwCitTdWJqZWN0OiBbUEFUQ0hdIEJVSUxEKGNyeXB0byk6IE1pZ3JhdGUgdG8gT3BlblNT TCAzLjAtY29tcGF0aWJsZSBBUEkKKworT3BlblNTTCAzLjAgZGVwcmVjYXRlZCBzZXZlcmFsIGxv dy1sZXZlbCBBUElzIGFuZCB0aGUgdXNhZ2Ugb2YgdGhlbQorY2F1c2VkIGVycm9ycy93YXJuaW5n cyB0aGF0IHByZXZlbnQgdGhlIGJpbmFyeSBmcm9tIGJlaW5nIGJ1aWx0IGFnYWluc3QKK09wZW5T U0wgMy4wLgorU29tZSBwcmltaXRpdmUgZWZmb3J0cyBoYXZlIGJlZW4gbWFkZSBpbiAjNTMxNyBi dXQgd2VyZSBpbmNvbXBsZXRlLgorVGhpcyBjb21taXQgZm9sbG93cyBodHRwczovL3d3dy5vcGVu c3NsLm9yZy9kb2NzL21hbjMuMC9tYW43L21pZ3JhdGlvbl9ndWlkZS5odG1sLAoraHR0cHM6Ly9j b2RlLndvYm9xLm9yZy9xdDYvcXRvcGN1YS9zcmMvb3BjdWEveDUwOS9xb3BjdWFrZXlwYWlyX29w ZW5zc2wuY3BwLmh0bWwsCithbmQgY2xlYXJzIGFsbCBlcnJvcnMvd2FybmluZ3MgcmVsYXRlZCB0 byB0aGUgdXNhZ2Ugb2YgZGVwcmVjYXRlZCBBUElzLgorCitGaXhlcyAjNTI3NworRml4ZXMgIzQy NjYKKy0tLQorIHNyYy9TZWxmU2lnbmVkQ2VydGlmaWNhdGUuY3BwIHwgMjM1ICsrKysrKysrKysr LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBzcmMvU2VsZlNpZ25lZENlcnRpZmljYXRlLmggICB8 ICAgNSArCisgc3JjL2NyeXB0by9DcnlwdFN0YXRlT0NCMi5jcHAgfCAgNTMgKysrKystLS0KKyBz cmMvY3J5cHRvL0NyeXB0U3RhdGVPQ0IyLmggICB8ICAgOSArLQorIDQgZmlsZXMgY2hhbmdlZCwg MTIxIGluc2VydGlvbnMoKyksIDE4MSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3NyYy9T ZWxmU2lnbmVkQ2VydGlmaWNhdGUuY3BwIGIvc3JjL1NlbGZTaWduZWRDZXJ0aWZpY2F0ZS5jcHAK K2luZGV4IGE3N2U1ZmFkOTEuLmVhMGRlYzRjYzcgMTAwNjQ0CistLS0gYS9zcmMvU2VsZlNpZ25l ZENlcnRpZmljYXRlLmNwcAorKysrIGIvc3JjL1NlbGZTaWduZWRDZXJ0aWZpY2F0ZS5jcHAKK0BA IC01LDggKzUsNiBAQAorIAorICNpbmNsdWRlICJTZWxmU2lnbmVkQ2VydGlmaWNhdGUuaCIKKyAK Ky0jaW5jbHVkZSA8b3BlbnNzbC94NTA5djMuaD4KKy0KKyAjZGVmaW5lIFNTTF9TVFJJTkcoeCkg UVN0cmluZzo6ZnJvbUxhdGluMSh4KS50b1V0ZjgoKS5kYXRhKCkKKyAKKyBzdGF0aWMgaW50IGFk ZF9leHQoWDUwOSAqY3J0LCBpbnQgbmlkLCBjaGFyICp2YWx1ZSkgeworQEAgLTI4LDEwOCArMjYs ODYgQEAgc3RhdGljIGludCBhZGRfZXh0KFg1MDkgKmNydCwgaW50IG5pZCwgY2hhciAqdmFsdWUp IHsKKyAJcmV0dXJuIDE7CisgfQorIAorLWJvb2wgU2VsZlNpZ25lZENlcnRpZmljYXRlOjpnZW5l cmF0ZShDZXJ0aWZpY2F0ZVR5cGUgY2VydGlmaWNhdGVUeXBlLCBRU3RyaW5nIGNsaWVudENlcnRO YW1lLCBRU3RyaW5nIGNsaWVudENlcnRFbWFpbCwKKy0JCQkJCQkJCQkgUVNzbENlcnRpZmljYXRl ICZxc2NDZXJ0LCBRU3NsS2V5ICZxc2tLZXkpIHsKKy0JYm9vbCBvayAgICAgICAgICAgICAgICAg ICAgPSB0cnVlOworLQlYNTA5ICp4NTA5ICAgICAgICAgICAgICAgICA9IG51bGxwdHI7CistCUVW UF9QS0VZICpwa2V5ICAgICAgICAgICAgID0gbnVsbHB0cjsKKy0JUlNBICpyc2EgICAgICAgICAg ICAgICAgICAgPSBudWxscHRyOworLQlCSUdOVU0gKmUgICAgICAgICAgICAgICAgICA9IG51bGxw dHI7CistCVg1MDlfTkFNRSAqbmFtZSAgICAgICAgICAgID0gbnVsbHB0cjsKKy0JQVNOMV9JTlRF R0VSICpzZXJpYWxOdW1iZXIgPSBudWxscHRyOworLQlBU04xX1RJTUUgKm5vdEJlZm9yZSAgICAg ICA9IG51bGxwdHI7CistCUFTTjFfVElNRSAqbm90QWZ0ZXIgICAgICAgID0gbnVsbHB0cjsKKy0J UVN0cmluZyBjb21tb25OYW1lOworLQlib29sIGlzU2VydmVyQ2VydCA9IGNlcnRpZmljYXRlVHlw ZSA9PSBDZXJ0aWZpY2F0ZVR5cGVTZXJ2ZXJDZXJ0aWZpY2F0ZTsKKy0KKy0JaWYgKENSWVBUT19t ZW1fY3RybChDUllQVE9fTUVNX0NIRUNLX09OKSA9PSAtMSkgeworLQkJb2sgPSBmYWxzZTsKKy0J CWdvdG8gb3V0OworK0VWUF9QS0VZICpTZWxmU2lnbmVkQ2VydGlmaWNhdGU6OmdlbmVyYXRlX3Jz YV9rZXlwYWlyKCkgeworKwlFVlBfUEtFWSAqcGtleSA9IEVWUF9QS0VZX25ldygpOworKwlpZiAo IXBrZXkpIHsKKysJCXJldHVybiBudWxscHRyOworIAl9CisgCistCXg1MDkgPSBYNTA5X25ldygp OworLQlpZiAoIXg1MDkpIHsKKy0JCW9rID0gZmFsc2U7CistCQlnb3RvIG91dDsKKysjaWYgT1BF TlNTTF9WRVJTSU9OX05VTUJFUiA+PSAweDEwMTAwMDAwTAorKwlFVlBfUEtFWV9DVFggKmN0eCA9 IEVWUF9QS0VZX0NUWF9uZXdfaWQoRVZQX1BLRVlfUlNBLCBudWxscHRyKTsKKysJaWYgKCFjdHgp IHsKKysJCXJldHVybiBudWxscHRyOworIAl9CistCistCXBrZXkgPSBFVlBfUEtFWV9uZXcoKTsK Ky0JaWYgKCFwa2V5KSB7CistCQlvayA9IGZhbHNlOworLQkJZ290byBvdXQ7CisrCWlmIChFVlBf UEtFWV9rZXlnZW5faW5pdChjdHgpIDw9IDApIHsKKysJCXJldHVybiBudWxscHRyOworIAl9Cist CistCXJzYSA9IFJTQV9uZXcoKTsKKysJaWYgKEVWUF9QS0VZX0NUWF9zZXRfcnNhX2tleWdlbl9i aXRzKGN0eCwgMjA0OCkgPD0gMCkgeworKwkJcmV0dXJuIG51bGxwdHI7CisrCX0KKysJaWYgKEVW UF9QS0VZX2tleWdlbihjdHgsICZwa2V5KSA8PSAwKSB7CisrCQlyZXR1cm4gbnVsbHB0cjsKKysJ fQorKwlFVlBfUEtFWV9DVFhfZnJlZShjdHgpOworKyNlbHNlCisrCVJTQSAqcnNhICA9IFJTQV9u ZXcoKTsKKysJQklHTlVNICplID0gQk5fbmV3KCk7CisgCWlmICghcnNhKSB7CistCQlvayA9IGZh bHNlOworLQkJZ290byBvdXQ7CisrCQlyZXR1cm4gbnVsbHB0cjsKKyAJfQorLQorLQllID0gQk5f bmV3KCk7CisgCWlmICghZSkgeworLQkJb2sgPSBmYWxzZTsKKy0JCWdvdG8gb3V0OworKwkJcmV0 dXJuIG51bGxwdHI7CisgCX0KKyAJaWYgKEJOX3NldF93b3JkKGUsIDY1NTM3KSA9PSAwKSB7Cist CQlvayA9IGZhbHNlOworLQkJZ290byBvdXQ7CisrCQlyZXR1cm4gbnVsbHB0cjsKKyAJfQorLQor IAlpZiAoUlNBX2dlbmVyYXRlX2tleV9leChyc2EsIDIwNDgsIGUsIG51bGxwdHIpID09IDApIHsK Ky0JCW9rID0gZmFsc2U7CistCQlnb3RvIG91dDsKKysJCXJldHVybiBudWxscHRyOworIAl9Cist CisgCWlmIChFVlBfUEtFWV9hc3NpZ25fUlNBKHBrZXksIHJzYSkgPT0gMCkgeworLQkJb2sgPSBm YWxzZTsKKy0JCWdvdG8gb3V0OworKwkJcmV0dXJuIG51bGxwdHI7CisgCX0KKysJQk5fZnJlZShl KTsKKysJUlNBX2ZyZWUocnNhKTsKKysjZW5kaWYKKysJcmV0dXJuIHBrZXk7CisrfQorIAorLQlp ZiAoWDUwOV9zZXRfdmVyc2lvbih4NTA5LCAyKSA9PSAwKSB7CistCQlvayA9IGZhbHNlOworLQkJ Z290byBvdXQ7CisrI2RlZmluZSBDSEVDSyhzdGF0ZW1lbnQpIFwKKysJaWYgKCEoc3RhdGVtZW50 KSkgeyAgXAorKwkJb2sgPSBmYWxzZTsgICAgICBcCisrCQlnb3RvIG91dDsgICAgICAgIFwKKyAJ fQorIAorLQlzZXJpYWxOdW1iZXIgPSBYNTA5X2dldF9zZXJpYWxOdW1iZXIoeDUwOSk7CistCWlm ICghc2VyaWFsTnVtYmVyKSB7CistCQlvayA9IGZhbHNlOworLQkJZ290byBvdXQ7CistCX0KKy0J aWYgKEFTTjFfSU5URUdFUl9zZXQoc2VyaWFsTnVtYmVyLCAxKSA9PSAwKSB7CistCQlvayA9IGZh bHNlOworLQkJZ290byBvdXQ7CistCX0KKyAKKy0Jbm90QmVmb3JlID0gWDUwOV9nZXRfbm90QmVm b3JlKHg1MDkpOworLQlpZiAoIW5vdEJlZm9yZSkgeworLQkJb2sgPSBmYWxzZTsKKy0JCWdvdG8g b3V0OworLQl9CistCWlmICghWDUwOV9nbXRpbWVfYWRqKG5vdEJlZm9yZSwgMCkpIHsKKy0JCW9r ID0gZmFsc2U7CistCQlnb3RvIG91dDsKKy0JfQorK2Jvb2wgU2VsZlNpZ25lZENlcnRpZmljYXRl OjpnZW5lcmF0ZShDZXJ0aWZpY2F0ZVR5cGUgY2VydGlmaWNhdGVUeXBlLCBRU3RyaW5nIGNsaWVu dENlcnROYW1lLCBRU3RyaW5nIGNsaWVudENlcnRFbWFpbCwKKysJCQkJCQkJCQkgUVNzbENlcnRp ZmljYXRlICZxc2NDZXJ0LCBRU3NsS2V5ICZxc2tLZXkpIHsKKysJYm9vbCBvayAgICAgICAgICAg ICAgICAgICAgPSB0cnVlOworKwlFVlBfUEtFWSAqcGtleSAgICAgICAgICAgICA9IG51bGxwdHI7 CisrCVg1MDkgKng1MDkgICAgICAgICAgICAgICAgID0gbnVsbHB0cjsKKysJWDUwOV9OQU1FICpu YW1lICAgICAgICAgICAgPSBudWxscHRyOworKwlBU04xX0lOVEVHRVIgKnNlcmlhbE51bWJlciA9 IG51bGxwdHI7CisrCUFTTjFfVElNRSAqbm90QmVmb3JlICAgICAgID0gbnVsbHB0cjsKKysJQVNO MV9USU1FICpub3RBZnRlciAgICAgICAgPSBudWxscHRyOworKwlRU3RyaW5nIGNvbW1vbk5hbWU7 CisrCWJvb2wgaXNTZXJ2ZXJDZXJ0ID0gY2VydGlmaWNhdGVUeXBlID09IENlcnRpZmljYXRlVHlw ZVNlcnZlckNlcnRpZmljYXRlOworIAorLQlub3RBZnRlciA9IFg1MDlfZ2V0X25vdEFmdGVyKHg1 MDkpOworLQlpZiAoIW5vdEFmdGVyKSB7CistCQlvayA9IGZhbHNlOworLQkJZ290byBvdXQ7Cist CX0KKy0JaWYgKCFYNTA5X2dtdGltZV9hZGoobm90QWZ0ZXIsIDYwICogNjAgKiAyNCAqIDM2NSAq IDIwKSkgeworLQkJb2sgPSBmYWxzZTsKKy0JCWdvdG8gb3V0OworLQl9CisrCS8vIEluIFF0IDUu MTUsIGEgY2xhc3Mgd2FzIGFkZGVkIHRvIHdyYXAgdXAgdGhlIHByb2NlZHVyZXMgb2YgZ2VuZXJh dGluZyBhIHNlbGYtc2lnbmVkIGNlcnRpZmljYXRlLgorKwkvLyBTZWUgaHR0cHM6Ly9kb2MucXQu aW8vcXQtNS9xb3BjdWF4NTA5Y2VydGlmaWNhdGVzaWduaW5ncmVxdWVzdC5odG1sLgorKwkvLyBX ZSBzaG91bGQgY29uc2lkZXIgbWlncmF0aW5nIHRvIHRoaXMgY2xhc3MgYWZ0ZXIgc3dpdGNoaW5n IHRvIFF0IDUuMTUuCisgCistCWlmIChYNTA5X3NldF9wdWJrZXkoeDUwOSwgcGtleSkgPT0gMCkg eworLQkJb2sgPSBmYWxzZTsKKy0JCWdvdG8gb3V0OworLQl9CisrCUNIRUNLKHBrZXkgPSBnZW5l cmF0ZV9yc2Ffa2V5cGFpcigpKTsKKyAKKy0JbmFtZSA9IFg1MDlfZ2V0X3N1YmplY3RfbmFtZSh4 NTA5KTsKKy0JaWYgKCFuYW1lKSB7CistCQlvayA9IGZhbHNlOworLQkJZ290byBvdXQ7CistCX0K KysJQ0hFQ0soeDUwOSA9IFg1MDlfbmV3KCkpOworKwlDSEVDSyhYNTA5X3NldF92ZXJzaW9uKHg1 MDksIDIpKTsKKysJQ0hFQ0soc2VyaWFsTnVtYmVyID0gWDUwOV9nZXRfc2VyaWFsTnVtYmVyKHg1 MDkpKTsKKysJQ0hFQ0soQVNOMV9JTlRFR0VSX3NldChzZXJpYWxOdW1iZXIsIDEpKTsKKysJQ0hF Q0sobm90QmVmb3JlID0gWDUwOV9nZXRfbm90QmVmb3JlKHg1MDkpKTsKKysJQ0hFQ0soWDUwOV9n bXRpbWVfYWRqKG5vdEJlZm9yZSwgMCkpOworKwlDSEVDSyhub3RBZnRlciA9IFg1MDlfZ2V0X25v dEFmdGVyKHg1MDkpKTsKKysJQ0hFQ0soWDUwOV9nbXRpbWVfYWRqKG5vdEFmdGVyLCA2MCAqIDYw ICogMjQgKiAzNjUgKiAyMCkpCisrCUNIRUNLKFg1MDlfc2V0X3B1YmtleSh4NTA5LCBwa2V5KSk7 CisrCUNIRUNLKG5hbWUgPSBYNTA5X2dldF9zdWJqZWN0X25hbWUoeDUwOSkpOworIAorIAlpZiAo aXNTZXJ2ZXJDZXJ0KSB7CisgCQljb21tb25OYW1lID0gUUxhdGluMVN0cmluZygiTXVybXVyIEF1 dG9nZW5lcmF0ZWQgQ2VydGlmaWNhdGUgdjIiKTsKK0BAIC0xNDEsMTIwICsxMTcsNjMgQEAgYm9v bCBTZWxmU2lnbmVkQ2VydGlmaWNhdGU6OmdlbmVyYXRlKENlcnRpZmljYXRlVHlwZSBjZXJ0aWZp Y2F0ZVR5cGUsIFFTdHJpbmcgY2wKKyAJCX0KKyAJfQorIAorLQlpZiAoWDUwOV9OQU1FX2FkZF9l bnRyeV9ieV90eHQobmFtZSwgIkNOIiwgTUJTVFJJTkdfVVRGOCwKKy0JCQkJCQkJCSAgIHJlaW50 ZXJwcmV0X2Nhc3Q8IHVuc2lnbmVkIGNoYXIgKiA+KGNvbW1vbk5hbWUudG9VdGY4KCkuZGF0YSgp KSwgLTEsIC0xLCAwKQorLQkJPT0gMCkgeworLQkJb2sgPSBmYWxzZTsKKy0JCWdvdG8gb3V0Owor LQl9CisrCUNIRUNLKFg1MDlfTkFNRV9hZGRfZW50cnlfYnlfdHh0KG5hbWUsICJDTiIsIE1CU1RS SU5HX1VURjgsCisrCQkJCQkJCQkJIHJlaW50ZXJwcmV0X2Nhc3Q8IHVuc2lnbmVkIGNoYXIgKiA+ KGNvbW1vbk5hbWUudG9VdGY4KCkuZGF0YSgpKSwgLTEsIC0xLCAwKSk7CisgCistCWlmIChYNTA5 X3NldF9pc3N1ZXJfbmFtZSh4NTA5LCBuYW1lKSA9PSAwKSB7CistCQlvayA9IGZhbHNlOworLQkJ Z290byBvdXQ7CistCX0KKysJQ0hFQ0soWDUwOV9zZXRfaXNzdWVyX25hbWUoeDUwOSwgbmFtZSkp OworIAorLQlpZiAoYWRkX2V4dCh4NTA5LCBOSURfYmFzaWNfY29uc3RyYWludHMsIFNTTF9TVFJJ TkcoImNyaXRpY2FsLENBOkZBTFNFIikpID09IDApIHsKKy0JCW9rID0gZmFsc2U7CistCQlnb3Rv IG91dDsKKy0JfQorKwlDSEVDSyhhZGRfZXh0KHg1MDksIE5JRF9iYXNpY19jb25zdHJhaW50cywg U1NMX1NUUklORygiY3JpdGljYWwsQ0E6RkFMU0UiKSkpOworIAorIAlpZiAoaXNTZXJ2ZXJDZXJ0 KSB7CistCQlpZiAoYWRkX2V4dCh4NTA5LCBOSURfZXh0X2tleV91c2FnZSwgU1NMX1NUUklORygi c2VydmVyQXV0aCxjbGllbnRBdXRoIikpID09IDApIHsKKy0JCQlvayA9IGZhbHNlOworLQkJCWdv dG8gb3V0OworLQkJfQorKwkJQ0hFQ0soYWRkX2V4dCh4NTA5LCBOSURfZXh0X2tleV91c2FnZSwg U1NMX1NUUklORygic2VydmVyQXV0aCxjbGllbnRBdXRoIikpKQorIAl9IGVsc2UgeworLQkJaWYg KGFkZF9leHQoeDUwOSwgTklEX2V4dF9rZXlfdXNhZ2UsIFNTTF9TVFJJTkcoImNsaWVudEF1dGgi KSkgPT0gMCkgeworLQkJCW9rID0gZmFsc2U7CistCQkJZ290byBvdXQ7CistCQl9CisrCQlDSEVD SyhhZGRfZXh0KHg1MDksIE5JRF9leHRfa2V5X3VzYWdlLCBTU0xfU1RSSU5HKCJjbGllbnRBdXRo IikpKTsKKyAJfQorIAorLQlpZiAoYWRkX2V4dCh4NTA5LCBOSURfc3ViamVjdF9rZXlfaWRlbnRp ZmllciwgU1NMX1NUUklORygiaGFzaCIpKSA9PSAwKSB7CistCQlvayA9IGZhbHNlOworLQkJZ290 byBvdXQ7CistCX0KKysJQ0hFQ0soYWRkX2V4dCh4NTA5LCBOSURfc3ViamVjdF9rZXlfaWRlbnRp ZmllciwgU1NMX1NUUklORygiaGFzaCIpKSk7CisgCisgCWlmIChpc1NlcnZlckNlcnQpIHsKKy0J CWlmIChhZGRfZXh0KHg1MDksIE5JRF9uZXRzY2FwZV9jb21tZW50LCBTU0xfU1RSSU5HKCJHZW5l cmF0ZWQgZnJvbSBtdXJtdXIiKSkgPT0gMCkgeworLQkJCW9rID0gZmFsc2U7CistCQkJZ290byBv dXQ7CistCQl9CisrCQlDSEVDSyhhZGRfZXh0KHg1MDksIE5JRF9uZXRzY2FwZV9jb21tZW50LCBT U0xfU1RSSU5HKCJHZW5lcmF0ZWQgZnJvbSBtdXJtdXIiKSkpOworIAl9IGVsc2UgeworLQkJaWYg KGFkZF9leHQoeDUwOSwgTklEX25ldHNjYXBlX2NvbW1lbnQsIFNTTF9TVFJJTkcoIkdlbmVyYXRl ZCBieSBNdW1ibGUiKSkgPT0gMCkgeworLQkJCW9rID0gZmFsc2U7CistCQkJZ290byBvdXQ7Cist CQl9CisrCQlDSEVDSyhhZGRfZXh0KHg1MDksIE5JRF9uZXRzY2FwZV9jb21tZW50LCBTU0xfU1RS SU5HKCJHZW5lcmF0ZWQgYnkgTXVtYmxlIikpKTsKKyAJfQorIAorIAlpZiAoIWlzU2VydmVyQ2Vy dCkgeworIAkJaWYgKCFjbGllbnRDZXJ0RW1haWwudHJpbW1lZCgpLmlzRW1wdHkoKSkgeworLQkJ CWlmIChhZGRfZXh0KHg1MDksIE5JRF9zdWJqZWN0X2FsdF9uYW1lLAorLQkJCQkJCVFTdHJpbmc6 OmZyb21MYXRpbjEoImVtYWlsOiUxIikuYXJnKGNsaWVudENlcnRFbWFpbCkudG9VdGY4KCkuZGF0 YSgpKQorLQkJCQk9PSAwKSB7CistCQkJCW9rID0gZmFsc2U7CistCQkJCWdvdG8gb3V0OworLQkJ CX0KKysJCQlDSEVDSyhhZGRfZXh0KHg1MDksIE5JRF9zdWJqZWN0X2FsdF9uYW1lLAorKwkJCQkJ CSAgUVN0cmluZzo6ZnJvbUxhdGluMSgiZW1haWw6JTEiKS5hcmcoY2xpZW50Q2VydEVtYWlsKS50 b1V0ZjgoKS5kYXRhKCkpKTsKKyAJCX0KKyAJfQorIAorLQlpZiAoWDUwOV9zaWduKHg1MDksIHBr ZXksIEVWUF9zaGExKCkpID09IDApIHsKKy0JCW9rID0gZmFsc2U7CistCQlnb3RvIG91dDsKKy0J fQorKwlDSEVDSyhYNTA5X3NpZ24oeDUwOSwgcGtleSwgRVZQX3NoYTEoKSkpOworIAorIAl7Cisg CQlRQnl0ZUFycmF5IGNydDsKKyAJCWludCBsZW4gPSBpMmRfWDUwOSh4NTA5LCBudWxscHRyKTsK Ky0JCWlmIChsZW4gPD0gMCkgeworLQkJCW9rID0gZmFsc2U7CistCQkJZ290byBvdXQ7CistCQl9 CisrCQlDSEVDSyhsZW4gPiAwKTsKKyAJCWNydC5yZXNpemUobGVuKTsKKyAKKyAJCXVuc2lnbmVk IGNoYXIgKmRwdHIgPSByZWludGVycHJldF9jYXN0PCB1bnNpZ25lZCBjaGFyICogPihjcnQuZGF0 YSgpKTsKKy0JCWlmIChpMmRfWDUwOSh4NTA5LCAmZHB0cikgIT0gbGVuKSB7CistCQkJb2sgPSBm YWxzZTsKKy0JCQlnb3RvIG91dDsKKy0JCX0KKysJCUNIRUNLKGkyZF9YNTA5KHg1MDksICZkcHRy KSA9PSBsZW4pOworIAorIAkJcXNjQ2VydCA9IFFTc2xDZXJ0aWZpY2F0ZShjcnQsIFFTc2w6OkRl cik7CistCQlpZiAocXNjQ2VydC5pc051bGwoKSkgeworLQkJCW9rID0gZmFsc2U7CistCQkJZ290 byBvdXQ7CistCQl9CisrCQlDSEVDSyghcXNjQ2VydC5pc051bGwoKSk7CisgCX0KKyAKKyAJewor IAkJUUJ5dGVBcnJheSBrZXk7CisgCQlpbnQgbGVuID0gaTJkX1ByaXZhdGVLZXkocGtleSwgbnVs bHB0cik7CistCQlpZiAobGVuIDw9IDApIHsKKy0JCQlvayA9IGZhbHNlOworLQkJCWdvdG8gb3V0 OworLQkJfQorKwkJQ0hFQ0sobGVuID4gMCk7CisgCQlrZXkucmVzaXplKGxlbik7CisgCisgCQl1 bnNpZ25lZCBjaGFyICpkcHRyID0gcmVpbnRlcnByZXRfY2FzdDwgdW5zaWduZWQgY2hhciAqID4o a2V5LmRhdGEoKSk7CistCQlpZiAoaTJkX1ByaXZhdGVLZXkocGtleSwgJmRwdHIpICE9IGxlbikg eworLQkJCW9rID0gZmFsc2U7CistCQkJZ290byBvdXQ7CistCQl9CisrCQlDSEVDSyhpMmRfUHJp dmF0ZUtleShwa2V5LCAmZHB0cikgPT0gbGVuKTsKKyAKKyAJCXFza0tleSA9IFFTc2xLZXkoa2V5 LCBRU3NsOjpSc2EsIFFTc2w6OkRlcik7CistCQlpZiAocXNrS2V5LmlzTnVsbCgpKSB7CistCQkJ b2sgPSBmYWxzZTsKKy0JCQlnb3RvIG91dDsKKy0JCX0KKysJCUNIRUNLKCFxc2tLZXkuaXNOdWxs KCkpOworIAl9CisgCisgb3V0OgorLQlpZiAoZSkgeworLQkJQk5fZnJlZShlKTsKKy0JfQorLQkv LyBXZSBvbmx5IG5lZWQgdG8gZnJlZSB0aGUgcGtleSBwb2ludGVyLAorLQkvLyBub3QgdGhlIFJT QSBwb2ludGVyLiBXZSBoYXZlIGFzc2lnbmVkCistCS8vIG91ciBSU0Ega2V5IHRvIHBrZXksIGFu ZCBpdCB3aWxsIGJlIGZyZWVkCistCS8vIG9uY2Ugd2UgZnJlZSBwa2V5LgorIAlpZiAocGtleSkg eworIAkJRVZQX1BLRVlfZnJlZShwa2V5KTsKKyAJfQorZGlmZiAtLWdpdCBhL3NyYy9TZWxmU2ln bmVkQ2VydGlmaWNhdGUuaCBiL3NyYy9TZWxmU2lnbmVkQ2VydGlmaWNhdGUuaAoraW5kZXggYjg1 YTg3NTJiOC4uN2M1ZjU5ZTljNSAxMDA2NDQKKy0tLSBhL3NyYy9TZWxmU2lnbmVkQ2VydGlmaWNh dGUuaAorKysrIGIvc3JjL1NlbGZTaWduZWRDZXJ0aWZpY2F0ZS5oCitAQCAtNiw2ICs2LDEwIEBA CisgI2lmbmRlZiBNVU1CTEVfU0VMRlNJR05FRENFUlRJRklDQVRFX0hfCisgI2RlZmluZSBNVU1C TEVfU0VMRlNJR05FRENFUlRJRklDQVRFX0hfCisgCisrI2luY2x1ZGUgPG9wZW5zc2wvZXZwLmg+ CisrI2luY2x1ZGUgPG9wZW5zc2wvcnNhLmg+CisrI2luY2x1ZGUgPG9wZW5zc2wveDUwOXYzLmg+ CisrCisgI2luY2x1ZGUgPFF0Q29yZS9RU3RyaW5nPgorICNpbmNsdWRlIDxRdE5ldHdvcmsvUVNz bENlcnRpZmljYXRlPgorICNpbmNsdWRlIDxRdE5ldHdvcmsvUVNzbEtleT4KK0BAIC0xNiw2ICsy MCw3IEBAIGNsYXNzIFNlbGZTaWduZWRDZXJ0aWZpY2F0ZSB7CisgcHJpdmF0ZToKKyAJc3RhdGlj IGJvb2wgZ2VuZXJhdGUoQ2VydGlmaWNhdGVUeXBlIGNlcnRpZmljYXRlVHlwZSwgUVN0cmluZyBj bGllbnRDZXJ0TmFtZSwgUVN0cmluZyBjbGllbnRDZXJ0RW1haWwsCisgCQkJCQkJIFFTc2xDZXJ0 aWZpY2F0ZSAmcXNjQ2VydCwgUVNzbEtleSAmcXNrS2V5KTsKKysJc3RhdGljIEVWUF9QS0VZICpn ZW5lcmF0ZV9yc2Ffa2V5cGFpcigpOworIAorIHB1YmxpYzoKKyAJc3RhdGljIGJvb2wgZ2VuZXJh dGVNdW1ibGVDZXJ0aWZpY2F0ZShRU3RyaW5nIG5hbWUsIFFTdHJpbmcgZW1haWwsIFFTc2xDZXJ0 aWZpY2F0ZSAmcXNjQ2VydCwgUVNzbEtleSAmcXNrS2V5KTsKK2RpZmYgLS1naXQgYS9zcmMvY3J5 cHRvL0NyeXB0U3RhdGVPQ0IyLmNwcCBiL3NyYy9jcnlwdG8vQ3J5cHRTdGF0ZU9DQjIuY3BwCitp bmRleCAyMTc2ZDY0ODgzLi42NDBmZGVkYWM4IDEwMDY0NAorLS0tIGEvc3JjL2NyeXB0by9Dcnlw dFN0YXRlT0NCMi5jcHAKKysrKyBiL3NyYy9jcnlwdG8vQ3J5cHRTdGF0ZU9DQjIuY3BwCitAQCAt MzAsNyArMzAsNyBAQAorICNpbmNsdWRlIDxjc3RyaW5nPgorICNpbmNsdWRlIDxvcGVuc3NsL3Jh bmQuaD4KKyAKKy1DcnlwdFN0YXRlT0NCMjo6Q3J5cHRTdGF0ZU9DQjIoKSA6IENyeXB0U3RhdGUo KSB7CisrQ3J5cHRTdGF0ZU9DQjI6OkNyeXB0U3RhdGVPQ0IyKCkgOiBDcnlwdFN0YXRlKCksIGVu Y19jdHgoRVZQX0NJUEhFUl9DVFhfbmV3KCkpLCBkZWNfY3R4KEVWUF9DSVBIRVJfQ1RYX25ldygp KSB7CisgCWZvciAoaW50IGkgPSAwOyBpIDwgMHgxMDA7IGkrKykKKyAJCWRlY3J5cHRfaGlzdG9y eVtpXSA9IDA7CisgCW1lbXNldChyYXdfa2V5LCAwLCBBRVNfS0VZX1NJWkVfQllURVMpOworQEAg LTM4LDYgKzM4LDExIEBAIENyeXB0U3RhdGVPQ0IyOjpDcnlwdFN0YXRlT0NCMigpIDogQ3J5cHRT dGF0ZSgpIHsKKyAJbWVtc2V0KGRlY3J5cHRfaXYsIDAsIEFFU19CTE9DS19TSVpFKTsKKyB9Cisg CisrQ3J5cHRTdGF0ZU9DQjI6On5DcnlwdFN0YXRlT0NCMigpIG5vZXhjZXB0IHsKKysJRVZQX0NJ UEhFUl9DVFhfZnJlZShlbmNfY3R4KTsKKysJRVZQX0NJUEhFUl9DVFhfZnJlZShkZWNfY3R4KTsK Kyt9CisrCisgYm9vbCBDcnlwdFN0YXRlT0NCMjo6aXNWYWxpZCgpIGNvbnN0IHsKKyAJcmV0dXJu IGJJbml0OworIH0KK0BAIC00Niw4ICs1MSw2IEBAIHZvaWQgQ3J5cHRTdGF0ZU9DQjI6Omdlbktl eSgpIHsKKyAJQ3J5cHRvZ3JhcGhpY1JhbmRvbTo6ZmlsbEJ1ZmZlcihyYXdfa2V5LCBBRVNfS0VZ X1NJWkVfQllURVMpOworIAlDcnlwdG9ncmFwaGljUmFuZG9tOjpmaWxsQnVmZmVyKGVuY3J5cHRf aXYsIEFFU19CTE9DS19TSVpFKTsKKyAJQ3J5cHRvZ3JhcGhpY1JhbmRvbTo6ZmlsbEJ1ZmZlcihk ZWNyeXB0X2l2LCBBRVNfQkxPQ0tfU0laRSk7CistCUFFU19zZXRfZW5jcnlwdF9rZXkocmF3X2tl eSwgQUVTX0tFWV9TSVpFX0JJVFMsICZlbmNyeXB0X2tleSk7CistCUFFU19zZXRfZGVjcnlwdF9r ZXkocmF3X2tleSwgQUVTX0tFWV9TSVpFX0JJVFMsICZkZWNyeXB0X2tleSk7CisgCWJJbml0ID0g dHJ1ZTsKKyB9CisgCitAQCAtNTYsOCArNTksNiBAQCBib29sIENyeXB0U3RhdGVPQ0IyOjpzZXRL ZXkoY29uc3Qgc3RkOjpzdHJpbmcgJnJrZXksIGNvbnN0IHN0ZDo6c3RyaW5nICZlaXYsIGNvbgor IAkJbWVtY3B5KHJhd19rZXksIHJrZXkuZGF0YSgpLCBBRVNfS0VZX1NJWkVfQllURVMpOworIAkJ bWVtY3B5KGVuY3J5cHRfaXYsIGVpdi5kYXRhKCksIEFFU19CTE9DS19TSVpFKTsKKyAJCW1lbWNw eShkZWNyeXB0X2l2LCBkaXYuZGF0YSgpLCBBRVNfQkxPQ0tfU0laRSk7CistCQlBRVNfc2V0X2Vu Y3J5cHRfa2V5KHJhd19rZXksIEFFU19LRVlfU0laRV9CSVRTLCAmZW5jcnlwdF9rZXkpOworLQkJ QUVTX3NldF9kZWNyeXB0X2tleShyYXdfa2V5LCBBRVNfS0VZX1NJWkVfQklUUywgJmRlY3J5cHRf a2V5KTsKKyAJCWJJbml0ID0gdHJ1ZTsKKyAJCXJldHVybiB0cnVlOworIAl9CitAQCAtMjU2LDEw ICsyNTcsMjQgQEAgc3RhdGljIHZvaWQgaW5saW5lIFpFUk8oa2V5YmxvY2sgJmJsb2NrKSB7Cisg CQlibG9ja1tpXSA9IDA7CisgfQorIAorLSNkZWZpbmUgQUVTZW5jcnlwdChzcmMsIGRzdCwga2V5 KSBcCistCUFFU19lbmNyeXB0KHJlaW50ZXJwcmV0X2Nhc3Q8IGNvbnN0IHVuc2lnbmVkIGNoYXIg KiA+KHNyYyksIHJlaW50ZXJwcmV0X2Nhc3Q8IHVuc2lnbmVkIGNoYXIgKiA+KGRzdCksIGtleSk7 CistI2RlZmluZSBBRVNkZWNyeXB0KHNyYywgZHN0LCBrZXkpIFwKKy0JQUVTX2RlY3J5cHQocmVp bnRlcnByZXRfY2FzdDwgY29uc3QgdW5zaWduZWQgY2hhciAqID4oc3JjKSwgcmVpbnRlcnByZXRf Y2FzdDwgdW5zaWduZWQgY2hhciAqID4oZHN0KSwga2V5KTsKKysjZGVmaW5lIEFFU2VuY3J5cHQo c3JjLCBkc3QsIGtleSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFwKKysJeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFwKKysJCWludCBvdXRsZW4gPSAwOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKysJCUVWUF9F bmNyeXB0SW5pdF9leChlbmNfY3R4LCBFVlBfYWVzXzEyOF9lY2IoKSwgTlVMTCwga2V5LCBOVUxM KTsgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKysJCUVWUF9DSVBIRVJfQ1RYX3NldF9wYWRk aW5nKGVuY19jdHgsIDApOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFwKKysJCUVWUF9FbmNyeXB0VXBkYXRlKGVuY19jdHgsIHJlaW50ZXJwcmV0X2Nh c3Q8IHVuc2lnbmVkIGNoYXIgKiA+KGRzdCksICZvdXRsZW4sICAgICAgICAgICAgIFwKKysJCQkJ CQkgIHJlaW50ZXJwcmV0X2Nhc3Q8IGNvbnN0IHVuc2lnbmVkIGNoYXIgKiA+KHNyYyksIEFFU19C TE9DS19TSVpFKTsgICAgICAgIFwKKysJCUVWUF9FbmNyeXB0RmluYWxfZXgoZW5jX2N0eCwgcmVp bnRlcnByZXRfY2FzdDwgdW5zaWduZWQgY2hhciAqID4oZHN0ICsgb3V0bGVuKSwgJm91dGxlbik7 IFwKKysJfQorKyNkZWZpbmUgQUVTZGVjcnlwdChzcmMsIGRzdCwga2V5KSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorKwl7 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorKwkJaW50IG91dGxlbiA9IDA7 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXAorKwkJRVZQX0RlY3J5cHRJbml0X2V4KGRlY19jdHgsIEVWUF9h ZXNfMTI4X2VjYigpLCBOVUxMLCBrZXksIE5VTEwpOyAgICAgICAgICAgICAgICAgICAgICAgICAg XAorKwkJRVZQX0NJUEhFUl9DVFhfc2V0X3BhZGRpbmcoZGVjX2N0eCwgMCk7ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorKwkJRVZQX0RlY3J5cHRV cGRhdGUoZGVjX2N0eCwgcmVpbnRlcnByZXRfY2FzdDwgdW5zaWduZWQgY2hhciAqID4oZHN0KSwg Jm91dGxlbiwgICAgICAgICAgICAgXAorKwkJCQkJCSAgcmVpbnRlcnByZXRfY2FzdDwgY29uc3Qg dW5zaWduZWQgY2hhciAqID4oc3JjKSwgQUVTX0JMT0NLX1NJWkUpOyAgICAgICAgXAorKwkJRVZQ X0RlY3J5cHRGaW5hbF9leChkZWNfY3R4LCByZWludGVycHJldF9jYXN0PCB1bnNpZ25lZCBjaGFy ICogPihkc3QgKyBvdXRsZW4pLCAmb3V0bGVuKTsgXAorKwl9CisgCisgYm9vbCBDcnlwdFN0YXRl T0NCMjo6b2NiX2VuY3J5cHQoY29uc3QgdW5zaWduZWQgY2hhciAqcGxhaW4sIHVuc2lnbmVkIGNo YXIgKmVuY3J5cHRlZCwgdW5zaWduZWQgaW50IGxlbiwKKyAJCQkJCQkJCSBjb25zdCB1bnNpZ25l ZCBjaGFyICpub25jZSwgdW5zaWduZWQgY2hhciAqdGFnLCBib29sIG1vZGlmeVBsYWluT25YRVhT dGFyQXR0YWNrKSB7CitAQCAtMjY3LDcgKzI4Miw3IEBAIGJvb2wgQ3J5cHRTdGF0ZU9DQjI6Om9j Yl9lbmNyeXB0KGNvbnN0IHVuc2lnbmVkIGNoYXIgKnBsYWluLCB1bnNpZ25lZCBjaGFyICplbmNy CisgCWJvb2wgc3VjY2VzcyA9IHRydWU7CisgCisgCS8vIEluaXRpYWxpemUKKy0JQUVTZW5jcnlw dChub25jZSwgZGVsdGEsICZlbmNyeXB0X2tleSk7CisrCUFFU2VuY3J5cHQobm9uY2UsIGRlbHRh LCByYXdfa2V5KTsKKyAJWkVSTyhjaGVja3N1bSk7CisgCisgCXdoaWxlIChsZW4gPiBBRVNfQkxP Q0tfU0laRSkgeworQEAgLTI5OSw3ICszMTQsNyBAQCBib29sIENyeXB0U3RhdGVPQ0IyOjpvY2Jf ZW5jcnlwdChjb25zdCB1bnNpZ25lZCBjaGFyICpwbGFpbiwgdW5zaWduZWQgY2hhciAqZW5jcgor IAkJaWYgKGZsaXBBQml0KSB7CisgCQkJKnJlaW50ZXJwcmV0X2Nhc3Q8IHVuc2lnbmVkIGNoYXIg KiA+KHRtcCkgXj0gMTsKKyAJCX0KKy0JCUFFU2VuY3J5cHQodG1wLCB0bXAsICZlbmNyeXB0X2tl eSk7CisrCQlBRVNlbmNyeXB0KHRtcCwgdG1wLCByYXdfa2V5KTsKKyAJCVhPUihyZWludGVycHJl dF9jYXN0PCBzdWJibG9jayAqID4oZW5jcnlwdGVkKSwgZGVsdGEsIHRtcCk7CisgCQlYT1IoY2hl Y2tzdW0sIGNoZWNrc3VtLCByZWludGVycHJldF9jYXN0PCBjb25zdCBzdWJibG9jayAqID4ocGxh aW4pKTsKKyAJCWlmIChmbGlwQUJpdCkgeworQEAgLTMxNSw3ICszMzAsNyBAQCBib29sIENyeXB0 U3RhdGVPQ0IyOjpvY2JfZW5jcnlwdChjb25zdCB1bnNpZ25lZCBjaGFyICpwbGFpbiwgdW5zaWdu ZWQgY2hhciAqZW5jcgorIAlaRVJPKHRtcCk7CisgCXRtcFtCTE9DS1NJWkUgLSAxXSA9IFNXQVBQ RUQobGVuICogOCk7CisgCVhPUih0bXAsIHRtcCwgZGVsdGEpOworLQlBRVNlbmNyeXB0KHRtcCwg cGFkLCAmZW5jcnlwdF9rZXkpOworKwlBRVNlbmNyeXB0KHRtcCwgcGFkLCByYXdfa2V5KTsKKyAJ bWVtY3B5KHRtcCwgcGxhaW4sIGxlbik7CisgCW1lbWNweShyZWludGVycHJldF9jYXN0PCB1bnNp Z25lZCBjaGFyICogPih0bXApICsgbGVuLCByZWludGVycHJldF9jYXN0PCBjb25zdCB1bnNpZ25l ZCBjaGFyICogPihwYWQpICsgbGVuLAorIAkJICAgQUVTX0JMT0NLX1NJWkUgLSBsZW4pOworQEAg LTMyNSw3ICszNDAsNyBAQCBib29sIENyeXB0U3RhdGVPQ0IyOjpvY2JfZW5jcnlwdChjb25zdCB1 bnNpZ25lZCBjaGFyICpwbGFpbiwgdW5zaWduZWQgY2hhciAqZW5jcgorIAorIAlTMyhkZWx0YSk7 CisgCVhPUih0bXAsIGRlbHRhLCBjaGVja3N1bSk7CistCUFFU2VuY3J5cHQodG1wLCB0YWcsICZl bmNyeXB0X2tleSk7CisrCUFFU2VuY3J5cHQodG1wLCB0YWcsIHJhd19rZXkpOworIAorIAlyZXR1 cm4gc3VjY2VzczsKKyB9CitAQCAtMzM2LDEzICszNTEsMTMgQEAgYm9vbCBDcnlwdFN0YXRlT0NC Mjo6b2NiX2RlY3J5cHQoY29uc3QgdW5zaWduZWQgY2hhciAqZW5jcnlwdGVkLCB1bnNpZ25lZCBj aGFyICoKKyAJYm9vbCBzdWNjZXNzID0gdHJ1ZTsKKyAKKyAJLy8gSW5pdGlhbGl6ZQorLQlBRVNl bmNyeXB0KG5vbmNlLCBkZWx0YSwgJmVuY3J5cHRfa2V5KTsKKysJQUVTZW5jcnlwdChub25jZSwg ZGVsdGEsIHJhd19rZXkpOworIAlaRVJPKGNoZWNrc3VtKTsKKyAKKyAJd2hpbGUgKGxlbiA+IEFF U19CTE9DS19TSVpFKSB7CisgCQlTMihkZWx0YSk7CisgCQlYT1IodG1wLCBkZWx0YSwgcmVpbnRl cnByZXRfY2FzdDwgY29uc3Qgc3ViYmxvY2sgKiA+KGVuY3J5cHRlZCkpOworLQkJQUVTZGVjcnlw dCh0bXAsIHRtcCwgJmRlY3J5cHRfa2V5KTsKKysJCUFFU2RlY3J5cHQodG1wLCB0bXAsIHJhd19r ZXkpOworIAkJWE9SKHJlaW50ZXJwcmV0X2Nhc3Q8IHN1YmJsb2NrICogPihwbGFpbiksIGRlbHRh LCB0bXApOworIAkJWE9SKGNoZWNrc3VtLCBjaGVja3N1bSwgcmVpbnRlcnByZXRfY2FzdDwgY29u c3Qgc3ViYmxvY2sgKiA+KHBsYWluKSk7CisgCQlsZW4gLT0gQUVTX0JMT0NLX1NJWkU7CitAQCAt MzU0LDcgKzM2OSw3IEBAIGJvb2wgQ3J5cHRTdGF0ZU9DQjI6Om9jYl9kZWNyeXB0KGNvbnN0IHVu c2lnbmVkIGNoYXIgKmVuY3J5cHRlZCwgdW5zaWduZWQgY2hhciAqCisgCVpFUk8odG1wKTsKKyAJ dG1wW0JMT0NLU0laRSAtIDFdID0gU1dBUFBFRChsZW4gKiA4KTsKKyAJWE9SKHRtcCwgdG1wLCBk ZWx0YSk7CistCUFFU2VuY3J5cHQodG1wLCBwYWQsICZlbmNyeXB0X2tleSk7CisrCUFFU2VuY3J5 cHQodG1wLCBwYWQsIHJhd19rZXkpOworIAltZW1zZXQodG1wLCAwLCBBRVNfQkxPQ0tfU0laRSk7 CisgCW1lbWNweSh0bXAsIGVuY3J5cHRlZCwgbGVuKTsKKyAJWE9SKHRtcCwgdG1wLCBwYWQpOwor QEAgLTM3Miw3ICszODcsNyBAQCBib29sIENyeXB0U3RhdGVPQ0IyOjpvY2JfZGVjcnlwdChjb25z dCB1bnNpZ25lZCBjaGFyICplbmNyeXB0ZWQsIHVuc2lnbmVkIGNoYXIgKgorIAorIAlTMyhkZWx0 YSk7CisgCVhPUih0bXAsIGRlbHRhLCBjaGVja3N1bSk7CistCUFFU2VuY3J5cHQodG1wLCB0YWcs ICZlbmNyeXB0X2tleSk7CisrCUFFU2VuY3J5cHQodG1wLCB0YWcsIHJhd19rZXkpOworIAorIAly ZXR1cm4gc3VjY2VzczsKKyB9CitAQCAtMzgxLDUgKzM5Niw1IEBAIGJvb2wgQ3J5cHRTdGF0ZU9D QjI6Om9jYl9kZWNyeXB0KGNvbnN0IHVuc2lnbmVkIGNoYXIgKmVuY3J5cHRlZCwgdW5zaWduZWQg Y2hhciAqCisgI3VuZGVmIFNISUZUQklUUworICN1bmRlZiBTV0FQUEVECisgI3VuZGVmIEhJR0hC SVQKKy0jdW5kZWYgQUVTX2VuY3J5cHQKKy0jdW5kZWYgQUVTX2RlY3J5cHQKKysjdW5kZWYgQUVT ZW5jcnlwdAorKyN1bmRlZiBBRVNkZWNyeXB0CitkaWZmIC0tZ2l0IGEvc3JjL2NyeXB0by9Dcnlw dFN0YXRlT0NCMi5oIGIvc3JjL2NyeXB0by9DcnlwdFN0YXRlT0NCMi5oCitpbmRleCA1M2Q0YjRi NmFhLi5jYzNmMWMwYmMzIDEwMDY0NAorLS0tIGEvc3JjL2NyeXB0by9DcnlwdFN0YXRlT0NCMi5o CisrKysgYi9zcmMvY3J5cHRvL0NyeXB0U3RhdGVPQ0IyLmgKK0BAIC04LDggKzgsOSBAQAorIAor ICNpbmNsdWRlICJDcnlwdFN0YXRlLmgiCisgCistI2luY2x1ZGUgPG9wZW5zc2wvYWVzLmg+Cisr I2luY2x1ZGUgPG9wZW5zc2wvZXZwLmg+CisgCisrI2RlZmluZSBBRVNfQkxPQ0tfU0laRSAxNgor ICNkZWZpbmUgQUVTX0tFWV9TSVpFX0JJVFMgMTI4CisgI2RlZmluZSBBRVNfS0VZX1NJWkVfQllU RVMgKEFFU19LRVlfU0laRV9CSVRTIC8gOCkKKyAKK0BAIC0xNyw3ICsxOCw3IEBACisgY2xhc3Mg Q3J5cHRTdGF0ZU9DQjIgOiBwdWJsaWMgQ3J5cHRTdGF0ZSB7CisgcHVibGljOgorIAlDcnlwdFN0 YXRlT0NCMigpOworLQl+Q3J5cHRTdGF0ZU9DQjIoKXt9OworKwl+Q3J5cHRTdGF0ZU9DQjIoKSBu b2V4Y2VwdCBvdmVycmlkZTsKKyAKKyAJdmlydHVhbCBib29sIGlzVmFsaWQoKSBjb25zdCBRX0RF Q0xfT1ZFUlJJREU7CisgCXZpcnR1YWwgdm9pZCBnZW5LZXkoKSBRX0RFQ0xfT1ZFUlJJREU7CitA QCAtNDMsOCArNDQsOCBAQCBjbGFzcyBDcnlwdFN0YXRlT0NCMiA6IHB1YmxpYyBDcnlwdFN0YXRl IHsKKyAJdW5zaWduZWQgY2hhciBkZWNyeXB0X2l2W0FFU19CTE9DS19TSVpFXTsKKyAJdW5zaWdu ZWQgY2hhciBkZWNyeXB0X2hpc3RvcnlbMHgxMDBdOworIAorLQlBRVNfS0VZIGVuY3J5cHRfa2V5 OworLQlBRVNfS0VZIGRlY3J5cHRfa2V5OworKwlFVlBfQ0lQSEVSX0NUWCAqZW5jX2N0eDsKKysJ RVZQX0NJUEhFUl9DVFggKmRlY19jdHg7CisgfTsKKyAKKyAKK0Zyb20gZjhkNDdkYjMxOGYzMDJm NWE3ZDM0M2YxNWM5OTM2YzcwMzBjNDljNCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206 IFRlcnJ5IEdlbmcgPHRlcnJ5QHRlcnJpZXguY29tPgorRGF0ZTogU3VuLCAxMiBEZWMgMjAyMSAy MjozOTozOCAtMDUwMAorU3ViamVjdDogW1BBVENIXSBGSVgoY3J5cHRvKTogU2hhcmluZyBFVlAg Y29udGV4dCBiZXR3ZWVuIHRocmVhZHMgY3J1c2hlcworIE11bWJsZQorCitGdW5jdGlvbnMgb2Ni X2VuY3J5cHQgYW5kIG9jYl9kZWNyeXB0IHNoYXJlIHRoZSBzYW1lIHNldAorb2YgZW5jcnlwdCBh bmQgZGVjcnlwdCBjb250ZXh0cy4gSG93ZXZlciwgdGhleSBhcmUgaW52b2tlZAoraW4gZGlmZmVy ZW50IHRocmVhZHMgKGF1ZGlvIGlucHV0IHRocmVhZCBhbmQgc2VydmVyCitoYW5kbGVyIHRocmVh ZCkuCitUaGlzIG1heSBsZWFkIHRvIGNvbmZsaWN0cyB0aGF0IHdvdWxkIGNyYXNoIE11bWJsZS4K K1RoaXMgcGF0Y2ggc2VwYXJhdGVzIGNvbnRleHRzIHVzZWQgaW4gdGhlc2UgdHdvIGZ1bmN0aW9u cwordG8gYXZvaWQgc3VjaCBjb25mbGljdHMuCisKK0ZpeGVzICM1MzYxCistLS0KKyBzcmMvY3J5 cHRvL0NyeXB0U3RhdGVPQ0IyLmNwcCB8IDU1ICsrKysrKysrKysrKysrKysrKysrKystLS0tLS0t LS0tLS0tCisgc3JjL2NyeXB0by9DcnlwdFN0YXRlT0NCMi5oICAgfCAgNiArKy0tCisgMiBmaWxl cyBjaGFuZ2VkLCAzOCBpbnNlcnRpb25zKCspLCAyMyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdp dCBhL3NyYy9jcnlwdG8vQ3J5cHRTdGF0ZU9DQjIuY3BwIGIvc3JjL2NyeXB0by9DcnlwdFN0YXRl T0NCMi5jcHAKK2luZGV4IDY0MGZkZWRhYzguLjNiMzQ3M2ZmZWMgMTAwNjQ0CistLS0gYS9zcmMv Y3J5cHRvL0NyeXB0U3RhdGVPQ0IyLmNwcAorKysrIGIvc3JjL2NyeXB0by9DcnlwdFN0YXRlT0NC Mi5jcHAKK0BAIC0zMCw3ICszMCw5IEBACisgI2luY2x1ZGUgPGNzdHJpbmc+CisgI2luY2x1ZGUg PG9wZW5zc2wvcmFuZC5oPgorIAorLUNyeXB0U3RhdGVPQ0IyOjpDcnlwdFN0YXRlT0NCMigpIDog Q3J5cHRTdGF0ZSgpLCBlbmNfY3R4KEVWUF9DSVBIRVJfQ1RYX25ldygpKSwgZGVjX2N0eChFVlBf Q0lQSEVSX0NUWF9uZXcoKSkgeworK0NyeXB0U3RhdGVPQ0IyOjpDcnlwdFN0YXRlT0NCMigpCisr CTogQ3J5cHRTdGF0ZSgpLCBlbmNfY3R4X29jYl9lbmMoRVZQX0NJUEhFUl9DVFhfbmV3KCkpLCBk ZWNfY3R4X29jYl9lbmMoRVZQX0NJUEhFUl9DVFhfbmV3KCkpLAorKwkgIGVuY19jdHhfb2NiX2Rl YyhFVlBfQ0lQSEVSX0NUWF9uZXcoKSksIGRlY19jdHhfb2NiX2RlYyhFVlBfQ0lQSEVSX0NUWF9u ZXcoKSkgeworIAlmb3IgKGludCBpID0gMDsgaSA8IDB4MTAwOyBpKyspCisgCQlkZWNyeXB0X2hp c3RvcnlbaV0gPSAwOworIAltZW1zZXQocmF3X2tleSwgMCwgQUVTX0tFWV9TSVpFX0JZVEVTKTsK K0BAIC0zOSw4ICs0MSwxMCBAQCBDcnlwdFN0YXRlT0NCMjo6Q3J5cHRTdGF0ZU9DQjIoKSA6IENy eXB0U3RhdGUoKSwgZW5jX2N0eChFVlBfQ0lQSEVSX0NUWF9uZXcoKSksCisgfQorIAorIENyeXB0 U3RhdGVPQ0IyOjp+Q3J5cHRTdGF0ZU9DQjIoKSBub2V4Y2VwdCB7CistCUVWUF9DSVBIRVJfQ1RY X2ZyZWUoZW5jX2N0eCk7CistCUVWUF9DSVBIRVJfQ1RYX2ZyZWUoZGVjX2N0eCk7CisrCUVWUF9D SVBIRVJfQ1RYX2ZyZWUoZW5jX2N0eF9vY2JfZW5jKTsKKysJRVZQX0NJUEhFUl9DVFhfZnJlZShk ZWNfY3R4X29jYl9lbmMpOworKwlFVlBfQ0lQSEVSX0NUWF9mcmVlKGVuY19jdHhfb2NiX2RlYyk7 CisrCUVWUF9DSVBIRVJfQ1RYX2ZyZWUoZGVjX2N0eF9vY2JfZGVjKTsKKyB9CisgCisgYm9vbCBD cnlwdFN0YXRlT0NCMjo6aXNWYWxpZCgpIGNvbnN0IHsKK0BAIC0yNTcsMjUgKzI2MSwyOCBAQCBz dGF0aWMgdm9pZCBpbmxpbmUgWkVSTyhrZXlibG9jayAmYmxvY2spIHsKKyAJCWJsb2NrW2ldID0g MDsKKyB9CisgCistI2RlZmluZSBBRVNlbmNyeXB0KHNyYywgZHN0LCBrZXkpICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCist CXsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCistCQlpbnQgb3V0bGVuID0g MDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBcCistCQlFVlBfRW5jcnlwdEluaXRfZXgoZW5jX2N0eCwgRVZQ X2Flc18xMjhfZWNiKCksIE5VTEwsIGtleSwgTlVMTCk7ICAgICAgICAgICAgICAgICAgICAgICAg ICBcCistCQlFVlBfQ0lQSEVSX0NUWF9zZXRfcGFkZGluZyhlbmNfY3R4LCAwKTsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCistCQlFVlBfRW5jcnlw dFVwZGF0ZShlbmNfY3R4LCByZWludGVycHJldF9jYXN0PCB1bnNpZ25lZCBjaGFyICogPihkc3Qp LCAmb3V0bGVuLCAgICAgICAgICAgICBcCistCQkJCQkJICByZWludGVycHJldF9jYXN0PCBjb25z dCB1bnNpZ25lZCBjaGFyICogPihzcmMpLCBBRVNfQkxPQ0tfU0laRSk7ICAgICAgICBcCistCQlF VlBfRW5jcnlwdEZpbmFsX2V4KGVuY19jdHgsIHJlaW50ZXJwcmV0X2Nhc3Q8IHVuc2lnbmVkIGNo YXIgKiA+KGRzdCArIG91dGxlbiksICZvdXRsZW4pOyBcCisrI2RlZmluZSBBRVNlbmNyeXB0X2N0 eChzcmMsIGRzdCwga2V5LCBlbmNfY3R4KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFwKKysJeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXAorKwkJaW50IG91dGxlbiA9IDA7ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisrCQlF VlBfRW5jcnlwdEluaXRfZXgoZW5jX2N0eCwgRVZQX2Flc18xMjhfZWNiKCksIE5VTEwsIGtleSwg TlVMTCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKysJCUVWUF9DSVBIRVJfQ1RYX3Nl dF9wYWRkaW5nKGVuY19jdHgsIDApOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXAorKwkJRVZQX0VuY3J5cHRVcGRhdGUoZW5jX2N0eCwgcmVpbnRl cnByZXRfY2FzdDwgdW5zaWduZWQgY2hhciAqID4oZHN0KSwgJm91dGxlbiwgICAgICAgICAgICAg ICBcCisrCQkJCQkJICByZWludGVycHJldF9jYXN0PCBjb25zdCB1bnNpZ25lZCBjaGFyICogPihz cmMpLCBBRVNfQkxPQ0tfU0laRSk7ICAgICAgICAgIFwKKysJCUVWUF9FbmNyeXB0RmluYWxfZXgo ZW5jX2N0eCwgcmVpbnRlcnByZXRfY2FzdDwgdW5zaWduZWQgY2hhciAqID4oKGRzdCkgKyBvdXRs ZW4pLCAmb3V0bGVuKTsgXAorIAl9CistI2RlZmluZSBBRVNkZWNyeXB0KHNyYywgZHN0LCBrZXkp ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBcCistCXsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCistCQlp bnQgb3V0bGVuID0gMDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCistCQlFVlBfRGVjcnlwdEluaXRfZXgo ZGVjX2N0eCwgRVZQX2Flc18xMjhfZWNiKCksIE5VTEwsIGtleSwgTlVMTCk7ICAgICAgICAgICAg ICAgICAgICAgICAgICBcCistCQlFVlBfQ0lQSEVSX0NUWF9zZXRfcGFkZGluZyhkZWNfY3R4LCAw KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCist CQlFVlBfRGVjcnlwdFVwZGF0ZShkZWNfY3R4LCByZWludGVycHJldF9jYXN0PCB1bnNpZ25lZCBj aGFyICogPihkc3QpLCAmb3V0bGVuLCAgICAgICAgICAgICBcCistCQkJCQkJICByZWludGVycHJl dF9jYXN0PCBjb25zdCB1bnNpZ25lZCBjaGFyICogPihzcmMpLCBBRVNfQkxPQ0tfU0laRSk7ICAg ICAgICBcCistCQlFVlBfRGVjcnlwdEZpbmFsX2V4KGRlY19jdHgsIHJlaW50ZXJwcmV0X2Nhc3Q8 IHVuc2lnbmVkIGNoYXIgKiA+KGRzdCArIG91dGxlbiksICZvdXRsZW4pOyBcCisrI2RlZmluZSBB RVNkZWNyeXB0X2N0eChzcmMsIGRzdCwga2V5LCBkZWNfY3R4KSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKysJeyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXAorKwkJaW50IG91dGxlbiA9IDA7ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBcCisrCQlFVlBfRGVjcnlwdEluaXRfZXgoZGVjX2N0eCwgRVZQX2Flc18xMjhfZWNiKCks IE5VTEwsIGtleSwgTlVMTCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKysJCUVWUF9D SVBIRVJfQ1RYX3NldF9wYWRkaW5nKGRlY19jdHgsIDApOyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorKwkJRVZQX0RlY3J5cHRVcGRhdGUoZGVj X2N0eCwgcmVpbnRlcnByZXRfY2FzdDwgdW5zaWduZWQgY2hhciAqID4oZHN0KSwgJm91dGxlbiwg ICAgICAgICAgICAgICBcCisrCQkJCQkJICByZWludGVycHJldF9jYXN0PCBjb25zdCB1bnNpZ25l ZCBjaGFyICogPihzcmMpLCBBRVNfQkxPQ0tfU0laRSk7ICAgICAgICAgIFwKKysJCUVWUF9EZWNy eXB0RmluYWxfZXgoZGVjX2N0eCwgcmVpbnRlcnByZXRfY2FzdDwgdW5zaWduZWQgY2hhciAqID4o KGRzdCkgKyBvdXRsZW4pLCAmb3V0bGVuKTsgXAorIAl9CisgCisrI2RlZmluZSBBRVNlbmNyeXB0 KHNyYywgZHN0LCBrZXkpIEFFU2VuY3J5cHRfY3R4KHNyYywgZHN0LCBrZXksIGVuY19jdHhfb2Ni X2VuYykKKysjZGVmaW5lIEFFU2RlY3J5cHQoc3JjLCBkc3QsIGtleSkgQUVTZGVjcnlwdF9jdHgo c3JjLCBkc3QsIGtleSwgZGVjX2N0eF9vY2JfZW5jKQorKworIGJvb2wgQ3J5cHRTdGF0ZU9DQjI6 Om9jYl9lbmNyeXB0KGNvbnN0IHVuc2lnbmVkIGNoYXIgKnBsYWluLCB1bnNpZ25lZCBjaGFyICpl bmNyeXB0ZWQsIHVuc2lnbmVkIGludCBsZW4sCisgCQkJCQkJCQkgY29uc3QgdW5zaWduZWQgY2hh ciAqbm9uY2UsIHVuc2lnbmVkIGNoYXIgKnRhZywgYm9vbCBtb2RpZnlQbGFpbk9uWEVYU3RhckF0 dGFjaykgeworIAlrZXlibG9jayBjaGVja3N1bSwgZGVsdGEsIHRtcCwgcGFkOworQEAgLTM0NSw2 ICszNTIsMTIgQEAgYm9vbCBDcnlwdFN0YXRlT0NCMjo6b2NiX2VuY3J5cHQoY29uc3QgdW5zaWdu ZWQgY2hhciAqcGxhaW4sIHVuc2lnbmVkIGNoYXIgKmVuY3IKKyAJcmV0dXJuIHN1Y2Nlc3M7Cisg fQorIAorKyN1bmRlZiBBRVNlbmNyeXB0CisrI3VuZGVmIEFFU2RlY3J5cHQKKysKKysjZGVmaW5l IEFFU2VuY3J5cHQoc3JjLCBkc3QsIGtleSkgQUVTZW5jcnlwdF9jdHgoc3JjLCBkc3QsIGtleSwg ZW5jX2N0eF9vY2JfZGVjKQorKyNkZWZpbmUgQUVTZGVjcnlwdChzcmMsIGRzdCwga2V5KSBBRVNk ZWNyeXB0X2N0eChzcmMsIGRzdCwga2V5LCBkZWNfY3R4X29jYl9kZWMpCisrCisgYm9vbCBDcnlw dFN0YXRlT0NCMjo6b2NiX2RlY3J5cHQoY29uc3QgdW5zaWduZWQgY2hhciAqZW5jcnlwdGVkLCB1 bnNpZ25lZCBjaGFyICpwbGFpbiwgdW5zaWduZWQgaW50IGxlbiwKKyAJCQkJCQkJCSBjb25zdCB1 bnNpZ25lZCBjaGFyICpub25jZSwgdW5zaWduZWQgY2hhciAqdGFnKSB7CisgCWtleWJsb2NrIGNo ZWNrc3VtLCBkZWx0YSwgdG1wLCBwYWQ7CitAQCAtMzkyLDkgKzQwNSw5IEBAIGJvb2wgQ3J5cHRT dGF0ZU9DQjI6Om9jYl9kZWNyeXB0KGNvbnN0IHVuc2lnbmVkIGNoYXIgKmVuY3J5cHRlZCwgdW5z aWduZWQgY2hhciAqCisgCXJldHVybiBzdWNjZXNzOworIH0KKyAKKysjdW5kZWYgQUVTZW5jcnlw dAorKyN1bmRlZiBBRVNkZWNyeXB0CisgI3VuZGVmIEJMT0NLU0laRQorICN1bmRlZiBTSElGVEJJ VFMKKyAjdW5kZWYgU1dBUFBFRAorICN1bmRlZiBISUdIQklUCistI3VuZGVmIEFFU2VuY3J5cHQK Ky0jdW5kZWYgQUVTZGVjcnlwdAorZGlmZiAtLWdpdCBhL3NyYy9jcnlwdG8vQ3J5cHRTdGF0ZU9D QjIuaCBiL3NyYy9jcnlwdG8vQ3J5cHRTdGF0ZU9DQjIuaAoraW5kZXggY2MzZjFjMGJjMy4uMGZk MzAwMGFkZSAxMDA2NDQKKy0tLSBhL3NyYy9jcnlwdG8vQ3J5cHRTdGF0ZU9DQjIuaAorKysrIGIv c3JjL2NyeXB0by9DcnlwdFN0YXRlT0NCMi5oCitAQCAtNDQsOCArNDQsMTAgQEAgY2xhc3MgQ3J5 cHRTdGF0ZU9DQjIgOiBwdWJsaWMgQ3J5cHRTdGF0ZSB7CisgCXVuc2lnbmVkIGNoYXIgZGVjcnlw dF9pdltBRVNfQkxPQ0tfU0laRV07CisgCXVuc2lnbmVkIGNoYXIgZGVjcnlwdF9oaXN0b3J5WzB4 MTAwXTsKKyAKKy0JRVZQX0NJUEhFUl9DVFggKmVuY19jdHg7CistCUVWUF9DSVBIRVJfQ1RYICpk ZWNfY3R4OworKwlFVlBfQ0lQSEVSX0NUWCAqZW5jX2N0eF9vY2JfZW5jOworKwlFVlBfQ0lQSEVS X0NUWCAqZGVjX2N0eF9vY2JfZW5jOworKwlFVlBfQ0lQSEVSX0NUWCAqZW5jX2N0eF9vY2JfZGVj OworKwlFVlBfQ0lQSEVSX0NUWCAqZGVjX2N0eF9vY2JfZGVjOworIH07CisgCisgCmRpZmYgLS1n aXQgYS9zcmNwa2dzL211bWJsZS90ZW1wbGF0ZSBiL3NyY3BrZ3MvbXVtYmxlL3RlbXBsYXRlCmlu ZGV4IDJlNmY1MGRhMDE0MC4uYWNiNmFmNDU0ZTBmIDEwMDY0NAotLS0gYS9zcmNwa2dzL211bWJs ZS90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL211bWJsZS90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAK ICMgVGVtcGxhdGUgZmlsZSBmb3IgJ211bWJsZScKIHBrZ25hbWU9bXVtYmxlCiB2ZXJzaW9uPTEu NC4yODcKLXJldmlzaW9uPTEKK3JldmlzaW9uPTIKIGJ1aWxkX3N0eWxlPWNtYWtlCiBtYWtlX2Nt ZD1tYWtlCiBjb25maWd1cmVfYXJncz0iLURvdmVybGF5LXhjb21waWxlPU9GRiAtRGJ1bmRsZWQt b3B1cz1PRkYK --===============7184297099225928513==--