From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 From: Kevin Buettner To: git-commits@fedoraproject.org Subject: [rpms/gdb] fix-dup-patch: Rebase to FSF GDB 14.1 Date: Thu, 23 Jul 2026 18:35:34 GMT Message-ID: <178483173433.1.16766356786619007606.rpms-gdb-ebdac5bb6ea5@fedoraproject.org> List-ID: X-Git-Repo: rpms/gdb X-Git-Branch: fix-dup-patch X-Git-Rev: ebdac5bb6ea5c960c4b31bbc2ac3c190ced6373f ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvZ2RiCiAgICAgICAgICAgIEJyYW5jaCA6IGZpeC1kdXAtcGF0Y2gKICAgICAg ICAgICAgQ29tbWl0IDogZWJkYWM1YmI2ZWE1Yzk2MGM0YjMxYmJjMmFjM2MxOTBjZWQ2MzczZgog ICAgICAgICAgICBBdXRob3IgOiBLZXZpbiBCdWV0dG5lciA8a2V2aW5iQHJlZGhhdC5jb20+CiAg ICAgICAgICAgIERhdGUgICA6IDIwMjMtMTItMDhUMTg6NDM6MjItMDc6MDAKICAgICAgICAgICAg U3RhdHMgIDogKzQ1NC8tMTA4MSBpbiAyOSBmaWxlKHMpCiAgICAgICAgICAgIFVSTCAgICA6IGh0 dHBzOi8vc3JjLmZlZG9yYXByb2plY3Qub3JnL3JwbXMvZ2RiL2MvZWJkYWM1YmI2ZWE1Yzk2MGM0 YjMxYmJjMmFjM2MxOTBjZWQ2MzczZj9icmFuY2g9Zml4LWR1cC1wYXRjaAoKICAgICAgICAgICAg TG9nOgogICAgICAgICAgICBSZWJhc2UgdG8gRlNGIEdEQiAxNC4xCgpVcGRhdGUgbG9jYWwgcGF0 Y2hlczoKICAgIGdkYi02LjUtYnoxODUzMzctcmVzb2x2ZS10bHMtd2l0aG91dC1kZWJ1Z2luZm8t djIucGF0Y2gKICAgIGdkYi02LjYtYnVpbGRpZC1sb2NhdGUtcnBtLnBhdGNoCiAgICBnZGItNi42 LWJ1aWxkaWQtbG9jYXRlLnBhdGNoCiAgICBnZGItY29udGFpbmVyLXJoLXBrZy5wYXRjaAogICAg Z2RiLWNvcmUtb3Blbi12ZHNvLXdhcm5pbmcucGF0Y2gKICAgIGdkYi1mZWRvcmEtbGlibmN1cnNl c3cucGF0Y2gKICAgIGdkYi1saW51eF9wZXJmLWJ1bmRsZS5wYXRjaAoKVXBkYXRlIGJhY2twb3J0 ZWQgcGF0Y2hlcyB3aGljaCBkaWRuJ3QgbWFrZSBpdCBpbnRvIDE0LjE6CiAgICBnZGItcmhiei0y MjMyMDg2LWNwcC1pZnktbWFwcGVkLXN5bXRhYi5wYXRjaAogICAgZ2RiLXJoYnotMjIzMjA4Ni1n ZW5lcmF0ZS1nZGItaW5kZXgtY29uc2lzdGVudGx5LnBhdGNoCgpEcm9wIHVwc3RyZWFtZWQgbG9j YWwgcGF0Y2hlczoKICAgIGdkYi02LjUtc2hhcmVkbGlicmFyeS1wYXRoLnBhdGNoCgpEcm9wIGdk Yi0xMy4yIGJhY2twb3J0cyAod2hpY2ggYXJlIG5vdyBpbiBnZGItMTQuMSk6CiAgICBnZGItYmlu dXRpbHMyOTk4OC1yZWFkX2luZGV4ZWRfYWRkcmVzcy5wYXRjaAogICAgZ2RiLWJ6MjE5NjM5NS1k ZWJ1Z2luZm9kLWxlZ2FjeS1vcGVuc3NsLWNyYXNoLnBhdGNoCiAgICBnZGItYnoyMjM3MzkyLWR3 YXJmLW9ic3RhY2stYWxsb2NhdGlvbi5wYXRjaAogICAgZ2RiLWJ6MjIzNzUxNS1kZWJ1Z2luZm9k LWRvdWJsZS1mcmVlLnBhdGNoCiAgICBnZGItcmhiejIxOTIxMDUtZnRicy1kYW5nbGluZy1wb2lu dGVyCiAgICBnZGItcmhiejIyMzM5NjEtQ1ZFLTIwMjItNDgwNi5wYXRjaAogICAgZ2RiLXJoYnoy MjMzOTY1LW1lbW9yeS1sZWFrLnBhdGNoCgpBZGp1c3QgZ2RiLnNwZWMgc28gdGhhdCAtLXdpdGgt bXBmciBpcyBubyBsb25nZXIgcGFzc2VkIHRvCmNvbmZpZ3VyZTsgZG9pbmcgc28sIGNvbWJpbmVk IHdpdGggc29tZSBjb25maWd1cnkgY2hhbmdlcyB0cmlnZ2VyZWQKYSBsYXRlbnQgYnVpbGQgcHJv YmxlbS4KCi0tLQpkaWZmIC0tZ2l0IGEvLmdpdGlnbm9yZSBiLy5naXRpZ25vcmUKaW5kZXggYjRi MDg0MC4uNTdjMDBiNCAxMDA2NDQKLS0tIGEvLmdpdGlnbm9yZQorKysgYi8uZ2l0aWdub3JlCkBA IC0xLDUgKzEsNCBAQAogL25ldy1mZWRvcmEtcmVsZWFzZQogL2dkYi1saWJzdGRjKystdjMtcHl0 aG9uLTguMS4xLTIwMTgwNjI2LnRhci54egogL3YyLjAuNS50YXIuZ3oKLS9nZGItMTMuMS50YXIu eHoKLS9nZGItMTMuMi50YXIueHoKKy9nZGItMTQuMS50YXIueHoKCmRpZmYgLS1naXQgYS9fZ2Ri LnNwZWMuUGF0Y2guaW5jbHVkZSBiL19nZGIuc3BlYy5QYXRjaC5pbmNsdWRlCmluZGV4IDQxNjA1 MGUuLjliOTY0ZWQgMTAwNjQ0Ci0tLSBhL19nZGIuc3BlYy5QYXRjaC5pbmNsdWRlCisrKyBiL19n ZGIuc3BlYy5QYXRjaC5pbmNsdWRlCkBAIC0xNjcsNTkgKzE2NywyMyBAQCBQYXRjaDAzNzogZ2Ri LWxpbnV4X3BlcmYtYnVuZGxlLnBhdGNoCiAjPWZlZG9yYQogUGF0Y2gwMzg6IGdkYi1hZGQtaW5k ZXgucGF0Y2gKIAotIyBCYWNrcG9ydCAiRml4IGEgcG90ZW50aWFsIGlsbGVnYWwgbWVtb3J5IGFj Y2VzcyBpbiB0aGUgQkZEIGxpYnJhcnkuLi4iCi0jIChOaWNrIENsaWZ0b24sIGJpbnV0aWxzLzI5 OTg4KQotUGF0Y2gwMzk6IGdkYi1iaW51dGlsczI5OTg4LXJlYWRfaW5kZXhlZF9hZGRyZXNzLnBh dGNoCi0KLSMgQmFja3BvcnQgdXBzdHJlYW0gcGF0Y2ggZml4aW5nIGEgImRhbmdsaW5nIHBvaW50 ZXIiIGJ1aWxkIHByb2JsZW0KLSMgZmlyc3Qgc2VlbiB3aGVuIGJ1aWxkaW5nIHdpdGggR0NDIDEz LjEuMSAyMDIzMDQyNiAoUmVkIEhhdCA7OyAxMy4xLjEtMSkuCi1QYXRjaDA0MDogZ2RiLXJoYnoy MTkyMTA1LWZ0YnMtZGFuZ2xpbmctcG9pbnRlcgotCi0jIEJhY2twb3J0IHR3byBjb21taXRzLCAw YWQ1MDRkZDQ2NCBhbmQgZWE3MGY5NDFmOWIsIGZyb20gTGFuY2Vsb3QgU0lYCi0jIHdoaWNoIHBy ZXZlbnQgcmVwZWF0ZWQgd2FybmluZ3MgZnJvbSBiZWluZyBwcmludGVkIHdoaWxlIGxvYWRpbmcg YQotIyBjb3JlIGZpbGUuIChSSCBCWiAyMTYwMjExKQotUGF0Y2gwNDE6IGdkYi1yaGJ6MjE2MDIx MS1leGNlc3NpdmUtY29yZS1maWxlLXdhcm5pbmdzLnBhdGNoCi0KLSMgQmFja3BvcnQgdXBzdHJl YW0gY29tbWl0IGYzZWVlNTg2MTc0M2Q2MzUgdG8gZml4IGEgY3Jhc2ggdHJpZ2dlcmVkCi0jIHdo ZW4gZGVidWdpbmZvZCBtYWtlcyB1c2Ugb2YgcGFydGljdWxhciBvcGVuc3NsIHNldHRpbmdzLgot UGF0Y2gwNDI6IGdkYi1iejIxOTYzOTUtZGVidWdpbmZvZC1sZWdhY3ktb3BlbnNzbC1jcmFzaC5w YXRjaAotCi0jIEJhY2twb3J0IHVwc3RyZWFtIGNvbW1pdCBmOTYzMjhhY2NkZTFlNjMgdG8gZml4 IGEgcG90ZW50aWFsIGRvdWJsZQotIyBmcmVlIGlzc3VlIGluIHRoZSBkZWJ1Z2luZm9kIGNvZGUu Ci1QYXRjaDA0MzogZ2RiLWJ6MjIzNzUxNS1kZWJ1Z2luZm9kLWRvdWJsZS1mcmVlLnBhdGNoCi0K LSMgQmFja3BvcnQgdXBzdHJlYW0gY29tbWl0IDU0MzkyYzRkZjYwNGYyMCB0byBmaXggYW4gaW5j b3JyZWN0Ci0jIG9ic3RhY2sgYWxsb2NhdGlvbiB0aGF0IHdvbGQgbGVhZCB0byBtZW1vcnkgY29y cnVwdGlvbi4KLVBhdGNoMDQ0OiBnZGItYnoyMjM3MzkyLWR3YXJmLW9ic3RhY2stYWxsb2NhdGlv bi5wYXRjaAotCi0jIEJhY2twb3J0IFBSMjk5MjIsIFNIVF9OT0JJVFMgc2VjdGlvbgotIyBhdm9p ZHMgc2VjdGlvbiBzaXplIHNhbml0eSBjaGVjay4KLVBhdGNoMDQ1OiBnZGItcmhiejIyMzM5NjEt Q1ZFLTIwMjItNDgwNi5wYXRjaAotCi0jIEJhY2twb3J0IFBSMjk5MjUsIE1lbW9yeSBsZWFrIGlu IGZpbmRfYWJzdHJhY3RfaW5zdGFuY2UKLVBhdGNoMDQ2OiBnZGItcmhiejIyMzM5NjUtbWVtb3J5 LWxlYWsucGF0Y2gKLQotIyBCYWNrcG9ydCB1cHN0cmVhbSBwYXRjaCB3aGljaCBwcmV2ZW50cyBp bnRlcm5hbCBlcnJvciB3aGVuCi0jIGdlbmVyYXRpbmcgYSBnZGItaW5kZXggZmlsZSAoUkggQlog MTc3MzY1MSkuCi1QYXRjaDA0NzogZ2RiLXJoYnoxNzczNjUxLWdkYi1pbmRleC1pbnRlcm5hbC1l cnJvci5wYXRjaAotCiAjIEJhY2stcG9ydCB1cHN0cmVhbSBjb21taXQgMWYwZmFiN2ZmODYgYXMg cGFydCBvZiBhIGZpeCBmb3IKICMgbm9uLWRldGVybWluaXN0aWMgZ2RiLWluZGV4IGdlbmVyYXRp b24gKFJIIEJaIDIyMzIwODYpLgotUGF0Y2gwNDg6IGdkYi1yaGJ6MjIzMjA4Ni1yZWZhY3Rvci1z ZWxmdGVzdC1zdXBwb3J0LnBhdGNoCitQYXRjaDAzOTogZ2RiLXJoYnoyMjMyMDg2LXJlZmFjdG9y LXNlbGZ0ZXN0LXN1cHBvcnQucGF0Y2gKIAogIyBCYWNrLXBvcnQgdXBzdHJlYW0gY29tbWl0IGFh MTliYzFkMjU5IGFzIHBhcnQgb2YgYSBmaXggZm9yCiAjIG5vbi1kZXRlcm1pbmlzdGljIGdkYi1p bmRleCBnZW5lcmF0aW9uIChSSCBCWiAyMjMyMDg2KS4KLVBhdGNoMDQ5OiBnZGItcmhiei0yMjMy MDg2LXJlZHVjZS1zaXplLW9mLWdkYi1pbmRleC5wYXRjaAorUGF0Y2gwNDA6IGdkYi1yaGJ6LTIy MzIwODYtcmVkdWNlLXNpemUtb2YtZ2RiLWluZGV4LnBhdGNoCiAKICMgQmFjay1wb3J0IHVwc3Ry ZWFtIGNvbW1pdCBhY2MxMTdiNTdmNyBhcyBwYXJ0IG9mIGEgZml4IGZvcgogIyBub24tZGV0ZXJt aW5pc3RpYyBnZGItaW5kZXggZ2VuZXJhdGlvbiAoUkggQlogMjIzMjA4NikuCi1QYXRjaDA1MDog Z2RiLXJoYnotMjIzMjA4Ni1jcHAtaWZ5LW1hcHBlZC1zeW10YWIucGF0Y2gKK1BhdGNoMDQxOiBn ZGItcmhiei0yMjMyMDg2LWNwcC1pZnktbWFwcGVkLXN5bXRhYi5wYXRjaAogCiAjIEJhY2stcG9y dCB1cHN0cmVhbSBjb21taXQgYWZmMjUwMTQ1YWYgYXMgcGFydCBvZiBhIGZpeCBmb3IKICMgbm9u LWRldGVybWluaXN0aWMgZ2RiLWluZGV4IGdlbmVyYXRpb24gKFJIIEJaIDIyMzIwODYpLgotUGF0 Y2gwNTE6IGdkYi1yaGJ6LTIyMzIwODYtZ2VuZXJhdGUtZ2RiLWluZGV4LWNvbnNpc3RlbnRseS5w YXRjaAorUGF0Y2gwNDI6IGdkYi1yaGJ6LTIyMzIwODYtZ2VuZXJhdGUtZ2RiLWluZGV4LWNvbnNp c3RlbnRseS5wYXRjaAogCiAjIEJhY2stcG9ydCB1cHN0cmVhbSBjb21taXQgMzY0NGY0MWRjODAg YXMgcGFydCBvZiBhIGZpeCBmb3IKICMgbm9uLWRldGVybWluaXN0aWMgZ2RiLWluZGV4IGdlbmVy YXRpb24gKFJIIEJaIDIyMzIwODYpLgotUGF0Y2gwNTI6IGdkYi1yaGJ6LTIyMzIwODYtZ2VuZXJh dGUtZHdhcmYtNS1pbmRleC1jb25zaXN0ZW50bHkucGF0Y2gKK1BhdGNoMDQzOiBnZGItcmhiei0y MjMyMDg2LWdlbmVyYXRlLWR3YXJmLTUtaW5kZXgtY29uc2lzdGVudGx5LnBhdGNoCiAKCmRpZmYg LS1naXQgYS9fZ2RiLnNwZWMucGF0Y2guaW5jbHVkZSBiL19nZGIuc3BlYy5wYXRjaC5pbmNsdWRl CmluZGV4IGQ5NTQwNjMuLmFiZDhjYTIgMTAwNjQ0Ci0tLSBhL19nZGIuc3BlYy5wYXRjaC5pbmNs dWRlCisrKyBiL19nZGIuc3BlYy5wYXRjaC5pbmNsdWRlCkBAIC00MSwxMiArNDEsMyBAQAogJXBh dGNoIC1wMSAtUDA0MQogJXBhdGNoIC1wMSAtUDA0MgogJXBhdGNoIC1wMSAtUDA0MwotJXBhdGNo IC1wMSAtUDA0NAotJXBhdGNoIC1wMSAtUDA0NQotJXBhdGNoIC1wMSAtUDA0NgotJXBhdGNoIC1w MSAtUDA0NwotJXBhdGNoIC1wMSAtUDA0OAotJXBhdGNoIC1wMSAtUDA0OQotJXBhdGNoIC1wMSAt UDA1MAotJXBhdGNoIC1wMSAtUDA1MQotJXBhdGNoIC1wMSAtUDA1MgoKZGlmZiAtLWdpdCBhL19n aXRfdXBzdHJlYW1fY29tbWl0IGIvX2dpdF91cHN0cmVhbV9jb21taXQKaW5kZXggMjZlZDg1YS4u M2Q4ZWVjNiAxMDA2NDQKLS0tIGEvX2dpdF91cHN0cmVhbV9jb21taXQKKysrIGIvX2dpdF91cHN0 cmVhbV9jb21taXQKQEAgLTEgKzEgQEAKLTY2MjI0M2RlMGUxNGE0OTQ1NTU1YTQ4MGRjYTMzYzBl Njc3OTc2ZWIKKzZiZGExYzE5YmNkMTZlZmY4NDg4ZmFjYjhhNjdkNTJhNDM2ZjcwZTcKCmRpZmYg LS1naXQgYS9fcGF0Y2hfb3JkZXIgYi9fcGF0Y2hfb3JkZXIKaW5kZXggMzRiMWE0NS4uYWVlMDFl ZSAxMDA2NDQKLS0tIGEvX3BhdGNoX29yZGVyCisrKyBiL19wYXRjaF9vcmRlcgpAQCAtMzYsMTUg KzM2LDYgQEAgZ2RiLXJoYnoxMjYxNTY0LWFhcmNoNjQtaHctd2F0Y2hwb2ludC10ZXN0LnBhdGNo CiBnZGItY29udGFpbmVyLXJoLXBrZy5wYXRjaAogZ2RiLWxpbnV4X3BlcmYtYnVuZGxlLnBhdGNo CiBnZGItYWRkLWluZGV4LnBhdGNoCi1nZGItYmludXRpbHMyOTk4OC1yZWFkX2luZGV4ZWRfYWRk cmVzcy5wYXRjaAotZ2RiLXJoYnoyMTkyMTA1LWZ0YnMtZGFuZ2xpbmctcG9pbnRlcgotZ2RiLXJo YnoyMTYwMjExLWV4Y2Vzc2l2ZS1jb3JlLWZpbGUtd2FybmluZ3MucGF0Y2gKLWdkYi1iejIxOTYz OTUtZGVidWdpbmZvZC1sZWdhY3ktb3BlbnNzbC1jcmFzaC5wYXRjaAotZ2RiLWJ6MjIzNzUxNS1k ZWJ1Z2luZm9kLWRvdWJsZS1mcmVlLnBhdGNoCi1nZGItYnoyMjM3MzkyLWR3YXJmLW9ic3RhY2st YWxsb2NhdGlvbi5wYXRjaAotZ2RiLXJoYnoyMjMzOTYxLUNWRS0yMDIyLTQ4MDYucGF0Y2gKLWdk Yi1yaGJ6MjIzMzk2NS1tZW1vcnktbGVhay5wYXRjaAotZ2RiLXJoYnoxNzczNjUxLWdkYi1pbmRl eC1pbnRlcm5hbC1lcnJvci5wYXRjaAogZ2RiLXJoYnoyMjMyMDg2LXJlZmFjdG9yLXNlbGZ0ZXN0 LXN1cHBvcnQucGF0Y2gKIGdkYi1yaGJ6LTIyMzIwODYtcmVkdWNlLXNpemUtb2YtZ2RiLWluZGV4 LnBhdGNoCiBnZGItcmhiei0yMjMyMDg2LWNwcC1pZnktbWFwcGVkLXN5bXRhYi5wYXRjaAoKZGlm ZiAtLWdpdCBhL2dkYi02LjMtZ3N0YWNrLTIwMDUwNDExLnBhdGNoIGIvZ2RiLTYuMy1nc3RhY2st MjAwNTA0MTEucGF0Y2gKaW5kZXggY2U5Y2Q2NS4uMDFlOGZmYSAxMDA2NDQKLS0tIGEvZ2RiLTYu My1nc3RhY2stMjAwNTA0MTEucGF0Y2gKKysrIGIvZ2RiLTYuMy1nc3RhY2stMjAwNTA0MTEucGF0 Y2gKQEAgLTE2LDcgKzE2LDcgQEAgU3ViamVjdDogZ2RiLTYuMy1nc3RhY2stMjAwNTA0MTEucGF0 Y2gKIGRpZmYgLS1naXQgYS9nZGIvTWFrZWZpbGUuaW4gYi9nZGIvTWFrZWZpbGUuaW4KIC0tLSBh L2dkYi9NYWtlZmlsZS5pbgogKysrIGIvZ2RiL01ha2VmaWxlLmluCi1AQCAtMjAxMSw3ICsyMDEx LDcgQEAgaW5mbyBpbnN0YWxsLWluZm8gY2xlYW4taW5mbyBkdmkgcGRmIGluc3RhbGwtcGRmIGh0 bWwgaW5zdGFsbC1odG1sOiBmb3JjZQorQEAgLTIwMzUsNyArMjAzNSw3IEBAIGluZm8gaW5zdGFs bC1pbmZvIGNsZWFuLWluZm8gZHZpIHBkZiBpbnN0YWxsLXBkZiBodG1sIGluc3RhbGwtaHRtbDog Zm9yY2UKICBpbnN0YWxsOiBhbGwKICAJQCQoTUFLRSkgJChGTEFHU19UT19QQVNTKSBpbnN0YWxs LW9ubHkKICAKQEAgLTI1LDcgKzI1LDcgQEAgZGlmZiAtLWdpdCBhL2dkYi9NYWtlZmlsZS5pbiBi L2dkYi9NYWtlZmlsZS5pbgogIAl0cmFuc2Zvcm1lZF9uYW1lPWB0PSckKHByb2dyYW1fdHJhbnNm b3JtX25hbWUpJzsgXAogIAkJCSAgZWNobyBnZGIgfCBzZWQgLWUgIiQkdCJgIDsgXAogIAkJaWYg dGVzdCAieCQkdHJhbnNmb3JtZWRfbmFtZSIgPSB4OyB0aGVuIFwKLUBAIC0yMDYxLDcgKzIwNjEs MjUgQEAgaW5zdGFsbC1ndWlsZToKK0BAIC0yMDg1LDcgKzIwODUsMjUgQEAgaW5zdGFsbC1ndWls ZToKICBpbnN0YWxsLXB5dGhvbjoKICAJJChTSEVMTCkgJChzcmNkaXIpLy4uL21raW5zdGFsbGRp cnMgJChERVNURElSKSQoR0RCX0RBVEFESVIpL3B5dGhvbi9nZGIKICAKQEAgLTUyLDcgKzUyLDcg QEAgZGlmZiAtLWdpdCBhL2dkYi9NYWtlZmlsZS5pbiBiL2dkYi9NYWtlZmlsZS5pbgogIAl0cmFu c2Zvcm1lZF9uYW1lPWB0PSckKHByb2dyYW1fdHJhbnNmb3JtX25hbWUpJzsgXAogIAkJCSAgZWNo byBnZGIgfCBzZWQgLWUgJCR0YCA7IFwKICAJCWlmIHRlc3QgIngkJHRyYW5zZm9ybWVkX25hbWUi ID0geDsgdGhlbiBcCi1AQCAtMjA5Miw2ICsyMTEwLDE4IEBAIHVuaW5zdGFsbDogZm9yY2UgJChD T05GSUdfVU5JTlNUQUxMKQorQEAgLTIxMTYsNiArMjEzNCwxOCBAQCB1bmluc3RhbGw6IGZvcmNl ICQoQ09ORklHX1VOSU5TVEFMTCkKICAJcm0gLWYgJChERVNURElSKSQoYmluZGlyKS8kJHRyYW5z Zm9ybWVkX25hbWUKICAJQCQoTUFLRSkgRE89dW5pbnN0YWxsICJET0RJUlM9JChTVUJESVJTKSIg JChGTEFHU19UT19QQVNTKSBzdWJkaXJfZG8KICAKCmRpZmYgLS1naXQgYS9nZGItNi41LWJ6MTg1 MzM3LXJlc29sdmUtdGxzLXdpdGhvdXQtZGVidWdpbmZvLXYyLnBhdGNoIGIvZ2RiLTYuNS1iejE4 NTMzNy1yZXNvbHZlLXRscy13aXRob3V0LWRlYnVnaW5mby12Mi5wYXRjaAppbmRleCA2YTlmY2Fk Li5hYjY0ZjdmIDEwMDY0NAotLS0gYS9nZGItNi41LWJ6MTg1MzM3LXJlc29sdmUtdGxzLXdpdGhv dXQtZGVidWdpbmZvLXYyLnBhdGNoCisrKyBiL2dkYi02LjUtYnoxODUzMzctcmVzb2x2ZS10bHMt d2l0aG91dC1kZWJ1Z2luZm8tdjIucGF0Y2gKQEAgLTQ0LDcgKzQ0LDcgQEAgZ2xpYmMtZGVidWdp bmZvLTIuNy0yLng4Nl82NDogL3Vzci9saWIvZGVidWcvbGliNjQvbGliYy5zby42LmRlYnVnOgog ZGlmZiAtLWdpdCBhL2dkYi9wcmludGNtZC5jIGIvZ2RiL3ByaW50Y21kLmMKIC0tLSBhL2dkYi9w cmludGNtZC5jCiArKysgYi9nZGIvcHJpbnRjbWQuYwotQEAgLTEzMDAsNiArMTMwMCwxMCBAQCBw cm9jZXNzX3ByaW50X2NvbW1hbmRfYXJncyAoY29uc3QgY2hhciAqYXJncywgdmFsdWVfcHJpbnRf b3B0aW9ucyAqcHJpbnRfb3B0cywKK0BAIC0xMzA4LDYgKzEzMDgsMTEgQEAgcHJvY2Vzc19wcmlu dF9jb21tYW5kX2FyZ3MgKGNvbnN0IGNoYXIgKmFyZ3MsIHZhbHVlX3ByaW50X29wdGlvbnMgKnBy aW50X29wdHMsCiAgCiAgICBpZiAoZXhwICE9IG51bGxwdHIgJiYgKmV4cCkKICAgICAgewpAQCAt NTIsOSArNTIsMTAgQEAgZGlmZiAtLWdpdCBhL2dkYi9wcmludGNtZC5jIGIvZ2RiL3ByaW50Y21k LmMKICsJIGZ1bmN0aW9uIGRlc2NyaXB0b3JzLiAgKi8KICsgICAgICBpZiAodGFyZ2V0X2hhc19l eGVjdXRpb24gKCkgJiYgc3RyY21wIChleHAsICJlcnJubyIpID09IDApCiArCWV4cCA9ICIqKCoo aW50ICooKikodm9pZCkpIF9fZXJybm9fbG9jYXRpb24pICgpIjsKLSAgICAgICAvKiBWT0lEUFJJ TlQgaXMgdHJ1ZSB0byBpbmRpY2F0ZSB0aGF0IHdlIGRvIHdhbnQgdG8gcHJpbnQgYSB2b2lkCi0g CSB2YWx1ZSwgc28gaW52ZXJ0IGl0IGZvciBwYXJzZV9leHByZXNzaW9uLiAgKi8KLSAgICAgICBl eHByZXNzaW9uX3VwIGV4cHIgPSBwYXJzZV9leHByZXNzaW9uIChleHAsIG51bGxwdHIsICF2b2lk cHJpbnQpOworKworICAgICAgIC8qIFRoaXMgc2V0dGluZyBhbGxvd3MgbGFyZ2UgYXJyYXlzIHRv IGJlIHByaW50ZWQgYnkgbGltaXRpbmcgdGhlCisgCSBudW1iZXIgb2YgZWxlbWVudHMgdGhhdCBh cmUgbG9hZGVkIGludG8gR0RCJ3MgbWVtb3J5OyB3ZSBvbmx5CisgCSBuZWVkIHRvIGxvYWQgYXMg bWFueSBhcnJheSBlbGVtZW50cyBhcyB3ZSBwbGFuIHRvIHByaW50LiAgKi8KIGRpZmYgLS1naXQg YS9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLWVycm5vLmMgYi9nZGIvdGVzdHN1aXRlL2dk Yi5kd2FyZjIvZHcyLWVycm5vLmMKIG5ldyBmaWxlIG1vZGUgMTAwNjQ0CiAtLS0gL2Rldi9udWxs CgpkaWZmIC0tZ2l0IGEvZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS1ycG0ucGF0Y2ggYi9nZGItNi42 LWJ1aWxkaWQtbG9jYXRlLXJwbS5wYXRjaAppbmRleCAyM2Y0ZDU1Li5mMzhmZGQ1IDEwMDY0NAot LS0gYS9nZGItNi42LWJ1aWxkaWQtbG9jYXRlLXJwbS5wYXRjaAorKysgYi9nZGItNi42LWJ1aWxk aWQtbG9jYXRlLXJwbS5wYXRjaApAQCAtMjM1LDcgKzIzNSw3IEBAIGRpZmYgLS1naXQgYS9nZGIv YWNsb2NhbC5tNCBiL2dkYi9hY2xvY2FsLm00CiBkaWZmIC0tZ2l0IGEvZ2RiL2J1aWxkLWlkLmMg Yi9nZGIvYnVpbGQtaWQuYwogLS0tIGEvZ2RiL2J1aWxkLWlkLmMKICsrKyBiL2dkYi9idWlsZC1p ZC5jCi1AQCAtNzcxLDEwICs3NzEsMTAgQEAgbWlzc2luZ19ycG1fZW5saXN0XzEgKGNvbnN0IGNo YXIgKmZpbGVuYW1lLCBpbnQgdmVyaWZ5X3ZlbmRvcikKK0BAIC03ODAsMTAgKzc4MCwxMCBAQCBt aXNzaW5nX3JwbV9lbmxpc3RfMSAoY29uc3QgY2hhciAqZmlsZW5hbWUsIGludCB2ZXJpZnlfdmVu ZG9yKQogICAgc3RhdGljIHJwbXRzICgqcnBtdHNDcmVhdGVfcCkgKHZvaWQpOwogICAgZXh0ZXJu IHJwbXRzIHJwbXRzRnJlZShycG10cyB0cyk7CiAgICBzdGF0aWMgcnBtdHMgKCpycG10c0ZyZWVf cCkgKHJwbXRzIHRzKTsKQEAgLTI0OCw3ICsyNDgsNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2J1aWxk LWlkLmMgYi9nZGIvYnVpbGQtaWQuYwogIAkJCQkJCSAgICBjb25zdCB2b2lkICprZXlwLAogIAkJ CQkJCSAgICBzaXplX3Qga2V5bGVuKTsKICAjZWxzZQkvKiAhRExPUEVOX0xJQlJQTSAqLwotQEAg LTgyOSw3ICs4MjksNyBAQCBtaXNzaW5nX3JwbV9lbmxpc3RfMSAoY29uc3QgY2hhciAqZmlsZW5h bWUsIGludCB2ZXJpZnlfdmVuZG9yKQorQEAgLTgzOCw3ICs4MzgsNyBAQCBtaXNzaW5nX3JwbV9l bmxpc3RfMSAoY29uc3QgY2hhciAqZmlsZW5hbWUsIGludCB2ZXJpZnlfdmVuZG9yKQogIAkgICAg ICAmJiAocnBtZGJOZXh0SXRlcmF0b3JfcCA9IChIZWFkZXIgKCopIChycG1kYk1hdGNoSXRlcmF0 b3IgbWkpKSBkbHN5bSAoaCwgInJwbWRiTmV4dEl0ZXJhdG9yIikpCiAgCSAgICAgICYmIChycG10 c0NyZWF0ZV9wID0gKHJwbXRzICgqKSAodm9pZCkpIGRsc3ltIChoLCAicnBtdHNDcmVhdGUiKSkK ICAJICAgICAgJiYgKHJwbXRzRnJlZV9wID0gKHJwbXRzICgqKSAocnBtdHMgdHMpKSBkbHN5bSAo aCwgInJwbXRzRnJlZSIpKQpAQCAtMjU3LDcgKzI1Nyw3IEBAIGRpZmYgLS1naXQgYS9nZGIvYnVp bGQtaWQuYyBiL2dkYi9idWlsZC1pZC5jCiAgCSAgewogIAkgICAgd2FybmluZyAoXygiT3BlbmVk IGxpYnJhcnkgXCIlc1wiIGlzIGluY29tcGF0aWJsZSAoJXMpLCAiCiAgCQkgICAgICAibWlzc2lu ZyBkZWJ1Z2luZm9zIG5vdGlmaWNhdGlvbnMgd2lsbCBub3QgYmUgZGlzcGxheWVkIiksCi1AQCAt OTE3LDcgKzkxNyw3IEBAIG1pc3NpbmdfcnBtX2VubGlzdF8xIChjb25zdCBjaGFyICpmaWxlbmFt ZSwgaW50IHZlcmlmeV92ZW5kb3IpCitAQCAtOTI2LDcgKzkyNiw3IEBAIG1pc3NpbmdfcnBtX2Vu bGlzdF8xIChjb25zdCBjaGFyICpmaWxlbmFtZSwgaW50IHZlcmlmeV92ZW5kb3IpCiAgCiAgCSAg LyogUlBNREJJX1BBQ0tBR0VTIHJlcXVpcmVzIGtleWxlbiA9PSBzaXplb2YgKGludCkuICAqLwog IAkgIC8qIFJQTURCSV9MQUJFTCBpcyBhbiBpbnRlcmZhY2UgZm9yIE5WUi1iYXNlZCBkYmlGaW5k QnlMYWJlbCgpLiAgKi8KQEAgLTI2OSw3ICsyNjksNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2J1aWxk LWlkLmMgYi9nZGIvYnVpbGQtaWQuYwogZGlmZiAtLWdpdCBhL2dkYi9jb25maWcuaW4gYi9nZGIv Y29uZmlnLmluCiAtLS0gYS9nZGIvY29uZmlnLmluCiArKysgYi9nZGIvY29uZmlnLmluCi1AQCAt MzksNiArMzksOSBAQAorQEAgLTQyLDYgKzQyLDkgQEAKICAvKiBIYW5kbGUgLmN0ZiB0eXBlLWlu Zm8gc2VjdGlvbnMgKi8KICAjdW5kZWYgRU5BQkxFX0xJQkNURgogIApAQCAtMjc5LDkgKzI3OSw5 IEBAIGRpZmYgLS1naXQgYS9nZGIvY29uZmlnLmluIGIvZ2RiL2NvbmZpZy5pbgogIC8qIERlZmlu ZSB0byAxIGlmIHRyYW5zbGF0aW9uIG9mIHByb2dyYW0gbWVzc2FnZXMgdG8gdGhlIHVzZXIncyBu YXRpdmUKICAgICBsYW5ndWFnZSBpcyByZXF1ZXN0ZWQuICovCiAgI3VuZGVmIEVOQUJMRV9OTFMK LUBAIC0yNTksNiArMjYyLDkgQEAKLSAvKiBEZWZpbmUgaWYgeW91IGhhdmUgdGhlIG1wZnIgbGli cmFyeS4gKi8KLSAjdW5kZWYgSEFWRV9MSUJNUEZSCitAQCAtMjY1LDYgKzI2OCw5IEBACisgLyog RGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBtJyBsaWJyYXJ5ICgtbG0pLiAqLworICN1bmRl ZiBIQVZFX0xJQk0KICAKICsvKiBEZWZpbmUgaWYgbGlicnBtIGxpYnJhcnkgaXMgYmVpbmcgdXNl ZC4gKi8KICsjdW5kZWYgSEFWRV9MSUJSUE0KQEAgLTI5Miw3ICsyOTIsNyBAQCBkaWZmIC0tZ2l0 IGEvZ2RiL2NvbmZpZy5pbiBiL2dkYi9jb25maWcuaW4KIGRpZmYgLS1naXQgYS9nZGIvY29uZmln dXJlIGIvZ2RiL2NvbmZpZ3VyZQogLS0tIGEvZ2RiL2NvbmZpZ3VyZQogKysrIGIvZ2RiL2NvbmZp Z3VyZQotQEAgLTc4Myw2ICs3ODMsMTEgQEAgVEFSR0VUX09CUworQEAgLTc3OCw2ICs3NzgsMTEg QEAgQU1EX0RCR0FQSV9DRkxBR1MKICBFTkFCTEVfQkZEXzY0X0JJVF9GQUxTRQogIEVOQUJMRV9C RkRfNjRfQklUX1RSVUUKICBzdWJkaXJzCkBAIC0zMDQsMTYgKzMwNCwxNiBAQCBkaWZmIC0tZ2l0 IGEvZ2RiL2NvbmZpZ3VyZSBiL2dkYi9jb25maWd1cmUKICBHREJfREFUQURJUgogIERFQlVHRElS CiAgTUFLRUlORk9fRVhUUkFfRkxBR1MKLUBAIC05MTIsNiArOTE3LDcgQEAgd2l0aF9nZGJfZGF0 YWRpcgorQEAgLTkxMSw2ICs5MTYsNyBAQCB3aXRoX2dkYl9kYXRhZGlyCiAgd2l0aF9yZWxvY2F0 ZWRfc291cmNlcwogIHdpdGhfYXV0b19sb2FkX2RpcgogIHdpdGhfYXV0b19sb2FkX3NhZmVfcGF0 aAogK3dpdGhfcnBtCiAgZW5hYmxlX3RhcmdldHMKICBlbmFibGVfNjRfYml0X2JmZAotIGVuYWJs ZV9nZGJtaQotQEAgLTk5Miw2ICs5OTgsOCBAQCBQS0dfQ09ORklHX1BBVEgKLSBQS0dfQ09ORklH X0xJQkRJUgorIHdpdGhfYW1kX2RiZ2FwaQorQEAgLTk4OCw2ICs5OTQsOCBAQCBBTURfREJHQVBJ X0NGTEFHUworIEFNRF9EQkdBUElfTElCUwogIERFQlVHSU5GT0RfQ0ZMQUdTCiAgREVCVUdJTkZP RF9MSUJTCiArUlBNX0NGTEFHUwpAQCAtMzIxLDggKzMyMSw4IEBAIGRpZmYgLS1naXQgYS9nZGIv Y29uZmlndXJlIGIvZ2RiL2NvbmZpZ3VyZQogIFlBQ0MKICBZRkxBR1MKICBaU1REX0NGTEFHUwot QEAgLTE2NzgsNiArMTY4Niw4IEBAIE9wdGlvbmFsIFBhY2thZ2VzOgotICAgICAgICAgICAgICAg ICAgICAgICAgICAgZG8gbm90IHJlc3RyaWN0IGF1dG8tbG9hZGVkIGZpbGVzIGxvY2F0aW9ucwor QEAgLTE2NzksNiArMTY4Nyw4IEBAIE9wdGlvbmFsIFBhY2thZ2VzOgorICAgLS13aXRoLWFtZC1k YmdhcGkgICAgICAgc3VwcG9ydCBmb3IgdGhlIGFtZC1kYmdhcGkgdGFyZ2V0ICh5ZXMgLyBubyAv IGF1dG8pCiAgICAtLXdpdGgtZGVidWdpbmZvZCAgICAgICBFbmFibGUgZGVidWdpbmZvIGxvb2t1 cHMgd2l0aCBkZWJ1Z2luZm9kCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoYXV0by95ZXMv bm8pCiArICAtLXdpdGgtcnBtICAgICAgICAgICAgICBxdWVyeSBycG0gZGF0YWJhc2UgZm9yIG1p c3NpbmcgZGVidWdpbmZvcyAoeWVzL25vLApAQCAtMzMwLDcgKzMzMCw3IEBAIGRpZmYgLS1naXQg YS9nZGIvY29uZmlndXJlIGIvZ2RiL2NvbmZpZ3VyZQogICAgLS13aXRoLWxpYnVud2luZC1pYTY0 ICAgdXNlIGxpYnVud2luZCBmcmFtZSB1bndpbmRpbmcgZm9yIGlhNjQgdGFyZ2V0cwogICAgLS13 aXRoLWN1cnNlcyAgICAgICAgICAgdXNlIHRoZSBjdXJzZXMgbGlicmFyeSBpbnN0ZWFkIG9mIHRo ZSB0ZXJtY2FwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJyYXJ5Ci1AQCAtMTc2MSw2 ICsxNzcxLDggQEAgU29tZSBpbmZsdWVudGlhbCBlbnZpcm9ubWVudCB2YXJpYWJsZXM6CitAQCAt MTc1OSw2ICsxNzY5LDggQEAgU29tZSBpbmZsdWVudGlhbCBlbnZpcm9ubWVudCB2YXJpYWJsZXM6 CiAgICAgICAgICAgICAgICBDIGNvbXBpbGVyIGZsYWdzIGZvciBERUJVR0lORk9ELCBvdmVycmlk aW5nIHBrZy1jb25maWcKICAgIERFQlVHSU5GT0RfTElCUwogICAgICAgICAgICAgICAgbGlua2Vy IGZsYWdzIGZvciBERUJVR0lORk9ELCBvdmVycmlkaW5nIHBrZy1jb25maWcKQEAgLTMzOSw3ICsz MzksNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2NvbmZpZ3VyZSBiL2dkYi9jb25maWd1cmUKICAgIFlB Q0MgICAgICAgIFRoZSBgWWV0IEFub3RoZXIgQ29tcGlsZXIgQ29tcGlsZXInIGltcGxlbWVudGF0 aW9uIHRvIHVzZS4KICAgICAgICAgICAgICAgIERlZmF1bHRzIHRvIHRoZSBmaXJzdCBwcm9ncmFt IGZvdW5kIG91dCBvZjogYGJpc29uIC15JywgYGJ5YWNjJywKICAgICAgICAgICAgICAgIGB5YWNj Jy4KLUBAIC0xNzg0OCw2ICsxNzg2MCw0OTUgQEAgX0FDRU9GCitAQCAtMTgwMzksNiArMTgwNTEs NDk1IEBAIF9BQ0VPRgogIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTog cmVzdWx0OiAkd2l0aF9hdXRvX2xvYWRfc2FmZV9wYXRoIiA+JjUKICAkYXNfZWNobyAiJHdpdGhf YXV0b19sb2FkX3NhZmVfcGF0aCIgPiY2OyB9CiAgCkBAIC04MzgsNyArODM4LDcgQEAgZGlmZiAt LWdpdCBhL2dkYi9jb25maWd1cmUgYi9nZGIvY29uZmlndXJlCiBkaWZmIC0tZ2l0IGEvZ2RiL2Nv bmZpZ3VyZS5hYyBiL2dkYi9jb25maWd1cmUuYWMKIC0tLSBhL2dkYi9jb25maWd1cmUuYWMKICsr KyBiL2dkYi9jb25maWd1cmUuYWMKLUBAIC0xNjAsNiArMTYwLDIwMCBAQCBBQ19ERUZJTkVfRElS KEFVVE9fTE9BRF9TQUZFX1BBVEgsIGVzY2FwZV9kaXIsCitAQCAtMTczLDYgKzE3MywyMDAgQEAg QUNfREVGSU5FX0RJUihBVVRPX0xPQURfU0FGRV9QQVRILCBlc2NhcGVfZGlyLAogIAkgICAgICBb RGlyZWN0b3JpZXMgc2FmZSB0byBob2xkIGF1dG8tbG9hZGVkIGZpbGVzLl0pCiAgQUNfTVNHX1JF U1VMVChbJHdpdGhfYXV0b19sb2FkX3NhZmVfcGF0aF0pCiAgCkBAIC0xMDUwLDcgKzEwNTAsNyBA QCBkaWZmIC0tZ2l0IGEvZ2RiL2V2ZW50LXRvcC5jIGIvZ2RiL2V2ZW50LXRvcC5jCiAgCiAgLyog cmVhZGxpbmUgaW5jbHVkZSBmaWxlcy4gICovCiAgI2luY2x1ZGUgInJlYWRsaW5lL3JlYWRsaW5l LmgiCi1AQCAtMzkxLDYgKzM5Miw4IEBAIGRpc3BsYXlfZ2RiX3Byb21wdCAoY29uc3QgY2hhciAq bmV3X3Byb21wdCkKK0BAIC00MDQsNiArNDA1LDggQEAgZGlzcGxheV9nZGJfcHJvbXB0IChjb25z dCBjaGFyICpuZXdfcHJvbXB0KQogICAgLyogUmVzZXQgdGhlIG5lc3RpbmcgZGVwdGggdXNlZCB3 aGVuIHRyYWNlLWNvbW1hbmRzIGlzIHNldC4gICovCiAgICByZXNldF9jb21tYW5kX25lc3RfZGVw dGggKCk7CiAgCkBAIC0xMDU5LDcgKzEwNTksNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2V2ZW50LXRv cC5jIGIvZ2RiL2V2ZW50LXRvcC5jCiAgICAvKiBEbyBub3QgY2FsbCB0aGUgcHl0aG9uIGhvb2sg b24gYW4gZXhwbGljaXQgcHJvbXB0IGNoYW5nZSBhcwogICAgICAgcGFzc2VkIHRvIHRoaXMgZnVu Y3Rpb24sIGFzIHRoaXMgZm9ybXMgYSBzZWNvbmRhcnkvbG9jYWwgcHJvbXB0LAogICAgICAgSUUs IGRpc3BsYXllZCBidXQgbm90IHNldC4gICovCi1AQCAtODUyLDcgKzg1NSwxMCBAQCBjb21tYW5k X2xpbmVfaGFuZGxlciAoZ2RiOjp1bmlxdWVfeG1hbGxvY19wdHI8Y2hhcj4gJiZybCkKK0BAIC03 ODgsNyArNzkxLDEwIEBAIGNvbW1hbmRfbGluZV9oYW5kbGVyIChnZGI6OnVuaXF1ZV94bWFsbG9j X3B0cjxjaGFyPiAmJnJsKQogICAgICAgIGNvbW1hbmRfaGFuZGxlciAoY21kKTsKICAKICAgICAg ICBpZiAodWktPnByb21wdF9zdGF0ZSAhPSBQUk9NUFRFRCkKQEAgLTEwNzQsNyArMTA3NCw3IEBA IGRpZmYgLS1naXQgYS9nZGIvZXZlbnQtdG9wLmMgYi9nZGIvZXZlbnQtdG9wLmMKIGRpZmYgLS1n aXQgYS9nZGIvc3ltZmlsZS5oIGIvZ2RiL3N5bWZpbGUuaAogLS0tIGEvZ2RiL3N5bWZpbGUuaAog KysrIGIvZ2RiL3N5bWZpbGUuaAotQEAgLTM1Miw2ICszNTIsNyBAQCBleHRlcm4gdm9pZCBnZW5l cmljX2xvYWQgKGNvbnN0IGNoYXIgKmFyZ3MsIGludCBmcm9tX3R0eSk7CitAQCAtMzY3LDYgKzM2 Nyw3IEBAIGV4dGVybiB2b2lkIGdlbmVyaWNfbG9hZCAoY29uc3QgY2hhciAqYXJncywgaW50IGZy b21fdHR5KTsKICAvKiBidWlsZC1pZCBzdXBwb3J0LiAgKi8KICBleHRlcm4gc3RydWN0IGJmZF9i dWlsZF9pZCAqYnVpbGRfaWRfYWRkcl9nZXQgKENPUkVfQUREUiBhZGRyKTsKICBleHRlcm4gdm9p ZCBkZWJ1Z19wcmludF9taXNzaW5nIChjb25zdCBjaGFyICpiaW5hcnksIGNvbnN0IGNoYXIgKmRl YnVnKTsKCmRpZmYgLS1naXQgYS9nZGItNi42LWJ1aWxkaWQtbG9jYXRlLXNvbGliLW1pc3Npbmct aWRzLnBhdGNoIGIvZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS1zb2xpYi1taXNzaW5nLWlkcy5wYXRj aAppbmRleCAzYjY0MWY4Li5lOWVjN2I1IDEwMDY0NAotLS0gYS9nZGItNi42LWJ1aWxkaWQtbG9j YXRlLXNvbGliLW1pc3NpbmctaWRzLnBhdGNoCisrKyBiL2dkYi02LjYtYnVpbGRpZC1sb2NhdGUt c29saWItbWlzc2luZy1pZHMucGF0Y2gKQEAgLTE0LDcgKzE0LDcgQEAgaHR0cHM6Ly9idWd6aWxs YS5yZWRoYXQuY29tL3Nob3dfYnVnLmNnaT9pZD0xMzM5ODYyCiBkaWZmIC0tZ2l0IGEvZ2RiL3Nv bGliLXN2cjQuYyBiL2dkYi9zb2xpYi1zdnI0LmMKIC0tLSBhL2dkYi9zb2xpYi1zdnI0LmMKICsr KyBiL2dkYi9zb2xpYi1zdnI0LmMKLUBAIC0xMzIxLDE0ICsxMzIxLDI4IEBAIHN2cjRfcmVhZF9z b19saXN0IChzdnI0X2luZm8gKmluZm8sIENPUkVfQUREUiBsbSwgQ09SRV9BRERSIHByZXZfbG0s CitAQCAtMTMyMCwxNCArMTMyMCwyOCBAQCBzdnI0X3JlYWRfc29fbGlzdCAoc3ZyNF9pbmZvICpp bmZvLCBDT1JFX0FERFIgbG0sIENPUkVfQUREUiBwcmV2X2xtLAogIAl9CiAgCiAgICAgICAgewpA QCAtNDUsNyArNDUsNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL3NvbGliLXN2cjQuYyBiL2dkYi9zb2xp Yi1zdnI0LmMKICAJaWYgKGJ1aWxkX2lkICE9IE5VTEwpCiAgCSAgewogIAkgICAgY2hhciAqbmFt ZSwgKmJ1aWxkX2lkX2ZpbGVuYW1lOwotQEAgLTEzNDMsMjMgKzEzNTcsNyBAQCBzdnI0X3JlYWRf c29fbGlzdCAoc3ZyNF9pbmZvICppbmZvLCBDT1JFX0FERFIgbG0sIENPUkVfQUREUiBwcmV2X2xt LAorQEAgLTEzNDIsMjMgKzEzNTYsNyBAQCBzdnI0X3JlYWRfc29fbGlzdCAoc3ZyNF9pbmZvICpp bmZvLCBDT1JFX0FERFIgbG0sIENPUkVfQUREUiBwcmV2X2xtLAogIAkJeGZyZWUgKG5hbWUpOwog IAkgICAgICB9CiAgCSAgICBlbHNlCgpkaWZmIC0tZ2l0IGEvZ2RiLTYuNi1idWlsZGlkLWxvY2F0 ZS5wYXRjaCBiL2dkYi02LjYtYnVpbGRpZC1sb2NhdGUucGF0Y2gKaW5kZXggYTU2Y2VlYi4uMTM1 MDA1MSAxMDA2NDQKLS0tIGEvZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS5wYXRjaAorKysgYi9nZGIt Ni42LWJ1aWxkaWQtbG9jYXRlLnBhdGNoCkBAIC05LDcgKzksNyBAQCBTdWJqZWN0OiBnZGItNi42 LWJ1aWxkaWQtbG9jYXRlLnBhdGNoCiBkaWZmIC0tZ2l0IGEvYmZkL2xpYmJmZC1pbi5oIGIvYmZk L2xpYmJmZC1pbi5oCiAtLS0gYS9iZmQvbGliYmZkLWluLmgKICsrKyBiL2JmZC9saWJiZmQtaW4u aAotQEAgLTExNSw3ICsxMTUsNyBAQCBzdGF0aWMgaW5saW5lIGNoYXIgKgorQEAgLTExMCw3ICsx MTAsNyBAQCBzdGF0aWMgaW5saW5lIGNoYXIgKgogIGJmZF9zdHJkdXAgKGNvbnN0IGNoYXIgKnN0 cikKICB7CiAgICBzaXplX3QgbGVuID0gc3RybGVuIChzdHIpICsgMTsKQEAgLTIxLDcgKzIxLDcg QEAgZGlmZiAtLWdpdCBhL2JmZC9saWJiZmQtaW4uaCBiL2JmZC9saWJiZmQtaW4uaAogZGlmZiAt LWdpdCBhL2JmZC9saWJiZmQuaCBiL2JmZC9saWJiZmQuaAogLS0tIGEvYmZkL2xpYmJmZC5oCiAr KysgYi9iZmQvbGliYmZkLmgKLUBAIC0xMjEsNyArMTIxLDcgQEAgc3RhdGljIGlubGluZSBjaGFy ICoKK0BAIC0xMTYsNyArMTE2LDcgQEAgc3RhdGljIGlubGluZSBjaGFyICoKICBiZmRfc3RyZHVw IChjb25zdCBjaGFyICpzdHIpCiAgewogICAgc2l6ZV90IGxlbiA9IHN0cmxlbiAoc3RyKSArIDE7 CkBAIC0zMyw3ICszMyw3IEBAIGRpZmYgLS1naXQgYS9iZmQvbGliYmZkLmggYi9iZmQvbGliYmZk LmgKIGRpZmYgLS1naXQgYS9nZGIvYnVpbGQtaWQuYyBiL2dkYi9idWlsZC1pZC5jCiAtLS0gYS9n ZGIvYnVpbGQtaWQuYwogKysrIGIvZ2RiL2J1aWxkLWlkLmMKLUBAIC0yNCwxMyArMjQsNzEgQEAK K0BAIC0yNCwxNCArMjQsNzIgQEAKICAjaW5jbHVkZSAiZ2Ric3VwcG9ydC9nZGJfdmVjcy5oIgog ICNpbmNsdWRlICJzeW1maWxlLmgiCiAgI2luY2x1ZGUgIm9iamZpbGVzLmgiCkBAIC00Niw2ICs0 Niw3IEBAIGRpZmYgLS1naXQgYS9nZGIvYnVpbGQtaWQuYyBiL2dkYi9idWlsZC1pZC5jCiArI2lu Y2x1ZGUgImdkYl9iZmQuaCIKICsjaW5jbHVkZSAiZ2RiY21kLmgiCiAgI2luY2x1ZGUgImdkYmNv cmUuaCIKKyAjaW5jbHVkZSAiY2xpL2NsaS1zdHlsZS5oIgogKyNpbmNsdWRlICJpbmZlcmlvci5o IgogKyNpbmNsdWRlICJvYmpmaWxlcy5oIgogKyNpbmNsdWRlICJvYnNlcnZhYmxlLmgiCkBAIC0x MDQsOSArMTA1LDkgQEAgZGlmZiAtLWdpdCBhL2dkYi9idWlsZC1pZC5jIGIvZ2RiL2J1aWxkLWlk LmMKIC1idWlsZF9pZF9iZmRfZ2V0IChiZmQgKmFiZmQpCiArYnVpbGRfaWRfYmZkX3NoZHJfZ2V0 IChiZmQgKmFiZmQpCiAgewotICAgaWYgKCFiZmRfY2hlY2tfZm9ybWF0IChhYmZkLCBiZmRfb2Jq ZWN0KQotICAgICAgICYmICFiZmRfY2hlY2tfZm9ybWF0IChhYmZkLCBiZmRfY29yZSkpCi1AQCAt NDMsNiArMTAxLDM0OCBAQCBidWlsZF9pZF9iZmRfZ2V0IChiZmQgKmFiZmQpCisgICAvKiBEeW5h bWljIG9iamZpbGVzIHN1Y2ggYXMgb25lcyBjcmVhdGVkIGJ5IEpJVCByZWFkZXIgQVBJCisgICAg ICBoYXZlIG5vIHVuZGVybHlpbmcgYmZkIHN0cnVjdHVyZSAodGhhdCBpcywgb2JqZmlsZS0+b2Jm ZAorQEAgLTUwLDYgKzEwOCwzNDggQEAgYnVpbGRfaWRfYmZkX2dldCAoYmZkICphYmZkKQogICAg cmV0dXJuIE5VTEw7CiAgfQogIApAQCAtNDU1LDcgKzQ1Niw3IEBAIGRpZmYgLS1naXQgYS9nZGIv YnVpbGQtaWQuYyBiL2dkYi9idWlsZC1pZC5jCiAgLyogU2VlIGJ1aWxkLWlkLmguICAqLwogIAog IGludAotQEAgLTUxLDcgKzQ1MSw3IEBAIGJ1aWxkX2lkX3ZlcmlmeSAoYmZkICphYmZkLCBzaXpl X3QgY2hlY2tfbGVuLCBjb25zdCBiZmRfYnl0ZSAqY2hlY2spCitAQCAtNTgsNyArNDU4LDcgQEAg YnVpbGRfaWRfdmVyaWZ5IChiZmQgKmFiZmQsIHNpemVfdCBjaGVja19sZW4sIGNvbnN0IGJmZF9i eXRlICpjaGVjaykKICAgIGNvbnN0IHN0cnVjdCBiZmRfYnVpbGRfaWQgKmZvdW5kOwogICAgaW50 IHJldHZhbCA9IDA7CiAgCkBAIC00NjQsNyArNDY1LDcgQEAgZGlmZiAtLWdpdCBhL2dkYi9idWls ZC1pZC5jIGIvZ2RiL2J1aWxkLWlkLmMKICAKICAgIGlmIChmb3VuZCA9PSBOVUxMKQogICAgICB3 YXJuaW5nIChfKCJGaWxlIFwiJXNcIiBoYXMgbm8gYnVpbGQtaWQsIGZpbGUgc2tpcHBlZCIpLAot QEAgLTY2LDYzICs0NjYsMTY2IEBAIGJ1aWxkX2lkX3ZlcmlmeSAoYmZkICphYmZkLCBzaXplX3Qg Y2hlY2tfbGVuLCBjb25zdCBiZmRfYnl0ZSAqY2hlY2spCitAQCAtNzMsNjMgKzQ3MywxNjYgQEAg YnVpbGRfaWRfdmVyaWZ5IChiZmQgKmFiZmQsIHNpemVfdCBjaGVja19sZW4sIGNvbnN0IGJmZF9i eXRlICpjaGVjaykKICAgIHJldHVybiByZXR2YWw7CiAgfQogIApAQCAtNTYxLDggKzU2Miw3IEBA IGRpZmYgLS1naXQgYS9nZGIvYnVpbGQtaWQuYyBiL2dkYi9idWlsZC1pZC5jCiAtICAgICAgaWYg KHNlcGFyYXRlX2RlYnVnX2ZpbGVfZGVidWcpCiAtCWdkYl9wcmludGYgKGdkYl9zdGRsb2csIF8o IiBubywgdW5hYmxlIHRvIG9wZW4uXG4iKSk7CiArICAgICAgc3RydWN0IHN0YXQgc3RhdGJ1Zl90 cmFzaDsKLSAKLS0gICAgICByZXR1cm4ge307CisrCiArICAgICAgLyogYGFjY2VzcycgYXV0b21h dGljYWxseSBkZXJlZmVyZW5jZXMgTElOSy4gICovCiArICAgICAgaWYgKGxzdGF0IChsaW5rLmNf c3RyICgpLCAmc3RhdGJ1Zl90cmFzaCkgIT0gMCkKICsJewpAQCAtNTk3LDcgKzU5Nyw4IEBAIGRp ZmYgLS1naXQgYS9nZGIvYnVpbGQtaWQuYyBiL2dkYi9idWlsZC1pZC5jCiArCXsKICsJICBpZiAo c2VwYXJhdGVfZGVidWdfZmlsZV9kZWJ1ZykKICsJICAgIGdkYl9wcmludGYgKGdkYl9zdGRsb2cs IF8oIiBubywgdW5hYmxlIHRvIG9wZW4uXG4iKSk7Ci0rCisgCistICAgICAgcmV0dXJuIHt9Owog KwkgIGNvbnRpbnVlOwogKwl9CiArCkBAIC02MjgsMTMgKzYyOSwxMyBAQCBkaWZmIC0tZ2l0IGEv Z2RiL2J1aWxkLWlkLmMgYi9nZGIvYnVpbGQtaWQuYwogKyAgICAgIC8qIElmIG5vbmUgb2YgdGhl IHJlYWwgZmlsZXMgaXMgZm91bmQgcmVwb3J0IGFzIG1pc3NpbmcgZmlsZQogKwkgYWx3YXlzIHRo ZSBub24tLiV1LXN1ZmZpeGVkIGZpbGUuICAqLwogKyAgICAgIHN0ZDo6c3RyaW5nIGxpbmswID0g b3JpZ19saW5rOwotKworIAorLSAgICAgIHJldHVybiB7fTsKICsgICAgICAvKiBJZiB0aGUgc3lt bGluayBoYXMgdGFyZ2V0IHJlcXVlc3QgdG8gaW5zdGFsbCB0aGUgdGFyZ2V0LgogKwkgQkFTRS1k ZWJ1Z2luZm8ucnBtIGNvbnRhaW5zIHRoZSBzeW1saW5rIGJ1dCBCQVNFLnJwbSBtYXkgYmUgbWlz c2luZy4KICsJIGh0dHBzOi8vYnVnemlsbGEucmVkaGF0LmNvbS9zaG93X2J1Zy5jZ2k/aWQ9OTgx MTU0ICAqLwogKyAgICAgIHN0ZDo6c3RyaW5nIGxpbmswX3Jlc29sdmVkIChsaW5rX3Jlc29sdmUg KGxpbmswLmNfc3RyICgpLCAwKSk7Ci0gCi0tICAgICAgcmV0dXJuIHt9OworKwogKyAgICAgIGlm IChsaW5rX2FsbC5lbXB0eSAoKSkKICsJbGlua19hbGwgPSBsaW5rMF9yZXNvbHZlZDsKICsgICAg ICBlbHNlCkBAIC02NjQsNyArNjY1LDcgQEAgZGlmZiAtLWdpdCBhL2dkYi9idWlsZC1pZC5jIGIv Z2RiL2J1aWxkLWlkLmMKICB9CiAgCiAgLyogQ29tbW9uIGNvZGUgZm9yIGZpbmRpbmcgQkZEcyBv ZiBhIGdpdmVuIGJ1aWxkLWlkLiAgVGhpcyBmdW5jdGlvbgotQEAgLTEzMSw3ICs2MzQsNyBAQCBi dWlsZF9pZF90b19kZWJ1Z19iZmRfMSAoY29uc3Qgc3RkOjpzdHJpbmcgJmxpbmssIHNpemVfdCBi dWlsZF9pZF9sZW4sCitAQCAtMTM4LDcgKzY0MSw3IEBAIGJ1aWxkX2lkX3RvX2RlYnVnX2JmZF8x IChjb25zdCBzdGQ6OnN0cmluZyAmbGluaywgc2l6ZV90IGJ1aWxkX2lkX2xlbiwKICAKICBzdGF0 aWMgZ2RiX2JmZF9yZWZfcHRyCiAgYnVpbGRfaWRfdG9fYmZkX3N1ZmZpeCAoc2l6ZV90IGJ1aWxk X2lkX2xlbiwgY29uc3QgYmZkX2J5dGUgKmJ1aWxkX2lkLApAQCAtNjczLDcgKzY3NCw3IEBAIGRp ZmYgLS1naXQgYS9nZGIvYnVpbGQtaWQuYyBiL2dkYi9idWlsZC1pZC5jCiAgewogICAgLyogS2Vl cCBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IHNvIHRoYXQgREVCVUdfRklMRV9ESVJFQ1RPUlkgYmVp bmcgIiIgd2lsbAogICAgICAgY2F1c2UgIi8uYnVpbGQtaWQvLi4uIiBsb29rdXBzLiAgKi8KLUBA IC0xNTQsMTYgKzY1NywxNyBAQCBidWlsZF9pZF90b19iZmRfc3VmZml4IChzaXplX3QgYnVpbGRf aWRfbGVuLCBjb25zdCBiZmRfYnl0ZSAqYnVpbGRfaWQsCitAQCAtMTYxLDE2ICs2NjQsMTcgQEAg YnVpbGRfaWRfdG9fYmZkX3N1ZmZpeCAoc2l6ZV90IGJ1aWxkX2lkX2xlbiwgY29uc3QgYmZkX2J5 dGUgKmJ1aWxkX2lkLAogICAgICAgIGlmIChzaXplID4gMCkKICAJewogIAkgIHNpemUtLTsKQEAg LTY5NCw3ICs2OTUsNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2J1aWxkLWlkLmMgYi9nZGIvYnVpbGQt aWQuYwogICAgICAgIGlmIChkZWJ1Z19iZmQgIT0gTlVMTCkKICAJcmV0dXJuIGRlYnVnX2JmZDsK ICAKLUBAIC0xNzQsNyArNjc4LDcgQEAgYnVpbGRfaWRfdG9fYmZkX3N1ZmZpeCAoc2l6ZV90IGJ1 aWxkX2lkX2xlbiwgY29uc3QgYmZkX2J5dGUgKmJ1aWxkX2lkLAorQEAgLTE4MSw3ICs2ODUsNyBA QCBidWlsZF9pZF90b19iZmRfc3VmZml4IChzaXplX3QgYnVpbGRfaWRfbGVuLCBjb25zdCBiZmRf Ynl0ZSAqYnVpbGRfaWQsCiAgICAgICAgaWYgKCFnZGJfc3lzcm9vdC5lbXB0eSAoKSkKICAJewog IAkgIGxpbmsgPSBnZGJfc3lzcm9vdCArIGxpbms7CkBAIC03MDMsNyArNzA0LDcgQEAgZGlmZiAt LWdpdCBhL2dkYi9idWlsZC1pZC5jIGIvZ2RiL2J1aWxkLWlkLmMKICAJICBpZiAoZGVidWdfYmZk ICE9IE5VTEwpCiAgCSAgICByZXR1cm4gZGVidWdfYmZkOwogIAl9Ci1AQCAtMTgzLDMwICs2ODcs NjYwIEBAIGJ1aWxkX2lkX3RvX2JmZF9zdWZmaXggKHNpemVfdCBidWlsZF9pZF9sZW4sIGNvbnN0 IGJmZF9ieXRlICpidWlsZF9pZCwKK0BAIC0xOTAsMzEgKzY5NCw2NjMgQEAgYnVpbGRfaWRfdG9f YmZkX3N1ZmZpeCAoc2l6ZV90IGJ1aWxkX2lkX2xlbiwgY29uc3QgYmZkX2J5dGUgKmJ1aWxkX2lk LAogICAgcmV0dXJuIHt9OwogIH0KICAKQEAgLTcyMSw2ICs3MjIsOCBAQCBkaWZmIC0tZ2l0IGEv Z2RiL2J1aWxkLWlkLmMgYi9nZGIvYnVpbGQtaWQuYwogKyAgcmV0dXJuIHJlc3VsdDsKICt9CiAr Cisrdm9pZCBkZWJ1Z19mbHVzaF9taXNzaW5nICh2b2lkKTsKKysKICsjaWZkZWYgSEFWRV9MSUJS UE0KICsKICsjaW5jbHVkZSA8cnBtL3JwbWxpYi5oPgpAQCAtMTIyMCw3ICsxMjIzLDcgQEAgZGlm ZiAtLWdpdCBhL2dkYi9idWlsZC1pZC5jIGIvZ2RiL2J1aWxkLWlkLmMKICt9CiArCiArc3RhdGlj IHZvaWQKLStkZWJ1Z19wcmludF9leGVjdXRhYmxlX2NoYW5nZWQgKHZvaWQpCisrZGVidWdfcHJp bnRfZXhlY3V0YWJsZV9jaGFuZ2VkIChzdHJ1Y3QgcHJvZ3JhbV9zcGFjZSAqcHNwYWNlLCBib29s IHJlbG9hZF9wKQogK3sKICsjaWZkZWYgSEFWRV9MSUJSUE0KICsgIG1pc3NpbmdfcnBtX2NoYW5n ZSAoKTsKQEAgLTEzNTYsOSArMTM1OSwxMCBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2J1aWxkLWlkLmMg Yi9nZGIvYnVpbGQtaWQuYwogIC8qIFNlZSBidWlsZC1pZC5oLiAgKi8KICAKICBzdGQ6OnN0cmlu ZwotLWZpbmRfc2VwYXJhdGVfZGVidWdfZmlsZV9ieV9idWlsZGlkIChzdHJ1Y3Qgb2JqZmlsZSAq b2JqZmlsZSkKLStmaW5kX3NlcGFyYXRlX2RlYnVnX2ZpbGVfYnlfYnVpbGRpZCAoc3RydWN0IG9i amZpbGUgKm9iamZpbGUsCi0rCQkJZ2RiOjp1bmlxdWVfeG1hbGxvY19wdHI8Y2hhcj4gKmJ1aWxk X2lkX2ZpbGVuYW1lX3JldHVybikKKyBmaW5kX3NlcGFyYXRlX2RlYnVnX2ZpbGVfYnlfYnVpbGRp ZCAoc3RydWN0IG9iamZpbGUgKm9iamZpbGUsCistCQkJCSAgICAgZGVmZXJyZWRfd2FybmluZ3Mg Kndhcm5pbmdzKQorKwkJCQkgICAgIGRlZmVycmVkX3dhcm5pbmdzICp3YXJuaW5ncywKKysJCQkJ ICAgICBnZGI6OnVuaXF1ZV94bWFsbG9jX3B0cjxjaGFyPiAqYnVpbGRfaWRfZmlsZW5hbWVfcmV0 dXJuKQogIHsKICAgIGNvbnN0IHN0cnVjdCBiZmRfYnVpbGRfaWQgKmJ1aWxkX2lkOwogIApAQCAt MTM3MCw3ICsxMzc0LDcgQEAgZGlmZiAtLWdpdCBhL2dkYi9idWlsZC1pZC5jIGIvZ2RiL2J1aWxk LWlkLmMKICAgIGlmIChidWlsZF9pZCAhPSBOVUxMKQogICAgICB7CiAgICAgICAgaWYgKHNlcGFy YXRlX2RlYnVnX2ZpbGVfZGVidWcpCi1AQCAtMjE0LDggKzEzNDgsMjEgQEAgZmluZF9zZXBhcmF0 ZV9kZWJ1Z19maWxlX2J5X2J1aWxkaWQgKHN0cnVjdCBvYmpmaWxlICpvYmpmaWxlKQorQEAgLTIy Miw4ICsxMzU4LDIxIEBAIGZpbmRfc2VwYXJhdGVfZGVidWdfZmlsZV9ieV9idWlsZGlkIChzdHJ1 Y3Qgb2JqZmlsZSAqb2JqZmlsZSwKICAJCSAgICBfKCJcbkxvb2tpbmcgZm9yIHNlcGFyYXRlIGRl YnVnIGluZm8gKGJ1aWxkLWlkKSBmb3IgIgogIAkJICAgICAgIiVzXG4iKSwgb2JqZmlsZV9uYW1l IChvYmpmaWxlKSk7CiAgCkBAIC0xMzkzLDcgKzEzOTcsNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2J1 aWxkLWlkLmMgYi9nZGIvYnVpbGQtaWQuYwogICAgICAgIC8qIFByZXZlbnQgbG9vcGluZyBvbiBh IHN0cmlwcGVkIC5kZWJ1ZyBmaWxlLiAgKi8KICAgICAgICBpZiAoYWJmZCAhPSBOVUxMCiAgCSAg JiYgZmlsZW5hbWVfY21wIChiZmRfZ2V0X2ZpbGVuYW1lIChhYmZkLmdldCAoKSksCi1AQCAtMjI4 LDMgKzEzNzUsMjIgQEAgZmluZF9zZXBhcmF0ZV9kZWJ1Z19maWxlX2J5X2J1aWxkaWQgKHN0cnVj dCBvYmpmaWxlICpvYmpmaWxlKQorQEAgLTI0MywzICsxMzkyLDIyIEBAIGZpbmRfc2VwYXJhdGVf ZGVidWdfZmlsZV9ieV9idWlsZGlkIChzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSwKICAKICAgIHJl dHVybiBzdGQ6OnN0cmluZyAoKTsKICB9CkBAIC0xNDMyLDcgKzE0MzYsNyBAQCBkaWZmIC0tZ2l0 IGEvZ2RiL2J1aWxkLWlkLmggYi9nZGIvYnVpbGQtaWQuaAogIAogIC8qIFJldHVybiB0cnVlIGlm IEFCRkQgaGFzIE5UX0dOVV9CVUlMRF9JRCBtYXRjaGluZyB0aGUgQ0hFQ0sgdmFsdWUuCiAgICAg T3RoZXJ3aXNlLCBpc3N1ZSBhIHdhcm5pbmcgYW5kIHJldHVybiBmYWxzZS4gICovCi1AQCAtMzgs MjEgKzM5LDI2IEBAIGV4dGVybiBpbnQgYnVpbGRfaWRfdmVyaWZ5IChiZmQgKmFiZmQsCitAQCAt MzgsMTQgKzM5LDE5IEBAIGV4dGVybiBpbnQgYnVpbGRfaWRfdmVyaWZ5IChiZmQgKmFiZmQsCiAg ICAgY2FuIGJlIGZvdW5kLCByZXR1cm4gTlVMTC4gICovCiAgCiAgZXh0ZXJuIGdkYl9iZmRfcmVm X3B0ciBidWlsZF9pZF90b19kZWJ1Z19iZmQgKHNpemVfdCBidWlsZF9pZF9sZW4sCkBAIC0xNDU0 LDM1ICsxNDU4LDM1IEBAIGRpZmYgLS1naXQgYS9nZGIvYnVpbGQtaWQuaCBiL2dkYi9idWlsZC1p ZC5oCiAgCiAgLyogRmluZCB0aGUgc2VwYXJhdGUgZGVidWcgZmlsZSBmb3IgT0JKRklMRSwgYnkg dXNpbmcgdGhlIGJ1aWxkLWlkCiAgICAgYXNzb2NpYXRlZCB3aXRoIE9CSkZJTEUncyBCRkQuICBJ ZiBzdWNjZXNzZnVsLCByZXR1cm5zIHRoZSBmaWxlIG5hbWUgZm9yIHRoZQotICAgIHNlcGFyYXRl IGRlYnVnIGZpbGUsIG90aGVyd2lzZSwgcmV0dXJuIGFuIGVtcHR5IHN0cmluZy4gICovCitAQCAt NTgsNyArNjQsOCBAQCBleHRlcm4gZ2RiX2JmZF9yZWZfcHRyIGJ1aWxkX2lkX3RvX2V4ZWNfYmZk IChzaXplX3QgYnVpbGRfaWRfbGVuLAorICAgIHdpbGwgYmUgcHJpbnRlZC4gICovCiAgCi0tZXh0 ZXJuIHN0ZDo6c3RyaW5nIGZpbmRfc2VwYXJhdGVfZGVidWdfZmlsZV9ieV9idWlsZGlkCi0tICAo c3RydWN0IG9iamZpbGUgKm9iamZpbGUpOwotK2V4dGVybiBzdGQ6OnN0cmluZyBmaW5kX3NlcGFy YXRlX2RlYnVnX2ZpbGVfYnlfYnVpbGRpZCAoc3RydWN0IG9iamZpbGUgKm9iamZpbGUsCi0rCQkg ICAgICAgZ2RiOjp1bmlxdWVfeG1hbGxvY19wdHI8Y2hhcj4gKmJ1aWxkX2lkX2ZpbGVuYW1lX3Jl dHVybik7CisgZXh0ZXJuIHN0ZDo6c3RyaW5nIGZpbmRfc2VwYXJhdGVfZGVidWdfZmlsZV9ieV9i dWlsZGlkCistICAoc3RydWN0IG9iamZpbGUgKm9iamZpbGUsIGRlZmVycmVkX3dhcm5pbmdzICp3 YXJuaW5ncyk7CisrICAoc3RydWN0IG9iamZpbGUgKm9iamZpbGUsIGRlZmVycmVkX3dhcm5pbmdz ICp3YXJuaW5ncywKKysgICBnZGI6OnVuaXF1ZV94bWFsbG9jX3B0cjxjaGFyPiAqYnVpbGRfaWRf ZmlsZW5hbWVfcmV0dXJuKTsKICAKICAvKiBSZXR1cm4gYW4gaGV4LXN0cmluZyByZXByZXNlbnRh dGlvbiBvZiBCVUlMRF9JRC4gICovCiAgCiBkaWZmIC0tZ2l0IGEvZ2RiL2NvZmZyZWFkLmMgYi9n ZGIvY29mZnJlYWQuYwogLS0tIGEvZ2RiL2NvZmZyZWFkLmMKICsrKyBiL2dkYi9jb2ZmcmVhZC5j Ci1AQCAtNzM0LDcgKzczNCw4IEBAIGNvZmZfc3ltZmlsZV9yZWFkIChzdHJ1Y3Qgb2JqZmlsZSAq b2JqZmlsZSwgc3ltZmlsZV9hZGRfZmxhZ3Mgc3ltZmlsZV9mbGFncykKLSAgIC8qIFRyeSB0byBh ZGQgc2VwYXJhdGUgZGVidWcgZmlsZSBpZiBubyBzeW1ib2xzIHRhYmxlIGZvdW5kLiAgICovCi0g ICBpZiAoIW9iamZpbGUtPmhhc19wYXJ0aWFsX3N5bWJvbHMgKCkpCitAQCAtNzI5LDcgKzcyOSw3 IEBAIGNvZmZfc3ltZmlsZV9yZWFkIChzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSwgc3ltZmlsZV9h ZGRfZmxhZ3Mgc3ltZmlsZV9mbGFncykKICAgICAgewotLSAgICAgIHN0ZDo6c3RyaW5nIGRlYnVn ZmlsZSA9IGZpbmRfc2VwYXJhdGVfZGVidWdfZmlsZV9ieV9idWlsZGlkIChvYmpmaWxlKTsKLSsg ICAgICBzdGQ6OnN0cmluZyBkZWJ1Z2ZpbGUgPSBmaW5kX3NlcGFyYXRlX2RlYnVnX2ZpbGVfYnlf YnVpbGRpZCAob2JqZmlsZSwKLSsJCQkJCQkJCSAgIE5VTEwpOworICAgICAgIGRlZmVycmVkX3dh cm5pbmdzIHdhcm5pbmdzOworICAgICAgIHN0ZDo6c3RyaW5nIGRlYnVnZmlsZQorLQk9IGZpbmRf c2VwYXJhdGVfZGVidWdfZmlsZV9ieV9idWlsZGlkIChvYmpmaWxlLCAmd2FybmluZ3MpOworKwk9 IGZpbmRfc2VwYXJhdGVfZGVidWdfZmlsZV9ieV9idWlsZGlkIChvYmpmaWxlLCAmd2FybmluZ3Ms IE5VTEwpOwogIAogICAgICAgIGlmIChkZWJ1Z2ZpbGUuZW1wdHkgKCkpCi0gCWRlYnVnZmlsZSA9 IGZpbmRfc2VwYXJhdGVfZGVidWdfZmlsZV9ieV9kZWJ1Z2xpbmsgKG9iamZpbGUpOworIAlkZWJ1 Z2ZpbGUKIGRpZmYgLS1naXQgYS9nZGIvY29yZWxvdy5jIGIvZ2RiL2NvcmVsb3cuYwogLS0tIGEv Z2RiL2NvcmVsb3cuYwogKysrIGIvZ2RiL2NvcmVsb3cuYwogQEAgLTIyLDYgKzIyLDEwIEBACiAg I2luY2x1ZGUgPHNpZ25hbC5oPgogICNpbmNsdWRlIDxmY250bC5oPgotICNpbmNsdWRlICJmcmFt ZS5oIgkJLyogcmVxdWlyZWQgYnkgaW5mZXJpb3IuaCAqLworICNpbmNsdWRlICJmcmFtZS5oIgog KyNpbmNsdWRlICJhdXh2LmgiCiArI2luY2x1ZGUgImJ1aWxkLWlkLmgiCiArI2luY2x1ZGUgImVs Zi9jb21tb24uaCIKQEAgLTE0OTAsNyArMTQ5NCw3IEBAIGRpZmYgLS1naXQgYS9nZGIvY29yZWxv dy5jIGIvZ2RiL2NvcmVsb3cuYwogICNpbmNsdWRlICJpbmZlcmlvci5oIgogICNpbmNsdWRlICJp bmZydW4uaCIKICAjaW5jbHVkZSAic3ltdGFiLmgiCi1AQCAtMzkxLDYgKzM5NSw4IEBAIGFkZF90 b190aHJlYWRfbGlzdCAoYXNlY3Rpb24gKmFzZWN0LCBhc2VjdGlvbiAqcmVnX3NlY3QpCitAQCAt MzgwLDYgKzM4NCw4IEBAIGFkZF90b190aHJlYWRfbGlzdCAoYXNlY3Rpb24gKmFzZWN0LCBhc2Vj dGlvbiAqcmVnX3NlY3QsIGluZmVyaW9yICppbmYpCiAgICAgIHN3aXRjaF90b190aHJlYWQgKHRo cik7CQkJLyogWWVzLCBtYWtlIGl0IGN1cnJlbnQuICAqLwogIH0KICAKQEAgLTE0OTksNyArMTUw Myw3IEBAIGRpZmYgLS1naXQgYS9nZGIvY29yZWxvdy5jIGIvZ2RiL2NvcmVsb3cuYwogIC8qIElz c3VlIGEgbWVzc2FnZSBzYXlpbmcgd2UgaGF2ZSBubyBjb3JlIHRvIGRlYnVnLCBpZiBGUk9NX1RU WS4gICovCiAgCiAgc3RhdGljIHZvaWQKLUBAIC00MjcsMTIgKzQzMywxNCBAQCBjb3JlX2ZpbGVf Y29tbWFuZCAoY29uc3QgY2hhciAqZmlsZW5hbWUsIGludCBmcm9tX3R0eSkKK0BAIC01NjMsMTIg KzU2OSwxNCBAQCByZW5hbWVfdm1jb3JlX2lkbGVfcmVnX3NlY3Rpb25zIChiZmQgKmFiZmQsIGlu ZmVyaW9yICppbmYpCiAgc3RhdGljIHZvaWQKICBsb2NhdGVfZXhlY19mcm9tX2NvcmVmaWxlX2J1 aWxkX2lkIChiZmQgKmFiZmQsIGludCBmcm9tX3R0eSkKICB7CkBAIC0xNTE2LDcgKzE1MjAsNyBA QCBkaWZmIC0tZ2l0IGEvZ2RiL2NvcmVsb3cuYyBiL2dkYi9jb3JlbG93LmMKICAKICAgIGlmIChl eGVjYmZkID09IG51bGxwdHIpCiAgICAgIHsKLUBAIC00NjAsNyArNDY4LDEyIEBAIGxvY2F0ZV9l eGVjX2Zyb21fY29yZWZpbGVfYnVpbGRfaWQgKGJmZCAqYWJmZCwgaW50IGZyb21fdHR5KQorQEAg LTU5Niw3ICs2MDQsMTIgQEAgbG9jYXRlX2V4ZWNfZnJvbV9jb3JlZmlsZV9idWlsZF9pZCAoYmZk ICphYmZkLCBpbnQgZnJvbV90dHkpCiAgICAgICAgZXhlY19maWxlX2F0dGFjaCAoYmZkX2dldF9m aWxlbmFtZSAoZXhlY2JmZC5nZXQgKCkpLCBmcm9tX3R0eSk7CiAgICAgICAgc3ltYm9sX2ZpbGVf YWRkX21haW4gKGJmZF9nZXRfZmlsZW5hbWUgKGV4ZWNiZmQuZ2V0ICgpKSwKICAJCQkgICAgc3lt ZmlsZV9hZGRfZmxhZyAoZnJvbV90dHkgPyBTWU1GSUxFX1ZFUkJPU0UgOiAwKSk7CkBAIC0xNTI5 LDcgKzE1MzMsNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2NvcmVsb3cuYyBiL2dkYi9jb3JlbG93LmMK ICB9CiAgCiAgLyogU2VlIGdkYmNvcmUuaC4gICovCi1AQCAtMTMyNSw0ICsxMzM4LDExIEBAIF9p bml0aWFsaXplX2NvcmVsb3cgKCkKK0BAIC0xNTA2LDQgKzE1MTksMTEgQEAgX2luaXRpYWxpemVf Y29yZWxvdyAoKQogIAkgICBtYWludGVuYW5jZV9wcmludF9jb3JlX2ZpbGVfYmFja2VkX21hcHBp bmdzLAogIAkgICBfKCJQcmludCBjb3JlIGZpbGUncyBmaWxlLWJhY2tlZCBtYXBwaW5ncy4iKSwK ICAJICAgJm1haW50ZW5hbmNlcHJpbnRsaXN0KTsKQEAgLTE1NDQsNyArMTU0OCw3IEBAIGRpZmYg LS1naXQgYS9nZGIvY29yZWxvdy5jIGIvZ2RiL2NvcmVsb3cuYwogZGlmZiAtLWdpdCBhL2dkYi9k b2MvZ2RiLnRleGluZm8gYi9nZGIvZG9jL2dkYi50ZXhpbmZvCiAtLS0gYS9nZGIvZG9jL2dkYi50 ZXhpbmZvCiArKysgYi9nZGIvZG9jL2dkYi50ZXhpbmZvCi1AQCAtMjIwMzcsNiArMjIwMzcsMjcg QEAgaW5mb3JtYXRpb24gZmlsZXMuCitAQCAtMjIyOTYsNiArMjIyOTYsMjcgQEAgaW5mb3JtYXRp b24gZmlsZXMuCiAgCiAgQGVuZCB0YWJsZQogIApAQCAtMTU3NSwxNiArMTU3OSwxNiBAQCBkaWZm IC0tZ2l0IGEvZ2RiL2RvYy9nZGIudGV4aW5mbyBiL2dkYi9kb2MvZ2RiLnRleGluZm8KIGRpZmYg LS1naXQgYS9nZGIvZHdhcmYyL2luZGV4LWNhY2hlLmMgYi9nZGIvZHdhcmYyL2luZGV4LWNhY2hl LmMKIC0tLSBhL2dkYi9kd2FyZjIvaW5kZXgtY2FjaGUuYwogKysrIGIvZ2RiL2R3YXJmMi9pbmRl eC1jYWNoZS5jCi1AQCAtMTAxLDcgKzEwMSw3IEBAIGluZGV4X2NhY2hlOjpzdG9yZSAoZHdhcmYy X3Blcl9vYmpmaWxlICpwZXJfb2JqZmlsZSkKK0BAIC05Niw3ICs5Niw3IEBAIGluZGV4X2NhY2hl X3N0b3JlX2NvbnRleHQ6OmluZGV4X2NhY2hlX3N0b3JlX2NvbnRleHQgKGNvbnN0IGluZGV4X2Nh Y2hlICZpYywKICAgICAgcmV0dXJuOwogIAogICAgLyogR2V0IGJ1aWxkIGlkIG9mIG9iamZpbGUu ICAqLwotLSAgY29uc3QgYmZkX2J1aWxkX2lkICpidWlsZF9pZCA9IGJ1aWxkX2lkX2JmZF9nZXQg KG9iai0+b2JmZC5nZXQgKCkpOwotKyAgY29uc3QgYmZkX2J1aWxkX2lkICpidWlsZF9pZCA9IGJ1 aWxkX2lkX2JmZF9zaGRyX2dldCAob2JqLT5vYmZkLmdldCAoKSk7CistICBjb25zdCBiZmRfYnVp bGRfaWQgKmJ1aWxkX2lkID0gYnVpbGRfaWRfYmZkX2dldCAocGVyX2JmZC0+b2JmZCk7CisrICBj b25zdCBiZmRfYnVpbGRfaWQgKmJ1aWxkX2lkID0gYnVpbGRfaWRfYmZkX3NoZHJfZ2V0IChwZXJf YmZkLT5vYmZkKTsKICAgIGlmIChidWlsZF9pZCA9PSBudWxscHRyKQogICAgICB7CiAgICAgICAg aW5kZXhfY2FjaGVfZGVidWcgKCJvYmpmaWxlICVzIGhhcyBubyBidWlsZCBpZCIsCi1AQCAtMTE4 LDcgKzExOCw4IEBAIGluZGV4X2NhY2hlOjpzdG9yZSAoZHdhcmYyX3Blcl9vYmpmaWxlICpwZXJf b2JqZmlsZSkKK0BAIC0xMTEsNyArMTExLDggQEAgaW5kZXhfY2FjaGVfc3RvcmVfY29udGV4dDo6 aW5kZXhfY2FjaGVfc3RvcmVfY29udGV4dCAoY29uc3QgaW5kZXhfY2FjaGUgJmljLAogIAogICAg aWYgKGR3eiAhPSBudWxscHRyKQogICAgICB7CkBAIC0xNTk3LDcgKzE2MDEsNyBAQCBkaWZmIC0t Z2l0IGEvZ2RiL2R3YXJmMi9pbmRleC1jYWNoZS5jIGIvZ2RiL2R3YXJmMi9pbmRleC1jYWNoZS5j CiBkaWZmIC0tZ2l0IGEvZ2RiL2R3YXJmMi9yZWFkLmMgYi9nZGIvZHdhcmYyL3JlYWQuYwogLS0t IGEvZ2RiL2R3YXJmMi9yZWFkLmMKICsrKyBiL2dkYi9kd2FyZjIvcmVhZC5jCi1AQCAtNTMyOCw3 ICs1MzI4LDcgQEAgZ2V0X2dkYl9pbmRleF9jb250ZW50c19mcm9tX3NlY3Rpb24gKG9iamZpbGUg Km9iaiwgVCAqc2VjdGlvbl9vd25lcikKK0BAIC0zMzU1LDcgKzMzNTUsNyBAQCBnZXRfZ2RiX2lu ZGV4X2NvbnRlbnRzX2Zyb21fc2VjdGlvbiAob2JqZmlsZSAqb2JqLCBUICpzZWN0aW9uX293bmVy KQogIHN0YXRpYyBnZGI6OmFycmF5X3ZpZXc8Y29uc3QgZ2RiX2J5dGU+CiAgZ2V0X2dkYl9pbmRl eF9jb250ZW50c19mcm9tX2NhY2hlIChvYmpmaWxlICpvYmosIGR3YXJmMl9wZXJfYmZkICpkd2Fy ZjJfcGVyX2JmZCkKICB7CkBAIC0xNjA2LDcgKzE2MTAsNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2R3 YXJmMi9yZWFkLmMgYi9nZGIvZHdhcmYyL3JlYWQuYwogICAgaWYgKGJ1aWxkX2lkID09IG51bGxw dHIpCiAgICAgIHJldHVybiB7fTsKICAKLUBAIC01MzQxLDcgKzUzNDEsNyBAQCBnZXRfZ2RiX2lu ZGV4X2NvbnRlbnRzX2Zyb21fY2FjaGUgKG9iamZpbGUgKm9iaiwgZHdhcmYyX3Blcl9iZmQgKmR3 YXJmMl9wZXJfYmZkKQorQEAgLTMzNjgsNyArMzM2OCw3IEBAIGdldF9nZGJfaW5kZXhfY29udGVu dHNfZnJvbV9jYWNoZSAob2JqZmlsZSAqb2JqLCBkd2FyZjJfcGVyX2JmZCAqZHdhcmYyX3Blcl9i ZmQpCiAgc3RhdGljIGdkYjo6YXJyYXlfdmlldzxjb25zdCBnZGJfYnl0ZT4KICBnZXRfZ2RiX2lu ZGV4X2NvbnRlbnRzX2Zyb21fY2FjaGVfZHd6IChvYmpmaWxlICpvYmosIGR3el9maWxlICpkd3op CiAgewpAQCAtMTYxOCwxOCArMTYyMiwxOSBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2R3YXJmMi9yZWFk LmMgYi9nZGIvZHdhcmYyL3JlYWQuYwogZGlmZiAtLWdpdCBhL2dkYi9lbGZyZWFkLmMgYi9nZGIv ZWxmcmVhZC5jCiAtLS0gYS9nZGIvZWxmcmVhZC5jCiArKysgYi9nZGIvZWxmcmVhZC5jCi1AQCAt MTIxMyw3ICsxMjEzLDkgQEAgZWxmX3N5bWZpbGVfcmVhZF9kd2FyZjIgKHN0cnVjdCBvYmpmaWxl ICpvYmpmaWxlLAotIAkgICAmJiBvYmpmaWxlLT5zZXBhcmF0ZV9kZWJ1Z19vYmpmaWxlID09IE5V TEwKLSAJICAgJiYgb2JqZmlsZS0+c2VwYXJhdGVfZGVidWdfb2JqZmlsZV9iYWNrbGluayA9PSBO VUxMKQorQEAgLTEyMjAsOCArMTIyMCwxMCBAQCBlbGZfc3ltZmlsZV9yZWFkX2R3YXJmMiAoc3Ry dWN0IG9iamZpbGUgKm9iamZpbGUsCiAgICAgIHsKLS0gICAgICBzdGQ6OnN0cmluZyBkZWJ1Z2Zp bGUgPSBmaW5kX3NlcGFyYXRlX2RlYnVnX2ZpbGVfYnlfYnVpbGRpZCAob2JqZmlsZSk7CisgICAg ICAgZGVmZXJyZWRfd2FybmluZ3Mgd2FybmluZ3M7CisgCiArICAgICAgZ2RiOjp1bmlxdWVfeG1h bGxvY19wdHI8Y2hhcj4gYnVpbGRfaWRfZmlsZW5hbWU7Ci0rICAgICAgc3RkOjpzdHJpbmcgZGVi dWdmaWxlCi0rCT0gZmluZF9zZXBhcmF0ZV9kZWJ1Z19maWxlX2J5X2J1aWxkaWQgKG9iamZpbGUs ICZidWlsZF9pZF9maWxlbmFtZSk7CisgICAgICAgc3RkOjpzdHJpbmcgZGVidWdmaWxlCistCT0g ZmluZF9zZXBhcmF0ZV9kZWJ1Z19maWxlX2J5X2J1aWxkaWQgKG9iamZpbGUsICZ3YXJuaW5ncyk7 CisrCT0gZmluZF9zZXBhcmF0ZV9kZWJ1Z19maWxlX2J5X2J1aWxkaWQgKG9iamZpbGUsICZ3YXJu aW5ncywKKysJCQkJCSAgICAgICAmYnVpbGRfaWRfZmlsZW5hbWUpOwogIAogICAgICAgIGlmIChk ZWJ1Z2ZpbGUuZW1wdHkgKCkpCi0gCWRlYnVnZmlsZSA9IGZpbmRfc2VwYXJhdGVfZGVidWdfZmls ZV9ieV9kZWJ1Z2xpbmsgKG9iamZpbGUpOwotQEAgLTEyMjksNyArMTIzMSw3IEBAIGVsZl9zeW1m aWxlX3JlYWRfZHdhcmYyIChzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSwKKyAJZGVidWdmaWxlID0g ZmluZF9zZXBhcmF0ZV9kZWJ1Z19maWxlX2J5X2RlYnVnbGluayAob2JqZmlsZSwgJndhcm5pbmdz KTsKK0BAIC0xMjM5LDcgKzEyNDEsNyBAQCBlbGZfc3ltZmlsZV9yZWFkX2R3YXJmMiAoc3RydWN0 IG9iamZpbGUgKm9iamZpbGUsCiAgCXsKICAJICBoYXNfZHdhcmYyID0gZmFsc2U7CiAgCSAgY29u c3Qgc3RydWN0IGJmZF9idWlsZF9pZCAqYnVpbGRfaWQKQEAgLTE2MzgsNyArMTY0Myw3IEBAIGRp ZmYgLS1naXQgYS9nZGIvZWxmcmVhZC5jIGIvZ2RiL2VsZnJlYWQuYwogIAkgIGNvbnN0IGNoYXIg KmZpbGVuYW1lID0gYmZkX2dldF9maWxlbmFtZSAob2JqZmlsZS0+b2JmZC5nZXQgKCkpOwogIAog IAkgIGlmIChidWlsZF9pZCAhPSBudWxscHRyKQotQEAgLTEyNTYsNiArMTI1OCwxMSBAQCBlbGZf c3ltZmlsZV9yZWFkX2R3YXJmMiAoc3RydWN0IG9iamZpbGUgKm9iamZpbGUsCitAQCAtMTI2NSw2 ICsxMjY3LDExIEBAIGVsZl9zeW1maWxlX3JlYWRfZHdhcmYyIChzdHJ1Y3Qgb2JqZmlsZSAqb2Jq ZmlsZSwKICAJCSAgICAgIGhhc19kd2FyZjIgPSB0cnVlOwogIAkJICAgIH0KICAJCX0KQEAgLTE2 NDksNyArMTY1NCw3IEBAIGRpZmYgLS1naXQgYS9nZGIvZWxmcmVhZC5jIGIvZ2RiL2VsZnJlYWQu YwogKwkJICBkZWJ1Z19wcmludF9taXNzaW5nIChvYmpmaWxlX25hbWUgKG9iamZpbGUpLCBidWls ZF9pZF9maWxlbmFtZS5nZXQgKCkpOwogIAkgICAgfQogIAl9Ci0gICAgIH0KKyAgICAgICAvKiBJ ZiBhbGwgdGhlIG1ldGhvZHMgdG8gY29sbGVjdCB0aGUgZGVidWdpbmZvIGZhaWxlZCwgcHJpbnQg dGhlCiBkaWZmIC0tZ2l0IGEvZ2RiL2V4ZWMuYyBiL2dkYi9leGVjLmMKIC0tLSBhL2dkYi9leGVj LmMKICsrKyBiL2dkYi9leGVjLmMKQEAgLTE2NzQsOCArMTY3OSw4IEBAIGRpZmYgLS1naXQgYS9n ZGIvZXhlYy5jIGIvZ2RiL2V4ZWMuYwogZGlmZiAtLWdpdCBhL2dkYi9vYmpmaWxlcy5oIGIvZ2Ri L29iamZpbGVzLmgKIC0tLSBhL2dkYi9vYmpmaWxlcy5oCiArKysgYi9nZGIvb2JqZmlsZXMuaAot QEAgLTc4Niw2ICs3ODYsMTAgQEAgc3RydWN0IG9iamZpbGUKLSAgIGJvb2wgc2tpcF9qaXRfc3lt Ym9sX2xvb2t1cCA9IGZhbHNlOworQEAgLTg4NCw2ICs4ODQsMTAgQEAgc3RydWN0IG9iamZpbGUK KyAgIGJvb2wgb2JqZWN0X2Zvcm1hdF9oYXNfY29weV9yZWxvY3MgPSBmYWxzZTsKICB9OwogIAog Ky8qIFRoaXMgZmlsZSB3YXMgbG9hZGVkIGFjY29yZGluZyB0byB0aGUgQlVJTERfSURfQ09SRV9M T0FEUyBydWxlcy4gICovCkBAIC0xNzA5LDcgKzE3MTQsNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL3B5 dGhvbi9weS1vYmpmaWxlLmMgYi9nZGIvcHl0aG9uL3B5LW9iamZpbGUuYwogZGlmZiAtLWdpdCBh L2dkYi9zb2xpYi1zdnI0LmMgYi9nZGIvc29saWItc3ZyNC5jCiAtLS0gYS9nZGIvc29saWItc3Zy NC5jCiArKysgYi9nZGIvc29saWItc3ZyNC5jCi1AQCAtNDUsNiArNDUsNyBAQAorQEAgLTQ0LDYg KzQ0LDcgQEAKICAjaW5jbHVkZSAiYXV4di5oIgogICNpbmNsdWRlICJnZGJfYmZkLmgiCiAgI2lu Y2x1ZGUgInByb2JlLmgiCkBAIC0xNzE3LDcgKzE3MjIsNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL3Nv bGliLXN2cjQuYyBiL2dkYi9zb2xpYi1zdnI0LmMKICAKICAjaW5jbHVkZSA8bWFwPgogIAotQEAg LTEzMTksOSArMTMyMCw1MSBAQCBzdnI0X3JlYWRfc29fbGlzdCAoc3ZyNF9pbmZvICppbmZvLCBD T1JFX0FERFIgbG0sIENPUkVfQUREUiBwcmV2X2xtLAorQEAgLTEzMTgsOSArMTMxOSw1MSBAQCBz dnI0X3JlYWRfc29fbGlzdCAoc3ZyNF9pbmZvICppbmZvLCBDT1JFX0FERFIgbG0sIENPUkVfQURE UiBwcmV2X2xtLAogIAkgIGNvbnRpbnVlOwogIAl9CiAgCkBAIC0xNzc1LDcgKzE3ODAsNyBAQCBk aWZmIC0tZ2l0IGEvZ2RiL3NvbGliLXN2cjQuYyBiL2dkYi9zb2xpYi1zdnI0LmMKIGRpZmYgLS1n aXQgYS9nZGIvc291cmNlLmMgYi9nZGIvc291cmNlLmMKIC0tLSBhL2dkYi9zb3VyY2UuYwogKysr IGIvZ2RiL3NvdXJjZS5jCi1AQCAtMTE5Niw3ICsxMTk2LDcgQEAgb3Blbl9zb3VyY2VfZmlsZSAo c3RydWN0IHN5bXRhYiAqcykKK0BAIC0xMTY3LDcgKzExNjcsNyBAQCBvcGVuX3NvdXJjZV9maWxl IChzdHJ1Y3Qgc3ltdGFiICpzKQogIAkgICAgfQogIAogIAkgIGNvbnN0IHN0cnVjdCBiZmRfYnVp bGRfaWQgKmJ1aWxkX2lkCkBAIC0xNzg3LDcgKzE3OTIsNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL3Nv dXJjZS5jIGIvZ2RiL3NvdXJjZS5jCiBkaWZmIC0tZ2l0IGEvZ2RiL3N5bWZpbGUuaCBiL2dkYi9z eW1maWxlLmgKIC0tLSBhL2dkYi9zeW1maWxlLmgKICsrKyBiL2dkYi9zeW1maWxlLmgKLUBAIC0z NDIsMTIgKzM0MiwxOCBAQCBib29sIGV4cGFuZF9zeW10YWJzX21hdGNoaW5nCitAQCAtMzU3LDEy ICszNTcsMTggQEAgYm9vbCBleHBhbmRfc3ltdGFic19tYXRjaGluZwogIHZvaWQgbWFwX3N5bWJv bF9maWxlbmFtZXMgKGdkYjo6ZnVuY3Rpb25fdmlldzxzeW1ib2xfZmlsZW5hbWVfZnR5cGU+IGZ1 biwKICAJCQkgICBib29sIG5lZWRfZnVsbG5hbWUpOwogIApAQCAtMTgwOSw3ICsxODE0LDcgQEAg ZGlmZiAtLWdpdCBhL2dkYi9zeW1maWxlLmggYi9nZGIvc3ltZmlsZS5oCiBkaWZmIC0tZ2l0IGEv Z2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9jb3JlZmlsZS5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5i YXNlL2NvcmVmaWxlLmV4cAogLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9jb3JlZmlsZS5l eHAKICsrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvY29yZWZpbGUuZXhwCi1AQCAtMzQ5LDMg KzM0OSwzMyBAQCBnZGJfdGVzdF9tdWx0aXBsZSAiY29yZS1maWxlICRjb3JlZmlsZSIgJHRlc3Qg eworQEAgLTM0NywzICszNDcsMzMgQEAgZ2RiX3Rlc3RfbXVsdGlwbGUgImNvcmUtZmlsZSAkY29y ZWZpbGUiICR0ZXN0IHsKICAJcGFzcyAkdGVzdAogICAgICB9CiAgfQpAQCAtMTg0Niw3ICsxODUx LDcgQEAgZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvY29yZWZpbGUuZXhwIGIv Z2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9jb3JlZmkKIGRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRl L2dkYi5iYXNlL2dkYmluaXQtaGlzdG9yeS5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2dk YmluaXQtaGlzdG9yeS5leHAKIC0tLSBhL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZ2RiaW5pdC1o aXN0b3J5LmV4cAogKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9nZGJpbml0LWhpc3Rvcnku ZXhwCi1AQCAtMTg1LDcgKzE4NSw4IEBAIHByb2MgdGVzdF9lbXB0eV9oaXN0b3J5X2ZpbGVuYW1l IHsgfSB7CitAQCAtMTc5LDcgKzE3OSw4IEBAIHByb2MgdGVzdF9lbXB0eV9oaXN0b3J5X2ZpbGVu YW1lIHsgfSB7CiAgICAgIGdsb2JhbCBlbnYKICAgICAgZ2xvYmFsIGdkYl9wcm9tcHQKICAKQEAg LTE4NzAsMTcgKzE4NzUsMTcgQEAgZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uv bmV3LXVpLXBlbmRpbmctaW5wdXQuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIKIGRpZmYgLS1naXQg YS9nZGIvdGVzdHN1aXRlL2xpYi9nZGIuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9saWIvZ2RiLmV4cAog LS0tIGEvZ2RiL3Rlc3RzdWl0ZS9saWIvZ2RiLmV4cAogKysrIGIvZ2RiL3Rlc3RzdWl0ZS9saWIv Z2RiLmV4cAotQEAgLTIxNyw3ICsyMTcsOCBAQCBpZiAhW2luZm8gZXhpc3RzIElOVEVSTkFMX0dE QkZMQUdTXSB7Ci0gCQkgICAiLW53IiBcCitAQCAtMjI2LDcgKzIyNiw4IEBAIGlmICFbaW5mbyBl eGlzdHMgSU5URVJOQUxfR0RCRkxBR1NdIHsKICAJCSAgICItbngiIFwKKyAJCSAgICItcSIgXAog IAkJICAgey1pZXggInNldCBoZWlnaHQgMCJ9IFwKIC0JCSAgIHstaWV4ICJzZXQgd2lkdGggMCJ9 XV0KICsJCSAgIHstaWV4ICJzZXQgd2lkdGggMCJ9IFwKICsJCSAgIHstaWV4ICJzZXQgYnVpbGQt aWQtdmVyYm9zZSAwIn1dXQogIAotICAgICBzZXQgSU5URVJOQUxfR0RCRkxBR1MgW2FwcGVuZF9n ZGJfZGF0YV9kaXJlY3Rvcnlfb3B0aW9uICRJTlRFUk5BTF9HREJGTEFHU10KLSB9Ci1AQCAtMjM0 OSw2ICsyMzUwLDE3IEBAIHByb2MgZGVmYXVsdF9nZGJfc3RhcnQgeyB9IHsKKyAgICAgIyBJZiBE RUJVR0lORk9EX1VSTFMgaXMgc2V0LCBnZGIgd2lsbCB0cnkgdG8gZG93bmxvYWQgc291cmNlcyBh bmQKKyAgICAgIyBkZWJ1ZyBpbmZvIGZvciBmLmkuIHN5c3RlbSBsaWJyYXJpZXMuICBQcmV2ZW50 IHRoaXMuCitAQCAtMjQzNCw2ICsyNDM1LDE3IEBAIHByb2MgZGVmYXVsdF9nZGJfc3RhcnQgeyB9 IHsKICAJfQogICAgICB9CiAgCkBAIC0xOTAxLDcgKzE5MDYsNyBAQCBkaWZmIC0tZ2l0IGEvZ2Ri L3Rlc3RzdWl0ZS9saWIvZ2RiLmV4cCBiL2dkYi90ZXN0c3VpdGUvbGliL2dkYi5leHAKIGRpZmYg LS1naXQgYS9nZGIvdGVzdHN1aXRlL2xpYi9taS1zdXBwb3J0LmV4cCBiL2dkYi90ZXN0c3VpdGUv bGliL21pLXN1cHBvcnQuZXhwCiAtLS0gYS9nZGIvdGVzdHN1aXRlL2xpYi9taS1zdXBwb3J0LmV4 cAogKysrIGIvZ2RiL3Rlc3RzdWl0ZS9saWIvbWktc3VwcG9ydC5leHAKLUBAIC0zMzAsNiArMzMw LDE2IEBAIHByb2MgZGVmYXVsdF9taV9nZGJfc3RhcnQgeyB7IGZsYWdzIHt9IH0gfSB7CitAQCAt MzIxLDYgKzMyMSwxNiBAQCBwcm9jIGRlZmF1bHRfbWlfZ2RiX3N0YXJ0IHsgeyBmbGFncyB7fSB9 IH0gewogIAkgICAgd2FybmluZyAiQ291bGRuJ3Qgc2V0IHRoZSB3aWR0aCB0byAwLiIKICAJfQog ICAgICB9CgpkaWZmIC0tZ2l0IGEvZ2RiLTYuNi10ZXN0c3VpdGUtdGltZW91dHMucGF0Y2ggYi9n ZGItNi42LXRlc3RzdWl0ZS10aW1lb3V0cy5wYXRjaAppbmRleCBhODk2MzEzLi45YTMxYTViIDEw MDY0NAotLS0gYS9nZGItNi42LXRlc3RzdWl0ZS10aW1lb3V0cy5wYXRjaAorKysgYi9nZGItNi42 LXRlc3RzdWl0ZS10aW1lb3V0cy5wYXRjaApAQCAtOSw3ICs5LDcgQEAgU3ViamVjdDogZ2RiLTYu Ni10ZXN0c3VpdGUtdGltZW91dHMucGF0Y2gKIGRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dk Yi5iYXNlL2Fubm90YTEuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9hbm5vdGExLmV4cAog LS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9hbm5vdGExLmV4cAogKysrIGIvZ2RiL3Rlc3Rz dWl0ZS9nZGIuYmFzZS9hbm5vdGExLmV4cAotQEAgLTM5LDYgKzM5LDggQEAgaWYgIHsgW2dkYl9j b21waWxlICIke3NyY2Rpcn0vJHtzdWJkaXJ9LyR7c3JjZmlsZX0iICIke2JpbmZpbGV9IiBleGVj dXRhYmxlIHtkZWIKK0BAIC0zNyw2ICszNyw4IEBAIGlmICB7IFtnZGJfY29tcGlsZSAiJHtzcmNk aXJ9LyR7c3ViZGlyfS8ke3NyY2ZpbGV9IiAiJHtiaW5maWxlfSIgZXhlY3V0YWJsZSB7ZGViCiAg CiAgY2xlYW5fcmVzdGFydCAke2JpbmZpbGV9CiAgCkBAIC0yMSw3ICsyMSw3IEBAIGRpZmYgLS1n aXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2Fubm90YTEuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9n ZGIuYmFzZS9hbm5vdGExCiBkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9hbm5v dGEzLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvYW5ub3RhMy5leHAKIC0tLSBhL2dkYi90 ZXN0c3VpdGUvZ2RiLmJhc2UvYW5ub3RhMy5leHAKICsrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJh c2UvYW5ub3RhMy5leHAKLUBAIC0zOCw2ICszOCw4IEBAIGlmICB7IFtnZGJfY29tcGlsZSAiJHtz cmNkaXJ9LyR7c3ViZGlyfS8ke3NyY2ZpbGV9IiAiJHtiaW5maWxlfSIgZXhlY3V0YWJsZSB7ZGVi CitAQCAtMzYsNiArMzYsOCBAQCBpZiAgeyBbZ2RiX2NvbXBpbGUgIiR7c3JjZGlyfS8ke3N1YmRp cn0vJHtzcmNmaWxlfSIgIiR7YmluZmlsZX0iIGV4ZWN1dGFibGUge2RlYgogIAogIGNsZWFuX3Jl c3RhcnQgJHtiaW5maWxlfQogIAoKZGlmZiAtLWdpdCBhL2dkYi1iaW51dGlsczI5OTg4LXJlYWRf aW5kZXhlZF9hZGRyZXNzLnBhdGNoIGIvZ2RiLWJpbnV0aWxzMjk5ODgtcmVhZF9pbmRleGVkX2Fk ZHJlc3MucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFmNDRkMTIuLjAwMDAw MDAKLS0tIGEvZ2RiLWJpbnV0aWxzMjk5ODgtcmVhZF9pbmRleGVkX2FkZHJlc3MucGF0Y2gKKysr IC9kZXYvbnVsbApAQCAtMSwyNCArMCwwIEBACi1Gcm9tIEZFRE9SQV9QQVRDSEVTIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQotRnJvbTogTmljayBDbGlmdG9uIDxuaWNrY0ByZWRoYXQuY29tPgot RGF0ZTogV2VkLCAxMSBKYW4gMjAyMyAxMjoxMzo0NiArMDAwMAotU3ViamVjdDogZ2RiLWJpbnV0 aWxzMjk5ODgtcmVhZF9pbmRleGVkX2FkZHJlc3MucGF0Y2gKLQotOzsgQmFja3BvcnQgIkZpeCBh IHBvdGVudGlhbCBpbGxlZ2FsIG1lbW9yeSBhY2Nlc3MgaW4gdGhlIEJGRCBsaWJyYXJ5Li4uIgot OzsgKE5pY2sgQ2xpZnRvbiwgYmludXRpbHMvMjk5ODgpCi0KLQlQUiAyOTk4OAotCSogZHdhcmYy LmMgKHJlYWRfaW5kZXhlZF9hZGRyZXNzKTogRml4IGNoZWNrIGZvciBhbiBvdXQgb2YgcmFuZ2UK LQlvZmZzZXQuCi0KLWRpZmYgLS1naXQgYS9iZmQvZHdhcmYyLmMgYi9iZmQvZHdhcmYyLmMKLS0t LSBhL2JmZC9kd2FyZjIuYwotKysrIGIvYmZkL2R3YXJmMi5jCi1AQCAtMTQxMiw3ICsxNDEyLDcg QEAgcmVhZF9pbmRleGVkX2FkZHJlc3MgKHVpbnQ2NF90IGlkeCwgc3RydWN0IGNvbXBfdW5pdCAq dW5pdCkKLSAgIG9mZnNldCArPSB1bml0LT5kd2FyZl9hZGRyX29mZnNldDsKLSAgIGlmIChvZmZz ZXQgPCB1bml0LT5kd2FyZl9hZGRyX29mZnNldAotICAgICAgIHx8IG9mZnNldCA+IGZpbGUtPmR3 YXJmX2FkZHJfc2l6ZQotLSAgICAgIHx8IGZpbGUtPmR3YXJmX2FkZHJfc2l6ZSAtIG9mZnNldCA8 IHVuaXQtPm9mZnNldF9zaXplKQotKyAgICAgIHx8IGZpbGUtPmR3YXJmX2FkZHJfc2l6ZSAtIG9m ZnNldCA8IHVuaXQtPmFkZHJfc2l6ZSkKLSAgICAgcmV0dXJuIDA7Ci0gCi0gICBpbmZvX3B0ciA9 IGZpbGUtPmR3YXJmX2FkZHJfYnVmZmVyICsgb2Zmc2V0OwoKZGlmZiAtLWdpdCBhL2dkYi1iejIx OTYzOTUtZGVidWdpbmZvZC1sZWdhY3ktb3BlbnNzbC1jcmFzaC5wYXRjaCBiL2dkYi1iejIxOTYz OTUtZGVidWdpbmZvZC1sZWdhY3ktb3BlbnNzbC1jcmFzaC5wYXRjaApkZWxldGVkIGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggNDUyZmU1OC4uMDAwMDAwMAotLS0gYS9nZGItYnoyMTk2Mzk1LWRlYnVn aW5mb2QtbGVnYWN5LW9wZW5zc2wtY3Jhc2gucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxODgg KzAsMCBAQAotRnJvbSBGRURPUkFfUEFUQ0hFUyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZy b206IEFuZHJldyBCdXJnZXNzIDxhYnVyZ2Vzc0ByZWRoYXQuY29tPgotRGF0ZTogVHVlLCAyMCBK dW4gMjAyMyAwOTo0NjozNSArMDEwMAotU3ViamVjdDogZ2RiLWJ6MjE5NjM5NS1kZWJ1Z2luZm9k LWxlZ2FjeS1vcGVuc3NsLWNyYXNoLnBhdGNoCi0KLTs7IEJhY2twb3J0IHVwc3RyZWFtIGNvbW1p dCBmM2VlZTU4NjE3NDNkNjM1IHRvIGZpeCBhIGNyYXNoIHRyaWdnZXJlZAotOzsgd2hlbiBkZWJ1 Z2luZm9kIG1ha2VzIHVzZSBvZiBwYXJ0aWN1bGFyIG9wZW5zc2wgc2V0dGluZ3MuCi0KLWdkYi9k ZWJ1Z2luZm9kOiBjbGVhbnVwIGRlYnVnaW5mb2QgZWFybGllcgotCi1BIEdEQiBjcmFzaCB3YXMg ZGlzY292ZXJlZCBvbiBGZWRvcmEgR0RCIHRoYXQgd2FzIHRyYWNrZWQgYmFjayB0byBhbgotaXNz dWUgd2l0aCB0aGUgd2F5IHRoYXQgZGVidWdpbmZvZCBpcyBjbGVhbmVkIHVwLgotCi1UaGUgYnVn IHdhcyByZXBvcnRlZCBvbiBGZWRvcmEgMzcsIDM4LCBhbmQgMzkuICBIZXJlIGFyZSB0aGUgc3Rl cHMgdG8KLXJlcHJvZHVjZToKLQotMS4gVGhlIGZpbGUgL2V0Yy9zc2wvb3BlbnNzbC5jbmYgY29u dGFpbnMgdGhlIGZvbGxvd2luZyBsaW5lczoKLQotICAgW3Byb3ZpZGVyX3NlY3RdCi0gICBkZWZh dWx0ID0gZGVmYXVsdF9zZWN0Ci0gICAjI2xlZ2FjeSA9IGxlZ2FjeV9zZWN0Ci0gICAjIwotICAg W2RlZmF1bHRfc2VjdF0KLSAgIGFjdGl2YXRlID0gMQotCi0gICAjI1tsZWdhY3lfc2VjdF0KLSAg ICMjYWN0aXZhdGUgPSAxCi0KLSAgIFRoZSBidWcgd2lsbCBvY2N1ciB3aGVuIHRoZSAnIyMnIGNo YXJhY3RlcnMgYXJlIHJlbW92ZWQgc28gdGhhdCB0aGUKLSAgIGxpbmVzIGluIHF1ZXN0aW9uIGxv b2sgbGlrZSB0aGlzOgotCi0gICBbcHJvdmlkZXJfc2VjdF0KLSAgIGRlZmF1bHQgPSBkZWZhdWx0 X3NlY3QKLSAgIGxlZ2FjeSA9IGxlZ2FjeV9zZWN0Ci0KLSAgIFtkZWZhdWx0X3NlY3RdCi0gICBh Y3RpdmF0ZSA9IDEKLQotICAgW2xlZ2FjeV9zZWN0XQotICAgYWN0aXZhdGUgPSAxCi0KLTIuIENs ZWFuIHVwIGFueSBleGlzdGluZyBkZWJ1Z2luZm9kIGNhY2hlIGRhdGE6Ci0KLSAgID4gcm0gLXJm ICRIT01FLy5jYWNoZS9kZWJ1Z2luZm9kX2NsaWVudAotCi0zLiBSdW4gR0RCOgotCi0gICA+IGdk YiAtbnggLXEgLWlleCAnc2V0IHRyYWNlLWNvbW1hbmRzIG9uJyBcCi0gICAgICAgICAgICAgICAg LWlleCAnc2V0IGRlYnVnaW5mb2QgZW5hYmxlZCBvbicgXAotICAgICAgICAgICAgICAgIC1pZXgg J3NldCBjb25maXJtIG9mZicgXAotICAgICAgICAgICAgICAgIC1leCAnc3RhcnQnIC1leCAncXVp dCcgL2Jpbi9scwotICAgK3NldCBkZWJ1Z2luZm9kIGVuYWJsZWQgb24KLSAgICtzZXQgY29uZmly bSBvZmYKLSAgIFJlYWRpbmcgc3ltYm9scyBmcm9tIC9iaW4vbHMuLi4KLSAgIERvd25sb2FkaW5n IHNlcGFyYXRlIGRlYnVnIGluZm8gZm9yIC91c3IvYmluL2xzCi0gICAuLi4gc25pcCAuLi4KLSAg IFRlbXBvcmFyeSBicmVha3BvaW50IDEsIG1haW4gKGFyZ2M9MSwgYXJndj0weDdmZmZmZmZmZGUz OCkgYXQgLi4vc3JjL2xzLmM6MTY0NgotICAgMTY0NiAgICB7Ci0gICArcXVpdAotCi0gICBGYXRh bCBzaWduYWw6IFNlZ21lbnRhdGlvbiBmYXVsdAotICAgLS0tLS0gQmFja3RyYWNlIC0tLS0tCi0g ICAuLi4gc25pcCAuLi4KLQotU28gR0RCIGVuZHMgdXAgY3Jhc2hpbmcgZHVyaW5nIGV4aXQuCi0K LVdoYXQncyBoYXBwZW5pbmcgaXMgdGhhdCB3aGVuIGRlYnVnaW5mb2QgaXMgaW5pdGlhbGlzZWQK LWRlYnVnaW5mb2RfYmVnaW4gaXMgY2FsbGVkICh0aGlzIGlzIGluIHRoZSBkZWJ1Z2luZm9kIGxp YnJhcnkpLCB0aGlzCi1pbiB0dXJuIHNldHMgdXAgbGliY3VybCwgd2hpY2ggbWFrZXMgdXNlIG9m IG9wZW5zc2wuICBTb21ld2hlcmUgZHVyaW5nCi10aGlzIHNldHVwIHByb2Nlc3MgYW4gYXRfZXhp dCBmdW5jdGlvbiBpcyByZWdpc3RlcmVkIHRvIGNsZWFudXAgc29tZQotc3RhdGUuCi0KLUJhY2sg aW4gR0RCIHRoZSBkZWJ1Z2luZm9kX2NsaWVudCBvYmplY3QgaXMgbWFuYWdlZCB1c2luZyB0aGlz IGNvZGU6Ci0KLSAgLyogRGVsZXRlciBmb3IgYSBkZWJ1Z2luZm9kX2NsaWVudC4gICovCi0KLSAg c3RydWN0IGRlYnVnaW5mb2RfY2xpZW50X2RlbGV0ZXIKLSAgewotICAgIHZvaWQgb3BlcmF0b3Io KSAoZGVidWdpbmZvZF9jbGllbnQgKmMpCi0gICAgewotICAgICAgZGVidWdpbmZvZF9lbmQgKGMp OwotICAgIH0KLSAgfTsKLQotICB1c2luZyBkZWJ1Z2luZm9kX2NsaWVudF91cAotICAgID0gc3Rk Ojp1bmlxdWVfcHRyPGRlYnVnaW5mb2RfY2xpZW50LCBkZWJ1Z2luZm9kX2NsaWVudF9kZWxldGVy PjsKLQotQW5kIHRoZW4gYSBnbG9iYWwgZGVidWdpbmZvZF9jbGllbnRfdXAgaXMgY3JlYXRlZCB0 byBob2xkIGEgcG9pbnRlciB0bwotdGhlIGRlYnVnaW5mb2RfY2xpZW50IG9iamVjdC4gIEFzIGEg Z2xvYmFsIHRoaXMgd2lsbCBiZSBjbGVhbmVkIHVwCi11c2luZyB0aGUgc3RhbmRhcmQgQysrIGds b2JhbCBvYmplY3QgZGVzdHJ1Y3RvciBtZWNoYW5pc20sIHdoaWNoIGlzCi1ydW4gYWZ0ZXIgdGhl IGF0X2V4aXQgaGFuZGxlcnMuCi0KLUhvd2V2ZXIsIGl0IGlzIGV4cGVjdGVkIHRoYXQgd2hlbiBk ZWJ1Z2luZm9kX2VuZCBpcyBjYWxsZWQgdGhlCi1kZWJ1Z2luZm9kX2NsaWVudCBvYmplY3Qgd2ls bCBzdGlsbCBiZSBpbiBhIHVzYWJsZSBzdGF0ZSwgdGhhdCBpcywgd2UKLWRvbid0IGV4cGVjdCB0 aGUgYXRfZXhpdCBoYW5kbGVycyB0byBoYXZlIHJ1biBhbmQgc3RhcnRlZCBjbGVhbmluZyB1cAot dGhlIGxpYnJhcnkgc3RhdGUuCi0KLVRvIGZpeCB0aGlzIGlzc3VlIHdlIG5lZWQgdG8gZW5zdXJl IHRoYXQgZGVidWdpbmZvZF9lbmQgaXMgY2FsbGVkCi1iZWZvcmUgdGhlIGF0X2V4aXQgaGFuZGxl cnMgaGF2ZSBhIGNoYW5jZSB0byBydW4uCi0KLVRoaXMgY29tbWl0IHJlbW92ZXMgdGhlIGRlYnVn aW5mb2RfY2xpZW50X3VwIHR5cGUsIGFuZCBpbnN0ZWFkIGhhcyBHREIKLWhvbGQgYSByYXcgcG9p bnRlciB0byB0aGUgZGVidWdpbmZvZF9jbGllbnQgb2JqZWN0LiAgV2UgdGhlbiBtYWtlIHVzZQot b2YgR0RCJ3MgbWFrZV9maW5hbF9jbGVhbnVwIHRvIHJlZ2lzdGVyIGEgZnVuY3Rpb24gdGhhdCB3 aWxsIGNhbGwKLWRlYnVnaW5mb2RfZW5kLgotCi1BcyBHREIncyBmaW5hbCBjbGVhbnVwcyBhcmUg Y2FsbGVkIGJlZm9yZSBleGl0IGlzIGNhbGxlZCwgdGhpcyBtZWFucwotdGhhdCBkZWJ1Z2luZm9k X2VuZCB3aWxsIGJlIGNhbGxlZCBiZWZvcmUgdGhlIGF0X2V4aXQgaGFuZGxlcnMgYXJlCi1jYWxs ZWQsIGFuZCB0aGUgY3Jhc2ggaWRlbnRpZmllZCBhYm92ZSBpcyByZXNvbHZlZC4KLQotSXQncyBu b3Qgb2J2aW91cyBob3cgdGhpcyBpc3N1ZSBjYW4gZWFzaWx5IGJlIHRlc3RlZCBmb3IuIFRoZSBi dWcgZG9lcwotbm90IGFwcGVhciB0byBtYW5pZmVzdCB3aGVuIHVzaW5nIGEgbG9jYWwgZGVidWdp bmZvZCBzZXJ2ZXIsIHNvIHdlJ2QKLW5lZWQgdG8gc2V0dXAgc29tZXRoaW5nIG1vcmUgaW52b2x2 ZWQuICBGb3Igbm93IEknbSBwcm9wb3NpbmcgdGhpcwotcGF0Y2ggd2l0aG91dCBhbnkgYXNzb2Np YXRlZCB0ZXN0cy4KLQotZGlmZiAtLWdpdCBhL2dkYi9kZWJ1Z2luZm9kLXN1cHBvcnQuYyBiL2dk Yi9kZWJ1Z2luZm9kLXN1cHBvcnQuYwotLS0tIGEvZ2RiL2RlYnVnaW5mb2Qtc3VwcG9ydC5jCi0r KysgYi9nZGIvZGVidWdpbmZvZC1zdXBwb3J0LmMKLUBAIC05NiwyMCArOTYsNiBAQCBzdHJ1Y3Qg dXNlcl9kYXRhCi0gICB1aV9vdXQ6OnByb2dyZXNzX3VwZGF0ZSBwcm9ncmVzczsKLSB9OwotIAot LS8qIERlbGV0ZXIgZm9yIGEgZGVidWdpbmZvZF9jbGllbnQuICAqLwotLQotLXN0cnVjdCBkZWJ1 Z2luZm9kX2NsaWVudF9kZWxldGVyCi0tewotLSAgdm9pZCBvcGVyYXRvcigpIChkZWJ1Z2luZm9k X2NsaWVudCAqYykKLS0gIHsKLS0gICAgZGVidWdpbmZvZF9lbmQgKGMpOwotLSAgfQotLX07Ci0t Ci0tdXNpbmcgZGVidWdpbmZvZF9jbGllbnRfdXAKLS0gID0gc3RkOjp1bmlxdWVfcHRyPGRlYnVn aW5mb2RfY2xpZW50LCBkZWJ1Z2luZm9kX2NsaWVudF9kZWxldGVyPjsKLS0KLS0KLSAvKiBDb252 ZXJ0IFNJWkUgaW50byBhIHVuaXQgc3VpdGFibGUgZm9yIHVzZSB3aXRoIHByb2dyZXNzIHVwZGF0 ZXMuCi0gICAgU0laRSBzaG91bGQgaW4gZ2l2ZW4gaW4gYnl0ZXMgYW5kIHdpbGwgYmUgY29udmVy dGVkIGludG8gS0IsIE1CLCBHQgotICAgIG9yIHJlbWFpbiB1bmNoYW5nZWQuIFVOSVQgd2lsbCBi ZSBzZXQgdG8gIkIiLCAiS0IiLCAiTUIiIG9yICJHQiIKLUBAIC0xODAsMjAgKzE2Niw0NSBAQCBw cm9ncmVzc2ZuIChkZWJ1Z2luZm9kX2NsaWVudCAqYywgbG9uZyBjdXIsIGxvbmcgdG90YWwpCi0g ICByZXR1cm4gMDsKLSB9Ci0gCi0rLyogQ2xlYW51cCBBUkcsIHdoaWNoIGlzIGEgZGVidWdpbmZv ZF9jbGllbnQgcG9pbnRlci4gICovCi0rCi0rc3RhdGljIHZvaWQKLStjbGVhbnVwX2RlYnVnaW5m b2RfY2xpZW50ICh2b2lkICphcmcpCi0rewotKyAgZGVidWdpbmZvZF9jbGllbnQgKmNsaWVudCA9 IHN0YXRpY19jYXN0PGRlYnVnaW5mb2RfY2xpZW50ICo+IChhcmcpOwotKyAgZGVidWdpbmZvZF9l bmQgKGNsaWVudCk7Ci0rfQotKwotKy8qIFJldHVybiBhIHBvaW50ZXIgdG8gdGhlIHNpbmdsZSBn bG9iYWwgZGVidWdpbmZvZF9jbGllbnQsIGluaXRpYWxpc2luZyBpdAotKyAgIGZpcnN0IGlmIG5l ZWRlZC4gICovCi0rCi0gc3RhdGljIGRlYnVnaW5mb2RfY2xpZW50ICoKLSBnZXRfZGVidWdpbmZv ZF9jbGllbnQgKCkKLSB7Ci0tICBzdGF0aWMgZGVidWdpbmZvZF9jbGllbnRfdXAgZ2xvYmFsX2Ns aWVudDsKLSsgIHN0YXRpYyBkZWJ1Z2luZm9kX2NsaWVudCAqZ2xvYmFsX2NsaWVudCA9IG51bGxw dHI7Ci0gCi0gICBpZiAoZ2xvYmFsX2NsaWVudCA9PSBudWxscHRyKQotICAgICB7Ci0tICAgICAg Z2xvYmFsX2NsaWVudC5yZXNldCAoZGVidWdpbmZvZF9iZWdpbiAoKSk7Ci0rICAgICAgZ2xvYmFs X2NsaWVudCA9IGRlYnVnaW5mb2RfYmVnaW4gKCk7Ci0gCi0gICAgICAgaWYgKGdsb2JhbF9jbGll bnQgIT0gbnVsbHB0cikKLS0JZGVidWdpbmZvZF9zZXRfcHJvZ3Jlc3NmbiAoZ2xvYmFsX2NsaWVu dC5nZXQgKCksIHByb2dyZXNzZm4pOwotKwl7Ci0rCSAgLyogSXQgaXMgaW1wb3J0YW50IHRoYXQg d2UgY2xlYW51cCB0aGUgZGVidWdpbmZvZF9jbGllbnQgb2JqZWN0Ci0rCSAgICAgYmVmb3JlIGNh bGxpbmcgZXhpdC4gIFNvbWUgb2YgdGhlIGxpYnJhcmllcyB1c2VkIGJ5IGRlYnVnaW5mb2QKLSsJ ICAgICBtYWtlIHVzZSBvZiBhdF9leGl0IGhhbmRsZXJzIHRvIHBlcmZvcm0gY2xlYW51cC4KLSsK LSsJICAgICBJZiB3ZSB3cmFwcGVkIHRoZSBkZWJ1Z2luZm9kX2NsaWVudCBpbiBhIHVuaXF1ZV9w dHIgYW5kIHJlbGllZAotKwkgICAgIG9uIGl0cyBkZXN0cnVjdG9yIHRvIGNsZWFudXAgdGhlbiB0 aGlzIHdvdWxkIGJlIHJ1biBhcyBwYXJ0IG9mCi0rCSAgICAgdGhlIGdsb2JhbCBDKysgb2JqZWN0 IGRlc3RydWN0b3JzLCB3aGljaCBpcyBhZnRlciB0aGUgYXRfZXhpdAotKwkgICAgIGhhbmRsZXJz LCB3aGljaCBpcyB0b28gbGF0ZS4KLSsKLSsJICAgICBTbyBpbnN0ZWFkLCB3ZSBtYWtlIHVzZSBv ZiBHREIncyBmaW5hbCBjbGVhbnVwIG1lY2hhbmlzbS4gICovCi0rCSAgbWFrZV9maW5hbF9jbGVh bnVwIChjbGVhbnVwX2RlYnVnaW5mb2RfY2xpZW50LCBnbG9iYWxfY2xpZW50KTsKLSsJICBkZWJ1 Z2luZm9kX3NldF9wcm9ncmVzc2ZuIChnbG9iYWxfY2xpZW50LCBwcm9ncmVzc2ZuKTsKLSsJfQot ICAgICB9Ci0gCi0tICByZXR1cm4gZ2xvYmFsX2NsaWVudC5nZXQgKCk7Ci0rICByZXR1cm4gZ2xv YmFsX2NsaWVudDsKLSB9Ci0gCi0gLyogQ2hlY2sgaWYgZGVidWdpbmZvZCBpcyBlbmFibGVkLiAg SWYgY29uZmlndXJlZCB0byBkbyBzbywgYXNrIHRoZSB1c2VyCgpkaWZmIC0tZ2l0IGEvZ2RiLWJ6 MjIzNzM5Mi1kd2FyZi1vYnN0YWNrLWFsbG9jYXRpb24ucGF0Y2ggYi9nZGItYnoyMjM3MzkyLWR3 YXJmLW9ic3RhY2stYWxsb2NhdGlvbi5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggNDI0Y2FkMy4uMDAwMDAwMAotLS0gYS9nZGItYnoyMjM3MzkyLWR3YXJmLW9ic3RhY2stYWxs b2NhdGlvbi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDY4ICswLDAgQEAKLUZyb20gRkVET1JB X1BBVENIRVMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBBbmRyZXcgQnVyZ2VzcyA8 YWJ1cmdlc3NAcmVkaGF0LmNvbT4KLURhdGU6IFRodSwgMTQgU2VwIDIwMjMgMTM6MDY6MjYgKzAx MDAKLVN1YmplY3Q6IGdkYi1iejIyMzczOTItZHdhcmYtb2JzdGFjay1hbGxvY2F0aW9uLnBhdGNo Ci0KLTs7IEJhY2twb3J0IHVwc3RyZWFtIGNvbW1pdCA1NDM5MmM0ZGY2MDRmMjAgdG8gZml4IGFu IGluY29ycmVjdAotOzsgb2JzdGFjayBhbGxvY2F0aW9uIHRoYXQgd29sZCBsZWFkIHRvIG1lbW9y eSBjb3JydXB0aW9uLgotCi1nZGI6IGZpeCBidWZmZXIgb3ZlcmZsb3cgaW4gRFdBUkYgcmVhZGVy Ci0KLUluIHRoaXMgY29tbWl0OgotCi0gIGNvbW1pdCA0OGFjMTk3YjBjMjA5Y2NmMWYyZGU5NzA0 ZWI2Y2RmN2M1YzczYThlCi0gIERhdGU6ICAgRnJpIE5vdiAxOSAxMDoxMjo0NCAyMDIxIC0wNzAw Ci0KLSAgICAgIEhhbmRsZSBtdWx0aXBsZSBhZGRyZXNzZXMgaW4gY2FsbF9zaXRlX3RhcmdldAot Ci1hIGJ1ZmZlciBvdmVyZmxvdyBidWcgd2FzIGludHJvZHVjZWQgd2hlbiB0aGUgZm9sbG93aW5n IGNvZGUgd2FzCi1hZGRlZDoKLQotICBDT1JFX0FERFIgKnNhdmVkID0gWE9CTkVXVkFSICgmb2Jq ZmlsZS0+b2JqZmlsZV9vYnN0YWNrLCBDT1JFX0FERFIsCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGFkZHJlc3Nlcy5zaXplICgpKTsKLSAgc3RkOjpjb3B5IChhZGRyZXNzZXMuYmVn aW4gKCksIGFkZHJlc3Nlcy5lbmQgKCksIHNhdmVkKTsKLQotVGhlIGRlZmluaXRpb24gb2YgWE9C TkVXVkFSIGlzIChmcm9tIGxpYmliZXJ0eS5oKToKLQotICAjZGVmaW5lIFhPQk5FV1ZBUihPLCBU LCBTKQkoKFQgKikgb2JzdGFja19hbGxvYyAoKE8pLCAoUykpKQotCi1TbyAnc2F2ZWQnIGlzIGdv aW5nIHRvIHBvaW50IHRvIGFkZHJlc3Nlcy5zaXplICgpIGJ5dGVzIG9mIG1lbW9yeSwKLWhvd2V2 ZXIsIHRoZSBzdGQ6OmNvcHkgd2lsbCB3cml0ZSBhZGRyZXNzZXMuc2l6ZSAoKSBudW1iZXIgb2YK LUNPUkVfQUREUiBzaXplZCBlbnRyaWVzIHRvIHRoZSBhZGRyZXNzIHBvaW50ZWQgdG8gYnkgJ3Nh dmVkJywgdGhpcyBpcwotZ29pbmcgdG8gcmVzdWx0IGluIG1lbW9yeSBjb3JydXB0aW9uLgotCi1U aGUgbWlzdGFrZSBpcyB0aGF0IHdlIHNob3VsZCBoYXZlIHVzZWQgWE9CTkVXVkVDLCB3aGljaCBh bGxvY2F0ZXMgYQotdmVjdG9yIG9mIGVudHJpZXMsIHRoZSBkZWZpbml0aW9uIG9mIFhPQk5FV1ZF QyBpczoKLQotICAjZGVmaW5lIFhPQk5FV1ZFQyhPLCBULCBOKSBcCi0gICAgKChUICopIG9ic3Rh Y2tfYWxsb2MgKChPKSwgc2l6ZW9mIChUKSAqIChOKSkpCi0KLVdoaWNoIG1lYW5zIHdlIHdpbGwg aGF2ZSBzZXQgYXNpZGUgZW5vdWdoIHNwYWNlIHRvIGNyZWF0ZSBhIGNvcHkgb2YKLXRoZSBjb250 ZW50cyBvZiB0aGUgYWRkcmVzc2VzIHZlY3Rvci4KLQotSSdtIG5vdCBzdXJlIGhvdyB0byBjcmVh dGUgYSB0ZXN0IGZvciB0aGlzIHByb2JsZW0sIHRoaXMgaXNzdWUgY3JvcHBlZAotdXAgd2hlbiBk ZWJ1Z2dpbmcgYSBwYXJ0aWN1bGFyIGk2ODYgYnVpbHQgYmluYXJ5LCB3aGljaCBqdXN0IGhhcHBl bmVkCi10byB0cmlnZ2VyIGEgZ2xpYmMgYXNzZXJ0aW9uIChsaWtlbHkgZHVlIHRvIHJhbmRvbSBt ZW1vcnkgY29ycnVwdGlvbiksCi1kZWJ1Z2dpbmcgdGhlIHNhbWUgYmluYXJ5IGJ1aWx0IGZvciB4 ODYtNjQgYXBwZWFyZWQgdG8gd29yayBqdXN0IGZpbmUuCi0KLVVzaW5nIHZhbGdyaW5kIG9uIHRo ZSBmYWlsaW5nIEdEQiBiaW5hcnkgcG9pbnRlZCBzdHJhaWdodCB0byB0aGUgY2F1c2UKLW9mIHRo ZSBwcm9ibGVtLCBhbmQgd2l0aCB0aGlzIHBhdGNoIGluIHBsYWNlIHRoZXJlIGFyZSBubyBsb25n ZXIKLXZhbGdyaW5kIGVycm9ycyBpbiB0aGlzIGFyZWEuCi0KLUlmIGFueW9uZSBoYXMgaWRlYXMg Zm9yIGEgdGVzdCBJJ20gaGFwcHkgdG8gd29yayBvbiBzb21ldGhpbmcuCi0KLUNvLUF1dGhvcmVk LUJ5OiBLZWl0aCBTZWl0eiA8a2VpdGhzQHJlZGhhdC5jb20+Ci1BcHByb3ZlZC1CeTogVG9tIFRy b21leSA8dG9tQHRyb21leS5jb20+Ci0KLWRpZmYgLS1naXQgYS9nZGIvZHdhcmYyL3JlYWQuYyBi L2dkYi9kd2FyZjIvcmVhZC5jCi0tLS0gYS9nZGIvZHdhcmYyL3JlYWQuYwotKysrIGIvZ2RiL2R3 YXJmMi9yZWFkLmMKLUBAIC0xMjUwNiw3ICsxMjUwNiw3IEBAIHJlYWRfY2FsbF9zaXRlX3Njb3Bl IChzdHJ1Y3QgZGllX2luZm8gKmRpZSwgc3RydWN0IGR3YXJmMl9jdSAqY3UpCi0gCSAgc3RkOjp2 ZWN0b3I8Q09SRV9BRERSPiBhZGRyZXNzZXM7Ci0gCSAgZHdhcmYyX3Jhbmdlc19yZWFkX2xvd19h ZGRycyAocmFuZ2VzX29mZnNldCwgdGFyZ2V0X2N1LAotIAkJCQkJdGFyZ2V0X2RpZS0+dGFnLCBh ZGRyZXNzZXMpOwotLQkgIENPUkVfQUREUiAqc2F2ZWQgPSBYT0JORVdWQVIgKCZvYmpmaWxlLT5v YmpmaWxlX29ic3RhY2ssIENPUkVfQUREUiwKLSsJICBDT1JFX0FERFIgKnNhdmVkID0gWE9CTkVX VkVDICgmb2JqZmlsZS0+b2JqZmlsZV9vYnN0YWNrLCBDT1JFX0FERFIsCi0gCQkJCQlhZGRyZXNz ZXMuc2l6ZSAoKSk7Ci0gCSAgc3RkOjpjb3B5IChhZGRyZXNzZXMuYmVnaW4gKCksIGFkZHJlc3Nl cy5lbmQgKCksIHNhdmVkKTsKLSAJICBjYWxsX3NpdGUtPnRhcmdldC5zZXRfbG9jX2FycmF5IChh ZGRyZXNzZXMuc2l6ZSAoKSwgc2F2ZWQpOwoKZGlmZiAtLWdpdCBhL2dkYi1iejIyMzc1MTUtZGVi dWdpbmZvZC1kb3VibGUtZnJlZS5wYXRjaCBiL2dkYi1iejIyMzc1MTUtZGVidWdpbmZvZC1kb3Vi bGUtZnJlZS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWQ3MjYzOS4uMDAw MDAwMAotLS0gYS9nZGItYnoyMjM3NTE1LWRlYnVnaW5mb2QtZG91YmxlLWZyZWUucGF0Y2gKKysr IC9kZXYvbnVsbApAQCAtMSwxMDIgKzAsMCBAQAotRnJvbSBGRURPUkFfUEFUQ0hFUyBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFRvbSBUcm9tZXkgPHRyb21leUBhZGFjb3JlLmNvbT4K LURhdGU6IFR1ZSwgNiBEZWMgMjAyMiAxMjowNzoxMiAtMDcwMAotU3ViamVjdDogZ2RiLWJ6MjIz NzUxNS1kZWJ1Z2luZm9kLWRvdWJsZS1mcmVlLnBhdGNoCi0KLTs7IEJhY2twb3J0IHVwc3RyZWFt IGNvbW1pdCBmOTYzMjhhY2NkZTFlNjMgdG8gZml4IGEgcG90ZW50aWFsIGRvdWJsZQotOzsgZnJl ZSBpc3N1ZSBpbiB0aGUgZGVidWdpbmZvZCBjb2RlLgotCi1Bdm9pZCBkb3VibGUtZnJlZSB3aXRo IGRlYnVnaW5mb2QKLQotUFIgZ2RiLzI5MjU3IHBvaW50cyBvdXQgYSBwb3NzaWJsZSBkb3VibGUg ZnJlZSB3aGVuIGRlYnVnaW5mb2QgaXMgaW4KLXVzZS4gIEFzaWRlIGZyb20gc29tZSB1Z2x5IHdh cnRzIGluIHRoZSBzeW1ib2wgY29kZSAoYW4gb25nb2luZwotaXNzdWUpLCB0aGUgdW5kZXJseWlu ZyBpc3N1ZSBpbiB0aGlzIHBhcnRpY3VsYXIgY2FzZSBpcyB0aGF0IGVsZnJlYWQuYwotc2VlbXMg dG8gYXNzdW1lIHRoYXQgc3ltZmlsZV9iZmRfb3BlbiB3aWxsIHJldHVybiBOVUxMIG9uIGVycm9y LAotd2hlcmVhcyBpbiByZWFsaXR5IGl0IHRocm93cyBhbiBleGNlcHRpb24uICBBcyB0aGlzIGNv ZGUgaXNuJ3QKLXByZXBhcmVkIGZvciBhbiBleGNlcHRpb24sIGJhZCB0aGluZ3MgcmVzdWx0Lgot Ci1UaGlzIHBhdGNoIGZpeGVzIHRoZSBwcm9ibGVtIGJ5IGludHJvZHVjaW5nIGEgbm9uLXRocm93 aW5nIHZhcmlhbnQgb2YKLXN5bWZpbGVfYmZkX29wZW4gYW5kIHVzaW5nIGl0IGluIHRoZSBhZmZl Y3RlZCBwbGFjZXMuCi0KLUJ1ZzogaHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9idWd6aWxsYS9zaG93 X2J1Zy5jZ2k/aWQ9MjkyNTcKLQotZGlmZiAtLWdpdCBhL2dkYi9lbGZyZWFkLmMgYi9nZGIvZWxm cmVhZC5jCi0tLS0gYS9nZGIvZWxmcmVhZC5jCi0rKysgYi9nZGIvZWxmcmVhZC5jCi1AQCAtMTIy MiwxMCArMTIyMiwxMiBAQCBlbGZfc3ltZmlsZV9yZWFkX2R3YXJmMiAoc3RydWN0IG9iamZpbGUg Km9iamZpbGUsCi0gCi0gICAgICAgaWYgKCFkZWJ1Z2ZpbGUuZW1wdHkgKCkpCi0gCXsKLS0JICBn ZGJfYmZkX3JlZl9wdHIgZGVidWdfYmZkIChzeW1maWxlX2JmZF9vcGVuIChkZWJ1Z2ZpbGUuY19z dHIgKCkpKTsKLSsJICBnZGJfYmZkX3JlZl9wdHIgZGVidWdfYmZkCi0rCSAgICAoc3ltZmlsZV9i ZmRfb3Blbl9ub19lcnJvciAoZGVidWdmaWxlLmNfc3RyICgpKSk7Ci0gCi0tCSAgc3ltYm9sX2Zp bGVfYWRkX3NlcGFyYXRlIChkZWJ1Z19iZmQsIGRlYnVnZmlsZS5jX3N0ciAoKSwKLS0JCQkJICAg IHN5bWZpbGVfZmxhZ3MsIG9iamZpbGUpOwotKwkgIGlmIChkZWJ1Z19iZmQgIT0gbnVsbHB0cikK LSsJICAgIHN5bWJvbF9maWxlX2FkZF9zZXBhcmF0ZSAoZGVidWdfYmZkLCBkZWJ1Z2ZpbGUuY19z dHIgKCksCi0rCQkJCSAgICAgIHN5bWZpbGVfZmxhZ3MsIG9iamZpbGUpOwotIAl9Ci0gICAgICAg ZWxzZQotIAl7Ci1AQCAtMTI0NSwxMyArMTI0NywxMiBAQCBlbGZfc3ltZmlsZV9yZWFkX2R3YXJm MiAoc3RydWN0IG9iamZpbGUgKm9iamZpbGUsCi0gCSAgICAgIGlmIChmZC5nZXQgKCkgPj0gMCkK LSAJCXsKLSAJCSAgLyogRmlsZSBzdWNjZXNzZnVsbHkgcmV0cmlldmVkIGZyb20gc2VydmVyLiAg Ki8KLS0JCSAgZ2RiX2JmZF9yZWZfcHRyIGRlYnVnX2JmZCAoc3ltZmlsZV9iZmRfb3BlbiAoc3lt ZmlsZV9wYXRoLmdldCAoKSkpOwotKwkJICBnZGJfYmZkX3JlZl9wdHIgZGVidWdfYmZkCi0rCQkg ICAgKHN5bWZpbGVfYmZkX29wZW5fbm9fZXJyb3IgKHN5bWZpbGVfcGF0aC5nZXQgKCkpKTsKLSAK LS0JCSAgaWYgKGRlYnVnX2JmZCA9PSBudWxscHRyKQotLQkJICAgIHdhcm5pbmcgKF8oIkZpbGUg XCIlc1wiIGZyb20gZGVidWdpbmZvZCBjYW5ub3QgYmUgb3BlbmVkIGFzIGJmZCIpLAotLQkJCSAg ICAgZmlsZW5hbWUpOwotLQkJICBlbHNlIGlmIChidWlsZF9pZF92ZXJpZnkgKGRlYnVnX2JmZC5n ZXQgKCksIGJ1aWxkX2lkLT5zaXplLAotLQkJCQkJICAgIGJ1aWxkX2lkLT5kYXRhKSkKLSsJCSAg aWYgKGRlYnVnX2JmZCAhPSBudWxscHRyCi0rCQkgICAgICAmJiBidWlsZF9pZF92ZXJpZnkgKGRl YnVnX2JmZC5nZXQgKCksIGJ1aWxkX2lkLT5zaXplLAotKwkJCQkJICBidWlsZF9pZC0+ZGF0YSkp Ci0gCQkgICAgewotIAkJICAgICAgc3ltYm9sX2ZpbGVfYWRkX3NlcGFyYXRlIChkZWJ1Z19iZmQs IHN5bWZpbGVfcGF0aC5nZXQgKCksCi0gCQkJCQkJc3ltZmlsZV9mbGFncywgb2JqZmlsZSk7Ci1k aWZmIC0tZ2l0IGEvZ2RiL3N5bWZpbGUuYyBiL2dkYi9zeW1maWxlLmMKLS0tLSBhL2dkYi9zeW1m aWxlLmMKLSsrKyBiL2dkYi9zeW1maWxlLmMKLUBAIC0xNzQ0LDYgKzE3NDQsMjMgQEAgc3ltZmls ZV9iZmRfb3BlbiAoY29uc3QgY2hhciAqbmFtZSkKLSAgIHJldHVybiBzeW1fYmZkOwotIH0KLSAK LSsvKiBTZWUgc3ltZmlsZS5oLiAgKi8KLSsKLStnZGJfYmZkX3JlZl9wdHIKLStzeW1maWxlX2Jm ZF9vcGVuX25vX2Vycm9yIChjb25zdCBjaGFyICpuYW1lKSBub2V4Y2VwdAotK3sKLSsgIHRyeQot KyAgICB7Ci0rICAgICAgcmV0dXJuIHN5bWZpbGVfYmZkX29wZW4gKG5hbWUpOwotKyAgICB9Ci0r ICBjYXRjaCAoY29uc3QgZ2RiX2V4Y2VwdGlvbl9lcnJvciAmZXJyKQotKyAgICB7Ci0rICAgICAg d2FybmluZyAoIiVzIiwgZXJyLndoYXQgKCkpOwotKyAgICB9Ci0rCi0rICByZXR1cm4gbnVsbHB0 cjsKLSt9Ci0rCi0gLyogUmV0dXJuIHRoZSBzZWN0aW9uIGluZGV4IGZvciBTRUNUSU9OX05BTUUg b24gT0JKRklMRS4gIFJldHVybiAtMSBpZgotICAgIHRoZSBzZWN0aW9uIHdhcyBub3QgZm91bmQu ICAqLwotIAotZGlmZiAtLWdpdCBhL2dkYi9zeW1maWxlLmggYi9nZGIvc3ltZmlsZS5oCi0tLS0g YS9nZGIvc3ltZmlsZS5oCi0rKysgYi9nZGIvc3ltZmlsZS5oCi1AQCAtMjY5LDYgKzI2OSwxMSBA QCBleHRlcm4gdm9pZCBzZXRfaW5pdGlhbF9sYW5ndWFnZSAodm9pZCk7Ci0gCi0gZXh0ZXJuIGdk Yl9iZmRfcmVmX3B0ciBzeW1maWxlX2JmZF9vcGVuIChjb25zdCBjaGFyICopOwotIAotKy8qIExp a2Ugc3ltZmlsZV9iZmRfb3BlbiwgYnV0IHdpbGwgbm90IHRocm93IGFuIGV4Y2VwdGlvbiBvbiBl cnJvci4KLSsgICBJbnN0ZWFkLCBpdCBpc3N1ZXMgYSB3YXJuaW5nIGFuZCByZXR1cm5zIG51bGxw dHIuICAqLwotKwotK2V4dGVybiBnZGJfYmZkX3JlZl9wdHIgc3ltZmlsZV9iZmRfb3Blbl9ub19l cnJvciAoY29uc3QgY2hhciAqKSBub2V4Y2VwdDsKLSsKLSBleHRlcm4gaW50IGdldF9zZWN0aW9u X2luZGV4IChzdHJ1Y3Qgb2JqZmlsZSAqLCBjb25zdCBjaGFyICopOwotIAotIGV4dGVybiBpbnQg cHJpbnRfc3ltYm9sX2xvYWRpbmdfcCAoaW50IGZyb21fdHR5LCBpbnQgbWFpbmxpbmUsIGludCBm dWxsKTsKCmRpZmYgLS1naXQgYS9nZGItY29udGFpbmVyLXJoLXBrZy5wYXRjaCBiL2dkYi1jb250 YWluZXItcmgtcGtnLnBhdGNoCmluZGV4IGFhYzhhYzguLjcxMDdlNWQgMTAwNjQ0Ci0tLSBhL2dk Yi1jb250YWluZXItcmgtcGtnLnBhdGNoCisrKyBiL2dkYi1jb250YWluZXItcmgtcGtnLnBhdGNo CkBAIC05LDEwICs5LDEwIEBAIFN1YmplY3Q6IGdkYi1jb250YWluZXItcmgtcGtnLnBhdGNoCiBk aWZmIC0tZ2l0IGEvZ2RiL3JlbW90ZS5jIGIvZ2RiL3JlbW90ZS5jCiAtLS0gYS9nZGIvcmVtb3Rl LmMKICsrKyBiL2dkYi9yZW1vdGUuYwotQEAgLTE0MzAxLDcgKzE0MzAxLDE3IEBAIHJlbW90ZV90 YXJnZXQ6OnBpZF90b19leGVjX2ZpbGUgKGludCBwaWQpCitAQCAtMTQ3NDIsNyArMTQ3NDIsMTcg QEAgcmVtb3RlX3RhcmdldDo6cGlkX3RvX2V4ZWNfZmlsZSAoaW50IHBpZCkKICAgIGNoYXIgKmFu bmV4ID0gTlVMTDsKICAKLSAgIGlmIChwYWNrZXRfc3VwcG9ydCAoUEFDS0VUX3FYZmVyX2V4ZWNf ZmlsZSkgIT0gUEFDS0VUX0VOQUJMRSkKKyAgIGlmIChtX2ZlYXR1cmVzLnBhY2tldF9zdXBwb3J0 IChQQUNLRVRfcVhmZXJfZXhlY19maWxlKSAhPSBQQUNLRVRfRU5BQkxFKQogLSAgICByZXR1cm4g TlVMTDsKICsgICAgewogKyAgICAgIHdhcm5pbmcgKF8oIlJlbW90ZSBnZGJzZXJ2ZXIgZG9lcyBu b3Qgc3VwcG9ydCBkZXRlcm1pbmluZyBleGVjdXRhYmxlICIKCmRpZmYgLS1naXQgYS9nZGItY29y ZS1vcGVuLXZkc28td2FybmluZy5wYXRjaCBiL2dkYi1jb3JlLW9wZW4tdmRzby13YXJuaW5nLnBh dGNoCmluZGV4IGM2NGI0YmMuLmZkZDA2ZmIgMTAwNjQ0Ci0tLSBhL2dkYi1jb3JlLW9wZW4tdmRz by13YXJuaW5nLnBhdGNoCisrKyBiL2dkYi1jb3JlLW9wZW4tdmRzby13YXJuaW5nLnBhdGNoCkBA IC0xOSw3ICsxOSw3IEBAIERhdGU6ICAgV2VkIFNlcCAyNSAxMTo1Mjo1MCAyMDEzICswMDAwCiBk aWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9zb2xpYi1zeW1ib2wuZXhwIGIvZ2Ri L3Rlc3RzdWl0ZS9nZGIuYmFzZS9zb2xpYi1zeW1ib2wuZXhwCiAtLS0gYS9nZGIvdGVzdHN1aXRl L2dkYi5iYXNlL3NvbGliLXN5bWJvbC5leHAKICsrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uv c29saWItc3ltYm9sLmV4cAotQEAgLTI5LDYgKzI5LDcgQEAgc2V0IHRlc3RmaWxlICJzb2xpYi1z eW1ib2wtbWFpbiIKK0BAIC0yNyw2ICsyNyw3IEBAIHNldCB0ZXN0ZmlsZSAic29saWItc3ltYm9s LW1haW4iCiAgc2V0IHNyY2ZpbGUgJHtzcmNkaXJ9LyR7c3ViZGlyfS8ke3Rlc3RmaWxlfS5jCiAg c2V0IGJpbmZpbGUgW3N0YW5kYXJkX291dHB1dF9maWxlICR7dGVzdGZpbGV9XQogIHNldCBiaW5f ZmxhZ3MgW2xpc3QgZGVidWcgc2hsaWI9JHtiaW5maWxlX2xpYn1dCkBAIC0yNywxNiArMjcsMTQg QEAgZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvc29saWItc3ltYm9sLmV4cCBi L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvc28KICAKICBpZiB7IFtnZGJfY29tcGlsZV9zaGxpYiAk e3NyY2ZpbGVfbGlifSAke2JpbmZpbGVfbGlifSAkbGliX2ZsYWdzXSAhPSAiIgogICAgICAgfHwg W2dkYl9jb21waWxlICR7c3JjZmlsZX0gJHtiaW5maWxlfSBleGVjdXRhYmxlICRiaW5fZmxhZ3Nd ICE9ICIiIH0gewotQEAgLTY2LDggKzY3LDI2IEBAIGdkYl90ZXN0ICJiciBmb28yIiBcCitAQCAt NjEsNCArNjIsMjggQEAgZ2RiX3Rlc3QgImJyIGZvbzIiIFwKICAJICJCcmVha3BvaW50Lio6IGZv bzIuIC4yIGxvY2F0aW9ucy4uKiIgXAogIAkgImZvbzIgaW4gbWRsaWIiCiAgCi0tZ2RiX2V4aXQK ICsjIFRlc3QgR0RCIHdhcm5zIGZvciBzaGFyZWQgbGlicmFyaXMgd2hpY2ggaGF2ZSBub3QgYmVl biBmb3VuZC4KLSAKLS1yZXR1cm4gMAorKwogK2dkYl90ZXN0ICJpbmZvIHNoYXJlZGxpYnJhcnki ICIvJHtsaWJuYW1lfS4qIgotIAorKwogK2NsZWFuX3Jlc3RhcnQgJHtleGVjdXRhYmxlfQogK2dk Yl9icmVha3BvaW50ICJtYWluIgogK2dkYl9ydW5fY21kCkBAIC00OSwxMCArNDcsMTIgQEAgZGlm ZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvc29saWItc3ltYm9sLmV4cCBiL2dkYi90 ZXN0c3VpdGUvZ2RiLmJhc2Uvc28KICsJcGFzcyAkdGVzdAogKyAgICB9CiArfQotIAorKwogK2Ns ZWFuX3Jlc3RhcnQgJHtleGVjdXRhYmxlfQogK2dkYl90ZXN0X25vX291dHB1dCAic2V0IHNvbGli LWFic29sdXRlLXByZWZpeCAvZG9FU25vdEVYSVNUIgogK2dkYl9icmVha3BvaW50ICJtYWluIgog K2dkYl9ydW5fY21kCiArZ2RiX3Rlc3QgIiIgIndhcm5pbmc6IENvdWxkIG5vdCBsb2FkIHNoYXJl ZCBsaWJyYXJ5IHN5bWJvbHMgZm9yIFxbMC05XF0rIGxpYnJhcmllcywuKlxyXG5CcmVha3BvaW50 IFxbMC05XF0rLCBtYWluIC4qIiBcCiArCSAid2FybmluZyBmb3IgbWlzc2luZyBsaWJyYXJpZXMi CisrCisgZ2RiX2V4aXQKCmRpZmYgLS1naXQgYS9nZGItZmVkb3JhLWxpYm5jdXJzZXN3LnBhdGNo IGIvZ2RiLWZlZG9yYS1saWJuY3Vyc2Vzdy5wYXRjaAppbmRleCAzNTAxMzhjLi4xYmI2NDBkIDEw MDY0NAotLS0gYS9nZGItZmVkb3JhLWxpYm5jdXJzZXN3LnBhdGNoCisrKyBiL2dkYi1mZWRvcmEt bGlibmN1cnNlc3cucGF0Y2gKQEAgLTEyLDcgKzEyLDI2OSBAQCBodHRwczovL2J1Z3ppbGxhLnJl ZGhhdC5jb20vc2hvd19idWcuY2dpP2lkPTEyNzA1MzQKIGRpZmYgLS1naXQgYS9nZGIvY29uZmln dXJlIGIvZ2RiL2NvbmZpZ3VyZQogLS0tIGEvZ2RiL2NvbmZpZ3VyZQogKysrIGIvZ2RiL2NvbmZp Z3VyZQotQEAgLTIwOTE2LDYgKzIwOTE2LDcgQEAgaWYgdGVzdCB4IiRwcmVmZXJfY3Vyc2VzIiA9 IHh5ZXM7IHRoZW4KK0BAIC03ODAsOSArNzgwLDYgQEAgRU5BQkxFX0JGRF82NF9CSVRfVFJVRQor IHN1YmRpcnMKKyBSUE1fTElCUworIFJQTV9DRkxBR1MKKy1QS0dfQ09ORklHX0xJQkRJUgorLVBL R19DT05GSUdfUEFUSAorLVBLR19DT05GSUcKKyBHREJfREFUQURJUgorIERFQlVHRElSCisgTUFL RUlORk9fRVhUUkFfRkxBR1MKK0BAIC05OTAsMTIgKzk4NywxMiBAQCBQS0dfQ09ORklHX1BBVEgK KyBQS0dfQ09ORklHX0xJQkRJUgorIE1BS0VJTkZPCisgTUFLRUlORk9GTEFHUworK1JQTV9DRkxB R1MKKytSUE1fTElCUworIEFNRF9EQkdBUElfQ0ZMQUdTCisgQU1EX0RCR0FQSV9MSUJTCisgREVC VUdJTkZPRF9DRkxBR1MKKyBERUJVR0lORk9EX0xJQlMKKy1SUE1fQ0ZMQUdTCistUlBNX0xJQlMK KyBZQUNDCisgWUZMQUdTCisgWlNURF9DRkxBR1MKK0BAIC0xNjg0LDExICsxNjgxLDExIEBAIE9w dGlvbmFsIFBhY2thZ2VzOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgWy0td2l0aC1hdXRv LWxvYWQtZGlyXQorICAgLS13aXRob3V0LWF1dG8tbG9hZC1zYWZlLXBhdGgKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgIGRvIG5vdCByZXN0cmljdCBhdXRvLWxvYWRlZCBmaWxlcyBsb2NhdGlv bnMKKysgIC0td2l0aC1ycG0gICAgICAgICAgICAgIHF1ZXJ5IHJwbSBkYXRhYmFzZSBmb3IgbWlz c2luZyBkZWJ1Z2luZm9zICh5ZXMvbm8sCisrICAgICAgICAgICAgICAgICAgICAgICAgICBkZWYu IGF1dG89bGlicnBtLnNvKQorICAgLS13aXRoLWFtZC1kYmdhcGkgICAgICAgc3VwcG9ydCBmb3Ig dGhlIGFtZC1kYmdhcGkgdGFyZ2V0ICh5ZXMgLyBubyAvIGF1dG8pCisgICAtLXdpdGgtZGVidWdp bmZvZCAgICAgICBFbmFibGUgZGVidWdpbmZvIGxvb2t1cHMgd2l0aCBkZWJ1Z2luZm9kCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAoYXV0by95ZXMvbm8pCistICAtLXdpdGgtcnBtICAgICAg ICAgICAgICBxdWVyeSBycG0gZGF0YWJhc2UgZm9yIG1pc3NpbmcgZGVidWdpbmZvcyAoeWVzL25v LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmLiBhdXRvPWxpYnJwbS5zbykKKyAgIC0t d2l0aC1saWJ1bndpbmQtaWE2NCAgIHVzZSBsaWJ1bndpbmQgZnJhbWUgdW53aW5kaW5nIGZvciBp YTY0IHRhcmdldHMKKyAgIC0td2l0aC1jdXJzZXMgICAgICAgICAgIHVzZSB0aGUgY3Vyc2VzIGxp YnJhcnkgaW5zdGVhZCBvZiB0aGUgdGVybWNhcAorICAgICAgICAgICAgICAgICAgICAgICAgICAg bGlicmFyeQorQEAgLTE3NjEsNiArMTc1OCw4IEBAIFNvbWUgaW5mbHVlbnRpYWwgZW52aXJvbm1l bnQgdmFyaWFibGVzOgorICAgTUFLRUlORk8gICAgUGFyZW50IGNvbmZpZ3VyZSBkZXRlY3RzIGlm IGl0IGlzIG9mIHN1ZmZpY2llbnQgdmVyc2lvbi4KKyAgIE1BS0VJTkZPRkxBR1MKKyAgICAgICAg ICAgICAgIFBhcmFtZXRlcnMgZm9yIE1BS0VJTkZPLgorKyAgUlBNX0NGTEFHUyAgQyBjb21waWxl ciBmbGFncyBmb3IgUlBNLCBvdmVycmlkaW5nIHBrZy1jb25maWcKKysgIFJQTV9MSUJTICAgIGxp bmtlciBmbGFncyBmb3IgUlBNLCBvdmVycmlkaW5nIHBrZy1jb25maWcKKyAgIEFNRF9EQkdBUElf Q0ZMQUdTCisgICAgICAgICAgICAgICBDIGNvbXBpbGVyIGZsYWdzIGZvciBBTURfREJHQVBJLCBv dmVycmlkaW5nIHBrZy1jb25maWcKKyAgIEFNRF9EQkdBUElfTElCUworQEAgLTE3NjksOCArMTc2 OCw2IEBAIFNvbWUgaW5mbHVlbnRpYWwgZW52aXJvbm1lbnQgdmFyaWFibGVzOgorICAgICAgICAg ICAgICAgQyBjb21waWxlciBmbGFncyBmb3IgREVCVUdJTkZPRCwgb3ZlcnJpZGluZyBwa2ctY29u ZmlnCisgICBERUJVR0lORk9EX0xJQlMKKyAgICAgICAgICAgICAgIGxpbmtlciBmbGFncyBmb3Ig REVCVUdJTkZPRCwgb3ZlcnJpZGluZyBwa2ctY29uZmlnCistICBSUE1fQ0ZMQUdTICBDIGNvbXBp bGVyIGZsYWdzIGZvciBSUE0sIG92ZXJyaWRpbmcgcGtnLWNvbmZpZworLSAgUlBNX0xJQlMgICAg bGlua2VyIGZsYWdzIGZvciBSUE0sIG92ZXJyaWRpbmcgcGtnLWNvbmZpZworICAgWUFDQyAgICAg ICAgVGhlIGBZZXQgQW5vdGhlciBDb21waWxlciBDb21waWxlcicgaW1wbGVtZW50YXRpb24gdG8g dXNlLgorICAgICAgICAgICAgICAgRGVmYXVsdHMgdG8gdGhlIGZpcnN0IHByb2dyYW0gZm91bmQg b3V0IG9mOiBgYmlzb24gLXknLCBgYnlhY2MnLAorICAgICAgICAgICAgICAgYHlhY2MnLgorQEAg LTExNDk1LDcgKzExNDkyLDcgQEAgZWxzZQorICAgbHRfZGx1bmtub3duPTA7IGx0X2Rsbm9fdXNj b3JlPTE7IGx0X2RsbmVlZF91c2NvcmU9MgorICAgbHRfc3RhdHVzPSRsdF9kbHVua25vd24KKyAg IGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxfTFRfRU9GCistI2xpbmUgMTE0ODYgImNvbmZpZ3Vy ZSIKKysjbGluZSAxMTQ5NSAiY29uZmlndXJlIgorICNpbmNsdWRlICJjb25mZGVmcy5oIgorIAor ICNpZiBIQVZFX0RMRkNOX0gKK0BAIC0xMTYwMSw3ICsxMTU5OCw3IEBAIGVsc2UKKyAgIGx0X2Rs dW5rbm93bj0wOyBsdF9kbG5vX3VzY29yZT0xOyBsdF9kbG5lZWRfdXNjb3JlPTIKKyAgIGx0X3N0 YXR1cz0kbHRfZGx1bmtub3duCisgICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8X0xUX0VPRgor LSNsaW5lIDExNTkyICJjb25maWd1cmUiCisrI2xpbmUgMTE2MDEgImNvbmZpZ3VyZSIKKyAjaW5j bHVkZSAiY29uZmRlZnMuaCIKKyAKKyAjaWYgSEFWRV9ETEZDTl9ICitAQCAtMTgxMDIsOCArMTgw OTksOCBAQCAkYXNfZWNob19uICJjaGVja2luZyBzcGVjaWZpYyBsaWJycG0gdmVyc2lvbi4uLiAi ID4mNjsgfQorICAgaWYgdGVzdCAiJGNyb3NzX2NvbXBpbGluZyIgPSB5ZXM7IHRoZW4gOgorICAg eyB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGVycm9yOiBpbiBcYCRh Y19wd2QnOiIgPiY1CisgJGFzX2VjaG8gIiRhc19tZTogZXJyb3I6IGluIFxgJGFjX3B3ZCc6IiA+ JjI7fQorLWFzX2ZuX2Vycm9yICJjYW5ub3QgcnVuIHRlc3QgcHJvZ3JhbSB3aGlsZSBjcm9zcyBj b21waWxpbmcKKy1TZWUgXGBjb25maWcubG9nJyBmb3IgbW9yZSBkZXRhaWxzLiIgIiRMSU5FTk8i IDU7IH0KKythc19mbl9lcnJvciAkPyAiY2Fubm90IHJ1biB0ZXN0IHByb2dyYW0gd2hpbGUgY3Jv c3MgY29tcGlsaW5nCisrU2VlIFxgY29uZmlnLmxvZycgZm9yIG1vcmUgZGV0YWlscyIgIiRMSU5F Tk8iIDU7IH0KKyBlbHNlCisgICBjYXQgY29uZmRlZnMuaCAtIDw8X0FDRU9GID5jb25mdGVzdC4k YWNfZXh0CisgLyogZW5kIGNvbmZkZWZzLmguICAqLworQEAgLTE4Mjc1LDEzMiArMTgyNzIsMTIg QEAgJGFzX2VjaG8gIiNkZWZpbmUgSEFWRV9MSUJSUE0gMSIgPj5jb25mZGVmcy5oCisgJGFzX2Vj aG8gIm5vIiA+JjY7IH0KKyAgICAgTElCUz0iJHNhdmVfTElCUyIKKyAgICAgaWYgJERMT1BFTl9S RVFVSVJFOyB0aGVuCistICAgICAgYXNfZm5fZXJyb3IgIlNwZWNpZmljIG5hbWUgJExJQlJQTSB3 YXMgcmVxdWVzdGVkIGJ1dCBpdCBjb3VsZCBub3QgYmUgb3BlbmVkLiIgIiRMSU5FTk8iIDUKKysg ICAgICBhc19mbl9lcnJvciAkPyAiU3BlY2lmaWMgbmFtZSAkTElCUlBNIHdhcyByZXF1ZXN0ZWQg YnV0IGl0IGNvdWxkIG5vdCBiZSBvcGVuZWQuIiAiJExJTkVOTyIgNQorICAgICBmaQorIAorLQor LQorLQorLQorLQorLQorLWlmIHRlc3QgIngkYWNfY3ZfZW52X1BLR19DT05GSUdfc2V0IiAhPSAi eHNldCI7IHRoZW4KKy0JaWYgdGVzdCAtbiAiJGFjX3Rvb2xfcHJlZml4IjsgdGhlbgorLSAgIyBF eHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICIke2FjX3Rvb2xfcHJlZml4fXBrZy1jb25maWciLCBz byBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgorLXNldCBkdW1teSAke2FjX3Rv b2xfcHJlZml4fXBrZy1jb25maWc7IGFjX3dvcmQ9JDIKKy17ICRhc19lY2hvICIkYXNfbWU6JHth c19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1CistJGFzX2VjaG9f biAiY2hlY2tpbmcgZm9yICRhY193b3JkLi4uICIgPiY2OyB9CistaWYgdGVzdCAiJHthY19jdl9w YXRoX1BLR19DT05GSUcrc2V0fSIgPSBzZXQ7IHRoZW4gOgorLSAgJGFzX2VjaG9fbiAiKGNhY2hl ZCkgIiA+JjYKKy1lbHNlCistICBjYXNlICRQS0dfQ09ORklHIGluCistICBbXFwvXSogfCA/Oltc XC9dKikKKy0gIGFjX2N2X3BhdGhfUEtHX0NPTkZJRz0iJFBLR19DT05GSUciICMgTGV0IHRoZSB1 c2VyIG92ZXJyaWRlIHRoZSB0ZXN0IHdpdGggYSBwYXRoLgorLSAgOzsKKy0gICopCistICBhc19z YXZlX0lGUz0kSUZTOyBJRlM9JFBBVEhfU0VQQVJBVE9SCistZm9yIGFzX2RpciBpbiAkUEFUSAor LWRvCistICBJRlM9JGFzX3NhdmVfSUZTCistICB0ZXN0IC16ICIkYXNfZGlyIiAmJiBhc19kaXI9 LgorLSAgICBmb3IgYWNfZXhlY19leHQgaW4gJycgJGFjX2V4ZWN1dGFibGVfZXh0ZW5zaW9uczsg ZG8KKy0gIGlmIHsgdGVzdCAtZiAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgJiYgJGFz X3Rlc3RfeCAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCI7IH07IHRoZW4KKy0gICAgYWNf Y3ZfcGF0aF9QS0dfQ09ORklHPSIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IgorLSAgICAk YXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBmb3VuZCAkYXNfZGlyLyRhY193 b3JkJGFjX2V4ZWNfZXh0IiA+JjUKKy0gICAgYnJlYWsgMgorLSAgZmkKKy1kb25lCistICBkb25l CistSUZTPSRhc19zYXZlX0lGUworLQorLSAgOzsKKy1lc2FjCistZmkKKy1QS0dfQ09ORklHPSRh Y19jdl9wYXRoX1BLR19DT05GSUcKKy1pZiB0ZXN0IC1uICIkUEtHX0NPTkZJRyI7IHRoZW4KKy0g IHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkUEtHX0NP TkZJRyIgPiY1CistJGFzX2VjaG8gIiRQS0dfQ09ORklHIiA+JjY7IH0KKy1lbHNlCistICB7ICRh c19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogbm8iID4mNQorLSRh c19lY2hvICJubyIgPiY2OyB9CistZmkKKy0KKy0KKy1maQorLWlmIHRlc3QgLXogIiRhY19jdl9w YXRoX1BLR19DT05GSUciOyB0aGVuCistICBhY19wdF9QS0dfQ09ORklHPSRQS0dfQ09ORklHCist ICAjIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgInBrZy1jb25maWciLCBzbyBpdCBjYW4gYmUg YSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgorLXNldCBkdW1teSBwa2ctY29uZmlnOyBhY193b3Jk PSQyCisteyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBm b3IgJGFjX3dvcmQiID4mNQorLSRhc19lY2hvX24gImNoZWNraW5nIGZvciAkYWNfd29yZC4uLiAi ID4mNjsgfQorLWlmIHRlc3QgIiR7YWNfY3ZfcGF0aF9hY19wdF9QS0dfQ09ORklHK3NldH0iID0g c2V0OyB0aGVuIDoKKy0gICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2CistZWxzZQorLSAgY2Fz ZSAkYWNfcHRfUEtHX0NPTkZJRyBpbgorLSAgW1xcL10qIHwgPzpbXFwvXSopCistICBhY19jdl9w YXRoX2FjX3B0X1BLR19DT05GSUc9IiRhY19wdF9QS0dfQ09ORklHIiAjIExldCB0aGUgdXNlciBv dmVycmlkZSB0aGUgdGVzdCB3aXRoIGEgcGF0aC4KKy0gIDs7CistICAqKQorLSAgYXNfc2F2ZV9J RlM9JElGUzsgSUZTPSRQQVRIX1NFUEFSQVRPUgorLWZvciBhc19kaXIgaW4gJFBBVEgKKy1kbwor LSAgSUZTPSRhc19zYXZlX0lGUworLSAgdGVzdCAteiAiJGFzX2RpciIgJiYgYXNfZGlyPS4KKy0g ICAgZm9yIGFjX2V4ZWNfZXh0IGluICcnICRhY19leGVjdXRhYmxlX2V4dGVuc2lvbnM7IGRvCist ICBpZiB7IHRlc3QgLWYgIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiICYmICRhc190ZXN0 X3ggIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiOyB9OyB0aGVuCistICAgIGFjX2N2X3Bh dGhfYWNfcHRfUEtHX0NPTkZJRz0iJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIKKy0gICAg JGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogZm91bmQgJGFzX2Rpci8kYWNf d29yZCRhY19leGVjX2V4dCIgPiY1CistICAgIGJyZWFrIDIKKy0gIGZpCistZG9uZQorLSAgZG9u ZQorLUlGUz0kYXNfc2F2ZV9JRlMKKy0KKy0gIDs7CistZXNhYworLWZpCistYWNfcHRfUEtHX0NP TkZJRz0kYWNfY3ZfcGF0aF9hY19wdF9QS0dfQ09ORklHCistaWYgdGVzdCAtbiAiJGFjX3B0X1BL R19DT05GSUciOyB0aGVuCistICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVO T306IHJlc3VsdDogJGFjX3B0X1BLR19DT05GSUciID4mNQorLSRhc19lY2hvICIkYWNfcHRfUEtH X0NPTkZJRyIgPiY2OyB9CistZWxzZQorLSAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5v LSRMSU5FTk99OiByZXN1bHQ6IG5vIiA+JjUKKy0kYXNfZWNobyAibm8iID4mNjsgfQorLWZpCist CistICBpZiB0ZXN0ICJ4JGFjX3B0X1BLR19DT05GSUciID0geDsgdGhlbgorLSAgICBQS0dfQ09O RklHPSIiCistICBlbHNlCistICAgIGNhc2UgJGNyb3NzX2NvbXBpbGluZzokYWNfdG9vbF93YXJu ZWQgaW4KKy15ZXM6KQorLXsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTog V0FSTklORzogdXNpbmcgY3Jvc3MgdG9vbHMgbm90IHByZWZpeGVkIHdpdGggaG9zdCB0cmlwbGV0 IiA+JjUKKy0kYXNfZWNobyAiJGFzX21lOiBXQVJOSU5HOiB1c2luZyBjcm9zcyB0b29scyBub3Qg cHJlZml4ZWQgd2l0aCBob3N0IHRyaXBsZXQiID4mMjt9CistYWNfdG9vbF93YXJuZWQ9eWVzIDs7 CistZXNhYworLSAgICBQS0dfQ09ORklHPSRhY19wdF9QS0dfQ09ORklHCistICBmaQorLWVsc2UK Ky0gIFBLR19DT05GSUc9IiRhY19jdl9wYXRoX1BLR19DT05GSUciCistZmkKKy0KKy1maQorLWlm IHRlc3QgLW4gIiRQS0dfQ09ORklHIjsgdGhlbgorLQlfcGtnX21pbl92ZXJzaW9uPTAuOS4wCist CXsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgcGtnLWNv bmZpZyBpcyBhdCBsZWFzdCB2ZXJzaW9uICRfcGtnX21pbl92ZXJzaW9uIiA+JjUKKy0kYXNfZWNo b19uICJjaGVja2luZyBwa2ctY29uZmlnIGlzIGF0IGxlYXN0IHZlcnNpb24gJF9wa2dfbWluX3Zl cnNpb24uLi4gIiA+JjY7IH0KKy0JaWYgJFBLR19DT05GSUcgLS1hdGxlYXN0LXBrZ2NvbmZpZy12 ZXJzaW9uICRfcGtnX21pbl92ZXJzaW9uOyB0aGVuCistCQl7ICRhc19lY2hvICIkYXNfbWU6JHth c19saW5lbm8tJExJTkVOT306IHJlc3VsdDogeWVzIiA+JjUKKy0kYXNfZWNobyAieWVzIiA+JjY7 IH0KKy0JZWxzZQorLQkJeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBy ZXN1bHQ6IG5vIiA+JjUKKy0kYXNfZWNobyAibm8iID4mNjsgfQorLQkJUEtHX0NPTkZJRz0iIgor LQlmaQorLWZpCistCisgcGtnX2ZhaWxlZD1ubworLXsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xp bmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yIFJQTSIgPiY1CistJGFzX2VjaG9fbiAiY2hlY2tp bmcgZm9yIFJQTS4uLiAiID4mNjsgfQorK3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0k TElORU5PfTogY2hlY2tpbmcgZm9yIHJwbSIgPiY1CisrJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9y IHJwbS4uLiAiID4mNjsgfQorIAorIGlmIHRlc3QgLW4gIiRSUE1fQ0ZMQUdTIjsgdGhlbgorICAg ICBwa2dfY3ZfUlBNX0NGTEFHUz0iJFJQTV9DRkxBR1MiCitAQCAtMTg0MzcsNiArMTgzMTQsMzAg QEAgZmkKKyAgICAgcGtnX2ZhaWxlZD11bnRyaWVkCisgZmkKKyAKKytpZiB0ZXN0ICRwa2dfZmFp bGVkID0gbm87IHRoZW4KKysgIHBrZ19zYXZlX0xERkxBR1M9IiRMREZMQUdTIgorKyAgTERGTEFH Uz0iJExERkxBR1MgJHBrZ19jdl9SUE1fTElCUyIKKysgIGNhdCBjb25mZGVmcy5oIC0gPDxfQUNF T0YgPmNvbmZ0ZXN0LiRhY19leHQKKysvKiBlbmQgY29uZmRlZnMuaC4gICovCisrCisraW50Cisr bWFpbiAoKQorK3sKKysKKysgIDsKKysgIHJldHVybiAwOworK30KKytfQUNFT0YKKytpZiBhY19m bl9jX3RyeV9saW5rICIkTElORU5PIjsgdGhlbiA6CisrCisrZWxzZQorKyAgcGtnX2ZhaWxlZD15 ZXMKKytmaQorK3JtIC1mIGNvcmUgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmpleHQgXAor KyAgICBjb25mdGVzdCRhY19leGVleHQgY29uZnRlc3QuJGFjX2V4dAorKyAgTERGTEFHUz0kcGtn X3NhdmVfTERGTEFHUworK2ZpCisrCisgCisgCisgaWYgdGVzdCAkcGtnX2ZhaWxlZCA9IHllczsg dGhlbgorQEAgLTE4NTMxLDcgKzE4NDMyLDcgQEAgJGFzX2VjaG8gIiNkZWZpbmUgSEFWRV9MSUJS UE0gMSIgPj5jb25mZGVmcy5oCisgICAgICAgTElCUz0iJExJQlMgJFJQTV9MSUJTIgorICAgICBl bHNlCisgICAgICAgaWYgJFJQTV9SRVFVSVJFOyB0aGVuCistCWFzX2ZuX2Vycm9yICIkUlBNX1BL R19FUlJPUlMiICIkTElORU5PIiA1CisrCWFzX2ZuX2Vycm9yICQ/ICIkUlBNX1BLR19FUlJPUlMi ICIkTElORU5PIiA1CisgICAgICAgZWxzZQorIAl7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5l bm8tJExJTkVOT306IFdBUk5JTkc6ICRSUE1fUEtHX0VSUk9SUyIgPiY1CisgJGFzX2VjaG8gIiRh c19tZTogV0FSTklORzogJFJQTV9QS0dfRVJST1JTIiA+JjI7fQorQEAgLTIxMTY0LDYgKzIxMDY1 LDcgQEAgaWYgdGVzdCB4IiRwcmVmZXJfY3Vyc2VzIiA9IHh5ZXM7IHRoZW4KICAgICMgc2VhcmNo IC91c3IvbG9jYWwvaW5jbHVkZSwgaWYgbmN1cnNlcyBpcyBpbnN0YWxsZWQgaW4gL3Vzci9sb2Nh bC4gIEEKICAgICMgZGVmYXVsdCBpbnN0YWxsYXRpb24gb2YgbmN1cnNlcyBvbiBhbHBoYSotZGVj LW9zZiogd2lsbCBsZWFkIHRvIHN1Y2gKICAgICMgYSBzaXR1YXRpb24uCkBAIC0yMCw3ICsyODIs NyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2NvbmZpZ3VyZSBiL2dkYi9jb25maWd1cmUKICAgIHsgJGFz X2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yIGxpYnJhcnkg Y29udGFpbmluZyB3YWRkc3RyIiA+JjUKICAkYXNfZWNob19uICJjaGVja2luZyBmb3IgbGlicmFy eSBjb250YWluaW5nIHdhZGRzdHIuLi4gIiA+JjY7IH0KICBpZiAke2FjX2N2X3NlYXJjaF93YWRk c3RyKzp9IGZhbHNlOyB0aGVuIDoKLUBAIC0yMDk0MCw3ICsyMDk0MSw3IEBAIHJldHVybiB3YWRk c3RyICgpOworQEAgLTIxMTg4LDcgKzIxMDkwLDcgQEAgcmV0dXJuIHdhZGRzdHIgKCk7CiAgICBy ZXR1cm4gMDsKICB9CiAgX0FDRU9GCkBAIC0yOSw3ICsyOTEsNyBAQCBkaWZmIC0tZ2l0IGEvZ2Ri L2NvbmZpZ3VyZSBiL2dkYi9jb25maWd1cmUKICAgIGlmIHRlc3QgLXogIiRhY19saWIiOyB0aGVu CiAgICAgIGFjX3Jlcz0ibm9uZSByZXF1aXJlZCIKICAgIGVsc2UKLUBAIC0yMTAxNCw2ICsyMTAx NSw3IEBAIGNhc2UgJGhvc3Rfb3MgaW4KK0BAIC0yMTI2MCw2ICsyMTE2Miw3IEBAIGNhc2UgJGhv c3Rfb3MgaW4KICBlc2FjCiAgCiAgIyBUaGVzZSBhcmUgdGhlIGxpYnJhcmllcyBjaGVja2VkIGJ5 IFJlYWRsaW5lLgpAQCAtMzcsNyArMjk5LDcgQEAgZGlmZiAtLWdpdCBhL2dkYi9jb25maWd1cmUg Yi9nZGIvY29uZmlndXJlCiAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99 OiBjaGVja2luZyBmb3IgbGlicmFyeSBjb250YWluaW5nIHRnZXRlbnQiID4mNQogICRhc19lY2hv X24gImNoZWNraW5nIGZvciBsaWJyYXJ5IGNvbnRhaW5pbmcgdGdldGVudC4uLiAiID4mNjsgfQog IGlmICR7YWNfY3Zfc2VhcmNoX3RnZXRlbnQrOn0gZmFsc2U7IHRoZW4gOgotQEAgLTIxMDM4LDcg KzIxMDQwLDcgQEAgcmV0dXJuIHRnZXRlbnQgKCk7CitAQCAtMjEyODQsNyArMjExODcsNyBAQCBy ZXR1cm4gdGdldGVudCAoKTsKICAgIHJldHVybiAwOwogIH0KICBfQUNFT0YKQEAgLTQ5LDE3ICsz MTEsMTcgQEAgZGlmZiAtLWdpdCBhL2dkYi9jb25maWd1cmUgYi9nZGIvY29uZmlndXJlCiBkaWZm IC0tZ2l0IGEvZ2RiL2NvbmZpZ3VyZS5hYyBiL2dkYi9jb25maWd1cmUuYWMKIC0tLSBhL2dkYi9j b25maWd1cmUuYWMKICsrKyBiL2dkYi9jb25maWd1cmUuYWMKLUBAIC03MDUsNyArNzA1LDggQEAg aWYgdGVzdCB4IiRwcmVmZXJfY3Vyc2VzIiA9IHh5ZXM7IHRoZW4KK0BAIC03NDksNyArNzQ5LDgg QEAgaWYgdGVzdCB4IiRwcmVmZXJfY3Vyc2VzIiA9IHh5ZXM7IHRoZW4KICAgICMgc2VhcmNoIC91 c3IvbG9jYWwvaW5jbHVkZSwgaWYgbmN1cnNlcyBpcyBpbnN0YWxsZWQgaW4gL3Vzci9sb2NhbC4g IEEKICAgICMgZGVmYXVsdCBpbnN0YWxsYXRpb24gb2YgbmN1cnNlcyBvbiBhbHBoYSotZGVjLW9z Ziogd2lsbCBsZWFkIHRvIHN1Y2gKICAgICMgYSBzaXR1YXRpb24uCi0tICBBQ19TRUFSQ0hfTElC Uyh3YWRkc3RyLCBbbmN1cnNlc3cgbmN1cnNlcyBjdXJzZXNYIGN1cnNlc10pCistICBBQ19TRUFS Q0hfTElCUyh3YWRkc3RyLCBbbmN1cnNlc3cgbmN1cnNlcyBjdXJzZXNYIGN1cnNlc10sCiArICAj IEZlZG9yYTogRm9yY2UgbGlibmN1cnNlc3cgb3ZlciBsaWJuY3Vyc2VzIHRvIG1hdGNoIHRoZSBp bmNsdWRlcy4KLSsgIEFDX1NFQVJDSF9MSUJTKHdhZGRzdHIsIFtuY3Vyc2Vzd10pCi0gCi0gICBp ZiB0ZXN0ICIkYWNfY3Zfc2VhcmNoX3dhZGRzdHIiICE9IG5vOyB0aGVuCi0gICAgIGN1cnNlc19m b3VuZD15ZXMKLUBAIC03NDcsNyArNzQ4LDggQEAgY2FzZSAkaG9zdF9vcyBpbgorKyAgQUNfU0VB UkNIX0xJQlMod2FkZHN0ciwgW25jdXJzZXN3XSwKKyAgICAgICAgICAgICAgICAgIFtjdXJzZXNf Zm91bmQ9eWVzCisgICAgICAgICAgICAgICAgICAgQUNfREVGSU5FKFtIQVZFX0xJQkNVUlNFU10s IFsxXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW0RlZmluZSB0byAxIGlmIGN1cnNl cyBpcyBlbmFibGVkLl0pCitAQCAtNzg5LDcgKzc5MCw4IEBAIGNhc2UgJGhvc3Rfb3MgaW4KICBl c2FjCiAgCiAgIyBUaGVzZSBhcmUgdGhlIGxpYnJhcmllcyBjaGVja2VkIGJ5IFJlYWRsaW5lLgoK ZGlmZiAtLWdpdCBhL2dkYi1saW51eF9wZXJmLWJ1bmRsZS5wYXRjaCBiL2dkYi1saW51eF9wZXJm LWJ1bmRsZS5wYXRjaAppbmRleCA0YzdlNThmLi5iYjZmYjZhIDEwMDY0NAotLS0gYS9nZGItbGlu dXhfcGVyZi1idW5kbGUucGF0Y2gKKysrIGIvZ2RiLWxpbnV4X3BlcmYtYnVuZGxlLnBhdGNoCkBA IC05LDkgKzksOSBAQCBTdWJqZWN0OiBnZGItbGludXhfcGVyZi1idW5kbGUucGF0Y2gKIGRpZmYg LS1naXQgYS9nZGIvZ2RiLmMgYi9nZGIvZ2RiLmMKIC0tLSBhL2dkYi9nZGIuYwogKysrIGIvZ2Ri L2dkYi5jCi1AQCAtMjAsMTEgKzIwLDE5IEBACi0gI2luY2x1ZGUgIm1haW4uaCIKK0BAIC0yMSw2 ICsyMSwxMCBAQAogICNpbmNsdWRlICJpbnRlcnBzLmgiCisgI2luY2x1ZGUgInJ1bi1vbi1tYWlu LXRocmVhZC5oIgogIAogKyNpZmRlZiBQRVJGX0FUVFJfU0laRV9WRVI1X0JVTkRMRQogK2V4dGVy biAiQyIgdm9pZCBfX2xpYmlwdF9pbml0KHZvaWQpOwpAQCAtMjAsNiArMjAsOCBAQCBkaWZmIC0t Z2l0IGEvZ2RiL2dkYi5jIGIvZ2RiL2dkYi5jCiAgaW50CiAgbWFpbiAoaW50IGFyZ2MsIGNoYXIg Kiphcmd2KQogIHsKK0BAIC0zMiw2ICszNiwxMCBAQCBtYWluIChpbnQgYXJnYywgY2hhciAqKmFy Z3YpCisgCiAgICBzdHJ1Y3QgY2FwdHVyZWRfbWFpbl9hcmdzIGFyZ3M7CiAgCiArI2lmZGVmIFBF UkZfQVRUUl9TSVpFX1ZFUjVfQlVORExFCkBAIC0zMiw3ICszNCw3IEBAIGRpZmYgLS1naXQgYS9n ZGIvZ2RiLmMgYi9nZGIvZ2RiLmMKIGRpZmYgLS1naXQgYS9nZGIvbmF0L2xpbnV4LWJ0cmFjZS5o IGIvZ2RiL25hdC9saW51eC1idHJhY2UuaAogLS0tIGEvZ2RiL25hdC9saW51eC1idHJhY2UuaAog KysrIGIvZ2RiL25hdC9saW51eC1idHJhY2UuaAotQEAgLTI3LDYgKzI3LDE3NyBAQAorQEAgLTI4 LDYgKzI4LDE3NyBAQAogICMgIGluY2x1ZGUgPGxpbnV4L3BlcmZfZXZlbnQuaD4KICAjZW5kaWYK ICAKQEAgLTIxMyw3ICsyMTUsNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL25hdC9saW51eC1idHJhY2Uu aCBiL2dkYi9uYXQvbGludXgtYnRyYWNlLmgKIGRpZmYgLS1naXQgYS9nZGJzdXBwb3J0L2NvbW1v bi5tNCBiL2dkYnN1cHBvcnQvY29tbW9uLm00CiAtLS0gYS9nZGJzdXBwb3J0L2NvbW1vbi5tNAog KysrIGIvZ2Ric3VwcG9ydC9jb21tb24ubTQKLUBAIC0xNjYsNyArMTY2LDcgQEAgQUNfREVGVU4o W0dEQl9BQ19DT01NT05dLCBbCitAQCAtMTY4LDcgKzE2OCw3IEBAIEFDX0RFRlVOKFtHREJfQUNf Q09NTU9OXSwgWwogICAgICBBQ19QUkVQUk9DX0lGRUxTRShbQUNfTEFOR19TT1VSQ0UoW1sKICAg ICNpbmNsdWRlIDxsaW51eC9wZXJmX2V2ZW50Lmg+CiAgICAjaWZuZGVmIFBFUkZfQVRUUl9TSVpF X1ZFUjUKCmRpZmYgLS1naXQgYS9nZGItcmhiei0yMjMyMDg2LWNwcC1pZnktbWFwcGVkLXN5bXRh Yi5wYXRjaCBiL2dkYi1yaGJ6LTIyMzIwODYtY3BwLWlmeS1tYXBwZWQtc3ltdGFiLnBhdGNoCmlu ZGV4IDRhY2NjYTYuLjFkNmUxZmIgMTAwNjQ0Ci0tLSBhL2dkYi1yaGJ6LTIyMzIwODYtY3BwLWlm eS1tYXBwZWQtc3ltdGFiLnBhdGNoCisrKyBiL2dkYi1yaGJ6LTIyMzIwODYtY3BwLWlmeS1tYXBw ZWQtc3ltdGFiLnBhdGNoCkBAIC0yMDYsNyArMjA2LDcgQEAgZGlmZiAtLWdpdCBhL2dkYi9kd2Fy ZjIvaW5kZXgtd3JpdGUuYyBiL2dkYi9kd2FyZjIvaW5kZXgtd3JpdGUuYwogIAogIAkgIC8qIEJ1 dCBpdCBzaG91bGQgc3RpbGwgYmUgYSBuZXcgZWxlbWVudCBpbiB0aGUgaGFzaCB0YWJsZS4gICov CiAgCSAgZ2RiX2Fzc2VydCAoc2xvdC0+bmFtZSA9PSBudWxscHRyKTsKLUBAIC0zODgsNyArNDM3 LDcgQEAgd3JpdGVfaGFzaF90YWJsZSAobWFwcGVkX3N5bXRhYiAqc3ltdGFiLCBkYXRhX2J1ZiAm b3V0cHV0LCBkYXRhX2J1ZiAmY3Bvb2wpCitAQCAtMzg3LDcgKzQzNiw3IEBAIHdyaXRlX2hhc2hf dGFibGUgKG1hcHBlZF9zeW10YWIgKnN5bXRhYiwgZGF0YV9idWYgJm91dHB1dCwgZGF0YV9idWYg JmNwb29sKQogIAogICAgICAvKiBXZSBhZGQgYWxsIHRoZSBpbmRleCB2ZWN0b3JzIHRvIHRoZSBj b25zdGFudCBwb29sIGZpcnN0LCB0bwogICAgICAgICBlbnN1cmUgYWxpZ25tZW50IGlzIG9rLiAg Ki8KQEAgLTIxNSw3ICsyMTUsNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2R3YXJmMi9pbmRleC13cml0 ZS5jIGIvZ2RiL2R3YXJmMi9pbmRleC13cml0ZS5jCiAgICAgICAgewogIAlpZiAoZW50cnkubmFt ZSA9PSBOVUxMKQogIAkgIGNvbnRpbnVlOwotQEAgLTQxNyw3ICs0NjYsNyBAQCB3cml0ZV9oYXNo X3RhYmxlIChtYXBwZWRfc3ltdGFiICpzeW10YWIsIGRhdGFfYnVmICZvdXRwdXQsIGRhdGFfYnVm ICZjcG9vbCkKK0BAIC00MTYsNyArNDY1LDcgQEAgd3JpdGVfaGFzaF90YWJsZSAobWFwcGVkX3N5 bXRhYiAqc3ltdGFiLCBkYXRhX2J1ZiAmb3V0cHV0LCBkYXRhX2J1ZiAmY3Bvb2wpCiAgCiAgICAv KiBOb3cgd3JpdGUgb3V0IHRoZSBoYXNoIHRhYmxlLiAgKi8KICAgIHN0ZDo6dW5vcmRlcmVkX21h cDxjX3N0cl92aWV3LCBvZmZzZXRfdHlwZSwgY19zdHJfdmlld19oYXNoZXI+IHN0cl90YWJsZTsK QEAgLTIyNCw3ICsyMjQsNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2R3YXJmMi9pbmRleC13cml0ZS5j IGIvZ2RiL2R3YXJmMi9pbmRleC13cml0ZS5jCiAgICAgIHsKICAgICAgICBvZmZzZXRfdHlwZSBz dHJfb2ZmLCB2ZWNfb2ZmOwogIAotQEAgLTExNDksNyArMTE5OCw3IEBAIHdyaXRlX2Nvb2tlZF9p bmRleCAoY29va2VkX2luZGV4X3ZlY3RvciAqdGFibGUsCitAQCAtMTE1MSw3ICsxMjAwLDcgQEAg d3JpdGVfY29va2VkX2luZGV4IChjb29rZWRfaW5kZXggKnRhYmxlLAogICAgICAgIGNvbnN0IGF1 dG8gaXQgPSBjdV9pbmRleF9odGFiLmZpbmQgKGVudHJ5LT5wZXJfY3UpOwogICAgICAgIGdkYl9h c3NlcnQgKGl0ICE9IGN1X2luZGV4X2h0YWIuY2VuZCAoKSk7CiAgCkBAIC0yMzMsMTYgKzIzMywx NiBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2R3YXJmMi9pbmRleC13cml0ZS5jIGIvZ2RiL2R3YXJmMi9p bmRleC13cml0ZS5jCiAgCiAgICAgICAgaWYgKGVudHJ5LT5wZXJfY3UtPmxhbmcgKCkgPT0gbGFu Z3VhZ2VfYWRhKQogIAl7Ci1AQCAtMTE2OSw3ICsxMjE4LDcgQEAgd3JpdGVfY29va2VkX2luZGV4 IChjb29rZWRfaW5kZXhfdmVjdG9yICp0YWJsZSwKLSAJCSBnZGIsIGl0IGhhcyB0byB1c2UgdGhl IGVuY29kZWQgbmFtZSwgd2l0aCBhbnkKLSAJCSBzdWZmaXhlcyBzdHJpcHBlZC4gICovCi0gCSAg ICAgIHN0ZDo6c3RyaW5nIGVuY29kZWQgPSBhZGFfZW5jb2RlIChuYW1lLCBmYWxzZSk7Ci0tCSAg ICAgIG5hbWUgPSBvYnN0YWNrX3N0cmR1cCAoJnN5bXRhYi0+bV9zdHJpbmdfb2JzdGFjaywKLSsJ ICAgICAgbmFtZSA9IG9ic3RhY2tfc3RyZHVwIChzeW10YWItPm9ic3RhY2sgKCksCi0gCQkJCSAg ICAgZW5jb2RlZC5jX3N0ciAoKSk7Ci0gCSAgICB9CitAQCAtMTE1OSw3ICsxMjA4LDcgQEAgd3Jp dGVfY29va2VkX2luZGV4IChjb29rZWRfaW5kZXggKnRhYmxlLAorIAkgICAgIGdkYiwgaXQgaGFz IHRvIHVzZSB0aGUgZW5jb2RlZCBuYW1lLCB3aXRoIGFueQorIAkgICAgIHN1ZmZpeGVzIHN0cmlw cGVkLiAgKi8KKyAJICBzdGQ6OnN0cmluZyBlbmNvZGVkID0gYWRhX2VuY29kZSAobmFtZSwgZmFs c2UpOworLQkgIG5hbWUgPSBvYnN0YWNrX3N0cmR1cCAoJnN5bXRhYi0+bV9zdHJpbmdfb2JzdGFj aywKKysJICBuYW1lID0gb2JzdGFja19zdHJkdXAgKHN5bXRhYi0+b2JzdGFjayAoKSwKKyAJCQkJ IGVuY29kZWQuY19zdHIgKCkpOwogIAl9Ci1AQCAtMTIwMiw4ICsxMjUxLDggQEAgd3JpdGVfY29v a2VkX2luZGV4IChjb29rZWRfaW5kZXhfdmVjdG9yICp0YWJsZSwKKyAgICAgICBlbHNlIGlmIChl bnRyeS0+cGVyX2N1LT5sYW5nICgpID09IGxhbmd1YWdlX2NwbHVzCitAQCAtMTE5MSw4ICsxMjQw LDggQEAgd3JpdGVfY29va2VkX2luZGV4IChjb29rZWRfaW5kZXggKnRhYmxlLAogICAgICAgIGVs c2UKICAJa2luZCA9IEdEQl9JTkRFWF9TWU1CT0xfS0lORF9UWVBFOwogIApAQCAtMjUzLDcgKzI1 Myw3IEBAIGRpZmYgLS1naXQgYS9nZGIvZHdhcmYyL2luZGV4LXdyaXRlLmMgYi9nZGIvZHdhcmYy L2luZGV4LXdyaXRlLmMKICAgICAgfQogIH0KICAKLUBAIC0xMjgxLDggKzEzMzAsNiBAQCB3cml0 ZV9nZGJpbmRleCAoZHdhcmYyX3Blcl9vYmpmaWxlICpwZXJfb2JqZmlsZSwKK0BAIC0xMjY3LDgg KzEzMTYsNiBAQCB3cml0ZV9nZGJpbmRleCAoZHdhcmYyX3Blcl9iZmQgKnBlcl9iZmQsIGNvb2tl ZF9pbmRleCAqdGFibGUsCiAgICBzeW10YWIubWluaW1pemUgKCk7CiAgCiAgICBkYXRhX2J1ZiBz eW10YWJfdmVjLCBjb25zdGFudF9wb29sOwoKZGlmZiAtLWdpdCBhL2dkYi1yaGJ6LTIyMzIwODYt Z2VuZXJhdGUtZHdhcmYtNS1pbmRleC1jb25zaXN0ZW50bHkucGF0Y2ggYi9nZGItcmhiei0yMjMy MDg2LWdlbmVyYXRlLWR3YXJmLTUtaW5kZXgtY29uc2lzdGVudGx5LnBhdGNoCmluZGV4IDZiMjFj MTQuLmU5YjBiOWUgMTAwNjQ0Ci0tLSBhL2dkYi1yaGJ6LTIyMzIwODYtZ2VuZXJhdGUtZHdhcmYt NS1pbmRleC1jb25zaXN0ZW50bHkucGF0Y2gKKysrIGIvZ2RiLXJoYnotMjIzMjA4Ni1nZW5lcmF0 ZS1kd2FyZi01LWluZGV4LWNvbnNpc3RlbnRseS5wYXRjaApAQCAtMzUsNyArMzUsNyBAQCBBcHBy b3ZlZC1CeTogVG9tIFRyb21leSA8dG9tQHRyb21leS5jb20+CiBkaWZmIC0tZ2l0IGEvZ2RiL2R3 YXJmMi9pbmRleC13cml0ZS5jIGIvZ2RiL2R3YXJmMi9pbmRleC13cml0ZS5jCiAtLS0gYS9nZGIv ZHdhcmYyL2luZGV4LXdyaXRlLmMKICsrKyBiL2dkYi9kd2FyZjIvaW5kZXgtd3JpdGUuYwotQEAg LTQ1Myw2ICs0NTMsMTEgQEAgY2xhc3MgY19zdHJfdmlldworQEAgLTQ1Miw2ICs0NTIsMTEgQEAg Y2xhc3MgY19zdHJfdmlldwogICAgICByZXR1cm4gc3RyY21wIChtX2NzdHIsIG90aGVyLm1fY3N0 cikgPT0gMDsKICAgIH0KICAKQEAgLTQ3LDcgKzQ3LDcgQEAgZGlmZiAtLWdpdCBhL2dkYi9kd2Fy ZjIvaW5kZXgtd3JpdGUuYyBiL2dkYi9kd2FyZjIvaW5kZXgtd3JpdGUuYwogICAgLyogUmV0dXJu IHRoZSB1bmRlcmx5aW5nIEMgc3RyaW5nLiAgTm90ZSwgdGhlIHJldHVybmVkIHN0cmluZyBpcwog ICAgICAgb25seSBhIHJlZmVyZW5jZSB3aXRoIGxpZmV0aW1lIG9mIHRoaXMgb2JqZWN0LiAgKi8K ICAgIGNvbnN0IGNoYXIgKmNfc3RyICgpIGNvbnN0Ci1AQCAtNzcwLDEwICs3NzUsMTggQEAgY2xh c3MgZGVidWdfbmFtZXMKK0BAIC03NzEsMTAgKzc3NiwxOCBAQCBjbGFzcyBkZWJ1Z19uYW1lcwog ICAgICAgIH0KICAgICAgZm9yIChzaXplX3QgYnVja2V0X2l4ID0gMDsgYnVja2V0X2l4IDwgYnVj a2V0X2hhc2guc2l6ZSAoKTsgKytidWNrZXRfaXgpCiAgICAgICAgewoKZGlmZiAtLWdpdCBhL2dk Yi1yaGJ6LTIyMzIwODYtZ2VuZXJhdGUtZ2RiLWluZGV4LWNvbnNpc3RlbnRseS5wYXRjaCBiL2dk Yi1yaGJ6LTIyMzIwODYtZ2VuZXJhdGUtZ2RiLWluZGV4LWNvbnNpc3RlbnRseS5wYXRjaAppbmRl eCBkMGU1Yzk1Li5kNjkxN2VjIDEwMDY0NAotLS0gYS9nZGItcmhiei0yMjMyMDg2LWdlbmVyYXRl LWdkYi1pbmRleC1jb25zaXN0ZW50bHkucGF0Y2gKKysrIGIvZ2RiLXJoYnotMjIzMjA4Ni1nZW5l cmF0ZS1nZGItaW5kZXgtY29uc2lzdGVudGx5LnBhdGNoCkBAIC0xMzgsNyArMTM4LDcgQEAgZGlm ZiAtLWdpdCBhL2dkYi9kd2FyZjIvaW5kZXgtd3JpdGUuYyBiL2dkYi9kd2FyZjIvaW5kZXgtd3Jp dGUuYwogIC8qIFNlZSBjbGFzcyBkZWZpbml0aW9uLiAgKi8KICAKICB2b2lkCi1AQCAtMTMyNSw2 ICsxMzkxLDkgQEAgd3JpdGVfZ2RiaW5kZXggKGR3YXJmMl9wZXJfb2JqZmlsZSAqcGVyX29iamZp bGUsCitAQCAtMTMxMSw2ICsxMzc3LDkgQEAgd3JpdGVfZ2RiaW5kZXggKGR3YXJmMl9wZXJfYmZk ICpwZXJfYmZkLCBjb29rZWRfaW5kZXggKnRhYmxlLAogICAgZm9yIChhdXRvIG1hcCA6IHRhYmxl LT5nZXRfYWRkcm1hcHMgKCkpCiAgICAgIHdyaXRlX2FkZHJlc3NfbWFwIChtYXAsIGFkZHJfdmVj LCBjdV9pbmRleF9odGFiKTsKICAKQEAgLTIwNiw4ICsyMDYsOCBAQCBkaWZmIC0tZ2l0IGEvZ2Ri L3Rlc3RzdWl0ZS9nZGIuZ2RiL2luZGV4LWZpbGUuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZ2Ri L2luZGV4LQogZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvbGliL2dkYi5leHAgYi9nZGIvdGVz dHN1aXRlL2xpYi9nZGIuZXhwCiAtLS0gYS9nZGIvdGVzdHN1aXRlL2xpYi9nZGIuZXhwCiArKysg Yi9nZGIvdGVzdHN1aXRlL2xpYi9nZGIuZXhwCi1AQCAtOTI3NCw2ICs5Mjc0LDIxIEBAIHByb2Mg Z2RiX3N0ZXBfdW50aWwgeyByZWdleHAge3Rlc3RfbmFtZSAiIn0ge21heF9zdGVwcyAxMH0gfSB7 Ci0gICAgIH0KK0BAIC0xMDAzMyw2ICsxMDAzMywyMSBAQCBwcm9jIGlzX3RhcmdldF9ub25fc3Rv cCB7IHt0ZXN0bmFtZSAiIn0gfSB7CisgICAgIHJldHVybiAkaXNfbm9uX3N0b3AKICB9CiAgCiAr IyBSZXR1cm4gdGhlIG51bWJlciBvZiB3b3JrZXIgdGhyZWFkcyB0aGF0IEdEQiBpcyBjdXJyZW50 bHkgdXNpbmcuCgpkaWZmIC0tZ2l0IGEvZ2RiLXJoYnoxNzczNjUxLWdkYi1pbmRleC1pbnRlcm5h bC1lcnJvci5wYXRjaCBiL2dkYi1yaGJ6MTc3MzY1MS1nZGItaW5kZXgtaW50ZXJuYWwtZXJyb3Iu cGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA0Y2ZlNmQuLjAwMDAwMDAKLS0t IGEvZ2RiLXJoYnoxNzczNjUxLWdkYi1pbmRleC1pbnRlcm5hbC1lcnJvci5wYXRjaAorKysgL2Rl di9udWxsCkBAIC0xLDEwNSArMCwwIEBACi1Gcm9tIEZFRE9SQV9QQVRDSEVTIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQotRnJvbTogS2V2aW4gQnVldHRuZXIgPGtldmluYkByZWRoYXQuY29tPgot RGF0ZTogTW9uLCAyIE9jdCAyMDIzIDE1OjA1OjIzIC0wNzAwCi1TdWJqZWN0OiBnZGItcmhiejE3 NzM2NTEtZ2RiLWluZGV4LWludGVybmFsLWVycm9yLnBhdGNoCi0KLTs7IEJhY2twb3J0IHVwc3Ry ZWFtIHBhdGNoIHdoaWNoIHByZXZlbnRzIGludGVybmFsIGVycm9yIHdoZW4KLTs7IGdlbmVyYXRp bmcgYSBnZGItaW5kZXggZmlsZSAoUkggQlogMTc3MzY1MSkuCi0KLVRocm93IGVycm9yIHdoZW4g Y3JlYXRpbmcgYW4gb3Zlcmx5IGxhcmdlIGdkYi1pbmRleCBmaWxlCi0KLVRoZSBoZWFkZXIgaW4g YSAuZ2RiX2luZGV4IHNlY3Rpb24gdXNlcyAzMi1iaXQgdW5zaWduZWQgb2Zmc2V0cyB0bwotcmVm ZXIgdG8gb3RoZXIgYXJlYXMgb2YgdGhlIHNlY3Rpb24uICBUaHVzLCB0aGVyZSBpcyBhIHNpemUg bGltaXQgb2YKLTJeMzItMSB3aGljaCBpcyBjdXJyZW50bHkgdW5hY2NvdW50ZWQgZm9yIGJ5IEdE QidzIGNvZGUgZm9yIG91dHB1dHRpbmcKLXRoZXNlIHNlY3Rpb25zLgotCi1BdCB0aGUgbW9tZW50 LCB3aGVuIEdEQiBjcmVhdGVzIGFuIG92ZXJseSBsYXJnZSBzZWN0aW9uLCBpdCB3aWxsIGV4aXQK LWFibm9ybWFsbHkgZHVlIHRvIGFuIGludGVybmFsIGVycm9yLCB3aGljaCBpcyBjYXVzZWQgYnkg YSBmYWlsZWQKLWFzc2VydCBpbiBhc3NlcnRfZmlsZV9zaXplLCB3aGljaCBpbiB0dXJuIGlzIGNh bGxlZCBmcm9tCi13cml0ZV9nZGJpbmRleF8xLCBib3RoIG9mIHdoaWNoIGFyZSBpbiBnZGIvZHdh cmYyL2luZGV4LXdyaXRlLmMuCi0KLVRoaXMgaXMgd2hhdCBoYXBwZW5zIHdoZW4gdGhhdCBhc3Nl cnQgZmFpbHM6Ci0KLSQgZ2RiIC1xIC1ueCAtaWV4ICdzZXQgYXV0by1sb2FkIG5vJyAtaWV4ICdz ZXQgZGVidWdpbmZvZCBlbmFibGVkIG9mZicgLWV4IGZpbGUgLi9saWJncmFwaF90b29sX2luZmVy ZW5jZS5zbyAtZXggInNhdmUgZ2RiLWluZGV4IGBwd2RgLyIKLVJlYWRpbmcgc3ltYm9scyBmcm9t IC4vbGliZ3JhcGhfdG9vbF9pbmZlcmVuY2Uuc28uLi4KLU5vIGV4ZWN1dGFibGUgZmlsZSBub3cu Ci1EaXNjYXJkIHN5bWJvbCB0YWJsZSBmcm9tIGBsaWJncmFwaF90b29sX2luZmVyZW5jZS5zbyc/ ICh5IG9yIG4pIG4KLU5vdCBjb25maXJtZWQuCi0uLi8uLi9nZGIvZHdhcmYyL2luZGV4LXdyaXRl LmM6MTA2OTogaW50ZXJuYWwtZXJyb3I6IGFzc2VydF9maWxlX3NpemU6IEFzc2VydGlvbiBgZmls ZV9zaXplID09IGV4cGVjdGVkX3NpemUnIGZhaWxlZC4KLUEgcHJvYmxlbSBpbnRlcm5hbCB0byBH REIgaGFzIGJlZW4gZGV0ZWN0ZWQsCi1mdXJ0aGVyIGRlYnVnZ2luZyBtYXkgcHJvdmUgdW5yZWxp YWJsZS4KLS0tLS0tIEJhY2t0cmFjZSAtLS0tLQotMHg1NWZkZGI0ZDc4YjAgZ2RiX2ludGVybmFs X2JhY2t0cmFjZV8xCi0JLi4vLi4vZ2RiL2J0LXV0aWxzLmM6MTIyCi0weDU1ZmRkYjRkNzhiMCBf WjIyZ2RiX2ludGVybmFsX2JhY2t0cmFjZXYKLQkuLi8uLi9nZGIvYnQtdXRpbHMuYzoxNjgKLTB4 NTVmZGRiOThiNWQ0IGludGVybmFsX3Zwcm9ibGVtCi0JLi4vLi4vZ2RiL3V0aWxzLmM6Mzk2Ci0w eDU1ZmRkYjk4YjhkZSBfWjE1aW50ZXJuYWxfdmVycm9yUEtjaVMwX1AxM19fdmFfbGlzdF90YWcK LQkuLi8uLi9nZGIvdXRpbHMuYzo0NzYKLTB4NTVmZGRiYjcxNjU0IF9aMThpbnRlcm5hbF9lcnJv cl9sb2NQS2NpUzBfegotCS4uLy4uL2dkYnN1cHBvcnQvZXJyb3JzLmNjOjU4Ci0weDU1ZmRkYjVh MGYyMyBhc3NlcnRfZmlsZV9zaXplCi0JLi4vLi4vZ2RiL2R3YXJmMi9pbmRleC13cml0ZS5jOjEw NjkKLTB4NTVmZGRiNWExZWUwIGFzc2VydF9maWxlX3NpemUKLQkvdXNyL2luY2x1ZGUvYysrLzEz L2JpdHMvc3RsX2l0ZXJhdG9yLmg6MTE1OAotMHg1NWZkZGI1YTFlZTAgd3JpdGVfZ2RiaW5kZXhf MQotCS4uLy4uL2dkYi9kd2FyZjIvaW5kZXgtd3JpdGUuYzoxMTE5Ci0weDU1ZmRkYjVhNTFiZSB3 cml0ZV9nZGJpbmRleAotCS4uLy4uL2dkYi9kd2FyZjIvaW5kZXgtd3JpdGUuYzoxMjczCi1bLi4u XQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0uLi8uLi9nZGIvZHdhcmYyL2luZGV4LXdyaXRlLmM6 MTA2OTogaW50ZXJuYWwtZXJyb3I6IGFzc2VydF9maWxlX3NpemU6IEFzc2VydGlvbiBgZmlsZV9z aXplID09IGV4cGVjdGVkX3NpemUnIGZhaWxlZC4KLQotVGhpcyBwcm9ibGVtIHdhcyBlbmNvdW50 ZXJlZCB3aGlsZSBidWlsZGluZyB0aGUgcHl0aG9uLWdyYXBoLXRvb2wKLXBhY2thZ2Ugb24gRmVk b3JhLiAgVGhlIEZlZG9yYSBidWd6aWxsYSBidWcgY2FuIGJlIGZvdW5kIGhlcmU6Ci0KLWh0dHBz Oi8vYnVnemlsbGEucmVkaGF0LmNvbS9zaG93X2J1Zy5jZ2k/aWQ9MTc3MzY1MQotCi1UaGlzIGNv bW1pdCBwcmV2ZW50cyB0aGUgaW50ZXJuYWwgZXJyb3IgZnJvbSBvY2N1cnJpbmcgYnkgY2FsbGlu ZyBlcnJvcigpCi13aGVuIHRoZSBmaWxlIHNpemUgZXhjZWVkcyAyXjMyLTEuCi0KLVVzaW5nIGEg Z2RiIGJ1aWx0IHdpdGggdGhpcyBjb21taXQsIEkgbm93IHNlZSB0aGlzIGJlaGF2aW9yIGluc3Rl YWQ6Ci0KLSQgZ2RiIC1xIC1ueCAtaWV4ICdzZXQgYXV0by1sb2FkIG5vJyAtaWV4ICdzZXQgZGVi dWdpbmZvZCBlbmFibGVkIG9mZicgLWV4IGZpbGUgLi9saWJncmFwaF90b29sX2luZmVyZW5jZS5z byAtZXggInNhdmUgZ2RiLWluZGV4IGBwd2RgLyIKLVJlYWRpbmcgc3ltYm9scyBmcm9tIC4vbGli Z3JhcGhfdG9vbF9pbmZlcmVuY2Uuc28uLi4KLU5vIGV4ZWN1dGFibGUgZmlsZSBub3cuCi1EaXNj YXJkIHN5bWJvbCB0YWJsZSBmcm9tIGAvbWVzcXVpdGUyL2ZlZG9yYS1idWdzLzE3NzM2NTEvbGli Z3JhcGhfdG9vbF9pbmZlcmVuY2Uuc28nPyAoeSBvciBuKSBuCi1Ob3QgY29uZmlybWVkLgotRXJy b3Igd2hpbGUgd3JpdGluZyBpbmRleCBmb3IgYC9tZXNxdWl0ZTIvZmVkb3JhLWJ1Z3MvMTc3MzY1 MS9saWJncmFwaF90b29sX2luZmVyZW5jZS5zbyc6IGdkYi1pbmRleCBtYXhpbXVtIGZpbGUgc2l6 ZSBvZiA0Mjk0OTY3Mjk1IGV4Y2VlZGVkCi0oZ2RiKQotCi1JIHdpc2ggSSBjb3VsZCBwcm92aWRl IGEgdGVzdCBjYXNlLCBidXQgZHVlIHRvIHRoZSBzaXplcyBvZiBib3RoIHRoZQotaW5wdXQgYW5k IG91dHB1dCBmaWxlcywgSSB0aGluayB0aGF0IHRlc3RpbmcgcmVzb3VyY2VzIHdvdWxkIGJlCi1z dHJhaW5lZCBvciBleGNlZWRlZCBpbiBtYW55IGVudmlyb25tZW50cy4KLQotTXkgdGVzdGluZyBv biBGZWRvcmEgMzggc2hvd3Mgbm8gcmVncmVzc2lvbnMuCi0KLUFwcHJvdmVkLWJ5OiBUb20gVHJv bWV5IDx0b21AdHJvbWV5LmNvbT4KLQotZGlmZiAtLWdpdCBhL2dkYi9kd2FyZjIvaW5kZXgtd3Jp dGUuYyBiL2dkYi9kd2FyZjIvaW5kZXgtd3JpdGUuYwotLS0tIGEvZ2RiL2R3YXJmMi9pbmRleC13 cml0ZS5jCi0rKysgYi9nZGIvZHdhcmYyL2luZGV4LXdyaXRlLmMKLUBAIC0xMDgyLDcgKzEwODIs NyBAQCB3cml0ZV9nZGJpbmRleF8xIChGSUxFICpvdXRfZmlsZSwKLSB7Ci0gICBkYXRhX2J1ZiBj b250ZW50czsKLSAgIGNvbnN0IG9mZnNldF90eXBlIHNpemVfb2ZfaGVhZGVyID0gNiAqIHNpemVv ZiAob2Zmc2V0X3R5cGUpOwotLSAgb2Zmc2V0X3R5cGUgdG90YWxfbGVuID0gc2l6ZV9vZl9oZWFk ZXI7Ci0rICBzaXplX3QgdG90YWxfbGVuID0gc2l6ZV9vZl9oZWFkZXI7Ci0gCi0gICAvKiBUaGUg dmVyc2lvbiBudW1iZXIuICAqLwotICAgY29udGVudHMuYXBwZW5kX29mZnNldCAoOCk7Ci1AQCAt MTEwOSw2ICsxMTA5LDEzIEBAIHdyaXRlX2dkYmluZGV4XzEgKEZJTEUgKm91dF9maWxlLAotIAot ICAgZ2RiX2Fzc2VydCAoY29udGVudHMuc2l6ZSAoKSA9PSBzaXplX29mX2hlYWRlcik7Ci0gCi0r ICAvKiBUaGUgbWF4aW11bSBzaXplIG9mIGFuIGluZGV4IGZpbGUgaXMgbGltaXRlZCBieSB0aGUg bWF4aW11bSB2YWx1ZQotKyAgICAgY2FwYWJsZSBvZiBiZWluZyByZXByZXNlbnRlZCBieSAnb2Zm c2V0X3R5cGUnLiAgVGhyb3cgYW4gZXJyb3IgaWYKLSsgICAgIHRoYXQgbGVuZ3RoIGhhcyBiZWVu IGV4Y2VlZGVkLiAgKi8KLSsgIHNpemVfdCBtYXhfc2l6ZSA9IH4ob2Zmc2V0X3R5cGUpIDA7Ci0r ICBpZiAodG90YWxfbGVuID4gbWF4X3NpemUpCi0rICAgIGVycm9yIChfKCJnZGItaW5kZXggbWF4 aW11bSBmaWxlIHNpemUgb2YgJXp1IGV4Y2VlZGVkIiksIG1heF9zaXplKTsKLSsKLSAgIGNvbnRl bnRzLmZpbGVfd3JpdGUgKG91dF9maWxlKTsKLSAgIGN1X2xpc3QuZmlsZV93cml0ZSAob3V0X2Zp bGUpOwotICAgdHlwZXNfY3VfbGlzdC5maWxlX3dyaXRlIChvdXRfZmlsZSk7CgpkaWZmIC0tZ2l0 IGEvZ2RiLXJoYnoyMTYwMjExLWV4Y2Vzc2l2ZS1jb3JlLWZpbGUtd2FybmluZ3MucGF0Y2ggYi9n ZGItcmhiejIxNjAyMTEtZXhjZXNzaXZlLWNvcmUtZmlsZS13YXJuaW5ncy5wYXRjaApkZWxldGVk IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTc5MDA1NC4uMDAwMDAwMAotLS0gYS9nZGItcmhiejIx NjAyMTEtZXhjZXNzaXZlLWNvcmUtZmlsZS13YXJuaW5ncy5wYXRjaAorKysgL2Rldi9udWxsCkBA IC0xLDEwOCArMCwwIEBACi1Gcm9tIEZFRE9SQV9QQVRDSEVTIE1vbiBTZXAgMTcgMDA6MDA6MDAg MjAwMQotRnJvbTogS2V2aW4gQnVldHRuZXIgPGtldmluYkByZWRoYXQuY29tPgotRGF0ZTogVGh1 LCAyOSBKdW4gMjAyMyAxODoyMDozMCAtMDcwMAotU3ViamVjdDogZ2RiLXJoYnoyMTYwMjExLWV4 Y2Vzc2l2ZS1jb3JlLWZpbGUtd2FybmluZ3MucGF0Y2gKLQotOzsgQmFja3BvcnQgdHdvIGNvbW1p dHMsIDBhZDUwNGRkNDY0IGFuZCBlYTcwZjk0MWY5YiwgZnJvbSBMYW5jZWxvdCBTSVgKLTs7IHdo aWNoIHByZXZlbnQgcmVwZWF0ZWQgd2FybmluZ3MgZnJvbSBiZWluZyBwcmludGVkIHdoaWxlIGxv YWRpbmcgYQotOzsgY29yZSBmaWxlLiAoUkggQlogMjE2MDIxMSkKLQotZ2RiL2NvcmVsb3cuYzog YXZvaWQgcmVwZWF0ZWQgd2FybmluZ3MgaW4gYnVpbGRfZmlsZV9tYXBwaW5ncwotCi1XaGVuIEdE QiBvcGVucyBhIGNvcmVkdW1wIGl0IHRyaWVzIHRvIGxvY2F0ZSBhbmQgdGhlbiBvcGVuIGFsbCBm aWxlcwotd2hpY2ggd2VyZSBtYXBwZWQgaW4gdGhlIHByb2Nlc3MuCi0KLUlmIGEgZmlsZSBpcyBm b3VuZCBidXQgY2Fubm90IGJlIG9wZW5lZCB3aXRoIEJGRCAoYmZkX29wZW4gLwotYmZkX2NoZWNr X2Zvcm1hdCBmYWlscyksIHRoZW4gYSB3YXJuaW5nIGlzIHByaW50ZWQgdG8gdGhlIHVzZXIuICBJ ZiB0aGUKLXNhbWUgZmlsZSB3YXMgbWFwcGVkIG11bHRpcGxlIHRpbWVzIGluIHRoZSBwcm9jZXNz J3MgYWRkcmVzcyBzcGFjZSwgdGhlCi13YXJuaW5nIGlzIHByaW50ZWQgb25jZSBmb3IgZWFjaCB0 aW1lIHRoZSBmaWxlIHdhcyBtYXBwZWQuICBJIGZpbmQgdGhpcwotdW4tbmVjZXNzYXJpbHkgbm9p c3kuCi0KLVRoaXMgcGF0Y2ggbWFrZXMgaXQgc28gdGhlIHdhcm5pbmcgbWVzc2FnZSBpcyBwcmlu dGVkIG9ubHkgb25jZSBwZXIKLWZpbGUuCi0KLVRoZXJlIHdhcyBhIGNvbW1lbnQgaW4gdGhlIGNv ZGUgYXNzdW1pbmcgdGhhdCBpZiB0aGUgZmlsZSB3YXMgZm91bmQgb24KLXRoZSBzeXN0ZW0sIG9w ZW5pbmcgaXQgKGJmZF9vcGVuICsgYmZkX2NoZWNrX2Zvcm1hdCkgc2hvdWxkIGFsd2F5cwotc3Vj Y2VlZC4gIEEgcmVjZW50IGNoYW5nZSBpbiBCRkQgKDAxNGE2MDJiODZmICJEb24ndCBvcHRpbWlz ZSBiZmRfc2VlawotdG8gc2FtZSBwb3NpdGlvbiIpIHNob3dlZCB0aGF0IHRoaXMgYXNzdW1wdGlv biBpcyBub3QgdmFsaWQuICBGb3IKLWV4YW1wbGUsIGl0IGlzIHBvc3NpYmxlIHRvIGhhdmUgYSBj b3JlIGR1bXAgb2YgYSBwcm9jZXNzIHdoaWNoIGhhZAotbW1hcGVkIGFuIElPIHBhZ2UgZnJvbSBh IERSSSByZW5kZXIgbm9kZSAoL2Rldi9kcmkvcnVuZGVyRCROVU0pLiAgSW4KLXN1Y2ggY2FzZSB0 aGUgY29yZSBkdW1wIGRvZXMgY29udGFpbiB0aGUgaW5mb3JtYXRpb24gdGhhdCBwb3J0aW9ucyBv ZgotdGhpcyBzcGVjaWFsIGZpbGUgd2VyZSBtYXBwZWQgaW4gdGhlIGhvc3QgcHJvY2VzcywgYnV0 IHRyeWluZyB0byBzZWVrIHRvCi1wb3NpdGlvbiAwIHdpbGwgZmFpbCwgbWFraW5nIGJmZF9jaGVj a19mb3JtYXQgZmFpbC4gIFRoaXMgcGF0Y2ggcmVtb3ZlcwotdGhpcyBjb21tZW50LgotCi1SZXZp ZXdlZC1CeTogSm9obiBCYWxkd2luIDxqaGJARnJlZUJTRC5vcmc+Ci1BcHByb3ZlZC1CeTogQW5k cmV3IEJ1cmdlc3MgPGFidXJnZXNzQHJlZGhhdC5jb20+Ci0KLWdkYi9jb3JlbG93LmM6IGRvIG5v dCB0cnkgdG8gcmVvcGVuIGEgZmlsZSBpZiBvcGVuIGZhaWxlZCBvbmNlCi0KLUluIHRoZSBjdXJy ZW50IGltcGxlbWVudGF0aW9uLCBjb3JlX3RhcmdldDo6YnVpbGRfZmlsZV9tYXBwaW5ncyB3aWxs IHRyeQotdG8gbG9jYXRlIGFuZCBvcGVuIGZpbGVzIHdoaWNoIHdlcmUgbWFwcGVkIGluIHRoZSBw cm9jZXNzIGZvciB3aGljaCB0aGUKLWNvcmUgZHVtcCB3YXMgcHJvZHVjZWQuICBJZiB0aGUgZmls ZSBjYW5ub3QgYmUgZm91bmQgb3IgY2Fubm90IGJlCi1vcGVuZWQsIEdEQiB3aWxsIHJlLXRyeSB0 byBvcGVuIGl0IG9uY2UgZm9yIGVhY2ggdGltZSBpdCB3YXMgbWFwcGVkIGluCi10aGUgcHJvY2Vz cydzIGFkZHJlc3Mgc3BhY2UuCi0KLVRoaXMgcGF0Y2ggbWFrZXMgaXQgc28gR0RCIHJlY29nbml6 ZXMgdGhhdCBpdCBoYXMgYWxyZWFkeSBmYWlsZWQgdG8gb3BlbgotYSBnaXZlbiBmaWxlIG9uY2Ug YW5kIGRvZXMgbm90IHJlLXRyeSB0aGUgcHJvY2VzcyBmb3IgZWFjaCBtYXBwaW5nLgotCi1SZXZp ZXdlZC1CeTogSm9obiBCYWxkd2luIDxqaGJARnJlZUJTRC5vcmc+Ci1BcHByb3ZlZC1CeTogQW5k cmV3IEJ1cmdlc3MgPGFidXJnZXNzQHJlZGhhdC5jb20+Ci0KLWRpZmYgLS1naXQgYS9nZGIvY29y ZWxvdy5jIGIvZ2RiL2NvcmVsb3cuYwotLS0tIGEvZ2RiL2NvcmVsb3cuYwotKysrIGIvZ2RiL2Nv cmVsb3cuYwotQEAgLTIzNyw2ICsyMzcsMTYgQEAgY29yZV90YXJnZXQ6OmJ1aWxkX2ZpbGVfbWFw cGluZ3MgKCkKLSAJICAgd2VlZCBvdXQgbm9uLWZpbGUtYmFja2VkIG1hcHBpbmdzLiAgKi8KLSAJ Z2RiX2Fzc2VydCAoZmlsZW5hbWUgIT0gbnVsbHB0cik7Ci0gCi0rCWlmICh1bmF2YWlsYWJsZV9w YXRocy5maW5kIChmaWxlbmFtZSkgIT0gdW5hdmFpbGFibGVfcGF0aHMuZW5kICgpKQotKwkgIHsK LSsJICAgIC8qIFdlIGhhdmUgYWxyZWFkeSBzZWVuIHNvbWUgbWFwcGluZyBmb3IgRklMRU5BTUUg YnV0IGZhaWxlZCB0bwotKwkgICAgICAgZmluZC9vcGVuIHRoZSBmaWxlLiAgVGhlcmUgaXMgbm8g cG9pbnQgaW4gdHJ5aW5nIHRoZSBzYW1lCi0rCSAgICAgICB0aGluZyBhZ2FpbiBzbyBqdXN0IHJl Y29yZCB0aGF0IHRoZSByYW5nZSBbc3RhcnQsIGVuZCkgaXMKLSsJICAgICAgIHVuYXZhaWxhYmxl LiAgKi8KLSsJICAgIG1fY29yZV91bmF2YWlsYWJsZV9tYXBwaW5ncy5lbXBsYWNlX2JhY2sgKHN0 YXJ0LCBlbmQgLSBzdGFydCk7Ci0rCSAgICByZXR1cm47Ci0rCSAgfQotKwotIAlzdHJ1Y3QgYmZk ICpiZmQgPSBiZmRfbWFwW2ZpbGVuYW1lXTsKLSAJaWYgKGJmZCA9PSBudWxscHRyKQotIAkgIHsK LUBAIC0yNTQsMTEgKzI2NCwxMCBAQCBjb3JlX3RhcmdldDo6YnVpbGRfZmlsZV9tYXBwaW5ncyAo KQotIAkgICAgaWYgKGV4cGFuZGVkX2ZuYW1lID09IG51bGxwdHIpCi0gCSAgICAgIHsKLSAJCW1f Y29yZV91bmF2YWlsYWJsZV9tYXBwaW5ncy5lbXBsYWNlX2JhY2sgKHN0YXJ0LCBlbmQgLSBzdGFy dCk7Ci0tCQkvKiBQcmludCBqdXN0IG9uZSB3YXJuaW5nIHBlciBwYXRoLiAgKi8KLS0JCWlmICh1 bmF2YWlsYWJsZV9wYXRocy5pbnNlcnQgKGZpbGVuYW1lKS5zZWNvbmQpCi0tCQkgIHdhcm5pbmcg KF8oIkNhbid0IG9wZW4gZmlsZSAlcyBkdXJpbmcgZmlsZS1iYWNrZWQgbWFwcGluZyAiCi0tCQkJ ICAgICAibm90ZSBwcm9jZXNzaW5nIiksCi0tCQkJICAgZmlsZW5hbWUpOwotKwkJdW5hdmFpbGFi bGVfcGF0aHMuaW5zZXJ0IChmaWxlbmFtZSk7Ci0rCQl3YXJuaW5nIChfKCJDYW4ndCBvcGVuIGZp bGUgJXMgZHVyaW5nIGZpbGUtYmFja2VkIG1hcHBpbmcgIgotKwkJCSAgICJub3RlIHByb2Nlc3Np bmciKSwKLSsJCQkgZmlsZW5hbWUpOwotIAkJcmV0dXJuOwotIAkgICAgICB9Ci0gCi1AQCAtMjY4 LDE4ICsyNzcsMTEgQEAgY29yZV90YXJnZXQ6OmJ1aWxkX2ZpbGVfbWFwcGluZ3MgKCkKLSAJICAg IGlmIChiZmQgPT0gbnVsbHB0ciB8fCAhYmZkX2NoZWNrX2Zvcm1hdCAoYmZkLCBiZmRfb2JqZWN0 KSkKLSAJICAgICAgewotIAkJbV9jb3JlX3VuYXZhaWxhYmxlX21hcHBpbmdzLmVtcGxhY2VfYmFj ayAoc3RhcnQsIGVuZCAtIHN0YXJ0KTsKLS0JCS8qIElmIHdlIGdldCBoZXJlLCB0aGVyZSdzIGEg Z29vZCBjaGFuY2UgdGhhdCBpdCdzIGR1ZSB0bwotLQkJICAgYW4gaW50ZXJuYWwgZXJyb3IuICBX ZSBpc3N1ZSBhIHdhcm5pbmcgaW5zdGVhZCBvZiBhbgotLQkJICAgaW50ZXJuYWwgZXJyb3IgYmVj YXVzZSBvZiB0aGUgcG9zc2liaWxpdHkgdGhhdCB0aGUKLS0JCSAgIGZpbGUgd2FzIHJlbW92ZWQg aW4gYmV0d2VlbiBjaGVja2luZyBmb3IgaXRzCi0tCQkgICBleGlzdGVuY2UgZHVyaW5nIHRoZSBl eHBhbnNpb24gaW4gZXhlY19maWxlX2ZpbmQoKQotLQkJICAgYW5kIHRoZSBjYWxscyB0byBiZmRf b3BlbnIoKSAvIGJmZF9jaGVja19mb3JtYXQoKS4gCi0tCQkgICBPdXRwdXQgYm90aCB0aGUgcGF0 aCBmcm9tIHRoZSBjb3JlIGZpbGUgbm90ZSBhbG9uZwotLQkJICAgd2l0aCBpdHMgZXhwYW5zaW9u IHRvIG1ha2UgZGVidWdnaW5nIHRoaXMgcHJvYmxlbQotLQkJICAgZWFzaWVyLiAgKi8KLSsJCXVu YXZhaWxhYmxlX3BhdGhzLmluc2VydCAoZmlsZW5hbWUpOwotIAkJd2FybmluZyAoXygiQ2FuJ3Qg b3BlbiBmaWxlICVzIHdoaWNoIHdhcyBleHBhbmRlZCB0byAlcyAiCi0gCQkJICAgImR1cmluZyBm aWxlLWJhY2tlZCBtYXBwaW5nIG5vdGUgcHJvY2Vzc2luZyIpLAotIAkJCSBmaWxlbmFtZSwgZXhw YW5kZWRfZm5hbWUuZ2V0ICgpKTsKLSsKLSAJCWlmIChiZmQgIT0gbnVsbHB0cikKLSAJCSAgYmZk X2Nsb3NlIChiZmQpOwotIAkJcmV0dXJuOwoKZGlmZiAtLWdpdCBhL2dkYi1yaGJ6MjE5MjEwNS1m dGJzLWRhbmdsaW5nLXBvaW50ZXIgYi9nZGItcmhiejIxOTIxMDUtZnRicy1kYW5nbGluZy1wb2lu dGVyCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyNmNlZDg2Li4wMDAwMDAwCi0tLSBh L2dkYi1yaGJ6MjE5MjEwNS1mdGJzLWRhbmdsaW5nLXBvaW50ZXIKKysrIC9kZXYvbnVsbApAQCAt MSwxMDcgKzAsMCBAQAotRnJvbSBGRURPUkFfUEFUQ0hFUyBNb24gU2VwIDE3IDAwOjAwOjAwIDIw MDEKLUZyb206IEtldmluIEJ1ZXR0bmVyIDxrZXZpbmJAcmVkaGF0LmNvbT4KLURhdGU6IFdlZCwg MyBNYXkgMjAyMyAxMToyODoyNCAtMDcwMAotU3ViamVjdDogZ2RiLXJoYnoyMTkyMTA1LWZ0YnMt ZGFuZ2xpbmctcG9pbnRlcgotTUlNRS1WZXJzaW9uOiAxLjAKLUNvbnRlbnQtVHlwZTogdGV4dC9w bGFpbjsgY2hhcnNldD1VVEYtOAotQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAotCi07 OyBCYWNrcG9ydCB1cHN0cmVhbSBwYXRjaCBmaXhpbmcgYSAiZGFuZ2xpbmcgcG9pbnRlciIgYnVp bGQgcHJvYmxlbQotOzsgZmlyc3Qgc2VlbiB3aGVuIGJ1aWxkaW5nIHdpdGggR0NDIDEzLjEuMSAy MDIzMDQyNiAoUmVkIEhhdCA7OyAxMy4xLjEtMSkuCi0KLVBhc3MgY29uc3QgZnJhbWVfaW5mb19w dHIgcmVmZXJlbmNlIGZvciBza2lwX1tsYW5ndWFnZV9ddHJhbXBvbGluZQotCi1nKysgMTMuMS4x IHByb2R1Y2VzIGEgLVdlcnJvcj1kYW5nbGluZy1wb2ludGVyPQotCi1JbiBmaWxlIGluY2x1ZGVk IGZyb20gLi4vLi4vYmludXRpbHMtZ2RiL2dkYi9mcmFtZS5oOjc1LAotICAgICAgICAgICAgICAg ICBmcm9tIC4uLy4uL2JpbnV0aWxzLWdkYi9nZGIvc3ltdGFiLmg6NDAsCi0gICAgICAgICAgICAg ICAgIGZyb20gLi4vLi4vYmludXRpbHMtZ2RiL2dkYi9sYW5ndWFnZS5jOjMzOgotSW4gbWVtYmVy IGZ1bmN0aW9uIOKAmHZvaWQgaW50cnVzaXZlX2xpc3Q8VCwgQXNOb2RlPjo6cHVzaF9lbXB0eShU JikgW3dpdGggVCA9IGZyYW1lX2luZm9fcHRyOyBBc05vZGUgPSBpbnRydXNpdmVfYmFzZV9ub2Rl PGZyYW1lX2luZm9fcHRyPl3igJksCi0gICAgaW5saW5lZCBmcm9tIOKAmHZvaWQgaW50cnVzaXZl X2xpc3Q8VCwgQXNOb2RlPjo6cHVzaF9iYWNrKHJlZmVyZW5jZSkgW3dpdGggVCA9IGZyYW1lX2lu Zm9fcHRyOyBBc05vZGUgPSBpbnRydXNpdmVfYmFzZV9ub2RlPGZyYW1lX2luZm9fcHRyPl3igJkg YXQgZ2Ric3VwcG9ydC9pbnRydXNpdmVfbGlzdC5oOjMzMjoyNCwKLSAgICBpbmxpbmVkIGZyb20g 4oCYZnJhbWVfaW5mb19wdHI6OmZyYW1lX2luZm9fcHRyKGNvbnN0IGZyYW1lX2luZm9fcHRyJini gJkgYXQgZ2RiL2ZyYW1lLmg6MjQxOjI2LAotICAgIGlubGluZWQgZnJvbSDigJhDT1JFX0FERFIg c2tpcF9sYW5ndWFnZV90cmFtcG9saW5lKGZyYW1lX2luZm9fcHRyLCBDT1JFX0FERFIp4oCZIGF0 IGdkYi9sYW5ndWFnZS5jOjUzMDo0OToKLWdkYnN1cHBvcnQvaW50cnVzaXZlX2xpc3QuaDo0MTU6 MTI6IGVycm9yOiBzdG9yaW5nIHRoZSBhZGRyZXNzIG9mIGxvY2FsIHZhcmlhYmxlIOKAmDxhbm9u eW1vdXM+4oCZIGluIOKAmGZyYW1lX2luZm9fcHRyOjpmcmFtZV9saXN0LmludHJ1c2l2ZV9saXN0 PGZyYW1lX2luZm9fcHRyPjo6bV9iYWNr4oCZIFstV2Vycm9yPWRhbmdsaW5nLXBvaW50ZXI9XQot ICA0MTUgfCAgICAgbV9iYWNrID0gJmVsZW07Ci0gICAgICB8ICAgICB+fn5+fn5+Xn5+fn5+fgot Z2RiL2xhbmd1YWdlLmM6IEluIGZ1bmN0aW9uIOKAmENPUkVfQUREUiBza2lwX2xhbmd1YWdlX3Ry YW1wb2xpbmUoZnJhbWVfaW5mb19wdHIsIENPUkVfQUREUinigJk6Ci1nZGIvbGFuZ3VhZ2UuYzo1 MzA6NDk6IG5vdGU6IOKAmDxhbm9ueW1vdXM+4oCZIGRlY2xhcmVkIGhlcmUKLSAgNTMwIHwgICAg ICAgQ09SRV9BRERSIHJlYWxfcGMgPSBsYW5nLT5za2lwX3RyYW1wb2xpbmUgKGZyYW1lLCBwYyk7 Ci0gICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+ fl5+fn5+fn5+fn5+Ci1nZGIvZnJhbWUuaDozNTk6NDE6IG5vdGU6IOKAmGZyYW1lX2luZm9fcHRy OjpmcmFtZV9saXN04oCZIGRlY2xhcmVkIGhlcmUKLSAgMzU5IHwgICBzdGF0aWMgaW50cnVzaXZl X2xpc3Q8ZnJhbWVfaW5mb19wdHI+IGZyYW1lX2xpc3Q7Ci0gICAgICB8ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+Ci0KLUVhY2ggbmV3IGZyYW1lX2lu Zm9fcHRyIGlzIGJlaW5nIHB1c2hlZCBvbiBhIHN0YXRpYyBmcmFtZSBsaXN0IGFuZCBnKysKLWNh bm5vdCBzZWUgd2h5IHRoYXQgaXMgc2FmZSBpbiBjYXNlIHRoZSBmcmFtZV9pbmZvX3B0ciBpcyBj cmVhdGVkIGFuZAotZGVzdHJveWVkIGltbWVkaWF0ZWx5IHdoZW4gcGFzc2VkIGFzIHZhbHVlLgot Ci1JdCBpc24ndCBjbGVhciB3aHkgb25seSBpbiB0aGlzIG9uZSBwbGFjZSBnKysgc2VlcyB0aGUg aXNzdWUgKHByb2JhYmx5Ci1iZWNhdXNlIGl0IGNhbiBpbmxpbmUgZW5vdWdoIGNvZGUgaW4gdGhp cyBzcGVjaWZpYyBjYXNlKS4KLQotU2luY2UgcGFzc2luZyB0aGUgZnJhbWVfaW5mb19wdHIgYXMg Y29uc3QgcmVmZXJlbmNlIGlzIGNoZWFwZXIsIHVzZQotdGhhdCBhcyB3b3JrYXJvdW5kIGZvciB0 aGlzIHdhcm5pbmcuCi0KLVBSIGJ1aWxkLzMwNDEzCi1CdWc6IGh0dHBzOi8vc291cmNld2FyZS5v cmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTMwNDEzCi0KLVRlc3RlZC1ieTogS2V2aW4gQnVl dHRuZXIgPGtldmluYkByZWRoYXQuY29tPgotUmV2aWV3ZWQtYnk6IEtldmluIEJ1ZXR0bmVyIDxr ZXZpbmJAcmVkaGF0LmNvbT4KLVJldmlld2VkLWJ5OiBUb20gVHJvbWV5IDx0b21AdHJvbWV5LmNv bT4KLQotZGlmZiAtLWdpdCBhL2dkYi9jLWxhbmcuYyBiL2dkYi9jLWxhbmcuYwotLS0tIGEvZ2Ri L2MtbGFuZy5jCi0rKysgYi9nZGIvYy1sYW5nLmMKLUBAIC0xMDAzLDcgKzEwMDMsNyBAQCBjbGFz cyBjcGx1c19sYW5ndWFnZSA6IHB1YmxpYyBsYW5ndWFnZV9kZWZuCi0gCi0gICAvKiBTZWUgbGFu Z3VhZ2UuaC4gICovCi0gCi0tICBDT1JFX0FERFIgc2tpcF90cmFtcG9saW5lIChmcmFtZV9pbmZv X3B0ciBmaSwKLSsgIENPUkVfQUREUiBza2lwX3RyYW1wb2xpbmUgKGNvbnN0IGZyYW1lX2luZm9f cHRyICZmaSwKLSAJCQkgICAgIENPUkVfQUREUiBwYykgY29uc3Qgb3ZlcnJpZGUKLSAgIHsKLSAg ICAgcmV0dXJuIGNwbHVzX3NraXBfdHJhbXBvbGluZSAoZmksIHBjKTsKLWRpZmYgLS1naXQgYS9n ZGIvbGFuZ3VhZ2UuYyBiL2dkYi9sYW5ndWFnZS5jCi0tLS0gYS9nZGIvbGFuZ3VhZ2UuYwotKysr IGIvZ2RiL2xhbmd1YWdlLmMKLUBAIC01MjgsNyArNTI4LDcgQEAgYWRkX3NldF9sYW5ndWFnZV9j b21tYW5kICgpCi0gICAgUmV0dXJuIHRoZSByZXN1bHQgZnJvbSB0aGUgZmlyc3QgdGhhdCByZXR1 cm5zIG5vbi16ZXJvLCBvciAwIGlmIGFsbAotICAgIGBmYWlsJy4gICovCi0gQ09SRV9BRERSIAot LXNraXBfbGFuZ3VhZ2VfdHJhbXBvbGluZSAoZnJhbWVfaW5mb19wdHIgZnJhbWUsIENPUkVfQURE UiBwYykKLStza2lwX2xhbmd1YWdlX3RyYW1wb2xpbmUgKGNvbnN0IGZyYW1lX2luZm9fcHRyICZm cmFtZSwgQ09SRV9BRERSIHBjKQotIHsKLSAgIGZvciAoY29uc3QgYXV0byAmbGFuZyA6IGxhbmd1 YWdlX2RlZm46Omxhbmd1YWdlcykKLSAgICAgewotZGlmZiAtLWdpdCBhL2dkYi9sYW5ndWFnZS5o IGIvZ2RiL2xhbmd1YWdlLmgKLS0tLSBhL2dkYi9sYW5ndWFnZS5oCi0rKysgYi9nZGIvbGFuZ3Vh Z2UuaAotQEAgLTQ3MSw3ICs0NzEsNyBAQCBzdHJ1Y3QgbGFuZ3VhZ2VfZGVmbgotICAgICAgSWYg dGhhdCBQQyBmYWxscyBpbiBhIHRyYW1wb2xpbmUgYmVsb25naW5nIHRvIHRoaXMgbGFuZ3VhZ2Us IHJldHVybgotICAgICAgdGhlIGFkZHJlc3Mgb2YgdGhlIGZpcnN0IHBjIGluIHRoZSByZWFsIGZ1 bmN0aW9uLCBvciAwIGlmIGl0IGlzbid0IGEKLSAgICAgIGxhbmd1YWdlIHRyYW1wIGZvciB0aGlz IGxhbmd1YWdlLiAgKi8KLS0gIHZpcnR1YWwgQ09SRV9BRERSIHNraXBfdHJhbXBvbGluZSAoZnJh bWVfaW5mb19wdHIgZmksIENPUkVfQUREUiBwYykgY29uc3QKLSsgIHZpcnR1YWwgQ09SRV9BRERS IHNraXBfdHJhbXBvbGluZSAoY29uc3QgZnJhbWVfaW5mb19wdHIgJmZpLCBDT1JFX0FERFIgcGMp IGNvbnN0Ci0gICB7Ci0gICAgIHJldHVybiAoQ09SRV9BRERSKSAwOwotICAgfQotQEAgLTc4OSw3 ICs3ODksNyBAQCBleHRlcm4gY29uc3QgY2hhciAqbGFuZ3VhZ2Vfc3RyIChlbnVtIGxhbmd1YWdl KTsKLSAKLSAvKiBDaGVjayBmb3IgYSBsYW5ndWFnZS1zcGVjaWZpYyB0cmFtcG9saW5lLiAgKi8K LSAKLS1leHRlcm4gQ09SRV9BRERSIHNraXBfbGFuZ3VhZ2VfdHJhbXBvbGluZSAoZnJhbWVfaW5m b19wdHIsIENPUkVfQUREUiBwYyk7Ci0rZXh0ZXJuIENPUkVfQUREUiBza2lwX2xhbmd1YWdlX3Ry YW1wb2xpbmUgKGNvbnN0IGZyYW1lX2luZm9fcHRyICYsIENPUkVfQUREUiBwYyk7Ci0gCi0gLyog UmV0dXJuIGRlbWFuZ2xlZCBsYW5ndWFnZSBzeW1ib2wsIG9yIE5VTEwuICAqLwotIGV4dGVybiBn ZGI6OnVuaXF1ZV94bWFsbG9jX3B0cjxjaGFyPiBsYW5ndWFnZV9kZW1hbmdsZQotZGlmZiAtLWdp dCBhL2dkYi9vYmpjLWxhbmcuYyBiL2dkYi9vYmpjLWxhbmcuYwotLS0tIGEvZ2RiL29iamMtbGFu Zy5jCi0rKysgYi9nZGIvb2JqYy1sYW5nLmMKLUBAIC0yODIsNyArMjgyLDcgQEAgY2xhc3Mgb2Jq Y19sYW5ndWFnZSA6IHB1YmxpYyBsYW5ndWFnZV9kZWZuCi0gCi0gICAvKiBTZWUgbGFuZ3VhZ2Uu aC4gICovCi0gCi0tICBDT1JFX0FERFIgc2tpcF90cmFtcG9saW5lIChmcmFtZV9pbmZvX3B0ciBm cmFtZSwKLSsgIENPUkVfQUREUiBza2lwX3RyYW1wb2xpbmUgKGNvbnN0IGZyYW1lX2luZm9fcHRy ICZmcmFtZSwKLSAJCQkgICAgIENPUkVfQUREUiBzdG9wX3BjKSBjb25zdCBvdmVycmlkZQotICAg ewotICAgICBzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCA9IGdldF9mcmFtZV9hcmNoIChmcmFtZSk7 CgpkaWZmIC0tZ2l0IGEvZ2RiLXJoYnoyMjMzOTYxLUNWRS0yMDIyLTQ4MDYucGF0Y2ggYi9nZGIt cmhiejIyMzM5NjEtQ1ZFLTIwMjItNDgwNi5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK aW5kZXggNjMzYmQzMi4uMDAwMDAwMAotLS0gYS9nZGItcmhiejIyMzM5NjEtQ1ZFLTIwMjItNDgw Ni5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDUwICswLDAgQEAKLUZyb20gRkVET1JBX1BBVENI RVMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiA9P1VURi04P3E/QWxleGFuZHJhPTIw SD1DMz1BMWprb3Y9QzM9QTE/PSA8YWhhamtvdmFAcmVkaGF0LmNvbT4KLURhdGU6IFN1biwgMTcg U2VwIDIwMjMgMTM6MzY6MTMgKzAyMDAKLVN1YmplY3Q6IGdkYi1yaGJ6MjIzMzk2MS1DVkUtMjAy Mi00ODA2LnBhdGNoCi0KLTs7IEJhY2twb3J0IFBSMjk5MjIsIFNIVF9OT0JJVFMgc2VjdGlvbgot OzsgYXZvaWRzIHNlY3Rpb24gc2l6ZSBzYW5pdHkgY2hlY2suCi0KLVBSMjk5MjIsIFNIVF9OT0JJ VFMgc2VjdGlvbiBhdm9pZHMgc2VjdGlvbiBzaXplIHNhbml0eSBjaGVjawotCi0JUFIgMjk5MjIK LQkqIGR3YXJmMi5jIChmaW5kX2RlYnVnX2luZm8pOiBJZ25vcmUgc2VjdGlvbnMgd2l0aG91dAot CVNFQ19IQVNfQ09OVEVOVFMuCi0KLWRpZmYgLS1naXQgYS9iZmQvZHdhcmYyLmMgYi9iZmQvZHdh cmYyLmMKLS0tLSBhL2JmZC9kd2FyZjIuYwotKysrIGIvYmZkL2R3YXJmMi5jCi1AQCAtNDgzMSwx NiArNDgzMSwxOSBAQCBmaW5kX2RlYnVnX2luZm8gKGJmZCAqYWJmZCwgY29uc3Qgc3RydWN0IGR3 YXJmX2RlYnVnX3NlY3Rpb24gKmRlYnVnX3NlY3Rpb25zLAotICAgICB7Ci0gICAgICAgbG9vayA9 IGRlYnVnX3NlY3Rpb25zW2RlYnVnX2luZm9dLnVuY29tcHJlc3NlZF9uYW1lOwotICAgICAgIG1z ZWMgPSBiZmRfZ2V0X3NlY3Rpb25fYnlfbmFtZSAoYWJmZCwgbG9vayk7Ci0tICAgICAgaWYgKG1z ZWMgIT0gTlVMTCkKLSsgICAgICAvKiBUZXN0aW5nIFNFQ19IQVNfQ09OVEVOVFMgaXMgYW4gYW50 aS1mdXp6ZXIgbWVhc3VyZS4gIE9mCi0rCSBjb3Vyc2UgZGVidWcgc2VjdGlvbnMgYWx3YXlzIGhh dmUgY29udGVudHMuICAqLwotKyAgICAgIGlmIChtc2VjICE9IE5VTEwgJiYgKG1zZWMtPmZsYWdz ICYgU0VDX0hBU19DT05URU5UUykgIT0gMCkKLSAJcmV0dXJuIG1zZWM7Ci0gCi0gICAgICAgbG9v ayA9IGRlYnVnX3NlY3Rpb25zW2RlYnVnX2luZm9dLmNvbXByZXNzZWRfbmFtZTsKLSAgICAgICBt c2VjID0gYmZkX2dldF9zZWN0aW9uX2J5X25hbWUgKGFiZmQsIGxvb2spOwotLSAgICAgIGlmICht c2VjICE9IE5VTEwpCi0rICAgICAgaWYgKG1zZWMgIT0gTlVMTCAmJiAobXNlYy0+ZmxhZ3MgJiBT RUNfSEFTX0NPTlRFTlRTKSAhPSAwKQotICAgICAgICAgcmV0dXJuIG1zZWM7Ci0gCi0gICAgICAg Zm9yIChtc2VjID0gYWJmZC0+c2VjdGlvbnM7IG1zZWMgIT0gTlVMTDsgbXNlYyA9IG1zZWMtPm5l eHQpCi0tCWlmIChzdGFydHN3aXRoIChtc2VjLT5uYW1lLCBHTlVfTElOS09OQ0VfSU5GTykpCi0r CWlmICgobXNlYy0+ZmxhZ3MgJiBTRUNfSEFTX0NPTlRFTlRTKSAhPSAwCi0rCSAgICAmJiBzdGFy dHN3aXRoIChtc2VjLT5uYW1lLCBHTlVfTElOS09OQ0VfSU5GTykpCi0gCSAgcmV0dXJuIG1zZWM7 Ci0gCi0gICAgICAgcmV0dXJuIE5VTEw7Ci1AQCAtNDg0OCw2ICs0ODUxLDkgQEAgZmluZF9kZWJ1 Z19pbmZvIChiZmQgKmFiZmQsIGNvbnN0IHN0cnVjdCBkd2FyZl9kZWJ1Z19zZWN0aW9uICpkZWJ1 Z19zZWN0aW9ucywKLSAKLSAgIGZvciAobXNlYyA9IGFmdGVyX3NlYy0+bmV4dDsgbXNlYyAhPSBO VUxMOyBtc2VjID0gbXNlYy0+bmV4dCkKLSAgICAgewotKyAgICAgIGlmICgobXNlYy0+ZmxhZ3Mg JiBTRUNfSEFTX0NPTlRFTlRTKSA9PSAwKQotKwljb250aW51ZTsKLSsKLSAgICAgICBsb29rID0g ZGVidWdfc2VjdGlvbnNbZGVidWdfaW5mb10udW5jb21wcmVzc2VkX25hbWU7Ci0gICAgICAgaWYg KHN0cmNtcCAobXNlYy0+bmFtZSwgbG9vaykgPT0gMCkKLSAJcmV0dXJuIG1zZWM7CgpkaWZmIC0t Z2l0IGEvZ2RiLXJoYnoyMjMzOTY1LW1lbW9yeS1sZWFrLnBhdGNoIGIvZ2RiLXJoYnoyMjMzOTY1 LW1lbW9yeS1sZWFrLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDRiYTNi Li4wMDAwMDAwCi0tLSBhL2dkYi1yaGJ6MjIzMzk2NS1tZW1vcnktbGVhay5wYXRjaAorKysgL2Rl di9udWxsCkBAIC0xLDExNSArMCwwIEBACi1Gcm9tIEZFRE9SQV9QQVRDSEVTIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQotRnJvbTogPT9VVEYtOD9xP0FsZXhhbmRyYT0yMEg9QzM9QTFqa292PUMz PUExPz0gPGFoYWprb3ZhQHJlZGhhdC5jb20+Ci1EYXRlOiBTdW4sIDEgT2N0IDIwMjMgMTA6MzY6 MDYgKzAyMDAKLVN1YmplY3Q6IGdkYi1yaGJ6MjIzMzk2NS1tZW1vcnktbGVhay5wYXRjaAotCi07 OyBCYWNrcG9ydCBQUjI5OTI1LCBNZW1vcnkgbGVhayBpbiBmaW5kX2Fic3RyYWN0X2luc3RhbmNl Ci0KLVBSMjk5MjUsIE1lbW9yeSBsZWFrIGluIGZpbmRfYWJzdHJhY3RfaW5zdGFuY2UKLQotVGhl IHRlc3RjYXNlIGluIHRoZSBQUiBoYWQgYSB2YXJpYWJsZSB3aXRoIGJvdGggRFdfQVRfZGVjbF9m aWxlIGFuZAotRFdfQVRfc3BlY2lmaWNhdGlvbiwgd2hlcmUgdGhlIERXX0FUX3NwZWNpZmljYXRp b24gYWxzbyBzcGVjaWZpZWQKLURXX0FUX2RlY2xfZmlsZS4gIFRoaXMgbGVhZHMgdG8gYSBtZW1v cnkgbGVhayBhcyB0aGUgZmlsZSBuYW1lIGlzCi1tYWxsb2NlZCBhbmQgZHVwbGljYXRlcyBhcmUg bm90IGV4cGVjdGVkLgotCi1JJ3ZlIGFsc28gY2hhbmdlZCBmaW5kX2Fic3RyYWN0X2luc3RhbmNl IHRvIG5vdCB1c2UgYSB0ZW1wIGZvciAibmFtZSIsCi1iZWNhdXNlIHRoYXQgY2FuIHJlc3VsdCBp biBhIGNoYW5nZSBpbiBiZWhhdmlvdXIgZnJvbSB0aGUgdXN1YWwgbGFzdAotb2YgZHVwbGljYXRl IGF0dHJpYnV0ZXMgd2lucy4KLQotCVBSIDI5OTI1Ci0JKiBkd2FyZjIuYyAoZmluZF9hYnN0cmFj dF9pbnN0YW5jZSk6IERlbGV0ZSAibmFtZSIgdmFyaWFibGUuCi0JRnJlZSAqZmlsZW5hbWVfcHRy IGJlZm9yZSBhc3NpZ25pbmcgbmV3IGZpbGUgbmFtZS4KLQkoc2Nhbl91bml0X2Zvcl9zeW1ib2xz KTogU2ltaWxhcmx5IGZyZWUgZnVuYy0+ZmlsZSBhbmQKLQl2YXItPmZpbGUgYmVmb3JlIGFzc2ln bmluZy4KLQotZGlmZiAtLWdpdCBhL2JmZC9kd2FyZjIuYyBiL2JmZC9kd2FyZjIuYwotLS0tIGEv YmZkL2R3YXJmMi5jCi0rKysgYi9iZmQvZHdhcmYyLmMKLUBAIC0zNDQxLDcgKzM0NDEsNiBAQCBm aW5kX2Fic3RyYWN0X2luc3RhbmNlIChzdHJ1Y3QgY29tcF91bml0ICp1bml0LAotICAgc3RydWN0 IGFiYnJldl9pbmZvICphYmJyZXY7Ci0gICB1aW50NjRfdCBkaWVfcmVmID0gYXR0cl9wdHItPnUu dmFsOwotICAgc3RydWN0IGF0dHJpYnV0ZSBhdHRyOwotLSAgY29uc3QgY2hhciAqbmFtZSA9IE5V TEw7Ci0gCi0gICBpZiAocmVjdXJfY291bnQgPT0gMTAwKQotICAgICB7Ci1AQCAtMzYwMiw5ICsz NjAxLDkgQEAgZmluZF9hYnN0cmFjdF9pbnN0YW5jZSAoc3RydWN0IGNvbXBfdW5pdCAqdW5pdCwK LSAJCWNhc2UgRFdfQVRfbmFtZToKLSAJCSAgLyogUHJlZmVyIERXX0FUX01JUFNfbGlua2FnZV9u YW1lIG9yIERXX0FUX2xpbmthZ2VfbmFtZQotIAkJICAgICBvdmVyIERXX0FUX25hbWUuICAqLwot LQkJICBpZiAobmFtZSA9PSBOVUxMICYmIGlzX3N0cl9mb3JtICgmYXR0cikpCi0rCQkgIGlmICgq cG5hbWUgPT0gTlVMTCAmJiBpc19zdHJfZm9ybSAoJmF0dHIpKQotIAkJICAgIHsKLS0JCSAgICAg IG5hbWUgPSBhdHRyLnUuc3RyOwotKwkJICAgICAgKnBuYW1lID0gYXR0ci51LnN0cjsKLSAJCSAg ICAgIGlmIChtYW5nbGVfc3R5bGUgKHVuaXQtPmxhbmcpID09IDApCi0gCQkJKmlzX2xpbmthZ2Ug PSB0cnVlOwotIAkJICAgIH0KLUBAIC0zNjEyLDcgKzM2MTEsNyBAQCBmaW5kX2Fic3RyYWN0X2lu c3RhbmNlIChzdHJ1Y3QgY29tcF91bml0ICp1bml0LAotIAkJY2FzZSBEV19BVF9zcGVjaWZpY2F0 aW9uOgotIAkJICBpZiAoaXNfaW50X2Zvcm0gKCZhdHRyKQotIAkJICAgICAgJiYgIWZpbmRfYWJz dHJhY3RfaW5zdGFuY2UgKHVuaXQsICZhdHRyLCByZWN1cl9jb3VudCArIDEsCi0tCQkJCQkJICAm bmFtZSwgaXNfbGlua2FnZSwKLSsJCQkJCQkgIHBuYW1lLCBpc19saW5rYWdlLAotIAkJCQkJCSAg ZmlsZW5hbWVfcHRyLCBsaW5lbnVtYmVyX3B0cikpCi0gCQkgICAgcmV0dXJuIGZhbHNlOwotIAkJ ICBicmVhazsKLUBAIC0zNjIyLDcgKzM2MjEsNyBAQCBmaW5kX2Fic3RyYWN0X2luc3RhbmNlIChz dHJ1Y3QgY29tcF91bml0ICp1bml0LAotIAkJICAgICBub24tc3RyaW5nIGZvcm1zIGludG8gdGhl c2UgYXR0cmlidXRlcy4gICovCi0gCQkgIGlmIChpc19zdHJfZm9ybSAoJmF0dHIpKQotIAkJICAg IHsKLS0JCSAgICAgIG5hbWUgPSBhdHRyLnUuc3RyOwotKwkJICAgICAgKnBuYW1lID0gYXR0ci51 LnN0cjsKLSAJCSAgICAgICppc19saW5rYWdlID0gdHJ1ZTsKLSAJCSAgICB9Ci0gCQkgIGJyZWFr OwotQEAgLTM2MzAsOCArMzYyOSwxMSBAQCBmaW5kX2Fic3RyYWN0X2luc3RhbmNlIChzdHJ1Y3Qg Y29tcF91bml0ICp1bml0LAotIAkJICBpZiAoIWNvbXBfdW5pdF9tYXliZV9kZWNvZGVfbGluZV9p bmZvICh1bml0KSkKLSAJCSAgICByZXR1cm4gZmFsc2U7Ci0gCQkgIGlmIChpc19pbnRfZm9ybSAo JmF0dHIpKQotLQkJICAgICpmaWxlbmFtZV9wdHIgPSBjb25jYXRfZmlsZW5hbWUgKHVuaXQtPmxp bmVfdGFibGUsCi0tCQkJCQkJICAgICBhdHRyLnUudmFsKTsKLSsJCSAgICB7Ci0rCQkgICAgICBm cmVlICgqZmlsZW5hbWVfcHRyKTsKLSsJCSAgICAgICpmaWxlbmFtZV9wdHIgPSBjb25jYXRfZmls ZW5hbWUgKHVuaXQtPmxpbmVfdGFibGUsCi0rCQkJCQkJICAgICAgIGF0dHIudS52YWwpOwotKwkJ ICAgIH0KLSAJCSAgYnJlYWs7Ci0gCQljYXNlIERXX0FUX2RlY2xfbGluZToKLSAJCSAgaWYgKGlz X2ludF9mb3JtICgmYXR0cikpCi1AQCAtMzY0Myw3ICszNjQ1LDYgQEAgZmluZF9hYnN0cmFjdF9p bnN0YW5jZSAoc3RydWN0IGNvbXBfdW5pdCAqdW5pdCwKLSAJICAgIH0KLSAJfQotICAgICB9Ci0t ICAqcG5hbWUgPSBuYW1lOwotICAgcmV0dXJuIHRydWU7Ci0gfQotIAotQEAgLTQxMzksOCArNDE0 MCwxMSBAQCBzY2FuX3VuaXRfZm9yX3N5bWJvbHMgKHN0cnVjdCBjb21wX3VuaXQgKnVuaXQpCi0g Ci0gCQljYXNlIERXX0FUX2RlY2xfZmlsZToKLSAJCSAgaWYgKGlzX2ludF9mb3JtICgmYXR0cikp Ci0tCQkgICAgZnVuYy0+ZmlsZSA9IGNvbmNhdF9maWxlbmFtZSAodW5pdC0+bGluZV90YWJsZSwK LS0JCQkJCQkgIGF0dHIudS52YWwpOwotKwkJICAgIHsKLSsJCSAgICAgIGZyZWUgKGZ1bmMtPmZp bGUpOwotKwkJICAgICAgZnVuYy0+ZmlsZSA9IGNvbmNhdF9maWxlbmFtZSAodW5pdC0+bGluZV90 YWJsZSwKLSsJCQkJCQkgICAgYXR0ci51LnZhbCk7Ci0rCQkgICAgfQotIAkJICBicmVhazsKLSAK LSAJCWNhc2UgRFdfQVRfZGVjbF9saW5lOgotQEAgLTQxODIsOCArNDE4NiwxMSBAQCBzY2FuX3Vu aXRfZm9yX3N5bWJvbHMgKHN0cnVjdCBjb21wX3VuaXQgKnVuaXQpCi0gCi0gCQljYXNlIERXX0FU X2RlY2xfZmlsZToKLSAJCSAgaWYgKGlzX2ludF9mb3JtICgmYXR0cikpCi0tCQkgICAgdmFyLT5m aWxlID0gY29uY2F0X2ZpbGVuYW1lICh1bml0LT5saW5lX3RhYmxlLAotLQkJCQkJCSBhdHRyLnUu dmFsKTsKLSsJCSAgICB7Ci0rCQkgICAgICBmcmVlICh2YXItPmZpbGUpOwotKwkJICAgICAgdmFy LT5maWxlID0gY29uY2F0X2ZpbGVuYW1lICh1bml0LT5saW5lX3RhYmxlLAotKwkJCQkJCSAgIGF0 dHIudS52YWwpOwotKwkJICAgIH0KLSAJCSAgYnJlYWs7Ci0gCi0gCQljYXNlIERXX0FUX2RlY2xf bGluZToKCmRpZmYgLS1naXQgYS9nZGIuc3BlYyBiL2dkYi5zcGVjCmluZGV4IDNkYzU2MzMuLjQ1 ZTNhYjYgMTAwNjQ0Ci0tLSBhL2dkYi5zcGVjCisrKyBiL2dkYi5zcGVjCkBAIC01MywxMSArNTMs MTEgQEAgTmFtZTogJXs/c2NsX3ByZWZpeH1nZGIKICMgU2VlIHRpbWVzdGFtcCBvZiBzb3VyY2Ug Z251bGliIGluc3RhbGxlZCBpbnRvIGdudWxpYi8gLgogJWdsb2JhbCBzbmFwZ251bGliIDIwMjIw NTAxCiAlZ2xvYmFsIHRhcm5hbWUgZ2RiLSV7dmVyc2lvbn0KLVZlcnNpb246IDEzLjIKK1ZlcnNp b246IDE0LjEKIAogIyBUaGUgcmVsZWFzZSBhbHdheXMgY29udGFpbnMgYSBsZWFkaW5nIHJlc2Vy dmVkIG51bWJlciwgc3RhcnQgaXQgYXQgMS4KICMgYHVwc3RyZWFtJyBpcyBub3QgYSBwYXJ0IG9m IGBuYW1lJyB0byBzdGF5IGZ1bGx5IHJwbSBkZXBlbmRlbmNpZXMgY29tcGF0aWJsZSBmb3IgdGhl IHRlc3RpbmcuCi1SZWxlYXNlOiAxMiV7P2Rpc3R9CitSZWxlYXNlOiAxJXs/ZGlzdH0KIAogTGlj ZW5zZTogR1BMLTMuMC1vci1sYXRlciBBTkQgQlNELTMtY2xhdXNlIEFORCBGU0ZBUCBBTkQgTEdQ TC0yLjEtb3ItbGF0ZXIgQU5EIEdQTC0yLjAtb3ItbGF0ZXIgQU5EIExHUEwtMi4wLW9yLWxhdGVy IEFORCBMaWNlbnNlUmVmLUZlZG9yYS1QdWJsaWMtRG9tYWluIEFORCBHRkRMLTEuMy1vci1sYXRl ciBBTkQgTEdQTC0yLjAtb3ItbGF0ZXIgV0lUSCBHQ0MtZXhjZXB0aW9uLTIuMCBBTkQgR1BMLTMu MC1vci1sYXRlciBXSVRIIEdDQy1leGNlcHRpb24tMy4xIEFORCBHUEwtMi4wLW9yLWxhdGVyIFdJ VEggR05VLWNvbXBpbGVyLWV4Y2VwdGlvbgogIyBEbyBub3QgcHJvdmlkZSBVUkwgZm9yIHNuYXBz aG90cyBhcyB0aGUgZmlsZSBsYXN0cyB0aGVyZSBvbmx5IGZvciAyIGRheXMuCkBAIC02MzksOSAr NjM5LDcgQEAgQ09NTU9OX0dEQl9DT05GSUdVUkVfRkxBR1M9IlwKIAktLXdpdGhvdXQtbW1hcAkJ CQkJCVwKICVlbmRpZgogCS0tZW5hYmxlLTY0LWJpdC1iZmQJCQkJCVwKLSVpZiAwJXshP3JoZWw6 MX0gfHwgMCV7P3JoZWx9ID4gNgotCS0td2l0aC1tcGZyCQkJCQkJXAotJWVsc2UKKyVpZiAwJXs/ cmhlbDoxfSAmJiAwJXs/cmhlbH0gPD0gNgogCS0td2l0aG91dC1tcGZyCQkJCQkJXAogJWVuZGlm CiAJLS13aXRoLXN5c3RlbS16bGliCQkJCQlcCkBAIC0xMjUyLDYgKzEyNTAsMzMgQEAgZmkKICVl bmRpZgogCiAlY2hhbmdlbG9nCisqIEZyaSBEZWMgOCAyMDIzIEtldmluIEJ1ZXR0bmVyIDxrZXZp bmJAcmVkaGF0LmNvbT4gLSAxNC4xLTEKKy0gUmViYXNlIHRvIEZTRiBHREIgMTQuMS4KKy0gVXBk YXRlIGxvY2FsIHBhdGNoZXM6CisgICAgZ2RiLTYuNS1iejE4NTMzNy1yZXNvbHZlLXRscy13aXRo b3V0LWRlYnVnaW5mby12Mi5wYXRjaAorICAgIGdkYi02LjYtYnVpbGRpZC1sb2NhdGUtcnBtLnBh dGNoCisgICAgZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS5wYXRjaAorICAgIGdkYi1jb250YWluZXIt cmgtcGtnLnBhdGNoCisgICAgZ2RiLWNvcmUtb3Blbi12ZHNvLXdhcm5pbmcucGF0Y2gKKyAgICBn ZGItZmVkb3JhLWxpYm5jdXJzZXN3LnBhdGNoCisgICAgZ2RiLWxpbnV4X3BlcmYtYnVuZGxlLnBh dGNoCistIFVwZGF0ZSBiYWNrcG9ydGVkIHBhdGNoZXMgd2hpY2ggZGlkbid0IG1ha2UgaXQgaW50 byAxNC4xOgorICAgIGdkYi1yaGJ6LTIyMzIwODYtY3BwLWlmeS1tYXBwZWQtc3ltdGFiLnBhdGNo CisgICAgZ2RiLXJoYnotMjIzMjA4Ni1nZW5lcmF0ZS1nZGItaW5kZXgtY29uc2lzdGVudGx5LnBh dGNoCistIERyb3AgdXBzdHJlYW1lZCBsb2NhbCBwYXRjaGVzOgorICAgIGdkYi02LjUtc2hhcmVk bGlicmFyeS1wYXRoLnBhdGNoCistIERyb3AgZ2RiLTEzLjIgYmFja3BvcnRzICh3aGljaCBhcmUg bm93IGluIGdkYi0xNC4xKToKKyAgICBnZGItYmludXRpbHMyOTk4OC1yZWFkX2luZGV4ZWRfYWRk cmVzcy5wYXRjaAorICAgIGdkYi1iejIxOTYzOTUtZGVidWdpbmZvZC1sZWdhY3ktb3BlbnNzbC1j cmFzaC5wYXRjaAorICAgIGdkYi1iejIyMzczOTItZHdhcmYtb2JzdGFjay1hbGxvY2F0aW9uLnBh dGNoCisgICAgZ2RiLWJ6MjIzNzUxNS1kZWJ1Z2luZm9kLWRvdWJsZS1mcmVlLnBhdGNoCisgICAg Z2RiLXJoYnoyMTkyMTA1LWZ0YnMtZGFuZ2xpbmctcG9pbnRlcgorICAgIGdkYi1yaGJ6MjIzMzk2 MS1DVkUtMjAyMi00ODA2LnBhdGNoCisgICAgZ2RiLXJoYnoyMjMzOTY1LW1lbW9yeS1sZWFrLnBh dGNoCistIEFkanVzdCBnZGIuc3BlYyBzbyB0aGF0IC0td2l0aC1tcGZyIGlzIG5vIGxvbmdlciBw YXNzZWQgdG8KKyAgY29uZmlndXJlOyBkb2luZyBzbywgY29tYmluZWQgd2l0aCBzb21lIGNvbmZp Z3VyeSBjaGFuZ2VzIHRyaWdnZXJlZAorICBhIGxhdGVudCBidWlsZCBwcm9ibGVtLgorCiAqIE1v biBEZWMgNCAyMDIzIEtldmluIEJ1ZXR0bmVyIDxrZXZpbmJAcmVkaGF0LmNvbT4KIC0gUmVtb3Zl IGdkYi02LjUtbWlzc2VkLXRyYXAtb24tc3RlcC10ZXN0LnBhdGNoLiAgVGVzdGluZyB3aGF0IGhh cHBlbnMKICAgd2hlbiBzdGVwcGluZyBvdmVyL3Rocm91Z2ggYSBzdGF0ZW1lbnQgd2hpY2ggdHJp Z2dlcnMgYSB3YXRjaHBvaW50CgpkaWZmIC0tZ2l0IGEvc291cmNlcyBiL3NvdXJjZXMKaW5kZXgg YmFjOTgzMC4uOTYwYTQ4OSAxMDA2NDQKLS0tIGEvc291cmNlcworKysgYi9zb3VyY2VzCkBAIC0x LDMgKzEsMyBAQAogU0hBNTEyIChnZGItbGlic3RkYysrLXYzLXB5dGhvbi04LjEuMS0yMDE4MDYy Ni50YXIueHopID0gYThiMWM1NGRkMzQ4Y2ZlYjM3ZGE3M2Y5Njg3NDI4OTZiZTNkZDEzYTQyMTVm OGQ4NTE5ODcwYzJhYmVhOTE1ZjUxNzZjM2ZhNjk4OWRkZDEwZjIwMDIwYTE2ZjBmYWIyMGNiYWU2 OGVlOGQ1OGE4MjIzNGQ4Nzc4MDIzNTIwZjgKIFNIQTUxMiAodjIuMC41LnRhci5neikgPSAyZTdh YzJhZWRlODQ2NzFiMTU1OTdkOWM1NmRiZTA3N2E4MTM1N2JiZjQ0YjY2ODQ4MDI1OTIyNDZmYjc3 MjliNGE1NzQzMjM4ZGRmMDJmNmVhMTQzYjRkMjk4NzJmNTgxNDA4MTM1ZjljMWVhMWNjYzk5ZGFi OTA1OTE2ZDk4ZAotU0hBNTEyIChnZGItMTMuMi50YXIueHopID0gODE4NWQzZTExYWI2MGRhZmZm NTg2MGE1MDE2NTc3YmZlN2RkNzU0N2VmMDFlYmM4NjdiYzI0NzYwM2Q4MmI3NGZmNzRjNGYyOTQ5 MmM3ZDJhZWU1NzA3NmY1MmJlMzNlMjg5ZjRjNmI0MTRhNGI4NzBkNGIzMDA0OTA5ZjRjMzQKK1NI QTUxMiAoZ2RiLTE0LjEudGFyLnh6KSA9IDU3NWUxOTgxMDUwNzZmYzRhODhmNjg1OTFhYTExNGFi OWMxMTk2ZTg0Mzg2YTNmN2I5YjU4ZmU1ZjMwY2RlZWQzM2Y2YTVmOTU3YjY4ZjA4YzQ3Mjg0ZWM5 MjJiYjYwYzk2NDYyN2UyMzg0NzE0MTk2NzNmZDkxMzU3NWNlNDI3Cg==