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 26531 invoked from network); 26 Jan 2023 19:06:40 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 26 Jan 2023 19:06:40 -0000 Content-Type: multipart/mixed; boundary="===============4356216716841501088==" MIME-Version: 1.0 Subject: =?utf8?q?Re=3A_=5BPR_PATCH=5D_=5BUpdated=5D_update_openssl_to_3_series?= To: ml@inbox.vuxu.org From: dkwo Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Thu, 26 Jan 2023 20:06:39 +0100 List-Id: Message-ID: <20230126190639.7lWbH9WbGYwCE3tW0HMpksEywpQFqV1iTkf9sD3XgHM@z> GitHub notification mails are now in MIME to allow UTF8. --===============4356216716841501088== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgZGt3byBhZ2FpbnN0IG1hc3RlciBv biB0aGUgdm9pZC1wYWNrYWdlcyByZXBvc2l0b3J5CgpodHRwczovL2dpdGh1Yi5jb20vZGt3by92 b2lkLXBhY2thZ2VzIG9wZW5zc2wzCmh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQt cGFja2FnZXMvcHVsbC8zNzY4MQoKdXBkYXRlIG9wZW5zc2wgdG8gMyBzZXJpZXMKLSBCdWlsZCBm YWlsdXJlcyBvbiBgeDg2XzY0LW11c2xgOg0KLSBbeF0gZ3NvYXAsIHZhbml0eWdlbiwgcGpwcm9q ZWN0LCBzdHVubmVsLCB0aHJpZnQsIHRjcGZsb3c6IG1pc3NpbmcgZGlzdGZpbGVzIC8gd3Jvbmcg c2hhLXN1bXMNCi0gW3hdIHNic2lnbnRvb2w6IGFkZCBwYXRjaA0KLSBbIF0gY2JhbmcsIHBvY28s IHBpZGdpbi1zaXBlLCBub2RlanMtbHRzLCBrb3JlLCB4cm9vdGQsIG5ldHBncCwgb3BlbnNjLCB2 cG4td3MsIGVpZC1tdywgYm9pbmMsIHBocCwgcGhwOC4wLCBnaXQtY3J5cHQsIHVtdXJtdXIsIG56 YmdldCwgbnJwZSwgcGtjczExLWhlbHBlciwgbXVtYmxlLCBzcXVpZCwgeGNhOiBkZXByZWNhdGVk IHNvbWV0aGluZw0KLSBbIF0gbWFpcml4LCBydXN0LXNjY2FjaGUsIGZyYWN0YWwsIHRlbGVncmFt LWRlc2t0b3AsIHJhYmJpdG1xLWMsIGdpdC1icndzLCByb29zdGVyLCBjYXJnby1hb2MsIHNwb3Rp ZnktdHVpLCBnaXQtc2VyaWVzLCB0YXJwYXVsaW4sIHRhaXNlaSwgcnVzdC1jYXJnby1hdWRpdCwg c2lnbmFsLWJhY2t1cC1kZWNvZGUsIGNhcmdvLW91dGRhdGVkLCBydXN0dXA6IGNhcmdvIGVycm9y cw0KLSBbIF0gbHVhNTQtbHVhc2VjLCB5dWJpa28tcGl2LXRvb2wsIGdjc2YsIGlwbWl1dGlsLCBy bmctdG9vbHM6IGVycm9ycw0KLSB4YnBzOiBhZGRlZCB0ZW1wb3JhcnkgZml4dHVyZSBzdWdnZXN0 ZWQgYnkgQER1bmNhZW4sIHN0aWxsIGJyb2tlbg0KLSByYWNrZXQ6IGRlcGVuZCBvbiBsaWJzc2wz LjANCi0gTm90ZSB0byBzZWxmOiB1c2UgYHhyZXZidW1wICJidW1wIGZvciBvcGVuc3NsLTMuMCIg JCh4YnBzLXF1ZXJ5IC1ScyBsaWJzc2wuc28gLXAgc2hsaWItcmVxdWlyZXMgfCBjdXQgLWQgJzon IC1mIDEgfCB4YXJncyAtbjEgeGJwcy11aGVscGVyIGdldHBrZ25hbWUpYCBhbmQgc2FtZSBmb3Ig YGxpYmNyeXB0b2AsIG9yIHVzZSBgc29ydCAtdSBmaWxlMSBmaWxlMmAuDQpbY2kgc2tpcF0KCkEg cGF0Y2ggZmlsZSBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQtcGFja2Fn ZXMvcHVsbC8zNzY4MS5wYXRjaCBpcyBhdHRhY2hlZA== --===============4356216716841501088== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-openssl3-37681.patch" RnJvbSAzNjY1MzJmOWFkOTJjYjg2YTFiMDE3MjNhMDFlMjkxNTU2NjJkN2YxIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBka3dvIDxuaWNvbG9waWF6emFsdW5nYUBnbWFpbC5jb20+CkRh dGU6IFNhdCwgMjUgSnVuIDIwMjIgMTg6MjI6MjggKzAyMDAKU3ViamVjdDogW1BBVENIIDEvOV0g b3BlbnNzbDogdXBkYXRlIHRvIDMuMC43CgotLS0KIGNvbW1vbi9zaGxpYnMgICAgICAgICAgICAg ICAgICAgICAgICAgICB8ICA0ICstCiBzcmNwa2dzL3tsaWJjcnlwdG8xLjEgPT4gbGliY3J5cHRv My4wfSAgfCAgMAogc3JjcGtncy97bGlic3NsMS4xID0+IGxpYnNzbDMuMH0gICAgICAgIHwgIDAK IHNyY3BrZ3Mvb3BlbnNzbC9wYXRjaGVzL3BwYy1hdXh2LnBhdGNoICB8IDI1IC0tLS0tLS0KIHNy Y3BrZ3Mvb3BlbnNzbC9wYXRjaGVzL3BwYzY0LnBhdGNoICAgICB8IDk2IC0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0KIHNyY3BrZ3Mvb3BlbnNzbC9wYXRjaGVzL3h4eC1wcGNsZS5wYXRjaCB8IDUz IC0tLS0tLS0tLS0tLS0tCiBzcmNwa2dzL29wZW5zc2wvdGVtcGxhdGUgICAgICAgICAgICAgICAg fCAyMCArKystLS0KIDcgZmlsZXMgY2hhbmdlZCwgMTQgaW5zZXJ0aW9ucygrKSwgMTg0IGRlbGV0 aW9ucygtKQogcmVuYW1lIHNyY3BrZ3Mve2xpYmNyeXB0bzEuMSA9PiBsaWJjcnlwdG8zLjB9ICgx MDAlKQogcmVuYW1lIHNyY3BrZ3Mve2xpYnNzbDEuMSA9PiBsaWJzc2wzLjB9ICgxMDAlKQogZGVs ZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3Mvb3BlbnNzbC9wYXRjaGVzL3BwYy1hdXh2LnBhdGNoCiBk ZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9vcGVuc3NsL3BhdGNoZXMvcHBjNjQucGF0Y2gKIGRl bGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL29wZW5zc2wvcGF0Y2hlcy94eHgtcHBjbGUucGF0Y2gK CmRpZmYgLS1naXQgYS9jb21tb24vc2hsaWJzIGIvY29tbW9uL3NobGlicwppbmRleCBmNjMyY2U5 Yzc2ZGEuLmE5NjVlMTNkZjJkNCAxMDA2NDQKLS0tIGEvY29tbW9uL3NobGlicworKysgYi9jb21t b24vc2hsaWJzCkBAIC0xNzY4LDggKzE3NjgsOCBAQCBsaWJpZDMuc28gaWQzbGliLTMuOC4zXzcK IGxpYmlkMy0zLjguc28uMyBpZDNsaWItMy44LjNfNwogbGliZ2lyYXJhLWd0azMuc28uMyBnaXJh cmEtMC4yLjhfMQogbGlianEuc28uMSBqcS0xLjZfMgotbGliY3J5cHRvLnNvLjEuMSBsaWJjcnlw dG8xLjEtMS4xLjFmXzEKLWxpYnNzbC5zby4xLjEgbGlic3NsMS4xLTEuMS4xZl8xCitsaWJjcnlw dG8uc28uMyBsaWJjcnlwdG8zLjAtMy4wLjdfMQorbGlic3NsLnNvLjMgbGlic3NsMy4wLTMuMC43 XzEKIGxpYnZhbXAtaG9zdHNkay5zby4zIGxpYnZhbXAtcGx1Z2luLXNkay0yLjJfNgogbGlicG9y dG1pZGkuc28gcG9ydG1pZGktMjE3XzEKIGxpYldpbGRNaWRpLnNvLjIgbGlid2lsZG1pZGktMC40 LjNfMQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9saWJjcnlwdG8xLjEgYi9zcmNwa2dzL2xpYmNyeXB0 bzMuMApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gc3JjcGtncy9saWJjcnlwdG8x LjEKcmVuYW1lIHRvIHNyY3BrZ3MvbGliY3J5cHRvMy4wCmRpZmYgLS1naXQgYS9zcmNwa2dzL2xp YnNzbDEuMSBiL3NyY3BrZ3MvbGlic3NsMy4wCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUg ZnJvbSBzcmNwa2dzL2xpYnNzbDEuMQpyZW5hbWUgdG8gc3JjcGtncy9saWJzc2wzLjAKZGlmZiAt LWdpdCBhL3NyY3BrZ3Mvb3BlbnNzbC9wYXRjaGVzL3BwYy1hdXh2LnBhdGNoIGIvc3JjcGtncy9v cGVuc3NsL3BhdGNoZXMvcHBjLWF1eHYucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDI3NGFjMmQ1NTk5OC4uMDAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3Mvb3BlbnNzbC9wYXRj aGVzL3BwYy1hdXh2LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjUgKzAsMCBAQAotZGlmZiAt LWdpdCBhL2NyeXB0by9wcGNjYXAuYyBiL2NyeXB0by9wcGNjYXAuYwotaW5kZXggZWVhYTQ3Yy4u ZTZlZWIxNCAxMDA2NDQKLS0tLSBhL2NyeXB0by9wcGNjYXAuYwotKysrIGIvY3J5cHRvL3BwY2Nh cC5jCi1AQCAtMjA3LDE3ICsyMDcsOSBAQCBzaXplX3QgT1BFTlNTTF9pbnN0cnVtZW50X2J1czIo dW5zaWduZWQgaW50ICpvdXQsIHNpemVfdCBjbnQsIHNpemVfdCBtYXgpCi0gICAgICAgICByZXR1 cm4gMDsKLSB9Ci0gCi0tI2lmIGRlZmluZWQoX19HTElCQ19fKSAmJiBkZWZpbmVkKF9fR0xJQkNf UFJFUkVRKQotLSMgaWYgX19HTElCQ19QUkVSRVEoMiwgMTYpCi0tIyAgaW5jbHVkZSA8c3lzL2F1 eHYuaD4KLS0jICBkZWZpbmUgT1NTTF9JTVBMRU1FTlRfR0VUQVVYVkFMCi0tIyBlbGlmIGRlZmlu ZWQoX19BTkRST0lEX0FQSV9fKQotLS8qIHNlZSBodHRwczovL2RldmVsb3Blci5hbmRyb2lkLmdv b2dsZS5jbi9uZGsvZ3VpZGVzL2NwdS1mZWF0dXJlcyAqLwotLSMgIGlmIF9fQU5EUk9JRF9BUElf XyA+PSAxOAotLSMgICBpbmNsdWRlIDxzeXMvYXV4di5oPgotLSMgICBkZWZpbmUgT1NTTF9JTVBM RU1FTlRfR0VUQVVYVkFMCi0tIyAgZW5kaWYKLS0jIGVuZGlmCi0rI2lmIGRlZmluZWQoX19saW51 eF9fKQotKyMgaW5jbHVkZSA8c3lzL2F1eHYuaD4KLSsjIGRlZmluZSBPU1NMX0lNUExFTUVOVF9H RVRBVVhWQUwKLSAjZW5kaWYKLSAKLSAjaWYgZGVmaW5lZChfX0ZyZWVCU0RfXykKZGlmZiAtLWdp dCBhL3NyY3BrZ3Mvb3BlbnNzbC9wYXRjaGVzL3BwYzY0LnBhdGNoIGIvc3JjcGtncy9vcGVuc3Ns L3BhdGNoZXMvcHBjNjQucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM3NWNl ZWRiYTJjMC4uMDAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3Mvb3BlbnNzbC9wYXRjaGVzL3BwYzY0 LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsOTYgKzAsMCBAQAotRnJvbSAzNGFiMTNiN2Q4ZTNl NzIzYWRiNjBiZTgxNDJlMzhiN2M5Y2QzODJhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJv bTogQW5keSBQb2x5YWtvdiA8YXBwcm9Ab3BlbnNzbC5vcmc+Ci1EYXRlOiBTdW4sIDUgTWF5IDIw MTkgMTg6MjU6NTAgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSF0gY3J5cHRvL3Blcmxhc20vcHBjLXhs YXRlLnBsOiBhZGQgbGludXg2NHYyIGZsYXZvdXIKLU1JTUUtVmVyc2lvbjogMS4wCi1Db250ZW50 LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKLUNvbnRlbnQtVHJhbnNmZXItRW5jb2Rp bmc6IDhiaXQKLQotVGhpcyBpcyBhIGJpZyBlbmRpYW4gRUxGdjIgY29uZmlndXJhdGlvbi4gRUxG djIgd2FzIGFscmVhZHkgYmVpbmcKLXVzZWQgZm9yIGxpdHRsZSBlbmRpYW4sIGFuZCBiaWcgZW5k aWFuIHdhcyB0cmFkaXRpb25hbGx5IEVMRnYxCi1idXQgdGhlcmUgYXJlIHByYWN0aWNhbCBjb25m aWd1cmF0aW9ucyB0aGF0IHVzZSBFTEZ2MiB3aXRoIGJpZwotZW5kaWFuIG5vd2FkYXlzIChBZMOp bGllIExpbnV4LCBWb2lkIExpbnV4LCBwb3NzaWJseSBHZW50b28sIGV0Yy4pCi0KLVJldmlld2Vk LWJ5OiBQYXVsIERhbGUgPHBhdWwuZGFsZUBvcmFjbGUuY29tPgotUmV2aWV3ZWQtYnk6IFJpY2hh cmQgTGV2aXR0ZSA8bGV2aXR0ZUBvcGVuc3NsLm9yZz4KLShNZXJnZWQgZnJvbSBodHRwczovL2dp dGh1Yi5jb20vb3BlbnNzbC9vcGVuc3NsL3B1bGwvODg4MykKLS0tLQotIGNyeXB0by9wZXJsYXNt L3BwYy14bGF0ZS5wbCB8IDggKysrKy0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25z KCspLCA0IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvY3J5cHRvL3Blcmxhc20vcHBjLXhs YXRlLnBsIGIvY3J5cHRvL3Blcmxhc20vcHBjLXhsYXRlLnBsCi1pbmRleCBlNTJmMmY2ZWE2Mi4u NWZjZDA1MjZkZmYgMTAwNzU1Ci0tLS0gYS9jcnlwdG8vcGVybGFzbS9wcGMteGxhdGUucGwKLSsr KyBiL2NyeXB0by9wZXJsYXNtL3BwYy14bGF0ZS5wbAotQEAgLTQ5LDcgKzQ5LDcgQEAKLSAJL29z eC8JCSYmIGRvIHsgJG5hbWUgPSAiXyRuYW1lIjsKLSAJCQkJbGFzdDsKLSAJCQkgICAgICB9Owot LQkvbGludXguKigzMnw2NGxlKS8KLSsJL2xpbnV4LiooMzJ8NjQobGV8djIpKS8KLSAJCQkmJiBk byB7CSRyZXQgLj0gIi5nbG9ibAkkbmFtZSI7Ci0gCQkJCWlmICghJCR0eXBlKSB7Ci0gCQkJCSAg ICAkcmV0IC49ICJcbi50eXBlCSRuYW1lLFxAZnVuY3Rpb24iOwotQEAgLTgwLDcgKzgwLDcgQEAK LSB9OwotIG15ICR0ZXh0ID0gc3ViIHsKLSAgICAgbXkgJHJldCA9ICgkZmxhdm91ciA9fiAvYWl4 LykgPyAiLmNzZWN0XHQudGV4dFtQUl0sNyIgOiAiLnRleHQiOwotLSAgICAkcmV0ID0gIi5hYml2 ZXJzaW9uCTJcbiIuJHJldAlpZiAoJGZsYXZvdXIgPX4gL2xpbnV4Lio2NGxlLyk7Ci0rICAgICRy ZXQgPSAiLmFiaXZlcnNpb24JMlxuIi4kcmV0CWlmICgkZmxhdm91ciA9fiAvbGludXguKjY0KGxl fHYyKS8pOwotICAgICAkcmV0OwotIH07Ci0gbXkgJG1hY2hpbmUgPSBzdWIgewotQEAgLTE4Niw3 ICsxODYsNyBAQAotIAotICMgU29tZSBBQklzIHNwZWNpZnkgdnJzYXZlLCBzcGVjaWFsLXB1cnBv c2UgcmVnaXN0ZXIgIzI1NiwgYXMgcmVzZXJ2ZWQKLSAjIGZvciBzeXN0ZW0gdXNlLgotLW15ICRu b192cnNhdmUgPSAoJGZsYXZvdXIgPX4gL2FpeHxsaW51eDY0bGUvKTsKLStteSAkbm9fdnJzYXZl ID0gKCRmbGF2b3VyID1+IC9haXh8bGludXg2NChsZXx2MikvKTsKLSBteSAkbXRzcHIgPSBzdWIg ewotICAgICBteSAoJGYsJGlkeCwkcmEpID0gQF87Ci0gICAgIGlmICgkaWR4ID09IDI1NiAmJiAk bm9fdnJzYXZlKSB7Ci1AQCAtMzE4LDcgKzMxOCw3IEBAIHN1YiB2Zm91ciB7Ci0gCWlmICgkbGFi ZWwpIHsKLSAJICAgIG15ICR4bGF0ZWQgPSAoJEdMT0JBTFN7JGxhYmVsfSBvciAkbGFiZWwpOwot IAkgICAgcHJpbnQgIiR4bGF0ZWQ6IjsKLS0JICAgIGlmICgkZmxhdm91ciA9fiAvbGludXguKjY0 bGUvKSB7Ci0rCSAgICBpZiAoJGZsYXZvdXIgPX4gL2xpbnV4Lio2NChsZXx2MikvKSB7Ci0gCQlp ZiAoJFRZUEVTeyRsYWJlbH0gPX4gL2Z1bmN0aW9uLykgewotIAkJICAgIHByaW50ZiAiXG4ubG9j YWxlbnRyeQklcywwXG4iLCR4bGF0ZWQ7Ci0gCQl9Ci0KLUZyb20gMDk4NDA0MTI4MzgzZGVkODdi YTM5MGRkNzRlY2Q5ZTJmZmE2ZjUzMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEFu ZHkgUG9seWFrb3YgPGFwcHJvQG9wZW5zc2wub3JnPgotRGF0ZTogU3VuLCA1IE1heSAyMDE5IDE4 OjMwOjU1ICswMjAwCi1TdWJqZWN0OiBbUEFUQ0hdIENvbmZpZ3VyZTogdXNlIEVMRnYyIEFCSSBv biBzb21lIHBwYzY0IGJpZyBlbmRpYW4gc3lzdGVtcwotCi1JZiBfQ0FMTF9FTEYgaXMgZGVmaW5l ZCB0byBiZSAyLCBpdCdzIGFuIEVMRnYyIHN5c3RlbS4KLUNvbmRpdGlvbmFsbHkgc3dpdGNoIHRv IHRoZSB2MiBwZXJsYXNtIHNjaGVtZS4KLQotUmV2aWV3ZWQtYnk6IFBhdWwgRGFsZSA8cGF1bC5k YWxlQG9yYWNsZS5jb20+Ci1SZXZpZXdlZC1ieTogUmljaGFyZCBMZXZpdHRlIDxsZXZpdHRlQG9w ZW5zc2wub3JnPgotKE1lcmdlZCBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuc3NsL29wZW5z c2wvcHVsbC84ODgzKQotLS0tCi0gQ29uZmlndXJlIHwgMTAgKysrKysrKy0tLQotIDEgZmlsZSBj aGFuZ2VkLCA3IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9D b25maWd1cmUgYi9Db25maWd1cmUKLWluZGV4IDIyMDgyZGViNGM3Li5lMzAzZDk4ZGViMyAxMDA3 NTUKLS0tLSBhL0NvbmZpZ3VyZQotKysrIGIvQ29uZmlndXJlCi1AQCAtMTQwMiw4ICsxNDAyLDE1 IEBACi0gbXkgJXByZWRlZmluZWRfQyA9IGNvbXBpbGVyX3ByZWRlZmluZWQoJGNvbmZpZ3tDUk9T U19DT01QSUxFfS4kY29uZmlne0NDfSk7Ci0gbXkgJXByZWRlZmluZWRfQ1hYID0gJGNvbmZpZ3tD WFh9Ci0gICAgID8gY29tcGlsZXJfcHJlZGVmaW5lZCgkY29uZmlne0NST1NTX0NPTVBJTEV9LiRj b25maWd7Q1hYfSkKLSAgICAgOiAoKTsKLSAKLSt1bmxlc3MgKCRkaXNhYmxlZHthc219KSB7Ci0r ICAgICMgYmlnIGVuZGlhbiBzeXN0ZW1zIGNhbiB1c2UgRUxGdjIgQUJJCi0rICAgIGlmICgkdGFy Z2V0IGVxICJsaW51eC1wcGM2NCIpIHsKLSsgICAgICAgICR0YXJnZXR7cGVybGFzbV9zY2hlbWV9 ID0gImxpbnV4NjR2MiIgaWYgKCRwcmVkZWZpbmVkX0N7X0NBTExfRUxGfSA9PSAyKTsKLSsgICAg fQotK30KLSsKLSAjIENoZWNrIGZvciBtYWtlZGVwZW5kIGNhcGFiaWxpdGllcy4KLSBpZiAoISRk aXNhYmxlZHttYWtlZGVwZW5kfSkgewotICAgICBpZiAoJGNvbmZpZ3t0YXJnZXR9ID1+IC9eKFZD fHZtcyktLykgewpkaWZmIC0tZ2l0IGEvc3JjcGtncy9vcGVuc3NsL3BhdGNoZXMveHh4LXBwY2xl LnBhdGNoIGIvc3JjcGtncy9vcGVuc3NsL3BhdGNoZXMveHh4LXBwY2xlLnBhdGNoCmRlbGV0ZWQg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyNDk4YWY5Njg4OTkuLjAwMDAwMDAwMDAwMAotLS0gYS9z cmNwa2dzL29wZW5zc2wvcGF0Y2hlcy94eHgtcHBjbGUucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAt MSw1MyArMCwwIEBACi1jb21taXQgNTZlMDc4NTZhN2E5ZjdjZTM1ODJiOGNmMzg0M2YyNTI2OTE0 NzVhNgotQXV0aG9yOiBxNjYgPGRhbmllbEBvY3RhZm9yZ2Uub3JnPgotRGF0ZTogICBGcmkgTWFy IDUgMTg6MzY6MDEgMjAyMSArMDEwMAotCi0gICAgYWRkIHBwY2xlIHN1cHBvcnQKLQotZGlmZiAt LWdpdCBDb25maWd1cmF0aW9ucy8xMC1tYWluLmNvbmYgQ29uZmlndXJhdGlvbnMvMTAtbWFpbi5j b25mCi1pbmRleCA4ZGMzZTg1Li4xOGYxMGM5IDEwMDY0NAotLS0tIGEvQ29uZmlndXJhdGlvbnMv MTAtbWFpbi5jb25mCi0rKysgYi9Db25maWd1cmF0aW9ucy8xMC1tYWluLmNvbmYKLUBAIC02NjUs NiArNjY1LDExIEBAIG15ICV0YXJnZXRzID0gKAotICAgICAgICAgcGVybGFzbV9zY2hlbWUgICA9 PiAibGludXgzMiIsCi0gICAgICAgICBsaWJfY3BwZmxhZ3MgICAgID0+IGFkZCgiLURCX0VORElB TiIpLAotICAgICB9LAotKyAgICAibGludXgtcHBjbGUiID0+IHsKLSsgICAgICAgIGluaGVyaXRf ZnJvbSAgICAgPT4gWyAibGludXgtZ2VuZXJpYzMyIiwgYXNtKCJwcGMzMl9hc20iKSBdLAotKyAg ICAgICAgcGVybGFzbV9zY2hlbWUgICA9PiAibGludXgzMmxlIiwKLSsgICAgICAgIGxpYl9jcHBm bGFncyAgICAgPT4gYWRkKCItRExfRU5ESUFOIiksCi0rICAgIH0sCi0gICAgICJsaW51eC1wcGM2 NCIgPT4gewotICAgICAgICAgaW5oZXJpdF9mcm9tICAgICA9PiBbICJsaW51eC1nZW5lcmljNjQi LCBhc20oInBwYzY0X2FzbSIpIF0sCi0gICAgICAgICBjZmxhZ3MgICAgICAgICAgID0+IGFkZCgi LW02NCIpLAotZGlmZiAtLWdpdCBjb25maWcgY29uZmlnCi1pbmRleCAyNjIyNWNhLi42YTFlODMw IDEwMDc1NQotLS0tIGEvY29uZmlnCi0rKysgYi9jb25maWcKLUBAIC01NDMsNiArNTQzLDcgQEAg Y2FzZSAiJEdVRVNTT1MiIGluCi0gCWZpCi0gCTs7Ci0gICBwcGM2NGxlLSotbGludXgyKSBPVVQ9 ImxpbnV4LXBwYzY0bGUiIDs7Ci0rICBwcGNsZS0qLWxpbnV4MikgT1VUPSJsaW51eC1wcGNsZSIg OzsKLSAgIHBwYy0qLWxpbnV4MikgT1VUPSJsaW51eC1wcGMiIDs7Ci0gICBtaXBzNjQqLSotbGlu dXgyKQotIAllY2hvICJXQVJOSU5HISBJZiB5b3Ugd2lzaCB0byBidWlsZCA2NC1iaXQgbGlicmFy eSwgdGhlbiB5b3UgaGF2ZSB0byIKLWRpZmYgLS1naXQgY3J5cHRvL3BvbHkxMzA1L2FzbS9wb2x5 MTMwNS1wcGMucGwgY3J5cHRvL3BvbHkxMzA1L2FzbS9wb2x5MTMwNS1wcGMucGwKLWluZGV4IGU1 ZDY5MzMuLjMyODNmNmIgMTAwNzU1Ci0tLS0gYS9jcnlwdG8vcG9seTEzMDUvYXNtL3BvbHkxMzA1 LXBwYy5wbAotKysrIGIvY3J5cHRvL3BvbHkxMzA1L2FzbS9wb2x5MTMwNS1wcGMucGwKLUBAIC0z MTQsMTAgKzMxNCwxMCBAQCAkY29kZS49PDxfX187Ci0gCWJlcS0JTG5vX2tleQotIF9fXwotICRj b2RlLj08PF9fXwlpZiAoJExJVFRMRV9FTkRJQU4pOwotLQlsdwkkaDAsMCgkaW5wKQkJIyBsb2Fk IGtleSBtYXRlcmlhbAotLQlsdwkkaDEsNCgkaW5wKQotLQlsdwkkaDIsOCgkaW5wKQotLQlsdwkk aDMsMTIoJGlucCkKLSsJbHd6CSRoMCwwKCRpbnApCQkjIGxvYWQga2V5IG1hdGVyaWFsCi0rCWx3 egkkaDEsNCgkaW5wKQotKwlsd3oJJGgyLDgoJGlucCkKLSsJbHd6CSRoMywxMigkaW5wKQotIF9f XwotICRjb2RlLj08PF9fXwlpZiAoISRMSVRUTEVfRU5ESUFOKTsKLSAJbGkJJGgxLDQKZGlmZiAt LWdpdCBhL3NyY3BrZ3Mvb3BlbnNzbC90ZW1wbGF0ZSBiL3NyY3BrZ3Mvb3BlbnNzbC90ZW1wbGF0 ZQppbmRleCAxNDYxZmZkMmY3YTIuLjJhOWU5NGM1ZjgyNiAxMDA2NDQKLS0tIGEvc3JjcGtncy9v cGVuc3NsL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3Mvb3BlbnNzbC90ZW1wbGF0ZQpAQCAtMSw2ICsx LDYgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ29wZW5zc2wnCiBwa2duYW1lPW9wZW5zc2wKLXZl cnNpb249MS4xLjFzCit2ZXJzaW9uPTMuMC43CiByZXZpc2lvbj0xCiBib290c3RyYXA9eWVzCiBi dWlsZF9zdHlsZT1jb25maWd1cmUKQEAgLTE0LDEwICsxNCwxMCBAQCBtYWtlX2NoZWNrX3Rhcmdl dD10ZXN0CiBtYWtlX2luc3RhbGxfYXJncz0iTUFOU1VGRklYPXNzbCIKIHNob3J0X2Rlc2M9IlRv b2xraXQgZm9yIFNlY3VyZSBTb2NrZXRzIExheWVyIGFuZCBUcmFuc3BvcnQgTGF5ZXIgU2VjdXJp dHkiCiBtYWludGFpbmVyPSJKb2huIDxtZUBqb2hubnluYXRvci5kZXY+IgotbGljZW5zZT0iT3Bl blNTTCIKK2xpY2Vuc2U9IkFwYWNoZS0yLjAiCiBob21lcGFnZT0iaHR0cHM6Ly93d3cub3BlbnNz bC5vcmciCiBkaXN0ZmlsZXM9Imh0dHBzOi8vd3d3Lm9wZW5zc2wub3JnL3NvdXJjZS9vcGVuc3Ns LSR7dmVyc2lvbn0udGFyLmd6IgotY2hlY2tzdW09YzVhYzAxZTc2MGVlNmZmMGRhYjYxZDZiMmJi ZDMwMTQ2NzI0ZDA2M2ViMzIyMTgwYzZmMThhNmY3NGU0YjZhYQorY2hlY2tzdW09ODMwNDlkMDQy YTI2MGU2OTZmNjI0MDZhYzVjMDhiZjcwNmZkODQzODNmOTQ1Y2YyMWJkNjFlOWVkOTVjMzk2ZQog Y29uZl9maWxlcz0iL2V0Yy9zc2wvb3BlbnNzbC5jbmYiCiByZXBsYWNlcz0ibGlicmVzc2w+PTAi CiAKQEAgLTI4LDcgKzI4LDExIEBAIGlmIFsgIiRDSFJPT1RfUkVBRFkiIF07IHRoZW4KIAlidWls ZF9vcHRpb25zX2RlZmF1bHQ9ImFzbSIKIGVsc2UKIAkjIG9wZW5zc2wtY19yZWhhc2ggZGVwZW5k cyBvbiBwZXJsLCBpZ25vcmUgb24gYm9vdHN0cmFwCi0Jc3VicGFja2FnZXM9ImxpYmNyeXB0bzEu MSBsaWJzc2wxLjEgb3BlbnNzbC1kZXZlbCIKKwlzdWJwYWNrYWdlcz0ibGliY3J5cHRvMy4wIGxp YnNzbDMuMCBvcGVuc3NsLWRldmVsIgorZmkKKworaWYgWyAiJFhCUFNfVEFSR0VUX05PX0FUT01J QzgiIF07IHRoZW4KKwltYWtlZGVwZW5kcys9IiBsaWJhdG9taWMtZGV2ZWwiCiBmaQogCiBjYXNl ICRYQlBTX1RBUkdFVF9NQUNISU5FIGluCkBAIC02MywxNSArNjcsMTUgQEAgcG9zdF9pbnN0YWxs KCkgewogCWZpCiB9CiAKLWxpYmNyeXB0bzEuMV9wYWNrYWdlKCkgeworbGliY3J5cHRvMy4wX3Bh Y2thZ2UoKSB7CiAJc2hvcnRfZGVzYys9IiAtIGNyeXB0byBsaWJyYXJ5IgogCXBrZ19pbnN0YWxs KCkgewogCQl2bW92ZSAidXNyL2xpYi9saWJjcnlwdG8uc28uKiIKLQkJdm1vdmUgdXNyL2xpYi9l bmdpbmVzLTEuMQorCQl2bW92ZSB1c3IvbGliL2VuZ2luZXMtMwogCX0KIH0KIAotbGlic3NsMS4x X3BhY2thZ2UoKSB7CitsaWJzc2wzLjBfcGFja2FnZSgpIHsKIAlzaG9ydF9kZXNjKz0iIC0gU1NM L1RMUyBsaWJyYXJ5IgogCXBrZ19pbnN0YWxsKCkgewogCQl2bW92ZSAidXNyL2xpYi9saWJzc2wu c28uKiIKQEAgLTg3LDcgKzkxLDcgQEAgb3BlbnNzbC1jX3JlaGFzaF9wYWNrYWdlKCkgewogfQog CiBvcGVuc3NsLWRldmVsX3BhY2thZ2UoKSB7Ci0JZGVwZW5kcz0iJHtzb3VyY2Vwa2d9Pj0ke3Zl cnNpb259XyR7cmV2aXNpb259IGxpYnNzbDEuMT49JHt2ZXJzaW9ufV8ke3JldmlzaW9ufSBsaWJj cnlwdG8xLjE+PSR7dmVyc2lvbn1fJHtyZXZpc2lvbn0iCisJZGVwZW5kcz0iJHtzb3VyY2Vwa2d9 Pj0ke3ZlcnNpb259XyR7cmV2aXNpb259IGxpYnNzbDMuMD49JHt2ZXJzaW9ufV8ke3JldmlzaW9u fSBsaWJjcnlwdG8zLjA+PSR7dmVyc2lvbn1fJHtyZXZpc2lvbn0iCiAJcmVwbGFjZXM9ImxpYnJl c3NsLWRldmVsPj0wIgogCXNob3J0X2Rlc2MrPSIgLSBkZXZlbG9wbWVudCBmaWxlcyIKIAlwa2df aW5zdGFsbCgpIHsKCkZyb20gMzBhMjZiNjUzZTBiMTI4NDk4OGM2MjczMjI1MWNkMTAwZWNkZTUy MCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogZGt3byA8bmljb2xvcGlhenphbHVuZ2FA Z21haWwuY29tPgpEYXRlOiBTYXQsIDI1IEp1biAyMDIyIDE4OjMxOjA5ICswMjAwClN1YmplY3Q6 IFtQQVRDSCAyLzldIHJhY2tldDogZGVwZW5kIG9uIGxpYnNzbDMuMAoKLS0tCiBzcmNwa2dzL3Jh Y2tldC90ZW1wbGF0ZSB8IDQgKystLQogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwg MiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3JhY2tldC90ZW1wbGF0ZSBiL3Ny Y3BrZ3MvcmFja2V0L3RlbXBsYXRlCmluZGV4IDBmMjJkNmMwNDY0OS4uYThiZDVjYjE3NzYxIDEw MDY0NAotLS0gYS9zcmNwa2dzL3JhY2tldC90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3JhY2tldC90 ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3JhY2tldCcKIHBr Z25hbWU9cmFja2V0CiB2ZXJzaW9uPTguNwotcmV2aXNpb249MQorcmV2aXNpb249MgogYXJjaHM9 ImFhcmNoNjQqIGFybXY2KiBhcm12NyogaTY4NiogeDg2XzY0KiIKIGJ1aWxkX3dya3NyYz1zcmMK IGJ1aWxkX3N0eWxlPWdudS1jb25maWd1cmUKQEAgLTksNyArOSw3IEBAIGNvbmZpZ3VyZV9hcmdz PSItLWVuYWJsZS11c2VwcmVmaXggLS1lbmFibGUtY3Vyc2VzIgogbWFrZV9idWlsZF9hcmdzPSJD Q19GT1JfQlVJTEQ9Y2MiCiBob3N0bWFrZWRlcGVuZHM9ImxpYmVyYXRpb24tZm9udHMtdHRmIgog bWFrZWRlcGVuZHM9Imd0ayszLWRldmVsIGxpYmx6NC1kZXZlbCBuY3Vyc2VzLWRldmVsIHNxbGl0 ZS1kZXZlbCB6bGliLWRldmVsIgotZGVwZW5kcz0iZ3RrKzMgbGlic3NsMS4xIgorZGVwZW5kcz0i Z3RrKzMgbGlic3NsMy4wIgogc2hvcnRfZGVzYz0iTXVsdGktcGFyYWRpZ20gcHJvZ3JhbW1pbmcg bGFuZ3VhZ2UgaW4gdGhlIExpc3AtU2NoZW1lIGZhbWlseSIKIG1haW50YWluZXI9IkFuZHJlYSBC cmFuY2FsZW9uaSA8YWJjQHBvbXBlbC5tZT4iCiBsaWNlbnNlPSJMR1BMLTMuMC1vbmx5LCBNSVQi CgpGcm9tIDIyYjQ2NTM4MDZlZDdjN2M5NTJmOGZkNjkwYjlmZjQ5ZGIzY2E2YWUgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCkZyb206IGRrd28gPG5pY29sb3BpYXp6YWx1bmdhQGdtYWlsLmNvbT4K RGF0ZTogU2F0LCAyNSBKdW4gMjAyMiAxODozMzo1NyArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMy85 XSB4YnBzOiBhZGQgcGF0Y2ggZm9yIG9wZW5zc2wsIENGTEFHCgotLS0KIHNyY3BrZ3MveGJwcy9w YXRjaGVzL29wZW5zc2wucGF0Y2ggfCAyMyArKysrKysrKysrKysrKysrKysrKysrKwogc3JjcGtn cy94YnBzL3RlbXBsYXRlICAgICAgICAgICAgICB8ICAyICsrCiAyIGZpbGVzIGNoYW5nZWQsIDI1 IGluc2VydGlvbnMoKykKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3hicHMvcGF0Y2hlcy9v cGVuc3NsLnBhdGNoCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy94YnBzL3BhdGNoZXMvb3BlbnNzbC5w YXRjaCBiL3NyY3BrZ3MveGJwcy9wYXRjaGVzL29wZW5zc2wucGF0Y2gKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5jYTcyNzQ1NDI0MjIKLS0tIC9kZXYvbnVsbAorKysg Yi9zcmNwa2dzL3hicHMvcGF0Y2hlcy9vcGVuc3NsLnBhdGNoCkBAIC0wLDAgKzEsMjMgQEAKK0Zy b20gZGIxNzY2OTg2YzQzODllYjdlMTdjMGUwMDc2OTcxYjcxMTYxN2VmOSBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDEKK0Zyb206IEp1YW4gUlAgPHh0cmFlbWVAZ21haWwuY29tPgorRGF0ZTogVGh1 LCAxNiBBcHIgMjAyMCAxNDo1NzoxOCArMDIwMAorU3ViamVjdDogW1BBVENIXSBjb25maWd1cmU6 IGFjY2VwdCBhbnkgb3BlbnNzbCB2ZXJzaW9uLgorCistLS0KKyBjb25maWd1cmUgfCAyICstCisg MSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1n aXQgYS9jb25maWd1cmUgYi9jb25maWd1cmUKK2luZGV4IGRhOGFlNzVmLi4zODNiYzkyNyAxMDA3 NTUKKy0tLSBhL2NvbmZpZ3VyZQorKysrIGIvY29uZmlndXJlCitAQCAtNzA0LDcgKzcwNCw3IEBA IGZpCisgIyBsaWJzc2wgd2l0aCBwa2ctY29uZmlnIHN1cHBvcnQgaXMgcmVxdWlyZWQuCisgIwor IHByaW50ZiAiQ2hlY2tpbmcgZm9yIGxpYnNzbCB2aWEgcGtnLWNvbmZpZyAuLi4gIgorLWlmIHBr Zy1jb25maWcgLS1leGlzdHMgJ2xpYnNzbCA8IDEuMicgJiYgISBwa2ctY29uZmlnIC0tZXhpc3Rz IGxpYnRscyA7IHRoZW4KKytpZiBwa2ctY29uZmlnIC0tZXhpc3RzICdsaWJzc2wnICYmICEgcGtn LWNvbmZpZyAtLWV4aXN0cyBsaWJ0bHMgOyB0aGVuCisgCWVjaG8gImZvdW5kIE9wZW5TU0wgdmVy c2lvbiAkKHBrZy1jb25maWcgLS1tb2R2ZXJzaW9uIGxpYnNzbCkuIgorIGVsaWYgcGtnLWNvbmZp ZyAtLWV4aXN0cyBsaWJzc2wgbGlidGxzOyB0aGVuCisgCWVjaG8gImZvdW5kIExpYnJlU1NMIHZl cnNpb24gJChwa2ctY29uZmlnIC0tbW9kdmVyc2lvbiBsaWJzc2wpLiIKKwpkaWZmIC0tZ2l0IGEv c3JjcGtncy94YnBzL3RlbXBsYXRlIGIvc3JjcGtncy94YnBzL3RlbXBsYXRlCmluZGV4IDFjOTM3 M2M0OThkYy4uMmE5MzBlNjJlYzI5IDEwMDY0NAotLS0gYS9zcmNwa2dzL3hicHMvdGVtcGxhdGUK KysrIGIvc3JjcGtncy94YnBzL3RlbXBsYXRlCkBAIC0yMCw2ICsyMCw4IEBAIGRlcGVuZHM9ImNh LWNlcnRpZmljYXRlcyB4YnBzLXRyaWdnZXJzIgogbWFrZV9kaXJzPSIvZXRjL3hicHMuZCAwNzU1 IHJvb3Qgcm9vdCIKIAogTERGTEFHUz0iLWxkbCAtcHRocmVhZCIKKyMgb3BlbnNzbDMKK0NGTEFH Uys9Ii1Xbm8tZXJyb3IiCiAKIGlmIFsgIiRDSFJPT1RfUkVBRFkiIF07IHRoZW4KIAltYWtlZGVw ZW5kcys9IiBhdGYtZGV2ZWwiCgpGcm9tIDQ0NWIyNDNiYzUwZjI5YWZlMGI3NjljMjBkNzYzYWRj MzYyODY5MzIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IGRrd28gPG5pY29sb3BpYXp6 YWx1bmdhQGdtYWlsLmNvbT4KRGF0ZTogTW9uLCAyMyBKYW4gMjAyMyAxNzo0NTo1MCAtMDUwMApT dWJqZWN0OiBbUEFUQ0ggNC85XSBzYnNpZ250b29sOiBwYXRjaCBmb3Igb3BlbnNzMywgYWRkIENG TEFHCgotLS0KIHNyY3BrZ3Mvc2JzaWdudG9vbC9wYXRjaGVzL29wZW5zc2wzLnBhdGNoIHwgMzUg KysrKysrKysrKysrKysrKysrKysrKysKIHNyY3BrZ3Mvc2JzaWdudG9vbC90ZW1wbGF0ZSAgICAg ICAgICAgICAgIHwgIDQgKystCiAyIGZpbGVzIGNoYW5nZWQsIDM4IGluc2VydGlvbnMoKyksIDEg ZGVsZXRpb24oLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3Nic2lnbnRvb2wvcGF0Y2hl cy9vcGVuc3NsMy5wYXRjaAoKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mvc2JzaWdudG9vbC9wYXRjaGVz L29wZW5zc2wzLnBhdGNoIGIvc3JjcGtncy9zYnNpZ250b29sL3BhdGNoZXMvb3BlbnNzbDMucGF0 Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5jZDBkMDI1YWRhN2IK LS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3Nic2lnbnRvb2wvcGF0Y2hlcy9vcGVuc3NsMy5w YXRjaApAQCAtMCwwICsxLDM1IEBACitTdWJqZWN0OiBbUEFUQ0hdIEZpeCBvcGVuc3NsLTMuMCBp c3N1ZSBpbnZvbHZpbmcgQVNOMSB4eHhfaXQKK0Zyb206IEplcmVtaSBQaW90cm93c2tpIDxqZXJl bWkucGlvdHJvd3NraUBtaWNyb3NvZnQuY29tPgorT3JpZ2luOiBodHRwczovL2dyb3Vwcy5pby9n L3Nic2lnbnRvb2xzL21lc3NhZ2UvNTQKKworVXNlIEFTTjFfSVRFTV9ycHRyKCkgaW5zdGVhZCBv ZiB0YWtpbmcgdGhlIGFkZHJlc3Mgb2YgSURDX1BFSURfaXQuCisKK29wZW5zc2wtMy4wIGNoYW5n ZWQgdGhlIHR5cGUgb2YgVFlQRV9pdCBmcm9tIGBjb25zdCBBU04xX0lURU0gVFlQRV9pdGAgdG8K K2Bjb25zdCBBU04xX0lURU0gKlRZUEVfaXQodm9pZClgLiBUaGlzIHdhcyBwcmV2aW91c2x5IGhp ZGRlbiBiZWhpbmQKK09QRU5TU0xfRVhQT1JUX1ZBUl9BU19GVU5DVElPTiBidXQgaW4gMy4wIG9u bHkgdGhlIGZ1bmN0aW9uIHZlcnNpb24gaXMKK2F2YWlsYWJsZS4gVGhpcyBjaGFuZ2Ugc2hvdWxk IGhhdmUgYmVlbiB0cmFuc3BhcmVudCB0byB0aGUgYXBwbGljYXRpb24sIGJ1dAorb25seSBpZiB0 aGUgYEFTTjFfSVRFTV9ycHRyKClgIG1hY3JvIGlzIHVzZWQuCisKK1RoaXMgY2hhbmdlIHBhc3Nl cyBgbWFrZSBjaGVja2Agd2l0aCBib3RoIG9wZW5zc2wgMS4xIGFuZCAzLjAuCisKK1NpZ25lZC1v ZmYtYnk6IEplcmVtaSBQaW90cm93c2tpIDxqcGlvdHJvd3NraUBtaWNyb3NvZnQuY29tPgorLS0t Cisgc3JjL2lkYy5jIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBk ZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvc3JjL2lkYy5jIGIvc3JjL2lkYy5jCitpbmRleCA2 ZDg3YmQ0Li4wYTgyMjE4IDEwMDY0NAorLS0tIGEvc3JjL2lkYy5jCisrKysgYi9zcmMvaWRjLmMK K0BAIC0xODksNyArMTg5LDcgQEAgaW50IElEQ19zZXQoUEtDUzcgKnA3LCBQS0NTN19TSUdORVJf SU5GTyAqc2ksIHN0cnVjdCBpbWFnZSAqaW1hZ2UpCisgCisgCWlkYy0+ZGF0YS0+dHlwZSA9IE9C Sl9uaWQyb2JqKHBlaWRfbmlkKTsKKyAJaWRjLT5kYXRhLT52YWx1ZSA9IEFTTjFfVFlQRV9uZXco KTsKKy0JdHlwZV9zZXRfc2VxdWVuY2UoaW1hZ2UsIGlkYy0+ZGF0YS0+dmFsdWUsIHBlaWQsICZJ RENfUEVJRF9pdCk7CisrCXR5cGVfc2V0X3NlcXVlbmNlKGltYWdlLCBpZGMtPmRhdGEtPnZhbHVl LCBwZWlkLCBBU04xX0lURU1fcnB0cihJRENfUEVJRCkpOworIAorICAgICAgICAgaWRjLT5kaWdl c3QtPmFsZy0+cGFyYW1ldGVyID0gQVNOMV9UWVBFX25ldygpOworICAgICAgICAgaWRjLT5kaWdl c3QtPmFsZy0+YWxnb3JpdGhtID0gT0JKX25pZDJvYmooTklEX3NoYTI1Nik7CistLSAKKzIuMjUu MQorCmRpZmYgLS1naXQgYS9zcmNwa2dzL3Nic2lnbnRvb2wvdGVtcGxhdGUgYi9zcmNwa2dzL3Ni c2lnbnRvb2wvdGVtcGxhdGUKaW5kZXggNDJiMjU0NWQyM2VmLi4xYmRlZThjNWI3ODQgMTAwNjQ0 Ci0tLSBhL3NyY3BrZ3Mvc2JzaWdudG9vbC90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3Nic2lnbnRv b2wvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdzYnNpZ250 b29sJwogcGtnbmFtZT1zYnNpZ250b29sCiB2ZXJzaW9uPTAuOS40Ci1yZXZpc2lvbj00CityZXZp c2lvbj01CiBhcmNocz0ieDg2XzY0KiBpNjg2KiBhYXJjaDY0KiBhcm0qIgogYnVpbGRfc3R5bGU9 Z251LWNvbmZpZ3VyZQogaG9zdG1ha2VkZXBlbmRzPSJhdXRvY29uZiBhdXRvbWFrZSBwa2ctY29u ZmlnIGhlbHAybWFuIgpAQCAtMjAsNiArMjAsOCBAQCBjaGVja3N1bT0iZWRkYjdkMjEyNjNlZTJi MDdiZThmMGVkOTNiNmJhMDIxYzNmOTQzOTY0NzMwYjJkODZmNDQ3MzZmYTE5MjRkNQogIDFkYzFl MWRlNWYyZGRhNTBkYmQyZTZhODMzNTVmZTdhZTM4Y2EwZjc5ZGFlYjQwNDAyNjQyMWFmNzA2MDY2 NTMiCiBza2lwX2V4dHJhY3Rpb249InNic2lnbnRvb2xfMC45LjIub3JpZy50YXIuZ3oiCiBjb25m X2ZpbGVzPSIvZXRjL2RlZmF1bHQvc2JzaWdudG9vbC1rZXJuZWwtaG9vayIKKyMgb3BlbnNzbDMg Zml4CitDRkxBR1MrPSIgLVduby1lcnJvcj1kZXByZWNhdGVkLWRlY2xhcmF0aW9ucyIKIAogcG9z dF9leHRyYWN0KCkgewogCWJzZHRhciAteHpmICRYQlBTX1NSQ0RJU1RESVIvJHBrZ25hbWUtJHZl cnNpb24vc2JzaWdudG9vbF8wLjkuMi5vcmlnLnRhci5negoKRnJvbSA2MjFlZTA3NTI3ZDVkNWU4 ZDEzODQ0MmI3Zjc5OTVhYzcxZDZmNjY0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBk a3dvIDxuaWNvbG9waWF6emFsdW5nYUBnbWFpbC5jb20+CkRhdGU6IFR1ZSwgMjQgSmFuIDIwMjMg MTM6Mzk6NTMgLTA1MDAKU3ViamVjdDogW1BBVENIIDUvOV0gZ3NvYXA6IHVwZGF0ZSB0byAyLjgu MTI0Cgp0YXJiYWxsIGZvciBwcmV2aW91cyB2ZXJzaW9ucyBub3QgYXZhaWxhYmxlCi0tLQogc3Jj cGtncy9nc29hcC9maWxlcy9tdXNsLWZpeGVzLnBhdGNoICAgICAgfCAgNjggKysrKysrKysrKysK IHNyY3BrZ3MvZ3NvYXAvcGF0Y2hlcy9nc29hcC1saWJ0b29sLnBhdGNoIHwgMTM3ICsrKysrKysr KysrKysrKysrKysrKysKIHNyY3BrZ3MvZ3NvYXAvdGVtcGxhdGUgICAgICAgICAgICAgICAgICAg IHwgIDMwICsrKy0tCiAzIGZpbGVzIGNoYW5nZWQsIDIyNCBpbnNlcnRpb25zKCspLCAxMSBkZWxl dGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2dzb2FwL2ZpbGVzL211c2wtZml4 ZXMucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2dzb2FwL3BhdGNoZXMvZ3NvYXAt bGlidG9vbC5wYXRjaAoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvZ3NvYXAvZmlsZXMvbXVzbC1maXhl cy5wYXRjaCBiL3NyY3BrZ3MvZ3NvYXAvZmlsZXMvbXVzbC1maXhlcy5wYXRjaApuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjc3NTlhYzc4NjBlNgotLS0gL2Rldi9udWxs CisrKyBiL3NyY3BrZ3MvZ3NvYXAvZmlsZXMvbXVzbC1maXhlcy5wYXRjaApAQCAtMCwwICsxLDY4 IEBACitGcm9tOiBodHRwczovL2dpdC5hbHBpbmVsaW51eC5vcmcvYXBvcnRzL3RyZWUvY29tbXVu aXR5L2dzb2FwL211c2wtZml4ZXMucGF0Y2gKKworLS0tIGEvZ3NvYXAvc3Rkc29hcDIuYworKysr IGIvZ3NvYXAvc3Rkc29hcDIuYworQEAgLTUxMjUsNyArNTEyNSw3IEBACisgICAgIGhvc3RlbnQg PSBOVUxMOworICAgICBzb2FwLT5lcnJudW0gPSBoX2Vycm5vOworICAgfQorLSNlbGlmICghZGVm aW5lZChfR05VX1NPVVJDRSkgfHwgKCEofl9HTlVfU09VUkNFKzEpICYmICFkZWZpbmVkKF9QT1NJ WF9DX1NPVVJDRSkgJiYgIWRlZmluZWQoX1hPUEVOX1NPVVJDRSkpIHx8IF9QT1NJWF9DX1NPVVJD RSA+PSAyMDAxMTJMIHx8IF9YT1BFTl9TT1VSQ0UgPj0gNjAwIHx8IGRlZmluZWQoX19BTkRST0lE X18pIHx8IGRlZmluZWQoRlJFRUJTRCkgfHwgZGVmaW5lZChfX0ZyZWVCU0RfXykpICYmICFkZWZp bmVkKFNVTl9PUykgJiYgZGVmaW5lZChIQVZFX0dFVEhPU1RCWU5BTUVfUikKKysjZWxpZiBkZWZp bmVkKEhBVkVfR0VUSE9TVEJZTkFNRV9SKQorICAgd2hpbGUgKChyID0gZ2V0aG9zdGJ5bmFtZV9y KGFkZHIsIGhvc3RlbnQsIHRtcGJ1ZiwgdG1wbGVuLCAmaG9zdGVudCwgJnNvYXAtPmVycm51bSkp IDwgMCkKKyAgIHsKKyAgICAgaWYgKHRtcGJ1ZiAhPSBzb2FwLT50bXBidWYpCitAQCAtNTE0MCw4 ICs1MTQwLDYgQEAKKyAgICAgaWYgKCF0bXBidWYpCisgICAgICAgYnJlYWs7CisgICB9CistI2Vs aWYgZGVmaW5lZChIQVZFX0dFVEhPU1RCWU5BTUVfUikKKy0gIGhvc3RlbnQgPSBnZXRob3N0Ynlu YW1lX3IoYWRkciwgaG9zdGVudCwgdG1wYnVmLCB0bXBsZW4sICZzb2FwLT5lcnJudW0pOworICNl bGlmIGRlZmluZWQoVlhXT1JLUykKKyAgIC8qIHZ4V29ya3MgY29tcGF0aWJsZSAqLworICAgLyog SWYgdGhlIEROUyByZXNvbHZlciBsaWJyYXJ5IHJlc29sdkxpYiBoYXMgYmVlbiBjb25maWd1cmVk IGluIHRoZSB2eFdvcmtzCisKKy0tLSBhL2dzb2FwL3N0ZHNvYXAyLmNwcAorKysrIGIvZ3NvYXAv c3Rkc29hcDIuY3BwCitAQCAtNTA5Miw3ICs1MDkyLDcgQEAKKyB7CisgI2lmIChkZWZpbmVkKF9B SVg0MykgfHwgZGVmaW5lZChUUlU2NCkgfHwgZGVmaW5lZChIUF9VWCkpICYmIGRlZmluZWQoSEFW RV9HRVRIT1NUQllOQU1FX1IpCisgICBzdHJ1Y3QgaG9zdGVudF9kYXRhIGh0X2RhdGE7CistI2Vs aWYgKCFkZWZpbmVkKF9HTlVfU09VUkNFKSB8fCAoISh+X0dOVV9TT1VSQ0UrMSkgJiYgIWRlZmlu ZWQoX1BPU0lYX0NfU09VUkNFKSAmJiAhZGVmaW5lZChfWE9QRU5fU09VUkNFKSkgfHwgX1BPU0lY X0NfU09VUkNFID49IDIwMDExMkwgfHwgX1hPUEVOX1NPVVJDRSA+PSA2MDAgfHwgZGVmaW5lZChf X0FORFJPSURfXykgfHwgZGVmaW5lZChGUkVFQlNEKSB8fCBkZWZpbmVkKF9fRnJlZUJTRF9fKSkg JiYgZGVmaW5lZChIQVZFX0dFVEhPU1RCWU5BTUVfUikKKysjZWxpZiBkZWZpbmVkKEhBVkVfR0VU SE9TVEJZTkFNRV9SKQorICAgaW50IHI7CisgICBjaGFyICp0bXBidWYgPSBzb2FwLT50bXBidWY7 CisgICBzaXplX3QgdG1wbGVuID0gc2l6ZW9mKHNvYXAtPnRtcGJ1Zik7CitAQCAtNTEyNSw3ICs1 MTI1LDcgQEAKKyAgICAgaG9zdGVudCA9IE5VTEw7CisgICAgIHNvYXAtPmVycm51bSA9IGhfZXJy bm87CisgICB9CistI2VsaWYgKCFkZWZpbmVkKF9HTlVfU09VUkNFKSB8fCAoISh+X0dOVV9TT1VS Q0UrMSkgJiYgIWRlZmluZWQoX1BPU0lYX0NfU09VUkNFKSAmJiAhZGVmaW5lZChfWE9QRU5fU09V UkNFKSkgfHwgX1BPU0lYX0NfU09VUkNFID49IDIwMDExMkwgfHwgX1hPUEVOX1NPVVJDRSA+PSA2 MDAgfHwgZGVmaW5lZChfX0FORFJPSURfXykgfHwgZGVmaW5lZChGUkVFQlNEKSB8fCBkZWZpbmVk KF9fRnJlZUJTRF9fKSkgJiYgIWRlZmluZWQoU1VOX09TKSAmJiBkZWZpbmVkKEhBVkVfR0VUSE9T VEJZTkFNRV9SKQorKyNlbGlmIGRlZmluZWQoSEFWRV9HRVRIT1NUQllOQU1FX1IpCisgICB3aGls ZSAoKHIgPSBnZXRob3N0YnluYW1lX3IoYWRkciwgaG9zdGVudCwgdG1wYnVmLCB0bXBsZW4sICZo b3N0ZW50LCAmc29hcC0+ZXJybnVtKSkgPCAwKQorICAgeworICAgICBpZiAodG1wYnVmICE9IHNv YXAtPnRtcGJ1ZikKK0BAIC01MTQwLDggKzUxNDAsNiBAQAorICAgICBpZiAoIXRtcGJ1ZikKKyAg ICAgICBicmVhazsKKyAgIH0KKy0jZWxpZiBkZWZpbmVkKEhBVkVfR0VUSE9TVEJZTkFNRV9SKQor LSAgaG9zdGVudCA9IGdldGhvc3RieW5hbWVfcihhZGRyLCBob3N0ZW50LCB0bXBidWYsIHRtcGxl biwgJnNvYXAtPmVycm51bSk7CisgI2VsaWYgZGVmaW5lZChWWFdPUktTKQorICAgLyogdnhXb3Jr cyBjb21wYXRpYmxlICovCisgICAvKiBJZiB0aGUgRE5TIHJlc29sdmVyIGxpYnJhcnkgcmVzb2x2 TGliIGhhcyBiZWVuIGNvbmZpZ3VyZWQgaW4gdGhlIHZ4V29ya3MKKy0tLSBhL2dzb2FwL3N0ZHNv YXAyLmNwcAorKysrIGIvZ3NvYXAvc3Rkc29hcDIuY3BwCitAQCAtMjI2MTgsMTMgKzIyNjE4LDkg QEAKKyAgIHsKKyAjaWZuZGVmIFdJTjMyCisgIyBpZmRlZiBIQVZFX1NUUkVSUk9SX1IKKy0jICBp ZiAhZGVmaW5lZChfR05VX1NPVVJDRSkgfHwgKCEofl9HTlVfU09VUkNFKzEpICYmICgoIWRlZmlu ZWQoX1BPU0lYX0NfU09VUkNFKSAmJiAhZGVmaW5lZChfWE9QRU5fU09VUkNFKSkgfHwgKF9QT1NJ WF9DX1NPVVJDRSA+PSAyMDAxMTJMIHx8IF9YT1BFTl9TT1VSQ0UgPj0gNjAwKSkpCisgICAgIGVy ciA9IHN0cmVycm9yX3IoZXJyLCBzb2FwLT5tc2didWYsIHNpemVvZihzb2FwLT5tc2didWYpKTsg LyogWFNJLWNvbXBsaWFudCAqLworICAgICBpZiAoZXJyICE9IDApCisgICAgICAgc29hcF9zdHJj cHkoc29hcC0+bXNnYnVmLCBzaXplb2Yoc29hcC0+bXNnYnVmKSwgInVua25vd24gZXJyb3IiKTsK Ky0jICBlbHNlCistICAgIHJldHVybiBzdHJlcnJvcl9yKGVyciwgc29hcC0+bXNnYnVmLCBzaXpl b2Yoc29hcC0+bXNnYnVmKSk7IC8qIEdOVS1zcGVjaWZpYyAqLworLSMgIGVuZGlmCisgIyBlbHNl CisgICAgIHJldHVybiBzdHJlcnJvcihlcnIpOworICMgZW5kaWYKZGlmZiAtLWdpdCBhL3NyY3Br Z3MvZ3NvYXAvcGF0Y2hlcy9nc29hcC1saWJ0b29sLnBhdGNoIGIvc3JjcGtncy9nc29hcC9wYXRj aGVzL2dzb2FwLWxpYnRvb2wucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw MDAwMDAwLi42OTJmNjRiN2Q2Y2IKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2dzb2FwL3Bh dGNoZXMvZ3NvYXAtbGlidG9vbC5wYXRjaApAQCAtMCwwICsxLDEzNyBAQAorRnJvbTogaHR0cHM6 Ly9zcmMuZmVkb3JhcHJvamVjdC5vcmcvcnBtcy9nc29hcC9ibG9iL21hc3Rlci9mL2dzb2FwLWxp YnRvb2wucGF0Y2gKKworZGlmZiAtdXIgZ3NvYXAtMi44Lm9yaWcvY29uZmlndXJlLmFjIGdzb2Fw LTIuOC9jb25maWd1cmUuYWMKKy0tLSBnc29hcC0yLjgub3JpZy9jb25maWd1cmUuYWMJMjAxOS0w MS0xNCAxODoxNzoyMC4wMDAwMDAwMDAgKzAxMDAKKysrKyBnc29hcC0yLjgvY29uZmlndXJlLmFj CTIwMTktMDEtMTcgMTU6NDg6MDAuMDAwOTgyMDg4ICswMTAwCitAQCAtMTYsOCArMTYsNyBAQAor IEFNX1BST0dfTEVYCisgQUNfUFJPR19ZQUNDCisgQUNfUFJPR19DUFAKKy1BQ19QUk9HX1JBTkxJ QgorLSNBTV9QUk9HX0xJQlRPT0wKKytBTV9QUk9HX0xJQlRPT0wKKyBBQ19QUk9HX0xOX1MKKyBB Q19QUk9HX0FXSworIEFDX1BST0dfSU5TVEFMTAorQEAgLTI5NSwxNSArMjk0LDE1IEBACisgICAg IFdTREwySF9FWFRSQV9MSUJTPSIke1dTREwySF9FWFRSQV9MSUJTfSAtbGdudXRscyAtbGdjcnlw dCAtbGdwZy1lcnJvciAtbHoiCisgICAgIFNBTVBMRV9JTkNMVURFUz0KKyAgICAgU0FNUExFX1NT TF9MSUJTPSItbGdudXRscyAtbGdjcnlwdCAtbGdwZy1lcnJvciAtbHoiCistICAgIFdTREwySF9T T0FQX0NQUF9MSUI9ImxpYmdzb2Fwc3NsKysuYSIKKysgICAgV1NETDJIX1NPQVBfQ1BQX0xJQj0i bGliZ3NvYXBzc2wrKy5sYSIKKyAgIGVsc2UKKyAgICAgQUNfTVNHX1JFU1VMVChubykKKyAgICAg V1NETDJIX0VYVFJBX0ZMQUdTPSItRFdJVEhfT1BFTlNTTCAtRFdJVEhfR1pJUCIKKyAgICAgIyBj b21waWxlIHdpdGggd3NkbDJoIHdoZW4gT1BFTlNTTCBpcyBhdmFpbGFibGUKKy0gICAgV1NETDJI X0VYVFJBX0xJQlM9IiR7V1NETDJIX0VYVFJBX0xJQlN9IC1sc3NsIC1sY3J5cHRvIC1seiIKKysg ICAgV1NETDJIX0VYVFJBX0xJQlM9IiR7V1NETDJIX0VYVFJBX0xJQlN9IC1sY3J5cHRvIgorICAg ICBTQU1QTEVfSU5DTFVERVM9CisgICAgIFNBTVBMRV9TU0xfTElCUz0iLWxzc2wgLWxjcnlwdG8g LWx6IgorLSAgICBXU0RMMkhfU09BUF9DUFBfTElCPSJsaWJnc29hcHNzbCsrLmEiCisrICAgIFdT REwySF9TT0FQX0NQUF9MSUI9ImxpYmdzb2Fwc3NsKysubGEiCisgICBmaQorICAgaWYgdGVzdCAt biAiJFpMSUIiOyB0aGVuCisgICAgIFdTREwySF9FWFRSQV9GTEFHUz0iLUkke1pMSUJ9L2luY2x1 ZGUgJHtXU0RMMkhfRVhUUkFfRkxBR1N9IgorQEAgLTMyMiw3ICszMjEsNyBAQAorICAgV1NETDJI X0VYVFJBX0ZMQUdTPQorICAgU0FNUExFX1NTTF9MSUJTPQorICAgU0FNUExFX0lOQ0xVREVTPQor LSAgV1NETDJIX1NPQVBfQ1BQX0xJQj0ibGliZ3NvYXArKy5hIgorKyAgV1NETDJIX1NPQVBfQ1BQ X0xJQj0ibGliZ3NvYXArKy5sYSIKKyBmaQorIEFNX0NPTkRJVElPTkFMKFdJVEhfT1BFTlNTTCwg dGVzdCAieCR3aXRoX29wZW5zc2wiID0gInh5ZXMiIC1hICJ4JHdpdGhfZ251dGxzIiAhPSAieHll cyIpCisgQUNfU1VCU1QoV0lUSF9PUEVOU1NMKQorZGlmZiAtdXIgZ3NvYXAtMi44Lm9yaWcvZ3Nv YXAvTWFrZWZpbGUuYW0gZ3NvYXAtMi44L2dzb2FwL01ha2VmaWxlLmFtCistLS0gZ3NvYXAtMi44 Lm9yaWcvZ3NvYXAvTWFrZWZpbGUuYW0JMjAxOS0wMS0xNCAxODoxNzoyMS4wMDAwMDAwMDAgKzAx MDAKKysrKyBnc29hcC0yLjgvZ3NvYXAvTWFrZWZpbGUuYW0JMjAxOS0wMS0xNyAxNTo1ODoxMy4w NDEzMTc1NjcgKzAxMDAKK0BAIC0zNCwyMCArMzQsMzAgQEAKKyBkb21fY3BwLmNwcDogZG9tLmNw cAorIAkkKExOX1MpIC1mICQodG9wX3NyY2RpcikvZ3NvYXAvZG9tLmNwcCBkb21fY3BwLmNwcAor IAorLWxpYl9MSUJSQVJJRVMgPSBsaWJnc29hcC5hIGxpYmdzb2FwKysuYSBsaWJnc29hcGNrLmEg bGliZ3NvYXBjaysrLmEgbGliZ3NvYXBzc2wuYSBsaWJnc29hcHNzbCsrLmEKKytsaWJfTFRMSUJS QVJJRVMgPSBsaWJnc29hcC5sYSBsaWJnc29hcCsrLmxhIGxpYmdzb2FwY2subGEgbGliZ3NvYXBj aysrLmxhIGxpYmdzb2Fwc3NsLmxhIGxpYmdzb2Fwc3NsKysubGEKKyAKKy1saWJnc29hcF9hX1NP VVJDRVMgPSBzdGRzb2FwMi5jIGRvbS5jCistbGliZ3NvYXBfYV9DRkxBR1MgPSAkKFNPQVBDUFAy X0RFQlVHKSAkKFNPQVBDUFAyX05PTkFNRVNQQUNFUykgJChTT0FQQ1BQMl9OT19DX0xPQ0FMRSkg JChTT0FQQ1BQMl9JUFY2KSAkKFNPQVBDUFAyX0lQVjZfVjZPTkxZKSAtRCQocGxhdGZvcm0pCist bGliZ3NvYXBfX19hX1NPVVJDRVMgPSBzdGRzb2FwMl9jcHAuY3BwIGRvbV9jcHAuY3BwCistbGli Z3NvYXBfX19hX0NYWEZMQUdTID0gJChTT0FQQ1BQMl9ERUJVRykgJChTT0FQQ1BQMl9OT05BTUVT UEFDRVMpICQoU09BUENQUDJfTk9fQ19MT0NBTEUpICQoU09BUENQUDJfSVBWNikgJChTT0FQQ1BQ Ml9JUFY2X1Y2T05MWSkgLUQkKHBsYXRmb3JtKQorLWxpYmdzb2FwY2tfYV9TT1VSQ0VTID0gc3Rk c29hcDJfY2suYyBkb20uYworLWxpYmdzb2FwY2tfYV9DRkxBR1MgPSAkKFNPQVBDUFAyX0RFQlVH KSAkKFNPQVBDUFAyX05PTkFNRVNQQUNFUykgJChTT0FQQ1BQMl9OT19DX0xPQ0FMRSkgJChTT0FQ Q1BQMl9JUFY2KSAkKFNPQVBDUFAyX0lQVjZfVjZPTkxZKSAtRCQocGxhdGZvcm0pIC1EV0lUSF9D T09LSUVTCistbGliZ3NvYXBja19fX2FfU09VUkNFUyA9IHN0ZHNvYXAyX2NrX2NwcC5jcHAgZG9t X2NwcC5jcHAKKy1saWJnc29hcGNrX19fYV9DWFhGTEFHUyA9ICQoU09BUENQUDJfREVCVUcpICQo U09BUENQUDJfTk9OQU1FU1BBQ0VTKSAkKFNPQVBDUFAyX05PX0NfTE9DQUxFKSAkKFNPQVBDUFAy X0lQVjYpICQoU09BUENQUDJfSVBWNl9WNk9OTFkpIC1EJChwbGF0Zm9ybSkgLURXSVRIX0NPT0tJ RVMKKy1saWJnc29hcHNzbF9hX1NPVVJDRVMgPSBzdGRzb2FwMl9zc2wuYyBkb20uYworLWxpYmdz b2Fwc3NsX2FfQ0ZMQUdTID0gJChTT0FQQ1BQMl9ERUJVRykgJChTT0FQQ1BQMl9OT05BTUVTUEFD RVMpICQoU09BUENQUDJfTk9fQ19MT0NBTEUpICQoU09BUENQUDJfSVBWNikgJChTT0FQQ1BQMl9J UFY2X1Y2T05MWSkgLUQkKHBsYXRmb3JtKSAkKFdTREwySF9FWFRSQV9GTEFHUykgLURXSVRIX0RP TSAtRFdJVEhfQ09PS0lFUworLWxpYmdzb2Fwc3NsX19fYV9TT1VSQ0VTID0gc3Rkc29hcDJfc3Ns X2NwcC5jcHAgZG9tX2NwcC5jcHAKKy1saWJnc29hcHNzbF9fX2FfQ1hYRkxBR1MgPSAkKFNPQVBD UFAyX0RFQlVHKSAkKFNPQVBDUFAyX05PTkFNRVNQQUNFUykgJChTT0FQQ1BQMl9OT19DX0xPQ0FM RSkgJChTT0FQQ1BQMl9JUFY2KSAkKFNPQVBDUFAyX0lQVjZfVjZPTkxZKSAtRCQocGxhdGZvcm0p ICQoV1NETDJIX0VYVFJBX0ZMQUdTKSAtRFdJVEhfRE9NIC1EV0lUSF9DT09LSUVTCisrU09WRVJT SU9OID0gJChzaGVsbCBncmVwICdkZWZpbmUgVkVSU0lPTicgJChzcmNkaXIpL3NyYy9zb2FwY3Bw Mi5oIHwgY3V0IC1kICciJyAtZiAyKQorKworK2xpYmdzb2FwX2xhX1NPVVJDRVMgPSBzdGRzb2Fw Mi5jIGRvbS5jCisrbGliZ3NvYXBfbGFfQ0ZMQUdTID0gJChTT0FQQ1BQMl9ERUJVRykgJChTT0FQ Q1BQMl9OT05BTUVTUEFDRVMpICQoU09BUENQUDJfTk9fQ19MT0NBTEUpICQoU09BUENQUDJfSVBW NikgJChTT0FQQ1BQMl9JUFY2X1Y2T05MWSkgLUQkKHBsYXRmb3JtKQorK2xpYmdzb2FwX2xhX0xE RkxBR1MgPSAtcmVsZWFzZSAkKFNPVkVSU0lPTikKKytsaWJnc29hcF9fX2xhX1NPVVJDRVMgPSBz dGRzb2FwMl9jcHAuY3BwIGRvbV9jcHAuY3BwCisrbGliZ3NvYXBfX19sYV9DWFhGTEFHUyA9ICQo U09BUENQUDJfREVCVUcpICQoU09BUENQUDJfTk9OQU1FU1BBQ0VTKSAkKFNPQVBDUFAyX05PX0Nf TE9DQUxFKSAkKFNPQVBDUFAyX0lQVjYpICQoU09BUENQUDJfSVBWNl9WNk9OTFkpIC1EJChwbGF0 Zm9ybSkKKytsaWJnc29hcF9fX2xhX0xERkxBR1MgPSAtcmVsZWFzZSAkKFNPVkVSU0lPTikKKyts aWJnc29hcGNrX2xhX1NPVVJDRVMgPSBzdGRzb2FwMl9jay5jIGRvbS5jCisrbGliZ3NvYXBja19s YV9DRkxBR1MgPSAkKFNPQVBDUFAyX0RFQlVHKSAkKFNPQVBDUFAyX05PTkFNRVNQQUNFUykgJChT T0FQQ1BQMl9OT19DX0xPQ0FMRSkgJChTT0FQQ1BQMl9JUFY2KSAkKFNPQVBDUFAyX0lQVjZfVjZP TkxZKSAtRCQocGxhdGZvcm0pIC1EV0lUSF9DT09LSUVTCisrbGliZ3NvYXBja19sYV9MREZMQUdT ID0gLXJlbGVhc2UgJChTT1ZFUlNJT04pCisrbGliZ3NvYXBja19fX2xhX1NPVVJDRVMgPSBzdGRz b2FwMl9ja19jcHAuY3BwIGRvbV9jcHAuY3BwCisrbGliZ3NvYXBja19fX2xhX0NYWEZMQUdTID0g JChTT0FQQ1BQMl9ERUJVRykgJChTT0FQQ1BQMl9OT05BTUVTUEFDRVMpICQoU09BUENQUDJfTk9f Q19MT0NBTEUpICQoU09BUENQUDJfSVBWNikgJChTT0FQQ1BQMl9JUFY2X1Y2T05MWSkgLUQkKHBs YXRmb3JtKSAtRFdJVEhfQ09PS0lFUworK2xpYmdzb2FwY2tfX19sYV9MREZMQUdTID0gLXJlbGVh c2UgJChTT1ZFUlNJT04pCisrbGliZ3NvYXBzc2xfbGFfU09VUkNFUyA9IHN0ZHNvYXAyX3NzbC5j IGRvbS5jCisrbGliZ3NvYXBzc2xfbGFfQ0ZMQUdTID0gJChTT0FQQ1BQMl9ERUJVRykgJChTT0FQ Q1BQMl9OT05BTUVTUEFDRVMpICQoU09BUENQUDJfTk9fQ19MT0NBTEUpICQoU09BUENQUDJfSVBW NikgJChTT0FQQ1BQMl9JUFY2X1Y2T05MWSkgLUQkKHBsYXRmb3JtKSAkKFdTREwySF9FWFRSQV9G TEFHUykgLURXSVRIX0RPTSAtRFdJVEhfQ09PS0lFUworK2xpYmdzb2Fwc3NsX2xhX0xERkxBR1Mg PSAtcmVsZWFzZSAkKFNPVkVSU0lPTikKKytsaWJnc29hcHNzbF9sYV9MSUJBREQgPSAtbHNzbCAt bGNyeXB0byAtbHoKKytsaWJnc29hcHNzbF9fX2xhX1NPVVJDRVMgPSBzdGRzb2FwMl9zc2xfY3Bw LmNwcCBkb21fY3BwLmNwcAorK2xpYmdzb2Fwc3NsX19fbGFfQ1hYRkxBR1MgPSAkKFNPQVBDUFAy X0RFQlVHKSAkKFNPQVBDUFAyX05PTkFNRVNQQUNFUykgJChTT0FQQ1BQMl9OT19DX0xPQ0FMRSkg JChTT0FQQ1BQMl9JUFY2KSAkKFNPQVBDUFAyX0lQVjZfVjZPTkxZKSAtRCQocGxhdGZvcm0pICQo V1NETDJIX0VYVFJBX0ZMQUdTKSAtRFdJVEhfRE9NIC1EV0lUSF9DT09LSUVTCisrbGliZ3NvYXBz c2xfX19sYV9MREZMQUdTID0gLXJlbGVhc2UgJChTT1ZFUlNJT04pCisrbGliZ3NvYXBzc2xfX19s YV9MSUJBREQgPSAtbHNzbCAtbGNyeXB0byAtbHoKKyAKKyBCVUlMVF9TT1VSQ0VTID0gc3Rkc29h cDJfY3BwLmNwcCBkb21fY3BwLmNwcCBzdGRzb2FwMl9jay5jIHN0ZHNvYXAyX2NrX2NwcC5jcHAg c3Rkc29hcDJfc3NsLmMgc3Rkc29hcDJfc3NsX2NwcC5jcHAKKyAKK2RpZmYgLXVyIGdzb2FwLTIu OC5vcmlnL2dzb2FwL3NhbXBsZXMvYXV0b3Rlc3QvTWFrZWZpbGUuYW0gZ3NvYXAtMi44L2dzb2Fw L3NhbXBsZXMvYXV0b3Rlc3QvTWFrZWZpbGUuYW0KKy0tLSBnc29hcC0yLjgub3JpZy9nc29hcC9z YW1wbGVzL2F1dG90ZXN0L01ha2VmaWxlLmFtCTIwMTktMDEtMTQgMTg6MTc6MjIuMDAwMDAwMDAw ICswMTAwCisrKysgZ3NvYXAtMi44L2dzb2FwL3NhbXBsZXMvYXV0b3Rlc3QvTWFrZWZpbGUuYW0J MjAxOS0wMS0xNyAxNTo0ODowMC4wMDg5ODIwMDIgKzAxMDAKK0BAIC0xNCw3ICsxNCw3IEBACisg V1NETElOUFVUPSQodG9wX3NyY2RpcikvZ3NvYXAvc2FtcGxlcy9hdXRvdGVzdC9leGFtcGxlcy53 c2RsCisgU09BUEhFQURFUj0kKHRvcF9zcmNkaXIpL2dzb2FwL3NhbXBsZXMvYXV0b3Rlc3QvZXhh bXBsZXMuaAorIFNPQVBfQ1BQX1NSQz1zb2FwQy5jcHAgc29hcFNlcnZlci5jcHAKKy1TT0FQX0NQ UF9MSUI9JCh0b3BfYnVpbGRkaXIpL2dzb2FwL2xpYmdzb2FwKysuYQorK1NPQVBfQ1BQX0xJQj0k KHRvcF9idWlsZGRpcikvZ3NvYXAvbGliZ3NvYXArKy5sYQorIAorICQoU09BUF9DUFBfU1JDKSA6 ICQoV1NETElOUFVUKQorIAkkKFdTREwpICQoV1NETF9GTEFHUykgJChXU0RMSU5QVVQpCitkaWZm IC11ciBnc29hcC0yLjgub3JpZy9nc29hcC9zYW1wbGVzL2RhdGFiaW5kaW5nL01ha2VmaWxlLmFt IGdzb2FwLTIuOC9nc29hcC9zYW1wbGVzL2RhdGFiaW5kaW5nL01ha2VmaWxlLmFtCistLS0gZ3Nv YXAtMi44Lm9yaWcvZ3NvYXAvc2FtcGxlcy9kYXRhYmluZGluZy9NYWtlZmlsZS5hbQkyMDE5LTAx LTE0IDE4OjE3OjIyLjAwMDAwMDAwMCArMDEwMAorKysrIGdzb2FwLTIuOC9nc29hcC9zYW1wbGVz L2RhdGFiaW5kaW5nL01ha2VmaWxlLmFtCTIwMTktMDEtMTcgMTU6NDg6MDAuMDA4OTgyMDAyICsw MTAwCitAQCAtMTQsNyArMTQsNyBAQAorIFdTRExJTlBVVD0kKHRvcF9zcmNkaXIpL2dzb2FwL3Nh bXBsZXMvZGF0YWJpbmRpbmcvYWRkcmVzcy54c2QKKyBTT0FQSEVBREVSPSQodG9wX3NyY2Rpcikv Z3NvYXAvc2FtcGxlcy9kYXRhYmluZGluZy9hZGRyZXNzLmgKKyBTT0FQX0NQUF9TUkM9YWRkcmVz c0MuY3BwCistU09BUF9DUFBfTElCPSQodG9wX2J1aWxkZGlyKS9nc29hcC9saWJnc29hcCsrLmEK KytTT0FQX0NQUF9MSUI9JCh0b3BfYnVpbGRkaXIpL2dzb2FwL2xpYmdzb2FwKysubGEKKyAKKyAk KFNPQVBfQ1BQX1NSQykgOiAkKFdTRExJTlBVVCkKKyAJJChXU0RMKSAkKFdTRExfRkxBR1MpICQo V1NETElOUFVUKQorZGlmZiAtdXIgZ3NvYXAtMi44Lm9yaWcvZ3NvYXAvc2FtcGxlcy9NYWtlZmls ZS5kZWZpbmVzIGdzb2FwLTIuOC9nc29hcC9zYW1wbGVzL01ha2VmaWxlLmRlZmluZXMKKy0tLSBn c29hcC0yLjgub3JpZy9nc29hcC9zYW1wbGVzL01ha2VmaWxlLmRlZmluZXMJMjAxOS0wMS0xNCAx ODoxNzoyMi4wMDAwMDAwMDAgKzAxMDAKKysrKyBnc29hcC0yLjgvZ3NvYXAvc2FtcGxlcy9NYWtl ZmlsZS5kZWZpbmVzCTIwMTktMDEtMTcgMTU6NDg6MDAuMDA4OTgyMDAyICswMTAwCitAQCAtMTMs MTMgKzEzLDEzIEBACisgU09BUF9DX0NPUkU9c29hcEMuYworIFNPQVBfQ19DTElFTlQ9c29hcENs aWVudC5jICQoU09BUF9DX0NPUkUpCisgU09BUF9DX1NFUlZFUj1zb2FwU2VydmVyLmMgJChTT0FQ X0NfQ09SRSkKKy1TT0FQX0NfTElCPSQodG9wX2J1aWxkZGlyKS9nc29hcC9saWJnc29hcC5hCist U09BUF9DX0xJQl9DSz0kKHRvcF9idWlsZGRpcikvZ3NvYXAvbGliZ3NvYXBjay5hCistU09BUF9D X0xJQl9TU0w9JCh0b3BfYnVpbGRkaXIpL2dzb2FwL2xpYmdzb2Fwc3NsLmEKKytTT0FQX0NfTElC PSQodG9wX2J1aWxkZGlyKS9nc29hcC9saWJnc29hcC5sYQorK1NPQVBfQ19MSUJfQ0s9JCh0b3Bf YnVpbGRkaXIpL2dzb2FwL2xpYmdzb2FwY2subGEKKytTT0FQX0NfTElCX1NTTD0kKHRvcF9idWls ZGRpcikvZ3NvYXAvbGliZ3NvYXBzc2wubGEKKyAKKyBTT0FQX0NQUF9DT1JFPXNvYXBDLmNwcAor IFNPQVBfQ1BQX0NMSUVOVD1zb2FwQ2xpZW50LmNwcCAkKFNPQVBfQ1BQX0NPUkUpCisgU09BUF9D UFBfU0VSVkVSPXNvYXBTZXJ2ZXIuY3BwICQoU09BUF9DUFBfQ09SRSkKKy1TT0FQX0NQUF9MSUI9 JCh0b3BfYnVpbGRkaXIpL2dzb2FwL2xpYmdzb2FwKysuYQorLVNPQVBfQ1BQX0xJQl9DSz0kKHRv cF9idWlsZGRpcikvZ3NvYXAvbGliZ3NvYXBjaysrLmEKKy1TT0FQX0NQUF9MSUJfU1NMPSQodG9w X2J1aWxkZGlyKS9nc29hcC9saWJnc29hcHNzbCsrLmEKKytTT0FQX0NQUF9MSUI9JCh0b3BfYnVp bGRkaXIpL2dzb2FwL2xpYmdzb2FwKysubGEKKytTT0FQX0NQUF9MSUJfQ0s9JCh0b3BfYnVpbGRk aXIpL2dzb2FwL2xpYmdzb2FwY2srKy5sYQorK1NPQVBfQ1BQX0xJQl9TU0w9JCh0b3BfYnVpbGRk aXIpL2dzb2FwL2xpYmdzb2Fwc3NsKysubGEKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvZ3NvYXAvdGVt cGxhdGUgYi9zcmNwa2dzL2dzb2FwL3RlbXBsYXRlCmluZGV4IDhhZTI5YThhMjUxYy4uY2NhMWZi MzcwMDNlIDEwMDY0NAotLS0gYS9zcmNwa2dzL2dzb2FwL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3Mv Z3NvYXAvdGVtcGxhdGUKQEAgLTEsMjUgKzEsMzcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ2dz b2FwJwogcGtnbmFtZT1nc29hcAotdmVyc2lvbj0yLjguOTEKLXJldmlzaW9uPTMKK3ZlcnNpb249 Mi44LjEyNAorcmV2aXNpb249MQogYnVpbGRfc3R5bGU9Z251LWNvbmZpZ3VyZQogY29uZmlndXJl X2FyZ3M9Ii0tZW5hYmxlLWlwdjYiCi1ob3N0bWFrZWRlcGVuZHM9InVuemlwIGZsZXggYXV0b2Nv bmYiCitob3N0bWFrZWRlcGVuZHM9InVuemlwIGZsZXggYXV0b2NvbmYgYXV0b21ha2UgbGlidG9v bCIKIG1ha2VkZXBlbmRzPSJvcGVuc3NsLWRldmVsIHpsaWItZGV2ZWwiCiBzaG9ydF9kZXNjPSJU b29sa2l0IGZvciBTT0FQIGFuZCBSRVNUIFdlYiBTZXJ2aWNlcyBhbmQgWE1MLUJhc2VkIEFwcGxp Y2F0aW9ucyIKIG1haW50YWluZXI9IkVubm8gQm9sYW5kIDxnb3R0b3hAdm9pZGxpbnV4Lm9yZz4i Ci1saWNlbnNlPSJnU09BUC0xLjNiLCBHUEwtMi4wLW9ubHkiCi1ob21lcGFnZT0iaHR0cDovL3d3 dy5jcy5mc3UuZWR1L35lbmdlbGVuL3NvYXAuaHRtbCIKK2xpY2Vuc2U9IkdQTC0yLjAtb25seSIK K2hvbWVwYWdlPSJodHRwczovL3d3dy5nZW5pdmlhLmNvbS9kZXYuaHRtbCIKIGRpc3RmaWxlcz0i JHtTT1VSQ0VGT1JHRV9TSVRFfS9nc29hcDIvZ3NvYXBfJHt2ZXJzaW9ufS56aXAiCi1jaGVja3N1 bT0yY2EyMWI1YWIyYjQwZDg5OTU2NmM1NTlmNzFhMWQ1MWVkN2VhYzNmMDAxNjBhYjc4MDYwMDI3 YTNlZTY0ODhmCitjaGVja3N1bT00Yjc5ODc4MDk4OTMzOGY2NjVlZjhlMTcxYmJjYzQyMmEyNzEw MDRkNjJkNTg1MjY2NmQ1ZWVjYTMzYTZhNjM2CiBkaXNhYmxlX3BhcmFsbGVsX2J1aWxkPXllcwot CiBDRkxBR1M9Ii1mY29tbW9uIgogCiBpZiBbICIkQ1JPU1NfQlVJTEQiIF07IHRoZW4KIAlob3N0 bWFrZWRlcGVuZHMrPSIgZ3NvYXAiCiBmaQogCitwb3N0X3BhdGNoKCkgeworCWlmIFsgIiR7WEJQ U19UQVJHRVRfTElCQ30iID0gIm11c2wiIF07IHRoZW4KKwkJY3AgLWYgIiR7RklMRVNESVJ9L211 c2wtZml4ZXMucGF0Y2giICIke3dya3NyY30iCisJCWNkICIkd3Jrc3JjIgorCQltc2dfbm9ybWFs ICIkcGtndmVyOiBwYXRjaGluZyBmb3IgbXVzbFxuIgorCQlwYXRjaCAtcyAtTnAxIDxtdXNsLWZp eGVzLnBhdGNoIDI+L2Rldi9udWxsCisJZmkKK30KKworcHJlX2NvbmZpZ3VyZSgpIHsKKwlhdXRv cmVjb25mIC1maQorfQorCiBwcmVfYnVpbGQoKSB7CiAJaWYgWyAiJENST1NTX0JVSUxEIiBdOyB0 aGVuCiAJCSMgcnVuIGhvc3QgJ3NvYXBjcHAyJwpAQCAtMjcsMTAgKzM5LDYgQEAgcHJlX2J1aWxk KCkgewogCWZpCiB9CiAKLXBvc3RfaW5zdGFsbCgpIHsKLQl2bGljZW5zZSBsaWNlbnNlLnBkZgot fQotCiBnc29hcC1kZXZlbF9wYWNrYWdlKCkgewogCWRlcGVuZHM9IiR7c291cmNlcGtnfT49JHt2 ZXJzaW9ufV8ke3JldmlzaW9ufSAke21ha2VkZXBlbmRzfSIKIAlzaG9ydF9kZXNjKz0iIC0gZGV2 ZWxvcG1lbnQgZmlsZXMiCgpGcm9tIDA5ZmYzZWRmMDkyYzllNzNjNzBiNjcxNTE0NWM4MzBlY2My N2IxY2EgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IGRrd28gPG5pY29sb3BpYXp6YWx1 bmdhQGdtYWlsLmNvbT4KRGF0ZTogVGh1LCAyNiBKYW4gMjAyMyAxMzo0MToyNyAtMDUwMApTdWJq ZWN0OiBbUEFUQ0ggNi85XSB2YW5pdHlnZW46IHJlbW92ZQoKLS0tCiBzcmNwa2dzL3JlbW92ZWQt cGFja2FnZXMvdGVtcGxhdGUgICAgICAgICAgICAgfCAgICAzICstCiAuLi40YTY0Njg3M2M4NDM5 ZDNiNWVlM2EyMjc4ZTcyNzU3NTUyMWYucGF0Y2ggfCAxMTcxIC0tLS0tLS0tLS0tLS0tLS0tCiAu Li4zZTZmZmY3ZGE1MmM0YWVjYmQ4OThkOWRmMmU2MGE1NmYxMzQucGF0Y2ggfCAgIDk4IC0tCiBz cmNwa2dzL3Zhbml0eWdlbi90ZW1wbGF0ZSAgICAgICAgICAgICAgICAgICAgfCAgIDIxIC0KIDQg ZmlsZXMgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAxMjkxIGRlbGV0aW9ucygtKQogZGVsZXRl IG1vZGUgMTAwNjQ0IHNyY3BrZ3MvdmFuaXR5Z2VuL3BhdGNoZXMvNGI4MTRhNjQ2ODczYzg0Mzlk M2I1ZWUzYTIyNzhlNzI3NTc1NTIxZi5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3Mv dmFuaXR5Z2VuL3BhdGNoZXMvNWYxNjNlNmZmZjdkYTUyYzRhZWNiZDg5OGQ5ZGYyZTYwYTU2ZjEz NC5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvdmFuaXR5Z2VuL3RlbXBsYXRlCgpk aWZmIC0tZ2l0IGEvc3JjcGtncy9yZW1vdmVkLXBhY2thZ2VzL3RlbXBsYXRlIGIvc3JjcGtncy9y ZW1vdmVkLXBhY2thZ2VzL3RlbXBsYXRlCmluZGV4IDA0MjlhNWZiNDc5Ni4uNGFlYTk0ZTg3Zjdl IDEwMDY0NAotLS0gYS9zcmNwa2dzL3JlbW92ZWQtcGFja2FnZXMvdGVtcGxhdGUKKysrIGIvc3Jj cGtncy9yZW1vdmVkLXBhY2thZ2VzL3RlbXBsYXRlCkBAIC0xLDYgKzEsNiBAQAogIyBUZW1wbGF0 ZSBmaWxlIGZvciAncmVtb3ZlZC1wYWNrYWdlcycKIHBrZ25hbWU9cmVtb3ZlZC1wYWNrYWdlcwot dmVyc2lvbj0wLjEuMjAyMzAxMjAKK3ZlcnNpb249MC4xLjIwMjMwMTI2CiByZXZpc2lvbj0xCiBi dWlsZF9zdHlsZT1tZXRhCiBzaG9ydF9kZXNjPSJVbmluc3RhbGxzIHBhY2thZ2VzIHJlbW92ZWQg ZnJvbSByZXBvc2l0b3J5IgpAQCAtNTA5LDYgKzUwOSw3IEBAIHJlcGxhY2VzPSIKICB1cmxtYXRj aC1naXQ8PTIwMTQxMTE2XzIKICB1d3NnaS1weXRob248PTIuMC4xOF8zCiAgdjg8PTMuMjQuMzUu MzNfNAorIHZhbml0eWdlbjw9MS41M18yCiAgdmFwb3Vyc3ludGgtbXZ0b29sczw9MjNfMgogIHZr ZDNkPD0xLjNfMQogIHZvbG5vdGk8PTAuMV8xCmRpZmYgLS1naXQgYS9zcmNwa2dzL3Zhbml0eWdl bi9wYXRjaGVzLzRiODE0YTY0Njg3M2M4NDM5ZDNiNWVlM2EyMjc4ZTcyNzU3NTUyMWYucGF0Y2gg Yi9zcmNwa2dzL3Zhbml0eWdlbi9wYXRjaGVzLzRiODE0YTY0Njg3M2M4NDM5ZDNiNWVlM2EyMjc4 ZTcyNzU3NTUyMWYucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc0YmQ1NGRi ZjBmYi4uMDAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvdmFuaXR5Z2VuL3BhdGNoZXMvNGI4MTRh NjQ2ODczYzg0MzlkM2I1ZWUzYTIyNzhlNzI3NTc1NTIxZi5wYXRjaAorKysgL2Rldi9udWxsCkBA IC0xLDExNzEgKzAsMCBAQAotRnJvbSA0YjgxNGE2NDY4NzNjODQzOWQzYjVlZTNhMjI3OGU3Mjc1 NzU1MjFmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQW50b25pbyBTcGFkYXJvIDxp bG92ZWxpbnV4QHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4KLURhdGU6IFNhdCwgMiBKdW4gMjAx OCAyMjoyNzo1MSArMDAwMAotU3ViamVjdDogW1BBVENIXSBGaXggT3BlblNTTCAxLjEuMCBpbmNv bXBhdGliaWxpdGllcyAoIzU2KQotCi0qIEZpeCBvcGVuc3NsIDEuMS4wIGluY29tcGF0aWJpbGl0 aWVzCi0KLSogUmVwbGFjZSBCTl9NQVNLMiB3aXRoIDB4ZmZmZmZmZmZMCi0KLSogRml4IG90aGVy IG9wZW5zc2wgMS4xLjAgaW5jb21wYXRpYmlsaXRpZXMKLQotKiBGaXggcmV0cm9jb21wYXRpYmls aXR5IGlzc3VlCi0KLSogUmVtb3ZlIEJOX2JuMmxlYmlucGFkIGR1ZSB0byBpbmNvbXBhdGliaWxp dHkKLQotKiBGaXggb3RoZXIgaW5jb21wYXRpYmlsaXR5IGVycm9ycwotCi0qIEZpeGVkIHJldHJv Y29tcGF0aWJpbGl0eSAobWF5YmUpLiBUaGFua3MgdG8gIEBEZXNXdXJzdGVzCi0KLSogRml4IE9w ZW5TU0wgMS4xIGFuZCBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eQotLS0tCi0ga2V5Y29udi5jICAg fCAgMTggKystLQotIG9jbGVuZ2luZS5jIHwgMTMwICsrKysrKysrKysrKysrKysrKy0tLS0tLS0t LQotIHBhdHRlcm4uYyAgIHwgMjUyICsrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KLSBwYXR0ZXJuLmggICB8ICAgOCArLQotIHV0aWwuYyAgICAgIHwg IDkwICsrKysrKysrKy0tLS0tLS0tLS0KLSB2YW5pdHlnZW4uYyB8ICAxNCArLS0KLSA2IGZpbGVz IGNoYW5nZWQsIDI3NyBpbnNlcnRpb25zKCspLCAyMzUgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1n aXQgYS9rZXljb252LmMgYi9rZXljb252LmMKLWluZGV4IGY3NDc1ZTUuLjM5NGMzYTAgMTAwNjQ0 Ci0tLS0gYS9rZXljb252LmMKLSsrKyBiL2tleWNvbnYuYwotQEAgLTExNjAsNyArMTE2MCw3IEBA IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQotIAotIAlpZiAoa2V5Ml9pbikgewotIAkJQk5f Q1RYICpibmN0eDsKLS0JCUJJR05VTSBibnRtcCwgYm50bXAyOwotKwkJQklHTlVNICpibnRtcCwg KmJudG1wMjsKLSAJCUVDX0tFWSAqcGtleTI7Ci0gCi0gCQlwa2V5MiA9IEVDX0tFWV9uZXdfYnlf Y3VydmVfbmFtZShOSURfc2VjcDI1NmsxKTsKLUBAIC0xMTgyLDE5ICsxMTgyLDE5IEBAIG1haW4o aW50IGFyZ2MsIGNoYXIgKiphcmd2KQotIAkJCWNvbXByZXNzZWQgPSAxOwotIAkJfQotIAotLQkJ Qk5faW5pdCgmYm50bXApOwotLQkJQk5faW5pdCgmYm50bXAyKTsKLSsJCWJudG1wID0gQk5fbmV3 KCk7Ci0rCQlibnRtcDIgPSBCTl9uZXcoKTsKLSAJCWJuY3R4ID0gQk5fQ1RYX25ldygpOwotLQkJ RUNfR1JPVVBfZ2V0X29yZGVyKEVDX0tFWV9nZXQwX2dyb3VwKHBrZXkpLCAmYm50bXAyLCBOVUxM KTsKLS0JCUJOX21vZF9hZGQoJmJudG1wLAotKwkJRUNfR1JPVVBfZ2V0X29yZGVyKEVDX0tFWV9n ZXQwX2dyb3VwKHBrZXkpLCBibnRtcDIsIE5VTEwpOwotKwkJQk5fbW9kX2FkZChibnRtcCwKLSAJ CQkgICBFQ19LRVlfZ2V0MF9wcml2YXRlX2tleShwa2V5KSwKLSAJCQkgICBFQ19LRVlfZ2V0MF9w cml2YXRlX2tleShwa2V5MiksCi0tCQkJICAgJmJudG1wMiwKLSsJCQkgICBibnRtcDIsCi0gCQkJ ICAgYm5jdHgpOwotLQkJdmdfc2V0X3ByaXZrZXkoJmJudG1wLCBwa2V5KTsKLSsJCXZnX3NldF9w cml2a2V5KGJudG1wLCBwa2V5KTsKLSAJCUVDX0tFWV9mcmVlKHBrZXkyKTsKLS0JCUJOX2NsZWFy X2ZyZWUoJmJudG1wKTsKLS0JCUJOX2NsZWFyX2ZyZWUoJmJudG1wMik7Ci0rCQlCTl9jbGVhcl9m cmVlKGJudG1wKTsKLSsJCUJOX2NsZWFyX2ZyZWUoYm50bXAyKTsKLSAJCUJOX0NUWF9mcmVlKGJu Y3R4KTsKLSAJfQotIAotZGlmZiAtLWdpdCBhL29jbGVuZ2luZS5jIGIvb2NsZW5naW5lLmMKLWlu ZGV4IDQwODVlZGQuLjZmNjU4NDYgMTAwNjQ0Ci0tLS0gYS9vY2xlbmdpbmUuYwotKysrIGIvb2Ns ZW5naW5lLmMKLUBAIC00Myw2ICs0MywzNCBAQAotICNpbmNsdWRlICJwYXR0ZXJuLmgiCi0gI2lu Y2x1ZGUgInV0aWwuaCIKLSAKLSsvLyBVbmZvcnR1bmF0ZWx5IHdlIG5lZWQgdGhpcyEKLSsjaWYg T1BFTlNTTF9WRVJTSU9OX05VTUJFUiA+PSAweDAwMTAxMDAwMDAKLSsjZGVmaW5lIFBQTlRfQVJS T1dfWCBwcG50LT5YCi0rI2RlZmluZSBQUE5UX0FSUk9XX1kgcHBudC0+WQotKyNkZWZpbmUgUFBO VF9BUlJPV19aIHBwbnQtPloKLSsjZGVmaW5lIFBQU19BUlJPV19YIHBwcy0+WAotKyNkZWZpbmUg UFBTX0FSUk9XX1kgcHBzLT5ZCi0rI2RlZmluZSBQUFNfQVJST1dfWiBwcHMtPloKLSsjZGVmaW5l IFBQVF9BUlJPV19YIHBwdC0+WAotKyNkZWZpbmUgUFBUX0FSUk9XX1kgcHB0LT5ZCi0rI2RlZmlu ZSBQUFJfQVJST1dfWCBwcHItPlgKLSsjZGVmaW5lIFBQUl9BUlJPV19ZIHBwci0+WQotKyNkZWZp bmUgUFBDX0FSUk9XX1ggcHBjLT5YCi0rI2RlZmluZSBQUENfQVJST1dfWSBwcGMtPlkKLSsjZWxz ZQotKyNkZWZpbmUgUFBOVF9BUlJPV19YICZwcG50LT5YCi0rI2RlZmluZSBQUE5UX0FSUk9XX1kg JnBwbnQtPlkKLSsjZGVmaW5lIFBQTlRfQVJST1dfWiAmcHBudC0+WgotKyNkZWZpbmUgUFBTX0FS Uk9XX1ggJnBwcy0+WAotKyNkZWZpbmUgUFBTX0FSUk9XX1kgJnBwcy0+WQotKyNkZWZpbmUgUFBT X0FSUk9XX1ogJnBwcy0+WgotKyNkZWZpbmUgUFBUX0FSUk9XX1ggJnBwdC0+WAotKyNkZWZpbmUg UFBUX0FSUk9XX1kgJnBwdC0+WQotKyNkZWZpbmUgUFBSX0FSUk9XX1ggJnBwci0+WAotKyNkZWZp bmUgUFBSX0FSUk9XX1kgJnBwci0+WQotKyNkZWZpbmUgUFBDX0FSUk9XX1ggJnBwYy0+WAotKyNk ZWZpbmUgUFBDX0FSUk9XX1kgJnBwYy0+WQotKyNlbmRpZgotIAotICNkZWZpbmUgTUFYX1NMT1Qg MgotICNkZWZpbmUgTUFYX0FSRyA2Ci1AQCAtMTMwNywxNCArMTMzNSwyMSBAQCB2Z19vY2xfa2Vy bmVsX3dhaXQodmdfb2NsX2NvbnRleHRfdCAqdm9jcCwgaW50IHNsb3QpCi0gc3RhdGljIElOTElO RSB2b2lkCi0gdmdfb2NsX2dldF9iaWdudW1fcmF3KEJJR05VTSAqYm4sIGNvbnN0IHVuc2lnbmVk IGNoYXIgKmJ1ZikKLSB7Ci0rI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPj0gMHgwMDEwMTAw MDAwCi0rCUJOX2xlYmluMmJuKGJ1ZiwgMzIsIGJuKTsKLSsjZWxzZQotIAlibl9leHBhbmQoYm4s IDI1Nik7Ci0gCW1lbWNweShibi0+ZCwgYnVmLCAzMik7Ci0gCWJuLT50b3AgPSAoMzIgLyBzaXpl b2YoQk5fVUxPTkcpKTsKLSsjZW5kaWYKLSB9Ci0gCi0gc3RhdGljIElOTElORSB2b2lkCi0gdmdf b2NsX3B1dF9iaWdudW1fcmF3KHVuc2lnbmVkIGNoYXIgKmJ1ZiwgY29uc3QgQklHTlVNICpibikK LSB7Ci0rI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPj0gMHgwMDEwMTAwMDAwCi0rCUJOX2Ju MmxlYmlucGFkKGJuLCBidWYsIDMyKTsKLSsjZWxzZQotIAlpbnQgYm5sZW4gPSAoYm4tPnRvcCAq IHNpemVvZihCTl9VTE9ORykpOwotIAlpZiAoYm5sZW4gPj0gMzIpIHsKLSAJCW1lbWNweShidWYs IGJuLT5kLCAzMik7Ci1AQCAtMTMyMiw2ICsxMzU3LDcgQEAgdmdfb2NsX3B1dF9iaWdudW1fcmF3 KHVuc2lnbmVkIGNoYXIgKmJ1ZiwgY29uc3QgQklHTlVNICpibikKLSAJCW1lbWNweShidWYsIGJu LT5kLCBibmxlbik7Ci0gCQltZW1zZXQoYnVmICsgYm5sZW4sIDAsIDMyIC0gYm5sZW4pOwotIAl9 Ci0rI2VuZGlmCi0gfQotIAotICNkZWZpbmUgQUNDRVNTX0JVTkRMRSAxMDI0Ci1AQCAtMTM1MSw5 ICsxMzg3LDE1IEBAIHZnX29jbF9nZXRfYmlnbnVtX3RwYShCSUdOVU0gKmJuLCBjb25zdCB1bnNp Z25lZCBjaGFyICpidWYsIGludCBjZWxsKQotIAotIHN0cnVjdCBlY19wb2ludF9zdCB7Ci0gCWNv bnN0IEVDX01FVEhPRCAqbWV0aDsKLSsjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA+PSAweDAw MTAxMDAwMDAKLSsJQklHTlVNICpYOwotKwlCSUdOVU0gKlk7Ci0rCUJJR05VTSAqWjsKLSsjZWxz ZQotIAlCSUdOVU0gWDsKLSAJQklHTlVNIFk7Ci0gCUJJR05VTSBaOwotKyNlbmRpZgotIAlpbnQg Wl9pc19vbmU7Ci0gfTsKLSAKLUBAIC0xMzYxLDExICsxNDAzLDExIEBAIHN0YXRpYyBJTkxJTkUg dm9pZAotIHZnX29jbF9nZXRfcG9pbnQoRUNfUE9JTlQgKnBwbnQsIGNvbnN0IHVuc2lnbmVkIGNo YXIgKmJ1ZikKLSB7Ci0gCXN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIG1vbnRfb25lW10gPSB7 IDB4MDEsMHgwMCwweDAwLDB4MDMsMHhkMSB9OwotLQl2Z19vY2xfZ2V0X2JpZ251bV9yYXcoJnBw bnQtPlgsIGJ1Zik7Ci0tCXZnX29jbF9nZXRfYmlnbnVtX3JhdygmcHBudC0+WSwgYnVmICsgMzIp OwotKwl2Z19vY2xfZ2V0X2JpZ251bV9yYXcoUFBOVF9BUlJPV19YLCBidWYpOwotKwl2Z19vY2xf Z2V0X2JpZ251bV9yYXcoUFBOVF9BUlJPV19ZLCBidWYgKyAzMik7Ci0gCWlmICghcHBudC0+Wl9p c19vbmUpIHsKLSAJCXBwbnQtPlpfaXNfb25lID0gMTsKLS0JCUJOX2JpbjJibihtb250X29uZSwg c2l6ZW9mKG1vbnRfb25lKSwgJnBwbnQtPlopOwotKwkJQk5fYmluMmJuKG1vbnRfb25lLCBzaXpl b2YobW9udF9vbmUpLCBQUE5UX0FSUk9XX1opOwotIAl9Ci0gfQotIAotQEAgLTEzNzMsOCArMTQx NSw4IEBAIHN0YXRpYyBJTkxJTkUgdm9pZAotIHZnX29jbF9wdXRfcG9pbnQodW5zaWduZWQgY2hh ciAqYnVmLCBjb25zdCBFQ19QT0lOVCAqcHBudCkKLSB7Ci0gCWFzc2VydChwcG50LT5aX2lzX29u ZSk7Ci0tCXZnX29jbF9wdXRfYmlnbnVtX3JhdyhidWYsICZwcG50LT5YKTsKLS0Jdmdfb2NsX3B1 dF9iaWdudW1fcmF3KGJ1ZiArIDMyLCAmcHBudC0+WSk7Ci0rCXZnX29jbF9wdXRfYmlnbnVtX3Jh dyhidWYsIFBQTlRfQVJST1dfWCk7Ci0rCXZnX29jbF9wdXRfYmlnbnVtX3JhdyhidWYgKyAzMiwg UFBOVF9BUlJPV19ZKTsKLSB9Ci0gCi0gc3RhdGljIHZvaWQKLUBAIC0xNjYyLDcgKzE3MDQsNyBA QCB2Z19vY2xfdmVyaWZ5X3RlbXBvcmFyeSh2Z19vY2xfY29udGV4dF90ICp2b2NwLCBpbnQgc2xv dCwgaW50IHpfaW52ZXJ0ZWQpCi0gCXVuc2lnbmVkIGNoYXIgKm9jbF9wb2ludHNfaW4gPSBOVUxM LCAqb2NsX3N0cmlkZXNfaW4gPSBOVUxMOwotIAljb25zdCBFQ19HUk9VUCAqcGdyb3VwOwotIAlF Q19QT0lOVCAqcHByID0gTlVMTCwgKnBwYyA9IE5VTEwsICpwcHMgPSBOVUxMLCAqcHB0ID0gTlVM TDsKLS0JQklHTlVNIGJueiwgYm5leiwgYm5tLCAqYm56YzsKLSsJQklHTlVNICpibnosICpibmV6 LCAqYm5tLCAqYm56YzsKLSAJQk5fQ1RYICpibmN0eCA9IE5VTEw7Ci0gCUJOX01PTlRfQ1RYICpi bm1vbnQ7Ci0gCWludCByZXQgPSAwOwotQEAgLTE2NzUsOSArMTcxNyw5IEBAIHZnX29jbF92ZXJp ZnlfdGVtcG9yYXJ5KHZnX29jbF9jb250ZXh0X3QgKnZvY3AsIGludCBzbG90LCBpbnQgel9pbnZl cnRlZCkKLSAJCTB4RkYsMHhGRiwweEZGLDB4RkUsMHhGRiwweEZGLDB4RkMsMHgyRgotIAl9Owot IAotLQlCTl9pbml0KCZibnopOwotLQlCTl9pbml0KCZibmV6KTsKLS0JQk5faW5pdCgmYm5tKTsK LSsJYm56ID0gQk5fbmV3KCk7Ci0rCWJuZXogPSBCTl9uZXcoKTsKLSsJYm5tID0gQk5fbmV3KCk7 Ci0gCi0gCWJuY3R4ID0gQk5fQ1RYX25ldygpOwotIAlibm1vbnQgPSBCTl9NT05UX0NUWF9uZXco KTsKLUBAIC0xNjkyLDEzICsxNzM0LDEzIEBAIHZnX29jbF92ZXJpZnlfdGVtcG9yYXJ5KHZnX29j bF9jb250ZXh0X3QgKnZvY3AsIGludCBzbG90LCBpbnQgel9pbnZlcnRlZCkKLSAJCWdvdG8gb3V0 OwotIAl9Ci0gCi0tCUJOX2JpbjJibihyYXdfbW9kdWx1cywgc2l6ZW9mKHJhd19tb2R1bHVzKSwg JmJubSk7Ci0tCUJOX01PTlRfQ1RYX3NldChibm1vbnQsICZibm0sIGJuY3R4KTsKLSsJQk5fYmlu MmJuKHJhd19tb2R1bHVzLCBzaXplb2YocmF3X21vZHVsdXMpLCBibm0pOwotKwlCTl9NT05UX0NU WF9zZXQoYm5tb250LCBibm0sIGJuY3R4KTsKLSAKLSAJaWYgKHpfaW52ZXJ0ZWQpIHsKLS0JCWJu emMgPSAmYm5lejsKLSsJCWJuemMgPSBibmV6OwotIAl9IGVsc2UgewotLQkJYm56YyA9ICZwcHMt Plo7Ci0rCQlibnpjID0gUFBTX0FSUk9XX1o7Ci0gCX0KLSAKLSAJel9oZWFwID0gKHVuc2lnbmVk IGNoYXIgKikKLUBAIC0xNzI2LDE1ICsxNzY4LDE1IEBAIHZnX29jbF92ZXJpZnlfdGVtcG9yYXJ5 KHZnX29jbF9jb250ZXh0X3QgKnZvY3AsIGludCBzbG90LCBpbnQgel9pbnZlcnRlZCkKLSAJCQlF Q19QT0lOVF9hZGQocGdyb3VwLCBwcHMsIHBwYywgcHByLCBibmN0eCk7Ci0gCQkJYXNzZXJ0KCFw cHMtPlpfaXNfb25lKTsKLSAJCQl2Z19vY2xfZ2V0X3BvaW50X3RwYShwcHQsIHBvaW50X3RtcCwg YnggKyB4KTsKLS0JCQl2Z19vY2xfZ2V0X2JpZ251bV90cGEoJmJueiwgel9oZWFwLCBieCArIHgp OwotKwkJCXZnX29jbF9nZXRfYmlnbnVtX3RwYShibnosIHpfaGVhcCwgYnggKyB4KTsKLSAJCQlp ZiAoel9pbnZlcnRlZCkgewotLQkJCQlCTl9tb2RfaW52ZXJzZSgmYm5leiwgJnBwcy0+WiwgJmJu bSwgYm5jdHgpOwotLQkJCQlCTl90b19tb250Z29tZXJ5KCZibmV6LCAmYm5leiwgYm5tb250LCBi bmN0eCk7Ci0tCQkJCUJOX3RvX21vbnRnb21lcnkoJmJuZXosICZibmV6LCBibm1vbnQsIGJuY3R4 KTsKLSsJCQkJQk5fbW9kX2ludmVyc2UoYm5leiwgUFBTX0FSUk9XX1osIGJubSwgYm5jdHgpOwot KwkJCQlCTl90b19tb250Z29tZXJ5KGJuZXosIGJuZXosIGJubW9udCwgYm5jdHgpOwotKwkJCQlC Tl90b19tb250Z29tZXJ5KGJuZXosIGJuZXosIGJubW9udCwgYm5jdHgpOwotIAkJCX0KLS0JCQlp ZiAoQk5fY21wKCZwcHQtPlgsICZwcHMtPlgpIHx8Ci0tCQkJICAgIEJOX2NtcCgmcHB0LT5ZLCAm cHBzLT5ZKSB8fAotLQkJCSAgICBCTl9jbXAoJmJueiwgYm56YykpIHsKLSsJCQlpZiAoQk5fY21w KFBQVF9BUlJPV19YLCBQUFNfQVJST1dfWCkgfHwKLSsJCQkgICAgQk5fY21wKFBQVF9BUlJPV19Z LCBQUFNfQVJST1dfWSkgfHwKLSsJCQkgICAgQk5fY21wKGJueiwgYm56YykpIHsKLSAJCQkJaWYg KCFtaXNtYXRjaGVzKSB7Ci0gCQkJCQlmcHJpbnRmKHN0ZGVyciwgIkJhc2UgcHJpdmtleTogIik7 Ci0gCQkJCQlmZHVtcGJuKHN0ZGVyciwgRUNfS0VZX2dldDBfcHJpdmF0ZV9rZXkoCi1AQCAtMTc0 NywzMyArMTc4OSwzMyBAQCB2Z19vY2xfdmVyaWZ5X3RlbXBvcmFyeSh2Z19vY2xfY29udGV4dF90 ICp2b2NwLCBpbnQgc2xvdCwgaW50IHpfaW52ZXJ0ZWQpCi0gCQkJCWlmICghbW1fcikgewotIAkJ CQkJbW1fciA9IDE7Ci0gCQkJCQlmcHJpbnRmKHN0ZGVyciwgIlJvdyBYICAgOiAiKTsKLS0JCQkJ CWZkdW1wYm4oc3RkZXJyLCAmcHByLT5YKTsKLSsJCQkJCWZkdW1wYm4oc3RkZXJyLCBQUFJfQVJS T1dfWCk7Ci0gCQkJCQlmcHJpbnRmKHN0ZGVyciwgIlJvdyBZICAgOiAiKTsKLS0JCQkJCWZkdW1w Ym4oc3RkZXJyLCAmcHByLT5ZKTsKLSsJCQkJCWZkdW1wYm4oc3RkZXJyLCBQUFNfQVJST1dfWSk7 Ci0gCQkJCX0KLSAKLSAJCQkJZnByaW50ZihzdGRlcnIsICJDb2x1bW4gWDogIik7Ci0tCQkJCWZk dW1wYm4oc3RkZXJyLCAmcHBjLT5YKTsKLSsJCQkJZmR1bXBibihzdGRlcnIsIFBQQ19BUlJPV19Y KTsKLSAJCQkJZnByaW50ZihzdGRlcnIsICJDb2x1bW4gWTogIik7Ci0tCQkJCWZkdW1wYm4oc3Rk ZXJyLCAmcHBjLT5ZKTsKLSsJCQkJZmR1bXBibihzdGRlcnIsIFBQQ19BUlJPV19ZKTsKLSAKLS0J CQkJaWYgKEJOX2NtcCgmcHB0LT5YLCAmcHBzLT5YKSkgewotKwkJCQlpZiAoQk5fY21wKFBQVF9B UlJPV19YLCBQUFNfQVJST1dfWCkpIHsKLSAJCQkJCWZwcmludGYoc3RkZXJyLCAiRXhwZWN0IFg6 ICIpOwotLQkJCQkJZmR1bXBibihzdGRlcnIsICZwcHMtPlgpOwotKwkJCQkJZmR1bXBibihzdGRl cnIsIFBQU19BUlJPV19YKTsKLSAJCQkJCWZwcmludGYoc3RkZXJyLCAiRGV2aWNlIFg6ICIpOwot LQkJCQkJZmR1bXBibihzdGRlcnIsICZwcHQtPlgpOwotKwkJCQkJZmR1bXBibihzdGRlcnIsIFBQ VF9BUlJPV19YKTsKLSAJCQkJfQotLQkJCQlpZiAoQk5fY21wKCZwcHQtPlksICZwcHMtPlkpKSB7 Ci0rCQkJCWlmIChCTl9jbXAoUFBUX0FSUk9XX1ksIFBQU19BUlJPV19ZKSkgewotIAkJCQkJZnBy aW50ZihzdGRlcnIsICJFeHBlY3QgWTogIik7Ci0tCQkJCQlmZHVtcGJuKHN0ZGVyciwgJnBwcy0+ WSk7Ci0rCQkJCQlmZHVtcGJuKHN0ZGVyciwgUFBTX0FSUk9XX1kpOwotIAkJCQkJZnByaW50Zihz dGRlcnIsICJEZXZpY2UgWTogIik7Ci0tCQkJCQlmZHVtcGJuKHN0ZGVyciwgJnBwdC0+WSk7Ci0r CQkJCQlmZHVtcGJuKHN0ZGVyciwgUFBUX0FSUk9XX1kpOwotIAkJCQl9Ci0tCQkJCWlmIChCTl9j bXAoJmJueiwgYm56YykpIHsKLSsJCQkJaWYgKEJOX2NtcChibnosIGJuemMpKSB7Ci0gCQkJCQlm cHJpbnRmKHN0ZGVyciwgIkV4cGVjdCBaOiAiKTsKLSAJCQkJCWZkdW1wYm4oc3RkZXJyLCBibnpj KTsKLSAJCQkJCWZwcmludGYoc3RkZXJyLCAiRGV2aWNlIFo6ICIpOwotLQkJCQkJZmR1bXBibihz dGRlcnIsICZibnopOwotKwkJCQkJZmR1bXBibihzdGRlcnIsIGJueik7Ci0gCQkJCX0KLSAJCQl9 Ci0gCQl9Ci1AQCAtMTc5OCw5ICsxODQwLDkgQEAgdmdfb2NsX3ZlcmlmeV90ZW1wb3Jhcnkodmdf b2NsX2NvbnRleHRfdCAqdm9jcCwgaW50IHNsb3QsIGludCB6X2ludmVydGVkKQotIAkJRUNfUE9J TlRfZnJlZShwcHMpOwotIAlpZiAocHB0KQotIAkJRUNfUE9JTlRfZnJlZShwcHQpOwotLQlCTl9j bGVhcl9mcmVlKCZibnopOwotLQlCTl9jbGVhcl9mcmVlKCZibmV6KTsKLS0JQk5fY2xlYXJfZnJl ZSgmYm5tKTsKLSsJQk5fY2xlYXJfZnJlZShibnopOwotKwlCTl9jbGVhcl9mcmVlKGJuZXopOwot KwlCTl9jbGVhcl9mcmVlKGJubSk7Ci0gCWlmIChibm1vbnQpCi0gCQlCTl9NT05UX0NUWF9mcmVl KGJubW9udCk7Ci0gCWlmIChibmN0eCkKLUBAIC0xOTcxLDEzICsyMDEzLDEzIEBAIHZnX29wZW5j bF9sb29wKHZnX2V4ZWNfY29udGV4dF90ICphcmcpCi0gCWlmICghcGJhdGNoaW5jIHx8ICFwb2Zm c2V0IHx8ICFwc2VlaykKLSAJCWdvdG8gZW5vbWVtOwotIAotLQlCTl9zZXRfd29yZCgmdnhjcC0+ dnhjX2JudG1wLCBuY29scyk7Ci0tCUVDX1BPSU5UX211bChwZ3JvdXAsIHBiYXRjaGluYywgJnZ4 Y3AtPnZ4Y19ibnRtcCwgTlVMTCwgTlVMTCwKLSsJQk5fc2V0X3dvcmQodnhjcC0+dnhjX2JudG1w LCBuY29scyk7Ci0rCUVDX1BPSU5UX211bChwZ3JvdXAsIHBiYXRjaGluYywgdnhjcC0+dnhjX2Ju dG1wLCBOVUxMLCBOVUxMLAotIAkJICAgICB2eGNwLT52eGNfYm5jdHgpOwotIAlFQ19QT0lOVF9t YWtlX2FmZmluZShwZ3JvdXAsIHBiYXRjaGluYywgdnhjcC0+dnhjX2JuY3R4KTsKLSAKLS0JQk5f c2V0X3dvcmQoJnZ4Y3AtPnZ4Y19ibnRtcCwgcm91bmQpOwotLQlFQ19QT0lOVF9tdWwocGdyb3Vw LCBwb2Zmc2V0LCAmdnhjcC0+dnhjX2JudG1wLCBOVUxMLCBOVUxMLAotKwlCTl9zZXRfd29yZCh2 eGNwLT52eGNfYm50bXAsIHJvdW5kKTsKLSsJRUNfUE9JTlRfbXVsKHBncm91cCwgcG9mZnNldCwg dnhjcC0+dnhjX2JudG1wLCBOVUxMLCBOVUxMLAotIAkJICAgICB2eGNwLT52eGNfYm5jdHgpOwot IAlFQ19QT0lOVF9tYWtlX2FmZmluZShwZ3JvdXAsIHBvZmZzZXQsIHZ4Y3AtPnZ4Y19ibmN0eCk7 Ci0gCi1AQCAtMjA0NiwxMiArMjA4OCwxMiBAQCB2Z19vcGVuY2xfbG9vcCh2Z19leGVjX2NvbnRl eHRfdCAqYXJnKQotIAl9Ci0gCi0gCS8qIERldGVybWluZSByZWtleSBpbnRlcnZhbCAqLwotLQlF Q19HUk9VUF9nZXRfb3JkZXIocGdyb3VwLCAmdnhjcC0+dnhjX2JudG1wLCB2eGNwLT52eGNfYm5j dHgpOwotLQlCTl9zdWIoJnZ4Y3AtPnZ4Y19ibnRtcDIsCi0tCSAgICAgICAmdnhjcC0+dnhjX2Ju dG1wLAotKwlFQ19HUk9VUF9nZXRfb3JkZXIocGdyb3VwLCB2eGNwLT52eGNfYm50bXAsIHZ4Y3At PnZ4Y19ibmN0eCk7Ci0rCUJOX3N1Yih2eGNwLT52eGNfYm50bXAyLAotKwkgICAgICAgdnhjcC0+ dnhjX2JudG1wLAotIAkgICAgICAgRUNfS0VZX2dldDBfcHJpdmF0ZV9rZXkocGtleSkpOwotLQly ZWtleV9hdCA9IEJOX2dldF93b3JkKCZ2eGNwLT52eGNfYm50bXAyKTsKLS0JaWYgKChyZWtleV9h dCA9PSBCTl9NQVNLMikgfHwgKHJla2V5X2F0ID4gcmVrZXlfbWF4KSkKLSsJcmVrZXlfYXQgPSBC Tl9nZXRfd29yZCh2eGNwLT52eGNfYm50bXAyKTsKLSsJaWYgKChyZWtleV9hdCA9PSAweGZmZmZm ZmZmTCkgfHwgKHJla2V5X2F0ID4gcmVrZXlfbWF4KSkKLSAJCXJla2V5X2F0ID0gcmVrZXlfbWF4 OwotIAlhc3NlcnQocmVrZXlfYXQgPiAwKTsKLSAKLWRpZmYgLS1naXQgYS9wYXR0ZXJuLmMgYi9w YXR0ZXJuLmMKLWluZGV4IGI4NDMzNGUuLjU2NzNhN2UgMTAwNjQ0Ci0tLS0gYS9wYXR0ZXJuLmMK LSsrKyBiL3BhdHRlcm4uYwotQEAgLTE1MSwxMiArMTUxLDEyIEBAIHZnX2V4ZWNfY29udGV4dF9p bml0KHZnX2NvbnRleHRfdCAqdmNwLCB2Z19leGVjX2NvbnRleHRfdCAqdnhjcCkKLSAKLSAJdnhj cC0+dnhjX3ZjID0gdmNwOwotIAotLQlCTl9pbml0KCZ2eGNwLT52eGNfYm50YXJnKTsKLS0JQk5f aW5pdCgmdnhjcC0+dnhjX2JuYmFzZSk7Ci0tCUJOX2luaXQoJnZ4Y3AtPnZ4Y19ibnRtcCk7Ci0t CUJOX2luaXQoJnZ4Y3AtPnZ4Y19ibnRtcDIpOwotKwl2eGNwLT52eGNfYm50YXJnID0gQk5fbmV3 KCk7Ci0rCXZ4Y3AtPnZ4Y19ibmJhc2UgPSBCTl9uZXcoKTsKLSsJdnhjcC0+dnhjX2JudG1wID0g Qk5fbmV3KCk7Ci0rCXZ4Y3AtPnZ4Y19ibnRtcDIgPSBCTl9uZXcoKTsKLSAKLS0JQk5fc2V0X3dv cmQoJnZ4Y3AtPnZ4Y19ibmJhc2UsIDU4KTsKLSsJQk5fc2V0X3dvcmQodnhjcC0+dnhjX2JuYmFz ZSwgNTgpOwotIAotIAl2eGNwLT52eGNfYm5jdHggPSBCTl9DVFhfbmV3KCk7Ci0gCWFzc2VydCh2 eGNwLT52eGNfYm5jdHgpOwotQEAgLTE5NiwxMCArMTk2LDEwIEBAIHZnX2V4ZWNfY29udGV4dF9k ZWwodmdfZXhlY19jb250ZXh0X3QgKnZ4Y3ApCi0gCWlmICh0cC0+dnhjX3N0b3ApCi0gCQlwdGhy ZWFkX2NvbmRfc2lnbmFsKCZ2Z190aHJlYWRfdXBjb25kKTsKLSAKLS0JQk5fY2xlYXJfZnJlZSgm dnhjcC0+dnhjX2JudGFyZyk7Ci0tCUJOX2NsZWFyX2ZyZWUoJnZ4Y3AtPnZ4Y19ibmJhc2UpOwot LQlCTl9jbGVhcl9mcmVlKCZ2eGNwLT52eGNfYm50bXApOwotLQlCTl9jbGVhcl9mcmVlKCZ2eGNw LT52eGNfYm50bXAyKTsKLSsJQk5fY2xlYXJfZnJlZSh2eGNwLT52eGNfYm50YXJnKTsKLSsJQk5f Y2xlYXJfZnJlZSh2eGNwLT52eGNfYm5iYXNlKTsKLSsJQk5fY2xlYXJfZnJlZSh2eGNwLT52eGNf Ym50bXApOwotKwlCTl9jbGVhcl9mcmVlKHZ4Y3AtPnZ4Y19ibnRtcDIpOwotIAlCTl9DVFhfZnJl ZSh2eGNwLT52eGNfYm5jdHgpOwotIAl2eGNwLT52eGNfYm5jdHggPSBOVUxMOwotIAlwdGhyZWFk X211dGV4X3VubG9jaygmdmdfdGhyZWFkX2xvY2spOwotQEAgLTIyNSwxMiArMjI1LDEyIEBAIHZv aWQKLSB2Z19leGVjX2NvbnRleHRfY29uc29saWRhdGVfa2V5KHZnX2V4ZWNfY29udGV4dF90ICp2 eGNwKQotIHsKLSAJaWYgKHZ4Y3AtPnZ4Y19kZWx0YSkgewotLQkJQk5fY2xlYXIoJnZ4Y3AtPnZ4 Y19ibnRtcCk7Ci0tCQlCTl9zZXRfd29yZCgmdnhjcC0+dnhjX2JudG1wLCB2eGNwLT52eGNfZGVs dGEpOwotLQkJQk5fYWRkKCZ2eGNwLT52eGNfYm50bXAyLAotKwkJQk5fY2xlYXIodnhjcC0+dnhj X2JudG1wKTsKLSsJCUJOX3NldF93b3JkKHZ4Y3AtPnZ4Y19ibnRtcCwgdnhjcC0+dnhjX2RlbHRh KTsKLSsJCUJOX2FkZCh2eGNwLT52eGNfYm50bXAyLAotIAkJICAgICAgIEVDX0tFWV9nZXQwX3By aXZhdGVfa2V5KHZ4Y3AtPnZ4Y19rZXkpLAotLQkJICAgICAgICZ2eGNwLT52eGNfYm50bXApOwot LQkJdmdfc2V0X3ByaXZrZXkoJnZ4Y3AtPnZ4Y19ibnRtcDIsIHZ4Y3AtPnZ4Y19rZXkpOwotKwkJ ICAgICAgIHZ4Y3AtPnZ4Y19ibnRtcCk7Ci0rCQl2Z19zZXRfcHJpdmtleSh2eGNwLT52eGNfYm50 bXAyLCB2eGNwLT52eGNfa2V5KTsKLSAJCXZ4Y3AtPnZ4Y19kZWx0YSA9IDA7Ci0gCX0KLSB9Ci1A QCAtNzUxLDIwICs3NTEsMjAgQEAgZ2V0X3ByZWZpeF9yYW5nZXMoaW50IGFkZHJ0eXBlLCBjb25z dCBjaGFyICpwZngsIEJJR05VTSAqKnJlc3VsdCwKLSAJaW50IGI1OHBvdywgYjU4Y2VpbCwgYjU4 dG9wID0gMDsKLSAJaW50IHJldCA9IC0xOwotIAotLQlCSUdOVU0gYm50YXJnLCBibmNlaWwsIGJu Zmxvb3I7Ci0tCUJJR05VTSBibmJhc2U7Ci0rCUJJR05VTSAqYm50YXJnLCAqYm5jZWlsLCAqYm5m bG9vcjsKLSsJQklHTlVNICpibmJhc2U7Ci0gCUJJR05VTSAqYm5hcCwgKmJuYnAsICpibnRwOwot IAlCSUdOVU0gKmJuaGlnaCA9IE5VTEwsICpibmxvdyA9IE5VTEwsICpibmhpZ2gyID0gTlVMTCwg KmJubG93MiA9IE5VTEw7Ci0tCUJJR05VTSBibnRtcCwgYm50bXAyOwotKwlCSUdOVU0gKmJudG1w LCAqYm50bXAyOwotIAotLQlCTl9pbml0KCZibnRhcmcpOwotLQlCTl9pbml0KCZibmNlaWwpOwot LQlCTl9pbml0KCZibmZsb29yKTsKLS0JQk5faW5pdCgmYm5iYXNlKTsKLS0JQk5faW5pdCgmYm50 bXApOwotLQlCTl9pbml0KCZibnRtcDIpOwotKwlibnRhcmcgPSBCTl9uZXcoKTsKLSsJYm5jZWls ID0gQk5fbmV3KCk7Ci0rCWJuZmxvb3IgPSBCTl9uZXcoKTsKLSsJYm5iYXNlID0gQk5fbmV3KCk7 Ci0rCWJudG1wID0gQk5fbmV3KCk7Ci0rCWJudG1wMiA9IEJOX25ldygpOwotIAotLQlCTl9zZXRf d29yZCgmYm5iYXNlLCA1OCk7Ci0rCUJOX3NldF93b3JkKGJuYmFzZSwgNTgpOwotIAotIAlwID0g c3RybGVuKHBmeCk7Ci0gCi1AQCAtNzkxLDIwICs3OTEsMjAgQEAgZ2V0X3ByZWZpeF9yYW5nZXMo aW50IGFkZHJ0eXBlLCBjb25zdCBjaGFyICpwZngsIEJJR05VTSAqKnJlc3VsdCwKLSAKLSAJCQkv KiBGaXJzdCBub24temVybyBjaGFyYWN0ZXIgKi8KLSAJCQliNTh0b3AgPSBjOwotLQkJCUJOX3Nl dF93b3JkKCZibnRhcmcsIGMpOwotKwkJCUJOX3NldF93b3JkKGJudGFyZywgYyk7Ci0gCi0gCQl9 IGVsc2UgewotLQkJCUJOX3NldF93b3JkKCZibnRtcDIsIGMpOwotLQkJCUJOX211bCgmYm50bXAs ICZibnRhcmcsICZibmJhc2UsIGJuY3R4KTsKLS0JCQlCTl9hZGQoJmJudGFyZywgJmJudG1wLCAm Ym50bXAyKTsKLSsJCQlCTl9zZXRfd29yZChibnRtcDIsIGMpOwotKwkJCUJOX211bChibnRtcCwg Ym50YXJnLCBibmJhc2UsIGJuY3R4KTsKLSsJCQlCTl9hZGQoYm50YXJnLCBibnRtcCwgYm50bXAy KTsKLSAJCX0KLSAJfQotIAotIAkvKiBQb3dlci1vZi10d28gY2VpbGluZyBhbmQgZmxvb3IgdmFs dWVzIGJhc2VkIG9uIGxlYWRpbmcgMXMgKi8KLS0JQk5fY2xlYXIoJmJudG1wKTsKLS0JQk5fc2V0 X2JpdCgmYm50bXAsIDIwMCAtICh6ZXJvX3ByZWZpeCAqIDgpKTsKLS0JQk5fc3ViKCZibmNlaWws ICZibnRtcCwgQk5fdmFsdWVfb25lKCkpOwotLQlCTl9zZXRfYml0KCZibmZsb29yLCAxOTIgLSAo emVyb19wcmVmaXggKiA4KSk7Ci0rCUJOX2NsZWFyKGJudG1wKTsKLSsJQk5fc2V0X2JpdChibnRt cCwgMjAwIC0gKHplcm9fcHJlZml4ICogOCkpOwotKwlCTl9zdWIoYm5jZWlsLCBibnRtcCwgQk5f dmFsdWVfb25lKCkpOwotKwlCTl9zZXRfYml0KGJuZmxvb3IsIDE5MiAtICh6ZXJvX3ByZWZpeCAq IDgpKTsKLSAKLSAJYm5sb3cgPSBCTl9uZXcoKTsKLSAJYm5oaWdoID0gQk5fbmV3KCk7Ci1AQCAt ODE1LDEzICs4MTUsMTMgQEAgZ2V0X3ByZWZpeF9yYW5nZXMoaW50IGFkZHJ0eXBlLCBjb25zdCBj aGFyICpwZngsIEJJR05VTSAqKnJlc3VsdCwKLSAJCSAqIG51bWVyaWMgYm91bmRhcmllcyBvZiB0 aGUgcHJlZml4LgotIAkJICovCi0gCi0tCQlCTl9jb3B5KCZibnRtcCwgJmJuY2VpbCk7Ci0tCQli bmFwID0gJmJudG1wOwotLQkJYm5icCA9ICZibnRtcDI7Ci0rCQlCTl9jb3B5KGJudG1wLCBibmNl aWwpOwotKwkJYm5hcCA9IGJudG1wOwotKwkJYm5icCA9IGJudG1wMjsKLSAJCWI1OHBvdyA9IDA7 Ci0tCQl3aGlsZSAoQk5fY21wKGJuYXAsICZibmJhc2UpID4gMCkgewotKwkJd2hpbGUgKEJOX2Nt cChibmFwLCBibmJhc2UpID4gMCkgewotIAkJCWI1OHBvdysrOwotLQkJCUJOX2RpdihibmJwLCBO VUxMLCBibmFwLCAmYm5iYXNlLCBibmN0eCk7Ci0rCQkJQk5fZGl2KGJuYnAsIE5VTEwsIGJuYXAs IGJuYmFzZSwgYm5jdHgpOwotIAkJCWJudHAgPSBibmFwOwotIAkJCWJuYXAgPSBibmJwOwotIAkJ CWJuYnAgPSBibnRwOwotQEAgLTgzNywxMSArODM3LDExIEBAIGdldF9wcmVmaXhfcmFuZ2VzKGlu dCBhZGRydHlwZSwgY29uc3QgY2hhciAqcGZ4LCBCSUdOVU0gKipyZXN1bHQsCi0gCQkJLyogZ290 byBvdXQ7ICovCi0gCQl9Ci0gCi0tCQlCTl9zZXRfd29yZCgmYm50bXAyLCBiNThwb3cgLSAocCAt IHplcm9fcHJlZml4KSk7Ci0tCQlCTl9leHAoJmJudG1wLCAmYm5iYXNlLCAmYm50bXAyLCBibmN0 eCk7Ci0tCQlCTl9tdWwoYm5sb3csICZibnRtcCwgJmJudGFyZywgYm5jdHgpOwotLQkJQk5fc3Vi KCZibnRtcDIsICZibnRtcCwgQk5fdmFsdWVfb25lKCkpOwotLQkJQk5fYWRkKGJuaGlnaCwgYm5s b3csICZibnRtcDIpOwotKwkJQk5fc2V0X3dvcmQoYm50bXAyLCBiNThwb3cgLSAocCAtIHplcm9f cHJlZml4KSk7Ci0rCQlCTl9leHAoYm50bXAsIGJuYmFzZSwgYm50bXAyLCBibmN0eCk7Ci0rCQlC Tl9tdWwoYm5sb3csIGJudG1wLCBibnRhcmcsIGJuY3R4KTsKLSsJCUJOX3N1YihibnRtcDIsIGJu dG1wLCBCTl92YWx1ZV9vbmUoKSk7Ci0rCQlCTl9hZGQoYm5oaWdoLCBibmxvdywgYm50bXAyKTsK LSAKLSAJCWlmIChiNTh0b3AgPD0gYjU4Y2VpbCkgewotIAkJCS8qIEZpbGwgb3V0IHRoZSB1cHBl ciByYW5nZSB0b28gKi8KLUBAIC04NDksMTYgKzg0OSwxNiBAQCBnZXRfcHJlZml4X3Jhbmdlcyhp bnQgYWRkcnR5cGUsIGNvbnN0IGNoYXIgKnBmeCwgQklHTlVNICoqcmVzdWx0LAotIAkJCWJubG93 MiA9IEJOX25ldygpOwotIAkJCWJuaGlnaDIgPSBCTl9uZXcoKTsKLSAKLS0JCQlCTl9tdWwoYm5s b3cyLCBibmxvdywgJmJuYmFzZSwgYm5jdHgpOwotLQkJCUJOX211bCgmYm50bXAyLCBibmhpZ2gs ICZibmJhc2UsIGJuY3R4KTsKLS0JCQlCTl9zZXRfd29yZCgmYm50bXAsIDU3KTsKLS0JCQlCTl9h ZGQoYm5oaWdoMiwgJmJudG1wMiwgJmJudG1wKTsKLSsJCQlCTl9tdWwoYm5sb3cyLCBibmxvdywg Ym5iYXNlLCBibmN0eCk7Ci0rCQkJQk5fbXVsKGJudG1wMiwgYm5oaWdoLCBibmJhc2UsIGJuY3R4 KTsKLSsJCQlCTl9zZXRfd29yZChibnRtcCwgNTcpOwotKwkJCUJOX2FkZChibmhpZ2gyLCBibnRt cDIsIGJudG1wKTsKLSAKLSAJCQkvKgotIAkJCSAqIEFkZHJlc3NlcyBhYm92ZSB0aGUgY2VpbGlu ZyB3aWxsIGhhdmUgb25lCi0gCQkJICogZmV3ZXIgIjEiIHByZWZpeCBpbiBmcm9udCB0aGFuIHdl IHJlcXVpcmUuCi0gCQkJICovCi0tCQkJaWYgKEJOX2NtcCgmYm5jZWlsLCBibmxvdzIpIDwgMCkg ewotKwkJCWlmIChCTl9jbXAoYm5jZWlsLCBibmxvdzIpIDwgMCkgewotIAkJCQkvKiBIaWdoIHBy ZWZpeCBpcyBhYm92ZSB0aGUgY2VpbGluZyAqLwotIAkJCQljaGVja191cHBlciA9IDA7Ci0gCQkJ CUJOX2ZyZWUoYm5oaWdoMik7Ci1AQCAtODY2LDE1ICs4NjYsMTUgQEAgZ2V0X3ByZWZpeF9yYW5n ZXMoaW50IGFkZHJ0eXBlLCBjb25zdCBjaGFyICpwZngsIEJJR05VTSAqKnJlc3VsdCwKLSAJCQkJ Qk5fZnJlZShibmxvdzIpOwotIAkJCQlibmxvdzIgPSBOVUxMOwotIAkJCX0KLS0JCQllbHNlIGlm IChCTl9jbXAoJmJuY2VpbCwgYm5oaWdoMikgPCAwKQotKwkJCWVsc2UgaWYgKEJOX2NtcChibmNl aWwsIGJuaGlnaDIpIDwgMCkKLSAJCQkJLyogSGlnaCBwcmVmaXggaXMgcGFydGx5IGFib3ZlIHRo ZSBjZWlsaW5nICovCi0tCQkJCUJOX2NvcHkoYm5oaWdoMiwgJmJuY2VpbCk7Ci0rCQkJCUJOX2Nv cHkoYm5oaWdoMiwgYm5jZWlsKTsKLSAKLSAJCQkvKgotIAkJCSAqIEFkZHJlc3NlcyBiZWxvdyB0 aGUgZmxvb3Igd2lsbCBoYXZlIGFub3RoZXIKLSAJCQkgKiAiMSIgcHJlZml4IGluIGZyb250IGlu c3RlYWQgb2Ygb3VyIHRhcmdldC4KLSAJCQkgKi8KLS0JCQlpZiAoQk5fY21wKCZibmZsb29yLCBi bmhpZ2gpID49IDApIHsKLSsJCQlpZiAoQk5fY21wKGJuZmxvb3IsIGJuaGlnaCkgPj0gMCkgewot IAkJCQkvKiBMb3cgcHJlZml4IGlzIGNvbXBsZXRlbHkgYmVsb3cgdGhlIGZsb29yICovCi0gCQkJ CWFzc2VydChjaGVja191cHBlcik7Ci0gCQkJCWNoZWNrX3VwcGVyID0gMDsKLUBAIC04ODUsMzUg Kzg4NSwzNSBAQCBnZXRfcHJlZml4X3JhbmdlcyhpbnQgYWRkcnR5cGUsIGNvbnN0IGNoYXIgKnBm eCwgQklHTlVNICoqcmVzdWx0LAotIAkJCQlibmxvdyA9IGJubG93MjsKLSAJCQkJYm5sb3cyID0g TlVMTDsKLSAJCQl9CQkJCi0tCQkJZWxzZSBpZiAoQk5fY21wKCZibmZsb29yLCBibmxvdykgPiAw KSB7Ci0rCQkJZWxzZSBpZiAoQk5fY21wKGJuZmxvb3IsIGJubG93KSA+IDApIHsKLSAJCQkJLyog TG93IHByZWZpeCBpcyBwYXJ0bHkgYmVsb3cgdGhlIGZsb29yICovCi0tCQkJCUJOX2NvcHkoYm5s b3csICZibmZsb29yKTsKLSsJCQkJQk5fY29weShibmxvdywgYm5mbG9vcik7Ci0gCQkJfQotIAkJ fQotIAotIAl9IGVsc2UgewotLQkJQk5fY29weShibmhpZ2gsICZibmNlaWwpOwotKwkJQk5fY29w eShibmhpZ2gsIGJuY2VpbCk7Ci0gCQlCTl9jbGVhcihibmxvdyk7Ci0gCX0KLSAKLSAJLyogTGlt aXQgdGhlIHByZWZpeCB0byB0aGUgYWRkcmVzcyB0eXBlICovCi0tCUJOX2NsZWFyKCZibnRtcCk7 Ci0tCUJOX3NldF93b3JkKCZibnRtcCwgYWRkcnR5cGUpOwotLQlCTl9sc2hpZnQoJmJudG1wMiwg JmJudG1wLCAxOTIpOwotKwlCTl9jbGVhcihibnRtcCk7Ci0rCUJOX3NldF93b3JkKGJudG1wLCBh ZGRydHlwZSk7Ci0rCUJOX2xzaGlmdChibnRtcDIsIGJudG1wLCAxOTIpOwotIAotIAlpZiAoY2hl Y2tfdXBwZXIpIHsKLS0JCWlmIChCTl9jbXAoJmJudG1wMiwgYm5oaWdoMikgPiAwKSB7Ci0rCQlp ZiAoQk5fY21wKGJudG1wMiwgYm5oaWdoMikgPiAwKSB7Ci0gCQkJY2hlY2tfdXBwZXIgPSAwOwot IAkJCUJOX2ZyZWUoYm5oaWdoMik7Ci0gCQkJYm5oaWdoMiA9IE5VTEw7Ci0gCQkJQk5fZnJlZShi bmxvdzIpOwotIAkJCWJubG93MiA9IE5VTEw7Ci0gCQl9Ci0tCQllbHNlIGlmIChCTl9jbXAoJmJu dG1wMiwgYm5sb3cyKSA+IDApCi0tCQkJQk5fY29weShibmxvdzIsICZibnRtcDIpOwotKwkJZWxz ZSBpZiAoQk5fY21wKGJudG1wMiwgYm5sb3cyKSA+IDApCi0rCQkJQk5fY29weShibmxvdzIsIGJu dG1wMik7Ci0gCX0KLSAKLS0JaWYgKEJOX2NtcCgmYm50bXAyLCBibmhpZ2gpID4gMCkgewotKwlp ZiAoQk5fY21wKGJudG1wMiwgYm5oaWdoKSA+IDApIHsKLSAJCWlmICghY2hlY2tfdXBwZXIpCi0g CQkJZ290byBub3RfcG9zc2libGU7Ci0gCQljaGVja191cHBlciA9IDA7Ci1AQCAtOTI0LDI2ICs5 MjQsMjYgQEAgZ2V0X3ByZWZpeF9yYW5nZXMoaW50IGFkZHJ0eXBlLCBjb25zdCBjaGFyICpwZngs IEJJR05VTSAqKnJlc3VsdCwKLSAJCWJubG93ID0gYm5sb3cyOwotIAkJYm5sb3cyID0gTlVMTDsK LSAJfQotLQllbHNlIGlmIChCTl9jbXAoJmJudG1wMiwgYm5sb3cpID4gMCkgewotLQkJQk5fY29w eShibmxvdywgJmJudG1wMik7Ci0rCWVsc2UgaWYgKEJOX2NtcChibnRtcDIsIGJubG93KSA+IDAp IHsKLSsJCUJOX2NvcHkoYm5sb3csIGJudG1wMik7Ci0gCX0KLSAKLS0JQk5fc2V0X3dvcmQoJmJu dG1wLCBhZGRydHlwZSArIDEpOwotLQlCTl9sc2hpZnQoJmJudG1wMiwgJmJudG1wLCAxOTIpOwot KwlCTl9zZXRfd29yZChibnRtcCwgYWRkcnR5cGUgKyAxKTsKLSsJQk5fbHNoaWZ0KGJudG1wMiwg Ym50bXAsIDE5Mik7Ci0gCi0gCWlmIChjaGVja191cHBlcikgewotLQkJaWYgKEJOX2NtcCgmYm50 bXAyLCBibmxvdzIpIDwgMCkgewotKwkJaWYgKEJOX2NtcChibnRtcDIsIGJubG93MikgPCAwKSB7 Ci0gCQkJY2hlY2tfdXBwZXIgPSAwOwotIAkJCUJOX2ZyZWUoYm5oaWdoMik7Ci0gCQkJYm5oaWdo MiA9IE5VTEw7Ci0gCQkJQk5fZnJlZShibmxvdzIpOwotIAkJCWJubG93MiA9IE5VTEw7Ci0gCQl9 Ci0tCQllbHNlIGlmIChCTl9jbXAoJmJudG1wMiwgYm5oaWdoMikgPCAwKQotLQkJCUJOX2NvcHko Ym5sb3cyLCAmYm50bXAyKTsKLSsJCWVsc2UgaWYgKEJOX2NtcChibnRtcDIsIGJuaGlnaDIpIDwg MCkKLSsJCQlCTl9jb3B5KGJubG93MiwgYm50bXAyKTsKLSAJfQotIAotLQlpZiAoQk5fY21wKCZi bnRtcDIsIGJubG93KSA8IDApIHsKLSsJaWYgKEJOX2NtcChibnRtcDIsIGJubG93KSA8IDApIHsK LSAJCWlmICghY2hlY2tfdXBwZXIpCi0gCQkJZ290byBub3RfcG9zc2libGU7Ci0gCQljaGVja191 cHBlciA9IDA7Ci1AQCAtOTU0LDggKzk1NCw4IEBAIGdldF9wcmVmaXhfcmFuZ2VzKGludCBhZGRy dHlwZSwgY29uc3QgY2hhciAqcGZ4LCBCSUdOVU0gKipyZXN1bHQsCi0gCQlibmxvdyA9IGJubG93 MjsKLSAJCWJubG93MiA9IE5VTEw7Ci0gCX0KLS0JZWxzZSBpZiAoQk5fY21wKCZibnRtcDIsIGJu aGlnaCkgPCAwKSB7Ci0tCQlCTl9jb3B5KGJuaGlnaCwgJmJudG1wMik7Ci0rCWVsc2UgaWYgKEJO X2NtcChibnRtcDIsIGJuaGlnaCkgPCAwKSB7Ci0rCQlCTl9jb3B5KGJuaGlnaCwgYm50bXAyKTsK LSAJfQotIAotIAkvKiBBZGRyZXNzIHJhbmdlcyBhcmUgY29tcGxldGUgKi8KLUBAIC05NzYsMTIg Kzk3NiwxMiBAQCBnZXRfcHJlZml4X3JhbmdlcyhpbnQgYWRkcnR5cGUsIGNvbnN0IGNoYXIgKnBm eCwgQklHTlVNICoqcmVzdWx0LAotIAl9Ci0gCi0gb3V0OgotLQlCTl9jbGVhcl9mcmVlKCZibnRh cmcpOwotLQlCTl9jbGVhcl9mcmVlKCZibmNlaWwpOwotLQlCTl9jbGVhcl9mcmVlKCZibmZsb29y KTsKLS0JQk5fY2xlYXJfZnJlZSgmYm5iYXNlKTsKLS0JQk5fY2xlYXJfZnJlZSgmYm50bXApOwot LQlCTl9jbGVhcl9mcmVlKCZibnRtcDIpOwotKwlCTl9jbGVhcl9mcmVlKGJudGFyZyk7Ci0rCUJO X2NsZWFyX2ZyZWUoYm5jZWlsKTsKLSsJQk5fY2xlYXJfZnJlZShibmZsb29yKTsKLSsJQk5fY2xl YXJfZnJlZShibmJhc2UpOwotKwlCTl9jbGVhcl9mcmVlKGJudG1wKTsKLSsJQk5fY2xlYXJfZnJl ZShibnRtcDIpOwotIAlpZiAoYm5oaWdoKQotIAkJQk5fZnJlZShibmhpZ2gpOwotIAlpZiAoYm5s b3cpCi1AQCAtMTI2Niw3ICsxMjY2LDcgQEAgcHJlZml4X2Nhc2VfaXRlcl9uZXh0KHByZWZpeF9j YXNlX2l0ZXJfdCAqY2lwKQotIHR5cGVkZWYgc3RydWN0IF92Z19wcmVmaXhfY29udGV4dF9zIHsK LSAJdmdfY29udGV4dF90CQliYXNlOwotIAlhdmxfcm9vdF90CQl2Y3BfYXZscm9vdDsKLS0JQklH TlVNCQkJdmNwX2RpZmZpY3VsdHk7Ci0rCUJJR05VTQkJCSp2Y3BfZGlmZmljdWx0eTsKLSAJaW50 CQkJdmNwX2Nhc2VpbnNlbnNpdGl2ZTsKLSB9IHZnX3ByZWZpeF9jb250ZXh0X3Q7Ci0gCi1AQCAt MTI5NCw3ICsxMjk0LDcgQEAgdmdfcHJlZml4X2NvbnRleHRfY2xlYXJfYWxsX3BhdHRlcm5zKHZn X2NvbnRleHRfdCAqdmNwKQotIAl2Y3BwLT5iYXNlLnZjX25wYXR0ZXJucyA9IDA7Ci0gCXZjcHAt PmJhc2UudmNfbnBhdHRlcm5zX3N0YXJ0ID0gMDsKLSAJdmNwcC0+YmFzZS52Y19mb3VuZCA9IDA7 Ci0tCUJOX2NsZWFyKCZ2Y3BwLT52Y3BfZGlmZmljdWx0eSk7Ci0rCUJOX2NsZWFyKHZjcHAtPnZj cF9kaWZmaWN1bHR5KTsKLSB9Ci0gCi0gc3RhdGljIHZvaWQKLUBAIC0xMzAyLDcgKzEzMDIsNyBA QCB2Z19wcmVmaXhfY29udGV4dF9mcmVlKHZnX2NvbnRleHRfdCAqdmNwKQotIHsKLSAJdmdfcHJl Zml4X2NvbnRleHRfdCAqdmNwcCA9ICh2Z19wcmVmaXhfY29udGV4dF90ICopIHZjcDsKLSAJdmdf cHJlZml4X2NvbnRleHRfY2xlYXJfYWxsX3BhdHRlcm5zKHZjcCk7Ci0tCUJOX2NsZWFyX2ZyZWUo JnZjcHAtPnZjcF9kaWZmaWN1bHR5KTsKLSsJQk5fY2xlYXJfZnJlZSh2Y3BwLT52Y3BfZGlmZmlj dWx0eSk7Ci0gCWZyZWUodmNwcCk7Ci0gfQotIAotQEAgLTEzMTQsNyArMTMxNCw3IEBAIHZnX3By ZWZpeF9jb250ZXh0X25leHRfZGlmZmljdWx0eSh2Z19wcmVmaXhfY29udGV4dF90ICp2Y3BwLAot IAotIAlCTl9jbGVhcihibnRtcCk7Ci0gCUJOX3NldF9iaXQoYm50bXAsIDE5Mik7Ci0tCUJOX2Rp dihibnRtcDIsIE5VTEwsIGJudG1wLCAmdmNwcC0+dmNwX2RpZmZpY3VsdHksIGJuY3R4KTsKLSsJ Qk5fZGl2KGJudG1wMiwgTlVMTCwgYm50bXAsIHZjcHAtPnZjcF9kaWZmaWN1bHR5LCBibmN0eCk7 Ci0gCi0gCWRidWYgPSBCTl9ibjJkZWMoYm50bXAyKTsKLSAJaWYgKHZjcHAtPmJhc2UudmNfdmVy Ym9zZSA+IDApIHsKLUBAIC0xMzM3LDcgKzEzMzcsNyBAQCB2Z19wcmVmaXhfY29udGV4dF9hZGRf cGF0dGVybnModmdfY29udGV4dF90ICp2Y3AsCi0gCXByZWZpeF9jYXNlX2l0ZXJfdCBjYXNlaXRl cjsKLSAJdmdfcHJlZml4X3QgKnZwLCAqdnAyOwotIAlCTl9DVFggKmJuY3R4OwotLQlCSUdOVU0g Ym50bXAsIGJudG1wMiwgYm50bXAzOwotKwlCSUdOVU0gKmJudG1wLCAqYm50bXAyLCAqYm50bXAz OwotIAlCSUdOVU0gKnJhbmdlc1s0XTsKLSAJaW50IHJldCA9IDA7Ci0gCWludCBpLCBpbXBvc3Np YmxlID0gMDsKLUBAIC0xMzQ2LDkgKzEzNDYsOSBAQCB2Z19wcmVmaXhfY29udGV4dF9hZGRfcGF0 dGVybnModmdfY29udGV4dF90ICp2Y3AsCi0gCWNoYXIgKmRidWY7Ci0gCi0gCWJuY3R4ID0gQk5f Q1RYX25ldygpOwotLQlCTl9pbml0KCZibnRtcCk7Ci0tCUJOX2luaXQoJmJudG1wMik7Ci0tCUJO X2luaXQoJmJudG1wMyk7Ci0rCWJudG1wID0gQk5fbmV3KCk7Ci0rCWJudG1wMiA9IEJOX25ldygp OwotKwlibnRtcDMgPSBCTl9uZXcoKTsKLSAKLSAJbnBmeCA9IDA7Ci0gCWZvciAoaSA9IDA7IGkg PCBucGF0dGVybnM7IGkrKykgewotQEAgLTE0MjYsMTYgKzE0MjYsMTYgQEAgdmdfcHJlZml4X2Nv bnRleHRfYWRkX3BhdHRlcm5zKHZnX2NvbnRleHRfdCAqdmNwLAotIAkJbnBmeCsrOwotIAotIAkJ LyogRGV0ZXJtaW5lIHRoZSBwcm9iYWJpbGl0eSBvZiBmaW5kaW5nIGEgbWF0Y2ggKi8KLS0JCXZn X3ByZWZpeF9yYW5nZV9zdW0odnAsICZibnRtcCwgJmJudG1wMik7Ci0tCQlCTl9hZGQoJmJudG1w MiwgJnZjcHAtPnZjcF9kaWZmaWN1bHR5LCAmYm50bXApOwotLQkJQk5fY29weSgmdmNwcC0+dmNw X2RpZmZpY3VsdHksICZibnRtcDIpOwotKwkJdmdfcHJlZml4X3JhbmdlX3N1bSh2cCwgYm50bXAs IGJudG1wMik7Ci0rCQlCTl9hZGQoYm50bXAyLCB2Y3BwLT52Y3BfZGlmZmljdWx0eSwgYm50bXAp OwotKwkJQk5fY29weSh2Y3BwLT52Y3BfZGlmZmljdWx0eSwgYm50bXAyKTsKLSAKLSAJCWlmICh2 Y3AtPnZjX3ZlcmJvc2UgPiAxKSB7Ci0tCQkJQk5fY2xlYXIoJmJudG1wMik7Ci0tCQkJQk5fc2V0 X2JpdCgmYm50bXAyLCAxOTIpOwotLQkJCUJOX2RpdigmYm50bXAzLCBOVUxMLCAmYm50bXAyLCAm Ym50bXAsIGJuY3R4KTsKLSsJCQlCTl9jbGVhcihibnRtcDIpOwotKwkJCUJOX3NldF9iaXQoYm50 bXAyLCAxOTIpOwotKwkJCUJOX2RpdihibnRtcDMsIE5VTEwsIGJudG1wMiwgYm50bXAsIGJuY3R4 KTsKLSAKLS0JCQlkYnVmID0gQk5fYm4yZGVjKCZibnRtcDMpOwotKwkJCWRidWYgPSBCTl9ibjJk ZWMoYm50bXAzKTsKLSAJCQlmcHJpbnRmKHN0ZGVyciwKLSAJCQkJIlByZWZpeCBkaWZmaWN1bHR5 OiAlMjBzICVzXG4iLAotIAkJCQlkYnVmLCBwYXR0ZXJuc1tpXSk7Ci1AQCAtMTQ2OSwxMyArMTQ2 OSwxMyBAQCB2Z19wcmVmaXhfY29udGV4dF9hZGRfcGF0dGVybnModmdfY29udGV4dF90ICp2Y3As Ci0gCX0KLSAKLSAJaWYgKG5wZngpCi0tCQl2Z19wcmVmaXhfY29udGV4dF9uZXh0X2RpZmZpY3Vs dHkodmNwcCwgJmJudG1wLCAmYm50bXAyLCBibmN0eCk7Ci0rCQl2Z19wcmVmaXhfY29udGV4dF9u ZXh0X2RpZmZpY3VsdHkodmNwcCwgYm50bXAsIGJudG1wMiwgYm5jdHgpOwotIAotIAlyZXQgPSAo bnBmeCAhPSAwKTsKLSAKLS0JQk5fY2xlYXJfZnJlZSgmYm50bXApOwotLQlCTl9jbGVhcl9mcmVl KCZibnRtcDIpOwotLQlCTl9jbGVhcl9mcmVlKCZibnRtcDMpOwotKwlCTl9jbGVhcl9mcmVlKGJu dG1wKTsKLSsJQk5fY2xlYXJfZnJlZShibnRtcDIpOwotKwlCTl9jbGVhcl9mcmVlKGJudG1wMyk7 Ci0gCUJOX0NUWF9mcmVlKGJuY3R4KTsKLSAJcmV0dXJuIHJldDsKLSB9Ci1AQCAtMTQ4NCwzOSAr MTQ4NCwzOSBAQCBkb3VibGUKLSB2Z19wcmVmaXhfZ2V0X2RpZmZpY3VsdHkoaW50IGFkZHJ0eXBl LCBjb25zdCBjaGFyICpwYXR0ZXJuKQotIHsKLSAJQk5fQ1RYICpibmN0eDsKLS0JQklHTlVNIHJl c3VsdCwgYm50bXA7Ci0rCUJJR05VTSAqcmVzdWx0LCAqYm50bXA7Ci0gCUJJR05VTSAqcmFuZ2Vz WzRdOwotIAljaGFyICpkYnVmOwotIAlpbnQgcmV0OwotIAlkb3VibGUgZGlmZnJldCA9IDAuMDsK LSAKLSAJYm5jdHggPSBCTl9DVFhfbmV3KCk7Ci0tCUJOX2luaXQoJnJlc3VsdCk7Ci0tCUJOX2lu aXQoJmJudG1wKTsKLSsJcmVzdWx0ID0gQk5fbmV3KCk7Ci0rCWJudG1wID0gQk5fbmV3KCk7Ci0g Ci0gCXJldCA9IGdldF9wcmVmaXhfcmFuZ2VzKGFkZHJ0eXBlLAotIAkJCQlwYXR0ZXJuLCByYW5n ZXMsIGJuY3R4KTsKLSAKLSAJaWYgKHJldCA9PSAwKSB7Ci0tCQlCTl9zdWIoJmJudG1wLCByYW5n ZXNbMV0sIHJhbmdlc1swXSk7Ci0tCQlCTl9hZGQoJnJlc3VsdCwgJnJlc3VsdCwgJmJudG1wKTsK LSsJCUJOX3N1YihibnRtcCwgcmFuZ2VzWzFdLCByYW5nZXNbMF0pOwotKwkJQk5fYWRkKHJlc3Vs dCwgcmVzdWx0LCBibnRtcCk7Ci0gCQlpZiAocmFuZ2VzWzJdKSB7Ci0tCQkJQk5fc3ViKCZibnRt cCwgcmFuZ2VzWzNdLCByYW5nZXNbMl0pOwotLQkJCUJOX2FkZCgmcmVzdWx0LCAmcmVzdWx0LCAm Ym50bXApOwotKwkJCUJOX3N1YihibnRtcCwgcmFuZ2VzWzNdLCByYW5nZXNbMl0pOwotKwkJCUJO X2FkZChyZXN1bHQsIHJlc3VsdCwgYm50bXApOwotIAkJfQotIAkJZnJlZV9yYW5nZXMocmFuZ2Vz KTsKLSAKLS0JCUJOX2NsZWFyKCZibnRtcCk7Ci0tCQlCTl9zZXRfYml0KCZibnRtcCwgMTkyKTsK LS0JCUJOX2RpdigmcmVzdWx0LCBOVUxMLCAmYm50bXAsICZyZXN1bHQsIGJuY3R4KTsKLSsJCUJO X2NsZWFyKGJudG1wKTsKLSsJCUJOX3NldF9iaXQoYm50bXAsIDE5Mik7Ci0rCQlCTl9kaXYocmVz dWx0LCBOVUxMLCBibnRtcCwgcmVzdWx0LCBibmN0eCk7Ci0gCi0tCQlkYnVmID0gQk5fYm4yZGVj KCZyZXN1bHQpOwotKwkJZGJ1ZiA9IEJOX2JuMmRlYyhyZXN1bHQpOwotIAkJZGlmZnJldCA9IHN0 cnRvZChkYnVmLCBOVUxMKTsKLSAJCU9QRU5TU0xfZnJlZShkYnVmKTsKLSAJfQotIAotLQlCTl9j bGVhcl9mcmVlKCZyZXN1bHQpOwotLQlCTl9jbGVhcl9mcmVlKCZibnRtcCk7Ci0rCUJOX2NsZWFy X2ZyZWUocmVzdWx0KTsKLSsJQk5fY2xlYXJfZnJlZShibnRtcCk7Ci0gCUJOX0NUWF9mcmVlKGJu Y3R4KTsKLSAJcmV0dXJuIGRpZmZyZXQ7Ci0gfQotQEAgLTE1MzUsMTAgKzE1MzUsMTAgQEAgdmdf cHJlZml4X3Rlc3QodmdfZXhlY19jb250ZXh0X3QgKnZ4Y3ApCi0gCSAqIGNoZWNrIGNvZGUuCi0g CSAqLwotIAotLQlCTl9iaW4yYm4odnhjcC0+dnhjX2JpbnJlcywgMjUsICZ2eGNwLT52eGNfYm50 YXJnKTsKLSsJQk5fYmluMmJuKHZ4Y3AtPnZ4Y19iaW5yZXMsIDI1LCB2eGNwLT52eGNfYm50YXJn KTsKLSAKLSByZXNlYXJjaDoKLS0JdnAgPSB2Z19wcmVmaXhfYXZsX3NlYXJjaCgmdmNwcC0+dmNw X2F2bHJvb3QsICZ2eGNwLT52eGNfYm50YXJnKTsKLSsJdnAgPSB2Z19wcmVmaXhfYXZsX3NlYXJj aCgmdmNwcC0+dmNwX2F2bHJvb3QsIHZ4Y3AtPnZ4Y19ibnRhcmcpOwotIAlpZiAodnApIHsKLSAJ CWlmICh2Z19leGVjX2NvbnRleHRfdXBncmFkZV9sb2NrKHZ4Y3ApKQotIAkJCWdvdG8gcmVzZWFy Y2g7Ci1AQCAtMTU1OCwyMCArMTU1OCwyMCBAQCB2Z19wcmVmaXhfdGVzdCh2Z19leGVjX2NvbnRl eHRfdCAqdnhjcCkKLSAJCWlmICh2Y3BwLT5iYXNlLnZjX3JlbW92ZV9vbl9tYXRjaCkgewotIAkJ CS8qIFN1YnRyYWN0IHRoZSByYW5nZSBmcm9tIHRoZSBkaWZmaWN1bHR5ICovCi0gCQkJdmdfcHJl Zml4X3JhbmdlX3N1bSh2cCwKLS0JCQkJCSAgICAmdnhjcC0+dnhjX2JudGFyZywKLS0JCQkJCSAg ICAmdnhjcC0+dnhjX2JudG1wKTsKLS0JCQlCTl9zdWIoJnZ4Y3AtPnZ4Y19ibnRtcCwKLS0JCQkg ICAgICAgJnZjcHAtPnZjcF9kaWZmaWN1bHR5LAotLQkJCSAgICAgICAmdnhjcC0+dnhjX2JudGFy Zyk7Ci0tCQkJQk5fY29weSgmdmNwcC0+dmNwX2RpZmZpY3VsdHksICZ2eGNwLT52eGNfYm50bXAp OwotKwkJCQkJICAgIHZ4Y3AtPnZ4Y19ibnRhcmcsCi0rCQkJCQkgICAgdnhjcC0+dnhjX2JudG1w KTsKLSsJCQlCTl9zdWIodnhjcC0+dnhjX2JudG1wLAotKwkJCSAgICAgICB2Y3BwLT52Y3BfZGlm ZmljdWx0eSwKLSsJCQkgICAgICAgdnhjcC0+dnhjX2JudGFyZyk7Ci0rCQkJQk5fY29weSh2Y3Bw LT52Y3BfZGlmZmljdWx0eSwgdnhjcC0+dnhjX2JudG1wKTsKLSAKLSAJCQl2Z19wcmVmaXhfZGVs ZXRlKCZ2Y3BwLT52Y3BfYXZscm9vdCx2cCk7Ci0gCQkJdmNwcC0+YmFzZS52Y19ucGF0dGVybnMt LTsKLSAKLSAJCQlpZiAoIWF2bF9yb290X2VtcHR5KCZ2Y3BwLT52Y3BfYXZscm9vdCkpCi0gCQkJ CXZnX3ByZWZpeF9jb250ZXh0X25leHRfZGlmZmljdWx0eSgKLS0JCQkJCXZjcHAsICZ2eGNwLT52 eGNfYm50bXAsCi0tCQkJCQkmdnhjcC0+dnhjX2JudG1wMiwKLSsJCQkJCXZjcHAsIHZ4Y3AtPnZ4 Y19ibnRtcCwKLSsJCQkJCXZ4Y3AtPnZ4Y19ibnRtcDIsCi0gCQkJCQl2eGNwLT52eGNfYm5jdHgp OwotIAkJCXZjcHAtPmJhc2UudmNfcGF0dGVybl9nZW5lcmF0aW9uKys7Ci0gCQl9Ci1AQCAtMTY1 Miw3ICsxNjUyLDcgQEAgdmdfcHJlZml4X2NvbnRleHRfbmV3KGludCBhZGRydHlwZSwgaW50IHBy aXZ0eXBlLCBpbnQgY2FzZWluc2Vuc2l0aXZlKQotIAkJdmNwcC0+YmFzZS52Y190ZXN0ID0gdmdf cHJlZml4X3Rlc3Q7Ci0gCQl2Y3BwLT5iYXNlLnZjX2hhc2gxNjBfc29ydCA9IHZnX3ByZWZpeF9o YXNoMTYwX3NvcnQ7Ci0gCQlhdmxfcm9vdF9pbml0KCZ2Y3BwLT52Y3BfYXZscm9vdCk7Ci0tCQlC Tl9pbml0KCZ2Y3BwLT52Y3BfZGlmZmljdWx0eSk7Ci0rCQl2Y3BwLT52Y3BfZGlmZmljdWx0eSA9 IEJOX25ldygpOwotIAkJdmNwcC0+dmNwX2Nhc2VpbnNlbnNpdGl2ZSA9IGNhc2VpbnNlbnNpdGl2 ZTsKLSAJfQotIAlyZXR1cm4gJnZjcHAtPmJhc2U7Ci1AQCAtMTc3OCwyMSArMTc3OCwyMSBAQCB2 Z19yZWdleF90ZXN0KHZnX2V4ZWNfY29udGV4dF90ICp2eGNwKQotIAl1bnNpZ25lZCBjaGFyIGhh c2gxWzMyXSwgaGFzaDJbMzJdOwotIAlpbnQgaSwgenBmeCwgcCwgZCwgbnJlcywgcmVfdmVjWzld OwotIAljaGFyIGI1OFs0MF07Ci0tCUJJR05VTSBibnJlbTsKLSsJQklHTlVNICpibnJlbTsKLSAJ QklHTlVNICpibiwgKmJuZGl2LCAqYm5wdG1wOwotIAlpbnQgcmVzID0gMDsKLSAKLSAJcGNyZSAq cmU7Ci0gCi0tCUJOX2luaXQoJmJucmVtKTsKLSsJYm5yZW0gPSBCTl9uZXcoKTsKLSAKLSAJLyog SGFzaCB0aGUgaGFzaCBhbmQgd3JpdGUgdGhlIGZvdXIgYnl0ZSBjaGVjayBjb2RlICovCi0gCVNI QTI1Nih2eGNwLT52eGNfYmlucmVzLCAyMSwgaGFzaDEpOwotIAlTSEEyNTYoaGFzaDEsIHNpemVv ZihoYXNoMSksIGhhc2gyKTsKLSAJbWVtY3B5KCZ2eGNwLT52eGNfYmlucmVzWzIxXSwgaGFzaDIs IDQpOwotIAotLQlibiA9ICZ2eGNwLT52eGNfYm50bXA7Ci0tCWJuZGl2ID0gJnZ4Y3AtPnZ4Y19i bnRtcDI7Ci0rCWJuID0gdnhjcC0+dnhjX2JudG1wOwotKwlibmRpdiA9IHZ4Y3AtPnZ4Y19ibnRt cDI7Ci0gCi0gCUJOX2JpbjJibih2eGNwLT52eGNfYmlucmVzLCAyNSwgYm4pOwotIAotQEAgLTE4 MDEsMTEgKzE4MDEsMTEgQEAgdmdfcmVnZXhfdGVzdCh2Z19leGVjX2NvbnRleHRfdCAqdnhjcCkK LSAJcCA9IHNpemVvZihiNTgpIC0gMTsKLSAJYjU4W3BdID0gJ1wwJzsKLSAJd2hpbGUgKCFCTl9p c196ZXJvKGJuKSkgewotLQkJQk5fZGl2KGJuZGl2LCAmYm5yZW0sIGJuLCAmdnhjcC0+dnhjX2Ju YmFzZSwgdnhjcC0+dnhjX2JuY3R4KTsKLSsJCUJOX2RpdihibmRpdiwgYm5yZW0sIGJuLCB2eGNw LT52eGNfYm5iYXNlLCB2eGNwLT52eGNfYm5jdHgpOwotIAkJYm5wdG1wID0gYm47Ci0gCQlibiA9 IGJuZGl2OwotIAkJYm5kaXYgPSBibnB0bXA7Ci0tCQlkID0gQk5fZ2V0X3dvcmQoJmJucmVtKTsK LSsJCWQgPSBCTl9nZXRfd29yZChibnJlbSk7Ci0gCQliNThbLS1wXSA9IHZnX2I1OF9hbHBoYWJl dFtkXTsKLSAJfQotIAl3aGlsZSAoenBmeC0tKSB7Ci1AQCAtMTg3OCw3ICsxODc4LDcgQEAgdmdf cmVnZXhfdGVzdCh2Z19leGVjX2NvbnRleHRfdCAqdnhjcCkKLSAJCXJlcyA9IDE7Ci0gCX0KLSBv dXQ6Ci0tCUJOX2NsZWFyX2ZyZWUoJmJucmVtKTsKLSsJQk5fY2xlYXJfZnJlZShibnJlbSk7Ci0g CXJldHVybiByZXM7Ci0gfQotIAotZGlmZiAtLWdpdCBhL3BhdHRlcm4uaCBiL3BhdHRlcm4uaAot aW5kZXggM2NlMmQxZi4uMGI2MDRlYSAxMDA2NDQKLS0tLSBhL3BhdHRlcm4uaAotKysrIGIvcGF0 dGVybi5oCi1AQCAtNTEsMTAgKzUxLDEwIEBAIHN0cnVjdCBfdmdfZXhlY19jb250ZXh0X3Mgewot IAlFQ19LRVkJCQkJKnZ4Y19rZXk7Ci0gCWludAkJCQl2eGNfZGVsdGE7Ci0gCXVuc2lnbmVkIGNo YXIJCQl2eGNfYmlucmVzWzI4XTsKLS0JQklHTlVNCQkJCXZ4Y19ibnRhcmc7Ci0tCUJJR05VTQkJ CQl2eGNfYm5iYXNlOwotLQlCSUdOVU0JCQkJdnhjX2JudG1wOwotLQlCSUdOVU0JCQkJdnhjX2Ju dG1wMjsKLSsJQklHTlVNCQkJCSp2eGNfYm50YXJnOwotKwlCSUdOVU0JCQkJKnZ4Y19ibmJhc2U7 Ci0rCUJJR05VTQkJCQkqdnhjX2JudG1wOwotKwlCSUdOVU0JCQkJKnZ4Y19ibnRtcDI7Ci0gCi0g CXZnX2V4ZWNfY29udGV4dF90aHJlYWRmdW5jX3QJdnhjX3RocmVhZGZ1bmM7Ci0gCXB0aHJlYWRf dAkJCXZ4Y19wdGhyZWFkOwotZGlmZiAtLWdpdCBhL3V0aWwuYyBiL3V0aWwuYwotaW5kZXggNGYz Y2JiOC4uMzVjZDU5MiAxMDA2NDQKLS0tLSBhL3V0aWwuYwotKysrIGIvdXRpbC5jCi1AQCAtMTEw LDE5ICsxMTAsMTkgQEAgdmdfYjU4X2VuY29kZV9jaGVjayh2b2lkICpidWYsIHNpemVfdCBsZW4s IGNoYXIgKnJlc3VsdCkKLSAKLSAJQk5fQ1RYICpibmN0eDsKLSAJQklHTlVNICpibiwgKmJuZGl2 LCAqYm50bXA7Ci0tCUJJR05VTSBibmEsIGJuYiwgYm5iYXNlLCBibnJlbTsKLSsJQklHTlVNICpi bmEsICpibmIsICpibmJhc2UsICpibnJlbTsKLSAJdW5zaWduZWQgY2hhciAqYmlucmVzOwotIAlp bnQgYnJsZW4sIHpwZng7Ci0gCi0gCWJuY3R4ID0gQk5fQ1RYX25ldygpOwotLQlCTl9pbml0KCZi bmEpOwotLQlCTl9pbml0KCZibmIpOwotLQlCTl9pbml0KCZibmJhc2UpOwotLQlCTl9pbml0KCZi bnJlbSk7Ci0tCUJOX3NldF93b3JkKCZibmJhc2UsIDU4KTsKLSsJYm5hID0gQk5fbmV3KCk7Ci0r CWJuYiA9IEJOX25ldygpOwotKwlibmJhc2UgPSBCTl9uZXcoKTsKLSsJYm5yZW0gPSBCTl9uZXco KTsKLSsJQk5fc2V0X3dvcmQoYm5iYXNlLCA1OCk7Ci0gCi0tCWJuID0gJmJuYTsKLS0JYm5kaXYg PSAmYm5iOwotKwlibiA9IGJuYTsKLSsJYm5kaXYgPSBibmI7Ci0gCi0gCWJybGVuID0gKDIgKiBs ZW4pICsgNDsKLSAJYmlucmVzID0gKHVuc2lnbmVkIGNoYXIqKSBtYWxsb2MoYnJsZW4pOwotQEAg LTE1NCwxMSArMTU0LDExIEBAIHZnX2I1OF9lbmNvZGVfY2hlY2sodm9pZCAqYnVmLCBzaXplX3Qg bGVuLCBjaGFyICpyZXN1bHQpCi0gCi0gCXAgPSBicmxlbjsKLSAJd2hpbGUgKCFCTl9pc196ZXJv KGJuKSkgewotLQkJQk5fZGl2KGJuZGl2LCAmYm5yZW0sIGJuLCAmYm5iYXNlLCBibmN0eCk7Ci0r CQlCTl9kaXYoYm5kaXYsIGJucmVtLCBibiwgYm5iYXNlLCBibmN0eCk7Ci0gCQlibnRtcCA9IGJu OwotIAkJYm4gPSBibmRpdjsKLSAJCWJuZGl2ID0gYm50bXA7Ci0tCQlkID0gQk5fZ2V0X3dvcmQo JmJucmVtKTsKLSsJCWQgPSBCTl9nZXRfd29yZChibnJlbSk7Ci0gCQliaW5yZXNbLS1wXSA9IHZn X2I1OF9hbHBoYWJldFtkXTsKLSAJfQotIAotQEAgLTE3MCwxMCArMTcwLDEwIEBAIHZnX2I1OF9l bmNvZGVfY2hlY2sodm9pZCAqYnVmLCBzaXplX3QgbGVuLCBjaGFyICpyZXN1bHQpCi0gCXJlc3Vs dFticmxlbiAtIHBdID0gJ1wwJzsKLSAKLSAJZnJlZShiaW5yZXMpOwotLQlCTl9jbGVhcl9mcmVl KCZibmEpOwotLQlCTl9jbGVhcl9mcmVlKCZibmIpOwotLQlCTl9jbGVhcl9mcmVlKCZibmJhc2Up OwotLQlCTl9jbGVhcl9mcmVlKCZibnJlbSk7Ci0rCUJOX2NsZWFyX2ZyZWUoYm5hKTsKLSsJQk5f Y2xlYXJfZnJlZShibmIpOwotKwlCTl9jbGVhcl9mcmVlKGJuYmFzZSk7Ci0rCUJOX2NsZWFyX2Zy ZWUoYm5yZW0pOwotIAlCTl9DVFhfZnJlZShibmN0eCk7Ci0gfQotIAotQEAgLTE4NSw3ICsxODUs NyBAQCB2Z19iNThfZGVjb2RlX2NoZWNrKGNvbnN0IGNoYXIgKmlucHV0LCB2b2lkICpidWYsIHNp emVfdCBsZW4pCi0gewotIAlpbnQgaSwgbCwgYzsKLSAJdW5zaWduZWQgY2hhciAqeGJ1ZiA9IE5V TEw7Ci0tCUJJR05VTSBibiwgYm53LCBibmJhc2U7Ci0rCUJJR05VTSAqYm4sICpibncsICpibmJh c2U7Ci0gCUJOX0NUWCAqYm5jdHg7Ci0gCXVuc2lnbmVkIGNoYXIgaGFzaDFbMzJdLCBoYXNoMlsz Ml07Ci0gCXVuc2lnbmVkIGNoYXIgZ3JvZXN0bGhhc2gxWzY0XTsKLUBAIC0xOTMsMTAgKzE5Mywx MCBAQCB2Z19iNThfZGVjb2RlX2NoZWNrKGNvbnN0IGNoYXIgKmlucHV0LCB2b2lkICpidWYsIHNp emVfdCBsZW4pCi0gCWludCB6cGZ4OwotIAlpbnQgcmVzID0gMDsKLSAKLS0JQk5faW5pdCgmYm4p OwotLQlCTl9pbml0KCZibncpOwotLQlCTl9pbml0KCZibmJhc2UpOwotLQlCTl9zZXRfd29yZCgm Ym5iYXNlLCA1OCk7Ci0rCWJuID0gQk5fbmV3KCk7Ci0rCWJudyA9IEJOX25ldygpOwotKwlibmJh c2UgPSBCTl9uZXcoKTsKLSsJQk5fc2V0X3dvcmQoYm5iYXNlLCA1OCk7Ci0gCWJuY3R4ID0gQk5f Q1RYX25ldygpOwotIAotIAkvKiBCdWlsZCBhIGJpZ251bSBmcm9tIHRoZSBlbmNvZGVkIHZhbHVl ICovCi1AQCAtMjA3LDEwICsyMDcsMTAgQEAgdmdfYjU4X2RlY29kZV9jaGVjayhjb25zdCBjaGFy ICppbnB1dCwgdm9pZCAqYnVmLCBzaXplX3QgbGVuKQotIAkJYyA9IHZnX2I1OF9yZXZlcnNlX21h cFsoaW50KWlucHV0W2ldXTsKLSAJCWlmIChjIDwgMCkKLSAJCQlnb3RvIG91dDsKLS0JCUJOX2Ns ZWFyKCZibncpOwotLQkJQk5fc2V0X3dvcmQoJmJudywgYyk7Ci0tCQlCTl9tdWwoJmJuLCAmYm4s ICZibmJhc2UsIGJuY3R4KTsKLS0JCUJOX2FkZCgmYm4sICZibiwgJmJudyk7Ci0rCQlCTl9jbGVh cihibncpOwotKwkJQk5fc2V0X3dvcmQoYm53LCBjKTsKLSsJCUJOX211bChibiwgYm4sIGJuYmFz ZSwgYm5jdHgpOwotKwkJQk5fYWRkKGJuLCBibiwgYm53KTsKLSAJfQotIAotIAkvKiBDb3B5IHRo ZSBiaWdudW0gdG8gYSBieXRlIGJ1ZmZlciAqLwotQEAgLTIyMSw3ICsyMjEsNyBAQCB2Z19iNThf ZGVjb2RlX2NoZWNrKGNvbnN0IGNoYXIgKmlucHV0LCB2b2lkICpidWYsIHNpemVfdCBsZW4pCi0g CQkJYnJlYWs7Ci0gCQl6cGZ4Kys7Ci0gCX0KLS0JYyA9IEJOX251bV9ieXRlcygmYm4pOwotKwlj ID0gQk5fbnVtX2J5dGVzKGJuKTsKLSAJbCA9IHpwZnggKyBjOwotIAlpZiAobCA8IDUpCi0gCQln b3RvIG91dDsKLUBAIC0yMzEsNyArMjMxLDcgQEAgdmdfYjU4X2RlY29kZV9jaGVjayhjb25zdCBj aGFyICppbnB1dCwgdm9pZCAqYnVmLCBzaXplX3QgbGVuKQotIAlpZiAoenBmeCkKLSAJCW1lbXNl dCh4YnVmLCAwLCB6cGZ4KTsKLSAJaWYgKGMpCi0tCQlCTl9ibjJiaW4oJmJuLCB4YnVmICsgenBm eCk7Ci0rCQlCTl9ibjJiaW4oYm4sIHhidWYgKyB6cGZ4KTsKLSAKLSAJLyogQ2hlY2sgdGhlIGhh c2ggY29kZSAqLwotIAlsIC09IDQ7Ci1AQCAtMjcwLDkgKzI3MCw5IEBAIHZnX2I1OF9kZWNvZGVf Y2hlY2soY29uc3QgY2hhciAqaW5wdXQsIHZvaWQgKmJ1Ziwgc2l6ZV90IGxlbikKLSBvdXQ6Ci0g CWlmICh4YnVmKQotIAkJZnJlZSh4YnVmKTsKLS0JQk5fY2xlYXJfZnJlZSgmYm4pOwotLQlCTl9j bGVhcl9mcmVlKCZibncpOwotLQlCTl9jbGVhcl9mcmVlKCZibmJhc2UpOwotKwlCTl9jbGVhcl9m cmVlKGJuKTsKLSsJQk5fY2xlYXJfZnJlZShibncpOwotKwlCTl9jbGVhcl9mcmVlKGJuYmFzZSk7 Ci0gCUJOX0NUWF9mcmVlKGJuY3R4KTsKLSAJcmV0dXJuIHJlczsKLSB9Ci1AQCAtNDIwLDcgKzQy MCw3IEBAIHZnX3NldF9wcml2a2V5KGNvbnN0IEJJR05VTSAqYm5wcml2LCBFQ19LRVkgKnBrZXkp Ci0gaW50Ci0gdmdfZGVjb2RlX3ByaXZrZXkoY29uc3QgY2hhciAqYjU4ZW5jb2RlZCwgRUNfS0VZ ICpwa2V5LCBpbnQgKmFkZHJ0eXBlKQotIHsKLS0JQklHTlVNIGJucHJpdjsKLSsJQklHTlVNICpi bnByaXY7Ci0gCXVuc2lnbmVkIGNoYXIgZWNwcml2WzQ4XTsKLSAJaW50IHJlcywgcmV0OwotIAot QEAgLTQzMCwxMCArNDMwLDEwIEBAIHZnX2RlY29kZV9wcml2a2V5KGNvbnN0IGNoYXIgKmI1OGVu Y29kZWQsIEVDX0tFWSAqcGtleSwgaW50ICphZGRydHlwZSkKLSAKLSAJcmV0ID0gcmVzIC0gMzI7 Ci0gCi0tCUJOX2luaXQoJmJucHJpdik7Ci0tCUJOX2JpbjJibihlY3ByaXYgKyAxLCAzMiwgJmJu cHJpdik7Ci0tCXJlcyA9IHZnX3NldF9wcml2a2V5KCZibnByaXYsIHBrZXkpOwotLQlCTl9jbGVh cl9mcmVlKCZibnByaXYpOwotKwlibnByaXYgPSBCTl9uZXcoKTsKLSsJQk5fYmluMmJuKGVjcHJp diArIDEsIDMyLCBibnByaXYpOwotKwlyZXMgPSB2Z19zZXRfcHJpdmtleShibnByaXYsIHBrZXkp OwotKwlCTl9jbGVhcl9mcmVlKGJucHJpdik7Ci0gCSphZGRydHlwZSA9IGVjcHJpdlswXTsKLSAJ cmV0dXJuIHJldDsKLSB9Ci1AQCAtNjMyLDE1ICs2MzIsMTUgQEAgdmdfcHJvdGVjdF9jcnlwdChp bnQgcGFyYW1ldGVyX2dyb3VwLAotIAkJc2FsdF9sZW4gPSA0OwotIAkJaG1hY19sZW4gPSA4Owot IAkJaG1hY19rZXlsZW4gPSAxNjsKLS0JCWNpcGhlcnRleHRfbGVuID0gKChwbGFpbnRleHRfbGVu ICsgY2lwaGVyLT5ibG9ja19zaXplIC0gMSkgLwotLQkJCQkgIGNpcGhlci0+YmxvY2tfc2l6ZSkg KiBjaXBoZXItPmJsb2NrX3NpemU7Ci0rCQljaXBoZXJ0ZXh0X2xlbiA9ICgocGxhaW50ZXh0X2xl biArIEVWUF9DSVBIRVJfYmxvY2tfc2l6ZShjaXBoZXIpIC0gMSkgLwotKwkJCQkgIEVWUF9DSVBI RVJfYmxvY2tfc2l6ZShjaXBoZXIpKSAqIEVWUF9DSVBIRVJfYmxvY2tfc2l6ZShjaXBoZXIpOwot IAkJcGtjczdfcGFkZGluZyA9IDA7Ci0gCQlobWFjX2RpZ2VzdCA9IEVWUF9zaGEyNTYoKTsKLSAJ fSBlbHNlIHsKLSAJCS8qIFBLQ1MtY29tcGxpYW50IGVuY29kaW5nICovCi0gCQlzYWx0X2xlbiA9 IDg7Ci0tCQljaXBoZXJ0ZXh0X2xlbiA9ICgocGxhaW50ZXh0X2xlbiArIGNpcGhlci0+YmxvY2tf c2l6ZSkgLwotLQkJCQkgIGNpcGhlci0+YmxvY2tfc2l6ZSkgKiBjaXBoZXItPmJsb2NrX3NpemU7 Ci0rCQljaXBoZXJ0ZXh0X2xlbiA9ICgocGxhaW50ZXh0X2xlbiArIEVWUF9DSVBIRVJfYmxvY2tf c2l6ZShjaXBoZXIpKSAvCi0rCQkJCSAgRVZQX0NJUEhFUl9ibG9ja19zaXplKGNpcGhlcikpICog RVZQX0NJUEhFUl9ibG9ja19zaXplKGNpcGhlcik7Ci0gCQlobWFjX2RpZ2VzdCA9IE5VTEw7Ci0g CX0KLSAKLUBAIC02NjYsMTIgKzY2NiwxMiBAQCB2Z19wcm90ZWN0X2NyeXB0KGludCBwYXJhbWV0 ZXJfZ3JvdXAsCi0gCQkJICBzYWx0LCBzYWx0X2xlbiwKLSAJCQkgIHBhcmFtcy0+aXRlcmF0aW9u cywKLSAJCQkgIHBia2RmX2RpZ2VzdCwKLS0JCQkgIGNpcGhlci0+a2V5X2xlbiArIGNpcGhlci0+ aXZfbGVuICsgaG1hY19rZXlsZW4sCi0rCQkJICBFVlBfQ0lQSEVSX2tleV9sZW5ndGgoY2lwaGVy KSArIEVWUF9DSVBIRVJfaXZfbGVuZ3RoKGNpcGhlcikgKyBobWFjX2tleWxlbiwKLSAJCQkgIGtl eW1hdGVyaWFsKTsKLSAKLSAJaWYgKCFFVlBfQ2lwaGVySW5pdChjdHgsIGNpcGhlciwKLSAJCQkg ICAga2V5bWF0ZXJpYWwsCi0tCQkJICAgIGtleW1hdGVyaWFsICsgY2lwaGVyLT5rZXlfbGVuLAot KwkJCSAgICBrZXltYXRlcmlhbCArIEVWUF9DSVBIRVJfa2V5X2xlbmd0aChjaXBoZXIpLAotIAkJ CSAgICBlbmMpKSB7Ci0gCQlmcHJpbnRmKHN0ZGVyciwgIkVSUk9SOiBjb3VsZCBub3QgY29uZmln dXJlIGNpcGhlclxuIik7Ci0gCQlnb3RvIG91dDsKLUBAIC03MDcsNyArNzA3LDcgQEAgdmdfcHJv dGVjdF9jcnlwdChpbnQgcGFyYW1ldGVyX2dyb3VwLAotIAlpZiAoaG1hY19sZW4pIHsKLSAJCWhs ZW4gPSBzaXplb2YoaG1hYyk7Ci0gCQlITUFDKGhtYWNfZGlnZXN0LAotLQkJICAgICBrZXltYXRl cmlhbCArIGNpcGhlci0+a2V5X2xlbiArIGNpcGhlci0+aXZfbGVuLAotKwkJICAgICBrZXltYXRl cmlhbCArIEVWUF9DSVBIRVJfa2V5X2xlbmd0aChjaXBoZXIpICsgRVZQX0NJUEhFUl9pdl9sZW5n dGgoY2lwaGVyKSwKLSAJCSAgICAgaG1hY19rZXlsZW4sCi0gCQkgICAgIGVuYyA/IGRhdGFfaW4g OiBkYXRhX291dCwgcGxhaW50ZXh0X2xlbiwKLSAJCSAgICAgaG1hYywgJmhsZW4pOwotQEAgLTc4 Niw3ICs3ODYsNyBAQCB2Z19wcm90ZWN0X2RlY29kZV9wcml2a2V5KEVDX0tFWSAqcGtleSwgaW50 ICprZXl0eXBlLAotIHsKLSAJdW5zaWduZWQgY2hhciBlY3ByaXZbNjRdOwotIAl1bnNpZ25lZCBj aGFyIGVjZW5jWzEyOF07Ci0tCUJJR05VTSBibjsKLSsJQklHTlVNICpibjsKLSAJaW50IHJlc3R5 cGU7Ci0gCWludCByZXM7Ci0gCi1AQCAtODEwLDEwICs4MTAsMTAgQEAgdmdfcHJvdGVjdF9kZWNv ZGVfcHJpdmtleShFQ19LRVkgKnBrZXksIGludCAqa2V5dHlwZSwKLSAKLSAJcmVzID0gMTsKLSAJ aWYgKHBrZXkpIHsKLS0JCUJOX2luaXQoJmJuKTsKLS0JCUJOX2JpbjJibihlY3ByaXYsIDMyLCAm Ym4pOwotLQkJcmVzID0gdmdfc2V0X3ByaXZrZXkoJmJuLCBwa2V5KTsKLS0JCUJOX2NsZWFyX2Zy ZWUoJmJuKTsKLSsJCWJuID0gQk5fbmV3KCk7Ci0rCQlCTl9iaW4yYm4oZWNwcml2LCAzMiwgYm4p OwotKwkJcmVzID0gdmdfc2V0X3ByaXZrZXkoYm4sIHBrZXkpOwotKwkJQk5fY2xlYXJfZnJlZShi bik7Ci0gCQlPUEVOU1NMX2NsZWFuc2UoZWNwcml2LCBzaXplb2YoZWNwcml2KSk7Ci0gCX0KLSAK LWRpZmYgLS1naXQgYS92YW5pdHlnZW4uYyBiL3Zhbml0eWdlbi5jCi1pbmRleCBmYjc5MjVhLi45 OTJlNWQ3IDEwMDY0NAotLS0tIGEvdmFuaXR5Z2VuLmMKLSsrKyBiL3Zhbml0eWdlbi5jCi1AQCAt OTQsOCArOTQsOCBAQCB2Z190aHJlYWRfbG9vcCh2b2lkICphcmcpCi0gCQlleGl0KDEpOwotIAl9 Ci0gCi0tCUJOX3NldF93b3JkKCZ2eGNwLT52eGNfYm50bXAsIHB0YXJyYXlzaXplKTsKLS0JRUNf UE9JTlRfbXVsKHBncm91cCwgcGJhdGNoaW5jLCAmdnhjcC0+dnhjX2JudG1wLCBOVUxMLCBOVUxM LAotKwlCTl9zZXRfd29yZCh2eGNwLT52eGNfYm50bXAsIHB0YXJyYXlzaXplKTsKLSsJRUNfUE9J TlRfbXVsKHBncm91cCwgcGJhdGNoaW5jLCB2eGNwLT52eGNfYm50bXAsIE5VTEwsIE5VTEwsCi0g CQkgICAgIHZ4Y3AtPnZ4Y19ibmN0eCk7Ci0gCUVDX1BPSU5UX21ha2VfYWZmaW5lKHBncm91cCwg cGJhdGNoaW5jLCB2eGNwLT52eGNfYm5jdHgpOwotIAotQEAgLTEzOSwxMyArMTM5LDEzIEBAIHZn X3RocmVhZF9sb29wKHZvaWQgKmFyZykKLSAJCQlucG9pbnRzID0gMDsKLSAKLSAJCQkvKiBEZXRl cm1pbmUgcmVrZXkgaW50ZXJ2YWwgKi8KLS0JCQlFQ19HUk9VUF9nZXRfb3JkZXIocGdyb3VwLCAm dnhjcC0+dnhjX2JudG1wLAotKwkJCUVDX0dST1VQX2dldF9vcmRlcihwZ3JvdXAsIHZ4Y3AtPnZ4 Y19ibnRtcCwKLSAJCQkJCSAgIHZ4Y3AtPnZ4Y19ibmN0eCk7Ci0tCQkJQk5fc3ViKCZ2eGNwLT52 eGNfYm50bXAyLAotLQkJCSAgICAgICAmdnhjcC0+dnhjX2JudG1wLAotKwkJCUJOX3N1Yih2eGNw LT52eGNfYm50bXAyLAotKwkJCSAgICAgICB2eGNwLT52eGNfYm50bXAsCi0gCQkJICAgICAgIEVD X0tFWV9nZXQwX3ByaXZhdGVfa2V5KHBrZXkpKTsKLS0JCQlyZWtleV9hdCA9IEJOX2dldF93b3Jk KCZ2eGNwLT52eGNfYm50bXAyKTsKLS0JCQlpZiAoKHJla2V5X2F0ID09IEJOX01BU0syKSB8fCAo cmVrZXlfYXQgPiByZWtleV9tYXgpKQotKwkJCXJla2V5X2F0ID0gQk5fZ2V0X3dvcmQodnhjcC0+ dnhjX2JudG1wMik7Ci0rCQkJaWYgKChyZWtleV9hdCA9PSAweGZmZmZmZmZmTCkgfHwgKHJla2V5 X2F0ID4gcmVrZXlfbWF4KSkKLSAJCQkJcmVrZXlfYXQgPSByZWtleV9tYXg7Ci0gCQkJYXNzZXJ0 KHJla2V5X2F0ID4gMCk7Ci0gCmRpZmYgLS1naXQgYS9zcmNwa2dzL3Zhbml0eWdlbi9wYXRjaGVz LzVmMTYzZTZmZmY3ZGE1MmM0YWVjYmQ4OThkOWRmMmU2MGE1NmYxMzQucGF0Y2ggYi9zcmNwa2dz L3Zhbml0eWdlbi9wYXRjaGVzLzVmMTYzZTZmZmY3ZGE1MmM0YWVjYmQ4OThkOWRmMmU2MGE1NmYx MzQucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVlZTMwYWUwOGNkZi4uMDAw MDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvdmFuaXR5Z2VuL3BhdGNoZXMvNWYxNjNlNmZmZjdkYTUy YzRhZWNiZDg5OGQ5ZGYyZTYwYTU2ZjEzNC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDk4ICsw LDAgQEAKLUZyb20gNWYxNjNlNmZmZjdkYTUyYzRhZWNiZDg5OGQ5ZGYyZTYwYTU2ZjEzNCBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IERlc1d1cnN0ZXMgPERlc1d1cnN0ZXNAdXNlcnMu bm9yZXBseS5naXRodWIuY29tPgotRGF0ZTogU3VuLCAzIEp1biAyMDE4IDE3OjQ2OjE2ICswMzAw Ci1TdWJqZWN0OiBbUEFUQ0hdIFByaXZrZXkgcHJlZml4IE9wZW5TU0wgMS4xIGNvbXBhdGliaWxp dHkgKCMxMTYpCi0KLUZpeGVzICMxMTQKLS0tLQotIG9jbGVuZ2luZS5jIHwgMTggKysrKysrKysr KysrKy0tLS0tCi0gdmFuaXR5Z2VuLmMgfCAxMiArKysrKysrKysrLS0KLSAyIGZpbGVzIGNoYW5n ZWQsIDIzIGluc2VydGlvbnMoKyksIDcgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9vY2xl bmdpbmUuYyBiL29jbGVuZ2luZS5jCi1pbmRleCA2NTg1ZmM2Li5jNjliZDRiIDEwMDY0NAotLS0t IGEvb2NsZW5naW5lLmMKLSsrKyBiL29jbGVuZ2luZS5jCi1AQCAtNSw3ICs1LDcgQEAKLSAgKiBW YW5pdHlnZW4gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29y IG1vZGlmeQotICAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFs IFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotICAqIHRoZSBGcmVlIFNvZnR3YXJlIEZv dW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCi0tICogYW55IGxh dGVyIHZlcnNpb24uIAotKyAqIGFueSBsYXRlciB2ZXJzaW9uLgotICAqCi0gICogVmFuaXR5Z2Vu IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gICog YnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFu dHkgb2YKLUBAIC0xMDU4LDcgKzEwNTgsNyBAQCB2Z19vY2xfa2VybmVsX2FyZ19hbGxvYyh2Z19v Y2xfY29udGV4dF90ICp2b2NwLCBpbnQgc2xvdCwKLSAJCQkJCSAgICAga2FyZywKLSAJCQkJCSAg ICAgc2l6ZW9mKGNsYnVmKSwKLSAJCQkJCSAgICAgJmNsYnVmKTsKLS0JCQkKLSsKLSAJCQlpZiAo cmV0KSB7Ci0gCQkJCWZwcmludGYoc3RkZXJyLAotIAkJCQkJImNsU2V0S2VybmVsQXJnKCVkLCVk KTogIiwga251bSwga2FyZyk7Ci1AQCAtMTA5MCw3ICsxMDkwLDcgQEAgdmdfb2NsX2NvcHlvdXRf YXJnKHZnX29jbF9jb250ZXh0X3QgKnZvY3AsIGludCB3c2xvdCwgaW50IGFyZywKLSAJCQkJICAg YnVmZmVyLAotIAkJCQkgICAwLCBOVUxMLAotIAkJCQkgICBOVUxMKTsKLS0JCQkKLSsKLSAJaWYg KHJldCkgewotIAkJZnByaW50ZihzdGRlcnIsICJjbEVucXVldWVXcml0ZUJ1ZmZlciglZCk6ICIs IGFyZyk7Ci0gCQl2Z19vY2xfZXJyb3Iodm9jcCwgcmV0LCBOVUxMKTsKLUBAIC0yMDc5LDcgKzIw NzksMTUgQEAgdmdfb3BlbmNsX2xvb3AodmdfZXhlY19jb250ZXh0X3QgKmFyZykKLSAJbnBvaW50 cyA9IDA7Ci0gCWlmICh2Y3AtPnZjX3ByaXZrZXlfcHJlZml4X2xlbmd0aCA+IDApIHsKLSAJCUJJ R05VTSAqcGtibiA9IEJOX2R1cChFQ19LRVlfZ2V0MF9wcml2YXRlX2tleShwa2V5KSk7Ci0tCQlt ZW1jcHkoKGNoYXIgKilwa2JuLT5kICsgMzIgLSB2Y3AtPnZjX3ByaXZrZXlfcHJlZml4X2xlbmd0 aCwgdmNwLT52Y19wcml2a2V5X3ByZWZpeCwgdmNwLT52Y19wcml2a2V5X3ByZWZpeF9sZW5ndGgp OwotKwkJdW5zaWduZWQgY2hhciBwa2V5X2FyclszMl07Ci0rCQlhc3NlcnQoQk5fYm4yYmluKHBr Ym4sIHBrZXlfYXJyKSA8IDMzKTsKLSsJCW1lbWNweSgoY2hhciAqKSBwa2V5X2FyciwgdmNwLT52 Y19wcml2a2V5X3ByZWZpeCwgdmNwLT52Y19wcml2a2V5X3ByZWZpeF9sZW5ndGgpOwotKwkJZm9y IChpbnQgaSA9IDA7IGkgPCB2Y3AtPnZjX3ByaXZrZXlfcHJlZml4X2xlbmd0aCAvIDI7IGkrKykg ewotKwkJCWludCBrID0gcGtleV9hcnJbaV07Ci0rCQkJcGtleV9hcnJbaV0gPSBwa2V5X2Fyclt2 Y3AtPnZjX3ByaXZrZXlfcHJlZml4X2xlbmd0aCAtIDEgLSBpXTsKLSsJCQlwa2V5X2Fyclt2Y3At PnZjX3ByaXZrZXlfcHJlZml4X2xlbmd0aCAtIDEgLSBpXSA9IGs7Ci0rCQl9Ci0rCQlCTl9iaW4y Ym4ocGtleV9hcnIsIDMyLCBwa2JuKTsKLSAJCUVDX0tFWV9zZXRfcHJpdmF0ZV9rZXkocGtleSwg cGtibik7Ci0gCi0gCQlFQ19QT0lOVCAqb3JpZ2luID0gRUNfUE9JTlRfbmV3KHBncm91cCk7Ci1A QCAtMjI0MCw3ICsyMjQ4LDcgQEAgdmdfb3BlbmNsX2xvb3AodmdfZXhlY19jb250ZXh0X3QgKmFy ZykKLSAJCQlzbG90X2J1c3kgPSAxOwotIAkJCXNsb3QgPSAoc2xvdCArIDEpICUgbnNsb3RzOwot IAotLQkJfSBlbHNlIHsgCi0rCQl9IGVsc2UgewotIAkJCWlmIChzbG90X2J1c3kpIHsKLSAJCQkJ cHRocmVhZF9tdXRleF9sb2NrKCZ2b2NwLT52b2NfbG9jayk7Ci0gCQkJCXdoaWxlICh2b2NwLT52 b2Nfb2NsX3Nsb3QgIT0gLTEpIHsKLWRpZmYgLS1naXQgYS92YW5pdHlnZW4uYyBiL3Zhbml0eWdl bi5jCi1pbmRleCA5OTJlNWQ3Li41ZTQ5ZGY3IDEwMDY0NAotLS0tIGEvdmFuaXR5Z2VuLmMKLSsr KyBiL3Zhbml0eWdlbi5jCi1AQCAtMTI5LDcgKzEyOSwxNSBAQCB2Z190aHJlYWRfbG9vcCh2b2lk ICphcmcpCi0gCQkJRUNfS0VZX2dlbmVyYXRlX2tleShwa2V5KTsKLSAJCQlpZiAodmNwLT52Y19w cml2a2V5X3ByZWZpeF9sZW5ndGggPiAwKSB7Ci0gCQkJCUJJR05VTSAqcGtibiA9IEJOX2R1cChF Q19LRVlfZ2V0MF9wcml2YXRlX2tleShwa2V5KSk7Ci0tCQkJCW1lbWNweSgoY2hhciAqKXBrYm4t PmQgKyAzMiAtIHZjcC0+dmNfcHJpdmtleV9wcmVmaXhfbGVuZ3RoLCB2Y3AtPnZjX3ByaXZrZXlf cHJlZml4LCB2Y3AtPnZjX3ByaXZrZXlfcHJlZml4X2xlbmd0aCk7Ci0rICAgICAgICB1bnNpZ25l ZCBjaGFyIHBrZXlfYXJyWzMyXTsKLSsgICAgICAgIGFzc2VydChCTl9ibjJiaW4ocGtibiwgcGtl eV9hcnIpIDwgMzMpOwotKyAgICAgICAgbWVtY3B5KChjaGFyICopIHBrZXlfYXJyLCB2Y3AtPnZj X3ByaXZrZXlfcHJlZml4LCB2Y3AtPnZjX3ByaXZrZXlfcHJlZml4X2xlbmd0aCk7Ci0rCQkJCWZv ciAoaW50IGkgPSAwOyBpIDwgdmNwLT52Y19wcml2a2V5X3ByZWZpeF9sZW5ndGggLyAyOyBpKysp IHsKLSsJCQkJCWludCBrID0gcGtleV9hcnJbaV07Ci0rCQkJCQlwa2V5X2FycltpXSA9IHBrZXlf YXJyW3ZjcC0+dmNfcHJpdmtleV9wcmVmaXhfbGVuZ3RoIC0gMSAtIGldOwotKwkJCQkJcGtleV9h cnJbdmNwLT52Y19wcml2a2V5X3ByZWZpeF9sZW5ndGggLSAxIC0gaV0gPSBrOwotKwkJCQl9Ci0r ICAgICAgICBCTl9iaW4yYm4ocGtleV9hcnIsIDMyLCBwa2JuKTsKLSAJCQkJRUNfS0VZX3NldF9w cml2YXRlX2tleShwa2V5LCBwa2JuKTsKLSAKLSAJCQkJRUNfUE9JTlQgKm9yaWdpbiA9IEVDX1BP SU5UX25ldyhwZ3JvdXApOwotQEAgLTEzOTUsNyArMTQwMyw3IEBAIG1haW4oaW50IGFyZ2MsIGNo YXIgKiphcmd2KQotIAkJCQkJYWRkcnR5cGUgPSA2MDsKLSAJCQkJCXByaXZ0eXBlID0gMTI4Owot IAkJCQkJYnJlYWs7Ci0tCQkJfQkJCQotKwkJCX0KLSAJCQlicmVhazsKLSAKLSAvKkVORCBBTFRD T0lOIEdFTkVSQVRPUiovCmRpZmYgLS1naXQgYS9zcmNwa2dzL3Zhbml0eWdlbi90ZW1wbGF0ZSBi L3NyY3BrZ3MvdmFuaXR5Z2VuL3RlbXBsYXRlCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCA2MjRhYzg1OWQ1ZDIuLjAwMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL3Zhbml0eWdlbi90ZW1w bGF0ZQorKysgL2Rldi9udWxsCkBAIC0xLDIxICswLDAgQEAKLSMgVGVtcGxhdGUgZmlsZSBmb3Ig J3Zhbml0eWdlbicKLXBrZ25hbWU9dmFuaXR5Z2VuCi12ZXJzaW9uPTEuNTMKLXJldmlzaW9uPTIK LW1ha2VkZXBlbmRzPSJwY3JlLWRldmVsIG9wZW5zc2wtZGV2ZWwiCi1zaG9ydF9kZXNjPSJCaXRj b2luIHZhbml0eSBhZGRyZXNzIGdlbmVyYXRvciIKLW1haW50YWluZXI9Ik9ycGhhbmVkIDxvcnBo YW5Adm9pZGxpbnV4Lm9yZz4iCi1saWNlbnNlPSJBR1BMLTMuMC1vci1sYXRlciIKLWhvbWVwYWdl PSJodHRwczovL2dpdGh1Yi5jb20vZXhwbG9pdGFnZW5jeS92YW5pdHlnZW4tcGx1cyIKLWNoYW5n ZWxvZz0iaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2V4cGxvaXRhZ2VuY3kvdmFu aXR5Z2VuLXBsdXMvbWFzdGVyL0NIQU5HRUxPRyIKLWRpc3RmaWxlcz0iaHR0cHM6Ly9naXRodWIu Y29tL2V4cGxvaXRhZ2VuY3kvdmFuaXR5Z2VuLXBsdXMvYXJjaGl2ZS9QTFVTJHt2ZXJzaW9ufS50 YXIuZ3oiCi1jaGVja3N1bT05NzZhOWFmZTJhNDQ3MDU1MWE4YjZiMGRhOTcxMDFhM2EyZTZjNTRj NWEyNmRjODcwYWU3NTViYjJkOGM3MDQxCi0KLWRvX2J1aWxkKCkgewotCW1ha2UgQ0M9JENDIENG TEFHUz0iJENGTEFHUyAkTERGTEFHUyIgJHttYWtlam9ic30KLX0KLWRvX2luc3RhbGwoKSB7Ci0J dmJpbiB2YW5pdHlnZW4KLQl2YmluIGtleWNvbnYKLQl2bGljZW5zZSBMSUNFTlNFCi19CgpGcm9t IDU3M2U0MzRmY2Y3YjAwZGI2MGM5YmIxNjlmMDE1OTI1OWUzMTI3ZWEgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCkZyb206IGRrd28gPG5pY29sb3BpYXp6YWx1bmdhQGdtYWlsLmNvbT4KRGF0ZTog VGh1LCAyNiBKYW4gMjAyMyAxMzo1MToyMiAtMDUwMApTdWJqZWN0OiBbUEFUQ0ggNy85XSBwanBy b2plY3Q6IHVwZGF0ZSB0byAyLjEzCgotLS0KIHNyY3BrZ3MvcGpwcm9qZWN0L3RlbXBsYXRlIHwg MTQgKysrKysrKy0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKyksIDcgZGVs ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9wanByb2plY3QvdGVtcGxhdGUgYi9zcmNw a2dzL3BqcHJvamVjdC90ZW1wbGF0ZQppbmRleCBjOTRlYWQ5MGU5ZGUuLjg5NDc0ZTU3ZTc4MiAx MDA2NDQKLS0tIGEvc3JjcGtncy9wanByb2plY3QvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9wanBy b2plY3QvdGVtcGxhdGUKQEAgLTIsOSArMiw4IEBACiAjIG5vLXRoaXJkLXBhcnR5LnBhdGNoIGNv bWVzIGZyb20gQWxwaW5lLAogIyBhbmQgdGhpcyB0ZW1wbGF0ZSBpcyBoZWF2aWx5IGJhc2VkIG9u IEFscGluZSdzIEFQS0JVSUxELgogcGtnbmFtZT1wanByb2plY3QKLXZlcnNpb249Mi44Ci1yZXZp c2lvbj01Ci1kaXNhYmxlX3BhcmFsbGVsX2J1aWxkPXllcwordmVyc2lvbj0yLjEzCityZXZpc2lv bj0xCiBidWlsZF9zdHlsZT1nbnUtY29uZmlndXJlCiBjb25maWd1cmVfYXJncz0iLS1lbmFibGUt c2hhcmVkIFwKIAktLWVuYWJsZS1saWJzYW1wbGVyYXRlIFwKQEAgLTE3LDEzICsxNiwxNCBAQCBj b25maWd1cmVfYXJncz0iLS1lbmFibGUtc2hhcmVkIFwKICMgd2VicnRjLWF1ZGlvLXByb2Nlc3Np bmcsIGJ1dCBpdCBkb2Vzbid0IGhhdmUgd2hhdCBJIG5lZWQuICBVc2luZyB0aGUKICMgYnVuZGxl ZCB2ZXJzaW9ucyB3b3VsZCBhbHNvIHBvbGx1dGUgYnVpbGQgd2l0aCBsaWJ5dXYgYW5kIGxpYndl YnJ0YyAoeXVjaykuCiBtYWtlZGVwZW5kcz0ib3BlbnNzbC1kZXZlbCBhbHNhLWxpYi1kZXZlbCBs aWJnc20tZGV2ZWwgc3BlZXgtZGV2ZWwgc3BlZXhkc3AtZGV2ZWwKLQlsaWJzcnRwLWRldmVsIGxp YnNhbXBsZXJhdGUtZGV2ZWwiCisgbGlic3J0cC1kZXZlbCBsaWJzYW1wbGVyYXRlLWRldmVsIgog c2hvcnRfZGVzYz0iT3BlbiBzb3VyY2UgU0lQIGFuZCBtZWRpYSBzdGFjayIKIG1haW50YWluZXI9 IkNocmlzdG9waGVyIEJyYW5ub24gPGNocmlzQHRoZS1icmFubm9ucy5jb20+IgogbGljZW5zZT0i R1BMLTIuMC1vci1sYXRlciIKLWhvbWVwYWdlPSJodHRwOi8vd3d3LnBqc2lwLm9yZy9wanN1YS5o dG0iCi1kaXN0ZmlsZXM9Imh0dHA6Ly93d3cucGpzaXAub3JnL3JlbGVhc2UvJHt2ZXJzaW9ufS8k e3BrZ25hbWV9LSR7dmVyc2lvbn0udGFyLmJ6MiIKLWNoZWNrc3VtPTUwM2QwYmQ3ZjlmMTNkYzE0 OTJhYzliNzFiNzYxYjEwODk4NTFmYmI2MDhiOWExMzk5NmVkYzNjNDIwMDZmNzkKK2hvbWVwYWdl PSJodHRwczovL3d3dy5wanNpcC5vcmcvIgorZGlzdGZpbGVzPSJodHRwczovL2dpdGh1Yi5jb20v cGpzaXAvcGpwcm9qZWN0L2FyY2hpdmUvcmVmcy90YWdzLyR7dmVyc2lvbn0udGFyLmd6IgorY2hl Y2tzdW09NDE3OGJiOWY1ODYyOTkxMTE0NjNmYzE2ZWEwNGU0NjFhZGNhNGE3M2U2NDZmOGRkZWY2 MWVhNTNkYWZhOTJkOQorZGlzYWJsZV9wYXJhbGxlbF9idWlsZD15ZXMKIAogcHJlX2NvbmZpZ3Vy ZSgpIHsKIAlleHBvcnQgTEQ9IiR7Q0N9IgoKRnJvbSA4OTA4OTM5MjgwZTA4YzJhNTkyOTUzNDQ2 Mjk5YjkxY2E3N2Q4ZTdmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBka3dvIDxuaWNv bG9waWF6emFsdW5nYUBnbWFpbC5jb20+CkRhdGU6IFRodSwgMjYgSmFuIDIwMjMgMTM6NTQ6MzUg LTA1MDAKU3ViamVjdDogW1BBVENIIDgvOV0gc3R1bm5lbDogdXBkYXRlIHRvIDUuNjcKCi0tLQog c3JjcGtncy9zdHVubmVsL3RlbXBsYXRlIHwgNCArKy0tCiAxIGZpbGUgY2hhbmdlZCwgMiBpbnNl cnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mvc3R1bm5lbC90 ZW1wbGF0ZSBiL3NyY3BrZ3Mvc3R1bm5lbC90ZW1wbGF0ZQppbmRleCA5YWQzNTFlOWUxOTAuLjYz ZmQzNjc2Mjk4ZSAxMDA2NDQKLS0tIGEvc3JjcGtncy9zdHVubmVsL3RlbXBsYXRlCisrKyBiL3Ny Y3BrZ3Mvc3R1bm5lbC90ZW1wbGF0ZQpAQCAtMSw2ICsxLDYgQEAKICMgVGVtcGxhdGUgZmlsZSBm b3IgJ3N0dW5uZWwnCiBwa2duYW1lPXN0dW5uZWwKLXZlcnNpb249NS42NgordmVyc2lvbj01LjY3 CiByZXZpc2lvbj0xCiBidWlsZF9zdHlsZT1nbnUtY29uZmlndXJlCiBjb25maWd1cmVfYXJncz0i LS1lbmFibGUtaXB2NiAtLXdpdGgtc3NsPSR7WEJQU19DUk9TU19CQVNFfS91c3IiCkBAIC0xMyw3 ICsxMyw3IEBAIGxpY2Vuc2U9IkdQTC0yLjAtb3ItbGF0ZXIiCiBob21lcGFnZT0iaHR0cHM6Ly93 d3cuc3R1bm5lbC5vcmcvIgogY2hhbmdlbG9nPSJodHRwczovL3d3dy5zdHVubmVsLm9yZy9ORVdT Lmh0bWwiCiBkaXN0ZmlsZXM9Imh0dHBzOi8vd3d3LnN0dW5uZWwub3JnL2Rvd25sb2Fkcy9zdHVu bmVsLSR7dmVyc2lvbn0udGFyLmd6IgotY2hlY2tzdW09NTU4MTc4NzA0ZDFhYTVmNjg4M2FhYzZj YzVkNmJiZjJhNTcxNGM4YTBkMmU5MWRhMDM5MjQ2OGNlZTlmNTc5YworY2hlY2tzdW09MzA4Njkz OWVlNjQwNzUxNmM1OWIwYmEzZmJmNTU1MzM4ZjlkNTJmNDU5YmNhYjYzMzdjMGYwMGU5MWVhODQ1 NgogCiBwcmVfY2hlY2soKSB7CiAJIyBHaXRIdWIncyBDSSBkb2Vzbid0IHN1cHBvcnQgSVB2NgoK RnJvbSBmNjIxYmNiMmIyNjIzMWFmYWRlMThhZGNjY2NlOWI2ZDE0NTJlMGYwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBka3dvIDxuaWNvbG9waWF6emFsdW5nYUBnbWFpbC5jb20+CkRh dGU6IFRodSwgMjYgSmFuIDIwMjMgMTQ6MDM6MjAgLTA1MDAKU3ViamVjdDogW1BBVENIIDkvOV0g dGhyaWZ0OiB1cGRhdGUgZGlzdGZpbGVzLCBidW1wIGZvciBvcGVuc3NsCgotLS0KIHNyY3BrZ3Mv dGhyaWZ0L3RlbXBsYXRlIHwgNCArKy0tCiAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCsp LCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvdGhyaWZ0L3RlbXBsYXRlIGIv c3JjcGtncy90aHJpZnQvdGVtcGxhdGUKaW5kZXggOWFjNGJiNDgxYzMwLi44YjFhMGMzMjQ3ZmQg MTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvdGhyaWZ0L3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvdGhyaWZ0 L3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAndGhyaWZ0Jwog cGtnbmFtZT10aHJpZnQKIHZlcnNpb249MC4xMy4wCi1yZXZpc2lvbj02CityZXZpc2lvbj03CiBi dWlsZF9zdHlsZT1nbnUtY29uZmlndXJlCiBjb25maWd1cmVfYXJncz0iLS13aXRob3V0LXB5dGhv biIKIG1ha2VkZXBlbmRzPSJib29zdC1kZXZlbCBvcGVuc3NsLWRldmVsIgpAQCAtMTAsNyArMTAs NyBAQCBzaG9ydF9kZXNjPSJBcGFjaGUgVGhyaWZ0IGNvbXBpbGVyIgogbWFpbnRhaW5lcj0iT3Jw aGFuZWQgPG9ycGhhbkB2b2lkbGludXgub3JnPiIKIGxpY2Vuc2U9IkFwYWNoZS0yLjAiCiBob21l cGFnZT0iaHR0cHM6Ly90aHJpZnQuYXBhY2hlLm9yZy8iCi1kaXN0ZmlsZXM9Imh0dHA6Ly93d3ct dXMuYXBhY2hlLm9yZy9kaXN0L3RocmlmdC8ke3ZlcnNpb259L3RocmlmdC0ke3ZlcnNpb259LnRh ci5neiIKK2Rpc3RmaWxlcz0iaHR0cHM6Ly9hcmNoaXZlLmFwYWNoZS5vcmcvZGlzdC90aHJpZnQv JHt2ZXJzaW9ufS90aHJpZnQtJHt2ZXJzaW9ufS50YXIuZ3oiCiBjaGVja3N1bT03YWQzNDhiODgw MzNhZjQ2Y2U0OTE0ODA5N2FmZTM1NGQ1MTNjMWZjYTdjNjA3YjU5YzMzZWJiNjA2NGI1MTc5CiAK IGlmIFsgIiRYQlBTX1RBUkdFVF9OT19BVE9NSUM4IiBdOyB0aGVuCg== --===============4356216716841501088==--