From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Jan Beulich" Subject: [PATCH v2 05/17] x86emul: support FMA4 insns Date: Thu, 14 Sep 2017 09:14:10 -0600 Message-ID: <59BAB8E2020000780017B393@prv-mh.provo.novell.com> References: <59BAB38A020000780017B34E@prv-mh.provo.novell.com> <59BAB38A020000780017B34E@prv-mh.provo.novell.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta5.messagelabs.com ([195.245.231.135]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dsVqJ-0002hj-K9 for xen-devel@lists.xenproject.org; Thu, 14 Sep 2017 15:14:15 +0000 In-Reply-To: <59BAB38A020000780017B34E@prv-mh.provo.novell.com> Content-Disposition: inline List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel Cc: George Dunlap , Andrew Cooper List-Id: xen-devel@lists.xenproject.org U2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgoKLS0tIGEvLmdp dGlnbm9yZQorKysgYi8uZ2l0aWdub3JlCkBAIC0yMjYsNiArMjI2LDcgQEAKIHRvb2xzL3Rlc3Rz L3g4Nl9lbXVsYXRvci9hc20KIHRvb2xzL3Rlc3RzL3g4Nl9lbXVsYXRvci9hdngqLltjaF0KIHRv b2xzL3Rlc3RzL3g4Nl9lbXVsYXRvci9ibG93ZmlzaC5oCit0b29scy90ZXN0cy94ODZfZW11bGF0 b3IvZm1hKi5bY2hdCiB0b29scy90ZXN0cy94ODZfZW11bGF0b3Ivc3NlKi5bY2hdCiB0b29scy90 ZXN0cy94ODZfZW11bGF0b3IvdGVzdF94ODZfZW11bGF0b3IKIHRvb2xzL3Rlc3RzL3g4Nl9lbXVs YXRvci94ODZfZW11bGF0ZQotLS0gYS90b29scy90ZXN0cy94ODZfZW11bGF0b3IvTWFrZWZpbGUK KysrIGIvdG9vbHMvdGVzdHMveDg2X2VtdWxhdG9yL01ha2VmaWxlCkBAIC0xMiw3ICsxMiw4IEBA IHJ1bjogJChUQVJHRVQpCiAJLi8kKFRBUkdFVCkKIAogU0lNRCA6PSBzc2Ugc3NlMiBzc2U0IGF2 eAotVEVTVENBU0VTIDo9IGJsb3dmaXNoICQoU0lNRCkgc3NlMi1hdnggc3NlNC1hdngKK0ZNQSA6 PSBmbWE0CitURVNUQ0FTRVMgOj0gYmxvd2Zpc2ggJChTSU1EKSBzc2UyLWF2eCBzc2U0LWF2eCAk KEZNQSkKIAogYmxvd2Zpc2gtY2ZsYWdzIDo9ICIiCiBibG93ZmlzaC1jZmxhZ3MteDg2XzMyIDo9 ICItbW5vLWFjY3VtdWxhdGUtb3V0Z29pbmctYXJncyAtRHN0YXRpYz0iCkBAIC0yOSw2ICszMCw5 IEBAIHNzZTQtZmx0cyA6PSAkKHNzZTItZmx0cykKIGF2eC12ZWNzIDo9IDE2IDMyCiBhdngtaW50 cyA6PQogYXZ4LWZsdHMgOj0gNCA4CitmbWE0LXZlY3MgOj0gJChhdngtdmVjcykKK2ZtYTQtaW50 cyA6PQorZm1hNC1mbHRzIDo9ICQoYXZ4LWZsdHMpCiAKICMgV2hlbiBjb252ZXJ0aW5nIFNTRSB0 byBBVlgsIGhhdmUgdGhlIGNvbXBpbGVyIGF2b2lkIFhNTTAgdG8gd2lkZW4KICMgY292ZXJhZ2Ug b2YgdGhlIFZFWC52dnZ2IGNoZWNrcyBpbiB0aGUgZW11bGF0b3IuIFdlIG11c3Qgbm90IGRvIHRo aXMsCkBAIC01OCw3ICs2Miw3IEBAICQoMSktYXZ4LWNmbGFncyA6PSBcCiAJICAgICItRF8kKHZl Yyl1JChpbnQpIC1tJCgxKSAkKHNzZTJhdngtJCgxKSkgLU9zIC1EVkVDX1NJWkU9JCh2ZWMpIC1E VUlOVF9TSVpFPSQoaW50KSIpKQogZW5kZWYKIAotJChmb3JlYWNoIGZsYXZvciwkKFNJTUQpLCQo ZXZhbCAkKGNhbGwgc2ltZC1kZWZzLCQoZmxhdm9yKSkpKQorJChmb3JlYWNoIGZsYXZvciwkKFNJ TUQpICQoRk1BKSwkKGV2YWwgJChjYWxsIHNpbWQtZGVmcywkKGZsYXZvcikpKSkKIAogJChhZGRz dWZmaXggLmgsJChURVNUQ0FTRVMpKTogJS5oOiAlLmMgdGVzdGNhc2UubWsgTWFrZWZpbGUKIAly bSAtZiAkQC5uZXcgJCouYmluCkBAIC03Nyw2ICs4MSwxMSBAQCAkKGFkZHN1ZmZpeCAuaCwkKFRF U1RDQVNFUykpOiAlLmg6ICUuYyB0CiAkKGFkZHN1ZmZpeCAuYywkKFNJTUQpKSAkKGFkZHN1ZmZp eCAtYXZ4LmMsJChmaWx0ZXIgc3NlJSwkKFNJTUQpKSk6CiAJbG4gLXNmIHNpbWQuYyAkQAogCisk KGFkZHN1ZmZpeCAuYywkKEZNQSkpOgorCWxuIC1zZiBzaW1kLWZtYS5jICRACisKKyQoYWRkc3Vm Zml4IC5vLCQoU0lNRCkgJChGTUEpKSAkKGFkZHN1ZmZpeCAtYXZ4Lm8sJChmaWx0ZXIgc3NlJSwk KFNJTUQpKSk6IHNpbWQuaAorCiAkKFRBUkdFVCk6IHg4Nl9lbXVsYXRlLm8gdGVzdF94ODZfZW11 bGF0b3IubwogCSQoSE9TVENDKSAtbyAkQCAkXgogCi0tLSBhL3Rvb2xzL3Rlc3RzL3g4Nl9lbXVs YXRvci9zaW1kLmMKKysrIGIvdG9vbHMvdGVzdHMveDg2X2VtdWxhdG9yL3NpbWQuYwpAQCAtMSw3 MSArMSw2IEBACi0jaW5jbHVkZSA8c3RkYm9vbC5oPgorI2luY2x1ZGUgInNpbWQuaCIKIAotYXNt ICgKLSAgICAiXHQudGV4dFxuIgotICAgICJcdC5nbG9ibCBfc3RhcnRcbiIKLSAgICAiX3N0YXJ0 OlxuIgotI2lmIGRlZmluZWQoX19pMzg2X18pICYmIFZFQ19TSVpFID09IDE2Ci0gICAgIlx0cHVz aCAlZWJwXG4iCi0gICAgIlx0bW92ICVlc3AsJWVicFxuIgotICAgICJcdGFuZCAkfjB4ZiwlZXNw XG4iCi0gICAgIlx0Y2FsbCBzaW1kX3Rlc3RcbiIKLSAgICAiXHRsZWF2ZVxuIgotICAgICJcdHJl dCIKLSNlbHNlCi0gICAgIlx0am1wIHNpbWRfdGVzdCIKLSNlbmRpZgotICAgICk7Ci0KLXR5cGVk ZWYKLSNpZiBkZWZpbmVkKElOVF9TSVpFKQotIyBkZWZpbmUgRUxFTV9TSVpFIElOVF9TSVpFCi1z aWduZWQgaW50Ci0jIGlmIElOVF9TSVpFID09IDEKLSMgIGRlZmluZSBNT0RFIFFJCi0jIGVsaWYg SU5UX1NJWkUgPT0gMgotIyAgZGVmaW5lIE1PREUgSEkKLSMgZWxpZiBJTlRfU0laRSA9PSA0Ci0j ICBkZWZpbmUgTU9ERSBTSQotIyBlbGlmIElOVF9TSVpFID09IDgKLSMgIGRlZmluZSBNT0RFIERJ Ci0jIGVuZGlmCi0jZWxpZiBkZWZpbmVkKFVJTlRfU0laRSkKLSMgZGVmaW5lIEVMRU1fU0laRSBV SU5UX1NJWkUKLXVuc2lnbmVkIGludAotIyBpZiBVSU5UX1NJWkUgPT0gMQotIyAgZGVmaW5lIE1P REUgUUkKLSMgZWxpZiBVSU5UX1NJWkUgPT0gMgotIyAgZGVmaW5lIE1PREUgSEkKLSMgZWxpZiBV SU5UX1NJWkUgPT0gNAotIyAgZGVmaW5lIE1PREUgU0kKLSMgZWxpZiBVSU5UX1NJWkUgPT0gOAot IyAgZGVmaW5lIE1PREUgREkKLSMgZW5kaWYKLSNlbGlmIGRlZmluZWQoRkxPQVRfU0laRSkKLWZs b2F0Ci0jIGRlZmluZSBFTEVNX1NJWkUgRkxPQVRfU0laRQotIyBpZiBGTE9BVF9TSVpFID09IDQK LSMgIGRlZmluZSBNT0RFIFNGCi0jIGVsaWYgRkxPQVRfU0laRSA9PSA4Ci0jICBkZWZpbmUgTU9E RSBERgotIyBlbmRpZgotI2VuZGlmCi0jaWZuZGVmIFZFQ19TSVpFCi0jIGRlZmluZSBWRUNfU0la RSBFTEVNX1NJWkUKLSNlbmRpZgotX19hdHRyaWJ1dGVfXygobW9kZShNT0RFKSwgdmVjdG9yX3Np emUoVkVDX1NJWkUpKSkgdmVjX3Q7Ci0KLSNkZWZpbmUgRUxFTV9DT1VOVCAoVkVDX1NJWkUgLyBF TEVNX1NJWkUpCi0KLXR5cGVkZWYgdW5zaWduZWQgaW50IF9fYXR0cmlidXRlX18oKG1vZGUoUUkp LCB2ZWN0b3Jfc2l6ZShWRUNfU0laRSkpKSBieXRlX3ZlY190OwotCi0vKiBWYXJpb3VzIGJ1aWx0 aW5zIHdhbnQgcGxhaW4gY2hhciAvIGludCAvIGxvbmcgbG9uZyB2ZWN0b3IgdHlwZXMgLi4uICov Ci10eXBlZGVmIGNoYXIgX19hdHRyaWJ1dGVfXygodmVjdG9yX3NpemUoVkVDX1NJWkUpKSkgdnFp X3Q7Ci10eXBlZGVmIHNob3J0IF9fYXR0cmlidXRlX18oKHZlY3Rvcl9zaXplKFZFQ19TSVpFKSkp IHZoaV90OwotdHlwZWRlZiBpbnQgX19hdHRyaWJ1dGVfXygodmVjdG9yX3NpemUoVkVDX1NJWkUp KSkgdnNpX3Q7Ci0jaWYgVkVDX1NJWkUgPj0gOAotdHlwZWRlZiBsb25nIGxvbmcgX19hdHRyaWJ1 dGVfXygodmVjdG9yX3NpemUoVkVDX1NJWkUpKSkgdmRpX3Q7Ci0jZW5kaWYKK0VOVFJZKHNpbWRf dGVzdCk7CiAKICNpZiBWRUNfU0laRSA9PSA4ICYmIGRlZmluZWQoX19TU0VfXykKICMgZGVmaW5l IHRvX2Jvb2woY21wKSAoX19idWlsdGluX2lhMzJfcG1vdm1za2IoY21wKSA9PSAweGZmKQpAQCAt NDE4LDEzICszNTMsNiBAQCBzdGF0aWMgaW5saW5lIGJvb2wgX3RvX2Jvb2woYnl0ZV92ZWNfdCBi CiAjIGVuZGlmCiAjZW5kaWYKIAotLyoKLSAqIFN1cHByZXNzIHZhbHVlIHByb3BhZ2F0aW9uIGJ5 IHRoZSBjb21waWxlciwgcHJldmVudGluZyB1bndhbnRlZAotICogb3B0aW1pemF0aW9uLiBUaGlz IGF0IG9uY2UgbWFrZXMgdGhlIGNvbXBpbGVyIHVzZSBtZW1vcnkgb3BlcmFuZHMKLSAqIG1vcmUg b2Z0ZW4sIHdoaWNoIGZvciBvdXIgcHVycG9zZXMgaXMgdGhlIG1vcmUgaW50ZXJlc3RpbmcgY2Fz ZS4KLSAqLwotI2RlZmluZSB0b3VjaCh2YXIpIGFzbSB2b2xhdGlsZSAoICIiIDogIittIiAodmFy KSApCi0KIGludCBzaW1kX3Rlc3Qodm9pZCkKIHsKICAgICB1bnNpZ25lZCBpbnQgaSwgajsKLS0t IC9kZXYvbnVsbAorKysgYi90b29scy90ZXN0cy94ODZfZW11bGF0b3Ivc2ltZC5oCkBAIC0wLDAg KzEsNzggQEAKKyNpbmNsdWRlIDxzdGRib29sLmg+CisKKyNpZiBkZWZpbmVkKF9faTM4Nl9fKSAm JiBWRUNfU0laRSA9PSAxNgorIyBkZWZpbmUgRU5UUlkobmFtZSkgXAorYXNtICggIlx0LnRleHRc biIgXAorICAgICAgIlx0Lmdsb2JsIF9zdGFydFxuIiBcCisgICAgICAiX3N0YXJ0OlxuIiBcCisg ICAgICAiXHRwdXNoICVlYnBcbiIgXAorICAgICAgIlx0bW92ICVlc3AsJWVicFxuIiBcCisgICAg ICAiXHRhbmQgJH4weGYsJWVzcFxuIiBcCisgICAgICAiXHRjYWxsICIgI25hbWUgIlxuIiBcCisg ICAgICAiXHRsZWF2ZVxuIiBcCisgICAgICAiXHRyZXQiICkKKyNlbHNlCisjIGRlZmluZSBFTlRS WShuYW1lKSBcCithc20gKCAiXHQudGV4dFxuIiBcCisgICAgICAiXHQuZ2xvYmwgX3N0YXJ0XG4i IFwKKyAgICAgICJfc3RhcnQ6XG4iIFwKKyAgICAgICJcdGptcCAiICNuYW1lICkKKyNlbmRpZgor Cit0eXBlZGVmCisjaWYgZGVmaW5lZChJTlRfU0laRSkKKyMgZGVmaW5lIEVMRU1fU0laRSBJTlRf U0laRQorc2lnbmVkIGludAorIyBpZiBJTlRfU0laRSA9PSAxCisjICBkZWZpbmUgTU9ERSBRSQor IyBlbGlmIElOVF9TSVpFID09IDIKKyMgIGRlZmluZSBNT0RFIEhJCisjIGVsaWYgSU5UX1NJWkUg PT0gNAorIyAgZGVmaW5lIE1PREUgU0kKKyMgZWxpZiBJTlRfU0laRSA9PSA4CisjICBkZWZpbmUg TU9ERSBESQorIyBlbmRpZgorI2VsaWYgZGVmaW5lZChVSU5UX1NJWkUpCisjIGRlZmluZSBFTEVN X1NJWkUgVUlOVF9TSVpFCit1bnNpZ25lZCBpbnQKKyMgaWYgVUlOVF9TSVpFID09IDEKKyMgIGRl ZmluZSBNT0RFIFFJCisjIGVsaWYgVUlOVF9TSVpFID09IDIKKyMgIGRlZmluZSBNT0RFIEhJCisj IGVsaWYgVUlOVF9TSVpFID09IDQKKyMgIGRlZmluZSBNT0RFIFNJCisjIGVsaWYgVUlOVF9TSVpF ID09IDgKKyMgIGRlZmluZSBNT0RFIERJCisjIGVuZGlmCisjZWxpZiBkZWZpbmVkKEZMT0FUX1NJ WkUpCitmbG9hdAorIyBkZWZpbmUgRUxFTV9TSVpFIEZMT0FUX1NJWkUKKyMgaWYgRkxPQVRfU0la RSA9PSA0CisjICBkZWZpbmUgTU9ERSBTRgorIyBlbGlmIEZMT0FUX1NJWkUgPT0gOAorIyAgZGVm aW5lIE1PREUgREYKKyMgZW5kaWYKKyNlbmRpZgorI2lmbmRlZiBWRUNfU0laRQorIyBkZWZpbmUg VkVDX1NJWkUgRUxFTV9TSVpFCisjZW5kaWYKK19fYXR0cmlidXRlX18oKG1vZGUoTU9ERSksIHZl Y3Rvcl9zaXplKFZFQ19TSVpFKSkpIHZlY190OworCisjZGVmaW5lIEVMRU1fQ09VTlQgKFZFQ19T SVpFIC8gRUxFTV9TSVpFKQorCit0eXBlZGVmIHVuc2lnbmVkIGludCBfX2F0dHJpYnV0ZV9fKCht b2RlKFFJKSwgdmVjdG9yX3NpemUoVkVDX1NJWkUpKSkgYnl0ZV92ZWNfdDsKKworLyogVmFyaW91 cyBidWlsdGlucyB3YW50IHBsYWluIGNoYXIgLyBpbnQgLyBsb25nIGxvbmcgdmVjdG9yIHR5cGVz IC4uLiAqLwordHlwZWRlZiBjaGFyIF9fYXR0cmlidXRlX18oKHZlY3Rvcl9zaXplKFZFQ19TSVpF KSkpIHZxaV90OwordHlwZWRlZiBzaG9ydCBfX2F0dHJpYnV0ZV9fKCh2ZWN0b3Jfc2l6ZShWRUNf U0laRSkpKSB2aGlfdDsKK3R5cGVkZWYgaW50IF9fYXR0cmlidXRlX18oKHZlY3Rvcl9zaXplKFZF Q19TSVpFKSkpIHZzaV90OworI2lmIFZFQ19TSVpFID49IDgKK3R5cGVkZWYgbG9uZyBsb25nIF9f YXR0cmlidXRlX18oKHZlY3Rvcl9zaXplKFZFQ19TSVpFKSkpIHZkaV90OworI2VuZGlmCisKKy8q CisgKiBTdXBwcmVzcyB2YWx1ZSBwcm9wYWdhdGlvbiBieSB0aGUgY29tcGlsZXIsIHByZXZlbnRp bmcgdW53YW50ZWQKKyAqIG9wdGltaXphdGlvbi4gVGhpcyBhdCBvbmNlIG1ha2VzIHRoZSBjb21w aWxlciB1c2UgbWVtb3J5IG9wZXJhbmRzCisgKiBtb3JlIG9mdGVuLCB3aGljaCBmb3Igb3VyIHB1 cnBvc2VzIGlzIHRoZSBtb3JlIGludGVyZXN0aW5nIGNhc2UuCisgKi8KKyNkZWZpbmUgdG91Y2go dmFyKSBhc20gdm9sYXRpbGUgKCAiIiA6ICIrbSIgKHZhcikgKQotLS0gL2Rldi9udWxsCisrKyBi L3Rvb2xzL3Rlc3RzL3g4Nl9lbXVsYXRvci9zaW1kLWZtYS5jCkBAIC0wLDAgKzEsMTIxIEBACisj aW5jbHVkZSAic2ltZC5oIgorCitFTlRSWShmbWFfdGVzdCk7CisKKyNpZiBWRUNfU0laRSA8IDE2 CisjIGRlZmluZSB0b19ib29sKGNtcCkgKCF+KGNtcClbMF0pCisjZWxpZiBWRUNfU0laRSA9PSAx NgorIyBpZiBGTE9BVF9TSVpFID09IDQKKyMgIGRlZmluZSB0b19ib29sKGNtcCkgX19idWlsdGlu X2lhMzJfdnRlc3RjcHMoY21wLCAodmVjX3Qpe30gPT0gMCkKKyMgZWxpZiBGTE9BVF9TSVpFID09 IDgKKyMgIGRlZmluZSB0b19ib29sKGNtcCkgX19idWlsdGluX2lhMzJfdnRlc3RjcGQoY21wLCAo dmVjX3Qpe30gPT0gMCkKKyMgZW5kaWYKKyNlbGlmIFZFQ19TSVpFID09IDMyCisjIGlmIEZMT0FU X1NJWkUgPT0gNAorIyAgZGVmaW5lIHRvX2Jvb2woY21wKSBfX2J1aWx0aW5faWEzMl92dGVzdGNw czI1NihjbXAsICh2ZWNfdCl7fSA9PSAwKQorIyBlbGlmIEZMT0FUX1NJWkUgPT0gOAorIyAgZGVm aW5lIHRvX2Jvb2woY21wKSBfX2J1aWx0aW5faWEzMl92dGVzdGNwZDI1NihjbXAsICh2ZWNfdCl7 fSA9PSAwKQorIyBlbmRpZgorI2VuZGlmCisKKyNpZiBWRUNfU0laRSA9PSAxNgorIyBpZiBGTE9B VF9TSVpFID09IDQKKyMgIGRlZmluZSBhZGRzdWIoeCwgeSkgX19idWlsdGluX2lhMzJfYWRkc3Vi cHMoeCwgeSkKKyMgIGlmIGRlZmluZWQoX19GTUE0X18pCisjICAgZGVmaW5lIGZtYWRkc3ViKHgs IHksIHopIF9fYnVpbHRpbl9pYTMyX3ZmbWFkZHN1YnBzKHgsIHksIHopCisjICBlbmRpZgorIyBl bGlmIEZMT0FUX1NJWkUgPT0gOAorIyAgZGVmaW5lIGFkZHN1Yih4LCB5KSBfX2J1aWx0aW5faWEz Ml9hZGRzdWJwZCh4LCB5KQorIyAgaWYgZGVmaW5lZChfX0ZNQTRfXykKKyMgICBkZWZpbmUgZm1h ZGRzdWIoeCwgeSwgeikgX19idWlsdGluX2lhMzJfdmZtYWRkc3VicGQoeCwgeSwgeikKKyMgIGVu ZGlmCisjIGVuZGlmCisjZWxpZiBWRUNfU0laRSA9PSAzMgorIyBpZiBGTE9BVF9TSVpFID09IDQK KyMgIGRlZmluZSBhZGRzdWIoeCwgeSkgX19idWlsdGluX2lhMzJfYWRkc3VicHMyNTYoeCwgeSkK KyMgIGlmIGRlZmluZWQoX19GTUE0X18pCisjICAgZGVmaW5lIGZtYWRkc3ViKHgsIHksIHopIF9f YnVpbHRpbl9pYTMyX3ZmbWFkZHN1YnBzMjU2KHgsIHksIHopCisjICBlbmRpZgorIyBlbGlmIEZM T0FUX1NJWkUgPT0gOAorIyAgZGVmaW5lIGFkZHN1Yih4LCB5KSBfX2J1aWx0aW5faWEzMl9hZGRz dWJwZDI1Nih4LCB5KQorIyAgaWYgZGVmaW5lZChfX0ZNQTRfXykKKyMgICBkZWZpbmUgZm1hZGRz dWIoeCwgeSwgeikgX19idWlsdGluX2lhMzJfdmZtYWRkc3VicGQyNTYoeCwgeSwgeikKKyMgIGVu ZGlmCisjIGVuZGlmCisjZW5kaWYKKworaW50IGZtYV90ZXN0KHZvaWQpCit7CisgICAgdW5zaWdu ZWQgaW50IGk7CisgICAgdmVjX3QgeCwgeSwgeiwgc3JjLCBpbnYsIG9uZTsKKworICAgIGZvciAo IGkgPSAwOyBpIDwgRUxFTV9DT1VOVDsgKytpICkKKyAgICB7CisgICAgICAgIHNyY1tpXSA9IGkg KyAxOworICAgICAgICBpbnZbaV0gPSBFTEVNX0NPVU5UIC0gaTsKKyAgICAgICAgb25lW2ldID0g MTsKKyAgICB9CisKKyAgICB4ID0gKHNyYyArIG9uZSkgKiBpbnY7CisgICAgeSA9IChzcmMgLSBv bmUpICogaW52OworICAgIHRvdWNoKHNyYyk7CisgICAgeiA9IGludiAqIHNyYyArIGludjsKKyAg ICBpZiAoICF0b19ib29sKHggPT0geikgKSByZXR1cm4gX19MSU5FX187CisKKyAgICB0b3VjaChz cmMpOworICAgIHogPSAtaW52ICogc3JjIC0gaW52OworICAgIGlmICggIXRvX2Jvb2woLXggPT0g eikgKSByZXR1cm4gX19MSU5FX187CisKKyAgICB0b3VjaChzcmMpOworICAgIHogPSBpbnYgKiBz cmMgLSBpbnY7CisgICAgaWYgKCAhdG9fYm9vbCh5ID09IHopICkgcmV0dXJuIF9fTElORV9fOwor CisgICAgdG91Y2goc3JjKTsKKyAgICB6ID0gLWludiAqIHNyYyArIGludjsKKyAgICBpZiAoICF0 b19ib29sKC15ID09IHopICkgcmV0dXJuIF9fTElORV9fOworICAgIHRvdWNoKHNyYyk7CisKKyAg ICB4ID0gc3JjICsgaW52OworICAgIHkgPSBzcmMgLSBpbnY7CisgICAgdG91Y2goaW52KTsKKyAg ICB6ID0gc3JjICogb25lICsgaW52OworICAgIGlmICggIXRvX2Jvb2woeCA9PSB6KSApIHJldHVy biBfX0xJTkVfXzsKKworICAgIHRvdWNoKGludik7CisgICAgeiA9IC1zcmMgKiBvbmUgLSBpbnY7 CisgICAgaWYgKCAhdG9fYm9vbCgteCA9PSB6KSApIHJldHVybiBfX0xJTkVfXzsKKworICAgIHRv dWNoKGludik7CisgICAgeiA9IHNyYyAqIG9uZSAtIGludjsKKyAgICBpZiAoICF0b19ib29sKHkg PT0geikgKSByZXR1cm4gX19MSU5FX187CisKKyAgICB0b3VjaChpbnYpOworICAgIHogPSAtc3Jj ICogb25lICsgaW52OworICAgIGlmICggIXRvX2Jvb2woLXkgPT0geikgKSByZXR1cm4gX19MSU5F X187CisgICAgdG91Y2goaW52KTsKKworI2lmIGRlZmluZWQoYWRkc3ViKSAmJiBkZWZpbmVkKGZt YWRkc3ViKQorICAgIHggPSBhZGRzdWIoc3JjICogaW52LCBvbmUpOworICAgIHkgPSBhZGRzdWIo c3JjICogaW52LCAtb25lKTsKKyAgICB0b3VjaChvbmUpOworICAgIHogPSBmbWFkZHN1YihzcmMs IGludiwgb25lKTsKKyAgICBpZiAoICF0b19ib29sKHggPT0geikgKSByZXR1cm4gX19MSU5FX187 CisKKyAgICB0b3VjaChvbmUpOworICAgIHogPSBmbWFkZHN1YihzcmMsIGludiwgLW9uZSk7Cisg ICAgaWYgKCAhdG9fYm9vbCh5ID09IHopICkgcmV0dXJuIF9fTElORV9fOworICAgIHRvdWNoKG9u ZSk7CisKKyAgICB4ID0gYWRkc3ViKHNyYyAqIGludiwgb25lKTsKKyAgICB0b3VjaChpbnYpOwor ICAgIHogPSBmbWFkZHN1YihzcmMsIGludiwgb25lKTsKKyAgICBpZiAoICF0b19ib29sKHggPT0g eikgKSByZXR1cm4gX19MSU5FX187CisKKyAgICB0b3VjaChpbnYpOworICAgIHogPSBmbWFkZHN1 YihzcmMsIGludiwgLW9uZSk7CisgICAgaWYgKCAhdG9fYm9vbCh5ID09IHopICkgcmV0dXJuIF9f TElORV9fOworICAgIHRvdWNoKGludik7CisjZW5kaWYKKworICAgIHJldHVybiAwOworfQotLS0g YS90b29scy90ZXN0cy94ODZfZW11bGF0b3IvdGVzdF94ODZfZW11bGF0b3IuYworKysgYi90b29s cy90ZXN0cy94ODZfZW11bGF0b3IvdGVzdF94ODZfZW11bGF0b3IuYwpAQCAtMTEsNiArMTEsNyBA QAogI2luY2x1ZGUgInNzZTItYXZ4LmgiCiAjaW5jbHVkZSAic3NlNC1hdnguaCIKICNpbmNsdWRl ICJhdnguaCIKKyNpbmNsdWRlICJmbWE0LmgiCiAKICNkZWZpbmUgdmVyYm9zZSBmYWxzZSAvKiBT d2l0Y2ggdG8gdHJ1ZSBmb3IgZmFyIG1vcmUgbG9nZ2luZy4gKi8KIApAQCAtNDcsNiArNDgsMTEg QEAgc3RhdGljIGJvb2wgc2ltZF9jaGVja19hdngodm9pZCkKICNkZWZpbmUgc2ltZF9jaGVja19z c2UyX2F2eCAgc2ltZF9jaGVja19hdngKICNkZWZpbmUgc2ltZF9jaGVja19zc2U0X2F2eCAgc2lt ZF9jaGVja19hdngKIAorc3RhdGljIGJvb2wgc2ltZF9jaGVja19mbWE0KHZvaWQpCit7CisgICAg cmV0dXJuIGNwdV9oYXNfZm1hNDsKK30KKwogc3RhdGljIHZvaWQgc2ltZF9zZXRfcmVncyhzdHJ1 Y3QgY3B1X3VzZXJfcmVncyAqcmVncykKIHsKICAgICBpZiAoIGNwdV9oYXNfbW14ICkKQEAgLTE0 Myw2ICsxNDksMTIgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCB7CiAgICAgU0lNRChBVlggc2NhbGFy IGRvdWJsZSwgICAgICBhdngsICAgICAgICAgZjgpLAogICAgIFNJTUQoQVZYIDEyOGJpdCBkb3Vi bGUsICAgICAgYXZ4LCAgICAgICAxNmY4KSwKICAgICBTSU1EKEFWWCAyNTZiaXQgZG91YmxlLCAg ICAgIGF2eCwgICAgICAgMzJmOCksCisgICAgU0lNRChGTUE0IHNjYWxhciBzaW5nbGUsICAgICBm bWE0LCAgICAgICAgZjQpLAorICAgIFNJTUQoRk1BNCAxMjhiaXQgc2luZ2xlLCAgICAgZm1hNCwg ICAgICAxNmY0KSwKKyAgICBTSU1EKEZNQTQgMjU2Yml0IHNpbmdsZSwgICAgIGZtYTQsICAgICAg MzJmNCksCisgICAgU0lNRChGTUE0IHNjYWxhciBkb3VibGUsICAgICBmbWE0LCAgICAgICAgZjgp LAorICAgIFNJTUQoRk1BNCAxMjhiaXQgZG91YmxlLCAgICAgZm1hNCwgICAgICAxNmY4KSwKKyAg ICBTSU1EKEZNQTQgMjU2Yml0IGRvdWJsZSwgICAgIGZtYTQsICAgICAgMzJmOCksCiAjdW5kZWYg U0lNRF8KICN1bmRlZiBTSU1ECiB9OwotLS0gYS90b29scy90ZXN0cy94ODZfZW11bGF0b3IveDg2 X2VtdWxhdGUuaAorKysgYi90b29scy90ZXN0cy94ODZfZW11bGF0b3IveDg2X2VtdWxhdGUuaApA QCAtMTY0LDYgKzE2NCwxNiBAQCBzdGF0aWMgaW5saW5lIHVpbnQ2NF90IHhnZXRidih1aW50MzJf dCB4CiAgICAgKHJlcy5jICYgKDFVIDw8IDYpKSAhPSAwOyBcCiB9KQogCisjZGVmaW5lIGNwdV9o YXNfZm1hNCAoeyBcCisgICAgc3RydWN0IGNwdWlkX2xlYWYgcmVzOyBcCisgICAgZW11bF90ZXN0 X2NwdWlkKDEsIDAsICZyZXMsIE5VTEwpOyBcCisgICAgaWYgKCAhKHJlcy5jICYgKDFVIDw8IDI3 KSkgfHwgKCh4Z2V0YnYoMCkgJiA2KSAhPSA2KSApIFwKKyAgICAgICAgcmVzLmMgPSAwOyBcCisg ICAgZWxzZSBcCisgICAgICAgIGVtdWxfdGVzdF9jcHVpZCgweDgwMDAwMDAxLCAwLCAmcmVzLCBO VUxMKTsgXAorICAgIChyZXMuYyAmICgxVSA8PCAxNikpICE9IDA7IFwKK30pCisKICNkZWZpbmUg Y3B1X2hhc190Ym0gKHsgXAogICAgIHN0cnVjdCBjcHVpZF9sZWFmIHJlczsgXAogICAgIGVtdWxf dGVzdF9jcHVpZCgweDgwMDAwMDAxLCAwLCAmcmVzLCBOVUxMKTsgXAotLS0gYS94ZW4vYXJjaC94 ODYveDg2X2VtdWxhdGUveDg2X2VtdWxhdGUuYworKysgYi94ZW4vYXJjaC94ODYveDg2X2VtdWxh dGUveDg2X2VtdWxhdGUuYwpAQCAtNDIxLDcgKzQyMSwxNiBAQCBzdGF0aWMgY29uc3Qgc3RydWN0 IHsKICAgICBbMHg0NF0gPSB7IC5zaW1kX3NpemUgPSBzaW1kX3BhY2tlZF9pbnQgfSwKICAgICBb MHg0YSAuLi4gMHg0Yl0gPSB7IC5zaW1kX3NpemUgPSBzaW1kX3BhY2tlZF9mcCwgLmZvdXJfb3Ag PSAxIH0sCiAgICAgWzB4NGNdID0geyAuc2ltZF9zaXplID0gc2ltZF9wYWNrZWRfaW50LCAuZm91 cl9vcCA9IDEgfSwKKyAgICBbMHg1YyAuLi4gMHg1Zl0gPSB7IC5zaW1kX3NpemUgPSBzaW1kX3Bh Y2tlZF9mcCwgLmZvdXJfb3AgPSAxIH0sCiAgICAgWzB4NjAgLi4uIDB4NjNdID0geyAuc2ltZF9z aXplID0gc2ltZF9wYWNrZWRfaW50LCAudHdvX29wID0gMSB9LAorICAgIFsweDY4IC4uLiAweDY5 XSA9IHsgLnNpbWRfc2l6ZSA9IHNpbWRfcGFja2VkX2ZwLCAuZm91cl9vcCA9IDEgfSwKKyAgICBb MHg2YSAuLi4gMHg2Yl0gPSB7IC5zaW1kX3NpemUgPSBzaW1kX3NjYWxhcl9mcCwgLmZvdXJfb3Ag PSAxIH0sCisgICAgWzB4NmMgLi4uIDB4NmRdID0geyAuc2ltZF9zaXplID0gc2ltZF9wYWNrZWRf ZnAsIC5mb3VyX29wID0gMSB9LAorICAgIFsweDZlIC4uLiAweDZmXSA9IHsgLnNpbWRfc2l6ZSA9 IHNpbWRfc2NhbGFyX2ZwLCAuZm91cl9vcCA9IDEgfSwKKyAgICBbMHg3OCAuLi4gMHg3OV0gPSB7 IC5zaW1kX3NpemUgPSBzaW1kX3BhY2tlZF9mcCwgLmZvdXJfb3AgPSAxIH0sCisgICAgWzB4N2Eg Li4uIDB4N2JdID0geyAuc2ltZF9zaXplID0gc2ltZF9zY2FsYXJfZnAsIC5mb3VyX29wID0gMSB9 LAorICAgIFsweDdjIC4uLiAweDdkXSA9IHsgLnNpbWRfc2l6ZSA9IHNpbWRfcGFja2VkX2ZwLCAu Zm91cl9vcCA9IDEgfSwKKyAgICBbMHg3ZSAuLi4gMHg3Zl0gPSB7IC5zaW1kX3NpemUgPSBzaW1k X3NjYWxhcl9mcCwgLmZvdXJfb3AgPSAxIH0sCiAgICAgWzB4Y2NdID0geyAuc2ltZF9zaXplID0g c2ltZF9vdGhlciB9LAogICAgIFsweGRmXSA9IHsgLnNpbWRfc2l6ZSA9IHNpbWRfcGFja2VkX2lu dCwgLnR3b19vcCA9IDEgfSwKICAgICBbMHhmMF0gPSB7fSwKQEAgLTE2MTIsNiArMTYyMSw3IEBA IHN0YXRpYyBib29sIHZjcHVfaGFzKAogI2RlZmluZSB2Y3B1X2hhc19semNudCgpICAgICAgIHZj cHVfaGFzKDB4ODAwMDAwMDEsIEVDWCwgIDUsIGN0eHQsIG9wcykKICNkZWZpbmUgdmNwdV9oYXNf c3NlNGEoKSAgICAgICB2Y3B1X2hhcygweDgwMDAwMDAxLCBFQ1gsICA2LCBjdHh0LCBvcHMpCiAj ZGVmaW5lIHZjcHVfaGFzX21pc2FsaWduc3NlKCkgdmNwdV9oYXMoMHg4MDAwMDAwMSwgRUNYLCAg NywgY3R4dCwgb3BzKQorI2RlZmluZSB2Y3B1X2hhc19mbWE0KCkgICAgICAgIHZjcHVfaGFzKDB4 ODAwMDAwMDEsIEVDWCwgMTYsIGN0eHQsIG9wcykKICNkZWZpbmUgdmNwdV9oYXNfdGJtKCkgICAg ICAgICB2Y3B1X2hhcygweDgwMDAwMDAxLCBFQ1gsIDIxLCBjdHh0LCBvcHMpCiAjZGVmaW5lIHZj cHVfaGFzX2JtaTEoKSAgICAgICAgdmNwdV9oYXMoICAgICAgICAgNywgRUJYLCAgMywgY3R4dCwg b3BzKQogI2RlZmluZSB2Y3B1X2hhc19obGUoKSAgICAgICAgIHZjcHVfaGFzKCAgICAgICAgIDcs IEVCWCwgIDQsIGN0eHQsIG9wcykKQEAgLTYxNzYsNiArNjE4Niw3IEBAIHg4Nl9lbXVsYXRlKAog ICAgIHNpbWRfMGZfaW1tOF9hdng6CiAgICAgICAgICAgICAgICAgaG9zdF9hbmRfdmNwdV9tdXN0 X2hhdmUoYXZ4KTsKICAgICAgICAgICAgIH0KKyAgICBzaW1kXzBmX2ltbThfeW1tOgogICAgICAg ICAgICAgZ2V0X2ZwdShYODZFTVVMX0ZQVV95bW0sICZmaWMpOwogICAgICAgICB9CiAgICAgICAg IGVsc2UgaWYgKCB2ZXgucGZ4ICkKQEAgLTc3MzIsNiArNzc0Myw0OSBAQCB4ODZfZW11bGF0ZSgK ICAgICAgICAgZ2VuZXJhdGVfZXhjZXB0aW9uX2lmKHZleC53LCBFWENfVUQpOwogICAgICAgICBn b3RvIHNpbWRfMGZfaW50X2ltbTg7CiAKKyAgICBjYXNlIFg4NkVNVUxfT1BDX1ZFWF82NigweDBm M2EsIDB4NWMpOiAvKiB2Zm1hZGRzdWJwcyB7eCx5fW1tLHt4LHl9bW0vbWVtLHt4LHl9bW0se3gs eX1tbSAqLworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHZm bWFkZHN1YnBzIHt4LHl9bW0vbWVtLHt4LHl9bW0se3gseX1tbSx7eCx5fW1tICovCisgICAgY2Fz ZSBYODZFTVVMX09QQ19WRVhfNjYoMHgwZjNhLCAweDVkKTogLyogdmZtYWRkc3VicGQge3gseX1t bSx7eCx5fW1tL21lbSx7eCx5fW1tLHt4LHl9bW0gKi8KKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAvKiB2Zm1hZGRzdWJwZCB7eCx5fW1tL21lbSx7eCx5fW1tLHt4 LHl9bW0se3gseX1tbSAqLworICAgIGNhc2UgWDg2RU1VTF9PUENfVkVYXzY2KDB4MGYzYSwgMHg1 ZSk6IC8qIHZmbXN1YmFkZHBzIHt4LHl9bW0se3gseX1tbS9tZW0se3gseX1tbSx7eCx5fW1tICov CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdmZtc3ViYWRk cHMge3gseX1tbS9tZW0se3gseX1tbSx7eCx5fW1tLHt4LHl9bW0gKi8KKyAgICBjYXNlIFg4NkVN VUxfT1BDX1ZFWF82NigweDBmM2EsIDB4NWYpOiAvKiB2Zm1zdWJhZGRwZCB7eCx5fW1tLHt4LHl9 bW0vbWVtLHt4LHl9bW0se3gseX1tbSAqLworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIC8qIHZmbXN1YmFkZHBkIHt4LHl9bW0vbWVtLHt4LHl9bW0se3gseX1tbSx7 eCx5fW1tICovCisgICAgY2FzZSBYODZFTVVMX09QQ19WRVhfNjYoMHgwZjNhLCAweDY4KTogLyog dmZtYWRkcHMge3gseX1tbSx7eCx5fW1tL21lbSx7eCx5fW1tLHt4LHl9bW0gKi8KKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB2Zm1hZGRwcyB7eCx5fW1tL21l bSx7eCx5fW1tLHt4LHl9bW0se3gseX1tbSAqLworICAgIGNhc2UgWDg2RU1VTF9PUENfVkVYXzY2 KDB4MGYzYSwgMHg2OSk6IC8qIHZmbWFkZHBkIHt4LHl9bW0se3gseX1tbS9tZW0se3gseX1tbSx7 eCx5fW1tICovCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyog dmZtYWRkcGQge3gseX1tbS9tZW0se3gseX1tbSx7eCx5fW1tLHt4LHl9bW0gKi8KKyAgICBjYXNl IFg4NkVNVUxfT1BDX1ZFWF82NigweDBmM2EsIDB4NmEpOiAvKiB2Zm1hZGRzcyB4bW0seG1tL20z Mix4bW0seG1tICovCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg LyogdmZtYWRkc3MgeG1tL20zMix4bW0seG1tLHhtbSAqLworICAgIGNhc2UgWDg2RU1VTF9PUENf VkVYXzY2KDB4MGYzYSwgMHg2Yik6IC8qIHZmbWFkZHNkIHhtbSx4bW0vbTY0LHhtbSx4bW0gKi8K KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB2Zm1hZGRzZCB4 bW0vbTY0LHhtbSx4bW0seG1tICovCisgICAgY2FzZSBYODZFTVVMX09QQ19WRVhfNjYoMHgwZjNh LCAweDZjKTogLyogdmZtc3VicHMge3gseX1tbSx7eCx5fW1tL21lbSx7eCx5fW1tLHt4LHl9bW0g Ki8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB2Zm1zdWJw cyB7eCx5fW1tL21lbSx7eCx5fW1tLHt4LHl9bW0se3gseX1tbSAqLworICAgIGNhc2UgWDg2RU1V TF9PUENfVkVYXzY2KDB4MGYzYSwgMHg2ZCk6IC8qIHZmbXN1YnBkIHt4LHl9bW0se3gseX1tbS9t ZW0se3gseX1tbSx7eCx5fW1tICovCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgLyogdmZtc3VicGQge3gseX1tbS9tZW0se3gseX1tbSx7eCx5fW1tLHt4LHl9bW0g Ki8KKyAgICBjYXNlIFg4NkVNVUxfT1BDX1ZFWF82NigweDBmM2EsIDB4NmUpOiAvKiB2Zm1zdWJz cyB4bW0seG1tL20zMix4bW0seG1tICovCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgLyogdmZtc3Vic3MgeG1tL20zMix4bW0seG1tLHhtbSAqLworICAgIGNhc2Ug WDg2RU1VTF9PUENfVkVYXzY2KDB4MGYzYSwgMHg2Zik6IC8qIHZmbXN1YnNkIHhtbSx4bW0vbTY0 LHhtbSx4bW0gKi8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv KiB2Zm1zdWJzZCB4bW0vbTY0LHhtbSx4bW0seG1tICovCisgICAgY2FzZSBYODZFTVVMX09QQ19W RVhfNjYoMHgwZjNhLCAweDc4KTogLyogdmZubWFkZHBzIHt4LHl9bW0se3gseX1tbS9tZW0se3gs eX1tbSx7eCx5fW1tICovCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgLyogdmZubWFkZHBzIHt4LHl9bW0vbWVtLHt4LHl9bW0se3gseX1tbSx7eCx5fW1tICovCisg ICAgY2FzZSBYODZFTVVMX09QQ19WRVhfNjYoMHgwZjNhLCAweDc5KTogLyogdmZubWFkZHBkIHt4 LHl9bW0se3gseX1tbS9tZW0se3gseX1tbSx7eCx5fW1tICovCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgLyogdmZubWFkZHBkIHt4LHl9bW0vbWVtLHt4LHl9bW0s e3gseX1tbSx7eCx5fW1tICovCisgICAgY2FzZSBYODZFTVVMX09QQ19WRVhfNjYoMHgwZjNhLCAw eDdhKTogLyogdmZubWFkZHNzIHhtbSx4bW0vbTMyLHhtbSx4bW0gKi8KKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB2Zm5tYWRkc3MgeG1tL20zMix4bW0seG1t LHhtbSAqLworICAgIGNhc2UgWDg2RU1VTF9PUENfVkVYXzY2KDB4MGYzYSwgMHg3Yik6IC8qIHZm bm1hZGRzZCB4bW0seG1tL202NCx4bW0seG1tICovCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgLyogdmZubWFkZHNkIHhtbS9tNjQseG1tLHhtbSx4bW0gKi8KKyAg ICBjYXNlIFg4NkVNVUxfT1BDX1ZFWF82NigweDBmM2EsIDB4N2MpOiAvKiB2Zm5tc3VicHMge3gs eX1tbSx7eCx5fW1tL21lbSx7eCx5fW1tLHt4LHl9bW0gKi8KKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAvKiB2Zm5tc3VicHMge3gseX1tbS9tZW0se3gseX1tbSx7 eCx5fW1tLHt4LHl9bW0gKi8KKyAgICBjYXNlIFg4NkVNVUxfT1BDX1ZFWF82NigweDBmM2EsIDB4 N2QpOiAvKiB2Zm5tc3VicGQge3gseX1tbSx7eCx5fW1tL21lbSx7eCx5fW1tLHt4LHl9bW0gKi8K KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB2Zm5tc3VicGQg e3gseX1tbS9tZW0se3gseX1tbSx7eCx5fW1tLHt4LHl9bW0gKi8KKyAgICBjYXNlIFg4NkVNVUxf T1BDX1ZFWF82NigweDBmM2EsIDB4N2UpOiAvKiB2Zm5tc3Vic3MgeG1tLHhtbS9tMzIseG1tLHht bSAqLworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHZmbm1z dWJzcyB4bW0vbTMyLHhtbSx4bW0seG1tICovCisgICAgY2FzZSBYODZFTVVMX09QQ19WRVhfNjYo MHgwZjNhLCAweDdmKTogLyogdmZubXN1YnNkIHhtbSx4bW0vbTY0LHhtbSx4bW0gKi8KKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB2Zm5tc3Vic2QgeG1tL202 NCx4bW0seG1tLHhtbSAqLworICAgICAgICBob3N0X2FuZF92Y3B1X211c3RfaGF2ZShmbWE0KTsK KyAgICAgICAgZ290byBzaW1kXzBmX2ltbThfeW1tOworCiAgICAgY2FzZSBYODZFTVVMX09QQ182 NigweDBmM2EsIDB4NjApOiAgICAgLyogcGNtcGVzdHJtICRpbW04LHhtbS9tMTI4LHhtbSAqLwog ICAgIGNhc2UgWDg2RU1VTF9PUENfVkVYXzY2KDB4MGYzYSwgMHg2MCk6IC8qIHZwY21wZXN0cm0g JGltbTgseG1tL20xMjgseG1tICovCiAgICAgY2FzZSBYODZFTVVMX09QQ182NigweDBmM2EsIDB4 NjEpOiAgICAgLyogcGNtcGVzdHJpICRpbW04LHhtbS9tMTI4LHhtbSAqLwotLS0gYS94ZW4vaW5j bHVkZS9hc20teDg2L2NwdWZlYXR1cmUuaAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L2NwdWZl YXR1cmUuaApAQCAtNzYsNiArNzYsNyBAQAogI2RlZmluZSBjcHVfaGFzX3N2bSAgICAgICAgICAg ICBib290X2NwdV9oYXMoWDg2X0ZFQVRVUkVfU1ZNKQogI2RlZmluZSBjcHVfaGFzX3NzZTRhICAg ICAgICAgICBib290X2NwdV9oYXMoWDg2X0ZFQVRVUkVfU1NFNEEpCiAjZGVmaW5lIGNwdV9oYXNf bHdwICAgICAgICAgICAgIGJvb3RfY3B1X2hhcyhYODZfRkVBVFVSRV9MV1ApCisjZGVmaW5lIGNw dV9oYXNfZm1hNCAgICAgICAgICAgIGJvb3RfY3B1X2hhcyhYODZfRkVBVFVSRV9GTUE0KQogI2Rl ZmluZSBjcHVfaGFzX3RibSAgICAgICAgICAgICBib290X2NwdV9oYXMoWDg2X0ZFQVRVUkVfVEJN KQogCiAvKiBDUFVJRCBsZXZlbCAweDAwMDAwMDBEOjEuZWF4ICovCgoKCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QK WGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=