From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH v3 02/28] xen/x86: Rename features to be closer to the vendor definitions Date: Tue, 15 Mar 2016 15:34:58 +0000 Message-ID: <1458056124-8024-3-git-send-email-andrew.cooper3@citrix.com> References: <1458056124-8024-1-git-send-email-andrew.cooper3@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1458056124-8024-1-git-send-email-andrew.cooper3@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Xen-devel Cc: Andrew Cooper , Jan Beulich List-Id: xen-devel@lists.xenproject.org VGhlc2UgZmVhdHVyZXMgYXJlIHNvb24gdG8gYmUgZXhwb3NlZCBpbiB0aGUgWGVuIHB1YmxpYyBB UEkuICBSZW5hbWUgdGhlbSB0bwpiZXR0ZXIgbWF0Y2ggdGhlIHZlbmRvciBkZWZpbml0aW9ucy4K Ck5vIGZ1bmN0aW9uYWwgY2hhbmdlLgoKU2lnbmVkLW9mZi1ieTogQW5kcmV3IENvb3BlciA8YW5k cmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KLS0tCkNDOiBKYW4gQmV1bGljaCA8SkJldWxpY2hAc3Vz ZS5jb20+Cgp2MzogTmV3Ci0tLQogeGVuL2FyY2gveDg2L2FjcGkvY3B1X2lkbGUuYyAgICAgICAg fCAgMiArLQogeGVuL2FyY2gveDg2L2FjcGkvY3B1ZnJlcS9jcHVmcmVxLmMgfCAgMiArLQogeGVu L2FyY2gveDg2L2FjcGkvbGliLmMgICAgICAgICAgICAgfCAgNCArKy0tCiB4ZW4vYXJjaC94ODYv Y3B1L2FtZC5jICAgICAgICAgICAgICB8ICAyICstCiB4ZW4vYXJjaC94ODYvY3B1L2NvbW1vbi5j ICAgICAgICAgICB8ICA0ICsrLS0KIHhlbi9hcmNoL3g4Ni9jcHUvbWNoZWNrL21jZV9pbnRlbC5j IHwgIDIgKy0KIHhlbi9hcmNoL3g4Ni9jcHUvbXdhaXQtaWRsZS5jICAgICAgIHwgIDIgKy0KIHhl bi9hcmNoL3g4Ni9odm0vaHZtLmMgICAgICAgICAgICAgIHwgIDIgKy0KIHhlbi9hcmNoL3g4Ni9o dm0vdm14L3ZtY3MuYyAgICAgICAgIHwgIDQgKystLQogeGVuL2FyY2gveDg2L2h2bS92bXgvdnZt eC5jICAgICAgICAgfCAgNiArKystLS0KIHhlbi9hcmNoL3g4Ni9wc3IuYyAgICAgICAgICAgICAg ICAgIHwgIDQgKystLQogeGVuL2FyY2gveDg2L3RyYXBzLmMgICAgICAgICAgICAgICAgfCAxMCAr KysrKy0tLS0tCiB4ZW4vaW5jbHVkZS9hc20teDg2L2FtZC5oICAgICAgICAgICB8ICA0ICsrLS0K IHhlbi9pbmNsdWRlL2FzbS14ODYvY3B1ZmVhdHVyZS5oICAgIHwgMjQgKysrKysrKysrKysrLS0t LS0tLS0tLS0tCiAxNCBmaWxlcyBjaGFuZ2VkLCAzNiBpbnNlcnRpb25zKCspLCAzNiBkZWxldGlv bnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvYWNwaS9jcHVfaWRsZS5jIGIveGVuL2Fy Y2gveDg2L2FjcGkvY3B1X2lkbGUuYwppbmRleCBkMWY5OWE3Li5hMjFhZWVkIDEwMDY0NAotLS0g YS94ZW4vYXJjaC94ODYvYWNwaS9jcHVfaWRsZS5jCisrKyBiL3hlbi9hcmNoL3g4Ni9hY3BpL2Nw dV9pZGxlLmMKQEAgLTEwMjksNyArMTAyOSw3IEBAIHN0YXRpYyB2b2lkIHNldF9jeCgKICAgICBj YXNlIEFDUElfQURSX1NQQUNFX0ZJWEVEX0hBUkRXQVJFOgogICAgICAgICBpZiAoIHhlbl9jeC0+ cmVnLmJpdF93aWR0aCA9PSBWRU5ET1JfSU5URUwgJiYKICAgICAgICAgICAgICB4ZW5fY3gtPnJl Zy5iaXRfb2Zmc2V0ID09IE5BVElWRV9DU1RBVEVfQkVZT05EX0hBTFQgJiYKLSAgICAgICAgICAg ICBib290X2NwdV9oYXMoWDg2X0ZFQVRVUkVfTVdBSVQpICkKKyAgICAgICAgICAgICBib290X2Nw dV9oYXMoWDg2X0ZFQVRVUkVfTU9OSVRPUikgKQogICAgICAgICAgICAgY3gtPmVudHJ5X21ldGhv ZCA9IEFDUElfQ1NUQVRFX0VNX0ZGSDsKICAgICAgICAgZWxzZQogICAgICAgICAgICAgY3gtPmVu dHJ5X21ldGhvZCA9IEFDUElfQ1NUQVRFX0VNX0hBTFQ7CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94 ODYvYWNwaS9jcHVmcmVxL2NwdWZyZXEuYyBiL3hlbi9hcmNoL3g4Ni9hY3BpL2NwdWZyZXEvY3B1 ZnJlcS5jCmluZGV4IGEyYmEwZGIuLjJlNTljN2YgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9h Y3BpL2NwdWZyZXEvY3B1ZnJlcS5jCisrKyBiL3hlbi9hcmNoL3g4Ni9hY3BpL2NwdWZyZXEvY3B1 ZnJlcS5jCkBAIC02Myw3ICs2Myw3IEBAIHN0YXRpYyBpbnQgY2hlY2tfZXN0X2NwdSh1bnNpZ25l ZCBpbnQgY3B1aWQpCiAgICAgc3RydWN0IGNwdWluZm9feDg2ICpjcHUgPSAmY3B1X2RhdGFbY3B1 aWRdOwogCiAgICAgaWYgKGNwdS0+eDg2X3ZlbmRvciAhPSBYODZfVkVORE9SX0lOVEVMIHx8Ci0g ICAgICAgICFjcHVfaGFzKGNwdSwgWDg2X0ZFQVRVUkVfRVNUKSkKKyAgICAgICAgIWNwdV9oYXMo Y3B1LCBYODZfRkVBVFVSRV9FSVNUKSkKICAgICAgICAgcmV0dXJuIDA7CiAKICAgICByZXR1cm4g MTsKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9hY3BpL2xpYi5jIGIveGVuL2FyY2gveDg2L2Fj cGkvbGliLmMKaW5kZXggY2MxNWVhMy4uYzIxOTEyZCAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2 L2FjcGkvbGliLmMKKysrIGIveGVuL2FyY2gveDg2L2FjcGkvbGliLmMKQEAgLTEwMSw3ICsxMDEs NyBAQCBpbnQgYXJjaF9hY3BpX3NldF9wZGNfYml0cyh1MzIgYWNwaV9pZCwgdTMyICpwZGMsIHUz MiBtYXNrKQogCiAJcGRjWzJdIHw9IEFDUElfUERDX0NfQ0FQQUJJTElUWV9TTVAgJiBtYXNrOwog Ci0JaWYgKGNwdV9oYXMoYywgWDg2X0ZFQVRVUkVfRVNUKSkKKwlpZiAoY3B1X2hhcyhjLCBYODZf RkVBVFVSRV9FSVNUKSkKIAkJcGRjWzJdIHw9IEFDUElfUERDX0VTVF9DQVBBQklMSVRZX1NXU01Q ICYgbWFzazsKIAogCWlmIChjcHVfaGFzKGMsIFg4Nl9GRUFUVVJFX0FDUEkpKQpAQCAtMTExLDcg KzExMSw3IEBAIGludCBhcmNoX2FjcGlfc2V0X3BkY19iaXRzKHUzMiBhY3BpX2lkLCB1MzIgKnBk YywgdTMyIG1hc2spCiAJICogSWYgbXdhaXQvbW9uaXRvciBvciBpdHMgYnJlYWstb24taW50ZXJy dXB0IGV4dGVuc2lvbiBhcmUKIAkgKiB1bnN1cHBvcnRlZCwgQ3hfRkZIIHdpbGwgYmUgZGlzYWJs ZWQuCiAJICovCi0JaWYgKCFjcHVfaGFzKGMsIFg4Nl9GRUFUVVJFX01XQUlUKSB8fAorCWlmICgh Y3B1X2hhcyhjLCBYODZfRkVBVFVSRV9NT05JVE9SKSB8fAogCSAgICBjLT5jcHVpZF9sZXZlbCA8 IENQVUlEX01XQUlUX0xFQUYpCiAJCWVjeCA9IDA7CiAJZWxzZSBpZiAoYyA9PSAmYm9vdF9jcHVf ZGF0YSB8fCBjcHUgPT0gc21wX3Byb2Nlc3Nvcl9pZCgpKQpkaWZmIC0tZ2l0IGEveGVuL2FyY2gv eDg2L2NwdS9hbWQuYyBiL3hlbi9hcmNoL3g4Ni9jcHUvYW1kLmMKaW5kZXggYzE4NGY1Ny4uYTRi ZWYyMSAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2NwdS9hbWQuYworKysgYi94ZW4vYXJjaC94 ODYvY3B1L2FtZC5jCkBAIC01MTEsNyArNTExLDcgQEAgc3RhdGljIHZvaWQgaW5pdF9hbWQoc3Ry dWN0IGNwdWluZm9feDg2ICpjKQogCiAJLyogUG9pbnRsZXNzIHRvIHVzZSBNV0FJVCBvbiBGYW1p bHkxMCBhcyBpdCBkb2VzIG5vdCBkZWVwIHNsZWVwLiAqLwogCWlmIChjLT54ODYgPT0gMHgxMCkK LQkJX19jbGVhcl9iaXQoWDg2X0ZFQVRVUkVfTVdBSVQsIGMtPng4Nl9jYXBhYmlsaXR5KTsKKwkJ X19jbGVhcl9iaXQoWDg2X0ZFQVRVUkVfTU9OSVRPUiwgYy0+eDg2X2NhcGFiaWxpdHkpOwogCiAJ aWYgKCFjcHVfaGFzX2FtZF9lcnJhdHVtKGMsIEFNRF9FUlJBVFVNXzEyMSkpCiAJCW9wdF9hbGxv d191bnNhZmUgPSAxOwpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2NwdS9jb21tb24uYyBiL3hl bi9hcmNoL3g4Ni9jcHUvY29tbW9uLmMKaW5kZXggZDY1YmFhNy4uOGI5NGMxYiAxMDA2NDQKLS0t IGEveGVuL2FyY2gveDg2L2NwdS9jb21tb24uYworKysgYi94ZW4vYXJjaC94ODYvY3B1L2NvbW1v bi5jCkBAIC00NTIsNyArNDUyLDcgQEAgdm9pZCBkZXRlY3RfaHQoc3RydWN0IGNwdWluZm9feDg2 ICpjKQogCXUzMiAJZWF4LCBlYngsIGVjeCwgZWR4OwogCWludCAJaW5kZXhfbXNiLCBjb3JlX2Jp dHM7CiAKLQlpZiAoIWNwdV9oYXMoYywgWDg2X0ZFQVRVUkVfSFQpIHx8CisJaWYgKCFjcHVfaGFz KGMsIFg4Nl9GRUFUVVJFX0hUVCkgfHwKIAkgICAgY3B1X2hhcyhjLCBYODZfRkVBVFVSRV9DTVBf TEVHQUNZKSB8fAogCSAgICBjcHVfaGFzKGMsIFg4Nl9GRUFUVVJFX1hUT1BPTE9HWSkpCiAJCXJl dHVybjsKQEAgLTUxMCw3ICs1MTAsNyBAQCB1bnNpZ25lZCBpbnQgX19pbml0IGFwaWNpZF90b19z b2NrZXQodW5zaWduZWQgaW50IGFwaWNpZCkKIAkJcmV0dXJuIF9waHlzX3BrZ19pZChhcGljaWQs IGNvcmVfcGx1c19tYXNrX3dpZHRoKTsKIAl9CiAKLQlpZiAoYm9vdF9jcHVfaGFzKFg4Nl9GRUFU VVJFX0hUKSAmJgorCWlmIChib290X2NwdV9oYXMoWDg2X0ZFQVRVUkVfSFRUKSAmJgogCSAgICAh Ym9vdF9jcHVfaGFzKFg4Nl9GRUFUVVJFX0NNUF9MRUdBQ1kpKSB7CiAJCXVuc2lnbmVkIGludCBu dW1fc2libGluZ3MgPSAoY3B1aWRfZWJ4KDEpICYgMHhmZjAwMDApID4+IDE2OwogCmRpZmYgLS1n aXQgYS94ZW4vYXJjaC94ODYvY3B1L21jaGVjay9tY2VfaW50ZWwuYyBiL3hlbi9hcmNoL3g4Ni9j cHUvbWNoZWNrL21jZV9pbnRlbC5jCmluZGV4IDBiN2ZlNTMuLjAwNWU0MWQgMTAwNjQ0Ci0tLSBh L3hlbi9hcmNoL3g4Ni9jcHUvbWNoZWNrL21jZV9pbnRlbC5jCisrKyBiL3hlbi9hcmNoL3g4Ni9j cHUvbWNoZWNrL21jZV9pbnRlbC5jCkBAIC04NSw3ICs4NSw3IEBAIHN0YXRpYyBpbnQgaW50ZWxf dGhlcm1hbF9zdXBwb3J0ZWQoc3RydWN0IGNwdWluZm9feDg2ICpjKQogewogICAgIGlmICghY3B1 X2hhc19hcGljKQogICAgICAgICByZXR1cm4gMDsKLSAgICBpZiAoIWNwdV9oYXMoYywgWDg2X0ZF QVRVUkVfQUNQSSkgfHwgIWNwdV9oYXMoYywgWDg2X0ZFQVRVUkVfQUNDKSkKKyAgICBpZiAoIWNw dV9oYXMoYywgWDg2X0ZFQVRVUkVfQUNQSSkgfHwgIWNwdV9oYXMoYywgWDg2X0ZFQVRVUkVfVE0x KSkKICAgICAgICAgcmV0dXJuIDA7CiAgICAgcmV0dXJuIDE7CiB9CmRpZmYgLS1naXQgYS94ZW4v YXJjaC94ODYvY3B1L213YWl0LWlkbGUuYyBiL3hlbi9hcmNoL3g4Ni9jcHUvbXdhaXQtaWRsZS5j CmluZGV4IGI4NmJkZDcuLjBmY2MxMzAgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9jcHUvbXdh aXQtaWRsZS5jCisrKyBiL3hlbi9hcmNoL3g4Ni9jcHUvbXdhaXQtaWRsZS5jCkBAIC03NDYsNyAr NzQ2LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBpZGxlX2NwdSBpZGxlX2NwdV9hdm4gPSB7CiB9 OwogCiAjZGVmaW5lIElDUFUobW9kZWwsIGNwdSkgXAotICAgIHsgWDg2X1ZFTkRPUl9JTlRFTCwg NiwgbW9kZWwsIFg4Nl9GRUFUVVJFX01XQUlULCBcCisgICAgeyBYODZfVkVORE9SX0lOVEVMLCA2 LCBtb2RlbCwgWDg2X0ZFQVRVUkVfTU9OSVRPUiwgXAogICAgICAgICAmaWRsZV9jcHVfIyNjcHV9 CiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgeDg2X2NwdV9pZCBpbnRlbF9pZGxlX2lkc1tdIF9faW5p dGNvbnN0ID0gewpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2h2bS9odm0uYyBiL3hlbi9hcmNo L3g4Ni9odm0vaHZtLmMKaW5kZXggMjU1YTFkNi4uNzcyMzY4MCAxMDA2NDQKLS0tIGEveGVuL2Fy Y2gveDg2L2h2bS9odm0uYworKysgYi94ZW4vYXJjaC94ODYvaHZtL2h2bS5jCkBAIC0yMDMyLDcg KzIwMzIsNyBAQCB1bnNpZ25lZCBsb25nIGh2bV9jcjRfZ3Vlc3RfcmVzZXJ2ZWRfYml0cyhjb25z dCBzdHJ1Y3QgdmNwdSAqdixib29sX3QgcmVzdG9yZSkKICAgICAgICAgICAgICAobGVhZjFfZWR4 ICYgY3B1ZmVhdF9tYXNrKFg4Nl9GRUFUVVJFX1NTRSkgPwogICAgICAgICAgICAgICBYODZfQ1I0 X09TWE1NRVhDUFQgOiAwKSB8CiAgICAgICAgICAgICAgKChyZXN0b3JlIHx8IG5lc3RlZGh2bV9l bmFibGVkKHYtPmRvbWFpbikpICYmCi0gICAgICAgICAgICAgIChsZWFmMV9lY3ggJiBjcHVmZWF0 X21hc2soWDg2X0ZFQVRVUkVfVk1YRSkpID8KKyAgICAgICAgICAgICAgKGxlYWYxX2VjeCAmIGNw dWZlYXRfbWFzayhYODZfRkVBVFVSRV9WTVgpKSA/CiAgICAgICAgICAgICAgIFg4Nl9DUjRfVk1Y RSA6IDApIHwKICAgICAgICAgICAgICAobGVhZjdfMF9lYnggJiBjcHVmZWF0X21hc2soWDg2X0ZF QVRVUkVfRlNHU0JBU0UpID8KICAgICAgICAgICAgICAgWDg2X0NSNF9GU0dTQkFTRSA6IDApIHwK ZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9odm0vdm14L3ZtY3MuYyBiL3hlbi9hcmNoL3g4Ni9o dm0vdm14L3ZtY3MuYwppbmRleCBmZDRkODc2Li44Mjg0MjgxIDEwMDY0NAotLS0gYS94ZW4vYXJj aC94ODYvaHZtL3ZteC92bWNzLmMKKysrIGIveGVuL2FyY2gveDg2L2h2bS92bXgvdm1jcy5jCkBA IC02MzMsNyArNjMzLDcgQEAgaW50IHZteF9jcHVfdXAodm9pZCkKICAgICB7CiAgICAgICAgIGVh eCAgPSBJQTMyX0ZFQVRVUkVfQ09OVFJPTF9NU1JfTE9DSzsKICAgICAgICAgZWF4IHw9IElBMzJf RkVBVFVSRV9DT05UUk9MX01TUl9FTkFCTEVfVk1YT05fT1VUU0lERV9TTVg7Ci0gICAgICAgIGlm ICggdGVzdF9iaXQoWDg2X0ZFQVRVUkVfU01YRSwgJmJvb3RfY3B1X2RhdGEueDg2X2NhcGFiaWxp dHkpICkKKyAgICAgICAgaWYgKCB0ZXN0X2JpdChYODZfRkVBVFVSRV9TTVgsICZib290X2NwdV9k YXRhLng4Nl9jYXBhYmlsaXR5KSApCiAgICAgICAgICAgICBlYXggfD0gSUEzMl9GRUFUVVJFX0NP TlRST0xfTVNSX0VOQUJMRV9WTVhPTl9JTlNJREVfU01YOwogICAgICAgICB3cm1zcihJQTMyX0ZF QVRVUkVfQ09OVFJPTF9NU1IsIGVheCwgMCk7CiAgICAgfQpAQCAtNjUwLDcgKzY1MCw3IEBAIGlu dCB2bXhfY3B1X3VwKHZvaWQpCiAgICAgewogICAgIGNhc2UgLTI6IC8qICNVRCBvciAjR1AgKi8K ICAgICAgICAgaWYgKCBiaW9zX2xvY2tlZCAmJgotICAgICAgICAgICAgIHRlc3RfYml0KFg4Nl9G RUFUVVJFX1NNWEUsICZib290X2NwdV9kYXRhLng4Nl9jYXBhYmlsaXR5KSAmJgorICAgICAgICAg ICAgIHRlc3RfYml0KFg4Nl9GRUFUVVJFX1NNWCwgJmJvb3RfY3B1X2RhdGEueDg2X2NhcGFiaWxp dHkpICYmCiAgICAgICAgICAgICAgKCEoZWF4ICYgSUEzMl9GRUFUVVJFX0NPTlRST0xfTVNSX0VO QUJMRV9WTVhPTl9PVVRTSURFX1NNWCkgfHwKICAgICAgICAgICAgICAgIShlYXggJiBJQTMyX0ZF QVRVUkVfQ09OVFJPTF9NU1JfRU5BQkxFX1ZNWE9OX0lOU0lERV9TTVgpKSApCiAgICAgICAgIHsK ZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9odm0vdm14L3Z2bXguYyBiL3hlbi9hcmNoL3g4Ni9o dm0vdm14L3Z2bXguYwppbmRleCAxMjM4ZDAxLi5kODhlMTcyIDEwMDY0NAotLS0gYS94ZW4vYXJj aC94ODYvaHZtL3ZteC92dm14LmMKKysrIGIveGVuL2FyY2gveDg2L2h2bS92bXgvdnZteC5jCkBA IC0xODE1LDcgKzE4MTUsNyBAQCBpbnQgbnZteF9tc3JfcmVhZF9pbnRlcmNlcHQodW5zaWduZWQg aW50IG1zciwgdTY0ICptc3JfY29udGVudCkKIAogICAgIC8qIFZNWCBjYXBhYmxpdHkgTVNScyBh cmUgYXZhaWxhYmxlIG9ubHkgd2hlbiBndWVzdCBzdXBwb3J0cyBWTVguICovCiAgICAgaHZtX2Nw dWlkKDB4MSwgTlVMTCwgTlVMTCwgJmVjeCwgJmVkeCk7Ci0gICAgaWYgKCAhKGVjeCAmIGNwdWZl YXRfbWFzayhYODZfRkVBVFVSRV9WTVhFKSkgKQorICAgIGlmICggIShlY3ggJiBjcHVmZWF0X21h c2soWDg2X0ZFQVRVUkVfVk1YKSkgKQogICAgICAgICByZXR1cm4gMDsKIAogICAgIC8qCkBAIC0x OTY1LDkgKzE5NjUsOSBAQCBpbnQgbnZteF9tc3JfcmVhZF9pbnRlcmNlcHQodW5zaWduZWQgaW50 IG1zciwgdTY0ICptc3JfY29udGVudCkKICAgICAgICAgICAgIGRhdGEgfD0gWDg2X0NSNF9PU0ZY U1I7CiAgICAgICAgIGlmICggZWR4ICYgY3B1ZmVhdF9tYXNrKFg4Nl9GRUFUVVJFX1NTRSkgKQog ICAgICAgICAgICAgZGF0YSB8PSBYODZfQ1I0X09TWE1NRVhDUFQ7Ci0gICAgICAgIGlmICggZWN4 ICYgY3B1ZmVhdF9tYXNrKFg4Nl9GRUFUVVJFX1ZNWEUpICkKKyAgICAgICAgaWYgKCBlY3ggJiBj cHVmZWF0X21hc2soWDg2X0ZFQVRVUkVfVk1YKSApCiAgICAgICAgICAgICBkYXRhIHw9IFg4Nl9D UjRfVk1YRTsKLSAgICAgICAgaWYgKCBlY3ggJiBjcHVmZWF0X21hc2soWDg2X0ZFQVRVUkVfU01Y RSkgKQorICAgICAgICBpZiAoIGVjeCAmIGNwdWZlYXRfbWFzayhYODZfRkVBVFVSRV9TTVgpICkK ICAgICAgICAgICAgIGRhdGEgfD0gWDg2X0NSNF9TTVhFOwogICAgICAgICBpZiAoIGVjeCAmIGNw dWZlYXRfbWFzayhYODZfRkVBVFVSRV9QQ0lEKSApCiAgICAgICAgICAgICBkYXRhIHw9IFg4Nl9D UjRfUENJREU7CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvcHNyLmMgYi94ZW4vYXJjaC94ODYv cHNyLmMKaW5kZXggZjU3ZWU3Ny4uZjc5NjU1MiAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L3Bz ci5jCisrKyBiL3hlbi9hcmNoL3g4Ni9wc3IuYwpAQCAtMTIwLDcgKzEyMCw3IEBAIHN0YXRpYyB2 b2lkIF9faW5pdCBpbml0X3Bzcl9jbXQodW5zaWduZWQgaW50IHJtaWRfbWF4KQogICAgIHVuc2ln bmVkIGludCBlYXgsIGVieCwgZWN4LCBlZHg7CiAgICAgdW5zaWduZWQgaW50IHJtaWQ7CiAKLSAg ICBpZiAoICFib290X2NwdV9oYXMoWDg2X0ZFQVRVUkVfQ01UKSApCisgICAgaWYgKCAhYm9vdF9j cHVfaGFzKFg4Nl9GRUFUVVJFX1BRTSkgKQogICAgICAgICByZXR1cm47CiAKICAgICBjcHVpZF9j b3VudCgweGYsIDAsICZlYXgsICZlYngsICZlY3gsICZlZHgpOwpAQCAtNTg5LDcgKzU4OSw3IEBA IHN0YXRpYyB2b2lkIGNhdF9jcHVfaW5pdCh2b2lkKQogICAgIHVpbnQ2NF90IHZhbDsKICAgICBj b25zdCBzdHJ1Y3QgY3B1aW5mb194ODYgKmMgPSBjcHVfZGF0YSArIGNwdTsKIAotICAgIGlmICgg IWNwdV9oYXMoYywgWDg2X0ZFQVRVUkVfQ0FUKSB8fCBjLT5jcHVpZF9sZXZlbCA8IFBTUl9DUFVJ RF9MRVZFTF9DQVQgKQorICAgIGlmICggIWNwdV9oYXMoYywgWDg2X0ZFQVRVUkVfUFFFKSB8fCBj LT5jcHVpZF9sZXZlbCA8IFBTUl9DUFVJRF9MRVZFTF9DQVQgKQogICAgICAgICByZXR1cm47CiAK ICAgICBzb2NrZXQgPSBjcHVfdG9fc29ja2V0KGNwdSk7CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94 ODYvdHJhcHMuYyBiL3hlbi9hcmNoL3g4Ni90cmFwcy5jCmluZGV4IDU2NGExMDcuLjZmYmIxY2Yg MTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni90cmFwcy5jCisrKyBiL3hlbi9hcmNoL3g4Ni90cmFw cy5jCkBAIC05NTQsMTYgKzk1NCwxNiBAQCB2b2lkIHB2X2NwdWlkKHN0cnVjdCBjcHVfdXNlcl9y ZWdzICpyZWdzKQogICAgICAgICBpZiAoICFjcHVfaGFzX3NlcCApCiAgICAgICAgICAgICBfX2Ns ZWFyX2JpdChYODZfRkVBVFVSRV9TRVAsICZkKTsKICAgICAgICAgX19jbGVhcl9iaXQoWDg2X0ZF QVRVUkVfRFMsICZkKTsKLSAgICAgICAgX19jbGVhcl9iaXQoWDg2X0ZFQVRVUkVfQUNDLCAmZCk7 CisgICAgICAgIF9fY2xlYXJfYml0KFg4Nl9GRUFUVVJFX1RNMSwgJmQpOwogICAgICAgICBfX2Ns ZWFyX2JpdChYODZfRkVBVFVSRV9QQkUsICZkKTsKICAgICAgICAgaWYgKCBpc19wdmhfZG9tYWlu KGN1cnJkKSApCiAgICAgICAgICAgICBfX2NsZWFyX2JpdChYODZfRkVBVFVSRV9NVFJSLCAmZCk7 CiAKICAgICAgICAgX19jbGVhcl9iaXQoWDg2X0ZFQVRVUkVfRFRFUzY0ICUgMzIsICZjKTsKLSAg ICAgICAgX19jbGVhcl9iaXQoWDg2X0ZFQVRVUkVfTVdBSVQgJSAzMiwgJmMpOworICAgICAgICBf X2NsZWFyX2JpdChYODZfRkVBVFVSRV9NT05JVE9SICUgMzIsICZjKTsKICAgICAgICAgX19jbGVh cl9iaXQoWDg2X0ZFQVRVUkVfRFNDUEwgJSAzMiwgJmMpOwotICAgICAgICBfX2NsZWFyX2JpdChY ODZfRkVBVFVSRV9WTVhFICUgMzIsICZjKTsKLSAgICAgICAgX19jbGVhcl9iaXQoWDg2X0ZFQVRV UkVfU01YRSAlIDMyLCAmYyk7CisgICAgICAgIF9fY2xlYXJfYml0KFg4Nl9GRUFUVVJFX1ZNWCAl IDMyLCAmYyk7CisgICAgICAgIF9fY2xlYXJfYml0KFg4Nl9GRUFUVVJFX1NNWCAlIDMyLCAmYyk7 CiAgICAgICAgIF9fY2xlYXJfYml0KFg4Nl9GRUFUVVJFX1RNMiAlIDMyLCAmYyk7CiAgICAgICAg IGlmICggaXNfcHZfMzJiaXRfZG9tYWluKGN1cnJkKSApCiAgICAgICAgICAgICBfX2NsZWFyX2Jp dChYODZfRkVBVFVSRV9DWDE2ICUgMzIsICZjKTsKQEAgLTEwNDcsNyArMTA0Nyw3IEBAIHZvaWQg cHZfY3B1aWQoc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MpCiAgICAgICAgIF9fY2xlYXJfYml0 KFg4Nl9GRUFUVVJFX0xXUCAlIDMyLCAmYyk7CiAgICAgICAgIF9fY2xlYXJfYml0KFg4Nl9GRUFU VVJFX05PREVJRF9NU1IgJSAzMiwgJmMpOwogICAgICAgICBfX2NsZWFyX2JpdChYODZfRkVBVFVS RV9UT1BPRVhUICUgMzIsICZjKTsKLSAgICAgICAgX19jbGVhcl9iaXQoWDg2X0ZFQVRVUkVfTVdB SVRYICUgMzIsICZjKTsKKyAgICAgICAgX19jbGVhcl9iaXQoWDg2X0ZFQVRVUkVfTU9OSVRPUlgg JSAzMiwgJmMpOwogICAgICAgICBicmVhazsKIAogICAgIGNhc2UgMHgwMDAwMDAwYTogLyogQXJj aGl0ZWN0dXJhbCBQZXJmb3JtYW5jZSBNb25pdG9yIEZlYXR1cmVzIChJbnRlbCkgKi8KZGlmZiAt LWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14ODYvYW1kLmggYi94ZW4vaW5jbHVkZS9hc20teDg2L2Ft ZC5oCmluZGV4IDliNzRjNDkuLmU5ODY3YzcgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS14 ODYvYW1kLmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9hbWQuaApAQCAtNTAsNyArNTAsNyBA QAogI2RlZmluZSBBTURfRkVBVFVSRVNfSzhfUkVWX0VfRUNYICAgICAgICAoQU1EX0ZFQVRVUkVT X0s4X1JFVl9EX0VDWCB8CVwKIAljcHVmZWF0X21hc2soWDg2X0ZFQVRVUkVfU1NFMykpCiAjZGVm aW5lIEFNRF9GRUFUVVJFU19LOF9SRVZfRV9FRFggICAgICAgIChBTURfRkVBVFVSRVNfSzhfUkVW X0RfRURYIHwgCVwKLQljcHVmZWF0X21hc2soWDg2X0ZFQVRVUkVfSFQpKQorCWNwdWZlYXRfbWFz ayhYODZfRkVBVFVSRV9IVFQpKQogI2RlZmluZSBBTURfRVhURkVBVFVSRVNfSzhfUkVWX0VfRUNY ICAgICAoQU1EX0VYVEZFQVRVUkVTX0s4X1JFVl9EX0VDWCB8XAogCWNwdWZlYXRfbWFzayhYODZf RkVBVFVSRV9DTVBfTEVHQUNZKSkKICNkZWZpbmUgQU1EX0VYVEZFQVRVUkVTX0s4X1JFVl9FX0VE WCAgICAgIEFNRF9FWFRGRUFUVVJFU19LOF9SRVZfRF9FRFgKQEAgLTc0LDcgKzc0LDcgQEAKIAog LyogRmFtaWx5IDEwaCwgUmV2aXNpb24gQiAqLwogI2RlZmluZSBBTURfRkVBVFVSRVNfRkFNMTBo X1JFVl9CX0VDWCAgICAoQU1EX0ZFQVRVUkVTX0s4X1JFVl9GX0VDWCB8IAlcCi0JY3B1ZmVhdF9t YXNrKFg4Nl9GRUFUVVJFX1BPUENOVCkgfCBjcHVmZWF0X21hc2soWDg2X0ZFQVRVUkVfTVdBSVQp KQorCWNwdWZlYXRfbWFzayhYODZfRkVBVFVSRV9QT1BDTlQpIHwgY3B1ZmVhdF9tYXNrKFg4Nl9G RUFUVVJFX01PTklUT1IpKQogI2RlZmluZSBBTURfRkVBVFVSRVNfRkFNMTBoX1JFVl9CX0VEWCAg ICAgQU1EX0ZFQVRVUkVTX0s4X1JFVl9GX0VEWAogI2RlZmluZSBBTURfRVhURkVBVFVSRVNfRkFN MTBoX1JFVl9CX0VDWCAoQU1EX0VYVEZFQVRVUkVTX0s4X1JFVl9GX0VDWCB8XAogCWNwdWZlYXRf bWFzayhYODZfRkVBVFVSRV9BQk0pIHwgY3B1ZmVhdF9tYXNrKFg4Nl9GRUFUVVJFX1NTRTRBKSB8 IFwKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14ODYvY3B1ZmVhdHVyZS5oIGIveGVuL2lu Y2x1ZGUvYXNtLXg4Ni9jcHVmZWF0dXJlLmgKaW5kZXggNGVkMzZmZS4uMWJhYzU2MiAxMDA2NDQK LS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9jcHVmZWF0dXJlLmgKKysrIGIveGVuL2luY2x1ZGUv YXNtLXg4Ni9jcHVmZWF0dXJlLmgKQEAgLTM5LDggKzM5LDggQEAKIAkJCQkgICAgICAgICAgLyog b2YgRlBVIGNvbnRleHQpLCBhbmQgQ1I0Lk9TRlhTUiBhdmFpbGFibGUgKi8KICNkZWZpbmUgWDg2 X0ZFQVRVUkVfU1NFCQkoMCozMisyNSkgLyogU3RyZWFtaW5nIFNJTUQgRXh0ZW5zaW9ucyAqLwog I2RlZmluZSBYODZfRkVBVFVSRV9TU0UyCSgwKjMyKzI2KSAvKiBTdHJlYW1pbmcgU0lNRCBFeHRl bnNpb25zLTIgKi8KLSNkZWZpbmUgWDg2X0ZFQVRVUkVfSFQJCSgwKjMyKzI4KSAvKiBIeXBlci1U aHJlYWRpbmcgKi8KLSNkZWZpbmUgWDg2X0ZFQVRVUkVfQUNDCQkoMCozMisyOSkgLyogQXV0b21h dGljIGNsb2NrIGNvbnRyb2wgKi8KKyNkZWZpbmUgWDg2X0ZFQVRVUkVfSFRUCQkoMCozMisyOCkg LyogSHlwZXItVGhyZWFkaW5nIFRlY2hub2xvZ3kgKi8KKyNkZWZpbmUgWDg2X0ZFQVRVUkVfVE0x CQkoMCozMisyOSkgLyogVGhlcm1hbCBNb25pdG9yIDEgKi8KICNkZWZpbmUgWDg2X0ZFQVRVUkVf UEJFCQkoMCozMiszMSkgLyogUGVuZGluZyBCcmVhayBFbmFibGUgKi8KIAogLyogQU1ELWRlZmlu ZWQgQ1BVIGZlYXR1cmVzLCBDUFVJRCBsZXZlbCAweDgwMDAwMDAxLCB3b3JkIDEgKi8KQEAgLTc3 LDExICs3NywxMSBAQAogI2RlZmluZSBYODZfRkVBVFVSRV9TU0UzCSg0KjMyKyAwKSAvKiBTdHJl YW1pbmcgU0lNRCBFeHRlbnNpb25zLTMgKi8KICNkZWZpbmUgWDg2X0ZFQVRVUkVfUENMTVVMUURR CSg0KjMyKyAxKSAvKiBDYXJyeS1sZXNzIG11bGl0cGxpY2F0aW9uICovCiAjZGVmaW5lIFg4Nl9G RUFUVVJFX0RURVM2NAkoNCozMisgMikgLyogNjQtYml0IERlYnVnIFN0b3JlICovCi0jZGVmaW5l IFg4Nl9GRUFUVVJFX01XQUlUCSg0KjMyKyAzKSAvKiBNb25pdG9yL013YWl0IHN1cHBvcnQgKi8K KyNkZWZpbmUgWDg2X0ZFQVRVUkVfTU9OSVRPUgkoNCozMisgMykgLyogTW9uaXRvci9Nd2FpdCBz dXBwb3J0ICovCiAjZGVmaW5lIFg4Nl9GRUFUVVJFX0RTQ1BMCSg0KjMyKyA0KSAvKiBDUEwgUXVh bGlmaWVkIERlYnVnIFN0b3JlICovCi0jZGVmaW5lIFg4Nl9GRUFUVVJFX1ZNWEUJKDQqMzIrIDUp IC8qIFZpcnR1YWwgTWFjaGluZSBFeHRlbnNpb25zICovCi0jZGVmaW5lIFg4Nl9GRUFUVVJFX1NN WEUJKDQqMzIrIDYpIC8qIFNhZmVyIE1vZGUgRXh0ZW5zaW9ucyAqLwotI2RlZmluZSBYODZfRkVB VFVSRV9FU1QJCSg0KjMyKyA3KSAvKiBFbmhhbmNlZCBTcGVlZFN0ZXAgKi8KKyNkZWZpbmUgWDg2 X0ZFQVRVUkVfVk1YCQkoNCozMisgNSkgLyogVmlydHVhbCBNYWNoaW5lIEV4dGVuc2lvbnMgKi8K KyNkZWZpbmUgWDg2X0ZFQVRVUkVfU01YCQkoNCozMisgNikgLyogU2FmZXIgTW9kZSBFeHRlbnNp b25zICovCisjZGVmaW5lIFg4Nl9GRUFUVVJFX0VJU1QJKDQqMzIrIDcpIC8qIEVuaGFuY2VkIFNw ZWVkU3RlcCAqLwogI2RlZmluZSBYODZfRkVBVFVSRV9UTTIJCSg0KjMyKyA4KSAvKiBUaGVybWFs IE1vbml0b3IgMiAqLwogI2RlZmluZSBYODZfRkVBVFVSRV9TU1NFMwkoNCozMisgOSkgLyogU3Vw cGxlbWVudGFsIFN0cmVhbWluZyBTSU1EIEV4dGVuc2lvbnMtMyAqLwogI2RlZmluZSBYODZfRkVB VFVSRV9GTUEJCSg0KjMyKzEyKSAvKiBGdXNlZCBNdWx0aXBseSBBZGQgKi8KQEAgLTk2LDcgKzk2 LDcgQEAKICNkZWZpbmUgWDg2X0ZFQVRVUkVfTU9WQkUJKDQqMzIrMjIpIC8qIG1vdmJlIGluc3Ry dWN0aW9uICovCiAjZGVmaW5lIFg4Nl9GRUFUVVJFX1BPUENOVAkoNCozMisyMykgLyogUE9QQ05U IGluc3RydWN0aW9uICovCiAjZGVmaW5lIFg4Nl9GRUFUVVJFX1RTQ19ERUFETElORSAoNCozMisy NCkgLyogInRkdCIgVFNDIERlYWRsaW5lIFRpbWVyICovCi0jZGVmaW5lIFg4Nl9GRUFUVVJFX0FF UwkJKDQqMzIrMjUpIC8qIEFFUyBpbnN0cnVjdGlvbnMgKi8KKyNkZWZpbmUgWDg2X0ZFQVRVUkVf QUVTTkkJKDQqMzIrMjUpIC8qIEFFUyBpbnN0cnVjdGlvbnMgKi8KICNkZWZpbmUgWDg2X0ZFQVRV UkVfWFNBVkUJKDQqMzIrMjYpIC8qIFhTQVZFL1hSU1RPUi9YU0VUQlYvWEdFVEJWICovCiAjZGVm aW5lIFg4Nl9GRUFUVVJFX09TWFNBVkUJKDQqMzIrMjcpIC8qIE9TWFNBVkUgKi8KICNkZWZpbmUg WDg2X0ZFQVRVUkVfQVZYIAkoNCozMisyOCkgLyogQWR2YW5jZWQgVmVjdG9yIEV4dGVuc2lvbnMg Ki8KQEAgLTEyNyw3ICsxMjcsNyBAQAogI2RlZmluZSBYODZfRkVBVFVSRV9UQk0gICAgICAgICAo NiozMisyMSkgLyogdHJhaWxpbmcgYml0IG1hbmlwdWxhdGlvbnMgKi8KICNkZWZpbmUgWDg2X0ZF QVRVUkVfVE9QT0VYVCAgICAgKDYqMzIrMjIpIC8qIHRvcG9sb2d5IGV4dGVuc2lvbnMgQ1BVSUQg bGVhZnMgKi8KICNkZWZpbmUgWDg2X0ZFQVRVUkVfREJFWFQgICAgICAgKDYqMzIrMjYpIC8qIGRh dGEgYnJlYWtwb2ludCBleHRlbnNpb24gKi8KLSNkZWZpbmUgWDg2X0ZFQVRVUkVfTVdBSVRYICAg ICAgKDYqMzIrMjkpIC8qIE1XQUlUIGV4dGVuc2lvbiAoTU9OSVRPUlgvTVdBSVRYKSAqLworI2Rl ZmluZSBYODZfRkVBVFVSRV9NT05JVE9SWCAgICAoNiozMisyOSkgLyogTVdBSVQgZXh0ZW5zaW9u IChNT05JVE9SWC9NV0FJVFgpICovCiAKIC8qIEludGVsLWRlZmluZWQgQ1BVIGZlYXR1cmVzLCBD UFVJRCBsZXZlbCAweDAwMDAwMDA3OjAgKGVieCksIHdvcmQgNyAqLwogI2RlZmluZSBYODZfRkVB VFVSRV9GU0dTQkFTRQkoNyozMisgMCkgLyoge1JELFdSfXtGUyxHU31CQVNFIGluc3RydWN0aW9u cyAqLwpAQCAtMTM5LDEwICsxMzksMTAgQEAKICNkZWZpbmUgWDg2X0ZFQVRVUkVfRVJNUwkoNyoz MisgOSkgLyogRW5oYW5jZWQgUkVQIE1PVlNCL1NUT1NCICovCiAjZGVmaW5lIFg4Nl9GRUFUVVJF X0lOVlBDSUQJKDcqMzIrMTApIC8qIEludmFsaWRhdGUgUHJvY2VzcyBDb250ZXh0IElEICovCiAj ZGVmaW5lIFg4Nl9GRUFUVVJFX1JUTSAJKDcqMzIrMTEpIC8qIFJlc3RyaWN0ZWQgVHJhbnNhY3Rp b25hbCBNZW1vcnkgKi8KLSNkZWZpbmUgWDg2X0ZFQVRVUkVfQ01UIAkoNyozMisxMikgLyogQ2Fj aGUgTW9uaXRvcmluZyBUZWNobm9sb2d5ICovCisjZGVmaW5lIFg4Nl9GRUFUVVJFX1BRTSAJKDcq MzIrMTIpIC8qIFBsYXRmb3JtIFFvUyBNb25pdG9yaW5nICovCiAjZGVmaW5lIFg4Nl9GRUFUVVJF X05PX0ZQVV9TRUwgCSg3KjMyKzEzKSAvKiBGUFUgQ1MvRFMgc3RvcmVkIGFzIHplcm8gKi8KICNk ZWZpbmUgWDg2X0ZFQVRVUkVfTVBYCQkoNyozMisxNCkgLyogTWVtb3J5IFByb3RlY3Rpb24gRXh0 ZW5zaW9ucyAqLwotI2RlZmluZSBYODZfRkVBVFVSRV9DQVQgCSg3KjMyKzE1KSAvKiBDYWNoZSBB bGxvY2F0aW9uIFRlY2hub2xvZ3kgKi8KKyNkZWZpbmUgWDg2X0ZFQVRVUkVfUFFFIAkoNyozMisx NSkgLyogUGxhdGZvcm0gUW9TIEVuZm9yY2VtZW50ICovCiAjZGVmaW5lIFg4Nl9GRUFUVVJFX1JE U0VFRAkoNyozMisxOCkgLyogUkRTRUVEIGluc3RydWN0aW9uICovCiAjZGVmaW5lIFg4Nl9GRUFU VVJFX0FEWAkJKDcqMzIrMTkpIC8qIEFEQ1gsIEFET1ggaW5zdHJ1Y3Rpb25zICovCiAjZGVmaW5l IFg4Nl9GRUFUVVJFX1NNQVAJKDcqMzIrMjApIC8qIFN1cGVydmlzb3IgTW9kZSBBY2Nlc3MgUHJl dmVudGlvbiAqLwpAQCAtMTgxLDcgKzE4MSw3IEBACiAjZGVmaW5lIGNwdV9oYXNfc3NlCQlib290 X2NwdV9oYXMoWDg2X0ZFQVRVUkVfU1NFKQogI2RlZmluZSBjcHVfaGFzX3NzZTIJCWJvb3RfY3B1 X2hhcyhYODZfRkVBVFVSRV9TU0UyKQogI2RlZmluZSBjcHVfaGFzX3NzZTMJCWJvb3RfY3B1X2hh cyhYODZfRkVBVFVSRV9TU0UzKQotI2RlZmluZSBjcHVfaGFzX2h0CQlib290X2NwdV9oYXMoWDg2 X0ZFQVRVUkVfSFQpCisjZGVmaW5lIGNwdV9oYXNfaHR0CQlib290X2NwdV9oYXMoWDg2X0ZFQVRV UkVfSFRUKQogI2RlZmluZSBjcHVfaGFzX254CQlib290X2NwdV9oYXMoWDg2X0ZFQVRVUkVfTlgp CiAjZGVmaW5lIGNwdV9oYXNfY2xmbHVzaAkJYm9vdF9jcHVfaGFzKFg4Nl9GRUFUVVJFX0NMRkxV U0gpCiAjZGVmaW5lIGNwdV9oYXNfcGFnZTFnYgkJYm9vdF9jcHVfaGFzKFg4Nl9GRUFUVVJFX1BB R0UxR0IpCkBAIC0yMDEsNyArMjAxLDcgQEAKICNkZWZpbmUgY3B1X2hhc19hcmNoX3BlcmZtb24g ICAgYm9vdF9jcHVfaGFzKFg4Nl9GRUFUVVJFX0FSQ0hfUEVSRk1PTikKICNkZWZpbmUgY3B1X2hh c19yZHRzY3AgICAgICAgICAgYm9vdF9jcHVfaGFzKFg4Nl9GRUFUVVJFX1JEVFNDUCkKICNkZWZp bmUgY3B1X2hhc19zdm0JCWJvb3RfY3B1X2hhcyhYODZfRkVBVFVSRV9TVk0pCi0jZGVmaW5lIGNw dV9oYXNfdm14CQlib290X2NwdV9oYXMoWDg2X0ZFQVRVUkVfVk1YRSkKKyNkZWZpbmUgY3B1X2hh c192bXgJCWJvb3RfY3B1X2hhcyhYODZfRkVBVFVSRV9WTVgpCiAjZGVmaW5lIGNwdV9oYXNfY3B1 aWRfZmF1bHRpbmcJYm9vdF9jcHVfaGFzKFg4Nl9GRUFUVVJFX0NQVUlEX0ZBVUxUSU5HKQogI2Rl ZmluZSBjcHVfaGFzX2N4MTYgICAgICAgICAgICBib290X2NwdV9oYXMoWDg2X0ZFQVRVUkVfQ1gx NikKICNkZWZpbmUgY3B1X2hhc194c2F2ZW9wdAlib290X2NwdV9oYXMoWDg2X0ZFQVRVUkVfWFNB VkVPUFQpCi0tIAoyLjEuNAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcK aHR0cDovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==