From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 21391 invoked from network); 1 Mar 2021 11:33:18 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 1 Mar 2021 11:33:18 -0000 Content-Type: multipart/mixed; boundary="===============7563753772548191039==" MIME-Version: 1.0 Subject: =?utf8?b?UmU6IFtQUiBQQVRDSF0gW1VwZGF0ZWRdIDBhZCAwLjAuMjQ=?= To: ml@inbox.vuxu.org From: Hoshpak Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Mon, 01 Mar 2021 12:33:16 +0100 List-Id: Message-ID: <20210301113316.Vk_7z1c7FYJd2NYU4p9I-stLYpehNPzh0Es8NyGlQMM@z> GitHub notification mails are now in MIME to allow UTF8. --===============7563753772548191039== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgSG9zaHBhayBhZ2FpbnN0IG1hc3Rl ciBvbiB0aGUgdm9pZC1wYWNrYWdlcyByZXBvc2l0b3J5CgpodHRwczovL2dpdGh1Yi5jb20vSG9z aHBhay92b2lkLXBhY2thZ2VzIDBhZC0wLjAuMjQKaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGlu dXgvdm9pZC1wYWNrYWdlcy9wdWxsLzI5MTU1CgowYWQgMC4wLjI0CldyaXRlIGEgbWVzc2FnZSBm b3IgdGhpcyBwdWxsIHJlcXVlc3QuIFRoZSBmaXJzdCBibG9jawpvZiB0ZXh0IGlzIHRoZSB0aXRs ZSBhbmQgdGhlIHJlc3QgaXMgdGhlIGRlc2NyaXB0aW9uLgoKQ2hhbmdlczoKCmQwOGZlNTU1M2Eg KEhlbG11dCBQb3ppbXNraSwgdm9yIDUxIFNla3VuZGVuKQogICAwYWQtZGF0YTogdXBkYXRlIHRv IDAuMC4yNC4KCjc3Y2QzOTk1MjggKEhlbG11dCBQb3ppbXNraSwgdm9yIDYyIFNla3VuZGVuKQog ICAwYWQ6IHVwZGF0ZSB0byAwLjAuMjQuCgpBIHBhdGNoIGZpbGUgZnJvbSBodHRwczovL2dpdGh1 Yi5jb20vdm9pZC1saW51eC92b2lkLXBhY2thZ2VzL3B1bGwvMjkxNTUucGF0Y2ggaXMgYXR0YWNo ZWQ= --===============7563753772548191039== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-0ad-0.0.24-29155.patch" RnJvbSA3N2NkMzk5NTI4OWJjYjYwMzBhZGNmOWUwMzZiNzg0YzU1MTYxYmRiIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBIZWxtdXQgUG96aW1za2kgPGhlbG11dEBwb3ppbXNraS5ldT4K RGF0ZTogTW9uLCAxIE1hciAyMDIxIDEyOjI5OjU2ICswMTAwClN1YmplY3Q6IFtQQVRDSCAxLzJd IDBhZDogdXBkYXRlIHRvIDAuMC4yNC4KCi0tLQogc3JjcGtncy8wYWQvcGF0Y2hlcy9tdXNsLnBh dGNoICAgICAgICAgICAgICAgIHwgIDExIC0KIHNyY3BrZ3MvMGFkL3BhdGNoZXMvcHBjLW11c2wu cGF0Y2ggICAgICAgICAgICB8ICAxNyArLQogc3JjcGtncy8wYWQvcGF0Y2hlcy9wcGM2NC1zcGlk ZXJtb25rZXkucGF0Y2ggIHwgIDQzIC0tLS0KIHNyY3BrZ3MvMGFkL3BhdGNoZXMvcHBjNjQucGF0 Y2ggICAgICAgICAgICAgICB8IDIxNyArKystLS0tLS0tLS0tLS0tLS0KIC4uLi8wYWQvcGF0Y2hl cy9yZW1vdmUtbWFjb3MtaW5jbHVkZS5wYXRjaCAgICB8ICAxMSArCiBzcmNwa2dzLzBhZC9wYXRj aGVzL3RlbXBsYXRlLW1pc3VzZS5wYXRjaCAgICAgfCAgNDMgLS0tLQogc3JjcGtncy8wYWQvdGVt cGxhdGUgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDE3ICstCiA3IGZpbGVzIGNoYW5nZWQs IDY0IGluc2VydGlvbnMoKyksIDI5NSBkZWxldGlvbnMoLSkKIGRlbGV0ZSBtb2RlIDEwMDY0NCBz cmNwa2dzLzBhZC9wYXRjaGVzL3BwYzY0LXNwaWRlcm1vbmtleS5wYXRjaAogY3JlYXRlIG1vZGUg MTAwNjQ0IHNyY3BrZ3MvMGFkL3BhdGNoZXMvcmVtb3ZlLW1hY29zLWluY2x1ZGUucGF0Y2gKIGRl bGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzLzBhZC9wYXRjaGVzL3RlbXBsYXRlLW1pc3VzZS5wYXRj aAoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvMGFkL3BhdGNoZXMvbXVzbC5wYXRjaCBiL3NyY3BrZ3Mv MGFkL3BhdGNoZXMvbXVzbC5wYXRjaAppbmRleCA1OWE1OWY5ZDJlYy4uNzY4ZWJjMDE5MzIgMTAw NjQ0Ci0tLSBhL3NyY3BrZ3MvMGFkL3BhdGNoZXMvbXVzbC5wYXRjaAorKysgYi9zcmNwa2dzLzBh ZC9wYXRjaGVzL211c2wucGF0Y2gKQEAgLTEsMTQgKzEsMyBAQAotLS0tIGxpYnJhcmllcy9zb3Vy Y2UvbnZ0dC9zcmMvc3JjL252bWF0aC9udm1hdGguaC5vcmlnCTIwMTgtMDYtMTYgMTY6MDE6NDgu NTExNTQwOTQ2ICswMjAwCi0rKysgbGlicmFyaWVzL3NvdXJjZS9udnR0L3NyYy9zcmMvbnZtYXRo L252bWF0aC5oCTIwMTgtMDYtMTYgMTY6MDI6MjkuOTM1MDAwMTgzICswMjAwCi1AQCAtMTMwLDcg KzEzMCw3IEBACi0gewotICNpZiBOVl9PU19XSU4zMgotIAlyZXR1cm4gX2lzbmFuKGYpICE9IDA7 Ci0tI2VsaWYgTlZfT1NfREFSV0lOIHx8IE5WX09TX0ZSRUVCU0QgfHwgTlZfT1NfT1BFTkJTRAot KyNlbGlmIE5WX09TX0RBUldJTiB8fCBOVl9PU19GUkVFQlNEIHx8IE5WX09TX09QRU5CU0QgfHwg IWRlZmluZWQoX19HTElCQ19fKQotIAlyZXR1cm4gaXNuYW4oZik7Ci0gI2VsaWYgTlZfT1NfTElO VVgKLSAJcmV0dXJuIGlzbmFuZihmKTsKIC0tLSBzb3VyY2UvbGliL3N5c2RlcC9vcy9saW51eC9s ZGJnLmNwcC5vcmlnCTIwMTgtMDYtMTYgMTY6Mjc6NTUuNjM5Mjc3MDk0ICswMjAwCiArKysgc291 cmNlL2xpYi9zeXNkZXAvb3MvbGludXgvbGRiZy5jcHAJMjAxOC0wNi0xNiAxNjoyODoxNy4zNDIw MTQwMTkgKzAyMDAKIEBAIC0zMyw3ICszMyw3IEBACmRpZmYgLS1naXQgYS9zcmNwa2dzLzBhZC9w YXRjaGVzL3BwYy1tdXNsLnBhdGNoIGIvc3JjcGtncy8wYWQvcGF0Y2hlcy9wcGMtbXVzbC5wYXRj aAppbmRleCAzODg5NDNiYWRiMS4uYTEwYjk3YWYzYWEgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvMGFk L3BhdGNoZXMvcHBjLW11c2wucGF0Y2gKKysrIGIvc3JjcGtncy8wYWQvcGF0Y2hlcy9wcGMtbXVz bC5wYXRjaApAQCAtMSwxNSArMSwxNCBAQAotT24gbXVzbCB0aGlzIGlzIG5lY2Vzc2FyeSB0byBn ZXQgZnVsbCBkZWZpbml0aW9uIG9mIHB0X3JlZ3MuCi0KLS0tLSBsaWJyYXJpZXMvc291cmNlL252 dHQvc3JjL3NyYy9udmNvcmUvRGVidWcuY3BwCi0rKysgbGlicmFyaWVzL3NvdXJjZS9udnR0L3Ny Yy9zcmMvbnZjb3JlL0RlYnVnLmNwcAotQEAgLTI3LDYgKzI3LDEwIEBACi0gIwlpbmNsdWRlIDxz aWduYWwuaD4KKy0tLSBsaWJyYXJpZXMvc291cmNlL252dHQvc3JjL3NyYy9udmNvcmUvRGVidWcu Y3BwCTIwMjEtMDItMjcgMTE6Mzg6NDkuNzY0ODExNTU2ICswMTAwCisrKysgbGlicmFyaWVzL3Nv dXJjZS9udnR0L3NyYy9zcmMvbnZjb3JlL0RlYnVnLmNwcAkyMDIxLTAyLTI3IDExOjM5OjQ4Ljkx OTAzMjkyMCArMDEwMAorQEAgLTQwLDYgKzQwLDExIEBACisgIyAgIGluY2x1ZGUgPHNpZ25hbC5o PgogICNlbmRpZgogIAogKyNpZiBOVl9PU19MSU5VWAotKyMJaW5jbHVkZSA8YXNtL3B0cmFjZS5o PiAvLyBzdHJ1Y3QgcHRfcmVncworKyMgICAgICBpbmNsdWRlIDxhc20vcHRyYWNlLmg+IC8vIHN0 cnVjdCBwdF9yZWdzCiArI2VuZGlmCiArCi0gI2lmIE5WX09TX0xJTlVYIHx8IE5WX09TX0RBUldJ TiB8fCBOVl9PU19GUkVFQlNEIHx8IE5WX09TX09QRU5CU0QKLSAjCWluY2x1ZGUgPHVuaXN0ZC5o PgkvLyBnZXRwaWQKKysKKyAjaWYgTlZfT1NfVU5JWAorICMgICBpbmNsdWRlIDx1bmlzdGQuaD4g Ly8gZ2V0cGlkCiAgI2VuZGlmCmRpZmYgLS1naXQgYS9zcmNwa2dzLzBhZC9wYXRjaGVzL3BwYzY0 LXNwaWRlcm1vbmtleS5wYXRjaCBiL3NyY3BrZ3MvMGFkL3BhdGNoZXMvcHBjNjQtc3BpZGVybW9u a2V5LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5NDhkMWM2NjAzMy4uMDAw MDAwMDAwMDAKLS0tIGEvc3JjcGtncy8wYWQvcGF0Y2hlcy9wcGM2NC1zcGlkZXJtb25rZXkucGF0 Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0MyArMCwwIEBACi0tLS0gbGlicmFyaWVzL3NvdXJjZS9z cGlkZXJtb25rZXkvcGF0Y2guc2gKLSsrKyBsaWJyYXJpZXMvc291cmNlL3NwaWRlcm1vbmtleS9w YXRjaC5zaAotQEAgLTUzLDMgKzUzLDQgQEAgcGF0Y2ggLXAxICA8IC4uL0ZpeFRyYWNlbG9nZ2Vy LmRpZmYKLSAjIEJhc2VkIG9uOiBodHRwczovL3N2bndlYi5mcmVlYnNkLm9yZy9wb3J0cy9oZWFk L3N5c3V0aWxzL3B5LXBzdXRpbDEyMS9maWxlcy9wYXRjaC1fcHN1dGlsX2JzZC5jP3JldmlzaW9u PTQzNjU3NSZ2aWV3PW1hcmt1cAotICMgUmVsYXRlZDogaHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxh Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTIzODk4MwotIHBhdGNoIC1wMCA8IC4uL0ZpeHBzdXRpbEZy ZWVCU0QuZGlmZgotK3BhdGNoIC1wMCA8IC4uL3BwYzY0LmRpZmYKLS0tLSAvZGV2L251bGwKLSsr KyBsaWJyYXJpZXMvc291cmNlL3NwaWRlcm1vbmtleS9wcGM2NC5kaWZmCi1AQCAtMCwwICsxLDMz IEBACi0rLS0tIGpzL3NyYy9qaXQvQ29kZUdlbmVyYXRvci5jcHAKLSsrKysganMvc3JjL2ppdC9D b2RlR2VuZXJhdG9yLmNwcAotK0BAIC0zNDY0LDEyICszNDY0LDEyIEBAIENvZGVHZW5lcmF0b3I6 OnZpc2l0Q2FsbERpcmVjdEV2YWxWKExDYWxsRGlyZWN0RXZhbFYqIGxpcikKLSsgICAgIGNhbGxW TShEaXJlY3RFdmFsVmFsdWVJbmZvLCBsaXIpOwotKyB9Ci0rIAotKy0vLyBSZWdpc3RlcnMgc2Fm ZSBmb3IgdXNlIGJlZm9yZSBnZW5lcmF0ZVByb2xvZ3VlKCkuCi0rLXN0YXRpYyBjb25zdCB1aW50 MzJfdCBFbnRyeVRlbXBNYXNrID0gUmVnaXN0ZXJzOjpUZW1wTWFzayAmIH4oMSA8PCBPc3JGcmFt ZVJlZy5jb2RlKCkpOwotKy0KLSsgdm9pZAotKyBDb2RlR2VuZXJhdG9yOjpnZW5lcmF0ZUFyZ3Vt ZW50c0NoZWNrcyhib29sIGJhaWxvdXQpCi0rIHsKLSsrICAgIC8vIFJlZ2lzdGVycyBzYWZlIGZv ciB1c2UgYmVmb3JlIGdlbmVyYXRlUHJvbG9ndWUoKS4KLSsrICAgIHN0YXRpYyBjb25zdCB1aW50 MzJfdCBFbnRyeVRlbXBNYXNrID0gUmVnaXN0ZXJzOjpUZW1wTWFzayAmIH4oMSA8PCBPc3JGcmFt ZVJlZy5jb2RlKCkpOwotKysKLSsgICAgIC8vIFRoaXMgZnVuY3Rpb24gY2FuIGJlIHVzZWQgdGhl IG5vcm1hbCB3YXkgdG8gY2hlY2sgdGhlIGFyZ3VtZW50IHR5cGVzLAotKyAgICAgLy8gYmVmb3Jl IGVudGVyaW5nIHRoZSBmdW5jdGlvbiBhbmQgYmFpbG91dCB3aGVuIGFyZ3VtZW50cyBkb24ndCBt YXRjaC4KLSsgICAgIC8vIEZvciBkZWJ1ZyBwdXJwb3NlLCB0aGlzIGlzIGNhbiBhbHNvIGJlIHVz ZWQgdG8gZm9yY2UvY2hlY2sgdGhhdCB0aGUKLSstLS0ganMvc3JjL2ppdC9ub25lL01hY3JvQXNz ZW1ibGVyLW5vbmUuaAotKysrKyBqcy9zcmMvaml0L25vbmUvTWFjcm9Bc3NlbWJsZXItbm9uZS5o Ci0rQEAgLTEzMSw2ICsxMzEsMTIgQEAgY2xhc3MgQXNzZW1ibGVyIDogcHVibGljIEFzc2VtYmxl clNoYXJlZAotKyAgICAgc3RhdGljIHZvaWQgVG9nZ2xlQ2FsbChDb2RlTG9jYXRpb25MYWJlbCwg Ym9vbCkgeyBNT1pfQ1JBU0goKTsgfQotKyAKLSsgICAgIHN0YXRpYyB1aW50cHRyX3QgR2V0UG9p bnRlcih1aW50OF90KikgeyBNT1pfQ1JBU0goKTsgfQotKysKLSsrICAgIHZvaWQgdmVyaWZ5SGVh cEFjY2Vzc0Rpc2Fzc2VtYmx5KHVpbnQzMl90IGJlZ2luLCB1aW50MzJfdCBlbmQsCi0rKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBEaXNhc3NlbWJsZXI6OkhlYXBB Y2Nlc3MgJmhlYXBBY2Nlc3MpCi0rKyAgICB7Ci0rKyAgICAgICAgTU9aX0NSQVNIKCk7Ci0rKyAg ICB9Ci0rIH07Ci0rIAotKyBjbGFzcyBPcGVyYW5kCmRpZmYgLS1naXQgYS9zcmNwa2dzLzBhZC9w YXRjaGVzL3BwYzY0LnBhdGNoIGIvc3JjcGtncy8wYWQvcGF0Y2hlcy9wcGM2NC5wYXRjaAppbmRl eCBlNDA5YzBlZDkxNy4uODdiYzNhNDgwMGQgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvMGFkL3BhdGNo ZXMvcHBjNjQucGF0Y2gKKysrIGIvc3JjcGtncy8wYWQvcGF0Y2hlcy9wcGM2NC5wYXRjaApAQCAt MSwxODIgKzEsMyBAQAotLS0tIGJ1aWxkL3ByZW1ha2UvcHJlbWFrZTQubHVhCi0rKysgYnVpbGQv cHJlbWFrZS9wcmVtYWtlNC5sdWEKLUBAIC04OCw2ICs4OCw4IEBAIGVsc2UKLSAJCQlhcmNoID0g ImFybSIKLSAJCWVsc2VpZiBzdHJpbmcuZmluZChtYWNoaW5lLCAiYWFyY2g2NCIpID09IDEgdGhl bgotIAkJCWFyY2ggPSAiYWFyY2g2NCIKLSsJCWVsc2VpZiBzdHJpbmcuZmluZChtYWNoaW5lLCAi cHBjNjQiKSA9PSAxIG9yIHN0cmluZy5maW5kKG1hY2hpbmUsICJwb3dlcnBjNjQiKSA9PSAxIHRo ZW4KLSsJCQlhcmNoID0gInBwYzY0IgotIAkJZWxzZQotIAkJCXByaW50KCJXQVJOSU5HOiBDYW5u b3QgZGV0ZXJtaW5lIGFyY2hpdGVjdHVyZSBmcm9tIEdDQywgYXNzdW1pbmcgeDg2IikKLSAJCWVu ZAotQEAgLTgyMyw2ICs4MjUsOCBAQCBmdW5jdGlvbiBzZXR1cF9hbGxfbGlicyAoKQotIAkJdGFi bGUuaW5zZXJ0KHNvdXJjZV9kaXJzLCAibGliL3N5c2RlcC9hcmNoL3g4Nl94NjQiKTsKLSAJZWxz ZWlmIGFyY2ggPT0gImFybSIgdGhlbgotIAkJdGFibGUuaW5zZXJ0KHNvdXJjZV9kaXJzLCAibGli L3N5c2RlcC9hcmNoL2FybSIpOwotKwllbHNlaWYgYXJjaCA9PSAicHBjNjQiIHRoZW4KLSsJCXRh YmxlLmluc2VydChzb3VyY2VfZGlycywgImxpYi9zeXNkZXAvYXJjaC9wcGM2NCIpOwotIAllbHNl aWYgYXJjaCA9PSAiYWFyY2g2NCIgdGhlbgotIAkJdGFibGUuaW5zZXJ0KHNvdXJjZV9kaXJzLCAi bGliL3N5c2RlcC9hcmNoL2FhcmNoNjQiKTsKLSAJZW5kCi0tLS0gYnVpbGQvcHJlbWFrZS9wcmVt YWtlNS5sdWEKLSsrKyBidWlsZC9wcmVtYWtlL3ByZW1ha2U1Lmx1YQotQEAgLTgxLDYgKzgxLDgg QEAgZWxzZQotIAkJCWFyY2ggPSAiYXJtIgotIAkJZWxzZWlmIHN0cmluZy5maW5kKG1hY2hpbmUs ICJhYXJjaDY0IikgPT0gMSB0aGVuCi0gCQkJYXJjaCA9ICJhYXJjaDY0IgotKwkJZWxzZWlmIHN0 cmluZy5maW5kKG1hY2hpbmUsICJwcGM2NCIpID09IDEgb3Igc3RyaW5nLmZpbmQobWFjaGluZSwg InBvd2VycGM2NCIpID09IDEgdGhlbgotKwkJCWFyY2ggPSAicHBjNjQiCi0gCQllbHNlCi0gCQkJ cHJpbnQoIldBUk5JTkc6IENhbm5vdCBkZXRlcm1pbmUgYXJjaGl0ZWN0dXJlIGZyb20gR0NDLCBh c3N1bWluZyB4ODYiKQotIAkJZW5kCi1AQCAtODIzLDYgKzgyNSw4IEBAIGZ1bmN0aW9uIHNldHVw X2FsbF9saWJzICgpCi0gCQl0YWJsZS5pbnNlcnQoc291cmNlX2RpcnMsICJsaWIvc3lzZGVwL2Fy Y2gveDg2X3g2NCIpOwotIAllbHNlaWYgYXJjaCA9PSAiYXJtIiB0aGVuCi0gCQl0YWJsZS5pbnNl cnQoc291cmNlX2RpcnMsICJsaWIvc3lzZGVwL2FyY2gvYXJtIik7Ci0rCWVsc2VpZiBhcmNoID09 ICJwcGM2NCIgdGhlbgotKwkJdGFibGUuaW5zZXJ0KHNvdXJjZV9kaXJzLCAibGliL3N5c2RlcC9h cmNoL3BwYzY0Iik7Ci0gCWVsc2VpZiBhcmNoID09ICJhYXJjaDY0IiB0aGVuCi0gCQl0YWJsZS5p bnNlcnQoc291cmNlX2RpcnMsICJsaWIvc3lzZGVwL2FyY2gvYWFyY2g2NCIpOwotIAllbmQKLS0t LSBsaWJyYXJpZXMvc291cmNlL252dHQvc3JjL3NyYy9udmNvcmUvcG9zaGxpYi9wb3NoLmgKLSsr KyBsaWJyYXJpZXMvc291cmNlL252dHQvc3JjL3NyYy9udmNvcmUvcG9zaGxpYi9wb3NoLmgKLUBA IC02NjMsNyArNjYzLDcgQEAgTWV0cm93ZXJrczoKLSAqKiB0aGUgTUlQUyBzZXJpZXMsIHNvIHdl IGhhdmUgdG8gYmUgY2FyZWZ1bCBhYm91dCB0aG9zZS4KLSAqKiAtLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ci0gKi8KLS0jaWYgZGVmaW5lZCBQT1NIX0NQVV9YODYgfHwgZGVmaW5lZCBQT1NIX0NQVV9BWFAg fHwgZGVmaW5lZCBQT1NIX0NQVV9TVFJPTkdBUk0gfHwgZGVmaW5lZCBQT1NIX0NQVV9BQVJDSDY0 IHx8IGRlZmluZWQgUE9TSF9PU19XSU4zMiB8fCBkZWZpbmVkIFBPU0hfT1NfV0lOQ0UgfHwgZGVm aW5lZCBfX01JUFNFTF9fCi0rI2lmIGRlZmluZWQgUE9TSF9DUFVfWDg2IHx8IGRlZmluZWQgUE9T SF9DUFVfQVhQIHx8IGRlZmluZWQgUE9TSF9DUFVfU1RST05HQVJNIHx8IGRlZmluZWQgUE9TSF9D UFVfQUFSQ0g2NCB8fCBkZWZpbmVkIFBPU0hfT1NfV0lOMzIgfHwgZGVmaW5lZCBQT1NIX09TX1dJ TkNFIHx8IGRlZmluZWQgX19NSVBTRUxfXyB8fCBfX0xJVFRMRV9FTkRJQU5fXwotICMgIGRlZmlu ZSBQT1NIX0VORElBTl9TVFJJTkcgImxpdHRsZSIKLSAjICBkZWZpbmUgUE9TSF9MSVRUTEVfRU5E SUFOIDEKLSAjZWxzZQotLS0tIGxpYnJhcmllcy9zb3VyY2UvbnZ0dC9zcmMvc3JjL252bWF0aC9Q bGFuZS5oCi0rKysgbGlicmFyaWVzL3NvdXJjZS9udnR0L3NyYy9zcmMvbnZtYXRoL1BsYW5lLmgK LUBAIC02LDYgKzYsMTAgQEAKLSAjaW5jbHVkZSA8bnZtYXRoL252bWF0aC5oPgotICNpbmNsdWRl IDxudm1hdGgvVmVjdG9yLmg+Ci0gCi0rI2lmIE5WX1VTRV9BTFRJVkVDCi0rI3VuZGVmIHZlY3Rv cgotKyNlbmRpZgotKwotIG5hbWVzcGFjZSBudgotIHsKLSAJY2xhc3MgTWF0cml4OwotLS0tIGxp YnJhcmllcy9zb3VyY2UvbnZ0dC9zcmMvc3JjL252dHQvc3F1aXNoL3NpbWRfdmUuaAotKysrIGxp YnJhcmllcy9zb3VyY2UvbnZ0dC9zcmMvc3JjL252dHQvc3F1aXNoL3NpbWRfdmUuaAotQEAgLTEs NiArMSw3IEBACi0gLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSAKLSAJQ29weXJpZ2h0IChjKSAy MDA2IFNpbW9uIEJyb3duICAgICAgICAgICAgICAgICAgICAgICAgICBzaUBzamJyb3duLmNvLnVr Ci0rCUNvcHlyaWdodCAoYykgMjAxNiBSYXB0b3IgRW5naW5lZXJpbmcsIExMQwotIAotIAlQZXJt aXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBv YnRhaW5pbmcKLSAJYSBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1l bnRhdGlvbiBmaWxlcyAodGhlIAotQEAgLTMxLDcgKzMyLDcgQEAKLSAKLSBuYW1lc3BhY2Ugc3F1 aXNoIHsKLSAKLS0jZGVmaW5lIFZFQzRfQ09OU1QoIFggKSBWZWM0KCAoIHZlY3RvciBmbG9hdCAp KCBYICkgKQotKyNkZWZpbmUgVkVDNF9DT05TVCggWCApIFZlYzQoIHZlY19zcGxhdHMoIChmbG9h dClYICkgKQotIAotIGNsYXNzIFZlYzQKLSB7Ci1AQCAtOTYsNyArOTcsNyBAQCBwdWJsaWM6Ci0g CQotIAlWZWM0JiBvcGVyYXRvcio9KCBBcmcgdiApCi0gCXsKLS0JCW1fdiA9IHZlY19tYWRkKCBt X3YsIHYubV92LCAoIHZlY3RvciBmbG9hdCApKCAtMC4wZiApICk7Ci0rCQltX3YgPSB2ZWNfbWFk ZCggbV92LCB2Lm1fdiwgdmVjX3NwbGF0cyggLTAuMGYgKSApOwotIAkJcmV0dXJuICp0aGlzOwot IAl9Ci0gCQotQEAgLTExMiw3ICsxMTMsNyBAQCBwdWJsaWM6Ci0gCQotIAlmcmllbmQgVmVjNCBv cGVyYXRvciooIFZlYzQ6OkFyZyBsZWZ0LCBWZWM0OjpBcmcgcmlnaHQgICkKLSAJewotLQkJcmV0 dXJuIFZlYzQoIHZlY19tYWRkKCBsZWZ0Lm1fdiwgcmlnaHQubV92LCAoIHZlY3RvciBmbG9hdCAp KCAtMC4wZiApICkgKTsKLSsJCXJldHVybiBWZWM0KCB2ZWNfbWFkZCggbGVmdC5tX3YsIHJpZ2h0 Lm1fdiwgdmVjX3NwbGF0cyggLTAuMGYgKSApICk7Ci0gCX0KLSAJCi0gCS8vISBSZXR1cm5zIGEq YiArIGMKLUBAIC0xMzMsNyArMTM0LDcgQEAgcHVibGljOgotIAkJdmVjdG9yIGZsb2F0IGVzdGlt YXRlID0gdmVjX3JlKCB2Lm1fdiApOwotIAkJCi0gCQkvLyBvbmUgcm91bmQgb2YgTmV3dG9uLVJo YXBoc29uIHJlZmluZW1lbnQKLS0JCXZlY3RvciBmbG9hdCBkaWZmID0gdmVjX25tc3ViKCBlc3Rp bWF0ZSwgdi5tX3YsICggdmVjdG9yIGZsb2F0ICkoIDEuMGYgKSApOwotKwkJdmVjdG9yIGZsb2F0 IGRpZmYgPSB2ZWNfbm1zdWIoIGVzdGltYXRlLCB2Lm1fdiwgdmVjX3NwbGF0cyggMS4wZiApICk7 Ci0gCQlyZXR1cm4gVmVjNCggdmVjX21hZGQoIGRpZmYsIGVzdGltYXRlLCBlc3RpbWF0ZSApICk7 Ci0gCX0KLSAJCi0tLS0gc291cmNlL2dyYXBoaWNzL1RleHR1cmVDb252ZXJ0ZXIuY3BwCi0rKysg c291cmNlL2dyYXBoaWNzL1RleHR1cmVDb252ZXJ0ZXIuY3BwCi1AQCAtNDUsNiArNDUsMTAgQEAg c3RydWN0IEJ1ZmZlck91dHB1dEhhbmRsZXIgOiBwdWJsaWMgbnZ0dDo6T3V0cHV0SGFuZGxlcgot IAl7Ci0gCX0KLSAKLSsJdmlydHVhbCB2b2lkIGVuZEltYWdlKCkKLSsJewotKwl9Ci0rCi0gCXZp cnR1YWwgYm9vbCB3cml0ZURhdGEoY29uc3Qgdm9pZCogZGF0YSwgaW50IHNpemUpCi0gCXsKLSAJ CXNpemVfdCBvZmYgPSBidWZmZXIuc2l6ZSgpOwotLS0tIHNvdXJjZS9saWIvYWxpZ25tZW50LmgK LSsrKyBzb3VyY2UvbGliL2FsaWdubWVudC5oCi1AQCAtODAsNyArODAsMTggQEAgc3RhdGljIGNv bnN0IHNpemVfdCBjYWNoZUxpbmVTaXplID0gNjQ7CS8vIChMMikKLSAvLyBNTVUgcGFnZXMKLSAv LwotIAotKyNpZmRlZiBfX1BQQzY0X18KLSsvLyBOT1RFOiBwcGM2NCBjYW4gb3BlcmF0ZSBpbiBl aXRoZXIgNGsgb3IgNjRrIHBhZ2Ugc2l6ZSBtb2RlCi0rLy8gSWYgdGhlIGRlZmluZSBwYWdlIHNp emUgaXMgbGFyZ2VyIHRoYW4gdGhlIGFjdGl2ZSBwYWdlIHNpemUsCi0rLy8gdGhlIGFsbG9jYXRv ciBmdW5jdGlvbnMgbm9ybWFsbHkuICBJZiB0aGUgZGVmaW5lZCBwYWdlIHNpemUKLSsvLyBpcyBs ZXNzIHRoYW4gdGhlIGFjdGl2ZSBwYWdlIHNpemUsIHRoZSBhbGxvY2F0b3IgZmFpbHMgdGVzdHMu Ci0rLy8KLSsvLyBEZWZpbmUgdGhlIHBhZ2Ugc2l6ZSB0byB0aGUgbWF4aW11bSBrbm93biBhcmNo aXRlY3R1cmFsIHBhZ2UKLSsvLyBzaXplIG9uIHBwYzY0IHN5c3RlbXMuCi0rc3RhdGljIGNvbnN0 IHNpemVfdCBnX1BhZ2VTaXplID0gNjQgKiAxMDI0OwkvLyA2NCBLQgotKyNlbHNlCi0gc3RhdGlj IGNvbnN0IHNpemVfdCBnX1BhZ2VTaXplID0gNCAqIDEwMjQ7CS8vIDQgS0IKLSsjZW5kaWYKLSBz dGF0aWMgY29uc3Qgc2l6ZV90IGdfTGFyZ2VQYWdlU2l6ZSA9IDIgKiAxMDI0ICogMTAyNDsJLy8g MiBNQgotIAotIAotLS0tIHNvdXJjZS9saWIvYnl0ZV9vcmRlci5oCi0rKysgc291cmNlL2xpYi9i eXRlX29yZGVyLmgKLUBAIC0zMyw3ICszMyw3IEBACi0gI2lmbmRlZiBCWVRFX09SREVSCi0gIyBk ZWZpbmUgTElUVExFX0VORElBTiAweDQzMjEKLSAjIGRlZmluZSBCSUdfRU5ESUFOICAgIDB4MTIz NAotLSMgaWYgQVJDSF9JQTMyIHx8IEFSQ0hfSUE2NCB8fCBBUkNIX0FNRDY0IHx8IEFSQ0hfQUxQ SEEgfHwgQVJDSF9BUk0gfHwgQVJDSF9BQVJDSDY0IHx8IEFSQ0hfTUlQUyB8fCBkZWZpbmVkKF9f TElUVExFX0VORElBTl9fKQotKyMgaWYgQVJDSF9JQTMyIHx8IEFSQ0hfSUE2NCB8fCBBUkNIX0FN RDY0IHx8IEFSQ0hfQUxQSEEgfHwgQVJDSF9BUk0gfHwgQVJDSF9BQVJDSDY0IHx8IEFSQ0hfUFBD NjQgfHwgQVJDSF9NSVBTIHx8IGRlZmluZWQoX19MSVRUTEVfRU5ESUFOX18pCi0gIyAgZGVmaW5l IEJZVEVfT1JERVIgTElUVExFX0VORElBTgotICMgZWxzZQotICMgIGRlZmluZSBCWVRFX09SREVS IEJJR19FTkRJQU4KLS0tLSBzb3VyY2UvbGliL3N5c2RlcC9hcmNoLmgKLSsrKyBzb3VyY2UvbGli L3N5c2RlcC9hcmNoLmgKLUBAIC02NCw2ICs2NCwxMiBAQAotICNlbHNlCi0gIyBkZWZpbmUgQVJD SF9BQVJDSDY0IDAKLSAjZW5kaWYKLSsvLyAuLiBQb3dlclBDNjQgKFBQQzY0KQotKyNpZiBkZWZp bmVkKF9fUFBDNjRfXykKLSsjIGRlZmluZSBBUkNIX1BQQzY0IDEKLSsjZWxzZQotKyMgZGVmaW5l IEFSQ0hfUFBDNjQgMAotKyNlbmRpZgotIC8vIC4uIE1JUFMKLSAjaWYgZGVmaW5lZChfX01JUFNf XykgfHwgZGVmaW5lZChfX21pcHNfXykgfHwgZGVmaW5lZChfX21pcHMpCi0gIyBkZWZpbmUgQVJD SF9NSVBTIDEKLUBAIC03Miw3ICs3OCw3IEBACi0gI2VuZGlmCi0gCi0gLy8gZW5zdXJlIGV4YWN0 bHkgb25lIGFyY2hpdGVjdHVyZSBoYXMgYmVlbiBkZXRlY3RlZAotLSNpZiAoQVJDSF9JQTMyK0FS Q0hfSUE2NCtBUkNIX0FNRDY0K0FSQ0hfQUxQSEErQVJDSF9BUk0rQVJDSF9BQVJDSDY0K0FSQ0hf TUlQUykgIT0gMQotKyNpZiAoQVJDSF9JQTMyK0FSQ0hfSUE2NCtBUkNIX0FNRDY0K0FSQ0hfQUxQ SEErQVJDSF9BUk0rQVJDSF9BQVJDSDY0K0FSQ0hfUFBDNjQrQVJDSF9NSVBTKSAhPSAxCi0gIyBl cnJvciAiYXJjaGl0ZWN0dXJlIG5vdCBjb3JyZWN0bHkgZGV0ZWN0ZWQgKGVpdGhlciBub25lIG9y IG11bHRpcGxlIEFSQ0hfKiBkZWZpbmVkKSIKLSAjZW5kaWYKLSAKIC0tLSAvZGV2L251bGwKICsr KyBzb3VyY2UvbGliL3N5c2RlcC9hcmNoL3BwYzY0L3BwYzY0LmNwcAogQEAgLTAsMCArMSw1MCBA QApAQCAtMjMwLDEzICs1MSw0MyBAQAogK3sKICsJcmV0dXJuICJJQk0gUE9XRVIiOyAvLyBUT0RP CiArfQotLS0tIHNvdXJjZS9wcy9HYW1lU2V0dXAvSFdEZXRlY3QuY3BwCi0rKysgc291cmNlL3Bz L0dhbWVTZXR1cC9IV0RldGVjdC5jcHAKLUBAIC0yNDcsNiArMjQ3LDcgQEAgdm9pZCBSdW5IYXJk d2FyZURldGVjdGlvbigpCi0gCXNjcmlwdEludGVyZmFjZS5TZXRQcm9wZXJ0eShzZXR0aW5ncywg ImFyY2hfYW1kNjQiLCBBUkNIX0FNRDY0KTsKKy0tLSBzb3VyY2UvbGliL2J5dGVfb3JkZXIuaC5v cmlnCTIwMjEtMDItMjggMTY6NTk6MzQuMDQxOTMzOTc4ICswMTAwCisrKysgc291cmNlL2xpYi9i eXRlX29yZGVyLmgJMjAyMS0wMi0yOCAxNjo1OTo1OS4zMTE1ODI1ODcgKzAxMDAKK0BAIC0zMyw3 ICszMyw3IEBACisgI2lmbmRlZiBCWVRFX09SREVSCisgIyBkZWZpbmUgTElUVExFX0VORElBTiAw eDQzMjEKKyAjIGRlZmluZSBCSUdfRU5ESUFOICAgIDB4MTIzNAorLSMgaWYgQVJDSF9JQTMyIHx8 IEFSQ0hfSUE2NCB8fCBBUkNIX0FNRDY0IHx8IEFSQ0hfQUxQSEEgfHwgQVJDSF9BUk0gfHwgQVJD SF9BQVJDSDY0IHx8IEFSQ0hfTUlQUyB8fCBBUkNIX0UySyB8fCBkZWZpbmVkKF9fTElUVExFX0VO RElBTl9fKQorKyMgaWYgQVJDSF9JQTMyIHx8IEFSQ0hfSUE2NCB8fCBBUkNIX0FNRDY0IHx8IEFS Q0hfQUxQSEEgfHwgQVJDSF9BUk0gfHwgQVJDSF9BQVJDSDY0IHx8IEFSQ0hfTUlQUyB8fCBBUkNI X0UySyB8fCBBUkNIX1BQQzY0IHx8IGRlZmluZWQoX19MSVRUTEVfRU5ESUFOX18pCisgIyAgZGVm aW5lIEJZVEVfT1JERVIgTElUVExFX0VORElBTgorICMgZWxzZQorICMgIGRlZmluZSBCWVRFX09S REVSIEJJR19FTkRJQU4KKy0tLSBzb3VyY2UvcHMvR2FtZVNldHVwL0hXRGV0ZWN0LmNwcC5vcmln CTIwMjEtMDItMjggMTg6MDk6MzAuMzMxMTE4NDM3ICswMTAwCisrKysgc291cmNlL3BzL0dhbWVT ZXR1cC9IV0RldGVjdC5jcHAJMjAyMS0wMi0yOCAxODowOTo1Mi4yMDk4MjIzNjcgKzAxMDAKK0BA IC0xMjQsNiArMTI0LDcgQEAKICAJc2NyaXB0SW50ZXJmYWNlLlNldFByb3BlcnR5KHNldHRpbmdz LCAiYXJjaF9hcm0iLCBBUkNIX0FSTSk7CiAgCXNjcmlwdEludGVyZmFjZS5TZXRQcm9wZXJ0eShz ZXR0aW5ncywgImFyY2hfYWFyY2g2NCIsIEFSQ0hfQUFSQ0g2NCk7CisgCXNjcmlwdEludGVyZmFj ZS5TZXRQcm9wZXJ0eShzZXR0aW5ncywgImFyY2hfZTJrIiwgQVJDSF9FMkspOwogKwlzY3JpcHRJ bnRlcmZhY2UuU2V0UHJvcGVydHkoc2V0dGluZ3MsICJhcmNoX3BwYzY0IiwgQVJDSF9QUEM2NCk7 CiAgCiAgI2lmZGVmIE5ERUJVRwogIAlzY3JpcHRJbnRlcmZhY2UuU2V0UHJvcGVydHkoc2V0dGlu Z3MsICJidWlsZF9kZWJ1ZyIsIDApOworLS0tIHNvdXJjZS9saWIvc3lzZGVwL2FyY2guaC5vcmln CTIwMjEtMDItMjggMTg6NDU6MjguNzYxNzI3MTc0ICswMTAwCisrKysgc291cmNlL2xpYi9zeXNk ZXAvYXJjaC5oCTIwMjEtMDItMjggMTg6NDY6MDMuMjcwMjUxMjAyICswMTAwCitAQCAtNzYsOSAr NzYsMTUgQEAKKyAjZWxzZQorICMgZGVmaW5lIEFSQ0hfRTJLIDAKKyAjZW5kaWYKKysvLyAuLiBQ b3dlclBDNjQgKFBQQzY0KQorKyNpZiBkZWZpbmVkKF9fUFBDNjRfXykKKysjIGRlZmluZSBBUkNI X1BQQzY0IDEKKysjZWxzZQorKyMgZGVmaW5lIEFSQ0hfUFBDNjQgMAorKyNlbmRpZgorIAorIC8v IGVuc3VyZSBleGFjdGx5IG9uZSBhcmNoaXRlY3R1cmUgaGFzIGJlZW4gZGV0ZWN0ZWQKKy0jaWYg KEFSQ0hfSUEzMitBUkNIX0lBNjQrQVJDSF9BTUQ2NCtBUkNIX0FMUEhBK0FSQ0hfQVJNK0FSQ0hf QUFSQ0g2NCtBUkNIX01JUFMrQVJDSF9FMkspICE9IDEKKysjaWYgKEFSQ0hfSUEzMitBUkNIX0lB NjQrQVJDSF9BTUQ2NCtBUkNIX0FMUEhBK0FSQ0hfQVJNK0FSQ0hfQUFSQ0g2NCtBUkNIX01JUFMr QVJDSF9FMksrQVJDSF9QUEM2NCkgIT0gMQorICMgZXJyb3IgImFyY2hpdGVjdHVyZSBub3QgY29y cmVjdGx5IGRldGVjdGVkIChlaXRoZXIgbm9uZSBvciBtdWx0aXBsZSBBUkNIXyogZGVmaW5lZCki CisgI2VuZGlmCisgCmRpZmYgLS1naXQgYS9zcmNwa2dzLzBhZC9wYXRjaGVzL3JlbW92ZS1tYWNv cy1pbmNsdWRlLnBhdGNoIGIvc3JjcGtncy8wYWQvcGF0Y2hlcy9yZW1vdmUtbWFjb3MtaW5jbHVk ZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uOWU2Y2M2MTg5 YzgKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzLzBhZC9wYXRjaGVzL3JlbW92ZS1tYWNvcy1p bmNsdWRlLnBhdGNoCkBAIC0wLDAgKzEsMTEgQEAKKy0tLSBzb3VyY2UvcHMvdGVzdHMvc3R1Yl9p bXBsX2hhY2suY3BwLm9yaWcJMjAyMS0wMy0wMSAxMTozMzoxMC44NzM5ODY1NjcgKzAxMDAKKysr KyBzb3VyY2UvcHMvdGVzdHMvc3R1Yl9pbXBsX2hhY2suY3BwCTIwMjEtMDMtMDEgMTE6MzU6Mzcu OTkxMDg5MjE4ICswMTAwCitAQCAtMTMsNyArMTMsNyBAQAorICNpbmNsdWRlIDxjeHh0ZXN0L1Rl c3RNYWluLmg+CisgCisgYm9vbCBzdWl0ZV9UZXN0RHVtbXlfaW5pdCA9IGZhbHNlOworLSNpbmNs dWRlICIvVXNlcnMvd2ZnL0plbmtpbnMvd29ya3NwYWNlL21hY09TLWFsbC1idW5kbGVzL3NvdXJj ZS9wcy90ZXN0cy9zdHViX2ltcGxfaGFjay5oIgorKyNpbmNsdWRlICJzdHViX2ltcGxfaGFjay5o IgorIAorIHN0YXRpYyBUZXN0RHVtbXkgc3VpdGVfVGVzdER1bW15OworIApkaWZmIC0tZ2l0IGEv c3JjcGtncy8wYWQvcGF0Y2hlcy90ZW1wbGF0ZS1taXN1c2UucGF0Y2ggYi9zcmNwa2dzLzBhZC9w YXRjaGVzL3RlbXBsYXRlLW1pc3VzZS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggN2FlMzc2ZmYxZmUuLjAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvMGFkL3BhdGNoZXMvdGVt cGxhdGUtbWlzdXNlLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDMgKzAsMCBAQAotSW5kZXg6 IGxpYnJhcmllcy9zb3VyY2UvZmNvbGxhZGEvc3JjL0ZDb2xsYWRhUGx1Z2lucy9GQXJjaGl2ZVhN TC9GQVhQaHlzaWNzRXhwb3J0LmNwcAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpYnJhcmllcy9zb3VyY2Uv ZmNvbGxhZGEvc3JjL0ZDb2xsYWRhUGx1Z2lucy9GQXJjaGl2ZVhNTC9GQVhQaHlzaWNzRXhwb3J0 LmNwcC5vcmlnCi0rKysgbGlicmFyaWVzL3NvdXJjZS9mY29sbGFkYS9zcmMvRkNvbGxhZGFQbHVn aW5zL0ZBcmNoaXZlWE1ML0ZBWFBoeXNpY3NFeHBvcnQuY3BwCi1AQCAtMzI5LDE2ICszMjksMyBA QCB2b2lkIEZBcmNoaXZlWE1MOjpXcml0ZVBoeXNpY3NSaWdpZEJvZHlQCi0gCQlGQXJjaGl2ZVhN TDo6TGV0V3JpdGVPYmplY3QocGh5c2ljc1JpZ2lkQm9keVBhcmFtZXRlcnMtPkdldFBoeXNpY3NT aGFwZShpKSwgdGVjaG5pcXVlTm9kZSk7DQotIAl9DQotIH0NCi0tDQotLXRlbXBsYXRlIDxjbGFz cyBUWVBFLCBpbnQgUVVBTD4NCi0teG1sTm9kZSogRkFyY2hpdmVYTUw6OkFkZFBoeXNpY3NQYXJh bWV0ZXIoeG1sTm9kZSogcGFyZW50Tm9kZSwgY29uc3QgY2hhciogbmFtZSwgRkNEUGFyYW1ldGVy QW5pbWF0YWJsZVQ8VFlQRSxRVUFMPiYgdmFsdWUpDQotLXsNCi0tCXhtbE5vZGUqIHBhcmFtTm9k ZSA9IEFkZENoaWxkKHBhcmVudE5vZGUsIG5hbWUpOw0KLS0JQWRkQ29udGVudChwYXJhbU5vZGUs IEZVU3RyaW5nQ29udmVyc2lvbjo6VG9TdHJpbmcoKFRZUEUmKSB2YWx1ZSkpOw0KLS0JaWYgKHZh bHVlLklzQW5pbWF0ZWQoKSkNCi0tCXsNCi0tCQljb25zdCBGQ0RBbmltYXRlZCogYW5pbWF0ZWQg PSB2YWx1ZS5HZXRBbmltYXRlZCgpOw0KLS0JCUZBcmNoaXZlWE1MOjpXcml0ZUFuaW1hdGVkVmFs dWUoYW5pbWF0ZWQsIHBhcmFtTm9kZSwgbmFtZSk7DQotLQl9DQotLQlyZXR1cm4gcGFyYW1Ob2Rl Ow0KLS19DQotSW5kZXg6IGxpYnJhcmllcy9zb3VyY2UvZmNvbGxhZGEvc3JjL0ZDb2xsYWRhUGx1 Z2lucy9GQXJjaGl2ZVhNTC9GQXJjaGl2ZVhNTC5oCi09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGlicmFyaWVz L3NvdXJjZS9mY29sbGFkYS9zcmMvRkNvbGxhZGFQbHVnaW5zL0ZBcmNoaXZlWE1ML0ZBcmNoaXZl WE1MLmgub3JpZwotKysrIGxpYnJhcmllcy9zb3VyY2UvZmNvbGxhZGEvc3JjL0ZDb2xsYWRhUGx1 Z2lucy9GQXJjaGl2ZVhNTC9GQXJjaGl2ZVhNTC5oCi1AQCAtNTczLDQgKzU3MywxNyBAQCBwdWJs aWM6Ci0gCXN0YXRpYyB4bWxOb2RlKiBXcml0ZUxpYnJhcnkoRkNETGlicmFyeTxUPiogbGlicmFy eSwgeG1sTm9kZSogbm9kZSk7DQotIH07DQotIA0KLSt0ZW1wbGF0ZSA8Y2xhc3MgVFlQRSwgaW50 IFFVQUw+DQotK3htbE5vZGUqIEZBcmNoaXZlWE1MOjpBZGRQaHlzaWNzUGFyYW1ldGVyKHhtbE5v ZGUqIHBhcmVudE5vZGUsIGNvbnN0IGNoYXIqIG5hbWUsIEZDRFBhcmFtZXRlckFuaW1hdGFibGVU PFRZUEUsUVVBTD4mIHZhbHVlKQ0KLSt7DQotKwl4bWxOb2RlKiBwYXJhbU5vZGUgPSBBZGRDaGls ZChwYXJlbnROb2RlLCBuYW1lKTsNCi0rCUFkZENvbnRlbnQocGFyYW1Ob2RlLCBGVVN0cmluZ0Nv bnZlcnNpb246OlRvU3RyaW5nKChUWVBFJikgdmFsdWUpKTsNCi0rCWlmICh2YWx1ZS5Jc0FuaW1h dGVkKCkpDQotKwl7DQotKwkJY29uc3QgRkNEQW5pbWF0ZWQqIGFuaW1hdGVkID0gdmFsdWUuR2V0 QW5pbWF0ZWQoKTsNCi0rCQlGQXJjaGl2ZVhNTDo6V3JpdGVBbmltYXRlZFZhbHVlKGFuaW1hdGVk LCBwYXJhbU5vZGUsIG5hbWUpOw0KLSsJfQ0KLSsJcmV0dXJuIHBhcmFtTm9kZTsNCi0rfQ0KLSsN Ci0gI2VuZGlmIC8vX0ZDUEFSQ0hJVkVDT0xMQURBX0hfDQpkaWZmIC0tZ2l0IGEvc3JjcGtncy8w YWQvdGVtcGxhdGUgYi9zcmNwa2dzLzBhZC90ZW1wbGF0ZQppbmRleCA4ODMxNDkwNmM5YS4uYjE2 MWJlNTYxNWUgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvMGFkL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3Mv MGFkL3RlbXBsYXRlCkBAIC0xLDIwICsxLDIwIEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICcwYWQn CiBwa2duYW1lPTBhZAotdmVyc2lvbj0wLjAuMjNiCi1yZXZpc2lvbj01Cit2ZXJzaW9uPTAuMC4y NAorcmV2aXNpb249MQogYXJjaHM9Ing4Nl82NCogaTY4NiogYWFyY2g2NCogYXJtdjdsKiBwcGM2 NGxlKiIKLXdya3NyYz0iJHtwa2duYW1lfS0ke3ZlcnNpb259LWFscGhhIgotaG9zdG1ha2VkZXBl bmRzPSJwa2ctY29uZmlnIHBlcmwgY21ha2UgcHl0aG9uIHRhciIKK2NyZWF0ZV93cmtzcmM9eWVz Citob3N0bWFrZWRlcGVuZHM9InBrZy1jb25maWcgcGVybCBjbWFrZSBweXRob24zIHJ1c3QgY2Fy Z28geWFzbSB0YXIiCiBtYWtlZGVwZW5kcz0iU0RMMi1kZXZlbCBib29zdC1kZXZlbCBnbG9veC1k ZXZlbCBsaWJjdXJsLWRldmVsIGxpYmVuZXQtZGV2ZWwKICBsaWJvcGVuYWwtZGV2ZWwgbGlicG5n LWRldmVsIGxpYnNvZGl1bS1kZXZlbCBsaWJ4bWwyLWRldmVsIG1pbml1cG5wYy1kZXZlbAotIG5z cHItZGV2ZWwgd3hXaWRnZXRzLWd0azMtZGV2ZWwiCisgbnNwci1kZXZlbCB3eFdpZGdldHMtZ3Rr My1kZXZlbCBmbXQtZGV2ZWwiCiBkZXBlbmRzPSIke3BrZ25hbWV9LWRhdGEiCiBzaG9ydF9kZXNj PSJIaXN0b3JpY2FsbHktYmFzZWQgcmVhbC10aW1lIHN0cmF0ZWd5IGdhbWUiCiBtYWludGFpbmVy PSJIZWxtdXQgUG96aW1za2kgPGhlbG11dEBwb3ppbXNraS5ldT4iCiBsaWNlbnNlPSJHUEwtMi4w LW9yLWxhdGVyLCBDQy1CWS1TQS0zLjAsIE1QTC0yLjAsIE1JVCIKIGhvbWVwYWdlPSJodHRwczov L3BsYXkwYWQuY29tIgogZGlzdGZpbGVzPSJodHRwczovL3JlbGVhc2VzLndpbGRmaXJlZ2FtZXMu Y29tLyR7cGtnbmFtZX0tJHt2ZXJzaW9ufS1hbHBoYS11bml4LWJ1aWxkLnRhci54eiIKLWNoZWNr c3VtPTAxYmZmNzY0MWVlMDhjYWM4OTZjNTRkNTE4ZDdlNGIwMTc1MjUxMzEwNTU1OGYyMTJlMzE5 OWQ3NDc1MTJhMzcKK2NoZWNrc3VtPTAwYWVlMmQyZjExZTQ4YjE2OWJlNDFkZGFkODA5MGU0OWY4 MTczYzA5MjQyZmMyZmE0YTBkNDRlNDc2M2NjNTMKIG5vY3Jvc3M9InVzZXMgYnVuZGxlZCB0aGly ZC1wYXJ0eSBsaWJyYXJpZXMgdGhhdCBkbyBub3QgY3Jvc3MtY29tcGlsZSIKIAogQ1hYRkxBR1M9 Ii1mcGVybWlzc2l2ZSIKQEAgLTIyLDggKzIyLDEzIEBAIENYWEZMQUdTPSItZnBlcm1pc3NpdmUi CiBMREZMQUdTPSItZnVzZS1sZD1iZmQiCiBleHBvcnQgV1hfQ09ORklHPSJ3eC1jb25maWctZ3Rr MyIKIAorZG9fZXh0cmFjdCgpIHsKKwlic2R0YXIgeEpmICR7WEJQU19TUkNESVNURElSfS8ke3Br Z25hbWV9LSR7dmVyc2lvbn0vJHtwa2duYW1lfS0ke3ZlcnNpb259LWFscGhhLXVuaXgtYnVpbGQu dGFyLnh6IC1DICR7d3Jrc3JjfQorfQorCiBkb19jb25maWd1cmUoKSB7CiAJY2QgJHt3cmtzcmN9 L2J1aWxkL3dvcmtzcGFjZXMKKwkuL2NsZWFuLXdvcmtzcGFjZXMuc2gKIAkuL3VwZGF0ZS13b3Jr c3BhY2VzLnNoIC0tYmluZGlyPS91c3IvYmluIC0tbGliZGlyPS91c3IvbGliLzBhZCBcCiAJLS1k YXRhZGlyPS91c3Ivc2hhcmUvJHtwa2duYW1lfS9kYXRhCiB9CgpGcm9tIGRjNDQ5ZmU3ZjhmMTUy NTJkOTkzNWQ2NTE4YWNiNTM1NGE5M2RkNTUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206 IEhlbG11dCBQb3ppbXNraSA8aGVsbXV0QHBvemltc2tpLmV1PgpEYXRlOiBNb24sIDEgTWFyIDIw MjEgMTI6MzA6MDcgKzAxMDAKU3ViamVjdDogW1BBVENIIDIvMl0gMGFkLWRhdGE6IHVwZGF0ZSB0 byAwLjAuMjQuCgotLS0KIHNyY3BrZ3MvMGFkLWRhdGEvdGVtcGxhdGUgfCAxMiArKysrKysrKy0t LS0KIDEgZmlsZSBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCgpkaWZm IC0tZ2l0IGEvc3JjcGtncy8wYWQtZGF0YS90ZW1wbGF0ZSBiL3NyY3BrZ3MvMGFkLWRhdGEvdGVt cGxhdGUKaW5kZXggMjRhODdhNzRlZmUuLjBhNGM4YWIwMTA4IDEwMDY0NAotLS0gYS9zcmNwa2dz LzBhZC1kYXRhL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvMGFkLWRhdGEvdGVtcGxhdGUKQEAgLTEs MTQgKzEsMTQgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJzBhZC1kYXRhJwogcGtnbmFtZT0wYWQt ZGF0YQotdmVyc2lvbj0wLjAuMjNiCi1yZXZpc2lvbj0yCi13cmtzcmM9IjBhZC0ke3ZlcnNpb259 LWFscGhhIgordmVyc2lvbj0wLjAuMjQKK3JldmlzaW9uPTEKK2NyZWF0ZV93cmtzcmM9eWVzCiBz aG9ydF9kZXNjPSJIaXN0b3JpY2FsbHktYmFzZWQgcmVhbC10aW1lIHN0cmF0ZWd5IGdhbWUgKGRh dGEgZmlsZXMpIgogbWFpbnRhaW5lcj0iSGVsbXV0IFBvemltc2tpIDxoZWxtdXRAcG96aW1za2ku ZXU+IgogbGljZW5zZT0iQ0MtQlktU0EtMy4wIgogaG9tZXBhZ2U9Imh0dHBzOi8vcGxheTBhZC5j b20iCiBkaXN0ZmlsZXM9Imh0dHBzOi8vcmVsZWFzZXMud2lsZGZpcmVnYW1lcy5jb20vMGFkLSR7 dmVyc2lvbn0tYWxwaGEtdW5peC1kYXRhLnRhci54eiIKLWNoZWNrc3VtPWUxMWI0YWRlN2VkZTk1 NGNiYmRjMWZlNmUyZTRiMjVhYzZiOGQ1YTY0NDEzM2I2NDBmZmM5YjA5OTMzOGE3MTMKK2NoZWNr c3VtPTkyOWE1NWE2YWE2M2MxNDNiN2ZkMjA1NTMzNzU4NzhhMmU3MzIzNTNkYmJjYzc1N2ZhODc2 YjQxODFmZGQ3NWEKIG5vY3Jvc3M9eWVzCiAKIGNhc2UgIiRYQlBTX1RBUkdFVF9NQUNISU5FIiBp bgpAQCAtMTYsNiArMTYsMTAgQEAgY2FzZSAiJFhCUFNfVEFSR0VUX01BQ0hJTkUiIGluCiAJKikg YnJva2VuPSJubyBiYXNlIGdhbWUgYXZhaWxhYmxlIjs7CiBlc2FjCiAKK2RvX2V4dHJhY3QoKSB7 CisJYnNkdGFyIHhKZiAke1hCUFNfU1JDRElTVERJUn0vJHtwa2duYW1lfS0ke3ZlcnNpb259LzBh ZC0ke3ZlcnNpb259LWFscGhhLXVuaXgtZGF0YS50YXIueHogLUMgJHt3cmtzcmN9Cit9CisKIGRv X2luc3RhbGwoKSB7CiAJdm1rZGlyIHVzci9zaGFyZS8wYWQvZGF0YQogCXZta2RpciB1c3Ivc2hh cmUvMGFkL2RhdGEvdG9vbHMK --===============7563753772548191039==--