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: =?utf-8?b?VG9tw6HFoSBNcsOheiA8dG1yYXpAZmVkb3JhcHJvamVjdC5vcmc+?= To: git-commits@fedoraproject.org Subject: [rpms/openssl] rebase_40beta: - fix RSA and DSA FIPS selftests Date: Tue, 09 Jun 2026 12:41:53 GMT Message-ID: <178100891302.1.768110289828507141.rpms-openssl-0d4bee2e574b@fedoraproject.org> List-ID: X-Git-Repo: rpms/openssl X-Git-Branch: rebase_40beta X-Git-Rev: 0d4bee2e574b0bf7c06d117d4dc54a1d9c809088 ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvb3BlbnNzbAogICAgICAgICAgICBCcmFuY2ggOiByZWJhc2VfNDBiZXRhCiAg ICAgICAgICAgIENvbW1pdCA6IDBkNGJlZTJlNTc0YjBiZjdjMDZkMTE3ZDRkYzU0YTFkOWM4MDkw ODgKICAgICAgICAgICAgQXV0aG9yIDogVG9tw6HFoSBNcsOheiA8dG1yYXpAZmVkb3JhcHJvamVj dC5vcmc+CiAgICAgICAgICAgIERhdGUgICA6IDIwMDktMDktMzBUMTg6MzQ6MzUrMDA6MDAKICAg ICAgICAgICAgU3RhdHMgIDogKzU3MS8tNDU5IGluIDQgZmlsZShzKQogICAgICAgICAgICBVUkwg ICAgOiBodHRwczovL3NyYy5mZWRvcmFwcm9qZWN0Lm9yZy9ycG1zL29wZW5zc2wvYy8wZDRiZWUy ZTU3NGIwYmY3YzA2ZDExN2Q0ZGM1NGExZDljODA5MDg4P2JyYW5jaD1yZWJhc2VfNDBiZXRhCgog ICAgICAgICAgICBMb2c6CiAgICAgICAgICAgIC0gZml4IFJTQSBhbmQgRFNBIEZJUFMgc2VsZnRl c3RzCi0gcmVlbmFibGUgZml4ZWQgeDg2XzY0IGNhbWVsbGlhIGFzc2VtYmxlciBjb2RlICgjNTIx MTI3KQoKLS0tCmRpZmYgLS1naXQgYS9vcGVuc3NsLTEuMC4wLWJldGEzLWNhbWVsbGlhLXJvdW5k cy5wYXRjaCBiL29wZW5zc2wtMS4wLjAtYmV0YTMtY2FtZWxsaWEtcm91bmRzLnBhdGNoCm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE0M2I2MDIKLS0tIC9kZXYvbnVsbAorKysg Yi9vcGVuc3NsLTEuMC4wLWJldGEzLWNhbWVsbGlhLXJvdW5kcy5wYXRjaApAQCAtMCwwICsxLDEy IEBACitkaWZmIC11cCBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9jYW1lbGxpYS9hc20vY21s bC14ODZfNjQucGwucm91bmRzIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL2NhbWVsbGlhL2Fz bS9jbWxsLXg4Nl82NC5wbAorLS0tIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL2NhbWVsbGlh L2FzbS9jbWxsLXg4Nl82NC5wbC5yb3VuZHMJMjAwOS0wOS0xNSAxMjowOTowOC4wMDAwMDAwMDAg KzAyMDAKKysrKyBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9jYW1lbGxpYS9hc20vY21sbC14 ODZfNjQucGwJMjAwOS0wOS0xNSAxMjowOTo0OC4wMDAwMDAwMDAgKzAyMDAKK0BAIC02NTYsNyAr NjU2LDcgQEAgQ2FtZWxsaWFfY2JjX2VuY3J5cHQ6CisgCW1vdgklcnNpLCRvdXQJCSMgb3V0IGFy Z3VtZW50CisgCW1vdgklcjgsJXJieAkJIyBpdnAgYXJndW1lbnQKKyAJbW92CSVyY3gsJGtleQkJ IyBrZXkgYXJndW1lbnQKKy0JbW92CTI3MiglcmN4KSwka2V5ZW5kCSMgZ3JhbmRSb3VuZHMKKysJ bW92CTI3MiglcmN4KSwke2tleWVuZH1kCSMgZ3JhbmRSb3VuZHMKKyAKKyAJbW92CSVyOCwkX2l2 cAorIAltb3YJJXJicCwkX3JzcAoKZGlmZiAtLWdpdCBhL29wZW5zc2wtMS4wLjAtYmV0YTMtY21s bC1ub2FzbS5wYXRjaCBiL29wZW5zc2wtMS4wLjAtYmV0YTMtY21sbC1ub2FzbS5wYXRjaApkZWxl dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMmRmNjdhNS4uMDAwMDAwMAotLS0gYS9vcGVuc3Ns LTEuMC4wLWJldGEzLWNtbGwtbm9hc20ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxMiArMCww IEBACi1kaWZmIC11cCBvcGVuc3NsLTEuMC4wLWJldGEzL0NvbmZpZ3VyZS5jbWxsLW5vYXNtIG9w ZW5zc2wtMS4wLjAtYmV0YTMvQ29uZmlndXJlCi0tLS0gb3BlbnNzbC0xLjAuMC1iZXRhMy9Db25m aWd1cmUuY21sbC1ub2FzbQkyMDA5LTA5LTA0IDEzOjQ0OjUzLjAwMDAwMDAwMCArMDIwMAotKysr IG9wZW5zc2wtMS4wLjAtYmV0YTMvQ29uZmlndXJlCTIwMDktMDktMDQgMTM6NDY6MDguMDAwMDAw MDAwICswMjAwCi1AQCAtMTI1LDcgKzEyNSw3IEBAIG15ICR4ODZfYXNtPSJ4ODZjcHVpZC5vOmJu LTU4Ni5vIGNvLTU4Ni4KLSAKLSBteSAkeDg2X2VsZl9hc209IiR4ODZfYXNtOmVsZiI7Ci0gCi0t bXkgJHg4Nl82NF9hc209Ing4Nl82NGNwdWlkLm86eDg2XzY0LWdjYy5vIHg4Nl82NC1tb250Lm86 OmFlcy14ODZfNjQubzo6bWQ1LXg4Nl82NC5vOnNoYTEteDg2XzY0Lm8gc2hhMjU2LXg4Nl82NC5v IHNoYTUxMi14ODZfNjQubzo6cmM0LXg4Nl82NC5vOjo6d3AteDg2XzY0Lm86Y21sbC14ODZfNjQu byBjbWxsX21pc2MubyI7Ci0rbXkgJHg4Nl82NF9hc209Ing4Nl82NGNwdWlkLm86eDg2XzY0LWdj Yy5vIHg4Nl82NC1tb250Lm86OmFlcy14ODZfNjQubzo6bWQ1LXg4Nl82NC5vOnNoYTEteDg2XzY0 Lm8gc2hhMjU2LXg4Nl82NC5vIHNoYTUxMi14ODZfNjQubzo6cmM0LXg4Nl82NC5vOjo6d3AteDg2 XzY0Lm86IjsKLSBteSAkaWE2NF9hc209ImlhNjRjcHVpZC5vOmJuLWlhNjQubzo6YWVzX2NvcmUu byBhZXNfY2JjLm8gYWVzLWlhNjQubzo6bWQ1LWlhNjQubzpzaGExLWlhNjQubyBzaGEyNTYtaWE2 NC5vIHNoYTUxMi1pYTY0Lm86OnJjNC1pYTY0Lm8gcmM0X3NrZXkubzo6Ojo6dm9pZCI7Ci0gbXkg JHNwYXJjdjlfYXNtPSJzcGFyY3Y5Y2FwLm8gc3BhcmNjcHVpZC5vOmJuLXNwYXJjdjkubyBzcGFy Y3Y5LW1vbnQubyBzcGFyY3Y5YS1tb250Lm86ZGVzX2VuYy1zcGFyYy5vIGZjcnlwdF9iLm86YWVz X2NvcmUubyBhZXNfY2JjLm8gYWVzLXNwYXJjdjkubzo6OnNoYTEtc3BhcmN2OS5vIHNoYTI1Ni1z cGFyY3Y5Lm8gc2hhNTEyLXNwYXJjdjkubzo6Ojo6Ojp2b2lkIjsKLSBteSAkc3BhcmN2OF9hc209 IjpzcGFyY3Y4Lm86ZGVzX2VuYy1zcGFyYy5vIGZjcnlwdF9iLm86Ojo6Ojo6Ojo6OnZvaWQiOwoK ZGlmZiAtLWdpdCBhL29wZW5zc2wtMS4wLjAtYmV0YTMtZmlwcy5wYXRjaCBiL29wZW5zc2wtMS4w LjAtYmV0YTMtZmlwcy5wYXRjaAppbmRleCA3MDdhMGI5Li45OTQwNGU2IDEwMDY0NAotLS0gYS9v cGVuc3NsLTEuMC4wLWJldGEzLWZpcHMucGF0Y2gKKysrIGIvb3BlbnNzbC0xLjAuMC1iZXRhMy1m aXBzLnBhdGNoCkBAIC0xLDYgKzEsNiBAQAogZGlmZiAtdXAgb3BlbnNzbC0xLjAuMC1iZXRhMy9D b25maWd1cmUuZmlwcyBvcGVuc3NsLTEuMC4wLWJldGEzL0NvbmZpZ3VyZQotLS0tIG9wZW5zc2wt MS4wLjAtYmV0YTMvQ29uZmlndXJlLmZpcHMJMjAwOS0wOC0xMSAxODowNzozMC4wMDAwMDAwMDAg KzAyMDAKLSsrKyBvcGVuc3NsLTEuMC4wLWJldGEzL0NvbmZpZ3VyZQkyMDA5LTA4LTExIDE4OjA3 OjMwLjAwMDAwMDAwMCArMDIwMAorLS0tIG9wZW5zc2wtMS4wLjAtYmV0YTMvQ29uZmlndXJlLmZp cHMJMjAwOS0wOS0zMCAxMzoyNTo1Ny4wMDAwMDAwMDAgKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4w LWJldGEzL0NvbmZpZ3VyZQkyMDA5LTA5LTMwIDEzOjI1OjU4LjAwMDAwMDAwMCArMDIwMAogQEAg LTY1NCw2ICs2NTQsNyBAQCBteSAkY21sbF9lbmM9ImNhbWVsbGlhLm8gY21sbF9taXNjLm8gY21s CiAgbXkgJHByb2Nlc3Nvcj0iIjsKICBteSAkZGVmYXVsdF9yYW5saWI7CkBAIC00NSw3ICs0NSw3 IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjAtYmV0YTMvQ29uZmlndXJlLmZpcHMgb3BlbnNzbC0x LjAuMC1iZXRhMy9Db25maWd1cmUKICAJcy9eU0hBUkVEX0xJQlM9LiovU0hBUkVEX0xJQlM9XCQo U0hBUkVEX0NSWVBUTykgXCQoU0hBUkVEX1NTTCkvIGlmICghJG5vX3NoYXJlZCk7CiBkaWZmIC11 cCBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9iZi9iZl9za2V5LmMuZmlwcyBvcGVuc3NsLTEu MC4wLWJldGEzL2NyeXB0by9iZi9iZl9za2V5LmMKIC0tLSBvcGVuc3NsLTEuMC4wLWJldGEzL2Ny eXB0by9iZi9iZl9za2V5LmMuZmlwcwkyMDA4LTExLTEyIDA0OjU3OjUyLjAwMDAwMDAwMCArMDEw MAotKysrIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL2JmL2JmX3NrZXkuYwkyMDA5LTA4LTEx IDE4OjA3OjMwLjAwMDAwMDAwMCArMDIwMAorKysrIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRv L2JmL2JmX3NrZXkuYwkyMDA5LTA5LTMwIDEzOjI1OjU4LjAwMDAwMDAwMCArMDIwMAogQEAgLTU5 LDEwICs1OSwxNSBAQAogICNpbmNsdWRlIDxzdGRpby5oPgogICNpbmNsdWRlIDxzdHJpbmcuaD4K QEAgLTY0LDggKzY0LDggQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vYmYv YmZfc2tleS5jLmZpcHMgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8KICAJaW50IGk7CiAgCUJG X0xPTkcgKnAscmksaW5bMl07CiBkaWZmIC11cCBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9i Zi9ibG93ZmlzaC5oLmZpcHMgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vYmYvYmxvd2Zpc2gu aAotLS0tIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL2JmL2Jsb3dmaXNoLmguZmlwcwkyMDA5 LTA4LTExIDE4OjA3OjMwLjAwMDAwMDAwMCArMDIwMAotKysrIG9wZW5zc2wtMS4wLjAtYmV0YTMv Y3J5cHRvL2JmL2Jsb3dmaXNoLmgJMjAwOS0wOC0xMSAxODowNzozMC4wMDAwMDAwMDAgKzAyMDAK Ky0tLSBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9iZi9ibG93ZmlzaC5oLmZpcHMJMjAwOS0w OS0zMCAxMzoyNTo1Ny4wMDAwMDAwMDAgKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4wLWJldGEzL2Ny eXB0by9iZi9ibG93ZmlzaC5oCTIwMDktMDktMzAgMTM6MjU6NTguMDAwMDAwMDAwICswMjAwCiBA QCAtMTA0LDcgKzEwNCw5IEBAIHR5cGVkZWYgc3RydWN0IGJmX2tleV9zdAogIAlCRl9MT05HIFNb NCoyNTZdOwogIAl9IEJGX0tFWTsKQEAgLTc4LDggKzc4LDggQEAgZGlmZiAtdXAgb3BlbnNzbC0x LjAuMC1iZXRhMy9jcnlwdG8vYmYvYmxvd2Zpc2guaC5maXBzIG9wZW5zc2wtMS4wLjAtYmV0YTMv Y3J5cHQKICAKICB2b2lkIEJGX2VuY3J5cHQoQkZfTE9ORyAqZGF0YSxjb25zdCBCRl9LRVkgKmtl eSk7CiBkaWZmIC11cCBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9ibi9ibi5oLmZpcHMgb3Bl bnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vYm4vYm4uaAotLS0tIG9wZW5zc2wtMS4wLjAtYmV0YTMv Y3J5cHRvL2JuL2JuLmguZmlwcwkyMDA5LTA4LTExIDE4OjA3OjMwLjAwMDAwMDAwMCArMDIwMAot KysrIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL2JuL2JuLmgJMjAwOS0wOC0xMSAxODowNzoz MC4wMDAwMDAwMDAgKzAyMDAKKy0tLSBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9ibi9ibi5o LmZpcHMJMjAwOS0wOS0zMCAxMzoyNTo1Ny4wMDAwMDAwMDAgKzAyMDAKKysrKyBvcGVuc3NsLTEu MC4wLWJldGEzL2NyeXB0by9ibi9ibi5oCTIwMDktMDktMzAgMTM6MjU6NTguMDAwMDAwMDAwICsw MjAwCiBAQCAtNTQwLDYgKzU0MCwxNyBAQCBpbnQJQk5faXNfcHJpbWVfZXgoY29uc3QgQklHTlVN ICpwLGludCBuCiAgaW50CUJOX2lzX3ByaW1lX2Zhc3R0ZXN0X2V4KGNvbnN0IEJJR05VTSAqcCxp bnQgbmNoZWNrcywgQk5fQ1RYICpjdHgsCiAgCQlpbnQgZG9fdHJpYWxfZGl2aXNpb24sIEJOX0dF TkNCICpjYik7CkBAIC05OSw4ICs5OSw4IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjAtYmV0YTMv Y3J5cHRvL2JuL2JuLmguZmlwcyBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9ibi9iCiAgdm9p ZCBCTl9NT05UX0NUWF9pbml0KEJOX01PTlRfQ1RYICpjdHgpOwogIGludCBCTl9tb2RfbXVsX21v bnRnb21lcnkoQklHTlVNICpyLGNvbnN0IEJJR05VTSAqYSxjb25zdCBCSUdOVU0gKmIsCiBkaWZm IC11cCAvZGV2L251bGwgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vYm4vYm5feDkzMXAuYwot LS0tIC9kZXYvbnVsbAkyMDA5LTA3LTI3IDA4OjM5OjIyLjg0OTA2NDUwNSArMDIwMAotKysrIG9w ZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL2JuL2JuX3g5MzFwLmMJMjAwOS0wOC0xMSAxODowNzoz MC4wMDAwMDAwMDAgKzAyMDAKKy0tLSAvZGV2L251bGwJMjAwOS0wOS0yMyAxMDo1NjowMi4xNDgw MDE3NTIgKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9ibi9ibl94OTMxcC5j CTIwMDktMDktMzAgMTM6MjU6NTguMDAwMDAwMDAwICswMjAwCiBAQCAtMCwwICsxLDI3MiBAQAog Ky8qIGJuX3g5MzFwLmMgKi8KICsvKiBXcml0dGVuIGJ5IERyIFN0ZXBoZW4gTiBIZW5zb24gKHN0 ZXZlQG9wZW5zc2wub3JnKSBmb3IgdGhlIE9wZW5TU0wKQEAgLTM3Niw3ICszNzYsNyBAQCBkaWZm IC11cCAvZGV2L251bGwgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vYm4vYm5feDkzMXAuYwog KwogZGlmZiAtdXAgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vYm4vTWFrZWZpbGUuZmlwcyBv cGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9ibi9NYWtlZmlsZQogLS0tIG9wZW5zc2wtMS4wLjAt YmV0YTMvY3J5cHRvL2JuL01ha2VmaWxlLmZpcHMJMjAwOC0xMS0xMiAwOToxOTowMi4wMDAwMDAw MDAgKzAxMDAKLSsrKyBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9ibi9NYWtlZmlsZQkyMDA5 LTA4LTExIDE4OjA3OjMwLjAwMDAwMDAwMCArMDIwMAorKysrIG9wZW5zc2wtMS4wLjAtYmV0YTMv Y3J5cHRvL2JuL01ha2VmaWxlCTIwMDktMDktMzAgMTM6MjU6NTguMDAwMDAwMDAwICswMjAwCiBA QCAtMjYsMTMgKzI2LDEzIEBAIExJQlNSQz0JYm5fYWRkLmMgYm5fZGl2LmMgYm5fZXhwLmMgYm5f bGkKICAJYm5fcHJpbnQuYyBibl9yYW5kLmMgYm5fc2hpZnQuYyBibl93b3JkLmMgYm5fYmxpbmQu YyBcCiAgCWJuX2tyb24uYyBibl9zcXJ0LmMgYm5fZ2NkLmMgYm5fcHJpbWUuYyBibl9lcnIuYyBi bl9zcXIuYyBibl9hc20uYyBcCkBAIC0zOTUsNyArMzk1LDcgQEAgZGlmZiAtdXAgb3BlbnNzbC0x LjAuMC1iZXRhMy9jcnlwdG8vYm4vTWFrZWZpbGUuZmlwcyBvcGVuc3NsLTEuMC4wLWJldGEzL2Ny eXB0by8KICAKIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL2NhbWVsbGlhL2Fz bS9jbWxsLXg4Ni5wbC5maXBzIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL2NhbWVsbGlhL2Fz bS9jbWxsLXg4Ni5wbAogLS0tIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL2NhbWVsbGlhL2Fz bS9jbWxsLXg4Ni5wbC5maXBzCTIwMDktMDQtMDYgMTY6MjU6MDIuMDAwMDAwMDAwICswMjAwCi0r Kysgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vY2FtZWxsaWEvYXNtL2NtbGwteDg2LnBsCTIw MDktMDgtMjAgMTY6NTQ6NTkuMDAwMDAwMDAwICswMjAwCisrKysgb3BlbnNzbC0xLjAuMC1iZXRh My9jcnlwdG8vY2FtZWxsaWEvYXNtL2NtbGwteDg2LnBsCTIwMDktMDktMzAgMTM6MjU6NTguMDAw MDAwMDAwICswMjAwCiBAQCAtNzIyLDEyICs3MjIsMTUgQEAgbXkgJGJpYXM9aW50KEBUWzBdKT9z aGlmdChAVCk6MDsKICB9CiAgJmZ1bmN0aW9uX2VuZCgiQ2FtZWxsaWFfRWtleWdlbiIpOwpAQCAt NDIzLDggKzQyMyw4IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL2NhbWVs bGlhL2FzbS9jbWxsLXg4Ni5wbC5maXBzIG9wZW5zc2wtMS4wLjAtCiAgCiAgQFNCT1g9KAogZGlm ZiAtdXAgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vY2FtZWxsaWEvY2FtZWxsaWEuaC5maXBz IG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL2NhbWVsbGlhL2NhbWVsbGlhLmgKLS0tLSBvcGVu c3NsLTEuMC4wLWJldGEzL2NyeXB0by9jYW1lbGxpYS9jYW1lbGxpYS5oLmZpcHMJMjAwOS0wOC0x MSAxODowNzoyOS4wMDAwMDAwMDAgKzAyMDAKLSsrKyBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0 by9jYW1lbGxpYS9jYW1lbGxpYS5oCTIwMDktMDgtMTEgMTg6MDc6MzAuMDAwMDAwMDAwICswMjAw CistLS0gb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vY2FtZWxsaWEvY2FtZWxsaWEuaC5maXBz CTIwMDktMDktMzAgMTM6MjU6NTYuMDAwMDAwMDAwICswMjAwCisrKysgb3BlbnNzbC0xLjAuMC1i ZXRhMy9jcnlwdG8vY2FtZWxsaWEvY2FtZWxsaWEuaAkyMDA5LTA5LTMwIDEzOjI1OjU4LjAwMDAw MDAwMCArMDIwMAogQEAgLTg4LDYgKzg4LDExIEBAIHN0cnVjdCBjYW1lbGxpYV9rZXlfc3QgCiAg CX07CiAgdHlwZWRlZiBzdHJ1Y3QgY2FtZWxsaWFfa2V5X3N0IENBTUVMTElBX0tFWTsKQEAgLTQz Nyw5ICs0MzcsOSBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9jYW1lbGxp YS9jYW1lbGxpYS5oLmZpcHMgb3BlbnNzbC0xLjAuMC1iZXRhMwogIGludCBDYW1lbGxpYV9zZXRf a2V5KGNvbnN0IHVuc2lnbmVkIGNoYXIgKnVzZXJLZXksIGNvbnN0IGludCBiaXRzLAogIAlDQU1F TExJQV9LRVkgKmtleSk7CiAgCi1kaWZmIC11cCBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9j YW1lbGxpYS9jbWxsX2ZibGsuYy5maXBzIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL2NhbWVs bGlhL2NtbGxfZmJsay5jCi0tLS0gb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vY2FtZWxsaWEv Y21sbF9mYmxrLmMuZmlwcwkyMDA5LTA4LTIwIDE3OjAxOjU2LjAwMDAwMDAwMCArMDIwMAotKysr IG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL2NhbWVsbGlhL2NtbGxfZmJsay5jCTIwMDktMDgt MjAgMTc6MDM6MjEuMDAwMDAwMDAwICswMjAwCitkaWZmIC11cCAvZGV2L251bGwgb3BlbnNzbC0x LjAuMC1iZXRhMy9jcnlwdG8vY2FtZWxsaWEvY21sbF9mYmxrLmMKKy0tLSAvZGV2L251bGwJMjAw OS0wOS0yMyAxMDo1NjowMi4xNDgwMDE3NTIgKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4wLWJldGEz L2NyeXB0by9jYW1lbGxpYS9jbWxsX2ZibGsuYwkyMDA5LTA5LTMwIDEzOjI1OjU4LjAwMDAwMDAw MCArMDIwMAogQEAgLTAsMCArMSw2OCBAQAogKy8qIGNyeXB0by9jYW1lbGxpYS9jYW1lbGxpYV9t aXNjLmMgLSotIG1vZGU6QzsgYy1maWxlLXN0eWxlOiAiZWF5IiAtKi0gKi8KICsvKiA9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQpAQCAtNTExLDcgKzUxMSw3IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5 cHRvL2NhbWVsbGlhL2NtbGxfZmJsay5jLmZpcHMgb3BlbnNzbC0xLjAuMC1iZXRhCiArI2VuZGlm CiBkaWZmIC11cCBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9jYW1lbGxpYS9jbWxsX21pc2Mu Yy5maXBzIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL2NhbWVsbGlhL2NtbGxfbWlzYy5jCiAt LS0gb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vY2FtZWxsaWEvY21sbF9taXNjLmMuZmlwcwky MDA4LTEwLTI4IDEzOjEzOjUyLjAwMDAwMDAwMCArMDEwMAotKysrIG9wZW5zc2wtMS4wLjAtYmV0 YTMvY3J5cHRvL2NhbWVsbGlhL2NtbGxfbWlzYy5jCTIwMDktMDgtMjAgMTc6MDQ6MTAuMDAwMDAw MDAwICswMjAwCisrKysgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vY2FtZWxsaWEvY21sbF9t aXNjLmMJMjAwOS0wOS0zMCAxMzoyNTo1OC4wMDAwMDAwMDAgKzAyMDAKIEBAIC01MiwxMSArNTIs MjAgQEAKICAjaW5jbHVkZSA8b3BlbnNzbC9vcGVuc3Nsdi5oPgogICNpbmNsdWRlIDxvcGVuc3Ns L2NhbWVsbGlhLmg+CkBAIC01MzUsNyArNTM1LDcgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjAuMC1i ZXRhMy9jcnlwdG8vY2FtZWxsaWEvY21sbF9taXNjLmMuZmlwcyBvcGVuc3NsLTEuMC4wLWJldGEK ICAJCXJldHVybiAtMTsKIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL2NhbWVs bGlhL01ha2VmaWxlLmZpcHMgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vY2FtZWxsaWEvTWFr ZWZpbGUKIC0tLSBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9jYW1lbGxpYS9NYWtlZmlsZS5m aXBzCTIwMDgtMTItMjMgMTI6MzM6MDAuMDAwMDAwMDAwICswMTAwCi0rKysgb3BlbnNzbC0xLjAu MC1iZXRhMy9jcnlwdG8vY2FtZWxsaWEvTWFrZWZpbGUJMjAwOS0wOC0yMCAxNzowMjo1Ni4wMDAw MDAwMDAgKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9jYW1lbGxpYS9NYWtl ZmlsZQkyMDA5LTA5LTMwIDEzOjI1OjU4LjAwMDAwMDAwMCArMDIwMAogQEAgLTIzLDkgKzIzLDkg QEAgQVBQUz0KICAKICBMSUI9JChUT1ApL2xpYmNyeXB0by5hCkBAIC01NDksOCArNTQ5LDggQEAg ZGlmZiAtdXAgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vY2FtZWxsaWEvTWFrZWZpbGUuZmlw cyBvcGVuc3NsLTEuMC4wLWJldGEzL2MKICBTUkM9ICQoTElCU1JDKQogIAogZGlmZiAtdXAgb3Bl bnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vY2FzdC9jYXN0LmguZmlwcyBvcGVuc3NsLTEuMC4wLWJl dGEzL2NyeXB0by9jYXN0L2Nhc3QuaAotLS0tIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL2Nh c3QvY2FzdC5oLmZpcHMJMjAwOS0wOC0xMSAxODowNzoyOS4wMDAwMDAwMDAgKzAyMDAKLSsrKyBv cGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9jYXN0L2Nhc3QuaAkyMDA5LTA4LTExIDE4OjA3OjMw LjAwMDAwMDAwMCArMDIwMAorLS0tIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL2Nhc3QvY2Fz dC5oLmZpcHMJMjAwOS0wOS0zMCAxMzoyNTo1Ny4wMDAwMDAwMDAgKzAyMDAKKysrKyBvcGVuc3Ns LTEuMC4wLWJldGEzL2NyeXB0by9jYXN0L2Nhc3QuaAkyMDA5LTA5LTMwIDEzOjI1OjU4LjAwMDAw MDAwMCArMDIwMAogQEAgLTgzLDcgKzgzLDkgQEAgdHlwZWRlZiBzdHJ1Y3QgY2FzdF9rZXlfc3QK ICAJaW50IHNob3J0X2tleTsJLyogVXNlIHJlZHVjZWQgcm91bmRzIGZvciBzaG9ydCBrZXkgKi8K ICAJfSBDQVNUX0tFWTsKQEAgLTU2NCw3ICs1NjQsNyBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMC4w LWJldGEzL2NyeXB0by9jYXN0L2Nhc3QuaC5maXBzIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRv LwogIAkJICAgICAgaW50IGVuYyk7CiBkaWZmIC11cCBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0 by9jYXN0L2Nfc2tleS5jLmZpcHMgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vY2FzdC9jX3Nr ZXkuYwogLS0tIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL2Nhc3QvY19za2V5LmMuZmlwcwky MDAwLTA2LTAzIDE2OjEzOjM1LjAwMDAwMDAwMCArMDIwMAotKysrIG9wZW5zc2wtMS4wLjAtYmV0 YTMvY3J5cHRvL2Nhc3QvY19za2V5LmMJMjAwOS0wOC0xMSAxODowNzozMC4wMDAwMDAwMDAgKzAy MDAKKysrKyBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9jYXN0L2Nfc2tleS5jCTIwMDktMDkt MzAgMTM6MjU6NTguMDAwMDAwMDAwICswMjAwCiBAQCAtNTcsNiArNTcsMTEgQEAKICAgKi8KICAK QEAgLTU4Nyw4ICs1ODcsOCBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9j YXN0L2Nfc2tleS5jLmZpcHMgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdAogIAlDQVNUX0xPTkcg eFsxNl07CiAgCUNBU1RfTE9ORyB6WzE2XTsKIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjAtYmV0YTMv Y3J5cHRvL2NyeXB0by5oLmZpcHMgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vY3J5cHRvLmgK LS0tLSBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9jcnlwdG8uaC5maXBzCTIwMDktMDgtMTEg MTg6MDc6MzAuMDAwMDAwMDAwICswMjAwCi0rKysgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8v Y3J5cHRvLmgJMjAwOS0wOC0xMSAxODowNzozMC4wMDAwMDAwMDAgKzAyMDAKKy0tLSBvcGVuc3Ns LTEuMC4wLWJldGEzL2NyeXB0by9jcnlwdG8uaC5maXBzCTIwMDktMDktMzAgMTM6MjU6NTcuMDAw MDAwMDAwICswMjAwCisrKysgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vY3J5cHRvLmgJMjAw OS0wOS0zMCAxMzoyNTo1OC4wMDAwMDAwMDAgKzAyMDAKIEBAIC01NDYsMTIgKzU0Niw2OSBAQCB2 b2lkIE9wZW5TU0xEaWUoY29uc3QgY2hhciAqZmlsZSxpbnQgbGluCiAgdW5zaWduZWQgbG9uZyAq T1BFTlNTTF9pYTMyY2FwX2xvYyh2b2lkKTsKICAjZGVmaW5lIE9QRU5TU0xfaWEzMmNhcCAoKihP UEVOU1NMX2lhMzJjYXBfbG9jKCkpKQpAQCAtNjYxLDcgKzY2MSw3IEBAIGRpZmYgLXVwIG9wZW5z c2wtMS4wLjAtYmV0YTMvY3J5cHRvL2NyeXB0by5oLmZpcHMgb3BlbnNzbC0xLjAuMC1iZXRhMy9j cnlwdG8vY3J5CiAgLyogRnVuY3Rpb24gY29kZXMuICovCiBkaWZmIC11cCBvcGVuc3NsLTEuMC4w LWJldGEzL2NyeXB0by9kaC9kaF9lcnIuYy5maXBzIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRv L2RoL2RoX2Vyci5jCiAtLS0gb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vZGgvZGhfZXJyLmMu ZmlwcwkyMDA2LTExLTIxIDIyOjI5OjM3LjAwMDAwMDAwMCArMDEwMAotKysrIG9wZW5zc2wtMS4w LjAtYmV0YTMvY3J5cHRvL2RoL2RoX2Vyci5jCTIwMDktMDgtMTEgMTg6MDc6MzAuMDAwMDAwMDAw ICswMjAwCisrKysgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vZGgvZGhfZXJyLmMJMjAwOS0w OS0zMCAxMzoyNTo1OC4wMDAwMDAwMDAgKzAyMDAKIEBAIC03Myw2ICs3Myw4IEBAIHN0YXRpYyBF UlJfU1RSSU5HX0RBVEEgREhfc3RyX2Z1bmN0c1tdPQogIHtFUlJfRlVOQyhESF9GX0NPTVBVVEVf S0VZKSwJIkNPTVBVVEVfS0VZIn0sCiAge0VSUl9GVU5DKERIX0ZfREhQQVJBTVNfUFJJTlRfRlAp LAkiREhwYXJhbXNfcHJpbnRfZnAifSwKQEAgLTY4MSw3ICs2ODEsNyBAQCBkaWZmIC11cCBvcGVu c3NsLTEuMC4wLWJldGEzL2NyeXB0by9kaC9kaF9lcnIuYy5maXBzIG9wZW5zc2wtMS4wLjAtYmV0 YTMvY3J5cHRvLwogIHtFUlJfUkVBU09OKERIX1JfTk9fUEFSQU1FVEVSU19TRVQpICAgICAgLCJu byBwYXJhbWV0ZXJzIHNldCJ9LAogZGlmZiAtdXAgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8v ZGgvZGhfZ2VuLmMuZmlwcyBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9kaC9kaF9nZW4uYwog LS0tIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL2RoL2RoX2dlbi5jLmZpcHMJMjAwNS0wNC0y NiAyMDo1MzoxNS4wMDAwMDAwMDAgKzAyMDAKLSsrKyBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0 by9kaC9kaF9nZW4uYwkyMDA5LTA4LTExIDE4OjA3OjMwLjAwMDAwMDAwMCArMDIwMAorKysrIG9w ZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL2RoL2RoX2dlbi5jCTIwMDktMDktMzAgMTM6MjU6NTgu MDAwMDAwMDAwICswMjAwCiBAQCAtNjUsNiArNjUsMTAgQEAKICAjaW5jbHVkZSAiY3J5cHRsaWIu aCIKICAjaW5jbHVkZSA8b3BlbnNzbC9ibi5oPgpAQCAtNzE1LDggKzcxNSw4IEBAIGRpZmYgLXVw IG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL2RoL2RoX2dlbi5jLmZpcHMgb3BlbnNzbC0xLjAu MC1iZXRhMy9jcnlwdG8vCiAgCWlmIChjdHggPT0gTlVMTCkgZ290byBlcnI7CiAgCUJOX0NUWF9z dGFydChjdHgpOwogZGlmZiAtdXAgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vZGgvZGguaC5m aXBzIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL2RoL2RoLmgKLS0tLSBvcGVuc3NsLTEuMC4w LWJldGEzL2NyeXB0by9kaC9kaC5oLmZpcHMJMjAwOS0wOC0xMSAxODowNzoyOS4wMDAwMDAwMDAg KzAyMDAKLSsrKyBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9kaC9kaC5oCTIwMDktMDgtMTEg MTg6MDc6MzAuMDAwMDAwMDAwICswMjAwCistLS0gb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8v ZGgvZGguaC5maXBzCTIwMDktMDktMzAgMTM6MjU6NTcuMDAwMDAwMDAwICswMjAwCisrKysgb3Bl bnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vZGgvZGguaAkyMDA5LTA5LTMwIDEzOjI1OjU4LjAwMDAw MDAwMCArMDIwMAogQEAgLTc3LDYgKzc3LDggQEAKICAjIGRlZmluZSBPUEVOU1NMX0RIX01BWF9N T0RVTFVTX0JJVFMJMTAwMDAKICAjZW5kaWYKQEAgLTc0NSw3ICs3NDUsNyBAQCBkaWZmIC11cCBv cGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9kaC9kaC5oLmZpcHMgb3BlbnNzbC0xLjAuMC1iZXRh My9jcnlwdG8vZGgvZAogIH0KIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL2Ro L2RoX2tleS5jLmZpcHMgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vZGgvZGhfa2V5LmMKIC0t LSBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9kaC9kaF9rZXkuYy5maXBzCTIwMDctMDMtMjgg MDI6MTU6MjMuMDAwMDAwMDAwICswMjAwCi0rKysgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8v ZGgvZGhfa2V5LmMJMjAwOS0wOC0xMSAxODowNzozMC4wMDAwMDAwMDAgKzAyMDAKKysrKyBvcGVu c3NsLTEuMC4wLWJldGEzL2NyeXB0by9kaC9kaF9rZXkuYwkyMDA5LTA5LTMwIDEzOjI1OjU4LjAw MDAwMDAwMCArMDIwMAogQEAgLTYxLDYgKzYxLDkgQEAKICAjaW5jbHVkZSA8b3BlbnNzbC9ibi5o PgogICNpbmNsdWRlIDxvcGVuc3NsL3JhbmQuaD4KQEAgLTc5Nyw3ICs3OTcsNyBAQCBkaWZmIC11 cCBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9kaC9kaF9rZXkuYy5maXBzIG9wZW5zc2wtMS4w LjAtYmV0YTMvY3J5cHRvLwogIAl9CiBkaWZmIC11cCBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0 by9kc2EvZHNhX2dlbi5jLmZpcHMgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vZHNhL2RzYV9n ZW4uYwogLS0tIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL2RzYS9kc2FfZ2VuLmMuZmlwcwky MDA4LTEyLTI2IDE4OjE3OjIxLjAwMDAwMDAwMCArMDEwMAotKysrIG9wZW5zc2wtMS4wLjAtYmV0 YTMvY3J5cHRvL2RzYS9kc2FfZ2VuLmMJMjAwOS0wOC0xMSAxODowNzozMC4wMDAwMDAwMDAgKzAy MDAKKysrKyBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9kc2EvZHNhX2dlbi5jCTIwMDktMDkt MzAgMTM6MjU6NTguMDAwMDAwMDAwICswMjAwCiBAQCAtNzcsOCArNzcsMTIgQEAKICAjaW5jbHVk ZSAiY3J5cHRsaWIuaCIKICAjaW5jbHVkZSA8b3BlbnNzbC9ldnAuaD4KQEAgLTgzNCw4ICs4MzQs OCBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9kc2EvZHNhX2dlbi5jLmZp cHMgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdAogIAkgICAgcXNpemUgIT0gU0hBMjU2X0RJR0VT VF9MRU5HVEgpCiAgCQkvKiBpbnZhbGlkIHEgc2l6ZSAqLwogZGlmZiAtdXAgb3BlbnNzbC0xLjAu MC1iZXRhMy9jcnlwdG8vZHNhL2RzYS5oLmZpcHMgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8v ZHNhL2RzYS5oCi0tLS0gb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vZHNhL2RzYS5oLmZpcHMJ MjAwOS0wOC0xMSAxODowNzozMC4wMDAwMDAwMDAgKzAyMDAKLSsrKyBvcGVuc3NsLTEuMC4wLWJl dGEzL2NyeXB0by9kc2EvZHNhLmgJMjAwOS0wOC0xMSAxODowNzozMC4wMDAwMDAwMDAgKzAyMDAK Ky0tLSBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9kc2EvZHNhLmguZmlwcwkyMDA5LTA5LTMw IDEzOjI1OjU3LjAwMDAwMDAwMCArMDIwMAorKysrIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRv L2RzYS9kc2EuaAkyMDA5LTA5LTMwIDEzOjI1OjU4LjAwMDAwMDAwMCArMDIwMAogQEAgLTg4LDYg Kzg4LDggQEAKICAjIGRlZmluZSBPUEVOU1NMX0RTQV9NQVhfTU9EVUxVU19CSVRTCTEwMDAwCiAg I2VuZGlmCkBAIC04OTQsOCArODk0LDggQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjAuMC1iZXRhMy9j cnlwdG8vZHNhL2RzYS5oLmZpcHMgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vZHMKICAjaWZk ZWYgIF9fY3BsdXNwbHVzCiBkaWZmIC11cCBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9kc2Ev ZHNhX2tleS5jLmZpcHMgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vZHNhL2RzYV9rZXkuYwog LS0tIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL2RzYS9kc2Ffa2V5LmMuZmlwcwkyMDA3LTAz LTI4IDAyOjE1OjI1LjAwMDAwMDAwMCArMDIwMAotKysrIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5 cHRvL2RzYS9kc2Ffa2V5LmMJMjAwOS0wOC0xMSAxODowOTo0Mi4wMDAwMDAwMDAgKzAyMDAKLUBA IC02Myw5ICs2Myw0MCBAQAorKysrIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL2RzYS9kc2Ff a2V5LmMJMjAwOS0wOS0zMCAxNzowMTozNC4wMDAwMDAwMDAgKzAyMDAKK0BAIC02Myw5ICs2Myw1 MyBAQAogICNpbmNsdWRlIDxvcGVuc3NsL2JuLmg+CiAgI2luY2x1ZGUgPG9wZW5zc2wvZHNhLmg+ CiAgI2luY2x1ZGUgPG9wZW5zc2wvcmFuZC5oPgpAQCAtOTE3LDI2ICs5MTcsMzkgQEAgZGlmZiAt dXAgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vZHNhL2RzYV9rZXkuYy5maXBzIG9wZW5zc2wt MS4wLjAtYmV0YTMvY3J5cHQKICsKICtpbnQgZmlwc19jaGVja19kc2EoRFNBICpkc2EpCiArCXsK LSsJRVZQX1BLRVkgcGs7CisrCUVWUF9QS0VZICpwazsKICsJdW5zaWduZWQgY2hhciB0YnNbXSA9 ICJEU0EgUGFpcndpc2UgQ2hlY2sgRGF0YSI7Ci0rICAgIAlway50eXBlID0gRVZQX1BLRVlfRFNB OwotKyAgICAJcGsucGtleS5kc2EgPSBkc2E7CisrCWludCByZXQgPSAwOworKworKyAgICAJaWYg KChwaz1FVlBfUEtFWV9uZXcoKSkgPT0gTlVMTCkKKysJCWdvdG8gZXJyOworKworKwlFVlBfUEtF WV9zZXQxX0RTQShwaywgZHNhKTsKKysKKysJaWYgKCFmaXBzX3BrZXlfc2lnbmF0dXJlX3Rlc3Qo cGssIHRicywgLTEsCisrCQkJCQlOVUxMLCAwLCBFVlBfc2hhMSgpLCAwLCBOVUxMKSkKKysJCWdv dG8gZXJyOworKworKwlyZXQgPSAxOwogKwotKwlpZiAoIWZpcHNfcGtleV9zaWduYXR1cmVfdGVz dCgmcGssIHRicywgLTEsCi0rCQkJCQlOVUxMLCAwLCBFVlBfZHNzMSgpLCAwLCBOVUxMKSkKKytl cnI6CisrCWlmIChyZXQgPT0gMCkKICsJCXsKLSsJCUZJUFNlcnIoRklQU19GX0ZJUFNfQ0hFQ0tf RFNBLEZJUFNfUl9QQUlSV0lTRV9URVNUX0ZBSUxFRCk7CiArCQlmaXBzX3NldF9zZWxmdGVzdF9m YWlsKCk7Ci0rCQlyZXR1cm4gMDsKKysJCUZJUFNlcnIoRklQU19GX0ZJUFNfQ0hFQ0tfRFNBLEZJ UFNfUl9QQUlSV0lTRV9URVNUX0ZBSUxFRCk7CiArCQl9Ci0rCXJldHVybiAxOworKworKwlpZiAo cGspCisrCQlFVlBfUEtFWV9mcmVlKHBrKTsKKysKKysJcmV0dXJuIHJldDsKICsJfQogKyNlbmRp ZgogKwogIGludCBEU0FfZ2VuZXJhdGVfa2V5KERTQSAqZHNhKQogIAl7CiAgCWlmKGRzYS0+bWV0 aC0+ZHNhX2tleWdlbikKLUBAIC03OSw2ICsxMTAsMTQgQEAgc3RhdGljIGludCBkc2FfYnVpbHRp bl9rZXlnZW4oRFNBICpkc2EpCitAQCAtNzksNiArMTIzLDE0IEBAIHN0YXRpYyBpbnQgZHNhX2J1 aWx0aW5fa2V5Z2VuKERTQSAqZHNhKQogIAlCTl9DVFggKmN0eD1OVUxMOwogIAlCSUdOVU0gKnB1 Yl9rZXk9TlVMTCwqcHJpdl9rZXk9TlVMTDsKICAKQEAgLTk1MSw3ICs5NjQsNyBAQCBkaWZmIC11 cCBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9kc2EvZHNhX2tleS5jLmZpcHMgb3BlbnNzbC0x LjAuMC1iZXRhMy9jcnlwdAogIAlpZiAoKGN0eD1CTl9DVFhfbmV3KCkpID09IE5VTEwpIGdvdG8g ZXJyOwogIAogIAlpZiAoZHNhLT5wcml2X2tleSA9PSBOVUxMKQotQEAgLTExNyw2ICsxNTYsMTUg QEAgc3RhdGljIGludCBkc2FfYnVpbHRpbl9rZXlnZW4oRFNBICpkc2EpCitAQCAtMTE3LDYgKzE2 OSwxNSBAQCBzdGF0aWMgaW50IGRzYV9idWlsdGluX2tleWdlbihEU0EgKmRzYSkKICAKICAJZHNh LT5wcml2X2tleT1wcml2X2tleTsKICAJZHNhLT5wdWJfa2V5PXB1Yl9rZXk7CkBAIC05NjksNyAr OTgyLDcgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vZHNhL2RzYV9rZXku Yy5maXBzIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHQKICBlcnI6CiBkaWZmIC11cCBvcGVuc3Ns LTEuMC4wLWJldGEzL2NyeXB0by9kc2EvZHNhX29zc2wuYy5maXBzIG9wZW5zc2wtMS4wLjAtYmV0 YTMvY3J5cHRvL2RzYS9kc2Ffb3NzbC5jCiAtLS0gb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8v ZHNhL2RzYV9vc3NsLmMuZmlwcwkyMDA3LTAzLTI4IDAyOjE1OjI2LjAwMDAwMDAwMCArMDIwMAot KysrIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL2RzYS9kc2Ffb3NzbC5jCTIwMDktMDgtMTEg MTg6MDc6MzAuMDAwMDAwMDAwICswMjAwCisrKysgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8v ZHNhL2RzYV9vc3NsLmMJMjAwOS0wOS0zMCAxMzoyNTo1OC4wMDAwMDAwMDAgKzAyMDAKIEBAIC02 NSw2ICs2NSw5IEBACiAgI2luY2x1ZGUgPG9wZW5zc2wvZHNhLmg+CiAgI2luY2x1ZGUgPG9wZW5z c2wvcmFuZC5oPgpAQCAtMTA0Myw3ICsxMDU2LDcgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjAuMC1i ZXRhMy9jcnlwdG8vZHNhL2RzYV9vc3NsLmMuZmlwcyBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXAK ICB9CiBkaWZmIC11cCBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9lcnIvZXJyX2FsbC5jLmZp cHMgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vZXJyL2Vycl9hbGwuYwogLS0tIG9wZW5zc2wt MS4wLjAtYmV0YTMvY3J5cHRvL2Vyci9lcnJfYWxsLmMuZmlwcwkyMDA4LTExLTI0IDE4OjI3OjA2 LjAwMDAwMDAwMCArMDEwMAotKysrIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL2Vyci9lcnJf YWxsLmMJMjAwOS0wOC0xMSAxODowNzozMC4wMDAwMDAwMDAgKzAyMDAKKysrKyBvcGVuc3NsLTEu MC4wLWJldGEzL2NyeXB0by9lcnIvZXJyX2FsbC5jCTIwMDktMDktMzAgMTM6MjU6NTguMDAwMDAw MDAwICswMjAwCiBAQCAtOTYsNiArOTYsOSBAQAogICNpbmNsdWRlIDxvcGVuc3NsL29jc3AuaD4K ICAjaW5jbHVkZSA8b3BlbnNzbC9lcnIuaD4KQEAgLTEwNjYsNyArMTA3OSw3IEBAIGRpZmYgLXVw IG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL2Vyci9lcnJfYWxsLmMuZmlwcyBvcGVuc3NsLTEu MC4wLWJldGEzL2NyeXB0CiAgI2VuZGlmCiBkaWZmIC11cCBvcGVuc3NsLTEuMC4wLWJldGEzL2Ny eXB0by9ldnAvZGlnZXN0LmMuZmlwcyBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9ldnAvZGln ZXN0LmMKIC0tLSBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9ldnAvZGlnZXN0LmMuZmlwcwky MDA4LTExLTA0IDEzOjA2OjA5LjAwMDAwMDAwMCArMDEwMAotKysrIG9wZW5zc2wtMS4wLjAtYmV0 YTMvY3J5cHRvL2V2cC9kaWdlc3QuYwkyMDA5LTA4LTExIDE4OjA3OjMwLjAwMDAwMDAwMCArMDIw MAorKysrIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL2V2cC9kaWdlc3QuYwkyMDA5LTA5LTMw IDEzOjI1OjU4LjAwMDAwMDAwMCArMDIwMAogQEAgLTExNiw2ICsxMTYsNyBAQAogICNpZm5kZWYg T1BFTlNTTF9OT19FTkdJTkUKICAjaW5jbHVkZSA8b3BlbnNzbC9lbmdpbmUuaD4KQEAgLTExNjcs NyArMTE4MCw3IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL2V2cC9kaWdl c3QuYy5maXBzIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvCiAgCXJldD1jdHgtPmRpZ2VzdC0+ ZmluYWwoY3R4LG1kKTsKIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL2V2cC9l X2Flcy5jLmZpcHMgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vZXZwL2VfYWVzLmMKIC0tLSBv cGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9ldnAvZV9hZXMuYy5maXBzCTIwMDQtMDEtMjggMjA6 MDU6MzMuMDAwMDAwMDAwICswMTAwCi0rKysgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vZXZw L2VfYWVzLmMJMjAwOS0wOC0xMSAxODowNzozMC4wMDAwMDAwMDAgKzAyMDAKKysrKyBvcGVuc3Ns LTEuMC4wLWJldGEzL2NyeXB0by9ldnAvZV9hZXMuYwkyMDA5LTA5LTMwIDEzOjI1OjU4LjAwMDAw MDAwMCArMDIwMAogQEAgLTY5LDMyICs2OSwyOSBAQCB0eXBlZGVmIHN0cnVjdAogIAogIElNUExF TUVOVF9CTE9DS19DSVBIRVIoYWVzXzEyOCwga3MsIEFFUywgRVZQX0FFU19LRVksCkBAIC0xMjIy LDcgKzEyMzUsNyBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9ldnAvZV9h ZXMuYy5maXBzIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvLwogIAkJICAgY29uc3QgdW5zaWdu ZWQgY2hhciAqaXYsIGludCBlbmMpCiBkaWZmIC11cCBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0 by9ldnAvZV9jYW1lbGxpYS5jLmZpcHMgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vZXZwL2Vf Y2FtZWxsaWEuYwogLS0tIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL2V2cC9lX2NhbWVsbGlh LmMuZmlwcwkyMDA2LTA4LTMxIDIyOjU2OjIwLjAwMDAwMDAwMCArMDIwMAotKysrIG9wZW5zc2wt MS4wLjAtYmV0YTMvY3J5cHRvL2V2cC9lX2NhbWVsbGlhLmMJMjAwOS0wOC0xMSAxODowNzozMC4w MDAwMDAwMDAgKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9ldnAvZV9jYW1l bGxpYS5jCTIwMDktMDktMzAgMTM6MjU6NTguMDAwMDAwMDAwICswMjAwCiBAQCAtOTMsNyArOTMs NyBAQCBJTVBMRU1FTlRfQkxPQ0tfQ0lQSEVSKGNhbWVsbGlhXzI1Niwga3MsCiAgCUVWUF9DSVBI RVJfZ2V0X2FzbjFfaXYsCiAgCU5VTEwpCkBAIC0xMjM0LDcgKzEyNDcsNyBAQCBkaWZmIC11cCBv cGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9ldnAvZV9jYW1lbGxpYS5jLmZpcHMgb3BlbnNzbC0x LjAuMC1iZXRhMy9jcgogIElNUExFTUVOVF9DQU1FTExJQV9DRkJSKDE5MiwxKQogZGlmZiAtdXAg b3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vZXZwL2VfZGVzMy5jLmZpcHMgb3BlbnNzbC0xLjAu MC1iZXRhMy9jcnlwdG8vZXZwL2VfZGVzMy5jCiAtLS0gb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlw dG8vZXZwL2VfZGVzMy5jLmZpcHMJMjAwOC0xMi0yOSAxMzozNTo0Ny4wMDAwMDAwMDAgKzAxMDAK LSsrKyBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9ldnAvZV9kZXMzLmMJMjAwOS0wOC0xMSAx ODowNzozMC4wMDAwMDAwMDAgKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9l dnAvZV9kZXMzLmMJMjAwOS0wOS0zMCAxMzoyNTo1OC4wMDAwMDAwMDAgKzAyMDAKIEBAIC0yMDYs OSArMjA2LDkgQEAgc3RhdGljIGludCBkZXNfZWRlM19jZmI4X2NpcGhlcihFVlBfQ0lQSAogICAg ICB9CiAgCkBAIC0xMjgxLDcgKzEyOTQsNyBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMC4wLWJldGEz L2NyeXB0by9ldnAvZV9kZXMzLmMuZmlwcyBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0bwogIHN0 YXRpYyBpbnQgZGVzX2VkZV9pbml0X2tleShFVlBfQ0lQSEVSX0NUWCAqY3R4LCBjb25zdCB1bnNp Z25lZCBjaGFyICprZXksCiBkaWZmIC11cCBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9ldnAv ZV9udWxsLmMuZmlwcyBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9ldnAvZV9udWxsLmMKIC0t LSBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9ldnAvZV9udWxsLmMuZmlwcwkyMDA4LTEwLTMx IDIwOjQ4OjI0LjAwMDAwMDAwMCArMDEwMAotKysrIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRv L2V2cC9lX251bGwuYwkyMDA5LTA4LTExIDE4OjA3OjMwLjAwMDAwMDAwMCArMDIwMAorKysrIG9w ZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL2V2cC9lX251bGwuYwkyMDA5LTA5LTMwIDEzOjI1OjU4 LjAwMDAwMDAwMCArMDIwMAogQEAgLTY5LDcgKzY5LDcgQEAgc3RhdGljIGNvbnN0IEVWUF9DSVBI RVIgbl9jaXBoZXI9CiAgCXsKICAJTklEX3VuZGVmLApAQCAtMTI5Myw3ICsxMzA2LDcgQEAgZGlm ZiAtdXAgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vZXZwL2VfbnVsbC5jLmZpcHMgb3BlbnNz bC0xLjAuMC1iZXRhMy9jcnlwdG8KICAJTlVMTCwKIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjAtYmV0 YTMvY3J5cHRvL2V2cC9ldnBfZW5jLmMuZmlwcyBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9l dnAvZXZwX2VuYy5jCiAtLS0gb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vZXZwL2V2cF9lbmMu Yy5maXBzCTIwMDgtMTEtMTIgMDQ6NTg6MDAuMDAwMDAwMDAwICswMTAwCi0rKysgb3BlbnNzbC0x LjAuMC1iZXRhMy9jcnlwdG8vZXZwL2V2cF9lbmMuYwkyMDA5LTA4LTExIDE4OjA3OjMwLjAwMDAw MDAwMCArMDIwMAorKysrIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL2V2cC9ldnBfZW5jLmMJ MjAwOS0wOS0zMCAxMzoyNTo1OC4wMDAwMDAwMDAgKzAyMDAKIEBAIC02OCw4ICs2OCw1MyBAQAog IAogIGNvbnN0IGNoYXIgRVZQX3ZlcnNpb25bXT0iRVZQIiBPUEVOU1NMX1ZFUlNJT05fUFRFWFQ7 CkBAIC0xMzg4LDcgKzE0MDEsNyBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0 by9ldnAvZXZwX2VuYy5jLmZpcHMgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdAogIAl9CiBkaWZm IC11cCBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9ldnAvZXZwX2Vyci5jLmZpcHMgb3BlbnNz bC0xLjAuMC1iZXRhMy9jcnlwdG8vZXZwL2V2cF9lcnIuYwogLS0tIG9wZW5zc2wtMS4wLjAtYmV0 YTMvY3J5cHRvL2V2cC9ldnBfZXJyLmMuZmlwcwkyMDA4LTEyLTI5IDE3OjExOjU0LjAwMDAwMDAw MCArMDEwMAotKysrIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL2V2cC9ldnBfZXJyLmMJMjAw OS0wOC0xMSAxODowNzozMC4wMDAwMDAwMDAgKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4wLWJldGEz L2NyeXB0by9ldnAvZXZwX2Vyci5jCTIwMDktMDktMzAgMTM6MjU6NTguMDAwMDAwMDAwICswMjAw CiBAQCAtMTU0LDYgKzE1NCw3IEBAIHN0YXRpYyBFUlJfU1RSSU5HX0RBVEEgRVZQX3N0cl9yZWFz b25zW10KICB7RVJSX1JFQVNPTihFVlBfUl9ERUNPREVfRVJST1IpICAgICAgICAgICwiZGVjb2Rl IGVycm9yIn0sCiAge0VSUl9SRUFTT04oRVZQX1JfRElGRkVSRU5UX0tFWV9UWVBFUykgICAsImRp ZmZlcmVudCBrZXkgdHlwZXMifSwKQEAgLTEzOTgsOCArMTQxMSw4IEBAIGRpZmYgLXVwIG9wZW5z c2wtMS4wLjAtYmV0YTMvY3J5cHRvL2V2cC9ldnBfZXJyLmMuZmlwcyBvcGVuc3NsLTEuMC4wLWJl dGEzL2NyeXB0CiAge0VSUl9SRUFTT04oRVZQX1JfRVZQX1BCRV9DSVBIRVJJTklUX0VSUk9SKSwi ZXZwIHBiZSBjaXBoZXJpbml0IGVycm9yIn0sCiAge0VSUl9SRUFTT04oRVZQX1JfRVhQRUNUSU5H X0FOX1JTQV9LRVkpICAsImV4cGVjdGluZyBhbiByc2Ega2V5In0sCiBkaWZmIC11cCBvcGVuc3Ns LTEuMC4wLWJldGEzL2NyeXB0by9ldnAvZXZwLmguZmlwcyBvcGVuc3NsLTEuMC4wLWJldGEzL2Ny eXB0by9ldnAvZXZwLmgKLS0tLSBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9ldnAvZXZwLmgu ZmlwcwkyMDA5LTA4LTExIDE4OjA3OjMwLjAwMDAwMDAwMCArMDIwMAotKysrIG9wZW5zc2wtMS4w LjAtYmV0YTMvY3J5cHRvL2V2cC9ldnAuaAkyMDA5LTA4LTExIDE4OjA3OjMwLjAwMDAwMDAwMCAr MDIwMAorLS0tIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL2V2cC9ldnAuaC5maXBzCTIwMDkt MDktMzAgMTM6MjU6NTcuMDAwMDAwMDAwICswMjAwCisrKysgb3BlbnNzbC0xLjAuMC1iZXRhMy9j cnlwdG8vZXZwL2V2cC5oCTIwMDktMDktMzAgMTQ6NDA6NTQuMDAwMDAwMDAwICswMjAwCiBAQCAt NzUsNiArNzUsMTAgQEAKICAjaW5jbHVkZSA8b3BlbnNzbC9iaW8uaD4KICAjZW5kaWYKQEAgLTE0 MzEsNyArMTQ0NCwxOCBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9ldnAv ZXZwLmguZmlwcyBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9ldgogICNkZWZpbmUgRVZQX01E X0NUWF9GTEFHX05PTl9GSVBTX0FMTE9XCTB4MDAwOAkvKiBBbGxvdyB1c2Ugb2Ygbm9uIEZJUFMg ZGlnZXN0CiAgCQkJCQkJICogaW4gRklQUyBtb2RlICovCiAgCi1AQCAtMzMwLDYgKzMzMiwxNCBA QCBzdHJ1Y3QgZXZwX2NpcGhlcl9zdAorQEAgLTI4NCw2ICsyODYsMTAgQEAgc3RydWN0IGVudl9t ZF9jdHhfc3QKKyAjZGVmaW5lIEVWUF9NRF9DVFhfRkxBR19QQURfUEtDUzEJMHgwMAkvKiBQS0NT IzEgdjEuNSBtb2RlICovCisgI2RlZmluZSBFVlBfTURfQ1RYX0ZMQUdfUEFEX1g5MzEJMHgxMAkv KiBYOS4zMSBtb2RlICovCisgI2RlZmluZSBFVlBfTURfQ1RYX0ZMQUdfUEFEX1BTUwkJMHgyMAkv KiBQU1MgbW9kZSAqLworKyNkZWZpbmUgTV9FVlBfTURfQ1RYX0ZMQUdfUFNTX1NBTFQoY3R4KSBc CisrCQkoKGN0eC0+ZmxhZ3M+PjE2KSAmMHhGRkZGKSAvKiBzZWVkIGxlbmd0aCAqLworKyNkZWZp bmUgRVZQX01EX0NUWF9GTEFHX1BTU19NRExFTgkweEZGRkYJLyogc2FsdCBsZW4gc2FtZSBhcyBk aWdlc3QgKi8KKysjZGVmaW5lIEVWUF9NRF9DVFhfRkxBR19QU1NfTVJFQwkweEZGRkUJLyogc2Fs dCBtYXggb3IgYXV0byByZWNvdmVyZWQgKi8KKyAKKyAjZGVmaW5lIEVWUF9NRF9DVFhfRkxBR19O T19JTklUCQkweDAxMDAgLyogRG9uJ3QgaW5pdGlhbGl6ZSBtZF9kYXRhICovCisgCitAQCAtMzMw LDYgKzMzNiwxNCBAQCBzdHJ1Y3QgZXZwX2NpcGhlcl9zdAogICNkZWZpbmUgCUVWUF9DSVBIX05P X1BBRERJTkcJCTB4MTAwCiAgLyogY2lwaGVyIGhhbmRsZXMgcmFuZG9tIGtleSBnZW5lcmF0aW9u ICovCiAgI2RlZmluZSAJRVZQX0NJUEhfUkFORF9LRVkJCTB4MjAwCkBAIC0xNDQ2LDcgKzE0NzAs NyBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9ldnAvZXZwLmguZmlwcyBv cGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9ldgogIAogIC8qIGN0cmwoKSB2YWx1ZXMgKi8KICAK LUBAIC01MDcsNiArNTE3LDEwIEBAIGludAlFVlBfQnl0ZXNUb0tleShjb25zdCBFVlBfQ0lQSEVS ICp0eXAKK0BAIC01MDcsNiArNTIxLDEwIEBAIGludAlFVlBfQnl0ZXNUb0tleShjb25zdCBFVlBf Q0lQSEVSICp0eXAKICAJCWNvbnN0IHVuc2lnbmVkIGNoYXIgKnNhbHQsIGNvbnN0IHVuc2lnbmVk IGNoYXIgKmRhdGEsCiAgCQlpbnQgZGF0YWwsIGludCBjb3VudCwgdW5zaWduZWQgY2hhciAqa2V5 LHVuc2lnbmVkIGNoYXIgKml2KTsKICAKQEAgLTE0NTcsNyArMTQ4MSw3IEBAIGRpZmYgLXVwIG9w ZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL2V2cC9ldnAuaC5maXBzIG9wZW5zc2wtMS4wLjAtYmV0 YTMvY3J5cHRvL2V2CiAgaW50CUVWUF9FbmNyeXB0SW5pdChFVlBfQ0lQSEVSX0NUWCAqY3R4LGNv bnN0IEVWUF9DSVBIRVIgKmNpcGhlciwKICAJCWNvbnN0IHVuc2lnbmVkIGNoYXIgKmtleSwgY29u c3QgdW5zaWduZWQgY2hhciAqaXYpOwogIGludAlFVlBfRW5jcnlwdEluaXRfZXgoRVZQX0NJUEhF Ul9DVFggKmN0eCxjb25zdCBFVlBfQ0lQSEVSICpjaXBoZXIsIEVOR0lORSAqaW1wbCwKLUBAIC0x MjI1LDYgKzEyMzksNyBAQCB2b2lkIEVSUl9sb2FkX0VWUF9zdHJpbmdzKHZvaWQpOworQEAgLTEy MjUsNiArMTI0Myw3IEBAIHZvaWQgRVJSX2xvYWRfRVZQX3N0cmluZ3Modm9pZCk7CiAgI2RlZmlu ZSBFVlBfUl9ERUNPREVfRVJST1IJCQkJIDExNAogICNkZWZpbmUgRVZQX1JfRElGRkVSRU5UX0tF WV9UWVBFUwkJCSAxMDEKICAjZGVmaW5lIEVWUF9SX0RJRkZFUkVOVF9QQVJBTUVURVJTCQkJIDE1 MwpAQCAtMTQ2Nyw3ICsxNDkxLDcgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlw dG8vZXZwL2V2cC5oLmZpcHMgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vZXYKICAjZGVmaW5l IEVWUF9SX0VYUEVDVElOR19BTl9SU0FfS0VZCQkJIDEyNwogZGlmZiAtdXAgb3BlbnNzbC0xLjAu MC1iZXRhMy9jcnlwdG8vZXZwL2V2cF9saWIuYy5maXBzIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5 cHRvL2V2cC9ldnBfbGliLmMKIC0tLSBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9ldnAvZXZw X2xpYi5jLmZpcHMJMjAwOS0wNC0xMCAxMjozMDoyNy4wMDAwMDAwMDAgKzAyMDAKLSsrKyBvcGVu c3NsLTEuMC4wLWJldGEzL2NyeXB0by9ldnAvZXZwX2xpYi5jCTIwMDktMDgtMTEgMTg6MDc6MzAu MDAwMDAwMDAwICswMjAwCisrKysgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vZXZwL2V2cF9s aWIuYwkyMDA5LTA5LTMwIDEzOjI1OjU4LjAwMDAwMDAwMCArMDIwMAogQEAgLTY3LDYgKzY3LDgg QEAgaW50IEVWUF9DSVBIRVJfcGFyYW1fdG9fYXNuMShFVlBfQ0lQSEVSXwogIAogIAlpZiAoYy0+ Y2lwaGVyLT5zZXRfYXNuMV9wYXJhbWV0ZXJzICE9IE5VTEwpCkBAIC0xNTE2LDggKzE1NDAsOCBA QCBkaWZmIC11cCBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9ldnAvZXZwX2xpYi5jLmZpcHMg b3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdAogKwlyZXR1cm4gKGN0eC0+ZmxhZ3MgJiBmbGFncyk7 CiArCX0KIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL2V2cC9ldnBfbG9jbC5o LmZpcHMgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vZXZwL2V2cF9sb2NsLmgKLS0tLSBvcGVu c3NsLTEuMC4wLWJldGEzL2NyeXB0by9ldnAvZXZwX2xvY2wuaC5maXBzCTIwMDktMDgtMTEgMTg6 MDc6MzAuMDAwMDAwMDAwICswMjAwCi0rKysgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vZXZw L2V2cF9sb2NsLmgJMjAwOS0wOC0xMSAxODowNzozMC4wMDAwMDAwMDAgKzAyMDAKKy0tLSBvcGVu c3NsLTEuMC4wLWJldGEzL2NyeXB0by9ldnAvZXZwX2xvY2wuaC5maXBzCTIwMDktMDktMzAgMTM6 MjU6NTcuMDAwMDAwMDAwICswMjAwCisrKysgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vZXZw L2V2cF9sb2NsLmgJMjAwOS0wOS0zMCAxMzoyNTo1OC4wMDAwMDAwMDAgKzAyMDAKIEBAIC0xMTEs MTEgKzExMSwxMSBAQCBzdGF0aWMgaW50IGNuYW1lIyNfY2JjX2NpcGhlcihFVlBfQ0lQSEVSCiAg c3RhdGljIGludCBjbmFtZSMjX2NmYiMjY2JpdHMjI19jaXBoZXIoRVZQX0NJUEhFUl9DVFggKmN0 eCwgdW5zaWduZWQgY2hhciAqb3V0LCBjb25zdCB1bnNpZ25lZCBjaGFyICppbiwgc2l6ZV90IGlu bCkgXAogIHtcCkBAIC0xNTY3LDI0ICsxNTkxLDI0IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjAt YmV0YTMvY3J5cHRvL2V2cC9ldnBfbG9jbC5oLmZpcHMgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlw CiAgCiAgc3RydWN0IGV2cF9wa2V5X2N0eF9zdAogIAl7Ci1kaWZmIC11cCBvcGVuc3NsLTEuMC4w LWJldGEzL2NyeXB0by9ldnAvbV9kc3MxLmMuZmlwcyBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0 by9ldnAvbV9kc3MxLmMKLS0tLSBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9ldnAvbV9kc3Mx LmMuZmlwcwkyMDA2LTA0LTE5IDE5OjA1OjU3LjAwMDAwMDAwMCArMDIwMAotKysrIG9wZW5zc2wt MS4wLjAtYmV0YTMvY3J5cHRvL2V2cC9tX2RzczEuYwkyMDA5LTA4LTExIDE4OjA3OjMwLjAwMDAw MDAwMCArMDIwMAotQEAgLTgyLDcgKzgyLDcgQEAgc3RhdGljIGNvbnN0IEVWUF9NRCBkc3MxX21k PQotIAlOSURfZHNhLAotIAlOSURfZHNhV2l0aFNIQTEsCitkaWZmIC11cCBvcGVuc3NsLTEuMC4w LWJldGEzL2NyeXB0by9ldnAvbV9kc3MuYy5maXBzIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRv L2V2cC9tX2Rzcy5jCistLS0gb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vZXZwL21fZHNzLmMu ZmlwcwkyMDA2LTA0LTE5IDE5OjA1OjU3LjAwMDAwMDAwMCArMDIwMAorKysrIG9wZW5zc2wtMS4w LjAtYmV0YTMvY3J5cHRvL2V2cC9tX2Rzcy5jCTIwMDktMDktMzAgMTM6MjU6NTguMDAwMDAwMDAw ICswMjAwCitAQCAtODEsNyArODEsNyBAQCBzdGF0aWMgY29uc3QgRVZQX01EIGRzYV9tZD0KKyAJ TklEX2RzYVdpdGhTSEEsCisgCU5JRF9kc2FXaXRoU0hBLAogIAlTSEFfRElHRVNUX0xFTkdUSCwK IC0JRVZQX01EX0ZMQUdfUEtFWV9ESUdFU1QsCiArCUVWUF9NRF9GTEFHX1BLRVlfRElHRVNUfEVW UF9NRF9GTEFHX0ZJUFMsCiAgCWluaXQsCiAgCXVwZGF0ZSwKICAJZmluYWwsCi1kaWZmIC11cCBv cGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9ldnAvbV9kc3MuYy5maXBzIG9wZW5zc2wtMS4wLjAt YmV0YTMvY3J5cHRvL2V2cC9tX2Rzcy5jCi0tLS0gb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8v ZXZwL21fZHNzLmMuZmlwcwkyMDA2LTA0LTE5IDE5OjA1OjU3LjAwMDAwMDAwMCArMDIwMAotKysr IG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL2V2cC9tX2Rzcy5jCTIwMDktMDgtMTEgMTg6MDc6 MzAuMDAwMDAwMDAwICswMjAwCi1AQCAtODEsNyArODEsNyBAQCBzdGF0aWMgY29uc3QgRVZQX01E IGRzYV9tZD0KLSAJTklEX2RzYVdpdGhTSEEsCi0gCU5JRF9kc2FXaXRoU0hBLAorZGlmZiAtdXAg b3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vZXZwL21fZHNzMS5jLmZpcHMgb3BlbnNzbC0xLjAu MC1iZXRhMy9jcnlwdG8vZXZwL21fZHNzMS5jCistLS0gb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlw dG8vZXZwL21fZHNzMS5jLmZpcHMJMjAwNi0wNC0xOSAxOTowNTo1Ny4wMDAwMDAwMDAgKzAyMDAK KysrKyBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9ldnAvbV9kc3MxLmMJMjAwOS0wOS0zMCAx MzoyNTo1OC4wMDAwMDAwMDAgKzAyMDAKK0BAIC04Miw3ICs4Miw3IEBAIHN0YXRpYyBjb25zdCBF VlBfTUQgZHNzMV9tZD0KKyAJTklEX2RzYSwKKyAJTklEX2RzYVdpdGhTSEExLAogIAlTSEFfRElH RVNUX0xFTkdUSCwKIC0JRVZQX01EX0ZMQUdfUEtFWV9ESUdFU1QsCiArCUVWUF9NRF9GTEFHX1BL RVlfRElHRVNUfEVWUF9NRF9GTEFHX0ZJUFMsCkBAIC0xNTkzLDcgKzE2MTcsNyBAQCBkaWZmIC11 cCBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9ldnAvbV9kc3MuYy5maXBzIG9wZW5zc2wtMS4w LjAtYmV0YTMvY3J5cHRvLwogIAlmaW5hbCwKIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjAtYmV0YTMv Y3J5cHRvL2V2cC9tX3NoYTEuYy5maXBzIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL2V2cC9t X3NoYTEuYwogLS0tIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL2V2cC9tX3NoYTEuYy5maXBz CTIwMDgtMDMtMTIgMjI6MTQ6MjQuMDAwMDAwMDAwICswMTAwCi0rKysgb3BlbnNzbC0xLjAuMC1i ZXRhMy9jcnlwdG8vZXZwL21fc2hhMS5jCTIwMDktMDgtMTEgMTg6MDc6MzAuMDAwMDAwMDAwICsw MjAwCisrKysgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vZXZwL21fc2hhMS5jCTIwMDktMDkt MzAgMTM6MjU6NTguMDAwMDAwMDAwICswMjAwCiBAQCAtODIsNyArODIsOCBAQCBzdGF0aWMgY29u c3QgRVZQX01EIHNoYTFfbWQ9CiAgCU5JRF9zaGExLAogIAlOSURfc2hhMVdpdGhSU0FFbmNyeXB0 aW9uLApAQCAtMTY0Niw3ICsxNjcwLDcgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjAuMC1iZXRhMy9j cnlwdG8vZXZwL21fc2hhMS5jLmZpcHMgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8KICAJZmlu YWw1MTIsCiBkaWZmIC11cCBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9ldnAvbmFtZXMuYy5m aXBzIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL2V2cC9uYW1lcy5jCiAtLS0gb3BlbnNzbC0x LjAuMC1iZXRhMy9jcnlwdG8vZXZwL25hbWVzLmMuZmlwcwkyMDA5LTA0LTEwIDEyOjMwOjI3LjAw MDAwMDAwMCArMDIwMAotKysrIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL2V2cC9uYW1lcy5j CTIwMDktMDgtMTEgMTg6MDc6MzAuMDAwMDAwMDAwICswMjAwCisrKysgb3BlbnNzbC0xLjAuMC1i ZXRhMy9jcnlwdG8vZXZwL25hbWVzLmMJMjAwOS0wOS0zMCAxMzoyNTo1OC4wMDAwMDAwMDAgKzAy MDAKIEBAIC02Niw2ICs2NiwxMCBAQCBpbnQgRVZQX2FkZF9jaXBoZXIoY29uc3QgRVZQX0NJUEhF UiAqYykKICAJewogIAlpbnQgcjsKQEAgLTE2NjksOSArMTY5Myw3NyBAQCBkaWZmIC11cCBvcGVu c3NsLTEuMC4wLWJldGEzL2NyeXB0by9ldnAvbmFtZXMuYy5maXBzIG9wZW5zc2wtMS4wLjAtYmV0 YTMvY3J5cHRvLwogIAluYW1lPU9CSl9uaWQyc24obWQtPnR5cGUpOwogIAlyPU9CSl9OQU1FX2Fk ZChuYW1lLE9CSl9OQU1FX1RZUEVfTURfTUVUSCwoY29uc3QgY2hhciAqKW1kKTsKICAJaWYgKHIg PT0gMCkgcmV0dXJuKDApOworZGlmZiAtdXAgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vZXZw L3Bfc2lnbi5jLmZpcHMgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vZXZwL3Bfc2lnbi5jCist LS0gb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vZXZwL3Bfc2lnbi5jLmZpcHMJMjAwNi0wNS0y NCAxNToyOTozMC4wMDAwMDAwMDAgKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0 by9ldnAvcF9zaWduLmMJMjAwOS0wOS0zMCAxNTowNzoxNC4wMDAwMDAwMDAgKzAyMDAKK0BAIC02 MSw2ICs2MSw3IEBACisgI2luY2x1ZGUgPG9wZW5zc2wvZXZwLmg+CisgI2luY2x1ZGUgPG9wZW5z c2wvb2JqZWN0cy5oPgorICNpbmNsdWRlIDxvcGVuc3NsL3g1MDkuaD4KKysjaW5jbHVkZSA8b3Bl bnNzbC9yc2EuaD4KKyAKKyAjaWZkZWYgdW5kZWYKKyB2b2lkIEVWUF9TaWduSW5pdChFVlBfTURf Q1RYICpjdHgsIEVWUF9NRCAqdHlwZSkKK0BAIC0xMDEsNiArMTAyLDIyIEBAIGludCBFVlBfU2ln bkZpbmFsKEVWUF9NRF9DVFggKmN0eCwgdW5zaWcKKyAJCQlnb3RvIGVycjsKKyAJCWlmIChFVlBf UEtFWV9DVFhfc2V0X3NpZ25hdHVyZV9tZChwa2N0eCwgY3R4LT5kaWdlc3QpIDw9IDApCisgCQkJ Z290byBlcnI7CisrCQlpZiAoY3R4LT5mbGFncyAmIEVWUF9NRF9DVFhfRkxBR19QQURfWDkzMSkK KysJCQlpZiAoRVZQX1BLRVlfQ1RYX3NldF9yc2FfcGFkZGluZyhwa2N0eCwgUlNBX1g5MzFfUEFE RElORykgPD0gMCkKKysJCQkJZ290byBlcnI7CisrCQlpZiAoY3R4LT5mbGFncyAmIEVWUF9NRF9D VFhfRkxBR19QQURfUFNTKQorKwkJCXsKKysJCQlpbnQgc2FsdGxlbjsKKysJCQlpZiAoRVZQX1BL RVlfQ1RYX3NldF9yc2FfcGFkZGluZyhwa2N0eCwgUlNBX1BLQ1MxX1BTU19QQURESU5HKSA8PSAw KQorKwkJCQlnb3RvIGVycjsKKysJCQlzYWx0bGVuID0gTV9FVlBfTURfQ1RYX0ZMQUdfUFNTX1NB TFQoY3R4KTsKKysJCQlpZiAoc2FsdGxlbiA9PSBFVlBfTURfQ1RYX0ZMQUdfUFNTX01ETEVOKQor KwkJCQlzYWx0bGVuID0gLTE7CisrCQkJZWxzZSBpZiAoc2FsdGxlbiA9PSBFVlBfTURfQ1RYX0ZM QUdfUFNTX01SRUMpCisrCQkJCXNhbHRsZW4gPSAtMjsKKysJCQlpZiAoRVZQX1BLRVlfQ1RYX3Nl dF9yc2FfcHNzX3NhbHRsZW4ocGtjdHgsIHNhbHRsZW4pIDw9IDApCisrCQkJCWdvdG8gZXJyOwor KwkJCX0KKyAJCWlmIChFVlBfUEtFWV9zaWduKHBrY3R4LCBzaWdyZXQsICZzbHRtcCwgbSwgbV9s ZW4pIDw9IDApCisgCQkJZ290byBlcnI7CisgCQkqc2lnbGVuID0gc2x0bXA7CitkaWZmIC11cCBv cGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9ldnAvcF92ZXJpZnkuYy5maXBzIG9wZW5zc2wtMS4w LjAtYmV0YTMvY3J5cHRvL2V2cC9wX3ZlcmlmeS5jCistLS0gb3BlbnNzbC0xLjAuMC1iZXRhMy9j cnlwdG8vZXZwL3BfdmVyaWZ5LmMuZmlwcwkyMDA4LTExLTEyIDA0OjU4OjAxLjAwMDAwMDAwMCAr MDEwMAorKysrIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL2V2cC9wX3ZlcmlmeS5jCTIwMDkt MDktMzAgMTU6MDc6MjcuMDAwMDAwMDAwICswMjAwCitAQCAtNjEsNiArNjEsNyBAQAorICNpbmNs dWRlIDxvcGVuc3NsL2V2cC5oPgorICNpbmNsdWRlIDxvcGVuc3NsL29iamVjdHMuaD4KKyAjaW5j bHVkZSA8b3BlbnNzbC94NTA5Lmg+CisrI2luY2x1ZGUgPG9wZW5zc2wvcnNhLmg+CisgCisgaW50 IEVWUF9WZXJpZnlGaW5hbChFVlBfTURfQ1RYICpjdHgsIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNp Z2J1ZiwKKyAJICAgICB1bnNpZ25lZCBpbnQgc2lnbGVuLCBFVlBfUEtFWSAqcGtleSkKK0BAIC04 Niw2ICs4NywyMiBAQCBpbnQgRVZQX1ZlcmlmeUZpbmFsKEVWUF9NRF9DVFggKmN0eCwgY29uCisg CQkJZ290byBlcnI7CisgCQlpZiAoRVZQX1BLRVlfQ1RYX3NldF9zaWduYXR1cmVfbWQocGtjdHgs IGN0eC0+ZGlnZXN0KSA8PSAwKQorIAkJCWdvdG8gZXJyOworKwkJaWYgKGN0eC0+ZmxhZ3MgJiBF VlBfTURfQ1RYX0ZMQUdfUEFEX1g5MzEpCisrCQkJaWYgKEVWUF9QS0VZX0NUWF9zZXRfcnNhX3Bh ZGRpbmcocGtjdHgsIFJTQV9YOTMxX1BBRERJTkcpIDw9IDApCisrCQkJCWdvdG8gZXJyOworKwkJ aWYgKGN0eC0+ZmxhZ3MgJiBFVlBfTURfQ1RYX0ZMQUdfUEFEX1BTUykKKysJCQl7CisrCQkJaW50 IHNhbHRsZW47CisrCQkJaWYgKEVWUF9QS0VZX0NUWF9zZXRfcnNhX3BhZGRpbmcocGtjdHgsIFJT QV9QS0NTMV9QU1NfUEFERElORykgPD0gMCkKKysJCQkJZ290byBlcnI7CisrCQkJc2FsdGxlbiA9 IE1fRVZQX01EX0NUWF9GTEFHX1BTU19TQUxUKGN0eCk7CisrCQkJaWYgKHNhbHRsZW4gPT0gRVZQ X01EX0NUWF9GTEFHX1BTU19NRExFTikKKysJCQkJc2FsdGxlbiA9IC0xOworKwkJCWVsc2UgaWYg KHNhbHRsZW4gPT0gRVZQX01EX0NUWF9GTEFHX1BTU19NUkVDKQorKwkJCQlzYWx0bGVuID0gLTI7 CisrCQkJaWYgKEVWUF9QS0VZX0NUWF9zZXRfcnNhX3Bzc19zYWx0bGVuKHBrY3R4LCBzYWx0bGVu KSA8PSAwKQorKwkJCQlnb3RvIGVycjsKKysJCQl9CisgCQlpID0gRVZQX1BLRVlfdmVyaWZ5KHBr Y3R4LCBzaWdidWYsIHNpZ2xlbiwgbSwgbV9sZW4pOworIAkJZXJyOgorIAkJRVZQX1BLRVlfQ1RY X2ZyZWUocGtjdHgpOwogZGlmZiAtdXAgL2Rldi9udWxsIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5 cHRvL2ZpcHMvY2F2cy9maXBzX2Flc2F2cy5jCi0tLS0gL2Rldi9udWxsCTIwMDktMDctMjcgMDg6 Mzk6MjIuODQ5MDY0NTA1ICswMjAwCi0rKysgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vZmlw cy9jYXZzL2ZpcHNfYWVzYXZzLmMJMjAwOS0wOC0xMSAxODowNzozMC4wMDAwMDAwMDAgKzAyMDAK Ky0tLSAvZGV2L251bGwJMjAwOS0wOS0yMyAxMDo1NjowMi4xNDgwMDE3NTIgKzAyMDAKKysrKyBv cGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9maXBzL2NhdnMvZmlwc19hZXNhdnMuYwkyMDA5LTA5 LTMwIDEzOjI1OjU4LjAwMDAwMDAwMCArMDIwMAogQEAgLTAsMCArMSw5MzkgQEAKICsvKiA9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQogKyAqIENvcHlyaWdodCAoYykgMjAwNCBUaGUgT3BlblNTTCBQcm9qZWN0LiAgQWxs IHJpZ2h0cyByZXNlcnZlZC4KQEAgLTI2MTMsOCArMjcwNSw4IEBAIGRpZmYgLXVwIC9kZXYvbnVs bCBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9maXBzL2NhdnMvZmlwc19hZXNhdnMuYwogKwog KyNlbmRpZgogZGlmZiAtdXAgL2Rldi9udWxsIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL2Zp cHMvY2F2cy9maXBzX2Rlc21vdnMuYwotLS0tIC9kZXYvbnVsbAkyMDA5LTA3LTI3IDA4OjM5OjIy Ljg0OTA2NDUwNSArMDIwMAotKysrIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL2ZpcHMvY2F2 cy9maXBzX2Rlc21vdnMuYwkyMDA5LTA4LTExIDE4OjA3OjMwLjAwMDAwMDAwMCArMDIwMAorLS0t IC9kZXYvbnVsbAkyMDA5LTA5LTIzIDEwOjU2OjAyLjE0ODAwMTc1MiArMDIwMAorKysrIG9wZW5z c2wtMS4wLjAtYmV0YTMvY3J5cHRvL2ZpcHMvY2F2cy9maXBzX2Rlc21vdnMuYwkyMDA5LTA5LTMw IDEzOjI1OjU4LjAwMDAwMDAwMCArMDIwMAogQEAgLTAsMCArMSw3MDIgQEAKICsvKiA9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQogKyAqIENvcHlyaWdodCAoYykgMjAwNCBUaGUgT3BlblNTTCBQcm9qZWN0LiAgQWxsIHJp Z2h0cyByZXNlcnZlZC4KQEAgLTMzMTksOCArMzQxMSw4IEBAIGRpZmYgLXVwIC9kZXYvbnVsbCBv cGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9maXBzL2NhdnMvZmlwc19kZXNtb3ZzLmMKICsKICsj ZW5kaWYKIGRpZmYgLXVwIC9kZXYvbnVsbCBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9maXBz L2NhdnMvZmlwc19kc3N2cy5jCi0tLS0gL2Rldi9udWxsCTIwMDktMDctMjcgMDg6Mzk6MjIuODQ5 MDY0NTA1ICswMjAwCi0rKysgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vZmlwcy9jYXZzL2Zp cHNfZHNzdnMuYwkyMDA5LTA4LTExIDE4OjA3OjMwLjAwMDAwMDAwMCArMDIwMAorLS0tIC9kZXYv bnVsbAkyMDA5LTA5LTIzIDEwOjU2OjAyLjE0ODAwMTc1MiArMDIwMAorKysrIG9wZW5zc2wtMS4w LjAtYmV0YTMvY3J5cHRvL2ZpcHMvY2F2cy9maXBzX2Rzc3ZzLmMJMjAwOS0wOS0zMCAxMzoyNTo1 OC4wMDAwMDAwMDAgKzAyMDAKIEBAIC0wLDAgKzEsNTM3IEBACiArI2luY2x1ZGUgPG9wZW5zc2wv b3BlbnNzbGNvbmYuaD4KICsKQEAgLTM4NjAsOCArMzk1Miw4IEBAIGRpZmYgLXVwIC9kZXYvbnVs bCBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9maXBzL2NhdnMvZmlwc19kc3N2cy5jCiArCiAr I2VuZGlmCiBkaWZmIC11cCAvZGV2L251bGwgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vZmlw cy9jYXZzL2ZpcHNfcm5ndnMuYwotLS0tIC9kZXYvbnVsbAkyMDA5LTA3LTI3IDA4OjM5OjIyLjg0 OTA2NDUwNSArMDIwMAotKysrIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL2ZpcHMvY2F2cy9m aXBzX3JuZ3ZzLmMJMjAwOS0wOC0xMSAxODowNzozMC4wMDAwMDAwMDAgKzAyMDAKKy0tLSAvZGV2 L251bGwJMjAwOS0wOS0yMyAxMDo1NjowMi4xNDgwMDE3NTIgKzAyMDAKKysrKyBvcGVuc3NsLTEu MC4wLWJldGEzL2NyeXB0by9maXBzL2NhdnMvZmlwc19ybmd2cy5jCTIwMDktMDktMzAgMTM6MjU6 NTguMDAwMDAwMDAwICswMjAwCiBAQCAtMCwwICsxLDIzMCBAQAogKy8qCiArICogQ3J1ZGUgdGVz dCBkcml2ZXIgZm9yIHByb2Nlc3NpbmcgdGhlIFZTVCBhbmQgTUNUIHRlc3R2ZWN0b3IgZmlsZXMK QEAgLTQwOTQsOCArNDE4Niw4IEBAIGRpZmYgLXVwIC9kZXYvbnVsbCBvcGVuc3NsLTEuMC4wLWJl dGEzL2NyeXB0by9maXBzL2NhdnMvZmlwc19ybmd2cy5jCiArICAgIH0KICsjZW5kaWYKIGRpZmYg LXVwIC9kZXYvbnVsbCBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9maXBzL2NhdnMvZmlwc19y c2FndGVzdC5jCi0tLS0gL2Rldi9udWxsCTIwMDktMDctMjcgMDg6Mzk6MjIuODQ5MDY0NTA1ICsw MjAwCi0rKysgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vZmlwcy9jYXZzL2ZpcHNfcnNhZ3Rl c3QuYwkyMDA5LTA4LTExIDE4OjA3OjMwLjAwMDAwMDAwMCArMDIwMAorLS0tIC9kZXYvbnVsbAky MDA5LTA5LTIzIDEwOjU2OjAyLjE0ODAwMTc1MiArMDIwMAorKysrIG9wZW5zc2wtMS4wLjAtYmV0 YTMvY3J5cHRvL2ZpcHMvY2F2cy9maXBzX3JzYWd0ZXN0LmMJMjAwOS0wOS0zMCAxMzoyNTo1OC4w MDAwMDAwMDAgKzAyMDAKIEBAIC0wLDAgKzEsMzkwIEBACiArLyogZmlwc19yc2FndGVzdC5jICov CiArLyogV3JpdHRlbiBieSBEciBTdGVwaGVuIE4gSGVuc29uIChzdGV2ZUBvcGVuc3NsLm9yZykg Zm9yIHRoZSBPcGVuU1NMCkBAIC00NDg4LDggKzQ1ODAsOCBAQCBkaWZmIC11cCAvZGV2L251bGwg b3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vZmlwcy9jYXZzL2ZpcHNfcnNhZ3Rlc3QuYwogKwog KyNlbmRpZgogZGlmZiAtdXAgL2Rldi9udWxsIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL2Zp cHMvY2F2cy9maXBzX3JzYXN0ZXN0LmMKLS0tLSAvZGV2L251bGwJMjAwOS0wNy0yNyAwODozOToy Mi44NDkwNjQ1MDUgKzAyMDAKLSsrKyBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9maXBzL2Nh dnMvZmlwc19yc2FzdGVzdC5jCTIwMDktMDgtMTEgMTg6MDc6MzAuMDAwMDAwMDAwICswMjAwCist LS0gL2Rldi9udWxsCTIwMDktMDktMjMgMTA6NTY6MDIuMTQ4MDAxNzUyICswMjAwCisrKysgb3Bl bnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vZmlwcy9jYXZzL2ZpcHNfcnNhc3Rlc3QuYwkyMDA5LTA5 LTMwIDEzOjI1OjU4LjAwMDAwMDAwMCArMDIwMAogQEAgLTAsMCArMSwzNzAgQEAKICsvKiBmaXBz X3JzYXN0ZXN0LmMgKi8KICsvKiBXcml0dGVuIGJ5IERyIFN0ZXBoZW4gTiBIZW5zb24gKHN0ZXZl QG9wZW5zc2wub3JnKSBmb3IgdGhlIE9wZW5TU0wKQEAgLTQ4NjIsOCArNDk1NCw4IEBAIGRpZmYg LXVwIC9kZXYvbnVsbCBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9maXBzL2NhdnMvZmlwc19y c2FzdGVzdC5jCiArCX0KICsjZW5kaWYKIGRpZmYgLXVwIC9kZXYvbnVsbCBvcGVuc3NsLTEuMC4w LWJldGEzL2NyeXB0by9maXBzL2NhdnMvZmlwc19yc2F2dGVzdC5jCi0tLS0gL2Rldi9udWxsCTIw MDktMDctMjcgMDg6Mzk6MjIuODQ5MDY0NTA1ICswMjAwCi0rKysgb3BlbnNzbC0xLjAuMC1iZXRh My9jcnlwdG8vZmlwcy9jYXZzL2ZpcHNfcnNhdnRlc3QuYwkyMDA5LTA4LTExIDE4OjA3OjMwLjAw MDAwMDAwMCArMDIwMAorLS0tIC9kZXYvbnVsbAkyMDA5LTA5LTIzIDEwOjU2OjAyLjE0ODAwMTc1 MiArMDIwMAorKysrIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL2ZpcHMvY2F2cy9maXBzX3Jz YXZ0ZXN0LmMJMjAwOS0wOS0zMCAxMzoyNTo1OC4wMDAwMDAwMDAgKzAyMDAKIEBAIC0wLDAgKzEs Mzc3IEBACiArLyogZmlwc19yc2F2dGVzdC5jICovCiArLyogV3JpdHRlbiBieSBEciBTdGVwaGVu IE4gSGVuc29uIChzdGV2ZUBvcGVuc3NsLm9yZykgZm9yIHRoZSBPcGVuU1NMCkBAIC01MjQzLDgg KzUzMzUsOCBAQCBkaWZmIC11cCAvZGV2L251bGwgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8v Zmlwcy9jYXZzL2ZpcHNfcnNhdnRlc3QuYwogKwl9CiArI2VuZGlmCiBkaWZmIC11cCAvZGV2L251 bGwgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vZmlwcy9jYXZzL2ZpcHNfc2hhdGVzdC5jCi0t LS0gL2Rldi9udWxsCTIwMDktMDctMjcgMDg6Mzk6MjIuODQ5MDY0NTA1ICswMjAwCi0rKysgb3Bl bnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vZmlwcy9jYXZzL2ZpcHNfc2hhdGVzdC5jCTIwMDktMDgt MTEgMTg6MDc6MzAuMDAwMDAwMDAwICswMjAwCistLS0gL2Rldi9udWxsCTIwMDktMDktMjMgMTA6 NTY6MDIuMTQ4MDAxNzUyICswMjAwCisrKysgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vZmlw cy9jYXZzL2ZpcHNfc2hhdGVzdC5jCTIwMDktMDktMzAgMTM6MjU6NTguMDAwMDAwMDAwICswMjAw CiBAQCAtMCwwICsxLDM4OCBAQAogKy8qIGZpcHNfc2hhdGVzdC5jICovCiArLyogV3JpdHRlbiBi eSBEciBTdGVwaGVuIE4gSGVuc29uIChzdGV2ZUBvcGVuc3NsLm9yZykgZm9yIHRoZSBPcGVuU1NM CkBAIC01NjM1LDggKzU3MjcsOCBAQCBkaWZmIC11cCAvZGV2L251bGwgb3BlbnNzbC0xLjAuMC1i ZXRhMy9jcnlwdG8vZmlwcy9jYXZzL2ZpcHNfc2hhdGVzdC5jCiArCiArI2VuZGlmCiBkaWZmIC11 cCAvZGV2L251bGwgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vZmlwcy9jYXZzL2ZpcHNfdXRs LmgKLS0tLSAvZGV2L251bGwJMjAwOS0wNy0yNyAwODozOToyMi44NDkwNjQ1MDUgKzAyMDAKLSsr KyBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9maXBzL2NhdnMvZmlwc191dGwuaAkyMDA5LTA4 LTExIDE4OjA3OjMwLjAwMDAwMDAwMCArMDIwMAorLS0tIC9kZXYvbnVsbAkyMDA5LTA5LTIzIDEw OjU2OjAyLjE0ODAwMTc1MiArMDIwMAorKysrIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL2Zp cHMvY2F2cy9maXBzX3V0bC5oCTIwMDktMDktMzAgMTM6MjU6NTguMDAwMDAwMDAwICswMjAwCiBA QCAtMCwwICsxLDM0MyBAQAogKy8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiArICogQ29weXJpZ2h0IChjKSAyMDA3 IFRoZSBPcGVuU1NMIFByb2plY3QuICBBbGwgcmlnaHRzIHJlc2VydmVkLgpAQCAtNTk4Miw4ICs2 MDc0LDggQEAgZGlmZiAtdXAgL2Rldi9udWxsIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL2Zp cHMvY2F2cy9maXBzX3V0bC5oCiArICAgIH0KICsKIGRpZmYgLXVwIC9kZXYvbnVsbCBvcGVuc3Ns LTEuMC4wLWJldGEzL2NyeXB0by9maXBzX2Vyci5jCi0tLS0gL2Rldi9udWxsCTIwMDktMDctMjcg MDg6Mzk6MjIuODQ5MDY0NTA1ICswMjAwCi0rKysgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8v Zmlwc19lcnIuYwkyMDA5LTA4LTExIDE4OjA3OjMwLjAwMDAwMDAwMCArMDIwMAorLS0tIC9kZXYv bnVsbAkyMDA5LTA5LTIzIDEwOjU2OjAyLjE0ODAwMTc1MiArMDIwMAorKysrIG9wZW5zc2wtMS4w LjAtYmV0YTMvY3J5cHRvL2ZpcHNfZXJyLmMJMjAwOS0wOS0zMCAxMzoyNTo1OC4wMDAwMDAwMDAg KzAyMDAKIEBAIC0wLDAgKzEsNyBAQAogKyNpbmNsdWRlIDxvcGVuc3NsL29wZW5zc2xjb25mLmg+ CiArCkBAIC01OTkzLDggKzYwODUsOCBAQCBkaWZmIC11cCAvZGV2L251bGwgb3BlbnNzbC0xLjAu MC1iZXRhMy9jcnlwdG8vZmlwc19lcnIuYwogK3N0YXRpYyB2b2lkICpkdW1teT0mZHVtbXk7CiAr I2VuZGlmCiBkaWZmIC11cCAvZGV2L251bGwgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vZmlw c19lcnIuaAotLS0tIC9kZXYvbnVsbAkyMDA5LTA3LTI3IDA4OjM5OjIyLjg0OTA2NDUwNSArMDIw MAotKysrIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL2ZpcHNfZXJyLmgJMjAwOS0wOC0xMSAx ODowNzozMC4wMDAwMDAwMDAgKzAyMDAKKy0tLSAvZGV2L251bGwJMjAwOS0wOS0yMyAxMDo1Njow Mi4xNDgwMDE3NTIgKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9maXBzX2Vy ci5oCTIwMDktMDktMzAgMTM6MjU6NTguMDAwMDAwMDAwICswMjAwCiBAQCAtMCwwICsxLDEzNyBA QAogKy8qIGNyeXB0by9maXBzX2Vyci5oICovCiArLyogPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KQEAgLTYxMzQsOCAr NjIyNiw4IEBAIGRpZmYgLXVwIC9kZXYvbnVsbCBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9m aXBzX2Vyci5oCiArI2VuZGlmCiArCX0KIGRpZmYgLXVwIC9kZXYvbnVsbCBvcGVuc3NsLTEuMC4w LWJldGEzL2NyeXB0by9maXBzL2ZpcHNfYWVzX3NlbGZ0ZXN0LmMKLS0tLSAvZGV2L251bGwJMjAw OS0wNy0yNyAwODozOToyMi44NDkwNjQ1MDUgKzAyMDAKLSsrKyBvcGVuc3NsLTEuMC4wLWJldGEz L2NyeXB0by9maXBzL2ZpcHNfYWVzX3NlbGZ0ZXN0LmMJMjAwOS0wOC0xMSAxODowNzozMC4wMDAw MDAwMDAgKzAyMDAKKy0tLSAvZGV2L251bGwJMjAwOS0wOS0yMyAxMDo1NjowMi4xNDgwMDE3NTIg KzAyMDAKKysrKyBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9maXBzL2ZpcHNfYWVzX3NlbGZ0 ZXN0LmMJMjAwOS0wOS0zMCAxMzoyNTo1OC4wMDAwMDAwMDAgKzAyMDAKIEBAIC0wLDAgKzEsMTAx IEBACiArLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KICsgKiBDb3B5cmlnaHQgKGMpIDIwMDMgVGhlIE9wZW5TU0wg UHJvamVjdC4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCkBAIC02MjM5LDggKzYzMzEsOCBAQCBkaWZm IC11cCAvZGV2L251bGwgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vZmlwcy9maXBzX2Flc19z ZWxmdGVzdC5jCiArICAgIH0KICsjZW5kaWYKIGRpZmYgLXVwIC9kZXYvbnVsbCBvcGVuc3NsLTEu MC4wLWJldGEzL2NyeXB0by9maXBzL2ZpcHMuYwotLS0tIC9kZXYvbnVsbAkyMDA5LTA3LTI3IDA4 OjM5OjIyLjg0OTA2NDUwNSArMDIwMAotKysrIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL2Zp cHMvZmlwcy5jCTIwMDktMDgtMTEgMTg6MDc6MzAuMDAwMDAwMDAwICswMjAwCistLS0gL2Rldi9u dWxsCTIwMDktMDktMjMgMTA6NTY6MDIuMTQ4MDAxNzUyICswMjAwCisrKysgb3BlbnNzbC0xLjAu MC1iZXRhMy9jcnlwdG8vZmlwcy9maXBzLmMJMjAwOS0wOS0zMCAxMzoyNTo1OC4wMDAwMDAwMDAg KzAyMDAKIEBAIC0wLDAgKzEsNDE5IEBACiArLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICsgKiBDb3B5cmlnaHQg KGMpIDIwMDMgVGhlIE9wZW5TU0wgUHJvamVjdC4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCkBAIC02 NjYyLDggKzY3NTQsOCBAQCBkaWZmIC11cCAvZGV2L251bGwgb3BlbnNzbC0xLjAuMC1iZXRhMy9j cnlwdG8vZmlwcy9maXBzLmMKICsKICsjZW5kaWYKIGRpZmYgLXVwIC9kZXYvbnVsbCBvcGVuc3Ns LTEuMC4wLWJldGEzL2NyeXB0by9maXBzL2ZpcHNfZGVzX3NlbGZ0ZXN0LmMKLS0tLSAvZGV2L251 bGwJMjAwOS0wNy0yNyAwODozOToyMi44NDkwNjQ1MDUgKzAyMDAKLSsrKyBvcGVuc3NsLTEuMC4w LWJldGEzL2NyeXB0by9maXBzL2ZpcHNfZGVzX3NlbGZ0ZXN0LmMJMjAwOS0wOC0xMSAxODowNzoz MC4wMDAwMDAwMDAgKzAyMDAKKy0tLSAvZGV2L251bGwJMjAwOS0wOS0yMyAxMDo1NjowMi4xNDgw MDE3NTIgKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9maXBzL2ZpcHNfZGVz X3NlbGZ0ZXN0LmMJMjAwOS0wOS0zMCAxMzoyNTo1OC4wMDAwMDAwMDAgKzAyMDAKIEBAIC0wLDAg KzEsMTM3IEBACiArLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KICsgKiBDb3B5cmlnaHQgKGMpIDIwMDMgVGhlIE9w ZW5TU0wgUHJvamVjdC4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCkBAIC02ODAzLDkgKzY4OTUsOSBA QCBkaWZmIC11cCAvZGV2L251bGwgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vZmlwcy9maXBz X2Rlc19zZWxmdGVzdC5jCiArICAgIH0KICsjZW5kaWYKIGRpZmYgLXVwIC9kZXYvbnVsbCBvcGVu c3NsLTEuMC4wLWJldGEzL2NyeXB0by9maXBzL2ZpcHNfZHNhX3NlbGZ0ZXN0LmMKLS0tLSAvZGV2 L251bGwJMjAwOS0wNy0yNyAwODozOToyMi44NDkwNjQ1MDUgKzAyMDAKLSsrKyBvcGVuc3NsLTEu MC4wLWJldGEzL2NyeXB0by9maXBzL2ZpcHNfZHNhX3NlbGZ0ZXN0LmMJMjAwOS0wOC0xMSAxODow NzozMC4wMDAwMDAwMDAgKzAyMDAKLUBAIC0wLDAgKzEsMTgwIEBACistLS0gL2Rldi9udWxsCTIw MDktMDktMjMgMTA6NTY6MDIuMTQ4MDAxNzUyICswMjAwCisrKysgb3BlbnNzbC0xLjAuMC1iZXRh My9jcnlwdG8vZmlwcy9maXBzX2RzYV9zZWxmdGVzdC5jCTIwMDktMDktMzAgMTM6MjU6NTguMDAw MDAwMDAwICswMjAwCitAQCAtMCwwICsxLDE4NCBAQAogKy8qIGNyeXB0by9kc2EvZHNhdGVzdC5j ICovCiArLyogQ29weXJpZ2h0IChDKSAxOTk1LTE5OTggRXJpYyBZb3VuZyAoZWF5QGNyeXB0c29m dC5jb20pCiArICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KQEAgLTY5MjMsMTMgKzcwMTUsMTMgQEAg ZGlmZiAtdXAgL2Rldi9udWxsIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL2ZpcHMvZmlwc19k c2Ffc2VsZnRlc3QuYwogKwogK2ludCBGSVBTX3NlbGZ0ZXN0X2RzYSgpCiArICAgIHsKLSsgICAg RFNBICpkc2E9TlVMTDsKKysgICAgRFNBICpkc2E7CiArICAgIGludCBjb3VudGVyLGksaiwgcmV0 ID0gMDsKICsgICAgdW5zaWduZWQgaW50IHNsZW47CiArICAgIHVuc2lnbmVkIGNoYXIgYnVmWzI1 Nl07CiArICAgIHVuc2lnbmVkIGxvbmcgaDsKICsgICAgRVZQX01EX0NUWCBtY3R4OwotKyAgICBF VlBfUEtFWSBwazsKKysgICAgRVZQX1BLRVkgKnBrID0gTlVMTDsKICsKICsgICAgRVZQX01EX0NU WF9pbml0KCZtY3R4KTsKICsKQEAgLTY5NTgsMjggKzcwNTAsMzIgQEAgZGlmZiAtdXAgL2Rldi9u dWxsIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL2ZpcHMvZmlwc19kc2Ffc2VsZnRlc3QuYwog KyAgICBpZiAoaSAhPSBqIHx8IG1lbWNtcChidWYsb3V0X2csaSkgIT0gMCkKICsJZ290byBlcnI7 CiArICAgIERTQV9nZW5lcmF0ZV9rZXkoZHNhKTsKLSsgICAgcGsudHlwZSA9IEVWUF9QS0VZX0RT QTsKLSsgICAgcGsucGtleS5kc2EgPSBkc2E7CisrCisrICAgIGlmICgocGs9RVZQX1BLRVlfbmV3 KCkpID09IE5VTEwpCisrCWdvdG8gZXJyOworKyAgICBFVlBfUEtFWV9hc3NpZ25fRFNBKHBrLCBk c2EpOwogKwogKyAgICBpZiAoIUVWUF9TaWduSW5pdF9leCgmbWN0eCwgRVZQX2RzczEoKSwgTlVM TCkpCiArCWdvdG8gZXJyOwogKyAgICBpZiAoIUVWUF9TaWduVXBkYXRlKCZtY3R4LCBzdHIxLCAy MCkpCiArCWdvdG8gZXJyOwotKyAgICBpZiAoIUVWUF9TaWduRmluYWwoJm1jdHgsIGJ1ZiwgJnNs ZW4sICZwaykpCisrICAgIGlmICghRVZQX1NpZ25GaW5hbCgmbWN0eCwgYnVmLCAmc2xlbiwgcGsp KQogKwlnb3RvIGVycjsKICsKICsgICAgaWYgKCFFVlBfVmVyaWZ5SW5pdF9leCgmbWN0eCwgRVZQ X2RzczEoKSwgTlVMTCkpCiArCWdvdG8gZXJyOwogKyAgICBpZiAoIUVWUF9WZXJpZnlVcGRhdGUo Jm1jdHgsIHN0cjEsIDIwKSkKICsJZ290byBlcnI7Ci0rICAgIGlmIChFVlBfVmVyaWZ5RmluYWwo Jm1jdHgsIGJ1Ziwgc2xlbiwgJnBrKSAhPSAxKQorKyAgICBpZiAoRVZQX1ZlcmlmeUZpbmFsKCZt Y3R4LCBidWYsIHNsZW4sIHBrKSAhPSAxKQogKwlnb3RvIGVycjsKICsKICsgICAgcmV0ID0gMTsK ICsKICsgICAgZXJyOgogKyAgICBFVlBfTURfQ1RYX2NsZWFudXAoJm1jdHgpOwotKyAgICBpZiAo ZHNhKQorKyAgICBpZiAocGspCisrCUVWUF9QS0VZX2ZyZWUocGspOworKyAgICBlbHNlIGlmIChk c2EpCiArCURTQV9mcmVlKGRzYSk7CiArICAgIGlmIChyZXQgPT0gMCkKICsJICAgIEZJUFNlcnIo RklQU19GX0ZJUFNfU0VMRlRFU1RfRFNBLEZJUFNfUl9TRUxGVEVTVF9GQUlMRUQpOwpAQCAtNjk4 Nyw4ICs3MDgzLDggQEAgZGlmZiAtdXAgL2Rldi9udWxsIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5 cHRvL2ZpcHMvZmlwc19kc2Ffc2VsZnRlc3QuYwogKyAgICB9CiArI2VuZGlmCiBkaWZmIC11cCAv ZGV2L251bGwgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vZmlwcy9maXBzLmgKLS0tLSAvZGV2 L251bGwJMjAwOS0wNy0yNyAwODozOToyMi44NDkwNjQ1MDUgKzAyMDAKLSsrKyBvcGVuc3NsLTEu MC4wLWJldGEzL2NyeXB0by9maXBzL2ZpcHMuaAkyMDA5LTA4LTExIDE4OjA3OjMwLjAwMDAwMDAw MCArMDIwMAorLS0tIC9kZXYvbnVsbAkyMDA5LTA5LTIzIDEwOjU2OjAyLjE0ODAwMTc1MiArMDIw MAorKysrIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL2ZpcHMvZmlwcy5oCTIwMDktMDktMzAg MTM6MjU6NTguMDAwMDAwMDAwICswMjAwCiBAQCAtMCwwICsxLDE2MyBAQAogKy8qID09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09CiArICogQ29weXJpZ2h0IChjKSAyMDAzIFRoZSBPcGVuU1NMIFByb2plY3QuICBBbGwgcmln aHRzIHJlc2VydmVkLgpAQCAtNzE1NCw4ICs3MjUwLDggQEAgZGlmZiAtdXAgL2Rldi9udWxsIG9w ZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL2ZpcHMvZmlwcy5oCiArI2VuZGlmCiArI2VuZGlmCiBk aWZmIC11cCAvZGV2L251bGwgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vZmlwcy9maXBzX2ht YWNfc2VsZnRlc3QuYwotLS0tIC9kZXYvbnVsbAkyMDA5LTA3LTI3IDA4OjM5OjIyLjg0OTA2NDUw NSArMDIwMAotKysrIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL2ZpcHMvZmlwc19obWFjX3Nl bGZ0ZXN0LmMJMjAwOS0wOC0xMSAxODowNzozMC4wMDAwMDAwMDAgKzAyMDAKKy0tLSAvZGV2L251 bGwJMjAwOS0wOS0yMyAxMDo1NjowMi4xNDgwMDE3NTIgKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4w LWJldGEzL2NyeXB0by9maXBzL2ZpcHNfaG1hY19zZWxmdGVzdC5jCTIwMDktMDktMzAgMTM6MjU6 NTguMDAwMDAwMDAwICswMjAwCiBAQCAtMCwwICsxLDEzNSBAQAogKy8qID09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAr ICogQ29weXJpZ2h0IChjKSAyMDA1IFRoZSBPcGVuU1NMIFByb2plY3QuICBBbGwgcmlnaHRzIHJl c2VydmVkLgpAQCAtNzI5Myw4ICs3Mzg5LDggQEAgZGlmZiAtdXAgL2Rldi9udWxsIG9wZW5zc2wt MS4wLjAtYmV0YTMvY3J5cHRvL2ZpcHMvZmlwc19obWFjX3NlbGZ0ZXN0LmMKICsgICAgfQogKyNl bmRpZgogZGlmZiAtdXAgL2Rldi9udWxsIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL2ZpcHMv Zmlwc19yYW5kLmMKLS0tLSAvZGV2L251bGwJMjAwOS0wNy0yNyAwODozOToyMi44NDkwNjQ1MDUg KzAyMDAKLSsrKyBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9maXBzL2ZpcHNfcmFuZC5jCTIw MDktMDgtMTEgMTg6MDc6MzAuMDAwMDAwMDAwICswMjAwCistLS0gL2Rldi9udWxsCTIwMDktMDkt MjMgMTA6NTY6MDIuMTQ4MDAxNzUyICswMjAwCisrKysgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlw dG8vZmlwcy9maXBzX3JhbmQuYwkyMDA5LTA5LTMwIDEzOjI1OjU4LjAwMDAwMDAwMCArMDIwMAog QEAgLTAsMCArMSw0MTAgQEAKICsvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogKyAqIENvcHlyaWdodCAoYykgMjAw NyBUaGUgT3BlblNTTCBQcm9qZWN0LiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KQEAgLTc3MDcsOCAr NzgwMyw4IEBAIGRpZmYgLXVwIC9kZXYvbnVsbCBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9m aXBzL2ZpcHNfcmFuZC5jCiArCiArI2VuZGlmCiBkaWZmIC11cCAvZGV2L251bGwgb3BlbnNzbC0x LjAuMC1iZXRhMy9jcnlwdG8vZmlwcy9maXBzX3JhbmQuaAotLS0tIC9kZXYvbnVsbAkyMDA5LTA3 LTI3IDA4OjM5OjIyLjg0OTA2NDUwNSArMDIwMAotKysrIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5 cHRvL2ZpcHMvZmlwc19yYW5kLmgJMjAwOS0wOC0xMSAxODowNzozMC4wMDAwMDAwMDAgKzAyMDAK Ky0tLSAvZGV2L251bGwJMjAwOS0wOS0yMyAxMDo1NjowMi4xNDgwMDE3NTIgKzAyMDAKKysrKyBv cGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9maXBzL2ZpcHNfcmFuZC5oCTIwMDktMDktMzAgMTM6 MjU6NTguMDAwMDAwMDAwICswMjAwCiBAQCAtMCwwICsxLDc3IEBACiArLyogPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K ICsgKiBDb3B5cmlnaHQgKGMpIDIwMDMgVGhlIE9wZW5TU0wgUHJvamVjdC4gIEFsbCByaWdodHMg cmVzZXJ2ZWQuCkBAIC03Nzg4LDggKzc4ODQsOCBAQCBkaWZmIC11cCAvZGV2L251bGwgb3BlbnNz bC0xLjAuMC1iZXRhMy9jcnlwdG8vZmlwcy9maXBzX3JhbmQuaAogKyNlbmRpZgogKyNlbmRpZgog ZGlmZiAtdXAgL2Rldi9udWxsIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL2ZpcHMvZmlwc19y YW5kX3NlbGZ0ZXN0LmMKLS0tLSAvZGV2L251bGwJMjAwOS0wNy0yNyAwODozOToyMi44NDkwNjQ1 MDUgKzAyMDAKLSsrKyBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9maXBzL2ZpcHNfcmFuZF9z ZWxmdGVzdC5jCTIwMDktMDgtMTEgMTg6MDc6MzAuMDAwMDAwMDAwICswMjAwCistLS0gL2Rldi9u dWxsCTIwMDktMDktMjMgMTA6NTY6MDIuMTQ4MDAxNzUyICswMjAwCisrKysgb3BlbnNzbC0xLjAu MC1iZXRhMy9jcnlwdG8vZmlwcy9maXBzX3JhbmRfc2VsZnRlc3QuYwkyMDA5LTA5LTMwIDEzOjI1 OjU4LjAwMDAwMDAwMCArMDIwMAogQEAgLTAsMCArMSwzNzEgQEAKICsvKiA9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQog KyAqIENvcHlyaWdodCAoYykgMjAwMyBUaGUgT3BlblNTTCBQcm9qZWN0LiAgQWxsIHJpZ2h0cyBy ZXNlcnZlZC4KQEAgLTgxNjMsOCArODI1OSw4IEBAIGRpZmYgLXVwIC9kZXYvbnVsbCBvcGVuc3Ns LTEuMC4wLWJldGEzL2NyeXB0by9maXBzL2ZpcHNfcmFuZF9zZWxmdGVzdC5jCiArCiArI2VuZGlm CiBkaWZmIC11cCAvZGV2L251bGwgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vZmlwcy9maXBz X3JhbmR0ZXN0LmMKLS0tLSAvZGV2L251bGwJMjAwOS0wNy0yNyAwODozOToyMi44NDkwNjQ1MDUg KzAyMDAKLSsrKyBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9maXBzL2ZpcHNfcmFuZHRlc3Qu YwkyMDA5LTA4LTExIDE4OjA3OjMwLjAwMDAwMDAwMCArMDIwMAorLS0tIC9kZXYvbnVsbAkyMDA5 LTA5LTIzIDEwOjU2OjAyLjE0ODAwMTc1MiArMDIwMAorKysrIG9wZW5zc2wtMS4wLjAtYmV0YTMv Y3J5cHRvL2ZpcHMvZmlwc19yYW5kdGVzdC5jCTIwMDktMDktMzAgMTM6MjU6NTguMDAwMDAwMDAw ICswMjAwCiBAQCAtMCwwICsxLDI0OCBAQAogKy8qIENvcHlyaWdodCAoQykgMTk5NS0xOTk4IEVy aWMgWW91bmcgKGVheUBjcnlwdHNvZnQuY29tKQogKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCkBA IC04NDE1LDkgKzg1MTEsOSBAQCBkaWZmIC11cCAvZGV2L251bGwgb3BlbnNzbC0xLjAuMC1iZXRh My9jcnlwdG8vZmlwcy9maXBzX3JhbmR0ZXN0LmMKICsKICsjZW5kaWYKIGRpZmYgLXVwIC9kZXYv bnVsbCBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9maXBzL2ZpcHNfcnNhX3NlbGZ0ZXN0LmMK LS0tLSAvZGV2L251bGwJMjAwOS0wNy0yNyAwODozOToyMi44NDkwNjQ1MDUgKzAyMDAKLSsrKyBv cGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9maXBzL2ZpcHNfcnNhX3NlbGZ0ZXN0LmMJMjAwOS0w OC0xMSAxODowNzozMC4wMDAwMDAwMDAgKzAyMDAKLUBAIC0wLDAgKzEsNDMyIEBACistLS0gL2Rl di9udWxsCTIwMDktMDktMjMgMTA6NTY6MDIuMTQ4MDAxNzUyICswMjAwCisrKysgb3BlbnNzbC0x LjAuMC1iZXRhMy9jcnlwdG8vZmlwcy9maXBzX3JzYV9zZWxmdGVzdC5jCTIwMDktMDktMzAgMTM6 MjU6NTguMDAwMDAwMDAwICswMjAwCitAQCAtMCwwICsxLDQzOSBAQAogKy8qID09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 CiArICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMDcgVGhlIE9wZW5TU0wgUHJvamVjdC4gIEFsbCBy aWdodHMgcmVzZXJ2ZWQuCiArICoKQEAgLTg3NTksODMgKzg4NTUsODcgQEAgZGlmZiAtdXAgL2Rl di9udWxsIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL2ZpcHMvZmlwc19yc2Ffc2VsZnRlc3Qu YwogK2ludCBGSVBTX3NlbGZ0ZXN0X3JzYSgpCiArCXsKICsJaW50IHJldCA9IDA7Ci0rCVJTQSAq a2V5ID0gTlVMTDsKLSsJRVZQX1BLRVkgcGs7Ci0rCWtleT1SU0FfbmV3KCk7CisrCVJTQSAqa2V5 OworKwlFVlBfUEtFWSAqcGsgPSBOVUxMOworKworKwlpZiAoKGtleT1SU0FfbmV3KCkpID09IE5V TEwpCisrCQlnb3RvIGVycjsKICsJc2V0cnNha2V5KGtleSk7Ci0rCXBrLnR5cGUgPSBFVlBfUEtF WV9SU0E7Ci0rCXBrLnBrZXkucnNhID0ga2V5OworKwlpZiAoKHBrPUVWUF9QS0VZX25ldygpKSA9 PSBOVUxMKQorKwkJZ290byBlcnI7CisrCisrCUVWUF9QS0VZX2Fzc2lnbl9SU0EocGssIGtleSk7 CiArCi0rCWlmICghZmlwc19wa2V5X3NpZ25hdHVyZV90ZXN0KCZwaywga2F0X3Ricywgc2l6ZW9m KGthdF90YnMpIC0gMSwKKysJaWYgKCFmaXBzX3BrZXlfc2lnbmF0dXJlX3Rlc3QocGssIGthdF90 YnMsIHNpemVvZihrYXRfdGJzKSAtIDEsCiArCQkJCWthdF9SU0FfU0hBMSwgc2l6ZW9mKGthdF9S U0FfU0hBMSksCiArCQkJCUVWUF9zaGExKCksIEVWUF9NRF9DVFhfRkxBR19QQURfUEtDUzEsCiAr CQkJCSJSU0EgU0hBMSBQS0NTIzEiKSkKICsJCWdvdG8gZXJyOwotKwlpZiAoIWZpcHNfcGtleV9z aWduYXR1cmVfdGVzdCgmcGssIGthdF90YnMsIHNpemVvZihrYXRfdGJzKSAtIDEsCisrCWlmICgh Zmlwc19wa2V5X3NpZ25hdHVyZV90ZXN0KHBrLCBrYXRfdGJzLCBzaXplb2Yoa2F0X3RicykgLSAx LAogKwkJCQlrYXRfUlNBX1NIQTIyNCwgc2l6ZW9mKGthdF9SU0FfU0hBMjI0KSwKICsJCQkJRVZQ X3NoYTIyNCgpLCBFVlBfTURfQ1RYX0ZMQUdfUEFEX1BLQ1MxLAogKwkJCQkiUlNBIFNIQTIyNCBQ S0NTIzEiKSkKICsJCWdvdG8gZXJyOwotKwlpZiAoIWZpcHNfcGtleV9zaWduYXR1cmVfdGVzdCgm cGssIGthdF90YnMsIHNpemVvZihrYXRfdGJzKSAtIDEsCisrCWlmICghZmlwc19wa2V5X3NpZ25h dHVyZV90ZXN0KHBrLCBrYXRfdGJzLCBzaXplb2Yoa2F0X3RicykgLSAxLAogKwkJCQlrYXRfUlNB X1NIQTI1Niwgc2l6ZW9mKGthdF9SU0FfU0hBMjU2KSwKICsJCQkJRVZQX3NoYTI1NigpLCBFVlBf TURfQ1RYX0ZMQUdfUEFEX1BLQ1MxLAogKwkJCQkiUlNBIFNIQTI1NiBQS0NTIzEiKSkKICsJCWdv dG8gZXJyOwotKwlpZiAoIWZpcHNfcGtleV9zaWduYXR1cmVfdGVzdCgmcGssIGthdF90YnMsIHNp emVvZihrYXRfdGJzKSAtIDEsCisrCWlmICghZmlwc19wa2V5X3NpZ25hdHVyZV90ZXN0KHBrLCBr YXRfdGJzLCBzaXplb2Yoa2F0X3RicykgLSAxLAogKwkJCQlrYXRfUlNBX1NIQTM4NCwgc2l6ZW9m KGthdF9SU0FfU0hBMzg0KSwKICsJCQkJRVZQX3NoYTM4NCgpLCBFVlBfTURfQ1RYX0ZMQUdfUEFE X1BLQ1MxLAogKwkJCQkiUlNBIFNIQTM4NCBQS0NTIzEiKSkKICsJCWdvdG8gZXJyOwotKwlpZiAo IWZpcHNfcGtleV9zaWduYXR1cmVfdGVzdCgmcGssIGthdF90YnMsIHNpemVvZihrYXRfdGJzKSAt IDEsCisrCWlmICghZmlwc19wa2V5X3NpZ25hdHVyZV90ZXN0KHBrLCBrYXRfdGJzLCBzaXplb2Yo a2F0X3RicykgLSAxLAogKwkJCQlrYXRfUlNBX1NIQTUxMiwgc2l6ZW9mKGthdF9SU0FfU0hBNTEy KSwKICsJCQkJRVZQX3NoYTUxMigpLCBFVlBfTURfQ1RYX0ZMQUdfUEFEX1BLQ1MxLAogKwkJCQki UlNBIFNIQTUxMiBQS0NTIzEiKSkKICsJCWdvdG8gZXJyOwogKwotKwlpZiAoIWZpcHNfcGtleV9z aWduYXR1cmVfdGVzdCgmcGssIGthdF90YnMsIHNpemVvZihrYXRfdGJzKSAtIDEsCisrCWlmICgh Zmlwc19wa2V5X3NpZ25hdHVyZV90ZXN0KHBrLCBrYXRfdGJzLCBzaXplb2Yoa2F0X3RicykgLSAx LAogKwkJCQlrYXRfUlNBX1BTU19TSEExLCBzaXplb2Yoa2F0X1JTQV9QU1NfU0hBMSksCiArCQkJ CUVWUF9zaGExKCksIEVWUF9NRF9DVFhfRkxBR19QQURfUFNTLAogKwkJCQkiUlNBIFNIQTEgUFNT IikpCiArCQlnb3RvIGVycjsKLSsJaWYgKCFmaXBzX3BrZXlfc2lnbmF0dXJlX3Rlc3QoJnBrLCBr YXRfdGJzLCBzaXplb2Yoa2F0X3RicykgLSAxLAorKwlpZiAoIWZpcHNfcGtleV9zaWduYXR1cmVf dGVzdChwaywga2F0X3Ricywgc2l6ZW9mKGthdF90YnMpIC0gMSwKICsJCQkJa2F0X1JTQV9QU1Nf U0hBMjI0LCBzaXplb2Yoa2F0X1JTQV9QU1NfU0hBMjI0KSwKICsJCQkJRVZQX3NoYTIyNCgpLCBF VlBfTURfQ1RYX0ZMQUdfUEFEX1BTUywKICsJCQkJIlJTQSBTSEEyMjQgUFNTIikpCiArCQlnb3Rv IGVycjsKLSsJaWYgKCFmaXBzX3BrZXlfc2lnbmF0dXJlX3Rlc3QoJnBrLCBrYXRfdGJzLCBzaXpl b2Yoa2F0X3RicykgLSAxLAorKwlpZiAoIWZpcHNfcGtleV9zaWduYXR1cmVfdGVzdChwaywga2F0 X3Ricywgc2l6ZW9mKGthdF90YnMpIC0gMSwKICsJCQkJa2F0X1JTQV9QU1NfU0hBMjU2LCBzaXpl b2Yoa2F0X1JTQV9QU1NfU0hBMjU2KSwKICsJCQkJRVZQX3NoYTI1NigpLCBFVlBfTURfQ1RYX0ZM QUdfUEFEX1BTUywKICsJCQkJIlJTQSBTSEEyNTYgUFNTIikpCiArCQlnb3RvIGVycjsKLSsJaWYg KCFmaXBzX3BrZXlfc2lnbmF0dXJlX3Rlc3QoJnBrLCBrYXRfdGJzLCBzaXplb2Yoa2F0X3Ricykg LSAxLAorKwlpZiAoIWZpcHNfcGtleV9zaWduYXR1cmVfdGVzdChwaywga2F0X3Ricywgc2l6ZW9m KGthdF90YnMpIC0gMSwKICsJCQkJa2F0X1JTQV9QU1NfU0hBMzg0LCBzaXplb2Yoa2F0X1JTQV9Q U1NfU0hBMzg0KSwKICsJCQkJRVZQX3NoYTM4NCgpLCBFVlBfTURfQ1RYX0ZMQUdfUEFEX1BTUywK ICsJCQkJIlJTQSBTSEEzODQgUFNTIikpCiArCQlnb3RvIGVycjsKLSsJaWYgKCFmaXBzX3BrZXlf c2lnbmF0dXJlX3Rlc3QoJnBrLCBrYXRfdGJzLCBzaXplb2Yoa2F0X3RicykgLSAxLAorKwlpZiAo IWZpcHNfcGtleV9zaWduYXR1cmVfdGVzdChwaywga2F0X3Ricywgc2l6ZW9mKGthdF90YnMpIC0g MSwKICsJCQkJa2F0X1JTQV9QU1NfU0hBNTEyLCBzaXplb2Yoa2F0X1JTQV9QU1NfU0hBNTEyKSwK ICsJCQkJRVZQX3NoYTUxMigpLCBFVlBfTURfQ1RYX0ZMQUdfUEFEX1BTUywKICsJCQkJIlJTQSBT SEE1MTIgUFNTIikpCiArCQlnb3RvIGVycjsKICsKICsKLSsJaWYgKCFmaXBzX3BrZXlfc2lnbmF0 dXJlX3Rlc3QoJnBrLCBrYXRfdGJzLCBzaXplb2Yoa2F0X3RicykgLSAxLAorKwlpZiAoIWZpcHNf cGtleV9zaWduYXR1cmVfdGVzdChwaywga2F0X3Ricywgc2l6ZW9mKGthdF90YnMpIC0gMSwKICsJ CQlrYXRfUlNBX1g5MzFfU0hBMSwgc2l6ZW9mKGthdF9SU0FfWDkzMV9TSEExKSwKICsJCQlFVlBf c2hhMSgpLCBFVlBfTURfQ1RYX0ZMQUdfUEFEX1g5MzEsCiArCQkJIlJTQSBTSEExIFg5MzEiKSkK ICsJCWdvdG8gZXJyOwogKwkvKiBOQjogU0hBMjI0IG5vdCBzdXBwb3J0ZWQgaW4gWDkuMzEgKi8K LSsJaWYgKCFmaXBzX3BrZXlfc2lnbmF0dXJlX3Rlc3QoJnBrLCBrYXRfdGJzLCBzaXplb2Yoa2F0 X3RicykgLSAxLAorKwlpZiAoIWZpcHNfcGtleV9zaWduYXR1cmVfdGVzdChwaywga2F0X3Ricywg c2l6ZW9mKGthdF90YnMpIC0gMSwKICsJCQlrYXRfUlNBX1g5MzFfU0hBMjU2LCBzaXplb2Yoa2F0 X1JTQV9YOTMxX1NIQTI1NiksCiArCQkJRVZQX3NoYTI1NigpLCBFVlBfTURfQ1RYX0ZMQUdfUEFE X1g5MzEsCiArCQkJIlJTQSBTSEEyNTYgWDkzMSIpKQogKwkJZ290byBlcnI7Ci0rCWlmICghZmlw c19wa2V5X3NpZ25hdHVyZV90ZXN0KCZwaywga2F0X3Ricywgc2l6ZW9mKGthdF90YnMpIC0gMSwK KysJaWYgKCFmaXBzX3BrZXlfc2lnbmF0dXJlX3Rlc3QocGssIGthdF90YnMsIHNpemVvZihrYXRf dGJzKSAtIDEsCiArCQkJa2F0X1JTQV9YOTMxX1NIQTM4NCwgc2l6ZW9mKGthdF9SU0FfWDkzMV9T SEEzODQpLAogKwkJCUVWUF9zaGEzODQoKSwgRVZQX01EX0NUWF9GTEFHX1BBRF9YOTMxLAogKwkJ CSJSU0EgU0hBMzg0IFg5MzEiKSkKICsJCWdvdG8gZXJyOwotKwlpZiAoIWZpcHNfcGtleV9zaWdu YXR1cmVfdGVzdCgmcGssIGthdF90YnMsIHNpemVvZihrYXRfdGJzKSAtIDEsCisrCWlmICghZmlw c19wa2V5X3NpZ25hdHVyZV90ZXN0KHBrLCBrYXRfdGJzLCBzaXplb2Yoa2F0X3RicykgLSAxLAog KwkJCWthdF9SU0FfWDkzMV9TSEE1MTIsIHNpemVvZihrYXRfUlNBX1g5MzFfU0hBNTEyKSwKICsJ CQlFVlBfc2hhNTEyKCksIEVWUF9NRF9DVFhfRkxBR19QQURfWDkzMSwKICsJCQkiUlNBIFNIQTUx MiBYOTMxIikpCkBAIC04ODQ1LDE0ICs4OTQ1LDE3IEBAIGRpZmYgLXVwIC9kZXYvbnVsbCBvcGVu c3NsLTEuMC4wLWJldGEzL2NyeXB0by9maXBzL2ZpcHNfcnNhX3NlbGZ0ZXN0LmMKICsJcmV0ID0g MTsKICsKICsJZXJyOgotKwlSU0FfZnJlZShrZXkpOworKwlpZiAocGspCisrCQlFVlBfUEtFWV9m cmVlKHBrKTsKKysJZWxzZSBpZiAoa2V5KQorKwkJUlNBX2ZyZWUoa2V5KTsKICsJcmV0dXJuIHJl dDsKICsJfQogKwogKyNlbmRpZiAvKiBkZWYgT1BFTlNTTF9GSVBTICovCiBkaWZmIC11cCAvZGV2 L251bGwgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vZmlwcy9maXBzX3JzYV94OTMxZy5jCi0t LS0gL2Rldi9udWxsCTIwMDktMDctMjcgMDg6Mzk6MjIuODQ5MDY0NTA1ICswMjAwCi0rKysgb3Bl bnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vZmlwcy9maXBzX3JzYV94OTMxZy5jCTIwMDktMDgtMTEg MTg6MDc6MzAuMDAwMDAwMDAwICswMjAwCistLS0gL2Rldi9udWxsCTIwMDktMDktMjMgMTA6NTY6 MDIuMTQ4MDAxNzUyICswMjAwCisrKysgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vZmlwcy9m aXBzX3JzYV94OTMxZy5jCTIwMDktMDktMzAgMTM6MjU6NTguMDAwMDAwMDAwICswMjAwCiBAQCAt MCwwICsxLDI4MSBAQAogKy8qIGNyeXB0by9yc2EvcnNhX2dlbi5jICovCiArLyogQ29weXJpZ2h0 IChDKSAxOTk1LTE5OTggRXJpYyBZb3VuZyAoZWF5QGNyeXB0c29mdC5jb20pCkBAIC05MTM2LDgg KzkyMzksOCBAQCBkaWZmIC11cCAvZGV2L251bGwgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8v Zmlwcy9maXBzX3JzYV94OTMxZy5jCiArCiArCX0KIGRpZmYgLXVwIC9kZXYvbnVsbCBvcGVuc3Ns LTEuMC4wLWJldGEzL2NyeXB0by9maXBzL2ZpcHNfc2hhMV9zZWxmdGVzdC5jCi0tLS0gL2Rldi9u dWxsCTIwMDktMDctMjcgMDg6Mzk6MjIuODQ5MDY0NTA1ICswMjAwCi0rKysgb3BlbnNzbC0xLjAu MC1iZXRhMy9jcnlwdG8vZmlwcy9maXBzX3NoYTFfc2VsZnRlc3QuYwkyMDA5LTA4LTExIDE4OjA3 OjMwLjAwMDAwMDAwMCArMDIwMAorLS0tIC9kZXYvbnVsbAkyMDA5LTA5LTIzIDEwOjU2OjAyLjE0 ODAwMTc1MiArMDIwMAorKysrIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL2ZpcHMvZmlwc19z aGExX3NlbGZ0ZXN0LmMJMjAwOS0wOS0zMCAxMzoyNTo1OC4wMDAwMDAwMDAgKzAyMDAKIEBAIC0w LDAgKzEsOTcgQEAKICsvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogKyAqIENvcHlyaWdodCAoYykgMjAwMyBUaGUg T3BlblNTTCBQcm9qZWN0LiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KQEAgLTkyMzcsOCArOTM0MCw4 IEBAIGRpZmYgLXVwIC9kZXYvbnVsbCBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9maXBzL2Zp cHNfc2hhMV9zZWxmdGVzdC5jCiArCiArI2VuZGlmCiBkaWZmIC11cCAvZGV2L251bGwgb3BlbnNz bC0xLjAuMC1iZXRhMy9jcnlwdG8vZmlwcy9maXBzX3N0YW5kYWxvbmVfc2hhMS5jCi0tLS0gL2Rl di9udWxsCTIwMDktMDctMjcgMDg6Mzk6MjIuODQ5MDY0NTA1ICswMjAwCi0rKysgb3BlbnNzbC0x LjAuMC1iZXRhMy9jcnlwdG8vZmlwcy9maXBzX3N0YW5kYWxvbmVfc2hhMS5jCTIwMDktMDgtMTEg MTg6MDc6MzAuMDAwMDAwMDAwICswMjAwCistLS0gL2Rldi9udWxsCTIwMDktMDktMjMgMTA6NTY6 MDIuMTQ4MDAxNzUyICswMjAwCisrKysgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vZmlwcy9m aXBzX3N0YW5kYWxvbmVfc2hhMS5jCTIwMDktMDktMzAgMTM6MjU6NTguMDAwMDAwMDAwICswMjAw CiBAQCAtMCwwICsxLDE3MyBAQAogKy8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiArICogQ29weXJpZ2h0IChjKSAy MDAzIFRoZSBPcGVuU1NMIFByb2plY3QuICBBbGwgcmlnaHRzIHJlc2VydmVkLgpAQCAtOTQxNCw4 ICs5NTE3LDggQEAgZGlmZiAtdXAgL2Rldi9udWxsIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRv L2ZpcHMvZmlwc19zdGFuZGFsb25lX3NoYTEuYwogKwogKwogZGlmZiAtdXAgL2Rldi9udWxsIG9w ZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL2ZpcHMvZmlwc190ZXN0X3N1aXRlLmMKLS0tLSAvZGV2 L251bGwJMjAwOS0wNy0yNyAwODozOToyMi44NDkwNjQ1MDUgKzAyMDAKLSsrKyBvcGVuc3NsLTEu MC4wLWJldGEzL2NyeXB0by9maXBzL2ZpcHNfdGVzdF9zdWl0ZS5jCTIwMDktMDgtMTEgMTg6MDc6 MzAuMDAwMDAwMDAwICswMjAwCistLS0gL2Rldi9udWxsCTIwMDktMDktMjMgMTA6NTY6MDIuMTQ4 MDAxNzUyICswMjAwCisrKysgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vZmlwcy9maXBzX3Rl c3Rfc3VpdGUuYwkyMDA5LTA5LTMwIDEzOjI1OjU4LjAwMDAwMDAwMCArMDIwMAogQEAgLTAsMCAr MSw1ODggQEAKICsvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQogKyAqIENvcHlyaWdodCAoYykgMjAwMyBUaGUgT3Bl blNTTCBQcm9qZWN0LiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KQEAgLTEwMDA2LDggKzEwMTA5LDgg QEAgZGlmZiAtdXAgL2Rldi9udWxsIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL2ZpcHMvZmlw c190ZXN0X3N1aXRlLmMKICsKICsjZW5kaWYKIGRpZmYgLXVwIC9kZXYvbnVsbCBvcGVuc3NsLTEu MC4wLWJldGEzL2NyeXB0by9maXBzX2xvY2wuaAotLS0tIC9kZXYvbnVsbAkyMDA5LTA3LTI3IDA4 OjM5OjIyLjg0OTA2NDUwNSArMDIwMAotKysrIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL2Zp cHNfbG9jbC5oCTIwMDktMDgtMTEgMTg6MDc6MzAuMDAwMDAwMDAwICswMjAwCistLS0gL2Rldi9u dWxsCTIwMDktMDktMjMgMTA6NTY6MDIuMTQ4MDAxNzUyICswMjAwCisrKysgb3BlbnNzbC0xLjAu MC1iZXRhMy9jcnlwdG8vZmlwc19sb2NsLmgJMjAwOS0wOS0zMCAxMzoyNTo1OC4wMDAwMDAwMDAg KzAyMDAKIEBAIC0wLDAgKzEsNzIgQEAKICsvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogKyAqIENvcHlyaWdodCAo YykgMjAwMyBUaGUgT3BlblNTTCBQcm9qZWN0LiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KQEAgLTEw MDgyLDggKzEwMTg1LDggQEAgZGlmZiAtdXAgL2Rldi9udWxsIG9wZW5zc2wtMS4wLjAtYmV0YTMv Y3J5cHRvL2ZpcHNfbG9jbC5oCiArI2VuZGlmCiArI2VuZGlmCiBkaWZmIC11cCAvZGV2L251bGwg b3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vZmlwcy9NYWtlZmlsZQotLS0tIC9kZXYvbnVsbAky MDA5LTA3LTI3IDA4OjM5OjIyLjg0OTA2NDUwNSArMDIwMAotKysrIG9wZW5zc2wtMS4wLjAtYmV0 YTMvY3J5cHRvL2ZpcHMvTWFrZWZpbGUJMjAwOS0wOC0xMSAxODowNzozMC4wMDAwMDAwMDAgKzAy MDAKKy0tLSAvZGV2L251bGwJMjAwOS0wOS0yMyAxMDo1NjowMi4xNDgwMDE3NTIgKzAyMDAKKysr KyBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9maXBzL01ha2VmaWxlCTIwMDktMDktMzAgMTM6 MjU6NTguMDAwMDAwMDAwICswMjAwCiBAQCAtMCwwICsxLDgxIEBACiArIwogKyMgT3BlblNTTC9j cnlwdG8vZmlwcy9NYWtlZmlsZQpAQCAtMTAxNjgsNyArMTAyNzEsNyBAQCBkaWZmIC11cCAvZGV2 L251bGwgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vZmlwcy9NYWtlZmlsZQogKwogZGlmZiAt dXAgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vaG1hYy9obWFjLmMuZmlwcyBvcGVuc3NsLTEu MC4wLWJldGEzL2NyeXB0by9obWFjL2htYWMuYwogLS0tIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5 cHRvL2htYWMvaG1hYy5jLmZpcHMJMjAwOC0xMS0xMiAwNDo1ODowMi4wMDAwMDAwMDAgKzAxMDAK LSsrKyBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9obWFjL2htYWMuYwkyMDA5LTA4LTExIDE4 OjA3OjMwLjAwMDAwMDAwMCArMDIwMAorKysrIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL2ht YWMvaG1hYy5jCTIwMDktMDktMzAgMTM6MjU6NTguMDAwMDAwMDAwICswMjAwCiBAQCAtNzcsNiAr NzcsMTMgQEAgaW50IEhNQUNfSW5pdF9leChITUFDX0NUWCAqY3R4LCBjb25zdCB2bwogIAogIAlp ZiAoa2V5ICE9IE5VTEwpCkBAIC0xMDE5NSw4ICsxMDI5OCw4IEBAIGRpZmYgLXVwIG9wZW5zc2wt MS4wLjAtYmV0YTMvY3J5cHRvL2htYWMvaG1hYy5jLmZpcHMgb3BlbnNzbC0xLjAuMC1iZXRhMy9j cnlwdG8vCiArCX0KICsKIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL2htYWMv aG1hYy5oLmZpcHMgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vaG1hYy9obWFjLmgKLS0tLSBv cGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9obWFjL2htYWMuaC5maXBzCTIwMDktMDgtMTEgMTg6 MDc6MzAuMDAwMDAwMDAwICswMjAwCi0rKysgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vaG1h Yy9obWFjLmgJMjAwOS0wOC0xMSAxODowNzozMC4wMDAwMDAwMDAgKzAyMDAKKy0tLSBvcGVuc3Ns LTEuMC4wLWJldGEzL2NyeXB0by9obWFjL2htYWMuaC5maXBzCTIwMDktMDktMzAgMTM6MjU6NTcu MDAwMDAwMDAwICswMjAwCisrKysgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vaG1hYy9obWFj LmgJMjAwOS0wOS0zMCAxMzoyNTo1OC4wMDAwMDAwMDAgKzAyMDAKIEBAIC0xMDEsNiArMTAxLDcg QEAgdW5zaWduZWQgY2hhciAqSE1BQyhjb25zdCBFVlBfTUQgKmV2cF9tZAogIAkJICAgIHVuc2ln bmVkIGludCAqbWRfbGVuKTsKICBpbnQgSE1BQ19DVFhfY29weShITUFDX0NUWCAqZGN0eCwgSE1B Q19DVFggKnNjdHgpOwpAQCAtMTAyMDcsNyArMTAzMTAsNyBAQCBkaWZmIC11cCBvcGVuc3NsLTEu MC4wLWJldGEzL2NyeXB0by9obWFjL2htYWMuaC5maXBzIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5 cHRvLwogIH0KIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL01ha2VmaWxlLmZp cHMgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vTWFrZWZpbGUKIC0tLSBvcGVuc3NsLTEuMC4w LWJldGEzL2NyeXB0by9NYWtlZmlsZS5maXBzCTIwMDktMDQtMDYgMTY6MzE6MzUuMDAwMDAwMDAw ICswMjAwCi0rKysgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vTWFrZWZpbGUJMjAwOS0wOC0x MSAxODowNzozMC4wMDAwMDAwMDAgKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0 by9NYWtlZmlsZQkyMDA5LTA5LTMwIDEzOjI1OjU4LjAwMDAwMDAwMCArMDIwMAogQEAgLTM0LDE0 ICszNCwxNCBAQCBHRU5FUkFMPU1ha2VmaWxlIFJFQURNRSBjcnlwdG8tbGliLmNvbSBpCiAgCiAg TElCPSAkKFRPUCkvbGliY3J5cHRvLmEKQEAgLTEwMjI2LDkgKzEwMzI5LDQ3IEBAIGRpZmYgLXVw IG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL01ha2VmaWxlLmZpcHMgb3BlbnNzbC0xLjAuMC1i ZXRhMy9jcnlwdG8vTWFrCiAgCiAgQUxMPSAgICAkKEdFTkVSQUwpICQoU1JDKSAkKEhFQURFUikK ICAKK2RpZmYgLXVwIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL21kYzIvbWRjMmRnc3QuYy5m aXBzIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL21kYzIvbWRjMmRnc3QuYworLS0tIG9wZW5z c2wtMS4wLjAtYmV0YTMvY3J5cHRvL21kYzIvbWRjMmRnc3QuYy5maXBzCTIwMDQtMDctMjUgMjE6 MTA6NDEuMDAwMDAwMDAwICswMjAwCisrKysgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vbWRj Mi9tZGMyZGdzdC5jCTIwMDktMDktMzAgMTM6MjU6NTguMDAwMDAwMDAwICswMjAwCitAQCAtNjEs NiArNjEsMTEgQEAKKyAjaW5jbHVkZSA8c3RyaW5nLmg+CisgI2luY2x1ZGUgPG9wZW5zc2wvZGVz Lmg+CisgI2luY2x1ZGUgPG9wZW5zc2wvbWRjMi5oPgorKyNpbmNsdWRlIDxvcGVuc3NsL2Vyci5o PgorKyNpZmRlZiBPUEVOU1NMX0ZJUFMKKysjaW5jbHVkZSA8b3BlbnNzbC9maXBzLmg+CisrI2Vu ZGlmCisrCisgCisgI3VuZGVmIGMybAorICNkZWZpbmUgYzJsKGMsbCkJKGwgPSgoREVTX0xPTkcp KCooKGMpKyspKSkgICAgLCBcCitAQCAtNzUsNyArODAsNyBAQAorIAkJCSooKGMpKyspPSh1bnNp Z25lZCBjaGFyKSgoKGwpPj4yNEwpJjB4ZmYpKQorIAorIHN0YXRpYyB2b2lkIG1kYzJfYm9keShN REMyX0NUWCAqYywgY29uc3QgdW5zaWduZWQgY2hhciAqaW4sIHNpemVfdCBsZW4pOworLWludCBN REMyX0luaXQoTURDMl9DVFggKmMpCisrRklQU19OT05fRklQU19NRF9Jbml0KE1EQzIpCisgCXsK KyAJYy0+bnVtPTA7CisgCWMtPnBhZF90eXBlPTE7CitkaWZmIC11cCBvcGVuc3NsLTEuMC4wLWJl dGEzL2NyeXB0by9tZGMyL21kYzIuaC5maXBzIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL21k YzIvbWRjMi5oCistLS0gb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vbWRjMi9tZGMyLmguZmlw cwkyMDA5LTA5LTMwIDEzOjI1OjU3LjAwMDAwMDAwMCArMDIwMAorKysrIG9wZW5zc2wtMS4wLjAt YmV0YTMvY3J5cHRvL21kYzIvbWRjMi5oCTIwMDktMDktMzAgMTM6MjU6NTguMDAwMDAwMDAwICsw MjAwCitAQCAtODAsNyArODAsOSBAQCB0eXBlZGVmIHN0cnVjdCBtZGMyX2N0eF9zdAorIAlpbnQg cGFkX3R5cGU7IC8qIGVpdGhlciAxIG9yIDIsIGRlZmF1bHQgMSAqLworIAl9IE1EQzJfQ1RYOwor IAorLQorKyNpZmRlZiBPUEVOU1NMX0ZJUFMKKytpbnQgcHJpdmF0ZV9NREMyX0luaXQoTURDMl9D VFggKmMpOworKyNlbmRpZgorIGludCBNREMyX0luaXQoTURDMl9DVFggKmMpOworIGludCBNREMy X1VwZGF0ZShNREMyX0NUWCAqYywgY29uc3QgdW5zaWduZWQgY2hhciAqZGF0YSwgc2l6ZV90IGxl bik7CisgaW50IE1EQzJfRmluYWwodW5zaWduZWQgY2hhciAqbWQsIE1EQzJfQ1RYICpjKTsKIGRp ZmYgLXVwIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL21kMi9tZDJfZGdzdC5jLmZpcHMgb3Bl bnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vbWQyL21kMl9kZ3N0LmMKIC0tLSBvcGVuc3NsLTEuMC4w LWJldGEzL2NyeXB0by9tZDIvbWQyX2Rnc3QuYy5maXBzCTIwMDctMDgtMzEgMTI6MTI6MzUuMDAw MDAwMDAwICswMjAwCi0rKysgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vbWQyL21kMl9kZ3N0 LmMJMjAwOS0wOC0xMSAxODowNzozMC4wMDAwMDAwMDAgKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4w LWJldGEzL2NyeXB0by9tZDIvbWQyX2Rnc3QuYwkyMDA5LTA5LTMwIDEzOjI1OjU4LjAwMDAwMDAw MCArMDIwMAogQEAgLTYyLDYgKzYyLDExIEBACiAgI2luY2x1ZGUgPG9wZW5zc2wvbWQyLmg+CiAg I2luY2x1ZGUgPG9wZW5zc2wvb3BlbnNzbHYuaD4KQEAgLTEwMjUxLDggKzEwMzkyLDggQEAgZGlm ZiAtdXAgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vbWQyL21kMl9kZ3N0LmMuZmlwcyBvcGVu c3NsLTEuMC4wLWJldGEzL2NyeXAKICAJYy0+bnVtPTA7CiAgCW1lbXNldChjLT5zdGF0ZSwwLHNp emVvZiBjLT5zdGF0ZSk7CiBkaWZmIC11cCBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9tZDIv bWQyLmguZmlwcyBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9tZDIvbWQyLmgKLS0tLSBvcGVu c3NsLTEuMC4wLWJldGEzL2NyeXB0by9tZDIvbWQyLmguZmlwcwkyMDA5LTA4LTExIDE4OjA3OjMw LjAwMDAwMDAwMCArMDIwMAotKysrIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL21kMi9tZDIu aAkyMDA5LTA4LTExIDE4OjA3OjMwLjAwMDAwMDAwMCArMDIwMAorLS0tIG9wZW5zc2wtMS4wLjAt YmV0YTMvY3J5cHRvL21kMi9tZDIuaC5maXBzCTIwMDktMDktMzAgMTM6MjU6NTcuMDAwMDAwMDAw ICswMjAwCisrKysgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vbWQyL21kMi5oCTIwMDktMDkt MzAgMTM6MjU6NTguMDAwMDAwMDAwICswMjAwCiBAQCAtODEsNiArODEsOSBAQCB0eXBlZGVmIHN0 cnVjdCBNRDJzdGF0ZV9zdAogIAl9IE1EMl9DVFg7CiAgCkBAIC0xMDI2NSw3ICsxMDQwNiw3IEBA IGRpZmYgLXVwIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL21kMi9tZDIuaC5maXBzIG9wZW5z c2wtMS4wLjAtYmV0YTMvY3J5cHRvL21kCiAgaW50IE1EMl9GaW5hbCh1bnNpZ25lZCBjaGFyICpt ZCwgTUQyX0NUWCAqYyk7CiBkaWZmIC11cCBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9tZDQv bWQ0X2Rnc3QuYy5maXBzIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL21kNC9tZDRfZGdzdC5j CiAtLS0gb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vbWQ0L21kNF9kZ3N0LmMuZmlwcwkyMDA3 LTAxLTIxIDE0OjA3OjExLjAwMDAwMDAwMCArMDEwMAotKysrIG9wZW5zc2wtMS4wLjAtYmV0YTMv Y3J5cHRvL21kNC9tZDRfZGdzdC5jCTIwMDktMDgtMTEgMTg6MDc6MzAuMDAwMDAwMDAwICswMjAw CisrKysgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vbWQ0L21kNF9kZ3N0LmMJMjAwOS0wOS0z MCAxMzoyNTo1OC4wMDAwMDAwMDAgKzAyMDAKIEBAIC01OSw2ICs1OSwxMSBAQAogICNpbmNsdWRl IDxzdGRpby5oPgogICNpbmNsdWRlICJtZDRfbG9jbC5oIgpAQCAtMTAyODgsOCArMTA0MjksOCBA QCBkaWZmIC11cCBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9tZDQvbWQ0X2Rnc3QuYy5maXBz IG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cAogIAltZW1zZXQgKGMsMCxzaXplb2YoKmMpKTsKICAJ Yy0+QT1JTklUX0RBVEFfQTsKIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL21k NC9tZDQuaC5maXBzIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL21kNC9tZDQuaAotLS0tIG9w ZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL21kNC9tZDQuaC5maXBzCTIwMDktMDgtMTEgMTg6MDc6 MzAuMDAwMDAwMDAwICswMjAwCi0rKysgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vbWQ0L21k NC5oCTIwMDktMDgtMTEgMTg6MDc6MzAuMDAwMDAwMDAwICswMjAwCistLS0gb3BlbnNzbC0xLjAu MC1iZXRhMy9jcnlwdG8vbWQ0L21kNC5oLmZpcHMJMjAwOS0wOS0zMCAxMzoyNTo1Ny4wMDAwMDAw MDAgKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9tZDQvbWQ0LmgJMjAwOS0w OS0zMCAxMzoyNTo1OC4wMDAwMDAwMDAgKzAyMDAKIEBAIC0xMDUsNiArMTA1LDkgQEAgdHlwZWRl ZiBzdHJ1Y3QgTUQ0c3RhdGVfc3QKICAJdW5zaWduZWQgaW50IG51bTsKICAJfSBNRDRfQ1RYOwpA QCAtMTAzMDIsNyArMTA0NDMsNyBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0 by9tZDQvbWQ0LmguZmlwcyBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9tZAogIGludCBNRDRf RmluYWwodW5zaWduZWQgY2hhciAqbWQsIE1ENF9DVFggKmMpOwogZGlmZiAtdXAgb3BlbnNzbC0x LjAuMC1iZXRhMy9jcnlwdG8vbWQ1L21kNV9kZ3N0LmMuZmlwcyBvcGVuc3NsLTEuMC4wLWJldGEz L2NyeXB0by9tZDUvbWQ1X2Rnc3QuYwogLS0tIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL21k NS9tZDVfZGdzdC5jLmZpcHMJMjAwNy0wMS0yMSAxNDowNzoxMS4wMDAwMDAwMDAgKzAxMDAKLSsr KyBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9tZDUvbWQ1X2Rnc3QuYwkyMDA5LTA4LTExIDE4 OjA3OjMwLjAwMDAwMDAwMCArMDIwMAorKysrIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL21k NS9tZDVfZGdzdC5jCTIwMDktMDktMzAgMTM6MjU6NTguMDAwMDAwMDAwICswMjAwCiBAQCAtNTks NiArNTksMTEgQEAKICAjaW5jbHVkZSA8c3RkaW8uaD4KICAjaW5jbHVkZSAibWQ1X2xvY2wuaCIK QEAgLTEwMzI1LDggKzEwNDY2LDggQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlw dG8vbWQ1L21kNV9kZ3N0LmMuZmlwcyBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXAKICAJbWVtc2V0 IChjLDAsc2l6ZW9mKCpjKSk7CiAgCWMtPkE9SU5JVF9EQVRBX0E7CiBkaWZmIC11cCBvcGVuc3Ns LTEuMC4wLWJldGEzL2NyeXB0by9tZDUvbWQ1LmguZmlwcyBvcGVuc3NsLTEuMC4wLWJldGEzL2Ny eXB0by9tZDUvbWQ1LmgKLS0tLSBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9tZDUvbWQ1Lmgu ZmlwcwkyMDA5LTA4LTExIDE4OjA3OjMwLjAwMDAwMDAwMCArMDIwMAotKysrIG9wZW5zc2wtMS4w LjAtYmV0YTMvY3J5cHRvL21kNS9tZDUuaAkyMDA5LTA4LTExIDE4OjA3OjMwLjAwMDAwMDAwMCAr MDIwMAorLS0tIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL21kNS9tZDUuaC5maXBzCTIwMDkt MDktMzAgMTM6MjU6NTcuMDAwMDAwMDAwICswMjAwCisrKysgb3BlbnNzbC0xLjAuMC1iZXRhMy9j cnlwdG8vbWQ1L21kNS5oCTIwMDktMDktMzAgMTM6MjU6NTguMDAwMDAwMDAwICswMjAwCiBAQCAt MTA1LDYgKzEwNSw5IEBAIHR5cGVkZWYgc3RydWN0IE1ENXN0YXRlX3N0CiAgCXVuc2lnbmVkIGlu dCBudW07CiAgCX0gTUQ1X0NUWDsKQEAgLTEwMzM3LDQ3ICsxMDQ3OCw5IEBAIGRpZmYgLXVwIG9w ZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL21kNS9tZDUuaC5maXBzIG9wZW5zc2wtMS4wLjAtYmV0 YTMvY3J5cHRvL21kCiAgaW50IE1ENV9Jbml0KE1ENV9DVFggKmMpOwogIGludCBNRDVfVXBkYXRl KE1ENV9DVFggKmMsIGNvbnN0IHZvaWQgKmRhdGEsIHNpemVfdCBsZW4pOwogIGludCBNRDVfRmlu YWwodW5zaWduZWQgY2hhciAqbWQsIE1ENV9DVFggKmMpOwotZGlmZiAtdXAgb3BlbnNzbC0xLjAu MC1iZXRhMy9jcnlwdG8vbWRjMi9tZGMyZGdzdC5jLmZpcHMgb3BlbnNzbC0xLjAuMC1iZXRhMy9j cnlwdG8vbWRjMi9tZGMyZGdzdC5jCi0tLS0gb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vbWRj Mi9tZGMyZGdzdC5jLmZpcHMJMjAwNC0wNy0yNSAyMToxMDo0MS4wMDAwMDAwMDAgKzAyMDAKLSsr KyBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9tZGMyL21kYzJkZ3N0LmMJMjAwOS0wOC0xMSAx ODowNzozMC4wMDAwMDAwMDAgKzAyMDAKLUBAIC02MSw2ICs2MSwxMSBAQAotICNpbmNsdWRlIDxz dHJpbmcuaD4KLSAjaW5jbHVkZSA8b3BlbnNzbC9kZXMuaD4KLSAjaW5jbHVkZSA8b3BlbnNzbC9t ZGMyLmg+Ci0rI2luY2x1ZGUgPG9wZW5zc2wvZXJyLmg+Ci0rI2lmZGVmIE9QRU5TU0xfRklQUwot KyNpbmNsdWRlIDxvcGVuc3NsL2ZpcHMuaD4KLSsjZW5kaWYKLSsKLSAKLSAjdW5kZWYgYzJsCi0g I2RlZmluZSBjMmwoYyxsKQkobCA9KChERVNfTE9ORykoKigoYykrKykpKSAgICAsIFwKLUBAIC03 NSw3ICs4MCw3IEBACi0gCQkJKigoYykrKyk9KHVuc2lnbmVkIGNoYXIpKCgobCk+PjI0TCkmMHhm ZikpCi0gCi0gc3RhdGljIHZvaWQgbWRjMl9ib2R5KE1EQzJfQ1RYICpjLCBjb25zdCB1bnNpZ25l ZCBjaGFyICppbiwgc2l6ZV90IGxlbik7Ci0taW50IE1EQzJfSW5pdChNREMyX0NUWCAqYykKLStG SVBTX05PTl9GSVBTX01EX0luaXQoTURDMikKLSAJewotIAljLT5udW09MDsKLSAJYy0+cGFkX3R5 cGU9MTsKLWRpZmYgLXVwIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL21kYzIvbWRjMi5oLmZp cHMgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vbWRjMi9tZGMyLmgKLS0tLSBvcGVuc3NsLTEu MC4wLWJldGEzL2NyeXB0by9tZGMyL21kYzIuaC5maXBzCTIwMDktMDgtMTEgMTg6MDc6MzAuMDAw MDAwMDAwICswMjAwCi0rKysgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vbWRjMi9tZGMyLmgJ MjAwOS0wOC0xMSAxODowNzozMC4wMDAwMDAwMDAgKzAyMDAKLUBAIC04MCw3ICs4MCw5IEBAIHR5 cGVkZWYgc3RydWN0IG1kYzJfY3R4X3N0Ci0gCWludCBwYWRfdHlwZTsgLyogZWl0aGVyIDEgb3Ig MiwgZGVmYXVsdCAxICovCi0gCX0gTURDMl9DVFg7Ci0gCi0tCi0rI2lmZGVmIE9QRU5TU0xfRklQ UwotK2ludCBwcml2YXRlX01EQzJfSW5pdChNREMyX0NUWCAqYyk7Ci0rI2VuZGlmCi0gaW50IE1E QzJfSW5pdChNREMyX0NUWCAqYyk7Ci0gaW50IE1EQzJfVXBkYXRlKE1EQzJfQ1RYICpjLCBjb25z dCB1bnNpZ25lZCBjaGFyICpkYXRhLCBzaXplX3QgbGVuKTsKLSBpbnQgTURDMl9GaW5hbCh1bnNp Z25lZCBjaGFyICptZCwgTURDMl9DVFggKmMpOwogZGlmZiAtdXAgb3BlbnNzbC0xLjAuMC1iZXRh My9jcnlwdG8vbWVtLmMuZmlwcyBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9tZW0uYwogLS0t IG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL21lbS5jLmZpcHMJMjAwOC0xMS0xMiAwNDo1Nzo0 Ny4wMDAwMDAwMDAgKzAxMDAKLSsrKyBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9tZW0uYwky MDA5LTA4LTExIDE4OjA3OjMwLjAwMDAwMDAwMCArMDIwMAorKysrIG9wZW5zc2wtMS4wLjAtYmV0 YTMvY3J5cHRvL21lbS5jCTIwMDktMDktMzAgMTM6MjU6NTguMDAwMDAwMDAwICswMjAwCiBAQCAt MTAxLDcgKzEwMSw3IEBAIHN0YXRpYyB2b2lkICgqZnJlZV9sb2NrZWRfZnVuYykodm9pZCAqKSAK ICAKICAvKiBtYXkgYmUgY2hhbmdlZCBhcyBsb25nIGFzICdhbGxvd19jdXN0b21pemVfZGVidWcn IGlzIHNldCAqLwpAQCAtMTAzODgsOCArMTA0OTEsOCBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMC4w LWJldGEzL2NyeXB0by9tZW0uYy5maXBzIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL21lbS5j CiAgc3RhdGljIHZvaWQgKCptYWxsb2NfZGVidWdfZnVuYykodm9pZCAqLGludCxjb25zdCBjaGFy ICosaW50LGludCkKICAJPSBDUllQVE9fZGJnX21hbGxvYzsKIGRpZmYgLXVwIC9kZXYvbnVsbCBv cGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9vX2luaXQuYwotLS0tIC9kZXYvbnVsbAkyMDA5LTA3 LTI3IDA4OjM5OjIyLjg0OTA2NDUwNSArMDIwMAotKysrIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5 cHRvL29faW5pdC5jCTIwMDktMDgtMTEgMTg6MDc6MzAuMDAwMDAwMDAwICswMjAwCistLS0gL2Rl di9udWxsCTIwMDktMDktMjMgMTA6NTY6MDIuMTQ4MDAxNzUyICswMjAwCisrKysgb3BlbnNzbC0x LjAuMC1iZXRhMy9jcnlwdG8vb19pbml0LmMJMjAwOS0wOS0zMCAxMzoyNTo1OC4wMDAwMDAwMDAg KzAyMDAKIEBAIC0wLDAgKzEsODAgQEAKICsvKiBvX2luaXQuYyAqLwogKy8qIFdyaXR0ZW4gYnkg RHIgU3RlcGhlbiBOIEhlbnNvbiAoc3RldmVAb3BlbnNzbC5vcmcpIGZvciB0aGUgT3BlblNTTApA QCAtMTA0NzMsNyArMTA1NzYsNyBAQCBkaWZmIC11cCAvZGV2L251bGwgb3BlbnNzbC0xLjAuMC1i ZXRhMy9jcnlwdG8vb19pbml0LmMKICsKIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5 cHRvL29wZW5zc2xjb25mLmguaW4uZmlwcyBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9vcGVu c3NsY29uZi5oLmluCiAtLS0gb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vb3BlbnNzbGNvbmYu aC5pbi5maXBzCTIwMDUtMTItMTYgMTE6Mzc6MjMuMDAwMDAwMDAwICswMTAwCi0rKysgb3BlbnNz bC0xLjAuMC1iZXRhMy9jcnlwdG8vb3BlbnNzbGNvbmYuaC5pbgkyMDA5LTA4LTExIDE4OjA3OjMw LjAwMDAwMDAwMCArMDIwMAorKysrIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL29wZW5zc2xj b25mLmguaW4JMjAwOS0wOS0zMCAxMzoyNTo1OC4wMDAwMDAwMDAgKzAyMDAKIEBAIC0xLDUgKzEs MjAgQEAKICAvKiBjcnlwdG8vb3BlbnNzbGNvbmYuaC5pbiAqLwogIApAQCAtMTA0OTcsNyArMTA2 MDAsNyBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9vcGVuc3NsY29uZi5o LmluLmZpcHMgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcgogIAogZGlmZiAtdXAgb3BlbnNzbC0xLjAu MC1iZXRhMy9jcnlwdG8vcGtjczEyL3AxMl9jcnQuYy5maXBzIG9wZW5zc2wtMS4wLjAtYmV0YTMv Y3J5cHRvL3BrY3MxMi9wMTJfY3J0LmMKIC0tLSBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9w a2NzMTIvcDEyX2NydC5jLmZpcHMJMjAwOS0wMy0wOSAxNDowODowNC4wMDAwMDAwMDAgKzAxMDAK LSsrKyBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9wa2NzMTIvcDEyX2NydC5jCTIwMDktMDgt MTEgMTg6MDc6MzAuMDAwMDAwMDAwICswMjAwCisrKysgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlw dG8vcGtjczEyL3AxMl9jcnQuYwkyMDA5LTA5LTMwIDEzOjI1OjU4LjAwMDAwMDAwMCArMDIwMAog QEAgLTU5LDYgKzU5LDEwIEBACiAgI2luY2x1ZGUgPHN0ZGlvLmg+CiAgI2luY2x1ZGUgImNyeXB0 bGliLmgiCkBAIC0xMDUyNiw3ICsxMDYyOSw3IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjAtYmV0 YTMvY3J5cHRvL3BrY3MxMi9wMTJfY3J0LmMuZmlwcyBvcGVuc3NsLTEuMC4wLWJldGEzL2NyCiAg CWlmICghaXRlcikKIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL3JhbmQvbWRf cmFuZC5jLmZpcHMgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vcmFuZC9tZF9yYW5kLmMKIC0t LSBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9yYW5kL21kX3JhbmQuYy5maXBzCTIwMDktMDEt MDMgMTA6MjU6MzIuMDAwMDAwMDAwICswMTAwCi0rKysgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlw dG8vcmFuZC9tZF9yYW5kLmMJMjAwOS0wOC0xMSAxODowNzozMC4wMDAwMDAwMDAgKzAyMDAKKysr KyBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9yYW5kL21kX3JhbmQuYwkyMDA5LTA5LTMwIDEz OjI1OjU4LjAwMDAwMDAwMCArMDIwMAogQEAgLTEyNiw2ICsxMjYsMTAgQEAKICAKICAjaW5jbHVk ZSA8b3BlbnNzbC9jcnlwdG8uaD4KQEAgLTEwNTU1LDcgKzEwNjU4LDcgQEAgZGlmZiAtdXAgb3Bl bnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vcmFuZC9tZF9yYW5kLmMuZmlwcyBvcGVuc3NsLTEuMC4w LWJldGEzL2NyeXAKICAJCXsKIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL3Jh bmQvcmFuZF9lcnIuYy5maXBzIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL3JhbmQvcmFuZF9l cnIuYwogLS0tIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL3JhbmQvcmFuZF9lcnIuYy5maXBz CTIwMDYtMTEtMjEgMjI6Mjk6NDEuMDAwMDAwMDAwICswMTAwCi0rKysgb3BlbnNzbC0xLjAuMC1i ZXRhMy9jcnlwdG8vcmFuZC9yYW5kX2Vyci5jCTIwMDktMDgtMTEgMTg6MDc6MzAuMDAwMDAwMDAw ICswMjAwCisrKysgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vcmFuZC9yYW5kX2Vyci5jCTIw MDktMDktMzAgMTM6MjU6NTguMDAwMDAwMDAwICswMjAwCiBAQCAtNzAsNiArNzAsMTMgQEAKICAK ICBzdGF0aWMgRVJSX1NUUklOR19EQVRBIFJBTkRfc3RyX2Z1bmN0c1tdPQpAQCAtMTA1ODksOCAr MTA2OTIsOCBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9yYW5kL3JhbmRf ZXJyLmMuZmlwcyBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeQogIAl9OwogIAogZGlmZiAtdXAgb3Bl bnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vcmFuZC9yYW5kLmguZmlwcyBvcGVuc3NsLTEuMC4wLWJl dGEzL2NyeXB0by9yYW5kL3JhbmQuaAotLS0tIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL3Jh bmQvcmFuZC5oLmZpcHMJMjAwOS0wOC0xMSAxODowNzoyOS4wMDAwMDAwMDAgKzAyMDAKLSsrKyBv cGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9yYW5kL3JhbmQuaAkyMDA5LTA4LTExIDE4OjA3OjMw LjAwMDAwMDAwMCArMDIwMAorLS0tIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL3JhbmQvcmFu ZC5oLmZpcHMJMjAwOS0wOS0zMCAxMzoyNTo1Ny4wMDAwMDAwMDAgKzAyMDAKKysrKyBvcGVuc3Ns LTEuMC4wLWJldGEzL2NyeXB0by9yYW5kL3JhbmQuaAkyMDA5LTA5LTMwIDEzOjI1OjU4LjAwMDAw MDAwMCArMDIwMAogQEAgLTEyOCwxMSArMTI4LDI4IEBAIHZvaWQgRVJSX2xvYWRfUkFORF9zdHJp bmdzKHZvaWQpOwogIC8qIEVycm9yIGNvZGVzIGZvciB0aGUgUkFORCBmdW5jdGlvbnMuICovCiAg CkBAIC0xMDYyMiw3ICsxMDcyNSw3IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5 cHRvL3JhbmQvcmFuZC5oLmZpcHMgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vCiAgfQogZGlm ZiAtdXAgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vcmFuZC9yYW5kX2xpYi5jLmZpcHMgb3Bl bnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vcmFuZC9yYW5kX2xpYi5jCiAtLS0gb3BlbnNzbC0xLjAu MC1iZXRhMy9jcnlwdG8vcmFuZC9yYW5kX2xpYi5jLmZpcHMJMjAwOC0xMS0xMiAwNDo1ODowNC4w MDAwMDAwMDAgKzAxMDAKLSsrKyBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9yYW5kL3JhbmRf bGliLmMJMjAwOS0wOC0xMSAxODowNzozMC4wMDAwMDAwMDAgKzAyMDAKKysrKyBvcGVuc3NsLTEu MC4wLWJldGEzL2NyeXB0by9yYW5kL3JhbmRfbGliLmMJMjAwOS0wOS0zMCAxMzoyNTo1OC4wMDAw MDAwMDAgKzAyMDAKIEBAIC02MCw2ICs2MCwxMiBAQAogICNpbmNsdWRlIDx0aW1lLmg+CiAgI2lu Y2x1ZGUgImNyeXB0bGliLmgiCkBAIC0xMDY1Nyw4ICsxMDc2MCw4IEBAIGRpZmYgLXVwIG9wZW5z c2wtMS4wLjAtYmV0YTMvY3J5cHRvL3JhbmQvcmFuZF9saWIuYy5maXBzIG9wZW5zc2wtMS4wLjAt YmV0YTMvY3J5CiAgCX0KICAKIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL3Jj Mi9yYzIuaC5maXBzIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL3JjMi9yYzIuaAotLS0tIG9w ZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL3JjMi9yYzIuaC5maXBzCTIwMDktMDgtMTEgMTg6MDc6 MzAuMDAwMDAwMDAwICswMjAwCi0rKysgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vcmMyL3Jj Mi5oCTIwMDktMDgtMTEgMTg6MDc6MzAuMDAwMDAwMDAwICswMjAwCistLS0gb3BlbnNzbC0xLjAu MC1iZXRhMy9jcnlwdG8vcmMyL3JjMi5oLmZpcHMJMjAwOS0wOS0zMCAxMzoyNTo1Ny4wMDAwMDAw MDAgKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9yYzIvcmMyLmgJMjAwOS0w OS0zMCAxMzoyNTo1OC4wMDAwMDAwMDAgKzAyMDAKIEBAIC03OSw3ICs3OSw5IEBAIHR5cGVkZWYg c3RydWN0IHJjMl9rZXlfc3QKICAJUkMyX0lOVCBkYXRhWzY0XTsKICAJfSBSQzJfS0VZOwpAQCAt MTA2NzIsNyArMTA3NzUsNyBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9y YzIvcmMyLmguZmlwcyBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9yYwogIAkJICAgICBpbnQg ZW5jKTsKIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL3JjMi9yYzJfc2tleS5j LmZpcHMgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vcmMyL3JjMl9za2V5LmMKIC0tLSBvcGVu c3NsLTEuMC4wLWJldGEzL2NyeXB0by9yYzIvcmMyX3NrZXkuYy5maXBzCTIwMDctMDktMTggMjM6 MTA6MzIuMDAwMDAwMDAwICswMjAwCi0rKysgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vcmMy L3JjMl9za2V5LmMJMjAwOS0wOC0xMSAxODowNzozMC4wMDAwMDAwMDAgKzAyMDAKKysrKyBvcGVu c3NsLTEuMC4wLWJldGEzL2NyeXB0by9yYzIvcmMyX3NrZXkuYwkyMDA5LTA5LTMwIDEzOjI1OjU4 LjAwMDAwMDAwMCArMDIwMAogQEAgLTU3LDYgKzU3LDExIEBACiAgICovCiAgCkBAIC0xMDcwNiw5 ICsxMDgwOSwzMSBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9yYzIvcmMy X3NrZXkuYy5maXBzIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cAogIAlpbnQgaSxqOwogIAl1bnNp Z25lZCBjaGFyICprOwogIAlSQzJfSU5UICpraTsKK2RpZmYgLXVwIG9wZW5zc2wtMS4wLjAtYmV0 YTMvY3J5cHRvL3JjNC9hc20vcmM0LXMzOTB4LnBsLmZpcHMgb3BlbnNzbC0xLjAuMC1iZXRhMy9j cnlwdG8vcmM0L2FzbS9yYzQtczM5MHgucGwKKy0tLSBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0 by9yYzQvYXNtL3JjNC1zMzkweC5wbC5maXBzCTIwMDktMDItMTIgMTU6NDg6NDkuMDAwMDAwMDAw ICswMTAwCisrKysgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vcmM0L2FzbS9yYzQtczM5MHgu cGwJMjAwOS0wOS0zMCAxMzoyNTo1OC4wMDAwMDAwMDAgKzAyMDAKK0BAIC0yMDIsNCArMjAyLDYg QEAgUkM0X29wdGlvbnM6CisgLnN0cmluZwkicmM0KDh4LGNoYXIpIgorIF9fXworIAorKyRjb2Rl ID1+IHMvUkM0X3NldF9rZXkvcHJpdmF0ZV9SQzRfc2V0X2tleS9nIGlmICgkRU5We0ZJUFN9IG5l ICIiKTsKKysKKyBwcmludCAkY29kZTsKK2RpZmYgLXVwIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5 cHRvL3JjNC9hc20vcmM0LXg4Nl82NC5wbC5maXBzIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRv L3JjNC9hc20vcmM0LXg4Nl82NC5wbAorLS0tIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL3Jj NC9hc20vcmM0LXg4Nl82NC5wbC5maXBzCTIwMDktMDQtMjcgMjE6MzE6MDQuMDAwMDAwMDAwICsw MjAwCisrKysgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vcmM0L2FzbS9yYzQteDg2XzY0LnBs CTIwMDktMDktMzAgMTM6MjU6NTguMDAwMDAwMDAwICswMjAwCitAQCAtNDk5LDYgKzQ5OSw4IEBA IF9fXworIAorICRjb2RlID1+IHMvIyhbYndkXSkvJDEvZ207CisgCisrJGNvZGUgPX4gcy9SQzRf c2V0X2tleS9wcml2YXRlX1JDNF9zZXRfa2V5L2cgaWYgKCRFTlZ7RklQU30gbmUgIiIpOworKwor IHByaW50ICRjb2RlOworIAorIGNsb3NlIFNURE9VVDsKIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjAt YmV0YTMvY3J5cHRvL3JjNC9hc20vcmM0LTU4Ni5wbC5maXBzIG9wZW5zc2wtMS4wLjAtYmV0YTMv Y3J5cHRvL3JjNC9hc20vcmM0LTU4Ni5wbAogLS0tIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRv L3JjNC9hc20vcmM0LTU4Ni5wbC5maXBzCTIwMDctMTItMDIgMjI6MzI6MDMuMDAwMDAwMDAwICsw MTAwCi0rKysgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vcmM0L2FzbS9yYzQtNTg2LnBsCTIw MDktMDgtMTEgMTg6MDc6MzAuMDAwMDAwMDAwICswMjAwCisrKysgb3BlbnNzbC0xLjAuMC1iZXRh My9jcnlwdG8vcmM0L2FzbS9yYzQtNTg2LnBsCTIwMDktMDktMzAgMTM6MjU6NTguMDAwMDAwMDAw ICswMjAwCiBAQCAtMTY2LDggKzE2NiwxMiBAQCAkaWR4PSJlZHgiOwogIAogICZleHRlcm5hbF9s YWJlbCgiT1BFTlNTTF9pYTMyY2FwX1AiKTsKQEAgLTEwNzMyLDMxICsxMDg1Nyw5IEBAIGRpZmYg LXVwIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL3JjNC9hc20vcmM0LTU4Ni5wbC5maXBzIG9w ZW5zc2wtMS4wLjAtYmV0YTMvCiAgCiAgIyBjb25zdCBjaGFyICpSQzRfb3B0aW9ucyh2b2lkKTsK ICAmZnVuY3Rpb25fYmVnaW5fQigiUkM0X29wdGlvbnMiKTsKLWRpZmYgLXVwIG9wZW5zc2wtMS4w LjAtYmV0YTMvY3J5cHRvL3JjNC9hc20vcmM0LXMzOTB4LnBsLmZpcHMgb3BlbnNzbC0xLjAuMC1i ZXRhMy9jcnlwdG8vcmM0L2FzbS9yYzQtczM5MHgucGwKLS0tLSBvcGVuc3NsLTEuMC4wLWJldGEz L2NyeXB0by9yYzQvYXNtL3JjNC1zMzkweC5wbC5maXBzCTIwMDktMDItMTIgMTU6NDg6NDkuMDAw MDAwMDAwICswMTAwCi0rKysgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vcmM0L2FzbS9yYzQt czM5MHgucGwJMjAwOS0wOC0xMSAxODowNzozMC4wMDAwMDAwMDAgKzAyMDAKLUBAIC0yMDIsNCAr MjAyLDYgQEAgUkM0X29wdGlvbnM6Ci0gLnN0cmluZwkicmM0KDh4LGNoYXIpIgotIF9fXwotIAot KyRjb2RlID1+IHMvUkM0X3NldF9rZXkvcHJpdmF0ZV9SQzRfc2V0X2tleS9nIGlmICgkRU5We0ZJ UFN9IG5lICIiKTsKLSsKLSBwcmludCAkY29kZTsKLWRpZmYgLXVwIG9wZW5zc2wtMS4wLjAtYmV0 YTMvY3J5cHRvL3JjNC9hc20vcmM0LXg4Nl82NC5wbC5maXBzIG9wZW5zc2wtMS4wLjAtYmV0YTMv Y3J5cHRvL3JjNC9hc20vcmM0LXg4Nl82NC5wbAotLS0tIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5 cHRvL3JjNC9hc20vcmM0LXg4Nl82NC5wbC5maXBzCTIwMDktMDQtMjcgMjE6MzE6MDQuMDAwMDAw MDAwICswMjAwCi0rKysgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vcmM0L2FzbS9yYzQteDg2 XzY0LnBsCTIwMDktMDgtMTEgMTg6MDc6MzAuMDAwMDAwMDAwICswMjAwCi1AQCAtNDk5LDYgKzQ5 OSw4IEBAIF9fXwotIAotICRjb2RlID1+IHMvIyhbYndkXSkvJDEvZ207Ci0gCi0rJGNvZGUgPX4g cy9SQzRfc2V0X2tleS9wcml2YXRlX1JDNF9zZXRfa2V5L2cgaWYgKCRFTlZ7RklQU30gbmUgIiIp OwotKwotIHByaW50ICRjb2RlOwotIAotIGNsb3NlIFNURE9VVDsKIGRpZmYgLXVwIG9wZW5zc2wt MS4wLjAtYmV0YTMvY3J5cHRvL3JjNC9NYWtlZmlsZS5maXBzIG9wZW5zc2wtMS4wLjAtYmV0YTMv Y3J5cHRvL3JjNC9NYWtlZmlsZQogLS0tIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL3JjNC9N YWtlZmlsZS5maXBzCTIwMDktMDItMTEgMTE6MDE6MzYuMDAwMDAwMDAwICswMTAwCi0rKysgb3Bl bnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vcmM0L01ha2VmaWxlCTIwMDktMDgtMTEgMTg6MDc6MzAu MDAwMDAwMDAwICswMjAwCisrKysgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vcmM0L01ha2Vm aWxlCTIwMDktMDktMzAgMTM6MjU6NTguMDAwMDAwMDAwICswMjAwCiBAQCAtMjEsOCArMjEsOCBA QCBURVNUPXJjNHRlc3QuYwogIEFQUFM9CiAgCkBAIC0xMDc2OSw4ICsxMDg3Miw4IEBAIGRpZmYg LXVwIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL3JjNC9NYWtlZmlsZS5maXBzIG9wZW5zc2wt MS4wLjAtYmV0YTMvY3J5cHRvCiAgU1JDPSAkKExJQlNSQykKICAKIGRpZmYgLXVwIC9kZXYvbnVs bCBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9yYzQvcmM0X2ZibGsuYwotLS0tIC9kZXYvbnVs bAkyMDA5LTA3LTI3IDA4OjM5OjIyLjg0OTA2NDUwNSArMDIwMAotKysrIG9wZW5zc2wtMS4wLjAt YmV0YTMvY3J5cHRvL3JjNC9yYzRfZmJsay5jCTIwMDktMDgtMTEgMTg6MDc6MzAuMDAwMDAwMDAw ICswMjAwCistLS0gL2Rldi9udWxsCTIwMDktMDktMjMgMTA6NTY6MDIuMTQ4MDAxNzUyICswMjAw CisrKysgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vcmM0L3JjNF9mYmxrLmMJMjAwOS0wOS0z MCAxMzoyNTo1OC4wMDAwMDAwMDAgKzAyMDAKIEBAIC0wLDAgKzEsNzUgQEAKICsvKiBjcnlwdG8v cmM0L3JjNF9mYmxrLmMgKi8KICsvKiBXcml0dGVuIGJ5IERyIFN0ZXBoZW4gTiBIZW5zb24gKHN0 ZXZlQG9wZW5zc2wub3JnKSBmb3IgdGhlIE9wZW5TU0wKQEAgLTEwODQ4LDggKzEwOTUxLDggQEAg ZGlmZiAtdXAgL2Rldi9udWxsIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL3JjNC9yYzRfZmJs ay5jCiArI2VuZGlmCiArCiBkaWZmIC11cCBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9yYzQv cmM0LmguZmlwcyBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9yYzQvcmM0LmgKLS0tLSBvcGVu c3NsLTEuMC4wLWJldGEzL2NyeXB0by9yYzQvcmM0LmguZmlwcwkyMDA5LTA4LTExIDE4OjA3OjMw LjAwMDAwMDAwMCArMDIwMAotKysrIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL3JjNC9yYzQu aAkyMDA5LTA4LTExIDE4OjA3OjMwLjAwMDAwMDAwMCArMDIwMAorLS0tIG9wZW5zc2wtMS4wLjAt YmV0YTMvY3J5cHRvL3JjNC9yYzQuaC5maXBzCTIwMDktMDktMzAgMTM6MjU6NTcuMDAwMDAwMDAw ICswMjAwCisrKysgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vcmM0L3JjNC5oCTIwMDktMDkt MzAgMTM6MjU6NTguMDAwMDAwMDAwICswMjAwCiBAQCAtNzgsNiArNzgsOSBAQCB0eXBlZGVmIHN0 cnVjdCByYzRfa2V5X3N0CiAgCiAgIApAQCAtMTA4NjIsNyArMTA5NjUsNyBAQCBkaWZmIC11cCBv cGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9yYzQvcmM0LmguZmlwcyBvcGVuc3NsLTEuMC4wLWJl dGEzL2NyeXB0by9yYwogIAkJdW5zaWduZWQgY2hhciAqb3V0ZGF0YSk7CiBkaWZmIC11cCBvcGVu c3NsLTEuMC4wLWJldGEzL2NyeXB0by9yYzQvcmM0X3NrZXkuYy5maXBzIG9wZW5zc2wtMS4wLjAt YmV0YTMvY3J5cHRvL3JjNC9yYzRfc2tleS5jCiAtLS0gb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlw dG8vcmM0L3JjNF9za2V5LmMuZmlwcwkyMDA3LTAxLTIxIDE0OjA3OjEzLjAwMDAwMDAwMCArMDEw MAotKysrIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL3JjNC9yYzRfc2tleS5jCTIwMDktMDgt MTEgMTg6MDc6MzAuMDAwMDAwMDAwICswMjAwCisrKysgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlw dG8vcmM0L3JjNF9za2V5LmMJMjAwOS0wOS0zMCAxMzoyNTo1OC4wMDAwMDAwMDAgKzAyMDAKIEBA IC01OSw2ICs1OSwxMSBAQAogICNpbmNsdWRlIDxvcGVuc3NsL3JjNC5oPgogICNpbmNsdWRlICJy YzRfbG9jbC5oIgpAQCAtMTA5MDEsOCArMTEwMDQsOCBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMC4w LWJldGEzL2NyeXB0by9yYzQvcmM0X3NrZXkuYy5maXBzIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5 cAogIAogIAkJCWZvciAoaT0wO2k8MjU2O2krKykgY3BbaV09aTsKIGRpZmYgLXVwIG9wZW5zc2wt MS4wLjAtYmV0YTMvY3J5cHRvL3JpcGVtZC9yaXBlbWQuaC5maXBzIG9wZW5zc2wtMS4wLjAtYmV0 YTMvY3J5cHRvL3JpcGVtZC9yaXBlbWQuaAotLS0tIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRv L3JpcGVtZC9yaXBlbWQuaC5maXBzCTIwMDktMDgtMTEgMTg6MDc6MzAuMDAwMDAwMDAwICswMjAw Ci0rKysgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vcmlwZW1kL3JpcGVtZC5oCTIwMDktMDgt MTEgMTg6MDc6MzAuMDAwMDAwMDAwICswMjAwCistLS0gb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlw dG8vcmlwZW1kL3JpcGVtZC5oLmZpcHMJMjAwOS0wOS0zMCAxMzoyNTo1Ny4wMDAwMDAwMDAgKzAy MDAKKysrKyBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9yaXBlbWQvcmlwZW1kLmgJMjAwOS0w OS0zMCAxMzoyNTo1OC4wMDAwMDAwMDAgKzAyMDAKIEBAIC05MSw2ICs5MSw5IEBAIHR5cGVkZWYg c3RydWN0IFJJUEVNRDE2MHN0YXRlX3N0CiAgCXVuc2lnbmVkIGludCAgIG51bTsKICAJfSBSSVBF TUQxNjBfQ1RYOwpAQCAtMTA5MTUsNyArMTEwMTgsNyBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMC4w LWJldGEzL2NyeXB0by9yaXBlbWQvcmlwZW1kLmguZmlwcyBvcGVuc3NsLTEuMC4wLWJldGEzL2Ny eQogIGludCBSSVBFTUQxNjBfRmluYWwodW5zaWduZWQgY2hhciAqbWQsIFJJUEVNRDE2MF9DVFgg KmMpOwogZGlmZiAtdXAgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vcmlwZW1kL3JtZF9kZ3N0 LmMuZmlwcyBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9yaXBlbWQvcm1kX2Rnc3QuYwogLS0t IG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL3JpcGVtZC9ybWRfZGdzdC5jLmZpcHMJMjAwNy0w MS0yMSAxNDowNzoxMy4wMDAwMDAwMDAgKzAxMDAKLSsrKyBvcGVuc3NsLTEuMC4wLWJldGEzL2Ny eXB0by9yaXBlbWQvcm1kX2Rnc3QuYwkyMDA5LTA4LTExIDE4OjA3OjMwLjAwMDAwMDAwMCArMDIw MAorKysrIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL3JpcGVtZC9ybWRfZGdzdC5jCTIwMDkt MDktMzAgMTM6MjU6NTguMDAwMDAwMDAwICswMjAwCiBAQCAtNTksNiArNTksMTEgQEAKICAjaW5j bHVkZSA8c3RkaW8uaD4KICAjaW5jbHVkZSAicm1kX2xvY2wuaCIKQEAgLTEwOTM5LDcgKzExMDQy LDcgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vcmlwZW1kL3JtZF9kZ3N0 LmMuZmlwcyBvcGVuc3NsLTEuMC4wLWJldGEzL2MKICAJYy0+QT1SSVBFTUQxNjBfQTsKIGRpZmYg LXVwIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL3JzYS9yc2FfZWF5LmMuZmlwcyBvcGVuc3Ns LTEuMC4wLWJldGEzL2NyeXB0by9yc2EvcnNhX2VheS5jCiAtLS0gb3BlbnNzbC0xLjAuMC1iZXRh My9jcnlwdG8vcnNhL3JzYV9lYXkuYy5maXBzCTIwMDgtMDktMTQgMTU6NTE6NDQuMDAwMDAwMDAw ICswMjAwCi0rKysgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vcnNhL3JzYV9lYXkuYwkyMDA5 LTA4LTExIDE4OjA3OjMwLjAwMDAwMDAwMCArMDIwMAorKysrIG9wZW5zc2wtMS4wLjAtYmV0YTMv Y3J5cHRvL3JzYS9yc2FfZWF5LmMJMjAwOS0wOS0zMCAxMzoyNTo1OC4wMDAwMDAwMDAgKzAyMDAK IEBAIC0xMTQsNiArMTE0LDggQEAKICAjaW5jbHVkZSA8b3BlbnNzbC9ibi5oPgogICNpbmNsdWRl IDxvcGVuc3NsL3JzYS5oPgpAQCAtMTEyMDAsNyArMTEzMDMsNyBAQCBkaWZmIC11cCBvcGVuc3Ns LTEuMC4wLWJldGEzL2NyeXB0by9yc2EvcnNhX2VheS5jLmZpcHMgb3BlbnNzbC0xLjAuMC1iZXRh My9jcnlwdAogIAl9CiBkaWZmIC11cCBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9yc2EvcnNh X2Vyci5jLmZpcHMgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vcnNhL3JzYV9lcnIuYwogLS0t IG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL3JzYS9yc2FfZXJyLmMuZmlwcwkyMDA4LTEyLTI5 IDE3OjExOjU2LjAwMDAwMDAwMCArMDEwMAotKysrIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRv L3JzYS9yc2FfZXJyLmMJMjAwOS0wOC0xMSAxODowNzozMC4wMDAwMDAwMDAgKzAyMDAKKysrKyBv cGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9yc2EvcnNhX2Vyci5jCTIwMDktMDktMzAgMTM6MjU6 NTguMDAwMDAwMDAwICswMjAwCiBAQCAtMTExLDggKzExMSwxMiBAQCBzdGF0aWMgRVJSX1NUUklO R19EQVRBIFJTQV9zdHJfZnVuY3RzW109CiAge0VSUl9GVU5DKFJTQV9GX1JTQV9QUklOVF9GUCks CSJSU0FfcHJpbnRfZnAifSwKICB7RVJSX0ZVTkMoUlNBX0ZfUlNBX1BSSVZfREVDT0RFKSwJIlJT QV9QUklWX0RFQ09ERSJ9LApAQCAtMTEyMjksOCArMTEzMzIsOCBAQCBkaWZmIC11cCBvcGVuc3Ns LTEuMC4wLWJldGEzL2NyeXB0by9yc2EvcnNhX2Vyci5jLmZpcHMgb3BlbnNzbC0xLjAuMC1iZXRh My9jcnlwdAogIHtFUlJfUkVBU09OKFJTQV9SX1BfTk9UX1BSSU1FKSAgICAgICAgICAgLCJwIG5v dCBwcmltZSJ9LAogZGlmZiAtdXAgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vcnNhL3JzYV9n ZW4uYy5maXBzIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL3JzYS9yc2FfZ2VuLmMKIC0tLSBv cGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9yc2EvcnNhX2dlbi5jLmZpcHMJMjAwNy0wMy0yOCAw MjoxNToyNy4wMDAwMDAwMDAgKzAyMDAKLSsrKyBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9y c2EvcnNhX2dlbi5jCTIwMDktMDgtMTEgMTg6MDc6MzAuMDAwMDAwMDAwICswMjAwCi1AQCAtNjcs NiArNjcsNzcgQEAKKysrKyBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9yc2EvcnNhX2dlbi5j CTIwMDktMDktMzAgMTY6NTU6MjYuMDAwMDAwMDAwICswMjAwCitAQCAtNjcsNiArNjcsODIgQEAK ICAjaW5jbHVkZSAiY3J5cHRsaWIuaCIKICAjaW5jbHVkZSA8b3BlbnNzbC9ibi5oPgogICNpbmNs dWRlIDxvcGVuc3NsL3JzYS5oPgpAQCAtMTEyNTIsMTYgKzExMzU1LDE5IEBAIGRpZmYgLXVwIG9w ZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL3JzYS9yc2FfZ2VuLmMuZmlwcyBvcGVuc3NsLTEuMC4w LWJldGEzL2NyeXB0CiArCWNvbnN0IHVuc2lnbmVkIGNoYXIgdGJzW10gPSAiUlNBIFBhaXJ3aXNl IENoZWNrIERhdGEiOwogKwl1bnNpZ25lZCBjaGFyICpjdGJ1ZiA9IE5VTEwsICpwdGJ1ZiA9IE5V TEw7CiArCWludCBsZW4sIHJldCA9IDA7Ci0rCUVWUF9QS0VZIHBrOwotKyAgICAJcGsudHlwZSA9 IEVWUF9QS0VZX1JTQTsKLSsgICAgCXBrLnBrZXkucnNhID0gcnNhOworKwlFVlBfUEtFWSAqcGs7 CisrCisrCWlmICgocGs9RVZQX1BLRVlfbmV3KCkpID09IE5VTEwpCisrCQlnb3RvIGVycjsKKysK KysJRVZQX1BLRVlfc2V0MV9SU0EocGssIHJzYSk7CiArCiArCS8qIFBlcmZvcm0gcGFpcndpc2Ug Y29uc2lzdGVuY3kgc2lnbmF0dXJlIHRlc3QgKi8KLSsJaWYgKCFmaXBzX3BrZXlfc2lnbmF0dXJl X3Rlc3QoJnBrLCB0YnMsIC0xLAorKwlpZiAoIWZpcHNfcGtleV9zaWduYXR1cmVfdGVzdChwaywg dGJzLCAtMSwKICsJCQlOVUxMLCAwLCBFVlBfc2hhMSgpLCBFVlBfTURfQ1RYX0ZMQUdfUEFEX1BL Q1MxLCBOVUxMKQotKwkJfHwgIWZpcHNfcGtleV9zaWduYXR1cmVfdGVzdCgmcGssIHRicywgLTEs CisrCQl8fCAhZmlwc19wa2V5X3NpZ25hdHVyZV90ZXN0KHBrLCB0YnMsIC0xLAogKwkJCU5VTEws IDAsIEVWUF9zaGExKCksIEVWUF9NRF9DVFhfRkxBR19QQURfWDkzMSwgTlVMTCkKLSsJCXx8ICFm aXBzX3BrZXlfc2lnbmF0dXJlX3Rlc3QoJnBrLCB0YnMsIC0xLAorKwkJfHwgIWZpcHNfcGtleV9z aWduYXR1cmVfdGVzdChwaywgdGJzLCAtMSwKICsJCQlOVUxMLCAwLCBFVlBfc2hhMSgpLCBFVlBf TURfQ1RYX0ZMQUdfUEFEX1BTUywgTlVMTCkpCiArCQlnb3RvIGVycjsKICsJLyogTm93IHBlcmZv cm0gcGFpcndpc2UgY29uc2lzdGVuY3kgZW5jcnlwdC9kZWNyeXB0IHRlc3QgKi8KQEAgLTExMzAx LDYgKzExNDA3LDggQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vcnNhL3Jz YV9nZW4uYy5maXBzIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHQKICsJCU9QRU5TU0xfZnJlZShj dGJ1Zik7CiArCWlmIChwdGJ1ZikKICsJCU9QRU5TU0xfZnJlZShwdGJ1Zik7CisrCWlmIChwaykK KysJCUVWUF9QS0VZX2ZyZWUocGspOwogKwogKwlyZXR1cm4gcmV0OwogKwl9CkBAIC0xMTMwOCw3 ICsxMTQxNiw3IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL3JzYS9yc2Ff Z2VuLmMuZmlwcyBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0CiAgCiAgc3RhdGljIGludCByc2Ff YnVpbHRpbl9rZXlnZW4oUlNBICpyc2EsIGludCBiaXRzLCBCSUdOVU0gKmVfdmFsdWUsIEJOX0dF TkNCICpjYik7CiAgCi1AQCAtOTAsNiArMTYxLDIzIEBAIHN0YXRpYyBpbnQgcnNhX2J1aWx0aW5f a2V5Z2VuKFJTQSAqcnNhLCAKK0BAIC05MCw2ICsxNjYsMjMgQEAgc3RhdGljIGludCByc2FfYnVp bHRpbl9rZXlnZW4oUlNBICpyc2EsIAogIAlpbnQgYml0c3AsYml0c3Esb2s9IC0xLG49MDsKICAJ Qk5fQ1RYICpjdHg9TlVMTDsKICAKQEAgLTExMzMyLDcgKzExNDQwLDcgQEAgZGlmZiAtdXAgb3Bl bnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vcnNhL3JzYV9nZW4uYy5maXBzIG9wZW5zc2wtMS4wLjAt YmV0YTMvY3J5cHQKICAJY3R4PUJOX0NUWF9uZXcoKTsKICAJaWYgKGN0eCA9PSBOVUxMKSBnb3Rv IGVycjsKICAJQk5fQ1RYX3N0YXJ0KGN0eCk7Ci1AQCAtMjAxLDYgKzI4OSwxNyBAQCBzdGF0aWMg aW50IHJzYV9idWlsdGluX2tleWdlbihSU0EgKnJzYSwgCitAQCAtMjAxLDYgKzI5NCwxNyBAQCBz dGF0aWMgaW50IHJzYV9idWlsdGluX2tleWdlbihSU0EgKnJzYSwgCiAgCQlwID0gcnNhLT5wOwog IAlpZiAoIUJOX21vZF9pbnZlcnNlKHJzYS0+aXFtcCxyc2EtPnEscCxjdHgpKSBnb3RvIGVycjsK ICAKQEAgLTExMzUxLDggKzExNDU5LDggQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjAuMC1iZXRhMy9j cnlwdG8vcnNhL3JzYV9nZW4uYy5maXBzIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHQKICBlcnI6 CiAgCWlmIChvayA9PSAtMSkKIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL3Jz YS9yc2EuaC5maXBzIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL3JzYS9yc2EuaAotLS0tIG9w ZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL3JzYS9yc2EuaC5maXBzCTIwMDktMDgtMTEgMTg6MDc6 MjkuMDAwMDAwMDAwICswMjAwCi0rKysgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vcnNhL3Jz YS5oCTIwMDktMDgtMTEgMTg6MDc6MzAuMDAwMDAwMDAwICswMjAwCistLS0gb3BlbnNzbC0xLjAu MC1iZXRhMy9jcnlwdG8vcnNhL3JzYS5oLmZpcHMJMjAwOS0wOS0zMCAxMzoyNTo1Ni4wMDAwMDAw MDAgKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9yc2EvcnNhLmgJMjAwOS0w OS0zMCAxMzoyNTo1OC4wMDAwMDAwMDAgKzAyMDAKIEBAIC03NCw2ICs3NCwyMSBAQAogICNlcnJv ciBSU0EgaXMgZGlzYWJsZWQuCiAgI2VuZGlmCkBAIC0xMTQyNCw3ICsxMTUzMiw3IEBAIGRpZmYg LXVwIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL3JzYS9yc2EuaC5maXBzIG9wZW5zc2wtMS4w LjAtYmV0YTMvY3J5cHRvL3JzCiAgI2RlZmluZSBSU0FfUl9QX05PVF9QUklNRQkJCQkgMTI4CiBk aWZmIC11cCBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9yc2EvcnNhX2xpYi5jLmZpcHMgb3Bl bnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vcnNhL3JzYV9saWIuYwogLS0tIG9wZW5zc2wtMS4wLjAt YmV0YTMvY3J5cHRvL3JzYS9yc2FfbGliLmMuZmlwcwkyMDA4LTA4LTA2IDE3OjU0OjE0LjAwMDAw MDAwMCArMDIwMAotKysrIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL3JzYS9yc2FfbGliLmMJ MjAwOS0wOC0xMSAxODowNzozMC4wMDAwMDAwMDAgKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4wLWJl dGEzL2NyeXB0by9yc2EvcnNhX2xpYi5jCTIwMDktMDktMzAgMTM6MjU6NTguMDAwMDAwMDAwICsw MjAwCiBAQCAtODAsNiArODAsMTMgQEAgUlNBICpSU0FfbmV3KHZvaWQpCiAgCiAgdm9pZCBSU0Ff c2V0X2RlZmF1bHRfbWV0aG9kKGNvbnN0IFJTQV9NRVRIT0QgKm1ldGgpCkBAIC0xMTU1Niw3ICsx MTY2NCw3IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL3JzYS9yc2FfbGli LmMuZmlwcyBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0CiAtCX0KIGRpZmYgLXVwIG9wZW5zc2wt MS4wLjAtYmV0YTMvY3J5cHRvL3JzYS9yc2Ffc2lnbi5jLmZpcHMgb3BlbnNzbC0xLjAuMC1iZXRh My9jcnlwdG8vcnNhL3JzYV9zaWduLmMKIC0tLSBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9y c2EvcnNhX3NpZ24uYy5maXBzCTIwMDctMDQtMjQgMDM6MDU6NDIuMDAwMDAwMDAwICswMjAwCi0r Kysgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vcnNhL3JzYV9zaWduLmMJMjAwOS0wOC0xMSAx ODowNzozMC4wMDAwMDAwMDAgKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9y c2EvcnNhX3NpZ24uYwkyMDA5LTA5LTMwIDEzOjI1OjU4LjAwMDAwMDAwMCArMDIwMAogQEAgLTEz MCw3ICsxMzAsOCBAQCBpbnQgUlNBX3NpZ24oaW50IHR5cGUsIGNvbnN0IHVuc2lnbmVkIGNoCiAg CQlpMmRfWDUwOV9TSUcoJnNpZywmcCk7CiAgCQlzPXRtcHM7CkBAIC0xMTU4OCw5ICsxMTY5Niw1 NyBAQCBkaWZmIC11cCBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9yc2EvcnNhX3NpZ24uYy5m aXBzIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cAogIAogIAlpZiAoaSA8PSAwKSBnb3RvIGVycjsK ICAKK2RpZmYgLXVwIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL3NoYS9zaGFfZGdzdC5jLmZp cHMgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vc2hhL3NoYV9kZ3N0LmMKKy0tLSBvcGVuc3Ns LTEuMC4wLWJldGEzL2NyeXB0by9zaGEvc2hhX2Rnc3QuYy5maXBzCTIwMDctMDEtMjEgMTQ6MDc6 MTQuMDAwMDAwMDAwICswMTAwCisrKysgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vc2hhL3No YV9kZ3N0LmMJMjAwOS0wOS0zMCAxMzoyNTo1OC4wMDAwMDAwMDAgKzAyMDAKK0BAIC01Nyw2ICs1 NywxMiBAQAorICAqLworIAorICNpbmNsdWRlIDxvcGVuc3NsL29wZW5zc2xjb25mLmg+CisrI2lu Y2x1ZGUgPG9wZW5zc2wvY3J5cHRvLmg+CisrI2lmZGVmIE9QRU5TU0xfRklQUworKyNpbmNsdWRl IDxvcGVuc3NsL2ZpcHMuaD4KKysjZW5kaWYKKysKKysjaW5jbHVkZSA8b3BlbnNzbC9lcnIuaD4K KyAjaWYgIWRlZmluZWQoT1BFTlNTTF9OT19TSEEwKSAmJiAhZGVmaW5lZChPUEVOU1NMX05PX1NI QSkKKyAKKyAjdW5kZWYgIFNIQV8xCitkaWZmIC11cCBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0 by9zaGEvc2hhLmguZmlwcyBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9zaGEvc2hhLmgKKy0t LSBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9zaGEvc2hhLmguZmlwcwkyMDA5LTA5LTMwIDEz OjI1OjU3LjAwMDAwMDAwMCArMDIwMAorKysrIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL3No YS9zaGEuaAkyMDA5LTA5LTMwIDEzOjI1OjU4LjAwMDAwMDAwMCArMDIwMAorQEAgLTEwNiw2ICsx MDYsOSBAQCB0eXBlZGVmIHN0cnVjdCBTSEFzdGF0ZV9zdAorIAl9IFNIQV9DVFg7CisgCisgI2lm bmRlZiBPUEVOU1NMX05PX1NIQTAKKysjaWZkZWYgT1BFTlNTTF9GSVBTCisraW50IHByaXZhdGVf U0hBX0luaXQoU0hBX0NUWCAqYyk7CisrI2VuZGlmCisgaW50IFNIQV9Jbml0KFNIQV9DVFggKmMp OworIGludCBTSEFfVXBkYXRlKFNIQV9DVFggKmMsIGNvbnN0IHZvaWQgKmRhdGEsIHNpemVfdCBs ZW4pOworIGludCBTSEFfRmluYWwodW5zaWduZWQgY2hhciAqbWQsIFNIQV9DVFggKmMpOworZGlm ZiAtdXAgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vc2hhL3NoYV9sb2NsLmguZmlwcyBvcGVu c3NsLTEuMC4wLWJldGEzL2NyeXB0by9zaGEvc2hhX2xvY2wuaAorLS0tIG9wZW5zc2wtMS4wLjAt YmV0YTMvY3J5cHRvL3NoYS9zaGFfbG9jbC5oLmZpcHMJMjAwOS0wOS0zMCAxMzoyNTo1Ny4wMDAw MDAwMDAgKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9zaGEvc2hhX2xvY2wu aAkyMDA5LTA5LTMwIDEzOjI1OjU4LjAwMDAwMDAwMCArMDIwMAorQEAgLTEyMiw4ICsxMjIsMTUg QEAgdm9pZCBzaGExX2Jsb2NrX2RhdGFfb3JkZXIgKFNIQV9DVFggKmMsIAorICNkZWZpbmUgSU5J VF9EQVRBX2gzIDB4MTAzMjU0NzZVTAorICNkZWZpbmUgSU5JVF9EQVRBX2g0IDB4YzNkMmUxZjBV TAorIAorKyNpZiBkZWZpbmVkKFNIQV8wKSAmJiBkZWZpbmVkKE9QRU5TU0xfRklQUykKKytGSVBT X05PTl9GSVBTX01EX0luaXQoU0hBKQorKyNlbHNlCisgaW50IEhBU0hfSU5JVCAoU0hBX0NUWCAq YykKKysjZW5kaWYKKyAJeworKyNpZiBkZWZpbmVkKFNIQV8xKSAmJiBkZWZpbmVkKE9QRU5TU0xf RklQUykKKysJRklQU19zZWxmdGVzdF9jaGVjaygpOworKyNlbmRpZgorIAltZW1zZXQgKGMsMCxz aXplb2YoKmMpKTsKKyAJYy0+aDA9SU5JVF9EQVRBX2gwOworIAljLT5oMT1JTklUX0RBVEFfaDE7 CiBkaWZmIC11cCBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9zaGEvc2hhMWRnc3QuYy5maXBz IG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL3NoYS9zaGExZGdzdC5jCiAtLS0gb3BlbnNzbC0x LjAuMC1iZXRhMy9jcnlwdG8vc2hhL3NoYTFkZ3N0LmMuZmlwcwkyMDA3LTAxLTIxIDE0OjA3OjE0 LjAwMDAwMDAwMCArMDEwMAotKysrIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL3NoYS9zaGEx ZGdzdC5jCTIwMDktMDgtMTEgMTg6MDc6MzAuMDAwMDAwMDAwICswMjAwCisrKysgb3BlbnNzbC0x LjAuMC1iZXRhMy9jcnlwdG8vc2hhL3NoYTFkZ3N0LmMJMjAwOS0wOS0zMCAxMzoyNTo1OC4wMDAw MDAwMDAgKzAyMDAKIEBAIC02Myw2ICs2MywxMCBAQAogICNkZWZpbmUgU0hBXzEKICAKQEAgLTEx NjA0LDcgKzExNzYwLDcgQEAgZGlmZiAtdXAgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vc2hh L3NoYTFkZ3N0LmMuZmlwcyBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXAKICAKIGRpZmYgLXVwIG9w ZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL3NoYS9zaGEyNTYuYy5maXBzIG9wZW5zc2wtMS4wLjAt YmV0YTMvY3J5cHRvL3NoYS9zaGEyNTYuYwogLS0tIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRv L3NoYS9zaGEyNTYuYy5maXBzCTIwMDctMDEtMjEgMTQ6MDc6MTQuMDAwMDAwMDAwICswMTAwCi0r Kysgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vc2hhL3NoYTI1Ni5jCTIwMDktMDgtMTEgMTg6 MDc6MzAuMDAwMDAwMDAwICswMjAwCisrKysgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vc2hh L3NoYTI1Ni5jCTIwMDktMDktMzAgMTM6MjU6NTguMDAwMDAwMDAwICswMjAwCiBAQCAtMTIsMTIg KzEyLDE5IEBACiAgCiAgI2luY2x1ZGUgPG9wZW5zc2wvY3J5cHRvLmg+CkBAIC0xMTYzNyw3ICsx MTc5Myw3IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL3NoYS9zaGEyNTYu Yy5maXBzIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvCiAgCWMtPmhbMl09MHgzYzZlZjM3MlVM OwljLT5oWzNdPTB4YTU0ZmY1M2FVTDsKIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5 cHRvL3NoYS9zaGE1MTIuYy5maXBzIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL3NoYS9zaGE1 MTIuYwogLS0tIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL3NoYS9zaGE1MTIuYy5maXBzCTIw MDgtMTItMjkgMTM6MzU6NDguMDAwMDAwMDAwICswMTAwCi0rKysgb3BlbnNzbC0xLjAuMC1iZXRh My9jcnlwdG8vc2hhL3NoYTUxMi5jCTIwMDktMDgtMTEgMTg6MDc6MzAuMDAwMDAwMDAwICswMjAw CisrKysgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vc2hhL3NoYTUxMi5jCTIwMDktMDktMzAg MTM6MjU6NTguMDAwMDAwMDAwICswMjAwCiBAQCAtNSw2ICs1LDEwIEBACiAgICogPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KICAgKi8KQEAgLTExNjc4LDU3ICsxMTgzNCw5IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjAt YmV0YTMvY3J5cHRvL3NoYS9zaGE1MTIuYy5maXBzIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRv CiAgCQkJCWFzbSAoInJvdHJkaSAlMCwlMSwlMiIJXAogIAkJCQk6ICI9ciIocmV0KQkJXAogIAkJ CQk6ICJyIihhKSwiSyIobikpOyByZXQ7CX0pCi1kaWZmIC11cCBvcGVuc3NsLTEuMC4wLWJldGEz L2NyeXB0by9zaGEvc2hhX2Rnc3QuYy5maXBzIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRvL3No YS9zaGFfZGdzdC5jCi0tLS0gb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vc2hhL3NoYV9kZ3N0 LmMuZmlwcwkyMDA3LTAxLTIxIDE0OjA3OjE0LjAwMDAwMDAwMCArMDEwMAotKysrIG9wZW5zc2wt MS4wLjAtYmV0YTMvY3J5cHRvL3NoYS9zaGFfZGdzdC5jCTIwMDktMDgtMTEgMTg6MDc6MzAuMDAw MDAwMDAwICswMjAwCi1AQCAtNTcsNiArNTcsMTIgQEAKLSAgKi8KLSAKLSAjaW5jbHVkZSA8b3Bl bnNzbC9vcGVuc3NsY29uZi5oPgotKyNpbmNsdWRlIDxvcGVuc3NsL2NyeXB0by5oPgotKyNpZmRl ZiBPUEVOU1NMX0ZJUFMKLSsjaW5jbHVkZSA8b3BlbnNzbC9maXBzLmg+Ci0rI2VuZGlmCi0rCi0r I2luY2x1ZGUgPG9wZW5zc2wvZXJyLmg+Ci0gI2lmICFkZWZpbmVkKE9QRU5TU0xfTk9fU0hBMCkg JiYgIWRlZmluZWQoT1BFTlNTTF9OT19TSEEpCi0gCi0gI3VuZGVmICBTSEFfMQotZGlmZiAtdXAg b3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vc2hhL3NoYS5oLmZpcHMgb3BlbnNzbC0xLjAuMC1i ZXRhMy9jcnlwdG8vc2hhL3NoYS5oCi0tLS0gb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vc2hh L3NoYS5oLmZpcHMJMjAwOS0wOC0xMSAxODowNzozMC4wMDAwMDAwMDAgKzAyMDAKLSsrKyBvcGVu c3NsLTEuMC4wLWJldGEzL2NyeXB0by9zaGEvc2hhLmgJMjAwOS0wOC0xMSAxODowNzozMC4wMDAw MDAwMDAgKzAyMDAKLUBAIC0xMDYsNiArMTA2LDkgQEAgdHlwZWRlZiBzdHJ1Y3QgU0hBc3RhdGVf c3QKLSAJfSBTSEFfQ1RYOwotIAotICNpZm5kZWYgT1BFTlNTTF9OT19TSEEwCi0rI2lmZGVmIE9Q RU5TU0xfRklQUwotK2ludCBwcml2YXRlX1NIQV9Jbml0KFNIQV9DVFggKmMpOwotKyNlbmRpZgot IGludCBTSEFfSW5pdChTSEFfQ1RYICpjKTsKLSBpbnQgU0hBX1VwZGF0ZShTSEFfQ1RYICpjLCBj b25zdCB2b2lkICpkYXRhLCBzaXplX3QgbGVuKTsKLSBpbnQgU0hBX0ZpbmFsKHVuc2lnbmVkIGNo YXIgKm1kLCBTSEFfQ1RYICpjKTsKLWRpZmYgLXVwIG9wZW5zc2wtMS4wLjAtYmV0YTMvY3J5cHRv L3NoYS9zaGFfbG9jbC5oLmZpcHMgb3BlbnNzbC0xLjAuMC1iZXRhMy9jcnlwdG8vc2hhL3NoYV9s b2NsLmgKLS0tLSBvcGVuc3NsLTEuMC4wLWJldGEzL2NyeXB0by9zaGEvc2hhX2xvY2wuaC5maXBz CTIwMDktMDgtMTEgMTg6MDc6MzAuMDAwMDAwMDAwICswMjAwCi0rKysgb3BlbnNzbC0xLjAuMC1i ZXRhMy9jcnlwdG8vc2hhL3NoYV9sb2NsLmgJMjAwOS0wOC0xMSAxODowNzozMC4wMDAwMDAwMDAg KzAyMDAKLUBAIC0xMjIsOCArMTIyLDE1IEBAIHZvaWQgc2hhMV9ibG9ja19kYXRhX29yZGVyIChT SEFfQ1RYICpjLCAKLSAjZGVmaW5lIElOSVRfREFUQV9oMyAweDEwMzI1NDc2VUwKLSAjZGVmaW5l IElOSVRfREFUQV9oNCAweGMzZDJlMWYwVUwKLSAKLSsjaWYgZGVmaW5lZChTSEFfMCkgJiYgZGVm aW5lZChPUEVOU1NMX0ZJUFMpCi0rRklQU19OT05fRklQU19NRF9Jbml0KFNIQSkKLSsjZWxzZQot IGludCBIQVNIX0lOSVQgKFNIQV9DVFggKmMpCi0rI2VuZGlmCi0gCXsKLSsjaWYgZGVmaW5lZChT SEFfMSkgJiYgZGVmaW5lZChPUEVOU1NMX0ZJUFMpCi0rCUZJUFNfc2VsZnRlc3RfY2hlY2soKTsK LSsjZW5kaWYKLSAJbWVtc2V0IChjLDAsc2l6ZW9mKCpjKSk7Ci0gCWMtPmgwPUlOSVRfREFUQV9o MDsKLSAJYy0+aDE9SU5JVF9EQVRBX2gxOwogZGlmZiAtdXAgb3BlbnNzbC0xLjAuMC1iZXRhMy9N YWtlZmlsZS5vcmcuZmlwcyBvcGVuc3NsLTEuMC4wLWJldGEzL01ha2VmaWxlLm9yZwotLS0tIG9w ZW5zc2wtMS4wLjAtYmV0YTMvTWFrZWZpbGUub3JnLmZpcHMJMjAwOS0wOC0xMSAxODowNzozMC4w MDAwMDAwMDAgKzAyMDAKLSsrKyBvcGVuc3NsLTEuMC4wLWJldGEzL01ha2VmaWxlLm9yZwkyMDA5 LTA4LTExIDE4OjA3OjMwLjAwMDAwMDAwMCArMDIwMAorLS0tIG9wZW5zc2wtMS4wLjAtYmV0YTMv TWFrZWZpbGUub3JnLmZpcHMJMjAwOS0wOS0zMCAxMzoyNTo1Ny4wMDAwMDAwMDAgKzAyMDAKKysr KyBvcGVuc3NsLTEuMC4wLWJldGEzL01ha2VmaWxlLm9yZwkyMDA5LTA5LTMwIDEzOjI1OjU4LjAw MDAwMDAwMCArMDIwMAogQEAgLTEwOSw2ICsxMDksOSBAQCBMSUJLUkI1PQogIFpMSUJfSU5DTFVE RT0KICBMSUJaTElCPQpAQCAtMTE3NTYsMTI0ICsxMTg2NCw5IEBAIGRpZmYgLXVwIG9wZW5zc2wt MS4wLjAtYmV0YTMvTWFrZWZpbGUub3JnLmZpcHMgb3BlbnNzbC0xLjAuMC1iZXRhMy9NYWtlZmls ZS5vcmcKICAJCVRISVM9JCR7VEhJUzotJEB9IE1BS0VGSUxFPU1ha2VmaWxlIE1BS0VPVkVSUklE RVM9CiAgIyBNQUtFT1ZFUlJJREVTPSBlZmZlY3RpdmVseSAiZXF1YWxpemVzIiBHTlUtaXNoIGFu ZCBTeXNWLWlzaCBtYWtlIGZsYXZvcnMsCiAgIyB3aGljaCBpbiB0dXJuIGVsaW1pbmF0ZXMgYW1i aWd1aXRpZXMgaW4gdmFyaWFibGUgdHJlYXRtZW50IHdpdGggLWUuCi1kaWZmIC11cCBvcGVuc3Ns LTEuMC4wLWJldGEzL3NzbC9zMjNfY2xudC5jLmZpcHMgb3BlbnNzbC0xLjAuMC1iZXRhMy9zc2wv czIzX2NsbnQuYwotLS0tIG9wZW5zc2wtMS4wLjAtYmV0YTMvc3NsL3MyM19jbG50LmMuZmlwcwky MDA5LTA0LTA3IDE5OjAxOjA3LjAwMDAwMDAwMCArMDIwMAotKysrIG9wZW5zc2wtMS4wLjAtYmV0 YTMvc3NsL3MyM19jbG50LmMJMjAwOS0wOC0xMSAxODowNzozMC4wMDAwMDAwMDAgKzAyMDAKLUBA IC0zMzIsNiArMzMyLDE0IEBAIHN0YXRpYyBpbnQgc3NsMjNfY2xpZW50X2hlbGxvKFNTTCAqcykK LSAJCQl2ZXJzaW9uX21ham9yID0gVExTMV9WRVJTSU9OX01BSk9SOwotIAkJCXZlcnNpb25fbWlu b3IgPSBUTFMxX1ZFUlNJT05fTUlOT1I7Ci0gCQkJfQotKyNpZmRlZiBPUEVOU1NMX0ZJUFMKLSsJ CWVsc2UgaWYoRklQU19tb2RlKCkpCi0rCQkJewotKwkJCVNTTGVycihTU0xfRl9TU0wyM19DTElF TlRfSEVMTE8sCi0rCQkJCQlTU0xfUl9PTkxZX1RMU19BTExPV0VEX0lOX0ZJUFNfTU9ERSk7Ci0r CQkJcmV0dXJuIC0xOwotKwkJCX0KLSsjZW5kaWYKLSAJCWVsc2UgaWYgKHZlcnNpb24gPT0gU1NM M19WRVJTSU9OKQotIAkJCXsKLSAJCQl2ZXJzaW9uX21ham9yID0gU1NMM19WRVJTSU9OX01BSk9S OwotQEAgLTYxNSw2ICs2MjMsMTQgQEAgc3RhdGljIGludCBzc2wyM19nZXRfc2VydmVyX2hlbGxv KFNTTCAqcwotIAkJaWYgKChwWzJdID09IFNTTDNfVkVSU0lPTl9NSU5PUikgJiYKLSAJCQkhKHMt Pm9wdGlvbnMgJiBTU0xfT1BfTk9fU1NMdjMpKQotIAkJCXsKLSsjaWZkZWYgT1BFTlNTTF9GSVBT Ci0rCQkJaWYoRklQU19tb2RlKCkpCi0rCQkJCXsKLSsJCQkJU1NMZXJyKFNTTF9GX1NTTDIzX0dF VF9TRVJWRVJfSEVMTE8sCi0rCQkJCQlTU0xfUl9PTkxZX1RMU19BTExPV0VEX0lOX0ZJUFNfTU9E RSk7Ci0rCQkJCWdvdG8gZXJyOwotKwkJCQl9Ci0rI2VuZGlmCi0gCQkJcy0+dmVyc2lvbj1TU0wz X1ZFUlNJT047Ci0gCQkJcy0+bWV0aG9kPVNTTHYzX2NsaWVudF9tZXRob2QoKTsKLSAJCQl9Ci1k aWZmIC11cCBvcGVuc3NsLTEuMC4wLWJldGEzL3NzbC9zMjNfc3J2ci5jLmZpcHMgb3BlbnNzbC0x LjAuMC1iZXRhMy9zc2wvczIzX3NydnIuYwotLS0tIG9wZW5zc2wtMS4wLjAtYmV0YTMvc3NsL3My M19zcnZyLmMuZmlwcwkyMDA4LTA2LTAzIDA0OjQ4OjM0LjAwMDAwMDAwMCArMDIwMAotKysrIG9w ZW5zc2wtMS4wLjAtYmV0YTMvc3NsL3MyM19zcnZyLmMJMjAwOS0wOC0xMSAxODowNzozMC4wMDAw MDAwMDAgKzAyMDAKLUBAIC0zODYsNiArMzg2LDE1IEBAIGludCBzc2wyM19nZXRfY2xpZW50X2hl bGxvKFNTTCAqcykKLSAJCQl9Ci0gCQl9Ci0gCi0rI2lmZGVmIE9QRU5TU0xfRklQUwotKwlpZiAo RklQU19tb2RlKCkgJiYgKHMtPnZlcnNpb24gPCBUTFMxX1ZFUlNJT04pKQotKwkJewotKwkJU1NM ZXJyKFNTTF9GX1NTTDIzX0dFVF9DTElFTlRfSEVMTE8sCi0rCQkJCQlTU0xfUl9PTkxZX1RMU19B TExPV0VEX0lOX0ZJUFNfTU9ERSk7Ci0rCQlnb3RvIGVycjsKLSsJCX0KLSsjZW5kaWYKLSsKLSAJ aWYgKHMtPnN0YXRlID09IFNTTDIzX1NUX1NSX0NMTlRfSEVMTE9fQikKLSAJCXsKLSAJCS8qIHdl IGhhdmUgU1NMdjMvVExTdjEgaW4gYW4gU1NMdjIgaGVhZGVyCi1kaWZmIC11cCBvcGVuc3NsLTEu MC4wLWJldGEzL3NzbC9zM19jbG50LmMuZmlwcyBvcGVuc3NsLTEuMC4wLWJldGEzL3NzbC9zM19j bG50LmMKLS0tLSBvcGVuc3NsLTEuMC4wLWJldGEzL3NzbC9zM19jbG50LmMuZmlwcwkyMDA5LTA2 LTE2IDE4OjM5OjIwLjAwMDAwMDAwMCArMDIwMAotKysrIG9wZW5zc2wtMS4wLjAtYmV0YTMvc3Ns L3MzX2NsbnQuYwkyMDA5LTA4LTExIDE4OjA3OjMwLjAwMDAwMDAwMCArMDIwMAotQEAgLTE1Niw2 ICsxNTYsMTAgQEAKLSAjaW5jbHVkZSA8b3BlbnNzbC9vYmplY3RzLmg+Ci0gI2luY2x1ZGUgPG9w ZW5zc2wvZXZwLmg+Ci0gI2luY2x1ZGUgPG9wZW5zc2wvbWQ1Lmg+Ci0rI2lmZGVmIE9QRU5TU0xf RklQUwotKyNpbmNsdWRlIDxvcGVuc3NsL2ZpcHMuaD4KLSsjZW5kaWYKLSsKLSAjaWZuZGVmIE9Q RU5TU0xfTk9fREgKLSAjaW5jbHVkZSA8b3BlbnNzbC9kaC5oPgotICNlbmRpZgotQEAgLTE1MjQs NiArMTUyOCw4IEBAIGludCBzc2wzX2dldF9rZXlfZXhjaGFuZ2UoU1NMICpzKQotIAkJCXE9bWRf YnVmOwotIAkJCWZvciAobnVtPTI7IG51bSA+IDA7IG51bS0tKQotIAkJCQl7Ci0rCQkJCUVWUF9N RF9DVFhfc2V0X2ZsYWdzKCZtZF9jdHgsCi0rCQkJCQlFVlBfTURfQ1RYX0ZMQUdfTk9OX0ZJUFNf QUxMT1cpOwotIAkJCQlFVlBfRGlnZXN0SW5pdF9leCgmbWRfY3R4LChudW0gPT0gMikKLSAJCQkJ CT9zLT5jdHgtPm1kNTpzLT5jdHgtPnNoYTEsIE5VTEwpOwotIAkJCQlFVlBfRGlnZXN0VXBkYXRl KCZtZF9jdHgsJihzLT5zMy0+Y2xpZW50X3JhbmRvbVswXSksU1NMM19SQU5ET01fU0laRSk7Ci1k aWZmIC11cCBvcGVuc3NsLTEuMC4wLWJldGEzL3NzbC9zM19lbmMuYy5maXBzIG9wZW5zc2wtMS4w LjAtYmV0YTMvc3NsL3MzX2VuYy5jCi0tLS0gb3BlbnNzbC0xLjAuMC1iZXRhMy9zc2wvczNfZW5j LmMuZmlwcwkyMDA5LTA0LTE2IDE5OjIyOjUwLjAwMDAwMDAwMCArMDIwMAotKysrIG9wZW5zc2wt MS4wLjAtYmV0YTMvc3NsL3MzX2VuYy5jCTIwMDktMDgtMTEgMTg6MDc6MzAuMDAwMDAwMDAwICsw MjAwCi1AQCAtMTcwLDYgKzE3MCw3IEBAIHN0YXRpYyBpbnQgc3NsM19nZW5lcmF0ZV9rZXlfYmxv Y2soU1NMICoKLSAjZW5kaWYKLSAJaz0wOwotIAlFVlBfTURfQ1RYX2luaXQoJm01KTsKLSsJRVZQ X01EX0NUWF9zZXRfZmxhZ3MoJm01LCBFVlBfTURfQ1RYX0ZMQUdfTk9OX0ZJUFNfQUxMT1cpOwot IAlFVlBfTURfQ1RYX2luaXQoJnMxKTsKLSAJZm9yIChpPTA7IChpbnQpaTxudW07IGkrPU1ENV9E SUdFU1RfTEVOR1RIKQotIAkJewotQEAgLTYxNCw2ICs2MTUsOCBAQCBpbnQgc3NsM19kaWdlc3Rf Y2FjaGVkX3JlY29yZHMoU1NMICpzKQotIAkJaWYgKChtYXNrICYgcy0+czMtPnRtcC5uZXdfY2lw aGVyLT5hbGdvcml0aG0yKSAmJiBtZCkgCi0gCQkJewotIAkJCXMtPnMzLT5oYW5kc2hha2VfZGdz dFtpXT1FVlBfTURfQ1RYX2NyZWF0ZSgpOwotKwkJCUVWUF9NRF9DVFhfc2V0X2ZsYWdzKHMtPnMz LT5oYW5kc2hha2VfZGdzdFtpXSwKLSsJCQkJRVZQX01EX0NUWF9GTEFHX05PTl9GSVBTX0FMTE9X KTsKLSAJCQlFVlBfRGlnZXN0SW5pdF9leChzLT5zMy0+aGFuZHNoYWtlX2Rnc3RbaV0sbWQsTlVM TCk7Ci0gCQkJRVZQX0RpZ2VzdFVwZGF0ZShzLT5zMy0+aGFuZHNoYWtlX2Rnc3RbaV0saGRhdGEs aGRhdGFsZW4pOwotIAkJCX0gCi1AQCAtNjcwLDYgKzY3Myw3IEBAIHN0YXRpYyBpbnQgc3NsM19o YW5kc2hha2VfbWFjKFNTTCAqcywgaW4KLSAJCXJldHVybiAwOwotIAl9CQotIAlFVlBfTURfQ1RY X2luaXQoJmN0eCk7Ci0rCUVWUF9NRF9DVFhfc2V0X2ZsYWdzKCZjdHgsIEVWUF9NRF9DVFhfRkxB R19OT05fRklQU19BTExPVyk7Ci0gCUVWUF9NRF9DVFhfY29weV9leCgmY3R4LGQpOwotIAluPUVW UF9NRF9DVFhfc2l6ZSgmY3R4KTsKLSAJaWYgKG4gPCAwKQotZGlmZiAtdXAgb3BlbnNzbC0xLjAu MC1iZXRhMy9zc2wvczNfc3J2ci5jLmZpcHMgb3BlbnNzbC0xLjAuMC1iZXRhMy9zc2wvczNfc3J2 ci5jCi0tLS0gb3BlbnNzbC0xLjAuMC1iZXRhMy9zc2wvczNfc3J2ci5jLmZpcHMJMjAwOS0wNi0y NiAxNzowNDoyMi4wMDAwMDAwMDAgKzAyMDAKLSsrKyBvcGVuc3NsLTEuMC4wLWJldGEzL3NzbC9z M19zcnZyLmMJMjAwOS0wOC0xMSAxODowNzozMC4wMDAwMDAwMDAgKzAyMDAKLUBAIC0xNjc0LDYg KzE2NzQsOCBAQCBpbnQgc3NsM19zZW5kX3NlcnZlcl9rZXlfZXhjaGFuZ2UoU1NMICpzCi0gCQkJ CWo9MDsKLSAJCQkJZm9yIChudW09MjsgbnVtID4gMDsgbnVtLS0pCi0gCQkJCQl7Ci0rCQkJCQlF VlBfTURfQ1RYX3NldF9mbGFncygmbWRfY3R4LAotKwkJCQkJCUVWUF9NRF9DVFhfRkxBR19OT05f RklQU19BTExPVyk7Ci0gCQkJCQlFVlBfRGlnZXN0SW5pdF9leCgmbWRfY3R4LChudW0gPT0gMikK LSAJCQkJCQk/cy0+Y3R4LT5tZDU6cy0+Y3R4LT5zaGExLCBOVUxMKTsKLSAJCQkJCUVWUF9EaWdl c3RVcGRhdGUoJm1kX2N0eCwmKHMtPnMzLT5jbGllbnRfcmFuZG9tWzBdKSxTU0wzX1JBTkRPTV9T SVpFKTsKIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjAtYmV0YTMvc3NsL3NzbF9jaXBoLmMuZmlwcyBv cGVuc3NsLTEuMC4wLWJldGEzL3NzbC9zc2xfY2lwaC5jCiAtLS0gb3BlbnNzbC0xLjAuMC1iZXRh My9zc2wvc3NsX2NpcGguYy5maXBzCTIwMDktMDQtMDcgMTQ6MTA6NTkuMDAwMDAwMDAwICswMjAw Ci0rKysgb3BlbnNzbC0xLjAuMC1iZXRhMy9zc2wvc3NsX2NpcGguYwkyMDA5LTA4LTExIDE4OjA3 OjMwLjAwMDAwMDAwMCArMDIwMAorKysrIG9wZW5zc2wtMS4wLjAtYmV0YTMvc3NsL3NzbF9jaXBo LmMJMjAwOS0wOS0zMCAxMzoyNTo1OC4wMDAwMDAwMDAgKzAyMDAKIEBAIC03MjcsNiArNzI3LDkg QEAgc3RhdGljIHZvaWQgc3NsX2NpcGhlcl9jb2xsZWN0X2NpcGhlcnMoYwogIAkJICAgICEoYy0+ YWxnb3JpdGhtX2F1dGggJiBkaXNhYmxlZF9hdXRoKSAmJgogIAkJICAgICEoYy0+YWxnb3JpdGht X2VuYyAmIGRpc2FibGVkX2VuYykgJiYKQEAgLTExODk4LDcgKzExODkxLDcgQEAgZGlmZiAtdXAg b3BlbnNzbC0xLjAuMC1iZXRhMy9zc2wvc3NsX2NpcGguYy5maXBzIG9wZW5zc2wtMS4wLjAtYmV0 YTMvc3NsL3NzbF9jaXAKICAjaWZkZWYgQ0lQSEVSX0RFQlVHCiBkaWZmIC11cCBvcGVuc3NsLTEu MC4wLWJldGEzL3NzbC9zc2xfbGliLmMuZmlwcyBvcGVuc3NsLTEuMC4wLWJldGEzL3NzbC9zc2xf bGliLmMKIC0tLSBvcGVuc3NsLTEuMC4wLWJldGEzL3NzbC9zc2xfbGliLmMuZmlwcwkyMDA5LTA2 LTMwIDEzOjU3OjI0LjAwMDAwMDAwMCArMDIwMAotKysrIG9wZW5zc2wtMS4wLjAtYmV0YTMvc3Ns L3NzbF9saWIuYwkyMDA5LTA4LTExIDE4OjA3OjMwLjAwMDAwMDAwMCArMDIwMAorKysrIG9wZW5z c2wtMS4wLjAtYmV0YTMvc3NsL3NzbF9saWIuYwkyMDA5LTA5LTMwIDEzOjI1OjU4LjAwMDAwMDAw MCArMDIwMAogQEAgLTE0NzAsNiArMTQ3MCwxNCBAQCBTU0xfQ1RYICpTU0xfQ1RYX25ldyhjb25z dCBTU0xfTUVUSE9EICptCiAgCQlyZXR1cm4oTlVMTCk7CiAgCQl9CkBAIC0xMTkxNSw4ICsxMTkw OCw4IEBAIGRpZmYgLXVwIG9wZW5zc2wtMS4wLjAtYmV0YTMvc3NsL3NzbF9saWIuYy5maXBzIG9w ZW5zc2wtMS4wLjAtYmV0YTMvc3NsL3NzbF9saWIuCiAgCQl7CiAgCQlTU0xlcnIoU1NMX0ZfU1NM X0NUWF9ORVcsU1NMX1JfWDUwOV9WRVJJRklDQVRJT05fU0VUVVBfUFJPQkxFTVMpOwogZGlmZiAt dXAgb3BlbnNzbC0xLjAuMC1iZXRhMy9zc2wvc3NsdGVzdC5jLmZpcHMgb3BlbnNzbC0xLjAuMC1i ZXRhMy9zc2wvc3NsdGVzdC5jCi0tLS0gb3BlbnNzbC0xLjAuMC1iZXRhMy9zc2wvc3NsdGVzdC5j LmZpcHMJMjAwOS0wOC0xMSAxODowNzozMC4wMDAwMDAwMDAgKzAyMDAKLSsrKyBvcGVuc3NsLTEu MC4wLWJldGEzL3NzbC9zc2x0ZXN0LmMJMjAwOS0wOC0xMSAxODowNzozMC4wMDAwMDAwMDAgKzAy MDAKKy0tLSBvcGVuc3NsLTEuMC4wLWJldGEzL3NzbC9zc2x0ZXN0LmMuZmlwcwkyMDA5LTA5LTMw IDEzOjI1OjU3LjAwMDAwMDAwMCArMDIwMAorKysrIG9wZW5zc2wtMS4wLjAtYmV0YTMvc3NsL3Nz bHRlc3QuYwkyMDA5LTA5LTMwIDEzOjI1OjU4LjAwMDAwMDAwMCArMDIwMAogQEAgLTI2NSw2ICsy NjUsOSBAQCBzdGF0aWMgdm9pZCBzdl91c2FnZSh2b2lkKQogIAl7CiAgCWZwcmludGYoc3RkZXJy LCJ1c2FnZTogc3NsdGVzdCBbYXJncyAuLi5dXG4iKTsKQEAgLTExOTkxLDkgKzExOTg0LDEyNCBA QCBkaWZmIC11cCBvcGVuc3NsLTEuMC4wLWJldGEzL3NzbC9zc2x0ZXN0LmMuZmlwcyBvcGVuc3Ns LTEuMC4wLWJldGEzL3NzbC9zc2x0ZXN0LgogIAlpZihzLT52ZXJzaW9uID09IFRMUzFfVkVSU0lP TikKICAJCUZJUFNfYWxsb3dfbWQ1KDApOwogICMgZW5kaWYKK2RpZmYgLXVwIG9wZW5zc2wtMS4w LjAtYmV0YTMvc3NsL3MyM19jbG50LmMuZmlwcyBvcGVuc3NsLTEuMC4wLWJldGEzL3NzbC9zMjNf Y2xudC5jCistLS0gb3BlbnNzbC0xLjAuMC1iZXRhMy9zc2wvczIzX2NsbnQuYy5maXBzCTIwMDkt MDQtMDcgMTk6MDE6MDcuMDAwMDAwMDAwICswMjAwCisrKysgb3BlbnNzbC0xLjAuMC1iZXRhMy9z c2wvczIzX2NsbnQuYwkyMDA5LTA5LTMwIDEzOjI1OjU4LjAwMDAwMDAwMCArMDIwMAorQEAgLTMz Miw2ICszMzIsMTQgQEAgc3RhdGljIGludCBzc2wyM19jbGllbnRfaGVsbG8oU1NMICpzKQorIAkJ CXZlcnNpb25fbWFqb3IgPSBUTFMxX1ZFUlNJT05fTUFKT1I7CisgCQkJdmVyc2lvbl9taW5vciA9 IFRMUzFfVkVSU0lPTl9NSU5PUjsKKyAJCQl9CisrI2lmZGVmIE9QRU5TU0xfRklQUworKwkJZWxz ZSBpZihGSVBTX21vZGUoKSkKKysJCQl7CisrCQkJU1NMZXJyKFNTTF9GX1NTTDIzX0NMSUVOVF9I RUxMTywKKysJCQkJCVNTTF9SX09OTFlfVExTX0FMTE9XRURfSU5fRklQU19NT0RFKTsKKysJCQly ZXR1cm4gLTE7CisrCQkJfQorKyNlbmRpZgorIAkJZWxzZSBpZiAodmVyc2lvbiA9PSBTU0wzX1ZF UlNJT04pCisgCQkJeworIAkJCXZlcnNpb25fbWFqb3IgPSBTU0wzX1ZFUlNJT05fTUFKT1I7CitA QCAtNjE1LDYgKzYyMywxNCBAQCBzdGF0aWMgaW50IHNzbDIzX2dldF9zZXJ2ZXJfaGVsbG8oU1NM ICpzCisgCQlpZiAoKHBbMl0gPT0gU1NMM19WRVJTSU9OX01JTk9SKSAmJgorIAkJCSEocy0+b3B0 aW9ucyAmIFNTTF9PUF9OT19TU0x2MykpCisgCQkJeworKyNpZmRlZiBPUEVOU1NMX0ZJUFMKKysJ CQlpZihGSVBTX21vZGUoKSkKKysJCQkJeworKwkJCQlTU0xlcnIoU1NMX0ZfU1NMMjNfR0VUX1NF UlZFUl9IRUxMTywKKysJCQkJCVNTTF9SX09OTFlfVExTX0FMTE9XRURfSU5fRklQU19NT0RFKTsK KysJCQkJZ290byBlcnI7CisrCQkJCX0KKysjZW5kaWYKKyAJCQlzLT52ZXJzaW9uPVNTTDNfVkVS U0lPTjsKKyAJCQlzLT5tZXRob2Q9U1NMdjNfY2xpZW50X21ldGhvZCgpOworIAkJCX0KK2RpZmYg LXVwIG9wZW5zc2wtMS4wLjAtYmV0YTMvc3NsL3MyM19zcnZyLmMuZmlwcyBvcGVuc3NsLTEuMC4w LWJldGEzL3NzbC9zMjNfc3J2ci5jCistLS0gb3BlbnNzbC0xLjAuMC1iZXRhMy9zc2wvczIzX3Ny dnIuYy5maXBzCTIwMDgtMDYtMDMgMDQ6NDg6MzQuMDAwMDAwMDAwICswMjAwCisrKysgb3BlbnNz bC0xLjAuMC1iZXRhMy9zc2wvczIzX3NydnIuYwkyMDA5LTA5LTMwIDEzOjI1OjU4LjAwMDAwMDAw MCArMDIwMAorQEAgLTM4Niw2ICszODYsMTUgQEAgaW50IHNzbDIzX2dldF9jbGllbnRfaGVsbG8o U1NMICpzKQorIAkJCX0KKyAJCX0KKyAKKysjaWZkZWYgT1BFTlNTTF9GSVBTCisrCWlmIChGSVBT X21vZGUoKSAmJiAocy0+dmVyc2lvbiA8IFRMUzFfVkVSU0lPTikpCisrCQl7CisrCQlTU0xlcnIo U1NMX0ZfU1NMMjNfR0VUX0NMSUVOVF9IRUxMTywKKysJCQkJCVNTTF9SX09OTFlfVExTX0FMTE9X RURfSU5fRklQU19NT0RFKTsKKysJCWdvdG8gZXJyOworKwkJfQorKyNlbmRpZgorKworIAlpZiAo cy0+c3RhdGUgPT0gU1NMMjNfU1RfU1JfQ0xOVF9IRUxMT19CKQorIAkJeworIAkJLyogd2UgaGF2 ZSBTU0x2My9UTFN2MSBpbiBhbiBTU0x2MiBoZWFkZXIKK2RpZmYgLXVwIG9wZW5zc2wtMS4wLjAt YmV0YTMvc3NsL3MzX2NsbnQuYy5maXBzIG9wZW5zc2wtMS4wLjAtYmV0YTMvc3NsL3MzX2NsbnQu YworLS0tIG9wZW5zc2wtMS4wLjAtYmV0YTMvc3NsL3MzX2NsbnQuYy5maXBzCTIwMDktMDYtMTYg MTg6Mzk6MjAuMDAwMDAwMDAwICswMjAwCisrKysgb3BlbnNzbC0xLjAuMC1iZXRhMy9zc2wvczNf Y2xudC5jCTIwMDktMDktMzAgMTM6MjU6NTguMDAwMDAwMDAwICswMjAwCitAQCAtMTU2LDYgKzE1 NiwxMCBAQAorICNpbmNsdWRlIDxvcGVuc3NsL29iamVjdHMuaD4KKyAjaW5jbHVkZSA8b3BlbnNz bC9ldnAuaD4KKyAjaW5jbHVkZSA8b3BlbnNzbC9tZDUuaD4KKysjaWZkZWYgT1BFTlNTTF9GSVBT CisrI2luY2x1ZGUgPG9wZW5zc2wvZmlwcy5oPgorKyNlbmRpZgorKworICNpZm5kZWYgT1BFTlNT TF9OT19ESAorICNpbmNsdWRlIDxvcGVuc3NsL2RoLmg+CisgI2VuZGlmCitAQCAtMTUyNCw2ICsx NTI4LDggQEAgaW50IHNzbDNfZ2V0X2tleV9leGNoYW5nZShTU0wgKnMpCisgCQkJcT1tZF9idWY7 CisgCQkJZm9yIChudW09MjsgbnVtID4gMDsgbnVtLS0pCisgCQkJCXsKKysJCQkJRVZQX01EX0NU WF9zZXRfZmxhZ3MoJm1kX2N0eCwKKysJCQkJCUVWUF9NRF9DVFhfRkxBR19OT05fRklQU19BTExP Vyk7CisgCQkJCUVWUF9EaWdlc3RJbml0X2V4KCZtZF9jdHgsKG51bSA9PSAyKQorIAkJCQkJP3Mt PmN0eC0+bWQ1OnMtPmN0eC0+c2hhMSwgTlVMTCk7CisgCQkJCUVWUF9EaWdlc3RVcGRhdGUoJm1k X2N0eCwmKHMtPnMzLT5jbGllbnRfcmFuZG9tWzBdKSxTU0wzX1JBTkRPTV9TSVpFKTsKK2RpZmYg LXVwIG9wZW5zc2wtMS4wLjAtYmV0YTMvc3NsL3MzX2VuYy5jLmZpcHMgb3BlbnNzbC0xLjAuMC1i ZXRhMy9zc2wvczNfZW5jLmMKKy0tLSBvcGVuc3NsLTEuMC4wLWJldGEzL3NzbC9zM19lbmMuYy5m aXBzCTIwMDktMDQtMTYgMTk6MjI6NTAuMDAwMDAwMDAwICswMjAwCisrKysgb3BlbnNzbC0xLjAu MC1iZXRhMy9zc2wvczNfZW5jLmMJMjAwOS0wOS0zMCAxMzoyNTo1OC4wMDAwMDAwMDAgKzAyMDAK K0BAIC0xNzAsNiArMTcwLDcgQEAgc3RhdGljIGludCBzc2wzX2dlbmVyYXRlX2tleV9ibG9jayhT U0wgKgorICNlbmRpZgorIAlrPTA7CisgCUVWUF9NRF9DVFhfaW5pdCgmbTUpOworKwlFVlBfTURf Q1RYX3NldF9mbGFncygmbTUsIEVWUF9NRF9DVFhfRkxBR19OT05fRklQU19BTExPVyk7CisgCUVW UF9NRF9DVFhfaW5pdCgmczEpOworIAlmb3IgKGk9MDsgKGludClpPG51bTsgaSs9TUQ1X0RJR0VT VF9MRU5HVEgpCisgCQl7CitAQCAtNjE0LDYgKzYxNSw4IEBAIGludCBzc2wzX2RpZ2VzdF9jYWNo ZWRfcmVjb3JkcyhTU0wgKnMpCisgCQlpZiAoKG1hc2sgJiBzLT5zMy0+dG1wLm5ld19jaXBoZXIt PmFsZ29yaXRobTIpICYmIG1kKSAKKyAJCQl7CisgCQkJcy0+czMtPmhhbmRzaGFrZV9kZ3N0W2ld PUVWUF9NRF9DVFhfY3JlYXRlKCk7CisrCQkJRVZQX01EX0NUWF9zZXRfZmxhZ3Mocy0+czMtPmhh bmRzaGFrZV9kZ3N0W2ldLAorKwkJCQlFVlBfTURfQ1RYX0ZMQUdfTk9OX0ZJUFNfQUxMT1cpOwor IAkJCUVWUF9EaWdlc3RJbml0X2V4KHMtPnMzLT5oYW5kc2hha2VfZGdzdFtpXSxtZCxOVUxMKTsK KyAJCQlFVlBfRGlnZXN0VXBkYXRlKHMtPnMzLT5oYW5kc2hha2VfZGdzdFtpXSxoZGF0YSxoZGF0 YWxlbik7CisgCQkJfSAKK0BAIC02NzAsNiArNjczLDcgQEAgc3RhdGljIGludCBzc2wzX2hhbmRz aGFrZV9tYWMoU1NMICpzLCBpbgorIAkJcmV0dXJuIDA7CisgCX0JCisgCUVWUF9NRF9DVFhfaW5p dCgmY3R4KTsKKysJRVZQX01EX0NUWF9zZXRfZmxhZ3MoJmN0eCwgRVZQX01EX0NUWF9GTEFHX05P Tl9GSVBTX0FMTE9XKTsKKyAJRVZQX01EX0NUWF9jb3B5X2V4KCZjdHgsZCk7CisgCW49RVZQX01E X0NUWF9zaXplKCZjdHgpOworIAlpZiAobiA8IDApCitkaWZmIC11cCBvcGVuc3NsLTEuMC4wLWJl dGEzL3NzbC9zM19zcnZyLmMuZmlwcyBvcGVuc3NsLTEuMC4wLWJldGEzL3NzbC9zM19zcnZyLmMK Ky0tLSBvcGVuc3NsLTEuMC4wLWJldGEzL3NzbC9zM19zcnZyLmMuZmlwcwkyMDA5LTA2LTI2IDE3 OjA0OjIyLjAwMDAwMDAwMCArMDIwMAorKysrIG9wZW5zc2wtMS4wLjAtYmV0YTMvc3NsL3MzX3Ny dnIuYwkyMDA5LTA5LTMwIDEzOjI1OjU4LjAwMDAwMDAwMCArMDIwMAorQEAgLTE2NzQsNiArMTY3 NCw4IEBAIGludCBzc2wzX3NlbmRfc2VydmVyX2tleV9leGNoYW5nZShTU0wgKnMKKyAJCQkJaj0w OworIAkJCQlmb3IgKG51bT0yOyBudW0gPiAwOyBudW0tLSkKKyAJCQkJCXsKKysJCQkJCUVWUF9N RF9DVFhfc2V0X2ZsYWdzKCZtZF9jdHgsCisrCQkJCQkJRVZQX01EX0NUWF9GTEFHX05PTl9GSVBT X0FMTE9XKTsKKyAJCQkJCUVWUF9EaWdlc3RJbml0X2V4KCZtZF9jdHgsKG51bSA9PSAyKQorIAkJ CQkJCT9zLT5jdHgtPm1kNTpzLT5jdHgtPnNoYTEsIE5VTEwpOworIAkJCQkJRVZQX0RpZ2VzdFVw ZGF0ZSgmbWRfY3R4LCYocy0+czMtPmNsaWVudF9yYW5kb21bMF0pLFNTTDNfUkFORE9NX1NJWkUp OwogZGlmZiAtdXAgb3BlbnNzbC0xLjAuMC1iZXRhMy9zc2wvdDFfZW5jLmMuZmlwcyBvcGVuc3Ns LTEuMC4wLWJldGEzL3NzbC90MV9lbmMuYwogLS0tIG9wZW5zc2wtMS4wLjAtYmV0YTMvc3NsL3Qx X2VuYy5jLmZpcHMJMjAwOS0wNC0xOSAyMDowMzoxMy4wMDAwMDAwMDAgKzAyMDAKLSsrKyBvcGVu c3NsLTEuMC4wLWJldGEzL3NzbC90MV9lbmMuYwkyMDA5LTA4LTExIDE4OjA3OjMwLjAwMDAwMDAw MCArMDIwMAorKysrIG9wZW5zc2wtMS4wLjAtYmV0YTMvc3NsL3QxX2VuYy5jCTIwMDktMDktMzAg MTM6MjU6NTguMDAwMDAwMDAwICswMjAwCiBAQCAtMTY5LDYgKzE2OSw4IEBAIHN0YXRpYyB2b2lk IHRsczFfUF9oYXNoKGNvbnN0IEVWUF9NRCAqbWQKICAKICAJSE1BQ19DVFhfaW5pdCgmY3R4KTsK CmRpZmYgLS1naXQgYS9vcGVuc3NsLnNwZWMgYi9vcGVuc3NsLnNwZWMKaW5kZXggZjBjZjQ4OC4u MDlkYzQ2NyAxMDA2NDQKLS0tIGEvb3BlbnNzbC5zcGVjCisrKyBiL29wZW5zc2wuc3BlYwpAQCAt MjMsNyArMjMsNyBAQAogU3VtbWFyeTogQSBnZW5lcmFsIHB1cnBvc2UgY3J5cHRvZ3JhcGh5IGxp YnJhcnkgd2l0aCBUTFMgaW1wbGVtZW50YXRpb24KIE5hbWU6IG9wZW5zc2wKIFZlcnNpb246IDEu MC4wCi1SZWxlYXNlOiAwLjcuJXtiZXRhfSV7P2Rpc3R9CitSZWxlYXNlOiAwLjguJXtiZXRhfSV7 P2Rpc3R9CiAjIFdlIHJlbW92ZSBjZXJ0YWluIHBhdGVudGVkIGFsZ29yaXRobXMgZnJvbSB0aGUg b3BlbnNzbCBzb3VyY2UgdGFyYmFsbAogIyB3aXRoIHRoZSBob2JibGUtb3BlbnNzbCBzY3JpcHQg d2hpY2ggaXMgaW5jbHVkZWQgYmVsb3cuCiBTb3VyY2U6IG9wZW5zc2wtJXt2ZXJzaW9ufS0le2Jl dGF9LXVzYS50YXIuYnoyCkBAIC02MywxMCArNjMsMTAgQEAgUGF0Y2g0OTogb3BlbnNzbC0wLjku OGstYWxnby1kb2MucGF0Y2gKIFBhdGNoNTA6IG9wZW5zc2wtMS4wLjAtYmV0YTMtY3VybC5wYXRj aAogUGF0Y2g1MTogb3BlbnNzbC0xLjAuMC1iZXRhMy1jb25zdC5wYXRjaAogUGF0Y2g1Mjogb3Bl bnNzbC0xLjAuMC1iZXRhMy1kc3MxLnBhdGNoCi1QYXRjaDUzOiBvcGVuc3NsLTEuMC4wLWJldGEz LWNtbGwtbm9hc20ucGF0Y2gKICMgQmFja3BvcnRlZCBmaXhlcyBpbmNsdWRpbmcgc2VjdXJpdHkg Zml4ZXMKIFBhdGNoNjA6IG9wZW5zc2wtMS4wLjAtYmV0YTMtbmFtaW5nc3RyLnBhdGNoCiBQYXRj aDYxOiBvcGVuc3NsLTEuMC4wLWJldGEzLW5hbWluZ2Jsay5wYXRjaAorUGF0Y2g2Mjogb3BlbnNz bC0xLjAuMC1iZXRhMy1jYW1lbGxpYS1yb3VuZHMucGF0Y2gKIAogTGljZW5zZTogT3BlblNTTAog R3JvdXA6IFN5c3RlbSBFbnZpcm9ubWVudC9MaWJyYXJpZXMKQEAgLTE0OCw5ICsxNDgsOSBAQCBm cm9tIG90aGVyIGZvcm1hdHMgdG8gdGhlIGZvcm1hdHMgdXNlZCBieSB0aGUgT3BlblNTTCB0b29s a2l0LgogJXBhdGNoNTAgLXAxIC1iIC5jdXJsCiAlcGF0Y2g1MSAtcDEgLWIgLmNvbnN0CiAlcGF0 Y2g1MiAtcDEgLWIgLmRzczEKLSVwYXRjaDUzIC1wMSAtYiAuY21sbC1ub2FzbQogJXBhdGNoNjAg LXAxIC1iIC5uYW1pbmdzdHIKICVwYXRjaDYxIC1wMSAtYiAubmFtaW5nYmxrCislcGF0Y2g2MiAt cDEgLWIgLmNtbGwtcm91bmRzCiAKICMgTW9kaWZ5IHRoZSB2YXJpb3VzIHBlcmwgc2NyaXB0cyB0 byByZWZlcmVuY2UgcGVybCBpbiB0aGUgcmlnaHQgbG9jYXRpb24uCiBwZXJsIHV0aWwvcGVybHBh dGgucGwgYGRpcm5hbWUgJXtfX3Blcmx9YApAQCAtMzk5LDYgKzM5OSwxMCBAQCBybSAtcmYgJFJQ TV9CVUlMRF9ST09ULyV7X2xpYmRpcn0vZmlwc2NhbmlzdGVyLioKICVwb3N0dW4gLXAgL3NiaW4v bGRjb25maWcKIAogJWNoYW5nZWxvZworKiBXZWQgU2VwIDMwIDIwMDkgVG9tYXMgTXJheiA8dG1y YXpAcmVkaGF0LmNvbT4gMS4wLjAtMC44LmJldGEzCistIGZpeCBSU0EgYW5kIERTQSBGSVBTIHNl bGZ0ZXN0cworLSByZWVuYWJsZSBmaXhlZCB4ODZfNjQgY2FtZWxsaWEgYXNzZW1ibGVyIGNvZGUg KCM1MjExMjcpCisKICogRnJpIFNlcCAgNCAyMDA5IFRvbWFzIE1yYXogPHRtcmF6QHJlZGhhdC5j b20+IDEuMC4wLTAuNy5iZXRhMwogLSB0ZW1wb3JhcmlseSBkaXNhYmxlIHg4Nl82NCBjYW1lbGxp YSBhc3NlbWJsZXIgY29kZSAoIzUyMTEyNykKIAo=