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 28075 invoked from network); 25 Sep 2023 20:18:31 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 25 Sep 2023 20:18:31 -0000 Content-Type: multipart/mixed; boundary="===============4412844753717792107==" MIME-Version: 1.0 Subject: =?utf8?q?Re=3A_=5BPR_PATCH=5D_=5BUpdated=5D_=5BWIP=5D_wxWidgets=2C_wxPython?= To: ml@inbox.vuxu.org From: ahesford Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Mon, 25 Sep 2023 22:18:31 +0200 List-Id: Message-ID: <20230925201831.1kwlRMqrL2XY7_bPK4HrlqFITDOgTd-4NJjBiPc0-mo@z> GitHub notification mails are now in MIME to allow UTF8. --===============4412844753717792107== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgYWhlc2ZvcmQgYWdhaW5zdCBtYXN0 ZXIgb24gdGhlIHZvaWQtcGFja2FnZXMgcmVwb3NpdG9yeQoKaHR0cHM6Ly9naXRodWIuY29tL2Fo ZXNmb3JkL3ZvaWQtcGFja2FnZXMgd3h3aWRnZXRzCmh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxp bnV4L3ZvaWQtcGFja2FnZXMvcHVsbC80NjIzNwoKW1dJUF0gd3hXaWRnZXRzLCB3eFB5dGhvbgpP dXIgd3hXaWRnZXRzL3d4UHl0aG9uIHN0YWNrIGlzIHByZXR0eSBvbGQsIGFuZCBpdCBtYXkgYmUg bW9yZSB0cm91YmxlIHRvIHBhdGNoIGZvciBQeXRob24gMy4xMiB0aGFuIGp1c3QgdXBkYXRpbmcg dGhlc2UgcGFja2FnZXMuIFRodXMgSSB3b3VsZCBsaWtlIHRvOg0KDQoqIERyb3AgYHBjc3gyYCwg YHBlcmwtQWxpZW4td3hXaWRnZXRzYCBhbmQgYGRpc3BjYWxHVUlgIChjYzogQGxlbW1pKS4gVGhl IGZpcnN0IHR3byBkb24ndCBzZWVtIHdlbGwtbWFpbnRhaW5lZCwgYW5kIGFsbCB0aHJlZSByZWx5 IG9uIHd4V2lkZ2V0cyB3aXRoIEdUSzIgc3VwcG9ydCB0aGF0IHNob3VsZCBiZSByZXRpcmVkLiBg ZGlzcGNhbEdVSWAgYWxzbyByZXF1aXJlcyB0aGUgbG9uZy1wYXN0LUVPTCBQeXRob24gMi4NCiog V2l0aCB0aGVzZSB0aHJlZSBkZXBlbmRhbnRzIGdvbmUsIHdlIGNhbiByZW1vdmUgYHd4V2lkZ2V0 c2AgYW5kIGB3eFB5dGhvbmAuDQoqIFRoaXMgc2ltcGxpZmllcyB0aGUgdXBkYXRlIHRvIGB3eFdp ZGdldHMtZ3RrM2AgYW5kIChob3BlZnVsbHktLS1JJ20gc3RpbGwgd29ya2luZykgYHd4UHl0aG9u NGAuDQoqIFdoaWxlIHdlJ3JlIGF0IGl0LCB3ZSBjYW4gdHJhbnNpdGlvbiBgd3hQeXRob240YCBi YWNrIHRvIGl0cyBwcm9wZXIgbmFtZSwganVzdCBgd3hQeXRob25gLg0KDQpbY2kgc2tpcF0KCkEg cGF0Y2ggZmlsZSBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQtcGFja2Fn ZXMvcHVsbC80NjIzNy5wYXRjaCBpcyBhdHRhY2hlZA== --===============4412844753717792107== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-wxwidgets-46237.patch" RnJvbSAyZWFlMTc1NWE0MzllNTdiODFiNWQ5NjI4N2I4NWE0YzI5ODM0M2E3IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiQW5kcmV3IEouIEhlc2ZvcmQiIDxhamhAc2lkZWJhbmQub3Jn PgpEYXRlOiBTdW4sIDI0IFNlcCAyMDIzIDIzOjE5OjMwIC0wNDAwClN1YmplY3Q6IFtQQVRDSCAw MS80M10gcGVybC1BbGllbi13eFdpZGdldHM6IHJlbW92ZSBwYWNrYWdlCgpOb3RoaW5nIHJlcXVp cmVzIHRoaXMgcGFja2FnZSwgaXQgZGVwZW5kcyBvbiBhbiBvbGQgYW5kIHRvLWJlLXJlbW92ZWQK dmVzaW9uIG9mIHd4V2lkZ2V0cywgYW5kIGl0IGRvZXNuJ3Qgc2VlbSB0byBoYXZlIGJlZW4gdXBk YXRlZCBzaW5jZSBpdAp3YXMgYWRkZWQgNSB5ZWFycyBhZ28uCi0tLQogc3JjcGtncy9wZXJsLUFs aWVuLXd4V2lkZ2V0cy90ZW1wbGF0ZSB8IDE0IC0tLS0tLS0tLS0tLS0tCiBzcmNwa2dzL3JlbW92 ZWQtcGFja2FnZXMvdGVtcGxhdGUgICAgIHwgIDEgKwogMiBmaWxlcyBjaGFuZ2VkLCAxIGluc2Vy dGlvbigrKSwgMTQgZGVsZXRpb25zKC0pCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9wZXJs LUFsaWVuLXd4V2lkZ2V0cy90ZW1wbGF0ZQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcGVybC1BbGll bi13eFdpZGdldHMvdGVtcGxhdGUgYi9zcmNwa2dzL3BlcmwtQWxpZW4td3hXaWRnZXRzL3RlbXBs YXRlCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5MTMyMjUyOWZjYjdmLi4wMDAwMDAw MDAwMDAwCi0tLSBhL3NyY3BrZ3MvcGVybC1BbGllbi13eFdpZGdldHMvdGVtcGxhdGUKKysrIC9k ZXYvbnVsbApAQCAtMSwxNCArMCwwIEBACi0jIFRlbXBsYXRlIGZpbGUgZm9yICdwZXJsLUFsaWVu LXd4V2lkZ2V0cycKLXBrZ25hbWU9cGVybC1BbGllbi13eFdpZGdldHMKLXZlcnNpb249MC42OQot cmV2aXNpb249MwotYnVpbGRfc3R5bGU9cGVybC1Nb2R1bGVCdWlsZAotaG9zdG1ha2VkZXBlbmRz PSJwZXJsIHBlcmwtTW9kdWxlLUJ1aWxkIHBlcmwtTW9kdWxlLVBsdWdnYWJsZSBwZXJsLUxXUC1Q cm90b2NvbC1odHRwcyBwZXJsLU5ldC1TU0xlYXkiCi1tYWtlZGVwZW5kcz0icGVybC1BbGllbiB3 eFdpZGdldHMtZGV2ZWwiCi1kZXBlbmRzPSJwZXJsIHBlcmwtTW9kdWxlLVBsdWdnYWJsZSBwZXJs LUFsaWVuIHd4V2lkZ2V0cyBwZXJsLUxXUC1Qcm90b2NvbC1odHRwcyIKLXNob3J0X2Rlc2M9IkFs aWVuOjp3eFdpZGdldHMgLSBidWlsZGluZywgZmluZGluZyBhbmQgdXNpbmcgd3hXaWRnZXRzIGJp bmFyaWVzIgotbWFpbnRhaW5lcj0iT3JwaGFuZWQgPG9ycGhhbkB2b2lkbGludXgub3JnPiIKLWxp Y2Vuc2U9IkFydGlzdGljLTEuMC1QZXJsLCBHUEwtMS4wLW9yLWxhdGVyIgotaG9tZXBhZ2U9Imh0 dHBzOi8vbWV0YWNwYW4ub3JnL3JlbGVhc2UvQWxpZW4td3hXaWRnZXRzIgotZGlzdGZpbGVzPSIk e0NQQU5fU0lURX0vQWxpZW4vJHtwa2duYW1lI3BlcmwtfS0ke3ZlcnNpb259LnRhci5neiIKLWNo ZWNrc3VtPTUzMjI0ZTRiYmJlZmZmNGNmN2I2M2VkOWE2Mjk2Mzg5M2I5ZmZkNDk2NWQ3MGQ5Njcx MDM0OGY4Njc2ZGUyNDkKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcmVtb3ZlZC1wYWNrYWdlcy90ZW1w bGF0ZSBiL3NyY3BrZ3MvcmVtb3ZlZC1wYWNrYWdlcy90ZW1wbGF0ZQppbmRleCBlZGYzYWE1NDU2 OTRiLi41ODJiMDk0NGM4YzYyIDEwMDY0NAotLS0gYS9zcmNwa2dzL3JlbW92ZWQtcGFja2FnZXMv dGVtcGxhdGUKKysrIGIvc3JjcGtncy9yZW1vdmVkLXBhY2thZ2VzL3RlbXBsYXRlCkBAIC00Mzcs NiArNDM3LDcgQEAgcmVwbGFjZXM9IgogIG9yYWdlPD00LjEyLjFfNwogIHBhcmFsbGVsLXJ1c3Q8 PTAuMTEuM18yCiAgcGFyYXZpZXc8PTUuOC4xXzMKKyBwZXJsLUFsaWVuLXd4V2lkZ2V0czw9MC42 OV8zCiAgcGVybC1HdGsyLUV4LVNpbXBsZS1MaXN0PD0wLjUwXzQKICBwZXJsLUd0azItSW1hZ2VW aWV3PD0wLjA1XzgKICBwZXJsLUd0azItTm90aWZ5PD0wLjA1XzgKCkZyb20gMDFiOGMzMzY1MWRk YzZiNjgwNWFmODY3ODIxZWU5MjM4MDZmNDY5NSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJv bTogIkFuZHJldyBKLiBIZXNmb3JkIiA8YWpoQHNpZGViYW5kLm9yZz4KRGF0ZTogU3VuLCAyNCBT ZXAgMjAyMyAyMzoyMTo0MiAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMDIvNDNdIHBjc3gyOiByZW1v dmUgcGFja2FnZQoKVGhpcyBwYWNrYWdlIG9ubHkgYnVpbGRzIGZvciBpNjg2KiBhbmQgZGVwZW5k cyBvbiBhbiBvbGQgYW5kCnRvLWJlLXJlbW92ZWQgdmVyc2lvbiBvZiB3eFdpZGdldHMuCi0tLQog Li4uMjBhOWUwNDhlNGJkOWQ3NzYwY2I3MmU2MzM1YWVlODE1NWQ0LnBhdGNoIHwgNDIgLS0tLS0t LS0tLS0tLS0tLS0tLQogc3JjcGtncy9wY3N4Mi90ZW1wbGF0ZSAgICAgICAgICAgICAgICAgICAg ICAgIHwgMjcgLS0tLS0tLS0tLS0tCiBzcmNwa2dzL3JlbW92ZWQtcGFja2FnZXMvdGVtcGxhdGUg ICAgICAgICAgICAgfCAgMSArCiAzIGZpbGVzIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCA2OSBk ZWxldGlvbnMoLSkKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3Bjc3gyL3BhdGNoZXMvNmI3 ZjIwYTllMDQ4ZTRiZDlkNzc2MGNiNzJlNjMzNWFlZTgxNTVkNC5wYXRjaAogZGVsZXRlIG1vZGUg MTAwNjQ0IHNyY3BrZ3MvcGNzeDIvdGVtcGxhdGUKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3Bjc3gy L3BhdGNoZXMvNmI3ZjIwYTllMDQ4ZTRiZDlkNzc2MGNiNzJlNjMzNWFlZTgxNTVkNC5wYXRjaCBi L3NyY3BrZ3MvcGNzeDIvcGF0Y2hlcy82YjdmMjBhOWUwNDhlNGJkOWQ3NzYwY2I3MmU2MzM1YWVl ODE1NWQ0LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxYTc2YmMxZmE2ODA5 Li4wMDAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvcGNzeDIvcGF0Y2hlcy82YjdmMjBhOWUwNDhl NGJkOWQ3NzYwY2I3MmU2MzM1YWVlODE1NWQ0LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDIg KzAsMCBAQAotRnJvbSA2YjdmMjBhOWUwNDhlNGJkOWQ3NzYwY2I3MmU2MzM1YWVlODE1NWQ0IE1v biBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogSm9obiBaaW1tZXJtYW5uIDxtZUBqb2hubnlu YXRvci5kZXY+Ci1EYXRlOiBUaHUsIDIgSnVsIDIwMjAgMTI6MjQ6NDUgKzAyMDAKLVN1YmplY3Q6 IFtQQVRDSF0gQWxsb3cgcnVubmluZyBvbiBzeXN0ZW1zIHdpdGhvdXQgd3ggc3RhY2t3YWxrbGVy Ci0KLWNsb3NlcyAjMjc5NgotLS0tCi0gcGNzeDIvZ3VpL0FwcEFzc2VydC5jcHAgfCA2ICsrKysr KwotIDEgZmlsZSBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBwY3N4Mi9n dWkvQXBwQXNzZXJ0LmNwcCBwY3N4Mi9ndWkvQXBwQXNzZXJ0LmNwcAotaW5kZXggYTI4MjcxNWM0 ZS4uNGNlMTUxZjg2ZiAxMDA2NDQKLS0tLSBhL3Bjc3gyL2d1aS9BcHBBc3NlcnQuY3BwCi0rKysg Yi9wY3N4Mi9ndWkvQXBwQXNzZXJ0LmNwcAotQEAgLTE5LDYgKzE5LDcgQEAKLSAKLSAjaW5jbHVk ZSA8d3gvc3RhY2t3YWxrLmg+Ci0gCi0rI2lmIHd4VVNFX1NUQUNLV0FMS0VSCi0gY2xhc3MgU3Rh Y2tEdW1wIDogcHVibGljIHd4U3RhY2tXYWxrZXIKLSB7Ci0gcHJvdGVjdGVkOgotQEAgLTk0LDYg Kzk1LDcgQEAgc3RhdGljIHd4U3RyaW5nIHB4R2V0U3RhY2tUcmFjZSggY29uc3QgRm5DaGFyX3Qq IGNhbGxlZEZyb20gKQotIAlkdW1wLldhbGsoIDMgKTsKLSAJcmV0dXJuIGR1bXAuR2V0U3RhY2tU cmFjZSgpOwotIH0KLSsjZW5kaWYKLSAKLSAjaWZkZWYgX19XWERFQlVHX18KLSAKLUBAIC0xMjIs NyArMTI0LDExIEBAIGJvb2wgQXBwRG9Bc3NlcnQoIGNvbnN0IERpYWdub3N0aWNPcmlnaW4mIG9y aWdpbiwgY29uc3Qgd3hDaGFyICptc2cgKQotIAlzdGF0aWMgYm9vbCBkaXNhYmxlQXNzZXJ0cyA9 IGZhbHNlOwotIAlpZiggZGlzYWJsZUFzc2VydHMgKSByZXR1cm4gZmFsc2U7Ci0gCi0rI2lmIHd4 VVNFX1NUQUNLV0FMS0VSCi0gCXd4U3RyaW5nIHRyYWNlKCBweEdldFN0YWNrVHJhY2Uob3JpZ2lu LmZ1bmN0aW9uKSApOwotKyNlbHNlCi0rCXd4U3RyaW5nIHRyYWNlKCAiV2FybmluZzogUGxhdGZv cm0gZG9lc24ndCBzdXBwb3J0IHd4IHN0YWNrd2Fsa2VyIiApOwotKyNlbmRpZgotIAl3eFN0cmlu ZyBkYmdtc2coIG9yaWdpbi5Ub1N0cmluZyggbXNnICkgKTsKLSAKLSAJd3hNZXNzYWdlT3V0cHV0 RGVidWcoKS5QcmludGYoIEwiJXMiLCBXWF9TVFIoZGJnbXNnKSApOwpkaWZmIC0tZ2l0IGEvc3Jj cGtncy9wY3N4Mi90ZW1wbGF0ZSBiL3NyY3BrZ3MvcGNzeDIvdGVtcGxhdGUKZGVsZXRlZCBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDU5ZjhkZmNkY2U3MWQuLjAwMDAwMDAwMDAwMDAKLS0tIGEvc3Jj cGtncy9wY3N4Mi90ZW1wbGF0ZQorKysgL2Rldi9udWxsCkBAIC0xLDI3ICswLDAgQEAKLSMgVGVt cGxhdGUgZmlsZSBmb3IgJ3Bjc3gyJwotYXJjaHM9Imk2ODYqIgotbGliMzJtb2RlPSJmdWxsIgot bm9waWU9eWVzCi0KLXBrZ25hbWU9cGNzeDIKLXZlcnNpb249MS42LjAKLXJldmlzaW9uPTIKLWJ1 aWxkX3N0eWxlPWNtYWtlCi0jIHN0b3JlIGFsbCBkYXRhIHRoYXQgcGNzeDIgaGFzIHRvIGFjY2Vz cyBpbnRvIC91c3IvbGliLCBzbyBpdCBjYW4gYmUgYWNjZXNzZWQKLSMgb24gbXVsdGlsaWIgc2V0 dXBzLiB3aGVuL2lmIHBjc3gyIHN1cHBvcnRzIDY0LWJpdCBidWlsZHMsIEdBTUVJTkRFWF9ESVIg c2hvdWxkCi0jIGJlIG1vdmVkIHRvIC91c3Ivc2hhcmUvcGNzeDIKLWNvbmZpZ3VyZV9hcmdzPSIt REdMU0xfQVBJPTEgLURTREwyX0FQST1UUlVFIC1EUEFDS0FHRV9NT0RFPTEgLURSRUJVSUxEX1NI QURFUj0xCi0gLURYREdfU1REPTEgLURESVNBQkxFX0FEVkFOQ0VfU0lNRD0xCi0gLURQTFVHSU5f RElSPS91c3IvbGliJHtYQlBTX1RBUkdFVF9XT1JEU0laRX0vcGNzeDIKLSAtREdBTUVJTkRFWF9E SVI9L3Vzci9saWIke1hCUFNfVEFSR0VUX1dPUkRTSVpFfS9wY3N4MiIKLWhvc3RtYWtlZGVwZW5k cz0icGtnLWNvbmZpZyBzcGFyc2VoYXNoIHBlcmwiCi1tYWtlZGVwZW5kcz0iYWxzYS1saWItZGV2 ZWwgU0RMMi1kZXZlbCBnbHUtZGV2ZWwgZ2xldy1kZXZlbCBsaWJhaW8tZGV2ZWwKLSBsaWJjYW5i ZXJyYS1kZXZlbCBsaWJqcGVnLXR1cmJvLWRldmVsIHd4V2lkZ2V0cy1kZXZlbCBwb3J0YXVkaW8t ZGV2ZWwgc291bmR0b3VjaC1kZXZlbAotIGxpYnBjYXAtZGV2ZWwgZ2xpYi1kZXZlbCIKLWRlcGVu ZHM9ImRlc2t0b3AtZmlsZS11dGlscyIKLXNob3J0X2Rlc2M9IlNvbnkgUGxheVN0YXRpb24gMiBl bXVsYXRvciIKLW1haW50YWluZXI9IlNlbGZzaWduZWQgPHNlbGZzaWduZWRAcHJvdG9ubWFpbC5j aD4iCi1saWNlbnNlPSJHUEwtMy4wLW9yLWxhdGVyLCBHUEwtMi4wLW9yLWxhdGVyLCBMR1BMLTIu MS1vci1sYXRlciwgTEdQTC0zLjAtb3ItbGF0ZXIiCi1ob21lcGFnZT0iaHR0cDovL3d3dy5wY3N4 Mi5uZXQiCi1kaXN0ZmlsZXM9Imh0dHBzOi8vZ2l0aHViLmNvbS9QQ1NYMi9wY3N4Mi9hcmNoaXZl L3Yke3ZlcnNpb259LnRhci5neiIKLWNoZWNrc3VtPWMwOTkxNDAyMGU0OTQ2NDBmMTg3ZjQ2ZDAx N2Y5ZDE0MmNlMjAwNGFmNzYzYjlhNmM1YzNhOWVhMDllNTI4MWMKZGlmZiAtLWdpdCBhL3NyY3Br Z3MvcmVtb3ZlZC1wYWNrYWdlcy90ZW1wbGF0ZSBiL3NyY3BrZ3MvcmVtb3ZlZC1wYWNrYWdlcy90 ZW1wbGF0ZQppbmRleCA1ODJiMDk0NGM4YzYyLi5iMTc2NzM5MTU3ZTNjIDEwMDY0NAotLS0gYS9z cmNwa2dzL3JlbW92ZWQtcGFja2FnZXMvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9yZW1vdmVkLXBh Y2thZ2VzL3RlbXBsYXRlCkBAIC00NDEsNiArNDQxLDcgQEAgcmVwbGFjZXM9IgogIHBlcmwtR3Rr Mi1FeC1TaW1wbGUtTGlzdDw9MC41MF80CiAgcGVybC1HdGsyLUltYWdlVmlldzw9MC4wNV84CiAg cGVybC1HdGsyLU5vdGlmeTw9MC4wNV84CisgcGNzeDI8PTEuNi4wXzIKICBwZ2FkbWluMzw9MS4y Mi4yXzE0CiAgcGhvbm9uLWJhY2tlbmQtZ3N0cmVhbWVyPD00LjkuMF8yCiAgcGhvbm9uLWJhY2tl bmQtdmxjPD0wLjkuMV8zCgpGcm9tIDRhZDRlZTQzMTE0NGYxYzI0ZWJmZGZkYjRjZmFmYzRlMTc2 MjI1NDYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206ICJBbmRyZXcgSi4gSGVzZm9yZCIg PGFqaEBzaWRlYmFuZC5vcmc+CkRhdGU6IFN1biwgMjQgU2VwIDIwMjMgMjM6MjY6NTMgLTA0MDAK U3ViamVjdDogW1BBVENIIDAzLzQzXSB3eFB5dGhvbjogcmVtb3ZlIHBhY2thZ2UKCi0tLQogc3Jj cGtncy93eFB5dGhvbi1kZXZlbCAgICB8ICAxIC0KIHNyY3BrZ3Mvd3hQeXRob24vdGVtcGxhdGUg fCA0NyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIDIgZmlsZXMgY2hh bmdlZCwgNDggZGVsZXRpb25zKC0pCiBkZWxldGUgbW9kZSAxMjAwMDAgc3JjcGtncy93eFB5dGhv bi1kZXZlbAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3Mvd3hQeXRob24vdGVtcGxhdGUKCmRp ZmYgLS1naXQgYS9zcmNwa2dzL3d4UHl0aG9uLWRldmVsIGIvc3JjcGtncy93eFB5dGhvbi1kZXZl bApkZWxldGVkIGZpbGUgbW9kZSAxMjAwMDAKaW5kZXggZTM5NmQ1YWUzNzBkNi4uMDAwMDAwMDAw MDAwMAotLS0gYS9zcmNwa2dzL3d4UHl0aG9uLWRldmVsCisrKyAvZGV2L251bGwKQEAgLTEgKzAs MCBAQAotd3hQeXRob24KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9z cmNwa2dzL3d4UHl0aG9uL3RlbXBsYXRlIGIvc3JjcGtncy93eFB5dGhvbi90ZW1wbGF0ZQpkZWxl dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODkxZGRjMTY0NTUyYi4uMDAwMDAwMDAwMDAwMAot LS0gYS9zcmNwa2dzL3d4UHl0aG9uL3RlbXBsYXRlCisrKyAvZGV2L251bGwKQEAgLTEsNDcgKzAs MCBAQAotIyBUZW1wbGF0ZSBmaWxlIGZvciAnd3hQeXRob24nCi1wa2duYW1lPXd4UHl0aG9uCi12 ZXJzaW9uPTMuMC4yLjAKLXJldmlzaW9uPTExCi1ob3N0bWFrZWRlcGVuZHM9InBrZy1jb25maWci Ci1tYWtlZGVwZW5kcz0iCi0gemxpYi1kZXZlbCBsaWJwbmctZGV2ZWwgbGlianBlZy10dXJiby1k ZXZlbCB0aWZmLWRldmVsIGV4cGF0LWRldmVsIGd0aystZGV2ZWwKLSBsaWJTTS1kZXZlbCBNZXNh TGliLWRldmVsIGdsdS1kZXZlbAotIGxpYm5vdGlmeS1kZXZlbCBweXRob24tZGV2ZWwgd3hXaWRn ZXRzLWRldmVsIgotZGVwZW5kcz0icHl0aG9uIgotc2hvcnRfZGVzYz0iUHl0aG9uIEJpbmRpbmdz IGZvciB0aGUgd3hXaWRnZXRzIEdVSSB0b29sa2l0IGxpYnJhcnkiCi1tYWludGFpbmVyPSJPcnBo YW5lZCA8b3JwaGFuQHZvaWRsaW51eC5vcmc+IgotbGljZW5zZT0iV3hXaW5kb3dzLWV4Y2VwdGlv bi0zLjEiCi1ob21lcGFnZT0iaHR0cHM6Ly93d3cud3hweXRob24ub3JnLyIKLWRpc3RmaWxlcz0i JHtTT1VSQ0VGT1JHRV9TSVRFfS93eHB5dGhvbi8ke3BrZ25hbWV9LXNyYy0ke3ZlcnNpb259LnRh ci5iejIiCi1jaGVja3N1bT1kNTQxMjllNWZiZWE0ZmI4MDkxYzg3YjI5ODA3NjBiNzJjMjJhMzg2 Y2IzYjlkZDJlZWJjOTI4ZWY1ZThkZjYxCi0KLWlmIFsgLW4gIiR7Q1JPU1NfQlVJTER9IiBdOyB0 aGVuCi0JaG9zdG1ha2VkZXBlbmRzKz0iIHB5dGhvbiIKLQlDRkxBR1MrPSIgLUkke1hCUFNfQ1JP U1NfQkFTRX0vdXNyL2luY2x1ZGUvcHl0aG9uJHtweTJfdmVyfSIKLWZpCi0KLXByZV9jb25maWd1 cmUoKSB7Ci0JbXYgd3hQeXRob24vd3gvdG9vbHMvRWRpdHJhL3tlZGl0cmEsRWRpdHJhfQotfQot Ci1kb19idWlsZCgpIHsKLQljZCB3eFB5dGhvbgotCXB5dGhvbjIuNyBzZXR1cC5weSBidWlsZAot fQotCi1kb19pbnN0YWxsKCkgewotCWNkIHd4UHl0aG9uCi0JIyBUaGUgcGF0aCB3aGVyZSBpbmNs dWRlcyBhcmUgZ29pbmcgdG8gYmUgaW5zdGFsbGVkIGlzIHByZWZpeGVkIHdpdGggV1hQUkVGSVgg b2J0YWluZWQKLQkjIGZyb20gJ3d4LWNvbmZpZyAtLXByZWZpeCcgYnV0IGluIGEgY3Jvc3MgYnVp bGQgdGhpcyBpcyAnJFhCUFNfQ1JPU1NfQkFTRS91c3InLgotCXNlZCAtaSAtZSAic3xXWFBSRUZJ WCArfCcvdXNyJyArfCIgY29uZmlnLnB5Ci0JcHl0aG9uMi43IHNldHVwLnB5IGluc3RhbGwgLS1y b290PSR7REVTVERJUn0KLQl2bGljZW5zZSAuLi9kb2NzL2xpY2VuY2UudHh0IExJQ0VOU0UKLX0K LQotd3hQeXRob24tZGV2ZWxfcGFja2FnZSgpIHsKLQlkZXBlbmRzPSJ3eFdpZGdldHMtZGV2ZWwg JHtzb3VyY2Vwa2d9Pj0ke3ZlcnNpb259XyR7cmV2aXNpb259IgotCXNob3J0X2Rlc2MrPSIgLSBk ZXZlbG9wbWVudCBmaWxlcyIKLQlwa2dfaW5zdGFsbCgpIHsKLQkJdm1vdmUgdXNyL2luY2x1ZGUK LQl9Ci19CgpGcm9tIGM2ZDFlNTcyNGY3ZTY4MGZkNjhmZGY3Yjg3Y2JmYzg0YTRkYzlmMDkgTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206ICJBbmRyZXcgSi4gSGVzZm9yZCIgPGFqaEBzaWRl YmFuZC5vcmc+CkRhdGU6IFN1biwgMjQgU2VwIDIwMjMgMjM6Mjg6NDAgLTA0MDAKU3ViamVjdDog W1BBVENIIDA0LzQzXSB3eFdpZGdldHM6IHJlbW92ZSBwYWNrYWdlCgotLS0KIGNvbW1vbi9zaGxp YnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDE5IC0tLS0tCiBzcmNwa2dzL3d4 V2lkZ2V0cy1kZXZlbCAgICAgICAgICAgICAgICAgICAgICAgfCAgMSAtCiAuLi4vcGF0Y2hlcy9u b25mYXRhbC1hYmktY2hlY2sucGF0Y2ggICAgICAgICAgfCAxOCAtLS0tLQogLi4uL3d4V2lkZ2V0 cy9wYXRjaGVzL3d4R1RLLWNvbGxpc2lvbi5wYXRjaCAgIHwgNzkgLS0tLS0tLS0tLS0tLS0tLS0t LQogc3JjcGtncy93eFdpZGdldHMvdGVtcGxhdGUgICAgICAgICAgICAgICAgICAgIHwgNjYgLS0t LS0tLS0tLS0tLS0tLQogc3JjcGtncy93eFdpZGdldHMvdXBkYXRlICAgICAgICAgICAgICAgICAg ICAgIHwgIDIgLQogNiBmaWxlcyBjaGFuZ2VkLCAxODUgZGVsZXRpb25zKC0pCiBkZWxldGUgbW9k ZSAxMjAwMDAgc3JjcGtncy93eFdpZGdldHMtZGV2ZWwKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNw a2dzL3d4V2lkZ2V0cy9wYXRjaGVzL25vbmZhdGFsLWFiaS1jaGVjay5wYXRjaAogZGVsZXRlIG1v ZGUgMTAwNjQ0IHNyY3BrZ3Mvd3hXaWRnZXRzL3BhdGNoZXMvd3hHVEstY29sbGlzaW9uLnBhdGNo CiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy93eFdpZGdldHMvdGVtcGxhdGUKIGRlbGV0ZSBt b2RlIDEwMDY0NCBzcmNwa2dzL3d4V2lkZ2V0cy91cGRhdGUKCmRpZmYgLS1naXQgYS9jb21tb24v c2hsaWJzIGIvY29tbW9uL3NobGlicwppbmRleCA5YzIwNjBiYzQ1YTY3Li5kYTdmMjczOWRjNWVk IDEwMDY0NAotLS0gYS9jb21tb24vc2hsaWJzCisrKyBiL2NvbW1vbi9zaGxpYnMKQEAgLTE1NjEs MjYgKzE1NjEsNyBAQCBsaWJmcHJpbnQuc28uMCBsaWJmcHJpbnQwLTEuMF8xCiBsaWJmcHJpbnQt Mi5zby4yIGxpYmZwcmludC0xLjkwLjdfMQogbGlid3hfYmFzZXVfeG1sLTMuMC5zby4wIHd4V2lk Z2V0cy1jb21tb24tMy4wLjRfMQogbGlid3hfYmFzZXUtMy4wLnNvLjAgd3hXaWRnZXRzLWNvbW1v bi0zLjAuNF8xCi1saWJ3eF9ndGsyX2Fkdi0zLjAuc28uMCB3eFdpZGdldHMtMy4wLjBfMQotbGli d3hfYmFzZV94bWwtMy4wLnNvLjAgd3hXaWRnZXRzLTMuMC4wXzEKLWxpYnd4X2d0azJfaHRtbC0z LjAuc28uMCB3eFdpZGdldHMtMy4wLjBfMQotbGlid3hfZ3RrMl9hdWktMy4wLnNvLjAgd3hXaWRn ZXRzLTMuMC4wXzEKLWxpYnd4X2d0azJfY29yZS0zLjAuc28uMCB3eFdpZGdldHMtMy4wLjBfMQot bGlid3hfYmFzZV9uZXQtMy4wLnNvLjAgd3hXaWRnZXRzLTMuMC4wXzEKLWxpYnd4X2Jhc2UtMy4w LnNvLjAgd3hXaWRnZXRzLTMuMC4wXzEKLWxpYnd4X2d0azJ1X2dsLTMuMC5zby4wIHd4V2lkZ2V0 cy0zLjAuMF8xCi1saWJ3eF9ndGsydV9zdGMtMy4wLnNvLjAgd3hXaWRnZXRzLTMuMC4wXzEKLWxp Ynd4X2d0azJ1X2Fkdi0zLjAuc28uMCB3eFdpZGdldHMtMy4wLjBfMQotbGlid3hfZ3RrMnVfcWEt My4wLnNvLjAgd3hXaWRnZXRzLTMuMC4wXzEKIGxpYnd4X2Jhc2V1X25ldC0zLjAuc28uMCB3eFdp ZGdldHMtY29tbW9uLTMuMC40XzEKLWxpYnd4X2d0azJ1X2NvcmUtMy4wLnNvLjAgd3hXaWRnZXRz LTMuMC4wXzEKLWxpYnd4X2d0azJ1X3JpY2h0ZXh0LTMuMC5zby4wIHd4V2lkZ2V0cy0zLjAuMF8x Ci1saWJ3eF9ndGsydV9wcm9wZ3JpZC0zLjAuc28uMCB3eFdpZGdldHMtMy4wLjBfMQotbGlid3hf Z3RrMnVfaHRtbC0zLjAuc28uMCB3eFdpZGdldHMtMy4wLjBfMQotbGlid3hfZ3RrMnVfeHJjLTMu MC5zby4wIHd4V2lkZ2V0cy0zLjAuMF8xCi1saWJ3eF9ndGsydV9hdWktMy4wLnNvLjAgd3hXaWRn ZXRzLTMuMC4wXzEKLWxpYnd4X2d0azJ1X3JpYmJvbi0zLjAuc28uMCB3eFdpZGdldHMtMy4wLjBf MQotbGlid3hfZ3RrMnVfbWVkaWEtMy4wLnNvLjAgd3hXaWRnZXRzLTMuMC4xXzEKIGxpYm1zcGFj ay5zby4wIGxpYm1zcGFjay0wLjRhbHBoYV8xCiBsaWJzbGltLnNvLjEuMy42IHNsaW0tMS4zLjZf MQogbGlibWVkaWFhcnQtMi4wLnNvLjAgbGlibWVkaWFhcnQtMS45LjFfMQpkaWZmIC0tZ2l0IGEv c3JjcGtncy93eFdpZGdldHMtZGV2ZWwgYi9zcmNwa2dzL3d4V2lkZ2V0cy1kZXZlbApkZWxldGVk IGZpbGUgbW9kZSAxMjAwMDAKaW5kZXggMGU5NzliYjc4OWQxMS4uMDAwMDAwMDAwMDAwMAotLS0g YS9zcmNwa2dzL3d4V2lkZ2V0cy1kZXZlbAorKysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAKLXd4 V2lkZ2V0cwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mv d3hXaWRnZXRzL3BhdGNoZXMvbm9uZmF0YWwtYWJpLWNoZWNrLnBhdGNoIGIvc3JjcGtncy93eFdp ZGdldHMvcGF0Y2hlcy9ub25mYXRhbC1hYmktY2hlY2sucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IGJiOTNmMGEyNjE1NmMuLjAwMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy93 eFdpZGdldHMvcGF0Y2hlcy9ub25mYXRhbC1hYmktY2hlY2sucGF0Y2gKKysrIC9kZXYvbnVsbApA QCAtMSwxOCArMCwwIEBACi1UYWtlbiBmcm9tCi1odHRwczovL2dpdGh1Yi5jb20vYXJjaGxpbnV4 L3N2bnRvZ2l0LXBhY2thZ2VzL2Jsb2IvNzFlZTE3ZDUyOWY4ZTBkYzVjNDRkMmZmZmIwZGZhNjli NzFkYWEwYi9yZXBvcy9leHRyYS14ODZfNjQvbWFrZS1hYmljaGVjay1ub24tZmF0YWwucGF0Y2gK LQotZGlmZiAtdXAgd3hHVEstMi44LjEyL3NyYy9jb21tb24vYXBwYmFzZS5jcHAuYWJpY2hlY2sg d3hHVEstMi44LjEyL3NyYy9jb21tb24vYXBwYmFzZS5jcHAKLS0tLSBhL3NyYy9jb21tb24vYXBw YmFzZS5jcHAuYWJpY2hlY2sJMjAxNS0wMy0xMiAxNzoxNToxOC4wMDAwMDAwMDAgKzAxMDAKLSsr KyBiL3NyYy9jb21tb24vYXBwYmFzZS5jcHAJMjAxNS0wMy0xMiAxNzoxNTo1Ny4wMDAwMDAwMDAg KzAxMDAKLUBAIC00MjQsMTAgKzQyNCw3IEBAIGJvb2wgd3hBcHBDb25zb2xlOjpDaGVja0J1aWxk T3B0aW9ucyhjb24KLSAgICAgICAgIG1zZy5QcmludGYoX1QoIk1pc21hdGNoIGJldHdlZW4gdGhl IHByb2dyYW0gYW5kIGxpYnJhcnkgYnVpbGQgdmVyc2lvbnMgZGV0ZWN0ZWQuXG5UaGUgbGlicmFy eSB1c2VkICVzLFxuYW5kICVzIHVzZWQgJXMuIiksCi0gICAgICAgICAgICAgICAgICAgIGxpYi5j X3N0cigpLCBwcm9nTmFtZS5jX3N0cigpLCBwcm9nLmNfc3RyKCkpOwotIAotLSAgICAgICAgd3hM b2dGYXRhbEVycm9yKG1zZy5jX3N0cigpKTsKLS0KLS0gICAgICAgIC8vIG5vcm1hbGx5IHd4TG9n RmF0YWxFcnJvciBkb2Vzbid0IHJldHVybgotLSAgICAgICAgcmV0dXJuIGZhbHNlOwotKyAgICAg ICAgd3hMb2dXYXJuaW5nKG1zZy5jX3N0cigpKTsKLSAgICAgfQotICN1bmRlZiB3eENNUAotIApk aWZmIC0tZ2l0IGEvc3JjcGtncy93eFdpZGdldHMvcGF0Y2hlcy93eEdUSy1jb2xsaXNpb24ucGF0 Y2ggYi9zcmNwa2dzL3d4V2lkZ2V0cy9wYXRjaGVzL3d4R1RLLWNvbGxpc2lvbi5wYXRjaApkZWxl dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWVjMzFlYmFjZWIxZC4uMDAwMDAwMDAwMDAwMAot LS0gYS9zcmNwa2dzL3d4V2lkZ2V0cy9wYXRjaGVzL3d4R1RLLWNvbGxpc2lvbi5wYXRjaAorKysg L2Rldi9udWxsCkBAIC0xLDc5ICswLDAgQEAKLWRpZmYgLU5hdXIgTWFrZWZpbGUuaW4gTWFrZWZp bGUuaW4KLS0tLSBhL01ha2VmaWxlLmluCTIwMTQtMTAtMDYgMjM6MzM6NDQuMDAwMDAwMDAwICsw MjAwCi0rKysgYi9NYWtlZmlsZS5pbgkyMDE0LTExLTE5IDEwOjQ4OjE4Ljc1MjMxOTA1OCArMDEw MAotQEAgLTE1Mjc5LDkgKzE1Mjc5LDExIEBACi0gCi0gaW5zdGFsbDogJChfX2luc3RhbGxfd3hy ZWdleF9fX2RlcG5hbWUpICQoX19pbnN0YWxsX3d4emxpYl9fX2RlcG5hbWUpICQoX19pbnN0YWxs X3d4cG5nX19fZGVwbmFtZSkgJChfX2luc3RhbGxfd3hqcGVnX19fZGVwbmFtZSkgJChfX2luc3Rh bGxfd3h0aWZmX19fZGVwbmFtZSkgJChfX2luc3RhbGxfd3hleHBhdF9fX2RlcG5hbWUpICQoX19p bnN0YWxsX3d4c2NpbnRpbGxhX19fZGVwbmFtZSkgJChfX2luc3RhbGxfbW9ub2RsbF9fX2RlcG5h bWUpICQoX19pbnN0YWxsX21vbm9saWJfX19kZXBuYW1lKSAkKF9faW5zdGFsbF9iYXNlZGxsX19f ZGVwbmFtZSkgJChfX2luc3RhbGxfYmFzZWxpYl9fX2RlcG5hbWUpICQoX19pbnN0YWxsX25ldGRs bF9fX2RlcG5hbWUpICQoX19pbnN0YWxsX25ldGxpYl9fX2RlcG5hbWUpICQoX19pbnN0YWxsX2Nv cmVkbGxfX19kZXBuYW1lKSAkKF9faW5zdGFsbF9jb3JlbGliX19fZGVwbmFtZSkgJChfX2luc3Rh bGxfYWR2ZGxsX19fZGVwbmFtZSkgJChfX2luc3RhbGxfYWR2bGliX19fZGVwbmFtZSkgJChfX2lu c3RhbGxfbWVkaWFkbGxfX19kZXBuYW1lKSAkKF9faW5zdGFsbF9tZWRpYWxpYl9fX2RlcG5hbWUp ICQoX19pbnN0YWxsX2h0bWxkbGxfX19kZXBuYW1lKSAkKF9faW5zdGFsbF9odG1sbGliX19fZGVw bmFtZSkgJChfX2luc3RhbGxfd2Vidmlld2RsbF9fX2RlcG5hbWUpICQoX19pbnN0YWxsX3dlYnZp ZXdsaWJfX19kZXBuYW1lKSAkKF9faW5zdGFsbF9xYWRsbF9fX2RlcG5hbWUpICQoX19pbnN0YWxs X3FhbGliX19fZGVwbmFtZSkgJChfX2luc3RhbGxfeG1sZGxsX19fZGVwbmFtZSkgJChfX2luc3Rh bGxfeG1sbGliX19fZGVwbmFtZSkgJChfX2luc3RhbGxfeHJjZGxsX19fZGVwbmFtZSkgJChfX2lu c3RhbGxfeHJjbGliX19fZGVwbmFtZSkgJChfX2luc3RhbGxfYXVpZGxsX19fZGVwbmFtZSkgJChf X2luc3RhbGxfYXVpbGliX19fZGVwbmFtZSkgJChfX2luc3RhbGxfcmliYm9uZGxsX19fZGVwbmFt ZSkgJChfX2luc3RhbGxfcmliYm9ubGliX19fZGVwbmFtZSkgJChfX2luc3RhbGxfcHJvcGdyaWRk bGxfX19kZXBuYW1lKSAkKF9faW5zdGFsbF9wcm9wZ3JpZGxpYl9fX2RlcG5hbWUpICQoX19pbnN0 YWxsX3JpY2h0ZXh0ZGxsX19fZGVwbmFtZSkgJChfX2luc3RhbGxfcmljaHRleHRsaWJfX19kZXBu YW1lKSAkKF9faW5zdGFsbF9zdGNkbGxfX19kZXBuYW1lKSAkKF9faW5zdGFsbF9zdGNsaWJfX19k ZXBuYW1lKSAkKF9faW5zdGFsbF9nbGRsbF9fX2RlcG5hbWUpICQoX19pbnN0YWxsX2dsbGliX19f ZGVwbmFtZSkgJChfX2luc3RhbGxfc291bmRfc2RsX19fZGVwbmFtZSkgJChfX2luc3RhbGxfd2Vi a2l0Ml9leHRfX19kZXBuYW1lKSAkKF9faW5zdGFsbF93eHJjX19fZGVwbmFtZSkgaW5zdGFsbC13 eGNvbmZpZyBsb2NhbGVfaW5zdGFsbCBsb2NhbGVfbXN3X2luc3RhbGwKLSAJJChJTlNUQUxMX0RJ UikgJChERVNURElSKSQoZGF0YWRpcikvYWNsb2NhbAotLQkoY2QgJChzcmNkaXIpIDsgJChJTlNU QUxMX0RBVEEpICB3eHdpbi5tNCAkKERFU1RESVIpJChkYXRhZGlyKS9hY2xvY2FsKQotKwkoY2Qg JChzcmNkaXIpIDsgJChJTlNUQUxMX0RBVEEpICB3eHdpbi5tNCAkKERFU1RESVIpJChkYXRhZGly KS9hY2xvY2FsL3d4d2luMy5tNCkKLSAJJChJTlNUQUxMX0RJUikgJChERVNURElSKSQoZGF0YWRp cikvYmFrZWZpbGUvcHJlc2V0cwotLQkoY2QgJChzcmNkaXIpL2J1aWxkL2Jha2VmaWxlcy93eHBy ZXNldHMvcHJlc2V0cyA7ICQoSU5TVEFMTF9EQVRBKSAgd3guYmtsIHd4X3VuaXguYmtsIHd4X3dp bjMyLmJrbCB3eF94cmMuYmtsIHd4X3ByZXNldHMucHkgJChERVNURElSKSQoZGF0YWRpcikvYmFr ZWZpbGUvcHJlc2V0cykKLSsJKGNkICQoc3JjZGlyKS9idWlsZC9iYWtlZmlsZXMvd3hwcmVzZXRz L3ByZXNldHMgOyBcCi0rCWZvciBpIGluIHd4LmJrbCB3eF91bml4LmJrbCB3eF93aW4zMi5ia2wg d3hfeHJjLmJrbCB3eF9wcmVzZXRzLnB5IDsgZG8gXAotKwkkKElOU1RBTExfREFUQSkgJCRpICQo REVTVERJUikkKGRhdGFkaXIpL2Jha2VmaWxlL3ByZXNldHMvd3gkKFdYX1JFTEVBU0VfTk9ET1Qp JCR7aSMjd3h9IDsgZG9uZSkKLSAJJChEWUxJQl9SUEFUSF9JTlNUQUxMKQotIAkkKElOU1RBTExf RElSKSAkKERFU1RESVIpJChsaWJkaXIpL3d4L2luY2x1ZGUvJChUT09MQ0hBSU5fRlVMTE5BTUUp L3d4Ci0gCWZvciBmIGluIHNldHVwLmggJChSQ0RFRlNfSCk7IGRvIFwKLUBAIC0xNjE3Nyw3ICsx NjE3OSw3IEBACi0gCSQoSU5TVEFMTF9ESVIpICQoREVTVERJUikkKGJpbmRpcikKLSAJJChJTlNU QUxMX0RJUikgJChERVNURElSKSQobGliZGlyKS93eC9jb25maWcKLSAJJChJTlNUQUxMX1NDUklQ VCkgbGliL3d4L2NvbmZpZy8kKFRPT0xDSEFJTl9GVUxMTkFNRSkgJChERVNURElSKSQobGliZGly KS93eC9jb25maWcKLS0JKGNkICQoREVTVERJUikkKGJpbmRpcikgJiYgcm0gLWYgd3gtY29uZmln ICYmICQoTE5fUykgJChsaWJkaXIpL3d4L2NvbmZpZy8kKFRPT0xDSEFJTl9GVUxMTkFNRSkgd3gt Y29uZmlnIHx8IGNwIC1wICQoREVTVERJUikkKGxpYmRpcikvd3gvY29uZmlnLyQoVE9PTENIQUlO X0ZVTExOQU1FKSB3eC1jb25maWcpCi0rCShjZCAkKERFU1RESVIpJChiaW5kaXIpICYmIHJtIC1m IHd4LWNvbmZpZy0kKFdYX1JFTEVBU0UpICYmICQoTE5fUykgJChsaWJkaXIpL3d4L2NvbmZpZy8k KFRPT0xDSEFJTl9GVUxMTkFNRSkgd3gtY29uZmlnLSQoV1hfUkVMRUFTRSkgfHwgY3AgLXAgJChE RVNURElSKSQobGliZGlyKS93eC9jb25maWcvJChUT09MQ0hBSU5fRlVMTE5BTUUpIHd4LWNvbmZp Zy0kKFdYX1JFTEVBU0UpKQotIAotIGxvY2FsZV9pbnN0YWxsOiAKLSAJJChJTlNUQUxMX0RJUikg JChERVNURElSKSQoZGF0YWRpcikvbG9jYWxlCi1AQCAtMTYxODUsNyArMTYxODcsNyBAQAotIAkk KElOU1RBTExfRElSKSAkKERFU1RESVIpJChkYXRhZGlyKS9sb2NhbGUvJCRsIDsgXAotIAkkKElO U1RBTExfRElSKSAkKERFU1RESVIpJChkYXRhZGlyKS9sb2NhbGUvJCRsL0xDX01FU1NBR0VTIDsg XAotIAlpZiB0ZXN0IC1mICQoc3JjZGlyKS9sb2NhbGUvJCRsLm1vIDsgdGhlbiBcCi0tCSQoSU5T VEFMTF9EQVRBKSAkKHNyY2RpcikvbG9jYWxlLyQkbC5tbyAkKERFU1RESVIpJChkYXRhZGlyKS9s b2NhbGUvJCRsL0xDX01FU1NBR0VTL3d4c3RkLm1vIDsgXAotKwkkKElOU1RBTExfREFUQSkgJChz cmNkaXIpL2xvY2FsZS8kJGwubW8gJChERVNURElSKSQoZGF0YWRpcikvbG9jYWxlLyQkbC9MQ19N RVNTQUdFUy93eHN0ZCQoV1hfUkVMRUFTRV9OT0RPVCkubW8gOyBcCi0gCWZpIDsgXAotIAlkb25l Ci0gCi1AQCAtMTYyMDIsNyArMTYyMDQsNyBAQAotIAkkKElOU1RBTExfRElSKSAkKERFU1RESVIp JChkYXRhZGlyKS9sb2NhbGUvJCRsIDsgXAotIAkkKElOU1RBTExfRElSKSAkKERFU1RESVIpJChk YXRhZGlyKS9sb2NhbGUvJCRsL0xDX01FU1NBR0VTIDsgXAotIAlpZiB0ZXN0IC1mICQoc3JjZGly KS9sb2NhbGUvbXN3LyQkbC5tbyA7IHRoZW4gXAotLQkkKElOU1RBTExfREFUQSkgJChzcmNkaXIp L2xvY2FsZS9tc3cvJCRsLm1vICQoREVTVERJUikkKGRhdGFkaXIpL2xvY2FsZS8kJGwvTENfTUVT U0FHRVMvd3htc3cubW8gOyBcCi0rCSQoSU5TVEFMTF9EQVRBKSAkKHNyY2RpcikvbG9jYWxlL21z dy8kJGwubW8gJChERVNURElSKSQoZGF0YWRpcikvbG9jYWxlLyQkbC9MQ19NRVNTQUdFUy93eG1z dyQoV1hfUkVMRUFTRV9OT0RPVCkubW8gOyBcCi0gCWZpIDsgXAotIAlkb25lCi0gCi1kaWZmIC1O YXVyIGJ1aWxkL2Jha2VmaWxlcy93eC5ia2wgYnVpbGQvYmFrZWZpbGVzL3d4LmJrbAotLS0tIGEv YnVpbGQvYmFrZWZpbGVzL3d4LmJrbAkyMDE0LTEwLTA2IDIzOjMzOjQ0LjAwMDAwMDAwMCArMDIw MAotKysrIGIvYnVpbGQvYmFrZWZpbGVzL3d4LmJrbAkyMDE0LTExLTE5IDEwOjMyOjIxLjY5MjI4 Mzk1NSArMDEwMAotQEAgLTEzNyw3ICsxMzcsNyBAQAotICAgICAgICAgPHVzaW5nIG1vZHVsZT0i Z2V0dGV4dCIvPgotICAgICAgICAgPGdldHRleHQtY2F0YWxvZ3MgaWQ9ImxvY2FsZSI+Ci0gICAg ICAgICAgICAgPHNyY2Rpcj4kKFNSQ0RJUikvbG9jYWxlPC9zcmNkaXI+Ci0tICAgICAgICAgICAg PGNhdGFsb2ctbmFtZT53eHN0ZDwvY2F0YWxvZy1uYW1lPgotKyAgICAgICAgICAgIDxjYXRhbG9n LW5hbWU+d3hzdGQkKFdYX1JFTEVBU0VfTk9ET1QpPC9jYXRhbG9nLW5hbWU+Ci0gICAgICAgICAg ICAgPGxpbmd1YXM+Ci0gICAgICAgICAgICAgICAgIGNhIGNzIGRhIGRlIGVsIGVzIGZpIGZyIGh1 IGlkIGl0IGphIG5sIHBsIHJ1IHNsIHN2IHRyIHVrCi0gICAgICAgICAgICAgICAgIHpoIHpoX0NO IHpoX1RXCi1kaWZmIC1OYXVyIHNyYy9jb21tb24vdHJhbnNsYXRpb24uY3BwIHNyYy9jb21tb24v dHJhbnNsYXRpb24uY3BwCi0tLS0gYS9zcmMvY29tbW9uL3RyYW5zbGF0aW9uLmNwcAkyMDE0LTEw LTA2IDIzOjMzOjQ0LjAwMDAwMDAwMCArMDIwMAotKysrIGIvc3JjL2NvbW1vbi90cmFuc2xhdGlv bi5jcHAJMjAxNC0xMS0xOSAxMTowMjoyMS4wNjc3ODg2NjUgKzAxMDAKLUBAIC0xNDcxLDcgKzE0 NzEsNyBAQAotIAotIGJvb2wgd3hUcmFuc2xhdGlvbnM6OkFkZFN0ZENhdGFsb2coKQotIHsKLS0g ICAgaWYgKCAhQWRkQ2F0YWxvZyh3eFMoInd4c3RkIikpICkKLSsgICAgaWYgKCAhQWRkQ2F0YWxv Zyh3eFMoInd4c3RkIiB3eFNUUklOR0laRSh3eE1BSk9SX1ZFUlNJT04pIHd4U1RSSU5HSVpFKHd4 TUlOT1JfVkVSU0lPTikpKSApCi0gICAgICAgICByZXR1cm4gZmFsc2U7Ci0gCi0gICAgIC8vIHRo ZXJlIG1heSBiZSBhIGNhdGFsb2cgd2l0aCB0b29sa2l0IHNwZWNpZmljIG92ZXJyaWRlcywgaXQg aXMgbm90Ci1kaWZmIC1OYXVyIHV0aWxzL3d4cmMvTWFrZWZpbGUuaW4gdXRpbHMvd3hyYy9NYWtl ZmlsZS5pbgotLS0tIGEvdXRpbHMvd3hyYy9NYWtlZmlsZS5pbgkyMDE0LTEwLTA2IDIzOjMzOjQ0 LjAwMDAwMDAwMCArMDIwMAotKysrIGIvdXRpbHMvd3hyYy9NYWtlZmlsZS5pbgkyMDE0LTExLTE5 IDEwOjQ5OjU1LjQxMDExMDY2OSArMDEwMAotQEAgLTEyNSw3ICsxMjUsNiBAQAotIEBDT05EX1VT RV9YUkNfMUAJcm0gLWYgJChERVNURElSKSQoYmluZGlyKS93eHJjJChFWEVFWFQpICQoREVTVERJ UikkKGJpbmRpcikvd3hyYy0kKFdYX1JFTEVBU0UpCi0gQENPTkRfVVNFX1hSQ18xQAkkKElOU1RB TExfUFJPR1JBTSkgd3hyYyQoRVhFRVhUKSAkKERFU1RESVIpJChiaW5kaXIpCi0gQENPTkRfVVNF X1hSQ18xQAltdiAtZiAkKERFU1RESVIpJChiaW5kaXIpL3d4cmMkKEVYRUVYVCkgJChERVNURElS KSQoYmluZGlyKS93eHJjLSQoV1hfUkVMRUFTRSkKLS1AQ09ORF9VU0VfWFJDXzFACShjZCAkKERF U1RESVIpJChiaW5kaXIpICYmICQoTE5fUykgd3hyYy0kKFdYX1JFTEVBU0UpIHd4cmMkKEVYRUVY VCkpCi0gCi0gQENPTkRfVVNFX1hSQ18xQHVuaW5zdGFsbF93eHJjOiAKLSBAQ09ORF9VU0VfWFJD XzFACXJtIC1mICQoREVTVERJUikkKGJpbmRpcikvd3hyYyQoRVhFRVhUKQpkaWZmIC0tZ2l0IGEv c3JjcGtncy93eFdpZGdldHMvdGVtcGxhdGUgYi9zcmNwa2dzL3d4V2lkZ2V0cy90ZW1wbGF0ZQpk ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDgwYzNlMTVlMzUyNC4uMDAwMDAwMDAwMDAw MAotLS0gYS9zcmNwa2dzL3d4V2lkZ2V0cy90ZW1wbGF0ZQorKysgL2Rldi9udWxsCkBAIC0xLDY2 ICswLDAgQEAKLSMgVGVtcGxhdGUgZmlsZSBmb3IgJ3d4V2lkZ2V0cycKLXBrZ25hbWU9d3hXaWRn ZXRzCi12ZXJzaW9uPTMuMC41LjEKLXJldmlzaW9uPTYKLWJ1aWxkX3N0eWxlPWdudS1jb25maWd1 cmUKLWNvbmZpZ3VyZV9hcmdzPSItLWVuYWJsZS11bmljb2RlIC0td2l0aC1vcGVuZ2wgLS13aXRo LXNkbCAtLXdpdGgtbGlibXNwYWNrCi0gLS13aXRoLWxpYm5vdGlmeSAtLWVuYWJsZS1tZWRpYWN0 cmwgLS13aXRoLWd0az0yIC0tZGlzYWJsZS13ZWJ2aWV3IgotaG9zdG1ha2VkZXBlbmRzPSJwa2ct Y29uZmlnIgotbWFrZWRlcGVuZHM9Imd0aystZGV2ZWwgbGlianBlZy10dXJiby1kZXZlbCB0aWZm LWRldmVsIGxpYlNNLWRldmVsIGxpYm5vdGlmeS1kZXZlbAotIGxpYlhpbmVyYW1hLWRldmVsIGxp Ym1zcGFjay1kZXZlbCBTREwyLWRldmVsIGdsdS1kZXZlbAotIGdzdHJlYW1lcjEtZGV2ZWwgZ3N0 LXBsdWdpbnMtYmFzZTEtZGV2ZWwiCi1kZXBlbmRzPSJ3eFdpZGdldHMtY29tbW9uPj0ke3ZlcnNp b259Igotc2hvcnRfZGVzYz0iV3hXaWRnZXRzIEdVSSB0b29sa2l0IGxpYnJhcnkgKHZlcnNpb24g MykiCi1tYWludGFpbmVyPSJNYXJ0aW4gUmllc2UgPGdyYXVlaGFhcmVAZ214LmRlPiIKLWxpY2Vu c2U9Ild4V2luZG93cy1leGNlcHRpb24tMy4xIgotaG9tZXBhZ2U9Imh0dHBzOi8vd3d3Lnd4d2lk Z2V0cy5vcmcvIgotZGlzdGZpbGVzPSJodHRwczovL2dpdGh1Yi5jb20vd3hXaWRnZXRzL3d4V2lk Z2V0cy9yZWxlYXNlcy9kb3dubG9hZC92JHt2ZXJzaW9ufS93eFdpZGdldHMtJHt2ZXJzaW9ufS50 YXIuYnoyIgotY2hlY2tzdW09NDQwZjZlNzNjZjVhZmIyY2JmOWFmMTBjZWM4ZGE2Y2RkM2QzOTk4 ZDUyNzU5OGE1M2RiODcwOTk1MjRhYzgwNwotCi1wb3N0X2luc3RhbGwoKSB7Ci0JbG9jYWwgX2Nv bmZpZz0iZ3RrMi11bmljb2RlLTMuMCIKLQkjIHJlbW92ZSBmaWxlcyB0aGF0IGFyZSBhbHJlYWR5 IGluIHd4V2lkZ2V0cy1jb21tb24KLQlybSAtZiAke0RFU1RESVJ9L3Vzci9saWIvbGlid3hfYmFz ZXUqCi0Jcm0gLXJmICR7REVTVERJUn0vdXNyL2Jpbi93eHJjKgotCXJtIC1yZiAke0RFU1RESVJ9 L3Vzci9zaGFyZQotCWZpbmQgJHtERVNURElSfS91c3IvaW5jbHVkZSAtdHlwZSBmIC1ub3QgLW5h bWUgdGFiYXJ0Z3RrLmggXAotCQktbm90IC1uYW1lIGZvbnRkbGdnLmggLW5vdCAtbmFtZSBub3Rp Zm1zZy5oIC1leGVjIHJtIC1mIHt9IFw7Ci0JZm9yIGYgaW4gIiIgZ2VuZXJpYyBndGs7IGRvCi0J CXJtICR7REVTVERJUn0vdXNyL2luY2x1ZGUvd3gtMy4wL3d4LyRmL25vdGlmbXNnLmgKLQlkb25l Ci0JIyByZW1vdmUgYWxsIG9jY3VycmVuY2VzIG9mICRYQlBTX0NST1NTX1RSSVBMRVQKLQkjIHd4 LWNvbmZpZzoKLQkjICAgLSBtYXJrIHRoaXMgYnVpbGQgYXMgbmF0aXZlIGJ1aWxkCi0JIyAgIC0g aWdub3JlIC0taG9zdCBvcHRpb247IGJyZWFrcyBjb25maWd1cmUgc2NyaXB0cyB3aGVuCi0JIyAg ICAgY3Jvc3MgY29tcGlsaW5nIChpc27igJl0IG5lY2Vzc2FyeSBpbiBvdXIgY2FzZSBhbnl3YXkp Ci0JaWYgWyAtbiAiJENST1NTX0JVSUxEIiBdOyB0aGVuCi0JCXJlbmFtZSAiJHtYQlBTX0NST1NT X1RSSVBMRVR9LSIgIiIgXAotCQkJJHtERVNURElSfS91c3IvbGliL3d4L2NvbmZpZy8qIFwKLQkJ CSR7REVTVERJUn0vdXNyL2xpYi93eC9pbmNsdWRlLyoKLQkJcmVuYW1lIC0tICItJHtYQlBTX0NS T1NTX1RSSVBMRVR9IiAiIiAke0RFU1RESVJ9L3Vzci9saWIvKgotCi0JCXNlZCAtaSAtZSAicy8k e1hCUFNfQ1JPU1NfVFJJUExFVH0tLy9nIiBcCi0JCQktZSAicy8tJHtYQlBTX0NST1NTX1RSSVBM RVR9Ly9nIiBcCi0JCQktZSAicywkWEJQU19DUk9TU19CQVNFLCxnIiBcCi0JCQkke0RFU1RESVJ9 L3Vzci9saWIvd3gvY29uZmlnLyR7X2NvbmZpZ30KLQotCWZpCi0Jc2VkIC1pIC1lICdzLF5iaW5k aXI9LiosYmluZGlyPSR7ZXhlY19wcmVmaXh9L2JpbiwnIFwKLQkJLWUgJ3MvaXNfY3Jvc3MoKSAg eyAuKiB9L2lzX2Nyb3NzKCkgeyBmYWxzZTsgfS9nJyBcCi0JCS1lICcvLS1cKj1cKikvaSAtLWhv c3Q9XCopIGNvbnRpbnVlOzsnIFwKLQkJLWUgInMsL3Vzci9saWIsXCR7ZXhlY19wcmVmaXh9L2xp YixnIiBcCi0JCSR7REVTVERJUn0vdXNyL2xpYi93eC9jb25maWcvJHtfY29uZmlnfQotCWxuIC1z ZiAuLi9saWIvd3gvY29uZmlnLyR7X2NvbmZpZ30gJHtQS0dERVNURElSfS91c3IvYmluL3d4LWNv bmZpZy0zLjAKLQlsbiAtc2Ygd3gtY29uZmlnLTMuMCAke0RFU1RESVJ9L3Vzci9iaW4vd3gtY29u ZmlnCi19Ci0KLXd4V2lkZ2V0cy1kZXZlbF9wYWNrYWdlKCkgewotCWRlcGVuZHM9IiR7c291cmNl cGtnfT49JHt2ZXJzaW9ufV8ke3JldmlzaW9ufSAke3NvdXJjZXBrZ30tY29tbW9uLWRldmVsPj0k e3ZlcnNpb259IgotCXNob3J0X2Rlc2MrPSIgLSBkZXZlbG9wbWVudCBmaWxlcyIKLQlwa2dfaW5z dGFsbCgpIHsKLQkJdm1vdmUgdXNyL2luY2x1ZGUKLQkJdm1vdmUgdXNyL2JpbgotCQl2bW92ZSAi dXNyL2xpYi8qLnNvIgotCQl2bW92ZSB1c3IvbGliL3d4Ci0JfQotfQpkaWZmIC0tZ2l0IGEvc3Jj cGtncy93eFdpZGdldHMvdXBkYXRlIGIvc3JjcGtncy93eFdpZGdldHMvdXBkYXRlCmRlbGV0ZWQg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3N2UyOTBlN2U2NDZlLi4wMDAwMDAwMDAwMDAwCi0tLSBh L3NyY3BrZ3Mvd3hXaWRnZXRzL3VwZGF0ZQorKysgL2Rldi9udWxsCkBAIC0xLDIgKzAsMCBAQAot IyBkZXZlbG9wbWVudCB2ZXJzaW9uCi1pZ25vcmU9JzMuMS4qJwoKRnJvbSA0NWUyZjQyNWU1NjY4 MDY1ZDhiOTk3YTQ3NTFiMjE5Y2Q0MjRjMTkzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9t OiAiQW5kcmV3IEouIEhlc2ZvcmQiIDxhamhAc2lkZWJhbmQub3JnPgpEYXRlOiBNb24sIDI1IFNl cCAyMDIzIDAwOjA0OjMzIC0wNDAwClN1YmplY3Q6IFtQQVRDSCAwNS80M10gd3hXaWRnZXRzLWd0 azM6IHVwZGF0ZSB0byAzLjIuMi4xLgoKLS0tCiBjb21tb24vc2hsaWJzICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfCAzMiArKysrKy0tLS0tCiAuLi4vd3hXaWRnZXRzLWd0azMvZmls ZXMvbXVzbC1sb2NhbGUtbC5wYXRjaCAgfCAzNCArKysrKysrKysrKwogLi4uL3BhdGNoZXMvaW52 YWxpZC1oZWFkZXItc3ludGF4LnBhdGNoICAgICAgIHwgMTYgKysrKysKIC4uLi93eFdpZGdldHMt Z3RrMy9wYXRjaGVzL2xhcmdlZmlsZS5wYXRjaCAgICB8IDE2ICsrKysrCiBzcmNwa2dzL3d4V2lk Z2V0cy1ndGszL3BhdGNoZXMvbm8tZ2x2bmQucGF0Y2ggfCA0NSArKysrKysrKysrKysrKwogLi4u L3BhdGNoZXMvbm9uZmF0YWwtYWJpLWNoZWNrLnBhdGNoICAgICAgICAgIHwgMjEgKysrLS0tLQog c3JjcGtncy93eFdpZGdldHMtZ3RrMy90ZW1wbGF0ZSAgICAgICAgICAgICAgIHwgNjAgKysrKysr KysrKysrKy0tLS0tLQogc3JjcGtncy93eFdpZGdldHMtZ3RrMy91cGRhdGUgICAgICAgICAgICAg ICAgIHwgIDQgKy0KIDggZmlsZXMgY2hhbmdlZCwgMTgwIGluc2VydGlvbnMoKyksIDQ4IGRlbGV0 aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3Mvd3hXaWRnZXRzLWd0azMvZmlsZXMv bXVzbC1sb2NhbGUtbC5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3Mvd3hXaWRnZXRz LWd0azMvcGF0Y2hlcy9pbnZhbGlkLWhlYWRlci1zeW50YXgucGF0Y2gKIGNyZWF0ZSBtb2RlIDEw MDY0NCBzcmNwa2dzL3d4V2lkZ2V0cy1ndGszL3BhdGNoZXMvbGFyZ2VmaWxlLnBhdGNoCiBjcmVh dGUgbW9kZSAxMDA2NDQgc3JjcGtncy93eFdpZGdldHMtZ3RrMy9wYXRjaGVzL25vLWdsdm5kLnBh dGNoCgpkaWZmIC0tZ2l0IGEvY29tbW9uL3NobGlicyBiL2NvbW1vbi9zaGxpYnMKaW5kZXggZGE3 ZjI3MzlkYzVlZC4uODVlYWQyMDg0NGVjYyAxMDA2NDQKLS0tIGEvY29tbW9uL3NobGlicworKysg Yi9jb21tb24vc2hsaWJzCkBAIC0xNTU5LDkgKzE1NTksNiBAQCBsaWJvZnguc28uNyBsaWJvZngt MC4xMC4xXzEKIGxpYnNpZ3NlZ3Yuc28uMiBsaWJzaWdzZWd2LTIuMTBfMgogbGliZnByaW50LnNv LjAgbGliZnByaW50MC0xLjBfMQogbGliZnByaW50LTIuc28uMiBsaWJmcHJpbnQtMS45MC43XzEK LWxpYnd4X2Jhc2V1X3htbC0zLjAuc28uMCB3eFdpZGdldHMtY29tbW9uLTMuMC40XzEKLWxpYnd4 X2Jhc2V1LTMuMC5zby4wIHd4V2lkZ2V0cy1jb21tb24tMy4wLjRfMQotbGlid3hfYmFzZXVfbmV0 LTMuMC5zby4wIHd4V2lkZ2V0cy1jb21tb24tMy4wLjRfMQogbGlibXNwYWNrLnNvLjAgbGlibXNw YWNrLTAuNGFscGhhXzEKIGxpYnNsaW0uc28uMS4zLjYgc2xpbS0xLjMuNl8xCiBsaWJtZWRpYWFy dC0yLjAuc28uMCBsaWJtZWRpYWFydC0xLjkuMV8xCkBAIC0zNDc0LDE5ICszNDcxLDIyIEBAIGxp Ym1vempzLTc4LnNvLjAgbW96anM3OC03OC4xLjBfMQogbGliZWJ1cjEyOC5zby4xIGxpYmVidXIx MjgtMS4yLjRfMQogbGliZ3Rrc291cmNldmlldy00LnNvLjAgZ3Rrc291cmNldmlldzQtNC4wLjJf MQogbGliZ3Rrc291cmNldmlldy01LnNvLjAgZ3Rrc291cmNldmlldzUtNS4yLjBfMQotbGlid3hf Z3RrM3VfcHJvcGdyaWQtMy4wLnNvLjAgd3hXaWRnZXRzLWd0azMtMy4wLjRfMQotbGlid3hfZ3Rr M3VfcWEtMy4wLnNvLjAgd3hXaWRnZXRzLWd0azMtMy4wLjRfMQotbGlid3hfZ3RrM3VfY29yZS0z LjAuc28uMCB3eFdpZGdldHMtZ3RrMy0zLjAuNF8xCi1saWJ3eF9ndGszdV9odG1sLTMuMC5zby4w IHd4V2lkZ2V0cy1ndGszLTMuMC40XzEKLWxpYnd4X2d0azN1X2Fkdi0zLjAuc28uMCB3eFdpZGdl dHMtZ3RrMy0zLjAuNF8xCi1saWJ3eF9ndGszdV9yaWNodGV4dC0zLjAuc28uMCB3eFdpZGdldHMt Z3RrMy0zLjAuNF8xCi1saWJ3eF9ndGszdV94cmMtMy4wLnNvLjAgd3hXaWRnZXRzLWd0azMtMy4w LjRfMQotbGlid3hfZ3RrM3Vfd2Vidmlldy0zLjAuc28uMCB3eFdpZGdldHMtZ3RrMy0zLjAuNF8x Ci1saWJ3eF9ndGszdV9hdWktMy4wLnNvLjAgd3hXaWRnZXRzLWd0azMtMy4wLjRfMQotbGlid3hf Z3RrM3VfbWVkaWEtMy4wLnNvLjAgd3hXaWRnZXRzLWd0azMtMy4wLjRfMQotbGlid3hfZ3RrM3Vf cmliYm9uLTMuMC5zby4wIHd4V2lkZ2V0cy1ndGszLTMuMC40XzEKLWxpYnd4X2d0azN1X2dsLTMu MC5zby4wIHd4V2lkZ2V0cy1ndGszLTMuMC40XzEKLWxpYnd4X2d0azN1X3N0Yy0zLjAuc28uMCB3 eFdpZGdldHMtZ3RrMy0zLjAuNF8xCitsaWJ3eF9iYXNldV94bWwtMy4yLnNvLjAgd3hXaWRnZXRz LWNvbW1vbi0zLjIuMi4xXzEKK2xpYnd4X2Jhc2V1LTMuMi5zby4wIHd4V2lkZ2V0cy1jb21tb24t My4yLjIuMV8xCitsaWJ3eF9iYXNldV9uZXQtMy4yLnNvLjAgd3hXaWRnZXRzLWNvbW1vbi0zLjIu Mi4xXzEKK2xpYnd4X2d0azN1X2Fkdi0zLjIuc28uMCB3eFdpZGdldHMtZ3RrMy0zLjIuMi4xXzEK K2xpYnd4X2d0azN1X2F1aS0zLjIuc28uMCB3eFdpZGdldHMtZ3RrMy0zLjIuMi4xXzEKK2xpYnd4 X2d0azN1X2NvcmUtMy4yLnNvLjAgd3hXaWRnZXRzLWd0azMtMy4yLjIuMV8xCitsaWJ3eF9ndGsz dV9nbC0zLjIuc28uMCB3eFdpZGdldHMtZ3RrMy0zLjIuMi4xXzEKK2xpYnd4X2d0azN1X2h0bWwt My4yLnNvLjAgd3hXaWRnZXRzLWd0azMtMy4yLjIuMV8xCitsaWJ3eF9ndGszdV9tZWRpYS0zLjIu c28uMCB3eFdpZGdldHMtZ3RrMy0zLjIuMi4xXzEKK2xpYnd4X2d0azN1X3Byb3BncmlkLTMuMi5z by4wIHd4V2lkZ2V0cy1ndGszLTMuMi4yLjFfMQorbGlid3hfZ3RrM3VfcWEtMy4yLnNvLjAgd3hX aWRnZXRzLWd0azMtMy4yLjIuMV8xCitsaWJ3eF9ndGszdV9yaWJib24tMy4yLnNvLjAgd3hXaWRn ZXRzLWd0azMtMy4yLjIuMV8xCitsaWJ3eF9ndGszdV9yaWNodGV4dC0zLjIuc28uMCB3eFdpZGdl dHMtZ3RrMy0zLjIuMi4xXzEKK2xpYnd4X2d0azN1X3N0Yy0zLjIuc28uMCB3eFdpZGdldHMtZ3Rr My0zLjIuMi4xXzEKK2xpYnd4X2d0azN1X3dlYnZpZXctMy4yLnNvLjAgd3hXaWRnZXRzLWd0azMt My4yLjIuMV8xCitsaWJ3eF9ndGszdV94cmMtMy4yLnNvLjAgd3hXaWRnZXRzLWd0azMtMy4yLjIu MV8xCiBsaWJ0ZXBsLTYuc28uMiB0ZXBsLTYuNC4wXzEKIGxpYm5vbWFjc0NvcmUuc28uMyBub21h Y3MtMy4xMC4yXzQKIGxpYmF1ZGl0LnNvLjEgbGliYXVkaXQtMi44LjRfMQpkaWZmIC0tZ2l0IGEv c3JjcGtncy93eFdpZGdldHMtZ3RrMy9maWxlcy9tdXNsLWxvY2FsZS1sLnBhdGNoIGIvc3JjcGtn cy93eFdpZGdldHMtZ3RrMy9maWxlcy9tdXNsLWxvY2FsZS1sLnBhdGNoCm5ldyBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAuLmRjNWYxZGY2YTI1MDIKLS0tIC9kZXYvbnVsbAor KysgYi9zcmNwa2dzL3d4V2lkZ2V0cy1ndGszL2ZpbGVzL211c2wtbG9jYWxlLWwucGF0Y2gKQEAg LTAsMCArMSwzNCBAQAoraHR0cHM6Ly9naXQuYWxwaW5lbGludXgub3JnL2Fwb3J0cy9wbGFpbi9j b21tdW5pdHkvd3h3aWRnZXRzL211c2wtbG9jYWxlLWwucGF0Y2gKKwordGhlc2UgbWFjcm8nZCBh d2F5IGZ1bmN0aW9ucyBkb24ndCBleGlzdCBpbiBtdXNsICh5ZXQpCitkaWZmIC0tZ2l0IGEvaW5j bHVkZS93eC94bG9jYWxlLmggYi9pbmNsdWRlL3d4L3hsb2NhbGUuaAoraW5kZXggYzQzM2QyNS4u Nzk0Y2YwYiAxMDA2NDQKKy0tLSBhL2luY2x1ZGUvd3gveGxvY2FsZS5oCisrKysgYi9pbmNsdWRl L3d4L3hsb2NhbGUuaAorQEAgLTMzLDYgKzMzLDI2IEBACisgI2luY2x1ZGUgInd4L2NydC5oIiAg ICAgLy8gSW5jbHVkZXMgd3gvY2hhcnR5cGUuaCwgd3gvd3hjcnQuaCh3eC9zdHJpbmcuaCkKKyAj aW5jbHVkZSAid3gvaW50bC5oIiAgICAvLyB3eExhbmd1YWdlCisgCisrI2lmbmRlZiBzdHJ0b2xf bAorKyNkZWZpbmUgc3RydG9sX2wocywgcCwgYmFzZSwgbCkgc3RydG9sKHMsIHAsIGJhc2UpCisr I2VuZGlmCisrCisrI2lmbmRlZiBzdHJ0b3VsX2wKKysjZGVmaW5lIHN0cnRvdWxfbChzLCBwLCBi YXNlLCBsKSBzdHJ0b3VsKHMsIHAsIGJhc2UpCisrI2VuZGlmCisrCisrI2lmbmRlZiB3Y3N0b2Rf bAorKyNkZWZpbmUgd2NzdG9kX2wocywgcCwgbCkgd2NzdG9kKHMsIHApCisrI2VuZGlmCisrCisr I2lmbmRlZiB3Y3N0b2xfbAorKyNkZWZpbmUgd2NzdG9sX2wocywgcCwgYmFzZSwgbCkgd2NzdG9s KHMsIHAsIGJhc2UpCisrI2VuZGlmCisrCisrI2lmbmRlZiB3Y3N0b3VsX2wKKysjZGVmaW5lIHdj c3RvdWxfbChzLCBwLCBiYXNlLCBsKSB3Y3N0b3VsKHMsIHAsIGJhc2UpCisrI2VuZGlmCisrCisg Ly8gVGhlIHBsYXRmb3JtLXNwZWNpZmljIGxvY2FsZSB0eXBlCisgLy8gSWYgd3hYTG9jYWxlX3Qg aXMgbm90IGRlZmluZWQsIHRoZW4gb25seSAiQyIgbG9jYWxlIHN1cHBvcnQgaXMgcHJvdmlkZWQK KyAjaWZkZWYgd3hIQVNfWExPQ0FMRV9TVVBQT1JUCmRpZmYgLS1naXQgYS9zcmNwa2dzL3d4V2lk Z2V0cy1ndGszL3BhdGNoZXMvaW52YWxpZC1oZWFkZXItc3ludGF4LnBhdGNoIGIvc3JjcGtncy93 eFdpZGdldHMtZ3RrMy9wYXRjaGVzL2ludmFsaWQtaGVhZGVyLXN5bnRheC5wYXRjaApuZXcgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwLi5mZDRmYzRjZWNhMWFhCi0tLSAvZGV2 L251bGwKKysrIGIvc3JjcGtncy93eFdpZGdldHMtZ3RrMy9wYXRjaGVzL2ludmFsaWQtaGVhZGVy LXN5bnRheC5wYXRjaApAQCAtMCwwICsxLDE2IEBACitodHRwczovL2dpdC5hbHBpbmVsaW51eC5v cmcvYXBvcnRzL3BsYWluL2NvbW11bml0eS93eHdpZGdldHMvaW52YWxpZC1oZWFkZXItc3ludGF4 LnBhdGNoCisKK2RpZmYgLS1naXQgYS9pbmNsdWRlL3d4L21hdHJpeC5oIGIvaW5jbHVkZS93eC9t YXRyaXguaAoraW5kZXggM2IzMjI1ZC4uZTc3ZmIxYSAxMDA2NDQKKy0tLSBhL2luY2x1ZGUvd3gv bWF0cml4LmgKKysrKyBiL2luY2x1ZGUvd3gvbWF0cml4LmgKK0BAIC0zNyw4ICszNyw4IEBACisg Ly8gIGF0IGEgY2VydGFpbiBjb29yZGluYXRlIGFuZCBhbmdsZSB3aXRoaW4gYW5vdGhlciBwYXJl bnQgcGljdHVyZS4KKyAvLyAgQXQgYWxsIHRpbWVzIG1faXNJZGVudGl0eSBpcyBzZXQgaWYgdGhl IG1hdHJpeCBpdHNlbGYgaXMgYW4gSWRlbnRpdHkgbWF0cml4LgorIC8vICBJdCBpcyB1c2VkIHdo ZXJlIHBvc3NpYmxlIHRvIG9wdGltaXplIGNhbGN1bGF0aW9ucy4KKy1jbGFzcworIHd4REVQUkVD QVRFRF9FWFBPUlRfQ09SRSgidXNlIHd4QWZmaW5lTWF0cml4MkQgaW5zdGVhZCIpCisrY2xhc3MK KyB3eFRyYW5zZm9ybU1hdHJpeDogcHVibGljIHd4T2JqZWN0CisgeworIHB1YmxpYzoKZGlmZiAt LWdpdCBhL3NyY3BrZ3Mvd3hXaWRnZXRzLWd0azMvcGF0Y2hlcy9sYXJnZWZpbGUucGF0Y2ggYi9z cmNwa2dzL3d4V2lkZ2V0cy1ndGszL3BhdGNoZXMvbGFyZ2VmaWxlLnBhdGNoCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAuLjllNWE4MWIzMWI5NGQKLS0tIC9kZXYvbnVs bAorKysgYi9zcmNwa2dzL3d4V2lkZ2V0cy1ndGszL3BhdGNoZXMvbGFyZ2VmaWxlLnBhdGNoCkBA IC0wLDAgKzEsMTYgQEAKK2h0dHBzOi8vZ2l0LmFscGluZWxpbnV4Lm9yZy9hcG9ydHMvcGxhaW4v Y29tbXVuaXR5L3d4d2lkZ2V0cy9sYXJnZWZpbGUucGF0Y2gKKworbm90aGluZyBzZXRzIHRoaXMg dG8gMCwgYnV0IGZvciBzb21lIHJlYXNvbiBpdCBnZXRzIHVuZGVmJ2QKK2RpZmYgLS1naXQgYS9i dWlsZC9jbWFrZS9zZXR1cC5oLmluIGIvYnVpbGQvY21ha2Uvc2V0dXAuaC5pbgoraW5kZXggZTRj OWU4My4uZTllZjhkYyAxMDA2NDQKKy0tLSBhL2J1aWxkL2NtYWtlL3NldHVwLmguaW4KKysrKyBi L2J1aWxkL2NtYWtlL3NldHVwLmguaW4KK0BAIC04NjcsNyArODY3LDcgQEAKKyAvKgorICAqIERl ZmluZSBpZiBsYXJnZSAoNjQgYml0IGZpbGUgb2Zmc2V0cykgZmlsZXMgYXJlIHN1cHBvcnRlZC4K KyAgKi8KKy0jY21ha2VkZWZpbmUgSEFWRV9MQVJHRUZJTEVfU1VQUE9SVCAxCisrI2RlZmluZSBI QVZFX0xBUkdFRklMRV9TVVBQT1JUIDEKKyAKKyAvKgorICAqIFVzZSBPcGVuR0wKZGlmZiAtLWdp dCBhL3NyY3BrZ3Mvd3hXaWRnZXRzLWd0azMvcGF0Y2hlcy9uby1nbHZuZC5wYXRjaCBiL3NyY3Br Z3Mvd3hXaWRnZXRzLWd0azMvcGF0Y2hlcy9uby1nbHZuZC5wYXRjaApuZXcgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwLi4xMzAzZGQ2MDc0MDA0Ci0tLSAvZGV2L251bGwKKysr IGIvc3JjcGtncy93eFdpZGdldHMtZ3RrMy9wYXRjaGVzL25vLWdsdm5kLnBhdGNoCkBAIC0wLDAg KzEsNDUgQEAKK2h0dHBzOi8vZ2l0LmFscGluZWxpbnV4Lm9yZy9hcG9ydHMvcGxhaW4vY29tbXVu aXR5L3d4d2lkZ2V0cy9uby1nbHZuZC5wYXRjaAorCitmaW5kX3BhY2thZ2UoT3BlbkdMKSBvbmx5 IHdvcmtzIHdpdGggZ2x2bmQgYW5kIGhhcmRjb2RlcyBnbHZuZCBwYXRocywgZXZlbgordGhvdWdo IGFsbCB0aGVzZSBjb21wb25lbnRzIGFyZSBlYXNpbHkgZm91bmQgd2l0aCBwa2djb25maWcuLgor ZGlmZiAtLWdpdCBhL2J1aWxkL2NtYWtlL2luaXQuY21ha2UgYi9idWlsZC9jbWFrZS9pbml0LmNt YWtlCitpbmRleCBlZjI4Yzk5Li5iNGRmODMwIDEwMDY0NAorLS0tIGEvYnVpbGQvY21ha2UvaW5p dC5jbWFrZQorKysrIGIvYnVpbGQvY21ha2UvaW5pdC5jbWFrZQorQEAgLTQwOCwxNyArNDA4LDI2 IEBAIGlmKHd4VVNFX0dVSSkKKyAgICAgICAgICAgICBzZXQoT1BFTkdMX0ZPVU5EIFRSVUUpCisg ICAgICAgICAgICAgc2V0KE9QRU5HTF9MSUJSQVJJRVMgIi1mcmFtZXdvcmsgT3BlbkdMRVMiICIt ZnJhbWV3b3JrIFF1YXJ0ekNvcmUiICItZnJhbWV3b3JrIEdMS2l0IikKKyAgICAgICAgIGVsc2Uo KQorLSAgICAgICAgICAgIGZpbmRfcGFja2FnZShPcGVuR0wpCistICAgICAgICAgICAgaWYoT1BF TkdMX0ZPVU5EKQorLSAgICAgICAgICAgICAgICBmb3JlYWNoKGdsdGFyZ2V0IE9wZW5HTDo6R0wg T3BlbkdMOjpHTFUgT3BlbkdMOjpPcGVuR0wpCistICAgICAgICAgICAgICAgICAgICBpZihUQVJH RVQgJHtnbHRhcmdldH0pCistICAgICAgICAgICAgICAgICAgICAgICAgc2V0KE9QRU5HTF9MSUJS QVJJRVMgJHtnbHRhcmdldH0gJHtPUEVOR0xfTElCUkFSSUVTfSkKKy0gICAgICAgICAgICAgICAg ICAgIGVuZGlmKCkKKy0gICAgICAgICAgICAgICAgZW5kZm9yZWFjaCgpCistICAgICAgICAgICAg ZW5kaWYoKQorLSAgICAgICAgICAgIGlmKFdYR1RLMyBBTkQgT3BlbkdMX0VHTF9GT1VORCBBTkQg d3hVU0VfR0xDQU5WQVNfRUdMKQorKyAgICAgICAgICAgICMgZmluZF9wYWNrYWdlKE9wZW5HTCkK KysgICAgICAgICAgICAjIGlmKE9QRU5HTF9GT1VORCkKKysgICAgICAgICAgICAjICAgICBmb3Jl YWNoKGdsdGFyZ2V0IE9wZW5HTDo6R0wgT3BlbkdMOjpHTFUgT3BlbkdMOjpPcGVuR0wpCisrICAg ICAgICAgICAgIyAgICAgICAgIGlmKFRBUkdFVCAke2dsdGFyZ2V0fSkKKysgICAgICAgICAgICAj ICAgICAgICAgICAgIHNldChPUEVOR0xfTElCUkFSSUVTICR7Z2x0YXJnZXR9ICR7T1BFTkdMX0xJ QlJBUklFU30pCisrICAgICAgICAgICAgIyAgICAgICAgIGVuZGlmKCkKKysgICAgICAgICAgICAj ICAgICBlbmRmb3JlYWNoKCkKKysgICAgICAgICAgICAjIGVuZGlmKCkKKysgICAgICAgICAgICBm aW5kX3BhY2thZ2UoUGtnQ29uZmlnIFJFUVVJUkVEKQorKyAgICAgICAgICAgIHBrZ19jaGVja19t b2R1bGVzKEdMVSBSRVFVSVJFRCBnbHUgSU1QT1JURURfVEFSR0VUIEdMT0JBTCkKKysgICAgICAg ICAgICBhZGRfbGlicmFyeShPcGVuR0w6OkdMVSBBTElBUyBQa2dDb25maWc6OkdMVSkKKysgICAg ICAgICAgICBwa2dfY2hlY2tfbW9kdWxlcyhHTCBSRVFVSVJFRCBnbCBJTVBPUlRFRF9UQVJHRVQg R0xPQkFMKQorKyAgICAgICAgICAgIGFkZF9saWJyYXJ5KE9wZW5HTDo6R0wgQUxJQVMgUGtnQ29u ZmlnOjpHTCkKKysgICAgICAgICAgICBwa2dfY2hlY2tfbW9kdWxlcyhFR0wgUkVRVUlSRUQgZWds IElNUE9SVEVEX1RBUkdFVCBHTE9CQUwpCisrICAgICAgICAgICAgYWRkX2xpYnJhcnkoT3BlbkdM OjpFR0wgQUxJQVMgUGtnQ29uZmlnOjpFR0wpCisrICAgICAgICAgICAgc2V0KE9QRU5HTF9GT1VO RCBUUlVFKQorKyAgICAgICAgICAgIHNldChPcGVuR0xfRUdMX0ZPVU5EIFRSVUUpCisrICAgICAg ICAgICAgaWYoV1hHVEszIEFORCB3eFVTRV9HTENBTlZBU19FR0wpCisgICAgICAgICAgICAgICAg IGlmKFRBUkdFVCBPcGVuR0w6OkVHTCkKKy0gICAgICAgICAgICAgICAgICAgIHNldChPUEVOR0xf TElCUkFSSUVTIE9wZW5HTDo6RUdMICR7T1BFTkdMX0xJQlJBUklFU30pCisrICAgICAgICAgICAg ICAgICAgICBzZXQoT1BFTkdMX0xJQlJBUklFUyBPcGVuR0w6OkVHTCAke09QRU5HTF9MSUJSQVJJ RVN9IEdMKQorICAgICAgICAgICAgICAgICBlbmRpZigpCisgICAgICAgICAgICAgICAgIHNldChP UEVOR0xfSU5DTFVERV9ESVIgJHtPUEVOR0xfSU5DTFVERV9ESVJ9ICR7T1BFTkdMX0VHTF9JTkNM VURFX0RJUlN9KQorICAgICAgICAgICAgICAgICBmaW5kX3BhY2thZ2UoV0FZTEFOREVHTCkKZGlm ZiAtLWdpdCBhL3NyY3BrZ3Mvd3hXaWRnZXRzLWd0azMvcGF0Y2hlcy9ub25mYXRhbC1hYmktY2hl Y2sucGF0Y2ggYi9zcmNwa2dzL3d4V2lkZ2V0cy1ndGszL3BhdGNoZXMvbm9uZmF0YWwtYWJpLWNo ZWNrLnBhdGNoCmluZGV4IGJiOTNmMGEyNjE1NmMuLjljYTI0MWJhOGIxZmYgMTAwNjQ0Ci0tLSBh L3NyY3BrZ3Mvd3hXaWRnZXRzLWd0azMvcGF0Y2hlcy9ub25mYXRhbC1hYmktY2hlY2sucGF0Y2gK KysrIGIvc3JjcGtncy93eFdpZGdldHMtZ3RrMy9wYXRjaGVzL25vbmZhdGFsLWFiaS1jaGVjay5w YXRjaApAQCAtMSwxOCArMSwxOSBAQAotVGFrZW4gZnJvbQorQWRhcHRlZCBmcm9tIGEgcHJpb3Ig cGF0Y2ggd2hpY2ggd2FzIHRha2VuIGZyb20KIGh0dHBzOi8vZ2l0aHViLmNvbS9hcmNobGludXgv c3ZudG9naXQtcGFja2FnZXMvYmxvYi83MWVlMTdkNTI5ZjhlMGRjNWM0NGQyZmZmYjBkZmE2OWI3 MWRhYTBiL3JlcG9zL2V4dHJhLXg4Nl82NC9tYWtlLWFiaWNoZWNrLW5vbi1mYXRhbC5wYXRjaAog Ci1kaWZmIC11cCB3eEdUSy0yLjguMTIvc3JjL2NvbW1vbi9hcHBiYXNlLmNwcC5hYmljaGVjayB3 eEdUSy0yLjguMTIvc3JjL2NvbW1vbi9hcHBiYXNlLmNwcAotLS0tIGEvc3JjL2NvbW1vbi9hcHBi YXNlLmNwcC5hYmljaGVjawkyMDE1LTAzLTEyIDE3OjE1OjE4LjAwMDAwMDAwMCArMDEwMAotKysr IGIvc3JjL2NvbW1vbi9hcHBiYXNlLmNwcAkyMDE1LTAzLTEyIDE3OjE1OjU3LjAwMDAwMDAwMCAr MDEwMAotQEAgLTQyNCwxMCArNDI0LDcgQEAgYm9vbCB3eEFwcENvbnNvbGU6OkNoZWNrQnVpbGRP cHRpb25zKGNvbgotICAgICAgICAgbXNnLlByaW50ZihfVCgiTWlzbWF0Y2ggYmV0d2VlbiB0aGUg cHJvZ3JhbSBhbmQgbGlicmFyeSBidWlsZCB2ZXJzaW9ucyBkZXRlY3RlZC5cblRoZSBsaWJyYXJ5 IHVzZWQgJXMsXG5hbmQgJXMgdXNlZCAlcy4iKSwKLSAgICAgICAgICAgICAgICAgICAgbGliLmNf c3RyKCksIHByb2dOYW1lLmNfc3RyKCksIHByb2cuY19zdHIoKSk7CitkaWZmIC11cCBhL3NyYy9j b21tb24vYXBwYmFzZS5jcHAgYi9zcmMvY29tbW9uL2FwcGJhc2UuY3BwCistLS0gYS9zcmMvY29t bW9uL2FwcGJhc2UuY3BwCisrKysgYi9zcmMvY29tbW9uL2FwcGJhc2UuY3BwCitAQCAtODUwLDEx ICs4NTAsOCBAQAorICAgICAgICAgd3hTdHJpbmcgcHJvZyA9IHd4U3RyaW5nOjpGcm9tQXNjaWko b3B0aW9uc1NpZ25hdHVyZSk7CisgICAgICAgICB3eFN0cmluZyBwcm9nTmFtZSA9IHd4U3RyaW5n OjpGcm9tQXNjaWkoY29tcG9uZW50TmFtZSk7CiAgCi0tICAgICAgICB3eExvZ0ZhdGFsRXJyb3Io bXNnLmNfc3RyKCkpOworLSAgICAgICAgd3hMb2dGYXRhbEVycm9yKHd4VCgiTWlzbWF0Y2ggYmV0 d2VlbiB0aGUgcHJvZ3JhbSBhbmQgbGlicmFyeSBidWlsZCB2ZXJzaW9ucyBkZXRlY3RlZC5cblRo ZSBsaWJyYXJ5IHVzZWQgJXMsXG5hbmQgJXMgdXNlZCAlcy4iKSwKKysgICAgICAgIHd4TG9nV2Fy bmluZyh3eFQoIk1pc21hdGNoIGJldHdlZW4gdGhlIHByb2dyYW0gYW5kIGxpYnJhcnkgYnVpbGQg dmVyc2lvbnMgZGV0ZWN0ZWQuXG5UaGUgbGlicmFyeSB1c2VkICVzLFxuYW5kICVzIHVzZWQgJXMu IiksCisgICAgICAgICAgICAgICAgICAgICAgICAgbGliLCBwcm9nTmFtZSwgcHJvZyk7CiAtCiAt ICAgICAgICAvLyBub3JtYWxseSB3eExvZ0ZhdGFsRXJyb3IgZG9lc24ndCByZXR1cm4KIC0gICAg ICAgIHJldHVybiBmYWxzZTsKLSsgICAgICAgIHd4TG9nV2FybmluZyhtc2cuY19zdHIoKSk7CiAg ICAgIH0KLSAjdW5kZWYgd3hDTVAKICAKKyAgICAgcmV0dXJuIHRydWU7CmRpZmYgLS1naXQgYS9z cmNwa2dzL3d4V2lkZ2V0cy1ndGszL3RlbXBsYXRlIGIvc3JjcGtncy93eFdpZGdldHMtZ3RrMy90 ZW1wbGF0ZQppbmRleCBhZTUxMDVhODljMTQ1Li4yYmNiMjA3ZTc2ODZkIDEwMDY0NAotLS0gYS9z cmNwa2dzL3d4V2lkZ2V0cy1ndGszL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3Mvd3hXaWRnZXRzLWd0 azMvdGVtcGxhdGUKQEAgLTEsMzcgKzEsNTQgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3d4V2lk Z2V0cy1ndGszJwogcGtnbmFtZT13eFdpZGdldHMtZ3RrMwotdmVyc2lvbj0zLjAuNS4xCi1yZXZp c2lvbj02Ci1idWlsZF9zdHlsZT1nbnUtY29uZmlndXJlCi1jb25maWd1cmVfYXJncz0iLS13aXRo LWd0az0zIC0tZW5hYmxlLXVuaWNvZGUgLS13aXRoLW9wZW5nbCAtLXdpdGgtc2RsCi0gLS13aXRo LWxpYm1zcGFjayAtLXdpdGgtbGlibm90aWZ5IC0tZW5hYmxlLW1lZGlhY3RybCIKK3ZlcnNpb249 My4yLjIuMQorcmV2aXNpb249MQorYnVpbGRfc3R5bGU9Y21ha2UKK2NtYWtlX2J1aWxkZGlyPSJi dWlsZC1ndGszIgorY29uZmlndXJlX2FyZ3M9Ii1Ed3hCVUlMRF9UT09MS0lUPWd0azMgLUR3eFVT RV9PUEVOR0w9T04gLUR3eFVTRV9MSUJNU1BBQ0s9T04KKyAtRHd4VVNFX0dUS1BSSU5UPU9OIC1E d3hVU0VfVU5JQ09ERT1PTiAtRHd4VVNFX01FRElBQ1RSTD1PTgorIC1Ed3hVU0VfUFJJVkFURV9G T05UUz1PTiAtRHd4VVNFX1JFR0VYPXN5cyAtRHd4VVNFX1pMSUI9c3lzIC1Ed3hVU0VfRVhQQVQ9 c3lzCisgLUR3eFVTRV9MSUJKUEVHPXN5cyAtRHd4VVNFX0xJQlBORz1zeXMgLUR3eFVTRV9MSUJU SUZGPXN5cyAtRHd4VVNFX0xJQkxaTUE9c3lzCisgLUR3eFVTRV9MSUJOT1RJRlk9c3lzIC1Ed3hV U0VfTElCU0RMPXN5cyIKIGhvc3RtYWtlZGVwZW5kcz0icGtnLWNvbmZpZyIKIG1ha2VkZXBlbmRz PSJTREwyLWRldmVsIGdzdC1wbHVnaW5zLWJhc2UxLWRldmVsIGdzdHJlYW1lcjEtZGV2ZWwgZ3Rr KzMtZGV2ZWwKLSBsaWJtc3BhY2stZGV2ZWwgbGlibm90aWZ5LWRldmVsIHRpZmYtZGV2ZWwgd2Vi a2l0Mmd0ay1kZXZlbCBnbHUtZGV2ZWwiCi1zaG9ydF9kZXNjPSJUaGUgd3hXaWRnZXRzIEdVSSB0 b29sa2l0IGxpYnJhcnkgY29tcGlsZWQgd2l0aCBndGszIHN1cHBvcnQiCisgbGlibXNwYWNrLWRl dmVsIGxpYm5vdGlmeS1kZXZlbCB0aWZmLWRldmVsIHdlYmtpdDJndGstZGV2ZWwgZ2x1LWRldmVs CisgZ3N0LXBsdWdpbnMtYmFkMS1kZXZlbCBsaWJzZWNyZXQtZGV2ZWwgcGNyZTItZGV2ZWwgbGli bHptYS1kZXZlbCBnc3BlbGwtZGV2ZWwKKyBsaWJjdXJsLWRldmVsIHpsaWItZGV2ZWwgZXhwYXQt ZGV2ZWwgbGlicG5nLWRldmVsIgorc2hvcnRfZGVzYz0iQ3Jvc3MtcGxhdGZvcm0gR1VJIGxpYnJh cnkgKGJ1aWx0IHdpdGggR1RLKyAzLjApIgogbWFpbnRhaW5lcj0iSGVsbXV0IFBvemltc2tpIDxo ZWxtdXRAcG96aW1za2kuZXU+IgogbGljZW5zZT0iY3VzdG9tOnd4V2luZG93cyIKIGhvbWVwYWdl PSJodHRwczovL3d3dy53eHdpZGdldHMub3JnIgogZGlzdGZpbGVzPSJodHRwczovL2dpdGh1Yi5j b20vd3hXaWRnZXRzL3d4V2lkZ2V0cy9yZWxlYXNlcy9kb3dubG9hZC92JHt2ZXJzaW9ufS93eFdp ZGdldHMtJHt2ZXJzaW9ufS50YXIuYnoyIgotY2hlY2tzdW09NDQwZjZlNzNjZjVhZmIyY2JmOWFm MTBjZWM4ZGE2Y2RkM2QzOTk4ZDUyNzU5OGE1M2RiODcwOTk1MjRhYzgwNworY2hlY2tzdW09ZGZm Y2I2YmU3MTI5NmZmZjRiN2Y4ODQwZWIxYjUxMDE3OGY1N2FhMmViMjM2YjIwZGE0MTE4MjAwOTI0 MmMwMgorCitDWFhGTEFHUz0iLURfRklMRV9PRkZTRVRfQklUUz02NCAtRExBUkdFRklMRV9TT1VS Q0U9MSIKKworcG9zdF9wYXRjaCgpIHsKKwlpZiBbICIke1hCUFNfVEFSR0VUX0xJQkN9IiA9ICJt dXNsIiBdOyB0aGVuCisJCXBhdGNoIC1OcDEgPCAiJHtGSUxFU0RJUn0vbXVzbC1sb2NhbGUtbC5w YXRjaCIKKwlmaQorfQogCiBwb3N0X2luc3RhbGwoKSB7Ci0JbG9jYWwgX2NvbmZpZz0iZ3RrMy11 bmljb2RlLTMuMCIKLQkjIHJlbW92ZSBhbGwgb2NjdXJyZW5jZXMgb2YgJFhCUFNfQ1JPU1NfVFJJ UExFVCBpbiB3eC1jb25maWc6Ci0JIyAgIC0gbWFyayB0aGlzIGJ1aWxkIGFzIG5hdGl2ZSBidWls ZAorCWxvY2FsIF9wYXRjaD0iJHt2ZXJzaW9uIyouKi59IgorCWxvY2FsIF9tYWptaW49IiR7dmVy c2lvbiUuIiR7X3BhdGNofSJ9IgorCWxvY2FsIF9jb25maWc9Imd0azMtdW5pY29kZS0ke19tYWpt aW59IgorCiAJaWYgWyAiJENST1NTX0JVSUxEIiBdOyB0aGVuCi0JCXJlbmFtZSAiJHtYQlBTX0NS T1NTX1RSSVBMRVR9LSIgIiIgXAotCQkJJHtERVNURElSfS91c3IvbGliL3d4L2NvbmZpZy8qIFwK LQkJCSR7REVTVERJUn0vdXNyL2xpYi93eC9pbmNsdWRlLyoKLQkJcmVuYW1lIC0tICItJHtYQlBT X0NST1NTX1RSSVBMRVR9IiAiIiAke0RFU1RESVJ9L3Vzci9saWIvKgorCQkjIFJlbW92ZSAkWEJQ U19DUk9TU19UUklQTEVUIGZyb20gY21ha2UgaGVscGVyLi4uCisJCXNlZCAtaSAtZSAic0AvdXNy LyR7WEJQU19DUk9TU19UUklQTEVUfUBAZyIgXAorCQkJJHtERVNURElSfS91c3IvbGliL2NtYWtl L3d4V2lkZ2V0cy93eFdpZGdldHNUYXJnZXRzLmNtYWtlCiAKLQkJc2VkIC1pIC1lICJzLyR7WEJQ U19DUk9TU19UUklQTEVUfS0vL2ciIFwKLQkJCS1lICJzLy0ke1hCUFNfQ1JPU1NfVFJJUExFVH0v L2ciIFwKLQkJCS1lICJzLCRYQlBTX0NST1NTX0JBU0UsLGciIFwKKwkJIyAuLi5hbmQgdGhlIG91 dHB1dCBvZiB0aGUgd3gtY29uZmlnIHV0aWxpdHkKKwkJc2VkIC1pIC1lICJzQC91c3IvJHtYQlBT X0NST1NTX1RSSVBMRVR9QEBnIiBcCisJCQktZSAic0AvYnVpbGRkaXIvW14vXVwrL3dyYXBwZXJz LyR7WEJQU19DUk9TU19UUklQTEVUfS1AQCIgXAogCQkJJHtERVNURElSfS91c3IvbGliL3d4L2Nv bmZpZy8ke19jb25maWd9CiAJZmkKKworCSMgUmVtb3ZlIGdlbmVyaWMgd3gtY29uZmlnLCBsaW5r IHRvIHRvb2xraXQtc3BlY2lmaWMgdmVyc2lvbgogCXJtIC1mICR7REVTVERJUn0vdXNyL2Jpbi93 eC1jb25maWcKIAlsbiAtc2YgLi4vbGliL3d4L2NvbmZpZy8ke19jb25maWd9ICR7REVTVERJUn0v dXNyL2Jpbi93eC1jb25maWctZ3RrMworCiAJIyAgIC0gaWdub3JlIC0taG9zdCBvcHRpb247IGJy ZWFrcyBjb25maWd1cmUgc2NyaXB0cyB3aGVuCiAJIyAgICAgY3Jvc3MgY29tcGlsaW5nIChpc27i gJl0IG5lY2Vzc2FyeSBpbiBvdXIgY2FzZSBhbnl3YXkpCiAJc2VkIC1pIC1lICdzLF5iaW5kaXI9 LiosYmluZGlyPSR7ZXhlY19wcmVmaXh9L2JpbiwnIFwKQEAgLTM5LDEzICs1NiwxNiBAQCBwb3N0 X2luc3RhbGwoKSB7CiAJCS1lICcvLS1cKj1cKikvaSAtLWhvc3Q9XCopIGNvbnRpbnVlOzsnIFwK IAkJLWUgInMsL3Vzci9saWIsXCR7ZXhlY19wcmVmaXh9L2xpYixnIiBcCiAJCSRERVNURElSL3Vz ci9saWIvd3gvY29uZmlnLyR7X2NvbmZpZ30KKworCSMgTWFrZSBzdXJlIHRvIGluc3RhbGwgdGhl IGF1dG90b29scyBtYWNybywgQ01ha2UgZG9lcyBub3QKKwl2bWtkaXIgdXNyL3NoYXJlL2FjbG9j YWwKKwl2aW5zdGFsbCB3eHdpbi5tNCA2NDQgdXNyL3NoYXJlL2FjbG9jYWwKIH0KIAogd3hXaWRn ZXRzLWNvbW1vbl9wYWNrYWdlKCkgewogCXNob3J0X2Rlc2MrPSIgLSBjb21tb24gZmlsZXMiCiAJ cGtnX2luc3RhbGwoKSB7CiAJCXZtb3ZlICJ1c3IvbGliL2xpYnd4X2Jhc2V1Ki5zby4qIgotCQl2 bW92ZSB1c3Ivc2hhcmUKIAkJdmxpY2Vuc2UgZG9jcy9saWNlbmRvYy50eHQKIAkJdmxpY2Vuc2Ug ZG9jcy9saWNlbmNlLnR4dAogCX0KQEAgLTU4LDYgKzc4LDcgQEAgd3hXaWRnZXRzLWNvbW1vbi1k ZXZlbF9wYWNrYWdlKCkgewogCQl2bW92ZSAidXNyL2Jpbi93eHJjKiIKIAkJdm1vdmUgInVzci9s aWIvbGlid3hfYmFzZXUqLnNvIgogCQl2bW92ZSB1c3IvaW5jbHVkZQorCQl2bW92ZSB1c3Ivc2hh cmUvYWNsb2NhbAogCX0KIH0KIApAQCAtNjgsNSArODksNiBAQCB3eFdpZGdldHMtZ3RrMy1kZXZl bF9wYWNrYWdlKCkgewogCQl2bW92ZSB1c3IvYmluCiAJCXZtb3ZlICJ1c3IvbGliLyouc28iCiAJ CXZtb3ZlIHVzci9saWIvd3gKKwkJdm1vdmUgdXNyL2xpYi9jbWFrZQogCX0KIH0KZGlmZiAtLWdp dCBhL3NyY3BrZ3Mvd3hXaWRnZXRzLWd0azMvdXBkYXRlIGIvc3JjcGtncy93eFdpZGdldHMtZ3Rr My91cGRhdGUKaW5kZXggYWM0YzVmMDQwZWM0NC4uMDUxYjY3Njk3NTJjNiAxMDA2NDQKLS0tIGEv c3JjcGtncy93eFdpZGdldHMtZ3RrMy91cGRhdGUKKysrIGIvc3JjcGtncy93eFdpZGdldHMtZ3Rr My91cGRhdGUKQEAgLTEsMyArMSBAQAotc2l0ZT0iaHR0cHM6Ly9naXRodWIuY29tL3d4V2lkZ2V0 cy93eFdpZGdldHMvcmVsZWFzZXMvbGF0ZXN0IgotIyBkZXZlbG9wbWVudCB2ZXJzaW9uCi1pZ25v cmU9JzMuMS4qJworcGtnbmFtZT13eFdpZGdldHMKCkZyb20gMTYzOGIzNjg4NzI5YTc1MGM0YjA0 N2M5ZTAwMjk3NTBkMWY3MjBlOCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogIkFuZHJl dyBKLiBIZXNmb3JkIiA8YWpoQHNpZGViYW5kLm9yZz4KRGF0ZTogTW9uLCAyNSBTZXAgMjAyMyAw Nzo1MzoxOSAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMDYvNDNdIHd4UHl0aG9uNDogdXBkYXRlIHRv IDQuMi4xLCByZW5hbWUgdG8gd3hQeXRob24KCi0tLQogc3JjcGtncy93eFB5dGhvbi9maWxlcy9u by1zdGFja3RyYWNlLnBhdGNoICAgIHwgMTUgKysrCiBzcmNwa2dzL3t3eFB5dGhvbjQgPT4gd3hQ eXRob259L3RlbXBsYXRlICAgICAgfCAzMiArKysrLS0tCiBzcmNwa2dzL3d4UHl0aG9uNCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfCAgMSArCiAuLi5maWctZ3RrMy4wLXRvLWF2b2lkLWNv bmZsaWN0LXdpdGgtd3gucGF0Y2ggfCA1MiAtLS0tLS0tLS0tLQogc3JjcGtncy93eFB5dGhvbjQv cGF0Y2hlcy9jcm9zcy5wYXRjaCAgICAgICAgIHwgMTIgLS0tCiBzcmNwa2dzL3d4UHl0aG9uNC9w YXRjaGVzL251bGxwdHItY2FzdC5wYXRjaCAgfCAxMSAtLS0KIHNyY3BrZ3Mvd3hQeXRob240L3Bh dGNoZXMvcHl0aG9uLTMuMTEucGF0Y2ggICB8IDkyIC0tLS0tLS0tLS0tLS0tLS0tLS0KIHNyY3Br Z3Mvd3hQeXRob240L3BhdGNoZXMvc3ludGF4LnBhdGNoICAgICAgICB8IDMyIC0tLS0tLS0KIHNy Y3BrZ3Mvd3hQeXRob240L3VwZGF0ZSAgICAgICAgICAgICAgICAgICAgICB8ICAxIC0KIDkgZmls ZXMgY2hhbmdlZCwgMzYgaW5zZXJ0aW9ucygrKSwgMjEyIGRlbGV0aW9ucygtKQogY3JlYXRlIG1v ZGUgMTAwNjQ0IHNyY3BrZ3Mvd3hQeXRob24vZmlsZXMvbm8tc3RhY2t0cmFjZS5wYXRjaAogcmVu YW1lIHNyY3BrZ3Mve3d4UHl0aG9uNCA9PiB3eFB5dGhvbn0vdGVtcGxhdGUgKDY4JSkKIGNyZWF0 ZSBtb2RlIDEyMDAwMCBzcmNwa2dzL3d4UHl0aG9uNAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3Br Z3Mvd3hQeXRob240L3BhdGNoZXMvMDAwMS1Td2l0Y2gtdG8td3gtY29uZmlnLWd0azMuMC10by1h dm9pZC1jb25mbGljdC13aXRoLXd4LnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy93 eFB5dGhvbjQvcGF0Y2hlcy9jcm9zcy5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3Mv d3hQeXRob240L3BhdGNoZXMvbnVsbHB0ci1jYXN0LnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQg c3JjcGtncy93eFB5dGhvbjQvcGF0Y2hlcy9weXRob24tMy4xMS5wYXRjaAogZGVsZXRlIG1vZGUg MTAwNjQ0IHNyY3BrZ3Mvd3hQeXRob240L3BhdGNoZXMvc3ludGF4LnBhdGNoCiBkZWxldGUgbW9k ZSAxMDA2NDQgc3JjcGtncy93eFB5dGhvbjQvdXBkYXRlCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy93 eFB5dGhvbi9maWxlcy9uby1zdGFja3RyYWNlLnBhdGNoIGIvc3JjcGtncy93eFB5dGhvbi9maWxl cy9uby1zdGFja3RyYWNlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw MDAwMDAuLmU2NDU0OGJlYThjMTcKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3d4UHl0aG9u L2ZpbGVzL25vLXN0YWNrdHJhY2UucGF0Y2gKQEAgLTAsMCArMSwxNSBAQAorVGFrZW4gZnJvbSBB bHBpbmU6CisKK2h0dHBzOi8vZ2l0LmFscGluZWxpbnV4Lm9yZy9hcG9ydHMvcGxhaW4vY29tbXVu aXR5L3B5My13eHB5dGhvbi9uby1zdGFja3RyYWNlLnBhdGNoCisKKy0tLSBhL3NpcC9jcHAvc2lw X2NvcmV3eEFwcFRyYWl0cy5jcHAKKysrKyBiL3NpcC9jcHAvc2lwX2NvcmV3eEFwcFRyYWl0cy5j cHAKK0BAIC00NzEsNyArNDcxLDcgQEAKKyAgICAgICAgICAgICBQeUVycl9DbGVhcigpOworIAor ICAgICAgICAgICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKKy0gICAgICAgICAgICBzaXBSZXMg PSBuZXcgIDo6d3hTdHJpbmcoKHNpcFNlbGZXYXNBcmcgPyBzaXBDcHAtPiA6Ond4QXBwVHJhaXRz OjpHZXRBc3NlcnRTdGFja1RyYWNlKCkgOiBzaXBDcHAtPkdldEFzc2VydFN0YWNrVHJhY2UoKSkp OworKyAgICAgICAgICAgIHNpcFJlcyA9IG5ldyAgOjp3eFN0cmluZygiIik7CisgICAgICAgICAg ICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKKyAKKyAgICAgICAgICAgICBpZiAoUHlFcnJfT2NjdXJy ZWQoKSkKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mvd3hQeXRob240L3RlbXBsYXRlIGIvc3JjcGtncy93 eFB5dGhvbi90ZW1wbGF0ZQpzaW1pbGFyaXR5IGluZGV4IDY4JQpyZW5hbWUgZnJvbSBzcmNwa2dz L3d4UHl0aG9uNC90ZW1wbGF0ZQpyZW5hbWUgdG8gc3JjcGtncy93eFB5dGhvbi90ZW1wbGF0ZQpp bmRleCBlMGVkZjZmYjk0NTJmLi44MTVlZTAzODJjYjU5IDEwMDY0NAotLS0gYS9zcmNwa2dzL3d4 UHl0aG9uNC90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3d4UHl0aG9uL3RlbXBsYXRlCkBAIC0xLDcg KzEsNyBAQAotIyBUZW1wbGF0ZSBmaWxlIGZvciAnd3hQeXRob240JwotcGtnbmFtZT13eFB5dGhv bjQKLXZlcnNpb249NC4wLjcKLXJldmlzaW9uPTcKKyMgVGVtcGxhdGUgZmlsZSBmb3IgJ3d4UHl0 aG9uJworcGtnbmFtZT13eFB5dGhvbgordmVyc2lvbj00LjIuMQorcmV2aXNpb249MQogYnVpbGRf c3R5bGU9cHl0aG9uMy1tb2R1bGUKIG1ha2VfYnVpbGRfYXJncz0iLS1za2lwLWJ1aWxkIgogbWFr ZV9pbnN0YWxsX2FyZ3M9Ii0tc2tpcC1idWlsZCIKQEAgLTksMjMgKzksMjUgQEAgaG9zdG1ha2Vk ZXBlbmRzPSJwa2ctY29uZmlnIHB5dGhvbjMtc2V0dXB0b29scyBweXRob24zLXBhdGhsaWIyIgog bWFrZWRlcGVuZHM9InB5dGhvbjMtZGV2ZWwgd3hXaWRnZXRzLWd0azMtZGV2ZWwgU0RMMi1kZXZl bCB3ZWJraXQyZ3RrLWRldmVsCiAgZ3N0LXBsdWdpbnMtYmFzZTEtZGV2ZWwiCiBkZXBlbmRzPSJw eXRob24zIHB5dGhvbjMtc2l4IHB5dGhvbjMtbnVtcHkgcHl0aG9uMy1QaWxsb3ciCi1zaG9ydF9k ZXNjPSJXeFdpZGdldHMgR1VJIHRvb2xraXQgbGlicmFyeSAoUHl0aG9uMyBCaW5kaW5ncykiCitz aG9ydF9kZXNjPSJQeXRob24gYmluZGluZ3MgZm9yIHd4V2lkZ2V0cyIKIG1haW50YWluZXI9Ik9y cGhhbmVkIDxvcnBoYW5Adm9pZGxpbnV4Lm9yZz4iCiBsaWNlbnNlPSJjdXN0b206d3hXaW5kb3dz IgogaG9tZXBhZ2U9Imh0dHA6Ly93d3cud3hweXRob24ub3JnLyIKIGRpc3RmaWxlcz0iJHtQWVBJ X1NJVEV9L3cvd3hQeXRob24vd3hQeXRob24tJHt2ZXJzaW9ufS50YXIuZ3oiCi1jaGVja3N1bT0z YmU2MDhiZmRlZGUzMDYzNjc4Y2M3MDM0NTM4NTBhYjBhMDE4YjgyYmFmZDVlZTA1NzMwMjI1MGIx OGYwMjMzCitjaGVja3N1bT1lNDhkZTIxMWE2NjA2YmYwNzJlYzNmYTc3ODc3MWQ2Yjc0NmMwMGI3 ZjRiOTcwZWI1ODcyOGRkZjU2ZDEzZDVjCiAKK2V4cG9ydCBXWFBZVEhPTl9SRUxFQVNFPXllcwog aWYgWyAiJENST1NTX0JVSUxEIiBdOyB0aGVuCiAJQ0ZMQUdTPSItSSR7WEJQU19DUk9TU19CQVNF fS8ke3B5M19pbmN9IC1JJHtYQlBTX0NST1NTX0JBU0V9L3Vzci9pbmNsdWRlIgorCWV4cG9ydCBX WF9DT05GSUc9IiR7WEJQU19XUkFQUEVSRElSfS93eC1jb25maWctZ3RrMyIKK2Vsc2UKKwlleHBv cnQgV1hfQ09ORklHPXd4LWNvbmZpZy1ndGszCiBmaQogCi1wcmVfcGF0Y2goKSB7Ci0JIyBuZWVk IHRvIHBhdGNoIGZvciBQeXRob24gMy4xMSwgZXh0cmFjdCB0aGVtIG5vdy4KLQljZCBiaW4KLQlz ZWQgJy9fX25hbWVfXy4qX19tYWluX18vaSBzeXMuZXhpdCgwKScgd2FmLSogPnRtcC13YWYKLQlw eXRob24zIHRtcC13YWYKLQlsbiAtcyAud2FmMy0qIC53YWYzCitwb3N0X3BhdGNoKCkgeworCWlm IFsgIiRYQlBTX1RBUkdFVF9MSUJDIiA9ICJtdXNsIiBdOyB0aGVuCisJCXBhdGNoIC1OcDEgPCAi JHtGSUxFU0RJUn0vbm8tc3RhY2t0cmFjZS5wYXRjaCIKKwlmaQogfQogCiBwcmVfYnVpbGQoKSB7 CkBAIC00OCwzICs1MCw5IEBAIHByZV9idWlsZCgpIHsKIHBvc3RfaW5zdGFsbCgpIHsKIAl2bGlj ZW5zZSBMSUNFTlNFLnR4dAogfQorCit3eFB5dGhvbjRfcGFja2FnZSgpIHsKKwlidWlsZF9zdHls ZT1tZXRhCisJc2hvcnRfZGVzYys9IiAtIHRyYW5zaXRpb25hbCBkdW1teSBwYWNrYWdlIgorCWRl cGVuZHM9IiR7c291cmNlcGtnfT49JHt2ZXJzaW9ufV8ke3JldmlzaW9ufSIKK30KZGlmZiAtLWdp dCBhL3NyY3BrZ3Mvd3hQeXRob240IGIvc3JjcGtncy93eFB5dGhvbjQKbmV3IGZpbGUgbW9kZSAx MjAwMDAKaW5kZXggMDAwMDAwMDAwMDAwMC4uZTM5NmQ1YWUzNzBkNgotLS0gL2Rldi9udWxsCisr KyBiL3NyY3BrZ3Mvd3hQeXRob240CkBAIC0wLDAgKzEgQEAKK3d4UHl0aG9uClwgTm8gbmV3bGlu ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvc3JjcGtncy93eFB5dGhvbjQvcGF0Y2hlcy8w MDAxLVN3aXRjaC10by13eC1jb25maWctZ3RrMy4wLXRvLWF2b2lkLWNvbmZsaWN0LXdpdGgtd3gu cGF0Y2ggYi9zcmNwa2dzL3d4UHl0aG9uNC9wYXRjaGVzLzAwMDEtU3dpdGNoLXRvLXd4LWNvbmZp Zy1ndGszLjAtdG8tYXZvaWQtY29uZmxpY3Qtd2l0aC13eC5wYXRjaApkZWxldGVkIGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggNzJhNjc4ZGE3ODU4OS4uMDAwMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dz L3d4UHl0aG9uNC9wYXRjaGVzLzAwMDEtU3dpdGNoLXRvLXd4LWNvbmZpZy1ndGszLjAtdG8tYXZv aWQtY29uZmxpY3Qtd2l0aC13eC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDUyICswLDAgQEAK LUZyb20gY2RkYmUzYjNiMjM3YjhlNjNhYmQ4OTIxZmRiMjAzMTRjMjBjMmMwOCBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKLUZyb206IEphc3BlciBDaGFuIDxqYXNwZXJjaGFuNTE1QGdtYWlsLmNv bT4KLURhdGU6IFNhdCwgMjIgU2VwIDIwMTggMjA6NTk6MjkgLTA3MDAKLVN1YmplY3Q6IFtQQVRD SF0gU3dpdGNoIHRvIHd4LWNvbmZpZy1ndGszIHRvIGF2b2lkIGNvbmZsaWN0IHdpdGgKLSB3eFdp ZGdldHMtZ3RrMgotCi0tLS0KLSBidWlsZC5weSB8IDEwICsrKysrLS0tLS0KLSAxIGZpbGUgY2hh bmdlZCwgNSBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGJ1aWxk LnB5IGJ1aWxkLnB5Ci1pbmRleCAzY2Q1YjgyOC4uNTdkYmQzODQgMTAwNzU1Ci0tLS0gYS9idWls ZC5weQotKysrIGIvYnVpbGQucHkKLUBAIC00MDAsNyArNDAwLDcgQEAgZGVmIG1ha2VPcHRpb25Q YXJzZXIoKToKLSAgICAgICAgICgibWFjX2FyY2giLCAgICAgICAoIiIsICAgICJDb21tYSBzZXBh cmF0ZWQgbGlzdCBvZiBhcmNoaXRlY3R1cmVzIHRvIGJ1aWxkIG9uIE1hYyIpKSwKLSAKLSAgICAg ICAgICgidXNlX3N5c3d4IiwgICAgICAoRmFsc2UsICJUcnkgdG8gdXNlIGFuIGluc3RhbGxlZCB3 eCByYXRoZXIgdGhhbiBidWlsZGluZyB0aGUgIgotLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIm9uZSBpbiB0aGlzIHNvdXJjZSB0cmVlLiAgVGhlIHd4LWNvbmZpZyBpbiB7cHJl Zml4fS9iaW4gIgotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9uZSBpbiB0 aGlzIHNvdXJjZSB0cmVlLiAgVGhlIHd4LWNvbmZpZy1ndGszIGluIHtwcmVmaXh9L2JpbiAiCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3IgdGhlIGZpcnN0IGZvdW5kIG9u IHRoZSBQQVRIIGRldGVybWluZXMgd2hpY2ggd3ggaXMgIgotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgInVzZWQuICBJbXBsaWVzIC0tbm9fbWFnaWMuIikpLAotICAgICAgICAg KCJmb3JjZV9jb25maWciLCAgIChGYWxzZSwgIlJ1biBjb25maWd1cmUgd2hlbiBidWlsZGluZyBl dmVuIGlmIHRoZSBzY3JpcHQgIgotQEAgLTEyNzEsNyArMTI3MSw3IEBAIGRlZiBjbWRfYnVpbGRf d3gob3B0aW9ucywgYXJncyk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcy5wYXRo LmpvaW4od3hEaXIoKSwgJ2NvbmZpZ3VyZScpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgb3MucGF0aC5qb2luKHd4RGlyKCksICdzZXR1cC5oLmluJyksCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBvcy5wYXRoLmpvaW4od3hEaXIoKSwgJ3ZlcnNpb24tc2NyaXB0LmluJyks Ci0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcy5wYXRoLmpvaW4od3hEaXIoKSwgJ3d4 LWNvbmZpZy5pbicpLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3MucGF0aC5qb2lu KHd4RGlyKCksICd3eC1jb25maWctZ3RrMy5pbicpLAotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXQotICAgICAgICAgICAgIGZvciBkZXAgaW4gZGVwZW5kZW5jaWVzOgotICAgICAgICAg ICAgICAgICBpZiBuZXdlcihkZXAsIG9zLnBhdGguam9pbihCVUlMRF9ESVIsICJNYWtlZmlsZSIp KToKLUBAIC0xNDI0LDEzICsxNDI0LDEzIEBAIGRlZiBjbWRfYnVpbGRfcHkob3B0aW9ucywgYXJn cyk6Ci0gICAgICAgICBvcy5lbnZpcm9uWydXWFBZVEhPTl9SRUxFQVNFJ10gPSAneWVzJwotIAot ICAgICBpZiBub3QgaXNXaW5kb3dzOgotLSAgICAgICAgV1hfQ09ORklHID0gcG9zaXhqb2luKEJV SUxEX0RJUiwgJ3d4LWNvbmZpZycpCi0rICAgICAgICBXWF9DT05GSUcgPSBwb3NpeGpvaW4oQlVJ TERfRElSLCAnd3gtY29uZmlnLWd0azMnKQotICAgICAgICAgaWYgb3B0aW9ucy51c2Vfc3lzd3g6 Ci0tICAgICAgICAgICAgd3hjZmcgPSBwb3NpeGpvaW4ob3B0aW9ucy5wcmVmaXgsICdiaW4nLCAn d3gtY29uZmlnJykKLSsgICAgICAgICAgICB3eGNmZyA9IHBvc2l4am9pbihvcHRpb25zLnByZWZp eCwgJ2JpbicsICd3eC1jb25maWctZ3RrMycpCi0gICAgICAgICAgICAgaWYgb3B0aW9ucy5wcmVm aXggYW5kIG9zLnBhdGguZXhpc3RzKHd4Y2ZnKToKLSAgICAgICAgICAgICAgICAgV1hfQ09ORklH ID0gd3hjZmcKLSAgICAgICAgICAgICBlbHNlOgotLSAgICAgICAgICAgICAgICBXWF9DT05GSUcg PSAnd3gtY29uZmlnJyAjIGhvcGUgaXQgaXMgb24gdGhlIFBBVEgKLSsgICAgICAgICAgICAgICAg V1hfQ09ORklHID0gJ3d4LWNvbmZpZy1ndGszJyAjIGhvcGUgaXQgaXMgb24gdGhlIFBBVEgKLSAK LSAKLSAgICAgd2FmQnVpbGRCYXNlID0gd2FmQnVpbGREaXIgPSBnZXRXYWZCdWlsZEJhc2UoKQot LS0gCi0yLjE5LjAKLQpkaWZmIC0tZ2l0IGEvc3JjcGtncy93eFB5dGhvbjQvcGF0Y2hlcy9jcm9z cy5wYXRjaCBiL3NyY3BrZ3Mvd3hQeXRob240L3BhdGNoZXMvY3Jvc3MucGF0Y2gKZGVsZXRlZCBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRmMzQzZGUyMDFjYjAuLjAwMDAwMDAwMDAwMDAKLS0tIGEv c3JjcGtncy93eFB5dGhvbjQvcGF0Y2hlcy9jcm9zcy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0x LDEyICswLDAgQEAKLUluZGV4OiB3eFB5dGhvbi00LjAuNy9idWlsZC5weQotPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot LS0tIHd4UHl0aG9uLTQuMC43Lm9yaWcvYnVpbGQucHkKLSsrKyB3eFB5dGhvbi00LjAuNy9idWls ZC5weQotQEAgLTE2OSw3ICsxNjksNiBAQCBkZWYgbWFpbihhcmdzKToKLSAgICAgc2V0UHl0aG9u VmVyc2lvbihhcmdzKQotICAgICBzZXREZXZNb2RlT3B0aW9ucyhhcmdzKQotIAotLSAgICBvcy5l bnZpcm9uWydQWVRIT05QQVRIJ10gPSBwaG9lbml4RGlyKCkKLSAgICAgb3MuZW52aXJvblsnUFlU SE9OVU5CVUZGRVJFRCddID0gJ3llcycKLSAgICAgb3MuZW52aXJvblsnV1hXSU4nXSA9IHd4RGly KCkKLSAKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mvd3hQeXRob240L3BhdGNoZXMvbnVsbHB0ci1jYXN0 LnBhdGNoIGIvc3JjcGtncy93eFB5dGhvbjQvcGF0Y2hlcy9udWxscHRyLWNhc3QucGF0Y2gKZGVs ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ5MzUxYzcxNGI0ZmMuLjAwMDAwMDAwMDAwMDAK LS0tIGEvc3JjcGtncy93eFB5dGhvbjQvcGF0Y2hlcy9udWxscHRyLWNhc3QucGF0Y2gKKysrIC9k ZXYvbnVsbApAQCAtMSwxMSArMCwwIEBACi0tLS0gYS9zaXAvY3BwL3NpcF9wcm9wZ3JpZHd4UEdQ cm9wQXJnQ2xzLmNwcAotKysrIGIvc2lwL2NwcC9zaXBfcHJvcGdyaWR3eFBHUHJvcEFyZ0Nscy5j cHAKLUBAIC0zMTcsNyArMzE3LDcgQEAgc3RhdGljIGludCBjb252ZXJ0VG9fd3hQR1Byb3BBcmdD bHMoUHlPYgotICAgICAgICAgICAgIHJldHVybiBzaXBHZXRTdGF0ZShzaXBUcmFuc2Zlck9iaik7 Ci0gICAgICAgICB9Ci0gICAgICAgICBlbHNlIGlmIChzaXBQeSA9PSBQeV9Ob25lKSB7Ci0tICAg ICAgICAgICAgKnNpcENwcFB0ciA9IG5ldyB3eFBHUHJvcEFyZ0NscyhyZWludGVycHJldF9jYXN0 PCB3eFBHUHJvcGVydHkgKiA+KE5VTEwpKTsKLSsgICAgICAgICAgICAqc2lwQ3BwUHRyID0gbmV3 IHd4UEdQcm9wQXJnQ2xzKHN0YXRpY19jYXN0PCB3eFBHUHJvcGVydHkgKiA+KE5VTEwpKTsKLSAg ICAgICAgICAgICByZXR1cm4gc2lwR2V0U3RhdGUoc2lwVHJhbnNmZXJPYmopOwotICAgICAgICAg fQotICAgICAgICAgZWxzZSB7CmRpZmYgLS1naXQgYS9zcmNwa2dzL3d4UHl0aG9uNC9wYXRjaGVz L3B5dGhvbi0zLjExLnBhdGNoIGIvc3JjcGtncy93eFB5dGhvbjQvcGF0Y2hlcy9weXRob24tMy4x MS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTU0OTZiZGVjYmNhMC4uMDAw MDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL3d4UHl0aG9uNC9wYXRjaGVzL3B5dGhvbi0zLjExLnBh dGNoCisrKyAvZGV2L251bGwKQEAgLTEsOTIgKzAsMCBAQAotZGlmZiAtdXIgd3hQeXRob24tNC4w Ljcub3JpZy9iaW4vLndhZjMvd2FmbGliL0NvbmZpZ1NldC5weSB3eFB5dGhvbi00LjAuNy9iaW4v LndhZjMvd2FmbGliL0NvbmZpZ1NldC5weQotLS0tIHd4UHl0aG9uLTQuMC43Lm9yaWcvYmluLy53 YWYzL3dhZmxpYi9Db25maWdTZXQucHkKLSsrKyB3eFB5dGhvbi00LjAuNy9iaW4vLndhZjMvd2Fm bGliL0NvbmZpZ1NldC5weQotQEAgLTE0Niw3ICsxNDYsNyBAQAotIAkJVXRpbHMud3JpdGVmKGZp bGVuYW1lLCcnLmpvaW4oYnVmKSkKLSAJZGVmIGxvYWQoc2VsZixmaWxlbmFtZSk6Ci0gCQl0Ymw9 c2VsZi50YWJsZQotLQkJY29kZT1VdGlscy5yZWFkZihmaWxlbmFtZSxtPSdyVScpCi0rCQljb2Rl PVV0aWxzLnJlYWRmKGZpbGVuYW1lLG09J3InKQotIAkJZm9yIG0gaW4gcmVfaW1wLmZpbmRpdGVy KGNvZGUpOgotIAkJCWc9bS5ncm91cAotIAkJCXRibFtnKDIpXT1ldmFsKGcoMykpCi1kaWZmIC11 ciB3eFB5dGhvbi00LjAuNy5vcmlnL2Jpbi8ud2FmMy93YWZsaWIvQ29udGV4dC5weSB3eFB5dGhv bi00LjAuNy9iaW4vLndhZjMvd2FmbGliL0NvbnRleHQucHkKLS0tLSB3eFB5dGhvbi00LjAuNy5v cmlnL2Jpbi8ud2FmMy93YWZsaWIvQ29udGV4dC5weQotKysrIHd4UHl0aG9uLTQuMC43L2Jpbi8u d2FmMy93YWZsaWIvQ29udGV4dC5weQotQEAgLTEwNiw3ICsxMDYsNyBAQAotIAkJCQljYWNoZVtu b2RlXT1UcnVlCi0gCQkJCXNlbGYucHJlX3JlY3Vyc2Uobm9kZSkKLSAJCQkJdHJ5OgotLQkJCQkJ ZnVuY3Rpb25fY29kZT1ub2RlLnJlYWQoJ3JVJyxlbmNvZGluZykKLSsJCQkJCWZ1bmN0aW9uX2Nv ZGU9bm9kZS5yZWFkKCdyJyxlbmNvZGluZykKLSAJCQkJCWV4ZWMoY29tcGlsZShmdW5jdGlvbl9j b2RlLG5vZGUuYWJzcGF0aCgpLCdleGVjJyksc2VsZi5leGVjX2RpY3QpCi0gCQkJCWZpbmFsbHk6 Ci0gCQkJCQlzZWxmLnBvc3RfcmVjdXJzZShub2RlKQotQEAgLTM0Niw3ICszNDYsNyBAQAotIAkJ cGFzcwotIAltb2R1bGU9aW1wLm5ld19tb2R1bGUoV1NDUklQVF9GSUxFKQotIAl0cnk6Ci0tCQlj b2RlPVV0aWxzLnJlYWRmKHBhdGgsbT0nclUnLGVuY29kaW5nPWVuY29kaW5nKQotKwkJY29kZT1V dGlscy5yZWFkZihwYXRoLG09J3InLGVuY29kaW5nPWVuY29kaW5nKQotIAlleGNlcHQgRW52aXJv bm1lbnRFcnJvcjoKLSAJCXJhaXNlIEVycm9ycy5XYWZFcnJvcignQ291bGQgbm90IHJlYWQgdGhl IGZpbGUgJXInJXBhdGgpCi0gCW1vZHVsZV9kaXI9b3MucGF0aC5kaXJuYW1lKHBhdGgpCi1kaWZm IC11ciB3eFB5dGhvbi00LjAuNy5vcmlnL2Jpbi8ud2FmMy93YWZsaWIvVG9vbHMvcHl0aG9uLnB5 IHd4UHl0aG9uLTQuMC43L2Jpbi8ud2FmMy93YWZsaWIvVG9vbHMvcHl0aG9uLnB5Ci0tLS0gd3hQ eXRob24tNC4wLjcub3JpZy9iaW4vLndhZjMvd2FmbGliL1Rvb2xzL3B5dGhvbi5weQotKysrIHd4 UHl0aG9uLTQuMC43L2Jpbi8ud2FmMy93YWZsaWIvVG9vbHMvcHl0aG9uLnB5Ci1AQCAtMjA3LDcg KzIwNyw3IEBACi0gCXg9J01BQ09TWF9ERVBMT1lNRU5UX1RBUkdFVCcKLSAJaWYgZGN0W3hdOgot IAkJZW52W3hdPWNvbmYuZW52aXJvblt4XT1kY3RbeF0KLS0JZW52LnB5ZXh0X1BBVFRFUk49JyVz JytkY3RbJ1NPJ10KLSsJZW52LnB5ZXh0X1BBVFRFUk49JyVzLnNvJwotIAludW09Jy4nLmpvaW4o ZW52LlBZVEhPTl9WRVJTSU9OLnNwbGl0KCcuJylbOjJdKQotIAljb25mLmZpbmRfcHJvZ3JhbShb Jycuam9pbihweWJpbikrJy1jb25maWcnLCdweXRob24lcy1jb25maWcnJW51bSwncHl0aG9uLWNv bmZpZy0lcyclbnVtLCdweXRob24lc20tY29uZmlnJyVudW1dLHZhcj0nUFlUSE9OX0NPTkZJRycs bXNnPSJweXRob24tY29uZmlnIixtYW5kYXRvcnk9RmFsc2UpCi0gCWlmIGVudi5QWVRIT05fQ09O RklHOgotZGlmZiAtdXIgd3hQeXRob24tNC4wLjcub3JpZy9zaXAvc2lwbGliL3NpcC5oIHd4UHl0 aG9uLTQuMC43L3NpcC9zaXBsaWIvc2lwLmgKLS0tLSB3eFB5dGhvbi00LjAuNy5vcmlnL3NpcC9z aXBsaWIvc2lwLmgKLSsrKyB3eFB5dGhvbi00LjAuNy9zaXAvc2lwbGliL3NpcC5oCi1AQCAtMTc5 NCw3ICsxNzk0LDcgQEAKLSAgICAgaW50ICgqYXBpX2dldF90aW1lKShQeU9iamVjdCAqLCBzaXBU aW1lRGVmICopOwotICAgICBQeU9iamVjdCAqKCphcGlfZnJvbV90aW1lKShjb25zdCBzaXBUaW1l RGVmICopOwotICAgICBpbnQgKCphcGlfaXNfdXNlcl90eXBlKShjb25zdCBzaXBXcmFwcGVyVHlw ZSAqKTsKLS0gICAgc3RydWN0IF9mcmFtZSAqKCphcGlfZ2V0X2ZyYW1lKShpbnQpOwotKyAgICBQ eUZyYW1lT2JqZWN0ICooKmFwaV9nZXRfZnJhbWUpKGludCk7Ci0gICAgIGludCAoKmFwaV9jaGVj a19wbHVnaW5fZm9yX3R5cGUpKGNvbnN0IHNpcFR5cGVEZWYgKiwgY29uc3QgY2hhciAqKTsKLSAg ICAgUHlPYmplY3QgKigqYXBpX3VuaWNvZGVfbmV3KShTSVBfU1NJWkVfVCwgdW5zaWduZWQsIGlu dCAqLCB2b2lkICoqKTsKLSAgICAgdm9pZCAoKmFwaV91bmljb2RlX3dyaXRlKShpbnQsIHZvaWQg KiwgaW50LCB1bnNpZ25lZCk7Ci1kaWZmIC11ciB3eFB5dGhvbi00LjAuNy5vcmlnL3NpcC9zaXBs aWIvc2lwbGliLmMgd3hQeXRob24tNC4wLjcvc2lwL3NpcGxpYi9zaXBsaWIuYwotLS0tIHd4UHl0 aG9uLTQuMC43Lm9yaWcvc2lwL3NpcGxpYi9zaXBsaWIuYwotKysrIHd4UHl0aG9uLTQuMC43L3Np cC9zaXBsaWIvc2lwbGliLmMKLUBAIC00MzksNyArNDM5LDcgQEAKLSBzdGF0aWMgaW50IHNpcF9h cGlfZ2V0X3RpbWUoUHlPYmplY3QgKm9iaiwgc2lwVGltZURlZiAqdGltZSk7Ci0gc3RhdGljIFB5 T2JqZWN0ICpzaXBfYXBpX2Zyb21fdGltZShjb25zdCBzaXBUaW1lRGVmICp0aW1lKTsKLSBzdGF0 aWMgaW50IHNpcF9hcGlfaXNfdXNlcl90eXBlKGNvbnN0IHNpcFdyYXBwZXJUeXBlICp3dCk7Ci0t c3RhdGljIHN0cnVjdCBfZnJhbWUgKnNpcF9hcGlfZ2V0X2ZyYW1lKGludCk7Ci0rc3RhdGljIFB5 RnJhbWVPYmplY3QgKnNpcF9hcGlfZ2V0X2ZyYW1lKGludCk7Ci0gc3RhdGljIGludCBzaXBfYXBp X2NoZWNrX3BsdWdpbl9mb3JfdHlwZShjb25zdCBzaXBUeXBlRGVmICp0ZCwKLSAgICAgICAgIGNv bnN0IGNoYXIgKm5hbWUpOwotIHN0YXRpYyBQeU9iamVjdCAqc2lwX2FwaV91bmljb2RlX25ldyhT SVBfU1NJWkVfVCBsZW4sIHVuc2lnbmVkIG1heGNoYXIsCi1AQCAtMTM2ODgsMTUgKzEzNjg4LDE5 IEBACi0gLyoKLSAgKiBSZXR1cm4gYSBmcmFtZSBmcm9tIHRoZSBleGVjdXRpb24gc3RhY2suCi0g ICovCi0tc3RhdGljIHN0cnVjdCBfZnJhbWUgKnNpcF9hcGlfZ2V0X2ZyYW1lKGludCBkZXB0aCkK LStzdGF0aWMgUHlGcmFtZU9iamVjdCAqc2lwX2FwaV9nZXRfZnJhbWUoaW50IGRlcHRoKQotIHsK LS0gICAgc3RydWN0IF9mcmFtZSAqZnJhbWUgPSBQeUV2YWxfR2V0RnJhbWUoKTsKLSsgICAgUHlG cmFtZU9iamVjdCAqZnJhbWUgPSBQeUV2YWxfR2V0RnJhbWUoKTsKLSsgICAgUHlfWElOQ1JFRihm cmFtZSk7Ci0gCi0gICAgIHdoaWxlIChmcmFtZSAhPSBOVUxMICYmIGRlcHRoID4gMCkKLSAgICAg ewotLSAgICAgICAgZnJhbWUgPSBmcmFtZS0+Zl9iYWNrOwotKyAgICAgICAgUHlGcmFtZU9iamVj dCAqb2ZyYW1lID0gZnJhbWU7Ci0rICAgICAgICBmcmFtZSA9IFB5RnJhbWVfR2V0QmFjayhmcmFt ZSk7Ci0rICAgICAgICBQeV9ERUNSRUYob2ZyYW1lKTsKLSAgICAgICAgIC0tZGVwdGg7Ci0gICAg IH0KLSsgICAgUHlfWERFQ1JFRihmcmFtZSk7Ci0gCi0gICAgIHJldHVybiBmcmFtZTsKLSB9CmRp ZmYgLS1naXQgYS9zcmNwa2dzL3d4UHl0aG9uNC9wYXRjaGVzL3N5bnRheC5wYXRjaCBiL3NyY3Br Z3Mvd3hQeXRob240L3BhdGNoZXMvc3ludGF4LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCA4NjI5MzRmOTk2MTU5Li4wMDAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3Mvd3hQeXRo b240L3BhdGNoZXMvc3ludGF4LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzIgKzAsMCBAQAot SW5kZXg6IHd4UHl0aG9uLTQuMC43L3d4L2xpYi9tYXNrZWQvbWFza2VkZWRpdC5weQotPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQotLS0tIHd4UHl0aG9uLTQuMC43Lm9yaWcvd3gvbGliL21hc2tlZC9tYXNrZWRlZGl0LnB5 Ci0rKysgd3hQeXRob24tNC4wLjcvd3gvbGliL21hc2tlZC9tYXNrZWRlZGl0LnB5Ci1AQCAtMjY0 NSw3ICsyNjQ1LDcgQEAgY2xhc3MgTWFza2VkRWRpdE1peGluOgotICAgICAgICAgICAgICAgICAg ICAgICAgIHJhaXNlIHZlCi0gICAgICAgICAgICAgICAgICAgICBlbGlmIHJlcGxhY2VfdG8gPiBl bmQ6Ci0gIyMjIyAgICAgICAgICAgICAgICAgICAgICAgIGRiZyhpbmRlbnQ9MCkKLS0gICAgICAg ICAgICAgICAgICAgICAgICB2ZSA9IFZhbHVlRXJyb3IoJyIlcyIgd2lsbCBub3QgZml0IGludG8g ZmllbGQgJWQgb2YgY29udHJvbCAiJXMiJyAoY2hvaWNlLCBpbmRleCwgc2VsZi5uYW1lKSkKLSsg ICAgICAgICAgICAgICAgICAgICAgICB2ZSA9IFZhbHVlRXJyb3IoJyIlcyIgd2lsbCBub3QgZml0 IGludG8gZmllbGQgJWQgb2YgY29udHJvbCAiJXMiJyAlIChjaG9pY2UsIGluZGV4LCBzZWxmLm5h bWUpKQotICAgICAgICAgICAgICAgICAgICAgICAgIHZlLnZhbHVlID0gY2hvaWNlCi0gICAgICAg ICAgICAgICAgICAgICAgICAgdmUuaW5kZXggPSBpbmRleAotICAgICAgICAgICAgICAgICAgICAg ICAgIHJhaXNlIHZlCi1JbmRleDogd3hQeXRob24tNC4wLjcvd3gvbGliL3Bsb3QvcGxvdGNhbnZh cy5weQotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQotLS0tIHd4UHl0aG9uLTQuMC43Lm9yaWcvd3gvbGliL3Bsb3QvcGxv dGNhbnZhcy5weQotKysrIHd4UHl0aG9uLTQuMC43L3d4L2xpYi9wbG90L3Bsb3RjYW52YXMucHkK LUBAIC0xODUyLDEyICsxODUyLDEyIEBAIGNsYXNzIFBsb3RDYW52YXMod3guUGFuZWwpOgotICAg ICAgICAgIyBHZXQgdGlja3MgYW5kIHRleHRFeHRlbnRzIGZvciBheGlzIGlmIHJlcXVpcmVkCi0g ICAgICAgICB4dGlja3MgPSB5dGlja3MgPSBOb25lCi0gICAgICAgICB4VGV4dEV4dGVudCA9IHlU ZXh0RXh0ZW50ID0gKDAsIDApICAjIE5vIHRleHQgZm9yIHRpY2tzCi0tICAgICAgICBpZiBzZWxm Ll94U3BlYyBpcyBub3QgJ25vbmUnOgotKyAgICAgICAgaWYgc2VsZi5feFNwZWMgIT0gJ25vbmUn OgotICAgICAgICAgICAgIHh0aWNrcyA9IHNlbGYuX3h0aWNrcyh4QXhpc1swXSwgeEF4aXNbMV0p Ci0gICAgICAgICAgICAgIyB3IGggb2YgeCBheGlzIHRleHQgbGFzdCBudW1iZXIgb24gYXhpcwot ICAgICAgICAgICAgIHhUZXh0RXh0ZW50ID0gZGMuR2V0VGV4dEV4dGVudCh4dGlja3NbLTFdWzFd KQotIAotLSAgICAgICAgaWYgc2VsZi5feVNwZWMgaXMgbm90ICdub25lJzoKLSsgICAgICAgIGlm IHNlbGYuX3lTcGVjICE9ICdub25lJzoKLSAgICAgICAgICAgICB5dGlja3MgPSBzZWxmLl95dGlj a3MoeUF4aXNbMF0sIHlBeGlzWzFdKQotICAgICAgICAgICAgIGlmIHNlbGYubG9nU2NhbGVbMV06 Ci0gICAgICAgICAgICAgICAgICMgbWFrZSBzdXJlIHdlIGhhdmUgZW5vdWdoIHJvb20gdG8gZGlz cGxheSBTSSBub3RhdGlvbi4KZGlmZiAtLWdpdCBhL3NyY3BrZ3Mvd3hQeXRob240L3VwZGF0ZSBi L3NyY3BrZ3Mvd3hQeXRob240L3VwZGF0ZQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MTUyNzM0MjI1MGY2Ni4uMDAwMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL3d4UHl0aG9uNC91cGRh dGUKKysrIC9kZXYvbnVsbApAQCAtMSArMCwwIEBACi1wa2duYW1lPXd4UHl0aG9uCgpGcm9tIDZh YjUxZDM0YjkyOThiOWYwMjU0ZmJmMDAzNGM3NWNkZGNmMTI3YjMgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCkZyb206IGNsYXNzYWJieWFtcCA8dm9pZEBwbGFjZXZpb2xldHRlLm5ldD4KRGF0ZTog TW9uLCAyNSBTZXAgMjAyMyAxMzo0Njo1NSAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMDcvNDNdIGRp c3BjYWxHVUk6IHVwZGF0ZSB0byAzLjkuMTEsIHJlcGxhY2Ugd2l0aCBweXRob24zIGZvcmsKCi0t LQogc3JjcGtncy9EaXNwbGF5Q0FML3RlbXBsYXRlICAgICAgICAgICAgfCAyNSArKysrKysrKysr KysrKysrKysrCiBzcmNwa2dzL2Rpc3BjYWxHVUkgICAgICAgICAgICAgICAgICAgICB8ICAxICsK IHNyY3BrZ3MvZGlzcGNhbEdVSS9wYXRjaGVzL2Vycm9yLnBhdGNoIHwgMzMgLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0KIHNyY3BrZ3MvZGlzcGNhbEdVSS90ZW1wbGF0ZSAgICAgICAgICAgIHwg MjUgLS0tLS0tLS0tLS0tLS0tLS0tLQogc3JjcGtncy9kaXNwY2FsR1VJL3VwZGF0ZSAgICAgICAg ICAgICAgfCAgMSAtCiA1IGZpbGVzIGNoYW5nZWQsIDI2IGluc2VydGlvbnMoKyksIDU5IGRlbGV0 aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvRGlzcGxheUNBTC90ZW1wbGF0ZQog Y3JlYXRlIG1vZGUgMTIwMDAwIHNyY3BrZ3MvZGlzcGNhbEdVSQogZGVsZXRlIG1vZGUgMTAwNjQ0 IHNyY3BrZ3MvZGlzcGNhbEdVSS9wYXRjaGVzL2Vycm9yLnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2 NDQgc3JjcGtncy9kaXNwY2FsR1VJL3RlbXBsYXRlCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtn cy9kaXNwY2FsR1VJL3VwZGF0ZQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvRGlzcGxheUNBTC90ZW1w bGF0ZSBiL3NyY3BrZ3MvRGlzcGxheUNBTC90ZW1wbGF0ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NApp bmRleCAwMDAwMDAwMDAwMDAwLi45NjJkNjZlMjliZjY4Ci0tLSAvZGV2L251bGwKKysrIGIvc3Jj cGtncy9EaXNwbGF5Q0FML3RlbXBsYXRlCkBAIC0wLDAgKzEsMjUgQEAKKyMgVGVtcGxhdGUgZmls ZSBmb3IgJ0Rpc3BsYXlDQUwnCitwa2duYW1lPURpc3BsYXlDQUwKK3ZlcnNpb249My45LjExCity ZXZpc2lvbj0xCitidWlsZF9zdHlsZT1weXRob24zLW1vZHVsZQoraG9zdG1ha2VkZXBlbmRzPSJw eXRob24zIgorbWFrZWRlcGVuZHM9InB5dGhvbjMtZGV2ZWwgbGliWHhmODZ2bS1kZXZlbCBsaWJY aW5lcmFtYS1kZXZlbCBsaWJYcmFuZHItZGV2ZWwiCitkZXBlbmRzPSJweXRob24zLWRidXMgcHl0 aG9uMy1udW1weSB3eFB5dGhvbiBhcmd5bGxjbXMiCitzaG9ydF9kZXNjPSJEaXNwbGF5IENhbGli cmF0aW9uIGFuZCBDaGFyYWN0ZXJpemF0aW9uIgorbWFpbnRhaW5lcj0ibGVtbWkgPGxlbW1pQG5l cmQybmVyZC5vcmc+IgorbGljZW5zZT0iR1BMLTMuMC1vci1sYXRlciIKK2hvbWVwYWdlPSJodHRw czovL2dpdGh1Yi5jb20vZW95aWxtYXovZGlzcGxheWNhbC1weTMiCitkaXN0ZmlsZXM9Imh0dHBz Oi8vZ2l0aHViLmNvbS9lb3lpbG1hei9kaXNwbGF5Y2FsLXB5My9hcmNoaXZlL3JlZnMvdGFncy8k e3ZlcnNpb259LnRhci5neiIKK2NoZWNrc3VtPTc3NjlkMTk1NTFjMjI4ZDc5N2ZkOThjYjI0Njk3 MzBjZWU4NGZmMjdiZDBiZjVkMDQ2M2UxOTE3NTM5MjFhNWUKKworcHJlX2NvbmZpZ3VyZSgpIHsK Kwl2c2VkIC1pIG1pc2MvZGlzcGxheWNhbC12cm1sLXRvLXgzZC1jb252ZXJ0ZXIuZGVza3RvcCBc CisJCS1lICdzfE1pbWVUeXBlPW1vZGVsL3ZybWw7eC13b3JsZC94LXZybWw7fE1pbWVUeXBlPW1v ZGVsL3ZybWw7fCcKK30KKworZGlzcGNhbEdVSV9wYWNrYWdlKCkgeworCWJ1aWxkX3N0eWxlPW1l dGEKKwlzaG9ydF9kZXNjKz0iICh0cmFuc2l0aW9uYWwgZHVtbXkgcGFja2FnZSkiCisJZGVwZW5k cz0iJHtzb3VyY2Vwa2d9Pj0ke3ZlcnNpb259XyR7cmV2aXNpb259IgorfQpkaWZmIC0tZ2l0IGEv c3JjcGtncy9kaXNwY2FsR1VJIGIvc3JjcGtncy9kaXNwY2FsR1VJCm5ldyBmaWxlIG1vZGUgMTIw MDAwCmluZGV4IDAwMDAwMDAwMDAwMDAuLjdiMmFlN2ZlOGViMWUKLS0tIC9kZXYvbnVsbAorKysg Yi9zcmNwa2dzL2Rpc3BjYWxHVUkKQEAgLTAsMCArMSBAQAorRGlzcGxheUNBTApcIE5vIG5ld2xp bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvZGlzcGNhbEdVSS9wYXRjaGVz L2Vycm9yLnBhdGNoIGIvc3JjcGtncy9kaXNwY2FsR1VJL3BhdGNoZXMvZXJyb3IucGF0Y2gKZGVs ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE2OWZjNTI4YjEzOGUuLjAwMDAwMDAwMDAwMDAK LS0tIGEvc3JjcGtncy9kaXNwY2FsR1VJL3BhdGNoZXMvZXJyb3IucGF0Y2gKKysrIC9kZXYvbnVs bApAQCAtMSwzMyArMCwwIEBACi1SZWFzb246IGVycm9yKDMpIGRvZXMgbm90IGV4aXN0IG9uIG11 c2wsIGFuZCBvbiBnbGliYyB0aGUgc2lnbmF0dXJlCi1pcyAoaW50LCBpbnQsIGNoYXIqLCAuLi4p IGFuZCBub3QgKGNoYXIqLCAuLi4pLgotVGhlcmVmb3JlIHRoZSBjdXJyZW50IGNvZGUgZWl0aGVy IHJlc3VsdHMgaW4gZ2FyYmxlZCBvdXRwdXQgb3IKLWRvZXNuJ3Qgd29yayBhdCBhbGwuIFJlcGxh Y2UgaXQgd2l0aCBhIHNpbXBsZSBwcmludGYuCi0KLS0tLQotLS0tIGEvRGlzcGxheUNBTC9SZWFs RGlzcGxheVNpemVNTS5jCTIwMTgtMDctMjUgMTY6NDc6MDEuMDAwMDAwMDAwICswMjAwCi0rKysg Yi9EaXNwbGF5Q0FML1JlYWxEaXNwbGF5U2l6ZU1NLmMJMjAxOC0wNy0yNSAxNjo0NzowMS4wMDAw MDAwMDAgKzAyMDAKLUBAIC04MjIsMTMgKzgyMiwxMyBAQAotIAkJCQkJCXNwcmludGYoZGVzYzEs ICJfSUNDX1BST0ZJTEVfJWQiLGRpc3BzW25kaXNwc10tPnVzY3JlZW4pOwotIAotIAkJCQkJaWYg KChkaXNwc1tuZGlzcHNdLT5pY2NfYXRvbSA9IFhJbnRlcm5BdG9tKG15ZGlzcGxheSwgZGVzYzEs IEZhbHNlKSkgPT0gTm9uZSkKLS0JCQkJCQllcnJvcigiVW5hYmxlIHRvIGludGVybiBhdG9tICcl cyciLGRlc2MxKTsKLSsJCQkJCQlmcHJpbnRmKHN0ZGVyciwgIlVuYWJsZSB0byBpbnRlcm4gYXRv bSAnJXMnIixkZXNjMSk7Ci0gCi0gCQkJCQlkZWJ1Z3JyMigoZXJyb3V0LCJSb290IGF0b20gJyVz J1xuIixkZXNjMSkpOwotIAotIAkJCQkJLyogQ3JlYXRlIHRoZSBhdG9tIG9mIHRoZSBvdXRwdXQg dGhhdCBtYXkgY29udGFpbiB0aGUgYXNzb2NpYXRlZCBJQ0MgcHJvZmlsZSAqLwotIAkJCQkJaWYg KChkaXNwc1tuZGlzcHNdLT5pY2Nfb3V0X2F0b20gPSBYSW50ZXJuQXRvbShteWRpc3BsYXksICJf SUNDX1BST0ZJTEUiLCBGYWxzZSkpID09IE5vbmUpCi0tCQkJCQkJZXJyb3IoIlVuYWJsZSB0byBp bnRlcm4gYXRvbSAnJXMnIiwiX0lDQ19QUk9GSUxFIik7Ci0rCQkJCQkJZnByaW50ZihzdGRlcnIs ICJVbmFibGUgdG8gaW50ZXJuIGF0b20gJyVzJyIsIl9JQ0NfUFJPRklMRSIpOwotIAkJCi0gCQkJ CQkvKiBHcmFiIHRoZSBFRElEIGZyb20gdGhlIG91dHB1dCAqLwotIAkJCQkJewotQEAgLTk5Myw3 ICs5OTMsNyBAQAotIAkJCQlzcHJpbnRmKGRlc2MxLCAiX0lDQ19QUk9GSUxFXyVkIixkaXNwc1tp XS0+dXNjcmVlbik7Ci0gCi0gCQkJaWYgKChkaXNwc1tpXS0+aWNjX2F0b20gPSBYSW50ZXJuQXRv bShteWRpc3BsYXksIGRlc2MxLCBGYWxzZSkpID09IE5vbmUpCi0tCQkJCWVycm9yKCJVbmFibGUg dG8gaW50ZXJuIGF0b20gJyVzJyIsZGVzYzEpOwotKwkJCQlmcHJpbnRmKHN0ZGVyciwgIlVuYWJs ZSB0byBpbnRlcm4gYXRvbSAnJXMnIixkZXNjMSk7Ci0gCi0gCQkJLyogU2VlIGlmIHdlIGNhbiBs b2NhdGUgdGhlIEVESUQgb2YgdGhlIG1vbml0b3IgZm9yIHRoaXMgc2NyZWVuICovCi0gCQkJZm9y IChqID0gMDsgaiA8IDI7IGorKykgeyAKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvZGlzcGNhbEdVSS90 ZW1wbGF0ZSBiL3NyY3BrZ3MvZGlzcGNhbEdVSS90ZW1wbGF0ZQpkZWxldGVkIGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDUwODZiOTdlNWEyNi4uMDAwMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL2Rp c3BjYWxHVUkvdGVtcGxhdGUKKysrIC9kZXYvbnVsbApAQCAtMSwyNSArMCwwIEBACi0jIFRlbXBs YXRlIGZpbGUgZm9yICdkaXNwY2FsR1VJJwotcGtnbmFtZT1kaXNwY2FsR1VJCi12ZXJzaW9uPTMu OC45LjMKLXJldmlzaW9uPTUKLV9uYW1lPSJEaXNwbGF5Q0FMIgotYnVpbGRfc3R5bGU9cHl0aG9u Mi1tb2R1bGUKLWhvc3RtYWtlZGVwZW5kcz0icHl0aG9uIgotbWFrZWRlcGVuZHM9InB5dGhvbi1k ZXZlbCBsaWJYeGY4NnZtLWRldmVsIGxpYlhpbmVyYW1hLWRldmVsIGxpYlhyYW5kci1kZXZlbCIK LWRlcGVuZHM9InB5dGhvbi1kYnVzIHB5dGhvbi1udW1weSB3eFB5dGhvbiBhcmd5bGxjbXMiCi1z aG9ydF9kZXNjPSJEaXNwbGF5IENhbGlicmF0aW9uIGFuZCBDaGFyYWN0ZXJpemF0aW9uIgotbWFp bnRhaW5lcj0ibGVtbWkgPGxlbW1pQG5lcmQybmVyZC5vcmc+IgotbGljZW5zZT0iR1BMLTMuMC1v ci1sYXRlciIKLWhvbWVwYWdlPSJodHRwczovL2Rpc3BsYXljYWwubmV0LyIKLWNoYW5nZWxvZz0i aHR0cHM6Ly9kaXNwbGF5Y2FsLm5ldC9DSEFOR0VTLmh0bWwiCi1kaXN0ZmlsZXM9IiR7U09VUkNF Rk9SR0VfU0lURX0vZGlzcGNhbGd1aS8ke19uYW1lfS0ke3ZlcnNpb259LnRhci5neiIKLWNoZWNr c3VtPTdjMzRkZmJkOWY2NmYyNGYxZDRjODhkZTRhNWEwZGU2ODhhYWQ3MTlmMDk1ODc0YjYyNTk2 MzdkMzA4OTNiZWEKLQotcHJlX2NvbmZpZ3VyZSgpIHsKLQlzZWQgLWkgJ3N8TWltZVR5cGU9bW9k ZWwvdnJtbDt4LXdvcmxkL3gtdnJtbDt8TWltZVR5cGU9bW9kZWwvdnJtbDt8JyBtaXNjL2Rpc3Bs YXljYWwtdnJtbC10by14M2QtY29udmVydGVyLmRlc2t0b3AKLX0KLQotcG9zdF9pbnN0YWxsKCkg ewotCWZpbmQgJHtERVNURElSfS91c3IvIC1leGVjIGNobW9kIGErciBce1x9ICsKLQlmaW5kICR7 REVTVERJUn0vdXNyLyAtdHlwZSBkIC1leGVjIGNobW9kIGEreCBce1x9ICsKLX0KZGlmZiAtLWdp dCBhL3NyY3BrZ3MvZGlzcGNhbEdVSS91cGRhdGUgYi9zcmNwa2dzL2Rpc3BjYWxHVUkvdXBkYXRl CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2OTQyMzkzOTQ1YzM2Li4wMDAwMDAwMDAw MDAwCi0tLSBhL3NyY3BrZ3MvZGlzcGNhbEdVSS91cGRhdGUKKysrIC9kZXYvbnVsbApAQCAtMSAr MCwwIEBACi1wa2duYW1lPSIke19uYW1lfSIKCkZyb20gZjAyYjY5MWZhMWNiYWU3ZTZlMzUwYzVm OWYyZjA5MWIyNWY1MDg2ZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogIkFuZHJldyBK LiBIZXNmb3JkIiA8YWpoQHNpZGViYW5kLm9yZz4KRGF0ZTogTW9uLCAyNSBTZXAgMjAyMyAwMDox ODoxOSAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMDgvNDNdIDBhZDogcmVidWlsZCB3aXRoIHd4V2lk Z2V0cy1ndGszLTMuMi4yLjEKCi0tLQogc3JjcGtncy8wYWQvdGVtcGxhdGUgfCAyICstCiAxIGZp bGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9z cmNwa2dzLzBhZC90ZW1wbGF0ZSBiL3NyY3BrZ3MvMGFkL3RlbXBsYXRlCmluZGV4IDhjZjRhNzU3 MjE2MTkuLjU5N2E3MDgyYjkzODkgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvMGFkL3RlbXBsYXRlCisr KyBiL3NyY3BrZ3MvMGFkL3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxl IGZvciAnMGFkJwogcGtnbmFtZT0wYWQKIHZlcnNpb249MC4wLjI2Ci1yZXZpc2lvbj03CityZXZp c2lvbj04CiBhcmNocz0ieDg2XzY0KiBpNjg2KiBhYXJjaDY0KiBhcm12N2wqIHBwYzY0bGUqIgog aG9zdG1ha2VkZXBlbmRzPSJwa2ctY29uZmlnIHBlcmwgY21ha2UgcHl0aG9uMyBydXN0IGNhcmdv IHlhc20gdGFyIGNsYW5nIgogbWFrZWRlcGVuZHM9IlNETDItZGV2ZWwgYm9vc3QtZGV2ZWwgZ2xv b3gtZGV2ZWwgbGliY3VybC1kZXZlbCBsaWJlbmV0LWRldmVsCgpGcm9tIDUyYjIwNWQ0YjExNGI5 ZGMwMDUzMjk0ZjBjOGM2YWI2MDhiYTEyN2YgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206 ICJBbmRyZXcgSi4gSGVzZm9yZCIgPGFqaEBzaWRlYmFuZC5vcmc+CkRhdGU6IE1vbiwgMjUgU2Vw IDIwMjMgMDA6MTg6MTkgLTA0MDAKU3ViamVjdDogW1BBVENIIDA5LzQzXSBBZWdpc3ViOiByZWJ1 aWxkIHdpdGggd3hXaWRnZXRzLWd0azMtMy4yLjIuMQoKLS0tCiBzcmNwa2dzL0FlZ2lzdWIvdGVt cGxhdGUgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24o LSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL0FlZ2lzdWIvdGVtcGxhdGUgYi9zcmNwa2dzL0FlZ2lz dWIvdGVtcGxhdGUKaW5kZXggZGFmMzU3NDljZTdjNi4uZDgwZTYzZjAyN2UzMiAxMDA2NDQKLS0t IGEvc3JjcGtncy9BZWdpc3ViL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvQWVnaXN1Yi90ZW1wbGF0 ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ0FlZ2lzdWInCiBwa2duYW1l PUFlZ2lzdWIKIHZlcnNpb249My4zLjIKLXJldmlzaW9uPTEwCityZXZpc2lvbj0xMQogYnVpbGRf c3R5bGU9Y21ha2UKIGJ1aWxkX2hlbHBlcj1jbWFrZS13eFdpZGdldHMtZ3RrMwogY21ha2VfYnVp bGRkaXI9IkJVSUxEIgoKRnJvbSBiZDdiMDU1N2Q2YWFkZTI1YjFlNDEyNTc4MDhkOTBmODc2ODc3 NDQ5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiAiQW5kcmV3IEouIEhlc2ZvcmQiIDxh amhAc2lkZWJhbmQub3JnPgpEYXRlOiBNb24sIDI1IFNlcCAyMDIzIDAwOjE4OjE5IC0wNDAwClN1 YmplY3Q6IFtQQVRDSCAxMC80M10gQ3ViaWNTRFI6IHJlYnVpbGQgd2l0aCB3eFdpZGdldHMtZ3Rr My0zLjIuMi4xCgotLS0KIHNyY3BrZ3MvQ3ViaWNTRFIvdGVtcGxhdGUgfCAyICstCiAxIGZpbGUg Y2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9zcmNw a2dzL0N1YmljU0RSL3RlbXBsYXRlIGIvc3JjcGtncy9DdWJpY1NEUi90ZW1wbGF0ZQppbmRleCBj MjI0ZmMxMzc5YmYxLi45MmQwZDNiOTA5MGZkIDEwMDY0NAotLS0gYS9zcmNwa2dzL0N1YmljU0RS L3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvQ3ViaWNTRFIvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBA CiAjIFRlbXBsYXRlIGZpbGUgZm9yICdDdWJpY1NEUicKIHBrZ25hbWU9Q3ViaWNTRFIKIHZlcnNp b249MC4yLjcKLXJldmlzaW9uPTIKK3JldmlzaW9uPTMKIGJ1aWxkX3N0eWxlPWNtYWtlCiBidWls ZF9oZWxwZXI9ImNtYWtlLXd4V2lkZ2V0cy1ndGszIgogY29uZmlndXJlX2FyZ3M9Ii1EVVNFX0hB TUxJQj0xICQodm9wdF9ib29sIGFsc2EgVVNFX0FVRElPX0FMU0EpCgpGcm9tIDAzMmY5YjI1YzI1 MzMyODlhZjYwYmQ1MjE4YmFjOWZhZjQ0MDU2MTkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZy b206ICJBbmRyZXcgSi4gSGVzZm9yZCIgPGFqaEBzaWRlYmFuZC5vcmc+CkRhdGU6IE1vbiwgMjUg U2VwIDIwMjMgMDA6MTg6MTkgLTA0MDAKU3ViamVjdDogW1BBVENIIDExLzQzXSBEYXJrUmFkaWFu dDogcmVidWlsZCB3aXRoIHd4V2lkZ2V0cy1ndGszLTMuMi4yLjEKCi0tLQogc3JjcGtncy9EYXJr UmFkaWFudC90ZW1wbGF0ZSB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwg MSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvRGFya1JhZGlhbnQvdGVtcGxhdGUg Yi9zcmNwa2dzL0RhcmtSYWRpYW50L3RlbXBsYXRlCmluZGV4IDg4MzBiM2E2MWMwNmIuLjIxOWFj M2Q2NmFkZWYgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvRGFya1JhZGlhbnQvdGVtcGxhdGUKKysrIGIv c3JjcGtncy9EYXJrUmFkaWFudC90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUg ZmlsZSBmb3IgJ0RhcmtSYWRpYW50JwogcGtnbmFtZT1EYXJrUmFkaWFudAogdmVyc2lvbj0zLjgu MAotcmV2aXNpb249MgorcmV2aXNpb249MwogYnVpbGRfc3R5bGU9Y21ha2UKIGJ1aWxkX2hlbHBl cj1jbWFrZS13eFdpZGdldHMtZ3RrMwogaG9zdG1ha2VkZXBlbmRzPSJwa2ctY29uZmlnIHJ1Ynkt YXNjaWlkb2N0b3IiCgpGcm9tIDFlODhhMWVlOTFmOWM4NDk1ZTA1M2IxZDllYTJmZjY5YmU0Mzc3 MWUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206ICJBbmRyZXcgSi4gSGVzZm9yZCIgPGFq aEBzaWRlYmFuZC5vcmc+CkRhdGU6IE1vbiwgMjUgU2VwIDIwMjMgMDA6MTg6MTkgLTA0MDAKU3Vi amVjdDogW1BBVENIIDEyLzQzXSBMaW1lU3VpdGU6IHJlYnVpbGQgd2l0aCB3eFdpZGdldHMtZ3Rr My0zLjIuMi4xCgotLS0KIHNyY3BrZ3MvTGltZVN1aXRlL3RlbXBsYXRlIHwgMiArLQogMSBmaWxl IGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3Jj cGtncy9MaW1lU3VpdGUvdGVtcGxhdGUgYi9zcmNwa2dzL0xpbWVTdWl0ZS90ZW1wbGF0ZQppbmRl eCBmZTk2M2JlODVmODYwLi5mMTNkNWU0MGEwNGM4IDEwMDY0NAotLS0gYS9zcmNwa2dzL0xpbWVT dWl0ZS90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL0xpbWVTdWl0ZS90ZW1wbGF0ZQpAQCAtMSw3ICsx LDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ0xpbWVTdWl0ZScKIHBrZ25hbWU9TGltZVN1aXRl CiB2ZXJzaW9uPTIyLjA5LjEKLXJldmlzaW9uPTEKK3JldmlzaW9uPTIKIGJ1aWxkX3N0eWxlPWNt YWtlCiBidWlsZF9oZWxwZXI9Y21ha2Utd3hXaWRnZXRzLWd0azMKIGNvbmZpZ3VyZV9hcmdzPSIK CkZyb20gMzcxZWJhZGNmYzUwNDVkYzE4NmJlMjE4YjQ1MTBhNGU4Y2NkYTA0NSBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKRnJvbTogIkFuZHJldyBKLiBIZXNmb3JkIiA8YWpoQHNpZGViYW5kLm9y Zz4KRGF0ZTogTW9uLCAyNSBTZXAgMjAyMyAwMDoxODoxOSAtMDQwMApTdWJqZWN0OiBbUEFUQ0gg MTMvNDNdIE9wZW5DUE46IHVwZGF0ZSB0byA1LjguNC4KCi0tLQogLi4uL09wZW5DUE4vcGF0Y2hl cy9hY3R1YWxseS1zZXQtYXJjaC5wYXRjaCAgIHwgMjggLS0tLS0tLS0tLS0tLS0tLS0tCiBzcmNw a2dzL09wZW5DUE4vcGF0Y2hlcy9tdXNsLnBhdGNoICAgICAgICAgICAgfCAyOSArKysrKysrKyst LS0tLS0tLS0tCiBzcmNwa2dzL09wZW5DUE4vdGVtcGxhdGUgICAgICAgICAgICAgICAgICAgICAg fCAxMyArKysrKy0tLS0KIDMgZmlsZXMgY2hhbmdlZCwgMjAgaW5zZXJ0aW9ucygrKSwgNTAgZGVs ZXRpb25zKC0pCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9PcGVuQ1BOL3BhdGNoZXMvYWN0 dWFsbHktc2V0LWFyY2gucGF0Y2gKCmRpZmYgLS1naXQgYS9zcmNwa2dzL09wZW5DUE4vcGF0Y2hl cy9hY3R1YWxseS1zZXQtYXJjaC5wYXRjaCBiL3NyY3BrZ3MvT3BlbkNQTi9wYXRjaGVzL2FjdHVh bGx5LXNldC1hcmNoLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkMTUyYzQw OTI4ODY3Li4wMDAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvT3BlbkNQTi9wYXRjaGVzL2FjdHVh bGx5LXNldC1hcmNoLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjggKzAsMCBAQAotLS0tIGEv Y21ha2UvR2V0QXJjaC5jbWFrZQkyMDIwLTA3LTE1IDIwOjAyOjI5LjAwMDAwMDAwMCArMDIwMAot KysrIGIvY21ha2UvR2V0QXJjaC5jbWFrZQkyMDIwLTA3LTE1IDIwOjAyOjI5LjAwMDAwMDAwMCAr MDIwMAotQEAgLTE0LDYgKzE0LDI1IEBACi0gICAgICMgZGVmYXVsdAotICAgICBzZXQgKEFSQ0gg ImkzODYiKQotICAgICBzZXQgKExJQl9JTlNUQUxMX0RJUiAibGliIikKLSsgICAgSUYgKENNQUtF X1NZU1RFTV9QUk9DRVNTT1IgTUFUQ0hFUyAiYXJtKiIpCi0rICAgICAgSUYgKENNQUtFX1NJWkVP Rl9WT0lEX1AgTUFUQ0hFUyAiOCIpCi0rICAgICAgICBTRVQgKEFSQ0ggImFhcmNoNjQiKQotKyAg ICAgIEVMU0UgKENNQUtFX1NJWkVPRl9WT0lEX1AgTUFUQ0hFUyAiOCIpCi0rICAgICAgICBTRVQg KEFSQ0ggImFybWhmIikKLSsgICAgICBFTkRJRiAoQ01BS0VfU0laRU9GX1ZPSURfUCBNQVRDSEVT ICI4IikKLSsgICAgRUxTRUlGIChDTUFLRV9TWVNURU1fUFJPQ0VTU09SIE1BVENIRVMgInBwYyoi IE9SIENNQUtFX1NZU1RFTV9QUk9DRVNTT1IgTUFUQ0hFUyAicG93ZXJwYyoiKQotKyAgICAgIElG IChDTUFLRV9TSVpFT0ZfVk9JRF9QIE1BVENIRVMgIjgiKQotKyAgICAgICAgU0VUIChBUkNIICJw cGM2NCIpCi0rICAgICAgRUxTRSAoQ01BS0VfU0laRU9GX1ZPSURfUCBNQVRDSEVTICI4IikKLSsg ICAgICAgIFNFVCAoQVJDSCAicG93ZXJwYyIpCi0rICAgICAgRU5ESUYgKENNQUtFX1NJWkVPRl9W T0lEX1AgTUFUQ0hFUyAiOCIpCi0rICAgIEVMU0UgKENNQUtFX1NZU1RFTV9QUk9DRVNTT1IgTUFU Q0hFUyAiYXJtKiIpCi0rICAgICAgSUYgKENNQUtFX1NJWkVPRl9WT0lEX1AgTUFUQ0hFUyAiOCIp Ci0rICAgICAgICBTRVQgKEFSQ0ggIng4Nl82NCIpCi0rICAgICAgRUxTRSAoQ01BS0VfU0laRU9G X1ZPSURfUCBNQVRDSEVTICI4IikKLSsgICAgICAgIFNFVCAoQVJDSCAiaTM4NiIpCi0rICAgICAg RU5ESUYgKENNQUtFX1NJWkVPRl9WT0lEX1AgTUFUQ0hFUyAiOCIpCi0rICAgIEVORElGIChDTUFL RV9TWVNURU1fUFJPQ0VTU09SIE1BVENIRVMgImFybSoiKQotICAgICBpZiAoRVhJU1RTIC9ldGMv ZGViaWFuX3ZlcnNpb24pCi0gICAgICAgc2V0IChQQUNLQUdFX0ZPUk1BVCAiREVCIikKLSAgICAg ICBzZXQgKFBBQ0tBR0VfUkVDUyAieGNhbGliLHhkZy11dGlscyIpCmRpZmYgLS1naXQgYS9zcmNw a2dzL09wZW5DUE4vcGF0Y2hlcy9tdXNsLnBhdGNoIGIvc3JjcGtncy9PcGVuQ1BOL3BhdGNoZXMv bXVzbC5wYXRjaAppbmRleCA3NTkyM2UwMTliMmJjLi5mOTg3N2Y5YTBlNjUxIDEwMDY0NAotLS0g YS9zcmNwa2dzL09wZW5DUE4vcGF0Y2hlcy9tdXNsLnBhdGNoCisrKyBiL3NyY3BrZ3MvT3BlbkNQ Ti9wYXRjaGVzL211c2wucGF0Y2gKQEAgLTEsMjYgKzEsMTYgQEAKIC0tLSBhL2luY2x1ZGUvemVy b2NvbmYtZGV0YWlsLmhwcAkyMDIwLTA3LTE1IDIwOjAyOjI5LjAwMDAwMDAwMCArMDIwMAogKysr IGIvaW5jbHVkZS96ZXJvY29uZi1kZXRhaWwuaHBwCTIwMjAtMDctMTUgMjA6MDI6MjkuMDAwMDAw MDAwICswMjAwCi1AQCAtMjAsOSArMjAsNyBAQAorQEAgLTIwLDE1ICsyMCwxNCBAQAogICNkZWZp bmUgV0lOMzJfTEVBTl9BTkRfTUVBTgogICNpbmNsdWRlIDx3aW5zb2NrMi5oPgogICNlbHNlCi0t ICAgICNpZm5kZWYgX19XWE9TWF9fCi0tICAgICAgICAjaW5jbHVkZSA8ZXJyb3IuaD4KLS0gICAg I2Vsc2UgICAgCi0rICAgICNpZmRlZiBfX1dYT1NYX18KLSAgICAgICAgICNpbmNsdWRlIDxtYWNo L2Vycm9yLmg+IAorLSNpZm5kZWYgX19XWE9TWF9fCistI2luY2x1ZGUgPGVycm9yLmg+CistI2Vs c2UKKysjaWZkZWYgX19XWE9TWF9fCisgI2luY2x1ZGUgPG1hY2gvZXJyb3IuaD4KICAjZW5kaWYK ICAKLUBAIC00MjQsNCArNDIyLDQgQEAKLSAgICAgfQotIH0KLSAKLS0jZW5kaWYgLy8gWkVST0NP TkZfREVUQUlMX0hQUAotXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCi0rI2VuZGlmIC8vIFpF Uk9DT05GX0RFVEFJTF9IUFAKLS0tLSBhL2luY2x1ZGUvemVyb2NvbmYtZGV0YWlsLmhwcAkyMDIw LTA3LTI1IDE4OjA1OjA4LjcxNDA5ODk2MiArMDIwMAotKysrIGIvaW5jbHVkZS96ZXJvY29uZi1k ZXRhaWwuaHBwCTIwMjAtMDctMjUgMTg6MDU6MDguNzE0MDk4OTYyICswMjAwCi1AQCAtMjcsNiAr MjcsNyBAQAogICNpbmNsdWRlIDxzdHJpbmcuaD4KICAjaW5jbHVkZSA8dW5pc3RkLmg+CiAgI2lu Y2x1ZGUgPHN5cy9zb2NrZXQuaD4KQEAgLTI4LDMgKzE4LDEwIEBACiAgI2luY2x1ZGUgPG5ldGlu ZXQvaW4uaD4KICAjZW5kaWYKICAKK0BAIC0zODUsNCArMzg0LDQgQEAKKyB9ICAvLyBuYW1lc3Bh Y2UgRGV0YWlsCisgfSAgLy8gbmFtZXNwYWNlIFplcm9jb25mCisgCistI2VuZGlmICAvLyBaRVJP Q09ORl9ERVRBSUxfSFBQCitcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKysjZW5kaWYgIC8v IFpFUk9DT05GX0RFVEFJTF9IUFAKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvT3BlbkNQTi90ZW1wbGF0 ZSBiL3NyY3BrZ3MvT3BlbkNQTi90ZW1wbGF0ZQppbmRleCBlZTY3ZGJhZmYwMWMyLi5kM2I1Nzgw NGZhODgwIDEwMDY0NAotLS0gYS9zcmNwa2dzL09wZW5DUE4vdGVtcGxhdGUKKysrIGIvc3JjcGtn cy9PcGVuQ1BOL3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAn T3BlbkNQTicKIHBrZ25hbWU9T3BlbkNQTgotdmVyc2lvbj01LjIuMAotcmV2aXNpb249MgordmVy c2lvbj01LjguNAorcmV2aXNpb249MQogYnVpbGRfc3R5bGU9Y21ha2UKIGJ1aWxkX2hlbHBlcj1j bWFrZS13eFdpZGdldHMtZ3RrMwogY29uZmlndXJlX2FyZ3M9Ii1ET0NQTl9CVU5ETEVfR1NISFM9 Tk9ORSAtRE9DUE5fQlVORExFX1RDREFUQT1PTgpAQCAtMTAsMTYgKzEwLDE3IEBAIGNvbmZpZ3Vy ZV9hcmdzPSItRE9DUE5fQlVORExFX0dTSEhTPU5PTkUgLURPQ1BOX0JVTkRMRV9UQ0RBVEE9T04K ICAtRE9DUE5fVVNFX0JVTkRMRURfTElCUz1PRkYiCiBob3N0bWFrZWRlcGVuZHM9ImdldHRleHQg cGtnLWNvbmZpZyIKIG1ha2VkZXBlbmRzPSJndGsrMy1kZXZlbCBsaWJjdXJsLWRldmVsIHBvcnRh dWRpby1kZXZlbCB0aW55eG1sLWRldmVsCi0gd3hXaWRnZXRzLWd0azMtZGV2ZWwgJCh2b3B0X2lm IGV4aWYgJ2xpYmV4aWYtZGV2ZWwnKSBnbHUtZGV2ZWwKLSAkKHZvcHRfaWYgbGliYXJjaGl2ZSAn bGliYXJjaGl2ZS1kZXZlbCcgJ2xpYnVuYXJyLWRldmVsJykgJCh2b3B0X2lmIGx6bWEgJ2xpYmx6 bWEtZGV2ZWwnKSIKKyB3eFdpZGdldHMtZ3RrMy1kZXZlbCBnbHUtZGV2ZWwgZ2xldy1kZXZlbCBy YXBpZGpzb24gZ3Rlc3QtZGV2ZWwKKyAkKHZvcHRfaWYgbGliYXJjaGl2ZSAnbGliYXJjaGl2ZS1k ZXZlbCcgJ2xpYnVuYXJyLWRldmVsJykKKyAkKHZvcHRfaWYgZXhpZiAnbGliZXhpZi1kZXZlbCcp ICQodm9wdF9pZiBsem1hICdsaWJsem1hLWRldmVsJykiCiBkZXBlbmRzPSJncHNkIGhpY29sb3It aWNvbi10aGVtZSBPcGVuQ1BOLXRjZGF0YS0ke3ZlcnNpb259XyR7cmV2aXNpb259CiAgT3BlbkNQ Ti1nc2hocy1jcnVkZSIKIHNob3J0X2Rlc2M9IkNvbmNpc2UgQ2hhcnRQbG90dGVyL05hdmlnYXRv ciIKIG1haW50YWluZXI9IkpvaG4gPG1lQGpvaG5ueW5hdG9yLmRldj4iCiBsaWNlbnNlPSJHUEwt Mi4wLW9yLWxhdGVyLCBHUEwtMy4wLW9yLWxhdGVyLCBMR1BMLTIuMC1vci1sYXRlciwgTUlULCBX eFdpbmRvd3MtZXhjZXB0aW9uLTMuMSwgSmFzUGVyLTIuMCwgQlNELTMtQ2xhdXNlLCBTR0ktQi0y LjAiCiBob21lcGFnZT0iaHR0cHM6Ly9vcGVuY3BuLm9yZy8iCi1kaXN0ZmlsZXM9Imh0dHBzOi8v Z2l0aHViLmNvbS9PcGVuQ1BOL09wZW5DUE4vYXJjaGl2ZS92JHt2ZXJzaW9ufS50YXIuZ3oiCi1j aGVja3N1bT1mNmVjMzg5ODliYzM4ZjVhN2Y2MzIzNGM1ZTAyMzBhZGViNzNmNTYyNmI0ZTNkM2Rm YTY4MGYwYzI0MGJhZGM3CitkaXN0ZmlsZXM9Imh0dHBzOi8vZ2l0aHViLmNvbS9PcGVuQ1BOL09w ZW5DUE4vYXJjaGl2ZS9SZWxlYXNlXyR7dmVyc2lvbn0udGFyLmd6IgorY2hlY2tzdW09NzU1Mjcy NmU1YWZjZTVlYjQwMWUzMDdiZWVkZDhmM2FhMmM2NjcyNTYwMmZjMjdhYjNhZDE4NDVmNDBiODdh MAogCiBidWlsZF9vcHRpb25zPSJsem1hIGxpYmFyY2hpdmUgZXhpZiBjcmFzaHJlcG9ydCIKIGJ1 aWxkX29wdGlvbnNfZGVmYXVsdD0ibHptYSBsaWJhcmNoaXZlIGV4aWYiCgpGcm9tIDFjMjMzN2Uz YWEzNTM0NDVlNzU4YjIwZTA4ZGU1OGJlMzMyMWQ0MjkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx CkZyb206ICJBbmRyZXcgSi4gSGVzZm9yZCIgPGFqaEBzaWRlYmFuZC5vcmc+CkRhdGU6IE1vbiwg MjUgU2VwIDIwMjMgMDA6MTg6MTkgLTA0MDAKU3ViamVjdDogW1BBVENIIDE0LzQzXSBQcnVzYVNs aWNlcjogcmVidWlsZCB3aXRoIHd4V2lkZ2V0cy1ndGszLTMuMi4yLjEKCi0tLQogc3JjcGtncy9Q cnVzYVNsaWNlci90ZW1wbGF0ZSB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigr KSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvUHJ1c2FTbGljZXIvdGVtcGxh dGUgYi9zcmNwa2dzL1BydXNhU2xpY2VyL3RlbXBsYXRlCmluZGV4IGJhYzVkNmQ1NzQwNTMuLjZh ZTFkZjBkODdhMTkgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvUHJ1c2FTbGljZXIvdGVtcGxhdGUKKysr IGIvc3JjcGtncy9QcnVzYVNsaWNlci90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxh dGUgZmlsZSBmb3IgJ1BydXNhU2xpY2VyJwogcGtnbmFtZT1QcnVzYVNsaWNlcgogdmVyc2lvbj0y LjUuMgotcmV2aXNpb249MgorcmV2aXNpb249MwogYnVpbGRfc3R5bGU9Y21ha2UKIGJ1aWxkX2hl bHBlcj0icWVtdSBjbWFrZS13eFdpZGdldHMtZ3RrMyIKICMgUHJlLUNvbXBpbGVkIEhlYWRlcnMg c2VlbXMgdG8gYmUgc2xvd2VyCgpGcm9tIDJhYzcyY2VjOTIxYmM3OWRmZmQ3NTdhZjgxOWQyN2Ni ZDBkYmU5Y2YgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206ICJBbmRyZXcgSi4gSGVzZm9y ZCIgPGFqaEBzaWRlYmFuZC5vcmc+CkRhdGU6IE1vbiwgMjUgU2VwIDIwMjMgMDA6MTg6MTkgLTA0 MDAKU3ViamVjdDogW1BBVENIIDE1LzQzXSBTTEFERTogcmVidWlsZCB3aXRoIHd4V2lkZ2V0cy1n dGszLTMuMi4yLjEKCi0tLQogc3JjcGtncy9TTEFERS90ZW1wbGF0ZSB8IDIgKy0KIDEgZmlsZSBj aGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyY3Br Z3MvU0xBREUvdGVtcGxhdGUgYi9zcmNwa2dzL1NMQURFL3RlbXBsYXRlCmluZGV4IDhiNjgwNTc0 YzNiOWUuLmE4OGMyZTRiYzc4MTQgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvU0xBREUvdGVtcGxhdGUK KysrIGIvc3JjcGtncy9TTEFERS90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUg ZmlsZSBmb3IgJ1NMQURFJwogcGtnbmFtZT1TTEFERQogdmVyc2lvbj0zLjIuMQotcmV2aXNpb249 MQorcmV2aXNpb249MgogYnVpbGRfc3R5bGU9Y21ha2UKIGJ1aWxkX2hlbHBlcj1jbWFrZS13eFdp ZGdldHMtZ3RrMwogaG9zdG1ha2VkZXBlbmRzPSJwa2ctY29uZmlnIHA3emlwIHdoaWNoIgoKRnJv bSAxMzBiNmFhMmQyZWQ5MmQ5NmMzN2Y1NjAzN2IwNDlhNzVkM2M5ZTM2IE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQpGcm9tOiAiQW5kcmV3IEouIEhlc2ZvcmQiIDxhamhAc2lkZWJhbmQub3JnPgpE YXRlOiBNb24sIDI1IFNlcCAyMDIzIDAwOjE4OjIwIC0wNDAwClN1YmplY3Q6IFtQQVRDSCAxNi80 M10gV29lVVNCOiByZWJ1aWxkIHdpdGggd3hXaWRnZXRzLWd0azMtMy4yLjIuMQoKLS0tCiBzcmNw a2dzL1dvZVVTQi90ZW1wbGF0ZSB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigr KSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvV29lVVNCL3RlbXBsYXRlIGIv c3JjcGtncy9Xb2VVU0IvdGVtcGxhdGUKaW5kZXggYjk0NmI1MmJjYzFiOC4uMmRhOTVkNTcwMmVh NyAxMDA2NDQKLS0tIGEvc3JjcGtncy9Xb2VVU0IvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9Xb2VV U0IvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdXb2VVU0In CiBwa2duYW1lPVdvZVVTQgogdmVyc2lvbj0zLjMuMQotcmV2aXNpb249MworcmV2aXNpb249NAog YnVpbGRfc3R5bGU9Z251LWNvbmZpZ3VyZQogY29uZmlndXJlX2FyZ3M9Ii0td2l0aC13eC1jb25m aWc9d3gtY29uZmlnLWd0azMiCiBob3N0bWFrZWRlcGVuZHM9ImF1dG9tYWtlIGdldHRleHQgbGli dG9vbCIKCkZyb20gMzk2Y2RmZjU4MWY3ODRhYTBkODY4YjUxY2QyNDBmNjFmZDYzMGEyYiBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogIkFuZHJldyBKLiBIZXNmb3JkIiA8YWpoQHNpZGVi YW5kLm9yZz4KRGF0ZTogTW9uLCAyNSBTZXAgMjAyMyAwMDoxODoyMCAtMDQwMApTdWJqZWN0OiBb UEFUQ0ggMTcvNDNdIGF1ZGFjaXR5OiByZWJ1aWxkIHdpdGggd3hXaWRnZXRzLWd0azMtMy4yLjIu MQoKLS0tCiBzcmNwa2dzL2F1ZGFjaXR5L3BhdGNoZXMvd3gtMy4yLnBhdGNoICAgICAgICAgfCAy NiArKysrKysrKysrKysrKysrCiAuLi4vcGF0Y2hlcy93eC13aWRnZXQtaGFzLWJhc3F1ZS5wYXRj aCAgICAgICAgfCAyMiArKysrKysrKysrKysrCiBzcmNwa2dzL2F1ZGFjaXR5L3BhdGNoZXMvd3hi aXRtYXAucGF0Y2ggICAgICAgfCAzMSArKysrKysrKysrKysrKysrKysrCiBzcmNwa2dzL2F1ZGFj aXR5L3RlbXBsYXRlICAgICAgICAgICAgICAgICAgICAgfCAgNSArLS0KIDQgZmlsZXMgY2hhbmdl ZCwgODIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBz cmNwa2dzL2F1ZGFjaXR5L3BhdGNoZXMvd3gtMy4yLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQg c3JjcGtncy9hdWRhY2l0eS9wYXRjaGVzL3d4LXdpZGdldC1oYXMtYmFzcXVlLnBhdGNoCiBjcmVh dGUgbW9kZSAxMDA2NDQgc3JjcGtncy9hdWRhY2l0eS9wYXRjaGVzL3d4Yml0bWFwLnBhdGNoCgpk aWZmIC0tZ2l0IGEvc3JjcGtncy9hdWRhY2l0eS9wYXRjaGVzL3d4LTMuMi5wYXRjaCBiL3NyY3Br Z3MvYXVkYWNpdHkvcGF0Y2hlcy93eC0zLjIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggMDAwMDAwMDAwMDAwMC4uZDQyYWUwOWYzMGY2ZQotLS0gL2Rldi9udWxsCisrKyBiL3NyY3Br Z3MvYXVkYWNpdHkvcGF0Y2hlcy93eC0zLjIucGF0Y2gKQEAgLTAsMCArMSwyNiBAQAorSW5kZXg6 IGF1ZGFjaXR5LUF1ZGFjaXR5LTIuNC4xL2NvbmZpZ3VyZQorPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGF1ZGFj aXR5LUF1ZGFjaXR5LTIuNC4xLm9yaWcvY29uZmlndXJlCisrKysgYXVkYWNpdHktQXVkYWNpdHkt Mi40LjEvY29uZmlndXJlCitAQCAtMTk5MTgsNyArMTk5MTgsNyBAQCB3eF92ZXJzaW9uPWAke1dY X0NPTkZJR30gJHd4Y29uZmlnYXJncyAtCisgJGFzX2VjaG8gIiRhc19tZTogQ2hlY2tpbmcgdGhh dCB0aGUgY2hvc2VuIHZlcnNpb24gb2Ygd3hXaWRnZXRzIGlzIDMuMS54IChvciAzLjAueCkiID4m Njt9CisgCisgY2FzZSAiJHt3eF92ZXJzaW9ufSIgaW4KKy0gIDMuMS4qIHwgMy4wLiopCisrICAz LjIuKiB8IDMuMS4qIHwgMy4wLiopCisgICAgIGVjaG8gIkdyZWF0LCB5b3UncmUgdXNpbmcgd3hX aWRnZXRzICR7d3hfdmVyc2lvbn0hIgorICAgICA7OworICAgKikKK0luZGV4OiBhdWRhY2l0eS1B dWRhY2l0eS0yLjQuMS9saWItc3JjL2xpYi13aWRnZXQtZXh0cmEvY29uZmlndXJlCis9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09CistLS0gYXVkYWNpdHktQXVkYWNpdHktMi40LjEub3JpZy9saWItc3JjL2xpYi13aWRnZXQt ZXh0cmEvY29uZmlndXJlCisrKysgYXVkYWNpdHktQXVkYWNpdHktMi40LjEvbGliLXNyYy9saWIt d2lkZ2V0LWV4dHJhL2NvbmZpZ3VyZQorQEAgLTE2NjMzLDcgKzE2NjMzLDcgQEAgd3hfdmVyc2lv bj1gJHtXWF9DT05GSUd9ICR3eGNvbmZpZ2FyZ3MgLQorICRhc19lY2hvICIkYXNfbWU6IENoZWNr aW5nIHRoYXQgdGhlIGNob3NlbiB2ZXJzaW9uIG9mIHd4V2lkZ2V0cyBpcyAzLjEueCAob3IgMy4w LngpIiA+JjY7fQorIAorIGNhc2UgIiR7d3hfdmVyc2lvbn0iIGluCistICAzLjEuKiB8IDMuMC4q KQorKyAgMy4yLiogfCAzLjEuKiB8IDMuMC4qKQorICAgICBlY2hvICJHcmVhdCwgeW91J3JlIHVz aW5nIHd4V2lkZ2V0cyAke3d4X3ZlcnNpb259ISIKKyAgICAgOzsKKyAgICopCmRpZmYgLS1naXQg YS9zcmNwa2dzL2F1ZGFjaXR5L3BhdGNoZXMvd3gtd2lkZ2V0LWhhcy1iYXNxdWUucGF0Y2ggYi9z cmNwa2dzL2F1ZGFjaXR5L3BhdGNoZXMvd3gtd2lkZ2V0LWhhcy1iYXNxdWUucGF0Y2gKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMC4uNGRkMjRlNzllYzhlMgotLS0gL2Rl di9udWxsCisrKyBiL3NyY3BrZ3MvYXVkYWNpdHkvcGF0Y2hlcy93eC13aWRnZXQtaGFzLWJhc3F1 ZS5wYXRjaApAQCAtMCwwICsxLDIyIEBACitJbmRleDogYXVkYWNpdHktQXVkYWNpdHktMi40LjEv c3JjL0F1ZGFjaXR5QXBwLmNwcAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGF1ZGFjaXR5LUF1ZGFjaXR5LTIu NC4xLm9yaWcvc3JjL0F1ZGFjaXR5QXBwLmNwcAorKysrIGF1ZGFjaXR5LUF1ZGFjaXR5LTIuNC4x L3NyYy9BdWRhY2l0eUFwcC5jcHAKK0BAIC0xMTAyLDcgKzExMDIsNyBAQCBsb2NhdGlvbnMgb2Yg dGhlIG1pc3NpbmcgZmlsZXMuIikuRm9ybWF0CisgI2RlZmluZSBXTChsYW5nLHN1YmxhbmcpCisg I2VuZGlmCisgCistI2lmIHd4Q0hFQ0tfVkVSU0lPTigzLCAwLCAxKQorKyNpZiAwCisgd3hMYW5n dWFnZUluZm8gdXNlckxhbmdzW10gPQorIHsKKyAgICAvLyBCb3NuaWFuIGlzIGRlZmluZWQgaW4g d3hXaWRnZXRzIGFscmVhZHkKK0BAIC0xMzY2LDcgKzEzNjYsNyBAQCBib29sIEF1ZGFjaXR5QXBw OjpPbkluaXQoKQorICAgIC8vCisgICAgLy8gVE9ETzogIFRoZSB3aG9sZSBMYW5ndWFnZSBpbml0 aWFsaXphdGlvbiByZWFsbHkgbmVlZCB0byBiZSByZXdvcmtlZC4KKyAgICAvLyAgICAgICAgSXQn cyBhbGwgb3ZlciB0aGUgcGxhY2UuCistI2lmIHd4Q0hFQ0tfVkVSU0lPTigzLCAwLCAxKQorKyNp ZiAwCisgICAgZm9yIChzaXplX3QgaSA9IDAsIGNudCA9IFdYU0laRU9GKHVzZXJMYW5ncyk7IGkg PCBjbnQ7IGkrKykKKyAgICB7CisgICAgICAgd3hMb2NhbGU6OkFkZExhbmd1YWdlKHVzZXJMYW5n c1tpXSk7CmRpZmYgLS1naXQgYS9zcmNwa2dzL2F1ZGFjaXR5L3BhdGNoZXMvd3hiaXRtYXAucGF0 Y2ggYi9zcmNwa2dzL2F1ZGFjaXR5L3BhdGNoZXMvd3hiaXRtYXAucGF0Y2gKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMC4uYWYxOGJkMWNiNjUyNAotLS0gL2Rldi9udWxs CisrKyBiL3NyY3BrZ3MvYXVkYWNpdHkvcGF0Y2hlcy93eGJpdG1hcC5wYXRjaApAQCAtMCwwICsx LDMxIEBACitGcm9tIDU1MzgzZmNjZDBjMjgxYjRmMTg5ZDliMDc2OTliMjFiYjgwMmM3MzYgTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBJYW4gTWNJbmVybmV5IDxpYW4ucy5tY2luZXJu ZXlAaWVlZS5vcmc+CitEYXRlOiBGcmksIDggQXByIDIwMjIgMDE6Mjc6NTIgKzAxMDAKK1N1Ympl Y3Q6IFtQQVRDSF0gQ2FsbCB0aGUgcHJvcGVyIHd4Qml0bWFwIGNvbnN0cnVjdG9yIGZvciBYUE0g ZGF0YQorCit3eEJpdG1hcCBiYWNrIHRvIGF0IGxlYXN0IDMuMC4wIGRpZCBub3QgaGF2ZSBhIGNv bnN0cnVjdG9yIGZvciBhbiBYUE0KK2ltYWdlIHRoYXQgdG9vayBhIHNpemUgcGFyYW1ldGVyLCBp dCB3b3VsZCBvbmx5IHRha2UgdGhlIFhQTSBkYXRhCitpdHNlbGYuCisKK0kgZG9uJ3Qga25vdyBo b3cgdGhpcyBjb21waWxlZCB1bnRpbCBub3csIGJ1dCBpdCBkb2Vzbid0IGFueW1vcmUgd2hlbgor dGhlIHNpemUgaXMgaW5jbHVkZWQgYW5kIGJ1aWx0IGFnYWluc3Qgd3ggMy4xLjYgaW4gRmVkb3Jh LgorLS0tCisgc3JjL01peGVyQm9hcmQuY3BwIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGlu c2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorIAorIFRlY2huaWNhbGx5IHRoaXMgcGF0Y2ggaXMg dW5kZXIgR1BMdjMrIGJlY2F1c2UgaXQgd2FzIGNvbnRyaWJ1dGVkIGFmdGVyCisgcmUgbGljZW5z aW5nCisKK2RpZmYgLS1naXQgYS9zcmMvTWl4ZXJCb2FyZC5jcHAgYi9zcmMvTWl4ZXJCb2FyZC5j cHAKK2luZGV4IDU0YjVmMTQ2Y2M3Li43ZmU4MTYxNTQ3NCAxMDA2NDQKKy0tLSBhL3NyYy9NaXhl ckJvYXJkLmNwcAorKysrIGIvc3JjL01peGVyQm9hcmQuY3BwCitAQCAtMTMwNyw3ICsxMzA3LDcg QEAgdm9pZCBNaXhlckJvYXJkOjpMb2FkTXVzaWNhbEluc3RydW1lbnRzKCkKKyAgICB3eE1lbW9y eURDIGRjOworIAorICAgIGZvciAoY29uc3QgYXV0byAmZGF0YSA6IHRhYmxlKSB7CistICAgICAg YXV0byBibXAgPSBzdGQ6Om1ha2VfdW5pcXVlPHd4Qml0bWFwPihkYXRhLmJpdG1hcCwyNCk7Cisr ICAgICAgYXV0byBibXAgPSBzdGQ6Om1ha2VfdW5pcXVlPHd4Qml0bWFwPihkYXRhLmJpdG1hcCk7 CisgICAgICAgZGMuU2VsZWN0T2JqZWN0KCpibXApOworICAgICAgIEFDb2xvcjo6QmV2ZWwoZGMs IGZhbHNlLCBiZXYpOworICAgICAgIG1NdXNpY2FsSW5zdHJ1bWVudHMucHVzaF9iYWNrKHN0ZDo6 bWFrZV91bmlxdWU8TXVzaWNhbEluc3RydW1lbnQ+KApkaWZmIC0tZ2l0IGEvc3JjcGtncy9hdWRh Y2l0eS90ZW1wbGF0ZSBiL3NyY3BrZ3MvYXVkYWNpdHkvdGVtcGxhdGUKaW5kZXggMjhlOWM0YTM1 MjhmMS4uNjk5MmZmYTc3MWI5YSAxMDA2NDQKLS0tIGEvc3JjcGtncy9hdWRhY2l0eS90ZW1wbGF0 ZQorKysgYi9zcmNwa2dzL2F1ZGFjaXR5L3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1w bGF0ZSBmaWxlIGZvciAnYXVkYWNpdHknCiBwa2duYW1lPWF1ZGFjaXR5CiB2ZXJzaW9uPTIuNC4x Ci1yZXZpc2lvbj0yCityZXZpc2lvbj0zCiBidWlsZF9zdHlsZT1nbnUtY29uZmlndXJlCiBjb25m aWd1cmVfYXJncz0iLS13aXRoLWZmbXBlZz1zeXN0ZW0gLS13aXRoLWxpYnNuZGZpbGU9c3lzdGVt IC0td2l0aC1leHBhdD1zeXN0ZW0KICAtLXdpdGgtbGlic294cj1zeXN0ZW0gLS13aXRoLWxhbWU9 c3lzdGVtIC0td2l0aC1sdjI9c3lzdGVtIGFjX2N2X3BhdGhfV1hfQ09ORklHPXd4LWNvbmZpZy1n dGszIgpAQCAtMTMsNyArMTMsOCBAQCBtYWtlZGVwZW5kcz0iamFjay1kZXZlbCB3eFdpZGdldHMt Z3RrMy1kZXZlbCBndGsrMy1kZXZlbAogZGVwZW5kcz0iZGVza3RvcC1maWxlLXV0aWxzIGhpY29s b3ItaWNvbi10aGVtZSIKIHNob3J0X2Rlc2M9IkdyYXBoaWNhbCBjcm9zcy1wbGF0Zm9ybSBhdWRp byBlZGl0b3IiCiBtYWludGFpbmVyPSJPcnBoYW5lZCA8b3JwaGFuQHZvaWRsaW51eC5vcmc+Igot bGljZW5zZT0iR1BMLTIuMC1vci1sYXRlciIKKyMgUGF0Y2hlcyBhcmUgR1BMMyssIHNvIGJ1bXAg dGhlIGxpY2Vuc2UgZm9yIHRoZSB3aG9sZSBwYWNrYWdlCitsaWNlbnNlPSJHUEwtMy4wLW9yLWxh dGVyIgogaG9tZXBhZ2U9Imh0dHBzOi8vd3d3LmF1ZGFjaXR5dGVhbS5vcmciCiBkaXN0ZmlsZXM9 Imh0dHBzOi8vZ2l0aHViLmNvbS9hdWRhY2l0eS9hdWRhY2l0eS9hcmNoaXZlL0F1ZGFjaXR5LSR7 dmVyc2lvbn0udGFyLmd6IgogY2hlY2tzdW09NTAyNDBmMDc0NzEzNzNhN2U1YzJkZjY1Y2MyNmVl ZWFhY2VkOWEwODUwYWQxZjk1Y2I3OTVmMTcxZWEzMDA5ZgoKRnJvbSBjYTlmNjZlYTI0NDg0NTA3 N2QxZjRkZDcwYjNmYTQxNzQ3OWM5ZjI0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiAi QW5kcmV3IEouIEhlc2ZvcmQiIDxhamhAc2lkZWJhbmQub3JnPgpEYXRlOiBNb24sIDI1IFNlcCAy MDIzIDAwOjE4OjIwIC0wNDAwClN1YmplY3Q6IFtQQVRDSCAxOC80M10gYm9pbmM6IHJlYnVpbGQg d2l0aCB3eFdpZGdldHMtZ3RrMy0zLjIuMi4xCgotLS0KIHNyY3BrZ3MvYm9pbmMvdGVtcGxhdGUg fCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRp ZmYgLS1naXQgYS9zcmNwa2dzL2JvaW5jL3RlbXBsYXRlIGIvc3JjcGtncy9ib2luYy90ZW1wbGF0 ZQppbmRleCBlY2QyYTExMDBiMDE1Li42NWJiYmU3NTQwZDUwIDEwMDY0NAotLS0gYS9zcmNwa2dz L2JvaW5jL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvYm9pbmMvdGVtcGxhdGUKQEAgLTEsNyArMSw3 IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdib2luYycKIHBrZ25hbWU9Ym9pbmMKIHZlcnNpb249 Ny4yMi4wCi1yZXZpc2lvbj0yCityZXZpc2lvbj0zCiBfbWFqb3J2ZXI9JHt2ZXJzaW9uJS4qfQog YnVpbGRfc3R5bGU9Z251LWNvbmZpZ3VyZQogaG9zdG1ha2VkZXBlbmRzPSJhdXRvbWFrZSBsaWJ0 b29sIHBrZy1jb25maWcgeG9yZ3Byb3RvIHNoYXJlZC1taW1lLWluZm8iCgpGcm9tIGY2NWM0YmI3 MjFjY2IxNGZmYTVhNDA0Mjc1NWIzODkzOGJhM2Y1NTggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx CkZyb206ICJBbmRyZXcgSi4gSGVzZm9yZCIgPGFqaEBzaWRlYmFuZC5vcmc+CkRhdGU6IE1vbiwg MjUgU2VwIDIwMjMgMDA6MTg6MjAgLTA0MDAKU3ViamVjdDogW1BBVENIIDE5LzQzXSBjb2RlYmxv Y2tzOiByZWJ1aWxkIHdpdGggd3hXaWRnZXRzLWd0azMtMy4yLjIuMQoKLS0tCiBzcmNwa2dzL2Nv ZGVibG9ja3MvcGF0Y2hlcy8wMDAucjExOTkxLnBhdGNoICAgfCAgMjcgKwogLi4uMC52MjAuMDMt cjEyMDA4LnBhdGNoID0+IDAwMC5yMTIwMDgucGF0Y2h9IHwgICAwCiAuLi4xLnYyMC4wMy1yMTIw MTIucGF0Y2ggPT4gMDAwLnIxMjAxMi5wYXRjaH0gfCAgIDAKIHNyY3BrZ3MvY29kZWJsb2Nrcy9w YXRjaGVzLzAwMC5yMTI1MzIucGF0Y2ggICB8ICAxMyArCiBzcmNwa2dzL2NvZGVibG9ja3MvcGF0 Y2hlcy8wMDAucjEyNTgwLnBhdGNoICAgfCA5NDQgKysrKysrKysrKysrKysrKysrCiBzcmNwa2dz L2NvZGVibG9ja3MvcGF0Y2hlcy8wMDAucjEyNzA3LnBhdGNoICAgfCAxMjAgKysrCiBzcmNwa2dz L2NvZGVibG9ja3MvcGF0Y2hlcy93eC0zLjIucGF0Y2ggICAgICAgfCAgMjEgKwogc3JjcGtncy9j b2RlYmxvY2tzL3RlbXBsYXRlICAgICAgICAgICAgICAgICAgIHwgICAyICstCiA4IGZpbGVzIGNo YW5nZWQsIDExMjYgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQogY3JlYXRlIG1vZGUgMTAw NjQ0IHNyY3BrZ3MvY29kZWJsb2Nrcy9wYXRjaGVzLzAwMC5yMTE5OTEucGF0Y2gKIHJlbmFtZSBz cmNwa2dzL2NvZGVibG9ja3MvcGF0Y2hlcy97MDAwLnYyMC4wMy1yMTIwMDgucGF0Y2ggPT4gMDAw LnIxMjAwOC5wYXRjaH0gKDEwMCUpCiByZW5hbWUgc3JjcGtncy9jb2RlYmxvY2tzL3BhdGNoZXMv ezAwMS52MjAuMDMtcjEyMDEyLnBhdGNoID0+IDAwMC5yMTIwMTIucGF0Y2h9ICgxMDAlKQogY3Jl YXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvY29kZWJsb2Nrcy9wYXRjaGVzLzAwMC5yMTI1MzIucGF0 Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2NvZGVibG9ja3MvcGF0Y2hlcy8wMDAucjEy NTgwLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9jb2RlYmxvY2tzL3BhdGNoZXMv MDAwLnIxMjcwNy5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvY29kZWJsb2Nrcy9w YXRjaGVzL3d4LTMuMi5wYXRjaAoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY29kZWJsb2Nrcy9wYXRj aGVzLzAwMC5yMTE5OTEucGF0Y2ggYi9zcmNwa2dzL2NvZGVibG9ja3MvcGF0Y2hlcy8wMDAucjEx OTkxLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAuLjBjZGI3 MjUxZmRjZWQKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2NvZGVibG9ja3MvcGF0Y2hlcy8w MDAucjExOTkxLnBhdGNoCkBAIC0wLDAgKzEsMjcgQEAKK0luZGV4OiBzcmMvc3JjL21haW4uY3Bw Cis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09CistLS0gYS9zcmMvc3JjL21haW4uY3BwCShyZXZpc2lvbiAxMTk5MCkKKysr KyBiL3NyYy9zcmMvbWFpbi5jcHAJKHJldmlzaW9uIDExOTkxKQorQEAgLTI2ODAsOCArMjY4MCw2 IEBACisgICAgIGVsc2UKKyAgICAgeworICAgICAgICAgd3hCdXN5Q3Vyc29yIHVzZWxlc3M7Cist ICAgICAgICB3eFBhaW50RXZlbnQgZTsKKy0gICAgICAgIFByb2Nlc3NFdmVudChlKTsKKyAgICAg ICAgIGZvciAodW5zaWduZWQgaW50IGkgPSAwOyBpIDwgZmlsZXMuR2V0Q291bnQoKTsgKytpKQor ICAgICAgICAgICBzdWNjZXNzICY9IE9wZW5HZW5lcmljKGZpbGVzW2ldKTsKKyAgICAgfQorSW5k ZXg6IHNyYy9zcmMvd2F0Y2hlc2RsZy5jcHAKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBhL3NyYy9zcmMvd2F0 Y2hlc2RsZy5jcHAJKHJldmlzaW9uIDExOTkwKQorKysrIGIvc3JjL3NyYy93YXRjaGVzZGxnLmNw cAkocmV2aXNpb24gMTE5OTEpCitAQCAtMTAzLDggKzEwMyw3IEBACisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGNiX3VudXNlZCBjb25zdCB3eFBvaW50JiBwb3MsCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNiX3VudXNlZCBjb25zdCB3eFNpemUmIHN6KSBj b25zdCBvdmVycmlkZQorICAgICB7CistICAgICAgICB3eFBHV2luZG93TGlzdCBjb25zdCBsaXN0 OworLSAgICAgICAgcmV0dXJuIGxpc3Q7CisrICAgICAgICByZXR1cm4gd3hQR1dpbmRvd0xpc3Qo bnVsbHB0ciwgbnVsbHB0cik7CisgICAgIH0KKyAgICAgdm9pZCBVcGRhdGVDb250cm9sKGNiX3Vu dXNlZCB3eFBHUHJvcGVydHkqIHByb3BlcnR5LCBjYl91bnVzZWQgd3hXaW5kb3cqIGN0cmwpIGNv bnN0IG92ZXJyaWRlIHt9CisgICAgIGJvb2wgT25FdmVudChjYl91bnVzZWQgd3hQcm9wZXJ0eUdy aWQqIHByb3BncmlkLCBjYl91bnVzZWQgd3hQR1Byb3BlcnR5KiBwcm9wZXJ0eSwKZGlmZiAtLWdp dCBhL3NyY3BrZ3MvY29kZWJsb2Nrcy9wYXRjaGVzLzAwMC52MjAuMDMtcjEyMDA4LnBhdGNoIGIv c3JjcGtncy9jb2RlYmxvY2tzL3BhdGNoZXMvMDAwLnIxMjAwOC5wYXRjaApzaW1pbGFyaXR5IGlu ZGV4IDEwMCUKcmVuYW1lIGZyb20gc3JjcGtncy9jb2RlYmxvY2tzL3BhdGNoZXMvMDAwLnYyMC4w My1yMTIwMDgucGF0Y2gKcmVuYW1lIHRvIHNyY3BrZ3MvY29kZWJsb2Nrcy9wYXRjaGVzLzAwMC5y MTIwMDgucGF0Y2gKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY29kZWJsb2Nrcy9wYXRjaGVzLzAwMS52 MjAuMDMtcjEyMDEyLnBhdGNoIGIvc3JjcGtncy9jb2RlYmxvY2tzL3BhdGNoZXMvMDAwLnIxMjAx Mi5wYXRjaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gc3JjcGtncy9jb2RlYmxv Y2tzL3BhdGNoZXMvMDAxLnYyMC4wMy1yMTIwMTIucGF0Y2gKcmVuYW1lIHRvIHNyY3BrZ3MvY29k ZWJsb2Nrcy9wYXRjaGVzLzAwMC5yMTIwMTIucGF0Y2gKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY29k ZWJsb2Nrcy9wYXRjaGVzLzAwMC5yMTI1MzIucGF0Y2ggYi9zcmNwa2dzL2NvZGVibG9ja3MvcGF0 Y2hlcy8wMDAucjEyNTMyLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw MDAwMDAuLjE1YTJmZmYyOGUyZTcKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2NvZGVibG9j a3MvcGF0Y2hlcy8wMDAucjEyNTMyLnBhdGNoCkBAIC0wLDAgKzEsMTMgQEAKK0luZGV4OiBzcmMv aW5jbHVkZS9jY21hbmFnZXIuaAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGEvc3JjL2luY2x1ZGUvY2NtYW5h Z2VyLmgJKHJldmlzaW9uIDEyNTMxKQorKysrIGIvc3JjL2luY2x1ZGUvY2NtYW5hZ2VyLmgJKHJl dmlzaW9uIDEyNTMyKQorQEAgLTQ0LDcgKzQ0LDcgQEAKKyAgKiBsaXN0IG9yIHRoZSBkb3h5Z2Vu IHBvcHVwLCB0aGUgc2Nyb2xsIGV2ZW50IGlzIGluc3RlYWQgc2VudCB0aGVyZSAoYW5kIHNraXBw ZWQgZm9yIHRoZSBlZGl0b3IKKyAgKiB3aW5kb3cpLgorICAqLworLWNsYXNzIERMTElNUE9SVCBD Q01hbmFnZXIgOiBwdWJsaWMgTWdyPENDTWFuYWdlcj4sIHd4RXZ0SGFuZGxlcgorK2NsYXNzIERM TElNUE9SVCBDQ01hbmFnZXIgOiBwdWJsaWMgTWdyPENDTWFuYWdlcj4sIHB1YmxpYyB3eEV2dEhh bmRsZXIKKyB7CisgICAgIHB1YmxpYzoKKyAgICAgICAgIGZyaWVuZCBjbGFzcyBNZ3I8Q0NNYW5h Z2VyPjsKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY29kZWJsb2Nrcy9wYXRjaGVzLzAwMC5yMTI1ODAu cGF0Y2ggYi9zcmNwa2dzL2NvZGVibG9ja3MvcGF0Y2hlcy8wMDAucjEyNTgwLnBhdGNoCm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAuLjc5MzBjNWM1Njc3YjIKLS0tIC9k ZXYvbnVsbAorKysgYi9zcmNwa2dzL2NvZGVibG9ja3MvcGF0Y2hlcy8wMDAucjEyNTgwLnBhdGNo CkBAIC0wLDAgKzEsOTQ0IEBACitJbmRleDogc3JjL3NyYy9ub3RlYm9va3N0eWxlcy5oCis9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09CistLS0gYS9zcmMvc3JjL25vdGVib29rc3R5bGVzLmgJKHJldmlzaW9uIDEyNTc5KQor KysrIGIvc3JjL3NyYy9ub3RlYm9va3N0eWxlcy5oCShyZXZpc2lvbiAxMjU4MCkKK0BAIC04LDE0 ICs4LDYgQEAKKyAKKyAjaW5jbHVkZSAiY2JhdWlib29rLmgiCisgCistI2lmIGRlZmluZWQoX19X WEdUS19fKSAmJiAoVVNFX0dUS19OT1RFQk9PSykgJiYgIXd4Q0hFQ0tfVkVSU0lPTigzLCAwLCAw KQorLSAgICAjZGVmaW5lIEdTb2NrZXQgR0xpYlNvY2tldAorLSAgICAjaW5jbHVkZSA8Z3RrL2d0 ay5oPgorLSAgICAjdW5kZWYgR1NvY2tldAorLSAgICAjaW5jbHVkZSA8d3gvYXJ0cHJvdi5oPgor LSNlbmRpZgorLQorLQorIGNsYXNzIHd4REM7CisgY2xhc3Mgd3hXaW5kb3c7CisgY2xhc3Mgd3hS ZWN0OworQEAgLTUzLDM1ICs0NSw0IEBACisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv bnN0IHd4U2l6ZSYgcmVxdWlyZWRfYm1wX3NpemUpIG92ZXJyaWRlOworIH07CisgCistI2lmIGRl ZmluZWQoX19XWEdUS19fKSAmJiAoVVNFX0dUS19OT1RFQk9PSykgJiYgIXd4Q0hFQ0tfVkVSU0lP TigzLCAwLCAwKQorLWNsYXNzIE5iU3R5bGVHVEsgOiBwdWJsaWMgd3hBdWlEZWZhdWx0VGFiQXJ0 CisteworLXB1YmxpYzoKKy0gICAgTmJTdHlsZUdUSygpOworLQorLSAgICB2aXJ0dWFsIHd4QXVp VGFiQXJ0KiBDbG9uZSgpOworLSAgICB2aXJ0dWFsIHZvaWQgRHJhd0JhY2tncm91bmQod3hEQyYg ZGMsIHd4V2luZG93KiB3bmQsIGNvbnN0IHd4UmVjdCYgcmVjdCk7CistICAgIHZpcnR1YWwgdm9p ZCBEcmF3VGFiKHd4REMmIGRjLAorLSAgICAgICAgICAgICAgICAgICAgICAgICB3eFdpbmRvdyog d25kLAorLSAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB3eEF1aU5vdGVib29rUGFnZSYg cGFnZSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgd3hSZWN0JiBpbl9yZWN0LAor LSAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgY2xvc2VfYnV0dG9uX3N0YXRlLAorLSAgICAg ICAgICAgICAgICAgICAgICAgICB3eFJlY3QqIG91dF90YWJfcmVjdCwKKy0gICAgICAgICAgICAg ICAgICAgICAgICAgd3hSZWN0KiBvdXRfYnV0dG9uX3JlY3QsCistICAgICAgICAgICAgICAgICAg ICAgICAgIGludCogeF9leHRlbnQpOworLSAgICB2b2lkIERyYXdCdXR0b24od3hEQyYgZGMsIHd4 V2luZG93KiB3bmQsIGNvbnN0IHd4UmVjdCYgaW5fcmVjdCwgaW50IGJpdG1hcF9pZCwKKy0gICAg ICAgICAgICAgICAgICAgIGludCBidXR0b25fc3RhdGUsIGludCBvcmllbnRhdGlvbiwgd3hSZWN0 KiBvdXRfcmVjdCk7CistICAgIGludCBHZXRCZXN0VGFiQ3RybFNpemUod3hXaW5kb3cqIHduZCwg Y29uc3Qgd3hBdWlOb3RlYm9va1BhZ2VBcnJheSYgcGFnZXMsCistICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGNvbnN0IHd4U2l6ZSYgcmVxdWlyZWRfYm1wX3NpemUpOworLSAgICB2aXJ0dWFs IHd4U2l6ZSBHZXRUYWJTaXplKHd4REMmIGRjLCB3eFdpbmRvdyogd25kLCBjb25zdCB3eFN0cmlu ZyYgY2FwdGlvbiwgY29uc3Qgd3hCaXRtYXAmIGJpdG1hcCwgYm9vbCBhY3RpdmUsCistICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgaW50IGNsb3NlX2J1dHRvbl9zdGF0ZSwgaW50KiB4X2V4 dGVudCk7CistcHJpdmF0ZToKKy0gICAgaW50IG1fWHRoaWNrbmVzczsKKy0gICAgaW50IG1fWXRo aWNrbmVzczsKKy0gICAgaW50IG1fVGFiSEJvcmRlcjsKKy0gICAgaW50IG1fVGFiVkJvcmRlcjsK Ky0gICAgd3hCaXRtYXAgbV9BY3RpdmVDbG9zZUJ1dHRvbjsKKy19OworLSNlbmRpZiAvLyAjaWYg ZGVmaW5lZChfX1dYR1RLX18pICYmIChVU0VfR1RLX05PVEVCT09LKSAmJiAhd3hDSEVDS19WRVJT SU9OKDMsIDAsIDApCistCisgI2VuZGlmIC8vIE5PVEVCT09LU1RZTEVTX0gKK0luZGV4OiBzcmMv cGx1Z2lucy9jb21waWxlcmdjYy9jb21waWxlcm9wdGlvbnNkbGcuY3BwCis9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cist LS0gYS9zcmMvcGx1Z2lucy9jb21waWxlcmdjYy9jb21waWxlcm9wdGlvbnNkbGcuY3BwCShyZXZp c2lvbiAxMjU3OSkKKysrKyBiL3NyYy9wbHVnaW5zL2NvbXBpbGVyZ2NjL2NvbXBpbGVyb3B0aW9u c2RsZy5jcHAJKHJldmlzaW9uIDEyNTgwKQorQEAgLTY3NywxMyArNjc3LDkgQEAKKyAgICAgd3hQ R1Byb3BlcnR5ICpyb290ID0gbV9GbGFnc1BHLT5HZXRSb290KCk7CisgICAgIGlmIChyb290KQor ICAgICB7CistICAgICAgICB1bnNpZ25lZCBjb3VudCA9IHJvb3QtPkdldENoaWxkQ291bnQoKTsK KysgICAgICAgIGNvbnN0IHVuc2lnbmVkIGNvdW50ID0gcm9vdC0+R2V0Q2hpbGRDb3VudCgpOwor ICAgICAgICAgZm9yICh1bnNpZ25lZCBpaSA9IDA7IGlpIDwgY291bnQ7ICsraWkpCistI2lmIHd4 Q0hFQ0tfVkVSU0lPTigzLCAwLCAwKQorICAgICAgICAgICAgIG1fRmxhZ3NQRy0+U29ydENoaWxk cmVuKHJvb3QtPkl0ZW0oaWkpLCB3eFBHX1JFQ1VSU0UpOworLSNlbHNlCistICAgICAgICAgICAg bV9GbGFnc1BHLT5Tb3J0KHJvb3QtPkl0ZW0oaWkpKTsKKy0jZW5kaWYKKyAgICAgfQorICAgICBt X0ZsYWdzUEctPlRoYXcoKTsKKyB9IC8vIERvRmlsbE9wdGlvbnMKK0BAIC0yMTE4LDExICsyMTE0 LDcgQEAKKyAgICAgQ29tcGlsZXJGYWN0b3J5OjpTZXREZWZhdWx0Q29tcGlsZXIoaWR4KTsKKyAg ICAgd3hTdHJpbmcgbXNnOworICAgICBDb21waWxlciogY29tcGlsZXIgPSBDb21waWxlckZhY3Rv cnk6OkdldERlZmF1bHRDb21waWxlcigpOworLSAgICAjaWYgd3hDSEVDS19WRVJTSU9OKDMsIDAs IDApCistICAgIG1zZy5QcmludGYoXygiJXMgaXMgbm93IHNlbGVjdGVkIGFzIHRoZSBkZWZhdWx0 IGNvbXBpbGVyIGZvciBuZXcgcHJvamVjdHMiKSwgY29tcGlsZXIgPyBjb21waWxlci0+R2V0TmFt ZSgpLnd4X3N0cigpIDogXygiW2ludmFsaWRdIikud3hfc3RyKCkpOworLSAgICAjZWxzZQorLSAg ICBtc2cuUHJpbnRmKF8oIiVzIGlzIG5vdyBzZWxlY3RlZCBhcyB0aGUgZGVmYXVsdCBjb21waWxl ciBmb3IgbmV3IHByb2plY3RzIiksIGNvbXBpbGVyID8gY29tcGlsZXItPkdldE5hbWUoKS5jX3N0 cigpIDogXygiW2ludmFsaWRdIikpOworLSAgICAjZW5kaWYKKysgICAgbXNnLlByaW50ZihfKCIl cyBpcyBub3cgc2VsZWN0ZWQgYXMgdGhlIGRlZmF1bHQgY29tcGlsZXIgZm9yIG5ldyBwcm9qZWN0 cyIpLCBjb21waWxlciA/IGNvbXBpbGVyLT5HZXROYW1lKCkgOiBfKCJbaW52YWxpZF0iKSk7Cisg ICAgIGNiTWVzc2FnZUJveChtc2cpOworIH0gLy8gT25TZXREZWZhdWx0Q29tcGlsZXJDbGljawor IAorSW5kZXg6IHNyYy9zZGsvdGVtcGxhdGVtYW5hZ2VyLmNwcAorPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGEv c3JjL3Nkay90ZW1wbGF0ZW1hbmFnZXIuY3BwCShyZXZpc2lvbiAxMjU3OSkKKysrKyBiL3NyYy9z ZGsvdGVtcGxhdGVtYW5hZ2VyLmNwcAkocmV2aXNpb24gMTI1ODApCitAQCAtMTg2LDExICsxODYs NyBAQAorICAgICAgICAgICAgICsrY291bnQ7CisgICAgICAgICB9CisgICAgICAgICBlbHNlCist ICAgICAgICAgICAgI2lmIHd4Q0hFQ0tfVkVSU0lPTigzLCAwLCAwKQorICAgICAgICAgICAgIE1h bmFnZXI6OkdldCgpLT5HZXRMb2dNYW5hZ2VyKCktPkRlYnVnTG9nKEYoX1QoIkZhaWxlZCBjb3B5 aW5nICVzIHRvICVzIiksIHNyYy53eF9zdHIoKSwgZHN0Lnd4X3N0cigpKSk7CistICAgICAgICAg ICAgI2Vsc2UKKy0gICAgICAgICAgICBNYW5hZ2VyOjpHZXQoKS0+R2V0TG9nTWFuYWdlcigpLT5E ZWJ1Z0xvZyhGKF9UKCJGYWlsZWQgY29weWluZyAlcyB0byAlcyIpLCBzcmMuY19zdHIoKSwgZHN0 LmNfc3RyKCkpKTsKKy0gICAgICAgICAgICAjZW5kaWYKKyAgICAgfQorICAgICBpZiAoY291bnQg IT0gdG90YWxfY291bnQpCisgICAgICAgICBjYk1lc3NhZ2VCb3goXygiU29tZSBmaWxlcyBjb3Vs ZCBub3QgYmUgbG9hZGVkIHdpdGggdGhlIHRlbXBsYXRlLi4uIiksIF8oIkVycm9yIiksIHd4SUNP Tl9FUlJPUik7CitAQCAtMzAzLDIxICsyOTksMTMgQEAKKyAgICAgeworICAgICAgICAgd3hTdHJp bmcgc3JjID0gKCppdCktPmZpbGUuR2V0RnVsbFBhdGgoKTsKKyAgICAgICAgIHd4U3RyaW5nIGRz dCA9IHRlbXBsICsgKCppdCktPnJlbGF0aXZlVG9Db21tb25Ub3BMZXZlbFBhdGg7CistICAgICAg ICAjaWYgd3hDSEVDS19WRVJTSU9OKDMsIDAsIDApCisgICAgICAgICBNYW5hZ2VyOjpHZXQoKS0+ R2V0TG9nTWFuYWdlcigpLT5EZWJ1Z0xvZyhGKF9UKCJDb3B5aW5nICVzIHRvICVzIiksIHNyYy53 eF9zdHIoKSwgZHN0Lnd4X3N0cigpKSk7CistICAgICAgICAjZWxzZQorLSAgICAgICAgTWFuYWdl cjo6R2V0KCktPkdldExvZ01hbmFnZXIoKS0+RGVidWdMb2coRihfVCgiQ29weWluZyAlcyB0byAl cyIpLCBzcmMuY19zdHIoKSwgZHN0LmNfc3RyKCkpKTsKKy0gICAgICAgICNlbmRpZgorICAgICAg ICAgaWYgKCFDcmVhdGVEaXJSZWN1cnNpdmVseShkc3QpKQorICAgICAgICAgICAgIE1hbmFnZXI6 OkdldCgpLT5HZXRMb2dNYW5hZ2VyKCktPkRlYnVnTG9nKF9UKCJGYWlsZWQgY3JlYXRpbmcgZGly ZWN0b3J5IGZvciAiKSArIGRzdCk7CisgICAgICAgICBpZiAod3hDb3B5RmlsZShzcmMsIGRzdCwg dHJ1ZSkpCisgICAgICAgICAgICAgKytjb3VudDsKKyAgICAgICAgIGVsc2UKKy0gICAgICAgICAg ICAjaWYgd3hDSEVDS19WRVJTSU9OKDMsIDAsIDApCisgICAgICAgICAgICAgTWFuYWdlcjo6R2V0 KCktPkdldExvZ01hbmFnZXIoKS0+RGVidWdMb2coRihfVCgiRmFpbGVkIGNvcHlpbmcgJXMgdG8g JXMiKSwgc3JjLnd4X3N0cigpLCBkc3Qud3hfc3RyKCkpKTsKKy0gICAgICAgICAgICAjZWxzZQor LSAgICAgICAgICAgIE1hbmFnZXI6OkdldCgpLT5HZXRMb2dNYW5hZ2VyKCktPkRlYnVnTG9nKEYo X1QoIkZhaWxlZCBjb3B5aW5nICVzIHRvICVzIiksIHNyYy5jX3N0cigpLCBkc3QuY19zdHIoKSkp OworLSAgICAgICAgICAgICNlbmRpZgorICAgICB9CisgCisgICAgIC8vIGNiUHJvamVjdCBkb2Vz bid0IGhhdmUgYSBHZXRSZWxhdGl2ZVRvQ29tbW9uVG9wTGV2ZWxQYXRoKCkgZnVuY3Rpb24sIHNv IHdlIHNpbXVsYXRlIGl0IGhlcmUKK0luZGV4OiBzcmMvc3JjL2Fzc29jaWF0aW9ucy5jcHAKKz09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KKy0tLSBhL3NyYy9zcmMvYXNzb2NpYXRpb25zLmNwcAkocmV2aXNpb24gMTI1Nzkp CisrKysgYi9zcmMvc3JjL2Fzc29jaWF0aW9ucy5jcHAJKHJldmlzaW9uIDEyNTgwKQorQEAgLTIw MSwxMSArMjAxLDcgQEAKKyAgICAgaWYgKGtleS5FeGlzdHMoKSkKKyAgICAgeworICAgICAgICAg d3hTdHJpbmcgczsKKy0gICAgICAgICNpZiB3eENIRUNLX1ZFUlNJT04oMywgMCwgMCkKKyAgICAg ICAgIGlmIChrZXkuUXVlcnlWYWx1ZSh3eEVtcHR5U3RyaW5nLCBzKSAmJiBzLlN0YXJ0c1dpdGgo X1QoIkNvZGVCbG9ja3MiKSkpCistICAgICAgICAjZWxzZQorLSAgICAgICAgaWYgKGtleS5RdWVy eVZhbHVlKE5VTEwsIHMpICYmIHMuU3RhcnRzV2l0aChfVCgiQ29kZUJsb2NrcyIpKSkKKy0gICAg ICAgICNlbmRpZgorICAgICAgICAgICAgIGtleS5EZWxldGVTZWxmKCk7CisgICAgIH0KKyAKK0lu ZGV4OiBzcmMvc3JjL2RsZ2Fib3V0LmNwcAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGEvc3JjL3NyYy9kbGdh Ym91dC5jcHAJKHJldmlzaW9uIDEyNTc5KQorKysrIGIvc3JjL3NyYy9kbGdhYm91dC5jcHAJKHJl dmlzaW9uIDEyNTgwKQorQEAgLTIwLDkgKzIwLDcgQEAKKyAgICAgI2luY2x1ZGUgPHd4L3N0cmlu Zy5oPgorICAgICAjaW5jbHVkZSA8d3gvdGV4dGN0cmwuaD4KKyAgICAgI2luY2x1ZGUgPHd4L3hy Yy94bWxyZXMuaD4KKy0gICAgI2lmIHd4Q0hFQ0tfVkVSU0lPTigzLCAwLCAwKQorLSAgICAgICAg I2luY2x1ZGUgPHd4L3ZlcnNpb25pbmZvLmg+CistICAgICNlbmRpZiAvLyB3eENIRUNLX1ZFUlNJ T04KKysgICAgI2luY2x1ZGUgPHd4L3ZlcnNpb25pbmZvLmg+CisgCisgICAgICNpbmNsdWRlICJs aWNlbnNlcy5oIgorICAgICAjaW5jbHVkZSAiY29uZmlnbWFuYWdlci5oIgorQEAgLTE0NiwxNSAr MTQ0LDExIEBACisgICAgIHd4VGV4dEN0cmwgKnR4dExpY2Vuc2UgPSBYUkNDVFJMKCp0aGlzLCAi dHh0TGljZW5zZSIsIHd4VGV4dEN0cmwpOworICAgICB0eHRMaWNlbnNlLT5TZXRWYWx1ZShMSUNF TlNFX0dQTCk7CisgCistI2lmIHd4Q0hFQ0tfVkVSU0lPTigzLCAwLCAwKQorICAgICBjb25zdCB3 eFZlcnNpb25JbmZvIHNjaW50aWxsYVZlcnNpb24gPSB3eFNjaW50aWxsYTo6R2V0TGlicmFyeVZl cnNpb25JbmZvKCk7CisgICAgIGNvbnN0IHd4U3RyaW5nIHNjaW50aWxsYVN0ciA9IHd4U3RyaW5n OjpGb3JtYXQod3hUKCIlZC4lZC4lZCIpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHNjaW50aWxsYVZlcnNpb24uR2V0TWFqb3IoKSwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY2ludGlsbGFW ZXJzaW9uLkdldE1pbm9yKCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgc2NpbnRpbGxhVmVyc2lvbi5HZXRNaWNybygpKTsKKy0jZWxzZQorLSAg ICBjb25zdCB3eFN0cmluZyBzY2ludGlsbGFTdHIgPSB3eFNDSU5USUxMQV9WRVJTSU9OOworLSNl bmRpZiAvLyB3eENIRUNLX1ZFUlNJT04KKyAKKyAgICAgc3RydWN0IEl0ZW0KKyAgICAgeworQEAg LTIxOCw5ICsyMTIsNyBAQAorICAgICAgICAgaW5mb3JtYXRpb24gKz0gd3hUKCI6ICIpICsgaXRl bS52YWx1ZSArIHd4VCgiXG4iKTsKKyAgICAgfQorIAorLSNpZiB3eENIRUNLX1ZFUlNJT04oMywg MCwgMCkKKyAgICAgaW5mb3JtYXRpb24gKz0gd3hUKCJcbiIpICsgd3hHZXRMaWJyYXJ5VmVyc2lv bkluZm8oKS5HZXREZXNjcmlwdGlvbigpOworLSNlbmRpZiAvLyB3eENIRUNLX1ZFUlNJT04oMywg MCwgMCkKKyAKKyAgICAgd3hUZXh0Q3RybCAqdHh0SW5mb3JtYXRpb24gPSBYUkNDVFJMKCp0aGlz LCAidHh0SW5mb3JtYXRpb24iLCB3eFRleHRDdHJsKTsKKyAgICAgdHh0SW5mb3JtYXRpb24tPlNl dFZhbHVlKGluZm9ybWF0aW9uKTsKK0luZGV4OiBzcmMvc3JjL21haW4uY3BwCis9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 CistLS0gYS9zcmMvc3JjL21haW4uY3BwCShyZXZpc2lvbiAxMjU3OSkKKysrKyBiL3NyYy9zcmMv bWFpbi5jcHAJKHJldmlzaW9uIDEyNTgwKQorQEAgLTIwNzUsMTEgKzIwNzUsNyBAQAorICAgICAg ICAgeworICAgICAgICAgICAgIGlmICghaXRlbXNbaV0tPklzQ2hlY2thYmxlKCkpCisgICAgICAg ICAgICAgICAgIGNvbnRpbnVlOworLSNpZiB3eENIRUNLX1ZFUlNJT04oMywgMCwgMCkKKyAgICAg ICAgICAgICBpdGVtc1tpXS0+Q2hlY2soaXRlbXNbaV0tPkdldEl0ZW1MYWJlbCgpLklzU2FtZUFz KG5hbWUpKTsKKy0jZWxzZQorLSAgICAgICAgICAgIGl0ZW1zW2ldLT5DaGVjayhpdGVtc1tpXS0+ R2V0VGV4dCgpLklzU2FtZUFzKG5hbWUpKTsKKy0jZW5kaWYKKyAgICAgICAgIH0KKyAKKyAgICAg ICAgIGlmICghbV9MYXN0TGF5b3V0SXNUZW1wKQorQEAgLTI0MDEsMTIgKzIzOTcsNyBAQAorICAg ICAgICAgICAgIGJyZWFrOworIAorICAgICAgICAgZGVmYXVsdDogLy8gZGVmYXVsdCBzdHlsZQor LSAgICAgICAgICAgICNpZiBkZWZpbmVkKF9fV1hHVEtfXykgJiYgKFVTRV9HVEtfTk9URUJPT0sp ICYmICF3eENIRUNLX1ZFUlNJT04oMywgMCwgMCkKKy0gICAgICAgICAgICB0YXJnZXQtPlNldEFy dFByb3ZpZGVyKG5ldyBOYlN0eWxlR1RLKCkpOworLSAgICAgICAgICAgICNlbHNlCisgICAgICAg ICAgICAgdGFyZ2V0LT5TZXRBcnRQcm92aWRlcihuZXcgd3hBdWlEZWZhdWx0VGFiQXJ0KCkpOwor LSAgICAgICAgICAgICNlbmRpZgorLSAgICAgICAgICAgIGJyZWFrOworICAgICB9CisgCisgICAg IHRhcmdldC0+U2V0VGFiQ3RybEhlaWdodCgtMSk7CitAQCAtNDgwMSwxMyArNDc5Miw5IEBACisg CisgICAgIGlmIChNYW5hZ2VyOjpHZXQoKS0+R2V0RWRpdG9yTWFuYWdlcigpICYmIGV2ZW50Lkdl dEVkaXRvcigpID09IE1hbmFnZXI6OkdldCgpLT5HZXRFZGl0b3JNYW5hZ2VyKCktPkdldEFjdGl2 ZUVkaXRvcigpKQorICAgICB7CistI2lmIHd4Q0hFQ0tfVkVSU0lPTigzLCAwLCAwKQorICAgICAg ICAgLy8gRXhlY3V0ZSB0aGUgY29kZSB0byB1cGRhdGUgdGhlIHN0YXR1cyBiYXIgb3V0c2lkZSBv ZiB0aGUgcGFpbnQgZXZlbnQgZm9yIHNjaW50aWxsYS4KKyAgICAgICAgIC8vIEV4ZWN1dGluZyB0 aGlzIGZ1bmN0aW9uIGRpcmVjdGx5IGluIHRoZSBldmVudCBoYW5kbGVyIGNhdXNlcyByZWRyYXcg cHJvYmxlbXMgb24gV2luZG93cy4KKyAgICAgICAgIENhbGxBZnRlcigmTWFpbkZyYW1lOjpEb1Vw ZGF0ZVN0YXR1c0Jhcik7CistI2Vsc2UKKy0gICAgICAgIERvVXBkYXRlU3RhdHVzQmFyKCk7Cist I2VuZGlmIC8vIGRlZmluZWQoX193eE1TV19fKSAmJiB3eENIRUNLX1ZFUlNJT04oMywgMCwgMCkK KyAgICAgfQorIAorICAgICBldmVudC5Ta2lwKCk7CitJbmRleDogc3JjL3NyYy9ub3RlYm9va3N0 eWxlcy5jcHAKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KKy0tLSBhL3NyYy9zcmMvbm90ZWJvb2tzdHlsZXMuY3BwCShy ZXZpc2lvbiAxMjU3OSkKKysrKyBiL3NyYy9zcmMvbm90ZWJvb2tzdHlsZXMuY3BwCShyZXZpc2lv biAxMjU4MCkKK0BAIC0xMywxNCArMTMsNiBAQAorICNpbmNsdWRlICJwcmVwLmgiCisgI2luY2x1 ZGUgIm5vdGVib29rc3R5bGVzLmgiCisgCistI2lmIGRlZmluZWQoX19XWEdUS19fKSAmJiAoVVNF X0dUS19OT1RFQk9PSykgJiYgIXd4Q0hFQ0tfVkVSU0lPTigzLCAwLCAwKQorLSAgICAjZGVmaW5l IEdTb2NrZXQgR0xpYlNvY2tldAorLSAgICAjaW5jbHVkZSA8Z3RrL2d0ay5oPgorLSAgICAjdW5k ZWYgR1NvY2tldAorLSAgICAjaW5jbHVkZSA8d3gvYXJ0cHJvdi5oPgorLSAgICAjaW5jbHVkZSA8 d3gvcmVuZGVyZXIuaD4KKy0jZW5kaWYKKy0KKyAjaW5jbHVkZSA8d3gvZGMuaD4KKyAjaW5jbHVk ZSA8d3gvZGNjbGllbnQuaD4KKyAKK0BAIC00MiwxNSArMzQsOSBAQAorIHsKKyAgICAgTmJTdHls ZVZDNzEqIGNsb25lID0gbmV3IE5iU3R5bGVWQzcxKCk7CisgCistI2lmIHd4Q0hFQ0tfVkVSU0lP TigzLCAwLCAwKQorICAgICBjbG9uZS0+U2V0Tm9ybWFsRm9udChtX25vcm1hbEZvbnQpOworICAg ICBjbG9uZS0+U2V0U2VsZWN0ZWRGb250KG1fc2VsZWN0ZWRGb250KTsKKyAgICAgY2xvbmUtPlNl dE1lYXN1cmluZ0ZvbnQobV9tZWFzdXJpbmdGb250KTsKKy0jZWxzZQorLSAgICBjbG9uZS0+U2V0 Tm9ybWFsRm9udChtX25vcm1hbF9mb250KTsKKy0gICAgY2xvbmUtPlNldFNlbGVjdGVkRm9udCht X3NlbGVjdGVkX2ZvbnQpOworLSAgICBjbG9uZS0+U2V0TWVhc3VyaW5nRm9udChtX21lYXN1cmlu Z19mb250KTsKKy0jZW5kaWYKKyAKKyAgICAgcmV0dXJuIGNsb25lOworIH0KK0BAIC03NSwxMSAr NjEsNyBAQAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsb3NlX2J1dHRvbl9z dGF0ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4X2V4dGVudCk7CisgCist I2lmIHd4Q0hFQ0tfVkVSU0lPTigzLCAwLCAwKQorICAgICB3eENvb3JkIHRhYl9oZWlnaHQgPSBt X3RhYkN0cmxIZWlnaHQgLSAzOworLSNlbHNlCistICAgIHd4Q29vcmQgdGFiX2hlaWdodCA9IG1f dGFiX2N0cmxfaGVpZ2h0IC0gMzsKKy0jZW5kaWYKKyAgICAgd3hDb29yZCB0YWJfd2lkdGggPSB0 YWJfc2l6ZS54OworICAgICB3eENvb3JkIHRhYl94ID0gaW5fcmVjdC54OworICAgICB3eENvb3Jk IHRhYl95ID0gaW5fcmVjdC55ICsgaW5fcmVjdC5oZWlnaHQgLSB0YWJfaGVpZ2h0OworQEAgLTE2 NiwxNyArMTQ4LDEwIEBACisgICAgIHd4Q29vcmQgdGV4dHg7CisgICAgIHd4Q29vcmQgdGV4dHk7 CisgICAgIGlmIChwYWdlLmFjdGl2ZSkKKy0jaWYgd3hDSEVDS19WRVJTSU9OKDMsIDAsIDApCisg ICAgICAgICBkYy5TZXRGb250KG1fc2VsZWN0ZWRGb250KTsKKy0jZWxzZQorLSAgICAgICAgZGMu U2V0Rm9udChtX3NlbGVjdGVkX2ZvbnQpOworLSNlbmRpZgorICAgICBlbHNlCistI2lmIHd4Q0hF Q0tfVkVSU0lPTigzLCAwLCAwKQorICAgICAgICAgZGMuU2V0Rm9udChtX25vcm1hbEZvbnQpOwor LSNlbHNlCistICAgICAgICBkYy5TZXRGb250KG1fbm9ybWFsX2ZvbnQpOworLSNlbmRpZgorKwor ICAgICBkYy5HZXRUZXh0RXh0ZW50KGNhcHRpb24sICZ0ZXh0eCwgJnRleHR5KTsKKyAgICAgLy8g ZHJhdyB0YWIgdGV4dAorICAgICBkYy5TZXRUZXh0Rm9yZWdyb3VuZCh3eFN5c3RlbVNldHRpbmdz OjpHZXRDb2xvdXIod3hTWVNfQ09MT1VSX0JUTlRFWFQpKTsKK0BAIC0xODYsMjEgKzE2MSwxMiBA QAorICAgICAvLyBkcmF3ICd4JyBvbiB0YWIgKGlmIGVuYWJsZWQpCisgICAgIGlmIChjbG9zZV9i dXR0b25fc3RhdGUgIT0gd3hBVUlfQlVUVE9OX1NUQVRFX0hJRERFTikKKyAgICAgeworLSNpZiB3 eENIRUNLX1ZFUlNJT04oMywgMCwgMCkKKyAgICAgICAgIGludCBjbG9zZV9idXR0b25fd2lkdGgg PSBtX2FjdGl2ZUNsb3NlQm1wLkdldFdpZHRoKCk7CisgICAgICAgICB3eEJpdG1hcCBibXAgPSBt X2Rpc2FibGVkQ2xvc2VCbXA7CistI2Vsc2UKKy0gICAgICAgIGludCBjbG9zZV9idXR0b25fd2lk dGggPSBtX2FjdGl2ZV9jbG9zZV9ibXAuR2V0V2lkdGgoKTsKKy0gICAgICAgIHd4Qml0bWFwIGJt cCA9IG1fZGlzYWJsZWRfY2xvc2VfYm1wOworLSNlbmRpZgorIAorICAgICAgICAgaWYgKChjbG9z ZV9idXR0b25fc3RhdGUgPT0gd3hBVUlfQlVUVE9OX1NUQVRFX0hPVkVSKSB8fAorICAgICAgICAg ICAgICAgICAgICAgKGNsb3NlX2J1dHRvbl9zdGF0ZSA9PSB3eEFVSV9CVVRUT05fU1RBVEVfUFJF U1NFRCkpCistI2lmIHd4Q0hFQ0tfVkVSU0lPTigzLCAwLCAwKQorICAgICAgICAgICAgIGJtcCA9 IG1fYWN0aXZlQ2xvc2VCbXA7CistI2Vsc2UKKy0gICAgICAgICAgICBibXAgPSBtX2FjdGl2ZV9j bG9zZV9ibXA7CistI2VuZGlmCisgCisgICAgICAgICB3eFJlY3QgcmVjdCh0YWJfeCArIHRhYl93 aWR0aCAtIGNsb3NlX2J1dHRvbl93aWR0aCAtIDMsCisgICAgICAgICAgICAgICAgICAgICBkcmF3 bl90YWJfeW9mZiArIChkcmF3bl90YWJfaGVpZ2h0IC8gMikgLSAoYm1wLkdldEhlaWdodCgpIC8g MiksCitAQCAtMjI3LDExICsxOTMsNyBAQAorIC8vICAgIG1fcmVxdWVzdGVkX3RhYmN0cmxfaGVp Z2h0ID0gLTE7CisgLy8gICAgbV90YWJfY3RybF9oZWlnaHQgPSAtMTsKKyAgICAgd3hDbGllbnRE QyBkYyh3bmQpOworLSNpZiB3eENIRUNLX1ZFUlNJT04oMywgMCwgMCkKKyAgICAgZGMuU2V0Rm9u dChtX21lYXN1cmluZ0ZvbnQpOworLSNlbHNlCistICAgIGRjLlNldEZvbnQobV9tZWFzdXJpbmdf Zm9udCk7CistI2VuZGlmCisgICAgIGludCB4X2V4dCA9IDA7CisgICAgIHd4U2l6ZSBzID0gR2V0 VGFiU2l6ZShkYywgd25kLCB3eFQoIkFCQ0RFRkdISWoiKSwgd3hOdWxsQml0bWFwLCB0cnVlLAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3eEFVSV9CVVRUT05fU1RBVEVfSElEREVOLCAm eF9leHQpOworQEAgLTI0NiwxNSArMjA4LDkgQEAKKyB7CisgICAgIE5iU3R5bGVGRjIqIGNsb25l ID0gbmV3IE5iU3R5bGVGRjIoKTsKKyAKKy0jaWYgd3hDSEVDS19WRVJTSU9OKDMsIDAsIDApCisg ICAgIGNsb25lLT5TZXROb3JtYWxGb250KG1fbm9ybWFsRm9udCk7CisgICAgIGNsb25lLT5TZXRT ZWxlY3RlZEZvbnQobV9zZWxlY3RlZEZvbnQpOworICAgICBjbG9uZS0+U2V0TWVhc3VyaW5nRm9u dChtX21lYXN1cmluZ0ZvbnQpOworLSNlbHNlCistICAgIGNsb25lLT5TZXROb3JtYWxGb250KG1f bm9ybWFsX2ZvbnQpOworLSAgICBjbG9uZS0+U2V0U2VsZWN0ZWRGb250KG1fc2VsZWN0ZWRfZm9u dCk7CistICAgIGNsb25lLT5TZXRNZWFzdXJpbmdGb250KG1fbWVhc3VyaW5nX2ZvbnQpOworLSNl bmRpZgorIAorICAgICByZXR1cm4gY2xvbmU7CisgfQorQEAgLTI3MiwxMSArMjI4LDcgQEAKKyAg ICAgd3hTaXplIHRhYl9zaXplID0gR2V0VGFiU2l6ZShkYywgd25kLCBwYWdlLmNhcHRpb24sIHBh Z2UuYml0bWFwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZ2UuYWN0 aXZlLCBjbG9zZV9idXR0b25fc3RhdGUsIHhfZXh0ZW50KTsKKyAKKy0jaWYgd3hDSEVDS19WRVJT SU9OKDMsIDAsIDApCisgICAgIHd4Q29vcmQgdGFiX2hlaWdodCA9IG1fdGFiQ3RybEhlaWdodCAt IDI7CistI2Vsc2UKKy0gICAgd3hDb29yZCB0YWJfaGVpZ2h0ID0gbV90YWJfY3RybF9oZWlnaHQg LSAyOworLSNlbmRpZgorICAgICB3eENvb3JkIHRhYl93aWR0aCA9IHRhYl9zaXplLng7CisgICAg IHd4Q29vcmQgdGFiX3ggPSBpbl9yZWN0Lng7CisgICAgIHd4Q29vcmQgdGFiX3kgPSBpbl9yZWN0 LnkgKyBpbl9yZWN0LmhlaWdodCAtIHRhYl9oZWlnaHQ7CitAQCAtMzYwLDE3ICszMTIsMTAgQEAK KyAgICAgd3hDb29yZCB0ZXh0eDsKKyAgICAgd3hDb29yZCB0ZXh0eTsKKyAgICAgaWYgKHBhZ2Uu YWN0aXZlKQorLSNpZiB3eENIRUNLX1ZFUlNJT04oMywgMCwgMCkKKyAgICAgICAgIGRjLlNldEZv bnQobV9zZWxlY3RlZEZvbnQpOworLSNlbHNlCistICAgICAgICBkYy5TZXRGb250KG1fc2VsZWN0 ZWRfZm9udCk7CistI2VuZGlmCisgICAgIGVsc2UKKy0jaWYgd3hDSEVDS19WRVJTSU9OKDMsIDAs IDApCisgICAgICAgICBkYy5TZXRGb250KG1fbm9ybWFsRm9udCk7CistI2Vsc2UKKy0gICAgICAg IGRjLlNldEZvbnQobV9ub3JtYWxfZm9udCk7CistI2VuZGlmCisrCisgICAgIGRjLkdldFRleHRF eHRlbnQoY2FwdGlvbiwgJnRleHR4LCAmdGV4dHkpOworICAgICAvLyBkcmF3IHRhYiB0ZXh0Cisg ICAgIGRjLlNldFRleHRGb3JlZ3JvdW5kKHd4U3lzdGVtU2V0dGluZ3M6OkdldENvbG91cih3eFNZ U19DT0xPVVJfQlROVEVYVCkpOworQEAgLTM4MCwyMSArMzI1LDEyIEBACisgICAgIC8vIGRyYXcg J3gnIG9uIHRhYiAoaWYgZW5hYmxlZCkKKyAgICAgaWYgKGNsb3NlX2J1dHRvbl9zdGF0ZSAhPSB3 eEFVSV9CVVRUT05fU1RBVEVfSElEREVOKQorICAgICB7CistI2lmIHd4Q0hFQ0tfVkVSU0lPTigz LCAwLCAwKQorICAgICAgICAgaW50IGNsb3NlX2J1dHRvbl93aWR0aCA9IG1fYWN0aXZlQ2xvc2VC bXAuR2V0V2lkdGgoKTsKKyAgICAgICAgIHd4Qml0bWFwIGJtcCA9IG1fZGlzYWJsZWRDbG9zZUJt cDsKKy0jZWxzZQorLSAgICAgICAgaW50IGNsb3NlX2J1dHRvbl93aWR0aCA9IG1fYWN0aXZlX2Ns b3NlX2JtcC5HZXRXaWR0aCgpOworLSAgICAgICAgd3hCaXRtYXAgYm1wID0gbV9kaXNhYmxlZF9j bG9zZV9ibXA7CistI2VuZGlmCisgCisgICAgICAgICBpZiAoKGNsb3NlX2J1dHRvbl9zdGF0ZSA9 PSB3eEFVSV9CVVRUT05fU1RBVEVfSE9WRVIpIHx8CisgICAgICAgICAgICAgICAgICAgICAoY2xv c2VfYnV0dG9uX3N0YXRlID09IHd4QVVJX0JVVFRPTl9TVEFURV9QUkVTU0VEKSkKKy0jaWYgd3hD SEVDS19WRVJTSU9OKDMsIDAsIDApCisgICAgICAgICAgICAgYm1wID0gbV9hY3RpdmVDbG9zZUJt cDsKKy0jZWxzZQorLSAgICAgICAgICAgIGJtcCA9IG1fYWN0aXZlX2Nsb3NlX2JtcDsKKy0jZW5k aWYKKyAKKyAgICAgICAgIHd4UmVjdCByZWN0KHRhYl94ICsgdGFiX3dpZHRoIC0gY2xvc2VfYnV0 dG9uX3dpZHRoIC0gMywKKyAgICAgICAgICAgICAgICAgICAgIGRyYXduX3RhYl95b2ZmICsgKGRy YXduX3RhYl9oZWlnaHQgLyAyKSAtIChibXAuR2V0SGVpZ2h0KCkgLyAyKSwKK0BAIC00MjEsNTMz ICszNTcsOSBAQAorIC8vICAgIG1fcmVxdWVzdGVkX3RhYmN0cmxfaGVpZ2h0ID0gLTE7CisgLy8g ICAgbV90YWJfY3RybF9oZWlnaHQgPSAtMTsKKyAgICAgd3hDbGllbnREQyBkYyh3bmQpOworLSNp ZiB3eENIRUNLX1ZFUlNJT04oMywgMCwgMCkKKyAgICAgZGMuU2V0Rm9udChtX21lYXN1cmluZ0Zv bnQpOworLSNlbHNlCistICAgIGRjLlNldEZvbnQobV9tZWFzdXJpbmdfZm9udCk7CistI2VuZGlm CisgICAgIGludCB4X2V4dCA9IDA7CisgICAgIHd4U2l6ZSBzID0gR2V0VGFiU2l6ZShkYywgd25k LCB3eFQoIkFCQ0RFRkdISWoiKSwgd3hOdWxsQml0bWFwLCB0cnVlLAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB3eEFVSV9CVVRUT05fU1RBVEVfSElEREVOLCAmeF9leHQpOworICAgICBy ZXR1cm4gcy55ICsgNjsKKyB9CistCistI2lmIGRlZmluZWQoX19XWEdUS19fKSAmJiAoVVNFX0dU S19OT1RFQk9PSykgJiYgIXd4Q0hFQ0tfVkVSU0lPTigzLCAwLCAwKQorLQorLW5hbWVzcGFjZQor LXsKKy0KKy1zdGF0aWMgR3RrV2lkZ2V0ICpnX3dpbmRvdyA9IG51bGxwdHI7Cistc3RhdGljIEd0 a1dpZGdldCAqZ19jb250YWluZXIgPSBudWxscHRyOworLXN0YXRpYyBHdGtXaWRnZXQgKmdfbm90 ZWJvb2sgPSBudWxscHRyOworLXN0YXRpYyBHdGtXaWRnZXQgKmdfYnV0dG9uID0gbnVsbHB0cjsK Ky1zdGF0aWMgaW50IHNfQ2xvc2VJY29uU2l6ZSA9IDE2OyAvLyBkZWZhdWx0IHNpemUKKy0KKy1z dGF0aWMgdm9pZCBzZXR1cF93aWRnZXRfcHJvdG90eXBlKEd0a1dpZGdldCogd2lkZ2V0KQorLXsK Ky0gICAgaWYgKCFnX3dpbmRvdykKKy0gICAgeworLSAgICAgICAgZ193aW5kb3cgPSBndGtfd2lu ZG93X25ldyhHVEtfV0lORE9XX1BPUFVQKTsKKy0gICAgICAgIGd0a193aWRnZXRfcmVhbGl6ZShn X3dpbmRvdyk7CistICAgIH0KKy0gICAgaWYgKCFnX2NvbnRhaW5lcikKKy0gICAgeworLSAgICAg ICAgZ19jb250YWluZXIgPSBndGtfZml4ZWRfbmV3KCk7CistICAgICAgICBndGtfY29udGFpbmVy X2FkZChHVEtfQ09OVEFJTkVSKGdfd2luZG93KSwgZ19jb250YWluZXIpOworLSAgICB9CistCist ICAgIGd0a19jb250YWluZXJfYWRkKEdUS19DT05UQUlORVIoZ19jb250YWluZXIpLCB3aWRnZXQp OworLSAgICBndGtfd2lkZ2V0X3JlYWxpemUod2lkZ2V0KTsKKy19CistCistc3RhdGljIEd0a1N0 eWxlICogZ2V0X3N0eWxlX2J1dHRvbigpCisteworLSAgICBpZiAoIWdfYnV0dG9uKQorLSAgICB7 CistICAgICAgICBnX2J1dHRvbiA9IGd0a19idXR0b25fbmV3KCk7CistICAgICAgICBzZXR1cF93 aWRnZXRfcHJvdG90eXBlKGdfYnV0dG9uKTsKKy0gICAgfQorLSAgICByZXR1cm4gZ3RrX3dpZGdl dF9nZXRfc3R5bGUoZ19idXR0b24pOworLX0KKy0KKy1zdGF0aWMgR3RrU3R5bGUgKiBnZXRfc3R5 bGVfbm90ZWJvb2soKQorLXsKKy0gICAgaWYgKCFnX25vdGVib29rKQorLSAgICB7CistICAgICAg ICBnX25vdGVib29rID0gZ3RrX25vdGVib29rX25ldygpOworLSAgICAgICAgc2V0dXBfd2lkZ2V0 X3Byb3RvdHlwZShnX25vdGVib29rKTsKKy0gICAgfQorLSAgICByZXR1cm4gZ3RrX3dpZGdldF9n ZXRfc3R5bGUoZ19ub3RlYm9vayk7CistfQorLQorLX0KKy0KKy1OYlN0eWxlR1RLOjpOYlN0eWxl R1RLKCk6CistICAgIG1fWHRoaWNrbmVzcygwKSwKKy0gICAgbV9ZdGhpY2tuZXNzKDApLAorLSAg ICBtX1RhYkhCb3JkZXIoMCksCistICAgIG1fVGFiVkJvcmRlcigwKQorLQorLXsKKy19CistCist d3hBdWlUYWJBcnQqIE5iU3R5bGVHVEs6OkNsb25lKCkKKy17CistICAgIE5iU3R5bGVHVEsqIGNs b25lID0gbmV3IE5iU3R5bGVHVEsoKTsKKy0KKy0jaWYgd3hDSEVDS19WRVJTSU9OKDMsIDAsIDAp CistICAgIGNsb25lLT5TZXROb3JtYWxGb250KG1fbm9ybWFsRm9udCk7CistICAgIGNsb25lLT5T ZXRTZWxlY3RlZEZvbnQobV9ub3JtYWxGb250KTsKKy0gICAgY2xvbmUtPlNldE1lYXN1cmluZ0Zv bnQobV9ub3JtYWxGb250KTsKKy0jZWxzZQorLSAgICBjbG9uZS0+U2V0Tm9ybWFsRm9udChtX25v cm1hbF9mb250KTsKKy0gICAgY2xvbmUtPlNldFNlbGVjdGVkRm9udChtX25vcm1hbF9mb250KTsK Ky0gICAgY2xvbmUtPlNldE1lYXN1cmluZ0ZvbnQobV9ub3JtYWxfZm9udCk7CistI2VuZGlmCist CistICAgIHJldHVybiBjbG9uZTsKKy19CistCistdm9pZCBOYlN0eWxlR1RLOjpEcmF3QmFja2dy b3VuZCh3eERDJiBkYywgd3hXaW5kb3cqIHduZCwgY29uc3Qgd3hSZWN0JiByZWN0KQorLXsKKy0g ICAgR3RrU3R5bGUqIHN0eWxlX25vdGVib29rID0gZ2V0X3N0eWxlX25vdGVib29rKCk7CistICAg IEd0a05vdGVib29rKiBub3RlYm9vayA9IEdUS19OT1RFQk9PSyAoZ19ub3RlYm9vayk7CistCist ICAgIC8vIGlmIG9uZSBvZiB0aGUgcGFyYW1ldGVycyBoYXZlIGNoYW5nZWQsIHRoZSBoZWlnaHQg bmVlZHMgdG8gYmUgcmVjYWxjdWxhdGVkLCBzbyB3ZSBmb3JjZSBpdCwKKy0gICAgaWYobV9YdGhp Y2tuZXNzICAhPSBzdHlsZV9ub3RlYm9vay0+eHRoaWNrbmVzcyB8fAorLSAgICAgICBtX1l0aGlj a25lc3MgICE9IHN0eWxlX25vdGVib29rLT55dGhpY2tuZXNzIHx8CistICAgICAgIG1fVGFiVkJv cmRlciAhPSBub3RlYm9vay0+dGFiX3Zib3JkZXIgfHwKKy0gICAgICAgbV9UYWJIQm9yZGVyICE9 IG5vdGVib29rLT50YWJfaGJvcmRlcikKKy0gICAgeworLSAgICAgICAgbV9YdGhpY2tuZXNzICA9 IHN0eWxlX25vdGVib29rLT54dGhpY2tuZXNzOworLSAgICAgICAgbV9ZdGhpY2tuZXNzICA9IHN0 eWxlX25vdGVib29rLT55dGhpY2tuZXNzOworLSAgICAgICAgbV9UYWJWQm9yZGVyID0gbm90ZWJv b2stPnRhYl92Ym9yZGVyOworLSAgICAgICAgbV9UYWJIQm9yZGVyID0gbm90ZWJvb2stPnRhYl9o Ym9yZGVyOworLSAgICAgICAgd3hBdWlOb3RlYm9vayogbmIgPSBudWxscHRyOworLSAgICAgICAg aWYod25kKQorLSAgICAgICAgICAgICBuYiA9IChjYkF1aU5vdGVib29rKil3bmQtPkdldFBhcmVu dCgpOworLSAgICAgICAgaWYobmIpCistICAgICAgICAgICAgbmItPlNldFRhYkN0cmxIZWlnaHQo LTEpOworLSAgICB9CistI2lmIHd4Q0hFQ0tfVkVSU0lPTigzLCAwLCAwKQorLSAgICB3eEdUS0RD SW1wbCAqaW1wbGRjID0gKHd4R1RLRENJbXBsKikgZGMuR2V0SW1wbCgpOworLSAgICBHZGtXaW5k b3cqIHBXaW4gPSBpbXBsZGMtPkdldEdES1dpbmRvdygpOworLSNlbHNlCistICAgIEdka1dpbmRv dyogcFdpbiA9IGRjLkdldEdES1dpbmRvdygpOworLSNlbmRpZgorLSAgICBndGtfc3R5bGVfYXBw bHlfZGVmYXVsdF9iYWNrZ3JvdW5kKHN0eWxlX25vdGVib29rLCBwV2luLCAxLCBHVEtfU1RBVEVf Tk9STUFMLCBudWxscHRyLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHJlY3QueCwgcmVjdC55LCByZWN0LndpZHRoLCByZWN0LmhlaWdodCk7CistfQorLQorLXZvaWQg QnV0dG9uU3RhdGVBbmRTaGFkb3coaW50IGJ1dHRvbl9zdGF0ZSwgR3RrU3RhdGVUeXBlICZzdGF0 ZSwgR3RrU2hhZG93VHlwZSAmc2hhZG93KQorLXsKKy0KKy0gICAgaWYgKGJ1dHRvbl9zdGF0ZSAm IHd4QVVJX0JVVFRPTl9TVEFURV9ESVNBQkxFRCkKKy0gICAgeworLSAgICAgICAgc3RhdGUgPSBH VEtfU1RBVEVfSU5TRU5TSVRJVkU7CistICAgICAgICBzaGFkb3cgPSBHVEtfU0hBRE9XX0VUQ0hF RF9JTjsKKy0gICAgfQorLSAgICBlbHNlIGlmIChidXR0b25fc3RhdGUgJiB3eEFVSV9CVVRUT05f U1RBVEVfSE9WRVIpCistICAgIHsKKy0gICAgICAgIHN0YXRlID0gR1RLX1NUQVRFX1BSRUxJR0hU OworLSAgICAgICAgc2hhZG93ID0gR1RLX1NIQURPV19PVVQ7CistICAgIH0KKy0gICAgZWxzZSBp ZiAoYnV0dG9uX3N0YXRlICYgd3hBVUlfQlVUVE9OX1NUQVRFX1BSRVNTRUQpCistICAgIHsKKy0g ICAgICAgIHN0YXRlID0gR1RLX1NUQVRFX0FDVElWRTsKKy0gICAgICAgIHNoYWRvdyA9IEdUS19T SEFET1dfSU47CistICAgIH0KKy0gICAgZWxzZQorLSAgICB7CistICAgICAgICBzdGF0ZSA9IEdU S19TVEFURV9OT1JNQUw7CistICAgICAgICBzaGFkb3cgPSBHVEtfU0hBRE9XX09VVDsKKy0gICAg fQorLX0KKy0KKy13eFJlY3QgRHJhd0Nsb3NlQnV0dG9uKHd4REMmIGRjLAorLSAgICAgICAgICAg ICAgICAgICAgICAgR3RrV2lkZ2V0ICp3aWRnZXQsCistICAgICAgICAgICAgICAgICAgICAgICBp bnQgYnV0dG9uX3N0YXRlLAorLSAgICAgICAgICAgICAgICAgICAgICAgd3hSZWN0IGNvbnN0ICZp bl9yZWN0LAorLSAgICAgICAgICAgICAgICAgICAgICAgaW50IG9yaWVudGF0aW9uLAorLSAgICAg ICAgICAgICAgICAgICAgICAgR2RrUmVjdGFuZ2xlKiBjbGlwUmVjdCkKKy17CistICAgIEd0a1N0 eWxlICpzdHlsZV9idXR0b24gPSBnZXRfc3R5bGVfYnV0dG9uKCk7CistICAgIGludCB4dGhpY2tu ZXNzID0gc3R5bGVfYnV0dG9uLT54dGhpY2tuZXNzOworLSAgICBpbnQgeXRoaWNrbmVzcyA9IHN0 eWxlX2J1dHRvbi0+eXRoaWNrbmVzczsKKy0KKy0gICAgd3hCaXRtYXAgYm1wOworLSAgICBibXAu U2V0UGl4YnVmKGd0a193aWRnZXRfcmVuZGVyX2ljb24od2lkZ2V0LCBHVEtfU1RPQ0tfQ0xPU0Us IEdUS19JQ09OX1NJWkVfU01BTExfVE9PTEJBUiwgInRhYiIpKTsKKy0KKy0gICAgaWYoYm1wLkdl dFdpZHRoKCkgIT0gc19DbG9zZUljb25TaXplIHx8IGJtcC5HZXRIZWlnaHQoKSAhPSBzX0Nsb3Nl SWNvblNpemUpCistICAgIHsKKy0gICAgICAgIHd4SW1hZ2UgaW1nID0gYm1wLkNvbnZlcnRUb0lt YWdlKCk7CistICAgICAgICBpbWcuUmVzY2FsZShzX0Nsb3NlSWNvblNpemUsIHNfQ2xvc2VJY29u U2l6ZSk7CistICAgICAgICBibXAgPSBpbWc7CistICAgIH0KKy0KKy0gICAgaW50IGJ1dHRvbl9z aXplID0gc19DbG9zZUljb25TaXplICsgMiAqIHh0aGlja25lc3M7CistCistICAgIHd4UmVjdCBv dXRfcmVjdDsKKy0KKy0gICAgaWYgKG9yaWVudGF0aW9uID09IHd4TEVGVCkKKy0gICAgICAgIG91 dF9yZWN0LnggPSBpbl9yZWN0LnggLSB5dGhpY2tuZXNzOworLSAgICBlbHNlCistICAgICAgICBv dXRfcmVjdC54ID0gaW5fcmVjdC54ICsgaW5fcmVjdC53aWR0aCAtIGJ1dHRvbl9zaXplIC0geXRo aWNrbmVzczsKKy0KKy0gICAgb3V0X3JlY3QueSA9IGluX3JlY3QueSArIChpbl9yZWN0LmhlaWdo dCAtIGJ1dHRvbl9zaXplKSAvIDI7CistICAgIG91dF9yZWN0LndpZHRoID0gYnV0dG9uX3NpemU7 CistICAgIG91dF9yZWN0LmhlaWdodCA9IGJ1dHRvbl9zaXplOworLQorLSNpZiB3eENIRUNLX1ZF UlNJT04oMywgMCwgMCkKKy0gICAgd3hHVEtEQ0ltcGwgKmltcGxkYyA9ICh3eEdUS0RDSW1wbCop IGRjLkdldEltcGwoKTsKKy0gICAgR2RrV2luZG93KiBwV2luID0gaW1wbGRjLT5HZXRHREtXaW5k b3coKTsKKy0jZWxzZQorLSAgICBHZGtXaW5kb3cqIHBXaW4gPSBkYy5HZXRHREtXaW5kb3coKTsK Ky0jZW5kaWYKKy0KKy0gICAgaWYgKGJ1dHRvbl9zdGF0ZSA9PSB3eEFVSV9CVVRUT05fU1RBVEVf SE9WRVIpCistICAgIHsKKy0gICAgICAgIGd0a19wYWludF9ib3goc3R5bGVfYnV0dG9uLCBwV2lu LAorLSAgICAgICAgICAgICAgICAgICAgICBHVEtfU1RBVEVfUFJFTElHSFQsIEdUS19TSEFET1df T1VULCBjbGlwUmVjdCwgd2lkZ2V0LCAiYnV0dG9uIiwKKy0gICAgICAgICAgICAgICAgICAgICAg b3V0X3JlY3QueCwgb3V0X3JlY3QueSwgb3V0X3JlY3Qud2lkdGgsIG91dF9yZWN0LmhlaWdodCk7 CistICAgIH0KKy0gICAgZWxzZSBpZiAoYnV0dG9uX3N0YXRlID09IHd4QVVJX0JVVFRPTl9TVEFU RV9QUkVTU0VEKQorLSAgICB7CistICAgICAgICBndGtfcGFpbnRfYm94KHN0eWxlX2J1dHRvbiwg cFdpbiwKKy0gICAgICAgICAgICAgICAgICAgICAgR1RLX1NUQVRFX0FDVElWRSwgR1RLX1NIQURP V19JTiwgY2xpcFJlY3QsIHdpZGdldCwgImJ1dHRvbiIsCistICAgICAgICAgICAgICAgICAgICAg IG91dF9yZWN0LngsIG91dF9yZWN0LnksIG91dF9yZWN0LndpZHRoLCBvdXRfcmVjdC5oZWlnaHQp OworLSAgICB9CistCistCistICAgIGRjLkRyYXdCaXRtYXAoYm1wLCBvdXRfcmVjdC54ICsgeHRo aWNrbmVzcywgb3V0X3JlY3QueSArIHl0aGlja25lc3MsIHRydWUpOworLQorLSAgICByZXR1cm4g b3V0X3JlY3Q7CistfQorLQorLXZvaWQgTmJTdHlsZUdUSzo6RHJhd1RhYih3eERDJiBkYywgd3hX aW5kb3cqIHduZCwgY29uc3Qgd3hBdWlOb3RlYm9va1BhZ2UmIHBhZ2UsCistICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBjb25zdCB3eFJlY3QmIGluX3JlY3QsIGludCBjbG9zZV9idXR0b25f c3RhdGUsIHd4UmVjdCogb3V0X3RhYl9yZWN0LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgd3hSZWN0KiBvdXRfYnV0dG9uX3JlY3QsIGludCogeF9leHRlbnQpCisteworLSAgICBHdGtX aWRnZXQgKndpZGdldCA9IHduZC0+R2V0SGFuZGxlKCk7CistICAgIEd0a1N0eWxlICpzdHlsZV9u b3RlYm9vayA9IGdldF9zdHlsZV9ub3RlYm9vaygpOworLQorLSAgICB3eFJlY3QgY29uc3QgJndp bmRvd19yZWN0ID0gd25kLT5HZXRSZWN0KCk7CistCistICAgIGludCBmb2N1c193aWR0aCA9IDA7 CistCistICAgIGd0a193aWRnZXRfc3R5bGVfZ2V0KGdfbm90ZWJvb2ssCistICAgICAgICAgICAg ICAgICAgICAgICAgICJmb2N1cy1saW5lLXdpZHRoIiwgJmZvY3VzX3dpZHRoLAorLSAgICAgICAg ICAgICAgICAgICAgICAgICBOVUxMKTsKKy0KKy0gICAgaW50IHRhYl9wb3M7CistICAgIGlmICht X2ZsYWdzICZ3eEFVSV9OQl9CT1RUT00pCistICAgICAgICB0YWJfcG9zID0gd3hBVUlfTkJfQk9U VE9NOworLSAgICBlbHNlIC8vaWYgKG1fZmxhZ3MgJiB3eEFVSV9OQl9UT1ApIHt9CistICAgICAg ICB0YWJfcG9zID0gd3hBVUlfTkJfVE9QOworLQorLSAgICAvLyBUT0RPOiBlbHNlIGlmIChtX2Zs YWdzICZ3eEFVSV9OQl9MRUZUKSB7fQorLSAgICAvLyBUT0RPOiBlbHNlIGlmIChtX2ZsYWdzICZ3 eEFVSV9OQl9SSUdIVCkge30KKy0KKy0gICAgLy8gZmlndXJlIG91dCB0aGUgc2l6ZSBvZiB0aGUg dGFiCistICAgIHd4U2l6ZSB0YWJfc2l6ZSA9IEdldFRhYlNpemUoZGMsIHduZCwgcGFnZS5jYXB0 aW9uLCBwYWdlLmJpdG1hcCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBw YWdlLmFjdGl2ZSwgY2xvc2VfYnV0dG9uX3N0YXRlLCB4X2V4dGVudCk7CistCistICAgIHd4UmVj dCB0YWJfcmVjdCA9IGluX3JlY3Q7CistICAgIHRhYl9yZWN0LndpZHRoID0gdGFiX3NpemUueDsK Ky0gICAgdGFiX3JlY3QuaGVpZ2h0ID0gdGFiX3NpemUueTsKKy0gICAgdGFiX3JlY3QueSArPSAy ICogbV9UYWJIQm9yZGVyOworLQorLSAgICBpZiAocGFnZS5hY3RpdmUpCistICAgICAgICB0YWJf cmVjdC5oZWlnaHQgKz0gMiAqIG1fVGFiSEJvcmRlcjsKKy0jaWYgd3hDSEVDS19WRVJTSU9OKDMs IDAsIDApCistICAgIC8vIGlmIG5vIGJpdG1hcCBpcyBzZXQsIHdlIG5lZWQgYSB0aW55IGNvcnJl Y3Rpb24KKy0gICAgaWYgKCEgcGFnZS5iaXRtYXAuSXNPaygpKQorLSAgICAgICAgdGFiX3JlY3Qu aGVpZ2h0ICs9IDE7CistI2VuZGlmCistCistICAgIGludCBnYXBfcmVjdF9oZWlnaHQgPSA2ICog bV9UYWJIQm9yZGVyOworLSAgICBpbnQgZ2FwX3JlY3RfeCA9IDEsIGdhcF9zdGFydCA9IDAsIGdh cF93aWR0aCA9IDA7CistICAgIGludCBnYXBfcmVjdF95ID0gdGFiX3JlY3QueSAtIGdhcF9yZWN0 X2hlaWdodDsKKy0gICAgaW50IGdhcF9yZWN0X3dpZHRoID0gd2luZG93X3JlY3Qud2lkdGg7Cist CistICAgIHN3aXRjaCAodGFiX3BvcykKKy0gICAgeworLSAgICAgICAgY2FzZSB3eEFVSV9OQl9U T1A6CistICAgICAgICAgICAgdGFiX3JlY3QueSAtPSAyICogbV9UYWJIQm9yZGVyOworLSAgICAg ICAgICAgIGlmICghcGFnZS5hY3RpdmUpCistICAgICAgICAgICAgICAgIHRhYl9yZWN0LnkgKz0g MiAqIG1fVGFiSEJvcmRlcjsKKy0gICAgICAgICAgICBnYXBfcmVjdF95ID0gdGFiX3JlY3QueSAr IHRhYl9yZWN0LmhlaWdodCAtIG1fVGFiSEJvcmRlciAvIDI7CistICAgICAgICAgICAgLy8gZmFs bCB0aHJvdWdoCistICAgICAgICBjYXNlIHd4QVVJX05CX0JPVFRPTToKKy0gICAgICAgICAgICBn YXBfc3RhcnQgPSB0YWJfcmVjdC54IC0gbV9UYWJWQm9yZGVyIC8gMjsKKy0gICAgICAgICAgICBn YXBfd2lkdGggPSB0YWJfcmVjdC53aWR0aDsKKy0gICAgICAgICAgICBicmVhazsKKy0gICAgICAg IGRlZmF1bHQ6CistICAgICAgICAgICAgYnJlYWs7CistICAgIH0KKy0gICAgdGFiX3JlY3QueSAr PSBtX1RhYkhCb3JkZXIgLyAyOworLSAgICBnYXBfcmVjdF95ICs9IG1fVGFiSEJvcmRlciAvIDI7 CistCistICAgIGludCBwYWRkaW5nID0gZm9jdXNfd2lkdGggKyBtX1RhYkhCb3JkZXI7CistCist ICAgIGludCBjbGlwX3dpZHRoID0gdGFiX3JlY3Qud2lkdGg7CistICAgIGlmICh0YWJfcmVjdC54 ICsgdGFiX3JlY3Qud2lkdGggPiBpbl9yZWN0LnggKyBpbl9yZWN0LndpZHRoKQorLSAgICAgICAg Y2xpcF93aWR0aCA9IChpbl9yZWN0LnggKyBpbl9yZWN0LndpZHRoKSAtIHRhYl9yZWN0Lng7Cist CistICAgIGRjLlNldENsaXBwaW5nUmVnaW9uKHRhYl9yZWN0LngsIHRhYl9yZWN0LnkgLSBtX1Rh YlZCb3JkZXIsIGNsaXBfd2lkdGgsIHRhYl9yZWN0LmhlaWdodCArIG1fVGFiVkJvcmRlcik7Cist CistICAgIEdka1JlY3RhbmdsZSBhcmVhOworLSAgICBhcmVhLnggPSB0YWJfcmVjdC54IC0gbV9U YWJWQm9yZGVyOworLSAgICBhcmVhLnkgPSB0YWJfcmVjdC55IC0gMiAqIG1fVGFiSEJvcmRlcjsK Ky0gICAgYXJlYS53aWR0aCA9IGNsaXBfd2lkdGggKyBtX1RhYlZCb3JkZXI7CistICAgIGFyZWEu aGVpZ2h0ID0gdGFiX3JlY3QuaGVpZ2h0ICsgMiAqIG1fVGFiSEJvcmRlcjsKKy0KKy0jaWYgd3hD SEVDS19WRVJTSU9OKDMsIDAsIDApCistICAgIHd4R1RLRENJbXBsICppbXBsZGMgPSAod3hHVEtE Q0ltcGwqKSBkYy5HZXRJbXBsKCk7CistICAgIEdka1dpbmRvdyogcFdpbiA9IGltcGxkYy0+R2V0 R0RLV2luZG93KCk7CistI2Vsc2UKKy0gICAgR2RrV2luZG93KiBwV2luID0gZGMuR2V0R0RLV2lu ZG93KCk7CistI2VuZGlmCistCistICAgIGlmICh0YWJfcG9zID09IHd4QVVJX05CX0JPVFRPTSkK Ky0gICAgeworLSAgICAgICAgaWYgKHBhZ2UuYWN0aXZlKQorLSAgICAgICAgeworLSAgICAgICAg ICAgIGd0a19wYWludF9ib3hfZ2FwKHN0eWxlX25vdGVib29rLCBwV2luLCBHVEtfU1RBVEVfTk9S TUFMLCBHVEtfU0hBRE9XX09VVCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxM LCB3aWRnZXQsICJub3RlYm9vayIsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2Fw X3JlY3RfeCwgZ2FwX3JlY3RfeSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnYXBf cmVjdF93aWR0aCwgZ2FwX3JlY3RfaGVpZ2h0LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIEdUS19QT1NfQk9UVE9NLCBnYXBfc3RhcnQgLCBnYXBfd2lkdGgpOworLSAgICAgICAgfQor LSAgICAgICAgZ3RrX3BhaW50X2V4dGVuc2lvbihzdHlsZV9ub3RlYm9vaywgcFdpbiwKKy0gICAg ICAgICAgICAgICAgICAgICAgICAgICBwYWdlLmFjdGl2ZSA/IEdUS19TVEFURV9OT1JNQUwgOiBH VEtfU1RBVEVfQUNUSVZFLCBHVEtfU0hBRE9XX09VVCwKKy0gICAgICAgICAgICAgICAgICAgICAg ICAgICAmYXJlYSwgd2lkZ2V0LCAidGFiIiwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICB0 YWJfcmVjdC54LCB0YWJfcmVjdC55LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhYl9y ZWN0LndpZHRoLCB0YWJfcmVjdC5oZWlnaHQsCistICAgICAgICAgICAgICAgICAgICAgICAgICAg R1RLX1BPU19UT1ApOworLSAgICB9CistICAgIGVsc2UKKy0gICAgeworLSAgICAgICAgaWYgKHBh Z2UuYWN0aXZlKQorLSAgICAgICAgeworLSAgICAgICAgICAgIGd0a19wYWludF9ib3hfZ2FwKHN0 eWxlX25vdGVib29rLCBwV2luLCBHVEtfU1RBVEVfTk9STUFMLCBHVEtfU0hBRE9XX09VVCwKKy0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLCB3aWRnZXQsICJub3RlYm9vayIsCist ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2FwX3JlY3RfeCwgZ2FwX3JlY3RfeSwKKy0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnYXBfcmVjdF93aWR0aCwgZ2FwX3JlY3RfaGVp Z2h0LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdUS19QT1NfVE9QLCBnYXBfc3Rh cnQgLCBnYXBfd2lkdGgpOworLSAgICAgICAgfQorLSAgICAgICAgZ3RrX3BhaW50X2V4dGVuc2lv bihzdHlsZV9ub3RlYm9vaywgcFdpbiwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICBwYWdl LmFjdGl2ZSA/IEdUS19TVEFURV9OT1JNQUwgOiBHVEtfU1RBVEVfQUNUSVZFLCBHVEtfU0hBRE9X X09VVCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAmYXJlYSwgd2lkZ2V0LCAidGFiIiwK Ky0gICAgICAgICAgICAgICAgICAgICAgICAgICB0YWJfcmVjdC54LCB0YWJfcmVjdC55LAorLSAg ICAgICAgICAgICAgICAgICAgICAgICAgIHRhYl9yZWN0LndpZHRoLCB0YWJfcmVjdC5oZWlnaHQs CistICAgICAgICAgICAgICAgICAgICAgICAgICAgR1RLX1BPU19CT1RUT00pOworLSAgICB9Cist CistICAgIHd4Q29vcmQgdGV4dFggPSB0YWJfcmVjdC54ICsgcGFkZGluZyArIG1fWHRoaWNrbmVz czsKKy0KKy0gICAgaW50IGJpdG1hcF9vZmZzZXQgPSAwOworLSAgICBpZiAocGFnZS5iaXRtYXAu SXNPaygpKQorLSAgICB7CistICAgICAgICBiaXRtYXBfb2Zmc2V0ID0gdGV4dFg7CistCistICAg ICAgICAvLyBkcmF3IGJpdG1hcAorLSAgICAgICAgaW50IGJpdG1hcFkgPSB0YWJfcmVjdC55ICso dGFiX3JlY3QuaGVpZ2h0IC0gcGFnZS5iaXRtYXAuR2V0SGVpZ2h0KCkpIC8gMjsKKy0gICAgICAg IGlmKCFwYWdlLmFjdGl2ZSkKKy0gICAgICAgIHsKKy0gICAgICAgICAgICBpZiAodGFiX3BvcyA9 PSB3eEFVSV9OQl9UT1ApCistICAgICAgICAgICAgICAgIGJpdG1hcFkgKz0gbV9ZdGhpY2tuZXNz IC8gMjsKKy0gICAgICAgICAgICBlbHNlCistICAgICAgICAgICAgICAgIGJpdG1hcFkgLT0gbV9Z dGhpY2tuZXNzIC8gMjsKKy0gICAgICAgIH0KKy0gICAgICAgIGRjLkRyYXdCaXRtYXAocGFnZS5i aXRtYXAsCistICAgICAgICAgICAgICAgICAgICAgIGJpdG1hcF9vZmZzZXQsCistICAgICAgICAg ICAgICAgICAgICAgIGJpdG1hcFksCistICAgICAgICAgICAgICAgICAgICAgIHRydWUpOworLQor LSAgICAgICAgdGV4dFggKz0gcGFnZS5iaXRtYXAuR2V0V2lkdGgoKSArIHBhZGRpbmc7CistICAg IH0KKy0KKy0gICAgd3hDb29yZCB0ZXh0VywgdGV4dEgsIHRleHRZOworLQorLSNpZiB3eENIRUNL X1ZFUlNJT04oMywgMCwgMCkKKy0gICAgZGMuU2V0Rm9udChtX25vcm1hbEZvbnQpOworLSNlbHNl CistICAgIGRjLlNldEZvbnQobV9ub3JtYWxfZm9udCk7CistI2VuZGlmCistICAgIGRjLkdldFRl eHRFeHRlbnQocGFnZS5jYXB0aW9uLCAmdGV4dFcsICZ0ZXh0SCk7CistICAgIHRleHRZID0gdGFi X3JlY3QueSArICh0YWJfcmVjdC5oZWlnaHQgLSB0ZXh0SCkgLyAyOworLSAgICBpZighcGFnZS5h Y3RpdmUpCistICAgIHsKKy0gICAgICAgIGlmICh0YWJfcG9zID09IHd4QVVJX05CX1RPUCkKKy0g ICAgICAgICAgICB0ZXh0WSArPSBtX1l0aGlja25lc3MgLyAyOworLSAgICAgICAgZWxzZQorLSAg ICAgICAgICAgIHRleHRZIC09IG1fWXRoaWNrbmVzcyAvIDI7CistICAgIH0KKy0KKy0gICAgLy8g ZHJhdyB0YWIgdGV4dAorLSAgICBHZGtDb2xvciB0ZXh0X2NvbG91ciA9IHBhZ2UuYWN0aXZlID8g c3R5bGVfbm90ZWJvb2stPmZnW0dUS19TVEFURV9OT1JNQUxdIDogc3R5bGVfbm90ZWJvb2stPmZn W0dUS19TVEFURV9BQ1RJVkVdOworLSAgICBkYy5TZXRUZXh0Rm9yZWdyb3VuZCh3eENvbG9yKHRl eHRfY29sb3VyKSk7CistICAgIEdka1JlY3RhbmdsZSBmb2N1c19hcmVhOworLQorLSAgICBpbnQg cGFkZGluZ19mb2N1cyA9IHBhZGRpbmcgLSBmb2N1c193aWR0aDsKKy0gICAgZm9jdXNfYXJlYS54 ID0gdGFiX3JlY3QueCArIHBhZGRpbmdfZm9jdXM7CistICAgIGZvY3VzX2FyZWEueSA9IHRleHRZ IC0gZm9jdXNfd2lkdGg7CistICAgIGZvY3VzX2FyZWEud2lkdGggPSB0YWJfcmVjdC53aWR0aCAt IDIgKiBwYWRkaW5nX2ZvY3VzOworLSAgICBmb2N1c19hcmVhLmhlaWdodCA9IHRleHRIICsgMiAq IGZvY3VzX3dpZHRoOworLQorLSAgICBpZihwYWdlLmFjdGl2ZSAmJiAod25kLT5GaW5kRm9jdXMo KSA9PSB3bmQpICYmIGZvY3VzX2FyZWEueCA8PSAoYXJlYS54ICsgYXJlYS53aWR0aCkpCistICAg IHsKKy0gICAgICAgIC8vIGNsaXBwaW5nIHNlZW1zIG5vdCB0byB3b3JrIGhlcmUsIHNvIHdlIHdl IGhhdmUgdG8gcmVjYWxjIHRoZSBmb2N1cy1hcmVhIG1hbnVhbGx5CistICAgICAgICBpZigoZm9j dXNfYXJlYS54ICsgZm9jdXNfYXJlYS53aWR0aCkgPiAoYXJlYS54ICsgYXJlYS53aWR0aCkpCist ICAgICAgICAgICAgZm9jdXNfYXJlYS53aWR0aCA9IGFyZWEueCArIGFyZWEud2lkdGggLSBmb2N1 c19hcmVhLnggKyBmb2N1c193aWR0aCAtIG1fVGFiVkJvcmRlcjsKKy0gICAgICAgIGd0a19wYWlu dF9mb2N1cyAoc3R5bGVfbm90ZWJvb2ssIHBXaW4sCistICAgICAgICAgICAgICAgICAgICAgICAg IEdUS19TVEFURV9BQ1RJVkUsIE5VTEwsIHdpZGdldCwgInRhYiIsCistICAgICAgICAgICAgICAg ICAgICAgICAgIGZvY3VzX2FyZWEueCwgZm9jdXNfYXJlYS55LCBmb2N1c19hcmVhLndpZHRoLCBm b2N1c19hcmVhLmhlaWdodCk7CistICAgIH0KKy0KKy0gICAgZGMuRHJhd1RleHQocGFnZS5jYXB0 aW9uLCB0ZXh0WCwgdGV4dFkpOworLQorLSAgICAvLyBkcmF3IGNsb3NlLWJ1dHRvbiBvbiB0YWIg KGlmIGVuYWJsZWQpCistICAgIGlmIChjbG9zZV9idXR0b25fc3RhdGUgIT0gd3hBVUlfQlVUVE9O X1NUQVRFX0hJRERFTikKKy0gICAgeworLSAgICAgICAgd3hSZWN0IHJlY3QodGFiX3JlY3QueCwg dGFiX3JlY3QueSwgdGFiX3JlY3Qud2lkdGggLSBtX1h0aGlja25lc3MsIHRhYl9yZWN0LmhlaWdo dCk7CistICAgICAgICBpZighcGFnZS5hY3RpdmUpCistICAgICAgICB7CistICAgICAgICAgICAg aWYgKHRhYl9wb3MgPT0gd3hBVUlfTkJfVE9QKQorLSAgICAgICAgICAgICAgICByZWN0LnkgKz0g bV9ZdGhpY2tuZXNzIC8gMjsKKy0gICAgICAgICAgICBlbHNlCistICAgICAgICAgICAgICAgIHJl Y3QueSAtPSBtX1l0aGlja25lc3MgLyAyOworLSAgICAgICAgfQorLSAgICAgICAgKm91dF9idXR0 b25fcmVjdCA9IERyYXdDbG9zZUJ1dHRvbihkYywgd2lkZ2V0LCBjbG9zZV9idXR0b25fc3RhdGUs IHJlY3QsIHd4UklHSFQsICZhcmVhKTsKKy0gICAgfQorLQorLSAgICB0YWJfcmVjdC53aWR0aCA9 IHN0ZDo6bWluKHRhYl9yZWN0LndpZHRoLCBjbGlwX3dpZHRoKTsKKy0gICAgKm91dF90YWJfcmVj dCA9IHRhYl9yZWN0OworLQorLSAgICBkYy5EZXN0cm95Q2xpcHBpbmdSZWdpb24oKTsKKy19Cist Cistd3hSZWN0IERyYXdTaW1wbGVBcnJvdyh3eERDJiBkYywKKy0gICAgICAgICAgICAgICAgICAg ICAgIEd0a1dpZGdldCAqd2lkZ2V0LAorLSAgICAgICAgICAgICAgICAgICAgICAgaW50IGJ1dHRv bl9zdGF0ZSwKKy0gICAgICAgICAgICAgICAgICAgICAgIHd4UmVjdCBjb25zdCAmaW5fcmVjdCwK Ky0gICAgICAgICAgICAgICAgICAgICAgIGludCBvcmllbnRhdGlvbiwKKy0gICAgICAgICAgICAg ICAgICAgICAgIEd0a0Fycm93VHlwZSBhcnJvd190eXBlKQorLXsKKy0gICAgaW50IHNjcm9sbF9h cnJvd19obGVuZ3RoLCBzY3JvbGxfYXJyb3dfdmxlbmd0aDsKKy0gICAgZ3RrX3dpZGdldF9zdHls ZV9nZXQod2lkZ2V0LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAic2Nyb2xsLWFycm93LWhs ZW5ndGgiLCAmc2Nyb2xsX2Fycm93X2hsZW5ndGgsCistICAgICAgICAgICAgICAgICAgICAgICAg ICJzY3JvbGwtYXJyb3ctdmxlbmd0aCIsICZzY3JvbGxfYXJyb3dfdmxlbmd0aCwKKy0gICAgICAg ICAgICAgICAgICAgICAgICAgTlVMTCk7CistCistICAgIEd0a1N0YXRlVHlwZSBzdGF0ZTsKKy0g ICAgR3RrU2hhZG93VHlwZSBzaGFkb3c7CistICAgIEJ1dHRvblN0YXRlQW5kU2hhZG93KGJ1dHRv bl9zdGF0ZSwgc3RhdGUsIHNoYWRvdyk7CistCistICAgIHd4UmVjdCBvdXRfcmVjdDsKKy0KKy0g ICAgaWYgKG9yaWVudGF0aW9uID09IHd4TEVGVCkKKy0gICAgICAgIG91dF9yZWN0LnggPSBpbl9y ZWN0Lng7CistICAgIGVsc2UKKy0gICAgICAgIG91dF9yZWN0LnggPSBpbl9yZWN0LnggKyBpbl9y ZWN0LndpZHRoIC0gc2Nyb2xsX2Fycm93X2hsZW5ndGg7CistICAgIG91dF9yZWN0LnkgPSAoaW5f cmVjdC55ICsgaW5fcmVjdC5oZWlnaHQgLSAzICogZ2V0X3N0eWxlX25vdGVib29rKCktPnl0aGlj a25lc3MgLSBzY3JvbGxfYXJyb3dfdmxlbmd0aCkgLyAyOworLSAgICBvdXRfcmVjdC53aWR0aCA9 IHNjcm9sbF9hcnJvd19obGVuZ3RoOworLSAgICBvdXRfcmVjdC5oZWlnaHQgPSBzY3JvbGxfYXJy b3dfdmxlbmd0aDsKKy0KKy0jaWYgd3hDSEVDS19WRVJTSU9OKDMsIDAsIDApCistICAgIHd4R1RL RENJbXBsICppbXBsZGMgPSAod3hHVEtEQ0ltcGwqKSBkYy5HZXRJbXBsKCk7CistICAgIEdka1dp bmRvdyogcFdpbiA9IGltcGxkYy0+R2V0R0RLV2luZG93KCk7CistI2Vsc2UKKy0gICAgR2RrV2lu ZG93KiBwV2luID0gZGMuR2V0R0RLV2luZG93KCk7CistI2VuZGlmCistICAgIGd0a19wYWludF9h cnJvdyAoZ2V0X3N0eWxlX2J1dHRvbigpLCBwV2luLCBzdGF0ZSwgc2hhZG93LCBudWxscHRyLCB3 aWRnZXQsICJub3RlYm9vayIsCistICAgICAgICAgICAgICAgICAgICAgYXJyb3dfdHlwZSwgVFJV RSwgb3V0X3JlY3QueCwgb3V0X3JlY3QueSwgb3V0X3JlY3Qud2lkdGgsIG91dF9yZWN0LmhlaWdo dCk7CistCistICAgIHJldHVybiBvdXRfcmVjdDsKKy19CistCistdm9pZCBOYlN0eWxlR1RLOjpE cmF3QnV0dG9uKHd4REMmIGRjLCB3eFdpbmRvdyogd25kLAorLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICBjb25zdCB3eFJlY3QmIGluX3JlY3QsCistICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGludCBiaXRtYXBfaWQsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBidXR0 b25fc3RhdGUsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBvcmllbnRhdGlvbiwK Ky0gICAgICAgICAgICAgICAgICAgICAgICAgICAgd3hSZWN0KiBvdXRfcmVjdCkKKy17CistICAg IEd0a1dpZGdldCAqd2lkZ2V0ID0gd25kLT5HZXRIYW5kbGUoKTsKKy0gICAgd3hSZWN0IHJlY3Qg PSBpbl9yZWN0OworLSAgICBpZiAobV9mbGFncyAmd3hBVUlfTkJfQk9UVE9NKQorLSAgICAgICAg cmVjdC55ICs9IDIgKiBnZXRfc3R5bGVfYnV0dG9uKCktPnl0aGlja25lc3M7CistCistICAgIHN3 aXRjaCAoYml0bWFwX2lkKQorLSAgICB7CistICAgICAgICBjYXNlIHd4QVVJX0JVVFRPTl9DTE9T RToKKy0gICAgICAgICAgICByZWN0LnkgLT0gMiAqIGdldF9zdHlsZV9idXR0b24oKS0+eXRoaWNr bmVzczsKKy0gICAgICAgICAgICByZWN0ID0gRHJhd0Nsb3NlQnV0dG9uKGRjLCB3aWRnZXQsIGJ1 dHRvbl9zdGF0ZSwgcmVjdCwgb3JpZW50YXRpb24sIE5VTEwpOworLSAgICAgICAgICAgIGJyZWFr OworLQorLSAgICAgICAgY2FzZSB3eEFVSV9CVVRUT05fTEVGVDoKKy0gICAgICAgICAgICByZWN0 ID0gRHJhd1NpbXBsZUFycm93KGRjLCB3aWRnZXQsIGJ1dHRvbl9zdGF0ZSwgcmVjdCwgb3JpZW50 YXRpb24sIEdUS19BUlJPV19MRUZUKTsKKy0gICAgICAgICAgICBicmVhazsKKy0KKy0gICAgICAg IGNhc2Ugd3hBVUlfQlVUVE9OX1JJR0hUOgorLSAgICAgICAgICAgIHJlY3QgPSBEcmF3U2ltcGxl QXJyb3coZGMsIHdpZGdldCwgYnV0dG9uX3N0YXRlLCByZWN0LCBvcmllbnRhdGlvbiwgR1RLX0FS Uk9XX1JJR0hUKTsKKy0gICAgICAgICAgICBicmVhazsKKy0KKy0gICAgICAgIGNhc2Ugd3hBVUlf QlVUVE9OX1dJTkRPV0xJU1Q6CistICAgICAgICAgICAgeworLSAgICAgICAgICAgICAgICByZWN0 LmhlaWdodCAtPSA0ICogZ2V0X3N0eWxlX2J1dHRvbigpLT55dGhpY2tuZXNzOworLSAgICAgICAg ICAgICAgICByZWN0LndpZHRoID0gcmVjdC5oZWlnaHQ7CistICAgICAgICAgICAgICAgIHJlY3Qu eCA9IGluX3JlY3QueCArIGluX3JlY3Qud2lkdGggLSByZWN0LndpZHRoOworLQorLSAgICAgICAg ICAgICAgICBpZiAoYnV0dG9uX3N0YXRlID09IHd4QVVJX0JVVFRPTl9TVEFURV9IT1ZFUikKKy0g ICAgICAgICAgICAgICAgICAgIHd4UmVuZGVyZXJOYXRpdmU6OkdldCgpLkRyYXdDb21ib0JveERy b3BCdXR0b24od25kLCBkYywgcmVjdCwgd3hDT05UUk9MX0NVUlJFTlQpOworLSAgICAgICAgICAg ICAgICBlbHNlIGlmIChidXR0b25fc3RhdGUgPT0gd3hBVUlfQlVUVE9OX1NUQVRFX1BSRVNTRUQp CistICAgICAgICAgICAgICAgICAgICB3eFJlbmRlcmVyTmF0aXZlOjpHZXQoKS5EcmF3Q29tYm9C b3hEcm9wQnV0dG9uKHduZCwgZGMsIHJlY3QsIHd4Q09OVFJPTF9QUkVTU0VEKTsKKy0gICAgICAg ICAgICAgICAgZWxzZQorLSAgICAgICAgICAgICAgICAgICAgd3hSZW5kZXJlck5hdGl2ZTo6R2V0 KCkuRHJhd0Ryb3BBcnJvdyh3bmQsIGRjLCByZWN0KTsKKy0gICAgICAgICAgICB9CistICAgICAg ICAgICAgYnJlYWs7CistCistICAgICAgICBkZWZhdWx0OgorLSAgICAgICAgICAgIGJyZWFrOwor LSAgICB9CistCistICAgICpvdXRfcmVjdCA9IHJlY3Q7CistfQorLQorLQorLWludCBOYlN0eWxl R1RLOjpHZXRCZXN0VGFiQ3RybFNpemUod3hXaW5kb3cqIHduZCwKKy0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGNvbnN0IHd4QXVpTm90ZWJvb2tQYWdlQXJyYXkmIHBhZ2VzLAor LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgd3hTaXplJiByZXF1aXJl ZF9ibXBfc2l6ZSkKKy17CistI2lmIHd4Q0hFQ0tfVkVSU0lPTigzLCAwLCAwKQorLSAgICBTZXRN ZWFzdXJpbmdGb250KG1fbm9ybWFsRm9udCk7CistICAgIFNldFNlbGVjdGVkRm9udChtX25vcm1h bEZvbnQpOworLSNlbHNlCistICAgIFNldE1lYXN1cmluZ0ZvbnQobV9ub3JtYWxfZm9udCk7Cist ICAgIFNldFNlbGVjdGVkRm9udChtX25vcm1hbF9mb250KTsKKy0jZW5kaWYKKy0gICAgaW50IHRh Yl9oZWlnaHQgPSAzICogZ2V0X3N0eWxlX25vdGVib29rKCktPnl0aGlja25lc3MgKyB3eEF1aURl ZmF1bHRUYWJBcnQ6OkdldEJlc3RUYWJDdHJsU2l6ZSh3bmQsIHBhZ2VzLCByZXF1aXJlZF9ibXBf c2l6ZSk7CistICAgIHJldHVybiB0YWJfaGVpZ2h0OworLX0KKy0KKy13eFNpemUgTmJTdHlsZUdU Szo6R2V0VGFiU2l6ZSh3eERDJiBkYywKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3 eFdpbmRvdyogd25kLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHd4U3Ry aW5nJiBjYXB0aW9uLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHd4Qml0 bWFwJiBiaXRtYXAsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBhY3RpdmUs CistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGNsb3NlX2J1dHRvbl9zdGF0ZSwK Ky0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQqIHhfZXh0ZW50KQorLXsKKy0gICAg d3hTaXplIHMgPSB3eEF1aURlZmF1bHRUYWJBcnQ6OkdldFRhYlNpemUoZGMsIHduZCwgY2FwdGlv biwgYml0bWFwLCBhY3RpdmUsIGNsb3NlX2J1dHRvbl9zdGF0ZSwgeF9leHRlbnQpOworLQorLSAg ICBpbnQgb3ZlcmxhcCA9IDA7CistICAgIGd0a193aWRnZXRfc3R5bGVfZ2V0ICh3bmQtPkdldEhh bmRsZSgpLAorLSAgICAgICAgImZvY3VzLWxpbmUtd2lkdGgiLCAmb3ZlcmxhcCwKKy0gICAgICAg IE5VTEwpOworLSAgICAqeF9leHRlbnQgLT0gb3ZlcmxhcDsKKy0gICAgcmV0dXJuIHM7CistfQor LQorLSNlbmRpZiAvLyAjaWYgZGVmaW5lZChfX1dYR1RLX18pICYmIChVU0VfR1RLX05PVEVCT09L KSAmJiAhd3hDSEVDS19WRVJTSU9OKDMsIDAsIDApCitJbmRleDogc3JjL3NyYy9wcm9qZWN0bWFu YWdlcnVpLmNwcAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGEvc3JjL3NyYy9wcm9qZWN0bWFuYWdlcnVpLmNw cAkocmV2aXNpb24gMTI1NzkpCisrKysgYi9zcmMvc3JjL3Byb2plY3RtYW5hZ2VydWkuY3BwCShy ZXZpc2lvbiAxMjU4MCkKK0BAIC0xODc1LDExICsxODc1LDcgQEAKKyB7CisgICAgIHNpemVfdCBv cGVyYXRvcigpKGNvbnN0IHd4U3RyaW5nJiBzKSBjb25zdAorICAgICB7CistI2lmIHd4Q0hFQ0tf VkVSU0lPTigzLCAwLCAwKQorICAgICAgICAgcmV0dXJuIHN0ZDo6aGFzaDxzdGQ6OndzdHJpbmc+ KCkocy5Ub1N0ZFdzdHJpbmcoKSk7CistI2Vsc2UKKy0gICAgICAgIHJldHVybiBzdGQ6Omhhc2g8 c3RkOjp3c3RyaW5nPigpKHMud2Nfc3RyKCkpOworLSNlbmRpZiAvLyB3eENIRUNLX1ZFUlNJT04K KyAgICAgfQorIH07CisgCmRpZmYgLS1naXQgYS9zcmNwa2dzL2NvZGVibG9ja3MvcGF0Y2hlcy8w MDAucjEyNzA3LnBhdGNoIGIvc3JjcGtncy9jb2RlYmxvY2tzL3BhdGNoZXMvMDAwLnIxMjcwNy5w YXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwLi5iY2E5NzRmYmU1 NzcwCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9jb2RlYmxvY2tzL3BhdGNoZXMvMDAwLnIx MjcwNy5wYXRjaApAQCAtMCwwICsxLDEyMCBAQAorSW5kZXg6IHNyYy9zcmMvbm90ZWJvb2tzdHls ZXMuY3BwCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09CistLS0gYS9zcmMvc3JjL25vdGVib29rc3R5bGVzLmNwcAkocmV2 aXNpb24gMTI3MDYpCisrKysgYi9zcmMvc3JjL25vdGVib29rc3R5bGVzLmNwcAkocmV2aXNpb24g MTI3MDcpCitAQCAtMTI0LDggKzEyNCwxNiBAQAorICAgICBpZiAocGFnZS5iaXRtYXAuSXNPaygp KQorICAgICB7CisgICAgICAgICBiaXRtYXBfb2Zmc2V0ID0gdGFiX3ggKyA4OworKyAgICAgICAg Ly8gZHJhdyBiaXRtYXAKKysjaWYgd3hDSEVDS19WRVJTSU9OKDMsIDEsIDYpCisrICAgICAgICBj b25zdCB3eEJpdG1hcCBibXAocGFnZS5iaXRtYXAuR2V0Qml0bWFwRm9yKHduZCkpOworKyAgICAg ICAgZGMuRHJhd0JpdG1hcChibXAsCisrICAgICAgICAgICAgICAgICAgICAgIGJpdG1hcF9vZmZz ZXQsCisrICAgICAgICAgICAgICAgICAgICAgIGRyYXduX3RhYl95b2ZmICsgKGRyYXduX3RhYl9o ZWlnaHQvMikgLSAoYm1wLkdldEhlaWdodCgpLzIpLAorKyAgICAgICAgICAgICAgICAgICAgICB0 cnVlKTsKKyAKKy0gICAgICAgIC8vIGRyYXcgYml0bWFwCisrICAgICAgICB0ZXh0X29mZnNldCA9 IGJpdG1hcF9vZmZzZXQgKyBibXAuR2V0V2lkdGgoKTsKKysjZWxzZQorICAgICAgICAgZGMuRHJh d0JpdG1hcChwYWdlLmJpdG1hcCwKKyAgICAgICAgICAgICAgICAgICAgICAgYml0bWFwX29mZnNl dCwKKyAgICAgICAgICAgICAgICAgICAgICAgZHJhd25fdGFiX3lvZmYgKyAoZHJhd25fdGFiX2hl aWdodC8yKSAtIChwYWdlLmJpdG1hcC5HZXRIZWlnaHQoKS8yKSwKK0BAIC0xMzIsNiArMTQwLDcg QEAKKyAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSk7CisgCisgICAgICAgICB0ZXh0X29mZnNl dCA9IGJpdG1hcF9vZmZzZXQgKyBwYWdlLmJpdG1hcC5HZXRXaWR0aCgpOworKyNlbmRpZgorICAg ICAgICAgdGV4dF9vZmZzZXQgKz0gMzsgLy8gYml0bWFwIHBhZGRpbmcKKyAgICAgfQorICAgICAg ZWxzZQorQEAgLTE2MSwxMyArMTcwLDIzIEBACisgICAgIC8vIGRyYXcgJ3gnIG9uIHRhYiAoaWYg ZW5hYmxlZCkKKyAgICAgaWYgKGNsb3NlX2J1dHRvbl9zdGF0ZSAhPSB3eEFVSV9CVVRUT05fU1RB VEVfSElEREVOKQorICAgICB7CistICAgICAgICBpbnQgY2xvc2VfYnV0dG9uX3dpZHRoID0gbV9h Y3RpdmVDbG9zZUJtcC5HZXRXaWR0aCgpOworLSAgICAgICAgd3hCaXRtYXAgYm1wID0gbV9kaXNh YmxlZENsb3NlQm1wOworKyAgICAgICAgd3hCaXRtYXAgYm1wOworIAorKyNpZiB3eENIRUNLX1ZF UlNJT04oMywgMSwgNikKKyAgICAgICAgIGlmICgoY2xvc2VfYnV0dG9uX3N0YXRlID09IHd4QVVJ X0JVVFRPTl9TVEFURV9IT1ZFUikgfHwKKyAgICAgICAgICAgICAgICAgICAgIChjbG9zZV9idXR0 b25fc3RhdGUgPT0gd3hBVUlfQlVUVE9OX1NUQVRFX1BSRVNTRUQpKQorKyAgICAgICAgICAgIGJt cCA9IG1fYWN0aXZlQ2xvc2VCbXAuR2V0Qml0bWFwRm9yKHduZCk7CisrICAgICAgICBlbHNlCisr ICAgICAgICAgICAgYm1wID0gbV9kaXNhYmxlZENsb3NlQm1wLkdldEJpdG1hcEZvcih3bmQpOwor KyNlbHNlCisrICAgICAgICBpZiAoKGNsb3NlX2J1dHRvbl9zdGF0ZSA9PSB3eEFVSV9CVVRUT05f U1RBVEVfSE9WRVIpIHx8CisrICAgICAgICAgICAgICAgICAgICAoY2xvc2VfYnV0dG9uX3N0YXRl ID09IHd4QVVJX0JVVFRPTl9TVEFURV9QUkVTU0VEKSkKKyAgICAgICAgICAgICBibXAgPSBtX2Fj dGl2ZUNsb3NlQm1wOworKyAgICAgICAgZWxzZQorKyAgICAgICAgICAgIGJtcCA9IG1fZGlzYWJs ZWRDbG9zZUJtcDsKKysjZW5kaWYKKyAKKysgICAgICAgIGNvbnN0IGludCBjbG9zZV9idXR0b25f d2lkdGggPSBibXAuR2V0V2lkdGgoKTsKKyAgICAgICAgIHd4UmVjdCByZWN0KHRhYl94ICsgdGFi X3dpZHRoIC0gY2xvc2VfYnV0dG9uX3dpZHRoIC0gMywKKyAgICAgICAgICAgICAgICAgICAgIGRy YXduX3RhYl95b2ZmICsgKGRyYXduX3RhYl9oZWlnaHQgLyAyKSAtIChibXAuR2V0SGVpZ2h0KCkg LyAyKSwKKyAgICAgICAgICAgICAgICAgICAgIGNsb3NlX2J1dHRvbl93aWR0aCwgdGFiX2hlaWdo dCk7CitAQCAtMjg1LDExICszMDQsMjAgQEAKKyAgICAgaW50IHRleHRfb2Zmc2V0ID0gdGFiX3gg KyA4OworIAorICAgICBpbnQgYml0bWFwX29mZnNldCA9IDA7CisrCisgICAgIGlmIChwYWdlLmJp dG1hcC5Jc09rKCkpCisgICAgIHsKKyAgICAgICAgIGJpdG1hcF9vZmZzZXQgPSB0YWJfeCArIDg7 CisrICAgICAgICAvLyBkcmF3IGJpdG1hcAorKyNpZiB3eENIRUNLX1ZFUlNJT04oMywgMSwgNikK KysgICAgICAgIGNvbnN0IHd4Qml0bWFwIGJtcChwYWdlLmJpdG1hcC5HZXRCaXRtYXBGb3Iod25k KSk7CisrICAgICAgICBkYy5EcmF3Qml0bWFwKGJtcCwKKysgICAgICAgICAgICAgICAgICAgICAg Yml0bWFwX29mZnNldCwKKysgICAgICAgICAgICAgICAgICAgICAgZHJhd25fdGFiX3lvZmYgKyAo ZHJhd25fdGFiX2hlaWdodC8yKSAtIChibXAuR2V0SGVpZ2h0KCkvMiksCisrICAgICAgICAgICAg ICAgICAgICAgIHRydWUpOworIAorLSAgICAgICAgLy8gZHJhdyBiaXRtYXAKKysgICAgICAgIHRl eHRfb2Zmc2V0ID0gYml0bWFwX29mZnNldCArIGJtcC5HZXRXaWR0aCgpOworKyNlbHNlCisgICAg ICAgICBkYy5EcmF3Qml0bWFwKHBhZ2UuYml0bWFwLAorICAgICAgICAgICAgICAgICAgICAgICBi aXRtYXBfb2Zmc2V0LAorICAgICAgICAgICAgICAgICAgICAgICBkcmF3bl90YWJfeW9mZiArIChk cmF3bl90YWJfaGVpZ2h0LzIpIC0gKHBhZ2UuYml0bWFwLkdldEhlaWdodCgpLzIpLAorQEAgLTI5 Niw2ICszMjQsNyBAQAorICAgICAgICAgICAgICAgICAgICAgICB0cnVlKTsKKyAKKyAgICAgICAg IHRleHRfb2Zmc2V0ID0gYml0bWFwX29mZnNldCArIHBhZ2UuYml0bWFwLkdldFdpZHRoKCk7Cisr I2VuZGlmCisgICAgICAgICB0ZXh0X29mZnNldCArPSAzOyAvLyBiaXRtYXAgcGFkZGluZworICAg ICB9CisgICAgICBlbHNlCitAQCAtMzAzLDcgKzMzMiw2IEBACisgICAgICAgICB0ZXh0X29mZnNl dCA9IHRhYl94ICsgODsKKyAgICAgfQorIAorLQorICAgICAvLyBpZiB0aGUgY2FwdGlvbiBpcyBl bXB0eSwgbWVhc3VyZSBzb21lIHRlbXBvcmFyeSB0ZXh0CisgICAgIHd4U3RyaW5nIGNhcHRpb24g PSBwYWdlLmNhcHRpb247CisgICAgIGlmIChjYXB0aW9uLmVtcHR5KCkpCitAQCAtMzI1LDEzICsz NTMsMjMgQEAKKyAgICAgLy8gZHJhdyAneCcgb24gdGFiIChpZiBlbmFibGVkKQorICAgICBpZiAo Y2xvc2VfYnV0dG9uX3N0YXRlICE9IHd4QVVJX0JVVFRPTl9TVEFURV9ISURERU4pCisgICAgIHsK Ky0gICAgICAgIGludCBjbG9zZV9idXR0b25fd2lkdGggPSBtX2FjdGl2ZUNsb3NlQm1wLkdldFdp ZHRoKCk7CistICAgICAgICB3eEJpdG1hcCBibXAgPSBtX2Rpc2FibGVkQ2xvc2VCbXA7CisrICAg ICAgICB3eEJpdG1hcCBibXA7CisgCisrI2lmIHd4Q0hFQ0tfVkVSU0lPTigzLCAxLCA2KQorICAg ICAgICAgaWYgKChjbG9zZV9idXR0b25fc3RhdGUgPT0gd3hBVUlfQlVUVE9OX1NUQVRFX0hPVkVS KSB8fAorICAgICAgICAgICAgICAgICAgICAgKGNsb3NlX2J1dHRvbl9zdGF0ZSA9PSB3eEFVSV9C VVRUT05fU1RBVEVfUFJFU1NFRCkpCisrICAgICAgICAgICAgYm1wID0gbV9hY3RpdmVDbG9zZUJt cC5HZXRCaXRtYXBGb3Iod25kKTsKKysgICAgICAgIGVsc2UKKysgICAgICAgICAgICBibXAgPSBt X2Rpc2FibGVkQ2xvc2VCbXAuR2V0Qml0bWFwRm9yKHduZCk7CisrI2Vsc2UKKysgICAgICAgIGlm ICgoY2xvc2VfYnV0dG9uX3N0YXRlID09IHd4QVVJX0JVVFRPTl9TVEFURV9IT1ZFUikgfHwKKysg ICAgICAgICAgICAgICAgICAgIChjbG9zZV9idXR0b25fc3RhdGUgPT0gd3hBVUlfQlVUVE9OX1NU QVRFX1BSRVNTRUQpKQorICAgICAgICAgICAgIGJtcCA9IG1fYWN0aXZlQ2xvc2VCbXA7CisrICAg ICAgICBlbHNlCisrICAgICAgICAgICAgYm1wID0gbV9kaXNhYmxlZENsb3NlQm1wOworKyNlbmRp ZgorIAorKyAgICAgICAgY29uc3QgaW50IGNsb3NlX2J1dHRvbl93aWR0aCA9IGJtcC5HZXRXaWR0 aCgpOworICAgICAgICAgd3hSZWN0IHJlY3QodGFiX3ggKyB0YWJfd2lkdGggLSBjbG9zZV9idXR0 b25fd2lkdGggLSAzLAorICAgICAgICAgICAgICAgICAgICAgZHJhd25fdGFiX3lvZmYgKyAoZHJh d25fdGFiX2hlaWdodCAvIDIpIC0gKGJtcC5HZXRIZWlnaHQoKSAvIDIpLAorICAgICAgICAgICAg ICAgICAgICAgY2xvc2VfYnV0dG9uX3dpZHRoLCB0YWJfaGVpZ2h0KTsKZGlmZiAtLWdpdCBhL3Ny Y3BrZ3MvY29kZWJsb2Nrcy9wYXRjaGVzL3d4LTMuMi5wYXRjaCBiL3NyY3BrZ3MvY29kZWJsb2Nr cy9wYXRjaGVzL3d4LTMuMi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw MDAwMDAwLi4wNDAwY2U2MzQ2MTc4Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9jb2RlYmxv Y2tzL3BhdGNoZXMvd3gtMy4yLnBhdGNoCkBAIC0wLDAgKzEsMjEgQEAKK0luZGV4OiBjb2RlYmxv Y2tzLTIwLjAzL3NyYy9zZGsvc2NyaXB0aW5nL2JpbmRpbmdzL3NjX3d4dHlwZXMuY3BwCis9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09CistLS0gY29kZWJsb2Nrcy0yMC4wMy5vcmlnL3NyYy9zZGsvc2NyaXB0aW5nL2JpbmRp bmdzL3NjX3d4dHlwZXMuY3BwCisrKysgY29kZWJsb2Nrcy0yMC4wMy9zcmMvc2RrL3NjcmlwdGlu Zy9iaW5kaW5ncy9zY193eHR5cGVzLmNwcAorQEAgLTMyMiw2ICszMjIsNyBAQCBuYW1lc3BhY2Ug U2NyaXB0QmluZGluZ3MKKyAgICAgICAgIHR5cGVkZWYgYm9vbCh3eEZpbGVOYW1lOjoqV1hGTl9T RVRDV0QpKCk7CisgI2VuZGlmCisgICAgICAgICB0eXBlZGVmIGJvb2wod3hGaWxlTmFtZTo6KldY Rk5fSVNGSUxFV1JJVEVBQkxFKSgpY29uc3Q7CisrICAgICAgICB0eXBlZGVmIGJvb2wod3hGaWxl TmFtZTo6KldYRk5fTk9STUFMSVpFKShpbnQsIGNvbnN0IHd4U3RyaW5nJiwgd3hQYXRoRm9ybWF0 KTsKKyAKKyAgICAgICAgIFNxUGx1czo6U1FDbGFzc0RlZjx3eEZpbGVOYW1lPigid3hGaWxlTmFt ZSIpLgorICAgICAgICAgICAgICAgICBlbXB0eUN0b3IoKS4KK0BAIC0zNTQsNyArMzU1LDcgQEAg bmFtZXNwYWNlIFNjcmlwdEJpbmRpbmdzCisgICAgICAgICAgICAgICAgIGZ1bmMoJnd4RmlsZU5h bWU6OklzRGlyLCAiSXNEaXIiKS4KKyAgICAgICAgICAgICAgICAgZnVuYygmd3hGaWxlTmFtZTo6 TWFrZUFic29sdXRlLCAiTWFrZUFic29sdXRlIikuCisgICAgICAgICAgICAgICAgIGZ1bmMoJnd4 RmlsZU5hbWU6Ok1ha2VSZWxhdGl2ZVRvLCAiTWFrZVJlbGF0aXZlVG8iKS4KKy0gICAgICAgICAg ICAgICAgZnVuYygmd3hGaWxlTmFtZTo6Tm9ybWFsaXplLCAiTm9ybWFsaXplIikuCisrICAgICAg ICAgICAgICAgIGZ1bmM8V1hGTl9OT1JNQUxJWkU+KCZ3eEZpbGVOYW1lOjpOb3JtYWxpemUsICJO b3JtYWxpemUiKS4KKyAgICAgICAgICAgICAgICAgZnVuYygmd3hGaWxlTmFtZTo6UHJlcGVuZERp ciwgIlByZXBlbmREaXIiKS4KKyAgICAgICAgICAgICAgICAgZnVuYygmd3hGaWxlTmFtZTo6UmVt b3ZlRGlyLCAiUmVtb3ZlRGlyIikuCisgICAgICAgICAgICAgICAgIGZ1bmMoJnd4RmlsZU5hbWU6 OlJlbW92ZUxhc3REaXIsICJSZW1vdmVMYXN0RGlyIikuCmRpZmYgLS1naXQgYS9zcmNwa2dzL2Nv ZGVibG9ja3MvdGVtcGxhdGUgYi9zcmNwa2dzL2NvZGVibG9ja3MvdGVtcGxhdGUKaW5kZXggNmM2 YzMxZGZkM2UxZS4uNDY0NjZkOTkwYmVkMSAxMDA2NDQKLS0tIGEvc3JjcGtncy9jb2RlYmxvY2tz L3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvY29kZWJsb2Nrcy90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcg QEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ2NvZGVibG9ja3MnCiBwa2duYW1lPWNvZGVibG9ja3MK IHZlcnNpb249MjAuMDMKLXJldmlzaW9uPTUKK3JldmlzaW9uPTYKIGJ1aWxkX3N0eWxlPWdudS1j b25maWd1cmUKIGNvbmZpZ3VyZV9hcmdzPSItLXdpdGgtd3gtY29uZmlnPXd4LWNvbmZpZy1ndGsz IC0td2l0aC1jb250cmliLXBsdWdpbnMKICAtLXdpdGgtYm9vc3Q9JHtYQlBTX0NST1NTX0JBU0V9 L3VzcgoKRnJvbSBlMjM1MTk5MjI0MDA1ZTE5YTUyNjc0OWFjZjliOTdhOWFlYWM0ZDdhIE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiAiQW5kcmV3IEouIEhlc2ZvcmQiIDxhamhAc2lkZWJh bmQub3JnPgpEYXRlOiBNb24sIDI1IFNlcCAyMDIzIDAwOjE4OjIwIC0wNDAwClN1YmplY3Q6IFtQ QVRDSCAyMC80M10gY29kZWxpdGU6IHJlYnVpbGQgd2l0aCB3eFdpZGdldHMtZ3RrMy0zLjIuMi4x CgotLS0KIHNyY3BrZ3MvY29kZWxpdGUvcGF0Y2hlcy93eDMyLnBhdGNoIHwgMTMxICsrKysrKysr KysrKysrKysrKysrKysrKysrKysKIHNyY3BrZ3MvY29kZWxpdGUvdGVtcGxhdGUgICAgICAgICAg IHwgICAyICstCiAyIGZpbGVzIGNoYW5nZWQsIDEzMiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9u KC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9jb2RlbGl0ZS9wYXRjaGVzL3d4MzIucGF0 Y2gKCmRpZmYgLS1naXQgYS9zcmNwa2dzL2NvZGVsaXRlL3BhdGNoZXMvd3gzMi5wYXRjaCBiL3Ny Y3BrZ3MvY29kZWxpdGUvcGF0Y2hlcy93eDMyLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDAwMDAwMDAwMDAwMDAuLmY1NTM1ZWJhZjFiM2IKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNw a2dzL2NvZGVsaXRlL3BhdGNoZXMvd3gzMi5wYXRjaApAQCAtMCwwICsxLDEzMSBAQAorRnJvbSA0 MjdhZjM1OGQ0MWRlYjAwYTQ2MjhlNWIzOWM2M2E5MjljZWY4OTRhIE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQorRnJvbTogRXJhbiBJZnJhaCA8ZXJhbkBjb2RlbGl0ZS5vcmc+CitEYXRlOiBGcmks IDEwIEp1biAyMDIyIDEwOjE1OjUyICswMzAwCitTdWJqZWN0OiBbUEFUQ0hdIG1hY29zOiBodW5z cGVsbDogdXNlIHRoZSBsaWJyYXJ5IGZyb20gYnJldyBmaXhlZCBidWlsZAorIGFnYWluc3Qgd3gz LjEuNyB0ZW1wb3Jhcmx5OiBkaXNhYmxlIGJ1aWxkaW5nIExMREIgb24gbWFjb3MKKworLS0tCisg Q01ha2VMaXN0cy50eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDUgKy0KKyBT cGVsbENoZWNrZXIvQ01ha2VMaXN0cy50eHQgICAgICAgICAgICAgICAgICB8ICAyNyArLQorIHNk ay9odW5zcGVsbC9pbmNsdWRlL2FmZmVudHJ5Lmh4eCAgICAgICAgICAgIHwgMTQ0IC0tLS0tLS0t LS0tCisgc2RrL2h1bnNwZWxsL2luY2x1ZGUvYWZmaXhtZ3IuaHh4ICAgICAgICAgICAgfCAyNTIg LS0tLS0tLS0tLS0tLS0tLS0tLQorIHNkay9odW5zcGVsbC9pbmNsdWRlL2F0eXBlcy5oeHggICAg ICAgICAgICAgIHwgMTA3IC0tLS0tLS0tCisgc2RrL2h1bnNwZWxsL2luY2x1ZGUvYmFzZWFmZml4 Lmh4eCAgICAgICAgICAgfCAgMzIgLS0tCisgc2RrL2h1bnNwZWxsL2luY2x1ZGUvY3N1dGlsLmh4 eCAgICAgICAgICAgICAgfCAyMjMgLS0tLS0tLS0tLS0tLS0tLQorIHNkay9odW5zcGVsbC9pbmNs dWRlL2RpY3RtZ3IuaHh4ICAgICAgICAgICAgIHwgIDM5IC0tLQorIHNkay9odW5zcGVsbC9pbmNs dWRlL2ZpbGVtZ3IuaHh4ICAgICAgICAgICAgIHwgIDI4IC0tLQorIHNkay9odW5zcGVsbC9pbmNs dWRlL2hhc2htZ3IuaHh4ICAgICAgICAgICAgIHwgIDY5IC0tLS0tCisgc2RrL2h1bnNwZWxsL2lu Y2x1ZGUvaHR5cGVzLmh4eCAgICAgICAgICAgICAgfCAgMzIgLS0tCisgc2RrL2h1bnNwZWxsL2lu Y2x1ZGUvaHVuc3BlbGwuaHh4ICAgICAgICAgICAgfCAxODQgLS0tLS0tLS0tLS0tLS0KKyBzZGsv aHVuc3BlbGwvaW5jbHVkZS9odW56aXAuaHh4ICAgICAgICAgICAgICB8ICA0NyAtLS0tCisgc2Rr L2h1bnNwZWxsL2luY2x1ZGUvbGFuZ251bS5oeHggICAgICAgICAgICAgfCAgMzggLS0tCisgc2Rr L2h1bnNwZWxsL2luY2x1ZGUvcGhvbmV0Lmh4eCAgICAgICAgICAgICAgfCAgNTIgLS0tLQorIHNk ay9odW5zcGVsbC9pbmNsdWRlL3JlcGxpc3QuaHh4ICAgICAgICAgICAgIHwgIDMwIC0tLQorIHNk ay9odW5zcGVsbC9pbmNsdWRlL3N1Z2dlc3RtZ3IuaHh4ICAgICAgICAgIHwgMTE1IC0tLS0tLS0t LQorIHNkay9odW5zcGVsbC9pbmNsdWRlL3dfY2hhci5oeHggICAgICAgICAgICAgIHwgIDIxIC0t Cisgc2RrL2h1bnNwZWxsL2xpYi9vc3gvbGliaHVuc3BlbGwtMS4zLjAuZHlsaWIgfCBCaW4gMzYz ODc2IC0+IDAgYnl0ZXMKKyB3eGNyYWZ0ZXIvbXl4aF9wcm9wZ3JpZC5jcHAgICAgICAgICAgICAg ICAgICB8ICAzMiArKy0KKyAyMCBmaWxlcyBjaGFuZ2VkLCAzNiBpbnNlcnRpb25zKCspLCAxNDQx IGRlbGV0aW9ucygtKQorIGRlbGV0ZSBtb2RlIDEwMDY0NCBzZGsvaHVuc3BlbGwvaW5jbHVkZS9h ZmZlbnRyeS5oeHgKKyBkZWxldGUgbW9kZSAxMDA2NDQgc2RrL2h1bnNwZWxsL2luY2x1ZGUvYWZm aXhtZ3IuaHh4CisgZGVsZXRlIG1vZGUgMTAwNjQ0IHNkay9odW5zcGVsbC9pbmNsdWRlL2F0eXBl cy5oeHgKKyBkZWxldGUgbW9kZSAxMDA2NDQgc2RrL2h1bnNwZWxsL2luY2x1ZGUvYmFzZWFmZml4 Lmh4eAorIGRlbGV0ZSBtb2RlIDEwMDY0NCBzZGsvaHVuc3BlbGwvaW5jbHVkZS9jc3V0aWwuaHh4 CisgZGVsZXRlIG1vZGUgMTAwNjQ0IHNkay9odW5zcGVsbC9pbmNsdWRlL2RpY3RtZ3IuaHh4Cisg ZGVsZXRlIG1vZGUgMTAwNjQ0IHNkay9odW5zcGVsbC9pbmNsdWRlL2ZpbGVtZ3IuaHh4CisgZGVs ZXRlIG1vZGUgMTAwNjQ0IHNkay9odW5zcGVsbC9pbmNsdWRlL2hhc2htZ3IuaHh4CisgZGVsZXRl IG1vZGUgMTAwNjQ0IHNkay9odW5zcGVsbC9pbmNsdWRlL2h0eXBlcy5oeHgKKyBkZWxldGUgbW9k ZSAxMDA2NDQgc2RrL2h1bnNwZWxsL2luY2x1ZGUvaHVuc3BlbGwuaHh4CisgZGVsZXRlIG1vZGUg MTAwNjQ0IHNkay9odW5zcGVsbC9pbmNsdWRlL2h1bnppcC5oeHgKKyBkZWxldGUgbW9kZSAxMDA2 NDQgc2RrL2h1bnNwZWxsL2luY2x1ZGUvbGFuZ251bS5oeHgKKyBkZWxldGUgbW9kZSAxMDA2NDQg c2RrL2h1bnNwZWxsL2luY2x1ZGUvcGhvbmV0Lmh4eAorIGRlbGV0ZSBtb2RlIDEwMDY0NCBzZGsv aHVuc3BlbGwvaW5jbHVkZS9yZXBsaXN0Lmh4eAorIGRlbGV0ZSBtb2RlIDEwMDY0NCBzZGsvaHVu c3BlbGwvaW5jbHVkZS9zdWdnZXN0bWdyLmh4eAorIGRlbGV0ZSBtb2RlIDEwMDY0NCBzZGsvaHVu c3BlbGwvaW5jbHVkZS93X2NoYXIuaHh4CisgZGVsZXRlIG1vZGUgMTAwNzU1IHNkay9odW5zcGVs bC9saWIvb3N4L2xpYmh1bnNwZWxsLTEuMy4wLmR5bGliCisKK2RpZmYgLS1naXQgYS93eGNyYWZ0 ZXIvbXl4aF9wcm9wZ3JpZC5jcHAgYi93eGNyYWZ0ZXIvbXl4aF9wcm9wZ3JpZC5jcHAKK2luZGV4 IDk3NGJjNjJmMC4uM2ZjYjM4NDVkIDEwMDY0NAorLS0tIGEvd3hjcmFmdGVyL215eGhfcHJvcGdy aWQuY3BwCisrKysgYi93eGNyYWZ0ZXIvbXl4aF9wcm9wZ3JpZC5jcHAKK0BAIC0xLDQgKzEsNSBA QAorICNpbmNsdWRlICJteXhoX3Byb3BncmlkLmgiCisrCisgI2luY2x1ZGUgPHd4L2RhdGV0aW1l Lmg+CisgI2luY2x1ZGUgPHd4L2xvZy5oPgorICNpbmNsdWRlIDx3eC9wcm9wZ3JpZC9hZHZwcm9w cy5oPgorQEAgLTQ4LDEwICs0OSwxNCBAQCB3eE9iamVjdCogTXlXeFByb3BHcmlkWG1sSGFuZGxl cjo6RG9DcmVhdGVSZXNvdXJjZSgpCisgCisgICAgICAgICAvLyBhZGQgdGhlIHNwbGl0dGVyIHBy b3BlcnR5IGFmdGVyIHRoZSBjaGlsZHJlbiB3ZXJlIGFkZGVkCisgICAgICAgICBpbnQgc3BsaXR0 ZXJMZWZ0ID0gR2V0Qm9vbCgic3BsaXR0ZXJsZWZ0Iik7CistICAgICAgICBpZihzcGxpdHRlckxl ZnQpIHsgbV9wZ21nci0+R2V0UGFnZSgwKS0+U2V0U3BsaXR0ZXJMZWZ0KCk7IH0KKysgICAgICAg IGlmKHNwbGl0dGVyTGVmdCkgeworKyAgICAgICAgICAgIG1fcGdtZ3ItPlNldFNwbGl0dGVyTGVm dCgpOworKyAgICAgICAgfQorIAorICAgICAgICAgaW50IHNwbGl0dGVyUG9zID0gR2V0TG9uZygi c3BsaXR0ZXJwb3MiLCB3eE5PVF9GT1VORCk7CistICAgICAgICBpZihzcGxpdHRlclBvcyAhPSB3 eE5PVF9GT1VORCkgeyBtX3BnbWdyLT5HZXRQYWdlKDApLT5TZXRTcGxpdHRlclBvc2l0aW9uKHNw bGl0dGVyUG9zKTsgfQorKyAgICAgICAgaWYoc3BsaXR0ZXJQb3MgIT0gd3hOT1RfRk9VTkQpIHsK KysgICAgICAgICAgICBtX3BnbWdyLT5HZXRQYWdlKDApLT5TZXRTcGxpdHRlclBvc2l0aW9uKHNw bGl0dGVyUG9zKTsKKysgICAgICAgIH0KKyAKKyAgICAgICAgIG1faXNJbnNpZGUgPSBmYWxzZTsK KyAgICAgICAgIHJldHVybiBtX3BnbWdyOworQEAgLTY3LDcgKzcyLDkgQEAgYm9vbCBNeVd4UHJv cEdyaWRYbWxIYW5kbGVyOjpDYW5IYW5kbGUod3hYbWxOb2RlKiBub2RlKQorIAorIHZvaWQgTXlX eFByb3BHcmlkWG1sSGFuZGxlcjo6SGFuZGxlUGdQcm9wZXJ0eSh3eFBHUHJvcGVydHkqIHBhcmVu dCkKKyB7CistICAgIGlmKCFIYXNQYXJhbSh3eFQoInByb3B0eXBlIikpKSB7IHJldHVybjsgfQor KyAgICBpZighSGFzUGFyYW0od3hUKCJwcm9wdHlwZSIpKSkgeworKyAgICAgICAgcmV0dXJuOwor KyAgICB9CisgCisgICAgIC8vIFByb3BlcnR5CisgICAgIHd4U3RyaW5nIHByb3B0eXBlID0gR2V0 VGV4dCgicHJvcHR5cGUiKTsKK0BAIC0xMTYsNyArMTIzLDkgQEAgdm9pZCBNeVd4UHJvcEdyaWRY bWxIYW5kbGVyOjpIYW5kbGVQZ1Byb3BlcnR5KHd4UEdQcm9wZXJ0eSogcGFyZW50KQorIAorICAg ICB9IGVsc2UgaWYocHJvcHR5cGUgPT0gInd4RW51bVByb3BlcnR5IikgeworICAgICAgICAgaW50 IHNlbCA9IGl0ZW1zLkluZGV4KHZhbHVlKTsKKy0gICAgICAgIGlmKHNlbCA9PSB3eE5PVF9GT1VO RCkgeyBzZWwgPSAwOyB9CisrICAgICAgICBpZihzZWwgPT0gd3hOT1RfRk9VTkQpIHsKKysgICAg ICAgICAgICBzZWwgPSAwOworKyAgICAgICAgfQorIAorICAgICAgICAgcHJvcCA9IERvQXBwZW5k UHJvcGVydHkocGFyZW50LCBuZXcgd3hFbnVtUHJvcGVydHkobGFiZWwsIHd4UEdfTEFCRUwsIGl0 ZW1zLCB3eEFycmF5SW50KCksIHNlbCkpOworIAorQEAgLTE0Myw4ICsxNTIsMTIgQEAgdm9pZCBN eVd4UHJvcEdyaWRYbWxIYW5kbGVyOjpIYW5kbGVQZ1Byb3BlcnR5KHd4UEdQcm9wZXJ0eSogcGFy ZW50KQorIAorICAgICAvLyBIYW5kbGUgbmVzdGVkIGNoaWxkcmVuCisgICAgIGlmKHByb3ApIHsK Ky0gICAgICAgIGlmKGJnY29sLklzT2soKSkgeyBwcm9wLT5TZXRCYWNrZ3JvdW5kQ29sb3VyKGJn Y29sLCBiZ2NvbFJlY3Vyc2UpOyB9CistICAgICAgICBpZighcHJvcEVkaXRvci5Jc0VtcHR5KCkp IHsgcHJvcC0+U2V0RWRpdG9yKHByb3BFZGl0b3IpOyB9CisrICAgICAgICBpZihiZ2NvbC5Jc09r KCkpIHsKKysgICAgICAgICAgICBwcm9wLT5TZXRCYWNrZ3JvdW5kQ29sb3VyKGJnY29sLCBiZ2Nv bFJlY3Vyc2UpOworKyAgICAgICAgfQorKyAgICAgICAgaWYoIXByb3BFZGl0b3IuSXNFbXB0eSgp KSB7CisrICAgICAgICAgICAgcHJvcC0+U2V0RWRpdG9yKHByb3BFZGl0b3IpOworKyAgICAgICAg fQorICAgICAgICAgcHJvcC0+U2V0SGVscFN0cmluZyh0aXApOworIAorICAgICAgICAgLy8gQ2hl Y2sgdG8gc2VlIGlmIHRoaXMgcHJvcGVydHkgaGFzIGNoaWxkcmVuCitAQCAtMTYwLDEyICsxNzMs MTUgQEAgdm9pZCBNeVd4UHJvcEdyaWRYbWxIYW5kbGVyOjpIYW5kbGVQZ1Byb3BlcnR5KHd4UEdQ cm9wZXJ0eSogcGFyZW50KQorIAorIHd4QXJyYXlTdHJpbmcgTXlXeFByb3BHcmlkWG1sSGFuZGxl cjo6R2V0QXJyYXkoY29uc3Qgd3hYbWxOb2RlKiBub2RlKSBjb25zdAorIHsKKy0gICAgaWYoIW5v ZGUpIHJldHVybiB3eEFycmF5U3RyaW5nKCk7CisrICAgIGlmKCFub2RlKQorKyAgICAgICAgcmV0 dXJuIHd4QXJyYXlTdHJpbmcoKTsKKyAKKyAgICAgd3hBcnJheVN0cmluZyBpdGVtczsKKyAgICAg d3hYbWxOb2RlKiBjaGlsZCA9IG5vZGUtPkdldENoaWxkcmVuKCk7CisgICAgIHdoaWxlKGNoaWxk KSB7CistICAgICAgICBpZihjaGlsZC0+R2V0TmFtZSgpID09ICJpdGVtIikgeyBpdGVtcy5BZGQo Y2hpbGQtPkdldE5vZGVDb250ZW50KCkpOyB9CisrICAgICAgICBpZihjaGlsZC0+R2V0TmFtZSgp ID09ICJpdGVtIikgeworKyAgICAgICAgICAgIGl0ZW1zLkFkZChjaGlsZC0+R2V0Tm9kZUNvbnRl bnQoKSk7CisrICAgICAgICB9CisgICAgICAgICBjaGlsZCA9IGNoaWxkLT5HZXROZXh0KCk7Cisg ICAgIH0KKyAgICAgcmV0dXJuIGl0ZW1zOworLS0gCisyLjQyLjAKKwpkaWZmIC0tZ2l0IGEvc3Jj cGtncy9jb2RlbGl0ZS90ZW1wbGF0ZSBiL3NyY3BrZ3MvY29kZWxpdGUvdGVtcGxhdGUKaW5kZXgg YjBiZjhmNTc3MzZhNC4uMTQwZmUyMGQwZDI2YiAxMDA2NDQKLS0tIGEvc3JjcGtncy9jb2RlbGl0 ZS90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL2NvZGVsaXRlL3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBA QAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnY29kZWxpdGUnCiBwa2duYW1lPWNvZGVsaXRlCiB2ZXJz aW9uPTE2LjAuMAotcmV2aXNpb249MworcmV2aXNpb249NAogY3JlYXRlX3dya3NyYz15ZXMKIGJ1 aWxkX3N0eWxlPWNtYWtlCiBidWlsZF9oZWxwZXI9Y21ha2Utd3hXaWRnZXRzLWd0azMKCkZyb20g NDllYTI4YjEwYzg0ZDkzYTBjY2I4YWRkYTkwNWJjMzg5NDFhOGQ1NiBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKRnJvbTogIkFuZHJldyBKLiBIZXNmb3JkIiA8YWpoQHNpZGViYW5kLm9yZz4KRGF0 ZTogTW9uLCAyNSBTZXAgMjAyMyAwMDoxODoyMCAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMjEvNDNd IGRpZmYtcGRmOiByZWJ1aWxkIHdpdGggd3hXaWRnZXRzLWd0azMtMy4yLjIuMQoKLS0tCiBzcmNw a2dzL2RpZmYtcGRmL3RlbXBsYXRlIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9u KCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9kaWZmLXBkZi90ZW1wbGF0 ZSBiL3NyY3BrZ3MvZGlmZi1wZGYvdGVtcGxhdGUKaW5kZXggMWIxYzFiNjkwODE0Yy4uZGZmMWYy MjM2MmNiZCAxMDA2NDQKLS0tIGEvc3JjcGtncy9kaWZmLXBkZi90ZW1wbGF0ZQorKysgYi9zcmNw a2dzL2RpZmYtcGRmL3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZv ciAnZGlmZi1wZGYnCiBwa2duYW1lPWRpZmYtcGRmCiB2ZXJzaW9uPTAuNS4xCi1yZXZpc2lvbj0x CityZXZpc2lvbj0yCiBidWlsZF9zdHlsZT1nbnUtY29uZmlndXJlCiBjb25maWd1cmVfYXJncz0i LS13aXRoLXd4LWNvbmZpZz13eC1jb25maWctZ3RrMyIKIGhvc3RtYWtlZGVwZW5kcz0icGtnLWNv bmZpZyIKCkZyb20gNDk4YzA0NTgxM2U3OThjZDgzOGVlNDQ4YmJlODBkNmYzNmExN2M0YyBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogIkFuZHJldyBKLiBIZXNmb3JkIiA8YWpoQHNpZGVi YW5kLm9yZz4KRGF0ZTogTW9uLCAyNSBTZXAgMjAyMyAwMDoxODoyMCAtMDQwMApTdWJqZWN0OiBb UEFUQ0ggMjIvNDNdIGVybGFuZzogcmVidWlsZCB3aXRoIHd4V2lkZ2V0cy1ndGszLTMuMi4yLjEK Ci0tLQogc3JjcGtncy9lcmxhbmcvdGVtcGxhdGUgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBp bnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL2VybGFuZy90 ZW1wbGF0ZSBiL3NyY3BrZ3MvZXJsYW5nL3RlbXBsYXRlCmluZGV4IDQxMWY5MjFmNTlmNDguLjJi NzUyZWY3ODk2ZGMgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvZXJsYW5nL3RlbXBsYXRlCisrKyBiL3Ny Y3BrZ3MvZXJsYW5nL3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZv ciAnZXJsYW5nJwogcGtnbmFtZT1lcmxhbmcKIHZlcnNpb249MjYuMQotcmV2aXNpb249MQorcmV2 aXNpb249MgogYnVpbGRfc3R5bGU9Z251LWNvbmZpZ3VyZQogbWFrZV9pbnN0YWxsX3RhcmdldD0i aW5zdGFsbCBpbnN0YWxsLWRvY3MiCiBob3N0bWFrZWRlcGVuZHM9ImF1dG9jb25mIGxpYnhzbHQg cGVybCB0YXIiCgpGcm9tIGU0ZWYwNmJkZGViYTg0YTFiYzc4NGI5MjMxMWU4NmI4NWFjYzQ3Yjgg TW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206ICJBbmRyZXcgSi4gSGVzZm9yZCIgPGFqaEBz aWRlYmFuZC5vcmc+CkRhdGU6IE1vbiwgMjUgU2VwIDIwMjMgMDA6MTg6MjEgLTA0MDAKU3ViamVj dDogW1BBVENIIDIzLzQzXSBmaWxlemlsbGE6IHJlYnVpbGQgd2l0aCB3eFdpZGdldHMtZ3RrMy0z LjIuMi4xCgotLS0KIHNyY3BrZ3MvZmlsZXppbGxhL3RlbXBsYXRlIHwgMiArLQogMSBmaWxlIGNo YW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtn cy9maWxlemlsbGEvdGVtcGxhdGUgYi9zcmNwa2dzL2ZpbGV6aWxsYS90ZW1wbGF0ZQppbmRleCBj OGQ3ZmVhYjdiNGY1Li4yMWE1YjQ0MDA0YzU1IDEwMDY0NAotLS0gYS9zcmNwa2dzL2ZpbGV6aWxs YS90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL2ZpbGV6aWxsYS90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcg QEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ2ZpbGV6aWxsYScKIHBrZ25hbWU9ZmlsZXppbGxhCiB2 ZXJzaW9uPTMuNjUuMAotcmV2aXNpb249MQorcmV2aXNpb249MgogYnVpbGRfc3R5bGU9Z251LWNv bmZpZ3VyZQogY29uZmlndXJlX2FyZ3M9Ii0tZGlzYWJsZS1zdGF0aWMgLS1kaXNhYmxlLW1hbnVh bHVwZGF0ZWNoZWNrIC0tZGlzYWJsZS1hdXRvdXBkYXRlY2hlY2sKICAtLXdpdGgtd3gtY29uZmln PXd4LWNvbmZpZy1ndGszIgoKRnJvbSA2YjVlZTc5NTAxMDEwNzE2NDJlYzFlY2FmMjAwZmVkNmI4 NTVjYTNlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiAiQW5kcmV3IEouIEhlc2ZvcmQi IDxhamhAc2lkZWJhbmQub3JnPgpEYXRlOiBNb24sIDI1IFNlcCAyMDIzIDAwOjE4OjIxIC0wNDAw ClN1YmplY3Q6IFtQQVRDSCAyNC80M10gZ251cGxvdDogcmVidWlsZCB3aXRoIHd4V2lkZ2V0cy1n dGszLTMuMi4yLjEKCi0tLQogc3JjcGtncy9nbnVwbG90L3RlbXBsYXRlIHwgNCArKystCiAxIGZp bGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEv c3JjcGtncy9nbnVwbG90L3RlbXBsYXRlIGIvc3JjcGtncy9nbnVwbG90L3RlbXBsYXRlCmluZGV4 IGFkMGRiZjA1M2QwMDIuLmM0ZDlkY2IyYTg5NGMgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvZ251cGxv dC90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL2dudXBsb3QvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBA CiAjIFRlbXBsYXRlIGZpbGUgZm9yICdnbnVwbG90JwogcGtnbmFtZT1nbnVwbG90CiB2ZXJzaW9u PTUuNC45Ci1yZXZpc2lvbj0xCityZXZpc2lvbj0yCiBjb25maWd1cmVfYXJncz0iLS13aXRoLXJl YWRsaW5lPWJ1aWx0aW4iCiBob3N0bWFrZWRlcGVuZHM9InBrZy1jb25maWcgbHVhNTIiCiBtYWtl ZGVwZW5kcz0iemxpYi1kZXZlbCBsaWJYMTEtZGV2ZWwgZ2QtZGV2ZWwgbHVhNTItZGV2ZWwiCkBA IC0yMSw2ICsyMSw4IEBAIGZpCiAKIGFsdGVybmF0aXZlcz0iZ251cGxvdDpnbnVwbG90Oi91c3Iv YmluL2dudXBsb3QteDExIgogCitDWFhGTEFHUz0iLURfTEFSR0VGSUxFX1NPVVJDRSAtRF9GSUxF X09GRlNFVF9CSVRTPTY0IgorCiBwcmVfY29uZmlndXJlKCkgewogCSMgZml4IGZvbnRzIGxvY2F0 aW9uCiAJc2VkIC1pIFwKCkZyb20gOTU3YTNjOGZmMzczMDNmMGVjNWUwYmMzYjI0ZDI5MjVlMTFi ZDg1YyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogIkFuZHJldyBKLiBIZXNmb3JkIiA8 YWpoQHNpZGViYW5kLm9yZz4KRGF0ZTogTW9uLCAyNSBTZXAgMjAyMyAwMDoxODoyMSAtMDQwMApT dWJqZWN0OiBbUEFUQ0ggMjUvNDNdIGdvbGx5OiByZWJ1aWxkIHdpdGggd3hXaWRnZXRzLWd0azMt My4yLjIuMQoKLS0tCiBzcmNwa2dzL2dvbGx5L3RlbXBsYXRlIHwgMiArLQogMSBmaWxlIGNoYW5n ZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9n b2xseS90ZW1wbGF0ZSBiL3NyY3BrZ3MvZ29sbHkvdGVtcGxhdGUKaW5kZXggNjkxZjk5OWE2ZWRk ZC4uMWZkNDA2YjZhMmY1NSAxMDA2NDQKLS0tIGEvc3JjcGtncy9nb2xseS90ZW1wbGF0ZQorKysg Yi9zcmNwa2dzL2dvbGx5L3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxl IGZvciAnZ29sbHknCiBwa2duYW1lPWdvbGx5CiB2ZXJzaW9uPTQuMQotcmV2aXNpb249MgorcmV2 aXNpb249MwogYnVpbGRfd3Jrc3JjPSJndWktd3giCiBidWlsZF9zdHlsZT1nbnUtbWFrZWZpbGUK IG1ha2VfYnVpbGRfYXJncz0iLWYgbWFrZWZpbGUtZ3RrIEdPTExZRElSPS91c3Ivc2hhcmUvZ29s bHkgTFVBTElCPS1sbHVhNS40CgpGcm9tIDJiNzliYzc3OTMwMjZmY2FhNzMxMjRkNTY1YzY4NjQ2 YzBhMWY4YTIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206ICJBbmRyZXcgSi4gSGVzZm9y ZCIgPGFqaEBzaWRlYmFuZC5vcmc+CkRhdGU6IE1vbiwgMjUgU2VwIDIwMjMgMDA6MTg6MjEgLTA0 MDAKU3ViamVjdDogW1BBVENIIDI2LzQzXSBodWdpbjogcmVidWlsZCB3aXRoIHd4V2lkZ2V0cy1n dGszLTMuMi4yLjEKCi0tLQogc3JjcGtncy9odWdpbi90ZW1wbGF0ZSB8IDIgKy0KIDEgZmlsZSBj aGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyY3Br Z3MvaHVnaW4vdGVtcGxhdGUgYi9zcmNwa2dzL2h1Z2luL3RlbXBsYXRlCmluZGV4IDk0M2QyM2Qx YTkzMmYuLjczNzIwNzgxYzcxOTEgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvaHVnaW4vdGVtcGxhdGUK KysrIGIvc3JjcGtncy9odWdpbi90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUg ZmlsZSBmb3IgJ2h1Z2luJwogcGtnbmFtZT1odWdpbgogdmVyc2lvbj0yMDIyLjAuMAotcmV2aXNp b249OAorcmV2aXNpb249OQogYnVpbGRfc3R5bGU9Y21ha2UKIGJ1aWxkX2hlbHBlcj1jbWFrZS13 eFdpZGdldHMtZ3RrMwogcHljb21waWxlX2RpcnM9InVzci9zaGFyZS9odWdpbi9kYXRhL3BsdWdp bnMgdXNyL3NoYXJlL2h1Z2luL2RhdGEvcGx1Z2lucy10ZW1wbGF0ZXMiCgpGcm9tIGYyOTg2NWI4 MWJkMWFhODIzNTFjM2EwOThlMzk1NzIxMDcwODU0M2MgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx CkZyb206ICJBbmRyZXcgSi4gSGVzZm9yZCIgPGFqaEBzaWRlYmFuZC5vcmc+CkRhdGU6IE1vbiwg MjUgU2VwIDIwMjMgMDA6MTg6MjEgLTA0MDAKU3ViamVjdDogW1BBVENIIDI3LzQzXSBtZWRpYWlu Zm86IHJlYnVpbGQgd2l0aCB3eFdpZGdldHMtZ3RrMy0zLjIuMi4xCgotLS0KIHNyY3BrZ3MvbWVk aWFpbmZvL3RlbXBsYXRlIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAx IGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9tZWRpYWluZm8vdGVtcGxhdGUgYi9z cmNwa2dzL21lZGlhaW5mby90ZW1wbGF0ZQppbmRleCBlODBkYTU5ZWFkODgwLi4xYjgyMzc2YjNm YmRhIDEwMDY0NAotLS0gYS9zcmNwa2dzL21lZGlhaW5mby90ZW1wbGF0ZQorKysgYi9zcmNwa2dz L21lZGlhaW5mby90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3Ig J21lZGlhaW5mbycKIHBrZ25hbWU9bWVkaWFpbmZvCiB2ZXJzaW9uPTIyLjEyCi1yZXZpc2lvbj0x CityZXZpc2lvbj0yCiBjb25maWd1cmVfYXJncz0iLS13aXRoLXd4LWNvbmZpZz13eC1jb25maWct Z3RrMyIKIGhvc3RtYWtlZGVwZW5kcz0iYXV0b21ha2UgbGlidG9vbCBwa2ctY29uZmlnIgogbWFr ZWRlcGVuZHM9ImxpYm1lZGlhaW5mby1kZXZlbCB6bGliLWRldmVsIHd4V2lkZ2V0cy1ndGszLWRl dmVsIgoKRnJvbSA4NzFlNmI0YmNhY2FhNTBjMTkwNTJiMzQxNTliMzEyYzE5ZDg4M2JjIE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiAiQW5kcmV3IEouIEhlc2ZvcmQiIDxhamhAc2lkZWJh bmQub3JnPgpEYXRlOiBNb24sIDI1IFNlcCAyMDIzIDAwOjE4OjIxIC0wNDAwClN1YmplY3Q6IFtQ QVRDSCAyOC80M10gb3BlbmJhYmVsOiByZWJ1aWxkIHdpdGggd3hXaWRnZXRzLWd0azMtMy4yLjIu MQoKLS0tCiBzcmNwa2dzL29wZW5iYWJlbC90ZW1wbGF0ZSB8IDIgKy0KIDEgZmlsZSBjaGFuZ2Vk LCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mvb3Bl bmJhYmVsL3RlbXBsYXRlIGIvc3JjcGtncy9vcGVuYmFiZWwvdGVtcGxhdGUKaW5kZXggNDFkYjg0 OGQ3NGU0Yy4uNzdiYmVhMjhmZjY5NiAxMDA2NDQKLS0tIGEvc3JjcGtncy9vcGVuYmFiZWwvdGVt cGxhdGUKKysrIGIvc3JjcGtncy9vcGVuYmFiZWwvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAj IFRlbXBsYXRlIGZpbGUgZm9yICdvcGVuYmFiZWwnCiBwa2duYW1lPW9wZW5iYWJlbAogdmVyc2lv bj0zLjEuMQotcmV2aXNpb249MQorcmV2aXNpb249MgogX3Zlcj0ke3ZlcnNpb24vLy4vLX0KIGJ1 aWxkX3N0eWxlPWNtYWtlCiBidWlsZF9oZWxwZXI9Y21ha2Utd3hXaWRnZXRzLWd0azMKCkZyb20g NDEzMTY0ZmRkZWJmMjI4ZGE5NDcxMDAzNWRjNDE5OTYzZTgyZGY2ZiBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKRnJvbTogIkFuZHJldyBKLiBIZXNmb3JkIiA8YWpoQHNpZGViYW5kLm9yZz4KRGF0 ZTogTW9uLCAyNSBTZXAgMjAyMyAwMDoxODoyMiAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMjkvNDNd IHBhc3N3b3Jkc2FmZTogcmVidWlsZCB3aXRoIHd4V2lkZ2V0cy1ndGszLTMuMi4yLjEKCi0tLQog c3JjcGtncy9wYXNzd29yZHNhZmUvdGVtcGxhdGUgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBp bnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3Bhc3N3b3Jk c2FmZS90ZW1wbGF0ZSBiL3NyY3BrZ3MvcGFzc3dvcmRzYWZlL3RlbXBsYXRlCmluZGV4IDg4ZmZh NDFmNDc0YmMuLmY4M2QxZmU1Y2IxZjUgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvcGFzc3dvcmRzYWZl L3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvcGFzc3dvcmRzYWZlL3RlbXBsYXRlCkBAIC0xLDcgKzEs NyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAncGFzc3dvcmRzYWZlJwogcGtnbmFtZT1wYXNzd29y ZHNhZmUKIHZlcnNpb249MS4xNi4wCi1yZXZpc2lvbj0xCityZXZpc2lvbj0yCiBidWlsZF9zdHls ZT1jbWFrZQogYnVpbGRfaGVscGVyPWNtYWtlLXd4V2lkZ2V0cy1ndGszCiAjIGJ1aWxkIHByb2Nl c3MgdXNlcyBwZXJsIHRvIGdlbmVyYXRlIGNvcmVfc3QuY3BwIGFuZCB6aXAgdG8gZ2VuZXJhdGUg aGVscCBmaWxlcwoKRnJvbSA2ZTE0Mjg3ZjkxYmQ4ZmQwMWQ1MjkxNmI4M2E5ZTdjYmQ5NDc3NjZi IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiAiQW5kcmV3IEouIEhlc2ZvcmQiIDxhamhA c2lkZWJhbmQub3JnPgpEYXRlOiBNb24sIDI1IFNlcCAyMDIzIDAwOjE4OjIyIC0wNDAwClN1Ympl Y3Q6IFtQQVRDSCAzMC80M10gcG9lZGl0OiByZWJ1aWxkIHdpdGggd3hXaWRnZXRzLWd0azMtMy4y LjIuMQoKLS0tCiBzcmNwa2dzL3BvZWRpdC90ZW1wbGF0ZSB8IDIgKy0KIDEgZmlsZSBjaGFuZ2Vk LCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcG9l ZGl0L3RlbXBsYXRlIGIvc3JjcGtncy9wb2VkaXQvdGVtcGxhdGUKaW5kZXggNDllN2VmZTk2NTQ3 Ni4uMDlhZDE5MmFmMjM2ZCAxMDA2NDQKLS0tIGEvc3JjcGtncy9wb2VkaXQvdGVtcGxhdGUKKysr IGIvc3JjcGtncy9wb2VkaXQvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZp bGUgZm9yICdwb2VkaXQnCiBwa2duYW1lPXBvZWRpdAogdmVyc2lvbj0zLjMuMgotcmV2aXNpb249 MworcmV2aXNpb249NAogYnVpbGRfc3R5bGU9Z251LWNvbmZpZ3VyZQogY29uZmlndXJlX2FyZ3M9 Ii0td2l0aC13eC1jb25maWc9d3gtY29uZmlnLWd0azMiCiBob3N0bWFrZWRlcGVuZHM9InBrZy1j b25maWciCgpGcm9tIDJjNTQzM2Q2ZTY3Y2M4NjU0MjcyYmNmMGIxNjJlMWMzOTA1ZGI1MjkgTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206ICJBbmRyZXcgSi4gSGVzZm9yZCIgPGFqaEBzaWRl YmFuZC5vcmc+CkRhdGU6IE1vbiwgMjUgU2VwIDIwMjMgMDA6MTg6MjIgLTA0MDAKU3ViamVjdDog W1BBVENIIDMxLzQzXSBzcGVrLWFsdGVybmF0aXZlOiByZWJ1aWxkIHdpdGggd3hXaWRnZXRzLWd0 azMtMy4yLjIuMQoKLS0tCiBzcmNwa2dzL3NwZWstYWx0ZXJuYXRpdmUvdGVtcGxhdGUgfCAyICst CiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1n aXQgYS9zcmNwa2dzL3NwZWstYWx0ZXJuYXRpdmUvdGVtcGxhdGUgYi9zcmNwa2dzL3NwZWstYWx0 ZXJuYXRpdmUvdGVtcGxhdGUKaW5kZXggZDY1MDg2YjhmMDA4Yy4uNzI3NDdjYmIwYTAyNCAxMDA2 NDQKLS0tIGEvc3JjcGtncy9zcGVrLWFsdGVybmF0aXZlL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3Mv c3Blay1hbHRlcm5hdGl2ZS90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmls ZSBmb3IgJ3NwZWstYWx0ZXJuYXRpdmUnCiBwa2duYW1lPXNwZWstYWx0ZXJuYXRpdmUKIHZlcnNp b249MC44LjIuMwotcmV2aXNpb249MQorcmV2aXNpb249MgogYnVpbGRfc3R5bGU9Z251LWNvbmZp Z3VyZQogaG9zdG1ha2VkZXBlbmRzPSJhdXRvbWFrZSBnZXR0ZXh0LWRldmVsIGludGx0b29sIGxp YnRvb2wgcGtnLWNvbmZpZyB3eFdpZGdldHMtY29tbW9uIgogbWFrZWRlcGVuZHM9ImZmbXBlZy1k ZXZlbCB3eFdpZGdldHMtZ3RrMy1kZXZlbCIKCkZyb20gNGIyODAwZmIyZGM4NWY0ODViOTI2ODhj ZjFkNTM3ZjNkMWM5NGJjMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogIkFuZHJldyBK LiBIZXNmb3JkIiA8YWpoQHNpZGViYW5kLm9yZz4KRGF0ZTogTW9uLCAyNSBTZXAgMjAyMyAwMDox ODoyMiAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMzIvNDNdIHRxc2w6IHJlYnVpbGQgd2l0aCB3eFdp ZGdldHMtZ3RrMy0zLjIuMi4xCgotLS0KIHNyY3BrZ3MvdHFzbC90ZW1wbGF0ZSB8IDIgKy0KIDEg ZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBh L3NyY3BrZ3MvdHFzbC90ZW1wbGF0ZSBiL3NyY3BrZ3MvdHFzbC90ZW1wbGF0ZQppbmRleCA2MTM4 OWIwNWU2MmQ0Li4yYzRhYWJjMjE3NjE1IDEwMDY0NAotLS0gYS9zcmNwa2dzL3Rxc2wvdGVtcGxh dGUKKysrIGIvc3JjcGtncy90cXNsL3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0 ZSBmaWxlIGZvciAndHFzbCcKIHBrZ25hbWU9dHFzbAogdmVyc2lvbj0yLjYuNQotcmV2aXNpb249 MgorcmV2aXNpb249MwogYnVpbGRfc3R5bGU9Y21ha2UKIGJ1aWxkX2hlbHBlcj1jbWFrZS13eFdp ZGdldHMtZ3RrMwogaG9zdG1ha2VkZXBlbmRzPSJ3eFdpZGdldHMtZ3RrMy1kZXZlbCIKCkZyb20g YmI1OWVmM2YyMmQ5YzkzMGQ0MjVlN2RjZGYyN2QzZGEzNWRmNmI2ZiBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKRnJvbTogIkFuZHJldyBKLiBIZXNmb3JkIiA8YWpoQHNpZGViYW5kLm9yZz4KRGF0 ZTogTW9uLCAyNSBTZXAgMjAyMyAwMDoxODoyMiAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMzMvNDNd IHRyZWVzaGVldHM6IHJlYnVpbGQgd2l0aCB3eFdpZGdldHMtZ3RrMy0zLjIuMi4xCgotLS0KIHNy Y3BrZ3MvdHJlZXNoZWV0cy90ZW1wbGF0ZSB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2Vy dGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvdHJlZXNoZWV0cy90 ZW1wbGF0ZSBiL3NyY3BrZ3MvdHJlZXNoZWV0cy90ZW1wbGF0ZQppbmRleCBkNWY2MjY5OWFmNGEy Li5mMDJkMTNmZDZiYWZiIDEwMDY0NAotLS0gYS9zcmNwa2dzL3RyZWVzaGVldHMvdGVtcGxhdGUK KysrIGIvc3JjcGtncy90cmVlc2hlZXRzL3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1w bGF0ZSBmaWxlIGZvciAndHJlZXNoZWV0cycKIHBrZ25hbWU9dHJlZXNoZWV0cwogdmVyc2lvbj0x LjAuMgotcmV2aXNpb249MQorcmV2aXNpb249MgogYnVpbGRfc3R5bGU9Y21ha2UKIGJ1aWxkX2hl bHBlcj0iY21ha2Utd3hXaWRnZXRzLWd0azMiCiBtYWtlZGVwZW5kcz0id3hXaWRnZXRzLWd0azMt ZGV2ZWwiCgpGcm9tIGIzNDc1YjViMTBkMjRiYzg5OGVjNDM3OWU0NjVhM2VlYmE1OGM5YWIgTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206ICJBbmRyZXcgSi4gSGVzZm9yZCIgPGFqaEBzaWRl YmFuZC5vcmc+CkRhdGU6IE1vbiwgMjUgU2VwIDIwMjMgMDA6MTg6MjIgLTA0MDAKU3ViamVjdDog W1BBVENIIDM0LzQzXSB2YmEtbTogcmVidWlsZCB3aXRoIHd4V2lkZ2V0cy1ndGszLTMuMi4yLjEK Ci0tLQogc3JjcGtncy92YmEtbS90ZW1wbGF0ZSB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGlu c2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvdmJhLW0vdGVt cGxhdGUgYi9zcmNwa2dzL3ZiYS1tL3RlbXBsYXRlCmluZGV4IDQxMTVhOWY2MjE0ODEuLjQ4NmU0 NjA5YTE5ZDYgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvdmJhLW0vdGVtcGxhdGUKKysrIGIvc3JjcGtn cy92YmEtbS90ZW1wbGF0ZQpAQCAtMiw3ICsyLDcgQEAKIHBrZ25hbWU9dmJhLW0KIHJldmVydHM9 MTI5Ml8yCiB2ZXJzaW9uPTIuMS43Ci1yZXZpc2lvbj0xCityZXZpc2lvbj0yCiBidWlsZF9zdHls ZT1jbWFrZQogY29uZmlndXJlX2FyZ3M9Ii1ERU5BQkxFX0dUSz1UUlVFIC1ERU5BQkxFX0ZGTVBF Rz1UUlVFIC1ERU5BQkxFX0xJTks9VFJVRSAtRENNQUtFX0JVSUxEX1RZUEU9UmVsZWFzZSIKIGhv c3RtYWtlZGVwZW5kcz0iZ2V0dGV4dCBwa2ctY29uZmlnIHVuemlwIHppcCB5YXNtIHd4V2lkZ2V0 cy1ndGszLWRldmVsIgoKRnJvbSBkYzk2MDdhMWI3M2VmMmIyODE4MjgzMWQ4MDhmZmIxNzJiYWMx ZjQ1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiAiQW5kcmV3IEouIEhlc2ZvcmQiIDxh amhAc2lkZWJhbmQub3JnPgpEYXRlOiBNb24sIDI1IFNlcCAyMDIzIDAwOjE4OjIyIC0wNDAwClN1 YmplY3Q6IFtQQVRDSCAzNS80M10gd2ludXNiOiByZWJ1aWxkIHdpdGggd3hXaWRnZXRzLWd0azMt My4yLjIuMQoKLS0tCiBzcmNwa2dzL3dpbnVzYi90ZW1wbGF0ZSB8IDIgKy0KIDEgZmlsZSBjaGFu Z2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mv d2ludXNiL3RlbXBsYXRlIGIvc3JjcGtncy93aW51c2IvdGVtcGxhdGUKaW5kZXggNjRlYzhmY2Ux MmIwMC4uNWVkMWI4MDA0ODg0NiAxMDA2NDQKLS0tIGEvc3JjcGtncy93aW51c2IvdGVtcGxhdGUK KysrIGIvc3JjcGtncy93aW51c2IvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRl IGZpbGUgZm9yICd3aW51c2InCiBwa2duYW1lPXdpbnVzYgogdmVyc2lvbj0xLjAuMTEKLXJldmlz aW9uPTEwCityZXZpc2lvbj0xMQogYXJjaHM9Imk2ODYqIHg4Nl82NCoiCiBidWlsZF9zdHlsZT1n bnUtY29uZmlndXJlCiBjb25maWd1cmVfYXJncz0iLS13aXRoLXd4LWNvbmZpZz13eC1jb25maWct Z3RrMyIKCkZyb20gMmY0ODYwZDQxOWJhZjNjNmNiY2Q1NTRlMzQyMjFmNjkwMGMxMTBmZCBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogIkFuZHJldyBKLiBIZXNmb3JkIiA8YWpoQHNpZGVi YW5kLm9yZz4KRGF0ZTogTW9uLCAyNSBTZXAgMjAyMyAwMDoxODoyMyAtMDQwMApTdWJqZWN0OiBb UEFUQ0ggMzYvNDNdIHd4TWF4aW1hOiByZWJ1aWxkIHdpdGggd3hXaWRnZXRzLWd0azMtMy4yLjIu MQoKLS0tCiBzcmNwa2dzL3d4TWF4aW1hL3RlbXBsYXRlIHwgMiArLQogMSBmaWxlIGNoYW5nZWQs IDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy93eE1h eGltYS90ZW1wbGF0ZSBiL3NyY3BrZ3Mvd3hNYXhpbWEvdGVtcGxhdGUKaW5kZXggMWU1MTJjMzk2 NDRiOS4uYzM5MWQ3ODFjNmZkMSAxMDA2NDQKLS0tIGEvc3JjcGtncy93eE1heGltYS90ZW1wbGF0 ZQorKysgYi9zcmNwa2dzL3d4TWF4aW1hL3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1w bGF0ZSBmaWxlIGZvciAnd3hNYXhpbWEnCiBwa2duYW1lPXd4TWF4aW1hCiB2ZXJzaW9uPTIwLjAy LjQKLXJldmlzaW9uPTEKK3JldmlzaW9uPTIKIGJ1aWxkX3N0eWxlPWNtYWtlCiBjb25maWd1cmVf YXJncz0iLUR3eFdpZGdldHNfQ09ORklHX0VYRUNVVEFCTEU9L3Vzci9iaW4vd3gtY29uZmlnLWd0 azMiCiBob3N0bWFrZWRlcGVuZHM9ImdldHRleHQgcGVybCBkZXNrdG9wLWZpbGUtdXRpbHMgZG94 eWdlbiBwbzRhIgoKRnJvbSAzZWRiYTRlM2ViOTkyNmE0OTA5Yzg0OWY1ZDBjODQwYTliOGZlNTM4 IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiAiQW5kcmV3IEouIEhlc2ZvcmQiIDxhamhA c2lkZWJhbmQub3JnPgpEYXRlOiBNb24sIDI1IFNlcCAyMDIzIDAwOjE4OjIzIC0wNDAwClN1Ympl Y3Q6IFtQQVRDSCAzNy80M10geGNobTogcmVidWlsZCB3aXRoIHd4V2lkZ2V0cy1ndGszLTMuMi4y LjEKCi0tLQogc3JjcGtncy94Y2htL3RlbXBsYXRlIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEg aW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy94Y2htL3Rl bXBsYXRlIGIvc3JjcGtncy94Y2htL3RlbXBsYXRlCmluZGV4IDAyOTAwYjQzMzg1ZWMuLjA2Nzgy YzFmOTc3NDMgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MveGNobS90ZW1wbGF0ZQorKysgYi9zcmNwa2dz L3hjaG0vdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICd4Y2ht JwogcGtnbmFtZT14Y2htCiB2ZXJzaW9uPTEuMzQKLXJldmlzaW9uPTEKK3JldmlzaW9uPTIKIGJ1 aWxkX3N0eWxlPWdudS1jb25maWd1cmUKIGNvbmZpZ3VyZV9hcmdzPSItLXdpdGgtd3gtY29uZmln PXd4LWNvbmZpZy1ndGszIgogaG9zdG1ha2VkZXBlbmRzPSJhdXRvbWFrZSBnZXR0ZXh0LWRldmVs IHRhciIKCkZyb20gNmMwMzdkYzIxYzdhMTUyNzQwOWMzODdmMWZkYjZhMTkzNTU4Y2Q4NiBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogIkFuZHJldyBKLiBIZXNmb3JkIiA8YWpoQHNpZGVi YW5kLm9yZz4KRGF0ZTogTW9uLCAyNSBTZXAgMjAyMyAwODowMjowNSAtMDQwMApTdWJqZWN0OiBb UEFUQ0ggMzgvNDNdIGNoaXJwOiByZWJ1aWxkIGFnYWluc3QgbmV3IHd4UHl0aG9uCgotLS0KIHNy Y3BrZ3MvY2hpcnAvdGVtcGxhdGUgfCA0ICsrLS0KIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlv bnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9jaGlycC90ZW1wbGF0 ZSBiL3NyY3BrZ3MvY2hpcnAvdGVtcGxhdGUKaW5kZXggZDIzODZiYTQ5NjZiZS4uMThiNDFjMjZi NjI3ZCAxMDA2NDQKLS0tIGEvc3JjcGtncy9jaGlycC90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL2No aXJwL3RlbXBsYXRlCkBAIC0xLDEwICsxLDEwIEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdjaGly cCcKIHBrZ25hbWU9Y2hpcnAKIHZlcnNpb249MjAyMzA5MTEKLXJldmlzaW9uPTEKK3JldmlzaW9u PTIKIGJ1aWxkX3N0eWxlPXB5dGhvbjMtcGVwNTE3CiBob3N0bWFrZWRlcGVuZHM9InB5dGhvbjMt c2V0dXB0b29scyBweXRob24zLXdoZWVsIgotZGVwZW5kcz0icHl0aG9uMy1zaXggd3hQeXRob240 IHB5dGhvbjMtcHlzZXJpYWwgcHl0aG9uMy1mdXR1cmUgcHl0aG9uMy1yZXF1ZXN0cworZGVwZW5k cz0icHl0aG9uMy1zaXggd3hQeXRob24gcHl0aG9uMy1weXNlcmlhbCBweXRob24zLWZ1dHVyZSBw eXRob24zLXJlcXVlc3RzCiAgcHl0aG9uMy1zdWRzIHB5dGhvbjMteWF0dGFnIgogc2hvcnRfZGVz Yz0iT3Blbi1zb3VyY2UgdG9vbCBmb3IgcHJvZ3JhbW1pbmcgYW1hdGV1ciByYWRpb3MiCiBtYWlu dGFpbmVyPSJFbWlsIE1pbGVyIDxlbUAweDQ1LmN6PiIKCkZyb20gOTk0YmViZDliMGQ0YWNkNDQ1 ZmRiMzgxOTk0NTg3OTBlZGYzN2NmNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogIkFu ZHJldyBKLiBIZXNmb3JkIiA8YWpoQHNpZGViYW5kLm9yZz4KRGF0ZTogTW9uLCAyNSBTZXAgMjAy MyAwODowMjo1MSAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMzkvNDNdIGdyYXNzOiByZWJ1aWxkIGFn YWluc3QgbmV3IHd4UHl0aG9uCgotLS0KIHNyY3BrZ3MvZ3Jhc3MvdGVtcGxhdGUgfCA4ICsrKyst LS0tCiAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlm ZiAtLWdpdCBhL3NyY3BrZ3MvZ3Jhc3MvdGVtcGxhdGUgYi9zcmNwa2dzL2dyYXNzL3RlbXBsYXRl CmluZGV4IDhiYTAzYmI3YmVhOTguLmRlZDhlNDBkYWFmMTAgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3Mv Z3Jhc3MvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9ncmFzcy90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcg QEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ2dyYXNzJwogcGtnbmFtZT1ncmFzcwogdmVyc2lvbj04 LjIuMQotcmV2aXNpb249MgorcmV2aXNpb249MwogX2JpbnZlcj0ke3ZlcnNpb24vLy4vfQogX2Jp bnZlcj0ke19iaW52ZXI6MDoyfQogYnVpbGRfc3R5bGU9Z251LWNvbmZpZ3VyZQpAQCAtMTEsNyAr MTEsNyBAQCBob3N0bWFrZWRlcGVuZHM9ImZsZXggbGliZ2RhbC10b29scyBwa2ctY29uZmlnIHB5 dGhvbjMtbnVtcHkgcHl0aG9uMy1zaXggdGFyIgogbWFrZWRlcGVuZHM9InByb2otZGV2ZWwgdGlm Zi1kZXZlbCBsaWJnZGFsLWRldmVsIHNxbGl0ZS1kZXZlbAogIGZmdHctZGV2ZWwgY2Fpcm8tZGV2 ZWwgZ2x1LWRldmVsIgogZGVwZW5kcz0icHl0aG9uMy1udW1weSBweXRob24zLWRhdGV1dGlsIHB5 dGhvbjMtUGlsbG93IHB5dGhvbjMtbWF0cGxvdGxpYgotIHB5dGhvbjMtc2l4IHB5dGhvbjMtcGx5 IHd4UHl0aG9uNCIKKyBweXRob24zLXNpeCBweXRob24zLXBseSB3eFB5dGhvbiIKIHNob3J0X2Rl c2M9Ikdlb2dyYXBoaWMgUmVzb3VyY2VzIEFuYWx5c2lzIFN1cHBvcnQgU3lzdGVtIC0gR0lTIgog bWFpbnRhaW5lcj0iQWxleCBKYXJvc2NoIDxyZXNlYXJjaEBhbGV4ai5hdD4iCiBsaWNlbnNlPSJH UEwtMi4wLW9yLWxhdGVyIgpAQCAtMjIsNyArMjIsNyBAQCBweXRob25fdmVyc2lvbj0zCiBub2Ny b3NzPSJ0cmllcyB0byBleGVjdXRlIHRhcmdldCBiaW5hcmllcyIKIAogcG9zdF9pbnN0YWxsKCkg ewotCSMgVGhpcyBwYWNrYWdlIGlzIGJyb2tlbiB3aXRoIHd4UHl0aG9uNCAoPD00LjAuNyksCi0J IyBoZW5jZSB0aGUgR1VJIGlzIGNvbXB1bHNvcmlseSBkaXNhYmxlZC4KKwkjIFRoaXMgcGFja2Fn ZSBpcyBicm9rZW4gd2l0aCB3eFB5dGhvbiAoPD00LjAuNykgYW5kIHRoZSBHVUkKKwkjIGlzIGRp c2FibGVkIHBlbmRpbmcgZnVydGhlciB0ZXN0aW5nIHdpdGggbmV3ZXIgd3hQeXRob24KIAl2c2Vk IC1pICIke0RFU1RESVJ9L3Vzci9iaW4vZ3Jhc3MiIC1lICJzL1woZGVmYXVsdF9ndWkgPVwpLiov XDEgXCJ0ZXh0XCIvIgogfQoKRnJvbSAzMzQ1YzljYTcxNzBhODUyMjQ2NjE5MDNmNWI1OTI0NjM2 NWY2Njc2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiAiQW5kcmV3IEouIEhlc2ZvcmQi IDxhamhAc2lkZWJhbmQub3JnPgpEYXRlOiBNb24sIDI1IFNlcCAyMDIzIDAwOjE4OjIxIC0wNDAw ClN1YmplY3Q6IFtQQVRDSCA0MC80M10ga2ljYWQ6IHJlYnVpbGQgYWdhaW5zdCBuZXcgd3hQeXRo b24KCi0tLQogc3JjcGtncy9raWNhZC90ZW1wbGF0ZSB8IDEzICsrKysrKystLS0tLS0KIDEgZmls ZSBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv c3JjcGtncy9raWNhZC90ZW1wbGF0ZSBiL3NyY3BrZ3Mva2ljYWQvdGVtcGxhdGUKaW5kZXggMWMz NGM0OThhZmJkOC4uYmZiNzEyMGFjZDI4MCAxMDA2NDQKLS0tIGEvc3JjcGtncy9raWNhZC90ZW1w bGF0ZQorKysgYi9zcmNwa2dzL2tpY2FkL3RlbXBsYXRlCkBAIC0xLDE4ICsxLDE5IEBACiAjIFRl bXBsYXRlIGZpbGUgZm9yICdraWNhZCcKIHBrZ25hbWU9a2ljYWQKIHZlcnNpb249Ny4wLjEKLXJl dmlzaW9uPTIKK3JldmlzaW9uPTMKIGJ1aWxkX3N0eWxlPWNtYWtlCiBidWlsZF9oZWxwZXI9Y21h a2Utd3hXaWRnZXRzLWd0azMKIGNvbmZpZ3VyZV9hcmdzPSItREtJQ0FEX1NDUklQVElOR19XWFBZ VEhPTj1PTgogIC1ES0lDQURfQlVJTERfSTE4Tj1PTiAtREtJQ0FEX0kxOE5fVU5JWF9TVFJJQ1Rf UEFUSD1PTgotIC1Ed3hXaWRnZXRzX0NPTkZJR19FWEVDVVRBQkxFPSRXWF9DT05GSUcKKyAtRHd4 V2lkZ2V0c19DT05GSUdfRVhFQ1VUQUJMRT0kV1hfQ09ORklHIC1ES0lDQURfVVNFX0VHTD1PTgog IC1ES0lDQURfVVNFX09DQz0kKHZvcHRfaWYgb2NjdCBPTiBPRkYpIC1ES0lDQURfU1BJQ0U9JCh2 b3B0X2lmIHNwaWNlIE9OIE9GRikiCiBob3N0bWFrZWRlcGVuZHM9InBrZy1jb25maWcgc3dpZyB3 eFdpZGdldHMtZ3RrMy1kZXZlbCBweXRob24zIHRhciBnZXR0ZXh0IgotbWFrZWRlcGVuZHM9Ind4 V2lkZ2V0cy1ndGszLWRldmVsIHd4UHl0aG9uNCBweXRob24zLWRldmVsIGdsZXctZGV2ZWwgY2Fp cm8tZGV2ZWwKLSBib29zdC1kZXZlbCBsaWJjdXJsLWRldmVsIGdsbSBsaWJnb21wLWRldmVsIGxp YmZyZWVnbHV0LWRldmVsIGd0ayszLWRldmVsIHVuaXhvZGJjLWRldmVsCittYWtlZGVwZW5kcz0i d3hXaWRnZXRzLWd0azMtZGV2ZWwgd3hQeXRob24gcHl0aG9uMy1kZXZlbCBnbGV3LWRldmVsCisg Y2Fpcm8tZGV2ZWwgYm9vc3QtZGV2ZWwgbGliY3VybC1kZXZlbCBnbG0gbGliZ29tcC1kZXZlbCBs aWJmcmVlZ2x1dC1kZXZlbAorIGd0ayszLWRldmVsIHVuaXhvZGJjLWRldmVsCiAgJCh2b3B0X2lm IG9jY3Qgb2NjdC1kZXZlbCkgJCh2b3B0X2lmIHNwaWNlIG5nc3BpY2UtZGV2ZWwpIgotZGVwZW5k cz0id3hQeXRob240IgorZGVwZW5kcz0id3hQeXRob24iCiBzaG9ydF9kZXNjPSJFbGVjdHJvbmlj IHNjaGVtYXRpYyBhbmQgUENCIGRlc2lnbiBzb2Z0d2FyZSIKIG1haW50YWluZXI9IsOJcmljbyBO b2d1ZWlyYSA8ZXJpY29uckBkaXNyb290Lm9yZz4iCiBsaWNlbnNlPSJHUEwtMy4wLW9yLWxhdGVy IgpAQCAtNDEsNyArNDIsNyBAQCBmaQogbm9jcm9zcz0iZXhlY3V0ZSBsZW1vbiBkdXJpbmcgYnVp bGQiCiAKIGlmIFsgIiRDUk9TU19CVUlMRCIgXTsgdGhlbgotCWhvc3RtYWtlZGVwZW5kcys9IiB3 eFB5dGhvbjQiCisJaG9zdG1ha2VkZXBlbmRzKz0iIHd4UHl0aG9uIgogCWNvbmZpZ3VyZV9hcmdz Kz0iIC1EUFlUSE9OX0RFU1Q9LyR7cHkzX3NpdGVsaWJ9CiAJLUR3eFdpZGdldHNfQ09ORklHX09Q VElPTlM9Jy0tcHJlZml4PSR7WEJQU19DUk9TU19CQVNFfSciCiBmaQoKRnJvbSA2MWExYzZlYTlk YmNlMmMxNTc1YWVhMjU4ODNhNmQxYWRkZGYxYWQzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpG cm9tOiAiQW5kcmV3IEouIEhlc2ZvcmQiIDxhamhAc2lkZWJhbmQub3JnPgpEYXRlOiBNb24sIDI1 IFNlcCAyMDIzIDA4OjA2OjU0IC0wNDAwClN1YmplY3Q6IFtQQVRDSCA0MS80M10gbXltY3BsdXM6 IHJlYnVpbGQgYWdhaW5zdCBuZXcgd3hQeXRob24KCi0tLQogc3JjcGtncy9teW1jcGx1cy90ZW1w bGF0ZSB8IDQgKystLQogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlv bnMoLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL215bWNwbHVzL3RlbXBsYXRlIGIvc3JjcGtncy9t eW1jcGx1cy90ZW1wbGF0ZQppbmRleCA5MzA3MTFlZWIyYzU5Li41YmIwOGVmOWVhNWQ0IDEwMDY0 NAotLS0gYS9zcmNwa2dzL215bWNwbHVzL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvbXltY3BsdXMv dGVtcGxhdGUKQEAgLTEsMTAgKzEsMTAgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ215bWNwbHVz JwogcGtnbmFtZT1teW1jcGx1cwogdmVyc2lvbj0zLjAuNQotcmV2aXNpb249MgorcmV2aXNpb249 MwogYnVpbGRfc3R5bGU9cHl0aG9uMy1tb2R1bGUKIGhvc3RtYWtlZGVwZW5kcz0icHl0aG9uMy1z ZXR1cHRvb2xzIgotZGVwZW5kcz0id3hQeXRob240IHB5dGhvbjMtUHlPcGVuR0wiCitkZXBlbmRz PSJ3eFB5dGhvbiBweXRob24zLVB5T3BlbkdMIgogY2hlY2tkZXBlbmRzPSIkZGVwZW5kcyBweXRo b24zLXB5dGVzdCIKIHNob3J0X2Rlc2M9IlBsYXlTdGF0aW9uIDIgbWVtb3J5IGNhcmQgbWFuYWdl ciIKIG1haW50YWluZXI9IkFuZHJldyBCZW5zb24gPGFiZW5zb24rdm9pZEBnbWFpbC5jb20+IgoK RnJvbSBkYzY0YjgyOWZjYzFmNTAyZTZiMzQ2YWY0Y2JiMjE0Y2NiMTMxNGFkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiQW5kcmV3IEouIEhlc2ZvcmQiIDxhamhAc2lkZWJhbmQub3Jn PgpEYXRlOiBNb24sIDI1IFNlcCAyMDIzIDA4OjA3OjI2IC0wNDAwClN1YmplY3Q6IFtQQVRDSCA0 Mi80M10gcGhvdG9maWxtc3RyaXA6IHJlYnVpbGQgYWdhaW5zdCBuZXcgd3hQeXRob24KCi0tLQog c3JjcGtncy9waG90b2ZpbG1zdHJpcC90ZW1wbGF0ZSB8IDQgKystLQogMSBmaWxlIGNoYW5nZWQs IDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3Bo b3RvZmlsbXN0cmlwL3RlbXBsYXRlIGIvc3JjcGtncy9waG90b2ZpbG1zdHJpcC90ZW1wbGF0ZQpp bmRleCBkMjA1MGFjNGM2NGM4Li5kMmM3NTExNjI5MjUwIDEwMDY0NAotLS0gYS9zcmNwa2dzL3Bo b3RvZmlsbXN0cmlwL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvcGhvdG9maWxtc3RyaXAvdGVtcGxh dGUKQEAgLTEsMTAgKzEsMTAgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3Bob3RvZmlsbXN0cmlw JwogcGtnbmFtZT1waG90b2ZpbG1zdHJpcAogdmVyc2lvbj00LjAuMAotcmV2aXNpb249MQorcmV2 aXNpb249MgogYnVpbGRfc3R5bGU9cHl0aG9uMy1tb2R1bGUKIGhvc3RtYWtlZGVwZW5kcz0icHl0 aG9uMy1zZXR1cHRvb2xzIGdzdDEtcHl0aG9uMyBweXRob24zLVNwaGlueCBnZXR0ZXh0IgotZGVw ZW5kcz0icHl0aG9uMyBnc3QxLXB5dGhvbjMgZ3N0MS1lZGl0aW5nLXNlcnZpY2VzIHB5dGhvbjMt UGlsbG93IHd4UHl0aG9uNCIKK2RlcGVuZHM9InB5dGhvbjMgZ3N0MS1weXRob24zIGdzdDEtZWRp dGluZy1zZXJ2aWNlcyBweXRob24zLVBpbGxvdyB3eFB5dGhvbiIKIGNoZWNrZGVwZW5kcz0iJGRl cGVuZHMiCiBzaG9ydF9kZXNjPSJTbGlkZXNob3cgY3JlYXRvciB3aXRoIEtlbiBCdXJucyBlZmZl Y3QiCiBtYWludGFpbmVyPSLEkG/DoG4gVHLhuqduIEPDtG5nIERhbmggPGNvbmdkYW5ocXhAZ21h aWwuY29tPiIKCkZyb20gNDA1NzljZmNkNjQyZmM0MWU5Nzg3ZWViNWIxOWQ0ODc2OWUzZjhjMiBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogIkFuZHJldyBKLiBIZXNmb3JkIiA8YWpoQHNp ZGViYW5kLm9yZz4KRGF0ZTogTW9uLCAyNSBTZXAgMjAyMyAwODowNzo0OCAtMDQwMApTdWJqZWN0 OiBbUEFUQ0ggNDMvNDNdIHBsYXlvbmxpbnV4OiByZWJ1aWxkIGFnYWluc3QgbmV3IHd4UHl0aG9u CgotLS0KIHNyY3BrZ3MvcGxheW9ubGludXgvdGVtcGxhdGUgfCA0ICsrLS0KIDEgZmlsZSBjaGFu Z2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtn cy9wbGF5b25saW51eC90ZW1wbGF0ZSBiL3NyY3BrZ3MvcGxheW9ubGludXgvdGVtcGxhdGUKaW5k ZXggNTYyMDdhMjlhYTIzYS4uMzk0YTRmMmQ1YjNiNCAxMDA2NDQKLS0tIGEvc3JjcGtncy9wbGF5 b25saW51eC90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3BsYXlvbmxpbnV4L3RlbXBsYXRlCkBAIC0x LDEwICsxLDEwIEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdwbGF5b25saW51eCcKIHBrZ25hbWU9 cGxheW9ubGludXgKIHZlcnNpb249NC40Ci1yZXZpc2lvbj0xCityZXZpc2lvbj0yCiAjIGNvbnRh aW5zIHByZS1jb21waWxlZCBiaW5hcmllcyBsaW5rZWQgYWdhaW5zdCBnbGliYwogYXJjaHM9Imk2 ODYgeDg2XzY0IgotZGVwZW5kcz0iaWNvdXRpbHMgbmV0Y2F0IEltYWdlTWFnaWNrIHh0ZXJtIHd4 UHl0aG9uNCBjYWJleHRyYWN0IHVuemlwIGdseGluZm8KK2RlcGVuZHM9Imljb3V0aWxzIG5ldGNh dCBJbWFnZU1hZ2ljayB4dGVybSB3eFB5dGhvbiBjYWJleHRyYWN0IHVuemlwIGdseGluZm8KICBn bnVwZyB4ZGctdXNlci1kaXJzIGxpYlhtdSB3Z2V0IHA3emlwIGN1cmwganEgcHl0aG9uMy1uYXRz b3J0IHhyZGIgZ2V0dGV4dAogIHBlcmwiCiBzaG9ydF9kZXNjPSJHVUkgZm9yIG1hbmFnaW5nIFdp bmRvd3MgcHJvZ3JhbXMgdW5kZXIgbGludXgiCg== --===============4412844753717792107==--