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: Jan Kratochvil To: git-commits@fedoraproject.org Subject: [rpms/gdb] gdb-17.2-rebase-f44: Drop gdb-vla-intel-fortran-vla-strings.patch as it was still regressing the Date: Sun, 28 Jun 2026 00:00:13 GMT Message-ID: <178260481305.1.10300184185285573067.rpms-gdb-6c6f63f3a8d4@fedoraproject.org> List-ID: X-Git-Repo: rpms/gdb X-Git-Branch: gdb-17.2-rebase-f44 X-Git-Rev: 6c6f63f3a8d45689446d2f235e7f1fbf4b6eacca ICAgICAgICAgIEEgbmV3IGNvbW1pdCBoYXMgYmVlbiBwdXNoZWQuCgogICAgICAgICAgUmVwbyAg IDogcnBtcy9nZGIKICAgICAgICAgIEJyYW5jaCA6IGdkYi0xNy4yLXJlYmFzZS1mNDQKICAgICAg ICAgIENvbW1pdCA6IDZjNmY2M2YzYThkNDU2ODk0NDZkMmYyMzVlN2YxZmJmNGI2ZWFjY2EKICAg ICAgICAgIEF1dGhvciA6IEphbiBLcmF0b2NodmlsIDxqYW4ua3JhdG9jaHZpbEByZWRoYXQuY29t PgogICAgICAgICAgRGF0ZSAgIDogMjAyMS0wMy0wNVQxMzowNDo1NiswMTowMAogICAgICAgICAg U3RhdHMgIDogKzEyMi8tMTIzOSBpbiAxMCBmaWxlKHMpCiAgICAgICAgICBVUkwgICAgOiBodHRw czovL3NyYy5mZWRvcmFwcm9qZWN0Lm9yZy9ycG1zL2dkYi9jLzZjNmY2M2YzYThkNDU2ODk0NDZk MmYyMzVlN2YxZmJmNGI2ZWFjY2E/YnJhbmNoPWdkYi0xNy4yLXJlYmFzZS1mNDQKCiAgICAgICAg ICBMb2c6CiAgICAgICAgICBEcm9wIGdkYi12bGEtaW50ZWwtZm9ydHJhbi12bGEtc3RyaW5ncy5w YXRjaCBhcyBpdCB3YXMgc3RpbGwgcmVncmVzc2luZyB0aGUKdGVzdHN1aXRlLgoKLS0tCmRpZmYg LS1naXQgYS9fZ2RiLnNwZWMuUGF0Y2guaW5jbHVkZSBiL19nZGIuc3BlYy5QYXRjaC5pbmNsdWRl CmluZGV4IGE5ZmI1YWEuLmJhN2NiZTkgMTAwNjQ0Ci0tLSBhL19nZGIuc3BlYy5QYXRjaC5pbmNs dWRlCisrKyBiL19nZGIuc3BlYy5QYXRjaC5pbmNsdWRlCkBAIC02LDM2OSArNiwzNjYgQEAgUGF0 Y2gwMDE6IGdkYi02LjMtcmgtdGVzdHZlcnNpb24tMjAwNDEyMDIucGF0Y2gKICM9cHVzaAogUGF0 Y2gwMDI6IGdkYi12bGEtaW50ZWwtZm9ydHJhbi1zdHJpZGVzLnBhdGNoCiAKLSM9cHVzaAotUGF0 Y2gwMDM6IGdkYi12bGEtaW50ZWwtZm9ydHJhbi12bGEtc3RyaW5ncy5wYXRjaAotCiAjPXB1c2gr amFuCi1QYXRjaDAwNDogZ2RiLXZsYS1pbnRlbC1zdHJpbmdidC1maXgucGF0Y2gKK1BhdGNoMDAz OiBnZGItdmxhLWludGVsLXN0cmluZ2J0LWZpeC5wYXRjaAogCiAjIEFkZCBhIHdyYXBwZXIgc2Ny aXB0IHRvIEdEQiB0aGF0IGltcGxlbWVudHMgcHN0YWNrIHVzaW5nIHRoZQogIyAtLXJlYWRuZXZl ciBvcHRpb24uCiAjPXB1c2gKLVBhdGNoMDA1OiBnZGItNi4zLWdzdGFjay0yMDA1MDQxMS5wYXRj aAorUGF0Y2gwMDQ6IGdkYi02LjMtZ3N0YWNrLTIwMDUwNDExLnBhdGNoCiAKICMgVlNZU0NBTEwg YW5kIFBJRQogIz1mZWRvcmF0ZXN0Ci1QYXRjaDAwNjogZ2RiLTYuMy10ZXN0LXBpZS0yMDA1MDEw Ny5wYXRjaAorUGF0Y2gwMDU6IGdkYi02LjMtdGVzdC1waWUtMjAwNTAxMDcucGF0Y2gKIAogIyBH ZXQgc2VsZnRlc3Qgd29ya2luZyB3aXRoIHNlcC1kZWJ1Zy1pbmZvCiAjPWZlZG9yYXRlc3QKLVBh dGNoMDA3OiBnZGItNi4zLXRlc3Qtc2VsZi0yMDA1MDExMC5wYXRjaAorUGF0Y2gwMDY6IGdkYi02 LjMtdGVzdC1zZWxmLTIwMDUwMTEwLnBhdGNoCiAKICMgVGVzdCBzdXBwb3J0IG9mIG11bHRpcGxl IGRlc3RydWN0b3JzIGp1c3QgbGlrZSBtdWx0aXBsZSBjb25zdHJ1Y3RvcnMKICM9ZmVkb3JhdGVz dAotUGF0Y2gwMDg6IGdkYi02LjMtdGVzdC1kdG9yZml4LTIwMDUwMTIxLnBhdGNoCitQYXRjaDAw NzogZ2RiLTYuMy10ZXN0LWR0b3JmaXgtMjAwNTAxMjEucGF0Y2gKIAogIyBGaXggdG8gc3VwcG9y dCBleGVjdXRhYmxlIG1vdmluZwogIz1mZWRvcmF0ZXN0Ci1QYXRjaDAwOTogZ2RiLTYuMy10ZXN0 LW1vdmVkaXItMjAwNTAxMjUucGF0Y2gKK1BhdGNoMDA4OiBnZGItNi4zLXRlc3QtbW92ZWRpci0y MDA1MDEyNS5wYXRjaAogCiAjIFRlc3Qgc2libGluZyB0aHJlYWRzIHRvIHNldCB0aHJlYWRlZCB3 YXRjaHBvaW50cyBmb3IgeDg2IGFuZCB4ODYtNjQKICM9ZmVkb3JhdGVzdAotUGF0Y2gwMTA6IGdk Yi02LjMtdGhyZWFkZWQtd2F0Y2hwb2ludHMyLTIwMDUwMjI1LnBhdGNoCitQYXRjaDAwOTogZ2Ri LTYuMy10aHJlYWRlZC13YXRjaHBvaW50czItMjAwNTAyMjUucGF0Y2gKIAogIyBOb3RpZnkgb2Jz ZXJ2ZXJzIHRoYXQgdGhlIGluZmVyaW9yIGhhcyBiZWVuIGNyZWF0ZWQKICM9ZmVkb3JhdGVzdAot UGF0Y2gwMTE6IGdkYi02LjMtaW5mZXJpb3Itbm90aWZpY2F0aW9uLTIwMDUwNzIxLnBhdGNoCitQ YXRjaDAxMDogZ2RiLTYuMy1pbmZlcmlvci1ub3RpZmljYXRpb24tMjAwNTA3MjEucGF0Y2gKIAog IyBWZXJpZnkgcHJpbnRpbmcgb2YgaW5oZXJpdGVkIG1lbWJlcnMgdGVzdAogIz1mZWRvcmF0ZXN0 Ci1QYXRjaDAxMjogZ2RiLTYuMy1pbmhlcml0YW5jZXRlc3QtMjAwNTA3MjYucGF0Y2gKK1BhdGNo MDExOiBnZGItNi4zLWluaGVyaXRhbmNldGVzdC0yMDA1MDcyNi5wYXRjaAogCiAjIFN1cHBvcnQg VExTIHN5bWJvbHMgKCtgZXJybm8nIHN1Z2dlc3Rpb24gaWYgbm8gcHRocmVhZCBpcyBmb3VuZCkg KEJaIDE4NTMzNykuCiAjPXB1c2gramFuOiBJdCBzaG91bGQgYmUgcmVwbGFjZWQgYnkgSW5maW5p dHkgcHJvamVjdC4KLVBhdGNoMDEzOiBnZGItNi41LWJ6MTg1MzM3LXJlc29sdmUtdGxzLXdpdGhv dXQtZGVidWdpbmZvLXYyLnBhdGNoCitQYXRjaDAxMjogZ2RiLTYuNS1iejE4NTMzNy1yZXNvbHZl LXRscy13aXRob3V0LWRlYnVnaW5mby12Mi5wYXRjaAogCiAjIEZpeCBUTFMgc3ltYm9scyByZXNv bHZpbmcgZm9yIHNoYXJlZCBsaWJyYXJpZXMgd2l0aCBhIHJlbGF0aXZlIHBhdGhuYW1lLgogIyBU aGUgdGVzdHN1aXRlIG5lZWRzIGBnZGItNi41LXRscy1vZi1zZXBhcmF0ZS1kZWJ1Z2luZm8ucGF0 Y2gnLgogIz1mZWRvcmF0ZXN0OiBPbmUgc2hvdWxkIHJlY2hlY2sgaWYgaXQgaXMgcmVhbGx5IGZp eGVkIHVwc3RyZWFtLgotUGF0Y2gwMTQ6IGdkYi02LjUtc2hhcmVkbGlicmFyeS1wYXRoLnBhdGNo CitQYXRjaDAxMzogZ2RiLTYuNS1zaGFyZWRsaWJyYXJ5LXBhdGgucGF0Y2gKIAogIyBJbXByb3Zl ZCB0ZXN0c3VpdGUgcmVzdWx0cyBieSB0aGUgdGVzdHN1aXRlIHByb3ZpZGVkIGJ5IHRoZSBjb3Vy dGVzeSBvZiBCRUEuCiAjPWZlZG9yYXRlc3Q6IEZvciB1cHN0cmVhbSBpdCBzaG91bGQgYmUgcmV3 cml0dGVuIGFzIGEgZGVqYWdudSB0ZXN0LCB0aGUgdGVzdCBvZiBubyAiPz8iIHdhcyB1c2VmdWwu Ci1QYXRjaDAxNTogZ2RiLTYuNS1CRUEtdGVzdHN1aXRlLnBhdGNoCitQYXRjaDAxNDogZ2RiLTYu NS1CRUEtdGVzdHN1aXRlLnBhdGNoCiAKICMgVGVzdGNhc2UgZm9yIGRlYWRsb2NraW5nIG9uIGxh c3QgYWRkcmVzcyBzcGFjZSBieXRlOyBmb3IgY29ycnVwdGVkIGJhY2t0cmFjZXMuCiAjPWZlZG9y YXRlc3QKLVBhdGNoMDE2OiBnZGItNi41LWxhc3QtYWRkcmVzcy1zcGFjZS1ieXRlLXRlc3QucGF0 Y2gKK1BhdGNoMDE1OiBnZGItNi41LWxhc3QtYWRkcmVzcy1zcGFjZS1ieXRlLXRlc3QucGF0Y2gK IAogIyBGaXggcmVhZGxpbmUgc2VnZmF1bHQgb24gZXhjZXNzaXZlbHkgbG9uZyBoYW5kLXR5cGVk IGxpbmVzLgogIz1mZWRvcmF0ZXN0Ci1QYXRjaDAxNzogZ2RiLTYuNS1yZWFkbGluZS1sb25nLWxp bmUtY3Jhc2gtdGVzdC5wYXRjaAorUGF0Y2gwMTY6IGdkYi02LjUtcmVhZGxpbmUtbG9uZy1saW5l LWNyYXNoLXRlc3QucGF0Y2gKIAogIyBUZXN0IHNpZGVlZmZlY3RzIG9mIHNraXBwaW5nIHBwYyAu c28gbGlicyB0cmFtcG9saW5lcyAoQlogMjE4Mzc5KS4KICM9ZmVkb3JhdGVzdAotUGF0Y2gwMTg6 IGdkYi02LjUtYnoyMTgzNzktcHBjLXNvbGliLXRyYW1wb2xpbmUtdGVzdC5wYXRjaAorUGF0Y2gw MTc6IGdkYi02LjUtYnoyMTgzNzktcHBjLXNvbGliLXRyYW1wb2xpbmUtdGVzdC5wYXRjaAogCiAj IEZpeCBsb2NrdXAgb24gdHJhbXBvbGluZSB2cy4gaXRzIGZ1bmN0aW9uIGxvb2t1cDsgdW5yZXBy b2R1Y2libGUgKEJaIDIxODM3OSkuCiAjPWZlZG9yYQotUGF0Y2gwMTk6IGdkYi02LjUtYnoyMTgz Nzktc29saWItdHJhbXBvbGluZS1sb29rdXAtbG9jay1maXgucGF0Y2gKK1BhdGNoMDE4OiBnZGIt Ni41LWJ6MjE4Mzc5LXNvbGliLXRyYW1wb2xpbmUtbG9va3VwLWxvY2stZml4LnBhdGNoCiAKICMg RmluZCBzeW1ib2xzIHByb3Blcmx5IGF0IHRoZWlyIG9yaWdpbmFsIChpbmNsdWRlZCkgZmlsZSAo QlogMTA5OTIxKS4KICM9ZmVkb3JhdGVzdAotUGF0Y2gwMjA6IGdkYi02LjUtYnoxMDk5MjEtRFdf QVRfZGVjbF9maWxlLXRlc3QucGF0Y2gKK1BhdGNoMDE5OiBnZGItNi41LWJ6MTA5OTIxLURXX0FU X2RlY2xfZmlsZS10ZXN0LnBhdGNoCiAKICMgVXBkYXRlIFBQQyB1bndpbmRpbmcgcGF0Y2hlcyB0 byB0aGVpciB1cHN0cmVhbSB2YXJpYW50cyAoQlogMTQwNTMyKS4KICM9ZmVkb3JhdGVzdAotUGF0 Y2gwMjE6IGdkYi02LjMtYnoxNDA1MzItcHBjLXVud2luZGluZy10ZXN0LnBhdGNoCitQYXRjaDAy MDogZ2RiLTYuMy1iejE0MDUzMi1wcGMtdW53aW5kaW5nLXRlc3QucGF0Y2gKIAogIyBUZXN0Y2Fz ZSBmb3IgZXhlYygpIGZyb20gdGhyZWFkZWQgcHJvZ3JhbSAoQlogMjAyNjg5KS4KICM9ZmVkb3Jh dGVzdAotUGF0Y2gwMjI6IGdkYi02LjMtYnoyMDI2ODktZXhlYy1mcm9tLXB0aHJlYWQtdGVzdC5w YXRjaAorUGF0Y2gwMjE6IGdkYi02LjMtYnoyMDI2ODktZXhlYy1mcm9tLXB0aHJlYWQtdGVzdC5w YXRjaAogCiAjIFRlc3RjYXNlIGZvciBQUEMgUG93ZXI2L0RGUCBpbnN0cnVjdGlvbnMgZGlzYXNz ZW1ibHkgKEJaIDIzMDAwMCkuCiAjPWZlZG9yYXRlc3QKLVBhdGNoMDIzOiBnZGItNi42LWJ6MjMw MDAwLXBvd2VyNi1kaXNhc3NlbWJseS10ZXN0LnBhdGNoCitQYXRjaDAyMjogZ2RiLTYuNi1iejIz MDAwMC1wb3dlcjYtZGlzYXNzZW1ibHktdGVzdC5wYXRjaAogCiAjIEFsbG93IHJ1bm5pbmcgYC91 c3IvYmluL2djb3JlJyB3aXRoIHByb3ZpZGVkIGJ1dCBpbmFjY2Vzc2libGUgdHR5IChCWiAyMjk1 MTcpLgogIz1mZWRvcmF0ZXN0Ci1QYXRjaDAyNDogZ2RiLTYuNi1iejIyOTUxNy1nY29yZS13aXRo b3V0LXRlcm1pbmFsLnBhdGNoCitQYXRjaDAyMzogZ2RiLTYuNi1iejIyOTUxNy1nY29yZS13aXRo b3V0LXRlcm1pbmFsLnBhdGNoCiAKICMgQXZvaWQgdG9vIGxvbmcgdGltZW91dHMgb24gZmFpbGlu ZyBjYXNlcyBvZiAiYW5ub3RhMS5leHAgYW5ub3RhMy5leHAiLgogIz1mZWRvcmF0ZXN0Ci1QYXRj aDAyNTogZ2RiLTYuNi10ZXN0c3VpdGUtdGltZW91dHMucGF0Y2gKK1BhdGNoMDI0OiBnZGItNi42 LXRlc3RzdWl0ZS10aW1lb3V0cy5wYXRjaAogCiAjIFN1cHBvcnQgZm9yIHN0ZXBwaW5nIG92ZXIg UFBDIGF0b21pYyBpbnN0cnVjdGlvbiBzZXF1ZW5jZXMgKEJaIDIzNzU3MikuCiAjPWZlZG9yYXRl c3QKLVBhdGNoMDI2OiBnZGItNi42LWJ6MjM3NTcyLXBwYy1hdG9taWMtc2VxdWVuY2UtdGVzdC5w YXRjaAorUGF0Y2gwMjU6IGdkYi02LjYtYnoyMzc1NzItcHBjLWF0b21pYy1zZXF1ZW5jZS10ZXN0 LnBhdGNoCiAKICMgVGVzdCBrZXJuZWwgVkRTTyBkZWNvZGluZyB3aGlsZSBhdHRhY2hpbmcgdG8g YW4gaTM4NiBwcm9jZXNzLgogIz1mZWRvcmF0ZXN0Ci1QYXRjaDAyNzogZ2RiLTYuMy1hdHRhY2gt c2VlLXZkc28tdGVzdC5wYXRjaAorUGF0Y2gwMjY6IGdkYi02LjMtYXR0YWNoLXNlZS12ZHNvLXRl c3QucGF0Y2gKIAogIyBUZXN0IGxlZnRvdmVyIHpvbWJpZSBwcm9jZXNzIChCWiAyNDM4NDUpLgog Iz1mZWRvcmF0ZXN0Ci1QYXRjaDAyODogZ2RiLTYuNS1iejI0Mzg0NS1zdGFsZS10ZXN0aW5nLXpv bWJpZS10ZXN0LnBhdGNoCitQYXRjaDAyNzogZ2RiLTYuNS1iejI0Mzg0NS1zdGFsZS10ZXN0aW5n LXpvbWJpZS10ZXN0LnBhdGNoCiAKICMgTmV3IGxvY2F0aW5nIG9mIHRoZSBtYXRjaGluZyBiaW5h cmllcyBmcm9tIHRoZSBwdXJlIGNvcmUgZmlsZSAoYnVpbGQtaWQpLgogIz1wdXNoK2phbgotUGF0 Y2gwMjk6IGdkYi02LjYtYnVpbGRpZC1sb2NhdGUucGF0Y2gKK1BhdGNoMDI4OiBnZGItNi42LWJ1 aWxkaWQtbG9jYXRlLnBhdGNoCiAKICMgRml4IGxvYWRpbmcgb2YgY29yZSBmaWxlcyB3aXRob3V0 IGJ1aWxkLWlkcyBidXQgd2l0aCBidWlsZC1pZHMgaW4gZXhlY3V0YWJsZXMuCiAjIExvYWQgc3Ry aWN0bHkgYnVpbGQtaWQtY2hlY2tlZCBjb3JlIGZpbGVzIG9ubHkgaWYgbm8gZXhlY3V0YWJsZSBp cyBzcGVjaWZpZWQKICMgKEphbiBLcmF0b2NodmlsLCBSSCBCWiAxMzM5ODYyKS4KICM9cHVzaCtq YW4KLVBhdGNoMDMwOiBnZGItNi42LWJ1aWxkaWQtbG9jYXRlLXNvbGliLW1pc3NpbmctaWRzLnBh dGNoCitQYXRjaDAyOTogZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS1zb2xpYi1taXNzaW5nLWlkcy5w YXRjaAogCiAjPXB1c2gramFuCi1QYXRjaDAzMTogZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS1ycG0u cGF0Y2gKK1BhdGNoMDMwOiBnZGItNi42LWJ1aWxkaWQtbG9jYXRlLXJwbS5wYXRjaAogCiAjIEZp eCBkaXNwbGF5aW5nIG9mIG51bWVyaWMgY2hhciBhcnJheXMgYXMgc3RyaW5ncyAoQlogMjI0MTI4 KS4KICM9ZmVkb3JhdGVzdDogQnV0IGl0IGlzIGZhaWxpbmcgYW55d2F5LCBvbmUgc2hvdWxkIGNo ZWNrIHRoZSBiZWhhdmlvciBtb3JlLgotUGF0Y2gwMzI6IGdkYi02LjctY2hhcnNpZ24tdGVzdC5w YXRjaAorUGF0Y2gwMzE6IGdkYi02LjctY2hhcnNpZ24tdGVzdC5wYXRjaAogCiAjIFRlc3QgUFBD IGhpZGluZyBvZiBjYWxsLXZvbGF0aWxlIHBhcmFtZXRlciByZWdpc3Rlci4KICM9ZmVkb3JhdGVz dAotUGF0Y2gwMzM6IGdkYi02LjctcHBjLWNsb2JiZXJlZC1yZWdpc3RlcnMtTzItdGVzdC5wYXRj aAorUGF0Y2gwMzI6IGdkYi02LjctcHBjLWNsb2JiZXJlZC1yZWdpc3RlcnMtTzItdGVzdC5wYXRj aAogCiAjIFRlc3RzdWl0ZSBmaXhlcyBmb3IgbW9yZSBzdGFibGUvY29tcGFyYWJsZSByZXN1bHRz LgogIz1mZWRvcmF0ZXN0Ci1QYXRjaDAzNDogZ2RiLTYuNy10ZXN0c3VpdGUtc3RhYmxlLXJlc3Vs dHMucGF0Y2gKK1BhdGNoMDMzOiBnZGItNi43LXRlc3RzdWl0ZS1zdGFibGUtcmVzdWx0cy5wYXRj aAogCiAjIFRlc3QgaWE2NCBtZW1vcnkgbGVha3Mgb2YgdGhlIGNvZGUgdXNpbmcgbGlidW53aW5k LgogIz1mZWRvcmF0ZXN0Ci1QYXRjaDAzNTogZ2RiLTYuNS1pYTY0LWxpYnVud2luZC1sZWFrLXRl c3QucGF0Y2gKK1BhdGNoMDM0OiBnZGItNi41LWlhNjQtbGlidW53aW5kLWxlYWstdGVzdC5wYXRj aAogCiAjIFRlc3QgaGlkaW5nIHVuZXhwZWN0ZWQgYnJlYWtwb2ludHMgb24gaW50ZW50aW9uYWwg c3RlcCBjb21tYW5kcy4KICM9ZmVkb3JhdGVzdAotUGF0Y2gwMzY6IGdkYi02LjUtbWlzc2VkLXRy YXAtb24tc3RlcC10ZXN0LnBhdGNoCitQYXRjaDAzNTogZ2RiLTYuNS1taXNzZWQtdHJhcC1vbi1z dGVwLXRlc3QucGF0Y2gKIAogIyBUZXN0IGdjb3JlIG1lbW9yeSBhbmQgdGltZSByZXF1aXJlbWVu dHMgZm9yIGxhcmdlIGluZmVyaW9ycy4KICM9ZmVkb3JhdGVzdAotUGF0Y2gwMzc6IGdkYi02LjUt Z2NvcmUtYnVmZmVyLWxpbWl0LXRlc3QucGF0Y2gKK1BhdGNoMDM2OiBnZGItNi41LWdjb3JlLWJ1 ZmZlci1saW1pdC10ZXN0LnBhdGNoCiAKICMgVGVzdCBHQ09SRSBmb3Igc2htaWQgMCBzaGFyZWQg bWVtb3J5IG1hcHBpbmdzLgogIz1mZWRvcmF0ZXN0OiBCdXQgaXQgaXMgYnJva2VuIGFueXdheSwg c29tZXRpbWVzIHRoZSBjYXNlIGJlaW5nIHRlc3RlZCBpcyBub3QgcmVwcm9kdWNpYmxlLgotUGF0 Y2gwMzg6IGdkYi02LjMtbWFwcGluZy16ZXJvLWlub2RlLXRlc3QucGF0Y2gKK1BhdGNoMDM3OiBn ZGItNi4zLW1hcHBpbmctemVyby1pbm9kZS10ZXN0LnBhdGNoCiAKICMgVGVzdCBhIGNyYXNoIG9u IGBmb2N1cyBjbWQnLCBgZm9jdXMgcHJldicgY29tbWFuZHMuCiAjPWZlZG9yYXRlc3QKLVBhdGNo MDM5OiBnZGItNi4zLWZvY3VzLWNtZC1wcmV2LXRlc3QucGF0Y2gKK1BhdGNoMDM4OiBnZGItNi4z LWZvY3VzLWNtZC1wcmV2LXRlc3QucGF0Y2gKIAogIyBUZXN0IHZhcmlvdXMgZm9ybXMgb2YgdGhy ZWFkcyB0cmFja2luZyBhY3Jvc3MgZXhlYygpIChCWiA0NDI3NjUpLgogIz1mZWRvcmF0ZXN0Ci1Q YXRjaDA0MDogZ2RiLTYuOC1iejQ0Mjc2NS10aHJlYWRlZC1leGVjLXRlc3QucGF0Y2gKK1BhdGNo MDM5OiBnZGItNi44LWJ6NDQyNzY1LXRocmVhZGVkLWV4ZWMtdGVzdC5wYXRjaAogCiAjIFRlc3Qg YSBjcmFzaCBvbiBsaWJyYXJpZXMgbWlzc2luZyB0aGUgLnRleHQgc2VjdGlvbi4KICM9ZmVkb3Jh dGVzdAotUGF0Y2gwNDE6IGdkYi02LjUtc2VjdGlvbi1udW0tZml4dXAtdGVzdC5wYXRjaAorUGF0 Y2gwNDA6IGdkYi02LjUtc2VjdGlvbi1udW0tZml4dXAtdGVzdC5wYXRjaAogCiAjIEZpeCByZXNv bHZpbmcgb2YgdmFyaWFibGVzIGF0IGxvY2F0aW9ucyBsaXN0cyBpbiBwcmVsaW5rZWQgbGlicyAo QlogNDY2OTAxKS4KICM9ZmVkb3JhdGVzdAotUGF0Y2gwNDI6IGdkYi02LjgtYno0NjY5MDEtYmFj a3RyYWNlLWZ1bGwtcHJlbGlua2VkLnBhdGNoCitQYXRjaDA0MTogZ2RiLTYuOC1iejQ2NjkwMS1i YWNrdHJhY2UtZnVsbC1wcmVsaW5rZWQucGF0Y2gKIAogIyBOZXcgdGVzdCBmb3Igc3RlcC1yZXN1 bWUgYnJlYWtwb2ludCBwbGFjZWQgaW4gbXVsdGlwbGUgdGhyZWFkcyBhdCBvbmNlLgogIz1mZWRv cmF0ZXN0Ci1QYXRjaDA0MzogZ2RiLXNpbXVsdGFuZW91cy1zdGVwLXJlc3VtZS1icmVha3BvaW50 LXRlc3QucGF0Y2gKK1BhdGNoMDQyOiBnZGItc2ltdWx0YW5lb3VzLXN0ZXAtcmVzdW1lLWJyZWFr cG9pbnQtdGVzdC5wYXRjaAogCiAjIEZpeCBHTlUvTGludXggY29yZSBvcGVuOiBDYW4ndCByZWFk IHBhdGhuYW1lIGZvciBsb2FkIG1hcDogSW5wdXQvb3V0cHV0IGVycm9yLgogIyBGaXggcmVncmVz c2lvbiBvZiB1bmRpc3BsYXllZCBtaXNzaW5nIHNoYXJlZCBsaWJyYXJpZXMgY2F1c2VkIGJ5IGEg Zml4IGZvci4KICM9ZmVkb3JhdGVzdDogSXQgc2hvdWxkIGJlIGluIGdsaWJjOiBsaWJjLWFscGhh OiA8MjAwOTEwMDQxNjE3MDYuR0EyNzQ1MEAuKj4KLVBhdGNoMDQ0OiBnZGItY29yZS1vcGVuLXZk c28td2FybmluZy5wYXRjaAorUGF0Y2gwNDM6IGdkYi1jb3JlLW9wZW4tdmRzby13YXJuaW5nLnBh dGNoCiAKICMgRml4IHN0ZXBwaW5nIHdpdGggT01QIHBhcmFsbGVsIEZvcnRyYW4gc2VjdGlvbnMg KEJaIDUzMzE3NikuCiAjPXB1c2gramFuOiBJdCByZXF1aXJlcyBzb21lIGJldHRlciBEV0FSRiBh bm5vdGF0aW9ucy4KLVBhdGNoMDQ1OiBnZGItYno1MzMxNzYtZm9ydHJhbi1vbXAtc3RlcC5wYXRj aAorUGF0Y2gwNDQ6IGdkYi1iejUzMzE3Ni1mb3J0cmFuLW9tcC1zdGVwLnBhdGNoCiAKICMgV29y a2Fyb3VuZCBjY2FjaGUgbWFraW5nIGxpbmVubyBub24temVybyBmb3IgY29tbWFuZC1saW5lIGRl ZmluaXRpb25zLgogIz1mZWRvcmF0ZXN0OiBjY2FjaGUgaXMgcmFyZWx5IHVzZWQgYW5kIGl0IGlz IGV2ZW4gZml4ZWQgbm93LgotUGF0Y2gwNDY6IGdkYi1jY2FjaGUtd29ya2Fyb3VuZC5wYXRjaAor UGF0Y2gwNDU6IGdkYi1jY2FjaGUtd29ya2Fyb3VuZC5wYXRjaAogCiAjPXB1c2gramFuOiBNYXkg Z2V0IG9ic29sZXRlZCBieSBUb20ncyB1bnJlbG9jYXRlZCBvYmpmaWxlcyBwYXRjaC4KLVBhdGNo MDQ3OiBnZGItYXJjaGVyLXBpZS1hZGRvbnMucGF0Y2gKK1BhdGNoMDQ2OiBnZGItYXJjaGVyLXBp ZS1hZGRvbnMucGF0Y2gKIAogIz1wdXNoK2phbjogQnJlYWtwb2ludHMgZGlzYWJsaW5nIG1hdGNo aW5nIHNob3VsZCBub3QgYmUgYmFzZWQgb24gYWRkcmVzcy4KLVBhdGNoMDQ4OiBnZGItYXJjaGVy LXBpZS1hZGRvbnMta2VlcC1kaXNhYmxlZC5wYXRjaAorUGF0Y2gwNDc6IGdkYi1hcmNoZXItcGll LWFkZG9ucy1rZWVwLWRpc2FibGVkLnBhdGNoCiAKICMgVGVzdGNhc2UgZm9yICJEbyBub3QgbWFr ZSB1cCBsaW5lIGluZm9ybWF0aW9uIiBmaXggYnkgRGFuaWVsIEphY29ib3dpdHouCiAjPWZlZG9y YXRlc3QKLVBhdGNoMDQ5OiBnZGItbGluZW5vLW1ha2V1cC10ZXN0LnBhdGNoCitQYXRjaDA0ODog Z2RiLWxpbmVuby1tYWtldXAtdGVzdC5wYXRjaAogCiAjIFRlc3QgcG93ZXI3IHBwYyBkaXNhc3Nl bWJseS4KICM9ZmVkb3JhdGVzdAotUGF0Y2gwNTA6IGdkYi1wcGMtcG93ZXI3LXRlc3QucGF0Y2gK K1BhdGNoMDQ5OiBnZGItcHBjLXBvd2VyNy10ZXN0LnBhdGNoCiAKICMgV29ya2Fyb3VuZCBub24t c3RvcCBtb3JpYnVuZCBsb2NhdGlvbnMgZXhwbG9pdGVkIGJ5IGtlcm5lbCB1dHJhY2UgKEJaIDU5 MDYyMykuCiAjPXB1c2gramFuOiBDdXJyZW50bHkgaXQgaXMgc3RpbGwgbm90IGZ1bGx5IHNhZmUu Ci1QYXRjaDA1MTogZ2RiLW1vcmlidW5kLXV0cmFjZS13b3JrYXJvdW5kLnBhdGNoCitQYXRjaDA1 MDogZ2RiLW1vcmlidW5kLXV0cmFjZS13b3JrYXJvdW5kLnBhdGNoCiAKICMgRml4IGZvbGxvdy1l eGVjIGZvciBDKysgcHJvZ3JhbXMgKGJ1Z3JlcG9ydGVkIGJ5IE1hcnRpbiBTdHJhbnNreSkuCiAj PWZlZG9yYXRlc3QKLVBhdGNoMDUyOiBnZGItYXJjaGVyLW5leHQtb3Zlci10aHJvdy1jeHgtZXhl Yy5wYXRjaAorUGF0Y2gwNTE6IGdkYi1hcmNoZXItbmV4dC1vdmVyLXRocm93LWN4eC1leGVjLnBh dGNoCiAKICMgQmFja3BvcnQgRFdBUkYtNCBzdXBwb3J0IChCWiA2MDE4ODcsIFRvbSBUcm9tZXkp LgogIz1mZWRvcmF0ZXN0Ci1QYXRjaDA1MzogZ2RiLWJ6NjAxODg3LWR3YXJmNC1yaC10ZXN0LnBh dGNoCitQYXRjaDA1MjogZ2RiLWJ6NjAxODg3LWR3YXJmNC1yaC10ZXN0LnBhdGNoCiAKICM9cHVz aCtqYW4KLVBhdGNoMDU0OiBnZGItNi42LWJ1aWxkaWQtbG9jYXRlLWNvcmUtYXMtYXJnLnBhdGNo CitQYXRjaDA1MzogZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS1jb3JlLWFzLWFyZy5wYXRjaAogCiAj IFdvcmthcm91bmQgbGlicnBtIEJaIDY0MzAzMSBkdWUgdG8gaXRzIHVuZXhwZWN0ZWQgZXhpdCgp IGNhbGxzIChCWiA2NDI4NzkpLgogIz1wdXNoK2phbgotUGF0Y2gwNTU6IGdkYi02LjYtYnVpbGRp ZC1sb2NhdGUtcnBtLWxpYnJwbS13b3JrYXJvdW5kLnBhdGNoCitQYXRjaDA1NDogZ2RiLTYuNi1i dWlsZGlkLWxvY2F0ZS1ycG0tbGlicnBtLXdvcmthcm91bmQucGF0Y2gKIAogIyBbZGVsYXllZC1z eW1maWxlXSBUZXN0IGEgYmFja3RyYWNlIHJlZ3Jlc3Npb24gb24gQ0ZJcyB3aXRob3V0IERJRSAo QlogNjE0NjA0KS4KICM9ZmVkb3JhdGVzdAotUGF0Y2gwNTY6IGdkYi10ZXN0LWJ0LWNmaS13aXRo b3V0LWRpZS5wYXRjaAorUGF0Y2gwNTU6IGdkYi10ZXN0LWJ0LWNmaS13aXRob3V0LWRpZS5wYXRj aAogCiAjIFZlcmlmeSBHREIgUHl0aG9uIGJ1aWx0LWluIGZ1bmN0aW9uIGdkYi5zb2xpYl9hZGRy ZXNzIGV4aXN0cyAoQlogIyA2MzQxMDgpLgogIz1mZWRvcmF0ZXN0Ci1QYXRjaDA1NzogZ2RiLWJ6 NjM0MTA4LXNvbGliX2FkZHJlc3MucGF0Y2gKK1BhdGNoMDU2OiBnZGItYno2MzQxMDgtc29saWJf YWRkcmVzcy5wYXRjaAogCiAjIE5ldyB0ZXN0IGdkYi5hcmNoL3g4Nl82NC1waWQwLWNvcmUuZXhw IGZvciBrZXJuZWwgUElEIDAgY29yZXMgKEJaIDYxMTQzNSkuCiAjPWZlZG9yYXRlc3QKLVBhdGNo MDU4OiBnZGItdGVzdC1waWQwLWNvcmUucGF0Y2gKK1BhdGNoMDU3OiBnZGItdGVzdC1waWQwLWNv cmUucGF0Y2gKIAogIyBbYXJjaGVyLXRyb21leS1kZWxheWVkLXN5bWZpbGVdIE5ldyB0ZXN0IGdk Yi5kd2FyZjIvZHcyLWFyYW5nZXMuZXhwLgogIz1mZWRvcmF0ZXN0Ci1QYXRjaDA1OTogZ2RiLXRl c3QtZHcyLWFyYW5nZXMucGF0Y2gKK1BhdGNoMDU4OiBnZGItdGVzdC1kdzItYXJhbmdlcy5wYXRj aAogCiAjIFthcmNoZXIta2VpdGhzLWV4cHItY3VtdWxhdGl2ZSt1cHN0cmVhbV0gSW1wb3J0IEMr KyB0ZXN0Y2FzZXMuCiAjPWZlZG9yYXRlc3QKLVBhdGNoMDYwOiBnZGItdGVzdC1leHByLWN1bXVs YXRpdmUtYXJjaGVyLnBhdGNoCitQYXRjaDA1OTogZ2RiLXRlc3QtZXhwci1jdW11bGF0aXZlLWFy Y2hlci5wYXRjaAogCiAjIEZpeCByZWdyZXNzaW9ucyBvbiBDKysgbmFtZXMgcmVzb2x2aW5nIChQ UiAxMTczNCwgUFIgMTIyNzMsIEtlaXRoIFNlaXR6KS4KICM9ZmVkb3JhdGVzdAotUGF0Y2gwNjE6 IGdkYi1waHlzbmFtZS1wcjExNzM0LXRlc3QucGF0Y2gKK1BhdGNoMDYwOiBnZGItcGh5c25hbWUt cHIxMTczNC10ZXN0LnBhdGNoCiAKICMgRml4IHJlZ3Jlc3Npb25zIG9uIEMrKyBuYW1lcyByZXNv bHZpbmcgKFBSIDExNzM0LCBQUiAxMjI3MywgS2VpdGggU2VpdHopLgogIz1mZWRvcmF0ZXN0Ci1Q YXRjaDA2MjogZ2RiLXBoeXNuYW1lLXByMTIyNzMtdGVzdC5wYXRjaAorUGF0Y2gwNjE6IGdkYi1w aHlzbmFtZS1wcjEyMjczLXRlc3QucGF0Y2gKIAogIyBUZXN0IEdEQiBvcGNvZGVzLyBkaXNhc3Nl bWJseSBvZiBJbnRlbCBJdnkgQnJpZGdlIGluc3RydWN0aW9ucyAoQlogNjk2ODkwKS4KICM9ZmVk b3JhdGVzdAotUGF0Y2gwNjM6IGdkYi10ZXN0LWl2eS1icmlkZ2UucGF0Y2gKK1BhdGNoMDYyOiBn ZGItdGVzdC1pdnktYnJpZGdlLnBhdGNoCiAKICMgSGFjayBmb3IgcHJvcGVyIFBJRSBydW4gb2Yg dGhlIHRlc3RzdWl0ZS4KICM9ZmVkb3JhdGVzdAotUGF0Y2gwNjQ6IGdkYi1ydW50ZXN0LXBpZS1v dmVycmlkZS5wYXRjaAorUGF0Y2gwNjM6IGdkYi1ydW50ZXN0LXBpZS1vdmVycmlkZS5wYXRjaAog CiAjIFByaW50IHJlYXNvbnMgZm9yIGZhaWxlZCBhdHRhY2gvc3Bhd24gaW5jbC4gU0VMaW51eCBk ZW55X3B0cmFjZSAoQlogNzg2ODc4KS4KICM9cHVzaCtqYW4KLVBhdGNoMDY1OiBnZGItYXR0YWNo LWZhaWwtcmVhc29ucy01b2Y1LnBhdGNoCitQYXRjaDA2NDogZ2RiLWF0dGFjaC1mYWlsLXJlYXNv bnMtNW9mNS5wYXRjaAogCiAjIFdvcmthcm91bmQgUFIgbGliYy8xNDE2NiBmb3IgaW5mZXJpb3Ig Y2FsbHMgb2Ygc3Ryc3RyLgogIz1mZWRvcmF0ZXN0OiBDb21wYXRpYmlsaXR5IHdpdGggUkhFTHMg KHVuY2hlY2tlZCB3aGljaCBvbmVzKS4KLVBhdGNoMDY2OiBnZGItZ2xpYmMtc3Ryc3RyLXdvcmth cm91bmQucGF0Y2gKK1BhdGNoMDY1OiBnZGItZ2xpYmMtc3Ryc3RyLXdvcmthcm91bmQucGF0Y2gK IAogIyBJbmNsdWRlIHRlc3RjYXNlIGZvciBgVW5hYmxlIHRvIHNlZSBhIHZhcmlhYmxlIGluc2lk ZSBhIG1vZHVsZSAoWExGKScgKEJaIDgyMzc4OSkuCiAjPWZlZG9yYXRlc3QKLVBhdGNoMDY3OiBn ZGItcmhlbDUuOS10ZXN0Y2FzZS14bGYtdmFyLWluc2lkZS1tb2QucGF0Y2gKK1BhdGNoMDY2OiBn ZGItcmhlbDUuOS10ZXN0Y2FzZS14bGYtdmFyLWluc2lkZS1tb2QucGF0Y2gKIAogIyBUZXN0Y2Fz ZSBmb3IgYFNldHRpbmcgc29saWItYWJzb2x1dGUtcHJlZml4IGJyZWFrcyB2RFNPJyAoQlogODE4 MzQzKS4KICM9ZmVkb3JhdGVzdAotUGF0Y2gwNjg6IGdkYi1yaGJ6LTgxODM0My1zZXQtc29saWIt YWJzb2x1dGUtcHJlZml4LXRlc3RjYXNlLnBhdGNoCitQYXRjaDA2NzogZ2RiLXJoYnotODE4MzQz LXNldC1zb2xpYi1hYnNvbHV0ZS1wcmVmaXgtdGVzdGNhc2UucGF0Y2gKIAogIyBJbXBvcnQgcmVn cmVzc2lvbiB0ZXN0IGZvciBgZ2RiL2ZpbmR2YXIuYzo0MTc6IGludGVybmFsLWVycm9yOgogIyBy ZWFkX3Zhcl92YWx1ZTogQXNzZXJ0aW9uIGBmcmFtZScgZmFpbGVkLicgKFJIIEJaIDk0NzU2NCkg ZnJvbSBSSEVMIDYuNS4KICM9ZmVkb3JhdGVzdAotUGF0Y2gwNjk6IGdkYi1yaGJ6OTQ3NTY0LWZp bmR2YXItYXNzZXJ0aW9uLWZyYW1lLWZhaWxlZC10ZXN0Y2FzZS5wYXRjaAorUGF0Y2gwNjg6IGdk Yi1yaGJ6OTQ3NTY0LWZpbmR2YXItYXNzZXJ0aW9uLWZyYW1lLWZhaWxlZC10ZXN0Y2FzZS5wYXRj aAogCiAjIEZpeCBjcmFzaCBvZiAtcmVhZG5vdyAvdXNyL2xpYi9kZWJ1Zy91c3IvYmluL2duYXRi aW5kLmRlYnVnIChCWiAxMDY5MjExKS4KICM9cHVzaCtqYW4KLVBhdGNoMDcwOiBnZGItZ25hdC1k d2FyZi1jcmFzaC0zb2YzLnBhdGNoCitQYXRjaDA2OTogZ2RiLWduYXQtZHdhcmYtY3Jhc2gtM29m My5wYXRjaAogCiAjIEZpeCAnbWVtb3J5IGxlYWsgaW4gaW5mcHlfcmVhZF9tZW1vcnkoKScgKFJI IEJaIDEwMDc2MTQpCiAjPWZlZG9yYXRlc3QKLVBhdGNoMDcxOiBnZGItcmhiejEwMDc2MTQtbWVt bGVhay1pbmZweV9yZWFkX21lbW9yeS10ZXN0LnBhdGNoCitQYXRjaDA3MDogZ2RiLXJoYnoxMDA3 NjE0LW1lbWxlYWstaW5mcHlfcmVhZF9tZW1vcnktdGVzdC5wYXRjaAogCiAjIEZpeCAnZ2RiIGdp dmVzIGhpZ2hseSBtaXNsZWFkaW5nIGVycm9yIHdoZW4gZGVidWdpbmZvIHBrZyBpcyBwcmVzZW50 LAogIyBidXQgbm90IGNvcnJlc3BvbmRpbmcgYmluYXJ5IHBrZycgKFJIIEJaIDk4MTE1NCkuCiAj PXB1c2gramFuCi1QYXRjaDA3MjogZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS1taXNsZWFkaW5nLXdh cm5pbmctbWlzc2luZy1kZWJ1Z2luZm8tcmhiejk4MTE1NC5wYXRjaAorUGF0Y2gwNzE6IGdkYi02 LjYtYnVpbGRpZC1sb2NhdGUtbWlzbGVhZGluZy13YXJuaW5nLW1pc3NpbmctZGVidWdpbmZvLXJo Yno5ODExNTQucGF0Y2gKIAogIz1mZWRvcmF0ZXN0Ci1QYXRjaDA3MzogZ2RiLWFyY2hlci12bGEt dGVzdHMucGF0Y2gKK1BhdGNoMDcyOiBnZGItYXJjaGVyLXZsYS10ZXN0cy5wYXRjaAogCiAjPWZl ZG9yYXRlc3QKLVBhdGNoMDc0OiBnZGItdmxhLWludGVsLXRlc3RzLnBhdGNoCitQYXRjaDA3Mzog Z2RiLXZsYS1pbnRlbC10ZXN0cy5wYXRjaAogCiAjIENvbnRpbnVlIGJhY2t0cmFjZSBldmVuIGlm IGEgZnJhbWUgZmlsdGVyIHRocm93cyBhbiBleGNlcHRpb24gKFBoaWwgTXVsZG9vbikuCiAjPXB1 c2gKLVBhdGNoMDc1OiBnZGItYnRyb2J1c3QucGF0Y2gKK1BhdGNoMDc0OiBnZGItYnRyb2J1c3Qu cGF0Y2gKIAogIyBEaXNwbGF5IEZvcnRyYW4gc3RyaW5ncyBpbiBiYWNrdHJhY2VzLgogIz1mZWRv cmF0ZXN0Ci1QYXRjaDA3NjogZ2RiLWZvcnRyYW4tZnJhbWUtc3RyaW5nLnBhdGNoCitQYXRjaDA3 NTogZ2RiLWZvcnRyYW4tZnJhbWUtc3RyaW5nLnBhdGNoCiAKICMgVGVzdGNhc2UgZm9yICdbU0FQ XSBSZWN1cnNpdmUgZGxvcGVuIGNhdXNlcyBTQVAgSEFOQSBpbnN0YWxsZXIgdG8KICMgY3Jhc2gu JyAoUkggQlogMTE1NjE5MikuCiAjPWZlZG9yYXRlc3QKLVBhdGNoMDc3OiBnZGItcmhiejExNTYx OTItcmVjdXJzaXZlLWRsb3Blbi10ZXN0LnBhdGNoCitQYXRjaDA3NjogZ2RiLXJoYnoxMTU2MTky LXJlY3Vyc2l2ZS1kbG9wZW4tdGVzdC5wYXRjaAogCiAjIEZpeCBqaXQtcmVhZGVyLmggZm9yIG11 bHRpLWxpYi4KICM9cHVzaCtqYW4KLVBhdGNoMDc4OiBnZGItaml0LXJlYWRlci1tdWx0aWxpYi5w YXRjaAorUGF0Y2gwNzc6IGdkYi1qaXQtcmVhZGVyLW11bHRpbGliLnBhdGNoCiAKICMgRml4ICdg Y2F0Y2ggc3lzY2FsbCcgZG9lc24ndCB3b3JrIGZvciBwYXJlbnQgYWZ0ZXIgYGZvcmsnIGlzIGNh bGxlZCcKICMgKFBoaWxpcHBlIFdhcm9xdWllcnMsIFJIIEJaIDExNDkyMDUpLgogIz1mZWRvcmF0 ZXN0Ci1QYXRjaDA3OTogZ2RiLXJoYnoxMTQ5MjA1LWNhdGNoLXN5c2NhbGwtYWZ0ZXItZm9yay10 ZXN0LnBhdGNoCitQYXRjaDA3ODogZ2RiLXJoYnoxMTQ5MjA1LWNhdGNoLXN5c2NhbGwtYWZ0ZXIt Zm9yay10ZXN0LnBhdGNoCiAKICMgRml4ICdiYWNrcG9ydCBHREIgNy40IGZpeCB0byBSSEVMIDYu NiBHREInIFtPcmlnaW5hbCBTb3VyY2V3YXJlIGJ1ZwogIyBkZXNjcmlwdGlvbjogJ0MrKyAoYW5k IG9iamMpOiBJbnRlcm5hbCBlcnJvciBvbiB1bnF1YWxpZmllZCBuYW1lCiAjIHJlLXNldCcsIFBS IDExNjU3XSAoUkggQlogMTE4NjQ3NikuCiAjPWZlZG9yYXRlc3QKLVBhdGNoMDgwOiBnZGItcmhi ejExODY0NzYtaW50ZXJuYWwtZXJyb3ItdW5xdWFsaWZpZWQtbmFtZS1yZS1zZXQtdGVzdC5wYXRj aAorUGF0Y2gwNzk6IGdkYi1yaGJ6MTE4NjQ3Ni1pbnRlcm5hbC1lcnJvci11bnF1YWxpZmllZC1u YW1lLXJlLXNldC10ZXN0LnBhdGNoCiAKICMgVGVzdCAnaW5mbyB0eXBlLXByaW50ZXJzJyBQeXRo b24gZXJyb3IgKFJIIEJaIDEzNTA0MzYpLgogIz1mZWRvcmF0ZXN0Ci1QYXRjaDA4MTogZ2RiLXJo YnoxMzUwNDM2LXR5cGUtcHJpbnRlcnMtZXJyb3IucGF0Y2gKK1BhdGNoMDgwOiBnZGItcmhiejEz NTA0MzYtdHlwZS1wcmludGVycy1lcnJvci5wYXRjaAogCiAjIEZpeCAnW3BwYzY0XSBhbmQgW3Mz OTB4XSB3cm9uZyBwcm9sb2d1ZSBza2lwIG9uIC1PMiAtZyBjb2RlJyAoSmFuCiAjIEtyYXRvY2h2 aWwsIFJIIEJaIDEwODQ0MDQpLgogIz1mZWRvcmF0ZXN0Ci1QYXRjaDA4MjogZ2RiLXJoYnoxMDg0 NDA0LXBwYzY0LXMzOTB4LXdyb25nLXByb2xvZ3VlLXNraXAtTzItZy0zb2YzLnBhdGNoCitQYXRj aDA4MTogZ2RiLXJoYnoxMDg0NDA0LXBwYzY0LXMzOTB4LXdyb25nLXByb2xvZ3VlLXNraXAtTzIt Zy0zb2YzLnBhdGNoCiAKICMgTmV2ZXIga2lsbCBQSUQgb246IGdkYiBleGVjIFBJRCAoSmFuIEty YXRvY2h2aWwsIFJIIEJaIDEyMTk3NDcpLgogIz1wdXNoK2phbgotUGF0Y2gwODM6IGdkYi1iejEy MTk3NDctYXR0YWNoLWtpbGxzLnBhdGNoCitQYXRjaDA4MjogZ2RiLWJ6MTIxOTc0Ny1hdHRhY2gt a2lsbHMucGF0Y2gKIAogIyBGb3JjZSBsaWJuY3Vyc2VzdyBvdmVyIGxpYm5jdXJzZXMgdG8gbWF0 Y2ggdGhlIGluY2x1ZGVzIChSSCBCWiAxMjcwNTM0KS4KICM9cHVzaCtqYW4KLVBhdGNoMDg0OiBn ZGItZmVkb3JhLWxpYm5jdXJzZXN3LnBhdGNoCitQYXRjaDA4MzogZ2RiLWZlZG9yYS1saWJuY3Vy c2Vzdy5wYXRjaAogCiAjIFRlc3QgY2xmbHVzaG9wdCBpbnN0cnVjdGlvbiBkZWNvZGUgKGZvciBS SCBCWiAxMjYyNDcxKS4KICM9ZmVkb3JhdGVzdAotUGF0Y2gwODU6IGdkYi1vcGNvZGVzLWNsZmx1 c2hvcHQtdGVzdC5wYXRjaAorUGF0Y2gwODQ6IGdkYi1vcGNvZGVzLWNsZmx1c2hvcHQtdGVzdC5w YXRjaAogCiAjIFtyaGVsNl0gRFRTIGJhY2t3YXJkIFB5dGhvbiBjb21wYXRpYmlsaXR5IEFQSSAo QlogMTAyMDAwNCwgUGhpbCBNdWxkb29uKS4KICM9ZmVkb3JhCi1QYXRjaDA4NjogZ2RiLWR0cy1y aGVsNi1weXRob24tY29tcGF0LnBhdGNoCitQYXRjaDA4NTogZ2RiLWR0cy1yaGVsNi1weXRob24t Y29tcGF0LnBhdGNoCiAKICMgW1NDTF0gU2tpcCBkZXByZWNhdGVkIC5nZGJfaW5kZXggd2Fybmlu ZyBmb3IgUmVkIEhhdCBidWlsdCBmaWxlcyAoQlogOTUzNTg1KS4KICM9cHVzaCtqYW4KLVBhdGNo MDg3OiBnZGItNi42LWJ1aWxkaWQtbG9jYXRlLXJwbS1zY2wucGF0Y2gKK1BhdGNoMDg2OiBnZGIt Ni42LWJ1aWxkaWQtbG9jYXRlLXJwbS1zY2wucGF0Y2gKIAogIyBNYWtlIHRoZSBHREIgcXVpdCBw cm9jZXNzaW5nIG5vbi1hYm9ydGFibGUgdG8gY2xlYW51cCBldmVyeXRoaW5nIHByb3Blcmx5Lgog Iz1mZWRvcmE6IEl0IHdhcyB1c2VmdWwgb25seSBhZnRlciBnZGItNi44LWF0dGFjaC1zaWduYWxs ZWQtZGV0YWNoLXN0b3BwZWQucGF0Y2ggLgotUGF0Y2gwODg6IGdkYi02LjgtcXVpdC1uZXZlci1h Ym9ydHMucGF0Y2gKK1BhdGNoMDg3OiBnZGItNi44LXF1aXQtbmV2ZXItYWJvcnRzLnBhdGNoCiAK ICMgW2FhcmNoNjRdIEZpeCBoYXJkd2FyZSB3YXRjaHBvaW50cyAoUkggQlogMTI2MTU2NCkuCiAj PWZlZG9yYXRlc3QKLVBhdGNoMDg5OiBnZGItcmhiejEyNjE1NjQtYWFyY2g2NC1ody13YXRjaHBv aW50LXRlc3QucGF0Y2gKK1BhdGNoMDg4OiBnZGItcmhiejEyNjE1NjQtYWFyY2g2NC1ody13YXRj aHBvaW50LXRlc3QucGF0Y2gKIAogIyBBZGQgbWVzc2FnZXMgc3VnZ2VzdGluZyBtb3JlIHJlY2Vu dCBSSEVMIGdkYnNlcnZlciAoUkggQlogMTMyMTExNCkuCiAjPWZlZG9yYQotUGF0Y2gwOTA6IGdk Yi1jb250YWluZXItcmgtcGtnLnBhdGNoCitQYXRjaDA4OTogZ2RiLWNvbnRhaW5lci1yaC1wa2cu cGF0Y2gKIAogIyBOZXcgdGVzdCBmb3IgUHl0aG9uICJDYW5ub3QgbG9jYXRlIG9iamVjdCBmaWxl IGZvciBibG9jayIgKGZvciBSSCBCWiAxMzI1Nzk1KS4KICM9ZmVkb3JhdGVzdAotUGF0Y2gwOTE6 IGdkYi1yaGJ6MTMyNTc5NS1mcmFtZWZpbHRlcnMtdGVzdC5wYXRjaAorUGF0Y2gwOTA6IGdkYi1y aGJ6MTMyNTc5NS1mcmFtZWZpbHRlcnMtdGVzdC5wYXRjaAogCiAjIFtkdHMrZWw3XSBbeDg2Kl0g QnVuZGxlIGxpbnV4X3BlcmYuaCBmb3IgbGliaXB0IChSSCBCWiAxMjU2NTEzKS4KICM9ZmVkb3Jh Ci1QYXRjaDA5MjogZ2RiLWxpbnV4X3BlcmYtYnVuZGxlLnBhdGNoCitQYXRjaDA5MTogZ2RiLWxp bnV4X3BlcmYtYnVuZGxlLnBhdGNoCiAKICMgRml4IGdkYi1oZWFkbGVzcyAvdXNyL2Jpbi8gZXhl Y3V0YWJsZXMgKEJaIDEzOTAyNTEpLgogIwpAQCAtMzc3LDM2ICszNzQsMzYgQEAgUGF0Y2gwOTI6 IGdkYi1saW51eF9wZXJmLWJ1bmRsZS5wYXRjaAogIwogIyAgIGh0dHBzOi8vZmVkb3JhcHJvamVj dC5vcmcvd2lraS9DaGFuZ2VzL01pbmltYWxfR0RCX2luX2J1aWxkcm9vdAogIz1mZWRvcmEKLVBh dGNoMDkzOiBnZGItbGliZXhlYy1hZGQtaW5kZXgucGF0Y2gKK1BhdGNoMDkyOiBnZGItbGliZXhl Yy1hZGQtaW5kZXgucGF0Y2gKIAogIyBOZXcgdGVzdGNhc2UgZm9yOiBGaXggPHRhYj4tY29tcGxl dGlvbiBjcmFzaCAoR2FyeSBCZW5zb24sIFJIIEJaIDEzOTgzODcpLgogIz1mZWRvcmF0ZXN0Ci1Q YXRjaDA5NDogZ2RiLXJoYnoxMzk4Mzg3LXRhYi1jcmFzaC10ZXN0LnBhdGNoCitQYXRjaDA5Mzog Z2RiLXJoYnoxMzk4Mzg3LXRhYi1jcmFzaC10ZXN0LnBhdGNoCiAKICMgUHl0aG9uIHBhdGNoZXMg b2Y6IGh0dHA6Ly9zb3VyY2V3YXJlLm9yZy9nZGIvd2lraS9Qcm9qZWN0QXJjaGVyCiAjPXB1c2gK LVBhdGNoMDk1OiBnZGItYXJjaGVyLnBhdGNoCitQYXRjaDA5NDogZ2RiLWFyY2hlci5wYXRjaAog CiAjIFJldmVydCB1cHN0cmVhbSBjb21taXQgNDY5NDEyZGQ5Y2NjNGRlNTg3NGZkMzI5OWIxMDU4 MzNmMzZiMzRjZAotUGF0Y2gwOTY6IGdkYi12bGEtaW50ZWwtZml4LXByaW50LWNoYXItYXJyYXku cGF0Y2gKK1BhdGNoMDk1OiBnZGItdmxhLWludGVsLWZpeC1wcmludC1jaGFyLWFycmF5LnBhdGNo CiAKICMgW3MzOTB4XSBCYWNrcG9ydCBhcmNoMTIgaW5zdHJ1Y3Rpb25zIGRlY29kaW5nIChSSCBC WiAxNTUzMTA0KS4KICMgPWZlZG9yYXRlc3QKLVBhdGNoMDk3OiBnZGItcmhiejE1NTMxMDQtczM5 MHgtYXJjaDEyLXRlc3QucGF0Y2gKK1BhdGNoMDk2OiBnZGItcmhiejE1NTMxMDQtczM5MHgtYXJj aDEyLXRlc3QucGF0Y2gKIAogIyBGaXggb2ZmLWJ5LW9uZSBlcnJvciBpbiBhZGFfZm9sZF9uYW1l LnBhdGNoIChSSCBCWiAxOTA1OTk2KQogIyBVcHN0cmVhbSBwYXRjaCBwcm9wb3NhbDogaHR0cHM6 Ly9zb3VyY2V3YXJlLm9yZy9waXBlcm1haWwvZ2RiLXBhdGNoZXMvMjAyMC1EZWNlbWJlci8xNzM5 MzUuaHRtbAogIyA9ZmVkb3JhdGVzdAotUGF0Y2gwOTg6IGdkYi1yaGJ6MTkwNTk5Ni1maXgtb2Zm LWJ5LW9uZS1lcnJvci1pbi1hZGFfZm9sZF9uYW1lLnBhdGNoCitQYXRjaDA5NzogZ2RiLXJoYnox OTA1OTk2LWZpeC1vZmYtYnktb25lLWVycm9yLWluLWFkYV9mb2xkX25hbWUucGF0Y2gKIAogIyBC YWNrcG9ydCBmaXggZm9yIGxpYnN0ZGMrKyBhc3NlcnQgd2hlbiBwZXJmb3JtaW5nIHRhYiBjb21w bGV0aW9uCiAjIChSSCBCWiAxOTEyOTg1KS4KLVBhdGNoMDk5OiBnZGItcmhiejE5MTI5ODUtbGli c3RkYysrLWFzc2VydC5wYXRjaAorUGF0Y2gwOTg6IGdkYi1yaGJ6MTkxMjk4NS1saWJzdGRjKyst YXNzZXJ0LnBhdGNoCiAKICMgQmFja3BvcnQgZml4IGZvciByYXdoaWRlIGJ1aWxkIGVycm9yIChS SCBCWiAxOTMwNTI4KS4KLVBhdGNoMTAwOiBnZGItcmhiejE5MzA1MjgtZml4LWdudWxpYi1idWls ZC1lcnJvci5wYXRjaAorUGF0Y2gwOTk6IGdkYi1yaGJ6MTkzMDUyOC1maXgtZ251bGliLWJ1aWxk LWVycm9yLnBhdGNoCiAKICMgW2FhcmNoNjRdIEJhY2twb3J0IGZpeCBmb3IgYWFyY2g2NC1saW51 eC1ody1wb2ludC5jIGJ1aWxkIHByb2JsZW0KICMgKFJIIEJaIDE5MzI2NDUpLgotUGF0Y2gxMDE6 IGdkYi1yaGJ6MTkzMjY0NS1hYXJjaDY0LXB0cmFjZS1oZWFkZXItb3JkZXIucGF0Y2gKK1BhdGNo MTAwOiBnZGItcmhiejE5MzI2NDUtYWFyY2g2NC1wdHJhY2UtaGVhZGVyLW9yZGVyLnBhdGNoCiAK CmRpZmYgLS1naXQgYS9fZ2RiLnNwZWMucGF0Y2guaW5jbHVkZSBiL19nZGIuc3BlYy5wYXRjaC5p bmNsdWRlCmluZGV4IDIwMmE1Y2MuLmZkM2NmMDIgMTAwNjQ0Ci0tLSBhL19nZGIuc3BlYy5wYXRj aC5pbmNsdWRlCisrKyBiL19nZGIuc3BlYy5wYXRjaC5pbmNsdWRlCkBAIC05OCw0ICs5OCwzIEBA CiAlcGF0Y2gwOTggLXAxCiAlcGF0Y2gwOTkgLXAxCiAlcGF0Y2gxMDAgLXAxCi0lcGF0Y2gxMDEg LXAxCgpkaWZmIC0tZ2l0IGEvX3BhdGNoX29yZGVyIGIvX3BhdGNoX29yZGVyCmluZGV4IGZhMzE3 NzguLjc2YTZhMmYgMTAwNjQ0Ci0tLSBhL19wYXRjaF9vcmRlcgorKysgYi9fcGF0Y2hfb3JkZXIK QEAgLTEsNiArMSw1IEBACiBnZGItNi4zLXJoLXRlc3R2ZXJzaW9uLTIwMDQxMjAyLnBhdGNoCiBn ZGItdmxhLWludGVsLWZvcnRyYW4tc3RyaWRlcy5wYXRjaAotZ2RiLXZsYS1pbnRlbC1mb3J0cmFu LXZsYS1zdHJpbmdzLnBhdGNoCiBnZGItdmxhLWludGVsLXN0cmluZ2J0LWZpeC5wYXRjaAogZ2Ri LTYuMy1nc3RhY2stMjAwNTA0MTEucGF0Y2gKIGdkYi02LjMtdGVzdC1waWUtMjAwNTAxMDcucGF0 Y2gKCmRpZmYgLS1naXQgYS9nZGItNi42LWJ1aWxkaWQtbG9jYXRlLXJwbS1zY2wucGF0Y2ggYi9n ZGItNi42LWJ1aWxkaWQtbG9jYXRlLXJwbS1zY2wucGF0Y2gKaW5kZXggMDlmOTMwZi4uOTQ3Yjg1 NSAxMDA2NDQKLS0tIGEvZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS1ycG0tc2NsLnBhdGNoCisrKyBi L2dkYi02LjYtYnVpbGRpZC1sb2NhdGUtcnBtLXNjbC5wYXRjaApAQCAtOTgsNyArOTgsNyBAQCBk aWZmIC0tZ2l0IGEvZ2RiL2J1aWxkLWlkLmMgYi9nZGIvYnVpbGQtaWQuYwogZGlmZiAtLWdpdCBh L2dkYi9kd2FyZjIvcmVhZC5jIGIvZ2RiL2R3YXJmMi9yZWFkLmMKIC0tLSBhL2dkYi9kd2FyZjIv cmVhZC5jCiArKysgYi9nZGIvZHdhcmYyL3JlYWQuYwotQEAgLTMwMjUsNiArMzAyNSwxNiBAQCBy ZWFkX2dkYl9pbmRleF9mcm9tX2J1ZmZlciAoY29uc3QgY2hhciAqZmlsZW5hbWUsCitAQCAtMzAy Miw2ICszMDIyLDE2IEBAIHJlYWRfZ2RiX2luZGV4X2Zyb21fYnVmZmVyIChjb25zdCBjaGFyICpm aWxlbmFtZSwKICAgICAgICJzZXQgdXNlLWRlcHJlY2F0ZWQtaW5kZXgtc2VjdGlvbnMgb24iLiAg Ki8KICAgIGlmICh2ZXJzaW9uIDwgNiAmJiAhZGVwcmVjYXRlZF9vaykKICAgICAgewpAQCAtMTE1 LDcgKzExNSw3IEBAIGRpZmYgLS1naXQgYS9nZGIvZHdhcmYyL3JlYWQuYyBiL2dkYi9kd2FyZjIv cmVhZC5jCiAgICAgICAgc3RhdGljIGludCB3YXJuaW5nX3ByaW50ZWQgPSAwOwogICAgICAgIGlm ICghd2FybmluZ19wcmludGVkKQogIAl7Ci1AQCAtMzAzNiw2ICszMDQ2LDEwIEBAIHRvIHVzZSB0 aGUgc2VjdGlvbiBhbnl3YXkuIiksCitAQCAtMzAzMyw2ICszMDQzLDEwIEBAIHRvIHVzZSB0aGUg c2VjdGlvbiBhbnl3YXkuIiksCiAgCSAgd2FybmluZ19wcmludGVkID0gMTsKICAJfQogICAgICAg IHJldHVybiAwOwoKZGlmZiAtLWdpdCBhL2dkYi02LjYtYnVpbGRpZC1sb2NhdGUucGF0Y2ggYi9n ZGItNi42LWJ1aWxkaWQtbG9jYXRlLnBhdGNoCmluZGV4IDZjOWZiODEuLjdiZjZkMTEgMTAwNjQ0 Ci0tLSBhL2dkYi02LjYtYnVpbGRpZC1sb2NhdGUucGF0Y2gKKysrIGIvZ2RiLTYuNi1idWlsZGlk LWxvY2F0ZS5wYXRjaApAQCAtMTEwNyw3ICsxMTA3LDcgQEAgZGlmZiAtLWdpdCBhL2dkYi9kd2Fy ZjIvaW5kZXgtY2FjaGUuYyBiL2dkYi9kd2FyZjIvaW5kZXgtY2FjaGUuYwogZGlmZiAtLWdpdCBh L2dkYi9kd2FyZjIvcmVhZC5jIGIvZ2RiL2R3YXJmMi9yZWFkLmMKIC0tLSBhL2dkYi9kd2FyZjIv cmVhZC5jCiArKysgYi9nZGIvZHdhcmYyL3JlYWQuYwotQEAgLTIyMTgsNyArMjIxOCw3IEBAIGR3 YXJmMl9nZXRfZHd6X2ZpbGUgKGR3YXJmMl9wZXJfYmZkICpwZXJfYmZkKQorQEAgLTIyMTUsNyAr MjIxNSw3IEBAIGR3YXJmMl9nZXRfZHd6X2ZpbGUgKGR3YXJmMl9wZXJfYmZkICpwZXJfYmZkKQog ICAgICB9CiAgCiAgICBpZiAoZHd6X2JmZCA9PSBOVUxMKQpAQCAtMTExNiw3ICsxMTE2LDcgQEAg ZGlmZiAtLWdpdCBhL2dkYi9kd2FyZjIvcmVhZC5jIGIvZ2RiL2R3YXJmMi9yZWFkLmMKICAKICAg IGlmIChkd3pfYmZkID09IG51bGxwdHIpCiAgICAgIHsKLUBAIC01OTgwLDcgKzU5ODAsNyBAQCBn ZXRfZ2RiX2luZGV4X2NvbnRlbnRzX2Zyb21fc2VjdGlvbiAob2JqZmlsZSAqb2JqLCBUICpzZWN0 aW9uX293bmVyKQorQEAgLTU5NzcsNyArNTk3Nyw3IEBAIGdldF9nZGJfaW5kZXhfY29udGVudHNf ZnJvbV9zZWN0aW9uIChvYmpmaWxlICpvYmosIFQgKnNlY3Rpb25fb3duZXIpCiAgc3RhdGljIGdk Yjo6YXJyYXlfdmlldzxjb25zdCBnZGJfYnl0ZT4KICBnZXRfZ2RiX2luZGV4X2NvbnRlbnRzX2Zy b21fY2FjaGUgKG9iamZpbGUgKm9iaiwgZHdhcmYyX3Blcl9iZmQgKmR3YXJmMl9wZXJfYmZkKQog IHsKQEAgLTExMjUsNyArMTEyNSw3IEBAIGRpZmYgLS1naXQgYS9nZGIvZHdhcmYyL3JlYWQuYyBi L2dkYi9kd2FyZjIvcmVhZC5jCiAgICBpZiAoYnVpbGRfaWQgPT0gbnVsbHB0cikKICAgICAgcmV0 dXJuIHt9OwogIAotQEAgLTU5OTMsNyArNTk5Myw3IEBAIGdldF9nZGJfaW5kZXhfY29udGVudHNf ZnJvbV9jYWNoZSAob2JqZmlsZSAqb2JqLCBkd2FyZjJfcGVyX2JmZCAqZHdhcmYyX3Blcl9iZmQp CitAQCAtNTk5MCw3ICs1OTkwLDcgQEAgZ2V0X2dkYl9pbmRleF9jb250ZW50c19mcm9tX2NhY2hl IChvYmpmaWxlICpvYmosIGR3YXJmMl9wZXJfYmZkICpkd2FyZjJfcGVyX2JmZCkKICBzdGF0aWMg Z2RiOjphcnJheV92aWV3PGNvbnN0IGdkYl9ieXRlPgogIGdldF9nZGJfaW5kZXhfY29udGVudHNf ZnJvbV9jYWNoZV9kd3ogKG9iamZpbGUgKm9iaiwgZHd6X2ZpbGUgKmR3eikKICB7CgpkaWZmIC0t Z2l0IGEvZ2RiLWFyY2hlci12bGEtdGVzdHMucGF0Y2ggYi9nZGItYXJjaGVyLXZsYS10ZXN0cy5w YXRjaAppbmRleCA0N2M5OGQzLi5lZjk0ZGY4IDEwMDY0NAotLS0gYS9nZGItYXJjaGVyLXZsYS10 ZXN0cy5wYXRjaAorKysgYi9nZGItYXJjaGVyLXZsYS10ZXN0cy5wYXRjaApAQCAtMzAxMCw3ICsz MDEwLDcgQEAgZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vc3RyaW5nLmV4 cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vc3QKIG5ldyBmaWxlIG1vZGUgMTAwNjQ0CiAt LS0gL2Rldi9udWxsCiArKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3N0cmluZy5leHAK LUBAIC0wLDAgKzEsNTkgQEAKK0BAIC0wLDAgKzEsNzEgQEAKICsjIENvcHlyaWdodCAyMDA4IEZy ZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKwogKyMgVGhpcyBwcm9ncmFtIGlzIGZyZWUg c29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKQEAgLTMwNTUs MTMgKzMwNTUsMjMgQEAgbmV3IGZpbGUgbW9kZSAxMDA2NDQKICtnZGJfY29udGludWVfdG9fYnJl YWtwb2ludCAidmFyLWluaXQiCiArZ2RiX3Rlc3QgInB0eXBlIGMiICJ0eXBlID0gY2hhcmFjdGVy KFxcKGtpbmQ9MVxcKXxcXCoxKSIKICtnZGJfdGVzdCAicHR5cGUgZCIgInR5cGUgPSBjaGFyYWN0 ZXIoXFwoa2luZD04XFwpfFxcKjgpIgorKyMgRm9ydHJhbjogU3VwcG9ydCBwb2ludGVycyB0byBk eW5hbWljIHR5cGVzLgorK3NldHVwX2tmYWlsIGdkYi9ubm5ubiAiKi0qLSoiCiArZ2RiX3Rlc3Qg InB0eXBlIGUiICJ0eXBlID0gY2hhcmFjdGVyKFxcKGtpbmQ9NFxcKXxcXCo0KSIKKysjIEZvcnRy YW46IFN1cHBvcnQgcG9pbnRlcnMgdG8gZHluYW1pYyB0eXBlcy4KKytzZXR1cF9rZmFpbCBnZGIv bm5ubm4gIiotKi0qIgogK2dkYl90ZXN0ICJwdHlwZSBmIiAidHlwZSA9IGNoYXJhY3RlcihcXChr aW5kPTRcXCl8XFwqNCkgXFwoNyw4OjEwXFwpIgorKyMgRm9ydHJhbjogU3VwcG9ydCBwb2ludGVy cyB0byBkeW5hbWljIHR5cGVzLgorK3NldHVwX2tmYWlsIGdkYi9ubm5ubiAiKi0qLSoiCiArZ2Ri X3Rlc3QgInB0eXBlICplIiAiQXR0ZW1wdCB0byB0YWtlIGNvbnRlbnRzIG9mIGEgbm9uLXBvaW50 ZXIgdmFsdWUuIgorKyMgRm9ydHJhbjogU3VwcG9ydCBwb2ludGVycyB0byBkeW5hbWljIHR5cGVz LgorK3NldHVwX2tmYWlsIGdkYi9ubm5ubiAiKi0qLSoiCiArZ2RiX3Rlc3QgInB0eXBlICpmIiAi dHlwZSA9IGNoYXJhY3RlcihcXChraW5kPTRcXCl8XFwqNCkgXFwoN1xcKSIKICtnZGJfdGVzdCAi cCBjIiAiXFwkXFswLTlcXSogPSAnYyciCiArZ2RiX3Rlc3QgInAgZCIgIlxcJFxbMC05XF0qID0g J2QgICAgICAgJyIKICtnZGJfdGVzdCAicCBlIiAiXFwkXFswLTlcXSogPSAnZyAgICciCisrIyBG b3J0cmFuOiBTdXBwb3J0IHBvaW50ZXJzIHRvIGR5bmFtaWMgdHlwZXMuCisrc2V0dXBfa2ZhaWwg Z2RiL25ubm5uICIqLSotKiIKICtnZGJfdGVzdCAicCBmIiAiXFwkXFswLTlcXSogPSBcXChcXCgg J2ggICAnLCAnaCAgICcsICdoICAgJywgJ2ggICAnLCAnaCAgICcsICdoICAgJywgJ2ggICAnXFwp IFxcKCAnaCAgICcsICdoICAgJywgJ2ggICAnLCAnaCAgICcsICdoICAgJywgJ2ggICAnLCAnaCAg ICdcXCkgXFwoICdoICAgJywgJ2ggICAnLCAnaCAgICcsICdoICAgJywgJ2ggICAnLCAnaCAgICcs ICdoICAgJ1xcKSBcXCkiCiArZ2RiX3Rlc3QgInAgKmUiICJBdHRlbXB0IHRvIHRha2UgY29udGVu dHMgb2YgYSBub24tcG9pbnRlciB2YWx1ZS4iCiArZ2RiX3Rlc3QgInAgKmYiICJBdHRlbXB0IHRv IHRha2UgY29udGVudHMgb2YgYSBub24tcG9pbnRlciB2YWx1ZS4iCkBAIC0zMDY5LDYgKzMwNzks OCBAQCBuZXcgZmlsZSBtb2RlIDEwMDY0NAogK2dkYl9icmVha3BvaW50IFtnZGJfZ2V0X2xpbmVf bnVtYmVyICJ2YXItZmluaXNoIl0KICtnZGJfY29udGludWVfdG9fYnJlYWtwb2ludCAidmFyLWZp bmlzaCIKICtnZGJfdGVzdCAicCBlIiAiXFwkXFswLTlcXSogPSAnZSAgICciICJwIGUgcmUtc2V0 IgorKyMgRm9ydHJhbjogU3VwcG9ydCBwb2ludGVycyB0byBkeW5hbWljIHR5cGVzLgorK3NldHVw X2tmYWlsIGdkYi9ubm5ubiAiKi0qLSoiCiArZ2RiX3Rlc3QgInAgZiIgIlxcJFxbMC05XF0qID0g XFwoXFwoICdmICAgJywgJ2YgICAnLCAnZiAgICcsICdmICAgJywgJ2YgICAnLCAnZiAgICcsICdm ICAgJ1xcKSBcXCggJ2YyICAnLCAnZiAgICcsICdmICAgJywgJ2YgICAnLCAnZiAgICcsICdmICAg JywgJ2YgICAnXFwpIFxcKCAnZiAgICcsICdmICAgJywgJ2YgICAnLCAnZiAgICcsICdmICAgJywg J2YgICAnLCAnZiAgICdcXCkgXFwpIiAicCAqZiByZS1zZXQiCiBkaWZmIC0tZ2l0IGEvZ2RiL3Rl c3RzdWl0ZS9nZGIuZm9ydHJhbi9zdHJpbmcuZjkwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJh bi9zdHJpbmcuZjkwCiBuZXcgZmlsZSBtb2RlIDEwMDY0NAoKZGlmZiAtLWdpdCBhL2dkYi1nbmF0 LWR3YXJmLWNyYXNoLTNvZjMucGF0Y2ggYi9nZGItZ25hdC1kd2FyZi1jcmFzaC0zb2YzLnBhdGNo CmluZGV4IDQxOTc2NjEuLjVmMDBiZmYgMTAwNjQ0Ci0tLSBhL2dkYi1nbmF0LWR3YXJmLWNyYXNo LTNvZjMucGF0Y2gKKysrIGIvZ2RiLWduYXQtZHdhcmYtY3Jhc2gtM29mMy5wYXRjaApAQCAtNDIs NyArNDIsNyBAQCBnZGIvCiBkaWZmIC0tZ2l0IGEvZ2RiL2R3YXJmMi9yZWFkLmMgYi9nZGIvZHdh cmYyL3JlYWQuYwogLS0tIGEvZ2RiL2R3YXJmMi9yZWFkLmMKICsrKyBiL2dkYi9kd2FyZjIvcmVh ZC5jCi1AQCAtMTAxNjIsNiArMTAxNjIsMTMgQEAgY2xhc3MgcHJvY2Vzc19kaWVfc2NvcGUKK0BA IC0xMDE1OSw2ICsxMDE1OSwxMyBAQCBjbGFzcyBwcm9jZXNzX2RpZV9zY29wZQogIHN0YXRpYyB2 b2lkCiAgcHJvY2Vzc19kaWUgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3QgZHdhcmYyX2N1 ICpjdSkKICB7CgpkaWZmIC0tZ2l0IGEvZ2RiLXZsYS1pbnRlbC1mb3J0cmFuLXZsYS1zdHJpbmdz LnBhdGNoIGIvZ2RiLXZsYS1pbnRlbC1mb3J0cmFuLXZsYS1zdHJpbmdzLnBhdGNoCmRlbGV0ZWQg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyYzkyNWVjLi4wMDAwMDAwCi0tLSBhL2dkYi12bGEtaW50 ZWwtZm9ydHJhbi12bGEtc3RyaW5ncy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDk3NyArMCww IEBACi1Gcm9tIEZFRE9SQV9QQVRDSEVTIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTog RmVkb3JhIEdEQiBwYXRjaGVzIDxpbnZhbGlkQGVtYWlsLmNvbT4KLURhdGU6IEZyaSwgMjcgT2N0 IDIwMTcgMjE6MDc6NTAgKzAyMDAKLVN1YmplY3Q6IGdkYi12bGEtaW50ZWwtZm9ydHJhbi12bGEt c3RyaW5ncy5wYXRjaAotCi07Oz1wdXNoCi0KLWdpdCBkaWZmIC0tc3RhdCAtcCBnZGIvbWFzdGVy Li4uZ2RiL3VzZXJzL2JoZWNrZWwvZm9ydHJhbi12bGEtc3RyaW5ncwotMGFkN2Q4ZDFhM2EzNmM2 ZTA0ZTNiNmQzN2Q4ODI1ZjE4ZDU5NTcyMwotCi0gZ2RiL05FV1MgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfCAgIDIgKwotIGdkYi9jLXZhbHByaW50LmMgICAgICAgICAgICAgICAg ICAgICAgICAgIHwgIDIyICsrKysrCi0gZ2RiL2R3YXJmMnJlYWQuYyAgICAgICAgICAgICAgICAg ICAgICAgICAgfCAxNTggKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tCi0gZ2RiL2YtdHlw ZXByaW50LmMgICAgICAgICAgICAgICAgICAgICAgICAgfCAgOTMgKysrKysrKysrLS0tLS0tLS0t Ci0gZ2RiL2dkYnR5cGVzLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNDQgKysrKysr KystCi0gZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvdmxhLWN4eC5jYyAgICAgICAgICAgfCAgIDkgKysK LSBnZGIvdGVzdHN1aXRlL2dkYi5jcC92bGEtY3h4LmV4cCAgICAgICAgICB8ICAgOSArKwotIGdk Yi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vcG9pbnRlcnMuZXhwICAgIHwgMTQzICsrKysrKysrKysr KysrKysrKysrKysrKysrKwotIGdkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vcG9pbnRlcnMuZjkw ICAgIHwgMTA5ICsrKysrKysrKysrKysrKysrKysrKwotIGdkYi90ZXN0c3VpdGUvZ2RiLmZvcnRy YW4vcHJpbnRfdHlwZS5leHAgIHwgMTAwICsrKysrKysrKysrKysrKysrKysKLSBnZGIvdGVzdHN1 aXRlL2dkYi5mb3J0cmFuL3ZsYS1wdHlwZS5leHAgICB8ICAxMiArLS0KLSBnZGIvdGVzdHN1aXRl L2dkYi5mb3J0cmFuL3ZsYS1zdHJpbmdzLmV4cCB8IDEwMyArKysrKysrKysrKysrKysrKysrCi0g Z2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtc3RyaW5ncy5mOTAgfCAgMzkgKysrKysrKysK LSBnZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS10eXBlLmV4cCAgICB8ICAgNyArLQotIGdk Yi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXZhbHVlLmV4cCAgIHwgIDEyICsrLQotIGdkYi90 ZXN0c3VpdGUvZ2RiLm1pL21pLXZhci1jaGlsZC1mLmV4cCAgIHwgICA3ICstCi0gZ2RiL3Rlc3Rz dWl0ZS9nZGIubWkvbWktdmxhLWZvcnRyYW4uZXhwICAgfCAgMjcgKystLS0KLSBnZGIvdHlwZXBy aW50LmMgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAxOSArKysrCi0gZ2RiL3ZhbG9wcy5j ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMTYgKystCi0gZ2RiL3ZhbHByaW50LmMg ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDYgLS0KLSAyMCBmaWxlcyBjaGFuZ2VkLCA4 MjcgaW5zZXJ0aW9ucygrKSwgMTEwIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvZ2RiL05F V1MgYi9nZGIvTkVXUwotLS0tIGEvZ2RiL05FV1MKLSsrKyBiL2dkYi9ORVdTCi1AQCAtOTg1LDYg Kzk4NSw4IEBAIFNILTUvU0g2NCBydW5uaW5nIE9wZW5CU0QgCVNILTUvU0g2NCBzdXBwb3J0IGlu IHNoKi0qLW9wZW5ic2QqCi0gCi0gKioqIENoYW5nZXMgaW4gR0RCIDguMQotIAotKyogRm9ydHJh bjogU3VwcG9ydCBwb2ludGVycyB0byBkeW5hbWljIHR5cGVzLgotKwotICogR0RCIG5vdyBzdXBw b3J0cyBkeW5hbWljYWxseSBjcmVhdGluZyBhcmJpdHJhcnkgcmVnaXN0ZXIgZ3JvdXBzIHNwZWNp ZmllZAotICAgaW4gWE1MIHRhcmdldCBkZXNjcmlwdGlvbnMuICBUaGlzIGFsbG93cyBmb3IgZmlu ZXIgZ3JhaW4gZ3JvdXBpbmcgb2YKLSAgIHJlZ2lzdGVycyBvbiBzeXN0ZW1zIHdpdGggYSBsYXJn ZSBhbW91bnQgb2YgcmVnaXN0ZXJzLgotZGlmZiAtLWdpdCBhL2dkYi9jLXZhbHByaW50LmMgYi9n ZGIvYy12YWxwcmludC5jCi0tLS0gYS9nZGIvYy12YWxwcmludC5jCi0rKysgYi9nZGIvYy12YWxw cmludC5jCi1AQCAtNTcyLDYgKzU3MiwyNyBAQCBjX3ZhbHVlX3ByaW50IChzdHJ1Y3QgdmFsdWUg KnZhbCwgc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSwKLSAgICAgICBlbHNlCi0gCXsKLSAJICAvKiBu b3JtYWwgY2FzZSAqLwotKwkgIGlmICh0eXBlLT5jb2RlICgpID09IFRZUEVfQ09ERV9QVFIKLSsJ ICAgICAgJiYgMSA9PSBpc19keW5hbWljX3R5cGUgKHR5cGUpKQotKwkgICAgewotKwkgICAgICBD T1JFX0FERFIgYWRkciA9IHZhbHVlX2FzX2FkZHJlc3MgKHZhbCk7Ci0rCi0rCSAgICAgIC8qIFdl IHJlc29sdmUgdGhlIHRhcmdldC10eXBlIG9ubHkgd2hlbiB0aGUKLSsJICAgICAgICAgcG9pbnRl ciBpcyBhc3NvY2lhdGVkLiAgKi8KLSsJICAgICAgaWYgKChhZGRyICE9IDApCi0rCQkgICYmICgw ID09IHR5cGVfbm90X2Fzc29jaWF0ZWQgKHR5cGUpKSkKLSsJCXsKLSsJCSAgdHlwZSA9IGNvcHlf dHlwZSAodHlwZSk7Ci0rCQkgIFRZUEVfVEFSR0VUX1RZUEUgKHR5cGUpID0KLSsJCSAgICAgIHJl c29sdmVfZHluYW1pY190eXBlIChUWVBFX1RBUkdFVF9UWVBFICh0eXBlKSwKLSsJCQkJCSAgICB7 fSwgYWRkcik7Ci0rCQl9Ci0rCSAgICB9Ci0rCSAgZWxzZQotKwkgICAgewotKwkgICAgICAvKiBE byBub3RoaW5nLiBSZWZlcmVuY2VzIGFyZSBhbHJlYWR5IHJlc29sdmVkIGZyb20gdGhlIGJlZ2lu bmluZywKLSsJICAgICAgICAgb25seSBwb2ludGVycyBhcmUgcmVzb2x2ZWQgd2hlbiB3ZSBhY3R1 YWwgbmVlZCB0aGUgdGFyZ2V0LiAgKi8KLSsJICAgIH0KLSAJICBmcHJpbnRmX2ZpbHRlcmVkIChz dHJlYW0sICIoIik7Ci0gCSAgdHlwZV9wcmludCAodmFsdWVfdHlwZSAodmFsKSwgIiIsIHN0cmVh bSwgLTEpOwotIAkgIGZwcmludGZfZmlsdGVyZWQgKHN0cmVhbSwgIikgIik7Ci1kaWZmIC0tZ2l0 IGEvZ2RiL2R3YXJmMi9yZWFkLmMgYi9nZGIvZHdhcmYyL3JlYWQuYwotLS0tIGEvZ2RiL2R3YXJm Mi9yZWFkLmMKLSsrKyBiL2dkYi9kd2FyZjIvcmVhZC5jCi1AQCAtMTU2Miw3ICsxNTYyLDEwIEBA IHN0YXRpYyB2b2lkIHJlYWRfc2lnbmF0dXJlZF90eXBlIChzaWduYXR1cmVkX3R5cGUgKnNpZ190 eXBlLAotIAotIHN0YXRpYyBpbnQgYXR0cl90b19keW5hbWljX3Byb3AgKGNvbnN0IHN0cnVjdCBh dHRyaWJ1dGUgKmF0dHIsCi0gCQkJCSBzdHJ1Y3QgZGllX2luZm8gKmRpZSwgc3RydWN0IGR3YXJm Ml9jdSAqY3UsCi0tCQkJCSBzdHJ1Y3QgZHluYW1pY19wcm9wICpwcm9wLCBzdHJ1Y3QgdHlwZSAq dHlwZSk7Ci0rCQkJCSBzdHJ1Y3QgZHluYW1pY19wcm9wICpwcm9wLAotKwkJCQkgc3RydWN0IHR5 cGUgKmRlZmF1bHRfdHlwZSwKLSsJCQkJIGNvbnN0IGdkYl9ieXRlICphZGRpdGlvbmFsX2RhdGEs Ci0rCQkJCSBpbnQgYWRkaXRpb25hbF9kYXRhX3NpemUpOwotIAotIC8qIG1lbW9yeSBhbGxvY2F0 aW9uIGludGVyZmFjZSAqLwotIAotQEAgLTEzNjMxLDcgKzEzNjM0LDcgQEAgcmVhZF9mdW5jX3Nj b3BlIChzdHJ1Y3QgZGllX2luZm8gKmRpZSwgc3RydWN0IGR3YXJmMl9jdSAqY3UpCi0gICAgICAg bmV3b2JqLT5zdGF0aWNfbGluawotIAk9IFhPQk5FVyAoJm9iamZpbGUtPm9iamZpbGVfb2JzdGFj aywgc3RydWN0IGR5bmFtaWNfcHJvcCk7Ci0gICAgICAgYXR0cl90b19keW5hbWljX3Byb3AgKGF0 dHIsIGRpZSwgY3UsIG5ld29iai0+c3RhdGljX2xpbmssCi0tCQkJICAgIGN1LT5hZGRyX3R5cGUg KCkpOwotKwkJCSAgICBjdS0+YWRkcl90eXBlICgpLCBOVUxMLCAwKTsKLSAgICAgfQotIAotICAg Y3UtPmxpc3RfaW5fc2NvcGUgPSBjdS0+Z2V0X2J1aWxkZXIgKCktPmdldF9sb2NhbF9zeW1ib2xz ICgpOwotQEAgLTE2MDczLDcgKzE2MDc2LDcgQEAgcmVhZF9zdHJ1Y3R1cmVfdHlwZSAoc3RydWN0 IGRpZV9pbmZvICpkaWUsIHN0cnVjdCBkd2FyZjJfY3UgKmN1KQotICAgICAgIGVsc2UKLSAJewot IAkgIHN0cnVjdCBkeW5hbWljX3Byb3AgcHJvcDsKLS0JICBpZiAoYXR0cl90b19keW5hbWljX3By b3AgKGF0dHIsIGRpZSwgY3UsICZwcm9wLCBjdS0+YWRkcl90eXBlICgpKSkKLSsJICBpZiAoYXR0 cl90b19keW5hbWljX3Byb3AgKGF0dHIsIGRpZSwgY3UsICZwcm9wLCBjdS0+YWRkcl90eXBlICgp LCBOVUxMLCAwKSkKLSAJICAgIHR5cGUtPmFkZF9keW5fcHJvcCAoRFlOX1BST1BfQllURV9TSVpF LCBwcm9wKTsKLSAgICAgICAgICAgVFlQRV9MRU5HVEggKHR5cGUpID0gMDsKLSAJfQotQEAgLTE2 NzY0LDcgKzE2NzY3LDcgQEAgcmVhZF9hcnJheV90eXBlIChzdHJ1Y3QgZGllX2luZm8gKmRpZSwg c3RydWN0IGR3YXJmMl9jdSAqY3UpCi0gICAgICAgYnl0ZV9zdHJpZGVfcHJvcAotIAk9IChzdHJ1 Y3QgZHluYW1pY19wcm9wICopIGFsbG9jYSAoc2l6ZW9mIChzdHJ1Y3QgZHluYW1pY19wcm9wKSk7 Ci0gICAgICAgc3RyaWRlX29rID0gYXR0cl90b19keW5hbWljX3Byb3AgKGF0dHIsIGRpZSwgY3Us IGJ5dGVfc3RyaWRlX3Byb3AsCi0tCQkJCQlwcm9wX3R5cGUpOwotKwkJCQkJcHJvcF90eXBlLCBO VUxMLCAwKTsKLSAgICAgICBpZiAoIXN0cmlkZV9vaykKLSAJewotIAkgIGNvbXBsYWludCAoXygi dW5hYmxlIHRvIHJlYWQgYXJyYXkgRFdfQVRfYnl0ZV9zdHJpZGUgIgotQEAgLTE3NTIyLDcgKzE3 NTI1LDcgQEAgcmVhZF90YWdfc3RyaW5nX3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1 Y3QgZHdhcmYyX2N1ICpjdSkKLSAgIHN0cnVjdCBhdHRyaWJ1dGUgKmF0dHI7Ci0gICBzdHJ1Y3Qg ZHluYW1pY19wcm9wIHByb3A7Ci0gICBib29sIGxlbmd0aF9pc19jb25zdGFudCA9IHRydWU7Ci0t ICBMT05HRVNUIGxlbmd0aDsKLSsgIFVMT05HRVNUIGxlbmd0aCA9IFVJTlRfTUFYOwotIAotICAg LyogVGhlcmUgYXJlIGEgY291cGxlIG9mIHBsYWNlcyB3aGVyZSBiaXQgc2l6ZXMgbWlnaHQgYmUg bWFkZSB1c2Ugb2YKLSAgICAgIHdoZW4gcGFyc2luZyBhIERXX1RBR19zdHJpbmdfdHlwZSwgaG93 ZXZlciwgbm8gcHJvZHVjZXIgdGhhdCB3ZSBrbm93Ci1AQCAtMTc1NDMsNiArMTc1NDYsMTAgQEAg cmVhZF90YWdfc3RyaW5nX3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3QgZHdhcmYy X2N1ICpjdSkKLSAJfQotICAgICB9Ci0gCi0rICBpbmRleF90eXBlID0gb2JqZmlsZV90eXBlIChv YmpmaWxlKS0+YnVpbHRpbl9pbnQ7Ci0rICByYW5nZV90eXBlID0gY3JlYXRlX3N0YXRpY19yYW5n ZV90eXBlIChOVUxMLCBpbmRleF90eXBlLCAxLCBsZW5ndGgpOwotKwotKyAgLyogSWYgRFdfQVRf c3RyaW5nX2xlbmd0aCBpcyBkZWZpbmVkLCB0aGUgbGVuZ3RoIGlzIHN0b3JlZCBpbiBtZW1vcnku ICAqLwotICAgYXR0ciA9IGR3YXJmMl9hdHRyIChkaWUsIERXX0FUX3N0cmluZ19sZW5ndGgsIGN1 KTsKLSAgIGlmIChhdHRyICE9IG51bGxwdHIgJiYgIWF0dHItPmZvcm1faXNfY29uc3RhbnQgKCkp Ci0gICAgIHsKLUBAIC0xNzU2OSwxMyArMTc1NzYsNjggQEAgcmVhZF90YWdfc3RyaW5nX3R5cGUg KHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSkKLSAJfQotIAotICAg ICAgIC8qIENvbnZlcnQgdGhlIGF0dHJpYnV0ZSBpbnRvIGEgZHluYW1pYyBwcm9wZXJ0eS4gICov Ci0tICAgICAgaWYgKCFhdHRyX3RvX2R5bmFtaWNfcHJvcCAoYXR0ciwgZGllLCBjdSwgJnByb3As IHByb3BfdHlwZSkpCi0rICAgICAgaWYgKCFhdHRyX3RvX2R5bmFtaWNfcHJvcCAoYXR0ciwgZGll LCBjdSwgJnByb3AsIHByb3BfdHlwZSwgTlVMTCwgMCkpCi0gCWxlbmd0aCA9IDE7Ci0gICAgICAg ZWxzZQotIAlsZW5ndGhfaXNfY29uc3RhbnQgPSBmYWxzZTsKLSAgICAgfQotICAgZWxzZSBpZiAo YXR0ciAhPSBudWxscHRyKQotICAgICB7Ci0rICAgICAgaWYgKGF0dHItPmZvcm1faXNfYmxvY2sg KCkpCi0rCXsKLSsJICBzdHJ1Y3QgYXR0cmlidXRlICpieXRlX3NpemUsICpiaXRfc2l6ZTsKLSsJ ICBzdHJ1Y3QgZHluYW1pY19wcm9wIGhpZ2g7Ci0rCi0rCSAgYnl0ZV9zaXplID0gZHdhcmYyX2F0 dHIgKGRpZSwgRFdfQVRfYnl0ZV9zaXplLCBjdSk7Ci0rCSAgYml0X3NpemUgPSBkd2FyZjJfYXR0 ciAoZGllLCBEV19BVF9iaXRfc2l6ZSwgY3UpOwotKwotKwkgIC8qIERXX0FUX2J5dGVfc2l6ZSBz aG91bGQgbmV2ZXIgb2NjdXIgaW4gY29tYmluYXRpb24gd2l0aAotKwkgICAgIERXX0FUX2JpdF9z aXplLiAgKi8KLSsJICBpZiAoYnl0ZV9zaXplICE9IE5VTEwgJiYgYml0X3NpemUgIT0gTlVMTCkK LSsJICAgIGNvbXBsYWludCAoXygiRFdfQVRfYnl0ZV9zaXplIEFORCAiCi0rCQkJICJEV19BVF9i aXRfc2l6ZSBmb3VuZCB0b2dldGhlciBhdCB0aGUgc2FtZSB0aW1lLiIpKTsKLSsKLSsJICAvKiBJ ZiBEV19BVF9zdHJpbmdfbGVuZ3RoIEFORCBEV19BVF9ieXRlX3NpemUgZXhpc3QgdG9nZXRoZXIs Ci0rCSAgICAgRFdfQVRfYnl0ZV9zaXplIGRlc2NyaWJlcyB0aGUgbnVtYmVyIG9mIGJ5dGVzIHRo YXQgc2hvdWxkIGJlIHJlYWQKLSsJICAgICBmcm9tIHRoZSBsZW5ndGggbWVtb3J5IGxvY2F0aW9u LiAgKi8KLSsJICBpZiAoYnl0ZV9zaXplICE9IE5VTEwpCi0rCSAgICB7Ci0rCSAgICAgIC8qIEJ1 aWxkIG5ldyBkd2FyZjJfbG9jZXhwcl9iYXRvbiBzdHJ1Y3R1cmUgd2l0aCBhZGRpdGlvbnMgdG8g dGhlCi0rCQkgZGF0YSBhdHRyaWJ1dGUsIHRvIHJlZmxlY3QgRFdBUkYgc3BlY2lhbGl0aWVzIHRv IGdldCBhZGRyZXNzCi0rCQkgc2l6ZXMuICAqLwotKwkgICAgICBjb25zdCBnZGJfYnl0ZSBhcHBl bmRfb3BzW10gPQotKwkJewotKwkJLyogRFdfT1BfZGVyZWZfc2l6ZTogc2l6ZSBvZiBhbiBhZGRy ZXNzIG9uIHRoZSB0YXJnZXQgbWFjaGluZQotKwkJICAgKGJ5dGVzKSwgd2hlcmUgdGhlIHNpemUg d2lsbCBiZSBzcGVjaWZpZWQgYnkgdGhlIG5leHQKLSsJCSAgIG9wZXJhbmQuICAqLwotKwkJRFdf T1BfZGVyZWZfc2l6ZSwKLSsJCS8qIE9wZXJhbmQgZm9yIERXX09QX2RlcmVmX3NpemUuICAqLwot KwkJKGdkYl9ieXRlKSBEV19VTlNORChieXRlX3NpemUpIH07Ci0rCi0rCSAgICAgIGlmICghYXR0 cl90b19keW5hbWljX3Byb3AgKGF0dHIsIGRpZSwgY3UsICZoaWdoLCBpbmRleF90eXBlLAotKwkJ CQkJIGFwcGVuZF9vcHMsIEFSUkFZX1NJWkUoYXBwZW5kX29wcykpKQotKwkJY29tcGxhaW50IChf KCJDb3VsZCBub3QgcGFyc2UgRFdfQVRfYnl0ZV9zaXplIikpOwotKwkgICAgfQotKwkgIGVsc2Ug aWYgKGJpdF9zaXplICE9IE5VTEwpCi0rCSAgICBjb21wbGFpbnQgKF8oIkRXX0FUX3N0cmluZ19s ZW5ndGggQU5EICIKLSsJCQkgIkRXX0FUX2JpdF9zaXplIGZvdW5kIGJ1dCBub3Qgc3VwcG9ydGVk IHlldC4iKSk7Ci0rCSAgLyogSWYgRFdfQVRfc3RyaW5nX2xlbmd0aCBXSVRIT1VUIERXX0FUX2J5 dGVfc2l6ZSBleGlzdCwgdGhlIGRlZmF1bHQKLSsJICAgICBpcyB0aGUgYWRkcmVzcyBzaXplIG9m IHRoZSB0YXJnZXQgbWFjaGluZS4gICovCi0rCSAgZWxzZQotKwkgICAgewotKwkgICAgICBjb25z dCBnZGJfYnl0ZSBhcHBlbmRfb3BzW10gPQotKwkJeyBEV19PUF9kZXJlZiB9OwotKwotKwkgICAg ICBpZiAoIWF0dHJfdG9fZHluYW1pY19wcm9wIChhdHRyLCBkaWUsIGN1LCAmaGlnaCwgaW5kZXhf dHlwZSwKLSsJCQkJCSBhcHBlbmRfb3BzLCBBUlJBWV9TSVpFKGFwcGVuZF9vcHMpKSkKLSsJCWNv bXBsYWludCAoXygiQ291bGQgbm90IHBhcnNlIERXX0FUX3N0cmluZ19sZW5ndGgiKSk7Ci0rCSAg ICB9Ci0rCi0rCSAgcmFuZ2VfdHlwZS0+Ym91bmRzICgpLT5oaWdoID0gaGlnaDsKLSsJfQotKyAg ICAgIGVsc2UKLSsJcmFuZ2VfdHlwZS0+Ym91bmRzICgpLT5oaWdoLnNldF9jb25zdF92YWwgKERX X1VOU05EKGF0dHIpKTsKLSsKLSAgICAgICAvKiBUaGlzIERXX0FUX3N0cmluZ19sZW5ndGgganVz dCBjb250YWlucyB0aGUgbGVuZ3RoIHdpdGggbm8KLSAJIGluZGlyZWN0aW9uLiAgVGhlcmUncyBu byBuZWVkIHRvIGNyZWF0ZSBhIGR5bmFtaWMgcHJvcGVydHkgaW4gdGhpcwotIAkgY2FzZS4gIFBh c3MgMCBmb3IgdGhlIGRlZmF1bHQgdmFsdWUgYXMgd2Uga25vdyBpdCB3aWxsIG5vdCBiZQotQEAg LTE3NTg5LDYgKzE3NjUxLDE0IEBAIHJlYWRfdGFnX3N0cmluZ190eXBlIChzdHJ1Y3QgZGllX2lu Zm8gKmRpZSwgc3RydWN0IGR3YXJmMl9jdSAqY3UpCi0gICAgIH0KLSAgIGVsc2UKLSAgICAgewot KyAgICAgIC8qIENoZWNrIGZvciB0aGUgRFdfQVRfYnl0ZV9zaXplIGF0dHJpYnV0ZSwgd2hpY2gg cmVwcmVzZW50cyB0aGUgbGVuZ3RoCi0rCSBpbiB0aGlzIGNhc2UuICAqLwotKyAgICAgIGF0dHIg PSBkd2FyZjJfYXR0ciAoZGllLCBEV19BVF9ieXRlX3NpemUsIGN1KTsKLSsgICAgICBpZiAoYXR0 cikKLSsJcmFuZ2VfdHlwZS0+Ym91bmRzICgpLT5oaWdoLnNldF9jb25zdF92YWwgKERXX1VOU05E KGF0dHIpKTsKLSsgICAgICBlbHNlCi0rCXJhbmdlX3R5cGUtPmJvdW5kcyAoKS0+aGlnaC5zZXRf Y29uc3RfdmFsICgxKTsKLSsKLSAgICAgICAvKiBVc2UgMSBhcyBhIGZhbGxiYWNrIGxlbmd0aCBp ZiB3ZSBoYXZlIG5vdGhpbmcgZWxzZS4gICovCi0gICAgICAgbGVuZ3RoID0gMTsKLSAgICAgfQot QEAgLTE4MDc4LDcgKzE4MTQ4LDggQEAgcmVhZF9iYXNlX3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAq ZGllLCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSkKLSBzdGF0aWMgaW50Ci0gYXR0cl90b19keW5hbWlj X3Byb3AgKGNvbnN0IHN0cnVjdCBhdHRyaWJ1dGUgKmF0dHIsIHN0cnVjdCBkaWVfaW5mbyAqZGll LAotIAkJICAgICAgc3RydWN0IGR3YXJmMl9jdSAqY3UsIHN0cnVjdCBkeW5hbWljX3Byb3AgKnBy b3AsCi0tCQkgICAgICBzdHJ1Y3QgdHlwZSAqZGVmYXVsdF90eXBlKQotKwkJICAgICAgc3RydWN0 IHR5cGUgKmRlZmF1bHRfdHlwZSwKLSsJCSAgICAgIGNvbnN0IGdkYl9ieXRlICphZGRpdGlvbmFs X2RhdGEsIGludCBhZGRpdGlvbmFsX2RhdGFfc2l6ZSkKLSB7Ci0gICBzdHJ1Y3QgZHdhcmYyX3By b3BlcnR5X2JhdG9uICpiYXRvbjsKLSAgIGR3YXJmMl9wZXJfb2JqZmlsZSAqcGVyX29iamZpbGUg PSBjdS0+cGVyX29iamZpbGU7Ci1AQCAtMTgxMDgsNiArMTgxNzksMjYgQEAgYXR0cl90b19keW5h bWljX3Byb3AgKGNvbnN0IHN0cnVjdCBhdHRyaWJ1dGUgKmF0dHIsIHN0cnVjdCBkaWVfaW5mbyAq ZGllLAotIAkgIGJyZWFrOwotIAl9Ci0gCi0rICAgICAgaWYgKGFkZGl0aW9uYWxfZGF0YSAhPSBO VUxMICYmIGFkZGl0aW9uYWxfZGF0YV9zaXplID4gMCkKLSsJewotKwkgIGdkYl9ieXRlICpkYXRh OwotKwotKwkgIGRhdGEgPSAoZ2RiX2J5dGUgKikgb2JzdGFja19hbGxvYygKLSsJICAgICAgJmN1 LT5wZXJfb2JqZmlsZS0+b2JqZmlsZS0+b2JqZmlsZV9vYnN0YWNrLAotKwkgICAgICBEV19CTE9D SyAoYXR0ciktPnNpemUgKyBhZGRpdGlvbmFsX2RhdGFfc2l6ZSk7Ci0rCSAgbWVtY3B5IChkYXRh LCBEV19CTE9DSyAoYXR0ciktPmRhdGEsIERXX0JMT0NLIChhdHRyKS0+c2l6ZSk7Ci0rCSAgbWVt Y3B5IChkYXRhICsgRFdfQkxPQ0sgKGF0dHIpLT5zaXplLCBhZGRpdGlvbmFsX2RhdGEsCi0rCQkg IGFkZGl0aW9uYWxfZGF0YV9zaXplKTsKLSsKLSsJICBiYXRvbi0+bG9jZXhwci5kYXRhID0gZGF0 YTsKLSsJICBiYXRvbi0+bG9jZXhwci5zaXplID0gRFdfQkxPQ0sgKGF0dHIpLT5zaXplICsgYWRk aXRpb25hbF9kYXRhX3NpemU7Ci0rCX0KLSsgICAgICBlbHNlCi0rCXsKLSsJICBiYXRvbi0+bG9j ZXhwci5kYXRhID0gRFdfQkxPQ0sgKGF0dHIpLT5kYXRhOwotKwkgIGJhdG9uLT5sb2NleHByLnNp emUgPSBEV19CTE9DSyAoYXR0ciktPnNpemU7Ci0rCX0KLSsKLSAgICAgICBwcm9wLT5zZXRfbG9j ZXhwciAoYmF0b24pOwotICAgICAgIGdkYl9hc3NlcnQgKHByb3AtPmJhdG9uICgpICE9IE5VTEwp OwotICAgICB9Ci1AQCAtMTgxNDIsMTEgKzE4MjMzLDMxIEBAIGF0dHJfdG9fZHluYW1pY19wcm9w IChjb25zdCBzdHJ1Y3QgYXR0cmlidXRlICphdHRyLCBzdHJ1Y3QgZGllX2luZm8gKmRpZSwKLSAJ CWJhdG9uLT5wcm9wZXJ0eV90eXBlID0gZGllX3R5cGUgKHRhcmdldF9kaWUsIHRhcmdldF9jdSk7 Ci0gCQliYXRvbi0+bG9jZXhwci5wZXJfY3UgPSBjdS0+cGVyX2N1OwotIAkJYmF0b24tPmxvY2V4 cHIucGVyX29iamZpbGUgPSBwZXJfb2JqZmlsZTsKLS0JCWJhdG9uLT5sb2NleHByLnNpemUgPSBE V19CTE9DSyAodGFyZ2V0X2F0dHIpLT5zaXplOwotLQkJYmF0b24tPmxvY2V4cHIuZGF0YSA9IERX X0JMT0NLICh0YXJnZXRfYXR0ciktPmRhdGE7Ci0gCQliYXRvbi0+bG9jZXhwci5pc19yZWZlcmVu Y2UgPSB0cnVlOwotKwotKwkJaWYgKGFkZGl0aW9uYWxfZGF0YSAhPSBOVUxMICYmIGFkZGl0aW9u YWxfZGF0YV9zaXplID4gMCkKLSsJCSAgewotKwkJICAgIGdkYl9ieXRlICpkYXRhOwotKwotKwkJ ICAgIGRhdGEgPSAoZ2RiX2J5dGUgKikgb2JzdGFja19hbGxvYyAoJmN1LT5wZXJfb2JqZmlsZS0+ b2JqZmlsZS0+b2JqZmlsZV9vYnN0YWNrLAotKwkJCSAgICBEV19CTE9DSyAodGFyZ2V0X2F0dHIp LT5zaXplICsgYWRkaXRpb25hbF9kYXRhX3NpemUpOwotKwkJICAgIG1lbWNweSAoZGF0YSwgRFdf QkxPQ0sgKHRhcmdldF9hdHRyKS0+ZGF0YSwKLSsJCQkgICAgRFdfQkxPQ0sgKHRhcmdldF9hdHRy KS0+c2l6ZSk7Ci0rCQkgICAgbWVtY3B5IChkYXRhICsgRFdfQkxPQ0sgKHRhcmdldF9hdHRyKS0+ c2l6ZSwKLSsJCQkgICAgYWRkaXRpb25hbF9kYXRhLCBhZGRpdGlvbmFsX2RhdGFfc2l6ZSk7Ci0r Ci0rCQkgICAgYmF0b24tPmxvY2V4cHIuZGF0YSA9IGRhdGE7Ci0rCQkgICAgYmF0b24tPmxvY2V4 cHIuc2l6ZSA9IChEV19CTE9DSyAodGFyZ2V0X2F0dHIpLT5zaXplCi0rCQkJCQkgICArIGFkZGl0 aW9uYWxfZGF0YV9zaXplKTsKLSsJCSAgfQotKwkJZWxzZQotKwkJICB7Ci0rCQkgICAgYmF0b24t PmxvY2V4cHIuZGF0YSA9IERXX0JMT0NLICh0YXJnZXRfYXR0ciktPmRhdGE7Ci0rCQkgICAgYmF0 b24tPmxvY2V4cHIuc2l6ZSA9IERXX0JMT0NLICh0YXJnZXRfYXR0ciktPnNpemU7Ci0rCQkgIH0K LSsKLSAJCXByb3AtPnNldF9sb2NleHByIChiYXRvbik7Ci0tCQlnZGJfYXNzZXJ0IChwcm9wLT5i YXRvbiAoKSAhPSBOVUxMKTsKLSsJCWdkYl9hc3NlcnQgKHByb3AtPmJhdG9uKCkgIT0gTlVMTCk7 Ci0gCSAgICAgIH0KLSAJICAgIGVsc2UKLSAJICAgICAgewotQEAgLTE4MzA4LDggKzE4NDE5LDgg QEAgcmVhZF9zdWJyYW5nZV90eXBlIChzdHJ1Y3QgZGllX2luZm8gKmRpZSwgc3RydWN0IGR3YXJm Ml9jdSAqY3UpCi0gICAgIH0KLSAKLSAgIGF0dHIgPSBkd2FyZjJfYXR0ciAoZGllLCBEV19BVF9s b3dlcl9ib3VuZCwgY3UpOwotLSAgaWYgKGF0dHIgIT0gbnVsbHB0cikKLS0gICAgYXR0cl90b19k eW5hbWljX3Byb3AgKGF0dHIsIGRpZSwgY3UsICZsb3csIGJhc2VfdHlwZSk7Ci0rICBpZiAoYXR0 cikKLSsgICAgYXR0cl90b19keW5hbWljX3Byb3AgKGF0dHIsIGRpZSwgY3UsICZsb3csIGJhc2Vf dHlwZSwgTlVMTCwgMCk7Ci0gICBlbHNlIGlmICghbG93X2RlZmF1bHRfaXNfdmFsaWQpCi0gICAg IGNvbXBsYWludCAoXygiTWlzc2luZyBEV19BVF9sb3dlcl9ib3VuZCAiCi0gCQkJCSAgICAgICIt IERJRSBhdCAlcyBbaW4gbW9kdWxlICVzXSIpLAotQEAgLTE4MzE4LDEwICsxODQyOSwxMCBAQCBy ZWFkX3N1YnJhbmdlX3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3QgZHdhcmYyX2N1 ICpjdSkKLSAKLSAgIHN0cnVjdCBhdHRyaWJ1dGUgKmF0dHJfdWIsICphdHRyX2NvdW50OwotICAg YXR0ciA9IGF0dHJfdWIgPSBkd2FyZjJfYXR0ciAoZGllLCBEV19BVF91cHBlcl9ib3VuZCwgY3Up OwotLSAgaWYgKCFhdHRyX3RvX2R5bmFtaWNfcHJvcCAoYXR0ciwgZGllLCBjdSwgJmhpZ2gsIGJh c2VfdHlwZSkpCi0rICBpZiAoIWF0dHJfdG9fZHluYW1pY19wcm9wIChhdHRyLCBkaWUsIGN1LCAm aGlnaCwgYmFzZV90eXBlLCBOVUxMLCAwKSkKLSAgICAgewotICAgICAgIGF0dHIgPSBhdHRyX2Nv dW50ID0gZHdhcmYyX2F0dHIgKGRpZSwgRFdfQVRfY291bnQsIGN1KTsKLS0gICAgICBpZiAoYXR0 cl90b19keW5hbWljX3Byb3AgKGF0dHIsIGRpZSwgY3UsICZoaWdoLCBiYXNlX3R5cGUpKQotKyAg ICAgIGlmIChhdHRyX3RvX2R5bmFtaWNfcHJvcCAoYXR0ciwgZGllLCBjdSwgJmhpZ2gsIGJhc2Vf dHlwZSwgTlVMTCwgMCkpCi0gCXsKLSAJICAvKiBJZiBib3VuZHMgYXJlIGNvbnN0YW50IGRvIHRo ZSBmaW5hbCBjYWxjdWxhdGlvbiBoZXJlLiAgKi8KLSAJICBpZiAobG93LmtpbmQgKCkgPT0gUFJP UF9DT05TVCAmJiBoaWdoLmtpbmQgKCkgPT0gUFJPUF9DT05TVCkKLUBAIC0xODM3Miw3ICsxODQ4 Myw3IEBAIHJlYWRfc3VicmFuZ2VfdHlwZSAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHN0cnVjdCBk d2FyZjJfY3UgKmN1KQotICAgICB7Ci0gICAgICAgc3RydWN0IHR5cGUgKnByb3BfdHlwZSA9IGN1 LT5hZGRyX3NpemVkX2ludF90eXBlIChmYWxzZSk7Ci0gICAgICAgYXR0cl90b19keW5hbWljX3By b3AgKGF0dHJfYnl0ZV9zdHJpZGUsIGRpZSwgY3UsICZieXRlX3N0cmlkZV9wcm9wLAotLQkJCSAg ICBwcm9wX3R5cGUpOwotKwkJCSAgICBwcm9wX3R5cGUsIE5VTEwsIDApOwotICAgICB9Ci0gCi0g ICBzdHJ1Y3QgZHluYW1pY19wcm9wIGJpdF9zdHJpZGVfcHJvcDsKLUBAIC0xODM5Miw3ICsxODUw Myw3IEBAIHJlYWRfc3VicmFuZ2VfdHlwZSAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHN0cnVjdCBk d2FyZjJfY3UgKmN1KQotIAl7Ci0gCSAgc3RydWN0IHR5cGUgKnByb3BfdHlwZSA9IGN1LT5hZGRy X3NpemVkX2ludF90eXBlIChmYWxzZSk7Ci0gCSAgYXR0cl90b19keW5hbWljX3Byb3AgKGF0dHJf Yml0X3N0cmlkZSwgZGllLCBjdSwgJmJpdF9zdHJpZGVfcHJvcCwKLS0JCQkJcHJvcF90eXBlKTsK LSsJCQkJcHJvcF90eXBlLCBOVUxMLCAwKTsKLSAJfQotICAgICB9Ci0gCi1AQCAtMjQ0MjQsNyAr MjQ1MzUsNyBAQCBzZXRfZGllX3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3QgdHlw ZSAqdHlwZSwgc3RydWN0IGR3YXJmMl9jdSAqY3UpCi0gICBpZiAoYXR0ciAhPSBOVUxMKQotICAg ICB7Ci0gICAgICAgc3RydWN0IHR5cGUgKnByb3BfdHlwZSA9IGN1LT5hZGRyX3NpemVkX2ludF90 eXBlIChmYWxzZSk7Ci0tICAgICAgaWYgKGF0dHJfdG9fZHluYW1pY19wcm9wIChhdHRyLCBkaWUs IGN1LCAmcHJvcCwgcHJvcF90eXBlKSkKLSsgICAgICBpZiAoYXR0cl90b19keW5hbWljX3Byb3Ag KGF0dHIsIGRpZSwgY3UsICZwcm9wLCBwcm9wX3R5cGUsIE5VTEwsIDApKQotICAgICAgICAgdHlw ZS0+YWRkX2R5bl9wcm9wIChEWU5fUFJPUF9BTExPQ0FURUQsIHByb3ApOwotICAgICB9Ci0gCi1A QCAtMjQ0MzMsMTMgKzI0NTQ0LDEzIEBAIHNldF9kaWVfdHlwZSAoc3RydWN0IGRpZV9pbmZvICpk aWUsIHN0cnVjdCB0eXBlICp0eXBlLCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSkKLSAgIGlmIChhdHRy ICE9IE5VTEwpCi0gICAgIHsKLSAgICAgICBzdHJ1Y3QgdHlwZSAqcHJvcF90eXBlID0gY3UtPmFk ZHJfc2l6ZWRfaW50X3R5cGUgKGZhbHNlKTsKLS0gICAgICBpZiAoYXR0cl90b19keW5hbWljX3By b3AgKGF0dHIsIGRpZSwgY3UsICZwcm9wLCBwcm9wX3R5cGUpKQotKyAgICAgIGlmIChhdHRyX3Rv X2R5bmFtaWNfcHJvcCAoYXR0ciwgZGllLCBjdSwgJnByb3AsIHByb3BfdHlwZSwgTlVMTCwgMCkp Ci0gICAgICAgICB0eXBlLT5hZGRfZHluX3Byb3AgKERZTl9QUk9QX0FTU09DSUFURUQsIHByb3Ap OwotICAgICB9Ci0gCi0gICAvKiBSZWFkIERXX0FUX2RhdGFfbG9jYXRpb24gYW5kIHNldCBpbiB0 eXBlLiAgKi8KLSAgIGF0dHIgPSBkd2FyZjJfYXR0ciAoZGllLCBEV19BVF9kYXRhX2xvY2F0aW9u LCBjdSk7Ci0tICBpZiAoYXR0cl90b19keW5hbWljX3Byb3AgKGF0dHIsIGRpZSwgY3UsICZwcm9w LCBjdS0+YWRkcl90eXBlICgpKSkKLSsgIGlmIChhdHRyX3RvX2R5bmFtaWNfcHJvcCAoYXR0ciwg ZGllLCBjdSwgJnByb3AsIGN1LT5hZGRyX3R5cGUgKCksIE5VTEwsIDApKQotICAgICB0eXBlLT5h ZGRfZHluX3Byb3AgKERZTl9QUk9QX0RBVEFfTE9DQVRJT04sIHByb3ApOwotIAotICAgaWYgKHBl cl9vYmpmaWxlLT5kaWVfdHlwZV9oYXNoID09IE5VTEwpCi1kaWZmIC0tZ2l0IGEvZ2RiL2YtdHlw ZXByaW50LmMgYi9nZGIvZi10eXBlcHJpbnQuYwotLS0tIGEvZ2RiL2YtdHlwZXByaW50LmMKLSsr KyBiL2dkYi9mLXR5cGVwcmludC5jCi1AQCAtMjE3LDggKzIxNyw5IEBAIGZfdHlwZV9wcmludF92 YXJzcGVjX3N1ZmZpeCAoc3RydWN0IHR5cGUgKnR5cGUsIHN0cnVjdCB1aV9maWxlICpzdHJlYW0s Ci0gICAgICAgZWxzZQotIAl7Ci0gCSAgTE9OR0VTVCBsb3dlcl9ib3VuZCA9IGY3N19nZXRfbG93 ZXJib3VuZCAodHlwZSk7Ci0rCi0gCSAgaWYgKGxvd2VyX2JvdW5kICE9IDEpCS8qIE5vdCB0aGUg ZGVmYXVsdC4gICovCi0tICAgICAgICAgICAgZnByaW50Zl9maWx0ZXJlZCAoc3RyZWFtLCAiJXM6 IiwgcGxvbmdlc3QgKGxvd2VyX2JvdW5kKSk7Ci0rCSAgICBmcHJpbnRmX2ZpbHRlcmVkIChzdHJl YW0sICIlczoiLCBwbG9uZ2VzdCAobG93ZXJfYm91bmQpKTsKLSAKLSAJICAvKiBNYWtlIHN1cmUg dGhhdCwgaWYgd2UgaGF2ZSBhbiBhc3N1bWVkIHNpemUgYXJyYXksIHdlCi0gCSAgICAgICBwcmlu dCBvdXQgYSB3YXJuaW5nIGFuZCBwcmludCB0aGUgdXBwZXJib3VuZCBhcyAnKicuICAqLwotQEAg LTIyOSw3ICsyMzAsNyBAQCBmX3R5cGVfcHJpbnRfdmFyc3BlY19zdWZmaXggKHN0cnVjdCB0eXBl ICp0eXBlLCBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLAotIAkgICAgewotIAkgICAgICBMT05HRVNU IHVwcGVyX2JvdW5kID0gZjc3X2dldF91cHBlcmJvdW5kICh0eXBlKTsKLSAKLS0gICAgICAgICAg ICAgIGZwdXRzX2ZpbHRlcmVkIChwbG9uZ2VzdCAodXBwZXJfYm91bmQpLCBzdHJlYW0pOwotKwkg ICAgICBmcHJpbnRmX2ZpbHRlcmVkIChzdHJlYW0sICIlcyIsIHBsb25nZXN0ICh1cHBlcl9ib3Vu ZCkpOwotIAkgICAgfQotIAl9Ci0gCi1kaWZmIC0tZ2l0IGEvZ2RiL2dkYnR5cGVzLmMgYi9nZGIv Z2RidHlwZXMuYwotLS0tIGEvZ2RiL2dkYnR5cGVzLmMKLSsrKyBiL2dkYi9nZGJ0eXBlcy5jCi1A QCAtMTk3Nyw3ICsxOTc3LDggQEAgaXNfZHluYW1pY190eXBlX2ludGVybmFsIChzdHJ1Y3QgdHlw ZSAqdHlwZSwgaW50IHRvcF9sZXZlbCkKLSAgIHR5cGUgPSBjaGVja190eXBlZGVmICh0eXBlKTsK LSAKLSAgIC8qIFdlIG9ubHkgd2FudCB0byByZWNvZ25pemUgcmVmZXJlbmNlcyBhdCB0aGUgb3V0 ZXJtb3N0IGxldmVsLiAgKi8KLS0gIGlmICh0b3BfbGV2ZWwgJiYgdHlwZS0+Y29kZSAoKSA9PSBU WVBFX0NPREVfUkVGKQotKyAgaWYgKHRvcF9sZXZlbCAmJgotKyAgICAgICh0eXBlLT5jb2RlICgp ID09IFRZUEVfQ09ERV9SRUYgfHwgdHlwZS0+IGNvZGUoKSA9PSBUWVBFX0NPREVfUFRSKSkKLSAg ICAgdHlwZSA9IGNoZWNrX3R5cGVkZWYgKFRZUEVfVEFSR0VUX1RZUEUgKHR5cGUpKTsKLSAKLSAg IC8qIFR5cGVzIHRoYXQgaGF2ZSBhIGR5bmFtaWMgVFlQRV9EQVRBX0xPQ0FUSU9OIGFyZSBjb25z aWRlcmVkCi1AQCAtMjAxNywxMCArMjAxOCwxMCBAQCBpc19keW5hbWljX3R5cGVfaW50ZXJuYWwg KHN0cnVjdCB0eXBlICp0eXBlLCBpbnQgdG9wX2xldmVsKQotIAkJfHwgaXNfZHluYW1pY190eXBl X2ludGVybmFsIChUWVBFX1RBUkdFVF9UWVBFICh0eXBlKSwgMCkpOwotICAgICAgIH0KLSAKLS0g ICAgY2FzZSBUWVBFX0NPREVfU1RSSU5HOgotICAgICAgIC8qIFN0cmluZ3MgYXJlIHZlcnkgbXVj aCBsaWtlIGFuIGFycmF5IG9mIGNoYXJhY3RlcnMsIGFuZCBjYW4gYmUKLSAJIHRyZWF0ZWQgYXMg b25lIGhlcmUuICAqLwotICAgICBjYXNlIFRZUEVfQ09ERV9BUlJBWToKLSsgICAgY2FzZSBUWVBF X0NPREVfU1RSSU5HOgotICAgICAgIHsKLSAJZ2RiX2Fzc2VydCAodHlwZS0+bnVtX2ZpZWxkcyAo KSA9PSAxKTsKLSAKLUBAIC0yMTgzLDExICsyMTg0LDE1IEBAIHJlc29sdmVfZHluYW1pY19hcnJh eV9vcl9zdHJpbmcgKHN0cnVjdCB0eXBlICp0eXBlLAotIAotICAgYXJ5X2RpbSA9IGNoZWNrX3R5 cGVkZWYgKFRZUEVfVEFSR0VUX1RZUEUgKGVsdF90eXBlKSk7Ci0gCi0tICBpZiAoYXJ5X2RpbSAh PSBOVUxMICYmIGFyeV9kaW0tPmNvZGUgKCkgPT0gVFlQRV9DT0RFX0FSUkFZKQotKyAgaWYgKGFy eV9kaW0gIT0gTlVMTCAmJiAoYXJ5X2RpbS0+Y29kZSAoKSA9PSBUWVBFX0NPREVfQVJSQVkKLSsg ICAgICB8fCBhcnlfZGltLT5jb2RlICgpID09IFRZUEVfQ09ERV9TVFJJTkcpKQotICAgICBlbHRf dHlwZSA9IHJlc29sdmVfZHluYW1pY19hcnJheV9vcl9zdHJpbmcgKGFyeV9kaW0sIGFkZHJfc3Rh Y2spOwotICAgZWxzZQotICAgICBlbHRfdHlwZSA9IFRZUEVfVEFSR0VUX1RZUEUgKHR5cGUpOwot IAotKyAgaWYgKHR5cGUtPmNvZGUgKCkgPT0gVFlQRV9DT0RFX1NUUklORykKLSsgICAgcmV0dXJu IGNyZWF0ZV9zdHJpbmdfdHlwZSAodHlwZSwgZWx0X3R5cGUsIHJhbmdlX3R5cGUpOwotKwotICAg cHJvcCA9IHR5cGUtPmR5bl9wcm9wIChEWU5fUFJPUF9CWVRFX1NUUklERSk7Ci0gICBpZiAocHJv cCAhPSBOVUxMKQotICAgICB7Ci1AQCAtMjUzMyw2ICsyNTM4LDI1IEBAIHJlc29sdmVfZHluYW1p Y19zdHJ1Y3QgKHN0cnVjdCB0eXBlICp0eXBlLAotICAgcmV0dXJuIHJlc29sdmVkX3R5cGU7Ci0g fQotIAotKy8qIFdvcmtlciBmb3IgcG9pbnRlciB0eXBlcy4gICovCi0rCi0rc3RhdGljIHN0cnVj dCB0eXBlICoKLStyZXNvbHZlX2R5bmFtaWNfcG9pbnRlciAoc3RydWN0IHR5cGUgKnR5cGUsCi0r CQkJIHN0cnVjdCBwcm9wZXJ0eV9hZGRyX2luZm8gKmFkZHJfc3RhY2spCi0rewotKyAgc3RydWN0 IGR5bmFtaWNfcHJvcCAqcHJvcDsKLSsgIENPUkVfQUREUiB2YWx1ZTsKLSsKLSsgIHR5cGUgPSBj b3B5X3R5cGUgKHR5cGUpOwotKwotKyAgLyogUmVzb2x2ZSBhc3NvY2lhdGVkIHByb3BlcnR5LiAg Ki8KLSsgIHByb3AgPSBUWVBFX0FTU09DSUFURURfUFJPUCAodHlwZSk7Ci0rICBpZiAocHJvcCAh PSBOVUxMICYmIGR3YXJmMl9ldmFsdWF0ZV9wcm9wZXJ0eSAocHJvcCwgTlVMTCwgYWRkcl9zdGFj aywgJnZhbHVlKSkKLSsgICAgcHJvcC0+c2V0X2NvbnN0X3ZhbCAodmFsdWUpOwotKwotKyAgcmV0 dXJuIHR5cGU7Ci0rfQotKwotIC8qIFdvcmtlciBmb3IgcmVzb2x2ZWRfZHluYW1pY190eXBlLiAg Ki8KLSAKLSBzdGF0aWMgc3RydWN0IHR5cGUgKgotQEAgLTI1OTQsNiArMjYxOCw5IEBAIHJlc29s dmVfZHluYW1pY190eXBlX2ludGVybmFsIChzdHJ1Y3QgdHlwZSAqdHlwZSwKLSAJY2FzZSBUWVBF X0NPREVfQVJSQVk6Ci0gCSAgcmVzb2x2ZWRfdHlwZSA9IHJlc29sdmVfZHluYW1pY19hcnJheV9v cl9zdHJpbmcgKHR5cGUsIGFkZHJfc3RhY2spOwotIAkgIGJyZWFrOwotKyAgICAgICAgY2FzZSBU WVBFX0NPREVfUFRSOgotKyAJICByZXNvbHZlZF90eXBlID0gcmVzb2x2ZV9keW5hbWljX3BvaW50 ZXIgKHR5cGUsIGFkZHJfc3RhY2spOwotKyAJICBicmVhazsKLSAKLSAJY2FzZSBUWVBFX0NPREVf UkFOR0U6Ci0gCSAgcmVzb2x2ZWRfdHlwZSA9IHJlc29sdmVfZHluYW1pY19yYW5nZSAodHlwZSwg YWRkcl9zdGFjayk7Ci1kaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvdmxhLWN4eC5j YyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL3ZsYS1jeHguY2MKLS0tLSBhL2dkYi90ZXN0c3VpdGUv Z2RiLmNwL3ZsYS1jeHguY2MKLSsrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL3ZsYS1jeHguY2MK LUBAIC0xNSw2ICsxNSwxMCBAQAotICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkg b2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gICAgYWxvbmcgd2l0aCB0aGlzIHBy b2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uICAqLwot IAotK2V4dGVybiAiQyIgewotKyNpbmNsdWRlIDxzdGRkZWYuaD4KLSt9Ci0rCi0gc3RydWN0IGNv bnRhaW5lcjsKLSAKLSBzdHJ1Y3QgZWxlbWVudAotQEAgLTQwLDExICs0NCwxNiBAQCBpbnQgbWFp bihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCi0gICB0eXBlZGVmIHR5cGVvZiAodmxhKSAmdmxhcmVm dHlwZWRlZjsKLSAgIHZsYXJlZnR5cGVkZWYgdmxhcmVmMiAodmxhKTsKLSAgIGNvbnRhaW5lciBj OwotKyAgdHlwZW9mICh2bGEpICpwdHIgPSBOVUxMOwotKwotKyAgLy8gQmVmb3JlIHBvaW50ZXIg YXNzaWdubWVudAotKyAgcHRyID0gJnZsYTsKLSAKLSAgIGZvciAoaW50IGkgPSAwOyBpIDwgejsg KytpKQotICAgICB2bGFbaV0gPSA1ICsgMiAqIGk7Ci0gCi0gICAvLyB2bGFzX2ZpbGxlZAotICAg dmxhWzBdID0gMiAqIHZsYVswXTsKLSsKLSAgIHJldHVybiB2bGFbMl07Ci0gfQotZGlmZiAtLWdp dCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL3ZsYS1jeHguZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIu Y3AvdmxhLWN4eC5leHAKLS0tLSBhL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL3ZsYS1jeHguZXhwCi0r KysgYi9nZGIvdGVzdHN1aXRlL2dkYi5jcC92bGEtY3h4LmV4cAotQEAgLTIzLDYgKzIzLDEyIEBA IGlmICFbcnVudG9fbWFpbl0gewotICAgICByZXR1cm4gLTEKLSB9Ci0gCi0rZ2RiX2JyZWFrcG9p bnQgW2dkYl9nZXRfbGluZV9udW1iZXIgIkJlZm9yZSBwb2ludGVyIGFzc2lnbm1lbnQiXQotK2dk Yl9jb250aW51ZV90b19icmVha3BvaW50ICJCZWZvcmUgcG9pbnRlciBhc3NpZ25tZW50IgotK2dk Yl90ZXN0ICJwdHlwZSBwdHIiICJpbnQgXFwoXFwqXFwpXFxcW3ZhcmlhYmxlIGxlbmd0aFxcXF0i ICJwdHlwZSBwdHIsIEJlZm9yZSBwb2ludGVyIGFzc2lnbm1lbnQiCi0rZ2RiX3Rlc3QgInByaW50 IHB0ciIgIlxcKGludCBcXChcXCpcXClcXFxbdmFyaWFibGUgbGVuZ3RoXFxcXVxcKSAweDAiICJw cmludCBwdHIsIEJlZm9yZSBwb2ludGVyIGFzc2lnbm1lbnQiCi0rZ2RiX3Rlc3QgInByaW50ICpw dHIiICJDYW5ub3QgYWNjZXNzIG1lbW9yeSBhdCBhZGRyZXNzIDB4MCIgInByaW50ICpwdHIsIEJl Zm9yZSBwb2ludGVyIGFzc2lnbm1lbnQiCi0rCi0gZ2RiX2JyZWFrcG9pbnQgW2dkYl9nZXRfbGlu ZV9udW1iZXIgInZsYXNfZmlsbGVkIl0KLSBnZGJfY29udGludWVfdG9fYnJlYWtwb2ludCAidmxh c19maWxsZWQiCi0gCi1AQCAtMzMsMyArMzksNiBAQCBnZGJfdGVzdCAicHJpbnQgdmxhcmVmIiAi ID0gXFwoaW50IFxcKCZcXClcXFxbM1xcXF1cXCkgQCRoZXg6IFxcezUsIDcsIDlcXH0iCi0gIyBi dWcgYmVpbmcgdGVzdGVkLCBpdCdzIGJldHRlciBub3QgdG8gZGVwZW5kIG9uIHRoZSBleGFjdCBz cGVsbGluZy4KLSBnZGJfdGVzdCAicHJpbnQgdmxhcmVmMiIgIiA9IFxcKC4qXFwpIEAkaGV4OiBc XHs1LCA3LCA5XFx9IgotIGdkYl90ZXN0ICJwcmludCBjIiAiID0gXFx7ZSA9IFxce2MgPSBAJGhl eFxcfVxcfSIKLStnZGJfdGVzdCAicHR5cGUgcHRyIiAiaW50IFxcKFxcKlxcKVxcXFszXFxcXSIK LStnZGJfdGVzdCAicHJpbnQgcHRyIiAiXFwoaW50IFxcKFxcKlxcKVxcXFszXFxcXVxcKSAkaGV4 IgotK2dkYl90ZXN0ICJwcmludCAqcHRyIiAiID0gXFx7NSwgNywgOVxcfSIKLWRpZmYgLS1naXQg YS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3BvaW50ZXJzLmV4cCBiL2dkYi90ZXN0c3VpdGUv Z2RiLmZvcnRyYW4vcG9pbnRlcnMuZXhwCi1uZXcgZmlsZSBtb2RlIDEwMDY0NAotLS0tIC9kZXYv bnVsbAotKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9wb2ludGVycy5leHAKLUBAIC0w LDAgKzEsMTQzIEBACi0rIyBDb3B5cmlnaHQgMjAxNiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24s IEluYy4KLSsKLSsjIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlz dHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0rIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdO VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotKyMgdGhlIEZyZWUgU29m dHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKLSsj IChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0rIwotKyMgVGhpcyBwcm9ncmFt IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0rIyBi dXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50 eSBvZgotKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ T1NFLiAgU2VlIHRoZQotKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0 YWlscy4KLSsjCi0rIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUg R2VuZXJhbCBQdWJsaWMgTGljZW5zZQotKyMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBu b3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCi0rCi0rc3RhbmRhcmRfdGVz dGZpbGUgInBvaW50ZXJzLmY5MCIKLStsb2FkX2xpYiBmb3J0cmFuLmV4cAotKwotK2lmIHsgW3By ZXBhcmVfZm9yX3Rlc3RpbmcgJHt0ZXN0ZmlsZX0uZXhwICR7dGVzdGZpbGV9ICR7c3JjZmlsZX0g XAotKyAgICB7ZGVidWcgZjkwIHF1aWV0fV0gfSB7Ci0rICAgIHJldHVybiAtMQotK30KLSsKLStp ZiAhW3J1bnRvX21haW5dIHsKLSsgICAgdW50ZXN0ZWQgImNvdWxkIG5vdCBydW4gdG8gbWFpbiIK LSsgICAgcmV0dXJuIC0xCi0rfQotKwotKyMgRGVwZW5kaW5nIG9uIHRoZSBjb21waWxlciBiZWlu ZyB1c2VkLCB0aGUgdHlwZSBuYW1lcyBjYW4gYmUgcHJpbnRlZCBkaWZmZXJlbnRseS4KLStzZXQg bG9naWNhbCBbZm9ydHJhbl9sb2dpY2FsNF0KLStzZXQgcmVhbCBbZm9ydHJhbl9yZWFsNF0KLStz ZXQgaW50IFtmb3J0cmFuX2ludDRdCi0rc2V0IGNvbXBsZXggW2ZvcnRyYW5fY29tcGxleDRdCi0r Ci0rCi0rZ2RiX2JyZWFrcG9pbnQgW2dkYl9nZXRfbGluZV9udW1iZXIgIkJlZm9yZSBwb2ludGVy IGFzc2lnbm1lbnQiXQotK2dkYl9jb250aW51ZV90b19icmVha3BvaW50ICJCZWZvcmUgcG9pbnRl ciBhc3NpZ25tZW50IgotK2dkYl90ZXN0ICJwcmludCBsb2dwIiAiPSBcXChQVFIgVE8gLT4gXFwo ICRsb2dpY2FsIFxcKVxcKSAweDAiICJwcmludCBsb2dwLCBub3QgYXNzb2NpYXRlZCIKLStnZGJf dGVzdCAicHJpbnQgKmxvZ3AiICJDYW5ub3QgYWNjZXNzIG1lbW9yeSBhdCBhZGRyZXNzIDB4MCIg InByaW50ICpsb2dwLCBub3QgYXNzb2NpYXRlZCIKLStnZGJfdGVzdCAicHJpbnQgY29tcCIgIj0g XFwoUFRSIFRPIC0+IFxcKCAkY29tcGxleCBcXClcXCkgMHgwIiAicHJpbnQgY29tcCwgbm90IGFz c29jaWF0ZWQiCi0rZ2RiX3Rlc3QgInByaW50ICpjb21wIiAiQ2Fubm90IGFjY2VzcyBtZW1vcnkg YXQgYWRkcmVzcyAweDAiICJwcmludCAqY29tcCwgbm90IGFzc29jaWF0ZWQiCi0rZ2RiX3Rlc3Qg InByaW50IGNoYXJwIiAiPSBcXChQVFIgVE8gLT4gXFwoIGNoYXJhY3RlclxcKjEgXFwpXFwpIDB4 MCIgInByaW50IGNoYXJwLCBub3QgYXNzb2NpYXRlZCIKLStnZGJfdGVzdCAicHJpbnQgKmNoYXJw IiAiQ2Fubm90IGFjY2VzcyBtZW1vcnkgYXQgYWRkcmVzcyAweDAiICJwcmludCAqY2hhcnAsIG5v dCBhc3NvY2lhdGVkIgotK2dkYl90ZXN0ICJwcmludCBjaGFyYXAiICI9IFxcKFBUUiBUTyAtPiBc XCggY2hhcmFjdGVyXFwqMyBcXClcXCkgMHgwIiAicHJpbnQgY2hhcmFwLCBub3QgYXNzb2NpYXRl ZCIKLStnZGJfdGVzdCAicHJpbnQgKmNoYXJhcCIgIkNhbm5vdCBhY2Nlc3MgbWVtb3J5IGF0IGFk ZHJlc3MgMHgwIiAicHJpbnQgKmNoYXJhcCwgbm90IGFzc29jaWF0ZWQiCi0rZ2RiX3Rlc3QgInBy aW50IGludHAiICI9IFxcKFBUUiBUTyAtPiBcXCggJGludCBcXClcXCkgMHgwIiAicHJpbnQgaW50 cCwgbm90IGFzc29jaWF0ZWQiCi0rZ2RiX3Rlc3QgInByaW50ICppbnRwIiAiQ2Fubm90IGFjY2Vz cyBtZW1vcnkgYXQgYWRkcmVzcyAweDAiICJwcmludCAqaW50cCwgbm90IGFzc29jaWF0ZWQiCi0r c2V0IHRlc3QgInByaW50IGludGFwLCBub3QgYXNzb2NpYXRlZCIKLStnZGJfdGVzdF9tdWx0aXBs ZSAicHJpbnQgaW50YXAiICR0ZXN0IHsKLSsgIC1yZSAiID0gXFwoUFRSIFRPIC0+IFxcKCAkaW50 IFxcKDosOlxcKVxcKVxcKSA8bm90IGFzc29jaWF0ZWQ+XHJcbiRnZGJfcHJvbXB0ICQiIHsKLSsg ICAgcGFzcyAkdGVzdAotKyAgfQotKyAgLXJlICIgPSA8bm90IGFzc29jaWF0ZWQ+XHJcbiRnZGJf cHJvbXB0ICQiIHsKLSsgICAgcGFzcyAkdGVzdAotKyAgfQotK30KLStnZGJfdGVzdCAicHJpbnQg cmVhbHAiICI9IFxcKFBUUiBUTyAtPiBcXCggJHJlYWwgXFwpXFwpIDB4MCIgInByaW50IHJlYWxw LCBub3QgYXNzb2NpYXRlZCIKLStnZGJfdGVzdCAicHJpbnQgKnJlYWxwIiAiQ2Fubm90IGFjY2Vz cyBtZW1vcnkgYXQgYWRkcmVzcyAweDAiICJwcmludCAqcmVhbHAsIG5vdCBhc3NvY2lhdGVkIgot K2dkYl90ZXN0ICJwcmludCBcJG15X3ZhciA9IGludHAiICI9IFxcKFBUUiBUTyAtPiBcXCggJGlu dCBcXClcXCkgMHgwIgotK3NldCB0ZXN0ICJwcmludCBjeWNsaWNwMSwgbm90IGFzc29jaWF0ZWQi Ci0rZ2RiX3Rlc3RfbXVsdGlwbGUgInByaW50IGN5Y2xpY3AxIiAkdGVzdCB7Ci0rICAtcmUgIj0g XFwoIGkgPSAtP1xcZCssIHAgPSAweDAgXFwpXHJcbiRnZGJfcHJvbXB0ICQiIHsKLSsgICAgcGFz cyAkdGVzdAotKyAgfQotKyAgLXJlICI9IFxcKCBpID0gLT9cXGQrLCBwID0gPG5vdCBhc3NvY2lh dGVkPiBcXClcclxuJGdkYl9wcm9tcHQgJCIgewotKyAgICBwYXNzICR0ZXN0Ci0rICB9Ci0rfQot K3NldCB0ZXN0ICJwcmludCBjeWNsaWNwMSVwLCBub3QgYXNzb2NpYXRlZCIKLStnZGJfdGVzdF9t dWx0aXBsZSAicHJpbnQgY3ljbGljcDElcCIgJHRlc3QgewotKyAgLXJlICI9IFxcKFBUUiBUTyAt PiBcXCggVHlwZSB0eXBld2l0aHBvaW50ZXIgXFwpXFwpIDB4MFxyXG4kZ2RiX3Byb21wdCAkIiB7 Ci0rICAgIHBhc3MgJHRlc3QKLSsgIH0KLSsgIC1yZSAiPSBcXChQVFIgVE8gLT4gXFwoIFR5cGUg dHlwZXdpdGhwb2ludGVyIFxcKVxcKSA8bm90IGFzc29jaWF0ZWQ+XHJcbiRnZGJfcHJvbXB0ICQi IHsKLSsgICAgcGFzcyAkdGVzdAotKyAgfQotK30KLSsKLSsKLStnZGJfYnJlYWtwb2ludCBbZ2Ri X2dldF9saW5lX251bWJlciAiQmVmb3JlIHZhbHVlIGFzc2lnbm1lbnQiXQotK2dkYl9jb250aW51 ZV90b19icmVha3BvaW50ICJCZWZvcmUgdmFsdWUgYXNzaWdubWVudCIKLStnZGJfdGVzdCAicHJp bnQgKih0d29wKSVpdmxhMiIgIj0gPG5vdCBhbGxvY2F0ZWQ+IgotKwotKwotK2dkYl9icmVha3Bv aW50IFtnZGJfZ2V0X2xpbmVfbnVtYmVyICJBZnRlciB2YWx1ZSBhc3NpZ25tZW50Il0KLStnZGJf Y29udGludWVfdG9fYnJlYWtwb2ludCAiQWZ0ZXIgdmFsdWUgYXNzaWdubWVudCIKLStnZGJfdGVz dCAicHJpbnQgbG9ncCIgIj0gXFwoUFRSIFRPIC0+IFxcKCAkbG9naWNhbCBcXClcXCkgJGhleFwo IDwuKj5cKT8iCi0rZ2RiX3Rlc3QgInByaW50ICpsb2dwIiAiPSBcXC5UUlVFXFwuIgotK2dkYl90 ZXN0ICJwcmludCBjb21wIiAiPSBcXChQVFIgVE8gLT4gXFwoICRjb21wbGV4IFxcKVxcKSAkaGV4 XCggPC4qPlwpPyIKLStnZGJfdGVzdCAicHJpbnQgKmNvbXAiICI9IFxcKDEsMlxcKSIKLStnZGJf dGVzdCAicHJpbnQgY2hhcnAiICI9IFxcKFBUUiBUTyAtPiBcXCggY2hhcmFjdGVyXFwqMSBcXClc XCkgJGhleFwoIDwuKj5cKT8iCi0rZ2RiX3Rlc3QgInByaW50ICpjaGFycCIgIj0gJ2EnIgotK2dk Yl90ZXN0ICJwcmludCBjaGFyYXAiICI9IFxcKFBUUiBUTyAtPiBcXCggY2hhcmFjdGVyXFwqMyBc XClcXCkgJGhleFwoIDwuKj5cKT8iCi0rZ2RiX3Rlc3QgInByaW50ICpjaGFyYXAiICI9ICdhYmMn IgotK2dkYl90ZXN0ICJwcmludCBpbnRwIiAiPSBcXChQVFIgVE8gLT4gXFwoICRpbnQgXFwpXFwp ICRoZXhcKCA8Lio+XCk/IgotK2dkYl90ZXN0ICJwcmludCAqaW50cCIgIj0gMTAiCi0rc2V0IHRl c3RfbmFtZSAicHJpbnQgaW50YXAsIGFzc29jaWF0ZWQiCi0rZ2RiX3Rlc3RfbXVsdGlwbGUgInBy aW50IGludGFwIiAkdGVzdF9uYW1lIHsKLSsgIC1yZSAiPSBcXChcXCggMSwgMSwgMygsIDEpezd9 XFwpIFxcKCAxKCwgMSl7OX1cXCkgXFwpXHJcbiRnZGJfcHJvbXB0ICQiIHsKLSsgICAgcGFzcyAk dGVzdF9uYW1lCi0rICB9Ci0rICAtcmUgIj0gXFwoUFRSIFRPIC0+IFxcKCAkaW50IFxcKDEwLDJc XClcXClcXCkgJGhleFwoIDwuKj5cKT9cclxuJGdkYl9wcm9tcHQgJCIgewotKyAgICBnZGJfdGVz dCAicHJpbnQgKmludGFwIiAiPSBcXChcXCggMSwgMSwgMygsIDEpezd9XFwpIFxcKCAxKCwgMSl7 OX1cXCkgXFwpIgotKyAgICBwYXNzICR0ZXN0X25hbWUKLSsgIH0KLSt9Ci0rc2V0IHRlc3RfbmFt ZSAicHJpbnQgaW50dmxhcCwgYXNzb2NpYXRlZCIKLStnZGJfdGVzdF9tdWx0aXBsZSAicHJpbnQg aW50dmxhcCIgJHRlc3RfbmFtZSB7Ci0rICAtcmUgIj0gXFwoMiwgMiwgMiwgNCgsIDIpezZ9XFwp XHJcbiRnZGJfcHJvbXB0ICQiIHsKLSsgICAgcGFzcyAkdGVzdF9uYW1lCi0rICB9Ci0rICAtcmUg Ij0gXFwoUFRSIFRPIC0+IFxcKCAkaW50IFxcKDEwXFwpXFwpXFwpICRoZXhcKCA8Lio+XCk/XHJc biRnZGJfcHJvbXB0ICQiIHsKLSsgICAgZ2RiX3Rlc3QgInByaW50ICppbnR2bGFwIiAiPSBcXCgy LCAyLCAyLCA0KCwgMil7Nn1cXCkiCi0rICAgIHBhc3MgJHRlc3RfbmFtZQotKyAgfQotK30KLStn ZGJfdGVzdCAicHJpbnQgcmVhbHAiICI9IFxcKFBUUiBUTyAtPiBcXCggJHJlYWwgXFwpXFwpICRo ZXhcKCA8Lio+XCk/IgotK2dkYl90ZXN0ICJwcmludCAqcmVhbHAiICI9IDNcXC4xNDAwMFxcZCsi Ci0rZ2RiX3Rlc3QgInByaW50IGFycmF5T2ZQdHIoMiklcCIgIj0gXFwoUFRSIFRPIC0+IFxcKCBU eXBlIHR3byBcXClcXCkgJGhleFwoIDwuKj5cKT8iCi0rZ2RiX3Rlc3QgInByaW50ICooYXJyYXlP ZlB0cigyKSVwKSIgIj0gXFwoIGl2bGExID0gXFwoMTEsIDEyLCAxM1xcKSwgaXZsYTIgPSBcXChc XCggMjExLCAyMjFcXCkgXFwoIDIxMiwgMjIyXFwpIFxcKSBcXCkiCi0rc2V0IHRlc3RfbmFtZSAi cHJpbnQgYXJyYXlPZlB0cigzKSVwIgotK2dkYl90ZXN0X211bHRpcGxlICR0ZXN0X25hbWUgJHRl c3RfbmFtZSB7Ci0rICAtcmUgIj0gXFwoUFRSIFRPIC0+IFxcKCBUeXBlIHR3byBcXClcXCkgPG5v dCBhc3NvY2lhdGVkPlxyXG4kZ2RiX3Byb21wdCAkIiB7Ci0rICAgIHBhc3MgJHRlc3RfbmFtZQot KyAgfQotKyAgLXJlICI9IFxcKFBUUiBUTyAtPiBcXCggVHlwZSB0d28gXFwpXFwpIDB4MFxyXG4k Z2RiX3Byb21wdCAkIiB7Ci0rICAgIHBhc3MgJHRlc3RfbmFtZQotKyAgfQotK30KLStzZXQgdGVz dF9uYW1lICJwcmludCAqKGFycmF5T2ZQdHIoMyklcCksIGFzc29jaWF0ZWQiCi0rZ2RiX3Rlc3Rf bXVsdGlwbGUgInByaW50ICooYXJyYXlPZlB0cigzKSVwKSIgJHRlc3RfbmFtZSB7Ci0rICAtcmUg IkNhbm5vdCBhY2Nlc3MgbWVtb3J5IGF0IGFkZHJlc3MgMHgwXHJcbiRnZGJfcHJvbXB0ICQiIHsK LSsgICAgcGFzcyAkdGVzdF9uYW1lCi0rICB9Ci0rICAtcmUgIkF0dGVtcHQgdG8gdGFrZSBjb250 ZW50cyBvZiBhIG5vdCBhc3NvY2lhdGVkIHBvaW50ZXIuXHJcbiRnZGJfcHJvbXB0ICQiIHsKLSsg ICAgcGFzcyAkdGVzdF9uYW1lCi0rICB9Ci0rfQotK2dkYl90ZXN0ICJwcmludCBjeWNsaWNwMSIg Ij0gXFwoIGkgPSAxLCBwID0gJGhleFwoIDwuKj5cKT8gXFwpIgotK2dkYl90ZXN0ICJwcmludCBj eWNsaWNwMSVwIiAiPSBcXChQVFIgVE8gLT4gXFwoIFR5cGUgdHlwZXdpdGhwb2ludGVyIFxcKVxc KSAkaGV4XCggPC4qPlwpPyIKLStnZGJfdGVzdCAicHJpbnQgKigoaW50ZWdlciopICZpbnRhICsg MikiICI9IDMiICJwcmludCB0ZW1wb3JhcnkgcG9pbnRlciwgYXJyYXkiCi0rZ2RiX3Rlc3QgInBy aW50ICooKGludGVnZXIqKSAmaW50dmxhICsgMykiICI9IDQiICJwcmludCB0ZW1wb3JhcnkgcG9p bnRlciwgYWxsb2NhdGVkIHZsYSIKLStnZGJfdGVzdCAicHJpbnQgXCRwYyIgIj0gXFwoUFRSIFRP IC0+IFxcKCB2b2lkIFxcKFxcKSBcXChcXCkgXFwpXFwpICRoZXggPHBvaW50ZXJzXFwrXFxkKz4i ICJQcmludCBwcm9ncmFtIGNvdW50ZXIiCi1kaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIu Zm9ydHJhbi9wb2ludGVycy5mOTAgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3BvaW50ZXJz LmY5MAotLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9wb2ludGVycy5mOTAKLSsrKyBi L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vcG9pbnRlcnMuZjkwCi1AQCAtMjAsMjEgKzIwLDM0 IEBAIHByb2dyYW0gcG9pbnRlcnMKLSAgICAgaW50ZWdlciwgYWxsb2NhdGFibGUgOjogaXZsYTIg KDosIDopCi0gICBlbmQgdHlwZSB0d28KLSAKLSsgIHR5cGUgOjogdHlwZVdpdGhQb2ludGVyCi0r ICAgIGludGVnZXIgaQotKyAgICB0eXBlKHR5cGVXaXRoUG9pbnRlciksIHBvaW50ZXI6OiBwCi0r ICBlbmQgdHlwZSB0eXBlV2l0aFBvaW50ZXIKLSsKLSsgIHR5cGUgOjogdHdvUHRyCi0rICAgIHR5 cGUgKHR3byksIHBvaW50ZXIgOjogcAotKyAgZW5kIHR5cGUgdHdvUHRyCi0rCi0gICBsb2dpY2Fs LCB0YXJnZXQgOjogbG9ndgotICAgY29tcGxleCwgdGFyZ2V0IDo6IGNvbXYKLSAgIGNoYXJhY3Rl ciwgdGFyZ2V0IDo6IGNoYXJ2Ci0gICBjaGFyYWN0ZXIgKGxlbj0zKSwgdGFyZ2V0IDo6IGNoYXJh Ci0gICBpbnRlZ2VyLCB0YXJnZXQgOjogaW50dgotICAgaW50ZWdlciwgdGFyZ2V0LCBkaW1lbnNp b24gKDEwLDIpIDo6IGludGEKLS0gIHJlYWwsIHRhcmdldCA6OiByZWFsdgotLSAgdHlwZSh0d28p LCB0YXJnZXQgOjogdHdvdgotKyAgaW50ZWdlciwgdGFyZ2V0LCBhbGxvY2F0YWJsZSwgZGltZW5z aW9uICg6KSA6OiBpbnR2bGEKLSsgIHJlYWwsIHRhcmdldCAgICA6OiByZWFsdgotKyAgdHlwZSh0 d28pLCB0YXJnZXQgIDo6IHR3b3YKLSsgIHR5cGUodHdvUHRyKSA6OiBhcnJheU9mUHRyICgzKQot KyAgdHlwZSh0eXBlV2l0aFBvaW50ZXIpLCB0YXJnZXQ6OiBjeWNsaWNwMSxjeWNsaWNwMgotIAot ICAgbG9naWNhbCwgcG9pbnRlciA6OiBsb2dwCi0gICBjb21wbGV4LCBwb2ludGVyIDo6IGNvbXAK LS0gIGNoYXJhY3RlciwgcG9pbnRlciA6OiBjaGFycAotLSAgY2hhcmFjdGVyIChsZW49MyksIHBv aW50ZXIgOjogY2hhcmFwCi0rICBjaGFyYWN0ZXIsIHBvaW50ZXI6OiBjaGFycAotKyAgY2hhcmFj dGVyIChsZW49MyksIHBvaW50ZXI6OiBjaGFyYXAKLSAgIGludGVnZXIsIHBvaW50ZXIgOjogaW50 cAotICAgaW50ZWdlciwgcG9pbnRlciwgZGltZW5zaW9uICg6LDopIDo6IGludGFwCi0rICBpbnRl Z2VyLCBwb2ludGVyLCBkaW1lbnNpb24gKDopIDo6IGludHZsYXAKLSAgIHJlYWwsIHBvaW50ZXIg OjogcmVhbHAKLSAgIHR5cGUodHdvKSwgcG9pbnRlciA6OiB0d29wCi0gCi1AQCAtNDQsOCArNTcs MTQgQEAgcHJvZ3JhbSBwb2ludGVycwotICAgbnVsbGlmeSAoY2hhcmFwKQotICAgbnVsbGlmeSAo aW50cCkKLSAgIG51bGxpZnkgKGludGFwKQotKyAgbnVsbGlmeSAoaW50dmxhcCkKLSAgIG51bGxp ZnkgKHJlYWxwKQotICAgbnVsbGlmeSAodHdvcCkKLSsgIG51bGxpZnkgKGFycmF5T2ZQdHIoMSkl cCkKLSsgIG51bGxpZnkgKGFycmF5T2ZQdHIoMiklcCkKLSsgIG51bGxpZnkgKGFycmF5T2ZQdHIo MyklcCkKLSsgIG51bGxpZnkgKGN5Y2xpY3AxJXApCi0rICBudWxsaWZ5IChjeWNsaWNwMiVwKQot IAotICAgbG9ncCA9PiBsb2d2ICAgICEgQmVmb3JlIHBvaW50ZXIgYXNzaWdubWVudAotICAgY29t cCA9PiBjb212Ci1AQCAtNTMsOCArNzIsMTQgQEAgcHJvZ3JhbSBwb2ludGVycwotICAgY2hhcmFw ID0+IGNoYXJhCi0gICBpbnRwID0+IGludHYKLSAgIGludGFwID0+IGludGEKLSsgIGludHZsYXAg PT4gaW50dmxhCi0gICByZWFscCA9PiByZWFsdgotICAgdHdvcCA9PiB0d292Ci0rICBhcnJheU9m UHRyKDIpJXAgPT4gdHdvdgotKyAgY3ljbGljcDElaSA9IDEKLSsgIGN5Y2xpY3AxJXAgPT4gY3lj bGljcDIKLSsgIGN5Y2xpY3AyJWkgPSAyCi0rICBjeWNsaWNwMiVwID0+IGN5Y2xpY3AxCi0gCi0g ICBsb2d2ID0gYXNzb2NpYXRlZChsb2dwKSAgICAgISBCZWZvcmUgdmFsdWUgYXNzaWdubWVudAot ICAgY29tdiA9IGNtcGx4KDEsMikKLUBAIC02Myw2ICs4OCwxMCBAQCBwcm9ncmFtIHBvaW50ZXJz Ci0gICBpbnR2ID0gMTAKLSAgIGludGEoOiw6KSA9IDEKLSAgIGludGEoMywxKSA9IDMKLSsgIGFs bG9jYXRlIChpbnR2bGEoMTApKQotKyAgaW50dmxhKDopID0gMgotKyAgaW50dmxhKDQpID0gNAot KyAgaW50dmxhcCA9PiBpbnR2bGEKLSAgIHJlYWx2ID0gMy4xNAotIAotICAgYWxsb2NhdGUgKHR3 b3YlaXZsYTEoMykpCi1kaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9wcmlu dF90eXBlLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vcHJpbnRfdHlwZS5leHAKLS0t LSBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vcHJpbnRfdHlwZS5leHAKLSsrKyBiL2dkYi90 ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vcHJpbnRfdHlwZS5leHAKLUBAIC0xLDUgKzEsNiBAQAotICMg Q29weXJpZ2h0IDIwMTktMjAyMCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KLSAjCi0r Ci0gIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUg aXQgYW5kL29yIG1vZGlmeQotICMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJh bCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLSAjIHRoZSBGcmVlIFNvZnR3YXJlIEZv dW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCi1AQCAtODksNiAr OTAsNyBAQCBnZGJfdGVzdCAicHR5cGUgdHdvcCIgXAotICAgICAgICAgICAgICAgICAiICAgICRp bnQsIGFsbG9jYXRhYmxlIDo6IGl2bGEyXFwoOiw6XFwpIiBcCi0gICAgICAgICAgICAgICAgICJF bmQgVHlwZSB0d28gXFwpIl0KLSAKLSsKLSBnZGJfYnJlYWtwb2ludCBbZ2RiX2dldF9saW5lX251 bWJlciAiQWZ0ZXIgdmFsdWUgYXNzaWdubWVudCJdCi0gZ2RiX2NvbnRpbnVlX3RvX2JyZWFrcG9p bnQgIkFmdGVyIHZhbHVlIGFzc2lnbm1lbnQiCi0gZ2RiX3Rlc3QgInB0eXBlIGxvZ3YiICJ0eXBl ID0gJGxvZ2ljYWwiCi1kaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEt c3RyaW5ncy5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1zdHJpbmdzLmV4cAot bmV3IGZpbGUgbW9kZSAxMDA2NDQKLS0tLSAvZGV2L251bGwKLSsrKyBiL2dkYi90ZXN0c3VpdGUv Z2RiLmZvcnRyYW4vdmxhLXN0cmluZ3MuZXhwCi1AQCAtMCwwICsxLDEwMyBAQAotKyMgQ29weXJp Z2h0IDIwMTYgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCi0rCi0rIyBUaGlzIHByb2dy YW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlm eQotKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5z ZSBhcyBwdWJsaXNoZWQgYnkKLSsjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhl ciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCi0rIyAoYXQgeW91ciBvcHRpb24pIGFueSBs YXRlciB2ZXJzaW9uLgotKyMKLSsjIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUg aG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZ OyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSsjIE1FUkNIQU5UQUJJTElU WSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKLSsjIEdOVSBH ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0rIwotKyMgWW91IHNob3Vs ZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UK LSsjIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251 Lm9yZy9saWNlbnNlcy8+LgotKwotK3N0YW5kYXJkX3Rlc3RmaWxlICIuZjkwIgotKwotK2lmIHsg W3ByZXBhcmVfZm9yX3Rlc3RpbmcgJHt0ZXN0ZmlsZX0uZXhwICR7dGVzdGZpbGV9ICR7c3JjZmls ZX0gXAotKyAgICB7ZGVidWcgZjkwIHF1aWV0fV0gfSB7Ci0rICAgIHJldHVybiAtMQotK30KLSsK LSsjIGNoZWNrIHRoYXQgYWxsIGZvcnRyYW4gc3RhbmRhcmQgZGF0YXR5cGVzIHdpbGwgYmUKLSsj IGhhbmRsZWQgY29ycmVjdGx5IHdoZW4gdXNpbmcgYXMgVkxBJ3MKLSsKLStpZiAhW3J1bnRvX21h aW5dIHsKLSsgICAgdW50ZXN0ZWQgImNvdWxkIG5vdCBydW4gdG8gbWFpbiIKLSsgICAgcmV0dXJu IC0xCi0rfQotKwotK2dkYl9icmVha3BvaW50IFtnZGJfZ2V0X2xpbmVfbnVtYmVyICJ2YXJfY2hh ci1hbGxvY2F0ZWQtMSJdCi0rZ2RiX2NvbnRpbnVlX3RvX2JyZWFrcG9pbnQgInZhcl9jaGFyLWFs bG9jYXRlZC0xIgotK3NldCB0ZXN0ICJ3aGF0aXMgdmFyX2NoYXIgZmlyc3QgdGltZSIKLStnZGJf dGVzdF9tdWx0aXBsZSAid2hhdGlzIHZhcl9jaGFyIiAkdGVzdCB7Ci0rICAgIC1yZSAidHlwZSA9 IFBUUiBUTyAtPiBcXCggY2hhcmFjdGVyXFwqMTAgXFwpXHJcbiRnZGJfcHJvbXB0ICQiIHsKLSsJ ICAgIHBhc3MgJHRlc3QKLSsgICAgfQotKyAgICAtcmUgInR5cGUgPSBjaGFyYWN0ZXJcXCoxMFxy XG4kZ2RiX3Byb21wdCAkIiB7Ci0rCSAgICBwYXNzICR0ZXN0Ci0rICAgIH0KLSt9Ci0rc2V0IHRl c3QgInB0eXBlIHZhcl9jaGFyIGZpcnN0IHRpbWUiCi0rZ2RiX3Rlc3RfbXVsdGlwbGUgInB0eXBl IHZhcl9jaGFyIiAkdGVzdCB7Ci0rICAgIC1yZSAidHlwZSA9IFBUUiBUTyAtPiBcXCggY2hhcmFj dGVyXFwqMTAgXFwpXHJcbiRnZGJfcHJvbXB0ICQiIHsKLSsJICAgIHBhc3MgJHRlc3QKLSsgICAg fQotKyAgICAtcmUgInR5cGUgPSBjaGFyYWN0ZXJcXCoxMFxyXG4kZ2RiX3Byb21wdCAkIiB7Ci0r CSAgICBwYXNzICR0ZXN0Ci0rICAgIH0KLSt9Ci0rCi0rCi0rZ2RiX3Rlc3QgIm5leHQiICJcXGQr Lip2YXJfY2hhciA9ICdmb28nLioiIFwKLSsgICJuZXh0IHRvIGFsbG9jYXRpb24gc3RhdHVzIG9m IHZhcl9jaGFyIgotK2dkYl90ZXN0ICJwcmludCBsIiAiID0gXFwuVFJVRVxcLiIgInByaW50IGFs bG9jYXRpb24gc3RhdHVzIGZpcnN0IHRpbWUiCi0rCi0rCi0rZ2RiX2JyZWFrcG9pbnQgW2dkYl9n ZXRfbGluZV9udW1iZXIgInZhcl9jaGFyLWZpbGxlZC0xIl0KLStnZGJfY29udGludWVfdG9fYnJl YWtwb2ludCAidmFyX2NoYXItZmlsbGVkLTEiCi0rc2V0IHRlc3QgInByaW50IHZhcl9jaGFyLCB2 YXJfY2hhci1maWxsZWQtMSIKLStnZGJfdGVzdF9tdWx0aXBsZSAicHJpbnQgdmFyX2NoYXIiICR0 ZXN0IHsKLSsgICAgLXJlICI9IFxcKFBUUiBUTyAtPiBcXCggY2hhcmFjdGVyXFwqMyBcXClcXCkg JGhleFxyXG4kZ2RiX3Byb21wdCAkIiB7Ci0rICAgICAgICBnZGJfdGVzdCAicHJpbnQgKnZhcl9j aGFyIiAiPSAnZm9vJyIgInByaW50ICp2YXJfY2hhciwgdmFyX2NoYXItZmlsbGVkLTEiCi0rCSAg ICBwYXNzICR0ZXN0Ci0rICAgIH0KLSsgICAgLXJlICI9ICdmb28nXHJcbiRnZGJfcHJvbXB0ICQi IHsKLSsJICAgIHBhc3MgJHRlc3QKLSsgICAgfQotK30KLStzZXQgdGVzdCAicHR5cGUgdmFyX2No YXIsIHZhcl9jaGFyLWZpbGxlZC0xIgotK2dkYl90ZXN0X211bHRpcGxlICJwdHlwZSB2YXJfY2hh ciIgJHRlc3QgewotKyAgICAtcmUgInR5cGUgPSBQVFIgVE8gLT4gXFwoIGNoYXJhY3RlclxcKjMg XFwpXHJcbiRnZGJfcHJvbXB0ICQiIHsKLSsJICAgIHBhc3MgJHRlc3QKLSsgICAgfQotKyAgICAt cmUgInR5cGUgPSBjaGFyYWN0ZXJcXCozXHJcbiRnZGJfcHJvbXB0ICQiIHsKLSsJICAgIHBhc3Mg JHRlc3QKLSsgICAgfQotK30KLStnZGJfdGVzdCAicHJpbnQgdmFyX2NoYXIoMSkiICIgPSAxMDIg J2YnIiAicHJpbnQgdmFyX2NoYXIoMSkiCi0rZ2RiX3Rlc3QgInByaW50IHZhcl9jaGFyKDMpIiAi ID0gMTExICdvJyIgInByaW50IHZhcl9jaGFyKDMpIgotKwotKwotK2dkYl9icmVha3BvaW50IFtn ZGJfZ2V0X2xpbmVfbnVtYmVyICJ2YXJfY2hhci1maWxsZWQtMiJdCi0rZ2RiX2NvbnRpbnVlX3Rv X2JyZWFrcG9pbnQgInZhcl9jaGFyLWZpbGxlZC0yIgotK3NldCB0ZXN0ICJwcmludCB2YXJfY2hh ciwgdmFyX2NoYXItZmlsbGVkLTIiCi0rZ2RiX3Rlc3RfbXVsdGlwbGUgInByaW50IHZhcl9jaGFy IiAkdGVzdCB7Ci0rICAgIC1yZSAiPSBcXChQVFIgVE8gLT4gXFwoIGNoYXJhY3RlclxcKjYgXFwp XFwpICRoZXhcclxuJGdkYl9wcm9tcHQgJCIgewotKyAgICAgICAgZ2RiX3Rlc3QgInByaW50ICp2 YXJfY2hhciIgIj0gJ2Zvb2JhciciICJwcmludCAqdmFyX2NoYXIsIHZhcl9jaGFyLWZpbGxlZC0y IgotKwkgICAgcGFzcyAkdGVzdAotKyAgICB9Ci0rICAgIC1yZSAiPSAnZm9vYmFyJ1xyXG4kZ2Ri X3Byb21wdCAkIiB7Ci0rCSAgICBwYXNzICR0ZXN0Ci0rICAgIH0KLSt9Ci0rc2V0IHRlc3QgInB0 eXBlIHZhcl9jaGFyLCB2YXJfY2hhci1maWxsZWQtMiIKLStnZGJfdGVzdF9tdWx0aXBsZSAicHR5 cGUgdmFyX2NoYXIiICR0ZXN0IHsKLSsgICAgLXJlICJ0eXBlID0gUFRSIFRPIC0+IFxcKCBjaGFy YWN0ZXJcXCo2IFxcKVxyXG4kZ2RiX3Byb21wdCAkIiB7Ci0rCSAgICBwYXNzICR0ZXN0Ci0rICAg IH0KLSsgICAgLXJlICJ0eXBlID0gY2hhcmFjdGVyXFwqNlxyXG4kZ2RiX3Byb21wdCAkIiB7Ci0r CSAgICBwYXNzICR0ZXN0Ci0rICAgIH0KLSt9Ci1kaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9n ZGIuZm9ydHJhbi92bGEtc3RyaW5ncy5mOTAgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3Zs YS1zdHJpbmdzLmY5MAotbmV3IGZpbGUgbW9kZSAxMDA2NDQKLS0tLSAvZGV2L251bGwKLSsrKyBi L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXN0cmluZ3MuZjkwCi1AQCAtMCwwICsxLDM5 IEBACi0rISBDb3B5cmlnaHQgMjAxNiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KLSsh Ci0rISBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUg aXQgYW5kL29yIG1vZGlmeQotKyEgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJh bCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLSshIHRoZSBGcmVlIFNvZnR3YXJlIEZv dW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCi0rISAoYXQgeW91 ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotKyEKLSshIFRoaXMgcHJvZ3JhbSBpcyBkaXN0 cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotKyEgYnV0IFdJVEhP VVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSsh IE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNl ZSB0aGUKLSshIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0r IQotKyEgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwg UHVibGljIExpY2Vuc2UKLSshIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUg PGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgotKwotK3Byb2dyYW0gdmxhX3N0cmluZ3MK LSsgIGNoYXJhY3RlcihsZW49OiksIHRhcmdldCwgYWxsb2NhdGFibGUgICA6OiB2YXJfY2hhcgot KyAgY2hhcmFjdGVyKGxlbj06KSwgcG9pbnRlciAgICAgICAgICAgICAgIDo6IHZhcl9jaGFyX3AK LSsgIGxvZ2ljYWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6OiBsCi0rCi0rICBh bGxvY2F0ZShjaGFyYWN0ZXIobGVuPTEwKSA6OiB2YXJfY2hhcikKLSsgIGwgPSBhbGxvY2F0ZWQo dmFyX2NoYXIpICAgICAgICAgICAgICAgICAhIHZhcl9jaGFyLWFsbG9jYXRlZC0xCi0rICB2YXJf Y2hhciA9ICdmb28nCi0rICBkZWFsbG9jYXRlKHZhcl9jaGFyKSAgICAgICAgICAgICAgICAgICAg ISB2YXJfY2hhci1maWxsZWQtMQotKyAgbCA9IGFsbG9jYXRlZCh2YXJfY2hhcikgICAgICAgICAg ICAgICAgICEgdmFyX2NoYXItZGVhbGxvY2F0ZWQKLSsgIGFsbG9jYXRlKGNoYXJhY3RlcihsZW49 NDIpIDo6IHZhcl9jaGFyKQotKyAgbCA9IGFsbG9jYXRlZCh2YXJfY2hhcikKLSsgIHZhcl9jaGFy ID0gJ2Zvb2JhcicKLSsgIHZhcl9jaGFyID0gJycgICAgICAgICAgICAgICAgICAgICAgICAgICAh IHZhcl9jaGFyLWZpbGxlZC0yCi0rICB2YXJfY2hhciA9ICdiYXInICAgICAgICAgICAgICAgICAg ICAgICAgISB2YXJfY2hhci1lbXB0eQotKyAgZGVhbGxvY2F0ZSh2YXJfY2hhcikKLSsgIGFsbG9j YXRlKGNoYXJhY3RlcihsZW49MjEpIDo6IHZhcl9jaGFyKQotKyAgbCA9IGFsbG9jYXRlZCh2YXJf Y2hhcikgICAgICAgICAgICAgICAgICEgdmFyX2NoYXItYWxsb2NhdGVkLTMKLSsgIHZhcl9jaGFy ID0gJ2pvaG5kb2UnCi0rICB2YXJfY2hhcl9wID0+IHZhcl9jaGFyCi0rICBsID0gYXNzb2NpYXRl ZCh2YXJfY2hhcl9wKSAgICAgICAgICAgICAgISB2YXJfY2hhcl9wLWFzc29jaWF0ZWQKLSsgIHZh cl9jaGFyX3AgPT4gbnVsbCgpCi0rICBsID0gYXNzb2NpYXRlZCh2YXJfY2hhcl9wKSAgICAgICAg ICAgICAgISB2YXJfY2hhcl9wLW5vdC1hc3NvY2lhdGVkCi0rZW5kIHByb2dyYW0gdmxhX3N0cmlu Z3MKLWRpZmYgLS1naXQgYS9nZGIvdHlwZXByaW50LmMgYi9nZGIvdHlwZXByaW50LmMKLS0tLSBh L2dkYi90eXBlcHJpbnQuYwotKysrIGIvZ2RiL3R5cGVwcmludC5jCi1AQCAtNTY1LDYgKzU2NSwy NCBAQCB3aGF0aXNfZXhwIChjb25zdCBjaGFyICpleHAsIGludCBzaG93KQotICAgICAgIHByaW50 Zl9maWx0ZXJlZCAoIiAqL1xuIik7ICAgIAotICAgICB9Ci0gCi0rICAvKiBSZXNvbHZlIGFueSBk eW5hbWljIHRhcmdldCB0eXBlLCBhcyB3ZSBtaWdodCBwcmludAotKyAgICAgYWRkaXRpb25hbCBp bmZvcm1hdGlvbiBhYm91dCB0aGUgdGFyZ2V0LgotKyAgICAgRm9yIGV4YW1wbGUsIGluIEZvcnRy YW4gYW5kIEMgd2UgYXJlIHByaW50aW5nIHRoZSBkaW1lbnNpb24gb2YgdGhlCi0rICAgICBkeW5h bWljIGFycmF5IHRoZSBwb2ludGVyIGlzIHBvaW50aW5nIHRvLiAgKi8KLSsgIGlmICh0eXBlLT5j b2RlICgpID09IFRZUEVfQ09ERV9QVFIKLSsgICAgICAmJiBpc19keW5hbWljX3R5cGUgKHR5cGUp ID09IDEpCi0rICAgIHsKLSsgICAgICBDT1JFX0FERFIgYWRkciA9IHZhbHVlX2FzX2FkZHJlc3Mg KHZhbCk7Ci0rCi0rICAgICAgaWYgKGFkZHIgIT0gMAotKwkgICYmIHR5cGVfbm90X2Fzc29jaWF0 ZWQgKHR5cGUpID09IDApCi0rCXsKLSsJICB0eXBlID0gY29weV90eXBlICh0eXBlKTsKLSsJICBU WVBFX1RBUkdFVF9UWVBFICh0eXBlKSA9IHJlc29sdmVfZHluYW1pY190eXBlIChUWVBFX1RBUkdF VF9UWVBFICh0eXBlKSwKLSsJCQkJCQkJICB7fSwgYWRkcik7Ci0rCX0KLSsgICAgfQotKwotICAg TEFfUFJJTlRfVFlQRSAodHlwZSwgIiIsIGdkYl9zdGRvdXQsIHNob3csIDAsICZmbGFncyk7Ci0g ICBwcmludGZfZmlsdGVyZWQgKCJcbiIpOwotIH0KLWRpZmYgLS1naXQgYS9nZGIvdmFsb3BzLmMg Yi9nZGIvdmFsb3BzLmMKLS0tLSBhL2dkYi92YWxvcHMuYwotKysrIGIvZ2RiL3ZhbG9wcy5jCi1A QCAtMTU1NCw2ICsxNTU0LDE4IEBAIHZhbHVlX2luZCAoc3RydWN0IHZhbHVlICphcmcxKQotICAg ICB7Ci0gICAgICAgc3RydWN0IHR5cGUgKmVuY190eXBlOwotIAotKyAgICAgIGlmICh0eXBlX25v dF9hc3NvY2lhdGVkIChiYXNlX3R5cGUpKQotKyAgICAgICAgZXJyb3IgKF8oIkF0dGVtcHQgdG8g dGFrZSBjb250ZW50cyBvZiBhIG5vdCBhc3NvY2lhdGVkIHBvaW50ZXIuIikpOwotKwotKyAgICAg IENPUkVfQUREUiBhZGRyID0gdmFsdWVfYXNfYWRkcmVzcyAoYXJnMSk7Ci0rCi0rICAgICAgaWYg KGFkZHIgIT0gMCAmJiBpc19keW5hbWljX3R5cGUgKGJhc2VfdHlwZSkpCi0rCXsKLSsJICBiYXNl X3R5cGUgPSBjb3B5X3R5cGUgKGJhc2VfdHlwZSk7Ci0rCSAgVFlQRV9UQVJHRVRfVFlQRSAoYmFz ZV90eXBlKSA9Ci0rCSAgICAgIHJlc29sdmVfZHluYW1pY190eXBlIChUWVBFX1RBUkdFVF9UWVBF IChiYXNlX3R5cGUpLCB7fSwgYWRkcik7Ci0rCX0KLSsKLSAgICAgICAvKiBXZSBtYXkgYmUgcG9p bnRpbmcgdG8gc29tZXRoaW5nIGVtYmVkZGVkIGluIGEgbGFyZ2VyIG9iamVjdC4KLSAgICAgICAg ICBHZXQgdGhlIHJlYWwgdHlwZSBvZiB0aGUgZW5jbG9zaW5nIG9iamVjdC4gICovCi0gICAgICAg ZW5jX3R5cGUgPSBjaGVja190eXBlZGVmICh2YWx1ZV9lbmNsb3NpbmdfdHlwZSAoYXJnMSkpOwot QEAgLTE1NzAsOCArMTU4Miw3IEBAIHZhbHVlX2luZCAoc3RydWN0IHZhbHVlICphcmcxKQotICAg ICAgIGVsc2UKLSAJewotIAkgIC8qIFJldHJpZXZlIHRoZSBlbmNsb3Npbmcgb2JqZWN0IHBvaW50 ZWQgdG8uICAqLwotLQkgIGJhc2VfYWRkciA9ICh2YWx1ZV9hc19hZGRyZXNzIChhcmcxKQotLQkJ ICAgICAgIC0gdmFsdWVfcG9pbnRlZF90b19vZmZzZXQgKGFyZzEpKTsKLSsJICBiYXNlX2FkZHIg PSAoYWRkciAtIHZhbHVlX3BvaW50ZWRfdG9fb2Zmc2V0IChhcmcxKSk7Ci0gCX0KLSAgICAgICBh cmcyID0gdmFsdWVfYXRfbGF6eSAoZW5jX3R5cGUsIGJhc2VfYWRkcik7Ci0gICAgICAgZW5jX3R5 cGUgPSB2YWx1ZV90eXBlIChhcmcyKTsKCmRpZmYgLS1naXQgYS9nZGItdmxhLWludGVsLXRlc3Rz LnBhdGNoIGIvZ2RiLXZsYS1pbnRlbC10ZXN0cy5wYXRjaAppbmRleCBjOGVkNDAxLi5iMmZlYmI2 IDEwMDY0NAotLS0gYS9nZGItdmxhLWludGVsLXRlc3RzLnBhdGNoCisrKyBiL2dkYi12bGEtaW50 ZWwtdGVzdHMucGF0Y2gKQEAgLTE0NywxNTQgKzE0NywzIEBAIG5ldyBmaWxlIG1vZGUgMTAwNjQ0 CiArCiArICByZXQgPSAuVFJVRS4gICAgICAgICAgICAgICAgISBmdW5jMi1yZXR1cm5lZAogK2Vu ZCBwcm9ncmFtIHZsYV9mdW5jCi1kaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJh bi92bGEtc3RyaW5nc29sZC5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1zdHJp bmdzb2xkLmV4cAotbmV3IGZpbGUgbW9kZSAxMDA2NDQKLS0tLSAvZGV2L251bGwKLSsrKyBiL2dk Yi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vdmxhLXN0cmluZ3NvbGQuZXhwCi1AQCAtMCwwICsxLDEw MSBAQAotKyMgQ29weXJpZ2h0IDIwMTQgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCi0r Ci0rIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUg aXQgYW5kL29yIG1vZGlmeQotKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJh bCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLSsjIHRoZSBGcmVlIFNvZnR3YXJlIEZv dW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCi0rIyAoYXQgeW91 ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotKyMKLSsjIFRoaXMgcHJvZ3JhbSBpcyBkaXN0 cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotKyMgYnV0IFdJVEhP VVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSsj IE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNl ZSB0aGUKLSsjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0r IwotKyMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwg UHVibGljIExpY2Vuc2UKLSsjIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUg PGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgotKwotK3N0YW5kYXJkX3Rlc3RmaWxlICIu ZjkwIgotKwotK2lmIHsgW3ByZXBhcmVfZm9yX3Rlc3RpbmcgJHt0ZXN0ZmlsZX0uZXhwICR7dGVz dGZpbGV9ICR7c3JjZmlsZX0gXAotKyAgICB7ZGVidWcgZjkwIHF1aWV0fV0gfSB7Ci0rICAgIHJl dHVybiAtMQotK30KLSsKLSsjIGNoZWNrIHRoYXQgYWxsIGZvcnRyYW4gc3RhbmRhcmQgZGF0YXR5 cGVzIHdpbGwgYmUKLSsjIGhhbmRsZWQgY29ycmVjdGx5IHdoZW4gdXNpbmcgYXMgVkxBJ3MKLSsK LStpZiAhW3J1bnRvIE1BSU5fX10gdGhlbiB7Ci0rICAgIHBlcnJvciAiY291bGRuJ3QgcnVuIHRv IGJyZWFrcG9pbnQgTUFJTl9fIgotKyAgICBjb250aW51ZQotK30KLSsKLStnZGJfYnJlYWtwb2lu dCBbZ2RiX2dldF9saW5lX251bWJlciAidmFyX2NoYXItYWxsb2NhdGVkLTEiXQotK2dkYl9jb250 aW51ZV90b19icmVha3BvaW50ICJ2YXJfY2hhci1hbGxvY2F0ZWQtMSIKLStnZGJfdGVzdCAicHJp bnQgdmFyX2NoYXIiIFwKLSsgICIgPSBcXChQVFIgVE8gLT4gXFwoIGNoYXJhY3RlclxcKjEwIFxc KVxcKSAke2hleH0iIFwKLSsgICJwcmludCB2YXJfY2hhciBhZnRlciBhbGxvY2F0ZWQgZmlyc3Qg dGltZSIKLStnZGJfdGVzdCAid2hhdGlzIHZhcl9jaGFyIiAidHlwZSA9IFBUUiBUTyAtPiBcXCgg Y2hhcmFjdGVyXFwqMTAgXFwpIiBcCi0rICAid2hhdGlzIHZhcl9jaGFyIGZpcnN0IHRpbWUiCi0r Z2RiX3Rlc3QgInB0eXBlIHZhcl9jaGFyIiAidHlwZSA9IFBUUiBUTyAtPiBcXCggY2hhcmFjdGVy XFwqMTAgXFwpIiBcCi0rICAicHR5cGUgdmFyX2NoYXIgZmlyc3QgdGltZSIKLStnZGJfdGVzdCAi bmV4dCIgIlxcZCsuKnZhcl9jaGFyID0gJ2ZvbycuKiIgXAotKyAgIm5leHQgdG8gYWxsb2NhdGlv biBzdGF0dXMgb2YgdmFyX2NoYXIiCi0rZ2RiX3Rlc3QgInByaW50IGwiICIgPSAuVFJVRS4iICJw cmludCBhbGxvY2F0aW9uIHN0YXR1cyBmaXJzdCB0aW1lIgotKwotK2dkYl9icmVha3BvaW50IFtn ZGJfZ2V0X2xpbmVfbnVtYmVyICJ2YXJfY2hhci1maWxsZWQtMSJdCi0rZ2RiX2NvbnRpbnVlX3Rv X2JyZWFrcG9pbnQgInZhcl9jaGFyLWZpbGxlZC0xIgotK2dkYl90ZXN0ICJwcmludCB2YXJfY2hh ciIgXAotKyAgIiA9IFxcKFBUUiBUTyAtPiBcXCggY2hhcmFjdGVyXFwqMyBcXClcXCkgJHtoZXh9 IiBcCi0rICAicHJpbnQgdmFyX2NoYXIgYWZ0ZXIgZmlsbGVkIGZpcnN0IHRpbWUiCi0rZ2RiX3Rl c3QgInByaW50ICp2YXJfY2hhciIgIiA9ICdmb28nIiBcCi0rICAicHJpbnQgKnZhcl9jaGFyIGFm dGVyIGZpbGxlZCBmaXJzdCB0aW1lIgotK2dkYl90ZXN0ICJ3aGF0aXMgdmFyX2NoYXIiICJ0eXBl ID0gUFRSIFRPIC0+IFxcKCBjaGFyYWN0ZXJcXCozIFxcKSIgXAotKyAgIndoYXRpcyB2YXJfY2hh ciBhZnRlciBmaWxsZWQgZmlyc3QgdGltZSIKLStnZGJfdGVzdCAicHR5cGUgdmFyX2NoYXIiICJ0 eXBlID0gUFRSIFRPIC0+IFxcKCBjaGFyYWN0ZXJcXCozIFxcKSIgXAotKyAgInB0eXBlIHZhcl9j aGFyIGFmdGVyIGZpbGxlZCBmaXJzdCB0aW1lIgotK2dkYl90ZXN0ICJwcmludCB2YXJfY2hhcigx KSIgIiA9IDEwMiAnZiciICJwcmludCB2YXJfY2hhcigxKSIKLStnZGJfdGVzdCAicHJpbnQgdmFy X2NoYXIoMykiICIgPSAxMTEgJ28nIiAicHJpbnQgdmFyX2NoYXIoMykiCi0rCi0rZ2RiX2JyZWFr cG9pbnQgW2dkYl9nZXRfbGluZV9udW1iZXIgInZhcl9jaGFyLWZpbGxlZC0yIl0KLStnZGJfY29u dGludWVfdG9fYnJlYWtwb2ludCAidmFyX2NoYXItZmlsbGVkLTIiCi0rZ2RiX3Rlc3QgInByaW50 IHZhcl9jaGFyIiBcCi0rICAiID0gXFwoUFRSIFRPIC0+IFxcKCBjaGFyYWN0ZXJcXCo2IFxcKVxc KSAke2hleH0iIFwKLSsgICJwcmludCB2YXJfY2hhciBhZnRlciBhbGxvY2F0ZWQgc2Vjb25kIHRp bWUiCi0rZ2RiX3Rlc3QgInByaW50ICp2YXJfY2hhciIgIiA9ICdmb29iYXInIiBcCi0rICAicHJp bnQgKnZhcl9jaGFyIGFmdGVyIGFsbG9jYXRlZCBzZWNvbmQgdGltZSIKLStnZGJfdGVzdCAid2hh dGlzIHZhcl9jaGFyIiAidHlwZSA9IFBUUiBUTyAtPiBcXCggY2hhcmFjdGVyXFwqNiBcXCkiIFwK LSsgICJ3aGF0aXMgdmFyX2NoYXIgc2Vjb25kIHRpbWUiCi0rZ2RiX3Rlc3QgInB0eXBlIHZhcl9j aGFyIiAidHlwZSA9IFBUUiBUTyAtPiBcXCggY2hhcmFjdGVyXFwqNiBcXCkiIFwKLSsgICJwdHlw ZSB2YXJfY2hhciBzZWNvbmQgdGltZSIKLSsKLStnZGJfYnJlYWtwb2ludCBbZ2RiX2dldF9saW5l X251bWJlciAidmFyX2NoYXItZW1wdHkiXQotK2dkYl9jb250aW51ZV90b19icmVha3BvaW50ICJ2 YXJfY2hhci1lbXB0eSIKLStnZGJfdGVzdCAicHJpbnQgdmFyX2NoYXIiIFwKLSsgICIgPSBcXChQ VFIgVE8gLT4gXFwoIGNoYXJhY3RlclxcKjAgXFwpXFwpICR7aGV4fSIgXAotKyAgInByaW50IHZh cl9jaGFyIGFmdGVyIHNldCBlbXB0eSIKLStnZGJfdGVzdCAicHJpbnQgKnZhcl9jaGFyIiAiID0g XCJcIiIgInByaW50ICp2YXJfY2hhciBhZnRlciBzZXQgZW1wdHkiCi0rZ2RiX3Rlc3QgIndoYXRp cyB2YXJfY2hhciIgInR5cGUgPSBQVFIgVE8gLT4gXFwoIGNoYXJhY3RlclxcKjAgXFwpIiBcCi0r ICAid2hhdGlzIHZhcl9jaGFyIGFmdGVyIHNldCBlbXB0eSIKLStnZGJfdGVzdCAicHR5cGUgdmFy X2NoYXIiICJ0eXBlID0gUFRSIFRPIC0+IFxcKCBjaGFyYWN0ZXJcXCowIFxcKSIgXAotKyAgInB0 eXBlIHZhcl9jaGFyIGFmdGVyIHNldCBlbXB0eSIKLSsKLStnZGJfYnJlYWtwb2ludCBbZ2RiX2dl dF9saW5lX251bWJlciAidmFyX2NoYXItYWxsb2NhdGVkLTMiXQotK2dkYl9jb250aW51ZV90b19i cmVha3BvaW50ICJ2YXJfY2hhci1hbGxvY2F0ZWQtMyIKLStnZGJfdGVzdCAicHJpbnQgdmFyX2No YXIiIFwKLSsgICIgPSBcXChQVFIgVE8gLT4gXFwoIGNoYXJhY3RlclxcKjIxIFxcKVxcKSAke2hl eH0iIFwKLSsgICJwcmludCB2YXJfY2hhciBhZnRlciBhbGxvY2F0ZWQgdGhpcmQgdGltZSIKLStn ZGJfdGVzdCAid2hhdGlzIHZhcl9jaGFyIiAidHlwZSA9IFBUUiBUTyAtPiBcXCggY2hhcmFjdGVy XFwqMjEgXFwpIiBcCi0rICAid2hhdGlzIHZhcl9jaGFyIGFmdGVyIGFsbG9jYXRlZCB0aGlyZCB0 aW1lIgotK2dkYl90ZXN0ICJwdHlwZSB2YXJfY2hhciIgInR5cGUgPSBQVFIgVE8gLT4gXFwoIGNo YXJhY3RlclxcKjIxIFxcKSIgXAotKyAgInB0eXBlIHZhcl9jaGFyIGFmdGVyIGFsbG9jYXRlZCB0 aGlyZCB0aW1lIgotKwotK2dkYl9icmVha3BvaW50IFtnZGJfZ2V0X2xpbmVfbnVtYmVyICJ2YXJf Y2hhcl9wLWFzc29jaWF0ZWQiXQotK2dkYl9jb250aW51ZV90b19icmVha3BvaW50ICJ2YXJfY2hh cl9wLWFzc29jaWF0ZWQiCi0rZ2RiX3Rlc3QgInByaW50IHZhcl9jaGFyX3AiIFwKLSsgICIgPSBc XChQVFIgVE8gLT4gXFwoIGNoYXJhY3RlclxcKjcgXFwpXFwpICR7aGV4fSIgXAotKyAgInByaW50 IHZhcl9jaGFyX3AgYWZ0ZXIgYXNzb2NpYXRlZCIKLStnZGJfdGVzdCAicHJpbnQgKnZhcl9jaGFy X3AiICIgPSAnam9obmRvZSciIFwKLSsgICJwcmludCAqdmFyX2NoYXJfIGFmdGVyIGFzc29jaWF0 ZWQiCi0rZ2RiX3Rlc3QgIndoYXRpcyB2YXJfY2hhcl9wIiAidHlwZSA9IFBUUiBUTyAtPiBcXCgg Y2hhcmFjdGVyXFwqNyBcXCkiIFwKLSsgICJ3aGF0aXMgdmFyX2NoYXJfcCBhZnRlciBhc3NvY2lh dGVkIgotK2dkYl90ZXN0ICJwdHlwZSB2YXJfY2hhcl9wIiAidHlwZSA9IFBUUiBUTyAtPiBcXCgg Y2hhcmFjdGVyXFwqNyBcXCkiIFwKLSsgICJwdHlwZSB2YXJfY2hhcl9wIGFmdGVyIGFzc29jaWF0 ZWQiCi1kaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi92bGEtc3RyaW5nc29s ZC5mOTAgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL3ZsYS1zdHJpbmdzb2xkLmY5MAotbmV3 IGZpbGUgbW9kZSAxMDA2NDQKLS0tLSAvZGV2L251bGwKLSsrKyBiL2dkYi90ZXN0c3VpdGUvZ2Ri LmZvcnRyYW4vdmxhLXN0cmluZ3NvbGQuZjkwCi1AQCAtMCwwICsxLDQwIEBACi0rISBDb3B5cmln aHQgMjAxNCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KLSshCi0rISBUaGlzIHByb2dy YW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlm eQotKyEgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5z ZSBhcyBwdWJsaXNoZWQgYnkKLSshIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhl ciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCi0rISAoYXQgeW91ciBvcHRpb24pIGFueSBs YXRlciB2ZXJzaW9uLgotKyEKLSshIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUg aG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotKyEgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZ OyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSshIE1FUkNIQU5UQUJJTElU WSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKLSshIEdOVSBH ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0rIQotKyEgWW91IHNob3Vs ZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UK LSshIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNv ZnR3YXJlCi0rISBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UgLSBTdWl0ZSAzMzAs IEJvc3RvbiwgTUEgMDIxMTEtMTMwNywgVVNBLgotKwotK3Byb2dyYW0gdmxhX3N0cmluZ3MKLSsg IGNoYXJhY3RlcihsZW49OiksIHRhcmdldCwgYWxsb2NhdGFibGUgICA6OiB2YXJfY2hhcgotKyAg Y2hhcmFjdGVyKGxlbj06KSwgcG9pbnRlciAgICAgICAgICAgICAgIDo6IHZhcl9jaGFyX3AKLSsg IGxvZ2ljYWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6OiBsCi0rCi0rICBhbGxv Y2F0ZShjaGFyYWN0ZXIobGVuPTEwKSA6OiB2YXJfY2hhcikKLSsgIGwgPSBhbGxvY2F0ZWQodmFy X2NoYXIpICAgICAgICAgICAgICAgICAhIHZhcl9jaGFyLWFsbG9jYXRlZC0xCi0rICB2YXJfY2hh ciA9ICdmb28nCi0rICBkZWFsbG9jYXRlKHZhcl9jaGFyKSAgICAgICAgICAgICAgICAgICAgISB2 YXJfY2hhci1maWxsZWQtMQotKyAgbCA9IGFsbG9jYXRlZCh2YXJfY2hhcikgICAgICAgICAgICAg ICAgICEgdmFyX2NoYXItZGVhbGxvY2F0ZWQKLSsgIGFsbG9jYXRlKGNoYXJhY3RlcihsZW49NDIp IDo6IHZhcl9jaGFyKQotKyAgbCA9IGFsbG9jYXRlZCh2YXJfY2hhcikKLSsgIHZhcl9jaGFyID0g J2Zvb2JhcicKLSsgIHZhcl9jaGFyID0gJycgICAgICAgICAgICAgICAgICAgICAgICAgICAhIHZh cl9jaGFyLWZpbGxlZC0yCi0rICB2YXJfY2hhciA9ICdiYXInICAgICAgICAgICAgICAgICAgICAg ICAgISB2YXJfY2hhci1lbXB0eQotKyAgZGVhbGxvY2F0ZSh2YXJfY2hhcikKLSsgIGFsbG9jYXRl KGNoYXJhY3RlcihsZW49MjEpIDo6IHZhcl9jaGFyKQotKyAgbCA9IGFsbG9jYXRlZCh2YXJfY2hh cikgICAgICAgICAgICAgICAgICEgdmFyX2NoYXItYWxsb2NhdGVkLTMKLSsgIHZhcl9jaGFyID0g J2pvaG5kb2UnCi0rICB2YXJfY2hhcl9wID0+IHZhcl9jaGFyCi0rICBsID0gYXNzb2NpYXRlZCh2 YXJfY2hhcl9wKSAgICAgICAgICAgICAgISB2YXJfY2hhcl9wLWFzc29jaWF0ZWQKLSsgIHZhcl9j aGFyX3AgPT4gbnVsbCgpCi0rICBsID0gYXNzb2NpYXRlZCh2YXJfY2hhcl9wKSAgICAgICAgICAg ICAgISB2YXJfY2hhcl9wLW5vdC1hc3NvY2lhdGVkCi0rZW5kIHByb2dyYW0gdmxhX3N0cmluZ3MK CmRpZmYgLS1naXQgYS9nZGIuc3BlYyBiL2dkYi5zcGVjCmluZGV4IGRiZGUwMTUuLjVlZjUxMWQg MTAwNjQ0Ci0tLSBhL2dkYi5zcGVjCisrKyBiL2dkYi5zcGVjCkBAIC0zNyw3ICszNyw3IEBAIFZl cnNpb246IDEwLjEKIAogIyBUaGUgcmVsZWFzZSBhbHdheXMgY29udGFpbnMgYSBsZWFkaW5nIHJl c2VydmVkIG51bWJlciwgc3RhcnQgaXQgYXQgMS4KICMgYHVwc3RyZWFtJyBpcyBub3QgYSBwYXJ0 IG9mIGBuYW1lJyB0byBzdGF5IGZ1bGx5IHJwbSBkZXBlbmRlbmNpZXMgY29tcGF0aWJsZSBmb3Ig dGhlIHRlc3RpbmcuCi1SZWxlYXNlOiAxMiV7P2Rpc3R9CitSZWxlYXNlOiAxMyV7P2Rpc3R9CiAK IExpY2Vuc2U6IEdQTHYzKyBhbmQgR1BMdjMrIHdpdGggZXhjZXB0aW9ucyBhbmQgR1BMdjIrIGFu ZCBHUEx2Misgd2l0aCBleGNlcHRpb25zIGFuZCBHUEwrIGFuZCBMR1BMdjIrIGFuZCBMR1BMdjMr IGFuZCBCU0QgYW5kIFB1YmxpYyBEb21haW4gYW5kIEdGREwKICMgRG8gbm90IHByb3ZpZGUgVVJM IGZvciBzbmFwc2hvdHMgYXMgdGhlIGZpbGUgbGFzdHMgdGhlcmUgb25seSBmb3IgMiBkYXlzLgpA QCAtMTE5NSw2ICsxMTk1LDEwIEBAIGZpCiAlZW5kaWYKIAogJWNoYW5nZWxvZworKiBGcmkgTWFy ICA1IDIwMjEgSmFuIEtyYXRvY2h2aWwgPGphbi5rcmF0b2NodmlsQHJlZGhhdC5jb20+IC0gMTAu MS0xMworLSBEcm9wIGdkYi12bGEtaW50ZWwtZm9ydHJhbi12bGEtc3RyaW5ncy5wYXRjaCBhcyBp dCB3YXMgc3RpbGwgcmVncmVzc2luZyB0aGUKKyAgdGVzdHN1aXRlLgorCiAqIFRodSBNYXIgIDQg MjAyMSBKYW4gS3JhdG9jaHZpbCA8amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNvbT4gLSAxMC4xLTEy CiAtIEZpeCBnZGItdmxhLWludGVsLWZvcnRyYW4tdmxhLXN0cmluZ3MucGF0Y2ggdG8gbm8gbG9u Z2VyIG1vZGlmeSBjYWNoZWQKICAgaW5mZXJpb3IgdHlwZXMuCg==