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/globus-gsi-proxy-core] rawhide: Compile with OpenSSL 4 Date: Sun, 14 Jun 2026 08:53:24 GMT Message-ID: <178142720493.1.12492276494178851596.rpms-globus-gsi-proxy-core-a6b6d2893052@fedoraproject.org> List-ID: X-Git-Repo: rpms/globus-gsi-proxy-core X-Git-Branch: rawhide X-Git-Rev: a6b6d2893052a0e1e626715018569a6b089acab4 QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvZ2xvYnVzLWdzaS1w cm94eS1jb3JlCkJyYW5jaCA6IHJhd2hpZGUKQ29tbWl0IDogYTZiNmQyODkzMDUyYTBlMWU2MjY3 MTUwMTg1NjlhNmIwODlhY2FiNApBdXRob3IgOiBNYXR0aWFzIEVsbGVydCA8bWF0dGlhcy5lbGxl cnRAcGh5c2ljcy51dS5zZT4KRGF0ZSAgIDogMjAyNi0wNi0xNFQxMDozOToxMyswMjowMApTdGF0 cyAgOiArMTc0Ni8tMiBpbiAzIGZpbGUocykKVVJMICAgIDogaHR0cHM6Ly9zcmMuZmVkb3JhcHJv amVjdC5vcmcvcnBtcy9nbG9idXMtZ3NpLXByb3h5LWNvcmUvYy9hNmI2ZDI4OTMwNTJhMGUxZTYy NjcxNTAxODU2OWE2YjA4OWFjYWI0P2JyYW5jaD1yYXdoaWRlCgpMb2c6CkNvbXBpbGUgd2l0aCBP cGVuU1NMIDQKCi0tLQpkaWZmIC0tZ2l0IGEvMDAwMS1VbnRhYmlmeS1hbmQtcmVtb3ZlLXRyYWls aW5nLXdoaXRlLXNwYWNlLnBhdGNoIGIvMDAwMS1VbnRhYmlmeS1hbmQtcmVtb3ZlLXRyYWlsaW5n LXdoaXRlLXNwYWNlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE3 ZGY3Y2MKLS0tIC9kZXYvbnVsbAorKysgYi8wMDAxLVVudGFiaWZ5LWFuZC1yZW1vdmUtdHJhaWxp bmctd2hpdGUtc3BhY2UucGF0Y2gKQEAgLTAsMCArMSwxNTkwIEBACitGcm9tIDNjY2RhYTAyMzYy MzBiYmNiY2JmMzM5ZTdkZmRmYWYyM2MxMGJkNmYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitG cm9tOiBNYXR0aWFzIEVsbGVydCA8bWF0dGlhcy5lbGxlcnRAcGh5c2ljcy51dS5zZT4KK0RhdGU6 IFdlZCwgMjAgTWF5IDIwMjYgMDA6MTU6MzcgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSCAxLzJdIFVu dGFiaWZ5IGFuZCByZW1vdmUgdHJhaWxpbmcgd2hpdGUtc3BhY2UKKworLS0tCisgLi4uL3NvdXJj ZS9saWJyYXJ5L2dsb2J1c19nc2lfcHJveHkuYyAgICAgICAgIHwgMjQyICsrKysrKysrKy0tLS0t LS0tLQorIC4uLi9zb3VyY2UvbGlicmFyeS9nbG9idXNfZ3NpX3Byb3h5X2hhbmRsZS5jICB8IDE1 NiArKysrKy0tLS0tLQorIDIgZmlsZXMgY2hhbmdlZCwgMTk5IGluc2VydGlvbnMoKyksIDE5OSBk ZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2dzaS9wcm94eS9wcm94eV9jb3JlL3NvdXJjZS9s aWJyYXJ5L2dsb2J1c19nc2lfcHJveHkuYyBiL2dzaS9wcm94eS9wcm94eV9jb3JlL3NvdXJjZS9s aWJyYXJ5L2dsb2J1c19nc2lfcHJveHkuYworaW5kZXggMGE0ODc4NDM2Li4xZjY4YmQ2MDAgMTAw NjQ0CistLS0gYS9nc2kvcHJveHkvcHJveHlfY29yZS9zb3VyY2UvbGlicmFyeS9nbG9idXNfZ3Np X3Byb3h5LmMKKysrKyBiL2dzaS9wcm94eS9wcm94eV9jb3JlL3NvdXJjZS9saWJyYXJ5L2dsb2J1 c19nc2lfcHJveHkuYworQEAgLTczLDcgKzczLDcgQEAgZ2xvYnVzX2xfZ3NpX3Byb3h5X2RldGVy bWluZV90eXBlKAorIC8qKgorICAqIE1vZHVsZSBkZXNjcmlwdG9yIHN0YXRpYyBpbml0aWFsaXpl ci4KKyAgKi8KKy1nbG9idXNfbW9kdWxlX2Rlc2NyaXB0b3JfdAkJZ2xvYnVzX2lfZ3NpX3Byb3h5 X21vZHVsZSA9CisrZ2xvYnVzX21vZHVsZV9kZXNjcmlwdG9yX3QgICAgICAgICAgICAgIGdsb2J1 c19pX2dzaV9wcm94eV9tb2R1bGUgPQorIHsKKyAgICAgImdsb2J1c19nc2lfcHJveHkiLAorICAg ICBnbG9idXNfbF9nc2lfcHJveHlfYWN0aXZhdGUsCitAQCAtOTgsNyArOTgsNyBAQCBnbG9idXNf bF9nc2lfcHJveHlfYWN0aXZhdGUodm9pZCkKKyAKKyAgICAgLyogc2V0IHRoZSBkZWJ1ZyBsZXZl bCAqLworICAgICB0bXBzdHJpbmcgPSBnbG9idXNfbW9kdWxlX2dldGVudigiR0xPQlVTX0dTSV9Q Uk9YWV9ERUJVR19MRVZFTCIpOworLSAgICAKKysKKyAgICAgaWYodG1wc3RyaW5nICE9IEdMT0JV U19OVUxMKQorICAgICB7CisgICAgICAgICBnbG9idXNfaV9nc2lfcHJveHlfZGVidWdfbGV2ZWwg PSBhdG9pKHRtcHN0cmluZyk7CitAQCAtMTA5LDcgKzEwOSw3IEBAIGdsb2J1c19sX2dzaV9wcm94 eV9hY3RpdmF0ZSh2b2lkKQorICAgICAgICAgfQorICAgICB9CisgCistICAgIC8qIHNldCB0aGUg bG9jYXRpb24gZm9yIHRoZSBkZWJ1Z2dpbmcgZm9yIHRoZSAKKysgICAgLyogc2V0IHRoZSBsb2Nh dGlvbiBmb3IgdGhlIGRlYnVnZ2luZyBmb3IgdGhlCisgICAgICAqIGRlYnVnZ2luZyBvdXRwdXQg KGZpbGUgb3Igc3RkZXJyKQorICAgICAgKi8KKyAgICAgdG1wc3RyaW5nID0gZ2xvYnVzX21vZHVs ZV9nZXRlbnYoIkdMT0JVU19HU0lfUFJPWFlfREVCVUdfRklMRSIpOworQEAgLTE1MSw3ICsxNTEs NyBAQCBnbG9idXNfbF9nc2lfcHJveHlfYWN0aXZhdGUodm9pZCkKKyAgICAgeworICAgICAgICAg Z290byBleGl0OworICAgICB9CistICAgIAorKworICAgICByZXN1bHQgPSBnbG9idXNfbW9kdWxl X2FjdGl2YXRlKEdMT0JVU19HU0lfQ1JFREVOVElBTF9NT0RVTEUpOworICAgICBpZihyZXN1bHQg IT0gR0xPQlVTX1NVQ0NFU1MpCisgICAgIHsKK0BAIC0xOTIsMTkgKzE5MiwxOSBAQCBnbG9idXNf bF9nc2lfcHJveHlfZGVhY3RpdmF0ZSh2b2lkKQorIC8qIGdsb2J1c19sX2dzaV9wcm94eV9kZWFj dGl2YXRlKCkgKi8KKyAKKyAjZW5kaWYgLyogR0xPQlVTX0RPTlRfRE9DVU1FTlRfSU5URVJOQUwg Ki8KKy0gICAgCisrCisgLyoqCisgICogQGJyaWVmIENyZWF0ZSBhIHByb3h5IGNyZWRlbnRpYWwg cmVxdWVzdAorICAqIEBpbmdyb3VwIGdsb2J1c19nc2lfcHJveHlfb3BlcmF0aW9ucworICAqIEBk ZXRhaWxzCistICogVGhpcyBmdW5jdGlvbiBjcmVhdGVzIGEgcHJveHkgY3JlZGVudGlhbCByZXF1 ZXN0LCBhbiB1bnNpZ25lZCAKKysgKiBUaGlzIGZ1bmN0aW9uIGNyZWF0ZXMgYSBwcm94eSBjcmVk ZW50aWFsIHJlcXVlc3QsIGFuIHVuc2lnbmVkCisgICogY2VydGlmaWNhdGUgYW5kIHRoZSBjb3Jy ZXNwb25kaW5nIHByaXZhdGUga2V5LCBiYXNlZCBvbiB0aGUgaGFuZGxlCisgICogdGhhdCBpcyBw YXNzZWQgaW4uCisgICoKKyAgKiBUaGUgcHVibGljIHBhcnQgb2YgdGhlIHJlcXVlc3QgaXMgd3Jp dHRlbiB0byB0aGUgQklPIHN1cHBsaWVkIGluCisgICogdGhlIG91dHB1dF9iaW8gcGFyYW1ldGVy LiAgQWZ0ZXIgdGhlIHJlcXVlc3QgaXMgd3JpdHRlbiwgdGhlCisgICogUFJPWFlDRVJUSU5GTyBl eHRlbnNpb24gY29udGFpbmVkIGluIHRoZSBoYW5kbGUgaXMgd3JpdHRlbgorLSAqIHRvIHRoZSBC SU8uIAorKyAqIHRvIHRoZSBCSU8uCisgICoKKyAgKiBUaGUgcHJveHkgaGFuZGxlIGlzIHVwZGF0 ZWQgd2l0aCB0aGUgcHJpdmF0ZSBrZXkuCisgICoKK0BAIC0yMTMsNyArMjEzLDcgQEAgZ2xvYnVz X2xfZ3NpX3Byb3h5X2RlYWN0aXZhdGUodm9pZCkKKyAgKiBAcGFyYW1bb3V0XSBvdXRwdXRfYmlv CisgICogICAgICAgIEEgQklPIHRvIHdyaXRlIHRoZSByZXN1bHRpbmcgcmVxdWVzdCBzdHJ1Y3R1 cmUgdG8uCisgICogQHJldHVybgorLSAqICAgICAgICBHTE9CVVNfU1VDQ0VTUyB1bmxlc3MgYW4g ZXJyb3Igb2NjdXJyZWQsIGluIHdoaWNoIGNhc2UsIAorKyAqICAgICAgICBHTE9CVVNfU1VDQ0VT UyB1bmxlc3MgYW4gZXJyb3Igb2NjdXJyZWQsIGluIHdoaWNoIGNhc2UsCisgICogICAgICAgIGEg Z2xvYnVzIGVycm9yIG9iamVjdCBJRCBpcyByZXR1cm5lZAorICAqLworIGdsb2J1c19yZXN1bHRf dAorQEAgLTIzMSw3ICsyMzEsNyBAQCBnbG9idXNfZ3NpX3Byb3h5X2NyZWF0ZV9yZXEoCisgICAg IGludCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJjID0gMDsKKyAKKyAgICAgR0xP QlVTX0lfR1NJX1BST1hZX0RFQlVHX0VOVEVSOworLSAgICAgICAgCisrCisgICAgIGlmKGhhbmRs ZSA9PSBOVUxMKQorICAgICB7CisgICAgICAgICBHTE9CVVNfR1NJX1BST1hZX0VSUk9SX1JFU1VM VCgKK0BAIC0yNzUsNyArMjc1LDcgQEAgZ2xvYnVzX2dzaV9wcm94eV9jcmVhdGVfcmVxKAorICAg ICB7CisgICAgICAgICBHTE9CVVNfR1NJX1BST1hZX09QRU5TU0xfRVJST1JfUkVTVUxUKAorICAg ICAgICAgICAgIHJlc3VsdCwKKy0gICAgICAgICAgICBHTE9CVVNfR1NJX1BST1hZX0VSUk9SX1dJ VEhfUFJJVkFURV9LRVksIAorKyAgICAgICAgICAgIEdMT0JVU19HU0lfUFJPWFlfRVJST1JfV0lU SF9QUklWQVRFX0tFWSwKKyAgICAgICAgICAgICAoX1BDU0woIkNvdWxkbid0IGdlbmVyYXRlIFJT QSBrZXkgcGFpciBmb3IgcHJveHkgaGFuZGxlIikpKTsKKyAgICAgICAgIGdvdG8gZXhpdDsKKyAg ICAgfQorQEAgLTI4NSw3ICsyODUsNyBAQCBnbG9idXNfZ3NpX3Byb3h5X2NyZWF0ZV9yZXEoCisg ICAgIHsKKyAgICAgICAgIEdMT0JVU19HU0lfUFJPWFlfT1BFTlNTTF9FUlJPUl9SRVNVTFQoCisg ICAgICAgICAgICAgcmVzdWx0LAorLSAgICAgICAgICAgIEdMT0JVU19HU0lfUFJPWFlfRVJST1Jf V0lUSF9QUklWQVRFX0tFWSwgCisrICAgICAgICAgICAgR0xPQlVTX0dTSV9QUk9YWV9FUlJPUl9X SVRIX1BSSVZBVEVfS0VZLAorICAgICAgICAgICAgIChfUENTTCgiQ291bGRuJ3QgZ2VuZXJhdGUg UlNBIGtleSBwYWlyIGZvciBwcm94eSBoYW5kbGUiKSkpOworICAgICAgICAgZ290byBleGl0Owor ICAgICB9CitAQCAtMjk0LDcgKzI5NCw3IEBAIGdsb2J1c19nc2lfcHJveHlfY3JlYXRlX3JlcSgK KyAgICAgeworICAgICAgICAgR0xPQlVTX0dTSV9QUk9YWV9PUEVOU1NMX0VSUk9SX1JFU1VMVCgK KyAgICAgICAgICAgICByZXN1bHQsCistICAgICAgICAgICAgR0xPQlVTX0dTSV9QUk9YWV9FUlJP Ul9XSVRIX1BSSVZBVEVfS0VZLCAKKysgICAgICAgICAgICBHTE9CVVNfR1NJX1BST1hZX0VSUk9S X1dJVEhfUFJJVkFURV9LRVksCisgICAgICAgICAgICAgKF9QQ1NMKCJDb3VsZG4ndCBnZW5lcmF0 ZSBSU0Ega2V5IHBhaXIgZm9yIHByb3h5IGhhbmRsZSIpKSk7CisgICAgICAgICBnb3RvIGV4aXQ7 CisgICAgIH0KK0BAIC0zMDMsNyArMzAzLDcgQEAgZ2xvYnVzX2dzaV9wcm94eV9jcmVhdGVfcmVx KAorICAgICB7CisgICAgICAgICBHTE9CVVNfR1NJX1BST1hZX09QRU5TU0xfRVJST1JfUkVTVUxU KAorICAgICAgICAgICAgIHJlc3VsdCwKKy0gICAgICAgICAgICBHTE9CVVNfR1NJX1BST1hZX0VS Uk9SX1dJVEhfUFJJVkFURV9LRVksIAorKyAgICAgICAgICAgIEdMT0JVU19HU0lfUFJPWFlfRVJS T1JfV0lUSF9QUklWQVRFX0tFWSwKKyAgICAgICAgICAgICAoX1BDU0woIkNvdWxkbid0IGdlbmVy YXRlIFJTQSBrZXkgcGFpciBmb3IgcHJveHkgaGFuZGxlIikpKTsKKyAgICAgICAgIGdvdG8gZXhp dDsKKyAgICAgfQorQEAgLTMxNyw3ICszMTcsNyBAQCBnbG9idXNfZ3NpX3Byb3h5X2NyZWF0ZV9y ZXEoCisgICAgIHsKKyAgICAgICAgIEdMT0JVU19HU0lfUFJPWFlfT1BFTlNTTF9FUlJPUl9SRVNV TFQoCisgICAgICAgICAgICAgcmVzdWx0LAorLSAgICAgICAgICAgIEdMT0JVU19HU0lfUFJPWFlf RVJST1JfV0lUSF9QUklWQVRFX0tFWSwgCisrICAgICAgICAgICAgR0xPQlVTX0dTSV9QUk9YWV9F UlJPUl9XSVRIX1BSSVZBVEVfS0VZLAorICAgICAgICAgICAgIChfUENTTCgiQ291bGRuJ3QgZ2Vu ZXJhdGUgUlNBIGtleSBwYWlyIGZvciBwcm94eSBoYW5kbGUiKSkpOworICAgICAgICAgZ290byBl eGl0OworICAgICB9CitAQCAtMzYxLDcgKzM2MSw3IEBAIGdsb2J1c19nc2lfcHJveHlfY3JlYXRl X3JlcSgKKyAgICAgfQorIAorICAgICByZXFfbmFtZV9lbnRyeSA9IFg1MDlfTkFNRV9FTlRSWV9j cmVhdGVfYnlfTklEKAorLSAgICAgICAgTlVMTCwgCisrICAgICAgICBOVUxMLAorICAgICAgICAg TklEX2NvbW1vbk5hbWUsCisgICAgICAgICBWX0FTTjFfQVBQX0NIT09TRSwKKyAgICAgICAgICh1 bnNpZ25lZCBjaGFyICopICJOVUxMIFNVQkpFQ1QgTkFNRSBFTlRSWSIsCitAQCAtMzk4LDcgKzM5 OCw3IEBAIGdsb2J1c19nc2lfcHJveHlfY3JlYXRlX3JlcSgKKyAgICAgWDUwOV9SRVFfc2V0X3N1 YmplY3RfbmFtZShoYW5kbGUtPnJlcSwgcmVxX25hbWUpOworICAgICBYNTA5X05BTUVfZnJlZShy ZXFfbmFtZSk7CisgICAgIHJlcV9uYW1lID0gTlVMTDsKKy0gICAgCisrCisgICAgIGlmKEdMT0JV U19HU0lfQ0VSVF9VVElMU19JU19HU0lfM19QUk9YWShoYW5kbGUtPnR5cGUpKQorICAgICB7Cisg ICAgICAgICBwY2lfTklEID0gT0JKX3R4dDJuaWQoUFJPWFlDRVJUSU5GT19PTERfT0lEKTsKK0BA IC00MjIsNyArNDIyLDcgQEAgZ2xvYnVzX2dzaV9wcm94eV9jcmVhdGVfcmVxKAorIAorICAgICAg ICAgaWYgKGV4dF9tZXRob2QtPmkyZCkKKyAgICAgICAgIHsKKy0gICAgICAgIAorKworICAgICAg ICAgbGVuZ3RoID0gZXh0X21ldGhvZC0+aTJkKGhhbmRsZS0+cHJveHlfY2VydF9pbmZvLCBOVUxM KTsKKyAgICAgICAgIGlmKGxlbmd0aCA8IDApCisgICAgICAgICB7CitAQCAtNDMzLDcgKzQzMyw3 IEBAIGdsb2J1c19nc2lfcHJveHlfY3JlYXRlX3JlcSgKKyAgICAgICAgICAgICAgICAgICIgdG8g REVSIGVuY29kZWQgZm9ybSIpKSk7CisgICAgICAgICAgICAgZ290byBlcnJvcl9leGl0OworICAg ICAgICAgfQorLSAgICAgICAgCisrCisgICAgICAgICBkYXRhID0gbWFsbG9jKGxlbmd0aCk7Cisg CisgICAgICAgICBpZighZGF0YSkKK0BAIC00NDMsOSArNDQzLDkgQEAgZ2xvYnVzX2dzaV9wcm94 eV9jcmVhdGVfcmVxKAorICAgICAgICAgfQorIAorICAgICAgICAgZGVyX2RhdGEgPSBkYXRhOwor LSAgICAgICAgCisrCisgICAgICAgICBsZW5ndGggPSBleHRfbWV0aG9kLT5pMmQoaGFuZGxlLT5w cm94eV9jZXJ0X2luZm8sICZkZXJfZGF0YSk7CistICAgICAgICAKKysKKyAgICAgICAgIGlmKGxl bmd0aCA8IDApCisgICAgICAgICB7CisgICAgICAgICAgICAgR0xPQlVTX0dTSV9QUk9YWV9PUEVO U1NMX0VSUk9SX1JFU1VMVCgKK0BAIC00NTgsNyArNDU4LDcgQEAgZ2xvYnVzX2dzaV9wcm94eV9j cmVhdGVfcmVxKAorICAgICAgICAgfQorIAorICAgICAgICAgZXh0X2RhdGEgPSBBU04xX09DVEVU X1NUUklOR19uZXcoKTsKKy0gICAgICAgIAorKworICAgICAgICAgaWYoIUFTTjFfT0NURVRfU1RS SU5HX3NldChleHRfZGF0YSwgZGF0YSwgbGVuZ3RoKSkKKyAgICAgICAgIHsKKyAgICAgICAgICAg ICBHTE9CVVNfR1NJX1BST1hZX09QRU5TU0xfRVJST1JfUkVTVUxUKAorQEAgLTQ2OCwxMSArNDY4 LDExIEBAIGdsb2J1c19nc2lfcHJveHlfY3JlYXRlX3JlcSgKKyAgICAgICAgICAgICAgICAgICIg dG8gREVSIGVuY29kZWQgZm9ybSIpKSk7CisgICAgICAgICAgICAgQVNOMV9PQ1RFVF9TVFJJTkdf ZnJlZShleHRfZGF0YSk7CisgICAgICAgICAgICAgZnJlZShkYXRhKTsKKy0gICAgICAgICAgICBn b3RvIGVycm9yX2V4aXQ7ICAgICAgICAgICAgCisrICAgICAgICAgICAgZ290byBlcnJvcl9leGl0 OworICAgICAgICAgfQorIAorICAgICAgICAgZnJlZShkYXRhKTsKKy0gICAgICAgIAorKworICAg ICAgICAgcGNpX2V4dCA9IFg1MDlfRVhURU5TSU9OX2NyZWF0ZV9ieV9OSUQoTlVMTCwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBjaV9OSUQsCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLAorQEAgLTQ4Niw3 ICs0ODYsNyBAQCBnbG9idXNfZ3NpX3Byb3h5X2NyZWF0ZV9yZXEoCisgICAgICAgICAgICAgQVNO MV9PQ1RFVF9TVFJJTkdfZnJlZShleHRfZGF0YSk7CisgICAgICAgICAgICAgZ290byBlcnJvcl9l eGl0OworICAgICAgICAgfQorLSAgICAgICAgCisrCisgICAgICAgICBBU04xX09DVEVUX1NUUklO R19mcmVlKGV4dF9kYXRhKTsKKyAKKyAgICAgICAgIH0KK0BAIC01OTMsNyArNTkzLDcgQEAgZ2xv YnVzX2dzaV9wcm94eV9jcmVhdGVfcmVxKAorICAgICAgICAgR0xPQlVTX0lfR1NJX1BST1hZX0RF QlVHX1BSSU5UX1BDSSgzLCBoYW5kbGUtPnByb3h5X2NlcnRfaW5mbyk7CisgICAgICAgICBHTE9C VVNfSV9HU0lfUFJPWFlfREVCVUdfUFJJTlQoMywgIioqKioqKiAgRU5EIFBST1hZQ0VSVElORk8g ICoqKioqKlxuIik7CisgICAgIH0KKy0gICAgCisrCisgICAgIGlmICghWDUwOV9SRVFfc2lnbiho YW5kbGUtPnJlcSwgaGFuZGxlLT5wcm94eV9rZXksCisgICAgICAgICAgICAgaGFuZGxlLT5hdHRy cy0+c2lnbmluZ19hbGdvcml0aG0KKyAgICAgICAgICAgICA/IGhhbmRsZS0+YXR0cnMtPnNpZ25p bmdfYWxnb3JpdGhtCitAQCAtNjY1LDcgKzY2NSw3IEBAIGdsb2J1c19nc2lfcHJveHlfY3JlYXRl X3JlcSgKKyAgKiBAcGFyYW1baW5dIGlucHV0X2JpbworICAqICAgICAgICBBIEJJTyB0byByZWFk IGEgcmVxdWVzdCBzdHJ1Y3R1cmUgZnJvbS4KKyAgKiBAcmV0dXJuCistICogICAgICAgIEdMT0JV U19TVUNDRVNTIHVubGVzcyBhbiBlcnJvciBvY2N1cnJlZCwgaW4gd2hpY2ggY2FzZSwgCisrICog ICAgICAgIEdMT0JVU19TVUNDRVNTIHVubGVzcyBhbiBlcnJvciBvY2N1cnJlZCwgaW4gd2hpY2gg Y2FzZSwKKyAgKiAgICAgICAgYSBnbG9idXMgZXJyb3Igb2JqZWN0IElEIGlzIHJldHVybmVkCisg ICovCisgZ2xvYnVzX3Jlc3VsdF90CitAQCAtNjg0LDcgKzY4NCw3IEBAIGdsb2J1c19nc2lfcHJv eHlfaW5xdWlyZV9yZXEoCisgICAgIGludCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGkgPSAwOworICAgICBTVEFDS19PRihYNTA5X0VYVEVOU0lPTikgKiAgICAgICAgICByZXFfZXh0 ZW5zaW9ucyA9IE5VTEw7CisgICAgIFg1MDlfRVhURU5TSU9OICogICAgICAgICAgICAgICAgICAg IGV4dGVuc2lvbiA9IE5VTEw7CistICAgIAorKworICAgICBHTE9CVVNfSV9HU0lfUFJPWFlfREVC VUdfRU5URVI7CisgCisgICAgIGlmKGhhbmRsZSA9PSBOVUxMKQorQEAgLTcyNSwxMyArNzI1LDEz IEBAIGdsb2J1c19nc2lfcHJveHlfaW5xdWlyZV9yZXEoCisgCisgICAgIHBjaV9OSUQgPSBPQkpf dHh0Mm5pZChQUk9YWUNFUlRJTkZPX09JRCk7CisgICAgIHBjaV9vbGRfTklEID0gT0JKX3R4dDJu aWQoUFJPWFlDRVJUSU5GT19PTERfT0lEKTsKKy0gICAgCisrCisgICAgIGZvcihpPTA7aTxza19Y NTA5X0VYVEVOU0lPTl9udW0ocmVxX2V4dGVuc2lvbnMpO2krKykKKyAgICAgeworICAgICAgICAg ZXh0ZW5zaW9uID0gc2tfWDUwOV9FWFRFTlNJT05fdmFsdWUocmVxX2V4dGVuc2lvbnMsaSk7Cisg ICAgICAgICBleHRlbnNpb25fb2lkID0gWDUwOV9FWFRFTlNJT05fZ2V0X29iamVjdChleHRlbnNp b24pOworICAgICAgICAgbmlkID0gT0JKX29iajJuaWQoZXh0ZW5zaW9uX29pZCk7CistICAgICAg ICAKKysKKyAgICAgICAgIGlmIChuaWQgPT0gcGNpX05JRCB8fCBuaWQgPT0gcGNpX29sZF9OSUQp CisgICAgICAgICB7CisgICAgICAgICAgICAgaWYoaGFuZGxlLT5wcm94eV9jZXJ0X2luZm8pCitA QCAtNzUyLDcgKzc1Miw3IEBAIGdsb2J1c19nc2lfcHJveHlfaW5xdWlyZV9yZXEoCisgICAgICAg ICAgICAgYnJlYWs7CisgICAgICAgICB9CisgICAgIH0KKy0gICAgCisrCisgICAgIGlmKGhhbmRs ZS0+cHJveHlfY2VydF9pbmZvICE9IE5VTEwpCisgICAgIHsKKyAgICAgICAgIGlmKChwb2xpY3kg PSBoYW5kbGUtPnByb3h5X2NlcnRfaW5mby0+cHJveHlQb2xpY3kpID09IE5VTEwpCitAQCAtNzYz LDcgKzc2Myw3IEBAIGdsb2J1c19nc2lfcHJveHlfaW5xdWlyZV9yZXEoCisgICAgICAgICAgICAg ICAgIChfUENTTCgiQ2FuJ3QgZ2V0IHBvbGljeSBmcm9tIFBST1hZQ0VSVElORk8gZXh0ZW5zaW9u IikpKTsKKyAgICAgICAgICAgICBnb3RvIGRvbmU7CisgICAgICAgICB9CistICAgICAgICAKKysK KyAgICAgICAgIGlmKChwb2xpY3lfbGFuZyA9IHBvbGljeS0+cG9saWN5TGFuZ3VhZ2UpID09IE5V TEwpCisgICAgICAgICB7CisgICAgICAgICAgICAgR0xPQlVTX0dTSV9QUk9YWV9PUEVOU1NMX0VS Uk9SX1JFU1VMVCgKK0BAIC03NzMsMTEgKzc3MywxMSBAQCBnbG9idXNfZ3NpX3Byb3h5X2lucXVp cmVfcmVxKAorICAgICAgICAgICAgICAgICAgIiBQUk9YWUNFUlRJTkZPIGV4dGVuc2lvbiIpKSk7 CisgICAgICAgICAgICAgZ290byBkb25lOworICAgICAgICAgfQorLSAgICAgICAgCisrCisgICAg ICAgICBwb2xpY3lfbmlkID0gT0JKX29iajJuaWQocG9saWN5X2xhbmcpOworIAorICAgICAgICAg aWYobmlkID09IHBjaV9vbGRfTklEKQorLSAgICAgICAgeyAKKysgICAgICAgIHsKKyAgICAgICAg ICAgICBpZihwb2xpY3lfbmlkID09IE9CSl90eHQybmlkKElNUEVSU09OQVRJT05fUFJPWFlfT0lE KSkKKyAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgIGhhbmRsZS0+dHlwZT0KK0BAIC04 NDMsNyArODQzLDcgQEAgZ2xvYnVzX2dzaV9wcm94eV9pbnF1aXJlX3JlcSgKKyAgICAgeworICAg ICAgICAgc2tfWDUwOV9FWFRFTlNJT05fcG9wX2ZyZWUocmVxX2V4dGVuc2lvbnMsIFg1MDlfRVhU RU5TSU9OX2ZyZWUpOworICAgICB9CistICAgIAorKworICAgICBHTE9CVVNfSV9HU0lfUFJPWFlf REVCVUdfRVhJVDsKKyAgICAgcmV0dXJuIHJlc3VsdDsKKyB9CitAQCAtODYzLDcgKzg2Myw3IEBA IGdsb2J1c19nc2lfcHJveHlfaW5xdWlyZV9yZXEoCisgICogICAgICAgIEEgR1NJIFByb3h5IGhh bmRsZSB0byB1c2UgZm9yIHRoZSBzaWduaW5nIG9wZXJhdGlvbi4KKyAgKiBAcGFyYW1baW5dIGlz c3Vlcl9jcmVkZW50aWFsCisgICogICAgICAgIFRoZSBjcmVkZW50aWFsIHN0cnVjdHVyZSB0byBi ZSB1c2VkIGZvciBzaWduaW5nIHRoZSBwcm94eQorLSAqICAgICAgICBjZXJ0aWZpY2F0ZS4gCisr ICogICAgICAgIGNlcnRpZmljYXRlLgorICAqIEBwYXJhbVtpbl0gcGVlcl9jcmVkZW50aWFsCisg ICogICAgICAgIFRoZSBjcmVkZW50aWFsIHN0cnVjdHVyZSB0aGF0IGNvbnRhaW5zIHRoZSBjZXJ0 aWZpY2F0ZSB0bworICAqICAgICAgICBiZSByZXNpZ25lZC4KK0BAIC04NzEsNyArODcxLDcgQEAg Z2xvYnVzX2dzaV9wcm94eV9pbnF1aXJlX3JlcSgKKyAgKiAgICAgICAgQSBjcmVkZW50aWFsIHN0 cnVjdHVyZSB0aGF0IHVwb24gcmV0dXJuIHdpbGwgY29udGFpbiB0aGUgcmVzaWduZWQKKyAgKiAg ICAgICAgY2VydGlmaWNhdGUgYW5kIGFzc29jaWF0ZWQgY2VydGlmaWNhdGUgY2hhaW4uCisgICog QHJldHVybgorLSAqICAgICAgICBHTE9CVVNfU1VDQ0VTUyB1bmxlc3MgYW4gZXJyb3Igb2NjdXJy ZWQsIGluIHdoaWNoIGNhc2UsIAorKyAqICAgICAgICBHTE9CVVNfU1VDQ0VTUyB1bmxlc3MgYW4g ZXJyb3Igb2NjdXJyZWQsIGluIHdoaWNoIGNhc2UsCisgICogICAgICAgIGEgZ2xvYnVzIGVycm9y IG9iamVjdCBJRCBpcyByZXR1cm5lZAorICAqLworIGdsb2J1c19yZXN1bHRfdAorQEAgLTg4Nyw5 ICs4ODcsOSBAQCBnbG9idXNfZ3NpX3Byb3h5X3Jlc2lnbl9jZXJ0KAorICAgICBFVlBfUEtFWSAq ICAgICAgICAgICAgICAgICAgICAgICAgICBwZWVyX3B1YmtleSA9IE5VTEw7CisgICAgIFg1MDkg KiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld19wYyA9IE5VTEw7CisgICAgIFNUQUNL X09GKFg1MDkpICogICAgICAgICAgICAgICAgICAgIGlzc3Vlcl9jZXJ0X2NoYWluID0gTlVMTDsK Ky0gICAgCisrCisgICAgIEdMT0JVU19JX0dTSV9QUk9YWV9ERUJVR19FTlRFUjsKKy0gICAgCisr CisgICAgIGlmKGhhbmRsZSA9PSBOVUxMKQorICAgICB7CisgICAgICAgICBHTE9CVVNfR1NJX1BS T1hZX09QRU5TU0xfRVJST1JfUkVTVUxUKAorQEAgLTkyOCw3ICs5MjgsNyBAQCBnbG9idXNfZ3Np X3Byb3h5X3Jlc2lnbl9jZXJ0KAorICAgICAgICAgICAgICBfX2Z1bmNfXykpOworICAgICAgICAg Z290byBkb25lOworICAgICB9CistICAgIAorKworICAgICByZXN1bHQgPSBnbG9idXNfZ3NpX2Ny ZWRfZ2V0X2NlcnQocGVlcl9jcmVkZW50aWFsLCAmcGVlcl9jZXJ0KTsKKyAgICAgaWYocmVzdWx0 ICE9IEdMT0JVU19TVUNDRVNTKQorICAgICB7CitAQCAtOTgwLDcgKzk4MCw3IEBAIGdsb2J1c19n c2lfcHJveHlfcmVzaWduX2NlcnQoCisgCisgICAgIHJlc3VsdCA9IGdsb2J1c19nc2lfY3JlZF9n ZXRfY2VydF9jaGFpbihpc3N1ZXJfY3JlZGVudGlhbCwKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICZpc3N1ZXJfY2VydF9jaGFpbik7CistICAgIAorKworICAg ICBpZihyZXN1bHQgIT0gR0xPQlVTX1NVQ0NFU1MpCisgICAgIHsKKyAgICAgICAgIEdMT0JVU19H U0lfUFJPWFlfRVJST1JfQ0hBSU5fUkVTVUxUKAorQEAgLTk5Miw4ICs5OTIsOCBAQCBnbG9idXNf Z3NpX3Byb3h5X3Jlc2lnbl9jZXJ0KAorICAgICBpZihpc3N1ZXJfY2VydF9jaGFpbiA9PSBOVUxM KQorICAgICB7CisgICAgICAgICBpc3N1ZXJfY2VydF9jaGFpbiA9IHNrX1g1MDlfbmV3X251bGwo KTsKKy0gICAgfSAgICAKKy0gICAgCisrICAgIH0KKysKKyAgICAgcmVzdWx0ID0gZ2xvYnVzX2dz aV9jcmVkX2dldF9jZXJ0KGlzc3Vlcl9jcmVkZW50aWFsLCAmaXNzdWVyX2NlcnQpOworIAorICAg ICBpZihyZXN1bHQgIT0gR0xPQlVTX1NVQ0NFU1MpCitAQCAtMTAwNiw3ICsxMDA2LDcgQEAgZ2xv YnVzX2dzaV9wcm94eV9yZXNpZ25fY2VydCgKKyAKKyAgICAgc2tfWDUwOV91bnNoaWZ0KGlzc3Vl cl9jZXJ0X2NoYWluLCBpc3N1ZXJfY2VydCk7CisgICAgIGlzc3Vlcl9jZXJ0ID0gTlVMTDsKKy0g ICAgCisrCisgICAgIHJlc3VsdCA9IGdsb2J1c19nc2lfY3JlZF9zZXRfY2VydF9jaGFpbigqcmVz aWduZWRfY3JlZGVudGlhbCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGlzc3Vlcl9jZXJ0X2NoYWluKTsKKyAKK0BAIC0xMDU1LDExICsxMDU1LDExIEBAIGds b2J1c19nc2lfcHJveHlfcmVzaWduX2NlcnQoCisgICogICAgICAgIEEgR1NJIFByb3h5IGhhbmRs ZSB0byB1c2UgZm9yIHRoZSBzaWduaW5nIG9wZXJhdGlvbi4KKyAgKiBAcGFyYW1baW5dIGlzc3Vl cl9jcmVkZW50aWFsCisgICogICAgICAgIFRoZSBjcmVkZW50aWFsIHN0cnVjdHVyZSB0byBiZSB1 c2VkIGZvciBzaWduaW5nIHRoZSBwcm94eQorLSAqICAgICAgICBjZXJ0aWZpY2F0ZS4gCisrICog ICAgICAgIGNlcnRpZmljYXRlLgorICAqIEBwYXJhbVtvdXRdIG91dHB1dF9iaW8KKyAgKiAgICAg ICAgQSBCSU8gdG8gd3JpdGUgdGhlIHJlc3VsdGluZyBjZXJ0aWZpY2F0ZSB0by4KKyAgKiBAcmV0 dXJuCistICogICAgICAgIEdMT0JVU19TVUNDRVNTIHVubGVzcyBhbiBlcnJvciBvY2N1cnJlZCwg aW4gd2hpY2ggY2FzZSwgCisrICogICAgICAgIEdMT0JVU19TVUNDRVNTIHVubGVzcyBhbiBlcnJv ciBvY2N1cnJlZCwgaW4gd2hpY2ggY2FzZSwKKyAgKiAgICAgICAgYSBnbG9idXMgZXJyb3Igb2Jq ZWN0IElEIGlzIHJldHVybmVkCisgICovCisgZ2xvYnVzX3Jlc3VsdF90CitAQCAtMTA3Miw5ICsx MDcyLDkgQEAgZ2xvYnVzX2dzaV9wcm94eV9zaWduX3JlcSgKKyAgICAgRVZQX1BLRVkgKiAgICAg ICAgICAgICAgICAgICAgICAgICAgcmVxX3B1YmtleSA9IE5VTEw7CisgICAgIGdsb2J1c19yZXN1 bHRfdCAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9IEdMT0JVU19TVUNDRVNTOworICAgICBp bnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXM7CistICAgIAorKworICAgICBH TE9CVVNfSV9HU0lfUFJPWFlfREVCVUdfRU5URVI7CistICAgIAorKworICAgICBpZihoYW5kbGUg PT0gTlVMTCB8fCBpc3N1ZXJfY3JlZGVudGlhbCA9PSBOVUxMKQorICAgICB7CisgICAgICAgICBH TE9CVVNfR1NJX1BST1hZX09QRU5TU0xfRVJST1JfUkVTVUxUKAorQEAgLTEwODMsNyArMTA4Myw3 IEBAIGdsb2J1c19nc2lfcHJveHlfc2lnbl9yZXEoCisgICAgICAgICAgICAgKF9QQ1NMKCJOVUxM IGhhbmRsZSBwYXNzZWQgdG8gZnVuY3Rpb246ICVzIiksIF9fZnVuY19fKSk7CisgICAgICAgICBn b3RvIGRvbmU7CisgICAgIH0KKy0gICAgCisrCisgICAgIGlmKG91dHB1dF9iaW8gPT0gTlVMTCkK KyAgICAgeworICAgICAgICAgR0xPQlVTX0dTSV9QUk9YWV9FUlJPUl9SRVNVTFQoCitAQCAtMTE0 MCwxNCArMTE0MCwxNCBAQCBnbG9idXNfZ3NpX3Byb3h5X3NpZ25fcmVxKAorIAorICAgICBpZihu ZXdfcGMpCisgICAgIHsKKy0gICAgICAgIFg1MDlfZnJlZShuZXdfcGMpOyAKKysgICAgICAgIFg1 MDlfZnJlZShuZXdfcGMpOworICAgICB9CistICAgIAorKworICAgICBpZihyZXFfcHVia2V5KQor ICAgICB7CisgICAgICAgICBFVlBfUEtFWV9mcmVlKHJlcV9wdWJrZXkpOworICAgICB9CistICAg IAorKworICAgICBHTE9CVVNfSV9HU0lfUFJPWFlfREVCVUdfRVhJVDsKKyAgICAgcmV0dXJuIHJl c3VsdDsKKyB9CitAQCAtMTE3Niw5ICsxMTc2LDkgQEAgZ2xvYnVzX2xfZ3NpX3Byb3h5X3NpZ25f a2V5KAorICAgICBBU04xX0lOVEVHRVIgKiAgICAgICAgICAgICAgICAgICAgICBzZXJpYWxfbnVt YmVyID0gTlVMTDsKKyAgICAgZ2xvYnVzX2dzaV9jZXJ0X3V0aWxzX2NlcnRfdHlwZV90ICAgcHJv eHlfdHlwZSA9IDA7CisgICAgIGdsb2J1c19nc2lfY2VydF91dGlsc19jZXJ0X3R5cGVfdCAgIG9s ZF90eXBlID0gMDsKKy0gICAgCisrCisgICAgIEdMT0JVU19JX0dTSV9QUk9YWV9ERUJVR19FTlRF UjsKKy0gICAgCisrCisgICAgIGlmKGhhbmRsZSA9PSBOVUxMIHx8IGlzc3Vlcl9jcmVkZW50aWFs ID09IE5VTEwpCisgICAgIHsKKyAgICAgICAgIEdMT0JVU19HU0lfUFJPWFlfT1BFTlNTTF9FUlJP Ul9SRVNVTFQoCitAQCAtMTE4Nyw3ICsxMTg3LDcgQEAgZ2xvYnVzX2xfZ3NpX3Byb3h5X3NpZ25f a2V5KAorICAgICAgICAgICAgIChfUENTTCgiTlVMTCBoYW5kbGUgcGFzc2VkIHRvIGZ1bmN0aW9u OiAlcyIpLCBfX2Z1bmNfXykpOworICAgICAgICAgZ290byBkb25lOworICAgICB9CistICAgIAor KworICAgICBpZihzaWduZWRfY2VydCA9PSBOVUxMKQorICAgICB7CisgICAgICAgICBHTE9CVVNf R1NJX1BST1hZX0VSUk9SX1JFU1VMVCgKK0BAIC0xMjE3LDcgKzEyMTcsNyBAQCBnbG9idXNfbF9n c2lfcHJveHlfc2lnbl9rZXkoCisgICAgIH0KKyAKKyAgICAgKnNpZ25lZF9jZXJ0ID0gTlVMTDsK Ky0gICAgCisrCisgICAgIHJlc3VsdCA9IGdsb2J1c19nc2lfY3JlZF9nZXRfY2VydChpc3N1ZXJf Y3JlZGVudGlhbCwgJmlzc3Vlcl9jZXJ0KTsKKyAgICAgaWYocmVzdWx0ICE9IEdMT0JVU19TVUND RVNTKQorICAgICB7CitAQCAtMTI3NCw3ICsxMjc0LDcgQEAgZ2xvYnVzX2xfZ3NpX3Byb3h5X3Np Z25fa2V5KAorICAgICB7CisgICAgICAgICBwY2lfTklEID0gT0JKX3R4dDJuaWQoUFJPWFlDRVJU SU5GT19PSUQpOworICAgICB9CistICAgIAorKworICAgICBpZihwY2lfTklEICE9IE5JRF91bmRl ZikKKyAgICAgeworICAgICAgICAgY29uc3QgRVZQX01EICogICAgICAgICAgICAgICAgICBzaGEx ID0gRVZQX3NoYTEoKTsKK0BAIC0xMjg3LDggKzEyODcsOCBAQCBnbG9idXNfbF9nc2lfcHJveHlf c2lnbl9rZXkoCisgCisgICAgICAgICBBU04xX2RpZ2VzdCgoaTJkX29mX3ZvaWQgKikgaTJkX1BV QktFWSxzaGExLChjaGFyICopIHB1YmxpY19rZXksbWQsJmxlbik7CisgCistICAgICAgICBzdWJf aGFzaCA9IG1kWzBdICsgKG1kWzFdICsgKG1kWzJdICsgKG1kWzNdID4+IDEpICogMjU2KSAqIDI1 NikgKiAyNTY7IAorLSAgICAgICAgCisrICAgICAgICBzdWJfaGFzaCA9IG1kWzBdICsgKG1kWzFd ICsgKG1kWzJdICsgKG1kWzNdID4+IDEpICogMjU2KSAqIDI1NikgKiAyNTY7CisrCisgICAgICAg ICBpZihoYW5kbGUtPmNvbW1vbl9uYW1lKQorICAgICAgICAgeworICAgICAgICAgICAgIGNvbW1v bl9uYW1lID0gc3RyZHVwKGhhbmRsZS0+Y29tbW9uX25hbWUpOworQEAgLTEzMDAsNyArMTMwMCw3 IEBAIGdsb2J1c19sX2dzaV9wcm94eV9zaWduX2tleSgKKyAgICAgICAgICAgICB9CisgICAgICAg ICB9CisgICAgICAgICBlbHNlCistICAgICAgICB7IAorKyAgICAgICAgeworICAgICAgICAgICAg IGNvbW1vbl9uYW1lID0gbWFsbG9jKHNpemVvZihsb25nKSo0ICsgMSk7CisgCisgICAgICAgICAg ICAgaWYoIWNvbW1vbl9uYW1lKQorQEAgLTEzMTAsMTcgKzEzMTAsMTcgQEAgZ2xvYnVzX2xfZ3Np X3Byb3h5X3NpZ25fa2V5KAorICAgICAgICAgICAgICAgICBnb3RvIGRvbmU7CisgICAgICAgICAg ICAgfQorIAorLSAgICAgICAgICAgIHNwcmludGYoY29tbW9uX25hbWUsICIlbGQiLCBzdWJfaGFz aCk7ICAgICAgICAKKysgICAgICAgICAgICBzcHJpbnRmKGNvbW1vbl9uYW1lLCAiJWxkIiwgc3Vi X2hhc2gpOworICAgICAgICAgfQorIAorICAgICAgICAgc2VyaWFsX251bWJlciA9IEFTTjFfSU5U RUdFUl9uZXcoKTsKKyAKKyAgICAgICAgIEFTTjFfSU5URUdFUl9zZXQoc2VyaWFsX251bWJlciwg c3ViX2hhc2gpOworLSAgICAgICAgCisrCisgICAgICAgICBpZihleHRfbWV0aG9kLT5pMmQpCisg ICAgICAgICB7CisgCistICAgICAgICBwY2lfREVSX2xlbmd0aCA9IGV4dF9tZXRob2QtPmkyZCho YW5kbGUtPnByb3h5X2NlcnRfaW5mbywgCisrICAgICAgICBwY2lfREVSX2xlbmd0aCA9IGV4dF9t ZXRob2QtPmkyZChoYW5kbGUtPnByb3h5X2NlcnRfaW5mbywKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIE5VTEwpOworICAgICAgICAgaWYocGNpX0RFUl9sZW5ndGgg PCAwKQorICAgICAgICAgeworQEAgLTEzMzEsNyArMTMzMSw3IEBAIGdsb2J1c19sX2dzaV9wcm94 eV9zaWduX2tleSgKKyAgICAgICAgICAgICAgICAgICIgdG8gREVSIGVuY29kZWQgZm9ybSIpKSk7 CisgICAgICAgICAgICAgZ290byBkb25lOworICAgICAgICAgfQorLSAgICAgICAgCisrCisgICAg ICAgICBwY2lfREVSID0gbWFsbG9jKHBjaV9ERVJfbGVuZ3RoKTsKKyAKKyAgICAgICAgIGlmKCFw Y2lfREVSKQorQEAgLTEzMzksNyArMTMzOSw3IEBAIGdsb2J1c19sX2dzaV9wcm94eV9zaWduX2tl eSgKKyAgICAgICAgICAgICBHTE9CVVNfR1NJX1BST1hZX01BTExPQ19FUlJPUihwY2lfREVSX2xl bmd0aCk7CisgICAgICAgICAgICAgZ290byBkb25lOworICAgICAgICAgfQorLSAgICAgICAgCisr CisgICAgICAgICBtb2RfcGNpX0RFUiA9IHBjaV9ERVI7CisgICAgICAgICBwY2lfREVSX2xlbmd0 aCA9IGV4dF9tZXRob2QtPmkyZChoYW5kbGUtPnByb3h5X2NlcnRfaW5mbywKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh1bnNpZ25lZCBjaGFyICoqKSAmbW9kX3Bj aV9ERVIpOworQEAgLTEzNTIsNyArMTM1Miw3IEBAIGdsb2J1c19sX2dzaV9wcm94eV9zaWduX2tl eSgKKyAgICAgICAgICAgICAgICAgICIgdG8gREVSIGVuY29kZWQgZm9ybSIpKSk7CisgICAgICAg ICAgICAgZ290byBkb25lOworICAgICAgICAgfQorLSAgICAgICAgCisrCisgICAgICAgICBwY2lf REVSX3N0cmluZyA9IEFTTjFfT0NURVRfU1RSSU5HX25ldygpOworICAgICAgICAgaWYocGNpX0RF Ul9zdHJpbmcgPT0gTlVMTCkKKyAgICAgICAgIHsKK0BAIC0xMzYzLDEzICsxMzYzLDEzIEBAIGds b2J1c19sX2dzaV9wcm94eV9zaWduX2tleSgKKyAgICAgICAgICAgICAgICAgICIgb2YgYSBQUk9Y WUNFUlRJTkZPIHN0cnVjdCIpKSk7CisgICAgICAgICAgICAgZ290byBkb25lOworICAgICAgICAg fQorLSAgICAgICAgCisrCisgICAgICAgICBwY2lfREVSX3N0cmluZy0+ZGF0YSA9IHBjaV9ERVI7 CisgICAgICAgICBwY2lfREVSX3N0cmluZy0+bGVuZ3RoID0gcGNpX0RFUl9sZW5ndGg7CistICAg ICAgICAKKysKKyAgICAgICAgIHBjaV9leHQgPSBYNTA5X0VYVEVOU0lPTl9jcmVhdGVfYnlfTklE KAorLSAgICAgICAgICAgICZwY2lfZXh0LCAKKy0gICAgICAgICAgICBwY2lfTklELCAKKysgICAg ICAgICAgICAmcGNpX2V4dCwKKysgICAgICAgICAgICBwY2lfTklELAorICAgICAgICAgICAgIDEs CisgICAgICAgICAgICAgcGNpX0RFUl9zdHJpbmcpOworIAorQEAgLTE0NzQsNyArMTQ3NCw3IEBA IGdsb2J1c19sX2dzaV9wcm94eV9zaWduX2tleSgKKyAgICAgICAgICAgICAgICAgWDUwOV9FWFRF TlNJT05fc2V0X2NyaXRpY2FsKHBjaV9leHQsIDEpOworICAgICAgICAgICAgIH0KKyAgICAgICAg IH0KKy0gICAgICAgIAorKworICAgICAgICAgaWYoIVg1MDlfYWRkX2V4dCgqc2lnbmVkX2NlcnQs IHBjaV9leHQsIDApKQorICAgICAgICAgeworICAgICAgICAgICAgIEdMT0JVU19HU0lfUFJPWFlf T1BFTlNTTF9FUlJPUl9SRVNVTFQoCitAQCAtMTUxMyw5ICsxNTEzLDkgQEAgZ2xvYnVzX2xfZ3Np X3Byb3h5X3NpZ25fa2V5KAorICAgICAgICAgICAgICAgICByZXN1bHQsCisgICAgICAgICAgICAg ICAgIEdMT0JVU19HU0lfUFJPWFlfRVJST1JfV0lUSF9YNTA5X0VYVEVOU0lPTlMsCisgICAgICAg ICAgICAgICAgIChfUENTTCgiQ291bGRuJ3QgZ2V0IGtleVVzYWdlIGV4dGVuc2lvbiBmcm9tIGlz c3VlciBjZXJ0IikpKTsKKy0gICAgICAgICAgICBnb3RvIGRvbmU7ICAgICAgICAgICAgCisrICAg ICAgICAgICAgZ290byBkb25lOworICAgICAgICAgfQorLSAgICAgICAgCisrCisgICAgICAgICBp ZighKHVzYWdlID0gWDUwOV9nZXRfZXh0X2QyaShpc3N1ZXJfY2VydCwgTklEX2tleV91c2FnZSwg TlVMTCwgTlVMTCkpKQorICAgICAgICAgeworICAgICAgICAgICAgIEdMT0JVU19HU0lfUFJPWFlf T1BFTlNTTF9FUlJPUl9SRVNVTFQoCitAQCAtMTUyNywxMCArMTUyNywxMCBAQCBnbG9idXNfbF9n c2lfcHJveHlfc2lnbl9rZXkoCisgICAgICAgICB9CisgCisgICAgICAgICAvKiBjbGVhciBiaXRz IHNwZWNpZmllZCBpbiBkcmFmdCAqLworLSAgICAgICAgCisrCisgICAgICAgICBBU04xX0JJVF9T VFJJTkdfc2V0X2JpdCh1c2FnZSwgMSwgMCk7IC8qIE5vbiBSZXB1ZGlhdGlvbiAqLworICAgICAg ICAgQVNOMV9CSVRfU1RSSU5HX3NldF9iaXQodXNhZ2UsIDUsIDApOyAvKiBDZXJ0aWZpY2F0ZSBT aWduICovCistICAgICAgICAKKysKKyAgICAgICAgIGt1X0RFUl9sZW5ndGggPSBpMmRfQVNOMV9C SVRfU1RSSU5HKHVzYWdlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgTlVMTCk7CisgICAgICAgICBpZihrdV9ERVJfbGVuZ3RoIDwgMCkKK0BAIC0xNTQzLDcg KzE1NDMsNyBAQCBnbG9idXNfbF9nc2lfcHJveHlfc2lnbl9rZXkoCisgICAgICAgICAgICAgQVNO MV9CSVRfU1RSSU5HX2ZyZWUodXNhZ2UpOworICAgICAgICAgICAgIGdvdG8gZG9uZTsKKyAgICAg ICAgIH0KKy0gICAgICAgIAorKworICAgICAgICAga3VfREVSID0gbWFsbG9jKGt1X0RFUl9sZW5n dGgpOworIAorICAgICAgICAgaWYoIWt1X0RFUikKK0BAIC0xNTUyLDcgKzE1NTIsNyBAQCBnbG9i dXNfbF9nc2lfcHJveHlfc2lnbl9rZXkoCisgICAgICAgICAgICAgQVNOMV9CSVRfU1RSSU5HX2Zy ZWUodXNhZ2UpOworICAgICAgICAgICAgIGdvdG8gZG9uZTsKKyAgICAgICAgIH0KKy0gICAgICAg IAorKworICAgICAgICAgbW9kX2t1X0RFUiA9IGt1X0RFUjsKKyAKKyAgICAgICAgIGt1X0RFUl9s ZW5ndGggPSBpMmRfQVNOMV9CSVRfU1RSSU5HKHVzYWdlLAorQEAgLTE1NjksOCArMTU2OSw4IEBA IGdsb2J1c19sX2dzaV9wcm94eV9zaWduX2tleSgKKyAgICAgICAgICAgICBnb3RvIGRvbmU7Cisg ICAgICAgICB9CisgCistICAgICAgICBBU04xX0JJVF9TVFJJTkdfZnJlZSh1c2FnZSk7ICAgICAg ICAKKy0gICAgICAgIAorKyAgICAgICAgQVNOMV9CSVRfU1RSSU5HX2ZyZWUodXNhZ2UpOworKwor ICAgICAgICAga3VfREVSX3N0cmluZyA9IEFTTjFfT0NURVRfU1RSSU5HX25ldygpOworICAgICAg ICAgaWYoa3VfREVSX3N0cmluZyA9PSBOVUxMKQorICAgICAgICAgeworQEAgLTE1ODIsNyArMTU4 Miw3IEBAIGdsb2J1c19sX2dzaV9wcm94eV9zaWduX2tleSgKKyAgICAgICAgICAgICBmcmVlKGt1 X0RFUik7CisgICAgICAgICAgICAgZ290byBkb25lOworICAgICAgICAgfQorLSAgICAgICAgCisr CisgICAgICAgICBrdV9ERVJfc3RyaW5nLT5kYXRhID0ga3VfREVSOworICAgICAgICAga3VfREVS X3N0cmluZy0+bGVuZ3RoID0ga3VfREVSX2xlbmd0aDsKKyAKK0BAIC0xNTkzLDcgKzE1OTMsNyBA QCBnbG9idXNfbF9nc2lfcHJveHlfc2lnbl9rZXkoCisgICAgICAgICAgICAga3VfREVSX3N0cmlu Zyk7CisgCisgICAgICAgICBBU04xX09DVEVUX1NUUklOR19mcmVlKGt1X0RFUl9zdHJpbmcpOwor LSAgICAgICAgCisrCisgICAgICAgICBpZihleHRlbnNpb24gPT0gTlVMTCkKKyAgICAgICAgIHsK KyAgICAgICAgICAgICBHTE9CVVNfR1NJX1BST1hZX09QRU5TU0xfRVJST1JfUkVTVUxUKAorQEAg LTE2MDIsNyArMTYwMiw3IEBAIGdsb2J1c19sX2dzaV9wcm94eV9zaWduX2tleSgKKyAgICAgICAg ICAgICAgICAgKF9QQ1NMKCJDb3VsZG4ndCBjcmVhdGUgbmV3IGtleVVzYWdlIGV4dGVuc2lvbiIp KSk7CisgICAgICAgICAgICAgZ290byBkb25lOworICAgICAgICAgfQorLSAgICAgICAgCisrCisg ICAgICAgICBpZighWDUwOV9hZGRfZXh0KCpzaWduZWRfY2VydCwgZXh0ZW5zaW9uLCAwKSkKKyAg ICAgICAgIHsKKyAgICAgICAgICAgICBHTE9CVVNfR1NJX1BST1hZX09QRU5TU0xfRVJST1JfUkVT VUxUKAorQEAgLTE2MjUsNyArMTYyNSw3IEBAIGdsb2J1c19sX2dzaV9wcm94eV9zaWduX2tleSgK KyAgICAgICAgICAgICAgICAgcmVzdWx0LAorICAgICAgICAgICAgICAgICBHTE9CVVNfR1NJX1BS T1hZX0VSUk9SX1dJVEhfWDUwOV9FWFRFTlNJT05TLAorICAgICAgICAgICAgICAgICAoX1BDU0wo IkNvdWxkbid0IGdldCBleHRlbmRlZEtleVVzYWdlIGV4dGVuc2lvbiBmb3JtIGlzc3VlciBjZXJ0 IikpKTsKKy0gICAgICAgICAgICBnb3RvIGRvbmU7ICAgICAgICAgICAgCisrICAgICAgICAgICAg Z290byBkb25lOworICAgICAgICAgfQorIAorICAgICAgICAgZXh0ZW5zaW9uID0gWDUwOV9FWFRF TlNJT05fZHVwKGV4dGVuc2lvbik7CitAQCAtMTY1NSw3ICsxNjU1LDcgQEAgZ2xvYnVzX2xfZ3Np X3Byb3h5X3NpZ25fa2V5KAorICAgICBpZiAoaGFuZGxlLT5leHRlbnNpb25zICE9IE5VTEwpCisg ICAgIHsKKyAgICAgICAgIGludCBpbmRleDsKKy0gICAgICAgIAorKworICAgICAgICAgLyoKKyAg ICAgICAgICAqIFRoZXJlIGRvZXNuJ3Qgc2VlbSB0byBiZSBhIGZ1bmN0aW9uIHRvIGFkZCBhIHN0 YWNrIG9mIGV4dGVuc2lvbnMKKyAgICAgICAgICAqIHRvIGEgWDUwOSBzdHJ1Y3R1cmUsIHNvIHdl IGRvIGl0IGl0ZXJhdGl2ZWx5LgorQEAgLTE2NjcsNyArMTY2Nyw3IEBAIGdsb2J1c19sX2dzaV9w cm94eV9zaWduX2tleSgKKyAgICAgICAgICAgICBYNTA5X0VYVEVOU0lPTiAqZXh0OworIAorICAg ICAgICAgICAgIGV4dCA9IHNrX1g1MDlfRVhURU5TSU9OX3ZhbHVlKGhhbmRsZS0+ZXh0ZW5zaW9u cywgaW5kZXgpOworLSAgICAgICAgICAgIAorKworICAgICAgICAgICAgIGlmKCFYNTA5X2FkZF9l eHQoCisgICAgICAgICAgICAgICAgICAgICpzaWduZWRfY2VydCwKKyAgICAgICAgICAgICAgICAg ICAgZXh0LAorQEAgLTE2NzgsNyArMTY3OCw3IEBAIGdsb2J1c19sX2dzaV9wcm94eV9zaWduX2tl eSgKKyAgICAgICAgICAgICAgICAgICAgIEdMT0JVU19HU0lfUFJPWFlfRVJST1JfV0lUSF9YNTA5 X0VYVEVOU0lPTlMsCisgICAgICAgICAgICAgICAgICAgICAoX1BDU0woIkNvdWxkbid0IGFkZCBY LjUwOSBleHRlbnNpb24gdG8gbmV3IHByb3h5IGNlcnQiKSkpOworICAgICAgICAgICAgICAgICBn b3RvIGRvbmU7CistICAgICAgICAgICAgfSAgICAgICAgCisrICAgICAgICAgICAgfQorICAgICAg ICAgfQorICAgICB9CisgCitAQCAtMTcxOSw4ICsxNzE5LDggQEAgZ2xvYnVzX2xfZ3NpX3Byb3h5 X3NpZ25fa2V5KAorICAgICAgICAgZ290byBkb25lOworICAgICB9CisgCistICAgIHJlc3VsdCA9 IGdsb2J1c19pX2dzaV9wcm94eV9zZXRfcGNfdGltZXMoKnNpZ25lZF9jZXJ0LCBpc3N1ZXJfY2Vy dCwgCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxl LT5hdHRycy0+Y2xvY2tfc2tldywgCisrICAgIHJlc3VsdCA9IGdsb2J1c19pX2dzaV9wcm94eV9z ZXRfcGNfdGltZXMoKnNpZ25lZF9jZXJ0LCBpc3N1ZXJfY2VydCwKKysgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGUtPmF0dHJzLT5jbG9ja19za2V3LAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZS0+dGlt ZV92YWxpZCk7CisgICAgIGlmKHJlc3VsdCAhPSBHTE9CVVNfU1VDQ0VTUykKKyAgICAgeworQEAg LTE3MjksNyArMTcyOSw3IEBAIGdsb2J1c19sX2dzaV9wcm94eV9zaWduX2tleSgKKyAgICAgICAg ICAgICBHTE9CVVNfR1NJX1BST1hZX0VSUk9SX1dJVEhfWDUwOSk7CisgICAgICAgICBnb3RvIGRv bmU7CisgICAgIH0KKy0gICAgCisrCisgICAgIGlmKCFYNTA5X3NldF9wdWJrZXkoKnNpZ25lZF9j ZXJ0LCBwdWJsaWNfa2V5KSkKKyAgICAgeworICAgICAgICAgR0xPQlVTX0dTSV9QUk9YWV9PUEVO U1NMX0VSUk9SX1JFU1VMVCgKK0BAIC0xNzQ4LDcgKzE3NDgsNyBAQCBnbG9idXNfbF9nc2lfcHJv eHlfc2lnbl9rZXkoCisgICAgICAgICAgICAgR0xPQlVTX0dTSV9QUk9YWV9FUlJPUl9XSVRIX0NS RURFTlRJQUwpOworICAgICAgICAgZ290byBkb25lOworICAgICB9CistICAgIAorKworICAgICAv KiByaWdodCBub3cgaWYgTUQ1IGlzbid0IHJlcXVlc3RlZCBhcyB0aGUgc2lnbmluZyBhbGdvcml0 aG0sCisgICAgICAqIHdlIHRocm93IGFuIGVycm9yCisgICAgICAqLworQEAgLTE3NjMsNyArMTc2 Myw3IEBAIGdsb2J1c19sX2dzaV9wcm94eV9zaWduX2tleSgKKyAgICAgICAgICAgICAiIGJlIHVz ZWQgdG8gc2lnbiBhIHByb3h5LiIpKSk7CisgICAgICAgICBnb3RvIGRvbmU7CisgICAgIH0KKy0g ICAgaWYgKGhhbmRsZS0+YXR0cnMtPnNpZ25pbmdfYWxnb3JpdGhtICE9IE5VTEwgJiYgCisrICAg IGlmIChoYW5kbGUtPmF0dHJzLT5zaWduaW5nX2FsZ29yaXRobSAhPSBOVUxMICYmCisgICAgICAg ICBFVlBfTURfdHlwZShoYW5kbGUtPmF0dHJzLT5zaWduaW5nX2FsZ29yaXRobSkgIT0KKyAgICAg ICAgIEVWUF9NRF90eXBlKGlzc3Vlcl9kaWdlc3QpKQorICAgICB7CitAQCAtMTc3Niw3ICsxNzc2 LDcgQEAgZ2xvYnVzX2xfZ3NpX3Byb3h5X3NpZ25fa2V5KAorICAgICAgICAgICAgICBPQkpfbmlk MnNuKEVWUF9NRF90eXBlKGlzc3Vlcl9kaWdlc3QpKSkpOworICAgICAgICAgZ290byBkb25lOwor ICAgICB9CistICAgIAorKworICAgICBpZighWDUwOV9zaWduKCpzaWduZWRfY2VydCwgaXNzdWVy X3BrZXksIGlzc3Vlcl9kaWdlc3QpKQorICAgICB7CisgICAgICAgICBHTE9CVVNfR1NJX1BST1hZ X09QRU5TU0xfRVJST1JfUkVTVUxUKAorQEAgLTE4MDYsMTcgKzE4MDYsMTcgQEAgZ2xvYnVzX2xf Z3NpX3Byb3h5X3NpZ25fa2V5KAorIAorICAgICBpZihyZXN1bHQgIT0gR0xPQlVTX1NVQ0NFU1Mg JiYgKnNpZ25lZF9jZXJ0KQorICAgICB7CistICAgICAgICBYNTA5X2ZyZWUoKnNpZ25lZF9jZXJ0 KTsgCisrICAgICAgICBYNTA5X2ZyZWUoKnNpZ25lZF9jZXJ0KTsKKyAgICAgICAgICpzaWduZWRf Y2VydCA9IE5VTEw7CisgICAgIH0KKy0gICAgCisrCisgICAgIGlmKHBjaV9OSUQgIT0gTklEX3Vu ZGVmKQorICAgICB7CisgICAgICAgICBpZihwY2lfZXh0KQorICAgICAgICAgeworICAgICAgICAg ICAgIFg1MDlfRVhURU5TSU9OX2ZyZWUocGNpX2V4dCk7CisgICAgICAgICB9CistICAgICAgICAK KysKKyAgICAgICAgICNpZmRlZiBXSU4zMgorICAgICAgICAgLyogSW4gV2luMzIgY2FuJ3QgbWl4 IGxpYnJhcnkgYW5kIE9wZW5TU0wgdmVyc2lvbnMgb2YgZnJlZSAqLworICAgICAgICAgLyogICAg IHNvIHBjaV9ERVIgY2FuJ3QgYmUgZnJlZWQgaW4gQVNOMV9PQ1RFVF9TVFJJTkdfZnJlZSAqLwor QEAgLTE4MzMsNyArMTgzMyw3IEBAIGdsb2J1c19sX2dzaV9wcm94eV9zaWduX2tleSgKKyAgICAg ICAgICAgICBwY2lfREVSX3N0cmluZyA9IE5VTEw7CisgICAgICAgICB9CisgICAgICAgICAjZWxz ZQorLSAgICAgICAgCisrCisgICAgICAgICBpZihwY2lfREVSX3N0cmluZykKKyAgICAgICAgIHsK KyAgICAgICAgICAgICBBU04xX09DVEVUX1NUUklOR19mcmVlKHBjaV9ERVJfc3RyaW5nKTsKK0BA IC0xODQzLDcgKzE4NDMsNyBAQCBnbG9idXNfbF9nc2lfcHJveHlfc2lnbl9rZXkoCisgICAgICAg ICAgICAgZnJlZShwY2lfREVSKTsKKyAgICAgICAgIH0KKyAgICAgICAgICNlbmRpZgorLSAgICAg ICAgICAgICAgICAKKysKKyAgICAgICAgIGlmKHNlcmlhbF9udW1iZXIpCisgICAgICAgICB7Cisg ICAgICAgICAgICAgQVNOMV9JTlRFR0VSX2ZyZWUoc2VyaWFsX251bWJlcik7CitAQCAtMTg2NSw5 ICsxODY1LDkgQEAgZ2xvYnVzX2xfZ3NpX3Byb3h5X3NpZ25fa2V5KAorICAqIEBwYXJhbSBpc3N1 ZXIKKyAgKiAgICAgICAgVGhlIGlzc3VpbmcgY3JlZGVudGlhbCwgdXNlZCBmb3Igc2lnbmluZyB0 aGUgcHJveHkgY2VydGlmaWNhdGUKKyAgKiBAcGFyYW0gcHJveHlfY3JlZGVudGlhbAorLSAqICAg ICAgICBUaGUgbmV3IHByb3h5IGNyZWRlbnRpYWwsIGNvbnRhaW5pbmcgdGhlIHNpZ25lZCBjZXJ0 LCAKKysgKiAgICAgICAgVGhlIG5ldyBwcm94eSBjcmVkZW50aWFsLCBjb250YWluaW5nIHRoZSBz aWduZWQgY2VydCwKKyAgKiAgICAgICAgcHJpdmF0ZSBrZXksIGV0Yy4KKy0gKiAKKysgKgorICAq IEByZXR1cm4KKyAgKiAgICAgICAgR0xPQlVTX1NVQ0NFU1MgaWYgbm8gZXJyb3Igb2NjdXJyZWQs IGFuIGVycm9yIG9iamVjdCBJRCBvdGhlcndpc2UKKyAgKi8KK0BAIC0xOTI5LDcgKzE5MjksNyBA QCBnbG9idXNfZ3NpX3Byb3h5X2NyZWF0ZV9zaWduZWQoCisgICAgICAgICAgICAgKF9QQ1NMKCJD YW4ndCBjcmVhdGUgbWVtb3J5IEJJTyBmb3IgcmVhZGluZyBhbmQgd3JpdGluZyIpKSk7CisgICAg ICAgICBnb3RvIGV4aXQ7CisgICAgIH0KKy0gICAgCisrCisgICAgIHJlc3VsdCA9IGdsb2J1c19n c2lfcHJveHlfY3JlYXRlX3JlcShoYW5kbGUsIHJ3X21lbV9iaW8pOworICAgICBpZihyZXN1bHQg IT0gR0xPQlVTX1NVQ0NFU1MpCisgICAgIHsKK0BAIC0yMDA0LDcgKzIwMDQsNyBAQCBnbG9idXNf Z3NpX3Byb3h5X2NyZWF0ZV9zaWduZWQoCisgICAgICAgICAgICAgR0xPQlVTX0dTSV9QUk9YWV9F UlJPUl9XSVRIX0hBTkRMRSk7CisgICAgICAgICBnb3RvIGV4aXQ7CisgICAgIH0KKy0gICAgCisr CisgICAgIHJlc3VsdCA9IGdsb2J1c19nc2lfcHJveHlfaGFuZGxlX3NldF9leHRlbnNpb25zKAor ICAgICAgICAgaW5xdWlyZV9oYW5kbGUsCisgICAgICAgICBoYW5kbGUtPmV4dGVuc2lvbnMpOwor QEAgLTIwNTIsNyArMjA1Miw3IEBAIGdsb2J1c19nc2lfcHJveHlfY3JlYXRlX3NpZ25lZCgKKyAg ICAgICAgICsrY2hhaW5faW5kZXgpCisgICAgIHsKKyAgICAgICAgIFg1MDkgKiAgICAgICAgICAg ICAgICAgICAgICAgICAgY2hhaW5fY2VydCA9CistICAgICAgICAgICAgc2tfWDUwOV92YWx1ZShp c3N1ZXJfY2VydF9jaGFpbiwgCisrICAgICAgICAgICAgc2tfWDUwOV92YWx1ZShpc3N1ZXJfY2Vy dF9jaGFpbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYWluX2luZGV4KTsKKyAgICAg ICAgIGlmKCFpMmRfWDUwOV9iaW8ocndfbWVtX2JpbywgY2hhaW5fY2VydCkpCisgICAgICAgICB7 CitAQCAtMjA3MCw4ICsyMDcwLDggQEAgZ2xvYnVzX2dzaV9wcm94eV9jcmVhdGVfc2lnbmVkKAor ICAgICByZXN1bHQgPSBnbG9idXNfZ3NpX3Byb3h5X2hhbmRsZV9kZXN0cm95KGlucXVpcmVfaGFu ZGxlKTsKKyAgICAgaW5xdWlyZV9oYW5kbGUgPSBOVUxMOworIAorLSAgICByZXN1bHQgPSBnbG9i dXNfZ3NpX3Byb3h5X2Fzc2VtYmxlX2NyZWQoaGFuZGxlLCAKKy0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHByb3h5X2NyZWRlbnRpYWwsIAorKyAgICByZXN1bHQg PSBnbG9idXNfZ3NpX3Byb3h5X2Fzc2VtYmxlX2NyZWQoaGFuZGxlLAorKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJveHlfY3JlZGVudGlhbCwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ3X21lbV9iaW8pOworICAgICBp ZihyZXN1bHQgIT0gR0xPQlVTX1NVQ0NFU1MpCisgICAgIHsKK0BAIC0yMTcwLDE3ICsyMTcwLDE3 IEBAIGdsb2J1c19nc2lfcHJveHlfYXNzZW1ibGVfY3JlZCgKKyAgICAgICAgICAgICAgIkRFUiBl bmNvZGVkIHRvIGludGVybmFsIGZvcm0iKSkpOworICAgICAgICAgZ290byBkb25lOworICAgICB9 CistICAgIAorKworICAgICByZXN1bHQgPSBnbG9idXNfZ3NpX2NyZWRfaGFuZGxlX2F0dHJzX2lu aXQoJmNyZWRfaGFuZGxlX2F0dHJzKTsKKyAgICAgaWYocmVzdWx0ICE9IEdMT0JVU19TVUNDRVNT KQorICAgICB7CisgICAgICAgICBHTE9CVVNfR1NJX1BST1hZX0VSUk9SX0NIQUlOX1JFU1VMVCgK KyAgICAgICAgICAgICByZXN1bHQsCistICAgICAgICAgICAgR0xPQlVTX0dTSV9QUk9YWV9FUlJP Ul9XSVRIX0NSRURfSEFORExFX0FUVFJTKTsgICAgICAgIAorKyAgICAgICAgICAgIEdMT0JVU19H U0lfUFJPWFlfRVJST1JfV0lUSF9DUkVEX0hBTkRMRV9BVFRSUyk7CisgICAgICAgICBnb3RvIGZy ZWVfc2lnbmVkX2NlcnQ7CisgICAgIH0KKyAKKy0gICAgcmVzdWx0ID0gZ2xvYnVzX2dzaV9jcmVk X2hhbmRsZV9pbml0KHByb3h5X2NyZWRlbnRpYWwsIAorKyAgICByZXN1bHQgPSBnbG9idXNfZ3Np X2NyZWRfaGFuZGxlX2luaXQocHJveHlfY3JlZGVudGlhbCwKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGNyZWRfaGFuZGxlX2F0dHJzKTsKKyAgICAgaWYocmVzdWx0 ICE9IEdMT0JVU19TVUNDRVNTKQorICAgICB7CitAQCAtMjIzMSw3ICsyMjMxLDcgQEAgZ2xvYnVz X2dzaV9wcm94eV9hc3NlbWJsZV9jcmVkKAorICAgICAgICAgICAgICAgICAoX1BDU0woIkNhbid0 IHJlYWQgREVSIGVuY29kZWQgWC41MDkgY2VydCBmcm9tIEJJTyIpKSk7CisgICAgICAgICAgICAg Z290byBmcmVlX2NyZWRfaGFuZGxlOworICAgICAgICAgfQorLSAgICAgICAgCisrCisgICAgICAg ICBza19YNTA5X3B1c2goY2VydF9jaGFpbiwgdG1wX2NlcnQpOworICAgICB9CisgCitAQCAtMjI3 Nyw3ICsyMjc3LDcgQEAgZ2xvYnVzX2dzaV9wcm94eV9hc3NlbWJsZV9jcmVkKAorICAqIHRoaXMg Y291bGQgYmUgbW9kaWZpZWQgdG8gcmV0dXJuIG1vcmUgc3RhdHVzIGluZm9ybWF0aW9uCisgICog aWYgcmVxdWlyZWQuCisgICovCistdm9pZCAKKyt2b2lkCisgZ2xvYnVzX2lfZ3NpX3Byb3h5X2Ny ZWF0ZV9wcml2YXRlX2tleV9jYigKKyAgICAgaW50ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgbnVtMSwKKyAgICAgaW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbnVt MiwKK0BAIC0yMjkzLDcgKzIyOTMsNyBAQCBnbG9idXNfaV9nc2lfcHJveHlfY3JlYXRlX3ByaXZh dGVfa2V5X2NiKAorICAqIFRha2VzIHRoZSBuZXcgcHJveHkgY2VydCBhbmQgc2V0cyB0aGUgdmFs aWQgc3RhcnQKKyAgKiBhbmQgZW5kIHRpbWVzIG9mIHRoZSBjZXJ0CisgICovCistZ2xvYnVzX3Jl c3VsdF90IAorK2dsb2J1c19yZXN1bHRfdAorIGdsb2J1c19pX2dzaV9wcm94eV9zZXRfcGNfdGlt ZXMoCisgICAgIFg1MDkgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld19wYywKKyAg ICAgWDUwOSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNzdWVyX2NlcnQsCitAQCAt MjMxNCw5ICsyMzE0LDkgQEAgZ2xvYnVzX2lfZ3NpX3Byb3h5X3NldF9wY190aW1lcygKKyAgICAg ICAgICAgICByZXN1bHQsCisgICAgICAgICAgICAgR0xPQlVTX0dTSV9QUk9YWV9JTlZBTElEX1BB UkFNRVRFUiwKKyAgICAgICAgICAgICAoX1BDU0woIk92ZXJmbG93IGluIHRpbWUgdmFsdWUiKSkp OworLSAgICAgICAgZ290byBleGl0OyAgICAgICAgCisrICAgICAgICBnb3RvIGV4aXQ7CisgICAg IH0KKy0gICAgCisrCisgICAgIC8qIGFkanVzdCBmb3IgdGhlIGFsbG93YWJsZSBza2V3ICovCisg ICAgIGlmKFg1MDlfZ210aW1lX2FkaihYNTA5X2dldF9ub3RCZWZvcmUobmV3X3BjKSwgKC0gc2tl d19hbGxvd2FibGUpKSA9PSBOVUxMKQorICAgICB7CitAQCAtMjMzMyw3ICsyMzMzLDcgQEAgZ2xv YnVzX2lfZ3NpX3Byb3h5X3NldF9wY190aW1lcygKKyAgICAgaWYodGltZV92YWxpZCA9PSAwIHx8 CisgICAgICAgIFg1MDlfY21wX3RpbWUoWDUwOV9nZXRfbm90QWZ0ZXIoaXNzdWVyX2NlcnQpLCAm IHRtcF90aW1lKSA8IDApCisgICAgIHsKKy0gICAgICAgIGlmKChwY19ub3RBZnRlciA9IAorKyAg ICAgICAgaWYoKHBjX25vdEFmdGVyID0KKyAgICAgICAgICAgICBBU04xX2R1cF9vZihBU04xX1VU Q1RJTUUsIGkyZF9BU04xX1VUQ1RJTUUsIGQyaV9BU04xX1VUQ1RJTUUsIFg1MDlfZ2V0X25vdEFm dGVyKGlzc3Vlcl9jZXJ0KSkpID09IE5VTEwpCisgICAgICAgICB7CisgICAgICAgICAgICAgR0xP QlVTX0dTSV9QUk9YWV9PUEVOU1NMX0VSUk9SX1JFU1VMVCgKK0BAIC0yMzU0LDcgKzIzNTQsNyBA QCBnbG9idXNfaV9nc2lfcHJveHlfc2V0X3BjX3RpbWVzKAorICAgICAgICAgICAgICAgICAoX1BD U0woIkVycm9yIGNyZWF0aW5nIG5ldyBBU04xX1VUQ1RJTUUgZm9yIGV4cGlyYXRpb24gZGF0ZSAi CisgICAgICAgICAgICAgICAgICAib2YgcHJveHkgY2VydCIpKSk7CisgICAgICAgICB9CistICAg ICAgICAKKysKKyAgICAgICAgIGlmKFg1MDlfZ210aW1lX2FkaihwY19ub3RBZnRlciwgKChsb25n KSA2MCAqIHRpbWVfdmFsaWQpKSA9PSBOVUxMKQorICAgICAgICAgeworICAgICAgICAgICAgIEdM T0JVU19HU0lfUFJPWFlfT1BFTlNTTF9FUlJPUl9SRVNVTFQoCitAQCAtMjM2NCw3ICsyMzY0LDcg QEAgZ2xvYnVzX2lfZ3NpX3Byb3h5X3NldF9wY190aW1lcygKKyAgICAgICAgICAgICBnb3RvIGZy ZWVfcGNfbm90YWZ0ZXI7CisgICAgICAgICB9CisgICAgIH0KKy0gICAgCisrCisgICAgIGlmKCFY NTA5X3NldF9ub3RBZnRlcihuZXdfcGMsIHBjX25vdEFmdGVyKSkKKyAgICAgeworICAgICAgICAg R0xPQlVTX0dTSV9QUk9YWV9PUEVOU1NMX0VSUk9SX1JFU1VMVCgKK0BAIC0yMzc3LDcgKzIzNzcs NyBAQCBnbG9idXNfaV9nc2lfcHJveHlfc2V0X3BjX3RpbWVzKAorICAgICByZXN1bHQgPSBHTE9C VVNfU1VDQ0VTUzsKKyAKKyAgZnJlZV9wY19ub3RhZnRlcjoKKy0gICAgCisrCisgICAgIGlmKHBj X25vdEFmdGVyICE9IE5VTEwpCisgICAgIHsKKyAgICAgICAgIEFTTjFfVVRDVElNRV9mcmVlKHBj X25vdEFmdGVyKTsKK0BAIC0yMzkzLDcgKzIzOTMsNyBAQCBnbG9idXNfaV9nc2lfcHJveHlfc2V0 X3BjX3RpbWVzKAorICAqIFRha2VzIHRoZSBuZXcgcHJveHkgY2VydCBhbmQgc2V0cyB0aGUgc3Vi amVjdAorICAqIGJhc2VkIG9uIHRoZSBzdWJqZWN0IG9mIHRoZSBpc3N1ZXIgY2VydAorICAqLwor LWdsb2J1c19yZXN1bHRfdCAKKytnbG9idXNfcmVzdWx0X3QKKyBnbG9idXNfaV9nc2lfcHJveHlf c2V0X3N1YmplY3QoCisgICAgIFg1MDkgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5l d19wYywKKyAgICAgWDUwOSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNzdWVyX2Nl cnQsCitAQCAtMjQxNCwxNCArMjQxNCwxNCBAQCBnbG9idXNfaV9nc2lfcHJveHlfc2V0X3N1Ympl Y3QoCisgICAgICAgICAgICAgKF9QQ1NMKCJFcnJvciBjb3B5aW5nIHN1YmplY3QgbmFtZSBvZiBw cm94eSBjZXJ0IikpKTsKKyAgICAgICAgIGdvdG8gZG9uZTsKKyAgICAgfQorLSAgICAgICAKKy0g ICAgaWYoKHBjX25hbWVfZW50cnkgPSAKKysKKysgICAgaWYoKHBjX25hbWVfZW50cnkgPQorICAg ICAgICBYNTA5X05BTUVfRU5UUllfY3JlYXRlX2J5X05JRCgmIHBjX25hbWVfZW50cnksIE5JRF9j b21tb25OYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWX0FTTjFf QVBQX0NIT09TRSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHVuc2ln bmVkIGNoYXIgKikgY29tbW9uX25hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIC0xKSkgPT0gTlVMTCkKKyAgICAgeworLSAgICAgICAgCisrCisgICAgICAgICBHTE9C VVNfR1NJX1BST1hZX09QRU5TU0xfRVJST1JfUkVTVUxUKAorICAgICAgICAgICAgIHJlc3VsdCwK KyAgICAgICAgICAgICBHTE9CVVNfR1NJX1BST1hZX0VSUk9SX1dJVEhfWDUwOSwKK0BAIC0yNDM5 LDcgKzI0MzksNyBAQCBnbG9idXNfaV9nc2lfcHJveHlfc2V0X3N1YmplY3QoCisgICAgICAgICAg ICAgKF9QQ1NMKCJFcnJvciBzZXR0aW5nIGNvbW1vbiBuYW1lIG9mIHN1YmplY3QgaW4gcHJveHkg Y2VydCIpKSk7CisgICAgICAgICBnb3RvIGZyZWVfcGNfbmFtZV9lbnRyeTsKKyAgICAgfQorLSAg ICAKKysKKyAgICAgcmVzdWx0ID0gR0xPQlVTX1NVQ0NFU1M7CisgCisgIGZyZWVfcGNfbmFtZV9l bnRyeToKK0BAIC0yNjU0LDcgKzI2NTQsNyBAQCBnbG9idXNfbF9nc2lfcHJveHlfZGV0ZXJtaW5l X3R5cGUoCisgICAgICAgICB9CisgICAgIH0KKyAgICAgLyogVmVyaWZ5IHRoYXQgdGhlIHNlbGVj dGVkIHByb3h5IHR5cGUgaXMgY29tcGF0aWJsZSB3aXRoIHRoZSBpc3N1ZXIncworLSAgICAgKiB0 eXBlLiBJbXBlcnNvbmF0aW9uIG9yIEVFQyBjYW4gc2lnbiBhbnl0aGluZywgb3RoZXJ3aXNlLCB0 aGUgdHlwZSAKKysgICAgICogdHlwZS4gSW1wZXJzb25hdGlvbiBvciBFRUMgY2FuIHNpZ24gYW55 dGhpbmcsIG90aGVyd2lzZSwgdGhlIHR5cGUKKyAgICAgICogbXVzdCBiZSB0aGUgc2FtZT8KKyAg ICAgICovCisgICAgIGlmICgoKHJlcXVlc3RlZF9jZXJ0X3R5cGUgJiBHTE9CVVNfR1NJX0NFUlRf VVRJTFNfVFlQRV9QUk9YWV9NQVNLKSAhPQorZGlmZiAtLWdpdCBhL2dzaS9wcm94eS9wcm94eV9j b3JlL3NvdXJjZS9saWJyYXJ5L2dsb2J1c19nc2lfcHJveHlfaGFuZGxlLmMgYi9nc2kvcHJveHkv cHJveHlfY29yZS9zb3VyY2UvbGlicmFyeS9nbG9idXNfZ3NpX3Byb3h5X2hhbmRsZS5jCitpbmRl eCAwZTBkZGYwMTguLjkxNmY4OGI3MiAxMDA2NDQKKy0tLSBhL2dzaS9wcm94eS9wcm94eV9jb3Jl L3NvdXJjZS9saWJyYXJ5L2dsb2J1c19nc2lfcHJveHlfaGFuZGxlLmMKKysrKyBiL2dzaS9wcm94 eS9wcm94eV9jb3JlL3NvdXJjZS9saWJyYXJ5L2dsb2J1c19nc2lfcHJveHlfaGFuZGxlLmMKK0BA IC02MCw3ICs2MCw3IEBAIHNrX1g1MDlfRVhURU5TSU9OX2RlZXBfY29weSgKKyAgICAgcmV0dXJu IG5ld2U7CisgfQorICNlbmRpZgorLSAgICAKKysKKyAvKioKKyAgKiBAYnJpZWYgSW5pdGlhbGl6 ZSBhIEdTSSBQcm94eSBoYW5kbGUKKyAgKiBAaW5ncm91cCBnbG9idXNfZ3NpX3Byb3h5X2hhbmRs ZQorQEAgLTczLDExICs3MywxMSBAQCBza19YNTA5X0VYVEVOU0lPTl9kZWVwX2NvcHkoCisgICog ICAgICAgIEEgcG9pbnRlciB0byB0aGUgaGFuZGxlIHRvIGJlIGluaXRpYWxpemVkLiAgSWYgdGhl CisgICogICAgICAgIGhhbmRsZSBpcyBvcmlnaW5hbGx5IE5VTEwsIHNwYWNlIGlzIGFsbG9jYXRl ZCBmb3IgaXQuCisgICogICAgICAgIE90aGVyd2lzZSwgdGhlIGN1cnJlbnQgdmFsdWVzIG9mIHRo ZSBoYW5kbGUgYXJlIG92ZXJ3cml0dGVuLgorLSAqICAgICAgICAKKysgKgorICAqIEBwYXJhbVtp bl0gaGFuZGxlX2F0dHJzCisgICogICAgICAgIEluaXRpYWwgYXR0cmlidXRlcyB0byBiZSB1c2Vk IHRvIGNyZWF0ZSB0aGlzIGhhbmRsZS4KKyAgKiBAcmV0dXJuCistICogICAgICAgIEdMT0JVU19T VUNDRVNTIHVubGVzcyBhbiBlcnJvciBvY2N1cnJlZCwgaW4gd2hpY2ggY2FzZSwgCisrICogICAg ICAgIEdMT0JVU19TVUNDRVNTIHVubGVzcyBhbiBlcnJvciBvY2N1cnJlZCwgaW4gd2hpY2ggY2Fz ZSwKKyAgKiAgICAgICAgYSBnbG9idXMgZXJyb3Igb2JqZWN0IElEIGlzIHJldHVybmVkCisgICoK KyAgKiBAc2VlIGdsb2J1c19nc2lfcHJveHlfaGFuZGxlX2Rlc3Ryb3koKQorQEAgLTExMSw3ICsx MTEsNyBAQCBnbG9idXNfZ3NpX3Byb3h5X2hhbmRsZV9pbml0KAorICAgICAgICAgZ290byBleGl0 OworICAgICB9CisgCistICAgIGhhbmRsZV9pID0gKmhhbmRsZTsgCisrICAgIGhhbmRsZV9pID0g KmhhbmRsZTsKKyAKKyAgICAgLyogaW5pdGlhbGl6ZSB0aGUgWDUwOSByZXF1ZXN0IHN0cnVjdHVy ZSAqLworICAgICBpZigoaGFuZGxlX2ktPnJlcSA9IFg1MDlfUkVRX25ldygpKSA9PSBOVUxMKQor QEAgLTEzMywxMiArMTMzLDEyIEBAIGdsb2J1c19nc2lfcHJveHlfaGFuZGxlX2luaXQoCisgICAg ICAgICBnb3RvIGZyZWVfaGFuZGxlOworICAgICB9CisgCistICAgIEFTTjFfT0JKRUNUX2ZyZWUo aGFuZGxlX2ktPnByb3h5X2NlcnRfaW5mby0+cHJveHlQb2xpY3ktPnBvbGljeUxhbmd1YWdlKTsg CisrICAgIEFTTjFfT0JKRUNUX2ZyZWUoaGFuZGxlX2ktPnByb3h5X2NlcnRfaW5mby0+cHJveHlQ b2xpY3ktPnBvbGljeUxhbmd1YWdlKTsKKyAgICAgaGFuZGxlX2ktPnByb3h5X2NlcnRfaW5mby0+ cHJveHlQb2xpY3ktPnBvbGljeUxhbmd1YWdlID0gTlVMTDsKKyAKKyAgICAgaGFuZGxlX2ktPnBy b3h5X2NlcnRfaW5mby0+cHJveHlQb2xpY3ktPnBvbGljeUxhbmd1YWdlID0gT0JKX2R1cCgKKyAg ICAgICAgICAgICBPQkpfbmlkMm9iaihOSURfaWRfcHBsX2luaGVyaXRBbGwpKTsKKy0gICAgCisr CisgICAgIC8qIGluaXRpYWxpemUgdGhlIGhhbmRsZSBhdHRyaWJ1dGVzICovCisgICAgIGlmKGhh bmRsZV9hdHRycyA9PSBOVUxMKQorICAgICB7CitAQCAtMTUzLDcgKzE1Myw3IEBAIGdsb2J1c19n c2lfcHJveHlfaGFuZGxlX2luaXQoCisgICAgIH0KKyAgICAgZWxzZQorICAgICB7CistICAgICAg ICByZXN1bHQgPSBnbG9idXNfZ3NpX3Byb3h5X2hhbmRsZV9hdHRyc19jb3B5KGhhbmRsZV9hdHRy cywgCisrICAgICAgICByZXN1bHQgPSBnbG9idXNfZ3NpX3Byb3h5X2hhbmRsZV9hdHRyc19jb3B5 KGhhbmRsZV9hdHRycywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgJmhhbmRsZV9pLT5hdHRycyk7CisgICAgICAgICBpZihyZXN1bHQgIT0gR0xP QlVTX1NVQ0NFU1MpCisgICAgICAgICB7CitAQCAtMTcwLDcgKzE3MCw3IEBAIGdsb2J1c19nc2lf cHJveHlfaGFuZGxlX2luaXQoCisgCisgCisgICAgIGhhbmRsZV9pLT5leHRlbnNpb25zID0gTlVM TDsKKy0gICAgCisrCisgICAgIGdvdG8gZXhpdDsKKyAKKyAgZnJlZV9oYW5kbGU6CitAQCAtMTk2 LDcgKzE5Niw3IEBAIGdsb2J1c19nc2lfcHJveHlfaGFuZGxlX2luaXQoCisgICogQHBhcmFtW2lu XSBoYW5kbGUKKyAgKiAgICAgICAgVGhlIGhhbmRsZSB0byBiZSBkZXN0cm95ZWQuCisgICogQHJl dHVybgorLSAqICAgICAgICBHTE9CVVNfU1VDQ0VTUyB1bmxlc3MgYW4gZXJyb3Igb2NjdXJyZWQs IGluIHdoaWNoIGNhc2UsIAorKyAqICAgICAgICBHTE9CVVNfU1VDQ0VTUyB1bmxlc3MgYW4gZXJy b3Igb2NjdXJyZWQsIGluIHdoaWNoIGNhc2UsCisgICogICAgICAgIGEgZ2xvYnVzIGVycm9yIG9i amVjdCBJRCBpcyByZXR1cm5lZAorICAqCisgICogQHNlZSBnbG9idXNfZ3NpX3Byb3h5X2hhbmRs ZV9pbml0KCkKK0BAIC0yMTQsMTMgKzIxNCwxMyBAQCBnbG9idXNfZ3NpX3Byb3h5X2hhbmRsZV9k ZXN0cm95KAorICAgICAgICAgRVZQX1BLRVlfZnJlZShoYW5kbGUtPnByb3h5X2tleSk7CisgICAg ICAgICBnbG9idXNfZ3NpX3Byb3h5X2hhbmRsZV9hdHRyc19kZXN0cm95KGhhbmRsZS0+YXR0cnMp OworICAgICAgICAgUFJPWFlfQ0VSVF9JTkZPX0VYVEVOU0lPTl9mcmVlKGhhbmRsZS0+cHJveHlf Y2VydF9pbmZvKTsKKy0gICAgICAgIAorKworICAgICAgICAgZnJlZShoYW5kbGUtPmNvbW1vbl9u YW1lKTsKKyAgICAgICAgIGlmIChoYW5kbGUtPmV4dGVuc2lvbnMgIT0gTlVMTCkKKyAgICAgICAg IHsKKyAgICAgICAgICAgICBza19YNTA5X0VYVEVOU0lPTl9mcmVlKGhhbmRsZS0+ZXh0ZW5zaW9u cyk7CisgICAgICAgICB9CistICAgICAgICAKKysKKyAgICAgICAgIC8qIGZyZWUgdGhlIGhhbmRs ZSBzdHJ1Y3QgbWVtb3J5ICovCisgICAgICAgICBmcmVlKGhhbmRsZSk7CisgICAgICAgICBoYW5k bGUgPSBOVUxMOworQEAgLTI0NSw3ICsyNDUsNyBAQCBnbG9idXNfZ3NpX3Byb3h5X2hhbmRsZV9k ZXN0cm95KAorICAqICAgICAgICBQYXJhbWV0ZXIgdXNlZCB0byByZXR1cm4gdGhlIHJlcXVlc3Qu IEl0IGlzIHRoZSB1c2VycyByZXNwb25zaWJpbGl0eQorICAqICAgICAgICB0byBmcmVlIHRoZSBy ZXR1cm5lZCByZXF1ZXN0LgorICAqIEByZXR1cm4KKy0gKiAgICAgICAgR0xPQlVTX1NVQ0NFU1Mg dW5sZXNzIGFuIGVycm9yIG9jY3VycmVkLCBpbiB3aGljaCBjYXNlLCAKKysgKiAgICAgICAgR0xP QlVTX1NVQ0NFU1MgdW5sZXNzIGFuIGVycm9yIG9jY3VycmVkLCBpbiB3aGljaCBjYXNlLAorICAq ICAgICAgICBhIGdsb2J1cyBlcnJvciBvYmplY3QgSUQgaXMgcmV0dXJuZWQKKyAgKgorICAqIEBz ZWUgZ2xvYnVzX2dzaV9wcm94eV9oYW5kbGVfc2V0X3JlcSgpCitAQCAtMzA0LDcgKzMwNCw3IEBA IGdsb2J1c19nc2lfcHJveHlfaGFuZGxlX2dldF9yZXEoCisgICogQHBhcmFtW2luXSByZXEKKyAg KiAgICAgICAgUmVxdWVzdCB0byBiZSBjb3BpZWQgdG8gaGFuZGxlLgorICAqIEByZXR1cm4KKy0g KiAgICAgICAgR0xPQlVTX1NVQ0NFU1MgdW5sZXNzIGFuIGVycm9yIG9jY3VycmVkLCBpbiB3aGlj aCBjYXNlLCAKKysgKiAgICAgICAgR0xPQlVTX1NVQ0NFU1MgdW5sZXNzIGFuIGVycm9yIG9jY3Vy cmVkLCBpbiB3aGljaCBjYXNlLAorICAqICAgICAgICBhIGdsb2J1cyBlcnJvciBvYmplY3QgSUQg aXMgcmV0dXJuZWQKKyAgKgorICAqIEBzZWUgZ2xvYnVzX2dzaV9wcm94eV9oYW5kbGVfZ2V0X3Jl cSgpCitAQCAtMzI2LDcgKzMyNiw3IEBAIGdsb2J1c19nc2lfcHJveHlfaGFuZGxlX3NldF9yZXEo CisgICAgICAgICAgICAgKF9QQ1NMKCJJbnZhbGlkIGhhbmRsZSAoTlVMTCkgcGFzc2VkIHRvIGZ1 bmN0aW9uIikpKTsKKyAgICAgICAgIGdvdG8gZXhpdDsKKyAgICAgfQorLSAgICAKKysKKyAgICAg aWYoaGFuZGxlLT5yZXEpCisgICAgIHsKKyAgICAgICAgIFg1MDlfUkVRX2ZyZWUoaGFuZGxlLT5y ZXEpOworQEAgLTM0NSw3ICszNDUsNyBAQCBnbG9idXNfZ3NpX3Byb3h5X2hhbmRsZV9zZXRfcmVx KAorICAgICAgICAgICAgIGdvdG8gZXhpdDsKKyAgICAgICAgIH0KKyAgICAgfQorLSAgICAKKysK KyAgZXhpdDoKKyAKKyAgICAgR0xPQlVTX0lfR1NJX1BST1hZX0RFQlVHX0VYSVQ7CitAQCAtMzY2 LDcgKzM2Niw3IEBAIGdsb2J1c19nc2lfcHJveHlfaGFuZGxlX3NldF9yZXEoCisgICogICAgICAg IFBhcmFtZXRlciB1c2VkIHRvIHJldHVybiB0aGUga2V5LiBJdCBpcyB0aGUgdXNlcnMgcmVzcG9u c2liaWxpdHkgdG8KKyAgKiAgICAgICAgZnJlZSB0aGUgcmV0dXJuZWQga2V5IGJ5IGNhbGxpbmcg RVZQX1BLRVlfZnJlZSgpLgorICAqIEByZXR1cm4KKy0gKiAgICAgICAgR0xPQlVTX1NVQ0NFU1Mg dW5sZXNzIGFuIGVycm9yIG9jY3VycmVkLCBpbiB3aGljaCBjYXNlLCAKKysgKiAgICAgICAgR0xP QlVTX1NVQ0NFU1MgdW5sZXNzIGFuIGVycm9yIG9jY3VycmVkLCBpbiB3aGljaCBjYXNlLAorICAq ICAgICAgICBhIGdsb2J1cyBlcnJvciBvYmplY3QgSUQgaXMgcmV0dXJuZWQKKyAgKgorICAqIEBz ZWUgZ2xvYnVzX2dzaV9wcm94eV9oYW5kbGVfc2V0X3ByaXZhdGVfa2V5KCkKK0BAIC0zOTEsNyAr MzkxLDcgQEAgZ2xvYnVzX2dzaV9wcm94eV9oYW5kbGVfZ2V0X3ByaXZhdGVfa2V5KAorICAgICAg ICAgICAgIChfUENTTCgiSW52YWxpZCBoYW5kbGUgKE5VTEwpIHBhc3NlZCB0byBmdW5jdGlvbiIp KSk7CisgICAgICAgICBnb3RvIGV4aXQ7CisgICAgIH0KKy0gICAgCisrCisgICAgIGlmKCFwcm94 eV9rZXkpCisgICAgIHsKKyAgICAgICAgIEdMT0JVU19HU0lfUFJPWFlfRVJST1JfUkVTVUxUKAor QEAgLTQyMiw5ICs0MjIsOSBAQCBnbG9idXNfZ3NpX3Byb3h5X2hhbmRsZV9nZXRfcHJpdmF0ZV9r ZXkoCisgICAgICAgICAgICAgKF9QQ1NMKCJDb3VsZG4ndCBjb252ZXJ0IHByaXZhdGUga2V5IGZy b20gaW50ZXJuYWwiCisgICAgICAgICAgICAgICJ0byBERVIgZW5jb2RlZCBmb3JtIikpKTsKKyAg ICAgICAgIGdvdG8gZXhpdDsKKy0gICAgICAgIAorKworICAgICB9CistICAgIAorKworICAgICBk ZXJfZW5jb2RlZCA9IG1hbGxvYyhsZW5ndGgpOworIAorICAgICBpZighZGVyX2VuY29kZWQpCitA QCAtNDQ1LDEyICs0NDUsMTIgQEAgZ2xvYnVzX2dzaV9wcm94eV9oYW5kbGVfZ2V0X3ByaXZhdGVf a2V5KAorICAgICAgICAgICAgIChfUENTTCgiQ291bGRuJ3QgY29udmVydCBwcml2YXRlIGtleSBm cm9tIGludGVybmFsIgorICAgICAgICAgICAgICAidG8gREVSIGVuY29kZWQgZm9ybSIpKSk7Cisg ICAgICAgICBnb3RvIGV4aXQ7CistICAgICAgICAKKysKKyAgICAgfQorIAorICAgICB0bXAgPSBk ZXJfZW5jb2RlZDsKKy0gICAgCistICAgIGlmKCFkMmlfUHJpdmF0ZUtleShFVlBfUEtFWV9pZCho YW5kbGUtPnByb3h5X2tleSksIHByb3h5X2tleSwgCisrCisrICAgIGlmKCFkMmlfUHJpdmF0ZUtl eShFVlBfUEtFWV9pZChoYW5kbGUtPnByb3h5X2tleSksIHByb3h5X2tleSwKKyAgICAgICAgICAg ICAgICAgICAgICAgIChjb25zdCB1bnNpZ25lZCBjaGFyICoqKSAmdG1wLCBsZW5ndGgpKQorICAg ICB7CisgICAgICAgICBHTE9CVVNfR1NJX1BST1hZX09QRU5TU0xfRVJST1JfUkVTVUxUKAorQEAg LTQ1OSwxNCArNDU5LDE0IEBAIGdsb2J1c19nc2lfcHJveHlfaGFuZGxlX2dldF9wcml2YXRlX2tl eSgKKyAgICAgICAgICAgICAoX1BDU0woIkVycm9yIGNvbnZlcnRpbmcgREVSIGVuY29kZWQgcHJp dmF0ZSBrZXkgdG8gaW50ZXJuYWwgZm9ybSIpKSk7CisgICAgICAgICBnb3RvIGV4aXQ7CisgICAg IH0KKy0gICAgCisrCisgIGV4aXQ6CisgCisgICAgIGlmKGRlcl9lbmNvZGVkKQorICAgICB7Cisg ICAgICAgICBmcmVlKGRlcl9lbmNvZGVkKTsKKyAgICAgfQorLSAgICAKKysKKyAgICAgR0xPQlVT X0lfR1NJX1BST1hZX0RFQlVHX0VYSVQ7CisgICAgIHJldHVybiByZXN1bHQ7CisgfQorQEAgLTQ3 NSwxNCArNDc1LDE0IEBAIGdsb2J1c19nc2lfcHJveHlfaGFuZGxlX2dldF9wcml2YXRlX2tleSgK KyAvKioKKyAgKiBAYnJpZWYgU2V0IHRoZSBwcml2YXRlIGtleSBpbiBhIEdTSSBQcm94eSBoYW5k bGUKKyAgKiBAZGV0YWlscworLSAqICAgICBDb3BpZXMgdGhlIHByaXZhdGUga2V5IHBvaW50ZWQg dG8gYnkgcHJveHlfa2V5IHRvIHRoZSAKKysgKiAgICAgQ29waWVzIHRoZSBwcml2YXRlIGtleSBw b2ludGVkIHRvIGJ5IHByb3h5X2tleSB0byB0aGUKKyAgKiAgICAgaGFuZGxlLgorICAqIEBwYXJh bVtpbl0gaGFuZGxlCisgICogICAgICAgIFRoZSBoYW5kbGUgZm9yIHdoaWNoIHRvIHNldCB0aGUg cHJpdmF0ZSBrZXkKKyAgKiBAcGFyYW1baW5dIHByb3h5X2tleQorICAqICAgICAgICBQYXJhbWV0 ZXIgdXNlZCB0byBwYXNzIHRoZSBrZXkKKyAgKiBAcmV0dXJuCistICogICAgICAgIEdMT0JVU19T VUNDRVNTIHVubGVzcyBhbiBlcnJvciBvY2N1cnJlZCwgaW4gd2hpY2ggY2FzZSwgCisrICogICAg ICAgIEdMT0JVU19TVUNDRVNTIHVubGVzcyBhbiBlcnJvciBvY2N1cnJlZCwgaW4gd2hpY2ggY2Fz ZSwKKyAgKiAgICAgICAgYSBnbG9idXMgZXJyb3Igb2JqZWN0IElEIGlzIHJldHVybmVkCisgICoK KyAgKiBAc2VlIGdsb2J1c19nc2lfcHJveHlfaGFuZGxlX2dldF9wcml2YXRlX2tleSgpCitAQCAt NTEwLDEzICs1MTAsMTMgQEAgZ2xvYnVzX2dzaV9wcm94eV9oYW5kbGVfc2V0X3ByaXZhdGVfa2V5 KAorICAgICAgICAgRVZQX1BLRVlfZnJlZShoYW5kbGUtPnByb3h5X2tleSk7CisgICAgICAgICBo YW5kbGUtPnByb3h5X2tleSA9IE5VTEw7CisgICAgIH0KKy0gICAgCisrCisgICAgIGlmIChwcm94 eV9rZXkgIT0gTlVMTCkKKyAgICAgeworICAgICAgICAgaGFuZGxlLT5wcm94eV9rZXkgPSBBU04x X2R1cF9vZigKKyAgICAgICAgICAgICAgICAgRVZQX1BLRVksIGkyZF9Qcml2YXRlS2V5LCBkMmlf QXV0b1ByaXZhdGVLZXksIHByb3h5X2tleSk7CisgCistICAgICAgICAKKysKKyAgICAgICAgIGlm KGhhbmRsZS0+cHJveHlfa2V5ID09IE5VTEwpCisgICAgICAgICB7CisgICAgICAgICAgICAgR0xP QlVTX0dTSV9QUk9YWV9PUEVOU1NMX0VSUk9SX1JFU1VMVCgKK0BAIC01MzcsMTQgKzUzNywxNCBA QCBleGl0OgorICAqIEBicmllZiBHZXQgUHJveHkgVHlwZQorICAqIEBpbmdyb3VwIGdsb2J1c19n c2lfcHJveHlfaGFuZGxlCisgICogQGRldGFpbHMKKy0gKiBEZXRlcm1pbmUgdGhlIHR5cGUgb2Yg cHJveHkgdGhhdCB3aWxsIGJlIGdlbmVyYXRlZCB3aGVuIHVzaW5nIHRoaXMgaGFuZGxlLiAKKysg KiBEZXRlcm1pbmUgdGhlIHR5cGUgb2YgcHJveHkgdGhhdCB3aWxsIGJlIGdlbmVyYXRlZCB3aGVu IHVzaW5nIHRoaXMgaGFuZGxlLgorICAqCisgICogQHBhcmFtW2luXSBoYW5kbGUKKyAgKiAgICAg ICAgVGhlIGhhbmRsZSBmcm9tIHdoaWNoIHRvIGdldCB0aGUgdHlwZQorICAqIEBwYXJhbVtvdXRd IHR5cGUKKyAgKiAgICAgICAgUGFyYW1ldGVyIHVzZWQgdG8gcmV0dXJuIHRoZSB0eXBlLgorICAq IEByZXR1cm4KKy0gKiAgICAgICAgR0xPQlVTX1NVQ0NFU1MgdW5sZXNzIGFuIGVycm9yIG9jY3Vy cmVkLCBpbiB3aGljaCBjYXNlLCAKKysgKiAgICAgICAgR0xPQlVTX1NVQ0NFU1MgdW5sZXNzIGFu IGVycm9yIG9jY3VycmVkLCBpbiB3aGljaCBjYXNlLAorICAqICAgICAgICBhIGdsb2J1cyBlcnJv ciBvYmplY3QgSUQgaXMgcmV0dXJuZWQKKyAgKgorICAqIEBzZWUgZ2xvYnVzX2dzaV9wcm94eV9o YW5kbGVfc2V0X3R5cGUoKQorQEAgLTU5Niw3ICs1OTYsNyBAQCBnbG9idXNfZ3NpX3Byb3h5X2hh bmRsZV9nZXRfdHlwZSgKKyAgKiBAcGFyYW0gdHlwZQorICAqICAgICAgICBQYXJhbWV0ZXIgdXNl ZCB0byBwYXNzIHRoZSB0eXBlLgorICAqIEByZXR1cm4KKy0gKiAgICAgICAgR0xPQlVTX1NVQ0NF U1MgdW5sZXNzIGFuIGVycm9yIG9jY3VycmVkLCBpbiB3aGljaCBjYXNlLCAKKysgKiAgICAgICAg R0xPQlVTX1NVQ0NFU1MgdW5sZXNzIGFuIGVycm9yIG9jY3VycmVkLCBpbiB3aGljaCBjYXNlLAor ICAqICAgICAgICBhIGdsb2J1cyBlcnJvciBvYmplY3QgSUQgaXMgcmV0dXJuZWQKKyAgKgorICAq IEBzZWUgZ2xvYnVzX2dzaV9wcm94eV9oYW5kbGVfc2V0X3R5cGUoKQorQEAgLTY4Nyw3ICs2ODcs NyBAQCBnbG9idXNfZ3NpX3Byb3h5X2hhbmRsZV9zZXRfcG9saWN5KAorICAgICBnbG9idXNfcmVz dWx0X3QgICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSBHTE9CVVNfU1VDQ0VTUzsKKyAKKyAg ICAgR0xPQlVTX0lfR1NJX1BST1hZX0RFQlVHX0VOVEVSOworLSAgICAKKysKKyAgICAgaWYoaGFu ZGxlID09IE5VTEwpCisgICAgIHsKKyAgICAgICAgIEdMT0JVU19HU0lfUFJPWFlfRVJST1JfUkVT VUxUKAorQEAgLTY5Niw3ICs2OTYsNyBAQCBnbG9idXNfZ3NpX3Byb3h5X2hhbmRsZV9zZXRfcG9s aWN5KAorICAgICAgICAgICAgIChfUENTTCgiTlVMTCBoYW5kbGUgcGFzc2VkIHRvIGZ1bmN0aW9u OiAlcyIpLCBfX2Z1bmNfXykpOworICAgICAgICAgZ290byBleGl0OworICAgICB9CistICAgIAor KworICAgICBpZiAoaGFuZGxlLT5wcm94eV9jZXJ0X2luZm8tPnByb3h5UG9saWN5ID09IE5VTEwp CisgICAgIHsKKyAgICAgICAgIGhhbmRsZS0+cHJveHlfY2VydF9pbmZvLT5wcm94eVBvbGljeSA9 IFBST1hZX1BPTElDWV9uZXcoKTsKK0BAIC03NDksNyArNzQ5LDcgQEAgZ2xvYnVzX2dzaV9wcm94 eV9oYW5kbGVfc2V0X3BvbGljeSgKKyAgKiBAZGV0YWlscworICAqIEdldCB0aGUgcG9saWN5IGZy b20gdGhlIEdTSSBQcm94eSBoYW5kbGUuCisgICoKKy0gKiBUaGlzIGZ1bmN0aW9uIGdldHMgdGhl IHBvbGljeSB0aGF0IGlzIGJlaW5nIHVzZWQgaW4gdGhlIAorKyAqIFRoaXMgZnVuY3Rpb24gZ2V0 cyB0aGUgcG9saWN5IHRoYXQgaXMgYmVpbmcgdXNlZCBpbiB0aGUKKyAgKiBwcm94eSBjZXJ0IGlu Zm8gZXh0ZW5zaW9uLgorICAqCisgICogQHBhcmFtIGhhbmRsZQorQEAgLTgxNyw3ICs4MTcsNyBA QCBnbG9idXNfZ3NpX3Byb3h5X2hhbmRsZV9nZXRfcG9saWN5KAorICAgICAgICAgKnBvbGljeV9s ZW5ndGggPSBBU04xX1NUUklOR19sZW5ndGgoCisgICAgICAgICAgICAgICAgIGhhbmRsZS0+cHJv eHlfY2VydF9pbmZvLT5wcm94eVBvbGljeS0+cG9saWN5KTsKKyAgICAgICAgICpwb2xpY3lfZGF0 YSA9IG1hbGxvYygqcG9saWN5X2xlbmd0aCArIDEpOworLSAgICAgICAgCisrCisgICAgICAgICBt ZW1jcHkoKnBvbGljeV9kYXRhLAorICAgICAgICAgICAgICAgICBBU04xX1NUUklOR19kYXRhKGhh bmRsZS0+cHJveHlfY2VydF9pbmZvLT5wcm94eVBvbGljeS0+cG9saWN5KSwKKyAgICAgICAgICAg ICAgICAgKnBvbGljeV9sZW5ndGgpOworQEAgLTgzMSw3ICs4MzEsNyBAQCBnbG9idXNfZ3NpX3By b3h5X2hhbmRsZV9nZXRfcG9saWN5KAorIAorICAgICAqcG9saWN5X05JRCA9IE9CSl9vYmoybmlk KAorICAgICAgICAgICAgIGhhbmRsZS0+cHJveHlfY2VydF9pbmZvLT5wcm94eVBvbGljeS0+cG9s aWN5TGFuZ3VhZ2UpOworLSAgICAKKysKKyAgZXhpdDoKKyAgICAgR0xPQlVTX0lfR1NJX1BST1hZ X0RFQlVHX0VYSVQ7CisgICAgIHJldHVybiByZXN1bHQ7CitAQCAtODk3LDcgKzg5Nyw3IEBAIGds b2J1c19nc2lfcHJveHlfaGFuZGxlX2FkZF9leHRlbnNpb24oCisgICAgICAgICAgICAgZ290byBl eGl0OworICAgICAgICAgfQorICAgICB9CistICAgIAorKworICAgICBza19YNTA5X0VYVEVOU0lP Tl9wdXNoKGhhbmRsZS0+ZXh0ZW5zaW9ucywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBY NTA5X0VYVEVOU0lPTl9kdXAoZXh0KSk7CisgICAgIHJlc3VsdCA9IEdMT0JVU19TVUNDRVNTOwor QEAgLTk1MSw3ICs5NTEsNyBAQCBnbG9idXNfZ3NpX3Byb3h5X2hhbmRsZV9zZXRfZXh0ZW5zaW9u cygKKyAgICAgeworICAgICAgICAgc2tfWDUwOV9FWFRFTlNJT05fZnJlZShoYW5kbGUtPmV4dGVu c2lvbnMpOworICAgICB9CistICAgIAorKworICAgICBpZiAoZXh0cyA9PSBOVUxMKQorICAgICB7 CisgICAgICAgICBoYW5kbGUtPmV4dGVuc2lvbnMgPSBOVUxMOworQEAgLTk2Miw3ICs5NjIsNyBA QCBnbG9idXNfZ3NpX3Byb3h5X2hhbmRsZV9zZXRfZXh0ZW5zaW9ucygKKyAgICAgICAgICAgICAg ICAgZXh0cywKKyAgICAgICAgICAgICAgICAgKFg1MDlfRVhURU5TSU9OICooKikoY29uc3QgWDUw OV9FWFRFTlNJT04gKikpIFg1MDlfRVhURU5TSU9OX2R1cCwKKyAgICAgICAgICAgICAgICAgWDUw OV9FWFRFTlNJT05fZnJlZSk7CistICAgICAgICAKKysKKyAgICAgICAgIGlmIChoYW5kbGUtPmV4 dGVuc2lvbnMgPT0gTlVMTCkKKyAgICAgICAgIHsKKyAgICAgICAgICAgICBHTE9CVVNfR1NJX1BS T1hZX09QRU5TU0xfRVJST1JfUkVTVUxUKAorQEAgLTEwMzAsNyArMTAzMCw3IEBAIGdsb2J1c19n c2lfcHJveHlfaGFuZGxlX2dldF9leHRlbnNpb25zKAorICAgICAgICAgICAgIChfUENTTCgiTlVM TCBleHRzIHBhc3NlZCB0byBmdW5jdGlvbjogJXMiKSwgX19mdW5jX18pKTsKKyAgICAgICAgIGdv dG8gZXhpdDsKKyAgICAgfQorLSAgICAKKysKKyAgICAgaWYgKGhhbmRsZS0+ZXh0ZW5zaW9ucyA9 PSBOVUxMKQorICAgICB7CisgICAgICAgICAqZXh0cyA9IHNrX1g1MDlfRVhURU5TSU9OX25ld19u dWxsKCk7CitAQCAtMTAzOSw3ICsxMDM5LDcgQEAgZ2xvYnVzX2dzaV9wcm94eV9oYW5kbGVfZ2V0 X2V4dGVuc2lvbnMoCisgICAgIHsKKyAgICAgICAgICpleHRzID0gc2tfWDUwOV9FWFRFTlNJT05f ZHVwKGhhbmRsZS0+ZXh0ZW5zaW9ucyk7CisgICAgIH0KKy0gICAgCisrCisgICAgIGlmICgqZXh0 cyA9PSBOVUxMKQorICAgICB7CisgICAgICAgICBHTE9CVVNfR1NJX1BST1hZX09QRU5TU0xfRVJS T1JfUkVTVUxUKAorQEAgLTExMjUsNyArMTEyNSw3IEBAIGV4aXQ6CisgICogQGRldGFpbHMKKyAg KiBHZXQgdGhlIHBhdGggbGVuZ3RoIGZyb20gdGhlIEdTSSBQcm94eSBoYW5kbGUuCisgICoKKy0g KiBUaGlzIGZ1bmN0aW9uIGdldHMgdGhlIHBhdGggbGVuZ3RoIHRoYXQgaXMgYmVpbmcgdXNlZCBp biB0aGUgCisrICogVGhpcyBmdW5jdGlvbiBnZXRzIHRoZSBwYXRoIGxlbmd0aCB0aGF0IGlzIGJl aW5nIHVzZWQgaW4gdGhlCisgICogcHJveHkgY2VydCBpbmZvIGV4dGVuc2lvbi4KKyAgKgorICAq IEBwYXJhbSBoYW5kbGUKK0BAIC0xMTcyLDcgKzExNzIsNyBAQCBnbG9idXNfZ3NpX3Byb3h5X2hh bmRsZV9nZXRfcGF0aGxlbigKKyAgICAgICAgICpwYXRobGVuID0gQVNOMV9JTlRFR0VSX2dldCgK KyAgICAgICAgICAgICAgICAgaGFuZGxlLT5wcm94eV9jZXJ0X2luZm8tPnBjUGF0aExlbmd0aENv bnN0cmFpbnQpOworICAgICB9CistICAgIAorKworIGV4aXQ6CisgICAgIEdMT0JVU19JX0dTSV9Q Uk9YWV9ERUJVR19FWElUOworICAgICByZXR1cm4gcmVzdWx0OworQEAgLTExODksOSArMTE4OSw5 IEBAIGV4aXQ6CisgICogICAgICAgIFRoZSBwcm94eSBoYW5kbGUgdG8gZ2V0IHRoZSBleHBpcmF0 aW9uIGRhdGUgb2YKKyAgKiBAcGFyYW0gdGltZV92YWxpZAorICAqICAgICAgICBleHBpcmF0aW9u IGRhdGUgb2YgdGhlIHByb3h5IGhhbmRsZQorLSAqIAorKyAqCisgICogQHJlc3VsdAorLSAqICAg ICAgICBHTE9CVVNfU1VDQ0VTUyB1bmxlc3MgYW4gZXJyb3Igb2NjdXJyZWQsIGluIHdoaWNoIGNh c2UsIAorKyAqICAgICAgICBHTE9CVVNfU1VDQ0VTUyB1bmxlc3MgYW4gZXJyb3Igb2NjdXJyZWQs IGluIHdoaWNoIGNhc2UsCisgICogICAgICAgIGEgZ2xvYnVzIGVycm9yIG9iamVjdCBJRCBpcyBy ZXR1cm5lZAorICAqLworIGdsb2J1c19yZXN1bHRfdAorQEAgLTEyMjIsNyArMTIyMiw3IEBAIGds b2J1c19nc2lfcHJveHlfaGFuZGxlX2dldF90aW1lX3ZhbGlkKAorIAorICAgICAqdGltZV92YWxp ZCA9IGhhbmRsZS0+dGltZV92YWxpZDsKKyAKKy0gZXhpdDogICAgICAgIAorKyBleGl0OgorICAg ICBHTE9CVVNfSV9HU0lfUFJPWFlfREVCVUdfRVhJVDsKKyAgICAgcmV0dXJuIHJlc3VsdDsKKyB9 CitAQCAtMTIzOCw5ICsxMjM4LDkgQEAgZ2xvYnVzX2dzaV9wcm94eV9oYW5kbGVfZ2V0X3RpbWVf dmFsaWQoCisgICogICAgICAgIFRoZSBwcm94eSBoYW5kbGUgdG8gc2V0IHRoZSBleHBpcmF0aW9u IGRhdGUgZm9yCisgICogQHBhcmFtIHRpbWVfdmFsaWQKKyAgKiAgICAgICAgZGVzaXJlZCBleHBp cmF0aW9uIGRhdGUgb2YgdGhlIHByb3h5CistICogCisrICoKKyAgKiBAcmVzdWx0CistICogICAg ICAgIEdMT0JVU19TVUNDRVNTIHVubGVzcyBhbiBlcnJvciBvY2N1cnJlZCwgaW4gd2hpY2ggY2Fz ZSwgCisrICogICAgICAgIEdMT0JVU19TVUNDRVNTIHVubGVzcyBhbiBlcnJvciBvY2N1cnJlZCwg aW4gd2hpY2ggY2FzZSwKKyAgKiAgICAgICAgYSBnbG9idXMgZXJyb3Igb2JqZWN0IElEIGlzIHJl dHVybmVkCisgICogICAgICAgIEdMT0JVU19TVUNDRVNTCisgICovCitAQCAtMTI1MCw3ICsxMjUw LDcgQEAgZ2xvYnVzX2dzaV9wcm94eV9oYW5kbGVfc2V0X3RpbWVfdmFsaWQoCisgICAgIGludCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVfdmFsaWQpCisgeworICAgICBnbG9i dXNfcmVzdWx0X3QgICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSBHTE9CVVNfU1VDQ0VTUzsK Ky0gICAgCisrCisgICAgIEdMT0JVU19JX0dTSV9QUk9YWV9ERUJVR19FTlRFUjsKKyAKKyAgICAg aWYoaGFuZGxlID09IE5VTEwpCitAQCAtMTMxMiw3ICsxMzEyLDcgQEAgZ2xvYnVzX2dzaV9wcm94 eV9oYW5kbGVfY2xlYXJfY2VydF9pbmZvKAorICAgICAgICAgICAgIChfUENTTCgiUFJPWFlDRVJU SU5GTyBjb3VsZCBub3QgYmUgaW5pdGlhbGl6ZWQiKSkpOworICAgICAgICAgZ290byBleGl0Owor ICAgICB9CistICAgIEFTTjFfT0JKRUNUX2ZyZWUoaGFuZGxlLT5wcm94eV9jZXJ0X2luZm8tPnBy b3h5UG9saWN5LT5wb2xpY3lMYW5ndWFnZSk7IAorKyAgICBBU04xX09CSkVDVF9mcmVlKGhhbmRs ZS0+cHJveHlfY2VydF9pbmZvLT5wcm94eVBvbGljeS0+cG9saWN5TGFuZ3VhZ2UpOworICAgICBo YW5kbGUtPnByb3h5X2NlcnRfaW5mby0+cHJveHlQb2xpY3ktPnBvbGljeUxhbmd1YWdlID0gTlVM TDsKKyAKKyAgICAgaGFuZGxlLT5wcm94eV9jZXJ0X2luZm8tPnByb3h5UG9saWN5LT5wb2xpY3lM YW5ndWFnZSA9IE9CSl9kdXAoCitAQCAtMTM2MSw3ICsxMzYxLDcgQEAgX19hc21fXygiLnN5bXZl ciBnbG9idXNfZ3NpX3Byb3h5X2hhbmRsZV9nZXRfcHJveHlfY2VydF9pbmZvX29wZW5zc2wsIgor ICAqIEdldCB0aGUgcHJveHkgY2VydCBpbmZvIGV4dGVuc2lvbiBzdG9yZWQgaW4gdGhlIEdTSSBQ cm94eSBoYW5kbGUuCisgICoKKyAgKiBUaGlzIGZ1bmN0aW9uIHJldHJpZXZlcyB0aGUgcHJveHkg Y2VydCBpbmZvIGV4dGVuc2lvbiBmcm9tIHRoZSBHU0kgUHJveHkKKy0gKiBoYW5kbGUuIAorKyAq IGhhbmRsZS4KKyAgKgorICAqIEBwYXJhbSBoYW5kbGUKKyAgKiAgICAgICAgVGhlIGhhbmRsZSBm cm9tIHdoaWNoIHRvIGdldCB0aGUgcHJveHkgY2VydCBpbmZvIGV4dGVuc2lvbi4KK0BAIC0xMzg2 LDcgKzEzODYsNyBAQCBnbG9idXNfZ3NpX3Byb3h5X2hhbmRsZV9nZXRfcHJveHlfY2VydF9pbmZv X29wZW5zc2woCisgICAgIGdsb2J1c19yZXN1bHRfdCAgICAgICAgICAgICAgICAgICAgIHJlc3Vs dCA9IEdMT0JVU19TVUNDRVNTOworIAorICAgICBHTE9CVVNfSV9HU0lfUFJPWFlfREVCVUdfRU5U RVI7CistICAgIAorKworICAgICBpZighaGFuZGxlKQorICAgICB7CisgICAgICAgICBHTE9CVVNf R1NJX1BST1hZX0VSUk9SX1JFU1VMVCgKK0BAIC0xNDA2LDcgKzE0MDYsNyBAQCBnbG9idXNfZ3Np X3Byb3h5X2hhbmRsZV9nZXRfcHJveHlfY2VydF9pbmZvX29wZW5zc2woCisgICAgIH0KKyAKKyAg ICAgaWYoaGFuZGxlLT5wcm94eV9jZXJ0X2luZm8pCistICAgIHsgCisrICAgIHsKKyAgICAgICAg ICpwY2kgPSBBU04xX2R1cF9vZihQUk9YWV9DRVJUX0lORk9fRVhURU5TSU9OLAorICAgICAgICAg ICAgICAgICBpMmRfUFJPWFlfQ0VSVF9JTkZPX0VYVEVOU0lPTiwKKyAgICAgICAgICAgICAgICAg ZDJpX1BST1hZX0NFUlRfSU5GT19FWFRFTlNJT04sCitAQCAtMTQ1NSw3ICsxNDU1LDcgQEAgZ2xv YnVzX2dzaV9wcm94eV9oYW5kbGVfZ2V0X3Byb3h5X2NlcnRfaW5mb19wcm94eV9zc2woCisgICAg ICAgICBnb3RvIGV4aXQ7CisgICAgIH0KKyAgICAgKnBjaSA9IE5VTEw7CistICAgIAorKworICAg ICBpZiAoIWhhbmRsZSkKKyAgICAgeworICAgICAgICAgR0xPQlVTX0dTSV9QUk9YWV9FUlJPUl9S RVNVTFQoCitAQCAtMTU3MCw3ICsxNTcwLDcgQEAgZ2xvYnVzX2dzaV9wcm94eV9oYW5kbGVfc2V0 X3Byb3h5X2NlcnRfaW5mb19vcGVuc3NsKAorICAgICAgICAgUFJPWFlfQ0VSVF9JTkZPX0VYVEVO U0lPTl9mcmVlKGhhbmRsZS0+cHJveHlfY2VydF9pbmZvKTsKKyAgICAgICAgIGhhbmRsZS0+cHJv eHlfY2VydF9pbmZvID0gTlVMTDsKKyAgICAgfQorLSAgICAKKysKKyAgICAgaWYocGNpKQorICAg ICB7CisgICAgICAgICBoYW5kbGUtPnByb3h5X2NlcnRfaW5mbyA9IEFTTjFfZHVwX29mKFBST1hZ X0NFUlRfSU5GT19FWFRFTlNJT04sCitAQCAtMTU5Nyw3ICsxNTk3LDcgQEAgZ2xvYnVzX2dzaV9w cm94eV9oYW5kbGVfc2V0X3Byb3h5X2NlcnRfaW5mb19vcGVuc3NsKAorICAgICAgICAgICAgIGdv dG8gZXhpdDsKKyAgICAgICAgIH0KKyAKKy0gICAgICAgIEFTTjFfT0JKRUNUX2ZyZWUoaGFuZGxl LT5wcm94eV9jZXJ0X2luZm8tPnByb3h5UG9saWN5LT5wb2xpY3lMYW5ndWFnZSk7IAorKyAgICAg ICAgQVNOMV9PQkpFQ1RfZnJlZShoYW5kbGUtPnByb3h5X2NlcnRfaW5mby0+cHJveHlQb2xpY3kt PnBvbGljeUxhbmd1YWdlKTsKKyAgICAgICAgIGhhbmRsZS0+cHJveHlfY2VydF9pbmZvLT5wcm94 eVBvbGljeS0+cG9saWN5TGFuZ3VhZ2UgPSBOVUxMOworIAorICAgICAgICAgaGFuZGxlLT5wcm94 eV9jZXJ0X2luZm8tPnByb3h5UG9saWN5LT5wb2xpY3lMYW5ndWFnZSA9IE9CSl9kdXAoCitAQCAt MTYzNywxMCArMTYzNywxMCBAQCBnbG9idXNfZ3NpX3Byb3h5X2hhbmRsZV9zZXRfcHJveHlfY2Vy dF9pbmZvX3Byb3h5X3NzbCgKKyAgICAgICAgIFBST1hZX0NFUlRfSU5GT19FWFRFTlNJT05fZnJl ZShoYW5kbGUtPnByb3h5X2NlcnRfaW5mbyk7CisgICAgICAgICBoYW5kbGUtPnByb3h5X2NlcnRf aW5mbyA9IE5VTEw7CisgICAgIH0KKy0gICAgCisrCisgICAgIGlmKHBjaSkKKyAgICAgeworLSAg ICAgICAgUFJPWFlfUE9MSUNZIHBwID0gCisrICAgICAgICBQUk9YWV9QT0xJQ1kgcHAgPQorICAg ICAgICAgeworICAgICAgICAgICAgIC5wb2xpY3lMYW5ndWFnZSA9IHBjaS0+cG9saWN5ID8gcGNp LT5wb2xpY3ktPnBvbGljeV9sYW5ndWFnZSA6IE5VTEwsCisgICAgICAgICAgICAgLnBvbGljeSA9 IHBjaS0+cG9saWN5ID8gcGNpLT5wb2xpY3ktPnBvbGljeSA6IE5VTEwsCitAQCAtMTY4MSw5ICsx NjgxLDkgQEAgZ2xvYnVzX2dzaV9wcm94eV9oYW5kbGVfc2V0X3Byb3h5X2NlcnRfaW5mb19wcm94 eV9zc2woCisgICogICAgICAgIFRoZSBwcm94eSBoYW5kbGUgY29udGFpbmluZyB0aGUgdHlwZSBv ZiBzaWduaW5nIGFsZ29yaXRobSB1c2VkCisgICogQHBhcmFtIHNpZ25pbmdfYWxnb3JpdGhtCisg ICogICAgICAgIHNpZ25pbmcgYWxnb3JpdGhtIG9mIHRoZSBwcm94eSBoYW5kbGUKKy0gKiAKKysg KgorICAqIEByZXR2YWwKKy0gKiAgICAgICAgR0xPQlVTX1NVQ0NFU1MgdW5sZXNzIGFuIGVycm9y IG9jY3VycmVkLCBpbiB3aGljaCBjYXNlLCAKKysgKiAgICAgICAgR0xPQlVTX1NVQ0NFU1MgdW5s ZXNzIGFuIGVycm9yIG9jY3VycmVkLCBpbiB3aGljaCBjYXNlLAorICAqICAgICAgICBhIGdsb2J1 cyBlcnJvciBvYmplY3QgSUQgaXMgcmV0dXJuZWQKKyAgKi8KKyBnbG9idXNfcmVzdWx0X3QKK0BA IC0xNjkyLDcgKzE2OTIsNyBAQCBnbG9idXNfZ3NpX3Byb3h5X2hhbmRsZV9nZXRfc2lnbmluZ19h bGdvcml0aG0oCisgICAgIGNvbnN0IEVWUF9NRCAqKiAgICAgICAgICAgICAgICAgICAgIHNpZ25p bmdfYWxnb3JpdGhtKQorIHsKKyAgICAgZ2xvYnVzX3Jlc3VsdF90ICAgICAgICAgICAgICAgICAg ICAgcmVzdWx0ID0gR0xPQlVTX1NVQ0NFU1M7CistICAgIAorKworICAgICBHTE9CVVNfSV9HU0lf UFJPWFlfREVCVUdfRU5URVI7CisgCisgICAgIGlmKCFoYW5kbGUpCitAQCAtMTcyMCw3ICsxNzIw LDcgQEAgZ2xvYnVzX2dzaV9wcm94eV9oYW5kbGVfZ2V0X3NpZ25pbmdfYWxnb3JpdGhtKAorICAg ICAgICAgICAgIHJlc3VsdCwKKyAgICAgICAgICAgICBHTE9CVVNfR1NJX1BST1hZX0VSUk9SX1dJ VEhfSEFORExFX0FUVFJTKTsKKyAgICAgfQorLSAgICAgICAgCisrCisgZXhpdDoKKyAgICAgR0xP QlVTX0lfR1NJX1BST1hZX0RFQlVHX0VYSVQ7CisgICAgIHJldHVybiByZXN1bHQ7CitAQCAtMTcz Niw5ICsxNzM2LDkgQEAgZXhpdDoKKyAgKiAgICAgICAgVGhlIHByb3h5IGhhbmRsZSB0byBnZXQg dGhlIGtleSBiaXRzIG9mCisgICogQHBhcmFtIGtleV9iaXRzCisgICogICAgICAgIGtleSBiaXRz IG9mIHRoZSBwcm94eSBoYW5kbGUKKy0gKiAKKysgKgorICAqIEByZXN1bHQKKy0gKiAgICAgICAg R0xPQlVTX1NVQ0NFU1MgdW5sZXNzIGFuIGVycm9yIG9jY3VycmVkLCBpbiB3aGljaCBjYXNlLCAK KysgKiAgICAgICAgR0xPQlVTX1NVQ0NFU1MgdW5sZXNzIGFuIGVycm9yIG9jY3VycmVkLCBpbiB3 aGljaCBjYXNlLAorICAqICAgICAgICBhIGdsb2J1cyBlcnJvciBvYmplY3QgSUQgaXMgcmV0dXJu ZWQKKyAgKiAgICAgICAgR0xPQlVTX1NVQ0NFU1MKKyAgKi8KK0BAIC0xNzc1LDcgKzE3NzUsNyBA QCBnbG9idXNfZ3NpX3Byb3h5X2hhbmRsZV9nZXRfa2V5Yml0cygKKyAgICAgICAgICAgICByZXN1 bHQsCisgICAgICAgICAgICAgR0xPQlVTX0dTSV9QUk9YWV9FUlJPUl9XSVRIX0hBTkRMRV9BVFRS Uyk7CisgICAgIH0KKy0gICAgICAgIAorKworIGV4aXQ6CisgICAgIEdMT0JVU19JX0dTSV9QUk9Y WV9ERUJVR19FWElUOworICAgICByZXR1cm4gcmVzdWx0OworQEAgLTE3ODMsNyArMTc4Myw3IEBA IGV4aXQ6CisgCisgLyoqCisgICogQGJyaWVmIEdldCBJbml0IFByaW1lCistICogQGluZ3JvdXAg Z2xvYnVzX2dzaV9wcm94eV9oYW5kbGUgCisrICogQGluZ3JvdXAgZ2xvYnVzX2dzaV9wcm94eV9o YW5kbGUKKyAgKiBAZGV0YWlscworICAqIEdldCB0aGUgaW5pdCBwcmltZSBvZiB0aGUgcHJveHkg aGFuZGxlCisgICoKK0BAIC0xODM5LDcgKzE4MzksNyBAQCBleGl0OgorIAorIC8qKgorICAqIEBi cmllZiBHZXQgQ2xvY2sgU2tldworLSAqIEBpbmdyb3VwIGdsb2J1c19nc2lfcHJveHlfaGFuZGxl ICAKKysgKiBAaW5ncm91cCBnbG9idXNfZ3NpX3Byb3h5X2hhbmRsZQorICAqIEBkZXRhaWxzCisg ICogR2V0IHRoZSBjbG9jayBza2V3IG9mIHRoZSBwcm94eSBoYW5kbGUKKyAgKgorQEAgLTE4OTUs NyArMTg5NSw3IEBAIGV4aXQ6CisgCisgLyoqCisgICogQGJyaWVmIEdldCBDYWxsYmFjayBmb3Ig Q3JlYXRpbmcgS2V5cworLSAqIEBpbmdyb3VwIGdsb2J1c19nc2lfcHJveHlfaGFuZGxlIAorKyAq IEBpbmdyb3VwIGdsb2J1c19nc2lfcHJveHlfaGFuZGxlCisgICogQGRldGFpbHMKKyAgKiBHZXQg dGhlIGNhbGxiYWNrIGZvciBjcmVhdGluZyB0aGUgcHVibGljL3ByaXZhdGUga2V5IHBhaXIKKyAg KgorQEAgLTE5NDUsNyArMTk0NSw3IEBAIGdsb2J1c19nc2lfcHJveHlfaGFuZGxlX2dldF9rZXlf Z2VuX2NhbGxiYWNrKAorIGV4aXQ6CisgICAgIEdMT0JVU19JX0dTSV9QUk9YWV9ERUJVR19FWElU OworICAgICByZXR1cm4gcmVzdWx0OworLX0gCisrfQorIAorIAorIC8qKgorQEAgLTE5NzUsNyAr MTk3NSw3IEBAIGdsb2J1c19nc2lfcHJveHlfaGFuZGxlX2dldF9jb21tb25fbmFtZSgKKyAgICAg Z2xvYnVzX3Jlc3VsdF90ICAgICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gR0xPQlVTX1NVQ0NF U1M7CisgCisgICAgIEdMT0JVU19JX0dTSV9QUk9YWV9ERUJVR19FTlRFUjsKKy0gICAgCisrCisg ICAgIGlmKCFoYW5kbGUpCisgICAgIHsKKyAgICAgICAgIEdMT0JVU19HU0lfUFJPWFlfRVJST1Jf UkVTVUxUKAorQEAgLTE5OTUsNyArMTk5NSw3IEBAIGdsb2J1c19nc2lfcHJveHlfaGFuZGxlX2dl dF9jb21tb25fbmFtZSgKKyAgICAgfQorIAorICAgICBpZihoYW5kbGUtPmNvbW1vbl9uYW1lKQor LSAgICB7IAorKyAgICB7CisgICAgICAgICAqY29tbW9uX25hbWUgPSBzdHJkdXAoaGFuZGxlLT5j b21tb25fbmFtZSk7CisgICAgICAgICBpZighKmNvbW1vbl9uYW1lKQorICAgICAgICAgeworQEAg LTIwNTMsNyArMjA1Myw3IEBAIGdsb2J1c19nc2lfcHJveHlfaGFuZGxlX3NldF9jb21tb25fbmFt ZSgKKyAgICAgICAgIGZyZWUoaGFuZGxlLT5jb21tb25fbmFtZSk7CisgICAgICAgICBoYW5kbGUt PmNvbW1vbl9uYW1lID0gTlVMTDsKKyAgICAgfQorLSAgICAKKysKKyAgICAgaWYoY29tbW9uX25h bWUpCisgICAgIHsKKyAgICAgICAgIGhhbmRsZS0+Y29tbW9uX25hbWUgPSBzdHJkdXAoY29tbW9u X25hbWUpOworQEAgLTIwNjMsNyArMjA2Myw3IEBAIGdsb2J1c19nc2lfcHJveHlfaGFuZGxlX3Nl dF9jb21tb25fbmFtZSgKKyAgICAgICAgICAgICAgICAgc3RybGVuKGNvbW1vbl9uYW1lKSk7Cisg ICAgICAgICAgICAgZ290byBleGl0OworICAgICAgICAgfQorLSAgICB9IAorKyAgICB9CisgCisg IGV4aXQ6CisgCitAQCAtMjA4NSw3ICsyMDg1LDcgQEAgZ2xvYnVzX2dzaV9wcm94eV9oYW5kbGVf c2V0X2NvbW1vbl9uYW1lKAorICAqICAgICAgICBib29sZWFuIHZhbHVlIHRvIHNldCBvbiB0aGUg cHJveHkgaGFuZGxlCisgICoKKyAgKiBAcmV0dXJuCistICogICAgICAgIEdMT0JVU19TVUNDRVNT IHVubGVzcyBhbiBlcnJvciBvY2N1cnJlZCwgaW4gd2hpY2ggY2FzZSwgCisrICogICAgICAgIEdM T0JVU19TVUNDRVNTIHVubGVzcyBhbiBlcnJvciBvY2N1cnJlZCwgaW4gd2hpY2ggY2FzZSwKKyAg KiAgICAgICAgYSBnbG9idXMgZXJyb3Igb2JqZWN0IElEIGlzIHJldHVybmVkCisgICovCisgZ2xv YnVzX3Jlc3VsdF90CitAQCAtMjE0Niw3ICsyMTQ2LDcgQEAgZ2xvYnVzX2dzaV9wcm94eV9oYW5k bGVfc2V0X2lzX2xpbWl0ZWQoCisgICAgICAgICAgICAgcmVzdWx0ID0gZ2xvYnVzX2dzaV9wcm94 eV9oYW5kbGVfc2V0X3R5cGUoCisgICAgICAgICAgICAgICAgIGhhbmRsZSwKKyAgICAgICAgICAg ICAgICAgR0xPQlVTX0dTSV9DRVJUX1VUSUxTX1RZUEVfR1NJXzJfUFJPWFkpOworLSAgICAgICAg fSAgICAgICAgCisrICAgICAgICB9CisgICAgIH0KKyAKKyAgZXhpdDoKK0BAIC0yMTU3LDE1ICsy MTU3LDE1IEBAIGdsb2J1c19nc2lfcHJveHlfaGFuZGxlX3NldF9pc19saW1pdGVkKAorIAorIAor IC8qKgorLSAqIENoZWNrIHRvIHNlZSAgdGhlIHByb3h5IGlzIGEgbGltaXRlZCBwcm94eSAKKysg KiBDaGVjayB0byBzZWUgIHRoZSBwcm94eSBpcyBhIGxpbWl0ZWQgcHJveHkKKyAgKgorICAqIEBw YXJhbSBoYW5kbGUKKyAgKiAgICAgICAgdGhlIHByb3h5IGhhbmRsZSB0byBjaGVjaworICAqIEBw YXJhbSBpc19saW1pdGVkCistICogICAgICAgIGJvb2xlYW4gdmFsdWUgdG8gc2V0IGRlcGVuZGlu ZyBvbiB0aGUgdHlwZSBvZiBwcm94eSAKKysgKiAgICAgICAgYm9vbGVhbiB2YWx1ZSB0byBzZXQg ZGVwZW5kaW5nIG9uIHRoZSB0eXBlIG9mIHByb3h5CisgICoKKyAgKiBAcmV0dXJuCistICogICAg ICAgIEdMT0JVU19TVUNDRVNTIHVubGVzcyBhbiBlcnJvciBvY2N1cnJlZCwgaW4gd2hpY2ggY2Fz ZSwgCisrICogICAgICAgIEdMT0JVU19TVUNDRVNTIHVubGVzcyBhbiBlcnJvciBvY2N1cnJlZCwg aW4gd2hpY2ggY2FzZSwKKyAgKiAgICAgICAgYSBnbG9idXMgZXJyb3Igb2JqZWN0IElEIGlzIHJl dHVybmVkCisgICovCisgZ2xvYnVzX3Jlc3VsdF90CistLSAKKzIuNTQuMAorCgpkaWZmIC0tZ2l0 IGEvMDAwMi1CdWlsZC13aXRoLU9wZW5TU0wtNC5wYXRjaCBiLzAwMDItQnVpbGQtd2l0aC1PcGVu U1NMLTQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzk4ZDIxZAot LS0gL2Rldi9udWxsCisrKyBiLzAwMDItQnVpbGQtd2l0aC1PcGVuU1NMLTQucGF0Y2gKQEAgLTAs MCArMSwxNDcgQEAKK0Zyb20gMjQzNzViODUwM2QyYTQzNzM2MDBiMTRkMDM3MDBiNjk3NDE1NzM3 YiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1hdHRpYXMgRWxsZXJ0IDxtYXR0aWFz LmVsbGVydEBwaHlzaWNzLnV1LnNlPgorRGF0ZTogV2VkLCAyMCBNYXkgMjAyNiAwMDoxNTozNyAr MDIwMAorU3ViamVjdDogW1BBVENIIDIvMl0gQnVpbGQgd2l0aCBPcGVuU1NMIDQKKworLS0tCisg Li4uL3NvdXJjZS9saWJyYXJ5L2dsb2J1c19nc2lfcHJveHkuYyAgICAgICAgIHwgMzkgKysrKysr LS0tLS0tLS0tLS0tLQorIC4uLi9zb3VyY2UvbGlicmFyeS9nbG9idXNfZ3NpX3Byb3h5X2hhbmRs ZS5jICB8ICAyICstCisgMiBmaWxlcyBjaGFuZ2VkLCAxMiBpbnNlcnRpb25zKCspLCAyOSBkZWxl dGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2dzaS9wcm94eS9wcm94eV9jb3JlL3NvdXJjZS9saWJy YXJ5L2dsb2J1c19nc2lfcHJveHkuYyBiL2dzaS9wcm94eS9wcm94eV9jb3JlL3NvdXJjZS9saWJy YXJ5L2dsb2J1c19nc2lfcHJveHkuYworaW5kZXggMWY2OGJkNjAwLi5iMDdjMWZlY2QgMTAwNjQ0 CistLS0gYS9nc2kvcHJveHkvcHJveHlfY29yZS9zb3VyY2UvbGlicmFyeS9nbG9idXNfZ3NpX3By b3h5LmMKKysrKyBiL2dzaS9wcm94eS9wcm94eV9jb3JlL3NvdXJjZS9saWJyYXJ5L2dsb2J1c19n c2lfcHJveHkuYworQEAgLTU0OCw3ICs1NDgsNyBAQCBnbG9idXNfZ3NpX3Byb3h5X2NyZWF0ZV9y ZXEoCisgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgbWVtY3B5KAorICAgICAg ICAgICAgICAgICAgICAgcG9saWN5LAorLSAgICAgICAgICAgICAgICAgICAgQVNOMV9TVFJJTkdf ZGF0YShoYW5kbGUtPnByb3h5X2NlcnRfaW5mby0+cHJveHlQb2xpY3ktPnBvbGljeSksCisrICAg ICAgICAgICAgICAgICAgICBBU04xX1NUUklOR19nZXQwX2RhdGEoaGFuZGxlLT5wcm94eV9jZXJ0 X2luZm8tPnByb3h5UG9saWN5LT5wb2xpY3kpLAorICAgICAgICAgICAgICAgICAgICAgcG9saWN5 X2xlbik7CisgICAgICAgICAgICAgICAgIHBvbGljeVtwb2xpY3lfbGVuXSA9ICdcMCc7CisgICAg ICAgICAgICAgICAgIHRtcCA9IGdsb2J1c19jb21tb25fY3JlYXRlX3N0cmluZygiJXMscG9saWN5 OnRleHQ6JXMiLAorQEAgLTY3Niw3ICs2NzYsNyBAQCBnbG9idXNfZ3NpX3Byb3h5X2lucXVpcmVf cmVxKAorICAgICBnbG9idXNfcmVzdWx0X3QgICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSBH TE9CVVNfU1VDQ0VTUzsKKyAgICAgUFJPWFlfUE9MSUNZICogICAgICAgICAgICAgICAgICAgICAg cG9saWN5ID0gTlVMTDsKKyAgICAgQVNOMV9PQkpFQ1QgKiAgICAgICAgICAgICAgICAgICAgICAg cG9saWN5X2xhbmcgPSBOVUxMOworLSAgICBBU04xX09CSkVDVCAqICAgICAgICAgICAgICAgICAg ICAgICBleHRlbnNpb25fb2lkID0gTlVMTDsKKysgICAgY29uc3QgQVNOMV9PQkpFQ1QgKiAgICAg ICAgICAgICAgICAgZXh0ZW5zaW9uX29pZCA9IE5VTEw7CisgICAgIGludCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHBvbGljeV9uaWQgPSBOSURfdW5kZWY7CisgICAgIGludCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBjaV9OSUQgPSBOSURfdW5kZWY7CisgICAgIGlu dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBjaV9vbGRfTklEID0gTklEX3VuZGVm OworQEAgLTExNjksNiArMTE2OSw3IEBAIGdsb2J1c19sX2dzaV9wcm94eV9zaWduX2tleSgKKyAg ICAgWDUwOSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNzdWVyX2NlcnQgPSBOVUxM OworICAgICBYNTA5X0VYVEVOU0lPTiAqICAgICAgICAgICAgICAgICAgICBwY2lfZXh0ID0gTlVM TDsKKyAgICAgWDUwOV9FWFRFTlNJT04gKiAgICAgICAgICAgICAgICAgICAgZXh0ZW5zaW9uOwor KyAgICBjb25zdCBYNTA5X0VYVEVOU0lPTiAqICAgICAgICAgICAgICBleHRlbnNpb25fYzsKKyAg ICAgY29uc3QgRVZQX01EICogICAgICAgICAgICAgICAgICAgICAgaXNzdWVyX2RpZ2VzdDsKKyAg ICAgaW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb247CisgICAgIEVW UF9QS0VZICogICAgICAgICAgICAgICAgICAgICAgICAgIGlzc3Vlcl9wa2V5ID0gTlVMTDsKK0BA IC0xMzY0LDggKzEzNjUsNyBAQCBnbG9idXNfbF9nc2lfcHJveHlfc2lnbl9rZXkoCisgICAgICAg ICAgICAgZ290byBkb25lOworICAgICAgICAgfQorIAorLSAgICAgICAgcGNpX0RFUl9zdHJpbmct PmRhdGEgPSBwY2lfREVSOworLSAgICAgICAgcGNpX0RFUl9zdHJpbmctPmxlbmd0aCA9IHBjaV9E RVJfbGVuZ3RoOworKyAgICAgICAgQVNOMV9PQ1RFVF9TVFJJTkdfc2V0KHBjaV9ERVJfc3RyaW5n LCBwY2lfREVSLCBwY2lfREVSX2xlbmd0aCk7CisgCisgICAgICAgICBwY2lfZXh0ID0gWDUwOV9F WFRFTlNJT05fY3JlYXRlX2J5X05JRCgKKyAgICAgICAgICAgICAmcGNpX2V4dCwKK0BAIC0xNDQy LDcgKzE0NDIsNyBAQCBnbG9idXNfbF9nc2lfcHJveHlfc2lnbl9rZXkoCisgICAgICAgICAgICAg ICAgIH0KKyAgICAgICAgICAgICAgICAgbWVtY3B5KAorICAgICAgICAgICAgICAgICAgICAgcG9s aWN5LAorLSAgICAgICAgICAgICAgICAgICAgQVNOMV9TVFJJTkdfZGF0YShoYW5kbGUtPnByb3h5 X2NlcnRfaW5mby0+cHJveHlQb2xpY3ktPnBvbGljeSksCisrICAgICAgICAgICAgICAgICAgICBB U04xX1NUUklOR19nZXQwX2RhdGEoaGFuZGxlLT5wcm94eV9jZXJ0X2luZm8tPnByb3h5UG9saWN5 LT5wb2xpY3kpLAorICAgICAgICAgICAgICAgICAgICAgcG9saWN5X2xlbik7CisgICAgICAgICAg ICAgICAgIHBvbGljeVtwb2xpY3lfbGVuXSA9ICdcMCc7CisgICAgICAgICAgICAgICAgIHRtcCA9 IGdsb2J1c19jb21tb25fY3JlYXRlX3N0cmluZygiJXMscG9saWN5OnRleHQ6JXMiLAorQEAgLTE1 MDcsNyArMTUwNyw3IEBAIGdsb2J1c19sX2dzaV9wcm94eV9zaWduX2tleSgKKyAgICAgICAgIHVu c2lnbmVkIGNoYXIgKiAgICAgICAgICAgICAgICAgbW9kX2t1X0RFUjsKKyAgICAgICAgIGludCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAga3VfREVSX2xlbmd0aDsKKyAKKy0gICAgICAgIGlm KCEoZXh0ZW5zaW9uID0gWDUwOV9nZXRfZXh0KGlzc3Vlcl9jZXJ0LCBwb3NpdGlvbikpKQorKyAg ICAgICAgaWYoIShleHRlbnNpb25fYyA9IFg1MDlfZ2V0X2V4dChpc3N1ZXJfY2VydCwgcG9zaXRp b24pKSkKKyAgICAgICAgIHsKKyAgICAgICAgICAgICBHTE9CVVNfR1NJX1BST1hZX09QRU5TU0xf RVJST1JfUkVTVUxUKAorICAgICAgICAgICAgICAgICByZXN1bHQsCitAQCAtMTU4Myw4ICsxNTgz LDggQEAgZ2xvYnVzX2xfZ3NpX3Byb3h5X3NpZ25fa2V5KAorICAgICAgICAgICAgIGdvdG8gZG9u ZTsKKyAgICAgICAgIH0KKyAKKy0gICAgICAgIGt1X0RFUl9zdHJpbmctPmRhdGEgPSBrdV9ERVI7 CistICAgICAgICBrdV9ERVJfc3RyaW5nLT5sZW5ndGggPSBrdV9ERVJfbGVuZ3RoOworKyAgICAg ICAgQVNOMV9PQ1RFVF9TVFJJTkdfc2V0KGt1X0RFUl9zdHJpbmcsIGt1X0RFUiwga3VfREVSX2xl bmd0aCk7CisrICAgICAgICBmcmVlKGt1X0RFUik7CisgCisgICAgICAgICBleHRlbnNpb24gPSBY NTA5X0VYVEVOU0lPTl9jcmVhdGVfYnlfTklEKAorICAgICAgICAgICAgIE5VTEwsCitAQCAtMTYx OSw3ICsxNjE5LDcgQEAgZ2xvYnVzX2xfZ3NpX3Byb3h5X3NpZ25fa2V5KAorICAgICBpZigocG9z aXRpb24gPQorICAgICAgICAgWDUwOV9nZXRfZXh0X2J5X05JRChpc3N1ZXJfY2VydCwgTklEX2V4 dF9rZXlfdXNhZ2UsIC0xKSkgPiAtMSkKKyAgICAgeworLSAgICAgICAgaWYoIShleHRlbnNpb24g PSBYNTA5X2dldF9leHQoaXNzdWVyX2NlcnQsIHBvc2l0aW9uKSkpCisrICAgICAgICBpZighKGV4 dGVuc2lvbl9jID0gWDUwOV9nZXRfZXh0KGlzc3Vlcl9jZXJ0LCBwb3NpdGlvbikpKQorICAgICAg ICAgeworICAgICAgICAgICAgIEdMT0JVU19HU0lfUFJPWFlfT1BFTlNTTF9FUlJPUl9SRVNVTFQo CisgICAgICAgICAgICAgICAgIHJlc3VsdCwKK0BAIC0xNjI4LDcgKzE2MjgsNyBAQCBnbG9idXNf bF9nc2lfcHJveHlfc2lnbl9rZXkoCisgICAgICAgICAgICAgZ290byBkb25lOworICAgICAgICAg fQorIAorLSAgICAgICAgZXh0ZW5zaW9uID0gWDUwOV9FWFRFTlNJT05fZHVwKGV4dGVuc2lvbik7 CisrICAgICAgICBleHRlbnNpb24gPSBYNTA5X0VYVEVOU0lPTl9kdXAoZXh0ZW5zaW9uX2MpOwor IAorICAgICAgICAgaWYoZXh0ZW5zaW9uID09IE5VTEwpCisgICAgICAgICB7CitAQCAtMTgxNywz MiArMTgxNywxNSBAQCBnbG9idXNfbF9nc2lfcHJveHlfc2lnbl9rZXkoCisgICAgICAgICAgICAg WDUwOV9FWFRFTlNJT05fZnJlZShwY2lfZXh0KTsKKyAgICAgICAgIH0KKyAKKy0gICAgICAgICNp ZmRlZiBXSU4zMgorLSAgICAgICAgLyogSW4gV2luMzIgY2FuJ3QgbWl4IGxpYnJhcnkgYW5kIE9w ZW5TU0wgdmVyc2lvbnMgb2YgZnJlZSAqLworLSAgICAgICAgLyogICAgIHNvIHBjaV9ERVIgY2Fu J3QgYmUgZnJlZWQgaW4gQVNOMV9PQ1RFVF9TVFJJTkdfZnJlZSAqLworICAgICAgICAgaWYocGNp X0RFUl9zdHJpbmcpCisgICAgICAgICB7CistICAgICAgICAgICAgaWYocGNpX0RFUikKKy0gICAg ICAgICAgICB7CistICAgICAgICAgICAgICAgIGZyZWUocGNpX0RFUik7CistICAgICAgICAgICAg ICAgIHBjaV9ERVIgPSBOVUxMOworLSAgICAgICAgICAgIH0KKy0gICAgICAgICAgICBwY2lfREVS X3N0cmluZy0+ZGF0YSA9IE5VTEw7CistICAgICAgICAgICAgcGNpX0RFUl9zdHJpbmctPmxlbmd0 aCA9IDA7CisgICAgICAgICAgICAgQVNOMV9PQ1RFVF9TVFJJTkdfZnJlZShwY2lfREVSX3N0cmlu Zyk7CistICAgICAgICAgICAgcGNpX0RFUl9zdHJpbmcgPSBOVUxMOworICAgICAgICAgfQorLSAg ICAgICAgI2Vsc2UKKyAKKy0gICAgICAgIGlmKHBjaV9ERVJfc3RyaW5nKQorLSAgICAgICAgewor LSAgICAgICAgICAgIEFTTjFfT0NURVRfU1RSSU5HX2ZyZWUocGNpX0RFUl9zdHJpbmcpOworLSAg ICAgICAgfQorLSAgICAgICAgZWxzZSBpZihwY2lfREVSKQorKyAgICAgICAgaWYocGNpX0RFUikK KyAgICAgICAgIHsKKyAgICAgICAgICAgICBmcmVlKHBjaV9ERVIpOworICAgICAgICAgfQorLSAg ICAgICAgI2VuZGlmCisgCisgICAgICAgICBpZihzZXJpYWxfbnVtYmVyKQorICAgICAgICAgewor ZGlmZiAtLWdpdCBhL2dzaS9wcm94eS9wcm94eV9jb3JlL3NvdXJjZS9saWJyYXJ5L2dsb2J1c19n c2lfcHJveHlfaGFuZGxlLmMgYi9nc2kvcHJveHkvcHJveHlfY29yZS9zb3VyY2UvbGlicmFyeS9n bG9idXNfZ3NpX3Byb3h5X2hhbmRsZS5jCitpbmRleCA5MTZmODhiNzIuLjBlN2U3NTFhMiAxMDA2 NDQKKy0tLSBhL2dzaS9wcm94eS9wcm94eV9jb3JlL3NvdXJjZS9saWJyYXJ5L2dsb2J1c19nc2lf cHJveHlfaGFuZGxlLmMKKysrKyBiL2dzaS9wcm94eS9wcm94eV9jb3JlL3NvdXJjZS9saWJyYXJ5 L2dsb2J1c19nc2lfcHJveHlfaGFuZGxlLmMKK0BAIC04MTksNyArODE5LDcgQEAgZ2xvYnVzX2dz aV9wcm94eV9oYW5kbGVfZ2V0X3BvbGljeSgKKyAgICAgICAgICpwb2xpY3lfZGF0YSA9IG1hbGxv YygqcG9saWN5X2xlbmd0aCArIDEpOworIAorICAgICAgICAgbWVtY3B5KCpwb2xpY3lfZGF0YSwK Ky0gICAgICAgICAgICAgICAgQVNOMV9TVFJJTkdfZGF0YShoYW5kbGUtPnByb3h5X2NlcnRfaW5m by0+cHJveHlQb2xpY3ktPnBvbGljeSksCisrICAgICAgICAgICAgICAgIEFTTjFfU1RSSU5HX2dl dDBfZGF0YShoYW5kbGUtPnByb3h5X2NlcnRfaW5mby0+cHJveHlQb2xpY3ktPnBvbGljeSksCisg ICAgICAgICAgICAgICAgICpwb2xpY3lfbGVuZ3RoKTsKKyAgICAgICAgICgqcG9saWN5X2RhdGEp Wypwb2xpY3lfbGVuZ3RoXSA9IDA7CisgICAgIH0KKy0tIAorMi41NC4wCisKCmRpZmYgLS1naXQg YS9nbG9idXMtZ3NpLXByb3h5LWNvcmUuc3BlYyBiL2dsb2J1cy1nc2ktcHJveHktY29yZS5zcGVj CmluZGV4IDZkN2U3MzEuLmE1NDcwNzMgMTAwNjQ0Ci0tLSBhL2dsb2J1cy1nc2ktcHJveHktY29y ZS5zcGVjCisrKyBiL2dsb2J1cy1nc2ktcHJveHktY29yZS5zcGVjCkBAIC0xLDEzICsxLDE1IEBA CiBOYW1lOgkJZ2xvYnVzLWdzaS1wcm94eS1jb3JlCiAlZ2xvYmFsIF9uYW1lICUodHIgLSBfIDw8 PCAle25hbWV9KQogVmVyc2lvbjoJOS45Ci1SZWxlYXNlOgkxJXs/ZGlzdH0KK1JlbGVhc2U6CTIl ez9kaXN0fQogU3VtbWFyeToJR3JpZCBDb21tdW5pdHkgVG9vbGtpdCAtIEdsb2J1cyBHU0kgUHJv eHkgQ29yZSBMaWJyYXJ5CiAKIExpY2Vuc2U6CUFwYWNoZS0yLjAKIFVSTDoJCWh0dHBzOi8vZ2l0 aHViLmNvbS9ncmlkY2YvZ2N0LwogU291cmNlOgkJaHR0cHM6Ly9yZXBvLmdyaWRjZi5vcmcvZ2N0 Ni9zb3VyY2VzLyV7X25hbWV9LSV7dmVyc2lvbn0udGFyLmd6CiBTb3VyY2U4OglSRUFETUUKK1Bh dGNoMDoJCTAwMDEtVW50YWJpZnktYW5kLXJlbW92ZS10cmFpbGluZy13aGl0ZS1zcGFjZS5wYXRj aAorUGF0Y2gxOgkJMDAwMi1CdWlsZC13aXRoLU9wZW5TU0wtNC5wYXRjaAogCiBCdWlsZFJlcXVp cmVzOgltYWtlCiBCdWlsZFJlcXVpcmVzOglnY2MKQEAgLTYxLDYgKzYzLDggQEAgR2xvYnVzIEdT SSBQcm94eSBDb3JlIExpYnJhcnkgRG9jdW1lbnRhdGlvbiBGaWxlcwogCiAlcHJlcAogJXNldHVw IC1xIC1uICV7X25hbWV9LSV7dmVyc2lvbn0KKyVwYXRjaCAtUDAgLXA1CislcGF0Y2ggLVAxIC1w NQogCiAlYnVpbGQKICMgUmVkdWNlIG92ZXJsaW5raW5nCkBAIC0xMTMsNyArMTE3LDEwIEBAIHJt ICV7YnVpbGRyb290fSV7X3BrZ2RvY2Rpcn0vR0xPQlVTX0xJQ0VOU0UKICVsaWNlbnNlIEdMT0JV U19MSUNFTlNFCiAKICVjaGFuZ2Vsb2cKLSogU3VuIEphbiAyNSAyMDI2IE1hdHRpYXMgRWxsZXJ0 ICA8bWF0dGlhcy5lbGxlcnRAcGh5c2ljcy51dS5zZT4gLSA5LjktMQorKiBTdW4gSnVuIDE0IDIw MjYgTWF0dGlhcyBFbGxlcnQgPG1hdHRpYXMuZWxsZXJ0QHBoeXNpY3MudXUuc2U+IC0gOS45LTIK Ky0gQ29tcGlsZSB3aXRoIE9wZW5TU0wgNAorCisqIFN1biBKYW4gMjUgMjAyNiBNYXR0aWFzIEVs bGVydCA8bWF0dGlhcy5lbGxlcnRAcGh5c2ljcy51dS5zZT4gLSA5LjktMQogLSBOZXcgR0NUIHJl bGVhc2UgdjYuMi4yMDI2NjAxMjMKIC0gRHJvcCBwYXRjaCBnbG9idXMtZ3NpLXByb3h5LWNvcmUt Z2NjMTYtbHRvLnBhdGNoIChpbmNsdWRlZCBpbiB0aGUgcmVsZWFzZSkKIAo=