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() #3 Date: Sun, 31 May 2026 02:08:12 GMT Message-ID: <178019329295.1.8516955552427891024.rpms-ibus-aa8a6c3f8a29@fedoraproject.org> List-ID: X-Git-Repo: rpms/ibus X-Git-Branch: autotool X-Git-Rev: aa8a6c3f8a2969735978254d2b3cfe986a08bc25 QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvaWJ1cwpCcmFuY2gg OiBhdXRvdG9vbApDb21taXQgOiBhYThhNmMzZjhhMjk2OTczNTk3ODI1NGQyYjNjZmU5ODZhMDhi YzI1CkF1dGhvciA6IFRha2FvIEZ1aml3YXJhIDx0ZnVqaXdhckByZWRoYXQuY29tPgpEYXRlICAg OiAyMDIzLTA3LTEyVDA5OjI5OjAzKzA5OjAwClN0YXRzICA6ICs5NDIvLTcwNCBpbiAyIGZpbGUo cykKVVJMICAgIDogaHR0cHM6Ly9zcmMuZmVkb3JhcHJvamVjdC5vcmcvcnBtcy9pYnVzL2MvYWE4 YTZjM2Y4YTI5Njk3MzU5NzgyNTRkMmIzY2ZlOTg2YTA4YmMyNT9icmFuY2g9YXV0b3Rvb2wKCkxv ZzoKRml4IHN5bmMgaWJ1c19pbnB1dF9jb250ZXh0X3Byb2Nlc3Nfa2V5X2V2ZW50KCkgIzMKCi0t LQpkaWZmIC0tZ2l0IGEvaWJ1cy1IRUFELnBhdGNoIGIvaWJ1cy1IRUFELnBhdGNoCmluZGV4IGZj YmMzODYuLjg5NTM5NTQgMTAwNjQ0Ci0tLSBhL2lidXMtSEVBRC5wYXRjaAorKysgYi9pYnVzLUhF QUQucGF0Y2gKQEAgLTIzMzYsNDMgKzIzMzYsMjAgQEAgaW5kZXggNjhkZGUyZjMuLmZlZTBiM2Vl IDEwMDY0NAogLS0gCiAyLjQxLjAKIAotRnJvbSBhNzNlYTJjMzM1MTQ1Y2Q1ZDAwZWJmYWRlODMy MDRkMDU1YWEyNjhjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSAxMzllMGJlMDdiZmJj OTZkNWZmOTVlNWY1ZWJkNzYwZmJjN2Q5NGMwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJv bTogZnVqaXdhcmF0IDx0YWthby5mdWppd2FyYTFAZ21haWwuY29tPgotRGF0ZTogU3VuLCA5IEp1 bCAyMDIzIDE4OjQ2OjIxICswOTAwCi1TdWJqZWN0OiBbUEFUQ0ggMS8yXSBzcmM6IEZpeCBzeW5j IGlidXNfaW5wdXRfY29udGV4dF9wcm9jZXNzX2tleV9ldmVudCgpCitEYXRlOiBXZWQsIDEyIEp1 bCAyMDIzIDA3OjM5OjI3ICswOTAwCitTdWJqZWN0OiBbUEFUQ0ggMS8zXSBidXM6IEFwcGx5IGNv ZGUgc3R5bGUgdG8gaW5wdXRjb250ZXh0LmMKIAotVGhlIHN5bmNocm9ub3VzICJQcm9jZXNzS2V5 RXZlbnQiIEQtQnVzIG1ldGhvZCBjYW5ub3QgcmVjZWl2ZQotIkNvbW1pdFRleHQiIGFuZCAiRm9y d2FyZEtleUV2ZW50IiBELUJ1cyBzaWduYWxzIGR1cmluZyBjYWxsaW5nIHRoZSBtZXRob2QuCi1U byByZXNvbHZlIHRoZSBpc3N1ZSwgbm93Ci1pYnVzX2lucHV0X2NvbnRleHRfc2V0X3Bvc3RfcHJv Y2Vzc19rZXlfZXZlbnQoKSBhbmQKLWlidXNfaW5wdXRfY29udGV4dF9wb3N0X3Byb2Nlc3Nfa2V5 X2V2ZW50KCkgYXJlIGFkZGVkIG5ld2x5LgotCi1pYnVzX2lucHV0X2NvbnRleHRfcG9zdF9wcm9j ZXNzX2tleV9ldmVudCgpIHJldHJpZXMgIkNvbW1pdFRleHQiIGFuZAotIkZvcndhcmRLZXlFdmVu dCIgRC1CdXMgc2lnbmFscyBkdXJpbmcgY2FsbGluZyB0aGUgIlByb2Nlc3NLZXlFdmVudCIgRC1C dXMKLW1ldGhvZCBhbmQgaWJ1cy1kYWVtb24gZG9lcyBub3QgaGFuZGxlIHRob3NlIHNpZ25hbHMu Ci0KLUJVRz1odHRwczovL2dpdGh1Yi5jb20vaWJ1cy9pYnVzL2lzc3Vlcy8yNDg2CiAtLS0KLSBi dXMvaW5wdXRjb250ZXh0LmMgICAgICAgICAgfCA1ODcgKysrKysrKysrKysrKysrKysrKysrKysr KysrLS0tLS0tLS0tCi0gY2xpZW50L2d0azIvaWJ1c2ltY29udGV4dC5jIHwgMjI1ICsrKysrKysr KystLS0tCi0gc3JjL2lidXNpbnB1dGNvbnRleHQuYyAgICAgIHwgMTYyICsrKysrKysrKy0KLSBz cmMvaWJ1c2lucHV0Y29udGV4dC5oICAgICAgfCAgMzAgKy0KLSA0IGZpbGVzIGNoYW5nZWQsIDc4 MSBpbnNlcnRpb25zKCspLCAyMjMgZGVsZXRpb25zKC0pCisgYnVzL2lucHV0Y29udGV4dC5jIHwg NTI4ICsrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLQorIDEgZmls ZSBjaGFuZ2VkLCAzMTkgaW5zZXJ0aW9ucygrKSwgMjA5IGRlbGV0aW9ucygtKQogCiBkaWZmIC0t Z2l0IGEvYnVzL2lucHV0Y29udGV4dC5jIGIvYnVzL2lucHV0Y29udGV4dC5jCi1pbmRleCBlNzZi YmRmYy4uMjExMGFmODcgMTAwNjQ0CitpbmRleCBlNzZiYmRmYy4uOGFkZWQ1ZDggMTAwNjQ0CiAt LS0gYS9idXMvaW5wdXRjb250ZXh0LmMKICsrKyBiL2J1cy9pbnB1dGNvbnRleHQuYwotQEAgLTMx LDYgKzMxLDggQEAKLSAjaW5jbHVkZSAibWFyc2hhbGVycy5oIgotICNpbmNsdWRlICJ0eXBlcy5o IgotIAotKyNkZWZpbmUgTUFYX1NZTkNfREFUQSAzMAotKwotIHN0cnVjdCBfU2V0RW5naW5lQnlE ZXNjRGF0YSB7Ci0gICAgIC8qIGNvbnRleHQgcmVsYXRlZCB0byB0aGUgZGF0YSAqLwotICAgICBC dXNJbnB1dENvbnRleHQgKmNvbnRleHQ7Ci1AQCAtMzgsMTMgKzQwLDE5IEBAIHN0cnVjdCBfU2V0 RW5naW5lQnlEZXNjRGF0YSB7CitAQCAtMzgsNyArMzgsOCBAQCBzdHJ1Y3QgX1NldEVuZ2luZUJ5 RGVzY0RhdGEgewogICAgICBHVGFzayAqdGFzazsKICAgICAgLyogYSBvYmplY3QgdG8gY2FuY2Vs IGJ1c19lbmdpbmVfcHJveHlfbmV3IGNhbGwgKi8KICAgICAgR0NhbmNlbGxhYmxlICpjYW5jZWxs YWJsZTsKQEAgLTIzODIsNjkgKzIzNTksMjAxIEBAIGluZGV4IGU3NmJiZGZjLi4yMTEwYWY4NyAx MDA2NDQKICAgICAgICogd2UgY2FuY2VsIHRoZSBjYW5jZWxsYWJsZSBhYm92ZSBhcyB3ZWxsLiAq LwogICAgICBHQ2FuY2VsbGFibGUgKm9yaWdpbl9jYW5jZWxsYWJsZTsKICAgICAgZ3Vsb25nIGNh bmNlbGxlZF9oYW5kbGVyX2lkOwotIH07Ci0gdHlwZWRlZiBzdHJ1Y3QgX1NldEVuZ2luZUJ5RGVz Y0RhdGEgU2V0RW5naW5lQnlEZXNjRGF0YTsKLSAKLSt0eXBlZGVmIHN0cnVjdCBfU3luY0Zvcndh cmRpbmdEYXRhIHsKLSsgICAgZ2NoYXIgICAgIGtleTsKLSsgICAgSUJ1c1RleHQgKnRleHQ7Ci0r fSBTeW5jRm9yd2FyZGluZ0RhdGE7Ci0rCi0gc3RydWN0IF9CdXNJbnB1dENvbnRleHQgewotICAg ICBJQnVzU2VydmljZSBwYXJlbnQ7Ci0gCi1AQCAtOTgsNiArMTA2LDkgQEAgc3RydWN0IF9CdXNJ bnB1dENvbnRleHQgewotIAotICAgICBCdXNQYW5lbFByb3h5ICplbW9qaV9leHRlbnNpb247Ci0g ICAgIGdib29sZWFuIGlzX2V4dGVuc2lvbl9sb29rdXBfdGFibGU7Ci0rICAgIEdRdWV1ZSAqcXVl dWVfZHVyaW5nX3Byb2Nlc3Nfa2V5X2V2ZW50OwotKyAgICBnYm9vbGVhbiB1c2VfcG9zdF9wcm9j ZXNzX2tleV9ldmVudDsKLSsgICAgZ2Jvb2xlYW4gcHJvY2Vzc2luZ19rZXlfZXZlbnQ7Ci0gfTsK LSAKLSBzdHJ1Y3QgX0J1c0lucHV0Q29udGV4dENsYXNzIHsKLUBAIC0xNTUsNiArMTY2LDE1IEBA IHN0YXRpYyB2b2lkICAgICBidXNfaW5wdXRfY29udGV4dF9zZXJ2aWNlX21ldGhvZF9jYWxsCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2NoYXIgICAgICAgICAg ICptZXRob2RfbmFtZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHVmFy aWFudCAgICAgICAgICAgICAgKnBhcmFtZXRlcnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgR0RCdXNNZXRob2RJbnZvY2F0aW9uICppbnZvY2F0aW9uKTsKLStzdGF0aWMg R1ZhcmlhbnQgKgotKyAgICAgICAgICAgICAgICBidXNfaW5wdXRfY29udGV4dF9zZXJ2aWNlX2dl dF9wcm9wZXJ0eQotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKElCdXNTZXJ2 aWNlICAgICAgICAgICAqc2VydmljZSwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBHREJ1c0Nvbm5lY3Rpb24gICAgICAgKmNvbm5lY3Rpb24sCi0rICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2NoYXIgICAgICAgICAgICpzZW5kZXIsCi0rICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2NoYXIgICAgICAgICAgICpv YmplY3RfcGF0aCwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBn Y2hhciAgICAgICAgICAgKmludGVyZmFjZV9uYW1lLAotKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGNvbnN0IGdjaGFyICAgICAgICAgICAqcHJvcGVydHlfbmFtZSwKLSsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHRXJyb3IgICAgICAgICAgICAgICAqKmVy cm9yKTsKLSBzdGF0aWMgZ2Jvb2xlYW4gYnVzX2lucHV0X2NvbnRleHRfc2VydmljZV9zZXRfcHJv cGVydHkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChJQnVzU2VydmljZSAg ICAgICAgICAgKnNlcnZpY2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg R0RCdXNDb25uZWN0aW9uICAgICAgICpjb25uZWN0aW9uLAotQEAgLTIxNCw4ICsyMzQsMTEgQEAg c3RhdGljIGNvbnN0IGdjaGFyIGludHJvc3BlY3Rpb25feG1sW10gPQotICAgICAiPG5vZGU+Igot ICAgICAiICA8aW50ZXJmYWNlIG5hbWU9J29yZy5mcmVlZGVza3RvcC5JQnVzLklucHV0Q29udGV4 dCc+IgorQEAgLTIxMSwxMTIgKzIxMiwxMTUgQEAgc3RhdGljIElCdXNQcm9wTGlzdCAgICAqcHJv cHNfZW1wdHkgPSBOVUxMOworICAqIFhNTCB3aWxsIGJlIGF1dG9tYXRpY2FsbHkgcmVqZWN0ZWQg YnkgdGhlIEdEQnVzIGxpYnJhcnkgKHNlZQorICAqIHNyYy9pYnVzc2VydmljZS5jIGZvciBkZXRh aWxzLikgKi8KKyBzdGF0aWMgY29uc3QgZ2NoYXIgaW50cm9zcGVjdGlvbl94bWxbXSA9CistICAg ICI8bm9kZT4iCistICAgICIgIDxpbnRlcmZhY2UgbmFtZT0nb3JnLmZyZWVkZXNrdG9wLklCdXMu SW5wdXRDb250ZXh0Jz4iCisrICAgICI8bm9kZT5cbiIKKysgICAgIiAgPGludGVyZmFjZSBuYW1l PSdvcmcuZnJlZWRlc2t0b3AuSUJ1cy5JbnB1dENvbnRleHQnPlxuIgogICAgICAvKiBwcm9wZXJ0 aWVzICovCi0rICAgICIgICAgPHByb3BlcnR5IG5hbWU9J1Bvc3RQcm9jZXNzS2V5RXZlbnQnIHR5 cGU9JyhhKHl2KSknIGFjY2Vzcz0ncmVhZCcgLz5cbiIKLSAgICAgIiAgICA8cHJvcGVydHkgbmFt ZT0nQ29udGVudFR5cGUnIHR5cGU9Jyh1dSknIGFjY2Vzcz0nd3JpdGUnIC8+IgorLSAgICAiICAg IDxwcm9wZXJ0eSBuYW1lPSdDb250ZW50VHlwZScgdHlwZT0nKHV1KScgYWNjZXNzPSd3cml0ZScg Lz4iCisrICAgICIgICAgPHByb3BlcnR5IG5hbWU9J0NvbnRlbnRUeXBlJyB0eXBlPScodXUpJyBh Y2Nlc3M9J3dyaXRlJyAvPlxuIgogICAgICAiICAgIDxwcm9wZXJ0eSBuYW1lPSdDbGllbnRDb21t aXRQcmVlZGl0JyB0eXBlPScoYiknIGFjY2Vzcz0nd3JpdGUnIC8+XG4iCi0rICAgICIgICAgPHBy b3BlcnR5IG5hbWU9J0VmZmVjdGl2ZVBvc3RQcm9jZXNzS2V5RXZlbnQnIHR5cGU9JyhiKScgIgot KyAgICAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBh Y2Nlc3M9J3dyaXRlJyAvPlxuIgogICAgICAvKiBtZXRob2RzICovCi0gICAgICIgICAgPG1ldGhv ZCBuYW1lPSdQcm9jZXNzS2V5RXZlbnQnPiIKLSAgICAgIiAgICAgIDxhcmcgZGlyZWN0aW9uPSdp bicgIHR5cGU9J3UnIG5hbWU9J2tleXZhbCcgLz4iCi1AQCAtMjIzLDYgKzI0NiwxMiBAQCBzdGF0 aWMgY29uc3QgZ2NoYXIgaW50cm9zcGVjdGlvbl94bWxbXSA9Ci0gICAgICIgICAgICA8YXJnIGRp cmVjdGlvbj0naW4nICB0eXBlPSd1JyBuYW1lPSdzdGF0ZScgLz4iCi0gICAgICIgICAgICA8YXJn IGRpcmVjdGlvbj0nb3V0JyB0eXBlPSdiJyBuYW1lPSdoYW5kbGVkJyAvPiIKLSAgICAgIiAgICA8 L21ldGhvZD4iCi0rICAgICIgICAgPG1ldGhvZCBuYW1lPSdQcm9jZXNzS2V5RXZlbnRTeW5jJz4i Ci0rICAgICIgICAgICA8YXJnIGRpcmVjdGlvbj0naW4nICB0eXBlPSd1JyBuYW1lPSdrZXl2YWwn IC8+IgotKyAgICAiICAgICAgPGFyZyBkaXJlY3Rpb249J2luJyAgdHlwZT0ndScgbmFtZT0na2V5 Y29kZScgLz4iCi0rICAgICIgICAgICA8YXJnIGRpcmVjdGlvbj0naW4nICB0eXBlPSd1JyBuYW1l PSdzdGF0ZScgLz4iCi0rICAgICIgICAgICA8YXJnIGRpcmVjdGlvbj0nb3V0JyB0eXBlPSdiYSh5 diknIG5hbWU9J2hhbmRsZWQnIC8+IgotKyAgICAiICAgIDwvbWV0aG9kPiIKLSAgICAgIiAgICA8 bWV0aG9kIG5hbWU9J1NldEN1cnNvckxvY2F0aW9uJz4iCi0gICAgICIgICAgICA8YXJnIGRpcmVj dGlvbj0naW4nIHR5cGU9J2knIG5hbWU9J3gnIC8+IgotICAgICAiICAgICAgPGFyZyBkaXJlY3Rp b249J2luJyB0eXBlPSdpJyBuYW1lPSd5JyAvPiIKLUBAIC0zMTIsMTEgKzM0MSwxNCBAQCBzdGF0 aWMgY29uc3QgZ2NoYXIgaW50cm9zcGVjdGlvbl94bWxbXSA9CistICAgICIgICAgPG1ldGhvZCBu YW1lPSdQcm9jZXNzS2V5RXZlbnQnPiIKKy0gICAgIiAgICAgIDxhcmcgZGlyZWN0aW9uPSdpbicg IHR5cGU9J3UnIG5hbWU9J2tleXZhbCcgLz4iCistICAgICIgICAgICA8YXJnIGRpcmVjdGlvbj0n aW4nICB0eXBlPSd1JyBuYW1lPSdrZXljb2RlJyAvPiIKKy0gICAgIiAgICAgIDxhcmcgZGlyZWN0 aW9uPSdpbicgIHR5cGU9J3UnIG5hbWU9J3N0YXRlJyAvPiIKKy0gICAgIiAgICAgIDxhcmcgZGly ZWN0aW9uPSdvdXQnIHR5cGU9J2InIG5hbWU9J2hhbmRsZWQnIC8+IgorLSAgICAiICAgIDwvbWV0 aG9kPiIKKy0gICAgIiAgICA8bWV0aG9kIG5hbWU9J1NldEN1cnNvckxvY2F0aW9uJz4iCistICAg ICIgICAgICA8YXJnIGRpcmVjdGlvbj0naW4nIHR5cGU9J2knIG5hbWU9J3gnIC8+IgorLSAgICAi ICAgICAgPGFyZyBkaXJlY3Rpb249J2luJyB0eXBlPSdpJyBuYW1lPSd5JyAvPiIKKy0gICAgIiAg ICAgIDxhcmcgZGlyZWN0aW9uPSdpbicgdHlwZT0naScgbmFtZT0ndycgLz4iCistICAgICIgICAg ICA8YXJnIGRpcmVjdGlvbj0naW4nIHR5cGU9J2knIG5hbWU9J2gnIC8+IgorLSAgICAiICAgIDwv bWV0aG9kPiIKKy0gICAgIiAgICA8bWV0aG9kIG5hbWU9J1NldEN1cnNvckxvY2F0aW9uUmVsYXRp dmUnPiIKKy0gICAgIiAgICAgIDxhcmcgZGlyZWN0aW9uPSdpbicgdHlwZT0naScgbmFtZT0neCcg Lz4iCistICAgICIgICAgICA8YXJnIGRpcmVjdGlvbj0naW4nIHR5cGU9J2knIG5hbWU9J3knIC8+ IgorLSAgICAiICAgICAgPGFyZyBkaXJlY3Rpb249J2luJyB0eXBlPSdpJyBuYW1lPSd3JyAvPiIK Ky0gICAgIiAgICAgIDxhcmcgZGlyZWN0aW9uPSdpbicgdHlwZT0naScgbmFtZT0naCcgLz4iCist ICAgICIgICAgPC9tZXRob2Q+IgorLSAgICAiICAgIDxtZXRob2QgbmFtZT0nUHJvY2Vzc0hhbmRX cml0aW5nRXZlbnQnPiIKKy0gICAgIiAgICAgIDxhcmcgZGlyZWN0aW9uPSdpbicgdHlwZT0nYWQn IG5hbWU9J2Nvb3JkaW5hdGVzJyAvPiIKKy0gICAgIiAgICA8L21ldGhvZD4iCistICAgICIgICAg PG1ldGhvZCBuYW1lPSdDYW5jZWxIYW5kV3JpdGluZyc+IgorLSAgICAiICAgICAgPGFyZyBkaXJl Y3Rpb249J2luJyB0eXBlPSd1JyBuYW1lPSduX3N0cm9rZXMnIC8+IgorLSAgICAiICAgIDwvbWV0 aG9kPiIKKy0gICAgIiAgICA8bWV0aG9kIG5hbWU9J0ZvY3VzSW4nIC8+IgorLSAgICAiICAgIDxt ZXRob2QgbmFtZT0nRm9jdXNPdXQnIC8+IgorLSAgICAiICAgIDxtZXRob2QgbmFtZT0nUmVzZXQn IC8+IgorLSAgICAiICAgIDxtZXRob2QgbmFtZT0nU2V0Q2FwYWJpbGl0aWVzJz4iCistICAgICIg ICAgICA8YXJnIGRpcmVjdGlvbj0naW4nIHR5cGU9J3UnIG5hbWU9J2NhcHMnIC8+IgorLSAgICAi ICAgIDwvbWV0aG9kPiIKKy0gICAgIiAgICA8bWV0aG9kIG5hbWU9J1Byb3BlcnR5QWN0aXZhdGUn PiIKKy0gICAgIiAgICAgIDxhcmcgZGlyZWN0aW9uPSdpbicgdHlwZT0ncycgbmFtZT0nbmFtZScg Lz4iCistICAgICIgICAgICA8YXJnIGRpcmVjdGlvbj0naW4nIHR5cGU9J3UnIG5hbWU9J3N0YXRl JyAvPiIKKy0gICAgIiAgICA8L21ldGhvZD4iCistICAgICIgICAgPG1ldGhvZCBuYW1lPSdTZXRF bmdpbmUnPiIKKy0gICAgIiAgICAgIDxhcmcgZGlyZWN0aW9uPSdpbicgdHlwZT0ncycgbmFtZT0n bmFtZScgLz4iCistICAgICIgICAgPC9tZXRob2Q+IgorLSAgICAiICAgIDxtZXRob2QgbmFtZT0n R2V0RW5naW5lJz4iCistICAgICIgICAgICA8YXJnIGRpcmVjdGlvbj0nb3V0JyB0eXBlPSd2JyBu YW1lPSdkZXNjJyAvPiIKKy0gICAgIiAgICA8L21ldGhvZD4iCistICAgICIgICAgPG1ldGhvZCBu YW1lPSdTZXRTdXJyb3VuZGluZ1RleHQnPiIKKy0gICAgIiAgICAgIDxhcmcgZGlyZWN0aW9uPSdp bicgdHlwZT0ndicgbmFtZT0ndGV4dCcgLz4iCistICAgICIgICAgICA8YXJnIGRpcmVjdGlvbj0n aW4nIHR5cGU9J3UnIG5hbWU9J2N1cnNvcl9wb3MnIC8+IgorLSAgICAiICAgICAgPGFyZyBkaXJl Y3Rpb249J2luJyB0eXBlPSd1JyBuYW1lPSdhbmNob3JfcG9zJyAvPiIKKy0gICAgIiAgICA8L21l dGhvZD4iCisrICAgICIgICAgPG1ldGhvZCBuYW1lPSdQcm9jZXNzS2V5RXZlbnQnPlxuIgorKyAg ICAiICAgICAgPGFyZyBkaXJlY3Rpb249J2luJyAgdHlwZT0ndScgbmFtZT0na2V5dmFsJyAvPlxu IgorKyAgICAiICAgICAgPGFyZyBkaXJlY3Rpb249J2luJyAgdHlwZT0ndScgbmFtZT0na2V5Y29k ZScgLz5cbiIKKysgICAgIiAgICAgIDxhcmcgZGlyZWN0aW9uPSdpbicgIHR5cGU9J3UnIG5hbWU9 J3N0YXRlJyAvPlxuIgorKyAgICAiICAgICAgPGFyZyBkaXJlY3Rpb249J291dCcgdHlwZT0nYicg bmFtZT0naGFuZGxlZCcgLz5cbiIKKysgICAgIiAgICA8L21ldGhvZD5cbiIKKysgICAgIiAgICA8 bWV0aG9kIG5hbWU9J1NldEN1cnNvckxvY2F0aW9uJz5cbiIKKysgICAgIiAgICAgIDxhcmcgZGly ZWN0aW9uPSdpbicgdHlwZT0naScgbmFtZT0neCcgLz5cbiIKKysgICAgIiAgICAgIDxhcmcgZGly ZWN0aW9uPSdpbicgdHlwZT0naScgbmFtZT0neScgLz5cbiIKKysgICAgIiAgICAgIDxhcmcgZGly ZWN0aW9uPSdpbicgdHlwZT0naScgbmFtZT0ndycgLz5cbiIKKysgICAgIiAgICAgIDxhcmcgZGly ZWN0aW9uPSdpbicgdHlwZT0naScgbmFtZT0naCcgLz5cbiIKKysgICAgIiAgICA8L21ldGhvZD5c biIKKysgICAgIiAgICA8bWV0aG9kIG5hbWU9J1NldEN1cnNvckxvY2F0aW9uUmVsYXRpdmUnPlxu IgorKyAgICAiICAgICAgPGFyZyBkaXJlY3Rpb249J2luJyB0eXBlPSdpJyBuYW1lPSd4JyAvPlxu IgorKyAgICAiICAgICAgPGFyZyBkaXJlY3Rpb249J2luJyB0eXBlPSdpJyBuYW1lPSd5JyAvPlxu IgorKyAgICAiICAgICAgPGFyZyBkaXJlY3Rpb249J2luJyB0eXBlPSdpJyBuYW1lPSd3JyAvPlxu IgorKyAgICAiICAgICAgPGFyZyBkaXJlY3Rpb249J2luJyB0eXBlPSdpJyBuYW1lPSdoJyAvPlxu IgorKyAgICAiICAgIDwvbWV0aG9kPlxuIgorKyAgICAiICAgIDxtZXRob2QgbmFtZT0nUHJvY2Vz c0hhbmRXcml0aW5nRXZlbnQnPlxuIgorKyAgICAiICAgICAgPGFyZyBkaXJlY3Rpb249J2luJyB0 eXBlPSdhZCcgbmFtZT0nY29vcmRpbmF0ZXMnIC8+XG4iCisrICAgICIgICAgPC9tZXRob2Q+XG4i CisrICAgICIgICAgPG1ldGhvZCBuYW1lPSdDYW5jZWxIYW5kV3JpdGluZyc+XG4iCisrICAgICIg ICAgICA8YXJnIGRpcmVjdGlvbj0naW4nIHR5cGU9J3UnIG5hbWU9J25fc3Ryb2tlcycgLz5cbiIK KysgICAgIiAgICA8L21ldGhvZD5cbiIKKysgICAgIiAgICA8bWV0aG9kIG5hbWU9J0ZvY3VzSW4n IC8+XG4iCisrICAgICIgICAgPG1ldGhvZCBuYW1lPSdGb2N1c091dCcgLz5cbiIKKysgICAgIiAg ICA8bWV0aG9kIG5hbWU9J1Jlc2V0JyAvPlxuIgorKyAgICAiICAgIDxtZXRob2QgbmFtZT0nU2V0 Q2FwYWJpbGl0aWVzJz5cbiIKKysgICAgIiAgICAgIDxhcmcgZGlyZWN0aW9uPSdpbicgdHlwZT0n dScgbmFtZT0nY2FwcycgLz5cbiIKKysgICAgIiAgICA8L21ldGhvZD5cbiIKKysgICAgIiAgICA8 bWV0aG9kIG5hbWU9J1Byb3BlcnR5QWN0aXZhdGUnPlxuIgorKyAgICAiICAgICAgPGFyZyBkaXJl Y3Rpb249J2luJyB0eXBlPSdzJyBuYW1lPSduYW1lJyAvPlxuIgorKyAgICAiICAgICAgPGFyZyBk aXJlY3Rpb249J2luJyB0eXBlPSd1JyBuYW1lPSdzdGF0ZScgLz5cbiIKKysgICAgIiAgICA8L21l dGhvZD5cbiIKKysgICAgIiAgICA8bWV0aG9kIG5hbWU9J1NldEVuZ2luZSc+XG4iCisrICAgICIg ICAgICA8YXJnIGRpcmVjdGlvbj0naW4nIHR5cGU9J3MnIG5hbWU9J25hbWUnIC8+XG4iCisrICAg ICIgICAgPC9tZXRob2Q+XG4iCisrICAgICIgICAgPG1ldGhvZCBuYW1lPSdHZXRFbmdpbmUnPlxu IgorKyAgICAiICAgICAgPGFyZyBkaXJlY3Rpb249J291dCcgdHlwZT0ndicgbmFtZT0nZGVzYycg Lz5cbiIKKysgICAgIiAgICA8L21ldGhvZD5cbiIKKysgICAgIiAgICA8bWV0aG9kIG5hbWU9J1Nl dFN1cnJvdW5kaW5nVGV4dCc+XG4iCisrICAgICIgICAgICA8YXJnIGRpcmVjdGlvbj0naW4nIHR5 cGU9J3YnIG5hbWU9J3RleHQnIC8+XG4iCisrICAgICIgICAgICA8YXJnIGRpcmVjdGlvbj0naW4n IHR5cGU9J3UnIG5hbWU9J2N1cnNvcl9wb3MnIC8+XG4iCisrICAgICIgICAgICA8YXJnIGRpcmVj dGlvbj0naW4nIHR5cGU9J3UnIG5hbWU9J2FuY2hvcl9wb3MnIC8+XG4iCisrICAgICIgICAgPC9t ZXRob2Q+XG4iCisgCisgICAgIC8qIHNpZ25hbHMgKi8KKy0gICAgIiAgICA8c2lnbmFsIG5hbWU9 J0NvbW1pdFRleHQnPiIKKy0gICAgIiAgICAgIDxhcmcgdHlwZT0ndicgbmFtZT0ndGV4dCcgLz4i CistICAgICIgICAgPC9zaWduYWw+IgorLSAgICAiICAgIDxzaWduYWwgbmFtZT0nRm9yd2FyZEtl eUV2ZW50Jz4iCistICAgICIgICAgICA8YXJnIHR5cGU9J3UnIG5hbWU9J2tleXZhbCcgLz4iCist ICAgICIgICAgICA8YXJnIHR5cGU9J3UnIG5hbWU9J2tleWNvZGUnIC8+IgorLSAgICAiICAgICAg PGFyZyB0eXBlPSd1JyBuYW1lPSdzdGF0ZScgLz4iCistICAgICIgICAgPC9zaWduYWw+IgorLSAg ICAiICAgIDxzaWduYWwgbmFtZT0nVXBkYXRlUHJlZWRpdFRleHQnPiIKKy0gICAgIiAgICAgIDxh cmcgdHlwZT0ndicgbmFtZT0ndGV4dCcgLz4iCistICAgICIgICAgICA8YXJnIHR5cGU9J3UnIG5h bWU9J2N1cnNvcl9wb3MnIC8+IgorLSAgICAiICAgICAgPGFyZyB0eXBlPSdiJyBuYW1lPSd2aXNp YmxlJyAvPiIKKy0gICAgIiAgICA8L3NpZ25hbD4iCistICAgICIgICAgPHNpZ25hbCBuYW1lPSdV cGRhdGVQcmVlZGl0VGV4dFdpdGhNb2RlJz4iCistICAgICIgICAgICA8YXJnIHR5cGU9J3YnIG5h bWU9J3RleHQnIC8+IgorLSAgICAiICAgICAgPGFyZyB0eXBlPSd1JyBuYW1lPSdjdXJzb3JfcG9z JyAvPiIKKy0gICAgIiAgICAgIDxhcmcgdHlwZT0nYicgbmFtZT0ndmlzaWJsZScgLz4iCistICAg ICIgICAgICA8YXJnIHR5cGU9J3UnIG5hbWU9J21vZGUnIC8+IgorLSAgICAiICAgIDwvc2lnbmFs PiIKKy0gICAgIiAgICA8c2lnbmFsIG5hbWU9J1Nob3dQcmVlZGl0VGV4dCcvPiIKKy0gICAgIiAg ICA8c2lnbmFsIG5hbWU9J0hpZGVQcmVlZGl0VGV4dCcvPiIKKy0gICAgIiAgICA8c2lnbmFsIG5h bWU9J1VwZGF0ZUF1eGlsaWFyeVRleHQnPiIKKy0gICAgIiAgICAgIDxhcmcgdHlwZT0ndicgbmFt ZT0ndGV4dCcgLz4iCistICAgICIgICAgICA8YXJnIHR5cGU9J2InIG5hbWU9J3Zpc2libGUnIC8+ IgorLSAgICAiICAgIDwvc2lnbmFsPiIKKy0gICAgIiAgICA8c2lnbmFsIG5hbWU9J1Nob3dBdXhp bGlhcnlUZXh0Jy8+IgorLSAgICAiICAgIDxzaWduYWwgbmFtZT0nSGlkZUF1eGlsaWFyeVRleHQn Lz4iCistICAgICIgICAgPHNpZ25hbCBuYW1lPSdVcGRhdGVMb29rdXBUYWJsZSc+IgorLSAgICAi ICAgICAgPGFyZyB0eXBlPSd2JyBuYW1lPSd0YWJsZScgLz4iCistICAgICIgICAgICA8YXJnIHR5 cGU9J2InIG5hbWU9J3Zpc2libGUnIC8+IgorLSAgICAiICAgIDwvc2lnbmFsPiIKKy0gICAgIiAg ICA8c2lnbmFsIG5hbWU9J1Nob3dMb29rdXBUYWJsZScvPiIKKy0gICAgIiAgICA8c2lnbmFsIG5h bWU9J0hpZGVMb29rdXBUYWJsZScvPiIKKy0gICAgIiAgICA8c2lnbmFsIG5hbWU9J1BhZ2VVcExv b2t1cFRhYmxlJy8+IgorLSAgICAiICAgIDxzaWduYWwgbmFtZT0nUGFnZURvd25Mb29rdXBUYWJs ZScvPiIKKy0gICAgIiAgICA8c2lnbmFsIG5hbWU9J0N1cnNvclVwTG9va3VwVGFibGUnLz4iCist ICAgICIgICAgPHNpZ25hbCBuYW1lPSdDdXJzb3JEb3duTG9va3VwVGFibGUnLz4iCistICAgICIg ICAgPHNpZ25hbCBuYW1lPSdSZWdpc3RlclByb3BlcnRpZXMnPiIKKy0gICAgIiAgICAgIDxhcmcg dHlwZT0ndicgbmFtZT0ncHJvcHMnIC8+IgorLSAgICAiICAgIDwvc2lnbmFsPiIKKy0gICAgIiAg ICA8c2lnbmFsIG5hbWU9J1VwZGF0ZVByb3BlcnR5Jz4iCistICAgICIgICAgICA8YXJnIHR5cGU9 J3YnIG5hbWU9J3Byb3AnIC8+IgorLSAgICAiICAgIDwvc2lnbmFsPiIKKy0gICAgIiAgPC9pbnRl cmZhY2U+IgorLSAgICAiPC9ub2RlPiI7CisrICAgICIgICAgPHNpZ25hbCBuYW1lPSdDb21taXRU ZXh0Jz5cbiIKKysgICAgIiAgICAgIDxhcmcgdHlwZT0ndicgbmFtZT0ndGV4dCcgLz5cbiIKKysg ICAgIiAgICA8L3NpZ25hbD5cbiIKKysgICAgIiAgICA8c2lnbmFsIG5hbWU9J0ZvcndhcmRLZXlF dmVudCc+XG4iCisrICAgICIgICAgICA8YXJnIHR5cGU9J3UnIG5hbWU9J2tleXZhbCcgLz5cbiIK KysgICAgIiAgICAgIDxhcmcgdHlwZT0ndScgbmFtZT0na2V5Y29kZScgLz5cbiIKKysgICAgIiAg ICAgIDxhcmcgdHlwZT0ndScgbmFtZT0nc3RhdGUnIC8+XG4iCisrICAgICIgICAgPC9zaWduYWw+ XG4iCisrICAgICIgICAgPHNpZ25hbCBuYW1lPSdVcGRhdGVQcmVlZGl0VGV4dCc+XG4iCisrICAg ICIgICAgICA8YXJnIHR5cGU9J3YnIG5hbWU9J3RleHQnIC8+XG4iCisrICAgICIgICAgICA8YXJn IHR5cGU9J3UnIG5hbWU9J2N1cnNvcl9wb3MnIC8+XG4iCisrICAgICIgICAgICA8YXJnIHR5cGU9 J2InIG5hbWU9J3Zpc2libGUnIC8+XG4iCisrICAgICIgICAgPC9zaWduYWw+XG4iCisrICAgICIg ICAgPHNpZ25hbCBuYW1lPSdVcGRhdGVQcmVlZGl0VGV4dFdpdGhNb2RlJz5cbiIKKysgICAgIiAg ICAgIDxhcmcgdHlwZT0ndicgbmFtZT0ndGV4dCcgLz5cbiIKKysgICAgIiAgICAgIDxhcmcgdHlw ZT0ndScgbmFtZT0nY3Vyc29yX3BvcycgLz5cbiIKKysgICAgIiAgICAgIDxhcmcgdHlwZT0nYicg bmFtZT0ndmlzaWJsZScgLz5cbiIKKysgICAgIiAgICAgIDxhcmcgdHlwZT0ndScgbmFtZT0nbW9k ZScgLz5cbiIKKysgICAgIiAgICA8L3NpZ25hbD5cbiIKKysgICAgIiAgICA8c2lnbmFsIG5hbWU9 J1Nob3dQcmVlZGl0VGV4dCcvPlxuIgorKyAgICAiICAgIDxzaWduYWwgbmFtZT0nSGlkZVByZWVk aXRUZXh0Jy8+XG4iCisrICAgICIgICAgPHNpZ25hbCBuYW1lPSdVcGRhdGVBdXhpbGlhcnlUZXh0 Jz5cbiIKKysgICAgIiAgICAgIDxhcmcgdHlwZT0ndicgbmFtZT0ndGV4dCcgLz5cbiIKKysgICAg IiAgICAgIDxhcmcgdHlwZT0nYicgbmFtZT0ndmlzaWJsZScgLz5cbiIKKysgICAgIiAgICA8L3Np Z25hbD5cbiIKKysgICAgIiAgICA8c2lnbmFsIG5hbWU9J1Nob3dBdXhpbGlhcnlUZXh0Jy8+XG4i CisrICAgICIgICAgPHNpZ25hbCBuYW1lPSdIaWRlQXV4aWxpYXJ5VGV4dCcvPlxuIgorKyAgICAi ICAgIDxzaWduYWwgbmFtZT0nVXBkYXRlTG9va3VwVGFibGUnPlxuIgorKyAgICAiICAgICAgPGFy ZyB0eXBlPSd2JyBuYW1lPSd0YWJsZScgLz5cbiIKKysgICAgIiAgICAgIDxhcmcgdHlwZT0nYicg bmFtZT0ndmlzaWJsZScgLz5cbiIKKysgICAgIiAgICA8L3NpZ25hbD5cbiIKKysgICAgIiAgICA8 c2lnbmFsIG5hbWU9J1Nob3dMb29rdXBUYWJsZScvPlxuIgorKyAgICAiICAgIDxzaWduYWwgbmFt ZT0nSGlkZUxvb2t1cFRhYmxlJy8+XG4iCisrICAgICIgICAgPHNpZ25hbCBuYW1lPSdQYWdlVXBM b29rdXBUYWJsZScvPlxuIgorKyAgICAiICAgIDxzaWduYWwgbmFtZT0nUGFnZURvd25Mb29rdXBU YWJsZScvPlxuIgorKyAgICAiICAgIDxzaWduYWwgbmFtZT0nQ3Vyc29yVXBMb29rdXBUYWJsZScv PlxuIgorKyAgICAiICAgIDxzaWduYWwgbmFtZT0nQ3Vyc29yRG93bkxvb2t1cFRhYmxlJy8+XG4i CisrICAgICIgICAgPHNpZ25hbCBuYW1lPSdSZWdpc3RlclByb3BlcnRpZXMnPlxuIgorKyAgICAi ICAgICAgPGFyZyB0eXBlPSd2JyBuYW1lPSdwcm9wcycgLz5cbiIKKysgICAgIiAgICA8L3NpZ25h bD5cbiIKKysgICAgIiAgICA8c2lnbmFsIG5hbWU9J1VwZGF0ZVByb3BlcnR5Jz5cbiIKKysgICAg IiAgICAgIDxhcmcgdHlwZT0ndicgbmFtZT0ncHJvcCcgLz5cbiIKKysgICAgIiAgICA8L3NpZ25h bD5cbiIKKysgICAgIiAgPC9pbnRlcmZhY2U+XG4iCisrICAgICI8L25vZGU+XG4iOwogIAogIEdf REVGSU5FX1RZUEUgKEJ1c0lucHV0Q29udGV4dCwgYnVzX2lucHV0X2NvbnRleHQsIElCVVNfVFlQ RV9TRVJWSUNFKQogIApAQCAtMjQ2Miw3ICsyNTcxLDcgQEAgaW5kZXggZTc2YmJkZmMuLjIxMTBh Zjg3IDEwMDY0NAogIAogIHN0YXRpYyB2b2lkCiAgX2Nvbm5lY3Rpb25fZGVzdHJveV9jYiAoQnVz Q29ubmVjdGlvbiAgICpjb25uZWN0aW9uLAotQEAgLTM0MywxNyArMzc1LDIzIEBAIGJ1c19pbnB1 dF9jb250ZXh0X2NsYXNzX2luaXQgKEJ1c0lucHV0Q29udGV4dENsYXNzICpjbGFzcykKK0BAIC0z NDMsMTcgKzM0NywyMSBAQCBidXNfaW5wdXRfY29udGV4dF9jbGFzc19pbml0IChCdXNJbnB1dENv bnRleHRDbGFzcyAqY2xhc3MpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICIiKTsKICAgICAgZ19vYmplY3RfcmVmX3NpbmsgKGNsYXNzLT5k ZWZhdWx0X2VuZ2luZV9kZXNjKTsKICAKQEAgLTI0NzMsOCArMjU4Miw2IEBAIGluZGV4IGU3NmJi ZGZjLi4yMTEwYWY4NyAxMDA2NDQKICAgICAgLyogb3ZlcnJpZGUgdGhlIHBhcmVudCBjbGFzcydz IGltcGxlbWVudGF0aW9uLiAqLwogICAgICBJQlVTX1NFUlZJQ0VfQ0xBU1MgKGNsYXNzKS0+c2Vy dmljZV9tZXRob2RfY2FsbCA9CiAgICAgICAgICBidXNfaW5wdXRfY29udGV4dF9zZXJ2aWNlX21l dGhvZF9jYWxsOwotKyAgICBJQlVTX1NFUlZJQ0VfQ0xBU1MgKGNsYXNzKS0+c2VydmljZV9nZXRf cHJvcGVydHkgPQotKyAgICAgICAgYnVzX2lucHV0X2NvbnRleHRfc2VydmljZV9nZXRfcHJvcGVy dHk7CiAgICAgIElCVVNfU0VSVklDRV9DTEFTUyAoY2xhc3MpLT5zZXJ2aWNlX3NldF9wcm9wZXJ0 eSA9CiAgICAgICAgICBidXNfaW5wdXRfY29udGV4dF9zZXJ2aWNlX3NldF9wcm9wZXJ0eTsKIC0g ICAgLyogcmVnaXN0ZXIgdGhlIHhtbCBzbyB0aGF0IGJ1c19pYnVzX2ltcGxfc2VydmljZV9tZXRo b2RfY2FsbCB3aWxsIGJlIGNhbGxlZCBvbiBhIG1ldGhvZCBjYWxsIGRlZmluZWQgaW4gdGhlIHht bCAoZS5nLiAnRm9jdXNJbicuKSAqLwpAQCAtMjQ4OSw3ICsyNTk2LDcgQEAgaW5kZXggZTc2YmJk ZmMuLjIxMTBhZjg3IDEwMDY0NAogICAgICBjb250ZXh0X3NpZ25hbHNbUFJPQ0VTU19LRVlfRVZF TlRdID0KICAgICAgICAgIGdfc2lnbmFsX25ldyAoSV8oInByb2Nlc3Mta2V5LWV2ZW50IiksCiAg ICAgICAgICAgICAgR19UWVBFX0ZST01fQ0xBU1MgKGNsYXNzKSwKLUBAIC01NzYsOCArNjE0LDEx IEBAIGJ1c19pbnB1dF9jb250ZXh0X2NsYXNzX2luaXQgKEJ1c0lucHV0Q29udGV4dENsYXNzICpj bGFzcykKK0BAIC01NzYsOCArNTg0LDExIEBAIGJ1c19pbnB1dF9jb250ZXh0X2NsYXNzX2luaXQg KEJ1c0lucHV0Q29udGV4dENsYXNzICpjbGFzcykKICAgICAgICAgICAgICBHX1RZUEVfTk9ORSwK ICAgICAgICAgICAgICAwKTsKICAKQEAgLTI1MDMsNyArMjYxMCw3IEBAIGluZGV4IGU3NmJiZGZj Li4yMTEwYWY4NyAxMDA2NDQKICAgICAgY29udGV4dF9zaWduYWxzW1JFUVVFU1RfRU5HSU5FXSA9 CiAgICAgICAgICBnX3NpZ25hbF9uZXcgKElfKCJyZXF1ZXN0LWVuZ2luZSIpLAogICAgICAgICAg ICAgIEdfVFlQRV9GUk9NX0NMQVNTIChjbGFzcyksCi1AQCAtNjE0LDcgKzY1NSw4IEBAIGJ1c19p bnB1dF9jb250ZXh0X2NsYXNzX2luaXQgKEJ1c0lucHV0Q29udGV4dENsYXNzICpjbGFzcykKK0BA IC02MTQsNyArNjI1LDggQEAgYnVzX2lucHV0X2NvbnRleHRfY2xhc3NfaW5pdCAoQnVzSW5wdXRD b250ZXh0Q2xhc3MgKmNsYXNzKQogIAogICAgICB0ZXh0X2VtcHR5ID0gaWJ1c190ZXh0X25ld19m cm9tX3N0cmluZyAoIiIpOwogICAgICBnX29iamVjdF9yZWZfc2luayAodGV4dF9lbXB0eSk7CkBA IC0yNTEzLDcgKzI2MjAsNyBAQCBpbmRleCBlNzZiYmRmYy4uMjExMGFmODcgMTAwNjQ0CiAgICAg IGdfb2JqZWN0X3JlZl9zaW5rIChsb29rdXBfdGFibGVfZW1wdHkpOwogICAgICBwcm9wc19lbXB0 eSA9IGlidXNfcHJvcF9saXN0X25ldyAoKTsKICAgICAgZ19vYmplY3RfcmVmX3NpbmsgKHByb3Bz X2VtcHR5KTsKLUBAIC02NjIsOSArNzA0LDEwIEBAIGJ1c19pbnB1dF9jb250ZXh0X2Rlc3Ryb3kg KEJ1c0lucHV0Q29udGV4dCAqY29udGV4dCkKK0BAIC02NjIsOSArNjc0LDEwIEBAIGJ1c19pbnB1 dF9jb250ZXh0X2Rlc3Ryb3kgKEJ1c0lucHV0Q29udGV4dCAqY29udGV4dCkKICAgICAgfQogIAog ICAgICBpZiAoY29udGV4dC0+Y29ubmVjdGlvbikgewpAQCAtMjUyNyw3ICsyNjM0LDcgQEAgaW5k ZXggZTc2YmJkZmMuLjIxMTBhZjg3IDEwMDY0NAogICAgICAgICAgZ19vYmplY3RfdW5yZWYgKGNv bnRleHQtPmNvbm5lY3Rpb24pOwogICAgICAgICAgY29udGV4dC0+Y29ubmVjdGlvbiA9IE5VTEw7 CiAgICAgIH0KLUBAIC02NzQsNyArNzE3LDggQEAgYnVzX2lucHV0X2NvbnRleHRfZGVzdHJveSAo QnVzSW5wdXRDb250ZXh0ICpjb250ZXh0KQorQEAgLTY3NCw3ICs2ODcsOCBAQCBidXNfaW5wdXRf Y29udGV4dF9kZXN0cm95IChCdXNJbnB1dENvbnRleHQgKmNvbnRleHQpCiAgICAgICAgICBjb250 ZXh0LT5jbGllbnQgPSBOVUxMOwogICAgICB9CiAgCkBAIC0yNTM3LDcgKzI2NDQsNyBAQCBpbmRl eCBlNzZiYmRmYy4uMjExMGFmODcgMTAwNjQ0CiAgfQogIAogIHN0YXRpYyBnYm9vbGVhbgotQEAg LTY4OSwyNSArNzMzLDMwIEBAIGJ1c19pbnB1dF9jb250ZXh0X3NlbmRfc2lnbmFsIChCdXNJbnB1 dENvbnRleHQgKmNvbnRleHQsCitAQCAtNjg5LDI1ICs3MDMsMzAgQEAgYnVzX2lucHV0X2NvbnRl eHRfc2VuZF9zaWduYWwgKEJ1c0lucHV0Q29udGV4dCAqY29udGV4dCwKICAgICAgICAgIHJldHVy biBUUlVFOwogICAgICB9CiAgCkBAIC0yNTc3LDgxICsyNjg0LDcgQEAgaW5kZXggZTc2YmJkZmMu LjIxMTBhZjg3IDEwMDY0NAogICAqCiAgICogRW1pdCB0aGUgRC1CdXMgc2lnbmFsLgogICAqLwot QEAgLTc2Myw2ICs4MTIsMTEgQEAgYnVzX2lucHV0X2NvbnRleHRfcHJvcGVydHlfY2hhbmdlZCAo QnVzSW5wdXRDb250ZXh0ICpjb250ZXh0LAotIH0KLSAKLSAKLSt0eXBlZGVmIHN0cnVjdCBfUGFu ZWxQcm9jZXNzS2V5RXZlbnREYXRhIHsKLSsgICAgR0RCdXNNZXRob2RJbnZvY2F0aW9uICppbnZv Y2F0aW9uOwotKyAgICBCdXNJbnB1dENvbnRleHQgKmNvbnRleHQ7Ci0rfSBQYW5lbFByb2Nlc3NL ZXlFdmVudERhdGE7Ci0rCi0gLyoqCi0gICogX3BhbmVsX3Byb2Nlc3Nfa2V5X2V2ZW50X2NiOgot ICAqCi1AQCAtNzcwLDE0ICs4MjQsMjEgQEAgYnVzX2lucHV0X2NvbnRleHRfcHJvcGVydHlfY2hh bmdlZCAoQnVzSW5wdXRDb250ZXh0ICpjb250ZXh0LAotICAqIGJ1c19wYW5lbF9wcm94eV9wcm9j ZXNzX2tleV9ldmVudCgpIGlzIGZpbmlzaGVkLgotICAqLwotIHN0YXRpYyB2b2lkCi0tX3BhbmVs X3Byb2Nlc3Nfa2V5X2V2ZW50X2NiIChHT2JqZWN0ICAgICAgICAgICAgICAgKnNvdXJjZSwKLS0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdBc3luY1Jlc3VsdCAgICAgICAgICAqcmVzLAot LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0RCdXNNZXRob2RJbnZvY2F0aW9uICppbnZv Y2F0aW9uKQotK19wYW5lbF9wcm9jZXNzX2tleV9ldmVudF9jYiAoR09iamVjdCAgICAgICAgICAg ICAgICAgICpzb3VyY2UsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHQXN5bmNSZXN1 bHQgICAgICAgICAgICAgKnJlcywKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBhbmVs UHJvY2Vzc0tleUV2ZW50RGF0YSAqZGF0YSkKLSB7Ci0gICAgIEdFcnJvciAqZXJyb3IgPSBOVUxM OwotICAgICBHVmFyaWFudCAqdmFsdWUgPSBnX2RidXNfcHJveHlfY2FsbF9maW5pc2ggKChHREJ1 c1Byb3h5ICopc291cmNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICByZXMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICZlcnJvcik7Ci0rICAgIEdEQnVzTWV0aG9kSW52b2NhdGlvbiAqaW52b2NhdGlv bjsKLSsgICAgQnVzSW5wdXRDb250ZXh0ICpjb250ZXh0OwotKwotKyAgICBnX2Fzc2VydCAoZGF0 YSk7Ci0rICAgIGludm9jYXRpb24gPSBkYXRhLT5pbnZvY2F0aW9uOwotKyAgICBjb250ZXh0ID0g ZGF0YS0+Y29udGV4dDsKLSsgICAgZ19zbGljZV9mcmVlIChQYW5lbFByb2Nlc3NLZXlFdmVudERh dGEsIGRhdGEpOwotICAgICBpZiAodmFsdWUgIT0gTlVMTCkgewotICAgICAgICAgZ19kYnVzX21l dGhvZF9pbnZvY2F0aW9uX3JldHVybl92YWx1ZSAoaW52b2NhdGlvbiwgdmFsdWUpOwotICAgICAg ICAgZ192YXJpYW50X3VucmVmICh2YWx1ZSk7Ci1AQCAtNzg2LDYgKzg0Nyw3IEBAIF9wYW5lbF9w cm9jZXNzX2tleV9ldmVudF9jYiAoR09iamVjdCAgICAgICAgICAgICAgICpzb3VyY2UsCi0gICAg ICAgICBnX2RidXNfbWV0aG9kX2ludm9jYXRpb25fcmV0dXJuX2dlcnJvciAoaW52b2NhdGlvbiwg ZXJyb3IpOwotICAgICAgICAgZ19lcnJvcl9mcmVlIChlcnJvcik7Ci0gICAgIH0KLSsgICAgY29u dGV4dC0+cHJvY2Vzc2luZ19rZXlfZXZlbnQgPSBGQUxTRTsKLSB9Ci0gCi0gdHlwZWRlZiBzdHJ1 Y3QgX1Byb2Nlc3NLZXlFdmVudERhdGEgUHJvY2Vzc0tleUV2ZW50RGF0YTsKLUBAIC04MjIsMjEg Kzg4NCwyNyBAQCBfaWNfcHJvY2Vzc19rZXlfZXZlbnRfcmVwbHlfY2IgKEdPYmplY3QgICAgICAg ICAgICAgICAqc291cmNlLAotICAgICAgICAgZ2Jvb2xlYW4gcmV0dmFsID0gRkFMU0U7Ci0gICAg ICAgICBnX3ZhcmlhbnRfZ2V0ICh2YWx1ZSwgIihiKSIsICZyZXR2YWwpOwotICAgICAgICAgaWYg KGNvbnRleHQtPmVtb2ppX2V4dGVuc2lvbiAmJiAhcmV0dmFsKSB7Ci0rICAgICAgICAgICAgUGFu ZWxQcm9jZXNzS2V5RXZlbnREYXRhICpwZGF0YSA9Ci0rICAgICAgICAgICAgICAgICAgICBnX3Ns aWNlX25ldyAoUGFuZWxQcm9jZXNzS2V5RXZlbnREYXRhKTsKLSsgICAgICAgICAgICBwZGF0YS0+ aW52b2NhdGlvbiA9IGludm9jYXRpb247Ci0rICAgICAgICAgICAgcGRhdGEtPmNvbnRleHQgPSBj b250ZXh0OwotICAgICAgICAgICAgIGJ1c19wYW5lbF9wcm94eV9wcm9jZXNzX2tleV9ldmVudCAo Y29udGV4dC0+ZW1vamlfZXh0ZW5zaW9uLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAga2V5dmFsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAga2V5Y29kZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIG1vZGlmaWVycywKLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIChHQXN5bmNSZWFkeUNhbGxiYWNrKQotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfcGFuZWxfcHJvY2Vzc19r ZXlfZXZlbnRfY2IsCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBpbnZvY2F0aW9uKTsKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHBkYXRhKTsKLSAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgZ19kYnVz X21ldGhvZF9pbnZvY2F0aW9uX3JldHVybl92YWx1ZSAoaW52b2NhdGlvbiwgdmFsdWUpOwotKyAg ICAgICAgICAgIGNvbnRleHQtPnByb2Nlc3Npbmdfa2V5X2V2ZW50ID0gRkFMU0U7Ci0gICAgICAg ICB9Ci0gICAgICAgICBnX3ZhcmlhbnRfdW5yZWYgKHZhbHVlKTsKLSAgICAgfQotICAgICBlbHNl IHsKLSAgICAgICAgIGdfZGJ1c19tZXRob2RfaW52b2NhdGlvbl9yZXR1cm5fZ2Vycm9yIChpbnZv Y2F0aW9uLCBlcnJvcik7Ci0gICAgICAgICBnX2Vycm9yX2ZyZWUgKGVycm9yKTsKLSsgICAgICAg IGNvbnRleHQtPnByb2Nlc3Npbmdfa2V5X2V2ZW50ID0gRkFMU0U7Ci0gICAgIH0KLSAKLSAgICAg Z19vYmplY3RfdW5yZWYgKGNvbnRleHQpOwotQEAgLTg1MCwxNCArOTE4LDE2IEBAIF9pY19wcm9j ZXNzX2tleV9ldmVudF9yZXBseV9jYiAoR09iamVjdCAgICAgICAgICAgICAgICpzb3VyY2UsCitA QCAtODUwLDkgKzg2OSw5IEBAIF9pY19wcm9jZXNzX2tleV9ldmVudF9yZXBseV9jYiAoR09iamVj dCAgICAgICAgICAgICAgICpzb3VyY2UsCiAgICogb3JnLmZyZWVkZXNrdG9wLklCdXMuSW5wdXRD b250ZXh0IGludGVyZmFjZS4KICAgKi8KICBzdGF0aWMgdm9pZApAQCAtMjY2NCwxNCArMjY5Nyw3 IEBAIGluZGV4IGU3NmJiZGZjLi4yMTEwYWY4NyAxMDA2NDQKICB7CiAgICAgIGd1aW50IGtleXZh bCA9IElCVVNfS0VZX1ZvaWRTeW1ib2w7CiAgICAgIGd1aW50IGtleWNvZGUgPSAwOwotICAgICBn dWludCBtb2RpZmllcnMgPSAwOwotIAotKyAgICBpZiAoY29udGV4dC0+dXNlX3Bvc3RfcHJvY2Vz c19rZXlfZXZlbnQpCi0rICAgICAgICBjb250ZXh0LT5wcm9jZXNzaW5nX2tleV9ldmVudCA9IFRS VUU7Ci0gICAgIGdfdmFyaWFudF9nZXQgKHBhcmFtZXRlcnMsICIodXV1KSIsICZrZXl2YWwsICZr ZXljb2RlLCAmbW9kaWZpZXJzKTsKLSAgICAgaWYgKEdfVU5MSUtFTFkgKCFjb250ZXh0LT5oYXNf Zm9jdXMpKSB7Ci0gICAgICAgICAvKiB3b3JrYXJvdW5kOiBzZXQgZm9jdXMgaWYgY29udGV4dCBk b2VzIG5vdCBoYXZlIGZvY3VzICovCi1AQCAtOTI1LDcgKzk5NSw4IEBAIF9pY19wcm9jZXNzX2tl eV9ldmVudCAgKEJ1c0lucHV0Q29udGV4dCAgICAgICAqY29udGV4dCwKK0BAIC05MjUsNyArOTQ0 LDggQEAgX2ljX3Byb2Nlc3Nfa2V5X2V2ZW50ICAoQnVzSW5wdXRDb250ZXh0ICAgICAgICpjb250 ZXh0LAogIC8qKgogICAqIF9pY19zZXRfY3Vyc29yX2xvY2F0aW9uOgogICAqCkBAIC0yNjgxLDcg KzI3MDcsNyBAQCBpbmRleCBlNzZiYmRmYy4uMjExMGFmODcgMTAwNjQ0CiAgICovCiAgc3RhdGlj IHZvaWQKICBfaWNfc2V0X2N1cnNvcl9sb2NhdGlvbiAoQnVzSW5wdXRDb250ZXh0ICAgICAgICpj b250ZXh0LAotQEAgLTEwMDgsNyArMTA3OSw4IEBAIF9pY19wcm9jZXNzX2hhbmRfd3JpdGluZ19l dmVudCAoQnVzSW5wdXRDb250ZXh0ICAgICAgICpjb250ZXh0LAorQEAgLTEwMDgsNyArMTAyOCw4 IEBAIF9pY19wcm9jZXNzX2hhbmRfd3JpdGluZ19ldmVudCAoQnVzSW5wdXRDb250ZXh0ICAgICAg ICpjb250ZXh0LAogICAgICAvKiBkbyBub3RoaW5nIGlmIGl0IGlzIGEgZmFrZSBpbnB1dCBjb250 ZXh0ICovCiAgICAgIGlmIChjb250ZXh0LT5oYXNfZm9jdXMgJiYKICAgICAgICAgIGNvbnRleHQt PmVuZ2luZSAmJiBjb250ZXh0LT5mYWtlID09IEZBTFNFKSB7CkBAIC0yNjkxLDcgKzI3MTcsNyBA QCBpbmRleCBlNzZiYmRmYy4uMjExMGFmODcgMTAwNjQ0CiAgICAgIH0KICAgICAgZ19kYnVzX21l dGhvZF9pbnZvY2F0aW9uX3JldHVybl92YWx1ZSAoaW52b2NhdGlvbiwgTlVMTCk7CiAgfQotQEAg LTEwMzIsNyArMTEwNCw4IEBAIF9pY19jYW5jZWxfaGFuZF93cml0aW5nIChCdXNJbnB1dENvbnRl eHQgICAgICAgKmNvbnRleHQsCitAQCAtMTAzMiw3ICsxMDUzLDggQEAgX2ljX2NhbmNlbF9oYW5k X3dyaXRpbmcgKEJ1c0lucHV0Q29udGV4dCAgICAgICAqY29udGV4dCwKICAvKioKICAgKiBfaWNf Zm9jdXNfaW46CiAgICoKQEAgLTI3MDEsNyArMjcyNyw3IEBAIGluZGV4IGU3NmJiZGZjLi4yMTEw YWY4NyAxMDA2NDQKICAgKi8KICBzdGF0aWMgdm9pZAogIF9pY19mb2N1c19pbiAoQnVzSW5wdXRD b250ZXh0ICAgICAgICpjb250ZXh0LAotQEAgLTEwNDQsMTUgKzExMTcsMTcgQEAgX2ljX2ZvY3Vz X2luIChCdXNJbnB1dENvbnRleHQgICAgICAgKmNvbnRleHQsCitAQCAtMTA0NCwxNSArMTA2Niwx NyBAQCBfaWNfZm9jdXNfaW4gKEJ1c0lucHV0Q29udGV4dCAgICAgICAqY29udGV4dCwKICAgICAg ICAgIGdfZGJ1c19tZXRob2RfaW52b2NhdGlvbl9yZXR1cm5fdmFsdWUgKGludm9jYXRpb24sIE5V TEwpOwogICAgICB9CiAgICAgIGVsc2UgewpAQCAtMjcyMiw3ICsyNzQ4LDcgQEAgaW5kZXggZTc2 YmJkZmMuLjIxMTBhZjg3IDEwMDY0NAogICAqLwogIHN0YXRpYyB2b2lkCiAgX2ljX2ZvY3VzX291 dCAoQnVzSW5wdXRDb250ZXh0ICAgICAgICpjb250ZXh0LAotQEAgLTEwNjQsMTUgKzExMzksMTcg QEAgX2ljX2ZvY3VzX291dCAoQnVzSW5wdXRDb250ZXh0ICAgICAgICpjb250ZXh0LAorQEAgLTEw NjQsMTUgKzEwODgsMTcgQEAgX2ljX2ZvY3VzX291dCAoQnVzSW5wdXRDb250ZXh0ICAgICAgICpj b250ZXh0LAogICAgICAgICAgZ19kYnVzX21ldGhvZF9pbnZvY2F0aW9uX3JldHVybl92YWx1ZSAo aW52b2NhdGlvbiwgTlVMTCk7CiAgICAgIH0KICAgICAgZWxzZSB7CkBAIC0yNzQzLDcgKzI3Njks NyBAQCBpbmRleCBlNzZiYmRmYy4uMjExMGFmODcgMTAwNjQ0CiAgICovCiAgc3RhdGljIHZvaWQK ICBfaWNfcmVzZXQgKEJ1c0lucHV0Q29udGV4dCAgICAgICAqY29udGV4dCwKLUBAIC0xMDk0LDcg KzExNzEsOCBAQCBfaWNfcmVzZXQgKEJ1c0lucHV0Q29udGV4dCAgICAgICAqY29udGV4dCwKK0BA IC0xMDk0LDcgKzExMjAsOCBAQCBfaWNfcmVzZXQgKEJ1c0lucHV0Q29udGV4dCAgICAgICAqY29u dGV4dCwKICAvKioKICAgKiBfaWNfc2V0X2NhcGFiaWxpdGllczoKICAgKgpAQCAtMjc1Myw3ICsy Nzc5LDcgQEAgaW5kZXggZTc2YmJkZmMuLjIxMTBhZjg3IDEwMDY0NAogICAqLwogIHN0YXRpYyB2 b2lkCiAgX2ljX3NldF9jYXBhYmlsaXRpZXMgKEJ1c0lucHV0Q29udGV4dCAgICAgICAqY29udGV4 dCwKLUBAIC0xMTEyLDcgKzExOTAsOCBAQCBfaWNfc2V0X2NhcGFiaWxpdGllcyAoQnVzSW5wdXRD b250ZXh0ICAgICAgICpjb250ZXh0LAorQEAgLTExMTIsNyArMTEzOSw4IEBAIF9pY19zZXRfY2Fw YWJpbGl0aWVzIChCdXNJbnB1dENvbnRleHQgICAgICAgKmNvbnRleHQsCiAgLyoqCiAgICogX2lj X3Byb3BlcnR5X2FjdGl2YXRlOgogICAqCkBAIC0yNzYzLDcgKzI3ODksNyBAQCBpbmRleCBlNzZi YmRmYy4uMjExMGFmODcgMTAwNjQ0CiAgICovCiAgc3RhdGljIHZvaWQKICBfaWNfcHJvcGVydHlf YWN0aXZhdGUgKEJ1c0lucHV0Q29udGV4dCAgICAgICAqY29udGV4dCwKLUBAIC0xMTI0LDcgKzEy MDMsOSBAQCBfaWNfcHJvcGVydHlfYWN0aXZhdGUgKEJ1c0lucHV0Q29udGV4dCAgICAgICAqY29u dGV4dCwKK0BAIC0xMTI0LDcgKzExNTIsOSBAQCBfaWNfcHJvcGVydHlfYWN0aXZhdGUgKEJ1c0lu cHV0Q29udGV4dCAgICAgICAqY29udGV4dCwKICAgICAgZ192YXJpYW50X2dldCAocGFyYW1ldGVy cywgIigmc3UpIiwgJnByb3BfbmFtZSwgJnByb3Bfc3RhdGUpOwogIAogICAgICBpZiAoY29udGV4 dC0+ZW5naW5lKSB7CkBAIC0yNzc0LDcgKzI4MDAsNyBAQCBpbmRleCBlNzZiYmRmYy4uMjExMGFm ODcgMTAwNjQ0CiAgICAgIH0KICAKICAjaWZkZWYgT1NfQ0hST01FT1MKLUBAIC0xMTMyLDkgKzEy MTMsMTIgQEAgX2ljX3Byb3BlcnR5X2FjdGl2YXRlIChCdXNJbnB1dENvbnRleHQgICAgICAgKmNv bnRleHQsCitAQCAtMTEzMiw5ICsxMTYyLDEyIEBAIF9pY19wcm9wZXJ0eV9hY3RpdmF0ZSAoQnVz SW5wdXRDb250ZXh0ICAgICAgICpjb250ZXh0LAogICAgICAgKiBzbyBwYXNzIFByb3BlcnR5QWN0 aXZhdGUgc2lnbmFsIHRvIHRoZSBmb2N1c2VkIGNvbnRleHQuCiAgICAgICAqLwogICAgICBlbHNl IGlmIChjb250ZXh0LT5mYWtlKSB7CkBAIC0yNzg5LDcgKzI4MTUsNyBAQCBpbmRleCBlNzZiYmRm Yy4uMjExMGFmODcgMTAwNjQ0CiAgICAgIH0KICAjZW5kaWYKICAKLUBAIC0xMTY0LDcgKzEyNDgs OCBAQCBfaWNfc2V0X2VuZ2luZV9kb25lIChCdXNJbnB1dENvbnRleHQgICAgICAgKmNvbnRleHQs CitAQCAtMTE2NCw3ICsxMTk3LDggQEAgX2ljX3NldF9lbmdpbmVfZG9uZSAoQnVzSW5wdXRDb250 ZXh0ICAgICAgICpjb250ZXh0LAogIC8qKgogICAqIF9pY19zZXRfZW5naW5lOgogICAqCkBAIC0y Nzk5LDcgKzI4MjUsNyBAQCBpbmRleCBlNzZiYmRmYy4uMjExMGFmODcgMTAwNjQ0CiAgICovCiAg c3RhdGljIHZvaWQKICBfaWNfc2V0X2VuZ2luZSAoQnVzSW5wdXRDb250ZXh0ICAgICAgICpjb250 ZXh0LAotQEAgLTEyMDUsNyArMTI5MCw4IEBAIF9pY19zZXRfZW5naW5lIChCdXNJbnB1dENvbnRl eHQgICAgICAgKmNvbnRleHQsCitAQCAtMTIwNSw3ICsxMjM5LDggQEAgX2ljX3NldF9lbmdpbmUg KEJ1c0lucHV0Q29udGV4dCAgICAgICAqY29udGV4dCwKICAvKioKICAgKiBfaWNfZ2V0X2VuZ2lu ZToKICAgKgpAQCAtMjgwOSw3ICsyODM1LDcgQEAgaW5kZXggZTc2YmJkZmMuLjIxMTBhZjg3IDEw MDY0NAogICAqLwogIHN0YXRpYyB2b2lkCiAgX2ljX2dldF9lbmdpbmUgKEJ1c0lucHV0Q29udGV4 dCAgICAgICAqY29udGV4dCwKLUBAIC0xMjE4LDcgKzEzMDQsOSBAQCBfaWNfZ2V0X2VuZ2luZSAo QnVzSW5wdXRDb250ZXh0ICAgICAgICpjb250ZXh0LAorQEAgLTEyMTgsNyArMTI1Myw5IEBAIF9p Y19nZXRfZW5naW5lIChCdXNJbnB1dENvbnRleHQgICAgICAgKmNvbnRleHQsCiAgCiAgCiAgICAg IGdfZGJ1c19tZXRob2RfaW52b2NhdGlvbl9yZXR1cm5fdmFsdWUgKGludm9jYXRpb24sCkBAIC0y ODIwLDcgKzI4NDYsNyBAQCBpbmRleCBlNzZiYmRmYy4uMjExMGFmODcgMTAwNjQ0CiAgfQogIAog IHN0YXRpYyB2b2lkCi1AQCAtMTI3MCw3ICsxMzU4LDggQEAgYnVzX2lucHV0X2NvbnRleHRfc2Vy dmljZV9hdXRob3JpemVkX21ldGhvZCAoSUJ1c1NlcnZpY2UgICAgICpzZXJ2aWNlLAorQEAgLTEy NzAsNyArMTMwNyw4IEBAIGJ1c19pbnB1dF9jb250ZXh0X3NlcnZpY2VfYXV0aG9yaXplZF9tZXRo b2QgKElCdXNTZXJ2aWNlICAgICAqc2VydmljZSwKICAvKioKICAgKiBidXNfaW5wdXRfY29udGV4 dF9zZXJ2aWNlX21ldGhvZF9jYWxsOgogICAqCkBAIC0yODMwLDcgKzI4NTYsNyBAQCBpbmRleCBl NzZiYmRmYy4uMjExMGFmODcgMTAwNjQ0CiAgICovCiAgc3RhdGljIHZvaWQKICBidXNfaW5wdXRf Y29udGV4dF9zZXJ2aWNlX21ldGhvZF9jYWxsIChJQnVzU2VydmljZSAgICAgICAgICAgICpzZXJ2 aWNlLAotQEAgLTEyODMsMjEgKzEzNzIsMjMgQEAgYnVzX2lucHV0X2NvbnRleHRfc2VydmljZV9t ZXRob2RfY2FsbCAoSUJ1c1NlcnZpY2UgICAgICAgICAgICAqc2VydmljZSwKK0BAIC0xMjgzLDIx ICsxMzIxLDIzIEBAIGJ1c19pbnB1dF9jb250ZXh0X3NlcnZpY2VfbWV0aG9kX2NhbGwgKElCdXNT ZXJ2aWNlICAgICAgICAgICAgKnNlcnZpY2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgR0RCdXNNZXRob2RJbnZvY2F0aW9uICAqaW52b2NhdGlvbikKICB7CiAgICAg IGlmIChnX3N0cmNtcDAgKGludGVyZmFjZV9uYW1lLCBJQlVTX0lOVEVSRkFDRV9JTlBVVF9DT05U RVhUKSAhPSAwKSB7CkBAIC0yODY0LDcgKzI4OTAsNyBAQCBpbmRleCBlNzZiYmRmYy4uMjExMGFm ODcgMTAwNjQ0CiAgICAgIH0gbWV0aG9kcyBbXSA9ICB7CiAgICAgICAgICB7ICJQcm9jZXNzS2V5 RXZlbnQiLCAgIF9pY19wcm9jZXNzX2tleV9ldmVudCB9LAogICAgICAgICAgeyAiU2V0Q3Vyc29y TG9jYXRpb24iLCBfaWNfc2V0X2N1cnNvcl9sb2NhdGlvbiB9LAotQEAgLTEzMjIsNyArMTQxMyw5 IEBAIGJ1c19pbnB1dF9jb250ZXh0X3NlcnZpY2VfbWV0aG9kX2NhbGwgKElCdXNTZXJ2aWNlICAg ICAgICAgICAgKnNlcnZpY2UsCitAQCAtMTMyMiw3ICsxMzYyLDkgQEAgYnVzX2lucHV0X2NvbnRl eHRfc2VydmljZV9tZXRob2RfY2FsbCAoSUJ1c1NlcnZpY2UgICAgICAgICAgICAqc2VydmljZSwK ICAKICAgICAgZm9yIChpID0gMDsgaSA8IEdfTl9FTEVNRU5UUyAobWV0aG9kcyk7IGkrKykgewog ICAgICAgICAgaWYgKGdfc3RyY21wMCAobWV0aG9kX25hbWUsIG1ldGhvZHNbaV0ubWV0aG9kX25h bWUpID09IDApIHsKQEAgLTI4NzUsMjU2ICsyOTAxLDYyIEBAIGluZGV4IGU3NmJiZGZjLi4yMTEw YWY4NyAxMDA2NDQKICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICB9CiAgICAgIH0KLUBA IC0xMzMwLDE3ICsxNDIzLDEwOSBAQCBidXNfaW5wdXRfY29udGV4dF9zZXJ2aWNlX21ldGhvZF9j YWxsIChJQnVzU2VydmljZSAgICAgICAgICAgICpzZXJ2aWNlLAotICAgICBnX3JldHVybl9pZl9y ZWFjaGVkICgpOwotIH0KLSAKLS1zdGF0aWMgdm9pZAotKy8qKgotKyAqIF9pY19nZXRfcG9zdF9w cm9jZXNzX2tleV9ldmVudDoKLSsgKgotKyAqIEltcGxlbWVudCB0aGUgIlBvc3RQcm9jZXNzS2V5 RXZlbnQiIGdldCBwcm9wZXJ0eSBvZiB0aGUKLSsgKiBvcmcuZnJlZWRlc2t0b3AuSUJ1cy5JbnB1 dENvbnRleHQgaW50ZXJmYWNlIGJlY2F1c2UgY3VycmVudGx5IHRoZSBHaW8KLSsgKiBELUJ1cyBt ZXRob2QgY2FsbHMgZG9uJ3Qgc3VwcG9ydCBtdWx0aXBsZSBuZXN0ZWQgdHVwbGVzIGxpa2VzCi0r ICogR19WQVJJQU5UX1RZUEUgKCIoKGJhKHl2KSkpIikpIGluICJQcm9jZXNzS2V5RXZlbnQiIEQt QnVzIG1ldGhvZAotKyAqIFNvIHRoZXNlIHBvc3QgZXZlbnRzIGFyZSBzZXBhcmF0ZWQgZnJvbSB0 aGUgcmV0dXJuIHZhbHVlICJiIiBvZiAKLSsgKiB0aGUgIlByb2Nlc3NLZXlFdmVudCIgRC1CdXMg bWV0aG9kIGNhbGwuCi0rICovCi0rc3RhdGljIEdWYXJpYW50ICoKLStfaWNfZ2V0X3Bvc3RfcHJv Y2Vzc19rZXlfZXZlbnQgKEJ1c0lucHV0Q29udGV4dCAqY29udGV4dCwKLSsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIEdEQnVzQ29ubmVjdGlvbiAqY29ubmVjdGlvbiwKLSsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIEdFcnJvciAgICAgICAgICoqZXJyb3IpCi0rewotKyAg ICBjb25zdCBjaGFyICplcnJvcl9tZXNzYWdlID0gTlVMTDsKLSsgICAgR1ZhcmlhbnRCdWlsZGVy IGFycmF5OwotKyAgICBTeW5jRm9yd2FyZGluZ0RhdGEgKmRhdGE7Ci0rCi0rICAgIGRvIHsKLSsg ICAgICAgIGlmICghQlVTX0lTX0lOUFVUX0NPTlRFWFQgKGNvbnRleHQpKSB7Ci0rICAgICAgICAg ICAgZXJyb3JfbWVzc2FnZSA9ICJCdXNJbnB1dENvbnRleHQgaXMgZnJlZWQiOwotKyAgICAgICAg ICAgIGJyZWFrOwotKyAgICAgICAgfQotKyAgICAgICAgaWYgKGNvbnRleHQtPnByb2Nlc3Npbmdf a2V5X2V2ZW50KSB7Ci0rICAgICAgICAgICAgZXJyb3JfbWVzc2FnZSA9ICJBbm90aGVyIFByb2Nl c3NLZXlFdmVudCBpcyBjYWxsZWQuIjsKLSsgICAgICAgICAgICBicmVhazsKLSsgICAgICAgIH0K LSsgICAgICAgIGdfdmFyaWFudF9idWlsZGVyX2luaXQgKCZhcnJheSwgR19WQVJJQU5UX1RZUEUg KCJhKHl2KSIpKTsKLSsgICAgICAgIHdoaWxlICgoZGF0YSA9Ci0rICAgICAgICAgICAgICAgIGdf cXVldWVfcG9wX2hlYWQgKGNvbnRleHQtPnF1ZXVlX2R1cmluZ19wcm9jZXNzX2tleV9ldmVudCkp KSB7Ci0rICAgICAgICAgICAgR1ZhcmlhbnQgKnZhcmlhbnQgPSBpYnVzX3NlcmlhbGl6YWJsZV9z ZXJpYWxpemVfb2JqZWN0ICgKLSsgICAgICAgICAgICAgICAgICAgIElCVVNfU0VSSUFMSVpBQkxF IChkYXRhLT50ZXh0KSk7Ci0rICAgICAgICAgICAgZ192YXJpYW50X2J1aWxkZXJfYWRkICgmYXJy YXksICIoeXYpIiwgZGF0YS0+a2V5LCB2YXJpYW50KTsKLSsgICAgICAgICAgICBnX29iamVjdF91 bnJlZiAoZGF0YS0+dGV4dCk7Ci0rICAgICAgICAgICAgZ19zbGljZV9mcmVlIChTeW5jRm9yd2Fy ZGluZ0RhdGEsIGRhdGEpOwotKyAgICAgICAgfQotKyAgICB9IHdoaWxlIChGQUxTRSk7Ci0rICAg IGlmIChlcnJvcl9tZXNzYWdlKSB7Ci0rICAgICAgICBnX3NldF9lcnJvciAoZXJyb3IsCi0rICAg ICAgICAgICAgICAgICAgICAgR19EQlVTX0VSUk9SLAotKyAgICAgICAgICAgICAgICAgICAgIEdf REJVU19FUlJPUl9GQUlMRUQsCi0rICAgICAgICAgICAgICAgICAgICAgIiVzIiwgZXJyb3JfbWVz c2FnZSk7Ci0rICAgICAgICByZXR1cm4gTlVMTDsKLSsgICAgfQotKyAgICByZXR1cm4gZ192YXJp YW50X2J1aWxkZXJfZW5kICgmYXJyYXkpOwotK30KLSsKLStzdGF0aWMgR1ZhcmlhbnQgKgotK2J1 c19pbnB1dF9jb250ZXh0X3NlcnZpY2VfZ2V0X3Byb3BlcnR5IChJQnVzU2VydmljZSAgICAgICAg ICAgKnNlcnZpY2UsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdE QnVzQ29ubmVjdGlvbiAgICAgICAqY29ubmVjdGlvbiwKLSsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgY29uc3QgZ2NoYXIgICAgICAgICAgICpzZW5kZXIsCi0rICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdjaGFyICAgICAgICAgICAq b2JqZWN0X3BhdGgsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv bnN0IGdjaGFyICAgICAgICAgICAqaW50ZXJmYWNlX25hbWUsCi0rICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdjaGFyICAgICAgICAgICAqcHJvcGVydHlfbmFt ZSwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0Vycm9yICAgICAg ICAgICAgICAgKiplcnJvcikKLSt7Ci0rICAgIGludCBpOwotKyAgICBzdGF0aWMgY29uc3Qgc3Ry dWN0IHsKLSsgICAgICAgIGNvbnN0IGNoYXIgKnByb3BlcnR5X25hbWU7Ci0rICAgICAgICBHVmFy aWFudCAqICgqIHByb3BlcnR5X2NhbGxiYWNrKSAoQnVzSW5wdXRDb250ZXh0ICosCi0rICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0RCdXNDb25uZWN0aW9uICosCi0r ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0Vycm9yICoqKTsKLSsg ICAgfSBwcm9wZXJ0aWVzIFtdID0gIHsKLSsgICAgICAgIHsgIlBvc3RQcm9jZXNzS2V5RXZlbnQi LCAgIF9pY19nZXRfcG9zdF9wcm9jZXNzX2tleV9ldmVudCB9LAotKyAgICB9OwotKwotKyAgICBp ZiAoZXJyb3IpCi0rICAgICAgICAqZXJyb3IgPSBOVUxMOwotKyAgICBpZiAoZ19zdHJjbXAwIChp bnRlcmZhY2VfbmFtZSwgSUJVU19JTlRFUkZBQ0VfSU5QVVRfQ09OVEVYVCkgIT0gMCkgewotKyAg ICAgICAgcmV0dXJuIElCVVNfU0VSVklDRV9DTEFTUyAoYnVzX2lucHV0X2NvbnRleHRfcGFyZW50 X2NsYXNzKS0+Ci0rICAgICAgICAgICAgICAgIHNlcnZpY2VfZ2V0X3Byb3BlcnR5ICgKLSsgICAg ICAgICAgICAgICAgICAgICAgICBzZXJ2aWNlLCBjb25uZWN0aW9uLCBzZW5kZXIsIG9iamVjdF9w YXRoLAotKyAgICAgICAgICAgICAgICAgICAgICAgIGludGVyZmFjZV9uYW1lLCBwcm9wZXJ0eV9u YW1lLAotKyAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yKTsKLSsgICAgfQotKyAgICBmb3Ig KGkgPSAwOyBpIDwgR19OX0VMRU1FTlRTIChwcm9wZXJ0aWVzKTsgaSsrKSB7Ci0rICAgICAgICBp ZiAoZ19zdHJjbXAwIChwcm9wZXJ0aWVzW2ldLnByb3BlcnR5X25hbWUsIHByb3BlcnR5X25hbWUp ID09IDApIHsKLSsgICAgICAgICAgICByZXR1cm4gcHJvcGVydGllc1tpXS5wcm9wZXJ0eV9jYWxs YmFjayAoKEJ1c0lucHV0Q29udGV4dCAqKXNlcnZpY2UsCi0rICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbm5lY3Rpb24sCi0rICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yKTsKLSsgICAgICAg IH0KLSsgICAgfQotKwotKyAgICBnX3NldF9lcnJvciAoZXJyb3IsCi0rICAgICAgICAgICAgICAg ICBHX0RCVVNfRVJST1IsCi0rICAgICAgICAgICAgICAgICBHX0RCVVNfRVJST1JfRkFJTEVELAot KyAgICAgICAgICAgICAgICAgInNlcnZpY2VfZ2V0X3Byb3BlcnR5IHJlY2VpdmVkIGFuIHVua25v d24gcHJvcGVydHk6ICVzIiwKLSsgICAgICAgICAgICAgICAgIHByb3BlcnR5X25hbWUgPyBwcm9w ZXJ0eV9uYW1lIDogIihudWxsKSIpOwotKyAgICBnX3JldHVybl92YWxfaWZfcmVhY2hlZCAoTlVM TCk7Ci0rfQotKwotK3N0YXRpYyBnYm9vbGVhbgotIF9pY19zZXRfY29udGVudF90eXBlIChCdXNJ bnB1dENvbnRleHQgKmNvbnRleHQsCi0tICAgICAgICAgICAgICAgICAgICAgIEdWYXJpYW50ICAg ICAgICAqdmFsdWUpCi0rICAgICAgICAgICAgICAgICAgICAgIEdWYXJpYW50ICAgICAgICAqdmFs dWUsCi0rICAgICAgICAgICAgICAgICAgICAgIEdFcnJvciAgICAgICAgICoqZXJyb3IpCi0gewot ICAgICBndWludCBwdXJwb3NlID0gMDsKLSAgICAgZ3VpbnQgaGludHMgPSAwOwotKyAgICBnYm9v bGVhbiByZXR2YWwgPSBUUlVFOwotIAotICAgICBnX3ZhcmlhbnRfZ2V0ICh2YWx1ZSwgIih1dSki LCAmcHVycG9zZSwgJmhpbnRzKTsKLSAgICAgaWYgKHB1cnBvc2UgIT0gY29udGV4dC0+cHVycG9z ZSB8fCBoaW50cyAhPSBjb250ZXh0LT5oaW50cykgewotLSAgICAgICAgR0Vycm9yICplcnJvcjsK LS0gICAgICAgIGdib29sZWFuIHJldHZhbDsKLSAKLSAgICAgICAgIGNvbnRleHQtPnB1cnBvc2Ug PSBwdXJwb3NlOwotICAgICAgICAgY29udGV4dC0+aGludHMgPSBoaW50czsKLUBAIC0xMzU4LDI0 ICsxNTQzLDMwIEBAIF9pY19zZXRfY29udGVudF90eXBlIChCdXNJbnB1dENvbnRleHQgKmNvbnRl eHQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGV4dC0+aGludHMpOwotICAgICAg ICAgfQotIAotLSAgICAgICAgZXJyb3IgPSBOVUxMOwotICAgICAgICAgcmV0dmFsID0gYnVzX2lu cHV0X2NvbnRleHRfcHJvcGVydHlfY2hhbmdlZCAoY29udGV4dCwKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJDb250ZW50VHlwZSIsCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSwK LS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZl cnJvcik7Ci0tICAgICAgICBpZiAoIXJldHZhbCkgewotLSAgICAgICAgICAgIGdfd2FybmluZyAo IkZhaWxlZCB0byBlbWl0IFByb3BlcnRpZXNDaGFuZ2VkIHNpZ25hbDogJXMiLAotLSAgICAgICAg ICAgICAgICAgICAgICAgZXJyb3ItPm1lc3NhZ2UpOwotLSAgICAgICAgICAgIGdfZXJyb3JfZnJl ZSAoZXJyb3IpOwotLSAgICAgICAgfQotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgZXJyb3IpOwotICAgICB9Ci0rICAgIHJldHVybiByZXR2YWw7 Ci0gfQotIAotLXN0YXRpYyB2b2lkCi0rc3RhdGljIGdib29sZWFuCi0gX2ljX3NldF9jbGllbnRf Y29tbWl0X3ByZWVkaXQgKEJ1c0lucHV0Q29udGV4dCAqY29udGV4dCwKLS0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgR1ZhcmlhbnQgICAgICAgICp2YWx1ZSkKLSsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgR1ZhcmlhbnQgICAgICAgICp2YWx1ZSwKLSsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgR0Vycm9yICAgICAgICAgKiplcnJvcikKLSB7Ci0gICAgIGdfdmFy aWFudF9nZXQgKHZhbHVlLCAiKGIpIiwgJmNvbnRleHQtPmNsaWVudF9jb21taXRfcHJlZWRpdCk7 Ci0rICAgIHJldHVybiBUUlVFOwotK30KLSsKLStzdGF0aWMgZ2Jvb2xlYW4KLStfaWNfc2V0X3Vz ZV9wb3N0X3Byb2Nlc3Nfa2V5X2V2ZW50IChCdXNJbnB1dENvbnRleHQgKmNvbnRleHQsCi0rICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR1ZhcmlhbnQgICAgICAgICp2YWx1ZSwK LSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHRXJyb3IgICAgICAgICAqKmVy cm9yKQotK3sKLSsgICAgZ192YXJpYW50X2dldCAodmFsdWUsICIoYikiLCAmY29udGV4dC0+dXNl X3Bvc3RfcHJvY2Vzc19rZXlfZXZlbnQpOwotKyAgICByZXR1cm4gVFJVRTsKLSB9Ci0gCi0gc3Rh dGljIGdib29sZWFuCi1AQCAtMTM4OCw2ICsxNTc5LDE4IEBAIGJ1c19pbnB1dF9jb250ZXh0X3Nl cnZpY2Vfc2V0X3Byb3BlcnR5IChJQnVzU2VydmljZSAgICAgKnNlcnZpY2UsCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdWYXJpYW50ICAgICAgICAqdmFsdWUsCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdFcnJvciAgICAgICAgICoq ZXJyb3IpCi0gewotKyAgICBpbnQgaTsKLSsgICAgc3RhdGljIGNvbnN0IHN0cnVjdCB7Ci0rICAg ICAgICBjb25zdCBjaGFyICpwcm9wZXJ0eV9uYW1lOwotKyAgICAgICAgZ2Jvb2xlYW4gKCogcHJv cGVydHlfY2FsbGJhY2spIChCdXNJbnB1dENvbnRleHQgKiwKLSsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgR1ZhcmlhbnQgKiwKLSsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgR0Vycm9yICoqKTsKLSsgICAgfSBwcm9wZXJ0aWVzIFtdID0gIHsK LSsgICAgICAgIHsgIkNvbnRlbnRUeXBlIiwgICAgICAgICAgICAgICAgICAgX2ljX3NldF9jb250 ZW50X3R5cGUgfSwKLSsgICAgICAgIHsgIkNsaWVudENvbW1pdFByZWVkaXQiLCAgICAgICAgICAg X2ljX3NldF9jbGllbnRfY29tbWl0X3ByZWVkaXQgfSwKLSsgICAgICAgIHsgIkVmZmVjdGl2ZVBv c3RQcm9jZXNzS2V5RXZlbnQiLCAgX2ljX3NldF91c2VfcG9zdF9wcm9jZXNzX2tleV9ldmVudCB9 LAotKyAgICB9OwotKwotICAgICBpZiAoZXJyb3IpCi0gICAgICAgICAqZXJyb3IgPSBOVUxMOwot ICAgICBpZiAoZ19zdHJjbXAwIChpbnRlcmZhY2VfbmFtZSwgSUJVU19JTlRFUkZBQ0VfSU5QVVRf Q09OVEVYVCkgIT0gMCkgewotQEAgLTE0MTgsMTQgKzE2MjEsMTIgQEAgYnVzX2lucHV0X2NvbnRl eHRfc2VydmljZV9zZXRfcHJvcGVydHkgKElCdXNTZXJ2aWNlICAgICAqc2VydmljZSwKLSAgICAg ICAgICAgICAgICAgICAgICAiICIpOwotICAgICAgICAgcmV0dXJuIEZBTFNFOwotICAgICB9Ci0t Ci0tICAgIGlmIChnX3N0cmNtcDAgKHByb3BlcnR5X25hbWUsICJDb250ZW50VHlwZSIpID09IDAp IHsKLS0gICAgICAgIF9pY19zZXRfY29udGVudF90eXBlIChCVVNfSU5QVVRfQ09OVEVYVCAoc2Vy dmljZSksIHZhbHVlKTsKLS0gICAgICAgIHJldHVybiBUUlVFOwotLSAgICB9Ci0tICAgIGlmIChn X3N0cmNtcDAgKHByb3BlcnR5X25hbWUsICJDbGllbnRDb21taXRQcmVlZGl0IikgPT0gMCkgewot LSAgICAgICAgX2ljX3NldF9jbGllbnRfY29tbWl0X3ByZWVkaXQgKEJVU19JTlBVVF9DT05URVhU IChzZXJ2aWNlKSwgdmFsdWUpOwotLSAgICAgICAgcmV0dXJuIFRSVUU7Ci0rICAgIGZvciAoaSA9 IDA7IGkgPCBHX05fRUxFTUVOVFMgKHByb3BlcnRpZXMpOyBpKyspIHsKLSsgICAgICAgIGlmIChn X3N0cmNtcDAgKHByb3BlcnRpZXNbaV0ucHJvcGVydHlfbmFtZSwgcHJvcGVydHlfbmFtZSkgPT0g MCkgewotKyAgICAgICAgICAgIHJldHVybiBwcm9wZXJ0aWVzW2ldLnByb3BlcnR5X2NhbGxiYWNr ICgoQnVzSW5wdXRDb250ZXh0ICopIHNlcnZpY2UsCi0rICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlLAotKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvcik7Ci0rICAgICAgICB9Ci0gICAg IH0KLSAKLSAgICAgZ19zZXRfZXJyb3IgKGVycm9yLAotQEAgLTE0NjUsMTUgKzE2NjYsMjMgQEAg YnVzX2lucHV0X2NvbnRleHRfZm9jdXNfaW4gKEJ1c0lucHV0Q29udGV4dCAqY29udGV4dCkKLSAg ICAgICAgICAgICAgICAgaWJ1c19zZXJ2aWNlX2dldF9vYmplY3RfcGF0aCAoKElCdXNTZXJ2aWNl ICopY29udGV4dCk7Ci0gICAgICAgICBidXNfZW5naW5lX3Byb3h5X2ZvY3VzX2luIChjb250ZXh0 LT5lbmdpbmUsIHBhdGgsIGNvbnRleHQtPmNsaWVudCk7Ci0gICAgICAgICBidXNfZW5naW5lX3By b3h5X2VuYWJsZSAoY29udGV4dC0+ZW5naW5lKTsKLS0gICAgICAgIGJ1c19lbmdpbmVfcHJveHlf c2V0X2NhcGFiaWxpdGllcyAoY29udGV4dC0+ZW5naW5lLCBjb250ZXh0LT5jYXBhYmlsaXRpZXMp OwotLSAgICAgICAgYnVzX2VuZ2luZV9wcm94eV9zZXRfY3Vyc29yX2xvY2F0aW9uIChjb250ZXh0 LT5lbmdpbmUsIGNvbnRleHQtPngsIGNvbnRleHQtPnksIGNvbnRleHQtPncsIGNvbnRleHQtPmgp OwotLSAgICAgICAgYnVzX2VuZ2luZV9wcm94eV9zZXRfY29udGVudF90eXBlIChjb250ZXh0LT5l bmdpbmUsIGNvbnRleHQtPnB1cnBvc2UsIGNvbnRleHQtPmhpbnRzKTsKLSsgICAgICAgIGJ1c19l bmdpbmVfcHJveHlfc2V0X2NhcGFiaWxpdGllcyAoY29udGV4dC0+ZW5naW5lLAotKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0LT5jYXBhYmlsaXRpZXMp OwotKyAgICAgICAgYnVzX2VuZ2luZV9wcm94eV9zZXRfY3Vyc29yX2xvY2F0aW9uIChjb250ZXh0 LT5lbmdpbmUsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGNvbnRleHQtPngsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGNvbnRleHQtPnksCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGNvbnRleHQtPncsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGNvbnRleHQtPmgpOwotKyAgICAgICAgYnVzX2VuZ2luZV9wcm94eV9zZXRfY29u dGVudF90eXBlIChjb250ZXh0LT5lbmdpbmUsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGNvbnRleHQtPnB1cnBvc2UsCi0rICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQtPmhpbnRzKTsKLSAgICAgfQotIAotICAgICBp ZiAoY29udGV4dC0+Y2FwYWJpbGl0aWVzICYgSUJVU19DQVBfRk9DVVMpIHsKLSAgICAgICAgIGdf c2lnbmFsX2VtaXQgKGNvbnRleHQsIGNvbnRleHRfc2lnbmFsc1tGT0NVU19JTl0sIDApOwotICAg ICAgICAgaWYgKGNvbnRleHQtPmVuZ2luZSkgewotLSAgICAgICAgICAgIC8qIGlmIG5lY2Vzc2Fy eSwgZW1pdCBnbGliIHNpZ25hbHMgdG8gdGhlIGNvbnRleHQgb2JqZWN0IHRvIHVwZGF0ZSBwYW5l bCBzdGF0dXMuIHNlZSB0aGUgY29tbWVudCBmb3IgUFJFRURJVF9DT05ESVRJT04KLSsgICAgICAg ICAgICAvKiBpZiBuZWNlc3NhcnksIGVtaXQgZ2xpYiBzaWduYWxzIHRvIHRoZSBjb250ZXh0IG9i amVjdCB0byB1cGRhdGUKLSsgICAgICAgICAgICAgKiBwYW5lbCBzdGF0dXMuIHNlZSB0aGUgY29t bWVudCBmb3IgUFJFRURJVF9DT05ESVRJT04KLSAgICAgICAgICAgICAgKiBmb3IgZGV0YWlscy4g Ki8KLSAgICAgICAgICAgICBpZiAoY29udGV4dC0+cHJlZWRpdF92aXNpYmxlICYmICFQUkVFRElU X0NPTkRJVElPTikgewotICAgICAgICAgICAgICAgICBnX3NpZ25hbF9lbWl0IChjb250ZXh0LAot QEAgLTE0ODMsMTQgKzE2OTIsMTYgQEAgYnVzX2lucHV0X2NvbnRleHRfZm9jdXNfaW4gKEJ1c0lu cHV0Q29udGV4dCAqY29udGV4dCkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u dGV4dC0+cHJlZWRpdF9jdXJzb3JfcG9zLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBjb250ZXh0LT5wcmVlZGl0X3Zpc2libGUpOwotICAgICAgICAgICAgIH0KLS0gICAgICAgICAg ICBpZiAoY29udGV4dC0+YXV4aWxpYXJ5X3Zpc2libGUgJiYgKGNvbnRleHQtPmNhcGFiaWxpdGll cyAmIElCVVNfQ0FQX0FVWElMSUFSWV9URVhUKSA9PSAwKSB7Ci0rICAgICAgICAgICAgaWYgKGNv bnRleHQtPmF1eGlsaWFyeV92aXNpYmxlICYmCi0rICAgICAgICAgICAgICAgIChjb250ZXh0LT5j YXBhYmlsaXRpZXMgJiBJQlVTX0NBUF9BVVhJTElBUllfVEVYVCkgPT0gMCkgewotICAgICAgICAg ICAgICAgICBnX3NpZ25hbF9lbWl0IChjb250ZXh0LAotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBjb250ZXh0X3NpZ25hbHNbVVBEQVRFX0FVWElMSUFSWV9URVhUXSwKLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgMCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgY29udGV4dC0+YXV4aWxpYXJ5X3RleHQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGNvbnRleHQtPmF1eGlsaWFyeV92aXNpYmxlKTsKLSAgICAgICAgICAgICB9Ci0tICAgICAg ICAgICAgaWYgKGNvbnRleHQtPmxvb2t1cF90YWJsZV92aXNpYmxlICYmIChjb250ZXh0LT5jYXBh YmlsaXRpZXMgJiBJQlVTX0NBUF9MT09LVVBfVEFCTEUpID09IDApIHsKLSsgICAgICAgICAgICBp ZiAoY29udGV4dC0+bG9va3VwX3RhYmxlX3Zpc2libGUgJiYKLSsgICAgICAgICAgICAgICAgKGNv bnRleHQtPmNhcGFiaWxpdGllcyAmIElCVVNfQ0FQX0xPT0tVUF9UQUJMRSkgPT0gMCkgewotICAg ICAgICAgICAgICAgICBnX3NpZ25hbF9lbWl0IChjb250ZXh0LAotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBjb250ZXh0X3NpZ25hbHNbVVBEQVRFX0xPT0tVUF9UQUJMRV0sCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAsCi1AQCAtMTYzMCwxNCArMTg0MSwxNyBAQCBi dXNfaW5wdXRfY29udGV4dF9wcm9wZXJ0eV9hY3RpdmF0ZSAoQnVzSW5wdXRDb250ZXh0ICpjb250 ZXh0LAotICAgICBnX2Fzc2VydCAoQlVTX0lTX0lOUFVUX0NPTlRFWFQgKGNvbnRleHQpKTsKLSAK LSAgICAgaWYgKGNvbnRleHQtPmVuZ2luZSkgewotLSAgICAgICAgYnVzX2VuZ2luZV9wcm94eV9w cm9wZXJ0eV9hY3RpdmF0ZSAoY29udGV4dC0+ZW5naW5lLCBwcm9wX25hbWUsIHByb3Bfc3RhdGUp OwotKyAgICAgICAgYnVzX2VuZ2luZV9wcm94eV9wcm9wZXJ0eV9hY3RpdmF0ZSAoY29udGV4dC0+ ZW5naW5lLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJv cF9uYW1lLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJv cF9zdGF0ZSk7Ci0gICAgIH0KK0BAIC0xNDY1LDE1ICsxNTA3LDIzIEBAIGJ1c19pbnB1dF9jb250 ZXh0X2ZvY3VzX2luIChCdXNJbnB1dENvbnRleHQgKmNvbnRleHQpCisgICAgICAgICAgICAgICAg IGlidXNfc2VydmljZV9nZXRfb2JqZWN0X3BhdGggKChJQnVzU2VydmljZSAqKWNvbnRleHQpOwor ICAgICAgICAgYnVzX2VuZ2luZV9wcm94eV9mb2N1c19pbiAoY29udGV4dC0+ZW5naW5lLCBwYXRo LCBjb250ZXh0LT5jbGllbnQpOworICAgICAgICAgYnVzX2VuZ2luZV9wcm94eV9lbmFibGUgKGNv bnRleHQtPmVuZ2luZSk7CistICAgICAgICBidXNfZW5naW5lX3Byb3h5X3NldF9jYXBhYmlsaXRp ZXMgKGNvbnRleHQtPmVuZ2luZSwgY29udGV4dC0+Y2FwYWJpbGl0aWVzKTsKKy0gICAgICAgIGJ1 c19lbmdpbmVfcHJveHlfc2V0X2N1cnNvcl9sb2NhdGlvbiAoY29udGV4dC0+ZW5naW5lLCBjb250 ZXh0LT54LCBjb250ZXh0LT55LCBjb250ZXh0LT53LCBjb250ZXh0LT5oKTsKKy0gICAgICAgIGJ1 c19lbmdpbmVfcHJveHlfc2V0X2NvbnRlbnRfdHlwZSAoY29udGV4dC0+ZW5naW5lLCBjb250ZXh0 LT5wdXJwb3NlLCBjb250ZXh0LT5oaW50cyk7CisrICAgICAgICBidXNfZW5naW5lX3Byb3h5X3Nl dF9jYXBhYmlsaXRpZXMgKGNvbnRleHQtPmVuZ2luZSwKKysgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgY29udGV4dC0+Y2FwYWJpbGl0aWVzKTsKKysgICAgICAgIGJ1 c19lbmdpbmVfcHJveHlfc2V0X2N1cnNvcl9sb2NhdGlvbiAoY29udGV4dC0+ZW5naW5lLAorKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0LT54LAor KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0LT55 LAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0 LT53LAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250 ZXh0LT5oKTsKKysgICAgICAgIGJ1c19lbmdpbmVfcHJveHlfc2V0X2NvbnRlbnRfdHlwZSAoY29u dGV4dC0+ZW5naW5lLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBjb250ZXh0LT5wdXJwb3NlLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBjb250ZXh0LT5oaW50cyk7CisgICAgIH0KKyAKKyAgICAgaWYgKGNvbnRleHQtPmNh cGFiaWxpdGllcyAmIElCVVNfQ0FQX0ZPQ1VTKSB7CisgICAgICAgICBnX3NpZ25hbF9lbWl0IChj b250ZXh0LCBjb250ZXh0X3NpZ25hbHNbRk9DVVNfSU5dLCAwKTsKKyAgICAgICAgIGlmIChjb250 ZXh0LT5lbmdpbmUpIHsKKy0gICAgICAgICAgICAvKiBpZiBuZWNlc3NhcnksIGVtaXQgZ2xpYiBz aWduYWxzIHRvIHRoZSBjb250ZXh0IG9iamVjdCB0byB1cGRhdGUgcGFuZWwgc3RhdHVzLiBzZWUg dGhlIGNvbW1lbnQgZm9yIFBSRUVESVRfQ09ORElUSU9OCisrICAgICAgICAgICAgLyogaWYgbmVj ZXNzYXJ5LCBlbWl0IGdsaWIgc2lnbmFscyB0byB0aGUgY29udGV4dCBvYmplY3QgdG8gdXBkYXRl CisrICAgICAgICAgICAgICogcGFuZWwgc3RhdHVzLiBzZWUgdGhlIGNvbW1lbnQgZm9yIFBSRUVE SVRfQ09ORElUSU9OCisgICAgICAgICAgICAgICogZm9yIGRldGFpbHMuICovCisgICAgICAgICAg ICAgaWYgKGNvbnRleHQtPnByZWVkaXRfdmlzaWJsZSAmJiAhUFJFRURJVF9DT05ESVRJT04pIHsK KyAgICAgICAgICAgICAgICAgZ19zaWduYWxfZW1pdCAoY29udGV4dCwKK0BAIC0xNDgzLDE0ICsx NTMzLDE2IEBAIGJ1c19pbnB1dF9jb250ZXh0X2ZvY3VzX2luIChCdXNJbnB1dENvbnRleHQgKmNv bnRleHQpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQtPnByZWVkaXRf Y3Vyc29yX3BvcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGV4dC0+cHJl ZWRpdF92aXNpYmxlKTsKKyAgICAgICAgICAgICB9CistICAgICAgICAgICAgaWYgKGNvbnRleHQt PmF1eGlsaWFyeV92aXNpYmxlICYmIChjb250ZXh0LT5jYXBhYmlsaXRpZXMgJiBJQlVTX0NBUF9B VVhJTElBUllfVEVYVCkgPT0gMCkgeworKyAgICAgICAgICAgIGlmIChjb250ZXh0LT5hdXhpbGlh cnlfdmlzaWJsZSAmJgorKyAgICAgICAgICAgICAgICAoY29udGV4dC0+Y2FwYWJpbGl0aWVzICYg SUJVU19DQVBfQVVYSUxJQVJZX1RFWFQpID09IDApIHsKKyAgICAgICAgICAgICAgICAgZ19zaWdu YWxfZW1pdCAoY29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGV4 dF9zaWduYWxzW1VQREFURV9BVVhJTElBUllfVEVYVF0sCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIDAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQtPmF1 eGlsaWFyeV90ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0LT5h dXhpbGlhcnlfdmlzaWJsZSk7CisgICAgICAgICAgICAgfQorLSAgICAgICAgICAgIGlmIChjb250 ZXh0LT5sb29rdXBfdGFibGVfdmlzaWJsZSAmJiAoY29udGV4dC0+Y2FwYWJpbGl0aWVzICYgSUJV U19DQVBfTE9PS1VQX1RBQkxFKSA9PSAwKSB7CisrICAgICAgICAgICAgaWYgKGNvbnRleHQtPmxv b2t1cF90YWJsZV92aXNpYmxlICYmCisrICAgICAgICAgICAgICAgIChjb250ZXh0LT5jYXBhYmls aXRpZXMgJiBJQlVTX0NBUF9MT09LVVBfVEFCTEUpID09IDApIHsKKyAgICAgICAgICAgICAgICAg Z19zaWduYWxfZW1pdCAoY29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Y29udGV4dF9zaWduYWxzW1VQREFURV9MT09LVVBfVEFCTEVdLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAwLAorQEAgLTE2MzAsMTQgKzE2ODIsMTcgQEAgYnVzX2lucHV0X2NvbnRl eHRfcHJvcGVydHlfYWN0aXZhdGUgKEJ1c0lucHV0Q29udGV4dCAqY29udGV4dCwKKyAgICAgZ19h c3NlcnQgKEJVU19JU19JTlBVVF9DT05URVhUIChjb250ZXh0KSk7CisgCisgICAgIGlmIChjb250 ZXh0LT5lbmdpbmUpIHsKKy0gICAgICAgIGJ1c19lbmdpbmVfcHJveHlfcHJvcGVydHlfYWN0aXZh dGUgKGNvbnRleHQtPmVuZ2luZSwgcHJvcF9uYW1lLCBwcm9wX3N0YXRlKTsKKysgICAgICAgIGJ1 c19lbmdpbmVfcHJveHlfcHJvcGVydHlfYWN0aXZhdGUgKGNvbnRleHQtPmVuZ2luZSwKKysgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BfbmFtZSwKKysgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3Bfc3RhdGUpOworICAg ICB9CiAgfQogIAogIC8qKgpAQCAtMzEzNiw3ICsyOTY4LDcgQEAgaW5kZXggZTc2YmJkZmMuLjIx MTBhZjg3IDEwMDY0NAogICAqLwogIHN0YXRpYyB2b2lkCiAgYnVzX2lucHV0X2NvbnRleHRfc2hv d19wcmVlZGl0X3RleHQgKEJ1c0lucHV0Q29udGV4dCAqY29udGV4dCwKLUBAIC0xNjc4LDcgKzE4 OTIsOCBAQCBidXNfaW5wdXRfY29udGV4dF9zaG93X3ByZWVkaXRfdGV4dCAoQnVzSW5wdXRDb250 ZXh0ICpjb250ZXh0LAorQEAgLTE2NzgsNyArMTczMyw4IEBAIGJ1c19pbnB1dF9jb250ZXh0X3No b3dfcHJlZWRpdF90ZXh0IChCdXNJbnB1dENvbnRleHQgKmNvbnRleHQsCiAgLyoqCiAgICogYnVz X2lucHV0X2NvbnRleHRfaGlkZV9wcmVlZGl0X3RleHQ6CiAgICoKQEAgLTMxNDYsNyArMjk3OCw3 IEBAIGluZGV4IGU3NmJiZGZjLi4yMTEwYWY4NyAxMDA2NDQKICAgKi8KICBzdGF0aWMgdm9pZAog IGJ1c19pbnB1dF9jb250ZXh0X2hpZGVfcHJlZWRpdF90ZXh0IChCdXNJbnB1dENvbnRleHQgKmNv bnRleHQsCi1AQCAtMTcxNyw3ICsxOTMyLDggQEAgYnVzX2lucHV0X2NvbnRleHRfaGlkZV9wcmVl ZGl0X3RleHQgKEJ1c0lucHV0Q29udGV4dCAqY29udGV4dCwKK0BAIC0xNzE3LDcgKzE3NzMsOCBA QCBidXNfaW5wdXRfY29udGV4dF9oaWRlX3ByZWVkaXRfdGV4dCAoQnVzSW5wdXRDb250ZXh0ICpj b250ZXh0LAogIC8qKgogICAqIGJ1c19pbnB1dF9jb250ZXh0X3VwZGF0ZV9hdXhpbGlhcnlfdGV4 dDoKICAgKgpAQCAtMzE1Niw3ICsyOTg4LDcgQEAgaW5kZXggZTc2YmJkZmMuLjIxMTBhZjg3IDEw MDY0NAogICAqLwogIHN0YXRpYyB2b2lkCiAgYnVzX2lucHV0X2NvbnRleHRfdXBkYXRlX2F1eGls aWFyeV90ZXh0IChCdXNJbnB1dENvbnRleHQgKmNvbnRleHQsCi1AQCAtMTczMCwxMSArMTk0Niwx MyBAQCBidXNfaW5wdXRfY29udGV4dF91cGRhdGVfYXV4aWxpYXJ5X3RleHQgKEJ1c0lucHV0Q29u dGV4dCAqY29udGV4dCwKK0BAIC0xNzMwLDExICsxNzg3LDEzIEBAIGJ1c19pbnB1dF9jb250ZXh0 X3VwZGF0ZV9hdXhpbGlhcnlfdGV4dCAoQnVzSW5wdXRDb250ZXh0ICpjb250ZXh0LAogICAgICAg ICAgZ19vYmplY3RfdW5yZWYgKGNvbnRleHQtPmF1eGlsaWFyeV90ZXh0KTsKICAgICAgfQogIApA QCAtMzE3Miw3ICszMDA0LDcgQEAgaW5kZXggZTc2YmJkZmMuLjIxMTBhZjg3IDEwMDY0NAogICAg ICAgICAgYnVzX2lucHV0X2NvbnRleHRfZW1pdF9zaWduYWwgKGNvbnRleHQsCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlVwZGF0ZUF1eGlsaWFyeVRleHQiLAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdfdmFyaWFudF9uZXcgKCIodmIp IiwgdmFyaWFudCwgdmlzaWJsZSksCi1AQCAtMTc1Miw3ICsxOTcwLDggQEAgYnVzX2lucHV0X2Nv bnRleHRfdXBkYXRlX2F1eGlsaWFyeV90ZXh0IChCdXNJbnB1dENvbnRleHQgKmNvbnRleHQsCitA QCAtMTc1Miw3ICsxODExLDggQEAgYnVzX2lucHV0X2NvbnRleHRfdXBkYXRlX2F1eGlsaWFyeV90 ZXh0IChCdXNJbnB1dENvbnRleHQgKmNvbnRleHQsCiAgLyoqCiAgICogYnVzX2lucHV0X2NvbnRl eHRfc2hvd19hdXhpbGlhcnlfdGV4dDoKICAgKgpAQCAtMzE4Miw3ICszMDE0LDcgQEAgaW5kZXgg ZTc2YmJkZmMuLjIxMTBhZjg3IDEwMDY0NAogICAqLwogIHN0YXRpYyB2b2lkCiAgYnVzX2lucHV0 X2NvbnRleHRfc2hvd19hdXhpbGlhcnlfdGV4dCAoQnVzSW5wdXRDb250ZXh0ICpjb250ZXh0KQot QEAgLTE3NjUsNyArMTk4NCw4IEBAIGJ1c19pbnB1dF9jb250ZXh0X3Nob3dfYXV4aWxpYXJ5X3Rl eHQgKEJ1c0lucHV0Q29udGV4dCAqY29udGV4dCkKK0BAIC0xNzY1LDcgKzE4MjUsOCBAQCBidXNf aW5wdXRfY29udGV4dF9zaG93X2F1eGlsaWFyeV90ZXh0IChCdXNJbnB1dENvbnRleHQgKmNvbnRl eHQpCiAgCiAgICAgIGNvbnRleHQtPmF1eGlsaWFyeV92aXNpYmxlID0gVFJVRTsKICAKQEAgLTMx OTIsNyArMzAyNCw3IEBAIGluZGV4IGU3NmJiZGZjLi4yMTEwYWY4NyAxMDA2NDQKICAgICAgICAg IGJ1c19pbnB1dF9jb250ZXh0X2VtaXRfc2lnbmFsIChjb250ZXh0LAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICJTaG93QXV4aWxpYXJ5VGV4dCIsCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwKLUBAIC0xNzgxLDcgKzIwMDEsOCBA QCBidXNfaW5wdXRfY29udGV4dF9zaG93X2F1eGlsaWFyeV90ZXh0IChCdXNJbnB1dENvbnRleHQg KmNvbnRleHQpCitAQCAtMTc4MSw3ICsxODQyLDggQEAgYnVzX2lucHV0X2NvbnRleHRfc2hvd19h dXhpbGlhcnlfdGV4dCAoQnVzSW5wdXRDb250ZXh0ICpjb250ZXh0KQogIC8qKgogICAqIGJ1c19p bnB1dF9jb250ZXh0X2hpZGVfYXV4aWxpYXJ5X3RleHQ6CiAgICoKQEAgLTMyMDIsNyArMzAzNCw3 IEBAIGluZGV4IGU3NmJiZGZjLi4yMTEwYWY4NyAxMDA2NDQKICAgKi8KICBzdGF0aWMgdm9pZAog IGJ1c19pbnB1dF9jb250ZXh0X2hpZGVfYXV4aWxpYXJ5X3RleHQgKEJ1c0lucHV0Q29udGV4dCAq Y29udGV4dCkKLUBAIC0xNzk0LDcgKzIwMTUsOCBAQCBidXNfaW5wdXRfY29udGV4dF9oaWRlX2F1 eGlsaWFyeV90ZXh0IChCdXNJbnB1dENvbnRleHQgKmNvbnRleHQpCitAQCAtMTc5NCw3ICsxODU2 LDggQEAgYnVzX2lucHV0X2NvbnRleHRfaGlkZV9hdXhpbGlhcnlfdGV4dCAoQnVzSW5wdXRDb250 ZXh0ICpjb250ZXh0KQogIAogICAgICBjb250ZXh0LT5hdXhpbGlhcnlfdmlzaWJsZSA9IEZBTFNF OwogIApAQCAtMzIxMiw3ICszMDQ0LDcgQEAgaW5kZXggZTc2YmJkZmMuLjIxMTBhZjg3IDEwMDY0 NAogICAgICAgICAgYnVzX2lucHV0X2NvbnRleHRfZW1pdF9zaWduYWwgKGNvbnRleHQsCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkhpZGVBdXhpbGlhcnlUZXh0IiwK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLAotQEAgLTE4Mjks MTEgKzIwNTEsMTMgQEAgYnVzX2lucHV0X2NvbnRleHRfdXBkYXRlX2xvb2t1cF90YWJsZSAoQnVz SW5wdXRDb250ZXh0ICpjb250ZXh0LAorQEAgLTE4MjksMTEgKzE4OTIsMTMgQEAgYnVzX2lucHV0 X2NvbnRleHRfdXBkYXRlX2xvb2t1cF90YWJsZSAoQnVzSW5wdXRDb250ZXh0ICpjb250ZXh0LAog ICAgICAgICAgZ19vYmplY3RfdW5yZWYgKGNvbnRleHQtPmxvb2t1cF90YWJsZSk7CiAgICAgIH0K ICAKQEAgLTMyMjgsNyArMzA2MCw3IEBAIGluZGV4IGU3NmJiZGZjLi4yMTEwYWY4NyAxMDA2NDQK ICAgICAgICAgIGJ1c19pbnB1dF9jb250ZXh0X2VtaXRfc2lnbmFsIChjb250ZXh0LAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJVcGRhdGVMb29rdXBUYWJsZSIsCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ192YXJpYW50X25ldyAoIih2 YikiLCB2YXJpYW50LCB2aXNpYmxlKSwKLUBAIC0xODUxLDcgKzIwNzUsOCBAQCBidXNfaW5wdXRf Y29udGV4dF91cGRhdGVfbG9va3VwX3RhYmxlIChCdXNJbnB1dENvbnRleHQgKmNvbnRleHQsCitA QCAtMTg1MSw3ICsxOTE2LDggQEAgYnVzX2lucHV0X2NvbnRleHRfdXBkYXRlX2xvb2t1cF90YWJs ZSAoQnVzSW5wdXRDb250ZXh0ICpjb250ZXh0LAogIC8qKgogICAqIGJ1c19pbnB1dF9jb250ZXh0 X3Nob3dfbG9va3VwX3RhYmxlOgogICAqCkBAIC0zMjM4LDcgKzMwNzAsNyBAQCBpbmRleCBlNzZi YmRmYy4uMjExMGFmODcgMTAwNjQ0CiAgICovCiAgc3RhdGljIHZvaWQKICBidXNfaW5wdXRfY29u dGV4dF9zaG93X2xvb2t1cF90YWJsZSAoQnVzSW5wdXRDb250ZXh0ICpjb250ZXh0KQotQEAgLTE4 NjQsNyArMjA4OSw4IEBAIGJ1c19pbnB1dF9jb250ZXh0X3Nob3dfbG9va3VwX3RhYmxlIChCdXNJ bnB1dENvbnRleHQgKmNvbnRleHQpCitAQCAtMTg2NCw3ICsxOTMwLDggQEAgYnVzX2lucHV0X2Nv bnRleHRfc2hvd19sb29rdXBfdGFibGUgKEJ1c0lucHV0Q29udGV4dCAqY29udGV4dCkKICAKICAg ICAgY29udGV4dC0+bG9va3VwX3RhYmxlX3Zpc2libGUgPSBUUlVFOwogIApAQCAtMzI0OCw3ICsz MDgwLDcgQEAgaW5kZXggZTc2YmJkZmMuLjIxMTBhZjg3IDEwMDY0NAogICAgICAgICAgYnVzX2lu cHV0X2NvbnRleHRfZW1pdF9zaWduYWwgKGNvbnRleHQsCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIlNob3dMb29rdXBUYWJsZSIsCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgTlVMTCwKLUBAIC0xODgwLDcgKzIxMDYsOCBAQCBidXNfaW5w dXRfY29udGV4dF9zaG93X2xvb2t1cF90YWJsZSAoQnVzSW5wdXRDb250ZXh0ICpjb250ZXh0KQor QEAgLTE4ODAsNyArMTk0Nyw4IEBAIGJ1c19pbnB1dF9jb250ZXh0X3Nob3dfbG9va3VwX3RhYmxl IChCdXNJbnB1dENvbnRleHQgKmNvbnRleHQpCiAgLyoqCiAgICogYnVzX2lucHV0X2NvbnRleHRf aGlkZV9sb29rdXBfdGFibGU6CiAgICoKQEAgLTMyNTgsNyArMzA5MCw3IEBAIGluZGV4IGU3NmJi ZGZjLi4yMTEwYWY4NyAxMDA2NDQKICAgKi8KICBzdGF0aWMgdm9pZAogIGJ1c19pbnB1dF9jb250 ZXh0X2hpZGVfbG9va3VwX3RhYmxlIChCdXNJbnB1dENvbnRleHQgKmNvbnRleHQpCi1AQCAtMTg5 Myw3ICsyMTIwLDggQEAgYnVzX2lucHV0X2NvbnRleHRfaGlkZV9sb29rdXBfdGFibGUgKEJ1c0lu cHV0Q29udGV4dCAqY29udGV4dCkKK0BAIC0xODkzLDcgKzE5NjEsOCBAQCBidXNfaW5wdXRfY29u dGV4dF9oaWRlX2xvb2t1cF90YWJsZSAoQnVzSW5wdXRDb250ZXh0ICpjb250ZXh0KQogIAogICAg ICBjb250ZXh0LT5sb29rdXBfdGFibGVfdmlzaWJsZSA9IEZBTFNFOwogIApAQCAtMzI2OCw3ICsz MTAwLDcgQEAgaW5kZXggZTc2YmJkZmMuLjIxMTBhZjg3IDEwMDY0NAogICAgICAgICAgYnVzX2lu cHV0X2NvbnRleHRfZW1pdF9zaWduYWwgKGNvbnRleHQsCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIkhpZGVMb29rdXBUYWJsZSIsCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgTlVMTCwKLUBAIC0xOTA5LDcgKzIxMzcsOCBAQCBidXNfaW5w dXRfY29udGV4dF9oaWRlX2xvb2t1cF90YWJsZSAoQnVzSW5wdXRDb250ZXh0ICpjb250ZXh0KQor QEAgLTE5MDksNyArMTk3OCw4IEBAIGJ1c19pbnB1dF9jb250ZXh0X2hpZGVfbG9va3VwX3RhYmxl IChCdXNJbnB1dENvbnRleHQgKmNvbnRleHQpCiAgLyoqCiAgICogYnVzX2lucHV0X2NvbnRleHRf cGFnZV91cF9sb29rdXBfdGFibGU6CiAgICoKQEAgLTMyNzgsNyArMzExMCw3IEBAIGluZGV4IGU3 NmJiZGZjLi4yMTEwYWY4NyAxMDA2NDQKICAgKi8KICBzdGF0aWMgdm9pZAogIGJ1c19pbnB1dF9j b250ZXh0X3BhZ2VfdXBfbG9va3VwX3RhYmxlIChCdXNJbnB1dENvbnRleHQgKmNvbnRleHQpCi1A QCAtMTkyMCw3ICsyMTQ5LDggQEAgYnVzX2lucHV0X2NvbnRleHRfcGFnZV91cF9sb29rdXBfdGFi bGUgKEJ1c0lucHV0Q29udGV4dCAqY29udGV4dCkKK0BAIC0xOTIwLDcgKzE5OTAsOCBAQCBidXNf aW5wdXRfY29udGV4dF9wYWdlX3VwX2xvb2t1cF90YWJsZSAoQnVzSW5wdXRDb250ZXh0ICpjb250 ZXh0KQogICAgICAgICAgcmV0dXJuOwogICAgICB9CiAgCkBAIC0zMjg4LDcgKzMxMjAsNyBAQCBp bmRleCBlNzZiYmRmYy4uMjExMGFmODcgMTAwNjQ0CiAgICAgICAgICBidXNfaW5wdXRfY29udGV4 dF9lbWl0X3NpZ25hbCAoY29udGV4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAiUGFnZVVwTG9va3VwVGFibGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIE5VTEwsCi1AQCAtMTkzNiw3ICsyMTY2LDggQEAgYnVzX2lucHV0X2NvbnRl eHRfcGFnZV91cF9sb29rdXBfdGFibGUgKEJ1c0lucHV0Q29udGV4dCAqY29udGV4dCkKK0BAIC0x OTM2LDcgKzIwMDcsOCBAQCBidXNfaW5wdXRfY29udGV4dF9wYWdlX3VwX2xvb2t1cF90YWJsZSAo QnVzSW5wdXRDb250ZXh0ICpjb250ZXh0KQogIC8qKgogICAqIGJ1c19pbnB1dF9jb250ZXh0X3Bh Z2VfZG93bl9sb29rdXBfdGFibGU6CiAgICoKQEAgLTMyOTgsNyArMzEzMCw3IEBAIGluZGV4IGU3 NmJiZGZjLi4yMTEwYWY4NyAxMDA2NDQKICAgKi8KICBzdGF0aWMgdm9pZAogIGJ1c19pbnB1dF9j b250ZXh0X3BhZ2VfZG93bl9sb29rdXBfdGFibGUgKEJ1c0lucHV0Q29udGV4dCAqY29udGV4dCkK LUBAIC0xOTQ3LDcgKzIxNzgsOCBAQCBidXNfaW5wdXRfY29udGV4dF9wYWdlX2Rvd25fbG9va3Vw X3RhYmxlIChCdXNJbnB1dENvbnRleHQgKmNvbnRleHQpCitAQCAtMTk0Nyw3ICsyMDE5LDggQEAg YnVzX2lucHV0X2NvbnRleHRfcGFnZV9kb3duX2xvb2t1cF90YWJsZSAoQnVzSW5wdXRDb250ZXh0 ICpjb250ZXh0KQogICAgICAgICAgcmV0dXJuOwogICAgICB9CiAgCkBAIC0zMzA4LDcgKzMxNDAs NyBAQCBpbmRleCBlNzZiYmRmYy4uMjExMGFmODcgMTAwNjQ0CiAgICAgICAgICBidXNfaW5wdXRf Y29udGV4dF9lbWl0X3NpZ25hbCAoY29udGV4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAiUGFnZURvd25Mb29rdXBUYWJsZSIsCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgTlVMTCwKLUBAIC0xOTYzLDcgKzIxOTUsOCBAQCBidXNfaW5w dXRfY29udGV4dF9wYWdlX2Rvd25fbG9va3VwX3RhYmxlIChCdXNJbnB1dENvbnRleHQgKmNvbnRl eHQpCitAQCAtMTk2Myw3ICsyMDM2LDggQEAgYnVzX2lucHV0X2NvbnRleHRfcGFnZV9kb3duX2xv b2t1cF90YWJsZSAoQnVzSW5wdXRDb250ZXh0ICpjb250ZXh0KQogIC8qKgogICAqIGJ1c19pbnB1 dF9jb250ZXh0X2N1cnNvcl91cF9sb29rdXBfdGFibGU6CiAgICoKQEAgLTMzMTgsNyArMzE1MCw3 IEBAIGluZGV4IGU3NmJiZGZjLi4yMTEwYWY4NyAxMDA2NDQKICAgKi8KICBzdGF0aWMgdm9pZAog IGJ1c19pbnB1dF9jb250ZXh0X2N1cnNvcl91cF9sb29rdXBfdGFibGUgKEJ1c0lucHV0Q29udGV4 dCAqY29udGV4dCkKLUBAIC0xOTc0LDcgKzIyMDcsOCBAQCBidXNfaW5wdXRfY29udGV4dF9jdXJz b3JfdXBfbG9va3VwX3RhYmxlIChCdXNJbnB1dENvbnRleHQgKmNvbnRleHQpCitAQCAtMTk3NCw3 ICsyMDQ4LDggQEAgYnVzX2lucHV0X2NvbnRleHRfY3Vyc29yX3VwX2xvb2t1cF90YWJsZSAoQnVz SW5wdXRDb250ZXh0ICpjb250ZXh0KQogICAgICAgICAgcmV0dXJuOwogICAgICB9CiAgCkBAIC0z MzI4LDcgKzMxNjAsNyBAQCBpbmRleCBlNzZiYmRmYy4uMjExMGFmODcgMTAwNjQ0CiAgICAgICAg ICBidXNfaW5wdXRfY29udGV4dF9lbWl0X3NpZ25hbCAoY29udGV4dCwKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAiQ3Vyc29yVXBMb29rdXBUYWJsZSIsCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwKLUBAIC0xOTkwLDcgKzIyMjQs OCBAQCBidXNfaW5wdXRfY29udGV4dF9jdXJzb3JfdXBfbG9va3VwX3RhYmxlIChCdXNJbnB1dENv bnRleHQgKmNvbnRleHQpCitAQCAtMTk5MCw3ICsyMDY1LDggQEAgYnVzX2lucHV0X2NvbnRleHRf Y3Vyc29yX3VwX2xvb2t1cF90YWJsZSAoQnVzSW5wdXRDb250ZXh0ICpjb250ZXh0KQogIC8qKgog ICAqIGJ1c19pbnB1dF9jb250ZXh0X2N1cnNvcl9kb3duX2xvb2t1cF90YWJsZToKICAgKgpAQCAt MzMzOCw3ICszMTcwLDcgQEAgaW5kZXggZTc2YmJkZmMuLjIxMTBhZjg3IDEwMDY0NAogICAqLwog IHN0YXRpYyB2b2lkCiAgYnVzX2lucHV0X2NvbnRleHRfY3Vyc29yX2Rvd25fbG9va3VwX3RhYmxl IChCdXNJbnB1dENvbnRleHQgKmNvbnRleHQpCi1AQCAtMjAwMSw3ICsyMjM2LDggQEAgYnVzX2lu cHV0X2NvbnRleHRfY3Vyc29yX2Rvd25fbG9va3VwX3RhYmxlIChCdXNJbnB1dENvbnRleHQgKmNv bnRleHQpCitAQCAtMjAwMSw3ICsyMDc3LDggQEAgYnVzX2lucHV0X2NvbnRleHRfY3Vyc29yX2Rv d25fbG9va3VwX3RhYmxlIChCdXNJbnB1dENvbnRleHQgKmNvbnRleHQpCiAgICAgICAgICByZXR1 cm47CiAgICAgIH0KICAKQEAgLTMzNDgsNyArMzE4MCw3IEBAIGluZGV4IGU3NmJiZGZjLi4yMTEw YWY4NyAxMDA2NDQKICAgICAgICAgIGJ1c19pbnB1dF9jb250ZXh0X2VtaXRfc2lnbmFsIChjb250 ZXh0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJDdXJzb3JEb3du TG9va3VwVGFibGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5V TEwsCi1AQCAtMjAxNyw3ICsyMjUzLDggQEAgYnVzX2lucHV0X2NvbnRleHRfY3Vyc29yX2Rvd25f bG9va3VwX3RhYmxlIChCdXNJbnB1dENvbnRleHQgKmNvbnRleHQpCitAQCAtMjAxNyw3ICsyMDk0 LDggQEAgYnVzX2lucHV0X2NvbnRleHRfY3Vyc29yX2Rvd25fbG9va3VwX3RhYmxlIChCdXNJbnB1 dENvbnRleHQgKmNvbnRleHQpCiAgLyoqCiAgICogYnVzX2lucHV0X2NvbnRleHRfcmVnaXN0ZXJf cHJvcGVydGllczoKICAgKgpAQCAtMzM1OCw2MCArMzE5MCw2MzIgQEAgaW5kZXggZTc2YmJkZmMu LjIxMTBhZjg3IDEwMDY0NAogICAqLwogIHN0YXRpYyB2b2lkCiAgYnVzX2lucHV0X2NvbnRleHRf cmVnaXN0ZXJfcHJvcGVydGllcyAoQnVzSW5wdXRDb250ZXh0ICpjb250ZXh0LAotQEAgLTIwMjcs NyArMjI2NCw4IEBAIGJ1c19pbnB1dF9jb250ZXh0X3JlZ2lzdGVyX3Byb3BlcnRpZXMgKEJ1c0lu cHV0Q29udGV4dCAqY29udGV4dCwKK0BAIC0yMDI3LDcgKzIxMDUsOCBAQCBidXNfaW5wdXRfY29u dGV4dF9yZWdpc3Rlcl9wcm9wZXJ0aWVzIChCdXNJbnB1dENvbnRleHQgKmNvbnRleHQsCiAgICAg IGdfYXNzZXJ0IChJQlVTX0lTX1BST1BfTElTVCAocHJvcHMpKTsKICAKLSAgICAgaWYgKGNvbnRl eHQtPmNhcGFiaWxpdGllcyAmIElCVVNfQ0FQX1BST1BFUlRZKSB7Ci0tICAgICAgICBHVmFyaWFu dCAqdmFyaWFudCA9IGlidXNfc2VyaWFsaXphYmxlX3NlcmlhbGl6ZSAoKElCdXNTZXJpYWxpemFi bGUgKilwcm9wcyk7Ci0rICAgICAgICBHVmFyaWFudCAqdmFyaWFudCA9Ci0rICAgICAgICAgICAg ICAgIGlidXNfc2VyaWFsaXphYmxlX3NlcmlhbGl6ZSAoKElCdXNTZXJpYWxpemFibGUgKilwcm9w cyk7Ci0gICAgICAgICBidXNfaW5wdXRfY29udGV4dF9lbWl0X3NpZ25hbCAoY29udGV4dCwKLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiUmVnaXN0ZXJQcm9wZXJ0aWVz IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnX3ZhcmlhbnRfbmV3 ICgiKHYpIiwgdmFyaWFudCksCi1AQCAtMjA0NCw3ICsyMjgyLDggQEAgYnVzX2lucHV0X2NvbnRl eHRfcmVnaXN0ZXJfcHJvcGVydGllcyAoQnVzSW5wdXRDb250ZXh0ICpjb250ZXh0LAotIC8qKgot ICAqIGJ1c19pbnB1dF9jb250ZXh0X3VwZGF0ZV9wcm9wZXJ0eToKLSAgKgotLSAqIFVwZGF0ZSBw cm9wZXJ0eS4gU2VuZCBELUJ1cyBzaWduYWwgdG8gdXBkYXRlIHN0YXR1cyBvZiBjbGllbnQgb3Ig c2VuZCBnbGliIHNpZ25hbCB0byB0aGUgcGFuZWwsIGRlcGVuZGluZyBvbiBjYXBhYmlsaXRpZXMg b2YgdGhlIGNsaWVudC4KLSsgKiBVcGRhdGUgcHJvcGVydHkuIFNlbmQgRC1CdXMgc2lnbmFsIHRv IHVwZGF0ZSBzdGF0dXMgb2YgY2xpZW50IG9yIHNlbmQgZ2xpYgotKyAqIHNpZ25hbCB0byB0aGUg cGFuZWwsIGRlcGVuZGluZyBvbiBjYXBhYmlsaXRpZXMgb2YgdGhlIGNsaWVudC4KLSAgKi8KLSBz dGF0aWMgdm9pZAotIGJ1c19pbnB1dF9jb250ZXh0X3VwZGF0ZV9wcm9wZXJ0eSAoQnVzSW5wdXRD b250ZXh0ICpjb250ZXh0LAotQEAgLTIwNTQsNyArMjI5Myw4IEBAIGJ1c19pbnB1dF9jb250ZXh0 X3VwZGF0ZV9wcm9wZXJ0eSAoQnVzSW5wdXRDb250ZXh0ICpjb250ZXh0LAotICAgICBnX2Fzc2Vy dCAoSUJVU19JU19QUk9QRVJUWSAocHJvcCkpOworICAgICBpZiAoY29udGV4dC0+Y2FwYWJpbGl0 aWVzICYgSUJVU19DQVBfUFJPUEVSVFkpIHsKKy0gICAgICAgIEdWYXJpYW50ICp2YXJpYW50ID0g aWJ1c19zZXJpYWxpemFibGVfc2VyaWFsaXplICgoSUJ1c1NlcmlhbGl6YWJsZSAqKXByb3BzKTsK KysgICAgICAgIEdWYXJpYW50ICp2YXJpYW50ID0KKysgICAgICAgICAgICAgICAgaWJ1c19zZXJp YWxpemFibGVfc2VyaWFsaXplICgoSUJ1c1NlcmlhbGl6YWJsZSAqKXByb3BzKTsKKyAgICAgICAg IGJ1c19pbnB1dF9jb250ZXh0X2VtaXRfc2lnbmFsIChjb250ZXh0LAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICJSZWdpc3RlclByb3BlcnRpZXMiLAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdfdmFyaWFudF9uZXcgKCIodikiLCB2YXJp YW50KSwKK0BAIC0yMDQ0LDcgKzIxMjMsOCBAQCBidXNfaW5wdXRfY29udGV4dF9yZWdpc3Rlcl9w cm9wZXJ0aWVzIChCdXNJbnB1dENvbnRleHQgKmNvbnRleHQsCisgLyoqCisgICogYnVzX2lucHV0 X2NvbnRleHRfdXBkYXRlX3Byb3BlcnR5OgorICAqCistICogVXBkYXRlIHByb3BlcnR5LiBTZW5k IEQtQnVzIHNpZ25hbCB0byB1cGRhdGUgc3RhdHVzIG9mIGNsaWVudCBvciBzZW5kIGdsaWIgc2ln bmFsIHRvIHRoZSBwYW5lbCwgZGVwZW5kaW5nIG9uIGNhcGFiaWxpdGllcyBvZiB0aGUgY2xpZW50 LgorKyAqIFVwZGF0ZSBwcm9wZXJ0eS4gU2VuZCBELUJ1cyBzaWduYWwgdG8gdXBkYXRlIHN0YXR1 cyBvZiBjbGllbnQgb3Igc2VuZCBnbGliCisrICogc2lnbmFsIHRvIHRoZSBwYW5lbCwgZGVwZW5k aW5nIG9uIGNhcGFiaWxpdGllcyBvZiB0aGUgY2xpZW50LgorICAqLworIHN0YXRpYyB2b2lkCisg YnVzX2lucHV0X2NvbnRleHRfdXBkYXRlX3Byb3BlcnR5IChCdXNJbnB1dENvbnRleHQgKmNvbnRl eHQsCitAQCAtMjA1NCw3ICsyMTM0LDggQEAgYnVzX2lucHV0X2NvbnRleHRfdXBkYXRlX3Byb3Bl cnR5IChCdXNJbnB1dENvbnRleHQgKmNvbnRleHQsCisgICAgIGdfYXNzZXJ0IChJQlVTX0lTX1BS T1BFUlRZIChwcm9wKSk7CisgCisgICAgIGlmIChjb250ZXh0LT5jYXBhYmlsaXRpZXMgJiBJQlVT X0NBUF9QUk9QRVJUWSkgeworLSAgICAgICAgR1ZhcmlhbnQgKnZhcmlhbnQgPSBpYnVzX3Nlcmlh bGl6YWJsZV9zZXJpYWxpemUgKChJQnVzU2VyaWFsaXphYmxlICopcHJvcCk7CisrICAgICAgICBH VmFyaWFudCAqdmFyaWFudCA9CisrICAgICAgICAgICAgICAgIGlidXNfc2VyaWFsaXphYmxlX3Nl cmlhbGl6ZSAoKElCdXNTZXJpYWxpemFibGUgKilwcm9wKTsKKyAgICAgICAgIGJ1c19pbnB1dF9j b250ZXh0X2VtaXRfc2lnbmFsIChjb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICJVcGRhdGVQcm9wZXJ0eSIsCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgZ192YXJpYW50X25ldyAoIih2KSIsIHZhcmlhbnQpLAorQEAgLTIwODks NyArMjE3MCw4IEBAIF9lbmdpbmVfZGVzdHJveV9jYiAoQnVzRW5naW5lUHJveHkgICplbmdpbmUs CisgLyoqCisgICogX2VuZ2luZV9jb21taXRfdGV4dF9jYjoKKyAgKgorLSAqIEEgZnVuY3Rpb24g dG8gYmUgY2FsbGVkIHdoZW4gImNvbW1pdC10ZXh0IiBnbGliIHNpZ25hbCBpcyBzZW50IHRvIHRo ZSBlbmdpbmUgb2JqZWN0LgorKyAqIEEgZnVuY3Rpb24gdG8gYmUgY2FsbGVkIHdoZW4gImNvbW1p dC10ZXh0IiBnbGliIHNpZ25hbCBpcyBzZW50IHRvIHRoZSBlbmdpbmUKKysgKiBvYmplY3QuCisg ICovCisgc3RhdGljIHZvaWQKKyBfZW5naW5lX2NvbW1pdF90ZXh0X2NiIChCdXNFbmdpbmVQcm94 eSAgKmVuZ2luZSwKK0BAIC0yMTA4LDcgKzIxOTAsOCBAQCBfZW5naW5lX2NvbW1pdF90ZXh0X2Ni IChCdXNFbmdpbmVQcm94eSAgKmVuZ2luZSwKKyAvKioKKyAgKiBfZW5naW5lX2ZvcndhcmRfa2V5 X2V2ZW50X2NiOgorICAqCistICogQSBmdW5jdGlvbiB0byBiZSBjYWxsZWQgd2hlbiAiZm9yd2Fy ZC1rZXktZXZlbnQiIGdsaWIgc2lnbmFsIGlzIHNlbnQgdG8gdGhlIGVuZ2luZSBvYmplY3QuCisr ICogQSBmdW5jdGlvbiB0byBiZSBjYWxsZWQgd2hlbiAiZm9yd2FyZC1rZXktZXZlbnQiIGdsaWIg c2lnbmFsIGlzIHNlbnQgdG8gdGhlCisrICogZW5naW5lIG9iamVjdC4KKyAgKi8KKyBzdGF0aWMg dm9pZAorIF9lbmdpbmVfZm9yd2FyZF9rZXlfZXZlbnRfY2IgKEJ1c0VuZ2luZVByb3h5ICAgICpl bmdpbmUsCitAQCAtMjEyNCwxNCArMjIwNywxNiBAQCBfZW5naW5lX2ZvcndhcmRfa2V5X2V2ZW50 X2NiIChCdXNFbmdpbmVQcm94eSAgICAqZW5naW5lLAorIAorICAgICBidXNfaW5wdXRfY29udGV4 dF9lbWl0X3NpZ25hbCAoY29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICJGb3J3YXJkS2V5RXZlbnQiLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgZ192YXJpYW50X25ldyAoIih1dXUpIiwga2V5dmFsLCBrZXljb2RlLCBzdGF0ZSksCisrICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnX3ZhcmlhbnRfbmV3ICgiKHV1dSkiLAor KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5dmFs LCBrZXljb2RlLCBzdGF0ZSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBO VUxMKTsKKyB9CisgCisgLyoqCisgICogX2VuZ2luZV9kZWxldGVfc3Vycm91bmRpbmdfdGV4dF9j YjoKKyAgKgorLSAqIEEgZnVuY3Rpb24gdG8gYmUgY2FsbGVkIHdoZW4gImRlbGV0ZS1zdXJyb3Vu ZGluZy10ZXh0IiBnbGliIHNpZ25hbCBpcyBzZW50IHRvIHRoZSBlbmdpbmUgb2JqZWN0LgorKyAq IEEgZnVuY3Rpb24gdG8gYmUgY2FsbGVkIHdoZW4gImRlbGV0ZS1zdXJyb3VuZGluZy10ZXh0IiBn bGliIHNpZ25hbCBpcyBzZW50CisrICogdG8gdGhlIGVuZ2luZSBvYmplY3QuCisgICovCisgc3Rh dGljIHZvaWQKKyBfZW5naW5lX2RlbGV0ZV9zdXJyb3VuZGluZ190ZXh0X2NiIChCdXNFbmdpbmVQ cm94eSAgICAqZW5naW5lLAorQEAgLTIxNDYsMTQgKzIyMzEsMTYgQEAgX2VuZ2luZV9kZWxldGVf c3Vycm91bmRpbmdfdGV4dF9jYiAoQnVzRW5naW5lUHJveHkgICAgKmVuZ2luZSwKKyAKKyAgICAg YnVzX2lucHV0X2NvbnRleHRfZW1pdF9zaWduYWwgKGNvbnRleHQsCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAiRGVsZXRlU3Vycm91bmRpbmdUZXh0IiwKKy0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGdfdmFyaWFudF9uZXcgKCIoaXUpIiwgb2Zmc2V0X2Zy b21fY3Vyc29yLCBuY2hhcnMpLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Z192YXJpYW50X25ldyAoIihpdSkiLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgb2Zmc2V0X2Zyb21fY3Vyc29yLCBuY2hhcnMpLAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCk7CisgfQorIAorIC8qKgorICAqIF9lbmdp bmVfcmVxdWlyZV9zdXJyb3VuZGluZ190ZXh0X2NiOgorICAqCistICogQSBmdW5jdGlvbiB0byBi ZSBjYWxsZWQgd2hlbiAicmVxdWlyZS1zdXJyb3VuZGluZy10ZXh0IiBnbGliIHNpZ25hbCBpcyBz ZW50IHRvIHRoZSBlbmdpbmUgb2JqZWN0LgorKyAqIEEgZnVuY3Rpb24gdG8gYmUgY2FsbGVkIHdo ZW4gInJlcXVpcmUtc3Vycm91bmRpbmctdGV4dCIgZ2xpYiBzaWduYWwgaXMgc2VudAorKyAqIHRv IHRoZSBlbmdpbmUgb2JqZWN0LgorICAqLworIHN0YXRpYyB2b2lkCisgX2VuZ2luZV9yZXF1aXJl X3N1cnJvdW5kaW5nX3RleHRfY2IgKEJ1c0VuZ2luZVByb3h5ICAgICplbmdpbmUsCitAQCAtMjE3 Myw3ICsyMjYwLDggQEAgX2VuZ2luZV9yZXF1aXJlX3N1cnJvdW5kaW5nX3RleHRfY2IgKEJ1c0Vu Z2luZVByb3h5ICAgICplbmdpbmUsCisgLyoqCisgICogX2VuZ2luZV91cGRhdGVfcHJlZWRpdF90 ZXh0X2NiOgorICAqCistICogQSBmdW5jdGlvbiB0byBiZSBjYWxsZWQgd2hlbiAidXBkYXRlLXBy ZWVkaXQtdGV4dCIgZ2xpYiBzaWduYWwgaXMgc2VudCB0byB0aGUgZW5naW5lIG9iamVjdC4KKysg KiBBIGZ1bmN0aW9uIHRvIGJlIGNhbGxlZCB3aGVuICJ1cGRhdGUtcHJlZWRpdC10ZXh0IiBnbGli IHNpZ25hbCBpcyBzZW50IHRvCisrICogdGhlIGVuZ2luZSBvYmplY3QuCisgICovCisgc3RhdGlj IHZvaWQKKyBfZW5naW5lX3VwZGF0ZV9wcmVlZGl0X3RleHRfY2IgKEJ1c0VuZ2luZVByb3h5ICAq ZW5naW5lLAorQEAgLTIxOTcsNyArMjI4NSw4IEBAIF9lbmdpbmVfdXBkYXRlX3ByZWVkaXRfdGV4 dF9jYiAoQnVzRW5naW5lUHJveHkgICplbmdpbmUsCisgLyoqCisgICogX2VuZ2luZV91cGRhdGVf YXV4aWxpYXJ5X3RleHRfY2I6CisgICoKKy0gKiBBIGZ1bmN0aW9uIHRvIGJlIGNhbGxlZCB3aGVu ICJ1cGRhdGUtYXV4aWxpYXJ5LXRleHQiIGdsaWIgc2lnbmFsIGlzIHNlbnQgdG8gdGhlIGVuZ2lu ZSBvYmplY3QuCisrICogQSBmdW5jdGlvbiB0byBiZSBjYWxsZWQgd2hlbiAidXBkYXRlLWF1eGls aWFyeS10ZXh0IiBnbGliIHNpZ25hbCBpcyBzZW50IHRvCisrICogdGhlIGVuZ2luZSBvYmplY3Qu CisgICovCisgc3RhdGljIHZvaWQKKyBfZW5naW5lX3VwZGF0ZV9hdXhpbGlhcnlfdGV4dF9jYiAo QnVzRW5naW5lUHJveHkgICAqZW5naW5lLAorQEAgLTIyMTcsNyArMjMwNiw4IEBAIF9lbmdpbmVf dXBkYXRlX2F1eGlsaWFyeV90ZXh0X2NiIChCdXNFbmdpbmVQcm94eSAgICplbmdpbmUsCisgLyoq CisgICogX2VuZ2luZV91cGRhdGVfbG9va3VwX3RhYmxlX2NiOgorICAqCistICogQSBmdW5jdGlv biB0byBiZSBjYWxsZWQgd2hlbiAidXBkYXRlLWxvb2t1cC10YWJsZSIgZ2xpYiBzaWduYWwgaXMg c2VudCB0byB0aGUgZW5naW5lIG9iamVjdC4KKysgKiBBIGZ1bmN0aW9uIHRvIGJlIGNhbGxlZCB3 aGVuICJ1cGRhdGUtbG9va3VwLXRhYmxlIiBnbGliIHNpZ25hbCBpcyBzZW50IHRvCisrICogdGhl IGVuZ2luZSBvYmplY3QuCisgICovCisgc3RhdGljIHZvaWQKKyBfZW5naW5lX3VwZGF0ZV9sb29r dXBfdGFibGVfY2IgKEJ1c0VuZ2luZVByb3h5ICAgKmVuZ2luZSwKK0BAIC0yMjM3LDcgKzIzMjcs OCBAQCBfZW5naW5lX3VwZGF0ZV9sb29rdXBfdGFibGVfY2IgKEJ1c0VuZ2luZVByb3h5ICAgKmVu Z2luZSwKKyAvKioKKyAgKiBfZW5naW5lX3JlZ2lzdGVyX3Byb3BlcnRpZXNfY2I6CisgICoKKy0g KiBBIGZ1bmN0aW9uIHRvIGJlIGNhbGxlZCB3aGVuICJyZWdpc3Rlci1wcm9wZXJ0aWVzIiBnbGli IHNpZ25hbCBpcyBzZW50IHRvIHRoZSBlbmdpbmUgb2JqZWN0LgorKyAqIEEgZnVuY3Rpb24gdG8g YmUgY2FsbGVkIHdoZW4gInJlZ2lzdGVyLXByb3BlcnRpZXMiIGdsaWIgc2lnbmFsIGlzIHNlbnQg dG8KKysgKiB0aGUgZW5naW5lIG9iamVjdC4KKyAgKi8KKyBzdGF0aWMgdm9pZAorIF9lbmdpbmVf cmVnaXN0ZXJfcHJvcGVydGllc19jYiAoQnVzRW5naW5lUHJveHkgICplbmdpbmUsCitAQCAtMjI1 Niw3ICsyMzQ3LDggQEAgX2VuZ2luZV9yZWdpc3Rlcl9wcm9wZXJ0aWVzX2NiIChCdXNFbmdpbmVQ cm94eSAgKmVuZ2luZSwKKyAvKioKKyAgKiBfZW5naW5lX3VwZGF0ZV9wcm9wZXJ0eV9jYjoKKyAg KgorLSAqIEEgZnVuY3Rpb24gdG8gYmUgY2FsbGVkIHdoZW4gInVwZGF0ZS1wcm9wZXJ0eSIgZ2xp YiBzaWduYWwgaXMgc2VudCB0byB0aGUgZW5naW5lIG9iamVjdC4KKysgKiBBIGZ1bmN0aW9uIHRv IGJlIGNhbGxlZCB3aGVuICJ1cGRhdGUtcHJvcGVydHkiIGdsaWIgc2lnbmFsIGlzIHNlbnQgdG8g dGhlCisrICogZW5naW5lIG9iamVjdC4KKyAgKi8KKyBzdGF0aWMgdm9pZAorIF9lbmdpbmVfdXBk YXRlX3Byb3BlcnR5X2NiIChCdXNFbmdpbmVQcm94eSAgKmVuZ2luZSwKK0BAIC0yMzQ2LDEwICsy NDM4LDExIEBAIGJ1c19pbnB1dF9jb250ZXh0X25ldyAoQnVzQ29ubmVjdGlvbiAgICAqY29ubmVj dGlvbiwKKyAKKyAgICAgQnVzSW5wdXRDb250ZXh0ICpjb250ZXh0ID0gTlVMTDsKKyAgICAgaWYg KGNvbm5lY3Rpb24pIHsKKy0gICAgICAgIGNvbnRleHQgPSAoQnVzSW5wdXRDb250ZXh0ICopIGdf b2JqZWN0X25ldyAoQlVTX1RZUEVfSU5QVVRfQ09OVEVYVCwKKy0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9iamVjdC1wYXRoIiwgcGF0aCwKKy0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNvbm5l Y3Rpb24iLCBidXNfY29ubmVjdGlvbl9nZXRfZGJ1c19jb25uZWN0aW9uIChjb25uZWN0aW9uKSwK Ky0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVM TCk7CisrICAgICAgICBjb250ZXh0ID0gKEJ1c0lucHV0Q29udGV4dCAqKSBnX29iamVjdF9uZXcg KAorKyAgICAgICAgICAgICAgICBCVVNfVFlQRV9JTlBVVF9DT05URVhULAorKyAgICAgICAgICAg ICAgICAib2JqZWN0LXBhdGgiLCBwYXRoLAorKyAgICAgICAgICAgICAgICAiY29ubmVjdGlvbiIs IGJ1c19jb25uZWN0aW9uX2dldF9kYnVzX2Nvbm5lY3Rpb24gKGNvbm5lY3Rpb24pLAorKyAgICAg ICAgICAgICAgICBOVUxMKTsKKyAgICAgfQorICAgICBlbHNlIHsKKyAgICAgICAgIGNvbnRleHQg PSAoQnVzSW5wdXRDb250ZXh0ICopIGdfb2JqZWN0X25ldyAoQlVTX1RZUEVfSU5QVVRfQ09OVEVY VCwKK0BAIC0yNDM5LDI4ICsyNTMyLDM3IEBAIGJ1c19pbnB1dF9jb250ZXh0X2Rpc2FibGUgKEJ1 c0lucHV0Q29udGV4dCAqY29udGV4dCkKKyAgICAgfQorIH0KKyAKKy0vKiBBIGxpc3Qgb2Ygc2ln bmFscyAoYW5kIHRoZWlyIGhhbmRsZXIgZnVuY3Rpb25zKSB0aGF0IGNvdWxkIGJlIGVtaXQgYnkg dGhlIGVuZ2luZSBwcm94eSBvYmplY3QuICovCisrLyogQSBsaXN0IG9mIHNpZ25hbHMgKGFuZCB0 aGVpciBoYW5kbGVyIGZ1bmN0aW9ucykgdGhhdCBjb3VsZCBiZSBlbWl0IGJ5IHRoZQorKyAqIGVu Z2luZSBwcm94eSBvYmplY3QuCisrICovCisgY29uc3Qgc3RhdGljIHN0cnVjdCB7CisgICAgIGNv bnN0IGdjaGFyICpuYW1lOworICAgICBHQ2FsbGJhY2sgICAgY2FsbGJhY2s7CisgfSBlbmdpbmVf c2lnbmFscyBbXSA9IHsKKyAgICAgeyAiY29tbWl0LXRleHQiLCAgICAgICAgICAgICAgR19DQUxM QkFDSyAoX2VuZ2luZV9jb21taXRfdGV4dF9jYikgfSwKKyAgICAgeyAiZm9yd2FyZC1rZXktZXZl bnQiLCAgICAgICAgR19DQUxMQkFDSyAoX2VuZ2luZV9mb3J3YXJkX2tleV9ldmVudF9jYikgfSwK Ky0gICAgeyAiZGVsZXRlLXN1cnJvdW5kaW5nLXRleHQiLCAgR19DQUxMQkFDSyAoX2VuZ2luZV9k ZWxldGVfc3Vycm91bmRpbmdfdGV4dF9jYikgfSwKKy0gICAgeyAicmVxdWlyZS1zdXJyb3VuZGlu Zy10ZXh0IiwgR19DQUxMQkFDSyAoX2VuZ2luZV9yZXF1aXJlX3N1cnJvdW5kaW5nX3RleHRfY2Ip IH0sCisrICAgIHsgImRlbGV0ZS1zdXJyb3VuZGluZy10ZXh0IiwKKysgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBHX0NBTExCQUNLIChfZW5naW5lX2RlbGV0ZV9zdXJyb3VuZGluZ190ZXh0 X2NiKSB9LAorKyAgICB7ICJyZXF1aXJlLXN1cnJvdW5kaW5nLXRleHQiLAorKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgR19DQUxMQkFDSyAoX2VuZ2luZV9yZXF1aXJlX3N1cnJvdW5kaW5n X3RleHRfY2IpIH0sCisgICAgIHsgInVwZGF0ZS1wcmVlZGl0LXRleHQiLCAgICAgIEdfQ0FMTEJB Q0sgKF9lbmdpbmVfdXBkYXRlX3ByZWVkaXRfdGV4dF9jYikgfSwKKyAgICAgeyAic2hvdy1wcmVl ZGl0LXRleHQiLCAgICAgICAgR19DQUxMQkFDSyAoX2VuZ2luZV9zaG93X3ByZWVkaXRfdGV4dF9j YikgfSwKKyAgICAgeyAiaGlkZS1wcmVlZGl0LXRleHQiLCAgICAgICAgR19DQUxMQkFDSyAoX2Vu Z2luZV9oaWRlX3ByZWVkaXRfdGV4dF9jYikgfSwKKy0gICAgeyAidXBkYXRlLWF1eGlsaWFyeS10 ZXh0IiwgICAgR19DQUxMQkFDSyAoX2VuZ2luZV91cGRhdGVfYXV4aWxpYXJ5X3RleHRfY2IpIH0s CisrICAgIHsgInVwZGF0ZS1hdXhpbGlhcnktdGV4dCIsCisrICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBHX0NBTExCQUNLIChfZW5naW5lX3VwZGF0ZV9hdXhpbGlhcnlfdGV4dF9jYikg fSwKKyAgICAgeyAic2hvdy1hdXhpbGlhcnktdGV4dCIsICAgICAgR19DQUxMQkFDSyAoX2VuZ2lu ZV9zaG93X2F1eGlsaWFyeV90ZXh0X2NiKSB9LAorICAgICB7ICJoaWRlLWF1eGlsaWFyeS10ZXh0 IiwgICAgICBHX0NBTExCQUNLIChfZW5naW5lX2hpZGVfYXV4aWxpYXJ5X3RleHRfY2IpIH0sCisg ICAgIHsgInVwZGF0ZS1sb29rdXAtdGFibGUiLCAgICAgIEdfQ0FMTEJBQ0sgKF9lbmdpbmVfdXBk YXRlX2xvb2t1cF90YWJsZV9jYikgfSwKKyAgICAgeyAic2hvdy1sb29rdXAtdGFibGUiLCAgICAg ICAgR19DQUxMQkFDSyAoX2VuZ2luZV9zaG93X2xvb2t1cF90YWJsZV9jYikgfSwKKyAgICAgeyAi aGlkZS1sb29rdXAtdGFibGUiLCAgICAgICAgR19DQUxMQkFDSyAoX2VuZ2luZV9oaWRlX2xvb2t1 cF90YWJsZV9jYikgfSwKKy0gICAgeyAicGFnZS11cC1sb29rdXAtdGFibGUiLCAgICAgR19DQUxM QkFDSyAoX2VuZ2luZV9wYWdlX3VwX2xvb2t1cF90YWJsZV9jYikgfSwKKy0gICAgeyAicGFnZS1k b3duLWxvb2t1cC10YWJsZSIsICAgR19DQUxMQkFDSyAoX2VuZ2luZV9wYWdlX2Rvd25fbG9va3Vw X3RhYmxlX2NiKSB9LAorLSAgICB7ICJjdXJzb3ItdXAtbG9va3VwLXRhYmxlIiwgICBHX0NBTExC QUNLIChfZW5naW5lX2N1cnNvcl91cF9sb29rdXBfdGFibGVfY2IpIH0sCistICAgIHsgImN1cnNv ci1kb3duLWxvb2t1cC10YWJsZSIsIEdfQ0FMTEJBQ0sgKF9lbmdpbmVfY3Vyc29yX2Rvd25fbG9v a3VwX3RhYmxlX2NiKSB9LAorKyAgICB7ICJwYWdlLXVwLWxvb2t1cC10YWJsZSIsCisrICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgR19DQUxMQkFDSyAoX2VuZ2luZV9wYWdlX3VwX2xv b2t1cF90YWJsZV9jYikgfSwKKysgICAgeyAicGFnZS1kb3duLWxvb2t1cC10YWJsZSIsCisrICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdfQ0FMTEJBQ0sgKF9lbmdpbmVfcGFnZV9kb3du X2xvb2t1cF90YWJsZV9jYikgfSwKKysgICAgeyAiY3Vyc29yLXVwLWxvb2t1cC10YWJsZSIsCisr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdfQ0FMTEJBQ0sgKF9lbmdpbmVfY3Vyc29y X3VwX2xvb2t1cF90YWJsZV9jYikgfSwKKysgICAgeyAiY3Vyc29yLWRvd24tbG9va3VwLXRhYmxl IiwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdfQ0FMTEJBQ0sgKF9lbmdpbmVfY3Vy c29yX2Rvd25fbG9va3VwX3RhYmxlX2NiKSB9LAorICAgICB7ICJyZWdpc3Rlci1wcm9wZXJ0aWVz IiwgICAgICBHX0NBTExCQUNLIChfZW5naW5lX3JlZ2lzdGVyX3Byb3BlcnRpZXNfY2IpIH0sCisg ICAgIHsgInVwZGF0ZS1wcm9wZXJ0eSIsICAgICAgICAgIEdfQ0FMTEJBQ0sgKF9lbmdpbmVfdXBk YXRlX3Byb3BlcnR5X2NiKSB9LAorICAgICB7ICJwYW5lbC1leHRlbnNpb24iLCAgICAgICAgICBH X0NBTExCQUNLIChfZW5naW5lX3BhbmVsX2V4dGVuc2lvbl9jYikgfSwKK0BAIC0yNTMxLDkgKzI2 MzMsMTYgQEAgYnVzX2lucHV0X2NvbnRleHRfc2V0X2VuZ2luZSAoQnVzSW5wdXRDb250ZXh0ICpj b250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgaWJ1c19zZXJ2aWNlX2dldF9vYmplY3RfcGF0 aCAoKElCdXNTZXJ2aWNlICopY29udGV4dCk7CisgICAgICAgICAgICAgYnVzX2VuZ2luZV9wcm94 eV9mb2N1c19pbiAoY29udGV4dC0+ZW5naW5lLCBwYXRoLCBjb250ZXh0LT5jbGllbnQpOworICAg ICAgICAgICAgIGJ1c19lbmdpbmVfcHJveHlfZW5hYmxlIChjb250ZXh0LT5lbmdpbmUpOworLSAg ICAgICAgICAgIGJ1c19lbmdpbmVfcHJveHlfc2V0X2NhcGFiaWxpdGllcyAoY29udGV4dC0+ZW5n aW5lLCBjb250ZXh0LT5jYXBhYmlsaXRpZXMpOworLSAgICAgICAgICAgIGJ1c19lbmdpbmVfcHJv eHlfc2V0X2N1cnNvcl9sb2NhdGlvbiAoY29udGV4dC0+ZW5naW5lLCBjb250ZXh0LT54LCBjb250 ZXh0LT55LCBjb250ZXh0LT53LCBjb250ZXh0LT5oKTsKKy0gICAgICAgICAgICBidXNfZW5naW5l X3Byb3h5X3NldF9jb250ZW50X3R5cGUgKGNvbnRleHQtPmVuZ2luZSwgY29udGV4dC0+cHVycG9z ZSwgY29udGV4dC0+aGludHMpOworKyAgICAgICAgICAgIGJ1c19lbmdpbmVfcHJveHlfc2V0X2Nh cGFiaWxpdGllcyAoY29udGV4dC0+ZW5naW5lLCAKKysgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQtPmNhcGFiaWxpdGllcyk7CisrICAgICAgICAg ICAgYnVzX2VuZ2luZV9wcm94eV9zZXRfY3Vyc29yX2xvY2F0aW9uIChjb250ZXh0LT5lbmdpbmUs CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250 ZXh0LT54LAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgY29udGV4dC0+eSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGNvbnRleHQtPncsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBjb250ZXh0LT5oKTsKKysgICAgICAgICAgICBidXNfZW5naW5lX3By b3h5X3NldF9jb250ZW50X3R5cGUgKGNvbnRleHQtPmVuZ2luZSwKKysgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQtPnB1cnBvc2UsCisrICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0LT5oaW50cyk7 CisgICAgICAgICB9CisgICAgIH0KKyAgICAgZ19zaWduYWxfZW1pdCAoY29udGV4dCwKK0BAIC0y Nzc5LDcgKzI4ODgsOCBAQCBidXNfaW5wdXRfY29udGV4dF9zZXRfY2FwYWJpbGl0aWVzIChCdXNJ bnB1dENvbnRleHQgICAgKmNvbnRleHQsCisgeworICAgICBnX2Fzc2VydCAoQlVTX0lTX0lOUFVU X0NPTlRFWFQgKGNvbnRleHQpKTsKKyAKKy0gICAgLyogSWYgdGhlIGNvbnRleHQgZG9lcyBub3Qg c3VwcG9ydCBJQlVTX0NBUF9GT0NVUywgdGhlbiB0aGUgY2xpZW50IGFwcGxpY2F0aW9uIGhhdmUg dG8gaGFuZGxlIGFsbCBpbmZvcm1hdGlvbiBzdWNoIGFzCisrICAgIC8qIElmIHRoZSBjb250ZXh0 IGRvZXMgbm90IHN1cHBvcnQgSUJVU19DQVBfRk9DVVMsIHRoZW4gdGhlIGNsaWVudAorKyAgICAg KiBhcHBsaWNhdGlvbiBoYXZlIHRvIGhhbmRsZSBhbGwgaW5mb3JtYXRpb24gc3VjaCBhcworICAg ICAgKiBwcmVlZGl0IGFuZCBhdXhpbGlhcnkgdGV4dC4gKi8KKyAgICAgaWYgKChjYXBhYmlsaXRp ZXMgJiBJQlVTX0NBUF9GT0NVUykgPT0gMCkgeworICAgICAgICAgY2FwYWJpbGl0aWVzIHw9IChJ QlVTX0NBUF9QUkVFRElUX1RFWFQgfCBJQlVTX0NBUF9BVVhJTElBUllfVEVYVCB8IElCVVNfQ0FQ X0xPT0tVUF9UQUJMRSB8IElCVVNfQ0FQX1BST1BFUlRZKTsKKy0tIAorMi40MS4wCisKK0Zyb20g MzY3MGZhZjc0YTdiNDU5NGNlZGEzYjRhOGMwMTUxNTg0MGNjMTk5MSBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKK0Zyb206IGZ1aml3YXJhdCA8dGFrYW8uZnVqaXdhcmExQGdtYWlsLmNvbT4KK0Rh dGU6IFdlZCwgMTIgSnVsIDIwMjMgMDc6NTA6MjIgKzA5MDAKK1N1YmplY3Q6IFtQQVRDSCAyLzNd IHNyYzogRml4IHN5bmMgaWJ1c19pbnB1dF9jb250ZXh0X3Byb2Nlc3Nfa2V5X2V2ZW50KCkKKwor VGhlIHN5bmNocm9ub3VzICJQcm9jZXNzS2V5RXZlbnQiIEQtQnVzIG1ldGhvZCBjYW5ub3QgcmVj ZWl2ZQorIkNvbW1pdFRleHQiIGFuZCAiRm9yd2FyZEtleUV2ZW50IiBELUJ1cyBzaWduYWxzIGR1 cmluZyBjYWxsaW5nIHRoZSBtZXRob2QuCitUbyByZXNvbHZlIHRoZSBpc3N1ZSwgbm93CitpYnVz X2lucHV0X2NvbnRleHRfc2V0X3Bvc3RfcHJvY2Vzc19rZXlfZXZlbnQoKSBhbmQKK2lidXNfaW5w dXRfY29udGV4dF9wb3N0X3Byb2Nlc3Nfa2V5X2V2ZW50KCkgYXJlIGFkZGVkIG5ld2x5LgorCitp YnVzX2lucHV0X2NvbnRleHRfcG9zdF9wcm9jZXNzX2tleV9ldmVudCgpIHJldHJpZXMgIkNvbW1p dFRleHQiIGFuZAorIkZvcndhcmRLZXlFdmVudCIgRC1CdXMgc2lnbmFscyBkdXJpbmcgY2FsbGlu ZyB0aGUgIlByb2Nlc3NLZXlFdmVudCIgRC1CdXMKK21ldGhvZCBhbmQgaWJ1cy1kYWVtb24gZG9l cyBub3QgaGFuZGxlIHRob3NlIHNpZ25hbHMuCisKKyJTaW5jZTogMS41LjAwIiBpcyBhZGRlZCBp biBoZWFkZXIgZmlsZXMgdG8gYXZhaWxhYmxlIEFQSXMgYmVmb3JlIDEuNS4yOQoraXMgcmVsZWFz ZWQuIFdpbGwgdGhpbmsgbGF0ZXIgaG93IHRvIGNvbnZlcnQgdGhlIHZlcnNpb24gY29tbWVudHMg dG9nZXRoZXIKK3doZW4gdGhlIG5ldyB2ZXJzaW9uIDEuNS4yOSBpcyBjb21taXR0ZWQuCisKK0JV Rz1odHRwczovL2dpdGh1Yi5jb20vaWJ1cy9pYnVzL2lzc3Vlcy8yNDg2CistLS0KKyBidXMvaW5w dXRjb250ZXh0LmMgICAgICAgICAgfCAyNTIgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KystLS0tCisgY2xpZW50L2d0azIvaWJ1c2ltY29udGV4dC5jIHwgMjI1ICsrKysrKysrKysrKysr KysrKysrKystLS0tLS0tLS0tCisgc3JjL2lidXNpbnB1dGNvbnRleHQuYyAgICAgIHwgMTYyICsr KysrKysrKysrKysrKysrKysrKy0tCisgc3JjL2lidXNpbnB1dGNvbnRleHQuaCAgICAgIHwgIDM2 ICsrKysrLQorIDQgZmlsZXMgY2hhbmdlZCwgNTY3IGluc2VydGlvbnMoKyksIDEwOCBkZWxldGlv bnMoLSkKKworZGlmZiAtLWdpdCBhL2J1cy9pbnB1dGNvbnRleHQuYyBiL2J1cy9pbnB1dGNvbnRl eHQuYworaW5kZXggOGFkZWQ1ZDguLjRkMWZiMDQxIDEwMDY0NAorLS0tIGEvYnVzL2lucHV0Y29u dGV4dC5jCisrKysgYi9idXMvaW5wdXRjb250ZXh0LmMKK0BAIC0zMSw2ICszMSw4IEBACisgI2lu Y2x1ZGUgIm1hcnNoYWxlcnMuaCIKKyAjaW5jbHVkZSAidHlwZXMuaCIKKyAKKysjZGVmaW5lIE1B WF9TWU5DX0RBVEEgMzAKKysKKyBzdHJ1Y3QgX1NldEVuZ2luZUJ5RGVzY0RhdGEgeworICAgICAv KiBjb250ZXh0IHJlbGF0ZWQgdG8gdGhlIGRhdGEgKi8KKyAgICAgQnVzSW5wdXRDb250ZXh0ICpj b250ZXh0OworQEAgLTQ2LDYgKzQ4LDExIEBAIHN0cnVjdCBfU2V0RW5naW5lQnlEZXNjRGF0YSB7 CisgfTsKKyB0eXBlZGVmIHN0cnVjdCBfU2V0RW5naW5lQnlEZXNjRGF0YSBTZXRFbmdpbmVCeURl c2NEYXRhOworIAorK3R5cGVkZWYgc3RydWN0IF9TeW5jRm9yd2FyZGluZ0RhdGEgeworKyAgICBn Y2hhciAgICAga2V5OworKyAgICBJQnVzVGV4dCAqdGV4dDsKKyt9IFN5bmNGb3J3YXJkaW5nRGF0 YTsKKysKKyBzdHJ1Y3QgX0J1c0lucHV0Q29udGV4dCB7CisgICAgIElCdXNTZXJ2aWNlIHBhcmVu dDsKKyAKK0BAIC05OSw2ICsxMDYsOSBAQCBzdHJ1Y3QgX0J1c0lucHV0Q29udGV4dCB7CisgCisg ICAgIEJ1c1BhbmVsUHJveHkgKmVtb2ppX2V4dGVuc2lvbjsKKyAgICAgZ2Jvb2xlYW4gaXNfZXh0 ZW5zaW9uX2xvb2t1cF90YWJsZTsKKysgICAgR1F1ZXVlICpxdWV1ZV9kdXJpbmdfcHJvY2Vzc19r ZXlfZXZlbnQ7CisrICAgIGdib29sZWFuIHVzZV9wb3N0X3Byb2Nlc3Nfa2V5X2V2ZW50OworKyAg ICBnYm9vbGVhbiBwcm9jZXNzaW5nX2tleV9ldmVudDsKKyB9OworIAorIHN0cnVjdCBfQnVzSW5w dXRDb250ZXh0Q2xhc3MgeworQEAgLTE1Niw2ICsxNjYsMTUgQEAgc3RhdGljIHZvaWQgICAgIGJ1 c19pbnB1dF9jb250ZXh0X3NlcnZpY2VfbWV0aG9kX2NhbGwKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBjb25zdCBnY2hhciAgICAgICAgICAgKm1ldGhvZF9uYW1lLAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdWYXJpYW50ICAgICAgICAgICAgICAq cGFyYW1ldGVycywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHREJ1c01l dGhvZEludm9jYXRpb24gKmludm9jYXRpb24pOworK3N0YXRpYyBHVmFyaWFudCAqCisrICAgICAg ICAgICAgICAgIGJ1c19pbnB1dF9jb250ZXh0X3NlcnZpY2VfZ2V0X3Byb3BlcnR5CisrICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoSUJ1c1NlcnZpY2UgICAgICAgICAgICpzZXJ2 aWNlLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdEQnVzQ29ubmVjdGlv biAgICAgICAqY29ubmVjdGlvbiwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBjb25zdCBnY2hhciAgICAgICAgICAgKnNlbmRlciwKKysgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBjb25zdCBnY2hhciAgICAgICAgICAgKm9iamVjdF9wYXRoLAorKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdjaGFyICAgICAgICAgICAqaW50 ZXJmYWNlX25hbWUsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg Z2NoYXIgICAgICAgICAgICpwcm9wZXJ0eV9uYW1lLAorKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIEdFcnJvciAgICAgICAgICAgICAgICoqZXJyb3IpOworIHN0YXRpYyBnYm9v bGVhbiBidXNfaW5wdXRfY29udGV4dF9zZXJ2aWNlX3NldF9wcm9wZXJ0eQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgKElCdXNTZXJ2aWNlICAgICAgICAgICAqc2VydmljZSwK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHREJ1c0Nvbm5lY3Rpb24gICAg ICAgKmNvbm5lY3Rpb24sCitAQCAtMjE1LDggKzIzNCwyMSBAQCBzdGF0aWMgY29uc3QgZ2NoYXIg aW50cm9zcGVjdGlvbl94bWxbXSA9CisgICAgICI8bm9kZT5cbiIKKyAgICAgIiAgPGludGVyZmFj ZSBuYW1lPSdvcmcuZnJlZWRlc2t0b3AuSUJ1cy5JbnB1dENvbnRleHQnPlxuIgorICAgICAvKiBw cm9wZXJ0aWVzICovCisrICAgICIgICAgPHByb3BlcnR5IG5hbWU9J1Bvc3RQcm9jZXNzS2V5RXZl bnQnIHR5cGU9JyhhKHl2KSknIGFjY2Vzcz0ncmVhZCc+XG4iCisrICAgICIgICAgICA8YW5ub3Rh dGlvbiBuYW1lPSdvcmcuZ3RrLkdEQnVzLlNpbmNlJ1xuIgorKyAgICAiICAgICAgICAgIHZhbHVl PScxLjUuMjknIC8+XG4iCisrICAgICIgICAgICA8YW5ub3RhdGlvbiBuYW1lPSdvcmcuZ3RrLkdE QnVzLkRvY1N0cmluZydcbiIKKysgICAgIiAgICAgICAgICB2YWx1ZT0nU3RhYmlsaXR5OiBVbnN0 YWJsZScgLz5cbiIKKysgICAgIiAgICA8L3Byb3BlcnR5PlxuIgorICAgICAiICAgIDxwcm9wZXJ0 eSBuYW1lPSdDb250ZW50VHlwZScgdHlwZT0nKHV1KScgYWNjZXNzPSd3cml0ZScgLz5cbiIKKyAg ICAgIiAgICA8cHJvcGVydHkgbmFtZT0nQ2xpZW50Q29tbWl0UHJlZWRpdCcgdHlwZT0nKGIpJyBh Y2Nlc3M9J3dyaXRlJyAvPlxuIgorKyAgICAiICAgIDxwcm9wZXJ0eSBuYW1lPSdFZmZlY3RpdmVQ b3N0UHJvY2Vzc0tleUV2ZW50JyB0eXBlPScoYiknIFxuIgorKyAgICAiICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY2Nlc3M9J3dyaXRlJz5cbiIKKysg ICAgIiAgICAgIDxhbm5vdGF0aW9uIG5hbWU9J29yZy5ndGsuR0RCdXMuU2luY2UnXG4iCisrICAg ICIgICAgICAgICAgdmFsdWU9JzEuNS4yOScgLz5cbiIKKysgICAgIiAgICAgIDxhbm5vdGF0aW9u IG5hbWU9J29yZy5ndGsuR0RCdXMuRG9jU3RyaW5nJ1xuIgorKyAgICAiICAgICAgICAgIHZhbHVl PSdTdGFiaWxpdHk6IFVuc3RhYmxlJyAvPlxuIgorKyAgICAiICAgIDwvcHJvcGVydHk+XG4iCisg ICAgIC8qIG1ldGhvZHMgKi8KKyAgICAgIiAgICA8bWV0aG9kIG5hbWU9J1Byb2Nlc3NLZXlFdmVu dCc+XG4iCisgICAgICIgICAgICA8YXJnIGRpcmVjdGlvbj0naW4nICB0eXBlPSd1JyBuYW1lPSdr ZXl2YWwnIC8+XG4iCitAQCAtMzUzLDYgKzM4NSw4IEBAIGJ1c19pbnB1dF9jb250ZXh0X2NsYXNz X2luaXQgKEJ1c0lucHV0Q29udGV4dENsYXNzICpjbGFzcykKKyAgICAgLyogb3ZlcnJpZGUgdGhl IHBhcmVudCBjbGFzcydzIGltcGxlbWVudGF0aW9uLiAqLworICAgICBJQlVTX1NFUlZJQ0VfQ0xB U1MgKGNsYXNzKS0+c2VydmljZV9tZXRob2RfY2FsbCA9CisgICAgICAgICBidXNfaW5wdXRfY29u dGV4dF9zZXJ2aWNlX21ldGhvZF9jYWxsOworKyAgICBJQlVTX1NFUlZJQ0VfQ0xBU1MgKGNsYXNz KS0+c2VydmljZV9nZXRfcHJvcGVydHkgPQorKyAgICAgICAgYnVzX2lucHV0X2NvbnRleHRfc2Vy dmljZV9nZXRfcHJvcGVydHk7CisgICAgIElCVVNfU0VSVklDRV9DTEFTUyAoY2xhc3MpLT5zZXJ2 aWNlX3NldF9wcm9wZXJ0eSA9CisgICAgICAgICBidXNfaW5wdXRfY29udGV4dF9zZXJ2aWNlX3Nl dF9wcm9wZXJ0eTsKKyAgICAgLyogcmVnaXN0ZXIgdGhlIHhtbCBzbyB0aGF0IGJ1c19pYnVzX2lt cGxfc2VydmljZV9tZXRob2RfY2FsbCB3aWxsIGJlCitAQCAtNzgyLDYgKzgxNiwxMSBAQCBidXNf aW5wdXRfY29udGV4dF9wcm9wZXJ0eV9jaGFuZ2VkIChCdXNJbnB1dENvbnRleHQgKmNvbnRleHQs CisgfQorIAorIAorK3R5cGVkZWYgc3RydWN0IF9QYW5lbFByb2Nlc3NLZXlFdmVudERhdGEgewor KyAgICBHREJ1c01ldGhvZEludm9jYXRpb24gKmludm9jYXRpb247CisrICAgIEJ1c0lucHV0Q29u dGV4dCAqY29udGV4dDsKKyt9IFBhbmVsUHJvY2Vzc0tleUV2ZW50RGF0YTsKKysKKyAvKioKKyAg KiBfcGFuZWxfcHJvY2Vzc19rZXlfZXZlbnRfY2I6CisgICoKK0BAIC03ODksMTQgKzgyOCwyMSBA QCBidXNfaW5wdXRfY29udGV4dF9wcm9wZXJ0eV9jaGFuZ2VkIChCdXNJbnB1dENvbnRleHQgKmNv bnRleHQsCisgICogYnVzX3BhbmVsX3Byb3h5X3Byb2Nlc3Nfa2V5X2V2ZW50KCkgaXMgZmluaXNo ZWQuCisgICovCisgc3RhdGljIHZvaWQKKy1fcGFuZWxfcHJvY2Vzc19rZXlfZXZlbnRfY2IgKEdP YmplY3QgICAgICAgICAgICAgICAqc291cmNlLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgR0FzeW5jUmVzdWx0ICAgICAgICAgICpyZXMsCistICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBHREJ1c01ldGhvZEludm9jYXRpb24gKmludm9jYXRpb24pCisrX3BhbmVsX3Byb2Nlc3Nf a2V5X2V2ZW50X2NiIChHT2JqZWN0ICAgICAgICAgICAgICAgICAgKnNvdXJjZSwKKysgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIEdBc3luY1Jlc3VsdCAgICAgICAgICAgICAqcmVzLAorKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgUGFuZWxQcm9jZXNzS2V5RXZlbnREYXRhICpkYXRh KQorIHsKKyAgICAgR0Vycm9yICplcnJvciA9IE5VTEw7CisgICAgIEdWYXJpYW50ICp2YWx1ZSA9 IGdfZGJ1c19wcm94eV9jYWxsX2ZpbmlzaCAoKEdEQnVzUHJveHkgKilzb3VyY2UsCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcywKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmVycm9yKTsKKysgICAg R0RCdXNNZXRob2RJbnZvY2F0aW9uICppbnZvY2F0aW9uOworKyAgICBCdXNJbnB1dENvbnRleHQg KmNvbnRleHQ7CisrCisrICAgIGdfYXNzZXJ0IChkYXRhKTsKKysgICAgaW52b2NhdGlvbiA9IGRh dGEtPmludm9jYXRpb247CisrICAgIGNvbnRleHQgPSBkYXRhLT5jb250ZXh0OworKyAgICBnX3Ns aWNlX2ZyZWUgKFBhbmVsUHJvY2Vzc0tleUV2ZW50RGF0YSwgZGF0YSk7CisgICAgIGlmICh2YWx1 ZSAhPSBOVUxMKSB7CisgICAgICAgICBnX2RidXNfbWV0aG9kX2ludm9jYXRpb25fcmV0dXJuX3Zh bHVlIChpbnZvY2F0aW9uLCB2YWx1ZSk7CisgICAgICAgICBnX3ZhcmlhbnRfdW5yZWYgKHZhbHVl KTsKK0BAIC04MDUsNiArODUxLDcgQEAgX3BhbmVsX3Byb2Nlc3Nfa2V5X2V2ZW50X2NiIChHT2Jq ZWN0ICAgICAgICAgICAgICAgKnNvdXJjZSwKKyAgICAgICAgIGdfZGJ1c19tZXRob2RfaW52b2Nh dGlvbl9yZXR1cm5fZ2Vycm9yIChpbnZvY2F0aW9uLCBlcnJvcik7CisgICAgICAgICBnX2Vycm9y X2ZyZWUgKGVycm9yKTsKKyAgICAgfQorKyAgICBjb250ZXh0LT5wcm9jZXNzaW5nX2tleV9ldmVu dCA9IEZBTFNFOworIH0KKyAKKyB0eXBlZGVmIHN0cnVjdCBfUHJvY2Vzc0tleUV2ZW50RGF0YSBQ cm9jZXNzS2V5RXZlbnREYXRhOworQEAgLTg0MSwyMSArODg4LDI3IEBAIF9pY19wcm9jZXNzX2tl eV9ldmVudF9yZXBseV9jYiAoR09iamVjdCAgICAgICAgICAgICAgICpzb3VyY2UsCisgICAgICAg ICBnYm9vbGVhbiByZXR2YWwgPSBGQUxTRTsKKyAgICAgICAgIGdfdmFyaWFudF9nZXQgKHZhbHVl LCAiKGIpIiwgJnJldHZhbCk7CisgICAgICAgICBpZiAoY29udGV4dC0+ZW1vamlfZXh0ZW5zaW9u ICYmICFyZXR2YWwpIHsKKysgICAgICAgICAgICBQYW5lbFByb2Nlc3NLZXlFdmVudERhdGEgKnBk YXRhID0KKysgICAgICAgICAgICAgICAgICAgIGdfc2xpY2VfbmV3IChQYW5lbFByb2Nlc3NLZXlF dmVudERhdGEpOworKyAgICAgICAgICAgIHBkYXRhLT5pbnZvY2F0aW9uID0gaW52b2NhdGlvbjsK KysgICAgICAgICAgICBwZGF0YS0+Y29udGV4dCA9IGNvbnRleHQ7CisgICAgICAgICAgICAgYnVz X3BhbmVsX3Byb3h5X3Byb2Nlc3Nfa2V5X2V2ZW50IChjb250ZXh0LT5lbW9qaV9leHRlbnNpb24s CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXl2YWws CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXljb2Rl LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kaWZp ZXJzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKEdB c3luY1JlYWR5Q2FsbGJhY2spCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIF9wYW5lbF9wcm9jZXNzX2tleV9ldmVudF9jYiwKKy0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludm9jYXRpb24pOworKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGRhdGEpOworICAgICAg ICAgfSBlbHNlIHsKKyAgICAgICAgICAgICBnX2RidXNfbWV0aG9kX2ludm9jYXRpb25fcmV0dXJu X3ZhbHVlIChpbnZvY2F0aW9uLCB2YWx1ZSk7CisrICAgICAgICAgICAgY29udGV4dC0+cHJvY2Vz c2luZ19rZXlfZXZlbnQgPSBGQUxTRTsKKyAgICAgICAgIH0KKyAgICAgICAgIGdfdmFyaWFudF91 bnJlZiAodmFsdWUpOworICAgICB9CisgICAgIGVsc2UgeworICAgICAgICAgZ19kYnVzX21ldGhv ZF9pbnZvY2F0aW9uX3JldHVybl9nZXJyb3IgKGludm9jYXRpb24sIGVycm9yKTsKKyAgICAgICAg IGdfZXJyb3JfZnJlZSAoZXJyb3IpOworKyAgICAgICAgY29udGV4dC0+cHJvY2Vzc2luZ19rZXlf ZXZlbnQgPSBGQUxTRTsKKyAgICAgfQorIAorICAgICBnX29iamVjdF91bnJlZiAoY29udGV4dCk7 CitAQCAtODc3LDYgKzkzMCw4IEBAIF9pY19wcm9jZXNzX2tleV9ldmVudCAoQnVzSW5wdXRDb250 ZXh0ICAgICAgICpjb250ZXh0LAorICAgICBndWludCBrZXljb2RlID0gMDsKKyAgICAgZ3VpbnQg bW9kaWZpZXJzID0gMDsKKyAKKysgICAgaWYgKGNvbnRleHQtPnVzZV9wb3N0X3Byb2Nlc3Nfa2V5 X2V2ZW50KQorKyAgICAgICAgY29udGV4dC0+cHJvY2Vzc2luZ19rZXlfZXZlbnQgPSBUUlVFOwor ICAgICBnX3ZhcmlhbnRfZ2V0IChwYXJhbWV0ZXJzLCAiKHV1dSkiLCAma2V5dmFsLCAma2V5Y29k ZSwgJm1vZGlmaWVycyk7CisgICAgIGlmIChHX1VOTElLRUxZICghY29udGV4dC0+aGFzX2ZvY3Vz KSkgeworICAgICAgICAgLyogd29ya2Fyb3VuZDogc2V0IGZvY3VzIGlmIGNvbnRleHQgZG9lcyBu b3QgaGF2ZSBmb2N1cyAqLworQEAgLTEzNzIsMTcgKzE0MjcsMTA5IEBAIGJ1c19pbnB1dF9jb250 ZXh0X3NlcnZpY2VfbWV0aG9kX2NhbGwgKElCdXNTZXJ2aWNlICAgICAgICAgICAgKnNlcnZpY2Us CisgICAgIGdfcmV0dXJuX2lmX3JlYWNoZWQgKCk7CisgfQorIAorLXN0YXRpYyB2b2lkCisrLyoq CisrICogX2ljX2dldF9wb3N0X3Byb2Nlc3Nfa2V5X2V2ZW50OgorKyAqCisrICogSW1wbGVtZW50 IHRoZSAiUG9zdFByb2Nlc3NLZXlFdmVudCIgZ2V0IHByb3BlcnR5IG9mIHRoZQorKyAqIG9yZy5m cmVlZGVza3RvcC5JQnVzLklucHV0Q29udGV4dCBpbnRlcmZhY2UgYmVjYXVzZSBjdXJyZW50bHkg dGhlIEdpbworKyAqIEQtQnVzIG1ldGhvZCBjYWxscyBkb24ndCBzdXBwb3J0IG11bHRpcGxlIG5l c3RlZCB0dXBsZXMgbGlrZXMKKysgKiBHX1ZBUklBTlRfVFlQRSAoIigoYmEoeXYpKSkiKSkgaW4g IlByb2Nlc3NLZXlFdmVudCIgRC1CdXMgbWV0aG9kCisrICogU28gdGhlc2UgcG9zdCBldmVudHMg YXJlIHNlcGFyYXRlZCBmcm9tIHRoZSByZXR1cm4gdmFsdWUgImIiIG9mCisrICogdGhlICJQcm9j ZXNzS2V5RXZlbnQiIEQtQnVzIG1ldGhvZCBjYWxsLgorKyAqLworK3N0YXRpYyBHVmFyaWFudCAq CisrX2ljX2dldF9wb3N0X3Byb2Nlc3Nfa2V5X2V2ZW50IChCdXNJbnB1dENvbnRleHQgKmNvbnRl eHQsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHREJ1c0Nvbm5lY3Rpb24gKmNv bm5lY3Rpb24sCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHRXJyb3IgICAgICAg ICAqKmVycm9yKQorK3sKKysgICAgY29uc3QgY2hhciAqZXJyb3JfbWVzc2FnZSA9IE5VTEw7Cisr ICAgIEdWYXJpYW50QnVpbGRlciBhcnJheTsKKysgICAgU3luY0ZvcndhcmRpbmdEYXRhICpkYXRh OworKworKyAgICBkbyB7CisrICAgICAgICBpZiAoIUJVU19JU19JTlBVVF9DT05URVhUIChjb250 ZXh0KSkgeworKyAgICAgICAgICAgIGVycm9yX21lc3NhZ2UgPSAiQnVzSW5wdXRDb250ZXh0IGlz IGZyZWVkIjsKKysgICAgICAgICAgICBicmVhazsKKysgICAgICAgIH0KKysgICAgICAgIGlmIChj b250ZXh0LT5wcm9jZXNzaW5nX2tleV9ldmVudCkgeworKyAgICAgICAgICAgIGVycm9yX21lc3Nh Z2UgPSAiQW5vdGhlciBQcm9jZXNzS2V5RXZlbnQgaXMgY2FsbGVkLiI7CisrICAgICAgICAgICAg YnJlYWs7CisrICAgICAgICB9CisrICAgICAgICBnX3ZhcmlhbnRfYnVpbGRlcl9pbml0ICgmYXJy YXksIEdfVkFSSUFOVF9UWVBFICgiYSh5dikiKSk7CisrICAgICAgICB3aGlsZSAoKGRhdGEgPQor KyAgICAgICAgICAgICAgICBnX3F1ZXVlX3BvcF9oZWFkIChjb250ZXh0LT5xdWV1ZV9kdXJpbmdf cHJvY2Vzc19rZXlfZXZlbnQpKSkgeworKyAgICAgICAgICAgIEdWYXJpYW50ICp2YXJpYW50ID0g aWJ1c19zZXJpYWxpemFibGVfc2VyaWFsaXplX29iamVjdCAoCisrICAgICAgICAgICAgICAgICAg ICBJQlVTX1NFUklBTElaQUJMRSAoZGF0YS0+dGV4dCkpOworKyAgICAgICAgICAgIGdfdmFyaWFu dF9idWlsZGVyX2FkZCAoJmFycmF5LCAiKHl2KSIsIGRhdGEtPmtleSwgdmFyaWFudCk7CisrICAg ICAgICAgICAgZ19vYmplY3RfdW5yZWYgKGRhdGEtPnRleHQpOworKyAgICAgICAgICAgIGdfc2xp Y2VfZnJlZSAoU3luY0ZvcndhcmRpbmdEYXRhLCBkYXRhKTsKKysgICAgICAgIH0KKysgICAgfSB3 aGlsZSAoRkFMU0UpOworKyAgICBpZiAoZXJyb3JfbWVzc2FnZSkgeworKyAgICAgICAgZ19zZXRf ZXJyb3IgKGVycm9yLAorKyAgICAgICAgICAgICAgICAgICAgIEdfREJVU19FUlJPUiwKKysgICAg ICAgICAgICAgICAgICAgICBHX0RCVVNfRVJST1JfRkFJTEVELAorKyAgICAgICAgICAgICAgICAg ICAgICIlcyIsIGVycm9yX21lc3NhZ2UpOworKyAgICAgICAgcmV0dXJuIE5VTEw7CisrICAgIH0K KysgICAgcmV0dXJuIGdfdmFyaWFudF9idWlsZGVyX2VuZCAoJmFycmF5KTsKKyt9CisrCisrc3Rh dGljIEdWYXJpYW50ICoKKytidXNfaW5wdXRfY29udGV4dF9zZXJ2aWNlX2dldF9wcm9wZXJ0eSAo SUJ1c1NlcnZpY2UgICAgICAgICAgICpzZXJ2aWNlLAorKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBHREJ1c0Nvbm5lY3Rpb24gICAgICAgKmNvbm5lY3Rpb24sCisrICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdjaGFyICAgICAgICAg ICAqc2VuZGVyLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z dCBnY2hhciAgICAgICAgICAgKm9iamVjdF9wYXRoLAorKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBjb25zdCBnY2hhciAgICAgICAgICAgKmludGVyZmFjZV9uYW1lLAor KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBnY2hhciAgICAg ICAgICAgKnByb3BlcnR5X25hbWUsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIEdFcnJvciAgICAgICAgICAgICAgICoqZXJyb3IpCisreworKyAgICBpbnQgaTsKKysg ICAgc3RhdGljIGNvbnN0IHN0cnVjdCB7CisrICAgICAgICBjb25zdCBjaGFyICpwcm9wZXJ0eV9u YW1lOworKyAgICAgICAgR1ZhcmlhbnQgKiAoKiBwcm9wZXJ0eV9jYWxsYmFjaykgKEJ1c0lucHV0 Q29udGV4dCAqLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdE QnVzQ29ubmVjdGlvbiAqLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIEdFcnJvciAqKik7CisrICAgIH0gcHJvcGVydGllcyBbXSA9ICB7CisrICAgICAgICB7ICJQ b3N0UHJvY2Vzc0tleUV2ZW50IiwgICBfaWNfZ2V0X3Bvc3RfcHJvY2Vzc19rZXlfZXZlbnQgfSwK KysgICAgfTsKKysKKysgICAgaWYgKGVycm9yKQorKyAgICAgICAgKmVycm9yID0gTlVMTDsKKysg ICAgaWYgKGdfc3RyY21wMCAoaW50ZXJmYWNlX25hbWUsIElCVVNfSU5URVJGQUNFX0lOUFVUX0NP TlRFWFQpICE9IDApIHsKKysgICAgICAgIHJldHVybiBJQlVTX1NFUlZJQ0VfQ0xBU1MgKGJ1c19p bnB1dF9jb250ZXh0X3BhcmVudF9jbGFzcyktPgorKyAgICAgICAgICAgICAgICBzZXJ2aWNlX2dl dF9wcm9wZXJ0eSAoCisrICAgICAgICAgICAgICAgICAgICAgICAgc2VydmljZSwgY29ubmVjdGlv biwgc2VuZGVyLCBvYmplY3RfcGF0aCwKKysgICAgICAgICAgICAgICAgICAgICAgICBpbnRlcmZh Y2VfbmFtZSwgcHJvcGVydHlfbmFtZSwKKysgICAgICAgICAgICAgICAgICAgICAgICBlcnJvcik7 CisrICAgIH0KKysgICAgZm9yIChpID0gMDsgaSA8IEdfTl9FTEVNRU5UUyAocHJvcGVydGllcyk7 IGkrKykgeworKyAgICAgICAgaWYgKGdfc3RyY21wMCAocHJvcGVydGllc1tpXS5wcm9wZXJ0eV9u YW1lLCBwcm9wZXJ0eV9uYW1lKSA9PSAwKSB7CisrICAgICAgICAgICAgcmV0dXJuIHByb3BlcnRp ZXNbaV0ucHJvcGVydHlfY2FsbGJhY2sgKChCdXNJbnB1dENvbnRleHQgKilzZXJ2aWNlLAorKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25uZWN0 aW9uLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBlcnJvcik7CisrICAgICAgICB9CisrICAgIH0KKysKKysgICAgZ19zZXRfZXJyb3IgKGVycm9y LAorKyAgICAgICAgICAgICAgICAgR19EQlVTX0VSUk9SLAorKyAgICAgICAgICAgICAgICAgR19E QlVTX0VSUk9SX0ZBSUxFRCwKKysgICAgICAgICAgICAgICAgICJzZXJ2aWNlX2dldF9wcm9wZXJ0 eSByZWNlaXZlZCBhbiB1bmtub3duIHByb3BlcnR5OiAlcyIsCisrICAgICAgICAgICAgICAgICBw cm9wZXJ0eV9uYW1lID8gcHJvcGVydHlfbmFtZSA6ICIobnVsbCkiKTsKKysgICAgZ19yZXR1cm5f dmFsX2lmX3JlYWNoZWQgKE5VTEwpOworK30KKysKKytzdGF0aWMgZ2Jvb2xlYW4KKyBfaWNfc2V0 X2NvbnRlbnRfdHlwZSAoQnVzSW5wdXRDb250ZXh0ICpjb250ZXh0LAorLSAgICAgICAgICAgICAg ICAgICAgICBHVmFyaWFudCAgICAgICAgKnZhbHVlKQorKyAgICAgICAgICAgICAgICAgICAgICBH VmFyaWFudCAgICAgICAgKnZhbHVlLAorKyAgICAgICAgICAgICAgICAgICAgICBHRXJyb3IgICAg ICAgICAqKmVycm9yKQorIHsKKyAgICAgZ3VpbnQgcHVycG9zZSA9IDA7CisgICAgIGd1aW50IGhp bnRzID0gMDsKKysgICAgZ2Jvb2xlYW4gcmV0dmFsID0gVFJVRTsKKyAKKyAgICAgZ192YXJpYW50 X2dldCAodmFsdWUsICIodXUpIiwgJnB1cnBvc2UsICZoaW50cyk7CisgICAgIGlmIChwdXJwb3Nl ICE9IGNvbnRleHQtPnB1cnBvc2UgfHwgaGludHMgIT0gY29udGV4dC0+aGludHMpIHsKKy0gICAg ICAgIEdFcnJvciAqZXJyb3I7CistICAgICAgICBnYm9vbGVhbiByZXR2YWw7CisgCisgICAgICAg ICBjb250ZXh0LT5wdXJwb3NlID0gcHVycG9zZTsKKyAgICAgICAgIGNvbnRleHQtPmhpbnRzID0g aGludHM7CitAQCAtMTQwMCwyNCArMTU0NywzMCBAQCBfaWNfc2V0X2NvbnRlbnRfdHlwZSAoQnVz SW5wdXRDb250ZXh0ICpjb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRl eHQtPmhpbnRzKTsKKyAgICAgICAgIH0KKyAKKy0gICAgICAgIGVycm9yID0gTlVMTDsKKyAgICAg ICAgIHJldHZhbCA9IGJ1c19pbnB1dF9jb250ZXh0X3Byb3BlcnR5X2NoYW5nZWQgKGNvbnRleHQs CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAi Q29udGVudFR5cGUiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgdmFsdWUsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAmZXJyb3IpOworLSAgICAgICAgaWYgKCFyZXR2YWwpIHsKKy0gICAg ICAgICAgICBnX3dhcm5pbmcgKCJGYWlsZWQgdG8gZW1pdCBQcm9wZXJ0aWVzQ2hhbmdlZCBzaWdu YWw6ICVzIiwKKy0gICAgICAgICAgICAgICAgICAgICAgIGVycm9yLT5tZXNzYWdlKTsKKy0gICAg ICAgICAgICBnX2Vycm9yX2ZyZWUgKGVycm9yKTsKKy0gICAgICAgIH0KKysgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yKTsKKyAgICAgfQor KyAgICByZXR1cm4gcmV0dmFsOworIH0KKyAKKy1zdGF0aWMgdm9pZAorK3N0YXRpYyBnYm9vbGVh bgorIF9pY19zZXRfY2xpZW50X2NvbW1pdF9wcmVlZGl0IChCdXNJbnB1dENvbnRleHQgKmNvbnRl eHQsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdWYXJpYW50ICAgICAgICAqdmFs dWUpCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdWYXJpYW50ICAgICAgICAqdmFs dWUsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdFcnJvciAgICAgICAgICoqZXJy b3IpCisgeworICAgICBnX3ZhcmlhbnRfZ2V0ICh2YWx1ZSwgIihiKSIsICZjb250ZXh0LT5jbGll bnRfY29tbWl0X3ByZWVkaXQpOworKyAgICByZXR1cm4gVFJVRTsKKyt9CisrCisrc3RhdGljIGdi b29sZWFuCisrX2ljX3NldF91c2VfcG9zdF9wcm9jZXNzX2tleV9ldmVudCAoQnVzSW5wdXRDb250 ZXh0ICpjb250ZXh0LAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdWYXJp YW50ICAgICAgICAqdmFsdWUsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg R0Vycm9yICAgICAgICAgKiplcnJvcikKKyt7CisrICAgIGdfdmFyaWFudF9nZXQgKHZhbHVlLCAi KGIpIiwgJmNvbnRleHQtPnVzZV9wb3N0X3Byb2Nlc3Nfa2V5X2V2ZW50KTsKKysgICAgcmV0dXJu IFRSVUU7CisgfQorIAorIHN0YXRpYyBnYm9vbGVhbgorQEAgLTE0MzAsNiArMTU4MywxOCBAQCBi dXNfaW5wdXRfY29udGV4dF9zZXJ2aWNlX3NldF9wcm9wZXJ0eSAoSUJ1c1NlcnZpY2UgICAgICpz ZXJ2aWNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHVmFyaWFu dCAgICAgICAgKnZhbHVlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBHRXJyb3IgICAgICAgICAqKmVycm9yKQorIHsKKysgICAgaW50IGk7CisrICAgIHN0YXRpYyBj b25zdCBzdHJ1Y3QgeworKyAgICAgICAgY29uc3QgY2hhciAqcHJvcGVydHlfbmFtZTsKKysgICAg ICAgIGdib29sZWFuICgqIHByb3BlcnR5X2NhbGxiYWNrKSAoQnVzSW5wdXRDb250ZXh0ICosCisr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdWYXJpYW50ICosCisrICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdFcnJvciAqKik7CisrICAgIH0g cHJvcGVydGllcyBbXSA9ICB7CisrICAgICAgICB7ICJDb250ZW50VHlwZSIsICAgICAgICAgICAg ICAgICAgIF9pY19zZXRfY29udGVudF90eXBlIH0sCisrICAgICAgICB7ICJDbGllbnRDb21taXRQ cmVlZGl0IiwgICAgICAgICAgIF9pY19zZXRfY2xpZW50X2NvbW1pdF9wcmVlZGl0IH0sCisrICAg ICAgICB7ICJFZmZlY3RpdmVQb3N0UHJvY2Vzc0tleUV2ZW50IiwgIF9pY19zZXRfdXNlX3Bvc3Rf cHJvY2Vzc19rZXlfZXZlbnQgfSwKKysgICAgfTsKKysKKyAgICAgaWYgKGVycm9yKQorICAgICAg ICAgKmVycm9yID0gTlVMTDsKKyAgICAgaWYgKGdfc3RyY21wMCAoaW50ZXJmYWNlX25hbWUsIElC VVNfSU5URVJGQUNFX0lOUFVUX0NPTlRFWFQpICE9IDApIHsKK0BAIC0xNDYwLDE0ICsxNjI1LDEy IEBAIGJ1c19pbnB1dF9jb250ZXh0X3NlcnZpY2Vfc2V0X3Byb3BlcnR5IChJQnVzU2VydmljZSAg ICAgKnNlcnZpY2UsCisgICAgICAgICAgICAgICAgICAgICAgIiAiKTsKKyAgICAgICAgIHJldHVy biBGQUxTRTsKKyAgICAgfQorLQorLSAgICBpZiAoZ19zdHJjbXAwIChwcm9wZXJ0eV9uYW1lLCAi Q29udGVudFR5cGUiKSA9PSAwKSB7CistICAgICAgICBfaWNfc2V0X2NvbnRlbnRfdHlwZSAoQlVT X0lOUFVUX0NPTlRFWFQgKHNlcnZpY2UpLCB2YWx1ZSk7CistICAgICAgICByZXR1cm4gVFJVRTsK Ky0gICAgfQorLSAgICBpZiAoZ19zdHJjbXAwIChwcm9wZXJ0eV9uYW1lLCAiQ2xpZW50Q29tbWl0 UHJlZWRpdCIpID09IDApIHsKKy0gICAgICAgIF9pY19zZXRfY2xpZW50X2NvbW1pdF9wcmVlZGl0 IChCVVNfSU5QVVRfQ09OVEVYVCAoc2VydmljZSksIHZhbHVlKTsKKy0gICAgICAgIHJldHVybiBU UlVFOworKyAgICBmb3IgKGkgPSAwOyBpIDwgR19OX0VMRU1FTlRTIChwcm9wZXJ0aWVzKTsgaSsr KSB7CisrICAgICAgICBpZiAoZ19zdHJjbXAwIChwcm9wZXJ0aWVzW2ldLnByb3BlcnR5X25hbWUs IHByb3BlcnR5X25hbWUpID09IDApIHsKKysgICAgICAgICAgICByZXR1cm4gcHJvcGVydGllc1tp XS5wcm9wZXJ0eV9jYWxsYmFjayAoKEJ1c0lucHV0Q29udGV4dCAqKSBzZXJ2aWNlLAorKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSwKKysg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3Ip OworKyAgICAgICAgfQorICAgICB9CiAgCi0gICAgIGlmIChjb250ZXh0LT5jYXBhYmlsaXRpZXMg JiBJQlVTX0NBUF9QUk9QRVJUWSkgewotLSAgICAgICAgR1ZhcmlhbnQgKnZhcmlhbnQgPSBpYnVz X3NlcmlhbGl6YWJsZV9zZXJpYWxpemUgKChJQnVzU2VyaWFsaXphYmxlICopcHJvcCk7Ci0rICAg ICAgICBHVmFyaWFudCAqdmFyaWFudCA9Ci0rICAgICAgICAgICAgICAgIGlidXNfc2VyaWFsaXph YmxlX3NlcmlhbGl6ZSAoKElCdXNTZXJpYWxpemFibGUgKilwcm9wKTsKLSAgICAgICAgIGJ1c19p bnB1dF9jb250ZXh0X2VtaXRfc2lnbmFsIChjb250ZXh0LAotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICJVcGRhdGVQcm9wZXJ0eSIsCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgZ192YXJpYW50X25ldyAoIih2KSIsIHZhcmlhbnQpLAotQEAg LTIwODksNyArMjMyOSw4IEBAIF9lbmdpbmVfZGVzdHJveV9jYiAoQnVzRW5naW5lUHJveHkgICpl bmdpbmUsCi0gLyoqCi0gICogX2VuZ2luZV9jb21taXRfdGV4dF9jYjoKLSAgKgotLSAqIEEgZnVu Y3Rpb24gdG8gYmUgY2FsbGVkIHdoZW4gImNvbW1pdC10ZXh0IiBnbGliIHNpZ25hbCBpcyBzZW50 IHRvIHRoZSBlbmdpbmUgb2JqZWN0LgotKyAqIEEgZnVuY3Rpb24gdG8gYmUgY2FsbGVkIHdoZW4g ImNvbW1pdC10ZXh0IiBnbGliIHNpZ25hbCBpcyBzZW50IHRvIHRoZSBlbmdpbmUKLSsgKiBvYmpl Y3QuCi0gICovCi0gc3RhdGljIHZvaWQKLSBfZW5naW5lX2NvbW1pdF90ZXh0X2NiIChCdXNFbmdp bmVQcm94eSAgKmVuZ2luZSwKLUBAIC0yMTA4LDcgKzIzNDksOCBAQCBfZW5naW5lX2NvbW1pdF90 ZXh0X2NiIChCdXNFbmdpbmVQcm94eSAgKmVuZ2luZSwKLSAvKioKLSAgKiBfZW5naW5lX2Zvcndh cmRfa2V5X2V2ZW50X2NiOgotICAqCi0tICogQSBmdW5jdGlvbiB0byBiZSBjYWxsZWQgd2hlbiAi Zm9yd2FyZC1rZXktZXZlbnQiIGdsaWIgc2lnbmFsIGlzIHNlbnQgdG8gdGhlIGVuZ2luZSBvYmpl Y3QuCi0rICogQSBmdW5jdGlvbiB0byBiZSBjYWxsZWQgd2hlbiAiZm9yd2FyZC1rZXktZXZlbnQi IGdsaWIgc2lnbmFsIGlzIHNlbnQgdG8gdGhlCi0rICogZW5naW5lIG9iamVjdC4KLSAgKi8KLSBz dGF0aWMgdm9pZAotIF9lbmdpbmVfZm9yd2FyZF9rZXlfZXZlbnRfY2IgKEJ1c0VuZ2luZVByb3h5 ICAgICplbmdpbmUsCi1AQCAtMjEyMiwxNiArMjM2NCwzMyBAQCBfZW5naW5lX2ZvcndhcmRfa2V5 X2V2ZW50X2NiIChCdXNFbmdpbmVQcm94eSAgICAqZW5naW5lLAorICAgICBnX3NldF9lcnJvciAo ZXJyb3IsCitAQCAtMjIwNCw3ICsyMzY3LDIzIEBAIF9lbmdpbmVfZm9yd2FyZF9rZXlfZXZlbnRf Y2IgKEJ1c0VuZ2luZVByb3h5ICAgICplbmdpbmUsCisgICAgIGdfYXNzZXJ0IChCVVNfSVNfSU5Q VVRfQ09OVEVYVCAoY29udGV4dCkpOwogIAogICAgICBnX2Fzc2VydCAoY29udGV4dC0+ZW5naW5l ID09IGVuZ2luZSk7Ci0gCistCisrICAgIGdfYXNzZXJ0IChjb250ZXh0LT5xdWV1ZV9kdXJpbmdf cHJvY2Vzc19rZXlfZXZlbnQpOworKwogKyAgICBpZiAoY29udGV4dC0+cHJvY2Vzc2luZ19rZXlf ZXZlbnQgJiYgZ19xdWV1ZV9nZXRfbGVuZ3RoICgKICsgICAgICAgICAgICAgICAgICAgY29udGV4 dC0+cXVldWVfZHVyaW5nX3Byb2Nlc3Nfa2V5X2V2ZW50KSA8PSBNQVhfU1lOQ19EQVRBKSB7CiAr ICAgICAgICBTeW5jRm9yd2FyZGluZ0RhdGEgKmRhdGE7CkBAIC0zNDI5LDEwNyArMzgzMyw4IEBA IGluZGV4IGU3NmJiZGZjLi4yMTEwYWY4NyAxMDA2NDQKICsgICAgfQogICAgICBidXNfaW5wdXRf Y29udGV4dF9lbWl0X3NpZ25hbCAoY29udGV4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICJGb3J3YXJkS2V5RXZlbnQiLAotLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgZ192YXJpYW50X25ldyAoIih1dXUpIiwga2V5dmFsLCBrZXljb2RlLCBzdGF0ZSks Ci0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnX3ZhcmlhbnRfbmV3ICgiKHV1 dSkiLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg a2V5dmFsLCBrZXljb2RlLCBzdGF0ZSksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBOVUxMKTsKLSB9Ci0gCi0gLyoqCi0gICogX2VuZ2luZV9kZWxldGVfc3Vycm91bmRpbmdf dGV4dF9jYjoKLSAgKgotLSAqIEEgZnVuY3Rpb24gdG8gYmUgY2FsbGVkIHdoZW4gImRlbGV0ZS1z dXJyb3VuZGluZy10ZXh0IiBnbGliIHNpZ25hbCBpcyBzZW50IHRvIHRoZSBlbmdpbmUgb2JqZWN0 LgotKyAqIEEgZnVuY3Rpb24gdG8gYmUgY2FsbGVkIHdoZW4gImRlbGV0ZS1zdXJyb3VuZGluZy10 ZXh0IiBnbGliIHNpZ25hbCBpcyBzZW50Ci0rICogdG8gdGhlIGVuZ2luZSBvYmplY3QuCi0gICov Ci0gc3RhdGljIHZvaWQKLSBfZW5naW5lX2RlbGV0ZV9zdXJyb3VuZGluZ190ZXh0X2NiIChCdXNF bmdpbmVQcm94eSAgICAqZW5naW5lLAotQEAgLTIxNDYsMTQgKzI0MDUsMTYgQEAgX2VuZ2luZV9k ZWxldGVfc3Vycm91bmRpbmdfdGV4dF9jYiAoQnVzRW5naW5lUHJveHkgICAgKmVuZ2luZSwKLSAK LSAgICAgYnVzX2lucHV0X2NvbnRleHRfZW1pdF9zaWduYWwgKGNvbnRleHQsCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAiRGVsZXRlU3Vycm91bmRpbmdUZXh0IiwKLS0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdfdmFyaWFudF9uZXcgKCIoaXUpIiwgb2Zm c2V0X2Zyb21fY3Vyc29yLCBuY2hhcnMpLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgZ192YXJpYW50X25ldyAoIihpdSkiLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgb2Zmc2V0X2Zyb21fY3Vyc29yLCBuY2hhcnMpLAotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCk7Ci0gfQotIAotIC8qKgotICAq IF9lbmdpbmVfcmVxdWlyZV9zdXJyb3VuZGluZ190ZXh0X2NiOgotICAqCi0tICogQSBmdW5jdGlv biB0byBiZSBjYWxsZWQgd2hlbiAicmVxdWlyZS1zdXJyb3VuZGluZy10ZXh0IiBnbGliIHNpZ25h bCBpcyBzZW50IHRvIHRoZSBlbmdpbmUgb2JqZWN0LgotKyAqIEEgZnVuY3Rpb24gdG8gYmUgY2Fs bGVkIHdoZW4gInJlcXVpcmUtc3Vycm91bmRpbmctdGV4dCIgZ2xpYiBzaWduYWwgaXMgc2VudAot KyAqIHRvIHRoZSBlbmdpbmUgb2JqZWN0LgotICAqLwotIHN0YXRpYyB2b2lkCi0gX2VuZ2luZV9y ZXF1aXJlX3N1cnJvdW5kaW5nX3RleHRfY2IgKEJ1c0VuZ2luZVByb3h5ICAgICplbmdpbmUsCi1A QCAtMjE3Myw3ICsyNDM0LDggQEAgX2VuZ2luZV9yZXF1aXJlX3N1cnJvdW5kaW5nX3RleHRfY2Ig KEJ1c0VuZ2luZVByb3h5ICAgICplbmdpbmUsCi0gLyoqCi0gICogX2VuZ2luZV91cGRhdGVfcHJl ZWRpdF90ZXh0X2NiOgotICAqCi0tICogQSBmdW5jdGlvbiB0byBiZSBjYWxsZWQgd2hlbiAidXBk YXRlLXByZWVkaXQtdGV4dCIgZ2xpYiBzaWduYWwgaXMgc2VudCB0byB0aGUgZW5naW5lIG9iamVj dC4KLSsgKiBBIGZ1bmN0aW9uIHRvIGJlIGNhbGxlZCB3aGVuICJ1cGRhdGUtcHJlZWRpdC10ZXh0 IiBnbGliIHNpZ25hbCBpcyBzZW50IHRvCi0rICogdGhlIGVuZ2luZSBvYmplY3QuCi0gICovCi0g c3RhdGljIHZvaWQKLSBfZW5naW5lX3VwZGF0ZV9wcmVlZGl0X3RleHRfY2IgKEJ1c0VuZ2luZVBy b3h5ICAqZW5naW5lLAotQEAgLTIxOTcsNyArMjQ1OSw4IEBAIF9lbmdpbmVfdXBkYXRlX3ByZWVk aXRfdGV4dF9jYiAoQnVzRW5naW5lUHJveHkgICplbmdpbmUsCi0gLyoqCi0gICogX2VuZ2luZV91 cGRhdGVfYXV4aWxpYXJ5X3RleHRfY2I6Ci0gICoKLS0gKiBBIGZ1bmN0aW9uIHRvIGJlIGNhbGxl ZCB3aGVuICJ1cGRhdGUtYXV4aWxpYXJ5LXRleHQiIGdsaWIgc2lnbmFsIGlzIHNlbnQgdG8gdGhl IGVuZ2luZSBvYmplY3QuCi0rICogQSBmdW5jdGlvbiB0byBiZSBjYWxsZWQgd2hlbiAidXBkYXRl LWF1eGlsaWFyeS10ZXh0IiBnbGliIHNpZ25hbCBpcyBzZW50IHRvCi0rICogdGhlIGVuZ2luZSBv YmplY3QuCi0gICovCi0gc3RhdGljIHZvaWQKLSBfZW5naW5lX3VwZGF0ZV9hdXhpbGlhcnlfdGV4 dF9jYiAoQnVzRW5naW5lUHJveHkgICAqZW5naW5lLAotQEAgLTIyMTcsNyArMjQ4MCw4IEBAIF9l bmdpbmVfdXBkYXRlX2F1eGlsaWFyeV90ZXh0X2NiIChCdXNFbmdpbmVQcm94eSAgICplbmdpbmUs Ci0gLyoqCi0gICogX2VuZ2luZV91cGRhdGVfbG9va3VwX3RhYmxlX2NiOgotICAqCi0tICogQSBm dW5jdGlvbiB0byBiZSBjYWxsZWQgd2hlbiAidXBkYXRlLWxvb2t1cC10YWJsZSIgZ2xpYiBzaWdu YWwgaXMgc2VudCB0byB0aGUgZW5naW5lIG9iamVjdC4KLSsgKiBBIGZ1bmN0aW9uIHRvIGJlIGNh bGxlZCB3aGVuICJ1cGRhdGUtbG9va3VwLXRhYmxlIiBnbGliIHNpZ25hbCBpcyBzZW50IHRvCi0r ICogdGhlIGVuZ2luZSBvYmplY3QuCi0gICovCi0gc3RhdGljIHZvaWQKLSBfZW5naW5lX3VwZGF0 ZV9sb29rdXBfdGFibGVfY2IgKEJ1c0VuZ2luZVByb3h5ICAgKmVuZ2luZSwKLUBAIC0yMjM3LDcg KzI1MDEsOCBAQCBfZW5naW5lX3VwZGF0ZV9sb29rdXBfdGFibGVfY2IgKEJ1c0VuZ2luZVByb3h5 ICAgKmVuZ2luZSwKLSAvKioKLSAgKiBfZW5naW5lX3JlZ2lzdGVyX3Byb3BlcnRpZXNfY2I6Ci0g ICoKLS0gKiBBIGZ1bmN0aW9uIHRvIGJlIGNhbGxlZCB3aGVuICJyZWdpc3Rlci1wcm9wZXJ0aWVz IiBnbGliIHNpZ25hbCBpcyBzZW50IHRvIHRoZSBlbmdpbmUgb2JqZWN0LgotKyAqIEEgZnVuY3Rp b24gdG8gYmUgY2FsbGVkIHdoZW4gInJlZ2lzdGVyLXByb3BlcnRpZXMiIGdsaWIgc2lnbmFsIGlz IHNlbnQgdG8KLSsgKiB0aGUgZW5naW5lIG9iamVjdC4KLSAgKi8KLSBzdGF0aWMgdm9pZAotIF9l bmdpbmVfcmVnaXN0ZXJfcHJvcGVydGllc19jYiAoQnVzRW5naW5lUHJveHkgICplbmdpbmUsCi1A QCAtMjI1Niw3ICsyNTIxLDggQEAgX2VuZ2luZV9yZWdpc3Rlcl9wcm9wZXJ0aWVzX2NiIChCdXNF bmdpbmVQcm94eSAgKmVuZ2luZSwKLSAvKioKLSAgKiBfZW5naW5lX3VwZGF0ZV9wcm9wZXJ0eV9j YjoKLSAgKgotLSAqIEEgZnVuY3Rpb24gdG8gYmUgY2FsbGVkIHdoZW4gInVwZGF0ZS1wcm9wZXJ0 eSIgZ2xpYiBzaWduYWwgaXMgc2VudCB0byB0aGUgZW5naW5lIG9iamVjdC4KLSsgKiBBIGZ1bmN0 aW9uIHRvIGJlIGNhbGxlZCB3aGVuICJ1cGRhdGUtcHJvcGVydHkiIGdsaWIgc2lnbmFsIGlzIHNl bnQgdG8gdGhlCi0rICogZW5naW5lIG9iamVjdC4KLSAgKi8KLSBzdGF0aWMgdm9pZAotIF9lbmdp bmVfdXBkYXRlX3Byb3BlcnR5X2NiIChCdXNFbmdpbmVQcm94eSAgKmVuZ2luZSwKLUBAIC0yMzQ2 LDEwICsyNjEyLDExIEBAIGJ1c19pbnB1dF9jb250ZXh0X25ldyAoQnVzQ29ubmVjdGlvbiAgICAq Y29ubmVjdGlvbiwKLSAKLSAgICAgQnVzSW5wdXRDb250ZXh0ICpjb250ZXh0ID0gTlVMTDsKLSAg ICAgaWYgKGNvbm5lY3Rpb24pIHsKLS0gICAgICAgIGNvbnRleHQgPSAoQnVzSW5wdXRDb250ZXh0 ICopIGdfb2JqZWN0X25ldyAoQlVTX1RZUEVfSU5QVVRfQ09OVEVYVCwKLS0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9iamVjdC1wYXRoIiwgcGF0 aCwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ImNvbm5lY3Rpb24iLCBidXNfY29ubmVjdGlvbl9nZXRfZGJ1c19jb25uZWN0aW9uIChjb25uZWN0 aW9uKSwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgTlVMTCk7Ci0rICAgICAgICBjb250ZXh0ID0gKEJ1c0lucHV0Q29udGV4dCAqKSBnX29iamVj dF9uZXcgKAotKyAgICAgICAgICAgICAgICBCVVNfVFlQRV9JTlBVVF9DT05URVhULAotKyAgICAg ICAgICAgICAgICAib2JqZWN0LXBhdGgiLCBwYXRoLAotKyAgICAgICAgICAgICAgICAiY29ubmVj dGlvbiIsIGJ1c19jb25uZWN0aW9uX2dldF9kYnVzX2Nvbm5lY3Rpb24gKGNvbm5lY3Rpb24pLAot KyAgICAgICAgICAgICAgICBOVUxMKTsKLSAgICAgfQotICAgICBlbHNlIHsKLSAgICAgICAgIGNv bnRleHQgPSAoQnVzSW5wdXRDb250ZXh0ICopIGdfb2JqZWN0X25ldyAoQlVTX1RZUEVfSU5QVVRf Q09OVEVYVCwKLUBAIC0yMzYyLDYgKzI2MjksNyBAQCBidXNfaW5wdXRfY29udGV4dF9uZXcgKEJ1 c0Nvbm5lY3Rpb24gICAgKmNvbm5lY3Rpb24sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBnX3ZhcmlhbnRfbmV3ICgiKHV1dSkiLAorQEAgLTI0NTUsNiArMjYzNCw3IEBAIGJ1 c19pbnB1dF9jb250ZXh0X25ldyAoQnVzQ29ubmVjdGlvbiAgICAqY29ubmVjdGlvbiwKICAKICAg ICAgLyogaXQgaXMgYSBmYWtlIGlucHV0IGNvbnRleHQsIGp1c3QgbmVlZCBwcm9jZXNzIGhvdGtl eSAqLwogICAgICBjb250ZXh0LT5mYWtlID0gKHN0cm5jbXAgKGNsaWVudCwgImZha2UiLCA0KSA9 PSAwKTsKQEAgLTM1MzcsODMgKzM4NDIsNyBAQCBpbmRleCBlNzZiYmRmYy4uMjExMGFmODcgMTAw NjQ0CiAgCiAgICAgIGlmIChjb25uZWN0aW9uKSB7CiAgICAgICAgICBnX29iamVjdF9yZWZfc2lu ayAoY29ubmVjdGlvbik7Ci1AQCAtMjQzOSwyOCArMjcwNywzNyBAQCBidXNfaW5wdXRfY29udGV4 dF9kaXNhYmxlIChCdXNJbnB1dENvbnRleHQgKmNvbnRleHQpCi0gICAgIH0KLSB9Ci0gCi0tLyog QSBsaXN0IG9mIHNpZ25hbHMgKGFuZCB0aGVpciBoYW5kbGVyIGZ1bmN0aW9ucykgdGhhdCBjb3Vs ZCBiZSBlbWl0IGJ5IHRoZSBlbmdpbmUgcHJveHkgb2JqZWN0LiAqLwotKy8qIEEgbGlzdCBvZiBz aWduYWxzIChhbmQgdGhlaXIgaGFuZGxlciBmdW5jdGlvbnMpIHRoYXQgY291bGQgYmUgZW1pdCBi eSB0aGUKLSsgKiBlbmdpbmUgcHJveHkgb2JqZWN0LgotKyAqLwotIGNvbnN0IHN0YXRpYyBzdHJ1 Y3QgewotICAgICBjb25zdCBnY2hhciAqbmFtZTsKLSAgICAgR0NhbGxiYWNrICAgIGNhbGxiYWNr OwotIH0gZW5naW5lX3NpZ25hbHMgW10gPSB7Ci0gICAgIHsgImNvbW1pdC10ZXh0IiwgICAgICAg ICAgICAgIEdfQ0FMTEJBQ0sgKF9lbmdpbmVfY29tbWl0X3RleHRfY2IpIH0sCi0gICAgIHsgImZv cndhcmQta2V5LWV2ZW50IiwgICAgICAgIEdfQ0FMTEJBQ0sgKF9lbmdpbmVfZm9yd2FyZF9rZXlf ZXZlbnRfY2IpIH0sCi0tICAgIHsgImRlbGV0ZS1zdXJyb3VuZGluZy10ZXh0IiwgIEdfQ0FMTEJB Q0sgKF9lbmdpbmVfZGVsZXRlX3N1cnJvdW5kaW5nX3RleHRfY2IpIH0sCi0tICAgIHsgInJlcXVp cmUtc3Vycm91bmRpbmctdGV4dCIsIEdfQ0FMTEJBQ0sgKF9lbmdpbmVfcmVxdWlyZV9zdXJyb3Vu ZGluZ190ZXh0X2NiKSB9LAotKyAgICB7ICJkZWxldGUtc3Vycm91bmRpbmctdGV4dCIsCi0rICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgR19DQUxMQkFDSyAoX2VuZ2luZV9kZWxldGVfc3Vy cm91bmRpbmdfdGV4dF9jYikgfSwKLSsgICAgeyAicmVxdWlyZS1zdXJyb3VuZGluZy10ZXh0IiwK LSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdfQ0FMTEJBQ0sgKF9lbmdpbmVfcmVxdWly ZV9zdXJyb3VuZGluZ190ZXh0X2NiKSB9LAotICAgICB7ICJ1cGRhdGUtcHJlZWRpdC10ZXh0Iiwg ICAgICBHX0NBTExCQUNLIChfZW5naW5lX3VwZGF0ZV9wcmVlZGl0X3RleHRfY2IpIH0sCi0gICAg IHsgInNob3ctcHJlZWRpdC10ZXh0IiwgICAgICAgIEdfQ0FMTEJBQ0sgKF9lbmdpbmVfc2hvd19w cmVlZGl0X3RleHRfY2IpIH0sCi0gICAgIHsgImhpZGUtcHJlZWRpdC10ZXh0IiwgICAgICAgIEdf Q0FMTEJBQ0sgKF9lbmdpbmVfaGlkZV9wcmVlZGl0X3RleHRfY2IpIH0sCi0tICAgIHsgInVwZGF0 ZS1hdXhpbGlhcnktdGV4dCIsICAgIEdfQ0FMTEJBQ0sgKF9lbmdpbmVfdXBkYXRlX2F1eGlsaWFy eV90ZXh0X2NiKSB9LAotKyAgICB7ICJ1cGRhdGUtYXV4aWxpYXJ5LXRleHQiLAotKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgR19DQUxMQkFDSyAoX2VuZ2luZV91cGRhdGVfYXV4aWxp YXJ5X3RleHRfY2IpIH0sCi0gICAgIHsgInNob3ctYXV4aWxpYXJ5LXRleHQiLCAgICAgIEdfQ0FM TEJBQ0sgKF9lbmdpbmVfc2hvd19hdXhpbGlhcnlfdGV4dF9jYikgfSwKLSAgICAgeyAiaGlkZS1h dXhpbGlhcnktdGV4dCIsICAgICAgR19DQUxMQkFDSyAoX2VuZ2luZV9oaWRlX2F1eGlsaWFyeV90 ZXh0X2NiKSB9LAotICAgICB7ICJ1cGRhdGUtbG9va3VwLXRhYmxlIiwgICAgICBHX0NBTExCQUNL IChfZW5naW5lX3VwZGF0ZV9sb29rdXBfdGFibGVfY2IpIH0sCi0gICAgIHsgInNob3ctbG9va3Vw LXRhYmxlIiwgICAgICAgIEdfQ0FMTEJBQ0sgKF9lbmdpbmVfc2hvd19sb29rdXBfdGFibGVfY2Ip IH0sCi0gICAgIHsgImhpZGUtbG9va3VwLXRhYmxlIiwgICAgICAgIEdfQ0FMTEJBQ0sgKF9lbmdp bmVfaGlkZV9sb29rdXBfdGFibGVfY2IpIH0sCi0tICAgIHsgInBhZ2UtdXAtbG9va3VwLXRhYmxl IiwgICAgIEdfQ0FMTEJBQ0sgKF9lbmdpbmVfcGFnZV91cF9sb29rdXBfdGFibGVfY2IpIH0sCi0t ICAgIHsgInBhZ2UtZG93bi1sb29rdXAtdGFibGUiLCAgIEdfQ0FMTEJBQ0sgKF9lbmdpbmVfcGFn ZV9kb3duX2xvb2t1cF90YWJsZV9jYikgfSwKLS0gICAgeyAiY3Vyc29yLXVwLWxvb2t1cC10YWJs ZSIsICAgR19DQUxMQkFDSyAoX2VuZ2luZV9jdXJzb3JfdXBfbG9va3VwX3RhYmxlX2NiKSB9LAot LSAgICB7ICJjdXJzb3ItZG93bi1sb29rdXAtdGFibGUiLCBHX0NBTExCQUNLIChfZW5naW5lX2N1 cnNvcl9kb3duX2xvb2t1cF90YWJsZV9jYikgfSwKLSsgICAgeyAicGFnZS11cC1sb29rdXAtdGFi bGUiLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdfQ0FMTEJBQ0sgKF9lbmdp bmVfcGFnZV91cF9sb29rdXBfdGFibGVfY2IpIH0sCi0rICAgIHsgInBhZ2UtZG93bi1sb29rdXAt dGFibGUiLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHX0NBTExCQUNLIChfZW5n aW5lX3BhZ2VfZG93bl9sb29rdXBfdGFibGVfY2IpIH0sCi0rICAgIHsgImN1cnNvci11cC1sb29r dXAtdGFibGUiLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHX0NBTExCQUNLIChf ZW5naW5lX2N1cnNvcl91cF9sb29rdXBfdGFibGVfY2IpIH0sCi0rICAgIHsgImN1cnNvci1kb3du LWxvb2t1cC10YWJsZSIsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHX0NBTExCQUNL IChfZW5naW5lX2N1cnNvcl9kb3duX2xvb2t1cF90YWJsZV9jYikgfSwKLSAgICAgeyAicmVnaXN0 ZXItcHJvcGVydGllcyIsICAgICAgR19DQUxMQkFDSyAoX2VuZ2luZV9yZWdpc3Rlcl9wcm9wZXJ0 aWVzX2NiKSB9LAotICAgICB7ICJ1cGRhdGUtcHJvcGVydHkiLCAgICAgICAgICBHX0NBTExCQUNL IChfZW5naW5lX3VwZGF0ZV9wcm9wZXJ0eV9jYikgfSwKLSAgICAgeyAicGFuZWwtZXh0ZW5zaW9u IiwgICAgICAgICAgR19DQUxMQkFDSyAoX2VuZ2luZV9wYW5lbF9leHRlbnNpb25fY2IpIH0sCi1A QCAtMjUzMSw5ICsyODA4LDE2IEBAIGJ1c19pbnB1dF9jb250ZXh0X3NldF9lbmdpbmUgKEJ1c0lu cHV0Q29udGV4dCAqY29udGV4dCwKLSAgICAgICAgICAgICAgICAgICAgIGlidXNfc2VydmljZV9n ZXRfb2JqZWN0X3BhdGggKChJQnVzU2VydmljZSAqKWNvbnRleHQpOwotICAgICAgICAgICAgIGJ1 c19lbmdpbmVfcHJveHlfZm9jdXNfaW4gKGNvbnRleHQtPmVuZ2luZSwgcGF0aCwgY29udGV4dC0+ Y2xpZW50KTsKLSAgICAgICAgICAgICBidXNfZW5naW5lX3Byb3h5X2VuYWJsZSAoY29udGV4dC0+ ZW5naW5lKTsKLS0gICAgICAgICAgICBidXNfZW5naW5lX3Byb3h5X3NldF9jYXBhYmlsaXRpZXMg KGNvbnRleHQtPmVuZ2luZSwgY29udGV4dC0+Y2FwYWJpbGl0aWVzKTsKLS0gICAgICAgICAgICBi dXNfZW5naW5lX3Byb3h5X3NldF9jdXJzb3JfbG9jYXRpb24gKGNvbnRleHQtPmVuZ2luZSwgY29u dGV4dC0+eCwgY29udGV4dC0+eSwgY29udGV4dC0+dywgY29udGV4dC0+aCk7Ci0tICAgICAgICAg ICAgYnVzX2VuZ2luZV9wcm94eV9zZXRfY29udGVudF90eXBlIChjb250ZXh0LT5lbmdpbmUsIGNv bnRleHQtPnB1cnBvc2UsIGNvbnRleHQtPmhpbnRzKTsKLSsgICAgICAgICAgICBidXNfZW5naW5l X3Byb3h5X3NldF9jYXBhYmlsaXRpZXMgKGNvbnRleHQtPmVuZ2luZSwgCi0rICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0LT5jYXBhYmlsaXRpZXMp OwotKyAgICAgICAgICAgIGJ1c19lbmdpbmVfcHJveHlfc2V0X2N1cnNvcl9sb2NhdGlvbiAoY29u dGV4dC0+ZW5naW5lLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgY29udGV4dC0+eCwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGNvbnRleHQtPnksCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0LT53LAotKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGV4dC0+aCk7Ci0rICAgICAgICAgICAg YnVzX2VuZ2luZV9wcm94eV9zZXRfY29udGVudF90eXBlIChjb250ZXh0LT5lbmdpbmUsCi0rICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0LT5wdXJw b3NlLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u dGV4dC0+aGludHMpOwotICAgICAgICAgfQotICAgICB9Ci0gICAgIGdfc2lnbmFsX2VtaXQgKGNv bnRleHQsCi1AQCAtMjc3OSw3ICszMDYzLDggQEAgYnVzX2lucHV0X2NvbnRleHRfc2V0X2NhcGFi aWxpdGllcyAoQnVzSW5wdXRDb250ZXh0ICAgICpjb250ZXh0LAotIHsKLSAgICAgZ19hc3NlcnQg KEJVU19JU19JTlBVVF9DT05URVhUIChjb250ZXh0KSk7Ci0gCi0tICAgIC8qIElmIHRoZSBjb250 ZXh0IGRvZXMgbm90IHN1cHBvcnQgSUJVU19DQVBfRk9DVVMsIHRoZW4gdGhlIGNsaWVudCBhcHBs aWNhdGlvbiBoYXZlIHRvIGhhbmRsZSBhbGwgaW5mb3JtYXRpb24gc3VjaCBhcwotKyAgICAvKiBJ ZiB0aGUgY29udGV4dCBkb2VzIG5vdCBzdXBwb3J0IElCVVNfQ0FQX0ZPQ1VTLCB0aGVuIHRoZSBj bGllbnQKLSsgICAgICogYXBwbGljYXRpb24gaGF2ZSB0byBoYW5kbGUgYWxsIGluZm9ybWF0aW9u IHN1Y2ggYXMKLSAgICAgICogcHJlZWRpdCBhbmQgYXV4aWxpYXJ5IHRleHQuICovCi0gICAgIGlm ICgoY2FwYWJpbGl0aWVzICYgSUJVU19DQVBfRk9DVVMpID09IDApIHsKLSAgICAgICAgIGNhcGFi aWxpdGllcyB8PSAoSUJVU19DQVBfUFJFRURJVF9URVhUIHwgSUJVU19DQVBfQVVYSUxJQVJZX1RF WFQgfCBJQlVTX0NBUF9MT09LVVBfVEFCTEUgfCBJQlVTX0NBUF9QUk9QRVJUWSk7Ci1AQCAtMjgy OCwxMSArMzExMywxNyBAQCBidXNfaW5wdXRfY29udGV4dF9zZXRfY29udGVudF90eXBlIChCdXNJ bnB1dENvbnRleHQgKmNvbnRleHQsCitAQCAtMjkzOCwxMSArMzExOCwxNyBAQCBidXNfaW5wdXRf Y29udGV4dF9zZXRfY29udGVudF90eXBlIChCdXNJbnB1dENvbnRleHQgKmNvbnRleHQsCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3VpbnQgICAgICAgICAgICBoaW50cykK ICB7CiAgICAgIEdWYXJpYW50ICp2YWx1ZTsKQEAgLTM2MzIsNyArMzg2MSw3IEBAIGluZGV4IGU3 NmJiZGZjLi4yMTEwYWY4NyAxMDA2NDQKICAgICAgZ192YXJpYW50X3VucmVmICh2YWx1ZSk7CiAg fQogIAotQEAgLTI4NDIsMTIgKzMxMzMsMjQgQEAgYnVzX2lucHV0X2NvbnRleHRfY29tbWl0X3Rl eHRfdXNlX2V4dGVuc2lvbiAoQnVzSW5wdXRDb250ZXh0ICpjb250ZXh0LAorQEAgLTI5NTIsMTIg KzMxMzgsMjQgQEAgYnVzX2lucHV0X2NvbnRleHRfY29tbWl0X3RleHRfdXNlX2V4dGVuc2lvbiAo QnVzSW5wdXRDb250ZXh0ICpjb250ZXh0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGdib29sZWFuICAgICAgICAgdXNlX2V4dGVuc2lvbikKICB7CiAgICAg IGdfYXNzZXJ0IChCVVNfSVNfSU5QVVRfQ09OVEVYVCAoY29udGV4dCkpOwpAQCAtMzY1OCw3ICsz ODg3LDcgQEAgaW5kZXggZTc2YmJkZmMuLjIxMTBhZjg3IDEwMDY0NAogICAgICAgICAgR1Zhcmlh bnQgKnZhcmlhbnQgPSBpYnVzX3NlcmlhbGl6YWJsZV9zZXJpYWxpemUgKAogICAgICAgICAgICAg ICAgICAoSUJ1c1NlcmlhbGl6YWJsZSAqKXRleHQpOwogZGlmZiAtLWdpdCBhL2NsaWVudC9ndGsy L2lidXNpbWNvbnRleHQuYyBiL2NsaWVudC9ndGsyL2lidXNpbWNvbnRleHQuYwotaW5kZXggZWE4 MjcwYmIuLmQ1NzU3NWNlIDEwMDY0NAoraW5kZXggZWE4MjcwYmIuLjdjY2MxMjlkIDEwMDY0NAog LS0tIGEvY2xpZW50L2d0azIvaWJ1c2ltY29udGV4dC5jCiArKysgYi9jbGllbnQvZ3RrMi9pYnVz aW1jb250ZXh0LmMKIEBAIC0xMTEsNyArMTExLDcgQEAgc3RhdGljIGd1aW50ICAgIF9zaWduYWxf ZGVsZXRlX3N1cnJvdW5kaW5nX2lkID0gMDsKQEAgLTM4ODQsNyArNDExMyw3IEBAIGluZGV4IGVh ODI3MGJiLi5kNTc1NzVjZSAxMDA2NDQKICsgICAgICogSUJ1cyBjbGllbnRzLgogKyAgICAgKiBF YWNoIEdUSyBhcHBsaWNhdGlvbiwgZWFjaCBRVCBhcHBsaWNhdGlvbiwgWG9yZyBzZXJ2ZXIsIFdh eWxhbmQKICsgICAgICogY29tcHBzaXRvciBhcmUgY2FsbGVkIGFzIElCdXMgZXZlbnQgb3duZXJz IGhlcmUuCi0rICAgICAqIAorKyAgICAgKgogKyAgICAgKiBUaGUgSUJ1cyBjbGllbnQgcHJvY2Vz c2VzIHRoZSBrZXkgZXZlbnRzIGJldHdlZW4gdGhlIElCdXMgZXZlbnQgb3duZXIKICsgICAgICog YW5kIHRoZSBJQnVzIGRhZW1vbiBhbmQgdGhlIHByb2NlZHVyZSBzdGVwIGlzIHRvOgogKyAgICAg KgpAQCAtMzkxOSw3ICs0MTQ4LDcgQEAgaW5kZXggZWE4MjcwYmIuLmQ1NzU3NWNlIDEwMDY0NAog KyAgICAgKiAgICAqYXN5bmNocm9ub3VzbHkqIHdpdGggYSBHU291cmNlIGxvb3AgYW5kIGZvcndh cmQgdGhlIHJldHVybiB2YWx1ZQogKyAgICAgKiAgICB0byB0aGUgSUJ1cyBldmVudCBvd25lciBz eW5jaHJvbm91c2x5LiBTbyBJQnVzIGNsaWVudHMgcGVyZm9ybQogKyAgICAgKiAgICB2aXJ0dWFs bHkgc3luY2hyb25vdXNseSB0byBjb3ZlciBwcm9ibGVtcyBvZiBJQnVzIHN5bmNocm9ub3VzIEFQ SXMuCi0rICAgICAqIAorKyAgICAgKgogKyAgICAgKiBUaGUgcHVycG9zZSBvZiB0aGUgYXN5bmNo cm9ub3VzIHByb2Nlc3MgaXMgdGhhdCBlYWNoIElCdXMgaW5wdXQKICsgICAgICogbWV0aG9kIGNh biBwcm9jZXNzIHRoZSBrZXkgZXZlbnRzIHdpdGhvdXQgRC1CdXMgdGltZW91dCBhbmQgYWxzbwog KyAgICAgKiB0aGUgSUJ1cyBzeW5jaHJvbm91cyBwcm9jZXNzIGhhcyBhIHByb2JsZW0gdGhhdCB0 aGUgSUJ1cwpAQCAtNDE4NCw3ICs0NDEzLDcgQEAgaW5kZXggMjhhZTA0YWQuLmRlZjIzYjI1IDEw MDY0NAogICAgICB2b2lkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFwKICAgICAgaWJ1c19pbnB1dF9jb250ZXh0XyMjbmFtZSAo SUJ1c0lucHV0Q29udGV4dCAqY29udGV4dCkgICAgICAgICAgICAgICBcCiBkaWZmIC0tZ2l0IGEv c3JjL2lidXNpbnB1dGNvbnRleHQuaCBiL3NyYy9pYnVzaW5wdXRjb250ZXh0LmgKLWluZGV4IDA5 OTkyMTQ4Li4xY2I1MTI2YSAxMDA2NDQKK2luZGV4IDA5OTkyMTQ4Li5jYTYwNDY3MCAxMDA2NDQK IC0tLSBhL3NyYy9pYnVzaW5wdXRjb250ZXh0LmgKICsrKyBiL3NyYy9pYnVzaW5wdXRjb250ZXh0 LmgKIEBAIC0yLDcgKzIsNyBAQApAQCAtNDIwNCw3ICs0NDMzLDcgQEAgaW5kZXggMDk5OTIxNDgu LjFjYjUxMjZhIDEwMDY0NAogIC8qKgogICAqIGlidXNfaW5wdXRfY29udGV4dF9zZXRfY3Vyc29y X2xvY2F0aW9uOgogICAqIEBjb250ZXh0OiBBbiBJQnVzSW5wdXRDb250ZXh0LgotQEAgLTUxOSw5 ICs1MTgsMzIgQEAgdm9pZCAgICAgICAgIGlidXNfaW5wdXRfY29udGV4dF9zZXRfY29udGVudF90 eXBlCitAQCAtNTE5LDkgKzUxOCwzOCBAQCB2b2lkICAgICAgICAgaWJ1c19pbnB1dF9jb250ZXh0 X3NldF9jb250ZW50X3R5cGUKICAgKgogICAqIFNlZSBhbHNvIGlidXNfZW5naW5lX3VwZGF0ZV9w cmVlZGl0X3RleHRfd2l0aF9tb2RlKCkuCiAgICovCkBAIC00MjIwLDYgKzQ0NDksOSBAQCBpbmRl eCAwOTk5MjE0OC4uMWNiNTEyNmEgMTAwNjQ0CiArICogQGVuYWJsZTogQ2FuIHVzZSBpYnVzX2lu cHV0X2NvbnRleHRfcG9zdF9wcm9jZXNzX2tleV9ldmVudCgpIHRvIHJldHJpZXZlCiArICogY29t bWl0LXRleHQgYW5kIGZvcndhci1rZXktZXZlbnQgc2lnbmFscyBkdXJpbmcKICsgKiBjYWxsaW5n IGlidXNfaW5wdXRfY29udGV4dF9wcm9jZXNzX2tleV9ldmVudCgpIGlmIGl0J3MgJVRSVUUuCisr ICoKKysgKiBTaW5jZTogMS41LjAwCisrICogU3RhYmlsaXR5OiBVbnN0YWJsZQogKyAqLwogK3Zv aWQgICAgICAgICBpYnVzX2lucHV0X2NvbnRleHRfc2V0X3Bvc3RfcHJvY2Vzc19rZXlfZXZlbnQK ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChJQnVzSW5wdXRD b250ZXh0ICAgKmNvbnRleHQsCkBAIC00MjMzLDYgKzQ0NjUsOSBAQCBpbmRleCAwOTk5MjE0OC4u MWNiNTEyNmEgMTAwNjQ0CiArICogY2FsbGluZyBpYnVzX2lucHV0X2NvbnRleHRfcHJvY2Vzc19r ZXlfZXZlbnQoKS4KICsgKgogKyAqIFNlZSBhbHNvIGlidXNfaW5wdXRfY29udGV4dF9zZXRfcG9z dF9wcm9jZXNzX2tleV9ldmVudCgpLgorKyAqCisrICogU2luY2U6IDEuNS4wMAorKyAqIFN0YWJp bGl0eTogVW5zdGFibGUKICsgKi8KICt2b2lkICAgICAgICAgaWJ1c19pbnB1dF9jb250ZXh0X3Bv c3RfcHJvY2Vzc19rZXlfZXZlbnQKICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIChJQnVzSW5wdXRDb250ZXh0ICAgKmNvbnRleHQpOwpAQCAtNDI0MiwxNSArNDQ3 NywxNSBAQCBpbmRleCAwOTk5MjE0OC4uMWNiNTEyNmEgMTAwNjQ0CiAtLSAKIDIuNDEuMAogCi1G cm9tIGRkN2U4NTg5MGNlZDVlNTNkOTgyZjAyZjViMTFlZjVhMzZlMmVhYjggTW9uIFNlcCAxNyAw MDowMDowMCAyMDAxCitGcm9tIGU0OTVmODA2ODM4MDg1NmMwMWZkMjJjZWViYjkzOTgwNzJmZDY1 ZDggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBmdWppd2FyYXQgPHRha2FvLmZ1aml3 YXJhMUBnbWFpbC5jb20+Ci1EYXRlOiBTdW4sIDkgSnVsIDIwMjMgMTg6NDg6MjEgKzA5MDAKLVN1 YmplY3Q6IFtQQVRDSCAyLzJdIGNsaWVudC94MTE6IEZpeCBzeW5jCitEYXRlOiBXZWQsIDEyIEp1 bCAyMDIzIDA3OjUyOjIxICswOTAwCitTdWJqZWN0OiBbUEFUQ0ggMy8zXSBjbGllbnQveDExOiBG aXggc3luYwogIGlidXNfaW5wdXRfY29udGV4dF9wcm9jZXNzX2tleV9ldmVudCgpCiAKIEZpeCB0 aGUgc3luY2hyb25vdXMgIlByb2Nlc3NLZXlFdmVudCIgRC1CdXMgbWV0aG9kIGluIGlidXMteDEx IHRvby4KIAotRml4ZXM6IGh0dHBzOi8vZ2l0aHViLmNvbS9pYnVzL2lidXMvY29tbWl0L2E3M2Vh MmMKK0ZpeGVzOiBodHRwczovL2dpdGh1Yi5jb20vaWJ1cy9pYnVzL2NvbW1pdC8zNjcwZmFmCiAK IEJVRz1odHRwczovL2dpdGh1Yi5jb20vaWJ1cy9pYnVzL2lzc3Vlcy8yNDg2CiAtLS0KCmRpZmYg LS1naXQgYS9pYnVzLnNwZWMgYi9pYnVzLnNwZWMKaW5kZXggOGI3M2YyNi4uYjJkNjFlOCAxMDA2 NDQKLS0tIGEvaWJ1cy5zcGVjCisrKyBiL2lidXMuc3BlYwpAQCAtNTAsNyArNTAsNyBAQAogCiBO YW1lOiAgICAgICAgICAgaWJ1cwogVmVyc2lvbjogICAgICAgIDEuNS4yOAotUmVsZWFzZTogICAg ICAgIDEyJXs/ZGlzdH0KK1JlbGVhc2U6ICAgICAgICAxMyV7P2Rpc3R9CiBTdW1tYXJ5OiAgICAg ICAgSW50ZWxsaWdlbnQgSW5wdXQgQnVzIGZvciBMaW51eCBPUwogTGljZW5zZTogICAgICAgIExH UEwtMi4wLW9yLWxhdGVyCiBVUkw6ICAgICAgICAgICAgaHR0cHM6Ly9naXRodWIuY29tL2lidXMv JW5hbWUvd2lraQpAQCAtNTU3LDYgKzU1Nyw5IEBAIGRjb25mIHVwZGF0ZSB8fCA6CiAle19kYXRh ZGlyfS9pbnN0YWxsZWQtdGVzdHMvaWJ1cwogCiAlY2hhbmdlbG9nCisqIFdlZCBKdWwgMTIgMjAy MyBUYWthbyBGdWppd2FyYSA8dGZ1aml3YXJAcmVkaGF0LmNvbT4gLSAxLjUuMjgtMTMKKy0gRml4 IHN5bmMgaWJ1c19pbnB1dF9jb250ZXh0X3Byb2Nlc3Nfa2V5X2V2ZW50KCkgIzMKKwogKiBTdW4g SnVsIDA5IDIwMjMgVGFrYW8gRnVqaXdhcmEgPHRmdWppd2FyQHJlZGhhdC5jb20+IC0gMS41LjI4 LTEyCiAtIEZpeCBzeW5jIGlidXNfaW5wdXRfY29udGV4dF9wcm9jZXNzX2tleV9ldmVudCgpICMy CiAK