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 25027 invoked from network); 26 Jan 2023 18:54:43 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 26 Jan 2023 18:54:43 -0000 Content-Type: multipart/mixed; boundary="===============2043970106729800903==" 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 19:54:43 +0100 List-Id: Message-ID: <20230126185443.b6DdfJ6-uFsyI4oDqthwRRJWhVnz8kzXAajlJ9ZzqbA@z> GitHub notification mails are now in MIME to allow UTF8. --===============2043970106729800903== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgZGt3byBhZ2FpbnN0IG1hc3RlciBv biB0aGUgdm9pZC1wYWNrYWdlcyByZXBvc2l0b3J5CgpodHRwczovL2dpdGh1Yi5jb20vZGt3by92 b2lkLXBhY2thZ2VzIG9wZW5zc2wzCmh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQt cGFja2FnZXMvcHVsbC8zNzY4MQoKdXBkYXRlIG9wZW5zc2wgdG8gMyBzZXJpZXMKLSBCdWlsZCBm YWlsdXJlcyBvbiBgeDg2XzY0LW11c2xgOg0KLSBbIF0gZ3NvYXAsIHZhbml0eWdlbiwgcGpwcm9q ZWN0LCBzdHVubmVsLCB0aHJpZnQsIHRjcGZsb3c6IG1pc3NpbmcgZGlzdGZpbGVzIC8gd3Jvbmcg c2hhLXN1bXMNCi0gW3hdIHNic2lnbnRvb2w6IGFkZCBwYXRjaA0KLSBbIF0gY2JhbmcsIHBvY28s IHBpZGdpbi1zaXBlLCBub2RlanMtbHRzLCBrb3JlLCB4cm9vdGQsIG5ldHBncCwgb3BlbnNjLCB2 cG4td3MsIGVpZC1tdywgYm9pbmMsIHBocCwgcGhwOC4wLCBnaXQtY3J5cHQsIHVtdXJtdXIsIG56 YmdldCwgbnJwZSwgcGtjczExLWhlbHBlciwgbXVtYmxlLCBzcXVpZCwgeGNhOiBkZXByZWNhdGVk IHNvbWV0aGluZw0KLSBbIF0gbWFpcml4LCBydXN0LXNjY2FjaGUsIGZyYWN0YWwsIHRlbGVncmFt LWRlc2t0b3AsIHJhYmJpdG1xLWMsIGdpdC1icndzLCByb29zdGVyLCBjYXJnby1hb2MsIHNwb3Rp ZnktdHVpLCBnaXQtc2VyaWVzLCB0YXJwYXVsaW4sIHRhaXNlaSwgcnVzdC1jYXJnby1hdWRpdCwg c2lnbmFsLWJhY2t1cC1kZWNvZGUsIGNhcmdvLW91dGRhdGVkLCBydXN0dXA6IGNhcmdvIGVycm9y cw0KLSBbIF0gbHVhNTQtbHVhc2VjLCB5dWJpa28tcGl2LXRvb2wsIGdjc2YsIGlwbWl1dGlsLCBy bmctdG9vbHM6IGVycm9ycw0KLSB4YnBzOiBhZGRlZCB0ZW1wb3JhcnkgZml4dHVyZSBzdWdnZXN0 ZWQgYnkgQER1bmNhZW4sIHN0aWxsIGJyb2tlbg0KLSByYWNrZXQ6IGRlcGVuZCBvbiBsaWJzc2wz LjANCi0gTm90ZSB0byBzZWxmOiB1c2UgYHhyZXZidW1wICJidW1wIGZvciBvcGVuc3NsLTMuMCIg JCh4YnBzLXF1ZXJ5IC1ScyBsaWJzc2wuc28gLXAgc2hsaWItcmVxdWlyZXMgfCBjdXQgLWQgJzon IC1mIDEgfCB4YXJncyAtbjEgeGJwcy11aGVscGVyIGdldHBrZ25hbWUpYCBhbmQgc2FtZSBmb3Ig YGxpYmNyeXB0b2AsIG9yIHVzZSBgc29ydCAtdSBmaWxlMSBmaWxlMmAuDQpbY2kgc2tpcF0KCkEg cGF0Y2ggZmlsZSBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQtcGFja2Fn ZXMvcHVsbC8zNzY4MS5wYXRjaCBpcyBhdHRhY2hlZA== --===============2043970106729800903== 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 dGU6IFNhdCwgMjUgSnVuIDIwMjIgMTg6MjI6MjggKzAyMDAKU3ViamVjdDogW1BBVENIIDEvOF0g 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 IFtQQVRDSCAyLzhdIHJhY2tldDogZGVwZW5kIG9uIGxpYnNzbDMuMAoKLS0tCiBzcmNwa2dzL3Jh Y2tldC90ZW1wbGF0ZSB8IDQgKystLQogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwg MiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3JhY2tldC90ZW1wbGF0ZSBiL3Ny Y3BrZ3MvcmFja2V0L3RlbXBsYXRlCmluZGV4IDBmMjJkNmMwNDY0OS4uYThiZDVjYjE3NzYxIDEw MDY0NAotLS0gYS9zcmNwa2dzL3JhY2tldC90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3JhY2tldC90 ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3JhY2tldCcKIHBr Z25hbWU9cmFja2V0CiB2ZXJzaW9uPTguNwotcmV2aXNpb249MQorcmV2aXNpb249MgogYXJjaHM9 ImFhcmNoNjQqIGFybXY2KiBhcm12NyogaTY4NiogeDg2XzY0KiIKIGJ1aWxkX3dya3NyYz1zcmMK IGJ1aWxkX3N0eWxlPWdudS1jb25maWd1cmUKQEAgLTksNyArOSw3IEBAIGNvbmZpZ3VyZV9hcmdz PSItLWVuYWJsZS11c2VwcmVmaXggLS1lbmFibGUtY3Vyc2VzIgogbWFrZV9idWlsZF9hcmdzPSJD Q19GT1JfQlVJTEQ9Y2MiCiBob3N0bWFrZWRlcGVuZHM9ImxpYmVyYXRpb24tZm9udHMtdHRmIgog bWFrZWRlcGVuZHM9Imd0ayszLWRldmVsIGxpYmx6NC1kZXZlbCBuY3Vyc2VzLWRldmVsIHNxbGl0 ZS1kZXZlbCB6bGliLWRldmVsIgotZGVwZW5kcz0iZ3RrKzMgbGlic3NsMS4xIgorZGVwZW5kcz0i Z3RrKzMgbGlic3NsMy4wIgogc2hvcnRfZGVzYz0iTXVsdGktcGFyYWRpZ20gcHJvZ3JhbW1pbmcg bGFuZ3VhZ2UgaW4gdGhlIExpc3AtU2NoZW1lIGZhbWlseSIKIG1haW50YWluZXI9IkFuZHJlYSBC cmFuY2FsZW9uaSA8YWJjQHBvbXBlbC5tZT4iCiBsaWNlbnNlPSJMR1BMLTMuMC1vbmx5LCBNSVQi CgpGcm9tIDIyYjQ2NTM4MDZlZDdjN2M5NTJmOGZkNjkwYjlmZjQ5ZGIzY2E2YWUgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCkZyb206IGRrd28gPG5pY29sb3BpYXp6YWx1bmdhQGdtYWlsLmNvbT4K RGF0ZTogU2F0LCAyNSBKdW4gMjAyMiAxODozMzo1NyArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMy84 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 ZW5kcys9IiBhdGYtZGV2ZWwiCgpGcm9tIGQ5NTc3M2M2OTAzOWRhYjkzZTE1M2JhNWM3MThlNGUx NDIyZGQ0MTcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IGRrd28gPG5pY29sb3BpYXp6 YWx1bmdhQGdtYWlsLmNvbT4KRGF0ZTogTW9uLCAyMyBKYW4gMjAyMyAxNzo0NTo1MCAtMDUwMApT dWJqZWN0OiBbUEFUQ0ggNC84XSBzYnNpZ250b29sOiBwYXRjaCBmb3Igb3BlbnNzMywgYWRkIENG TEFHCgotLS0KIHNyY3BrZ3Mvc2JzaWdudG9vbC9wYXRjaGVzL29wZW5zc2wzLnBhdGNoIHwgMzUg KysrKysrKysrKysrKysrKysrKysrKysKIHNyY3BrZ3Mvc2JzaWdudG9vbC90ZW1wbGF0ZSAgICAg ICAgICAgICAgIHwgIDIgKysKIDIgZmlsZXMgY2hhbmdlZCwgMzcgaW5zZXJ0aW9ucygrKQogY3Jl YXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3Mvc2JzaWdudG9vbC9wYXRjaGVzL29wZW5zc2wzLnBhdGNo CgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9zYnNpZ250b29sL3BhdGNoZXMvb3BlbnNzbDMucGF0Y2gg Yi9zcmNwa2dzL3Nic2lnbnRvb2wvcGF0Y2hlcy9vcGVuc3NsMy5wYXRjaApuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmNkMGQwMjVhZGE3YgotLS0gL2Rldi9udWxsCisr KyBiL3NyY3BrZ3Mvc2JzaWdudG9vbC9wYXRjaGVzL29wZW5zc2wzLnBhdGNoCkBAIC0wLDAgKzEs MzUgQEAKK1N1YmplY3Q6IFtQQVRDSF0gRml4IG9wZW5zc2wtMy4wIGlzc3VlIGludm9sdmluZyBB U04xIHh4eF9pdAorRnJvbTogSmVyZW1pIFBpb3Ryb3dza2kgPGplcmVtaS5waW90cm93c2tpQG1p Y3Jvc29mdC5jb20+CitPcmlnaW46IGh0dHBzOi8vZ3JvdXBzLmlvL2cvc2JzaWdudG9vbHMvbWVz c2FnZS81NAorCitVc2UgQVNOMV9JVEVNX3JwdHIoKSBpbnN0ZWFkIG9mIHRha2luZyB0aGUgYWRk cmVzcyBvZiBJRENfUEVJRF9pdC4KKworb3BlbnNzbC0zLjAgY2hhbmdlZCB0aGUgdHlwZSBvZiBU WVBFX2l0IGZyb20gYGNvbnN0IEFTTjFfSVRFTSBUWVBFX2l0YCB0bworYGNvbnN0IEFTTjFfSVRF TSAqVFlQRV9pdCh2b2lkKWAuIFRoaXMgd2FzIHByZXZpb3VzbHkgaGlkZGVuIGJlaGluZAorT1BF TlNTTF9FWFBPUlRfVkFSX0FTX0ZVTkNUSU9OIGJ1dCBpbiAzLjAgb25seSB0aGUgZnVuY3Rpb24g dmVyc2lvbiBpcworYXZhaWxhYmxlLiBUaGlzIGNoYW5nZSBzaG91bGQgaGF2ZSBiZWVuIHRyYW5z cGFyZW50IHRvIHRoZSBhcHBsaWNhdGlvbiwgYnV0Citvbmx5IGlmIHRoZSBgQVNOMV9JVEVNX3Jw dHIoKWAgbWFjcm8gaXMgdXNlZC4KKworVGhpcyBjaGFuZ2UgcGFzc2VzIGBtYWtlIGNoZWNrYCB3 aXRoIGJvdGggb3BlbnNzbCAxLjEgYW5kIDMuMC4KKworU2lnbmVkLW9mZi1ieTogSmVyZW1pIFBp b3Ryb3dza2kgPGpwaW90cm93c2tpQG1pY3Jvc29mdC5jb20+CistLS0KKyBzcmMvaWRjLmMgfCAy ICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2Rp ZmYgLS1naXQgYS9zcmMvaWRjLmMgYi9zcmMvaWRjLmMKK2luZGV4IDZkODdiZDQuLjBhODIyMTgg MTAwNjQ0CistLS0gYS9zcmMvaWRjLmMKKysrKyBiL3NyYy9pZGMuYworQEAgLTE4OSw3ICsxODks NyBAQCBpbnQgSURDX3NldChQS0NTNyAqcDcsIFBLQ1M3X1NJR05FUl9JTkZPICpzaSwgc3RydWN0 IGltYWdlICppbWFnZSkKKyAKKyAJaWRjLT5kYXRhLT50eXBlID0gT0JKX25pZDJvYmoocGVpZF9u aWQpOworIAlpZGMtPmRhdGEtPnZhbHVlID0gQVNOMV9UWVBFX25ldygpOworLQl0eXBlX3NldF9z ZXF1ZW5jZShpbWFnZSwgaWRjLT5kYXRhLT52YWx1ZSwgcGVpZCwgJklEQ19QRUlEX2l0KTsKKysJ dHlwZV9zZXRfc2VxdWVuY2UoaW1hZ2UsIGlkYy0+ZGF0YS0+dmFsdWUsIHBlaWQsIEFTTjFfSVRF TV9ycHRyKElEQ19QRUlEKSk7CisgCisgICAgICAgICBpZGMtPmRpZ2VzdC0+YWxnLT5wYXJhbWV0 ZXIgPSBBU04xX1RZUEVfbmV3KCk7CisgICAgICAgICBpZGMtPmRpZ2VzdC0+YWxnLT5hbGdvcml0 aG0gPSBPQkpfbmlkMm9iaihOSURfc2hhMjU2KTsKKy0tIAorMi4yNS4xCisKZGlmZiAtLWdpdCBh L3NyY3BrZ3Mvc2JzaWdudG9vbC90ZW1wbGF0ZSBiL3NyY3BrZ3Mvc2JzaWdudG9vbC90ZW1wbGF0 ZQppbmRleCA0MmIyNTQ1ZDIzZWYuLjFjZDM3Y2VjOTNhMSAxMDA2NDQKLS0tIGEvc3JjcGtncy9z YnNpZ250b29sL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3Mvc2JzaWdudG9vbC90ZW1wbGF0ZQpAQCAt MjAsNiArMjAsOCBAQCBjaGVja3N1bT0iZWRkYjdkMjEyNjNlZTJiMDdiZThmMGVkOTNiNmJhMDIx YzNmOTQzOTY0NzMwYjJkODZmNDQ3MzZmYTE5MjRkNQogIDFkYzFlMWRlNWYyZGRhNTBkYmQyZTZh ODMzNTVmZTdhZTM4Y2EwZjc5ZGFlYjQwNDAyNjQyMWFmNzA2MDY2NTMiCiBza2lwX2V4dHJhY3Rp b249InNic2lnbnRvb2xfMC45LjIub3JpZy50YXIuZ3oiCiBjb25mX2ZpbGVzPSIvZXRjL2RlZmF1 bHQvc2JzaWdudG9vbC1rZXJuZWwtaG9vayIKKyMgb3BlbnNzbDMgZml4CitDRkxBR1MrPSIgLVdu by1lcnJvcj1kZXByZWNhdGVkLWRlY2xhcmF0aW9ucyIKIAogcG9zdF9leHRyYWN0KCkgewogCWJz ZHRhciAteHpmICRYQlBTX1NSQ0RJU1RESVIvJHBrZ25hbWUtJHZlcnNpb24vc2JzaWdudG9vbF8w LjkuMi5vcmlnLnRhci5negoKRnJvbSAxM2ZlM2Y0ODFlNTY1Yjc1MDIxNTYxNzEwZTRlOTRkODgx ZDFiYmM4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBka3dvIDxuaWNvbG9waWF6emFs dW5nYUBnbWFpbC5jb20+CkRhdGU6IFR1ZSwgMjQgSmFuIDIwMjMgMTM6Mzk6NTMgLTA1MDAKU3Vi amVjdDogW1BBVENIIDUvOF0gZ3NvYXA6IHVwZGF0ZSB0byAyLjguMTI0Cgp0YXJiYWxsIGZvciBw cmV2aW91cyB2ZXJzaW9ucyBub3QgYXZhaWxhYmxlCi0tLQogc3JjcGtncy9nc29hcC9maWxlcy9t dXNsLWZpeGVzLnBhdGNoICAgICAgfCAgNjggKysrKysrKysrKysKIHNyY3BrZ3MvZ3NvYXAvcGF0 Y2hlcy9nc29hcC1saWJ0b29sLnBhdGNoIHwgMTM3ICsrKysrKysrKysrKysrKysrKysrKysKIHNy Y3BrZ3MvZ3NvYXAvdGVtcGxhdGUgICAgICAgICAgICAgICAgICAgIHwgIDMwICsrKy0tCiAzIGZp bGVzIGNoYW5nZWQsIDIyNCBpbnNlcnRpb25zKCspLCAxMSBkZWxldGlvbnMoLSkKIGNyZWF0ZSBt b2RlIDEwMDY0NCBzcmNwa2dzL2dzb2FwL2ZpbGVzL211c2wtZml4ZXMucGF0Y2gKIGNyZWF0ZSBt b2RlIDEwMDY0NCBzcmNwa2dzL2dzb2FwL3BhdGNoZXMvZ3NvYXAtbGlidG9vbC5wYXRjaAoKZGlm ZiAtLWdpdCBhL3NyY3BrZ3MvZ3NvYXAvZmlsZXMvbXVzbC1maXhlcy5wYXRjaCBiL3NyY3BrZ3Mv Z3NvYXAvZmlsZXMvbXVzbC1maXhlcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwMDAwMDAuLjc3NTlhYzc4NjBlNgotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvZ3Nv YXAvZmlsZXMvbXVzbC1maXhlcy5wYXRjaApAQCAtMCwwICsxLDY4IEBACitGcm9tOiBodHRwczov L2dpdC5hbHBpbmVsaW51eC5vcmcvYXBvcnRzL3RyZWUvY29tbXVuaXR5L2dzb2FwL211c2wtZml4 ZXMucGF0Y2gKKworLS0tIGEvZ3NvYXAvc3Rkc29hcDIuYworKysrIGIvZ3NvYXAvc3Rkc29hcDIu YworQEAgLTUxMjUsNyArNTEyNSw3IEBACisgICAgIGhvc3RlbnQgPSBOVUxMOworICAgICBzb2Fw LT5lcnJudW0gPSBoX2Vycm5vOworICAgfQorLSNlbGlmICghZGVmaW5lZChfR05VX1NPVVJDRSkg fHwgKCEofl9HTlVfU09VUkNFKzEpICYmICFkZWZpbmVkKF9QT1NJWF9DX1NPVVJDRSkgJiYgIWRl ZmluZWQoX1hPUEVOX1NPVVJDRSkpIHx8IF9QT1NJWF9DX1NPVVJDRSA+PSAyMDAxMTJMIHx8IF9Y T1BFTl9TT1VSQ0UgPj0gNjAwIHx8IGRlZmluZWQoX19BTkRST0lEX18pIHx8IGRlZmluZWQoRlJF RUJTRCkgfHwgZGVmaW5lZChfX0ZyZWVCU0RfXykpICYmICFkZWZpbmVkKFNVTl9PUykgJiYgZGVm aW5lZChIQVZFX0dFVEhPU1RCWU5BTUVfUikKKysjZWxpZiBkZWZpbmVkKEhBVkVfR0VUSE9TVEJZ TkFNRV9SKQorICAgd2hpbGUgKChyID0gZ2V0aG9zdGJ5bmFtZV9yKGFkZHIsIGhvc3RlbnQsIHRt cGJ1ZiwgdG1wbGVuLCAmaG9zdGVudCwgJnNvYXAtPmVycm51bSkpIDwgMCkKKyAgIHsKKyAgICAg aWYgKHRtcGJ1ZiAhPSBzb2FwLT50bXBidWYpCitAQCAtNTE0MCw4ICs1MTQwLDYgQEAKKyAgICAg aWYgKCF0bXBidWYpCisgICAgICAgYnJlYWs7CisgICB9CistI2VsaWYgZGVmaW5lZChIQVZFX0dF VEhPU1RCWU5BTUVfUikKKy0gIGhvc3RlbnQgPSBnZXRob3N0YnluYW1lX3IoYWRkciwgaG9zdGVu dCwgdG1wYnVmLCB0bXBsZW4sICZzb2FwLT5lcnJudW0pOworICNlbGlmIGRlZmluZWQoVlhXT1JL UykKKyAgIC8qIHZ4V29ya3MgY29tcGF0aWJsZSAqLworICAgLyogSWYgdGhlIEROUyByZXNvbHZl ciBsaWJyYXJ5IHJlc29sdkxpYiBoYXMgYmVlbiBjb25maWd1cmVkIGluIHRoZSB2eFdvcmtzCisK Ky0tLSBhL2dzb2FwL3N0ZHNvYXAyLmNwcAorKysrIGIvZ3NvYXAvc3Rkc29hcDIuY3BwCitAQCAt NTA5Miw3ICs1MDkyLDcgQEAKKyB7CisgI2lmIChkZWZpbmVkKF9BSVg0MykgfHwgZGVmaW5lZChU UlU2NCkgfHwgZGVmaW5lZChIUF9VWCkpICYmIGRlZmluZWQoSEFWRV9HRVRIT1NUQllOQU1FX1Ip CisgICBzdHJ1Y3QgaG9zdGVudF9kYXRhIGh0X2RhdGE7CistI2VsaWYgKCFkZWZpbmVkKF9HTlVf U09VUkNFKSB8fCAoISh+X0dOVV9TT1VSQ0UrMSkgJiYgIWRlZmluZWQoX1BPU0lYX0NfU09VUkNF KSAmJiAhZGVmaW5lZChfWE9QRU5fU09VUkNFKSkgfHwgX1BPU0lYX0NfU09VUkNFID49IDIwMDEx MkwgfHwgX1hPUEVOX1NPVVJDRSA+PSA2MDAgfHwgZGVmaW5lZChfX0FORFJPSURfXykgfHwgZGVm aW5lZChGUkVFQlNEKSB8fCBkZWZpbmVkKF9fRnJlZUJTRF9fKSkgJiYgZGVmaW5lZChIQVZFX0dF VEhPU1RCWU5BTUVfUikKKysjZWxpZiBkZWZpbmVkKEhBVkVfR0VUSE9TVEJZTkFNRV9SKQorICAg aW50IHI7CisgICBjaGFyICp0bXBidWYgPSBzb2FwLT50bXBidWY7CisgICBzaXplX3QgdG1wbGVu ID0gc2l6ZW9mKHNvYXAtPnRtcGJ1Zik7CitAQCAtNTEyNSw3ICs1MTI1LDcgQEAKKyAgICAgaG9z dGVudCA9IE5VTEw7CisgICAgIHNvYXAtPmVycm51bSA9IGhfZXJybm87CisgICB9CistI2VsaWYg KCFkZWZpbmVkKF9HTlVfU09VUkNFKSB8fCAoISh+X0dOVV9TT1VSQ0UrMSkgJiYgIWRlZmluZWQo X1BPU0lYX0NfU09VUkNFKSAmJiAhZGVmaW5lZChfWE9QRU5fU09VUkNFKSkgfHwgX1BPU0lYX0Nf U09VUkNFID49IDIwMDExMkwgfHwgX1hPUEVOX1NPVVJDRSA+PSA2MDAgfHwgZGVmaW5lZChfX0FO RFJPSURfXykgfHwgZGVmaW5lZChGUkVFQlNEKSB8fCBkZWZpbmVkKF9fRnJlZUJTRF9fKSkgJiYg IWRlZmluZWQoU1VOX09TKSAmJiBkZWZpbmVkKEhBVkVfR0VUSE9TVEJZTkFNRV9SKQorKyNlbGlm IGRlZmluZWQoSEFWRV9HRVRIT1NUQllOQU1FX1IpCisgICB3aGlsZSAoKHIgPSBnZXRob3N0Ynlu YW1lX3IoYWRkciwgaG9zdGVudCwgdG1wYnVmLCB0bXBsZW4sICZob3N0ZW50LCAmc29hcC0+ZXJy bnVtKSkgPCAwKQorICAgeworICAgICBpZiAodG1wYnVmICE9IHNvYXAtPnRtcGJ1ZikKK0BAIC01 MTQwLDggKzUxNDAsNiBAQAorICAgICBpZiAoIXRtcGJ1ZikKKyAgICAgICBicmVhazsKKyAgIH0K Ky0jZWxpZiBkZWZpbmVkKEhBVkVfR0VUSE9TVEJZTkFNRV9SKQorLSAgaG9zdGVudCA9IGdldGhv c3RieW5hbWVfcihhZGRyLCBob3N0ZW50LCB0bXBidWYsIHRtcGxlbiwgJnNvYXAtPmVycm51bSk7 CisgI2VsaWYgZGVmaW5lZChWWFdPUktTKQorICAgLyogdnhXb3JrcyBjb21wYXRpYmxlICovCisg ICAvKiBJZiB0aGUgRE5TIHJlc29sdmVyIGxpYnJhcnkgcmVzb2x2TGliIGhhcyBiZWVuIGNvbmZp Z3VyZWQgaW4gdGhlIHZ4V29ya3MKKy0tLSBhL2dzb2FwL3N0ZHNvYXAyLmNwcAorKysrIGIvZ3Nv YXAvc3Rkc29hcDIuY3BwCitAQCAtMjI2MTgsMTMgKzIyNjE4LDkgQEAKKyAgIHsKKyAjaWZuZGVm IFdJTjMyCisgIyBpZmRlZiBIQVZFX1NUUkVSUk9SX1IKKy0jICBpZiAhZGVmaW5lZChfR05VX1NP VVJDRSkgfHwgKCEofl9HTlVfU09VUkNFKzEpICYmICgoIWRlZmluZWQoX1BPU0lYX0NfU09VUkNF KSAmJiAhZGVmaW5lZChfWE9QRU5fU09VUkNFKSkgfHwgKF9QT1NJWF9DX1NPVVJDRSA+PSAyMDAx MTJMIHx8IF9YT1BFTl9TT1VSQ0UgPj0gNjAwKSkpCisgICAgIGVyciA9IHN0cmVycm9yX3IoZXJy LCBzb2FwLT5tc2didWYsIHNpemVvZihzb2FwLT5tc2didWYpKTsgLyogWFNJLWNvbXBsaWFudCAq LworICAgICBpZiAoZXJyICE9IDApCisgICAgICAgc29hcF9zdHJjcHkoc29hcC0+bXNnYnVmLCBz aXplb2Yoc29hcC0+bXNnYnVmKSwgInVua25vd24gZXJyb3IiKTsKKy0jICBlbHNlCistICAgIHJl dHVybiBzdHJlcnJvcl9yKGVyciwgc29hcC0+bXNnYnVmLCBzaXplb2Yoc29hcC0+bXNnYnVmKSk7 IC8qIEdOVS1zcGVjaWZpYyAqLworLSMgIGVuZGlmCisgIyBlbHNlCisgICAgIHJldHVybiBzdHJl cnJvcihlcnIpOworICMgZW5kaWYKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvZ3NvYXAvcGF0Y2hlcy9n c29hcC1saWJ0b29sLnBhdGNoIGIvc3JjcGtncy9nc29hcC9wYXRjaGVzL2dzb2FwLWxpYnRvb2wu cGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi42OTJmNjRiN2Q2 Y2IKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2dzb2FwL3BhdGNoZXMvZ3NvYXAtbGlidG9v bC5wYXRjaApAQCAtMCwwICsxLDEzNyBAQAorRnJvbTogaHR0cHM6Ly9zcmMuZmVkb3JhcHJvamVj dC5vcmcvcnBtcy9nc29hcC9ibG9iL21hc3Rlci9mL2dzb2FwLWxpYnRvb2wucGF0Y2gKKworZGlm ZiAtdXIgZ3NvYXAtMi44Lm9yaWcvY29uZmlndXJlLmFjIGdzb2FwLTIuOC9jb25maWd1cmUuYWMK Ky0tLSBnc29hcC0yLjgub3JpZy9jb25maWd1cmUuYWMJMjAxOS0wMS0xNCAxODoxNzoyMC4wMDAw MDAwMDAgKzAxMDAKKysrKyBnc29hcC0yLjgvY29uZmlndXJlLmFjCTIwMTktMDEtMTcgMTU6NDg6 MDAuMDAwOTgyMDg4ICswMTAwCitAQCAtMTYsOCArMTYsNyBAQAorIEFNX1BST0dfTEVYCisgQUNf UFJPR19ZQUNDCisgQUNfUFJPR19DUFAKKy1BQ19QUk9HX1JBTkxJQgorLSNBTV9QUk9HX0xJQlRP T0wKKytBTV9QUk9HX0xJQlRPT0wKKyBBQ19QUk9HX0xOX1MKKyBBQ19QUk9HX0FXSworIEFDX1BS T0dfSU5TVEFMTAorQEAgLTI5NSwxNSArMjk0LDE1IEBACisgICAgIFdTREwySF9FWFRSQV9MSUJT PSIke1dTREwySF9FWFRSQV9MSUJTfSAtbGdudXRscyAtbGdjcnlwdCAtbGdwZy1lcnJvciAtbHoi CisgICAgIFNBTVBMRV9JTkNMVURFUz0KKyAgICAgU0FNUExFX1NTTF9MSUJTPSItbGdudXRscyAt bGdjcnlwdCAtbGdwZy1lcnJvciAtbHoiCistICAgIFdTREwySF9TT0FQX0NQUF9MSUI9ImxpYmdz b2Fwc3NsKysuYSIKKysgICAgV1NETDJIX1NPQVBfQ1BQX0xJQj0ibGliZ3NvYXBzc2wrKy5sYSIK KyAgIGVsc2UKKyAgICAgQUNfTVNHX1JFU1VMVChubykKKyAgICAgV1NETDJIX0VYVFJBX0ZMQUdT PSItRFdJVEhfT1BFTlNTTCAtRFdJVEhfR1pJUCIKKyAgICAgIyBjb21waWxlIHdpdGggd3NkbDJo IHdoZW4gT1BFTlNTTCBpcyBhdmFpbGFibGUKKy0gICAgV1NETDJIX0VYVFJBX0xJQlM9IiR7V1NE TDJIX0VYVFJBX0xJQlN9IC1sc3NsIC1sY3J5cHRvIC1seiIKKysgICAgV1NETDJIX0VYVFJBX0xJ QlM9IiR7V1NETDJIX0VYVFJBX0xJQlN9IC1sY3J5cHRvIgorICAgICBTQU1QTEVfSU5DTFVERVM9 CisgICAgIFNBTVBMRV9TU0xfTElCUz0iLWxzc2wgLWxjcnlwdG8gLWx6IgorLSAgICBXU0RMMkhf U09BUF9DUFBfTElCPSJsaWJnc29hcHNzbCsrLmEiCisrICAgIFdTREwySF9TT0FQX0NQUF9MSUI9 ImxpYmdzb2Fwc3NsKysubGEiCisgICBmaQorICAgaWYgdGVzdCAtbiAiJFpMSUIiOyB0aGVuCisg ICAgIFdTREwySF9FWFRSQV9GTEFHUz0iLUkke1pMSUJ9L2luY2x1ZGUgJHtXU0RMMkhfRVhUUkFf RkxBR1N9IgorQEAgLTMyMiw3ICszMjEsNyBAQAorICAgV1NETDJIX0VYVFJBX0ZMQUdTPQorICAg U0FNUExFX1NTTF9MSUJTPQorICAgU0FNUExFX0lOQ0xVREVTPQorLSAgV1NETDJIX1NPQVBfQ1BQ X0xJQj0ibGliZ3NvYXArKy5hIgorKyAgV1NETDJIX1NPQVBfQ1BQX0xJQj0ibGliZ3NvYXArKy5s YSIKKyBmaQorIEFNX0NPTkRJVElPTkFMKFdJVEhfT1BFTlNTTCwgdGVzdCAieCR3aXRoX29wZW5z c2wiID0gInh5ZXMiIC1hICJ4JHdpdGhfZ251dGxzIiAhPSAieHllcyIpCisgQUNfU1VCU1QoV0lU SF9PUEVOU1NMKQorZGlmZiAtdXIgZ3NvYXAtMi44Lm9yaWcvZ3NvYXAvTWFrZWZpbGUuYW0gZ3Nv YXAtMi44L2dzb2FwL01ha2VmaWxlLmFtCistLS0gZ3NvYXAtMi44Lm9yaWcvZ3NvYXAvTWFrZWZp bGUuYW0JMjAxOS0wMS0xNCAxODoxNzoyMS4wMDAwMDAwMDAgKzAxMDAKKysrKyBnc29hcC0yLjgv Z3NvYXAvTWFrZWZpbGUuYW0JMjAxOS0wMS0xNyAxNTo1ODoxMy4wNDEzMTc1NjcgKzAxMDAKK0BA IC0zNCwyMCArMzQsMzAgQEAKKyBkb21fY3BwLmNwcDogZG9tLmNwcAorIAkkKExOX1MpIC1mICQo dG9wX3NyY2RpcikvZ3NvYXAvZG9tLmNwcCBkb21fY3BwLmNwcAorIAorLWxpYl9MSUJSQVJJRVMg PSBsaWJnc29hcC5hIGxpYmdzb2FwKysuYSBsaWJnc29hcGNrLmEgbGliZ3NvYXBjaysrLmEgbGli Z3NvYXBzc2wuYSBsaWJnc29hcHNzbCsrLmEKKytsaWJfTFRMSUJSQVJJRVMgPSBsaWJnc29hcC5s YSBsaWJnc29hcCsrLmxhIGxpYmdzb2FwY2subGEgbGliZ3NvYXBjaysrLmxhIGxpYmdzb2Fwc3Ns LmxhIGxpYmdzb2Fwc3NsKysubGEKKyAKKy1saWJnc29hcF9hX1NPVVJDRVMgPSBzdGRzb2FwMi5j IGRvbS5jCistbGliZ3NvYXBfYV9DRkxBR1MgPSAkKFNPQVBDUFAyX0RFQlVHKSAkKFNPQVBDUFAy X05PTkFNRVNQQUNFUykgJChTT0FQQ1BQMl9OT19DX0xPQ0FMRSkgJChTT0FQQ1BQMl9JUFY2KSAk KFNPQVBDUFAyX0lQVjZfVjZPTkxZKSAtRCQocGxhdGZvcm0pCistbGliZ3NvYXBfX19hX1NPVVJD RVMgPSBzdGRzb2FwMl9jcHAuY3BwIGRvbV9jcHAuY3BwCistbGliZ3NvYXBfX19hX0NYWEZMQUdT ID0gJChTT0FQQ1BQMl9ERUJVRykgJChTT0FQQ1BQMl9OT05BTUVTUEFDRVMpICQoU09BUENQUDJf Tk9fQ19MT0NBTEUpICQoU09BUENQUDJfSVBWNikgJChTT0FQQ1BQMl9JUFY2X1Y2T05MWSkgLUQk KHBsYXRmb3JtKQorLWxpYmdzb2FwY2tfYV9TT1VSQ0VTID0gc3Rkc29hcDJfY2suYyBkb20uYwor LWxpYmdzb2FwY2tfYV9DRkxBR1MgPSAkKFNPQVBDUFAyX0RFQlVHKSAkKFNPQVBDUFAyX05PTkFN RVNQQUNFUykgJChTT0FQQ1BQMl9OT19DX0xPQ0FMRSkgJChTT0FQQ1BQMl9JUFY2KSAkKFNPQVBD UFAyX0lQVjZfVjZPTkxZKSAtRCQocGxhdGZvcm0pIC1EV0lUSF9DT09LSUVTCistbGliZ3NvYXBj a19fX2FfU09VUkNFUyA9IHN0ZHNvYXAyX2NrX2NwcC5jcHAgZG9tX2NwcC5jcHAKKy1saWJnc29h cGNrX19fYV9DWFhGTEFHUyA9ICQoU09BUENQUDJfREVCVUcpICQoU09BUENQUDJfTk9OQU1FU1BB Q0VTKSAkKFNPQVBDUFAyX05PX0NfTE9DQUxFKSAkKFNPQVBDUFAyX0lQVjYpICQoU09BUENQUDJf SVBWNl9WNk9OTFkpIC1EJChwbGF0Zm9ybSkgLURXSVRIX0NPT0tJRVMKKy1saWJnc29hcHNzbF9h X1NPVVJDRVMgPSBzdGRzb2FwMl9zc2wuYyBkb20uYworLWxpYmdzb2Fwc3NsX2FfQ0ZMQUdTID0g JChTT0FQQ1BQMl9ERUJVRykgJChTT0FQQ1BQMl9OT05BTUVTUEFDRVMpICQoU09BUENQUDJfTk9f Q19MT0NBTEUpICQoU09BUENQUDJfSVBWNikgJChTT0FQQ1BQMl9JUFY2X1Y2T05MWSkgLUQkKHBs YXRmb3JtKSAkKFdTREwySF9FWFRSQV9GTEFHUykgLURXSVRIX0RPTSAtRFdJVEhfQ09PS0lFUwor LWxpYmdzb2Fwc3NsX19fYV9TT1VSQ0VTID0gc3Rkc29hcDJfc3NsX2NwcC5jcHAgZG9tX2NwcC5j cHAKKy1saWJnc29hcHNzbF9fX2FfQ1hYRkxBR1MgPSAkKFNPQVBDUFAyX0RFQlVHKSAkKFNPQVBD UFAyX05PTkFNRVNQQUNFUykgJChTT0FQQ1BQMl9OT19DX0xPQ0FMRSkgJChTT0FQQ1BQMl9JUFY2 KSAkKFNPQVBDUFAyX0lQVjZfVjZPTkxZKSAtRCQocGxhdGZvcm0pICQoV1NETDJIX0VYVFJBX0ZM QUdTKSAtRFdJVEhfRE9NIC1EV0lUSF9DT09LSUVTCisrU09WRVJTSU9OID0gJChzaGVsbCBncmVw ICdkZWZpbmUgVkVSU0lPTicgJChzcmNkaXIpL3NyYy9zb2FwY3BwMi5oIHwgY3V0IC1kICciJyAt ZiAyKQorKworK2xpYmdzb2FwX2xhX1NPVVJDRVMgPSBzdGRzb2FwMi5jIGRvbS5jCisrbGliZ3Nv YXBfbGFfQ0ZMQUdTID0gJChTT0FQQ1BQMl9ERUJVRykgJChTT0FQQ1BQMl9OT05BTUVTUEFDRVMp ICQoU09BUENQUDJfTk9fQ19MT0NBTEUpICQoU09BUENQUDJfSVBWNikgJChTT0FQQ1BQMl9JUFY2 X1Y2T05MWSkgLUQkKHBsYXRmb3JtKQorK2xpYmdzb2FwX2xhX0xERkxBR1MgPSAtcmVsZWFzZSAk KFNPVkVSU0lPTikKKytsaWJnc29hcF9fX2xhX1NPVVJDRVMgPSBzdGRzb2FwMl9jcHAuY3BwIGRv bV9jcHAuY3BwCisrbGliZ3NvYXBfX19sYV9DWFhGTEFHUyA9ICQoU09BUENQUDJfREVCVUcpICQo U09BUENQUDJfTk9OQU1FU1BBQ0VTKSAkKFNPQVBDUFAyX05PX0NfTE9DQUxFKSAkKFNPQVBDUFAy X0lQVjYpICQoU09BUENQUDJfSVBWNl9WNk9OTFkpIC1EJChwbGF0Zm9ybSkKKytsaWJnc29hcF9f X2xhX0xERkxBR1MgPSAtcmVsZWFzZSAkKFNPVkVSU0lPTikKKytsaWJnc29hcGNrX2xhX1NPVVJD RVMgPSBzdGRzb2FwMl9jay5jIGRvbS5jCisrbGliZ3NvYXBja19sYV9DRkxBR1MgPSAkKFNPQVBD UFAyX0RFQlVHKSAkKFNPQVBDUFAyX05PTkFNRVNQQUNFUykgJChTT0FQQ1BQMl9OT19DX0xPQ0FM RSkgJChTT0FQQ1BQMl9JUFY2KSAkKFNPQVBDUFAyX0lQVjZfVjZPTkxZKSAtRCQocGxhdGZvcm0p IC1EV0lUSF9DT09LSUVTCisrbGliZ3NvYXBja19sYV9MREZMQUdTID0gLXJlbGVhc2UgJChTT1ZF UlNJT04pCisrbGliZ3NvYXBja19fX2xhX1NPVVJDRVMgPSBzdGRzb2FwMl9ja19jcHAuY3BwIGRv bV9jcHAuY3BwCisrbGliZ3NvYXBja19fX2xhX0NYWEZMQUdTID0gJChTT0FQQ1BQMl9ERUJVRykg JChTT0FQQ1BQMl9OT05BTUVTUEFDRVMpICQoU09BUENQUDJfTk9fQ19MT0NBTEUpICQoU09BUENQ UDJfSVBWNikgJChTT0FQQ1BQMl9JUFY2X1Y2T05MWSkgLUQkKHBsYXRmb3JtKSAtRFdJVEhfQ09P S0lFUworK2xpYmdzb2FwY2tfX19sYV9MREZMQUdTID0gLXJlbGVhc2UgJChTT1ZFUlNJT04pCisr bGliZ3NvYXBzc2xfbGFfU09VUkNFUyA9IHN0ZHNvYXAyX3NzbC5jIGRvbS5jCisrbGliZ3NvYXBz c2xfbGFfQ0ZMQUdTID0gJChTT0FQQ1BQMl9ERUJVRykgJChTT0FQQ1BQMl9OT05BTUVTUEFDRVMp ICQoU09BUENQUDJfTk9fQ19MT0NBTEUpICQoU09BUENQUDJfSVBWNikgJChTT0FQQ1BQMl9JUFY2 X1Y2T05MWSkgLUQkKHBsYXRmb3JtKSAkKFdTREwySF9FWFRSQV9GTEFHUykgLURXSVRIX0RPTSAt RFdJVEhfQ09PS0lFUworK2xpYmdzb2Fwc3NsX2xhX0xERkxBR1MgPSAtcmVsZWFzZSAkKFNPVkVS U0lPTikKKytsaWJnc29hcHNzbF9sYV9MSUJBREQgPSAtbHNzbCAtbGNyeXB0byAtbHoKKytsaWJn c29hcHNzbF9fX2xhX1NPVVJDRVMgPSBzdGRzb2FwMl9zc2xfY3BwLmNwcCBkb21fY3BwLmNwcAor K2xpYmdzb2Fwc3NsX19fbGFfQ1hYRkxBR1MgPSAkKFNPQVBDUFAyX0RFQlVHKSAkKFNPQVBDUFAy X05PTkFNRVNQQUNFUykgJChTT0FQQ1BQMl9OT19DX0xPQ0FMRSkgJChTT0FQQ1BQMl9JUFY2KSAk KFNPQVBDUFAyX0lQVjZfVjZPTkxZKSAtRCQocGxhdGZvcm0pICQoV1NETDJIX0VYVFJBX0ZMQUdT KSAtRFdJVEhfRE9NIC1EV0lUSF9DT09LSUVTCisrbGliZ3NvYXBzc2xfX19sYV9MREZMQUdTID0g LXJlbGVhc2UgJChTT1ZFUlNJT04pCisrbGliZ3NvYXBzc2xfX19sYV9MSUJBREQgPSAtbHNzbCAt bGNyeXB0byAtbHoKKyAKKyBCVUlMVF9TT1VSQ0VTID0gc3Rkc29hcDJfY3BwLmNwcCBkb21fY3Bw LmNwcCBzdGRzb2FwMl9jay5jIHN0ZHNvYXAyX2NrX2NwcC5jcHAgc3Rkc29hcDJfc3NsLmMgc3Rk c29hcDJfc3NsX2NwcC5jcHAKKyAKK2RpZmYgLXVyIGdzb2FwLTIuOC5vcmlnL2dzb2FwL3NhbXBs ZXMvYXV0b3Rlc3QvTWFrZWZpbGUuYW0gZ3NvYXAtMi44L2dzb2FwL3NhbXBsZXMvYXV0b3Rlc3Qv TWFrZWZpbGUuYW0KKy0tLSBnc29hcC0yLjgub3JpZy9nc29hcC9zYW1wbGVzL2F1dG90ZXN0L01h a2VmaWxlLmFtCTIwMTktMDEtMTQgMTg6MTc6MjIuMDAwMDAwMDAwICswMTAwCisrKysgZ3NvYXAt Mi44L2dzb2FwL3NhbXBsZXMvYXV0b3Rlc3QvTWFrZWZpbGUuYW0JMjAxOS0wMS0xNyAxNTo0ODow MC4wMDg5ODIwMDIgKzAxMDAKK0BAIC0xNCw3ICsxNCw3IEBACisgV1NETElOUFVUPSQodG9wX3Ny Y2RpcikvZ3NvYXAvc2FtcGxlcy9hdXRvdGVzdC9leGFtcGxlcy53c2RsCisgU09BUEhFQURFUj0k KHRvcF9zcmNkaXIpL2dzb2FwL3NhbXBsZXMvYXV0b3Rlc3QvZXhhbXBsZXMuaAorIFNPQVBfQ1BQ X1NSQz1zb2FwQy5jcHAgc29hcFNlcnZlci5jcHAKKy1TT0FQX0NQUF9MSUI9JCh0b3BfYnVpbGRk aXIpL2dzb2FwL2xpYmdzb2FwKysuYQorK1NPQVBfQ1BQX0xJQj0kKHRvcF9idWlsZGRpcikvZ3Nv YXAvbGliZ3NvYXArKy5sYQorIAorICQoU09BUF9DUFBfU1JDKSA6ICQoV1NETElOUFVUKQorIAkk KFdTREwpICQoV1NETF9GTEFHUykgJChXU0RMSU5QVVQpCitkaWZmIC11ciBnc29hcC0yLjgub3Jp Zy9nc29hcC9zYW1wbGVzL2RhdGFiaW5kaW5nL01ha2VmaWxlLmFtIGdzb2FwLTIuOC9nc29hcC9z YW1wbGVzL2RhdGFiaW5kaW5nL01ha2VmaWxlLmFtCistLS0gZ3NvYXAtMi44Lm9yaWcvZ3NvYXAv c2FtcGxlcy9kYXRhYmluZGluZy9NYWtlZmlsZS5hbQkyMDE5LTAxLTE0IDE4OjE3OjIyLjAwMDAw MDAwMCArMDEwMAorKysrIGdzb2FwLTIuOC9nc29hcC9zYW1wbGVzL2RhdGFiaW5kaW5nL01ha2Vm aWxlLmFtCTIwMTktMDEtMTcgMTU6NDg6MDAuMDA4OTgyMDAyICswMTAwCitAQCAtMTQsNyArMTQs NyBAQAorIFdTRExJTlBVVD0kKHRvcF9zcmNkaXIpL2dzb2FwL3NhbXBsZXMvZGF0YWJpbmRpbmcv YWRkcmVzcy54c2QKKyBTT0FQSEVBREVSPSQodG9wX3NyY2RpcikvZ3NvYXAvc2FtcGxlcy9kYXRh YmluZGluZy9hZGRyZXNzLmgKKyBTT0FQX0NQUF9TUkM9YWRkcmVzc0MuY3BwCistU09BUF9DUFBf TElCPSQodG9wX2J1aWxkZGlyKS9nc29hcC9saWJnc29hcCsrLmEKKytTT0FQX0NQUF9MSUI9JCh0 b3BfYnVpbGRkaXIpL2dzb2FwL2xpYmdzb2FwKysubGEKKyAKKyAkKFNPQVBfQ1BQX1NSQykgOiAk KFdTRExJTlBVVCkKKyAJJChXU0RMKSAkKFdTRExfRkxBR1MpICQoV1NETElOUFVUKQorZGlmZiAt dXIgZ3NvYXAtMi44Lm9yaWcvZ3NvYXAvc2FtcGxlcy9NYWtlZmlsZS5kZWZpbmVzIGdzb2FwLTIu OC9nc29hcC9zYW1wbGVzL01ha2VmaWxlLmRlZmluZXMKKy0tLSBnc29hcC0yLjgub3JpZy9nc29h cC9zYW1wbGVzL01ha2VmaWxlLmRlZmluZXMJMjAxOS0wMS0xNCAxODoxNzoyMi4wMDAwMDAwMDAg KzAxMDAKKysrKyBnc29hcC0yLjgvZ3NvYXAvc2FtcGxlcy9NYWtlZmlsZS5kZWZpbmVzCTIwMTkt MDEtMTcgMTU6NDg6MDAuMDA4OTgyMDAyICswMTAwCitAQCAtMTMsMTMgKzEzLDEzIEBACisgU09B UF9DX0NPUkU9c29hcEMuYworIFNPQVBfQ19DTElFTlQ9c29hcENsaWVudC5jICQoU09BUF9DX0NP UkUpCisgU09BUF9DX1NFUlZFUj1zb2FwU2VydmVyLmMgJChTT0FQX0NfQ09SRSkKKy1TT0FQX0Nf TElCPSQodG9wX2J1aWxkZGlyKS9nc29hcC9saWJnc29hcC5hCistU09BUF9DX0xJQl9DSz0kKHRv cF9idWlsZGRpcikvZ3NvYXAvbGliZ3NvYXBjay5hCistU09BUF9DX0xJQl9TU0w9JCh0b3BfYnVp bGRkaXIpL2dzb2FwL2xpYmdzb2Fwc3NsLmEKKytTT0FQX0NfTElCPSQodG9wX2J1aWxkZGlyKS9n c29hcC9saWJnc29hcC5sYQorK1NPQVBfQ19MSUJfQ0s9JCh0b3BfYnVpbGRkaXIpL2dzb2FwL2xp Ymdzb2FwY2subGEKKytTT0FQX0NfTElCX1NTTD0kKHRvcF9idWlsZGRpcikvZ3NvYXAvbGliZ3Nv YXBzc2wubGEKKyAKKyBTT0FQX0NQUF9DT1JFPXNvYXBDLmNwcAorIFNPQVBfQ1BQX0NMSUVOVD1z b2FwQ2xpZW50LmNwcCAkKFNPQVBfQ1BQX0NPUkUpCisgU09BUF9DUFBfU0VSVkVSPXNvYXBTZXJ2 ZXIuY3BwICQoU09BUF9DUFBfQ09SRSkKKy1TT0FQX0NQUF9MSUI9JCh0b3BfYnVpbGRkaXIpL2dz b2FwL2xpYmdzb2FwKysuYQorLVNPQVBfQ1BQX0xJQl9DSz0kKHRvcF9idWlsZGRpcikvZ3NvYXAv bGliZ3NvYXBjaysrLmEKKy1TT0FQX0NQUF9MSUJfU1NMPSQodG9wX2J1aWxkZGlyKS9nc29hcC9s aWJnc29hcHNzbCsrLmEKKytTT0FQX0NQUF9MSUI9JCh0b3BfYnVpbGRkaXIpL2dzb2FwL2xpYmdz b2FwKysubGEKKytTT0FQX0NQUF9MSUJfQ0s9JCh0b3BfYnVpbGRkaXIpL2dzb2FwL2xpYmdzb2Fw Y2srKy5sYQorK1NPQVBfQ1BQX0xJQl9TU0w9JCh0b3BfYnVpbGRkaXIpL2dzb2FwL2xpYmdzb2Fw c3NsKysubGEKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvZ3NvYXAvdGVtcGxhdGUgYi9zcmNwa2dzL2dz b2FwL3RlbXBsYXRlCmluZGV4IDhhZTI5YThhMjUxYy4uY2NhMWZiMzcwMDNlIDEwMDY0NAotLS0g YS9zcmNwa2dzL2dzb2FwL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvZ3NvYXAvdGVtcGxhdGUKQEAg LTEsMjUgKzEsMzcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ2dzb2FwJwogcGtnbmFtZT1nc29h cAotdmVyc2lvbj0yLjguOTEKLXJldmlzaW9uPTMKK3ZlcnNpb249Mi44LjEyNAorcmV2aXNpb249 MQogYnVpbGRfc3R5bGU9Z251LWNvbmZpZ3VyZQogY29uZmlndXJlX2FyZ3M9Ii0tZW5hYmxlLWlw djYiCi1ob3N0bWFrZWRlcGVuZHM9InVuemlwIGZsZXggYXV0b2NvbmYiCitob3N0bWFrZWRlcGVu ZHM9InVuemlwIGZsZXggYXV0b2NvbmYgYXV0b21ha2UgbGlidG9vbCIKIG1ha2VkZXBlbmRzPSJv cGVuc3NsLWRldmVsIHpsaWItZGV2ZWwiCiBzaG9ydF9kZXNjPSJUb29sa2l0IGZvciBTT0FQIGFu ZCBSRVNUIFdlYiBTZXJ2aWNlcyBhbmQgWE1MLUJhc2VkIEFwcGxpY2F0aW9ucyIKIG1haW50YWlu ZXI9IkVubm8gQm9sYW5kIDxnb3R0b3hAdm9pZGxpbnV4Lm9yZz4iCi1saWNlbnNlPSJnU09BUC0x LjNiLCBHUEwtMi4wLW9ubHkiCi1ob21lcGFnZT0iaHR0cDovL3d3dy5jcy5mc3UuZWR1L35lbmdl bGVuL3NvYXAuaHRtbCIKK2xpY2Vuc2U9IkdQTC0yLjAtb25seSIKK2hvbWVwYWdlPSJodHRwczov L3d3dy5nZW5pdmlhLmNvbS9kZXYuaHRtbCIKIGRpc3RmaWxlcz0iJHtTT1VSQ0VGT1JHRV9TSVRF fS9nc29hcDIvZ3NvYXBfJHt2ZXJzaW9ufS56aXAiCi1jaGVja3N1bT0yY2EyMWI1YWIyYjQwZDg5 OTU2NmM1NTlmNzFhMWQ1MWVkN2VhYzNmMDAxNjBhYjc4MDYwMDI3YTNlZTY0ODhmCitjaGVja3N1 bT00Yjc5ODc4MDk4OTMzOGY2NjVlZjhlMTcxYmJjYzQyMmEyNzEwMDRkNjJkNTg1MjY2NmQ1ZWVj YTMzYTZhNjM2CiBkaXNhYmxlX3BhcmFsbGVsX2J1aWxkPXllcwotCiBDRkxBR1M9Ii1mY29tbW9u IgogCiBpZiBbICIkQ1JPU1NfQlVJTEQiIF07IHRoZW4KIAlob3N0bWFrZWRlcGVuZHMrPSIgZ3Nv YXAiCiBmaQogCitwb3N0X3BhdGNoKCkgeworCWlmIFsgIiR7WEJQU19UQVJHRVRfTElCQ30iID0g Im11c2wiIF07IHRoZW4KKwkJY3AgLWYgIiR7RklMRVNESVJ9L211c2wtZml4ZXMucGF0Y2giICIk e3dya3NyY30iCisJCWNkICIkd3Jrc3JjIgorCQltc2dfbm9ybWFsICIkcGtndmVyOiBwYXRjaGlu ZyBmb3IgbXVzbFxuIgorCQlwYXRjaCAtcyAtTnAxIDxtdXNsLWZpeGVzLnBhdGNoIDI+L2Rldi9u dWxsCisJZmkKK30KKworcHJlX2NvbmZpZ3VyZSgpIHsKKwlhdXRvcmVjb25mIC1maQorfQorCiBw cmVfYnVpbGQoKSB7CiAJaWYgWyAiJENST1NTX0JVSUxEIiBdOyB0aGVuCiAJCSMgcnVuIGhvc3Qg J3NvYXBjcHAyJwpAQCAtMjcsMTAgKzM5LDYgQEAgcHJlX2J1aWxkKCkgewogCWZpCiB9CiAKLXBv c3RfaW5zdGFsbCgpIHsKLQl2bGljZW5zZSBsaWNlbnNlLnBkZgotfQotCiBnc29hcC1kZXZlbF9w YWNrYWdlKCkgewogCWRlcGVuZHM9IiR7c291cmNlcGtnfT49JHt2ZXJzaW9ufV8ke3JldmlzaW9u fSAke21ha2VkZXBlbmRzfSIKIAlzaG9ydF9kZXNjKz0iIC0gZGV2ZWxvcG1lbnQgZmlsZXMiCgpG cm9tIGYzZDRmMjdkZTYxYjE1MjU1MGY0OTQzYjM1ZGFhYjI5OTQ4ZTU2NTQgTW9uIFNlcCAxNyAw MDowMDowMCAyMDAxCkZyb206IGRrd28gPG5pY29sb3BpYXp6YWx1bmdhQGdtYWlsLmNvbT4KRGF0 ZTogVGh1LCAyNiBKYW4gMjAyMyAxMzo0MToyNyAtMDUwMApTdWJqZWN0OiBbUEFUQ0ggNi84XSB2 YW5pdHlnZW46IHJlbW92ZQoKLS0tCiBzcmNwa2dzL3JlbW92ZWQtcGFja2FnZXMvdGVtcGxhdGUg ICAgICAgICAgICAgfCAgICAzICstCiAuLi40YTY0Njg3M2M4NDM5ZDNiNWVlM2EyMjc4ZTcyNzU3 NTUyMWYucGF0Y2ggfCAxMTcxIC0tLS0tLS0tLS0tLS0tLS0tCiAuLi4zZTZmZmY3ZGE1MmM0YWVj YmQ4OThkOWRmMmU2MGE1NmYxMzQucGF0Y2ggfCAgIDk4IC0tCiBzcmNwa2dzL3Zhbml0eWdlbi90 ZW1wbGF0ZSAgICAgICAgICAgICAgICAgICAgfCAgIDIxIC0KIDQgZmlsZXMgY2hhbmdlZCwgMiBp bnNlcnRpb25zKCspLCAxMjkxIGRlbGV0aW9ucygtKQogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3Br Z3MvdmFuaXR5Z2VuL3BhdGNoZXMvNGI4MTRhNjQ2ODczYzg0MzlkM2I1ZWUzYTIyNzhlNzI3NTc1 NTIxZi5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvdmFuaXR5Z2VuL3BhdGNoZXMv NWYxNjNlNmZmZjdkYTUyYzRhZWNiZDg5OGQ5ZGYyZTYwYTU2ZjEzNC5wYXRjaAogZGVsZXRlIG1v ZGUgMTAwNjQ0IHNyY3BrZ3MvdmFuaXR5Z2VuL3RlbXBsYXRlCgpkaWZmIC0tZ2l0IGEvc3JjcGtn cy9yZW1vdmVkLXBhY2thZ2VzL3RlbXBsYXRlIGIvc3JjcGtncy9yZW1vdmVkLXBhY2thZ2VzL3Rl bXBsYXRlCmluZGV4IDA0MjlhNWZiNDc5Ni4uNGFlYTk0ZTg3ZjdlIDEwMDY0NAotLS0gYS9zcmNw a2dzL3JlbW92ZWQtcGFja2FnZXMvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9yZW1vdmVkLXBhY2th Z2VzL3RlbXBsYXRlCkBAIC0xLDYgKzEsNiBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAncmVtb3Zl ZC1wYWNrYWdlcycKIHBrZ25hbWU9cmVtb3ZlZC1wYWNrYWdlcwotdmVyc2lvbj0wLjEuMjAyMzAx MjAKK3ZlcnNpb249MC4xLjIwMjMwMTI2CiByZXZpc2lvbj0xCiBidWlsZF9zdHlsZT1tZXRhCiBz aG9ydF9kZXNjPSJVbmluc3RhbGxzIHBhY2thZ2VzIHJlbW92ZWQgZnJvbSByZXBvc2l0b3J5IgpA QCAtNTA5LDYgKzUwOSw3IEBAIHJlcGxhY2VzPSIKICB1cmxtYXRjaC1naXQ8PTIwMTQxMTE2XzIK ICB1d3NnaS1weXRob248PTIuMC4xOF8zCiAgdjg8PTMuMjQuMzUuMzNfNAorIHZhbml0eWdlbjw9 MS41M18yCiAgdmFwb3Vyc3ludGgtbXZ0b29sczw9MjNfMgogIHZrZDNkPD0xLjNfMQogIHZvbG5v dGk8PTAuMV8xCmRpZmYgLS1naXQgYS9zcmNwa2dzL3Zhbml0eWdlbi9wYXRjaGVzLzRiODE0YTY0 Njg3M2M4NDM5ZDNiNWVlM2EyMjc4ZTcyNzU3NTUyMWYucGF0Y2ggYi9zcmNwa2dzL3Zhbml0eWdl bi9wYXRjaGVzLzRiODE0YTY0Njg3M2M4NDM5ZDNiNWVlM2EyMjc4ZTcyNzU3NTUyMWYucGF0Y2gK ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc0YmQ1NGRiZjBmYi4uMDAwMDAwMDAwMDAw Ci0tLSBhL3NyY3BrZ3MvdmFuaXR5Z2VuL3BhdGNoZXMvNGI4MTRhNjQ2ODczYzg0MzlkM2I1ZWUz YTIyNzhlNzI3NTc1NTIxZi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDExNzEgKzAsMCBAQAot RnJvbSA0YjgxNGE2NDY4NzNjODQzOWQzYjVlZTNhMjI3OGU3Mjc1NzU1MjFmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQotRnJvbTogQW50b25pbyBTcGFkYXJvIDxpbG92ZWxpbnV4QHVzZXJzLm5v cmVwbHkuZ2l0aHViLmNvbT4KLURhdGU6IFNhdCwgMiBKdW4gMjAxOCAyMjoyNzo1MSArMDAwMAot U3ViamVjdDogW1BBVENIXSBGaXggT3BlblNTTCAxLjEuMCBpbmNvbXBhdGliaWxpdGllcyAoIzU2 KQotCi0qIEZpeCBvcGVuc3NsIDEuMS4wIGluY29tcGF0aWJpbGl0aWVzCi0KLSogUmVwbGFjZSBC Tl9NQVNLMiB3aXRoIDB4ZmZmZmZmZmZMCi0KLSogRml4IG90aGVyIG9wZW5zc2wgMS4xLjAgaW5j b21wYXRpYmlsaXRpZXMKLQotKiBGaXggcmV0cm9jb21wYXRpYmlsaXR5IGlzc3VlCi0KLSogUmVt b3ZlIEJOX2JuMmxlYmlucGFkIGR1ZSB0byBpbmNvbXBhdGliaWxpdHkKLQotKiBGaXggb3RoZXIg aW5jb21wYXRpYmlsaXR5IGVycm9ycwotCi0qIEZpeGVkIHJldHJvY29tcGF0aWJpbGl0eSAobWF5 YmUpLiBUaGFua3MgdG8gIEBEZXNXdXJzdGVzCi0KLSogRml4IE9wZW5TU0wgMS4xIGFuZCBiYWNr d2FyZHMgY29tcGF0aWJpbGl0eQotLS0tCi0ga2V5Y29udi5jICAgfCAgMTggKystLQotIG9jbGVu Z2luZS5jIHwgMTMwICsrKysrKysrKysrKysrKysrKy0tLS0tLS0tLQotIHBhdHRlcm4uYyAgIHwg MjUyICsrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K LSBwYXR0ZXJuLmggICB8ICAgOCArLQotIHV0aWwuYyAgICAgIHwgIDkwICsrKysrKysrKy0tLS0t LS0tLS0KLSB2YW5pdHlnZW4uYyB8ICAxNCArLS0KLSA2IGZpbGVzIGNoYW5nZWQsIDI3NyBpbnNl cnRpb25zKCspLCAyMzUgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9rZXljb252LmMgYi9r ZXljb252LmMKLWluZGV4IGY3NDc1ZTUuLjM5NGMzYTAgMTAwNjQ0Ci0tLS0gYS9rZXljb252LmMK LSsrKyBiL2tleWNvbnYuYwotQEAgLTExNjAsNyArMTE2MCw3IEBAIG1haW4oaW50IGFyZ2MsIGNo YXIgKiphcmd2KQotIAotIAlpZiAoa2V5Ml9pbikgewotIAkJQk5fQ1RYICpibmN0eDsKLS0JCUJJ R05VTSBibnRtcCwgYm50bXAyOwotKwkJQklHTlVNICpibnRtcCwgKmJudG1wMjsKLSAJCUVDX0tF WSAqcGtleTI7Ci0gCi0gCQlwa2V5MiA9IEVDX0tFWV9uZXdfYnlfY3VydmVfbmFtZShOSURfc2Vj cDI1NmsxKTsKLUBAIC0xMTgyLDE5ICsxMTgyLDE5IEBAIG1haW4oaW50IGFyZ2MsIGNoYXIgKiph cmd2KQotIAkJCWNvbXByZXNzZWQgPSAxOwotIAkJfQotIAotLQkJQk5faW5pdCgmYm50bXApOwot LQkJQk5faW5pdCgmYm50bXAyKTsKLSsJCWJudG1wID0gQk5fbmV3KCk7Ci0rCQlibnRtcDIgPSBC Tl9uZXcoKTsKLSAJCWJuY3R4ID0gQk5fQ1RYX25ldygpOwotLQkJRUNfR1JPVVBfZ2V0X29yZGVy KEVDX0tFWV9nZXQwX2dyb3VwKHBrZXkpLCAmYm50bXAyLCBOVUxMKTsKLS0JCUJOX21vZF9hZGQo JmJudG1wLAotKwkJRUNfR1JPVVBfZ2V0X29yZGVyKEVDX0tFWV9nZXQwX2dyb3VwKHBrZXkpLCBi bnRtcDIsIE5VTEwpOwotKwkJQk5fbW9kX2FkZChibnRtcCwKLSAJCQkgICBFQ19LRVlfZ2V0MF9w cml2YXRlX2tleShwa2V5KSwKLSAJCQkgICBFQ19LRVlfZ2V0MF9wcml2YXRlX2tleShwa2V5Miks Ci0tCQkJICAgJmJudG1wMiwKLSsJCQkgICBibnRtcDIsCi0gCQkJICAgYm5jdHgpOwotLQkJdmdf c2V0X3ByaXZrZXkoJmJudG1wLCBwa2V5KTsKLSsJCXZnX3NldF9wcml2a2V5KGJudG1wLCBwa2V5 KTsKLSAJCUVDX0tFWV9mcmVlKHBrZXkyKTsKLS0JCUJOX2NsZWFyX2ZyZWUoJmJudG1wKTsKLS0J CUJOX2NsZWFyX2ZyZWUoJmJudG1wMik7Ci0rCQlCTl9jbGVhcl9mcmVlKGJudG1wKTsKLSsJCUJO X2NsZWFyX2ZyZWUoYm50bXAyKTsKLSAJCUJOX0NUWF9mcmVlKGJuY3R4KTsKLSAJfQotIAotZGlm ZiAtLWdpdCBhL29jbGVuZ2luZS5jIGIvb2NsZW5naW5lLmMKLWluZGV4IDQwODVlZGQuLjZmNjU4 NDYgMTAwNjQ0Ci0tLS0gYS9vY2xlbmdpbmUuYwotKysrIGIvb2NsZW5naW5lLmMKLUBAIC00Myw2 ICs0MywzNCBAQAotICNpbmNsdWRlICJwYXR0ZXJuLmgiCi0gI2luY2x1ZGUgInV0aWwuaCIKLSAK LSsvLyBVbmZvcnR1bmF0ZWx5IHdlIG5lZWQgdGhpcyEKLSsjaWYgT1BFTlNTTF9WRVJTSU9OX05V TUJFUiA+PSAweDAwMTAxMDAwMDAKLSsjZGVmaW5lIFBQTlRfQVJST1dfWCBwcG50LT5YCi0rI2Rl ZmluZSBQUE5UX0FSUk9XX1kgcHBudC0+WQotKyNkZWZpbmUgUFBOVF9BUlJPV19aIHBwbnQtPloK LSsjZGVmaW5lIFBQU19BUlJPV19YIHBwcy0+WAotKyNkZWZpbmUgUFBTX0FSUk9XX1kgcHBzLT5Z Ci0rI2RlZmluZSBQUFNfQVJST1dfWiBwcHMtPloKLSsjZGVmaW5lIFBQVF9BUlJPV19YIHBwdC0+ WAotKyNkZWZpbmUgUFBUX0FSUk9XX1kgcHB0LT5ZCi0rI2RlZmluZSBQUFJfQVJST1dfWCBwcHIt PlgKLSsjZGVmaW5lIFBQUl9BUlJPV19ZIHBwci0+WQotKyNkZWZpbmUgUFBDX0FSUk9XX1ggcHBj LT5YCi0rI2RlZmluZSBQUENfQVJST1dfWSBwcGMtPlkKLSsjZWxzZQotKyNkZWZpbmUgUFBOVF9B UlJPV19YICZwcG50LT5YCi0rI2RlZmluZSBQUE5UX0FSUk9XX1kgJnBwbnQtPlkKLSsjZGVmaW5l IFBQTlRfQVJST1dfWiAmcHBudC0+WgotKyNkZWZpbmUgUFBTX0FSUk9XX1ggJnBwcy0+WAotKyNk ZWZpbmUgUFBTX0FSUk9XX1kgJnBwcy0+WQotKyNkZWZpbmUgUFBTX0FSUk9XX1ogJnBwcy0+Wgot KyNkZWZpbmUgUFBUX0FSUk9XX1ggJnBwdC0+WAotKyNkZWZpbmUgUFBUX0FSUk9XX1kgJnBwdC0+ WQotKyNkZWZpbmUgUFBSX0FSUk9XX1ggJnBwci0+WAotKyNkZWZpbmUgUFBSX0FSUk9XX1kgJnBw ci0+WQotKyNkZWZpbmUgUFBDX0FSUk9XX1ggJnBwYy0+WAotKyNkZWZpbmUgUFBDX0FSUk9XX1kg JnBwYy0+WQotKyNlbmRpZgotIAotICNkZWZpbmUgTUFYX1NMT1QgMgotICNkZWZpbmUgTUFYX0FS RyA2Ci1AQCAtMTMwNywxNCArMTMzNSwyMSBAQCB2Z19vY2xfa2VybmVsX3dhaXQodmdfb2NsX2Nv bnRleHRfdCAqdm9jcCwgaW50IHNsb3QpCi0gc3RhdGljIElOTElORSB2b2lkCi0gdmdfb2NsX2dl dF9iaWdudW1fcmF3KEJJR05VTSAqYm4sIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmJ1ZikKLSB7Ci0r I2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPj0gMHgwMDEwMTAwMDAwCi0rCUJOX2xlYmluMmJu KGJ1ZiwgMzIsIGJuKTsKLSsjZWxzZQotIAlibl9leHBhbmQoYm4sIDI1Nik7Ci0gCW1lbWNweShi bi0+ZCwgYnVmLCAzMik7Ci0gCWJuLT50b3AgPSAoMzIgLyBzaXplb2YoQk5fVUxPTkcpKTsKLSsj ZW5kaWYKLSB9Ci0gCi0gc3RhdGljIElOTElORSB2b2lkCi0gdmdfb2NsX3B1dF9iaWdudW1fcmF3 KHVuc2lnbmVkIGNoYXIgKmJ1ZiwgY29uc3QgQklHTlVNICpibikKLSB7Ci0rI2lmIE9QRU5TU0xf VkVSU0lPTl9OVU1CRVIgPj0gMHgwMDEwMTAwMDAwCi0rCUJOX2JuMmxlYmlucGFkKGJuLCBidWYs IDMyKTsKLSsjZWxzZQotIAlpbnQgYm5sZW4gPSAoYm4tPnRvcCAqIHNpemVvZihCTl9VTE9ORykp OwotIAlpZiAoYm5sZW4gPj0gMzIpIHsKLSAJCW1lbWNweShidWYsIGJuLT5kLCAzMik7Ci1AQCAt MTMyMiw2ICsxMzU3LDcgQEAgdmdfb2NsX3B1dF9iaWdudW1fcmF3KHVuc2lnbmVkIGNoYXIgKmJ1 ZiwgY29uc3QgQklHTlVNICpibikKLSAJCW1lbWNweShidWYsIGJuLT5kLCBibmxlbik7Ci0gCQlt ZW1zZXQoYnVmICsgYm5sZW4sIDAsIDMyIC0gYm5sZW4pOwotIAl9Ci0rI2VuZGlmCi0gfQotIAot ICNkZWZpbmUgQUNDRVNTX0JVTkRMRSAxMDI0Ci1AQCAtMTM1MSw5ICsxMzg3LDE1IEBAIHZnX29j bF9nZXRfYmlnbnVtX3RwYShCSUdOVU0gKmJuLCBjb25zdCB1bnNpZ25lZCBjaGFyICpidWYsIGlu dCBjZWxsKQotIAotIHN0cnVjdCBlY19wb2ludF9zdCB7Ci0gCWNvbnN0IEVDX01FVEhPRCAqbWV0 aDsKLSsjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA+PSAweDAwMTAxMDAwMDAKLSsJQklHTlVN ICpYOwotKwlCSUdOVU0gKlk7Ci0rCUJJR05VTSAqWjsKLSsjZWxzZQotIAlCSUdOVU0gWDsKLSAJ QklHTlVNIFk7Ci0gCUJJR05VTSBaOwotKyNlbmRpZgotIAlpbnQgWl9pc19vbmU7Ci0gfTsKLSAK LUBAIC0xMzYxLDExICsxNDAzLDExIEBAIHN0YXRpYyBJTkxJTkUgdm9pZAotIHZnX29jbF9nZXRf cG9pbnQoRUNfUE9JTlQgKnBwbnQsIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmJ1ZikKLSB7Ci0gCXN0 YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIG1vbnRfb25lW10gPSB7IDB4MDEsMHgwMCwweDAwLDB4 MDMsMHhkMSB9OwotLQl2Z19vY2xfZ2V0X2JpZ251bV9yYXcoJnBwbnQtPlgsIGJ1Zik7Ci0tCXZn X29jbF9nZXRfYmlnbnVtX3JhdygmcHBudC0+WSwgYnVmICsgMzIpOwotKwl2Z19vY2xfZ2V0X2Jp Z251bV9yYXcoUFBOVF9BUlJPV19YLCBidWYpOwotKwl2Z19vY2xfZ2V0X2JpZ251bV9yYXcoUFBO VF9BUlJPV19ZLCBidWYgKyAzMik7Ci0gCWlmICghcHBudC0+Wl9pc19vbmUpIHsKLSAJCXBwbnQt PlpfaXNfb25lID0gMTsKLS0JCUJOX2JpbjJibihtb250X29uZSwgc2l6ZW9mKG1vbnRfb25lKSwg JnBwbnQtPlopOwotKwkJQk5fYmluMmJuKG1vbnRfb25lLCBzaXplb2YobW9udF9vbmUpLCBQUE5U X0FSUk9XX1opOwotIAl9Ci0gfQotIAotQEAgLTEzNzMsOCArMTQxNSw4IEBAIHN0YXRpYyBJTkxJ TkUgdm9pZAotIHZnX29jbF9wdXRfcG9pbnQodW5zaWduZWQgY2hhciAqYnVmLCBjb25zdCBFQ19Q T0lOVCAqcHBudCkKLSB7Ci0gCWFzc2VydChwcG50LT5aX2lzX29uZSk7Ci0tCXZnX29jbF9wdXRf YmlnbnVtX3JhdyhidWYsICZwcG50LT5YKTsKLS0Jdmdfb2NsX3B1dF9iaWdudW1fcmF3KGJ1ZiAr IDMyLCAmcHBudC0+WSk7Ci0rCXZnX29jbF9wdXRfYmlnbnVtX3JhdyhidWYsIFBQTlRfQVJST1df WCk7Ci0rCXZnX29jbF9wdXRfYmlnbnVtX3JhdyhidWYgKyAzMiwgUFBOVF9BUlJPV19ZKTsKLSB9 Ci0gCi0gc3RhdGljIHZvaWQKLUBAIC0xNjYyLDcgKzE3MDQsNyBAQCB2Z19vY2xfdmVyaWZ5X3Rl bXBvcmFyeSh2Z19vY2xfY29udGV4dF90ICp2b2NwLCBpbnQgc2xvdCwgaW50IHpfaW52ZXJ0ZWQp Ci0gCXVuc2lnbmVkIGNoYXIgKm9jbF9wb2ludHNfaW4gPSBOVUxMLCAqb2NsX3N0cmlkZXNfaW4g PSBOVUxMOwotIAljb25zdCBFQ19HUk9VUCAqcGdyb3VwOwotIAlFQ19QT0lOVCAqcHByID0gTlVM TCwgKnBwYyA9IE5VTEwsICpwcHMgPSBOVUxMLCAqcHB0ID0gTlVMTDsKLS0JQklHTlVNIGJueiwg Ym5leiwgYm5tLCAqYm56YzsKLSsJQklHTlVNICpibnosICpibmV6LCAqYm5tLCAqYm56YzsKLSAJ Qk5fQ1RYICpibmN0eCA9IE5VTEw7Ci0gCUJOX01PTlRfQ1RYICpibm1vbnQ7Ci0gCWludCByZXQg PSAwOwotQEAgLTE2NzUsOSArMTcxNyw5IEBAIHZnX29jbF92ZXJpZnlfdGVtcG9yYXJ5KHZnX29j bF9jb250ZXh0X3QgKnZvY3AsIGludCBzbG90LCBpbnQgel9pbnZlcnRlZCkKLSAJCTB4RkYsMHhG RiwweEZGLDB4RkUsMHhGRiwweEZGLDB4RkMsMHgyRgotIAl9OwotIAotLQlCTl9pbml0KCZibnop OwotLQlCTl9pbml0KCZibmV6KTsKLS0JQk5faW5pdCgmYm5tKTsKLSsJYm56ID0gQk5fbmV3KCk7 Ci0rCWJuZXogPSBCTl9uZXcoKTsKLSsJYm5tID0gQk5fbmV3KCk7Ci0gCi0gCWJuY3R4ID0gQk5f Q1RYX25ldygpOwotIAlibm1vbnQgPSBCTl9NT05UX0NUWF9uZXcoKTsKLUBAIC0xNjkyLDEzICsx NzM0LDEzIEBAIHZnX29jbF92ZXJpZnlfdGVtcG9yYXJ5KHZnX29jbF9jb250ZXh0X3QgKnZvY3As IGludCBzbG90LCBpbnQgel9pbnZlcnRlZCkKLSAJCWdvdG8gb3V0OwotIAl9Ci0gCi0tCUJOX2Jp bjJibihyYXdfbW9kdWx1cywgc2l6ZW9mKHJhd19tb2R1bHVzKSwgJmJubSk7Ci0tCUJOX01PTlRf Q1RYX3NldChibm1vbnQsICZibm0sIGJuY3R4KTsKLSsJQk5fYmluMmJuKHJhd19tb2R1bHVzLCBz aXplb2YocmF3X21vZHVsdXMpLCBibm0pOwotKwlCTl9NT05UX0NUWF9zZXQoYm5tb250LCBibm0s IGJuY3R4KTsKLSAKLSAJaWYgKHpfaW52ZXJ0ZWQpIHsKLS0JCWJuemMgPSAmYm5lejsKLSsJCWJu emMgPSBibmV6OwotIAl9IGVsc2UgewotLQkJYm56YyA9ICZwcHMtPlo7Ci0rCQlibnpjID0gUFBT X0FSUk9XX1o7Ci0gCX0KLSAKLSAJel9oZWFwID0gKHVuc2lnbmVkIGNoYXIgKikKLUBAIC0xNzI2 LDE1ICsxNzY4LDE1IEBAIHZnX29jbF92ZXJpZnlfdGVtcG9yYXJ5KHZnX29jbF9jb250ZXh0X3Qg KnZvY3AsIGludCBzbG90LCBpbnQgel9pbnZlcnRlZCkKLSAJCQlFQ19QT0lOVF9hZGQocGdyb3Vw LCBwcHMsIHBwYywgcHByLCBibmN0eCk7Ci0gCQkJYXNzZXJ0KCFwcHMtPlpfaXNfb25lKTsKLSAJ CQl2Z19vY2xfZ2V0X3BvaW50X3RwYShwcHQsIHBvaW50X3RtcCwgYnggKyB4KTsKLS0JCQl2Z19v Y2xfZ2V0X2JpZ251bV90cGEoJmJueiwgel9oZWFwLCBieCArIHgpOwotKwkJCXZnX29jbF9nZXRf YmlnbnVtX3RwYShibnosIHpfaGVhcCwgYnggKyB4KTsKLSAJCQlpZiAoel9pbnZlcnRlZCkgewot LQkJCQlCTl9tb2RfaW52ZXJzZSgmYm5leiwgJnBwcy0+WiwgJmJubSwgYm5jdHgpOwotLQkJCQlC Tl90b19tb250Z29tZXJ5KCZibmV6LCAmYm5leiwgYm5tb250LCBibmN0eCk7Ci0tCQkJCUJOX3Rv X21vbnRnb21lcnkoJmJuZXosICZibmV6LCBibm1vbnQsIGJuY3R4KTsKLSsJCQkJQk5fbW9kX2lu dmVyc2UoYm5leiwgUFBTX0FSUk9XX1osIGJubSwgYm5jdHgpOwotKwkJCQlCTl90b19tb250Z29t ZXJ5KGJuZXosIGJuZXosIGJubW9udCwgYm5jdHgpOwotKwkJCQlCTl90b19tb250Z29tZXJ5KGJu ZXosIGJuZXosIGJubW9udCwgYm5jdHgpOwotIAkJCX0KLS0JCQlpZiAoQk5fY21wKCZwcHQtPlgs ICZwcHMtPlgpIHx8Ci0tCQkJICAgIEJOX2NtcCgmcHB0LT5ZLCAmcHBzLT5ZKSB8fAotLQkJCSAg ICBCTl9jbXAoJmJueiwgYm56YykpIHsKLSsJCQlpZiAoQk5fY21wKFBQVF9BUlJPV19YLCBQUFNf QVJST1dfWCkgfHwKLSsJCQkgICAgQk5fY21wKFBQVF9BUlJPV19ZLCBQUFNfQVJST1dfWSkgfHwK LSsJCQkgICAgQk5fY21wKGJueiwgYm56YykpIHsKLSAJCQkJaWYgKCFtaXNtYXRjaGVzKSB7Ci0g CQkJCQlmcHJpbnRmKHN0ZGVyciwgIkJhc2UgcHJpdmtleTogIik7Ci0gCQkJCQlmZHVtcGJuKHN0 ZGVyciwgRUNfS0VZX2dldDBfcHJpdmF0ZV9rZXkoCi1AQCAtMTc0NywzMyArMTc4OSwzMyBAQCB2 Z19vY2xfdmVyaWZ5X3RlbXBvcmFyeSh2Z19vY2xfY29udGV4dF90ICp2b2NwLCBpbnQgc2xvdCwg aW50IHpfaW52ZXJ0ZWQpCi0gCQkJCWlmICghbW1fcikgewotIAkJCQkJbW1fciA9IDE7Ci0gCQkJ CQlmcHJpbnRmKHN0ZGVyciwgIlJvdyBYICAgOiAiKTsKLS0JCQkJCWZkdW1wYm4oc3RkZXJyLCAm cHByLT5YKTsKLSsJCQkJCWZkdW1wYm4oc3RkZXJyLCBQUFJfQVJST1dfWCk7Ci0gCQkJCQlmcHJp bnRmKHN0ZGVyciwgIlJvdyBZICAgOiAiKTsKLS0JCQkJCWZkdW1wYm4oc3RkZXJyLCAmcHByLT5Z KTsKLSsJCQkJCWZkdW1wYm4oc3RkZXJyLCBQUFNfQVJST1dfWSk7Ci0gCQkJCX0KLSAKLSAJCQkJ ZnByaW50ZihzdGRlcnIsICJDb2x1bW4gWDogIik7Ci0tCQkJCWZkdW1wYm4oc3RkZXJyLCAmcHBj LT5YKTsKLSsJCQkJZmR1bXBibihzdGRlcnIsIFBQQ19BUlJPV19YKTsKLSAJCQkJZnByaW50Zihz dGRlcnIsICJDb2x1bW4gWTogIik7Ci0tCQkJCWZkdW1wYm4oc3RkZXJyLCAmcHBjLT5ZKTsKLSsJ CQkJZmR1bXBibihzdGRlcnIsIFBQQ19BUlJPV19ZKTsKLSAKLS0JCQkJaWYgKEJOX2NtcCgmcHB0 LT5YLCAmcHBzLT5YKSkgewotKwkJCQlpZiAoQk5fY21wKFBQVF9BUlJPV19YLCBQUFNfQVJST1df WCkpIHsKLSAJCQkJCWZwcmludGYoc3RkZXJyLCAiRXhwZWN0IFg6ICIpOwotLQkJCQkJZmR1bXBi bihzdGRlcnIsICZwcHMtPlgpOwotKwkJCQkJZmR1bXBibihzdGRlcnIsIFBQU19BUlJPV19YKTsK LSAJCQkJCWZwcmludGYoc3RkZXJyLCAiRGV2aWNlIFg6ICIpOwotLQkJCQkJZmR1bXBibihzdGRl cnIsICZwcHQtPlgpOwotKwkJCQkJZmR1bXBibihzdGRlcnIsIFBQVF9BUlJPV19YKTsKLSAJCQkJ fQotLQkJCQlpZiAoQk5fY21wKCZwcHQtPlksICZwcHMtPlkpKSB7Ci0rCQkJCWlmIChCTl9jbXAo UFBUX0FSUk9XX1ksIFBQU19BUlJPV19ZKSkgewotIAkJCQkJZnByaW50ZihzdGRlcnIsICJFeHBl Y3QgWTogIik7Ci0tCQkJCQlmZHVtcGJuKHN0ZGVyciwgJnBwcy0+WSk7Ci0rCQkJCQlmZHVtcGJu KHN0ZGVyciwgUFBTX0FSUk9XX1kpOwotIAkJCQkJZnByaW50ZihzdGRlcnIsICJEZXZpY2UgWTog Iik7Ci0tCQkJCQlmZHVtcGJuKHN0ZGVyciwgJnBwdC0+WSk7Ci0rCQkJCQlmZHVtcGJuKHN0ZGVy ciwgUFBUX0FSUk9XX1kpOwotIAkJCQl9Ci0tCQkJCWlmIChCTl9jbXAoJmJueiwgYm56YykpIHsK LSsJCQkJaWYgKEJOX2NtcChibnosIGJuemMpKSB7Ci0gCQkJCQlmcHJpbnRmKHN0ZGVyciwgIkV4 cGVjdCBaOiAiKTsKLSAJCQkJCWZkdW1wYm4oc3RkZXJyLCBibnpjKTsKLSAJCQkJCWZwcmludGYo c3RkZXJyLCAiRGV2aWNlIFo6ICIpOwotLQkJCQkJZmR1bXBibihzdGRlcnIsICZibnopOwotKwkJ CQkJZmR1bXBibihzdGRlcnIsIGJueik7Ci0gCQkJCX0KLSAJCQl9Ci0gCQl9Ci1AQCAtMTc5OCw5 ICsxODQwLDkgQEAgdmdfb2NsX3ZlcmlmeV90ZW1wb3Jhcnkodmdfb2NsX2NvbnRleHRfdCAqdm9j cCwgaW50IHNsb3QsIGludCB6X2ludmVydGVkKQotIAkJRUNfUE9JTlRfZnJlZShwcHMpOwotIAlp ZiAocHB0KQotIAkJRUNfUE9JTlRfZnJlZShwcHQpOwotLQlCTl9jbGVhcl9mcmVlKCZibnopOwot LQlCTl9jbGVhcl9mcmVlKCZibmV6KTsKLS0JQk5fY2xlYXJfZnJlZSgmYm5tKTsKLSsJQk5fY2xl YXJfZnJlZShibnopOwotKwlCTl9jbGVhcl9mcmVlKGJuZXopOwotKwlCTl9jbGVhcl9mcmVlKGJu bSk7Ci0gCWlmIChibm1vbnQpCi0gCQlCTl9NT05UX0NUWF9mcmVlKGJubW9udCk7Ci0gCWlmIChi bmN0eCkKLUBAIC0xOTcxLDEzICsyMDEzLDEzIEBAIHZnX29wZW5jbF9sb29wKHZnX2V4ZWNfY29u dGV4dF90ICphcmcpCi0gCWlmICghcGJhdGNoaW5jIHx8ICFwb2Zmc2V0IHx8ICFwc2VlaykKLSAJ CWdvdG8gZW5vbWVtOwotIAotLQlCTl9zZXRfd29yZCgmdnhjcC0+dnhjX2JudG1wLCBuY29scyk7 Ci0tCUVDX1BPSU5UX211bChwZ3JvdXAsIHBiYXRjaGluYywgJnZ4Y3AtPnZ4Y19ibnRtcCwgTlVM TCwgTlVMTCwKLSsJQk5fc2V0X3dvcmQodnhjcC0+dnhjX2JudG1wLCBuY29scyk7Ci0rCUVDX1BP SU5UX211bChwZ3JvdXAsIHBiYXRjaGluYywgdnhjcC0+dnhjX2JudG1wLCBOVUxMLCBOVUxMLAot IAkJICAgICB2eGNwLT52eGNfYm5jdHgpOwotIAlFQ19QT0lOVF9tYWtlX2FmZmluZShwZ3JvdXAs IHBiYXRjaGluYywgdnhjcC0+dnhjX2JuY3R4KTsKLSAKLS0JQk5fc2V0X3dvcmQoJnZ4Y3AtPnZ4 Y19ibnRtcCwgcm91bmQpOwotLQlFQ19QT0lOVF9tdWwocGdyb3VwLCBwb2Zmc2V0LCAmdnhjcC0+ dnhjX2JudG1wLCBOVUxMLCBOVUxMLAotKwlCTl9zZXRfd29yZCh2eGNwLT52eGNfYm50bXAsIHJv dW5kKTsKLSsJRUNfUE9JTlRfbXVsKHBncm91cCwgcG9mZnNldCwgdnhjcC0+dnhjX2JudG1wLCBO VUxMLCBOVUxMLAotIAkJICAgICB2eGNwLT52eGNfYm5jdHgpOwotIAlFQ19QT0lOVF9tYWtlX2Fm ZmluZShwZ3JvdXAsIHBvZmZzZXQsIHZ4Y3AtPnZ4Y19ibmN0eCk7Ci0gCi1AQCAtMjA0NiwxMiAr MjA4OCwxMiBAQCB2Z19vcGVuY2xfbG9vcCh2Z19leGVjX2NvbnRleHRfdCAqYXJnKQotIAl9Ci0g Ci0gCS8qIERldGVybWluZSByZWtleSBpbnRlcnZhbCAqLwotLQlFQ19HUk9VUF9nZXRfb3JkZXIo cGdyb3VwLCAmdnhjcC0+dnhjX2JudG1wLCB2eGNwLT52eGNfYm5jdHgpOwotLQlCTl9zdWIoJnZ4 Y3AtPnZ4Y19ibnRtcDIsCi0tCSAgICAgICAmdnhjcC0+dnhjX2JudG1wLAotKwlFQ19HUk9VUF9n ZXRfb3JkZXIocGdyb3VwLCB2eGNwLT52eGNfYm50bXAsIHZ4Y3AtPnZ4Y19ibmN0eCk7Ci0rCUJO X3N1Yih2eGNwLT52eGNfYm50bXAyLAotKwkgICAgICAgdnhjcC0+dnhjX2JudG1wLAotIAkgICAg ICAgRUNfS0VZX2dldDBfcHJpdmF0ZV9rZXkocGtleSkpOwotLQlyZWtleV9hdCA9IEJOX2dldF93 b3JkKCZ2eGNwLT52eGNfYm50bXAyKTsKLS0JaWYgKChyZWtleV9hdCA9PSBCTl9NQVNLMikgfHwg KHJla2V5X2F0ID4gcmVrZXlfbWF4KSkKLSsJcmVrZXlfYXQgPSBCTl9nZXRfd29yZCh2eGNwLT52 eGNfYm50bXAyKTsKLSsJaWYgKChyZWtleV9hdCA9PSAweGZmZmZmZmZmTCkgfHwgKHJla2V5X2F0 ID4gcmVrZXlfbWF4KSkKLSAJCXJla2V5X2F0ID0gcmVrZXlfbWF4OwotIAlhc3NlcnQocmVrZXlf YXQgPiAwKTsKLSAKLWRpZmYgLS1naXQgYS9wYXR0ZXJuLmMgYi9wYXR0ZXJuLmMKLWluZGV4IGI4 NDMzNGUuLjU2NzNhN2UgMTAwNjQ0Ci0tLS0gYS9wYXR0ZXJuLmMKLSsrKyBiL3BhdHRlcm4uYwot QEAgLTE1MSwxMiArMTUxLDEyIEBAIHZnX2V4ZWNfY29udGV4dF9pbml0KHZnX2NvbnRleHRfdCAq dmNwLCB2Z19leGVjX2NvbnRleHRfdCAqdnhjcCkKLSAKLSAJdnhjcC0+dnhjX3ZjID0gdmNwOwot IAotLQlCTl9pbml0KCZ2eGNwLT52eGNfYm50YXJnKTsKLS0JQk5faW5pdCgmdnhjcC0+dnhjX2Ju YmFzZSk7Ci0tCUJOX2luaXQoJnZ4Y3AtPnZ4Y19ibnRtcCk7Ci0tCUJOX2luaXQoJnZ4Y3AtPnZ4 Y19ibnRtcDIpOwotKwl2eGNwLT52eGNfYm50YXJnID0gQk5fbmV3KCk7Ci0rCXZ4Y3AtPnZ4Y19i bmJhc2UgPSBCTl9uZXcoKTsKLSsJdnhjcC0+dnhjX2JudG1wID0gQk5fbmV3KCk7Ci0rCXZ4Y3At PnZ4Y19ibnRtcDIgPSBCTl9uZXcoKTsKLSAKLS0JQk5fc2V0X3dvcmQoJnZ4Y3AtPnZ4Y19ibmJh c2UsIDU4KTsKLSsJQk5fc2V0X3dvcmQodnhjcC0+dnhjX2JuYmFzZSwgNTgpOwotIAotIAl2eGNw LT52eGNfYm5jdHggPSBCTl9DVFhfbmV3KCk7Ci0gCWFzc2VydCh2eGNwLT52eGNfYm5jdHgpOwot QEAgLTE5NiwxMCArMTk2LDEwIEBAIHZnX2V4ZWNfY29udGV4dF9kZWwodmdfZXhlY19jb250ZXh0 X3QgKnZ4Y3ApCi0gCWlmICh0cC0+dnhjX3N0b3ApCi0gCQlwdGhyZWFkX2NvbmRfc2lnbmFsKCZ2 Z190aHJlYWRfdXBjb25kKTsKLSAKLS0JQk5fY2xlYXJfZnJlZSgmdnhjcC0+dnhjX2JudGFyZyk7 Ci0tCUJOX2NsZWFyX2ZyZWUoJnZ4Y3AtPnZ4Y19ibmJhc2UpOwotLQlCTl9jbGVhcl9mcmVlKCZ2 eGNwLT52eGNfYm50bXApOwotLQlCTl9jbGVhcl9mcmVlKCZ2eGNwLT52eGNfYm50bXAyKTsKLSsJ Qk5fY2xlYXJfZnJlZSh2eGNwLT52eGNfYm50YXJnKTsKLSsJQk5fY2xlYXJfZnJlZSh2eGNwLT52 eGNfYm5iYXNlKTsKLSsJQk5fY2xlYXJfZnJlZSh2eGNwLT52eGNfYm50bXApOwotKwlCTl9jbGVh cl9mcmVlKHZ4Y3AtPnZ4Y19ibnRtcDIpOwotIAlCTl9DVFhfZnJlZSh2eGNwLT52eGNfYm5jdHgp OwotIAl2eGNwLT52eGNfYm5jdHggPSBOVUxMOwotIAlwdGhyZWFkX211dGV4X3VubG9jaygmdmdf dGhyZWFkX2xvY2spOwotQEAgLTIyNSwxMiArMjI1LDEyIEBAIHZvaWQKLSB2Z19leGVjX2NvbnRl eHRfY29uc29saWRhdGVfa2V5KHZnX2V4ZWNfY29udGV4dF90ICp2eGNwKQotIHsKLSAJaWYgKHZ4 Y3AtPnZ4Y19kZWx0YSkgewotLQkJQk5fY2xlYXIoJnZ4Y3AtPnZ4Y19ibnRtcCk7Ci0tCQlCTl9z ZXRfd29yZCgmdnhjcC0+dnhjX2JudG1wLCB2eGNwLT52eGNfZGVsdGEpOwotLQkJQk5fYWRkKCZ2 eGNwLT52eGNfYm50bXAyLAotKwkJQk5fY2xlYXIodnhjcC0+dnhjX2JudG1wKTsKLSsJCUJOX3Nl dF93b3JkKHZ4Y3AtPnZ4Y19ibnRtcCwgdnhjcC0+dnhjX2RlbHRhKTsKLSsJCUJOX2FkZCh2eGNw LT52eGNfYm50bXAyLAotIAkJICAgICAgIEVDX0tFWV9nZXQwX3ByaXZhdGVfa2V5KHZ4Y3AtPnZ4 Y19rZXkpLAotLQkJICAgICAgICZ2eGNwLT52eGNfYm50bXApOwotLQkJdmdfc2V0X3ByaXZrZXko JnZ4Y3AtPnZ4Y19ibnRtcDIsIHZ4Y3AtPnZ4Y19rZXkpOwotKwkJICAgICAgIHZ4Y3AtPnZ4Y19i bnRtcCk7Ci0rCQl2Z19zZXRfcHJpdmtleSh2eGNwLT52eGNfYm50bXAyLCB2eGNwLT52eGNfa2V5 KTsKLSAJCXZ4Y3AtPnZ4Y19kZWx0YSA9IDA7Ci0gCX0KLSB9Ci1AQCAtNzUxLDIwICs3NTEsMjAg QEAgZ2V0X3ByZWZpeF9yYW5nZXMoaW50IGFkZHJ0eXBlLCBjb25zdCBjaGFyICpwZngsIEJJR05V TSAqKnJlc3VsdCwKLSAJaW50IGI1OHBvdywgYjU4Y2VpbCwgYjU4dG9wID0gMDsKLSAJaW50IHJl dCA9IC0xOwotIAotLQlCSUdOVU0gYm50YXJnLCBibmNlaWwsIGJuZmxvb3I7Ci0tCUJJR05VTSBi bmJhc2U7Ci0rCUJJR05VTSAqYm50YXJnLCAqYm5jZWlsLCAqYm5mbG9vcjsKLSsJQklHTlVNICpi bmJhc2U7Ci0gCUJJR05VTSAqYm5hcCwgKmJuYnAsICpibnRwOwotIAlCSUdOVU0gKmJuaGlnaCA9 IE5VTEwsICpibmxvdyA9IE5VTEwsICpibmhpZ2gyID0gTlVMTCwgKmJubG93MiA9IE5VTEw7Ci0t CUJJR05VTSBibnRtcCwgYm50bXAyOwotKwlCSUdOVU0gKmJudG1wLCAqYm50bXAyOwotIAotLQlC Tl9pbml0KCZibnRhcmcpOwotLQlCTl9pbml0KCZibmNlaWwpOwotLQlCTl9pbml0KCZibmZsb29y KTsKLS0JQk5faW5pdCgmYm5iYXNlKTsKLS0JQk5faW5pdCgmYm50bXApOwotLQlCTl9pbml0KCZi bnRtcDIpOwotKwlibnRhcmcgPSBCTl9uZXcoKTsKLSsJYm5jZWlsID0gQk5fbmV3KCk7Ci0rCWJu Zmxvb3IgPSBCTl9uZXcoKTsKLSsJYm5iYXNlID0gQk5fbmV3KCk7Ci0rCWJudG1wID0gQk5fbmV3 KCk7Ci0rCWJudG1wMiA9IEJOX25ldygpOwotIAotLQlCTl9zZXRfd29yZCgmYm5iYXNlLCA1OCk7 Ci0rCUJOX3NldF93b3JkKGJuYmFzZSwgNTgpOwotIAotIAlwID0gc3RybGVuKHBmeCk7Ci0gCi1A QCAtNzkxLDIwICs3OTEsMjAgQEAgZ2V0X3ByZWZpeF9yYW5nZXMoaW50IGFkZHJ0eXBlLCBjb25z dCBjaGFyICpwZngsIEJJR05VTSAqKnJlc3VsdCwKLSAKLSAJCQkvKiBGaXJzdCBub24temVybyBj aGFyYWN0ZXIgKi8KLSAJCQliNTh0b3AgPSBjOwotLQkJCUJOX3NldF93b3JkKCZibnRhcmcsIGMp OwotKwkJCUJOX3NldF93b3JkKGJudGFyZywgYyk7Ci0gCi0gCQl9IGVsc2UgewotLQkJCUJOX3Nl dF93b3JkKCZibnRtcDIsIGMpOwotLQkJCUJOX211bCgmYm50bXAsICZibnRhcmcsICZibmJhc2Us IGJuY3R4KTsKLS0JCQlCTl9hZGQoJmJudGFyZywgJmJudG1wLCAmYm50bXAyKTsKLSsJCQlCTl9z ZXRfd29yZChibnRtcDIsIGMpOwotKwkJCUJOX211bChibnRtcCwgYm50YXJnLCBibmJhc2UsIGJu Y3R4KTsKLSsJCQlCTl9hZGQoYm50YXJnLCBibnRtcCwgYm50bXAyKTsKLSAJCX0KLSAJfQotIAot IAkvKiBQb3dlci1vZi10d28gY2VpbGluZyBhbmQgZmxvb3IgdmFsdWVzIGJhc2VkIG9uIGxlYWRp bmcgMXMgKi8KLS0JQk5fY2xlYXIoJmJudG1wKTsKLS0JQk5fc2V0X2JpdCgmYm50bXAsIDIwMCAt ICh6ZXJvX3ByZWZpeCAqIDgpKTsKLS0JQk5fc3ViKCZibmNlaWwsICZibnRtcCwgQk5fdmFsdWVf b25lKCkpOwotLQlCTl9zZXRfYml0KCZibmZsb29yLCAxOTIgLSAoemVyb19wcmVmaXggKiA4KSk7 Ci0rCUJOX2NsZWFyKGJudG1wKTsKLSsJQk5fc2V0X2JpdChibnRtcCwgMjAwIC0gKHplcm9fcHJl Zml4ICogOCkpOwotKwlCTl9zdWIoYm5jZWlsLCBibnRtcCwgQk5fdmFsdWVfb25lKCkpOwotKwlC Tl9zZXRfYml0KGJuZmxvb3IsIDE5MiAtICh6ZXJvX3ByZWZpeCAqIDgpKTsKLSAKLSAJYm5sb3cg PSBCTl9uZXcoKTsKLSAJYm5oaWdoID0gQk5fbmV3KCk7Ci1AQCAtODE1LDEzICs4MTUsMTMgQEAg Z2V0X3ByZWZpeF9yYW5nZXMoaW50IGFkZHJ0eXBlLCBjb25zdCBjaGFyICpwZngsIEJJR05VTSAq KnJlc3VsdCwKLSAJCSAqIG51bWVyaWMgYm91bmRhcmllcyBvZiB0aGUgcHJlZml4LgotIAkJICov Ci0gCi0tCQlCTl9jb3B5KCZibnRtcCwgJmJuY2VpbCk7Ci0tCQlibmFwID0gJmJudG1wOwotLQkJ Ym5icCA9ICZibnRtcDI7Ci0rCQlCTl9jb3B5KGJudG1wLCBibmNlaWwpOwotKwkJYm5hcCA9IGJu dG1wOwotKwkJYm5icCA9IGJudG1wMjsKLSAJCWI1OHBvdyA9IDA7Ci0tCQl3aGlsZSAoQk5fY21w KGJuYXAsICZibmJhc2UpID4gMCkgewotKwkJd2hpbGUgKEJOX2NtcChibmFwLCBibmJhc2UpID4g MCkgewotIAkJCWI1OHBvdysrOwotLQkJCUJOX2RpdihibmJwLCBOVUxMLCBibmFwLCAmYm5iYXNl LCBibmN0eCk7Ci0rCQkJQk5fZGl2KGJuYnAsIE5VTEwsIGJuYXAsIGJuYmFzZSwgYm5jdHgpOwot IAkJCWJudHAgPSBibmFwOwotIAkJCWJuYXAgPSBibmJwOwotIAkJCWJuYnAgPSBibnRwOwotQEAg LTgzNywxMSArODM3LDExIEBAIGdldF9wcmVmaXhfcmFuZ2VzKGludCBhZGRydHlwZSwgY29uc3Qg Y2hhciAqcGZ4LCBCSUdOVU0gKipyZXN1bHQsCi0gCQkJLyogZ290byBvdXQ7ICovCi0gCQl9Ci0g Ci0tCQlCTl9zZXRfd29yZCgmYm50bXAyLCBiNThwb3cgLSAocCAtIHplcm9fcHJlZml4KSk7Ci0t CQlCTl9leHAoJmJudG1wLCAmYm5iYXNlLCAmYm50bXAyLCBibmN0eCk7Ci0tCQlCTl9tdWwoYm5s b3csICZibnRtcCwgJmJudGFyZywgYm5jdHgpOwotLQkJQk5fc3ViKCZibnRtcDIsICZibnRtcCwg Qk5fdmFsdWVfb25lKCkpOwotLQkJQk5fYWRkKGJuaGlnaCwgYm5sb3csICZibnRtcDIpOwotKwkJ Qk5fc2V0X3dvcmQoYm50bXAyLCBiNThwb3cgLSAocCAtIHplcm9fcHJlZml4KSk7Ci0rCQlCTl9l eHAoYm50bXAsIGJuYmFzZSwgYm50bXAyLCBibmN0eCk7Ci0rCQlCTl9tdWwoYm5sb3csIGJudG1w LCBibnRhcmcsIGJuY3R4KTsKLSsJCUJOX3N1YihibnRtcDIsIGJudG1wLCBCTl92YWx1ZV9vbmUo KSk7Ci0rCQlCTl9hZGQoYm5oaWdoLCBibmxvdywgYm50bXAyKTsKLSAKLSAJCWlmIChiNTh0b3Ag PD0gYjU4Y2VpbCkgewotIAkJCS8qIEZpbGwgb3V0IHRoZSB1cHBlciByYW5nZSB0b28gKi8KLUBA IC04NDksMTYgKzg0OSwxNiBAQCBnZXRfcHJlZml4X3JhbmdlcyhpbnQgYWRkcnR5cGUsIGNvbnN0 IGNoYXIgKnBmeCwgQklHTlVNICoqcmVzdWx0LAotIAkJCWJubG93MiA9IEJOX25ldygpOwotIAkJ CWJuaGlnaDIgPSBCTl9uZXcoKTsKLSAKLS0JCQlCTl9tdWwoYm5sb3cyLCBibmxvdywgJmJuYmFz ZSwgYm5jdHgpOwotLQkJCUJOX211bCgmYm50bXAyLCBibmhpZ2gsICZibmJhc2UsIGJuY3R4KTsK LS0JCQlCTl9zZXRfd29yZCgmYm50bXAsIDU3KTsKLS0JCQlCTl9hZGQoYm5oaWdoMiwgJmJudG1w MiwgJmJudG1wKTsKLSsJCQlCTl9tdWwoYm5sb3cyLCBibmxvdywgYm5iYXNlLCBibmN0eCk7Ci0r CQkJQk5fbXVsKGJudG1wMiwgYm5oaWdoLCBibmJhc2UsIGJuY3R4KTsKLSsJCQlCTl9zZXRfd29y ZChibnRtcCwgNTcpOwotKwkJCUJOX2FkZChibmhpZ2gyLCBibnRtcDIsIGJudG1wKTsKLSAKLSAJ CQkvKgotIAkJCSAqIEFkZHJlc3NlcyBhYm92ZSB0aGUgY2VpbGluZyB3aWxsIGhhdmUgb25lCi0g CQkJICogZmV3ZXIgIjEiIHByZWZpeCBpbiBmcm9udCB0aGFuIHdlIHJlcXVpcmUuCi0gCQkJICov Ci0tCQkJaWYgKEJOX2NtcCgmYm5jZWlsLCBibmxvdzIpIDwgMCkgewotKwkJCWlmIChCTl9jbXAo Ym5jZWlsLCBibmxvdzIpIDwgMCkgewotIAkJCQkvKiBIaWdoIHByZWZpeCBpcyBhYm92ZSB0aGUg Y2VpbGluZyAqLwotIAkJCQljaGVja191cHBlciA9IDA7Ci0gCQkJCUJOX2ZyZWUoYm5oaWdoMik7 Ci1AQCAtODY2LDE1ICs4NjYsMTUgQEAgZ2V0X3ByZWZpeF9yYW5nZXMoaW50IGFkZHJ0eXBlLCBj b25zdCBjaGFyICpwZngsIEJJR05VTSAqKnJlc3VsdCwKLSAJCQkJQk5fZnJlZShibmxvdzIpOwot IAkJCQlibmxvdzIgPSBOVUxMOwotIAkJCX0KLS0JCQllbHNlIGlmIChCTl9jbXAoJmJuY2VpbCwg Ym5oaWdoMikgPCAwKQotKwkJCWVsc2UgaWYgKEJOX2NtcChibmNlaWwsIGJuaGlnaDIpIDwgMCkK LSAJCQkJLyogSGlnaCBwcmVmaXggaXMgcGFydGx5IGFib3ZlIHRoZSBjZWlsaW5nICovCi0tCQkJ CUJOX2NvcHkoYm5oaWdoMiwgJmJuY2VpbCk7Ci0rCQkJCUJOX2NvcHkoYm5oaWdoMiwgYm5jZWls KTsKLSAKLSAJCQkvKgotIAkJCSAqIEFkZHJlc3NlcyBiZWxvdyB0aGUgZmxvb3Igd2lsbCBoYXZl IGFub3RoZXIKLSAJCQkgKiAiMSIgcHJlZml4IGluIGZyb250IGluc3RlYWQgb2Ygb3VyIHRhcmdl dC4KLSAJCQkgKi8KLS0JCQlpZiAoQk5fY21wKCZibmZsb29yLCBibmhpZ2gpID49IDApIHsKLSsJ CQlpZiAoQk5fY21wKGJuZmxvb3IsIGJuaGlnaCkgPj0gMCkgewotIAkJCQkvKiBMb3cgcHJlZml4 IGlzIGNvbXBsZXRlbHkgYmVsb3cgdGhlIGZsb29yICovCi0gCQkJCWFzc2VydChjaGVja191cHBl cik7Ci0gCQkJCWNoZWNrX3VwcGVyID0gMDsKLUBAIC04ODUsMzUgKzg4NSwzNSBAQCBnZXRfcHJl Zml4X3JhbmdlcyhpbnQgYWRkcnR5cGUsIGNvbnN0IGNoYXIgKnBmeCwgQklHTlVNICoqcmVzdWx0 LAotIAkJCQlibmxvdyA9IGJubG93MjsKLSAJCQkJYm5sb3cyID0gTlVMTDsKLSAJCQl9CQkJCi0t CQkJZWxzZSBpZiAoQk5fY21wKCZibmZsb29yLCBibmxvdykgPiAwKSB7Ci0rCQkJZWxzZSBpZiAo Qk5fY21wKGJuZmxvb3IsIGJubG93KSA+IDApIHsKLSAJCQkJLyogTG93IHByZWZpeCBpcyBwYXJ0 bHkgYmVsb3cgdGhlIGZsb29yICovCi0tCQkJCUJOX2NvcHkoYm5sb3csICZibmZsb29yKTsKLSsJ CQkJQk5fY29weShibmxvdywgYm5mbG9vcik7Ci0gCQkJfQotIAkJfQotIAotIAl9IGVsc2Ugewot LQkJQk5fY29weShibmhpZ2gsICZibmNlaWwpOwotKwkJQk5fY29weShibmhpZ2gsIGJuY2VpbCk7 Ci0gCQlCTl9jbGVhcihibmxvdyk7Ci0gCX0KLSAKLSAJLyogTGltaXQgdGhlIHByZWZpeCB0byB0 aGUgYWRkcmVzcyB0eXBlICovCi0tCUJOX2NsZWFyKCZibnRtcCk7Ci0tCUJOX3NldF93b3JkKCZi bnRtcCwgYWRkcnR5cGUpOwotLQlCTl9sc2hpZnQoJmJudG1wMiwgJmJudG1wLCAxOTIpOwotKwlC Tl9jbGVhcihibnRtcCk7Ci0rCUJOX3NldF93b3JkKGJudG1wLCBhZGRydHlwZSk7Ci0rCUJOX2xz aGlmdChibnRtcDIsIGJudG1wLCAxOTIpOwotIAotIAlpZiAoY2hlY2tfdXBwZXIpIHsKLS0JCWlm IChCTl9jbXAoJmJudG1wMiwgYm5oaWdoMikgPiAwKSB7Ci0rCQlpZiAoQk5fY21wKGJudG1wMiwg Ym5oaWdoMikgPiAwKSB7Ci0gCQkJY2hlY2tfdXBwZXIgPSAwOwotIAkJCUJOX2ZyZWUoYm5oaWdo Mik7Ci0gCQkJYm5oaWdoMiA9IE5VTEw7Ci0gCQkJQk5fZnJlZShibmxvdzIpOwotIAkJCWJubG93 MiA9IE5VTEw7Ci0gCQl9Ci0tCQllbHNlIGlmIChCTl9jbXAoJmJudG1wMiwgYm5sb3cyKSA+IDAp Ci0tCQkJQk5fY29weShibmxvdzIsICZibnRtcDIpOwotKwkJZWxzZSBpZiAoQk5fY21wKGJudG1w MiwgYm5sb3cyKSA+IDApCi0rCQkJQk5fY29weShibmxvdzIsIGJudG1wMik7Ci0gCX0KLSAKLS0J aWYgKEJOX2NtcCgmYm50bXAyLCBibmhpZ2gpID4gMCkgewotKwlpZiAoQk5fY21wKGJudG1wMiwg Ym5oaWdoKSA+IDApIHsKLSAJCWlmICghY2hlY2tfdXBwZXIpCi0gCQkJZ290byBub3RfcG9zc2li bGU7Ci0gCQljaGVja191cHBlciA9IDA7Ci1AQCAtOTI0LDI2ICs5MjQsMjYgQEAgZ2V0X3ByZWZp eF9yYW5nZXMoaW50IGFkZHJ0eXBlLCBjb25zdCBjaGFyICpwZngsIEJJR05VTSAqKnJlc3VsdCwK LSAJCWJubG93ID0gYm5sb3cyOwotIAkJYm5sb3cyID0gTlVMTDsKLSAJfQotLQllbHNlIGlmIChC Tl9jbXAoJmJudG1wMiwgYm5sb3cpID4gMCkgewotLQkJQk5fY29weShibmxvdywgJmJudG1wMik7 Ci0rCWVsc2UgaWYgKEJOX2NtcChibnRtcDIsIGJubG93KSA+IDApIHsKLSsJCUJOX2NvcHkoYm5s b3csIGJudG1wMik7Ci0gCX0KLSAKLS0JQk5fc2V0X3dvcmQoJmJudG1wLCBhZGRydHlwZSArIDEp OwotLQlCTl9sc2hpZnQoJmJudG1wMiwgJmJudG1wLCAxOTIpOwotKwlCTl9zZXRfd29yZChibnRt cCwgYWRkcnR5cGUgKyAxKTsKLSsJQk5fbHNoaWZ0KGJudG1wMiwgYm50bXAsIDE5Mik7Ci0gCi0g CWlmIChjaGVja191cHBlcikgewotLQkJaWYgKEJOX2NtcCgmYm50bXAyLCBibmxvdzIpIDwgMCkg ewotKwkJaWYgKEJOX2NtcChibnRtcDIsIGJubG93MikgPCAwKSB7Ci0gCQkJY2hlY2tfdXBwZXIg PSAwOwotIAkJCUJOX2ZyZWUoYm5oaWdoMik7Ci0gCQkJYm5oaWdoMiA9IE5VTEw7Ci0gCQkJQk5f ZnJlZShibmxvdzIpOwotIAkJCWJubG93MiA9IE5VTEw7Ci0gCQl9Ci0tCQllbHNlIGlmIChCTl9j bXAoJmJudG1wMiwgYm5oaWdoMikgPCAwKQotLQkJCUJOX2NvcHkoYm5sb3cyLCAmYm50bXAyKTsK LSsJCWVsc2UgaWYgKEJOX2NtcChibnRtcDIsIGJuaGlnaDIpIDwgMCkKLSsJCQlCTl9jb3B5KGJu bG93MiwgYm50bXAyKTsKLSAJfQotIAotLQlpZiAoQk5fY21wKCZibnRtcDIsIGJubG93KSA8IDAp IHsKLSsJaWYgKEJOX2NtcChibnRtcDIsIGJubG93KSA8IDApIHsKLSAJCWlmICghY2hlY2tfdXBw ZXIpCi0gCQkJZ290byBub3RfcG9zc2libGU7Ci0gCQljaGVja191cHBlciA9IDA7Ci1AQCAtOTU0 LDggKzk1NCw4IEBAIGdldF9wcmVmaXhfcmFuZ2VzKGludCBhZGRydHlwZSwgY29uc3QgY2hhciAq cGZ4LCBCSUdOVU0gKipyZXN1bHQsCi0gCQlibmxvdyA9IGJubG93MjsKLSAJCWJubG93MiA9IE5V TEw7Ci0gCX0KLS0JZWxzZSBpZiAoQk5fY21wKCZibnRtcDIsIGJuaGlnaCkgPCAwKSB7Ci0tCQlC Tl9jb3B5KGJuaGlnaCwgJmJudG1wMik7Ci0rCWVsc2UgaWYgKEJOX2NtcChibnRtcDIsIGJuaGln aCkgPCAwKSB7Ci0rCQlCTl9jb3B5KGJuaGlnaCwgYm50bXAyKTsKLSAJfQotIAotIAkvKiBBZGRy ZXNzIHJhbmdlcyBhcmUgY29tcGxldGUgKi8KLUBAIC05NzYsMTIgKzk3NiwxMiBAQCBnZXRfcHJl Zml4X3JhbmdlcyhpbnQgYWRkcnR5cGUsIGNvbnN0IGNoYXIgKnBmeCwgQklHTlVNICoqcmVzdWx0 LAotIAl9Ci0gCi0gb3V0OgotLQlCTl9jbGVhcl9mcmVlKCZibnRhcmcpOwotLQlCTl9jbGVhcl9m cmVlKCZibmNlaWwpOwotLQlCTl9jbGVhcl9mcmVlKCZibmZsb29yKTsKLS0JQk5fY2xlYXJfZnJl ZSgmYm5iYXNlKTsKLS0JQk5fY2xlYXJfZnJlZSgmYm50bXApOwotLQlCTl9jbGVhcl9mcmVlKCZi bnRtcDIpOwotKwlCTl9jbGVhcl9mcmVlKGJudGFyZyk7Ci0rCUJOX2NsZWFyX2ZyZWUoYm5jZWls KTsKLSsJQk5fY2xlYXJfZnJlZShibmZsb29yKTsKLSsJQk5fY2xlYXJfZnJlZShibmJhc2UpOwot KwlCTl9jbGVhcl9mcmVlKGJudG1wKTsKLSsJQk5fY2xlYXJfZnJlZShibnRtcDIpOwotIAlpZiAo Ym5oaWdoKQotIAkJQk5fZnJlZShibmhpZ2gpOwotIAlpZiAoYm5sb3cpCi1AQCAtMTI2Niw3ICsx MjY2LDcgQEAgcHJlZml4X2Nhc2VfaXRlcl9uZXh0KHByZWZpeF9jYXNlX2l0ZXJfdCAqY2lwKQot IHR5cGVkZWYgc3RydWN0IF92Z19wcmVmaXhfY29udGV4dF9zIHsKLSAJdmdfY29udGV4dF90CQli YXNlOwotIAlhdmxfcm9vdF90CQl2Y3BfYXZscm9vdDsKLS0JQklHTlVNCQkJdmNwX2RpZmZpY3Vs dHk7Ci0rCUJJR05VTQkJCSp2Y3BfZGlmZmljdWx0eTsKLSAJaW50CQkJdmNwX2Nhc2VpbnNlbnNp dGl2ZTsKLSB9IHZnX3ByZWZpeF9jb250ZXh0X3Q7Ci0gCi1AQCAtMTI5NCw3ICsxMjk0LDcgQEAg dmdfcHJlZml4X2NvbnRleHRfY2xlYXJfYWxsX3BhdHRlcm5zKHZnX2NvbnRleHRfdCAqdmNwKQot IAl2Y3BwLT5iYXNlLnZjX25wYXR0ZXJucyA9IDA7Ci0gCXZjcHAtPmJhc2UudmNfbnBhdHRlcm5z X3N0YXJ0ID0gMDsKLSAJdmNwcC0+YmFzZS52Y19mb3VuZCA9IDA7Ci0tCUJOX2NsZWFyKCZ2Y3Bw LT52Y3BfZGlmZmljdWx0eSk7Ci0rCUJOX2NsZWFyKHZjcHAtPnZjcF9kaWZmaWN1bHR5KTsKLSB9 Ci0gCi0gc3RhdGljIHZvaWQKLUBAIC0xMzAyLDcgKzEzMDIsNyBAQCB2Z19wcmVmaXhfY29udGV4 dF9mcmVlKHZnX2NvbnRleHRfdCAqdmNwKQotIHsKLSAJdmdfcHJlZml4X2NvbnRleHRfdCAqdmNw cCA9ICh2Z19wcmVmaXhfY29udGV4dF90ICopIHZjcDsKLSAJdmdfcHJlZml4X2NvbnRleHRfY2xl YXJfYWxsX3BhdHRlcm5zKHZjcCk7Ci0tCUJOX2NsZWFyX2ZyZWUoJnZjcHAtPnZjcF9kaWZmaWN1 bHR5KTsKLSsJQk5fY2xlYXJfZnJlZSh2Y3BwLT52Y3BfZGlmZmljdWx0eSk7Ci0gCWZyZWUodmNw cCk7Ci0gfQotIAotQEAgLTEzMTQsNyArMTMxNCw3IEBAIHZnX3ByZWZpeF9jb250ZXh0X25leHRf ZGlmZmljdWx0eSh2Z19wcmVmaXhfY29udGV4dF90ICp2Y3BwLAotIAotIAlCTl9jbGVhcihibnRt cCk7Ci0gCUJOX3NldF9iaXQoYm50bXAsIDE5Mik7Ci0tCUJOX2RpdihibnRtcDIsIE5VTEwsIGJu dG1wLCAmdmNwcC0+dmNwX2RpZmZpY3VsdHksIGJuY3R4KTsKLSsJQk5fZGl2KGJudG1wMiwgTlVM TCwgYm50bXAsIHZjcHAtPnZjcF9kaWZmaWN1bHR5LCBibmN0eCk7Ci0gCi0gCWRidWYgPSBCTl9i bjJkZWMoYm50bXAyKTsKLSAJaWYgKHZjcHAtPmJhc2UudmNfdmVyYm9zZSA+IDApIHsKLUBAIC0x MzM3LDcgKzEzMzcsNyBAQCB2Z19wcmVmaXhfY29udGV4dF9hZGRfcGF0dGVybnModmdfY29udGV4 dF90ICp2Y3AsCi0gCXByZWZpeF9jYXNlX2l0ZXJfdCBjYXNlaXRlcjsKLSAJdmdfcHJlZml4X3Qg KnZwLCAqdnAyOwotIAlCTl9DVFggKmJuY3R4OwotLQlCSUdOVU0gYm50bXAsIGJudG1wMiwgYm50 bXAzOwotKwlCSUdOVU0gKmJudG1wLCAqYm50bXAyLCAqYm50bXAzOwotIAlCSUdOVU0gKnJhbmdl c1s0XTsKLSAJaW50IHJldCA9IDA7Ci0gCWludCBpLCBpbXBvc3NpYmxlID0gMDsKLUBAIC0xMzQ2 LDkgKzEzNDYsOSBAQCB2Z19wcmVmaXhfY29udGV4dF9hZGRfcGF0dGVybnModmdfY29udGV4dF90 ICp2Y3AsCi0gCWNoYXIgKmRidWY7Ci0gCi0gCWJuY3R4ID0gQk5fQ1RYX25ldygpOwotLQlCTl9p bml0KCZibnRtcCk7Ci0tCUJOX2luaXQoJmJudG1wMik7Ci0tCUJOX2luaXQoJmJudG1wMyk7Ci0r CWJudG1wID0gQk5fbmV3KCk7Ci0rCWJudG1wMiA9IEJOX25ldygpOwotKwlibnRtcDMgPSBCTl9u ZXcoKTsKLSAKLSAJbnBmeCA9IDA7Ci0gCWZvciAoaSA9IDA7IGkgPCBucGF0dGVybnM7IGkrKykg ewotQEAgLTE0MjYsMTYgKzE0MjYsMTYgQEAgdmdfcHJlZml4X2NvbnRleHRfYWRkX3BhdHRlcm5z KHZnX2NvbnRleHRfdCAqdmNwLAotIAkJbnBmeCsrOwotIAotIAkJLyogRGV0ZXJtaW5lIHRoZSBw cm9iYWJpbGl0eSBvZiBmaW5kaW5nIGEgbWF0Y2ggKi8KLS0JCXZnX3ByZWZpeF9yYW5nZV9zdW0o dnAsICZibnRtcCwgJmJudG1wMik7Ci0tCQlCTl9hZGQoJmJudG1wMiwgJnZjcHAtPnZjcF9kaWZm aWN1bHR5LCAmYm50bXApOwotLQkJQk5fY29weSgmdmNwcC0+dmNwX2RpZmZpY3VsdHksICZibnRt cDIpOwotKwkJdmdfcHJlZml4X3JhbmdlX3N1bSh2cCwgYm50bXAsIGJudG1wMik7Ci0rCQlCTl9h ZGQoYm50bXAyLCB2Y3BwLT52Y3BfZGlmZmljdWx0eSwgYm50bXApOwotKwkJQk5fY29weSh2Y3Bw LT52Y3BfZGlmZmljdWx0eSwgYm50bXAyKTsKLSAKLSAJCWlmICh2Y3AtPnZjX3ZlcmJvc2UgPiAx KSB7Ci0tCQkJQk5fY2xlYXIoJmJudG1wMik7Ci0tCQkJQk5fc2V0X2JpdCgmYm50bXAyLCAxOTIp OwotLQkJCUJOX2RpdigmYm50bXAzLCBOVUxMLCAmYm50bXAyLCAmYm50bXAsIGJuY3R4KTsKLSsJ CQlCTl9jbGVhcihibnRtcDIpOwotKwkJCUJOX3NldF9iaXQoYm50bXAyLCAxOTIpOwotKwkJCUJO X2RpdihibnRtcDMsIE5VTEwsIGJudG1wMiwgYm50bXAsIGJuY3R4KTsKLSAKLS0JCQlkYnVmID0g Qk5fYm4yZGVjKCZibnRtcDMpOwotKwkJCWRidWYgPSBCTl9ibjJkZWMoYm50bXAzKTsKLSAJCQlm cHJpbnRmKHN0ZGVyciwKLSAJCQkJIlByZWZpeCBkaWZmaWN1bHR5OiAlMjBzICVzXG4iLAotIAkJ CQlkYnVmLCBwYXR0ZXJuc1tpXSk7Ci1AQCAtMTQ2OSwxMyArMTQ2OSwxMyBAQCB2Z19wcmVmaXhf Y29udGV4dF9hZGRfcGF0dGVybnModmdfY29udGV4dF90ICp2Y3AsCi0gCX0KLSAKLSAJaWYgKG5w ZngpCi0tCQl2Z19wcmVmaXhfY29udGV4dF9uZXh0X2RpZmZpY3VsdHkodmNwcCwgJmJudG1wLCAm Ym50bXAyLCBibmN0eCk7Ci0rCQl2Z19wcmVmaXhfY29udGV4dF9uZXh0X2RpZmZpY3VsdHkodmNw cCwgYm50bXAsIGJudG1wMiwgYm5jdHgpOwotIAotIAlyZXQgPSAobnBmeCAhPSAwKTsKLSAKLS0J Qk5fY2xlYXJfZnJlZSgmYm50bXApOwotLQlCTl9jbGVhcl9mcmVlKCZibnRtcDIpOwotLQlCTl9j bGVhcl9mcmVlKCZibnRtcDMpOwotKwlCTl9jbGVhcl9mcmVlKGJudG1wKTsKLSsJQk5fY2xlYXJf ZnJlZShibnRtcDIpOwotKwlCTl9jbGVhcl9mcmVlKGJudG1wMyk7Ci0gCUJOX0NUWF9mcmVlKGJu Y3R4KTsKLSAJcmV0dXJuIHJldDsKLSB9Ci1AQCAtMTQ4NCwzOSArMTQ4NCwzOSBAQCBkb3VibGUK LSB2Z19wcmVmaXhfZ2V0X2RpZmZpY3VsdHkoaW50IGFkZHJ0eXBlLCBjb25zdCBjaGFyICpwYXR0 ZXJuKQotIHsKLSAJQk5fQ1RYICpibmN0eDsKLS0JQklHTlVNIHJlc3VsdCwgYm50bXA7Ci0rCUJJ R05VTSAqcmVzdWx0LCAqYm50bXA7Ci0gCUJJR05VTSAqcmFuZ2VzWzRdOwotIAljaGFyICpkYnVm OwotIAlpbnQgcmV0OwotIAlkb3VibGUgZGlmZnJldCA9IDAuMDsKLSAKLSAJYm5jdHggPSBCTl9D VFhfbmV3KCk7Ci0tCUJOX2luaXQoJnJlc3VsdCk7Ci0tCUJOX2luaXQoJmJudG1wKTsKLSsJcmVz dWx0ID0gQk5fbmV3KCk7Ci0rCWJudG1wID0gQk5fbmV3KCk7Ci0gCi0gCXJldCA9IGdldF9wcmVm aXhfcmFuZ2VzKGFkZHJ0eXBlLAotIAkJCQlwYXR0ZXJuLCByYW5nZXMsIGJuY3R4KTsKLSAKLSAJ aWYgKHJldCA9PSAwKSB7Ci0tCQlCTl9zdWIoJmJudG1wLCByYW5nZXNbMV0sIHJhbmdlc1swXSk7 Ci0tCQlCTl9hZGQoJnJlc3VsdCwgJnJlc3VsdCwgJmJudG1wKTsKLSsJCUJOX3N1YihibnRtcCwg cmFuZ2VzWzFdLCByYW5nZXNbMF0pOwotKwkJQk5fYWRkKHJlc3VsdCwgcmVzdWx0LCBibnRtcCk7 Ci0gCQlpZiAocmFuZ2VzWzJdKSB7Ci0tCQkJQk5fc3ViKCZibnRtcCwgcmFuZ2VzWzNdLCByYW5n ZXNbMl0pOwotLQkJCUJOX2FkZCgmcmVzdWx0LCAmcmVzdWx0LCAmYm50bXApOwotKwkJCUJOX3N1 YihibnRtcCwgcmFuZ2VzWzNdLCByYW5nZXNbMl0pOwotKwkJCUJOX2FkZChyZXN1bHQsIHJlc3Vs dCwgYm50bXApOwotIAkJfQotIAkJZnJlZV9yYW5nZXMocmFuZ2VzKTsKLSAKLS0JCUJOX2NsZWFy KCZibnRtcCk7Ci0tCQlCTl9zZXRfYml0KCZibnRtcCwgMTkyKTsKLS0JCUJOX2RpdigmcmVzdWx0 LCBOVUxMLCAmYm50bXAsICZyZXN1bHQsIGJuY3R4KTsKLSsJCUJOX2NsZWFyKGJudG1wKTsKLSsJ CUJOX3NldF9iaXQoYm50bXAsIDE5Mik7Ci0rCQlCTl9kaXYocmVzdWx0LCBOVUxMLCBibnRtcCwg cmVzdWx0LCBibmN0eCk7Ci0gCi0tCQlkYnVmID0gQk5fYm4yZGVjKCZyZXN1bHQpOwotKwkJZGJ1 ZiA9IEJOX2JuMmRlYyhyZXN1bHQpOwotIAkJZGlmZnJldCA9IHN0cnRvZChkYnVmLCBOVUxMKTsK LSAJCU9QRU5TU0xfZnJlZShkYnVmKTsKLSAJfQotIAotLQlCTl9jbGVhcl9mcmVlKCZyZXN1bHQp OwotLQlCTl9jbGVhcl9mcmVlKCZibnRtcCk7Ci0rCUJOX2NsZWFyX2ZyZWUocmVzdWx0KTsKLSsJ Qk5fY2xlYXJfZnJlZShibnRtcCk7Ci0gCUJOX0NUWF9mcmVlKGJuY3R4KTsKLSAJcmV0dXJuIGRp ZmZyZXQ7Ci0gfQotQEAgLTE1MzUsMTAgKzE1MzUsMTAgQEAgdmdfcHJlZml4X3Rlc3QodmdfZXhl Y19jb250ZXh0X3QgKnZ4Y3ApCi0gCSAqIGNoZWNrIGNvZGUuCi0gCSAqLwotIAotLQlCTl9iaW4y Ym4odnhjcC0+dnhjX2JpbnJlcywgMjUsICZ2eGNwLT52eGNfYm50YXJnKTsKLSsJQk5fYmluMmJu KHZ4Y3AtPnZ4Y19iaW5yZXMsIDI1LCB2eGNwLT52eGNfYm50YXJnKTsKLSAKLSByZXNlYXJjaDoK LS0JdnAgPSB2Z19wcmVmaXhfYXZsX3NlYXJjaCgmdmNwcC0+dmNwX2F2bHJvb3QsICZ2eGNwLT52 eGNfYm50YXJnKTsKLSsJdnAgPSB2Z19wcmVmaXhfYXZsX3NlYXJjaCgmdmNwcC0+dmNwX2F2bHJv b3QsIHZ4Y3AtPnZ4Y19ibnRhcmcpOwotIAlpZiAodnApIHsKLSAJCWlmICh2Z19leGVjX2NvbnRl eHRfdXBncmFkZV9sb2NrKHZ4Y3ApKQotIAkJCWdvdG8gcmVzZWFyY2g7Ci1AQCAtMTU1OCwyMCAr MTU1OCwyMCBAQCB2Z19wcmVmaXhfdGVzdCh2Z19leGVjX2NvbnRleHRfdCAqdnhjcCkKLSAJCWlm ICh2Y3BwLT5iYXNlLnZjX3JlbW92ZV9vbl9tYXRjaCkgewotIAkJCS8qIFN1YnRyYWN0IHRoZSBy YW5nZSBmcm9tIHRoZSBkaWZmaWN1bHR5ICovCi0gCQkJdmdfcHJlZml4X3JhbmdlX3N1bSh2cCwK LS0JCQkJCSAgICAmdnhjcC0+dnhjX2JudGFyZywKLS0JCQkJCSAgICAmdnhjcC0+dnhjX2JudG1w KTsKLS0JCQlCTl9zdWIoJnZ4Y3AtPnZ4Y19ibnRtcCwKLS0JCQkgICAgICAgJnZjcHAtPnZjcF9k aWZmaWN1bHR5LAotLQkJCSAgICAgICAmdnhjcC0+dnhjX2JudGFyZyk7Ci0tCQkJQk5fY29weSgm dmNwcC0+dmNwX2RpZmZpY3VsdHksICZ2eGNwLT52eGNfYm50bXApOwotKwkJCQkJICAgIHZ4Y3At PnZ4Y19ibnRhcmcsCi0rCQkJCQkgICAgdnhjcC0+dnhjX2JudG1wKTsKLSsJCQlCTl9zdWIodnhj cC0+dnhjX2JudG1wLAotKwkJCSAgICAgICB2Y3BwLT52Y3BfZGlmZmljdWx0eSwKLSsJCQkgICAg ICAgdnhjcC0+dnhjX2JudGFyZyk7Ci0rCQkJQk5fY29weSh2Y3BwLT52Y3BfZGlmZmljdWx0eSwg dnhjcC0+dnhjX2JudG1wKTsKLSAKLSAJCQl2Z19wcmVmaXhfZGVsZXRlKCZ2Y3BwLT52Y3BfYXZs cm9vdCx2cCk7Ci0gCQkJdmNwcC0+YmFzZS52Y19ucGF0dGVybnMtLTsKLSAKLSAJCQlpZiAoIWF2 bF9yb290X2VtcHR5KCZ2Y3BwLT52Y3BfYXZscm9vdCkpCi0gCQkJCXZnX3ByZWZpeF9jb250ZXh0 X25leHRfZGlmZmljdWx0eSgKLS0JCQkJCXZjcHAsICZ2eGNwLT52eGNfYm50bXAsCi0tCQkJCQkm dnhjcC0+dnhjX2JudG1wMiwKLSsJCQkJCXZjcHAsIHZ4Y3AtPnZ4Y19ibnRtcCwKLSsJCQkJCXZ4 Y3AtPnZ4Y19ibnRtcDIsCi0gCQkJCQl2eGNwLT52eGNfYm5jdHgpOwotIAkJCXZjcHAtPmJhc2Uu dmNfcGF0dGVybl9nZW5lcmF0aW9uKys7Ci0gCQl9Ci1AQCAtMTY1Miw3ICsxNjUyLDcgQEAgdmdf cHJlZml4X2NvbnRleHRfbmV3KGludCBhZGRydHlwZSwgaW50IHByaXZ0eXBlLCBpbnQgY2FzZWlu c2Vuc2l0aXZlKQotIAkJdmNwcC0+YmFzZS52Y190ZXN0ID0gdmdfcHJlZml4X3Rlc3Q7Ci0gCQl2 Y3BwLT5iYXNlLnZjX2hhc2gxNjBfc29ydCA9IHZnX3ByZWZpeF9oYXNoMTYwX3NvcnQ7Ci0gCQlh dmxfcm9vdF9pbml0KCZ2Y3BwLT52Y3BfYXZscm9vdCk7Ci0tCQlCTl9pbml0KCZ2Y3BwLT52Y3Bf ZGlmZmljdWx0eSk7Ci0rCQl2Y3BwLT52Y3BfZGlmZmljdWx0eSA9IEJOX25ldygpOwotIAkJdmNw cC0+dmNwX2Nhc2VpbnNlbnNpdGl2ZSA9IGNhc2VpbnNlbnNpdGl2ZTsKLSAJfQotIAlyZXR1cm4g JnZjcHAtPmJhc2U7Ci1AQCAtMTc3OCwyMSArMTc3OCwyMSBAQCB2Z19yZWdleF90ZXN0KHZnX2V4 ZWNfY29udGV4dF90ICp2eGNwKQotIAl1bnNpZ25lZCBjaGFyIGhhc2gxWzMyXSwgaGFzaDJbMzJd OwotIAlpbnQgaSwgenBmeCwgcCwgZCwgbnJlcywgcmVfdmVjWzldOwotIAljaGFyIGI1OFs0MF07 Ci0tCUJJR05VTSBibnJlbTsKLSsJQklHTlVNICpibnJlbTsKLSAJQklHTlVNICpibiwgKmJuZGl2 LCAqYm5wdG1wOwotIAlpbnQgcmVzID0gMDsKLSAKLSAJcGNyZSAqcmU7Ci0gCi0tCUJOX2luaXQo JmJucmVtKTsKLSsJYm5yZW0gPSBCTl9uZXcoKTsKLSAKLSAJLyogSGFzaCB0aGUgaGFzaCBhbmQg d3JpdGUgdGhlIGZvdXIgYnl0ZSBjaGVjayBjb2RlICovCi0gCVNIQTI1Nih2eGNwLT52eGNfYmlu cmVzLCAyMSwgaGFzaDEpOwotIAlTSEEyNTYoaGFzaDEsIHNpemVvZihoYXNoMSksIGhhc2gyKTsK LSAJbWVtY3B5KCZ2eGNwLT52eGNfYmlucmVzWzIxXSwgaGFzaDIsIDQpOwotIAotLQlibiA9ICZ2 eGNwLT52eGNfYm50bXA7Ci0tCWJuZGl2ID0gJnZ4Y3AtPnZ4Y19ibnRtcDI7Ci0rCWJuID0gdnhj cC0+dnhjX2JudG1wOwotKwlibmRpdiA9IHZ4Y3AtPnZ4Y19ibnRtcDI7Ci0gCi0gCUJOX2JpbjJi bih2eGNwLT52eGNfYmlucmVzLCAyNSwgYm4pOwotIAotQEAgLTE4MDEsMTEgKzE4MDEsMTEgQEAg dmdfcmVnZXhfdGVzdCh2Z19leGVjX2NvbnRleHRfdCAqdnhjcCkKLSAJcCA9IHNpemVvZihiNTgp IC0gMTsKLSAJYjU4W3BdID0gJ1wwJzsKLSAJd2hpbGUgKCFCTl9pc196ZXJvKGJuKSkgewotLQkJ Qk5fZGl2KGJuZGl2LCAmYm5yZW0sIGJuLCAmdnhjcC0+dnhjX2JuYmFzZSwgdnhjcC0+dnhjX2Ju Y3R4KTsKLSsJCUJOX2RpdihibmRpdiwgYm5yZW0sIGJuLCB2eGNwLT52eGNfYm5iYXNlLCB2eGNw LT52eGNfYm5jdHgpOwotIAkJYm5wdG1wID0gYm47Ci0gCQlibiA9IGJuZGl2OwotIAkJYm5kaXYg PSBibnB0bXA7Ci0tCQlkID0gQk5fZ2V0X3dvcmQoJmJucmVtKTsKLSsJCWQgPSBCTl9nZXRfd29y ZChibnJlbSk7Ci0gCQliNThbLS1wXSA9IHZnX2I1OF9hbHBoYWJldFtkXTsKLSAJfQotIAl3aGls ZSAoenBmeC0tKSB7Ci1AQCAtMTg3OCw3ICsxODc4LDcgQEAgdmdfcmVnZXhfdGVzdCh2Z19leGVj X2NvbnRleHRfdCAqdnhjcCkKLSAJCXJlcyA9IDE7Ci0gCX0KLSBvdXQ6Ci0tCUJOX2NsZWFyX2Zy ZWUoJmJucmVtKTsKLSsJQk5fY2xlYXJfZnJlZShibnJlbSk7Ci0gCXJldHVybiByZXM7Ci0gfQot IAotZGlmZiAtLWdpdCBhL3BhdHRlcm4uaCBiL3BhdHRlcm4uaAotaW5kZXggM2NlMmQxZi4uMGI2 MDRlYSAxMDA2NDQKLS0tLSBhL3BhdHRlcm4uaAotKysrIGIvcGF0dGVybi5oCi1AQCAtNTEsMTAg KzUxLDEwIEBAIHN0cnVjdCBfdmdfZXhlY19jb250ZXh0X3MgewotIAlFQ19LRVkJCQkJKnZ4Y19r ZXk7Ci0gCWludAkJCQl2eGNfZGVsdGE7Ci0gCXVuc2lnbmVkIGNoYXIJCQl2eGNfYmlucmVzWzI4 XTsKLS0JQklHTlVNCQkJCXZ4Y19ibnRhcmc7Ci0tCUJJR05VTQkJCQl2eGNfYm5iYXNlOwotLQlC SUdOVU0JCQkJdnhjX2JudG1wOwotLQlCSUdOVU0JCQkJdnhjX2JudG1wMjsKLSsJQklHTlVNCQkJ CSp2eGNfYm50YXJnOwotKwlCSUdOVU0JCQkJKnZ4Y19ibmJhc2U7Ci0rCUJJR05VTQkJCQkqdnhj X2JudG1wOwotKwlCSUdOVU0JCQkJKnZ4Y19ibnRtcDI7Ci0gCi0gCXZnX2V4ZWNfY29udGV4dF90 aHJlYWRmdW5jX3QJdnhjX3RocmVhZGZ1bmM7Ci0gCXB0aHJlYWRfdAkJCXZ4Y19wdGhyZWFkOwot ZGlmZiAtLWdpdCBhL3V0aWwuYyBiL3V0aWwuYwotaW5kZXggNGYzY2JiOC4uMzVjZDU5MiAxMDA2 NDQKLS0tLSBhL3V0aWwuYwotKysrIGIvdXRpbC5jCi1AQCAtMTEwLDE5ICsxMTAsMTkgQEAgdmdf YjU4X2VuY29kZV9jaGVjayh2b2lkICpidWYsIHNpemVfdCBsZW4sIGNoYXIgKnJlc3VsdCkKLSAK LSAJQk5fQ1RYICpibmN0eDsKLSAJQklHTlVNICpibiwgKmJuZGl2LCAqYm50bXA7Ci0tCUJJR05V TSBibmEsIGJuYiwgYm5iYXNlLCBibnJlbTsKLSsJQklHTlVNICpibmEsICpibmIsICpibmJhc2Us ICpibnJlbTsKLSAJdW5zaWduZWQgY2hhciAqYmlucmVzOwotIAlpbnQgYnJsZW4sIHpwZng7Ci0g Ci0gCWJuY3R4ID0gQk5fQ1RYX25ldygpOwotLQlCTl9pbml0KCZibmEpOwotLQlCTl9pbml0KCZi bmIpOwotLQlCTl9pbml0KCZibmJhc2UpOwotLQlCTl9pbml0KCZibnJlbSk7Ci0tCUJOX3NldF93 b3JkKCZibmJhc2UsIDU4KTsKLSsJYm5hID0gQk5fbmV3KCk7Ci0rCWJuYiA9IEJOX25ldygpOwot KwlibmJhc2UgPSBCTl9uZXcoKTsKLSsJYm5yZW0gPSBCTl9uZXcoKTsKLSsJQk5fc2V0X3dvcmQo Ym5iYXNlLCA1OCk7Ci0gCi0tCWJuID0gJmJuYTsKLS0JYm5kaXYgPSAmYm5iOwotKwlibiA9IGJu YTsKLSsJYm5kaXYgPSBibmI7Ci0gCi0gCWJybGVuID0gKDIgKiBsZW4pICsgNDsKLSAJYmlucmVz ID0gKHVuc2lnbmVkIGNoYXIqKSBtYWxsb2MoYnJsZW4pOwotQEAgLTE1NCwxMSArMTU0LDExIEBA IHZnX2I1OF9lbmNvZGVfY2hlY2sodm9pZCAqYnVmLCBzaXplX3QgbGVuLCBjaGFyICpyZXN1bHQp Ci0gCi0gCXAgPSBicmxlbjsKLSAJd2hpbGUgKCFCTl9pc196ZXJvKGJuKSkgewotLQkJQk5fZGl2 KGJuZGl2LCAmYm5yZW0sIGJuLCAmYm5iYXNlLCBibmN0eCk7Ci0rCQlCTl9kaXYoYm5kaXYsIGJu cmVtLCBibiwgYm5iYXNlLCBibmN0eCk7Ci0gCQlibnRtcCA9IGJuOwotIAkJYm4gPSBibmRpdjsK LSAJCWJuZGl2ID0gYm50bXA7Ci0tCQlkID0gQk5fZ2V0X3dvcmQoJmJucmVtKTsKLSsJCWQgPSBC Tl9nZXRfd29yZChibnJlbSk7Ci0gCQliaW5yZXNbLS1wXSA9IHZnX2I1OF9hbHBoYWJldFtkXTsK LSAJfQotIAotQEAgLTE3MCwxMCArMTcwLDEwIEBAIHZnX2I1OF9lbmNvZGVfY2hlY2sodm9pZCAq YnVmLCBzaXplX3QgbGVuLCBjaGFyICpyZXN1bHQpCi0gCXJlc3VsdFticmxlbiAtIHBdID0gJ1ww JzsKLSAKLSAJZnJlZShiaW5yZXMpOwotLQlCTl9jbGVhcl9mcmVlKCZibmEpOwotLQlCTl9jbGVh cl9mcmVlKCZibmIpOwotLQlCTl9jbGVhcl9mcmVlKCZibmJhc2UpOwotLQlCTl9jbGVhcl9mcmVl KCZibnJlbSk7Ci0rCUJOX2NsZWFyX2ZyZWUoYm5hKTsKLSsJQk5fY2xlYXJfZnJlZShibmIpOwot KwlCTl9jbGVhcl9mcmVlKGJuYmFzZSk7Ci0rCUJOX2NsZWFyX2ZyZWUoYm5yZW0pOwotIAlCTl9D VFhfZnJlZShibmN0eCk7Ci0gfQotIAotQEAgLTE4NSw3ICsxODUsNyBAQCB2Z19iNThfZGVjb2Rl X2NoZWNrKGNvbnN0IGNoYXIgKmlucHV0LCB2b2lkICpidWYsIHNpemVfdCBsZW4pCi0gewotIAlp bnQgaSwgbCwgYzsKLSAJdW5zaWduZWQgY2hhciAqeGJ1ZiA9IE5VTEw7Ci0tCUJJR05VTSBibiwg Ym53LCBibmJhc2U7Ci0rCUJJR05VTSAqYm4sICpibncsICpibmJhc2U7Ci0gCUJOX0NUWCAqYm5j dHg7Ci0gCXVuc2lnbmVkIGNoYXIgaGFzaDFbMzJdLCBoYXNoMlszMl07Ci0gCXVuc2lnbmVkIGNo YXIgZ3JvZXN0bGhhc2gxWzY0XTsKLUBAIC0xOTMsMTAgKzE5MywxMCBAQCB2Z19iNThfZGVjb2Rl X2NoZWNrKGNvbnN0IGNoYXIgKmlucHV0LCB2b2lkICpidWYsIHNpemVfdCBsZW4pCi0gCWludCB6 cGZ4OwotIAlpbnQgcmVzID0gMDsKLSAKLS0JQk5faW5pdCgmYm4pOwotLQlCTl9pbml0KCZibncp OwotLQlCTl9pbml0KCZibmJhc2UpOwotLQlCTl9zZXRfd29yZCgmYm5iYXNlLCA1OCk7Ci0rCWJu ID0gQk5fbmV3KCk7Ci0rCWJudyA9IEJOX25ldygpOwotKwlibmJhc2UgPSBCTl9uZXcoKTsKLSsJ Qk5fc2V0X3dvcmQoYm5iYXNlLCA1OCk7Ci0gCWJuY3R4ID0gQk5fQ1RYX25ldygpOwotIAotIAkv KiBCdWlsZCBhIGJpZ251bSBmcm9tIHRoZSBlbmNvZGVkIHZhbHVlICovCi1AQCAtMjA3LDEwICsy MDcsMTAgQEAgdmdfYjU4X2RlY29kZV9jaGVjayhjb25zdCBjaGFyICppbnB1dCwgdm9pZCAqYnVm LCBzaXplX3QgbGVuKQotIAkJYyA9IHZnX2I1OF9yZXZlcnNlX21hcFsoaW50KWlucHV0W2ldXTsK LSAJCWlmIChjIDwgMCkKLSAJCQlnb3RvIG91dDsKLS0JCUJOX2NsZWFyKCZibncpOwotLQkJQk5f c2V0X3dvcmQoJmJudywgYyk7Ci0tCQlCTl9tdWwoJmJuLCAmYm4sICZibmJhc2UsIGJuY3R4KTsK LS0JCUJOX2FkZCgmYm4sICZibiwgJmJudyk7Ci0rCQlCTl9jbGVhcihibncpOwotKwkJQk5fc2V0 X3dvcmQoYm53LCBjKTsKLSsJCUJOX211bChibiwgYm4sIGJuYmFzZSwgYm5jdHgpOwotKwkJQk5f YWRkKGJuLCBibiwgYm53KTsKLSAJfQotIAotIAkvKiBDb3B5IHRoZSBiaWdudW0gdG8gYSBieXRl IGJ1ZmZlciAqLwotQEAgLTIyMSw3ICsyMjEsNyBAQCB2Z19iNThfZGVjb2RlX2NoZWNrKGNvbnN0 IGNoYXIgKmlucHV0LCB2b2lkICpidWYsIHNpemVfdCBsZW4pCi0gCQkJYnJlYWs7Ci0gCQl6cGZ4 Kys7Ci0gCX0KLS0JYyA9IEJOX251bV9ieXRlcygmYm4pOwotKwljID0gQk5fbnVtX2J5dGVzKGJu KTsKLSAJbCA9IHpwZnggKyBjOwotIAlpZiAobCA8IDUpCi0gCQlnb3RvIG91dDsKLUBAIC0yMzEs NyArMjMxLDcgQEAgdmdfYjU4X2RlY29kZV9jaGVjayhjb25zdCBjaGFyICppbnB1dCwgdm9pZCAq YnVmLCBzaXplX3QgbGVuKQotIAlpZiAoenBmeCkKLSAJCW1lbXNldCh4YnVmLCAwLCB6cGZ4KTsK LSAJaWYgKGMpCi0tCQlCTl9ibjJiaW4oJmJuLCB4YnVmICsgenBmeCk7Ci0rCQlCTl9ibjJiaW4o Ym4sIHhidWYgKyB6cGZ4KTsKLSAKLSAJLyogQ2hlY2sgdGhlIGhhc2ggY29kZSAqLwotIAlsIC09 IDQ7Ci1AQCAtMjcwLDkgKzI3MCw5IEBAIHZnX2I1OF9kZWNvZGVfY2hlY2soY29uc3QgY2hhciAq aW5wdXQsIHZvaWQgKmJ1Ziwgc2l6ZV90IGxlbikKLSBvdXQ6Ci0gCWlmICh4YnVmKQotIAkJZnJl ZSh4YnVmKTsKLS0JQk5fY2xlYXJfZnJlZSgmYm4pOwotLQlCTl9jbGVhcl9mcmVlKCZibncpOwot LQlCTl9jbGVhcl9mcmVlKCZibmJhc2UpOwotKwlCTl9jbGVhcl9mcmVlKGJuKTsKLSsJQk5fY2xl YXJfZnJlZShibncpOwotKwlCTl9jbGVhcl9mcmVlKGJuYmFzZSk7Ci0gCUJOX0NUWF9mcmVlKGJu Y3R4KTsKLSAJcmV0dXJuIHJlczsKLSB9Ci1AQCAtNDIwLDcgKzQyMCw3IEBAIHZnX3NldF9wcml2 a2V5KGNvbnN0IEJJR05VTSAqYm5wcml2LCBFQ19LRVkgKnBrZXkpCi0gaW50Ci0gdmdfZGVjb2Rl X3ByaXZrZXkoY29uc3QgY2hhciAqYjU4ZW5jb2RlZCwgRUNfS0VZICpwa2V5LCBpbnQgKmFkZHJ0 eXBlKQotIHsKLS0JQklHTlVNIGJucHJpdjsKLSsJQklHTlVNICpibnByaXY7Ci0gCXVuc2lnbmVk IGNoYXIgZWNwcml2WzQ4XTsKLSAJaW50IHJlcywgcmV0OwotIAotQEAgLTQzMCwxMCArNDMwLDEw IEBAIHZnX2RlY29kZV9wcml2a2V5KGNvbnN0IGNoYXIgKmI1OGVuY29kZWQsIEVDX0tFWSAqcGtl eSwgaW50ICphZGRydHlwZSkKLSAKLSAJcmV0ID0gcmVzIC0gMzI7Ci0gCi0tCUJOX2luaXQoJmJu cHJpdik7Ci0tCUJOX2JpbjJibihlY3ByaXYgKyAxLCAzMiwgJmJucHJpdik7Ci0tCXJlcyA9IHZn X3NldF9wcml2a2V5KCZibnByaXYsIHBrZXkpOwotLQlCTl9jbGVhcl9mcmVlKCZibnByaXYpOwot KwlibnByaXYgPSBCTl9uZXcoKTsKLSsJQk5fYmluMmJuKGVjcHJpdiArIDEsIDMyLCBibnByaXYp OwotKwlyZXMgPSB2Z19zZXRfcHJpdmtleShibnByaXYsIHBrZXkpOwotKwlCTl9jbGVhcl9mcmVl KGJucHJpdik7Ci0gCSphZGRydHlwZSA9IGVjcHJpdlswXTsKLSAJcmV0dXJuIHJldDsKLSB9Ci1A QCAtNjMyLDE1ICs2MzIsMTUgQEAgdmdfcHJvdGVjdF9jcnlwdChpbnQgcGFyYW1ldGVyX2dyb3Vw LAotIAkJc2FsdF9sZW4gPSA0OwotIAkJaG1hY19sZW4gPSA4OwotIAkJaG1hY19rZXlsZW4gPSAx NjsKLS0JCWNpcGhlcnRleHRfbGVuID0gKChwbGFpbnRleHRfbGVuICsgY2lwaGVyLT5ibG9ja19z aXplIC0gMSkgLwotLQkJCQkgIGNpcGhlci0+YmxvY2tfc2l6ZSkgKiBjaXBoZXItPmJsb2NrX3Np emU7Ci0rCQljaXBoZXJ0ZXh0X2xlbiA9ICgocGxhaW50ZXh0X2xlbiArIEVWUF9DSVBIRVJfYmxv Y2tfc2l6ZShjaXBoZXIpIC0gMSkgLwotKwkJCQkgIEVWUF9DSVBIRVJfYmxvY2tfc2l6ZShjaXBo ZXIpKSAqIEVWUF9DSVBIRVJfYmxvY2tfc2l6ZShjaXBoZXIpOwotIAkJcGtjczdfcGFkZGluZyA9 IDA7Ci0gCQlobWFjX2RpZ2VzdCA9IEVWUF9zaGEyNTYoKTsKLSAJfSBlbHNlIHsKLSAJCS8qIFBL Q1MtY29tcGxpYW50IGVuY29kaW5nICovCi0gCQlzYWx0X2xlbiA9IDg7Ci0tCQljaXBoZXJ0ZXh0 X2xlbiA9ICgocGxhaW50ZXh0X2xlbiArIGNpcGhlci0+YmxvY2tfc2l6ZSkgLwotLQkJCQkgIGNp cGhlci0+YmxvY2tfc2l6ZSkgKiBjaXBoZXItPmJsb2NrX3NpemU7Ci0rCQljaXBoZXJ0ZXh0X2xl biA9ICgocGxhaW50ZXh0X2xlbiArIEVWUF9DSVBIRVJfYmxvY2tfc2l6ZShjaXBoZXIpKSAvCi0r CQkJCSAgRVZQX0NJUEhFUl9ibG9ja19zaXplKGNpcGhlcikpICogRVZQX0NJUEhFUl9ibG9ja19z aXplKGNpcGhlcik7Ci0gCQlobWFjX2RpZ2VzdCA9IE5VTEw7Ci0gCX0KLSAKLUBAIC02NjYsMTIg KzY2NiwxMiBAQCB2Z19wcm90ZWN0X2NyeXB0KGludCBwYXJhbWV0ZXJfZ3JvdXAsCi0gCQkJICBz YWx0LCBzYWx0X2xlbiwKLSAJCQkgIHBhcmFtcy0+aXRlcmF0aW9ucywKLSAJCQkgIHBia2RmX2Rp Z2VzdCwKLS0JCQkgIGNpcGhlci0+a2V5X2xlbiArIGNpcGhlci0+aXZfbGVuICsgaG1hY19rZXls ZW4sCi0rCQkJICBFVlBfQ0lQSEVSX2tleV9sZW5ndGgoY2lwaGVyKSArIEVWUF9DSVBIRVJfaXZf bGVuZ3RoKGNpcGhlcikgKyBobWFjX2tleWxlbiwKLSAJCQkgIGtleW1hdGVyaWFsKTsKLSAKLSAJ aWYgKCFFVlBfQ2lwaGVySW5pdChjdHgsIGNpcGhlciwKLSAJCQkgICAga2V5bWF0ZXJpYWwsCi0t CQkJICAgIGtleW1hdGVyaWFsICsgY2lwaGVyLT5rZXlfbGVuLAotKwkJCSAgICBrZXltYXRlcmlh bCArIEVWUF9DSVBIRVJfa2V5X2xlbmd0aChjaXBoZXIpLAotIAkJCSAgICBlbmMpKSB7Ci0gCQlm cHJpbnRmKHN0ZGVyciwgIkVSUk9SOiBjb3VsZCBub3QgY29uZmlndXJlIGNpcGhlclxuIik7Ci0g CQlnb3RvIG91dDsKLUBAIC03MDcsNyArNzA3LDcgQEAgdmdfcHJvdGVjdF9jcnlwdChpbnQgcGFy YW1ldGVyX2dyb3VwLAotIAlpZiAoaG1hY19sZW4pIHsKLSAJCWhsZW4gPSBzaXplb2YoaG1hYyk7 Ci0gCQlITUFDKGhtYWNfZGlnZXN0LAotLQkJICAgICBrZXltYXRlcmlhbCArIGNpcGhlci0+a2V5 X2xlbiArIGNpcGhlci0+aXZfbGVuLAotKwkJICAgICBrZXltYXRlcmlhbCArIEVWUF9DSVBIRVJf a2V5X2xlbmd0aChjaXBoZXIpICsgRVZQX0NJUEhFUl9pdl9sZW5ndGgoY2lwaGVyKSwKLSAJCSAg ICAgaG1hY19rZXlsZW4sCi0gCQkgICAgIGVuYyA/IGRhdGFfaW4gOiBkYXRhX291dCwgcGxhaW50 ZXh0X2xlbiwKLSAJCSAgICAgaG1hYywgJmhsZW4pOwotQEAgLTc4Niw3ICs3ODYsNyBAQCB2Z19w cm90ZWN0X2RlY29kZV9wcml2a2V5KEVDX0tFWSAqcGtleSwgaW50ICprZXl0eXBlLAotIHsKLSAJ dW5zaWduZWQgY2hhciBlY3ByaXZbNjRdOwotIAl1bnNpZ25lZCBjaGFyIGVjZW5jWzEyOF07Ci0t CUJJR05VTSBibjsKLSsJQklHTlVNICpibjsKLSAJaW50IHJlc3R5cGU7Ci0gCWludCByZXM7Ci0g Ci1AQCAtODEwLDEwICs4MTAsMTAgQEAgdmdfcHJvdGVjdF9kZWNvZGVfcHJpdmtleShFQ19LRVkg KnBrZXksIGludCAqa2V5dHlwZSwKLSAKLSAJcmVzID0gMTsKLSAJaWYgKHBrZXkpIHsKLS0JCUJO X2luaXQoJmJuKTsKLS0JCUJOX2JpbjJibihlY3ByaXYsIDMyLCAmYm4pOwotLQkJcmVzID0gdmdf c2V0X3ByaXZrZXkoJmJuLCBwa2V5KTsKLS0JCUJOX2NsZWFyX2ZyZWUoJmJuKTsKLSsJCWJuID0g Qk5fbmV3KCk7Ci0rCQlCTl9iaW4yYm4oZWNwcml2LCAzMiwgYm4pOwotKwkJcmVzID0gdmdfc2V0 X3ByaXZrZXkoYm4sIHBrZXkpOwotKwkJQk5fY2xlYXJfZnJlZShibik7Ci0gCQlPUEVOU1NMX2Ns ZWFuc2UoZWNwcml2LCBzaXplb2YoZWNwcml2KSk7Ci0gCX0KLSAKLWRpZmYgLS1naXQgYS92YW5p dHlnZW4uYyBiL3Zhbml0eWdlbi5jCi1pbmRleCBmYjc5MjVhLi45OTJlNWQ3IDEwMDY0NAotLS0t IGEvdmFuaXR5Z2VuLmMKLSsrKyBiL3Zhbml0eWdlbi5jCi1AQCAtOTQsOCArOTQsOCBAQCB2Z190 aHJlYWRfbG9vcCh2b2lkICphcmcpCi0gCQlleGl0KDEpOwotIAl9Ci0gCi0tCUJOX3NldF93b3Jk KCZ2eGNwLT52eGNfYm50bXAsIHB0YXJyYXlzaXplKTsKLS0JRUNfUE9JTlRfbXVsKHBncm91cCwg cGJhdGNoaW5jLCAmdnhjcC0+dnhjX2JudG1wLCBOVUxMLCBOVUxMLAotKwlCTl9zZXRfd29yZCh2 eGNwLT52eGNfYm50bXAsIHB0YXJyYXlzaXplKTsKLSsJRUNfUE9JTlRfbXVsKHBncm91cCwgcGJh dGNoaW5jLCB2eGNwLT52eGNfYm50bXAsIE5VTEwsIE5VTEwsCi0gCQkgICAgIHZ4Y3AtPnZ4Y19i bmN0eCk7Ci0gCUVDX1BPSU5UX21ha2VfYWZmaW5lKHBncm91cCwgcGJhdGNoaW5jLCB2eGNwLT52 eGNfYm5jdHgpOwotIAotQEAgLTEzOSwxMyArMTM5LDEzIEBAIHZnX3RocmVhZF9sb29wKHZvaWQg KmFyZykKLSAJCQlucG9pbnRzID0gMDsKLSAKLSAJCQkvKiBEZXRlcm1pbmUgcmVrZXkgaW50ZXJ2 YWwgKi8KLS0JCQlFQ19HUk9VUF9nZXRfb3JkZXIocGdyb3VwLCAmdnhjcC0+dnhjX2JudG1wLAot KwkJCUVDX0dST1VQX2dldF9vcmRlcihwZ3JvdXAsIHZ4Y3AtPnZ4Y19ibnRtcCwKLSAJCQkJCSAg IHZ4Y3AtPnZ4Y19ibmN0eCk7Ci0tCQkJQk5fc3ViKCZ2eGNwLT52eGNfYm50bXAyLAotLQkJCSAg ICAgICAmdnhjcC0+dnhjX2JudG1wLAotKwkJCUJOX3N1Yih2eGNwLT52eGNfYm50bXAyLAotKwkJ CSAgICAgICB2eGNwLT52eGNfYm50bXAsCi0gCQkJICAgICAgIEVDX0tFWV9nZXQwX3ByaXZhdGVf a2V5KHBrZXkpKTsKLS0JCQlyZWtleV9hdCA9IEJOX2dldF93b3JkKCZ2eGNwLT52eGNfYm50bXAy KTsKLS0JCQlpZiAoKHJla2V5X2F0ID09IEJOX01BU0syKSB8fCAocmVrZXlfYXQgPiByZWtleV9t YXgpKQotKwkJCXJla2V5X2F0ID0gQk5fZ2V0X3dvcmQodnhjcC0+dnhjX2JudG1wMik7Ci0rCQkJ aWYgKChyZWtleV9hdCA9PSAweGZmZmZmZmZmTCkgfHwgKHJla2V5X2F0ID4gcmVrZXlfbWF4KSkK LSAJCQkJcmVrZXlfYXQgPSByZWtleV9tYXg7Ci0gCQkJYXNzZXJ0KHJla2V5X2F0ID4gMCk7Ci0g CmRpZmYgLS1naXQgYS9zcmNwa2dzL3Zhbml0eWdlbi9wYXRjaGVzLzVmMTYzZTZmZmY3ZGE1MmM0 YWVjYmQ4OThkOWRmMmU2MGE1NmYxMzQucGF0Y2ggYi9zcmNwa2dzL3Zhbml0eWdlbi9wYXRjaGVz LzVmMTYzZTZmZmY3ZGE1MmM0YWVjYmQ4OThkOWRmMmU2MGE1NmYxMzQucGF0Y2gKZGVsZXRlZCBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVlZTMwYWUwOGNkZi4uMDAwMDAwMDAwMDAwCi0tLSBhL3Ny Y3BrZ3MvdmFuaXR5Z2VuL3BhdGNoZXMvNWYxNjNlNmZmZjdkYTUyYzRhZWNiZDg5OGQ5ZGYyZTYw YTU2ZjEzNC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDk4ICswLDAgQEAKLUZyb20gNWYxNjNl NmZmZjdkYTUyYzRhZWNiZDg5OGQ5ZGYyZTYwYTU2ZjEzNCBNb24gU2VwIDE3IDAwOjAwOjAwIDIw MDEKLUZyb206IERlc1d1cnN0ZXMgPERlc1d1cnN0ZXNAdXNlcnMubm9yZXBseS5naXRodWIuY29t PgotRGF0ZTogU3VuLCAzIEp1biAyMDE4IDE3OjQ2OjE2ICswMzAwCi1TdWJqZWN0OiBbUEFUQ0hd IFByaXZrZXkgcHJlZml4IE9wZW5TU0wgMS4xIGNvbXBhdGliaWxpdHkgKCMxMTYpCi0KLUZpeGVz ICMxMTQKLS0tLQotIG9jbGVuZ2luZS5jIHwgMTggKysrKysrKysrKysrKy0tLS0tCi0gdmFuaXR5 Z2VuLmMgfCAxMiArKysrKysrKysrLS0KLSAyIGZpbGVzIGNoYW5nZWQsIDIzIGluc2VydGlvbnMo KyksIDcgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9vY2xlbmdpbmUuYyBiL29jbGVuZ2lu ZS5jCi1pbmRleCA2NTg1ZmM2Li5jNjliZDRiIDEwMDY0NAotLS0tIGEvb2NsZW5naW5lLmMKLSsr KyBiL29jbGVuZ2luZS5jCi1AQCAtNSw3ICs1LDcgQEAKLSAgKiBWYW5pdHlnZW4gaXMgZnJlZSBz b2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQotICAqIGl0IHVu ZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFz IHB1Ymxpc2hlZCBieQotICAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2 ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCi0tICogYW55IGxhdGVyIHZlcnNpb24uIAotKyAq IGFueSBsYXRlciB2ZXJzaW9uLgotICAqCi0gICogVmFuaXR5Z2VuIGlzIGRpc3RyaWJ1dGVkIGlu IHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gICogYnV0IFdJVEhPVVQgQU5ZIFdB UlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLUBAIC0xMDU4LDcg KzEwNTgsNyBAQCB2Z19vY2xfa2VybmVsX2FyZ19hbGxvYyh2Z19vY2xfY29udGV4dF90ICp2b2Nw LCBpbnQgc2xvdCwKLSAJCQkJCSAgICAga2FyZywKLSAJCQkJCSAgICAgc2l6ZW9mKGNsYnVmKSwK LSAJCQkJCSAgICAgJmNsYnVmKTsKLS0JCQkKLSsKLSAJCQlpZiAocmV0KSB7Ci0gCQkJCWZwcmlu dGYoc3RkZXJyLAotIAkJCQkJImNsU2V0S2VybmVsQXJnKCVkLCVkKTogIiwga251bSwga2FyZyk7 Ci1AQCAtMTA5MCw3ICsxMDkwLDcgQEAgdmdfb2NsX2NvcHlvdXRfYXJnKHZnX29jbF9jb250ZXh0 X3QgKnZvY3AsIGludCB3c2xvdCwgaW50IGFyZywKLSAJCQkJICAgYnVmZmVyLAotIAkJCQkgICAw LCBOVUxMLAotIAkJCQkgICBOVUxMKTsKLS0JCQkKLSsKLSAJaWYgKHJldCkgewotIAkJZnByaW50 ZihzdGRlcnIsICJjbEVucXVldWVXcml0ZUJ1ZmZlciglZCk6ICIsIGFyZyk7Ci0gCQl2Z19vY2xf ZXJyb3Iodm9jcCwgcmV0LCBOVUxMKTsKLUBAIC0yMDc5LDcgKzIwNzksMTUgQEAgdmdfb3BlbmNs X2xvb3AodmdfZXhlY19jb250ZXh0X3QgKmFyZykKLSAJbnBvaW50cyA9IDA7Ci0gCWlmICh2Y3At PnZjX3ByaXZrZXlfcHJlZml4X2xlbmd0aCA+IDApIHsKLSAJCUJJR05VTSAqcGtibiA9IEJOX2R1 cChFQ19LRVlfZ2V0MF9wcml2YXRlX2tleShwa2V5KSk7Ci0tCQltZW1jcHkoKGNoYXIgKilwa2Ju LT5kICsgMzIgLSB2Y3AtPnZjX3ByaXZrZXlfcHJlZml4X2xlbmd0aCwgdmNwLT52Y19wcml2a2V5 X3ByZWZpeCwgdmNwLT52Y19wcml2a2V5X3ByZWZpeF9sZW5ndGgpOwotKwkJdW5zaWduZWQgY2hh ciBwa2V5X2FyclszMl07Ci0rCQlhc3NlcnQoQk5fYm4yYmluKHBrYm4sIHBrZXlfYXJyKSA8IDMz KTsKLSsJCW1lbWNweSgoY2hhciAqKSBwa2V5X2FyciwgdmNwLT52Y19wcml2a2V5X3ByZWZpeCwg dmNwLT52Y19wcml2a2V5X3ByZWZpeF9sZW5ndGgpOwotKwkJZm9yIChpbnQgaSA9IDA7IGkgPCB2 Y3AtPnZjX3ByaXZrZXlfcHJlZml4X2xlbmd0aCAvIDI7IGkrKykgewotKwkJCWludCBrID0gcGtl eV9hcnJbaV07Ci0rCQkJcGtleV9hcnJbaV0gPSBwa2V5X2Fyclt2Y3AtPnZjX3ByaXZrZXlfcHJl Zml4X2xlbmd0aCAtIDEgLSBpXTsKLSsJCQlwa2V5X2Fyclt2Y3AtPnZjX3ByaXZrZXlfcHJlZml4 X2xlbmd0aCAtIDEgLSBpXSA9IGs7Ci0rCQl9Ci0rCQlCTl9iaW4yYm4ocGtleV9hcnIsIDMyLCBw a2JuKTsKLSAJCUVDX0tFWV9zZXRfcHJpdmF0ZV9rZXkocGtleSwgcGtibik7Ci0gCi0gCQlFQ19Q T0lOVCAqb3JpZ2luID0gRUNfUE9JTlRfbmV3KHBncm91cCk7Ci1AQCAtMjI0MCw3ICsyMjQ4LDcg QEAgdmdfb3BlbmNsX2xvb3AodmdfZXhlY19jb250ZXh0X3QgKmFyZykKLSAJCQlzbG90X2J1c3kg PSAxOwotIAkJCXNsb3QgPSAoc2xvdCArIDEpICUgbnNsb3RzOwotIAotLQkJfSBlbHNlIHsgCi0r CQl9IGVsc2UgewotIAkJCWlmIChzbG90X2J1c3kpIHsKLSAJCQkJcHRocmVhZF9tdXRleF9sb2Nr KCZ2b2NwLT52b2NfbG9jayk7Ci0gCQkJCXdoaWxlICh2b2NwLT52b2Nfb2NsX3Nsb3QgIT0gLTEp IHsKLWRpZmYgLS1naXQgYS92YW5pdHlnZW4uYyBiL3Zhbml0eWdlbi5jCi1pbmRleCA5OTJlNWQ3 Li41ZTQ5ZGY3IDEwMDY0NAotLS0tIGEvdmFuaXR5Z2VuLmMKLSsrKyBiL3Zhbml0eWdlbi5jCi1A QCAtMTI5LDcgKzEyOSwxNSBAQCB2Z190aHJlYWRfbG9vcCh2b2lkICphcmcpCi0gCQkJRUNfS0VZ X2dlbmVyYXRlX2tleShwa2V5KTsKLSAJCQlpZiAodmNwLT52Y19wcml2a2V5X3ByZWZpeF9sZW5n dGggPiAwKSB7Ci0gCQkJCUJJR05VTSAqcGtibiA9IEJOX2R1cChFQ19LRVlfZ2V0MF9wcml2YXRl X2tleShwa2V5KSk7Ci0tCQkJCW1lbWNweSgoY2hhciAqKXBrYm4tPmQgKyAzMiAtIHZjcC0+dmNf cHJpdmtleV9wcmVmaXhfbGVuZ3RoLCB2Y3AtPnZjX3ByaXZrZXlfcHJlZml4LCB2Y3AtPnZjX3By aXZrZXlfcHJlZml4X2xlbmd0aCk7Ci0rICAgICAgICB1bnNpZ25lZCBjaGFyIHBrZXlfYXJyWzMy XTsKLSsgICAgICAgIGFzc2VydChCTl9ibjJiaW4ocGtibiwgcGtleV9hcnIpIDwgMzMpOwotKyAg ICAgICAgbWVtY3B5KChjaGFyICopIHBrZXlfYXJyLCB2Y3AtPnZjX3ByaXZrZXlfcHJlZml4LCB2 Y3AtPnZjX3ByaXZrZXlfcHJlZml4X2xlbmd0aCk7Ci0rCQkJCWZvciAoaW50IGkgPSAwOyBpIDwg dmNwLT52Y19wcml2a2V5X3ByZWZpeF9sZW5ndGggLyAyOyBpKyspIHsKLSsJCQkJCWludCBrID0g cGtleV9hcnJbaV07Ci0rCQkJCQlwa2V5X2FycltpXSA9IHBrZXlfYXJyW3ZjcC0+dmNfcHJpdmtl eV9wcmVmaXhfbGVuZ3RoIC0gMSAtIGldOwotKwkJCQkJcGtleV9hcnJbdmNwLT52Y19wcml2a2V5 X3ByZWZpeF9sZW5ndGggLSAxIC0gaV0gPSBrOwotKwkJCQl9Ci0rICAgICAgICBCTl9iaW4yYm4o cGtleV9hcnIsIDMyLCBwa2JuKTsKLSAJCQkJRUNfS0VZX3NldF9wcml2YXRlX2tleShwa2V5LCBw a2JuKTsKLSAKLSAJCQkJRUNfUE9JTlQgKm9yaWdpbiA9IEVDX1BPSU5UX25ldyhwZ3JvdXApOwot QEAgLTEzOTUsNyArMTQwMyw3IEBAIG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQotIAkJCQkJ YWRkcnR5cGUgPSA2MDsKLSAJCQkJCXByaXZ0eXBlID0gMTI4OwotIAkJCQkJYnJlYWs7Ci0tCQkJ fQkJCQotKwkJCX0KLSAJCQlicmVhazsKLSAKLSAvKkVORCBBTFRDT0lOIEdFTkVSQVRPUiovCmRp ZmYgLS1naXQgYS9zcmNwa2dzL3Zhbml0eWdlbi90ZW1wbGF0ZSBiL3NyY3BrZ3MvdmFuaXR5Z2Vu L3RlbXBsYXRlCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2MjRhYzg1OWQ1ZDIuLjAw MDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL3Zhbml0eWdlbi90ZW1wbGF0ZQorKysgL2Rldi9udWxs CkBAIC0xLDIxICswLDAgQEAKLSMgVGVtcGxhdGUgZmlsZSBmb3IgJ3Zhbml0eWdlbicKLXBrZ25h bWU9dmFuaXR5Z2VuCi12ZXJzaW9uPTEuNTMKLXJldmlzaW9uPTIKLW1ha2VkZXBlbmRzPSJwY3Jl LWRldmVsIG9wZW5zc2wtZGV2ZWwiCi1zaG9ydF9kZXNjPSJCaXRjb2luIHZhbml0eSBhZGRyZXNz IGdlbmVyYXRvciIKLW1haW50YWluZXI9Ik9ycGhhbmVkIDxvcnBoYW5Adm9pZGxpbnV4Lm9yZz4i Ci1saWNlbnNlPSJBR1BMLTMuMC1vci1sYXRlciIKLWhvbWVwYWdlPSJodHRwczovL2dpdGh1Yi5j b20vZXhwbG9pdGFnZW5jeS92YW5pdHlnZW4tcGx1cyIKLWNoYW5nZWxvZz0iaHR0cHM6Ly9yYXcu Z2l0aHVidXNlcmNvbnRlbnQuY29tL2V4cGxvaXRhZ2VuY3kvdmFuaXR5Z2VuLXBsdXMvbWFzdGVy L0NIQU5HRUxPRyIKLWRpc3RmaWxlcz0iaHR0cHM6Ly9naXRodWIuY29tL2V4cGxvaXRhZ2VuY3kv dmFuaXR5Z2VuLXBsdXMvYXJjaGl2ZS9QTFVTJHt2ZXJzaW9ufS50YXIuZ3oiCi1jaGVja3N1bT05 NzZhOWFmZTJhNDQ3MDU1MWE4YjZiMGRhOTcxMDFhM2EyZTZjNTRjNWEyNmRjODcwYWU3NTViYjJk OGM3MDQxCi0KLWRvX2J1aWxkKCkgewotCW1ha2UgQ0M9JENDIENGTEFHUz0iJENGTEFHUyAkTERG TEFHUyIgJHttYWtlam9ic30KLX0KLWRvX2luc3RhbGwoKSB7Ci0JdmJpbiB2YW5pdHlnZW4KLQl2 YmluIGtleWNvbnYKLQl2bGljZW5zZSBMSUNFTlNFCi19CgpGcm9tIDBlZDY0OGRkMTYxNzFhNDlk NWE3ODQ5NTYyOGExOTA3ZWUxOWU3ZTUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IGRr d28gPG5pY29sb3BpYXp6YWx1bmdhQGdtYWlsLmNvbT4KRGF0ZTogVGh1LCAyNiBKYW4gMjAyMyAx Mzo1MToyMiAtMDUwMApTdWJqZWN0OiBbUEFUQ0ggNy84XSBwanByb2plY3Q6IHVwZGF0ZSB0byAy LjEzCgotLS0KIHNyY3BrZ3MvcGpwcm9qZWN0L3RlbXBsYXRlIHwgMTQgKysrKysrKy0tLS0tLS0K IDEgZmlsZSBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKyksIDcgZGVsZXRpb25zKC0pCgpkaWZmIC0t Z2l0IGEvc3JjcGtncy9wanByb2plY3QvdGVtcGxhdGUgYi9zcmNwa2dzL3BqcHJvamVjdC90ZW1w bGF0ZQppbmRleCBjOTRlYWQ5MGU5ZGUuLjg5NDc0ZTU3ZTc4MiAxMDA2NDQKLS0tIGEvc3JjcGtn cy9wanByb2plY3QvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9wanByb2plY3QvdGVtcGxhdGUKQEAg LTIsOSArMiw4IEBACiAjIG5vLXRoaXJkLXBhcnR5LnBhdGNoIGNvbWVzIGZyb20gQWxwaW5lLAog IyBhbmQgdGhpcyB0ZW1wbGF0ZSBpcyBoZWF2aWx5IGJhc2VkIG9uIEFscGluZSdzIEFQS0JVSUxE LgogcGtnbmFtZT1wanByb2plY3QKLXZlcnNpb249Mi44Ci1yZXZpc2lvbj01Ci1kaXNhYmxlX3Bh cmFsbGVsX2J1aWxkPXllcwordmVyc2lvbj0yLjEzCityZXZpc2lvbj0xCiBidWlsZF9zdHlsZT1n bnUtY29uZmlndXJlCiBjb25maWd1cmVfYXJncz0iLS1lbmFibGUtc2hhcmVkIFwKIAktLWVuYWJs ZS1saWJzYW1wbGVyYXRlIFwKQEAgLTE3LDEzICsxNiwxNCBAQCBjb25maWd1cmVfYXJncz0iLS1l bmFibGUtc2hhcmVkIFwKICMgd2VicnRjLWF1ZGlvLXByb2Nlc3NpbmcsIGJ1dCBpdCBkb2Vzbid0 IGhhdmUgd2hhdCBJIG5lZWQuICBVc2luZyB0aGUKICMgYnVuZGxlZCB2ZXJzaW9ucyB3b3VsZCBh bHNvIHBvbGx1dGUgYnVpbGQgd2l0aCBsaWJ5dXYgYW5kIGxpYndlYnJ0YyAoeXVjaykuCiBtYWtl ZGVwZW5kcz0ib3BlbnNzbC1kZXZlbCBhbHNhLWxpYi1kZXZlbCBsaWJnc20tZGV2ZWwgc3BlZXgt ZGV2ZWwgc3BlZXhkc3AtZGV2ZWwKLQlsaWJzcnRwLWRldmVsIGxpYnNhbXBsZXJhdGUtZGV2ZWwi CisgbGlic3J0cC1kZXZlbCBsaWJzYW1wbGVyYXRlLWRldmVsIgogc2hvcnRfZGVzYz0iT3BlbiBz b3VyY2UgU0lQIGFuZCBtZWRpYSBzdGFjayIKIG1haW50YWluZXI9IkNocmlzdG9waGVyIEJyYW5u b24gPGNocmlzQHRoZS1icmFubm9ucy5jb20+IgogbGljZW5zZT0iR1BMLTIuMC1vci1sYXRlciIK LWhvbWVwYWdlPSJodHRwOi8vd3d3LnBqc2lwLm9yZy9wanN1YS5odG0iCi1kaXN0ZmlsZXM9Imh0 dHA6Ly93d3cucGpzaXAub3JnL3JlbGVhc2UvJHt2ZXJzaW9ufS8ke3BrZ25hbWV9LSR7dmVyc2lv bn0udGFyLmJ6MiIKLWNoZWNrc3VtPTUwM2QwYmQ3ZjlmMTNkYzE0OTJhYzliNzFiNzYxYjEwODk4 NTFmYmI2MDhiOWExMzk5NmVkYzNjNDIwMDZmNzkKK2hvbWVwYWdlPSJodHRwczovL3d3dy5wanNp cC5vcmcvIgorZGlzdGZpbGVzPSJodHRwczovL2dpdGh1Yi5jb20vcGpzaXAvcGpwcm9qZWN0L2Fy Y2hpdmUvcmVmcy90YWdzLyR7dmVyc2lvbn0udGFyLmd6IgorY2hlY2tzdW09NDE3OGJiOWY1ODYy OTkxMTE0NjNmYzE2ZWEwNGU0NjFhZGNhNGE3M2U2NDZmOGRkZWY2MWVhNTNkYWZhOTJkOQorZGlz YWJsZV9wYXJhbGxlbF9idWlsZD15ZXMKIAogcHJlX2NvbmZpZ3VyZSgpIHsKIAlleHBvcnQgTEQ9 IiR7Q0N9IgoKRnJvbSA0YmY2ODQ2NjczMjZiMGRkZWE3MjJlOGRlYzBjZGQyMTFmZTFjODczIE1v biBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBka3dvIDxuaWNvbG9waWF6emFsdW5nYUBnbWFp bC5jb20+CkRhdGU6IFRodSwgMjYgSmFuIDIwMjMgMTM6NTQ6MzUgLTA1MDAKU3ViamVjdDogW1BB VENIIDgvOF0gc3R1bm5lbDogdXBkYXRlIHRvIDUuNjcKCi0tLQogc3JjcGtncy9zdHVubmVsL3Rl bXBsYXRlIHwgNCArKy0tCiAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0 aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mvc3R1bm5lbC90ZW1wbGF0ZSBiL3NyY3BrZ3Mv c3R1bm5lbC90ZW1wbGF0ZQppbmRleCA5YWQzNTFlOWUxOTAuLjYzZmQzNjc2Mjk4ZSAxMDA2NDQK LS0tIGEvc3JjcGtncy9zdHVubmVsL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3Mvc3R1bm5lbC90ZW1w bGF0ZQpAQCAtMSw2ICsxLDYgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3N0dW5uZWwnCiBwa2du YW1lPXN0dW5uZWwKLXZlcnNpb249NS42NgordmVyc2lvbj01LjY3CiByZXZpc2lvbj0xCiBidWls ZF9zdHlsZT1nbnUtY29uZmlndXJlCiBjb25maWd1cmVfYXJncz0iLS1lbmFibGUtaXB2NiAtLXdp dGgtc3NsPSR7WEJQU19DUk9TU19CQVNFfS91c3IiCkBAIC0xMyw3ICsxMyw3IEBAIGxpY2Vuc2U9 IkdQTC0yLjAtb3ItbGF0ZXIiCiBob21lcGFnZT0iaHR0cHM6Ly93d3cuc3R1bm5lbC5vcmcvIgog Y2hhbmdlbG9nPSJodHRwczovL3d3dy5zdHVubmVsLm9yZy9ORVdTLmh0bWwiCiBkaXN0ZmlsZXM9 Imh0dHBzOi8vd3d3LnN0dW5uZWwub3JnL2Rvd25sb2Fkcy9zdHVubmVsLSR7dmVyc2lvbn0udGFy Lmd6IgotY2hlY2tzdW09NTU4MTc4NzA0ZDFhYTVmNjg4M2FhYzZjYzVkNmJiZjJhNTcxNGM4YTBk MmU5MWRhMDM5MjQ2OGNlZTlmNTc5YworY2hlY2tzdW09MzA4NjkzOWVlNjQwNzUxNmM1OWIwYmEz ZmJmNTU1MzM4ZjlkNTJmNDU5YmNhYjYzMzdjMGYwMGU5MWVhODQ1NgogCiBwcmVfY2hlY2soKSB7 CiAJIyBHaXRIdWIncyBDSSBkb2Vzbid0IHN1cHBvcnQgSVB2Ngo= --===============2043970106729800903==--