From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 From: =?utf-8?b?THVrw6HFoSBaYW9yYWwgPGx6YW9yYWxAcmVkaGF0LmNvbT4=?= To: git-commits@fedoraproject.org Subject: [rpms/tftp] rawhide: sync patches with upstream and enable upstream test-suite Date: Mon, 14 Sep 2026 08:20:59 GMT Message-ID: <178937405915.1.12628532244713718691.rpms-tftp-f2db3dbe0e72@fedoraproject.org> List-ID: X-Git-Repo: rpms/tftp X-Git-Branch: rawhide X-Git-Rev: f2db3dbe0e72bb74d1134fa4752370eceeee947a QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvdGZ0cApCcmFuY2gg OiByYXdoaWRlCkNvbW1pdCA6IGYyZGIzZGJlMGU3MmJiNzRkMTEzNGZhNDc1MjM3MGVjZWVlZTk0 N2EKQXV0aG9yIDogTHVrw6HFoSBaYW9yYWwgPGx6YW9yYWxAcmVkaGF0LmNvbT4KRGF0ZSAgIDog MjAyNi0wOS0xMVQxMzoxODoyOSswMjowMApTdGF0cyAgOiArMzkyLy0xNzkgaW4gNiBmaWxlKHMp ClVSTCAgICA6IGh0dHBzOi8vc3JjLmZlZG9yYXByb2plY3Qub3JnL3JwbXMvdGZ0cC9jL2YyZGIz ZGJlMGU3MmJiNzRkMTEzNGZhNDc1MjM3MGVjZWVlZTk0N2E/YnJhbmNoPXJhd2hpZGUKCkxvZzoK c3luYyBwYXRjaGVzIHdpdGggdXBzdHJlYW0gYW5kIGVuYWJsZSB1cHN0cmVhbSB0ZXN0LXN1aXRl CgotLS0KZGlmZiAtLWdpdCBhL3RmdHAtMC40Mi10ZnRwYm9vdC5wYXRjaCBiL3RmdHAtMC40Mi10 ZnRwYm9vdC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmJkNzIxOC4uMDAw MDAwMAotLS0gYS90ZnRwLTAuNDItdGZ0cGJvb3QucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw1 NyArMCwwIEBACi1kaWZmIC0tZ2l0IGEvUkVBRE1FLnNlY3VyaXR5IGIvUkVBRE1FLnNlY3VyaXR5 Ci1pbmRleCA4ZmY5ZTg1Li5kZjJmYTM4IDEwMDY0NAotLS0tIGEvUkVBRE1FLnNlY3VyaXR5Ci0r KysgYi9SRUFETUUuc2VjdXJpdHkKLUBAIC0yMywxMCArMjMsMTAgQEAgcHJvYmFibHkgdGhlIGZv bGxvd2luZzoKLSAKLSAxLiBDcmVhdGUgYSBzZXBhcmF0ZSAidGZ0cGQiIHVzZXIgYW5kIGdyb3Vw IG9ubHkgdXNlZCBmb3IgdGZ0cGQ7Ci0gMi4gSGF2ZSBhbGwgeW91ciBib290IGZpbGVzIGluIGEg c2luZ2xlIGRpcmVjdG9yeSB0cmVlICh1c3VhbGx5IGNhbGxlZAotLSAgIC90ZnRwYm9vdCkuCi0t My4gU3BlY2lmeSAiLXAgLXUgdGZ0cGQgLXMgL3RmdHBib290IiBvbiB0aGUgdGZ0cGQgY29tbWFu ZCBsaW5lOyBpZgotKyAgIC92YXIvbGliL3RmdHBib290KS4KLSszLiBTcGVjaWZ5ICItcCAtdSB0 ZnRwZCAtcyAvdmFyL2xpYi90ZnRwYm9vdCIgb24gdGhlIHRmdHBkIGNvbW1hbmQgbGluZTsgaWYK LSAgICB5b3Ugd2FudCBjbGllbnRzIHRvIGJlIGFibGUgdG8gY3JlYXRlIGZpbGVzIHVzZQotLSAg ICItcCAtYyAtVSAwMDIgLXUgdGZ0cGQgLXMgL3RmdHBib290IiAocmVwbGFjZSAwMDIgd2l0aCB3 aGF0ZXZlcgotKyAgICItcCAtYyAtVSAwMDIgLXUgdGZ0cGQgLXMgL3Zhci9saWIvdGZ0cGJvb3Qi IChyZXBsYWNlIDAwMiB3aXRoIHdoYXRldmVyCi0gICAgdW1hc2sgaXMgYXBwcm9wcmlhdGUgZm9y IHlvdXIgc2V0dXAuKQotIAotIFdoZW4gdGhlIC1zIChjaHJvb3QpIG9wdGlvbiBpcyB1c2VkLCB0 ZnRwZCBuZWVkcyB0byBiZSBzdGFydGVkIGFzCi1AQCAtNTEsMTIgKzUxLDEyIEBAIGRpcmVjdGx5 LiAgVGh1cywgaWYgeW91ciAvZXRjL2luZXRkLmNvbmYgbG9va3MgbGlrZSB0aGlzIChhbGwgb24g b25lCi0gbGluZSk6Ci0gCi0gdGZ0cAlkZ3JhbQl1ZHAJd2FpdAlyb290CS91c3Ivc2Jpbi90Y3Bk Ci0tL3Vzci9zYmluL2luLnRmdHBkIC1zIC90ZnRwYm9vdCAtciBibGtzaXplCi0rL3Vzci9zYmlu L2luLnRmdHBkIC1zIC92YXIvbGliL3RmdHBib290IC1yIGJsa3NpemUKLSAKLSAuLi4gaXQncyBi ZXR0ZXIgdG8gY2hhbmdlIHRvIC4uLgotIAotIHRmdHAJZGdyYW0JdWRwCXdhaXQJcm9vdAkvdXNy L3NiaW4vaW4udGZ0cGQKLS1pbi50ZnRwZCAtcyAvdGZ0cGJvb3QgLXIgYmxrc2l6ZQotK2luLnRm dHBkIC1zIC92YXIvbGliL3RmdHBib290IC1yIGJsa3NpemUKLSAKLSBZb3Ugc2hvdWxkIG1ha2Ug c3VyZSB0aGF0IHlvdSBhcmUgdXNpbmcgIndhaXQiIG9wdGlvbiBpbiB0ZnRwZDsgeW91Ci0gYWxz byBuZWVkIHRvIGhhdmUgdGZ0cGQgc3Bhd25lZCBhcyByb290IGluIG9yZGVyIGZvciBjaHJvb3Qg KC1zKSB0bwotZGlmZiAtLWdpdCBhL3RmdHAteGluZXRkIGIvdGZ0cC14aW5ldGQKLWluZGV4IDk4 MmZlMDkuLmQwNGI0OGEgMTAwNjQ0Ci0tLS0gYS90ZnRwLXhpbmV0ZAotKysrIGIvdGZ0cC14aW5l dGQKLUBAIC0xMCw3ICsxMCw3IEBAIHNlcnZpY2UgdGZ0cAotIAl3YWl0CQkJPSB5ZXMKLSAJdXNl cgkJCT0gcm9vdAotIAlzZXJ2ZXIJCQk9IC91c3Ivc2Jpbi9pbi50ZnRwZAotLQlzZXJ2ZXJfYXJn cwkJPSAtcyAvdGZ0cGJvb3QKLSsJc2VydmVyX2FyZ3MJCT0gLXMgL3Zhci9saWIvdGZ0cGJvb3QK LSAJZGlzYWJsZQkJCT0geWVzCi0gCXBlcl9zb3VyY2UJCT0gMTEKLSAJY3BzCQkJPSAxMDAgMgot ZGlmZiAtLWdpdCBhL3RmdHBkL3NhbXBsZS5ydWxlcyBiL3RmdHBkL3NhbXBsZS5ydWxlcwotaW5k ZXggNTViNTZiZS4uMTc0MWE0YyAxMDA2NDQKLS0tLSBhL3RmdHBkL3NhbXBsZS5ydWxlcwotKysr IGIvdGZ0cGQvc2FtcGxlLnJ1bGVzCi1AQCAtMjksNSArMjksNSBAQCByZwlcXAkJLwkJIyBDb252 ZXJ0IGJhY2tzbGFzaGVzIHRvIHNsYXNoZXMKLSByZwlcIwkJQAkJIyBDb252ZXJ0IGhhc2ggbWFy a3MgdG8gQCBzaWducwotIHJnCS8uLi8JCS8uLm5vLi4vCSMgQ29udmVydCAvLi4vIHRvIC8uLm5v Li4vCi0gZQleb2svCQkJCSMgVGhlc2UgYXJlIGFsd2F5cyBvawotLXIJXlteL10JCS90ZnRwYm9v dC9cMAkjIENvbnZlcnQgbm9uLWFic29sdXRlIGZpbGVzCi0rcgleW14vXQkJL3Zhci9saWIvdGZ0 cGJvb3QvXDAJIyBDb252ZXJ0IG5vbi1hYnNvbHV0ZSBmaWxlcwotIGEJXC5wdnQkCQkJCSMgUmVq ZWN0IHJlcXVlc3RzIGZvciBwcml2YXRlIGZpbGVzCgpkaWZmIC0tZ2l0IGEvdGZ0cC1lbmhhbmNl ZC1sb2dnaW5nLnBhdGNoIGIvdGZ0cC1lbmhhbmNlZC1sb2dnaW5nLnBhdGNoCmluZGV4IDcxZjZl OTYuLjE4YjRhNzAgMTAwNjQ0Ci0tLSBhL3RmdHAtZW5oYW5jZWQtbG9nZ2luZy5wYXRjaAorKysg Yi90ZnRwLWVuaGFuY2VkLWxvZ2dpbmcucGF0Y2gKQEAgLTEsNzkgKzEsMTQ3IEBACitGcm9tIGFi OTNhMjQ1NzQ3YWRhODk0OGY0NTk0ZGU1NGE0YjJiMzBjNGI0NjIgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCitGcm9tOiAiSC4gUGV0ZXIgQW52aW4iIDxocGFAenl0b3IuY29tPgorRGF0ZTogVHVl LCA4IFNlcCAyMDI2IDE3OjMzOjQ3IC0wNzAwCitTdWJqZWN0OiBbUEFUQ0hdIHRmdHBkOiBsb2cg ZmFpbGVkIGFuZCBjb21wbGV0ZWQgdHJhbnNmZXJzCisKK0xvZyBmaWxlLW5vdC1mb3VuZCByZXF1 ZXN0cyBhbmQgc3VjY2Vzc2Z1bCB0cmFuc2ZlcnMgd2l0aCB0aGUgY2xpZW50IGFkZHJlc3MuCisK K1JldGFpbiB0aGUgcmVxdWVzdGVkIGZpbGVuYW1lIGJlZm9yZSBhbiB1cGxvYWQgcmV1c2VzIHRo ZSByZXF1ZXN0IGJ1ZmZlciBmb3IKK0RBVEEgcGFja2V0cywgc28gY29tcGxldGlvbiBsb2dnaW5n IGFsd2F5cyByZXBvcnRzIHRoZSBjb3JyZWN0IG5hbWUuCisKK0Jhc2VkIG9uIHBhdGNoIGZyb20g dGhlIEZlZG9yYSBTUlBNLgorCitTaWduZWQtb2ZmLWJ5OiBILiBQZXRlciBBbnZpbiA8aHBhQHp5 dG9yLmNvbT4KKy0tLQorIHRmdHBkL3RmdHBkLmMgfCA0MiArKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKystLS0tLS0tLS0KKyB0ZnRwZC90ZnRwZC5oIHwgIDYgKysrKy0tCisgMiBmaWxl cyBjaGFuZ2VkLCAzNyBpbnNlcnRpb25zKCspLCAxMSBkZWxldGlvbnMoLSkKKwogZGlmZiAtLWdp dCBhL3RmdHBkL3RmdHBkLmMgYi90ZnRwZC90ZnRwZC5jCi1pbmRleCBhYWYxZjljLi5iOGVmNGY0 IDEwMDY0NAoraW5kZXggODI4NzE2MS4uMTEwOWJiZiAxMDA2NDQKIC0tLSBhL3RmdHBkL3RmdHBk LmMKICsrKyBiL3RmdHBkL3RmdHBkLmMKLUBAIC0xMDU5LDcgKzEwNTksNyBAQCBpbnQgbWFpbihp bnQgYXJnYywgY2hhciAqKmFyZ3YpCitAQCAtMTA4MSw4ICsxMDgxLDEwIEBAIGludCBtYWluKGlu dCBhcmdjLCBjaGFyICoqYXJndikKICBzdGF0aWMgY2hhciAqcmV3cml0ZV9hY2Nlc3MoY29uc3Qg c3RydWN0IGZvcm1hdHMgKiwKICAJCQkgICAgY2hhciAqLCBpbnQsIGludCwgY29uc3QgY2hhciAq Kik7CiAgc3RhdGljIGludCB2YWxpZGF0ZV9hY2Nlc3MoY2hhciAqLCBpbnQsIGNvbnN0IHN0cnVj dCBmb3JtYXRzICosIGNvbnN0IGNoYXIgKiopOwogLXN0YXRpYyB2b2lkIHRmdHBfc2VuZGZpbGUo Y29uc3Qgc3RydWN0IGZvcm1hdHMgKiwgc3RydWN0IHRmdHBoZHIgKiwgaW50KTsKLStzdGF0aWMg dm9pZCB0ZnRwX3NlbmRmaWxlKGNvbnN0IHN0cnVjdCBmb3JtYXRzICosIHN0cnVjdCB0ZnRwaGRy ICosIGludCwgY2hhciAqKTsKLSBzdGF0aWMgdm9pZCB0ZnRwX3JlY3ZmaWxlKGNvbnN0IHN0cnVj dCBmb3JtYXRzICosIHN0cnVjdCB0ZnRwaGRyICosIGludCk7Cistc3RhdGljIHZvaWQgdGZ0cF9y ZWN2ZmlsZShjb25zdCBzdHJ1Y3QgZm9ybWF0cyAqLCBzdHJ1Y3QgdGZ0cGhkciAqLCBpbnQpOwor K3N0YXRpYyB2b2lkIHRmdHBfc2VuZGZpbGUoY29uc3Qgc3RydWN0IGZvcm1hdHMgKiwgc3RydWN0 IHRmdHBoZHIgKiwgaW50LAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAq KTsKKytzdGF0aWMgdm9pZCB0ZnRwX3JlY3ZmaWxlKGNvbnN0IHN0cnVjdCBmb3JtYXRzICosIHN0 cnVjdCB0ZnRwaGRyICosIGludCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNo YXIgKik7CiAgCiAgc3RhdGljIGNvbnN0IHN0cnVjdCBmb3JtYXRzIGZvcm1hdHNbXSA9IHsKLUBA IC0xMTUyLDYgKzExNTIsOSBAQCBzdGF0aWMgaW50IHRmdHAoc3RydWN0IHRmdHBoZHIgKnRwLCBp bnQgc2l6ZSkKKyAgICAgeworQEAgLTExMDEsNyArMTEwMyw3IEBAIHN0YXRpYyBpbnQgdGZ0cChz dHJ1Y3QgdGZ0cGhkciAqdHAsIGludCBzaXplKQorICAgICBjaGFyICpjcCwgKmVuZDsKKyAgICAg aW50IGFyZ24sIGVjb2RlOworICAgICBjb25zdCBzdHJ1Y3QgZm9ybWF0cyAqcGYgPSBOVUxMOwor LSAgICBjaGFyICpvcmlnZmlsZW5hbWU7CisrICAgIGNoYXIgKm9yaWdmaWxlbmFtZSwgKnJlcXVl c3RfZmlsZW5hbWU7CisgICAgIGNoYXIgKmZpbGVuYW1lLCAqbW9kZSA9IE5VTEw7CisgICAgIGNv bnN0IGNoYXIgKmVycm1zZ3B0cjsKKyAgICAgdWludDE2X3QgdHBfb3Bjb2RlID0gbnRvaHModHAt PnRoX29wY29kZSk7CitAQCAtMTE3NCw2ICsxMTc2LDkgQEAgc3RhdGljIGludCB0ZnRwKHN0cnVj dCB0ZnRwaGRyICp0cCwgaW50IHNpemUpCiAgCSAgICBpZiAoIWZpbGUpIHsKICAJCWVjb2RlID0K ICAJCSAgICAoKnBmLT5mX3ZhbGlkYXRlKSAoZmlsZW5hbWUsIHRwX29wY29kZSwgcGYsICZlcnJt c2dwdHIpOwotKwkJaWYgKGVjb2RlID09IDEpCi0rCQkgICAgdGZ0cGRfbG9nKExPR19OT1RJQ0Us ICJDbGllbnQgJXMgRmlsZSBub3QgZm91bmQgJXNcbiIsCisrCQlpZiAoZWNvZGUgPT0gRU5PVEZP VU5EKQorKwkJICAgIHRmdHBkX2xvZyhMT0dfTk9USUNFLCAiY2xpZW50ICVzOiBmaWxlIG5vdCBm b3VuZDogJXMiLAogKwkJCSAgICAgIHRtcF9wLCBmaWxlbmFtZSk7CiAgCQlpZiAoZWNvZGUpIHsK ICAJCSAgICBuYWsoZWNvZGUsIGVycm1zZ3B0cik7CiAgCQkgICAgZXhpdCgwKTsKLUBAIC0xMTc4 LDEyICsxMTgxLDEyIEBAIHN0YXRpYyBpbnQgdGZ0cChzdHJ1Y3QgdGZ0cGhkciAqdHAsIGludCBz aXplKQorQEAgLTExOTUsMTcgKzEyMDAsMjAgQEAgc3RhdGljIGludCB0ZnRwKHN0cnVjdCB0ZnRw aGRyICp0cCwgaW50IHNpemUpCisgCisgICAgIG5lZ290aWF0ZV93aW5kb3dzaXplKCZhcCk7Cisg ICAgIHRmdHBfc2V0X3NvY2tldF9idWZmZXJzKHBlZXIsIHNlZ3NpemUsIHdpbmRvd3NpemUsIHRw X29wY29kZSA9PSBSUlEpOworKyAgICByZXF1ZXN0X2ZpbGVuYW1lID0geHN0cmR1cChvcmlnZmls ZW5hbWUpOworIAorICAgICBpZiAoYXAgIT0gKGFja2J1ZiArIDIpKSB7CiAgICAgICAgICBpZiAo dHBfb3Bjb2RlID09IFdSUSkKLSAgICAgICAgICAgICAoKnBmLT5mX3JlY3YpIChwZiwgKHN0cnVj dCB0ZnRwaGRyICopYWNrYnVmLCBhcCAtIGFja2J1Zik7CistICAgICAgICAgICAgKCpwZi0+Zl9y ZWN2KSAocGYsIChzdHJ1Y3QgdGZ0cGhkciAqKWFja2J1ZiwgYXAgLSBhY2tidWYpOworKyAgICAg ICAgICAgICgqcGYtPmZfcmVjdikgKHBmLCAoc3RydWN0IHRmdHBoZHIgKilhY2tidWYsIGFwIC0g YWNrYnVmLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RfZmlsZW5hbWUpOwog ICAgICAgICAgZWxzZQogLSAgICAgICAgICAgICgqcGYtPmZfc2VuZCkgKHBmLCAoc3RydWN0IHRm dHBoZHIgKilhY2tidWYsIGFwIC0gYWNrYnVmKTsKLSsgICAgICAgICAgICAoKnBmLT5mX3NlbmQp IChwZiwgKHN0cnVjdCB0ZnRwaGRyICopYWNrYnVmLCBhcCAtIGFja2J1Ziwgb3JpZ2ZpbGVuYW1l KTsKKysgICAgICAgICAgICAoKnBmLT5mX3NlbmQpIChwZiwgKHN0cnVjdCB0ZnRwaGRyICopYWNr YnVmLCBhcCAtIGFja2J1ZiwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0X2Zp bGVuYW1lKTsKICAgICAgfSBlbHNlIHsKICAgICAgICAgIGlmICh0cF9vcGNvZGUgPT0gV1JRKQot ICAgICAgICAgICAgICgqcGYtPmZfcmVjdikgKHBmLCBOVUxMLCAwKTsKKy0gICAgICAgICAgICAo KnBmLT5mX3JlY3YpIChwZiwgTlVMTCwgMCk7CisrICAgICAgICAgICAgKCpwZi0+Zl9yZWN2KSAo cGYsIE5VTEwsIDAsIHJlcXVlc3RfZmlsZW5hbWUpOwogICAgICAgICAgZWxzZQogLSAgICAgICAg ICAgICgqcGYtPmZfc2VuZCkgKHBmLCBOVUxMLCAwKTsKLSsgICAgICAgICAgICAoKnBmLT5mX3Nl bmQpIChwZiwgTlVMTCwgMCwgb3JpZ2ZpbGVuYW1lKTsKKysgICAgICAgICAgICAoKnBmLT5mX3Nl bmQpIChwZiwgTlVMTCwgMCwgcmVxdWVzdF9maWxlbmFtZSk7CiAgICAgIH0KICAgICAgZXhpdCgw KTsgICAgICAgICAgICAgICAgICAgIC8qIFJlcXVlc3QgY29tcGxldGVkICovCiAgfQotQEAgLTE3 MTYsNyArMTcxOSw3IEBAIHN0YXRpYyBpbnQgdmFsaWRhdGVfYWNjZXNzKGNoYXIgKmZpbGVuYW1l LCBpbnQgbW9kZSwKK0BAIC0xNzQzLDcgKzE3NTEsOCBAQCBzdGF0aWMgaW50IHZhbGlkYXRlX2Fj Y2VzcyhjaGFyICpmaWxlbmFtZSwgaW50IG1vZGUsCiAgLyoKICAgKiBTZW5kIHRoZSByZXF1ZXN0 ZWQgZmlsZS4KICAgKi8KIC1zdGF0aWMgdm9pZCB0ZnRwX3NlbmRmaWxlKGNvbnN0IHN0cnVjdCBm b3JtYXRzICpwZiwgc3RydWN0IHRmdHBoZHIgKm9hcCwgaW50IG9hY2tsZW4pCi0rc3RhdGljIHZv aWQgdGZ0cF9zZW5kZmlsZShjb25zdCBzdHJ1Y3QgZm9ybWF0cyAqcGYsIHN0cnVjdCB0ZnRwaGRy ICpvYXAsIGludCBvYWNrbGVuLCBjaGFyICpmaWxlbmFtZSkKKytzdGF0aWMgdm9pZCB0ZnRwX3Nl bmRmaWxlKGNvbnN0IHN0cnVjdCBmb3JtYXRzICpwZiwgc3RydWN0IHRmdHBoZHIgKm9hcCwKKysg ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBvYWNrbGVuLCBjb25zdCBjaGFyICpmaWxlbmFt ZSkKICB7CiAgICAgIHN0cnVjdCB0ZnRwaGRyICphcDsgICAgICAgICAvKiBhY2sgcGFja2V0ICov CiAgICAgIHVpbnQxNl90IGFwX29wY29kZSwgYXBfYmxvY2s7Ci1AQCAtMTc5MCw2ICsxNzkzLDE1 IEBAIHN0YXRpYyB2b2lkIHRmdHBfc2VuZGZpbGUoY29uc3Qgc3RydWN0IGZvcm1hdHMgKnBmLCBz dHJ1Y3QgdGZ0cGhkciAqb2FwLCBpbnQgb2FjCitAQCAtMTgxNyw2ICsxODI2LDEzIEBAIHN0YXRp YyB2b2lkIHRmdHBfc2VuZGZpbGUoY29uc3Qgc3RydWN0IGZvcm1hdHMgKnBmLCBzdHJ1Y3QgdGZ0 cGhkciAqb2FwLCBpbnQgb2FjCiAgICAgICAgICBlcnJubyA9IHJlc3VsdC5lcnJvcjsKICAgICAg ICAgIHRmdHBkX2xvZyhMT0dfV0FSTklORywgInRmdHBkOiByZWFkKGFjayk6ICVtIik7CiAgICAg ICAgICBicmVhazsKICsgICAgY2FzZSBURlRQX1hGRVJfT0s6Ci0rICAgICAgICB0bXBfcCA9IChj aGFyICopaW5ldF9udG9wKGZyb20uc2Euc2FfZmFtaWx5LCBTT0NLQUREUl9QKCZmcm9tKSwKLSsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG1wYnVmLCBJTkVUNl9BRERSU1RSTEVO KTsKLSsgICAgICAgIGlmICghdG1wX3ApIHsKLSsgICAgICAgICAgICB0bXBfcCA9IHRtcGJ1ZjsK LSsgICAgICAgICAgICBzdHJjcHkodG1wYnVmLCAiPz8/Iik7Ci0rICAgICAgICB9Ci0rICAgICAg ICB0ZnRwZF9sb2coTE9HX05PVElDRSwgIkNsaWVudCAlcyBmaW5pc2hlZCAlcyIsIHRtcF9wLCBm aWxlbmFtZSk7CisrICAgICAgICB0bXBfcCA9IGluZXRfbnRvcChmcm9tLnNhLnNhX2ZhbWlseSwg U09DS0FERFJfUCgmZnJvbSksIHRtcGJ1ZiwKKysgICAgICAgICAgICAgICAgICAgICAgICAgIElO RVQ2X0FERFJTVFJMRU4pOworKyAgICAgICAgaWYgKCF0bXBfcCkKKysgICAgICAgICAgICB0bXBf cCA9ICI/Pz8iOworKyAgICAgICAgdGZ0cGRfbG9nKExPR19OT1RJQ0UsICJjbGllbnQgJXM6IGZp bmlzaGVkICVzIiwgdG1wX3AsIGZpbGVuYW1lKTsKKysgICAgICAgIGJyZWFrOworICAgICBkZWZh dWx0OgorICAgICAgICAgYnJlYWs7CisgICAgIH0KK0BAIC0xODMyLDcgKzE4NDgsOCBAQCBzdGF0 aWMgdm9pZCB0ZnRwX3NlbmRmaWxlKGNvbnN0IHN0cnVjdCBmb3JtYXRzICpwZiwgc3RydWN0IHRm dHBoZHIgKm9hcCwgaW50IG9hYworICAqIFJlY2VpdmUgYSBmaWxlLgorICAqLworIHN0YXRpYyB2 b2lkIHRmdHBfcmVjdmZpbGUoY29uc3Qgc3RydWN0IGZvcm1hdHMgKnBmLAorLQkJCSAgc3RydWN0 IHRmdHBoZHIgKm9hY2ssIGludCBvYWNrbGVuKQorKwkJCSAgc3RydWN0IHRmdHBoZHIgKm9hY2ss IGludCBvYWNrbGVuLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZmls ZW5hbWUpCisgeworICAgICBzdHJ1Y3QgZGFlbW9uX3hmZXJfY29udGV4dCBjb250ZXh0OworICAg ICBzdHJ1Y3QgdGZ0cF94ZmVyIHhmZXI7CitAQCAtMTg4OSw2ICsxOTA2LDEzIEBAIHN0YXRpYyB2 b2lkIHRmdHBfcmVjdmZpbGUoY29uc3Qgc3RydWN0IGZvcm1hdHMgKnBmLAorICAgICAgICAgZXJy bm8gPSByZXN1bHQuZXJyb3I7CisgICAgICAgICB0ZnRwZF9sb2coTE9HX1dBUk5JTkcsICJ0ZnRw ZDogcmVhZDogJW0iKTsKKyAgICAgICAgIGJyZWFrOworKyAgICBjYXNlIFRGVFBfWEZFUl9PSzoK KysgICAgICAgIHRtcF9wID0gaW5ldF9udG9wKGZyb20uc2Euc2FfZmFtaWx5LCBTT0NLQUREUl9Q KCZmcm9tKSwgdG1wYnVmLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgSU5FVDZfQUREUlNU UkxFTik7CisrICAgICAgICBpZiAoIXRtcF9wKQorKyAgICAgICAgICAgIHRtcF9wID0gIj8/PyI7 CisrICAgICAgICB0ZnRwZF9sb2coTE9HX05PVElDRSwgImNsaWVudCAlczogZmluaXNoZWQgJXMi LCB0bXBfcCwgZmlsZW5hbWUpOwogKyAgICAgICAgYnJlYWs7CiAgICAgIGRlZmF1bHQ6CiAgICAg ICAgICBicmVhazsKICAgICAgfQogZGlmZiAtLWdpdCBhL3RmdHBkL3RmdHBkLmggYi90ZnRwZC90 ZnRwZC5oCi1pbmRleCAzNzI3YmE0Li40NjI2YTU1IDEwMDY0NAoraW5kZXggMzcyN2JhNC4uMTI5 ZmRmYiAxMDA2NDQKIC0tLSBhL3RmdHBkL3RmdHBkLmgKICsrKyBiL3RmdHBkL3RmdHBkLmgKLUBA IC0zNCw3ICszNCw3IEBAIHN0cnVjdCBmb3JtYXRzIHsKK0BAIC0zNCw4ICszNCwxMCBAQCBzdHJ1 Y3QgZm9ybWF0cyB7CiAgICAgIGNvbnN0IGNoYXIgKmZfbW9kZTsKICAgICAgY2hhciAqKCpmX3Jl d3JpdGUpIChjb25zdCBzdHJ1Y3QgZm9ybWF0cyAqLCBjaGFyICosIGludCwgaW50LCBjb25zdCBj aGFyICoqKTsKICAgICAgaW50ICgqZl92YWxpZGF0ZSkgKGNoYXIgKiwgaW50LCBjb25zdCBzdHJ1 Y3QgZm9ybWF0cyAqLCBjb25zdCBjaGFyICoqKTsKIC0gICAgdm9pZCAoKmZfc2VuZCkgKGNvbnN0 IHN0cnVjdCBmb3JtYXRzICosIHN0cnVjdCB0ZnRwaGRyICosIGludCk7Ci0rICAgIHZvaWQgKCpm X3NlbmQpIChjb25zdCBzdHJ1Y3QgZm9ybWF0cyAqLCBzdHJ1Y3QgdGZ0cGhkciAqLCBpbnQsIGNo YXIgKik7Ci0gICAgIHZvaWQgKCpmX3JlY3YpIChjb25zdCBzdHJ1Y3QgZm9ybWF0cyAqLCBzdHJ1 Y3QgdGZ0cGhkciAqLCBpbnQpOworLSAgICB2b2lkICgqZl9yZWN2KSAoY29uc3Qgc3RydWN0IGZv cm1hdHMgKiwgc3RydWN0IHRmdHBoZHIgKiwgaW50KTsKKysgICAgdm9pZCAoKmZfc2VuZCkgKGNv bnN0IHN0cnVjdCBmb3JtYXRzICosIHN0cnVjdCB0ZnRwaGRyICosIGludCwKKysgICAgICAgICAg ICAgICAgICAgIGNvbnN0IGNoYXIgKik7CisrICAgIHZvaWQgKCpmX3JlY3YpIChjb25zdCBzdHJ1 Y3QgZm9ybWF0cyAqLCBzdHJ1Y3QgdGZ0cGhkciAqLCBpbnQsCisrICAgICAgICAgICAgICAgICAg ICBjb25zdCBjaGFyICopOwogICAgICBib29sIGZfY29udmVydDsKICB9OworIAogLS0gCiAyLjU1 LjAKIAoKZGlmZiAtLWdpdCBhL3RmdHAtZmVkb3JhLXRmdHBib290LnBhdGNoIGIvdGZ0cC1mZWRv cmEtdGZ0cGJvb3QucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmJk NzIxOAotLS0gL2Rldi9udWxsCisrKyBiL3RmdHAtZmVkb3JhLXRmdHBib290LnBhdGNoCkBAIC0w LDAgKzEsNTcgQEAKK2RpZmYgLS1naXQgYS9SRUFETUUuc2VjdXJpdHkgYi9SRUFETUUuc2VjdXJp dHkKK2luZGV4IDhmZjllODUuLmRmMmZhMzggMTAwNjQ0CistLS0gYS9SRUFETUUuc2VjdXJpdHkK KysrKyBiL1JFQURNRS5zZWN1cml0eQorQEAgLTIzLDEwICsyMywxMCBAQCBwcm9iYWJseSB0aGUg Zm9sbG93aW5nOgorIAorIDEuIENyZWF0ZSBhIHNlcGFyYXRlICJ0ZnRwZCIgdXNlciBhbmQgZ3Jv dXAgb25seSB1c2VkIGZvciB0ZnRwZDsKKyAyLiBIYXZlIGFsbCB5b3VyIGJvb3QgZmlsZXMgaW4g YSBzaW5nbGUgZGlyZWN0b3J5IHRyZWUgKHVzdWFsbHkgY2FsbGVkCistICAgL3RmdHBib290KS4K Ky0zLiBTcGVjaWZ5ICItcCAtdSB0ZnRwZCAtcyAvdGZ0cGJvb3QiIG9uIHRoZSB0ZnRwZCBjb21t YW5kIGxpbmU7IGlmCisrICAgL3Zhci9saWIvdGZ0cGJvb3QpLgorKzMuIFNwZWNpZnkgIi1wIC11 IHRmdHBkIC1zIC92YXIvbGliL3RmdHBib290IiBvbiB0aGUgdGZ0cGQgY29tbWFuZCBsaW5lOyBp ZgorICAgIHlvdSB3YW50IGNsaWVudHMgdG8gYmUgYWJsZSB0byBjcmVhdGUgZmlsZXMgdXNlCist ICAgIi1wIC1jIC1VIDAwMiAtdSB0ZnRwZCAtcyAvdGZ0cGJvb3QiIChyZXBsYWNlIDAwMiB3aXRo IHdoYXRldmVyCisrICAgIi1wIC1jIC1VIDAwMiAtdSB0ZnRwZCAtcyAvdmFyL2xpYi90ZnRwYm9v dCIgKHJlcGxhY2UgMDAyIHdpdGggd2hhdGV2ZXIKKyAgICB1bWFzayBpcyBhcHByb3ByaWF0ZSBm b3IgeW91ciBzZXR1cC4pCisgCisgV2hlbiB0aGUgLXMgKGNocm9vdCkgb3B0aW9uIGlzIHVzZWQs IHRmdHBkIG5lZWRzIHRvIGJlIHN0YXJ0ZWQgYXMKK0BAIC01MSwxMiArNTEsMTIgQEAgZGlyZWN0 bHkuICBUaHVzLCBpZiB5b3VyIC9ldGMvaW5ldGQuY29uZiBsb29rcyBsaWtlIHRoaXMgKGFsbCBv biBvbmUKKyBsaW5lKToKKyAKKyB0ZnRwCWRncmFtCXVkcAl3YWl0CXJvb3QJL3Vzci9zYmluL3Rj cGQKKy0vdXNyL3NiaW4vaW4udGZ0cGQgLXMgL3RmdHBib290IC1yIGJsa3NpemUKKysvdXNyL3Ni aW4vaW4udGZ0cGQgLXMgL3Zhci9saWIvdGZ0cGJvb3QgLXIgYmxrc2l6ZQorIAorIC4uLiBpdCdz IGJldHRlciB0byBjaGFuZ2UgdG8gLi4uCisgCisgdGZ0cAlkZ3JhbQl1ZHAJd2FpdAlyb290CS91 c3Ivc2Jpbi9pbi50ZnRwZAorLWluLnRmdHBkIC1zIC90ZnRwYm9vdCAtciBibGtzaXplCisraW4u dGZ0cGQgLXMgL3Zhci9saWIvdGZ0cGJvb3QgLXIgYmxrc2l6ZQorIAorIFlvdSBzaG91bGQgbWFr ZSBzdXJlIHRoYXQgeW91IGFyZSB1c2luZyAid2FpdCIgb3B0aW9uIGluIHRmdHBkOyB5b3UKKyBh bHNvIG5lZWQgdG8gaGF2ZSB0ZnRwZCBzcGF3bmVkIGFzIHJvb3QgaW4gb3JkZXIgZm9yIGNocm9v dCAoLXMpIHRvCitkaWZmIC0tZ2l0IGEvdGZ0cC14aW5ldGQgYi90ZnRwLXhpbmV0ZAoraW5kZXgg OTgyZmUwOS4uZDA0YjQ4YSAxMDA2NDQKKy0tLSBhL3RmdHAteGluZXRkCisrKysgYi90ZnRwLXhp bmV0ZAorQEAgLTEwLDcgKzEwLDcgQEAgc2VydmljZSB0ZnRwCisgCXdhaXQJCQk9IHllcworIAl1 c2VyCQkJPSByb290CisgCXNlcnZlcgkJCT0gL3Vzci9zYmluL2luLnRmdHBkCistCXNlcnZlcl9h cmdzCQk9IC1zIC90ZnRwYm9vdAorKwlzZXJ2ZXJfYXJncwkJPSAtcyAvdmFyL2xpYi90ZnRwYm9v dAorIAlkaXNhYmxlCQkJPSB5ZXMKKyAJcGVyX3NvdXJjZQkJPSAxMQorIAljcHMJCQk9IDEwMCAy CitkaWZmIC0tZ2l0IGEvdGZ0cGQvc2FtcGxlLnJ1bGVzIGIvdGZ0cGQvc2FtcGxlLnJ1bGVzCitp bmRleCA1NWI1NmJlLi4xNzQxYTRjIDEwMDY0NAorLS0tIGEvdGZ0cGQvc2FtcGxlLnJ1bGVzCisr KysgYi90ZnRwZC9zYW1wbGUucnVsZXMKK0BAIC0yOSw1ICsyOSw1IEBAIHJnCVxcCQkvCQkjIENv bnZlcnQgYmFja3NsYXNoZXMgdG8gc2xhc2hlcworIHJnCVwjCQlACQkjIENvbnZlcnQgaGFzaCBt YXJrcyB0byBAIHNpZ25zCisgcmcJLy4uLwkJLy4ubm8uLi8JIyBDb252ZXJ0IC8uLi8gdG8gLy4u bm8uLi8KKyBlCV5vay8JCQkJIyBUaGVzZSBhcmUgYWx3YXlzIG9rCistcgleW14vXQkJL3RmdHBi b290L1wwCSMgQ29udmVydCBub24tYWJzb2x1dGUgZmlsZXMKKytyCV5bXi9dCQkvdmFyL2xpYi90 ZnRwYm9vdC9cMAkjIENvbnZlcnQgbm9uLWFic29sdXRlIGZpbGVzCisgYQlcLnB2dCQJCQkJIyBS ZWplY3QgcmVxdWVzdHMgZm9yIHByaXZhdGUgZmlsZXMKCmRpZmYgLS1naXQgYS90ZnRwLWhwYS01 LjItb3NoLnBhdGNoIGIvdGZ0cC1ocGEtNS4yLW9zaC5wYXRjaAppbmRleCAzMjk2YTQ1Li5iNzRl YjRmIDEwMDY0NAotLS0gYS90ZnRwLWhwYS01LjItb3NoLnBhdGNoCisrKyBiL3RmdHAtaHBhLTUu Mi1vc2gucGF0Y2gKQEAgLTEsOSArMSwyNCBAQAotIyBGaXggbGVha2VkX2hhbmRsZTogSGFuZGxl IHZhcmlhYmxlICJmZCIgZ29pbmcgb3V0IG9mIHNjb3BlIGxlYWtzIHRoZSBoYW5kbGUuCitGcm9t IDQzYTg2Y2JjYmZkMzhlOTkyZDZmNWQ1MDA5ZWVhNjBmNDM2NzExZTQgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCitGcm9tOiAiSC4gUGV0ZXIgQW52aW4iIDxocGFAenl0b3IuY29tPgorRGF0ZTog VHVlLCA4IFNlcCAyMDI2IDE3OjMzOjQ3IC0wNzAwCitTdWJqZWN0OiBbUEFUQ0hdIHRmdHBkOiBj bG9zZSBkZXNjcmlwdG9ycyBvbiBhY2Nlc3MgdmFsaWRhdGlvbiBlcnJvcnMKKworQ2xvc2UgdGhl IGZpbGUgZGVzY3JpcHRvciBiZWZvcmUgcmV0dXJuaW5nIGFjY2VzcyBlcnJvcnMgYWZ0ZXIgYSBm aWxlIGhhcworYmVlbiBvcGVuZWQuICBUaGlzIGF2b2lkcyBsZWFraW5nIGEgZGVzY3JpcHRvciBm b3IgcmVqZWN0ZWQgcmVhZCBhbmQgd3JpdGUKK3JlcXVlc3RzLCBpbmNsdWRpbmcgZmFpbGVkIHBv c3Qtb3BlbiB0cnVuY2F0aW9uLgorCitQYXRjaCBmcm9tIEZlZG9yYSBTUlBNLgorCitTaWduZWQt b2ZmLWJ5OiBILiBQZXRlciBBbnZpbiA8aHBhQHp5dG9yLmNvbT4KKy0tLQorIHRmdHBkL3RmdHBk LmMgfCAzICsrKworIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKykKKwogZGlmZiAtLWdp dCBhL3RmdHBkL3RmdHBkLmMgYi90ZnRwZC90ZnRwZC5jCi1pbmRleCBiOGVmNGY0Li5iZmU5MzIz IDEwMDY0NAoraW5kZXggMzJlNDE1MC4uODI4NzE2MSAxMDA2NDQKIC0tLSBhL3RmdHBkL3RmdHBk LmMKICsrKyBiL3RmdHBkL3RmdHBkLmMKLUBAIC0xNjgwLDYgKzE2ODAsNyBAQCBzdGF0aWMgaW50 IHZhbGlkYXRlX2FjY2VzcyhjaGFyICpmaWxlbmFtZSwgaW50IG1vZGUsCitAQCAtMTcwMSw2ICsx NzAxLDcgQEAgc3RhdGljIGludCB2YWxpZGF0ZV9hY2Nlc3MoY2hhciAqZmlsZW5hbWUsIGludCBt b2RlLAogIAogICAgICBpZiAobW9kZSA9PSBSUlEpIHsKICAgICAgICAgIGlmICghdW5peHBlcm1z ICYmIChzdGJ1Zi5zdF9tb2RlICYgKFNfSVJFQUQgPj4gNikpID09IDApIHsKQEAgLTExLDcgKzI2 LDcgQEAgaW5kZXggYjhlZjRmNC4uYmZlOTMyMyAxMDA2NDQKICAgICAgICAgICAgICAqZXJybXNn ID0gIkZpbGUgbXVzdCBoYXZlIGdsb2JhbCByZWFkIHBlcm1pc3Npb25zIjsKICAgICAgICAgICAg ICByZXR1cm4gKEVBQ0NFU1MpOwogICAgICAgICAgfQotQEAgLTE2ODksNiArMTY5MCw3IEBAIHN0 YXRpYyBpbnQgdmFsaWRhdGVfYWNjZXNzKGNoYXIgKmZpbGVuYW1lLCBpbnQgbW9kZSwKK0BAIC0x NzEwLDYgKzE3MTEsNyBAQCBzdGF0aWMgaW50IHZhbGlkYXRlX2FjY2VzcyhjaGFyICpmaWxlbmFt ZSwgaW50IG1vZGUsCiAgICAgIH0gZWxzZSB7CiAgICAgICAgICBpZiAoIXVuaXhwZXJtcykgewog ICAgICAgICAgICAgIGlmICgoc3RidWYuc3RfbW9kZSAmIChTX0lXUklURSA+PiA2KSkgPT0gMCkg ewpAQCAtMTksNyArMzQsNyBAQCBpbmRleCBiOGVmNGY0Li5iZmU5MzIzIDEwMDY0NAogICAgICAg ICAgICAgICAgICAqZXJybXNnID0gIkZpbGUgbXVzdCBoYXZlIGdsb2JhbCB3cml0ZSBwZXJtaXNz aW9ucyI7CiAgICAgICAgICAgICAgICAgIHJldHVybiAoRUFDQ0VTUyk7CiAgICAgICAgICAgICAg fQotQEAgLTE2OTcsNiArMTY5OSw3IEBAIHN0YXRpYyBpbnQgdmFsaWRhdGVfYWNjZXNzKGNoYXIg KmZpbGVuYW1lLCBpbnQgbW9kZSwKK0BAIC0xNzE4LDYgKzE3MjAsNyBAQCBzdGF0aWMgaW50IHZh bGlkYXRlX2FjY2VzcyhjaGFyICpmaWxlbmFtZSwgaW50IG1vZGUsCiAgI2lmZGVmIEhBVkVfRlRS VU5DQVRFCiAgCS8qIFdlIGRpZG4ndCBnZXQgdG8gdHJ1bmNhdGUgdGhlIGZpbGUgYXQgb3Blbigp IHRpbWUgKi8KICAJaWYgKGZ0cnVuY2F0ZShmZCwgKG9mZl90KSAwKSkgewpAQCAtMjcsMyArNDIs NiBAQCBpbmRleCBiOGVmNGY0Li5iZmU5MzIzIDEwMDY0NAogIAkgICplcnJtc2cgPSAiQ2Fubm90 IHJlc2V0IGZpbGUgc2l6ZSI7CiAgCSAgcmV0dXJuIChFQUNDRVNTKTsKICAJfQorLS0gCisyLjU1 LjAKKwoKZGlmZiAtLWdpdCBhL3RmdHAtaHBhLTUuMy10ZnRwLWV4aXQtY29kZS1jbWRtb2RlLnBh dGNoIGIvdGZ0cC1ocGEtNS4zLXRmdHAtZXhpdC1jb2RlLWNtZG1vZGUucGF0Y2gKaW5kZXggODNk MGViNC4uZDg4NDAyMSAxMDA2NDQKLS0tIGEvdGZ0cC1ocGEtNS4zLXRmdHAtZXhpdC1jb2RlLWNt ZG1vZGUucGF0Y2gKKysrIGIvdGZ0cC1ocGEtNS4zLXRmdHAtZXhpdC1jb2RlLWNtZG1vZGUucGF0 Y2gKQEAgLTEsMTMgKzEsMjIgQEAKLUZyb20gODE3YTE3ZGZkZGNhM2MxMjEzYThhNWRjODQ4YjA0 M2NhZWZlZTEzOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206ID0/VVRGLTg/cT9MdWs9 QzM9QTE9QzU9QTE9MjBaYW9yYWw/PSA8bHphb3JhbEByZWRoYXQuY29tPgotRGF0ZTogV2VkLCAx NiBKdWwgMjAyNSAxNTowMzo0MyArMDIwMAotU3ViamVjdDogW1BBVENIXSB0ZnRwOiBwcm9wYWdh dGUgZXJyb3JzIHRvIGV4aXQgY29kZSBpbiBzaW5nbGUgY29tbWFuZCBtb2RlCitGcm9tIDg1YjI0 NmMyYmIzODg3ZWMxOTM2Nzg0MWIzNDIzMTJmODkwOTBhYWYgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCitGcm9tOiAiSC4gUGV0ZXIgQW52aW4iIDxocGFAenl0b3IuY29tPgorRGF0ZTogVHVlLCA4 IFNlcCAyMDI2IDE3OjMzOjQ3IC0wNzAwCitTdWJqZWN0OiBbUEFUQ0hdIHRmdHA6IHJldHVybiBm YWlsdXJlcyBmcm9tIGNvbW1hbmQgbW9kZQogCitNYWtlIGNvbW1hbmQgaGFuZGxlcnMgYW5kIHRy YW5zZmVyIHJvdXRpbmVzIHJldHVybiBzeXNleGl0cy1jb21wYXRpYmxlCitzdGF0dXMgY29kZXMg c28gLWMgcmVwb3J0cyBjb21tYW5kLCBsb2NhbCBJL08sIGFuZCBwcm90b2NvbCBmYWlsdXJlcy4K KworQ29tbWFuZHMgdGhhdCB3b3VsZCBvdGhlcndpc2UgcHJvbXB0IGZvciBtaXNzaW5nIGFyZ3Vt ZW50cyBub3cgcmV0dXJuIHVzYWdlCitlcnJvcnMgaW4gY29tbWFuZCBtb2RlIHdoaWxlIHJldGFp bmluZyB0aGUgaW50ZXJhY3RpdmUgcHJvbXB0IGJlaGF2aW9yLgorCitCYXNlZCBvbiBwYXRjaCBm cm9tIHRoZSBGZWRvcmEgU1JQTS4KKworU2lnbmVkLW9mZi1ieTogSC4gUGV0ZXIgQW52aW4gPGhw YUB6eXRvci5jb20+CiAtLS0KICB0ZnRwL2V4dGVybi5oIHwgICA0ICstCi0gdGZ0cC9tYWluLmMg ICB8IDE1MiArKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQotIHRmdHAvdGZ0cC5jICAgfCAgNDIgKysrKysrKysrKystLS0KLSAzIGZpbGVzIGNoYW5nZWQs IDEyMiBpbnNlcnRpb25zKCspLCA3NiBkZWxldGlvbnMoLSkKKyB0ZnRwL21haW4uYyAgIHwgMjA5 ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tCisgdGZ0 cC90ZnRwLmMgICB8ICA0MyArKysrKysrKystLQorIDMgZmlsZXMgY2hhbmdlZCwgMTY0IGluc2Vy dGlvbnMoKyksIDkyIGRlbGV0aW9ucygtKQogCiBkaWZmIC0tZ2l0IGEvdGZ0cC9leHRlcm4uaCBi L3RmdHAvZXh0ZXJuLmgKIGluZGV4IDc3NDBjYjcuLjI5NWI4ZTkgMTAwNjQ0CkBAIC0yNSwxMCAr MzQsMjYgQEAgaW5kZXggNzc0MGNiNy4uMjk1YjhlOSAxMDA2NDQKICAKICAjZW5kaWYKIGRpZmYg LS1naXQgYS90ZnRwL21haW4uYyBiL3RmdHAvbWFpbi5jCi1pbmRleCAxYjYxOGIxLi5iYmNhYjAy IDEwMDY0NAoraW5kZXggMWI2MThiMS4uODZkOWM3OCAxMDA2NDQKIC0tLSBhL3RmdHAvbWFpbi5j CiArKysgYi90ZnRwL21haW4uYwotQEAgLTg0LDIzICs4NCwyMyBAQCBzdGF0aWMgdW5zaWduZWQg aW50IHBvcnRyYW5nZV90byA9IDA7CitAQCAtMyw2ICszLDcgQEAKKyAgKgorICAqIENvcHlyaWdo dCAoYykgMTk4MywgMTk5MworICAqCVRoZSBSZWdlbnRzIG9mIHRoZSBVbml2ZXJzaXR5IG9mIENh bGlmb3JuaWEuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorKyAqIENvcHlyaWdodCAoQykgMjAyNiBI LiBQZXRlciBBbnZpbiA8aHBhQHp5dG9yLmNvbT4KKyAgKi8KKyAKKyAjaW5jbHVkZSAiY29tbW9u L3RmdHBzdWJzLmgiCitAQCAtNjUsNiArNjYsNyBAQCBib29sIHRyYWNlOworIGludCB2ZXJib3Nl OworIHN0YXRpYyBib29sIGxpdGVyYWw7Cisgc3RhdGljIGJvb2wgY29ubmVjdGVkOworK3N0YXRp YyBib29sIGlzY21kOworIHN0YXRpYyBjb25zdCBzdHJ1Y3QgbW9kZXMgKm1vZGU7CisgI2lmZGVm IFdJVEhfUkVBRExJTkUKKyBzdGF0aWMgY2hhciAqbGluZSA9IE5VTEw7CitAQCAtODQsMjMgKzg2 LDIzIEBAIHN0YXRpYyB1bnNpZ25lZCBpbnQgcG9ydHJhbmdlX3RvID0gMDsKICB1bnNpZ25lZCBp bnQgYmxvY2tzaXplID0gU0VHU0laRTsKICB1bnNpZ25lZCBpbnQgd2luZG93c2l6ZTsKICAKQEAg LTY5LDcgKzk0LDcgQEAgaW5kZXggMWI2MThiMS4uYmJjYWIwMiAxMDA2NDQKICAKICBzdGF0aWMg dm9pZCBjb21tYW5kKHZvaWQpOwogIAotQEAgLTExNiw3ICsxMTYsNyBAQCBzdGF0aWMgdm9pZCBz ZXR0ZnRwbW9kZShjb25zdCBzdHJ1Y3QgbW9kZXMgKik7CitAQCAtMTE2LDcgKzExOCw3IEBAIHN0 YXRpYyB2b2lkIHNldHRmdHBtb2RlKGNvbnN0IHN0cnVjdCBtb2RlcyAqKTsKICBzdHJ1Y3QgY21k IHsKICAgICAgY29uc3QgY2hhciAqbmFtZTsKICAgICAgY29uc3QgY2hhciAqaGVscDsKQEAgLTc4 LDE2ICsxMDMsMjcgQEAgaW5kZXggMWI2MThiMS4uYmJjYWIwMiAxMDA2NDQKICB9OwogIAogIHN0 YXRpYyBjb25zdCBzdHJ1Y3QgY21kIGNtZHRhYltdID0gewotQEAgLTI0Niw3ICsyNDYsNyBAQCBz dGF0aWMgY29uc3QgY2hhciBzaG9ydF9vcHRpb25zW10gPSAiKzQ2dlZsbTpjUjpCOlc6dzphYmgi OworQEAgLTI0Niw5ICsyNDgsOCBAQCBzdGF0aWMgY29uc3QgY2hhciBzaG9ydF9vcHRpb25zW10g PSAiKzQ2dlZsbTpjUjpCOlc6dzphYmgiOwogIGludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2 W10pCiAgewogICAgICB1bmlvbiBzb2NrX2FkZHIgc2E7CiAtICAgIGludCBvcHRjOwogKyAgICBp bnQgb3B0YywgcmV0OwogICAgICBzdGF0aWMgaW50IHBhcmdjLCBwZWVyYXJnYzsKLSAgICAgc3Rh dGljIGJvb2wgaXNjbWQ7CistICAgIHN0YXRpYyBib29sIGlzY21kOwogICAgICBzdGF0aWMgY2hh ciAqKnBhcmd2OwotQEAgLTQyOCw5ICs0MjgsOSBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAq YXJndltdKQorICAgICBjaGFyICpwZWVyYXJndlszXTsKKyAKK0BAIC0zODMsNyArMzg0LDcgQEAg aW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKKyAgICAgICAgIC8qIFNldCBwZWVyICov CisgICAgICAgICBpZiAoc2lnc2V0am1wKHRvcGxldmVsLCAxKSAhPSAwKQorICAgICAgICAgICAg IGV4aXQoRVhfTk9IT1NUKTsKKy0gICAgICAgIHNldHBlZXIocGVlcmFyZ2MsIHBlZXJhcmd2KTsK KysgICAgICAgICh2b2lkKXNldHBlZXIocGVlcmFyZ2MsIHBlZXJhcmd2KTsKKyAgICAgfQorIAor ICAgICBpZiAoYWlfZmFtX3NvY2sgPT0gQUZfVU5TUEVDKQorQEAgLTQyOCw5ICs0MjksOSBAQCBp bnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQogICAgICAgICAgaWYgKHNpZ3NldGptcCh0 b3BsZXZlbCwgMSkgIT0gMCkKICAgICAgICAgICAgICBleGl0KEVYX1VOQVZBSUxBQkxFKTsKICAK QEAgLTk5LDggKzEzNSwyNCBAQCBpbmRleCAxYjYxOGIxLi5iYmNhYjAyIDEwMDY0NAogICAgICB9 CiAgI2lmZGVmIFdJVEhfUkVBRExJTkUKICAjaWZkZWYgSEFWRV9SRUFETElORV9ISVNUT1JZX0gK LUBAIC00ODUsNyArNDg1LDcgQEAgc3RhdGljIHZvaWQgZ2V0bW9yZWFyZ3MoY29uc3QgY2hhciAq cGFydGlhbCwgY29uc3QgY2hhciAqbXByb21wdCkKK0BAIC00NDksOCArNDUwLDExIEBAIHN0YXRp YyBjaGFyICpob3N0bmFtZTsKKyAKKyAvKiBDYWxsZWQgd2hlbiBhIGNvbW1hbmQgaXMgaW5jb21w bGV0ZTsgbW9kaWZpZXMKKyAgICB0aGUgZ2xvYmFsIHZhcmlhYmxlICJsaW5lIiAqLworLXN0YXRp YyB2b2lkIGdldG1vcmVhcmdzKGNvbnN0IGNoYXIgKnBhcnRpYWwsIGNvbnN0IGNoYXIgKm1wcm9t cHQpCisrc3RhdGljIGJvb2wgZ2V0bW9yZWFyZ3MoY29uc3QgY2hhciAqcGFydGlhbCwgY29uc3Qg Y2hhciAqbXByb21wdCkKKyB7CisrICAgIGlmIChpc2NtZCkKKysgICAgICAgIHJldHVybiBmYWxz ZTsKKysKKyAjaWZkZWYgV0lUSF9SRUFETElORQorICAgICBjaGFyICplbGluZTsKKyAgICAgaW50 IGxlbiwgZWxlbjsKK0BAIC00ODMsMjEgKzQ4NywyMyBAQCBzdGF0aWMgdm9pZCBnZXRtb3JlYXJn cyhjb25zdCBjaGFyICpwYXJ0aWFsLCBjb25zdCBjaGFyICptcHJvbXB0KQorICAgICAgICAgaWYg KGZlb2Yoc3RkaW4pKQorICAgICAgICAgICAgIGV4aXQoMCk7ICAgICAgICAgICAgLyogRU9GICov CiAgI2VuZGlmCisrICAgIHJldHVybiB0cnVlOwogIH0KICAKIC1zdGF0aWMgdm9pZCBzZXRwZWVy KGludCBhcmdjLCBjaGFyICphcmd2W10pCkBAIC0xMDgsNyArMTYwLDEzIEBAIGluZGV4IDFiNjE4 YjEuLmJiY2FiMDIgMTAwNjQ0CiAgewogICAgICBpbnQgZXJyOwogIAotQEAgLTQ5Nyw3ICs0OTcs NyBAQCBzdGF0aWMgdm9pZCBzZXRwZWVyKGludCBhcmdjLCBjaGFyICphcmd2W10pCisgICAgIGlm IChhcmdjIDwgMikgeworLSAgICAgICAgZ2V0bW9yZWFyZ3MoImNvbm5lY3QgIiwgIih0bykgIik7 CisrICAgICAgICBpZiAoIWdldG1vcmVhcmdzKCJjb25uZWN0ICIsICIodG8pICIpKQorKyAgICAg ICAgICAgIHJldHVybiBFWF9VU0FHRTsKKyAgICAgICAgIG1hcmdjID0gbWFrZWFyZ3YobGluZSwg bWFyZ3YpOworICAgICAgICAgYXJnYyA9IG1hcmdjOworICAgICAgICAgYXJndiA9IG1hcmd2Owog ICAgICB9CiAgICAgIGlmICgoYXJnYyA8IDIpIHx8IChhcmdjID4gMykpIHsKICAgICAgICAgIHBy aW50ZigidXNhZ2U6ICVzIGhvc3QtbmFtZSBbcG9ydF1cbiIsIGFyZ3ZbMF0pOwpAQCAtMTE3LDcg KzE3NSw3IEBAIGluZGV4IDFiNjE4YjEuLmJiY2FiMDIgMTAwNjQ0CiAgICAgIH0KICAKICAgICAg cGVlcmFkZHIuc2Euc2FfZmFtaWx5ID0gYWlfZmFtOwotQEAgLTUwNiw3ICs1MDYsNyBAQCBzdGF0 aWMgdm9pZCBzZXRwZWVyKGludCBhcmdjLCBjaGFyICphcmd2W10pCitAQCAtNTA2LDcgKzUxMiw3 IEBAIHN0YXRpYyB2b2lkIHNldHBlZXIoaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKICAgICAgICAg IHByaW50ZigiRXJyb3I6ICVzXG4iLCBnYWlfc3RyZXJyb3IoZXJyKSk7CiAgICAgICAgICBwcmlu dGYoIiVzOiB1bmtub3duIGhvc3RcbiIsIGFyZ3ZbMV0pOwogICAgICAgICAgY29ubmVjdGVkID0g ZmFsc2U7CkBAIC0xMjYsNyArMTg0LDcgQEAgaW5kZXggMWI2MThiMS4uYmJjYWIwMiAxMDA2NDQK ICAgICAgfQogICAgICBhaV9mYW0gPSBwZWVyYWRkci5zYS5zYV9mYW1pbHk7CiAgICAgIGlmIChm ID09IC0xKSB7IC8qIHNvY2tldCBub3Qgb3BlbiAqLwotQEAgLTU0Myw3ICs1NDMsNyBAQCBzdGF0 aWMgdm9pZCBzZXRwZWVyKGludCBhcmdjLCBjaGFyICphcmd2W10pCitAQCAtNTQzLDcgKzU0OSw3 IEBAIHN0YXRpYyB2b2lkIHNldHBlZXIoaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKICAgICAgICAg ICAgICBpZiAoKmVwIHx8IG15cG9ydCA+IDY1NTM1VUwpIHsKICAgICAgICAgICAgICAgICAgcHJp bnRmKCIlczogYmFkIHBvcnQgbnVtYmVyXG4iLCBhcmd2WzJdKTsKICAgICAgICAgICAgICAgICAg Y29ubmVjdGVkID0gZmFsc2U7CkBAIC0xMzUsNyArMTkzLDcgQEAgaW5kZXggMWI2MThiMS4uYmJj YWIwMiAxMDA2NDQKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgcG9ydCA9IGh0b25zKCh1 aW50MTZfdCkgbXlwb3J0KTsKICAgICAgICAgIH0KLUBAIC01NjAsMTYgKzU2MCwxNyBAQCBzdGF0 aWMgdm9pZCBzZXRwZWVyKGludCBhcmdjLCBjaGFyICphcmd2W10pCitAQCAtNTYwLDE2ICs1NjYs MTcgQEAgc3RhdGljIHZvaWQgc2V0cGVlcihpbnQgYXJnYywgY2hhciAqYXJndltdKQogICAgICAg ICAgICAgICAgIGhvc3RuYW1lLCB0cCwgKHVuc2lnbmVkIGludCludG9ocyhwb3J0KSk7CiAgICAg IH0KICAgICAgY29ubmVjdGVkID0gdHJ1ZTsKQEAgLTE1NSw3ICsyMTMsNyBAQCBpbmRleCAxYjYx OGIxLi5iYmNhYjAyIDEwMDY0NAogICAgICB9CiAgICAgIGlmIChhcmdjID09IDIpIHsKICAgICAg ICAgIGZvciAocCA9IG1vZGVzOyBwLT5tX25hbWU7IHArKykKLUBAIC01NzcsNyArNTc4LDcgQEAg c3RhdGljIHZvaWQgbW9kZWNtZChpbnQgYXJnYywgY2hhciAqYXJndltdKQorQEAgLTU3Nyw3ICs1 ODQsNyBAQCBzdGF0aWMgdm9pZCBtb2RlY21kKGludCBhcmdjLCBjaGFyICphcmd2W10pCiAgICAg ICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgaWYgKHAtPm1fbmFtZSkgewogICAgICAgICAg ICAgIHNldHRmdHBtb2RlKHApOwpAQCAtMTY0LDcgKzIyMiw3IEBAIGluZGV4IDFiNjE4YjEuLmJi Y2FiMDIgMTAwNjQ0CiAgICAgICAgICB9CiAgICAgICAgICBwcmludGYoIiVzOiB1bmtub3duIG1v ZGVcbiIsIGFyZ3ZbMV0pOwogICAgICAgICAgLyogZHJvcCB0aHJvdWdoIGFuZCBwcmludCB1c2Fn ZSBtZXNzYWdlICovCi1AQCAtNTkxLDIxICs1OTIsMjMgQEAgc3RhdGljIHZvaWQgbW9kZWNtZChp bnQgYXJnYywgY2hhciAqYXJndltdKQorQEAgLTU5MSwyMSArNTk4LDIzIEBAIHN0YXRpYyB2b2lk IG1vZGVjbWQoaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKICAgICAgICAgICAgICBzZXAgPSAiIHwg IjsKICAgICAgfQogICAgICBwcmludGYoIiBdXG4iKTsKQEAgLTE5MSw3ICsyNDksNyBAQCBpbmRl eCAxYjYxOGIxLi5iYmNhYjAyIDEwMDY0NAogIH0KICAKICBzdGF0aWMgdm9pZCBzZXR0ZnRwbW9k ZShjb25zdCBzdHJ1Y3QgbW9kZXMgKm5ld21vZGUpCi1AQCAtNjE4LDcgKzYyMSw3IEBAIHN0YXRp YyB2b2lkIHNldHRmdHBtb2RlKGNvbnN0IHN0cnVjdCBtb2RlcyAqbmV3bW9kZSkKK0BAIC02MTgs NyArNjI3LDcgQEAgc3RhdGljIHZvaWQgc2V0dGZ0cG1vZGUoY29uc3Qgc3RydWN0IG1vZGVzICpu ZXdtb2RlKQogIC8qCiAgICogU2VuZCBmaWxlKHMpLgogICAqLwpAQCAtMjAwLDcgKzI1OCwxNiBA QCBpbmRleCAxYjYxOGIxLi5iYmNhYjAyIDEwMDY0NAogIHsKICAgICAgaW50IGZkOwogICAgICBp bnQgbiwgZXJyOwotQEAgLTYzMywxNCArNjM2LDE0IEBAIHN0YXRpYyB2b2lkIHB1dChpbnQgYXJn YywgY2hhciAqYXJndltdKQorQEAgLTYyNiwyMSArNjM1LDIyIEBAIHN0YXRpYyB2b2lkIHB1dChp bnQgYXJnYywgY2hhciAqYXJndltdKQorICAgICBjaGFyICp0YXJnOworIAorICAgICBpZiAoYXJn YyA8IDIpIHsKKy0gICAgICAgIGdldG1vcmVhcmdzKCJzZW5kICIsICIoZmlsZSkgIik7CisrICAg ICAgICBpZiAoIWdldG1vcmVhcmdzKCJzZW5kICIsICIoZmlsZSkgIikpCisrICAgICAgICAgICAg cmV0dXJuIEVYX1VTQUdFOworICAgICAgICAgbWFyZ2MgPSBtYWtlYXJndihsaW5lLCBtYXJndik7 CisgICAgICAgICBhcmdjID0gbWFyZ2M7CisgICAgICAgICBhcmd2ID0gbWFyZ3Y7CiAgICAgIH0K ICAgICAgaWYgKGFyZ2MgPCAyKSB7CiAgICAgICAgICBwdXR1c2FnZShhcmd2WzBdKTsKQEAgLTIx Nyw3ICsyODQsNyBAQCBpbmRleCAxYjYxOGIxLi5iYmNhYjAyIDEwMDY0NAogICAgICAgICAgICAg IH0KICAgICAgICAgIGNwID0gYXJndlthcmdjIC0gMV07CiAgICAgICAgICB0YXJnID0gc3RyY2hy KGNwLCAnOicpOwotQEAgLTY1MSwxNCArNjU0LDE0IEBAIHN0YXRpYyB2b2lkIHB1dChpbnQgYXJn YywgY2hhciAqYXJndltdKQorQEAgLTY1MSwxNCArNjYxLDE0IEBAIHN0YXRpYyB2b2lkIHB1dChp bnQgYXJnYywgY2hhciAqYXJndltdKQogICAgICAgICAgICAgIHByaW50ZigiRXJyb3I6ICVzXG4i LCBnYWlfc3RyZXJyb3IoZXJyKSk7CiAgICAgICAgICAgICAgcHJpbnRmKCIlczogdW5rbm93biBo b3N0XG4iLCBhcmd2WzFdKTsKICAgICAgICAgICAgICBjb25uZWN0ZWQgPSBmYWxzZTsKQEAgLTIz NCw3ICszMDEsNyBAQCBpbmRleCAxYjYxOGIxLi5iYmNhYjAyIDEwMDY0NAogICAgICB9CiAgICAg IGlmIChhcmdjIDwgNCkgewogICAgICAgICAgY3AgPSBhcmdjID09IDIgPyB0YWlsKHRhcmcpIDog YXJndlsxXTsKLUBAIC02NjYsMTcgKzY2OSwxOCBAQCBzdGF0aWMgdm9pZCBwdXQoaW50IGFyZ2Ms IGNoYXIgKmFyZ3ZbXSkKK0BAIC02NjYsMTcgKzY3NiwxNyBAQCBzdGF0aWMgdm9pZCBwdXQoaW50 IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKICAgICAgICAgIGlmIChmZCA8IDApIHsKICAgICAgICAgICAg ICBmcHJpbnRmKHN0ZGVyciwgInRmdHA6ICIpOwogICAgICAgICAgICAgIHBlcnJvcihjcCk7CkBA IC0yNDcsOCArMzE0LDcgQEAgaW5kZXggMWI2MThiMS4uYmJjYWIwMiAxMDA2NDQKICAgICAgICAg IHNhX3NldF9wb3J0KCZwZWVyYWRkciwgcG9ydCk7CiAtICAgICAgICB0ZnRwX3NlbmRmaWxlKGZk LCB0YXJnLCBtb2RlLT5tX21vZGUsIHdpbmRvd3NpemUpOwogLSAgICAgICAgcmV0dXJuOwotKyAg ICAgICAgZXJyID0gdGZ0cF9zZW5kZmlsZShmZCwgdGFyZywgbW9kZS0+bV9tb2RlLCB3aW5kb3dz aXplKTsKLSsgICAgICAgIHJldHVybiBlcnI7CisrICAgICAgICByZXR1cm4gdGZ0cF9zZW5kZmls ZShmZCwgdGFyZywgbW9kZS0+bV9tb2RlLCB3aW5kb3dzaXplKTsKICAgICAgfQogICAgICAvKiB0 aGlzIGFzc3VtZXMgdGhlIHRhcmdldCBpcyBhIGRpcmVjdG9yeSAqLwogICAgICAvKiBvbiBhIHJl bW90ZSB1bml4IHN5c3RlbS4gIGhtbW1tLiAgKi8KQEAgLTI1NiwyOCArMzIyLDI5IEBAIGluZGV4 IDFiNjE4YjEuLmJiY2FiMDIgMTAwNjQ0CiAgICAgIGZvciAobiA9IDE7IG4gPCBhcmdjIC0gMTsg bisrKSB7CiAgICAgICAgICBjb25zdCBjaGFyICpiYXNlID0gdGFpbChhcmd2W25dKTsKICAgICAg ICAgIGNoYXIgKnJlbW90ZXBhdGggPSB4bWFsbG9jKHN0cmxlbih0YXJnKSArIDEgKyBzdHJsZW4o YmFzZSkgKyAxKTsKLUBAIC02ODYsNiArNjkwLDcgQEAgc3RhdGljIHZvaWQgcHV0KGludCBhcmdj LCBjaGFyICphcmd2W10pCi0gICAgICAgICBpZiAoZmQgPCAwKSB7CitAQCAtNjg3LDE1ICs2OTcs MjAgQEAgc3RhdGljIHZvaWQgcHV0KGludCBhcmdjLCBjaGFyICphcmd2W10pCiAgICAgICAgICAg ICAgZnByaW50ZihzdGRlcnIsICJ0ZnRwOiAiKTsKICAgICAgICAgICAgICBwZXJyb3IoYXJndltu XSk7Ci0rICAgICAgICAgICAgZXJyID0gRVhfT1NFUlI7CiAgICAgICAgICAgICAgZnJlZShyZW1v dGVwYXRoKTsKKysgICAgICAgICAgICBpZiAoIWVycikKKysgICAgICAgICAgICAgICAgZXJyID0g RVhfT1NFUlI7CiAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICB9Ci1AQCAtNjkzLDkg KzY5OCwxMSBAQCBzdGF0aWMgdm9pZCBwdXQoaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKKyAgICAg ICAgIGlmICh2ZXJib3NlKQogICAgICAgICAgICAgIHByaW50ZigicHV0dGluZyAlcyB0byAlczol cyBbJXNdXG4iLAogICAgICAgICAgICAgICAgICAgICBhcmd2W25dLCBob3N0bmFtZSwgcmVtb3Rl cGF0aCwgbW9kZS0+bV9tb2RlKTsKICAgICAgICAgIHNhX3NldF9wb3J0KCZwZWVyYWRkciwgcG9y dCk7CiAtICAgICAgICB0ZnRwX3NlbmRmaWxlKGZkLCByZW1vdGVwYXRoLCBtb2RlLT5tX21vZGUs IHdpbmRvd3NpemUpOwotKyAgICAgICAgZXJyIHw9IHRmdHBfc2VuZGZpbGUoZmQsIHJlbW90ZXBh dGgsIG1vZGUtPm1fbW9kZSwgd2luZG93c2l6ZSk7CisrICAgICAgICBuID0gdGZ0cF9zZW5kZmls ZShmZCwgcmVtb3RlcGF0aCwgbW9kZS0+bV9tb2RlLCB3aW5kb3dzaXplKTsKKysgICAgICAgIGlm ICghZXJyKQorKyAgICAgICAgICAgIGVyciA9IG47CiAgICAgICAgICBmcmVlKHJlbW90ZXBhdGgp OwogICAgICB9Ci0rCiArICAgIHJldHVybiBlcnI7CiAgfQogIAogIHN0YXRpYyB2b2lkIHB1dHVz YWdlKGNvbnN0IGNoYXIgKnMpCi1AQCAtNzA3LDEwICs3MTQsMTAgQEAgc3RhdGljIHZvaWQgcHV0 dXNhZ2UoY29uc3QgY2hhciAqcykKK0BAIC03MDcsNDMgKzcyMiw0NyBAQCBzdGF0aWMgdm9pZCBw dXR1c2FnZShjb25zdCBjaGFyICpzKQogIC8qCiAgICogUmVjZWl2ZSBmaWxlKHMpLgogICAqLwpA QCAtMjkwLDcgKzM1NywxMyBAQCBpbmRleCAxYjYxOGIxLi5iYmNhYjAyIDEwMDY0NAogICAgICBj aGFyICpjcDsKICAgICAgY2hhciAqc3JjOwogIAotQEAgLTcyMiwyOCArNzI5LDI4IEBAIHN0YXRp YyB2b2lkIGdldChpbnQgYXJnYywgY2hhciAqYXJndltdKQorICAgICBpZiAoYXJnYyA8IDIpIHsK Ky0gICAgICAgIGdldG1vcmVhcmdzKCJnZXQgIiwgIihmaWxlcykgIik7CisrICAgICAgICBpZiAo IWdldG1vcmVhcmdzKCJnZXQgIiwgIihmaWxlcykgIikpCisrICAgICAgICAgICAgcmV0dXJuIEVY X1VTQUdFOworICAgICAgICAgbWFyZ2MgPSBtYWtlYXJndihsaW5lLCBtYXJndik7CisgICAgICAg ICBhcmdjID0gbWFyZ2M7CisgICAgICAgICBhcmd2ID0gbWFyZ3Y7CiAgICAgIH0KICAgICAgaWYg KGFyZ2MgPCAyKSB7CiAgICAgICAgICBnZXR1c2FnZShhcmd2WzBdKTsKQEAgLTMxMiwxOCArMzg1 LDIzIEBAIGluZGV4IDFiNjE4YjEuLmJiY2FiMDIgMTAwNjQ0CiAgICAgICAgICAgICAgc3JjID0g YXJndltuXTsKICAgICAgICAgIGVsc2UgewogLSAgICAgICAgICAgIGludCBlcnI7Ci0tCisrICAg ICAgICAgICAgaW50IHJlc29sdmVfZXJyb3I7CisgCiAgICAgICAgICAgICAgKnNyYysrID0gMDsK ICAgICAgICAgICAgICBwZWVyYWRkci5zYS5zYV9mYW1pbHkgPSBhaV9mYW07Ci0gICAgICAgICAg ICAgZXJyID0gc2V0X3NvY2tfYWRkcihhcmd2W25dLCAmcGVlcmFkZHIsICZob3N0bmFtZSwgZmFs c2UpOwotICAgICAgICAgICAgIGlmIChlcnIpIHsKLSAgICAgICAgICAgICAgICAgcHJpbnRmKCJX YXJuaW5nOiAlc1xuIiwgZ2FpX3N0cmVycm9yKGVycikpOworLSAgICAgICAgICAgIGVyciA9IHNl dF9zb2NrX2FkZHIoYXJndltuXSwgJnBlZXJhZGRyLCAmaG9zdG5hbWUsIGZhbHNlKTsKKy0gICAg ICAgICAgICBpZiAoZXJyKSB7CistICAgICAgICAgICAgICAgIHByaW50ZigiV2FybmluZzogJXNc biIsIGdhaV9zdHJlcnJvcihlcnIpKTsKKysgICAgICAgICAgICByZXNvbHZlX2Vycm9yID0gc2V0 X3NvY2tfYWRkcihhcmd2W25dLCAmcGVlcmFkZHIsICZob3N0bmFtZSwgZmFsc2UpOworKyAgICAg ICAgICAgIGlmIChyZXNvbHZlX2Vycm9yKSB7CisrICAgICAgICAgICAgICAgIHByaW50ZigiV2Fy bmluZzogJXNcbiIsIGdhaV9zdHJlcnJvcihyZXNvbHZlX2Vycm9yKSk7CiAgICAgICAgICAgICAg ICAgIHByaW50ZigiJXM6IHVua25vd24gaG9zdFxuIiwgYXJndlsxXSk7Ci0rICAgICAgICAgICAg ICAgIGVyciA9IEVYX05PSE9TVDsKKysgICAgICAgICAgICAgICAgaWYgKCFlcnIpCisrICAgICAg ICAgICAgICAgICAgICBlcnIgPSBFWF9OT0hPU1Q7CiAgICAgICAgICAgICAgICAgIGNvbnRpbnVl OwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBhaV9mYW0gPSBwZWVyYWRkci5zYS5zYV9m YW1pbHk7Ci1AQCAtNzU2LDEzICs3NjMsMTMgQEAgc3RhdGljIHZvaWQgZ2V0KGludCBhcmdjLCBj aGFyICphcmd2W10pCitAQCAtNzU2LDEzICs3NzUsMTMgQEAgc3RhdGljIHZvaWQgZ2V0KGludCBh cmdjLCBjaGFyICphcmd2W10pCiAgICAgICAgICAgICAgaWYgKGZkIDwgMCkgewogICAgICAgICAg ICAgICAgICBmcHJpbnRmKHN0ZGVyciwgInRmdHA6ICIpOwogICAgICAgICAgICAgICAgICBwZXJy b3IoY3ApOwpAQCAtMzM5LDExICs0MTcsMTIgQEAgaW5kZXggMWI2MThiMS4uYmJjYWIwMiAxMDA2 NDQKICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgIH0KICAgICAgICAgIGNwID0gdGFpbChz cmMpOyAgICAgICAgIC8qIG5ldyAuLiBqZGcgKi8KLUBAIC03NzEsMTQgKzc3OCwxNiBAQCBzdGF0 aWMgdm9pZCBnZXQoaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK0BAIC03NzEsMTQgKzc5MCwxOSBA QCBzdGF0aWMgdm9pZCBnZXQoaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKICAgICAgICAgIGlmIChm ZCA8IDApIHsKICAgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgInRmdHA6ICIpOwogICAgICAg ICAgICAgIHBlcnJvcihjcCk7Ci0rICAgICAgICAgICAgZXJyID0gRVhfT1NFUlI7CisrICAgICAg ICAgICAgaWYgKCFlcnIpCisrICAgICAgICAgICAgICAgIGVyciA9IEVYX09TRVJSOwogICAgICAg ICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgfQogICAgICAgICAgaWYgKHZlcmJvc2UpCkBAIC0z NTEsMTMgKzQzMCwxNSBAQCBpbmRleCAxYjYxOGIxLi5iYmNhYjAyIDEwMDY0NAogICAgICAgICAg ICAgICAgICAgICBob3N0bmFtZSwgc3JjLCBjcCwgbW9kZS0+bV9tb2RlKTsKICAgICAgICAgIHNh X3NldF9wb3J0KCZwZWVyYWRkciwgcG9ydCk7CiAtICAgICAgICB0ZnRwX3JlY3ZmaWxlKGZkLCBz cmMsIG1vZGUtPm1fbW9kZSwgd2luZG93c2l6ZSk7Ci0rICAgICAgICBlcnIgfD0gdGZ0cF9yZWN2 ZmlsZShmZCwgc3JjLCBtb2RlLT5tX21vZGUsIHdpbmRvd3NpemUpOworKyAgICAgICAgbiA9IHRm dHBfcmVjdmZpbGUoZmQsIHNyYywgbW9kZS0+bV9tb2RlLCB3aW5kb3dzaXplKTsKKysgICAgICAg IGlmICghZXJyKQorKyAgICAgICAgICAgIGVyciA9IG47CiAgICAgIH0KICsgICAgcmV0dXJuIGVy cjsKICB9CiAgCiAgc3RhdGljIHZvaWQgZ2V0dXNhZ2UoY29uc3QgY2hhciAqcykKLUBAIC03OTAs NyArNzk5LDcgQEAgc3RhdGljIHZvaWQgZ2V0dXNhZ2UoY29uc3QgY2hhciAqcykKK0BAIC03OTAs OTEgKzgxNCwxMDQgQEAgc3RhdGljIHZvaWQgZ2V0dXNhZ2UoY29uc3QgY2hhciAqcykKICBpbnQg cmV4bXR2YWwgPSBUSU1FT1VUOwogIGludCBtYXh0aW1lb3V0ID0gVElNRU9VVF9MSU1JVCAqIFRJ TUVPVVQ7CiAgCkBAIC0zNjYsNyArNDQ3LDEyIEBAIGluZGV4IDFiNjE4YjEuLmJiY2FiMDIgMTAw NjQ0CiAgewogICAgICBpbnQgdDsKICAKLUBAIC04MDEsNyArODEwLDcgQEAgc3RhdGljIHZvaWQg c2V0cmV4bXQoaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKKyAgICAgaWYgKGFyZ2MgPCAyKSB7Cist ICAgICAgICBnZXRtb3JlYXJncygicmV4bXQtdGltZW91dCAiLCAiKHZhbHVlKSAiKTsKKysgICAg ICAgIGlmICghZ2V0bW9yZWFyZ3MoInJleG10LXRpbWVvdXQgIiwgIih2YWx1ZSkgIikpCisrICAg ICAgICAgICAgcmV0dXJuIEVYX1VTQUdFOworICAgICAgICAgYXJnYyA9IG1hcmdjID0gbWFrZWFy Z3YobGluZSwgbWFyZ3YpOworICAgICAgICAgYXJndiA9IG1hcmd2OwogICAgICB9CiAgICAgIGlm IChhcmdjICE9IDIpIHsKICAgICAgICAgIHByaW50ZigidXNhZ2U6ICVzIHZhbHVlXG4iLCBhcmd2 WzBdKTsKQEAgLTM3NCw4ICs0NjAsMTIgQEAgaW5kZXggMWI2MThiMS4uYmJjYWIwMiAxMDA2NDQK ICsgICAgICAgIHJldHVybiBFWF9VU0FHRTsKICAgICAgfQogICAgICB0ID0gYXRvaShhcmd2WzFd KTsKLSAgICAgaWYgKHQgPCAxKQotQEAgLTgxMCw5ICs4MTksMTAgQEAgc3RhdGljIHZvaWQgc2V0 cmV4bXQoaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKKy0gICAgaWYgKHQgPCAxKQorKyAgICBpZiAo dCA8IDEpIHsKKyAgICAgICAgIHByaW50ZigiJXM6IGJhZCB2YWx1ZVxuIiwgYXJndlsxXSk7Cist ICAgIGVsc2UgeworKyAgICAgICAgcmV0dXJuIEVYX1VTQUdFOworKyAgICB9IGVsc2UgewogICAg ICAgICAgcmV4bXR2YWwgPSB0OwogICAgICAgICAgbWF4dGltZW91dCA9IHJleG10dmFsICogVElN RU9VVF9MSU1JVDsKICAgICAgfQpAQCAtMzg3LDcgKzQ3NywxMiBAQCBpbmRleCAxYjYxOGIxLi5i YmNhYjAyIDEwMDY0NAogIHsKICAgICAgaW50IHQ7CiAgCi1AQCAtODIzLDE2ICs4MzMsMTcgQEAg c3RhdGljIHZvaWQgc2V0dGltZW91dChpbnQgYXJnYywgY2hhciAqYXJndltdKQorICAgICBpZiAo YXJnYyA8IDIpIHsKKy0gICAgICAgIGdldG1vcmVhcmdzKCJtYXhpbXVtLXRpbWVvdXQgIiwgIih2 YWx1ZSkgIik7CisrICAgICAgICBpZiAoIWdldG1vcmVhcmdzKCJtYXhpbXVtLXRpbWVvdXQgIiwg Iih2YWx1ZSkgIikpCisrICAgICAgICAgICAgcmV0dXJuIEVYX1VTQUdFOworICAgICAgICAgYXJn YyA9IG1hcmdjID0gbWFrZWFyZ3YobGluZSwgbWFyZ3YpOworICAgICAgICAgYXJndiA9IG1hcmd2 OwogICAgICB9CiAgICAgIGlmIChhcmdjICE9IDIpIHsKICAgICAgICAgIHByaW50ZigidXNhZ2U6 ICVzIHZhbHVlXG4iLCBhcmd2WzBdKTsKQEAgLTM5NSw5ICs0OTAsMTIgQEAgaW5kZXggMWI2MThi MS4uYmJjYWIwMiAxMDA2NDQKICsgICAgICAgIHJldHVybiBFWF9VU0FHRTsKICAgICAgfQogICAg ICB0ID0gYXRvaShhcmd2WzFdKTsKLSAgICAgaWYgKHQgPCAxKQorLSAgICBpZiAodCA8IDEpCisr ICAgIGlmICh0IDwgMSkgewogICAgICAgICAgcHJpbnRmKCIlczogYmFkIHZhbHVlXG4iLCBhcmd2 WzFdKTsKLSAgICAgZWxzZQorLSAgICBlbHNlCisrICAgICAgICByZXR1cm4gRVhfVVNBR0U7Cisr ICAgIH0gZWxzZQogICAgICAgICAgbWF4dGltZW91dCA9IHQ7CiArICAgIHJldHVybiAwOwogIH0K QEAgLTQwNiw4ICs1MDQsMTEgQEAgaW5kZXggMWI2MThiMS4uYmJjYWIwMiAxMDA2NDQKICtzdGF0 aWMgaW50IHNldGJsb2Nrc2l6ZShpbnQgYXJnYywgY2hhciAqYXJndltdKQogIHsKICAgICAgaWYg KGFyZ2MgPCAyKSB7Ci0gICAgICAgICBnZXRtb3JlYXJncygiYmxvY2tzaXplICIsICIoc2l6ZSkg Iik7Ci1AQCAtODQxLDE1ICs4NTIsMTYgQEAgc3RhdGljIHZvaWQgc2V0YmxvY2tzaXplKGludCBh cmdjLCBjaGFyICphcmd2W10pCistICAgICAgICBnZXRtb3JlYXJncygiYmxvY2tzaXplICIsICIo c2l6ZSkgIik7CisrICAgICAgICBpZiAoIWdldG1vcmVhcmdzKCJibG9ja3NpemUgIiwgIihzaXpl KSAiKSkKKysgICAgICAgICAgICByZXR1cm4gRVhfVVNBR0U7CisgICAgICAgICBhcmdjID0gbWFy Z2MgPSBtYWtlYXJndihsaW5lLCBtYXJndik7CisgICAgICAgICBhcmd2ID0gbWFyZ3Y7CiAgICAg IH0KICAgICAgaWYgKGFyZ2MgIT0gMikgewogICAgICAgICAgcHJpbnRmKCJ1c2FnZTogJXMgc2l6 ZVxuIiwgYXJndlswXSk7CkBAIC00MTcsNiArNTE4LDcgQEAgaW5kZXggMWI2MThiMS4uYmJjYWIw MiAxMDA2NDQKICAgICAgaWYgKCFwYXJzZV91aW50X3JhbmdlKGFyZ3ZbMV0sIDgsIE1BWF9TRUdT SVpFLCAmYmxvY2tzaXplKSkgewogICAgICAgICAgcHJpbnRmKCIlczogYmFkIGJsb2NrIHNpemUg KHZhbGlkIHJhbmdlIGlzIDgtJWQpXG4iLAogICAgICAgICAgICAgICAgIGFyZ3ZbMV0sIE1BWF9T RUdTSVpFKTsKKysgICAgICAgIHJldHVybiBFWF9VU0FHRTsKICAgICAgfQogKyAgICByZXR1cm4g MDsKICB9CkBAIC00MjUsOCArNTI3LDExIEBAIGluZGV4IDFiNjE4YjEuLmJiY2FiMDIgMTAwNjQ0 CiArc3RhdGljIGludCBzZXR3aW5kb3dzaXplKGludCBhcmdjLCBjaGFyICphcmd2W10pCiAgewog ICAgICBpZiAoYXJnYyA8IDIpIHsKLSAgICAgICAgIGdldG1vcmVhcmdzKCJ3aW5kb3dzaXplICIs ICIoc2l6ZSkgIik7Ci1AQCAtODU4LDIzICs4NzAsMjUgQEAgc3RhdGljIHZvaWQgc2V0d2luZG93 c2l6ZShpbnQgYXJnYywgY2hhciAqYXJndltdKQorLSAgICAgICAgZ2V0bW9yZWFyZ3MoIndpbmRv d3NpemUgIiwgIihzaXplKSAiKTsKKysgICAgICAgIGlmICghZ2V0bW9yZWFyZ3MoIndpbmRvd3Np emUgIiwgIihzaXplKSAiKSkKKysgICAgICAgICAgICByZXR1cm4gRVhfVVNBR0U7CisgICAgICAg ICBhcmdjID0gbWFyZ2MgPSBtYWtlYXJndihsaW5lLCBtYXJndik7CisgICAgICAgICBhcmd2ID0g bWFyZ3Y7CiAgICAgIH0KICAgICAgaWYgKGFyZ2MgIT0gMikgewogICAgICAgICAgcHJpbnRmKCJ1 c2FnZTogJXMgc2l6ZVxuIiwgYXJndlswXSk7CkBAIC00MzYsNiArNTQxLDcgQEAgaW5kZXggMWI2 MThiMS4uYmJjYWIwMiAxMDA2NDQKICAgICAgaWYgKCFwYXJzZV91aW50X3JhbmdlKGFyZ3ZbMV0s IDEsIFRGVFBfTUFYX1dJTkRPV1NJWkUsICZ3aW5kb3dzaXplKSkgewogICAgICAgICAgcHJpbnRm KCIlczogYmFkIHdpbmRvdyBzaXplICh2YWxpZCByYW5nZSBpcyAxLSV1KVxuIiwKICAgICAgICAg ICAgICAgICBhcmd2WzFdLCBURlRQX01BWF9XSU5ET1dTSVpFKTsKKysgICAgICAgIHJldHVybiBF WF9VU0FHRTsKICAgICAgfQogKyAgICByZXR1cm4gMDsKICB9CkBAIC00NTUsNyArNTYxLDcgQEAg aW5kZXggMWI2MThiMS4uYmJjYWIwMiAxMDA2NDQKICB7CiAgICAgICh2b2lkKWFyZ2M7CiAgICAg ICh2b2lkKWFyZ3Y7ICAgICAgICAgICAgICAgICAvKiBRdWlldCB1bnVzZWQgd2FybmluZyAqLwot QEAgLTg4OSw2ICs5MDMsNyBAQCBzdGF0aWMgdm9pZCBzdGF0dXMoaW50IGFyZ2MsIGNoYXIgKmFy Z3ZbXSkKK0BAIC04ODksNiArOTI2LDcgQEAgc3RhdGljIHZvaWQgc3RhdHVzKGludCBhcmdjLCBj aGFyICphcmd2W10pCiAgICAgICAgICAgICByZXhtdHZhbCwgbWF4dGltZW91dCk7CiAgICAgIHBy aW50ZigiQmxvY2tzaXplOiAldSwgd2luZG93c2l6ZTogJXVcbiIsIGJsb2Nrc2l6ZSwKICAgICAg ICAgICAgIHdpbmRvd3NpemUgPyB3aW5kb3dzaXplIDogMSk7CkBAIC00NjMsNyArNTY5LDE2IEBA IGluZGV4IDFiNjE4YjEuLmJiY2FiMDIgMTAwNjQ0CiAgfQogIAogIHN0YXRpYyB2b2lkIGludHIo aW50IHNpZykKLUBAIC0xMDMxLDcgKzEwNDYsNyBAQCBzdGF0aWMgaW50IG1ha2Vhcmd2KGNoYXIg KnN0ciwgY2hhciAqKmFyZ3ApCitAQCAtOTU4LDcgKzk5Niw3IEBAIHN0YXRpYyB2b2lkIGNvbW1h bmQodm9pZCkKKyAgICAgICAgICAgICBwcmludGYoIkVycm9yOiAlcyBjb21tYW5kOiAlc1xuIiwg ZXJydHlwZSwgbWFyZ3ZbMF0pOworICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgfQor LSAgICAgICAgKCpjLT5oYW5kbGVyKSAobWFyZ2MsIG1hcmd2KTsKKysgICAgICAgICh2b2lkKSgq Yy0+aGFuZGxlcikgKG1hcmdjLCBtYXJndik7CisgICAgIH0KKyB9CisgCitAQCAtMTAzMSw3ICsx MDY5LDcgQEAgc3RhdGljIGludCBtYWtlYXJndihjaGFyICpzdHIsIGNoYXIgKiphcmdwKQogICAg ICByZXR1cm4gYXJnYzsKICB9CiAgCkBAIC00NzIsNyArNTg3LDcgQEAgaW5kZXggMWI2MThiMS4u YmJjYWIwMiAxMDA2NDQKICB7CiAgICAgICh2b2lkKWFyZ2M7CiAgICAgICh2b2lkKWFyZ3Y7ICAg ICAgICAgICAgICAgICAvKiBRdWlldCB1bnVzZWQgd2FybmluZyAqLwotQEAgLTEwNDEsNyArMTA1 Niw3IEBAIHN0YXRpYyB2b2lkIHF1aXQoaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK0BAIC0xMDQx LDcgKzEwNzksNyBAQCBzdGF0aWMgdm9pZCBxdWl0KGludCBhcmdjLCBjaGFyICphcmd2W10pCiAg LyoKICAgKiBIZWxwIGNvbW1hbmQuCiAgICovCkBAIC00ODEsNyArNTk2LDcgQEAgaW5kZXggMWI2 MThiMS4uYmJjYWIwMiAxMDA2NDQKICB7CiAgICAgIGNvbnN0IHN0cnVjdCBjbWQgKmM7CiAgCi1A QCAtMTA1MSw3ICsxMDY2LDcgQEAgc3RhdGljIHZvaWQgaGVscChpbnQgYXJnYywgY2hhciAqYXJn dltdKQorQEAgLTEwNTEsNyArMTA4OSw3IEBAIHN0YXRpYyB2b2lkIGhlbHAoaW50IGFyZ2MsIGNo YXIgKmFyZ3ZbXSkKICAgICAgICAgIHByaW50ZigiQ29tbWFuZHMgbWF5IGJlIGFiYnJldmlhdGVk LiAgQ29tbWFuZHMgYXJlOlxuXG4iKTsKICAgICAgICAgIGZvciAoYyA9IGNtZHRhYjsgYy0+bmFt ZTsgYysrKQogICAgICAgICAgICAgIHByaW50ZigiJS0qc1x0JXNcbiIsIChpbnQpSEVMUElOREVO VCwgYy0+bmFtZSwgYy0+aGVscCk7CkBAIC00OTAsNyArNjA1LDcgQEAgaW5kZXggMWI2MThiMS4u YmJjYWIwMiAxMDA2NDQKICAgICAgfQogICAgICB3aGlsZSAoLS1hcmdjID4gMCkgewogICAgICAg ICAgY29uc3QgY2hhciAqZXJydHlwZTsKLUBAIC0xMDYzLDE4ICsxMDc4LDIwIEBAIHN0YXRpYyB2 b2lkIGhlbHAoaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK0BAIC0xMDYzLDE4ICsxMTAxLDIwIEBA IHN0YXRpYyB2b2lkIGhlbHAoaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKICAgICAgICAgIGVsc2UK ICAgICAgICAgICAgICBwcmludGYoIiVzXG4iLCBjLT5oZWxwKTsKICAgICAgfQpAQCAtNTEzLDcg KzYyOCw3IEBAIGluZGV4IDFiNjE4YjEuLmJiY2FiMDIgMTAwNjQ0CiAgewogICAgICBjb25zdCBj aGFyICpuYW1lOwogIAotQEAgLTEwOTAsNyArMTEwNyw3IEBAIHN0YXRpYyB2b2lkIHNldF92ZXJi b3NpdHkoY29uc3QgY2hhciAqdG8sIGJvb2wgc3RhcnR1cCkKK0BAIC0xMDkwLDcgKzExMzAsNyBA QCBzdGF0aWMgdm9pZCBzZXRfdmVyYm9zaXR5KGNvbnN0IGNoYXIgKnRvLCBib29sIHN0YXJ0dXAp CiAgICAgICAgICAgICAgICAgIGV4aXQoRVhfVVNBR0UpOwogICAgICAgICAgICAgIH0gZWxzZSB7 CiAgICAgICAgICAgICAgICAgIHByaW50ZigiSW52YWxpZCB2ZXJib3NpdHkgbGV2ZWw6ICVzXG4i LCB0byk7CkBAIC01MjIsNyArNjM3LDcgQEAgaW5kZXggMWI2MThiMS4uYmJjYWIwMiAxMDA2NDQK ICAgICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgIH0gZWxzZSB7Ci1AQCAtMTExMSwxMCAr MTEyOCwxMSBAQCBzdGF0aWMgdm9pZCBzZXRfdmVyYm9zaXR5KGNvbnN0IGNoYXIgKnRvLCBib29s IHN0YXJ0dXApCitAQCAtMTExMSwxMCArMTE1MSwxMSBAQCBzdGF0aWMgdm9pZCBzZXRfdmVyYm9z aXR5KGNvbnN0IGNoYXIgKnRvLCBib29sIHN0YXJ0dXApCiAgCiAgICAgIGlmICghc3RhcnR1cCkK ICAgICAgICAgIHByaW50ZigiVmVyYm9zaXR5IHNldCB0byBsZXZlbCAlZCAoJXMpLlxuIiwgdmVy Ym9zZSwgbmFtZSk7CkBAIC01MzcsNDAgKzY1Miw0MiBAQCBpbmRleCAxYjYxOGIxLi5iYmNhYjAy IDEwMDY0NAogKyAgICByZXR1cm4gc2V0X3ZlcmJvc2l0eShhcmd2WzFdLCBmYWxzZSk7CiAgfQog ZGlmZiAtLWdpdCBhL3RmdHAvdGZ0cC5jIGIvdGZ0cC90ZnRwLmMKLWluZGV4IGI3NTI3ODcuLjQ5 NjhhZTMgMTAwNjQ0CitpbmRleCA5OTJkN2E2Li4wMzk2N2NjIDEwMDY0NAogLS0tIGEvdGZ0cC90 ZnRwLmMKICsrKyBiL3RmdHAvdGZ0cC5jCi1AQCAtMTI4LDcgKzEyOCw3IEBAIHN0YXRpYyBjb25z dCBzdHJ1Y3QgdGZ0cF94ZmVyX29wcyBjbGllbnRfeGZlcl9vcHMgPSB7CitAQCAtMTIwLDggKzEy MCw4IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgdGZ0cF94ZmVyX29wcyBjbGllbnRfeGZlcl9vcHMg PSB7CiAgLyoKICAgKiBTZW5kIHRoZSByZXF1ZXN0ZWQgZmlsZS4KICAgKi8KIC12b2lkIHRmdHBf c2VuZGZpbGUoaW50IGZkLCBjb25zdCBjaGFyICpuYW1lLCBjb25zdCBjaGFyICptb2RlLAorLSAg ICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgcmVxdWVzdGVkX3dpbmRvdykKICtpbnQgdGZ0 cF9zZW5kZmlsZShpbnQgZmQsIGNvbnN0IGNoYXIgKm5hbWUsIGNvbnN0IGNoYXIgKm1vZGUsCi0g ICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCByZXF1ZXN0ZWRfd2luZG93KQorKyAgICAg ICAgICAgICAgICAgIHVuc2lnbmVkIGludCByZXF1ZXN0ZWRfd2luZG93KQogIHsKICAgICAgc3Ry dWN0IHRmdHBoZHIgKmFwOwotQEAgLTE0MCw3ICsxNDAsNyBAQCB2b2lkIHRmdHBfc2VuZGZpbGUo aW50IGZkLCBjb25zdCBjaGFyICpuYW1lLCBjb25zdCBjaGFyICptb2RlLAotICAgICBzdHJ1Y3Qg Y2xpZW50X3hmZXJfY29udGV4dCBjb250ZXh0OworICAgICBjaGFyIHJlc3BvbnNlW1JFUUJVRlNJ WkVdOworQEAgLTEzMyw2ICsxMzMsNyBAQCB2b2lkIHRmdHBfc2VuZGZpbGUoaW50IGZkLCBjb25z dCBjaGFyICpuYW1lLCBjb25zdCBjaGFyICptb2RlLAogICAgICBzdHJ1Y3QgdGZ0cF94ZmVyIHhm ZXI7CiAgICAgIHN0cnVjdCB0ZnRwX3hmZXJfcmVzdWx0IHJlc3VsdDsKLS0gICAgaW50IG4sIHNp emU7Ci0rICAgIGludCBuLCBzaXplLCBlcnIgPSAwOworICAgICBpbnQgbiwgc2l6ZTsKKysgICAg dm9sYXRpbGUgaW50IGVyciA9IDA7CiAgICAgIGJvb2wgY29udmVydCA9ICFzdHJjbXAobW9kZSwg Im5ldGFzY2lpIik7CiAgICAgIHVuc2lnbmVkIGludCB3aW5kb3c7CiAgICAgIHVuc2lnbmVkIGlu dCBuZWdvdGlhdGVkX2Jsb2NrLCBuZWdvdGlhdGVkX3dpbmRvdzsKLUBAIC0xNTEsOCArMTUxLDEw IEBAIHZvaWQgdGZ0cF9zZW5kZmlsZShpbnQgZmQsIGNvbnN0IGNoYXIgKm5hbWUsIGNvbnN0IGNo YXIgKm1vZGUsCitAQCAtMTQ3LDggKzE0OCwxMSBAQCB2b2lkIHRmdHBfc2VuZGZpbGUoaW50IGZk LCBjb25zdCBjaGFyICpuYW1lLCBjb25zdCBjaGFyICptb2RlLAogIAogICAgICBzdGFydGNsb2Nr KCk7CiAgICAgIGZpbGUgPSBmZG9wZW4oZmQsIGNvbnZlcnQgPyAicnQiIDogInJiIik7CiAtICAg IGlmICghZmlsZSkKICsgICAgaWYgKCFmaWxlKSB7CisrICAgICAgICBjbG9zZShmZCk7CiArICAg ICAgICBlcnIgPSBFWF9PU0VSUjsKICAgICAgICAgIGdvdG8gYWJvcnQ7CiArICAgIH0KICAgICAg YXAgPSAoc3RydWN0IHRmdHBoZHIgKilhY2tidWY7CiAgCiAgICAgIHRmdHBfc2lnbmFsKFNJR0FM Uk0sIHRpbWVyLCAwKTsKLUBAIC0xNjAsNiArMTYyLDcgQEAgdm9pZCB0ZnRwX3NlbmRmaWxlKGlu dCBmZCwgY29uc3QgY2hhciAqbmFtZSwgY29uc3QgY2hhciAqbW9kZSwKK0BAIC0xNTYsNiArMTYw LDcgQEAgdm9pZCB0ZnRwX3NlbmRmaWxlKGludCBmZCwgY29uc3QgY2hhciAqbmFtZSwgY29uc3Qg Y2hhciAqbW9kZSwKICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZihhY2tidWYpKTsKICAg ICAgaWYgKHNpemUgPCAwKSB7CiAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgInRmdHA6ICVzOiAl c1xuIiwgbmFtZSwgc3RyZXJyb3IoZXJybm8pKTsKQEAgLTU3OCw3ICs2OTUsNyBAQCBpbmRleCBi NzUyNzg3Li40OTY4YWUzIDEwMDY0NAogICAgICAgICAgZ290byBhYm9ydDsKICAgICAgfQogIAot QEAgLTE3MSw2ICsxNzQsNyBAQCB2b2lkIHRmdHBfc2VuZGZpbGUoaW50IGZkLCBjb25zdCBjaGFy ICpuYW1lLCBjb25zdCBjaGFyICptb2RlLAorQEAgLTE2Nyw2ICsxNzIsNyBAQCB2b2lkIHRmdHBf c2VuZGZpbGUoaW50IGZkLCBjb25zdCBjaGFyICpuYW1lLCBjb25zdCBjaGFyICptb2RlLAogICAg ICAgICAgICAgIHRwYWNrZXQoInNlbnQiLCBhcCwgc2l6ZSk7CiAgICAgICAgICBpZiAoc2VuZHRv KGYsIGFwLCBzaXplLCAwLCAmcGVlcmFkZHIuc2EsIFNPQ0tMRU4oJnBlZXJhZGRyKSkgIT0gc2l6 ZSkgewogICAgICAgICAgICAgIHBlcnJvcigidGZ0cDogc2VuZHRvIik7CkBAIC01ODYsNyArNzAz LDcgQEAgaW5kZXggYjc1Mjc4Ny4uNDk2OGFlMyAxMDA2NDQKICAgICAgICAgICAgICBnb3RvIGFi b3J0OwogICAgICAgICAgfQogICAgICAgICAgcl90aW1lb3V0ID0gdGltZW91dDsKLUBAIC0xNzgs NiArMTgyLDcgQEAgdm9pZCB0ZnRwX3NlbmRmaWxlKGludCBmZCwgY29uc3QgY2hhciAqbmFtZSwg Y29uc3QgY2hhciAqbW9kZSwKK0BAIC0xNzUsNiArMTgxLDcgQEAgdm9pZCB0ZnRwX3NlbmRmaWxl KGludCBmZCwgY29uc3QgY2hhciAqbmFtZSwgY29uc3QgY2hhciAqbW9kZSwKICAgICAgICAgIG4g PSBjbGllbnRfcmVjdl90aW1lKHJlc3BvbnNlLCBzaXplb2YocmVzcG9uc2UpLCAmZnJvbSwgJnJf dGltZW91dCk7CiAgICAgICAgICBpZiAobiA8IDApIHsKICAgICAgICAgICAgICBwZXJyb3IoInRm dHA6IHJlY3Zmcm9tIik7CkBAIC01OTQsNyArNzExLDcgQEAgaW5kZXggYjc1Mjc4Ny4uNDk2OGFl MyAxMDA2NDQKICAgICAgICAgICAgICBnb3RvIGFib3J0OwogICAgICAgICAgfQogICAgICAgICAg aWYgKG4gPCAyKQotQEAgLTE4OCwxMiArMTkzLDE0IEBAIHZvaWQgdGZ0cF9zZW5kZmlsZShpbnQg ZmQsIGNvbnN0IGNoYXIgKm5hbWUsIGNvbnN0IGNoYXIgKm1vZGUsCitAQCAtMTg1LDEyICsxOTIs MTQgQEAgdm9pZCB0ZnRwX3NlbmRmaWxlKGludCBmZCwgY29uc3QgY2hhciAqbmFtZSwgY29uc3Qg Y2hhciAqbW9kZSwKICAgICAgICAgIGFwX2Jsb2NrID0gbnRvaHMocnAtPnRoX2Jsb2NrKTsKICAg ICAgICAgIGlmIChhcF9vcGNvZGUgPT0gRVJST1IpIHsKICAgICAgICAgICAgICBwcmludGYoIkVy cm9yIGNvZGUgJWQ6ICVzXG4iLCBhcF9ibG9jaywgcnAtPnRoX21zZyk7CkBAIC02MDksNyArNzI2 LDcgQEAgaW5kZXggYjc1Mjc4Ny4uNDk2OGFlMyAxMDA2NDQKICAgICAgICAgICAgICAgICAgZ290 byBhYm9ydDsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgc2Vnc2l6ZSA9IChpbnQpbmVn b3RpYXRlZF9ibG9jazsKLUBAIC0yMTMsNiArMjIwLDcgQEAgdm9pZCB0ZnRwX3NlbmRmaWxlKGlu dCBmZCwgY29uc3QgY2hhciAqbmFtZSwgY29uc3QgY2hhciAqbW9kZSwKK0BAIC0yMTAsNiArMjE5 LDcgQEAgdm9pZCB0ZnRwX3NlbmRmaWxlKGludCBmZCwgY29uc3QgY2hhciAqbmFtZSwgY29uc3Qg Y2hhciAqbW9kZSwKICAgICAgaW8gPSB0ZnRwX2lvX3JlYWRlcl9zdGFydChmaWxlLCBjb252ZXJ0 LCB3aW5kb3csIHdpbmRvdywgc2Vnc2l6ZSwgZmFsc2UpOwogICAgICBpZiAoIWlvKSB7CiAgICAg ICAgICBuYWsoZXJybm8gKyAxMDAsIE5VTEwpOwpAQCAtNjE3LDcgKzczNCw3IEBAIGluZGV4IGI3 NTI3ODcuLjQ5NjhhZTMgMTAwNjQ0CiAgICAgICAgICBnb3RvIGFib3J0OwogICAgICB9CiAgCi1A QCAtMjM0LDE3ICsyNDIsMjEgQEAgdm9pZCB0ZnRwX3NlbmRmaWxlKGludCBmZCwgY29uc3QgY2hh ciAqbmFtZSwgY29uc3QgY2hhciAqbW9kZSwKK0BAIC0yMzEsMTcgKzI0MSwyMSBAQCB2b2lkIHRm dHBfc2VuZGZpbGUoaW50IGZkLCBjb25zdCBjaGFyICpuYW1lLCBjb25zdCBjaGFyICptb2RlLAog ICAgICBzd2l0Y2ggKHJlc3VsdC5zdGF0dXMpIHsKICAgICAgY2FzZSBURlRQX1hGRVJfUkVBRF9F UlJPUjoKICAgICAgICAgIG5hayhyZXN1bHQuZXJyb3IgKyAxMDAsIE5VTEwpOwpAQCAtNjM5LDEx ICs3NTYsMTAgQEAgaW5kZXggYjc1Mjc4Ny4uNDk2OGFlMyAxMDA2NDQKICAgICAgICAgIGJyZWFr OwogICAgICBkZWZhdWx0OgogICAgICAgICAgYnJlYWs7Ci1AQCAtMjU2LDEzICsyNjgsMTUgQEAg dm9pZCB0ZnRwX3NlbmRmaWxlKGludCBmZCwgY29uc3QgY2hhciAqbmFtZSwgY29uc3QgY2hhciAq bW9kZSwKK0BAIC0yNTYsMTMgKzI3MCwxNCBAQCB2b2lkIHRmdHBfc2VuZGZpbGUoaW50IGZkLCBj b25zdCBjaGFyICpuYW1lLCBjb25zdCBjaGFyICptb2RlLAogICAgICBzdG9wY2xvY2soKTsKICAg ICAgaWYgKGFtb3VudCA+IDApCiAgICAgICAgICBwcmludHN0YXRzKCJTZW50IiwgYW1vdW50KTsK LSsKICsgICAgcmV0dXJuIGVycjsKICB9CiAgCkBAIC02NTcsMjEgKzc3MywyMSBAQCBpbmRleCBi NzUyNzg3Li40OTY4YWUzIDEwMDY0NAogIHsKICAgICAgc3RydWN0IHRmdHBoZHIgKmFwOwogICAg ICB1bmlvbiBzb2NrX2FkZHIgZnJvbTsKLUBAIC0yNzUsNyArMjg5LDcgQEAgdm9pZCB0ZnRwX3Jl Y3ZmaWxlKGludCBmZCwgY29uc3QgY2hhciAqbmFtZSwgY29uc3QgY2hhciAqbW9kZSwKLSAgICAg Y29uc3Qgc3RydWN0IHRmdHBoZHIgKiB2b2xhdGlsZSBpbml0aWFsX3JlcGx5ID0gTlVMTDsKK0BA IC0yNzYsNiArMjkxLDcgQEAgdm9pZCB0ZnRwX3JlY3ZmaWxlKGludCBmZCwgY29uc3QgY2hhciAq bmFtZSwgY29uc3QgY2hhciAqbW9kZSwKICAgICAgdm9sYXRpbGUgaW50IGluaXRpYWxfcmVwbHlf bGVuID0gMDsKICAgICAgdm9sYXRpbGUgaW50IGluaXRpYWxfcGFja2V0X2xlbiA9IC0xOwotLSAg ICBpbnQgbiwgc2l6ZTsKLSsgICAgaW50IG4sIHNpemUsIGVyciA9IDA7CisgICAgIGludCBuLCBz aXplOworKyAgICB2b2xhdGlsZSBpbnQgZXJyID0gMDsKICAgICAgYm9vbCBjb252ZXJ0ID0gIXN0 cmNtcChtb2RlLCAibmV0YXNjaWkiKTsKICAgICAgdW5zaWduZWQgaW50IHdpbmRvdzsKICAgICAg dW5zaWduZWQgaW50IG5lZ290aWF0ZWRfYmxvY2ssIG5lZ290aWF0ZWRfd2luZG93OwotQEAgLTI4 NiwxNCArMzAwLDE3IEBAIHZvaWQgdGZ0cF9yZWN2ZmlsZShpbnQgZmQsIGNvbnN0IGNoYXIgKm5h bWUsIGNvbnN0IGNoYXIgKm1vZGUsCitAQCAtMjg4LDE0ICszMDQsMTggQEAgdm9pZCB0ZnRwX3Jl Y3ZmaWxlKGludCBmZCwgY29uc3QgY2hhciAqbmFtZSwgY29uc3QgY2hhciAqbW9kZSwKICAKICAg ICAgc3RhcnRjbG9jaygpOwogICAgICBmaWxlID0gZmRvcGVuKGZkLCBjb252ZXJ0ID8gInd0IiA6 ICJ3YiIpOwogLSAgICBpZiAoIWZpbGUpCiArICAgIGlmICghZmlsZSkgeworKyAgICAgICAgY2xv c2UoZmQpOwogKyAgICAgICAgZXJyID0gRVhfT1NFUlI7CiAgICAgICAgICBnb3RvIGFib3J0Owog KyAgICB9CkBAIC02ODUsNyArODAxLDcgQEAgaW5kZXggYjc1Mjc4Ny4uNDk2OGFlMyAxMDA2NDQK ICAgICAgICAgIGdvdG8gYWJvcnQ7CiAgICAgIH0KICAgICAgdGZ0cF9zaWduYWwoU0lHQUxSTSwg dGltZXIsIDApOwotQEAgLTMwNiw2ICszMjMsNyBAQCB2b2lkIHRmdHBfcmVjdmZpbGUoaW50IGZk LCBjb25zdCBjaGFyICpuYW1lLCBjb25zdCBjaGFyICptb2RlLAorQEAgLTMwOCw2ICszMjgsNyBA QCB2b2lkIHRmdHBfcmVjdmZpbGUoaW50IGZkLCBjb25zdCBjaGFyICpuYW1lLCBjb25zdCBjaGFy ICptb2RlLAogICAgICAgICAgICAgIHRwYWNrZXQoInNlbnQiLCBhcCwgc2l6ZSk7CiAgICAgICAg ICBpZiAoc2VuZHRvKGYsIGFwLCBzaXplLCAwLCAmcGVlcmFkZHIuc2EsIFNPQ0tMRU4oJnBlZXJh ZGRyKSkgIT0gc2l6ZSkgewogICAgICAgICAgICAgIHBlcnJvcigidGZ0cDogc2VuZHRvIik7CkBA IC02OTMsNyArODA5LDcgQEAgaW5kZXggYjc1Mjc4Ny4uNDk2OGFlMyAxMDA2NDQKICAgICAgICAg ICAgICBnb3RvIGFib3J0OwogICAgICAgICAgfQogICAgICAgICAgcl90aW1lb3V0ID0gdGltZW91 dDsKLUBAIC0zMTQsNiArMzMyLDcgQEAgdm9pZCB0ZnRwX3JlY3ZmaWxlKGludCBmZCwgY29uc3Qg Y2hhciAqbmFtZSwgY29uc3QgY2hhciAqbW9kZSwKK0BAIC0zMTYsNiArMzM3LDcgQEAgdm9pZCB0 ZnRwX3JlY3ZmaWxlKGludCBmZCwgY29uc3QgY2hhciAqbmFtZSwgY29uc3QgY2hhciAqbW9kZSwK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZmcm9tLCAmcl90aW1lb3V0KTsKICAgICAg ICAgIGlmIChuIDwgMCkgewogICAgICAgICAgICAgIHBlcnJvcigidGZ0cDogcmVjdmZyb20iKTsK QEAgLTcwMSw3ICs4MTcsNyBAQCBpbmRleCBiNzUyNzg3Li40OTY4YWUzIDEwMDY0NAogICAgICAg ICAgICAgIGdvdG8gYWJvcnQ7CiAgICAgICAgICB9CiAgICAgICAgICBpZiAobiA8IDIpCi1AQCAt MzI0LDEyICszNDMsMTQgQEAgdm9pZCB0ZnRwX3JlY3ZmaWxlKGludCBmZCwgY29uc3QgY2hhciAq bmFtZSwgY29uc3QgY2hhciAqbW9kZSwKK0BAIC0zMjYsMTIgKzM0OCwxNCBAQCB2b2lkIHRmdHBf cmVjdmZpbGUoaW50IGZkLCBjb25zdCBjaGFyICpuYW1lLCBjb25zdCBjaGFyICptb2RlLAogICAg ICAgICAgaWYgKG9wY29kZSA9PSBFUlJPUikgewogICAgICAgICAgICAgIHByaW50ZigiRXJyb3Ig Y29kZSAlZDogJXNcbiIsCiAgICAgICAgICAgICAgICAgICAgIG50b2hzKGluaXRpYWxfcGFja2V0 LT50aF9jb2RlKSwgaW5pdGlhbF9wYWNrZXQtPnRoX21zZyk7CkBAIC03MTYsNyArODMyLDcgQEAg aW5kZXggYjc1Mjc4Ny4uNDk2OGFlMyAxMDA2NDQKICAgICAgICAgICAgICAgICAgZ290byBhYm9y dDsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgc2Vnc2l6ZSA9IChpbnQpbmVnb3RpYXRl ZF9ibG9jazsKLUBAIC0zNTUsNiArMzc2LDcgQEAgdm9pZCB0ZnRwX3JlY3ZmaWxlKGludCBmZCwg Y29uc3QgY2hhciAqbmFtZSwgY29uc3QgY2hhciAqbW9kZSwKK0BAIC0zNTcsNiArMzgxLDcgQEAg dm9pZCB0ZnRwX3JlY3ZmaWxlKGludCBmZCwgY29uc3QgY2hhciAqbmFtZSwgY29uc3QgY2hhciAq bW9kZSwKICAgICAgaW8gPSB0ZnRwX2lvX3dyaXRlcl9zdGFydChmaWxlLCBjb252ZXJ0LCB3aW5k b3csIHNlZ3NpemUsIGZhbHNlKTsKICAgICAgaWYgKCFpbykgewogICAgICAgICAgbmFrKGVycm5v ICsgMTAwLCBOVUxMKTsKQEAgLTcyNCw3ICs4NDAsNyBAQCBpbmRleCBiNzUyNzg3Li40OTY4YWUz IDEwMDY0NAogICAgICAgICAgZ290byBhYm9ydDsKICAgICAgfQogIAotQEAgLTM4MSwyMSArNDAz LDI2IEBAIHZvaWQgdGZ0cF9yZWN2ZmlsZShpbnQgZmQsIGNvbnN0IGNoYXIgKm5hbWUsIGNvbnN0 IGNoYXIgKm1vZGUsCitAQCAtMzgzLDIxICs0MDgsMjYgQEAgdm9pZCB0ZnRwX3JlY3ZmaWxlKGlu dCBmZCwgY29uc3QgY2hhciAqbmFtZSwgY29uc3QgY2hhciAqbW9kZSwKICAgICAgc3dpdGNoIChy ZXN1bHQuc3RhdHVzKSB7CiAgICAgIGNhc2UgVEZUUF9YRkVSX0JBRF9EQVRBOgogICAgICAgICAg bmFrKEVCQURPUCwgIkRhdGEgcGFja2V0IHRvbyBsYXJnZSIpOwpAQCAtNzUxLDcgKzg2Nyw3IEBA IGluZGV4IGI3NTI3ODcuLjQ5NjhhZTMgMTAwNjQ0CiAgICAgICAgICBicmVhazsKICAgICAgZGVm YXVsdDoKICAgICAgICAgIGJyZWFrOwotQEAgLTQxMiw2ICs0MzksNyBAQCB2b2lkIHRmdHBfcmVj dmZpbGUoaW50IGZkLCBjb25zdCBjaGFyICpuYW1lLCBjb25zdCBjaGFyICptb2RlLAorQEAgLTQx Niw2ICs0NDYsNyBAQCB2b2lkIHRmdHBfcmVjdmZpbGUoaW50IGZkLCBjb25zdCBjaGFyICpuYW1l LCBjb25zdCBjaGFyICptb2RlLAogICAgICBzdG9wY2xvY2soKTsKICAgICAgaWYgKGFtb3VudCA+ IDApCiAgICAgICAgICBwcmludHN0YXRzKCJSZWNlaXZlZCIsIGFtb3VudCk7CgpkaWZmIC0tZ2l0 IGEvdGZ0cC5zcGVjIGIvdGZ0cC5zcGVjCmluZGV4IGNlNTQyYTQuLjc2YWIwZTggMTAwNjQ0Ci0t LSBhL3RmdHAuc3BlYworKysgYi90ZnRwLnNwZWMKQEAgLTEsNyArMSw3IEBACiBTdW1tYXJ5OiBU aGUgY2xpZW50IGZvciB0aGUgVHJpdmlhbCBGaWxlIFRyYW5zZmVyIFByb3RvY29sIChURlRQKQog TmFtZTogdGZ0cAogVmVyc2lvbjogNi4xCi1SZWxlYXNlOiAyJXs/ZGlzdH0KK1JlbGVhc2U6IDMl ez9kaXN0fQogTGljZW5zZTogQlNELTQtQ2xhdXNlLVVDCiBVUkw6IGh0dHA6Ly93d3cua2VybmVs Lm9yZy9wdWIvc29mdHdhcmUvbmV0d29yay90ZnRwLwogU291cmNlMDogaHR0cHM6Ly93d3cua2Vy bmVsLm9yZy9wdWIvc29mdHdhcmUvbmV0d29yay90ZnRwL3RmdHAtaHBhLSV7dmVyc2lvbn0udGFy Lmd6CkBAIC0xNCwxNCArMTQsMTggQEAgU291cmNlNDogdGZ0cC5zZXJ2aWNlCiBTb3VyY2U1OiB0 ZnRwLXNlcnZlci1zeXN1c2Vycy5jb25mCiBTb3VyY2U2OiB0ZnRwLXNlcnZlci10bXBmaWxlcy5j b25mCiAKLSMgVG8tYmUgdXBzdHJlYW1lZCBwYXRjaGVzCisjIFVwc3RyZWFtZWQgcGF0Y2hlcwor IyBodHRwczovL2dpdGh1Yi5jb20vaHBheC90ZnRwLWhwYS9jb21taXQvYWI5M2EyNDU3NDdhZGE4 OTQ4ZjQ1OTRkZTU0YTRiMmIzMGM0YjQ2MgogUGF0Y2g6IHRmdHAtZW5oYW5jZWQtbG9nZ2luZy5w YXRjaAorIyBodHRwczovL2dpdGh1Yi5jb20vaHBheC90ZnRwLWhwYS9jb21taXQvNDNhODZjYmNi ZmQzOGU5OTJkNmY1ZDUwMDllZWE2MGY0MzY3MTFlNAogUGF0Y2g6IHRmdHAtaHBhLTUuMi1vc2gu cGF0Y2gKKyMgaHR0cHM6Ly9naXRodWIuY29tL2hwYXgvdGZ0cC1ocGEvY29tbWl0Lzg1YjI0NmMy YmIzODg3ZWMxOTM2Nzg0MWIzNDIzMTJmODkwOTBhYWYKIFBhdGNoOiB0ZnRwLWhwYS01LjMtdGZ0 cC1leGl0LWNvZGUtY21kbW9kZS5wYXRjaAogCiAjIERvd25zdHJlYW0tb25seSBwYXRjaGVzCi1Q YXRjaDogdGZ0cC0wLjQyLXRmdHBib290LnBhdGNoCitQYXRjaDogdGZ0cC1mZWRvcmEtdGZ0cGJv b3QucGF0Y2gKIAorQnVpbGRSZXF1aXJlczogYmMKIEJ1aWxkUmVxdWlyZXM6IGdjYwogQnVpbGRS ZXF1aXJlczogZ3BndmVyaWZ5CiBCdWlsZFJlcXVpcmVzOiBtYWtlCkBAIC03MCw2ICs3NCw5IEBA IGluc3RhbGwgLUQgLXAgLW0gNjQ0ICVTT1VSQ0U2ICV7YnVpbGRyb290fSV7X3RtcGZpbGVzZGly fS8le25hbWV9LmNvbmYKIG1rZGlyIC1wICV7YnVpbGRyb290fSV7X3N5c2NvbmZkaXJ9L3RmdHAK IGVjaG8gJyMgU2VlIHRmdHBkKDgpIGZvciB0aGUgZGVmaW5pdGlvbiBvZiByZW1hcCBydWxlcycg PiAle2J1aWxkcm9vdH0le19zeXNjb25mZGlyfS8le25hbWV9L21hcC1maWxlCiAKKyVjaGVjawor dGVzdHMvdGVzdC10ZnRwLnNoCisKICVwb3N0IHNlcnZlcgogJXN5c3RlbWRfcG9zdCB0ZnRwLnNv Y2tldAogCkBAIC05OSw2ICsxMDYsMTAgQEAgZWNobyAnIyBTZWUgdGZ0cGQoOCkgZm9yIHRoZSBk ZWZpbml0aW9uIG9mIHJlbWFwIHJ1bGVzJyA+ICV7YnVpbGRyb290fSV7X3N5c2NvbmYKICV7X3Vu aXRkaXJ9L3RmdHAuc29ja2V0CiAKICVjaGFuZ2Vsb2cKKyogRnJpIFNlcCAxMSAyMDI2IEx1a8Oh xaEgWmFvcmFsIDxsemFvcmFsQHJlZGhhdC5jb20+IC0gNi4xLTMKKy0gc3luYyBwYXRjaGVzIHdp dGggdXBzdHJlYW0KKy0gZXhlY3V0ZSB0ZXN0c3VpdGUgaW4gJSVjaGVjaworCiAqIEZyaSBTZXAg MTEgMjAyNiBMdWvDocWhIFphb3JhbCA8bHphb3JhbEByZWRoYXQuY29tPiAtIDYuMS0yCiAtIHRm dHAgc3lzdGVtZCBzZXJ2aWNlIGltcHJvdmVtZW50cwogICAtIHVzZSB0aGUgc2FtZSB2ZXJib3Np dHkgbGV2ZWwgYXMgb2xkZXIgcmVsZWFzZXMgKC12IGlzIG5vdyBuZWNlc3NhcnkpCg==