From: Thomas Garnier Subject: [PATCH v1 01/27] x86/crypto: Adapt assembly for PIE support Date: Wed, 11 Oct 2017 13:30:01 -0700 Message-ID: <20171011203027.11248-2-thgarnie@google.com> References: <20171011203027.11248-1-thgarnie@google.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Cc: linux-arch@vger.kernel.org, kvm@vger.kernel.org, linux-pm@vger.kernel.org, x86@kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, virtualization@lists.linux-foundation.org, linux-sparse@vger.kernel.org, linux-crypto@vger.kernel.org, kernel-hardening@lists.openwall.com, xen-devel@lists.xenproject.org To: Herbert Xu , "David S . Miller" , Thomas Gleixner , Ingo Molnar , "H . Peter Anvin" , Peter Zijlstra , Josh Poimboeuf , Arnd Bergmann , Thomas Garnier , Kees Cook , Andrey Ryabinin , Matthias Kaehlcke , Tom Lendacky , Andy Lutomirski , "Kirill A . Shutemov" , Borislav Petkov , "Rafael J . Wysocki" , Len Brown , Pavel Machek , Juergen Gross , Chris Wright , Alok Kataria , Rusty Russell , Tejun Heo In-Reply-To: <20171011203027.11248-1-thgarnie@google.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" List-Id: linux-crypto.vger.kernel.org Q2hhbmdlIHRoZSBhc3NlbWJseSBjb2RlIHRvIHVzZSBvbmx5IHJlbGF0aXZlIHJlZmVyZW5jZXMg b2Ygc3ltYm9scyBmb3IgdGhlCmtlcm5lbCB0byBiZSBQSUUgY29tcGF0aWJsZS4KClBvc2l0aW9u IEluZGVwZW5kZW50IEV4ZWN1dGFibGUgKFBJRSkgc3VwcG9ydCB3aWxsIGFsbG93IHRvIGV4dGVu ZGVkIHRoZQpLQVNMUiByYW5kb21pemF0aW9uIHJhbmdlIGJlbG93IHRoZSAtMkcgbWVtb3J5IGxp bWl0LgoKU2lnbmVkLW9mZi1ieTogVGhvbWFzIEdhcm5pZXIgPHRoZ2FybmllQGdvb2dsZS5jb20+ Ci0tLQogYXJjaC94ODYvY3J5cHRvL2Flcy14ODZfNjQtYXNtXzY0LlMgICAgICAgICAgfCA0NSAr KysrKysrKy0tLS0tCiBhcmNoL3g4Ni9jcnlwdG8vYWVzbmktaW50ZWxfYXNtLlMgICAgICAgICAg ICB8IDE0ICsrLS0KIGFyY2gveDg2L2NyeXB0by9hZXNuaS1pbnRlbF9hdngteDg2XzY0LlMgICAg IHwgIDYgKy0KIGFyY2gveDg2L2NyeXB0by9jYW1lbGxpYS1hZXNuaS1hdngtYXNtXzY0LlMgIHwg NDIgKysrKysrLS0tLS0tCiBhcmNoL3g4Ni9jcnlwdG8vY2FtZWxsaWEtYWVzbmktYXZ4Mi1hc21f NjQuUyB8IDQ0ICsrKysrKy0tLS0tLS0KIGFyY2gveDg2L2NyeXB0by9jYW1lbGxpYS14ODZfNjQt YXNtXzY0LlMgICAgIHwgIDggKystCiBhcmNoL3g4Ni9jcnlwdG8vY2FzdDUtYXZ4LXg4Nl82NC1h c21fNjQuUyAgICB8IDUwICsrKysrKysrLS0tLS0tLQogYXJjaC94ODYvY3J5cHRvL2Nhc3Q2LWF2 eC14ODZfNjQtYXNtXzY0LlMgICAgfCA0NCArKysrKysrLS0tLS0tCiBhcmNoL3g4Ni9jcnlwdG8v ZGVzM19lZGUtYXNtXzY0LlMgICAgICAgICAgICB8IDk2ICsrKysrKysrKysrKysrKysrKy0tLS0t LS0tLS0KIGFyY2gveDg2L2NyeXB0by9naGFzaC1jbG11bG5pLWludGVsX2FzbS5TICAgIHwgIDQg Ky0KIGFyY2gveDg2L2NyeXB0by9nbHVlX2hlbHBlci1hc20tYXZ4LlMgICAgICAgIHwgIDQgKy0K IGFyY2gveDg2L2NyeXB0by9nbHVlX2hlbHBlci1hc20tYXZ4Mi5TICAgICAgIHwgIDYgKy0KIDEy IGZpbGVzIGNoYW5nZWQsIDIxMSBpbnNlcnRpb25zKCspLCAxNTIgZGVsZXRpb25zKC0pCgpkaWZm IC0tZ2l0IGEvYXJjaC94ODYvY3J5cHRvL2Flcy14ODZfNjQtYXNtXzY0LlMgYi9hcmNoL3g4Ni9j cnlwdG8vYWVzLXg4Nl82NC1hc21fNjQuUwppbmRleCA4NzM5Y2Y3Nzk1ZGUuLjg2ZmEwNjhlNWU4 MSAxMDA2NDQKLS0tIGEvYXJjaC94ODYvY3J5cHRvL2Flcy14ODZfNjQtYXNtXzY0LlMKKysrIGIv YXJjaC94ODYvY3J5cHRvL2Flcy14ODZfNjQtYXNtXzY0LlMKQEAgLTQ4LDggKzQ4LDEyIEBACiAj ZGVmaW5lIFIxMAklcjEwCiAjZGVmaW5lIFIxMQklcjExCiAKKy8qIEhvbGQgZ2xvYmFsIGZvciBQ SUUgc3Vwb3J0ICovCisjZGVmaW5lIFJCQVNFCSVyMTIKKwogI2RlZmluZSBwcm9sb2d1ZShGVU5D LEtFWSxCMTI4LEIxOTIscjEscjIscjUscjYscjcscjgscjkscjEwLHIxMSkgXAogCUVOVFJZKEZV TkMpOwkJCVwKKwlwdXNocQlSQkFTRTsJCQlcCiAJbW92cQlyMSxyMjsJCQlcCiAJbGVhcQlLRVkr NDgocjgpLHI5OwkJXAogCW1vdnEJcjEwLHIxMTsJCVwKQEAgLTc0LDU0ICs3OCw2MyBAQAogCW1v dmwJcjYgIyMgRSw0KHI5KTsJCVwKIAltb3ZsCXI3ICMjIEUsOChyOSk7CQlcCiAJbW92bAlyOCAj IyBFLDEyKHI5KTsJCVwKKwlwb3BxCVJCQVNFOwkJCVwKIAlyZXQ7CQkJCVwKIAlFTkRQUk9DKEZV TkMpOwogCisjZGVmaW5lIHJvdW5kX21vdih0YWJfb2ZmLCByZWdfaSwgcmVnX28pIFwKKwlsZWFx CXRhYl9vZmYoJXJpcCksIFJCQVNFOyBcCisJbW92bAkoUkJBU0UscmVnX2ksNCksIHJlZ19vOwor CisjZGVmaW5lIHJvdW5kX3hvcih0YWJfb2ZmLCByZWdfaSwgcmVnX28pIFwKKwlsZWFxCXRhYl9v ZmYoJXJpcCksIFJCQVNFOyBcCisJeG9ybAkoUkJBU0UscmVnX2ksNCksIHJlZ19vOworCiAjZGVm aW5lIHJvdW5kKFRBQixPRkZTRVQscjEscjIscjMscjQscjUscjYscjcscjgscmEscmIscmMscmQp IFwKIAltb3Z6YmwJcjIgIyMgSCxyNSAjIyBFOwlcCiAJbW92emJsCXIyICMjIEwscjYgIyMgRTsJ XAotCW1vdmwJVEFCKzEwMjQoLHI1LDQpLHI1ICMjIEU7XAorCXJvdW5kX21vdihUQUIrMTAyNCwg cjUsIHI1ICMjIEUpXAogCW1vdncJcjQgIyMgWCxyMiAjIyBYOwlcCi0JbW92bAlUQUIoLHI2LDQp LHI2ICMjIEU7CVwKKwlyb3VuZF9tb3YoVEFCLCByNiwgcjYgIyMgRSkJXAogCXJvbGwJJDE2LHIy ICMjIEU7CQlcCiAJc2hybAkkMTYscjQgIyMgRTsJCVwKIAltb3Z6YmwJcjQgIyMgTCxyNyAjIyBF OwlcCiAJbW92emJsCXI0ICMjIEgscjQgIyMgRTsJXAogCXhvcmwJT0ZGU0VUKHI4KSxyYSAjIyBF OwlcCiAJeG9ybAlPRkZTRVQrNChyOCkscmIgIyMgRTsJXAotCXhvcmwJVEFCKzMwNzIoLHI0LDQp LHI1ICMjIEU7XAotCXhvcmwJVEFCKzIwNDgoLHI3LDQpLHI2ICMjIEU7XAorCXJvdW5kX3hvcihU QUIrMzA3MiwgcjQsIHI1ICMjIEUpXAorCXJvdW5kX3hvcihUQUIrMjA0OCwgcjcsIHI2ICMjIEUp XAogCW1vdnpibAlyMSAjIyBMLHI3ICMjIEU7CVwKIAltb3Z6YmwJcjEgIyMgSCxyNCAjIyBFOwlc Ci0JbW92bAlUQUIrMTAyNCgscjQsNCkscjQgIyMgRTtcCisJcm91bmRfbW92KFRBQisxMDI0LCBy NCwgcjQgIyMgRSlcCiAJbW92dwlyMyAjIyBYLHIxICMjIFg7CVwKIAlyb2xsCSQxNixyMSAjIyBF OwkJXAogCXNocmwJJDE2LHIzICMjIEU7CQlcCi0JeG9ybAlUQUIoLHI3LDQpLHI1ICMjIEU7CVwK Kwlyb3VuZF94b3IoVEFCLCByNywgcjUgIyMgRSkJXAogCW1vdnpibAlyMyAjIyBMLHI3ICMjIEU7 CVwKIAltb3Z6YmwJcjMgIyMgSCxyMyAjIyBFOwlcCi0JeG9ybAlUQUIrMzA3MigscjMsNCkscjQg IyMgRTtcCi0JeG9ybAlUQUIrMjA0OCgscjcsNCkscjUgIyMgRTtcCisJcm91bmRfeG9yKFRBQisz MDcyLCByMywgcjQgIyMgRSlcCisJcm91bmRfeG9yKFRBQisyMDQ4LCByNywgcjUgIyMgRSlcCiAJ bW92emJsCXIxICMjIEwscjcgIyMgRTsJXAogCW1vdnpibAlyMSAjIyBILHIzICMjIEU7CVwKIAlz aHJsCSQxNixyMSAjIyBFOwkJXAotCXhvcmwJVEFCKzMwNzIoLHIzLDQpLHI2ICMjIEU7XAotCW1v dmwJVEFCKzIwNDgoLHI3LDQpLHIzICMjIEU7XAorCXJvdW5kX3hvcihUQUIrMzA3MiwgcjMsIHI2 ICMjIEUpXAorCXJvdW5kX21vdihUQUIrMjA0OCwgcjcsIHIzICMjIEUpXAogCW1vdnpibAlyMSAj IyBMLHI3ICMjIEU7CVwKIAltb3Z6YmwJcjEgIyMgSCxyMSAjIyBFOwlcCi0JeG9ybAlUQUIrMTAy NCgscjEsNCkscjYgIyMgRTtcCi0JeG9ybAlUQUIoLHI3LDQpLHIzICMjIEU7CVwKKwlyb3VuZF94 b3IoVEFCKzEwMjQsIHIxLCByNiAjIyBFKVwKKwlyb3VuZF94b3IoVEFCLCByNywgcjMgIyMgRSkJ XAogCW1vdnpibAlyMiAjIyBILHIxICMjIEU7CVwKIAltb3Z6YmwJcjIgIyMgTCxyNyAjIyBFOwlc CiAJc2hybAkkMTYscjIgIyMgRTsJCVwKLQl4b3JsCVRBQiszMDcyKCxyMSw0KSxyMyAjIyBFO1wK LQl4b3JsCVRBQisyMDQ4KCxyNyw0KSxyNCAjIyBFO1wKKwlyb3VuZF94b3IoVEFCKzMwNzIsIHIx LCByMyAjIyBFKVwKKwlyb3VuZF94b3IoVEFCKzIwNDgsIHI3LCByNCAjIyBFKVwKIAltb3Z6YmwJ cjIgIyMgSCxyMSAjIyBFOwlcCiAJbW92emJsCXIyICMjIEwscjIgIyMgRTsJXAogCXhvcmwJT0ZG U0VUKzgocjgpLHJjICMjIEU7CVwKIAl4b3JsCU9GRlNFVCsxMihyOCkscmQgIyMgRTsJXAotCXhv cmwJVEFCKzEwMjQoLHIxLDQpLHIzICMjIEU7XAotCXhvcmwJVEFCKCxyMiw0KSxyNCAjIyBFOwor CXJvdW5kX3hvcihUQUIrMTAyNCwgcjEsIHIzICMjIEUpXAorCXJvdW5kX3hvcihUQUIsIHIyLCBy NCAjIyBFKQogCiAjZGVmaW5lIG1vdmVfcmVncyhyMSxyMixyMyxyNCkgXAogCW1vdmwJcjMgIyMg RSxyMSAjIyBFOwlcCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9jcnlwdG8vYWVzbmktaW50ZWxfYXNt LlMgYi9hcmNoL3g4Ni9jcnlwdG8vYWVzbmktaW50ZWxfYXNtLlMKaW5kZXggMTY2MjdmZWM4MGIy Li41ZjczMjAxZGZmMzIgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2NyeXB0by9hZXNuaS1pbnRlbF9h c20uUworKysgYi9hcmNoL3g4Ni9jcnlwdG8vYWVzbmktaW50ZWxfYXNtLlMKQEAgLTMyNSw3ICsz MjUsOCBAQCBfZ2V0X0FBRF9yZXN0MFxudW1faW5pdGlhbF9ibG9ja3Ncb3BlcmF0aW9uOgogCXZw c2h1ZmIgYW5kIGFuIGFycmF5IG9mIHNodWZmbGUgbWFza3MgKi8KIAltb3ZxCSAgICVyMTIsICVy MTEKIAlzYWxxCSAgICQ0LCAlcjExCi0JbW92ZHF1CSAgIGFhZF9zaGlmdF9hcnIoJXIxMSksIFxU TVAxCisJbGVhcQkgICBhYWRfc2hpZnRfYXJyKCVyaXApLCAlcmF4CisJbW92ZHF1CSAgICglcmF4 LCVyMTEsKSwgXFRNUDEKIAlQU0hVRkJfWE1NIFxUTVAxLCAleG1tXGkKIF9nZXRfQUFEX3Jlc3Rf ZmluYWxcbnVtX2luaXRpYWxfYmxvY2tzXG9wZXJhdGlvbjoKIAlQU0hVRkJfWE1NICAgJXhtbTE0 LCAleG1tXGkgIyBieXRlLXJlZmxlY3QgdGhlIEFBRCBkYXRhCkBAIC01ODQsNyArNTg1LDggQEAg X2dldF9BQURfcmVzdDBcbnVtX2luaXRpYWxfYmxvY2tzXG9wZXJhdGlvbjoKIAl2cHNodWZiIGFu ZCBhbiBhcnJheSBvZiBzaHVmZmxlIG1hc2tzICovCiAJbW92cQkgICAlcjEyLCAlcjExCiAJc2Fs cQkgICAkNCwgJXIxMQotCW1vdmRxdQkgICBhYWRfc2hpZnRfYXJyKCVyMTEpLCBcVE1QMQorCWxl YXEJICAgYWFkX3NoaWZ0X2FyciglcmlwKSwgJXJheAorCW1vdmRxdQkgICAoJXJheCwlcjExLCks IFxUTVAxCiAJUFNIVUZCX1hNTSBcVE1QMSwgJXhtbVxpCiBfZ2V0X0FBRF9yZXN0X2ZpbmFsXG51 bV9pbml0aWFsX2Jsb2Nrc1xvcGVyYXRpb246CiAJUFNIVUZCX1hNTSAgICV4bW0xNCwgJXhtbVxp ICMgYnl0ZS1yZWZsZWN0IHRoZSBBQUQgZGF0YQpAQCAtMjcyMiw3ICsyNzI0LDcgQEAgRU5EUFJP QyhhZXNuaV9jYmNfZGVjKQogICovCiAuYWxpZ24gNAogX2Flc25pX2luY19pbml0OgotCW1vdmFw cyAuTGJzd2FwX21hc2ssIEJTV0FQX01BU0sKKwltb3ZhcHMgLkxic3dhcF9tYXNrKCVyaXApLCBC U1dBUF9NQVNLCiAJbW92YXBzIElWLCBDVFIKIAlQU0hVRkJfWE1NIEJTV0FQX01BU0sgQ1RSCiAJ bW92ICQxLCBUQ1RSX0xPVwpAQCAtMjg1MCwxMiArMjg1MiwxMiBAQCBFTlRSWShhZXNuaV94dHNf Y3J5cHQ4KQogCWNtcGIgJDAsICVjbAogCW1vdmwgJDAsICVlY3gKIAltb3ZsICQyNDAsICVyMTBk Ci0JbGVhcSBfYWVzbmlfZW5jNCwgJXIxMQotCWxlYXEgX2Flc25pX2RlYzQsICVyYXgKKwlsZWFx IF9hZXNuaV9lbmM0KCVyaXApLCAlcjExCisJbGVhcSBfYWVzbmlfZGVjNCglcmlwKSwgJXJheAog CWNtb3ZlbCAlcjEwZCwgJWVjeAogCWNtb3ZlcSAlcmF4LCAlcjExCiAKLQltb3ZkcWEgLkxnZjEy OG11bF94X2JsZV9tYXNrLCBHRjEyOE1VTF9NQVNLCisJbW92ZHFhIC5MZ2YxMjhtdWxfeF9ibGVf bWFzayglcmlwKSwgR0YxMjhNVUxfTUFTSwogCW1vdnVwcyAoSVZQKSwgSVYKIAogCW1vdiA0ODAo S0VZUCksIEtMRU4KZGlmZiAtLWdpdCBhL2FyY2gveDg2L2NyeXB0by9hZXNuaS1pbnRlbF9hdngt eDg2XzY0LlMgYi9hcmNoL3g4Ni9jcnlwdG8vYWVzbmktaW50ZWxfYXZ4LXg4Nl82NC5TCmluZGV4 IGZhZWNiMTUxOGJmOC4uNDg4NjA1YjE5ZmU4IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9jcnlwdG8v YWVzbmktaW50ZWxfYXZ4LXg4Nl82NC5TCisrKyBiL2FyY2gveDg2L2NyeXB0by9hZXNuaS1pbnRl bF9hdngteDg2XzY0LlMKQEAgLTQ1NCw3ICs0NTQsOCBAQCBfZ2V0X0FBRF9yZXN0MFxAOgogCXZw c2h1ZmIgYW5kIGFuIGFycmF5IG9mIHNodWZmbGUgbWFza3MgKi8KIAltb3ZxICAgICVyMTIsICVy MTEKIAlzYWxxICAgICQ0LCAlcjExCi0JbW92ZHF1ICBhYWRfc2hpZnRfYXJyKCVyMTEpLCBcVDEK KwlsZWFxCWFhZF9zaGlmdF9hcnIoJXJpcCksICVyYXgKKwltb3ZkcXUgICglcmF4LCVyMTEsKSwg XFQxCiAJdnBzaHVmYiBcVDEsIHJlZ19pLCByZWdfaQogX2dldF9BQURfcmVzdF9maW5hbFxAOgog CXZwc2h1ZmIgU0hVRl9NQVNLKCVyaXApLCByZWdfaSwgcmVnX2kKQEAgLTE3NjEsNyArMTc2Miw4 IEBAIF9nZXRfQUFEX3Jlc3QwXEA6CiAJdnBzaHVmYiBhbmQgYW4gYXJyYXkgb2Ygc2h1ZmZsZSBt YXNrcyAqLwogCW1vdnEgICAgJXIxMiwgJXIxMQogCXNhbHEgICAgJDQsICVyMTEKLQltb3ZkcXUg IGFhZF9zaGlmdF9hcnIoJXIxMSksIFxUMQorCWxlYXEJYWFkX3NoaWZ0X2FyciglcmlwKSwgJXJh eAorCW1vdmRxdSAgKCVyYXgsJXIxMSwpLCBcVDEKIAl2cHNodWZiIFxUMSwgcmVnX2ksIHJlZ19p CiBfZ2V0X0FBRF9yZXN0X2ZpbmFsXEA6CiAJdnBzaHVmYiBTSFVGX01BU0soJXJpcCksIHJlZ19p LCByZWdfaQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvY3J5cHRvL2NhbWVsbGlhLWFlc25pLWF2eC1h c21fNjQuUyBiL2FyY2gveDg2L2NyeXB0by9jYW1lbGxpYS1hZXNuaS1hdngtYXNtXzY0LlMKaW5k ZXggZjdjNDk1ZTI4NjNjLi40NmZlYWVhNTI2MzIgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2NyeXB0 by9jYW1lbGxpYS1hZXNuaS1hdngtYXNtXzY0LlMKKysrIGIvYXJjaC94ODYvY3J5cHRvL2NhbWVs bGlhLWFlc25pLWF2eC1hc21fNjQuUwpAQCAtNTIsMTAgKzUyLDEwIEBACiAJLyogXAogCSAqIFMt ZnVuY3Rpb24gd2l0aCBBRVMgc3ViYnl0ZXMgXAogCSAqLyBcCi0Jdm1vdmRxYSAuTGludl9zaGlm dF9yb3csIHQ0OyBcCi0JdmJyb2FkY2FzdHNzIC5MMGYwZjBmMGYsIHQ3OyBcCi0Jdm1vdmRxYSAu THByZV90Zl9sb19zMSwgdDA7IFwKLQl2bW92ZHFhIC5McHJlX3RmX2hpX3MxLCB0MTsgXAorCXZt b3ZkcWEgLkxpbnZfc2hpZnRfcm93KCVyaXApLCB0NDsgXAorCXZicm9hZGNhc3RzcyAuTDBmMGYw ZjBmKCVyaXApLCB0NzsgXAorCXZtb3ZkcWEgLkxwcmVfdGZfbG9fczEoJXJpcCksIHQwOyBcCisJ dm1vdmRxYSAuTHByZV90Zl9oaV9zMSglcmlwKSwgdDE7IFwKIAlcCiAJLyogQUVTIGludmVyc2Ug c2hpZnQgcm93cyAqLyBcCiAJdnBzaHVmYiB0NCwgeDAsIHgwOyBcCkBAIC02OCw4ICs2OCw4IEBA CiAJdnBzaHVmYiB0NCwgeDYsIHg2OyBcCiAJXAogCS8qIHByZWZpbHRlciBzYm94ZXMgMSwgMiBh bmQgMyAqLyBcCi0Jdm1vdmRxYSAuTHByZV90Zl9sb19zNCwgdDI7IFwKLQl2bW92ZHFhIC5McHJl X3RmX2hpX3M0LCB0MzsgXAorCXZtb3ZkcWEgLkxwcmVfdGZfbG9fczQoJXJpcCksIHQyOyBcCisJ dm1vdmRxYSAuTHByZV90Zl9oaV9zNCglcmlwKSwgdDM7IFwKIAlmaWx0ZXJfOGJpdCh4MCwgdDAs IHQxLCB0NywgdDYpOyBcCiAJZmlsdGVyXzhiaXQoeDcsIHQwLCB0MSwgdDcsIHQ2KTsgXAogCWZp bHRlcl84Yml0KHgxLCB0MCwgdDEsIHQ3LCB0Nik7IFwKQEAgLTgzLDggKzgzLDggQEAKIAlmaWx0 ZXJfOGJpdCh4NiwgdDIsIHQzLCB0NywgdDYpOyBcCiAJXAogCS8qIEFFUyBzdWJieXRlcyArIEFF UyBzaGlmdCByb3dzICovIFwKLQl2bW92ZHFhIC5McG9zdF90Zl9sb19zMSwgdDA7IFwKLQl2bW92 ZHFhIC5McG9zdF90Zl9oaV9zMSwgdDE7IFwKKwl2bW92ZHFhIC5McG9zdF90Zl9sb19zMSglcmlw KSwgdDA7IFwKKwl2bW92ZHFhIC5McG9zdF90Zl9oaV9zMSglcmlwKSwgdDE7IFwKIAl2YWVzZW5j bGFzdCB0NCwgeDAsIHgwOyBcCiAJdmFlc2VuY2xhc3QgdDQsIHg3LCB4NzsgXAogCXZhZXNlbmNs YXN0IHQ0LCB4MSwgeDE7IFwKQEAgLTk1LDE2ICs5NSwxNiBAQAogCXZhZXNlbmNsYXN0IHQ0LCB4 NiwgeDY7IFwKIAlcCiAJLyogcG9zdGZpbHRlciBzYm94ZXMgMSBhbmQgNCAqLyBcCi0Jdm1vdmRx YSAuTHBvc3RfdGZfbG9fczMsIHQyOyBcCi0Jdm1vdmRxYSAuTHBvc3RfdGZfaGlfczMsIHQzOyBc CisJdm1vdmRxYSAuTHBvc3RfdGZfbG9fczMoJXJpcCksIHQyOyBcCisJdm1vdmRxYSAuTHBvc3Rf dGZfaGlfczMoJXJpcCksIHQzOyBcCiAJZmlsdGVyXzhiaXQoeDAsIHQwLCB0MSwgdDcsIHQ2KTsg XAogCWZpbHRlcl84Yml0KHg3LCB0MCwgdDEsIHQ3LCB0Nik7IFwKIAlmaWx0ZXJfOGJpdCh4Mywg dDAsIHQxLCB0NywgdDYpOyBcCiAJZmlsdGVyXzhiaXQoeDYsIHQwLCB0MSwgdDcsIHQ2KTsgXAog CVwKIAkvKiBwb3N0ZmlsdGVyIHNib3ggMyAqLyBcCi0Jdm1vdmRxYSAuTHBvc3RfdGZfbG9fczIs IHQ0OyBcCi0Jdm1vdmRxYSAuTHBvc3RfdGZfaGlfczIsIHQ1OyBcCisJdm1vdmRxYSAuTHBvc3Rf dGZfbG9fczIoJXJpcCksIHQ0OyBcCisJdm1vdmRxYSAuTHBvc3RfdGZfaGlfczIoJXJpcCksIHQ1 OyBcCiAJZmlsdGVyXzhiaXQoeDIsIHQyLCB0MywgdDcsIHQ2KTsgXAogCWZpbHRlcl84Yml0KHg1 LCB0MiwgdDMsIHQ3LCB0Nik7IFwKIAlcCkBAIC00NDMsNyArNDQzLDcgQEAgRU5EUFJPQyhyb3Vu ZHNtMTZfeDRfeDVfeDZfeDdfeDBfeDFfeDJfeDNfeTRfeTVfeTZfeTdfeTBfeTFfeTJfeTNfYWIp CiAJdHJhbnNwb3NlXzR4NChjMCwgYzEsIGMyLCBjMywgYTAsIGExKTsgXAogCXRyYW5zcG9zZV80 eDQoZDAsIGQxLCBkMiwgZDMsIGEwLCBhMSk7IFwKIAlcCi0Jdm1vdmRxdSAuTHNodWZiXzE2eDE2 YiwgYTA7IFwKKwl2bW92ZHF1IC5Mc2h1ZmJfMTZ4MTZiKCVyaXApLCBhMDsgXAogCXZtb3ZkcXUg c3QxLCBhMTsgXAogCXZwc2h1ZmIgYTAsIGEyLCBhMjsgXAogCXZwc2h1ZmIgYTAsIGEzLCBhMzsg XApAQCAtNDgyLDcgKzQ4Miw3IEBAIEVORFBST0Mocm91bmRzbTE2X3g0X3g1X3g2X3g3X3gwX3gx X3gyX3gzX3k0X3k1X3k2X3k3X3kwX3kxX3kyX3kzX2FiKQogI2RlZmluZSBpbnBhY2sxNl9wcmUo eDAsIHgxLCB4MiwgeDMsIHg0LCB4NSwgeDYsIHg3LCB5MCwgeTEsIHkyLCB5MywgeTQsIHk1LCBc CiAJCSAgICAgeTYsIHk3LCByaW8sIGtleSkgXAogCXZtb3ZxIGtleSwgeDA7IFwKLQl2cHNodWZi IC5McGFja19ic3dhcCwgeDAsIHgwOyBcCisJdnBzaHVmYiAuTHBhY2tfYnN3YXAoJXJpcCksIHgw LCB4MDsgXAogCVwKIAl2cHhvciAwICogMTYocmlvKSwgeDAsIHk3OyBcCiAJdnB4b3IgMSAqIDE2 KHJpbyksIHgwLCB5NjsgXApAQCAtNTMzLDcgKzUzMyw3IEBAIEVORFBST0Mocm91bmRzbTE2X3g0 X3g1X3g2X3g3X3gwX3gxX3gyX3gzX3k0X3k1X3k2X3k3X3kwX3kxX3kyX3kzX2FiKQogCXZtb3Zk cXUgeDAsIHN0YWNrX3RtcDA7IFwKIAlcCiAJdm1vdnEga2V5LCB4MDsgXAotCXZwc2h1ZmIgLkxw YWNrX2Jzd2FwLCB4MCwgeDA7IFwKKwl2cHNodWZiIC5McGFja19ic3dhcCglcmlwKSwgeDAsIHgw OyBcCiAJXAogCXZweG9yIHgwLCB5NywgeTc7IFwKIAl2cHhvciB4MCwgeTYsIHk2OyBcCkBAIC0x MDE2LDcgKzEwMTYsNyBAQCBFTlRSWShjYW1lbGxpYV9jdHJfMTZ3YXkpCiAJc3VicSAkKDE2ICog MTYpLCAlcnNwOwogCW1vdnEgJXJzcCwgJXJheDsKIAotCXZtb3ZkcWEgLkxic3dhcDEyOF9tYXNr LCAleG1tMTQ7CisJdm1vdmRxYSAuTGJzd2FwMTI4X21hc2soJXJpcCksICV4bW0xNDsKIAogCS8q IGxvYWQgSVYgYW5kIGJ5dGVzd2FwICovCiAJdm1vdmRxdSAoJXJjeCksICV4bW0wOwpAQCAtMTA2 NSw3ICsxMDY1LDcgQEAgRU5UUlkoY2FtZWxsaWFfY3RyXzE2d2F5KQogCiAJLyogaW5wYWNrMTZf cHJlOiAqLwogCXZtb3ZxIChrZXlfdGFibGUpKENUWCksICV4bW0xNTsKLQl2cHNodWZiIC5McGFj a19ic3dhcCwgJXhtbTE1LCAleG1tMTU7CisJdnBzaHVmYiAuTHBhY2tfYnN3YXAoJXJpcCksICV4 bW0xNSwgJXhtbTE1OwogCXZweG9yICV4bW0wLCAleG1tMTUsICV4bW0wOwogCXZweG9yICV4bW0x LCAleG1tMTUsICV4bW0xOwogCXZweG9yICV4bW0yLCAleG1tMTUsICV4bW0yOwpAQCAtMTEzMyw3 ICsxMTMzLDcgQEAgY2FtZWxsaWFfeHRzX2NyeXB0XzE2d2F5OgogCXN1YnEgJCgxNiAqIDE2KSwg JXJzcDsKIAltb3ZxICVyc3AsICVyYXg7CiAKLQl2bW92ZHFhIC5MeHRzX2dmMTI4bXVsX2FuZF9z aGwxX21hc2ssICV4bW0xNDsKKwl2bW92ZHFhIC5MeHRzX2dmMTI4bXVsX2FuZF9zaGwxX21hc2so JXJpcCksICV4bW0xNDsKIAogCS8qIGxvYWQgSVYgKi8KIAl2bW92ZHF1ICglcmN4KSwgJXhtbTA7 CkBAIC0xMjA5LDcgKzEyMDksNyBAQCBjYW1lbGxpYV94dHNfY3J5cHRfMTZ3YXk6CiAKIAkvKiBp bnBhY2sxNl9wcmU6ICovCiAJdm1vdnEgKGtleV90YWJsZSkoQ1RYLCAlcjgsIDgpLCAleG1tMTU7 Ci0JdnBzaHVmYiAuTHBhY2tfYnN3YXAsICV4bW0xNSwgJXhtbTE1OworCXZwc2h1ZmIgLkxwYWNr X2Jzd2FwKCVyaXApLCAleG1tMTUsICV4bW0xNTsKIAl2cHhvciAwICogMTYoJXJheCksICV4bW0x NSwgJXhtbTA7CiAJdnB4b3IgJXhtbTEsICV4bW0xNSwgJXhtbTE7CiAJdnB4b3IgJXhtbTIsICV4 bW0xNSwgJXhtbTI7CkBAIC0xMjY0LDcgKzEyNjQsNyBAQCBFTlRSWShjYW1lbGxpYV94dHNfZW5j XzE2d2F5KQogCSAqLwogCXhvcmwgJXI4ZCwgJXI4ZDsgLyogaW5wdXQgd2hpdGVuaW5nIGtleSwg MCBmb3IgZW5jICovCiAKLQlsZWFxIF9fY2FtZWxsaWFfZW5jX2JsazE2LCAlcjk7CisJbGVhcSBf X2NhbWVsbGlhX2VuY19ibGsxNiglcmlwKSwgJXI5OwogCiAJam1wIGNhbWVsbGlhX3h0c19jcnlw dF8xNndheTsKIEVORFBST0MoY2FtZWxsaWFfeHRzX2VuY18xNndheSkKQEAgLTEyODIsNyArMTI4 Miw3IEBAIEVOVFJZKGNhbWVsbGlhX3h0c19kZWNfMTZ3YXkpCiAJbW92bCAkMjQsICVlYXg7CiAJ Y21vdmVsICVlYXgsICVyOGQ7ICAvKiBpbnB1dCB3aGl0ZW5pbmcga2V5LCBsYXN0IGZvciBkZWMg Ki8KIAotCWxlYXEgX19jYW1lbGxpYV9kZWNfYmxrMTYsICVyOTsKKwlsZWFxIF9fY2FtZWxsaWFf ZGVjX2JsazE2KCVyaXApLCAlcjk7CiAKIAlqbXAgY2FtZWxsaWFfeHRzX2NyeXB0XzE2d2F5Owog RU5EUFJPQyhjYW1lbGxpYV94dHNfZGVjXzE2d2F5KQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvY3J5 cHRvL2NhbWVsbGlhLWFlc25pLWF2eDItYXNtXzY0LlMgYi9hcmNoL3g4Ni9jcnlwdG8vY2FtZWxs aWEtYWVzbmktYXZ4Mi1hc21fNjQuUwppbmRleCBlZWU1YjM5ODJjZmQuLjkzZGEzMjdmZWM4MyAx MDA2NDQKLS0tIGEvYXJjaC94ODYvY3J5cHRvL2NhbWVsbGlhLWFlc25pLWF2eDItYXNtXzY0LlMK KysrIGIvYXJjaC94ODYvY3J5cHRvL2NhbWVsbGlhLWFlc25pLWF2eDItYXNtXzY0LlMKQEAgLTY5 LDEyICs2OSwxMiBAQAogCS8qIFwKIAkgKiBTLWZ1bmN0aW9uIHdpdGggQUVTIHN1YmJ5dGVzIFwK IAkgKi8gXAotCXZicm9hZGNhc3RpMTI4IC5MaW52X3NoaWZ0X3JvdywgdDQ7IFwKLQl2cGJyb2Fk Y2FzdGQgLkwwZjBmMGYwZiwgdDc7IFwKLQl2YnJvYWRjYXN0aTEyOCAuTHByZV90Zl9sb19zMSwg dDU7IFwKLQl2YnJvYWRjYXN0aTEyOCAuTHByZV90Zl9oaV9zMSwgdDY7IFwKLQl2YnJvYWRjYXN0 aTEyOCAuTHByZV90Zl9sb19zNCwgdDI7IFwKLQl2YnJvYWRjYXN0aTEyOCAuTHByZV90Zl9oaV9z NCwgdDM7IFwKKwl2YnJvYWRjYXN0aTEyOCAuTGludl9zaGlmdF9yb3coJXJpcCksIHQ0OyBcCisJ dnBicm9hZGNhc3RkIC5MMGYwZjBmMGYoJXJpcCksIHQ3OyBcCisJdmJyb2FkY2FzdGkxMjggLkxw cmVfdGZfbG9fczEoJXJpcCksIHQ1OyBcCisJdmJyb2FkY2FzdGkxMjggLkxwcmVfdGZfaGlfczEo JXJpcCksIHQ2OyBcCisJdmJyb2FkY2FzdGkxMjggLkxwcmVfdGZfbG9fczQoJXJpcCksIHQyOyBc CisJdmJyb2FkY2FzdGkxMjggLkxwcmVfdGZfaGlfczQoJXJpcCksIHQzOyBcCiAJXAogCS8qIEFF UyBpbnZlcnNlIHNoaWZ0IHJvd3MgKi8gXAogCXZwc2h1ZmIgdDQsIHgwLCB4MDsgXApAQCAtMTIw LDggKzEyMCw4IEBACiAJdmluc2VydGkxMjggJDEsIHQyIyNfeCwgeDYsIHg2OyBcCiAJdmV4dHJh Y3RpMTI4ICQxLCB4MSwgdDMjI194OyBcCiAJdmV4dHJhY3RpMTI4ICQxLCB4NCwgdDIjI194OyBc Ci0JdmJyb2FkY2FzdGkxMjggLkxwb3N0X3RmX2xvX3MxLCB0MDsgXAotCXZicm9hZGNhc3RpMTI4 IC5McG9zdF90Zl9oaV9zMSwgdDE7IFwKKwl2YnJvYWRjYXN0aTEyOCAuTHBvc3RfdGZfbG9fczEo JXJpcCksIHQwOyBcCisJdmJyb2FkY2FzdGkxMjggLkxwb3N0X3RmX2hpX3MxKCVyaXApLCB0MTsg XAogCXZhZXNlbmNsYXN0IHQ0IyNfeCwgeDIjI194LCB4MiMjX3g7IFwKIAl2YWVzZW5jbGFzdCB0 NCMjX3gsIHQ2IyNfeCwgdDYjI194OyBcCiAJdmluc2VydGkxMjggJDEsIHQ2IyNfeCwgeDIsIHgy OyBcCkBAIC0xMzYsMTYgKzEzNiwxNiBAQAogCXZpbnNlcnRpMTI4ICQxLCB0MiMjX3gsIHg0LCB4 NDsgXAogCVwKIAkvKiBwb3N0ZmlsdGVyIHNib3hlcyAxIGFuZCA0ICovIFwKLQl2YnJvYWRjYXN0 aTEyOCAuTHBvc3RfdGZfbG9fczMsIHQyOyBcCi0JdmJyb2FkY2FzdGkxMjggLkxwb3N0X3RmX2hp X3MzLCB0MzsgXAorCXZicm9hZGNhc3RpMTI4IC5McG9zdF90Zl9sb19zMyglcmlwKSwgdDI7IFwK Kwl2YnJvYWRjYXN0aTEyOCAuTHBvc3RfdGZfaGlfczMoJXJpcCksIHQzOyBcCiAJZmlsdGVyXzhi aXQoeDAsIHQwLCB0MSwgdDcsIHQ2KTsgXAogCWZpbHRlcl84Yml0KHg3LCB0MCwgdDEsIHQ3LCB0 Nik7IFwKIAlmaWx0ZXJfOGJpdCh4MywgdDAsIHQxLCB0NywgdDYpOyBcCiAJZmlsdGVyXzhiaXQo eDYsIHQwLCB0MSwgdDcsIHQ2KTsgXAogCVwKIAkvKiBwb3N0ZmlsdGVyIHNib3ggMyAqLyBcCi0J dmJyb2FkY2FzdGkxMjggLkxwb3N0X3RmX2xvX3MyLCB0NDsgXAotCXZicm9hZGNhc3RpMTI4IC5M cG9zdF90Zl9oaV9zMiwgdDU7IFwKKwl2YnJvYWRjYXN0aTEyOCAuTHBvc3RfdGZfbG9fczIoJXJp cCksIHQ0OyBcCisJdmJyb2FkY2FzdGkxMjggLkxwb3N0X3RmX2hpX3MyKCVyaXApLCB0NTsgXAog CWZpbHRlcl84Yml0KHgyLCB0MiwgdDMsIHQ3LCB0Nik7IFwKIAlmaWx0ZXJfOGJpdCh4NSwgdDIs IHQzLCB0NywgdDYpOyBcCiAJXApAQCAtNDgyLDcgKzQ4Miw3IEBAIEVORFBST0Mocm91bmRzbTMy X3g0X3g1X3g2X3g3X3gwX3gxX3gyX3gzX3k0X3k1X3k2X3k3X3kwX3kxX3kyX3kzX2FiKQogCXRy YW5zcG9zZV80eDQoYzAsIGMxLCBjMiwgYzMsIGEwLCBhMSk7IFwKIAl0cmFuc3Bvc2VfNHg0KGQw LCBkMSwgZDIsIGQzLCBhMCwgYTEpOyBcCiAJXAotCXZicm9hZGNhc3RpMTI4IC5Mc2h1ZmJfMTZ4 MTZiLCBhMDsgXAorCXZicm9hZGNhc3RpMTI4IC5Mc2h1ZmJfMTZ4MTZiKCVyaXApLCBhMDsgXAog CXZtb3ZkcXUgc3QxLCBhMTsgXAogCXZwc2h1ZmIgYTAsIGEyLCBhMjsgXAogCXZwc2h1ZmIgYTAs IGEzLCBhMzsgXApAQCAtNTIxLDcgKzUyMSw3IEBAIEVORFBST0Mocm91bmRzbTMyX3g0X3g1X3g2 X3g3X3gwX3gxX3gyX3gzX3k0X3k1X3k2X3k3X3kwX3kxX3kyX3kzX2FiKQogI2RlZmluZSBpbnBh Y2szMl9wcmUoeDAsIHgxLCB4MiwgeDMsIHg0LCB4NSwgeDYsIHg3LCB5MCwgeTEsIHkyLCB5Mywg eTQsIHk1LCBcCiAJCSAgICAgeTYsIHk3LCByaW8sIGtleSkgXAogCXZwYnJvYWRjYXN0cSBrZXks IHgwOyBcCi0JdnBzaHVmYiAuTHBhY2tfYnN3YXAsIHgwLCB4MDsgXAorCXZwc2h1ZmIgLkxwYWNr X2Jzd2FwKCVyaXApLCB4MCwgeDA7IFwKIAlcCiAJdnB4b3IgMCAqIDMyKHJpbyksIHgwLCB5Nzsg XAogCXZweG9yIDEgKiAzMihyaW8pLCB4MCwgeTY7IFwKQEAgLTU3Miw3ICs1NzIsNyBAQCBFTkRQ Uk9DKHJvdW5kc20zMl94NF94NV94Nl94N194MF94MV94Ml94M195NF95NV95Nl95N195MF95MV95 Ml95M19hYikKIAl2bW92ZHF1IHgwLCBzdGFja190bXAwOyBcCiAJXAogCXZwYnJvYWRjYXN0cSBr ZXksIHgwOyBcCi0JdnBzaHVmYiAuTHBhY2tfYnN3YXAsIHgwLCB4MDsgXAorCXZwc2h1ZmIgLkxw YWNrX2Jzd2FwKCVyaXApLCB4MCwgeDA7IFwKIAlcCiAJdnB4b3IgeDAsIHk3LCB5NzsgXAogCXZw eG9yIHgwLCB5NiwgeTY7IFwKQEAgLTExMTIsNyArMTExMiw3IEBAIEVOVFJZKGNhbWVsbGlhX2N0 cl8zMndheSkKIAl2bW92ZHF1ICglcmN4KSwgJXhtbTA7CiAJdm1vdmRxYSAleG1tMCwgJXhtbTE7 CiAJaW5jX2xlMTI4KCV4bW0wLCAleG1tMTUsICV4bW0xNCk7Ci0JdmJyb2FkY2FzdGkxMjggLkxi c3dhcDEyOF9tYXNrLCAleW1tMTQ7CisJdmJyb2FkY2FzdGkxMjggLkxic3dhcDEyOF9tYXNrKCVy aXApLCAleW1tMTQ7CiAJdmluc2VydGkxMjggJDEsICV4bW0wLCAleW1tMSwgJXltbTA7CiAJdnBz aHVmYiAleW1tMTQsICV5bW0wLCAleW1tMTM7CiAJdm1vdmRxdSAleW1tMTMsIDE1ICogMzIoJXJh eCk7CkBAIC0xMTU4LDcgKzExNTgsNyBAQCBFTlRSWShjYW1lbGxpYV9jdHJfMzJ3YXkpCiAKIAkv KiBpbnBhY2szMl9wcmU6ICovCiAJdnBicm9hZGNhc3RxIChrZXlfdGFibGUpKENUWCksICV5bW0x NTsKLQl2cHNodWZiIC5McGFja19ic3dhcCwgJXltbTE1LCAleW1tMTU7CisJdnBzaHVmYiAuTHBh Y2tfYnN3YXAoJXJpcCksICV5bW0xNSwgJXltbTE1OwogCXZweG9yICV5bW0wLCAleW1tMTUsICV5 bW0wOwogCXZweG9yICV5bW0xLCAleW1tMTUsICV5bW0xOwogCXZweG9yICV5bW0yLCAleW1tMTUs ICV5bW0yOwpAQCAtMTI0MiwxMyArMTI0MiwxMyBAQCBjYW1lbGxpYV94dHNfY3J5cHRfMzJ3YXk6 CiAJc3VicSAkKDE2ICogMzIpLCAlcnNwOwogCW1vdnEgJXJzcCwgJXJheDsKIAotCXZicm9hZGNh c3RpMTI4IC5MeHRzX2dmMTI4bXVsX2FuZF9zaGwxX21hc2tfMCwgJXltbTEyOworCXZicm9hZGNh c3RpMTI4IC5MeHRzX2dmMTI4bXVsX2FuZF9zaGwxX21hc2tfMCglcmlwKSwgJXltbTEyOwogCiAJ LyogbG9hZCBJViBhbmQgY29uc3RydWN0IHNlY29uZCBJViAqLwogCXZtb3ZkcXUgKCVyY3gpLCAl eG1tMDsKIAl2bW92ZHFhICV4bW0wLCAleG1tMTU7CiAJZ2YxMjhtdWxfeF9ibGUoJXhtbTAsICV4 bW0xMiwgJXhtbTEzKTsKLQl2YnJvYWRjYXN0aTEyOCAuTHh0c19nZjEyOG11bF9hbmRfc2hsMV9t YXNrXzEsICV5bW0xMzsKKwl2YnJvYWRjYXN0aTEyOCAuTHh0c19nZjEyOG11bF9hbmRfc2hsMV9t YXNrXzEoJXJpcCksICV5bW0xMzsKIAl2aW5zZXJ0aTEyOCAkMSwgJXhtbTAsICV5bW0xNSwgJXlt bTA7CiAJdnB4b3IgMCAqIDMyKCVyZHgpLCAleW1tMCwgJXltbTE1OwogCXZtb3ZkcXUgJXltbTE1 LCAxNSAqIDMyKCVyYXgpOwpAQCAtMTMyNSw3ICsxMzI1LDcgQEAgY2FtZWxsaWFfeHRzX2NyeXB0 XzMyd2F5OgogCiAJLyogaW5wYWNrMzJfcHJlOiAqLwogCXZwYnJvYWRjYXN0cSAoa2V5X3RhYmxl KShDVFgsICVyOCwgOCksICV5bW0xNTsKLQl2cHNodWZiIC5McGFja19ic3dhcCwgJXltbTE1LCAl eW1tMTU7CisJdnBzaHVmYiAuTHBhY2tfYnN3YXAoJXJpcCksICV5bW0xNSwgJXltbTE1OwogCXZw eG9yIDAgKiAzMiglcmF4KSwgJXltbTE1LCAleW1tMDsKIAl2cHhvciAleW1tMSwgJXltbTE1LCAl eW1tMTsKIAl2cHhvciAleW1tMiwgJXltbTE1LCAleW1tMjsKQEAgLTEzODMsNyArMTM4Myw3IEBA IEVOVFJZKGNhbWVsbGlhX3h0c19lbmNfMzJ3YXkpCiAKIAl4b3JsICVyOGQsICVyOGQ7IC8qIGlu cHV0IHdoaXRlbmluZyBrZXksIDAgZm9yIGVuYyAqLwogCi0JbGVhcSBfX2NhbWVsbGlhX2VuY19i bGszMiwgJXI5OworCWxlYXEgX19jYW1lbGxpYV9lbmNfYmxrMzIoJXJpcCksICVyOTsKIAogCWpt cCBjYW1lbGxpYV94dHNfY3J5cHRfMzJ3YXk7CiBFTkRQUk9DKGNhbWVsbGlhX3h0c19lbmNfMzJ3 YXkpCkBAIC0xNDAxLDcgKzE0MDEsNyBAQCBFTlRSWShjYW1lbGxpYV94dHNfZGVjXzMyd2F5KQog CW1vdmwgJDI0LCAlZWF4OwogCWNtb3ZlbCAlZWF4LCAlcjhkOyAgLyogaW5wdXQgd2hpdGVuaW5n IGtleSwgbGFzdCBmb3IgZGVjICovCiAKLQlsZWFxIF9fY2FtZWxsaWFfZGVjX2JsazMyLCAlcjk7 CisJbGVhcSBfX2NhbWVsbGlhX2RlY19ibGszMiglcmlwKSwgJXI5OwogCiAJam1wIGNhbWVsbGlh X3h0c19jcnlwdF8zMndheTsKIEVORFBST0MoY2FtZWxsaWFfeHRzX2RlY18zMndheSkKZGlmZiAt LWdpdCBhL2FyY2gveDg2L2NyeXB0by9jYW1lbGxpYS14ODZfNjQtYXNtXzY0LlMgYi9hcmNoL3g4 Ni9jcnlwdG8vY2FtZWxsaWEteDg2XzY0LWFzbV82NC5TCmluZGV4IDk1YmE2OTU2YTdmNi4uZWYx MTM3NDA2OTU5IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9jcnlwdG8vY2FtZWxsaWEteDg2XzY0LWFz bV82NC5TCisrKyBiL2FyY2gveDg2L2NyeXB0by9jYW1lbGxpYS14ODZfNjQtYXNtXzY0LlMKQEAg LTkyLDExICs5MiwxMyBAQAogI2RlZmluZSBSWE9SYmwgJXI5YgogCiAjZGVmaW5lIHhvcjJyb3Ix NihUMCwgVDEsIHRtcDEsIHRtcDIsIGFiLCBkc3QpIFwKKwlsZWFxIFQwKCVyaXApLCAJCQl0bXAx OyBcCiAJbW92emJsIGFiICMjIGJsLAkJdG1wMiAjIyBkOyBcCisJeG9ycSAodG1wMSwgdG1wMiwg OCksCQlkc3Q7IFwKKwlsZWFxIFQxKCVyaXApLCAJCQl0bXAyOyBcCiAJbW92emJsIGFiICMjIGJo LAkJdG1wMSAjIyBkOyBcCi0Jcm9ycSAkMTYsCQkJYWI7IFwKLQl4b3JxIFQwKCwgdG1wMiwgOCks CQlkc3Q7IFwKLQl4b3JxIFQxKCwgdG1wMSwgOCksCQlkc3Q7CisJeG9ycSAodG1wMiwgdG1wMSwg OCksCQlkc3Q7IFwKKwlyb3JxICQxNiwJCQlhYjsKIAogLyoqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgMS13YXkg Y2FtZWxsaWEKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2NyeXB0by9jYXN0NS1hdngteDg2XzY0LWFz bV82NC5TIGIvYXJjaC94ODYvY3J5cHRvL2Nhc3Q1LWF2eC14ODZfNjQtYXNtXzY0LlMKaW5kZXgg ODYxMDdjOTYxYmI0Li42NGViNWM4N2QwNGEgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2NyeXB0by9j YXN0NS1hdngteDg2XzY0LWFzbV82NC5TCisrKyBiL2FyY2gveDg2L2NyeXB0by9jYXN0NS1hdngt eDg2XzY0LWFzbV82NC5TCkBAIC05OCwxNiArOTgsMjAgQEAKIAogCiAjZGVmaW5lIGxvb2t1cF8z MmJpdChzcmMsIGRzdCwgb3AxLCBvcDIsIG9wMywgaW50ZXJsZWF2ZV9vcCwgaWxfcmVnKSBcCi0J bW92emJsCQlzcmMgIyMgYmgsICAgICBSSUQxZDsgICAgXAotCW1vdnpibAkJc3JjICMjIGJsLCAg ICAgUklEMmQ7ICAgIFwKLQlzaHJxICQxNiwJc3JjOyAgICAgICAgICAgICAgICAgICAgIFwKLQlt b3ZsCQlzMSgsIFJJRDEsIDQpLCBkc3QgIyMgZDsgXAotCW9wMQkJczIoLCBSSUQyLCA0KSwgZHN0 ICMjIGQ7IFwKLQltb3Z6YmwJCXNyYyAjIyBiaCwgICAgIFJJRDFkOyAgICBcCi0JbW92emJsCQlz cmMgIyMgYmwsICAgICBSSUQyZDsgICAgXAotCWludGVybGVhdmVfb3AoaWxfcmVnKTsJCQkgXAot CW9wMgkJczMoLCBSSUQxLCA0KSwgZHN0ICMjIGQ7IFwKLQlvcDMJCXM0KCwgUklEMiwgNCksIGRz dCAjIyBkOworCW1vdnpibAkJc3JjICMjIGJoLCAgICAgICBSSUQxZDsgICAgXAorCWxlYXEJCXMx KCVyaXApLCAgICAgICAgUklEMjsgICAgIFwKKwltb3ZsCQkoUklEMiwgUklEMSwgNCksIGRzdCAj IyBkOyBcCisJbW92emJsCQlzcmMgIyMgYmwsICAgICAgIFJJRDJkOyAgICBcCisJbGVhcQkJczIo JXJpcCksICAgICAgICBSSUQxOyAgICAgXAorCW9wMQkJKFJJRDEsIFJJRDIsIDQpLCBkc3QgIyMg ZDsgXAorCXNocnEgJDE2LAlzcmM7ICAgICAgICAgICAgICAgICAgICAgICBcCisJbW92emJsCQlz cmMgIyMgYmgsICAgICBSSUQxZDsgICAgICBcCisJbGVhcQkJczMoJXJpcCksICAgICAgICBSSUQy OyAgICAgXAorCW9wMgkJKFJJRDIsIFJJRDEsIDQpLCBkc3QgIyMgZDsgXAorCW1vdnpibAkJc3Jj ICMjIGJsLCAgICAgUklEMmQ7ICAgICAgXAorCWxlYXEJCXM0KCVyaXApLCAgICAgICAgUklEMTsg ICAgIFwKKwlvcDMJCShSSUQxLCBSSUQyLCA0KSwgZHN0ICMjIGQ7IFwKKwlpbnRlcmxlYXZlX29w KGlsX3JlZyk7CiAKICNkZWZpbmUgZHVtbXkoZCkgLyogZG8gbm90aGluZyAqLwogCkBAIC0xNjYs MTUgKzE3MCwxNSBAQAogCXN1YnJvdW5kKGwgIyMgMywgciAjIyAzLCBsICMjIDQsIHIgIyMgNCwg Zik7CiAKICNkZWZpbmUgZW5jX3ByZWxvYWRfcmtyKCkgXAotCXZicm9hZGNhc3RzcwkuTDE2X21h c2ssICAgICAgICAgICAgICAgIFJLUjsgICAgICBcCisJdmJyb2FkY2FzdHNzCS5MMTZfbWFzaygl cmlwKSwgICAgICAgICAgUktSOyAgICAgIFwKIAkvKiBhZGQgMTYtYml0IHJvdGF0aW9uIHRvIGtl eSByb3RhdGlvbnMgKG1vZCAzMikgKi8gXAogCXZweG9yCQlrcihDVFgpLCAgICAgICAgICAgICAg ICAgIFJLUiwgUktSOwogCiAjZGVmaW5lIGRlY19wcmVsb2FkX3JrcigpIFwKLQl2YnJvYWRjYXN0 c3MJLkwxNl9tYXNrLCAgICAgICAgICAgICAgICBSS1I7ICAgICAgXAorCXZicm9hZGNhc3Rzcwku TDE2X21hc2soJXJpcCksICAgICAgICAgIFJLUjsgICAgICBcCiAJLyogYWRkIDE2LWJpdCByb3Rh dGlvbiB0byBrZXkgcm90YXRpb25zIChtb2QgMzIpICovIFwKIAl2cHhvcgkJa3IoQ1RYKSwgICAg ICAgICAgICAgICAgICBSS1IsIFJLUjsgXAotCXZwc2h1ZmIJCS5MYnN3YXAxMjhfbWFzaywgICAg ICAgICAgUktSLCBSS1I7CisJdnBzaHVmYgkJLkxic3dhcDEyOF9tYXNrKCVyaXApLCAgICBSS1Is IFJLUjsKIAogI2RlZmluZSB0cmFuc3Bvc2VfMng0KHgwLCB4MSwgdDAsIHQxKSBcCiAJdnB1bnBj a2xkcQkJeDEsIHgwLCB0MDsgXApAQCAtMjUxLDkgKzI1NSw5IEBAIF9fY2FzdDVfZW5jX2JsazE2 OgogCiAJbW92cSAlcmRpLCBDVFg7CiAKLQl2bW92ZHFhIC5MYnN3YXBfbWFzaywgUktNOwotCXZt b3ZkIC5MZmlyc3RfbWFzaywgUjFTVDsKLQl2bW92ZCAuTDMyX21hc2ssIFIzMjsKKwl2bW92ZHFh IC5MYnN3YXBfbWFzayglcmlwKSwgUktNOworCXZtb3ZkIC5MZmlyc3RfbWFzayglcmlwKSwgUjFT VDsKKwl2bW92ZCAuTDMyX21hc2soJXJpcCksIFIzMjsKIAllbmNfcHJlbG9hZF9ya3IoKTsKIAog CWlucGFja19ibG9ja3MoUkwxLCBSUjEsIFJUTVAsIFJYLCBSS00pOwpAQCAtMjg3LDcgKzI5MSw3 IEBAIF9fY2FzdDVfZW5jX2JsazE2OgogCXBvcHEgJXJieDsKIAlwb3BxICVyMTU7CiAKLQl2bW92 ZHFhIC5MYnN3YXBfbWFzaywgUktNOworCXZtb3ZkcWEgLkxic3dhcF9tYXNrKCVyaXApLCBSS007 CiAKIAlvdXR1bnBhY2tfYmxvY2tzKFJSMSwgUkwxLCBSVE1QLCBSWCwgUktNKTsKIAlvdXR1bnBh Y2tfYmxvY2tzKFJSMiwgUkwyLCBSVE1QLCBSWCwgUktNKTsKQEAgLTMyNSw5ICszMjksOSBAQCBf X2Nhc3Q1X2RlY19ibGsxNjoKIAogCW1vdnEgJXJkaSwgQ1RYOwogCi0Jdm1vdmRxYSAuTGJzd2Fw X21hc2ssIFJLTTsKLQl2bW92ZCAuTGZpcnN0X21hc2ssIFIxU1Q7Ci0Jdm1vdmQgLkwzMl9tYXNr LCBSMzI7CisJdm1vdmRxYSAuTGJzd2FwX21hc2soJXJpcCksIFJLTTsKKwl2bW92ZCAuTGZpcnN0 X21hc2soJXJpcCksIFIxU1Q7CisJdm1vdmQgLkwzMl9tYXNrKCVyaXApLCBSMzI7CiAJZGVjX3By ZWxvYWRfcmtyKCk7CiAKIAlpbnBhY2tfYmxvY2tzKFJMMSwgUlIxLCBSVE1QLCBSWCwgUktNKTsK QEAgLTM1OCw3ICszNjIsNyBAQCBfX2Nhc3Q1X2RlY19ibGsxNjoKIAlyb3VuZChSTCwgUlIsIDEs IDIpOwogCXJvdW5kKFJSLCBSTCwgMCwgMSk7CiAKLQl2bW92ZHFhIC5MYnN3YXBfbWFzaywgUktN OworCXZtb3ZkcWEgLkxic3dhcF9tYXNrKCVyaXApLCBSS007CiAJcG9wcSAlcmJ4OwogCXBvcHEg JXIxNTsKIApAQCAtNTIxLDggKzUyNSw4IEBAIEVOVFJZKGNhc3Q1X2N0cl8xNndheSkKIAogCXZw Y21wZXFkIFJLUiwgUktSLCBSS1I7CiAJdnBhZGRxIFJLUiwgUktSLCBSS1I7IC8qIGxvdzogLTIs IGhpZ2g6IC0yICovCi0Jdm1vdmRxYSAuTGJzd2FwX2l2X21hc2ssIFIxU1Q7Ci0Jdm1vdmRxYSAu TGJzd2FwMTI4X21hc2ssIFJLTTsKKwl2bW92ZHFhIC5MYnN3YXBfaXZfbWFzayglcmlwKSwgUjFT VDsKKwl2bW92ZHFhIC5MYnN3YXAxMjhfbWFzayglcmlwKSwgUktNOwogCiAJLyogbG9hZCBJViBh bmQgYnl0ZXN3YXAgKi8KIAl2bW92cSAoJXJjeCksIFJYOwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYv Y3J5cHRvL2Nhc3Q2LWF2eC14ODZfNjQtYXNtXzY0LlMgYi9hcmNoL3g4Ni9jcnlwdG8vY2FzdDYt YXZ4LXg4Nl82NC1hc21fNjQuUwppbmRleCA3ZjMwYjZmMGQ3MmMuLmRhMWI3ZTRhMjNlNCAxMDA2 NDQKLS0tIGEvYXJjaC94ODYvY3J5cHRvL2Nhc3Q2LWF2eC14ODZfNjQtYXNtXzY0LlMKKysrIGIv YXJjaC94ODYvY3J5cHRvL2Nhc3Q2LWF2eC14ODZfNjQtYXNtXzY0LlMKQEAgLTk4LDE2ICs5OCwy MCBAQAogCiAKICNkZWZpbmUgbG9va3VwXzMyYml0KHNyYywgZHN0LCBvcDEsIG9wMiwgb3AzLCBp bnRlcmxlYXZlX29wLCBpbF9yZWcpIFwKLQltb3Z6YmwJCXNyYyAjIyBiaCwgICAgIFJJRDFkOyAg ICBcCi0JbW92emJsCQlzcmMgIyMgYmwsICAgICBSSUQyZDsgICAgXAotCXNocnEgJDE2LAlzcmM7 ICAgICAgICAgICAgICAgICAgICAgXAotCW1vdmwJCXMxKCwgUklEMSwgNCksIGRzdCAjIyBkOyBc Ci0Jb3AxCQlzMigsIFJJRDIsIDQpLCBkc3QgIyMgZDsgXAotCW1vdnpibAkJc3JjICMjIGJoLCAg ICAgUklEMWQ7ICAgIFwKLQltb3Z6YmwJCXNyYyAjIyBibCwgICAgIFJJRDJkOyAgICBcCi0JaW50 ZXJsZWF2ZV9vcChpbF9yZWcpOwkJCSBcCi0Jb3AyCQlzMygsIFJJRDEsIDQpLCBkc3QgIyMgZDsg XAotCW9wMwkJczQoLCBSSUQyLCA0KSwgZHN0ICMjIGQ7CisJbW92emJsCQlzcmMgIyMgYmgsICAg ICAgIFJJRDFkOyAgICBcCisJbGVhcQkJczEoJXJpcCksICAgICAgICBSSUQyOyAgICAgXAorCW1v dmwJCShSSUQyLCBSSUQxLCA0KSwgZHN0ICMjIGQ7IFwKKwltb3Z6YmwJCXNyYyAjIyBibCwgICAg ICAgUklEMmQ7ICAgIFwKKwlsZWFxCQlzMiglcmlwKSwgICAgICAgIFJJRDE7ICAgICBcCisJb3Ax CQkoUklEMSwgUklEMiwgNCksIGRzdCAjIyBkOyBcCisJc2hycSAkMTYsCXNyYzsgICAgICAgICAg ICAgICAgICAgICAgIFwKKwltb3Z6YmwJCXNyYyAjIyBiaCwgICAgIFJJRDFkOyAgICAgIFwKKwls ZWFxCQlzMyglcmlwKSwgICAgICAgIFJJRDI7ICAgICBcCisJb3AyCQkoUklEMiwgUklEMSwgNCks IGRzdCAjIyBkOyBcCisJbW92emJsCQlzcmMgIyMgYmwsICAgICBSSUQyZDsgICAgICBcCisJbGVh cQkJczQoJXJpcCksICAgICAgICBSSUQxOyAgICAgXAorCW9wMwkJKFJJRDEsIFJJRDIsIDQpLCBk c3QgIyMgZDsgXAorCWludGVybGVhdmVfb3AoaWxfcmVnKTsKIAogI2RlZmluZSBkdW1teShkKSAv KiBkbyBub3RoaW5nICovCiAKQEAgLTE5MCwxMCArMTk0LDEwIEBACiAJcW9wKFJELCBSQywgMSk7 CiAKICNkZWZpbmUgc2h1ZmZsZShtYXNrKSBcCi0JdnBzaHVmYgkJbWFzaywgICAgICAgICAgICBS S1IsIFJLUjsKKwl2cHNodWZiCQltYXNrKCVyaXApLCAgICAgICAgICAgIFJLUiwgUktSOwogCiAj ZGVmaW5lIHByZWxvYWRfcmtyKG4sIGRvX21hc2ssIG1hc2spIFwKLQl2YnJvYWRjYXN0c3MJLkwx Nl9tYXNrLCAgICAgICAgICAgICAgICBSS1I7ICAgICAgXAorCXZicm9hZGNhc3RzcwkuTDE2X21h c2soJXJpcCksICAgICAgICAgIFJLUjsgICAgICBcCiAJLyogYWRkIDE2LWJpdCByb3RhdGlvbiB0 byBrZXkgcm90YXRpb25zIChtb2QgMzIpICovIFwKIAl2cHhvcgkJKGtyK24qMTYpKENUWCksICAg ICAgICAgICBSS1IsIFJLUjsgXAogCWRvX21hc2sobWFzayk7CkBAIC0yNzUsOSArMjc5LDkgQEAg X19jYXN0Nl9lbmNfYmxrODoKIAogCW1vdnEgJXJkaSwgQ1RYOwogCi0Jdm1vdmRxYSAuTGJzd2Fw X21hc2ssIFJLTTsKLQl2bW92ZCAuTGZpcnN0X21hc2ssIFIxU1Q7Ci0Jdm1vdmQgLkwzMl9tYXNr LCBSMzI7CisJdm1vdmRxYSAuTGJzd2FwX21hc2soJXJpcCksIFJLTTsKKwl2bW92ZCAuTGZpcnN0 X21hc2soJXJpcCksIFIxU1Q7CisJdm1vdmQgLkwzMl9tYXNrKCVyaXApLCBSMzI7CiAKIAlpbnBh Y2tfYmxvY2tzKFJBMSwgUkIxLCBSQzEsIFJEMSwgUlRNUCwgUlgsIFJLUkYsIFJLTSk7CiAJaW5w YWNrX2Jsb2NrcyhSQTIsIFJCMiwgUkMyLCBSRDIsIFJUTVAsIFJYLCBSS1JGLCBSS00pOwpAQCAt MzAxLDcgKzMwNSw3IEBAIF9fY2FzdDZfZW5jX2Jsazg6CiAJcG9wcSAlcmJ4OwogCXBvcHEgJXIx NTsKIAotCXZtb3ZkcWEgLkxic3dhcF9tYXNrLCBSS007CisJdm1vdmRxYSAuTGJzd2FwX21hc2so JXJpcCksIFJLTTsKIAogCW91dHVucGFja19ibG9ja3MoUkExLCBSQjEsIFJDMSwgUkQxLCBSVE1Q LCBSWCwgUktSRiwgUktNKTsKIAlvdXR1bnBhY2tfYmxvY2tzKFJBMiwgUkIyLCBSQzIsIFJEMiwg UlRNUCwgUlgsIFJLUkYsIFJLTSk7CkBAIC0zMjMsOSArMzI3LDkgQEAgX19jYXN0Nl9kZWNfYmxr ODoKIAogCW1vdnEgJXJkaSwgQ1RYOwogCi0Jdm1vdmRxYSAuTGJzd2FwX21hc2ssIFJLTTsKLQl2 bW92ZCAuTGZpcnN0X21hc2ssIFIxU1Q7Ci0Jdm1vdmQgLkwzMl9tYXNrLCBSMzI7CisJdm1vdmRx YSAuTGJzd2FwX21hc2soJXJpcCksIFJLTTsKKwl2bW92ZCAuTGZpcnN0X21hc2soJXJpcCksIFIx U1Q7CisJdm1vdmQgLkwzMl9tYXNrKCVyaXApLCBSMzI7CiAKIAlpbnBhY2tfYmxvY2tzKFJBMSwg UkIxLCBSQzEsIFJEMSwgUlRNUCwgUlgsIFJLUkYsIFJLTSk7CiAJaW5wYWNrX2Jsb2NrcyhSQTIs IFJCMiwgUkMyLCBSRDIsIFJUTVAsIFJYLCBSS1JGLCBSS00pOwpAQCAtMzQ5LDcgKzM1Myw3IEBA IF9fY2FzdDZfZGVjX2Jsazg6CiAJcG9wcSAlcmJ4OwogCXBvcHEgJXIxNTsKIAotCXZtb3ZkcWEg Lkxic3dhcF9tYXNrLCBSS007CisJdm1vdmRxYSAuTGJzd2FwX21hc2soJXJpcCksIFJLTTsKIAlv dXR1bnBhY2tfYmxvY2tzKFJBMSwgUkIxLCBSQzEsIFJEMSwgUlRNUCwgUlgsIFJLUkYsIFJLTSk7 CiAJb3V0dW5wYWNrX2Jsb2NrcyhSQTIsIFJCMiwgUkMyLCBSRDIsIFJUTVAsIFJYLCBSS1JGLCBS S00pOwogCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9jcnlwdG8vZGVzM19lZGUtYXNtXzY0LlMgYi9h cmNoL3g4Ni9jcnlwdG8vZGVzM19lZGUtYXNtXzY0LlMKaW5kZXggOGU0OWNlMTE3NDk0Li40YmJk M2VjNzhkZjUgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2NyeXB0by9kZXMzX2VkZS1hc21fNjQuUwor KysgYi9hcmNoL3g4Ni9jcnlwdG8vZGVzM19lZGUtYXNtXzY0LlMKQEAgLTEzOCwyMSArMTM4LDI5 IEBACiAJbW92emJsIFJXMGJsLCBSVDJkOyBcCiAJbW92emJsIFJXMGJoLCBSVDNkOyBcCiAJc2hy cSAkMTYsIFJXMDsgXAotCW1vdnEgczgoLCBSVDAsIDgpLCBSVDA7IFwKLQl4b3JxIHM2KCwgUlQx LCA4KSwgdG87IFwKKwlsZWFxIHM4KCVyaXApLCBSVzE7IFwKKwltb3ZxIChSVzEsIFJUMCwgOCks IFJUMDsgXAorCWxlYXEgczYoJXJpcCksIFJXMTsgXAorCXhvcnEgKFJXMSwgUlQxLCA4KSwgdG87 IFwKIAltb3Z6YmwgUlcwYmwsIFJMMWQ7IFwKIAltb3Z6YmwgUlcwYmgsIFJUMWQ7IFwKIAlzaHJs ICQxNiwgUlcwZDsgXAotCXhvcnEgczQoLCBSVDIsIDgpLCBSVDA7IFwKLQl4b3JxIHMyKCwgUlQz LCA4KSwgdG87IFwKKwlsZWFxIHM0KCVyaXApLCBSVzE7IFwKKwl4b3JxIChSVzEsIFJUMiwgOCks IFJUMDsgXAorCWxlYXEgczIoJXJpcCksIFJXMTsgXAorCXhvcnEgKFJXMSwgUlQzLCA4KSwgdG87 IFwKIAltb3Z6YmwgUlcwYmwsIFJUMmQ7IFwKIAltb3Z6YmwgUlcwYmgsIFJUM2Q7IFwKLQl4b3Jx IHM3KCwgUkwxLCA4KSwgUlQwOyBcCi0JeG9ycSBzNSgsIFJUMSwgOCksIHRvOyBcCi0JeG9ycSBz MygsIFJUMiwgOCksIFJUMDsgXAorCWxlYXEgczcoJXJpcCksIFJXMTsgXAorCXhvcnEgKFJXMSwg UkwxLCA4KSwgUlQwOyBcCisJbGVhcSBzNSglcmlwKSwgUlcxOyBcCisJeG9ycSAoUlcxLCBSVDEs IDgpLCB0bzsgXAorCWxlYXEgczMoJXJpcCksIFJXMTsgXAorCXhvcnEgKFJXMSwgUlQyLCA4KSwg UlQwOyBcCiAJbG9hZF9uZXh0X2tleShuLCBSVzApOyBcCiAJeG9ycSBSVDAsIHRvOyBcCi0JeG9y cSBzMSgsIFJUMywgOCksIHRvOyBcCisJbGVhcSBzMSglcmlwKSwgUlcxOyBcCisJeG9ycSAoUlcx LCBSVDMsIDgpLCB0bzsgXAogCiAjZGVmaW5lIGxvYWRfbmV4dF9rZXkobiwgUld4KSBcCiAJbW92 cSAoKChuKSArIDEpICogOCkoQ1RYKSwgUld4OwpAQCAtMzY0LDY1ICszNzIsODkgQEAgRU5EUFJP QyhkZXMzX2VkZV94ODZfNjRfY3J5cHRfYmxrKQogCW1vdnpibCBSVzBibCwgUlQzZDsgXAogCW1v dnpibCBSVzBiaCwgUlQxZDsgXAogCXNocnEgJDE2LCBSVzA7IFwKLQl4b3JxIHM4KCwgUlQzLCA4 KSwgdG8jIzA7IFwKLQl4b3JxIHM2KCwgUlQxLCA4KSwgdG8jIzA7IFwKKwlsZWFxIHM4KCVyaXAp LCBSVDI7IFwKKwl4b3JxIChSVDIsIFJUMywgOCksIHRvIyMwOyBcCisJbGVhcSBzNiglcmlwKSwg UlQyOyBcCisJeG9ycSAoUlQyLCBSVDEsIDgpLCB0byMjMDsgXAogCW1vdnpibCBSVzBibCwgUlQz ZDsgXAogCW1vdnpibCBSVzBiaCwgUlQxZDsgXAogCXNocnEgJDE2LCBSVzA7IFwKLQl4b3JxIHM0 KCwgUlQzLCA4KSwgdG8jIzA7IFwKLQl4b3JxIHMyKCwgUlQxLCA4KSwgdG8jIzA7IFwKKwlsZWFx IHM0KCVyaXApLCBSVDI7IFwKKwl4b3JxIChSVDIsIFJUMywgOCksIHRvIyMwOyBcCisJbGVhcSBz MiglcmlwKSwgUlQyOyBcCisJeG9ycSAoUlQyLCBSVDEsIDgpLCB0byMjMDsgXAogCW1vdnpibCBS VzBibCwgUlQzZDsgXAogCW1vdnpibCBSVzBiaCwgUlQxZDsgXAogCXNocmwgJDE2LCBSVzBkOyBc Ci0JeG9ycSBzNygsIFJUMywgOCksIHRvIyMwOyBcCi0JeG9ycSBzNSgsIFJUMSwgOCksIHRvIyMw OyBcCisJbGVhcSBzNyglcmlwKSwgUlQyOyBcCisJeG9ycSAoUlQyLCBSVDMsIDgpLCB0byMjMDsg XAorCWxlYXEgczUoJXJpcCksIFJUMjsgXAorCXhvcnEgKFJUMiwgUlQxLCA4KSwgdG8jIzA7IFwK IAltb3Z6YmwgUlcwYmwsIFJUM2Q7IFwKIAltb3Z6YmwgUlcwYmgsIFJUMWQ7IFwKIAlsb2FkX25l eHRfa2V5KG4sIFJXMCk7IFwKLQl4b3JxIHMzKCwgUlQzLCA4KSwgdG8jIzA7IFwKLQl4b3JxIHMx KCwgUlQxLCA4KSwgdG8jIzA7IFwKKwlsZWFxIHMzKCVyaXApLCBSVDI7IFwKKwl4b3JxIChSVDIs IFJUMywgOCksIHRvIyMwOyBcCisJbGVhcSBzMSglcmlwKSwgUlQyOyBcCisJeG9ycSAoUlQyLCBS VDEsIDgpLCB0byMjMDsgXAogCQl4b3JxIGZyb20jIzEsIFJXMTsgXAogCQltb3Z6YmwgUlcxYmws IFJUM2Q7IFwKIAkJbW92emJsIFJXMWJoLCBSVDFkOyBcCiAJCXNocnEgJDE2LCBSVzE7IFwKLQkJ eG9ycSBzOCgsIFJUMywgOCksIHRvIyMxOyBcCi0JCXhvcnEgczYoLCBSVDEsIDgpLCB0byMjMTsg XAorCQlsZWFxIHM4KCVyaXApLCBSVDI7IFwKKwkJeG9ycSAoUlQyLCBSVDMsIDgpLCB0byMjMTsg XAorCQlsZWFxIHM2KCVyaXApLCBSVDI7IFwKKwkJeG9ycSAoUlQyLCBSVDEsIDgpLCB0byMjMTsg XAogCQltb3Z6YmwgUlcxYmwsIFJUM2Q7IFwKIAkJbW92emJsIFJXMWJoLCBSVDFkOyBcCiAJCXNo cnEgJDE2LCBSVzE7IFwKLQkJeG9ycSBzNCgsIFJUMywgOCksIHRvIyMxOyBcCi0JCXhvcnEgczIo LCBSVDEsIDgpLCB0byMjMTsgXAorCQlsZWFxIHM0KCVyaXApLCBSVDI7IFwKKwkJeG9ycSAoUlQy LCBSVDMsIDgpLCB0byMjMTsgXAorCQlsZWFxIHMyKCVyaXApLCBSVDI7IFwKKwkJeG9ycSAoUlQy LCBSVDEsIDgpLCB0byMjMTsgXAogCQltb3Z6YmwgUlcxYmwsIFJUM2Q7IFwKIAkJbW92emJsIFJX MWJoLCBSVDFkOyBcCiAJCXNocmwgJDE2LCBSVzFkOyBcCi0JCXhvcnEgczcoLCBSVDMsIDgpLCB0 byMjMTsgXAotCQl4b3JxIHM1KCwgUlQxLCA4KSwgdG8jIzE7IFwKKwkJbGVhcSBzNyglcmlwKSwg UlQyOyBcCisJCXhvcnEgKFJUMiwgUlQzLCA4KSwgdG8jIzE7IFwKKwkJbGVhcSBzNSglcmlwKSwg UlQyOyBcCisJCXhvcnEgKFJUMiwgUlQxLCA4KSwgdG8jIzE7IFwKIAkJbW92emJsIFJXMWJsLCBS VDNkOyBcCiAJCW1vdnpibCBSVzFiaCwgUlQxZDsgXAogCQlkb19tb3ZxKFJXMCwgUlcxKTsgXAot CQl4b3JxIHMzKCwgUlQzLCA4KSwgdG8jIzE7IFwKLQkJeG9ycSBzMSgsIFJUMSwgOCksIHRvIyMx OyBcCisJCWxlYXEgczMoJXJpcCksIFJUMjsgXAorCQl4b3JxIChSVDIsIFJUMywgOCksIHRvIyMx OyBcCisJCWxlYXEgczEoJXJpcCksIFJUMjsgXAorCQl4b3JxIChSVDIsIFJUMSwgOCksIHRvIyMx OyBcCiAJCQl4b3JxIGZyb20jIzIsIFJXMjsgXAogCQkJbW92emJsIFJXMmJsLCBSVDNkOyBcCiAJ CQltb3Z6YmwgUlcyYmgsIFJUMWQ7IFwKIAkJCXNocnEgJDE2LCBSVzI7IFwKLQkJCXhvcnEgczgo LCBSVDMsIDgpLCB0byMjMjsgXAotCQkJeG9ycSBzNigsIFJUMSwgOCksIHRvIyMyOyBcCisJCQls ZWFxIHM4KCVyaXApLCBSVDI7IFwKKwkJCXhvcnEgKFJUMiwgUlQzLCA4KSwgdG8jIzI7IFwKKwkJ CWxlYXEgczYoJXJpcCksIFJUMjsgXAorCQkJeG9ycSAoUlQyLCBSVDEsIDgpLCB0byMjMjsgXAog CQkJbW92emJsIFJXMmJsLCBSVDNkOyBcCiAJCQltb3Z6YmwgUlcyYmgsIFJUMWQ7IFwKIAkJCXNo cnEgJDE2LCBSVzI7IFwKLQkJCXhvcnEgczQoLCBSVDMsIDgpLCB0byMjMjsgXAotCQkJeG9ycSBz MigsIFJUMSwgOCksIHRvIyMyOyBcCisJCQlsZWFxIHM0KCVyaXApLCBSVDI7IFwKKwkJCXhvcnEg KFJUMiwgUlQzLCA4KSwgdG8jIzI7IFwKKwkJCWxlYXEgczIoJXJpcCksIFJUMjsgXAorCQkJeG9y cSAoUlQyLCBSVDEsIDgpLCB0byMjMjsgXAogCQkJbW92emJsIFJXMmJsLCBSVDNkOyBcCiAJCQlt b3Z6YmwgUlcyYmgsIFJUMWQ7IFwKIAkJCXNocmwgJDE2LCBSVzJkOyBcCi0JCQl4b3JxIHM3KCwg UlQzLCA4KSwgdG8jIzI7IFwKLQkJCXhvcnEgczUoLCBSVDEsIDgpLCB0byMjMjsgXAorCQkJbGVh cSBzNyglcmlwKSwgUlQyOyBcCisJCQl4b3JxIChSVDIsIFJUMywgOCksIHRvIyMyOyBcCisJCQls ZWFxIHM1KCVyaXApLCBSVDI7IFwKKwkJCXhvcnEgKFJUMiwgUlQxLCA4KSwgdG8jIzI7IFwKIAkJ CW1vdnpibCBSVzJibCwgUlQzZDsgXAogCQkJbW92emJsIFJXMmJoLCBSVDFkOyBcCiAJCQlkb19t b3ZxKFJXMCwgUlcyKTsgXAotCQkJeG9ycSBzMygsIFJUMywgOCksIHRvIyMyOyBcCi0JCQl4b3Jx IHMxKCwgUlQxLCA4KSwgdG8jIzI7CisJCQlsZWFxIHMzKCVyaXApLCBSVDI7IFwKKwkJCXhvcnEg KFJUMiwgUlQzLCA4KSwgdG8jIzI7IFwKKwkJCWxlYXEgczEoJXJpcCksIFJUMjsgXAorCQkJeG9y cSAoUlQyLCBSVDEsIDgpLCB0byMjMjsKIAogI2RlZmluZSBfX21vdnEoc3JjLCBkc3QpIFwKIAlt b3ZxIHNyYywgZHN0OwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvY3J5cHRvL2doYXNoLWNsbXVsbmkt aW50ZWxfYXNtLlMgYi9hcmNoL3g4Ni9jcnlwdG8vZ2hhc2gtY2xtdWxuaS1pbnRlbF9hc20uUwpp bmRleCBmOTQzNzVhOGRjZDEuLmQ1NmEyODEyMjFmYiAxMDA2NDQKLS0tIGEvYXJjaC94ODYvY3J5 cHRvL2doYXNoLWNsbXVsbmktaW50ZWxfYXNtLlMKKysrIGIvYXJjaC94ODYvY3J5cHRvL2doYXNo LWNsbXVsbmktaW50ZWxfYXNtLlMKQEAgLTk3LDcgKzk3LDcgQEAgRU5UUlkoY2xtdWxfZ2hhc2hf bXVsKQogCUZSQU1FX0JFR0lOCiAJbW92dXBzICglcmRpKSwgREFUQQogCW1vdnVwcyAoJXJzaSks IFNIQVNICi0JbW92YXBzIC5MYnN3YXBfbWFzaywgQlNXQVAKKwltb3ZhcHMgLkxic3dhcF9tYXNr KCVyaXApLCBCU1dBUAogCVBTSFVGQl9YTU0gQlNXQVAgREFUQQogCWNhbGwgX19jbG11bF9nZjEy OG11bF9ibGUKIAlQU0hVRkJfWE1NIEJTV0FQIERBVEEKQEAgLTExNCw3ICsxMTQsNyBAQCBFTlRS WShjbG11bF9naGFzaF91cGRhdGUpCiAJRlJBTUVfQkVHSU4KIAljbXAgJDE2LCAlcmR4CiAJamIg Lkx1cGRhdGVfanVzdF9yZXQJIyBjaGVjayBsZW5ndGgKLQltb3ZhcHMgLkxic3dhcF9tYXNrLCBC U1dBUAorCW1vdmFwcyAuTGJzd2FwX21hc2soJXJpcCksIEJTV0FQCiAJbW92dXBzICglcmRpKSwg REFUQQogCW1vdnVwcyAoJXJjeCksIFNIQVNICiAJUFNIVUZCX1hNTSBCU1dBUCBEQVRBCmRpZmYg LS1naXQgYS9hcmNoL3g4Ni9jcnlwdG8vZ2x1ZV9oZWxwZXItYXNtLWF2eC5TIGIvYXJjaC94ODYv Y3J5cHRvL2dsdWVfaGVscGVyLWFzbS1hdnguUwppbmRleCAwMmVlMjMwOGZiMzguLjhhNDlhYjE2 OTllZiAxMDA2NDQKLS0tIGEvYXJjaC94ODYvY3J5cHRvL2dsdWVfaGVscGVyLWFzbS1hdnguUwor KysgYi9hcmNoL3g4Ni9jcnlwdG8vZ2x1ZV9oZWxwZXItYXNtLWF2eC5TCkBAIC01NCw3ICs1NCw3 IEBACiAjZGVmaW5lIGxvYWRfY3RyXzh3YXkoaXYsIGJzd2FwLCB4MCwgeDEsIHgyLCB4MywgeDQs IHg1LCB4NiwgeDcsIHQwLCB0MSwgdDIpIFwKIAl2cGNtcGVxZCB0MCwgdDAsIHQwOyBcCiAJdnBz cmxkcSAkOCwgdDAsIHQwOyAvKiBsb3c6IC0xLCBoaWdoOiAwICovIFwKLQl2bW92ZHFhIGJzd2Fw LCB0MTsgXAorCXZtb3ZkcWEgYnN3YXAoJXJpcCksIHQxOyBcCiAJXAogCS8qIGxvYWQgSVYgYW5k IGJ5dGVzd2FwICovIFwKIAl2bW92ZHF1IChpdiksIHg3OyBcCkBAIC05OSw3ICs5OSw3IEBACiAK ICNkZWZpbmUgbG9hZF94dHNfOHdheShpdiwgc3JjLCBkc3QsIHgwLCB4MSwgeDIsIHgzLCB4NCwg eDUsIHg2LCB4NywgdGl2LCB0MCwgXAogCQkgICAgICB0MSwgeHRzX2dmMTI4bXVsX2FuZF9zaGwx X21hc2spIFwKLQl2bW92ZHFhIHh0c19nZjEyOG11bF9hbmRfc2hsMV9tYXNrLCB0MDsgXAorCXZt b3ZkcWEgeHRzX2dmMTI4bXVsX2FuZF9zaGwxX21hc2soJXJpcCksIHQwOyBcCiAJXAogCS8qIGxv YWQgSVYgKi8gXAogCXZtb3ZkcXUgKGl2KSwgdGl2OyBcCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9j cnlwdG8vZ2x1ZV9oZWxwZXItYXNtLWF2eDIuUyBiL2FyY2gveDg2L2NyeXB0by9nbHVlX2hlbHBl ci1hc20tYXZ4Mi5TCmluZGV4IGE1M2FjMTFkZDM4NS4uZTA0YzgwNDY3YmQyIDEwMDY0NAotLS0g YS9hcmNoL3g4Ni9jcnlwdG8vZ2x1ZV9oZWxwZXItYXNtLWF2eDIuUworKysgYi9hcmNoL3g4Ni9j cnlwdG8vZ2x1ZV9oZWxwZXItYXNtLWF2eDIuUwpAQCAtNjcsNyArNjcsNyBAQAogCXZtb3ZkcXUg KGl2KSwgdDJ4OyBcCiAJdm1vdmRxYSB0MngsIHQzeDsgXAogCWluY19sZTEyOCh0MngsIHQweCwg dDF4KTsgXAotCXZicm9hZGNhc3RpMTI4IGJzd2FwLCB0MTsgXAorCXZicm9hZGNhc3RpMTI4IGJz d2FwKCVyaXApLCB0MTsgXAogCXZpbnNlcnRpMTI4ICQxLCB0MngsIHQzLCB0MjsgLyogYWI6IGxl MCA7IGNkOiBsZTEgKi8gXAogCXZwc2h1ZmIgdDEsIHQyLCB4MDsgXAogCVwKQEAgLTEyNCwxMyAr MTI0LDEzIEBACiAJCSAgICAgICB0aXZ4LCB0MCwgdDB4LCB0MSwgdDF4LCB0MiwgdDJ4LCB0Mywg XAogCQkgICAgICAgeHRzX2dmMTI4bXVsX2FuZF9zaGwxX21hc2tfMCwgXAogCQkgICAgICAgeHRz X2dmMTI4bXVsX2FuZF9zaGwxX21hc2tfMSkgXAotCXZicm9hZGNhc3RpMTI4IHh0c19nZjEyOG11 bF9hbmRfc2hsMV9tYXNrXzAsIHQxOyBcCisJdmJyb2FkY2FzdGkxMjggeHRzX2dmMTI4bXVsX2Fu ZF9zaGwxX21hc2tfMCglcmlwKSwgdDE7IFwKIAlcCiAJLyogbG9hZCBJViBhbmQgY29uc3RydWN0 IHNlY29uZCBJViAqLyBcCiAJdm1vdmRxdSAoaXYpLCB0aXZ4OyBcCiAJdm1vdmRxYSB0aXZ4LCB0 MHg7IFwKIAlnZjEyOG11bF94X2JsZSh0aXZ4LCB0MXgsIHQyeCk7IFwKLQl2YnJvYWRjYXN0aTEy OCB4dHNfZ2YxMjhtdWxfYW5kX3NobDFfbWFza18xLCB0MjsgXAorCXZicm9hZGNhc3RpMTI4IHh0 c19nZjEyOG11bF9hbmRfc2hsMV9tYXNrXzEoJXJpcCksIHQyOyBcCiAJdmluc2VydGkxMjggJDEs IHRpdngsIHQwLCB0aXY7IFwKIAl2cHhvciAoMCozMikoc3JjKSwgdGl2LCB4MDsgXAogCXZtb3Zk cXUgdGl2LCAoMCozMikoZHN0KTsgXAotLSAKMi4xNS4wLnJjMC4yNzEuZzM2YjY2OWVkY2MtZ29v ZwoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1k ZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54 ZW4ub3JnL3hlbi1kZXZlbAo=