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: Steve Cossette To: git-commits@fedoraproject.org Subject: [rpms/qca] rawhide: 2.3.12 Date: Fri, 28 Aug 2026 22:49:51 GMT Message-ID: <178795739175.1.4603439445142399668.rpms-qca-adaf4d2ad511@fedoraproject.org> List-ID: X-Git-Repo: rpms/qca X-Git-Branch: rawhide X-Git-Rev: adaf4d2ad5117823cb81519ba51458209b993837 QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvcWNhCkJyYW5jaCA6 IHJhd2hpZGUKQ29tbWl0IDogYWRhZjRkMmFkNTExNzgyM2NiODE1MTliYTUxNDU4MjA5Yjk5Mzgz NwpBdXRob3IgOiBTdGV2ZSBDb3NzZXR0ZSA8ZmFyY2hvcmRAZ21haWwuY29tPgpEYXRlICAgOiAy MDI2LTA4LTI4VDE4OjQ5OjQzLTA0OjAwClN0YXRzICA6ICs3Ly00MjcgaW4gNCBmaWxlKHMpClVS TCAgICA6IGh0dHBzOi8vc3JjLmZlZG9yYXByb2plY3Qub3JnL3JwbXMvcWNhL2MvYWRhZjRkMmFk NTExNzgyM2NiODE1MTliYTUxNDU4MjA5Yjk5MzgzNz9icmFuY2g9cmF3aGlkZQoKTG9nOgoyLjMu MTIKCi0tLQpkaWZmIC0tZ2l0IGEvLmdpdGlnbm9yZSBiLy5naXRpZ25vcmUKaW5kZXggMzcyZGZm Zi4uOTQ5YWViYSAxMDA2NDQKLS0tIGEvLmdpdGlnbm9yZQorKysgYi8uZ2l0aWdub3JlCkBAIC0x MywzICsxMyw0IEBACiAvcWNhLTIuMy43LnRhci54egogL3FjYS0yLjMuOC50YXIueHoKIC9xY2Et Mi4zLjEwLnRhci54egorL3FjYS0yLjMuMTIudGFyLnh6CgpkaWZmIC0tZ2l0IGEvNmE3ZGRkNzZh YTU0ZWNjMTRkMTMxNTFjY2EwMDgxMzdiMGFhMjVkOC5wYXRjaCBiLzZhN2RkZDc2YWE1NGVjYzE0 ZDEzMTUxY2NhMDA4MTM3YjBhYTI1ZDgucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDBmMzMwMGUuLjAwMDAwMDAKLS0tIGEvNmE3ZGRkNzZhYTU0ZWNjMTRkMTMxNTFjY2EwMDgx MzdiMGFhMjVkOC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQyMCArMCwwIEBACi1Gcm9tIDZh N2RkZDc2YWE1NGVjYzE0ZDEzMTUxY2NhMDA4MTM3YjBhYTI1ZDggTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCi1Gcm9tOiBBbGJlcnQgQXN0YWxzIENpZCA8YWFjaWRAa2RlLm9yZz4KLURhdGU6IFN1 biwgMjEgSnVuIDIwMjYgMTI6NDQ6MDggKzAwMDAKLVN1YmplY3Q6IFtQQVRDSF0gQ29tcGlsZSB3 aXRoIG9wZW5zc2w0Ci0KLS0tLQotIHBsdWdpbnMvcWNhLW9zc2wvcWNhLW9zc2wuY3BwIHwgMTU4 ICsrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgOTYg aW5zZXJ0aW9ucygrKSwgNjIgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9wbHVnaW5zL3Fj YS1vc3NsL3FjYS1vc3NsLmNwcCBiL3BsdWdpbnMvcWNhLW9zc2wvcWNhLW9zc2wuY3BwCi1pbmRl eCBmNDFmY2JiNS4uN2FiMWI0N2QgMTAwNjQ0Ci0tLS0gYS9wbHVnaW5zL3FjYS1vc3NsL3FjYS1v c3NsLmNwcAotKysrIGIvcGx1Z2lucy9xY2Etb3NzbC9xY2Etb3NzbC5jcHAKLUBAIC0yODEsNiAr MjgxLDMwIEBAIHN0YXRpYyBDb25zdHJhaW50cyBleHRfb25seShjb25zdCBDb25zdHJhaW50cyAm bGlzdCkKLSAgICAgcmV0dXJuIGNvbnN0cmFpbnRzOwotIH0qLwotIAotKy8vIFdlIG5lZWQgdGhp cyB0byBzdXBwb3J0IG9wZW5zc2wzIChjb3VsZCBiZSByZW1vdmVkIG9uY2Ugd2Ugb25seSBzdXBw b3J0ID49IDQgaWYgdGhhdCBldmVyIGhhcHBlbnMpCi0rdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3Rh dGljIHZvaWQgKm91cl9YNTA5VjNfRVhUX2QyaShUICpleHQpCi0rewotKyAgICB1c2luZyBOb25D b25zdFR5cGUgPSBzdGQ6OnJlbW92ZV9jb25zdF90PFQ+OwotKwotKyAgICByZXR1cm4gWDUwOVYz X0VYVF9kMmkoY29uc3RfY2FzdDxOb25Db25zdFR5cGUgKj4oZXh0KSk7Ci0rfQotKwotKy8vIFdl IG5lZWQgdGhpcyB0byBzdXBwb3J0IG9wZW5zc2wxIChjb3VsZCBiZSByZW1vdmVkIG9uY2Ugd2Ug b25seSBzdXBwb3J0ID49IDMgaWYgdGhhdCBldmVyIGhhcHBlbnMpCi0rdGVtcGxhdGU8dHlwZW5h bWUgVD4gc3RhdGljIGludCBvdXJfWDUwOV9OQU1FX2dldF9pbmRleF9ieV9OSUQoVCAqbmFtZSwg aW50IG5pZCwgaW50IGxhc3Rwb3MpCi0rewotKyAgICB1c2luZyBOb25Db25zdFR5cGUgPSBzdGQ6 OnJlbW92ZV9jb25zdF90PFQ+OwotKwotKyAgICByZXR1cm4gWDUwOV9OQU1FX2dldF9pbmRleF9i eV9OSUQoY29uc3RfY2FzdDxOb25Db25zdFR5cGUgKj4obmFtZSksIG5pZCwgbGFzdHBvcyk7Ci0r fQotKwotKy8vIFdlIG5lZWQgdGhpcyB0byBzdXBwb3J0IG9wZW5zc2wxIChjb3VsZCBiZSByZW1v dmVkIG9uY2Ugd2Ugb25seSBzdXBwb3J0ID49IDMgaWYgdGhhdCBldmVyIGhhcHBlbnMpCi0rdGVt cGxhdGU8dHlwZW5hbWUgVD4gc3RhdGljIGludCBvdXJfWDUwOV9OQU1FX2dldF9pbmRleF9ieV9P QkooVCAqbmFtZSwgY29uc3QgQVNOMV9PQkpFQ1QgKm9iaiwgaW50IGxhc3Rwb3MpCi0rewotKyAg ICB1c2luZyBOb25Db25zdFR5cGUgPSBzdGQ6OnJlbW92ZV9jb25zdF90PFQ+OwotKwotKyAgICBy ZXR1cm4gWDUwOV9OQU1FX2dldF9pbmRleF9ieV9PQkooY29uc3RfY2FzdDxOb25Db25zdFR5cGUg Kj4obmFtZSksIG9iaiwgbGFzdHBvcyk7Ci0rfQotKwotIHN0YXRpYyB2b2lkIHRyeV9hZGRfbmFt ZV9pdGVtKFg1MDlfTkFNRSAqKm5hbWUsIGludCBuaWQsIGNvbnN0IFFTdHJpbmcgJnZhbCkKLSB7 Ci0gICAgIGlmICh2YWwuaXNFbXB0eSgpKQotQEAgLTMwNCwyMCArMzI4LDIyIEBAIHN0YXRpYyBY NTA5X05BTUUgKm5ld19jZXJ0X25hbWUoY29uc3QgQ2VydGlmaWNhdGVJbmZvICZpbmZvKQotICAg ICByZXR1cm4gbmFtZTsKLSB9Ci0gCi0tc3RhdGljIHZvaWQgdHJ5X2dldF9uYW1lX2l0ZW0oWDUw OV9OQU1FICpuYW1lLCBpbnQgbmlkLCBjb25zdCBDZXJ0aWZpY2F0ZUluZm9UeXBlICZ0LCBDZXJ0 aWZpY2F0ZUluZm8gKmluZm8pCi0rc3RhdGljIHZvaWQgdHJ5X2dldF9uYW1lX2l0ZW0oY29uc3Qg WDUwOV9OQU1FICpuYW1lLCBpbnQgbmlkLCBjb25zdCBDZXJ0aWZpY2F0ZUluZm9UeXBlICZ0LCBD ZXJ0aWZpY2F0ZUluZm8gKmluZm8pCi0gewotICAgICBpbnQgbG9jOwotICAgICBsb2MgPSAtMTsK LS0gICAgd2hpbGUgKChsb2MgPSBYNTA5X05BTUVfZ2V0X2luZGV4X2J5X05JRChuYW1lLCBuaWQs IGxvYykpICE9IC0xKSB7Ci0tICAgICAgICBYNTA5X05BTUVfRU5UUlkgKm5lICAgPSBYNTA5X05B TUVfZ2V0X2VudHJ5KG5hbWUsIGxvYyk7Ci0tICAgICAgICBBU04xX1NUUklORyAgICAgKmRhdGEg PSBYNTA5X05BTUVfRU5UUllfZ2V0X2RhdGEobmUpOwotLSAgICAgICAgUUJ5dGVBcnJheSAgICAg ICBjcygoY29uc3QgY2hhciAqKWRhdGEtPmRhdGEsIGRhdGEtPmxlbmd0aCk7Ci0rICAgIHdoaWxl ICgobG9jID0gb3VyX1g1MDlfTkFNRV9nZXRfaW5kZXhfYnlfTklEKG5hbWUsIG5pZCwgbG9jKSkg IT0gLTEpIHsKLSsgICAgICAgIGNvbnN0IFg1MDlfTkFNRV9FTlRSWSAqbmUgICA9IFg1MDlfTkFN RV9nZXRfZW50cnkobmFtZSwgbG9jKTsKLSsgICAgICAgIGNvbnN0IEFTTjFfU1RSSU5HICAgICAq ZGF0YSA9IFg1MDlfTkFNRV9FTlRSWV9nZXRfZGF0YShuZSk7Ci0rICAgICAgICBRQnl0ZUFycmF5 ICAgICAgICAgICAgIGNzKChjb25zdCBjaGFyICopQVNOMV9TVFJJTkdfZ2V0MF9kYXRhKGRhdGEp LCBBU04xX1NUUklOR19sZW5ndGgoZGF0YSkpOwotICAgICAgICAgaW5mby0+aW5zZXJ0KHQsIFFT dHJpbmc6OmZyb21MYXRpbjEoY3MpKTsKLSAgICAgfQotIH0KLSAKLS1zdGF0aWMgdm9pZAotLXRy eV9nZXRfbmFtZV9pdGVtX2J5X29pZChYNTA5X05BTUUgKm5hbWUsIGNvbnN0IFFTdHJpbmcgJm9p ZFRleHQsIGNvbnN0IENlcnRpZmljYXRlSW5mb1R5cGUgJnQsIENlcnRpZmljYXRlSW5mbyAqaW5m bykKLStzdGF0aWMgdm9pZCB0cnlfZ2V0X25hbWVfaXRlbV9ieV9vaWQoY29uc3QgWDUwOV9OQU1F ICAgICAgICAgICAqbmFtZSwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Y29uc3QgUVN0cmluZyAgICAgICAgICAgICAmb2lkVGV4dCwKLSsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgY29uc3QgQ2VydGlmaWNhdGVJbmZvVHlwZSAmdCwKLSsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2VydGlmaWNhdGVJbmZvICAgICAgICAgICAq aW5mbykKLSB7Ci0gICAgIEFTTjFfT0JKRUNUICpvaWQgPSBPQkpfdHh0Mm9iaihvaWRUZXh0LnRv TGF0aW4xKCkuZGF0YSgpLCAxKTsgLy8gMSA9IG9ubHkgYWNjZXB0IGRvdHRlZCBpbnB1dAotICAg ICBpZiAoIW9pZCkKLUBAIC0zMjUsMTcgKzM1MSwxNyBAQCB0cnlfZ2V0X25hbWVfaXRlbV9ieV9v aWQoWDUwOV9OQU1FICpuYW1lLCBjb25zdCBRU3RyaW5nICZvaWRUZXh0LCBjb25zdCBDZXJ0aWZp YwotIAotICAgICBpbnQgbG9jOwotICAgICBsb2MgPSAtMTsKLS0gICAgd2hpbGUgKChsb2MgPSBY NTA5X05BTUVfZ2V0X2luZGV4X2J5X09CSihuYW1lLCBvaWQsIGxvYykpICE9IC0xKSB7Ci0tICAg ICAgICBYNTA5X05BTUVfRU5UUlkgKm5lICAgPSBYNTA5X05BTUVfZ2V0X2VudHJ5KG5hbWUsIGxv Yyk7Ci0tICAgICAgICBBU04xX1NUUklORyAgICAgKmRhdGEgPSBYNTA5X05BTUVfRU5UUllfZ2V0 X2RhdGEobmUpOwotLSAgICAgICAgUUJ5dGVBcnJheSAgICAgICBjcygoY29uc3QgY2hhciAqKWRh dGEtPmRhdGEsIGRhdGEtPmxlbmd0aCk7Ci0rICAgIHdoaWxlICgobG9jID0gb3VyX1g1MDlfTkFN RV9nZXRfaW5kZXhfYnlfT0JKKG5hbWUsIG9pZCwgbG9jKSkgIT0gLTEpIHsKLSsgICAgICAgIGNv bnN0IFg1MDlfTkFNRV9FTlRSWSAqbmUgICA9IFg1MDlfTkFNRV9nZXRfZW50cnkobmFtZSwgbG9j KTsKLSsgICAgICAgIGNvbnN0IEFTTjFfU1RSSU5HICAgICAqZGF0YSA9IFg1MDlfTkFNRV9FTlRS WV9nZXRfZGF0YShuZSk7Ci0rICAgICAgICBRQnl0ZUFycmF5ICAgICAgICAgICAgIGNzKChjb25z dCBjaGFyICopQVNOMV9TVFJJTkdfZ2V0MF9kYXRhKGRhdGEpLCBBU04xX1NUUklOR19sZW5ndGgo ZGF0YSkpOwotICAgICAgICAgaW5mby0+aW5zZXJ0KHQsIFFTdHJpbmc6OmZyb21MYXRpbjEoY3Mp KTsKLSAgICAgICAgIHFEZWJ1ZygpIDw8ICJvaWQ6ICIgPDwgb2lkVGV4dCA8PCAiLCAgcmVzdWx0 OiAiIDw8IGNzOwotICAgICB9Ci0gICAgIEFTTjFfT0JKRUNUX2ZyZWUob2lkKTsKLSB9Ci0gCi0t c3RhdGljIENlcnRpZmljYXRlSW5mbyBnZXRfY2VydF9uYW1lKFg1MDlfTkFNRSAqbmFtZSkKLStz dGF0aWMgQ2VydGlmaWNhdGVJbmZvIGdldF9jZXJ0X25hbWUoY29uc3QgWDUwOV9OQU1FICpuYW1l KQotIHsKLSAgICAgQ2VydGlmaWNhdGVJbmZvIGluZm87Ci0gICAgIHRyeV9nZXRfbmFtZV9pdGVt KG5hbWUsIE5JRF9jb21tb25OYW1lLCBDb21tb25OYW1lLCAmaW5mbyk7Ci1AQCAtMzg5LDkgKzQx NSw5IEBAIHN0YXRpYyBYNTA5X0VYVEVOU0lPTiAqbmV3X2Jhc2ljX2NvbnN0cmFpbnRzKGJvb2wg Y2EsIGludCBwYXRobGVuKQotICAgICByZXR1cm4gZXg7Ci0gfQotIAotLXN0YXRpYyB2b2lkIGdl dF9iYXNpY19jb25zdHJhaW50cyhYNTA5X0VYVEVOU0lPTiAqZXgsIGJvb2wgKmNhLCBpbnQgKnBh dGhsZW4pCi0rc3RhdGljIHZvaWQgZ2V0X2Jhc2ljX2NvbnN0cmFpbnRzKGNvbnN0IFg1MDlfRVhU RU5TSU9OICpleCwgYm9vbCAqY2EsIGludCAqcGF0aGxlbikKLSB7Ci0tICAgIEJBU0lDX0NPTlNU UkFJTlRTICpicyA9IChCQVNJQ19DT05TVFJBSU5UUyAqKVg1MDlWM19FWFRfZDJpKGV4KTsKLSsg ICAgQkFTSUNfQ09OU1RSQUlOVFMgKmJzID0gKEJBU0lDX0NPTlNUUkFJTlRTICopb3VyX1g1MDlW M19FWFRfZDJpKGV4KTsKLSAgICAgKmNhICAgICAgICAgICAgICAgICAgID0gKGJzLT5jYSA/IHRy dWUgOiBmYWxzZSk7Ci0gICAgIGlmIChicy0+cGF0aGxlbikKLSAgICAgICAgICpwYXRobGVuID0g QVNOMV9JTlRFR0VSX2dldChicy0+cGF0aGxlbik7Ci1AQCAtNjQxLDEwICs2NjcsMTAgQEAgc3Rh dGljIHZvaWQgdHJ5X2dldF9nZW5lcmFsX25hbWUoR0VORVJBTF9OQU1FUyAqbmFtZXMsIGNvbnN0 IENlcnRpZmljYXRlSW5mb1R5cGUKLSAgICAgfQotIH0KLSAKLS1zdGF0aWMgQ2VydGlmaWNhdGVJ bmZvIGdldF9jZXJ0X2FsdF9uYW1lKFg1MDlfRVhURU5TSU9OICpleCkKLStzdGF0aWMgQ2VydGlm aWNhdGVJbmZvIGdldF9jZXJ0X2FsdF9uYW1lKGNvbnN0IFg1MDlfRVhURU5TSU9OICpleCkKLSB7 Ci0gICAgIENlcnRpZmljYXRlSW5mbyBpbmZvOwotLSAgICBHRU5FUkFMX05BTUVTICAqZ24gPSAo R0VORVJBTF9OQU1FUyAqKVg1MDlWM19FWFRfZDJpKGV4KTsKLSsgICAgR0VORVJBTF9OQU1FUyAg KmduID0gKEdFTkVSQUxfTkFNRVMgKilvdXJfWDUwOVYzX0VYVF9kMmkoZXgpOwotICAgICB0cnlf Z2V0X2dlbmVyYWxfbmFtZShnbiwgRW1haWwsICZpbmZvKTsKLSAgICAgdHJ5X2dldF9nZW5lcmFs X25hbWUoZ24sIFVSSSwgJmluZm8pOwotICAgICB0cnlfZ2V0X2dlbmVyYWxfbmFtZShnbiwgRE5T LCAmaW5mbyk7Ci1AQCAtNzA0LDcgKzczMCw3IEBAIHN0YXRpYyBYNTA5X0VYVEVOU0lPTiAqbmV3 X2NlcnRfa2V5X3VzYWdlKGNvbnN0IENvbnN0cmFpbnRzICZjb25zdHJhaW50cykKLSAgICAgcmV0 dXJuIGV4OwotIH0KLSAKLS1zdGF0aWMgQ29uc3RyYWludHMgZ2V0X2NlcnRfa2V5X3VzYWdlKFg1 MDlfRVhURU5TSU9OICpleCkKLStzdGF0aWMgQ29uc3RyYWludHMgZ2V0X2NlcnRfa2V5X3VzYWdl KGNvbnN0IFg1MDlfRVhURU5TSU9OICpleCkKLSB7Ci0gICAgIENvbnN0cmFpbnRzIGNvbnN0cmFp bnRzOwotICAgICBpbnQgICAgICAgICBiaXRfdGFibGVbOV0gPSB7RGlnaXRhbFNpZ25hdHVyZSwK LUBAIC03MTcsNyArNzQzLDcgQEAgc3RhdGljIENvbnN0cmFpbnRzIGdldF9jZXJ0X2tleV91c2Fn ZShYNTA5X0VYVEVOU0lPTiAqZXgpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBF bmNpcGhlck9ubHksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZWNpcGhlck9u bHl9OwotIAotLSAgICBBU04xX0JJVF9TVFJJTkcgKmtleXVzYWdlID0gKEFTTjFfQklUX1NUUklO RyAqKVg1MDlWM19FWFRfZDJpKGV4KTsKLSsgICAgQVNOMV9CSVRfU1RSSU5HICprZXl1c2FnZSA9 IChBU04xX0JJVF9TVFJJTkcgKilvdXJfWDUwOVYzX0VYVF9kMmkoZXgpOwotICAgICBmb3IgKGlu dCBuID0gMDsgbiA8IDk7ICsrbikgewotICAgICAgICAgaWYgKEFTTjFfQklUX1NUUklOR19nZXRf Yml0KGtleXVzYWdlLCBuKSkKLSAgICAgICAgICAgICBjb25zdHJhaW50cyArPSBDb25zdHJhaW50 VHlwZSgoQ29uc3RyYWludFR5cGVLbm93biliaXRfdGFibGVbbl0pOwotQEAgLTc3OCwxMSArODA0 LDExIEBAIHN0YXRpYyBYNTA5X0VYVEVOU0lPTiAqbmV3X2NlcnRfZXh0X2tleV91c2FnZShjb25z dCBDb25zdHJhaW50cyAmY29uc3RyYWludHMpCi0gICAgIHJldHVybiBleDsKLSB9Ci0gCi0tc3Rh dGljIENvbnN0cmFpbnRzIGdldF9jZXJ0X2V4dF9rZXlfdXNhZ2UoWDUwOV9FWFRFTlNJT04gKmV4 KQotK3N0YXRpYyBDb25zdHJhaW50cyBnZXRfY2VydF9leHRfa2V5X3VzYWdlKGNvbnN0IFg1MDlf RVhURU5TSU9OICpleCkKLSB7Ci0gICAgIENvbnN0cmFpbnRzIGNvbnN0cmFpbnRzOwotIAotLSAg ICBFWFRFTkRFRF9LRVlfVVNBR0UgKmV4dGtleXVzYWdlID0gKEVYVEVOREVEX0tFWV9VU0FHRSAq KVg1MDlWM19FWFRfZDJpKGV4KTsKLSsgICAgRVhURU5ERURfS0VZX1VTQUdFICpleHRrZXl1c2Fn ZSA9IChFWFRFTkRFRF9LRVlfVVNBR0UgKilvdXJfWDUwOVYzX0VYVF9kMmkoZXgpOwotICAgICBm b3IgKGludCBuID0gMDsgbiA8IHNrX0FTTjFfT0JKRUNUX251bShleHRrZXl1c2FnZSk7ICsrbikg ewotICAgICAgICAgQVNOMV9PQkpFQ1QgKm9iaiA9IHNrX0FTTjFfT0JKRUNUX3ZhbHVlKGV4dGtl eXVzYWdlLCBuKTsKLSAgICAgICAgIGludCAgICAgICAgICBuaWQgPSBPQkpfb2JqMm5pZChvYmop OwotQEAgLTg1MiwxMCArODc4LDEwIEBAIHN0YXRpYyBYNTA5X0VYVEVOU0lPTiAqbmV3X2NlcnRf cG9saWNpZXMoY29uc3QgUVN0cmluZ0xpc3QgJnBvbGljaWVzKQotICAgICByZXR1cm4gZXg7Ci0g fQotIAotLXN0YXRpYyBRU3RyaW5nTGlzdCBnZXRfY2VydF9wb2xpY2llcyhYNTA5X0VYVEVOU0lP TiAqZXgpCi0rc3RhdGljIFFTdHJpbmdMaXN0IGdldF9jZXJ0X3BvbGljaWVzKGNvbnN0IFg1MDlf RVhURU5TSU9OICpleCkKLSB7Ci0gICAgIFFTdHJpbmdMaXN0IG91dDsKLS0gICAgU1RBQ0tfT0Yo UE9MSUNZSU5GTykgKnBvbHMgPSAoU1RBQ0tfT0YoUE9MSUNZSU5GTykgKilYNTA5VjNfRVhUX2Qy aShleCk7Ci0rICAgIFNUQUNLX09GKFBPTElDWUlORk8pICpwb2xzID0gKFNUQUNLX09GKFBPTElD WUlORk8pICopb3VyX1g1MDlWM19FWFRfZDJpKGV4KTsKLSAgICAgZm9yIChpbnQgbiA9IDA7IG4g PCBza19QT0xJQ1lJTkZPX251bShwb2xzKTsgKytuKSB7Ci0gICAgICAgICBQT0xJQ1lJTkZPICpw b2wgPSBza19QT0xJQ1lJTkZPX3ZhbHVlKHBvbHMsIG4pOwotICAgICAgICAgUUJ5dGVBcnJheSAg YnVmKDEyOCwgMCk7Ci1AQCAtODY3LDkgKzg5Myw5IEBAIHN0YXRpYyBRU3RyaW5nTGlzdCBnZXRf Y2VydF9wb2xpY2llcyhYNTA5X0VYVEVOU0lPTiAqZXgpCi0gICAgIHJldHVybiBvdXQ7Ci0gfQot IAotLXN0YXRpYyBRQnl0ZUFycmF5IGdldF9jZXJ0X3N1YmplY3Rfa2V5X2lkKFg1MDlfRVhURU5T SU9OICpleCkKLStzdGF0aWMgUUJ5dGVBcnJheSBnZXRfY2VydF9zdWJqZWN0X2tleV9pZChjb25z dCBYNTA5X0VYVEVOU0lPTiAqZXgpCi0gewotLSAgICBBU04xX09DVEVUX1NUUklORyAqc2tpZCA9 IChBU04xX09DVEVUX1NUUklORyAqKVg1MDlWM19FWFRfZDJpKGV4KTsKLSsgICAgQVNOMV9PQ1RF VF9TVFJJTkcgKnNraWQgPSAoQVNOMV9PQ1RFVF9TVFJJTkcgKilvdXJfWDUwOVYzX0VYVF9kMmko ZXgpOwotICAgICBjb25zdCBRQnl0ZUFycmF5ICAgb3V0ICA9IHFjYV9BU04xX1NUUklOR190b0J5 dGVBcnJheShza2lkKTsKLSAgICAgQVNOMV9PQ1RFVF9TVFJJTkdfZnJlZShza2lkKTsKLSAgICAg cmV0dXJuIG91dDsKLUBAIC04NzcsOSArOTAzLDkgQEAgc3RhdGljIFFCeXRlQXJyYXkgZ2V0X2Nl cnRfc3ViamVjdF9rZXlfaWQoWDUwOV9FWFRFTlNJT04gKmV4KQotIAotIC8vIElmIHlvdSBnZXQg YW55IG1vcmUgY3Jhc2hlcyBpbiB0aGlzIGNvZGUsIHBsZWFzZSBwcm92aWRlIGEgY29weQotIC8v IG9mIHRoZSBjZXJ0IHRvIGJyYWRoIEFUIGZyb2dtb3V0aC5uZXQKLS1zdGF0aWMgUUJ5dGVBcnJh eSBnZXRfY2VydF9pc3N1ZXJfa2V5X2lkKFg1MDlfRVhURU5TSU9OICpleCkKLStzdGF0aWMgUUJ5 dGVBcnJheSBnZXRfY2VydF9pc3N1ZXJfa2V5X2lkKGNvbnN0IFg1MDlfRVhURU5TSU9OICpleCkK LSB7Ci0tICAgIEFVVEhPUklUWV9LRVlJRCAqYWtpZCA9IChBVVRIT1JJVFlfS0VZSUQgKilYNTA5 VjNfRVhUX2QyaShleCk7Ci0rICAgIEFVVEhPUklUWV9LRVlJRCAqYWtpZCA9IChBVVRIT1JJVFlf S0VZSUQgKilvdXJfWDUwOVYzX0VYVF9kMmkoZXgpOwotICAgICBRQnl0ZUFycmF5ICAgICAgIG91 dDsKLSAgICAgaWYgKGFraWQtPmtleWlkKQotICAgICAgICAgb3V0ID0gcWNhX0FTTjFfU1RSSU5H X3RvQnl0ZUFycmF5KGFraWQtPmtleWlkKTsKLUBAIC0zMzM0LDE2ICszMzYwLDE2IEBAIHB1Ymxp YzoKLSAvLyBieSBFcmljIFlvdW5nCi0gUURhdGVUaW1lIEFTTjFfVVRDVElNRV9RRGF0ZVRpbWUo Y29uc3QgQVNOMV9VVENUSU1FICp0bSwgaW50ICppc0dtdCkKLSB7Ci0tICAgIFFEYXRlVGltZSBx ZHQ7Ci0tICAgIGNoYXIgICAgICp2OwotLSAgICBpbnQgICAgICAgZ210ID0gMDsKLS0gICAgaW50 ICAgICAgIGk7Ci0tICAgIGludCAgICAgICB5ID0gMCwgTSA9IDAsIGQgPSAwLCBoID0gMCwgbSA9 IDAsIHMgPSAwOwotLSAgICBRRGF0ZSAgICAgcWRhdGU7Ci0tICAgIFFUaW1lICAgICBxdGltZTsK LSsgICAgUURhdGVUaW1lICAgcWR0OwotKyAgICBjb25zdCBjaGFyICp2OwotKyAgICBpbnQgICAg ICAgICBnbXQgPSAwOwotKyAgICBpbnQgICAgICAgICBpOwotKyAgICBpbnQgICAgICAgICB5ID0g MCwgTSA9IDAsIGQgPSAwLCBoID0gMCwgbSA9IDAsIHMgPSAwOwotKyAgICBRRGF0ZSAgICAgICBx ZGF0ZTsKLSsgICAgUVRpbWUgICAgICAgcXRpbWU7Ci0gCi0tICAgIGkgPSB0bS0+bGVuZ3RoOwot LSAgICB2ID0gKGNoYXIgKil0bS0+ZGF0YTsKLSsgICAgaSA9IEFTTjFfU1RSSU5HX2xlbmd0aCgo Y29uc3QgQVNOMV9TVFJJTkcgKil0bSk7Ci0rICAgIHYgPSAoY29uc3QgY2hhciAqKUFTTjFfU1RS SU5HX2dldDBfZGF0YSgoY29uc3QgQVNOMV9TVFJJTkcgKil0bSk7Ci0gCi0gICAgIGlmIChpIDwg MTApCi0gICAgICAgICBnb3RvIGF1cV9lcnI7Ci1AQCAtMzY3Miw0MiArMzY5OCw0MiBAQCBwdWJs aWM6Ci0gICAgICAgICBwLnBhdGhMaW1pdCA9IDA7Ci0gICAgICAgICBpbnQgcG9zICAgICA9IFg1 MDlfZ2V0X2V4dF9ieV9OSUQoeCwgTklEX2Jhc2ljX2NvbnN0cmFpbnRzLCAtMSk7Ci0gICAgICAg ICBpZiAocG9zICE9IC0xKSB7Ci0tICAgICAgICAgICAgWDUwOV9FWFRFTlNJT04gKmV4ID0gWDUw OV9nZXRfZXh0KHgsIHBvcyk7Ci0rICAgICAgICAgICAgY29uc3QgWDUwOV9FWFRFTlNJT04gKmV4 ID0gWDUwOV9nZXRfZXh0KHgsIHBvcyk7Ci0gICAgICAgICAgICAgaWYgKGV4KQotICAgICAgICAg ICAgICAgICBnZXRfYmFzaWNfY29uc3RyYWludHMoZXgsICZwLmlzQ0EsICZwLnBhdGhMaW1pdCk7 Ci0gICAgICAgICB9Ci0gCi0gICAgICAgICBwb3MgPSBYNTA5X2dldF9leHRfYnlfTklEKHgsIE5J RF9zdWJqZWN0X2FsdF9uYW1lLCAtMSk7Ci0gICAgICAgICBpZiAocG9zICE9IC0xKSB7Ci0tICAg ICAgICAgICAgWDUwOV9FWFRFTlNJT04gKmV4ID0gWDUwOV9nZXRfZXh0KHgsIHBvcyk7Ci0rICAg ICAgICAgICAgY29uc3QgWDUwOV9FWFRFTlNJT04gKmV4ID0gWDUwOV9nZXRfZXh0KHgsIHBvcyk7 Ci0gICAgICAgICAgICAgaWYgKGV4KQotICAgICAgICAgICAgICAgICBzdWJqZWN0LnVuaXRlKGdl dF9jZXJ0X2FsdF9uYW1lKGV4KSk7Ci0gICAgICAgICB9Ci0gCi0gICAgICAgICBwb3MgPSBYNTA5 X2dldF9leHRfYnlfTklEKHgsIE5JRF9pc3N1ZXJfYWx0X25hbWUsIC0xKTsKLSAgICAgICAgIGlm IChwb3MgIT0gLTEpIHsKLS0gICAgICAgICAgICBYNTA5X0VYVEVOU0lPTiAqZXggPSBYNTA5X2dl dF9leHQoeCwgcG9zKTsKLSsgICAgICAgICAgICBjb25zdCBYNTA5X0VYVEVOU0lPTiAqZXggPSBY NTA5X2dldF9leHQoeCwgcG9zKTsKLSAgICAgICAgICAgICBpZiAoZXgpCi0gICAgICAgICAgICAg ICAgIGlzc3Vlci51bml0ZShnZXRfY2VydF9hbHRfbmFtZShleCkpOwotICAgICAgICAgfQotIAot ICAgICAgICAgcG9zID0gWDUwOV9nZXRfZXh0X2J5X05JRCh4LCBOSURfa2V5X3VzYWdlLCAtMSk7 Ci0gICAgICAgICBpZiAocG9zICE9IC0xKSB7Ci0tICAgICAgICAgICAgWDUwOV9FWFRFTlNJT04g KmV4ID0gWDUwOV9nZXRfZXh0KHgsIHBvcyk7Ci0rICAgICAgICAgICAgY29uc3QgWDUwOV9FWFRF TlNJT04gKmV4ID0gWDUwOV9nZXRfZXh0KHgsIHBvcyk7Ci0gICAgICAgICAgICAgaWYgKGV4KQot ICAgICAgICAgICAgICAgICBwLmNvbnN0cmFpbnRzID0gZ2V0X2NlcnRfa2V5X3VzYWdlKGV4KTsK LSAgICAgICAgIH0KLSAKLSAgICAgICAgIHBvcyA9IFg1MDlfZ2V0X2V4dF9ieV9OSUQoeCwgTklE X2V4dF9rZXlfdXNhZ2UsIC0xKTsKLSAgICAgICAgIGlmIChwb3MgIT0gLTEpIHsKLS0gICAgICAg ICAgICBYNTA5X0VYVEVOU0lPTiAqZXggPSBYNTA5X2dldF9leHQoeCwgcG9zKTsKLSsgICAgICAg ICAgICBjb25zdCBYNTA5X0VYVEVOU0lPTiAqZXggPSBYNTA5X2dldF9leHQoeCwgcG9zKTsKLSAg ICAgICAgICAgICBpZiAoZXgpCi0gICAgICAgICAgICAgICAgIHAuY29uc3RyYWludHMgKz0gZ2V0 X2NlcnRfZXh0X2tleV91c2FnZShleCk7Ci0gICAgICAgICB9Ci0gCi0gICAgICAgICBwb3MgPSBY NTA5X2dldF9leHRfYnlfTklEKHgsIE5JRF9jZXJ0aWZpY2F0ZV9wb2xpY2llcywgLTEpOwotICAg ICAgICAgaWYgKHBvcyAhPSAtMSkgewotLSAgICAgICAgICAgIFg1MDlfRVhURU5TSU9OICpleCA9 IFg1MDlfZ2V0X2V4dCh4LCBwb3MpOwotKyAgICAgICAgICAgIGNvbnN0IFg1MDlfRVhURU5TSU9O ICpleCA9IFg1MDlfZ2V0X2V4dCh4LCBwb3MpOwotICAgICAgICAgICAgIGlmIChleCkKLSAgICAg ICAgICAgICAgICAgcC5wb2xpY2llcyA9IGdldF9jZXJ0X3BvbGljaWVzKGV4KTsKLSAgICAgICAg IH0KLUBAIC0zNzE2LDkgKzM3NDIsMTAgQEAgcHVibGljOgotIAotICAgICAgICAgWDUwOV9nZXQw X3NpZ25hdHVyZSgmc2lnbmF0dXJlLCBudWxscHRyLCB4KTsKLSAgICAgICAgIGlmIChzaWduYXR1 cmUpIHsKLS0gICAgICAgICAgICBwLnNpZyA9IFFCeXRlQXJyYXkoc2lnbmF0dXJlLT5sZW5ndGgs IDApOwotLSAgICAgICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgc2lnbmF0dXJlLT5sZW5ndGg7 IGkrKykKLS0gICAgICAgICAgICAgICAgcC5zaWdbaV0gPSBzaWduYXR1cmUtPmRhdGFbaV07Ci0r ICAgICAgICAgICAgY29uc3QgaW50IGJ5dGVfbGVuID0gQVNOMV9TVFJJTkdfbGVuZ3RoKChjb25z dCBBU04xX1NUUklORyAqKXNpZ25hdHVyZSk7Ci0rICAgICAgICAgICAgcC5zaWcgICAgICAgICAg ICAgID0gUUJ5dGVBcnJheShieXRlX2xlbiwgMCk7Ci0rICAgICAgICAgICAgZm9yIChpbnQgaSA9 IDA7IGkgPCBieXRlX2xlbjsgaSsrKQotKyAgICAgICAgICAgICAgICBwLnNpZ1tpXSA9IEFTTjFf QklUX1NUUklOR19nZXRfYml0KHNpZ25hdHVyZSwgaSk7Ci0gICAgICAgICB9Ci0gCi0gICAgICAg ICBzd2l0Y2ggKFg1MDlfZ2V0X3NpZ25hdHVyZV9uaWQoeCkpIHsKLUBAIC0zNzU4LDE0ICszNzg1 LDE0IEBAIHB1YmxpYzoKLSAKLSAgICAgICAgIHBvcyA9IFg1MDlfZ2V0X2V4dF9ieV9OSUQoeCwg TklEX3N1YmplY3Rfa2V5X2lkZW50aWZpZXIsIC0xKTsKLSAgICAgICAgIGlmIChwb3MgIT0gLTEp IHsKLS0gICAgICAgICAgICBYNTA5X0VYVEVOU0lPTiAqZXggPSBYNTA5X2dldF9leHQoeCwgcG9z KTsKLSsgICAgICAgICAgICBjb25zdCBYNTA5X0VYVEVOU0lPTiAqZXggPSBYNTA5X2dldF9leHQo eCwgcG9zKTsKLSAgICAgICAgICAgICBpZiAoZXgpCi0gICAgICAgICAgICAgICAgIHAuc3ViamVj dElkICs9IGdldF9jZXJ0X3N1YmplY3Rfa2V5X2lkKGV4KTsKLSAgICAgICAgIH0KLSAKLSAgICAg ICAgIHBvcyA9IFg1MDlfZ2V0X2V4dF9ieV9OSUQoeCwgTklEX2F1dGhvcml0eV9rZXlfaWRlbnRp ZmllciwgLTEpOwotICAgICAgICAgaWYgKHBvcyAhPSAtMSkgewotLSAgICAgICAgICAgIFg1MDlf RVhURU5TSU9OICpleCA9IFg1MDlfZ2V0X2V4dCh4LCBwb3MpOwotKyAgICAgICAgICAgIGNvbnN0 IFg1MDlfRVhURU5TSU9OICpleCA9IFg1MDlfZ2V0X2V4dCh4LCBwb3MpOwotICAgICAgICAgICAg IGlmIChleCkKLSAgICAgICAgICAgICAgICAgcC5pc3N1ZXJJZCArPSBnZXRfY2VydF9pc3N1ZXJf a2V5X2lkKGV4KTsKLSAgICAgICAgIH0KLUBAIC00MTc1LDM1ICs0MjAyLDM1IEBAIHB1YmxpYzoK LSAgICAgICAgIHAucGF0aExpbWl0ID0gMDsKLSAgICAgICAgIGludCBwb3MgICAgID0gWDUwOXYz X2dldF9leHRfYnlfTklEKGV4dHMsIE5JRF9iYXNpY19jb25zdHJhaW50cywgLTEpOwotICAgICAg ICAgaWYgKHBvcyAhPSAtMSkgewotLSAgICAgICAgICAgIFg1MDlfRVhURU5TSU9OICpleCA9IFg1 MDl2M19nZXRfZXh0KGV4dHMsIHBvcyk7Ci0rICAgICAgICAgICAgY29uc3QgWDUwOV9FWFRFTlNJ T04gKmV4ID0gWDUwOXYzX2dldF9leHQoZXh0cywgcG9zKTsKLSAgICAgICAgICAgICBpZiAoZXgp Ci0gICAgICAgICAgICAgICAgIGdldF9iYXNpY19jb25zdHJhaW50cyhleCwgJnAuaXNDQSwgJnAu cGF0aExpbWl0KTsKLSAgICAgICAgIH0KLSAKLSAgICAgICAgIHBvcyA9IFg1MDl2M19nZXRfZXh0 X2J5X05JRChleHRzLCBOSURfc3ViamVjdF9hbHRfbmFtZSwgLTEpOwotICAgICAgICAgaWYgKHBv cyAhPSAtMSkgewotLSAgICAgICAgICAgIFg1MDlfRVhURU5TSU9OICpleCA9IFg1MDl2M19nZXRf ZXh0KGV4dHMsIHBvcyk7Ci0rICAgICAgICAgICAgY29uc3QgWDUwOV9FWFRFTlNJT04gKmV4ID0g WDUwOXYzX2dldF9leHQoZXh0cywgcG9zKTsKLSAgICAgICAgICAgICBpZiAoZXgpCi0gICAgICAg ICAgICAgICAgIHN1YmplY3QudW5pdGUoZ2V0X2NlcnRfYWx0X25hbWUoZXgpKTsKLSAgICAgICAg IH0KLSAKLSAgICAgICAgIHBvcyA9IFg1MDl2M19nZXRfZXh0X2J5X05JRChleHRzLCBOSURfa2V5 X3VzYWdlLCAtMSk7Ci0gICAgICAgICBpZiAocG9zICE9IC0xKSB7Ci0tICAgICAgICAgICAgWDUw OV9FWFRFTlNJT04gKmV4ID0gWDUwOXYzX2dldF9leHQoZXh0cywgcG9zKTsKLSsgICAgICAgICAg ICBjb25zdCBYNTA5X0VYVEVOU0lPTiAqZXggPSBYNTA5djNfZ2V0X2V4dChleHRzLCBwb3MpOwot ICAgICAgICAgICAgIGlmIChleCkKLSAgICAgICAgICAgICAgICAgcC5jb25zdHJhaW50cyA9IGdl dF9jZXJ0X2tleV91c2FnZShleCk7Ci0gICAgICAgICB9Ci0gCi0gICAgICAgICBwb3MgPSBYNTA5 djNfZ2V0X2V4dF9ieV9OSUQoZXh0cywgTklEX2V4dF9rZXlfdXNhZ2UsIC0xKTsKLSAgICAgICAg IGlmIChwb3MgIT0gLTEpIHsKLS0gICAgICAgICAgICBYNTA5X0VYVEVOU0lPTiAqZXggPSBYNTA5 djNfZ2V0X2V4dChleHRzLCBwb3MpOwotKyAgICAgICAgICAgIGNvbnN0IFg1MDlfRVhURU5TSU9O ICpleCA9IFg1MDl2M19nZXRfZXh0KGV4dHMsIHBvcyk7Ci0gICAgICAgICAgICAgaWYgKGV4KQot ICAgICAgICAgICAgICAgICBwLmNvbnN0cmFpbnRzICs9IGdldF9jZXJ0X2V4dF9rZXlfdXNhZ2Uo ZXgpOwotICAgICAgICAgfQotIAotICAgICAgICAgcG9zID0gWDUwOXYzX2dldF9leHRfYnlfTklE KGV4dHMsIE5JRF9jZXJ0aWZpY2F0ZV9wb2xpY2llcywgLTEpOwotICAgICAgICAgaWYgKHBvcyAh PSAtMSkgewotLSAgICAgICAgICAgIFg1MDlfRVhURU5TSU9OICpleCA9IFg1MDl2M19nZXRfZXh0 KGV4dHMsIHBvcyk7Ci0rICAgICAgICAgICAgY29uc3QgWDUwOV9FWFRFTlNJT04gKmV4ID0gWDUw OXYzX2dldF9leHQoZXh0cywgcG9zKTsKLSAgICAgICAgICAgICBpZiAoZXgpCi0gICAgICAgICAg ICAgICAgIHAucG9saWNpZXMgPSBnZXRfY2VydF9wb2xpY2llcyhleCk7Ci0gICAgICAgICB9Ci1A QCAtNDIxNCw5ICs0MjQxLDEwIEBAIHB1YmxpYzoKLSAKLSAgICAgICAgIFg1MDlfUkVRX2dldDBf c2lnbmF0dXJlKHgsICZzaWduYXR1cmUsIG51bGxwdHIpOwotICAgICAgICAgaWYgKHNpZ25hdHVy ZSkgewotLSAgICAgICAgICAgIHAuc2lnID0gUUJ5dGVBcnJheShzaWduYXR1cmUtPmxlbmd0aCwg MCk7Ci0tICAgICAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBzaWduYXR1cmUtPmxlbmd0aDsg aSsrKQotLSAgICAgICAgICAgICAgICBwLnNpZ1tpXSA9IHNpZ25hdHVyZS0+ZGF0YVtpXTsKLSsg ICAgICAgICAgICBjb25zdCBpbnQgYnl0ZV9sZW4gPSBBU04xX1NUUklOR19sZW5ndGgoKGNvbnN0 IEFTTjFfU1RSSU5HICopc2lnbmF0dXJlKTsKLSsgICAgICAgICAgICBwLnNpZyAgICAgICAgICAg ICAgPSBRQnl0ZUFycmF5KGJ5dGVfbGVuLCAwKTsKLSsgICAgICAgICAgICBmb3IgKGludCBpID0g MDsgaSA8IGJ5dGVfbGVuOyBpKyspCi0rICAgICAgICAgICAgICAgIHAuc2lnW2ldID0gQVNOMV9C SVRfU1RSSU5HX2dldF9iaXQoc2lnbmF0dXJlLCBpKTsKLSAgICAgICAgIH0KLSAKLSAgICAgICAg IHN3aXRjaCAoWDUwOV9SRVFfZ2V0X3NpZ25hdHVyZV9uaWQoeCkpIHsKLUBAIC00MzYzLDkgKzQz OTEsOSBAQCBwdWJsaWM6Ci0gICAgICAgICAgICAgUUNBOjpDUkxFbnRyeTo6UmVhc29uIHJlYXNv biA9IFFDQTo6Q1JMRW50cnk6OlVuc3BlY2lmaWVkOwotICAgICAgICAgICAgIGludCAgICAgICAg ICAgICAgICAgICBwb3MgICAgPSBYNTA5X1JFVk9LRURfZ2V0X2V4dF9ieV9OSUQocmV2LCBOSURf Y3JsX3JlYXNvbiwgLTEpOwotICAgICAgICAgICAgIGlmIChwb3MgIT0gLTEpIHsKLS0gICAgICAg ICAgICAgICAgWDUwOV9FWFRFTlNJT04gKmV4ID0gWDUwOV9SRVZPS0VEX2dldF9leHQocmV2LCBw b3MpOwotKyAgICAgICAgICAgICAgICBjb25zdCBYNTA5X0VYVEVOU0lPTiAqZXggPSBYNTA5X1JF Vk9LRURfZ2V0X2V4dChyZXYsIHBvcyk7Ci0gICAgICAgICAgICAgICAgIGlmIChleCkgewotLSAg ICAgICAgICAgICAgICAgICAgQVNOMV9FTlVNRVJBVEVEICpyZXN1bHQgPSAoQVNOMV9FTlVNRVJB VEVEICopWDUwOVYzX0VYVF9kMmkoZXgpOwotKyAgICAgICAgICAgICAgICAgICAgQVNOMV9FTlVN RVJBVEVEICpyZXN1bHQgPSAoQVNOMV9FTlVNRVJBVEVEICopb3VyX1g1MDlWM19FWFRfZDJpKGV4 KTsKLSAgICAgICAgICAgICAgICAgICAgIHN3aXRjaCAoQVNOMV9FTlVNRVJBVEVEX2dldChyZXN1 bHQpKSB7Ci0gICAgICAgICAgICAgICAgICAgICBjYXNlIENSTF9SRUFTT05fVU5TUEVDSUZJRUQ6 Ci0gICAgICAgICAgICAgICAgICAgICAgICAgcmVhc29uID0gUUNBOjpDUkxFbnRyeTo6VW5zcGVj aWZpZWQ7Ci1AQCAtNDQxMiw5ICs0NDQwLDEwIEBAIHB1YmxpYzoKLSAKLSAgICAgICAgIFg1MDlf Q1JMX2dldDBfc2lnbmF0dXJlKHgsICZzaWduYXR1cmUsIG51bGxwdHIpOwotICAgICAgICAgaWYg KHNpZ25hdHVyZSkgewotLSAgICAgICAgICAgIHAuc2lnID0gUUJ5dGVBcnJheShzaWduYXR1cmUt Pmxlbmd0aCwgMCk7Ci0tICAgICAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBzaWduYXR1cmUt Pmxlbmd0aDsgaSsrKQotLSAgICAgICAgICAgICAgICBwLnNpZ1tpXSA9IHNpZ25hdHVyZS0+ZGF0 YVtpXTsKLSsgICAgICAgICAgICBjb25zdCBpbnQgYnl0ZV9sZW4gPSBBU04xX1NUUklOR19sZW5n dGgoKGNvbnN0IEFTTjFfU1RSSU5HICopc2lnbmF0dXJlKTsKLSsgICAgICAgICAgICBwLnNpZyAg ICAgICAgICAgICAgPSBRQnl0ZUFycmF5KGJ5dGVfbGVuLCAwKTsKLSsgICAgICAgICAgICBmb3Ig KGludCBpID0gMDsgaSA8IGJ5dGVfbGVuOyBpKyspCi0rICAgICAgICAgICAgICAgIHAuc2lnW2ld ID0gQVNOMV9CSVRfU1RSSU5HX2dldF9iaXQoc2lnbmF0dXJlLCBpKTsKLSAgICAgICAgIH0KLSAK LSAgICAgICAgIHN3aXRjaCAoWDUwOV9DUkxfZ2V0X3NpZ25hdHVyZV9uaWQoeCkpIHsKLUBAIC00 NDU0LDcgKzQ0ODMsNyBAQCBwdWJsaWM6Ci0gCi0gICAgICAgICBpbnQgcG9zID0gWDUwOV9DUkxf Z2V0X2V4dF9ieV9OSUQoeCwgTklEX2F1dGhvcml0eV9rZXlfaWRlbnRpZmllciwgLTEpOwotICAg ICAgICAgaWYgKHBvcyAhPSAtMSkgewotLSAgICAgICAgICAgIFg1MDlfRVhURU5TSU9OICpleCA9 IFg1MDlfQ1JMX2dldF9leHQoeCwgcG9zKTsKLSsgICAgICAgICAgICBjb25zdCBYNTA5X0VYVEVO U0lPTiAqZXggPSBYNTA5X0NSTF9nZXRfZXh0KHgsIHBvcyk7Ci0gICAgICAgICAgICAgaWYgKGV4 KQotICAgICAgICAgICAgICAgICBwLmlzc3VlcklkICs9IGdldF9jZXJ0X2lzc3Vlcl9rZXlfaWQo ZXgpOwotICAgICAgICAgfQotQEAgLTQ0NjIsOSArNDQ5MSw5IEBAIHB1YmxpYzoKLSAgICAgICAg IHAubnVtYmVyID0gLTE7Ci0gICAgICAgICBwb3MgICAgICA9IFg1MDlfQ1JMX2dldF9leHRfYnlf TklEKHgsIE5JRF9jcmxfbnVtYmVyLCAtMSk7Ci0gICAgICAgICBpZiAocG9zICE9IC0xKSB7Ci0t ICAgICAgICAgICAgWDUwOV9FWFRFTlNJT04gKmV4ID0gWDUwOV9DUkxfZ2V0X2V4dCh4LCBwb3Mp OwotKyAgICAgICAgICAgIGNvbnN0IFg1MDlfRVhURU5TSU9OICpleCA9IFg1MDlfQ1JMX2dldF9l eHQoeCwgcG9zKTsKLSAgICAgICAgICAgICBpZiAoZXgpIHsKLS0gICAgICAgICAgICAgICAgQVNO MV9JTlRFR0VSICpyZXN1bHQgPSAoQVNOMV9JTlRFR0VSICopWDUwOVYzX0VYVF9kMmkoZXgpOwot KyAgICAgICAgICAgICAgICBBU04xX0lOVEVHRVIgKnJlc3VsdCA9IChBU04xX0lOVEVHRVIgKilv dXJfWDUwOVYzX0VYVF9kMmkoZXgpOwotICAgICAgICAgICAgICAgICBwLm51bWJlciAgICAgICAg ICAgICA9IEFTTjFfSU5URUdFUl9nZXQocmVzdWx0KTsKLSAgICAgICAgICAgICAgICAgQVNOMV9J TlRFR0VSX2ZyZWUocmVzdWx0KTsKLSAgICAgICAgICAgICB9Ci1AQCAtNDk5NCwxMiArNTAyMywx NyBAQCBwdWJsaWM6Ci0gICAgICAgICBzd2l0Y2ggKHZlcnNpb24pIHsKLSAjaWZuZGVmIE9QRU5T U0xfTk9fU1NMM19NRVRIT0QKLSAgICAgICAgIGNhc2UgVExTOjpTU0xfdjM6Ci0rI2lmIChPUEVO U1NMX1ZFUlNJT05fTlVNQkVSID49IDB4NDAwMDAwMDBMKQotKyAgICAgICAgICAgIC8vIFRoZXJl IGlzIG5vIHNzbDMgaW4gb3BlbnNzbDQKLSsgICAgICAgICAgICByZXR1cm4ge307Ci0rI2Vsc2UK LSAgICAgICAgICAgICAvLyBIZXJlIHNob3VsZCBiZSB1c2VkIFRMU19jbGllbnRfbWV0aG9kKCkg YnV0IG9uIEZlZG9yYQotICAgICAgICAgICAgIC8vIGl0IGRvZXNuJ3QgcmV0dXJuIGFueSBTU0wg Y2lwaGVycy4KLSAgICAgICAgICAgICBjdHggPSBTU0xfQ1RYX25ldyhTU0x2M19jbGllbnRfbWV0 aG9kKCkpOwotICAgICAgICAgICAgIFNTTF9DVFhfc2V0X21pbl9wcm90b192ZXJzaW9uKGN0eCwg U1NMM19WRVJTSU9OKTsKLSAgICAgICAgICAgICBTU0xfQ1RYX3NldF9tYXhfcHJvdG9fdmVyc2lv bihjdHgsIFNTTDNfVkVSU0lPTik7Ci0gICAgICAgICAgICAgYnJlYWs7Ci0rI2VuZGlmCi0gI2Vu ZGlmCi0gICAgICAgICBjYXNlIFRMUzo6VExTX3YxOgotICAgICAgICAgICAgIGN0eCA9IFNTTF9D VFhfbmV3KFRMU19jbGllbnRfbWV0aG9kKCkpOwotLS0gCi1HaXRMYWIKLQoKZGlmZiAtLWdpdCBh L3FjYS5zcGVjIGIvcWNhLnNwZWMKaW5kZXggM2FjZGNhMS4uNGZlYWFmZSAxMDA2NDQKLS0tIGEv cWNhLnNwZWMKKysrIGIvcWNhLnNwZWMKQEAgLTEwLDggKzEwLDggQEAKIAogTmFtZTogICAgcWNh CiBTdW1tYXJ5OiBRdCBDcnlwdG9ncmFwaGljIEFyY2hpdGVjdHVyZQotVmVyc2lvbjogMi4zLjEw Ci1SZWxlYXNlOiA2JXs/ZGlzdH0KK1ZlcnNpb246IDIuMy4xMgorUmVsZWFzZTogMSV7P2Rpc3R9 CiAKIExpY2Vuc2U6IExHUEwtMi4xLW9ubHkKIFVSTDogICAgIGh0dHBzOi8vdXNlcmJhc2Uua2Rl Lm9yZy9RQ0EKQEAgLTIwLDEwICsyMCw2IEBAIFNvdXJjZTA6IGh0dHA6Ly9kb3dubG9hZC5rZGUu b3JnL3N0YWJsZS9xY2EvJXt2ZXJzaW9ufS9xY2EtJXt2ZXJzaW9ufS50YXIueHoKIFBhdGNoMDog IHFjYS1xdDYtcGtnY29uZmlnLnBhdGNoCiAjIyB1cHN0cmVhbSBwYXRjaGVzCiAKLSMgQnVpbGQg Zm9yIG9wZW5zc2w0Ci0jIGh0dHBzOi8vaW52ZW50LmtkZS5vcmcvbGlicmFyaWVzL3FjYS8tL2Nv bW1pdC82YTdkZGQ3NmFhNTRlY2MxNGQxMzE1MWNjYTAwODEzN2IwYWEyNWQ4Ci1QYXRjaDEwOiA2 YTdkZGQ3NmFhNTRlY2MxNGQxMzE1MWNjYTAwODEzN2IwYWEyNWQ4LnBhdGNoCi0KICMjIHVwc3Ry ZWFtYWJsZSBwYXRjaGVzCiAKIEJ1aWxkUmVxdWlyZXM6IGNtYWtlID49IDIuOC4xMgpAQCAtNDMy LDYgKzQyOCw5IEBAIHRlc3QgIiQocGtnLWNvbmZpZyAtLW1vZHZlcnNpb24gcWNhMi1xdDYpIiA9 ICIle3ZlcnNpb259IgogJWVuZGlmCiAKICVjaGFuZ2Vsb2cKKyogRnJpIEF1ZyAyOCAyMDI2IFN0 ZXZlIENvc3NldHRlIDxmYXJjaG9yZEBnbWFpbC5jb20+IC0gMi4zLjEyLTEKKy0gMi4zLjEyCisK ICogVGh1IEp1bCAxNiAyMDI2IEZlZG9yYSBSZWxlYXNlIEVuZ2luZWVyaW5nIDxyZWxlbmdAZmVk b3JhcHJvamVjdC5vcmc+IC0gMi4zLjEwLTYKIC0gUmVidWlsdCBmb3IgaHR0cHM6Ly9mZWRvcmFw cm9qZWN0Lm9yZy93aWtpL0ZlZG9yYV80NV9NYXNzX1JlYnVpbGQKIAoKZGlmZiAtLWdpdCBhL3Nv dXJjZXMgYi9zb3VyY2VzCmluZGV4IGFhODdhYjguLjc4YjNhYmYgMTAwNjQ0Ci0tLSBhL3NvdXJj ZXMKKysrIGIvc291cmNlcwpAQCAtMSArMSBAQAotU0hBNTEyIChxY2EtMi4zLjEwLnRhci54eikg PSA2YjIyOTVhYzE3ZGUxZDg2Yjk2YWU4ZjhmMTFmOTZiOWY5YzNmNzEyMmNlNTE4NzlhMzI2OGMw ZGYwYWQ4ZTc2NDdkMTkzZGJkMTJjMTIxNWMxYTY0NjcwNjZmNGVlZDE4Yjg1ZDFjMDkzMTNiNWVl MDZlZTU3ODJkMGFkN2RlNAorU0hBNTEyIChxY2EtMi4zLjEyLnRhci54eikgPSA3NWJmYzRmMjBm ODQ1ZTk1ZTM1M2M2YzNlOWQwYzMwYjhlM2U4M2MzMjg5N2M2NDllYzliNzk2MDdjMDI3NzhiYTk5 MGNiYjQyNTM0NjFjMDFhZWI1NGE0Mjc3YjY2Zjg5MmExMzgyODVlZmZmMDVhYjEwMjAyZTM0ZmMx OWNjNgo=