From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 20330 invoked from network); 11 Dec 2022 18:01:11 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 11 Dec 2022 18:01:11 -0000 Content-Type: multipart/mixed; boundary="===============1608030711408468559==" MIME-Version: 1.0 Subject: =?utf8?q?=5BPR_PATCH=5D_transcode=3A_dead_URL_upstream=2E?= To: ml@inbox.vuxu.org From: zlice Reply-to: ml@inbox.vuxu.org Message-ID: Date: Sun, 11 Dec 2022 19:01:11 +0100 List-Id: GitHub notification mails are now in MIME to allow UTF8. --===============1608030711408468559== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYSBuZXcgcHVsbCByZXF1ZXN0IGJ5IHpsaWNlIGFnYWluc3QgbWFzdGVyIG9uIHRo ZSB2b2lkLXBhY2thZ2VzIHJlcG9zaXRvcnkKCmh0dHBzOi8vZ2l0aHViLmNvbS96bGljZS92b2lk LXBhY2thZ2VzIHRyYW5zY29kZV9kZWFkCmh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3Zv aWQtcGFja2FnZXMvcHVsbC80MTAxOAoKdHJhbnNjb2RlOiBkZWFkIFVSTCB1cHN0cmVhbS4KVGhp cyBwYWNrYWdlIGFwcGVhcnMgdG8gaGF2ZSB2YW5pc2hlZC4gT3RoZXIgZGlzdHJvcyBwb2ludCB0 byBiaXRidWNrZXQgKipmcmFuY2UqKiB3aGlsZSB2b2lkIHBvaW50cyB0byAqKm1vamF2ZXMqKiBi dXQgYm90aCBhcmUgbm90IG9uIGJpdGJ1Y2tldC4NCgoKQSBwYXRjaCBmaWxlIGZyb20gaHR0cHM6 Ly9naXRodWIuY29tL3ZvaWQtbGludXgvdm9pZC1wYWNrYWdlcy9wdWxsLzQxMDE4LnBhdGNoIGlz IGF0dGFjaGVk --===============1608030711408468559== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-transcode_dead-41018.patch" RnJvbSBiNDI5ZTRlMWY1OWJiMTgxYjg2MWMxNjUyMjExOTIzOWYyMDMwZTFkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiB6bGljZSA8emxpY2U1NTVAZ21haWwuY29tPgpEYXRlOiBTdW4s IDExIERlYyAyMDIyIDEzOjAwOjA4IC0wNTAwClN1YmplY3Q6IFtQQVRDSF0gdHJhbnNjb2RlOiBk ZWFkIFVSTCB1cHN0cmVhbS4KCi0tLQogc3JjcGtncy9yZW1vdmVkLXBhY2thZ2VzL3RlbXBsYXRl ICAgICAgICAgICAgIHwgICAgMSArCiBzcmNwa2dzL3RyYW5zY29kZS9wYXRjaGVzL211c2wucGF0 Y2ggICAgICAgICAgfCAgIDIwIC0KIC4uLi9wYXRjaGVzL3RyYW5zY29kZS1jb25maWd1cmVfaW4u cGF0Y2ggICAgICB8ICAgNDUgLQogLi4uL3RyYW5zY29kZS9wYXRjaGVzL3RyYW5zY29kZS1mZm1w ZWczLnBhdGNoIHwgMTI0MSAtLS0tLS0tLS0tLS0tLS0tLQogLi4uL3RyYW5zY29kZS9wYXRjaGVz L3RyYW5zY29kZS1mZm1wZWc0LnBhdGNoIHwgIDQ5NyAtLS0tLS0tCiBzcmNwa2dzL3RyYW5zY29k ZS90ZW1wbGF0ZSAgICAgICAgICAgICAgICAgICAgfCAgIDI0IC0KIDYgZmlsZXMgY2hhbmdlZCwg MSBpbnNlcnRpb24oKyksIDE4MjcgZGVsZXRpb25zKC0pCiBkZWxldGUgbW9kZSAxMDA2NDQgc3Jj cGtncy90cmFuc2NvZGUvcGF0Y2hlcy9tdXNsLnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQgc3Jj cGtncy90cmFuc2NvZGUvcGF0Y2hlcy90cmFuc2NvZGUtY29uZmlndXJlX2luLnBhdGNoCiBkZWxl dGUgbW9kZSAxMDA2NDQgc3JjcGtncy90cmFuc2NvZGUvcGF0Y2hlcy90cmFuc2NvZGUtZmZtcGVn My5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvdHJhbnNjb2RlL3BhdGNoZXMvdHJh bnNjb2RlLWZmbXBlZzQucGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3RyYW5zY29k ZS90ZW1wbGF0ZQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcmVtb3ZlZC1wYWNrYWdlcy90ZW1wbGF0 ZSBiL3NyY3BrZ3MvcmVtb3ZlZC1wYWNrYWdlcy90ZW1wbGF0ZQppbmRleCBkZjNmZGMzMzFjODQu LjlhZWEyZGFhZDdkZiAxMDA2NDQKLS0tIGEvc3JjcGtncy9yZW1vdmVkLXBhY2thZ2VzL3RlbXBs YXRlCisrKyBiL3NyY3BrZ3MvcmVtb3ZlZC1wYWNrYWdlcy90ZW1wbGF0ZQpAQCAtNDg5LDYgKzQ4 OSw3IEBAIHJlcGxhY2VzPSIKICB0YWl6ZW48PTAuMC4wLjIwMTgwODA4XzQKICB0ZXJtaW5hbF9t YXJrZG93bl92aWV3ZXI8PTEuNi4zXzQKICB0bHNkYXRlPD0wLjAuMTNfMTYKKyB0cmFuc2NvZGU8 PTEuMS43XzQKICB0cmF2ZXJzbzw9MC40OS42XzIKICB0dHlsb2FkLWdpdDw9MjAxNDExMTdfNAog IHR1eGM8PTEuMV8zCmRpZmYgLS1naXQgYS9zcmNwa2dzL3RyYW5zY29kZS9wYXRjaGVzL211c2wu cGF0Y2ggYi9zcmNwa2dzL3RyYW5zY29kZS9wYXRjaGVzL211c2wucGF0Y2gKZGVsZXRlZCBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDg3NTYyN2U0NTAzZC4uMDAwMDAwMDAwMDAwCi0tLSBhL3NyY3Br Z3MvdHJhbnNjb2RlL3BhdGNoZXMvbXVzbC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDIwICsw LDAgQEAKLS0tLSBhL2F2aWxpYi9hdmlkdW1wLmMKLSsrKyBiL2F2aWxpYi9hdmlkdW1wLmMKLUBA IC0zMjAsNyArMzIwLDcgQEAKLSB7Ci0gICAgIHVpbnQzMl90IGksaix2YWwzMjsKLSAgICAgdWlu dDE2X3QgdmFsMTY7Ci0tICAgIGxvZmZfdCB2YWw2NDsKLSsgICAgdWludDY0X3QgdmFsNjQ7Ci0g ICAgIGNoYXIgdmFsODsKLSAKLSAgICAgZm9yIChpID0gMDsgbmFtZXNbaV0udHlwZSAhPSBFb0xT VDsgaSsrKSB7Ci1AQCAtNjA1LDcgKzYwNSw3IEBACi0gCi0gICAgIGNhc2UgaW5keHRhZzogewot IAl1aW50MzJfdCBjaHVua3M9KmNodW5rc2l6ZS1zaXplb2YobmFtZXNfaW5keCkvc2l6ZW9mKGNo YXIqKTsKLS0JbG9mZl90IG9mZnNldDsKLSsJdWludDY0X3Qgb2Zmc2V0OwotIAl1aW50MzJfdCBz aXplLCBkdXJhdGlvbjsKLSAJdWludDMyX3QgdT0wOwotIAlvZmZfdCBpbmR4ZW5kID0gZGF0YXBv cyArIGNodW5rczsKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvdHJhbnNjb2RlL3BhdGNoZXMvdHJhbnNj b2RlLWNvbmZpZ3VyZV9pbi5wYXRjaCBiL3NyY3BrZ3MvdHJhbnNjb2RlL3BhdGNoZXMvdHJhbnNj b2RlLWNvbmZpZ3VyZV9pbi5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTA3 ZmJiM2I2NGQ0Li4wMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy90cmFuc2NvZGUvcGF0Y2hlcy90 cmFuc2NvZGUtY29uZmlndXJlX2luLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDUgKzAsMCBA QAotLS0tIGEvY29uZmlndXJlLmluCTIwMTgtMDYtMjIgMjA6NTc6MDguOTI1MDMzNjg1ICswMjAw Ci0rKysgYi9jb25maWd1cmUuaW4JMjAxOC0wNi0yMiAyMDo1ODoxOS41NDQwMzczMjggKzAyMDAK LUBAIC03NzYsNDIgKzc3Niw2IEBACi0gICAgIExBTUVfQ0ZMQUdTPSIkbGFtZV9paSIKLSAgIGZp Ci0gICBDUFBGTEFHUz0iJHNhdmVfQ1BQRkxBR1MiCi0tCi0tICBBQ19NU0dfQ0hFQ0tJTkcoW2xh bWUgdmVyc2lvbl0pCi0tICBhY19zYXZlX0NGTEFHUz0iJENGTEFHUyIKLS0gIGFjX3NhdmVfTElC Uz0iJExJQlMiCi0tICBDRkxBR1M9IiRDRkxBR1MgJExBTUVfQ0ZMQUdTIgotLSAgTElCUz0iJExJ QlMgJExBTUVfTElCUyIKLS0gIEFDX1JVTl9JRkVMU0UoW0FDX0xBTkdfU09VUkNFKFtbCi0tI2lu Y2x1ZGUgPHN0ZGlvLmg+Ci0tCi0tI2lmZGVmIEhBVkVfTEFNRV9JTkMKLS0jaW5jbHVkZSA8bGFt ZS9sYW1lLmg+Ci0tI2Vsc2UKLS0jaW5jbHVkZSA8bGFtZS5oPgotLSNlbmRpZgotLQotLWludCBt YWluICgpIHsKLS0gIGxhbWVfdmVyc2lvbl90IGx2OwotLSAgZ2V0X2xhbWVfdmVyc2lvbl9udW1l cmljYWwoJmx2KTsKLS0gIGlmKGx2LmFscGhhIHx8IGx2LmJldGEpIGx2Lm1pbm9yLS07Ci0tICBw cmludGYoIiVkJWRcbiIsIGx2Lm1ham9yLCBsdi5taW5vcik7Ci0tICByZXR1cm4gMDsKLS19Ci0t XV0pXSwKLS0gICAgW2xhbWVfdmVyc2lvbj0iYC4vY29uZnRlc3QkYWNfZXhlZXh0YCJdLAotLSAg ICBbQUNfTVNHX1JFU1VMVChbZmFpbGVkXSkKLS0gICAgIFRDX1BLR19FUlJPUihsYW1lLCBsYW1l LmgsIHllcywgbGFtZSwgW2h0dHA6Ly93d3cubXAzZGV2Lm9yZy9dLAotLSAgICAgIFtjYW5ub3Qg Y29tcGlsZSBhbmQgcnVuIGEgdGVzdCBwcm9ncmFtXSldLCwKLS0gICAgW0FDX01TR19SRVNVTFQo W2Nyb3NzIGNvbXBpbGluZzsgYXNzdW1lZCBPSy4uLl0pXSkKLS0gIENGTEFHUz0iJGFjX3NhdmVf Q0ZMQUdTIgotLSAgTElCUz0iJGFjX3NhdmVfTElCUyIKLS0KLS0gIGlmIHRlc3QgMzkzIC1nZSAi JGxhbWVfdmVyc2lvbiIgOyB0aGVuCi0tICAgIGhhdmVfbGFtZT0ibm8iCi0tICAgIFRDX1BLR19F UlJPUihsYW1lLCBsYW1lLmgsIHllcywgbGFtZSwgW2h0dHA6Ly93d3cubXAzZGV2Lm9yZy9dLAot LSAgICAgIFtsYW1lIHZlcnNpb24gPCAzLjkzXSkKLS0gIGZpCi0gZmkKLSBUQ19QS0dfSEFWRShs YW1lLCBMQU1FKQotIApkaWZmIC0tZ2l0IGEvc3JjcGtncy90cmFuc2NvZGUvcGF0Y2hlcy90cmFu c2NvZGUtZmZtcGVnMy5wYXRjaCBiL3NyY3BrZ3MvdHJhbnNjb2RlL3BhdGNoZXMvdHJhbnNjb2Rl LWZmbXBlZzMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg2OWE5ZWI2M2Ni Mi4uMDAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvdHJhbnNjb2RlL3BhdGNoZXMvdHJhbnNjb2Rl LWZmbXBlZzMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxMjQxICswLDAgQEAKLVN1Ym1pdHRl ZCBCeTogICAgICAgICAgICBBcm1pb24gSy4gPGtyZWp6aSBhdCBlbWFpbCBkb3QgY29tPgotRGF0 ZTogICAgICAgICAgICAgICAgICAgIDIwMTYtMDUtMDYKLUluaXRpYWwgUGFja2FnZSBWZXJzaW9u OiAxLjEuNwotVXBzdHJlYW0gU3RhdHVzOiAgICAgICAgIFVua25vd24KLU9yaWdpbjogICAgICAg ICAgICAgICAgICBHZW50b28gYW5kIERlYmlhbgotRGVzY3JpcHRpb246ICAgICAgICAgICAgIEZp eGVzIGJ1aWxkaW5nIGFnYWluc3QgRkZtcGVnIHZlcnNpb24gPj0gMy4wLjAKLQotLS0tIGEvZW5j b2RlL2VuY29kZV9sYXZjLmMJMjAxMS0xMS0xOSAxNzo1MDoyNy4wMDAwMDAwMDAgKzAxMDAKLSsr KyBiL2VuY29kZS9lbmNvZGVfbGF2Yy5jCTIwMTYtMDItMTUgMTY6MDg6MzcuOTE0NDg4MTE2ICsw MTAwCi1AQCAtNzQsNiArNzQsOSBAQAotICAgICBpbnQgbG1pbjsKLSAgICAgaW50IGxtYXg7Ci0g ICAgIGludCBtZV9tZXRob2Q7Ci0rICAgIGludCBsdW1hX2VsaW1fdGhyZXNob2xkOwotKyAgICBp bnQgY2hyb21hX2VsaW1fdGhyZXNob2xkOwotKyAgICBpbnQgcXVhbnRpemVyX25vaXNlX3NoYXBp bmc7Ci0gCi0gICAgIC8qIHNhbWUgYXMgYWJvdmUgZm9yIGZsYWdzICovCi0gICAgIHN0cnVjdCB7 Ci1AQCAtMTE0LDYgKzExNyw3IEBACi0gCi0gICAgIEFWRnJhbWUgZmZfdmVuY19mcmFtZTsKLSAg ICAgQVZDb2RlY0NvbnRleHQgZmZfdmNvbnRleHQ7Ci0rICAgIEFWRGljdGlvbmFyeSAqIGZmX29w dHM7Ci0gCi0gICAgIEFWQ29kZWMgKmZmX3Zjb2RlYzsKLSAKLUBAIC0xNjQsNiArMTY4LDcgQEAK LSAgICAgVENfQ09ERUNfRVJST1IKLSB9OwotIAotKyNpZiBMSUJBVkNPREVDX1ZFUlNJT05fTUFK T1IgPCA1NQotIHN0YXRpYyBjb25zdCBlbnVtIENvZGVjSUQgdGNfbGF2Y19pbnRlcm5hbF9jb2Rl Y3NbXSA9IHsKLSAgICAgQ09ERUNfSURfTVBFRzFWSURFTywgQ09ERUNfSURfTVBFRzJWSURFTywg Q09ERUNfSURfTVBFRzQsCi0gICAgIENPREVDX0lEX0gyNjNJLCBDT0RFQ19JRF9IMjYzUCwKLUBA IC0xNzYsNiArMTgxLDIwIEBACi0gICAgIENPREVDX0lEX01TTVBFRzRWMiwgQ09ERUNfSURfTVNN UEVHNFYzLAotICAgICBDT0RFQ19JRF9OT05FCi0gfTsKLSsjZWxzZQotK3N0YXRpYyBjb25zdCBl bnVtIEFWQ29kZWNJRCB0Y19sYXZjX2ludGVybmFsX2NvZGVjc1tdID0gewotKyAgICBBVl9DT0RF Q19JRF9NUEVHMVZJREVPLCBBVl9DT0RFQ19JRF9NUEVHMlZJREVPLCBBVl9DT0RFQ19JRF9NUEVH NCwKLSsgICAgQVZfQ09ERUNfSURfSDI2M0ksIEFWX0NPREVDX0lEX0gyNjNQLAotKyAgICBBVl9D T0RFQ19JRF9IMjY0LAotKyAgICBBVl9DT0RFQ19JRF9XTVYxLCBBVl9DT0RFQ19JRF9XTVYyLAot KyAgICBBVl9DT0RFQ19JRF9SVjEwLAotKyAgICBBVl9DT0RFQ19JRF9IVUZGWVVWLCBBVl9DT0RF Q19JRF9GRlYxLAotKyAgICBBVl9DT0RFQ19JRF9EVlZJREVPLAotKyAgICBBVl9DT0RFQ19JRF9N SlBFRywgQVZfQ09ERUNfSURfTEpQRUcsCi0rICAgIEFWX0NPREVDX0lEX01TTVBFRzRWMiwgQVZf Q09ERUNfSURfTVNNUEVHNFYzLAotKyAgICBBVl9DT0RFQ19JRF9OT05FCi0rfTsKLSsjZW5kaWYK LSAKLSBzdGF0aWMgY29uc3QgVENGb3JtYXRJRCB0Y19sYXZjX2Zvcm1hdHNbXSA9IHsgVENfRk9S TUFUX0VSUk9SIH07Ci0gCi1AQCAtMjE0LDcgKzIzMyw3IEBACi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHZmcmFtZV9saXN0X3QgKnZmcmFtZSkKLSB7Ci0gICAgIGF2cGlj dHVyZV9maWxsKChBVlBpY3R1cmUgKikmcGQtPmZmX3ZlbmNfZnJhbWUsIHZmcmFtZS0+dmlkZW9f YnVmLAotLSAgICAgICAgICAgICAgICAgICAgUElYX0ZNVF9ZVVY0MjBQLAotKyAgICAgICAgICAg ICAgICAgICAgQVZfUElYX0ZNVF9ZVVY0MjBQLAotICAgICAgICAgICAgICAgICAgICAgcGQtPmZm X3Zjb250ZXh0LndpZHRoLCBwZC0+ZmZfdmNvbnRleHQuaGVpZ2h0KTsKLSB9Ci0gCi1AQCAtMjI4 LDcgKzI0Nyw3IEBACi0gICAgICAgICAgICAgICAgICAgICBJTUdfWVVWX0RFRkFVTFQsCi0gICAg ICAgICAgICAgICAgICAgICBwZC0+ZmZfdmNvbnRleHQud2lkdGgsIHBkLT5mZl92Y29udGV4dC5o ZWlnaHQpOwotICAgICBhdnBpY3R1cmVfZmlsbCgoQVZQaWN0dXJlICopJnBkLT5mZl92ZW5jX2Zy YW1lLCBwZC0+dmZyYW1lX2J1Zi0+dmlkZW9fYnVmLAotLSAgICAgICAgICAgICAgICAgICBQSVhf Rk1UX1lVVjQyMlAsCi0rICAgICAgICAgICAgICAgICAgIEFWX1BJWF9GTVRfWVVWNDIyUCwKLSAg ICAgICAgICAgICAgICAgICAgcGQtPmZmX3Zjb250ZXh0LndpZHRoLCBwZC0+ZmZfdmNvbnRleHQu aGVpZ2h0KTsKLSAgICAgYWNfaW1nY29udmVydChzcmMsIElNR19ZVVZfREVGQVVMVCwKLSAgICAg ICAgICAgICAgICAgICBwZC0+ZmZfdmVuY19mcmFtZS5kYXRhLCBJTUdfWVVWNDIyUCwKLUBAIC0y NDQsNyArMjYzLDcgQEAKLSAgICAgICAgICAgICAgICAgICAgIElNR19ZVVY0MjJQLAotICAgICAg ICAgICAgICAgICAgICAgcGQtPmZmX3Zjb250ZXh0LndpZHRoLCBwZC0+ZmZfdmNvbnRleHQuaGVp Z2h0KTsKLSAgICAgYXZwaWN0dXJlX2ZpbGwoKEFWUGljdHVyZSAqKSZwZC0+ZmZfdmVuY19mcmFt ZSwgcGQtPnZmcmFtZV9idWYtPnZpZGVvX2J1ZiwKLS0gICAgICAgICAgICAgICAgICAgUElYX0ZN VF9ZVVY0MjBQLAotKyAgICAgICAgICAgICAgICAgICBBVl9QSVhfRk1UX1lVVjQyMFAsCi0gICAg ICAgICAgICAgICAgICAgIHBkLT5mZl92Y29udGV4dC53aWR0aCwgcGQtPmZmX3Zjb250ZXh0Lmhl aWdodCk7Ci0gICAgIGFjX2ltZ2NvbnZlcnQoc3JjLCBJTUdfWVVWNDIyUCwKLSAgICAgICAgICAg ICAgICAgICBwZC0+ZmZfdmVuY19mcmFtZS5kYXRhLCBJTUdfWVVWNDIwUCwKLUBAIC0yNTYsNyAr Mjc1LDcgQEAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2 ZnJhbWVfbGlzdF90ICp2ZnJhbWUpCi0gewotICAgICBhdnBpY3R1cmVfZmlsbCgoQVZQaWN0dXJl ICopJnBkLT5mZl92ZW5jX2ZyYW1lLCB2ZnJhbWUtPnZpZGVvX2J1ZiwKLS0gICAgICAgICAgICAg ICAgICAgUElYX0ZNVF9ZVVY0MjJQLAotKyAgICAgICAgICAgICAgICAgICBBVl9QSVhfRk1UX1lV VjQyMlAsCi0gICAgICAgICAgICAgICAgICAgIHBkLT5mZl92Y29udGV4dC53aWR0aCwgcGQtPmZm X3Zjb250ZXh0LmhlaWdodCk7Ci0gCi0gfQotQEAgLTI2Niw3ICsyODUsNyBAQAotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgdmZyYW1lX2xpc3RfdCAqdmZyYW1lKQotIHsKLSAg ICAgYXZwaWN0dXJlX2ZpbGwoKEFWUGljdHVyZSAqKSZwZC0+ZmZfdmVuY19mcmFtZSwgcGQtPnZm cmFtZV9idWYtPnZpZGVvX2J1ZiwKLS0gICAgICAgICAgICAgICAgICAgUElYX0ZNVF9ZVVY0MjBQ LAotKyAgICAgICAgICAgICAgICAgICBBVl9QSVhfRk1UX1lVVjQyMFAsCi0gICAgICAgICAgICAg ICAgICAgIHBkLT5mZl92Y29udGV4dC53aWR0aCwgcGQtPmZmX3Zjb250ZXh0LmhlaWdodCk7Ci0g ICAgIGFjX2ltZ2NvbnZlcnQoJnZmcmFtZS0+dmlkZW9fYnVmLCBJTUdfUkdCX0RFRkFVTFQsCi0g ICAgICAgICAgICAgICAgICAgcGQtPmZmX3ZlbmNfZnJhbWUuZGF0YSwgSU1HX1lVVjQyMFAsCi1A QCAtNTkxLDIxICs2MTAsMjEgQEAKLSAgICAgICBjYXNlIENPREVDX1lVVjoKLSAgICAgICAgIGlm IChUQ19WQ09ERUNfSUQocGQpID09IFRDX0NPREVDX0hVRkZZVVYpIHsKLSAgICAgICAgICAgICBw ZC0+dGNfcGl4X2ZtdCA9IFRDX0NPREVDX1lVVjQyMlA7Ci0tICAgICAgICAgICAgcGQtPmZmX3Zj b250ZXh0LnBpeF9mbXQgPSBQSVhfRk1UX1lVVjQyMlA7Ci0rICAgICAgICAgICAgcGQtPmZmX3Zj b250ZXh0LnBpeF9mbXQgPSBBVl9QSVhfRk1UX1lVVjQyMlA7Ci0gICAgICAgICAgICAgcGQtPnBy ZV9lbmNvZGVfdmlkZW8gPSBwcmVfZW5jb2RlX3ZpZGVvX3l1djQyMHBfaHVmZnl1djsKLSAgICAg ICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgcGQtPnRjX3BpeF9mbXQgPSBUQ19DT0RFQ19ZVVY0 MjBQOwotICAgICAgICAgICAgIHBkLT5mZl92Y29udGV4dC5waXhfZm10ID0gKFRDX1ZDT0RFQ19J RChwZCkgPT0gVENfQ09ERUNfTUpQRUcpIAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgID8gUElYX0ZNVF9ZVVZKNDIwUAotLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIDogUElYX0ZNVF9ZVVY0MjBQOwotKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgID8gQVZfUElYX0ZNVF9ZVVZKNDIwUAotKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIDogQVZfUElYX0ZNVF9ZVVY0MjBQOwotICAgICAgICAgICAg IHBkLT5wcmVfZW5jb2RlX3ZpZGVvID0gcHJlX2VuY29kZV92aWRlb195dXY0MjBwOwotICAgICAg ICAgfQotICAgICAgICAgYnJlYWs7Ci0gICAgICAgY2FzZSBDT0RFQ19ZVVY0MjI6Ci0gICAgICAg ICBwZC0+dGNfcGl4X2ZtdCA9IFRDX0NPREVDX1lVVjQyMlA7Ci0gICAgICAgICBwZC0+ZmZfdmNv bnRleHQucGl4X2ZtdCA9IChUQ19WQ09ERUNfSUQocGQpID09IFRDX0NPREVDX01KUEVHKSAKLS0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gUElYX0ZNVF9ZVVZKNDIyUAotLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBQSVhfRk1UX1lVVjQyMlA7Ci0rICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IEFWX1BJWF9GTVRfWVVWSjQyMlAKLSsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogQVZfUElYX0ZNVF9ZVVY0MjJQOwot ICAgICAgICAgaWYgKFRDX1ZDT0RFQ19JRChwZCkgPT0gVENfQ09ERUNfSFVGRllVVikgewotICAg ICAgICAgICAgIHBkLT5wcmVfZW5jb2RlX3ZpZGVvID0gcHJlX2VuY29kZV92aWRlb195dXY0MjJw X2h1ZmZ5dXY7Ci0gICAgICAgICB9IGVsc2UgewotQEAgLTYxNSwxMCArNjM0LDEwIEBACi0gICAg ICAgY2FzZSBDT0RFQ19SR0I6Ci0gICAgICAgICBwZC0+dGNfcGl4X2ZtdCA9IFRDX0NPREVDX1JH QjsKLSAgICAgICAgIHBkLT5mZl92Y29udGV4dC5waXhfZm10ID0gKFRDX1ZDT0RFQ19JRChwZCkg PT0gVENfQ09ERUNfSFVGRllVVikKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgPyBQSVhfRk1UX1lVVjQyMlAKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgPyBBVl9QSVhfRk1UX1lVVjQyMlAKLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgOiAoVENfVkNPREVDX0lEKHBkKSA9PSBUQ19DT0RFQ19NSlBFRykgCi0t ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gUElYX0ZNVF9ZVVZK NDIwUAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFBJWF9G TVRfWVVWNDIwUDsKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg PyBBVl9QSVhfRk1UX1lVVko0MjBQCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIDogQVZfUElYX0ZNVF9ZVVY0MjBQOwotICAgICAgICAgcGQtPnByZV9lbmNvZGVf dmlkZW8gPSBwcmVfZW5jb2RlX3ZpZGVvX3JnYjI0OwotICAgICAgICAgYnJlYWs7Ci0gICAgICAg ZGVmYXVsdDoKLUBAIC05MzcsNyArOTU2LDExIEBACi0gc3RhdGljIHZvaWQgdGNfbGF2Y19jb25m aWdfZGVmYXVsdHMoVENMYXZjUHJpdmF0ZURhdGEgKnBkKQotIHsKLSAgICAgLyogZmlyc3Qgb2Yg YWxsIHJlaW5pdGlhbGl6ZSBsYXZjIGRhdGEgKi8KLSsjaWYgTElCQVZDT0RFQ19WRVJTSU9OX01B Sk9SIDwgNTUKLSAgICAgYXZjb2RlY19nZXRfY29udGV4dF9kZWZhdWx0cygmcGQtPmZmX3Zjb250 ZXh0KTsKLSsjZWxzZQotKyAgICBhdmNvZGVjX2dldF9jb250ZXh0X2RlZmF1bHRzMygmcGQtPmZm X3Zjb250ZXh0LCBOVUxMKTsKLSsjZW5kaWYKLSAKLSAgICAgcGQtPmNvbmZkYXRhLnRocmVhZF9j b3VudCA9IDE7Ci0gCi1AQCAtOTU1LDggKzk3OCw2IEBACi0gICAgIC8qIAotICAgICAgKiBjb250 ZXh0ICp0cmFuc2NvZGUqIChub3QgbGliYXZjb2RlYykgZGVmYXVsdHMKLSAgICAgICovCi0tICAg IHBkLT5mZl92Y29udGV4dC5tYl9xbWluICAgICAgICAgICAgICAgICA9IDI7Ci0tICAgIHBkLT5m Zl92Y29udGV4dC5tYl9xbWF4ICAgICAgICAgICAgICAgICA9IDMxOwotICAgICBwZC0+ZmZfdmNv bnRleHQubWF4X3FkaWZmICAgICAgICAgICAgICAgPSAzOwotICAgICBwZC0+ZmZfdmNvbnRleHQu bWF4X2JfZnJhbWVzICAgICAgICAgICAgPSAwOwotICAgICBwZC0+ZmZfdmNvbnRleHQubWVfcmFu Z2UgICAgICAgICAgICAgICAgPSAwOwotQEAgLTk3Nyw4ICs5OTgsOCBAQAotICAgICBwZC0+ZmZf dmNvbnRleHQubXBlZ19xdWFudCAgICAgICAgICAgICAgPSAwOwotICAgICBwZC0+ZmZfdmNvbnRl eHQucmNfaW5pdGlhbF9jcGx4ICAgICAgICAgPSAwLjA7Ci0gICAgIHBkLT5mZl92Y29udGV4dC5y Y19xc3F1aXNoICAgICAgICAgICAgICA9IDEuMDsKLS0gICAgcGQtPmZmX3Zjb250ZXh0Lmx1bWFf ZWxpbV90aHJlc2hvbGQgICAgID0gMDsKLS0gICAgcGQtPmZmX3Zjb250ZXh0LmNocm9tYV9lbGlt X3RocmVzaG9sZCAgID0gMDsKLSsgICAgcGQtPmNvbmZkYXRhLmx1bWFfZWxpbV90aHJlc2hvbGQg ICAgID0gMDsKLSsgICAgcGQtPmNvbmZkYXRhLmNocm9tYV9lbGltX3RocmVzaG9sZCAgID0gMDsK LSAgICAgcGQtPmZmX3Zjb250ZXh0LnN0cmljdF9zdGRfY29tcGxpYW5jZSAgID0gMDsKLSAgICAg cGQtPmZmX3Zjb250ZXh0LmRjdF9hbGdvICAgICAgICAgICAgICAgID0gRkZfRENUX0FVVE87Ci0g ICAgIHBkLT5mZl92Y29udGV4dC5pZGN0X2FsZ28gICAgICAgICAgICAgICA9IEZGX0lEQ1RfQVVU TzsKLUBAIC0xMDAyLDcgKzEwMjMsNyBAQAotICAgICBwZC0+ZmZfdmNvbnRleHQuaW50cmFfcXVh bnRfYmlhcyAgICAgICAgPSBGRl9ERUZBVUxUX1FVQU5UX0JJQVM7Ci0gICAgIHBkLT5mZl92Y29u dGV4dC5pbnRlcl9xdWFudF9iaWFzICAgICAgICA9IEZGX0RFRkFVTFRfUVVBTlRfQklBUzsKLSAg ICAgcGQtPmZmX3Zjb250ZXh0Lm5vaXNlX3JlZHVjdGlvbiAgICAgICAgID0gMDsKLS0gICAgcGQt PmZmX3Zjb250ZXh0LnF1YW50aXplcl9ub2lzZV9zaGFwaW5nID0gMDsKLSsgICAgcGQtPmNvbmZk YXRhLnF1YW50aXplcl9ub2lzZV9zaGFwaW5nID0gMDsKLSAgICAgcGQtPmZmX3Zjb250ZXh0LmZs YWdzICAgICAgICAgICAgICAgICAgID0gMDsKLSB9Ci0gCi1AQCAtMTAzMywxNyArMTA1NCwxMCBA QAotICAgICBwZC0+ZmZfdmNvbnRleHQubWVfbWV0aG9kID0gTUVfWkVSTyArIHBkLT5jb25mZGF0 YS5tZV9tZXRob2Q7Ci0gCi0gICAgIHBkLT5mZl92Y29udGV4dC5mbGFncyA9IDA7Ci0tICAgIFNF VF9GTEFHKHBkLCBtdjApOwotLSAgICBTRVRfRkxBRyhwZCwgY2JwKTsKLSAgICAgU0VUX0ZMQUco cGQsIHFwZWwpOwotLSAgICBTRVRfRkxBRyhwZCwgYWx0KTsKLS0gICAgU0VUX0ZMQUcocGQsIHZk cGFydCk7Ci0tICAgIFNFVF9GTEFHKHBkLCBuYXEpOwotICAgICBTRVRfRkxBRyhwZCwgaWxtZSk7 Ci0gICAgIFNFVF9GTEFHKHBkLCBpbGRjdCk7Ci0gICAgIFNFVF9GTEFHKHBkLCBhaWMpOwotLSAg ICBTRVRfRkxBRyhwZCwgYWl2KTsKLS0gICAgU0VUX0ZMQUcocGQsIHVtdik7Ci0gICAgIFNFVF9G TEFHKHBkLCBwc25yKTsKLSAgICAgU0VUX0ZMQUcocGQsIHRyZWxsKTsKLSAgICAgU0VUX0ZMQUco cGQsIGdyYXkpOwotQEAgLTEwNjQsNiArMTA3OCwzNiBAQAotICAgICAgICAgcGQtPmZmX3Zjb250 ZXh0LmZsYWdzIHw9IENPREVDX0ZMQUdfSU5URVJMQUNFRF9EQ1Q7Ci0gICAgICAgICBwZC0+ZmZf dmNvbnRleHQuZmxhZ3MgfD0gQ09ERUNfRkxBR19JTlRFUkxBQ0VEX01FOwotICAgICB9Ci0rICAg IGlmIChwZC0+Y29uZmRhdGEuZmxhZ3MuYWx0KSB7Ci0rICAgICAgICBhdl9kaWN0X3NldCgmKHBk LT5mZl9vcHRzKSwgImFsdGVybmF0ZV9zY2FuIiwgIjEiLCAwKTsKLSsgICAgfQotKyAgICBpZiAo cGQtPmNvbmZkYXRhLmZsYWdzLnZkcGFydCkgewotKyAgICAgICAgYXZfZGljdF9zZXQoJihwZC0+ ZmZfb3B0cyksICJkYXRhX3BhcnRpdGlvbmluZyIsICIxIiwgMCk7Ci0rICAgIH0KLSsgICAgaWYg KHBkLT5jb25mZGF0YS5mbGFncy51bXYpIHsKLSsgICAgICAgIGF2X2RpY3Rfc2V0KCYocGQtPmZm X29wdHMpLCAidW12IiwgIjEiLCAwKTsKLSsgICAgfQotKyAgICBpZiAocGQtPmNvbmZkYXRhLmZs YWdzLmFpdikgewotKyAgICAgICAgYXZfZGljdF9zZXQoJihwZC0+ZmZfb3B0cyksICJhaXYiLCAi MSIsIDApOwotKyAgICB9Ci0rICAgIGlmIChwZC0+Y29uZmRhdGEuZmxhZ3MuY2JwKSB7Ci0rICAg IAlhdl9kaWN0X3NldCgmKHBkLT5mZl9vcHRzKSwgIm1wdl9mbGFncyIsICIrY2JwX3JkIiwgMCk7 Ci0rICAgIH0KLSsgICAgaWYgKHBkLT5jb25mZGF0YS5mbGFncy5tdjApIHsKLSsgICAgICAgIGF2 X2RpY3Rfc2V0KCYocGQtPmZmX29wdHMpLCAibXB2X2ZsYWdzIiwgIittdjAiLCAwKTsKLSsgICAg fQotKyAgICBpZiAocGQtPmNvbmZkYXRhLmZsYWdzLm5hcSkgewotKyAgICAgICAgYXZfZGljdF9z ZXQoJihwZC0+ZmZfb3B0cyksICJtcHZfZmxhZ3MiLCAiK25hcSIsIDApOwotKyAgICB9Ci0rCi0r ICAgIGNoYXIgYnVmWzEwMjRdOwotKyNkZWZpbmUgc2V0X2RpY3Rfb3B0KHZhbCwgb3B0KSBcCi0r ICAgIHNucHJpbnRmKGJ1Ziwgc2l6ZW9mKGJ1ZiksICIlaSIsIHBkLT5jb25mZGF0YS52YWwpO1wK LSsgICAgYXZfZGljdF9zZXQoJihwZC0+ZmZfb3B0cyksIG9wdCwgYnVmLCAwKQotKwotKyAgICBz ZXRfZGljdF9vcHQobHVtYV9lbGltX3RocmVzaG9sZCwgImx1bWFfZWxpbV90aHJlc2hvbGQiKTsK LSsgICAgc2V0X2RpY3Rfb3B0KGNocm9tYV9lbGltX3RocmVzaG9sZCwgImNocm9tYV9lbGltX3Ro cmVzaG9sZCIpOwotKyAgICBzZXRfZGljdF9vcHQocXVhbnRpemVyX25vaXNlX3NoYXBpbmcsICJx dWFudGl6ZXJfbm9pc2Vfc2hhcGluZyIpOwotIH0KLSAKLSAjdW5kZWYgU0VUX0ZMQUcKLUBAIC0x MTE2LDEyICsxMTYwLDEwIEBACi0gICAgICAgICAvLyAgaGFuZGxlZCBieSB0cmFuc2NvZGUgY29y ZQotICAgICAgICAgLy8gIHsgInZxbWF4IiwgUENUWChxbWF4KSwgVENDT05GX1RZUEVfSU5ULCBU Q0NPTkZfRkxBR19SQU5HRSwgMSwgNjAgfSwKLSAgICAgICAgIC8vICBoYW5kbGVkIGJ5IHRyYW5z Y29kZSBjb3JlCi0tICAgICAgICB7ICJtYnFtaW4iLCBQQ1RYKG1iX3FtaW4pLCBUQ0NPTkZfVFlQ RV9JTlQsIFRDQ09ORl9GTEFHX1JBTkdFLCAxLCA2MCB9LAotLSAgICAgICAgeyAibWJxbWF4Iiwg UENUWChtYl9xbWF4KSwgVENDT05GX1RZUEVfSU5ULCBUQ0NPTkZfRkxBR19SQU5HRSwgMSwgNjAg fSwKLSAgICAgICAgIHsgImxtaW4iLCBQQVVYKGxtaW4pLCBUQ0NPTkZfVFlQRV9GTE9BVCwgVEND T05GX0ZMQUdfUkFOR0UsIDAuMDEsIDI1NS4wIH0sCi0gICAgICAgICB7ICJsbWF4IiwgUEFVWChs bWF4KSwgVENDT05GX1RZUEVfRkxPQVQsIFRDQ09ORl9GTEFHX1JBTkdFLCAwLjAxLCAyNTUuMCB9 LAotICAgICAgICAgeyAidnFkaWZmIiwgUENUWChtYXhfcWRpZmYpLCBUQ0NPTkZfVFlQRV9JTlQs IFRDQ09ORl9GTEFHX1JBTkdFLCAxLCAzMSB9LAotLSAgICAgICAgeyAidm1heF9iX2ZyYW1lcyIs IFBDVFgobWF4X2JfZnJhbWVzKSwgVENDT05GX1RZUEVfSU5ULCBUQ0NPTkZfRkxBR19SQU5HRSwg MCwgRkZfTUFYX0JfRlJBTUVTIH0sCi0rICAgICAgICB7ICJ2bWF4X2JfZnJhbWVzIiwgUENUWCht YXhfYl9mcmFtZXMpLCBUQ0NPTkZfVFlQRV9JTlQsIFRDQ09ORl9GTEFHX1JBTkdFLCAwLCBJTlRf TUFYIH0sCi0gICAgICAgICB7ICJ2bWUiLCBQQVVYKG1lX21ldGhvZCksIFRDQ09ORl9UWVBFX0lO VCwgVENDT05GX0ZMQUdfUkFOR0UsIDAsIDE2LCB9LAotICAgICAgICAgeyAibWVfcmFuZ2UiLCBQ Q1RYKG1lX3JhbmdlKSwgVENDT05GX1RZUEVfSU5ULCBUQ0NPTkZfRkxBR19SQU5HRSwgMCwgMTYw MDAgfSwKLSAgICAgICAgIHsgIm1iZCIsIFBDVFgobWJfZGVjaXNpb24pLCBUQ0NPTkZfVFlQRV9J TlQsIFRDQ09ORl9GTEFHX1JBTkdFLCAwLCAzIH0sCi1AQCAtMTE1MCw4ICsxMTkyLDggQEAKLSAg ICAgICAgIHsgInZyY19pbml0X2NwbHgiLCBQQ1RYKHJjX2luaXRpYWxfY3BseCksIFRDQ09ORl9U WVBFX0ZMT0FULCBUQ0NPTkZfRkxBR19SQU5HRSwgMC4wLCA5OTk5OTk5LjAgfSwKLSAgICAgICAg IC8vICB7ICJ2cmNfaW5pdF9vY2N1cGFuY3kiLCAgIH0sIC8vIG5vdCB5ZXQgc3VwcG9ydGVkCi0g ICAgICAgICB7ICJ2cXNxdWlzaCIsIFBDVFgocmNfcXNxdWlzaCksIFRDQ09ORl9UWVBFX0ZMT0FU LCBUQ0NPTkZfRkxBR19SQU5HRSwgMC4wLCA5OS4wIH0sCi0tICAgICAgICB7ICJ2bGVsaW0iLCBQ Q1RYKGx1bWFfZWxpbV90aHJlc2hvbGQpLCBUQ0NPTkZfVFlQRV9JTlQsIFRDQ09ORl9GTEFHX1JB TkdFLCAtOTksIDk5IH0sCi0tICAgICAgICB7ICJ2Y2VsaW0iLCBQQ1RYKGNocm9tYV9lbGltX3Ro cmVzaG9sZCksIFRDQ09ORl9UWVBFX0lOVCwgVENDT05GX0ZMQUdfUkFOR0UsIC05OSwgOTkgfSwK LSsgICAgICAgIHsgInZsZWxpbSIsIFBBVVgobHVtYV9lbGltX3RocmVzaG9sZCksIFRDQ09ORl9U WVBFX0lOVCwgVENDT05GX0ZMQUdfUkFOR0UsIC05OSwgOTkgfSwKLSsgICAgICAgIHsgInZjZWxp bSIsIFBBVVgoY2hyb21hX2VsaW1fdGhyZXNob2xkKSwgVENDT05GX1RZUEVfSU5ULCBUQ0NPTkZf RkxBR19SQU5HRSwgLTk5LCA5OSB9LAotICAgICAgICAgeyAidnN0cmljdCIsIFBDVFgoc3RyaWN0 X3N0ZF9jb21wbGlhbmNlKSwgVENDT05GX1RZUEVfSU5ULCBUQ0NPTkZfRkxBR19SQU5HRSwgLTk5 LCA5OSB9LAotICAgICAgICAgeyAidnBzaXplIiwgUENUWChydHBfcGF5bG9hZF9zaXplKSwgVEND T05GX1RZUEVfSU5ULCBUQ0NPTkZfRkxBR19SQU5HRSwgMCwgMTAwMDAwMDAwIH0sCi0gICAgICAg ICB7ICJkY3QiLCBQQ1RYKGRjdF9hbGdvKSwgVENDT05GX1RZUEVfSU5ULCBUQ0NPTkZfRkxBR19S QU5HRSwgMCwgMTAgfSwKLUBAIC0xMTc3LDI1ICsxMjE5LDI1IEBACi0gICAgICAgICB7ICJpYmlh cyIsIFBDVFgoaW50cmFfcXVhbnRfYmlhcyksIFRDQ09ORl9UWVBFX0lOVCwgVENDT05GX0ZMQUdf UkFOR0UsIC01MTIsIDUxMiB9LAotICAgICAgICAgeyAicGJpYXMiLCBQQ1RYKGludGVyX3F1YW50 X2JpYXMpLCBUQ0NPTkZfVFlQRV9JTlQsIFRDQ09ORl9GTEFHX1JBTkdFLCAtNTEyLCA1MTIgfSwK LSAgICAgICAgIHsgIm5yIiwgUENUWChub2lzZV9yZWR1Y3Rpb24pLCBUQ0NPTkZfVFlQRV9JTlQs IFRDQ09ORl9GTEFHX1JBTkdFLCAwLCAxMDAwMDAwfSwKLS0gICAgICAgIHsgInFucyIsIFBDVFgo cXVhbnRpemVyX25vaXNlX3NoYXBpbmcpLCBUQ0NPTkZfVFlQRV9JTlQsIFRDQ09ORl9GTEFHX1JB TkdFLCAwLCAzIH0sCi0rICAgICAgICB7ICJxbnMiLCBQQVVYKHF1YW50aXplcl9ub2lzZV9zaGFw aW5nKSwgVENDT05GX1RZUEVfSU5ULCBUQ0NPTkZfRkxBR19SQU5HRSwgMCwgMyB9LAotICAgICAg ICAgeyAiaW50ZXJfbWF0cml4X2ZpbGUiLCBpbnRlcl9tYXRyaXhfZmlsZSwgVENDT05GX1RZUEVf U1RSSU5HLCAwLCAwLCAwIH0sCi0gICAgICAgICB7ICJpbnRyYV9tYXRyaXhfZmlsZSIsIGludHJh X21hdHJpeF9maWxlLCBUQ0NPTkZfVFlQRV9TVFJJTkcsIDAsIDAsIDAgfSwKLSAgICAgCi0tICAg ICAgICB7ICJtdjAiLCBQQVVYKGZsYWdzLm12MCksIFRDQ09ORl9UWVBFX0ZMQUcsIDAsIDAsIENP REVDX0ZMQUdfTVYwIH0sCi0tICAgICAgICB7ICJjYnAiLCBQQVVYKGZsYWdzLmNicCksIFRDQ09O Rl9UWVBFX0ZMQUcsIDAsIDAsIENPREVDX0ZMQUdfQ0JQX1JEIH0sCi0rICAgICAgICB7ICJtdjAi LCBQQVVYKGZsYWdzLm12MCksIFRDQ09ORl9UWVBFX0ZMQUcsIDAsIDAsIDEgfSwKLSsgICAgICAg IHsgImNicCIsIFBBVVgoZmxhZ3MuY2JwKSwgVENDT05GX1RZUEVfRkxBRywgMCwgMCwgMSB9LAot ICAgICAgICAgeyAicXBlbCIsIFBBVVgoZmxhZ3MucXBlbCksIFRDQ09ORl9UWVBFX0ZMQUcsIDAs IDAsIENPREVDX0ZMQUdfUVBFTCB9LAotLSAgICAgICAgeyAiYWx0IiwgUEFVWChmbGFncy5hbHQp LCBUQ0NPTkZfVFlQRV9GTEFHLCAwLCAwLCBDT0RFQ19GTEFHX0FMVF9TQ0FOIH0sCi0rICAgICAg ICB7ICJhbHQiLCBQQVVYKGZsYWdzLmFsdCksIFRDQ09ORl9UWVBFX0ZMQUcsIDAsIDAsIDEgfSwK LSAgICAgICAgIHsgImlsbWUiLCBQQVVYKGZsYWdzLmlsbWUpLCBUQ0NPTkZfVFlQRV9GTEFHLCAw LCAwLCBDT0RFQ19GTEFHX0lOVEVSTEFDRURfTUUgfSwKLSAgICAgICAgIHsgImlsZGN0IiwgUEFV WChmbGFncy5pbGRjdCksIFRDQ09ORl9UWVBFX0ZMQUcsIDAsIDAsIENPREVDX0ZMQUdfSU5URVJM QUNFRF9EQ1QgfSwKLS0gICAgICAgIHsgIm5hcSIsIFBBVVgoZmxhZ3MubmFxKSwgVENDT05GX1RZ UEVfRkxBRywgMCwgMCwgQ09ERUNfRkxBR19OT1JNQUxJWkVfQVFQIH0sCi0tICAgICAgICB7ICJ2 ZHBhcnQiLCBQQVVYKGZsYWdzLnZkcGFydCksIFRDQ09ORl9UWVBFX0ZMQUcsIDAsIDAsIENPREVD X0ZMQUdfUEFSVCB9LAotKyAgICAgICAgeyAibmFxIiwgUEFVWChmbGFncy5uYXEpLCBUQ0NPTkZf VFlQRV9GTEFHLCAwLCAwLCAxIH0sCi0rICAgICAgICB7ICJ2ZHBhcnQiLCBQQVVYKGZsYWdzLnZk cGFydCksIFRDQ09ORl9UWVBFX0ZMQUcsIDAsIDAsIDEgfSwKLSAjaWYgTElCQVZDT0RFQ19WRVJT SU9OX0lOVCA8ICgoNTI8PDE2KSsoMDw8OCkrMCkKLSAgICAgICAgIHsgImFpYyIsIFBBVVgoZmxh Z3MuYWljKSwgVENDT05GX1RZUEVfRkxBRywgMCwgMCwgQ09ERUNfRkxBR19IMjYzUF9BSUMgfSwK LSAjZWxzZSAgICAgICAgCi0gICAgICAgICB7ICJhaWMiLCBQQVVYKGZsYWdzLmFpYyksIFRDQ09O Rl9UWVBFX0ZMQUcsIDAsIDAsIENPREVDX0ZMQUdfQUNfUFJFRCB9LAotICNlbmRpZgotLSAgICAg ICAgeyAiYWl2IiwgUEFVWChmbGFncy5haXYpLCBUQ0NPTkZfVFlQRV9GTEFHLCAwLCAwLCBDT0RF Q19GTEFHX0gyNjNQX0FJViB9LAotLSAgICAgICAgeyAidW12IiwgUEFVWChmbGFncy51bXYpLCBU Q0NPTkZfVFlQRV9GTEFHLCAwLCAwLCBDT0RFQ19GTEFHX0gyNjNQX1VNViB9LAotKyAgICAgICAg eyAiYWl2IiwgUEFVWChmbGFncy5haXYpLCBUQ0NPTkZfVFlQRV9GTEFHLCAwLCAwLCAxIH0sCi0r ICAgICAgICB7ICJ1bXYiLCBQQVVYKGZsYWdzLnVtdiksIFRDQ09ORl9UWVBFX0ZMQUcsIDAsIDAs IDEgfSwKLSAgICAgICAgIHsgInBzbnIiLCBQQVVYKGZsYWdzLnBzbnIpLCBUQ0NPTkZfVFlQRV9G TEFHLCAwLCAwLCBDT0RFQ19GTEFHX1BTTlIgfSwKLSAjaWYgTElCQVZDT0RFQ19WRVJTSU9OX0lO VCA8ICgoNTI8PDE2KSsoMDw8OCkrMCkKLSAgICAgICAgIHsgInRyZWxsIiwgUEFVWChmbGFncy50 cmVsbCksIFRDQ09ORl9UWVBFX0ZMQUcsIDAsIDAsIENPREVDX0ZMQUdfVFJFTExJU19RVUFOVCB9 LAotQEAgLTEzNDUsMTIgKzEzODcsMTQgQEAKLSAKLSAgICAgcGQgPSBzZWxmLT51c2VyZGF0YTsK LSAKLSsgICAgcGQtPmZmX29wdHMgPSBOVUxMOwotKwotICAgICBwZC0+Zmx1c2hfZmxhZyA9IHZv Yi0+ZW5jb2Rlcl9mbHVzaDsKLSAgICAgCi0gICAgIC8qIEZJWE1FOiBtb3ZlIGludG8gY29yZT8g Ki8KLSAgICAgVENfSU5JVF9MSUJBVkNPREVDOwotIAotLSAgICBhdmNvZGVjX2dldF9mcmFtZV9k ZWZhdWx0cygmcGQtPmZmX3ZlbmNfZnJhbWUpOwotKyAgICBhdl9mcmFtZV91bnJlZigmcGQtPmZm X3ZlbmNfZnJhbWUpOwotICAgICAvKgotICAgICAgKiBhdXhpbGlhcnkgY29uZmlnIGRhdGEgbmVl ZHMgdG8gYmUgYmxhbmtlZCB0b28KLSAgICAgICogYmVmb3JlIGFueSBvdGhlciBvcGVyYXRpb24K LUBAIC0xMzg3LDcgKzE0MzEsNyBAQAotICAgICAgICAgICAgICAgICAgICAgcGQtPmNvbmZkYXRh LnRocmVhZF9jb3VudCwKLSAgICAgICAgICAgICAgICAgICAgIChwZC0+Y29uZmRhdGEudGhyZWFk X2NvdW50ID4gMSkgPyJzIiA6IiIpOwotICAgICB9Ci0tICAgIGF2Y29kZWNfdGhyZWFkX2luaXQo JnBkLT5mZl92Y29udGV4dCwgcGQtPmNvbmZkYXRhLnRocmVhZF9jb3VudCk7Ci0rICAgIHBkLT5m Zl92Y29udGV4dC50aHJlYWRfY291bnQgPSBwZC0+Y29uZmRhdGEudGhyZWFkX2NvdW50OwotIAot ICAgICBwZC0+ZmZfdmNvZGVjID0gYXZjb2RlY19maW5kX2VuY29kZXIoRkZfVkNPREVDX0lEKHBk KSk7Ci0gICAgIGlmIChwZC0+ZmZfdmNvZGVjID09IE5VTEwpIHsKLUBAIC0xMzk3LDExICsxNDQx LDExIEBACi0gICAgIH0KLSAKLSAgICAgVENfTE9DS19MSUJBVkNPREVDOwotLSAgICByZXQgPSBh dmNvZGVjX29wZW4oJnBkLT5mZl92Y29udGV4dCwgcGQtPmZmX3Zjb2RlYyk7Ci0rICAgIHJldCA9 IGF2Y29kZWNfb3BlbjIoJnBkLT5mZl92Y29udGV4dCwgcGQtPmZmX3Zjb2RlYywgJihwZC0+ZmZf b3B0cykpOwotICAgICBUQ19VTkxPQ0tfTElCQVZDT0RFQzsKLSAKLSAgICAgaWYgKHJldCA8IDAp IHsKLS0gICAgICAgIHRjX2xvZ19lcnJvcihNT0RfTkFNRSwgImF2Y29kZWNfb3BlbigpIGZhaWxl ZCIpOwotKyAgICAgICAgdGNfbG9nX2Vycm9yKE1PRF9OQU1FLCAiYXZjb2RlY19vcGVuMigpIGZh aWxlZCIpOwotICAgICAgICAgZ290byBmYWlsZWQ7Ci0gICAgIH0KLSAgICAgLyogZmluYWxseSwg cGFzcyB1cCB0aGUgZXh0cmFkYXRhLCBpZiBhbnkgKi8KLUBAIC0xNDgzLDYgKzE1MjcsOCBAQAot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmZyYW1lX2xpc3RfdCAqb3V0ZnJhbWUp Ci0gewotICAgICBUQ0xhdmNQcml2YXRlRGF0YSAqcGQgPSBOVUxMOwotKyAgICBBVlBhY2tldCBw a3Q7Ci0rICAgIGludCByZXQsIGdvdF9wYWNrZXQgPSAwOwotIAotICAgICBUQ19NT0RVTEVfU0VM Rl9DSEVDSyhzZWxmLCAiZW5jb2RlX3ZpZGVvIik7Ci0gCi1AQCAtMTQ5NywxMiArMTU0MywxNSBA QAotIAotICAgICBwZC0+cHJlX2VuY29kZV92aWRlbyhwZCwgaW5mcmFtZSk7IAotIAotKyAgICBh dl9pbml0X3BhY2tldCgmcGt0KTsKLSsgICAgcGt0LmRhdGEgPSBvdXRmcmFtZS0+dmlkZW9fYnVm OwotKyAgICBwa3Quc2l6ZSA9IGluZnJhbWUtPnZpZGVvX3NpemU7Ci0rCi0gICAgIFRDX0xPQ0tf TElCQVZDT0RFQzsKLS0gICAgb3V0ZnJhbWUtPnZpZGVvX2xlbiA9IGF2Y29kZWNfZW5jb2RlX3Zp ZGVvKCZwZC0+ZmZfdmNvbnRleHQsCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBvdXRmcmFtZS0+dmlkZW9fYnVmLAotLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5mcmFtZS0+dmlkZW9fc2l6ZSwKLS0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZwZC0+ZmZfdmVuY19mcmFt ZSk7Ci0rICAgIHJldCA9IGF2Y29kZWNfZW5jb2RlX3ZpZGVvMigmcGQtPmZmX3Zjb250ZXh0LCAg ICZwa3QsCi0rICAgIAkJCQkmcGQtPmZmX3ZlbmNfZnJhbWUsICZnb3RfcGFja2V0KTsKLSAgICAg VENfVU5MT0NLX0xJQkFWQ09ERUM7Ci0rICAgIG91dGZyYW1lLT52aWRlb19sZW4gPSByZXQgPyBy ZXQgOiBwa3Quc2l6ZTsKLSAKLSAgICAgaWYgKG91dGZyYW1lLT52aWRlb19sZW4gPCAwKSB7Ci0g ICAgICAgICB0Y19sb2dfd2FybihNT0RfTkFNRSwgImVuY29kZXIgZXJyb3I6IHNpemUgKCVpKSIs Ci0tLS0gYS9leHBvcnQvYXVkX2F1eC5jCTIwMTEtMTEtMTkgMTc6NTA6MjcuMDAwMDAwMDAwICsw MTAwCi0rKysgYi9leHBvcnQvYXVkX2F1eC5jCTIwMTYtMDItMTUgMTY6MDg6MzcuOTE0NDg4MTE2 ICswMTAwCi1AQCAtMzI2LDEwICszMjYsMTAgQEAKLSAKLSAgICAgc3dpdGNoIChvX2NvZGVjKSB7 Ci0gICAgICAgY2FzZSAgIDB4NTA6Ci0tICAgICAgICBjb2RlaWQgPSBDT0RFQ19JRF9NUDI7Ci0r ICAgICAgICBjb2RlaWQgPSBBVl9DT0RFQ19JRF9NUDI7Ci0gICAgICAgICBicmVhazsKLSAgICAg ICBjYXNlIDB4MjAwMDoKLS0gICAgICAgIGNvZGVpZCA9IENPREVDX0lEX0FDMzsKLSsgICAgICAg IGNvZGVpZCA9IEFWX0NPREVDX0lEX0FDMzsKLSAgICAgICAgIGJyZWFrOwotICAgICAgIGRlZmF1 bHQ6Ci0gICAgICAgICB0Y193YXJuKCJjYW5ub3QgaW5pdCBmZm1wZWcgd2l0aCAleCIsIG9fY29k ZWMpOwotQEAgLTM0Niw3ICszNDYsNyBAQAotIAotICAgICAvLy0tIHNldCBwYXJhbWV0ZXJzIChi aXRyYXRlLCBjaGFubmVscyBhbmQgc2FtcGxlLXJhdGUpIC0tCi0gICAgIC8vLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLS0gICAgYXZjb2Rl Y19nZXRfY29udGV4dF9kZWZhdWx0cygmbXBhX2N0eCk7Ci0rICAgIGF2Y29kZWNfZ2V0X2NvbnRl eHRfZGVmYXVsdHMzKCZtcGFfY3R4LCBtcGFfY29kZWMpOwotICNpZiBMSUJBVkNPREVDX1ZFUlNJ T05fTUFKT1IgPCA1MwotICAgICBtcGFfY3R4LmNvZGVjX3R5cGUgID0gQ09ERUNfVFlQRV9BVURJ TzsKLSAjZWxzZQotQEAgLTM1OSwxMSArMzU5LDExIEBACi0gICAgIC8vLS0gb3BlbiBjb2RlYyAt LQotICAgICAvLy0tLS0tLS0tLS0tLS0tLS0KLSAgICAgVENfTE9DS19MSUJBVkNPREVDOwotLSAg ICByZXQgPSBhdmNvZGVjX29wZW4oJm1wYV9jdHgsIG1wYV9jb2RlYyk7Ci0rICAgIHJldCA9IGF2 Y29kZWNfb3BlbjIoJm1wYV9jdHgsIG1wYV9jb2RlYywgTlVMTCk7Ci0gICAgIFRDX1VOTE9DS19M SUJBVkNPREVDOwotICAgICBpZiAocmV0IDwgMCkgewotICAgICAgICAgdGNfd2FybigidGNfYXVk aW9faW5pdF9mZm1wZWc6IGNvdWxkIG5vdCBvcGVuICVzIGNvZGVjICEiLAotLSAgICAgICAgICAg ICAgICAoY29kZWlkID09IENPREVDX0lEX01QMikgPyJtcGEiIDoiYWMzIik7Ci0rICAgICAgICAg ICAgICAgIChjb2RlaWQgPT0gQVZfQ09ERUNfSURfTVAyKSA/Im1wYSIgOiJhYzMiKTsKLSAgICAg ICAgIHJldHVybihUQ19FWFBPUlRfRVJST1IpOwotICAgICB9Ci0gCi1AQCAtODQ2LDYgKzg0Niw5 IEBACi0gI2lmZGVmIEhBVkVfRkZNUEVHCi0gICAgIGludCAgaW5fc2l6ZSwgb3V0X3NpemU7Ci0g ICAgIGNoYXIgKmluX2J1ZjsKLSsgICAgaW50IGdvdF9wYWNrZXQ7Ci0rICAgIEFWUGFja2V0IGF2 cGt0ID0geyAwIH07Ci0rICAgIEFWRnJhbWUgKmZyYW1lID0gYXZfZnJhbWVfYWxsb2MoKTsKLSAK LSAgICAgLy8tLSBpbnB1dCBidWZmZXIgYW5kIGFtb3VudCBvZiBieXRlcyAtLQotICAgICBpbl9z aXplID0gYXVkX3NpemU7Ci1AQCAtODY2LDEwICs4NjksMTQgQEAKLSAKLSAgICAgYWNfbWVtY3B5 KCZtcGFfYnVmW21wYV9idWZfcHRyXSwgaW5fYnVmLCBieXRlc19uZWVkZWQpOwotIAotKyAgICBm cmFtZS0+bmJfc2FtcGxlcyA9IG1wYV9jdHguZnJhbWVfc2l6ZTsKLSsgICAgYXZjb2RlY19maWxs X2F1ZGlvX2ZyYW1lKGZyYW1lLCBtcGFfY3R4LmNoYW5uZWxzLCBtcGFfY3R4LnNhbXBsZV9mbXQs IChjb25zdCB1aW50OF90ICopbXBhX2J1ZiwgbXBhX2J5dGVzX3BmLCAxKTsKLSsgICAgYXZwa3Qu ZGF0YSA9IG91dHB1dDsKLSsgICAgYXZwa3Quc2l6ZSA9IE9VVFBVVF9TSVpFOwotICAgICBUQ19M T0NLX0xJQkFWQ09ERUM7Ci0tICAgIG91dF9zaXplID0gYXZjb2RlY19lbmNvZGVfYXVkaW8oJm1w YV9jdHgsICh1bnNpZ25lZCBjaGFyICopb3V0cHV0LAotLSAgICAgICAgICAgICAgICAgICAgT1VU UFVUX1NJWkUsIChzaG9ydCAqKW1wYV9idWYpOwotKyAgICBvdXRfc2l6ZSA9IGF2Y29kZWNfZW5j b2RlX2F1ZGlvMigmbXBhX2N0eCwgJmF2cGt0LCBmcmFtZSwgJmdvdF9wYWNrZXQpOwotICAgICBU Q19VTkxPQ0tfTElCQVZDT0RFQzsKLSsgICAgb3V0X3NpemUgPSBhdnBrdC5zaXplOwotICAgICB0 Y19hdWRpb193cml0ZShvdXRwdXQsIG91dF9zaXplLCBhdmlmaWxlKTsKLSAKLSAgICAgICAgIGlu X3NpemUgLT0gYnl0ZXNfbmVlZGVkOwotQEAgLTg4NCw2ICs4OTEsNyBAQAotIAotICAgICBhY19t ZW1jcHkoJm1wYV9idWZbbXBhX2J1Zl9wdHJdLCBhdWRfYnVmZmVyLCBieXRlc19hdmFpbCk7Ci0g ICAgICAgICBtcGFfYnVmX3B0ciArPSBieXRlc19hdmFpbDsKLSsgICAgICAgIGF2X2ZyYW1lX2Zy ZWUoJmZyYW1lKTsKLSAgICAgICAgIHJldHVybiAoMCk7Ci0gICAgICAgfQotICAgICB9IC8vYnl0 ZXMgYXZhaWxhYmUgZnJvbSBsYXN0IGNhbGw/Ci1AQCAtODkzLDEwICs5MDEsMTUgQEAKLSAgICAg Ly8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0g Ci0gICAgIHdoaWxlIChpbl9zaXplID49IG1wYV9ieXRlc19wZikgewotKyAgICAgIGF2X2ZyYW1l X3VucmVmKGZyYW1lKTsKLSsgICAgICBmcmFtZS0+bmJfc2FtcGxlcyA9IG1wYV9jdHguZnJhbWVf c2l6ZTsKLSsgICAgICBhdmNvZGVjX2ZpbGxfYXVkaW9fZnJhbWUoZnJhbWUsIG1wYV9jdHguY2hh bm5lbHMsIG1wYV9jdHguc2FtcGxlX2ZtdCwgKGNvbnN0IHVpbnQ4X3QgKilpbl9idWYsIG1wYV9i eXRlc19wZiwgMSk7Ci0rICAgICAgYXZwa3QuZGF0YSA9IG91dHB1dDsKLSsgICAgICBhdnBrdC5z aXplID0gT1VUUFVUX1NJWkU7Ci0gICAgICAgVENfTE9DS19MSUJBVkNPREVDOwotLSAgICAgIG91 dF9zaXplID0gYXZjb2RlY19lbmNvZGVfYXVkaW8oJm1wYV9jdHgsICh1bnNpZ25lZCBjaGFyICop b3V0cHV0LAotLSAgICAgICAgICAgICAgICAgICAgICBPVVRQVVRfU0laRSwgKHNob3J0ICopaW5f YnVmKTsKLSsgICAgICBvdXRfc2l6ZSA9IGF2Y29kZWNfZW5jb2RlX2F1ZGlvMigmbXBhX2N0eCwg JmF2cGt0LCBmcmFtZSwgJmdvdF9wYWNrZXQpOwotICAgICAgIFRDX1VOTE9DS19MSUJBVkNPREVD OwotKyAgICAgIG91dF9zaXplID0gYXZwa3Quc2l6ZTsKLSAKLSAgICAgICB0Y19hdWRpb193cml0 ZShvdXRwdXQsIG91dF9zaXplLCBhdmlmaWxlKTsKLSAKLUBAIC05MDQsNiArOTE3LDggQEAKLSAg ICAgICBpbl9idWYgICs9IG1wYV9ieXRlc19wZjsKLSAgICAgfQotIAotKyAgICBhdl9mcmFtZV9m cmVlKCZmcmFtZSk7Ci0rCi0gICAgIC8vLS0gaG9sZCByZXN0IG9mIGJ5dGVzIGluIG1wYS1idWZm ZXIgLS0KLSAgICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotICAg ICBpZiAoaW5fc2l6ZSA+IDApIHsKLS0tLSBhL2V4cG9ydC9leHBvcnRfZmZtcGVnLmMJMjAxMS0x MS0xOSAxNzo1MDoyNy4wMDAwMDAwMDAgKzAxMDAKLSsrKyBiL2V4cG9ydC9leHBvcnRfZmZtcGVn LmMJMjAxNi0wMi0xNSAxNjowODozNy45MTU0ODgxMzkgKzAxMDAKLUBAIC0xMjIsNiArMTIyLDcg QEAKLSBzdGF0aWMgQVZGcmFtZSAgICAgICAgICAgICAqbGF2Y19jb252ZXJ0X2ZyYW1lID0gTlVM TDsKLSAKLSBzdGF0aWMgQVZDb2RlYyAgICAgICAgICAgICAqbGF2Y192ZW5jX2NvZGVjID0gTlVM TDsKLStzdGF0aWMgQVZEaWN0aW9uYXJ5ICAgICAgICAqbGF2Y192ZW5jX29wdHMgPSBOVUxMOwot IHN0YXRpYyBBVkZyYW1lICAgICAgICAgICAgICpsYXZjX3ZlbmNfZnJhbWUgPSBOVUxMOwotIHN0 YXRpYyBBVkNvZGVjQ29udGV4dCAgICAgICpsYXZjX3ZlbmNfY29udGV4dDsKLSBzdGF0aWMgYXZp X3QgICAgICAgICAgICAgICAqYXZpZmlsZSA9IE5VTEw7Ci1AQCAtMTgwLDcgKzE4MSw3IEBACi0g Ci0gCi0gLyogU1RBUlQ6IENPUElFRCBGUk9NIGZmbXBlZy0wLjVfcDIyODQ2KGZmbXBlZy5jLCBj bWR1dGlscy5jKSAqLwotLSNpbmNsdWRlIDxsaWJhdmNvZGVjL29wdC5oPgotKyNpbmNsdWRlIDxs aWJhdnV0aWwvb3B0Lmg+Ci0gI2luY2x1ZGUgPGxpYmF2dXRpbC9hdnN0cmluZy5oPgotICNpbmNs dWRlIDxsaWJzd3NjYWxlL3N3c2NhbGUuaD4KLSAKLUBAIC0yNDksOSArMjUwLDkgQEAKLSAgICAg Zm9yKHR5cGU9MDsgdHlwZTxBVk1FRElBX1RZUEVfTkIgJiYgcmV0Pj0gMDsgdHlwZSsrKXsKLSAJ CS8qIEdMVUU6ICtpZiAqLwotIAkJaWYgKHR5cGUgPT0gQVZNRURJQV9UWVBFX1ZJREVPKSB7Ci0t ICAgICAgICBjb25zdCBBVk9wdGlvbiAqbzIgPSBhdl9maW5kX29wdChhdmNvZGVjX29wdHNbMF0s IG9wdCwgTlVMTCwgb3B0X3R5cGVzW3R5cGVdLCBvcHRfdHlwZXNbdHlwZV0pOwotLSAgICAgICAg aWYobzIpCi0tICAgICAgICAgICAgcmV0ID0gYXZfc2V0X3N0cmluZzMoYXZjb2RlY19vcHRzW3R5 cGVdLCBvcHQsIGFyZywgMSwgJm8pOwotKyAgICAgICAgbyA9IGF2X29wdF9maW5kKGF2Y29kZWNf b3B0c1swXSwgb3B0LCBOVUxMLCBvcHRfdHlwZXNbdHlwZV0sIG9wdF90eXBlc1t0eXBlXSk7Ci0r ICAgICAgICBpZihvKQotKyAgICAgICAgICAgIHJldCA9IGF2X29wdF9zZXQoYXZjb2RlY19vcHRz W3R5cGVdLCBvcHQsIGFyZywgMCk7Ci0gCQkvKiBHTFVFOiAraWYgKi8KLSAJCX0KLSAgICAgfQot QEAgLTI2Niw3ICsyNjcsMTAgQEAKLSAgICAgICAgIGlmKG9wdFswXSA9PSAnYScpCi0gICAgICAg ICAgICAgcmV0ID0gYXZfc2V0X3N0cmluZzMoYXZjb2RlY19vcHRzW0FWTUVESUFfVFlQRV9BVURJ T10sIG9wdCsxLCBhcmcsIDEsICZvKTsKLSAgICAgICAgIGVsc2UgKi8gaWYob3B0WzBdID09ICd2 JykKLS0gICAgICAgICAgICByZXQgPSBhdl9zZXRfc3RyaW5nMyhhdmNvZGVjX29wdHNbQVZNRURJ QV9UWVBFX1ZJREVPXSwgb3B0KzEsIGFyZywgMSwgJm8pOwotKwl7Ci0rCSAgICBvID0gYXZfb3B0 X2ZpbmQoYXZjb2RlY19vcHRzW0FWTUVESUFfVFlQRV9WSURFT10sIG9wdCsxLCBOVUxMLCAwLCAw KTsKLSsgICAgICAgICAgICByZXQgPSBhdl9vcHRfc2V0KGF2Y29kZWNfb3B0c1tBVk1FRElBX1RZ UEVfVklERU9dLCBvcHQrMSwgYXJnLCAwKTsKLSsJfQotIAkJLyogR0xVRTogZGlzYWJsaW5nCi0g ICAgICAgICBlbHNlIGlmKG9wdFswXSA9PSAncycpCi0gICAgICAgICAgICAgcmV0ID0gYXZfc2V0 X3N0cmluZzMoYXZjb2RlY19vcHRzW0FWTUVESUFfVFlQRV9TVUJUSVRMRV0sIG9wdCsxLCBhcmcs IDEsICZvKTsKLUBAIC00NzAsNyArNDc0LDYgQEAKLSAgICAgfQotIAotICAgICBUQ19MT0NLX0xJ QkFWQ09ERUM7Ci0tICAgIGF2Y29kZWNfaW5pdCgpOwotICAgICBhdmNvZGVjX3JlZ2lzdGVyX2Fs bCgpOwotICAgICBUQ19VTkxPQ0tfTElCQVZDT0RFQzsKLSAKLUBAIC00ODYsMTEgKzQ4OSwxMSBA QAotIAkJICAgICAgICAgICAgY29kZWMtPm5hbWUsIGNvZGVjLT5mb3VyQ0MsIGNvZGVjLT5jb21t ZW50cyk7Ci0gICAgIH0KLSAKLS0gICAgbGF2Y192ZW5jX2NvbnRleHQgPSBhdmNvZGVjX2FsbG9j X2NvbnRleHQoKTsKLS0gICAgbGF2Y192ZW5jX2ZyYW1lICAgPSBhdmNvZGVjX2FsbG9jX2ZyYW1l KCk7Ci0rICAgIGxhdmNfdmVuY19jb250ZXh0ID0gYXZjb2RlY19hbGxvY19jb250ZXh0MyhsYXZj X3ZlbmNfY29kZWMpOwotKyAgICBsYXZjX3ZlbmNfZnJhbWUgICA9IGF2X2ZyYW1lX2FsbG9jKCk7 Ci0gCi0tICAgIGxhdmNfY29udmVydF9mcmFtZT0gYXZjb2RlY19hbGxvY19mcmFtZSgpOwotLSAg ICBzaXplID0gYXZwaWN0dXJlX2dldF9zaXplKFBJWF9GTVRfUkdCMjQsIHZvYi0+ZXhfdl93aWR0 aCwgdm9iLT5leF92X2hlaWdodCk7Ci0rICAgIGxhdmNfY29udmVydF9mcmFtZT0gYXZfZnJhbWVf YWxsb2MoKTsKLSsgICAgc2l6ZSA9IGF2cGljdHVyZV9nZXRfc2l6ZShBVl9QSVhfRk1UX1JHQjI0 LCB2b2ItPmV4X3Zfd2lkdGgsIHZvYi0+ZXhfdl9oZWlnaHQpOwotICAgICBlbmNfYnVmZmVyID0g dGNfbWFsbG9jKHNpemUpOwotIAotICAgICBpZiAobGF2Y192ZW5jX2NvbnRleHQgPT0gTlVMTCB8 fCAhZW5jX2J1ZmZlciB8fCAhbGF2Y19jb252ZXJ0X2ZyYW1lKSB7Ci1AQCAtNjM0LDcgKzYzNyw3 IEBACi0gICAgICAgICBsYXZjX3BhcmFtX3JjX21heF9yYXRlID0gMjUxNjsKLSAgICAgICAgIGxh dmNfcGFyYW1fcmNfYnVmZmVyX3NpemUgPSAyMjQgKiA4OwotICAgICAgICAgbGF2Y19wYXJhbV9y Y19idWZmZXJfYWdncmVzc2l2aXR5ID0gOTk7Ci0tICAgICAgICBsYXZjX3BhcmFtX3NjYW5fb2Zm c2V0ID0gQ09ERUNfRkxBR19TVkNEX1NDQU5fT0ZGU0VUOwotKyAgICAgICAgbGF2Y19wYXJhbV9z Y2FuX29mZnNldCA9IDE7Ci0gCi0gICAgICAgICBicmVhazsKLSAKLUBAIC02NzQsNyArNjc3LDcg QEAKLSAKLSAgICAgICAgIGxhdmNfcGFyYW1fcmNfYnVmZmVyX3NpemUgPSAyMjQgKiA4OwotICAg ICAgICAgbGF2Y19wYXJhbV9yY19idWZmZXJfYWdncmVzc2l2aXR5ID0gOTk7Ci0tICAgICAgICBs YXZjX3BhcmFtX3NjYW5fb2Zmc2V0ID0gQ09ERUNfRkxBR19TVkNEX1NDQU5fT0ZGU0VUOwotKyAg ICAgICAgbGF2Y19wYXJhbV9zY2FuX29mZnNldCA9IDE7Ci0gCi0gICAgICAgICBicmVhazsKLSAK LUBAIC04MzgsOCArODQxLDEzIEBACi0gICAgIGxhdmNfdmVuY19jb250ZXh0LT5yY19zdHJhdGVn eSAgICAgICAgPSBsYXZjX3BhcmFtX3ZyY19zdHJhdGVneTsKLSAgICAgbGF2Y192ZW5jX2NvbnRl eHQtPmJfZnJhbWVfc3RyYXRlZ3kgICA9IGxhdmNfcGFyYW1fdmJfc3RyYXRlZ3k7Ci0gICAgIGxh dmNfdmVuY19jb250ZXh0LT5iX3F1YW50X29mZnNldCAgICAgPSBsYXZjX3BhcmFtX3ZiX3FvZmZz ZXQ7Ci0tICAgIGxhdmNfdmVuY19jb250ZXh0LT5sdW1hX2VsaW1fdGhyZXNob2xkPSBsYXZjX3Bh cmFtX2x1bWFfZWxpbV90aHJlc2hvbGQ7Ci0tICAgIGxhdmNfdmVuY19jb250ZXh0LT5jaHJvbWFf ZWxpbV90aHJlc2hvbGQ9IGxhdmNfcGFyYW1fY2hyb21hX2VsaW1fdGhyZXNob2xkOwotKwotKyAg ICBjaGFyIGJ1ZlsxMDI0XTsKLSsjZGVmaW5lIHNldF9kaWN0X29wdCh2YWwsIG9wdCkgXAotKwlz bnByaW50ZihidWYsIHNpemVvZihidWYpLCAiJWkiLCB2YWwpOyBcCi0rCWF2X2RpY3Rfc2V0KCZs YXZjX3ZlbmNfb3B0cywgb3B0LCBidWYsIDApCi0rICAgIHNldF9kaWN0X29wdChsYXZjX3BhcmFt X2x1bWFfZWxpbV90aHJlc2hvbGQsICJsdW1hX2VsaW1fdGhyZXNob2xkIik7Ci0rICAgIHNldF9k aWN0X29wdChsYXZjX3BhcmFtX2Nocm9tYV9lbGltX3RocmVzaG9sZCwgImNocm9tYV9lbGltX3Ro cmVzaG9sZCIpOwotICAgICBsYXZjX3ZlbmNfY29udGV4dC0+cnRwX3BheWxvYWRfc2l6ZSAgID0g bGF2Y19wYXJhbV9wYWNrZXRfc2l6ZTsKLSAjaWYgTElCQVZDT0RFQ19WRVJTSU9OX0lOVCA8ICgo NTI8PDE2KSsoMDw8OCkrMCkgICAKLSAgICAgaWYgKGxhdmNfcGFyYW1fcGFja2V0X3NpemUpCi1A QCAtODcwLDcgKzg3OCw3IEBACi0gICAgIGxhdmNfdmVuY19jb250ZXh0LT5jb250ZXh0X21vZGVs ICAgICAgPSBsYXZjX3BhcmFtX2NvbnRleHQ7Ci0gICAgIGxhdmNfdmVuY19jb250ZXh0LT5zY2Vu ZWNoYW5nZV90aHJlc2hvbGQ9IGxhdmNfcGFyYW1fc2NfdGhyZXNob2xkOwotICAgICBsYXZjX3Zl bmNfY29udGV4dC0+bm9pc2VfcmVkdWN0aW9uICAgID0gbGF2Y19wYXJhbV9ub2lzZV9yZWR1Y3Rp b247Ci0tICAgIGxhdmNfdmVuY19jb250ZXh0LT5pbnRlcl90aHJlc2hvbGQgICAgPSBsYXZjX3Bh cmFtX2ludGVyX3RocmVzaG9sZDsKLSsgICAgc2V0X2RpY3Rfb3B0KGxhdmNfcGFyYW1faW50ZXJf dGhyZXNob2xkLCAiaW50ZXJfdGhyZXNob2xkIik7Ci0gICAgIGxhdmNfdmVuY19jb250ZXh0LT5p bnRyYV9kY19wcmVjaXNpb24gPSBsYXZjX3BhcmFtX2ludHJhX2RjX3ByZWNpc2lvbjsKLSAgICAg bGF2Y192ZW5jX2NvbnRleHQtPnNraXBfdG9wICAgICAgICAgICA9IGxhdmNfcGFyYW1fc2tpcF90 b3A7Ci0gICAgIGxhdmNfdmVuY19jb250ZXh0LT5za2lwX2JvdHRvbSAgICAgICAgPSBsYXZjX3Bh cmFtX3NraXBfYm90dG9tOwotQEAgLTg4Nyw3ICs4OTUsNyBAQAotIAkJICAgIGxhdmNfdmVuY19j b250ZXh0LT50aHJlYWRfY291bnQpOwotICAgICB9Ci0gCi0tICAgIGF2Y29kZWNfdGhyZWFkX2lu aXQobGF2Y192ZW5jX2NvbnRleHQsIGxhdmNfcGFyYW1fdGhyZWFkcyk7Ci0rICAgIGxhdmNfdmVu Y19jb250ZXh0LT50aHJlYWRfY291bnQgPSBsYXZjX3BhcmFtX3RocmVhZHM7Ci0gCi0gICAgIGlm IChsYXZjX3BhcmFtX2ludHJhX21hdHJpeCkgewotICAgICAgICAgY2hhciAqdG1wOwotQEAgLTEw NjEsMTkgKzEwNjksMTggQEAKLSAgICAgbGF2Y192ZW5jX2NvbnRleHQtPmlsZGN0X2NtcCAgPSBs YXZjX3BhcmFtX2lsZGN0X2NtcDsKLSAgICAgbGF2Y192ZW5jX2NvbnRleHQtPmRpYV9zaXplICAg PSBsYXZjX3BhcmFtX2RpYV9zaXplOwotICAgICBsYXZjX3ZlbmNfY29udGV4dC0+ZmxhZ3MgfD0g bGF2Y19wYXJhbV9xcGVsOwotLSAgICBsYXZjX3ZlbmNfY29udGV4dC0+ZmxhZ3MgfD0gbGF2Y19w YXJhbV9nbWM7Ci0rICAgIGlmKGxhdmNfcGFyYW1fZ21jKQotKyAgICAgICAgYXZfZGljdF9zZXQo JmxhdmNfdmVuY19vcHRzLCAiZ21jIiwgIjEiLCAwKTsKLSAgICAgbGF2Y192ZW5jX2NvbnRleHQt PmZsYWdzIHw9IGxhdmNfcGFyYW1fY2xvc2VkZ29wOwotICAgICBsYXZjX3ZlbmNfY29udGV4dC0+ ZmxhZ3MgfD0gbGF2Y19wYXJhbV90cnVuYzsKLSAgICAgbGF2Y192ZW5jX2NvbnRleHQtPmZsYWdz IHw9IGxhdmNfcGFyYW1fYWljOwotLSAgICBsYXZjX3ZlbmNfY29udGV4dC0+ZmxhZ3MgfD0gbGF2 Y19wYXJhbV91bXY7Ci0gICAgIGxhdmNfdmVuY19jb250ZXh0LT5mbGFncyB8PSBsYXZjX3BhcmFt X3Y0bXY7Ci0tICAgIGxhdmNfdmVuY19jb250ZXh0LT5mbGFncyB8PSBsYXZjX3BhcmFtX2RhdGFf cGFydGl0aW9uaW5nOwotLSAgICBsYXZjX3ZlbmNfY29udGV4dC0+ZmxhZ3MgfD0gbGF2Y19wYXJh bV9jYnA7Ci0tICAgIGxhdmNfdmVuY19jb250ZXh0LT5mbGFncyB8PSBsYXZjX3BhcmFtX212MDsK LS0gICAgbGF2Y192ZW5jX2NvbnRleHQtPmZsYWdzIHw9IGxhdmNfcGFyYW1fcXBfcmQ7Ci0tICAg IGxhdmNfdmVuY19jb250ZXh0LT5mbGFncyB8PSBsYXZjX3BhcmFtX3NjYW5fb2Zmc2V0OwotLSAg ICBsYXZjX3ZlbmNfY29udGV4dC0+ZmxhZ3MgfD0gbGF2Y19wYXJhbV9zczsKLS0gICAgbGF2Y192 ZW5jX2NvbnRleHQtPmZsYWdzIHw9IGxhdmNfcGFyYW1fYWx0OwotKyAgICBpZihsYXZjX3BhcmFt X2NicCkKLSsgICAgCWF2X2RpY3Rfc2V0KCZsYXZjX3ZlbmNfb3B0cywgIm1wdl9mbGFncyIsICIr Y2JwX3JkIiwgMCk7Ci0rICAgIGlmKGxhdmNfcGFyYW1fbXYwKQotKyAgICAgICAgYXZfZGljdF9z ZXQoJmxhdmNfdmVuY19vcHRzLCAibXB2X2ZsYWdzIiwgIittdjAiLCAwKTsKLSsgICAgaWYobGF2 Y19wYXJhbV9xcF9yZCkKLSsgICAgCWF2X2RpY3Rfc2V0KCZsYXZjX3ZlbmNfb3B0cywgIm1wdl9m bGFncyIsICIrcXBfcmQiLCAwKTsKLSAgICAgbGF2Y192ZW5jX2NvbnRleHQtPmZsYWdzIHw9IGxh dmNfcGFyYW1faWxtZTsKLSAjaWYgTElCQVZDT0RFQ19WRVJTSU9OX0lOVCA8ICgoNTI8PDE2KSso MDw8OCkrMCkgICAKLSAgICAgbGF2Y192ZW5jX2NvbnRleHQtPmZsYWdzIHw9IGxhdmNfcGFyYW1f dHJlbGw7Ci1AQCAtMTA4NCw3ICsxMDkxLDcgQEAKLSAgICAgaWYgKGxhdmNfcGFyYW1fZ3JheSkK LSAgICAgICAgIGxhdmNfdmVuY19jb250ZXh0LT5mbGFncyB8PSBDT0RFQ19GTEFHX0dSQVk7Ci0g ICAgIGlmIChsYXZjX3BhcmFtX25vcm1hbGl6ZV9hcXApCi0tICAgICAgICBsYXZjX3ZlbmNfY29u dGV4dC0+ZmxhZ3MgfD0gQ09ERUNfRkxBR19OT1JNQUxJWkVfQVFQOwotKyAgICAgICAgYXZfZGlj dF9zZXQoJmxhdmNfdmVuY19vcHRzLCAibXB2X2ZsYWdzIiwgIituYXEiLCAwKTsKLSAKLSAgICAg c3dpdGNoKHZvYi0+ZW5jb2RlX2ZpZWxkcykgewotICAgICBjYXNlIFRDX0VOQ09ERV9GSUVMRFNf VE9QX0ZJUlNUOgotQEAgLTExMTIsNyArMTExOSw3IEBACi0gICAgIGxhdmNfdmVuY19jb250ZXh0 LT5wcmVkaWN0aW9uX21ldGhvZCA9IGxhdmNfcGFyYW1fcHJlZGljdGlvbl9tZXRob2Q7Ci0gCi0g ICAgIGlmKGlzX2h1ZmZ5dXYpCi0tICAgICAgICBsYXZjX3ZlbmNfY29udGV4dC0+cGl4X2ZtdCA9 IFBJWF9GTVRfWVVWNDIyUDsKLSsgICAgICAgIGxhdmNfdmVuY19jb250ZXh0LT5waXhfZm10ID0g QVZfUElYX0ZNVF9ZVVY0MjJQOwotICAgICBlbHNlCi0gICAgIHsKLSAgICAgICAgIHN3aXRjaChw aXhfZm10KQotQEAgLTExMjEsMTggKzExMjgsMTggQEAKLSAgICAgICAgICAgICBjYXNlIENPREVD X1JHQjoKLSAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgIGlmKGlzX21qcGVnKQotLSAg ICAgICAgICAgICAgICAgICAgbGF2Y192ZW5jX2NvbnRleHQtPnBpeF9mbXQgPSBQSVhfRk1UX1lV Vko0MjBQOwotKyAgICAgICAgICAgICAgICAgICAgbGF2Y192ZW5jX2NvbnRleHQtPnBpeF9mbXQg PSBBVl9QSVhfRk1UX1lVVko0MjBQOwotICAgICAgICAgICAgICAgICBlbHNlCi0tICAgICAgICAg ICAgICAgICAgICBsYXZjX3ZlbmNfY29udGV4dC0+cGl4X2ZtdCA9IFBJWF9GTVRfWVVWNDIwUDsK LSsgICAgICAgICAgICAgICAgICAgIGxhdmNfdmVuY19jb250ZXh0LT5waXhfZm10ID0gQVZfUElY X0ZNVF9ZVVY0MjBQOwotICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICB9Ci0g Ci0gICAgICAgICAgICAgY2FzZSBDT0RFQ19ZVVY0MjI6Ci0gICAgICAgICAgICAgewotICAgICAg ICAgICAgICAgICBpZihpc19tanBlZykKLS0gICAgICAgICAgICAgICAgICAgIGxhdmNfdmVuY19j b250ZXh0LT5waXhfZm10ID0gUElYX0ZNVF9ZVVZKNDIyUDsKLSsgICAgICAgICAgICAgICAgICAg IGxhdmNfdmVuY19jb250ZXh0LT5waXhfZm10ID0gQVZfUElYX0ZNVF9ZVVZKNDIyUDsKLSAgICAg ICAgICAgICAgICAgZWxzZQotLSAgICAgICAgICAgICAgICAgICAgbGF2Y192ZW5jX2NvbnRleHQt PnBpeF9mbXQgPSBQSVhfRk1UX1lVVjQyMlA7Ci0rICAgICAgICAgICAgICAgICAgICBsYXZjX3Zl bmNfY29udGV4dC0+cGl4X2ZtdCA9IEFWX1BJWF9GTVRfWVVWNDIyUDsKLSAgICAgICAgICAgICAg ICAgYnJlYWs7Ci0gICAgICAgICAgICAgfQotIAotQEAgLTEyMDMsOSArMTIxMCw4IEBACi0gCi0g ICAgIGxhdmNfdmVuY19jb250ZXh0LT5tZV9tZXRob2QgPSBNRV9aRVJPICsgbGF2Y19wYXJhbV92 bWU7Ci0gCi0tCi0gCS8qIEZJWE1FOiB0cmFuc2NvZGUgaXRzZWxmIGNvbnRhaW5zICJicm9rZW4g ZmZtcGVnIGRlZmF1bHQgc2V0dGluZ3MiLCB0aHVzIHdlIG5lZWQgdG8gb3ZlcnJpZGUgdGhlbSEg Ki8KLS0JaWYgKGxhdmNfcGFyYW1fdmlkZW9fcHJlc2V0KSB7Ci0rCWlmIChsYXZjX3BhcmFtX3Zp ZGVvX3ByZXNldCAmJiBzdHJjbXAobGF2Y19wYXJhbV92aWRlb19wcmVzZXQsICJub25lIikpIHsK LSAJCWF2Y29kZWNfb3B0c1tBVk1FRElBX1RZUEVfVklERU9dID0gbGF2Y192ZW5jX2NvbnRleHQ7 Ci0gCQl2aWRlb19jb2RlY19uYW1lID0gZmZtcGVnX2NvZGVjX25hbWUoY29kZWMtPm5hbWUpOwot IAotQEAgLTEyNDEsMjAgKzEyNDcsMzkgQEAKLSAJCX0KLSAJfQotIAotKyAgICBpZiAobGF2Y19w YXJhbV9zY2FuX29mZnNldCkgewotKyAgICAgIGF2X2RpY3Rfc2V0KCZsYXZjX3ZlbmNfb3B0cywg InNjYW5fb2Zmc2V0IiwgIjEiLCAwKTsKLSsgICAgfQotKwotKyAgICBpZiAobGF2Y19wYXJhbV9z cykgewotKyAgICAgIGF2X2RpY3Rfc2V0KCZsYXZjX3ZlbmNfb3B0cywgInN0cnVjdHVyZWRfc2xp Y2VzIiwgIjEiLCAwKTsKLSsgICAgfQotKwotKyAgICBpZiAobGF2Y19wYXJhbV9hbHQpIHsKLSsg ICAgICBhdl9kaWN0X3NldCgmbGF2Y192ZW5jX29wdHMsICJhbHRlcm5hdGVfc2NhbiIsICIxIiwg MCk7Ci0rICAgIH0KLSsKLSsgICAgaWYgKGxhdmNfcGFyYW1fdW12KSB7Ci0rICAgICAgYXZfZGlj dF9zZXQoJmxhdmNfdmVuY19vcHRzLCAidW12IiwgIjEiLCAwKTsKLSsgICAgfQotKwotKyAgICBp ZiAobGF2Y19wYXJhbV9kYXRhX3BhcnRpdGlvbmluZykgewotKyAgICAgIGF2X2RpY3Rfc2V0KCZs YXZjX3ZlbmNfb3B0cywgInZkcGFydCIsICIxIiwgMCk7Ci0rICAgIH0KLSAKLSAgICAgLy8tLSBv cGVuIGNvZGVjIC0tCi0gICAgIC8vLS0tLS0tLS0tLS0tLS0tLQotICAgICBUQ19MT0NLX0xJQkFW Q09ERUM7Ci0tICAgIHJldCA9IGF2Y29kZWNfb3BlbihsYXZjX3ZlbmNfY29udGV4dCwgbGF2Y192 ZW5jX2NvZGVjKTsKLSsgICAgcmV0ID0gYXZjb2RlY19vcGVuMihsYXZjX3ZlbmNfY29udGV4dCwg bGF2Y192ZW5jX2NvZGVjLCAmbGF2Y192ZW5jX29wdHMpOwotICAgICBUQ19VTkxPQ0tfTElCQVZD T0RFQzsKLSAgICAgaWYgKHJldCA8IDApIHsKLSAgICAgICB0Y19sb2dfd2FybihNT0RfTkFNRSwg ImNvdWxkIG5vdCBvcGVuIEZGTVBFRyBjb2RlYyIpOwotICAgICAgIHJldHVybiBUQ19FWFBPUlRf RVJST1I7Ci0gICAgIH0KLSAKLS0gICAgaWYgKGxhdmNfdmVuY19jb250ZXh0LT5jb2RlYy0+ZW5j b2RlID09IE5VTEwpIHsKLSsgICAgaWYgKGF2X2NvZGVjX2lzX2VuY29kZXIobGF2Y192ZW5jX2Nv bnRleHQtPmNvZGVjKSA9PSAwKSB7Ci0gICAgICAgdGNfbG9nX3dhcm4oTU9EX05BTUUsICJjb3Vs ZCBub3Qgb3BlbiBGRk1QRUcgY29kZWMgIgotLSAgICAgICAgICAgICAgIihsYXZjX3ZlbmNfY29u dGV4dC0+Y29kZWMtPmVuY29kZSA9PSBOVUxMKSIpOwotKyAgICAgICAgICAgICAgIihhdl9jb2Rl Y19pc19lbmNvZGVyKGxhdmNfdmVuY19jb250ZXh0LT5jb2RlYykgPT0gMCkiKTsKLSAgICAgICBy ZXR1cm4gVENfRVhQT1JUX0VSUk9SOwotICAgICB9Ci0gCi1AQCAtMTU3NCw2ICsxNTk5LDggQEAK LSAKLSAgIGludCBvdXRfc2l6ZTsKLSAgIGNvbnN0IGNoYXIgcGljdF90eXBlX2NoYXJbNV09IHsn PycsICdJJywgJ1AnLCAnQicsICdTJ307Ci0rICBBVlBhY2tldCBwa3Q7Ci0rICBpbnQgcmV0LCBn b3RfcGFja2V0ID0gMDsKLSAKLSAgIGlmIChwYXJhbS0+ZmxhZyA9PSBUQ19WSURFTykgewotIAot QEAgLTE1OTgsNyArMTYyNSw3IEBACi0gCSAgICAgICAgCVlVVl9JTklUX1BMQU5FUyhzcmMsIHBh cmFtLT5idWZmZXIsIElNR19ZVVZfREVGQVVMVCwKLSAJCQkgICAgICAgICAgICAgICAgCWxhdmNf dmVuY19jb250ZXh0LT53aWR0aCwgbGF2Y192ZW5jX2NvbnRleHQtPmhlaWdodCk7Ci0gICAgICAg ICAgICAgICAgIGF2cGljdHVyZV9maWxsKChBVlBpY3R1cmUgKilsYXZjX3ZlbmNfZnJhbWUsIGlt Z19idWZmZXIsCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBJWF9GTVRfWVVWNDIy UCwgbGF2Y192ZW5jX2NvbnRleHQtPndpZHRoLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBBVl9QSVhfRk1UX1lVVjQyMlAsIGxhdmNfdmVuY19jb250ZXh0LT53aWR0aCwKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgbGF2Y192ZW5jX2NvbnRleHQtPmhlaWdodCk7Ci0g ICAgICAgICAJCS8qIEZJWE1FOiBjYW4ndCB1c2UgdGN2X2NvbnZlcnQgKHNlZSBkZWNvZGVfbGF2 Yy5jKSAqLwotICAgICAgICAgICAgICAgICBhY19pbWdjb252ZXJ0KHNyYywgSU1HX1lVVl9ERUZB VUxULAotQEAgLTE2MjgsNyArMTY1NSw3IEBACi0gCQkgICAgICAgICAgICAgICAgCQlsYXZjX3Zl bmNfY29udGV4dC0+d2lkdGgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYXZj X3ZlbmNfY29udGV4dC0+aGVpZ2h0KTsKLSAgICAgICAgICAgICAgICAgYXZwaWN0dXJlX2ZpbGwo KEFWUGljdHVyZSAqKWxhdmNfdmVuY19mcmFtZSwgaW1nX2J1ZmZlciwKLS0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgUElYX0ZNVF9ZVVY0MjBQLCBsYXZjX3ZlbmNfY29udGV4dC0+d2lk dGgsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFWX1BJWF9GTVRfWVVWNDIwUCwg bGF2Y192ZW5jX2NvbnRleHQtPndpZHRoLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBsYXZjX3ZlbmNfY29udGV4dC0+aGVpZ2h0KTsKLSAgICAgICAgICAgICAgICAgYWNfaW1nY29u dmVydChzcmMsIElNR19ZVVY0MjJQLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxh dmNfdmVuY19mcmFtZS0+ZGF0YSwgSU1HX1lVVjQyMFAsCi1AQCAtMTYzOSw3ICsxNjY2LDcgQEAK LSAKLSAgICAgICAgIGNhc2UgQ09ERUNfUkdCOgotICAgICAgICAgICAgIGF2cGljdHVyZV9maWxs KChBVlBpY3R1cmUgKilsYXZjX3ZlbmNfZnJhbWUsIGltZ19idWZmZXIsCi0tICAgICAgICAgICAg ICAgICAgICAgICAgICAgUElYX0ZNVF9ZVVY0MjBQLCBsYXZjX3ZlbmNfY29udGV4dC0+d2lkdGgs Ci0rICAgICAgICAgICAgICAgICAgICAgICAgICAgQVZfUElYX0ZNVF9ZVVY0MjBQLCBsYXZjX3Zl bmNfY29udGV4dC0+d2lkdGgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGF2Y192ZW5j X2NvbnRleHQtPmhlaWdodCk7Ci0gICAgIAkgICAgYWNfaW1nY29udmVydCgmcGFyYW0tPmJ1ZmZl ciwgSU1HX1JHQl9ERUZBVUxULAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhdmNf dmVuY19mcmFtZS0+ZGF0YSwgSU1HX1lVVjQyMFAsCi1AQCAtMTY1MiwxMyArMTY3OSwxNyBAQAot ICAgICAgICAgICAgICAgcmV0dXJuIFRDX0VYUE9SVF9FUlJPUjsKLSAgICAgfQotIAotKyAgICBh dl9pbml0X3BhY2tldCgmcGt0KTsKLSsgICAgcGt0LmRhdGEgPSBlbmNfYnVmZmVyOwotKyAgICBw a3Quc2l6ZSA9IHNpemU7Ci0gCi0gICAgIFRDX0xPQ0tfTElCQVZDT0RFQzsKLS0gICAgb3V0X3Np emUgPSBhdmNvZGVjX2VuY29kZV92aWRlbyhsYXZjX3ZlbmNfY29udGV4dCwKLS0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBlbmNfYnVmZmVyLCBzaXplLAotLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGxhdmNfdmVuY19mcmFtZSk7Ci0rICAgIHJldCA9IGF2 Y29kZWNfZW5jb2RlX3ZpZGVvMihsYXZjX3ZlbmNfY29udGV4dCwgJnBrdCwKLSsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBsYXZjX3ZlbmNfZnJhbWUsICZnb3RfcGFja2V0KTsK LSAgICAgVENfVU5MT0NLX0xJQkFWQ09ERUM7Ci0gCi0rICAgIG91dF9zaXplID0gcmV0ID8gcmV0 IDogcGt0LnNpemU7Ci0rCi0gICAgIGlmIChvdXRfc2l6ZSA8IDApIHsKLSAgICAgICB0Y19sb2df d2FybihNT0RfTkFNRSwgImVuY29kZXIgZXJyb3I6IHNpemUgKCVkKSIsIG91dF9zaXplKTsKLSAg ICAgICByZXR1cm4gVENfRVhQT1JUX0VSUk9SOwotLS0tIGEvZXhwb3J0L2ZmbXBlZ19jZmcuYwky MDExLTExLTE5IDE3OjUwOjI3LjAwMDAwMDAwMCArMDEwMAotKysrIGIvZXhwb3J0L2ZmbXBlZ19j ZmcuYwkyMDE2LTAyLTE1IDE2OjA4OjM3LjkxNjQ4ODE2MSArMDEwMAotQEAgLTM0LDggKzM0LDYg QEAKLSAvL2ludCBsYXZjX3BhcmFtX3Zxc2NhbGUgPSAwOwotIC8vaW50IGxhdmNfcGFyYW1fdnFt aW4gPSAyOwotIC8vaW50IGxhdmNfcGFyYW1fdnFtYXggPSAzMTsKLS1pbnQgbGF2Y19wYXJhbV9t Yl9xbWluID0gMjsKLS1pbnQgbGF2Y19wYXJhbV9tYl9xbWF4ID0gMzE7Ci0gaW50IGxhdmNfcGFy YW1fbG1pbiA9IDI7Ci0gaW50IGxhdmNfcGFyYW1fbG1heCA9IDMxOwotIGludCBsYXZjX3BhcmFt X3ZxZGlmZiA9IDM7Ci1AQCAtMTI2LDcgKzEyNCw3IEBACi0gLy9pbnQgbGF2Y19wYXJhbV9hdGFn ID0gMDsKLSAvL2ludCBsYXZjX3BhcmFtX2FiaXRyYXRlID0gMjI0OwotIAotLWNoYXIgKmxhdmNf cGFyYW1fdmlkZW9fcHJlc2V0ID0gIm1lZGl1bSI7Ci0rY2hhciAqbGF2Y19wYXJhbV92aWRlb19w cmVzZXQgPSAibm9uZSI7Ci0gY2hhciAqbGF2Y19wYXJhbV9mZm1wZWdfZGF0YWRpciA9ICIvdXNy L3NoYXJlL2ZmbXBlZyI7Ci0gCi0gVENDb25maWdFbnRyeSBsYXZjb3B0c19jb25mW109ewotQEAg LTE0MywxNSArMTQxLDEzIEBACi0gLy8gICAgeyJ2cXNjYWxlIiwgJmxhdmNfcGFyYW1fdnFzY2Fs ZSwgVENDT05GX1RZUEVfSU5ULCBUQ0NPTkZfRkxBR19SQU5HRSwgMSwgMzF9LAotIC8vICAgIHsi dnFtaW4iLCAmbGF2Y19wYXJhbV92cW1pbiwgVENDT05GX1RZUEVfSU5ULCBUQ0NPTkZfRkxBR19S QU5HRSwgMSwgMzF9LAotIC8vICAgIHsidnFtYXgiLCAmbGF2Y19wYXJhbV92cW1heCwgVENDT05G X1RZUEVfSU5ULCBUQ0NPTkZfRkxBR19SQU5HRSwgMSwgMzF9LAotLSAgICB7Im1icW1pbiIsICZs YXZjX3BhcmFtX21iX3FtaW4sIFRDQ09ORl9UWVBFX0lOVCwgVENDT05GX0ZMQUdfUkFOR0UsIDEs IDMxfSwKLS0gICAgeyJtYnFtYXgiLCAmbGF2Y19wYXJhbV9tYl9xbWF4LCBUQ0NPTkZfVFlQRV9J TlQsIFRDQ09ORl9GTEFHX1JBTkdFLCAxLCAzMX0sCi0gICAgIHsibG1pbiIsICZsYXZjX3BhcmFt X2xtaW4sIFRDQ09ORl9UWVBFX0ZMT0FULCBUQ0NPTkZfRkxBR19SQU5HRSwgMC4wMSwgMjU1LjB9 LAotICAgICB7ImxtYXgiLCAmbGF2Y19wYXJhbV9sbWF4LCBUQ0NPTkZfVFlQRV9GTE9BVCwgVEND T05GX0ZMQUdfUkFOR0UsIDAuMDEsIDI1NS4wfSwKLSAgICAgeyJ2cWRpZmYiLCAmbGF2Y19wYXJh bV92cWRpZmYsIFRDQ09ORl9UWVBFX0lOVCwgVENDT05GX0ZMQUdfUkFOR0UsIDEsIDMxfSwKLSAg ICAgeyJ2cWNvbXAiLCAmbGF2Y19wYXJhbV92cWNvbXByZXNzLCBUQ0NPTkZfVFlQRV9GTE9BVCwg VENDT05GX0ZMQUdfUkFOR0UsIDAuMCwgMS4wfSwKLSAgICAgeyJ2cWJsdXIiLCAmbGF2Y19wYXJh bV92cWJsdXIsIFRDQ09ORl9UWVBFX0ZMT0FULCBUQ0NPTkZfRkxBR19SQU5HRSwgMC4wLCAxLjB9 LAotICAgICB7InZiX3FmYWN0b3IiLCAmbGF2Y19wYXJhbV92Yl9xZmFjdG9yLCBUQ0NPTkZfVFlQ RV9GTE9BVCwgVENDT05GX0ZMQUdfUkFOR0UsIC0zMS4wLCAzMS4wfSwKLS0gICAgeyJ2bWF4X2Jf ZnJhbWVzIiwgJmxhdmNfcGFyYW1fdm1heF9iX2ZyYW1lcywgVENDT05GX1RZUEVfSU5ULCBUQ0NP TkZfRkxBR19SQU5HRSwgMCwgRkZfTUFYX0JfRlJBTUVTfSwKLSsgICAgeyJ2bWF4X2JfZnJhbWVz IiwgJmxhdmNfcGFyYW1fdm1heF9iX2ZyYW1lcywgVENDT05GX1RZUEVfSU5ULCBUQ0NPTkZfRkxB R19SQU5HRSwgMCwgSU5UX01BWH0sCi0gLy8gICAgeyJ2cGFzcyIsICZsYXZjX3BhcmFtX3ZwYXNz LCBUQ0NPTkZfVFlQRV9JTlQsIFRDQ09ORl9GTEFHX1JBTkdFLCAwLCAyfSwKLSAgICAgeyJ2cmNf c3RyYXRlZ3kiLCAmbGF2Y19wYXJhbV92cmNfc3RyYXRlZ3ksIFRDQ09ORl9UWVBFX0lOVCwgVEND T05GX0ZMQUdfUkFOR0UsIDAsIDJ9LAotICAgICB7InZiX3N0cmF0ZWd5IiwgJmxhdmNfcGFyYW1f dmJfc3RyYXRlZ3ksIFRDQ09ORl9UWVBFX0lOVCwgVENDT05GX0ZMQUdfUkFOR0UsIDAsIDEwfSwK LUBAIC0xNjAsOSArMTU2LDkgQEAKLSAgICAgeyJ2Y2VsaW0iLCAmbGF2Y19wYXJhbV9jaHJvbWFf ZWxpbV90aHJlc2hvbGQsIFRDQ09ORl9UWVBFX0lOVCwgVENDT05GX0ZMQUdfUkFOR0UsIC05OSwg OTl9LAotICAgICB7InZwc2l6ZSIsICZsYXZjX3BhcmFtX3BhY2tldF9zaXplLCBUQ0NPTkZfVFlQ RV9JTlQsIFRDQ09ORl9GTEFHX1JBTkdFLCAwLCAxMDAwMDAwMDB9LAotICAgICB7InZzdHJpY3Qi LCAmbGF2Y19wYXJhbV9zdHJpY3QsIFRDQ09ORl9UWVBFX0lOVCwgVENDT05GX0ZMQUdfUkFOR0Us IC05OSwgOTl9LAotLSAgICB7InZkcGFydCIsICZsYXZjX3BhcmFtX2RhdGFfcGFydGl0aW9uaW5n LCBUQ0NPTkZfVFlQRV9GTEFHLCAwLCAwLCBDT0RFQ19GTEFHX1BBUlR9LAotKyAgICB7InZkcGFy dCIsICZsYXZjX3BhcmFtX2RhdGFfcGFydGl0aW9uaW5nLCBUQ0NPTkZfVFlQRV9GTEFHLCAwLCAw LCAxfSwKLSAvLyAgICB7ImtleWludCIsICZsYXZjX3BhcmFtX2tleWludCwgVENDT05GX1RZUEVf SU5ULCAwLCAwLCAwfSwKLS0gICAgeyJncmF5IiwgJmxhdmNfcGFyYW1fZ3JheSwgVENDT05GX1RZ UEVfRkxBRywgMCwgMCwgQ09ERUNfRkxBR19QQVJUfSwKLSsgICAgeyJncmF5IiwgJmxhdmNfcGFy YW1fZ3JheSwgVENDT05GX1RZUEVfRkxBRywgMCwgMCwgQ09ERUNfRkxBR19HUkFZfSwKLSAgICAg eyJtcGVnX3F1YW50IiwgJmxhdmNfcGFyYW1fbXBlZ19xdWFudCwgVENDT05GX1RZUEVfRkxBRywg MCwgMCwgMX0sCi0gICAgIHsidmlfcWZhY3RvciIsICZsYXZjX3BhcmFtX3ZpX3FmYWN0b3IsIFRD Q09ORl9UWVBFX0ZMT0FULCBUQ0NPTkZfRkxBR19SQU5HRSwgLTMxLjAsIDMxLjB9LAotICAgICB7 InZpX3FvZmZzZXQiLCAmbGF2Y19wYXJhbV92aV9xb2Zmc2V0LCBUQ0NPTkZfVFlQRV9GTE9BVCwg VENDT05GX0ZMQUdfUkFOR0UsIDAuMCwgMzEuMH0sCi1AQCAtMjExLDI2ICsyMDcsMjYgQEAKLSAj ZWxzZQotICAgICB7ImFpYyIsICZsYXZjX3BhcmFtX2FpYywgVENDT05GX1RZUEVfRkxBRywgMCwg MCwgQ09ERUNfRkxBR19BQ19QUkVEfSwKLSAjZW5kaWYgICAgCi0tICAgIHsidW12IiwgJmxhdmNf cGFyYW1fdW12LCBUQ0NPTkZfVFlQRV9GTEFHLCAwLCAwLCBDT0RFQ19GTEFHX0gyNjNQX1VNVn0s Ci0rICAgIHsidW12IiwgJmxhdmNfcGFyYW1fdW12LCBUQ0NPTkZfVFlQRV9GTEFHLCAwLCAwLCAx fSwKLSAgICAgeyJpYmlhcyIsICZsYXZjX3BhcmFtX2liaWFzLCBUQ0NPTkZfVFlQRV9JTlQsIFRD Q09ORl9GTEFHX1JBTkdFLCAtNTEyLCA1MTJ9LAotICAgICB7InBiaWFzIiwgJmxhdmNfcGFyYW1f cGJpYXMsIFRDQ09ORl9UWVBFX0lOVCwgVENDT05GX0ZMQUdfUkFOR0UsIC01MTIsIDUxMn0sCi0g ICAgIHsiY29kZXIiLCAmbGF2Y19wYXJhbV9jb2RlciwgVENDT05GX1RZUEVfSU5ULCBUQ0NPTkZf RkxBR19SQU5HRSwgMCwgMTB9LAotICAgICB7ImNvbnRleHQiLCAmbGF2Y19wYXJhbV9jb250ZXh0 LCBUQ0NPTkZfVFlQRV9JTlQsIFRDQ09ORl9GTEFHX1JBTkdFLCAwLCAxMH0sCi0gICAgIHsiaW50 cmFfbWF0cml4IiwgJmxhdmNfcGFyYW1faW50cmFfbWF0cml4LCBUQ0NPTkZfVFlQRV9TVFJJTkcs IDAsIDAsIDB9LAotICAgICB7ImludGVyX21hdHJpeCIsICZsYXZjX3BhcmFtX2ludGVyX21hdHJp eCwgVENDT05GX1RZUEVfU1RSSU5HLCAwLCAwLCAwfSwKLS0gICAgeyJjYnAiLCAmbGF2Y19wYXJh bV9jYnAsIFRDQ09ORl9UWVBFX0ZMQUcsIDAsIDAsIENPREVDX0ZMQUdfQ0JQX1JEfSwKLS0gICAg eyJtdjAiLCAmbGF2Y19wYXJhbV9tdjAsIFRDQ09ORl9UWVBFX0ZMQUcsIDAsIDAsIENPREVDX0ZM QUdfTVYwfSwKLSsgICAgeyJjYnAiLCAmbGF2Y19wYXJhbV9jYnAsIFRDQ09ORl9UWVBFX0ZMQUcs IDAsIDAsIDF9LAotKyAgICB7Im12MCIsICZsYXZjX3BhcmFtX212MCwgVENDT05GX1RZUEVfRkxB RywgMCwgMCwgMX0sCi0gICAgIHsibnIiLCAmbGF2Y19wYXJhbV9ub2lzZV9yZWR1Y3Rpb24sIFRD Q09ORl9UWVBFX0lOVCwgVENDT05GX0ZMQUdfUkFOR0UsIDAsIDEwMDAwMDB9LAotLSAgICB7InFw cmQiLCAmbGF2Y19wYXJhbV9xcF9yZCwgVENDT05GX1RZUEVfRkxBRywgMCwgMCwgQ09ERUNfRkxB R19RUF9SRH0sCi0rICAgIHsicXByZCIsICZsYXZjX3BhcmFtX3FwX3JkLCBUQ0NPTkZfVFlQRV9G TEFHLCAwLCAwLCAxfSwKLSAgICAgeyJ0aHJlYWRzIiwgJmxhdmNfcGFyYW1fdGhyZWFkcywgVEND T05GX1RZUEVfSU5ULCBUQ0NPTkZfRkxBR19SQU5HRSwgMSwgMTZ9LAotLSAgICB7InNzIiwgJmxh dmNfcGFyYW1fc3MsIFRDQ09ORl9UWVBFX0ZMQUcsIDAsIDAsIENPREVDX0ZMQUdfSDI2M1BfU0xJ Q0VfU1RSVUNUfSwKLS0gICAgeyJzdmNkX3NvZiIsICZsYXZjX3BhcmFtX3NjYW5fb2Zmc2V0LCBU Q0NPTkZfVFlQRV9GTEFHLCAwLCAwLCBDT0RFQ19GTEFHX1NWQ0RfU0NBTl9PRkZTRVR9LAotLSAg ICB7ImFsdCIsICZsYXZjX3BhcmFtX2FsdCwgVENDT05GX1RZUEVfRkxBRywgMCwgMCwgQ09ERUNf RkxBR19BTFRfU0NBTn0sCi0rICAgIHsic3MiLCAmbGF2Y19wYXJhbV9zcywgVENDT05GX1RZUEVf RkxBRywgMCwgMCwgMX0sCi0rICAgIHsic3ZjZF9zb2YiLCAmbGF2Y19wYXJhbV9zY2FuX29mZnNl dCwgVENDT05GX1RZUEVfRkxBRywgMCwgMCwgMX0sCi0rICAgIHsiYWx0IiwgJmxhdmNfcGFyYW1f YWx0LCBUQ0NPTkZfVFlQRV9GTEFHLCAwLCAwLCAxfSwKLSAgICAgeyJpbG1lIiwgJmxhdmNfcGFy YW1faWxtZSwgVENDT05GX1RZUEVfRkxBRywgMCwgMCwgQ09ERUNfRkxBR19JTlRFUkxBQ0VEX01F fSwKLSAgICAgeyJpbnRlcl90aHJlc2hvbGQiLCAmbGF2Y19wYXJhbV9pbnRlcl90aHJlc2hvbGQs IFRDQ09ORl9UWVBFX0lOVCwgVENDT05GX0ZMQUdfUkFOR0UsIC0xMDAwMDAwLCAxMDAwMDAwfSwK LSAgICAgeyJzY190aHJlc2hvbGQiLCAmbGF2Y19wYXJhbV9zY190aHJlc2hvbGQsIFRDQ09ORl9U WVBFX0lOVCwgVENDT05GX0ZMQUdfUkFOR0UsIC0xMDAwMDAwLCAxMDAwMDAwfSwKLSAgICAgeyJ0 b3AiLCAmbGF2Y19wYXJhbV90b3AsIFRDQ09ORl9UWVBFX0lOVCwgVENDT05GX0ZMQUdfUkFOR0Us IC0xLCAxfSwKLS0gICAgeyJnbWMiLCAmbGF2Y19wYXJhbV9nbWMsIFRDQ09ORl9UWVBFX0ZMQUcs IDAsIDAsIENPREVDX0ZMQUdfR01DfSwKLSsgICAgeyJnbWMiLCAmbGF2Y19wYXJhbV9nbWMsIFRD Q09ORl9UWVBFX0ZMQUcsIDAsIDAsIDF9LAotICAgICB7InRydW5jIiwgJmxhdmNfcGFyYW1fdHJ1 bmMsIFRDQ09ORl9UWVBFX0ZMQUcsIDAsIDAsIENPREVDX0ZMQUdfVFJVTkNBVEVEfSwKLSAgICAg eyJjbG9zZWRnb3AiLCAmbGF2Y19wYXJhbV9jbG9zZWRnb3AsIFRDQ09ORl9UWVBFX0ZMQUcsIDAs IDAsIENPREVDX0ZMQUdfQ0xPU0VEX0dPUH0sCi0gICAgIHsiaW50cmFfZGNfcHJlY2lzaW9uIiwg JmxhdmNfcGFyYW1faW50cmFfZGNfcHJlY2lzaW9uLCBUQ0NPTkZfVFlQRV9JTlQsIFRDQ09ORl9G TEFHX1JBTkdFLCAwLCAxNn0sCi0tLS0gYS9leHBvcnQvZmZtcGVnX2NmZy5oCTIwMTEtMTEtMTkg MTc6NTA6MjcuMDAwMDAwMDAwICswMTAwCi0rKysgYi9leHBvcnQvZmZtcGVnX2NmZy5oCTIwMTYt MDItMTUgMTY6MDg6MzcuOTE2NDg4MTYxICswMTAwCi1AQCAtMTMsOCArMTMsNiBAQAotIC8vZXh0 ZXJuIGludCBsYXZjX3BhcmFtX3Zxc2NhbGU7Ci0gLy9leHRlcm4gaW50IGxhdmNfcGFyYW1fdnFt aW47Ci0gLy9leHRlcm4gaW50IGxhdmNfcGFyYW1fdnFtYXg7Ci0tZXh0ZXJuIGludCBsYXZjX3Bh cmFtX21iX3FtaW47Ci0tZXh0ZXJuIGludCBsYXZjX3BhcmFtX21iX3FtYXg7Ci0gZXh0ZXJuIGlu dCBsYXZjX3BhcmFtX2xtaW47Ci0gZXh0ZXJuIGludCBsYXZjX3BhcmFtX2xtYXg7Ci0gZXh0ZXJu IGludCBsYXZjX3BhcmFtX3ZxZGlmZjsKLS0tLSBhL2ZpbHRlci9maWx0ZXJfcHAuYwkyMDExLTEx LTE5IDE3OjUwOjI3LjAwMDAwMDAwMCArMDEwMAotKysrIGIvZmlsdGVyL2ZpbHRlcl9wcC5jCTIw MTYtMDItMTUgMTY6MDg6MzcuOTE2NDg4MTYxICswMTAwCi1AQCAtMzgsOCArMzgsOCBAQAotIAot IC8qIEZJWE1FOiB0aGVzZSB1c2UgdGhlIGZpbHRlciBJRCBhcyBhbiBpbmRleC0tdGhlIElEIGNh biBncm93Ci0gICogYXJiaXRyYXJpbHkgbGFyZ2UsIHNvIHRoaXMgbmVlZHMgdG8gYmUgZml4ZWQg Ki8KLS1zdGF0aWMgcHBfbW9kZV90ICptb2RlWzEwMF07Ci0tc3RhdGljIHBwX2NvbnRleHRfdCAq Y29udGV4dFsxMDBdOwotK3N0YXRpYyBwcF9tb2RlICptb2RlWzEwMF07Ci0rc3RhdGljIHBwX2Nv bnRleHQgKmNvbnRleHRbMTAwXTsKLSBzdGF0aWMgaW50IHdpZHRoWzEwMF0sIGhlaWdodFsxMDBd OwotIHN0YXRpYyBpbnQgcHJlWzEwMF07Ci0gCi0tLS0gYS9pbXBvcnQvZGVjb2RlX2xhdmMuYwky MDExLTExLTE5IDE3OjUwOjI3LjAwMDAwMDAwMCArMDEwMAotKysrIGIvaW1wb3J0L2RlY29kZV9s YXZjLmMJMjAxNi0wMi0xNSAxNjowOTowMC4yNTI5ODg4OTcgKzAxMDAKLUBAIC01OCwzNyArNTgs MzcgQEAKLSAKLSAvLyBmb3VyQ0MgdG8gSUQgbWFwcGluZyB0YWtlbiBmcm9tIE1QbGF5ZXIncyBj b2RlY3MuY29uZgotIHN0YXRpYyBzdHJ1Y3QgZmZtcGVnX2NvZGVjIGZmbXBlZ19jb2RlY3NbXSA9 IHsKLS0gIHtDT0RFQ19JRF9NU01QRUc0VjEsIFRDX0NPREVDX0VSUk9SLCAibXA0MSIsCi0rICB7 QVZfQ09ERUNfSURfTVNNUEVHNFYxLCBUQ19DT0RFQ19FUlJPUiwgIm1wNDEiLAotICAgICB7Ik1Q NDEiLCAiRElWMSIsICIifX0sCi0tICB7Q09ERUNfSURfTVNNUEVHNFYyLCBUQ19DT0RFQ19NUDQy LCAibXA0MiIsCi0rICB7QVZfQ09ERUNfSURfTVNNUEVHNFYyLCBUQ19DT0RFQ19NUDQyLCAibXA0 MiIsCi0gICAgIHsiTVA0MiIsICJESVYyIiwgIiJ9fSwKLS0gIHtDT0RFQ19JRF9NU01QRUc0VjMs IFRDX0NPREVDX0RJVlgzLCAibXNtcGVnNCIsCi0rICB7QVZfQ09ERUNfSURfTVNNUEVHNFYzLCBU Q19DT0RFQ19ESVZYMywgIm1zbXBlZzQiLAotICAgICB7IkRJVjMiLCAiRElWNSIsICJBUDQxIiwg Ik1QRzMiLCAiTVA0MyIsICIifX0sCi0tICB7Q09ERUNfSURfTVBFRzQsIFRDX0NPREVDX0RJVlg0 LCAibXBlZzQiLAotKyAge0FWX0NPREVDX0lEX01QRUc0LCBUQ19DT0RFQ19ESVZYNCwgIm1wZWc0 IiwKLSAgICAgeyJESVZYIiwgIlhWSUQiLCAiTVA0UyIsICJNNFMyIiwgIk1QNFYiLCAiVU1QNCIs ICJEWDUwIiwgIiJ9fSwKLS0gIHtDT0RFQ19JRF9NSlBFRywgVENfQ09ERUNfTUpQRUcsICJtanBl ZyIsCi0rICB7QVZfQ09ERUNfSURfTUpQRUcsIFRDX0NPREVDX01KUEVHLCAibWpwZWciLAotICAg ICB7Ik1KUEciLCAiQVZSTiIsICJBVkRKIiwgIkpQRUciLCAiTUpQQSIsICJKRklGIiwgIiJ9fSwK LS0gIHtDT0RFQ19JRF9NUEVHMVZJREVPLCBUQ19DT0RFQ19NUEVHMVZJREVPLCAibXBlZzF2aWRl byIsCi0rICB7QVZfQ09ERUNfSURfTVBFRzFWSURFTywgVENfQ09ERUNfTVBFRzFWSURFTywgIm1w ZWcxdmlkZW8iLAotICAgICB7Ik1QRzEiLCAiIn19LAotLSAge0NPREVDX0lEX0RWVklERU8sIFRD X0NPREVDX0RWLCAiZHZ2aWRlbyIsCi0rICB7QVZfQ09ERUNfSURfRFZWSURFTywgVENfQ09ERUNf RFYsICJkdnZpZGVvIiwKLSAgICAgeyJEVlNEIiwgIiJ9fSwKLS0gIHtDT0RFQ19JRF9XTVYxLCBU Q19DT0RFQ19XTVYxLCAid212MSIsCi0rICB7QVZfQ09ERUNfSURfV01WMSwgVENfQ09ERUNfV01W MSwgIndtdjEiLAotICAgICB7IldNVjEiLCAiIn19LAotLSAge0NPREVDX0lEX1dNVjIsIFRDX0NP REVDX1dNVjIsICJ3bXYyIiwKLSsgIHtBVl9DT0RFQ19JRF9XTVYyLCBUQ19DT0RFQ19XTVYyLCAi d212MiIsCi0gICAgIHsiV01WMiIsICIifX0sCi0tICB7Q09ERUNfSURfSFVGRllVViwgVENfQ09E RUNfSFVGRllVViwgImhmeXUiLAotKyAge0FWX0NPREVDX0lEX0hVRkZZVVYsIFRDX0NPREVDX0hV RkZZVVYsICJoZnl1IiwKLSAgICAgeyJIRllVIiwgIiJ9fSwKLS0gIHtDT0RFQ19JRF9IMjYzSSwg VENfQ09ERUNfSDI2M0ksICJoMjYzaSIsCi0rICB7QVZfQ09ERUNfSURfSDI2M0ksIFRDX0NPREVD X0gyNjNJLCAiaDI2M2kiLAotICAgICB7IkkyNjMiLCAiIn19LAotLSAge0NPREVDX0lEX0gyNjNQ LCBUQ19DT0RFQ19IMjYzUCwgImgyNjNwIiwKLSsgIHtBVl9DT0RFQ19JRF9IMjYzUCwgVENfQ09E RUNfSDI2M1AsICJoMjYzcCIsCi0gICAgIHsiSDI2MyIsICJVMjYzIiwgIlZJVjEiLCAiIn19LAot LSAge0NPREVDX0lEX1JWMTAsIFRDX0NPREVDX1JWMTAsICJydjEwIiwKLSsgIHtBVl9DT0RFQ19J RF9SVjEwLCBUQ19DT0RFQ19SVjEwLCAicnYxMCIsCi0gICAgIHsiUlYxMCIsICJSVjEzIiwgIiJ9 fSwKLS0gIHtDT0RFQ19JRF9TVlExLCBUQ19DT0RFQ19TVlExLCAic3ZxMSIsCi0rICB7QVZfQ09E RUNfSURfU1ZRMSwgVENfQ09ERUNfU1ZRMSwgInN2cTEiLAotICAgICB7IlNWUTEiLCAiIn19LAot LSAge0NPREVDX0lEX1NWUTMsIFRDX0NPREVDX1NWUTMsICJzdnEzIiwKLSsgIHtBVl9DT0RFQ19J RF9TVlEzLCBUQ19DT0RFQ19TVlEzLCAic3ZxMyIsCi0gICAgIHsiU1ZRMyIsICIifX0sCi0tICB7 Q09ERUNfSURfTVBFRzJWSURFTywgVENfQ09ERUNfTVBFRzIsICJtcGVnMnZpZGVvIiwKLSsgIHtB Vl9DT0RFQ19JRF9NUEVHMlZJREVPLCBUQ19DT0RFQ19NUEVHMiwgIm1wZWcydmlkZW8iLAotICAg ICB7Ik1QRzIiLCAiIn19LAotICAgezAsIFRDX0NPREVDX1VOS05PV04sIE5VTEwsIHsiIn19fTsK LSAKLUBAIC0xNzAsNyArMTcwLDcgQEAKLSAKLSAgIC8vIFNldCB0aGVzZSB0byB0aGUgZXhwZWN0 ZWQgdmFsdWVzIHNvIHRoYXQgZmZtcGVnJ3MgZGVjb2RlciBjYW4KLSAgIC8vIHByb3Blcmx5IGRl dGVjdCBpbnRlcmxhY2VkIGlucHV0LgotLSAgbGF2Y19kZWNfY29udGV4dCA9IGF2Y29kZWNfYWxs b2NfY29udGV4dCgpOwotKyAgbGF2Y19kZWNfY29udGV4dCA9IGF2Y29kZWNfYWxsb2NfY29udGV4 dDMoTlVMTCk7Ci0gICBpZiAobGF2Y19kZWNfY29udGV4dCA9PSBOVUxMKSB7Ci0gICAgICAgdGNf bG9nX2Vycm9yKF9fRklMRV9fLCAiQ291bGQgbm90IGFsbG9jYXRlIGVub3VnaCBtZW1vcnkuIik7 Ci0gICAgICAgZ290byBkZWNvZGVyX2Vycm9yOwotQEAgLTE4MSwxMiArMTgxLDEyIEBACi0gI2lm IExJQkFWQ09ERUNfVkVSU0lPTl9JTlQgPCAoKDUyPDwxNikrKDA8PDgpKzApCi0gICBsYXZjX2Rl Y19jb250ZXh0LT5lcnJvcl9yZXNpbGllbmNlICA9IDI7Ci0gI2Vsc2UKLS0gIGxhdmNfZGVjX2Nv bnRleHQtPmVycm9yX3JlY29nbml0aW9uID0gMjsKLSsgIGxhdmNfZGVjX2NvbnRleHQtPmVycl9y ZWNvZ25pdGlvbiA9IDI7Ci0gI2VuZGlmCi0gICBsYXZjX2RlY19jb250ZXh0LT5lcnJvcl9jb25j ZWFsbWVudCA9IDM7Ci0gICBsYXZjX2RlY19jb250ZXh0LT53b3JrYXJvdW5kX2J1Z3MgPSBGRl9C VUdfQVVUT0RFVEVDVDsKLSAKLS0gIGlmIChhdmNvZGVjX29wZW4obGF2Y19kZWNfY29udGV4dCwg bGF2Y19kZWNfY29kZWMpIDwgMCkgewotKyAgaWYgKGF2Y29kZWNfb3BlbjIobGF2Y19kZWNfY29u dGV4dCwgbGF2Y19kZWNfY29kZWMsIE5VTEwpIDwgMCkgewotICAgICAgIHRjX2xvZ19lcnJvcihf X0ZJTEVfXywgIkNvdWxkIG5vdCBpbml0aWFsaXplIHRoZSAnJXMnIGNvZGVjLiIsCi0gCQkgICBj b2RlYy0+bmFtZSk7Ci0gICAgICAgZ290byBkZWNvZGVyX2Vycm9yOwotQEAgLTI5MCw4ICsyOTAs OCBAQAotIAotICAgICAgIC8vIENvbnZlcnQgYXZjb2RlYyBpbWFnZSB0byB0aGUgcmVxdWVzdGVk IFlVViBvciBSR0IgZm9ybWF0Ci0gICAgICAgc3dpdGNoIChsYXZjX2RlY19jb250ZXh0LT5waXhf Zm10KSB7Ci0tCWNhc2UgUElYX0ZNVF9ZVVZKNDIwUDoKLS0JY2FzZSBQSVhfRk1UX1lVVjQyMFA6 Ci0rCWNhc2UgQVZfUElYX0ZNVF9ZVVZKNDIwUDoKLSsJY2FzZSBBVl9QSVhfRk1UX1lVVjQyMFA6 Ci0gCSAgICAvLyBSZW1vdmUgImRlYWQgc3BhY2UiIGF0IHJpZ2h0IGVkZ2Ugb2YgcGxhbmVzLCBp ZiBhbnkKLSAJICAgIGlmIChwaWN0dXJlLmxpbmVzaXplWzBdICE9IGxhdmNfZGVjX2NvbnRleHQt PndpZHRoKSB7Ci0gCQlpbnQgeTsKLUBAIC0zMTUsNyArMzE1LDcgQEAKLSAJCQkgIHBpeF9mbXQ9 PVRDX0NPREVDX1lVVjQyMFAgPyBJTUdfWVVWNDIwUCA6IElNR19SR0JfREVGQVVMVCwKLSAJCQkg IGxhdmNfZGVjX2NvbnRleHQtPndpZHRoLCBsYXZjX2RlY19jb250ZXh0LT5oZWlnaHQpOwotIAkg ICAgYnJlYWs7Ci0tCWNhc2UgUElYX0ZNVF9ZVVY0MTFQOgotKwljYXNlIEFWX1BJWF9GTVRfWVVW NDExUDoKLSAJICAgIGlmIChwaWN0dXJlLmxpbmVzaXplWzBdICE9IGxhdmNfZGVjX2NvbnRleHQt PndpZHRoKSB7Ci0gCQlpbnQgeTsKLSAJCWZvciAoeSA9IDA7IHkgPCBsYXZjX2RlY19jb250ZXh0 LT5oZWlnaHQ7IHkrKykgewotQEAgLTMzNCw4ICszMzQsOCBAQAotIAkJCSAgcGl4X2ZtdD09VENf Q09ERUNfWVVWNDIwUCA/IElNR19ZVVY0MjBQIDogSU1HX1JHQl9ERUZBVUxULAotIAkJCSAgbGF2 Y19kZWNfY29udGV4dC0+d2lkdGgsIGxhdmNfZGVjX2NvbnRleHQtPmhlaWdodCk7Ci0gCSAgICBi cmVhazsKLS0JY2FzZSBQSVhfRk1UX1lVVko0MjJQOgotLQljYXNlIFBJWF9GTVRfWVVWNDIyUDoK LSsJY2FzZSBBVl9QSVhfRk1UX1lVVko0MjJQOgotKwljYXNlIEFWX1BJWF9GTVRfWVVWNDIyUDoK LSAJICAgIGlmIChwaWN0dXJlLmxpbmVzaXplWzBdICE9IGxhdmNfZGVjX2NvbnRleHQtPndpZHRo KSB7Ci0gCQlpbnQgeTsKLSAJCWZvciAoeSA9IDA7IHkgPCBsYXZjX2RlY19jb250ZXh0LT5oZWln aHQ7IHkrKykgewotQEAgLTM1NCw4ICszNTQsOCBAQAotIAkJCSAgcGl4X2ZtdD09VENfQ09ERUNf WVVWNDIwUCA/IElNR19ZVVY0MjBQIDogSU1HX1JHQl9ERUZBVUxULAotIAkJCSAgbGF2Y19kZWNf Y29udGV4dC0+d2lkdGgsIGxhdmNfZGVjX2NvbnRleHQtPmhlaWdodCk7Ci0gCSAgICBicmVhazsK LS0JY2FzZSBQSVhfRk1UX1lVVko0NDRQOgotLQljYXNlIFBJWF9GTVRfWVVWNDQ0UDoKLSsJY2Fz ZSBBVl9QSVhfRk1UX1lVVko0NDRQOgotKwljYXNlIEFWX1BJWF9GTVRfWVVWNDQ0UDoKLSAJICAg IGlmIChwaWN0dXJlLmxpbmVzaXplWzBdICE9IGxhdmNfZGVjX2NvbnRleHQtPndpZHRoKSB7Ci0g CQlpbnQgeTsKLSAJCWZvciAoeSA9IDA7IHkgPCBsYXZjX2RlY19jb250ZXh0LT5oZWlnaHQ7IHkr KykgewotLS0tIGEvaW1wb3J0L2ltcG9ydF9mZm1wZWcuYwkyMDExLTExLTE5IDE3OjUwOjI3LjAw MDAwMDAwMCArMDEwMAotKysrIGIvaW1wb3J0L2ltcG9ydF9mZm1wZWcuYwkyMDE2LTAyLTE1IDE2 OjA4OjQ4LjI2OTcyMDYyNyArMDEwMAotQEAgLTU5LDUxICs1OSw1MSBAQAotIAotIC8vIGZvdXJD QyB0byBJRCBtYXBwaW5nIHRha2VuIGZyb20gTVBsYXllcidzIGNvZGVjcy5jb25mCi0gc3RhdGlj IHN0cnVjdCBmZm1wZWdfY29kZWMgZmZtcGVnX2NvZGVjc1tdID0gewotLSAge0NPREVDX0lEX01T TVBFRzRWMSwgVENfQ09ERUNfRVJST1IsICJtcDQxIiwKLSsgIHtBVl9DT0RFQ19JRF9NU01QRUc0 VjEsIFRDX0NPREVDX0VSUk9SLCAibXA0MSIsCi0gICAgIHsiTVA0MSIsICJESVYxIiwgIiJ9fSwK LS0gIHtDT0RFQ19JRF9NU01QRUc0VjIsIFRDX0NPREVDX01QNDIsICJtcDQyIiwKLSsgIHtBVl9D T0RFQ19JRF9NU01QRUc0VjIsIFRDX0NPREVDX01QNDIsICJtcDQyIiwKLSAgICAgeyJNUDQyIiwg IkRJVjIiLCAiIn19LAotLSAge0NPREVDX0lEX01TTVBFRzRWMywgVENfQ09ERUNfRElWWDMsICJt c21wZWc0IiwKLSsgIHtBVl9DT0RFQ19JRF9NU01QRUc0VjMsIFRDX0NPREVDX0RJVlgzLCAibXNt cGVnNCIsCi0gICAgIHsiRElWMyIsICJESVY1IiwgIkFQNDEiLCAiTVBHMyIsICJNUDQzIiwgIiJ9 fSwKLS0gIHtDT0RFQ19JRF9NUEVHNCwgVENfQ09ERUNfRElWWDQsICJtcGVnNCIsCi0rICB7QVZf Q09ERUNfSURfTVBFRzQsIFRDX0NPREVDX0RJVlg0LCAibXBlZzQiLAotICAgICB7IkRJVlgiLCAi WFZJRCIsICJNUDRTIiwgIk00UzIiLCAiTVA0ViIsICJVTVA0IiwgIkRYNTAiLCAiIn19LAotLSAg e0NPREVDX0lEX01KUEVHLCBUQ19DT0RFQ19NSlBFRywgIm1qcGVnIiwKLSsgIHtBVl9DT0RFQ19J RF9NSlBFRywgVENfQ09ERUNfTUpQRUcsICJtanBlZyIsCi0gICAgIHsiTUpQRyIsICJBVlJOIiwg IkFWREoiLCAiSlBFRyIsICJNSlBBIiwgIkpGSUYiLCAiIn19LAotLSAge0NPREVDX0lEX01QRUcx VklERU8sIFRDX0NPREVDX01QRzEsICJtcGVnMXZpZGVvIiwKLSsgIHtBVl9DT0RFQ19JRF9NUEVH MVZJREVPLCBUQ19DT0RFQ19NUEcxLCAibXBlZzF2aWRlbyIsCi0gICAgIHsiTVBHMSIsICIifX0s Ci0tICB7Q09ERUNfSURfRFZWSURFTywgVENfQ09ERUNfRFYsICJkdnZpZGVvIiwKLSsgIHtBVl9D T0RFQ19JRF9EVlZJREVPLCBUQ19DT0RFQ19EViwgImR2dmlkZW8iLAotICAgICB7IkRWU0QiLCAi In19LAotLSAge0NPREVDX0lEX1dNVjEsIFRDX0NPREVDX1dNVjEsICJ3bXYxIiwKLSsgIHtBVl9D T0RFQ19JRF9XTVYxLCBUQ19DT0RFQ19XTVYxLCAid212MSIsCi0gICAgIHsiV01WMSIsICIifX0s Ci0tICB7Q09ERUNfSURfV01WMiwgVENfQ09ERUNfV01WMiwgIndtdjIiLAotKyAge0FWX0NPREVD X0lEX1dNVjIsIFRDX0NPREVDX1dNVjIsICJ3bXYyIiwKLSAgICAgeyJXTVYyIiwgIiJ9fSwKLS0g IHtDT0RFQ19JRF9IVUZGWVVWLCBUQ19DT0RFQ19IVUZGWVVWLCAiaGZ5dSIsCi0rICB7QVZfQ09E RUNfSURfSFVGRllVViwgVENfQ09ERUNfSFVGRllVViwgImhmeXUiLAotICAgICB7IkhGWVUiLCAi In19LAotLSAge0NPREVDX0lEX0gyNjNJLCBUQ19DT0RFQ19IMjYzSSwgImgyNjNpIiwKLSsgIHtB Vl9DT0RFQ19JRF9IMjYzSSwgVENfQ09ERUNfSDI2M0ksICJoMjYzaSIsCi0gICAgIHsiSTI2MyIs ICIifX0sCi0tICB7Q09ERUNfSURfSDI2M1AsIFRDX0NPREVDX0gyNjNQLCAiaDI2M3AiLAotKyAg e0FWX0NPREVDX0lEX0gyNjNQLCBUQ19DT0RFQ19IMjYzUCwgImgyNjNwIiwKLSAgICAgeyJIMjYz IiwgIlUyNjMiLCAiVklWMSIsICIifX0sCi0tICB7Q09ERUNfSURfSDI2NCwgVENfQ09ERUNfSDI2 NCwgImgyNjQiLAotKyAge0FWX0NPREVDX0lEX0gyNjQsIFRDX0NPREVDX0gyNjQsICJoMjY0IiwK LSAgICAgeyJIMjY0IiwgImgyNjQiLCAiWDI2NCIsICJ4MjY0IiwgImF2YzEiLCAiIn19LAotLSAg e0NPREVDX0lEX1JWMTAsIFRDX0NPREVDX1JWMTAsICJydjEwIiwKLSsgIHtBVl9DT0RFQ19JRF9S VjEwLCBUQ19DT0RFQ19SVjEwLCAicnYxMCIsCi0gICAgIHsiUlYxMCIsICJSVjEzIiwgIiJ9fSwK LS0gIHtDT0RFQ19JRF9TVlExLCBUQ19DT0RFQ19TVlExLCAic3ZxMSIsCi0rICB7QVZfQ09ERUNf SURfU1ZRMSwgVENfQ09ERUNfU1ZRMSwgInN2cTEiLAotICAgICB7IlNWUTEiLCAiIn19LAotLSAg e0NPREVDX0lEX1NWUTMsIFRDX0NPREVDX1NWUTMsICJzdnEzIiwKLSsgIHtBVl9DT0RFQ19JRF9T VlEzLCBUQ19DT0RFQ19TVlEzLCAic3ZxMyIsCi0gICAgIHsiU1ZRMyIsICIifX0sCi0tICB7Q09E RUNfSURfTVBFRzJWSURFTywgVENfQ09ERUNfTVBFRzIsICJtcGVnMnZpZGVvIiwKLSsgIHtBVl9D T0RFQ19JRF9NUEVHMlZJREVPLCBUQ19DT0RFQ19NUEVHMiwgIm1wZWcydmlkZW8iLAotICAgICB7 Ik1QRzIiLCAiIn19LAotLSAge0NPREVDX0lEX01QRUcyVklERU8sIFRDX0NPREVDX01QRUcsICJt cGVnMnZpZGVvIiwKLSsgIHtBVl9DT0RFQ19JRF9NUEVHMlZJREVPLCBUQ19DT0RFQ19NUEVHLCAi bXBlZzJ2aWRlbyIsCi0gICAgIHsiTVBHMiIsICIifX0sCi0tICB7Q09ERUNfSURfQVNWMSwgVENf Q09ERUNfQVNWMSwgImFzdjEiLAotKyAge0FWX0NPREVDX0lEX0FTVjEsIFRDX0NPREVDX0FTVjEs ICJhc3YxIiwKLSAgICAgeyJBU1YxIiwgIiJ9fSwKLS0gIHtDT0RFQ19JRF9BU1YyLCBUQ19DT0RF Q19BU1YyLCAiYXN2MiIsCi0rICB7QVZfQ09ERUNfSURfQVNWMiwgVENfQ09ERUNfQVNWMiwgImFz djIiLAotICAgICB7IkFTVjIiLCAiIn19LAotLSAge0NPREVDX0lEX0ZGVjEsIFRDX0NPREVDX0ZG VjEsICJmZnYxIiwKLSsgIHtBVl9DT0RFQ19JRF9GRlYxLCBUQ19DT0RFQ19GRlYxLCAiZmZ2MSIs Ci0gICAgIHsiRkZWMSIsICIifX0sCi0tICB7Q09ERUNfSURfUkFXVklERU8sIFRDX0NPREVDX1lV VjQyMFAsICJyYXciLAotKyAge0FWX0NPREVDX0lEX1JBV1ZJREVPLCBUQ19DT0RFQ19ZVVY0MjBQ LCAicmF3IiwKLSAgICAgeyJJNDIwIiwgIklZVVYiLCAiIn19LAotLSAge0NPREVDX0lEX1JBV1ZJ REVPLCBUQ19DT0RFQ19ZVVY0MjJQLCAicmF3IiwKLSsgIHtBVl9DT0RFQ19JRF9SQVdWSURFTywg VENfQ09ERUNfWVVWNDIyUCwgInJhdyIsCi0gICAgIHsiWTQyQiIsICIifX0sCi0gICB7MCwgVENf Q09ERUNfVU5LTk9XTiwgTlVMTCwgeyIifX19OwotIAotQEAgLTMwMiw3ICszMDIsNyBAQAotIAot ICAgICAvLyBTZXQgdGhlc2UgdG8gdGhlIGV4cGVjdGVkIHZhbHVlcyBzbyB0aGF0IGZmbXBlZydz IGRlY29kZXIgY2FuCi0gICAgIC8vIHByb3Blcmx5IGRldGVjdCBpbnRlcmxhY2VkIGlucHV0Lgot LSAgICBsYXZjX2RlY19jb250ZXh0ID0gYXZjb2RlY19hbGxvY19jb250ZXh0KCk7Ci0rICAgIGxh dmNfZGVjX2NvbnRleHQgPSBhdmNvZGVjX2FsbG9jX2NvbnRleHQzKGxhdmNfZGVjX2NvZGVjKTsK LSAgICAgaWYgKGxhdmNfZGVjX2NvbnRleHQgPT0gTlVMTCkgewotICAgICAgIHRjX2xvZ19lcnJv cihNT0RfTkFNRSwgIkNvdWxkIG5vdCBhbGxvY2F0ZSBlbm91Z2ggbWVtb3J5LiIpOwotICAgICAg IHJldHVybiBUQ19JTVBPUlRfRVJST1I7Ci1AQCAtMzE0LDcgKzMxNCw3IEBACi0gI2lmIExJQkFW Q09ERUNfVkVSU0lPTl9JTlQgPCAoKDUyPDwxNikrKDA8PDgpKzApCi0gICAgIGxhdmNfZGVjX2Nv bnRleHQtPmVycm9yX3Jlc2lsaWVuY2UgID0gMjsKLSAjZWxzZQotLSAgICBsYXZjX2RlY19jb250 ZXh0LT5lcnJvcl9yZWNvZ25pdGlvbiA9IDI7Ci0rICAgIGxhdmNfZGVjX2NvbnRleHQtPmVycl9y ZWNvZ25pdGlvbiA9IDI7Ci0gI2VuZGlmCi0gICAgIGxhdmNfZGVjX2NvbnRleHQtPmVycm9yX2Nv bmNlYWxtZW50ID0gMzsKLSAgICAgbGF2Y19kZWNfY29udGV4dC0+d29ya2Fyb3VuZF9idWdzID0g RkZfQlVHX0FVVE9ERVRFQ1Q7Ci1AQCAtMzI0LDEzICszMjQsMTMgQEAKLSAgICAgLy8gWFhYOiBz b21lIGNvZGVjcyBuZWVkIGV4dHJhIGRhdGEKLSAgICAgc3dpdGNoIChjb2RlYy0+aWQpCi0gICAg IHsKLS0gICAgICBjYXNlIENPREVDX0lEX01KUEVHOiBleHRyYV9kYXRhX3NpemUgID0gMjg7IGJy ZWFrOwotLSAgICAgIGNhc2UgQ09ERUNfSURfTEpQRUc6IGV4dHJhX2RhdGFfc2l6ZSAgPSAyODsg YnJlYWs7Ci0tICAgICAgY2FzZSBDT0RFQ19JRF9IVUZGWVVWOiBleHRyYV9kYXRhX3NpemUgPSAx MDAwOyBicmVhazsKLS0gICAgICBjYXNlIENPREVDX0lEX0FTVjE6IGV4dHJhX2RhdGFfc2l6ZSA9 IDg7IGJyZWFrOwotLSAgICAgIGNhc2UgQ09ERUNfSURfQVNWMjogZXh0cmFfZGF0YV9zaXplID0g ODsgYnJlYWs7Ci0tICAgICAgY2FzZSBDT0RFQ19JRF9XTVYxOiBleHRyYV9kYXRhX3NpemUgPSA0 OyBicmVhazsKLS0gICAgICBjYXNlIENPREVDX0lEX1dNVjI6IGV4dHJhX2RhdGFfc2l6ZSA9IDQ7 IGJyZWFrOwotKyAgICAgIGNhc2UgQVZfQ09ERUNfSURfTUpQRUc6IGV4dHJhX2RhdGFfc2l6ZSAg PSAyODsgYnJlYWs7Ci0rICAgICAgY2FzZSBBVl9DT0RFQ19JRF9MSlBFRzogZXh0cmFfZGF0YV9z aXplICA9IDI4OyBicmVhazsKLSsgICAgICBjYXNlIEFWX0NPREVDX0lEX0hVRkZZVVY6IGV4dHJh X2RhdGFfc2l6ZSA9IDEwMDA7IGJyZWFrOwotKyAgICAgIGNhc2UgQVZfQ09ERUNfSURfQVNWMTog ZXh0cmFfZGF0YV9zaXplID0gODsgYnJlYWs7Ci0rICAgICAgY2FzZSBBVl9DT0RFQ19JRF9BU1Yy OiBleHRyYV9kYXRhX3NpemUgPSA4OyBicmVhazsKLSsgICAgICBjYXNlIEFWX0NPREVDX0lEX1dN VjE6IGV4dHJhX2RhdGFfc2l6ZSA9IDQ7IGJyZWFrOwotKyAgICAgIGNhc2UgQVZfQ09ERUNfSURf V01WMjogZXh0cmFfZGF0YV9zaXplID0gNDsgYnJlYWs7Ci0gICAgICAgZGVmYXVsdDogZXh0cmFf ZGF0YV9zaXplID0gMDsgYnJlYWs7Ci0gICAgIH0KLSAKLUBAIC0zNDQsNyArMzQ0LDcgQEAKLSAg ICAgfQotIAotICAgICBUQ19MT0NLX0xJQkFWQ09ERUM7Ci0tICAgIHJldCA9IGF2Y29kZWNfb3Bl bihsYXZjX2RlY19jb250ZXh0LCBsYXZjX2RlY19jb2RlYyk7Ci0rICAgIHJldCA9IGF2Y29kZWNf b3BlbjIobGF2Y19kZWNfY29udGV4dCwgbGF2Y19kZWNfY29kZWMsIE5VTEwpOwotICAgICBUQ19V TkxPQ0tfTElCQVZDT0RFQzsKLSAgICAgaWYgKHJldCA8IDApIHsKLSAgICAgICB0Y19sb2dfd2Fy bihNT0RfTkFNRSwgIkNvdWxkIG5vdCBpbml0aWFsaXplIHRoZSAnJXMnIGNvZGVjLiIsCi1AQCAt MzYwLDcgKzM2MCw3IEBACi0gICAgICAgICBmcmFtZV9zaXplID0geF9kaW0qeV9kaW0gKyAyKlVW X1BMQU5FX1NJWkUoSU1HX1lVVl9ERUZBVUxULHhfZGltLHlfZGltKTsKLSAKLSAJLy8gd2UgYWRh cHQgdGhlIGNvbG9yIHNwYWNlCi0tICAgICAgICBpZihjb2RlYy0+aWQgPT0gQ09ERUNfSURfTUpQ RUcpIHsKLSsgICAgICAgIGlmKGNvZGVjLT5pZCA9PSBBVl9DT0RFQ19JRF9NSlBFRykgewotIAkg IGVuYWJsZV9sZXZlbHNfZmlsdGVyKCk7Ci0gICAgICAgICB9Ci0gICAgICAgICBicmVhazsKLUBA IC00MzQsNyArNDM0LDcgQEAKLSAgICAgICB9Ci0gCi0gICAgICAgLy8gd2UgYWRhcHQgdGhlIGNv bG9yIHNwYWNlCi0tICAgICAgaWYoY29kZWMtPmlkID09IENPREVDX0lEX01KUEVHKSB7Ci0rICAg ICAgaWYoY29kZWMtPmlkID09IEFWX0NPREVDX0lEX01KUEVHKSB7Ci0gICAgICAgICBlbmFibGVf bGV2ZWxzX2ZpbHRlcigpOwotICAgICAgIH0KLSAKLUBAIC01MDQsMTMgKzUwNCwxMyBAQAotICAg ICAgIGludCBia2V5ID0gMDsKLSAKLSAgICAgICAvLyBjaGVjayBmb3Iga2V5ZnJhbWVzCi0tICAg ICAgaWYgKGNvZGVjLT5pZCA9PSBDT0RFQ19JRF9NU01QRUc0VjMpIHsKLSsgICAgICBpZiAoY29k ZWMtPmlkID09IEFWX0NPREVDX0lEX01TTVBFRzRWMykgewotIAlpZiAoZGl2eDNfaXNfa2V5KGJ1 ZmZlcikpIGJrZXkgPSAxOwotICAgICAgIH0KLS0gICAgICBlbHNlIGlmIChjb2RlYy0+aWQgPT0g Q09ERUNfSURfTVBFRzQpIHsKLSsgICAgICBlbHNlIGlmIChjb2RlYy0+aWQgPT0gQVZfQ09ERUNf SURfTVBFRzQpIHsKLSAJaWYgKG1wZWc0X2lzX2tleShidWZmZXIsIGJ5dGVzX3JlYWQpKSBia2V5 ID0gMTsKLSAgICAgICB9Ci0tICAgICAgZWxzZSBpZiAoY29kZWMtPmlkID09IENPREVDX0lEX01K UEVHKSB7Ci0rICAgICAgZWxzZSBpZiAoY29kZWMtPmlkID09IEFWX0NPREVDX0lEX01KUEVHKSB7 Ci0gCWJrZXkgPSAxOwotICAgICAgIH0KLSAKLUBAIC01ODAsOCArNTgwLDggQEAKLSAKLSAgICAg Ly8gQ29udmVydCBhdmNvZGVjIGltYWdlIHRvIG91ciBpbnRlcm5hbCBZVVYgb3IgUkdCIGZvcm1h dAotICAgICBzd2l0Y2ggKGxhdmNfZGVjX2NvbnRleHQtPnBpeF9mbXQpIHsKLS0gICAgICBjYXNl IFBJWF9GTVRfWVVWSjQyMFA6Ci0tICAgICAgY2FzZSBQSVhfRk1UX1lVVjQyMFA6Ci0rICAgICAg Y2FzZSBBVl9QSVhfRk1UX1lVVko0MjBQOgotKyAgICAgIGNhc2UgQVZfUElYX0ZNVF9ZVVY0MjBQ OgotICAgICAgICAgc3JjX2ZtdCA9IElNR19ZVVY0MjBQOwotICAgICAgICAgWVVWX0lOSVRfUExB TkVTKHNyY19wbGFuZXMsIGZyYW1lLCBzcmNfZm10LAotICAgICAgICAgICAgICAgICAgICAgICAg IGxhdmNfZGVjX2NvbnRleHQtPndpZHRoLCBsYXZjX2RlY19jb250ZXh0LT5oZWlnaHQpOwotQEAg LTYxMiw3ICs2MTIsNyBAQAotIAl9Ci0gICAgICAgICBicmVhazsKLSAKLS0gICAgICBjYXNlIFBJ WF9GTVRfWVVWNDExUDoKLSsgICAgICBjYXNlIEFWX1BJWF9GTVRfWVVWNDExUDoKLSAgICAgICAg IHNyY19mbXQgPSBJTUdfWVVWNDExUDsKLSAgICAgICAgIFlVVl9JTklUX1BMQU5FUyhzcmNfcGxh bmVzLCBmcmFtZSwgc3JjX2ZtdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICBsYXZjX2RlY19j b250ZXh0LT53aWR0aCwgbGF2Y19kZWNfY29udGV4dC0+aGVpZ2h0KTsKLUBAIC02NDAsOCArNjQw LDggQEAKLSAgICAgICAgIH0KLSAgICAgICAgIGJyZWFrOwotIAotLSAgICAgIGNhc2UgUElYX0ZN VF9ZVVZKNDIyUDoKLS0gICAgICBjYXNlIFBJWF9GTVRfWVVWNDIyUDoKLSsgICAgICBjYXNlIEFW X1BJWF9GTVRfWVVWSjQyMlA6Ci0rICAgICAgY2FzZSBBVl9QSVhfRk1UX1lVVjQyMlA6Ci0gICAg ICAgICBzcmNfZm10ID0gSU1HX1lVVjQyMlA7Ci0gICAgICAgICBZVVZfSU5JVF9QTEFORVMoc3Jj X3BsYW5lcywgZnJhbWUsIHNyY19mbXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgbGF2Y19k ZWNfY29udGV4dC0+d2lkdGgsIGxhdmNfZGVjX2NvbnRleHQtPmhlaWdodCk7Ci1AQCAtNjY5LDgg KzY2OSw4IEBACi0gICAgICAgICB9Ci0gCWJyZWFrOwotIAotLSAgICAgIGNhc2UgUElYX0ZNVF9Z VVZKNDQ0UDoKLS0gICAgICBjYXNlIFBJWF9GTVRfWVVWNDQ0UDoKLSsgICAgICBjYXNlIEFWX1BJ WF9GTVRfWVVWSjQ0NFA6Ci0rICAgICAgY2FzZSBBVl9QSVhfRk1UX1lVVjQ0NFA6Ci0gICAgICAg ICBzcmNfZm10ID0gSU1HX1lVVjQ0NFA7Ci0gICAgICAgICBZVVZfSU5JVF9QTEFORVMoc3JjX3Bs YW5lcywgZnJhbWUsIHNyY19mbXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgbGF2Y19kZWNf Y29udGV4dC0+d2lkdGgsIGxhdmNfZGVjX2NvbnRleHQtPmhlaWdodCk7Ci0tLS0gYS9pbXBvcnQv cHJvYmVfZmZtcGVnLmMJMjAxMS0xMS0xOSAxNzo1MDoyNy4wMDAwMDAwMDAgKzAxMDAKLSsrKyBi L2ltcG9ydC9wcm9iZV9mZm1wZWcuYwkyMDE2LTAyLTE1IDE2OjA4OjM3LjkxNzQ4ODE4NCArMDEw MAotQEAgLTk5LDggKzk5LDggQEAKLSAKLSAgICAgVENfSU5JVF9MSUJBVkNPREVDOwotIAotLSAg ICByZXQgPSBhdl9vcGVuX2lucHV0X2ZpbGUoJmxhdmZfZG14X2NvbnRleHQsIGlwaXBlLT5uYW1l LAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwgMCwgTlVMTCk7Ci0rICAgIHJl dCA9IGF2Zm9ybWF0X29wZW5faW5wdXQoJmxhdmZfZG14X2NvbnRleHQsIGlwaXBlLT5uYW1lLAot KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwgTlVMTCk7Ci0gICAgIGlmIChyZXQg IT0gMCkgewotICAgICAgICAgdGNfbG9nX2Vycm9yKF9fRklMRV9fLCAidW5hYmxlIHRvIG9wZW4g JyVzJyIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiAobGliYXZmb3JtYXQgZmFp bHVyZSkiLAotQEAgLTEwOSw3ICsxMDksNyBAQAotICAgICAgICAgcmV0dXJuOwotICAgICB9Ci0g Ci0tICAgIHJldCA9IGF2X2ZpbmRfc3RyZWFtX2luZm8obGF2Zl9kbXhfY29udGV4dCk7Ci0rICAg IHJldCA9IGF2Zm9ybWF0X2ZpbmRfc3RyZWFtX2luZm8obGF2Zl9kbXhfY29udGV4dCwgTlVMTCk7 Ci0gICAgIGlmIChyZXQgPCAwKSB7Ci0gICAgICAgICB0Y19sb2dfZXJyb3IoX19GSUxFX18sICJ1 bmFibGUgdG8gZmV0Y2ggaW5mb3JtYXRpb25zIGZyb20gJyVzJyIKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIiAobGliYXZmb3JtYXQgZmFpbHVyZSkiLAotQEAgLTEyMCw3ICsxMjAs MTEgQEAKLSAKLSAgICAgdHJhbnNsYXRlX2luZm8obGF2Zl9kbXhfY29udGV4dCwgaXBpcGUtPnBy b2JlX2luZm8pOwotIAotKyNpZiBMSUJBVkZPUk1BVF9WRVJTSU9OX0lOVCA+IEFWX1ZFUlNJT05f SU5UKDUzLDI1LDApCi0rICAgIGF2Zm9ybWF0X2Nsb3NlX2lucHV0KCZsYXZmX2RteF9jb250ZXh0 KTsKLSsjZWxzZQotICAgICBhdl9jbG9zZV9pbnB1dF9maWxlKGxhdmZfZG14X2NvbnRleHQpOwot KyNlbmRpZgotICAgICByZXR1cm47Ci0gfQotIAotLS0tIGEvbGlidGMvdGNhdmNvZGVjLmgJMjAx MS0xMS0xOSAxNzo1MDoyNy4wMDAwMDAwMDAgKzAxMDAKLSsrKyBiL2xpYnRjL3RjYXZjb2RlYy5o CTIwMTYtMDItMTUgMTY6MDg6MzcuOTE3NDg4MTg0ICswMTAwCi1AQCAtNTMsNyArNTMsNiBAQAot IAotICNkZWZpbmUgVENfSU5JVF9MSUJBVkNPREVDIGRvIHsgXAotICAgICBUQ19MT0NLX0xJQkFW Q09ERUM7IFwKLS0gICAgYXZjb2RlY19pbml0KCk7IFwKLSAgICAgYXZjb2RlY19yZWdpc3Rlcl9h bGwoKTsgXAotICAgICBUQ19VTkxPQ0tfTElCQVZDT0RFQzsgXAotIH0gd2hpbGUgKDApCmRpZmYg LS1naXQgYS9zcmNwa2dzL3RyYW5zY29kZS9wYXRjaGVzL3RyYW5zY29kZS1mZm1wZWc0LnBhdGNo IGIvc3JjcGtncy90cmFuc2NvZGUvcGF0Y2hlcy90cmFuc2NvZGUtZmZtcGVnNC5wYXRjaApkZWxl dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzI1OTEzYTIxMDA4Li4wMDAwMDAwMDAwMDAKLS0t IGEvc3JjcGtncy90cmFuc2NvZGUvcGF0Y2hlcy90cmFuc2NvZGUtZmZtcGVnNC5wYXRjaAorKysg L2Rldi9udWxsCkBAIC0xLDQ5NyArMCwwIEBACi1zb3VyY2U6IGh0dHBzOi8vZ2l0LmFyY2hsaW51 eC5vcmcvc3ZudG9naXQvY29tbXVuaXR5LmdpdC90cmVlL3RydW5rL3RyYW5zY29kZS1mZm1wZWc0 LnBhdGNoP2g9cGFja2FnZXMvdHJhbnNjb2RlCi0KLS0tLSBhL2VuY29kZS9lbmNvZGVfbGF2Yy5j Ci0rKysgYi9lbmNvZGUvZW5jb2RlX2xhdmMuYwotQEAgLTc3LDYgKzc3LDEzIEBAIHN0cnVjdCB0 Y2xhdmNjb25maWdkYXRhXyB7Ci0gICAgIGludCBsdW1hX2VsaW1fdGhyZXNob2xkOwotICAgICBp bnQgY2hyb21hX2VsaW1fdGhyZXNob2xkOwotICAgICBpbnQgcXVhbnRpemVyX25vaXNlX3NoYXBp bmc7Ci0rICAgIGludCBpbnRlcl9xdWFudF9iaWFzOwotKyAgICBpbnQgaW50cmFfcXVhbnRfYmlh czsKLSsgICAgaW50IHNjZW5lY2hhbmdlX2ZhY3RvcjsKLSsgICAgaW50IHJjX3N0cmF0ZWd5Owot KyAgICBmbG9hdCByY19pbml0aWFsX2NwbHg7Ci0rICAgIGZsb2F0IHJjX3FzcXVpc2g7Ci0rICAg IGZsb2F0IGJvcmRlcl9tYXNraW5nOwotIAotICAgICAvKiBzYW1lIGFzIGFib3ZlIGZvciBmbGFn cyAqLwotICAgICBzdHJ1Y3QgewotQEAgLTY4NCw3ICs2OTEsNyBAQCBzdGF0aWMgaW50IHRjX2xh dmNfaW5pdF9tdWx0aXBhc3MoVENMYXZjCi0gICAgIHN3aXRjaCAodm9iLT5kaXZ4bXVsdGlwYXNz KSB7Ci0gICAgICAgY2FzZSAxOgotICAgICAgICAgQ0FOX0RPX01VTFRJUEFTUyhtdWx0aXBhc3Nf ZmxhZyk7Ci0tICAgICAgICBwZC0+ZmZfdmNvbnRleHQuZmxhZ3MgfD0gQ09ERUNfRkxBR19QQVNT MTsKLSsgICAgICAgIHBkLT5mZl92Y29udGV4dC5mbGFncyB8PSBBVl9DT0RFQ19GTEFHX1BBU1Mx OwotICAgICAgICAgcGQtPnN0YXRzX2ZpbGUgPSBmb3Blbih2b2ItPmRpdnhsb2dmaWxlLCAidyIp OwotICAgICAgICAgaWYgKHBkLT5zdGF0c19maWxlID09IE5VTEwpIHsKLSAgICAgICAgICAgICB0 Y19sb2dfZXJyb3IoTU9EX05BTUUsICJjb3VsZCBub3QgY3JlYXRlIDJwYXNzIGxvZyBmaWxlIgot QEAgLTY5NCw3ICs3MDEsNyBAQCBzdGF0aWMgaW50IHRjX2xhdmNfaW5pdF9tdWx0aXBhc3MoVENM YXZjCi0gICAgICAgICBicmVhazsKLSAgICAgICBjYXNlIDI6Ci0gICAgICAgICBDQU5fRE9fTVVM VElQQVNTKG11bHRpcGFzc19mbGFnKTsKLS0gICAgICAgIHBkLT5mZl92Y29udGV4dC5mbGFncyB8 PSBDT0RFQ19GTEFHX1BBU1MyOwotKyAgICAgICAgcGQtPmZmX3Zjb250ZXh0LmZsYWdzIHw9IEFW X0NPREVDX0ZMQUdfUEFTUzI7Ci0gICAgICAgICBwZC0+c3RhdHNfZmlsZSA9IGZvcGVuKHZvYi0+ ZGl2eGxvZ2ZpbGUsICJyIik7Ci0gICAgICAgICBpZiAocGQtPnN0YXRzX2ZpbGUgPT0gTlVMTCl7 Ci0gICAgICAgICAgICAgdGNfbG9nX2Vycm9yKE1PRF9OQU1FLCAiY291bGQgbm90IG9wZW4gMnBh c3MgbG9nIGZpbGUgXCIlc1wiIgotQEAgLTcyMyw3ICs3MzAsNyBAQCBzdGF0aWMgaW50IHRjX2xh dmNfaW5pdF9tdWx0aXBhc3MoVENMYXZjCi0gICAgICAgICBicmVhazsKLSAgICAgICBjYXNlIDM6 Ci0gICAgICAgICAvKiBmaXhlZCBxc2NhbGUgOnAgKi8KLS0gICAgICAgIHBkLT5mZl92Y29udGV4 dC5mbGFncyB8PSBDT0RFQ19GTEFHX1FTQ0FMRTsKLSsgICAgICAgIHBkLT5mZl92Y29udGV4dC5m bGFncyB8PSBBVl9DT0RFQ19GTEFHX1FTQ0FMRTsKLSAgICAgICAgIHBkLT5mZl92ZW5jX2ZyYW1l LnF1YWxpdHkgPSB2b2ItPmRpdnhiaXRyYXRlOwotICAgICAgICAgYnJlYWs7Ci0gICAgIH0KLUBA IC05NzAsNyArOTc3LDcgQEAgc3RhdGljIHZvaWQgdGNfbGF2Y19jb25maWdfZGVmYXVsdHMoVENM YQotICAgICBwZC0+Y29uZmRhdGEucmNfYnVmZmVyX3NpemUgID0gMDsKLSAgICAgcGQtPmNvbmZk YXRhLmxtaW4gICAgICAgICAgICA9IDI7Ci0gICAgIHBkLT5jb25mZGF0YS5sbWF4ICAgICAgICAg ICAgPSAzMTsKLS0gICAgcGQtPmNvbmZkYXRhLm1lX21ldGhvZCAgICAgICA9IE1FX0VQWlM7Ci0r ICAgIHBkLT5jb25mZGF0YS5tZV9tZXRob2QgICAgICAgPSAwOwotIAotICAgICBtZW1zZXQoJnBk LT5jb25mZGF0YS5mbGFncywgMCwgc2l6ZW9mKHBkLT5jb25mZGF0YS5mbGFncykpOwotICAgICBw ZC0+Y29uZmRhdGEudHVyYm9fc2V0dXAgPSAwOwotQEAgLTk4MywxMiArOTkwLDEyIEBAIHN0YXRp YyB2b2lkIHRjX2xhdmNfY29uZmlnX2RlZmF1bHRzKFRDTGEKLSAgICAgcGQtPmZmX3Zjb250ZXh0 Lm1lX3JhbmdlICAgICAgICAgICAgICAgID0gMDsKLSAgICAgcGQtPmZmX3Zjb250ZXh0Lm1iX2Rl Y2lzaW9uICAgICAgICAgICAgID0gMDsKLSAgICAgcGQtPmZmX3Zjb250ZXh0LnNjZW5lY2hhbmdl X3RocmVzaG9sZCAgID0gMDsKLS0gICAgcGQtPmZmX3Zjb250ZXh0LnNjZW5lY2hhbmdlX2ZhY3Rv ciAgICAgID0gMTsKLSsgICAgcGQtPmNvbmZkYXRhLnNjZW5lY2hhbmdlX2ZhY3RvciAgICAgICAg ID0gMTsKLSAgICAgcGQtPmZmX3Zjb250ZXh0LmJfZnJhbWVfc3RyYXRlZ3kgICAgICAgID0gMDsK LSAgICAgcGQtPmZmX3Zjb250ZXh0LmJfc2Vuc2l0aXZpdHkgICAgICAgICAgID0gNDA7Ci0gICAg IHBkLT5mZl92Y29udGV4dC5icmRfc2NhbGUgICAgICAgICAgICAgICA9IDA7Ci0gICAgIHBkLT5m Zl92Y29udGV4dC5iaWRpcl9yZWZpbmUgICAgICAgICAgICA9IDA7Ci0tICAgIHBkLT5mZl92Y29u dGV4dC5yY19zdHJhdGVneSAgICAgICAgICAgICA9IDI7Ci0rICAgIHBkLT5jb25mZGF0YS5yY19z dHJhdGVneSAgICAgICAgICAgICAgICA9IDI7Ci0gICAgIHBkLT5mZl92Y29udGV4dC5iX3F1YW50 X2ZhY3RvciAgICAgICAgICA9IDEuMjU7Ci0gICAgIHBkLT5mZl92Y29udGV4dC5pX3F1YW50X2Zh Y3RvciAgICAgICAgICA9IDAuODsKLSAgICAgcGQtPmZmX3Zjb250ZXh0LmJfcXVhbnRfb2Zmc2V0 ICAgICAgICAgID0gMS4yNTsKLUBAIC05OTYsOCArMTAwMyw4IEBAIHN0YXRpYyB2b2lkIHRjX2xh dmNfY29uZmlnX2RlZmF1bHRzKFRDTGEKLSAgICAgcGQtPmZmX3Zjb250ZXh0LnFibHVyICAgICAg ICAgICAgICAgICAgID0gMC41OwotICAgICBwZC0+ZmZfdmNvbnRleHQucWNvbXByZXNzICAgICAg ICAgICAgICAgPSAwLjU7Ci0gICAgIHBkLT5mZl92Y29udGV4dC5tcGVnX3F1YW50ICAgICAgICAg ICAgICA9IDA7Ci0tICAgIHBkLT5mZl92Y29udGV4dC5yY19pbml0aWFsX2NwbHggICAgICAgICA9 IDAuMDsKLS0gICAgcGQtPmZmX3Zjb250ZXh0LnJjX3FzcXVpc2ggICAgICAgICAgICAgID0gMS4w OwotKyAgICBwZC0+Y29uZmRhdGEucmNfaW5pdGlhbF9jcGx4ICAgICAgICAgICAgPSAwLjA7Ci0r ICAgIHBkLT5jb25mZGF0YS5yY19xc3F1aXNoICAgICAgICAgICAgICA9IDEuMDsKLSAgICAgcGQt PmNvbmZkYXRhLmx1bWFfZWxpbV90aHJlc2hvbGQgICAgID0gMDsKLSAgICAgcGQtPmNvbmZkYXRh LmNocm9tYV9lbGltX3RocmVzaG9sZCAgID0gMDsKLSAgICAgcGQtPmZmX3Zjb250ZXh0LnN0cmlj dF9zdGRfY29tcGxpYW5jZSAgID0gMDsKLUBAIC0xMDA4LDcgKzEwMTUsNyBAQCBzdGF0aWMgdm9p ZCB0Y19sYXZjX2NvbmZpZ19kZWZhdWx0cyhUQ0xhCi0gICAgIHBkLT5mZl92Y29udGV4dC50ZW1w b3JhbF9jcGx4X21hc2tpbmcgICA9IDAuMDsKLSAgICAgcGQtPmZmX3Zjb250ZXh0LnNwYXRpYWxf Y3BseF9tYXNraW5nICAgID0gMC4wOwotICAgICBwZC0+ZmZfdmNvbnRleHQucF9tYXNraW5nICAg ICAgICAgICAgICAgPSAwLjA7Ci0tICAgIHBkLT5mZl92Y29udGV4dC5ib3JkZXJfbWFza2luZyAg ICAgICAgICA9IDAuMDsKLSsgICAgcGQtPmNvbmZkYXRhLmJvcmRlcl9tYXNraW5nICAgICAgICAg ID0gMC4wOwotICAgICBwZC0+ZmZfdmNvbnRleHQubWVfcHJlX2NtcCAgICAgICAgICAgICAgPSAw OwotICAgICBwZC0+ZmZfdmNvbnRleHQubWVfY21wICAgICAgICAgICAgICAgICAgPSAwOwotICAg ICBwZC0+ZmZfdmNvbnRleHQubWVfc3ViX2NtcCAgICAgICAgICAgICAgPSAwOwotQEAgLTEwMjAs OCArMTAyNyw2IEBAIHN0YXRpYyB2b2lkIHRjX2xhdmNfY29uZmlnX2RlZmF1bHRzKFRDTGEKLSAg ICAgcGQtPmZmX3Zjb250ZXh0LnByZV9tZSAgICAgICAgICAgICAgICAgID0gMTsKLSAgICAgcGQt PmZmX3Zjb250ZXh0Lm1lX3N1YnBlbF9xdWFsaXR5ICAgICAgID0gODsKLSAgICAgcGQtPmZmX3Zj b250ZXh0LnJlZnMgICAgICAgICAgICAgICAgICAgID0gMTsKLS0gICAgcGQtPmZmX3Zjb250ZXh0 LmludHJhX3F1YW50X2JpYXMgICAgICAgID0gRkZfREVGQVVMVF9RVUFOVF9CSUFTOwotLSAgICBw ZC0+ZmZfdmNvbnRleHQuaW50ZXJfcXVhbnRfYmlhcyAgICAgICAgPSBGRl9ERUZBVUxUX1FVQU5U X0JJQVM7Ci0gICAgIHBkLT5mZl92Y29udGV4dC5ub2lzZV9yZWR1Y3Rpb24gICAgICAgICA9IDA7 Ci0gICAgIHBkLT5jb25mZGF0YS5xdWFudGl6ZXJfbm9pc2Vfc2hhcGluZyA9IDA7Ci0gICAgIHBk LT5mZl92Y29udGV4dC5mbGFncyAgICAgICAgICAgICAgICAgICA9IDA7Ci1AQCAtMTA0NCwxNCAr MTA0OSwxNiBAQCBzdGF0aWMgdm9pZCB0Y19sYXZjX2NvbmZpZ19kZWZhdWx0cyhUQ0xhCi0gICov Ci0gc3RhdGljIHZvaWQgdGNfbGF2Y19kaXNwYXRjaF9zZXR0aW5ncyhUQ0xhdmNQcml2YXRlRGF0 YSAqcGQpCi0gewotKyAgICBjaGFyIGJ1ZlsxMDI0XTsKLSAgICAgLyogc29tZSB0cmFuc2xhdGlv bi4uLiAqLwotICAgICBwZC0+ZmZfdmNvbnRleHQuYml0X3JhdGVfdG9sZXJhbmNlID0gcGQtPmNv bmZkYXRhLnZyYXRlX3RvbGVyYW5jZSAqIDEwMDA7Ci0gICAgIHBkLT5mZl92Y29udGV4dC5yY19t aW5fcmF0ZSA9IHBkLT5jb25mZGF0YS5yY19taW5fcmF0ZSAqIDEwMDA7Ci0gICAgIHBkLT5mZl92 Y29udGV4dC5yY19tYXhfcmF0ZSA9IHBkLT5jb25mZGF0YS5yY19tYXhfcmF0ZSAqIDEwMDA7Ci0g ICAgIHBkLT5mZl92Y29udGV4dC5yY19idWZmZXJfc2l6ZSA9IHBkLT5jb25mZGF0YS5yY19idWZm ZXJfc2l6ZSAqIDEwMjQ7Ci0tICAgIHBkLT5mZl92Y29udGV4dC5sbWluID0gKGludCkoRkZfUVAy TEFNQkRBICogcGQtPmNvbmZkYXRhLmxtaW4gKyAwLjUpOwotLSAgICBwZC0+ZmZfdmNvbnRleHQu bG1heCA9IChpbnQpKEZGX1FQMkxBTUJEQSAqIHBkLT5jb25mZGF0YS5sbWF4ICsgMC41KTsKLS0g ICAgcGQtPmZmX3Zjb250ZXh0Lm1lX21ldGhvZCA9IE1FX1pFUk8gKyBwZC0+Y29uZmRhdGEubWVf bWV0aG9kOwotKyAgICBzbnByaW50ZihidWYsIHNpemVvZihidWYpLCAiJWkiLCAoaW50KShGRl9R UDJMQU1CREEgKiBwZC0+Y29uZmRhdGEubG1pbiArIDAuNSkpOwotKyAgICBhdl9kaWN0X3NldCgm KHBkLT5mZl9vcHRzKSwgImxtaW4iLCBidWYsIDApOwotKyAgICBzbnByaW50ZihidWYsIHNpemVv ZihidWYpLCAiJWkiLCAoaW50KShGRl9RUDJMQU1CREEgKiBwZC0+Y29uZmRhdGEubG1heCArIDAu NSkpOwotKyAgICBhdl9kaWN0X3NldCgmKHBkLT5mZl9vcHRzKSwgImxtYXgiLCBidWYsIDApOwot IAotICAgICBwZC0+ZmZfdmNvbnRleHQuZmxhZ3MgPSAwOwotICAgICBTRVRfRkxBRyhwZCwgcXBl bCk7Ci1AQCAtMTA3NSw4ICsxMDgwLDggQEAgc3RhdGljIHZvaWQgdGNfbGF2Y19kaXNwYXRjaF9z ZXR0aW5ncyhUQwotICAgICB9Ci0gICAgIGlmIChwZC0+aW50ZXJsYWNpbmcuYWN0aXZlKSB7Ci0g ICAgICAgICAvKiBlbmZvcmNlIGludGVybGFjaW5nICovCi0tICAgICAgICBwZC0+ZmZfdmNvbnRl eHQuZmxhZ3MgfD0gQ09ERUNfRkxBR19JTlRFUkxBQ0VEX0RDVDsKLS0gICAgICAgIHBkLT5mZl92 Y29udGV4dC5mbGFncyB8PSBDT0RFQ19GTEFHX0lOVEVSTEFDRURfTUU7Ci0rICAgICAgICBwZC0+ ZmZfdmNvbnRleHQuZmxhZ3MgfD0gQVZfQ09ERUNfRkxBR19JTlRFUkxBQ0VEX0RDVDsKLSsgICAg ICAgIHBkLT5mZl92Y29udGV4dC5mbGFncyB8PSBBVl9DT0RFQ19GTEFHX0lOVEVSTEFDRURfTUU7 Ci0gICAgIH0KLSAgICAgaWYgKHBkLT5jb25mZGF0YS5mbGFncy5hbHQpIHsKLSAgICAgICAgIGF2 X2RpY3Rfc2V0KCYocGQtPmZmX29wdHMpLCAiYWx0ZXJuYXRlX3NjYW4iLCAiMSIsIDApOwotQEAg LTExMDAsMTQgKzExMDUsMjQgQEAgc3RhdGljIHZvaWQgdGNfbGF2Y19kaXNwYXRjaF9zZXR0aW5n cyhUQwotICAgICAgICAgYXZfZGljdF9zZXQoJihwZC0+ZmZfb3B0cyksICJtcHZfZmxhZ3MiLCAi K25hcSIsIDApOwotICAgICB9Ci0gCi0tICAgIGNoYXIgYnVmWzEwMjRdOwotICNkZWZpbmUgc2V0 X2RpY3Rfb3B0KHZhbCwgb3B0KSBcCi0gICAgIHNucHJpbnRmKGJ1Ziwgc2l6ZW9mKGJ1ZiksICIl aSIsIHBkLT5jb25mZGF0YS52YWwpO1wKLSAgICAgYXZfZGljdF9zZXQoJihwZC0+ZmZfb3B0cyks IG9wdCwgYnVmLCAwKQotKyNkZWZpbmUgc2V0X2RpY3RfZmxvYXRfb3B0KHZhbCwgb3B0KSBcCi0r ICAgIHNucHJpbnRmKGJ1Ziwgc2l6ZW9mKGJ1ZiksICIlZiIsIHBkLT5jb25mZGF0YS52YWwpO1wK LSsgICAgYXZfZGljdF9zZXQoJihwZC0+ZmZfb3B0cyksIG9wdCwgYnVmLCAwKQotIAotICAgICBz ZXRfZGljdF9vcHQobHVtYV9lbGltX3RocmVzaG9sZCwgImx1bWFfZWxpbV90aHJlc2hvbGQiKTsK LSAgICAgc2V0X2RpY3Rfb3B0KGNocm9tYV9lbGltX3RocmVzaG9sZCwgImNocm9tYV9lbGltX3Ro cmVzaG9sZCIpOwotICAgICBzZXRfZGljdF9vcHQocXVhbnRpemVyX25vaXNlX3NoYXBpbmcsICJx dWFudGl6ZXJfbm9pc2Vfc2hhcGluZyIpOwotKyAgICBzZXRfZGljdF9vcHQoaW50ZXJfcXVhbnRf YmlhcywgInBiaWFzIik7Ci0rICAgIHNldF9kaWN0X29wdChpbnRyYV9xdWFudF9iaWFzLCAiaWJp YXMiKTsKLSsgICAgc2V0X2RpY3Rfb3B0KG1lX21ldGhvZCwgIm1lX21ldGhvZCIpOwotKyAgICBz ZXRfZGljdF9vcHQoc2NlbmVjaGFuZ2VfZmFjdG9yLCAic2NfZmFjdG9yIik7Ci0rICAgIHNldF9k aWN0X29wdChyY19zdHJhdGVneSwgInJjX3N0cmF0ZWd5Iik7Ci0rICAgIHNldF9kaWN0X2Zsb2F0 X29wdChyY19pbml0aWFsX2NwbHgsICJyY19pbml0X2NwbHgiKTsKLSsgICAgc2V0X2RpY3RfZmxv YXRfb3B0KHJjX3FzcXVpc2gsICJxc3F1aXNoIik7Ci0rICAgIHNldF9kaWN0X2Zsb2F0X29wdChi b3JkZXJfbWFza2luZywgImJvcmRlcl9tYXNrIik7Ci0gfQotIAotICN1bmRlZiBTRVRfRkxBRwot QEAgLTExNjgsNyArMTE4OSw3IEBAIHN0YXRpYyBpbnQgdGNfbGF2Y19yZWFkX2NvbmZpZyhUQ0xh dmNQcmkKLSAgICAgICAgIHsgIm1lX3JhbmdlIiwgUENUWChtZV9yYW5nZSksIFRDQ09ORl9UWVBF X0lOVCwgVENDT05GX0ZMQUdfUkFOR0UsIDAsIDE2MDAwIH0sCi0gICAgICAgICB7ICJtYmQiLCBQ Q1RYKG1iX2RlY2lzaW9uKSwgVENDT05GX1RZUEVfSU5ULCBUQ0NPTkZfRkxBR19SQU5HRSwgMCwg MyB9LAotICAgICAgICAgeyAic2NfdGhyZXNob2xkIiwgUENUWChzY2VuZWNoYW5nZV90aHJlc2hv bGQpLCBUQ0NPTkZfVFlQRV9JTlQsIFRDQ09ORl9GTEFHX1JBTkdFLCAtMTAwMDAwMCwgMTAwMDAw MCB9LAotLSAgICAgICAgeyAic2NfZmFjdG9yIiwgUENUWChzY2VuZWNoYW5nZV9mYWN0b3IpLCBU Q0NPTkZfVFlQRV9JTlQsIFRDQ09ORl9GTEFHX1JBTkdFLCAxLCAxNiB9LAotKyAgICAgICAgeyAi c2NfZmFjdG9yIiwgUEFVWChzY2VuZWNoYW5nZV9mYWN0b3IpLCBUQ0NPTkZfVFlQRV9JTlQsIFRD Q09ORl9GTEFHX1JBTkdFLCAxLCAxNiB9LAotICAgICAgICAgeyAidmJfc3RyYXRlZ3kiLCBQQ1RY KGJfZnJhbWVfc3RyYXRlZ3kpLCBUQ0NPTkZfVFlQRV9JTlQsIFRDQ09ORl9GTEFHX1JBTkdFLCAw LCAxMCB9LAotICAgICAgICAgeyAiYl9zZW5zaXRpdml0eSIsIFBDVFgoYl9zZW5zaXRpdml0eSks IFRDQ09ORl9UWVBFX0lOVCwgVENDT05GX0ZMQUdfUkFOR0UsIDEsIDEwMCB9LAotICAgICAgICAg eyAiYnJkX3NjYWxlIiwgUENUWChicmRfc2NhbGUpLCBUQ0NPTkZfVFlQRV9JTlQsIFRDQ09ORl9G TEFHX1JBTkdFLCAwLCAxMCB9LAotQEAgLTExNzksNyArMTIwMCw3IEBAIHN0YXRpYyBpbnQgdGNf bGF2Y19yZWFkX2NvbmZpZyhUQ0xhdmNQcmkKLSAgICAgICAgIHsgInZyY19tYXhyYXRlIiwgUEFV WChyY19tYXhfcmF0ZSksIFRDQ09ORl9UWVBFX0lOVCwgVENDT05GX0ZMQUdfUkFOR0UsIDAsIDI0 MDAwMDAwIH0sCi0gICAgICAgICB7ICJ2cmNfbWlucmF0ZSIsIFBBVVgocmNfbWluX3JhdGUpLCBU Q0NPTkZfVFlQRV9JTlQsIFRDQ09ORl9GTEFHX1JBTkdFLCAwLCAyNDAwMDAwMCB9LAotICAgICAg ICAgeyAidnJjX2J1Zl9zaXplIiwgUEFVWChyY19idWZmZXJfc2l6ZSksIFRDQ09ORl9UWVBFX0lO VCwgVENDT05GX0ZMQUdfUkFOR0UsIDQsIDI0MDAwMDAwIH0sCi0tICAgICAgICB7ICJ2cmNfc3Ry YXRlZ3kiLCBQQ1RYKHJjX3N0cmF0ZWd5KSwgVENDT05GX1RZUEVfSU5ULCBUQ0NPTkZfRkxBR19S QU5HRSwgMCwgMiB9LAotKyAgICAgICAgeyAidnJjX3N0cmF0ZWd5IiwgUEFVWChyY19zdHJhdGVn eSksIFRDQ09ORl9UWVBFX0lOVCwgVENDT05GX0ZMQUdfUkFOR0UsIDAsIDIgfSwKLSAgICAgICAg IHsgInZiX3FmYWN0b3IiLCBQQ1RYKGJfcXVhbnRfZmFjdG9yKSwgVENDT05GX1RZUEVfRkxPQVQs IFRDQ09ORl9GTEFHX1JBTkdFLCAtMzEuMCwgMzEuMCB9LAotICAgICAgICAgeyAidmlfcWZhY3Rv ciIsIFBDVFgoaV9xdWFudF9mYWN0b3IpLCBUQ0NPTkZfVFlQRV9GTE9BVCwgVENDT05GX0ZMQUdf UkFOR0UsIC0zMS4wLCAzMS4wIH0sCi0gICAgICAgICB7ICJ2Yl9xb2Zmc2V0IiwgUENUWChiX3F1 YW50X29mZnNldCksIFRDQ09ORl9UWVBFX0ZMT0FULCBUQ0NPTkZfRkxBR19SQU5HRSwgMC4wLCAz MS4wIH0sCi1AQCAtMTE4OSw5ICsxMjEwLDkgQEAgc3RhdGljIGludCB0Y19sYXZjX3JlYWRfY29u ZmlnKFRDTGF2Y1ByaQotICAgICAgICAgeyAibXBlZ19xdWFudCIsIFBDVFgobXBlZ19xdWFudCks IFRDQ09ORl9UWVBFX0ZMQUcsIDAsIDAsIDEgfSwKLSAgICAgICAgIC8vICB7ICJ2cmNfZXEiLCAg ICAgfSwgLy8gbm90IHlldCBzdXBwb3J0ZWQKLSAgICAgICAgIHsgInZyY19vdmVycmlkZSIsIHJj X292ZXJyaWRlX2J1ZiwgVENDT05GX1RZUEVfU1RSSU5HLCAwLCAwLCAwIH0sCi0tICAgICAgICB7 ICJ2cmNfaW5pdF9jcGx4IiwgUENUWChyY19pbml0aWFsX2NwbHgpLCBUQ0NPTkZfVFlQRV9GTE9B VCwgVENDT05GX0ZMQUdfUkFOR0UsIDAuMCwgOTk5OTk5OS4wIH0sCi0rICAgICAgICB7ICJ2cmNf aW5pdF9jcGx4IiwgUEFVWChyY19pbml0aWFsX2NwbHgpLCBUQ0NPTkZfVFlQRV9GTE9BVCwgVEND T05GX0ZMQUdfUkFOR0UsIDAuMCwgOTk5OTk5OS4wIH0sCi0gICAgICAgICAvLyAgeyAidnJjX2lu aXRfb2NjdXBhbmN5IiwgICB9LCAvLyBub3QgeWV0IHN1cHBvcnRlZAotLSAgICAgICAgeyAidnFz cXVpc2giLCBQQ1RYKHJjX3FzcXVpc2gpLCBUQ0NPTkZfVFlQRV9GTE9BVCwgVENDT05GX0ZMQUdf UkFOR0UsIDAuMCwgOTkuMCB9LAotKyAgICAgICAgeyAidnFzcXVpc2giLCBQQVVYKHJjX3FzcXVp c2gpLCBUQ0NPTkZfVFlQRV9GTE9BVCwgVENDT05GX0ZMQUdfUkFOR0UsIDAuMCwgOTkuMCB9LAot ICAgICAgICAgeyAidmxlbGltIiwgUEFVWChsdW1hX2VsaW1fdGhyZXNob2xkKSwgVENDT05GX1RZ UEVfSU5ULCBUQ0NPTkZfRkxBR19SQU5HRSwgLTk5LCA5OSB9LAotICAgICAgICAgeyAidmNlbGlt IiwgUEFVWChjaHJvbWFfZWxpbV90aHJlc2hvbGQpLCBUQ0NPTkZfVFlQRV9JTlQsIFRDQ09ORl9G TEFHX1JBTkdFLCAtOTksIDk5IH0sCi0gICAgICAgICB7ICJ2c3RyaWN0IiwgUENUWChzdHJpY3Rf c3RkX2NvbXBsaWFuY2UpLCBUQ0NPTkZfVFlQRV9JTlQsIFRDQ09ORl9GTEFHX1JBTkdFLCAtOTks IDk5IH0sCi1AQCAtMTIwMyw3ICsxMjI0LDcgQEAgc3RhdGljIGludCB0Y19sYXZjX3JlYWRfY29u ZmlnKFRDTGF2Y1ByaQotICAgICAgICAgeyAidGNwbHhfbWFzayIsIFBDVFgodGVtcG9yYWxfY3Bs eF9tYXNraW5nKSwgVENDT05GX1RZUEVfRkxPQVQsIFRDQ09ORl9GTEFHX1JBTkdFLCAwLjAsIDEu MCB9LAotICAgICAgICAgeyAic2NwbHhfbWFzayIsIFBDVFgoc3BhdGlhbF9jcGx4X21hc2tpbmcp LCBUQ0NPTkZfVFlQRV9GTE9BVCwgVENDT05GX0ZMQUdfUkFOR0UsIDAuMCwgMS4wIH0sCi0gICAg ICAgICB7ICJwX21hc2siLCBQQ1RYKHBfbWFza2luZyksIFRDQ09ORl9UWVBFX0ZMT0FULCBUQ0NP TkZfRkxBR19SQU5HRSwgMC4wLCAxLjAgfSwKLS0gICAgICAgIHsgImJvcmRlcl9tYXNrIiwgUENU WChib3JkZXJfbWFza2luZyksIFRDQ09ORl9UWVBFX0ZMT0FULCBUQ0NPTkZfRkxBR19SQU5HRSwg MC4wLCAxLjAgfSwKLSsgICAgICAgIHsgImJvcmRlcl9tYXNrIiwgUEFVWChib3JkZXJfbWFza2lu ZyksIFRDQ09ORl9UWVBFX0ZMT0FULCBUQ0NPTkZfRkxBR19SQU5HRSwgMC4wLCAxLjAgfSwKLSAg ICAgICAgIHsgInByZWQiLCBQQ1RYKHByZWRpY3Rpb25fbWV0aG9kKSwgVENDT05GX1RZUEVfSU5U LCBUQ0NPTkZfRkxBR19SQU5HRSwgMCwgNCB9LAotICAgICAgICAgeyAicHJlY21wIiwgUENUWCht ZV9wcmVfY21wKSwgVENDT05GX1RZUEVfSU5ULCBUQ0NPTkZfRkxBR19SQU5HRSwgMCwgMjAwMCB9 LAotICAgICAgICAgeyAiY21wIiwgUENUWChtZV9jbXApLCBUQ0NPTkZfVFlQRV9JTlQsIFRDQ09O Rl9GTEFHX1JBTkdFLCAwLCAyMDAwIH0sCi1AQCAtMTIxNiwzNyArMTIzNywzNyBAQCBzdGF0aWMg aW50IHRjX2xhdmNfcmVhZF9jb25maWcoVENMYXZjUHJpCi0gICAgICAgICB7ICJwcmVfbWUiLCBQ Q1RYKHByZV9tZSksIFRDQ09ORl9UWVBFX0lOVCwgVENDT05GX0ZMQUdfUkFOR0UsIDAsIDIwMDB9 LAotICAgICAgICAgeyAic3VicSIsIFBDVFgobWVfc3VicGVsX3F1YWxpdHkpLCBUQ0NPTkZfVFlQ RV9JTlQsIFRDQ09ORl9GTEFHX1JBTkdFLCAwLCA4IH0sCi0gICAgICAgICB7ICJyZWZzIiwgUENU WChyZWZzKSwgVENDT05GX1RZUEVfSU5ULCBUQ0NPTkZfRkxBR19SQU5HRSwgMSwgOCB9LAotLSAg ICAgICAgeyAiaWJpYXMiLCBQQ1RYKGludHJhX3F1YW50X2JpYXMpLCBUQ0NPTkZfVFlQRV9JTlQs IFRDQ09ORl9GTEFHX1JBTkdFLCAtNTEyLCA1MTIgfSwKLS0gICAgICAgIHsgInBiaWFzIiwgUENU WChpbnRlcl9xdWFudF9iaWFzKSwgVENDT05GX1RZUEVfSU5ULCBUQ0NPTkZfRkxBR19SQU5HRSwg LTUxMiwgNTEyIH0sCi0rICAgICAgICB7ICJpYmlhcyIsIFBBVVgoaW50cmFfcXVhbnRfYmlhcyks IFRDQ09ORl9UWVBFX0lOVCwgVENDT05GX0ZMQUdfUkFOR0UsIC01MTIsIDUxMiB9LAotKyAgICAg ICAgeyAicGJpYXMiLCBQQVVYKGludGVyX3F1YW50X2JpYXMpLCBUQ0NPTkZfVFlQRV9JTlQsIFRD Q09ORl9GTEFHX1JBTkdFLCAtNTEyLCA1MTIgfSwKLSAgICAgICAgIHsgIm5yIiwgUENUWChub2lz ZV9yZWR1Y3Rpb24pLCBUQ0NPTkZfVFlQRV9JTlQsIFRDQ09ORl9GTEFHX1JBTkdFLCAwLCAxMDAw MDAwfSwKLSAgICAgICAgIHsgInFucyIsIFBBVVgocXVhbnRpemVyX25vaXNlX3NoYXBpbmcpLCBU Q0NPTkZfVFlQRV9JTlQsIFRDQ09ORl9GTEFHX1JBTkdFLCAwLCAzIH0sCi0gICAgICAgICB7ICJp bnRlcl9tYXRyaXhfZmlsZSIsIGludGVyX21hdHJpeF9maWxlLCBUQ0NPTkZfVFlQRV9TVFJJTkcs IDAsIDAsIDAgfSwKLSAgICAgICAgIHsgImludHJhX21hdHJpeF9maWxlIiwgaW50cmFfbWF0cml4 X2ZpbGUsIFRDQ09ORl9UWVBFX1NUUklORywgMCwgMCwgMCB9LAotICAgICAKLSAgICAgICAgIHsg Im12MCIsIFBBVVgoZmxhZ3MubXYwKSwgVENDT05GX1RZUEVfRkxBRywgMCwgMCwgMSB9LAotICAg ICAgICAgeyAiY2JwIiwgUEFVWChmbGFncy5jYnApLCBUQ0NPTkZfVFlQRV9GTEFHLCAwLCAwLCAx IH0sCi0tICAgICAgICB7ICJxcGVsIiwgUEFVWChmbGFncy5xcGVsKSwgVENDT05GX1RZUEVfRkxB RywgMCwgMCwgQ09ERUNfRkxBR19RUEVMIH0sCi0rICAgICAgICB7ICJxcGVsIiwgUEFVWChmbGFn cy5xcGVsKSwgVENDT05GX1RZUEVfRkxBRywgMCwgMCwgQVZfQ09ERUNfRkxBR19RUEVMIH0sCi0g ICAgICAgICB7ICJhbHQiLCBQQVVYKGZsYWdzLmFsdCksIFRDQ09ORl9UWVBFX0ZMQUcsIDAsIDAs IDEgfSwKLS0gICAgICAgIHsgImlsbWUiLCBQQVVYKGZsYWdzLmlsbWUpLCBUQ0NPTkZfVFlQRV9G TEFHLCAwLCAwLCBDT0RFQ19GTEFHX0lOVEVSTEFDRURfTUUgfSwKLS0gICAgICAgIHsgImlsZGN0 IiwgUEFVWChmbGFncy5pbGRjdCksIFRDQ09ORl9UWVBFX0ZMQUcsIDAsIDAsIENPREVDX0ZMQUdf SU5URVJMQUNFRF9EQ1QgfSwKLSsgICAgICAgIHsgImlsbWUiLCBQQVVYKGZsYWdzLmlsbWUpLCBU Q0NPTkZfVFlQRV9GTEFHLCAwLCAwLCBBVl9DT0RFQ19GTEFHX0lOVEVSTEFDRURfTUUgfSwKLSsg ICAgICAgIHsgImlsZGN0IiwgUEFVWChmbGFncy5pbGRjdCksIFRDQ09ORl9UWVBFX0ZMQUcsIDAs IDAsIEFWX0NPREVDX0ZMQUdfSU5URVJMQUNFRF9EQ1QgfSwKLSAgICAgICAgIHsgIm5hcSIsIFBB VVgoZmxhZ3MubmFxKSwgVENDT05GX1RZUEVfRkxBRywgMCwgMCwgMSB9LAotICAgICAgICAgeyAi dmRwYXJ0IiwgUEFVWChmbGFncy52ZHBhcnQpLCBUQ0NPTkZfVFlQRV9GTEFHLCAwLCAwLCAxIH0s Ci0gI2lmIExJQkFWQ09ERUNfVkVSU0lPTl9JTlQgPCAoKDUyPDwxNikrKDA8PDgpKzApCi0gICAg ICAgICB7ICJhaWMiLCBQQVVYKGZsYWdzLmFpYyksIFRDQ09ORl9UWVBFX0ZMQUcsIDAsIDAsIENP REVDX0ZMQUdfSDI2M1BfQUlDIH0sCi0gI2Vsc2UgICAgICAgIAotLSAgICAgICAgeyAiYWljIiwg UEFVWChmbGFncy5haWMpLCBUQ0NPTkZfVFlQRV9GTEFHLCAwLCAwLCBDT0RFQ19GTEFHX0FDX1BS RUQgfSwKLSsgICAgICAgIHsgImFpYyIsIFBBVVgoZmxhZ3MuYWljKSwgVENDT05GX1RZUEVfRkxB RywgMCwgMCwgQVZfQ09ERUNfRkxBR19BQ19QUkVEIH0sCi0gI2VuZGlmCi0gICAgICAgICB7ICJh aXYiLCBQQVVYKGZsYWdzLmFpdiksIFRDQ09ORl9UWVBFX0ZMQUcsIDAsIDAsIDEgfSwKLSAgICAg ICAgIHsgInVtdiIsIFBBVVgoZmxhZ3MudW12KSwgVENDT05GX1RZUEVfRkxBRywgMCwgMCwgMSB9 LAotLSAgICAgICAgeyAicHNuciIsIFBBVVgoZmxhZ3MucHNuciksIFRDQ09ORl9UWVBFX0ZMQUcs IDAsIDAsIENPREVDX0ZMQUdfUFNOUiB9LAotKyAgICAgICAgeyAicHNuciIsIFBBVVgoZmxhZ3Mu cHNuciksIFRDQ09ORl9UWVBFX0ZMQUcsIDAsIDAsIEFWX0NPREVDX0ZMQUdfUFNOUiB9LAotICNp ZiBMSUJBVkNPREVDX1ZFUlNJT05fSU5UIDwgKCg1Mjw8MTYpKygwPDw4KSswKQotICAgICAgICAg eyAidHJlbGwiLCBQQVVYKGZsYWdzLnRyZWxsKSwgVENDT05GX1RZUEVfRkxBRywgMCwgMCwgQ09E RUNfRkxBR19UUkVMTElTX1FVQU5UIH0sCi0gI2Vsc2UKLSAgICAgICAgIHsgInRyZWxsIiwgUENU WCh0cmVsbGlzKSwgVENDT05GX1RZUEVfRkxBRywgMCwgMCwgMSB9LAotICNlbmRpZgotLSAgICAg ICAgeyAiZ3JheSIsIFBBVVgoZmxhZ3MuZ3JheSksIFRDQ09ORl9UWVBFX0ZMQUcsIDAsIDAsIENP REVDX0ZMQUdfR1JBWSB9LAotLSAgICAgICAgeyAidjRtdiIsIFBBVVgoZmxhZ3MudjRtdiksIFRD Q09ORl9UWVBFX0ZMQUcsIDAsIDAsIENPREVDX0ZMQUdfNE1WIH0sCi0tICAgICAgICB7ICJjbG9z ZWRnb3AiLCBQQVVYKGZsYWdzLmNsb3NlZGdvcCksIFRDQ09ORl9UWVBFX0ZMQUcsIDAsIDAsIENP REVDX0ZMQUdfQ0xPU0VEX0dPUCB9LAotKyAgICAgICAgeyAiZ3JheSIsIFBBVVgoZmxhZ3MuZ3Jh eSksIFRDQ09ORl9UWVBFX0ZMQUcsIDAsIDAsIEFWX0NPREVDX0ZMQUdfR1JBWSB9LAotKyAgICAg ICAgeyAidjRtdiIsIFBBVVgoZmxhZ3MudjRtdiksIFRDQ09ORl9UWVBFX0ZMQUcsIDAsIDAsIEFW X0NPREVDX0ZMQUdfNE1WIH0sCi0rICAgICAgICB7ICJjbG9zZWRnb3AiLCBQQVVYKGZsYWdzLmNs b3NlZGdvcCksIFRDQ09ORl9UWVBFX0ZMQUcsIDAsIDAsIEFWX0NPREVDX0ZMQUdfQ0xPU0VEX0dP UCB9LAotICAgICAKLSAgICAgICAgIC8vICB7ICJ0dXJibyIsIFBBVVgodHVyYm9fc2V0dXApLCBU Q0NPTkZfVFlQRV9GTEFHLCAwLCAwLCAxIH0sIC8vIG5vdCB5ZXQgIHN1cHBvcnRlZAotICAgICAg ICAgLyogRW5kIG9mIHRoZSBjb25maWcgZmlsZSAqLwotLS0tIGEvZXhwb3J0L2V4cG9ydF9mZm1w ZWcuYwotKysrIGIvZXhwb3J0L2V4cG9ydF9mZm1wZWcuYwotQEAgLTgzMSwxNCArODMxLDExIEBA IE1PRF9pbml0Ci0gCi0gICAgIGxhdmNfdmVuY19jb250ZXh0LT5iaXRfcmF0ZSAgICAgICAgICAg PSB2b2ItPmRpdnhiaXRyYXRlICogMTAwMDsKLSAgICAgbGF2Y192ZW5jX2NvbnRleHQtPmJpdF9y YXRlX3RvbGVyYW5jZSA9IGxhdmNfcGFyYW1fdnJhdGVfdG9sZXJhbmNlICogMTAwMDsKLS0gICAg bGF2Y192ZW5jX2NvbnRleHQtPmxtaW49IChpbnQpKEZGX1FQMkxBTUJEQSAqIGxhdmNfcGFyYW1f bG1pbiArIDAuNSk7Ci0tICAgIGxhdmNfdmVuY19jb250ZXh0LT5sbWF4PSAoaW50KShGRl9RUDJM QU1CREEgKiBsYXZjX3BhcmFtX2xtYXggKyAwLjUpOwotICAgICBsYXZjX3ZlbmNfY29udGV4dC0+ bWF4X3FkaWZmICAgICAgICAgID0gbGF2Y19wYXJhbV92cWRpZmY7Ci0gICAgIGxhdmNfdmVuY19j b250ZXh0LT5xY29tcHJlc3MgICAgICAgICAgPSBsYXZjX3BhcmFtX3ZxY29tcHJlc3M7Ci0gICAg IGxhdmNfdmVuY19jb250ZXh0LT5xYmx1ciAgICAgICAgICAgICAgPSBsYXZjX3BhcmFtX3ZxYmx1 cjsKLSAgICAgbGF2Y192ZW5jX2NvbnRleHQtPm1heF9iX2ZyYW1lcyAgICAgICA9IGxhdmNfcGFy YW1fdm1heF9iX2ZyYW1lczsKLSAgICAgbGF2Y192ZW5jX2NvbnRleHQtPmJfcXVhbnRfZmFjdG9y ICAgICA9IGxhdmNfcGFyYW1fdmJfcWZhY3RvcjsKLS0gICAgbGF2Y192ZW5jX2NvbnRleHQtPnJj X3N0cmF0ZWd5ICAgICAgICA9IGxhdmNfcGFyYW1fdnJjX3N0cmF0ZWd5OwotICAgICBsYXZjX3Zl bmNfY29udGV4dC0+Yl9mcmFtZV9zdHJhdGVneSAgID0gbGF2Y19wYXJhbV92Yl9zdHJhdGVneTsK LSAgICAgbGF2Y192ZW5jX2NvbnRleHQtPmJfcXVhbnRfb2Zmc2V0ICAgICA9IGxhdmNfcGFyYW1f dmJfcW9mZnNldDsKLSAKLUBAIC04NDYsOCArODQzLDIzIEBAIE1PRF9pbml0Ci0gI2RlZmluZSBz ZXRfZGljdF9vcHQodmFsLCBvcHQpIFwKLSAJc25wcmludGYoYnVmLCBzaXplb2YoYnVmKSwgIiVp IiwgdmFsKTsgXAotIAlhdl9kaWN0X3NldCgmbGF2Y192ZW5jX29wdHMsIG9wdCwgYnVmLCAwKQot KyNkZWZpbmUgc2V0X2RpY3RfZmxvYXRfb3B0KHZhbCwgb3B0KSBcCi0rCXNucHJpbnRmKGJ1Ziwg c2l6ZW9mKGJ1ZiksICIlZiIsIHZhbCk7IFwKLSsJYXZfZGljdF9zZXQoJmxhdmNfdmVuY19vcHRz LCBvcHQsIGJ1ZiwgMCkKLSAgICAgc2V0X2RpY3Rfb3B0KGxhdmNfcGFyYW1fbHVtYV9lbGltX3Ro cmVzaG9sZCwgImx1bWFfZWxpbV90aHJlc2hvbGQiKTsKLSAgICAgc2V0X2RpY3Rfb3B0KGxhdmNf cGFyYW1fY2hyb21hX2VsaW1fdGhyZXNob2xkLCAiY2hyb21hX2VsaW1fdGhyZXNob2xkIik7Ci0r ICAgIHNldF9kaWN0X29wdCgoaW50KShGRl9RUDJMQU1CREEgKiBsYXZjX3BhcmFtX2xtaW4gKyAw LjUpLCAibG1pbiIpOwotKyAgICBzZXRfZGljdF9vcHQoKGludCkoRkZfUVAyTEFNQkRBICogbGF2 Y19wYXJhbV9sbWF4ICsgMC41KSwgImxtYXgiKTsKLSsgICAgc2V0X2RpY3Rfb3B0KGxhdmNfcGFy YW1fdnJjX3N0cmF0ZWd5LCAicmNfc3RyYXRlZ3kiKTsKLSsgICAgc2V0X2RpY3RfZmxvYXRfb3B0 KGxhdmNfcGFyYW1fcmNfcXNxdWlzaCwgInFzcXVpc2giKTsKLSsgICAgc2V0X2RpY3RfZmxvYXRf b3B0KGxhdmNfcGFyYW1fcmNfcW1vZF9hbXAsICJyY19xbW9kX2FtcCIpOwotKyAgICBzZXRfZGlj dF9vcHQobGF2Y19wYXJhbV9yY19xbW9kX2ZyZXEsICJyY19xbW9kX2ZyZXEiKTsKLSsgICAgc2V0 X2RpY3Rfb3B0KGxhdmNfcGFyYW1fcmNfZXEsICJyY19lcSIpOwotKyAgICBzZXRfZGljdF9vcHQo bGF2Y19wYXJhbV92bWUsICJtZV9tZXRob2QiKTsKLSsgICAgc2V0X2RpY3Rfb3B0KGxhdmNfcGFy YW1faWJpYXMsICJpYmlhcyIpOwotKyAgICBzZXRfZGljdF9vcHQobGF2Y19wYXJhbV9wYmlhcywg InBiaWFzIik7Ci0rICAgIHNldF9kaWN0X2Zsb2F0X29wdChsYXZjX3BhcmFtX3JjX2J1ZmZlcl9h Z2dyZXNzaXZpdHksICJyY19idWZfYWdncmVzc2l2aXR5Iik7Ci0rICAgIHNldF9kaWN0X2Zsb2F0 X29wdChsYXZjX3BhcmFtX3JjX2luaXRpYWxfY3BseCwgInJjX2luaXRfY3BseCIpOwotICAgICBs YXZjX3ZlbmNfY29udGV4dC0+cnRwX3BheWxvYWRfc2l6ZSAgID0gbGF2Y19wYXJhbV9wYWNrZXRf c2l6ZTsKLSAjaWYgTElCQVZDT0RFQ19WRVJTSU9OX0lOVCA8ICgoNTI8PDE2KSsoMDw8OCkrMCkg ICAKLSAgICAgaWYgKGxhdmNfcGFyYW1fcGFja2V0X3NpemUpCi1AQCAtODU2LDE1ICs4NjgsOSBA QCBNT0RfaW5pdAotICAgICBsYXZjX3ZlbmNfY29udGV4dC0+c3RyaWN0X3N0ZF9jb21wbGlhbmNl PSBsYXZjX3BhcmFtX3N0cmljdDsKLSAgICAgbGF2Y192ZW5jX2NvbnRleHQtPmlfcXVhbnRfZmFj dG9yICAgICA9IGxhdmNfcGFyYW1fdmlfcWZhY3RvcjsKLSAgICAgbGF2Y192ZW5jX2NvbnRleHQt PmlfcXVhbnRfb2Zmc2V0ICAgICA9IGxhdmNfcGFyYW1fdmlfcW9mZnNldDsKLS0gICAgbGF2Y192 ZW5jX2NvbnRleHQtPnJjX3FzcXVpc2ggICAgICAgICA9IGxhdmNfcGFyYW1fcmNfcXNxdWlzaDsK LS0gICAgbGF2Y192ZW5jX2NvbnRleHQtPnJjX3Ftb2RfYW1wICAgICAgICA9IGxhdmNfcGFyYW1f cmNfcW1vZF9hbXA7Ci0tICAgIGxhdmNfdmVuY19jb250ZXh0LT5yY19xbW9kX2ZyZXEgICAgICAg PSBsYXZjX3BhcmFtX3JjX3Ftb2RfZnJlcTsKLS0gICAgbGF2Y192ZW5jX2NvbnRleHQtPnJjX2Vx ICAgICAgICAgICAgICA9IGxhdmNfcGFyYW1fcmNfZXE7Ci0gICAgIGxhdmNfdmVuY19jb250ZXh0 LT5yY19tYXhfcmF0ZSAgICAgICAgPSBsYXZjX3BhcmFtX3JjX21heF9yYXRlICogMTAwMDsKLSAg ICAgbGF2Y192ZW5jX2NvbnRleHQtPnJjX21pbl9yYXRlICAgICAgICA9IGxhdmNfcGFyYW1fcmNf bWluX3JhdGUgKiAxMDAwOwotICAgICBsYXZjX3ZlbmNfY29udGV4dC0+cmNfYnVmZmVyX3NpemUg ICAgID0gbGF2Y19wYXJhbV9yY19idWZmZXJfc2l6ZSAqIDEwMjQ7Ci0tICAgIGxhdmNfdmVuY19j b250ZXh0LT5yY19idWZmZXJfYWdncmVzc2l2aXR5PSBsYXZjX3BhcmFtX3JjX2J1ZmZlcl9hZ2dy ZXNzaXZpdHk7Ci0tICAgIGxhdmNfdmVuY19jb250ZXh0LT5yY19pbml0aWFsX2NwbHggICAgPSBs YXZjX3BhcmFtX3JjX2luaXRpYWxfY3BseDsKLSAgICAgbGF2Y192ZW5jX2NvbnRleHQtPmRlYnVn ICAgICAgICAgICAgICA9IGxhdmNfcGFyYW1fZGVidWc7Ci0gICAgIGxhdmNfdmVuY19jb250ZXh0 LT5sYXN0X3ByZWRpY3Rvcl9jb3VudD0gbGF2Y19wYXJhbV9sYXN0X3ByZWQ7Ci0gICAgIGxhdmNf dmVuY19jb250ZXh0LT5wcmVfbWUgICAgICAgICAgICAgPSBsYXZjX3BhcmFtX3ByZV9tZTsKLUBA IC04NzIsOCArODc4LDYgQEAgTU9EX2luaXQKLSAgICAgbGF2Y192ZW5jX2NvbnRleHQtPnByZV9k aWFfc2l6ZSAgICAgICA9IGxhdmNfcGFyYW1fcHJlX2RpYV9zaXplOwotICAgICBsYXZjX3ZlbmNf Y29udGV4dC0+bWVfc3VicGVsX3F1YWxpdHkgID0gbGF2Y19wYXJhbV9tZV9zdWJwZWxfcXVhbGl0 eTsKLSAgICAgbGF2Y192ZW5jX2NvbnRleHQtPm1lX3JhbmdlICAgICAgICAgICA9IGxhdmNfcGFy YW1fbWVfcmFuZ2U7Ci0tICAgIGxhdmNfdmVuY19jb250ZXh0LT5pbnRyYV9xdWFudF9iaWFzICAg PSBsYXZjX3BhcmFtX2liaWFzOwotLSAgICBsYXZjX3ZlbmNfY29udGV4dC0+aW50ZXJfcXVhbnRf YmlhcyAgID0gbGF2Y19wYXJhbV9wYmlhczsKLSAgICAgbGF2Y192ZW5jX2NvbnRleHQtPmNvZGVy X3R5cGUgICAgICAgICA9IGxhdmNfcGFyYW1fY29kZXI7Ci0gICAgIGxhdmNfdmVuY19jb250ZXh0 LT5jb250ZXh0X21vZGVsICAgICAgPSBsYXZjX3BhcmFtX2NvbnRleHQ7Ci0gICAgIGxhdmNfdmVu Y19jb250ZXh0LT5zY2VuZWNoYW5nZV90aHJlc2hvbGQ9IGxhdmNfcGFyYW1fc2NfdGhyZXNob2xk OwotQEAgLTEwODEsNiArMTA4NSw4IEBAIE1PRF9pbml0Ci0gICAgICAgICBhdl9kaWN0X3NldCgm bGF2Y192ZW5jX29wdHMsICJtcHZfZmxhZ3MiLCAiK212MCIsIDApOwotICAgICBpZihsYXZjX3Bh cmFtX3FwX3JkKQotICAgICAJYXZfZGljdF9zZXQoJmxhdmNfdmVuY19vcHRzLCAibXB2X2ZsYWdz IiwgIitxcF9yZCIsIDApOwotKyAgICBpZiAobGF2Y19wYXJhbV9ub3JtYWxpemVfYXFwKQotKyAg ICAJYXZfZGljdF9zZXQoJmxhdmNfdmVuY19vcHRzLCAibXB2X2ZsYWdzIiwgIituYXEiLCAwKTsK LSAgICAgbGF2Y192ZW5jX2NvbnRleHQtPmZsYWdzIHw9IGxhdmNfcGFyYW1faWxtZTsKLSAjaWYg TElCQVZDT0RFQ19WRVJTSU9OX0lOVCA8ICgoNTI8PDE2KSsoMDw8OCkrMCkgICAKLSAgICAgbGF2 Y192ZW5jX2NvbnRleHQtPmZsYWdzIHw9IGxhdmNfcGFyYW1fdHJlbGw7Ci1AQCAtMTA4OSw5ICsx MDk1LDcgQEAgTU9EX2luaXQKLSAjZW5kaWYKLSAKLSAgICAgaWYgKGxhdmNfcGFyYW1fZ3JheSkK LS0gICAgICAgIGxhdmNfdmVuY19jb250ZXh0LT5mbGFncyB8PSBDT0RFQ19GTEFHX0dSQVk7Ci0t ICAgIGlmIChsYXZjX3BhcmFtX25vcm1hbGl6ZV9hcXApCi0tICAgICAgICBhdl9kaWN0X3NldCgm bGF2Y192ZW5jX29wdHMsICJtcHZfZmxhZ3MiLCAiK25hcSIsIDApOwotKyAgICAgICAgbGF2Y192 ZW5jX2NvbnRleHQtPmZsYWdzIHw9IEFWX0NPREVDX0ZMQUdfR1JBWTsKLSAKLSAgICAgc3dpdGNo KHZvYi0+ZW5jb2RlX2ZpZWxkcykgewotICAgICBjYXNlIFRDX0VOQ09ERV9GSUVMRFNfVE9QX0ZJ UlNUOgotQEAgLTExMDksOSArMTExMyw5IEBAIE1PRF9pbml0Ci0gICAgIH0KLSAKLSAgICAgbGF2 Y192ZW5jX2NvbnRleHQtPmZsYWdzIHw9IGludGVybGFjaW5nX2FjdGl2ZSA/Ci0tICAgICAgICBD T0RFQ19GTEFHX0lOVEVSTEFDRURfRENUIDogMDsKLSsgICAgICAgIEFWX0NPREVDX0ZMQUdfSU5U RVJMQUNFRF9EQ1QgOiAwOwotICAgICBsYXZjX3ZlbmNfY29udGV4dC0+ZmxhZ3MgfD0gaW50ZXJs YWNpbmdfYWN0aXZlID8KLS0gICAgICAgIENPREVDX0ZMQUdfSU5URVJMQUNFRF9NRSA6IDA7Ci0r ICAgICAgICBBVl9DT0RFQ19GTEFHX0lOVEVSTEFDRURfTUUgOiAwOwotIAotICAgICBsYXZjX3Zl bmNfY29udGV4dC0+ZmxhZ3MgfD0gbGF2Y19wYXJhbV9wc25yOwotICAgICBkb19wc25yID0gbGF2 Y19wYXJhbV9wc25yOwotQEAgLTExNTgsNyArMTE2Miw3IEBAIE1PRF9pbml0Ci0gICAgICAgICAg ICAgICAgICAgImVuY29kaW5nLiIpOwotICAgICAgICAgICByZXR1cm4gVENfRVhQT1JUX0VSUk9S OwotICAgICAgICAgfQotLSAgICAgICAgbGF2Y192ZW5jX2NvbnRleHQtPmZsYWdzIHw9IENPREVD X0ZMQUdfUEFTUzE7Ci0rICAgICAgICBsYXZjX3ZlbmNfY29udGV4dC0+ZmxhZ3MgfD0gQVZfQ09E RUNfRkxBR19QQVNTMTsKLSAgICAgICAgIHN0YXRzX2ZpbGUgPSBmb3Blbih2b2ItPmRpdnhsb2dm aWxlLCAidyIpOwotICAgICAgICAgaWYgKHN0YXRzX2ZpbGUgPT0gTlVMTCl7Ci0gICAgICAgICAg IHRjX2xvZ193YXJuKE1PRF9OQU1FLCAiQ291bGQgbm90IGNyZWF0ZSAycGFzcyBsb2cgZmlsZSBc IiVzXCIuIiwKLUBAIC0xMTcyLDcgKzExNzYsNyBAQCBNT0RfaW5pdAotICAgICAgICAgICAgICAg ICAgICJlbmNvZGluZy4iKTsKLSAgICAgICAgICAgcmV0dXJuIFRDX0VYUE9SVF9FUlJPUjsKLSAg ICAgICAgIH0KLS0gICAgICAgIGxhdmNfdmVuY19jb250ZXh0LT5mbGFncyB8PSBDT0RFQ19GTEFH X1BBU1MyOwotKyAgICAgICAgbGF2Y192ZW5jX2NvbnRleHQtPmZsYWdzIHw9IEFWX0NPREVDX0ZM QUdfUEFTUzI7Ci0gICAgICAgICBzdGF0c19maWxlPSBmb3Blbih2b2ItPmRpdnhsb2dmaWxlLCAi ciIpOwotICAgICAgICAgaWYgKHN0YXRzX2ZpbGU9PU5VTEwpewotICAgICAgICAgICB0Y19sb2df d2FybihNT0RfTkFNRSwgIkNvdWxkIG5vdCBvcGVuIDJwYXNzIGxvZyBmaWxlIFwiJXNcIiBmb3Ig IgotQEAgLTEyMDMsMTIgKzEyMDcsMTEgQEAgTU9EX2luaXQKLSAgICAgICAgIGJyZWFrOwotICAg ICAgIGNhc2UgMzoKLSAgICAgICAgIC8qIGZpeGVkIHFzY2FsZSA6cCAqLwotLSAgICAgICAgbGF2 Y192ZW5jX2NvbnRleHQtPmZsYWdzICAgfD0gQ09ERUNfRkxBR19RU0NBTEU7Ci0rICAgICAgICBs YXZjX3ZlbmNfY29udGV4dC0+ZmxhZ3MgICB8PSBBVl9DT0RFQ19GTEFHX1FTQ0FMRTsKLSAgICAg ICAgIGxhdmNfdmVuY19mcmFtZS0+cXVhbGl0eSAgPSB2b2ItPmRpdnhiaXRyYXRlOwotICAgICAg ICAgYnJlYWs7Ci0gICAgIH0KLSAKLS0gICAgbGF2Y192ZW5jX2NvbnRleHQtPm1lX21ldGhvZCA9 IE1FX1pFUk8gKyBsYXZjX3BhcmFtX3ZtZTsKLSAKLSAJLyogRklYTUU6IHRyYW5zY29kZSBpdHNl bGYgY29udGFpbnMgImJyb2tlbiBmZm1wZWcgZGVmYXVsdCBzZXR0aW5ncyIsIHRodXMgd2UgbmVl ZCB0byBvdmVycmlkZSB0aGVtISAqLwotIAlpZiAobGF2Y19wYXJhbV92aWRlb19wcmVzZXQgJiYg c3RyY21wKGxhdmNfcGFyYW1fdmlkZW9fcHJlc2V0LCAibm9uZSIpKSB7Ci0tLS0gYS9leHBvcnQv ZmZtcGVnX2NmZy5jCi0rKysgYi9leHBvcnQvZmZtcGVnX2NmZy5jCi1AQCAtOTMsOCArOTMsOCBA QCBpbnQgbGF2Y19wYXJhbV9sYXN0X3ByZWQ9IDA7Ci0gaW50IGxhdmNfcGFyYW1fcHJlX21lPSAx OwotIGludCBsYXZjX3BhcmFtX21lX3N1YnBlbF9xdWFsaXR5PSA4OwotIGludCBsYXZjX3BhcmFt X21lX3JhbmdlPTA7Ci0taW50IGxhdmNfcGFyYW1faWJpYXM9RkZfREVGQVVMVF9RVUFOVF9CSUFT OwotLWludCBsYXZjX3BhcmFtX3BiaWFzPUZGX0RFRkFVTFRfUVVBTlRfQklBUzsKLStpbnQgbGF2 Y19wYXJhbV9pYmlhcz0wOwotK2ludCBsYXZjX3BhcmFtX3BiaWFzPTA7Ci0gaW50IGxhdmNfcGFy YW1fY29kZXI9MDsKLSBpbnQgbGF2Y19wYXJhbV9jb250ZXh0PTA7Ci0gY2hhciAqbGF2Y19wYXJh bV9pbnRyYV9tYXRyaXggPSBOVUxMOwotQEAgLTEzNiw3ICsxMzYsNyBAQCBUQ0NvbmZpZ0VudHJ5 IGxhdmNvcHRzX2NvbmZbXT17Ci0gICAgIHsidnJhdGV0b2wiLCAmbGF2Y19wYXJhbV92cmF0ZV90 b2xlcmFuY2UsIFRDQ09ORl9UWVBFX0lOVCwgVENDT05GX0ZMQUdfUkFOR0UsIDQsIDI0MDAwMDAw fSwKLSAgICAgeyJ2aHEiLCAmbGF2Y19wYXJhbV9tYl9kZWNpc2lvbiwgVENDT05GX1RZUEVfRkxB RywgMCwgMCwgMX0sCi0gICAgIHsibWJkIiwgJmxhdmNfcGFyYW1fbWJfZGVjaXNpb24sIFRDQ09O Rl9UWVBFX0lOVCwgVENDT05GX0ZMQUdfUkFOR0UsIDAsIDl9LAotLSAgICB7InY0bXYiLCAmbGF2 Y19wYXJhbV92NG12LCBUQ0NPTkZfVFlQRV9GTEFHLCAwLCAwLCBDT0RFQ19GTEFHXzRNVn0sCi0r ICAgIHsidjRtdiIsICZsYXZjX3BhcmFtX3Y0bXYsIFRDQ09ORl9UWVBFX0ZMQUcsIDAsIDAsIEFW X0NPREVDX0ZMQUdfNE1WfSwKLSAgICAgeyJ2bWUiLCAmbGF2Y19wYXJhbV92bWUsIFRDQ09ORl9U WVBFX0lOVCwgVENDT05GX0ZMQUdfUkFOR0UsIDAsIDV9LAotIC8vICAgIHsidnFzY2FsZSIsICZs YXZjX3BhcmFtX3Zxc2NhbGUsIFRDQ09ORl9UWVBFX0lOVCwgVENDT05GX0ZMQUdfUkFOR0UsIDEs IDMxfSwKLSAvLyAgICB7InZxbWluIiwgJmxhdmNfcGFyYW1fdnFtaW4sIFRDQ09ORl9UWVBFX0lO VCwgVENDT05GX0ZMQUdfUkFOR0UsIDEsIDMxfSwKLUBAIC0xNTgsNyArMTU4LDcgQEAgVENDb25m aWdFbnRyeSBsYXZjb3B0c19jb25mW109ewotICAgICB7InZzdHJpY3QiLCAmbGF2Y19wYXJhbV9z dHJpY3QsIFRDQ09ORl9UWVBFX0lOVCwgVENDT05GX0ZMQUdfUkFOR0UsIC05OSwgOTl9LAotICAg ICB7InZkcGFydCIsICZsYXZjX3BhcmFtX2RhdGFfcGFydGl0aW9uaW5nLCBUQ0NPTkZfVFlQRV9G TEFHLCAwLCAwLCAxfSwKLSAvLyAgICB7ImtleWludCIsICZsYXZjX3BhcmFtX2tleWludCwgVEND T05GX1RZUEVfSU5ULCAwLCAwLCAwfSwKLS0gICAgeyJncmF5IiwgJmxhdmNfcGFyYW1fZ3JheSwg VENDT05GX1RZUEVfRkxBRywgMCwgMCwgQ09ERUNfRkxBR19HUkFZfSwKLSsgICAgeyJncmF5Iiwg JmxhdmNfcGFyYW1fZ3JheSwgVENDT05GX1RZUEVfRkxBRywgMCwgMCwgQVZfQ09ERUNfRkxBR19H UkFZfSwKLSAgICAgeyJtcGVnX3F1YW50IiwgJmxhdmNfcGFyYW1fbXBlZ19xdWFudCwgVENDT05G X1RZUEVfRkxBRywgMCwgMCwgMX0sCi0gICAgIHsidmlfcWZhY3RvciIsICZsYXZjX3BhcmFtX3Zp X3FmYWN0b3IsIFRDQ09ORl9UWVBFX0ZMT0FULCBUQ0NPTkZfRkxBR19SQU5HRSwgLTMxLjAsIDMx LjB9LAotICAgICB7InZpX3FvZmZzZXQiLCAmbGF2Y19wYXJhbV92aV9xb2Zmc2V0LCBUQ0NPTkZf VFlQRV9GTE9BVCwgVENDT05GX0ZMQUdfUkFOR0UsIDAuMCwgMzEuMH0sCi1AQCAtMTg0LDcgKzE4 NCw3IEBAIFRDQ29uZmlnRW50cnkgbGF2Y29wdHNfY29uZltdPXsKLSAgICAgeyJwcmVkIiwgJmxh dmNfcGFyYW1fcHJlZGljdGlvbl9tZXRob2QsIFRDQ09ORl9UWVBFX0lOVCwgVENDT05GX0ZMQUdf UkFOR0UsIDAsIDIwfSwKLSAgICAgeyJmb3JtYXQiLCAmbGF2Y19wYXJhbV9mb3JtYXQsIFRDQ09O Rl9UWVBFX1NUUklORywgMCwgMCwgMH0sCi0gICAgIHsiZGVidWciLCAmbGF2Y19wYXJhbV9kZWJ1 ZywgVENDT05GX1RZUEVfSU5ULCBUQ0NPTkZfRkxBR19SQU5HRSwgMCwgMTAwMDAwMDAwfSwKLS0g ICAgeyJwc25yIiwgJmxhdmNfcGFyYW1fcHNuciwgVENDT05GX1RZUEVfRkxBRywgMCwgMCwgQ09E RUNfRkxBR19QU05SfSwKLSsgICAgeyJwc25yIiwgJmxhdmNfcGFyYW1fcHNuciwgVENDT05GX1RZ UEVfRkxBRywgMCwgMCwgQVZfQ09ERUNfRkxBR19QU05SfSwKLSAgICAgeyJwcmVjbXAiLCAmbGF2 Y19wYXJhbV9tZV9wcmVfY21wLCBUQ0NPTkZfVFlQRV9JTlQsIFRDQ09ORl9GTEFHX1JBTkdFLCAw LCAyMDAwfSwKLSAgICAgeyJjbXAiLCAmbGF2Y19wYXJhbV9tZV9jbXAsIFRDQ09ORl9UWVBFX0lO VCwgVENDT05GX0ZMQUdfUkFOR0UsIDAsIDIwMDB9LAotICAgICB7InN1YmNtcCIsICZsYXZjX3Bh cmFtX21lX3N1Yl9jbXAsIFRDQ09ORl9UWVBFX0lOVCwgVENDT05GX0ZMQUdfUkFOR0UsIDAsIDIw MDB9LAotQEAgLTE5Miw5ICsxOTIsOSBAQCBUQ0NvbmZpZ0VudHJ5IGxhdmNvcHRzX2NvbmZbXT17 Ci0gICAgIHsiaWxkY3RjbXAiLCAmbGF2Y19wYXJhbV9pbGRjdF9jbXAsIFRDQ09ORl9UWVBFX0lO VCwgVENDT05GX0ZMQUdfUkFOR0UsIDAsIDIwMDB9LAotICAgICB7InByZWRpYSIsICZsYXZjX3Bh cmFtX3ByZV9kaWFfc2l6ZSwgVENDT05GX1RZUEVfSU5ULCBUQ0NPTkZfRkxBR19SQU5HRSwgLTIw MDAsIDIwMDB9LAotICAgICB7ImRpYSIsICZsYXZjX3BhcmFtX2RpYV9zaXplLCBUQ0NPTkZfVFlQ RV9JTlQsIFRDQ09ORl9GTEFHX1JBTkdFLCAtMjAwMCwgMjAwMH0sCi0tICAgIHsicXBlbCIsICZs YXZjX3BhcmFtX3FwZWwsIFRDQ09ORl9UWVBFX0ZMQUcsIDAsIDAsIENPREVDX0ZMQUdfUVBFTH0s Ci0rICAgIHsicXBlbCIsICZsYXZjX3BhcmFtX3FwZWwsIFRDQ09ORl9UWVBFX0ZMQUcsIDAsIDAs IEFWX0NPREVDX0ZMQUdfUVBFTH0sCi0gI2lmIExJQkFWQ09ERUNfVkVSU0lPTl9JTlQgPCAoKDUy PDwxNikrKDA8PDgpKzApICAgCi0tICAgIHsidHJlbGwiLCAmbGF2Y19wYXJhbV90cmVsbCwgVEND T05GX1RZUEVfRkxBRywgMCwgMCwgQ09ERUNfRkxBR19UUkVMTElTX1FVQU5UfSwKLSsgICAgeyJ0 cmVsbCIsICZsYXZjX3BhcmFtX3RyZWxsLCBUQ0NPTkZfVFlQRV9GTEFHLCAwLCAwLCBBVl9DT0RF Q19GTEFHX1RSRUxMSVNfUVVBTlR9LAotICNlbHNlCi0gICAgIHsidHJlbGwiLCAmbGF2Y19wYXJh bV90cmVsbCwgVENDT05GX1RZUEVfRkxBRywgMCwgMCwgMX0sCi0gI2VuZGlmCi1AQCAtMjAzLDkg KzIwMyw5IEBAIFRDQ29uZmlnRW50cnkgbGF2Y29wdHNfY29uZltdPXsKLSAgICAgeyJzdWJxIiwg JmxhdmNfcGFyYW1fbWVfc3VicGVsX3F1YWxpdHksIFRDQ09ORl9UWVBFX0lOVCwgVENDT05GX0ZM QUdfUkFOR0UsIDAsIDh9LAotICAgICB7Im1lX3JhbmdlIiwgJmxhdmNfcGFyYW1fbWVfcmFuZ2Us IFRDQ09ORl9UWVBFX0lOVCwgVENDT05GX0ZMQUdfUkFOR0UsIDAsIDE2MDAwfSwKLSAjaWYgTElC QVZDT0RFQ19WRVJTSU9OX0lOVCA8ICgoNTI8PDE2KSsoMDw8OCkrMCkgICAKLS0gICAgeyJhaWMi LCAmbGF2Y19wYXJhbV9haWMsIFRDQ09ORl9UWVBFX0ZMQUcsIDAsIDAsIENPREVDX0ZMQUdfSDI2 M1BfQUlDfSwKLSsgICAgeyJhaWMiLCAmbGF2Y19wYXJhbV9haWMsIFRDQ09ORl9UWVBFX0ZMQUcs IDAsIDAsIEFWX0NPREVDX0ZMQUdfSDI2M1BfQUlDfSwKLSAjZWxzZQotLSAgICB7ImFpYyIsICZs YXZjX3BhcmFtX2FpYywgVENDT05GX1RZUEVfRkxBRywgMCwgMCwgQ09ERUNfRkxBR19BQ19QUkVE fSwKLSsgICAgeyJhaWMiLCAmbGF2Y19wYXJhbV9haWMsIFRDQ09ORl9UWVBFX0ZMQUcsIDAsIDAs IEFWX0NPREVDX0ZMQUdfQUNfUFJFRH0sCi0gI2VuZGlmICAgIAotICAgICB7InVtdiIsICZsYXZj X3BhcmFtX3VtdiwgVENDT05GX1RZUEVfRkxBRywgMCwgMCwgMX0sCi0gICAgIHsiaWJpYXMiLCAm bGF2Y19wYXJhbV9pYmlhcywgVENDT05GX1RZUEVfSU5ULCBUQ0NPTkZfRkxBR19SQU5HRSwgLTUx MiwgNTEyfSwKLUBAIC0yMjIsMTMgKzIyMiwxMyBAQCBUQ0NvbmZpZ0VudHJ5IGxhdmNvcHRzX2Nv bmZbXT17Ci0gICAgIHsic3MiLCAmbGF2Y19wYXJhbV9zcywgVENDT05GX1RZUEVfRkxBRywgMCwg MCwgMX0sCi0gICAgIHsic3ZjZF9zb2YiLCAmbGF2Y19wYXJhbV9zY2FuX29mZnNldCwgVENDT05G X1RZUEVfRkxBRywgMCwgMCwgMX0sCi0gICAgIHsiYWx0IiwgJmxhdmNfcGFyYW1fYWx0LCBUQ0NP TkZfVFlQRV9GTEFHLCAwLCAwLCAxfSwKLS0gICAgeyJpbG1lIiwgJmxhdmNfcGFyYW1faWxtZSwg VENDT05GX1RZUEVfRkxBRywgMCwgMCwgQ09ERUNfRkxBR19JTlRFUkxBQ0VEX01FfSwKLSsgICAg eyJpbG1lIiwgJmxhdmNfcGFyYW1faWxtZSwgVENDT05GX1RZUEVfRkxBRywgMCwgMCwgQVZfQ09E RUNfRkxBR19JTlRFUkxBQ0VEX01FfSwKLSAgICAgeyJpbnRlcl90aHJlc2hvbGQiLCAmbGF2Y19w YXJhbV9pbnRlcl90aHJlc2hvbGQsIFRDQ09ORl9UWVBFX0lOVCwgVENDT05GX0ZMQUdfUkFOR0Us IC0xMDAwMDAwLCAxMDAwMDAwfSwKLSAgICAgeyJzY190aHJlc2hvbGQiLCAmbGF2Y19wYXJhbV9z Y190aHJlc2hvbGQsIFRDQ09ORl9UWVBFX0lOVCwgVENDT05GX0ZMQUdfUkFOR0UsIC0xMDAwMDAw LCAxMDAwMDAwfSwKLSAgICAgeyJ0b3AiLCAmbGF2Y19wYXJhbV90b3AsIFRDQ09ORl9UWVBFX0lO VCwgVENDT05GX0ZMQUdfUkFOR0UsIC0xLCAxfSwKLSAgICAgeyJnbWMiLCAmbGF2Y19wYXJhbV9n bWMsIFRDQ09ORl9UWVBFX0ZMQUcsIDAsIDAsIDF9LAotLSAgICB7InRydW5jIiwgJmxhdmNfcGFy YW1fdHJ1bmMsIFRDQ09ORl9UWVBFX0ZMQUcsIDAsIDAsIENPREVDX0ZMQUdfVFJVTkNBVEVEfSwK LS0gICAgeyJjbG9zZWRnb3AiLCAmbGF2Y19wYXJhbV9jbG9zZWRnb3AsIFRDQ09ORl9UWVBFX0ZM QUcsIDAsIDAsIENPREVDX0ZMQUdfQ0xPU0VEX0dPUH0sCi0rICAgIHsidHJ1bmMiLCAmbGF2Y19w YXJhbV90cnVuYywgVENDT05GX1RZUEVfRkxBRywgMCwgMCwgQVZfQ09ERUNfRkxBR19UUlVOQ0FU RUR9LAotKyAgICB7ImNsb3NlZGdvcCIsICZsYXZjX3BhcmFtX2Nsb3NlZGdvcCwgVENDT05GX1RZ UEVfRkxBRywgMCwgMCwgQVZfQ09ERUNfRkxBR19DTE9TRURfR09QfSwKLSAgICAgeyJpbnRyYV9k Y19wcmVjaXNpb24iLCAmbGF2Y19wYXJhbV9pbnRyYV9kY19wcmVjaXNpb24sIFRDQ09ORl9UWVBF X0lOVCwgVENDT05GX0ZMQUdfUkFOR0UsIDAsIDE2fSwKLSAgICAgeyJza2lwX3RvcCIsICZsYXZj X3BhcmFtX3NraXBfdG9wLCBUQ0NPTkZfVFlQRV9JTlQsIFRDQ09ORl9GTEFHX1JBTkdFLCAwLCAx MDAwfSwKLSAgICAgeyJza2lwX2JvdHRvbSIsICZsYXZjX3BhcmFtX3NraXBfYm90dG9tLCBUQ0NP TkZfVFlQRV9JTlQsIFRDQ09ORl9GTEFHX1JBTkdFLCAwLCAxMDAwfSwKLS0tLSBhL2ltcG9ydC9p bXBvcnRfZmZtcGVnLmMKLSsrKyBiL2ltcG9ydC9pbXBvcnRfZmZtcGVnLmMKLUBAIC0zMTAsNyAr MzEwLDcgQEAgZG9fYXZpOgotICAgICBsYXZjX2RlY19jb250ZXh0LT53aWR0aCAgPSB4X2RpbTsK LSAgICAgbGF2Y19kZWNfY29udGV4dC0+aGVpZ2h0ID0geV9kaW07Ci0gCi0tICAgIGlmICh2b2It PmRlY29sb3IpIGxhdmNfZGVjX2NvbnRleHQtPmZsYWdzIHw9IENPREVDX0ZMQUdfR1JBWTsKLSsg ICAgaWYgKHZvYi0+ZGVjb2xvcikgbGF2Y19kZWNfY29udGV4dC0+ZmxhZ3MgfD0gQVZfQ09ERUNf RkxBR19HUkFZOwotICNpZiBMSUJBVkNPREVDX1ZFUlNJT05fSU5UIDwgKCg1Mjw8MTYpKygwPDw4 KSswKQotICAgICBsYXZjX2RlY19jb250ZXh0LT5lcnJvcl9yZXNpbGllbmNlICA9IDI7Ci0gI2Vs c2UKLS0tLSBhL2ZpbHRlci9maWx0ZXJfcmVzYW1wbGUuYwotKysrIGIvZmlsdGVyL2ZpbHRlcl9y ZXNhbXBsZS5jCi1AQCAtMzcsNiArMzcsNyBAQAotICNpbmNsdWRlICJsaWJ0Yy9vcHRzdHIuaCIK LSAjaW5jbHVkZSAibGlidGMvdGNhdmNvZGVjLmgiCi0gI2luY2x1ZGUgImxpYnRjL3RjbW9kdWxl LXBsdWdpbi5oIgotKyNpbmNsdWRlIDxsaWJhdnJlc2FtcGxlL2F2cmVzYW1wbGUuaD4KLSAKLSAK LSB0eXBlZGVmIHN0cnVjdCB7Ci1AQCAtNDUsNyArNDYsNyBAQCB0eXBlZGVmIHN0cnVjdCB7Ci0g Ci0gICAgIGludCBieXRlc19wZXJfc2FtcGxlOwotIAotLSAgICBSZVNhbXBsZUNvbnRleHQgKnJl c2FtcGxlX2N0eDsKLSsgICAgQVZBdWRpb1Jlc2FtcGxlQ29udGV4dCAqcmVzYW1wbGVfY3R4Owot IH0gUmVzYW1wbGVQcml2YXRlRGF0YTsKLSAKLSBzdGF0aWMgY29uc3QgY2hhciByZXNhbXBsZV9o ZWxwW10gPSAiIgotLS0tIGEvaW1wb3J0L3Byb2JlX2ZmbXBlZy5jCi0rKysgYi9pbXBvcnQvcHJv YmVfZmZtcGVnLmMKLUBAIC01MSw4ICs1MSw4IEBAIHN0YXRpYyB2b2lkIHRyYW5zbGF0ZV9pbmZv KGNvbnN0IEFWRm9ybWF0Q29udGV4dCAqY3R4LCBQcm9iZUluZm8gKmluZm8pCi0gICAgICAgICAg ICAgaW5mby0+Yml0cmF0ZSA9IHN0LT5jb2RlYy0+Yml0X3JhdGUgLyAxMDAwOwotICAgICAgICAg ICAgIGluZm8tPndpZHRoID0gc3QtPmNvZGVjLT53aWR0aDsKLSAgICAgICAgICAgICBpbmZvLT5o ZWlnaHQgPSBzdC0+Y29kZWMtPmhlaWdodDsKLS0gICAgICAgICAgICBpZiAoc3QtPnJfZnJhbWVf cmF0ZS5udW0gPiAwICYmIHN0LT5yX2ZyYW1lX3JhdGUuZGVuID4gMCkgewotLSAgICAgICAgICAg ICAgICBpbmZvLT5mcHMgPSBhdl9xMmQoc3QtPnJfZnJhbWVfcmF0ZSk7Ci0rICAgICAgICAgICAg aWYgKHN0LT5hdmdfZnJhbWVfcmF0ZS5udW0gPiAwICYmIHN0LT5hdmdfZnJhbWVfcmF0ZS5kZW4g PiAwKSB7Ci0rICAgICAgICAgICAgICAgIGluZm8tPmZwcyA9IGF2X3EyZChzdC0+YXZnX2ZyYW1l X3JhdGUpOwotICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgIC8qIHdhdGNo IG91dCBoZXJlICovCi0gICAgICAgICAgICAgICAgIGluZm8tPmZwcyA9IDEuMC9hdl9xMmQoc3Qt PmNvZGVjLT50aW1lX2Jhc2UpOwotCmRpZmYgLS1naXQgYS9zcmNwa2dzL3RyYW5zY29kZS90ZW1w bGF0ZSBiL3NyY3BrZ3MvdHJhbnNjb2RlL3RlbXBsYXRlCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCBlZmIxMTdlMzg3MjIuLjAwMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL3RyYW5zY29k ZS90ZW1wbGF0ZQorKysgL2Rldi9udWxsCkBAIC0xLDI0ICswLDAgQEAKLSMgVGVtcGxhdGUgZmls ZSBmb3IgJ3RyYW5zY29kZScKLXBrZ25hbWU9dHJhbnNjb2RlCi12ZXJzaW9uPTEuMS43Ci1yZXZp c2lvbj00Ci1idWlsZF9zdHlsZT1nbnUtY29uZmlndXJlCi1ob3N0bWFrZWRlcGVuZHM9ImF1dG9t YWtlIGxpYnRvb2wgcGtnLWNvbmZpZyIKLW1ha2VkZXBlbmRzPSJmYWFjLWRldmVsIGZmbXBlZy1k ZXZlbCBmcmVldHlwZS1kZXZlbCBsYW1lLWRldmVsCi0gbGliZHZkcmVhZC1kZXZlbCBsaWJqcGVn LXR1cmJvLWRldmVsIGxpYm1wZWcyLWRldmVsIGxpYnRoZW9yYS1kZXZlbAotIGxpYlhhdy1kZXZl bCBsaWJ4bWwyLWRldmVsIGxpYlh2LWRldmVsIGx6by1kZXZlbCBTREwyLWRldmVsCi0geHZpZGNv cmUtZGV2ZWwiCi1zaG9ydF9kZXNjPSJNb2R1bGFyIHV0aWxpdHkgZm9yIHZpZGVvIHN0cmVhbSBw cm9jZXNzaW5nIgotbWFpbnRhaW5lcj0iQW5kcmV3IEJlbnNvbiA8YWJlbnNvbit2b2lkQGdtYWls LmNvbT4iCi1saWNlbnNlPSJHUEwtMy4wLW9yLWxhdGVyIgotaG9tZXBhZ2U9Imh0dHBzOi8vYml0 YnVja2V0Lm9yZy9tb2phdmVzL3RyYW5zY29kZS10Y2ZvcmdlIgotZGlzdGZpbGVzPSJodHRwczov L2JpdGJ1Y2tldC5vcmcvbW9qYXZlcy90cmFuc2NvZGUtdGNmb3JnZS9nZXQvcmVsZWFzZS0xXzFf Ny50YXIuYnoyIgotY2hlY2tzdW09NDY5M2UzZjQyMjZmNDhmYjM3YzhhZTk2MDk2MDE3MjRlOGEy NzZjYTA5Zjg2ODZkZGI0M2Y4YTI1NWQ5OTRmZQotCi1DRkxBR1M9Ii1mY29tbW9uIgotCi1wcmVf Y29uZmlndXJlKCkgewotCW1rZGlyIC1wIG00Ci0JbXYgY29uZmlndXJlLntpbixhY30KLQlhdXRv cmVjb25mIC1maQotfQo= --===============1608030711408468559==--