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: Takao Fujiwara To: git-commits@fedoraproject.org Subject: [rpms/ibus] autotool: Fix sync ibus_input_context_process_key_event() #2 Date: Sun, 31 May 2026 02:08:12 GMT Message-ID: <178019329245.1.10939726115975748605.rpms-ibus-38fc0edf90e0@fedoraproject.org> List-ID: X-Git-Repo: rpms/ibus X-Git-Branch: autotool X-Git-Rev: 38fc0edf90e022ae1e791908b5da464160c1d1f7 QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvaWJ1cwpCcmFuY2gg OiBhdXRvdG9vbApDb21taXQgOiAzOGZjMGVkZjkwZTAyMmFlMWU3OTE5MDhiNWRhNDY0MTYwYzFk MWY3CkF1dGhvciA6IFRha2FvIEZ1aml3YXJhIDx0ZnVqaXdhckByZWRoYXQuY29tPgpEYXRlICAg OiAyMDIzLTA3LTA5VDE5OjI0OjIxKzA5OjAwClN0YXRzICA6ICs0NzEvLTEyMSBpbiAzIGZpbGUo cykKVVJMICAgIDogaHR0cHM6Ly9zcmMuZmVkb3JhcHJvamVjdC5vcmcvcnBtcy9pYnVzL2MvMzhm YzBlZGY5MGUwMjJhZTFlNzkxOTA4YjVkYTQ2NDE2MGMxZDFmNz9icmFuY2g9YXV0b3Rvb2wKCkxv ZzoKRml4IHN5bmMgaWJ1c19pbnB1dF9jb250ZXh0X3Byb2Nlc3Nfa2V5X2V2ZW50KCkgIzIKCi0t LQpkaWZmIC0tZ2l0IGEvaWJ1cy0xMzg1MzQ5LXNlZ3YtYnVzLXByb3h5LnBhdGNoIGIvaWJ1cy0x Mzg1MzQ5LXNlZ3YtYnVzLXByb3h5LnBhdGNoCmluZGV4IDVmODZhN2IuLmE1M2I3OGMgMTAwNjQ0 Ci0tLSBhL2lidXMtMTM4NTM0OS1zZWd2LWJ1cy1wcm94eS5wYXRjaAorKysgYi9pYnVzLTEzODUz NDktc2Vndi1idXMtcHJveHkucGF0Y2gKQEAgLTEsNiArMSw2IEBACi1Gcm9tIGY1NzkwZTEyNDRm YzZjODM2MTVjYTRiYzI5NDk0YzdmMTZjNzNiNmYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitG cm9tIGRiMTU4Mzg5MjUxZDkzNjA1MThhYmNiZGQxNzcwZDBlODJkYmI4NTUgTW9uIFNlcCAxNyAw MDowMDowMCAyMDAxCiBGcm9tOiBmdWppd2FyYXQgPHRha2FvLmZ1aml3YXJhMUBnbWFpbC5jb20+ Ci1EYXRlOiBTdW4sIDExIEp1biAyMDIzIDIwOjIwOjA2ICswOTAwCitEYXRlOiBTdW4sIDkgSnVs IDIwMjMgMTk6MDQ6NDQgKzA5MDAKIFN1YmplY3Q6IFtQQVRDSF0gRml4IFNFR1YgaW4gYnVzX3Bh bmVsX3Byb3h5X2ZvY3VzX2luKCkKIAogcmhieiMxMzUwMjkxIFNFR1YgaW4gQlVTX0lTX0NPTk5F Q1RJT04oc2tpcF9jb25uZWN0aW9uKSBpbgpAQCAtMjg1LDcgKzI4NSw3IEBAIGluZGV4IGU2MDAx ZWJmLi4wMDgyOGZiYyAxMDA2NDQKICAgICAgcGFuZWwtPnBhbmVsX3R5cGUgPSBwYW5lbF90eXBl OwogICAgICByZXR1cm4gcGFuZWw7CiBkaWZmIC0tZ2l0IGEvY2xpZW50L3gxMS9tYWluLmMgYi9j bGllbnQveDExL21haW4uYwotaW5kZXggODNkOTVjYjcuLjgwNGU0MGVkIDEwMDY0NAoraW5kZXgg YjdlYjU5NjEuLjMwNzVkNWQwIDEwMDY0NAogLS0tIGEvY2xpZW50L3gxMS9tYWluLmMKICsrKyBi L2NsaWVudC94MTEvbWFpbi5jCiBAQCAtNDUsNiArNDUsNyBAQApAQCAtMzg2LDcgKzM4Niw3IEBA IGluZGV4IDgzZDk1Y2I3Li44MDRlNDBlZCAxMDA2NDQKICAKICAgICAgZ19mcmVlICh4MTFpYy0+ cHJlZWRpdF9zdHJpbmcpOwogICAgICB4MTFpYy0+cHJlZWRpdF9zdHJpbmcgPSBOVUxMOwotQEAg LTQzOCw2ICs0NjcsOCBAQCB4aW1fc2V0X2ljX2ZvY3VzIChYSU1TIHhpbXMsIElNQ2hhbmdlRm9j dXNTdHJ1Y3QgKmNhbGxfZGF0YSkKK0BAIC00MzksNiArNDY4LDggQEAgeGltX3NldF9pY19mb2N1 cyAoWElNUyB4aW1zLCBJTUNoYW5nZUZvY3VzU3RydWN0ICpjYWxsX2RhdGEpCiAgICAgIHgxMWlj ID0gKFgxMUlDICopIGdfaGFzaF90YWJsZV9sb29rdXAgKF94MTFfaWNfdGFibGUsCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdJTlRfVE9fUE9JTlRFUiAoKGdp bnQpIGNhbGxfZGF0YS0+aWNpZCkpOwogICAgICBnX3JldHVybl92YWxfaWZfZmFpbCAoeDExaWMg IT0gTlVMTCwgMCk7CkBAIC0zOTUsNyArMzk1LDcgQEAgaW5kZXggODNkOTVjYjcuLjgwNGU0MGVk IDEwMDY0NAogIAogICAgICBpYnVzX2lucHV0X2NvbnRleHRfZm9jdXNfaW4gKHgxMWljLT5jb250 ZXh0KTsKICAgICAgX3hpbV9zZXRfY3Vyc29yX2xvY2F0aW9uICh4MTFpYyk7Ci1AQCAtNDU2LDYg KzQ4Nyw4IEBAIHhpbV91bnNldF9pY19mb2N1cyAoWElNUyB4aW1zLCBJTUNoYW5nZUZvY3VzU3Ry dWN0ICpjYWxsX2RhdGEpCitAQCAtNDU4LDYgKzQ4OSw4IEBAIHhpbV91bnNldF9pY19mb2N1cyAo WElNUyB4aW1zLCBJTUNoYW5nZUZvY3VzU3RydWN0ICpjYWxsX2RhdGEpCiAgICAgIHgxMWljID0g KFgxMUlDICopIGdfaGFzaF90YWJsZV9sb29rdXAgKF94MTFfaWNfdGFibGUsCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdJTlRfVE9fUE9JTlRFUiAoKGdpbnQp IGNhbGxfZGF0YS0+aWNpZCkpOwogICAgICBnX3JldHVybl92YWxfaWZfZmFpbCAoeDExaWMgIT0g TlVMTCwgMCk7CkBAIC00MDQsMTYgKzQwNCwxNiBAQCBpbmRleCA4M2Q5NWNiNy4uODA0ZTQwZWQg MTAwNjQ0CiAgCiAgICAgIGlidXNfaW5wdXRfY29udGV4dF9mb2N1c19vdXQgKHgxMWljLT5jb250 ZXh0KTsKICAKLUBAIC01OTQsNiArNjI3LDggQEAgeGltX2ZvcndhcmRfZXZlbnQgKFhJTVMgeGlt cywgSU1Gb3J3YXJkRXZlbnRTdHJ1Y3QgKmNhbGxfZGF0YSkKLSAgICAgeDExaWMgPSAoWDExSUMg KikgZ19oYXNoX3RhYmxlX2xvb2t1cCAoX3gxMV9pY190YWJsZSwKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgR0lOVF9UT19QT0lOVEVSICgoZ2ludCkgY2FsbF9k YXRhLT5pY2lkKSk7CitAQCAtNzEyLDYgKzc0NSw4IEBAIHhpbV9mb3J3YXJkX2V2ZW50IChYSU1T IHhpbXMsIElNRm9yd2FyZEV2ZW50U3RydWN0ICpjYWxsX2RhdGEpCisgICAgICAgICAgICAgX3gx MV9pY190YWJsZSwKKyAgICAgICAgICAgICBHSU5UX1RPX1BPSU5URVIgKChnaW50KSBjYWxsX2Rh dGEtPmljaWQpKTsKICAgICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwgKHgxMWljICE9IE5VTEwsIDAp OwogKyAgICBpZiAoIXgxMWljLT5pYnVzX2Nvbm5lY3RlZCkKICsgICAgICAgIHJldHVybiAwOwog IAogICAgICB4ZXZlbnQgPSAoWEtleUV2ZW50KikgJihjYWxsX2RhdGEtPmV2ZW50KTsKICAKLUBA IC04MzYsNiArODcxLDggQEAgX3hpbV9zZXRfY3Vyc29yX2xvY2F0aW9uIChYMTFJQyAqeDExaWMp CitAQCAtODcwLDYgKzkwNSw4IEBAIF94aW1fc2V0X2N1cnNvcl9sb2NhdGlvbiAoWDExSUMgKngx MWljKQogICAgICAgICAgfQogICAgICB9CiAgCkBAIC00MjIsNyArNDIyLDcgQEAgaW5kZXggODNk OTVjYjcuLjgwNGU0MGVkIDEwMDY0NAogICAgICBpYnVzX2lucHV0X2NvbnRleHRfc2V0X2N1cnNv cl9sb2NhdGlvbiAoeDExaWMtPmNvbnRleHQsCiAgICAgICAgICAgICAgcHJlZWRpdF9hcmVhLngs CiAgICAgICAgICAgICAgcHJlZWRpdF9hcmVhLnksCi1AQCAtOTE2LDYgKzk1Myw4IEBAIHhpbV9y ZXNldF9pYyAoWElNUyB4aW1zLCBJTVJlc2V0SUNTdHJ1Y3QgKmNhbGxfZGF0YSkKK0BAIC05NTAs NiArOTg3LDggQEAgeGltX3Jlc2V0X2ljIChYSU1TIHhpbXMsIElNUmVzZXRJQ1N0cnVjdCAqY2Fs bF9kYXRhKQogICAgICB4MTFpYyA9IChYMTFJQyAqKSBnX2hhc2hfdGFibGVfbG9va3VwIChfeDEx X2ljX3RhYmxlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBH SU5UX1RPX1BPSU5URVIgKChnaW50KSBjYWxsX2RhdGEtPmljaWQpKTsKICAgICAgZ19yZXR1cm5f dmFsX2lmX2ZhaWwgKHgxMWljICE9IE5VTEwsIDApOwpAQCAtNDMxLDcgKzQzMSw3IEBAIGluZGV4 IDgzZDk1Y2I3Li44MDRlNDBlZCAxMDA2NDQKICAKICAgICAgaWJ1c19pbnB1dF9jb250ZXh0X3Jl c2V0ICh4MTFpYy0+Y29udGV4dCk7CiAgCi1AQCAtMTI3NSw3ICsxMzE0LDEyIEBAIF9hdGV4aXRf Y2IgKCkKK0BAIC0xMzA5LDcgKzEzNDgsMTIgQEAgX2F0ZXhpdF9jYiAoKQogIHN0YXRpYyB2b2lk CiAgX3NpZ2hhbmRsZXIgKGludCBzaWcpCiAgewpAQCAtNjExLDUgKzYxMSw1IEBAIGluZGV4IDk0 MDBlOWJhLi4yZWNiZGFjMSAxMDA2NDQKICAjaWYgVkFMQV8wXzM0CiAgICAgICAgICBzZWF0LnVu Z3JhYigpOwogLS0gCi0yLjQwLjAKKzIuNDEuMAogCgpkaWZmIC0tZ2l0IGEvaWJ1cy1IRUFELnBh dGNoIGIvaWJ1cy1IRUFELnBhdGNoCmluZGV4IDlmMmFlNTYuLmZjYmMzODYgMTAwNjQ0Ci0tLSBh L2lidXMtSEVBRC5wYXRjaAorKysgYi9pYnVzLUhFQUQucGF0Y2gKQEAgLTIzMzYsOSArMjMzNiw5 IEBAIGluZGV4IDY4ZGRlMmYzLi5mZWUwYjNlZSAxMDA2NDQKIC0tIAogMi40MS4wCiAKLUZyb20g OGExYmQ1ZmY3MmI3ZWRmNDc1MjZjZmExOTMyNWY3ZTFkYWI4NWY1OSBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKK0Zyb20gYTczZWEyYzMzNTE0NWNkNWQwMGViZmFkZTgzMjA0ZDA1NWFhMjY4YyBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IGZ1aml3YXJhdCA8dGFrYW8uZnVqaXdhcmEx QGdtYWlsLmNvbT4KLURhdGU6IEZyaSwgNyBKdWwgMjAyMyAwODo0OTo0OSArMDkwMAorRGF0ZTog U3VuLCA5IEp1bCAyMDIzIDE4OjQ2OjIxICswOTAwCiBTdWJqZWN0OiBbUEFUQ0ggMS8yXSBzcmM6 IEZpeCBzeW5jIGlidXNfaW5wdXRfY29udGV4dF9wcm9jZXNzX2tleV9ldmVudCgpCiAKIFRoZSBz eW5jaHJvbm91cyAiUHJvY2Vzc0tleUV2ZW50IiBELUJ1cyBtZXRob2QgY2Fubm90IHJlY2VpdmUK QEAgLTIzNTQsMTAgKzIzNTQsMTAgQEAgbWV0aG9kIGFuZCBpYnVzLWRhZW1vbiBkb2VzIG5vdCBo YW5kbGUgdGhvc2Ugc2lnbmFscy4KIEJVRz1odHRwczovL2dpdGh1Yi5jb20vaWJ1cy9pYnVzL2lz c3Vlcy8yNDg2CiAtLS0KICBidXMvaW5wdXRjb250ZXh0LmMgICAgICAgICAgfCA1ODcgKysrKysr KysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tCi0gY2xpZW50L2d0azIvaWJ1c2ltY29udGV4 dC5jIHwgIDUxICsrLS0KKyBjbGllbnQvZ3RrMi9pYnVzaW1jb250ZXh0LmMgfCAyMjUgKysrKysr KysrKy0tLS0KICBzcmMvaWJ1c2lucHV0Y29udGV4dC5jICAgICAgfCAxNjIgKysrKysrKysrLQog IHNyYy9pYnVzaW5wdXRjb250ZXh0LmggICAgICB8ICAzMCArLQotIDQgZmlsZXMgY2hhbmdlZCwg NjUyIGluc2VydGlvbnMoKyksIDE3OCBkZWxldGlvbnMoLSkKKyA0IGZpbGVzIGNoYW5nZWQsIDc4 MSBpbnNlcnRpb25zKCspLCAyMjMgZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS9idXMvaW5w dXRjb250ZXh0LmMgYi9idXMvaW5wdXRjb250ZXh0LmMKIGluZGV4IGU3NmJiZGZjLi4yMTEwYWY4 NyAxMDA2NDQKQEAgLTM2NTgsNyArMzY1OCw3IEBAIGluZGV4IGU3NmJiZGZjLi4yMTEwYWY4NyAx MDA2NDQKICAgICAgICAgIEdWYXJpYW50ICp2YXJpYW50ID0gaWJ1c19zZXJpYWxpemFibGVfc2Vy aWFsaXplICgKICAgICAgICAgICAgICAgICAgKElCdXNTZXJpYWxpemFibGUgKil0ZXh0KTsKIGRp ZmYgLS1naXQgYS9jbGllbnQvZ3RrMi9pYnVzaW1jb250ZXh0LmMgYi9jbGllbnQvZ3RrMi9pYnVz aW1jb250ZXh0LmMKLWluZGV4IGVhODI3MGJiLi44ZWU4NTE0OSAxMDA2NDQKK2luZGV4IGVhODI3 MGJiLi5kNTc1NzVjZSAxMDA2NDQKIC0tLSBhL2NsaWVudC9ndGsyL2lidXNpbWNvbnRleHQuYwog KysrIGIvY2xpZW50L2d0azIvaWJ1c2ltY29udGV4dC5jCiBAQCAtMTExLDcgKzExMSw3IEBAIHN0 YXRpYyBndWludCAgICBfc2lnbmFsX2RlbGV0ZV9zdXJyb3VuZGluZ19pZCA9IDA7CkBAIC0zNjcw LDEwICszNjcwLDM1IEBAIGluZGV4IGVhODI3MGJiLi44ZWU4NTE0OSAxMDA2NDQKICAjZWxzZQog IHN0YXRpYyBjb25zdCBnY2hhciAqX25vX3Nub29wZXJfYXBwcyA9IE5PX1NOT09QRVJfQVBQUzsK ICBzdGF0aWMgZ2Jvb2xlYW4gX3VzZV9rZXlfc25vb3BlciA9IEVOQUJMRV9TTk9PUEVSOwotQEAg LTM4Niw2ICszODYsMjMgQEAgdHlwZWRlZiBzdHJ1Y3QgeworQEAgLTM4Niw2ICszODYsNyBAQCB0 eXBlZGVmIHN0cnVjdCB7CiAgICAgIGdib29sZWFuICByZXR2YWw7CiAgfSBQcm9jZXNzS2V5RXZl bnRSZXBseURhdGE7CiAgCisrCisgc3RhdGljIHZvaWQKKyBfcHJvY2Vzc19rZXlfZXZlbnRfZG9u ZSAoR09iamVjdCAgICAgICpvYmplY3QsCisgICAgICAgICAgICAgICAgICAgICAgICAgIEdBc3lu Y1Jlc3VsdCAqcmVzLAorQEAgLTQzNSw2ICs0MzYsNyBAQCBfcHJvY2Vzc19rZXlfZXZlbnRfZG9u ZSAoR09iamVjdCAgICAgICpvYmplY3QsCisgI2VuZGlmCisgfQorIAorKworIHN0YXRpYyB2b2lk CisgX3Byb2Nlc3Nfa2V5X2V2ZW50X3JlcGx5X2RvbmUgKEdPYmplY3QgICAgICAqb2JqZWN0LAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHQXN5bmNSZXN1bHQgKnJlcywKK0BAIC00 NTcsNiArNDU5LDcgQEAgX3Byb2Nlc3Nfa2V5X2V2ZW50X3JlcGx5X2RvbmUgKEdPYmplY3QgICAg ICAqb2JqZWN0LAorICAgICBnX3NvdXJjZV9yZW1vdmUgKGRhdGEtPmNvdW50X2NiX2lkKTsKKyB9 CisgCisrCisgc3RhdGljIGdib29sZWFuCisgX3Byb2Nlc3Nfa2V5X2V2ZW50X2NvdW50X2NiIChn cG9pbnRlciB1c2VyX2RhdGEpCisgeworQEAgLTQ3Miw2ICs0NzUsMTAxIEBAIF9wcm9jZXNzX2tl eV9ldmVudF9jb3VudF9jYiAoZ3BvaW50ZXIgdXNlcl9kYXRhKQorICAgICByZXR1cm4gR19TT1VS Q0VfQ09OVElOVUU7CisgfQorIAorKwogK3N0YXRpYyBnYm9vbGVhbgogK19wcm9jZXNzX2tleV9l dmVudF9zeW5jIChJQnVzSW5wdXRDb250ZXh0ICpjb250ZXh0LAogKyAgICAgICAgICAgICAgICAg ICAgICAgICBndWludCAgICAgICAgICAgICBrZXl2YWwsCkBAIC0zNjkxLDEwICszNzE2LDg3IEBA IGluZGV4IGVhODI3MGJiLi44ZWU4NTE0OSAxMDA2NDQKICsgICAgcmV0dXJuIHJldHZhbDsKICt9 CiArCi0gc3RhdGljIHZvaWQKLSBfcHJvY2Vzc19rZXlfZXZlbnRfZG9uZSAoR09iamVjdCAgICAg ICpvYmplY3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIEdBc3luY1Jlc3VsdCAqcmVzLAot QEAgLTUwNSwxMCArNTIyLDcgQEAgX3Byb2Nlc3Nfa2V5X2V2ZW50IChJQnVzSW5wdXRDb250ZXh0 ICpjb250ZXh0LAorKworK3N0YXRpYyBnYm9vbGVhbgorK19wcm9jZXNzX2tleV9ldmVudF9hc3lu YyAoSUJ1c0lucHV0Q29udGV4dCAqY29udGV4dCwKKysgICAgICAgICAgICAgICAgICAgICAgICAg IGd1aW50ICAgICAgICAgICAgIGtleXZhbCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgIGd1 aW50ICAgICAgICAgICAgIGtleWNvZGUsCisrICAgICAgICAgICAgICAgICAgICAgICAgICBndWlu dCAgICAgICAgICAgICBzdGF0ZSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgIEdka0V2ZW50 ICAgICAgICAgKmV2ZW50LAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgSUJ1c0lNQ29udGV4 dCAgICAqaWJ1c2ltY29udGV4dCkKKyt7CisrICAgIFByb2Nlc3NLZXlFdmVudERhdGEgKmRhdGEg PSBnX3NsaWNlX25ldzAgKFByb2Nlc3NLZXlFdmVudERhdGEpOworKworKyAgICBnX2Fzc2VydCAo ZXZlbnQpOworKyAgICBpZiAoIWRhdGEpIHsKKysgICAgICAgIGdfd2FybmluZyAoIkNhbm5vdCBh bGxvY2F0ZSBhc3luYyBkYXRhIik7CisrICAgICAgICByZXR1cm4gX3Byb2Nlc3Nfa2V5X2V2ZW50 X3N5bmMgKGNvbnRleHQsIGtleXZhbCwga2V5Y29kZSwgc3RhdGUpOworKyAgICB9CisrI2lmIEdU S19DSEVDS19WRVJTSU9OICgzLCA5OCwgNCkKKysgICAgZGF0YS0+ZXZlbnQgPSBnZGtfZXZlbnRf cmVmIChldmVudCk7CisrI2Vsc2UKKysgICAgZGF0YS0+ZXZlbnQgPSBnZGtfZXZlbnRfY29weSAo ZXZlbnQpOworKyNlbmRpZgorKyAgICBkYXRhLT5pYnVzaW1jb250ZXh0ID0gaWJ1c2ltY29udGV4 dDsKKysgICAgaWJ1c19pbnB1dF9jb250ZXh0X3Byb2Nlc3Nfa2V5X2V2ZW50X2FzeW5jIChjb250 ZXh0LAorKyAgICAgICAgICAgIGtleXZhbCwKKysgICAgICAgICAgICBrZXljb2RlIC0gOCwKKysg ICAgICAgICAgICBzdGF0ZSwKKysgICAgICAgICAgICAtMSwKKysgICAgICAgICAgICBOVUxMLAor KyAgICAgICAgICAgIF9wcm9jZXNzX2tleV9ldmVudF9kb25lLAorKyAgICAgICAgICAgIGRhdGEp OworKworKyAgICByZXR1cm4gVFJVRTsKKyt9CisrCisrCisrc3RhdGljIGdib29sZWFuCisrX3By b2Nlc3Nfa2V5X2V2ZW50X2h5YnJpZF9hc3luYyAoSUJ1c0lucHV0Q29udGV4dCAqY29udGV4dCwK KysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBndWludCAgICAgICAgICAgICBrZXl2 YWwsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3VpbnQgICAgICAgICAgICAg a2V5Y29kZSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBndWludCAgICAgICAg ICAgICBzdGF0ZSkKKyt7CisrICAgIEdTb3VyY2UgKnNvdXJjZSA9IGdfdGltZW91dF9zb3VyY2Vf bmV3ICgxKTsKKysgICAgUHJvY2Vzc0tleUV2ZW50UmVwbHlEYXRhICpkYXRhID0gTlVMTDsKKysg ICAgZ2Jvb2xlYW4gcmV0dmFsID0gRkFMU0U7CisrCisrICAgIGlmIChzb3VyY2UpCisrICAgICAg ICBkYXRhID0gZ19zbGljZV9uZXcwIChQcm9jZXNzS2V5RXZlbnRSZXBseURhdGEpOworKyAgICBp ZiAoIWRhdGEpIHsKKysgICAgICAgIGdfd2FybmluZyAoIkNhbm5vdCB3YWl0IGZvciB0aGUgcmVw bHkgb2YgdGhlIHByb2Nlc3Mga2V5IGV2ZW50LiIpOworKyAgICAgICAgcmV0dmFsID0gX3Byb2Nl c3Nfa2V5X2V2ZW50X3N5bmMgKGNvbnRleHQsIGtleXZhbCwga2V5Y29kZSwgc3RhdGUpOworKyAg ICAgICAgaWYgKHNvdXJjZSkKKysgICAgICAgICAgICBnX3NvdXJjZV9kZXN0cm95IChzb3VyY2Up OworKyAgICAgICAgcmV0dXJuIHJldHZhbDsKKysgICAgfQorKyAgICBkYXRhLT5jb3VudCA9IDE7 CisrICAgIGdfc291cmNlX2F0dGFjaCAoc291cmNlLCBOVUxMKTsKKysgICAgZ19zb3VyY2VfdW5y ZWYgKHNvdXJjZSk7CisrICAgIGRhdGEtPmNvdW50X2NiX2lkID0gZ19zb3VyY2VfZ2V0X2lkIChz b3VyY2UpOworKyAgICBpYnVzX2lucHV0X2NvbnRleHRfcHJvY2Vzc19rZXlfZXZlbnRfYXN5bmMg KGNvbnRleHQsCisrICAgICAgICAgICAga2V5dmFsLAorKyAgICAgICAgICAgIGtleWNvZGUgLSA4 LAorKyAgICAgICAgICAgIHN0YXRlLAorKyAgICAgICAgICAgIC0xLAorKyAgICAgICAgICAgIE5V TEwsCisrICAgICAgICAgICAgX3Byb2Nlc3Nfa2V5X2V2ZW50X3JlcGx5X2RvbmUsCisrICAgICAg ICAgICAgZGF0YSk7CisrICAgIGdfc291cmNlX3NldF9jYWxsYmFjayAoc291cmNlLCBfcHJvY2Vz c19rZXlfZXZlbnRfY291bnRfY2IsIGRhdGEsIE5VTEwpOworKyAgICB3aGlsZSAoZGF0YS0+Y291 bnQpCisrICAgICAgICBnX21haW5fY29udGV4dF9pdGVyYXRpb24gKE5VTEwsIFRSVUUpOworKyAg ICAvKiAjMjQ5OCBDaGVja2luZyBzb3VyY2UtPnJlZl9jb3VudCBtaWdodCBjYXVzZSBOYXV0aWx1 cyBoYW5nIHVwCisrICAgICAqLworKyAgICByZXR2YWwgPSBkYXRhLT5yZXR2YWw7CisrICAgIGdf c2xpY2VfZnJlZSAoUHJvY2Vzc0tleUV2ZW50UmVwbHlEYXRhLCBkYXRhKTsKKysgICAgcmV0dXJu IHJldHZhbDsKKyt9CisrCisrCisgc3RhdGljIGdib29sZWFuCisgX3Byb2Nlc3Nfa2V5X2V2ZW50 IChJQnVzSW5wdXRDb250ZXh0ICpjb250ZXh0LAorICNpZiBHVEtfQ0hFQ0tfVkVSU0lPTiAoMywg OTgsIDQpCitAQCAtNTA1LDcwICs2MDMsMjAgQEAgX3Byb2Nlc3Nfa2V5X2V2ZW50IChJQnVzSW5w dXRDb250ZXh0ICpjb250ZXh0LAogIAogICAgICBzd2l0Y2ggKF91c2Vfc3luY19tb2RlKSB7CiAg ICAgIGNhc2UgMTogewpAQCAtMzcwNiw1MyArMzgwOCwxMzEgQEAgaW5kZXggZWE4MjcwYmIuLjhl ZTg1MTQ5IDEwMDY0NAogICAgICAgICAgYnJlYWs7CiAgICAgIH0KICAgICAgY2FzZSAyOiB7Ci1A QCAtNTE5LDEwICs1MzMsNyBAQCBfcHJvY2Vzc19rZXlfZXZlbnQgKElCdXNJbnB1dENvbnRleHQg KmNvbnRleHQsCi0gICAgICAgICAgICAgZGF0YSA9IGdfc2xpY2VfbmV3MCAoUHJvY2Vzc0tleUV2 ZW50UmVwbHlEYXRhKTsKLSAgICAgICAgIGlmICghZGF0YSkgewotICAgICAgICAgICAgIGdfd2Fy bmluZyAoIkNhbm5vdCB3YWl0IGZvciB0aGUgcmVwbHkgb2YgdGhlIHByb2Nlc3Mga2V5IGV2ZW50 LiIpOworLSAgICAgICAgR1NvdXJjZSAqc291cmNlID0gZ190aW1lb3V0X3NvdXJjZV9uZXcgKDEp OworLSAgICAgICAgUHJvY2Vzc0tleUV2ZW50UmVwbHlEYXRhICpkYXRhID0gTlVMTDsKKy0KKy0g ICAgICAgIGlmIChzb3VyY2UpCistICAgICAgICAgICAgZGF0YSA9IGdfc2xpY2VfbmV3MCAoUHJv Y2Vzc0tleUV2ZW50UmVwbHlEYXRhKTsKKy0gICAgICAgIGlmICghZGF0YSkgeworLSAgICAgICAg ICAgIGdfd2FybmluZyAoIkNhbm5vdCB3YWl0IGZvciB0aGUgcmVwbHkgb2YgdGhlIHByb2Nlc3Mg a2V5IGV2ZW50LiIpOwogLSAgICAgICAgICAgIHJldHZhbCA9IGlidXNfaW5wdXRfY29udGV4dF9w cm9jZXNzX2tleV9ldmVudCAoY29udGV4dCwKIC0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleXZhbCwKIC0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleWNvZGUgLSA4LAog LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgc3RhdGUpOwotKyAgICAgICAgICAgIHJldHZhbCA9IF9wcm9jZXNzX2tleV9ldmVudF9zeW5j IChjb250ZXh0LCBrZXl2YWwsIGtleWNvZGUsIHN0YXRlKTsKLSAgICAgICAgICAgICBpZiAoc291 cmNlKQotICAgICAgICAgICAgICAgICBnX3NvdXJjZV9kZXN0cm95IChzb3VyY2UpOwotICAgICAg ICAgICAgIGJyZWFrOwotQEAgLTU0MiwxNyArNTUzLDE5IEBAIF9wcm9jZXNzX2tleV9ldmVudCAo SUJ1c0lucHV0Q29udGV4dCAqY29udGV4dCwKLSAgICAgICAgIGdfc291cmNlX3NldF9jYWxsYmFj ayAoc291cmNlLCBfcHJvY2Vzc19rZXlfZXZlbnRfY291bnRfY2IsIGRhdGEsIE5VTEwpOwotICAg ICAgICAgd2hpbGUgKGRhdGEtPmNvdW50KQotICAgICAgICAgICAgIGdfbWFpbl9jb250ZXh0X2l0 ZXJhdGlvbiAoTlVMTCwgVFJVRSk7CistICAgICAgICAgICAgaWYgKHNvdXJjZSkKKy0gICAgICAg ICAgICAgICAgZ19zb3VyY2VfZGVzdHJveSAoc291cmNlKTsKKy0gICAgICAgICAgICBicmVhazsK Ky0gICAgICAgIH0KKy0gICAgICAgIGRhdGEtPmNvdW50ID0gMTsKKy0gICAgICAgIGdfc291cmNl X2F0dGFjaCAoc291cmNlLCBOVUxMKTsKKy0gICAgICAgIGdfc291cmNlX3VucmVmIChzb3VyY2Up OworLSAgICAgICAgZGF0YS0+Y291bnRfY2JfaWQgPSBnX3NvdXJjZV9nZXRfaWQgKHNvdXJjZSk7 CistICAgICAgICBpYnVzX2lucHV0X2NvbnRleHRfcHJvY2Vzc19rZXlfZXZlbnRfYXN5bmMgKGNv bnRleHQsCistICAgICAgICAgICAga2V5dmFsLAorLSAgICAgICAgICAgIGtleWNvZGUgLSA4LAor LSAgICAgICAgICAgIHN0YXRlLAorLSAgICAgICAgICAgIC0xLAorLSAgICAgICAgICAgIE5VTEws CistICAgICAgICAgICAgX3Byb2Nlc3Nfa2V5X2V2ZW50X3JlcGx5X2RvbmUsCistICAgICAgICAg ICAgZGF0YSk7CistICAgICAgICBnX3NvdXJjZV9zZXRfY2FsbGJhY2sgKHNvdXJjZSwgX3Byb2Nl c3Nfa2V5X2V2ZW50X2NvdW50X2NiLCBkYXRhLCBOVUxMKTsKKy0gICAgICAgIHdoaWxlIChkYXRh LT5jb3VudCkKKy0gICAgICAgICAgICBnX21haW5fY29udGV4dF9pdGVyYXRpb24gKE5VTEwsIFRS VUUpOwogLSAgICAgICAgaWYgKHNvdXJjZS0+cmVmX2NvdW50ID4gMCkgewogLSAgICAgICAgICAg IC8qIGdfc291cmNlX2dldF9pZCgpIGNvdWxkIGNhdXNlcyBhIFNFR1YgKi8KIC0gICAgICAgICAg ICBnX2luZm8gKCJCcm9rZW4gR1NvdXJjZS5yZWZfY291bnQgYW5kIG1heWJlIGEgdGltaW5nIGlz c3VlIGluICVwLiIsCiAtICAgICAgICAgICAgICAgICAgICBzb3VyY2UpOwogLSAgICAgICAgfQot KyAgICAgICAgLyogIzI0OTggQ2hlY2tpbmcgc291cmNlLT5yZWZfY291bnQgbWlnaHQgY2F1c2Ug TmF1dGlsdXMgaGFuZyB1cAotKyAgICAgICAgICovCi0gICAgICAgICByZXR2YWwgPSBkYXRhLT5y ZXR2YWw7Ci0gICAgICAgICBnX3NsaWNlX2ZyZWUgKFByb2Nlc3NLZXlFdmVudFJlcGx5RGF0YSwg ZGF0YSk7CistICAgICAgICByZXR2YWwgPSBkYXRhLT5yZXR2YWw7CistICAgICAgICBnX3NsaWNl X2ZyZWUgKFByb2Nlc3NLZXlFdmVudFJlcGx5RGF0YSwgZGF0YSk7CisrICAgICAgICByZXR2YWwg PSBfcHJvY2Vzc19rZXlfZXZlbnRfaHlicmlkX2FzeW5jIChjb250ZXh0LAorKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5dmFsLCBrZXljb2RlLCBz dGF0ZSk7CiAgICAgICAgICBicmVhazsKICAgICAgfQogICAgICBkZWZhdWx0OiB7Ci0gICAgICAg ICBQcm9jZXNzS2V5RXZlbnREYXRhICpkYXRhID0gZ19zbGljZV9uZXcwIChQcm9jZXNzS2V5RXZl bnREYXRhKTsKLSsgICAgICAgIGlmICghZGF0YSkgewotKyAgICAgICAgICAgIGdfd2FybmluZyAo IkNhbm5vdCBhbGxvY2F0ZSBhc3luYyBkYXRhIik7Ci0rICAgICAgICAgICAgcmV0dmFsID0gX3By b2Nlc3Nfa2V5X2V2ZW50X3N5bmMgKGNvbnRleHQsIGtleXZhbCwga2V5Y29kZSwgc3RhdGUpOwot KyAgICAgICAgICAgIGJyZWFrOwotKyAgICAgICAgfQotICNpZiBHVEtfQ0hFQ0tfVkVSU0lPTiAo MywgOTgsIDQpCi0gICAgICAgICBkYXRhLT5ldmVudCA9IGdka19ldmVudF9yZWYgKGV2ZW50KTsK LSAjZWxzZQotQEAgLTg3Nyw3ICs4OTAsNyBAQCBpYnVzX2ltX2NvbnRleHRfY2xhc3NfaW5pdCAo SUJ1c0lNQ29udGV4dENsYXNzICpjbGFzcykKKy0gICAgICAgIFByb2Nlc3NLZXlFdmVudERhdGEg KmRhdGEgPSBnX3NsaWNlX25ldzAgKFByb2Nlc3NLZXlFdmVudERhdGEpOworLSNpZiBHVEtfQ0hF Q0tfVkVSU0lPTiAoMywgOTgsIDQpCistICAgICAgICBkYXRhLT5ldmVudCA9IGdka19ldmVudF9y ZWYgKGV2ZW50KTsKKy0jZWxzZQorLSAgICAgICAgZGF0YS0+ZXZlbnQgPSBnZGtfZXZlbnRfY29w eSAoKEdka0V2ZW50ICopZXZlbnQpOworLSNlbmRpZgorLSAgICAgICAgZGF0YS0+aWJ1c2ltY29u dGV4dCA9IGlidXNpbWNvbnRleHQ7CistICAgICAgICBpYnVzX2lucHV0X2NvbnRleHRfcHJvY2Vz c19rZXlfZXZlbnRfYXN5bmMgKGNvbnRleHQsCistICAgICAgICAgICAga2V5dmFsLAorLSAgICAg ICAgICAgIGtleWNvZGUgLSA4LAorLSAgICAgICAgICAgIHN0YXRlLAorLSAgICAgICAgICAgIC0x LAorLSAgICAgICAgICAgIE5VTEwsCistICAgICAgICAgICAgX3Byb2Nlc3Nfa2V5X2V2ZW50X2Rv bmUsCistICAgICAgICAgICAgZGF0YSk7CistCistICAgICAgICByZXR2YWwgPSBUUlVFOworKyAg ICAgICAgcmV0dmFsID0gX3Byb2Nlc3Nfa2V5X2V2ZW50X2FzeW5jIChjb250ZXh0LAorKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXl2YWwsIGtleWNvZGUsIHN0 YXRlLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoR2RrRXZl bnQgKilldmVudCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg aWJ1c2ltY29udGV4dCk7CisrICAgICAgICBicmVhazsKKyAgICAgfQorICAgICB9CisgCitAQCAt ODc3LDcgKzkyNSw1NSBAQCBpYnVzX2ltX2NvbnRleHRfY2xhc3NfaW5pdCAoSUJ1c0lNQ29udGV4 dENsYXNzICpjbGFzcykKICAgICAgZ19hc3NlcnQgKF9zaWduYWxfcmV0cmlldmVfc3Vycm91bmRp bmdfaWQgIT0gMCk7CiAgCiAgI2lmIEdUS19DSEVDS19WRVJTSU9OICgzLCA5OCwgNCkKIC0gICAg X3VzZV9zeW5jX21vZGUgPSBfZ2V0X2NoYXJfZW52ICgiSUJVU19FTkFCTEVfU1lOQ19NT0RFIiwg Mik7CisrICAgIC8qIElCdXMgR3RrSU1Nb2R1bGUsIFF0SU1Nb2RsdWUsIGlidXMteDExLCBpYnVz LXdheWxhbmQgYXJlIGNhbGxlZCBhcworKyAgICAgKiBJQnVzIGNsaWVudHMuCisrICAgICAqIEVh Y2ggR1RLIGFwcGxpY2F0aW9uLCBlYWNoIFFUIGFwcGxpY2F0aW9uLCBYb3JnIHNlcnZlciwgV2F5 bGFuZAorKyAgICAgKiBjb21wcHNpdG9yIGFyZSBjYWxsZWQgYXMgSUJ1cyBldmVudCBvd25lcnMg aGVyZS4KKysgICAgICogCisrICAgICAqIFRoZSBJQnVzIGNsaWVudCBwcm9jZXNzZXMgdGhlIGtl eSBldmVudHMgYmV0d2VlbiB0aGUgSUJ1cyBldmVudCBvd25lcgorKyAgICAgKiBhbmQgdGhlIElC dXMgZGFlbW9uIGFuZCB0aGUgcHJvY2VkdXJlIHN0ZXAgaXMgdG86CisrICAgICAqCisrICAgICAq IHJlY2VpdmUgdGhlIGtleSBldmVudCBmcm9tIHRoZSBJQnVzIGV2ZW50IG93bmVyIGFuZCBmb3J3 YXJkIHRoZQorKyAgICAgKiBldmVudCB0byB0aGUgSUJ1cyBkYWVtb24gd2l0aCB0aGUgIlByb2Nl c3NLZXlFdmVudCIgRC1CdXMgbWV0aG9kIGF0CisrICAgICAqIGZpcnN0LAorKyAgICAgKgorKyAg ICAgKiByZWNlaXZlIHRoZSByZXR1cm4gdmFsdWUgZnJvbSB0aGUgSUJ1cyBkYWVtb24gd2l0aCB0 aGUgIlByb2Vzc0tleUV2ZW50IgorKyAgICAgKiBELUJ1cyBtZXRob2QgYW5kIGZvcndhcmQgdGhl IHZhbHVlIHRvIHRoZSBJQnVzIGV2ZW50IG93bmVyIHNlY29uZGx5IGFuZAorKyAgICAgKiB0aGUg cmV0dXJuIHZhbHVlIGluY2x1ZGVzIGlmIHRoZSBrZXkgZXZlbnQgaXMgcHJvY2Vzc2VkIG5vcm1h bGx5IG9yIG5vdC4KKysgICAgICoKKysgICAgICogVGhlIHByb2NlZHVyZSBiZWhhdmlvciBjYW4g YmUgY2hhbmdlZCBieSB0aGUgIklCVVNfRU5BQkxFX1NZTkNfTU9ERSIKKysgICAgICogZW52aXJv bm1lbnQgdmFyaWFibGUgd2l0aCB0aGUgc3luY2hyb25vdXMgcHJvY2VkdXJlIG9yIGFzeW5jaHJv bm91cworKyAgICAgKiBvbmUgYW5kIHZhbHVlIGlzOgorKyAgICAgKgorKyAgICAgKiAxOiBTeW5j aHJvbm91cyBwcm9jZXNzIGtleSBldmVudDoKKysgICAgICogICAgV2FpdCBmb3IgdGhlIHJldHVy biBvZiB0aGUgSUJ1cyAiUHJvY2Vzc0tleUV2ZW50IiBELUJ1cyBtZXRob2QKKysgICAgICogICAg c3luY2hyb25vdXNseSBhbmQgZm9yd2FyZCB0aGUgcmV0dXJuIHZhbHVlIHRvIHRoZSBJQnVzIGV2 ZW50IG93bmVyCisrICAgICAqICAgIHN5bmNocm9ub3VzbHkuCisrICAgICAqIDA6IEFzeW5jaHJv bm91cyBwcm9jZXNzIGtleSBldmVudDoKKysgICAgICogICAgUmV0dXJuIHRvIHRoZSBJQnVzIGV2 ZW50IG93bmVyIGFzIHRoZSBrZXkgZXZlbnQgaXMgcHJvY2Vzc2VkIG5vcm1hbGx5CisrICAgICAq ICAgIGF0IGZpcnN0IGFzIHNvb24gYXMgdGhlIElCdXMgY2xpZW50IHJlY2VpdmVzIHRoZSBldmVu dCBmcm9tIHRoZQorKyAgICAgKiAgICBJQnVzIGV2ZW50IG93bmVyIGFuZCBhbHNvIGZvcndhcmQg dGhlIGV2ZW50IHRvIHRoZSBJQnVzIGRhZW1vbiB3aXRoCisrICAgICAqICAgIHRoZSAiUHJvY2Vz c0tleUV2ZW50IiBELUJ1cyBtZXRob2QgYW5kIHdhaXQgZm9yIHRoZSByZXR1cm4gdmFsdWUgb2YK KysgICAgICogICAgdGhlIEQtQnVzIG1ldGhvZCAqYXN5bmNocm9ub3VzbHkqLgorKyAgICAgKiAg ICBJZiB0aGUgcmV0dXJuIHZhbHVlIGluZGljYXRlcyB0aGUga2V5IGV2ZW50IGlzIGRpc3Bvc2Vk IGJ5IElCdXMsCisrICAgICAqICAgIHRoZSBJQnVzIGNsaWVudCBkb2VzIG5vdCBwZXJmb3JtIGFu eXRoaW5nLiBPdGhlcndpc2UgdGhlIElCdXMgY2xpZW50CisrICAgICAqICAgIGZvcndhcmRzIHRo ZSBrZXkgZXZlbnQgd2l0aCB0aGUgZ2RrX2V2ZW50X3B1dCgpIGluIEdUSzMsCisrICAgICAqICAg IGd0a19pbV9jb250ZXh0X2ZpbHRlcl9rZXkoKSBpbiBHVEs0LCBJTUZvcndhcmRFdmVudCgpIGlu IFhJTSBBUEkuCisrICAgICAqIDI6IEh5YnJpZCBhc3luY2hyb25vdXMgcHJvY2VzcyBrZXkgZXZl bnQ6CisrICAgICAqICAgIFdhaXQgZm9yIHRoZSByZXR1cm4gb2YgdGhlIElCdXMgIlByb2Nlc3NL ZXlFdmVudCIgRC1CdXMgbWV0aG9kCisrICAgICAqICAgICphc3luY2hyb25vdXNseSogd2l0aCBh IEdTb3VyY2UgbG9vcCBhbmQgZm9yd2FyZCB0aGUgcmV0dXJuIHZhbHVlCisrICAgICAqICAgIHRv IHRoZSBJQnVzIGV2ZW50IG93bmVyIHN5bmNocm9ub3VzbHkuIFNvIElCdXMgY2xpZW50cyBwZXJm b3JtCisrICAgICAqICAgIHZpcnR1YWxseSBzeW5jaHJvbm91c2x5IHRvIGNvdmVyIHByb2JsZW1z IG9mIElCdXMgc3luY2hyb25vdXMgQVBJcy4KKysgICAgICogCisrICAgICAqIFRoZSBwdXJwb3Nl IG9mIHRoZSBhc3luY2hyb25vdXMgcHJvY2VzcyBpcyB0aGF0IGVhY2ggSUJ1cyBpbnB1dAorKyAg ICAgKiBtZXRob2QgY2FuIHByb2Nlc3MgdGhlIGtleSBldmVudHMgd2l0aG91dCBELUJ1cyB0aW1l b3V0IGFuZCBhbHNvCisrICAgICAqIHRoZSBJQnVzIHN5bmNocm9ub3VzIHByb2Nlc3MgaGFzIGEg cHJvYmxlbSB0aGF0IHRoZSBJQnVzCisrICAgICAqICJQcm9jZXNzS2V5RXZlbnQiIEQtQnVzIG1l dGhvZCBjYW5ub3Qgc2VuZCB0aGUgY29tbWl0LXRleHQgYW5kCisrICAgICAqIGZvcndhci1rZXkt ZXZlbnQgRC1CdXMgc2lnbmFscyB1bnRpbCB0aGUgRC1CdXMgbWV0aG9kIGlzIGZpbmlzaGVkLgor KyAgICAgKgorKyAgICAgKiBSZWxhdGl2ZSBpc3N1ZXM6ICMxNzEzLCAjMjQ4NgorKyAgICAgKi8K ICsgICAgX3VzZV9zeW5jX21vZGUgPSBfZ2V0X2NoYXJfZW52ICgiSUJVU19FTkFCTEVfU1lOQ19N T0RFIiwgMSk7CiAgI2Vsc2UKICAgICAgX3VzZV9rZXlfc25vb3BlciA9ICFfZ2V0X2Jvb2xlYW5f ZW52ICgiSUJVU19ESVNBQkxFX1NOT09QRVIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICEoRU5BQkxFX1NOT09QRVIpKTsKLUBAIC0xMDA0LDggKzEwMTcsNiBA QCBpYnVzX2ltX2NvbnRleHRfaW5pdCAoR09iamVjdCAqb2JqKQorQEAgLTEwMDQsOCArMTEwMCw2 IEBAIGlidXNfaW1fY29udGV4dF9pbml0IChHT2JqZWN0ICpvYmopCiAgI2Vsc2UKICAgICAgaWJ1 c2ltY29udGV4dC0+Y2FwcyA9IElCVVNfQ0FQX1BSRUVESVRfVEVYVCB8IElCVVNfQ0FQX0ZPQ1VT OwogICNlbmRpZgpAQCAtMzc2MSwxNSArMzk0MSwxNiBAQCBpbmRleCBlYTgyNzBiYi4uOGVlODUx NDkgMTAwNjQ0CiAgCiAgICAgIGlidXNpbWNvbnRleHQtPmV2ZW50c19xdWV1ZSA9IGdfcXVldWVf bmV3ICgpOwogIAotQEAgLTIyNjUsNiArMjI3Niw3IEBAIF9jcmVhdGVfaW5wdXRfY29udGV4dF9k b25lIChJQnVzQnVzICAgICAgICpidXMsCitAQCAtMjI2NSw2ICsyMzU5LDggQEAgX2NyZWF0ZV9p bnB1dF9jb250ZXh0X2RvbmUgKElCdXNCdXMgICAgICAgKmJ1cywKICAgICAgZWxzZSB7CiAgICAg ICAgICBnYm9vbGVhbiByZXF1ZXN0ZWRfc3Vycm91bmRpbmdfdGV4dCA9IEZBTFNFOwogICAgICAg ICAgaWJ1c19pbnB1dF9jb250ZXh0X3NldF9jbGllbnRfY29tbWl0X3ByZWVkaXQgKGNvbnRleHQs IFRSVUUpOwotKyAgICAgICAgaWJ1c19pbnB1dF9jb250ZXh0X3NldF9wb3N0X3Byb2Nlc3Nfa2V5 X2V2ZW50IChjb250ZXh0LCBUUlVFKTsKKysgICAgICAgIGlmIChfdXNlX3N5bmNfbW9kZSA9PSAx KQorKyAgICAgICAgICAgIGlidXNfaW5wdXRfY29udGV4dF9zZXRfcG9zdF9wcm9jZXNzX2tleV9l dmVudCAoY29udGV4dCwgVFJVRSk7CiAgICAgICAgICBpYnVzaW1jb250ZXh0LT5pYnVzY29udGV4 dCA9IGNvbnRleHQ7CiAgCiAgICAgICAgICBnX3NpZ25hbF9jb25uZWN0IChpYnVzaW1jb250ZXh0 LT5pYnVzY29udGV4dCwKLUBAIC0yNDg5LDkgKzI1MDEsOCBAQCBfY3JlYXRlX2Zha2VfaW5wdXRf Y29udGV4dF9kb25lIChJQnVzQnVzICAgICAgICpidXMsCitAQCAtMjQ4OSw5ICsyNTg1LDggQEAg X2NyZWF0ZV9mYWtlX2lucHV0X2NvbnRleHRfZG9uZSAoSUJ1c0J1cyAgICAgICAqYnVzLAogICAg ICAgICAgICAgICAgICAgICAgICBHX0NBTExCQUNLIChfaWJ1c19mYWtlX2NvbnRleHRfZGVzdHJv eV9jYiksCiAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwpOwogIApAQCAtNDA2MSwyMyArNDI0 MiwyMyBAQCBpbmRleCAwOTk5MjE0OC4uMWNiNTEyNmEgMTAwNjQ0CiAtLSAKIDIuNDEuMAogCi1G cm9tIDEwOTJiZmE2MTk3NDlhOTMxZDY1ZjgwZWM0OWU5M2I3YjMxZjYwZjUgTW9uIFNlcCAxNyAw MDowMDowMCAyMDAxCitGcm9tIGRkN2U4NTg5MGNlZDVlNTNkOTgyZjAyZjViMTFlZjVhMzZlMmVh YjggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBmdWppd2FyYXQgPHRha2FvLmZ1aml3 YXJhMUBnbWFpbC5jb20+Ci1EYXRlOiBGcmksIDcgSnVsIDIwMjMgMDg6NTI6NTEgKzA5MDAKK0Rh dGU6IFN1biwgOSBKdWwgMjAyMyAxODo0ODoyMSArMDkwMAogU3ViamVjdDogW1BBVENIIDIvMl0g Y2xpZW50L3gxMTogRml4IHN5bmMKICBpYnVzX2lucHV0X2NvbnRleHRfcHJvY2Vzc19rZXlfZXZl bnQoKQogCiBGaXggdGhlIHN5bmNocm9ub3VzICJQcm9jZXNzS2V5RXZlbnQiIEQtQnVzIG1ldGhv ZCBpbiBpYnVzLXgxMSB0b28uCiAKLUZpeGVzOiBodHRwczovL2dpdGh1Yi5jb20vaWJ1cy9pYnVz L2NvbW1pdC84YTFiZDVmCitGaXhlczogaHR0cHM6Ly9naXRodWIuY29tL2lidXMvaWJ1cy9jb21t aXQvYTczZWEyYwogCiBCVUc9aHR0cHM6Ly9naXRodWIuY29tL2lidXMvaWJ1cy9pc3N1ZXMvMjQ4 NgogLS0tCi0gY2xpZW50L3gxMS9tYWluLmMgfCAxMDQgKysrKysrKysrKysrKysrKysrKysrKysr LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIDEgZmlsZSBjaGFuZ2VkLCA1NCBpbnNlcnRpb25zKCsp LCA1MCBkZWxldGlvbnMoLSkKKyBjbGllbnQveDExL21haW4uYyB8IDIzNCArKysrKysrKysrKysr KysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDEzNCBp bnNlcnRpb25zKCspLCAxMDAgZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS9jbGllbnQveDEx L21haW4uYyBiL2NsaWVudC94MTEvbWFpbi5jCi1pbmRleCA4M2Q5NWNiNy4uMTNlN2ExY2YgMTAw NjQ0CitpbmRleCA4M2Q5NWNiNy4uYjdlYjU5NjEgMTAwNjQ0CiAtLS0gYS9jbGllbnQveDExL21h aW4uYwogKysrIGIvY2xpZW50L3gxMS9tYWluLmMKIEBAIC0xMjYsNyArMTI2LDcgQEAgc3RhdGlj IGdpbnQgICAgIGdfZGVidWdfbGV2ZWwgPSAwOwpAQCAtNDA4OSwyNyArNDI3MCw3NyBAQCBpbmRl eCA4M2Q5NWNiNy4uMTNlN2ExY2YgMTAwNjQ0CiAgCiAgc3RhdGljIHZvaWQKICBfeGltX3ByZWVk aXRfc3RhcnQgKFhJTVMgeGltcywgY29uc3QgWDExSUMgKngxMWljKQotQEAgLTM4MCw5ICszODAs OCBAQCB4aW1fY3JlYXRlX2ljIChYSU1TIHhpbXMsIElNQ2hhbmdlSUNTdHJ1Y3QgKmNhbGxfZGF0 YSkKK0BAIC0zODAsOSArMzgwLDkgQEAgeGltX2NyZWF0ZV9pYyAoWElNUyB4aW1zLCBJTUNoYW5n ZUlDU3RydWN0ICpjYWxsX2RhdGEpCiAgCiAgICAgIGlmICh4MTFpYy0+aW5wdXRfc3R5bGUgJiBY SU1QcmVlZGl0Q2FsbGJhY2tzKQogICAgICAgICAgY2FwYWJpbGl0aWVzIHw9IElCVVNfQ0FQX1BS RUVESVRfVEVYVDsKIC0gICAgaWYgKF91c2Vfc3luY19tb2RlID09IDEpCiAtICAgICAgICBjYXBh YmlsaXRpZXMgfD0gSUJVU19DQVBfU1lOQ19QUk9DRVNTX0tFWV9WMjsKICAgICAgaWJ1c19pbnB1 dF9jb250ZXh0X3NldF9jYXBhYmlsaXRpZXMgKHgxMWljLT5jb250ZXh0LCBjYXBhYmlsaXRpZXMp OwotKyAgICBpYnVzX2lucHV0X2NvbnRleHRfc2V0X3Bvc3RfcHJvY2Vzc19rZXlfZXZlbnQgKHgx MWljLT5jb250ZXh0LCBUUlVFKTsKKysgICAgaWYgKF91c2Vfc3luY19tb2RlID09IDEpCisrICAg ICAgICBpYnVzX2lucHV0X2NvbnRleHRfc2V0X3Bvc3RfcHJvY2Vzc19rZXlfZXZlbnQgKHgxMWlj LT5jb250ZXh0LCBUUlVFKTsKICAKICAgICAgZ19oYXNoX3RhYmxlX2luc2VydCAoX3gxMV9pY190 YWJsZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgR0lOVF9UT19QT0lOVEVSICh4MTFpYy0+ aWNpZCksIChncG9pbnRlcil4MTFpYyk7Ci1AQCAtNDk4LDYgKzQ5NywyNiBAQCB0eXBlZGVmIHN0 cnVjdCB7CitAQCAtNDI3LDYgKzQyNyw3IEBAIHhpbV9kZXN0cm95X2ljIChYSU1TIHhpbXMsIElN Q2hhbmdlSUNTdHJ1Y3QgKmNhbGxfZGF0YSkKKyAgICAgcmV0dXJuIDE7CisgfQorIAorKworIHN0 YXRpYyBpbnQKKyB4aW1fc2V0X2ljX2ZvY3VzIChYSU1TIHhpbXMsIElNQ2hhbmdlRm9jdXNTdHJ1 Y3QgKmNhbGxfZGF0YSkKKyB7CitAQCAtNDQ1LDYgKzQ0Niw3IEBAIHhpbV9zZXRfaWNfZm9jdXMg KFhJTVMgeGltcywgSU1DaGFuZ2VGb2N1c1N0cnVjdCAqY2FsbF9kYXRhKQorICAgICByZXR1cm4g MTsKKyB9CisgCisrCisgc3RhdGljIGludAorIHhpbV91bnNldF9pY19mb2N1cyAoWElNUyB4aW1z LCBJTUNoYW5nZUZvY3VzU3RydWN0ICpjYWxsX2RhdGEpCisgeworQEAgLTQ2Myw2ICs0NjUsNyBA QCB4aW1fdW5zZXRfaWNfZm9jdXMgKFhJTVMgeGltcywgSU1DaGFuZ2VGb2N1c1N0cnVjdCAqY2Fs bF9kYXRhKQorIAorIH0KKyAKKysKKyBzdGF0aWMgdm9pZAorIF94aW1fZm9yd2FyZF9rZXlfZXZl bnRfZG9uZSAoWDExSUMgICAqeDExaWMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBY RXZlbnQgICpldmVudCwKK0BAIC00OTgsNiArNTAxLDcgQEAgdHlwZWRlZiBzdHJ1Y3QgewogICAg ICBYRXZlbnQgICAgICAgICAgICAgICAgZXZlbnQ7CiAgfSBQcm9jZXNzS2V5RXZlbnRSZXBseURh dGE7CiAgCi0rc3RhdGljIGdib29sZWFuCisrCisgc3RhdGljIHZvaWQKKyBfcHJvY2Vzc19rZXlf ZXZlbnRfZG9uZSAoR09iamVjdCAgICAgICpvYmplY3QsCisgICAgICAgICAgICAgICAgICAgICAg ICAgIEdBc3luY1Jlc3VsdCAqcmVzLAorQEAgLTUyOSw2ICs1MzMsNyBAQCBfcHJvY2Vzc19rZXlf ZXZlbnRfZG9uZSAoR09iamVjdCAgICAgICpvYmplY3QsCisgICAgIGdfc2xpY2VfZnJlZSAoUHJv Y2Vzc0tleUV2ZW50UmVwbHlEYXRhLCBkYXRhKTsKKyB9CisgCisrCisgc3RhdGljIHZvaWQKKyBf cHJvY2Vzc19rZXlfZXZlbnRfcmVwbHlfZG9uZSAoR09iamVjdCAgICAgICpvYmplY3QsCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdBc3luY1Jlc3VsdCAqcmVzLAorQEAgLTU2Niw2 ICs1NzEsNyBAQCBfcHJvY2Vzc19rZXlfZXZlbnRfcmVwbHlfZG9uZSAoR09iamVjdCAgICAgICpv YmplY3QsCisgICAgIGdfc291cmNlX3JlbW92ZSAoZGF0YS0+Y291bnRfY2JfaWQpOworIH0KKyAK KysKKyBzdGF0aWMgZ2Jvb2xlYW4KKyBfcHJvY2Vzc19rZXlfZXZlbnRfY291bnRfY2IgKGdwb2lu dGVyIHVzZXJfZGF0YSkKKyB7CitAQCAtNTgwLDE5ICs1ODYsMTMxIEBAIF9wcm9jZXNzX2tleV9l dmVudF9jb3VudF9jYiAoZ3BvaW50ZXIgdXNlcl9kYXRhKQorICAgICByZXR1cm4gR19TT1VSQ0Vf Q09OVElOVUU7CisgfQorIAorKworK3N0YXRpYyBpbnQKICtfcHJvY2Vzc19rZXlfZXZlbnRfc3lu YyAoWDExSUMgICAgICAgICAgICAgICAgKngxMWljLAogKyAgICAgICAgICAgICAgICAgICAgICAg ICBJTUZvcndhcmRFdmVudFN0cnVjdCAqY2FsbF9kYXRhLAogKyAgICAgICAgICAgICAgICAgICAg ICAgICBHZGtFdmVudEtleSAgICAgICAgICAqZXZlbnQpCiArewotKyAgICBnYm9vbGVhbiByZXR2 YWwgPSBGQUxTRTsKKysgICAgZ2Jvb2xlYW4gcmV0dmFsOwogKwogKyAgICBnX2Fzc2VydCAoeDEx aWMpOwogKyAgICBnX2Fzc2VydCAoY2FsbF9kYXRhKTsKQEAgLTQxMjEsMTYgKzQzNTIsMTI1IEBA IGluZGV4IDgzZDk1Y2I3Li4xM2U3YTFjZiAxMDA2NDQKICsgICAgICAgICAgICBldmVudC0+c3Rh dGUpOwogKyAgICBpYnVzX2lucHV0X2NvbnRleHRfcG9zdF9wcm9jZXNzX2tleV9ldmVudCAoeDEx aWMtPmNvbnRleHQpOwogKyAgICBfeGltX2ZvcndhcmRfa2V5X2V2ZW50X2RvbmUgKHgxMWljLCAm Y2FsbF9kYXRhLT5ldmVudCwgcmV0dmFsKTsKLSsgICAgcmV0dXJuIFRSVUU7CisrICAgIHJldHVy biAxOwogK30KICsKLSBzdGF0aWMgdm9pZAotIF9wcm9jZXNzX2tleV9ldmVudF9kb25lIChHT2Jq ZWN0ICAgICAgKm9iamVjdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgR0FzeW5jUmVzdWx0 ICpyZXMsCi1AQCAtNjA5LDE0ICs2MjgsNyBAQCB4aW1fZm9yd2FyZF9ldmVudCAoWElNUyB4aW1z LCBJTUZvcndhcmRFdmVudFN0cnVjdCAqY2FsbF9kYXRhKQorKworK3N0YXRpYyBpbnQKKytfcHJv Y2Vzc19rZXlfZXZlbnRfYXN5bmMgKFgxMUlDICAgICAgICAgICAgICAgICp4MTFpYywKKysgICAg ICAgICAgICAgICAgICAgICAgICAgIElNRm9yd2FyZEV2ZW50U3RydWN0ICpjYWxsX2RhdGEsCisr ICAgICAgICAgICAgICAgICAgICAgICAgICBHZGtFdmVudEtleSAgICAgICAgICAqZXZlbnQpCisr eworKyAgICBQcm9jZXNzS2V5RXZlbnRSZXBseURhdGEgKmRhdGE7CisrCisrICAgIGdfYXNzZXJ0 ICh4MTFpYyk7CisrICAgIGdfYXNzZXJ0IChjYWxsX2RhdGEpOworKyAgICBnX2Fzc2VydCAoZXZl bnQpOworKyAgICBpZiAoIShkYXRhID0gZ19zbGljZV9uZXcwIChQcm9jZXNzS2V5RXZlbnRSZXBs eURhdGEpKSkgeworKyAgICAgICAgZ193YXJuaW5nICgiQ2Fubm90IGFsbG9jYXRlIGFzeW5jIGRh dGEiKTsKKysgICAgICAgIHJldHVybiBfcHJvY2Vzc19rZXlfZXZlbnRfc3luYyAoeDExaWMsIGNh bGxfZGF0YSwgZXZlbnQpOworKyAgICB9CisrICAgIGRhdGEtPmNvbm5lY3RfaWQgPSBjYWxsX2Rh dGEtPmNvbm5lY3RfaWQ7CisrICAgIGRhdGEtPngxMWljID0geDExaWM7CisrICAgIGRhdGEtPmV2 ZW50ID0gY2FsbF9kYXRhLT5ldmVudDsKKysgICAgaWJ1c19pbnB1dF9jb250ZXh0X3Byb2Nlc3Nf a2V5X2V2ZW50X2FzeW5jICh4MTFpYy0+Y29udGV4dCwKKysgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBldmVudC0+a2V5dmFsLAorKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LT5oYXJkd2FyZV9rZXljb2Rl IC0gOCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBl dmVudC0+c3RhdGUsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgLTEsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgTlVMTCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBfcHJvY2Vzc19rZXlfZXZlbnRfZG9uZSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBkYXRhKTsKKysgICAgcmV0dXJuIDE7CisrfQorKworKworK3N0 YXRpYyBpbnQKKytfcHJvY2Vzc19rZXlfZXZlbnRfaHlicmlkX2FzeW5jIChYMTFJQyAgICAgICAg ICAgICAgICAqeDExaWMsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSU1Gb3J3 YXJkRXZlbnRTdHJ1Y3QgKmNhbGxfZGF0YSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBHZGtFdmVudEtleSAgICAgICAgICAqZXZlbnQpCisreworKyAgICBHU291cmNlICpzb3Vy Y2U7CisrICAgIFByb2Nlc3NLZXlFdmVudFJlcGx5RGF0YSAqZGF0YSA9IE5VTEw7CisrICAgIGdi b29sZWFuIGJ1c19yZXR2YWw7CisrCisrICAgIGdfYXNzZXJ0ICh4MTFpYyk7CisrICAgIGdfYXNz ZXJ0IChjYWxsX2RhdGEpOworKyAgICBnX2Fzc2VydCAoZXZlbnQpOworKyAgICBzb3VyY2UgPSBn X3RpbWVvdXRfc291cmNlX25ldyAoMSk7CisrICAgIGlmIChzb3VyY2UpCisrICAgICAgICBkYXRh ID0gZ19zbGljZV9uZXcwIChQcm9jZXNzS2V5RXZlbnRSZXBseURhdGEpOworKyAgICBpZiAoIWRh dGEpIHsKKysgICAgICAgIGludCB4aW1fcmV0dmFsOworKyAgICAgICAgZ193YXJuaW5nICgiQ2Fu bm90IHdhaXQgZm9yIHRoZSByZXBseSBvZiB0aGUgcHJvY2VzcyBrZXkgZXZlbnQuIik7CisrICAg ICAgICB4aW1fcmV0dmFsID0gX3Byb2Nlc3Nfa2V5X2V2ZW50X3N5bmMgKHgxMWljLCBjYWxsX2Rh dGEsIGV2ZW50KTsKKysgICAgICAgIGlmIChzb3VyY2UpCisrICAgICAgICAgICAgZ19zb3VyY2Vf ZGVzdHJveSAoc291cmNlKTsKKysgICAgICAgIHJldHVybiB4aW1fcmV0dmFsOworKyAgICB9Cisr ICAgIGRhdGEtPmNvdW50ID0gMTsKKysgICAgZ19zb3VyY2VfYXR0YWNoIChzb3VyY2UsIE5VTEwp OworKyAgICBnX3NvdXJjZV91bnJlZiAoc291cmNlKTsKKysgICAgZGF0YS0+Y291bnRfY2JfaWQg PSBnX3NvdXJjZV9nZXRfaWQgKHNvdXJjZSk7CisrICAgIGRhdGEtPmNvbm5lY3RfaWQgPSBjYWxs X2RhdGEtPmNvbm5lY3RfaWQ7CisrICAgIGRhdGEtPngxMWljID0geDExaWM7CisrICAgIGRhdGEt PmV2ZW50ID0gY2FsbF9kYXRhLT5ldmVudDsKKysgICAgaWJ1c19pbnB1dF9jb250ZXh0X3Byb2Nl c3Nfa2V5X2V2ZW50X2FzeW5jICh4MTFpYy0+Y29udGV4dCwKKysgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBldmVudC0+a2V5dmFsLAorKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LT5oYXJkd2FyZV9rZXlj b2RlIC0gOCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBldmVudC0+c3RhdGUsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgLTEsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgTlVMTCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBfcHJvY2Vzc19rZXlfZXZlbnRfcmVwbHlfZG9uZSwKKysgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhKTsKKysgICAgZ19zb3VyY2Vfc2V0X2Nh bGxiYWNrIChzb3VyY2UsIF9wcm9jZXNzX2tleV9ldmVudF9jb3VudF9jYiwKKysgICAgICAgICAg ICAgICAgICAgICAgICAgICBkYXRhLCBOVUxMKTsKKysgICAgd2hpbGUgKGRhdGEtPmNvdW50ID4g MCAmJiBkYXRhLT5jb3VudCA8IE1BWF9XQUlUX0tFWV9USU1FKQorKyAgICAgICAgZ19tYWluX2Nv bnRleHRfaXRlcmF0aW9uIChOVUxMLCBUUlVFKTsKKysgICAgLyogIzI0OTggQ2hlY2tpbmcgc291 cmNlLT5yZWZfY291bnQgbWlnaHQgY2F1c2UgTmF1dGlsdXMgaGFuZyB1cAorKyAgICAgKi8KKysg ICAgYnVzX3JldHZhbCA9IGRhdGEtPnJldHZhbDsKKysgICAgaWYgKGRhdGEtPmNvdW50ID09IDAp IHsKKysgICAgICAgIGdfc2xpY2VfZnJlZSAoUHJvY2Vzc0tleUV2ZW50UmVwbHlEYXRhLCBkYXRh KTsKKysgICAgICAgIHJldHVybiAxOworKyAgICB9CisrCisrICAgIGdfc2xpY2VfZnJlZSAoUHJv Y2Vzc0tleUV2ZW50UmVwbHlEYXRhLCBkYXRhKTsKKysgICAgaWYgKGdfaGFzaF90YWJsZV9sb29r dXAgKF9jb25uZWN0aW9ucywKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdJTlRfVE9f UE9JTlRFUiAoKGdpbnQpY2FsbF9kYXRhLT5jb25uZWN0X2lkKSkKKysgICAgICAgID09IE5VTEwp IHsKKysgICAgICAgIHJldHVybiAxOworKyAgICB9CisrICAgIF94aW1fZm9yd2FyZF9rZXlfZXZl bnRfZG9uZSAoeDExaWMsICZjYWxsX2RhdGEtPmV2ZW50LCBidXNfcmV0dmFsKTsKKysgICAgcmV0 dXJuIDE7CisrfQorKworKworIHN0YXRpYyBpbnQKKyB4aW1fZm9yd2FyZF9ldmVudCAoWElNUyB4 aW1zLCBJTUZvcndhcmRFdmVudFN0cnVjdCAqY2FsbF9kYXRhKQorIHsKKyAgICAgWDExSUMgKngx MWljOworICAgICBYS2V5RXZlbnQgKnhldmVudDsKKyAgICAgR2RrRXZlbnRLZXkgZXZlbnQ7Cist ICAgIGdib29sZWFuIHJldHZhbDsKKyAKKyAgICAgTE9HICgxLCAiWElNX0ZPUldBUkRfRVZFTlQg aWM9JWQgY29ubmVjdF9pZD0lZCIsCistICAgICAgICAgICAgICAgIGNhbGxfZGF0YS0+aWNpZCwg Y2FsbF9kYXRhLT5jb25uZWN0X2lkKTsKKysgICAgICAgICBjYWxsX2RhdGEtPmljaWQsIGNhbGxf ZGF0YS0+Y29ubmVjdF9pZCk7CisgCistICAgIHgxMWljID0gKFgxMUlDICopIGdfaGFzaF90YWJs ZV9sb29rdXAgKF94MTFfaWNfdGFibGUsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIEdJTlRfVE9fUE9JTlRFUiAoKGdpbnQpIGNhbGxfZGF0YS0+aWNpZCkpOwor KyAgICB4MTFpYyA9IChYMTFJQyAqKSBnX2hhc2hfdGFibGVfbG9va3VwICgKKysgICAgICAgICAg ICBfeDExX2ljX3RhYmxlLAorKyAgICAgICAgICAgIEdJTlRfVE9fUE9JTlRFUiAoKGdpbnQpIGNh bGxfZGF0YS0+aWNpZCkpOworICAgICBnX3JldHVybl92YWxfaWZfZmFpbCAoeDExaWMgIT0gTlVM TCwgMCk7CisgCisgICAgIHhldmVudCA9IChYS2V5RXZlbnQqKSAmKGNhbGxfZGF0YS0+ZXZlbnQp OworQEAgLTYwOCw5OSArNzI2LDE1IEBAIHhpbV9mb3J3YXJkX2V2ZW50IChYSU1TIHhpbXMsIElN Rm9yd2FyZEV2ZW50U3RydWN0ICpjYWxsX2RhdGEpCisgICAgIH0KICAKICAgICAgc3dpdGNoIChf dXNlX3N5bmNfbW9kZSkgewotICAgICBjYXNlIDE6IHsKKy0gICAgY2FzZSAxOiB7CiAtICAgICAg ICByZXR2YWwgPSBpYnVzX2lucHV0X2NvbnRleHRfcHJvY2Vzc19rZXlfZXZlbnQgKAogLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeDExaWMtPmNvbnRleHQsCiAtICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBldmVudC5rZXl2YWwsCkBAIC00MTM5LDIy ICs0NDc5LDIyIEBAIGluZGV4IDgzZDk1Y2I3Li4xM2U3YTFjZiAxMDA2NDQKIC0gICAgICAgIF94 aW1fZm9yd2FyZF9rZXlfZXZlbnRfZG9uZSAoeDExaWMsICZjYWxsX2RhdGEtPmV2ZW50LCByZXR2 YWwpOwogLSAgICAgICAgcmV0dmFsID0gMTsKIC0gICAgICAgIGJyZWFrOwotKyAgICAgICAgcmV0 dXJuIF9wcm9jZXNzX2tleV9ldmVudF9zeW5jICh4MTFpYywgY2FsbF9kYXRhLCAmZXZlbnQpOwot ICAgICB9Ci0gICAgIGNhc2UgMjogewotICAgICAgICAgR1NvdXJjZSAqc291cmNlID0gZ190aW1l b3V0X3NvdXJjZV9uZXcgKDEpOwotQEAgLTYyNiw0NCArNjM4LDM3IEBAIHhpbV9mb3J3YXJkX2V2 ZW50IChYSU1TIHhpbXMsIElNRm9yd2FyZEV2ZW50U3RydWN0ICpjYWxsX2RhdGEpCi0gICAgICAg ICAgICAgZGF0YSA9IGdfc2xpY2VfbmV3MCAoUHJvY2Vzc0tleUV2ZW50UmVwbHlEYXRhKTsKLSAg ICAgICAgIGlmICghZGF0YSkgewotICAgICAgICAgICAgIGdfd2FybmluZyAoIkNhbm5vdCB3YWl0 IGZvciB0aGUgcmVwbHkgb2YgdGhlIHByb2Nlc3Mga2V5IGV2ZW50LiIpOworLSAgICB9CistICAg IGNhc2UgMjogeworLSAgICAgICAgR1NvdXJjZSAqc291cmNlID0gZ190aW1lb3V0X3NvdXJjZV9u ZXcgKDEpOworLSAgICAgICAgUHJvY2Vzc0tleUV2ZW50UmVwbHlEYXRhICpkYXRhID0gTlVMTDsK Ky0KKy0gICAgICAgIGlmIChzb3VyY2UpCistICAgICAgICAgICAgZGF0YSA9IGdfc2xpY2VfbmV3 MCAoUHJvY2Vzc0tleUV2ZW50UmVwbHlEYXRhKTsKKy0gICAgICAgIGlmICghZGF0YSkgeworLSAg ICAgICAgICAgIGdfd2FybmluZyAoIkNhbm5vdCB3YWl0IGZvciB0aGUgcmVwbHkgb2YgdGhlIHBy b2Nlc3Mga2V5IGV2ZW50LiIpOwogLSAgICAgICAgICAgIHJldHZhbCA9IGlidXNfaW5wdXRfY29u dGV4dF9wcm9jZXNzX2tleV9ldmVudCAoCiAtICAgICAgICAgICAgICAgICAgICB4MTFpYy0+Y29u dGV4dCwKIC0gICAgICAgICAgICAgICAgICAgIGV2ZW50LmtleXZhbCwKIC0gICAgICAgICAgICAg ICAgICAgIGV2ZW50LmhhcmR3YXJlX2tleWNvZGUgLSA4LAogLSAgICAgICAgICAgICAgICAgICAg ZXZlbnQuc3RhdGUpOwotKyAgICAgICAgICAgIHJldHZhbCA9IF9wcm9jZXNzX2tleV9ldmVudF9z eW5jICh4MTFpYywgY2FsbF9kYXRhLCAmZXZlbnQpOwotICAgICAgICAgICAgIGlmIChzb3VyY2Up Ci0gICAgICAgICAgICAgICAgIGdfc291cmNlX2Rlc3Ryb3kgKHNvdXJjZSk7CistICAgICAgICAg ICAgaWYgKHNvdXJjZSkKKy0gICAgICAgICAgICAgICAgZ19zb3VyY2VfZGVzdHJveSAoc291cmNl KTsKIC0gICAgICAgIH0gZWxzZSB7CiAtICAgICAgICAgICAgZGF0YS0+Y291bnQgPSAxOwogLSAg ICAgICAgICAgIGdfc291cmNlX2F0dGFjaCAoc291cmNlLCBOVUxMKTsKQEAgLTQxODYsNDggKzQ1 MjYsNTUgQEAgaW5kZXggODNkOTVjYjcuLjEzZTdhMWNmIDEwMDY0NAogLSAgICAgICAgICAgICAg ICBnX3NsaWNlX2ZyZWUgKFByb2Nlc3NLZXlFdmVudFJlcGx5RGF0YSwgZGF0YSk7CiAtICAgICAg ICAgICAgICAgIHJldHVybiAxOwogLSAgICAgICAgICAgIH0KLSsgICAgICAgICAgICBicmVhazsK LSsgICAgICAgIH0KLSsgICAgICAgIGRhdGEtPmNvdW50ID0gMTsKLSsgICAgICAgIGdfc291cmNl X2F0dGFjaCAoc291cmNlLCBOVUxMKTsKLSsgICAgICAgIGdfc291cmNlX3VucmVmIChzb3VyY2Up OwotKyAgICAgICAgZGF0YS0+Y291bnRfY2JfaWQgPSBnX3NvdXJjZV9nZXRfaWQgKHNvdXJjZSk7 Ci0rICAgICAgICBkYXRhLT5jb25uZWN0X2lkID0gY2FsbF9kYXRhLT5jb25uZWN0X2lkOwotKyAg ICAgICAgZGF0YS0+eDExaWMgPSB4MTFpYzsKLSsgICAgICAgIGRhdGEtPmV2ZW50ID0gKigoWEV2 ZW50Kil4ZXZlbnQpOwotKyAgICAgICAgaWJ1c19pbnB1dF9jb250ZXh0X3Byb2Nlc3Nfa2V5X2V2 ZW50X2FzeW5jICgKLSsgICAgICAgICAgICAgICAgeDExaWMtPmNvbnRleHQsCi0rICAgICAgICAg ICAgICAgIGV2ZW50LmtleXZhbCwKLSsgICAgICAgICAgICAgICAgZXZlbnQuaGFyZHdhcmVfa2V5 Y29kZSAtIDgsCi0rICAgICAgICAgICAgICAgIGV2ZW50LnN0YXRlLAotKyAgICAgICAgICAgICAg ICAtMSwKLSsgICAgICAgICAgICAgICAgTlVMTCwKLSsgICAgICAgICAgICAgICAgX3Byb2Nlc3Nf a2V5X2V2ZW50X3JlcGx5X2RvbmUsCi0rICAgICAgICAgICAgICAgIGRhdGEpOwotKyAgICAgICAg Z19zb3VyY2Vfc2V0X2NhbGxiYWNrIChzb3VyY2UsIF9wcm9jZXNzX2tleV9ldmVudF9jb3VudF9j YiwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YSwgTlVMTCk7Ci0rICAgICAg ICB3aGlsZSAoZGF0YS0+Y291bnQgPiAwICYmIGRhdGEtPmNvdW50IDwgTUFYX1dBSVRfS0VZX1RJ TUUpCi0rICAgICAgICAgICAgZ19tYWluX2NvbnRleHRfaXRlcmF0aW9uIChOVUxMLCBUUlVFKTsK LSsgICAgICAgIC8qICMyNDk4IENoZWNraW5nIHNvdXJjZS0+cmVmX2NvdW50IG1pZ2h0IGNhdXNl IE5hdXRpbHVzIGhhbmcgdXAKLSsgICAgICAgICAqLwotKyAgICAgICAgcmV0dmFsID0gZGF0YS0+ cmV0dmFsOwotKyAgICAgICAgaWYgKGRhdGEtPmNvdW50ID09IDApIHsKLSsgICAgICAgICAgICBn X3NsaWNlX2ZyZWUgKFByb2Nlc3NLZXlFdmVudFJlcGx5RGF0YSwgZGF0YSk7Ci0rICAgICAgICAg ICAgcmV0dXJuIDE7Ci0gICAgICAgICB9Ci0gCi0gICAgICAgICBnX3NsaWNlX2ZyZWUgKFByb2Nl c3NLZXlFdmVudFJlcGx5RGF0YSwgZGF0YSk7Ci1AQCAtNjgxLDggKzY4Niw3IEBAIHhpbV9mb3J3 YXJkX2V2ZW50IChYSU1TIHhpbXMsIElNRm9yd2FyZEV2ZW50U3RydWN0ICpjYWxsX2RhdGEpCi0g Ci0gICAgICAgICBpZiAoIShkYXRhID0gZ19zbGljZV9uZXcwIChQcm9jZXNzS2V5RXZlbnRSZXBs eURhdGEpKSkgewotICAgICAgICAgICAgIGdfd2FybmluZyAoIkNhbm5vdCBhbGxvY2F0ZSBhc3lu YyBkYXRhIik7CistICAgICAgICB9CistCistICAgICAgICBnX3NsaWNlX2ZyZWUgKFByb2Nlc3NL ZXlFdmVudFJlcGx5RGF0YSwgZGF0YSk7CistICAgICAgICBpZiAoZ19oYXNoX3RhYmxlX2xvb2t1 cCAoX2Nvbm5lY3Rpb25zLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdJTlRf VE9fUE9JTlRFUiAoKGdpbnQpY2FsbF9kYXRhLT5jb25uZWN0X2lkKSkKKy0gICAgICAgICAgICAg ICAgPT0gTlVMTCkgeworLSAgICAgICAgICAgICAgICByZXR1cm4gMTsKKy0gICAgICAgIH0KKy0g ICAgICAgIF94aW1fZm9yd2FyZF9rZXlfZXZlbnRfZG9uZSAoeDExaWMsICZjYWxsX2RhdGEtPmV2 ZW50LCByZXR2YWwpOworLSAgICAgICAgcmV0dmFsID0gMTsKKy0gICAgICAgIGJyZWFrOworLSAg ICB9CistICAgIGRlZmF1bHQ6IHsKKy0gICAgICAgIFByb2Nlc3NLZXlFdmVudFJlcGx5RGF0YSAq ZGF0YTsKKy0KKy0gICAgICAgIGlmICghKGRhdGEgPSBnX3NsaWNlX25ldzAgKFByb2Nlc3NLZXlF dmVudFJlcGx5RGF0YSkpKSB7CistICAgICAgICAgICAgZ193YXJuaW5nICgiQ2Fubm90IGFsbG9j YXRlIGFzeW5jIGRhdGEiKTsKIC0gICAgICAgICAgICBfeGltX2ZvcndhcmRfa2V5X2V2ZW50X2Rv bmUgKHgxMWljLCAmY2FsbF9kYXRhLT5ldmVudCwgMCk7CiAtICAgICAgICAgICAgcmV0dXJuIDE7 Ci0rICAgICAgICAgICAgcmV0dXJuIF9wcm9jZXNzX2tleV9ldmVudF9zeW5jICh4MTFpYywgY2Fs bF9kYXRhLCAmZXZlbnQpOwotICAgICAgICAgfQotICAgICAgICAgZGF0YS0+Y29ubmVjdF9pZCA9 IGNhbGxfZGF0YS0+Y29ubmVjdF9pZDsKLSAgICAgICAgIGRhdGEtPngxMWljID0geDExaWM7Ci1A QCAtMTE4Niw3ICsxMTkwLDcgQEAgX2luaXRfaWJ1cyAodm9pZCkKKy0gICAgICAgIH0KKy0gICAg ICAgIGRhdGEtPmNvbm5lY3RfaWQgPSBjYWxsX2RhdGEtPmNvbm5lY3RfaWQ7CistICAgICAgICBk YXRhLT54MTFpYyA9IHgxMWljOworLSAgICAgICAgZGF0YS0+ZXZlbnQgPSBjYWxsX2RhdGEtPmV2 ZW50OworLQorLSAgICAgICAgaWJ1c19pbnB1dF9jb250ZXh0X3Byb2Nlc3Nfa2V5X2V2ZW50X2Fz eW5jICgKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHgxMWljLT5jb250 ZXh0LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQua2V5dmFs LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQuaGFyZHdhcmVf a2V5Y29kZSAtIDgsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBldmVu dC5zdGF0ZSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xLAorLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwKKy0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF9wcm9jZXNzX2tleV9ldmVudF9kb25lLAorLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YSk7CistICAgICAgICByZXR2YWwg PSAxOworLSAgICB9CisrICAgIGNhc2UgMToKKysgICAgICAgIHJldHVybiBfcHJvY2Vzc19rZXlf ZXZlbnRfc3luYyAoeDExaWMsIGNhbGxfZGF0YSwgJmV2ZW50KTsKKysgICAgY2FzZSAyOgorKyAg ICAgICAgcmV0dXJuIF9wcm9jZXNzX2tleV9ldmVudF9oeWJyaWRfYXN5bmMgKHgxMWljLCBjYWxs X2RhdGEsICZldmVudCk7CisrICAgIGRlZmF1bHQ6CisrICAgICAgICByZXR1cm4gX3Byb2Nlc3Nf a2V5X2V2ZW50X2FzeW5jICh4MTFpYywgY2FsbF9kYXRhLCAmZXZlbnQpOworICAgICB9CistICAg IHJldHVybiByZXR2YWw7CisrICAgIGdfYXNzZXJ0X25vdF9yZWFjaGVkICgpOworKyAgICByZXR1 cm4gMDsKKyB9CisgCisgCitAQCAtMTE4Niw3ICsxMjIwLDcgQEAgX2luaXRfaWJ1cyAodm9pZCkK ICAgICAgICAgICAgICAgICAgICAgICAgICBHX0NBTExCQUNLIChfYnVzX2Rpc2Nvbm5lY3RlZF9j YiksIE5VTEwpOwogIAogICAgICAvKiBodHRwczovL2dpdGh1Yi5jb20vaWJ1cy9pYnVzL2lzc3Vl cy8xNzEzICovCgpkaWZmIC0tZ2l0IGEvaWJ1cy5zcGVjIGIvaWJ1cy5zcGVjCmluZGV4IGM1OTUy OWEuLjhiNzNmMjYgMTAwNjQ0Ci0tLSBhL2lidXMuc3BlYworKysgYi9pYnVzLnNwZWMKQEAgLTUw LDcgKzUwLDcgQEAKIAogTmFtZTogICAgICAgICAgIGlidXMKIFZlcnNpb246ICAgICAgICAxLjUu MjgKLVJlbGVhc2U6ICAgICAgICAxMSV7P2Rpc3R9CitSZWxlYXNlOiAgICAgICAgMTIlez9kaXN0 fQogU3VtbWFyeTogICAgICAgIEludGVsbGlnZW50IElucHV0IEJ1cyBmb3IgTGludXggT1MKIExp Y2Vuc2U6ICAgICAgICBMR1BMLTIuMC1vci1sYXRlcgogVVJMOiAgICAgICAgICAgIGh0dHBzOi8v Z2l0aHViLmNvbS9pYnVzLyVuYW1lL3dpa2kKQEAgLTU1Nyw2ICs1NTcsOSBAQCBkY29uZiB1cGRh dGUgfHwgOgogJXtfZGF0YWRpcn0vaW5zdGFsbGVkLXRlc3RzL2lidXMKIAogJWNoYW5nZWxvZwor KiBTdW4gSnVsIDA5IDIwMjMgVGFrYW8gRnVqaXdhcmEgPHRmdWppd2FyQHJlZGhhdC5jb20+IC0g MS41LjI4LTEyCistIEZpeCBzeW5jIGlidXNfaW5wdXRfY29udGV4dF9wcm9jZXNzX2tleV9ldmVu dCgpICMyCisKICogRnJpIEp1bCAwNyAyMDIzIFRha2FvIEZ1aml3YXJhIDx0ZnVqaXdhckByZWRo YXQuY29tPiAtIDEuNS4yOC0xMQogLSBGaXggc3luYyBpYnVzX2lucHV0X2NvbnRleHRfcHJvY2Vz c19rZXlfZXZlbnQoKQogCg==