From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 From: Sandro Mani To: git-commits@fedoraproject.org Subject: [rpms/mingw-python3] f45: Update to 3.11.16 Date: Fri, 18 Sep 2026 17:26:30 GMT Message-ID: <178975239044.1.14832382542250742041.rpms-mingw-python3-2320b787fdf2@fedoraproject.org> List-ID: X-Git-Repo: rpms/mingw-python3 X-Git-Branch: f45 X-Git-Rev: 2320b787fdf2cacbda927e16b602e1d835fe83fe QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvbWluZ3ctcHl0aG9u MwpCcmFuY2ggOiBmNDUKQ29tbWl0IDogMjMyMGI3ODdmZGYyY2FjYmRhOTI3ZTE2YjYwMmUxZDgz NWZlODNmZQpBdXRob3IgOiBTYW5kcm8gTWFuaSA8bWFuaXNhbmRyb0BnbWFpbC5jb20+CkRhdGUg ICA6IDIwMjYtMDktMThUMTk6MjU6MzcrMDI6MDAKU3RhdHMgIDogKzE1OS8tNjU1IGluIDI2IGZp bGUocykKVVJMICAgIDogaHR0cHM6Ly9zcmMuZmVkb3JhcHJvamVjdC5vcmcvcnBtcy9taW5ndy1w eXRob24zL2MvMjMyMGI3ODdmZGYyY2FjYmRhOTI3ZTE2YjYwMmUxZDgzNWZlODNmZT9icmFuY2g9 ZjQ1CgpMb2c6ClVwZGF0ZSB0byAzLjExLjE2CgotLS0KZGlmZiAtLWdpdCBhLy5naXRpZ25vcmUg Yi8uZ2l0aWdub3JlCmluZGV4IDViNGMwNWIuLjhkZjVlMTAgMTAwNjQ0Ci0tLSBhLy5naXRpZ25v cmUKKysrIGIvLmdpdGlnbm9yZQpAQCAtNDYsMyArNDYsNCBAQAogL1B5dGhvbi0zLjExLjEzLnRh ci54egogL1B5dGhvbi0zLjExLjE0LnRhci54egogL1B5dGhvbi0zLjExLjE1LnRhci54egorL1B5 dGhvbi0zLjExLjE2LnRhci54egoKZGlmZiAtLWdpdCBhLzE0NjAwMC5wYXRjaCBiLzE0NjAwMC5w YXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2Q5M2U3OS4uMDAwMDAwMAotLS0g YS8xNDYwMDAucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw3NiArMCwwIEBACi1kaWZmIC1ydXBO IC0tbm8tZGVyZWZlcmVuY2UgUHl0aG9uLTMuMTEuMTUvTGliL3Rlc3QvdGVzdF9weWV4cGF0LnB5 IFB5dGhvbi0zLjExLjE1LW5ldy9MaWIvdGVzdC90ZXN0X3B5ZXhwYXQucHkKLS0tLSBQeXRob24t My4xMS4xNS9MaWIvdGVzdC90ZXN0X3B5ZXhwYXQucHkJMjAyNi0wMy0wMyAwMTo1Mjo1Ny4wMDAw MDAwMDAgKzAxMDAKLSsrKyBQeXRob24tMy4xMS4xNS1uZXcvTGliL3Rlc3QvdGVzdF9weWV4cGF0 LnB5CTIwMjYtMDMtMjcgMTg6NDI6MDguNzkzODE5NTU4ICswMTAwCi1AQCAtNjc1LDYgKzY3NSwy NCBAQCBjbGFzcyBDaGFyZGF0YUJ1ZmZlclRlc3QodW5pdHRlc3QuVGVzdENhCi0gICAgICAgICBw YXJzZXIuUGFyc2UoeG1sMiwgVHJ1ZSkKLSAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5u LCA0KQotIAotK2NsYXNzIEVsZW1lbnREZWNsSGFuZGxlclRlc3QodW5pdHRlc3QuVGVzdENhc2Up OgotKyAgICBkZWYgdGVzdF9kZWVwbHlfbmVzdGVkX2NvbnRlbnRfbW9kZWwoc2VsZik6Ci0rICAg ICAgICAjIFRoaXMgc2hvdWxkIHJhaXNlIGEgUmVjdXJzaW9uRXJyb3IgYW5kIG5vdCBjcmFzaC4K LSsgICAgICAgICMgU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9weXRob24vY3B5dGhvbi9pc3N1ZXMv MTQ1OTg2LgotKyAgICAgICAgTiA9IDUwMF8wMDAKLSsgICAgICAgIGRhdGEgPSAoCi0rICAgICAg ICAgICAgYic8IURPQ1RZUEUgcm9vdCBbXG48IUVMRU1FTlQgcm9vdCAnCi0rICAgICAgICAgICAg KyBiJyhhLCAnICogTiArIGInYScgKyBiJyknICogTgotKyAgICAgICAgICAgICsgYic+XG5dPlxu PHJvb3QvPlxuJwotKyAgICAgICAgKQotKwotKyAgICAgICAgcGFyc2VyID0gZXhwYXQuUGFyc2Vy Q3JlYXRlKCkKLSsgICAgICAgIHBhcnNlci5FbGVtZW50RGVjbEhhbmRsZXIgPSBsYW1iZGEgXzEs IF8yOiBOb25lCi0rICAgICAgICB3aXRoIHN1cHBvcnQuaW5maW5pdGVfcmVjdXJzaW9uKCk6Ci0r ICAgICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhSZWN1cnNpb25FcnJvcik6Ci0rICAg ICAgICAgICAgICAgIHBhcnNlci5QYXJzZShkYXRhKQotKwotKwotIGNsYXNzIE1hbGZvcm1lZElu cHV0VGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6Ci0gICAgIGRlZiB0ZXN0MShzZWxmKToKLSAgICAg ICAgIHhtbCA9IGIiXDBcclxuIgotZGlmZiAtcnVwTiAtLW5vLWRlcmVmZXJlbmNlIFB5dGhvbi0z LjExLjE1L01pc2MvTkVXUy5kL25leHQvU2VjdXJpdHkvMjAyNi0wMy0xNC0xNy0zMS0zOS5naC1p c3N1ZS0xNDU5ODYuaWZTU3I4LnJzdCBQeXRob24tMy4xMS4xNS1uZXcvTWlzYy9ORVdTLmQvbmV4 dC9TZWN1cml0eS8yMDI2LTAzLTE0LTE3LTMxLTM5LmdoLWlzc3VlLTE0NTk4Ni5pZlNTcjgucnN0 Ci0tLS0gUHl0aG9uLTMuMTEuMTUvTWlzYy9ORVdTLmQvbmV4dC9TZWN1cml0eS8yMDI2LTAzLTE0 LTE3LTMxLTM5LmdoLWlzc3VlLTE0NTk4Ni5pZlNTcjgucnN0CTE5NzAtMDEtMDEgMDE6MDA6MDAu MDAwMDAwMDAwICswMTAwCi0rKysgUHl0aG9uLTMuMTEuMTUtbmV3L01pc2MvTkVXUy5kL25leHQv U2VjdXJpdHkvMjAyNi0wMy0xNC0xNy0zMS0zOS5naC1pc3N1ZS0xNDU5ODYuaWZTU3I4LnJzdAky MDI2LTAzLTI3IDE4OjQyOjA4Ljc5NDQ0OTQ4NyArMDEwMAotQEAgLTAsMCArMSw0IEBACi0rOm1v ZDpgeG1sLnBhcnNlcnMuZXhwYXRgOiBGaXhlZCBhIGNyYXNoIGNhdXNlZCBieSB1bmJvdW5kZWQg QyByZWN1cnNpb24gd2hlbgotK2NvbnZlcnRpbmcgZGVlcGx5IG5lc3RlZCBYTUwgY29udGVudCBt b2RlbHMgd2l0aAotKzptZXRoOmB+eG1sLnBhcnNlcnMuZXhwYXQueG1scGFyc2VyLkVsZW1lbnRE ZWNsSGFuZGxlcmAuCi0rVGhpcyBhZGRyZXNzZXMgYENWRS0yMDI2LTQyMjQgPGh0dHBzOi8vd3d3 LmN2ZS5vcmcvQ1ZFUmVjb3JkP2lkPUNWRS0yMDI2LTQyMjQ+YF8uCi1kaWZmIC1ydXBOIC0tbm8t ZGVyZWZlcmVuY2UgUHl0aG9uLTMuMTEuMTUvTW9kdWxlcy9weWV4cGF0LmMgUHl0aG9uLTMuMTEu MTUtbmV3L01vZHVsZXMvcHlleHBhdC5jCi0tLS0gUHl0aG9uLTMuMTEuMTUvTW9kdWxlcy9weWV4 cGF0LmMJMjAyNi0wMy0wMyAwMTo1Mjo1Ny4wMDAwMDAwMDAgKzAxMDAKLSsrKyBQeXRob24tMy4x MS4xNS1uZXcvTW9kdWxlcy9weWV4cGF0LmMJMjAyNi0wMy0yNyAxODo0MjowOC43OTQyMzc5MTYg KzAxMDAKLUBAIC0zLDYgKzMsNyBAQAotICNlbmRpZgotIAotICNpbmNsdWRlICJQeXRob24uaCIK LSsjaW5jbHVkZSAicHljb3JlX2NldmFsLmgiICAgICAgICAgICAvLyBfUHlfRW50ZXJSZWN1cnNp dmVDYWxsKCkKLSAjaW5jbHVkZSAicHljb3JlX3J1bnRpbWUuaCIgICAgICAgICAvLyBfUHlfSUQo KQotICNpbmNsdWRlIDxjdHlwZS5oPgotIAotQEAgLTU3OCw2ICs1NzksMTAgQEAgc3RhdGljIFB5 T2JqZWN0ICoKLSBjb252X2NvbnRlbnRfbW9kZWwoWE1MX0NvbnRlbnQgKiBjb25zdCBtb2RlbCwK LSAgICAgICAgICAgICAgICAgICAgUHlPYmplY3QgKigqY29udl9zdHJpbmcpKGNvbnN0IFhNTF9D aGFyICopKQotIHsKLSsgICAgaWYgKF9QeV9FbnRlclJlY3Vyc2l2ZUNhbGwoIiBpbiBjb252X2Nv bnRlbnRfbW9kZWwiKSkgewotKyAgICAgICAgcmV0dXJuIE5VTEw7Ci0rICAgIH0KLSsKLSAgICAg UHlPYmplY3QgKnJlc3VsdCA9IE5VTEw7Ci0gICAgIFB5T2JqZWN0ICpjaGlsZHJlbiA9IFB5VHVw bGVfTmV3KG1vZGVsLT5udW1jaGlsZHJlbik7Ci0gICAgIGludCBpOwotQEAgLTU4OSw3ICs1OTQs NyBAQCBjb252X2NvbnRlbnRfbW9kZWwoWE1MX0NvbnRlbnQgKiBjb25zdCBtCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnZfc3RyaW5nKTsKLSAg ICAgICAgICAgICBpZiAoY2hpbGQgPT0gTlVMTCkgewotICAgICAgICAgICAgICAgICBQeV9YREVD UkVGKGNoaWxkcmVuKTsKLS0gICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0rICAgICAgICAg ICAgICAgIGdvdG8gZG9uZTsKLSAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgUHlUdXBsZV9T RVRfSVRFTShjaGlsZHJlbiwgaSwgY2hpbGQpOwotICAgICAgICAgfQotQEAgLTU5Nyw2ICs2MDIs OCBAQCBjb252X2NvbnRlbnRfbW9kZWwoWE1MX0NvbnRlbnQgKiBjb25zdCBtCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIG1vZGVsLT50eXBlLCBtb2RlbC0+cXVhbnQsCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnZfc3RyaW5nLG1vZGVsLT5uYW1lLCBjaGlsZHJl bik7Ci0gICAgIH0KLStkb25lOgotKyAgICBfUHlfTGVhdmVSZWN1cnNpdmVDYWxsKCk7Ci0gICAg IHJldHVybiByZXN1bHQ7Ci0gfQotIAoKZGlmZiAtLWdpdCBhLzE0NjAyNi5wYXRjaCBiLzE0NjAy Ni5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggY2ViNDg4NS4uMDAwMDAwMAot LS0gYS8xNDYwMjYucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxMjcgKzAsMCBAQAotZGlmZiAt cnVwTiAtLW5vLWRlcmVmZXJlbmNlIFB5dGhvbi0zLjExLjE1L0xpYi9odHRwL2Nvb2tpZXMucHkg UHl0aG9uLTMuMTEuMTUtbmV3L0xpYi9odHRwL2Nvb2tpZXMucHkKLS0tLSBQeXRob24tMy4xMS4x NS9MaWIvaHR0cC9jb29raWVzLnB5CTIwMjYtMDMtMDMgMDE6NTI6NTcuMDAwMDAwMDAwICswMTAw Ci0rKysgUHl0aG9uLTMuMTEuMTUtbmV3L0xpYi9odHRwL2Nvb2tpZXMucHkJMjAyNi0wMy0yNyAx ODo0MjowOC41NDI3MTczMzQgKzAxMDAKLUBAIC0zMzUsOSArMzM1LDE2IEBAIGNsYXNzIE1vcnNl bChkaWN0KToKLSAgICAgICAgICAgICBrZXkgPSBrZXkubG93ZXIoKQotICAgICAgICAgICAgIGlm IGtleSBub3QgaW4gc2VsZi5fcmVzZXJ2ZWQ6Ci0gICAgICAgICAgICAgICAgIHJhaXNlIENvb2tp ZUVycm9yKCJJbnZhbGlkIGF0dHJpYnV0ZSAlciIgJSAoa2V5LCkpCi0rICAgICAgICAgICAgaWYg X2hhc19jb250cm9sX2NoYXJhY3RlcihrZXksIHZhbCk6Ci0rICAgICAgICAgICAgICAgIHJhaXNl IENvb2tpZUVycm9yKCJDb250cm9sIGNoYXJhY3RlcnMgYXJlIG5vdCBhbGxvd2VkIGluICIKLSsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZiJjb29raWVzIHtrZXkhcn0ge3ZhbCFy fSIpCi0gICAgICAgICAgICAgZGF0YVtrZXldID0gdmFsCi0gICAgICAgICBkaWN0LnVwZGF0ZShz ZWxmLCBkYXRhKQotIAotKyAgICBkZWYgX19pb3JfXyhzZWxmLCB2YWx1ZXMpOgotKyAgICAgICAg c2VsZi51cGRhdGUodmFsdWVzKQotKyAgICAgICAgcmV0dXJuIHNlbGYKLSsKLSAgICAgZGVmIGlz UmVzZXJ2ZWRLZXkoc2VsZiwgSyk6Ci0gICAgICAgICByZXR1cm4gSy5sb3dlcigpIGluIHNlbGYu X3Jlc2VydmVkCi0gCi1AQCAtMzYzLDkgKzM3MCwxNSBAQCBjbGFzcyBNb3JzZWwoZGljdCk6Ci0g ICAgICAgICB9Ci0gCi0gICAgIGRlZiBfX3NldHN0YXRlX18oc2VsZiwgc3RhdGUpOgotLSAgICAg ICAgc2VsZi5fa2V5ID0gc3RhdGVbJ2tleSddCi0tICAgICAgICBzZWxmLl92YWx1ZSA9IHN0YXRl Wyd2YWx1ZSddCi0tICAgICAgICBzZWxmLl9jb2RlZF92YWx1ZSA9IHN0YXRlWydjb2RlZF92YWx1 ZSddCi0rICAgICAgICBrZXkgPSBzdGF0ZVsna2V5J10KLSsgICAgICAgIHZhbHVlID0gc3RhdGVb J3ZhbHVlJ10KLSsgICAgICAgIGNvZGVkX3ZhbHVlID0gc3RhdGVbJ2NvZGVkX3ZhbHVlJ10KLSsg ICAgICAgIGlmIF9oYXNfY29udHJvbF9jaGFyYWN0ZXIoa2V5LCB2YWx1ZSwgY29kZWRfdmFsdWUp OgotKyAgICAgICAgICAgIHJhaXNlIENvb2tpZUVycm9yKCJDb250cm9sIGNoYXJhY3RlcnMgYXJl IG5vdCBhbGxvd2VkIGluIGNvb2tpZXMgIgotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGYie2tleSFyfSB7dmFsdWUhcn0ge2NvZGVkX3ZhbHVlIXJ9IikKLSsgICAgICAgIHNlbGYuX2tl eSA9IGtleQotKyAgICAgICAgc2VsZi5fdmFsdWUgPSB2YWx1ZQotKyAgICAgICAgc2VsZi5fY29k ZWRfdmFsdWUgPSBjb2RlZF92YWx1ZQotIAotICAgICBkZWYgb3V0cHV0KHNlbGYsIGF0dHJzPU5v bmUsIGhlYWRlcj0iU2V0LUNvb2tpZToiKToKLSAgICAgICAgIHJldHVybiAiJXMgJXMiICUgKGhl YWRlciwgc2VsZi5PdXRwdXRTdHJpbmcoYXR0cnMpKQotQEAgLTM3NywxMyArMzkwLDE2IEBAIGNs YXNzIE1vcnNlbChkaWN0KToKLSAKLSAgICAgZGVmIGpzX291dHB1dChzZWxmLCBhdHRycz1Ob25l KToKLSAgICAgICAgICMgUHJpbnQgamF2YXNjcmlwdAotKyAgICAgICAgb3V0cHV0X3N0cmluZyA9 IHNlbGYuT3V0cHV0U3RyaW5nKGF0dHJzKQotKyAgICAgICAgaWYgX2hhc19jb250cm9sX2NoYXJh Y3RlcihvdXRwdXRfc3RyaW5nKToKLSsgICAgICAgICAgICByYWlzZSBDb29raWVFcnJvcigiQ29u dHJvbCBjaGFyYWN0ZXJzIGFyZSBub3QgYWxsb3dlZCBpbiBjb29raWVzIikKLSAgICAgICAgIHJl dHVybiAiIiIKLSAgICAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KLSAgICAg ICAgIDwhLS0gYmVnaW4gaGlkaW5nCi0gICAgICAgICBkb2N1bWVudC5jb29raWUgPSBcIiVzXCI7 Ci0gICAgICAgICAvLyBlbmQgaGlkaW5nIC0tPgotICAgICAgICAgPC9zY3JpcHQ+Ci0tICAgICAg ICAiIiIgJSAoc2VsZi5PdXRwdXRTdHJpbmcoYXR0cnMpLnJlcGxhY2UoJyInLCByJ1wiJykpCi0r ICAgICAgICAiIiIgJSAob3V0cHV0X3N0cmluZy5yZXBsYWNlKCciJywgcidcIicpKQotIAotICAg ICBkZWYgT3V0cHV0U3RyaW5nKHNlbGYsIGF0dHJzPU5vbmUpOgotICAgICAgICAgIyBCdWlsZCB1 cCBvdXIgcmVzdWx0Ci1kaWZmIC1ydXBOIC0tbm8tZGVyZWZlcmVuY2UgUHl0aG9uLTMuMTEuMTUv TGliL3Rlc3QvdGVzdF9odHRwX2Nvb2tpZXMucHkgUHl0aG9uLTMuMTEuMTUtbmV3L0xpYi90ZXN0 L3Rlc3RfaHR0cF9jb29raWVzLnB5Ci0tLS0gUHl0aG9uLTMuMTEuMTUvTGliL3Rlc3QvdGVzdF9o dHRwX2Nvb2tpZXMucHkJMjAyNi0wMy0wMyAwMTo1Mjo1Ny4wMDAwMDAwMDAgKzAxMDAKLSsrKyBQ eXRob24tMy4xMS4xNS1uZXcvTGliL3Rlc3QvdGVzdF9odHRwX2Nvb2tpZXMucHkJMjAyNi0wMy0y NyAxODo0MjowOC41NDI5MTUzNTcgKzAxMDAKLUBAIC01MjcsNiArNTI3LDE0IEBAIGNsYXNzIE1v cnNlbFRlc3RzKHVuaXR0ZXN0LlRlc3RDYXNlKToKLSAgICAgICAgICAgICB3aXRoIHNlbGYuYXNz ZXJ0UmFpc2VzKGNvb2tpZXMuQ29va2llRXJyb3IpOgotICAgICAgICAgICAgICAgICBtb3JzZWxb InBhdGgiXSA9IGMwCi0gCi0rICAgICAgICAgICAgIyAuX19zZXRzdGF0ZV9fKCkKLSsgICAgICAg ICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKGNvb2tpZXMuQ29va2llRXJyb3IpOgotKyAgICAg ICAgICAgICAgICBtb3JzZWwuX19zZXRzdGF0ZV9fKHsna2V5JzogYzAsICd2YWx1ZSc6ICd2YWwn LCAnY29kZWRfdmFsdWUnOiAnY29kZWQnfSkKLSsgICAgICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0 UmFpc2VzKGNvb2tpZXMuQ29va2llRXJyb3IpOgotKyAgICAgICAgICAgICAgICBtb3JzZWwuX19z ZXRzdGF0ZV9fKHsna2V5JzogJ2tleScsICd2YWx1ZSc6IGMwLCAnY29kZWRfdmFsdWUnOiAnY29k ZWQnfSkKLSsgICAgICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKGNvb2tpZXMuQ29va2ll RXJyb3IpOgotKyAgICAgICAgICAgICAgICBtb3JzZWwuX19zZXRzdGF0ZV9fKHsna2V5JzogJ2tl eScsICd2YWx1ZSc6ICd2YWwnLCAnY29kZWRfdmFsdWUnOiBjMH0pCi0rCi0gICAgICAgICAgICAg IyAuc2V0ZGVmYXVsdCgpCi0gICAgICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhjb29r aWVzLkNvb2tpZUVycm9yKToKLSAgICAgICAgICAgICAgICAgbW9yc2VsLnNldGRlZmF1bHQoInBh dGgiLCBjMCkKLUBAIC01NDEsNiArNTQ5LDE4IEBAIGNsYXNzIE1vcnNlbFRlc3RzKHVuaXR0ZXN0 LlRlc3RDYXNlKToKLSAgICAgICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKGNvb2tpZXMu Q29va2llRXJyb3IpOgotICAgICAgICAgICAgICAgICBtb3JzZWwuc2V0KCJwYXRoIiwgInZhbCIs IGMwKQotIAotKyAgICAgICAgICAgICMgLnVwZGF0ZSgpCi0rICAgICAgICAgICAgd2l0aCBzZWxm LmFzc2VydFJhaXNlcyhjb29raWVzLkNvb2tpZUVycm9yKToKLSsgICAgICAgICAgICAgICAgbW9y c2VsLnVwZGF0ZSh7InBhdGgiOiBjMH0pCi0rICAgICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJh aXNlcyhjb29raWVzLkNvb2tpZUVycm9yKToKLSsgICAgICAgICAgICAgICAgbW9yc2VsLnVwZGF0 ZSh7YzA6ICJ2YWwifSkKLSsKLSsgICAgICAgICAgICAjIC5fX2lvcl9fKCkKLSsgICAgICAgICAg ICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKGNvb2tpZXMuQ29va2llRXJyb3IpOgotKyAgICAgICAg ICAgICAgICBtb3JzZWwgfD0geyJwYXRoIjogYzB9Ci0rICAgICAgICAgICAgd2l0aCBzZWxmLmFz c2VydFJhaXNlcyhjb29raWVzLkNvb2tpZUVycm9yKToKLSsgICAgICAgICAgICAgICAgbW9yc2Vs IHw9IHtjMDogInZhbCJ9Ci0rCi0gICAgIGRlZiB0ZXN0X2NvbnRyb2xfY2hhcmFjdGVyc19vdXRw dXQoc2VsZik6Ci0gICAgICAgICAjIFRlc3RzIHRoYXQgZXZlbiBpZiB0aGUgaW50ZXJuYWxzIG9m IE1vcnNlbCBhcmUgbW9kaWZpZWQKLSAgICAgICAgICMgdGhhdCBhIGNhbGwgdG8gLm91dHB1dCgp IGhhcyBjb250cm9sIGNoYXJhY3RlciBzYWZlZ3VhcmRzLgotQEAgLTU2MSw2ICs1ODEsMjQgQEAg Y2xhc3MgTW9yc2VsVGVzdHModW5pdHRlc3QuVGVzdENhc2UpOgotICAgICAgICAgICAgIHdpdGgg c2VsZi5hc3NlcnRSYWlzZXMoY29va2llcy5Db29raWVFcnJvcik6Ci0gICAgICAgICAgICAgICAg IGNvb2tpZS5vdXRwdXQoKQotIAotKyAgICAgICAgIyBUZXN0cyB0aGF0IC5qc19vdXRwdXQoKSBh bHNvIGhhcyBjb250cm9sIGNoYXJhY3RlciBzYWZlZ3VhcmRzLgotKyAgICAgICAgZm9yIGMwIGlu IHN1cHBvcnQuY29udHJvbF9jaGFyYWN0ZXJzX2MwKCk6Ci0rICAgICAgICAgICAgbW9yc2VsID0g Y29va2llcy5Nb3JzZWwoKQotKyAgICAgICAgICAgIG1vcnNlbC5zZXQoImtleSIsICJ2YWx1ZSIs ICJjb2RlZC12YWx1ZSIpCi0rICAgICAgICAgICAgbW9yc2VsLl9rZXkgPSBjMCAgIyBPdmVycmlk ZSBwcml2YXRlIHZhcmlhYmxlLgotKyAgICAgICAgICAgIGNvb2tpZSA9IGNvb2tpZXMuU2ltcGxl Q29va2llKCkKLSsgICAgICAgICAgICBjb29raWVbImNvb2tpZSJdID0gbW9yc2VsCi0rICAgICAg ICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhjb29raWVzLkNvb2tpZUVycm9yKToKLSsgICAg ICAgICAgICAgICAgY29va2llLmpzX291dHB1dCgpCi0rCi0rICAgICAgICAgICAgbW9yc2VsID0g Y29va2llcy5Nb3JzZWwoKQotKyAgICAgICAgICAgIG1vcnNlbC5zZXQoImtleSIsICJ2YWx1ZSIs ICJjb2RlZC12YWx1ZSIpCi0rICAgICAgICAgICAgbW9yc2VsLl9jb2RlZF92YWx1ZSA9IGMwICAj IE92ZXJyaWRlIHByaXZhdGUgdmFyaWFibGUuCi0rICAgICAgICAgICAgY29va2llID0gY29va2ll cy5TaW1wbGVDb29raWUoKQotKyAgICAgICAgICAgIGNvb2tpZVsiY29va2llIl0gPSBtb3JzZWwK LSsgICAgICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKGNvb2tpZXMuQ29va2llRXJyb3Ip OgotKyAgICAgICAgICAgICAgICBjb29raWUuanNfb3V0cHV0KCkKLSsKLSAKLSBkZWYgbG9hZF90 ZXN0cyhsb2FkZXIsIHRlc3RzLCBwYXR0ZXJuKToKLSAgICAgdGVzdHMuYWRkVGVzdChkb2N0ZXN0 LkRvY1Rlc3RTdWl0ZShjb29raWVzKSkKLWRpZmYgLXJ1cE4gLS1uby1kZXJlZmVyZW5jZSBQeXRo b24tMy4xMS4xNS9NaXNjL05FV1MuZC9uZXh0L1NlY3VyaXR5LzIwMjYtMDMtMDYtMTctMDMtMzgu Z2gtaXNzdWUtMTQ1NTk5LmtjaHdaVi5yc3QgUHl0aG9uLTMuMTEuMTUtbmV3L01pc2MvTkVXUy5k L25leHQvU2VjdXJpdHkvMjAyNi0wMy0wNi0xNy0wMy0zOC5naC1pc3N1ZS0xNDU1OTkua2Nod1pW LnJzdAotLS0tIFB5dGhvbi0zLjExLjE1L01pc2MvTkVXUy5kL25leHQvU2VjdXJpdHkvMjAyNi0w My0wNi0xNy0wMy0zOC5naC1pc3N1ZS0xNDU1OTkua2Nod1pWLnJzdAkxOTcwLTAxLTAxIDAxOjAw OjAwLjAwMDAwMDAwMCArMDEwMAotKysrIFB5dGhvbi0zLjExLjE1LW5ldy9NaXNjL05FV1MuZC9u ZXh0L1NlY3VyaXR5LzIwMjYtMDMtMDYtMTctMDMtMzguZ2gtaXNzdWUtMTQ1NTk5LmtjaHdaVi5y c3QJMjAyNi0wMy0yNyAxODo0MjowOC41NDMxOTEzNzIgKzAxMDAKLUBAIC0wLDAgKzEsNCBAQAot K1JlamVjdCBjb250cm9sIGNoYXJhY3RlcnMgaW4gOmNsYXNzOmBodHRwLmNvb2tpZXMuTW9yc2Vs YAotKzptZXRoOmB+aHR0cC5jb29raWVzLk1vcnNlbC51cGRhdGVgIGFuZAotKzptZXRoOmB+aHR0 cC5jb29raWVzLkJhc2VDb29raWUuanNfb3V0cHV0YC4KLStUaGlzIGFkZHJlc3NlcyBgQ1ZFLTIw MjYtMzY0NCA8aHR0cHM6Ly93d3cuY3ZlLm9yZy9DVkVSZWNvcmQ/aWQ9Q1ZFLTIwMjYtMzY0ND5g Xy4KCmRpZmYgLS1naXQgYS8xNDYxMzYucGF0Y2ggYi8xNDYxMzYucGF0Y2gKaW5kZXggNjcwN2Jm Mi4uYTc4MWU4MCAxMDA2NDQKLS0tIGEvMTQ2MTM2LnBhdGNoCisrKyBiLzE0NjEzNi5wYXRjaApA QCAtMSw2ICsxLDYgQEAKLWRpZmYgLXJ1cE4gLS1uby1kZXJlZmVyZW5jZSBQeXRob24tMy4xMS4x NS9MaWIvcGtndXRpbC5weSBQeXRob24tMy4xMS4xNS1uZXcvTGliL3BrZ3V0aWwucHkKLS0tLSBQ eXRob24tMy4xMS4xNS9MaWIvcGtndXRpbC5weQkyMDI2LTAzLTAzIDAxOjUyOjU3LjAwMDAwMDAw MCArMDEwMAotKysrIFB5dGhvbi0zLjExLjE1LW5ldy9MaWIvcGtndXRpbC5weQkyMDI2LTA0LTE0 IDExOjI5OjE4LjE0MTE0OTI3NyArMDIwMAorZGlmZiAtcnVwTiAtLW5vLWRlcmVmZXJlbmNlIFB5 dGhvbi0zLjExLjE2L0xpYi9wa2d1dGlsLnB5IFB5dGhvbi0zLjExLjE2LW5ldy9MaWIvcGtndXRp bC5weQorLS0tIFB5dGhvbi0zLjExLjE2L0xpYi9wa2d1dGlsLnB5CTIwMjYtMDgtMTMgMDE6MDM6 MTkuMDAwMDAwMDAwICswMjAwCisrKysgUHl0aG9uLTMuMTEuMTYtbmV3L0xpYi9wa2d1dGlsLnB5 CTIwMjYtMDktMTggMTk6MjM6MDkuNzQ1NDE2NDcwICswMjAwCiBAQCAtNjM1LDYgKzYzNSw5IEBA IGRlZiBnZXRfZGF0YShwYWNrYWdlLCByZXNvdXJjZSk6CiAgICAgICMgc2lnbmF0dXJlIC0gYW4g b3MucGF0aCBmb3JtYXQgImZpbGVuYW1lIiBzdGFydGluZyB3aXRoIHRoZSBkaXJuYW1lIG9mCiAg ICAgICMgdGhlIHBhY2thZ2UncyBfX2ZpbGVfXwpAQCAtMTEsOSArMTEsOSBAQCBkaWZmIC1ydXBO IC0tbm8tZGVyZWZlcmVuY2UgUHl0aG9uLTMuMTEuMTUvTGliL3BrZ3V0aWwucHkgUHl0aG9uLTMu MTEuMTUtbmV3L0xpYgogICAgICBwYXJ0cy5pbnNlcnQoMCwgb3MucGF0aC5kaXJuYW1lKG1vZC5f X2ZpbGVfXykpCiAgICAgIHJlc291cmNlX25hbWUgPSBvcy5wYXRoLmpvaW4oKnBhcnRzKQogICAg ICByZXR1cm4gbG9hZGVyLmdldF9kYXRhKHJlc291cmNlX25hbWUpCi1kaWZmIC1ydXBOIC0tbm8t ZGVyZWZlcmVuY2UgUHl0aG9uLTMuMTEuMTUvTGliL3Rlc3QvdGVzdF9wa2d1dGlsLnB5IFB5dGhv bi0zLjExLjE1LW5ldy9MaWIvdGVzdC90ZXN0X3BrZ3V0aWwucHkKLS0tLSBQeXRob24tMy4xMS4x NS9MaWIvdGVzdC90ZXN0X3BrZ3V0aWwucHkJMjAyNi0wMy0wMyAwMTo1Mjo1Ny4wMDAwMDAwMDAg KzAxMDAKLSsrKyBQeXRob24tMy4xMS4xNS1uZXcvTGliL3Rlc3QvdGVzdF9wa2d1dGlsLnB5CTIw MjYtMDQtMTQgMTE6Mjk6MTguMTQxMzc3NTUwICswMjAwCitkaWZmIC1ydXBOIC0tbm8tZGVyZWZl cmVuY2UgUHl0aG9uLTMuMTEuMTYvTGliL3Rlc3QvdGVzdF9wa2d1dGlsLnB5IFB5dGhvbi0zLjEx LjE2LW5ldy9MaWIvdGVzdC90ZXN0X3BrZ3V0aWwucHkKKy0tLSBQeXRob24tMy4xMS4xNi9MaWIv dGVzdC90ZXN0X3BrZ3V0aWwucHkJMjAyNi0wOC0xMyAwMTowMzoxOS4wMDAwMDAwMDAgKzAyMDAK KysrKyBQeXRob24tMy4xMS4xNi1uZXcvTGliL3Rlc3QvdGVzdF9wa2d1dGlsLnB5CTIwMjYtMDkt MTggMTk6MjM6MDkuNzQ1OTE5NDQxICswMjAwCiBAQCAtNTcsNiArNTcsMjUgQEAgY2xhc3MgUGtn dXRpbFRlc3RzKHVuaXR0ZXN0LlRlc3RDYXNlKToKICAKICAgICAgICAgIGRlbCBzeXMubW9kdWxl c1twa2ddCkBAIC00MCw5ICs0MCw5IEBAIGRpZmYgLXJ1cE4gLS1uby1kZXJlZmVyZW5jZSBQeXRo b24tMy4xMS4xNS9MaWIvdGVzdC90ZXN0X3BrZ3V0aWwucHkgUHl0aG9uLTMuMTEuCiAgICAgIGRl ZiB0ZXN0X2dldGRhdGFfemlwZmlsZShzZWxmKToKICAgICAgICAgIHppcCA9ICd0ZXN0X2dldGRh dGFfemlwZmlsZS56aXAnCiAgICAgICAgICBwa2cgPSAndGVzdF9nZXRkYXRhX3ppcGZpbGUnCi1k aWZmIC1ydXBOIC0tbm8tZGVyZWZlcmVuY2UgUHl0aG9uLTMuMTEuMTUvTWlzYy9ORVdTLmQvbmV4 dC9TZWN1cml0eS8yMDI2LTAzLTE2LTE4LTA3LTAwLmdoLWlzc3VlLTE0NjEyMS52UmJkcm8ucnN0 IFB5dGhvbi0zLjExLjE1LW5ldy9NaXNjL05FV1MuZC9uZXh0L1NlY3VyaXR5LzIwMjYtMDMtMTYt MTgtMDctMDAuZ2gtaXNzdWUtMTQ2MTIxLnZSYmRyby5yc3QKLS0tLSBQeXRob24tMy4xMS4xNS9N aXNjL05FV1MuZC9uZXh0L1NlY3VyaXR5LzIwMjYtMDMtMTYtMTgtMDctMDAuZ2gtaXNzdWUtMTQ2 MTIxLnZSYmRyby5yc3QJMTk3MC0wMS0wMSAwMTowMDowMC4wMDAwMDAwMDAgKzAxMDAKLSsrKyBQ eXRob24tMy4xMS4xNS1uZXcvTWlzYy9ORVdTLmQvbmV4dC9TZWN1cml0eS8yMDI2LTAzLTE2LTE4 LTA3LTAwLmdoLWlzc3VlLTE0NjEyMS52UmJkcm8ucnN0CTIwMjYtMDQtMTQgMTE6Mjk6MTguMTQx NjY0NTM0ICswMjAwCitkaWZmIC1ydXBOIC0tbm8tZGVyZWZlcmVuY2UgUHl0aG9uLTMuMTEuMTYv TWlzYy9ORVdTLmQvbmV4dC9TZWN1cml0eS8yMDI2LTAzLTE2LTE4LTA3LTAwLmdoLWlzc3VlLTE0 NjEyMS52UmJkcm8ucnN0IFB5dGhvbi0zLjExLjE2LW5ldy9NaXNjL05FV1MuZC9uZXh0L1NlY3Vy aXR5LzIwMjYtMDMtMTYtMTgtMDctMDAuZ2gtaXNzdWUtMTQ2MTIxLnZSYmRyby5yc3QKKy0tLSBQ eXRob24tMy4xMS4xNi9NaXNjL05FV1MuZC9uZXh0L1NlY3VyaXR5LzIwMjYtMDMtMTYtMTgtMDct MDAuZ2gtaXNzdWUtMTQ2MTIxLnZSYmRyby5yc3QJMTk3MC0wMS0wMSAwMTowMDowMC4wMDAwMDAw MDAgKzAxMDAKKysrKyBQeXRob24tMy4xMS4xNi1uZXcvTWlzYy9ORVdTLmQvbmV4dC9TZWN1cml0 eS8yMDI2LTAzLTE2LTE4LTA3LTAwLmdoLWlzc3VlLTE0NjEyMS52UmJkcm8ucnN0CTIwMjYtMDkt MTggMTk6MjM6MDkuNzQ2MjgzNDExICswMjAwCiBAQCAtMCwwICsxLDMgQEAKICs6ZnVuYzpgcGtn dXRpbC5nZXRfZGF0YWAgbm93IHJhaXNlcyByZWplY3RzICpyZXNvdXJjZSogYXJndW1lbnRzIGNv bnRhaW5pbmcgdGhlCiArcGFyZW50IGRpcmVjdG9yeSBjb21wb25lbnRzIG9yIHRoYXQgaXMgYW4g YWJzb2x1dGUgcGF0aC4KCmRpZmYgLS1naXQgYS8xNDgzNTEucGF0Y2ggYi8xNDgzNTEucGF0Y2gK ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM0ZjViM2MuLjAwMDAwMDAKLS0tIGEvMTQ4 MzUxLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsODcgKzAsMCBAQAotZGlmZiAtcnVwTiAtLW5v LWRlcmVmZXJlbmNlIFB5dGhvbi0zLjExLjE1L0xpYi9odHRwL2NsaWVudC5weSBQeXRob24tMy4x MS4xNS1uZXcvTGliL2h0dHAvY2xpZW50LnB5Ci0tLS0gUHl0aG9uLTMuMTEuMTUvTGliL2h0dHAv Y2xpZW50LnB5CTIwMjYtMDMtMDMgMDE6NTI6NTcuMDAwMDAwMDAwICswMTAwCi0rKysgUHl0aG9u LTMuMTEuMTUtbmV3L0xpYi9odHRwL2NsaWVudC5weQkyMDI2LTA0LTE0IDExOjI5OjE4LjM2ODU5 MDc4OCArMDIwMAotQEAgLTk0MSwxMiArOTQxLDIxIEBAIGNsYXNzIEhUVFBDb25uZWN0aW9uOgot ICAgICAgICAgcmV0dXJuIGlwCi0gCi0gICAgIGRlZiBfdHVubmVsKHNlbGYpOgotKyAgICAgICAg aWYgX2NvbnRhaW5zX2Rpc2FsbG93ZWRfdXJsX3BjaGFyX3JlLnNlYXJjaChzZWxmLl90dW5uZWxf aG9zdCk6Ci0rICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcignVHVubmVsIGhvc3QgY2FuXCd0 IGNvbnRhaW4gY29udHJvbCBjaGFyYWN0ZXJzICVyJwotKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgJSAoc2VsZi5fdHVubmVsX2hvc3QsKSkKLSAgICAgICAgIGNvbm5lY3QgPSBiIkNPTk5F Q1QgJXM6JWQgSFRUUC8xLjBcclxuIiAlICgKLSAgICAgICAgICAgICBzZWxmLl93cmFwX2lwdjYo c2VsZi5fdHVubmVsX2hvc3QuZW5jb2RlKCJhc2NpaSIpKSwKLSAgICAgICAgICAgICBzZWxmLl90 dW5uZWxfcG9ydCkKLSAgICAgICAgIGhlYWRlcnMgPSBbY29ubmVjdF0KLSAgICAgICAgIGZvciBo ZWFkZXIsIHZhbHVlIGluIHNlbGYuX3R1bm5lbF9oZWFkZXJzLml0ZW1zKCk6Ci0tICAgICAgICAg ICAgaGVhZGVycy5hcHBlbmQoZiJ7aGVhZGVyfToge3ZhbHVlfVxyXG4iLmVuY29kZSgibGF0aW4t MSIpKQotKyAgICAgICAgICAgIGhlYWRlcl9ieXRlcyA9IGhlYWRlci5lbmNvZGUoImxhdGluLTEi KQotKyAgICAgICAgICAgIHZhbHVlX2J5dGVzID0gdmFsdWUuZW5jb2RlKCJsYXRpbi0xIikKLSsg ICAgICAgICAgICBpZiBub3QgX2lzX2xlZ2FsX2hlYWRlcl9uYW1lKGhlYWRlcl9ieXRlcyk6Ci0r ICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoJ0ludmFsaWQgaGVhZGVyIG5hbWUgJXIn ICUgKGhlYWRlcl9ieXRlcywpKQotKyAgICAgICAgICAgIGlmIF9pc19pbGxlZ2FsX2hlYWRlcl92 YWx1ZSh2YWx1ZV9ieXRlcyk6Ci0rICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoJ0lu dmFsaWQgaGVhZGVyIHZhbHVlICVyJyAlICh2YWx1ZV9ieXRlcywpKQotKyAgICAgICAgICAgIGhl YWRlcnMuYXBwZW5kKGIiJXM6ICVzXHJcbiIgJSAoaGVhZGVyX2J5dGVzLCB2YWx1ZV9ieXRlcykp Ci0gICAgICAgICBoZWFkZXJzLmFwcGVuZChiIlxyXG4iKQotICAgICAgICAgIyBNYWtpbmcgYSBz aW5nbGUgc2VuZCgpIGNhbGwgaW5zdGVhZCBvZiBvbmUgcGVyIGxpbmUgZW5jb3VyYWdlcwotICAg ICAgICAgIyB0aGUgaG9zdCBPUyB0byB1c2UgYSBtb3JlIG9wdGltYWwgcGFja2V0IHNpemUgaW5z dGVhZCBvZgotZGlmZiAtcnVwTiAtLW5vLWRlcmVmZXJlbmNlIFB5dGhvbi0zLjExLjE1L0xpYi90 ZXN0L3Rlc3RfaHR0cGxpYi5weSBQeXRob24tMy4xMS4xNS1uZXcvTGliL3Rlc3QvdGVzdF9odHRw bGliLnB5Ci0tLS0gUHl0aG9uLTMuMTEuMTUvTGliL3Rlc3QvdGVzdF9odHRwbGliLnB5CTIwMjYt MDMtMDMgMDE6NTI6NTcuMDAwMDAwMDAwICswMTAwCi0rKysgUHl0aG9uLTMuMTEuMTUtbmV3L0xp Yi90ZXN0L3Rlc3RfaHR0cGxpYi5weQkyMDI2LTA0LTE0IDExOjI5OjE4LjM2ODk2NDU1NCArMDIw MAotQEAgLTM3MSw2ICszNzEsNTEgQEAgY2xhc3MgSGVhZGVyVGVzdHMoVGVzdENhc2UpOgotICAg ICAgICAgICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoVmFsdWVFcnJvciwgJ0lu dmFsaWQgaGVhZGVyJyk6Ci0gICAgICAgICAgICAgICAgICAgICBjb25uLnB1dGhlYWRlcihuYW1l LCB2YWx1ZSkKLSAKLSsgICAgZGVmIHRlc3RfaW52YWxpZF90dW5uZWxfaGVhZGVycyhzZWxmKToK LSsgICAgICAgIGNhc2VzID0gKAotKyAgICAgICAgICAgICgnSW52YWxpZFxyXG5OYW1lJywgJ1Zh bGlkVmFsdWUnKSwKLSsgICAgICAgICAgICAoJ0ludmFsaWRcck5hbWUnLCAnVmFsaWRWYWx1ZScp LAotKyAgICAgICAgICAgICgnSW52YWxpZFxuTmFtZScsICdWYWxpZFZhbHVlJyksCi0rICAgICAg ICAgICAgKCdcclxuSW52YWxpZE5hbWUnLCAnVmFsaWRWYWx1ZScpLAotKyAgICAgICAgICAgICgn XHJJbnZhbGlkTmFtZScsICdWYWxpZFZhbHVlJyksCi0rICAgICAgICAgICAgKCdcbkludmFsaWRO YW1lJywgJ1ZhbGlkVmFsdWUnKSwKLSsgICAgICAgICAgICAoJyBJbnZhbGlkTmFtZScsICdWYWxp ZFZhbHVlJyksCi0rICAgICAgICAgICAgKCdcdEludmFsaWROYW1lJywgJ1ZhbGlkVmFsdWUnKSwK LSsgICAgICAgICAgICAoJ0ludmFsaWQ6TmFtZScsICdWYWxpZFZhbHVlJyksCi0rICAgICAgICAg ICAgKCc6SW52YWxpZE5hbWUnLCAnVmFsaWRWYWx1ZScpLAotKyAgICAgICAgICAgICgnVmFsaWRO YW1lJywgJ0ludmFsaWRcclxuVmFsdWUnKSwKLSsgICAgICAgICAgICAoJ1ZhbGlkTmFtZScsICdJ bnZhbGlkXHJWYWx1ZScpLAotKyAgICAgICAgICAgICgnVmFsaWROYW1lJywgJ0ludmFsaWRcblZh bHVlJyksCi0rICAgICAgICAgICAgKCdWYWxpZE5hbWUnLCAnSW52YWxpZFZhbHVlXHJcbicpLAot KyAgICAgICAgICAgICgnVmFsaWROYW1lJywgJ0ludmFsaWRWYWx1ZVxyJyksCi0rICAgICAgICAg ICAgKCdWYWxpZE5hbWUnLCAnSW52YWxpZFZhbHVlXG4nKSwKLSsgICAgICAgICkKLSsgICAgICAg IGZvciBuYW1lLCB2YWx1ZSBpbiBjYXNlczoKLSsgICAgICAgICAgICB3aXRoIHNlbGYuc3ViVGVz dCgobmFtZSwgdmFsdWUpKToKLSsgICAgICAgICAgICAgICAgY29ubiA9IGNsaWVudC5IVFRQQ29u bmVjdGlvbignZXhhbXBsZS5jb20nKQotKyAgICAgICAgICAgICAgICBjb25uLnNldF90dW5uZWwo J3R1bm5lbCcsIGhlYWRlcnM9ewotKyAgICAgICAgICAgICAgICAgICAgbmFtZTogdmFsdWUKLSsg ICAgICAgICAgICAgICAgfSkKLSsgICAgICAgICAgICAgICAgY29ubi5zb2NrID0gRmFrZVNvY2tl dCgnJykKLSsgICAgICAgICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KFZhbHVl RXJyb3IsICdJbnZhbGlkIGhlYWRlcicpOgotKyAgICAgICAgICAgICAgICAgICAgY29ubi5fdHVu bmVsKCkgICMgQ2FsbGVkIGluIC5jb25uZWN0KCkKLSsKLSsgICAgZGVmIHRlc3RfaW52YWxpZF90 dW5uZWxfaG9zdChzZWxmKToKLSsgICAgICAgIGNhc2VzID0gKAotKyAgICAgICAgICAgICdpbnZh bGlkXHIuaG9zdCcsCi0rICAgICAgICAgICAgJ1xuaW52YWxpZC5ob3N0JywKLSsgICAgICAgICAg ICAnaW52YWxpZC5ob3N0XHJcbicsCi0rICAgICAgICAgICAgJ2ludmFsaWQuaG9zdFx4MDAnLAot KyAgICAgICAgICAgICdpbnZhbGlkIGhvc3QnLAotKyAgICAgICAgKQotKyAgICAgICAgZm9yIHR1 bm5lbF9ob3N0IGluIGNhc2VzOgotKyAgICAgICAgICAgIHdpdGggc2VsZi5zdWJUZXN0KHR1bm5l bF9ob3N0KToKLSsgICAgICAgICAgICAgICAgY29ubiA9IGNsaWVudC5IVFRQQ29ubmVjdGlvbign ZXhhbXBsZS5jb20nKQotKyAgICAgICAgICAgICAgICBjb25uLnNldF90dW5uZWwodHVubmVsX2hv c3QpCi0rICAgICAgICAgICAgICAgIGNvbm4uc29jayA9IEZha2VTb2NrZXQoJycpCi0rICAgICAg ICAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXNSZWdleChWYWx1ZUVycm9yLCAnVHVubmVs IGhvc3QgY2FuXCd0IGNvbnRhaW4gY29udHJvbCBjaGFyYWN0ZXJzJyk6Ci0rICAgICAgICAgICAg ICAgICAgICBjb25uLl90dW5uZWwoKSAgIyBDYWxsZWQgaW4gLmNvbm5lY3QoKQotKwotICAgICBk ZWYgdGVzdF9oZWFkZXJzX2RlYnVnbGV2ZWwoc2VsZik6Ci0gICAgICAgICBib2R5ID0gKAotICAg ICAgICAgICAgIGInSFRUUC8xLjEgMjAwIE9LXHJcbicKLWRpZmYgLXJ1cE4gLS1uby1kZXJlZmVy ZW5jZSBQeXRob24tMy4xMS4xNS9NaXNjL05FV1MuZC9uZXh0L1NlY3VyaXR5LzIwMjYtMDMtMjAt MDktMjktNDIuZ2gtaXNzdWUtMTQ2MjExLlBRVmJzNy5yc3QgUHl0aG9uLTMuMTEuMTUtbmV3L01p c2MvTkVXUy5kL25leHQvU2VjdXJpdHkvMjAyNi0wMy0yMC0wOS0yOS00Mi5naC1pc3N1ZS0xNDYy MTEuUFFWYnM3LnJzdAotLS0tIFB5dGhvbi0zLjExLjE1L01pc2MvTkVXUy5kL25leHQvU2VjdXJp dHkvMjAyNi0wMy0yMC0wOS0yOS00Mi5naC1pc3N1ZS0xNDYyMTEuUFFWYnM3LnJzdAkxOTcwLTAx LTAxIDAxOjAwOjAwLjAwMDAwMDAwMCArMDEwMAotKysrIFB5dGhvbi0zLjExLjE1LW5ldy9NaXNj L05FV1MuZC9uZXh0L1NlY3VyaXR5LzIwMjYtMDMtMjAtMDktMjktNDIuZ2gtaXNzdWUtMTQ2MjEx LlBRVmJzNy5yc3QJMjAyNi0wNC0xNCAxMToyOToxOC4zNjkyMjExMjMgKzAyMDAKLUBAIC0wLDAg KzEsMiBAQAotK1JlamVjdCBDUi9MRiBjaGFyYWN0ZXJzIGluIHR1bm5lbCByZXF1ZXN0IGhlYWRl cnMgZm9yIHRoZQotK0hUVFBDb25uZWN0aW9uLnNldF90dW5uZWwoKSBtZXRob2QuCgpkaWZmIC0t Z2l0IGEvMTQ4NTIwLnBhdGNoIGIvMTQ4NTIwLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCBlNDI5NWI1Li4wMDAwMDAwCi0tLSBhLzE0ODUyMC5wYXRjaAorKysgL2Rldi9udWxs CkBAIC0xLDQ2ICswLDAgQEAKLWRpZmYgLXJ1cE4gLS1uby1kZXJlZmVyZW5jZSBQeXRob24tMy4x MS4xNS9MaWIvdGVzdC90ZXN0X3dlYmJyb3dzZXIucHkgUHl0aG9uLTMuMTEuMTUtbmV3L0xpYi90 ZXN0L3Rlc3Rfd2ViYnJvd3Nlci5weQotLS0tIFB5dGhvbi0zLjExLjE1L0xpYi90ZXN0L3Rlc3Rf d2ViYnJvd3Nlci5weQkyMDI2LTA0LTE4IDA5OjAwOjMxLjg2MjQ1ODc0NiArMDIwMAotKysrIFB5 dGhvbi0zLjExLjE1LW5ldy9MaWIvdGVzdC90ZXN0X3dlYmJyb3dzZXIucHkJMjAyNi0wNC0xOCAw OTowMDozMy4wMzM0Nzk4MTcgKzAyMDAKLUBAIC05OSw2ICs5OSwxNCBAQCBjbGFzcyBDaHJvbWVD b21tYW5kVGVzdChDb21tYW5kVGVzdE1peGluCi0gICAgICAgICAgICAgICAgICAgIG9wdGlvbnM9 W10sCi0gICAgICAgICAgICAgICAgICAgIGFyZ3VtZW50cz1bVVJMXSkKLSAKLSsgICAgZGVmIHRl c3RfcmVqZWN0X2FjdGlvbl9kYXNoX3ByZWZpeGVzKHNlbGYpOgotKyAgICAgICAgYnJvd3NlciA9 IHNlbGYuYnJvd3Nlcl9jbGFzcyhuYW1lPUNNRF9OQU1FKQotKyAgICAgICAgd2l0aCBzZWxmLmFz c2VydFJhaXNlcyhWYWx1ZUVycm9yKToKLSsgICAgICAgICAgICBicm93c2VyLm9wZW4oJyVhY3Rp b24tLWluY29nbml0bycpCi0rICAgICAgICAjIG5ldz0xOiBhY3Rpb24gaXMgIi0tbmV3LXdpbmRv dyIsIHNvICIlYWN0aW9uIiBpdHNlbGYgZXhwYW5kcyB0bwotKyAgICAgICAgIyBhIGRhc2gtcHJl Zml4ZWQgZmxhZyBldmVuIHdpdGggbm8gZGFzaCBpbiB0aGUgb3JpZ2luYWwgVVJMLgotKyAgICAg ICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yKToKLSsgICAgICAgICAgICBicm93 c2VyLm9wZW4oJyVhY3Rpb24nLCBuZXc9MSkKLSAKLSBjbGFzcyBNb3ppbGxhQ29tbWFuZFRlc3Qo Q29tbWFuZFRlc3RNaXhpbiwgdW5pdHRlc3QuVGVzdENhc2UpOgotIAotZGlmZiAtcnVwTiAtLW5v LWRlcmVmZXJlbmNlIFB5dGhvbi0zLjExLjE1L0xpYi93ZWJicm93c2VyLnB5IFB5dGhvbi0zLjEx LjE1LW5ldy9MaWIvd2ViYnJvd3Nlci5weQotLS0tIFB5dGhvbi0zLjExLjE1L0xpYi93ZWJicm93 c2VyLnB5CTIwMjYtMDQtMTggMDk6MDA6MzEuODYyNzQ4ODk3ICswMjAwCi0rKysgUHl0aG9uLTMu MTEuMTUtbmV3L0xpYi93ZWJicm93c2VyLnB5CTIwMjYtMDQtMTggMDk6MDA6MzMuMDMzNzA1NTI4 ICswMjAwCi1AQCAtMjY1LDcgKzI2NSw2IEBAIGNsYXNzIFVuaXhCcm93c2VyKEJhc2VCcm93c2Vy KToKLSAKLSAgICAgZGVmIG9wZW4oc2VsZiwgdXJsLCBuZXc9MCwgYXV0b3JhaXNlPVRydWUpOgot ICAgICAgICAgc3lzLmF1ZGl0KCJ3ZWJicm93c2VyLm9wZW4iLCB1cmwpCi0tICAgICAgICBzZWxm Ll9jaGVja191cmwodXJsKQotICAgICAgICAgaWYgbmV3ID09IDA6Ci0gICAgICAgICAgICAgYWN0 aW9uID0gc2VsZi5yZW1vdGVfYWN0aW9uCi0gICAgICAgICBlbGlmIG5ldyA9PSAxOgotQEAgLTI3 OSw3ICsyNzgsOSBAQCBjbGFzcyBVbml4QnJvd3NlcihCYXNlQnJvd3Nlcik6Ci0gICAgICAgICAg ICAgcmFpc2UgRXJyb3IoIkJhZCAnbmV3JyBwYXJhbWV0ZXIgdG8gb3BlbigpOyAiICsKLSAgICAg ICAgICAgICAgICAgICAgICAgICAiZXhwZWN0ZWQgMCwgMSwgb3IgMiwgZ290ICVzIiAlIG5ldykK LSAKLS0gICAgICAgIGFyZ3MgPSBbYXJnLnJlcGxhY2UoIiVzIiwgdXJsKS5yZXBsYWNlKCIlYWN0 aW9uIiwgYWN0aW9uKQotKyAgICAgICAgc2VsZi5fY2hlY2tfdXJsKHVybC5yZXBsYWNlKCIlYWN0 aW9uIiwgYWN0aW9uKSkKLSsKLSsgICAgICAgIGFyZ3MgPSBbYXJnLnJlcGxhY2UoIiVhY3Rpb24i LCBhY3Rpb24pLnJlcGxhY2UoIiVzIiwgdXJsKQotICAgICAgICAgICAgICAgICBmb3IgYXJnIGlu IHNlbGYucmVtb3RlX2FyZ3NdCi0gICAgICAgICBhcmdzID0gW2FyZyBmb3IgYXJnIGluIGFyZ3Mg aWYgYXJnXQotICAgICAgICAgc3VjY2VzcyA9IHNlbGYuX2ludm9rZShhcmdzLCBUcnVlLCBhdXRv cmFpc2UsIHVybCkKLWRpZmYgLXJ1cE4gLS1uby1kZXJlZmVyZW5jZSBQeXRob24tMy4xMS4xNS9N aXNjL05FV1MuZC9uZXh0L1NlY3VyaXR5LzIwMjYtMDMtMzEtMDktMTUtNTEuZ2gtaXNzdWUtMTQ4 MTY5LkVaSnp6Mi5yc3QgUHl0aG9uLTMuMTEuMTUtbmV3L01pc2MvTkVXUy5kL25leHQvU2VjdXJp dHkvMjAyNi0wMy0zMS0wOS0xNS01MS5naC1pc3N1ZS0xNDgxNjkuRVpKenoyLnJzdAotLS0tIFB5 dGhvbi0zLjExLjE1L01pc2MvTkVXUy5kL25leHQvU2VjdXJpdHkvMjAyNi0wMy0zMS0wOS0xNS01 MS5naC1pc3N1ZS0xNDgxNjkuRVpKenoyLnJzdAkxOTcwLTAxLTAxIDAxOjAwOjAwLjAwMDAwMDAw MCArMDEwMAotKysrIFB5dGhvbi0zLjExLjE1LW5ldy9NaXNjL05FV1MuZC9uZXh0L1NlY3VyaXR5 LzIwMjYtMDMtMzEtMDktMTUtNTEuZ2gtaXNzdWUtMTQ4MTY5LkVaSnp6Mi5yc3QJMjAyNi0wNC0x OCAwOTowMDozMy4wMzM5MDQwOTggKzAyMDAKLUBAIC0wLDAgKzEsMiBAQAotK0EgYnlwYXNzIGlu IDptb2Q6YHdlYmJyb3dzZXJgIGFsbG93ZWQgVVJMcyBwcmVmaXhlZCB3aXRoIGBgJWFjdGlvbmBg IHRvIHBhc3MKLSt0aGUgZGFzaC1wcmVmaXggc2FmZXR5IGNoZWNrLgoKZGlmZiAtLWdpdCBhL0NW RS0yMDI2LTIyOTcucGF0Y2ggYi9DVkUtMjAyNi0yMjk3LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCA2Nzk4ZDE4Li4wMDAwMDAwCi0tLSBhL0NWRS0yMDI2LTIyOTcucGF0Y2gK KysrIC9kZXYvbnVsbApAQCAtMSwxOCArMCwwIEBACi1kaWZmIC1ydXBOIC0tbm8tZGVyZWZlcmVu Y2UgUHl0aG9uLTMuMTEuMTUvTGliL2ltcG9ydGxpYi9fYm9vdHN0cmFwX2V4dGVybmFsLnB5IFB5 dGhvbi0zLjExLjE1LW5ldy9MaWIvaW1wb3J0bGliL19ib290c3RyYXBfZXh0ZXJuYWwucHkKLS0t LSBQeXRob24tMy4xMS4xNS9MaWIvaW1wb3J0bGliL19ib290c3RyYXBfZXh0ZXJuYWwucHkJMjAy Ni0wMy0wMyAwMTo1Mjo1Ny4wMDAwMDAwMDAgKzAxMDAKLSsrKyBQeXRob24tMy4xMS4xNS1uZXcv TGliL2ltcG9ydGxpYi9fYm9vdHN0cmFwX2V4dGVybmFsLnB5CTIwMjYtMDMtMjcgMTg6NDI6MDgu MDczOTExMTUwICswMTAwCi1AQCAtMTEyNiw3ICsxMTI2LDcgQEAgY2xhc3MgRmlsZUxvYWRlcjoK LSAKLSAgICAgZGVmIGdldF9kYXRhKHNlbGYsIHBhdGgpOgotICAgICAgICAgIiIiUmV0dXJuIHRo ZSBkYXRhIGZyb20gcGF0aCBhcyByYXcgYnl0ZXMuIiIiCi0tICAgICAgICBpZiBpc2luc3RhbmNl KHNlbGYsIChTb3VyY2VMb2FkZXIsIEV4dGVuc2lvbkZpbGVMb2FkZXIpKToKLSsgICAgICAgIGlm IGlzaW5zdGFuY2Uoc2VsZiwgKFNvdXJjZUxvYWRlciwgU291cmNlbGVzc0ZpbGVMb2FkZXIsIEV4 dGVuc2lvbkZpbGVMb2FkZXIpKToKLSAgICAgICAgICAgICB3aXRoIF9pby5vcGVuX2NvZGUoc3Ry KHBhdGgpKSBhcyBmaWxlOgotICAgICAgICAgICAgICAgICByZXR1cm4gZmlsZS5yZWFkKCkKLSAg ICAgICAgIGVsc2U6Ci1kaWZmIC1ydXBOIC0tbm8tZGVyZWZlcmVuY2UgUHl0aG9uLTMuMTEuMTUv TWlzYy9ORVdTLmQvbmV4dC9TZWN1cml0eS8yMDI2LTAzLTA0LTE4LTU5LTE3LmdoLWlzc3VlLTE0 NTUwNi42aHd2RWgucnN0IFB5dGhvbi0zLjExLjE1LW5ldy9NaXNjL05FV1MuZC9uZXh0L1NlY3Vy aXR5LzIwMjYtMDMtMDQtMTgtNTktMTcuZ2gtaXNzdWUtMTQ1NTA2LjZod3ZFaC5yc3QKLS0tLSBQ eXRob24tMy4xMS4xNS9NaXNjL05FV1MuZC9uZXh0L1NlY3VyaXR5LzIwMjYtMDMtMDQtMTgtNTkt MTcuZ2gtaXNzdWUtMTQ1NTA2LjZod3ZFaC5yc3QJMTk3MC0wMS0wMSAwMTowMDowMC4wMDAwMDAw MDAgKzAxMDAKLSsrKyBQeXRob24tMy4xMS4xNS1uZXcvTWlzYy9ORVdTLmQvbmV4dC9TZWN1cml0 eS8yMDI2LTAzLTA0LTE4LTU5LTE3LmdoLWlzc3VlLTE0NTUwNi42aHd2RWgucnN0CTIwMjYtMDMt MjcgMTg6NDI6MDguMDc0MjkwMjE2ICswMTAwCi1AQCAtMCwwICsxLDIgQEAKLStGaXhlcyBDVkUt MjAyNi0yMjk3IGJ5IGVuc3VyaW5nIHRoYXQgYGBTb3VyY2VsZXNzRmlsZUxvYWRlcmBgIHVzZXMK LSs6ZnVuYzpgaW8ub3Blbl9jb2RlYCB3aGVuIG9wZW5pbmcgYGAucHljYGAgZmlsZXMuCgpkaWZm IC0tZ2l0IGEvY2VhYzFlZmM2NjUxNmFjMzg3ZWVmMmM5YTBjZTY3MTg5NWI0NGYwMy5wYXRjaCBi L2NlYWMxZWZjNjY1MTZhYzM4N2VlZjJjOWEwY2U2NzE4OTViNDRmMDMucGF0Y2gKZGVsZXRlZCBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNjMTk5NzQuLjAwMDAwMDAKLS0tIGEvY2VhYzFlZmM2NjUx NmFjMzg3ZWVmMmM5YTBjZTY3MTg5NWI0NGYwMy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDEw MCArMCwwIEBACi1kaWZmIC1ydXBOIC0tbm8tZGVyZWZlcmVuY2UgUHl0aG9uLTMuMTEuMTUvTGli L3Rlc3QvdGVzdF93ZWJicm93c2VyLnB5IFB5dGhvbi0zLjExLjE1LW5ldy9MaWIvdGVzdC90ZXN0 X3dlYmJyb3dzZXIucHkKLS0tLSBQeXRob24tMy4xMS4xNS9MaWIvdGVzdC90ZXN0X3dlYmJyb3dz ZXIucHkJMjAyNi0wMy0wMyAwMTo1Mjo1Ny4wMDAwMDAwMDAgKzAxMDAKLSsrKyBQeXRob24tMy4x MS4xNS1uZXcvTGliL3Rlc3QvdGVzdF93ZWJicm93c2VyLnB5CTIwMjYtMDMtMjcgMTg6NDI6MDgu MzA2OTYwNDcxICswMTAwCi1AQCAtNTksNiArNTksMTEgQEAgY2xhc3MgR2VuZXJpY0Jyb3dzZXJD b21tYW5kVGVzdChDb21tYW5kVAotICAgICAgICAgICAgICAgICAgICBvcHRpb25zPVtdLAotICAg ICAgICAgICAgICAgICAgICBhcmd1bWVudHM9W1VSTF0pCi0gCi0rICAgIGRlZiB0ZXN0X3JlamVj dF9kYXNoX3ByZWZpeGVzKHNlbGYpOgotKyAgICAgICAgYnJvd3NlciA9IHNlbGYuYnJvd3Nlcl9j bGFzcyhuYW1lPUNNRF9OQU1FKQotKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhWYWx1 ZUVycm9yKToKLSsgICAgICAgICAgICBicm93c2VyLm9wZW4oZiItLWtleT12YWwge1VSTH0iKQot KwotIAotIGNsYXNzIEJhY2tncm91bmRCcm93c2VyQ29tbWFuZFRlc3QoQ29tbWFuZFRlc3RNaXhp biwgdW5pdHRlc3QuVGVzdENhc2UpOgotIAotZGlmZiAtcnVwTiAtLW5vLWRlcmVmZXJlbmNlIFB5 dGhvbi0zLjExLjE1L0xpYi93ZWJicm93c2VyLnB5IFB5dGhvbi0zLjExLjE1LW5ldy9MaWIvd2Vi YnJvd3Nlci5weQotLS0tIFB5dGhvbi0zLjExLjE1L0xpYi93ZWJicm93c2VyLnB5CTIwMjYtMDMt MDMgMDE6NTI6NTcuMDAwMDAwMDAwICswMTAwCi0rKysgUHl0aG9uLTMuMTEuMTUtbmV3L0xpYi93 ZWJicm93c2VyLnB5CTIwMjYtMDMtMjcgMTg6NDI6MDguMzA3MjEyMTMyICswMTAwCi1AQCAtMTU1 LDYgKzE1NSwxMiBAQCBjbGFzcyBCYXNlQnJvd3NlcihvYmplY3QpOgotICAgICBkZWYgb3Blbl9u ZXdfdGFiKHNlbGYsIHVybCk6Ci0gICAgICAgICByZXR1cm4gc2VsZi5vcGVuKHVybCwgMikKLSAK LSsgICAgQHN0YXRpY21ldGhvZAotKyAgICBkZWYgX2NoZWNrX3VybCh1cmwpOgotKyAgICAgICAg IiIiRW5zdXJlcyB0aGF0IHRoZSBVUkwgaXMgc2FmZSB0byBwYXNzIHRvIHN1YnByb2Nlc3NlcyBh cyBhIHBhcmFtZXRlciIiIgotKyAgICAgICAgaWYgdXJsIGFuZCB1cmwubHN0cmlwKCkuc3RhcnRz d2l0aCgiLSIpOgotKyAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoZiJJbnZhbGlkIFVSTDog e3VybH0iKQotKwotIAotIGNsYXNzIEdlbmVyaWNCcm93c2VyKEJhc2VCcm93c2VyKToKLSAgICAg IiIiQ2xhc3MgZm9yIGFsbCBicm93c2VycyBzdGFydGVkIHdpdGggYSBjb21tYW5kCi1AQCAtMTcy LDYgKzE3OCw3IEBAIGNsYXNzIEdlbmVyaWNCcm93c2VyKEJhc2VCcm93c2VyKToKLSAKLSAgICAg ZGVmIG9wZW4oc2VsZiwgdXJsLCBuZXc9MCwgYXV0b3JhaXNlPVRydWUpOgotICAgICAgICAgc3lz LmF1ZGl0KCJ3ZWJicm93c2VyLm9wZW4iLCB1cmwpCi0rICAgICAgICBzZWxmLl9jaGVja191cmwo dXJsKQotICAgICAgICAgY21kbGluZSA9IFtzZWxmLm5hbWVdICsgW2FyZy5yZXBsYWNlKCIlcyIs IHVybCkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgYXJnIGluIHNlbGYu YXJnc10KLSAgICAgICAgIHRyeToKLUBAIC0xOTIsNiArMTk5LDcgQEAgY2xhc3MgQmFja2dyb3Vu ZEJyb3dzZXIoR2VuZXJpY0Jyb3dzZXIpOgotICAgICAgICAgY21kbGluZSA9IFtzZWxmLm5hbWVd ICsgW2FyZy5yZXBsYWNlKCIlcyIsIHVybCkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBmb3IgYXJnIGluIHNlbGYuYXJnc10KLSAgICAgICAgIHN5cy5hdWRpdCgid2ViYnJvd3Nl ci5vcGVuIiwgdXJsKQotKyAgICAgICAgc2VsZi5fY2hlY2tfdXJsKHVybCkKLSAgICAgICAgIHRy eToKLSAgICAgICAgICAgICBpZiBzeXMucGxhdGZvcm1bOjNdID09ICd3aW4nOgotICAgICAgICAg ICAgICAgICBwID0gc3VicHJvY2Vzcy5Qb3BlbihjbWRsaW5lKQotQEAgLTI1Nyw2ICsyNjUsNyBA QCBjbGFzcyBVbml4QnJvd3NlcihCYXNlQnJvd3Nlcik6Ci0gCi0gICAgIGRlZiBvcGVuKHNlbGYs IHVybCwgbmV3PTAsIGF1dG9yYWlzZT1UcnVlKToKLSAgICAgICAgIHN5cy5hdWRpdCgid2ViYnJv d3Nlci5vcGVuIiwgdXJsKQotKyAgICAgICAgc2VsZi5fY2hlY2tfdXJsKHVybCkKLSAgICAgICAg IGlmIG5ldyA9PSAwOgotICAgICAgICAgICAgIGFjdGlvbiA9IHNlbGYucmVtb3RlX2FjdGlvbgot ICAgICAgICAgZWxpZiBuZXcgPT0gMToKLUBAIC0zNTgsNiArMzY3LDcgQEAgY2xhc3MgS29ucXVl cm9yKEJhc2VCcm93c2VyKToKLSAKLSAgICAgZGVmIG9wZW4oc2VsZiwgdXJsLCBuZXc9MCwgYXV0 b3JhaXNlPVRydWUpOgotICAgICAgICAgc3lzLmF1ZGl0KCJ3ZWJicm93c2VyLm9wZW4iLCB1cmwp Ci0rICAgICAgICBzZWxmLl9jaGVja191cmwodXJsKQotICAgICAgICAgIyBYWFggQ3VycmVudGx5 IEkga25vdyBubyB3YXkgdG8gcHJldmVudCBLRk0gZnJvbSBvcGVuaW5nIGEgbmV3IHdpbi4KLSAg ICAgICAgIGlmIG5ldyA9PSAyOgotICAgICAgICAgICAgIGFjdGlvbiA9ICJuZXdUYWIiCi1AQCAt NDQyLDYgKzQ1Miw3IEBAIGNsYXNzIEdyYWlsKEJhc2VCcm93c2VyKToKLSAKLSAgICAgZGVmIG9w ZW4oc2VsZiwgdXJsLCBuZXc9MCwgYXV0b3JhaXNlPVRydWUpOgotICAgICAgICAgc3lzLmF1ZGl0 KCJ3ZWJicm93c2VyLm9wZW4iLCB1cmwpCi0rICAgICAgICBzZWxmLl9jaGVja191cmwodXJsKQot ICAgICAgICAgaWYgbmV3OgotICAgICAgICAgICAgIG9rID0gc2VsZi5fcmVtb3RlKCJMT0FETkVX ICIgKyB1cmwpCi0gICAgICAgICBlbHNlOgotQEAgLTYwNSw2ICs2MTYsNyBAQCBpZiBzeXMucGxh dGZvcm1bOjNdID09ICJ3aW4iOgotICAgICBjbGFzcyBXaW5kb3dzRGVmYXVsdChCYXNlQnJvd3Nl cik6Ci0gICAgICAgICBkZWYgb3BlbihzZWxmLCB1cmwsIG5ldz0wLCBhdXRvcmFpc2U9VHJ1ZSk6 Ci0gICAgICAgICAgICAgc3lzLmF1ZGl0KCJ3ZWJicm93c2VyLm9wZW4iLCB1cmwpCi0rICAgICAg ICAgICAgc2VsZi5fY2hlY2tfdXJsKHVybCkKLSAgICAgICAgICAgICB0cnk6Ci0gICAgICAgICAg ICAgICAgIG9zLnN0YXJ0ZmlsZSh1cmwpCi0gICAgICAgICAgICAgZXhjZXB0IE9TRXJyb3I6Ci1A QCAtNjM3LDYgKzY0OSw3IEBAIGlmIHN5cy5wbGF0Zm9ybSA9PSAnZGFyd2luJzoKLSAKLSAgICAg ICAgIGRlZiBvcGVuKHNlbGYsIHVybCwgbmV3PTAsIGF1dG9yYWlzZT1UcnVlKToKLSAgICAgICAg ICAgICBzeXMuYXVkaXQoIndlYmJyb3dzZXIub3BlbiIsIHVybCkKLSsgICAgICAgICAgICBzZWxm Ll9jaGVja191cmwodXJsKQotICAgICAgICAgICAgIGFzc2VydCAiJyIgbm90IGluIHVybAotICAg ICAgICAgICAgICMgaGFjayBmb3IgbG9jYWwgdXJscwotICAgICAgICAgICAgIGlmIG5vdCAnOicg aW4gdXJsOgotQEAgLTY4OSw2ICs3MDIsNyBAQCBpZiBzeXMucGxhdGZvcm0gPT0gJ2Rhcndpbic6 Ci0gCi0gICAgICAgICBkZWYgb3BlbihzZWxmLCB1cmwsIG5ldz0wLCBhdXRvcmFpc2U9VHJ1ZSk6 Ci0gICAgICAgICAgICAgc3lzLmF1ZGl0KCJ3ZWJicm93c2VyLm9wZW4iLCB1cmwpCi0rICAgICAg ICAgICAgc2VsZi5fY2hlY2tfdXJsKHVybCkKLSAgICAgICAgICAgICBpZiBzZWxmLm5hbWUgPT0g J2RlZmF1bHQnOgotICAgICAgICAgICAgICAgICBzY3JpcHQgPSAnb3BlbiBsb2NhdGlvbiAiJXMi JyAlIHVybC5yZXBsYWNlKCciJywgJyUyMicpICMgb3BlbnMgaW4gZGVmYXVsdCBicm93c2VyCi0g ICAgICAgICAgICAgZWxzZToKLWRpZmYgLXJ1cE4gLS1uby1kZXJlZmVyZW5jZSBQeXRob24tMy4x MS4xNS9NaXNjL05FV1MuZC9uZXh0L1NlY3VyaXR5LzIwMjYtMDEtMTYtMTItMDQtNDkuZ2gtaXNz dWUtMTQzOTMwLnpZQzV4My5yc3QgUHl0aG9uLTMuMTEuMTUtbmV3L01pc2MvTkVXUy5kL25leHQv U2VjdXJpdHkvMjAyNi0wMS0xNi0xMi0wNC00OS5naC1pc3N1ZS0xNDM5MzAuellDNXgzLnJzdAot LS0tIFB5dGhvbi0zLjExLjE1L01pc2MvTkVXUy5kL25leHQvU2VjdXJpdHkvMjAyNi0wMS0xNi0x Mi0wNC00OS5naC1pc3N1ZS0xNDM5MzAuellDNXgzLnJzdAkxOTcwLTAxLTAxIDAxOjAwOjAwLjAw MDAwMDAwMCArMDEwMAotKysrIFB5dGhvbi0zLjExLjE1LW5ldy9NaXNjL05FV1MuZC9uZXh0L1Nl Y3VyaXR5LzIwMjYtMDEtMTYtMTItMDQtNDkuZ2gtaXNzdWUtMTQzOTMwLnpZQzV4My5yc3QJMjAy Ni0wMy0yNyAxODo0MjowOC4zMDczODE4NzMgKzAxMDAKLUBAIC0wLDAgKzEgQEAKLStSZWplY3Qg bGVhZGluZyBkYXNoZXMgaW4gVVJMcyBwYXNzZWQgdG8gOmZ1bmM6YHdlYmJyb3dzZXIub3BlbmAK CmRpZmYgLS1naXQgYS9lMDc5OTM1MjgyMzI4OWZhZmI4MTMxMzQxYWJkNzUxOTIzZWU5YzA4LnBh dGNoIGIvZTA3OTkzNTI4MjMyODlmYWZiODEzMTM0MWFiZDc1MTkyM2VlOWMwOC5wYXRjaAppbmRl eCA4OTM4ZWRjLi45NjRmNDUwIDEwMDY0NAotLS0gYS9lMDc5OTM1MjgyMzI4OWZhZmI4MTMxMzQx YWJkNzUxOTIzZWU5YzA4LnBhdGNoCisrKyBiL2UwNzk5MzUyODIzMjg5ZmFmYjgxMzEzNDFhYmQ3 NTE5MjNlZTljMDgucGF0Y2gKQEAgLTEsMTEgKzEsMTEgQEAKLWRpZmYgLXJ1cE4gLS1uby1kZXJl ZmVyZW5jZSBQeXRob24tMy4xMS4xNS9NaXNjL05FV1MuZC9uZXh0L0xpYnJhcnkvMjAyNC0wNi0w NC0xOS0wMy0yNS5naC1pc3N1ZS0xMTI2NzIuSzJYZlpILnJzdCBQeXRob24tMy4xMS4xNS1uZXcv TWlzYy9ORVdTLmQvbmV4dC9MaWJyYXJ5LzIwMjQtMDYtMDQtMTktMDMtMjUuZ2gtaXNzdWUtMTEy NjcyLksyWGZaSC5yc3QKLS0tLSBQeXRob24tMy4xMS4xNS9NaXNjL05FV1MuZC9uZXh0L0xpYnJh cnkvMjAyNC0wNi0wNC0xOS0wMy0yNS5naC1pc3N1ZS0xMTI2NzIuSzJYZlpILnJzdAkxOTcwLTAx LTAxIDAxOjAwOjAwLjAwMDAwMDAwMCArMDEwMAotKysrIFB5dGhvbi0zLjExLjE1LW5ldy9NaXNj L05FV1MuZC9uZXh0L0xpYnJhcnkvMjAyNC0wNi0wNC0xOS0wMy0yNS5naC1pc3N1ZS0xMTI2NzIu SzJYZlpILnJzdAkyMDI2LTAzLTI3IDE4OjQyOjA3LjgwNDc3NzM2NiArMDEwMAorZGlmZiAtcnVw TiAtLW5vLWRlcmVmZXJlbmNlIFB5dGhvbi0zLjExLjE2L01pc2MvTkVXUy5kL25leHQvTGlicmFy eS8yMDI0LTA2LTA0LTE5LTAzLTI1LmdoLWlzc3VlLTExMjY3Mi5LMlhmWkgucnN0IFB5dGhvbi0z LjExLjE2LW5ldy9NaXNjL05FV1MuZC9uZXh0L0xpYnJhcnkvMjAyNC0wNi0wNC0xOS0wMy0yNS5n aC1pc3N1ZS0xMTI2NzIuSzJYZlpILnJzdAorLS0tIFB5dGhvbi0zLjExLjE2L01pc2MvTkVXUy5k L25leHQvTGlicmFyeS8yMDI0LTA2LTA0LTE5LTAzLTI1LmdoLWlzc3VlLTExMjY3Mi5LMlhmWkgu cnN0CTE5NzAtMDEtMDEgMDE6MDA6MDAuMDAwMDAwMDAwICswMTAwCisrKysgUHl0aG9uLTMuMTEu MTYtbmV3L01pc2MvTkVXUy5kL25leHQvTGlicmFyeS8yMDI0LTA2LTA0LTE5LTAzLTI1LmdoLWlz c3VlLTExMjY3Mi5LMlhmWkgucnN0CTIwMjYtMDktMTggMTk6MjM6MDkuNDkyODgyMDY4ICswMjAw CiBAQCAtMCwwICsxIEBACiArU3VwcG9ydCBidWlsZGluZyA6bW9kOmB0a2ludGVyYCB3aXRoIFRj bCA5LjAuCi1kaWZmIC1ydXBOIC0tbm8tZGVyZWZlcmVuY2UgUHl0aG9uLTMuMTEuMTUvTW9kdWxl cy9fdGtpbnRlci5jIFB5dGhvbi0zLjExLjE1LW5ldy9Nb2R1bGVzL190a2ludGVyLmMKLS0tLSBQ eXRob24tMy4xMS4xNS9Nb2R1bGVzL190a2ludGVyLmMJMjAyNi0wMy0wMyAwMTo1Mjo1Ny4wMDAw MDAwMDAgKzAxMDAKLSsrKyBQeXRob24tMy4xMS4xNS1uZXcvTW9kdWxlcy9fdGtpbnRlci5jCTIw MjYtMDMtMjcgMTg6NDI6MDcuODA0OTEwNjkyICswMTAwCitkaWZmIC1ydXBOIC0tbm8tZGVyZWZl cmVuY2UgUHl0aG9uLTMuMTEuMTYvTW9kdWxlcy9fdGtpbnRlci5jIFB5dGhvbi0zLjExLjE2LW5l dy9Nb2R1bGVzL190a2ludGVyLmMKKy0tLSBQeXRob24tMy4xMS4xNi9Nb2R1bGVzL190a2ludGVy LmMJMjAyNi0wOC0xMyAwMTowMzoxOS4wMDAwMDAwMDAgKzAyMDAKKysrKyBQeXRob24tMy4xMS4x Ni1uZXcvTW9kdWxlcy9fdGtpbnRlci5jCTIwMjYtMDktMTggMTk6MjM6MDkuNDkzMTgwMDM4ICsw MjAwCiBAQCAtNjYsNiArNjYsMTIgQEAgQ29weXJpZ2h0IChDKSAxOTk0IFN0ZWVuIEx1bWhvbHQu CiAgI2RlZmluZSBVU0VfREVQUkVDQVRFRF9UT01NQVRIX0FQSSAxCiAgI2VuZGlmCgpkaWZmIC0t Z2l0IGEvZTIwYzZjOTY2N2M5OWVjYWFiOTZlMWEyYjM3NjcwODI4NDFmZmM4Yi5wYXRjaCBiL2Uy MGM2Yzk2NjdjOTllY2FhYjk2ZTFhMmIzNzY3MDgyODQxZmZjOGIucGF0Y2gKZGVsZXRlZCBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDE2ZDM5ZTUuLjAwMDAwMDAKLS0tIGEvZTIwYzZjOTY2N2M5OWVj YWFiOTZlMWEyYjM3NjcwODI4NDFmZmM4Yi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDMxICsw LDAgQEAKLWRpZmYgLXJ1cE4gLS1uby1kZXJlZmVyZW5jZSBQeXRob24tMy4xMS4xNS9NaXNjL05F V1MuZC9uZXh0L1NlY3VyaXR5LzIwMjYtMDQtMTAtMTYtMjgtMjEuZ2gtaXNzdWUtMTQ4Mzk1Lmtm em0wRy5yc3QgUHl0aG9uLTMuMTEuMTUtbmV3L01pc2MvTkVXUy5kL25leHQvU2VjdXJpdHkvMjAy Ni0wNC0xMC0xNi0yOC0yMS5naC1pc3N1ZS0xNDgzOTUua2Z6bTBHLnJzdAotLS0tIFB5dGhvbi0z LjExLjE1L01pc2MvTkVXUy5kL25leHQvU2VjdXJpdHkvMjAyNi0wNC0xMC0xNi0yOC0yMS5naC1p c3N1ZS0xNDgzOTUua2Z6bTBHLnJzdAkxOTcwLTAxLTAxIDAxOjAwOjAwLjAwMDAwMDAwMCArMDEw MAotKysrIFB5dGhvbi0zLjExLjE1LW5ldy9NaXNjL05FV1MuZC9uZXh0L1NlY3VyaXR5LzIwMjYt MDQtMTAtMTYtMjgtMjEuZ2gtaXNzdWUtMTQ4Mzk1Lmtmem0wRy5yc3QJMjAyNi0wNC0xNCAxMToy OToxNy45MDgxNzAyMDAgKzAyMDAKLUBAIC0wLDAgKzEsNSBAQAotK0ZpeCBhIGRhbmdsaW5nIGlu cHV0IHBvaW50ZXIgaW4gOmNsYXNzOmBsem1hLkxaTUFEZWNvbXByZXNzb3JgLAotK2FuZCA6Y2xh c3M6YGJ6Mi5CWjJEZWNvbXByZXNzb3JgCi0rd2hlbiBtZW1vcnkgYWxsb2NhdGlvbiBmYWlscyB3 aXRoIDpleGM6YE1lbW9yeUVycm9yYCwgd2hpY2ggY291bGQgbGV0IGEKLStzdWJzZXF1ZW50IDpt ZXRoOmAhZGVjb21wcmVzc2AgY2FsbCByZWFkIG9yIHdyaXRlIHRocm91Z2ggYSBzdGFsZSBwb2lu dGVyIHRvCi0rdGhlIGFscmVhZHktcmVsZWFzZWQgY2FsbGVyIGJ1ZmZlci4KLWRpZmYgLXJ1cE4g LS1uby1kZXJlZmVyZW5jZSBQeXRob24tMy4xMS4xNS9Nb2R1bGVzL19iejJtb2R1bGUuYyBQeXRo b24tMy4xMS4xNS1uZXcvTW9kdWxlcy9fYnoybW9kdWxlLmMKLS0tLSBQeXRob24tMy4xMS4xNS9N b2R1bGVzL19iejJtb2R1bGUuYwkyMDI2LTAzLTAzIDAxOjUyOjU3LjAwMDAwMDAwMCArMDEwMAot KysrIFB5dGhvbi0zLjExLjE1LW5ldy9Nb2R1bGVzL19iejJtb2R1bGUuYwkyMDI2LTA0LTE0IDEx OjI5OjE3LjkwODMzNTUwMCArMDIwMAotQEAgLTU5NSw2ICs1OTUsNyBAQCBkZWNvbXByZXNzKEJa MkRlY29tcHJlc3NvciAqZCwgY2hhciAqZGF0Ci0gICAgIHJldHVybiByZXN1bHQ7Ci0gCi0gZXJy b3I6Ci0rICAgIGJ6cy0+bmV4dF9pbiA9IE5VTEw7Ci0gICAgIFB5X1hERUNSRUYocmVzdWx0KTsK LSAgICAgcmV0dXJuIE5VTEw7Ci0gfQotZGlmZiAtcnVwTiAtLW5vLWRlcmVmZXJlbmNlIFB5dGhv bi0zLjExLjE1L01vZHVsZXMvX2x6bWFtb2R1bGUuYyBQeXRob24tMy4xMS4xNS1uZXcvTW9kdWxl cy9fbHptYW1vZHVsZS5jCi0tLS0gUHl0aG9uLTMuMTEuMTUvTW9kdWxlcy9fbHptYW1vZHVsZS5j CTIwMjYtMDMtMDMgMDE6NTI6NTcuMDAwMDAwMDAwICswMTAwCi0rKysgUHl0aG9uLTMuMTEuMTUt bmV3L01vZHVsZXMvX2x6bWFtb2R1bGUuYwkyMDI2LTA0LTE0IDExOjI5OjE3LjkwODU3OTE0MiAr MDIwMAotQEAgLTExMDUsNiArMTEwNSw3IEBAIGRlY29tcHJlc3MoRGVjb21wcmVzc29yICpkLCB1 aW50OF90ICpkYXQKLSAgICAgcmV0dXJuIHJlc3VsdDsKLSAKLSBlcnJvcjoKLSsgICAgbHpzLT5u ZXh0X2luID0gTlVMTDsKLSAgICAgUHlfWERFQ1JFRihyZXN1bHQpOwotICAgICByZXR1cm4gTlVM TDsKLSB9CgpkaWZmIC0tZ2l0IGEvbWluZ3ctcHl0aG9uMy5zcGVjIGIvbWluZ3ctcHl0aG9uMy5z cGVjCmluZGV4IDExNTNjZWYuLmZiZmE0OWYgMTAwNjQ0Ci0tLSBhL21pbmd3LXB5dGhvbjMuc3Bl YworKysgYi9taW5ndy1weXRob24zLnNwZWMKQEAgLTIzLDggKzIzLDggQEAKICNnbG9iYWwgcHJl IHJjMgogCiBOYW1lOiAgICAgICAgICBtaW5ndy0le3BrZ25hbWV9Ci1WZXJzaW9uOiAgICAgICAz LjExLjE1Ci1SZWxlYXNlOiAgICAgICA1JXs/ZGlzdH0KK1ZlcnNpb246ICAgICAgIDMuMTEuMTYK K1JlbGVhc2U6ICAgICAgIDElez9kaXN0fQogU3VtbWFyeTogICAgICAgTWluR1cgV2luZG93cyAl e3BrZ25hbWV9CiAKIEJ1aWxkQXJjaDogICAgIG5vYXJjaApAQCAtNzAsMjMgKzcwLDggQEAgUGF0 Y2gxMzogICAgICAgbWluZ3ctcHl0aG9uM19tb2R1bGUtc2VsZWN0LnBhdGNoCiBQYXRjaDE0OiAg ICAgICBtaW5ndy1weXRob24zX3BrZ2NvbmZpZy5wYXRjaAogIyBCYWNrcG9ydDogRml4IGJ1aWxk IHdpdGggdGNsOQogUGF0Y2gxNTogICAgICAgaHR0cHM6Ly9naXRodWIuY29tL3B5dGhvbi9jcHl0 aG9uL2NvbW1pdC9lMDc5OTM1MjgyMzI4OWZhZmI4MTMxMzQxYWJkNzUxOTIzZWU5YzA4LnBhdGNo Ci0jIEJhY2twb3J0IHByb3Bvc2VkIGZpeCBmb3IgQ1ZFLTIwMjYtMjI5NwotIyBodHRwczovL2dp dGh1Yi5jb20vcHl0aG9uL2NweXRob24vcHVsbC8xNDU1MTUKLVBhdGNoMTY6ICAgICAgIENWRS0y MDI2LTIyOTcucGF0Y2gKLSMgQmFja3BvcnQgZml4IGZvciBDVkUtMjAyNi00NTE5Ci1QYXRjaDIw OiAgICAgICBodHRwczovL2dpdGh1Yi5jb20vcHl0aG9uL2NweXRob24vY29tbWl0L2NlYWMxZWZj NjY1MTZhYzM4N2VlZjJjOWEwY2U2NzE4OTViNDRmMDMucGF0Y2gKLSMgQmFja3BvcnQgZml4IGZv ciBDVkUtMjAyNi0zNjQ0Ci1QYXRjaDIxOiAgICAgICBodHRwczovL2dpdGh1Yi5jb20vcHl0aG9u L2NweXRob24vcHVsbC8xNDYwMjYucGF0Y2gKLSMgQmFja3BvcnQgZml4IGZvciBDVkUtMjAyNi00 MjI0Ci1QYXRjaDIyOiAgICAgICBodHRwczovL2dpdGh1Yi5jb20vcHl0aG9uL2NweXRob24vcHVs bC8xNDYwMDAucGF0Y2gKLSMgQmFja3BvcnQgZml4IGZvciBDVkUtMjAyNi02MTAwCi1QYXRjaDIz OiAgICAgICBodHRwczovL2dpdGh1Yi5jb20vcHl0aG9uL2NweXRob24vY29tbWl0L2UyMGM2Yzk2 NjdjOTllY2FhYjk2ZTFhMmIzNzY3MDgyODQxZmZjOGIucGF0Y2gKICMgQmFja3BvcnQgZml4IGZv ciBDVkUtMjAyNi0zNDc5CiBQYXRjaDI0OiAgICAgICBodHRwczovL2dpdGh1Yi5jb20vcHl0aG9u L2NweXRob24vcHVsbC8xNDYxMzYucGF0Y2gKLSMgQmFja3BvcnQgZml4IGZvciBDVkUtMjAyNi0x NTAyCi1QYXRjaDI1OiAgICAgICBodHRwczovL2dpdGh1Yi5jb20vcHl0aG9uL2NweXRob24vcHVs bC8xNDgzNTEucGF0Y2gKLSMgQmFja3BvcnQgZml4IGZvciBDVkUtMjAyNi00Nzg2Ci1QYXRjaDI2 OiAgICAgICBodHRwczovL2dpdGh1Yi5jb20vcHl0aG9uL2NweXRob24vcHVsbC8xNDg1MjAucGF0 Y2gKIAogCiBCdWlsZFJlcXVpcmVzOiBtYWtlCkBAIC01MjcsNiArNTEyLDkgQEAgY2htb2QgK3gg JXtidWlsZHJvb3R9JXttaW5ndzY0X2JpbmRpcn0vcHl0aG9uMy1jb25maWcKIAogCiAlY2hhbmdl bG9nCisqIEZyaSBTZXAgMTggMjAyNiBTYW5kcm8gTWFuaSA8bWFuaXNhbmRyb0BnbWFpbC5jb20+ IC0gMy4xMS4xNi0xCistIFVwZGF0ZSB0byAzLjExLjE2CisKICogVGh1IEp1bCAxNiAyMDI2IEZl ZG9yYSBSZWxlYXNlIEVuZ2luZWVyaW5nIDxyZWxlbmdAZmVkb3JhcHJvamVjdC5vcmc+IC0gMy4x MS4xNS01CiAtIFJlYnVpbHQgZm9yIGh0dHBzOi8vZmVkb3JhcHJvamVjdC5vcmcvd2lraS9GZWRv cmFfNDVfTWFzc19SZWJ1aWxkCiAKCmRpZmYgLS1naXQgYS9taW5ndy1weXRob24zX2Rpc3R1dGls cy5wYXRjaCBiL21pbmd3LXB5dGhvbjNfZGlzdHV0aWxzLnBhdGNoCmluZGV4IDQ3MzhhNDkuLmJk ZTgxNmMgMTAwNjQ0Ci0tLSBhL21pbmd3LXB5dGhvbjNfZGlzdHV0aWxzLnBhdGNoCisrKyBiL21p bmd3LXB5dGhvbjNfZGlzdHV0aWxzLnBhdGNoCkBAIC0xLDYgKzEsNiBAQAotZGlmZiAtcnVwTiAt LW5vLWRlcmVmZXJlbmNlIFB5dGhvbi0zLjExLjE1L0xpYi9kaXN0dXRpbHMvY2NvbXBpbGVyLnB5 IFB5dGhvbi0zLjExLjE1LW5ldy9MaWIvZGlzdHV0aWxzL2Njb21waWxlci5weQotLS0tIFB5dGhv bi0zLjExLjE1L0xpYi9kaXN0dXRpbHMvY2NvbXBpbGVyLnB5CTIwMjYtMDMtMDMgMDE6NTI6NTcu MDAwMDAwMDAwICswMTAwCi0rKysgUHl0aG9uLTMuMTEuMTUtbmV3L0xpYi9kaXN0dXRpbHMvY2Nv bXBpbGVyLnB5CTIwMjYtMDMtMjcgMTg6NDI6MDUuODQzMjUzNjQ0ICswMTAwCitkaWZmIC1ydXBO IC0tbm8tZGVyZWZlcmVuY2UgUHl0aG9uLTMuMTEuMTYvTGliL2Rpc3R1dGlscy9jY29tcGlsZXIu cHkgUHl0aG9uLTMuMTEuMTYtbmV3L0xpYi9kaXN0dXRpbHMvY2NvbXBpbGVyLnB5CistLS0gUHl0 aG9uLTMuMTEuMTYvTGliL2Rpc3R1dGlscy9jY29tcGlsZXIucHkJMjAyNi0wOC0xMyAwMTowMzox OS4wMDAwMDAwMDAgKzAyMDAKKysrKyBQeXRob24tMy4xMS4xNi1uZXcvTGliL2Rpc3R1dGlscy9j Y29tcGlsZXIucHkJMjAyNi0wOS0xOCAxOToyMzowNy40MDI3OTE4MjAgKzAyMDAKIEBAIC05LDcg KzksNyBAQCBmcm9tIGRpc3R1dGlscy5zcGF3biBpbXBvcnQgc3Bhd24KICBmcm9tIGRpc3R1dGls cy5maWxlX3V0aWwgaW1wb3J0IG1vdmVfZmlsZQogIGZyb20gZGlzdHV0aWxzLmRpcl91dGlsIGlt cG9ydCBta3BhdGgKQEAgLTI5LDkgKzI5LDkgQEAgZGlmZiAtcnVwTiAtLW5vLWRlcmVmZXJlbmNl IFB5dGhvbi0zLjExLjE1L0xpYi9kaXN0dXRpbHMvY2NvbXBpbGVyLnB5IFB5dGhvbi0zLjEKICAg ICAgICAgIChtb2R1bGVfbmFtZSwgY2xhc3NfbmFtZSwgbG9uZ19kZXNjcmlwdGlvbikgPSBjb21w aWxlcl9jbGFzc1tjb21waWxlcl0KICAgICAgZXhjZXB0IEtleUVycm9yOgogICAgICAgICAgbXNn ID0gImRvbid0IGtub3cgaG93IHRvIGNvbXBpbGUgQy9DKysgY29kZSBvbiBwbGF0Zm9ybSAnJXMn IiAlIHBsYXQKLWRpZmYgLXJ1cE4gLS1uby1kZXJlZmVyZW5jZSBQeXRob24tMy4xMS4xNS9MaWIv ZGlzdHV0aWxzL2NvbW1hbmQvYnVpbGRfZXh0LnB5IFB5dGhvbi0zLjExLjE1LW5ldy9MaWIvZGlz dHV0aWxzL2NvbW1hbmQvYnVpbGRfZXh0LnB5Ci0tLS0gUHl0aG9uLTMuMTEuMTUvTGliL2Rpc3R1 dGlscy9jb21tYW5kL2J1aWxkX2V4dC5weQkyMDI2LTAzLTAzIDAxOjUyOjU3LjAwMDAwMDAwMCAr MDEwMAotKysrIFB5dGhvbi0zLjExLjE1LW5ldy9MaWIvZGlzdHV0aWxzL2NvbW1hbmQvYnVpbGRf ZXh0LnB5CTIwMjYtMDMtMjcgMTg6NDI6MDUuODQzNTk0NzM5ICswMTAwCitkaWZmIC1ydXBOIC0t bm8tZGVyZWZlcmVuY2UgUHl0aG9uLTMuMTEuMTYvTGliL2Rpc3R1dGlscy9jb21tYW5kL2J1aWxk X2V4dC5weSBQeXRob24tMy4xMS4xNi1uZXcvTGliL2Rpc3R1dGlscy9jb21tYW5kL2J1aWxkX2V4 dC5weQorLS0tIFB5dGhvbi0zLjExLjE2L0xpYi9kaXN0dXRpbHMvY29tbWFuZC9idWlsZF9leHQu cHkJMjAyNi0wOC0xMyAwMTowMzoxOS4wMDAwMDAwMDAgKzAyMDAKKysrKyBQeXRob24tMy4xMS4x Ni1uZXcvTGliL2Rpc3R1dGlscy9jb21tYW5kL2J1aWxkX2V4dC5weQkyMDI2LTA5LTE4IDE5OjIz OjA3LjQwMzE4OTY4MyArMDIwMAogQEAgLTE4Niw3ICsxODYsNyBAQCBjbGFzcyBidWlsZF9leHQo Q29tbWFuZCk6CiAgICAgICAgICAjIGZvciBleHRlbnNpb25zIHVuZGVyIHdpbmRvd3MgdXNlIGRp ZmZlcmVudCBkaXJlY3RvcmllcwogICAgICAgICAgIyBmb3IgUmVsZWFzZSBhbmQgRGVidWcgYnVp bGRzLgpAQCAtNzEsOSArNzEsOSBAQCBkaWZmIC1ydXBOIC0tbm8tZGVyZWZlcmVuY2UgUHl0aG9u LTMuMTEuMTUvTGliL2Rpc3R1dGlscy9jb21tYW5kL2J1aWxkX2V4dC5weSBQeQogICAgICAgICAg ICAgICAgICAgICAgICAgIGxpbmtfbGlicHl0aG9uID0gVHJ1ZQogIAogICAgICAgICAgICAgIGlm IGxpbmtfbGlicHl0aG9uOgotZGlmZiAtcnVwTiAtLW5vLWRlcmVmZXJlbmNlIFB5dGhvbi0zLjEx LjE1L0xpYi9kaXN0dXRpbHMvY3lnd2luY2NvbXBpbGVyLnB5IFB5dGhvbi0zLjExLjE1LW5ldy9M aWIvZGlzdHV0aWxzL2N5Z3dpbmNjb21waWxlci5weQotLS0tIFB5dGhvbi0zLjExLjE1L0xpYi9k aXN0dXRpbHMvY3lnd2luY2NvbXBpbGVyLnB5CTIwMjYtMDMtMDMgMDE6NTI6NTcuMDAwMDAwMDAw ICswMTAwCi0rKysgUHl0aG9uLTMuMTEuMTUtbmV3L0xpYi9kaXN0dXRpbHMvY3lnd2luY2NvbXBp bGVyLnB5CTIwMjYtMDMtMjcgMTg6NDI6MDUuODQzOTA3MzQ4ICswMTAwCitkaWZmIC1ydXBOIC0t bm8tZGVyZWZlcmVuY2UgUHl0aG9uLTMuMTEuMTYvTGliL2Rpc3R1dGlscy9jeWd3aW5jY29tcGls ZXIucHkgUHl0aG9uLTMuMTEuMTYtbmV3L0xpYi9kaXN0dXRpbHMvY3lnd2luY2NvbXBpbGVyLnB5 CistLS0gUHl0aG9uLTMuMTEuMTYvTGliL2Rpc3R1dGlscy9jeWd3aW5jY29tcGlsZXIucHkJMjAy Ni0wOC0xMyAwMTowMzoxOS4wMDAwMDAwMDAgKzAyMDAKKysrKyBQeXRob24tMy4xMS4xNi1uZXcv TGliL2Rpc3R1dGlscy9jeWd3aW5jY29tcGlsZXIucHkJMjAyNi0wOS0xOCAxOToyMzowNy40MDM0 OTU0OTkgKzAyMDAKIEBAIC05MCw3ICs5MCw4IEBAIGNsYXNzIEN5Z3dpbkNDb21waWxlcihVbml4 Q0NvbXBpbGVyKToKICAgICAgY29tcGlsZXJfdHlwZSA9ICdjeWd3aW4nCiAgICAgIG9ial9leHRl bnNpb24gPSAiLm8iCkBAIC0xMzQsOSArMTM0LDkgQEAgZGlmZiAtcnVwTiAtLW5vLWRlcmVmZXJl bmNlIFB5dGhvbi0zLjExLjE1L0xpYi9kaXN0dXRpbHMvY3lnd2luY2NvbXBpbGVyLnB5IFB5dGgK ICsgICAgZ2NjID0gb3MuZW52aXJvbi5nZXQoJ0NDJykgb3IgJ2djYycKICsgICAgb3V0X3N0cmlu ZyA9IGNoZWNrX291dHB1dChbZ2NjLCAnLWR1bXBtYWNoaW5lJ10pCiAgICAgIHJldHVybiBvdXRf c3RyaW5nLnN0cmlwKCkuZW5kc3dpdGgoYidjeWd3aW4nKQotZGlmZiAtcnVwTiAtLW5vLWRlcmVm ZXJlbmNlIFB5dGhvbi0zLjExLjE1L0xpYi9kaXN0dXRpbHMvc3lzY29uZmlnLnB5IFB5dGhvbi0z LjExLjE1LW5ldy9MaWIvZGlzdHV0aWxzL3N5c2NvbmZpZy5weQotLS0tIFB5dGhvbi0zLjExLjE1 L0xpYi9kaXN0dXRpbHMvc3lzY29uZmlnLnB5CTIwMjYtMDMtMDMgMDE6NTI6NTcuMDAwMDAwMDAw ICswMTAwCi0rKysgUHl0aG9uLTMuMTEuMTUtbmV3L0xpYi9kaXN0dXRpbHMvc3lzY29uZmlnLnB5 CTIwMjYtMDMtMjcgMTg6NDI6MDUuODQ0MjQ1NDUzICswMTAwCitkaWZmIC1ydXBOIC0tbm8tZGVy ZWZlcmVuY2UgUHl0aG9uLTMuMTEuMTYvTGliL2Rpc3R1dGlscy9zeXNjb25maWcucHkgUHl0aG9u LTMuMTEuMTYtbmV3L0xpYi9kaXN0dXRpbHMvc3lzY29uZmlnLnB5CistLS0gUHl0aG9uLTMuMTEu MTYvTGliL2Rpc3R1dGlscy9zeXNjb25maWcucHkJMjAyNi0wOC0xMyAwMTowMzoxOS4wMDAwMDAw MDAgKzAyMDAKKysrKyBQeXRob24tMy4xMS4xNi1uZXcvTGliL2Rpc3R1dGlscy9zeXNjb25maWcu cHkJMjAyNi0wOS0xOCAxOToyMzowNy40MDM3NTQ3ODggKzAyMDAKIEBAIC0xOTYsNyArMTk2LDcg QEAgZGVmIGN1c3RvbWl6ZV9jb21waWxlcihjb21waWxlcik6CiAgICAgIE1haW5seSBuZWVkZWQg b24gVW5peCwgc28gd2UgY2FuIHBsdWcgaW4gdGhlIGluZm9ybWF0aW9uIHRoYXQKICAgICAgdmFy aWVzIGFjcm9zcyBVbmljZXMgYW5kIGlzIHN0b3JlZCBpbiBQeXRob24ncyBNYWtlZmlsZS4KQEAg LTE1Nyw5ICsxNTcsOSBAQCBkaWZmIC1ydXBOIC0tbm8tZGVyZWZlcmVuY2UgUHl0aG9uLTMuMTEu MTUvTGliL2Rpc3R1dGlscy9zeXNjb25maWcucHkgUHl0aG9uLTMuMQogIAogIAogIGRlZiBnZXRf cHl0aG9uX2luYyhwbGF0X3NwZWNpZmljPTAsIHByZWZpeD1Ob25lKToKLWRpZmYgLXJ1cE4gLS1u by1kZXJlZmVyZW5jZSBQeXRob24tMy4xMS4xNS9MaWIvZGlzdHV0aWxzL3V0aWwucHkgUHl0aG9u LTMuMTEuMTUtbmV3L0xpYi9kaXN0dXRpbHMvdXRpbC5weQotLS0tIFB5dGhvbi0zLjExLjE1L0xp Yi9kaXN0dXRpbHMvdXRpbC5weQkyMDI2LTAzLTAzIDAxOjUyOjU3LjAwMDAwMDAwMCArMDEwMAot KysrIFB5dGhvbi0zLjExLjE1LW5ldy9MaWIvZGlzdHV0aWxzL3V0aWwucHkJMjAyNi0wMy0yNyAx ODo0MjowNS44NDQ0NTUxNzUgKzAxMDAKK2RpZmYgLXJ1cE4gLS1uby1kZXJlZmVyZW5jZSBQeXRo b24tMy4xMS4xNi9MaWIvZGlzdHV0aWxzL3V0aWwucHkgUHl0aG9uLTMuMTEuMTYtbmV3L0xpYi9k aXN0dXRpbHMvdXRpbC5weQorLS0tIFB5dGhvbi0zLjExLjE2L0xpYi9kaXN0dXRpbHMvdXRpbC5w eQkyMDI2LTA4LTEzIDAxOjAzOjE5LjAwMDAwMDAwMCArMDIwMAorKysrIFB5dGhvbi0zLjExLjE2 LW5ldy9MaWIvZGlzdHV0aWxzL3V0aWwucHkJMjAyNi0wOS0xOCAxOToyMzowNy40MDM5OTUxNDAg KzAyMDAKIEBAIC0zNyw2ICszNyw4IEBAIGRlZiBnZXRfaG9zdF9wbGF0Zm9ybSgpOgogIAogICAg ICAiIiIKCmRpZmYgLS1naXQgYS9taW5ndy1weXRob24zX2Zyb3plbm1haW4ucGF0Y2ggYi9taW5n dy1weXRob24zX2Zyb3plbm1haW4ucGF0Y2gKaW5kZXggYjQ0OWIzMC4uM2EyZDUwNSAxMDA2NDQK LS0tIGEvbWluZ3ctcHl0aG9uM19mcm96ZW5tYWluLnBhdGNoCisrKyBiL21pbmd3LXB5dGhvbjNf ZnJvemVubWFpbi5wYXRjaApAQCAtMSw2ICsxLDYgQEAKLWRpZmYgLXJ1cE4gLS1uby1kZXJlZmVy ZW5jZSBQeXRob24tMy4xMS4xNS9jb25maWd1cmUuYWMgUHl0aG9uLTMuMTEuMTUtbmV3L2NvbmZp Z3VyZS5hYwotLS0tIFB5dGhvbi0zLjExLjE1L2NvbmZpZ3VyZS5hYwkyMDI2LTAzLTI3IDE4OjQy OjA0LjYzNDk2ODc0MCArMDEwMAotKysrIFB5dGhvbi0zLjExLjE1LW5ldy9jb25maWd1cmUuYWMJ MjAyNi0wMy0yNyAxODo0MjowNC44NzY1MTQ5NjkgKzAxMDAKK2RpZmYgLXJ1cE4gLS1uby1kZXJl ZmVyZW5jZSBQeXRob24tMy4xMS4xNi9jb25maWd1cmUuYWMgUHl0aG9uLTMuMTEuMTYtbmV3L2Nv bmZpZ3VyZS5hYworLS0tIFB5dGhvbi0zLjExLjE2L2NvbmZpZ3VyZS5hYwkyMDI2LTA5LTE4IDE5 OjIzOjA2LjAyNDk3OTg4OCArMDIwMAorKysrIFB5dGhvbi0zLjExLjE2LW5ldy9jb25maWd1cmUu YWMJMjAyNi0wOS0xOCAxOToyMzowNi4zMTMzOTIxNjUgKzAyMDAKIEBAIC02NDExLDYgKzY0MTEs MTYgQEAgZG8KICAgIFRIUkVBREhFQURFUlM9IiRUSFJFQURIRUFERVJTIFwkKHNyY2RpcikvJGgi CiAgZG9uZQpAQCAtMTgsOSArMTgsOSBAQCBkaWZmIC1ydXBOIC0tbm8tZGVyZWZlcmVuY2UgUHl0 aG9uLTMuMTEuMTUvY29uZmlndXJlLmFjIFB5dGhvbi0zLjExLjE1LW5ldy9jb25maQogIEFDX1NV QlNUKFNSQ0RJUlMpCiAgU1JDRElSUz0iXAogICAgTW9kdWxlcyBcCi1kaWZmIC1ydXBOIC0tbm8t ZGVyZWZlcmVuY2UgUHl0aG9uLTMuMTEuMTUvTWFrZWZpbGUucHJlLmluIFB5dGhvbi0zLjExLjE1 LW5ldy9NYWtlZmlsZS5wcmUuaW4KLS0tLSBQeXRob24tMy4xMS4xNS9NYWtlZmlsZS5wcmUuaW4J MjAyNi0wMy0yNyAxODo0MjowNC42MzY0MDQxMzYgKzAxMDAKLSsrKyBQeXRob24tMy4xMS4xNS1u ZXcvTWFrZWZpbGUucHJlLmluCTIwMjYtMDMtMjcgMTg6NDI6MDQuODc3MzQ5NzY5ICswMTAwCitk aWZmIC1ydXBOIC0tbm8tZGVyZWZlcmVuY2UgUHl0aG9uLTMuMTEuMTYvTWFrZWZpbGUucHJlLmlu IFB5dGhvbi0zLjExLjE2LW5ldy9NYWtlZmlsZS5wcmUuaW4KKy0tLSBQeXRob24tMy4xMS4xNi9N YWtlZmlsZS5wcmUuaW4JMjAyNi0wOS0xOCAxOToyMzowNi4wMjc4ODIxOTUgKzAyMDAKKysrKyBQ eXRob24tMy4xMS4xNi1uZXcvTWFrZWZpbGUucHJlLmluCTIwMjYtMDktMTggMTk6MjM6MDYuMzEz OTYzNjM4ICswMjAwCiBAQCAtMzkwLDcgKzM5MCw3IEBAIFBZVEhPTl9PQkpTPQlcCiAgCQlQeXRo b24vZHluYW1pY19hbm5vdGF0aW9ucy5vIFwKICAJCVB5dGhvbi9lcnJvcnMubyBcCgpkaWZmIC0t Z2l0IGEvbWluZ3ctcHl0aG9uM19tYWtlLXN5c2NvbmZpZ2RhdGEucHktcmVsb2NhdGFibGUucGF0 Y2ggYi9taW5ndy1weXRob24zX21ha2Utc3lzY29uZmlnZGF0YS5weS1yZWxvY2F0YWJsZS5wYXRj aAppbmRleCA2ODI2NDVhLi5lNDFjZjg4IDEwMDY0NAotLS0gYS9taW5ndy1weXRob24zX21ha2Ut c3lzY29uZmlnZGF0YS5weS1yZWxvY2F0YWJsZS5wYXRjaAorKysgYi9taW5ndy1weXRob24zX21h a2Utc3lzY29uZmlnZGF0YS5weS1yZWxvY2F0YWJsZS5wYXRjaApAQCAtMSw2ICsxLDYgQEAKLWRp ZmYgLXJ1cE4gLS1uby1kZXJlZmVyZW5jZSBQeXRob24tMy4xMS4xNS9MaWIvc3lzY29uZmlnLnB5 IFB5dGhvbi0zLjExLjE1LW5ldy9MaWIvc3lzY29uZmlnLnB5Ci0tLS0gUHl0aG9uLTMuMTEuMTUv TGliL3N5c2NvbmZpZy5weQkyMDI2LTAzLTI3IDE4OjQyOjA0LjYzNTkwNTI4MyArMDEwMAotKysr IFB5dGhvbi0zLjExLjE1LW5ldy9MaWIvc3lzY29uZmlnLnB5CTIwMjYtMDMtMjcgMTg6NDI6MDYu MDgyNTk4MjU4ICswMTAwCitkaWZmIC1ydXBOIC0tbm8tZGVyZWZlcmVuY2UgUHl0aG9uLTMuMTEu MTYvTGliL3N5c2NvbmZpZy5weSBQeXRob24tMy4xMS4xNi1uZXcvTGliL3N5c2NvbmZpZy5weQor LS0tIFB5dGhvbi0zLjExLjE2L0xpYi9zeXNjb25maWcucHkJMjAyNi0wOS0xOCAxOToyMzowNi4w MjczMzkyNDYgKzAyMDAKKysrKyBQeXRob24tMy4xMS4xNi1uZXcvTGliL3N5c2NvbmZpZy5weQky MDI2LTA5LTE4IDE5OjIzOjA3LjY2MjA0MzQzMiArMDIwMAogQEAgLTIsNiArMiw3IEBACiAgCiAg aW1wb3J0IG9zCgpkaWZmIC0tZ2l0IGEvbWluZ3ctcHl0aG9uM19tb2RzLWZhaWxlZC5wYXRjaCBi L21pbmd3LXB5dGhvbjNfbW9kcy1mYWlsZWQucGF0Y2gKaW5kZXggNGRhNDFlZS4uOThkZDdmMiAx MDA2NDQKLS0tIGEvbWluZ3ctcHl0aG9uM19tb2RzLWZhaWxlZC5wYXRjaAorKysgYi9taW5ndy1w eXRob24zX21vZHMtZmFpbGVkLnBhdGNoCkBAIC0xLDYgKzEsNiBAQAotZGlmZiAtcnVwTiAtLW5v LWRlcmVmZXJlbmNlIFB5dGhvbi0zLjExLjE1L3NldHVwLnB5IFB5dGhvbi0zLjExLjE1LW5ldy9z ZXR1cC5weQotLS0tIFB5dGhvbi0zLjExLjE1L3NldHVwLnB5CTIwMjYtMDMtMDMgMDE6NTI6NTcu MDAwMDAwMDAwICswMTAwCi0rKysgUHl0aG9uLTMuMTEuMTUtbmV3L3NldHVwLnB5CTIwMjYtMDMt MjcgMTg6NDI6MDUuNTk0MzQxMDMxICswMTAwCitkaWZmIC1ydXBOIC0tbm8tZGVyZWZlcmVuY2Ug UHl0aG9uLTMuMTEuMTYvc2V0dXAucHkgUHl0aG9uLTMuMTEuMTYtbmV3L3NldHVwLnB5CistLS0g UHl0aG9uLTMuMTEuMTYvc2V0dXAucHkJMjAyNi0wOC0xMyAwMTowMzoxOS4wMDAwMDAwMDAgKzAy MDAKKysrKyBQeXRob24tMy4xMS4xNi1uZXcvc2V0dXAucHkJMjAyNi0wOS0xOCAxOToyMzowNy4x NDkzNDY4OTIgKzAyMDAKIEBAIC01NzcsNiArNTc3LDggQEAgY2xhc3MgUHlCdWlsZEV4dChidWls ZF9leHQpOgogICAgICAgICAgICAgIHByaW50KCJGYWlsZWQgdG8gYnVpbGQgdGhlc2UgbW9kdWxl czoiKQogICAgICAgICAgICAgIHByaW50X3RocmVlX2NvbHVtbihmYWlsZWQpCgpkaWZmIC0tZ2l0 IGEvbWluZ3ctcHl0aG9uM19tb2R1bGUtc2VsZWN0LnBhdGNoIGIvbWluZ3ctcHl0aG9uM19tb2R1 bGUtc2VsZWN0LnBhdGNoCmluZGV4IGE5YjY1MGEuLjgwNTVjZTYgMTAwNjQ0Ci0tLSBhL21pbmd3 LXB5dGhvbjNfbW9kdWxlLXNlbGVjdC5wYXRjaAorKysgYi9taW5ndy1weXRob24zX21vZHVsZS1z ZWxlY3QucGF0Y2gKQEAgLTEsNiArMSw2IEBACi1kaWZmIC1ydXBOIC0tbm8tZGVyZWZlcmVuY2Ug UHl0aG9uLTMuMTEuMTUvTW9kdWxlcy9zZWxlY3Rtb2R1bGUuYyBQeXRob24tMy4xMS4xNS1uZXcv TW9kdWxlcy9zZWxlY3Rtb2R1bGUuYwotLS0tIFB5dGhvbi0zLjExLjE1L01vZHVsZXMvc2VsZWN0 bW9kdWxlLmMJMjAyNi0wMy0wMyAwMTo1Mjo1Ny4wMDAwMDAwMDAgKzAxMDAKLSsrKyBQeXRob24t My4xMS4xNS1uZXcvTW9kdWxlcy9zZWxlY3Rtb2R1bGUuYwkyMDI2LTAzLTI3IDE4OjQyOjA3LjMy ODkwOTg4MSArMDEwMAorZGlmZiAtcnVwTiAtLW5vLWRlcmVmZXJlbmNlIFB5dGhvbi0zLjExLjE2 L01vZHVsZXMvc2VsZWN0bW9kdWxlLmMgUHl0aG9uLTMuMTEuMTYtbmV3L01vZHVsZXMvc2VsZWN0 bW9kdWxlLmMKKy0tLSBQeXRob24tMy4xMS4xNi9Nb2R1bGVzL3NlbGVjdG1vZHVsZS5jCTIwMjYt MDgtMTMgMDE6MDM6MTkuMDAwMDAwMDAwICswMjAwCisrKysgUHl0aG9uLTMuMTEuMTYtbmV3L01v ZHVsZXMvc2VsZWN0bW9kdWxlLmMJMjAyNi0wOS0xOCAxOToyMzowOC45NzIwNzM4MjYgKzAyMDAK IEBAIC0xNDYsOSArMTQ2LDkgQEAgc2VxMnNldChQeU9iamVjdCAqc2VxLCBmZF9zZXQgKnNldCwg cHlsaQogICAgICAgICAgdiA9IFB5T2JqZWN0X0FzRmlsZURlc2NyaXB0b3IoIG8gKTsKICAgICAg ICAgIGlmICh2ID09IC0xKSBnb3RvIGZpbmFsbHk7CgpkaWZmIC0tZ2l0IGEvbWluZ3ctcHl0aG9u M19tb2R1bGUtc29ja2V0LnBhdGNoIGIvbWluZ3ctcHl0aG9uM19tb2R1bGUtc29ja2V0LnBhdGNo CmluZGV4IGYxNjc0YWEuLmU3YjcwNmMgMTAwNjQ0Ci0tLSBhL21pbmd3LXB5dGhvbjNfbW9kdWxl LXNvY2tldC5wYXRjaAorKysgYi9taW5ndy1weXRob24zX21vZHVsZS1zb2NrZXQucGF0Y2gKQEAg LTEsNiArMSw2IEBACi1kaWZmIC1ydXBOIC0tbm8tZGVyZWZlcmVuY2UgUHl0aG9uLTMuMTEuMTUv Y29uZmlndXJlLmFjIFB5dGhvbi0zLjExLjE1LW5ldy9jb25maWd1cmUuYWMKLS0tLSBQeXRob24t My4xMS4xNS9jb25maWd1cmUuYWMJMjAyNi0wMy0yNyAxODo0MjowNS4xMTA5MDYwOTYgKzAxMDAK LSsrKyBQeXRob24tMy4xMS4xNS1uZXcvY29uZmlndXJlLmFjCTIwMjYtMDMtMjcgMTg6NDI6MDcu MDg4OTA5NDcyICswMTAwCitkaWZmIC1ydXBOIC0tbm8tZGVyZWZlcmVuY2UgUHl0aG9uLTMuMTEu MTYvY29uZmlndXJlLmFjIFB5dGhvbi0zLjExLjE2LW5ldy9jb25maWd1cmUuYWMKKy0tLSBQeXRo b24tMy4xMS4xNi9jb25maWd1cmUuYWMJMjAyNi0wOS0xOCAxOToyMzowNi42MDQ5NDcyNzYgKzAy MDAKKysrKyBQeXRob24tMy4xMS4xNi1uZXcvY29uZmlndXJlLmFjCTIwMjYtMDktMTggMTk6MjM6 MDguNzExODI4OTQ2ICswMjAwCiBAQCAtNDY0Niw4ICs0NjQ2LDggQEAgQUNfQ0hFQ0tfRlVOQ1Mo WyBcCiAgICBmYWNjZXNzYXQgZmNobW9kIGZjaG1vZGF0IGZjaG93biBmY2hvd25hdCBmZG9wZW5k aXIgZmR3YWxrIGZleGVjdmUgXAogICAgZm9yayBmb3JrMSBmcGF0aGNvbmYgZnN0YXRhdCBmdGlt ZSBmdHJ1bmNhdGUgZnV0aW1lbnMgZnV0aW1lcyBmdXRpbWVzYXQgXApAQCAtNDksOSArNDksOSBA QCBkaWZmIC1ydXBOIC0tbm8tZGVyZWZlcmVuY2UgUHl0aG9uLTMuMTEuMTUvY29uZmlndXJlLmFj IFB5dGhvbi0zLjExLjE1LW5ldy9jb25maQogIF0pXSkKICAKICBQWV9DSEVDS19TT0NLRVRfRlVO QyhbaW5ldF9hdG9uXSkKLWRpZmYgLXJ1cE4gLS1uby1kZXJlZmVyZW5jZSBQeXRob24tMy4xMS4x NS9Nb2R1bGVzL1NldHVwIFB5dGhvbi0zLjExLjE1LW5ldy9Nb2R1bGVzL1NldHVwCi0tLS0gUHl0 aG9uLTMuMTEuMTUvTW9kdWxlcy9TZXR1cAkyMDI2LTAzLTI3IDE4OjQyOjA3LjA4NDEwODM0MiAr MDEwMAotKysrIFB5dGhvbi0zLjExLjE1LW5ldy9Nb2R1bGVzL1NldHVwCTIwMjYtMDMtMjcgMTg6 NDI6MDcuMDg5Mzg3ODU4ICswMTAwCitkaWZmIC1ydXBOIC0tbm8tZGVyZWZlcmVuY2UgUHl0aG9u LTMuMTEuMTYvTW9kdWxlcy9TZXR1cCBQeXRob24tMy4xMS4xNi1uZXcvTW9kdWxlcy9TZXR1cAor LS0tIFB5dGhvbi0zLjExLjE2L01vZHVsZXMvU2V0dXAJMjAyNi0wOS0xOCAxOToyMzowOC43MDcz Mjc3NDQgKzAyMDAKKysrKyBQeXRob24tMy4xMS4xNi1uZXcvTW9kdWxlcy9TZXR1cAkyMDI2LTA5 LTE4IDE5OjIzOjA4LjcxMzQ4ODM4NSArMDIwMAogQEAgLTE0NCw3ICsxNDQsNyBAQCBQWVRIT05Q QVRIPSQoQ09SRVBZVEhPTlBBVEgpCiAgI19waWNrbGUgX3BpY2tsZS5jCiAgI19xdWV1ZSBfcXVl dWVtb2R1bGUuYwpAQCAtNjEsOSArNjEsOSBAQCBkaWZmIC1ydXBOIC0tbm8tZGVyZWZlcmVuY2Ug UHl0aG9uLTMuMTEuMTUvTW9kdWxlcy9TZXR1cCBQeXRob24tMy4xMS4xNS1uZXcvTW9kdQogICNf c3RhdGlzdGljcyBfc3RhdGlzdGljc21vZHVsZS5jCiAgI19zdHJ1Y3QgX3N0cnVjdC5jCiAgI190 eXBpbmcgX3R5cGluZ21vZHVsZS5jCi1kaWZmIC1ydXBOIC0tbm8tZGVyZWZlcmVuY2UgUHl0aG9u LTMuMTEuMTUvTW9kdWxlcy9zb2NrZXRtb2R1bGUuYyBQeXRob24tMy4xMS4xNS1uZXcvTW9kdWxl cy9zb2NrZXRtb2R1bGUuYwotLS0tIFB5dGhvbi0zLjExLjE1L01vZHVsZXMvc29ja2V0bW9kdWxl LmMJMjAyNi0wMy0wMyAwMTo1Mjo1Ny4wMDAwMDAwMDAgKzAxMDAKLSsrKyBQeXRob24tMy4xMS4x NS1uZXcvTW9kdWxlcy9zb2NrZXRtb2R1bGUuYwkyMDI2LTAzLTI3IDE4OjQyOjA3LjA4OTk1NDY1 MCArMDEwMAorZGlmZiAtcnVwTiAtLW5vLWRlcmVmZXJlbmNlIFB5dGhvbi0zLjExLjE2L01vZHVs ZXMvc29ja2V0bW9kdWxlLmMgUHl0aG9uLTMuMTEuMTYtbmV3L01vZHVsZXMvc29ja2V0bW9kdWxl LmMKKy0tLSBQeXRob24tMy4xMS4xNi9Nb2R1bGVzL3NvY2tldG1vZHVsZS5jCTIwMjYtMDgtMTMg MDE6MDM6MTkuMDAwMDAwMDAwICswMjAwCisrKysgUHl0aG9uLTMuMTEuMTYtbmV3L01vZHVsZXMv c29ja2V0bW9kdWxlLmMJMjAyNi0wOS0xOCAxOToyMzowOC43MTQxODA5MDEgKzAyMDAKIEBAIC0y NzQsNyArMjc0LDcgQEAgc2h1dGRvd24oaG93KSAtLSBzaHV0IGRvd24gdHJhZmZpYyBpbiBvbgog ICMgZW5kaWYKICAKCmRpZmYgLS1naXQgYS9taW5ndy1weXRob24zX21vZHVsZXMucGF0Y2ggYi9t aW5ndy1weXRob24zX21vZHVsZXMucGF0Y2gKaW5kZXggMDM2YWRhOC4uZDUyMDRkMiAxMDA2NDQK LS0tIGEvbWluZ3ctcHl0aG9uM19tb2R1bGVzLnBhdGNoCisrKyBiL21pbmd3LXB5dGhvbjNfbW9k dWxlcy5wYXRjaApAQCAtMSw3ICsxLDcgQEAKLWRpZmYgLXJ1cE4gLS1uby1kZXJlZmVyZW5jZSBQ eXRob24tMy4xMS4xNS9NYWtlZmlsZS5wcmUuaW4gUHl0aG9uLTMuMTEuMTUtbmV3L01ha2VmaWxl LnByZS5pbgotLS0tIFB5dGhvbi0zLjExLjE1L01ha2VmaWxlLnByZS5pbgkyMDI2LTAzLTI3IDE4 OjQyOjA1LjM1MDQ4ODY1NSArMDEwMAotKysrIFB5dGhvbi0zLjExLjE1LW5ldy9NYWtlZmlsZS5w cmUuaW4JMjAyNi0wMy0yNyAxODo0MjowNi4zMTQ5Mjk0MTUgKzAxMDAKLUBAIC03NTgsNyArNzU4 LDcgQEAgJChzcmNkaXIpL01vZHVsZXMvX2JsYWtlMi9ibGFrZTJzX2ltcGwuYworZGlmZiAtcnVw TiAtLW5vLWRlcmVmZXJlbmNlIFB5dGhvbi0zLjExLjE2L01ha2VmaWxlLnByZS5pbiBQeXRob24t My4xMS4xNi1uZXcvTWFrZWZpbGUucHJlLmluCistLS0gUHl0aG9uLTMuMTEuMTYvTWFrZWZpbGUu cHJlLmluCTIwMjYtMDktMTggMTk6MjM6MDYuODkwMTQ0ODcwICswMjAwCisrKysgUHl0aG9uLTMu MTEuMTYtbmV3L01ha2VmaWxlLnByZS5pbgkyMDI2LTA5LTE4IDE5OjIzOjA3Ljk0MTg0OTAwNCAr MDIwMAorQEAgLTc2MSw3ICs3NjEsNyBAQCAkKHNyY2RpcikvTW9kdWxlcy9fYmxha2UyL2JsYWtl MnNfaW1wbC5jCiAgIyAtcywgLS1zaWxlbnQgb3IgLS1xdWlldCBpcyBhbHdheXMgdGhlIGZpcnN0 IGNoYXIuCiAgIyBVbmRlciBCU0QgbWFrZSwgTUFLRUZMQUdTIG1pZ2h0IGJlICIgLXMgLXYgeD15 Ii4KICAjIElnbm9yZSBtYWNyb3MgcGFzc2VkIGJ5IEdOVSBtYWtlLCBwYXNzZWQgYWZ0ZXIgLS0K QEAgLTEwLDkgKzEwLDkgQEAgZGlmZiAtcnVwTiAtLW5vLWRlcmVmZXJlbmNlIFB5dGhvbi0zLjEx LjE1L01ha2VmaWxlLnByZS5pbiBQeXRob24tMy4xMS4xNS1uZXcvTWEKICAJQGNhc2UgImBlY2hv IFggJCRNQUtFRkxBR1MgfCBzZWQgJ3MvXlggLy87cy8gLS0gLiovLydgIiBpbiBcCiAgCSAgICAq XCAtcyp8cyopIHF1aWV0PSItcSI7OyBcCiAgCSAgICAqKSBxdWlldD0iIjs7IFwKLWRpZmYgLXJ1 cE4gLS1uby1kZXJlZmVyZW5jZSBQeXRob24tMy4xMS4xNS9Nb2R1bGVzL19jdHlwZXMvX2N0eXBl cy5jIFB5dGhvbi0zLjExLjE1LW5ldy9Nb2R1bGVzL19jdHlwZXMvX2N0eXBlcy5jCi0tLS0gUHl0 aG9uLTMuMTEuMTUvTW9kdWxlcy9fY3R5cGVzL19jdHlwZXMuYwkyMDI2LTAzLTAzIDAxOjUyOjU3 LjAwMDAwMDAwMCArMDEwMAotKysrIFB5dGhvbi0zLjExLjE1LW5ldy9Nb2R1bGVzL19jdHlwZXMv X2N0eXBlcy5jCTIwMjYtMDMtMjcgMTg6NDI6MDYuMzE1NjAxNzQwICswMTAwCitkaWZmIC1ydXBO IC0tbm8tZGVyZWZlcmVuY2UgUHl0aG9uLTMuMTEuMTYvTW9kdWxlcy9fY3R5cGVzL19jdHlwZXMu YyBQeXRob24tMy4xMS4xNi1uZXcvTW9kdWxlcy9fY3R5cGVzL19jdHlwZXMuYworLS0tIFB5dGhv bi0zLjExLjE2L01vZHVsZXMvX2N0eXBlcy9fY3R5cGVzLmMJMjAyNi0wOC0xMyAwMTowMzoxOS4w MDAwMDAwMDAgKzAyMDAKKysrKyBQeXRob24tMy4xMS4xNi1uZXcvTW9kdWxlcy9fY3R5cGVzL19j dHlwZXMuYwkyMDI2LTA5LTE4IDE5OjIzOjA3Ljk0MjY4ODY4NyArMDIwMAogQEAgLTEwOSw2ICsx MDksNyBAQCBieXRlcyhjZGF0YSkKICAvLyB3aW5kb3dzLmggbXVzdCBiZSBpbmNsdWRlZCBiZWZv cmUgcHljb3JlIGludGVybmFsIGhlYWRlcnMKICAjaWZkZWYgTVNfV0lOMzIKQEAgLTIxLDkgKzIx LDkgQEAgZGlmZiAtcnVwTiAtLW5vLWRlcmVmZXJlbmNlIFB5dGhvbi0zLjExLjE1L01vZHVsZXMv X2N0eXBlcy9fY3R5cGVzLmMgUHl0aG9uLTMuMTEKICAjZW5kaWYKICAKICAjaW5jbHVkZSAicHlj b3JlX2NhbGwuaCIgICAgICAgICAgLy8gX1B5T2JqZWN0X0NhbGxOb0FyZ3MoKQotZGlmZiAtcnVw TiAtLW5vLWRlcmVmZXJlbmNlIFB5dGhvbi0zLjExLjE1L01vZHVsZXMvX211bHRpcHJvY2Vzc2lu Zy9zZW1hcGhvcmUuYyBQeXRob24tMy4xMS4xNS1uZXcvTW9kdWxlcy9fbXVsdGlwcm9jZXNzaW5n L3NlbWFwaG9yZS5jCi0tLS0gUHl0aG9uLTMuMTEuMTUvTW9kdWxlcy9fbXVsdGlwcm9jZXNzaW5n L3NlbWFwaG9yZS5jCTIwMjYtMDMtMDMgMDE6NTI6NTcuMDAwMDAwMDAwICswMTAwCi0rKysgUHl0 aG9uLTMuMTEuMTUtbmV3L01vZHVsZXMvX211bHRpcHJvY2Vzc2luZy9zZW1hcGhvcmUuYwkyMDI2 LTAzLTI3IDE4OjQyOjA2LjMxNjEzNzE2OSArMDEwMAorZGlmZiAtcnVwTiAtLW5vLWRlcmVmZXJl bmNlIFB5dGhvbi0zLjExLjE2L01vZHVsZXMvX211bHRpcHJvY2Vzc2luZy9zZW1hcGhvcmUuYyBQ eXRob24tMy4xMS4xNi1uZXcvTW9kdWxlcy9fbXVsdGlwcm9jZXNzaW5nL3NlbWFwaG9yZS5jCist LS0gUHl0aG9uLTMuMTEuMTYvTW9kdWxlcy9fbXVsdGlwcm9jZXNzaW5nL3NlbWFwaG9yZS5jCTIw MjYtMDgtMTMgMDE6MDM6MTkuMDAwMDAwMDAwICswMjAwCisrKysgUHl0aG9uLTMuMTEuMTYtbmV3 L01vZHVsZXMvX211bHRpcHJvY2Vzc2luZy9zZW1hcGhvcmUuYwkyMDI2LTA5LTE4IDE5OjIzOjA3 Ljk0MzM5NTkyOSArMDIwMAogQEAgLTgsNiArOCw5IEBACiAgICovCiAgCkBAIC0zNCw5ICszNCw5 IEBAIGRpZmYgLXJ1cE4gLS1uby1kZXJlZmVyZW5jZSBQeXRob24tMy4xMS4xNS9Nb2R1bGVzL19t dWx0aXByb2Nlc3Npbmcvc2VtYXBob3JlLmMgCiAgCiAgI2lmZGVmIEhBVkVfTVBfU0VNQVBIT1JF CiAgCi1kaWZmIC1ydXBOIC0tbm8tZGVyZWZlcmVuY2UgUHl0aG9uLTMuMTEuMTUvTW9kdWxlcy9T ZXR1cCBQeXRob24tMy4xMS4xNS1uZXcvTW9kdWxlcy9TZXR1cAotLS0tIFB5dGhvbi0zLjExLjE1 L01vZHVsZXMvU2V0dXAJMjAyNi0wMy0wMyAwMTo1Mjo1Ny4wMDAwMDAwMDAgKzAxMDAKLSsrKyBQ eXRob24tMy4xMS4xNS1uZXcvTW9kdWxlcy9TZXR1cAkyMDI2LTAzLTI3IDE4OjQyOjA2LjMxNjc0 ODA3OCArMDEwMAorZGlmZiAtcnVwTiAtLW5vLWRlcmVmZXJlbmNlIFB5dGhvbi0zLjExLjE2L01v ZHVsZXMvU2V0dXAgUHl0aG9uLTMuMTEuMTYtbmV3L01vZHVsZXMvU2V0dXAKKy0tLSBQeXRob24t My4xMS4xNi9Nb2R1bGVzL1NldHVwCTIwMjYtMDgtMTMgMDE6MDM6MTkuMDAwMDAwMDAwICswMjAw CisrKysgUHl0aG9uLTMuMTEuMTYtbmV3L01vZHVsZXMvU2V0dXAJMjAyNi0wOS0xOCAxOToyMzow Ny45NDM3MDAwOTEgKzAyMDAKIEBAIC0xNTQsNyArMTU0LDcgQEAgUFlUSE9OUEFUSD0kKENPUkVQ WVRIT05QQVRIKQogICNiaW5hc2NpaSBiaW5hc2NpaS5jCiAgI2NtYXRoIGNtYXRobW9kdWxlLmMK QEAgLTQ2LDkgKzQ2LDkgQEAgZGlmZiAtcnVwTiAtLW5vLWRlcmVmZXJlbmNlIFB5dGhvbi0zLjEx LjE1L01vZHVsZXMvU2V0dXAgUHl0aG9uLTMuMTEuMTUtbmV3L01vZHUKICAjc2VsZWN0IHNlbGVj dG1vZHVsZS5jCiAgCiAgIyBYTUwKLWRpZmYgLXJ1cE4gLS1uby1kZXJlZmVyZW5jZSBQeXRob24t My4xMS4xNS9zZXR1cC5weSBQeXRob24tMy4xMS4xNS1uZXcvc2V0dXAucHkKLS0tLSBQeXRob24t My4xMS4xNS9zZXR1cC5weQkyMDI2LTAzLTI3IDE4OjQyOjA1LjgzODk1OTM3MiArMDEwMAotKysr IFB5dGhvbi0zLjExLjE1LW5ldy9zZXR1cC5weQkyMDI2LTAzLTI3IDE4OjQyOjA2LjMxNjk3Njcz MyArMDEwMAorZGlmZiAtcnVwTiAtLW5vLWRlcmVmZXJlbmNlIFB5dGhvbi0zLjExLjE2L3NldHVw LnB5IFB5dGhvbi0zLjExLjE2LW5ldy9zZXR1cC5weQorLS0tIFB5dGhvbi0zLjExLjE2L3NldHVw LnB5CTIwMjYtMDktMTggMTk6MjM6MDcuMzk5MDM5NzE0ICswMjAwCisrKysgUHl0aG9uLTMuMTEu MTYtbmV3L3NldHVwLnB5CTIwMjYtMDktMTggMTk6MjM6MDcuOTQzOTk1NzU0ICswMjAwCiBAQCAt OTc3LDcgKzk3NywxMCBAQCBjbGFzcyBQeUJ1aWxkRXh0KGJ1aWxkX2V4dCk6CiAgICAgICAgICBz ZWxmLmFkZGV4dChFeHRlbnNpb24oJ3Nwd2QnLCBbJ3Nwd2Rtb2R1bGUuYyddKSkKICAKCmRpZmYg LS1naXQgYS9taW5ndy1weXRob24zX3BrZ2NvbmZpZy5wYXRjaCBiL21pbmd3LXB5dGhvbjNfcGtn Y29uZmlnLnBhdGNoCmluZGV4IDBlZWVlN2EuLjM4NmQ1ZDggMTAwNjQ0Ci0tLSBhL21pbmd3LXB5 dGhvbjNfcGtnY29uZmlnLnBhdGNoCisrKyBiL21pbmd3LXB5dGhvbjNfcGtnY29uZmlnLnBhdGNo CkBAIC0xLDYgKzEsNiBAQAotZGlmZiAtcnVwTiAtLW5vLWRlcmVmZXJlbmNlIFB5dGhvbi0zLjEx LjE1L01pc2MvcHl0aG9uLnBjLmluIFB5dGhvbi0zLjExLjE1LW5ldy9NaXNjL3B5dGhvbi5wYy5p bgotLS0tIFB5dGhvbi0zLjExLjE1L01pc2MvcHl0aG9uLnBjLmluCTIwMjYtMDMtMDMgMDE6NTI6 NTcuMDAwMDAwMDAwICswMTAwCi0rKysgUHl0aG9uLTMuMTEuMTUtbmV3L01pc2MvcHl0aG9uLnBj LmluCTIwMjYtMDMtMjcgMTg6NDI6MDcuNTYxNDY3NjY5ICswMTAwCitkaWZmIC1ydXBOIC0tbm8t ZGVyZWZlcmVuY2UgUHl0aG9uLTMuMTEuMTYvTWlzYy9weXRob24ucGMuaW4gUHl0aG9uLTMuMTEu MTYtbmV3L01pc2MvcHl0aG9uLnBjLmluCistLS0gUHl0aG9uLTMuMTEuMTYvTWlzYy9weXRob24u cGMuaW4JMjAyNi0wOC0xMyAwMTowMzoxOS4wMDAwMDAwMDAgKzAyMDAKKysrKyBQeXRob24tMy4x MS4xNi1uZXcvTWlzYy9weXRob24ucGMuaW4JMjAyNi0wOS0xOCAxOToyMzowOS4yMzEyNTUwMDAg KzAyMDAKIEBAIC05LDUgKzksNSBAQCBEZXNjcmlwdGlvbjogQnVpbGQgYSBDIGV4dGVuc2lvbiBm b3IgUHl0CiAgUmVxdWlyZXM6CiAgVmVyc2lvbjogQFZFUlNJT05ACgpkaWZmIC0tZ2l0IGEvbWlu Z3ctcHl0aG9uM19wbGF0Zm9ybS1taW5ndy5wYXRjaCBiL21pbmd3LXB5dGhvbjNfcGxhdGZvcm0t bWluZ3cucGF0Y2gKaW5kZXggNWVhZWJlOS4uNzRkOWUyMyAxMDA2NDQKLS0tIGEvbWluZ3ctcHl0 aG9uM19wbGF0Zm9ybS1taW5ndy5wYXRjaAorKysgYi9taW5ndy1weXRob24zX3BsYXRmb3JtLW1p bmd3LnBhdGNoCkBAIC0xLDEyICsxLDEyIEBACi1kaWZmIC1ydXBOIC0tbm8tZGVyZWZlcmVuY2Ug UHl0aG9uLTMuMTEuMTUvY29uZmlnLnNpdGUtbWluZ3cgUHl0aG9uLTMuMTEuMTUtbmV3L2NvbmZp Zy5zaXRlLW1pbmd3Ci0tLS0gUHl0aG9uLTMuMTEuMTUvY29uZmlnLnNpdGUtbWluZ3cJMTk3MC0w MS0wMSAwMTowMDowMC4wMDAwMDAwMDAgKzAxMDAKLSsrKyBQeXRob24tMy4xMS4xNS1uZXcvY29u ZmlnLnNpdGUtbWluZ3cJMjAyNi0wMy0yNyAxODo0MjowNC4zNzgyNjY4MjUgKzAxMDAKK2RpZmYg LXJ1cE4gLS1uby1kZXJlZmVyZW5jZSBQeXRob24tMy4xMS4xNi9jb25maWcuc2l0ZS1taW5ndyBQ eXRob24tMy4xMS4xNi1uZXcvY29uZmlnLnNpdGUtbWluZ3cKKy0tLSBQeXRob24tMy4xMS4xNi9j b25maWcuc2l0ZS1taW5ndwkxOTcwLTAxLTAxIDAxOjAwOjAwLjAwMDAwMDAwMCArMDEwMAorKysr IFB5dGhvbi0zLjExLjE2LW5ldy9jb25maWcuc2l0ZS1taW5ndwkyMDI2LTA5LTE4IDE5OjIzOjA1 Ljc0NDgxMzkwMSArMDIwMAogQEAgLTAsMCArMSwyIEBACiArYWNfY3ZfZmlsZV9fZGV2X3B0bXg9 bm8KICthY19jdl9maWxlX19kZXZfcHRjPW5vCi1kaWZmIC1ydXBOIC0tbm8tZGVyZWZlcmVuY2Ug UHl0aG9uLTMuMTEuMTUvY29uZmlndXJlLmFjIFB5dGhvbi0zLjExLjE1LW5ldy9jb25maWd1cmUu YWMKLS0tLSBQeXRob24tMy4xMS4xNS9jb25maWd1cmUuYWMJMjAyNi0wMy0wMyAwMTo1Mjo1Ny4w MDAwMDAwMDAgKzAxMDAKLSsrKyBQeXRob24tMy4xMS4xNS1uZXcvY29uZmlndXJlLmFjCTIwMjYt MDMtMjcgMTg6NDI6MDQuMzc4OTA0ODQ0ICswMTAwCitkaWZmIC1ydXBOIC0tbm8tZGVyZWZlcmVu Y2UgUHl0aG9uLTMuMTEuMTYvY29uZmlndXJlLmFjIFB5dGhvbi0zLjExLjE2LW5ldy9jb25maWd1 cmUuYWMKKy0tLSBQeXRob24tMy4xMS4xNi9jb25maWd1cmUuYWMJMjAyNi0wOC0xMyAwMTowMzox OS4wMDAwMDAwMDAgKzAyMDAKKysrKyBQeXRob24tMy4xMS4xNi1uZXcvY29uZmlndXJlLmFjCTIw MjYtMDktMTggMTk6MjM6MDUuNzQ1MzQ0MTk4ICswMjAwCiBAQCAtNTI4LDYgKzUyOCwxNSBAQCBB Q19ERUZJTkVfVU5RVU9URUQoX1BZVEhPTkZSQU1FV09SSywgIiR7CiAgIyBTZXQgbmFtZSBmb3Ig bWFjaGluZS1kZXBlbmRlbnQgbGlicmFyeSBmaWxlcwogIEFDX0FSR19WQVIoW01BQ0hERVBdLCBb bmFtZSBmb3IgbWFjaGluZS1kZXBlbmRlbnQgbGlicmFyeSBmaWxlc10pCkBAIC0xNjUsOSArMTY1 LDkgQEAgZGlmZiAtcnVwTiAtLW5vLWRlcmVmZXJlbmNlIFB5dGhvbi0zLjExLjE1L2NvbmZpZ3Vy ZS5hYyBQeXRob24tMy4xMS4xNS1uZXcvY29uZmkKICAjIHNzbCBtb2R1bGUgZGVmYXVsdCBjaXBo ZXIgc3VpdGUgc3RyaW5nCiAgQUhfVEVNUExBVEUoUFlfU1NMX0RFRkFVTFRfQ0lQSEVSUywKICAg IFtEZWZhdWx0IGNpcGhlciBzdWl0ZXMgbGlzdCBmb3Igc3NsIG1vZHVsZS4KLWRpZmYgLXJ1cE4g LS1uby1kZXJlZmVyZW5jZSBQeXRob24tMy4xMS4xNS9JbmNsdWRlL3B5cG9ydC5oIFB5dGhvbi0z LjExLjE1LW5ldy9JbmNsdWRlL3B5cG9ydC5oCi0tLS0gUHl0aG9uLTMuMTEuMTUvSW5jbHVkZS9w eXBvcnQuaAkyMDI2LTAzLTAzIDAxOjUyOjU3LjAwMDAwMDAwMCArMDEwMAotKysrIFB5dGhvbi0z LjExLjE1LW5ldy9JbmNsdWRlL3B5cG9ydC5oCTIwMjYtMDMtMjcgMTg6NDI6MDQuMzc5NTE4Mjky ICswMTAwCitkaWZmIC1ydXBOIC0tbm8tZGVyZWZlcmVuY2UgUHl0aG9uLTMuMTEuMTYvSW5jbHVk ZS9weXBvcnQuaCBQeXRob24tMy4xMS4xNi1uZXcvSW5jbHVkZS9weXBvcnQuaAorLS0tIFB5dGhv bi0zLjExLjE2L0luY2x1ZGUvcHlwb3J0LmgJMjAyNi0wOC0xMyAwMTowMzoxOS4wMDAwMDAwMDAg KzAyMDAKKysrKyBQeXRob24tMy4xMS4xNi1uZXcvSW5jbHVkZS9weXBvcnQuaAkyMDI2LTA5LTE4 IDE5OjIzOjA1Ljc0NjMxMTkzNCArMDIwMAogQEAgLTM0Nyw3ICszNDcsOCBAQCBleHRlcm4gIkMi IHsKICAgICAgX1ByYWdtYSgiY2xhbmcgZGlhZ25vc3RpYyBpZ25vcmVkIFwiLVdkZXByZWNhdGVk LWRlY2xhcmF0aW9uc1wiIikKICAjZGVmaW5lIF9QeV9DT01QX0RJQUdfUE9QIF9QcmFnbWEoImNs YW5nIGRpYWdub3N0aWMgcG9wIikKQEAgLTE3OCw5ICsxNzgsOSBAQCBkaWZmIC1ydXBOIC0tbm8t ZGVyZWZlcmVuY2UgUHl0aG9uLTMuMTEuMTUvSW5jbHVkZS9weXBvcnQuaCBQeXRob24tMy4xMS4x NS1uZXcvSQogICNkZWZpbmUgX1B5X0NPTVBfRElBR19QVVNIIF9QcmFnbWEoIkdDQyBkaWFnbm9z dGljIHB1c2giKQogICNkZWZpbmUgX1B5X0NPTVBfRElBR19JR05PUkVfREVQUl9ERUNMUyBcCiAg ICAgIF9QcmFnbWEoIkdDQyBkaWFnbm9zdGljIGlnbm9yZWQgXCItV2RlcHJlY2F0ZWQtZGVjbGFy YXRpb25zXCIiKQotZGlmZiAtcnVwTiAtLW5vLWRlcmVmZXJlbmNlIFB5dGhvbi0zLjExLjE1L0xp Yi9zeXNjb25maWcucHkgUHl0aG9uLTMuMTEuMTUtbmV3L0xpYi9zeXNjb25maWcucHkKLS0tLSBQ eXRob24tMy4xMS4xNS9MaWIvc3lzY29uZmlnLnB5CTIwMjYtMDMtMDMgMDE6NTI6NTcuMDAwMDAw MDAwICswMTAwCi0rKysgUHl0aG9uLTMuMTEuMTUtbmV3L0xpYi9zeXNjb25maWcucHkJMjAyNi0w My0yNyAxODo0MjowNC4zNzk3NjQ1NDYgKzAxMDAKK2RpZmYgLXJ1cE4gLS1uby1kZXJlZmVyZW5j ZSBQeXRob24tMy4xMS4xNi9MaWIvc3lzY29uZmlnLnB5IFB5dGhvbi0zLjExLjE2LW5ldy9MaWIv c3lzY29uZmlnLnB5CistLS0gUHl0aG9uLTMuMTEuMTYvTGliL3N5c2NvbmZpZy5weQkyMDI2LTA4 LTEzIDAxOjAzOjE5LjAwMDAwMDAwMCArMDIwMAorKysrIFB5dGhvbi0zLjExLjE2LW5ldy9MaWIv c3lzY29uZmlnLnB5CTIwMjYtMDktMTggMTk6MjM6MDUuNzQ2Njk5Njg4ICswMjAwCiBAQCAtNzM3 LDYgKzczNyw4IEBAIGRlZiBnZXRfcGxhdGZvcm0oKToKICAKICAgICAgIiIiCkBAIC0xOTAsOSAr MTkwLDkgQEAgZGlmZiAtcnVwTiAtLW5vLWRlcmVmZXJlbmNlIFB5dGhvbi0zLjExLjE1L0xpYi9z eXNjb25maWcucHkgUHl0aG9uLTMuMTEuMTUtbmV3L0wKICAgICAgICAgIGlmICdhbWQ2NCcgaW4g c3lzLnZlcnNpb24ubG93ZXIoKToKICAgICAgICAgICAgICByZXR1cm4gJ3dpbi1hbWQ2NCcKICAg ICAgICAgIGlmICcoYXJtKScgaW4gc3lzLnZlcnNpb24ubG93ZXIoKToKLWRpZmYgLXJ1cE4gLS1u by1kZXJlZmVyZW5jZSBQeXRob24tMy4xMS4xNS9NYWtlZmlsZS5wcmUuaW4gUHl0aG9uLTMuMTEu MTUtbmV3L01ha2VmaWxlLnByZS5pbgotLS0tIFB5dGhvbi0zLjExLjE1L01ha2VmaWxlLnByZS5p bgkyMDI2LTAzLTAzIDAxOjUyOjU3LjAwMDAwMDAwMCArMDEwMAotKysrIFB5dGhvbi0zLjExLjE1 LW5ldy9NYWtlZmlsZS5wcmUuaW4JMjAyNi0wMy0yNyAxODo0MjowNC4zODI5MDQ4NTEgKzAxMDAK K2RpZmYgLXJ1cE4gLS1uby1kZXJlZmVyZW5jZSBQeXRob24tMy4xMS4xNi9NYWtlZmlsZS5wcmUu aW4gUHl0aG9uLTMuMTEuMTYtbmV3L01ha2VmaWxlLnByZS5pbgorLS0tIFB5dGhvbi0zLjExLjE2 L01ha2VmaWxlLnByZS5pbgkyMDI2LTA4LTEzIDAxOjAzOjE5LjAwMDAwMDAwMCArMDIwMAorKysr IFB5dGhvbi0zLjExLjE2LW5ldy9NYWtlZmlsZS5wcmUuaW4JMjAyNi0wOS0xOCAxOToyMzowNS43 NDcxMjQyNzQgKzAyMDAKIEBAIC0xMTgsNyArMTE4LDcgQEAgQ0ZMQUdTRk9SU0hBUkVEPUBDRkxB R1NGT1JTSEFSRURACiAgIyBDIGZsYWdzIHVzZWQgZm9yIGJ1aWxkaW5nIHRoZSBpbnRlcnByZXRl ciBvYmplY3QgZmlsZXMKICBQWV9TVERNT0RVTEVfQ0ZMQUdTPSAkKFBZX0NGTEFHUykgJChQWV9D RkxBR1NfTk9ESVNUKSAkKFBZX0NQUEZMQUdTKSAkKENGTEFHU0ZPUlNIQVJFRCkKQEAgLTIwMiw5 ICsyMDIsOSBAQCBkaWZmIC1ydXBOIC0tbm8tZGVyZWZlcmVuY2UgUHl0aG9uLTMuMTEuMTUvTWFr ZWZpbGUucHJlLmluIFB5dGhvbi0zLjExLjE1LW5ldy9NYQogICMgTGlua2VyIGZsYWdzIHVzZWQg Zm9yIGJ1aWxkaW5nIHRoZSBpbnRlcnByZXRlciBvYmplY3QgZmlsZXMKICBQWV9DT1JFX0xERkxB R1M9JChQWV9MREZMQUdTKSAkKFBZX0xERkxBR1NfTk9ESVNUKQogICMgU3RyaWN0IG9yIG5vbi1z dHJpY3QgYWxpYXNpbmcgZmxhZ3MgdXNlZCB0byBjb21waWxlIGR0b2EuYywgc2VlIGFib3ZlCi1k aWZmIC1ydXBOIC0tbm8tZGVyZWZlcmVuY2UgUHl0aG9uLTMuMTEuMTUvTW9kdWxlcy9wb3NpeG1v ZHVsZS5jIFB5dGhvbi0zLjExLjE1LW5ldy9Nb2R1bGVzL3Bvc2l4bW9kdWxlLmMKLS0tLSBQeXRo b24tMy4xMS4xNS9Nb2R1bGVzL3Bvc2l4bW9kdWxlLmMJMjAyNi0wMy0wMyAwMTo1Mjo1Ny4wMDAw MDAwMDAgKzAxMDAKLSsrKyBQeXRob24tMy4xMS4xNS1uZXcvTW9kdWxlcy9wb3NpeG1vZHVsZS5j CTIwMjYtMDMtMjcgMTg6NDI6MDQuMzgzOTA0ODUyICswMTAwCitkaWZmIC1ydXBOIC0tbm8tZGVy ZWZlcmVuY2UgUHl0aG9uLTMuMTEuMTYvTW9kdWxlcy9wb3NpeG1vZHVsZS5jIFB5dGhvbi0zLjEx LjE2LW5ldy9Nb2R1bGVzL3Bvc2l4bW9kdWxlLmMKKy0tLSBQeXRob24tMy4xMS4xNi9Nb2R1bGVz L3Bvc2l4bW9kdWxlLmMJMjAyNi0wOC0xMyAwMTowMzoxOS4wMDAwMDAwMDAgKzAyMDAKKysrKyBQ eXRob24tMy4xMS4xNi1uZXcvTW9kdWxlcy9wb3NpeG1vZHVsZS5jCTIwMjYtMDktMTggMTk6MjM6 MDUuNzQ4MjY0NjE2ICswMjAwCiBAQCAtMzQzLDcgKzM0Myw3IEBAIGNvcnJlc3BvbmRpbmcgVW5p eCBtYW51YWwgZW50cmllcyBmb3IgbW8KICAjICBkZWZpbmUgSEFWRV9TWVNURU0gICAgIDEKICAj ICBpbmNsdWRlIDxwcm9jZXNzLmg+CkBAIC0yNTAsOSArMjUwLDkgQEAgZGlmZiAtcnVwTiAtLW5v LWRlcmVmZXJlbmNlIFB5dGhvbi0zLjExLjE1L01vZHVsZXMvcG9zaXhtb2R1bGUuYyBQeXRob24t My4xMS4xNS0KICAgICAgcmV0dXJuIF9saXN0ZGlyX3dpbmRvd3Nfbm9fb3BlbmRpcihwYXRoLCBO VUxMKTsKICAjZWxzZQogICAgICByZXR1cm4gX3Bvc2l4X2xpc3RkaXIocGF0aCwgTlVMTCk7Ci1k aWZmIC1ydXBOIC0tbm8tZGVyZWZlcmVuY2UgUHl0aG9uLTMuMTEuMTUvT2JqZWN0cy9leGNlcHRp b25zLmMgUHl0aG9uLTMuMTEuMTUtbmV3L09iamVjdHMvZXhjZXB0aW9ucy5jCi0tLS0gUHl0aG9u LTMuMTEuMTUvT2JqZWN0cy9leGNlcHRpb25zLmMJMjAyNi0wMy0wMyAwMTo1Mjo1Ny4wMDAwMDAw MDAgKzAxMDAKLSsrKyBQeXRob24tMy4xMS4xNS1uZXcvT2JqZWN0cy9leGNlcHRpb25zLmMJMjAy Ni0wMy0yNyAxODo0MjowNC4zODQ5MzUyODkgKzAxMDAKK2RpZmYgLXJ1cE4gLS1uby1kZXJlZmVy ZW5jZSBQeXRob24tMy4xMS4xNi9PYmplY3RzL2V4Y2VwdGlvbnMuYyBQeXRob24tMy4xMS4xNi1u ZXcvT2JqZWN0cy9leGNlcHRpb25zLmMKKy0tLSBQeXRob24tMy4xMS4xNi9PYmplY3RzL2V4Y2Vw dGlvbnMuYwkyMDI2LTA4LTEzIDAxOjAzOjE5LjAwMDAwMDAwMCArMDIwMAorKysrIFB5dGhvbi0z LjExLjE2LW5ldy9PYmplY3RzL2V4Y2VwdGlvbnMuYwkyMDI2LTA5LTE4IDE5OjIzOjA1Ljc0OTg2 MjU3MCArMDIwMAogQEAgLTE2NDgsNyArMTY0OCw5IEBAIE1pZGRsaW5nRXh0ZW5kc0V4Y2VwdGlv bihQeUV4Y19JbXBvcnRFcnIKICAgKi8KICAKQEAgLTI2NCw5ICsyNjQsOSBAQCBkaWZmIC1ydXBO IC0tbm8tZGVyZWZlcmVuY2UgUHl0aG9uLTMuMTEuMTUvT2JqZWN0cy9leGNlcHRpb25zLmMgUHl0 aG9uLTMuMTEuMTUtbgogICNlbmRpZgogIAogIC8qIFdoZXJlIGEgZnVuY3Rpb24gaGFzIGEgc2lu Z2xlIGZpbGVuYW1lLCBzdWNoIGFzIG9wZW4oKSBvciBzb21lCi1kaWZmIC1ydXBOIC0tbm8tZGVy ZWZlcmVuY2UgUHl0aG9uLTMuMTEuMTUvUHl0aG9uL2R5bmxvYWRfd2luLmMgUHl0aG9uLTMuMTEu MTUtbmV3L1B5dGhvbi9keW5sb2FkX3dpbi5jCi0tLS0gUHl0aG9uLTMuMTEuMTUvUHl0aG9uL2R5 bmxvYWRfd2luLmMJMjAyNi0wMy0wMyAwMTo1Mjo1Ny4wMDAwMDAwMDAgKzAxMDAKLSsrKyBQeXRo b24tMy4xMS4xNS1uZXcvUHl0aG9uL2R5bmxvYWRfd2luLmMJMjAyNi0wMy0yNyAxODo0MjowNC4z ODU5MDczNzcgKzAxMDAKK2RpZmYgLXJ1cE4gLS1uby1kZXJlZmVyZW5jZSBQeXRob24tMy4xMS4x Ni9QeXRob24vZHlubG9hZF93aW4uYyBQeXRob24tMy4xMS4xNi1uZXcvUHl0aG9uL2R5bmxvYWRf d2luLmMKKy0tLSBQeXRob24tMy4xMS4xNi9QeXRob24vZHlubG9hZF93aW4uYwkyMDI2LTA4LTEz IDAxOjAzOjE5LjAwMDAwMDAwMCArMDIwMAorKysrIFB5dGhvbi0zLjExLjE2LW5ldy9QeXRob24v ZHlubG9hZF93aW4uYwkyMDI2LTA5LTE4IDE5OjIzOjA1Ljc1MDQ4NDU3MSArMDIwMAogQEAgLTIx LDkgKzIxLDkgQEAKICAjZW5kaWYKICAKQEAgLTI4OCw5ICsyODgsOSBAQCBkaWZmIC1ydXBOIC0t bm8tZGVyZWZlcmVuY2UgUHl0aG9uLTMuMTEuMTUvUHl0aG9uL2R5bmxvYWRfd2luLmMgUHl0aG9u LTMuMTEuMTUtbgogIF9QeV9DaGVja1B5dGhvbjModm9pZCkKICB7CiAgICAgIHN0YXRpYyBpbnQg cHl0aG9uM19jaGVja2VkID0gMDsKLWRpZmYgLXJ1cE4gLS1uby1kZXJlZmVyZW5jZSBQeXRob24t My4xMS4xNS9QeXRob24vc3lzbW9kdWxlLmMgUHl0aG9uLTMuMTEuMTUtbmV3L1B5dGhvbi9zeXNt b2R1bGUuYwotLS0tIFB5dGhvbi0zLjExLjE1L1B5dGhvbi9zeXNtb2R1bGUuYwkyMDI2LTAzLTAz IDAxOjUyOjU3LjAwMDAwMDAwMCArMDEwMAotKysrIFB5dGhvbi0zLjExLjE1LW5ldy9QeXRob24v c3lzbW9kdWxlLmMJMjAyNi0wMy0yNyAxODo0MjowNC4zODYyODE4ODIgKzAxMDAKK2RpZmYgLXJ1 cE4gLS1uby1kZXJlZmVyZW5jZSBQeXRob24tMy4xMS4xNi9QeXRob24vc3lzbW9kdWxlLmMgUHl0 aG9uLTMuMTEuMTYtbmV3L1B5dGhvbi9zeXNtb2R1bGUuYworLS0tIFB5dGhvbi0zLjExLjE2L1B5 dGhvbi9zeXNtb2R1bGUuYwkyMDI2LTA4LTEzIDAxOjAzOjE5LjAwMDAwMDAwMCArMDIwMAorKysr IFB5dGhvbi0zLjExLjE2LW5ldy9QeXRob24vc3lzbW9kdWxlLmMJMjAyNi0wOS0xOCAxOToyMzow NS43NTA4NzE0NzcgKzAyMDAKIEBAIC0yOTgyLDcgKzI5ODIsOCBAQCBfUHlTeXNfSW5pdENvcmUo UHlUaHJlYWRTdGF0ZSAqdHN0YXRlLCBQCiAgICAgICAgICAgICAgZ290byB0eXBlX2luaXRfZmFp bGVkOwogICAgICAgICAgfQoKZGlmZiAtLWdpdCBhL21pbmd3LXB5dGhvbjNfcG9zaXgtbGF5b3V0 LnBhdGNoIGIvbWluZ3ctcHl0aG9uM19wb3NpeC1sYXlvdXQucGF0Y2gKaW5kZXggYTc2NGZmOS4u YzhhNzU5MiAxMDA2NDQKLS0tIGEvbWluZ3ctcHl0aG9uM19wb3NpeC1sYXlvdXQucGF0Y2gKKysr IGIvbWluZ3ctcHl0aG9uM19wb3NpeC1sYXlvdXQucGF0Y2gKQEAgLTEsNiArMSw2IEBACi1kaWZm IC1ydXBOIC0tbm8tZGVyZWZlcmVuY2UgUHl0aG9uLTMuMTEuMTUvTGliL3NpdGUucHkgUHl0aG9u LTMuMTEuMTUtbmV3L0xpYi9zaXRlLnB5Ci0tLS0gUHl0aG9uLTMuMTEuMTUvTGliL3NpdGUucHkJ MjAyNi0wMy0wMyAwMTo1Mjo1Ny4wMDAwMDAwMDAgKzAxMDAKLSsrKyBQeXRob24tMy4xMS4xNS1u ZXcvTGliL3NpdGUucHkJMjAyNi0wMy0yNyAxODo0MjowNi41NTEzNTI5MzEgKzAxMDAKK2RpZmYg LXJ1cE4gLS1uby1kZXJlZmVyZW5jZSBQeXRob24tMy4xMS4xNi9MaWIvc2l0ZS5weSBQeXRob24t My4xMS4xNi1uZXcvTGliL3NpdGUucHkKKy0tLSBQeXRob24tMy4xMS4xNi9MaWIvc2l0ZS5weQky MDI2LTA4LTEzIDAxOjAzOjE5LjAwMDAwMDAwMCArMDIwMAorKysrIFB5dGhvbi0zLjExLjE2LW5l dy9MaWIvc2l0ZS5weQkyMDI2LTA5LTE4IDE5OjIzOjA4LjIwNzAyNzE1MCArMDIwMAogQEAgLTM3 MSw3ICszNzEsNyBAQCBkZWYgZ2V0c2l0ZXBhY2thZ2VzKHByZWZpeGVzPU5vbmUpOgogICAgICAg ICAgICAgIGNvbnRpbnVlCiAgICAgICAgICBzZWVuLmFkZChwcmVmaXgpCkBAIC0xMCw5ICsxMCw5 IEBAIGRpZmYgLXJ1cE4gLS1uby1kZXJlZmVyZW5jZSBQeXRob24tMy4xMS4xNS9MaWIvc2l0ZS5w eSBQeXRob24tMy4xMS4xNS1uZXcvTGliL3NpCiAgICAgICAgICAgICAgbGliZGlycyA9IFtzeXMu cGxhdGxpYmRpcl0KICAgICAgICAgICAgICBpZiBzeXMucGxhdGxpYmRpciAhPSAibGliIjoKICAg ICAgICAgICAgICAgICAgbGliZGlycy5hcHBlbmQoImxpYiIpCi1kaWZmIC1ydXBOIC0tbm8tZGVy ZWZlcmVuY2UgUHl0aG9uLTMuMTEuMTUvTGliL3N5c2NvbmZpZy5weSBQeXRob24tMy4xMS4xNS1u ZXcvTGliL3N5c2NvbmZpZy5weQotLS0tIFB5dGhvbi0zLjExLjE1L0xpYi9zeXNjb25maWcucHkJ MjAyNi0wMy0yNyAxODo0MjowNi4zMTA4ODY0MTEgKzAxMDAKLSsrKyBQeXRob24tMy4xMS4xNS1u ZXcvTGliL3N5c2NvbmZpZy5weQkyMDI2LTAzLTI3IDE4OjQyOjA2LjU1MTY3NzYyOCArMDEwMAor ZGlmZiAtcnVwTiAtLW5vLWRlcmVmZXJlbmNlIFB5dGhvbi0zLjExLjE2L0xpYi9zeXNjb25maWcu cHkgUHl0aG9uLTMuMTEuMTYtbmV3L0xpYi9zeXNjb25maWcucHkKKy0tLSBQeXRob24tMy4xMS4x Ni9MaWIvc3lzY29uZmlnLnB5CTIwMjYtMDktMTggMTk6MjM6MDcuOTM3NjEzNDQ4ICswMjAwCisr KysgUHl0aG9uLTMuMTEuMTYtbmV3L0xpYi9zeXNjb25maWcucHkJMjAyNi0wOS0xOCAxOToyMzow OC4yMDc1MjU2MjIgKzAyMDAKIEBAIC00OCwxMyArNDgsMTMgQEAgX0lOU1RBTExfU0NIRU1FUyA9 IHsKICAgICAgICAgICdkYXRhJzogJ3tiYXNlfScsCiAgICAgICAgICB9LApAQCAtNjIsOSArNjIs OSBAQCBkaWZmIC1ydXBOIC0tbm8tZGVyZWZlcmVuY2UgUHl0aG9uLTMuMTEuMTUvTGliL3N5c2Nv bmZpZy5weSBQeXRob24tMy4xMS4xNS1uZXcvTAogICAgICB2YXJzWydCSU5ESVInXSA9IG9zLnBh dGguZGlybmFtZShfc2FmZV9yZWFscGF0aChzeXMuZXhlY3V0YWJsZSkpCiAgICAgIHZhcnNbJ1Ra UEFUSCddID0gJycKICAKLWRpZmYgLXJ1cE4gLS1uby1kZXJlZmVyZW5jZSBQeXRob24tMy4xMS4x NS9Nb2R1bGVzL2dldHBhdGguYyBQeXRob24tMy4xMS4xNS1uZXcvTW9kdWxlcy9nZXRwYXRoLmMK LS0tLSBQeXRob24tMy4xMS4xNS9Nb2R1bGVzL2dldHBhdGguYwkyMDI2LTAzLTAzIDAxOjUyOjU3 LjAwMDAwMDAwMCArMDEwMAotKysrIFB5dGhvbi0zLjExLjE1LW5ldy9Nb2R1bGVzL2dldHBhdGgu YwkyMDI2LTAzLTI3IDE4OjQyOjA2LjU1MTk2ODIyMyArMDEwMAorZGlmZiAtcnVwTiAtLW5vLWRl cmVmZXJlbmNlIFB5dGhvbi0zLjExLjE2L01vZHVsZXMvZ2V0cGF0aC5jIFB5dGhvbi0zLjExLjE2 LW5ldy9Nb2R1bGVzL2dldHBhdGguYworLS0tIFB5dGhvbi0zLjExLjE2L01vZHVsZXMvZ2V0cGF0 aC5jCTIwMjYtMDgtMTMgMDE6MDM6MTkuMDAwMDAwMDAwICswMjAwCisrKysgUHl0aG9uLTMuMTEu MTYtbmV3L01vZHVsZXMvZ2V0cGF0aC5jCTIwMjYtMDktMTggMTk6MjM6MDguMjA3ODYwNzU5ICsw MjAwCiBAQCAtODgzLDcgKzg4MywxMSBAQCBfUHlDb25maWdfSW5pdFBhdGhDb25maWcoUHlDb25m aWcgKmNvbmZpCiAgCiAgICAgIGlmICgKQEAgLTc3LDEwICs3NywxMCBAQCBkaWZmIC1ydXBOIC0t bm8tZGVyZWZlcmVuY2UgUHl0aG9uLTMuMTEuMTUvTW9kdWxlcy9nZXRwYXRoLmMgUHl0aG9uLTMu MTEuMTUtbmV3LwogICNlbGlmIGRlZmluZWQoX19BUFBMRV9fKQogICAgICAgICAgIWRlY29kZV90 b19kaWN0KGRpY3QsICJvc19uYW1lIiwgImRhcndpbiIpIHx8CiAgI2Vsc2UKLWRpZmYgLXJ1cE4g LS1uby1kZXJlZmVyZW5jZSBQeXRob24tMy4xMS4xNS9Nb2R1bGVzL2dldHBhdGgucHkgUHl0aG9u LTMuMTEuMTUtbmV3L01vZHVsZXMvZ2V0cGF0aC5weQotLS0tIFB5dGhvbi0zLjExLjE1L01vZHVs ZXMvZ2V0cGF0aC5weQkyMDI2LTAzLTAzIDAxOjUyOjU3LjAwMDAwMDAwMCArMDEwMAotKysrIFB5 dGhvbi0zLjExLjE1LW5ldy9Nb2R1bGVzL2dldHBhdGgucHkJMjAyNi0wMy0yNyAxODo0MjowNi41 NTIyNTMwNjkgKzAxMDAKLUBAIC0xODYsNiArMTg2LDE5IEBAIGlmIG9zX25hbWUgPT0gJ3Bvc2l4 JyBvciBvc19uYW1lID09ICdkYXIKK2RpZmYgLXJ1cE4gLS1uby1kZXJlZmVyZW5jZSBQeXRob24t My4xMS4xNi9Nb2R1bGVzL2dldHBhdGgucHkgUHl0aG9uLTMuMTEuMTYtbmV3L01vZHVsZXMvZ2V0 cGF0aC5weQorLS0tIFB5dGhvbi0zLjExLjE2L01vZHVsZXMvZ2V0cGF0aC5weQkyMDI2LTA4LTEz IDAxOjAzOjE5LjAwMDAwMDAwMCArMDIwMAorKysrIFB5dGhvbi0zLjExLjE2LW5ldy9Nb2R1bGVz L2dldHBhdGgucHkJMjAyNi0wOS0xOCAxOToyMzowOC4yMDgxNDkzMjYgKzAyMDAKK0BAIC0xODQs NiArMTg0LDE5IEBAIGlmIG9zX25hbWUgPT0gJ3Bvc2l4JyBvciBvc19uYW1lID09ICdkYXIKICAg ICAgREVMSU0gPSAnOicKICAgICAgU0VQID0gJy8nCiAgCkBAIC05OSw4ICs5OSw4IEBAIGRpZmYg LXJ1cE4gLS1uby1kZXJlZmVyZW5jZSBQeXRob24tMy4xMS4xNS9Nb2R1bGVzL2dldHBhdGgucHkg UHl0aG9uLTMuMTEuMTUtbmV3CiArCiAgZWxpZiBvc19uYW1lID09ICdudCc6CiAgICAgIEJVSUxE RElSX1RYVCA9ICdweWJ1aWxkZGlyLnR4dCcKLSAgICAgQlVJTERfTEFORE1BUksgPSBmJ3tWUEFU SH1cXE1vZHVsZXNcXFNldHVwLmxvY2FsJwotQEAgLTQ1Niw3ICs0NjksNyBAQCBpZiBub3QgcHlf c2V0cGF0aCBhbmQgbm90IGhvbWVfd2FzX3NldDoKKyAgICAgREVGQVVMVF9QUk9HUkFNX05BTUUg PSBmJ3B5dGhvbicKK0BAIC00NTMsNyArNDY2LDcgQEAgaWYgbm90IHB5X3NldHBhdGggYW5kIG5v dCBob21lX3dhc19zZXQ6CiAgICAgICMgLl9wdGggZmlsZSwgYnV0IGl0IGNhbm5vdCBvdmVycmlk ZSB0aGUgbGlicmFyeSdzIG9uZS4KICAgICAgZm9yIHAgaW4gW2xpYnJhcnksIGV4ZWN1dGFibGUs IHJlYWxfZXhlY3V0YWJsZV06CiAgICAgICAgICBpZiBwOgoKZGlmZiAtLWdpdCBhL21pbmd3LXB5 dGhvbjNfcHRocmVhZF90aHJlYWRpZC5wYXRjaCBiL21pbmd3LXB5dGhvbjNfcHRocmVhZF90aHJl YWRpZC5wYXRjaAppbmRleCBiOTU1ZDk4Li41N2MxN2NiIDEwMDY0NAotLS0gYS9taW5ndy1weXRo b24zX3B0aHJlYWRfdGhyZWFkaWQucGF0Y2gKKysrIGIvbWluZ3ctcHl0aG9uM19wdGhyZWFkX3Ro cmVhZGlkLnBhdGNoCkBAIC0xLDYgKzEsNiBAQAotZGlmZiAtcnVwTiAtLW5vLWRlcmVmZXJlbmNl IFB5dGhvbi0zLjExLjE1L1B5dGhvbi90aHJlYWRfcHRocmVhZC5oIFB5dGhvbi0zLjExLjE1LW5l dy9QeXRob24vdGhyZWFkX3B0aHJlYWQuaAotLS0tIFB5dGhvbi0zLjExLjE1L1B5dGhvbi90aHJl YWRfcHRocmVhZC5oCTIwMjYtMDMtMDMgMDE6NTI6NTcuMDAwMDAwMDAwICswMTAwCi0rKysgUHl0 aG9uLTMuMTEuMTUtbmV3L1B5dGhvbi90aHJlYWRfcHRocmVhZC5oCTIwMjYtMDMtMjcgMTg6NDI6 MDUuMzU1MzA5OTgxICswMTAwCitkaWZmIC1ydXBOIC0tbm8tZGVyZWZlcmVuY2UgUHl0aG9uLTMu MTEuMTYvUHl0aG9uL3RocmVhZF9wdGhyZWFkLmggUHl0aG9uLTMuMTEuMTYtbmV3L1B5dGhvbi90 aHJlYWRfcHRocmVhZC5oCistLS0gUHl0aG9uLTMuMTEuMTYvUHl0aG9uL3RocmVhZF9wdGhyZWFk LmgJMjAyNi0wOC0xMyAwMTowMzoxOS4wMDAwMDAwMDAgKzAyMDAKKysrKyBQeXRob24tMy4xMS4x Ni1uZXcvUHl0aG9uL3RocmVhZF9wdGhyZWFkLmgJMjAyNi0wOS0xOCAxOToyMzowNi44OTUzMzA3 MjEgKzAyMDAKIEBAIC0zNTIsNiArMzUyLDkgQEAgUHlUaHJlYWRfZ2V0X3RocmVhZF9uYXRpdmVf aWQodm9pZCkKICAjZWxpZiBkZWZpbmVkKF9fTmV0QlNEX18pCiAgICAgIGx3cGlkX3QgbmF0aXZl X2lkOwoKZGlmZiAtLWdpdCBhL21pbmd3LXB5dGhvbjNfcHl0aG9udy5wYXRjaCBiL21pbmd3LXB5 dGhvbjNfcHl0aG9udy5wYXRjaAppbmRleCAxNTg4YWU3Li4yZjg2OWFjIDEwMDY0NAotLS0gYS9t aW5ndy1weXRob24zX3B5dGhvbncucGF0Y2gKKysrIGIvbWluZ3ctcHl0aG9uM19weXRob253LnBh dGNoCkBAIC0xLDYgKzEsNiBAQAotZGlmZiAtcnVwTiAtLW5vLWRlcmVmZXJlbmNlIFB5dGhvbi0z LjExLjE1L01ha2VmaWxlLnByZS5pbiBQeXRob24tMy4xMS4xNS1uZXcvTWFrZWZpbGUucHJlLmlu Ci0tLS0gUHl0aG9uLTMuMTEuMTUvTWFrZWZpbGUucHJlLmluCTIwMjYtMDMtMjcgMTg6NDI6MDUu MTExOTA2MDk3ICswMTAwCi0rKysgUHl0aG9uLTMuMTEuMTUtbmV3L01ha2VmaWxlLnByZS5pbgky MDI2LTAzLTI3IDE4OjQyOjA1LjExNTkwNjEwNCArMDEwMAorZGlmZiAtcnVwTiAtLW5vLWRlcmVm ZXJlbmNlIFB5dGhvbi0zLjExLjE2L01ha2VmaWxlLnByZS5pbiBQeXRob24tMy4xMS4xNi1uZXcv TWFrZWZpbGUucHJlLmluCistLS0gUHl0aG9uLTMuMTEuMTYvTWFrZWZpbGUucHJlLmluCTIwMjYt MDktMTggMTk6MjM6MDYuNjA2OTQ3MTY0ICswMjAwCisrKysgUHl0aG9uLTMuMTEuMTYtbmV3L01h a2VmaWxlLnByZS5pbgkyMDI2LTA5LTE4IDE5OjIzOjA2LjYxODIwMDUwMiArMDIwMAogQEAgLTI4 NCw2ICsyODQsNyBAQCBMSUJPQkpTPQlATElCT0JKU0AKICAKICBQWVRIT049CQlweXRob24kKEVY RSkKQEAgLTksNyArOSw3IEBAIGRpZmYgLXJ1cE4gLS1uby1kZXJlZmVyZW5jZSBQeXRob24tMy4x MS4xNS9NYWtlZmlsZS5wcmUuaW4gUHl0aG9uLTMuMTEuMTUtbmV3L01hCiAgCiAgSE9TVFJVTk5F Uj0gQEhPU1RSVU5ORVJACiAgCi1AQCAtNTg1LDcgKzU4Niw3IEBAIExJQkVYUEFUX0hFQURFUlM9 IFwKK0BAIC01ODgsNyArNTg5LDcgQEAgTElCRVhQQVRfSEVBREVSUz0gXAogIAogICMgRGVmYXVs dCB0YXJnZXQKICBhbGw6CQlAREVGX01BS0VfQUxMX1JVTEVACkBAIC0xOCw3ICsxOCw3IEBAIGRp ZmYgLXJ1cE4gLS1uby1kZXJlZmVyZW5jZSBQeXRob24tMy4xMS4xNS9NYWtlZmlsZS5wcmUuaW4g UHl0aG9uLTMuMTEuMTUtbmV3L01hCiAgCQlnZGJob29rcyBQcm9ncmFtcy9fdGVzdGVtYmVkIHB5 dGhvbi1jb25maWcKICBidWlsZF93YXNtOiBjaGVjay1jbGVhbi1zcmMgJChCVUlMRFBZVEhPTikg cGxhdGZvcm0gb2xkc2hhcmVkbW9kcyBweXRob24tY29uZmlnCiAgCi1AQCAtNzA0LDkgKzcwNSwy OSBAQCBjb3ZlcmFnZS1yZXBvcnQ6IHJlZ2VuLXRva2VuIHJlZ2VuLWZyb3plCitAQCAtNzA3LDkg KzcwOCwyOSBAQCBjb3ZlcmFnZS1yZXBvcnQ6IHJlZ2VuLXRva2VuIHJlZ2VuLWZyb3plCiAgY2xp bmljOiBjaGVjay1jbGVhbi1zcmMgJChzcmNkaXIpL01vZHVsZXMvX2JsYWtlMi9ibGFrZTJzX2lt cGwuYwogIAkkKFBZVEhPTl9GT1JfUkVHRU4pICQoc3JjZGlyKS9Ub29scy9jbGluaWMvY2xpbmlj LnB5IC0tbWFrZSAtLXNyY2RpciAkKHNyY2RpcikKICAKQEAgLTUwLDcgKzUwLDcgQEAgZGlmZiAt cnVwTiAtLW5vLWRlcmVmZXJlbmNlIFB5dGhvbi0zLjExLjE1L01ha2VmaWxlLnByZS5pbiBQeXRo b24tMy4xMS4xNS1uZXcvTWEKICAKICBwbGF0Zm9ybTogJChQWVRIT05fRk9SX0JVSUxEX0RFUFMp IHB5YnVpbGRkaXIudHh0CiAgCSQoUlVOU0hBUkVEKSAkKFBZVEhPTl9GT1JfQlVJTEQpIC1jICdp bXBvcnQgc3lzIDsgZnJvbSBzeXNjb25maWcgaW1wb3J0IGdldF9wbGF0Zm9ybSA7IHByaW50KCIl cy0lZC4lZCIgJSAoZ2V0X3BsYXRmb3JtKCksICpzeXMudmVyc2lvbl9pbmZvWzoyXSkpJyA+cGxh dGZvcm0KLUBAIC04MTAsMTAgKzgzMSwxMCBAQCAkKFBZVEhPTkZSQU1FV09SS0RJUikvVmVyc2lv bnMvJChWRVJTSU9OCitAQCAtODEzLDEwICs4MzQsMTAgQEAgJChQWVRIT05GUkFNRVdPUktESVIp L1ZlcnNpb25zLyQoVkVSU0lPTgogIAogICMgVGhpcyBydWxlIGJ1aWxkcyB0aGUgQ3lnd2luIFB5 dGhvbiBETEwgYW5kIGltcG9ydCBsaWJyYXJ5IGlmIGNvbmZpZ3VyZWQKICAjIGZvciBhIHNoYXJl ZCBjb3JlIGxpYnJhcnk7IG90aGVyd2lzZSwgdGhpcyBydWxlIGlzIGEgbm9vcC4KQEAgLTYzLDcg KzYzLDcgQEAgZGlmZiAtcnVwTiAtLW5vLWRlcmVmZXJlbmNlIFB5dGhvbi0zLjExLjE1L01ha2Vm aWxlLnByZS5pbiBQeXRob24tMy4xMS4xNS1uZXcvTWEKICAJZWxzZSB0cnVlOyBcCiAgCWZpCiAg Ci1AQCAtMTgwNSw2ICsxODI2LDcgQEAgYWx0YmluaW5zdGFsbDogJChCVUlMRFBZVEhPTikgQEZS QU1FV09SSworQEAgLTE4MTAsNiArMTgzMSw3IEBAIGFsdGJpbmluc3RhbGw6ICQoQlVJTERQWVRI T04pIEBGUkFNRVdPUksKICAJZG9uZQogIAlpZiB0ZXN0ICIkKFBZVEhPTkZSQU1FV09SS0RJUiki ID0gIm5vLWZyYW1ld29yayIgOyB0aGVuIFwKICAJCSQoSU5TVEFMTF9QUk9HUkFNKSAkKEJVSUxE UFlUSE9OKSAkKERFU1RESVIpJChCSU5ESVIpL3B5dGhvbiQoTERWRVJTSU9OKSQoRVhFKTsgXApA QCAtNzEsOSArNzEsOSBAQCBkaWZmIC1ydXBOIC0tbm8tZGVyZWZlcmVuY2UgUHl0aG9uLTMuMTEu MTUvTWFrZWZpbGUucHJlLmluIFB5dGhvbi0zLjExLjE1LW5ldy9NYQogIAllbHNlIFwKICAJCSQo SU5TVEFMTF9QUk9HUkFNKSAkKFNUUklQRkxBRykgTWFjL3B5dGhvbncgJChERVNURElSKSQoQklO RElSKS9weXRob24kKExEVkVSU0lPTikkKEVYRSk7IFwKICAJZmkKLWRpZmYgLXJ1cE4gLS1uby1k ZXJlZmVyZW5jZSBQeXRob24tMy4xMS4xNS9QQy9weXRob25fZXhlLnJjIFB5dGhvbi0zLjExLjE1 LW5ldy9QQy9weXRob25fZXhlLnJjCi0tLS0gUHl0aG9uLTMuMTEuMTUvUEMvcHl0aG9uX2V4ZS5y YwkyMDI2LTAzLTAzIDAxOjUyOjU3LjAwMDAwMDAwMCArMDEwMAotKysrIFB5dGhvbi0zLjExLjE1 LW5ldy9QQy9weXRob25fZXhlLnJjCTIwMjYtMDMtMjcgMTg6NDI6MDUuMTE2MzI1ODAwICswMTAw CitkaWZmIC1ydXBOIC0tbm8tZGVyZWZlcmVuY2UgUHl0aG9uLTMuMTEuMTYvUEMvcHl0aG9uX2V4 ZS5yYyBQeXRob24tMy4xMS4xNi1uZXcvUEMvcHl0aG9uX2V4ZS5yYworLS0tIFB5dGhvbi0zLjEx LjE2L1BDL3B5dGhvbl9leGUucmMJMjAyNi0wOC0xMyAwMTowMzoxOS4wMDAwMDAwMDAgKzAyMDAK KysrKyBQeXRob24tMy4xMS4xNi1uZXcvUEMvcHl0aG9uX2V4ZS5yYwkyMDI2LTA5LTE4IDE5OjIz OjA2LjYxOTcyNTE2NiArMDIwMAogQEAgLTEyLDcgKzEyLDcgQEAKICAvLyBjdXJyZW50IHZlcnNp b25zIG9mIFdpbmRvd3MuCiAgMSBSVF9NQU5JRkVTVCAicHl0aG9uLm1hbmlmZXN0IgpAQCAtODMs OSArODMsOSBAQCBkaWZmIC1ydXBOIC0tbm8tZGVyZWZlcmVuY2UgUHl0aG9uLTMuMTEuMTUvUEMv cHl0aG9uX2V4ZS5yYyBQeXRob24tMy4xMS4xNS1uZXcvUAogIAogIAogIC8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vCi1kaWZmIC1ydXBOIC0tbm8tZGVyZWZlcmVuY2UgUHl0aG9uLTMuMTEuMTUvUEMvcHl0 aG9uX250LnJjIFB5dGhvbi0zLjExLjE1LW5ldy9QQy9weXRob25fbnQucmMKLS0tLSBQeXRob24t My4xMS4xNS9QQy9weXRob25fbnQucmMJMjAyNi0wMy0wMyAwMTo1Mjo1Ny4wMDAwMDAwMDAgKzAx MDAKLSsrKyBQeXRob24tMy4xMS4xNS1uZXcvUEMvcHl0aG9uX250LnJjCTIwMjYtMDMtMjcgMTg6 NDI6MDUuMTE2NDY3MzQ4ICswMTAwCitkaWZmIC1ydXBOIC0tbm8tZGVyZWZlcmVuY2UgUHl0aG9u LTMuMTEuMTYvUEMvcHl0aG9uX250LnJjIFB5dGhvbi0zLjExLjE2LW5ldy9QQy9weXRob25fbnQu cmMKKy0tLSBQeXRob24tMy4xMS4xNi9QQy9weXRob25fbnQucmMJMjAyNi0wOC0xMyAwMTowMzox OS4wMDAwMDAwMDAgKzAyMDAKKysrKyBQeXRob24tMy4xMS4xNi1uZXcvUEMvcHl0aG9uX250LnJj CTIwMjYtMDktMTggMTk6MjM6MDYuNjIwMjkzNzM0ICswMjAwCiBAQCAtMzksNyArMzksNyBAQCBC RUdJTgogICAgICAgICAgICAgIFZBTFVFICJGaWxlVmVyc2lvbiIsIFBZVEhPTl9WRVJTSU9OCiAg ICAgICAgICAgICAgVkFMVUUgIkludGVybmFsTmFtZSIsICJQeXRob24gRExMXDAiCkBAIC05NSw5 ICs5NSw5IEBAIGRpZmYgLXJ1cE4gLS1uby1kZXJlZmVyZW5jZSBQeXRob24tMy4xMS4xNS9QQy9w eXRob25fbnQucmMgUHl0aG9uLTMuMTEuMTUtbmV3L1BDCiAgICAgICAgICAgICAgVkFMVUUgIlBy b2R1Y3ROYW1lIiwgIlB5dGhvblwwIgogICAgICAgICAgICAgIFZBTFVFICJQcm9kdWN0VmVyc2lv biIsIFBZVEhPTl9WRVJTSU9OCiAgICAgICAgICBFTkQKLWRpZmYgLXJ1cE4gLS1uby1kZXJlZmVy ZW5jZSBQeXRob24tMy4xMS4xNS9QQy9weXRob25fdmVyX3JjLmggUHl0aG9uLTMuMTEuMTUtbmV3 L1BDL3B5dGhvbl92ZXJfcmMuaAotLS0tIFB5dGhvbi0zLjExLjE1L1BDL3B5dGhvbl92ZXJfcmMu aAkyMDI2LTAzLTAzIDAxOjUyOjU3LjAwMDAwMDAwMCArMDEwMAotKysrIFB5dGhvbi0zLjExLjE1 LW5ldy9QQy9weXRob25fdmVyX3JjLmgJMjAyNi0wMy0yNyAxODo0MjowNS4xMTY2MzczNzkgKzAx MDAKK2RpZmYgLXJ1cE4gLS1uby1kZXJlZmVyZW5jZSBQeXRob24tMy4xMS4xNi9QQy9weXRob25f dmVyX3JjLmggUHl0aG9uLTMuMTEuMTYtbmV3L1BDL3B5dGhvbl92ZXJfcmMuaAorLS0tIFB5dGhv bi0zLjExLjE2L1BDL3B5dGhvbl92ZXJfcmMuaAkyMDI2LTA4LTEzIDAxOjAzOjE5LjAwMDAwMDAw MCArMDIwMAorKysrIFB5dGhvbi0zLjExLjE2LW5ldy9QQy9weXRob25fdmVyX3JjLmgJMjAyNi0w OS0xOCAxOToyMzowNi42MjA4MjQ4MzYgKzAyMDAKIEBAIC0zLDYgKzMsNyBAQAogIC8vCiAgI3By YWdtYSBjb2RlX3BhZ2UoMTI1MikKQEAgLTEwNiw5ICsxMDYsOSBAQCBkaWZmIC1ydXBOIC0tbm8t ZGVyZWZlcmVuY2UgUHl0aG9uLTMuMTEuMTUvUEMvcHl0aG9uX3Zlcl9yYy5oIFB5dGhvbi0zLjEx LjE1LW5ldwogIAogICNkZWZpbmUgUFlUSE9OX0NPTVBBTlkgICAiUHl0aG9uIFNvZnR3YXJlIEZv dW5kYXRpb24iCiAgI2RlZmluZSBQWVRIT05fQ09QWVJJR0hUICJDb3B5cmlnaHQgXHhBOSAyMDAx LTIwMjMgUHl0aG9uIFNvZnR3YXJlIEZvdW5kYXRpb24uIENvcHlyaWdodCBceEE5IDIwMDAgQmVP cGVuLmNvbS4gQ29weXJpZ2h0IFx4QTkgMTk5NS0yMDAxIENOUkkuIENvcHlyaWdodCBceEE5IDE5 OTEtMTk5NSBTTUMuIgotZGlmZiAtcnVwTiAtLW5vLWRlcmVmZXJlbmNlIFB5dGhvbi0zLjExLjE1 L1BDL3B5dGhvbndfZXhlLnJjIFB5dGhvbi0zLjExLjE1LW5ldy9QQy9weXRob253X2V4ZS5yYwot LS0tIFB5dGhvbi0zLjExLjE1L1BDL3B5dGhvbndfZXhlLnJjCTIwMjYtMDMtMDMgMDE6NTI6NTcu MDAwMDAwMDAwICswMTAwCi0rKysgUHl0aG9uLTMuMTEuMTUtbmV3L1BDL3B5dGhvbndfZXhlLnJj CTIwMjYtMDMtMjcgMTg6NDI6MDUuMTE2NzY1NDM1ICswMTAwCitkaWZmIC1ydXBOIC0tbm8tZGVy ZWZlcmVuY2UgUHl0aG9uLTMuMTEuMTYvUEMvcHl0aG9ud19leGUucmMgUHl0aG9uLTMuMTEuMTYt bmV3L1BDL3B5dGhvbndfZXhlLnJjCistLS0gUHl0aG9uLTMuMTEuMTYvUEMvcHl0aG9ud19leGUu cmMJMjAyNi0wOC0xMyAwMTowMzoxOS4wMDAwMDAwMDAgKzAyMDAKKysrKyBQeXRob24tMy4xMS4x Ni1uZXcvUEMvcHl0aG9ud19leGUucmMJMjAyNi0wOS0xOCAxOToyMzowNi42MjEzNTA4NzMgKzAy MDAKIEBAIC0xMiw3ICsxMiw3IEBACiAgLy8gY3VycmVudCB2ZXJzaW9ucyBvZiBXaW5kb3dzLgog IDEgUlRfTUFOSUZFU1QgInB5dGhvbi5tYW5pZmVzdCIKQEAgLTExOCw5ICsxMTgsOSBAQCBkaWZm IC1ydXBOIC0tbm8tZGVyZWZlcmVuY2UgUHl0aG9uLTMuMTEuMTUvUEMvcHl0aG9ud19leGUucmMg UHl0aG9uLTMuMTEuMTUtbmV3LwogIAogIAogIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi1kaWZmIC1y dXBOIC0tbm8tZGVyZWZlcmVuY2UgUHl0aG9uLTMuMTEuMTUvUHJvZ3JhbXMvcHl0aG9uLmMgUHl0 aG9uLTMuMTEuMTUtbmV3L1Byb2dyYW1zL3B5dGhvbi5jCi0tLS0gUHl0aG9uLTMuMTEuMTUvUHJv Z3JhbXMvcHl0aG9uLmMJMjAyNi0wMy0wMyAwMTo1Mjo1Ny4wMDAwMDAwMDAgKzAxMDAKLSsrKyBQ eXRob24tMy4xMS4xNS1uZXcvUHJvZ3JhbXMvcHl0aG9uLmMJMjAyNi0wMy0yNyAxODo0MjowNS4x MTY5NDA1MTggKzAxMDAKK2RpZmYgLXJ1cE4gLS1uby1kZXJlZmVyZW5jZSBQeXRob24tMy4xMS4x Ni9Qcm9ncmFtcy9weXRob24uYyBQeXRob24tMy4xMS4xNi1uZXcvUHJvZ3JhbXMvcHl0aG9uLmMK Ky0tLSBQeXRob24tMy4xMS4xNi9Qcm9ncmFtcy9weXRob24uYwkyMDI2LTA4LTEzIDAxOjAzOjE5 LjAwMDAwMDAwMCArMDIwMAorKysrIFB5dGhvbi0zLjExLjE2LW5ldy9Qcm9ncmFtcy9weXRob24u YwkyMDI2LTA5LTE4IDE5OjIzOjA2LjYyMTk0NzE5MSArMDIwMAogQEAgLTgsMTAgKzgsOSBAQCB3 bWFpbihpbnQgYXJnYywgd2NoYXJfdCAqKmFyZ3YpCiAgewogICAgICByZXR1cm4gUHlfTWFpbihh cmdjLCBhcmd2KTsKCmRpZmYgLS1naXQgYS9taW5ndy1weXRob24zX3NldGVudi5wYXRjaCBiL21p bmd3LXB5dGhvbjNfc2V0ZW52LnBhdGNoCmluZGV4IDViMTNiMDcuLmNiOGMwY2IgMTAwNjQ0Ci0t LSBhL21pbmd3LXB5dGhvbjNfc2V0ZW52LnBhdGNoCisrKyBiL21pbmd3LXB5dGhvbjNfc2V0ZW52 LnBhdGNoCkBAIC0xLDYgKzEsNiBAQAotZGlmZiAtcnVwTiAtLW5vLWRlcmVmZXJlbmNlIFB5dGhv bi0zLjExLjE1L1B5dGhvbi9weWxpZmVjeWNsZS5jIFB5dGhvbi0zLjExLjE1LW5ldy9QeXRob24v cHlsaWZlY3ljbGUuYwotLS0tIFB5dGhvbi0zLjExLjE1L1B5dGhvbi9weWxpZmVjeWNsZS5jCTIw MjYtMDMtMDMgMDE6NTI6NTcuMDAwMDAwMDAwICswMTAwCi0rKysgUHl0aG9uLTMuMTEuMTUtbmV3 L1B5dGhvbi9weWxpZmVjeWNsZS5jCTIwMjYtMDMtMjcgMTg6NDI6MDQuNjQ0NDM0NzYxICswMTAw CitkaWZmIC1ydXBOIC0tbm8tZGVyZWZlcmVuY2UgUHl0aG9uLTMuMTEuMTYvUHl0aG9uL3B5bGlm ZWN5Y2xlLmMgUHl0aG9uLTMuMTEuMTYtbmV3L1B5dGhvbi9weWxpZmVjeWNsZS5jCistLS0gUHl0 aG9uLTMuMTEuMTYvUHl0aG9uL3B5bGlmZWN5Y2xlLmMJMjAyNi0wOC0xMyAwMTowMzoxOS4wMDAw MDAwMDAgKzAyMDAKKysrKyBQeXRob24tMy4xMS4xNi1uZXcvUHl0aG9uL3B5bGlmZWN5Y2xlLmMJ MjAyNi0wOS0xOCAxOToyMzowNi4wMzY4NTE2OTAgKzAyMDAKIEBAIC02MSw2ICs2MSwyNyBAQCBl eHRlcm4gdm9pZCBfUHlJT19GaW5pKHZvaWQpOwogIAogICNkZWZpbmUgUFVUUyhmZCwgc3RyKSBf UHlfd3JpdGVfbm9yYWlzZShmZCwgc3RyLCAoaW50KXN0cmxlbihzdHIpKQoKZGlmZiAtLWdpdCBh L21pbmd3LXB5dGhvbjNfd2luLW1vZHVsZXMucGF0Y2ggYi9taW5ndy1weXRob24zX3dpbi1tb2R1 bGVzLnBhdGNoCmluZGV4IDZhNzI2NjYuLjdiMjg0OGQgMTAwNjQ0Ci0tLSBhL21pbmd3LXB5dGhv bjNfd2luLW1vZHVsZXMucGF0Y2gKKysrIGIvbWluZ3ctcHl0aG9uM193aW4tbW9kdWxlcy5wYXRj aApAQCAtMSw2ICsxLDYgQEAKLWRpZmYgLXJ1cE4gLS1uby1kZXJlZmVyZW5jZSBQeXRob24tMy4x MS4xNS9Nb2R1bGVzL1NldHVwIFB5dGhvbi0zLjExLjE1LW5ldy9Nb2R1bGVzL1NldHVwCi0tLS0g UHl0aG9uLTMuMTEuMTUvTW9kdWxlcy9TZXR1cAkyMDI2LTAzLTI3IDE4OjQyOjA2LjU0NzE2NTY0 OSArMDEwMAotKysrIFB5dGhvbi0zLjExLjE1LW5ldy9Nb2R1bGVzL1NldHVwCTIwMjYtMDMtMjcg MTg6NDI6MDYuODI0OTAxNDU3ICswMTAwCitkaWZmIC1ydXBOIC0tbm8tZGVyZWZlcmVuY2UgUHl0 aG9uLTMuMTEuMTYvTW9kdWxlcy9TZXR1cCBQeXRob24tMy4xMS4xNi1uZXcvTW9kdWxlcy9TZXR1 cAorLS0tIFB5dGhvbi0zLjExLjE2L01vZHVsZXMvU2V0dXAJMjAyNi0wOS0xOCAxOToyMzowOC4y MDI4MzM4MzYgKzAyMDAKKysrKyBQeXRob24tMy4xMS4xNi1uZXcvTW9kdWxlcy9TZXR1cAkyMDI2 LTA5LTE4IDE5OjIzOjA4LjQ2MDExMzc1NSArMDIwMAogQEAgLTI3MCw2ICsyNzAsMTIgQEAgbW1h cCBtbWFwbW9kdWxlLmMKICAjIG1hY09TIHNwZWNpZmljIG1vZHVsZSwgbmVlZHMgU3lzdGVtQ29u ZmlndXJhdGlvbiBhbmQgQ29yZUZvdW5kYXRpb24gZnJhbWV3b3JrCiAgIyBfc2Nwcm94eSBfc2Nw cm94eS5jCkBAIC0xNCw5ICsxNCw5IEBAIGRpZmYgLXJ1cE4gLS1uby1kZXJlZmVyZW5jZSBQeXRo b24tMy4xMS4xNS9Nb2R1bGVzL1NldHVwIFB5dGhvbi0zLjExLjE1LW5ldy9Nb2R1CiAgIyBFeGFt cGxlcwogIAogICN4eCB4eG1vZHVsZS5jCi1kaWZmIC1ydXBOIC0tbm8tZGVyZWZlcmVuY2UgUHl0 aG9uLTMuMTEuMTUvTW9kdWxlcy9TZXR1cC5ib290c3RyYXAuaW4gUHl0aG9uLTMuMTEuMTUtbmV3 L01vZHVsZXMvU2V0dXAuYm9vdHN0cmFwLmluCi0tLS0gUHl0aG9uLTMuMTEuMTUvTW9kdWxlcy9T ZXR1cC5ib290c3RyYXAuaW4JMjAyNi0wMy0wMyAwMTo1Mjo1Ny4wMDAwMDAwMDAgKzAxMDAKLSsr KyBQeXRob24tMy4xMS4xNS1uZXcvTW9kdWxlcy9TZXR1cC5ib290c3RyYXAuaW4JMjAyNi0wMy0y NyAxODo0MjowNi44MjU4NjAwMDMgKzAxMDAKK2RpZmYgLXJ1cE4gLS1uby1kZXJlZmVyZW5jZSBQ eXRob24tMy4xMS4xNi9Nb2R1bGVzL1NldHVwLmJvb3RzdHJhcC5pbiBQeXRob24tMy4xMS4xNi1u ZXcvTW9kdWxlcy9TZXR1cC5ib290c3RyYXAuaW4KKy0tLSBQeXRob24tMy4xMS4xNi9Nb2R1bGVz L1NldHVwLmJvb3RzdHJhcC5pbgkyMDI2LTA4LTEzIDAxOjAzOjE5LjAwMDAwMDAwMCArMDIwMAor KysrIFB5dGhvbi0zLjExLjE2LW5ldy9Nb2R1bGVzL1NldHVwLmJvb3RzdHJhcC5pbgkyMDI2LTA5 LTE4IDE5OjIzOjA4LjQ2MDU2OTM3NiArMDIwMAogQEAgLTgsMTUgKzgsMTUgQEAKICAjIG1vZHVs ZSBDIEFQSXMgYXJlIHVzZWQgaW4gY29yZQogIGF0ZXhpdCBhdGV4aXRtb2R1bGUuYwpAQCAtNDIs OSArNDIsOSBAQCBkaWZmIC1ydXBOIC0tbm8tZGVyZWZlcmVuY2UgUHl0aG9uLTMuMTEuMTUvTW9k dWxlcy9TZXR1cC5ib290c3RyYXAuaW4gUHl0aG9uLTMuMQogIEBNT0RVTEVfUFdEX1RSVUVAcHdk IHB3ZG1vZHVsZS5jCiArCiArd2lucmVnIC4uL1BDL3dpbnJlZy5jCi1kaWZmIC1ydXBOIC0tbm8t ZGVyZWZlcmVuY2UgUHl0aG9uLTMuMTEuMTUvc2V0dXAucHkgUHl0aG9uLTMuMTEuMTUtbmV3L3Nl dHVwLnB5Ci0tLS0gUHl0aG9uLTMuMTEuMTUvc2V0dXAucHkJMjAyNi0wMy0yNyAxODo0MjowNi41 NDc0MzY2ODIgKzAxMDAKLSsrKyBQeXRob24tMy4xMS4xNS1uZXcvc2V0dXAucHkJMjAyNi0wMy0y NyAxODo0MjowNi44MjY5MDkwMjUgKzAxMDAKK2RpZmYgLXJ1cE4gLS1uby1kZXJlZmVyZW5jZSBQ eXRob24tMy4xMS4xNi9zZXR1cC5weSBQeXRob24tMy4xMS4xNi1uZXcvc2V0dXAucHkKKy0tLSBQ eXRob24tMy4xMS4xNi9zZXR1cC5weQkyMDI2LTA5LTE4IDE5OjIzOjA4LjIwMzExOTcxNCArMDIw MAorKysrIFB5dGhvbi0zLjExLjE2LW5ldy9zZXR1cC5weQkyMDI2LTA5LTE4IDE5OjIzOjA4LjQ2 MDkxODQwMiArMDIwMAogQEAgLTEzODIsNiArMTM4MiwxNSBAQCBjbGFzcyBQeUJ1aWxkRXh0KGJ1 aWxkX2V4dCk6CiAgICAgICAgICBzZWxmLmFkZGV4dChFeHRlbnNpb24oJ3h4bGltaXRlZCcsIFsn eHhsaW1pdGVkLmMnXSkpCiAgICAgICAgICBzZWxmLmFkZGV4dChFeHRlbnNpb24oJ3h4bGltaXRl ZF8zNScsIFsneHhsaW1pdGVkXzM1LmMnXSkpCgpkaWZmIC0tZ2l0IGEvc291cmNlcyBiL3NvdXJj ZXMKaW5kZXggNTZmNjhmNC4uZDI3MGE1MCAxMDA2NDQKLS0tIGEvc291cmNlcworKysgYi9zb3Vy Y2VzCkBAIC0xICsxIEBACi1TSEE1MTIgKFB5dGhvbi0zLjExLjE1LnRhci54eikgPSAxNjY3ZjQ4 MzlhY2ZkMjNkMDU5MTdhMTI5OTM5ODNiN2RjM2FiNDQzOGEzN2M3MjQ5NmZkMDQwYWM2OTgxZjRk ZWE5ZGM5NTQ2MWNhNzAxYTY4NjJiZWVkYjU2YzQyM2ZiODMzOThiOGIxOGUzOWUxZWZlMTJmNTM5 ZmNlZDFjMQorU0hBNTEyIChQeXRob24tMy4xMS4xNi50YXIueHopID0gZjRlMTY4ZDM1NTk2YzJk ZjA4MDY2M2Q4ZThiMzQ3MmYwM2JhY2U5ODdkNDZiNDliODQxMGYyNDI1YmExOTMyMTViOTg4MGM3 ZDAzZDQ2NTNlYzMxYzgzYjcyMjA5ZDk1ODY2ZmMxY2I2ZDY2Njc5OTE0NTA3NWIwOTJmNjRhNDgK