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: Mattias Ellert To: git-commits@fedoraproject.org Subject: [rpms/gsi-openssh] epel9: Based on openssh-9.9p1-15.el9 Date: Tue, 22 Sep 2026 20:00:46 GMT Message-ID: <179010724628.1.6511443031953319370.rpms-gsi-openssh-5e2f0d114e81@fedoraproject.org> List-ID: X-Git-Repo: rpms/gsi-openssh X-Git-Branch: epel9 X-Git-Rev: 5e2f0d114e81101e91936e396740c02e143e7166 QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvZ3NpLW9wZW5zc2gK QnJhbmNoIDogZXBlbDkKQ29tbWl0IDogNWUyZjBkMTE0ZTgxMTAxZTkxOTM2ZTM5Njc0MGMwMmUx NDNlNzE2NgpBdXRob3IgOiBNYXR0aWFzIEVsbGVydCA8bWF0dGlhcy5lbGxlcnRAcGh5c2ljcy51 dS5zZT4KRGF0ZSAgIDogMjAyNi0wOS0yMlQxMDo1MTo0MSswMjowMApTdGF0cyAgOiArNzE3Ly0x MTkgaW4gMTAgZmlsZShzKQpVUkwgICAgOiBodHRwczovL3NyYy5mZWRvcmFwcm9qZWN0Lm9yZy9y cG1zL2dzaS1vcGVuc3NoL2MvNWUyZjBkMTE0ZTgxMTAxZTkxOTM2ZTM5Njc0MGMwMmUxNDNlNzE2 Nj9icmFuY2g9ZXBlbDkKCkxvZzoKQmFzZWQgb24gb3BlbnNzaC05LjlwMS0xNS5lbDkKCi0tLQpk aWZmIC0tZ2l0IGEvZ3NpLW9wZW5zc2guc3BlYyBiL2dzaS1vcGVuc3NoLnNwZWMKaW5kZXggMTMy Y2JjMy4uMDRmYmRkNyAxMDA2NDQKLS0tIGEvZ3NpLW9wZW5zc2guc3BlYworKysgYi9nc2ktb3Bl bnNzaC5zcGVjCkBAIC0yNCw3ICsyNCw3IEBACiAlZ2xvYmFsIGxpYmVkaXQgMQogCiAlZ2xvYmFs IG9wZW5zc2hfdmVyIDkuOXAxCi0lZ2xvYmFsIG9wZW5zc2hfcmVsIDMKKyVnbG9iYWwgb3BlbnNz aF9yZWwgNAogCiBTdW1tYXJ5OiBBbiBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgU1NIIHByb3RvY29s IHdpdGggR1NJIGF1dGhlbnRpY2F0aW9uCiBOYW1lOiBnc2ktb3BlbnNzaApAQCAtMjE1LDYgKzIx NSwyNiBAQCBQYXRjaDEwNDQ6IG9wZW5zc2gtOS45cDEtYXV0aG9yaXplZC1rZXlzLXByaW5jaXBs ZXMtb3B0aW9uLnBhdGNoCiAjIHVwc3RyZWFtIDYwN2JkODcxZWMwMjllOWFhMjJlNjMyYTIyNTQ3 MjUwZjNjYWUyMjMKICMgdXBzdHJlYW0gMTM0MGQzZmE4ZTRiYjEyMjkwNmE4MjE1OWM0YzliOTE1 ODRkNjVjZQogUGF0Y2gxMDQ1OiBvcGVuc3NoLTkuOXAxLXByb3h5anVtcC11c2VybmFtZS12YWxp ZGl0eS1jaGVja3MucGF0Y2gKKyMgdXBzdHJlYW0gMzY0ODAxODFmYTIyZjk4ZTE4MGI0ZjllMTAy MDM0ODBjMDM0NmM3OAorUGF0Y2gxMDQ2OiBvcGVuc3NoLTkuOXAxLXNjcC1yZW1vdGUtZ2xvYi5w YXRjaAorIyB1cHN0cmVhbSBlOGJkZmIxNTFhMzU2ZDAxNzFmZWE0MTk0ZGQyMDVmYmIyNTJiZTIz CitQYXRjaDEwNDc6IG9wZW5zc2gtOS45cDEtY3ZlLTIwMjYtNjAwMDIucGF0Y2gKKyMgdXBzdHJl YW0gZWRkZDFkMmRhYTY0YTZhYjFhOTE1Y2E4ODQzNmZhNDFhZWRlNDRkNAorIyB1cHN0cmVhbSBi YzMyODE0NGYxNDlhZjA3MTM5YTBmMmMxMzI5MDE4Y2Q4NWI4NmI3CitQYXRjaDEwNDg6IG9wZW5z c2gtOS45cDEtbWF4c3RhcnR1cHMtbWlzdHJhY2tpbmcucGF0Y2gKKyMgdXBzdHJlYW0gNmE1NzA4 MWRjMzVhY2YzZWUyOTgxMDhkNGJjMzU4MDQ4OTYwOGQ1ZgorUGF0Y2gxMDQ5OiBvcGVuc3NoLTEw LjRwMS1DVkUtMjAyNi01OTk5NS5wYXRjaAorIyB1cHN0cmVhbSA4ZGZlN2VkNmUyZmQ5ODhkZTA4 ZGY1MDgzNTVhMTk2Yjk1NmIyNzUzCisjIHVwc3RyZWFtIGQzMjJmMmNjZjdkYTA5NWNlOTRkMWQ5 OWNiNTYzMjQ2ZjYxNDg3YjAKKyMgY29tYmluZXMgQ1ZFLTIwMjYtNTk5OTkgYW5kIENWRS0yMDI2 LTczMjgzCisjIGRvd25zdHJlYW0gc3BlY2lmaWMgZml4LCBkcm9wIG9uIHJlYmFzZQorUGF0Y2gx MDUwOiBvcGVuc3NoLTEwLjRwMS1DVkUtMjAyNi01OTk5OS5wYXRjaAorIyB1cHN0cmVhbSA2YTU3 MDgxZGMzNWFjZjNlZTI5ODEwOGQ0YmMzNTgwNDg5NjA4ZDVmCitQYXRjaDEwNTE6IG9wZW5zc2gt MTAuNXAxLUNWRS0yMDI2LTczMjgxLnBhdGNoCisjIHVwc3RyZWFtIDk5MTBkNWVmNTMxMjRjZTEx NTdkNTdiYzExZTIyMjY1OGFhNDEyOTkKK1BhdGNoMTA1Mjogb3BlbnNzaC0xMC41cDEtQ1ZFLTIw MjYtNzMyODIucGF0Y2gKKyMgdXBzdHJlYW0gZDQzYmE2MGM5MWNiMzIzY2E5MjEwNDliN2Q0M2Ix OTA4YzMxODQ1NAorUGF0Y2gxMDUzOiBvcGVuc3NoLTkuOXAxLUNWRS0yMDI2LTYwMDAxLnBhdGNo CiAKICMgVGhpcyBpcyB0aGUgcGF0Y2ggdGhhdCBhZGRzIEdTSSBzdXBwb3J0CiAjIEJhc2VkIG9u IGhwbl9pc3NoZC1nc2kuNy41cDFiLnBhdGNoIGZyb20gR2xvYnVzIHVwc3RyZWFtCkBAIC0zOTYs NiArNDE2LDE0IEBAIGdwZ3YyIC0tcXVpZXQgLS1rZXlyaW5nICV7U09VUkNFM30gJXtTT1VSQ0Ux fSAle1NPVVJDRTB9CiAlcGF0Y2ggLVAxMDQzIC1wMSAtYiAuZWNkc2EtaW5jb21wbGV0ZS1hcHBs aWNhdGlvbgogJXBhdGNoIC1QMTA0NCAtcDEgLWIgLmF1dGhvcml6ZWQta2V5cy1wcmluY2lwbGVz LW9wdGlvbgogJXBhdGNoIC1QMTA0NSAtcDEgLWIgLnByb3h5anVtcC11c2VybmFtZS12YWxpZGl0 eS1jaGVja3MKKyVwYXRjaCAtUDEwNDYgLXAxIC1iIC5zY3AtcmVtb3RlLWdsb2IKKyVwYXRjaCAt UDEwNDcgLXAxIC1iIC5jdmUtMjAyNi02MDAwMgorJXBhdGNoIC1QMTA0OCAtcDEgLWIgLm1heHN0 YXJ0dXBzLW1pc3RyYWNraW5nCislcGF0Y2ggLVAxMDQ5IC1wMSAtYiAuQ1ZFLTIwMjYtNTk5OTUK KyVwYXRjaCAtUDEwNTAgLXAxIC1iIC5DVkUtMjAyNi01OTk5OQorJXBhdGNoIC1QMTA1MSAtcDEg LWIgLkNWRS0yMDI2LTczMjgxCislcGF0Y2ggLVAxMDUyIC1wMSAtYiAuQ1ZFLTIwMjYtNzMyODIK KyVwYXRjaCAtUDEwNTMgLXAxIC1iIC5DVkUtMjAyNi02MDAwMQogCiAlcGF0Y2ggLVAxMDAgLXAx IC1iIC5jb3Zlcml0eQogCkBAIC02MDMsNiArNjMxLDkgQEAgZmkKICVhdHRyKDA2NDQscm9vdCxy b290KSAle19zeXN1c2Vyc2Rpcn0vJXtuYW1lfS1zZXJ2ZXIuY29uZgogCiAlY2hhbmdlbG9nCisq IFR1ZSBTZXAgMjIgMjAyNiBNYXR0aWFzIEVsbGVydCAgPG1hdHRpYXMuZWxsZXJ0QHBoeXNpY3Mu dXUuc2U+IC0gOS45cDEtNAorLSBCYXNlZCBvbiBvcGVuc3NoLTkuOXAxLTE1LmVsOQorCiAqIFRo dSBKdWwgMDkgMjAyNiBNYXR0aWFzIEVsbGVydCA8bWF0dGlhcy5lbGxlcnRAcGh5c2ljcy51dS5z ZT4gLSA5LjlwMS0zCiAtIEJhc2VkIG9uIG9wZW5zc2gtOS45cDEtOS5lbDkKIAoKZGlmZiAtLWdp dCBhL29wZW5zc2gtMTAuNHAxLUNWRS0yMDI2LTU5OTk1LnBhdGNoIGIvb3BlbnNzaC0xMC40cDEt Q1ZFLTIwMjYtNTk5OTUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u MGJhODM4OAotLS0gL2Rldi9udWxsCisrKyBiL29wZW5zc2gtMTAuNHAxLUNWRS0yMDI2LTU5OTk1 LnBhdGNoCkBAIC0wLDAgKzEsMjAgQEAKK2RpZmYgLS1naXQgYS9zZnRwLmMgYi9zZnRwLmMKK2lu ZGV4IDBhYjkyMDZjMi4uMGI1N2UwODMzIDEwMDY0NAorLS0tIGEvc2Z0cC5jCisrKysgYi9zZnRw LmMKK0BAIC0yMjg5LDEzICsyMjg5LDggQEAgaW50ZXJhY3RpdmVfbG9vcChzdHJ1Y3Qgc2Z0cF9j b25uICpjb25uLCBjaGFyICpmaWxlMSwgY2hhciAqZmlsZTIpCisgCQkJCXJldHVybiAoLTEpOwor IAkJCX0KKyAJCX0gZWxzZSB7CistCQkJLyogWFhYIHRoaXMgaXMgd3Jvbmcgd3J0IHF1b3Rpbmcg Ki8KKy0JCQlzbnByaW50ZihjbWQsIHNpemVvZiBjbWQsICJnZXQlcyAlcyVzJXMiLAorLQkJCSAg ICBnbG9iYWxfYWZsYWcgPyAiIC1hIiA6ICIiLCBkaXIsCistCQkJICAgIGZpbGUyID09IE5VTEwg PyAiIiA6ICIgIiwKKy0JCQkgICAgZmlsZTIgPT0gTlVMTCA/ICIiIDogZmlsZTIpOworLQkJCWVy ciA9IHBhcnNlX2Rpc3BhdGNoX2NvbW1hbmQoY29ubiwgY21kLAorLQkJCSAgICAmcmVtb3RlX3Bh dGgsIHN0YXJ0ZGlyLCAxLCAwKTsKKysJCQllcnIgPSBwcm9jZXNzX2dldChjb25uLCBkaXIsIGZp bGUyLCByZW1vdGVfcGF0aCwgMCwgMCwKKysJCQkgICAgZ2xvYmFsX2FmbGFnLCAwKTsKKyAJCQlm cmVlKGRpcik7CisgCQkJZnJlZShzdGFydGRpcik7CisgCQkJZnJlZShyZW1vdGVfcGF0aCk7Cgpk aWZmIC0tZ2l0IGEvb3BlbnNzaC0xMC40cDEtQ1ZFLTIwMjYtNTk5OTkucGF0Y2ggYi9vcGVuc3No LTEwLjRwMS1DVkUtMjAyNi01OTk5OS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwLi5iMWJmNThjCi0tLSAvZGV2L251bGwKKysrIGIvb3BlbnNzaC0xMC40cDEtQ1ZFLTIw MjYtNTk5OTkucGF0Y2gKQEAgLTAsMCArMSw3OCBAQAorZGlmZiAtLWdpdCBhL2F1dGgtb3B0aW9u cy5jIGIvYXV0aC1vcHRpb25zLmMKK2luZGV4IGUxNWY2MDBhYi4uYzVmYzRlNTljIDEwMDY0NAor LS0tIGEvYXV0aC1vcHRpb25zLmMKKysrKyBiL2F1dGgtb3B0aW9ucy5jCitAQCAtMjQyLDYgKzI0 Miw3IEBAIHNzaGF1dGhvcHRfbmV3X3dpdGhfa2V5c19kZWZhdWx0cyh2b2lkKQorIAlyZXQtPnBl cm1pdF94MTFfZm9yd2FyZGluZ19mbGFnID0gMTsKKyAJcmV0LT5wZXJtaXRfcHR5X2ZsYWcgPSAx OworIAlyZXQtPnBlcm1pdF91c2VyX3JjID0gMTsKKysJcmV0LT5wZXJtaXRfdHVuX2ZsYWcgPSAx OworIAlyZXR1cm4gcmV0OworIH0KKworQEAgLTM0NSw2ICszNDYsNyBAQCBzc2hhdXRob3B0X3Bh cnNlKGNvbnN0IGNoYXIgKm9wdHMsIGNvbnN0IGNoYXIgKiplcnJzdHJwKQorIAkJCXJldC0+cGVy bWl0X3gxMV9mb3J3YXJkaW5nX2ZsYWcgPSAwOworIAkJCXJldC0+cGVybWl0X3B0eV9mbGFnID0g MDsKKyAJCQlyZXQtPnBlcm1pdF91c2VyX3JjID0gMDsKKysJCQlyZXQtPnBlcm1pdF90dW5fZmxh ZyA9IDA7CisgCQl9IGVsc2UgaWYgKChyID0gb3B0X2ZsYWcoImNlcnQtYXV0aG9yaXR5IiwgMCwg Jm9wdHMpKSAhPSAtMSkgeworIAkJCXJldC0+Y2VydF9hdXRob3JpdHkgPSByOworIAkJfSBlbHNl IGlmICgociA9IG9wdF9mbGFnKCJwb3J0LWZvcndhcmRpbmciLCAxLCAmb3B0cykpICE9IC0xKSB7 CitAQCAtNjAxLDYgKzYwMyw3IEBAIHNzaGF1dGhvcHRfbWVyZ2UoY29uc3Qgc3RydWN0IHNzaGF1 dGhvcHQgKnByaW1hcnksCisgCU9QVEZMQUdfQU5EKHBlcm1pdF94MTFfZm9yd2FyZGluZ19mbGFn KTsKKyAJT1BURkxBR19BTkQocGVybWl0X3B0eV9mbGFnKTsKKyAJT1BURkxBR19BTkQocGVybWl0 X3VzZXJfcmMpOworKwlPUFRGTEFHX0FORChwZXJtaXRfdHVuX2ZsYWcpOworIAlPUFRGTEFHX0FO RChub19yZXF1aXJlX3VzZXJfcHJlc2VuY2UpOworIAkvKiBSZXN0cmljdGl2ZSBmbGFncyBhcmUg bG9naWNhbC1PUiAoaS5lLiBtdXN0IGJlIHNldCBpbiBlaXRoZXIpICovCisgCU9QVEZMQUdfT1Io cmVxdWlyZV92ZXJpZnkpOworQEAgLTY2OSw2ICs2NzIsNyBAQCBzc2hhdXRob3B0X2NvcHkoY29u c3Qgc3RydWN0IHNzaGF1dGhvcHQgKm9yaWcpCisgCU9QVFNDQUxBUihwZXJtaXRfeDExX2Zvcndh cmRpbmdfZmxhZyk7CisgCU9QVFNDQUxBUihwZXJtaXRfcHR5X2ZsYWcpOworIAlPUFRTQ0FMQVIo cGVybWl0X3VzZXJfcmMpOworKwlPUFRTQ0FMQVIocGVybWl0X3R1bl9mbGFnKTsKKyAJT1BUU0NB TEFSKHJlc3RyaWN0ZWQpOworIAlPUFRTQ0FMQVIoY2VydF9hdXRob3JpdHkpOworIAlPUFRTQ0FM QVIoZm9yY2VfdHVuX2RldmljZSk7CitAQCAtODA0LDYgKzgwOCw3IEBAIHNzaGF1dGhvcHRfc2Vy aWFsaXNlKGNvbnN0IHN0cnVjdCBzc2hhdXRob3B0ICpvcHRzLCBzdHJ1Y3Qgc3NoYnVmICptLAor IAkgICAgKHIgPSBzc2hidWZfcHV0X3U4KG0sIG9wdHMtPnBlcm1pdF94MTFfZm9yd2FyZGluZ19m bGFnKSkgIT0gMCB8fAorIAkgICAgKHIgPSBzc2hidWZfcHV0X3U4KG0sIG9wdHMtPnBlcm1pdF9w dHlfZmxhZykpICE9IDAgfHwKKyAJICAgIChyID0gc3NoYnVmX3B1dF91OChtLCBvcHRzLT5wZXJt aXRfdXNlcl9yYykpICE9IDAgfHwKKysJICAgIChyID0gc3NoYnVmX3B1dF91OChtLCBvcHRzLT5w ZXJtaXRfdHVuX2ZsYWcpKSAhPSAwIHx8CisgCSAgICAociA9IHNzaGJ1Zl9wdXRfdTgobSwgb3B0 cy0+cmVzdHJpY3RlZCkpICE9IDAgfHwKKyAJICAgIChyID0gc3NoYnVmX3B1dF91OChtLCBvcHRz LT5jZXJ0X2F1dGhvcml0eSkpICE9IDAgfHwKKyAJICAgIChyID0gc3NoYnVmX3B1dF91OChtLCBv cHRzLT5ub19yZXF1aXJlX3VzZXJfcHJlc2VuY2UpKSAhPSAwIHx8CitAQCAtODY3LDYgKzg3Miw3 IEBAIHNzaGF1dGhvcHRfZGVzZXJpYWxpc2Uoc3RydWN0IHNzaGJ1ZiAqbSwgc3RydWN0IHNzaGF1 dGhvcHQgKipvcHRzcCkKKyAJT1BUX0ZMQUcocGVybWl0X3gxMV9mb3J3YXJkaW5nX2ZsYWcpOwor IAlPUFRfRkxBRyhwZXJtaXRfcHR5X2ZsYWcpOworIAlPUFRfRkxBRyhwZXJtaXRfdXNlcl9yYyk7 CisrCU9QVF9GTEFHKHBlcm1pdF90dW5fZmxhZyk7CisgCU9QVF9GTEFHKHJlc3RyaWN0ZWQpOwor IAlPUFRfRkxBRyhjZXJ0X2F1dGhvcml0eSk7CisgCU9QVF9GTEFHKG5vX3JlcXVpcmVfdXNlcl9w cmVzZW5jZSk7CitkaWZmIC0tZ2l0IGEvYXV0aC1vcHRpb25zLmggYi9hdXRoLW9wdGlvbnMuaAor aW5kZXggNmUyOWI3MjdjLi4xOTFiOWIyNDkgMTAwNjQ0CistLS0gYS9hdXRoLW9wdGlvbnMuaAor KysrIGIvYXV0aC1vcHRpb25zLmgKK0BAIC0zOSw2ICszOSw3IEBAIHN0cnVjdCBzc2hhdXRob3B0 IHsKKyAJaW50IHBlcm1pdF94MTFfZm9yd2FyZGluZ19mbGFnOworIAlpbnQgcGVybWl0X3B0eV9m bGFnOworIAlpbnQgcGVybWl0X3VzZXJfcmM7CisrCWludCBwZXJtaXRfdHVuX2ZsYWc7CisKKyAJ LyogInJlc3RyaWN0IiBrZXl3b3JkIHdhcyBpbnZva2VkICovCisgCWludCByZXN0cmljdGVkOwor ZGlmZiAtLWdpdCBhL3NlcnZlcmxvb3AuYyBiL3NlcnZlcmxvb3AuYworaW5kZXggOGE2ZTNkYjgw Li5jZjUyNDNmODAgMTAwNjQ0CistLS0gYS9zZXJ2ZXJsb29wLmMKKysrKyBiL3NlcnZlcmxvb3Au YworQEAgLTUyMyw3ICs1MjMsOCBAQCBzZXJ2ZXJfcmVxdWVzdF90dW4oc3RydWN0IHNzaCAqc3No KQorIAkJc3NoX3BhY2tldF9zZW5kX2RlYnVnKHNzaCwgIlVuc3VwcG9ydGVkIHR1bm5lbCBkZXZp Y2UgbW9kZS4iKTsKKyAJCXJldHVybiBOVUxMOworIAl9CistCWlmICgob3B0aW9ucy5wZXJtaXRf dHVuICYgbW9kZSkgPT0gMCkgeworKwlpZiAoKG9wdGlvbnMucGVybWl0X3R1biAmIG1vZGUpID09 IDAgfHwgb3B0aW9ucy5kaXNhYmxlX2ZvcndhcmRpbmcgfHwKKysJICAgICFhdXRoX29wdHMtPnBl cm1pdF90dW5fZmxhZykgeworIAkJc3NoX3BhY2tldF9zZW5kX2RlYnVnKHNzaCwgIlNlcnZlciBo YXMgcmVqZWN0ZWQgdHVubmVsIGRldmljZSAiCisgCQkgICAgImZvcndhcmRpbmciKTsKKyAJCXJl dHVybiBOVUxMOwoKZGlmZiAtLWdpdCBhL29wZW5zc2gtMTAuNXAxLUNWRS0yMDI2LTczMjgxLnBh dGNoIGIvb3BlbnNzaC0xMC41cDEtQ1ZFLTIwMjYtNzMyODEucGF0Y2gKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMC4uYjU5ZWMzNQotLS0gL2Rldi9udWxsCisrKyBiL29wZW5zc2gt MTAuNXAxLUNWRS0yMDI2LTczMjgxLnBhdGNoCkBAIC0wLDAgKzEsNDIgQEAKK2RpZmYgLS1naXQg YS9zc2gtYWdlbnQuYyBiL3NzaC1hZ2VudC5jCistLS0gYS9zc2gtYWdlbnQuYworKysrIGIvc3No LWFnZW50LmMKK0BAIC0xODM5LDggKzE4MzksMTcgQEAgcHJvY2Vzc19leHRlbnNpb24oU29ja2V0 RW50cnkgKmUpCisgCQllcnJvcl9mcihyLCAicGFyc2UiKTsKKyAJCWdvdG8gc2VuZDsKKyAJfQor KworKwkvKgorKwkgKiBUaGlzIGZ1bmN0aW9uIGNhbiBiZSBjYWxsZWQgd2hpbGUgdGhlIGFnZW50 IGlzIGxvY2tlZCB0byBhbGxvdworKwkgKiBzZXNzaW9uIGJpbmRzIHRvIGJlIHByb2Nlc3NlZCBm b3IgbmV3IGNoYW5uZWxzLgorKwkgKiBPdGhlciBvcGVyYXRpb25zIHNob3VsZCBiZSByZWZ1c2Vk IHdoZW4gbG9ja2VkLgorKwkgKi8KKysKKyAJaWYgKHN0cmNtcChuYW1lLCAic2Vzc2lvbi1iaW5k QG9wZW5zc2guY29tIikgPT0gMCkKKyAJCXN1Y2Nlc3MgPSBwcm9jZXNzX2V4dF9zZXNzaW9uX2Jp bmQoZSk7CisrCWVsc2UgaWYgKGxvY2tlZCkKKysJCWRlYnVnX2YoImF0dGVtcHQgdG8gdXNlIGV4 dGVuc2lvbiBcIiVzXCIgd2hpbGUgbG9ja2VkIiwgbmFtZSk7CisgCWVsc2UKKyAJCWRlYnVnX2Yo InVuc3VwcG9ydGVkIGV4dGVuc2lvbiBcIiVzXCIiLCBuYW1lKTsKKyAJZnJlZShuYW1lKTsKK0BA IC0xODkyLDE2ICsxOTAxLDE5IEBAIHByb2Nlc3NfbWVzc2FnZSh1X2ludCBzb2NrbnVtKQorCisg CS8qIGNoZWNrIHdoZXRoZXIgYWdlbnQgaXMgbG9ja2VkICovCisgCWlmIChsb2NrZWQgJiYgdHlw ZSAhPSBTU0hfQUdFTlRDX1VOTE9DSykgeworLQkJc3NoYnVmX3Jlc2V0KGUtPnJlcXVlc3QpOwor IAkJc3dpdGNoICh0eXBlKSB7CisgCQljYXNlIFNTSDJfQUdFTlRDX1JFUVVFU1RfSURFTlRJVElF UzoKKyAJCQkvKiBzZW5kIGVtcHR5IGxpc3RzICovCisgCQkJbm9faWRlbnRpdGllcyhlKTsKKyAJ CQlicmVhazsKKysJCWNhc2UgU1NIX0FHRU5UQ19FWFRFTlNJT046CisrCQkJcHJvY2Vzc19leHRl bnNpb24oZSk7CisrCQkJYnJlYWs7CisgCQlkZWZhdWx0OgorIAkJCS8qIHNlbmQgYSBmYWlsIG1l c3NhZ2UgZm9yIGFsbCBvdGhlciByZXF1ZXN0IHR5cGVzICovCisgCQkJc2VuZF9zdGF0dXMoZSwg MCk7CisgCQl9CisrCQlzc2hidWZfcmVzZXQoZS0+cmVxdWVzdCk7CisgCQlyZXR1cm4gMTsKKyAJ fQorCgpkaWZmIC0tZ2l0IGEvb3BlbnNzaC0xMC41cDEtQ1ZFLTIwMjYtNzMyODIucGF0Y2ggYi9v cGVuc3NoLTEwLjVwMS1DVkUtMjAyNi03MzI4Mi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp bmRleCAwMDAwMDAwLi5hNGM0OTczCi0tLSAvZGV2L251bGwKKysrIGIvb3BlbnNzaC0xMC41cDEt Q1ZFLTIwMjYtNzMyODIucGF0Y2gKQEAgLTAsMCArMSw1MSBAQAorZGlmZiAtLWdpdCBhL3NzaC5j IGIvc3NoLmMKKy0tLSBhL3NzaC5jCisrKysgYi9zc2guYworQEAgLTE4NjIsMTQgKzE4NjIsMjQg QEAKKyAJfQorIH0KKyAKKytzdHJ1Y3QgcmZ3ZF9jb25maXJtX2N0eCB7CisrCWludCBmaWQ7Cisr fTsKKysKKyAvKiBDYWxsYmFjayBmb3IgcmVtb3RlIGZvcndhcmQgZ2xvYmFsIHJlcXVlc3RzICov Cisgc3RhdGljIHZvaWQKKyBzc2hfY29uZmlybV9yZW1vdGVfZm9yd2FyZChzdHJ1Y3Qgc3NoICpz c2gsIGludCB0eXBlLCB1X2ludDMyX3Qgc2VxLCB2b2lkICpjdHh0KQorIHsKKy0Jc3RydWN0IEZv cndhcmQgKnJmd2QgPSAoc3RydWN0IEZvcndhcmQgKiljdHh0OworKwlzdHJ1Y3QgcmZ3ZF9jb25m aXJtX2N0eCAqcmN0eCA9IChzdHJ1Y3QgcmZ3ZF9jb25maXJtX2N0eCAqKWN0eHQ7CisrCXN0cnVj dCBGb3J3YXJkICpyZndkOworIAl1X2ludCBwb3J0OworIAlpbnQgcjsKKyAKKysJaWYgKHJjdHgt PmZpZCA8IDAgfHwgcmN0eC0+ZmlkID49IG9wdGlvbnMubnVtX3JlbW90ZV9mb3J3YXJkcykKKysJ CWZhdGFsX2YoImludmFsaWQgZm9yd2FyZGluZyBJRCAlZCIsIHJjdHgtPmZpZCk7CisrCXJmd2Qg PSAmb3B0aW9ucy5yZW1vdGVfZm9yd2FyZHNbcmN0eC0+ZmlkXTsKKysJZnJlZXplcm8ocmN0eCwg c2l6ZW9mKCpyY3R4KSk7CisrCisgCS8qIFhYWCB2ZXJib3NlKCkgb24gZmFpbHVyZT8gKi8KKyAJ ZGVidWcoInJlbW90ZSBmb3J3YXJkICVzIGZvcjogbGlzdGVuICVzJXMlZCwgY29ubmVjdCAlczol ZCIsCisgCSAgICB0eXBlID09IFNTSDJfTVNHX1JFUVVFU1RfU1VDQ0VTUyA/ICJzdWNjZXNzIiA6 ICJmYWlsdXJlIiwKK0BAIC0yMDQ3LDYgKzIwNTcsOCBAQAorIAorIAkvKiBJbml0aWF0ZSByZW1v dGUgVENQL0lQIHBvcnQgZm9yd2FyZGluZ3MuICovCisgCWZvciAoaSA9IDA7IGkgPCBvcHRpb25z Lm51bV9yZW1vdGVfZm9yd2FyZHM7IGkrKykgeworKwkJc3RydWN0IHJmd2RfY29uZmlybV9jdHgg KnJjdHg7CisrCisgCQlkZWJ1ZygiUmVtb3RlIGNvbm5lY3Rpb25zIGZyb20gJS4yMDBzOiVkIGZv cndhcmRlZCB0byAiCisgCQkgICAgImxvY2FsIGFkZHJlc3MgJS4yMDBzOiVkIiwKKyAJCSAgICAo b3B0aW9ucy5yZW1vdGVfZm9yd2FyZHNbaV0ubGlzdGVuX3BhdGggIT0gTlVMTCkgPworQEAgLTIw NjEsOSArMjA3MywxMCBAQAorIAkJaWYgKChvcHRpb25zLnJlbW90ZV9mb3J3YXJkc1tpXS5oYW5k bGUgPQorIAkJICAgIGNoYW5uZWxfcmVxdWVzdF9yZW1vdGVfZm9yd2FyZGluZyhzc2gsCisgCQkg ICAgJm9wdGlvbnMucmVtb3RlX2ZvcndhcmRzW2ldKSkgPj0gMCkgeworKwkJCXJjdHggPSB4Y2Fs bG9jKDEsIHNpemVvZigqcmN0eCkpOworKwkJCXJjdHgtPmZpZCA9IGk7CisgCQkJY2xpZW50X3Jl Z2lzdGVyX2dsb2JhbF9jb25maXJtKAorLQkJCSAgICBzc2hfY29uZmlybV9yZW1vdGVfZm9yd2Fy ZCwKKy0JCQkgICAgJm9wdGlvbnMucmVtb3RlX2ZvcndhcmRzW2ldKTsKKysJCQkgICAgc3NoX2Nv bmZpcm1fcmVtb3RlX2ZvcndhcmQsIHJjdHgpOworIAkJCWZvcndhcmRfY29uZmlybXNfcGVuZGlu ZysrOworIAkJfSBlbHNlIGlmIChvcHRpb25zLmV4aXRfb25fZm9yd2FyZF9mYWlsdXJlKQorIAkJ CWZhdGFsKCJDb3VsZCBub3QgcmVxdWVzdCByZW1vdGUgZm9yd2FyZGluZy4iKTsKCmRpZmYgLS1n aXQgYS9vcGVuc3NoLTkuOXAxLUNWRS0yMDI2LTYwMDAxLnBhdGNoIGIvb3BlbnNzaC05LjlwMS1D VkUtMjAyNi02MDAwMS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4y N2VlY2M4Ci0tLSAvZGV2L251bGwKKysrIGIvb3BlbnNzaC05LjlwMS1DVkUtMjAyNi02MDAwMS5w YXRjaApAQCAtMCwwICsxLDk3IEBACitkaWZmIC0tY29sb3IgLXJ1TnAgYS9hdXRoMi5jIGIvYXV0 aDIuYworLS0tIGEvYXV0aDIuYwkyMDI2LTA5LTE3IDE1OjIxOjU5LjMxNzQ5MjEzNCArMDIwMAor KysrIGIvYXV0aDIuYwkyMDI2LTA5LTE3IDE1OjI5OjU4LjY5ODg3NzY0OSArMDIwMAorQEAgLTI2 Nyw2ICsyNjcsMTIgQEAgZW5zdXJlX21pbmltdW1fdGltZV9zaW5jZShkb3VibGUgc3RhcnQsCisg CW5hbm9zbGVlcCgmdHMsIE5VTEwpOworIH0KKyAKKyt2b2lkCisrYXV0aF9mYWlsdXJlX2RlbGF5 KEF1dGhjdHh0ICphdXRoY3R4dCwgZG91YmxlIHRzdGFydCkKKyt7CisrCWVuc3VyZV9taW5pbXVt X3RpbWVfc2luY2UodHN0YXJ0LCB1c2VyX3NwZWNpZmljX2RlbGF5KGF1dGhjdHh0LT51c2VyKSk7 CisrfQorKworIHN0YXRpYyBpbnQKKyBpbnB1dF91c2VyYXV0aF9yZXF1ZXN0KGludCB0eXBlLCB1 X2ludDMyX3Qgc2VxLCBzdHJ1Y3Qgc3NoICpzc2gpCisgeworQEAgLTM1OSw4ICszNjUsOCBAQCBp bnB1dF91c2VyYXV0aF9yZXF1ZXN0KGludCB0eXBlLCB1X2ludDMyCisgCQlhdXRoZW50aWNhdGVk ID0JbS0+dXNlcmF1dGgoc3NoLCBtZXRob2QpOworIAl9CisgCWlmICghYXV0aGN0eHQtPmF1dGhl bnRpY2F0ZWQgJiYgc3RyY21wKG1ldGhvZCwgIm5vbmUiKSAhPSAwKQorLQkJZW5zdXJlX21pbmlt dW1fdGltZV9zaW5jZSh0c3RhcnQsCistCQkgICAgdXNlcl9zcGVjaWZpY19kZWxheShhdXRoY3R4 dC0+dXNlcikpOworKwkJYXV0aF9mYWlsdXJlX2RlbGF5KGF1dGhjdHh0LCB0c3RhcnQpOworKwor IAl1c2VyYXV0aF9maW5pc2goc3NoLCBhdXRoZW50aWNhdGVkLCBtZXRob2QsIE5VTEwpOworIAly ID0gMDsKKyAgb3V0OgorZGlmZiAtLWNvbG9yIC1ydU5wIGEvYXV0aDItY2hhbGwuYyBiL2F1dGgy LWNoYWxsLmMKKy0tLSBhL2F1dGgyLWNoYWxsLmMJMjAyNC0wOS0yMCAwMDoyMDo0OC4wMDAwMDAw MDAgKzAyMDAKKysrKyBiL2F1dGgyLWNoYWxsLmMJMjAyNi0wOS0xNyAxNToyNDozNC4zMjEwNzU0 MzYgKzAyMDAKK0BAIC0yOTYsNiArMjk2LDcgQEAgaW5wdXRfdXNlcmF1dGhfaW5mb19yZXNwb25z ZShpbnQgdHlwZSwgdQorIAl1X2ludCBpLCBucmVzcDsKKyAJY29uc3QgY2hhciAqZGV2aWNlbmFt ZSA9IE5VTEw7CisgCWNoYXIgKipyZXNwb25zZSA9IE5VTEw7CisrCWRvdWJsZSB0c3RhcnQgPSBt b25vdGltZV9kb3VibGUoKTsKKyAKKyAJaWYgKGF1dGhjdHh0ID09IE5VTEwpCisgCQlmYXRhbF9m KCJubyBhdXRoY3R4dCIpOworQEAgLTM1NCw2ICszNTUsOSBAQCBpbnB1dF91c2VyYXV0aF9pbmZv X3Jlc3BvbnNlKGludCB0eXBlLCB1CisgCQkJYXV0aDJfY2hhbGxlbmdlX3N0YXJ0KHNzaCk7Cisg CQl9CisgCX0KKysKKysJaWYgKCFhdXRoZW50aWNhdGVkKQorKwkJYXV0aF9mYWlsdXJlX2RlbGF5 KGF1dGhjdHh0LCB0c3RhcnQpOworIAl1c2VyYXV0aF9maW5pc2goc3NoLCBhdXRoZW50aWNhdGVk LCAia2V5Ym9hcmQtaW50ZXJhY3RpdmUiLAorIAkgICAgZGV2aWNlbmFtZSk7CisgCXJldHVybiAw OworZGlmZiAtLWNvbG9yIC1ydU5wIGEvYXV0aDItZ3NzLmMgYi9hdXRoMi1nc3MuYworLS0tIGEv YXV0aDItZ3NzLmMJMjAyNi0wOS0xNyAxNToyMTo1OS4yMzYyODEwNjIgKzAyMDAKKysrKyBiL2F1 dGgyLWdzcy5jCTIwMjYtMDktMTcgMTU6Mjc6MzMuOTAyNjQ0MjI3ICswMjAwCitAQCAtMjk4LDYg KzI5OCw3IEBAIGlucHV0X2dzc2FwaV9leGNoYW5nZV9jb21wbGV0ZShpbnQgdHlwZSwKKyB7Cisg CUF1dGhjdHh0ICphdXRoY3R4dCA9IHNzaC0+YXV0aGN0eHQ7CisgCWludCByLCBhdXRoZW50aWNh dGVkOworKwlkb3VibGUgdHN0YXJ0ID0gbW9ub3RpbWVfZG91YmxlKCk7CisgCisgCWlmIChhdXRo Y3R4dCA9PSBOVUxMKQorIAkJZmF0YWwoIk5vIGF1dGhlbnRpY2F0aW9uIG9yIEdTU0FQSSBjb250 ZXh0Iik7CitAQCAtMzExLDYgKzMxMiw4IEBAIGlucHV0X2dzc2FwaV9leGNoYW5nZV9jb21wbGV0 ZShpbnQgdHlwZSwKKyAJCWZhdGFsX2ZyKHIsICJwYXJzZSBwYWNrZXQiKTsKKyAKKyAgCWF1dGhl bnRpY2F0ZWQgPSBtbV9zc2hfZ3NzYXBpX3VzZXJvayhhdXRoY3R4dC0+dXNlciwgYXV0aGN0eHQt PnB3LCAxKTsKKysJaWYgKCFhdXRoZW50aWNhdGVkKQorKwkJYXV0aF9mYWlsdXJlX2RlbGF5KGF1 dGhjdHh0LCB0c3RhcnQpOworIAorIAlhdXRoY3R4dC0+cG9zdHBvbmVkID0gMDsKKyAJc3NoX2Rp c3BhdGNoX3NldChzc2gsIFNTSDJfTVNHX1VTRVJBVVRIX0dTU0FQSV9UT0tFTiwgTlVMTCk7CitA QCAtMzMyLDYgKzMzNSw3IEBAIGlucHV0X2dzc2FwaV9taWMoaW50IHR5cGUsIHVfaW50MzJfdCBw bGUKKyAJZ3NzX2J1ZmZlcl9kZXNjIG1pYywgZ3NzYnVmOworIAl1X2NoYXIgKnA7CisgCXNpemVf dCBsZW47CisrCWRvdWJsZSB0c3RhcnQgPSBtb25vdGltZV9kb3VibGUoKTsKKyAKKyAJaWYgKGF1 dGhjdHh0ID09IE5VTEwpCisgCQlmYXRhbCgiTm8gYXV0aGVudGljYXRpb24gb3IgR1NTQVBJIGNv bnRleHQiKTsKK0BAIC0zNjcsNiArMzcxLDkgQEAgaW5wdXRfZ3NzYXBpX21pYyhpbnQgdHlwZSwg dV9pbnQzMl90IHBsZQorIAkJZnJlZShtaWN1c2VyKTsKKyAJZnJlZShtaWMudmFsdWUpOworIAor KwlpZiAoIWF1dGhlbnRpY2F0ZWQpCisrCQlhdXRoX2ZhaWx1cmVfZGVsYXkoYXV0aGN0eHQsIHRz dGFydCk7CisrCisgCWF1dGhjdHh0LT5wb3N0cG9uZWQgPSAwOworIAlzc2hfZGlzcGF0Y2hfc2V0 KHNzaCwgU1NIMl9NU0dfVVNFUkFVVEhfR1NTQVBJX1RPS0VOLCBOVUxMKTsKKyAJc3NoX2Rpc3Bh dGNoX3NldChzc2gsIFNTSDJfTVNHX1VTRVJBVVRIX0dTU0FQSV9FUlJUT0ssIE5VTEwpOworZGlm ZiAtLWNvbG9yIC1ydU5wIGEvYXV0aC5oIGIvYXV0aC5oCistLS0gYS9hdXRoLmgJMjAyNi0wOS0x NyAxNToyMTo1OS4zMTgzNjUwMzIgKzAyMDAKKysrKyBiL2F1dGguaAkyMDI2LTA5LTE3IDE1OjIz OjAzLjM4ODgxMjg0OCArMDIwMAorQEAgLTE3OSw2ICsxNzksNyBAQCB2b2lkCWF1dGhfbG9nKHN0 cnVjdCBzc2ggKiwgaW50LCBpbnQsIGNvCisgdm9pZAlhdXRoX21heHRyaWVzX2V4Y2VlZGVkKHN0 cnVjdCBzc2ggKikgX19hdHRyaWJ1dGVfXygobm9yZXR1cm4pKTsKKyB2b2lkCXVzZXJhdXRoX2Zp bmlzaChzdHJ1Y3Qgc3NoICosIGludCwgY29uc3QgY2hhciAqLCBjb25zdCBjaGFyICopOworIGlu dAlhdXRoX3Jvb3RfYWxsb3dlZChzdHJ1Y3Qgc3NoICosIGNvbnN0IGNoYXIgKik7Cisrdm9pZCAg IGF1dGhfZmFpbHVyZV9kZWxheShBdXRoY3R4dCAqLCBkb3VibGUpOworIAorIGNoYXIJKmF1dGgy X3JlYWRfYmFubmVyKHZvaWQpOworIGludAkgYXV0aDJfbWV0aG9kc192YWxpZChjb25zdCBjaGFy ICosIGludCk7CgpkaWZmIC0tZ2l0IGEvb3BlbnNzaC05LjlwMS1jdmUtMjAyNi02MDAwMi5wYXRj aCBiL29wZW5zc2gtOS45cDEtY3ZlLTIwMjYtNjAwMDIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMDAwMDAwMC4uYWIxNjQ3OQotLS0gL2Rldi9udWxsCisrKyBiL29wZW5zc2gtOS45 cDEtY3ZlLTIwMjYtNjAwMDIucGF0Y2gKQEAgLTAsMCArMSwxOTEgQEAKK2RpZmYgLS1jb2xvciAt cnVOcCBhL3NzaC5jIGIvc3NoLmMKKy0tLSBhL3NzaC5jCTIwMjYtMDctMTQgMTE6NTg6MDkuMDM2 NDk2OTE1ICswMjAwCisrKysgYi9zc2guYwkyMDI2LTA3LTE0IDEyOjAwOjU1LjA0NDU0Mjc0MSAr MDIwMAorQEAgLTYxOSwyNiArNjE5LDYgQEAgc2V0X2FkZHJpbmZvX3BvcnQoc3RydWN0IGFkZHJp bmZvICphZGRycworIAl9CisgfQorIAorLXN0YXRpYyB2b2lkCistc3NoX2Nvbm5faW5mb19mcmVl KHN0cnVjdCBzc2hfY29ubl9pbmZvICpjaW5mbykKKy17CistCWlmIChjaW5mbyA9PSBOVUxMKQor LQkJcmV0dXJuOworLQlmcmVlKGNpbmZvLT5jb25uX2hhc2hfaGV4KTsKKy0JZnJlZShjaW5mby0+ c2hvcnRob3N0KTsKKy0JZnJlZShjaW5mby0+dWlkc3RyKTsKKy0JZnJlZShjaW5mby0+a2V5YWxp YXMpOworLQlmcmVlKGNpbmZvLT50aGlzaG9zdCk7CistCWZyZWUoY2luZm8tPmhvc3RfYXJnKTsK Ky0JZnJlZShjaW5mby0+cG9ydHN0cik7CistCWZyZWUoY2luZm8tPnJlbWhvc3QpOworLQlmcmVl KGNpbmZvLT5yZW11c2VyKTsKKy0JZnJlZShjaW5mby0+aG9tZWRpcik7CistCWZyZWUoY2luZm8t PmxvY3VzZXIpOworLQlmcmVlKGNpbmZvLT5qbXBob3N0KTsKKy0JZnJlZShjaW5mbyk7CistfQor LQorIC8qCisgICogTWFpbiBwcm9ncmFtIGZvciB0aGUgc3NoIGNsaWVudC4KKyAgKi8KK0BAIC0x NzY1LDggKzE3NDUsOCBAQCBtYWluKGludCBhYywgY2hhciAqKmF2KQorIAlzc2hfc2lnbmFsKFNJ R0NITEQsIG1haW5fc2lnY2hsZF9oYW5kbGVyKTsKKyAKKyAJLyogTG9nIGludG8gdGhlIHJlbW90 ZSBzeXN0ZW0uICBOZXZlciByZXR1cm5zIGlmIHRoZSBsb2dpbiBmYWlscy4gKi8KKy0Jc3NoX2xv Z2luKHNzaCwgJnNlbnNpdGl2ZV9kYXRhLCBob3N0LCAoc3RydWN0IHNvY2thZGRyICopJmhvc3Rh ZGRyLAorLQkgICAgb3B0aW9ucy5wb3J0LCBwdywgdGltZW91dF9tcywgY2luZm8pOworKwlzc2hf bG9naW4oc3NoLCAmc2Vuc2l0aXZlX2RhdGEsIGhvc3QsICZob3N0YWRkciwgb3B0aW9ucy5wb3J0 LAorKwkgICAgcHcsIHRpbWVvdXRfbXMsIGNpbmZvKTsKKyAKKyAJLyogV2Ugbm8gbG9uZ2VyIG5l ZWQgdGhlIHByaXZhdGUgaG9zdCBrZXlzLiAgQ2xlYXIgdGhlbSBub3cuICovCisgCWlmIChzZW5z aXRpdmVfZGF0YS5ua2V5cyAhPSAwKSB7CitkaWZmIC0tY29sb3IgLXJ1TnAgYS9zc2hjb25uZWN0 Mi5jIGIvc3NoY29ubmVjdDIuYworLS0tIGEvc3NoY29ubmVjdDIuYwkyMDI2LTA3LTE0IDExOjU4 OjA5LjAzMTQ3NzAyOCArMDIwMAorKysrIGIvc3NoY29ubmVjdDIuYwkyMDI2LTA3LTE0IDEyOjAx OjU2LjM3NDgwMzEyMyArMDIwMAorQEAgLTg5LDcgKzg5LDcgQEAgZXh0ZXJuIE9wdGlvbnMgb3B0 aW9uczsKKyAgKi8KKyAKKyBzdGF0aWMgY2hhciAqeHh4X2hvc3Q7Cistc3RhdGljIHN0cnVjdCBz b2NrYWRkciAqeHh4X2hvc3RhZGRyOworK3N0YXRpYyBzdHJ1Y3Qgc29ja2FkZHJfc3RvcmFnZSB4 eHhfaG9zdGFkZHI7Cisgc3RhdGljIGNvbnN0IHN0cnVjdCBzc2hfY29ubl9pbmZvICp4eHhfY29u bl9pbmZvOworIHN0YXRpYyBpbnQga2V5X3R5cGVfYWxsb3dlZChzdHJ1Y3Qgc3Noa2V5ICosIGNv bnN0IGNoYXIgKik7CisgCitAQCAtMTA1LDcgKzEwNSw3IEBAIHZlcmlmeV9ob3N0X2tleV9jYWxs YmFjayhzdHJ1Y3Qgc3Noa2V5ICoKKyAJCWZhdGFsKCJTZXJ2ZXIgaG9zdCBrZXkgJXMgbm90IGlu IEhvc3RLZXlBbGdvcml0aG1zIiwKKyAJCSAgICBzc2hrZXlfc3NoX25hbWUoaG9zdGtleSkpOwor IAl9CistCWlmICh2ZXJpZnlfaG9zdF9rZXkoeHh4X2hvc3QsIHh4eF9ob3N0YWRkciwgaG9zdGtl eSwKKysJaWYgKHZlcmlmeV9ob3N0X2tleSh4eHhfaG9zdCwgKHN0cnVjdCBzb2NrYWRkciAqKSZ4 eHhfaG9zdGFkZHIsIGhvc3RrZXksCisgCSAgICB4eHhfY29ubl9pbmZvKSAhPSAwKQorIAkJZmF0 YWwoIkhvc3Qga2V5IHZlcmlmaWNhdGlvbiBmYWlsZWQuIik7CisgCXJldHVybiAwOworQEAgLTIy Miw4ICsyMjIsOCBAQCBvcmRlcl9ob3N0a2V5YWxncyhjaGFyICpob3N0LCBzdHJ1Y3Qgc29jCisg fQorIAorIHZvaWQKKy1zc2hfa2V4MihzdHJ1Y3Qgc3NoICpzc2gsIGNoYXIgKmhvc3QsIHN0cnVj dCBzb2NrYWRkciAqaG9zdGFkZHIsIHVfc2hvcnQgcG9ydCwKKy0gICAgY29uc3Qgc3RydWN0IHNz aF9jb25uX2luZm8gKmNpbmZvKQorK3NzaF9rZXgyKHN0cnVjdCBzc2ggKnNzaCwgY2hhciAqaG9z dCwgc3RydWN0IHNvY2thZGRyX3N0b3JhZ2UgKmhvc3RhZGRyLAorKyAgICB1X3Nob3J0IHBvcnQs IGNvbnN0IHN0cnVjdCBzc2hfY29ubl9pbmZvICpjaW5mbykKKyB7CisgCWNoYXIgKm15cHJvcG9z YWxbUFJPUE9TQUxfTUFYXTsKKyAJY2hhciAqYWxsX2tleSwgKmhrYWxncyA9IE5VTEwsICpmaWx0 ZXJlZF9hbGdzID0gTlVMTDsKK0BAIC0yMzQsOSArMjM0LDkgQEAgc3NoX2tleDIoc3RydWN0IHNz aCAqc3NoLCBjaGFyICpob3N0LCBzdAorIAljaGFyICpnc3NfaG9zdCA9IE5VTEw7CisgI2VuZGlm CisgCistCXh4eF9ob3N0ID0gaG9zdDsKKy0JeHh4X2hvc3RhZGRyID0gaG9zdGFkZHI7CistCXh4 eF9jb25uX2luZm8gPSBjaW5mbzsKKysJeHh4X2hvc3QgPSB4c3RyZHVwKGhvc3QpOworKwl4eHhf aG9zdGFkZHIgPSAqaG9zdGFkZHI7CisrCXh4eF9jb25uX2luZm8gPSBzc2hfY29ubl9pbmZvX2R1 cChjaW5mbyk7CisgCisgCWlmIChvcHRpb25zLnJla2V5X2xpbWl0IHx8IG9wdGlvbnMucmVrZXlf aW50ZXJ2YWwpCisgCQlzc2hfcGFja2V0X3NldF9yZWtleV9saW1pdHMoc3NoLCBvcHRpb25zLnJl a2V5X2xpbWl0LAorQEAgLTI1OSw4ICsyNTksMTAgQEAgc3NoX2tleDIoc3RydWN0IHNzaCAqc3No LCBjaGFyICpob3N0LCBzdAorIAkJZmF0YWxfZnIociwgImtleF9hc3NlbWJsZV9uYW1lbGlzdCIp OworIAlmcmVlKGFsbF9rZXkpOworIAorLQlpZiAodXNlX2tub3duX2hvc3RzX29yZGVyKQorLQkJ aGthbGdzID0gb3JkZXJfaG9zdGtleWFsZ3MoaG9zdCwgaG9zdGFkZHIsIHBvcnQsIGNpbmZvKTsK KysJaWYgKHVzZV9rbm93bl9ob3N0c19vcmRlcikgeworKwkJaGthbGdzID0gb3JkZXJfaG9zdGtl eWFsZ3MoaG9zdCwgKHN0cnVjdCBzb2NrYWRkciAqKWhvc3RhZGRyLAorKwkJICAgIHBvcnQsIGNp bmZvKTsKKysJfQorIAorIAlmaWx0ZXJlZF9hbGdzID0gaGthbGdzID8gbWF0Y2hfZmlsdGVyX2Fs bG93bGlzdChoa2FsZ3MsIG9wdGlvbnMucHVia2V5X2FjY2VwdGVkX2FsZ29zKQorIAkJICAgICAg ICAgICAgICAgOiBtYXRjaF9maWx0ZXJfYWxsb3dsaXN0KG9wdGlvbnMuaG9zdGtleWFsZ29yaXRo bXMsCitkaWZmIC0tY29sb3IgLXJ1TnAgYS9zc2hjb25uZWN0LmMgYi9zc2hjb25uZWN0LmMKKy0t LSBhL3NzaGNvbm5lY3QuYwkyMDI2LTA3LTE0IDExOjU4OjA4Ljg5MjY1OTAxMSArMDIwMAorKysr IGIvc3NoY29ubmVjdC5jCTIwMjYtMDctMTQgMTI6MDA6NTUuMDQ1NzY3NDYyICswMjAwCitAQCAt ODQsNiArODQsNDkgQEAgZXh0ZXJuIGNoYXIgKl9fcHJvZ25hbWU7Cisgc3RhdGljIGludCBzaG93 X290aGVyX2tleXMoc3RydWN0IGhvc3RrZXlzICosIHN0cnVjdCBzc2hrZXkgKik7Cisgc3RhdGlj IHZvaWQgd2Fybl9jaGFuZ2VkX2tleShzdHJ1Y3Qgc3Noa2V5ICopOworIAorK3ZvaWQKKytzc2hf Y29ubl9pbmZvX2ZyZWUoc3RydWN0IHNzaF9jb25uX2luZm8gKmNpbmZvKQorK3sKKysJaWYgKGNp bmZvID09IE5VTEwpCisrCQlyZXR1cm47CisrCWZyZWUoY2luZm8tPmNvbm5faGFzaF9oZXgpOwor KwlmcmVlKGNpbmZvLT5zaG9ydGhvc3QpOworKwlmcmVlKGNpbmZvLT51aWRzdHIpOworKwlmcmVl KGNpbmZvLT5rZXlhbGlhcyk7CisrCWZyZWUoY2luZm8tPnRoaXNob3N0KTsKKysJZnJlZShjaW5m by0+aG9zdF9hcmcpOworKwlmcmVlKGNpbmZvLT5wb3J0c3RyKTsKKysJZnJlZShjaW5mby0+cmVt aG9zdCk7CisrCWZyZWUoY2luZm8tPnJlbXVzZXIpOworKwlmcmVlKGNpbmZvLT5ob21lZGlyKTsK KysJZnJlZShjaW5mby0+bG9jdXNlcik7CisrCWZyZWUoY2luZm8tPmptcGhvc3QpOworKwlmcmVl emVybyhjaW5mbywgc2l6ZW9mKCpjaW5mbykpOworK30KKysKKytzdHJ1Y3Qgc3NoX2Nvbm5faW5m byAqCisrc3NoX2Nvbm5faW5mb19kdXAoY29uc3Qgc3RydWN0IHNzaF9jb25uX2luZm8gKmNpbmZv KQorK3sKKysJc3RydWN0IHNzaF9jb25uX2luZm8gKnJldDsKKysKKysJaWYgKGNpbmZvID09IE5V TEwpCisrCQlyZXR1cm4gTlVMTDsKKysJcmV0ID0geGNhbGxvYygxLCBzaXplb2YoKnJldCkpOwor KwlyZXQtPmNvbm5faGFzaF9oZXggPSB4c3RyZHVwKGNpbmZvLT5jb25uX2hhc2hfaGV4KTsKKysJ cmV0LT5zaG9ydGhvc3QgPSB4c3RyZHVwKGNpbmZvLT5zaG9ydGhvc3QpOworKwlyZXQtPnVpZHN0 ciA9IHhzdHJkdXAoY2luZm8tPnVpZHN0cik7CisrCXJldC0+a2V5YWxpYXMgPSB4c3RyZHVwKGNp bmZvLT5rZXlhbGlhcyk7CisrCXJldC0+dGhpc2hvc3QgPSB4c3RyZHVwKGNpbmZvLT50aGlzaG9z dCk7CisrCXJldC0+aG9zdF9hcmcgPSB4c3RyZHVwKGNpbmZvLT5ob3N0X2FyZyk7CisrCXJldC0+ cG9ydHN0ciA9IHhzdHJkdXAoY2luZm8tPnBvcnRzdHIpOworKwlyZXQtPnJlbWhvc3QgPSB4c3Ry ZHVwKGNpbmZvLT5yZW1ob3N0KTsKKysJcmV0LT5yZW11c2VyID0geHN0cmR1cChjaW5mby0+cmVt dXNlcik7CisrCXJldC0+aG9tZWRpciA9IHhzdHJkdXAoY2luZm8tPmhvbWVkaXIpOworKwlyZXQt PmxvY3VzZXIgPSB4c3RyZHVwKGNpbmZvLT5sb2N1c2VyKTsKKysJcmV0LT5qbXBob3N0ID0geHN0 cmR1cChjaW5mby0+am1waG9zdCk7CisrCXJldHVybiByZXQ7CisrfQorKworIC8qIEV4cGFuZCBh IHByb3h5IGNvbW1hbmQgKi8KKyBzdGF0aWMgY2hhciAqCisgZXhwYW5kX3Byb3h5X2NvbW1hbmQo Y29uc3QgY2hhciAqcHJveHlfY29tbWFuZCwgY29uc3QgY2hhciAqdXNlciwKK0BAIC0xNTg5LDgg KzE2MzIsOCBAQCBvdXQ6CisgICovCisgdm9pZAorIHNzaF9sb2dpbihzdHJ1Y3Qgc3NoICpzc2gs IFNlbnNpdGl2ZSAqc2Vuc2l0aXZlLCBjb25zdCBjaGFyICpvcmlnaG9zdCwKKy0gICAgc3RydWN0 IHNvY2thZGRyICpob3N0YWRkciwgdV9zaG9ydCBwb3J0LCBzdHJ1Y3QgcGFzc3dkICpwdywgaW50 IHRpbWVvdXRfbXMsCistICAgIGNvbnN0IHN0cnVjdCBzc2hfY29ubl9pbmZvICpjaW5mbykKKysg ICAgc3RydWN0IHNvY2thZGRyX3N0b3JhZ2UgKmhvc3RhZGRyLCB1X3Nob3J0IHBvcnQsIHN0cnVj dCBwYXNzd2QgKnB3LAorKyAgICBpbnQgdGltZW91dF9tcywgY29uc3Qgc3RydWN0IHNzaF9jb25u X2luZm8gKmNpbmZvKQorIHsKKyAJY2hhciAqaG9zdDsKKyAJY2hhciAqc2VydmVyX3VzZXIsICps b2NhbF91c2VyOworZGlmZiAtLWNvbG9yIC1ydU5wIGEvc3NoY29ubmVjdC5oIGIvc3NoY29ubmVj dC5oCistLS0gYS9zc2hjb25uZWN0LmgJMjAyNC0wOS0yMCAwMDoyMDo0OC4wMDAwMDAwMDAgKzAy MDAKKysrKyBiL3NzaGNvbm5lY3QuaAkyMDI2LTA3LTE0IDEyOjAwOjU1LjA0NTk0ODk1MyArMDIw MAorQEAgLTczLDcgKzczLDcgQEAgaW50CSBzc2hfY29ubmVjdChzdHJ1Y3Qgc3NoICosIGNvbnN0 IGNoYQorIHZvaWQJIHNzaF9raWxsX3Byb3h5X2NvbW1hbmQodm9pZCk7CisgCisgdm9pZAkgc3No X2xvZ2luKHN0cnVjdCBzc2ggKiwgU2Vuc2l0aXZlICosIGNvbnN0IGNoYXIgKiwKKy0gICAgc3Ry dWN0IHNvY2thZGRyICosIHVfc2hvcnQsIHN0cnVjdCBwYXNzd2QgKiwgaW50LAorKyAgICBzdHJ1 Y3Qgc29ja2FkZHJfc3RvcmFnZSAqLCB1X3Nob3J0LCBzdHJ1Y3QgcGFzc3dkICosIGludCwKKyAg ICAgY29uc3Qgc3RydWN0IHNzaF9jb25uX2luZm8gKik7CisgCisgaW50CSB2ZXJpZnlfaG9zdF9r ZXkoY2hhciAqLCBzdHJ1Y3Qgc29ja2FkZHIgKiwgc3RydWN0IHNzaGtleSAqLAorQEAgLTgyLDcg KzgyLDcgQEAgaW50CSB2ZXJpZnlfaG9zdF9rZXkoY2hhciAqLCBzdHJ1Y3Qgc29jaworIHZvaWQJ IGdldF9ob3N0ZmlsZV9ob3N0bmFtZV9pcGFkZHIoY2hhciAqLCBzdHJ1Y3Qgc29ja2FkZHIgKiwg dV9zaG9ydCwKKyAgICAgY2hhciAqKiwgY2hhciAqKik7CisgCistdm9pZAkgc3NoX2tleDIoc3Ry dWN0IHNzaCAqc3NoLCBjaGFyICosIHN0cnVjdCBzb2NrYWRkciAqLCB1X3Nob3J0LAorK3ZvaWQJ IHNzaF9rZXgyKHN0cnVjdCBzc2ggKnNzaCwgY2hhciAqLCBzdHJ1Y3Qgc29ja2FkZHJfc3RvcmFn ZSAqLCB1X3Nob3J0LAorICAgICBjb25zdCBzdHJ1Y3Qgc3NoX2Nvbm5faW5mbyAqKTsKKyAKKyB2 b2lkCSBzc2hfdXNlcmF1dGgyKHN0cnVjdCBzc2ggKnNzaCwgY29uc3QgY2hhciAqLCBjb25zdCBj aGFyICosCitAQCAtOTgsMyArOTgsNiBAQCB2b2lkCSBsb2FkX2hvc3RrZXlzX2NvbW1hbmQoc3Ry dWN0IGhvc3RrCisgICAgIGNvbnN0IHN0cnVjdCBzc2hrZXkgKiwgY29uc3QgY2hhciAqKTsKKyAK KyBpbnQgaG9zdGtleV9hY2NlcHRlZF9ieV9ob3N0a2V5YWxncyhjb25zdCBzdHJ1Y3Qgc3Noa2V5 ICopOworKworK3ZvaWQgc3NoX2Nvbm5faW5mb19mcmVlKHN0cnVjdCBzc2hfY29ubl9pbmZvICop OworK3N0cnVjdCBzc2hfY29ubl9pbmZvICpzc2hfY29ubl9pbmZvX2R1cChjb25zdCBzdHJ1Y3Qg c3NoX2Nvbm5faW5mbyAqKTsKCmRpZmYgLS1naXQgYS9vcGVuc3NoLTkuOXAxLWdzaXNzaC5wYXRj aCBiL29wZW5zc2gtOS45cDEtZ3Npc3NoLnBhdGNoCmluZGV4IDc3YWZhNDkuLjRjYmNhNGEgMTAw NjQ0Ci0tLSBhL29wZW5zc2gtOS45cDEtZ3Npc3NoLnBhdGNoCisrKyBiL29wZW5zc2gtOS45cDEt Z3Npc3NoLnBhdGNoCkBAIC0xLDcgKzEsNyBAQAogZGlmZiAtTnVyIG9wZW5zc2gtOS45cDEub3Jp Zy9hdXRoMi5jIG9wZW5zc2gtOS45cDEvYXV0aDIuYwotLS0tIG9wZW5zc2gtOS45cDEub3JpZy9h dXRoMi5jCTIwMjYtMDMtMjUgMDU6NDU6MjQuNjU2NTg3ODAyICswMTAwCi0rKysgb3BlbnNzaC05 LjlwMS9hdXRoMi5jCTIwMjYtMDMtMjUgMDU6NDY6MzIuMjIxNjQxNTIyICswMTAwCi1AQCAtMjg2 LDcgKzI4NiwyOCBAQAorLS0tIG9wZW5zc2gtOS45cDEub3JpZy9hdXRoMi5jCTIwMjYtMDktMjIg MTA6MzU6MDAuNDY3NzAwNTc3ICswMjAwCisrKysgb3BlbnNzaC05LjlwMS9hdXRoMi5jCTIwMjYt MDktMjIgMTA6MzY6MzIuMzgxMTA5NDc1ICswMjAwCitAQCAtMjkyLDcgKzI5MiwyOCBAQAogIAkg ICAgKHIgPSBzc2hwa3RfZ2V0X2NzdHJpbmcoc3NoLCAmc2VydmljZSwgTlVMTCkpICE9IDAgfHwK ICAJICAgIChyID0gc3NocGt0X2dldF9jc3RyaW5nKHNzaCwgJm1ldGhvZCwgTlVMTCkpICE9IDAp CiAgCQlnb3RvIG91dDsKQEAgLTMxLDcgKzMxLDcgQEAgZGlmZiAtTnVyIG9wZW5zc2gtOS45cDEu b3JpZy9hdXRoMi5jIG9wZW5zc2gtOS45cDEvYXV0aDIuYwogIAlkZWJ1ZygiYXR0ZW1wdCAlZCBm YWlsdXJlcyAlZCIsIGF1dGhjdHh0LT5hdHRlbXB0LCBhdXRoY3R4dC0+ZmFpbHVyZXMpOwogIAog ICNpZmRlZiBXSVRIX1NFTElOVVgKLUBAIC0yOTksMTEgKzMyMCwzMyBAQAorQEAgLTMwNSwxMSAr MzI2LDMzIEBACiAgCiAgCWlmIChhdXRoY3R4dC0+YXR0ZW1wdCA+PSAxMDI0KQogIAkJYXV0aF9t YXh0cmllc19leGNlZWRlZChzc2gpOwpAQCAtNjksNyArNjksNyBAQCBkaWZmIC1OdXIgb3BlbnNz aC05LjlwMS5vcmlnL2F1dGgyLmMgb3BlbnNzaC05LjlwMS9hdXRoMi5jCiAgCQkJYXV0aGN0eHQt PnZhbGlkID0gMTsKICAJCQlkZWJ1ZzJfZigic2V0dGluZyB1cCBhdXRoY3R4dCBmb3IgJXMiLCB1 c2VyKTsKICAJCX0gZWxzZSB7Ci1AQCAtMzExLDYgKzM1NCw5IEBACitAQCAtMzE3LDYgKzM2MCw5 IEBACiAgCQkJLyogSW52YWxpZCB1c2VyLCBmYWtlIHBhc3N3b3JkIGluZm9ybWF0aW9uICovCiAg CQkJYXV0aGN0eHQtPnB3ID0gZmFrZXB3KCk7CiAgCQl9CkBAIC03OSw3ICs3OSw3IEBAIGRpZmYg LU51ciBvcGVuc3NoLTkuOXAxLm9yaWcvYXV0aDIuYyBvcGVuc3NoLTkuOXAxL2F1dGgyLmMKICAj aWZkZWYgVVNFX1BBTQogIAkJaWYgKG9wdGlvbnMudXNlX3BhbSkKICAJCQltbV9zdGFydF9wYW0o c3NoKTsKLUBAIC0zMTgsNiArMzY0LDcgQEAKK0BAIC0zMjQsNiArMzcwLDcgQEAKICAJCXNzaF9w YWNrZXRfc2V0X2xvZ19wcmVhbWJsZShzc2gsICIlc3VzZXIgJXMiLAogIAkJICAgIGF1dGhjdHh0 LT52YWxpZCA/ICJhdXRoZW50aWNhdGluZyAiIDogImludmFsaWQgIiwgdXNlcik7CiAgCQlzZXRw cm9jdGl0bGUoIiVzIFtuZXRdIiwgYXV0aGN0eHQtPnZhbGlkID8gdXNlciA6ICJ1bmtub3duIik7 CkBAIC04Nyw3ICs4Nyw3IEBAIGRpZmYgLU51ciBvcGVuc3NoLTkuOXAxLm9yaWcvYXV0aDIuYyBv cGVuc3NoLTkuOXAxL2F1dGgyLmMKICAJCWF1dGhjdHh0LT5zZXJ2aWNlID0geHN0cmR1cChzZXJ2 aWNlKTsKICAJCWF1dGhjdHh0LT5zdHlsZSA9IHN0eWxlID8geHN0cmR1cChzdHlsZSkgOiBOVUxM OwogICNpZmRlZiBXSVRIX1NFTElOVVgKLUBAIC0zMzMsOSArMzgwLDEwIEBACitAQCAtMzM5LDkg KzM4NiwxMCBAQAogIAkJaWYgKGF1dGgyX3NldHVwX21ldGhvZHNfbGlzdHMoYXV0aGN0eHQpICE9 IDApCiAgCQkJc3NoX3BhY2tldF9kaXNjb25uZWN0KHNzaCwKICAJCQkgICAgIm5vIGF1dGhlbnRp Y2F0aW9uIG1ldGhvZHMgZW5hYmxlZCIpOwpAQCAtMTAyLDggKzEwMiw4IEBAIGRpZmYgLU51ciBv cGVuc3NoLTkuOXAxLm9yaWcvYXV0aDIuYyBvcGVuc3NoLTkuOXAxL2F1dGgyLmMKICAJCSAgICBh dXRoY3R4dC0+dXNlciwgYXV0aGN0eHQtPnNlcnZpY2UsIHVzZXIsIHNlcnZpY2UpOwogIAl9CiBk aWZmIC1OdXIgb3BlbnNzaC05LjlwMS5vcmlnL2F1dGgyLWdzcy5jIG9wZW5zc2gtOS45cDEvYXV0 aDItZ3NzLmMKLS0tLSBvcGVuc3NoLTkuOXAxLm9yaWcvYXV0aDItZ3NzLmMJMjAyNi0wMy0yNSAw NTo0NToyNC41NTU5ODU1OTIgKzAxMDAKLSsrKyBvcGVuc3NoLTkuOXAxL2F1dGgyLWdzcy5jCTIw MjYtMDMtMjUgMDU6NDY6MzIuMjIyMTg1MzA3ICswMTAwCistLS0gb3BlbnNzaC05LjlwMS5vcmln L2F1dGgyLWdzcy5jCTIwMjYtMDktMjIgMTA6MzU6MDAuNDY4Mjg1NDg5ICswMjAwCisrKysgb3Bl bnNzaC05LjlwMS9hdXRoMi1nc3MuYwkyMDI2LTA5LTIyIDEwOjQ0OjQ1Ljg2MTMxODcwMyArMDIw MAogQEAgLTU0LDYgKzU0LDcgQEAKICBleHRlcm4gc3RydWN0IGF1dGhtZXRob2RfY2ZnIG1ldGhv ZGNmZ19nc3NrZXlleDsKICBleHRlcm4gc3RydWN0IGF1dGhtZXRob2RfY2ZnIG1ldGhvZGNmZ19n c3NhcGk7CkBAIC0yMjgsMTIgKzIyOCwxMyBAQCBkaWZmIC1OdXIgb3BlbnNzaC05LjlwMS5vcmln L2F1dGgyLWdzcy5jIG9wZW5zc2gtOS45cDEvYXV0aDItZ3NzLmMKICAvKgogICAqIFRoaXMgaXMg Y2FsbGVkIHdoZW4gdGhlIGNsaWVudCB0aGlua3Mgd2UndmUgY29tcGxldGVkIGF1dGhlbnRpY2F0 aW9uLgogICAqIEl0IHNob3VsZCBvbmx5IGJlIGVuYWJsZWQgaW4gdGhlIGRpc3BhdGNoIGhhbmRs ZXIgYnkgdGhlIGZ1bmN0aW9uIGFib3ZlLAotQEAgLTI5NywxMSArMzQ3LDEzIEBACitAQCAtMjk3 LDEyICszNDcsMTQgQEAKICBpbnB1dF9nc3NhcGlfZXhjaGFuZ2VfY29tcGxldGUoaW50IHR5cGUs IHVfaW50MzJfdCBwbGVuLCBzdHJ1Y3Qgc3NoICpzc2gpCiAgewogIAlBdXRoY3R4dCAqYXV0aGN0 eHQgPSBzc2gtPmF1dGhjdHh0OwogLQlpbnQgciwgYXV0aGVudGljYXRlZDsKICsJaW50IHIsIGF1 dGhlbnRpY2F0ZWQgPSAwOworIAlkb3VibGUgdHN0YXJ0ID0gbW9ub3RpbWVfZG91YmxlKCk7CiAg CiAgCWlmIChhdXRoY3R4dCA9PSBOVUxMKQogIAkJZmF0YWwoIk5vIGF1dGhlbnRpY2F0aW9uIG9y IEdTU0FQSSBjb250ZXh0Iik7CkBAIC0yNDMsNyArMjQ0LDcgQEAgZGlmZiAtTnVyIG9wZW5zc2gt OS45cDEub3JpZy9hdXRoMi1nc3MuYyBvcGVuc3NoLTkuOXAxL2F1dGgyLWdzcy5jCiAgCS8qCiAg CSAqIFdlIGRvbid0IG5lZWQgdG8gY2hlY2sgdGhlIHN0YXR1cywgYmVjYXVzZSB3ZSdyZSBvbmx5 IGVuYWJsZWQgaW4KICAJICogdGhlIGRpc3BhdGNoZXIgb25jZSB0aGUgZXhjaGFuZ2UgaXMgY29t cGxldGUKLUBAIC0zMTAsNyArMzYyLDExIEBACitAQCAtMzExLDcgKzM2MywxMSBAQAogIAlpZiAo KHIgPSBzc2hwa3RfZ2V0X2VuZChzc2gpKSAhPSAwKQogIAkJZmF0YWxfZnIociwgInBhcnNlIHBh Y2tldCIpOwogIApAQCAtMjUzLDEwICsyNTQsMTAgQEAgZGlmZiAtTnVyIG9wZW5zc2gtOS45cDEu b3JpZy9hdXRoMi1nc3MuYyBvcGVuc3NoLTkuOXAxL2F1dGgyLWdzcy5jCiArCQlhdXRoZW50aWNh dGVkID0gbW1fc3NoX2dzc2FwaV91c2Vyb2soYXV0aGN0eHQtPnVzZXIsCiArCQkgICAgYXV0aGN0 eHQtPnB3LCAxKTsKICsJfQorIAlpZiAoIWF1dGhlbnRpY2F0ZWQpCisgCQlhdXRoX2ZhaWx1cmVf ZGVsYXkoYXV0aGN0eHQsIHRzdGFydCk7CiAgCi0gCWF1dGhjdHh0LT5wb3N0cG9uZWQgPSAwOwot IAlzc2hfZGlzcGF0Y2hfc2V0KHNzaCwgU1NIMl9NU0dfVVNFUkFVVEhfR1NTQVBJX1RPS0VOLCBO VUxMKTsKLUBAIC0zNTcsMTAgKzQxMywxNiBAQAorQEAgLTM2MSwxMCArNDE3LDE2IEBACiAgCQlm YXRhbF9mKCJzc2hidWZfbXV0YWJsZV9wdHIgZmFpbGVkIik7CiAgCWdzc2J1Zi5sZW5ndGggPSBz c2hidWZfbGVuKGIpOwogIApAQCAtMjc2LDcgKzI3Nyw3IEBAIGRpZmYgLU51ciBvcGVuc3NoLTku OXAxLm9yaWcvYXV0aDItZ3NzLmMgb3BlbnNzaC05LjlwMS9hdXRoMi1nc3MuYwogIAogIAlzc2hi dWZfZnJlZShiKTsKICAJaWYgKG1pY3VzZXIgIT0gYXV0aGN0eHQtPnVzZXIpCi1AQCAtMzc2LDYg KzQzOCwyNiBAQAorQEAgLTM4Myw2ICs0NDUsMjYgQEAKICAJcmV0dXJuIDA7CiAgfQogIApAQCAt MzA0LDggKzMwNSw4IEBAIGRpZmYgLU51ciBvcGVuc3NoLTkuOXAxLm9yaWcvYXV0aDItZ3NzLmMg b3BlbnNzaC05LjlwMS9hdXRoMi1nc3MuYwogIAkmbWV0aG9kY2ZnX2dzc2tleWV4LAogIAl1c2Vy YXV0aF9nc3NrZXlleCwKIGRpZmYgLU51ciBvcGVuc3NoLTkuOXAxLm9yaWcvYXV0aC5jIG9wZW5z c2gtOS45cDEvYXV0aC5jCi0tLS0gb3BlbnNzaC05LjlwMS5vcmlnL2F1dGguYwkyMDI2LTAzLTI1 IDA1OjQ1OjI0Ljc0MzcyNDkxOSArMDEwMAotKysrIG9wZW5zc2gtOS45cDEvYXV0aC5jCTIwMjYt MDMtMjUgMDU6NDY6MzIuMjIyNTcyMzY5ICswMTAwCistLS0gb3BlbnNzaC05LjlwMS5vcmlnL2F1 dGguYwkyMDI2LTA5LTIyIDEwOjM1OjAwLjQyODY0OTY1NiArMDIwMAorKysrIG9wZW5zc2gtOS45 cDEvYXV0aC5jCTIwMjYtMDktMjIgMTA6MzY6MzIuMzgyODg0OTk3ICswMjAwCiBAQCAtMjk4LDcg KzI5OCw4IEBACiAgCSAgICBtZXRob2QsCiAgCSAgICBzdWJtZXRob2QgIT0gTlVMTCA/ICIvIiA6 ICIiLCBzdWJtZXRob2QgPT0gTlVMTCA/ICIiIDogc3VibWV0aG9kLApAQCAtMzM3LDggKzMzOCw4 IEBAIGRpZmYgLU51ciBvcGVuc3NoLTkuOXAxLm9yaWcvYXV0aC5jIG9wZW5zc2gtOS45cDEvYXV0 aC5jCiAgCQlyZWNvcmRfZmFpbGVkX2xvZ2luKHNzaCwgdXNlciwKICAJCSAgICBhdXRoX2dldF9j YW5vbmljYWxfaG9zdG5hbWUoc3NoLCBvcHRpb25zLnVzZV9kbnMpLCAic3NoIik7CiBkaWZmIC1O dXIgb3BlbnNzaC05LjlwMS5vcmlnL2F1dGguaCBvcGVuc3NoLTkuOXAxL2F1dGguaAotLS0tIG9w ZW5zc2gtOS45cDEub3JpZy9hdXRoLmgJMjAyNi0wMy0yNSAwNTo0NToyNC42NTc5NTk1NTggKzAx MDAKLSsrKyBvcGVuc3NoLTkuOXAxL2F1dGguaAkyMDI2LTAzLTI1IDA1OjQ2OjMyLjIyMzE5MzMz MCArMDEwMAorLS0tIG9wZW5zc2gtOS45cDEub3JpZy9hdXRoLmgJMjAyNi0wOS0yMiAxMDozNTow MC40Njg2OTU4MzggKzAyMDAKKysrKyBvcGVuc3NoLTkuOXAxL2F1dGguaAkyMDI2LTA5LTIyIDEw OjM2OjMyLjM4Mzk3OTQzMSArMDIwMAogQEAgLTg1LDYgKzg1LDggQEAKICAJa3JiNV9wcmluY2lw YWwJIGtyYjVfdXNlcjsKICAJY2hhcgkJKmtyYjVfdGlja2V0X2ZpbGU7CkBAIC0zNDksOCArMzUw LDggQEAgZGlmZiAtTnVyIG9wZW5zc2gtOS45cDEub3JpZy9hdXRoLmggb3BlbnNzaC05LjlwMS9h dXRoLmgKICAjZW5kaWYKICAJc3RydWN0IHNzaGJ1ZgkqbG9naW5tc2c7CiBkaWZmIC1OdXIgb3Bl bnNzaC05LjlwMS5vcmlnL2F1dGgtcGFtLmMgb3BlbnNzaC05LjlwMS9hdXRoLXBhbS5jCi0tLS0g b3BlbnNzaC05LjlwMS5vcmlnL2F1dGgtcGFtLmMJMjAyNi0wMy0yNSAwNTo0NToyNC43MDEzNjk1 NDIgKzAxMDAKLSsrKyBvcGVuc3NoLTkuOXAxL2F1dGgtcGFtLmMJMjAyNi0wMy0yNSAwNTo0Njoz Mi4yMjM1NDY3MjggKzAxMDAKKy0tLSBvcGVuc3NoLTkuOXAxLm9yaWcvYXV0aC1wYW0uYwkyMDI2 LTA5LTIyIDEwOjM1OjAwLjM4NTE4Njc3MCArMDIwMAorKysrIG9wZW5zc2gtOS45cDEvYXV0aC1w YW0uYwkyMDI2LTA5LTIyIDEwOjM2OjMyLjM4NDYxMjk2MyArMDIwMAogQEAgLTI0OCw2ICsyNDgs NyBAQAogIHN0YXRpYyBjb25zdCBjaGFyICpzc2hwYW1fcGFzc3dvcmQgPSBOVUxMOwogIHN0YXRp YyBjaGFyICpzc2hwYW1fcmhvc3QgPSBOVUxMOwpAQCAtNTEyLDggKzUxMyw4IEBAIGRpZmYgLU51 ciBvcGVuc3NoLTkuOXAxLm9yaWcvYXV0aC1wYW0uYyBvcGVuc3NoLTkuOXAxL2F1dGgtcGFtLmMK ICAJZnJlZShmYWtlKTsKICAJaWYgKHNzaHBhbV9lcnIgPT0gUEFNX01BWFRSSUVTKQogZGlmZiAt TnVyIG9wZW5zc2gtOS45cDEub3JpZy9hdXRoLXBhbS5oIG9wZW5zc2gtOS45cDEvYXV0aC1wYW0u aAotLS0tIG9wZW5zc2gtOS45cDEub3JpZy9hdXRoLXBhbS5oCTIwMjYtMDMtMjUgMDU6NDU6MjQu NTI1MDY0MDM3ICswMTAwCi0rKysgb3BlbnNzaC05LjlwMS9hdXRoLXBhbS5oCTIwMjYtMDMtMjUg MDU6NDY6MzIuMjI0MDE3NjY5ICswMTAwCistLS0gb3BlbnNzaC05LjlwMS5vcmlnL2F1dGgtcGFt LmgJMjAyNi0wOS0yMiAxMDozNTowMC4yMTA1Mzc5NzQgKzAyMDAKKysrKyBvcGVuc3NoLTkuOXAx L2F1dGgtcGFtLmgJMjAyNi0wOS0yMiAxMDozNjozMi4zODU1NjY0NjMgKzAyMDAKIEBAIC00Myw1 ICs0Myw2IEBACiAgaW50IHNzaHBhbV9nZXRfbWF4dHJpZXNfcmVhY2hlZCh2b2lkKTsKICB2b2lk IHNzaHBhbV9zZXRfbWF4dHJpZXNfcmVhY2hlZChpbnQpOwpAQCAtNTIyLDggKzUyMyw4IEBAIGRp ZmYgLU51ciBvcGVuc3NoLTkuOXAxLm9yaWcvYXV0aC1wYW0uaCBvcGVuc3NoLTkuOXAxL2F1dGgt cGFtLmgKICAKICAjZW5kaWYgLyogVVNFX1BBTSAqLwogZGlmZiAtTnVyIG9wZW5zc2gtOS45cDEu b3JpZy9jYW5vaG9zdC5jIG9wZW5zc2gtOS45cDEvY2Fub2hvc3QuYwotLS0tIG9wZW5zc2gtOS45 cDEub3JpZy9jYW5vaG9zdC5jCTIwMjYtMDMtMjUgMDU6NDU6MjQuNTU2ODgzNzU0ICswMTAwCi0r Kysgb3BlbnNzaC05LjlwMS9jYW5vaG9zdC5jCTIwMjYtMDMtMjUgMDU6NDY6MzIuMjI0MzA1OTA1 ICswMTAwCistLS0gb3BlbnNzaC05LjlwMS5vcmlnL2Nhbm9ob3N0LmMJMjAyNi0wOS0yMiAxMDoz NTowMC4yNDgzMzQ0MjIgKzAyMDAKKysrKyBvcGVuc3NoLTkuOXAxL2Nhbm9ob3N0LmMJMjAyNi0w OS0yMiAxMDozNjozMi4zODU5NzIxNjEgKzAyMDAKIEBAIC0xNyw2ICsxNyw3IEBACiAgI2luY2x1 ZGUgPHN5cy90eXBlcy5oPgogICNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+CkBAIC01NjcsOCArNTY4 LDggQEAgZGlmZiAtTnVyIG9wZW5zc2gtOS45cDEub3JpZy9jYW5vaG9zdC5jIG9wZW5zc2gtOS45 cDEvY2Fub2hvc3QuYwogKwl9CiArfQogZGlmZiAtTnVyIG9wZW5zc2gtOS45cDEub3JpZy9jYW5v aG9zdC5oIG9wZW5zc2gtOS45cDEvY2Fub2hvc3QuaAotLS0tIG9wZW5zc2gtOS45cDEub3JpZy9j YW5vaG9zdC5oCTIwMjYtMDMtMjUgMDU6NDU6MjQuNTU3MTQ3NjE1ICswMTAwCi0rKysgb3BlbnNz aC05LjlwMS9jYW5vaG9zdC5oCTIwMjYtMDMtMjUgMDU6NDY6MzIuMjI0NTk0NTYwICswMTAwCist LS0gb3BlbnNzaC05LjlwMS5vcmlnL2Nhbm9ob3N0LmgJMjAyNi0wOS0yMiAxMDozNTowMC4yNDg2 NjUzMzcgKzAyMDAKKysrKyBvcGVuc3NoLTkuOXAxL2Nhbm9ob3N0LmgJMjAyNi0wOS0yMiAxMDoz NjozMi4zODY0NzIyMDIgKzAyMDAKIEBAIC0yNiw0ICsyNiw2IEBACiAgCiAgI2VuZGlmIC8qIF9D QU5PSE9TVF9IICovCkBAIC01NzcsOCArNTc4LDggQEAgZGlmZiAtTnVyIG9wZW5zc2gtOS45cDEu b3JpZy9jYW5vaG9zdC5oIG9wZW5zc2gtOS45cDEvY2Fub2hvc3QuaAogKwogIHZvaWQJCSBpcHY2 NF9ub3JtYWxpc2VfbWFwcGVkKHN0cnVjdCBzb2NrYWRkcl9zdG9yYWdlICosIHNvY2tsZW5fdCAq KTsKIGRpZmYgLU51ciBvcGVuc3NoLTkuOXAxLm9yaWcvY29uZmlndXJlLmFjIG9wZW5zc2gtOS45 cDEvY29uZmlndXJlLmFjCi0tLS0gb3BlbnNzaC05LjlwMS5vcmlnL2NvbmZpZ3VyZS5hYwkyMDI2 LTAzLTI1IDA1OjQ1OjI0LjczMzY3MTU4NCArMDEwMAotKysrIG9wZW5zc2gtOS45cDEvY29uZmln dXJlLmFjCTIwMjYtMDMtMjUgMDU6NDY6MzIuMjI1MTg3MDI1ICswMTAwCistLS0gb3BlbnNzaC05 LjlwMS5vcmlnL2NvbmZpZ3VyZS5hYwkyMDI2LTA5LTIyIDEwOjM1OjAwLjQxNjU3NzQ0MyArMDIw MAorKysrIG9wZW5zc2gtOS45cDEvY29uZmlndXJlLmFjCTIwMjYtMDktMjIgMTA6MzY6MzIuMzg3 Mjk5NDM3ICswMjAwCiBAQCAtNDkyMCw2ICs0OTIwLDE0IEBACiAgCQkJCUFDX0NIRUNLX0hFQURF UihbZ3NzYXBpX2tyYjUuaF0sICwKICAJCQkJCQlbIENQUEZMQUdTPSIkb2xkQ1BQIiBdKQpAQCAt NjM2LDggKzYzNyw4IEBAIGRpZmYgLU51ciBvcGVuc3NoLTkuOXAxLm9yaWcvY29uZmlndXJlLmFj IG9wZW5zc2gtOS45cDEvY29uZmlndXJlLmFjCiAgCiAgUFJJVlNFUF9QQVRIPS92YXIvZW1wdHkK IGRpZmYgLU51ciBvcGVuc3NoLTkuOXAxLm9yaWcvZ3NzLWdlbnIuYyBvcGVuc3NoLTkuOXAxL2dz cy1nZW5yLmMKLS0tLSBvcGVuc3NoLTkuOXAxLm9yaWcvZ3NzLWdlbnIuYwkyMDI2LTAzLTI1IDA1 OjQ1OjI0LjczODg5MDI4MSArMDEwMAotKysrIG9wZW5zc2gtOS45cDEvZ3NzLWdlbnIuYwkyMDI2 LTAzLTI1IDA1OjQ2OjMyLjIyNjIyNTIxOSArMDEwMAorLS0tIG9wZW5zc2gtOS45cDEub3JpZy9n c3MtZ2Vuci5jCTIwMjYtMDktMjIgMTA6MzU6MDAuNDcwNTk2MDE0ICswMjAwCisrKysgb3BlbnNz aC05LjlwMS9nc3MtZ2Vuci5jCTIwMjYtMDktMjIgMTA6MzY6MzIuMzg5OTA1MjQwICswMjAwCiBA QCAtNDEsNiArNDEsNyBAQAogICNpbmNsdWRlICJzc2hlcnIuaCIKICAjaW5jbHVkZSAic3NoYnVm LmgiCkBAIC02NzUsOCArNjc2LDggQEAgZGlmZiAtTnVyIG9wZW5zc2gtOS45cDEub3JpZy9nc3Mt Z2Vuci5jIG9wZW5zc2gtOS45cDEvZ3NzLWdlbnIuYwogIAlyZXR1cm4gKGN0eC0+bWFqb3IpOwog IH0KIGRpZmYgLU51ciBvcGVuc3NoLTkuOXAxLm9yaWcvZ3NzLXNlcnYuYyBvcGVuc3NoLTkuOXAx L2dzcy1zZXJ2LmMKLS0tLSBvcGVuc3NoLTkuOXAxLm9yaWcvZ3NzLXNlcnYuYwkyMDI2LTAzLTI1 IDA1OjQ1OjI0LjczNDkwNjgwMSArMDEwMAotKysrIG9wZW5zc2gtOS45cDEvZ3NzLXNlcnYuYwky MDI2LTAzLTI1IDA2OjQ3OjM5LjE0MzUzMDIxNiArMDEwMAorLS0tIG9wZW5zc2gtOS45cDEub3Jp Zy9nc3Mtc2Vydi5jCTIwMjYtMDktMjIgMTA6MzU6MDAuNDE4NzIzNDU2ICswMjAwCisrKysgb3Bl bnNzaC05LjlwMS9nc3Mtc2Vydi5jCTIwMjYtMDktMjIgMTA6MzY6MzIuMzkwNjU4NTY0ICswMjAw CiBAQCAtNTAsMTAgKzUwLDEyIEBACiAgI2luY2x1ZGUgIm1vbml0b3Jfd3JhcC5oIgogIApAQCAt NzU5LDcgKzc2MCw3IEBAIGRpZmYgLU51ciBvcGVuc3NoLTkuOXAxLm9yaWcvZ3NzLXNlcnYuYyBv cGVuc3NoLTkuOXAxL2dzcy1zZXJ2LmMKICAvKiBFeHRyYWN0IGF1dGhlbnRpY2F0aW9uIGluZGlj YXRvcnMgZnJvbSB0aGUgS2VyYmVyb3MgdGlja2V0LiBBdXRoZW50aWNhdGlvbgogICAqIGluZGlj YXRvcnMgYXJlIEdTU0FQSSBuYW1lIGF0dHJpYnV0ZXMgZm9yIHRoZSBuYW1lICJhdXRoLWluZGlj YXRvcnMiLgogICAqIE11bHRpcGxlIGluZGljYXRvcnMgbWlnaHQgYmUgcHJlc2VudCBpbiB0aGUg dGlja2V0LgotQEAgLTM3OSw2ICs0MTIsNyBAQAorQEAgLTM4Nyw2ICs0MjAsNyBAQAogIAlnc3Nf cmVsZWFzZV9idWZmZXJfc2V0KCZjdHgtPm1pbm9yLCAmYXR0cnMpOwogIAlyZXR1cm4gY3R4LT5t YWpvcjsKICB9CkBAIC03NjcsNyArNzY4LDcgQEAgZGlmZiAtTnVyIG9wZW5zc2gtOS45cDEub3Jp Zy9nc3Mtc2Vydi5jIG9wZW5zc2gtOS45cDEvZ3NzLXNlcnYuYwogIAogIC8qIEV4dHJhY3QgdGhl IGNsaWVudCBkZXRhaWxzIGZyb20gYSBnaXZlbiBjb250ZXh0LiBUaGlzIGNhbiBvbmx5IHJlbGlh Ymx5CiAgICogYmUgY2FsbGVkIG9uY2UgZm9yIGEgY29udGV4dCAqLwotQEAgLTM5NCwyMSArNDI4 LDI0IEBACitAQCAtNDAxLDIxICs0MzUsMjQgQEAKICAJZ3NzX2J1ZmZlcl9kZXNjIGVuYW1lID0g R1NTX0NfRU1QVFlfQlVGRkVSOwogIAogIAlpZiAob3B0aW9ucy5nc3Nfc3RvcmVfcmVrZXkgJiYg Y2xpZW50LT51c2VkICYmIGN0eC0+Y2xpZW50X2NyZWRzKSB7CkBAIC03OTcsNyArNzk4LDcgQEAg ZGlmZiAtTnVyIG9wZW5zc2gtOS45cDEub3JpZy9nc3Mtc2Vydi5jIG9wZW5zc2gtOS45cDEvZ3Nz LXNlcnYuYwogIAkJICAgIG5ld19uYW1lLCAmZXF1YWwpOwogIAogIAkJaWYgKEdTU19FUlJPUihj dHgtPm1ham9yKSkgewotQEAgLTQyMyw5ICs0NjAsOSBAQAorQEAgLTQzMCw5ICs0NjcsOSBAQAog IAogIAkJZGVidWcoIk1hcmtpbmcgcmVrZXllZCBjcmVkZW50aWFscyBmb3IgZXhwb3J0Iik7CiAg CkBAIC04MDksNyArODEwLDcgQEAgZGlmZiAtTnVyIG9wZW5zc2gtOS45cDEub3JpZy9nc3Mtc2Vy di5jIG9wZW5zc2gtOS45cDEvZ3NzLXNlcnYuYwogIAkJY2xpZW50LT5jcmVkcyA9IGN0eC0+Y2xp ZW50X2NyZWRzOwogIAkJY3R4LT5jbGllbnRfY3JlZHMgPSBHU1NfQ19OT19DUkVERU5USUFMOwog IAkJY2xpZW50LT51cGRhdGVkID0gMTsKLUBAIC00NDIsMTIgKzQ3OSwxNyBAQAorQEAgLTQ0OSwx MiArNDg2LDE3IEBACiAgCQlpKys7CiAgCX0KICAKQEAgLTgyOSw3ICs4MzAsNyBAQCBkaWZmIC1O dXIgb3BlbnNzaC05LjlwMS5vcmlnL2dzcy1zZXJ2LmMgb3BlbnNzaC05LjlwMS9nc3Mtc2Vydi5j CiAgCQlzc2hfZ3NzYXBpX2Vycm9yKGN0eCk7CiAgCQlyZXR1cm4gKGN0eC0+bWFqb3IpOwogIAl9 Ci1AQCAtNDY0LDIyICs1MDYsMzMgQEAKK0BAIC00NzEsMjIgKzUxMywzMyBAQAogIAkJcmV0dXJu IChjdHgtPm1ham9yKTsKICAJfQogIApAQCAtODY0LDcgKzg2NSw3IEBAIGRpZmYgLU51ciBvcGVu c3NoLTkuOXAxLm9yaWcvZ3NzLXNlcnYuYyBvcGVuc3NoLTkuOXAxL2dzcy1zZXJ2LmMKICAJcmV0 dXJuIChjdHgtPm1ham9yKTsKICB9CiAgCi1AQCAtNDg3LDYgKzU0MCw3IEBACitAQCAtNDk0LDYg KzU0Nyw3IEBACiAgdm9pZAogIHNzaF9nc3NhcGlfY2xlYW51cF9jcmVkcyh2b2lkKQogIHsKQEAg LTg3Miw3ICs4NzMsNyBAQCBkaWZmIC1OdXIgb3BlbnNzaC05LjlwMS5vcmlnL2dzcy1zZXJ2LmMg b3BlbnNzaC05LjlwMS9nc3Mtc2Vydi5jCiAgCWtyYjVfY2NhY2hlIGNjYWNoZSA9IE5VTEw7CiAg CWtyYjVfZXJyb3JfY29kZSBwcm9ibGVtOwogIAotQEAgLTUwMiw2ICs1NTYsMTQgQEAKK0BAIC01 MDksNiArNTYzLDE0IEBACiAgCQkJZ3NzYXBpX2NsaWVudC5zdG9yZS5kYXRhID0gTlVMTDsKICAJ CX0KICAJfQpAQCAtODg3LDcgKzg4OCw3IEBAIGRpZmYgLU51ciBvcGVuc3NoLTkuOXAxLm9yaWcv Z3NzLXNlcnYuYyBvcGVuc3NoLTkuOXAxL2dzcy1zZXJ2LmMKICB9CiAgCiAgLyogQXMgdXNlciAq LwotQEAgLTUwOSw2ICs1NzEsMTEgQEAKK0BAIC01MTYsNiArNTc4LDExIEBACiAgc3NoX2dzc2Fw aV9zdG9yZWNyZWRzKHZvaWQpCiAgewogIAlpZiAoZ3NzYXBpX2NsaWVudC5tZWNoICYmIGdzc2Fw aV9jbGllbnQubWVjaC0+c3RvcmVjcmVkcykgewpAQCAtODk5LDcgKzkwMCw3IEBAIGRpZmYgLU51 ciBvcGVuc3NoLTkuOXAxLm9yaWcvZ3NzLXNlcnYuYyBvcGVuc3NoLTkuOXAxL2dzcy1zZXJ2LmMK ICAJCXJldHVybiAoKmdzc2FwaV9jbGllbnQubWVjaC0+c3RvcmVjcmVkcykoJmdzc2FwaV9jbGll bnQpOwogIAl9IGVsc2UKICAJCWRlYnVnKCJzc2hfZ3NzYXBpX3N0b3JlY3JlZHM6IE5vdCBhIEdT U0FQSSBtZWNoYW5pc20iKTsKLUBAIC01NDIsMTEgKzYwOSwxMyBAQAorQEAgLTU0OSwxMSArNjE2 LDEzIEBACiAgCiAgCSh2b2lkKSBrZXg7IC8qIHVzZWQgaW4gcHJpdmlsZWdlIHNlcGFyYXRpb24g Ki8KICAKQEAgLTkxNiw3ICs5MTcsNyBAQCBkaWZmIC1OdXIgb3BlbnNzaC05LjlwMS5vcmlnL2dz cy1zZXJ2LmMgb3BlbnNzaC05LjlwMS9nc3Mtc2Vydi5jCiAgCWlmIChnc3NhcGlfY2xpZW50Lm1l Y2ggJiYgZ3NzYXBpX2NsaWVudC5tZWNoLT51c2Vyb2spCiAgCQlpZiAoKCpnc3NhcGlfY2xpZW50 Lm1lY2gtPnVzZXJvaykoJmdzc2FwaV9jbGllbnQsIHVzZXIpKSB7CiAgCQkJZ3NzYXBpX2NsaWVu dC51c2VkID0gMTsKLUBAIC01NTcsNiArNjI2LDcgQEAKK0BAIC01NjQsNiArNjMzLDcgQEAKICAJ CQlnc3NfcmVsZWFzZV9idWZmZXIoJmxtaW4sICZnc3NhcGlfY2xpZW50LmRpc3BsYXluYW1lKTsK ICAJCQlnc3NfcmVsZWFzZV9idWZmZXIoJmxtaW4sICZnc3NhcGlfY2xpZW50LmV4cG9ydGVkbmFt ZSk7CiAgCQkJZ3NzX3JlbGVhc2VfY3JlZCgmbG1pbiwgJmdzc2FwaV9jbGllbnQuY3JlZHMpOwpA QCAtOTI0LDcgKzkyNSw3IEBAIGRpZmYgLU51ciBvcGVuc3NoLTkuOXAxLm9yaWcvZ3NzLXNlcnYu YyBvcGVuc3NoLTkuOXAxL2dzcy1zZXJ2LmMKICAKICAJCQlpZiAoZ3NzYXBpX2NsaWVudC5pbmRp Y2F0b3JzICE9IE5VTEwpIHsKICAJCQkJZm9yIChpID0gMDsgZ3NzYXBpX2NsaWVudC5pbmRpY2F0 b3JzW2ldICE9IE5VTEw7IGkrKykKLUBAIC01NzQsNiArNjQ0LDI0IEBACitAQCAtNTc5LDYgKzY0 OSwyNCBAQAogIAlyZXR1cm4gKDApOwogIH0KICAKQEAgLTk0OSw3ICs5NTAsNyBAQCBkaWZmIC1O dXIgb3BlbnNzaC05LjlwMS5vcmlnL2dzcy1zZXJ2LmMgb3BlbnNzaC05LjlwMS9nc3Mtc2Vydi5j CiAgLyogVGhlc2UgYml0cyBhcmUgb25seSB1c2VkIGZvciByZWtleWluZy4gVGhlIHVucHJpdmls ZWRnZWQgY2hpbGQgaXMgcnVubmluZwogICAqIGFzIHRoZSB1c2VyLCB0aGUgbW9uaXRvciBpcyBy b290LgogICAqCi1AQCAtNjAwLDkgKzY4OCwxMSBAQAorQEAgLTYwNSw5ICs2OTMsMTEgQEAKICAJ cGFtX2hhbmRsZV90ICpwYW1oID0gTlVMTDsKICAJc3RydWN0IHBhbV9jb252IHBhbWNvbnYgPSB7 c3NoX2dzc2FwaV9zaW1wbGVfY29udiwgTlVMTH07CiAgCWNoYXIgKmVudnN0cjsKQEAgLTk2Miw3 ICs5NjMsNyBAQCBkaWZmIC1OdXIgb3BlbnNzaC05LjlwMS5vcmlnL2dzcy1zZXJ2LmMgb3BlbnNz aC05LjlwMS9nc3Mtc2Vydi5jCiAgCQlyZXR1cm47CiAgCiAgCW9rID0gbW1fc3NoX2dzc2FwaV91 cGRhdGVfY3JlZHMoJmdzc2FwaV9jbGllbnQuc3RvcmUpOwotQEAgLTYyMiw2ICs3MTIsMTggQEAK K0BAIC02MjcsNiArNzE3LDE4IEBACiAgCWlmIChyZXQpCiAgCQlyZXR1cm47CiAgCkBAIC05ODMs NyArOTg0LDcgQEAgZGlmZiAtTnVyIG9wZW5zc2gtOS45cDEub3JpZy9nc3Mtc2Vydi5jIG9wZW5z c2gtOS45cDEvZ3NzLXNlcnYuYwogIAogZGlmZiAtTnVyIG9wZW5zc2gtOS45cDEub3JpZy9nc3Mt c2Vydi1nc2kuYyBvcGVuc3NoLTkuOXAxL2dzcy1zZXJ2LWdzaS5jCiAtLS0gb3BlbnNzaC05Ljlw MS5vcmlnL2dzcy1zZXJ2LWdzaS5jCTE5NzAtMDEtMDEgMDE6MDA6MDAuMDAwMDAwMDAwICswMTAw Ci0rKysgb3BlbnNzaC05LjlwMS9nc3Mtc2Vydi1nc2kuYwkyMDI2LTAzLTI1IDA1OjQ2OjMyLjIy Nzg4MjIwOSArMDEwMAorKysrIG9wZW5zc2gtOS45cDEvZ3NzLXNlcnYtZ3NpLmMJMjAyNi0wOS0y MiAxMDozNjozMi4zOTE1MjQzNjMgKzAyMDAKIEBAIC0wLDAgKzEsMzI4IEBACiArLyoKICsgKiBD b3B5cmlnaHQgKGMpIDIwMDEtMjAwMyBTaW1vbiBXaWxraW5zb24uIEFsbCByaWdodHMgcmVzZXJ2 ZWQuCkBAIC0xMzE0LDkgKzEzMTUsOSBAQCBkaWZmIC1OdXIgb3BlbnNzaC05LjlwMS5vcmlnL2dz cy1zZXJ2LWdzaS5jIG9wZW5zc2gtOS45cDEvZ3NzLXNlcnYtZ3NpLmMKICsjZW5kaWYgLyogR1NJ ICovCiArI2VuZGlmIC8qIEdTU0FQSSAqLwogZGlmZiAtTnVyIG9wZW5zc2gtOS45cDEub3JpZy9n c3Mtc2Vydi1rcmI1LmMgb3BlbnNzaC05LjlwMS9nc3Mtc2Vydi1rcmI1LmMKLS0tLSBvcGVuc3No LTkuOXAxLm9yaWcvZ3NzLXNlcnYta3JiNS5jCTIwMjYtMDMtMjUgMDU6NDU6MjQuNzM0NjU3ODg2 ICswMTAwCi0rKysgb3BlbnNzaC05LjlwMS9nc3Mtc2Vydi1rcmI1LmMJMjAyNi0wMy0yNSAwNTo0 NjozMi4yMjgxMzY0MzIgKzAxMDAKLUBAIC00MzEsNiArNDMxLDM0IEBACistLS0gb3BlbnNzaC05 LjlwMS5vcmlnL2dzcy1zZXJ2LWtyYjUuYwkyMDI2LTA5LTIyIDEwOjM1OjAwLjQxOTExOTIyNSAr MDIwMAorKysrIG9wZW5zc2gtOS45cDEvZ3NzLXNlcnYta3JiNS5jCTIwMjYtMDktMjIgMTA6MzY6 MzIuMzkxODA2MzQ1ICswMjAwCitAQCAtNDUwLDYgKzQ1MCwzNCBAQAogIAlyZXR1cm4gZm91bmRf cHJpbmNpcGFsOwogIH0KICAgCkBAIC0xMzUxLDcgKzEzNTIsNyBAQCBkaWZmIC1OdXIgb3BlbnNz aC05LjlwMS5vcmlnL2dzcy1zZXJ2LWtyYjUuYyBvcGVuc3NoLTkuOXAxL2dzcy1zZXJ2LWtyYjUu YwogIAogIC8qIFRoaXMgd3JpdGVzIG91dCBhbnkgZm9yd2FyZGVkIGNyZWRlbnRpYWxzIGZyb20g dGhlIHN0cnVjdHVyZSBwb3B1bGF0ZWQKICAgKiBkdXJpbmcgdXNlcmF1dGguIENhbGxlZCBhZnRl ciB3ZSBoYXZlIHNldHVpZCB0byB0aGUgdXNlciAqLwotQEAgLTUyNSw3ICs1NTMsNyBAQAorQEAg LTU0NCw3ICs1NzIsNyBAQAogIAlyZXR1cm4gc2V0X2VudjsKICB9CiAgCkBAIC0xMzYwLDcgKzEz NjEsNyBAQCBkaWZmIC1OdXIgb3BlbnNzaC05LjlwMS5vcmlnL2dzcy1zZXJ2LWtyYjUuYyBvcGVu c3NoLTkuOXAxL2dzcy1zZXJ2LWtyYjUuYwogIHNzaF9nc3NhcGlfa3JiNV91cGRhdGVjcmVkcyhz c2hfZ3NzYXBpX2NjYWNoZSAqc3RvcmUsCiAgICAgIHNzaF9nc3NhcGlfY2xpZW50ICpjbGllbnQp CiAgewotQEAgLTU5Niw3ICs2MjQsNyBAQAorQEAgLTYxNSw3ICs2NDMsNyBAQAogIAl7OSwgIlx4 MkFceDg2XHg0OFx4ODZceEY3XHgxMlx4MDFceDAyXHgwMiJ9LAogIAlOVUxMLAogIAkmc3NoX2dz c2FwaV9rcmI1X3VzZXJvaywKQEAgLTEzNzAsOCArMTM3MSw4IEBAIGRpZmYgLU51ciBvcGVuc3No LTkuOXAxLm9yaWcvZ3NzLXNlcnYta3JiNS5jIG9wZW5zc2gtOS45cDEvZ3NzLXNlcnYta3JiNS5j CiAgCSZzc2hfZ3NzYXBpX2tyYjVfdXBkYXRlY3JlZHMKICB9OwogZGlmZiAtTnVyIG9wZW5zc2gt OS45cDEub3JpZy9rZXhnc3NzLmMgb3BlbnNzaC05LjlwMS9rZXhnc3NzLmMKLS0tLSBvcGVuc3No LTkuOXAxLm9yaWcva2V4Z3Nzcy5jCTIwMjYtMDMtMjUgMDU6NDU6MjQuNTYxNjY0NzU0ICswMTAw Ci0rKysgb3BlbnNzaC05LjlwMS9rZXhnc3NzLmMJMjAyNi0wMy0yNSAwNTo0NjozMi4yMjg3Njcx MDAgKzAxMDAKKy0tLSBvcGVuc3NoLTkuOXAxLm9yaWcva2V4Z3Nzcy5jCTIwMjYtMDktMjIgMTA6 MzU6MDAuMjUyOTQ1Nzc1ICswMjAwCisrKysgb3BlbnNzaC05LjlwMS9rZXhnc3NzLmMJMjAyNi0w OS0yMiAxMDozNjozMi4zOTI0MjE4OTMgKzAyMDAKIEBAIC00OCw2ICs0OCw3IEBACiAgI2luY2x1 ZGUgImRpZ2VzdC5oIgogICNpbmNsdWRlICJzc2hlcnIuaCIKQEAgLTE0MzYsOCArMTQzNyw4IEBA IGRpZmYgLU51ciBvcGVuc3NoLTkuOXAxLm9yaWcva2V4Z3Nzcy5jIG9wZW5zc2gtOS45cDEva2V4 Z3Nzcy5jCiArCiAgI2VuZGlmIC8qIGRlZmluZWQoR1NTQVBJKSAmJiBkZWZpbmVkKFdJVEhfT1BF TlNTTCkgKi8KIGRpZmYgLU51ciBvcGVuc3NoLTkuOXAxLm9yaWcvTWFrZWZpbGUuaW4gb3BlbnNz aC05LjlwMS9NYWtlZmlsZS5pbgotLS0tIG9wZW5zc2gtOS45cDEub3JpZy9NYWtlZmlsZS5pbgky MDI2LTAzLTI1IDA1OjQ1OjI0LjcwNTk3MTY3OCArMDEwMAotKysrIG9wZW5zc2gtOS45cDEvTWFr ZWZpbGUuaW4JMjAyNi0wMy0yNSAwNTo0NjozMi4yMjkzOTAwMTcgKzAxMDAKKy0tLSBvcGVuc3No LTkuOXAxLm9yaWcvTWFrZWZpbGUuaW4JMjAyNi0wOS0yMiAxMDozNTowMC4zOTA1Mjk0NjUgKzAy MDAKKysrKyBvcGVuc3NoLTkuOXAxL01ha2VmaWxlLmluCTIwMjYtMDktMjIgMTA6MzY6MzIuMzkz MTM0NzA1ICswMjAwCiBAQCAtMTM4LDYgKzEzOCw3IEBACiAgCWF1dGgyLW5vbmUubyBhdXRoMi1w YXNzd2QubyBhdXRoMi1wdWJrZXkubyBhdXRoMi1wdWJrZXlmaWxlLm8gXAogIAltb25pdG9yLm8g bW9uaXRvcl93cmFwLm8gYXV0aC1rcmI1Lm8ga2V4Z3Nzcy5vIFwKQEAgLTE0NDcsOCArMTQ0OCw4 IEBAIGRpZmYgLU51ciBvcGVuc3NoLTkuOXAxLm9yaWcvTWFrZWZpbGUuaW4gb3BlbnNzaC05Ljlw MS9NYWtlZmlsZS5pbgogIAlzZnRwLXNlcnZlci5vIHNmdHAtY29tbW9uLm8gXAogIAlzYW5kYm94 LW51bGwubyBzYW5kYm94LXJsaW1pdC5vIHNhbmRib3gtc3lzdHJhY2UubyBzYW5kYm94LWRhcndp bi5vIFwKIGRpZmYgLU51ciBvcGVuc3NoLTkuOXAxLm9yaWcvbWlzYy5jIG9wZW5zc2gtOS45cDEv bWlzYy5jCi0tLS0gb3BlbnNzaC05LjlwMS5vcmlnL21pc2MuYwkyMDI2LTAzLTI1IDA1OjQ1OjI0 Ljc0ODgxNTMxNiArMDEwMAotKysrIG9wZW5zc2gtOS45cDEvbWlzYy5jCTIwMjYtMDMtMjUgMDU6 NDY6MzIuMjI5ODY0NjYwICswMTAwCistLS0gb3BlbnNzaC05LjlwMS5vcmlnL21pc2MuYwkyMDI2 LTA5LTIyIDEwOjM1OjAwLjQ3MTc4Mzc0NSArMDIwMAorKysrIG9wZW5zc2gtOS45cDEvbWlzYy5j CTIwMjYtMDktMjIgMTA6MzY6MzIuMzk0MTQ2MDQ1ICswMjAwCiBAQCAtNDQwLDExICs0NDAsMTQg QEAKICAjZGVmaW5lIFdISVRFU1BBQ0UgIiBcdFxyXG4iCiAgI2RlZmluZSBRVU9URQkiXCIiCkBA IC0xNTA5LDggKzE1MTAsOCBAQCBkaWZmIC1OdXIgb3BlbnNzaC05LjlwMS5vcmlnL21pc2MuYyBv cGVuc3NoLTkuOXAxL21pc2MuYwogICAqIENvbnZlcnQgQVNDSUkgc3RyaW5nIHRvIFRDUC9JUCBw b3J0IG51bWJlci4KICAgKiBQb3J0IG11c3QgYmUgPj0wIGFuZCA8PTY1NTM1LgogZGlmZiAtTnVy IG9wZW5zc2gtOS45cDEub3JpZy9taXNjLmggb3BlbnNzaC05LjlwMS9taXNjLmgKLS0tLSBvcGVu c3NoLTkuOXAxLm9yaWcvbWlzYy5oCTIwMjYtMDMtMjUgMDU6NDU6MjQuNzE2Mzk2MzU5ICswMTAw Ci0rKysgb3BlbnNzaC05LjlwMS9taXNjLmgJMjAyNi0wMy0yNSAwNTo0NjozMi4yMzA2NzgxMDQg KzAxMDAKKy0tLSBvcGVuc3NoLTkuOXAxLm9yaWcvbWlzYy5oCTIwMjYtMDktMjIgMTA6MzU6MDAu NDAyNTUxODIwICswMjAwCisrKysgb3BlbnNzaC05LjlwMS9taXNjLmgJMjAyNi0wOS0yMiAxMDoz NjozMi4zOTU2MjQ5NjcgKzAyMDAKIEBAIC0xMTIsNiArMTEyLDcgQEAKICB2b2lkCSBzb2NrX3Nl dF92Nm9ubHkoaW50KTsKICAKQEAgLTE1MjAsOCArMTUyMSw4IEBAIGRpZmYgLU51ciBvcGVuc3No LTkuOXAxLm9yaWcvbWlzYy5oIG9wZW5zc2gtOS45cDEvbWlzYy5oCiAgCiAgdHlwZWRlZiB2b2lk IHByaXZkcm9wX2ZuKHN0cnVjdCBwYXNzd2QgKik7CiBkaWZmIC1OdXIgb3BlbnNzaC05LjlwMS5v cmlnL21vbml0b3IuYyBvcGVuc3NoLTkuOXAxL21vbml0b3IuYwotLS0tIG9wZW5zc2gtOS45cDEu b3JpZy9tb25pdG9yLmMJMjAyNi0wMy0yNSAwNTo0NToyNC42OTM3NDQzODcgKzAxMDAKLSsrKyBv cGVuc3NoLTkuOXAxL21vbml0b3IuYwkyMDI2LTAzLTI1IDA1OjQ2OjMyLjIzMTMyNDEzNyArMDEw MAorLS0tIG9wZW5zc2gtOS45cDEub3JpZy9tb25pdG9yLmMJMjAyNi0wOS0yMiAxMDozNTowMC40 NzIyODk0NzIgKzAyMDAKKysrKyBvcGVuc3NoLTkuOXAxL21vbml0b3IuYwkyMDI2LTA5LTIyIDEw OjM2OjMyLjM5NjUyODQxNCArMDIwMAogQEAgLTE0OCw2ICsxNDgsOSBAQAogIGludCBtbV9hbnN3 ZXJfZ3NzX3VzZXJvayhzdHJ1Y3Qgc3NoICosIGludCwgc3RydWN0IHNzaGJ1ZiAqKTsKICBpbnQg bW1fYW5zd2VyX2dzc19jaGVja21pYyhzdHJ1Y3Qgc3NoICosIGludCwgc3RydWN0IHNzaGJ1ZiAq KTsKQEAgLTE2OTIsOCArMTY5Myw4IEBAIGRpZmYgLU51ciBvcGVuc3NoLTkuOXAxLm9yaWcvbW9u aXRvci5jIG9wZW5zc2gtOS45cDEvbW9uaXRvci5jCiAgewogIAlnc3NfYnVmZmVyX2Rlc2MgZGF0 YTsKIGRpZmYgLU51ciBvcGVuc3NoLTkuOXAxLm9yaWcvbW9uaXRvci5oIG9wZW5zc2gtOS45cDEv bW9uaXRvci5oCi0tLS0gb3BlbnNzaC05LjlwMS5vcmlnL21vbml0b3IuaAkyMDI2LTAzLTI1IDA1 OjQ1OjI0LjY2MTM4MjI4MSArMDEwMAotKysrIG9wZW5zc2gtOS45cDEvbW9uaXRvci5oCTIwMjYt MDMtMjUgMDU6NDY6MzIuMjMxODc5MjM4ICswMTAwCistLS0gb3BlbnNzaC05LjlwMS5vcmlnL21v bml0b3IuaAkyMDI2LTA5LTIyIDEwOjM1OjAwLjM1NDk4MzM0NSArMDIwMAorKysrIG9wZW5zc2gt OS45cDEvbW9uaXRvci5oCTIwMjYtMDktMjIgMTA6MzY6MzIuMzk4MjE1MjAzICswMjAwCiBAQCAt NzUsNiArNzUsMTAgQEAKICAKICAJTU9OSVRPUl9SRVFfR1NTU0lHTiA9IDE1MCwgTU9OSVRPUl9B TlNfR1NTU0lHTiA9IDE1MSwKQEAgLTE3MDYsOCArMTcwNyw4IEBAIGRpZmYgLU51ciBvcGVuc3No LTkuOXAxLm9yaWcvbW9uaXRvci5oIG9wZW5zc2gtOS45cDEvbW9uaXRvci5oCiAgCiAgc3RydWN0 IHNzaDsKIGRpZmYgLU51ciBvcGVuc3NoLTkuOXAxLm9yaWcvbW9uaXRvcl93cmFwLmMgb3BlbnNz aC05LjlwMS9tb25pdG9yX3dyYXAuYwotLS0tIG9wZW5zc2gtOS45cDEub3JpZy9tb25pdG9yX3dy YXAuYwkyMDI2LTAzLTI1IDA1OjQ1OjI0LjY2NjY3MjIxNiArMDEwMAotKysrIG9wZW5zc2gtOS45 cDEvbW9uaXRvcl93cmFwLmMJMjAyNi0wMy0yNSAwNTo0NjozMi4yMzI1ODQ1NjcgKzAxMDAKKy0t LSBvcGVuc3NoLTkuOXAxLm9yaWcvbW9uaXRvcl93cmFwLmMJMjAyNi0wOS0yMiAxMDozNTowMC4z NTk4OTM1MDcgKzAyMDAKKysrKyBvcGVuc3NoLTkuOXAxL21vbml0b3Jfd3JhcC5jCTIwMjYtMDkt MjIgMTA6MzY6MzIuMzk5MDQxMTM4ICswMjAwCiBAQCAtMTEzOSw2ICsxMTM5LDk0IEBACiAgCXJl dHVybiAoYXV0aGVudGljYXRlZCk7CiAgfQpAQCAtMTgwNCw4ICsxODA1LDggQEAgZGlmZiAtTnVy IG9wZW5zc2gtOS45cDEub3JpZy9tb25pdG9yX3dyYXAuYyBvcGVuc3NoLTkuOXAxL21vbml0b3Jf d3JhcC5jCiAgbW1fc3NoX2dzc2FwaV9zaWduKEdzc2N0eHQgKmN0eCwgZ3NzX2J1ZmZlcl9kZXNj ICpkYXRhLCBnc3NfYnVmZmVyX2Rlc2MgKmhhc2gpCiAgewogZGlmZiAtTnVyIG9wZW5zc2gtOS45 cDEub3JpZy9tb25pdG9yX3dyYXAuaCBvcGVuc3NoLTkuOXAxL21vbml0b3Jfd3JhcC5oCi0tLS0g b3BlbnNzaC05LjlwMS5vcmlnL21vbml0b3Jfd3JhcC5oCTIwMjYtMDMtMjUgMDU6NDU6MjQuNjY3 MzcyMzA3ICswMTAwCi0rKysgb3BlbnNzaC05LjlwMS9tb25pdG9yX3dyYXAuaAkyMDI2LTAzLTI1 IDA1OjQ2OjMyLjIzMjk4NjA4NiArMDEwMAorLS0tIG9wZW5zc2gtOS45cDEub3JpZy9tb25pdG9y X3dyYXAuaAkyMDI2LTA5LTIyIDEwOjM1OjAwLjM2MDIwNzkzOSArMDIwMAorKysrIG9wZW5zc2gt OS45cDEvbW9uaXRvcl93cmFwLmgJMjAyNi0wOS0yMiAxMDozNjozMi4zOTk5NTM4MDYgKzAyMDAK IEBAIC03Miw2ICs3MiwxMCBAQAogIGludCBtbV9zc2hfZ3NzYXBpX3VzZXJvayhjaGFyICp1c2Vy LCBzdHJ1Y3QgcGFzc3dkICosIGludCBrZXgpOwogIE9NX3VpbnQzMiBtbV9zc2hfZ3NzYXBpX2No ZWNrbWljKEdzc2N0eHQgKiwgZ3NzX2J1ZmZlcl90LCBnc3NfYnVmZmVyX3QpOwpAQCAtMTgxOCw5 ICsxODE5LDkgQEAgZGlmZiAtTnVyIG9wZW5zc2gtOS45cDEub3JpZy9tb25pdG9yX3dyYXAuaCBv cGVuc3NoLTkuOXAxL21vbml0b3Jfd3JhcC5oCiAgI2VuZGlmCiAgCiBkaWZmIC1OdXIgb3BlbnNz aC05LjlwMS5vcmlnL3JlYWRjb25mLmMgb3BlbnNzaC05LjlwMS9yZWFkY29uZi5jCi0tLS0gb3Bl bnNzaC05LjlwMS5vcmlnL3JlYWRjb25mLmMJMjAyNi0wMy0yNSAwNTo0NToyNC43MjM2NzE2Nzkg KzAxMDAKLSsrKyBvcGVuc3NoLTkuOXAxL3JlYWRjb25mLmMJMjAyNi0wMy0yNSAwNTo0NjozMi4y MzMwMzU2NzMgKzAxMDAKLUBAIC0yODEyLDExICsyODEyLDExIEBACistLS0gb3BlbnNzaC05Ljlw MS5vcmlnL3JlYWRjb25mLmMJMjAyNi0wOS0yMiAxMDozNTowMC40NzMzODgzMDIgKzAyMDAKKysr KyBvcGVuc3NoLTkuOXAxL3JlYWRjb25mLmMJMjAyNi0wOS0yMiAxMDozNjozMi40MDEwNjYyNjcg KzAyMDAKK0BAIC0yODEwLDExICsyODEwLDExIEBACiAgCWlmIChvcHRpb25zLT5wdWJrZXlfYXV0 aGVudGljYXRpb24gPT0gLTEpCiAgCQlvcHRpb25zLT5wdWJrZXlfYXV0aGVudGljYXRpb24gPSBT U0hfUFVCS0VZX0FVVEhfQUxMOwogIAlpZiAob3B0aW9ucy0+Z3NzX2F1dGhlbnRpY2F0aW9uID09 IC0xKQpAQCAtMTgzNiw4ICsxODM3LDggQEAgZGlmZiAtTnVyIG9wZW5zc2gtOS45cDEub3JpZy9y ZWFkY29uZi5jIG9wZW5zc2gtOS45cDEvcmVhZGNvbmYuYwogIAkJb3B0aW9ucy0+Z3NzX3RydXN0 X2RucyA9IDA7CiAgCWlmIChvcHRpb25zLT5nc3NfcmVuZXdhbF9yZWtleSA9PSAtMSkKIGRpZmYg LU51ciBvcGVuc3NoLTkuOXAxLm9yaWcvcmVhZGNvbmYuaCBvcGVuc3NoLTkuOXAxL3JlYWRjb25m LmgKLS0tLSBvcGVuc3NoLTkuOXAxLm9yaWcvcmVhZGNvbmYuaAkyMDI2LTAzLTI1IDA1OjQ1OjI0 LjU2NTYxOTgwOCArMDEwMAotKysrIG9wZW5zc2gtOS45cDEvcmVhZGNvbmYuaAkyMDI2LTAzLTI1 IDA1OjQ2OjMyLjIzNDc4ODk3NCArMDEwMAorLS0tIG9wZW5zc2gtOS45cDEub3JpZy9yZWFkY29u Zi5oCTIwMjYtMDktMjIgMTA6MzU6MDAuNDQ5NzY0Mjk4ICswMjAwCisrKysgb3BlbnNzaC05Ljlw MS9yZWFkY29uZi5oCTIwMjYtMDktMjIgMTA6MzY6MzIuNDAxOTk5OTk4ICswMjAwCiBAQCAtODAs NiArODAsOCBAQAogIAljaGFyICAgKmhvc3Rfa2V5X2FsaWFzOwkvKiBob3N0bmFtZSBhbGlhcyBm b3IgLnNzaC9rbm93bl9ob3N0cyAqLwogIAljaGFyICAgKnByb3h5X2NvbW1hbmQ7CS8qIFByb3h5 IGNvbW1hbmQgZm9yIGNvbm5lY3RpbmcgdGhlIGhvc3QuICovCkBAIC0xODQ4LDggKzE4NDksOCBA QCBkaWZmIC1OdXIgb3BlbnNzaC05LjlwMS5vcmlnL3JlYWRjb25mLmggb3BlbnNzaC05LjlwMS9y ZWFkY29uZi5oCiAgCiAgCXVfaW50CW51bV9zeXN0ZW1faG9zdGZpbGVzOwkvKiBQYXRocyBmb3Ig L2V0Yy9zc2gvc3NoX2tub3duX2hvc3RzICovCiBkaWZmIC1OdXIgb3BlbnNzaC05LjlwMS5vcmln L3NlcnZjb25mLmMgb3BlbnNzaC05LjlwMS9zZXJ2Y29uZi5jCi0tLS0gb3BlbnNzaC05LjlwMS5v cmlnL3NlcnZjb25mLmMJMjAyNi0wMy0yNSAwNTo0NToyNC43NDQyNzM1OTQgKzAxMDAKLSsrKyBv cGVuc3NoLTkuOXAxL3NlcnZjb25mLmMJMjAyNi0wMy0yNSAwNTo0NjozMi4yMzUyODEwMDcgKzAx MDAKKy0tLSBvcGVuc3NoLTkuOXAxLm9yaWcvc2VydmNvbmYuYwkyMDI2LTA5LTIyIDEwOjM1OjAw LjQ3NDA2NDg3OSArMDIwMAorKysrIG9wZW5zc2gtOS45cDEvc2VydmNvbmYuYwkyMDI2LTA5LTIy IDEwOjM2OjMyLjQwMjY2OTM0NyArMDIwMAogQEAgLTk1LDYgKzk1LDcgQEAKICAJLyogUG9ydGFi bGUtc3BlY2lmaWMgb3B0aW9ucyAqLwogIAlvcHRpb25zLT51c2VfcGFtID0gLTE7CkBAIC0xODk5 LDcgKzE5MDAsNyBAQCBkaWZmIC1OdXIgb3BlbnNzaC05LjlwMS5vcmlnL3NlcnZjb25mLmMgb3Bl bnNzaC05LjlwMS9zZXJ2Y29uZi5jCiAgCWlmIChvcHRpb25zLT5nc3Nfc3RvcmVfcmVrZXkgPT0g LTEpCiAgCQlvcHRpb25zLT5nc3Nfc3RvcmVfcmVrZXkgPSAwOwogICNpZmRlZiBHU1NBUEkKLUBA IC01NzcsNyArNTg2LDcgQEAKK0BAIC01NzgsNyArNTg3LDcgQEAKICB0eXBlZGVmIGVudW0gewog IAlzQmFkT3B0aW9uLAkJLyogPT0gdW5rbm93biBvcHRpb24gKi8KICAJLyogUG9ydGFibGUtc3Bl Y2lmaWMgb3B0aW9ucyAqLwpAQCAtMTkwOCw3ICsxOTA5LDcgQEAgZGlmZiAtTnVyIG9wZW5zc2gt OS45cDEub3JpZy9zZXJ2Y29uZi5jIG9wZW5zc2gtOS45cDEvc2VydmNvbmYuYwogIAkvKiBTdGFu ZGFyZCBPcHRpb25zICovCiAgCXNQb3J0LCBzSG9zdEtleUZpbGUsIHNMb2dpbkdyYWNlVGltZSwK ICAJc1Blcm1pdFJvb3RMb2dpbiwgc0xvZ0ZhY2lsaXR5LCBzTG9nTGV2ZWwsIHNMb2dWZXJib3Nl LAotQEAgLTU5Nyw2ICs2MDYsOSBAQAorQEAgLTU5OCw2ICs2MDcsOSBAQAogIAlzSG9zdEtleUFs Z29yaXRobXMsIHNQZXJTb3VyY2VNYXhTdGFydHVwcywgc1BlclNvdXJjZU5ldEJsb2NrU2l6ZSwK ICAJc1BlclNvdXJjZVBlbmFsdGllcywgc1BlclNvdXJjZVBlbmFsdHlFeGVtcHRMaXN0LAogIAlz Q2xpZW50QWxpdmVJbnRlcnZhbCwgc0NsaWVudEFsaXZlQ291bnRNYXgsIHNBdXRob3JpemVkS2V5 c0ZpbGUsCkBAIC0xOTE4LDcgKzE5MTksNyBAQCBkaWZmIC1OdXIgb3BlbnNzaC05LjlwMS5vcmln L3NlcnZjb25mLmMgb3BlbnNzaC05LjlwMS9zZXJ2Y29uZi5jCiAgCXNHc3NBdXRoZW50aWNhdGlv biwgc0dzc0NsZWFudXBDcmVkcywgc0dzc0VuYWJsZWs1dXNlcnMsIHNHc3NTdHJpY3RBY2NlcHRv ciwKICAJc0dzc0tleUV4LCBzR3NzSW5kaWNhdG9ycywgc0dzc0tleEFsZ29yaXRobXMsIHNHc3NT dG9yZVJla2V5LAogIAlzQWNjZXB0RW52LCBzU2V0RW52LCBzUGVybWl0VHVubmVsLAotQEAgLTYz Miw5ICs2NDQsMTEgQEAKK0BAIC02MzMsOSArNjQ1LDExIEBACiAgI2lmZGVmIFVTRV9QQU0KICAJ eyAidXNlcGFtIiwgc1VzZVBBTSwgU1NIQ0ZHX0dMT0JBTCB9LAogIAl7ICJwYW1zZXJ2aWNlbmFt ZSIsIHNQQU1TZXJ2aWNlTmFtZSwgU1NIQ0ZHX0FMTCB9LApAQCAtMTkzMCw3ICsxOTMxLDcgQEAg ZGlmZiAtTnVyIG9wZW5zc2gtOS45cDEub3JpZy9zZXJ2Y29uZi5jIG9wZW5zc2gtOS45cDEvc2Vy dmNvbmYuYwogICNlbmRpZgogIAl7ICJwYW1hdXRoZW50aWNhdGlvbnZpYWtiZGludCIsIHNEZXBy ZWNhdGVkLCBTU0hDRkdfR0xPQkFMIH0sCiAgCS8qIFN0YW5kYXJkIE9wdGlvbnMgKi8KLUBAIC02 ODcsOCArNzAxLDE1IEBACitAQCAtNjg4LDggKzcwMiwxNSBAQAogIAl7ICJhZnN0b2tlbnBhc3Np bmciLCBzVW5zdXBwb3J0ZWQsIFNTSENGR19HTE9CQUwgfSwKICAjaWZkZWYgR1NTQVBJCiAgCXsg Imdzc2FwaWF1dGhlbnRpY2F0aW9uIiwgc0dzc0F1dGhlbnRpY2F0aW9uLCBTU0hDRkdfQUxMIH0s CkBAIC0xOTQ2LDcgKzE5NDcsNyBAQCBkaWZmIC1OdXIgb3BlbnNzaC05LjlwMS5vcmlnL3NlcnZj b25mLmMgb3BlbnNzaC05LjlwMS9zZXJ2Y29uZi5jCiAgCXsgImdzc2FwaXN0cmljdGFjY2VwdG9y Y2hlY2siLCBzR3NzU3RyaWN0QWNjZXB0b3IsIFNTSENGR19HTE9CQUwgfSwKICAJeyAiZ3NzYXBp a2V5ZXhjaGFuZ2UiLCBzR3NzS2V5RXgsIFNTSENGR19HTE9CQUwgfSwKICAJeyAiZ3NzYXBpc3Rv cmVjcmVkZW50aWFsc29ucmVrZXkiLCBzR3NzU3RvcmVSZWtleSwgU1NIQ0ZHX0dMT0JBTCB9LAot QEAgLTY5Nyw4ICs3MTgsMTEgQEAKK0BAIC02OTgsOCArNzE5LDExIEBACiAgCXsgImdzc2FwaWlu ZGljYXRvcnMiLCBzR3NzSW5kaWNhdG9ycywgU1NIQ0ZHX0FMTCB9LAogICNlbHNlCiAgCXsgImdz c2FwaWF1dGhlbnRpY2F0aW9uIiwgc1Vuc3VwcG9ydGVkLCBTU0hDRkdfQUxMIH0sCkBAIC0xOTU4 LDcgKzE5NTksNyBAQCBkaWZmIC1OdXIgb3BlbnNzaC05LjlwMS5vcmlnL3NlcnZjb25mLmMgb3Bl bnNzaC05LjlwMS9zZXJ2Y29uZi5jCiAgCXsgImdzc2FwaXN0cmljdGFjY2VwdG9yY2hlY2siLCBz VW5zdXBwb3J0ZWQsIFNTSENGR19HTE9CQUwgfSwKICAJeyAiZ3NzYXBpa2V5ZXhjaGFuZ2UiLCBz VW5zdXBwb3J0ZWQsIFNTSENGR19HTE9CQUwgfSwKICAJeyAiZ3NzYXBpc3RvcmVjcmVkZW50aWFs c29ucmVrZXkiLCBzVW5zdXBwb3J0ZWQsIFNTSENGR19HTE9CQUwgfSwKLUBAIC03NzMsNiArNzk3 LDggQEAKK0BAIC03NzQsNiArNzk4LDggQEAKICAJeyAicGVybWl0bGlzdGVuIiwgc1Blcm1pdExp c3RlbiwgU1NIQ0ZHX0FMTCB9LAogIAl7ICJmb3JjZWNvbW1hbmQiLCBzRm9yY2VDb21tYW5kLCBT U0hDRkdfQUxMIH0sCiAgCXsgImNocm9vdGRpcmVjdG9yeSIsIHNDaHJvb3REaXJlY3RvcnksIFNT SENGR19BTEwgfSwKQEAgLTE5NjcsNyArMTk2OCw3IEBAIGRpZmYgLU51ciBvcGVuc3NoLTkuOXAx Lm9yaWcvc2VydmNvbmYuYyBvcGVuc3NoLTkuOXAxL3NlcnZjb25mLmMKICAJeyAiaG9zdGNlcnRp ZmljYXRlIiwgc0hvc3RDZXJ0aWZpY2F0ZSwgU1NIQ0ZHX0dMT0JBTCB9LAogIAl7ICJyZXZva2Vk a2V5cyIsIHNSZXZva2VkS2V5cywgU1NIQ0ZHX0FMTCB9LAogIAl7ICJ0cnVzdGVkdXNlcmNha2V5 cyIsIHNUcnVzdGVkVXNlckNBS2V5cywgU1NIQ0ZHX0FMTCB9LAotQEAgLTE0NDMsNiArMTQ2OSwx MCBAQAorQEAgLTE0NDUsNiArMTQ3MSwxMCBAQAogIAkJCSpjaGFycHRyID0geHN0cmR1cChhcmcp OwogIAkJYnJlYWs7CiAgCkBAIC0xOTc4LDcgKzE5NzksNyBAQCBkaWZmIC1OdXIgb3BlbnNzaC05 LjlwMS5vcmlnL3NlcnZjb25mLmMgb3BlbnNzaC05LjlwMS9zZXJ2Y29uZi5jCiAgCS8qIFN0YW5k YXJkIE9wdGlvbnMgKi8KICAJY2FzZSBzQmFkT3B0aW9uOgogIAkJZ290byBvdXQ7Ci1AQCAtMTY5 NCw2ICsxNzI0LDEwIEBACitAQCAtMTY5Niw2ICsxNzI2LDEwIEBACiAgCQlpbnRwdHIgPSAmb3B0 aW9ucy0+Z3NzX2F1dGhlbnRpY2F0aW9uOwogIAkJZ290byBwYXJzZV9mbGFnOwogIApAQCAtMTk4 OSw3ICsxOTkwLDcgQEAgZGlmZiAtTnVyIG9wZW5zc2gtOS45cDEub3JpZy9zZXJ2Y29uZi5jIG9w ZW5zc2gtOS45cDEvc2VydmNvbmYuYwogIAljYXNlIHNHc3NLZXlFeDoKICAJCWludHB0ciA9ICZv cHRpb25zLT5nc3Nfa2V5ZXg7CiAgCQlnb3RvIHBhcnNlX2ZsYWc7Ci1AQCAtMTcwMiw2ICsxNzM2 LDEwIEBACitAQCAtMTcwNCw2ICsxNzM4LDEwIEBACiAgCQlpbnRwdHIgPSAmb3B0aW9ucy0+Z3Nz X2NsZWFudXBfY3JlZHM7CiAgCQlnb3RvIHBhcnNlX2ZsYWc7CiAgCkBAIC0yMDAwLDcgKzIwMDEs NyBAQCBkaWZmIC1OdXIgb3BlbnNzaC05LjlwMS5vcmlnL3NlcnZjb25mLmMgb3BlbnNzaC05Ljlw MS9zZXJ2Y29uZi5jCiAgCWNhc2Ugc0dzc1N0cmljdEFjY2VwdG9yOgogIAkJaW50cHRyID0gJm9w dGlvbnMtPmdzc19zdHJpY3RfYWNjZXB0b3I7CiAgCQlnb3RvIHBhcnNlX2ZsYWc7Ci1AQCAtMTcz MSw2ICsxNzY5LDEyIEBACitAQCAtMTczMyw2ICsxNzcxLDEyIEBACiAgCQkJb3B0aW9ucy0+Z3Nz X2luZGljYXRvcnMgPSB4c3RyZHVwKGFyZyk7CiAgCQlicmVhazsKICAKQEAgLTIwMTMsNyArMjAx NCw3IEBAIGRpZmYgLU51ciBvcGVuc3NoLTkuOXAxLm9yaWcvc2VydmNvbmYuYyBvcGVuc3NoLTku OXAxL3NlcnZjb25mLmMKICAJY2FzZSBzUGFzc3dvcmRBdXRoZW50aWNhdGlvbjoKICAJCWludHB0 ciA9ICZvcHRpb25zLT5wYXNzd29yZF9hdXRoZW50aWNhdGlvbjsKICAJCWdvdG8gcGFyc2VfZmxh ZzsKLUBAIC0zMDAwLDYgKzMwNDQsNyBAQAorQEAgLTMwMDIsNiArMzA0Niw3IEBACiAgCiAgCU1f Q1BfSU5UT1BUKHBhc3N3b3JkX2F1dGhlbnRpY2F0aW9uKTsKICAJTV9DUF9JTlRPUFQoZ3NzX2F1 dGhlbnRpY2F0aW9uKTsKQEAgLTIwMjIsOCArMjAyMyw4IEBAIGRpZmYgLU51ciBvcGVuc3NoLTku OXAxLm9yaWcvc2VydmNvbmYuYyBvcGVuc3NoLTkuOXAxL3NlcnZjb25mLmMKICAJTV9DUF9JTlRP UFQocHVia2V5X2F1dGhfb3B0aW9ucyk7CiAgCU1fQ1BfSU5UT1BUKGtlcmJlcm9zX2F1dGhlbnRp Y2F0aW9uKTsKIGRpZmYgLU51ciBvcGVuc3NoLTkuOXAxLm9yaWcvc2VydmNvbmYuaCBvcGVuc3No LTkuOXAxL3NlcnZjb25mLmgKLS0tLSBvcGVuc3NoLTkuOXAxLm9yaWcvc2VydmNvbmYuaAkyMDI2 LTAzLTI1IDA1OjQ1OjI0Ljc0NDkwNjc3NyArMDEwMAotKysrIG9wZW5zc2gtOS45cDEvc2VydmNv bmYuaAkyMDI2LTAzLTI1IDA1OjQ2OjMyLjIzNjQyNDk0MSArMDEwMAorLS0tIG9wZW5zc2gtOS45 cDEub3JpZy9zZXJ2Y29uZi5oCTIwMjYtMDktMjIgMTA6MzU6MDAuNDMwMDY3MjU2ICswMjAwCisr Kysgb3BlbnNzaC05LjlwMS9zZXJ2Y29uZi5oCTIwMjYtMDktMjIgMTA6MzY6MzIuNDAzNDkzODU2 ICswMjAwCiBAQCAtMTU1LDkgKzE1NSwxMiBAQAogIAkJCQkJCSAqIGJlIHN0b3JlZCBpbiBwZXIt c2Vzc2lvbiBjY2FjaGUgKi8KICAJaW50CXVzZV9rdXNlcm9rOwpAQCAtMjA0Niw4ICsyMDQ3LDgg QEAgZGlmZiAtTnVyIG9wZW5zc2gtOS45cDEub3JpZy9zZXJ2Y29uZi5oIG9wZW5zc2gtOS45cDEv c2VydmNvbmYuaAogIAlpbnQJcGVybWl0X3R1bjsKICAKIGRpZmYgLU51ciBvcGVuc3NoLTkuOXAx Lm9yaWcvc3NoLjEgb3BlbnNzaC05LjlwMS9zc2guMQotLS0tIG9wZW5zc2gtOS45cDEub3JpZy9z c2guMQkyMDI2LTAzLTI1IDA1OjQ1OjI0LjY4MTIwNDc2NSArMDEwMAotKysrIG9wZW5zc2gtOS45 cDEvc3NoLjEJMjAyNi0wMy0yNSAwNTo0NjozMi4yMzcwNjAyMjAgKzAxMDAKKy0tLSBvcGVuc3No LTkuOXAxLm9yaWcvc3NoLjEJMjAyNi0wOS0yMiAxMDozNTowMC4zNzMwMjA0NzMgKzAyMDAKKysr KyBvcGVuc3NoLTkuOXAxL3NzaC4xCTIwMjYtMDktMjIgMTA6MzY6MzIuNDA0MTI5MzMzICswMjAw CiBAQCAtMTUyMyw2ICsxNTIzLDE4IEBACiAgb24gdG8gbmV3IGNvbm5lY3Rpb25zKS4KICAuSXQg RXYgVVNFUgpAQCAtMjA2OCw4ICsyMDY5LDggQEAgZGlmZiAtTnVyIG9wZW5zc2gtOS45cDEub3Jp Zy9zc2guMSBvcGVuc3NoLTkuOXAxL3NzaC4xCiAgLlBwCiAgQWRkaXRpb25hbGx5LAogZGlmZiAt TnVyIG9wZW5zc2gtOS45cDEub3JpZy9zc2guYyBvcGVuc3NoLTkuOXAxL3NzaC5jCi0tLS0gb3Bl bnNzaC05LjlwMS5vcmlnL3NzaC5jCTIwMjYtMDMtMjUgMDU6NDU6MjQuNzQ2NjcxNDYyICswMTAw Ci0rKysgb3BlbnNzaC05LjlwMS9zc2guYwkyMDI2LTAzLTI1IDA1OjQ2OjMyLjIzNzU2ODAzNyAr MDEwMAorLS0tIG9wZW5zc2gtOS45cDEub3JpZy9zc2guYwkyMDI2LTA5LTIyIDEwOjM1OjAwLjQ2 NTg3MzMyNCArMDIwMAorKysrIG9wZW5zc2gtOS45cDEvc3NoLmMJMjAyNi0wOS0yMiAxMDozNjoz Mi40MDUzMDI1ODMgKzAyMDAKIEBAIC01ODUsNiArNTg1LDM4IEBACiAgCQkJZmF0YWwoIkNhbid0 IG9wZW4gdXNlciBjb25maWcgZmlsZSAlLjEwMHM6ICIKICAJCQkgICAgIiUuMTAwcyIsIGNvbmZp Zywgc3RyZXJyb3IoZXJybm8pKTsKQEAgLTIxMDksNyArMjExMCw3IEBAIGRpZmYgLU51ciBvcGVu c3NoLTkuOXAxLm9yaWcvc3NoLmMgb3BlbnNzaC05LjlwMS9zc2guYwogIAkJciA9IHNucHJpbnRm KGJ1Ziwgc2l6ZW9mIGJ1ZiwgIiVzLyVzIiwgcHctPnB3X2RpciwKICAJCSAgICBfUEFUSF9TU0hf VVNFUl9DT05GRklMRSk7CiAgCQlpZiAociA+IDAgJiYgKHNpemVfdClyIDwgc2l6ZW9mKGJ1Zikp Ci1AQCAtMTMxOCw4ICsxMzUwLDEyIEBACitAQCAtMTI2Niw4ICsxMjk4LDEyIEBACiAgCWlmIChm aWxsX2RlZmF1bHRfb3B0aW9ucygmb3B0aW9ucykgIT0gMCkKICAJCWNsZWFudXBfZXhpdCgyNTUp OwogIApAQCAtMjEyNCw4ICsyMTI1LDggQEAgZGlmZiAtTnVyIG9wZW5zc2gtOS45cDEub3JpZy9z c2guYyBvcGVuc3NoLTkuOXAxL3NzaC5jCiAgCS8qCiAgCSAqIElmIFByb3h5SnVtcCBvcHRpb24g c3BlY2lmaWVkLCB0aGVuIGNvbnN0cnVjdCBhIFByb3h5Q29tbWFuZCBub3cuCiBkaWZmIC1OdXIg b3BlbnNzaC05LjlwMS5vcmlnL3NzaF9jb25maWcgb3BlbnNzaC05LjlwMS9zc2hfY29uZmlnCi0t LS0gb3BlbnNzaC05LjlwMS5vcmlnL3NzaF9jb25maWcJMjAyNi0wMy0yNSAwNTo0NToyNC41Njg1 NTg0NTkgKzAxMDAKLSsrKyBvcGVuc3NoLTkuOXAxL3NzaF9jb25maWcJMjAyNi0wMy0yNSAwNTo0 NjozMi4yMzgzMDM2MDggKzAxMDAKKy0tLSBvcGVuc3NoLTkuOXAxLm9yaWcvc3NoX2NvbmZpZwky MDI2LTA5LTIyIDEwOjM1OjAwLjI1ODM4MDUxNSArMDIwMAorKysrIG9wZW5zc2gtOS45cDEvc3No X2NvbmZpZwkyMDI2LTA5LTIyIDEwOjM2OjMyLjQwNTg4NTcxOSArMDIwMAogQEAgLTIyLDkgKzIy LDkgQEAKICAjICAgRm9yd2FyZFgxMSBubwogICMgICBQYXNzd29yZEF1dGhlbnRpY2F0aW9uIHll cwpAQCAtMjE0MCw4ICsyMTQxLDggQEAgZGlmZiAtTnVyIG9wZW5zc2gtOS45cDEub3JpZy9zc2hf Y29uZmlnIG9wZW5zc2gtOS45cDEvc3NoX2NvbmZpZwogICMgICBCYXRjaE1vZGUgbm8KICAjICAg Q2hlY2tIb3N0SVAgbm8KIGRpZmYgLU51ciBvcGVuc3NoLTkuOXAxLm9yaWcvc3NoX2NvbmZpZy41 IG9wZW5zc2gtOS45cDEvc3NoX2NvbmZpZy41Ci0tLS0gb3BlbnNzaC05LjlwMS5vcmlnL3NzaF9j b25maWcuNQkyMDI2LTAzLTI1IDA1OjQ1OjI0LjYzMjc1OTEzOSArMDEwMAotKysrIG9wZW5zc2gt OS45cDEvc3NoX2NvbmZpZy41CTIwMjYtMDMtMjUgMDU6NDY6MzIuMjM4Njc4NTE3ICswMTAwCist LS0gb3BlbnNzaC05LjlwMS5vcmlnL3NzaF9jb25maWcuNQkyMDI2LTA5LTIyIDEwOjM1OjAwLjMy NTAzOTM0MCArMDIwMAorKysrIG9wZW5zc2gtOS45cDEvc3NoX2NvbmZpZy41CTIwMjYtMDktMjIg MTA6MzY6MzIuNDA2MzI3NTcwICswMjAwCiBAQCAtNTIsNiArNTIsMTIgQEAKICB1c2VyJ3MgY29u ZmlndXJhdGlvbiBmaWxlCiAgLlBxIFBhIH4vLnNzaC9jb25maWcKQEAgLTIxODksOSArMjE5MCw5 IEBAIGRpZmYgLU51ciBvcGVuc3NoLTkuOXAxLm9yaWcvc3NoX2NvbmZpZy41IG9wZW5zc2gtOS45 cDEvc3NoX2NvbmZpZy41CiAgLkVkCiAgLkl0IENtIFByb3h5Q29tbWFuZAogZGlmZiAtTnVyIG9w ZW5zc2gtOS45cDEub3JpZy9zc2hjb25uZWN0Mi5jIG9wZW5zc2gtOS45cDEvc3NoY29ubmVjdDIu YwotLS0tIG9wZW5zc2gtOS45cDEub3JpZy9zc2hjb25uZWN0Mi5jCTIwMjYtMDMtMjUgMDU6NDU6 MjQuNzA5MDE4ODYyICswMTAwCi0rKysgb3BlbnNzaC05LjlwMS9zc2hjb25uZWN0Mi5jCTIwMjYt MDMtMjUgMDU6NDY6MzIuMjM5MjkyMDc1ICswMTAwCi1AQCAtODU4LDYgKzg1OCwxMSBAQAorLS0t IG9wZW5zc2gtOS45cDEub3JpZy9zc2hjb25uZWN0Mi5jCTIwMjYtMDktMjIgMTA6MzU6MDAuNDU0 ODgzMTc4ICswMjAwCisrKysgb3BlbnNzaC05LjlwMS9zc2hjb25uZWN0Mi5jCTIwMjYtMDktMjIg MTA6MzY6MzIuNDA3OTExODA5ICswMjAwCitAQCAtODY1LDYgKzg2NSwxMSBAQAogIAlnc3NfT0lE IG1lY2ggPSBOVUxMOwogIAljaGFyICpnc3NfaG9zdCA9IE5VTEw7CiAgCkBAIC0yMjAzLDcgKzIy MDQsNyBAQCBkaWZmIC1OdXIgb3BlbnNzaC05LjlwMS5vcmlnL3NzaGNvbm5lY3QyLmMgb3BlbnNz aC05LjlwMS9zc2hjb25uZWN0Mi5jCiAgCWlmIChvcHRpb25zLmdzc19zZXJ2ZXJfaWRlbnRpdHkp IHsKICAJCWdzc19ob3N0ID0geHN0cmR1cChvcHRpb25zLmdzc19zZXJ2ZXJfaWRlbnRpdHkpOwog IAl9IGVsc2UgaWYgKG9wdGlvbnMuZ3NzX3RydXN0X2RucykgewotQEAgLTk2Niw3ICs5NzEsOCBA QAorQEAgLTk3Myw3ICs5NzgsOCBAQAogIAogIAlpZiAoc3RhdHVzID09IEdTU19TX0NPTVBMRVRF KSB7CiAgCQkvKiBzZW5kIGVpdGhlciBjb21wbGV0ZSBvciBNSUMsIGRlcGVuZGluZyBvbiBtZWNo YW5pc20gKi8KQEAgLTIyMTMsNyArMjIxNCw3IEBAIGRpZmYgLU51ciBvcGVuc3NoLTkuOXAxLm9y aWcvc3NoY29ubmVjdDIuYyBvcGVuc3NoLTkuOXAxL3NzaGNvbm5lY3QyLmMKICAJCQlpZiAoKHIg PSBzc2hwa3Rfc3RhcnQoc3NoLAogIAkJCSAgICBTU0gyX01TR19VU0VSQVVUSF9HU1NBUElfRVhD SEFOR0VfQ09NUExFVEUpKSAhPSAwIHx8CiAgCQkJICAgIChyID0gc3NocGt0X3NlbmQoc3NoKSkg IT0gMCkKLUBAIC0xMTMzLDYgKzExMzksMjAgQEAKK0BAIC0xMTQwLDYgKzExNDYsMjAgQEAKICAJ cmV0dXJuIHI7CiAgfQogIApAQCAtMjIzNCw3ICsyMjM1LDcgQEAgZGlmZiAtTnVyIG9wZW5zc2gt OS45cDEub3JpZy9zc2hjb25uZWN0Mi5jIG9wZW5zc2gtOS45cDEvc3NoY29ubmVjdDIuYwogIGlu dAogIHVzZXJhdXRoX2dzc2tleWV4KHN0cnVjdCBzc2ggKnNzaCkKICB7Ci1AQCAtMTE1NSw2ICsx MTc1LDEyIEBACitAQCAtMTE2Miw2ICsxMTgyLDEyIEBACiAgCWlmICgoYiA9IHNzaGJ1Zl9uZXco KSkgPT0gTlVMTCkKICAJCWZhdGFsX2YoInNzaGJ1Zl9uZXcgZmFpbGVkIik7CiAgCkBAIC0yMjQ3 LDcgKzIyNDgsNyBAQCBkaWZmIC1OdXIgb3BlbnNzaC05LjlwMS5vcmlnL3NzaGNvbm5lY3QyLmMg b3BlbnNzaC05LjlwMS9zc2hjb25uZWN0Mi5jCiAgCXNzaF9nc3NhcGlfYnVpbGRtaWMoYiwgYXV0 aGN0eHQtPnNlcnZlcl91c2VyLCBhdXRoY3R4dC0+c2VydmljZSwKICAJICAgICJnc3NhcGkta2V5 ZXgiLCBzc2gtPmtleC0+c2Vzc2lvbl9pZCk7CiAgCi1AQCAtMTE2OCw3ICsxMTk0LDkgQEAKK0BA IC0xMTc1LDcgKzEyMDEsOSBAQAogIAl9CiAgCiAgCWlmICgociA9IHNzaHBrdF9zdGFydChzc2gs IFNTSDJfTVNHX1VTRVJBVVRIX1JFUVVFU1QpKSAhPSAwIHx8CkBAIC0yMjU5LDggKzIyNjAsOCBA QCBkaWZmIC1OdXIgb3BlbnNzaC05LjlwMS5vcmlnL3NzaGNvbm5lY3QyLmMgb3BlbnNzaC05Ljlw MS9zc2hjb25uZWN0Mi5jCiAgCSAgICAociA9IHNzaHBrdF9wdXRfY3N0cmluZyhzc2gsIGF1dGhj dHh0LT5tZXRob2QtPm5hbWUpKSAhPSAwIHx8CiAgCSAgICAociA9IHNzaHBrdF9wdXRfc3RyaW5n KHNzaCwgbWljLnZhbHVlLCBtaWMubGVuZ3RoKSkgIT0gMCB8fAogZGlmZiAtTnVyIG9wZW5zc2gt OS45cDEub3JpZy9zc2hkLjggb3BlbnNzaC05LjlwMS9zc2hkLjgKLS0tLSBvcGVuc3NoLTkuOXAx Lm9yaWcvc3NoZC44CTIwMjYtMDMtMjUgMDU6NDU6MjQuNTgzNjEzMTQzICswMTAwCi0rKysgb3Bl bnNzaC05LjlwMS9zc2hkLjgJMjAyNi0wMy0yNSAwNTo0NjozMi4yNDAxMjQwOTYgKzAxMDAKKy0t LSBvcGVuc3NoLTkuOXAxLm9yaWcvc3NoZC44CTIwMjYtMDktMjIgMTA6MzU6MDAuMjczMjI2NDY0 ICswMjAwCisrKysgb3BlbnNzaC05LjlwMS9zc2hkLjgJMjAyNi0wOS0yMiAxMDozNjozMi40MDg3 Mjg3NzYgKzAyMDAKIEBAIC04NDAsNiArODQwLDI5IEBACiAgIyBBIENBIGtleSwgYWNjZXB0ZWQg Zm9yIGFueSBob3N0IGluICoubXlkb21haW4uY29tIG9yICoubXlkb21haW4ub3JnCiAgQGNlcnQt YXV0aG9yaXR5ICoubXlkb21haW4ub3JnLCoubXlkb21haW4uY29tIHNzaC1yc2EgQUFBQUI1Vy4u LgpAQCAtMjI5Miw4ICsyMjkzLDggQEAgZGlmZiAtTnVyIG9wZW5zc2gtOS45cDEub3JpZy9zc2hk Ljggb3BlbnNzaC05LjlwMS9zc2hkLjgKICAuQmwgLXRhZyAtd2lkdGggRHMgLWNvbXBhY3QKICAu SXQgUGEgfi8uaHVzaGxvZ2luCiBkaWZmIC1OdXIgb3BlbnNzaC05LjlwMS5vcmlnL3NzaGRfY29u ZmlnIG9wZW5zc2gtOS45cDEvc3NoZF9jb25maWcKLS0tLSBvcGVuc3NoLTkuOXAxLm9yaWcvc3No ZF9jb25maWcJMjAyNi0wMy0yNSAwNTo0NToyNC42MDIyMzA2NTIgKzAxMDAKLSsrKyBvcGVuc3No LTkuOXAxL3NzaGRfY29uZmlnCTIwMjYtMDMtMjUgMDU6NDY6MzIuMjQwNTAxMDMxICswMTAwCist LS0gb3BlbnNzaC05LjlwMS5vcmlnL3NzaGRfY29uZmlnCTIwMjYtMDktMjIgMTA6MzU6MDAuMjkz MzAxNTA2ICswMjAwCisrKysgb3BlbnNzaC05LjlwMS9zc2hkX2NvbmZpZwkyMDI2LTA5LTIyIDEw OjM2OjMyLjQwOTQ2NTg3MiArMDIwMAogQEAgLTc2LDEwICs3NiwxMSBAQAogICNLZXJiZXJvc1Vz ZUt1c2Vyb2sgeWVzCiAgCkBAIC0yMzIwLDggKzIzMjEsOCBAQCBkaWZmIC1OdXIgb3BlbnNzaC05 LjlwMS5vcmlnL3NzaGRfY29uZmlnIG9wZW5zc2gtOS45cDEvc3NoZF9jb25maWcKICAjQWxsb3dU Y3BGb3J3YXJkaW5nIHllcwogICNHYXRld2F5UG9ydHMgbm8KIGRpZmYgLU51ciBvcGVuc3NoLTku OXAxLm9yaWcvc3NoZF9jb25maWcuNSBvcGVuc3NoLTkuOXAxL3NzaGRfY29uZmlnLjUKLS0tLSBv cGVuc3NoLTkuOXAxLm9yaWcvc3NoZF9jb25maWcuNQkyMDI2LTAzLTI1IDA1OjQ1OjI0Ljc0NTI5 MDY5NSArMDEwMAotKysrIG9wZW5zc2gtOS45cDEvc3NoZF9jb25maWcuNQkyMDI2LTAzLTI1IDA1 OjQ2OjMyLjI0MDg2OTAyNiArMDEwMAorLS0tIG9wZW5zc2gtOS45cDEub3JpZy9zc2hkX2NvbmZp Zy41CTIwMjYtMDktMjIgMTA6MzU6MDAuNDMwNDg4NDg0ICswMjAwCisrKysgb3BlbnNzaC05Ljlw MS9zc2hkX2NvbmZpZy41CTIwMjYtMDktMjIgMTA6MzY6MzIuNDA5ODc0MjMyICswMjAwCiBAQCAt NzI0LDE1ICs3MjQsMzQgQEAKICB0byBhbGxvdyB0aGUgY2xpZW50IHRvIHNlbGVjdCB0aGUgYWRk cmVzcyB0byB3aGljaCB0aGUgZm9yd2FyZGluZyBpcyBib3VuZC4KICBUaGUgZGVmYXVsdCBpcwpA QCAtMjM2Nyw3ICsyMzY4LDcgQEAgZGlmZiAtTnVyIG9wZW5zc2gtOS45cDEub3JpZy9zc2hkX2Nv bmZpZy41IG9wZW5zc2gtOS45cDEvc3NoZF9jb25maWcuNQogIC5JdCBDbSBHU1NBUElTdHJpY3RB Y2NlcHRvckNoZWNrCiAgRGV0ZXJtaW5lcyB3aGV0aGVyIHRvIGJlIHN0cmljdCBhYm91dCB0aGUg aWRlbnRpdHkgb2YgdGhlIEdTU0FQSSBhY2NlcHRvcgogIGEgY2xpZW50IGF1dGhlbnRpY2F0ZXMg YWdhaW5zdC4KLUBAIC0yMDkzLDYgKzIxMTIsMTIgQEAKK0BAIC0yMDk1LDYgKzIxMTQsMTIgQEAK ICBhcyBhIG5vbi1yb290IHVzZXIuCiAgVGhlIGRlZmF1bHQgaXMKICAuQ20gbm8gLgpAQCAtMjM4 MSw4ICsyMzgyLDggQEAgZGlmZiAtTnVyIG9wZW5zc2gtOS45cDEub3JpZy9zc2hkX2NvbmZpZy41 IG9wZW5zc2gtOS45cDEvc3NoZF9jb25maWcuNQogIE9wdGlvbmFsbHkgc3BlY2lmaWVzIGFkZGl0 aW9uYWwgdGV4dCB0byBhcHBlbmQgdG8gdGhlIFNTSCBwcm90b2NvbCBiYW5uZXIKICBzZW50IGJ5 IHRoZSBzZXJ2ZXIgdXBvbiBjb25uZWN0aW9uLgogZGlmZiAtTnVyIG9wZW5zc2gtOS45cDEub3Jp Zy9zc2hkX2NvbmZpZ19yZWRoYXQgb3BlbnNzaC05LjlwMS9zc2hkX2NvbmZpZ19yZWRoYXQKLS0t LSBvcGVuc3NoLTkuOXAxLm9yaWcvc3NoZF9jb25maWdfcmVkaGF0CTIwMjYtMDMtMjUgMDU6NDU6 MjQuNTUyMjk4MjQxICswMTAwCi0rKysgb3BlbnNzaC05LjlwMS9zc2hkX2NvbmZpZ19yZWRoYXQJ MjAyNi0wMy0yNSAwNTo0NjozMi4yNDE1ODc4MzUgKzAxMDAKKy0tLSBvcGVuc3NoLTkuOXAxLm9y aWcvc3NoZF9jb25maWdfcmVkaGF0CTIwMjYtMDktMjIgMTA6MzU6MDAuMjQzNTIyNTI0ICswMjAw CisrKysgb3BlbnNzaC05LjlwMS9zc2hkX2NvbmZpZ19yZWRoYXQJMjAyNi0wOS0yMiAxMDozNjoz Mi40MTA0MzMwODggKzAyMDAKIEBAIC05LDkgKzksNiBAQAogIAogIENoYWxsZW5nZVJlc3BvbnNl QXV0aGVudGljYXRpb24gbm8KQEAgLTIzOTQsOCArMjM5NSw4IEBAIGRpZmYgLU51ciBvcGVuc3No LTkuOXAxLm9yaWcvc3NoZF9jb25maWdfcmVkaGF0IG9wZW5zc2gtOS45cDEvc3NoZF9jb25maWdf cmVkaGF0CiAgCiAgWDExRm9yd2FyZGluZyB5ZXMKIGRpZmYgLU51ciBvcGVuc3NoLTkuOXAxLm9y aWcvc3NoZC1zZXNzaW9uLmMgb3BlbnNzaC05LjlwMS9zc2hkLXNlc3Npb24uYwotLS0tIG9wZW5z c2gtOS45cDEub3JpZy9zc2hkLXNlc3Npb24uYwkyMDI2LTAzLTI1IDA1OjQ1OjI0LjY5Njc5NzAx OSArMDEwMAotKysrIG9wZW5zc2gtOS45cDEvc3NoZC1zZXNzaW9uLmMJMjAyNi0wMy0yNSAwNTo0 NjozMi4yNDIzMTE3NDIgKzAxMDAKKy0tLSBvcGVuc3NoLTkuOXAxLm9yaWcvc3NoZC1zZXNzaW9u LmMJMjAyNi0wOS0yMiAxMDozNTowMC40NzU1Njc3NDYgKzAyMDAKKysrKyBvcGVuc3NoLTkuOXAx L3NzaGQtc2Vzc2lvbi5jCTIwMjYtMDktMjIgMTA6MzY6MzIuNDEwNzc4OTc3ICswMjAwCiBAQCAt MTQ4Nyw3ICsxNDg3LDcgQEAKICAjZW5kaWYKICAKQEAgLTI0MDYsOCArMjQwNyw4IEBAIGRpZmYg LU51ciBvcGVuc3NoLTkuOXAxLm9yaWcvc3NoZC1zZXNzaW9uLmMgb3BlbnNzaC05LjlwMS9zc2hk LXNlc3Npb24uYwogIAkJYXV0aGN0eHQtPmtyYjVfc2V0X2VudiA9IHNzaF9nc3NhcGlfc3RvcmVj cmVkcygpOwogIAkJcmVzdG9yZV91aWQoKTsKIGRpZmYgLU51ciBvcGVuc3NoLTkuOXAxLm9yaWcv c3NoLWdzcy5oIG9wZW5zc2gtOS45cDEvc3NoLWdzcy5oCi0tLS0gb3BlbnNzaC05LjlwMS5vcmln L3NzaC1nc3MuaAkyMDI2LTAzLTI1IDA1OjQ1OjI0LjczNjE0MDA2MiArMDEwMAotKysrIG9wZW5z c2gtOS45cDEvc3NoLWdzcy5oCTIwMjYtMDMtMjUgMDU6NDY6MzIuMjQyNzYyOTE4ICswMTAwCist LS0gb3BlbnNzaC05LjlwMS5vcmlnL3NzaC1nc3MuaAkyMDI2LTA5LTIyIDEwOjM1OjAwLjQyMTA5 ODkyMCArMDIwMAorKysrIG9wZW5zc2gtOS45cDEvc3NoLWdzcy5oCTIwMjYtMDktMjIgMTA6MzY6 MzIuNDExNjYwMTgxICswMjAwCiBAQCAtMTEwLDEyICsxMTAsMTQgQEAKICB9IHNzaF9nc3NhcGlf Y2NhY2hlOwogIApAQCAtMjQ0NSw3ICsyNDQ2LDcgQEAgZGlmZiAtTnVyIG9wZW5zc2gtOS45cDEu b3JpZy9zc2gtZ3NzLmggb3BlbnNzaC05LjlwMS9zc2gtZ3NzLmgKICAgICAgY29uc3QgY2hhciAq KTsKIGRpZmYgLU51ciBvcGVuc3NoLTkuOXAxLm9yaWcvdmVyc2lvbi5oIG9wZW5zc2gtOS45cDEv dmVyc2lvbi5oCiAtLS0gb3BlbnNzaC05LjlwMS5vcmlnL3ZlcnNpb24uaAkyMDI0LTA5LTIwIDAw OjIwOjQ4LjAwMDAwMDAwMCArMDIwMAotKysrIG9wZW5zc2gtOS45cDEvdmVyc2lvbi5oCTIwMjYt MDMtMjUgMDU6NDY6MzIuMjQzMzIyOTA3ICswMTAwCisrKysgb3BlbnNzaC05LjlwMS92ZXJzaW9u LmgJMjAyNi0wOS0yMiAxMDozNjozMi40MTIwMDMyMTUgKzAyMDAKIEBAIC0yLDUgKzIsMTkgQEAK ICAKICAjZGVmaW5lIFNTSF9WRVJTSU9OCSJPcGVuU1NIXzkuOSIKCmRpZmYgLS1naXQgYS9vcGVu c3NoLTkuOXAxLW1heHN0YXJ0dXBzLW1pc3RyYWNraW5nLnBhdGNoIGIvb3BlbnNzaC05LjlwMS1t YXhzdGFydHVwcy1taXN0cmFja2luZy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwLi4wZTkyOTAzCi0tLSAvZGV2L251bGwKKysrIGIvb3BlbnNzaC05LjlwMS1tYXhzdGFy dHVwcy1taXN0cmFja2luZy5wYXRjaApAQCAtMCwwICsxLDczIEBACitkaWZmIC0tY29sb3IgLXJ1 TnAgYS9zcmNsaW1pdC5jIGIvc3JjbGltaXQuYworLS0tIGEvc3JjbGltaXQuYwkyMDI0LTA5LTIw IDAwOjIwOjQ4LjAwMDAwMDAwMCArMDIwMAorKysrIGIvc3JjbGltaXQuYwkyMDI2LTAzLTA2IDEz OjMwOjQ4LjQwODMwOTYxOSArMDEwMAorQEAgLTQyNyw3ICs0MjcsOSBAQCBzcmNsaW1pdF9wZW5h bGlzZShzdHJ1Y3QgeGFkZHIgKmFkZHIsIGluCisgCQkJcGVuYWx0eS0+YWN0aXZlID0gMTsKKyAJ CWlmIChSQl9JTlNFUlQocGVuYWx0aWVzX2J5X2V4cGlyeSwgYnlfZXhwaXJ5LCBwZW5hbHR5KSAh PSBOVUxMKQorIAkJCWZhdGFsX2YoImludGVybmFsIGVycm9yOiAlcyBwZW5hbHR5IHRhYmxlcyBj b3JydXB0IiwgdCk7CistCQl2ZXJib3NlX2YoIiVzOiBuZXcgJXMgJXMgcGVuYWx0eSBvZiAlZCBz ZWNvbmRzIGZvciAlcyIsIHQsCisrCQlkb19sb2cyX2YocGVuYWx0eS0+YWN0aXZlID8KKysJCSAg ICBTWVNMT0dfTEVWRUxfSU5GTyA6IFNZU0xPR19MRVZFTF9WRVJCT1NFLAorKwkJICAgICIlczog bmV3ICVzICVzIHBlbmFsdHkgb2YgJWQgc2Vjb25kcyBmb3IgJXMiLCB0LAorIAkJICAgIGFkZHJu ZXRtYXNrLCBwZW5hbHR5LT5hY3RpdmUgPyAiYWN0aXZlIiA6ICJkZWZlcnJlZCIsCisgCQkgICAg cGVuYWx0eV9zZWNzLCByZWFzb24pOworIAkJaWYgKCsrKCpucGVuYWx0aWVzcCkgPiAoc2l6ZV90 KW1heF9zb3VyY2VzKQorQEAgLTQ0Niw3ICs0NDgsNyBAQCBzcmNsaW1pdF9wZW5hbGlzZShzdHJ1 Y3QgeGFkZHIgKmFkZHIsIGluCisgCQlleGlzdGluZy0+ZXhwaXJ5ID0gbm93ICsgcGVuYWx0eV9j ZmcucGVuYWx0eV9tYXg7CisgCWlmIChleGlzdGluZy0+ZXhwaXJ5IC0gbm93ID4gcGVuYWx0eV9j ZmcucGVuYWx0eV9taW4gJiYKKyAJICAgICFleGlzdGluZy0+YWN0aXZlKSB7CistCQl2ZXJib3Nl X2YoIiVzOiBhY3RpdmF0aW5nICVzIHBlbmFsdHkgb2YgJWxsZCBzZWNvbmRzIGZvciAlcyIsCisr CQlsb2dpdF9mKCIlczogYWN0aXZhdGluZyAlcyBwZW5hbHR5IG9mICVsbGQgc2Vjb25kcyBmb3Ig JXMiLAorIAkJICAgIGFkZHJuZXRtYXNrLCB0LCAobG9uZyBsb25nKShleGlzdGluZy0+ZXhwaXJ5 IC0gbm93KSwKKyAJCSAgICByZWFzb24pOworIAkJZXhpc3RpbmctPmFjdGl2ZSA9IDE7CitkaWZm IC0tY29sb3IgLXJ1TnAgYS9zc2hkLmMgYi9zc2hkLmMKKy0tLSBhL3NzaGQuYwkyMDI2LTAzLTA2 IDEzOjEwOjUyLjY1MzYxNzU0OCArMDEwMAorKysrIGIvc3NoZC5jCTIwMjYtMDMtMDYgMTM6MjQ6 NTAuODY1MDc5OTk4ICswMTAwCitAQCAtMjkxLDggKzI5MSwxMCBAQCBjaGlsZF9maW5pc2goc3Ry dWN0IGVhcmx5X2NoaWxkICpjaGlsZCkKKyB7CisgCWlmIChjaGlsZHJlbl9hY3RpdmUgPT0gMCkK KyAJCWZhdGFsX2YoImludGVybmFsIGVycm9yOiBjaGlsZHJlbl9hY3RpdmUgdW5kZXJmbG93Iik7 CistCWlmIChjaGlsZC0+cGlwZWZkICE9IC0xKQorKwlpZiAoY2hpbGQtPnBpcGVmZCAhPSAtMSkg eworKwkJc3JjbGltaXRfZG9uZShjaGlsZC0+cGlwZWZkKTsKKyAJCWNsb3NlKGNoaWxkLT5waXBl ZmQpOworKwl9CisgCWZyZWUoY2hpbGQtPmlkKTsKKyAJbWVtc2V0KGNoaWxkLCAnXDAnLCBzaXpl b2YoKmNoaWxkKSk7CisgCWNoaWxkLT5waXBlZmQgPSAtMTsKK0BAIC0zMTEsNiArMzEzLDcgQEAg Y2hpbGRfY2xvc2Uoc3RydWN0IGVhcmx5X2NoaWxkICpjaGlsZCwgaQorIAlpZiAoIXF1aWV0KQor IAkJZGVidWdfZigiZW50ZXIlcyIsIGZvcmNlX2ZpbmFsID8gIiAoZm9yY2luZykiIDogIiIpOwor IAlpZiAoY2hpbGQtPnBpcGVmZCAhPSAtMSkgeworKwkJc3JjbGltaXRfZG9uZShjaGlsZC0+cGlw ZWZkKTsKKyAJCWNsb3NlKGNoaWxkLT5waXBlZmQpOworIAkJY2hpbGQtPnBpcGVmZCA9IC0xOwor IAl9CitAQCAtOTc4LDEwICs5ODEsMTEgQEAgc2VydmVyX2FjY2VwdF9sb29wKGludCAqc29ja19p biwgaW50ICpzbworIAkJCQl9CisgCQkJCS8qIEZBTExUSFJPVUdIICovCisgCQkJY2FzZSAwOgor LQkJCQkvKiBjaGlsZCBleGl0ZWQgcHJlYXV0aCAqLworKwkJCQkvKiBjaGlsZCBjbG9zZWQgcGlw ZSAqLworIAkJCQlpZiAoY2hpbGRyZW5baV0uZWFybHkpCisgCQkJCQlsaXN0ZW5pbmctLTsKKy0J CQkJc3JjbGltaXRfZG9uZShjaGlsZHJlbltpXS5waXBlZmQpOworKwkJCQlkZWJ1ZzNfZigiY2hp bGQgJWx1IGZvciAlcyBjbG9zZWQgcGlwZSIsCisrCQkJCSAgICAobG9uZyljaGlsZHJlbltpXS5w aWQsIGNoaWxkcmVuW2ldLmlkKTsKKyAJCQkJY2hpbGRfY2xvc2UoJihjaGlsZHJlbltpXSksIDAs IDApOworIAkJCQlicmVhazsKKyAJCQljYXNlIDE6CitAQCAtMTAwMyw2ICsxMDA3LDEyIEBAIHNl cnZlcl9hY2NlcHRfbG9vcChpbnQgKnNvY2tfaW4sIGludCAqc28KKyAJCQkJCSAgICAiY2hpbGQg JWxkIGZvciAlcyBpbiBzdGF0ZSAlZCIsCisgCQkJCQkgICAgKGludCljLCAobG9uZyljaGlsZHJl bltpXS5waWQsCisgCQkJCQkgICAgY2hpbGRyZW5baV0uaWQsIGNoaWxkcmVuW2ldLmVhcmx5KTsK KysKKysJCQkJCWlmIChjaGlsZHJlbltpXS5lYXJseSkKKysJCQkJCQlsaXN0ZW5pbmctLTsKKysJ CQkJCWlmIChjaGlsZHJlbltpXS5waWQgPiAwKQorKwkJCQkJCWtpbGwoY2hpbGRyZW5baV0ucGlk LCBTSUdURVJNKTsKKysJCQkJCWNoaWxkX2Nsb3NlKCYoY2hpbGRyZW5baV0pLCAwLCAwKTsKKyAJ CQkJfQorIAkJCQlicmVhazsKKyAJCQl9CgpkaWZmIC0tZ2l0IGEvb3BlbnNzaC05LjlwMS1zY3At cmVtb3RlLWdsb2IucGF0Y2ggYi9vcGVuc3NoLTkuOXAxLXNjcC1yZW1vdGUtZ2xvYi5wYXRjaApu ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMDgxMDFlCi0tLSAvZGV2L251bGwK KysrIGIvb3BlbnNzaC05LjlwMS1zY3AtcmVtb3RlLWdsb2IucGF0Y2gKQEAgLTAsMCArMSwxNCBA QAorZGlmZiAtLWNvbG9yIC1ydU5wIGEvc2NwLmMgYi9zY3AuYworLS0tIGEvc2NwLmMJMjAyNi0w Ny0xNCAxMTo0MDo0Ny43NTQ2MDA4NDcgKzAyMDAKKysrKyBiL3NjcC5jCTIwMjYtMDctMTQgMTE6 NDM6MDQuMDc3NTI0NTE3ICswMjAwCitAQCAtMjA3MCw2ICsyMDcwLDEwIEBAIHRocm91Z2hsb2Nh bF9zZnRwKHN0cnVjdCBzZnRwX2Nvbm4gKmZyb20KKyAJCQlnb3RvIG91dDsKKyAJCX0KKyAKKysJ CS8qIFNwZWNpYWwgaGFuZGxpbmcgZm9yIHNvdXJjZSBvZiAnLi4nICovCisrCQlpZiAoc3RyY21w KGZpbGVuYW1lLCAiLi4iKSA9PSAwKQorKwkJCWZpbGVuYW1lID0gIi4iOyAvKiBEb3dubG9hZCB0 byBkZXN0LCBub3QgZGVzdC8uLiAqLworKworIAkJaWYgKHRhcmdldGlzZGlyKQorIAkJCWFic19k c3QgPSBzZnRwX3BhdGhfYXBwZW5kKHRhcmdldCwgZmlsZW5hbWUpOworIAkJZWxzZQo=