From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 From: Jiri To: git-commits@fedoraproject.org Subject: [rpms/abrt] update-2.17.8: new version 2.0.7 Date: Mon, 03 Aug 2026 10:22:15 GMT Message-ID: <178575253586.1.10356857696300216124.rpms-abrt-9b168d3bcbbd@fedoraproject.org> List-ID: X-Git-Repo: rpms/abrt X-Git-Branch: update-2.17.8 X-Git-Rev: 9b168d3bcbbd2a2d7414d093b33dfe5d9631b6b4 QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvYWJydApCcmFuY2gg OiB1cGRhdGUtMi4xNy44CkNvbW1pdCA6IDliMTY4ZDNiY2JiZDJhMmQ3NDE0ZDA5M2IzM2RmZTVk OTYzMWI2YjQKQXV0aG9yIDogSmlyaSA8bW9za292Y2FrQGdtYWlsLmNvbT4KRGF0ZSAgIDogMjAx MS0xMi0wN1QxMDozODo1NyswMTowMApTdGF0cyAgOiArNDkvLTE2NzcgaW4gMTggZmlsZShzKQpV UkwgICAgOiBodHRwczovL3NyYy5mZWRvcmFwcm9qZWN0Lm9yZy9ycG1zL2FicnQvYy85YjE2OGQz YmNiYmQyYTJkNzQxNGQwOTNiMzNkZmU1ZDk2MzFiNmI0P2JyYW5jaD11cGRhdGUtMi4xNy44CgpM b2c6Cm5ldyB2ZXJzaW9uIDIuMC43CgotLS0KZGlmZiAtLWdpdCBhLzAwMDEtYWJydC1ndWktbGF1 bmNoLXJlcG9ydGVyLWNoaWxkcmVuLXdpdGgtTElCUkVQT1JUX0dFVC5wYXRjaCBiLzAwMDEtYWJy dC1ndWktbGF1bmNoLXJlcG9ydGVyLWNoaWxkcmVuLXdpdGgtTElCUkVQT1JUX0dFVC5wYXRjaApk ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjIwNWYxMC4uMDAwMDAwMAotLS0gYS8wMDAx LWFicnQtZ3VpLWxhdW5jaC1yZXBvcnRlci1jaGlsZHJlbi13aXRoLUxJQlJFUE9SVF9HRVQucGF0 Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0MCArMCwwIEBACi1Gcm9tIDFmNTI2NjdhMTgwMjZkYmE0 MDUwMzY4ZTVkMjUwMWVjNjE0NWUwNzEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBE ZW55cyBWbGFzZW5rbyA8ZHZsYXNlbmtAcmVkaGF0LmNvbT4KLURhdGU6IFRodSwgMjEgSnVsIDIw MTEgMDk6NTA6NTYgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSCAxLzRdIGFicnQtZ3VpOiBsYXVuY2gg cmVwb3J0ZXIgY2hpbGRyZW4gd2l0aCBMSUJSRVBPUlRfR0VUUElECi0KLUJ5IHVzaW5nIExJQlJF UE9SVF9OT1dBSVQgfCBMSUJSRVBPUlRfR0VUUElEIGluIGFidC1ndWksCi13ZSBtYWtlIGl0IHNv IHRoYXQgcmVwb3J0ZXIncyBTSUdDSExEIHJlYWNoZXMgYWJydC1ndWkKLWFuZCBsZXRzIGl0IHJl ZnJlc2ggdGhlIGxpc3QuCi0KLVNpZ25lZC1vZmYtYnk6IERlbnlzIFZsYXNlbmtvIDxkdmxhc2Vu a0ByZWRoYXQuY29tPgotLS0tCi0gc3JjL2d1aS1ndGsvbWFpbi5jIHwgICAgNSArKy0tLQotIDEg ZmlsZXMgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQotCi1kaWZmIC0t Z2l0IGEvc3JjL2d1aS1ndGsvbWFpbi5jIGIvc3JjL2d1aS1ndGsvbWFpbi5jCi1pbmRleCBiNjJl OGMwLi4xNDA5MTkxIDEwMDY0NAotLS0tIGEvc3JjL2d1aS1ndGsvbWFpbi5jCi0rKysgYi9zcmMv Z3VpLWd0ay9tYWluLmMKLUBAIC0yMDQsNyArMjA0LDcgQEAgc3RhdGljIHZvaWQgb25fcm93X2Fj dGl2YXRlZF9jYihHdGtUcmVlVmlldyAqdHJlZXZpZXcsIEd0a1RyZWVQYXRoICpwYXRoLCBHdGtU cmUKLSAgICAgICAgICAgICBndGtfdHJlZV9tb2RlbF9nZXRfdmFsdWUoc3RvcmUsICZpdGVyLCBD T0xVTU5fRFVNUF9ESVIsICZkX2Rpcik7Ci0gCi0gICAgICAgICAgICAgY29uc3QgY2hhciAqZGly bmFtZSA9IGdfdmFsdWVfZ2V0X3N0cmluZygmZF9kaXIpOwotLSAgICAgICAgICAgIHJlcG9ydF9w cm9ibGVtX2luX2RpcihkaXJuYW1lLCBMSUJSRVBPUlRfQU5BTFlaRSB8IExJQlJFUE9SVF9OT1dB SVQpOwotKyAgICAgICAgICAgIHJlcG9ydF9wcm9ibGVtX2luX2RpcihkaXJuYW1lLCBMSUJSRVBP UlRfQU5BTFlaRSB8IExJQlJFUE9SVF9OT1dBSVQgfCBMSUJSRVBPUlRfR0VUUElEKTsKLSAgICAg ICAgIH0KLSAgICAgfQotIH0KLUBAIC0yOTMsOCArMjkzLDcgQEAgc3RhdGljIHZvaWQgb25fYnV0 dG9uX3NlbmRfY2IoR3RrV2lkZ2V0ICpidXR0b24sIGdwb2ludGVyIGRhdGEpCi0gICAgIC8qIHdo eSBpdCBkb2Vzbid0IHdhbnQgdG8gaGlkZSBiZWZvcmUgcmVwb3J0IGVuZHM/ICovCi0gICAgIGd0 a193aWRnZXRfZGVzdHJveShzX3JlcG9ydF93aW5kb3cpOwotIAotLSAgICBpbnQgc3RhdHVzID0g cmVwb3J0X3Byb2JsZW1faW5fbWVtb3J5KHBkLCBMSUJSRVBPUlRfTk9XQUlUKTsKLS0gICAgVkVS QjEgbG9nKCJSZXBvcnRpbmcgZmluaXNoZWQgd2l0aCBzdGF0dXMgJWkiLCBzdGF0dXMpOwotKyAg ICByZXBvcnRfcHJvYmxlbV9pbl9tZW1vcnkocGQsIExJQlJFUE9SVF9OT1dBSVQgfCBMSUJSRVBP UlRfR0VUUElEKTsKLSAgICAgZnJlZV9wcm9ibGVtX2RhdGEocGQpOwotIH0KLSAKLS0tIAotMS43 LjYKLQoKZGlmZiAtLWdpdCBhLzAwMDEtcmhiei03MjQ4MzgtZG9uLXQtZmlsZS1rZXJuZWwtYnVn cy1pZi10YWludGVkLUItaXMtcy5wYXRjaCBiLzAwMDEtcmhiei03MjQ4MzgtZG9uLXQtZmlsZS1r ZXJuZWwtYnVncy1pZi10YWludGVkLUItaXMtcy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggZTQxOThlZi4uMDAwMDAwMAotLS0gYS8wMDAxLXJoYnotNzI0ODM4LWRvbi10LWZp bGUta2VybmVsLWJ1Z3MtaWYtdGFpbnRlZC1CLWlzLXMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAt MSwxOTIgKzAsMCBAQAotRnJvbSA4MmIyN2RjYTg3ZWY1YTRmMWNiYjI5Mzc3NTI0YmJkZWUyNmIx ZDY0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotTWVzc2FnZS1JZDogPDgyYjI3ZGNhODdlZjVh NGYxY2JiMjkzNzc1MjRiYmRlZTI2YjFkNjQuMTMxNzk3OTc2Ni5naXQubnBhamtvdnNAcmVkaGF0 LmNvbT4KLUZyb206IE5pa29sYSBQYWprb3Zza3kgPG5wYWprb3ZzQHJlZGhhdC5jb20+Ci1EYXRl OiBXZWQsIDUgT2N0IDIwMTEgMTU6MTM6MjMgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSCAxLzJdIHJo YnojNzI0ODM4IC0gZG9uJ3QgZmlsZSBrZXJuZWwgYnVncyBpZiAidGFpbnRlZDogQiIgaXMKLSBz ZXQKLQotS2VybmVsIG1haW50YWluZXJzIGFyZSBub3QgbXVjaCBoYXBweSB0aGF0IHdlIGZpbGxp bmcgYnVncyB3aGVuIGtlcm5lbAotaXMgdGFpbnRlZC4KLQotRGF2ZSBKb25lcyBzYWlkCi0tLS0K LUlmIHNvbWV0aGluZyBoYXMgY29ycnVwdGVkIG1lbW9yeSwgd2UgdHlwaWNhbGx5IHNlZSBhIHdo b2xlIGJ1bmNoIG9mIHRoaW5ncwotc3RhcnQgY3Jhc2hpbmcuIFRoaXMgbGVhZHMgdG8gc2l0dWF0 aW9ucyB3aGVyZSBhYnJ0IGZpbGVzIGEgbG90IG9mIGJ1Z3MsIGV2ZW4KLXRob3VnaCBtb3N0IG9m IHRoZW0gYXJlIGp1c3QgZmFsbG91dCBmcm9tIHRoZSBmaXJzdC4KLQotYW4gZXhhbXBsZTogYnVn cyA3MTA5MjUgNzEwOTMwIDcxMDkzMiA3MTA5MzMgNzEwOTM1IDcxMDk0MiA3MTA5NDggNzEwOTU1 IDcxMDk1NgotYXJlIGFsbCB0aGUgc2FtZSBjcmFzaC4gVGhlIHRyYWNlcyBhbmQgYWRkcmVzc2Vz IGFyZSBkaWZmZXJlbnQsIGJ1dCAnc29tZXRoaW5nCi1zY3JpYmJsZWQgb3ZlciBtZW1vcnknIGlz IHRoZSByb290IGNhdXNlIGhlcmUuIFNhZGx5IG91dCBvZiBhbGwgdGhvc2UgYnVncywgd2UKLWFj dHVhbGx5IHNvbWVob3cgbWlzc2VkIHRoZSBmaXJzdCBjcmFzaCB3aGljaCBpcyB0aGUgbW9zdCBy ZWxldmFudCBvbmUuIChUaGF0Ci1vbmUgd291bGQgaGF2ZSBub3QgaGFkIHRoZSAnVGFpbnRlZDog RyBCJyB0ZXh0KQotLS0tCi0KLUZpcnN0IHBhcnQgb2YgdGhlIHBhdGNoIGlzIHRoYXQgd2Ugd29u J3QgcmVsYXkgb24gL3Byb2Mvc3lzL2tlcm5lbC90YWludGVkIGFuZAotd2Ugd2lsbCBwYXJzZSB0 aGUga2VybmVsIGJ0IG1hbnVhbGx5LCBiZWNhdXNlIG9mIHJlYWRpbmcgdGhhdCBmaWxlIGFmdGVy IGFuIG9vcHMKLWlzIEFMV0FZUyBnb2luZyB0byBzaG93IGl0IGFzIHRhaW50ZWQuCi0KLVNlY29u ZCBwYXJ0IG9mIHRoZSBwYXRjaCBpcyB0aGF0IHdoZW5ldmVyIHlvdSB3YW50IHRvIHByb2hpYml0 IHJlcG9ydGluZywgcHV0IGEKLWZpbGUgd2l0aCBuYW1lICpub3QtcmVwb3J0YWJsZSogaW50byA8 ZHVtcC1kaXI+LiBUaGF0IGZpbGUgY291bGQgYmUgZW1wdHkgb3Igd2l0aAotcmVhc29uYWJsZSBt ZXNzYWdlIHdoeSBhcmUgeW91IHRyeWluZyB0byBwcm9oaWJpdCByZXBvcnRpbmcuCi0KLUFsbCAz IHJlcG9ydGVycyBwbHVnaW5zIHdpbGwgYmUgcmVzcGVjdCB0aGF0IGZpbGUgYW5kIGl0IHdvbid0 IHRyeSB0byByZXBvcnQgYW55dGhpbmcuCi1SZXBvcnRlcnMgd2lsbCBzaG93IG9ubHkgdGhlIG1l c3NhZ2VzIGZyb20gKm5vdC1yZXBvcnRhYmxlKiBhbmQgKnJlYXNvbiouCi0KLVNpZ25lZC1vZmYt Ynk6IE5pa29sYSBQYWprb3Zza3kgPG5wYWprb3ZzQHJlZGhhdC5jb20+Ci0tLS0KLSBzcmMvZ3Vp LWd0ay9tYWluLmMgICAgICAgICAgIHwgICAxNiArKysrKysrKy0tCi0gc3JjL3BsdWdpbnMvYWJy dC1kdW1wLW9vcHMuYyB8ICAgNjUgKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0t LS0tLS0KLSAyIGZpbGVzIGNoYW5nZWQsIDQ5IGluc2VydGlvbnMoKyksIDMyIGRlbGV0aW9ucygt KQotCi1kaWZmIC0tZ2l0IGEvc3JjL2d1aS1ndGsvbWFpbi5jIGIvc3JjL2d1aS1ndGsvbWFpbi5j Ci1pbmRleCA4MTcyOTUxLi5kMTFiZjU3IDEwMDY0NAotLS0tIGEvc3JjL2d1aS1ndGsvbWFpbi5j Ci0rKysgYi9zcmMvZ3VpLWd0ay9tYWluLmMKLUBAIC0xMDAsNyArMTAwLDE0IEBAIHN0YXRpYyB2 b2lkIGFkZF9kaXJlY3RvcnlfdG9fZGlybGlzdChjb25zdCBjaGFyICpkaXJuYW1lKQotICAgICB9 Ci0gICAgIGZyZWUodGltZV9zdHIpOwotIAotLSAgICBjaGFyICpyZWFzb24gPSBkZF9sb2FkX3Rl eHQoZGQsIEZJTEVOQU1FX1JFQVNPTik7Ci0rCi0rICAgIGNoYXIgKm5vdF9yZXBvcnRhYmxlX3Jl YXNvbiA9IGRkX2xvYWRfdGV4dF9leHQoZGQsIEZJTEVOQU1FX05PVF9SRVBPUlRBQkxFLCAwCi0r ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBERF9M T0FEX1RFWFRfUkVUVVJOX05VTExfT05fRkFJTFVSRQotKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgRERfRkFJTF9RVUlFVExZX0VOT0VOVAotKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgRERfRkFJ TF9RVUlFVExZX0VBQ0NFUyk7Ci0rICAgIGNoYXIgKnJlYXNvbiA9IE5VTEw7Ci0rICAgIGlmICgh bm90X3JlcG9ydGFibGVfcmVhc29uKQotKyAgICAgICAgcmVhc29uID0gZGRfbG9hZF90ZXh0KGRk LCBGSUxFTkFNRV9SRUFTT04pOwotIAotICAgICAvKiB0aGUgc291cmNlIG9mIHRoZSBwcm9ibGVt OgotICAgICAgKiAtIGZpcnN0IHdlIHRyeSB0byBsb2FkIGNvbXBvbmVudCwgYXMgd2UgdXNlIGl0 IG9uIEZlZG9yYQotQEAgLTE0Miw3ICsxNDksNyBAQCBzdGF0aWMgdm9pZCBhZGRfZGlyZWN0b3J5 X3RvX2Rpcmxpc3QoY29uc3QgY2hhciAqZGlybmFtZSkKLSAgICAgZ3RrX2xpc3Rfc3RvcmVfYXBw ZW5kKGxpc3Rfc3RvcmUsICZpdGVyKTsKLSAgICAgZ3RrX2xpc3Rfc3RvcmVfc2V0KGxpc3Rfc3Rv cmUsICZpdGVyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgQ09MVU1OX1NPVVJDRSwgc291 cmNlLAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgQ09MVU1OX1JFQVNPTiwgcmVhc29uLAot KyAgICAgICAgICAgICAgICAgICAgICAgICAgQ09MVU1OX1JFQVNPTiwgbm90X3JlcG9ydGFibGVf cmVhc29uPyA6cmVhc29uLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9PUFRJT046IHRp bWUgZm9ybWF0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICBDT0xVTU5fTEFURVNUX0NSQVNI X1NUUiwgdGltZV9idWYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBDT0xVTU5fTEFURVNU X0NSQVNILCB0LAotQEAgLTE1MCw2ICsxNTcsNyBAQCBzdGF0aWMgdm9pZCBhZGRfZGlyZWN0b3J5 X3RvX2Rpcmxpc3QoY29uc3QgY2hhciAqZGlybmFtZSkKLSAgICAgICAgICAgICAgICAgICAgICAg ICAgIENPTFVNTl9SRVBPUlRFRF9UTywgbXNnID8gc3VibV9zdGF0dXMgOiBOVUxMLAotICAgICAg ICAgICAgICAgICAgICAgICAgICAgLTEpOwotICAgICAvKiB0aGlzIGlzIHNhZmUsIHN1Ym1fc3Rh dHVzIGlzIGVpdGhlciBudWxsIG9yIG1hbGxvY2VkIHN0cmluZyBmcm9tIGdldF9sYXN0X2xpbmUg Ki8KLSsgICAgZnJlZShub3RfcmVwb3J0YWJsZV9yZWFzb24pOwotICAgICBmcmVlKHN1Ym1fc3Rh dHVzKTsKLSAgICAgZnJlZShtc2cpOwotICAgICBmcmVlKHJlYXNvbik7Ci1AQCAtMjQzLDcgKzI1 MSw5IEBAIHN0YXRpYyB2b2lkIG9uX3Jvd19hY3RpdmF0ZWRfY2IoR3RrVHJlZVZpZXcgKnRyZWV2 aWV3LCBHdGtUcmVlUGF0aCAqcGF0aCwgR3RrVHJlCi0gICAgICAgICAgICAgZ3RrX3RyZWVfbW9k ZWxfZ2V0X3ZhbHVlKHN0b3JlLCAmaXRlciwgQ09MVU1OX0RVTVBfRElSLCAmZF9kaXIpOwotIAot ICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmRpcm5hbWUgPSBnX3ZhbHVlX2dldF9zdHJpbmcoJmRf ZGlyKTsKLS0gICAgICAgICAgICByZXBvcnRfcHJvYmxlbV9pbl9kaXIoZGlybmFtZSwgTElCUkVQ T1JUX0FOQUxZWkUgfCBMSUJSRVBPUlRfTk9XQUlUIHwgTElCUkVQT1JUX0dFVFBJRCk7Ci0rCi0r ICAgICAgICAgICAgcmVwb3J0X3Byb2JsZW1faW5fZGlyKGRpcm5hbWUsCi0rICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIExJQlJFUE9SVF9BTkFMWVpFIHwgTElCUkVQT1JUX05PV0FJ VCB8IExJQlJFUE9SVF9HRVRQSUQpOwotICAgICAgICAgfQotICAgICB9Ci0gfQotZGlmZiAtLWdp dCBhL3NyYy9wbHVnaW5zL2FicnQtZHVtcC1vb3BzLmMgYi9zcmMvcGx1Z2lucy9hYnJ0LWR1bXAt b29wcy5jCi1pbmRleCA3NmM2OTlkLi41OGFmNTA2IDEwMDY0NAotLS0tIGEvc3JjL3BsdWdpbnMv YWJydC1kdW1wLW9vcHMuYwotKysrIGIvc3JjL3BsdWdpbnMvYWJydC1kdW1wLW9vcHMuYwotQEAg LTQ4MCwxNiArNDgwLDYgQEAgc3RhdGljIHVuc2lnbmVkIHNhdmVfb29wc190b19kdW1wX2RpcihH TGlzdCAqb29wc19saXN0LCB1bnNpZ25lZCBvb3BzX2NudCkKLSAKLSAgICAgVkVSQjEgbG9nKCJT YXZpbmcgJXUgb29wc2VzIGFzIGR1bXAgZGlycyIsIGlkeCA+PSBjb3VudGRvd24gPyBjb3VudGRv d24tMSA6IGlkeCk7Ci0gCi0tICAgIGNoYXIgKnRhaW50ZWRfc3RyID0gTlVMTDsKLS0gICAgRklM RSAqdGFpbnRlZF9mcCA9IGZvcGVuKCIvcHJvYy9zeXMva2VybmVsL3RhaW50ZWQiLCAiciIpOwot LSAgICBpZiAodGFpbnRlZF9mcCkKLS0gICAgewotLSAgICAgICAgdGFpbnRlZF9zdHIgPSB4bWFs bG9jX2ZnZXRsaW5lKHRhaW50ZWRfZnApOwotLSAgICAgICAgZmNsb3NlKHRhaW50ZWRfZnApOwot LSAgICB9Ci0tICAgIGVsc2UKLS0gICAgICAgIHBlcnJvcl9tc2coIkNhbid0IG9wZW4gJyVzJyIs ICIvcHJvYy9zeXMva2VybmVsL3RhaW50ZWQiKTsKLS0KLSAgICAgY2hhciAqY21kbGluZV9zdHIg PSBOVUxMOwotICAgICBGSUxFICpjbWRsaW5lX2ZwID0gZm9wZW4oIi9wcm9jL2NtZGxpbmUiLCAi ciIpOwotICAgICBpZiAoY21kbGluZV9mcCkKLUBAIC01MzYsMzUgKzUyNiw0NCBAQCBzdGF0aWMg dW5zaWduZWQgc2F2ZV9vb3BzX3RvX2R1bXBfZGlyKEdMaXN0ICpvb3BzX2xpc3QsIHVuc2lnbmVk IG9vcHNfY250KQotICAgICAgICAgICAgIGlmIChjbWRsaW5lX3N0cikKLSAgICAgICAgICAgICAg ICAgZGRfc2F2ZV90ZXh0KGRkLCBGSUxFTkFNRV9DTURMSU5FLCBjbWRsaW5lX3N0cik7Ci0gICAg ICAgICAgICAgZGRfc2F2ZV90ZXh0KGRkLCBGSUxFTkFNRV9CQUNLVFJBQ0UsIHNlY29uZF9saW5l KTsKLS0vLyBUT0RPOiBhZGQgIktlcm5lbCBvb3BzOiAiIHByZWZpeCwgc28gdGhhdCBhbGwgb29w c2VzIGhhdmUgcmVjb2duaXphYmxlIEZJTEVOQU1FX1JFQVNPTj8KLS0vLyBrZXJuZWwgb29wcyAx c3QgbGluZSBtYXkgbG9vayBxdWl0ZSBwdXp6bGluZyBvdGhlcndpc2UuLi4KLS0gICAgICAgICAg ICBzdHJjaHJudWwoc2Vjb25kX2xpbmUsICdcbicpWzBdID0gJ1wwJzsKLS0gICAgICAgICAgICBk ZF9zYXZlX3RleHQoZGQsIEZJTEVOQU1FX1JFQVNPTiwgc2Vjb25kX2xpbmUpOwotIAotLSAgICAg ICAgICAgIGlmICh0YWludGVkX3N0ciAmJiB0YWludGVkX3N0clswXSAhPSAnMCcpCi0rICAgICAg ICAgICAgY2hhciAqdGFpbnRlZF9zaG9ydCA9IGtlcm5lbF90YWludGVkX3Nob3J0KHNlY29uZF9s aW5lKTsKLSsgICAgICAgICAgICBpZiAodGFpbnRlZF9zaG9ydCkKLSAgICAgICAgICAgICB7Ci0t ICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgdGFpbnRlZCA9IHhhdG9pX3Bvc2l0aXZlKHRh aW50ZWRfc3RyKTsKLS0gICAgICAgICAgICAgICAgY2hhciAqdGFpbnRlZF9zaG9ydCA9IGtlcm5l bF90YWludGVkX3Nob3J0KHRhaW50ZWQpOwotLSAgICAgICAgICAgICAgICBHTGlzdCAqdGFpbnRl ZF9sb25nID0ga2VybmVsX3RhaW50ZWRfbG9uZyh0YWludGVkKTsKLS0KLS0gICAgICAgICAgICAg ICAgc3RydWN0IHN0cmJ1ZiAqdG50X2xvbmcgPSBzdHJidWZfbmV3KCk7Ci0tICAgICAgICAgICAg ICAgIGZvciAoR0xpc3QgKmxpID0gdGFpbnRlZF9sb25nOyBsaTsgbGkgPSBsaS0+bmV4dCkKLS0g ICAgICAgICAgICAgICAgICAgIHN0cmJ1Zl9hcHBlbmRfc3RyZih0bnRfbG9uZywgIiVzXG4iLCAo Y2hhciopIGxpLT5kYXRhKTsKLS0KLS0gICAgICAgICAgICAgICAgZGRfc2F2ZV90ZXh0KGRkLCBG SUxFTkFNRV9UQUlOVEVELCB0YWludGVkX3N0cik7Ci0rICAgICAgICAgICAgICAgIFZFUkIxIGxv ZygiS2VybmVsIGlzIHRhaW50ZWQgJyVzJyIsIHRhaW50ZWRfc2hvcnQpOwotICAgICAgICAgICAg ICAgICBkZF9zYXZlX3RleHQoZGQsIEZJTEVOQU1FX1RBSU5URURfU0hPUlQsIHRhaW50ZWRfc2hv cnQpOwotLSAgICAgICAgICAgICAgICBkZF9zYXZlX3RleHQoZGQsIEZJTEVOQU1FX1RBSU5URURf TE9ORywgdG50X2xvbmctPmJ1Zik7Ci0tICAgICAgICAgICAgICAgIHN0cmJ1Zl9mcmVlKHRudF9s b25nKTsKLS0gICAgICAgICAgICAgICAgbGlzdF9mcmVlX3dpdGhfZnJlZSh0YWludGVkX2xvbmcp OwotKyAgICAgICAgICAgICAgICBjaGFyICpyZWFzb24gPSB4YXNwcmludGYoIllvdXIga2VybmVs IGlzIHRhaW50ZWQgYnkgZmxhZ3MgJyVzJy4gIgotKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIktlcm5lbCBtYWludGFpbmVycyBhcmUgbm90IGludGVyZXN0aW5nIGFi b3V0ICIKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0YWludGVk IGtlcm5lbCwgYmVjYXVzZSB0aGUgdHJhY2UgbWlnaHQgbm90IGJlIHNob3dpbmcgIgotKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRoZSByb290IHByb2JsZW0uIgot KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLCB0YWludGVkX3Nob3J0 KTsKLSsgICAgICAgICAgICAgICAgZGRfc2F2ZV90ZXh0KGRkLCBGSUxFTkFNRV9OT1RfUkVQT1JU QUJMRSwgcmVhc29uKTsKLSsgICAgICAgICAgICAgICAgZnJlZShyZWFzb24pOwotICAgICAgICAg ICAgIH0KLSsvLyBUT0RPOiBhZGQgIktlcm5lbCBvb3BzOiAiIHByZWZpeCwgc28gdGhhdCBhbGwg b29wc2VzIGhhdmUgcmVjb2duaXphYmxlIEZJTEVOQU1FX1JFQVNPTj8KLSsvLyBrZXJuZWwgb29w cyAxc3QgbGluZSBtYXkgbG9vayBxdWl0ZSBwdXp6bGluZyBvdGhlcndpc2UuLi4KLSsgICAgICAg ICAgICBzdHJjaHJudWwoc2Vjb25kX2xpbmUsICdcbicpWzBdID0gJ1wwJzsKLSsgICAgICAgICAg ICBkZF9zYXZlX3RleHQoZGQsIEZJTEVOQU1FX1JFQVNPTiwgc2Vjb25kX2xpbmUpOwotIAotKy8q Ci0rICAgICAgICAgICAgR0xpc3QgKnRhaW50ZWRfbG9uZyA9IGtlcm5lbF90YWludGVkX2xvbmco dGFpbnRlZCk7Ci0rCi0rICAgICAgICAgICAgc3RydWN0IHN0cmJ1ZiAqdG50X2xvbmcgPSBzdHJi dWZfbmV3KCk7Ci0rICAgICAgICAgICAgZm9yIChHTGlzdCAqbGkgPSB0YWludGVkX2xvbmc7IGxp OyBsaSA9IGxpLT5uZXh0KQotKyAgICAgICAgICAgICAgICBzdHJidWZfYXBwZW5kX3N0cmYodG50 X2xvbmcsICIlc1xuIiwgKGNoYXIqKSBsaS0+ZGF0YSk7Ci0rCi0rICAgICAgICAgICAgZGRfc2F2 ZV90ZXh0KGRkLCBGSUxFTkFNRV9UQUlOVEVELCB0YWludGVkX3N0cik7Ci0rICAgICAgICAgICAg ZGRfc2F2ZV90ZXh0KGRkLCBGSUxFTkFNRV9UQUlOVEVEX1NIT1JULCB0YWludGVkX3Nob3J0KTsK LSsgICAgICAgICAgICBkZF9zYXZlX3RleHQoZGQsIEZJTEVOQU1FX1RBSU5URURfTE9ORywgdG50 X2xvbmctPmJ1Zik7Ci0rICAgICAgICAgICAgc3RyYnVmX2ZyZWUodG50X2xvbmcpOwotKyAgICAg ICAgICAgIGxpc3RfZnJlZV93aXRoX2ZyZWUodGFpbnRlZF9sb25nKTsKLSsqLwotICAgICAgICAg ICAgIGRkX2Nsb3NlKGRkKTsKLSAgICAgICAgIH0KLSAgICAgICAgIGVsc2UKLSAgICAgICAgICAg ICBlcnJvcnMrKzsKLSAgICAgfQotIAotLSAgICBmcmVlKHRhaW50ZWRfc3RyKTsKLSAgICAgZnJl ZShjbWRsaW5lX3N0cik7Ci0gCi0gICAgIHJldHVybiBlcnJvcnM7Ci1AQCAtNzE4LDcgKzcxNywx NSBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCi0gICAgICAgICAgICAgewotICAg ICAgICAgICAgICAgICBpbnQgaSA9IDA7Ci0gICAgICAgICAgICAgICAgIHdoaWxlIChpIDwgb29w c19jbnQpCi0tICAgICAgICAgICAgICAgICAgICBwcmludGYoIlxuVmVyc2lvbjogJXMiLCAoY2hh ciopZ19saXN0X250aF9kYXRhKG9vcHNfbGlzdCwgaSsrKSk7Ci0rICAgICAgICAgICAgICAgIHsK LSsgICAgICAgICAgICAgICAgICAgIGNoYXIgKmtlcm5lbF9idCA9IChjaGFyKilnX2xpc3RfbnRo X2RhdGEob29wc19saXN0LCBpKyspOwotKyAgICAgICAgICAgICAgICAgICAgY2hhciAqdGFpbnRl ZF9zaG9ydCA9IGtlcm5lbF90YWludGVkX3Nob3J0KGtlcm5lbF9idCk7Ci0rICAgICAgICAgICAg ICAgICAgICBpZiAodGFpbnRlZF9zaG9ydCkKLSsgICAgICAgICAgICAgICAgICAgICAgICBsb2co Iktlcm5lbCBpcyB0YWludGVkICclcyciLCB0YWludGVkX3Nob3J0KTsKLSsKLSsgICAgICAgICAg ICAgICAgICAgIGZyZWUodGFpbnRlZF9zaG9ydCk7Ci0rICAgICAgICAgICAgICAgICAgICBwcmlu dGYoIlxuVmVyc2lvbjogJXMiLCBrZXJuZWxfYnQpOwotKyAgICAgICAgICAgICAgICB9Ci0gICAg ICAgICAgICAgfQotICAgICAgICAgICAgIGlmICgob3B0cyAmIE9QVF9kKSB8fCAob3B0cyAmIE9Q VF9EKSkKLSAgICAgICAgICAgICB7Ci0tLSAKLTEuNy43LnJjMC43MC5nODI2NjAKLQoKZGlmZiAt LWdpdCBhLzAwMDItZGlzYWJsZWQtcmVwb3J0aW5nLXRvLWtlcm5lbG9vcHMub3JnLnBhdGNoIGIv MDAwMi1kaXNhYmxlZC1yZXBvcnRpbmctdG8ta2VybmVsb29wcy5vcmcucGF0Y2gKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2M0NmVjOAotLS0gL2Rldi9udWxsCisrKyBiLzAw MDItZGlzYWJsZWQtcmVwb3J0aW5nLXRvLWtlcm5lbG9vcHMub3JnLnBhdGNoCkBAIC0wLDAgKzEs MjcgQEAKK0Zyb20gM2UzOWQ1Yjk5NDQ1MzZhNmY0ZDRmMjY2YjNjNDk2MWFkOGRhNDQzZSBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEppcmkgPG1vc2tvdmNha0BnbWFpbC5jb20+CitE YXRlOiBXZWQsIDcgRGVjIDIwMTEgMTA6MzQ6MjcgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSCAyLzJd IGRpc2FibGVkIHJlcG9ydGluZyB0byBrZXJuZWxvb3BzLm9yZworCistIHdlIGdldCBsb3Qgb2Yg Y29tcGxhaW5zIGFib3V0IGRlYWQga2VybmVsb29wcy5vcmcgYW5kIHNpbmNlIGl0J3MKKyAgbm90 IHdpaHRpbiBvdXIgcG93ZXIgdG8gZml4IGl0IC0+IGRpc2FibGUgaXQhCistLS0KKyBzcmMvcGx1 Z2lucy9rb29wc19ldmVudC5jb25mIHwgICAgMiArLQorIDEgZmlsZXMgY2hhbmdlZCwgMSBpbnNl cnRpb25zKCspLCAxIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc3JjL3BsdWdpbnMva29v cHNfZXZlbnQuY29uZiBiL3NyYy9wbHVnaW5zL2tvb3BzX2V2ZW50LmNvbmYKK2luZGV4IDNiODBh MWIuLjJmZGNjZGEgMTAwNjQ0CistLS0gYS9zcmMvcGx1Z2lucy9rb29wc19ldmVudC5jb25mCisr KysgYi9zcmMvcGx1Z2lucy9rb29wc19ldmVudC5jb25mCitAQCAtMTAsNyArMTAsNyBAQCBFVkVO VD1wb3N0LWNyZWF0ZSBhbmFseXplcj1LZXJuZWxvb3BzCisgICAgICAgICByZXBvcnRlci1rZXJu ZWxvb3BzCisgCisgIyByZXBvcnQKKy1FVkVOVD1yZXBvcnRfS2VybmVsb29wcyBhbmFseXplcj1L ZXJuZWxvb3BzCisrI0VWRU5UPXJlcG9ydF9LZXJuZWxvb3BzIGFuYWx5emVyPUtlcm5lbG9vcHMK KyAgICAgICAgIHJlcG9ydGVyLWtlcm5lbG9vcHMKKyAKKyBFVkVOVD1yZXBvcnRfQnVnemlsbGEg YW5hbHl6ZXI9S2VybmVsb29wcworLS0gCisxLjcuNy4zCisKCmRpZmYgLS1naXQgYS8wMDAyLWd0 azMtYnVpbGQtZml4ZXMucGF0Y2ggYi8wMDAyLWd0azMtYnVpbGQtZml4ZXMucGF0Y2gKZGVsZXRl ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ3NjgyZjIuLjAwMDAwMDAKLS0tIGEvMDAwMi1ndGsz LWJ1aWxkLWZpeGVzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNzkgKzAsMCBAQAotRnJvbSBh ZjYyZjVmOWZjMzFhOGIyNGE1Njk4M2QzN2NhZDJkMjkzODBmZjIwIE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQotRnJvbTogSmlyaSBNb3Nrb3ZjYWsgPGptb3Nrb3ZjQHJlZGhhdC5jb20+Ci1EYXRl OiBGcmksIDQgTm92IDIwMTEgMTU6Mjg6MTUgKzAxMDAKLVN1YmplY3Q6IFtQQVRDSCAyLzJdIGd0 azMgYnVpbGQgZml4ZXMKLQotLS0tCi0gY29uZmlndXJlLmFjICAgICAgICB8ICAgIDcgKysrKysr LQotIHNyYy9hcHBsZXQvYXBwbGV0LmMgfCAgICA0ICsrLS0KLSBzcmMvZ3VpLWd0ay9tYWluLmMg IHwgICAgNyArKysrKystCi0gMyBmaWxlcyBjaGFuZ2VkLCAxNCBpbnNlcnRpb25zKCspLCA0IGRl bGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCi1p bmRleCA2YjA3MzJjLi5kNTg0MDQ3IDEwMDY0NAotLS0tIGEvY29uZmlndXJlLmFjCi0rKysgYi9j b25maWd1cmUuYWMKLUBAIC0yMCw2ICsyMCwxMSBAQCBBQ19BUkdfRU5BQkxFKGRlYnVnLAotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgW0VuYWJsZSBkZWJ1ZyBpbmZvcm1hdGlvbl0pXSwK LSAgICAgICAgICAgICAgIFtDRkxBR1M9IiRDRkxBR1MgLURERUJVRyAtZ2dkYiAtZyJdKQotIAot K0FDX0FSR19FTkFCTEUoZ3RrMywKLSsgICAgICAgICAgICAgIFtBQ19IRUxQX1NUUklORyhbLS1l bmFibGUtZ3RrM10sCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbVXNlIGd0azMgaW5z dGVhZCBvZiBndGsyXSldLAotKyAgICAgICAgICAgICAgW0dUS19WRVI9Imd0aystMy4wIl0sW0dU S19WRVI9Imd0aystMi4wIl0pCi0rCi0gZG5sICoqKioqKiBJTlRFUk5BVElPTkFMSVpBVElPTiAq KioqKioqKioqKioqKioqKioqKioqCi0gR0VUVEVYVF9QQUNLQUdFPWFicnQKLSBBQ19TVUJTVChH RVRURVhUX1BBQ0tBR0UpCi1AQCAtNTYsNyArNjEsNyBAQCBBQ19QQVRIX1BST0coW1hNTFRPXSwg W3htbHRvXSwgW25vXSkKLSAgICAgW2V4aXQgMV0KLSBbZmldCi0gCi0tUEtHX0NIRUNLX01PRFVM RVMoW0dUS10sIFtndGsrLTIuMF0pCi0rUEtHX0NIRUNLX01PRFVMRVMoW0dUS10sIFskR1RLX1ZF Ul0pCi0gUEtHX0NIRUNLX01PRFVMRVMoW0dMSUJdLCBbZ2xpYi0yLjAgPj0gMi4yMV0pCi0gUEtH X0NIRUNLX01PRFVMRVMoW0RCVVNdLCBbZGJ1cy0xXSkKLSBQS0dfQ0hFQ0tfTU9EVUxFUyhbTElC WE1MXSwgW2xpYnhtbC0yLjBdKQotZGlmZiAtLWdpdCBhL3NyYy9hcHBsZXQvYXBwbGV0LmMgYi9z cmMvYXBwbGV0L2FwcGxldC5jCi1pbmRleCA0ZmY3M2I2Li45NWI3MDkxIDEwMDY0NAotLS0tIGEv c3JjL2FwcGxldC9hcHBsZXQuYwotKysrIGIvc3JjL2FwcGxldC9hcHBsZXQuYwotQEAgLTU4MSw4 ICs1ODEsOCBAQCBzdGF0aWMgdm9pZCBpbml0X2FwcGxldCh2b2lkKQotICAgICAgICAgICAgIGFw X3N0YXR1c19pY29uID0gZ3RrX3N0YXR1c19pY29uX25ld19mcm9tX2ljb25fbmFtZSgiYWJydCIp OwotICAgICAgICAgfQotICAgICAgICAgaGlkZV9pY29uKCk7Ci0tICAgICAgICBnX3NpZ25hbF9j b25uZWN0KEdfT0JKRUNUKGFwX3N0YXR1c19pY29uKSwgImFjdGl2YXRlIiwgR1RLX1NJR05BTF9G VU5DKG9uX2FwcGxldF9hY3RpdmF0ZV9jYiksIE5VTEwpOwotLSAgICAgICAgZ19zaWduYWxfY29u bmVjdChHX09CSkVDVChhcF9zdGF0dXNfaWNvbiksICJwb3B1cF9tZW51IiwgR1RLX1NJR05BTF9G VU5DKG9uX21lbnVfcG9wdXBfY2IpLCBOVUxMKTsKLSsgICAgICAgIGdfc2lnbmFsX2Nvbm5lY3Qo R19PQkpFQ1QoYXBfc3RhdHVzX2ljb24pLCAiYWN0aXZhdGUiLCBHX0NBTExCQUNLKG9uX2FwcGxl dF9hY3RpdmF0ZV9jYiksIE5VTEwpOwotKyAgICAgICAgZ19zaWduYWxfY29ubmVjdChHX09CSkVD VChhcF9zdGF0dXNfaWNvbiksICJwb3B1cF9tZW51IiwgR19DQUxMQkFDSyhvbl9tZW51X3BvcHVw X2NiKSwgTlVMTCk7Ci0gICAgICAgICBhcF9tZW51ID0gY3JlYXRlX21lbnUoKTsKLSAgICAgfQot IAotZGlmZiAtLWdpdCBhL3NyYy9ndWktZ3RrL21haW4uYyBiL3NyYy9ndWktZ3RrL21haW4uYwot aW5kZXggYThhYWNlYy4uYjMxNTA5YiAxMDA2NDQKLS0tLSBhL3NyYy9ndWktZ3RrL21haW4uYwot KysrIGIvc3JjL2d1aS1ndGsvbWFpbi5jCi1AQCAtMjUsNiArMjUsMTEgQEAKLSAjaW5jbHVkZSA8 aW50ZXJuYWxfbGlicmVwb3J0X2d0ay5oPgotICNpbmNsdWRlICJsaWJhYnJ0LmgiCi0gCi0rI2lm IEdUS19NQUpPUl9WRVJTSU9OID09IDIgJiYgR1RLX01JTk9SX1ZFUlNJT04gPCAyMgotKyMgZGVm aW5lIEdES19LRVlfRGVsZXRlIEdES19EZWxldGUKLSsjIGRlZmluZSBHREtfS0VZX0tQX0RlbGV0 ZSBHREtfS1BfRGVsZXRlCi0rI2VuZGlmCi0rCi0gc3RhdGljIHZvaWQgc2Nhbl9kaXJzX2FuZF9h ZGRfdG9fZGlybGlzdCh2b2lkKTsKLSAKLSAKLUBAIC00NjAsNyArNDY1LDcgQEAgc3RhdGljIGdp bnQgb25fa2V5X3ByZXNzX2V2ZW50X2NiKEd0a1RyZWVWaWV3ICp0cmVldmlldywgR2RrRXZlbnRL ZXkgKmtleSwgZ3BvaW4KLSB7Ci0gICAgIGludCBrID0ga2V5LT5rZXl2YWw7Ci0gCi0tICAgIGlm IChrID09IEdES19EZWxldGUgfHwgayA9PSBHREtfS1BfRGVsZXRlKQotKyAgICBpZiAoayA9PSBH REtfS0VZX0RlbGV0ZSB8fCBrID09IEdES19LRVlfS1BfRGVsZXRlKQotICAgICB7Ci0gICAgICAg ICBkZWxldGVfcmVwb3J0KHRyZWV2aWV3KTsKLSAgICAgICAgIHJldHVybiBUUlVFOwotLS0gCi0x LjcuNwotCgpkaWZmIC0tZ2l0IGEvMDAwMi1ndWktc3BsaXQtdGhlLW1haW4td2luZG93LWluLTIt cGFuZXMtcmVwb3J0ZWQtbm90LXJlLnBhdGNoIGIvMDAwMi1ndWktc3BsaXQtdGhlLW1haW4td2lu ZG93LWluLTItcGFuZXMtcmVwb3J0ZWQtbm90LXJlLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEw MDY0NAppbmRleCBkZDk3M2UyLi4wMDAwMDAwCi0tLSBhLzAwMDItZ3VpLXNwbGl0LXRoZS1tYWlu LXdpbmRvdy1pbi0yLXBhbmVzLXJlcG9ydGVkLW5vdC1yZS5wYXRjaAorKysgL2Rldi9udWxsCkBA IC0xLDM1NCArMCwwIEBACi1Gcm9tIDNmMzY1NTk4MDAwN2QzOWUwMzc3ZTc2YTQ5ZmQyOTM3ZjQz ZjBiZTcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBKaXJpIE1vc2tvdmNhayA8am1v c2tvdmNAcmVkaGF0LmNvbT4KLURhdGU6IFRodSwgMjEgSnVsIDIwMTEgMTE6MDI6MTEgKzAyMDAK LVN1YmplY3Q6IFtQQVRDSCAyLzRdIGd1aTogc3BsaXQgdGhlIG1haW4gd2luZG93IGluIDIgcGFu ZXMgLQotIHJlcG9ydGVkL25vdC1yZXBvcnRlZAotCi0tLS0KLSBzcmMvZ3VpLWd0ay9tYWluLmMg fCAgMjE1ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0t LS0KLSAxIGZpbGVzIGNoYW5nZWQsIDE4MiBpbnNlcnRpb25zKCspLCAzMyBkZWxldGlvbnMoLSkK LQotZGlmZiAtLWdpdCBhL3NyYy9ndWktZ3RrL21haW4uYyBiL3NyYy9ndWktZ3RrL21haW4uYwot aW5kZXggMTQwOTE5MS4uNzc2ZTg1YSAxMDA2NDQKLS0tLSBhL3NyYy9ndWktZ3RrL21haW4uYwot KysrIGIvc3JjL2d1aS1ndGsvbWFpbi5jCi1AQCAtMzIsNyArMzIsOSBAQCBzdGF0aWMgY29uc3Qg Y2hhciBoZWxwX3VyaVtdID0gImh0dHA6Ly9kb2NzLmZlZG9yYXByb2plY3Qub3JnL2VuLVVTLyIK LSAgICAgIkZlZG9yYS8xNC9odG1sL0RlcGxveW1lbnRfR3VpZGUvY2gtYWJydC5odG1sIjsKLSAK LSBzdGF0aWMgR3RrTGlzdFN0b3JlICpzX2R1bXBzX2xpc3Rfc3RvcmU7Ci0rc3RhdGljIEd0a0xp c3RTdG9yZSAqc19yZXBvcnRlZF9kdW1wc19saXN0X3N0b3JlOwotIHN0YXRpYyBHdGtXaWRnZXQg KnNfdHJlZXZpZXc7Ci0rc3RhdGljIEd0a1dpZGdldCAqc19yZXBvcnRlZF90cmVldmlldzsKLSBz dGF0aWMgR3RrV2lkZ2V0ICpnX21haW5fd2luZG93OwotIHN0YXRpYyBHdGtXaWRnZXQgKnNfcmVw b3J0X3dpbmRvdzsKLSAKLUBAIC00MCwxMyArNDIsMzggQEAgZW51bQotIHsKLSAgICAgQ09MVU1O X1NPVVJDRSwKLSAgICAgQ09MVU1OX1JFQVNPTiwKLS0gICAgQ09MVU1OX0RJUk5BTUUsCi0gICAg IENPTFVNTl9MQVRFU1RfQ1JBU0hfU1RSLAotICAgICBDT0xVTU5fTEFURVNUX0NSQVNILAotICAg ICBDT0xVTU5fRFVNUF9ESVIsCi0rICAgIENPTFVNTl9SRVBPUlRFRF9UTywKLSAgICAgTlVNX0NP TFVNTlMKLSB9OwotIAotKy8vRklYTUU6IG1heWJlIHdlIGNhbiB1c2Ugc3RycmNociBhbmQgbWFr ZSB0aGlzIGZhc3Rlci4uLgotK3N0YXRpYyBjaGFyICpnZXRfbGFzdF9saW5lKGNvbnN0IGNoYXIq IG1zZykKLSt7Ci0rICAgIGNvbnN0IGNoYXIgKmN1cnJfZW5kID0gTlVMTDsKLSsgICAgY29uc3Qg Y2hhciAqc3RhcnQgPSBtc2c7Ci0rICAgIGNvbnN0IGNoYXIgKmVuZCA9IG1zZzsKLSsKLSsgICAg d2hpbGUoKGN1cnJfZW5kID0gc3RyY2hyKGVuZCwgJ1xuJykpICE9IE5VTEwpCi0rICAgIHsKLSsg ICAgICAgIGVuZCA9IGN1cnJfZW5kOwotKyAgICAgICAgY3Vycl9lbmQgPSBzdHJjaHIoZW5kKzEs ICdcbicpOwotKyAgICAgICAgaWYgKGN1cnJfZW5kID09IE5VTEwgfHwgc3RyY2hyKGVuZCsyLCAn XG4nKSA9PSBOVUxMKQotKyAgICAgICAgICAgIGJyZWFrOwotKwotKyAgICAgICAgc3RhcnQgPSBl bmQrMTsKLSsgICAgICAgIGVuZCA9IGN1cnJfZW5kOwotKyAgICB9Ci0rCi0rICAgIC8vZml4IHRo ZSBjYXNlIHdoZXJlIHJlcG9ydGVkX3RvIGhhcyBvbmx5IDEgbGluZSB3aXRob3V0IFxuCi0rICAg IGlmIChlbmQgPT0gbXNnKQotKyAgICAgICAgZW5kID0gZW5kICsgc3RybGVuKG1zZyk7Ci0rCi0r ICAgIHJldHVybiB4c3RybmR1cChzdGFydCwgZW5kIC0gc3RhcnQpOwotK30KLSsKLSBzdGF0aWMg dm9pZCBhZGRfZGlyZWN0b3J5X3RvX2Rpcmxpc3QoY29uc3QgY2hhciAqZGlybmFtZSkKLSB7Ci0g ICAgIC8qIFNpbGVudGx5IGlnbm9yZSAqYW55KiBlcnJvcnMsIG5vdCBvbmx5IEVBQ0NFUy4KLUBA IC02NywyMSArOTQsMTEgQEAgc3RhdGljIHZvaWQgYWRkX2RpcmVjdG9yeV90b19kaXJsaXN0KGNv bnN0IGNoYXIgKmRpcm5hbWUpCi0gICAgIHsKLSAgICAgICAgIHRpbWVfdCB0ID0gc3RydG9sKHRp bWVfc3RyLCBOVUxMLCAxMCk7IC8qIGF0b2kgd29uJ3Qgd29yayBwYXN0IDIwMzghICovCi0gICAg ICAgICBzdHJ1Y3QgdG0gKnB0bSA9IGxvY2FsdGltZSgmdCk7Ci0tICAgICAgICBzaXplX3QgdGlt ZV9sZW4gPSBzdHJmdGltZSh0aW1lX2J1Ziwgc2l6ZW9mKHRpbWVfYnVmKS0xLCAiJVktJW0tJW0g JUg6JU0iLCBwdG0pOwotKyAgICAgICAgc2l6ZV90IHRpbWVfbGVuID0gc3RyZnRpbWUodGltZV9i dWYsIHNpemVvZih0aW1lX2J1ZiktMSwgIiVZLSVtLSVkICVIOiVNIiwgcHRtKTsKLSAgICAgICAg IHRpbWVfYnVmW3RpbWVfbGVuXSA9ICdcMCc7Ci0gICAgIH0KLSAgICAgZnJlZSh0aW1lX3N0cik7 Ci0gCi0tICAgIC8qCi0tICAgIGNoYXIgKm1zZyA9IGRkX2xvYWRfdGV4dF9leHQoZGQsIEZJTEVO QU1FX1JFUE9SVEVEX1RPLCAwCi0tICAgICAgICAgICAgICAgIHwgRERfTE9BRF9URVhUX1JFVFVS Tl9OVUxMX09OX0ZBSUxVUkUKLS0gICAgICAgICAgICAgICAgfCBERF9GQUlMX1FVSUVUTFlfRU5P RU5UCi0tICAgICAgICAgICAgICAgIHwgRERfRkFJTF9RVUlFVExZX0VBQ0NFUwotLSAgICApOwot LSAgICBjb25zdCBjaGFyICpyZXBvcnRlZCA9IChtc2cgPyBHVEtfU1RPQ0tfWUVTIDogR1RLX1NU T0NLX05PKTsKLS0gICAgZnJlZShtc2cpOwotLSAgICAqLwotLQotICAgICBjaGFyICpyZWFzb24g PSBkZF9sb2FkX3RleHQoZGQsIEZJTEVOQU1FX1JFQVNPTik7Ci0gCi0gICAgIC8qIHRoZSBzb3Vy Y2Ugb2YgdGhlIHByb2JsZW06Ci1AQCAtMTAyLDE4ICsxMTksMzggQEAgc3RhdGljIHZvaWQgYWRk X2RpcmVjdG9yeV90b19kaXJsaXN0KGNvbnN0IGNoYXIgKmRpcm5hbWUpCi0gICAgICAgICApOwot ICAgICB9Ci0gCi0rICAgIGNoYXIgKm1zZyA9IGRkX2xvYWRfdGV4dF9leHQoZGQsIEZJTEVOQU1F X1JFUE9SVEVEX1RPLCAwCi0rICAgICAgICAgICAgICAgIHwgRERfTE9BRF9URVhUX1JFVFVSTl9O VUxMX09OX0ZBSUxVUkUKLSsgICAgICAgICAgICAgICAgfCBERF9GQUlMX1FVSUVUTFlfRU5PRU5U Ci0rICAgICAgICAgICAgICAgIHwgRERfRkFJTF9RVUlFVExZX0VBQ0NFUwotKyAgICApOwotKwot KwotKyAgICBHdGtMaXN0U3RvcmUgKmxpc3Rfc3RvcmU7Ci0rCi0rICAgIGNoYXIgKnN1Ym1fc3Rh dHVzID0gTlVMTDsKLSsgICAgaWYgKG1zZykKLSsgICAgewotKyAgICAgICAgbGlzdF9zdG9yZSA9 IHNfcmVwb3J0ZWRfZHVtcHNfbGlzdF9zdG9yZTsKLSsgICAgICAgIHN1Ym1fc3RhdHVzID0gZ2V0 X2xhc3RfbGluZShtc2cpOwotKyAgICB9Ci0rICAgIGVsc2UKLSsgICAgICAgIGxpc3Rfc3RvcmUg PSBzX2R1bXBzX2xpc3Rfc3RvcmU7Ci0gCi0gICAgIEd0a1RyZWVJdGVyIGl0ZXI7Ci0tICAgIGd0 a19saXN0X3N0b3JlX2FwcGVuZChzX2R1bXBzX2xpc3Rfc3RvcmUsICZpdGVyKTsKLS0gICAgZ3Rr X2xpc3Rfc3RvcmVfc2V0KHNfZHVtcHNfbGlzdF9zdG9yZSwgJml0ZXIsCi0rICAgIGd0a19saXN0 X3N0b3JlX2FwcGVuZChsaXN0X3N0b3JlLCAmaXRlcik7Ci0rICAgIGd0a19saXN0X3N0b3JlX3Nl dChsaXN0X3N0b3JlLCAmaXRlciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIENPTFVNTl9T T1VSQ0UsIHNvdXJjZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIENPTFVNTl9SRUFTT04s IHJlYXNvbiwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgIENPTFVNTl9ESVJOQU1FLCBkZC0+ ZGRfZGlybmFtZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vT1BUSU9OOiB0aW1lIGZv cm1hdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgQ09MVU1OX0xBVEVTVF9DUkFTSF9TVFIs IHRpbWVfYnVmLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgQ09MVU1OX0xBVEVTVF9DUkFT SCwgdGltZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIENPTFVNTl9EVU1QX0RJUiwgZGly bmFtZSwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgIENPTFVNTl9SRVBPUlRFRF9UTywgbXNn ID8gc3VibV9zdGF0dXMgOiBOVUxMLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEpOwot KyAgICAvKiB0aGlzIGlzIHNhZmUsIHN1Ym1fc3RhdHVzIGlzIGVpdGhlciBudWxsIG9yIG1hbGxv Y2VkIHN0cmluZyBmcm9tIGdldF9sYXN0X2xpbmUgKi8KLSsgICAgZnJlZShzdWJtX3N0YXR1cyk7 Ci0rICAgIGZyZWUobXNnKTsKLSAgICAgZnJlZShyZWFzb24pOwotIAotICAgICBkZF9jbG9zZShk ZCk7Ci1AQCAtMTIzLDYgKzE2MCw3IEBAIHN0YXRpYyB2b2lkIGFkZF9kaXJlY3RvcnlfdG9fZGly bGlzdChjb25zdCBjaGFyICpkaXJuYW1lKQotIHN0YXRpYyB2b2lkIHJlc2Nhbl9kaXJzX2FuZF9h ZGRfdG9fZGlybGlzdCh2b2lkKQotIHsKLSAgICAgZ3RrX2xpc3Rfc3RvcmVfY2xlYXIoc19kdW1w c19saXN0X3N0b3JlKTsKLSsgICAgZ3RrX2xpc3Rfc3RvcmVfY2xlYXIoc19yZXBvcnRlZF9kdW1w c19saXN0X3N0b3JlKTsKLSAgICAgc2Nhbl9kaXJzX2FuZF9hZGRfdG9fZGlybGlzdCgpOwotIH0K LSAKLUBAIC0yMzIsNyArMjcwLDcgQEAgc3RhdGljIHZvaWQgZGVsZXRlX3JlcG9ydChHdGtUcmVl VmlldyAqdHJlZXZpZXcpCi0gICAgICAgICAgICAgVkVSQjEgbG9nKCJEZWxldGluZyAnJXMnIiwg ZHVtcF9kaXJfbmFtZSk7Ci0gICAgICAgICAgICAgaWYgKGRlbGV0ZV9kdW1wX2Rpcl9wb3NzaWJs eV91c2luZ19hYnJ0ZChkdW1wX2Rpcl9uYW1lKSA9PSAwKQotICAgICAgICAgICAgIHsKLS0gICAg ICAgICAgICAgICAgZ3RrX2xpc3Rfc3RvcmVfcmVtb3ZlKHNfZHVtcHNfbGlzdF9zdG9yZSwgJml0 ZXIpOwotKyAgICAgICAgICAgICAgICBndGtfbGlzdF9zdG9yZV9yZW1vdmUoR1RLX0xJU1RfU1RP UkUoc3RvcmUpLCAmaXRlcik7Ci0gICAgICAgICAgICAgfQotICAgICAgICAgICAgIGVsc2UKLSAg ICAgICAgICAgICB7Ci1AQCAtMjYyLDcgKzMwMCw5IEBAIHN0YXRpYyBnaW50IG9uX2tleV9wcmVz c19ldmVudF9jYihHdGtUcmVlVmlldyAqdHJlZXZpZXcsIEdka0V2ZW50S2V5ICprZXksIGdwb2lu Ci0gCi0gc3RhdGljIHZvaWQgb25fYnRuX2RlbGV0ZV9jYihHdGtCdXR0b24gKmJ1dHRvbiwgZ3Bv aW50ZXIgdW51c2VkKQotIHsKLSsgICAgLyogZGVsZXRlIGZyb20gYm90aCB0cmVldmlld3MgKi8K LSAgICAgZGVsZXRlX3JlcG9ydChHVEtfVFJFRV9WSUVXKHNfdHJlZXZpZXcpKTsKLSsgICAgZGVs ZXRlX3JlcG9ydChHVEtfVFJFRV9WSUVXKHNfcmVwb3J0ZWRfdHJlZXZpZXcpKTsKLSB9Ci0gCi0g c3RhdGljIHZvaWQgb25fbWVudV9oZWxwX2NiKEd0a01lbnVJdGVtICptZW51aXRlbSwgZ3BvaW50 ZXIgdW51c2VkKQotQEAgLTQyMSw2ICs0NjEsNTAgQEAgc3RhdGljIHZvaWQgYWRkX2NvbHVtbnMo R3RrVHJlZVZpZXcgKnRyZWV2aWV3KQotICAgICBndGtfdHJlZV92aWV3X2FwcGVuZF9jb2x1bW4o dHJlZXZpZXcsIGNvbHVtbik7Ci0gfQotIAotK3N0YXRpYyB2b2lkIGFkZF9jb2x1bW5zX3JlcG9y dGVkKEd0a1RyZWVWaWV3ICp0cmVldmlldykKLSt7Ci0rICAgIEd0a0NlbGxSZW5kZXJlciAqcmVu ZGVyZXI7Ci0rICAgIEd0a1RyZWVWaWV3Q29sdW1uICpjb2x1bW47Ci0rCi0rICAgIHJlbmRlcmVy ID0gZ3RrX2NlbGxfcmVuZGVyZXJfdGV4dF9uZXcoKTsKLSsgICAgY29sdW1uID0gZ3RrX3RyZWVf dmlld19jb2x1bW5fbmV3X3dpdGhfYXR0cmlidXRlcyhfKCJTb3VyY2UiKSwKLSsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbmRlcmVyLAotKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRleHQi LAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Q09MVU1OX1NPVVJDRSwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIE5VTEwpOwotKyAgICBndGtfdHJlZV92aWV3X2NvbHVtbl9zZXRfcmVzaXph YmxlKGNvbHVtbiwgVFJVRSk7Ci0rICAgIGd0a190cmVlX3ZpZXdfY29sdW1uX3NldF9zb3J0X2Nv bHVtbl9pZChjb2x1bW4sIENPTFVNTl9TT1VSQ0UpOwotKyAgICBndGtfdHJlZV92aWV3X2FwcGVu ZF9jb2x1bW4odHJlZXZpZXcsIGNvbHVtbik7Ci0rCi0rICAgIHJlbmRlcmVyID0gZ3RrX2NlbGxf cmVuZGVyZXJfdGV4dF9uZXcoKTsKLSsgICAgY29sdW1uID0gZ3RrX3RyZWVfdmlld19jb2x1bW5f bmV3X3dpdGhfYXR0cmlidXRlcyhfKCJQcm9ibGVtIiksCi0rICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZW5kZXJlciwKLSsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0ZXh0IiwKLSsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENPTFVNTl9SRUFT T04sCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBOVUxMKTsKLSsgICAgZ3RrX3RyZWVfdmlld19jb2x1bW5fc2V0X3Jlc2l6YWJsZShjb2x1bW4s IFRSVUUpOwotKyAgICBndGtfdHJlZV92aWV3X2NvbHVtbl9zZXRfc29ydF9jb2x1bW5faWQoY29s dW1uLCBDT0xVTU5fUkVBU09OKTsKLSsgICAgZ3RrX3RyZWVfdmlld19hcHBlbmRfY29sdW1uKHRy ZWV2aWV3LCBjb2x1bW4pOwotKwotKyAgICByZW5kZXJlciA9IGd0a19jZWxsX3JlbmRlcmVyX3Rl eHRfbmV3KCk7Ci0rICAgIGNvbHVtbiA9IGd0a190cmVlX3ZpZXdfY29sdW1uX25ld193aXRoX2F0 dHJpYnV0ZXMoXygiRGF0ZSBTdWJtaXR0ZWQiKSwKLSsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbmRlcmVyLAotKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRleHQiLAotKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ09MVU1OX0xBVEVTVF9D UkFTSF9TVFIsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBOVUxMKTsKLSsgICAgZ3RrX3RyZWVfdmlld19jb2x1bW5fc2V0X3NvcnRfY29sdW1u X2lkKGNvbHVtbiwgQ09MVU1OX0xBVEVTVF9DUkFTSCk7Ci0rICAgIGd0a190cmVlX3ZpZXdfYXBw ZW5kX2NvbHVtbih0cmVldmlldywgY29sdW1uKTsKLSsKLSsgICAgcmVuZGVyZXIgPSBndGtfY2Vs bF9yZW5kZXJlcl90ZXh0X25ldygpOwotKyAgICBjb2x1bW4gPSBndGtfdHJlZV92aWV3X2NvbHVt bl9uZXdfd2l0aF9hdHRyaWJ1dGVzKF8oIlN1Ym1pc2lvbiBSZXN1bHQiKSwKLSsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbmRlcmVyLAotKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRleHQi LAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Q09MVU1OX1JFUE9SVEVEX1RPLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgTlVMTCk7Ci0rICAgIC8vZ3RrX3RyZWVfdmlld19jb2x1bW5fc2V0 X3NvcnRfY29sdW1uX2lkKGNvbHVtbiwgQ09MVU1OX0xBVEVTVF9DUkFTSCk7Ci0rICAgIGd0a190 cmVlX3ZpZXdfYXBwZW5kX2NvbHVtbih0cmVldmlldywgY29sdW1uKTsKLSt9Ci0rCi0gc3RhdGlj IEd0a1dpZGdldCAqY3JlYXRlX21lbnUodm9pZCkKLSB7Ci0gICAgIC8qIG1haW4gYmFyICovCi1A QCAtNDc2LDQwICs1NjAsMTAyIEBAIHN0YXRpYyBHdGtXaWRnZXQgKmNyZWF0ZV9tYWluX3dpbmRv dyh2b2lkKQotICAgICBndGtfd2luZG93X3NldF9kZWZhdWx0X2ljb25fbmFtZSgiYWJydCIpOwot IAotICAgICBHdGtXaWRnZXQgKm1haW5fdmJveCA9IGd0a192Ym94X25ldyhmYWxzZSwgMCk7Ci0r ICAgIC8qIGFkZCBtZW51ICovCi0rICAgIGd0a19ib3hfcGFja19zdGFydChHVEtfQk9YKG1haW5f dmJveCksIGNyZWF0ZV9tZW51KCksIGZhbHNlLCBmYWxzZSwgMCk7Ci0gCi0tICAgIC8qIFNjcm9s bGVkIHJlZ2lvbiBpbnNpZGUgbWFpbiB3aW5kb3cgKi8KLS0gICAgR3RrV2lkZ2V0ICpzY3JvbGxf d2luID0gZ3RrX3Njcm9sbGVkX3dpbmRvd19uZXcoTlVMTCwgTlVMTCk7Ci0tICAgIGd0a19zY3Jv bGxlZF93aW5kb3dfc2V0X3NoYWRvd190eXBlKEdUS19TQ1JPTExFRF9XSU5ET1coc2Nyb2xsX3dp biksCi0rICAgIEd0a1dpZGdldCAqbm90X3N1Ym1fdmJveCA9IGd0a192Ym94X25ldyhmYWxzZSwg MCk7Ci0rICAgIGd0a19jb250YWluZXJfc2V0X2JvcmRlcl93aWR0aChHVEtfQ09OVEFJTkVSKG5v dF9zdWJtX3Zib3gpLCAxMCk7Ci0rICAgIEd0a1dpZGdldCAqc3VibV92Ym94ID0gZ3RrX3Zib3hf bmV3KGZhbHNlLCAwKTsKLSsgICAgZ3RrX2NvbnRhaW5lcl9zZXRfYm9yZGVyX3dpZHRoKEdUS19D T05UQUlORVIoc3VibV92Ym94KSwgMTApOwotKwotKyAgICAvKiBTY3JvbGxlZCByZWdpb24gZm9y IG5vdCByZXBvcnRlZCBwcm9ibGVtcyBpbnNpZGUgbWFpbiB3aW5kb3cqLwotKyAgICBHdGtXaWRn ZXQgKm5ld19wcm9ibGVtc19zY3JvbGxfd2luID0gZ3RrX3Njcm9sbGVkX3dpbmRvd19uZXcoTlVM TCwgTlVMTCk7Ci0rICAgIGd0a19zY3JvbGxlZF93aW5kb3dfc2V0X3NoYWRvd190eXBlKEdUS19T Q1JPTExFRF9XSU5ET1cobmV3X3Byb2JsZW1zX3Njcm9sbF93aW4pLAotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdUS19TSEFET1dfRVRDSEVEX0lOKTsKLS0gICAg Z3RrX3Njcm9sbGVkX3dpbmRvd19zZXRfcG9saWN5KEdUS19TQ1JPTExFRF9XSU5ET1coc2Nyb2xs X3dpbiksCi0rICAgIGd0a19zY3JvbGxlZF93aW5kb3dfc2V0X3BvbGljeShHVEtfU0NST0xMRURf V0lORE9XKG5ld19wcm9ibGVtc19zY3JvbGxfd2luKSwKLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBHVEtfUE9MSUNZX0FVVE9NQVRJQywKLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHVEtfUE9MSUNZX0FVVE9NQVRJQyk7Ci0gCi0t ICAgIGd0a19ib3hfcGFja19zdGFydChHVEtfQk9YKG1haW5fdmJveCksIGNyZWF0ZV9tZW51KCks IGZhbHNlLCBmYWxzZSwgMCk7Ci0tICAgIGd0a19ib3hfcGFja19zdGFydChHVEtfQk9YKG1haW5f dmJveCksIHNjcm9sbF93aW4sIHRydWUsIHRydWUsIDApOwotLSAgICBndGtfY29udGFpbmVyX2Fk ZChHVEtfQ09OVEFJTkVSKGdfbWFpbl93aW5kb3cpLCBtYWluX3Zib3gpOwotKyAgICBHdGtXaWRn ZXQgKm5vdF9zdWJtX2xibCA9IGd0a19sYWJlbF9uZXcoXygiTm90IHN1Ym1pdHRlZCByZXBvcnRz IikpOwotKyAgICBndGtfbWlzY19zZXRfYWxpZ25tZW50KEdUS19NSVNDKG5vdF9zdWJtX2xibCks IDAsIDApOwotKyAgICBndGtfbGFiZWxfc2V0X21hcmt1cChHVEtfTEFCRUwobm90X3N1Ym1fbGJs KSwgXygiPGI+Tm90IHN1Ym1pdHRlZCByZXBvcnRzPC9iPiIpKTsKLSsKLSsgICAgLyogYWRkIGxh YmVsIGZvciBub3Qgc3VibWl0dGVkIHRyZWUgdmlldyAqLwotKyAgICBndGtfYm94X3BhY2tfc3Rh cnQoR1RLX0JPWChub3Rfc3VibV92Ym94KSwgbm90X3N1Ym1fbGJsLCBmYWxzZSwgZmFsc2UsIDAp OwotKyAgICBndGtfYm94X3BhY2tfc3RhcnQoR1RLX0JPWChub3Rfc3VibV92Ym94KSwgbmV3X3By b2JsZW1zX3Njcm9sbF93aW4sIHRydWUsIHRydWUsIDApOwotKyAgICBndGtfYm94X3BhY2tfc3Rh cnQoR1RLX0JPWChtYWluX3Zib3gpLCBub3Rfc3VibV92Ym94LCB0cnVlLCB0cnVlLCAwKTsKLSAK LSAgICAgLyogVHJlZSB2aWV3IGluc2lkZSBzY3JvbGxlZCByZWdpb24gKi8KLSAgICAgc190cmVl dmlldyA9IGd0a190cmVlX3ZpZXdfbmV3KCk7Ci0gICAgIGdfb2JqZWN0X3NldChzX3RyZWV2aWV3 LCAicnVsZXMtaGludCIsIDEsIE5VTEwpOyAvKiB1c2UgYWx0ZXJuYXRpbmcgY29sb3JzICovCi0g ICAgIGFkZF9jb2x1bW5zKEdUS19UUkVFX1ZJRVcoc190cmVldmlldykpOwotLSAgICBndGtfY29u dGFpbmVyX2FkZChHVEtfQ09OVEFJTkVSKHNjcm9sbF93aW4pLCBzX3RyZWV2aWV3KTsKLSsgICAg Z3RrX2NvbnRhaW5lcl9hZGQoR1RLX0NPTlRBSU5FUihuZXdfcHJvYmxlbXNfc2Nyb2xsX3dpbiks IHNfdHJlZXZpZXcpOwotIAotICAgICAvKiBDcmVhdGUgZGF0YSBzdG9yZSBmb3IgdGhlIGxpc3Qg YW5kIGF0dGFjaCBpdCAqLwotLSAgICBzX2R1bXBzX2xpc3Rfc3RvcmUgPSBndGtfbGlzdF9zdG9y ZV9uZXcoTlVNX0NPTFVNTlMsIEdfVFlQRV9TVFJJTkcsIC8qIHNvdXJjZSAqLwotKyAgICBzX2R1 bXBzX2xpc3Rfc3RvcmUgPSBndGtfbGlzdF9zdG9yZV9uZXcoTlVNX0NPTFVNTlMsCi0rICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdfVFlQRV9TVFJJTkcsIC8qIHNv dXJjZSAqLwotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHX1RZ UEVfU1RSSU5HLCAvKiBleGVjdXRhYmxlICovCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIEdfVFlQRV9TVFJJTkcsIC8qIHRpbWUgKi8KLSsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR19UWVBFX0lOVCwgICAgLyogdW5peCB0aW1l IC0gdXNlZCBmb3Igc29ydCAqLwotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBHX1RZUEVfU1RSSU5HLCAvKiBkdW1wIGRpciBwYXRoICovCi0rICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdfVFlQRV9TVFJJTkcpOyAvKiByZXBvcnRl ZF90byAqLwotKwotKwotKyAgICAvL0ZJWE1FOiBjb25maWd1cmFibGUhIQotKyAgICBndGtfdHJl ZV9zb3J0YWJsZV9zZXRfc29ydF9jb2x1bW5faWQoR1RLX1RSRUVfU09SVEFCTEUoc19kdW1wc19s aXN0X3N0b3JlKSwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ09M VU1OX0xBVEVTVF9DUkFTSCwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgR1RLX1NPUlRfREVTQ0VORElORyk7Ci0rCi0rICAgIGd0a190cmVlX3ZpZXdfc2V0X21vZGVs KEdUS19UUkVFX1ZJRVcoc190cmVldmlldyksIEdUS19UUkVFX01PREVMKHNfZHVtcHNfbGlzdF9z dG9yZSkpOwotKwotKyAgICAvKiBEb3VibGUgY2xpY2svRW50ZXIgaGFuZGxlciAqLwotKyAgICBn X3NpZ25hbF9jb25uZWN0KHNfdHJlZXZpZXcsICJyb3ctYWN0aXZhdGVkIiwgR19DQUxMQkFDSyhv bl9yb3dfYWN0aXZhdGVkX2NiKSwgTlVMTCk7Ci0rICAgIC8qIERlbGV0ZSBoYW5kbGVyICovCi0r ICAgIGdfc2lnbmFsX2Nvbm5lY3Qoc190cmVldmlldywgImtleS1wcmVzcy1ldmVudCIsIEdfQ0FM TEJBQ0sob25fa2V5X3ByZXNzX2V2ZW50X2NiKSwgTlVMTCk7Ci0rCi0rICAgIC8qIHNjcm9sbGVk IHJlZ2lvbiBmb3IgcmVwb3J0ZWQgcHJvYmxlbXMgKi8KLSsgICAgR3RrV2lkZ2V0ICpyZXBvcnRl ZF9wcm9ibGVtc19zY3JvbGxfd2luID0gZ3RrX3Njcm9sbGVkX3dpbmRvd19uZXcoTlVMTCwgTlVM TCk7Ci0rICAgIGd0a19zY3JvbGxlZF93aW5kb3dfc2V0X3NoYWRvd190eXBlKEdUS19TQ1JPTExF RF9XSU5ET1cocmVwb3J0ZWRfcHJvYmxlbXNfc2Nyb2xsX3dpbiksCi0rICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgR1RLX1NIQURPV19FVENIRURfSU4pOwotKyAgICBn dGtfc2Nyb2xsZWRfd2luZG93X3NldF9wb2xpY3koR1RLX1NDUk9MTEVEX1dJTkRPVyhyZXBvcnRl ZF9wcm9ibGVtc19zY3JvbGxfd2luKSwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBHVEtfUE9MSUNZX0FVVE9NQVRJQywKLSsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBHVEtfUE9MSUNZX0FVVE9NQVRJQyk7Ci0rCi0rICAgIEd0a1dp ZGdldCAqc3VibV9sYmwgPSBndGtfbGFiZWxfbmV3KF8oIlN1Ym1pdHRlZCByZXBvcnRzIikpOwot KyAgICAvKiBhbGlnbiB0byBsZWZ0ICovCi0rICAgIGd0a19taXNjX3NldF9hbGlnbm1lbnQoR1RL X01JU0Moc3VibV9sYmwpLCAwLCAwKTsKLSsgICAgZ3RrX2xhYmVsX3NldF9tYXJrdXAoR1RLX0xB QkVMKHN1Ym1fbGJsKSwgXygiPGI+U3VibWl0dGVkIHJlcG9ydHM8L2I+IikpOwotKwotKwotKyAg ICAvKiBhZGQgbGFiZWwgZm9yIHN1Ym1pdHRlZCB0cmVlIHZpZXcgKi8KLSsgICAgZ3RrX2JveF9w YWNrX3N0YXJ0KEdUS19CT1goc3VibV92Ym94KSwgc3VibV9sYmwsIGZhbHNlLCBmYWxzZSwgMCk7 Ci0rICAgIGd0a19ib3hfcGFja19zdGFydChHVEtfQk9YKHN1Ym1fdmJveCksIHJlcG9ydGVkX3By b2JsZW1zX3Njcm9sbF93aW4sIHRydWUsIHRydWUsIDApOwotKyAgICBndGtfYm94X3BhY2tfc3Rh cnQoR1RLX0JPWChtYWluX3Zib3gpLCBzdWJtX3Zib3gsIHRydWUsIHRydWUsIDApOwotKwotKyAg ICAvKiBUcmVlIHZpZXcgaW5zaWRlIHNjcm9sbGVkIHJlZ2lvbiAqLwotKyAgICBzX3JlcG9ydGVk X3RyZWV2aWV3ID0gZ3RrX3RyZWVfdmlld19uZXcoKTsKLSsgICAgZ19vYmplY3Rfc2V0KHNfcmVw b3J0ZWRfdHJlZXZpZXcsICJydWxlcy1oaW50IiwgMSwgTlVMTCk7IC8qIHVzZSBhbHRlcm5hdGlu ZyBjb2xvcnMgKi8KLSsgICAgYWRkX2NvbHVtbnNfcmVwb3J0ZWQoR1RLX1RSRUVfVklFVyhzX3Jl cG9ydGVkX3RyZWV2aWV3KSk7Ci0rICAgIGd0a19jb250YWluZXJfYWRkKEdUS19DT05UQUlORVIo cmVwb3J0ZWRfcHJvYmxlbXNfc2Nyb2xsX3dpbiksIHNfcmVwb3J0ZWRfdHJlZXZpZXcpOwotKwot KyAgICAvKiBDcmVhdGUgZGF0YSBzdG9yZSBmb3IgdGhlIGxpc3QgYW5kIGF0dGFjaCBpdCAqLwot KyAgICBzX3JlcG9ydGVkX2R1bXBzX2xpc3Rfc3RvcmUgPSBndGtfbGlzdF9zdG9yZV9uZXcoTlVN X0NPTFVNTlMsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIEdfVFlQRV9TVFJJTkcsIC8qIHNvdXJjZSAqLwotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHX1RZUEVfU1RSSU5HLCAvKiBl eGVjdXRhYmxlICovCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIEdfVFlQRV9TVFJJTkcsIC8qIGhvc3RuYW1lICovCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdfVFlQRV9TVFJJTkcs IC8qIHRpbWUgKi8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgR19UWVBFX0lOVCwgICAgLyogdW5peCB0aW1lIC0gdXNlZCBmb3Igc29ydCAq LwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBHX1RZUEVfU1RSSU5HLCAvKiBkdW1wIGRpciBwYXRoICovCi0tICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdfVFlQRV9TVFJJTkcpOy8qIHJv dyBiYWNrZ3JvdW5kICovCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIEdfVFlQRV9TVFJJTkcpOyAvKiByZXBvcnRlZF90byAqLwotKwotIAot ICAgICAvL0ZJWE1FOiBjb25maWd1cmFibGUhIQotLSAgICBndGtfdHJlZV9zb3J0YWJsZV9zZXRf c29ydF9jb2x1bW5faWQoR1RLX1RSRUVfU09SVEFCTEUoc19kdW1wc19saXN0X3N0b3JlKSwKLSsg ICAgZ3RrX3RyZWVfc29ydGFibGVfc2V0X3NvcnRfY29sdW1uX2lkKEdUS19UUkVFX1NPUlRBQkxF KHNfcmVwb3J0ZWRfZHVtcHNfbGlzdF9zdG9yZSksCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIENPTFVNTl9MQVRFU1RfQ1JBU0gsCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIEdUS19TT1JUX0RFU0NFTkRJTkcpOwotIAotLSAgICBndGtf dHJlZV92aWV3X3NldF9tb2RlbChHVEtfVFJFRV9WSUVXKHNfdHJlZXZpZXcpLCBHVEtfVFJFRV9N T0RFTChzX2R1bXBzX2xpc3Rfc3RvcmUpKTsKLSsKLSsgICAgZ3RrX3RyZWVfdmlld19zZXRfbW9k ZWwoR1RLX1RSRUVfVklFVyhzX3JlcG9ydGVkX3RyZWV2aWV3KSwgR1RLX1RSRUVfTU9ERUwoc19y ZXBvcnRlZF9kdW1wc19saXN0X3N0b3JlKSk7Ci0rCi0gCi0gICAgIC8qIGJ1dHRvbnMgYXJlIGhv bW9nZW5vdXMgc28gc2V0IHNpemUgb25seSBmb3Igb25lIGJ1dHRvbiBhbmQgaXQgd2lsbAotICAg ICAgKiB3b3JrIGZvciB0aGUgcmVzdCBidXR0b25zIGluIHNhbWUgZ3RrX2hib3hfbmV3KCkgKi8K LUBAIC01MTgsMjAgKzY2NCwyMyBAQCBzdGF0aWMgR3RrV2lkZ2V0ICpjcmVhdGVfbWFpbl93aW5k b3codm9pZCkKLSAKLSAgICAgR3RrV2lkZ2V0ICpidG5fZGVsZXRlID0gZ3RrX2J1dHRvbl9uZXdf ZnJvbV9zdG9jayhHVEtfU1RPQ0tfREVMRVRFKTsKLSAKLS0gICAgR3RrV2lkZ2V0ICpoYm94X3Jl cG9ydF9kZWxldGUgPSBndGtfaGJveF9uZXcodHJ1ZSwgNCk7Ci0rICAgIEd0a1dpZGdldCAqaGJv eF9yZXBvcnRfZGVsZXRlID0gZ3RrX2hib3hfbmV3KHRydWUsIDApOwotICAgICBndGtfYm94X3Bh Y2tfc3RhcnQoR1RLX0JPWChoYm94X3JlcG9ydF9kZWxldGUpLCBidG5fZGVsZXRlLCB0cnVlLCB0 cnVlLCAwKTsKLS0gICAgZ3RrX2JveF9wYWNrX3N0YXJ0KEdUS19CT1goaGJveF9yZXBvcnRfZGVs ZXRlKSwgYnRuX3JlcG9ydCwgdHJ1ZSwgdHJ1ZSwgMCk7Ci0rICAgIGd0a19ib3hfcGFja19zdGFy dChHVEtfQk9YKGhib3hfcmVwb3J0X2RlbGV0ZSksIGJ0bl9yZXBvcnQsIHRydWUsIHRydWUsIDEw KTsKLSAKLSAgICAgR3RrV2lkZ2V0ICpoYWxpZ24gPSBndGtfYWxpZ25tZW50X25ldygxLCAwLCAw LCAwKTsKLSAgICAgZ3RrX2NvbnRhaW5lcl9hZGQoR1RLX0NPTlRBSU5FUihoYWxpZ24pLCBoYm94 X3JlcG9ydF9kZWxldGUpOwotIAotICAgICBndGtfYm94X3BhY2tfc3RhcnQoR1RLX0JPWChtYWlu X3Zib3gpLCBoYWxpZ24sIGZhbHNlLCBmYWxzZSwgMTApOwotIAotKyAgICAvKiBwdXQgdGhlIG1h aW5fdmJveCB0byBtYWluIHdpbmRvdyAqLwotKyAgICBndGtfY29udGFpbmVyX2FkZChHVEtfQ09O VEFJTkVSKGdfbWFpbl93aW5kb3cpLCBtYWluX3Zib3gpOwotKwotICAgICAvKiBEb3VibGUgY2xp Y2svRW50ZXIgaGFuZGxlciAqLwotLSAgICBnX3NpZ25hbF9jb25uZWN0KHNfdHJlZXZpZXcsICJy b3ctYWN0aXZhdGVkIiwgR19DQUxMQkFDSyhvbl9yb3dfYWN0aXZhdGVkX2NiKSwgTlVMTCk7Ci0r ICAgIGdfc2lnbmFsX2Nvbm5lY3Qoc19yZXBvcnRlZF90cmVldmlldywgInJvdy1hY3RpdmF0ZWQi LCBHX0NBTExCQUNLKG9uX3Jvd19hY3RpdmF0ZWRfY2IpLCBOVUxMKTsKLSAgICAgZ19zaWduYWxf Y29ubmVjdChidG5fcmVwb3J0LCAiY2xpY2tlZCIsIEdfQ0FMTEJBQ0sob25fYnRuX3JlcG9ydF9j YiksIE5VTEwpOwotICAgICAvKiBEZWxldGUgaGFuZGxlciAqLwotLSAgICBnX3NpZ25hbF9jb25u ZWN0KHNfdHJlZXZpZXcsICJrZXktcHJlc3MtZXZlbnQiLCBHX0NBTExCQUNLKG9uX2tleV9wcmVz c19ldmVudF9jYiksIE5VTEwpOwotKyAgICBnX3NpZ25hbF9jb25uZWN0KHNfcmVwb3J0ZWRfdHJl ZXZpZXcsICJrZXktcHJlc3MtZXZlbnQiLCBHX0NBTExCQUNLKG9uX2tleV9wcmVzc19ldmVudF9j YiksIE5VTEwpOwotICAgICBnX3NpZ25hbF9jb25uZWN0KGJ0bl9kZWxldGUsICJjbGlja2VkIiwg R19DQUxMQkFDSyhvbl9idG5fZGVsZXRlX2NiKSwgTlVMTCk7Ci0gICAgIC8qIFF1aXQgd2hlbiB1 c2VyIGNsb3NlcyB0aGUgbWFpbiB3aW5kb3cgKi8KLSAgICAgZ19zaWduYWxfY29ubmVjdChnX21h aW5fd2luZG93LCAiZGVzdHJveSIsIGd0a19tYWluX3F1aXQsIE5VTEwpOwotLS0gCi0xLjcuNgot CgpkaWZmIC0tZ2l0IGEvMDAwMi1yaGJ6LTcxODA5Ny1kb24tdC1maWxlLWJ1Z3MtYWJvdXQtQklP Uy1idWdzLnBhdGNoIGIvMDAwMi1yaGJ6LTcxODA5Ny1kb24tdC1maWxlLWJ1Z3MtYWJvdXQtQklP Uy1idWdzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhZTYyODkwLi4wMDAw MDAwCi0tLSBhLzAwMDItcmhiei03MTgwOTctZG9uLXQtZmlsZS1idWdzLWFib3V0LUJJT1MtYnVn cy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM1ICswLDAgQEAKLUZyb20gZTk2NWZiN2E3Yzc2 ODg4OWNkZDRhNTk4NTlkMjhkYzgzYjNkYWYwOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLU1l c3NhZ2UtSWQ6IDxlOTY1ZmI3YTdjNzY4ODg5Y2RkNGE1OTg1OWQyOGRjODNiM2RhZjA5LjEzMTc5 Nzk3NjYuZ2l0Lm5wYWprb3ZzQHJlZGhhdC5jb20+Ci1Jbi1SZXBseS1UbzogPDgyYjI3ZGNhODdl ZjVhNGYxY2JiMjkzNzc1MjRiYmRlZTI2YjFkNjQuMTMxNzk3OTc2Ni5naXQubnBhamtvdnNAcmVk aGF0LmNvbT4KLVJlZmVyZW5jZXM6IDw4MmIyN2RjYTg3ZWY1YTRmMWNiYjI5Mzc3NTI0YmJkZWUy NmIxZDY0LjEzMTc5Nzk3NjYuZ2l0Lm5wYWprb3ZzQHJlZGhhdC5jb20+Ci1Gcm9tOiBOaWtvbGEg UGFqa292c2t5IDxucGFqa292c0ByZWRoYXQuY29tPgotRGF0ZTogV2VkLCA1IE9jdCAyMDExIDE3 OjIzOjIyICswMjAwCi1TdWJqZWN0OiBbUEFUQ0ggMi8yXSByaGJ6IzcxODA5NyAtIGRvbid0IGZp bGUgYnVncyBhYm91dCBCSU9TIGJ1Z3MKLQotU2lnbmVkLW9mZi1ieTogTmlrb2xhIFBhamtvdnNr eSA8bnBhamtvdnNAcmVkaGF0LmNvbT4KLS0tLQotIHNyYy9wbHVnaW5zL2FicnQtZHVtcC1vb3Bz LmMgfCAgICA3ICsrKysrKy0KLSAxIGZpbGVzIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgMSBk ZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3NyYy9wbHVnaW5zL2FicnQtZHVtcC1vb3BzLmMg Yi9zcmMvcGx1Z2lucy9hYnJ0LWR1bXAtb29wcy5jCi1pbmRleCA1OGFmNTA2Li4zYmZjNjE3IDEw MDY0NAotLS0tIGEvc3JjL3BsdWdpbnMvYWJydC1kdW1wLW9vcHMuYwotKysrIGIvc3JjL3BsdWdp bnMvYWJydC1kdW1wLW9vcHMuYwotQEAgLTUyNyw4ICs1MjcsMTMgQEAgc3RhdGljIHVuc2lnbmVk IHNhdmVfb29wc190b19kdW1wX2RpcihHTGlzdCAqb29wc19saXN0LCB1bnNpZ25lZCBvb3BzX2Nu dCkKLSAgICAgICAgICAgICAgICAgZGRfc2F2ZV90ZXh0KGRkLCBGSUxFTkFNRV9DTURMSU5FLCBj bWRsaW5lX3N0cik7Ci0gICAgICAgICAgICAgZGRfc2F2ZV90ZXh0KGRkLCBGSUxFTkFNRV9CQUNL VFJBQ0UsIHNlY29uZF9saW5lKTsKLSAKLSsgICAgICAgICAgICAvKiBjaGVjayBpZiB0cmFjZSBk b2Vzbid0IGhhdmUgbGluZTogJ1lvdXIgQklPUyBpcyBicm9rZW4nICovCi0rICAgICAgICAgICAg Y2hhciAqYnJva2VuX2Jpb3MgPSBzdHJzdHIoc2Vjb25kX2xpbmUsICJZb3VyIEJJT1MgaXMgYnJv a2VuIik7Ci0rICAgICAgICAgICAgaWYgKGJyb2tlbl9iaW9zKQotKyAgICAgICAgICAgICAgICBk ZF9zYXZlX3RleHQoZGQsIEZJTEVOQU1FX05PVF9SRVBPUlRBQkxFLCAiWW91ciBCSU9TIGlzIGJy b2tlbiIpOwotKwotICAgICAgICAgICAgIGNoYXIgKnRhaW50ZWRfc2hvcnQgPSBrZXJuZWxfdGFp bnRlZF9zaG9ydChzZWNvbmRfbGluZSk7Ci0tICAgICAgICAgICAgaWYgKHRhaW50ZWRfc2hvcnQp Ci0rICAgICAgICAgICAgaWYgKHRhaW50ZWRfc2hvcnQgJiYgIWJyb2tlbl9iaW9zKQotICAgICAg ICAgICAgIHsKLSAgICAgICAgICAgICAgICAgVkVSQjEgbG9nKCJLZXJuZWwgaXMgdGFpbnRlZCAn JXMnIiwgdGFpbnRlZF9zaG9ydCk7Ci0gICAgICAgICAgICAgICAgIGRkX3NhdmVfdGV4dChkZCwg RklMRU5BTUVfVEFJTlRFRF9TSE9SVCwgdGFpbnRlZF9zaG9ydCk7Ci0tLSAKLTEuNy43LnJjMC43 MC5nODI2NjAKLQoKZGlmZiAtLWdpdCBhLzAwMDMtZ2xpYi0yLjMxLWJ1aWxkLWZpeGVzLnBhdGNo IGIvMDAwMy1nbGliLTIuMzEtYnVpbGQtZml4ZXMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDg2ZjVjZTQuLjAwMDAwMDAKLS0tIGEvMDAwMy1nbGliLTIuMzEtYnVpbGQtZml4 ZXMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw3MiArMCwwIEBACi1Gcm9tIGVjZmM0NjFmZDk3 OWFlYjJkM2NlNGI5ZDgxMWU0YmY0YTc3MzA1MzIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1G cm9tOiBKaXJpIE1vc2tvdmNhayA8am1vc2tvdmNAcmVkaGF0LmNvbT4KLURhdGU6IFNhdCwgNSBO b3YgMjAxMSAxODowNDo1NCArMDEwMAotU3ViamVjdDogW1BBVENIIDMvM10gLSBnbGliIDIuMzEg YnVpbGQgZml4ZXMKLQotLS0tCi0gc3JjL2FwcGxldC9hcHBsZXQuYyB8ICAgMTQgKysrKysrKysr KysrKy0KLSBzcmMvZ3VpLWd0ay9tYWluLmMgIHwgICAgNCArKy0tCi0gMiBmaWxlcyBjaGFuZ2Vk LCAxNSBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL2Fw cGxldC9hcHBsZXQuYyBiL3NyYy9hcHBsZXQvYXBwbGV0LmMKLWluZGV4IDk1YjcwOTEuLmJlYWQ2 MWYgMTAwNjQ0Ci0tLS0gYS9zcmMvYXBwbGV0L2FwcGxldC5jCi0rKysgYi9zcmMvYXBwbGV0L2Fw cGxldC5jCi1AQCAtNzY2LDEwICs3NjYsMjAgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIqKiBh cmd2KQotICAgICB0ZXh0ZG9tYWluKFBBQ0tBR0UpOwotICNlbmRpZgotIAotKyAgLyogR2xpYiAy LjMxOgotKyAgICAqIE1ham9yIGNoYW5nZXMgdG8gdGhyZWFkaW5nIGFuZCBzeW5jaHJvbmlzYXRp b24KLSsgICAgIC0gdGhyZWFkaW5nIGlzIG5vdyBhbHdheXMgZW5hYmxlZCBpbiBHTGliCi0rICAg ICAtIHN1cHBvcnQgZm9yIGN1c3RvbSB0aHJlYWQgaW1wbGVtZW50YXRpb25zIChpbmNsdWRpbmcg b3VyIG93biBpbnRlcm5hbAotKyAgICAgLSBzdXBwb3J0IGZvciBlcnJvcmNoZWNrIG11dGV4ZXMp IGhhcyBiZWVuIHJlbW92ZWQKLSsgICovCi0rI2lmIChHTElCX01BSk9SX1ZFUlNJT04gPT0gMiAm JiBHTElCX01JTk9SX1ZFUlNJT04gPCAzMSkKLSsgICAgLy9jYW4ndCB1c2UgbG9nKCksIGJlY2F1 c2UgZ192ZXJib3NlIGlzIG5vdCBzZXQgeWV0Ci0rICAgIGdfcHJpbnQoImFicnQtYXBwbGV0OiBn bGliIDwgMi4zMSAtIGluaXQgdGhyZWFkaW5nXG4iKTsKLSAgICAgLyogTmVlZCB0byBiZSB0aHJl YWQgc2FmZSAqLwotICAgICBnX3RocmVhZF9pbml0KE5VTEwpOwotICAgICBnZGtfdGhyZWFkc19p bml0KCk7Ci0gICAgIGdka190aHJlYWRzX2VudGVyKCk7Ci0rI2VuZGlmCi0gCi0gICAgIGd0a19p bml0KCZhcmdjLCAmYXJndik7Ci0gCi1AQCAtODY5LDggKzg3OSwxMCBAQCBpbnQgbWFpbihpbnQg YXJnYywgY2hhcioqIGFyZ3YpCi0gCi0gICAgIC8qIEVudGVyIG1haW4gbG9vcCAqLwotICAgICBn dGtfbWFpbigpOwotLQotKyNpZiAoR0xJQl9NQUpPUl9WRVJTSU9OID09IDIgJiYgR0xJQl9NSU5P Ul9WRVJTSU9OIDwgMzEpCi0gICAgIGdka190aHJlYWRzX2xlYXZlKCk7Ci0rI2VuZGlmCi0rCi0g ICAgIGlmIChub3RpZnlfaXNfaW5pdHRlZCgpKQotICAgICAgICAgbm90aWZ5X3VuaW5pdCgpOwot IAotZGlmZiAtLWdpdCBhL3NyYy9ndWktZ3RrL21haW4uYyBiL3NyYy9ndWktZ3RrL21haW4uYwot aW5kZXggYjMxNTA5Yi4uYTI0NzQ1YSAxMDA2NDQKLS0tLSBhL3NyYy9ndWktZ3RrL21haW4uYwot KysrIGIvc3JjL2d1aS1ndGsvbWFpbi5jCi1AQCAtOTEyLDcgKzkxMiw3IEBAIHN0YXRpYyBnYm9v bGVhbiBoYW5kbGVfc2lnbmFsX3BpcGUoR0lPQ2hhbm5lbCAqZ2lvLCBHSU9Db25kaXRpb24gY29u ZGl0aW9uLCBncG9pCi0gICAgICAqLwotICAgICBnY2hhciBidWZbMTZdOwotICAgICBnc2l6ZSBi eXRlc19yZWFkOwotLSAgICBnX2lvX2NoYW5uZWxfcmVhZChnaW8sIGJ1Ziwgc2l6ZW9mKGJ1Ziks ICZieXRlc19yZWFkKTsKLSsgICAgZ19pb19jaGFubmVsX3JlYWRfY2hhcnMoZ2lvLCBidWYsIHNp emVvZihidWYpLCAmYnl0ZXNfcmVhZCwgTlVMTCk7Ci0gCi0gICAgIC8qIERlc3Ryb3kgem9tYmll cyAqLwotICAgICB3aGlsZSAoc2FmZV93YWl0cGlkKC0xLCBOVUxMLCBXTk9IQU5HKSA+IDApCi1A QCAtOTc1LDcgKzk3NSw3IEBAIHN0YXRpYyBnYm9vbGVhbiBoYW5kbGVfaW5vdGlmeV9jYihHSU9D aGFubmVsICpnaW8sIEdJT0NvbmRpdGlvbiBjb25kaXRpb24sIGdwb2luCi0gICAgIC8qIFdlIHJl YWQgaW5vdGlmeSBldmVudHMsIGJ1dCBkb24ndCBhbmFseXplIHRoZW0gKi8KLSAgICAgZ2NoYXIg YnVmW3NpemVvZihzdHJ1Y3QgaW5vdGlmeV9ldmVudCkgKyBQQVRIX01BWCArIDY0XTsKLSAgICAg Z3NpemUgYnl0ZXNfcmVhZDsKLS0gICAgd2hpbGUgKGdfaW9fY2hhbm5lbF9yZWFkKGdpbywgYnVm LCBzaXplb2YoYnVmKSwgJmJ5dGVzX3JlYWQpID09IEdfSU9fRVJST1JfTk9ORQotKyAgICB3aGls ZSAoZ19pb19jaGFubmVsX3JlYWRfY2hhcnMoZ2lvLCBidWYsIHNpemVvZihidWYpLCAmYnl0ZXNf cmVhZCwgTlVMTCkgPT0gR19JT19TVEFUVVNfTk9STUFMCi0gICAgICAgICAmJiBieXRlc19yZWFk ID4gMAotICAgICApIHsKLSAgICAgICAgIGNvbnRpbnVlOwotLS0gCi0xLjcuNwotCgpkaWZmIC0t Z2l0IGEvMDAwMy1yZW1vdmUtZm9yZ290dGVuLWFicnQtYWN0aW9uLWtlcm5lbG9vcHMtZmlsZXMu cGF0Y2ggYi8wMDAzLXJlbW92ZS1mb3Jnb3R0ZW4tYWJydC1hY3Rpb24ta2VybmVsb29wcy1maWxl cy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODQ1NzVlMS4uMDAwMDAwMAot LS0gYS8wMDAzLXJlbW92ZS1mb3Jnb3R0ZW4tYWJydC1hY3Rpb24ta2VybmVsb29wcy1maWxlcy5w YXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI2OCArMCwwIEBACi1Gcm9tIDg5ZGUyOGEzNTEwYzZl N2EzMGNhMDUzY2FlYTM1Y2NhYmZiZGU3NWEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9t OiBNaXJvc2xhdiBMaWNodmFyIDxtbGljaHZhckByZWRoYXQuY29tPgotRGF0ZTogVGh1LCAyMSBK dWwgMjAxMSAxNTozNDo1MCArMDIwMAotU3ViamVjdDogW1BBVENIIDMvNF0gcmVtb3ZlIGZvcmdv dHRlbiBhYnJ0LWFjdGlvbi1rZXJuZWxvb3BzIGZpbGVzCi0KLS0tLQotIHNyYy9wbHVnaW5zL2Fi cnQtYWN0aW9uLWtlcm5lbG9vcHMuYyAgIHwgIDE3MyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQotIHNyYy9wbHVnaW5zL2FicnQtYWN0aW9uLWtlcm5lbG9vcHMudHh0IHwgICA2OCAt LS0tLS0tLS0tLS0tCi0gMiBmaWxlcyBjaGFuZ2VkLCAwIGluc2VydGlvbnMoKyksIDI0MSBkZWxl dGlvbnMoLSkKLSBkZWxldGUgbW9kZSAxMDA2NDQgc3JjL3BsdWdpbnMvYWJydC1hY3Rpb24ta2Vy bmVsb29wcy5jCi0gZGVsZXRlIG1vZGUgMTAwNjQ0IHNyYy9wbHVnaW5zL2FicnQtYWN0aW9uLWtl cm5lbG9vcHMudHh0Ci0KLWRpZmYgLS1naXQgYS9zcmMvcGx1Z2lucy9hYnJ0LWFjdGlvbi1rZXJu ZWxvb3BzLmMgYi9zcmMvcGx1Z2lucy9hYnJ0LWFjdGlvbi1rZXJuZWxvb3BzLmMKLWRlbGV0ZWQg ZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggYTExNzI2Ni4uMDAwMDAwMAotLS0tIGEvc3JjL3BsdWdp bnMvYWJydC1hY3Rpb24ta2VybmVsb29wcy5jCi0rKysgL2Rldi9udWxsCi1AQCAtMSwxNzMgKzAs MCBAQAotLS8qCi0tICAgIENvcHlyaWdodCAoQykgMjAxMCAgQUJSVCB0ZWFtCi0tICAgIENvcHly aWdodCAoQykgMjAxMCAgUmVkSGF0IEluYwotLQotLSAgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBz b2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQotLSAgICBpdCB1 bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxp c2hlZCBieQotLSAgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lv biAyIG9mIHRoZSBMaWNlbnNlLCBvcgotLSAgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2 ZXJzaW9uLgotLQotLSAgICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUg dGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLS0gICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3 aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLS0gICAgTUVSQ0hBTlRBQklMSVRZ IG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQotLSAgICBHTlUg R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotLQotLSAgICBBdXRob3Jz OgotLSAgICAgICBBbnRvbiBBcmFwb3YgPGFudG9uQHJlZGhhdC5jb20+Ci0tICAgICAgIEFyamFu IHZhbiBkZSBWZW4gPGFyamFuQGxpbnV4LmludGVsLmNvbT4KLS0gKi8KLS0jaW5jbHVkZSA8Y3Vy bC9jdXJsLmg+Ci0tI2luY2x1ZGUgImFicnRsaWIuaCIKLS0KLS0vKiBoZWxwZXJzICovCi0tc3Rh dGljIHNpemVfdCB3cml0ZWZ1bmN0aW9uKHZvaWQgKnB0ciwgc2l6ZV90IHNpemUsIHNpemVfdCBu bWVtYiwgdm9pZCAqc3RyZWFtKQotLXsKLS0gICAgc2l6ZSAqPSBubWVtYjsKLS0vKgotLSAgICBj aGFyICpjLCAqYzEsICpjMjsKLS0KLS0gICAgbG9nKCJyZWNlaXZlZDogJyUqLipzJyIsIChpbnQp c2l6ZSwgKGludClzaXplLCAoY2hhciopcHRyKTsKLS0gICAgYyA9IChjaGFyKil4emFsbG9jKHNp emUgKyAxKTsKLS0gICAgbWVtY3B5KGMsIHB0ciwgc2l6ZSk7Ci0tICAgIGMxID0gc3Ryc3RyKGMs ICIyMDEgIik7Ci0tICAgIGlmIChjMSkKLS0gICAgewotLSAgICAgICAgYzEgKz0gNDsKLS0gICAg ICAgIGMyID0gc3RyY2hyKGMxLCAnXG4nKTsKLS0gICAgICAgIGlmIChjMikKLS0gICAgICAgICAg ICAqYzIgPSAwOwotLSAgICB9Ci0tICAgIGZyZWUoYyk7Ci0tKi8KLS0KLS0gICAgcmV0dXJuIHNp emU7Ci0tfQotLQotLS8qIFNlbmQgb29wcyBkYXRhIHRvIGtlcm5lbG9vcHMub3JnLXN0eWxlIHNp dGUsIHVzaW5nIEhUVFAgUE9TVCAqLwotLS8qIFJldHVybnMgMCBvbiBzdWNjZXNzICovCi0tc3Rh dGljIENVUkxjb2RlIGh0dHBfcG9zdF90b19rZXJuZWxvb3BzX3NpdGUoY29uc3QgY2hhciAqdXJs LCBjb25zdCBjaGFyICpvb3BzZGF0YSkKLS17Ci0tICAgIENVUkxjb2RlIHJldDsKLS0gICAgQ1VS TCAqaGFuZGxlOwotLSAgICBzdHJ1Y3QgY3VybF9odHRwcG9zdCAqcG9zdCA9IE5VTEw7Ci0tICAg IHN0cnVjdCBjdXJsX2h0dHBwb3N0ICpsYXN0ID0gTlVMTDsKLS0KLS0gICAgaGFuZGxlID0gY3Vy bF9lYXN5X2luaXQoKTsKLS0gICAgaWYgKCFoYW5kbGUpCi0tICAgICAgICBlcnJvcl9tc2dfYW5k X2RpZSgiQ2FuJ3QgY3JlYXRlIGN1cmwgaGFuZGxlIik7Ci0tCi0tICAgIGN1cmxfZWFzeV9zZXRv cHQoaGFuZGxlLCBDVVJMT1BUX1VSTCwgdXJsKTsKLS0KLS0gICAgY3VybF9mb3JtYWRkKCZwb3N0 LCAmbGFzdCwKLS0gICAgICAgICAgICBDVVJMRk9STV9DT1BZTkFNRSwgIm9vcHNkYXRhIiwKLS0g ICAgICAgICAgICBDVVJMRk9STV9DT1BZQ09OVEVOVFMsIG9vcHNkYXRhLAotLSAgICAgICAgICAg IENVUkxGT1JNX0VORCk7Ci0tICAgIGN1cmxfZm9ybWFkZCgmcG9zdCwgJmxhc3QsCi0tICAgICAg ICAgICAgQ1VSTEZPUk1fQ09QWU5BTUUsICJwYXNzX29uX2FsbG93ZWQiLAotLSAgICAgICAgICAg IENVUkxGT1JNX0NPUFlDT05URU5UUywgInllcyIsCi0tICAgICAgICAgICAgQ1VSTEZPUk1fRU5E KTsKLS0KLS0gICAgY3VybF9lYXN5X3NldG9wdChoYW5kbGUsIENVUkxPUFRfSFRUUFBPU1QsIHBv c3QpOwotLSAgICBjdXJsX2Vhc3lfc2V0b3B0KGhhbmRsZSwgQ1VSTE9QVF9XUklURUZVTkNUSU9O LCB3cml0ZWZ1bmN0aW9uKTsKLS0KLS0gICAgcmV0ID0gY3VybF9lYXN5X3BlcmZvcm0oaGFuZGxl KTsKLS0KLS0gICAgY3VybF9mb3JtZnJlZShwb3N0KTsKLS0gICAgY3VybF9lYXN5X2NsZWFudXAo aGFuZGxlKTsKLS0KLS0gICAgcmV0dXJuIHJldDsKLS19Ci0tCi0tc3RhdGljIHZvaWQgcmVwb3J0 X3RvX2tlcm5lbG9vcHMoCi0tICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmR1bXBfZGlyX25h bWUsCi0tICAgICAgICAgICAgICAgIG1hcF9zdHJpbmdfaCAqc2V0dGluZ3MpCi0tewotLSAgICBw cm9ibGVtX2RhdGFfdCAqcHJvYmxlbV9kYXRhID0gY3JlYXRlX3Byb2JsZW1fZGF0YV9mb3JfcmVw b3J0aW5nKGR1bXBfZGlyX25hbWUpOwotLSAgICBpZiAoIXByb2JsZW1fZGF0YSkKLS0gICAgICAg IHhmdW5jX2RpZSgpOyAvKiBjcmVhdGVfcHJvYmxlbV9kYXRhX2Zvcl9yZXBvcnRpbmcgYWxyZWFk eSBlbWl0dGVkIGVycm9yIG1zZyAqLwotLQotLSAgICBjb25zdCBjaGFyICpiYWNrdHJhY2UgPSBn ZXRfcHJvYmxlbV9pdGVtX2NvbnRlbnRfb3JfTlVMTChwcm9ibGVtX2RhdGEsIEZJTEVOQU1FX0JB Q0tUUkFDRSk7Ci0tICAgIGlmICghYmFja3RyYWNlKQotLSAgICAgICAgZXJyb3JfbXNnX2FuZF9k aWUoIkVycm9yIHNlbmRpbmcga2VybmVsIG9vcHMgZHVlIHRvIG1pc3NpbmcgYmFja3RyYWNlIik7 Ci0tCi0tICAgIGNvbnN0IGNoYXIgKmVudiA9IGdldGVudigiS2VybmVsb29wc1JlcG9ydGVyX1N1 Ym1pdFVSTCIpOwotLSAgICBjb25zdCBjaGFyICpzdWJtaXRVUkwgPSAoZW52ID8gZW52IDogZ2V0 X21hcF9zdHJpbmdfaXRlbV9vcl9lbXB0eShzZXR0aW5ncywgIlN1Ym1pdFVSTCIpKTsKLS0gICAg aWYgKCFzdWJtaXRVUkxbMF0pCi0tICAgICAgICBzdWJtaXRVUkwgPSAiaHR0cDovL3N1Ym1pdC5r ZXJuZWxvb3BzLm9yZy9zdWJtaXRvb3BzLnBocCI7Ci0tCi0tICAgIGxvZyhfKCJTdWJtaXR0aW5n IG9vcHMgcmVwb3J0IHRvICVzIiksIHN1Ym1pdFVSTCk7Ci0tCi0tICAgIENVUkxjb2RlIHJldCA9 IGh0dHBfcG9zdF90b19rZXJuZWxvb3BzX3NpdGUoc3VibWl0VVJMLCBiYWNrdHJhY2UpOwotLSAg ICBpZiAocmV0ICE9IENVUkxFX09LKQotLSAgICAgICAgZXJyb3JfbXNnX2FuZF9kaWUoIktlcm5l bCBvb3BzIGhhcyBub3QgYmVlbiBzZW50IGR1ZSB0byAlcyIsIGN1cmxfZWFzeV9zdHJlcnJvcihy ZXQpKTsKLS0KLS0gICAgZnJlZV9wcm9ibGVtX2RhdGEocHJvYmxlbV9kYXRhKTsKLS0KLS0gICAg LyogU2VydmVyIHJlcGxpZXMgd2l0aDoKLS0gICAgICogMjAwIHRoYW5rIHlvdSBmb3Igc3VibWl0 dGluZyB0aGUga2VybmVsIG9vcHMgaW5mb3JtYXRpb24KLS0gICAgICogUmVtb3RlSVA6IDM0MTky ZmQxNWUzNGJmNjBmYWM2YTVmMDFiYmEwNGRkYmQzZjA1NTgKLS0gICAgICogLSBubyBVUkwgb3Ig YnVnIElEIGFwcGFyZW50bHkuLi4KLS0gICAgICovCi0tICAgIHN0cnVjdCBkdW1wX2RpciAqZGQg PSBkZF9vcGVuZGlyKGR1bXBfZGlyX25hbWUsIC8qZmxhZ3M6Ki8gMCk7Ci0tICAgIGlmIChkZCkK LS0gICAgewotLSAgICAgICAgY2hhciAqbXNnID0geGFzcHJpbnRmKCJrZXJuZWxvb3BzOiBVUkw9 JXMiLCBzdWJtaXRVUkwpOwotLSAgICAgICAgYWRkX3JlcG9ydGVkX3RvKGRkLCBtc2cpOwotLSAg ICAgICAgZnJlZShtc2cpOwotLSAgICAgICAgZGRfY2xvc2UoZGQpOwotLSAgICB9Ci0tCi0tICAg IGxvZygiS2VybmVsIG9vcHMgcmVwb3J0IHdhcyB1cGxvYWRlZCIpOwotLX0KLS0KLS1pbnQgbWFp bihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCi0tewotLSAgICBhYnJ0X2luaXQoYXJndik7Ci0tCi0t ICAgIG1hcF9zdHJpbmdfaCAqc2V0dGluZ3MgPSBuZXdfbWFwX3N0cmluZygpOwotLSAgICBjb25z dCBjaGFyICpkdW1wX2Rpcl9uYW1lID0gIi4iOwotLSAgICBHTGlzdCAqY29uZl9maWxlID0gTlVM TDsKLS0KLS0gICAgLyogQ2FuJ3Qga2VlcCB0aGVzZSBzdHJpbmdzL3N0cnVjdHMgc3RhdGljOiBf KCkgZG9lc24ndCBzdXBwb3J0IHRoYXQgKi8KLS0gICAgY29uc3QgY2hhciAqcHJvZ3JhbV91c2Fn ZV9zdHJpbmcgPSBfKAotLSAgICAgICAgIlxiIFstdl0gWy1jIENPTkZGSUxFXS4uLiAtZCBESVJc biIKLS0gICAgICAgICJcbiIKLS0gICAgICAgICJSZXBvcnRzIGtlcm5lbCBvb3BzIHRvIGtlcm5l bG9vcHMub3JnIChvciBzaW1pbGFyKSBzaXRlLlxuIgotLSAgICAgICAgIlxuIgotLSAgICAgICAg IkZpbGVzIHdpdGggbmFtZXMgbGlzdGVkIGluICRFWENMVURFX0ZST01fUkVQT1JUIGFyZSBub3Qg aW5jbHVkZWRcbiIKLS0gICAgICAgICJpbnRvIHRoZSB0YXJiYWxsLlxuIgotLSAgICAgICAgIlxu IgotLSAgICAgICAgIkNPTkZGSUxFIGxpbmVzIHNob3VsZCBoYXZlICdQQVJBTSA9IFZBTFVFJyBm b3JtYXQuXG4iCi0tICAgICAgICAiUmVjb2duaXplZCBzdHJpbmcgcGFyYW1ldGVyOiBTdWJtaXRV UkwuXG4iCi0tICAgICAgICAiUGFyYW1ldGVyIGNhbiBiZSBvdmVycmlkZGVuIHZpYSAkS2VybmVs b29wc1JlcG9ydGVyX1N1Ym1pdFVSTC4iCi0tICAgICk7Ci0tICAgIGVudW0gewotLSAgICAgICAg T1BUX3YgPSAxIDw8IDAsCi0tICAgICAgICBPUFRfZCA9IDEgPDwgMSwKLS0gICAgICAgIE9QVF9j ID0gMSA8PCAyLAotLSAgICB9OwotLSAgICAvKiBLZWVwIGVudW0gYWJvdmUgYW5kIG9yZGVyIG9m IG9wdGlvbnMgYmVsb3cgaW4gc3luYyEgKi8KLS0gICAgc3RydWN0IG9wdGlvbnMgcHJvZ3JhbV9v cHRpb25zW10gPSB7Ci0tICAgICAgICBPUFRfX1ZFUkJPU0UoJmdfdmVyYm9zZSksCi0tICAgICAg ICBPUFRfU1RSSU5HKCdkJywgTlVMTCwgJmR1bXBfZGlyX25hbWUsICJESVIiICwgXygiRHVtcCBk aXJlY3RvcnkiKSksCi0tICAgICAgICBPUFRfTElTVCggICdjJywgTlVMTCwgJmNvbmZfZmlsZSAg ICAsICJGSUxFIiwgXygiQ29uZmlndXJhdGlvbiBmaWxlIikpLAotLSAgICAgICAgT1BUX0VORCgp Ci0tICAgIH07Ci0tICAgIC8qdW5zaWduZWQgb3B0cyA9Ki8gcGFyc2Vfb3B0cyhhcmdjLCBhcmd2 LCBwcm9ncmFtX29wdGlvbnMsIHByb2dyYW1fdXNhZ2Vfc3RyaW5nKTsKLS0KLS0gICAgZXhwb3J0 X2FicnRfZW52dmFycygwKTsKLS0KLS0gICAgd2hpbGUgKGNvbmZfZmlsZSkKLS0gICAgewotLSAg ICAgICAgY2hhciAqZm4gPSAoY2hhciAqKWNvbmZfZmlsZS0+ZGF0YTsKLS0gICAgICAgIFZFUkIx IGxvZygiTG9hZGluZyBzZXR0aW5ncyBmcm9tICclcyciLCBmbik7Ci0tICAgICAgICBsb2FkX2Nv bmZfZmlsZShmbiwgc2V0dGluZ3MsIC8qc2tpcCBrZXkgdy9vIHZhbHVlczoqLyB0cnVlKTsKLS0g ICAgICAgIFZFUkIzIGxvZygiTG9hZGVkICclcyciLCBmbik7Ci0tICAgICAgICBjb25mX2ZpbGUg PSBnX2xpc3RfcmVtb3ZlKGNvbmZfZmlsZSwgZm4pOwotLSAgICB9Ci0tCi0tICAgIHJlcG9ydF90 b19rZXJuZWxvb3BzKGR1bXBfZGlyX25hbWUsIHNldHRpbmdzKTsKLS0KLS0gICAgZnJlZV9tYXBf c3RyaW5nKHNldHRpbmdzKTsKLS0gICAgcmV0dXJuIDA7Ci0tfQotZGlmZiAtLWdpdCBhL3NyYy9w bHVnaW5zL2FicnQtYWN0aW9uLWtlcm5lbG9vcHMudHh0IGIvc3JjL3BsdWdpbnMvYWJydC1hY3Rp b24ta2VybmVsb29wcy50eHQKLWRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggNDY4Mjg3 Zi4uMDAwMDAwMAotLS0tIGEvc3JjL3BsdWdpbnMvYWJydC1hY3Rpb24ta2VybmVsb29wcy50eHQK LSsrKyAvZGV2L251bGwKLUBAIC0xLDY4ICswLDAgQEAKLS1hYnJ0LWFjdGlvbi1rZXJuZWxvb3Bz KDEpCi0tPT09PT09PT09PT09PT09PT09PT09PT09PQotLQotLU5BTUUKLS0tLS0tCi0tYWJydC1h Y3Rpb24ta2VybmVsb29wcyAtIFJlcG9ydHMga2VybmVsIG9vcHMgdG8ga2VybmVsb29wcy5vcmcg KG9yIHNpbWlsYXIpCi0tc2l0ZS4KLS0KLS1TWU5PUFNJUwotLS0tLS0tLS0tCi0tJ2FicnQtYWN0 aW9uLWtlcm5lbG9vcHMnIFstdl0gWy1jIENPTkZGSUxFXS4uLiBbIC1kIERJUiBdCi0tCi0tREVT Q1JJUFRJT04KLS0tLS0tLS0tLS0tLQotLVRoZSB0b29sIGlzIHVzZWQgdG8gcmVwb3J0IHRoZSBj cmFzaCB0byB0aGUgS2VybmVsb29wcyB0cmFja2VyLgotLQotLUNvbmZpZ3VyYXRpb24gZmlsZQot LX5+fn5+fn5+fn5+fn5+fn5+fgotLUNvbmZpZ3VyYXRpb24gZmlsZSBjb250YWlucyBlbnRyaWVz IGluIGEgZm9ybWF0ICJPcHRpb24gPSBWYWx1ZSIuCi0tCi0tVGhlIG9wdGlvbnMgYXJlOgotLQot LSdTdWJtaXRVUkwnOjoKLS0gICAgICAgIFRoZSBVUkwgb2YgdGhlIGtlcm5lbG9vcHMgdHJhY2tl ciwgdGhlIGRlZmF1bHQgaXMKLS0gICAgICAgICJodHRwOi8vc3VibWl0Lmtlcm5lbG9vcHMub3Jn L3N1Ym1pdG9vcHMucGhwIi4KLS0KLS1JbnRlZ3JhdGlvbiB3aXRoIEFCUlQgZXZlbnRzCi0tfn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgotLSdhYnJ0LWFjdGlvbi1rZXJuZWxvb3BzJyBjYW4g YmUgdXNlZCBhcyBhIHJlcG9ydGVyLCB0byBhbGxvdyB1c2VycyB0byByZXBvcnQKLS1wcm9ibGVt cyB0byB0aGUgS2VybmVsb29wcyB0cmFja2VyLiBUaGlzIHVzYWdlIGlzIHByZS1jb25maWd1cmVk IGluCi0tL2V0Yy9saWJyZXBvcnQvZXZlbnRzLmQva29vcHNfZXZlbnQuY29uZjoKLS0KLS0tLS0t LS0tLS0tLS0KLS1FVkVOVD1yZXBvcnRfS2VybmVsb29wcyBhbmFseXplcj1LZXJuZWxvb3BzIGFi cnQtYWN0aW9uLWtlcm5lbG9vcHMKLS0tLS0tLS0tLS0tLS0KLS0KLS1JdCBjYW4gYmUgYWxzbyB1 c2VkIGF1dG9tYXRpY2FsbHkgYW5kIGltbWVkaWF0ZWx5IHdpdGhvdXQgdXNlciBpbnRlcmFjdGlv bi4KLS1XaGVuIHRoaXMgaXMgZGVzaXJlZCwgbW9kaWZ5IHRoZSBldmVudCBjb25maWd1cmF0aW9u IGZpbGUgdG8gcnVuIHRoZSB0b29sIG9uCi0tdGhlICdwb3N0LWNyZWF0ZScgZXZlbnQ6Ci0tCi0t LS0tLS0tLS0tLS0tCi0tRVZFTlQ9cG9zdC1jcmVhdGUgYW5hbHl6ZXI9S2VybmVsb29wcyAgYWJy dC1hY3Rpb24ta2VybmVsb29wcwotLS0tLS0tLS0tLS0tLQotLQotLU9QVElPTlMKLS0tLS0tLS0t Ci0tLXY6OgotLSAgIEJlIG1vcmUgdmVyYm9zZS4gQ2FuIGJlIGdpdmVuIG11bHRpcGxlIHRpbWVz LgotLQotLS1kIERJUjo6Ci0tICAgUGF0aCB0byBkdW1wIGRpcmVjdG9yeS4KLS0KLS0tYyBDT05G RklMRTo6Ci0tICAgUGF0aCB0byBjb25maWdyYXRpb24gZmlsZS4gV2hlbiB1c2VkIGluIEFCUlQg ZXZlbnQgc3lzdGVtLCB0aGUgZmlsZQotLSAgIGNvbnRhaW5zIHNpdGUtd2lkZSBjb25maWd1cmF0 aW9uLiBVc2VycyBjYW4gY2hhbmdlIHRoZSB2YWx1ZXMgdmlhCi0tICAgZW52aXJvbm1lbnQgdmFy aWFibGVzLgotLQotLUVOVklST05NRU5UIFZBUklBQkxFUwotLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQotLUVudmlyb25tZW50IHZhcmlhYmxlcyB0YWtlIHByZWNlZGVuY2Ugb3ZlciB2YWx1ZXMgcHJv dmlkZWQgaW4KLS10aGUgY29uZmlndXJhdGlvbiBmaWxlLgotLQotLSdLZXJuZWxvb3BzUmVwb3J0 ZXJfU3VibWl0VVJMJzo6Ci0tICAgICAgICBUaGUgVVJMIG9mIHRoZSBrZXJuZWxvb3BzIHRyYWNr ZXIuCi0tCi0tQVVUSE9SUwotLS0tLS0tLS0KLS0qIEFCUlQgdGVhbQotLS0gCi0xLjcuNgotCgpk aWZmIC0tZ2l0IGEvMDAwNC1pbnN0YWxsLWRlYnVnaW5mby1hc2stYmVmb3JlLWRvd25sb2FkaW5n LnBhdGNoIGIvMDAwNC1pbnN0YWxsLWRlYnVnaW5mby1hc2stYmVmb3JlLWRvd25sb2FkaW5nLnBh dGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5MGYyZjc0Li4wMDAwMDAwCi0tLSBh LzAwMDQtaW5zdGFsbC1kZWJ1Z2luZm8tYXNrLWJlZm9yZS1kb3dubG9hZGluZy5wYXRjaAorKysg L2Rldi9udWxsCkBAIC0xLDcxICswLDAgQEAKLUZyb20gOTA4OTNhMGM4NGE1OTQzMzdjYTIyZmE4 M2YzNjRmNWI0YTdmYjFiMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IE1pY2hhbCBU b21hbiA8bXRvbWFuQHJlZGhhdC5jb20+Ci1EYXRlOiBUaHUsIDIxIEp1bCAyMDExIDE2OjQ4OjA4 ICswMjAwCi1TdWJqZWN0OiBbUEFUQ0ggNC80XSBpbnN0YWxsLWRlYnVnaW5mbzogYXNrIGJlZm9y ZSBkb3dubG9hZGluZwotCi0tLS0KLSBzcmMvcGx1Z2lucy9hYnJ0LWFjdGlvbi1pbnN0YWxsLWRl YnVnaW5mbyB8ICAgMzQgKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIDEgZmlsZXMgY2hh bmdlZCwgOCBpbnNlcnRpb25zKCspLCAyNiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3Ny Yy9wbHVnaW5zL2FicnQtYWN0aW9uLWluc3RhbGwtZGVidWdpbmZvIGIvc3JjL3BsdWdpbnMvYWJy dC1hY3Rpb24taW5zdGFsbC1kZWJ1Z2luZm8KLWluZGV4IDJhZDA3OTAuLjMxYWFiMmMgMTAwNjQ0 Ci0tLS0gYS9zcmMvcGx1Z2lucy9hYnJ0LWFjdGlvbi1pbnN0YWxsLWRlYnVnaW5mbwotKysrIGIv c3JjL3BsdWdpbnMvYWJydC1hY3Rpb24taW5zdGFsbC1kZWJ1Z2luZm8KLUBAIC0xMSw2ICsxMSw3 IEBAIGltcG9ydCBlcnJubwotIGltcG9ydCB0aW1lCi0gaW1wb3J0IGdldG9wdAotIGltcG9ydCBz aHV0aWwKLStpbXBvcnQgcmVwb3J0Y2xpZW50Ci0gZnJvbSBzdWJwcm9jZXNzIGltcG9ydCBQb3Bl biwgUElQRQotIGZyb20geXVtIGltcG9ydCBfLCBZdW1CYXNlCi0gZnJvbSB5dW0uY2FsbGJhY2tz IGltcG9ydCBEb3dubG9hZEJhc2VDYWxsYmFjawotQEAgLTc0LDIyICs3NSw2IEBAIGRlZiB1bm11 dGVfc3Rkb3V0KCk6Ci0gICAgICAgICBlbHNlOgotICAgICAgICAgICAgIHByaW50ICJFUlI6IHVu bXV0ZSBjYWxsZWQgd2l0aG91dCBtdXRlPyIKLSAKLS1kZWYgYXNrX3llc19ubyhwcm9tcHQsIHJl dHJpZXM9NCk6Ci0tICAgIHdoaWxlIFRydWU6Ci0tICAgICAgICB0cnk6Ci0tICAgICAgICAgICAg cmVzcG9uc2UgPSByYXdfaW5wdXQocHJvbXB0KQotLSAgICAgICAgZXhjZXB0IEVPRkVycm9yOgot LSAgICAgICAgICAgIGxvZzEoImdvdCBlb2YsIHByb2JhYmx5IGV4ZWN1dGVkIGZyb20gaGVscGVy LCBhc3N1bWluZyAtIHllcyIpCi0tICAgICAgICAgICAgcmV0dXJuIFRydWUKLS0gICAgICAgIGlm IHJlc3BvbnNlIGluIChfKCJ5IikpOiAjIGZvciB0cmFuc2xhdG9ycyAtPiB5L1kgYXMgeWVzCi0t ICAgICAgICAgICAgcmV0dXJuIFRydWUKLS0gICAgICAgIGlmIHJlc3BvbnNlIGluICgiIiwgXygi biIpKTogIyBmb3IgdHJhbnNsYXRvcnMgLT4gTi9uIGFzIG5vCi0tICAgICAgICAgICAgcmV0dXJu IEZhbHNlCi0tICAgICAgICByZXRyaWVzID0gcmV0cmllcyAtIDEKLS0gICAgICAgIGlmIHJldHJp ZXMgPCAwOgotLSAgICAgICAgICAgIGJyZWFrCi0tICAgIHJldHVybiBGYWxzZQotLQotICMgVE9E TzogdW5wYWNrIGp1c3QgcmVxdWlyZWQgZGVidWdpbmZvIGFuZCBub3QgZW50aXJlIHJwbT8KLSAj IC4udGhhdCBjYW4gbGVhZCB0bzogZm9vLmMgTm8gc3VjaCBmaWxlIGFuZCBkaXJlY3RvcnkKLSAj IGZpbGVzIGlzIG5vdCB1c2VkLi4uCi1AQCAtMjg2LDE2ICsyNzEsMTMgQEAgY2xhc3MgRGVidWdJ bmZvRG93bmxvYWQoWXVtQmFzZSk6Ci0gCSAgICBwcmludCBfKCJDYW4ndCBmaW5kIHBhY2thZ2Vz IGZvciAldSBkZWJ1Z2luZm8gZmlsZXMiKSAlIGxlbihub3RfZm91bmQpCi0gCWlmIHZlcmJvc2Ug IT0gMCBvciB0b3RhbF9wa2dzICE9IDA6Ci0gCSAgICBwcmludCBfKCJQYWNrYWdlcyB0byBkb3du bG9hZDogJXUiKSAlIHRvdGFsX3BrZ3MKLS0JICAgIHByaW50IF8oIkRvd25sb2FkaW5nICUuMmZN YiwgaW5zdGFsbGVkIHNpemU6ICUuMmZNYiIpICUgKAotLQkgICAgICAgICAgICAgdG9kb3dubG9h ZF9zaXplIC8gKDEwMjQqKjIpLAotLQkgICAgICAgICAgICAgaW5zdGFsbGVkX3NpemUgLyAoMTAy NCoqMikKLS0JICAgICAgICAgICAgKQotLQotLSAgICAgICAgIyBhc2sgb25seSBpZiB3ZSBoYXZl IHRlcm1pbmFsLCBiZWNhdXNlIGZvciBub3cgd2UgZG9uJ3QgaGF2ZSBhIHdheQotLSAgICAgICAg IyBob3cgdG8gcGFzcyB0aGUgcXVlc3Rpb24gdG8gZ3VpIGFuZCB0aGUgcmVzcG9uc2UgYmFjawot LSAgICAgICAgaWYgbm9uaW50ZXJhY3RpdmUgPT0gRmFsc2UgYW5kIHN5cy5zdGRvdXQuaXNhdHR5 KCk6Ci0tICAgICAgICAgICAgaWYgbm90IGFza195ZXNfbm8oXygiSXMgdGhpcyBvaz8gW3kvTl0g IikpOgotLSAgICAgICAgICAgICAgICByZXR1cm4gUkVUVVJOX09LCi0rCSAgICBxdWVzdGlvbiA9 IF8oIkRvd25sb2FkaW5nICUuMmZNYiwgaW5zdGFsbGVkIHNpemU6ICUuMmZNYi4gQ29udGludWU/ IikgJSAoCi0rCSAgICAgICAgICAgICAgICAgdG9kb3dubG9hZF9zaXplIC8gKDEwMjQqKjIpLAot KwkgICAgICAgICAgICAgICAgIGluc3RhbGxlZF9zaXplIC8gKDEwMjQqKjIpCi0rCSAgICAgICAg ICAgICAgICApCi0rCSAgICBpZiBub3QgcmVwb3J0Y2xpZW50LmFza195ZXNfbm8ocXVlc3Rpb24p OgotKwkgICAgICAgIHByaW50IF8oIkRvd25sb2FkIGNhbmNlbGxlZCBieSB1c2VyIikKLSsJICAg ICAgICByZXR1cm4gUkVUVVJOX09LCi0gCi0gICAgICAgICBmb3IgcGtnLCBmaWxlcyBpbiBwYWNr YWdlX2ZpbGVzX2RpY3QuaXRlcml0ZW1zKCk6Ci0gICAgICAgICAgICAgZG5sY2IuZG93bmxvYWRl ZF9wa2dzID0gZG93bmxvYWRlZF9wa2dzCi0tLSAKLTEuNy42Ci0KCmRpZmYgLS1naXQgYS9hYnJ0 LWNjcHAuaW5pdCBiL2FicnQtY2NwcC5pbml0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCA0ODBjYjFlLi4wMDAwMDAwCi0tLSBhL2FicnQtY2NwcC5pbml0CisrKyAvZGV2L251bGwKQEAg LTEsMTUxICswLDAgQEAKLSMhL2Jpbi9iYXNoCi0jIEluc3RhbGwgYWJydCBjb3JlZHVtcCBob29r Ci0jCi0jIGNoa2NvbmZpZzogMzUgODIgMTYKLSMgZGVzY3JpcHRpb246IEluc3RhbGxzIGNvcmVk dW1wIGhhbmRsZXIgd2hpY2ggc2F2ZXMgc2VnZmF1bHQgZGF0YQotIyMjIEJFR0lOIElOSVQgSU5G TwotIyBQcm92aWRlczogYWJydC1jY3BwCi0jIFJlcXVpcmVkLVN0YXJ0OiAkYWJydGQKLSMgRGVm YXVsdC1TdG9wOiAwIDEgMiA2Ci0jIERlZmF1bHQtU3RhcnQ6IDMgNQotIyBTaG9ydC1EZXNjcmlw dGlvbjogSW5zdGFsbHMgY29yZWR1bXAgaGFuZGxlciB3aGljaCBzYXZlcyBzZWdmYXVsdCBkYXRh Ci0jIERlc2NyaXB0aW9uOiBJbnN0YWxscyBjb3JlZHVtcCBoYW5kbGVyIHdoaWNoIHNhdmVzIHNl Z2ZhdWx0IGRhdGEKLSMjIyBFTkQgSU5JVCBJTkZPCi0KLSMgU291cmNlIGZ1bmN0aW9uIGxpYnJh cnkuCi0uIC9ldGMvcmMuZC9pbml0LmQvZnVuY3Rpb25zCi0KLSMgRm9yIGRlYnVnZ2luZwotZHJ5 X3J1bj1mYWxzZQotdmVyYm9zZT1mYWxzZQotCi0jIFdlIGRvbid0IGhhdmUgcGlkIGZpbGVzLCB0 aGVyZWZvcmUgaGF2ZSB0byB1c2UKLSMgYSBmbGFnIGZpbGUgaW4gL3Zhci9sb2NrL3N1YnN5cyB0 byBlbmFibGUgR1VJIHNlcnZpY2UgdG9vbHMKLSMgdG8gZmlndXJlIG91dCBvdXIgc3RhdHVzCi1M T0NLPSIvdmFyL2xvY2svc3Vic3lzL2FicnQtY2NwcCIKLQotUEFUVEVSTl9GSUxFPSIvcHJvYy9z eXMva2VybmVsL2NvcmVfcGF0dGVybiIKLVNBVkVEX1BBVFRFUk5fRklMRT0iL3Zhci9ydW4vYWJy dC9zYXZlZF9jb3JlX3BhdHRlcm4iCi1IT09LX0JJTj0iL3Vzci9saWJleGVjL2FicnQtaG9vay1j Y3BwIgotUEFUVEVSTj0ifCRIT09LX0JJTiAvdmFyL3Nwb29sL2FicnQgJXMgJWMgJXAgJXUgJWcg JXQgJWggJWUiCi0KLSMgY29yZV9waXBlX2xpbWl0IHNwZWNpZmllcyBob3cgbWFueSBkdW1wX2hl bHBlcnMgY2FuIHJ1biBhdCB0aGUgc2FtZSB0aW1lCi0jIDAgLSBtZWFucyB1bmxpbWl0ZWQsIGJ1 dCBpdCdzIG5vdCBndWFyYW50ZWVkIHRoYXQgL3Byb2MvPHBpZD4gb2YgY3Jhc2hpbmcKLSMgICAg IHByb2Nlc3Mgd2lsbCBiZSBhdmFpbGFibGUgZm9yIGR1bXBfaGVscGVyLgotIyA0IC0gbWVhbnMg dGhhdCA0IGR1bXBfaGVscGVycyBjYW4gcnVuIGF0IHRoZSBzYW1lIHRpbWUgKHRoZSByZXN0IHdp bGwgYWxzbwotIyAgICAgcnVuLCBidXQgdGhleSB3aWxsIGZhaWwgdG8gcmVhZCAvcHJvYy88cGlk PikuCi0jCi0jIFRoaXMgc2hvdWxkIGJlIGVub3VnaCBmb3IgQUJSVCwgd2UgY2FuIG1pc3Mgc29t ZSBjcmFzaGVzLCBidXQgd2hhdCBhcmUKLSMgdGhlIG9kZHMgdGhhdCBtb3JlIHByb2Nlc3NlcyBj cmFzaCBhdCB0aGUgc2FtZSB0aW1lPyBBbmQgbW9yZW92ZXIsCi0jIGRvIHBlb3BsZSB3YW50IHRv IHNhdmUgRVZFUlkgT05FIG9mIHRoZSBjcmFzaGVzIHdoZW4gdGhleSBoYXZlCi0jIGEgY3Jhc2gg c3Rvcm0/IEkgZG9uJ3QgdGhpbmsgc28uCi0jIFRoZSB2YWx1ZSBvZiA0IGhhcyBiZWVuIHJlY29t bWVuZGVkIGJ5IG5ob3JtYW4uCi0jCi1DT1JFX1BJUEVfTElNSVRfRklMRT0iL3Byb2Mvc3lzL2tl cm5lbC9jb3JlX3BpcGVfbGltaXQiCi1DT1JFX1BJUEVfTElNSVQ9IjQiCi0KLVJFVFZBTD0wCi0K LWNoZWNrKCkgewotCSMgQ2hlY2sgdGhhdCB3ZSdyZSBhIHByaXZpbGVnZWQgdXNlcgotCVsgImBp ZCAtdWAiID0gMCBdIHx8IGV4aXQgNAotfQotCi1zdGFydCgpIHsKLQljaGVjawotCi0JY3VyPWBj YXQgIiRQQVRURVJOX0ZJTEUiYAotCWN1cl9maXJzdD1gcHJpbnRmICIlcyIgIiRjdXIiIHwgc2Vk ICdzLyAuKi8vJ2AKLQotCSR2ZXJib3NlICYmIHByaW50ZiAiY3VyOiclcydcbiIgIiRjdXIiCi0J IyBJcyBpdCBhbHJlYWR5IGluc3RhbGxlZD8KLQlpZiB0ZXN0IHgiJGN1cl9maXJzdCIgIT0geCJ8 JEhPT0tfQklOIjsgdGhlbiAgICMgbm8KLQkJIyBJdCBpcyBub3QgaW5zdGFsbGVkCi0JCXByaW50 ZiAiJXNcbiIgIiRjdXIiID4iJFNBVkVEX1BBVFRFUk5fRklMRSIKLQkJT0xEX1BBVFRFUk49IiIK LQkJIyBEb2VzIG9sZCBwYXR0ZXJuIHN0YXJ0IHdpdGggJ3wnPwotCQlpZiB0ZXN0IHgiJHtjdXIj fH0iID0geCIkY3VyIjsgdGhlbiAgICMgbm8KLQkJCSMgRW5jb2RlIGl0IGFzIGhleCBzdHJpbmcs IE5VTCB0ZXJtaW5hdGVkCi0JCQlPTERfUEFUVEVSTj1gcHJpbnRmICIlcyIgIiRjdXIiIHwgb2Qg LXR4MSB8IHNlZCAncy8wMDBbXiBdKi8vJyB8IHhhcmdzIHwgc2VkICdzLyAvL2cnYAotCQkJJHZl cmJvc2UgJiYgcHJpbnRmICJPTERfUEFUVEVSTjonJXMnXG4iICIkT0xEX1BBVFRFUk4iCi0JCQlP TERfUEFUVEVSTj0iICR7T0xEX1BBVFRFUk59MDAiCi0JCWZpCi0JCSMgSW5zdGFsbCBuZXcgaGFu ZGxlcgotCQkkdmVyYm9zZSAmJiBwcmludGYgIkluc3RhbGxpbmcgdG8gJXM6JyVzJ1xuIiAiJFBB VFRFUk5fRklMRSIgIiR7UEFUVEVSTn0ke09MRF9QQVRURVJOfSIKLQkJJGRyeV9ydW4gfHwgZWNo byAiJHtQQVRURVJOfSR7T0xEX1BBVFRFUk59IiA+IiRQQVRURVJOX0ZJTEUiCi0JCSRkcnlfcnVu IHx8IHRvdWNoIC0tICIkTE9DSyIKLQotCQkjIENoZWNrIGNvcmVfcGlwZV9saW1pdCBhbmQgY2hh bmdlIGl0IGlmIGl0J3MgMCwKLQkJIyBvdGhlcndpc2UgdGhlIGFicnQtaG9vay1jY3BwIHdvbid0 IGJlIGFibGUgdG8gcmVhZCAvcHJvYy88cGlkPgotCQkjIG9mIHRoZSBjcmFzaGluZyBwcm9jZXNz Ci0JCWlmIHRlc3QgeCJgY2F0ICIkQ09SRV9QSVBFX0xJTUlUX0ZJTEUiYCIgPSB4IjAiOyB0aGVu Ci0JCQllY2hvICIkQ09SRV9QSVBFX0xJTUlUIiA+IiRDT1JFX1BJUEVfTElNSVRfRklMRSIKLQkJ ZmkKLQlmaQotCXJldHVybiAkUkVUVkFMCi19Ci0KLXN0b3AoKSB7Ci0JY2hlY2sKLQotCWlmIHRl c3QgLWYgIiRTQVZFRF9QQVRURVJOX0ZJTEUiOyB0aGVuCi0JCSR2ZXJib3NlICYmIHByaW50ZiAi UmVzdG9yaW5nIHRvICVzOiclcydcbiIgIiRQQVRURVJOX0ZJTEUiICJgY2F0ICIkU0FWRURfUEFU VEVSTl9GSUxFImAiCi0JCSRkcnlfcnVuIHx8IGNhdCAiJFNBVkVEX1BBVFRFUk5fRklMRSIgPiIk UEFUVEVSTl9GSUxFIgotCWZpCi0JJGRyeV9ydW4gfHwgcm0gLWYgLS0gIiRMT0NLIgotCXJldHVy biAkUkVUVkFMCi19Ci0KLXJlc3RhcnQoKSB7Ci0Jc3RvcAotCXN0YXJ0Ci19Ci0KLXJlbG9hZCgp IHsKLQlyZXN0YXJ0Ci19Ci0KLWNhc2UgIiQxIiBpbgotc3RhcnQpCi0Jc3RhcnQKLQk7Owotc3Rv cCkKLQlzdG9wCi0JOzsKLXJlbG9hZCkKLQlyZWxvYWQKLQk7OwotZm9yY2UtcmVsb2FkKQotCWVj aG8gIiQwOiBVbmltcGxlbWVudGVkIGZlYXR1cmUuIgotCVJFVFZBTD0zCi0JOzsKLXJlc3RhcnQp Ci0JcmVzdGFydAotCTs7Ci1jb25kcmVzdGFydCkKLQljdXI9YGNhdCAiJFBBVFRFUk5fRklMRSJg Ci0JY3VyX2ZpcnN0PWBwcmludGYgIiVzIiAiJGN1ciIgfCBzZWQgJ3MvIC4qLy8nYAotCSMgSXMg aXQgYWxyZWFkeSBpbnN0YWxsZWQ/Ci0JaWYgdGVzdCB4IiRjdXJfZmlyc3QiID0geCJ8JEhPT0tf QklOIjsgdGhlbiAgICMgeWVzCi0JCSR2ZXJib3NlICYmIHByaW50ZiAiSW5zdGFsbGVkLCByZS1p bnN0YWxsaW5nXG4iCi0JCXJlc3RhcnQKLQlmaQotCTs7Ci1zdGF0dXMpCi0JY3VyPWBjYXQgIiRQ QVRURVJOX0ZJTEUiYAotCWN1cl9maXJzdD1gcHJpbnRmICIlcyIgIiRjdXIiIHwgc2VkICdzLyAu Ki8vJ2AKLQkjIElzIGl0IGFscmVhZHkgaW5zdGFsbGVkPwotCWlmIHRlc3QgeCIkY3VyX2ZpcnN0 IiA9IHgifCRIT09LX0JJTiI7IHRoZW4gICAjIHllcwotCQkkdmVyYm9zZSAmJiBwcmludGYgIklu c3RhbGxlZFxuIgotCQlSRVRWQUw9MAotCWVsc2UKLQkJJHZlcmJvc2UgJiYgcHJpbnRmICJOb3Qg aW5zdGFsbGVkXG4iCi0JCVJFVFZBTD0zICAjICJzdG9wcGVkIG5vcm1hbGx5IgotCWZpCi0JOzsK LSopCi0JZWNobyAkIlVzYWdlOiAkMCB7c3RhcnR8c3RvcHxzdGF0dXN8cmVzdGFydHxjb25kcmVz dGFydHxyZWxvYWR8Zm9yY2UtcmVsb2FkfSIKLQlSRVRWQUw9MgotZXNhYwotCi1leGl0ICRSRVRW QUwKCmRpZmYgLS1naXQgYS9hYnJ0LW9vcHMuaW5pdCBiL2FicnQtb29wcy5pbml0CmRlbGV0ZWQg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4YzFjN2JmLi4wMDAwMDAwCi0tLSBhL2FicnQtb29wcy5p bml0CisrKyAvZGV2L251bGwKQEAgLTEsOTEgKzAsMCBAQAotIyEvYmluL2Jhc2gKLSMgU3RhcnQg QUJSVCBrZXJuZWwgbG9nIHdhdGNoZXIKLSMKLSMgY2hrY29uZmlnOiAzNSA4MiAxNgotIyBkZXNj cmlwdGlvbjogV2F0Y2hlcyBzeXN0ZW0gbG9nIGZvciBvb3BzIG1lc3NhZ2VzLCBjcmVhdGVzIEFC UlQgZHVtcCBkaXJlY3RvcmllcyBmb3IgZWFjaCBvb3BzCi0jIyMgQkVHSU4gSU5JVCBJTkZPCi0j IFByb3ZpZGVzOiBhYnJ0LW9vcHMKLSMgUmVxdWlyZWQtU3RhcnQ6ICRhYnJ0ZAotIyBEZWZhdWx0 LVN0b3A6IDAgMSAyIDYKLSMgRGVmYXVsdC1TdGFydDogMyA1Ci0jIFNob3J0LURlc2NyaXB0aW9u OiBXYXRjaGVzIHN5c3RlbSBsb2cgZm9yIG9vcHMgbWVzc2FnZXMsIGNyZWF0ZXMgQUJSVCBkdW1w IGRpcmVjdG9yaWVzIGZvciBlYWNoIG9vcHMKLSMgRGVzY3JpcHRpb246IFdhdGNoZXMgc3lzdGVt IGxvZyBmb3Igb29wcyBtZXNzYWdlcywgY3JlYXRlcyBBQlJUIGR1bXAgZGlyZWN0b3JpZXMgZm9y IGVhY2ggb29wcwotIyMjIEVORCBJTklUIElORk8KLQotIyBTb3VyY2UgZnVuY3Rpb24gbGlicmFy eS4KLS4gL2V0Yy9yYy5kL2luaXQuZC9mdW5jdGlvbnMKLQotIyBGb3IgZGVidWdnaW5nCi1kcnlf cnVuPWZhbHNlCi12ZXJib3NlPWZhbHNlCi0KLSMgV2UgZG9uJ3QgaGF2ZSBwaWQgZmlsZXMsIHRo ZXJlZm9yZSBoYXZlIHRvIHVzZQotIyBhIGZsYWcgZmlsZSBpbiAvdmFyL2xvY2svc3Vic3lzIHRv IGVuYWJsZSBHVUkgc2VydmljZSB0b29scwotIyB0byBmaWd1cmUgb3V0IG91ciBzdGF0dXMKLUxP Q0s9Ii92YXIvbG9jay9zdWJzeXMvYWJydC1vb3BzIgotCi1SRVRWQUw9MAotCi1jaGVjaygpIHsK LQkjIENoZWNrIHRoYXQgd2UncmUgYSBwcml2aWxlZ2VkIHVzZXIKLQlbICJgaWQgLXVgIiA9IDAg XSB8fCBleGl0IDQKLX0KLQotc3RhcnQoKSB7Ci0JY2hlY2sKLQlraWxsYWxsIGFicnQtZHVtcC1v b3BzIDI+L2Rldi9udWxsCi0Jc2V0c2lkIGFicnQtZHVtcC1vb3BzIC1kIC92YXIvc3Bvb2wvYWJy dCAtcnd4IC92YXIvbG9nL21lc3NhZ2VzIDwvZGV2L251bGwgPi9kZXYvbnVsbCAyPiYxICYKLQkk ZHJ5X3J1biB8fCB0b3VjaCAtLSAiJExPQ0siCi0JcmV0dXJuICRSRVRWQUwKLX0KLQotc3RvcCgp IHsKLQljaGVjawotCWtpbGxhbGwgYWJydC1kdW1wLW9vcHMKLQkkZHJ5X3J1biB8fCBybSAtZiAt LSAiJExPQ0siCi0JcmV0dXJuICRSRVRWQUwKLX0KLQotcmVzdGFydCgpIHsKLQlzdG9wCi0Jc3Rh cnQKLX0KLQotcmVsb2FkKCkgewotCXJlc3RhcnQKLX0KLQotY2FzZSAiJDEiIGluCi1zdGFydCkK LQlzdGFydAotCTs7Ci1zdG9wKQotCXN0b3AKLQk7OwotcmVsb2FkKQotCXJlbG9hZAotCTs7Ci1m b3JjZS1yZWxvYWQpCi0JZWNobyAiJDA6IFVuaW1wbGVtZW50ZWQgZmVhdHVyZS4iCi0JUkVUVkFM PTMKLQk7OwotcmVzdGFydCkKLQlyZXN0YXJ0Ci0JOzsKLWNvbmRyZXN0YXJ0KQotCSMgSXMgaXQg YWxyZWFkeSBydW5uaW5nPwotCWlmIHRlc3QgLWYgIiRMT0NLIjsgdGhlbiAgICMgeWVzCi0JCSR2 ZXJib3NlICYmIHByaW50ZiAiUnVubmluZywgcmVzdGFydGluZ1xuIgotCQlyZXN0YXJ0Ci0JZmkK LQk7Owotc3RhdHVzKQotCXN0YXR1cyBhYnJ0LWR1bXAtb29wcwotCVJFVFZBTD0kPwotCTs7Ci0q KQotCWVjaG8gJCJVc2FnZTogJDAge3N0YXJ0fHN0b3B8c3RhdHVzfHJlc3RhcnR8Y29uZHJlc3Rh cnR8cmVsb2FkfGZvcmNlLXJlbG9hZH0iCi0JUkVUVkFMPTIKLWVzYWMKLQotZXhpdCAkUkVUVkFM CgpkaWZmIC0tZ2l0IGEvYWJydC12bWNvcmUuaW5pdCBiL2FicnQtdm1jb3JlLmluaXQKZGVsZXRl ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM0ZTY5ZWEuLjAwMDAwMDAKLS0tIGEvYWJydC12bWNv cmUuaW5pdAorKysgL2Rldi9udWxsCkBAIC0xLDc5ICswLDAgQEAKLSMhL2Jpbi9iYXNoCi0jIEhh cnZlc3Qgdm1jb3JlcyBmb3IgQUJSVAotIwotIyBjaGtjb25maWc6IDM1IDgyIDE2Ci0jIGRlc2Ny aXB0aW9uOiBJbnN0YWxscyBjb3JlZHVtcCBoYW5kbGVyIHdoaWNoIHNhdmVzIHNlZ2ZhdWx0IGRh dGEKLSMjIyBCRUdJTiBJTklUIElORk8KLSMgUHJvdmlkZXM6IGFicnQtdm1jb3JlCi0jIFJlcXVp cmVkLVN0YXJ0OiAkYWJydGQKLSMgRGVmYXVsdC1TdG9wOiAwIDEgMiA2Ci0jIERlZmF1bHQtU3Rh cnQ6IDMgNQotIyBTaG9ydC1EZXNjcmlwdGlvbjogQ29sbGVjdHMgdm1jb3JlIChrZXJuZWwgY3Jh c2ggZGF0YSkgZm9yIEFCUlQKLSMgRGVzY3JpcHRpb246IENvbGxlY3RzIHZtY29yZSAoa2VybmVs IGNyYXNoIGRhdGEpIGZvciBBQlJUCi0jIyMgRU5EIElOSVQgSU5GTwotCi0jIFNvdXJjZSBmdW5j dGlvbiBsaWJyYXJ5LgotLiAvZXRjL3JjLmQvaW5pdC5kL2Z1bmN0aW9ucwotCi1MT0NLPSIvdmFy L2xvY2svc3Vic3lzL2FicnQtdm1jb3JlIgotSEFSVkVTVF9DTUQ9Ii91c3Ivc2Jpbi9hYnJ0LWhh cnZlc3Qtdm1jb3JlIgotCi1SRVRWQUw9MAotCi1jaGVjaygpIHsKLQkjIENoZWNrIHRoYXQgd2Un cmUgYSBwcml2aWxlZ2VkIHVzZXIKLQlbICJgaWQgLXVgIiA9IDAgXSB8fCBleGl0IDQKLX0KLQot c3RhcnQoKSB7Ci0JY2hlY2sKLQkiJEhBUlZFU1RfQ01EIgotCVJFVFZBTD0kPwotCVsgJFJFVFZB TCAtZXEgMCBdICYmIHRvdWNoIC0tICIkTE9DSyIKLQlyZXR1cm4gJFJFVFZBTAotfQotCi1zdG9w KCkgewotCWNoZWNrCi0Jcm0gLWYgLS0gIiRMT0NLIgotCXJldHVybiAwCi19Ci0KLXJlc3RhcnQo KSB7Ci0Jc3RvcAotCXN0YXJ0Ci19Ci0KLXJlbG9hZCgpIHsKLQlyZXN0YXJ0Ci19Ci0KLWNhc2Ug IiQxIiBpbgotc3RhcnQpCi0Jc3RhcnQKLQk7Owotc3RvcCkKLQlzdG9wCi0JOzsKLXJlbG9hZCkK LQlyZWxvYWQKLQk7OwotZm9yY2UtcmVsb2FkKQotCWVjaG8gIiQwOiBVbmltcGxlbWVudGVkIGZl YXR1cmUuIgotCVJFVFZBTD0zCi0JOzsKLXJlc3RhcnQpCi0JcmVzdGFydAotCTs7Ci1jb25kcmVz dGFydCkKLQl0ZXN0IC1mICIkTE9DSyIgJiYgcmVzdGFydAotCTs7Ci1zdGF0dXMpCi0JdGVzdCAt ZiAiJExPQ0siICYmIFJFVFZBTD0wIHx8IFJFVFZBTD0zCi0JOzsKLSopCi0JZWNobyAkIlVzYWdl OiAkMCB7c3RhcnR8c3RvcHxzdGF0dXN8cmVzdGFydHxjb25kcmVzdGFydHxyZWxvYWR8Zm9yY2Ut cmVsb2FkfSIKLQlSRVRWQUw9MgotZXNhYwotCi1leGl0ICRSRVRWQUwKCmRpZmYgLS1naXQgYS9h YnJ0LmluaXQgYi9hYnJ0LmluaXQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRkZTU5 NTAuLjAwMDAwMDAKLS0tIGEvYWJydC5pbml0CisrKyAvZGV2L251bGwKQEAgLTEsMTE1ICswLDAg QEAKLSMhL2Jpbi9iYXNoCi0jIFN0YXJ0cyB0aGUgYWJydCBkYWVtb24KLSMKLSMgY2hrY29uZmln OiAzNSA4MiAxNgotIyBkZXNjcmlwdGlvbjogRGFlbW9uIHRvIGRldGVjdCBjcmFzaGluZyBhcHBz Ci0jIHByb2Nlc3NuYW1lOiBhYnJ0ZAotIyMjIEJFR0lOIElOSVQgSU5GTwotIyBQcm92aWRlczog YWJydAotIyBSZXF1aXJlZC1TdGFydDogJHN5c2xvZyAkbG9jYWxfZnMKLSMgUmVxdWlyZWQtU3Rv cDogJHN5c2xvZyAkbG9jYWxfZnMKLSMgRGVmYXVsdC1TdG9wOiAwIDEgMiA2Ci0jIERlZmF1bHQt U3RhcnQ6IDMgNQotIyBTaG9ydC1EZXNjcmlwdGlvbjogc3RhcnQgYW5kIHN0b3AgYWJydCBkYWVt b24KLSMgRGVzY3JpcHRpb246IExpc3RlbiB0byBhbmQgZGlzcGF0Y2ggY3Jhc2ggZXZlbnRzCi0j IyMgRU5EIElOSVQgSU5GTwotCi0jIFNvdXJjZSBmdW5jdGlvbiBsaWJyYXJ5LgotLiAvZXRjL3Jj LmQvaW5pdC5kL2Z1bmN0aW9ucwotQUJSVF9CSU49Ii91c3Ivc2Jpbi9hYnJ0ZCIKLUxPQ0s9Ii92 YXIvbG9jay9zdWJzeXMvYWJydGQiCi1PTERfTE9DSz0iL3Zhci9sb2NrL3N1YnN5cy9hYnJ0Igot UkVUVkFMPTAKLQotIwotIyBTZXQgdGhlc2UgdmFyaWFibGVzIGlmIHlvdSBhcmUgYmVoaW5kIHBy b3h5Ci0jCi0jZXhwb3J0IGh0dHBfcHJveHk9Ci0jZXhwb3J0IGh0dHBzX3Byb3h5PQotCi0jCi0j IFNlZSBob3cgd2Ugd2VyZSBjYWxsZWQuCi0jCi0KLWNoZWNrKCkgewotCSMgQ2hlY2sgdGhhdCB3 ZSdyZSBhIHByaXZpbGVnZWQgdXNlcgotCVsgImBpZCAtdWAiID0gMCBdIHx8IGV4aXQgNAotCi0J IyBDaGVjayBpZiBhYnJ0IGlzIGV4ZWN1dGFibGUKLQl0ZXN0IC14ICRBQlJUX0JJTiB8fCBleGl0 IDUKLX0KLQotc3RhcnQoKSB7Ci0KLQljaGVjawotCi0JIyBDaGVjayBpZiBpdCBpcyBhbHJlYWR5 IHJ1bm5pbmcKLQlpZiBbICEgLWYgJExPQ0sgXSAmJiBbICEgLWYgJE9MRF9MT0NLIF07IHRoZW4K LQkJZWNobyAtbiAkIlN0YXJ0aW5nIGFicnQgZGFlbW9uOiAiCi0JCWRhZW1vbiAkQUJSVF9CSU4K LQkJUkVUVkFMPSQ/Ci0JCVsgJFJFVFZBTCAtZXEgMCBdICYmIHRvdWNoICRMT0NLCi0JCWVjaG8K LQlmaQotCXJldHVybiAkUkVUVkFMCi19Ci0KLXN0b3AoKSB7Ci0KLQljaGVjawotCi0JZWNobyAt biAkIlN0b3BwaW5nIGFicnQgZGFlbW9uOiAiCi0Ja2lsbHByb2MgJEFCUlRfQklOCi0JUkVUVkFM PSQ/Ci0JWyAkUkVUVkFMIC1lcSAwIF0gJiYgcm0gLWYgJExPQ0sKLQlbICRSRVRWQUwgLWVxIDAg XSAmJiBybSAtZiAkT0xEX0xPQ0sKLQllY2hvCi0JcmV0dXJuICRSRVRWQUwKLX0KLQotCi1yZXN0 YXJ0KCkgewotCXN0b3AKLQlzdGFydAotfQotCi1yZWxvYWQoKSB7Ci0JcmVzdGFydAotfQotCi1j YXNlICIkMSIgaW4KLXN0YXJ0KQotCXN0YXJ0Ci0JOzsKLXN0b3ApCi0Jc3RvcAotCTs7Ci1yZWxv YWQpCi0JcmVsb2FkCi0JOzsKLWZvcmNlLXJlbG9hZCkKLQllY2hvICIkMDogVW5pbXBsZW1lbnRl ZCBmZWF0dXJlLiIKLQlSRVRWQUw9MwotCTs7Ci1yZXN0YXJ0KQotCXJlc3RhcnQKLQk7OwotY29u ZHJlc3RhcnQpCi0JaWYgWyAtZiAkTE9DSyBdOyB0aGVuCi0JCXJlc3RhcnQKLQlmaQotCSMgdXBk YXRlIGZyb20gb2xkZXIgdmVyc2lvbgotCWlmIFsgLWYgJE9MRF9MT0NLIF07IHRoZW4KLQkJcmVz dGFydAotCWZpCi0JOzsKLXN0YXR1cykKLQlzdGF0dXMgYWJydGQKLQlSRVRWQUw9JD8KLQk7Owot KikKLQllY2hvICQiVXNhZ2U6ICQwIHtzdGFydHxzdG9wfHN0YXR1c3xyZXN0YXJ0fGNvbmRyZXN0 YXJ0fHJlbG9hZHxmb3JjZS1yZWxvYWR9IgotCVJFVFZBTD0yCi1lc2FjCi0KLWV4aXQgJFJFVFZB TAoKZGlmZiAtLWdpdCBhL2FicnQuc3BlYyBiL2FicnQuc3BlYwppbmRleCBkZTllMTYxLi5jMmMx MDNlIDEwMDY0NAotLS0gYS9hYnJ0LnNwZWMKKysrIGIvYWJydC5zcGVjCkBAIC0xNSw3ICsxNSw3 IEBACiAKIFN1bW1hcnk6IEF1dG9tYXRpYyBidWcgZGV0ZWN0aW9uIGFuZCByZXBvcnRpbmcgdG9v bAogTmFtZTogYWJydAotVmVyc2lvbjogMi4wLjYKK1ZlcnNpb246IDIuMC43CiBSZWxlYXNlOiAx JXs/ZGlzdH0KIExpY2Vuc2U6IEdQTHYyKwogR3JvdXA6IEFwcGxpY2F0aW9ucy9TeXN0ZW0KQEAg LTI0LDggKzI0LDcgQEAgU291cmNlOiBodHRwczovL2ZlZG9yYWhvc3RlZC5vcmcvcmVsZWFzZWQv JXtuYW1lfS8le25hbWV9LSV7dmVyc2lvbn0udGFyLmd6CiBTb3VyY2UxOiBhYnJ0MV90b19hYnJ0 MgogUGF0Y2gwOiBibGFja2xpc3QucGF0Y2gKIFBhdGNoMTogYWJydF9kaXNhYmxlX2dwZ2NoZWNr LmRpZmYKLVBhdGNoMjogMDAwMi1ndGszLWJ1aWxkLWZpeGVzLnBhdGNoCi1QYXRjaDM6IDAwMDMt Z2xpYi0yLjMxLWJ1aWxkLWZpeGVzLnBhdGNoCitQYXRjaDI6IDAwMDItZGlzYWJsZWQtcmVwb3J0 aW5nLXRvLWtlcm5lbG9vcHMub3JnLnBhdGNoCiBCdWlsZFJlcXVpcmVzOiBkYnVzLWRldmVsCiBC dWlsZFJlcXVpcmVzOiBndGsyLWRldmVsCiBCdWlsZFJlcXVpcmVzOiBycG0tZGV2ZWwgPj0gNC42 CkBAIC0xNzMsNiArMTcyLDcgQEAgUmVxdWlyZXM6IGdkYiA+PSA3LjAtMwogUmVxdWlyZXM6IGFi cnQtZ3VpCiBSZXF1aXJlczogbGlicmVwb3J0LXBsdWdpbi1sb2dnZXIsIGxpYnJlcG9ydC1wbHVn aW4tYnVnemlsbGEKIFJlcXVpcmVzOiBhYnJ0LXJldHJhY2UtY2xpZW50CitSZXF1aXJlczogbGli cmVwb3J0LXBsdWdpbi1ib2RoaQogI1JlcXVpcmVzOiBhYnJ0LXBsdWdpbi1maXJlZm94CiBPYnNv bGV0ZXM6IGJ1Zy1idWRkeSA+IDAuMC4xCiBQcm92aWRlczogYnVnLWJ1ZGR5CkBAIC0xODYsMTcg KzE4NiwxMSBAQCBWaXJ0dWFsIHBhY2thZ2UgdG8gbWFrZSBlYXN5IGRlZmF1bHQgaW5zdGFsbGF0 aW9uIG9uIGRlc2t0b3AgZW52aXJvbm1lbnRzLgogJXBhdGNoMCAtcDEgLWIgLmJsYWNrbGlzdAog IyBnZW5lcmFsCiAlcGF0Y2gxIC1wMSAtYiAuZ3BnCi0lcGF0Y2gyIC1wMSAtYiAuZ3RrMwotJXBh dGNoMyAtcDEgLWIgLmdsaWIyMzEKKyVwYXRjaDIgLXAxIC1iIC5kaXNhYmxlX2tvb3BzX29yZwog CiAlYnVpbGQKLW1rZGlyIC1wIG00Ci10ZXN0IC1yIG00L2FjbG9jYWwubTQgfHwgdG91Y2ggbTQv YWNsb2NhbC5tNAogYXV0b2NvbmYKLWF1dG9tYWtlCiAlY29uZmlndXJlCi1zZWQgLWkgJ3N8Xmhh cmRjb2RlX2xpYmRpcl9mbGFnX3NwZWM9Lip8aGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlYz0iInxn JyBsaWJ0b29sCi1zZWQgLWkgJ3N8XnJ1bnBhdGhfdmFyPUxEX1JVTl9QQVRIfHJ1bnBhdGhfdmFy PURJRV9SUEFUSF9ESUV8ZycgbGlidG9vbAogQ0ZMQUdTPSItZm5vLXN0cmljdC1hbGlhc2luZyIK IG1ha2UgJXs/X3NtcF9tZmxhZ3N9CiAKQEAgLTI0MSwxMSArMjM1LDkgQEAgZ2V0ZW50IHBhc3N3 ZCBhYnJ0ID4vZGV2L251bGwgfHwgdXNlcmFkZCAtLXN5c3RlbSAtZyBhYnJ0IC11ICV7YWJydF9n aWRfdWlkfSAtZCAKIGV4aXQgMAogCiAlcG9zdAotIyMgWyAkMSAtZXEgMSBdIGluc3RhbGwgc2Vj dGlvbgogaWYgWyAkMSAtZXEgMSBdOyB0aGVuCiAlaWYgJXt3aXRoIHN5c3RlbWR9CiAgICAgIyBF bmFibGUgKGJ1dCBkb24ndCBzdGFydCkgdGhlIHVuaXRzIGJ5IGRlZmF1bHQKLSAgICAvYmluL3N5 c3RlbWN0bCBkYWVtb24tcmVsb2FkID4vZGV2L251bGwgMj4mMSB8fCA6CiAgICAgL2Jpbi9zeXN0 ZW1jdGwgZW5hYmxlIGFicnRkLnNlcnZpY2UgPi9kZXYvbnVsbCAyPiYxIHx8IDoKICVlbHNlCiAg ICAgL3NiaW4vY2hrY29uZmlnIC0tYWRkIGFicnRkCkBAIC0yNTgsNzAgKzI1MCwyOSBAQCBmaQog IyBiZWNhdXNlIC9jYWNoZS9hYnJ0LWRpLyogd2FzIGNyZWF0ZWQgdW5kZXIgcm9vdCB3aXRoIHJv b3Q6cm9vdAogIyBzbyAyLnggZmFpbHMgd2hlbiBpdCB0cmllcyB0byBleHRyYWN0IGRlYnVnaW5m byB0aGVyZS4uCiBjaG93biAtUiBhYnJ0OmFicnQgJXtfbG9jYWxzdGF0ZWRpcn0vY2FjaGUvYWJy dC1kaQotIyMgWyAkMSAtZXEgMSBdIGluc3RhbGwgc2VjdGlvbgogaWYgWyAkMSAtZXEgMSBdOyB0 aGVuCiAlaWYgJXt3aXRoIHN5c3RlbWR9CiAgICAgIyBFbmFibGUgKGJ1dCBkb24ndCBzdGFydCkg dGhlIHVuaXRzIGJ5IGRlZmF1bHQKLSAgICAvYmluL3N5c3RlbWN0bCBkYWVtb24tcmVsb2FkID4v ZGV2L251bGwgMj4mMSB8fCA6CiAgICAgL2Jpbi9zeXN0ZW1jdGwgZW5hYmxlIGFicnQtY2NwcC5z ZXJ2aWNlID4vZGV2L251bGwgMj4mMSB8fCA6CiAlZWxzZQogICAgIC9zYmluL2Noa2NvbmZpZyAt LWFkZCBhYnJ0LWNjcHAKICVlbmRpZgogZmkKLSMgRklYTUU6IFdvcmthcm91bmQgZm9yIHVwZGF0 ZSBmcm9tIGFicnQtMS4xLngsIGNhbiBiZSByZW1vdmVkIGluCi0jIEYxNygxOCkgdXBkYXRlLiAg V2hlbiB3ZSBhcmUgdXBkYXRpbmcgZnJvbSBBQlJUIDEgdG8gQUJSVCAyLCBhc3N1bWUKLSMgdGhh dCBhYnJ0ZCBzZXJ2aWNlIGlzIGVuYWJsZWQgYW5kIHRodXMgZW5hYmxlIHRoZSBuZXcgYWJydC1j Y3BwCi0jIHNlcnZpY2UuICBJZiBhYnJ0ZCBpcyBydW5uaW5nIG9uIHRoZSBzeXN0ZW0sIHJ1biBh YnJ0LWNjcHAgc2VydmljZQotIyBhcyB3ZWxsLCBiZWNhdXNlIHdoYXQgd2FzIGEgcGFydCBvZiBh YnJ0ZCBiZWNhbWUgYSBzZXBhcmF0ZSBzZXJ2aWNlLgotCi0jIyBbICQxIC1ndCAxIF0gdXBncmFk ZSBzZWN0aW9uCi1pZiBbICQxIC1ndCAxIF07IHRoZW4KLSAgICVpZiAle3dpdGggc3lzdGVtZH0K LSAgICAgICAvYmluL3N5c3RlbWN0bCByZXN0YXJ0IGFicnQtY2NwcC5zZXJ2aWNlID4vZGV2L251 bGwgMj4mMSB8fCA6Ci0gICAlZWxzZQotICAgICAgIC9zYmluL2Noa2NvbmZpZyAtLWFkZCBhYnJ0 LWNjcHAgPiAvZGV2L251bGwgMj4mMSB8fCA6Ci0gICAgICAgL3NiaW4vcGlkb2YgYWJydGQgPi9k ZXYvbnVsbCAyPiYxCi0gICAgICAgaWYgWyAkPyAtZXEgMCBdOyB0aGVuICMgSXMgYWJydGQgcnVu bmluZz8KLSAgICAgICAgICAgc2VydmljZSBhYnJ0LWNjcHAgcmVzdGFydCA+L2Rldi9udWxsIDI+ JjEgfHwgOgotICAgICAgIGZpCi0gICAlZW5kaWYKLWZpCiAKICVwb3N0IGFkZG9uLWtlcm5lbG9v cHMKLSMjIFsgJDEgLWVxIDEgXSBpbnN0YWxsIHNlY3Rpb24KIGlmIFsgJDEgLWVxIDEgXTsgdGhl bgogJWlmICV7d2l0aCBzeXN0ZW1kfQogICAgICMgRW5hYmxlIChidXQgZG9uJ3Qgc3RhcnQpIHRo ZSB1bml0cyBieSBkZWZhdWx0Ci0gICAgL2Jpbi9zeXN0ZW1jdGwgZGFlbW9uLXJlbG9hZCA+L2Rl di9udWxsIDI+JjEgfHwgOgogICAgIC9iaW4vc3lzdGVtY3RsIGVuYWJsZSBhYnJ0LW9vcHMuc2Vy dmljZSA+L2Rldi9udWxsIDI+JjEgfHwgOgogJWVsc2UKICAgICAvc2Jpbi9jaGtjb25maWcgLS1h ZGQgYWJydC1vb3BzCiAlZW5kaWYKIGZpCi0jIEZJWE1FOiBXb3JrYXJvdW5kIGZvciB1cGRhdGUg ZnJvbSBhYnJ0LTEuMS54LCBjYW4gYmUgcmVtb3ZlZCBpbgotIyBGMTcoMTgpIHVwZGF0ZS4gIFdo ZW4gd2UgYXJlIHVwZGF0aW5nIGZyb20gQUJSVCAxIHRvIEFCUlQgMiwgYXNzdW1lCi0jIHRoYXQg YWJydGQgc2VydmljZSBpcyBlbmFibGVkIGFuZCB0aHVzIGVuYWJsZSB0aGUgbmV3IGFicnQtb29w cwotIyBzZXJ2aWNlLiAgSWYgYWJydGQgaXMgcnVubmluZyBvbiB0aGUgc3lzdGVtLCBydW4gYWJy dC1jY3BwIHNlcnZpY2UKLSMgYXMgd2VsbCwgYmVjYXVzZSB3aGF0IHdhcyBhIHBhcnQgb2YgYWJy dGQgYmVjYW1lIGEgc2VwYXJhdGUgc2VydmljZS4KLQotIyMgWyAkMSAtZ3QgMSBdIHVwZ3JhZGUg c2VjdGlvbgotaWYgWyAkMSAtZ3QgMSBdOyB0aGVuCi0gICAlaWYgJXt3aXRoIHN5c3RlbWR9Ci0g ICAgICAgL2Jpbi9zeXN0ZW1jdGwgdHJ5LXJlc3RhcnQgYWJydC1vb3BzLnNlcnZpY2UgPi9kZXYv bnVsbCAyPiYxIHx8IDoKLSAgICVlbHNlCi0gICAgICAgL3NiaW4vY2hrY29uZmlnIC0tYWRkIGFi cnQtb29wcyA+IC9kZXYvbnVsbCAyPiYxIHx8IDoKLSAgICAgICAvc2Jpbi9waWRvZiBhYnJ0ZCA+ L2Rldi9udWxsIDI+JjEKLSAgICAgICBpZiBbICQ/IC1lcSAwIF07IHRoZW4gIyBJcyBhYnJ0ZCBy dW5uaW5nPwotCSAgIHNlcnZpY2UgYWJydC1vb3BzIHJlc3RhcnQgPi9kZXYvbnVsbCAyPiYxIHx8 IDoKLSAgICAgIGZpCi0gICVlbmRpZgotZmkKIAogJXBvc3QgYWRkb24tdm1jb3JlCiBpZiBbICQx IC1lcSAxIF07IHRoZW4KICVpZiAle3dpdGggc3lzdGVtZH0KICAgICAjIEVuYWJsZSAoYnV0IGRv bid0IHN0YXJ0KSB0aGUgdW5pdHMgYnkgZGVmYXVsdAotICAgIC9iaW4vc3lzdGVtY3RsIGRhZW1v bi1yZWxvYWQgPi9kZXYvbnVsbCAyPiYxIHx8IDoKICAgICAvYmluL3N5c3RlbWN0bCBlbmFibGUg YWJydC12bWNvcmUuc2VydmljZSA+L2Rldi9udWxsIDI+JjEgfHwgOgogJWVsc2UKICAgICAvc2Jp bi9jaGtjb25maWcgLS1hZGQgYWJydC12bWNvcmUKQEAgLTM3NCwxNiArMzI1LDE2IEBAIGZpCiAK ICVpZiAle3dpdGggc3lzdGVtZH0KICVwb3N0dW4KLS9iaW4vc3lzdGVtY3RsIHRyeS1yZWxvYWQg YWJydGQuc2VydmljZSA+L2Rldi9udWxsIDI+JjEgfHwgOgorL2Jpbi9zeXN0ZW1jdGwgZGFlbW9u LXJlbG9hZCA+L2Rldi9udWxsIDI+JjEgfHwgOgogCiAlcG9zdHVuIGFkZG9uLWtlcm5lbG9vcHMK LS9iaW4vc3lzdGVtY3RsIHRyeS1yZWxvYWQgYWJydC1vb3BzLnNlcnZpY2UgPi9kZXYvbnVsbCAy PiYxIHx8IDoKKy9iaW4vc3lzdGVtY3RsIGRhZW1vbi1yZWxvYWQgPi9kZXYvbnVsbCAyPiYxIHx8 IDoKIAogJXBvc3R1biBhZGRvbi12bWNvcmUKLS9iaW4vc3lzdGVtY3RsIHRyeS1yZWxvYWQgYWJy dC12bWNvcmUuc2VydmljZSA+L2Rldi9udWxsIDI+JjEgfHwgOgorL2Jpbi9zeXN0ZW1jdGwgZGFl bW9uLXJlbG9hZCA+L2Rldi9udWxsIDI+JjEgfHwgOgogCiAlcG9zdHVuIGFkZG9uLWNjcHAKLS9i aW4vc3lzdGVtY3RsIHRyeS1yZWxvYWQgYWJydC1jY3BwLnNlcnZpY2UgPi9kZXYvbnVsbCAyPiYx IHx8IDoKKy9iaW4vc3lzdGVtY3RsIGRhZW1vbi1yZWxvYWQgPi9kZXYvbnVsbCAyPiYxIHx8IDoK IAogJWVuZGlmCiAKQEAgLTQyNSw2ICszNzYsNyBAQCBndGstdXBkYXRlLWljb24tY2FjaGUgJXtf ZGF0YWRpcn0vaWNvbnMvaGljb2xvciAmPi9kZXYvbnVsbCB8fCA6CiAle19pbml0cmRkaXJ9L2Fi cnRkCiAlZW5kaWYKICV7X3NiaW5kaXJ9L2FicnRkCisle19zYmluZGlyfS9hYnJ0LWRidXMKICV7 X3NiaW5kaXJ9L2FicnQtc2VydmVyCiAle19saWJleGVjZGlyfS9hYnJ0LWhhbmRsZS1ldmVudAog JXtfYmluZGlyfS9hYnJ0LWhhbmRsZS11cGxvYWQKQEAgLTQ1MCw2ICs0MDIsNyBAQCBndGstdXBk YXRlLWljb24tY2FjaGUgJXtfZGF0YWRpcn0vaWNvbnMvaGljb2xvciAmPi9kZXYvbnVsbCB8fCA6 CiAle19tYW5kaXJ9L21hbjEvYWJydC1zZXJ2ZXIuMS5negogJXtfbWFuZGlyfS9tYW4xL2FicnQt YWN0aW9uLXNhdmUtcGFja2FnZS1kYXRhLjEuZ3oKICV7X21hbmRpcn0vbWFuOC9hYnJ0ZC44Lmd6 Cisle19tYW5kaXJ9L21hbjgvYWJydC1kYnVzLjguZ3oKICV7X21hbmRpcn0vbWFuNS9hYnJ0LmNv bmYuNS5negogJXtfbWFuZGlyfS9tYW41L2FicnQtYWN0aW9uLXNhdmUtcGFja2FnZS1kYXRhLmNv bmYuNS5negogIyB7X21hbmRpcn0vbWFuNS9weWhvb2suY29uZi41Lmd6CkBAIC01NjQsOSArNTE3 LDIwIEBAIGd0ay11cGRhdGUtaWNvbi1jYWNoZSAle19kYXRhZGlyfS9pY29ucy9oaWNvbG9yICY+ L2Rldi9udWxsIHx8IDoKICVkZWZhdHRyKC0scm9vdCxyb290LC0pCiAKICVjaGFuZ2Vsb2cKKyog V2VkIERlYyAwNyAyMDExIEppcmkgTW9za292Y2FrIDxqbW9za292Y0ByZWRoYXQuY29tPiAyLjAu Ny0xCistIG5ldyB2ZXJzaW9uCistIGRpc2FibGVkIGtlcm5lbG9vcHMub3JnCistIGFicnQtY2Nw cCBob29rIGZpeGVzCistIGNhdGNoIGluZGVudGF0aW9uIGVycm9ycyBpbiBweXRob24gcmhieiM1 Nzg5NjkKKy0gZml4ZWQgbWFrZSBjaGVjaworLSBmaXhlZCByZXRyYWNlLWNsaWVudCB0byB3b3Jr IHdpdGggcmF3aGlkZQorLSByZXF1aXJlIGFicnRkIHNlcnZpY2UgaW4gb3RoZXIgc2VydmljZXMg cmhieiM3NTIwMTQKKy0gZml4ZWQgcHJvYmxlbXMgd2l0aCBkdXBlcyByaGJ6IzcwMTcxNworLSBr ZWVwIGFicnQgc2VydmljZXMgZW5hYmxlZCB3aGVuIHVwZGF0aW5nIEYxNS0+RjE2CistIFJlc29s dmVzOiA3NTIwMTQgNzQ5ODkxIDc0OTYwMyA3NDQ4ODcgNzMwNDIyIDY2NTIxMCA2MzkwNjggNjI1 NDQ1IDcwMTcxNyA3NTIwMTQgNTc4OTY5IDczMjg3NiA3NTc2ODMgNzUzMTgzIDc1NjE0NiA3NDkx MDAKKwogKiBGcmkgTm92IDA0IDIwMTEgSmlyaSBNb3Nrb3ZjYWsgPGptb3Nrb3ZjQHJlZGhhdC5j b20+IDIuMC42LTEKIC0gbmV3IHZlcnNpb24KLS0gbW92ZWQgdG8gZ3RrMwogLSBSZXNvbHZlczog IzcwMTE3MSAjNzEyNTA4ICM3MjYwMzMgIzcyODE5NCAjNzI4MzE0ICM3MzAxMDcgIzczMzM4OSAj NzM4NjAyCiAtIFJlc29sdmVzOiAjNzQxMjQyICM3NDkzNjUgIzcwMDI1MiAjNzM0Mjk4ICM3MzYw MTYgIzczODMyNCAjNzQ4NDU3ICM2OTIyNzQKIC0gUmVzb2x2ZXM6ICM3MTE5ODYgIzcyMzIxOSAj NzQ5ODkxICM3MTI2MDIgIzc0NDg4NyAjNzQ5NjAzICM2MjU0NDUgIzY2NTIxMAoKZGlmZiAtLWdp dCBhL2FsbG93X2J6X2Zvcl9rb29wcy5wYXRjaCBiL2FsbG93X2J6X2Zvcl9rb29wcy5wYXRjaApk ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDlmOTA2OC4uMDAwMDAwMAotLS0gYS9hbGxv d19iel9mb3Jfa29vcHMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxMSArMCwwIEBACi0tLS0g YWJydC0yLjAuNi9zcmMvZGFlbW9uL2FicnQtYWN0aW9uLXNhdmUtcGFja2FnZS1kYXRhLmNvbmYJ MjAxMS0xMS0wNCAxMzowMzo0My4yNzE5NTM4MzUgKzAxMDAKLSsrKyBhYnJ0LTIuMC42Xy9zcmMv ZGFlbW9uL2FicnQtYWN0aW9uLXNhdmUtcGFja2FnZS1kYXRhLmNvbmYJMjAxMS0xMS0wNCAxMzow MzozNi42NjE3NDY1NTYgKzAxMDAKLUBAIC0zLDcgKzMsNyBAQAotICMgdGhlIGxpc3Qgb2YgcHVi bGljIGtleXMgdXNlZCB0byBjaGVjayB0aGUgc2lnbmF0dXJlIGlzCi0gIyBpbiB0aGUgZmlsZSBn cGdfa2V5cwotICMKLS1PcGVuR1BHQ2hlY2sgPSB5ZXMKLStPcGVuR1BHQ2hlY2sgPSBubwotIAot ICMgQmxhY2tsaXN0ZWQgcGFja2FnZXMKLSAjCgpkaWZmIC0tZ2l0IGEvZW5hYmxlX2J6X2Zvcl9v b3BzLnBhdGNoIGIvZW5hYmxlX2J6X2Zvcl9vb3BzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEw MDY0NAppbmRleCBlYWM4NTdlLi4wMDAwMDAwCi0tLSBhL2VuYWJsZV9iel9mb3Jfb29wcy5wYXRj aAorKysgL2Rldi9udWxsCkBAIC0xLDExICswLDAgQEAKLS0tLSBhYnJ0LTIuMC40L3NyYy9wbHVn aW5zL2tvb3BzX2V2ZW50LmNvbmYJMjAxMS0wNy0xOSAxNjo1OTozOC4wMDAwMDAwMDAgKzAyMDAK LSsrKyBhYnJ0LTIuMC40Xy9zcmMvcGx1Z2lucy9rb29wc19ldmVudC5jb25mCTIwMTEtMDgtMTkg MTE6MDQ6MDUuNDg1NDY0NzA2ICswMjAwCi1AQCAtOCw0ICs4LDcgQEAgRVZFTlQ9cG9zdC1jcmVh dGUgYW5hbHl6ZXI9S2VybmVsb29wcwotICNFVkVOVD1wb3N0LWNyZWF0ZSBhbmFseXplcj1LZXJu ZWxvb3BzICBhYnJ0LWFjdGlvbi1rZXJuZWxvb3BzCi0gCi0gIyByZXBvcnQKLS1FVkVOVD1yZXBv cnRfS2VybmVsb29wcyBhbmFseXplcj1LZXJuZWxvb3BzIGFicnQtYWN0aW9uLWtlcm5lbG9vcHMK LStFVkVOVD1yZXBvcnRfS2VybmVsb29wcyBhbmFseXplcj1LZXJuZWxvb3BzIHJlcG9ydGVyLWtl cm5lbG9vcHMKLSsKLSsjZmVkb3JhCi0rRVZFTlQ9cmVwb3J0ZXJfQnVnemlsbGEgYW5hbHl6ZXI9 S2VybmVsb29wcyByZXBvcnRlci1idWd6aWxsYQoKZGlmZiAtLWdpdCBhL2ZyZWVfc3BhY2VfY2hl Y2sucGF0Y2ggYi9mcmVlX3NwYWNlX2NoZWNrLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCBhMjY4NzkyLi4wMDAwMDAwCi0tLSBhL2ZyZWVfc3BhY2VfY2hlY2sucGF0Y2gKKysr IC9kZXYvbnVsbApAQCAtMSwyOSArMCwwIEBACi1jb21taXQgZTkxYjIyYTk2NTRiZjk5MTJmM2Y4 OGM5MTc3NzNhOTZmZjc3MzNhMwotQXV0aG9yOiBNYXJ0aW4gTWlsYXRhIDxtbWlsYXRhQHJlZGhh dC5jb20+Ci1EYXRlOiAgIFRodSBTZXAgOCAxNjoyOTowMSAyMDExICswMjAwCi0KLSAgICBGaXgg ZnJlZSBzcGFjZSBjaGVja2luZwotCi0gICAgVGhlIGdfc2V0dGluZ3NfZHVtcF9sb2NhdGlvbiB3 YXMgZnJlZWQgYmVmb3JlIGl0IHdhcyBwYXNzZWQgdG8gdGhlIGZyZWUKLSAgICBzcGFjZSBjaGVj aywgdGh1cyBwcmV2ZW50aW5nIGl0IGZyb20gd29ya2luZy4KLQotZGlmZiAtLWdpdCBhL3NyYy9k YWVtb24vYWJydC1zZXJ2ZXIuYyBiL3NyYy9kYWVtb24vYWJydC1zZXJ2ZXIuYwotaW5kZXggOTgz NzA2ZS4uMzMwZjg1ZiAxMDA2NDQKLS0tLSBhL3NyYy9kYWVtb24vYWJydC1zZXJ2ZXIuYwotKysr IGIvc3JjL2RhZW1vbi9hYnJ0LXNlcnZlci5jCi1AQCAtMTQzLDcgKzE0Myw2IEBAIHN0YXRpYyBp bnQgY3JlYXRlX2RlYnVnX2R1bXAoKQotCi0gICAgIC8qIFRyaW0gb2xkIGNyYXNoIGR1bXBzIGlm IG5lY2Vzc2FyeSAqLwotICAgICBsb2FkX2FicnRfY29uZigpOwotLSAgICBmcmVlX2FicnRfY29u Zl9kYXRhKCk7IC8qIGNhbiBkbyB0aGlzIGJlY2F1c2Ugd2UgbmVlZCBvbmx5IGdfc2V0dGluZ3Nf bk1heENyYXNoUmVwb3J0c1NpemUgKi8KLSAgICAgaWYgKGdfc2V0dGluZ3Nfbk1heENyYXNoUmVw b3J0c1NpemUgPiAwKQotICAgICB7Ci0gICAgICAgICAvKiB4MS4yNSBhbmQgcm91bmQgdXAgdG8g NjRtOiBnbyBhIGJpdCB1cCwgc28gdGhhdCB1c3VhbCBpbi1kYWVtb24gdHJpbW1pbmcKLUBAIC0x NTQsNiArMTUzLDcgQEAgc3RhdGljIGludCBjcmVhdGVfZGVidWdfZHVtcCgpCi0gICAgICAgICBj aGVja19mcmVlX3NwYWNlKG1heHNpemUpOwotICAgICAgICAgdHJpbV9kZWJ1Z19kdW1wcyhERUJV R19EVU1QU19ESVIsIG1heHNpemUgKiAoZG91YmxlKSgxMDI0KjEwMjQpLCBwYXRoKTsKLSAgICAg fQotKyAgICBmcmVlX2FicnRfY29uZl9kYXRhKCk7Ci0KLSAgICAgZnJlZShwYXRoKTsKLQoKZGlm ZiAtLWdpdCBhL251bGxfZGVyZWYucGF0Y2ggYi9udWxsX2RlcmVmLnBhdGNoCmRlbGV0ZWQgZmls ZSBtb2RlIDEwMDY0NAppbmRleCA0ZjdkZjVmLi4wMDAwMDAwCi0tLSBhL251bGxfZGVyZWYucGF0 Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyMSArMCwwIEBACi1jb21taXQgZDI1NzJhOThmNDFkZjk2 NTM0ZjQxMDYyYjAwMjBlZTZhMTAwNDdlYQotQXV0aG9yOiBNYXJ0aW4gTWlsYXRhIDxtbWlsYXRh QHJlZGhhdC5jb20+Ci1EYXRlOiAgIFR1ZSBKdWwgMjYgMTY6NDk6MjggMjAxMSArMDIwMAotCi0g ICAgYS1hLXNhdmUtcGFja2FnZS1kYXRhOiBGaXggTlVMTCBkZXJlZmVyZW5jZQotICAgIAotICAg IEZpeGVzICMzMjQuCi0KLWRpZmYgLS1naXQgYS9zcmMvZGFlbW9uL2FicnQtYWN0aW9uLXNhdmUt cGFja2FnZS1kYXRhLmMgYi9zcmMvZGFlbW9uL2FicnQtYWN0aW9uLXNhdmUtcGFja2FnZS1kYXRh LmMKLWluZGV4IGQzN2EwNWQuLmRkY2Y0YWMgMTAwNjQ0Ci0tLS0gYS9zcmMvZGFlbW9uL2FicnQt YWN0aW9uLXNhdmUtcGFja2FnZS1kYXRhLmMKLSsrKyBiL3NyYy9kYWVtb24vYWJydC1hY3Rpb24t c2F2ZS1wYWNrYWdlLWRhdGEuYwotQEAgLTE2MCw3ICsxNjAsNyBAQCBzdGF0aWMgY2hhciAqZ2V0 X2FyZ3YxX2lmX2Z1bGxfcGF0aChjb25zdCBjaGFyKiBjbWRsaW5lKQotICAgICAgKiB3aXRoICcv JywgaXQgaXMgbm90IGEgZnVsbCBwYXRoIHRvIHNjcmlwdAotICAgICAgKiBhbmQgd2UgY2FuJ3Qg dXNlIGl0IHRvIGRldGVybWluZSB0aGUgcGFja2FnZSBuYW1lCi0gICAgICAqLwotLSAgICBpZiAo KmFyZ3YxICE9ICcvJykKLSsgICAgaWYgKGFyZ3YxID09IE5VTEwgfHwgKmFyZ3YxICE9ICcvJykK LSAgICAgICAgIHJldHVybiBOVUxMOwotIAotICAgICAvKiBnb29kLCBpdCBoYXMgIi9mb28vYmFy IiBmb3JtLCByZXR1cm4gaXQgKi8K