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: Than Ngo To: git-commits@fedoraproject.org Subject: [rpms/chromium] epel9-next: - Update to 134.0.6998.35 Date: Fri, 07 Aug 2026 16:07:27 GMT Message-ID: <178611884754.1.11969224746646188336.rpms-chromium-b287e3cae6c8@fedoraproject.org> List-ID: X-Git-Repo: rpms/chromium X-Git-Branch: epel9-next X-Git-Rev: b287e3cae6c853f419e7de502ad0cb87169060be ICAgICAgICAgIEEgbmV3IGNvbW1pdCBoYXMgYmVlbiBwdXNoZWQuCgogICAgICAgICAgUmVwbyAg IDogcnBtcy9jaHJvbWl1bQogICAgICAgICAgQnJhbmNoIDogZXBlbDktbmV4dAogICAgICAgICAg Q29tbWl0IDogYjI4N2UzY2FlNmM4NTNmNDE5ZTdkZTUwMmFkMGNiODcxNjkwNjBiZQogICAgICAg ICAgQXV0aG9yIDogVGhhbiBOZ28gPHRoYW5AcmVkaGF0LmNvbT4KICAgICAgICAgIERhdGUgICA6 IDIwMjUtMDMtMDVUMTU6Mzc6MzIrMDE6MDAKICAgICAgICAgIFN0YXRzICA6ICsxNjE2Ly0xNTc1 IGluIDE5IGZpbGUocykKICAgICAgICAgIFVSTCAgICA6IGh0dHBzOi8vc3JjLmZlZG9yYXByb2pl Y3Qub3JnL3JwbXMvY2hyb21pdW0vYy9iMjg3ZTNjYWU2Yzg1M2Y0MTllN2RlNTAyYWQwY2I4NzE2 OTA2MGJlP2JyYW5jaD1lcGVsOS1uZXh0CgogICAgICAgICAgTG9nOgogICAgICAgICAgLSBVcGRh dGUgdG8gMTM0LjAuNjk5OC4zNQoqIENWRS0yMDI1LTE5MTQ6IE91dCBvZiBib3VuZHMgcmVhZCBp biBWOAoqIENWRS0yMDI1LTE5MTU6IEltcHJvcGVyIExpbWl0YXRpb24gb2YgYSBQYXRobmFtZSB0 byBhIFJlc3RyaWN0ZWQgRGlyZWN0b3J5IGluIERldlRvb2xzCiogQ1ZFLTIwMjUtMTkxNjogVXNl IGFmdGVyIGZyZWUgaW4gUHJvZmlsZXMKKiBDVkUtMjAyNS0xOTE3OiBJbmFwcHJvcHJpYXRlIElt cGxlbWVudGF0aW9uIGluIEJyb3dzZXIgVUkKKiBDVkUtMjAyNS0xOTE4OiBPdXQgb2YgYm91bmRz IHJlYWQgaW4gUERGaXVtCiogQ1ZFLTIwMjUtMTkxOTogT3V0IG9mIGJvdW5kcyByZWFkIGluIE1l ZGlhCiogQ1ZFLTIwMjUtMTkyMTogSW5hcHByb3ByaWF0ZSBJbXBsZW1lbnRhdGlvbiBpbiBNZWRp YSBTdHJlYW0KKiBDVkUtMjAyNS0xOTIyOiBJbmFwcHJvcHJpYXRlIEltcGxlbWVudGF0aW9uIGlu IFNlbGVjdGlvbgoqIENWRS0yMDI1LTE5MjM6IEluYXBwcm9wcmlhdGUgSW1wbGVtZW50YXRpb24g aW4gUGVybWlzc2lvbiBQcm9tcHRzCgotLS0KZGlmZiAtLWdpdCBhLzAwMDEtQWRkLVBQQzY0LXN1 cHBvcnQtZm9yLWJvcmluZ3NzbC5wYXRjaCBiLzAwMDEtQWRkLVBQQzY0LXN1cHBvcnQtZm9yLWJv cmluZ3NzbC5wYXRjaAppbmRleCBjZjM2NjQ2Li5hZjEyODhiIDEwMDY0NAotLS0gYS8wMDAxLUFk ZC1QUEM2NC1zdXBwb3J0LWZvci1ib3Jpbmdzc2wucGF0Y2gKKysrIGIvMDAwMS1BZGQtUFBDNjQt c3VwcG9ydC1mb3ItYm9yaW5nc3NsLnBhdGNoCkBAIC0xLDcgKzEsNyBAQAotSW5kZXg6IGNocm9t aXVtLTEzMy4wLjY5NDMuMzUvdGhpcmRfcGFydHkvYm9yaW5nc3NsL3NyYy9jcnlwdG8vYWJpX3Nl bGZfdGVzdC5jYworSW5kZXg6IGNocm9taXVtLTEzNC4wLjY5OTguMzUvdGhpcmRfcGFydHkvYm9y aW5nc3NsL3NyYy9jcnlwdG8vYWJpX3NlbGZfdGVzdC5jYwogPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGNocm9t aXVtLTEzMy4wLjY5NDMuMzUub3JpZy90aGlyZF9wYXJ0eS9ib3Jpbmdzc2wvc3JjL2NyeXB0by9h Ymlfc2VsZl90ZXN0LmNjCi0rKysgY2hyb21pdW0tMTMzLjAuNjk0My4zNS90aGlyZF9wYXJ0eS9i b3Jpbmdzc2wvc3JjL2NyeXB0by9hYmlfc2VsZl90ZXN0LmNjCistLS0gY2hyb21pdW0tMTM0LjAu Njk5OC4zNS5vcmlnL3RoaXJkX3BhcnR5L2JvcmluZ3NzbC9zcmMvY3J5cHRvL2FiaV9zZWxmX3Rl c3QuY2MKKysrKyBjaHJvbWl1bS0xMzQuMC42OTk4LjM1L3RoaXJkX3BhcnR5L2JvcmluZ3NzbC9z cmMvY3J5cHRvL2FiaV9zZWxmX3Rlc3QuY2MKIEBAIC01MjEsMyArNTIxLDI4OSBAQCBURVNUKEFC SVRlc3QsIEFBcmNoNjQpIHsKICAgIENIRUNLX0FCSV9OT19VTldJTkQoYWJpX3Rlc3RfY2xvYmJl cl92MTVfdXBwZXIpOwogIH0KQEAgLTI5MiwxMCArMjkyLDEwIEBAIEluZGV4OiBjaHJvbWl1bS0x MzMuMC42OTQzLjM1L3RoaXJkX3BhcnR5L2JvcmluZ3NzbC9zcmMvY3J5cHRvL2FiaV9zZWxmX3Rl c3QuY2MKICsgIENIRUNLX0FCSV9OT19VTldJTkQoYWJpX3Rlc3RfY2xvYmJlcl9scik7CiArfQog KyNlbmRpZiAgIC8vIE9QRU5TU0xfUFBDNjRMRSAmJiBTVVBQT1JUU19BQklfVEVTVAotSW5kZXg6 IGNocm9taXVtLTEzMy4wLjY5NDMuMzUvdGhpcmRfcGFydHkvYm9yaW5nc3NsL3NyYy9jcnlwdG8v Y3B1X3BwYzY0bGUuY2MKK0luZGV4OiBjaHJvbWl1bS0xMzQuMC42OTk4LjM1L3RoaXJkX3BhcnR5 L2JvcmluZ3NzbC9zcmMvY3J5cHRvL2NwdV9wcGM2NGxlLmNjCiA9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rl di9udWxsCi0rKysgY2hyb21pdW0tMTMzLjAuNjk0My4zNS90aGlyZF9wYXJ0eS9ib3Jpbmdzc2wv c3JjL2NyeXB0by9jcHVfcHBjNjRsZS5jYworKysrIGNocm9taXVtLTEzNC4wLjY5OTguMzUvdGhp cmRfcGFydHkvYm9yaW5nc3NsL3NyYy9jcnlwdG8vY3B1X3BwYzY0bGUuY2MKIEBAIC0wLDAgKzEs MzggQEAKICsvKiBDb3B5cmlnaHQgKGMpIDIwMTYsIEdvb2dsZSBJbmMuCiArICoKQEAgLTMzNSwx MCArMzM1LDEwIEBAIEluZGV4OiBjaHJvbWl1bS0xMzMuMC42OTQzLjM1L3RoaXJkX3BhcnR5L2Jv cmluZ3NzbC9zcmMvY3J5cHRvL2NwdV9wcGM2NGxlLmNjCiArfQogKwogKyNlbmRpZiAgLy8gT1BF TlNTTF9QUEM2NExFCi1JbmRleDogY2hyb21pdW0tMTMzLjAuNjk0My4zNS90aGlyZF9wYXJ0eS9i b3Jpbmdzc2wvc3JjL2NyeXB0by9jcnlwdG8uY2MKK0luZGV4OiBjaHJvbWl1bS0xMzQuMC42OTk4 LjM1L3RoaXJkX3BhcnR5L2JvcmluZ3NzbC9zcmMvY3J5cHRvL2NyeXB0by5jYwogPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQotLS0tIGNocm9taXVtLTEzMy4wLjY5NDMuMzUub3JpZy90aGlyZF9wYXJ0eS9ib3Jpbmdzc2wv c3JjL2NyeXB0by9jcnlwdG8uY2MKLSsrKyBjaHJvbWl1bS0xMzMuMC42OTQzLjM1L3RoaXJkX3Bh cnR5L2JvcmluZ3NzbC9zcmMvY3J5cHRvL2NyeXB0by5jYworLS0tIGNocm9taXVtLTEzNC4wLjY5 OTguMzUub3JpZy90aGlyZF9wYXJ0eS9ib3Jpbmdzc2wvc3JjL2NyeXB0by9jcnlwdG8uY2MKKysr KyBjaHJvbWl1bS0xMzQuMC42OTk4LjM1L3RoaXJkX3BhcnR5L2JvcmluZ3NzbC9zcmMvY3J5cHRv L2NyeXB0by5jYwogQEAgLTY3LDYgKzY3LDEwIEBAIHVpbnQzMl90IE9QRU5TU0xfZ2V0X2lhMzJj YXAoaW50IGlkeCkgewogICAgcmV0dXJuIE9QRU5TU0xfaWEzMmNhcF9QW2lkeF07CiAgfQpAQCAt MzUwLDEwICszNTAsMTAgQEAgSW5kZXg6IGNocm9taXVtLTEzMy4wLjY5NDMuMzUvdGhpcmRfcGFy dHkvYm9yaW5nc3NsL3NyYy9jcnlwdG8vY3J5cHRvLmNjCiAgI2VsaWYgZGVmaW5lZChPUEVOU1NM X0FSTSkgfHwgZGVmaW5lZChPUEVOU1NMX0FBUkNINjQpCiAgCiAgI2luY2x1ZGUgPG9wZW5zc2wv YXJtX2FyY2guaD4KLUluZGV4OiBjaHJvbWl1bS0xMzMuMC42OTQzLjM1L3RoaXJkX3BhcnR5L2Jv cmluZ3NzbC9zcmMvY3J5cHRvL2ZpcHNtb2R1bGUvYWVzL2FzbS9hZXNwOC1wcGMucGwKK0luZGV4 OiBjaHJvbWl1bS0xMzQuMC42OTk4LjM1L3RoaXJkX3BhcnR5L2JvcmluZ3NzbC9zcmMvY3J5cHRv L2ZpcHNtb2R1bGUvYWVzL2FzbS9hZXNwOC1wcGMucGwKID09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIC0tLSAvZGV2L251 bGwKLSsrKyBjaHJvbWl1bS0xMzMuMC42OTQzLjM1L3RoaXJkX3BhcnR5L2JvcmluZ3NzbC9zcmMv Y3J5cHRvL2ZpcHNtb2R1bGUvYWVzL2FzbS9hZXNwOC1wcGMucGwKKysrKyBjaHJvbWl1bS0xMzQu MC42OTk4LjM1L3RoaXJkX3BhcnR5L2JvcmluZ3NzbC9zcmMvY3J5cHRvL2ZpcHNtb2R1bGUvYWVz L2FzbS9hZXNwOC1wcGMucGwKIEBAIC0wLDAgKzEsMzgwOSBAQAogKyMhIC91c3IvYmluL2VudiBw ZXJsCiArIyBDb3B5cmlnaHQgMjAxNC0yMDE4IFRoZSBPcGVuU1NMIFByb2plY3QgQXV0aG9ycy4g QWxsIFJpZ2h0cyBSZXNlcnZlZC4KQEAgLTQxNjQsMTAgKzQxNjQsMTAgQEAgSW5kZXg6IGNocm9t aXVtLTEzMy4wLjY5NDMuMzUvdGhpcmRfcGFydHkvYm9yaW5nc3NsL3NyYy9jcnlwdG8vZmlwc21v ZHVsZS9hZXMvYXMKICt9CiArCiArY2xvc2UgU1RET1VUIG9yIGRpZSAiZXJyb3IgY2xvc2luZyBT VERPVVQ6ICQhIjsKLUluZGV4OiBjaHJvbWl1bS0xMzMuMC42OTQzLjM1L3RoaXJkX3BhcnR5L2Jv cmluZ3NzbC9zcmMvY3J5cHRvL2ZpcHNtb2R1bGUvYWVzL2ludGVybmFsLmgKK0luZGV4OiBjaHJv bWl1bS0xMzQuMC42OTk4LjM1L3RoaXJkX3BhcnR5L2JvcmluZ3NzbC9zcmMvY3J5cHRvL2ZpcHNt b2R1bGUvYWVzL2ludGVybmFsLmgKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBjaHJvbWl1bS0xMzMuMC42OTQz LjM1Lm9yaWcvdGhpcmRfcGFydHkvYm9yaW5nc3NsL3NyYy9jcnlwdG8vZmlwc21vZHVsZS9hZXMv aW50ZXJuYWwuaAotKysrIGNocm9taXVtLTEzMy4wLjY5NDMuMzUvdGhpcmRfcGFydHkvYm9yaW5n c3NsL3NyYy9jcnlwdG8vZmlwc21vZHVsZS9hZXMvaW50ZXJuYWwuaAorLS0tIGNocm9taXVtLTEz NC4wLjY5OTguMzUub3JpZy90aGlyZF9wYXJ0eS9ib3Jpbmdzc2wvc3JjL2NyeXB0by9maXBzbW9k dWxlL2Flcy9pbnRlcm5hbC5oCisrKysgY2hyb21pdW0tMTM0LjAuNjk5OC4zNS90aGlyZF9wYXJ0 eS9ib3Jpbmdzc2wvc3JjL2NyeXB0by9maXBzbW9kdWxlL2Flcy9pbnRlcm5hbC5oCiBAQCAtODIs NiArODIsMTIgQEAgaW5saW5lIGludCB2cGFlc19jYXBhYmxlKHZvaWQpIHsgcmV0dXJuCiAgaW5s aW5lIGludCB2cGFlc19jYXBhYmxlKHZvaWQpIHsgcmV0dXJuIENSWVBUT19pc19ORU9OX2NhcGFi bGUoKTsgfQogICNlbmRpZgpAQCAtNDE4MSwxMCArNDE4MSwyNCBAQCBJbmRleDogY2hyb21pdW0t MTMzLjAuNjk0My4zNS90aGlyZF9wYXJ0eS9ib3Jpbmdzc2wvc3JjL2NyeXB0by9maXBzbW9kdWxl L2Flcy9pbgogICNlbmRpZgogIAogICNlbmRpZiAgLy8gIU5PX0FTTQotSW5kZXg6IGNocm9taXVt LTEzMy4wLjY5NDMuMzUvdGhpcmRfcGFydHkvYm9yaW5nc3NsL3NyYy9jcnlwdG8vZmlwc21vZHVs ZS9iY20uY2MKK0BAIC01MDQsNiArNTEwLDEzIEBAIHZvaWQgYWVzX2djbV9kZWNfa2VybmVsKGNv bnN0IHVpbnQ4X3QgKmkKKyAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1MTI4IEh0YWJs ZVsxNl0pOworICNlbmRpZgorIAorKyNlbGlmIGRlZmluZWQoT1BFTlNTTF9QUEM2NExFKQorKyNk ZWZpbmUgR0hBU0hfQVNNX1BQQzY0TEUKKysjZGVmaW5lIEdDTV9GVU5DUkVGCisrdm9pZCBnY21f aW5pdF9wOCh1MTI4IEh0YWJsZVsxNl0sIGNvbnN0IHVpbnQ2NF90IFhpWzJdKTsKKyt2b2lkIGdj bV9nbXVsdF9wOCh1aW50OF90IFhpWzE2XSwgY29uc3QgdTEyOCBIdGFibGVbMTZdKTsKKyt2b2lk IGdjbV9naGFzaF9wOCh1aW50OF90IFhpWzE2XSwgY29uc3QgdTEyOCBIdGFibGVbMTZdLCBjb25z dCB1aW50OF90ICppbnAsCisrICAgICAgICAgICAgICAgICAgc2l6ZV90IGxlbik7CisgI2VuZGlm CisgI2VuZGlmICAvLyBPUEVOU1NMX05PX0FTTQorIAorSW5kZXg6IGNocm9taXVtLTEzNC4wLjY5 OTguMzUvdGhpcmRfcGFydHkvYm9yaW5nc3NsL3NyYy9jcnlwdG8vZmlwc21vZHVsZS9iY20uY2MK ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KLS0tLSBjaHJvbWl1bS0xMzMuMC42OTQzLjM1Lm9yaWcvdGhpcmRfcGFydHkv Ym9yaW5nc3NsL3NyYy9jcnlwdG8vZmlwc21vZHVsZS9iY20uY2MKLSsrKyBjaHJvbWl1bS0xMzMu MC42OTQzLjM1L3RoaXJkX3BhcnR5L2JvcmluZ3NzbC9zcmMvY3J5cHRvL2ZpcHNtb2R1bGUvYmNt LmNjCistLS0gY2hyb21pdW0tMTM0LjAuNjk5OC4zNS5vcmlnL3RoaXJkX3BhcnR5L2JvcmluZ3Nz bC9zcmMvY3J5cHRvL2ZpcHNtb2R1bGUvYmNtLmNjCisrKysgY2hyb21pdW0tMTM0LjAuNjk5OC4z NS90aGlyZF9wYXJ0eS9ib3Jpbmdzc2wvc3JjL2NyeXB0by9maXBzbW9kdWxlL2JjbS5jYwogQEAg LTEwNSw2ICsxMDUsNyBAQAogICNpbmNsdWRlICJzZWxmX2NoZWNrL2ZpcHMuY2MuaW5jIgogICNp bmNsdWRlICJzZWxmX2NoZWNrL3NlbGZfY2hlY2suY2MuaW5jIgpAQCAtNDE5MywxMSArNDIwNywx MSBAQCBJbmRleDogY2hyb21pdW0tMTMzLjAuNjk0My4zNS90aGlyZF9wYXJ0eS9ib3Jpbmdzc2wv c3JjL2NyeXB0by9maXBzbW9kdWxlL2JjbS5jYwogICNpbmNsdWRlICJzaGEvc2hhMS5jYy5pbmMi CiAgI2luY2x1ZGUgInNoYS9zaGEyNTYuY2MuaW5jIgogICNpbmNsdWRlICJzaGEvc2hhNTEyLmNj LmluYyIKLUluZGV4OiBjaHJvbWl1bS0xMzMuMC42OTQzLjM1L3RoaXJkX3BhcnR5L2JvcmluZ3Nz bC9zcmMvY3J5cHRvL2ZpcHNtb2R1bGUvYm4vYm4uY2MuaW5jCitJbmRleDogY2hyb21pdW0tMTM0 LjAuNjk5OC4zNS90aGlyZF9wYXJ0eS9ib3Jpbmdzc2wvc3JjL2NyeXB0by9maXBzbW9kdWxlL2Ju L2JuLmNjLmluYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGNocm9taXVtLTEzMy4wLjY5NDMuMzUub3JpZy90 aGlyZF9wYXJ0eS9ib3Jpbmdzc2wvc3JjL2NyeXB0by9maXBzbW9kdWxlL2JuL2JuLmNjLmluYwot KysrIGNocm9taXVtLTEzMy4wLjY5NDMuMzUvdGhpcmRfcGFydHkvYm9yaW5nc3NsL3NyYy9jcnlw dG8vZmlwc21vZHVsZS9ibi9ibi5jYy5pbmMKLUBAIC0zMjUsNiArMzI1LDIzIEBAIGludCBibl9l eHBhbmQoQklHTlVNICpibiwgc2l6ZV90IGJpdHMpIHsKKy0tLSBjaHJvbWl1bS0xMzQuMC42OTk4 LjM1Lm9yaWcvdGhpcmRfcGFydHkvYm9yaW5nc3NsL3NyYy9jcnlwdG8vZmlwc21vZHVsZS9ibi9i bi5jYy5pbmMKKysrKyBjaHJvbWl1bS0xMzQuMC42OTk4LjM1L3RoaXJkX3BhcnR5L2JvcmluZ3Nz bC9zcmMvY3J5cHRvL2ZpcHNtb2R1bGUvYm4vYm4uY2MuaW5jCitAQCAtMzMwLDYgKzMzMCwyMyBA QCBpbnQgYm5fZXhwYW5kKEJJR05VTSAqYm4sIHNpemVfdCBiaXRzKSB7CiAgfQogIAogIGludCBi bl9yZXNpemVfd29yZHMoQklHTlVNICpibiwgc2l6ZV90IHdvcmRzKSB7CkBAIC00MjIxLDExICs0 MjM1LDExIEBAIEluZGV4OiBjaHJvbWl1bS0xMzMuMC42OTQzLjM1L3RoaXJkX3BhcnR5L2Jvcmlu Z3NzbC9zcmMvY3J5cHRvL2ZpcHNtb2R1bGUvYm4vYm4uCiAgICBpZiAoKHNpemVfdClibi0+d2lk dGggPD0gd29yZHMpIHsKICAgICAgaWYgKCFibl93ZXhwYW5kKGJuLCB3b3JkcykpIHsKICAgICAg ICByZXR1cm4gMDsKLUluZGV4OiBjaHJvbWl1bS0xMzMuMC42OTQzLjM1L3RoaXJkX3BhcnR5L2Jv cmluZ3NzbC9zcmMvY3J5cHRvL2ZpcHNtb2R1bGUvY2lwaGVyL2VfYWVzLmNjLmluYworSW5kZXg6 IGNocm9taXVtLTEzNC4wLjY5OTguMzUvdGhpcmRfcGFydHkvYm9yaW5nc3NsL3NyYy9jcnlwdG8v Zmlwc21vZHVsZS9jaXBoZXIvZV9hZXMuY2MuaW5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gY2hyb21pdW0t MTMzLjAuNjk0My4zNS5vcmlnL3RoaXJkX3BhcnR5L2JvcmluZ3NzbC9zcmMvY3J5cHRvL2ZpcHNt b2R1bGUvY2lwaGVyL2VfYWVzLmNjLmluYwotKysrIGNocm9taXVtLTEzMy4wLjY5NDMuMzUvdGhp cmRfcGFydHkvYm9yaW5nc3NsL3NyYy9jcnlwdG8vZmlwc21vZHVsZS9jaXBoZXIvZV9hZXMuY2Mu aW5jCi1AQCAtMTIzMCw2ICsxMjMwLDggQEAgaW50IEVWUF9oYXNfYWVzX2hhcmR3YXJlKHZvaWQp IHsKKy0tLSBjaHJvbWl1bS0xMzQuMC42OTk4LjM1Lm9yaWcvdGhpcmRfcGFydHkvYm9yaW5nc3Ns L3NyYy9jcnlwdG8vZmlwc21vZHVsZS9jaXBoZXIvZV9hZXMuY2MuaW5jCisrKysgY2hyb21pdW0t MTM0LjAuNjk5OC4zNS90aGlyZF9wYXJ0eS9ib3Jpbmdzc2wvc3JjL2NyeXB0by9maXBzbW9kdWxl L2NpcGhlci9lX2Flcy5jYy5pbmMKK0BAIC0xMjM0LDYgKzEyMzQsOCBAQCBpbnQgRVZQX2hhc19h ZXNfaGFyZHdhcmUodm9pZCkgewogICAgcmV0dXJuIGh3YWVzX2NhcGFibGUoKSAmJiBjcnlwdG9f Z2NtX2NsbXVsX2VuYWJsZWQoKTsKICAjZWxpZiBkZWZpbmVkKE9QRU5TU0xfQVJNKSB8fCBkZWZp bmVkKE9QRU5TU0xfQUFSQ0g2NCkKICAgIHJldHVybiBod2Flc19jYXBhYmxlKCkgJiYgQ1JZUFRP X2lzX0FSTXY4X1BNVUxMX2NhcGFibGUoKTsKQEAgLTQyMzQsMTAgKzQyNDgsMTAgQEAgSW5kZXg6 IGNocm9taXVtLTEzMy4wLjY5NDMuMzUvdGhpcmRfcGFydHkvYm9yaW5nc3NsL3NyYy9jcnlwdG8v Zmlwc21vZHVsZS9jaXBoZXIKICAjZWxzZQogICAgcmV0dXJuIDA7CiAgI2VuZGlmCi1JbmRleDog Y2hyb21pdW0tMTMzLjAuNjk0My4zNS90aGlyZF9wYXJ0eS9ib3Jpbmdzc2wvc3JjL2NyeXB0by9m aXBzbW9kdWxlL21vZGVzL2FzbS9naGFzaHA4LXBwYy5wbAorSW5kZXg6IGNocm9taXVtLTEzNC4w LjY5OTguMzUvdGhpcmRfcGFydHkvYm9yaW5nc3NsL3NyYy9jcnlwdG8vZmlwc21vZHVsZS9hZXMv YXNtL2doYXNocDgtcHBjLnBsCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxsCi0rKysgY2hyb21p dW0tMTMzLjAuNjk0My4zNS90aGlyZF9wYXJ0eS9ib3Jpbmdzc2wvc3JjL2NyeXB0by9maXBzbW9k dWxlL21vZGVzL2FzbS9naGFzaHA4LXBwYy5wbAorKysrIGNocm9taXVtLTEzNC4wLjY5OTguMzUv dGhpcmRfcGFydHkvYm9yaW5nc3NsL3NyYy9jcnlwdG8vZmlwc21vZHVsZS9hZXMvYXNtL2doYXNo cDgtcHBjLnBsCiBAQCAtMCwwICsxLDY3MSBAQAogKyMhIC91c3IvYmluL2VudiBwZXJsCiArIyBD b3B5cmlnaHQgMjAxNC0yMDE2IFRoZSBPcGVuU1NMIFByb2plY3QgQXV0aG9ycy4gQWxsIFJpZ2h0 cyBSZXNlcnZlZC4KQEAgLTQ5MTAsMTEgKzQ5MjQsMTEgQEAgSW5kZXg6IGNocm9taXVtLTEzMy4w LjY5NDMuMzUvdGhpcmRfcGFydHkvYm9yaW5nc3NsL3NyYy9jcnlwdG8vZmlwc21vZHVsZS9tb2Rl cy8KICt9CiArCiArY2xvc2UgU1RET1VUIG9yIGRpZSAiZXJyb3IgY2xvc2luZyBTVERPVVQ6ICQh IjsgIyBlbmZvcmNlIGZsdXNoCi1JbmRleDogY2hyb21pdW0tMTMzLjAuNjk0My4zNS90aGlyZF9w YXJ0eS9ib3Jpbmdzc2wvc3JjL2NyeXB0by9maXBzbW9kdWxlL21vZGVzL2djbS5jYy5pbmMKK0lu ZGV4OiBjaHJvbWl1bS0xMzQuMC42OTk4LjM1L3RoaXJkX3BhcnR5L2JvcmluZ3NzbC9zcmMvY3J5 cHRvL2ZpcHNtb2R1bGUvYWVzL2djbS5jYy5pbmMKID09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBjaHJvbWl1bS0x MzMuMC42OTQzLjM1Lm9yaWcvdGhpcmRfcGFydHkvYm9yaW5nc3NsL3NyYy9jcnlwdG8vZmlwc21v ZHVsZS9tb2Rlcy9nY20uY2MuaW5jCi0rKysgY2hyb21pdW0tMTMzLjAuNjk0My4zNS90aGlyZF9w YXJ0eS9ib3Jpbmdzc2wvc3JjL2NyeXB0by9maXBzbW9kdWxlL21vZGVzL2djbS5jYy5pbmMKLUBA IC0yMjgsNiArMjI4LDEzIEBAIHZvaWQgQ1JZUFRPX2doYXNoX2luaXQoZ211bHRfZnVuYyAqb3V0 X20KKy0tLSBjaHJvbWl1bS0xMzQuMC42OTk4LjM1Lm9yaWcvdGhpcmRfcGFydHkvYm9yaW5nc3Ns L3NyYy9jcnlwdG8vZmlwc21vZHVsZS9hZXMvZ2NtLmNjLmluYworKysrIGNocm9taXVtLTEzNC4w LjY5OTguMzUvdGhpcmRfcGFydHkvYm9yaW5nc3NsL3NyYy9jcnlwdG8vZmlwc21vZHVsZS9hZXMv Z2NtLmNjLmluYworQEAgLTIzMyw2ICsyMzMsMTMgQEAgdm9pZCBDUllQVE9fZ2hhc2hfaW5pdChn bXVsdF9mdW5jICpvdXRfbQogICAgICAqb3V0X2hhc2ggPSBnY21fZ2hhc2hfbmVvbjsKICAgICAg cmV0dXJuOwogICAgfQpAQCAtNDkyOCwxMCArNDk0MiwxMCBAQCBJbmRleDogY2hyb21pdW0tMTMz LjAuNjk0My4zNS90aGlyZF9wYXJ0eS9ib3Jpbmdzc2wvc3JjL2NyeXB0by9maXBzbW9kdWxlL21v ZGVzLwogICNlbmRpZgogIAogICAgZ2NtX2luaXRfbm9odyhvdXRfdGFibGUsIEgpOwotSW5kZXg6 IGNocm9taXVtLTEzMy4wLjY5NDMuMzUvdGhpcmRfcGFydHkvYm9yaW5nc3NsL3NyYy9jcnlwdG8v Zmlwc21vZHVsZS9tb2Rlcy9nY21fdGVzdC5jYworSW5kZXg6IGNocm9taXVtLTEzNC4wLjY5OTgu MzUvdGhpcmRfcGFydHkvYm9yaW5nc3NsL3NyYy9jcnlwdG8vZmlwc21vZHVsZS9hZXMvZ2NtX3Rl c3QuY2MKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KLS0tLSBjaHJvbWl1bS0xMzMuMC42OTQzLjM1Lm9yaWcvdGhpcmRf cGFydHkvYm9yaW5nc3NsL3NyYy9jcnlwdG8vZmlwc21vZHVsZS9tb2Rlcy9nY21fdGVzdC5jYwot KysrIGNocm9taXVtLTEzMy4wLjY5NDMuMzUvdGhpcmRfcGFydHkvYm9yaW5nc3NsL3NyYy9jcnlw dG8vZmlwc21vZHVsZS9tb2Rlcy9nY21fdGVzdC5jYworLS0tIGNocm9taXVtLTEzNC4wLjY5OTgu MzUub3JpZy90aGlyZF9wYXJ0eS9ib3Jpbmdzc2wvc3JjL2NyeXB0by9maXBzbW9kdWxlL2Flcy9n Y21fdGVzdC5jYworKysrIGNocm9taXVtLTEzNC4wLjY5OTguMzUvdGhpcmRfcGFydHkvYm9yaW5n c3NsL3NyYy9jcnlwdG8vZmlwc21vZHVsZS9hZXMvZ2NtX3Rlc3QuY2MKIEBAIC0xNzAsNSArMTcw LDE1IEBAIFRFU1QoR0NNVGVzdCwgQUJJKSB7CiAgICAgIH0KICAgIH0KQEAgLTQ5NDgsMjggKzQ5 NjIsMTAgQEAgSW5kZXg6IGNocm9taXVtLTEzMy4wLjY5NDMuMzUvdGhpcmRfcGFydHkvYm9yaW5n c3NsL3NyYy9jcnlwdG8vZmlwc21vZHVsZS9tb2Rlcy8KICsjZW5kaWYgIC8vIEdIQVNIX0FTTV9Q UEM2NExFCiAgfQogICNlbmRpZiAgLy8gU1VQUE9SVFNfQUJJX1RFU1QgJiYgIU9QRU5TU0xfTk9f QVNNCi1JbmRleDogY2hyb21pdW0tMTMzLjAuNjk0My4zNS90aGlyZF9wYXJ0eS9ib3Jpbmdzc2wv c3JjL2NyeXB0by9maXBzbW9kdWxlL21vZGVzL2ludGVybmFsLmgKLT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBj aHJvbWl1bS0xMzMuMC42OTQzLjM1Lm9yaWcvdGhpcmRfcGFydHkvYm9yaW5nc3NsL3NyYy9jcnlw dG8vZmlwc21vZHVsZS9tb2Rlcy9pbnRlcm5hbC5oCi0rKysgY2hyb21pdW0tMTMzLjAuNjk0My4z NS90aGlyZF9wYXJ0eS9ib3Jpbmdzc2wvc3JjL2NyeXB0by9maXBzbW9kdWxlL21vZGVzL2ludGVy bmFsLmgKLUBAIC0yNjAsNiArMjYwLDEzIEBAIHZvaWQgYWVzX2djbV9kZWNfa2VybmVsKGNvbnN0 IHVpbnQ4X3QgKmkKLSAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1MTI4IEh0YWJsZVsx Nl0pOwotICNlbmRpZgotIAotKyNlbGlmIGRlZmluZWQoT1BFTlNTTF9QUEM2NExFKQotKyNkZWZp bmUgR0hBU0hfQVNNX1BQQzY0TEUKLSsjZGVmaW5lIEdDTV9GVU5DUkVGCi0rdm9pZCBnY21faW5p dF9wOCh1MTI4IEh0YWJsZVsxNl0sIGNvbnN0IHVpbnQ2NF90IFhpWzJdKTsKLSt2b2lkIGdjbV9n bXVsdF9wOCh1aW50OF90IFhpWzE2XSwgY29uc3QgdTEyOCBIdGFibGVbMTZdKTsKLSt2b2lkIGdj bV9naGFzaF9wOCh1aW50OF90IFhpWzE2XSwgY29uc3QgdTEyOCBIdGFibGVbMTZdLCBjb25zdCB1 aW50OF90ICppbnAsCi0rICAgICAgICAgICAgICAgICAgc2l6ZV90IGxlbik7Ci0gI2VuZGlmCi0g I2VuZGlmICAvLyBPUEVOU1NMX05PX0FTTQotIAotSW5kZXg6IGNocm9taXVtLTEzMy4wLjY5NDMu MzUvdGhpcmRfcGFydHkvYm9yaW5nc3NsL3NyYy9jcnlwdG8vcmFuZF9leHRyYS9nZXRyYW5kb21f ZmlsbGluLmgKK0luZGV4OiBjaHJvbWl1bS0xMzQuMC42OTk4LjM1L3RoaXJkX3BhcnR5L2Jvcmlu Z3NzbC9zcmMvY3J5cHRvL3JhbmQvZ2V0cmFuZG9tX2ZpbGxpbi5oCiA9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0g Y2hyb21pdW0tMTMzLjAuNjk0My4zNS5vcmlnL3RoaXJkX3BhcnR5L2JvcmluZ3NzbC9zcmMvY3J5 cHRvL3JhbmRfZXh0cmEvZ2V0cmFuZG9tX2ZpbGxpbi5oCi0rKysgY2hyb21pdW0tMTMzLjAuNjk0 My4zNS90aGlyZF9wYXJ0eS9ib3Jpbmdzc2wvc3JjL2NyeXB0by9yYW5kX2V4dHJhL2dldHJhbmRv bV9maWxsaW4uaAorLS0tIGNocm9taXVtLTEzNC4wLjY5OTguMzUub3JpZy90aGlyZF9wYXJ0eS9i b3Jpbmdzc2wvc3JjL2NyeXB0by9yYW5kL2dldHJhbmRvbV9maWxsaW4uaAorKysrIGNocm9taXVt LTEzNC4wLjY5OTguMzUvdGhpcmRfcGFydHkvYm9yaW5nc3NsL3NyYy9jcnlwdG8vcmFuZC9nZXRy YW5kb21fZmlsbGluLmgKIEBAIC0zMCw2ICszMCw4IEBACiAgI2RlZmluZSBFWFBFQ1RFRF9OUl9n ZXRyYW5kb20gMjc4CiAgI2VsaWYgZGVmaW5lZChPUEVOU1NMX0FSTSkKQEAgLTQ5NzksMTAgKzQ5 NzUsMTAgQEAgSW5kZXg6IGNocm9taXVtLTEzMy4wLjY5NDMuMzUvdGhpcmRfcGFydHkvYm9yaW5n c3NsL3NyYy9jcnlwdG8vcmFuZF9leHRyYS9nZXRyYW4KICAjZWxpZiBkZWZpbmVkKE9QRU5TU0xf UklTQ1Y2NCkKICAjZGVmaW5lIEVYUEVDVEVEX05SX2dldHJhbmRvbSAyNzgKICAjZW5kaWYKLUlu ZGV4OiBjaHJvbWl1bS0xMzMuMC42OTQzLjM1L3RoaXJkX3BhcnR5L2JvcmluZ3NzbC9zcmMvY3J5 cHRvL2ZpcHNtb2R1bGUvcmFuZC9yYW5kLmNjLmluYworSW5kZXg6IGNocm9taXVtLTEzNC4wLjY5 OTguMzUvdGhpcmRfcGFydHkvYm9yaW5nc3NsL3NyYy9jcnlwdG8vZmlwc21vZHVsZS9yYW5kL3Jh bmQuY2MuaW5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gY2hyb21pdW0tMTMzLjAuNjk0My4zNS5vcmlnL3Ro aXJkX3BhcnR5L2JvcmluZ3NzbC9zcmMvY3J5cHRvL2ZpcHNtb2R1bGUvcmFuZC9yYW5kLmNjLmlu YwotKysrIGNocm9taXVtLTEzMy4wLjY5NDMuMzUvdGhpcmRfcGFydHkvYm9yaW5nc3NsL3NyYy9j cnlwdG8vZmlwc21vZHVsZS9yYW5kL3JhbmQuY2MuaW5jCistLS0gY2hyb21pdW0tMTM0LjAuNjk5 OC4zNS5vcmlnL3RoaXJkX3BhcnR5L2JvcmluZ3NzbC9zcmMvY3J5cHRvL2ZpcHNtb2R1bGUvcmFu ZC9yYW5kLmNjLmluYworKysrIGNocm9taXVtLTEzNC4wLjY5OTguMzUvdGhpcmRfcGFydHkvYm9y aW5nc3NsL3NyYy9jcnlwdG8vZmlwc21vZHVsZS9yYW5kL3JhbmQuY2MuaW5jCiBAQCAtNDMxLDYg KzQzMSwxMSBAQCBiY21faW5mYWxsaWJsZSBCQ01fcmFuZF9ieXRlc193aXRoX2FkZGl0CiAgICAg IC8vIFRha2UgYSByZWFkIGxvY2sgYXJvdW5kIGFjY2Vzc2VzIHRvIHxzdGF0ZS0+ZHJiZ3wuIFRo aXMgaXMgbmVlZGVkIHRvCiAgICAgIC8vIGF2b2lkIHJldHVybmluZyBiYWQgZW50cm9weSBpZiB3 ZSByYWNlIHdpdGgKQEAgLTQ5OTUsMTAgKzQ5OTEsMTAgQEAgSW5kZXg6IGNocm9taXVtLTEzMy4w LjY5NDMuMzUvdGhpcmRfcGFydHkvYm9yaW5nc3NsL3NyYy9jcnlwdG8vZmlwc21vZHVsZS9yYW5k L3IKICAgICAgQ1JZUFRPX01VVEVYX2xvY2tfcmVhZCgmc3RhdGUtPmNsZWFyX2RyYmdfbG9jayk7 CiAgI2VuZGlmCiAgICAgIGlmICghQ1RSX0RSQkdfcmVzZWVkKCZzdGF0ZS0+ZHJiZywgc2VlZCwg cmVzZWVkX2FkZGl0aW9uYWxfZGF0YSwKLUluZGV4OiBjaHJvbWl1bS0xMzMuMC42OTQzLjM1L3Ro aXJkX3BhcnR5L2JvcmluZ3NzbC9zcmMvY3J5cHRvL2ZpcHNtb2R1bGUvc2hhL2ludGVybmFsLmgK K0luZGV4OiBjaHJvbWl1bS0xMzQuMC42OTk4LjM1L3RoaXJkX3BhcnR5L2JvcmluZ3NzbC9zcmMv Y3J5cHRvL2ZpcHNtb2R1bGUvc2hhL2ludGVybmFsLmgKID09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBjaHJvbWl1 bS0xMzMuMC42OTQzLjM1Lm9yaWcvdGhpcmRfcGFydHkvYm9yaW5nc3NsL3NyYy9jcnlwdG8vZmlw c21vZHVsZS9zaGEvaW50ZXJuYWwuaAotKysrIGNocm9taXVtLTEzMy4wLjY5NDMuMzUvdGhpcmRf cGFydHkvYm9yaW5nc3NsL3NyYy9jcnlwdG8vZmlwc21vZHVsZS9zaGEvaW50ZXJuYWwuaAorLS0t IGNocm9taXVtLTEzNC4wLjY5OTguMzUub3JpZy90aGlyZF9wYXJ0eS9ib3Jpbmdzc2wvc3JjL2Ny eXB0by9maXBzbW9kdWxlL3NoYS9pbnRlcm5hbC5oCisrKysgY2hyb21pdW0tMTM0LjAuNjk5OC4z NS90aGlyZF9wYXJ0eS9ib3Jpbmdzc2wvc3JjL2NyeXB0by9maXBzbW9kdWxlL3NoYS9pbnRlcm5h bC5oCiBAQCAtMjMsNiArMjMsMTYgQEAKICBleHRlcm4gIkMiIHsKICAjZW5kaWYKQEAgLTUwMTYs MTAgKzUwMTIsMTAgQEAgSW5kZXg6IGNocm9taXVtLTEzMy4wLjY5NDMuMzUvdGhpcmRfcGFydHkv Ym9yaW5nc3NsL3NyYy9jcnlwdG8vZmlwc21vZHVsZS9zaGEvaW4KICAvLyBEZWZpbmUgU0hBe259 W197dmFyaWFudH1dX0FTTSBpZiBzaGF7bn1fYmxvY2tfZGF0YV9vcmRlcltfe3ZhcmlhbnR9XSBp cwogIC8vIGRlZmluZWQgaW4gYXNzZW1ibHkuCiAgCi1JbmRleDogY2hyb21pdW0tMTMzLjAuNjk0 My4zNS90aGlyZF9wYXJ0eS9ib3Jpbmdzc2wvc3JjL2NyeXB0by9maXBzbW9kdWxlL3NoYS9zaGEx LWFsdGl2ZWMuY2MuaW5jCitJbmRleDogY2hyb21pdW0tMTM0LjAuNjk5OC4zNS90aGlyZF9wYXJ0 eS9ib3Jpbmdzc2wvc3JjL2NyeXB0by9maXBzbW9kdWxlL3NoYS9zaGExLWFsdGl2ZWMuY2MuaW5j CiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxsCi0rKysgY2hyb21pdW0tMTMzLjAuNjk0My4zNS90 aGlyZF9wYXJ0eS9ib3Jpbmdzc2wvc3JjL2NyeXB0by9maXBzbW9kdWxlL3NoYS9zaGExLWFsdGl2 ZWMuY2MuaW5jCisrKysgY2hyb21pdW0tMTM0LjAuNjk5OC4zNS90aGlyZF9wYXJ0eS9ib3Jpbmdz c2wvc3JjL2NyeXB0by9maXBzbW9kdWxlL3NoYS9zaGExLWFsdGl2ZWMuY2MuaW5jCiBAQCAtMCww ICsxLDM2OSBAQAogKy8qIENvcHlyaWdodCAoQykgMTk5NS0xOTk4IEVyaWMgWW91bmcgKGVheUBj cnlwdHNvZnQuY2NvbSkKICsgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgpAQCAtNTM5MCwxMSArNTM4 NiwxMSBAQCBJbmRleDogY2hyb21pdW0tMTMzLjAuNjk0My4zNS90aGlyZF9wYXJ0eS9ib3Jpbmdz c2wvc3JjL2NyeXB0by9maXBzbW9kdWxlL3NoYS9zaAogKyN1bmRlZiBCT0RZXzIwXzM5CiArI3Vu ZGVmIEJPRFlfNDBfNTkKICsjdW5kZWYgQk9EWV82MF83OQotSW5kZXg6IGNocm9taXVtLTEzMy4w LjY5NDMuMzUvdGhpcmRfcGFydHkvYm9yaW5nc3NsL3NyYy9jcnlwdG8vaW50ZXJuYWwuaAorSW5k ZXg6IGNocm9taXVtLTEzNC4wLjY5OTguMzUvdGhpcmRfcGFydHkvYm9yaW5nc3NsL3NyYy9jcnlw dG8vaW50ZXJuYWwuaAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGNocm9taXVtLTEzMy4wLjY5NDMuMzUub3Jp Zy90aGlyZF9wYXJ0eS9ib3Jpbmdzc2wvc3JjL2NyeXB0by9pbnRlcm5hbC5oCi0rKysgY2hyb21p dW0tMTMzLjAuNjk0My4zNS90aGlyZF9wYXJ0eS9ib3Jpbmdzc2wvc3JjL2NyeXB0by9pbnRlcm5h bC5oCi1AQCAtNTYsOCArNTYsOSBAQCBleHRlcm4gIkMiIHsKKy0tLSBjaHJvbWl1bS0xMzQuMC42 OTk4LjM1Lm9yaWcvdGhpcmRfcGFydHkvYm9yaW5nc3NsL3NyYy9jcnlwdG8vaW50ZXJuYWwuaAor KysrIGNocm9taXVtLTEzNC4wLjY5OTguMzUvdGhpcmRfcGFydHkvYm9yaW5nc3NsL3NyYy9jcnlw dG8vaW50ZXJuYWwuaAorQEAgLTYxLDggKzYxLDkgQEAgZXh0ZXJuICJDIiB7CiAgI2lmICFkZWZp bmVkKE9QRU5TU0xfTk9fQVNNKSAmJiAhZGVmaW5lZChPUEVOU1NMX1NUQVRJQ19BUk1DQVApICYm IFwKICAgICAgKGRlZmluZWQoT1BFTlNTTF9YODYpIHx8IGRlZmluZWQoT1BFTlNTTF9YODZfNjQp IHx8ICAgICAgICAgICAgXAogICAgICAgZGVmaW5lZChPUEVOU1NMX0FSTSkgfHwgZGVmaW5lZChP UEVOU1NMX0FBUkNINjQpKQpAQCAtNTQwNiw3ICs1NDAyLDcgQEAgSW5kZXg6IGNocm9taXVtLTEz My4wLjY5NDMuMzUvdGhpcmRfcGFydHkvYm9yaW5nc3NsL3NyYy9jcnlwdG8vaW50ZXJuYWwuaAog ICNkZWZpbmUgTkVFRF9DUFVJRAogIAogIC8vIE9QRU5TU0xfY3B1aWRfc2V0dXAgaW5pdGlhbGl6 ZXMgdGhlIHBsYXRmb3JtLXNwZWNpZmljIGZlYXR1cmUgY2FjaGUuIFRoaXMKLUBAIC0xMzk3LDYg KzEzOTgsMTYgQEAgaW5saW5lIGludCBDUllQVE9faXNfQVJNdjhfU0hBNTEyX2NhcGFibAorQEAg LTE0MDIsNiArMTQwMywxNiBAQCBpbmxpbmUgaW50IENSWVBUT19pc19BUk12OF9TSEE1MTJfY2Fw YWJsCiAgCiAgI2VuZGlmICAvLyBPUEVOU1NMX0FSTSB8fCBPUEVOU1NMX0FBUkNINjQKICAKQEAg LTU0MjMsMTAgKzU0MTksMTAgQEAgSW5kZXg6IGNocm9taXVtLTEzMy4wLjY5NDMuMzUvdGhpcmRf cGFydHkvYm9yaW5nc3NsL3NyYy9jcnlwdG8vaW50ZXJuYWwuaAogICNpZiBkZWZpbmVkKEJPUklO R1NTTF9ESVNQQVRDSF9URVNUKQogIC8vIFJ1bnRpbWUgQ1BVIGRpc3BhdGNoIHRlc3Rpbmcgc3Vw cG9ydAogIAotSW5kZXg6IGNocm9taXVtLTEzMy4wLjY5NDMuMzUvdGhpcmRfcGFydHkvYm9yaW5n c3NsL3NyYy9jcnlwdG8vcGVybGFzbS9wcGMteGxhdGUucGwKK0luZGV4OiBjaHJvbWl1bS0xMzQu MC42OTk4LjM1L3RoaXJkX3BhcnR5L2JvcmluZ3NzbC9zcmMvY3J5cHRvL3Blcmxhc20vcHBjLXhs YXRlLnBsCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxsCi0rKysgY2hyb21pdW0tMTMzLjAuNjk0 My4zNS90aGlyZF9wYXJ0eS9ib3Jpbmdzc2wvc3JjL2NyeXB0by9wZXJsYXNtL3BwYy14bGF0ZS5w bAorKysrIGNocm9taXVtLTEzNC4wLjY5OTguMzUvdGhpcmRfcGFydHkvYm9yaW5nc3NsL3NyYy9j cnlwdG8vcGVybGFzbS9wcGMteGxhdGUucGwKIEBAIC0wLDAgKzEsMzIwIEBACiArIyEgL3Vzci9i aW4vZW52IHBlcmwKICsjIENvcHlyaWdodCAyMDA2LTIwMTYgVGhlIE9wZW5TU0wgUHJvamVjdCBB dXRob3JzLiBBbGwgUmlnaHRzIFJlc2VydmVkLgpAQCAtNTc0OCwxMCArNTc0NCwxMCBAQCBJbmRl eDogY2hyb21pdW0tMTMzLjAuNjk0My4zNS90aGlyZF9wYXJ0eS9ib3Jpbmdzc2wvc3JjL2NyeXB0 by9wZXJsYXNtL3BwYy14bGF0ZQogK19fXwogKwogK2Nsb3NlIFNURE9VVCBvciBkaWUgImVycm9y IGNsb3NpbmcgU1RET1VUOiAkISI7Ci1JbmRleDogY2hyb21pdW0tMTMzLjAuNjk0My4zNS90aGly ZF9wYXJ0eS9ib3Jpbmdzc2wvc3JjL2NyeXB0by90ZXN0L2FiaV90ZXN0LmgKK0luZGV4OiBjaHJv bWl1bS0xMzQuMC42OTk4LjM1L3RoaXJkX3BhcnR5L2JvcmluZ3NzbC9zcmMvY3J5cHRvL3Rlc3Qv YWJpX3Rlc3QuaAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGNocm9taXVtLTEzMy4wLjY5NDMuMzUub3JpZy90 aGlyZF9wYXJ0eS9ib3Jpbmdzc2wvc3JjL2NyeXB0by90ZXN0L2FiaV90ZXN0LmgKLSsrKyBjaHJv bWl1bS0xMzMuMC42OTQzLjM1L3RoaXJkX3BhcnR5L2JvcmluZ3NzbC9zcmMvY3J5cHRvL3Rlc3Qv YWJpX3Rlc3QuaAorLS0tIGNocm9taXVtLTEzNC4wLjY5OTguMzUub3JpZy90aGlyZF9wYXJ0eS9i b3Jpbmdzc2wvc3JjL2NyeXB0by90ZXN0L2FiaV90ZXN0LmgKKysrKyBjaHJvbWl1bS0xMzQuMC42 OTk4LjM1L3RoaXJkX3BhcnR5L2JvcmluZ3NzbC9zcmMvY3J5cHRvL3Rlc3QvYWJpX3Rlc3QuaAog QEAgLTE3OSw3ICsxNzksNzggQEAgc3RydWN0IGFsaWduYXMoMTYpIFJlZzEyOCB7CiAgICBDQUxM RVJfU1RBVEVfUkVHSVNURVIodWludDY0X3QsIHgyOCkgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXAogICAgQ0FMTEVSX1NUQVRFX1JFR0lTVEVSKHVpbnQ2NF90LCB4MjkpCkBAIC01ODU4 LDEwICs1ODU0LDEwIEBAIEluZGV4OiBjaHJvbWl1bS0xMzMuMC42OTQzLjM1L3RoaXJkX3BhcnR5 L2JvcmluZ3NzbC9zcmMvY3J5cHRvL3Rlc3QvYWJpX3Rlc3QuaAogICAgc3RhdGljX2Fzc2VydChz aXplb2YuLi4oYXJncykgPD0gOCwKICAgICAgICAgICAgICAgICAgInRvbyBtYW55IGFyZ3VtZW50 cyBmb3IgYWJpX3Rlc3RfdHJhbXBvbGluZSIpOwogIAotSW5kZXg6IGNocm9taXVtLTEzMy4wLjY5 NDMuMzUvdGhpcmRfcGFydHkvYm9yaW5nc3NsL3NyYy9jcnlwdG8vdGVzdC9hc20vdHJhbXBvbGlu ZS1wcGMucGwKK0luZGV4OiBjaHJvbWl1bS0xMzQuMC42OTk4LjM1L3RoaXJkX3BhcnR5L2Jvcmlu Z3NzbC9zcmMvY3J5cHRvL3Rlc3QvYXNtL3RyYW1wb2xpbmUtcHBjLnBsCiA9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAt LS0gL2Rldi9udWxsCi0rKysgY2hyb21pdW0tMTMzLjAuNjk0My4zNS90aGlyZF9wYXJ0eS9ib3Jp bmdzc2wvc3JjL2NyeXB0by90ZXN0L2FzbS90cmFtcG9saW5lLXBwYy5wbAorKysrIGNocm9taXVt LTEzNC4wLjY5OTguMzUvdGhpcmRfcGFydHkvYm9yaW5nc3NsL3NyYy9jcnlwdG8vdGVzdC9hc20v dHJhbXBvbGluZS1wcGMucGwKIEBAIC0wLDAgKzEsMjYyIEBACiArIyEvdXNyL2Jpbi9lbnYgcGVy bAogKyMgQ29weXJpZ2h0IChjKSAyMDE5LCBHb29nbGUgSW5jLgpAQCAtNjEyNSwxMCArNjEyMSwx MCBAQCBJbmRleDogY2hyb21pdW0tMTMzLjAuNjk0My4zNS90aGlyZF9wYXJ0eS9ib3Jpbmdzc2wv c3JjL2NyeXB0by90ZXN0L2FzbS90cmFtcG9saQogKwogK3ByaW50ICRjb2RlOwogK2Nsb3NlIFNU RE9VVCBvciBkaWUgImVycm9yIGNsb3NpbmcgU1RET1VUOiAkISI7Ci1JbmRleDogY2hyb21pdW0t MTMzLjAuNjk0My4zNS90aGlyZF9wYXJ0eS9ib3Jpbmdzc2wvc3JjL2luY2x1ZGUvb3BlbnNzbC90 YXJnZXQuaAorSW5kZXg6IGNocm9taXVtLTEzNC4wLjY5OTguMzUvdGhpcmRfcGFydHkvYm9yaW5n c3NsL3NyYy9pbmNsdWRlL29wZW5zc2wvdGFyZ2V0LmgKID09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBjaHJvbWl1 bS0xMzMuMC42OTQzLjM1Lm9yaWcvdGhpcmRfcGFydHkvYm9yaW5nc3NsL3NyYy9pbmNsdWRlL29w ZW5zc2wvdGFyZ2V0LmgKLSsrKyBjaHJvbWl1bS0xMzMuMC42OTQzLjM1L3RoaXJkX3BhcnR5L2Jv cmluZ3NzbC9zcmMvaW5jbHVkZS9vcGVuc3NsL3RhcmdldC5oCistLS0gY2hyb21pdW0tMTM0LjAu Njk5OC4zNS5vcmlnL3RoaXJkX3BhcnR5L2JvcmluZ3NzbC9zcmMvaW5jbHVkZS9vcGVuc3NsL3Rh cmdldC5oCisrKysgY2hyb21pdW0tMTM0LjAuNjk5OC4zNS90aGlyZF9wYXJ0eS9ib3Jpbmdzc2wv c3JjL2luY2x1ZGUvb3BlbnNzbC90YXJnZXQuaAogQEAgLTM0LDYgKzM0LDkgQEAKICAjZWxpZiBk ZWZpbmVkKF9fQVJNRUxfXykgfHwgZGVmaW5lZChfTV9BUk0pCiAgI2RlZmluZSBPUEVOU1NMXzMy X0JJVApAQCAtNjEzOSwxMSArNjEzNSwxMSBAQCBJbmRleDogY2hyb21pdW0tMTMzLjAuNjk0My4z NS90aGlyZF9wYXJ0eS9ib3Jpbmdzc2wvc3JjL2luY2x1ZGUvb3BlbnNzbC90YXJnZXQuaAogICNl bGlmIGRlZmluZWQoX19NSVBTRUxfXykgJiYgIWRlZmluZWQoX19MUDY0X18pCiAgI2RlZmluZSBP UEVOU1NMXzMyX0JJVAogICNkZWZpbmUgT1BFTlNTTF9NSVBTCi1JbmRleDogY2hyb21pdW0tMTMz LjAuNjk0My4zNS90aGlyZF9wYXJ0eS9ib3Jpbmdzc2wvc3JjL3V0aWwvZmlwc3Rvb2xzL2FjdnAv bW9kdWxld3JhcHBlci9tYWluLmNjCitJbmRleDogY2hyb21pdW0tMTM0LjAuNjk5OC4zNS90aGly ZF9wYXJ0eS9ib3Jpbmdzc2wvc3JjL3V0aWwvZmlwc3Rvb2xzL2FjdnAvbW9kdWxld3JhcHBlci9t YWluLmNjCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09Ci0tLS0gY2hyb21pdW0tMTMzLjAuNjk0My4zNS5vcmlnL3RoaXJk X3BhcnR5L2JvcmluZ3NzbC9zcmMvdXRpbC9maXBzdG9vbHMvYWN2cC9tb2R1bGV3cmFwcGVyL21h aW4uY2MKLSsrKyBjaHJvbWl1bS0xMzMuMC42OTQzLjM1L3RoaXJkX3BhcnR5L2JvcmluZ3NzbC9z cmMvdXRpbC9maXBzdG9vbHMvYWN2cC9tb2R1bGV3cmFwcGVyL21haW4uY2MKLUBAIC0zOCw2ICsz OCw4IEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikgeworLS0tIGNocm9taXVtLTEz NC4wLjY5OTguMzUub3JpZy90aGlyZF9wYXJ0eS9ib3Jpbmdzc2wvc3JjL3V0aWwvZmlwc3Rvb2xz L2FjdnAvbW9kdWxld3JhcHBlci9tYWluLmNjCisrKysgY2hyb21pdW0tMTM0LjAuNjk5OC4zNS90 aGlyZF9wYXJ0eS9ib3Jpbmdzc2wvc3JjL3V0aWwvZmlwc3Rvb2xzL2FjdnAvbW9kdWxld3JhcHBl ci9tYWluLmNjCitAQCAtMzUsNiArMzUsOCBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFy Z3YpIHsKICAgICAgcHV0cygiQVJNICgzMi1iaXQpIik7CiAgI2VsaWYgZGVmaW5lZChPUEVOU1NM X0FBUkNINjQpCiAgICAgIHB1dHMoImFhcmNoNjQgKDY0LWJpdCkiKTsKQEAgLTYxNTIsMTAgKzYx NDgsMTAgQEAgSW5kZXg6IGNocm9taXVtLTEzMy4wLjY5NDMuMzUvdGhpcmRfcGFydHkvYm9yaW5n c3NsL3NyYy91dGlsL2ZpcHN0b29scy9hY3ZwL21vZHUKICAjZWxzZQogICNlcnJvciAiRklQUyBi dWlsZCBub3Qgc3VwcG9ydGVkIG9uIHRoaXMgYXJjaGl0ZWN0dXJlIgogICNlbmRpZgotSW5kZXg6 IGNocm9taXVtLTEzMy4wLjY5NDMuMzUvdGhpcmRfcGFydHkvYm9yaW5nc3NsL3NyYy91dGlsL2Zp cHN0b29scy9kZWxvY2F0ZS9kZWxvY2F0ZS5nbworSW5kZXg6IGNocm9taXVtLTEzNC4wLjY5OTgu MzUvdGhpcmRfcGFydHkvYm9yaW5nc3NsL3NyYy91dGlsL2ZpcHN0b29scy9kZWxvY2F0ZS9kZWxv Y2F0ZS5nbwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQotLS0tIGNocm9taXVtLTEzMy4wLjY5NDMuMzUub3JpZy90aGly ZF9wYXJ0eS9ib3Jpbmdzc2wvc3JjL3V0aWwvZmlwc3Rvb2xzL2RlbG9jYXRlL2RlbG9jYXRlLmdv Ci0rKysgY2hyb21pdW0tMTMzLjAuNjk0My4zNS90aGlyZF9wYXJ0eS9ib3Jpbmdzc2wvc3JjL3V0 aWwvZmlwc3Rvb2xzL2RlbG9jYXRlL2RlbG9jYXRlLmdvCistLS0gY2hyb21pdW0tMTM0LjAuNjk5 OC4zNS5vcmlnL3RoaXJkX3BhcnR5L2JvcmluZ3NzbC9zcmMvdXRpbC9maXBzdG9vbHMvZGVsb2Nh dGUvZGVsb2NhdGUuZ28KKysrKyBjaHJvbWl1bS0xMzQuMC42OTk4LjM1L3RoaXJkX3BhcnR5L2Jv cmluZ3NzbC9zcmMvdXRpbC9maXBzdG9vbHMvZGVsb2NhdGUvZGVsb2NhdGUuZ28KIEBAIC01NCw3 ICs1NCw4IEBAIHR5cGUgc3RyaW5nV3JpdGVyIGludGVyZmFjZSB7CiAgdHlwZSBwcm9jZXNzb3JU eXBlIGludAogIApAQCAtNjc1NSwxMyArNjc1MSwxMyBAQCBJbmRleDogY2hyb21pdW0tMTMzLjAu Njk0My4zNS90aGlyZF9wYXJ0eS9ib3Jpbmdzc2wvc3JjL3V0aWwvZmlwc3Rvb2xzL2RlbG9jYXRl LwogIAkJY2FzZSAic3RyIiwgImJsIiwgImxkciIsICJzdDEiOgogIAkJCXJldHVybiBhYXJjaDY0 CiAgCQl9Ci1JbmRleDogY2hyb21pdW0tMTMzLjAuNjk0My4zNS90aGlyZF9wYXJ0eS9ib3Jpbmdz c2wvc3JjL3V0aWwvZmlwc3Rvb2xzL2RlbG9jYXRlL2RlbG9jYXRlLnBlZworSW5kZXg6IGNocm9t aXVtLTEzNC4wLjY5OTguMzUvdGhpcmRfcGFydHkvYm9yaW5nc3NsL3NyYy91dGlsL2ZpcHN0b29s cy9kZWxvY2F0ZS9kZWxvY2F0ZS5wZWcKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBjaHJvbWl1bS0xMzMuMC42 OTQzLjM1Lm9yaWcvdGhpcmRfcGFydHkvYm9yaW5nc3NsL3NyYy91dGlsL2ZpcHN0b29scy9kZWxv Y2F0ZS9kZWxvY2F0ZS5wZWcKLSsrKyBjaHJvbWl1bS0xMzMuMC42OTQzLjM1L3RoaXJkX3BhcnR5 L2JvcmluZ3NzbC9zcmMvdXRpbC9maXBzdG9vbHMvZGVsb2NhdGUvZGVsb2NhdGUucGVnCistLS0g Y2hyb21pdW0tMTM0LjAuNjk5OC4zNS5vcmlnL3RoaXJkX3BhcnR5L2JvcmluZ3NzbC9zcmMvdXRp bC9maXBzdG9vbHMvZGVsb2NhdGUvZGVsb2NhdGUucGVnCisrKysgY2hyb21pdW0tMTM0LjAuNjk5 OC4zNS90aGlyZF9wYXJ0eS9ib3Jpbmdzc2wvc3JjL3V0aWwvZmlwc3Rvb2xzL2RlbG9jYXRlL2Rl bG9jYXRlLnBlZwogQEAgLTEyLDkgKzEyLDkgQEAKLSAjIE9GIENPTlRSQUNULCBORUdMSUdFTkNF IE9SIE9USEVSIFRPUlRJT1VTIEFDVElPTiwgQVJJU0lORyBPVVQgT0YgT1IgSU4KLSAjIENPTk5F Q1RJT04gV0lUSCBUSEUgVVNFIE9SIFBFUkZPUk1BTkNFIE9GIFRISVMgU09GVFdBUkUuICovCisg IyBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVy bWlzc2lvbnMgYW5kCisgIyBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KICAKIC0jIFRo aXMgaXMgYSByb3VnaCBwYXJzZXIgZm9yIHg4Ni02NCBhbmQgYWFyY2g2NCBhc3NlbWJseSBkZXNp Z25lZCB0byB3b3JrIHdpdGgKIC0jIGh0dHBzOi8vZ2l0aHViLmNvbS9wb2ludGxhbmRlci9wZWcu IGRlbG9jYXRlLmdvIGhhcyBhIGdvOmdlbmVyYXRlIGxpbmUgZm9yCkBAIC02NzcyLDEwICs2NzY4 LDEwIEBAIEluZGV4OiBjaHJvbWl1bS0xMzMuMC42OTQzLjM1L3RoaXJkX3BhcnR5L2JvcmluZ3Nz bC9zcmMvdXRpbC9maXBzdG9vbHMvZGVsb2NhdGUvCiAgCiAgIyBUbyByZWdlbmVyYXRlIGRlbG9j YXRlLnBlZy5nbzoKICAjCi1JbmRleDogY2hyb21pdW0tMTMzLjAuNjk0My4zNS90aGlyZF9wYXJ0 eS9ib3Jpbmdzc2wvc3JjL3V0aWwvZmlwc3Rvb2xzL2RlbG9jYXRlL2RlbG9jYXRlX3Rlc3QuZ28K K0luZGV4OiBjaHJvbWl1bS0xMzQuMC42OTk4LjM1L3RoaXJkX3BhcnR5L2JvcmluZ3NzbC9zcmMv dXRpbC9maXBzdG9vbHMvZGVsb2NhdGUvZGVsb2NhdGVfdGVzdC5nbwogPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0t IGNocm9taXVtLTEzMy4wLjY5NDMuMzUub3JpZy90aGlyZF9wYXJ0eS9ib3Jpbmdzc2wvc3JjL3V0 aWwvZmlwc3Rvb2xzL2RlbG9jYXRlL2RlbG9jYXRlX3Rlc3QuZ28KLSsrKyBjaHJvbWl1bS0xMzMu MC42OTQzLjM1L3RoaXJkX3BhcnR5L2JvcmluZ3NzbC9zcmMvdXRpbC9maXBzdG9vbHMvZGVsb2Nh dGUvZGVsb2NhdGVfdGVzdC5nbworLS0tIGNocm9taXVtLTEzNC4wLjY5OTguMzUub3JpZy90aGly ZF9wYXJ0eS9ib3Jpbmdzc2wvc3JjL3V0aWwvZmlwc3Rvb2xzL2RlbG9jYXRlL2RlbG9jYXRlX3Rl c3QuZ28KKysrKyBjaHJvbWl1bS0xMzQuMC42OTk4LjM1L3RoaXJkX3BhcnR5L2JvcmluZ3NzbC9z cmMvdXRpbC9maXBzdG9vbHMvZGVsb2NhdGUvZGVsb2NhdGVfdGVzdC5nbwogQEAgLTM5LDYgKzM5 LDExIEBAIGZ1bmMgKHRlc3QgKmRlbG9jYXRlVGVzdCkgUGF0aChmaWxlIHN0cmkKICAKICB2YXIg ZGVsb2NhdGVUZXN0cyA9IFtdZGVsb2NhdGVUZXN0ewpAQCAtNjc4OCwxMCArNjc4NCwxMCBAQCBJ bmRleDogY2hyb21pdW0tMTMzLjAuNjk0My4zNS90aGlyZF9wYXJ0eS9ib3Jpbmdzc2wvc3JjL3V0 aWwvZmlwc3Rvb2xzL2RlbG9jYXRlLwogIAl7Ing4Nl82NC1CYXNpYyIsIFtdc3RyaW5neyJpbi5z In0sICJvdXQucyJ9LAogIAl7Ing4Nl82NC1CU1MiLCBbXXN0cmluZ3siaW4ucyJ9LCAib3V0LnMi fSwKICAJeyJ4ODZfNjQtR09UUmV3cml0ZSIsIFtdc3RyaW5neyJpbi5zIn0sICJvdXQucyJ9LAot SW5kZXg6IGNocm9taXVtLTEzMy4wLjY5NDMuMzUvdGhpcmRfcGFydHkvYm9yaW5nc3NsL3NyYy91 dGlsL2ZpcHN0b29scy9kZWxvY2F0ZS90ZXN0ZGF0YS9wcGM2NGxlLUdsb2JhbEVudHJ5L2luLnMK K0luZGV4OiBjaHJvbWl1bS0xMzQuMC42OTk4LjM1L3RoaXJkX3BhcnR5L2JvcmluZ3NzbC9zcmMv dXRpbC9maXBzdG9vbHMvZGVsb2NhdGUvdGVzdGRhdGEvcHBjNjRsZS1HbG9iYWxFbnRyeS9pbi5z CiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxsCi0rKysgY2hyb21pdW0tMTMzLjAuNjk0My4zNS90 aGlyZF9wYXJ0eS9ib3Jpbmdzc2wvc3JjL3V0aWwvZmlwc3Rvb2xzL2RlbG9jYXRlL3Rlc3RkYXRh L3BwYzY0bGUtR2xvYmFsRW50cnkvaW4ucworKysrIGNocm9taXVtLTEzNC4wLjY5OTguMzUvdGhp cmRfcGFydHkvYm9yaW5nc3NsL3NyYy91dGlsL2ZpcHN0b29scy9kZWxvY2F0ZS90ZXN0ZGF0YS9w cGM2NGxlLUdsb2JhbEVudHJ5L2luLnMKIEBAIC0wLDAgKzEsOSBAQAogKwkudGV4dAogK2ZvbzoK QEAgLTY4MDIsMTAgKzY3OTgsMTAgQEAgSW5kZXg6IGNocm9taXVtLTEzMy4wLjY5NDMuMzUvdGhp cmRfcGFydHkvYm9yaW5nc3NsL3NyYy91dGlsL2ZpcHN0b29scy9kZWxvY2F0ZS8KICsJLmxvY2Fs ZW50cnkgZm9vLC4tZm9vCiArLkxWTDA6CiArCWJsCi1JbmRleDogY2hyb21pdW0tMTMzLjAuNjk0 My4zNS90aGlyZF9wYXJ0eS9ib3Jpbmdzc2wvc3JjL3V0aWwvZmlwc3Rvb2xzL2RlbG9jYXRlL3Rl c3RkYXRhL3BwYzY0bGUtR2xvYmFsRW50cnkvb3V0LnMKK0luZGV4OiBjaHJvbWl1bS0xMzQuMC42 OTk4LjM1L3RoaXJkX3BhcnR5L2JvcmluZ3NzbC9zcmMvdXRpbC9maXBzdG9vbHMvZGVsb2NhdGUv dGVzdGRhdGEvcHBjNjRsZS1HbG9iYWxFbnRyeS9vdXQucwogPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogLS0tIC9kZXYv bnVsbAotKysrIGNocm9taXVtLTEzMy4wLjY5NDMuMzUvdGhpcmRfcGFydHkvYm9yaW5nc3NsL3Ny Yy91dGlsL2ZpcHN0b29scy9kZWxvY2F0ZS90ZXN0ZGF0YS9wcGM2NGxlLUdsb2JhbEVudHJ5L291 dC5zCisrKysgY2hyb21pdW0tMTM0LjAuNjk5OC4zNS90aGlyZF9wYXJ0eS9ib3Jpbmdzc2wvc3Jj L3V0aWwvZmlwc3Rvb2xzL2RlbG9jYXRlL3Rlc3RkYXRhL3BwYzY0bGUtR2xvYmFsRW50cnkvb3V0 LnMKIEBAIC0wLDAgKzEsNjIgQEAKICsudGV4dAogKy5maWxlIDEgImluc2VydGVkX2J5X2RlbG9j YXRlLmNjIgpAQCAtNjg2OSwxOSArNjg2NSwxOSBAQCBJbmRleDogY2hyb21pdW0tMTMzLjAuNjk0 My4zNS90aGlyZF9wYXJ0eS9ib3Jpbmdzc2wvc3JjL3V0aWwvZmlwc3Rvb2xzL2RlbG9jYXRlLwog Ky5ieXRlIDB4ZmYKICsuYnl0ZSAweDMxCiArLmJ5dGUgMHg4MAotSW5kZXg6IGNocm9taXVtLTEz My4wLjY5NDMuMzUvdGhpcmRfcGFydHkvYm9yaW5nc3NsL3NyYy91dGlsL2ZpcHN0b29scy9kZWxv Y2F0ZS90ZXN0ZGF0YS9wcGM2NGxlLUxvYWRUb1IwL2luLnMKK0luZGV4OiBjaHJvbWl1bS0xMzQu MC42OTk4LjM1L3RoaXJkX3BhcnR5L2JvcmluZ3NzbC9zcmMvdXRpbC9maXBzdG9vbHMvZGVsb2Nh dGUvdGVzdGRhdGEvcHBjNjRsZS1Mb2FkVG9SMC9pbi5zCiA9PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rldi9u dWxsCi0rKysgY2hyb21pdW0tMTMzLjAuNjk0My4zNS90aGlyZF9wYXJ0eS9ib3Jpbmdzc2wvc3Jj L3V0aWwvZmlwc3Rvb2xzL2RlbG9jYXRlL3Rlc3RkYXRhL3BwYzY0bGUtTG9hZFRvUjAvaW4ucwor KysrIGNocm9taXVtLTEzNC4wLjY5OTguMzUvdGhpcmRfcGFydHkvYm9yaW5nc3NsL3NyYy91dGls L2ZpcHN0b29scy9kZWxvY2F0ZS90ZXN0ZGF0YS9wcGM2NGxlLUxvYWRUb1IwL2luLnMKIEBAIC0w LDAgKzEsNCBAQAogKwkudGV4dAogK2ZvbzoKICsJYWRkaXMgMjIsMixiYXJAdG9jQGhhCiArCWxk IDAsYmFyQHRvY0BsKDIyKQotSW5kZXg6IGNocm9taXVtLTEzMy4wLjY5NDMuMzUvdGhpcmRfcGFy dHkvYm9yaW5nc3NsL3NyYy91dGlsL2ZpcHN0b29scy9kZWxvY2F0ZS90ZXN0ZGF0YS9wcGM2NGxl LUxvYWRUb1IwL291dC5zCitJbmRleDogY2hyb21pdW0tMTM0LjAuNjk5OC4zNS90aGlyZF9wYXJ0 eS9ib3Jpbmdzc2wvc3JjL3V0aWwvZmlwc3Rvb2xzL2RlbG9jYXRlL3Rlc3RkYXRhL3BwYzY0bGUt TG9hZFRvUjAvb3V0LnMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KIC0tLSAvZGV2L251bGwKLSsrKyBjaHJvbWl1bS0x MzMuMC42OTQzLjM1L3RoaXJkX3BhcnR5L2JvcmluZ3NzbC9zcmMvdXRpbC9maXBzdG9vbHMvZGVs b2NhdGUvdGVzdGRhdGEvcHBjNjRsZS1Mb2FkVG9SMC9vdXQucworKysrIGNocm9taXVtLTEzNC4w LjY5OTguMzUvdGhpcmRfcGFydHkvYm9yaW5nc3NsL3NyYy91dGlsL2ZpcHN0b29scy9kZWxvY2F0 ZS90ZXN0ZGF0YS9wcGM2NGxlLUxvYWRUb1IwL291dC5zCiBAQCAtMCwwICsxLDcyIEBACiArLnRl eHQKICsuZmlsZSAxICJpbnNlcnRlZF9ieV9kZWxvY2F0ZS5jYyIKQEAgLTY5NTUsMTAgKzY5NTEs MTAgQEAgSW5kZXg6IGNocm9taXVtLTEzMy4wLjY5NDMuMzUvdGhpcmRfcGFydHkvYm9yaW5nc3Ns L3NyYy91dGlsL2ZpcHN0b29scy9kZWxvY2F0ZS8KICsuYnl0ZSAweGZmCiArLmJ5dGUgMHgzMQog Ky5ieXRlIDB4ODAKLUluZGV4OiBjaHJvbWl1bS0xMzMuMC42OTQzLjM1L3RoaXJkX3BhcnR5L2Jv cmluZ3NzbC9zcmMvdXRpbC9maXBzdG9vbHMvZGVsb2NhdGUvdGVzdGRhdGEvcHBjNjRsZS1TYW1w bGUvaW4ucworSW5kZXg6IGNocm9taXVtLTEzNC4wLjY5OTguMzUvdGhpcmRfcGFydHkvYm9yaW5n c3NsL3NyYy91dGlsL2ZpcHN0b29scy9kZWxvY2F0ZS90ZXN0ZGF0YS9wcGM2NGxlLVNhbXBsZS9p bi5zCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxsCi0rKysgY2hyb21pdW0tMTMzLjAuNjk0My4z NS90aGlyZF9wYXJ0eS9ib3Jpbmdzc2wvc3JjL3V0aWwvZmlwc3Rvb2xzL2RlbG9jYXRlL3Rlc3Rk YXRhL3BwYzY0bGUtU2FtcGxlL2luLnMKKysrKyBjaHJvbWl1bS0xMzQuMC42OTk4LjM1L3RoaXJk X3BhcnR5L2JvcmluZ3NzbC9zcmMvdXRpbC9maXBzdG9vbHMvZGVsb2NhdGUvdGVzdGRhdGEvcHBj NjRsZS1TYW1wbGUvaW4ucwogQEAgLTAsMCArMSwxNjEgQEAKICsJLmZpbGUJImZvby5jYyIKICsJ LmFiaXZlcnNpb24gMgpAQCAtNzEyMSwxMCArNzExNywxMCBAQCBJbmRleDogY2hyb21pdW0tMTMz LjAuNjk0My4zNS90aGlyZF9wYXJ0eS9ib3Jpbmdzc2wvc3JjL3V0aWwvZmlwc3Rvb2xzL2RlbG9j YXRlLwogKwkuc2l6ZQlleHBvcnRlZF9mdW5jdGlvbiwuLWV4cG9ydGVkX2Z1bmN0aW9uCiArCS5p ZGVudAkiR0NDOiAoVWJ1bnR1IDQuOS4yLTEwdWJ1bnR1MTMpIDQuOS4yIgogKwkuc2VjdGlvbgku bm90ZS5HTlUtc3RhY2ssIiIsQHByb2diaXRzCi1JbmRleDogY2hyb21pdW0tMTMzLjAuNjk0My4z NS90aGlyZF9wYXJ0eS9ib3Jpbmdzc2wvc3JjL3V0aWwvZmlwc3Rvb2xzL2RlbG9jYXRlL3Rlc3Rk YXRhL3BwYzY0bGUtU2FtcGxlL291dC5zCitJbmRleDogY2hyb21pdW0tMTM0LjAuNjk5OC4zNS90 aGlyZF9wYXJ0eS9ib3Jpbmdzc2wvc3JjL3V0aWwvZmlwc3Rvb2xzL2RlbG9jYXRlL3Rlc3RkYXRh L3BwYzY0bGUtU2FtcGxlL291dC5zCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxsCi0rKysgY2hy b21pdW0tMTMzLjAuNjk0My4zNS90aGlyZF9wYXJ0eS9ib3Jpbmdzc2wvc3JjL3V0aWwvZmlwc3Rv b2xzL2RlbG9jYXRlL3Rlc3RkYXRhL3BwYzY0bGUtU2FtcGxlL291dC5zCisrKysgY2hyb21pdW0t MTM0LjAuNjk5OC4zNS90aGlyZF9wYXJ0eS9ib3Jpbmdzc2wvc3JjL3V0aWwvZmlwc3Rvb2xzL2Rl bG9jYXRlL3Rlc3RkYXRhL3BwYzY0bGUtU2FtcGxlL291dC5zCiBAQCAtMCwwICsxLDU1MiBAQAog Ky50ZXh0CiArLmZpbGUgMSAiaW5zZXJ0ZWRfYnlfZGVsb2NhdGUuY2MiCkBAIC03Njc4LDEwICs3 Njc0LDEwIEBAIEluZGV4OiBjaHJvbWl1bS0xMzMuMC42OTQzLjM1L3RoaXJkX3BhcnR5L2Jvcmlu Z3NzbC9zcmMvdXRpbC9maXBzdG9vbHMvZGVsb2NhdGUvCiArLmJ5dGUgMHhmZgogKy5ieXRlIDB4 MzEKICsuYnl0ZSAweDgwCi1JbmRleDogY2hyb21pdW0tMTMzLjAuNjk0My4zNS90aGlyZF9wYXJ0 eS9ib3Jpbmdzc2wvc3JjL3V0aWwvZmlwc3Rvb2xzL2RlbG9jYXRlL3Rlc3RkYXRhL3BwYzY0bGUt U2FtcGxlMi9pbi5zCitJbmRleDogY2hyb21pdW0tMTM0LjAuNjk5OC4zNS90aGlyZF9wYXJ0eS9i b3Jpbmdzc2wvc3JjL3V0aWwvZmlwc3Rvb2xzL2RlbG9jYXRlL3Rlc3RkYXRhL3BwYzY0bGUtU2Ft cGxlMi9pbi5zCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxsCi0rKysgY2hyb21pdW0tMTMzLjAu Njk0My4zNS90aGlyZF9wYXJ0eS9ib3Jpbmdzc2wvc3JjL3V0aWwvZmlwc3Rvb2xzL2RlbG9jYXRl L3Rlc3RkYXRhL3BwYzY0bGUtU2FtcGxlMi9pbi5zCisrKysgY2hyb21pdW0tMTM0LjAuNjk5OC4z NS90aGlyZF9wYXJ0eS9ib3Jpbmdzc2wvc3JjL3V0aWwvZmlwc3Rvb2xzL2RlbG9jYXRlL3Rlc3Rk YXRhL3BwYzY0bGUtU2FtcGxlMi9pbi5zCiBAQCAtMCwwICsxLDIyNiBAQAogKwkuZmlsZQkiZm9v LmNjIgogKwkuYWJpdmVyc2lvbiAyCkBAIC03OTA5LDEwICs3OTA1LDEwIEBAIEluZGV4OiBjaHJv bWl1bS0xMzMuMC42OTQzLjM1L3RoaXJkX3BhcnR5L2JvcmluZ3NzbC9zcmMvdXRpbC9maXBzdG9v bHMvZGVsb2NhdGUvCiArCS56ZXJvCTIwCiArCS5pZGVudAkiR0NDOiAoVWJ1bnR1IDQuOS4yLTEw dWJ1bnR1MTMpIDQuOS4yIgogKwkuc2VjdGlvbgkubm90ZS5HTlUtc3RhY2ssIiIsQHByb2diaXRz Ci1JbmRleDogY2hyb21pdW0tMTMzLjAuNjk0My4zNS90aGlyZF9wYXJ0eS9ib3Jpbmdzc2wvc3Jj L3V0aWwvZmlwc3Rvb2xzL2RlbG9jYXRlL3Rlc3RkYXRhL3BwYzY0bGUtU2FtcGxlMi9vdXQucwor SW5kZXg6IGNocm9taXVtLTEzNC4wLjY5OTguMzUvdGhpcmRfcGFydHkvYm9yaW5nc3NsL3NyYy91 dGlsL2ZpcHN0b29scy9kZWxvY2F0ZS90ZXN0ZGF0YS9wcGM2NGxlLVNhbXBsZTIvb3V0LnMKID09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KIC0tLSAvZGV2L251bGwKLSsrKyBjaHJvbWl1bS0xMzMuMC42OTQzLjM1L3RoaXJk X3BhcnR5L2JvcmluZ3NzbC9zcmMvdXRpbC9maXBzdG9vbHMvZGVsb2NhdGUvdGVzdGRhdGEvcHBj NjRsZS1TYW1wbGUyL291dC5zCisrKysgY2hyb21pdW0tMTM0LjAuNjk5OC4zNS90aGlyZF9wYXJ0 eS9ib3Jpbmdzc2wvc3JjL3V0aWwvZmlwc3Rvb2xzL2RlbG9jYXRlL3Rlc3RkYXRhL3BwYzY0bGUt U2FtcGxlMi9vdXQucwogQEAgLTAsMCArMSw2NzcgQEAKICsudGV4dAogKy5maWxlIDEgImluc2Vy dGVkX2J5X2RlbG9jYXRlLmNjIgpAQCAtODU5MSwxMCArODU4NywxMCBAQCBJbmRleDogY2hyb21p dW0tMTMzLjAuNjk0My4zNS90aGlyZF9wYXJ0eS9ib3Jpbmdzc2wvc3JjL3V0aWwvZmlwc3Rvb2xz L2RlbG9jYXRlLwogKy5ieXRlIDB4ZmYKICsuYnl0ZSAweDMxCiArLmJ5dGUgMHg4MAotSW5kZXg6 IGNocm9taXVtLTEzMy4wLjY5NDMuMzUvdGhpcmRfcGFydHkvYm9yaW5nc3NsL3NyYy91dGlsL2Zp cHN0b29scy9kZWxvY2F0ZS90ZXN0ZGF0YS9wcGM2NGxlLVRPQ1dpdGhPZmZzZXQvaW4ucworSW5k ZXg6IGNocm9taXVtLTEzNC4wLjY5OTguMzUvdGhpcmRfcGFydHkvYm9yaW5nc3NsL3NyYy91dGls L2ZpcHN0b29scy9kZWxvY2F0ZS90ZXN0ZGF0YS9wcGM2NGxlLVRPQ1dpdGhPZmZzZXQvaW4ucwog PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQogLS0tIC9kZXYvbnVsbAotKysrIGNocm9taXVtLTEzMy4wLjY5NDMuMzUvdGhp cmRfcGFydHkvYm9yaW5nc3NsL3NyYy91dGlsL2ZpcHN0b29scy9kZWxvY2F0ZS90ZXN0ZGF0YS9w cGM2NGxlLVRPQ1dpdGhPZmZzZXQvaW4ucworKysrIGNocm9taXVtLTEzNC4wLjY5OTguMzUvdGhp cmRfcGFydHkvYm9yaW5nc3NsL3NyYy91dGlsL2ZpcHN0b29scy9kZWxvY2F0ZS90ZXN0ZGF0YS9w cGM2NGxlLVRPQ1dpdGhPZmZzZXQvaW4ucwogQEAgLTAsMCArMSwyMyBAQAogKwkudGV4dAogK2Zv bzoKQEAgLTg2MTksMTAgKzg2MTUsMTAgQEAgSW5kZXg6IGNocm9taXVtLTEzMy4wLjY5NDMuMzUv dGhpcmRfcGFydHkvYm9yaW5nc3NsL3NyYy91dGlsL2ZpcHN0b29scy9kZWxvY2F0ZS8KICsKICsJ YWRkaXMgNCwgMiwgMStmb28tMkB0b2NAaGErMwogKwlhZGRpIDQsIDQsIDErZm9vLTJAdG9jQGwr MwotSW5kZXg6IGNocm9taXVtLTEzMy4wLjY5NDMuMzUvdGhpcmRfcGFydHkvYm9yaW5nc3NsL3Ny Yy91dGlsL2ZpcHN0b29scy9kZWxvY2F0ZS90ZXN0ZGF0YS9wcGM2NGxlLVRPQ1dpdGhPZmZzZXQv b3V0LnMKK0luZGV4OiBjaHJvbWl1bS0xMzQuMC42OTk4LjM1L3RoaXJkX3BhcnR5L2JvcmluZ3Nz bC9zcmMvdXRpbC9maXBzdG9vbHMvZGVsb2NhdGUvdGVzdGRhdGEvcHBjNjRsZS1UT0NXaXRoT2Zm c2V0L291dC5zCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxsCi0rKysgY2hyb21pdW0tMTMzLjAu Njk0My4zNS90aGlyZF9wYXJ0eS9ib3Jpbmdzc2wvc3JjL3V0aWwvZmlwc3Rvb2xzL2RlbG9jYXRl L3Rlc3RkYXRhL3BwYzY0bGUtVE9DV2l0aE9mZnNldC9vdXQucworKysrIGNocm9taXVtLTEzNC4w LjY5OTguMzUvdGhpcmRfcGFydHkvYm9yaW5nc3NsL3NyYy91dGlsL2ZpcHN0b29scy9kZWxvY2F0 ZS90ZXN0ZGF0YS9wcGM2NGxlLVRPQ1dpdGhPZmZzZXQvb3V0LnMKIEBAIC0wLDAgKzEsMTc4IEBA CiArLnRleHQKICsuZmlsZSAxICJpbnNlcnRlZF9ieV9kZWxvY2F0ZS5jYyIKQEAgLTg4MDIsMTEg Kzg3OTgsMTEgQEAgSW5kZXg6IGNocm9taXVtLTEzMy4wLjY5NDMuMzUvdGhpcmRfcGFydHkvYm9y aW5nc3NsL3NyYy91dGlsL2ZpcHN0b29scy9kZWxvY2F0ZS8KICsuYnl0ZSAweGZmCiArLmJ5dGUg MHgzMQogKy5ieXRlIDB4ODAKLUluZGV4OiBjaHJvbWl1bS0xMzMuMC42OTQzLjM1L3RoaXJkX3Bh cnR5L2JvcmluZ3NzbC9zcmMvY3J5cHRvL2ZpcHNtb2R1bGUvc2hhL3NoYTEuY2MuaW5jCitJbmRl eDogY2hyb21pdW0tMTM0LjAuNjk5OC4zNS90aGlyZF9wYXJ0eS9ib3Jpbmdzc2wvc3JjL2NyeXB0 by9maXBzbW9kdWxlL3NoYS9zaGExLmNjLmluYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGNocm9taXVtLTEz My4wLjY5NDMuMzUub3JpZy90aGlyZF9wYXJ0eS9ib3Jpbmdzc2wvc3JjL2NyeXB0by9maXBzbW9k dWxlL3NoYS9zaGExLmNjLmluYwotKysrIGNocm9taXVtLTEzMy4wLjY5NDMuMzUvdGhpcmRfcGFy dHkvYm9yaW5nc3NsL3NyYy9jcnlwdG8vZmlwc21vZHVsZS9zaGEvc2hhMS5jYy5pbmMKLUBAIC0z NjIsNiArMzYyLDEwIEBAIHN0YXRpYyB2b2lkIHNoYTFfYmxvY2tfZGF0YV9vcmRlcih1aW50MzIK Ky0tLSBjaHJvbWl1bS0xMzQuMC42OTk4LjM1Lm9yaWcvdGhpcmRfcGFydHkvYm9yaW5nc3NsL3Ny Yy9jcnlwdG8vZmlwc21vZHVsZS9zaGEvc2hhMS5jYy5pbmMKKysrKyBjaHJvbWl1bS0xMzQuMC42 OTk4LjM1L3RoaXJkX3BhcnR5L2JvcmluZ3NzbC9zcmMvY3J5cHRvL2ZpcHNtb2R1bGUvc2hhL3No YTEuY2MuaW5jCitAQCAtMzY3LDYgKzM2NywxMCBAQCBzdGF0aWMgdm9pZCBzaGExX2Jsb2NrX2Rh dGFfb3JkZXIodWludDMyCiAgICAgIHJldHVybjsKICAgIH0KICAjZW5kaWYKQEAgLTg4MTcsMTcg Kzg4MTMsMTcgQEAgSW5kZXg6IGNocm9taXVtLTEzMy4wLjY5NDMuMzUvdGhpcmRfcGFydHkvYm9y aW5nc3NsL3NyYy9jcnlwdG8vZmlwc21vZHVsZS9zaGEvc2gKICAgIHNoYTFfYmxvY2tfZGF0YV9v cmRlcl9ub2h3KHN0YXRlLCBkYXRhLCBudW0pOwogIH0KICAKLUluZGV4OiBjaHJvbWl1bS0xMzMu MC42OTQzLjM1L3RoaXJkX3BhcnR5L2JvcmluZ3NzbC9zcmMvYnVpbGQuanNvbgorSW5kZXg6IGNo cm9taXVtLTEzNC4wLjY5OTguMzUvdGhpcmRfcGFydHkvYm9yaW5nc3NsL3NyYy9idWlsZC5qc29u CiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09Ci0tLS0gY2hyb21pdW0tMTMzLjAuNjk0My4zNS5vcmlnL3RoaXJkX3BhcnR5 L2JvcmluZ3NzbC9zcmMvYnVpbGQuanNvbgotKysrIGNocm9taXVtLTEzMy4wLjY5NDMuMzUvdGhp cmRfcGFydHkvYm9yaW5nc3NsL3NyYy9idWlsZC5qc29uCistLS0gY2hyb21pdW0tMTM0LjAuNjk5 OC4zNS5vcmlnL3RoaXJkX3BhcnR5L2JvcmluZ3NzbC9zcmMvYnVpbGQuanNvbgorKysrIGNocm9t aXVtLTEzNC4wLjY5OTguMzUvdGhpcmRfcGFydHkvYm9yaW5nc3NsL3NyYy9idWlsZC5qc29uCiBA QCAtMTI2LDYgKzEyNiwxMCBAQAogICAgICAgICAgICAgIHsic3JjIjogImNyeXB0by9maXBzbW9k dWxlL3NoYS9hc20vc2hhNTEyLWFybXY0LnBsIn0sCiAgICAgICAgICAgICAgeyJzcmMiOiAiY3J5 cHRvL2ZpcHNtb2R1bGUvYWVzL2FzbS92cGFlcy1hcm12Ny5wbCJ9CiAgICAgICAgICBdLAogKyAg ICAgICAgInBlcmxhc21fcHBjNjRsZSI6IFsKICsgICAgICAgICAgICB7InNyYyI6ICJjcnlwdG8v Zmlwc21vZHVsZS9hZXMvYXNtL2Flc3A4LXBwYy5wbCJ9LAotKyAgICAgICAgICAgIHsic3JjIjog ImNyeXB0by9maXBzbW9kdWxlL21vZGVzL2FzbS9naGFzaHA4LXBwYy5wbCJ9CisrICAgICAgICAg ICAgeyJzcmMiOiAiY3J5cHRvL2ZpcHNtb2R1bGUvYWVzL2FzbS9naGFzaHA4LXBwYy5wbCJ9CiAr ICAgICAgICBdLAogICAgICAgICAgInBlcmxhc21feDg2IjogWwogICAgICAgICAgICAgIHsic3Jj IjogImNyeXB0by9maXBzbW9kdWxlL2Flcy9hc20vYWVzbmkteDg2LnBsIn0sCkBAIC04ODQwLDcg Kzg4MzYsNyBAQCBJbmRleDogY2hyb21pdW0tMTMzLjAuNjk0My4zNS90aGlyZF9wYXJ0eS9ib3Jp bmdzc2wvc3JjL2J1aWxkLmpzb24KICAgICAgICAgICAgICAiY3J5cHRvL2NyeXB0by5jYyIsCiAg ICAgICAgICAgICAgImNyeXB0by9jdXJ2ZTI1NTE5L2N1cnZlMjU1MTkuY2MiLAogICAgICAgICAg ICAgICJjcnlwdG8vY3VydmUyNTUxOS9jdXJ2ZTI1NTE5XzY0X2FkeC5jYyIsCi1AQCAtNzg2LDYg Kzc5MSw5IEBACitAQCAtNzg3LDYgKzc5Miw5IEBACiAgICAgICAgICAicGVybGFzbV9hcm0iOiBb CiAgICAgICAgICAgICAgeyJzcmMiOiAiY3J5cHRvL3Rlc3QvYXNtL3RyYW1wb2xpbmUtYXJtdjQu cGwifQogICAgICAgICAgXSwKQEAgLTg4NTAsMTAgKzg4NDYsMTAgQEAgSW5kZXg6IGNocm9taXVt LTEzMy4wLjY5NDMuMzUvdGhpcmRfcGFydHkvYm9yaW5nc3NsL3NyYy9idWlsZC5qc29uCiAgICAg ICAgICAicGVybGFzbV94ODYiOiBbCiAgICAgICAgICAgICAgeyJzcmMiOiAiY3J5cHRvL3Rlc3Qv YXNtL3RyYW1wb2xpbmUteDg2LnBsIn0KICAgICAgICAgIF0sCi1JbmRleDogY2hyb21pdW0tMTMz LjAuNjk0My4zNS90aGlyZF9wYXJ0eS9ib3Jpbmdzc2wvc3JjL3V0aWwvcHJlZ2VuZXJhdGUvYnVp bGQuZ28KK0luZGV4OiBjaHJvbWl1bS0xMzQuMC42OTk4LjM1L3RoaXJkX3BhcnR5L2JvcmluZ3Nz bC9zcmMvdXRpbC9wcmVnZW5lcmF0ZS9idWlsZC5nbwogPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGNocm9taXVt LTEzMy4wLjY5NDMuMzUub3JpZy90aGlyZF9wYXJ0eS9ib3Jpbmdzc2wvc3JjL3V0aWwvcHJlZ2Vu ZXJhdGUvYnVpbGQuZ28KLSsrKyBjaHJvbWl1bS0xMzMuMC42OTQzLjM1L3RoaXJkX3BhcnR5L2Jv cmluZ3NzbC9zcmMvdXRpbC9wcmVnZW5lcmF0ZS9idWlsZC5nbworLS0tIGNocm9taXVtLTEzNC4w LjY5OTguMzUub3JpZy90aGlyZF9wYXJ0eS9ib3Jpbmdzc2wvc3JjL3V0aWwvcHJlZ2VuZXJhdGUv YnVpbGQuZ28KKysrKyBjaHJvbWl1bS0xMzQuMC42OTk4LjM1L3RoaXJkX3BhcnR5L2JvcmluZ3Nz bC9zcmMvdXRpbC9wcmVnZW5lcmF0ZS9idWlsZC5nbwogQEAgLTM4LDYgKzM4LDcgQEAgdHlwZSBJ bnB1dFRhcmdldCBzdHJ1Y3QgewogIAkvLyBhcmNoaXRlY3R1cmUuCiAgCVBlcmxhc21BYXJjaDY0 IFtdUGVybGFzbVNvdXJjZSBganNvbjoicGVybGFzbV9hYXJjaDY0LG9taXRlbXB0eSJgCkBAIC04 ODcyLDEwICs4ODY4LDEwIEBAIEluZGV4OiBjaHJvbWl1bS0xMzMuMC42OTQzLjM1L3RoaXJkX3Bh cnR5L2JvcmluZ3NzbC9zcmMvdXRpbC9wcmVnZW5lcmF0ZS9idWlsZC5nCiAgCWZvciBfLCBwIDo9 IHJhbmdlIGluLlBlcmxhc21YODYgewogIAkJYWRkUGVybGFzbVRhc2soJm91dC5Bc20sICZwLCAi LWFwcGxlLlMiLCBbXXN0cmluZ3sibWFjb3N4IiwgIi1mUElDIn0pCiAgCQlhZGRQZXJsYXNtVGFz aygmb3V0LkFzbSwgJnAsICItbGludXguUyIsIFtdc3RyaW5neyJlbGYiLCAiLWZQSUMifSkKLUlu ZGV4OiBjaHJvbWl1bS0xMzMuMC42OTQzLjM1L3RoaXJkX3BhcnR5L2JvcmluZ3NzbC9SRUFETUUu cHBjNjRsZQorSW5kZXg6IGNocm9taXVtLTEzNC4wLjY5OTguMzUvdGhpcmRfcGFydHkvYm9yaW5n c3NsL1JFQURNRS5wcGM2NGxlCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxsCi0rKysgY2hyb21p dW0tMTMzLjAuNjk0My4zNS90aGlyZF9wYXJ0eS9ib3Jpbmdzc2wvUkVBRE1FLnBwYzY0bGUKKysr KyBjaHJvbWl1bS0xMzQuMC42OTk4LjM1L3RoaXJkX3BhcnR5L2JvcmluZ3NzbC9SRUFETUUucHBj NjRsZQogQEAgLTAsMCArMSw4IEBACiArPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICtUbyByZWNyZWF0ZSBib3Jpbmdzc2wgcHJl Z2VuZXJhdGVkIGZpbGVzIHBhdGNoIGZvciBwcGM2NGxlOgpAQCAtODg4NSwxMCArODg4MSwxMCBA QCBJbmRleDogY2hyb21pdW0tMTMzLjAuNjk0My4zNS90aGlyZF9wYXJ0eS9ib3Jpbmdzc2wvUkVB RE1FLnBwYzY0bGUKICtnbyBydW4gLi91dGlsL3ByZWdlbmVyYXRlCiArY2QgLi4vLi4vLi4vLi4v CiArZGlmZiAtdXJOIGNocm9taXVtLSovdGhpcmRfcGFydHkvYm9yaW5nc3NsL3NyYy9nZW4ub3Jp ZyBjaHJvbWl1bS0qL3RoaXJkX3BhcnR5L2JvcmluZ3NzbC9zcmMvZ2VuCi1JbmRleDogY2hyb21p dW0tMTMzLjAuNjk0My4zNS90aGlyZF9wYXJ0eS9ib3Jpbmdzc2wvc3JjL2dlbi9zb3VyY2VzLmdu aQorSW5kZXg6IGNocm9taXVtLTEzNC4wLjY5OTguMzUvdGhpcmRfcGFydHkvYm9yaW5nc3NsL3Ny Yy9nZW4vc291cmNlcy5nbmkKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBjaHJvbWl1bS0xMzMuMC42OTQzLjM1 Lm9yaWcvdGhpcmRfcGFydHkvYm9yaW5nc3NsL3NyYy9nZW4vc291cmNlcy5nbmkKLSsrKyBjaHJv bWl1bS0xMzMuMC42OTQzLjM1L3RoaXJkX3BhcnR5L2JvcmluZ3NzbC9zcmMvZ2VuL3NvdXJjZXMu Z25pCistLS0gY2hyb21pdW0tMTM0LjAuNjk5OC4zNS5vcmlnL3RoaXJkX3BhcnR5L2JvcmluZ3Nz bC9zcmMvZ2VuL3NvdXJjZXMuZ25pCisrKysgY2hyb21pdW0tMTM0LjAuNjk5OC4zNS90aGlyZF9w YXJ0eS9ib3Jpbmdzc2wvc3JjL2dlbi9zb3VyY2VzLmduaQogQEAgLTExOSw2ICsxMTksNyBAQCBi Y21fc291cmNlc19hc20gPSBbCiAgICAiZ2VuL2JjbS9hZXN2OC1nY20tYXJtdjgtYXBwbGUuUyIs CiAgICAiZ2VuL2JjbS9hZXN2OC1nY20tYXJtdjgtbGludXguUyIsCgpkaWZmIC0tZ2l0IGEvMDAw MS1BZGQtcHJlZ2VuZXJhdGVkLWNvbmZpZy1mb3ItbGliYW9tLW9uLXBwYzY0LnBhdGNoIGIvMDAw MS1BZGQtcHJlZ2VuZXJhdGVkLWNvbmZpZy1mb3ItbGliYW9tLW9uLXBwYzY0LnBhdGNoCmluZGV4 IDVmZDQ0ZmYuLjJhNzczNTEgMTAwNjQ0Ci0tLSBhLzAwMDEtQWRkLXByZWdlbmVyYXRlZC1jb25m aWctZm9yLWxpYmFvbS1vbi1wcGM2NC5wYXRjaAorKysgYi8wMDAxLUFkZC1wcmVnZW5lcmF0ZWQt Y29uZmlnLWZvci1saWJhb20tb24tcHBjNjQucGF0Y2gKQEAgLTEsNyArMSw3IEBACi1JbmRleDog Y2hyb21pdW0tMTI5LjAuNjY2OC40Mi90aGlyZF9wYXJ0eS9saWJhb20vc291cmNlL2NvbmZpZy9s aW51eC9wcGM2NC9jb25maWcvYW9tX2NvbmZpZy5hc20KK0luZGV4OiBjaHJvbWl1bS0xMzQuMC42 OTk4LjM1L3RoaXJkX3BhcnR5L2xpYmFvbS9zb3VyY2UvY29uZmlnL2xpbnV4L3BwYzY0L2NvbmZp Zy9hb21fY29uZmlnLmFzbQogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogLS0tIC9kZXYvbnVsbAotKysrIGNocm9taXVt LTEyOS4wLjY2NjguNDIvdGhpcmRfcGFydHkvbGliYW9tL3NvdXJjZS9jb25maWcvbGludXgvcHBj NjQvY29uZmlnL2FvbV9jb25maWcuYXNtCisrKysgY2hyb21pdW0tMTM0LjAuNjk5OC4zNS90aGly ZF9wYXJ0eS9saWJhb20vc291cmNlL2NvbmZpZy9saW51eC9wcGM2NC9jb25maWcvYW9tX2NvbmZp Zy5hc20KIEBAIC0wLDAgKzEsOTUgQEAKICs7CiArOyBDb3B5cmlnaHQgKGMpIDIwMjQsIEFsbGlh bmNlIGZvciBPcGVuIE1lZGlhLiBBbGwgcmlnaHRzIHJlc2VydmVkLgpAQCAtOTgsMTAgKzk4LDEw IEBAIEluZGV4OiBjaHJvbWl1bS0xMjkuMC42NjY4LjQyL3RoaXJkX3BhcnR5L2xpYmFvbS9zb3Vy Y2UvY29uZmlnL2xpbnV4L3BwYzY0L2NvbmZpCiArSEFWRV9WU1ggZXF1IDEKICtIQVZFX1dYV0lE R0VUUyBlcXUgMAogK1NUQVRJQ19MSU5LX0pYTCBlcXUgMAotSW5kZXg6IGNocm9taXVtLTEyOS4w LjY2NjguNDIvdGhpcmRfcGFydHkvbGliYW9tL3NvdXJjZS9jb25maWcvbGludXgvcHBjNjQvY29u ZmlnL2FvbV9jb25maWcuYworSW5kZXg6IGNocm9taXVtLTEzNC4wLjY5OTguMzUvdGhpcmRfcGFy dHkvbGliYW9tL3NvdXJjZS9jb25maWcvbGludXgvcHBjNjQvY29uZmlnL2FvbV9jb25maWcuYwog PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQogLS0tIC9kZXYvbnVsbAotKysrIGNocm9taXVtLTEyOS4wLjY2NjguNDIvdGhp cmRfcGFydHkvbGliYW9tL3NvdXJjZS9jb25maWcvbGludXgvcHBjNjQvY29uZmlnL2FvbV9jb25m aWcuYworKysrIGNocm9taXVtLTEzNC4wLjY5OTguMzUvdGhpcmRfcGFydHkvbGliYW9tL3NvdXJj ZS9jb25maWcvbGludXgvcHBjNjQvY29uZmlnL2FvbV9jb25maWcuYwogQEAgLTAsMCArMSwxMyBA QAogKy8qCiArICogQ29weXJpZ2h0IChjKSAyMDI0LCBBbGxpYW5jZSBmb3IgT3BlbiBNZWRpYS4g QWxsIHJpZ2h0cyByZXNlcnZlZC4KQEAgLTExNiwxMCArMTE2LDEwIEBAIEluZGV4OiBjaHJvbWl1 bS0xMjkuMC42NjY4LjQyL3RoaXJkX3BhcnR5L2xpYmFvbS9zb3VyY2UvY29uZmlnL2xpbnV4L3Bw YzY0L2NvbmZpCiArI2luY2x1ZGUgImFvbS9hb21fY29kZWMuaCIKICtzdGF0aWMgY29uc3QgY2hh ciogY29uc3QgY2ZnID0gImNtYWtlIC4uL3NvdXJjZS9saWJhb20gLUcgXCJVbml4IE1ha2VmaWxl c1wiIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9XCIuLi9zb3VyY2UvbGliYW9tL2J1aWxkL2NtYWtl L3Rvb2xjaGFpbnMvcHBjLWxpbnV4LWdjYy5jbWFrZVwiIC1EQ09ORklHX0FWMV9ERUNPREVSPTAg LURDT05GSUdfQVYxX0VOQ09ERVI9MSAtRENPTkZJR19MSUJZVVY9MCAtRENPTkZJR19BVjFfSElH SEJJVERFUFRIPTAgLURDT05GSUdfQVYxX1RFTVBPUkFMX0RFTk9JU0lORz0xIC1EQ09ORklHX1FV QU5UX01BVFJJWD0wIC1EQ09ORklHX1JFQUxUSU1FX09OTFk9MSAtRENPTkZJR19TSVpFX0xJTUlU PTEgLURERUNPREVfSEVJR0hUX0xJTUlUPTE2Mzg0IC1EREVDT0RFX1dJRFRIX0xJTUlUPTE2Mzg0 IjsKICtjb25zdCBjaGFyICphb21fY29kZWNfYnVpbGRfY29uZmlnKHZvaWQpIHtyZXR1cm4gY2Zn O30KLUluZGV4OiBjaHJvbWl1bS0xMjkuMC42NjY4LjQyL3RoaXJkX3BhcnR5L2xpYmFvbS9zb3Vy Y2UvY29uZmlnL2xpbnV4L3BwYzY0L2NvbmZpZy9hb21fY29uZmlnLmgKK0luZGV4OiBjaHJvbWl1 bS0xMzQuMC42OTk4LjM1L3RoaXJkX3BhcnR5L2xpYmFvbS9zb3VyY2UvY29uZmlnL2xpbnV4L3Bw YzY0L2NvbmZpZy9hb21fY29uZmlnLmgKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIC0tLSAvZGV2L251bGwKLSsrKyBj aHJvbWl1bS0xMjkuMC42NjY4LjQyL3RoaXJkX3BhcnR5L2xpYmFvbS9zb3VyY2UvY29uZmlnL2xp bnV4L3BwYzY0L2NvbmZpZy9hb21fY29uZmlnLmgKKysrKyBjaHJvbWl1bS0xMzQuMC42OTk4LjM1 L3RoaXJkX3BhcnR5L2xpYmFvbS9zb3VyY2UvY29uZmlnL2xpbnV4L3BwYzY0L2NvbmZpZy9hb21f Y29uZmlnLmgKIEBAIC0wLDAgKzEsOTggQEAKICsvKgogKyAqIENvcHlyaWdodCAoYykgMjAyNCwg QWxsaWFuY2UgZm9yIE9wZW4gTWVkaWEuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCkBAIC0yMTksMTAg KzIxOSwxMCBAQCBJbmRleDogY2hyb21pdW0tMTI5LjAuNjY2OC40Mi90aGlyZF9wYXJ0eS9saWJh b20vc291cmNlL2NvbmZpZy9saW51eC9wcGM2NC9jb25maQogKyNkZWZpbmUgSEFWRV9XWFdJREdF VFMgMAogKyNkZWZpbmUgU1RBVElDX0xJTktfSlhMIDAKICsjZW5kaWYgIC8vIEFPTV9DT05GSUdf SF8KLUluZGV4OiBjaHJvbWl1bS0xMjkuMC42NjY4LjQyL3RoaXJkX3BhcnR5L2xpYmFvbS9zb3Vy Y2UvY29uZmlnL2xpbnV4L3BwYzY0L2NvbmZpZy9hb21fZHNwX3J0Y2QuaAorSW5kZXg6IGNocm9t aXVtLTEzNC4wLjY5OTguMzUvdGhpcmRfcGFydHkvbGliYW9tL3NvdXJjZS9jb25maWcvbGludXgv cHBjNjQvY29uZmlnL2FvbV9kc3BfcnRjZC5oCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxsCi0r KysgY2hyb21pdW0tMTI5LjAuNjY2OC40Mi90aGlyZF9wYXJ0eS9saWJhb20vc291cmNlL2NvbmZp Zy9saW51eC9wcGM2NC9jb25maWcvYW9tX2RzcF9ydGNkLmgKKysrKyBjaHJvbWl1bS0xMzQuMC42 OTk4LjM1L3RoaXJkX3BhcnR5L2xpYmFvbS9zb3VyY2UvY29uZmlnL2xpbnV4L3BwYzY0L2NvbmZp Zy9hb21fZHNwX3J0Y2QuaAogQEAgLTAsMCArMSwxNTAxIEBACiArLyoKICsgKiBDb3B5cmlnaHQg KGMpIDIwMjQsIEFsbGlhbmNlIGZvciBPcGVuIE1lZGlhLiBBbGwgcmlnaHRzIHJlc2VydmVkLgpA QCAtMTcyNSwxMCArMTcyNSwxMCBAQCBJbmRleDogY2hyb21pdW0tMTI5LjAuNjY2OC40Mi90aGly ZF9wYXJ0eS9saWJhb20vc291cmNlL2NvbmZpZy9saW51eC9wcGM2NC9jb25maQogKyNlbmRpZgog KwogKyNlbmRpZgotSW5kZXg6IGNocm9taXVtLTEyOS4wLjY2NjguNDIvdGhpcmRfcGFydHkvbGli YW9tL3NvdXJjZS9jb25maWcvbGludXgvcHBjNjQvY29uZmlnL2FvbV9zY2FsZV9ydGNkLmgKK0lu ZGV4OiBjaHJvbWl1bS0xMzQuMC42OTk4LjM1L3RoaXJkX3BhcnR5L2xpYmFvbS9zb3VyY2UvY29u ZmlnL2xpbnV4L3BwYzY0L2NvbmZpZy9hb21fc2NhbGVfcnRjZC5oCiA9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0g L2Rldi9udWxsCi0rKysgY2hyb21pdW0tMTI5LjAuNjY2OC40Mi90aGlyZF9wYXJ0eS9saWJhb20v c291cmNlL2NvbmZpZy9saW51eC9wcGM2NC9jb25maWcvYW9tX3NjYWxlX3J0Y2QuaAorKysrIGNo cm9taXVtLTEzNC4wLjY5OTguMzUvdGhpcmRfcGFydHkvbGliYW9tL3NvdXJjZS9jb25maWcvbGlu dXgvcHBjNjQvY29uZmlnL2FvbV9zY2FsZV9ydGNkLmgKIEBAIC0wLDAgKzEsOTEgQEAKICsvKgog KyAqIENvcHlyaWdodCAoYykgMjAyNCwgQWxsaWFuY2UgZm9yIE9wZW4gTWVkaWEuIEFsbCByaWdo dHMgcmVzZXJ2ZWQuCkBAIC0xODIxLDEwICsxODIxLDEwIEBAIEluZGV4OiBjaHJvbWl1bS0xMjku MC42NjY4LjQyL3RoaXJkX3BhcnR5L2xpYmFvbS9zb3VyY2UvY29uZmlnL2xpbnV4L3BwYzY0L2Nv bmZpCiArI2VuZGlmCiArCiArI2VuZGlmCi1JbmRleDogY2hyb21pdW0tMTI5LjAuNjY2OC40Mi90 aGlyZF9wYXJ0eS9saWJhb20vc291cmNlL2NvbmZpZy9saW51eC9wcGM2NC9jb25maWcvYXYxX3J0 Y2QuaAorSW5kZXg6IGNocm9taXVtLTEzNC4wLjY5OTguMzUvdGhpcmRfcGFydHkvbGliYW9tL3Nv dXJjZS9jb25maWcvbGludXgvcHBjNjQvY29uZmlnL2F2MV9ydGNkLmgKID09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIC0t LSAvZGV2L251bGwKLSsrKyBjaHJvbWl1bS0xMjkuMC42NjY4LjQyL3RoaXJkX3BhcnR5L2xpYmFv bS9zb3VyY2UvY29uZmlnL2xpbnV4L3BwYzY0L2NvbmZpZy9hdjFfcnRjZC5oCisrKysgY2hyb21p dW0tMTM0LjAuNjk5OC4zNS90aGlyZF9wYXJ0eS9saWJhb20vc291cmNlL2NvbmZpZy9saW51eC9w cGM2NC9jb25maWcvYXYxX3J0Y2QuaAogQEAgLTAsMCArMSw0MzggQEAKICsvKgogKyAqIENvcHly aWdodCAoYykgMjAyNCwgQWxsaWFuY2UgZm9yIE9wZW4gTWVkaWEuIEFsbCByaWdodHMgcmVzZXJ2 ZWQuCgpkaWZmIC0tZ2l0IGEvMDAwMS1JbXBsZW1lbnQtc3VwcG9ydC1mb3ItUFBDNjQtb24tTGlu dXgucGF0Y2ggYi8wMDAxLUltcGxlbWVudC1zdXBwb3J0LWZvci1QUEM2NC1vbi1MaW51eC5wYXRj aAppbmRleCBjM2M3MWIyLi5jNTI2NzI4IDEwMDY0NAotLS0gYS8wMDAxLUltcGxlbWVudC1zdXBw b3J0LWZvci1QUEM2NC1vbi1MaW51eC5wYXRjaAorKysgYi8wMDAxLUltcGxlbWVudC1zdXBwb3J0 LWZvci1QUEM2NC1vbi1MaW51eC5wYXRjaApAQCAtNDAsMjEgKzQwLDIxIEBAIFRoaXMgcGF0Y2gg aW1wbGVtZW50cyBzdXBwb3J0IGZvciB0aGUgUFBDNjQgYXJjaGl0ZWN0dXJlIG9uIExpbnV4IGhv c3RzLgogIHV0aWwvbWlzYy9jYXB0dXJlX2NvbnRleHRfdGVzdF91dGlsX2xpbnV4LmNjICB8ICAg NiArCiAgMzYgZmlsZXMgY2hhbmdlZCwgOTMyIGluc2VydGlvbnMoKyksIDEyIGRlbGV0aW9ucygt KQogCi1JbmRleDogY2hyb21pdW0tMTMwLjAuNjcyMy40NC90aGlyZF9wYXJ0eS9jcmFzaHBhZC9j cmFzaHBhZC9DT05UUklCVVRPUlMKK0luZGV4OiBjaHJvbWl1bS0xMzQuMC42OTk4LjM1L3RoaXJk X3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL0NPTlRSSUJVVE9SUwogPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGNo cm9taXVtLTEzMC4wLjY3MjMuNDQub3JpZy90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9D T05UUklCVVRPUlMKLSsrKyBjaHJvbWl1bS0xMzAuMC42NzIzLjQ0L3RoaXJkX3BhcnR5L2NyYXNo cGFkL2NyYXNocGFkL0NPTlRSSUJVVE9SUworLS0tIGNocm9taXVtLTEzNC4wLjY5OTguMzUub3Jp Zy90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9DT05UUklCVVRPUlMKKysrKyBjaHJvbWl1 bS0xMzQuMC42OTk4LjM1L3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL0NPTlRSSUJVVE9S UwogQEAgLTEzLDMgKzEzLDUgQEAgTWFyayBNZW50b3ZhaSA8bWFya0BjaHJvbWl1bS5vcmc+CiAg Um9iZXJ0IFNlc2VrIDxyc2VzZWtAY2hyb21pdW0ub3JnPgogIFNjb3R0IEdyYWhhbSA8c2NvdHRt Z0BjaHJvbWl1bS5vcmc+CiAgSm9zaHVhIFBlcmF6YSA8anBlcmF6YUBjaHJvbWl1bS5vcmc+CiAr U2hhd24gQW5hc3Rhc2lvIDxzYW5hc3Rhc2lvQHJhcHRvcmVuZ2luZWVyaW5nLmNvbT4KICtUaW1v dGh5IFBlYXJzb24gPHRwZWFyc29uQHJhcHRvcmVuZ2luZWVyaW5nLmNvbT4KLUluZGV4OiBjaHJv bWl1bS0xMzAuMC42NzIzLjQ0L3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL21pbmlkdW1w L21pbmlkdW1wX2NvbnRleHQuaAorSW5kZXg6IGNocm9taXVtLTEzNC4wLjY5OTguMzUvdGhpcmRf cGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvbWluaWR1bXAvbWluaWR1bXBfY29udGV4dC5oCiA9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09Ci0tLS0gY2hyb21pdW0tMTMwLjAuNjcyMy40NC5vcmlnL3RoaXJkX3BhcnR5L2NyYXNo cGFkL2NyYXNocGFkL21pbmlkdW1wL21pbmlkdW1wX2NvbnRleHQuaAotKysrIGNocm9taXVtLTEz MC4wLjY3MjMuNDQvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvbWluaWR1bXAvbWluaWR1 bXBfY29udGV4dC5oCi1AQCAtNjg3LDYgKzY4Nyw3MCBAQCBzdHJ1Y3QgTWluaWR1bXBDb250ZXh0 UklTQ1Y2NCB7CistLS0gY2hyb21pdW0tMTM0LjAuNjk5OC4zNS5vcmlnL3RoaXJkX3BhcnR5L2Ny YXNocGFkL2NyYXNocGFkL21pbmlkdW1wL21pbmlkdW1wX2NvbnRleHQuaAorKysrIGNocm9taXVt LTEzNC4wLjY5OTguMzUvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvbWluaWR1bXAvbWlu aWR1bXBfY29udGV4dC5oCitAQCAtNjg2LDYgKzY4Niw3MCBAQCBzdHJ1Y3QgTWluaWR1bXBDb250 ZXh0UklTQ1Y2NCB7CiAgICB1aW50MzJfdCBmY3NyOwogIH07CiAgCkBAIC0xMjUsMTAgKzEyNSwx MCBAQCBJbmRleDogY2hyb21pdW0tMTMwLjAuNjcyMy40NC90aGlyZF9wYXJ0eS9jcmFzaHBhZC9j cmFzaHBhZC9taW5pZHVtcC9taW5pZHVtcF9jbwogIH0gIC8vIG5hbWVzcGFjZSBjcmFzaHBhZAog IAogICNlbmRpZiAgLy8gQ1JBU0hQQURfTUlOSURVTVBfTUlOSURVTVBfQ09OVEVYVF9IXwotSW5k ZXg6IGNocm9taXVtLTEzMC4wLjY3MjMuNDQvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQv bWluaWR1bXAvbWluaWR1bXBfY29udGV4dF93cml0ZXIuY2MKK0luZGV4OiBjaHJvbWl1bS0xMzQu MC42OTk4LjM1L3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL21pbmlkdW1wL21pbmlkdW1w X2NvbnRleHRfd3JpdGVyLmNjCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gY2hyb21pdW0tMTMwLjAuNjcyMy40 NC5vcmlnL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL21pbmlkdW1wL21pbmlkdW1wX2Nv bnRleHRfd3JpdGVyLmNjCi0rKysgY2hyb21pdW0tMTMwLjAuNjcyMy40NC90aGlyZF9wYXJ0eS9j cmFzaHBhZC9jcmFzaHBhZC9taW5pZHVtcC9taW5pZHVtcF9jb250ZXh0X3dyaXRlci5jYworLS0t IGNocm9taXVtLTEzNC4wLjY5OTguMzUub3JpZy90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBh ZC9taW5pZHVtcC9taW5pZHVtcF9jb250ZXh0X3dyaXRlci5jYworKysrIGNocm9taXVtLTEzNC4w LjY5OTguMzUvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvbWluaWR1bXAvbWluaWR1bXBf Y29udGV4dF93cml0ZXIuY2MKIEBAIC0xMTAsNiArMTEwLDEzIEBAIE1pbmlkdW1wQ29udGV4dFdy aXRlcjo6Q3JlYXRlRnJvbVNuYXBzaG8KICAgICAgICBicmVhazsKICAgICAgfQpAQCAtMTkyLDEw ICsxOTIsMTAgQEAgSW5kZXg6IGNocm9taXVtLTEzMC4wLjY3MjMuNDQvdGhpcmRfcGFydHkvY3Jh c2hwYWQvY3Jhc2hwYWQvbWluaWR1bXAvbWluaWR1bXBfY28KICt9CiAgCiAgfSAgLy8gbmFtZXNw YWNlIGNyYXNocGFkCi1JbmRleDogY2hyb21pdW0tMTMwLjAuNjcyMy40NC90aGlyZF9wYXJ0eS9j cmFzaHBhZC9jcmFzaHBhZC9taW5pZHVtcC9taW5pZHVtcF9jb250ZXh0X3dyaXRlci5oCitJbmRl eDogY2hyb21pdW0tMTM0LjAuNjk5OC4zNS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9t aW5pZHVtcC9taW5pZHVtcF9jb250ZXh0X3dyaXRlci5oCiA9PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gY2hyb21p dW0tMTMwLjAuNjcyMy40NC5vcmlnL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL21pbmlk dW1wL21pbmlkdW1wX2NvbnRleHRfd3JpdGVyLmgKLSsrKyBjaHJvbWl1bS0xMzAuMC42NzIzLjQ0 L3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL21pbmlkdW1wL21pbmlkdW1wX2NvbnRleHRf d3JpdGVyLmgKKy0tLSBjaHJvbWl1bS0xMzQuMC42OTk4LjM1Lm9yaWcvdGhpcmRfcGFydHkvY3Jh c2hwYWQvY3Jhc2hwYWQvbWluaWR1bXAvbWluaWR1bXBfY29udGV4dF93cml0ZXIuaAorKysrIGNo cm9taXVtLTEzNC4wLjY5OTguMzUvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvbWluaWR1 bXAvbWluaWR1bXBfY29udGV4dF93cml0ZXIuaAogQEAgLTQxMyw2ICs0MTMsNDkgQEAgY2xhc3Mg TWluaWR1bXBDb250ZXh0UklTQ1Y2NFdyaXRlciBmaW5hbAogICAgTWluaWR1bXBDb250ZXh0UklT Q1Y2NCBjb250ZXh0XzsKICB9OwpAQCAtMjQ2LDEwICsyNDYsMTAgQEAgSW5kZXg6IGNocm9taXVt LTEzMC4wLjY3MjMuNDQvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvbWluaWR1bXAvbWlu aWR1bXBfY28KICB9ICAvLyBuYW1lc3BhY2UgY3Jhc2hwYWQKICAKICAjZW5kaWYgIC8vIENSQVNI UEFEX01JTklEVU1QX01JTklEVU1QX0NPTlRFWFRfV1JJVEVSX0hfCi1JbmRleDogY2hyb21pdW0t MTMwLjAuNjcyMy40NC90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9taW5pZHVtcC9taW5p ZHVtcF9jb250ZXh0X3dyaXRlcl90ZXN0LmNjCitJbmRleDogY2hyb21pdW0tMTM0LjAuNjk5OC4z NS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9taW5pZHVtcC9taW5pZHVtcF9jb250ZXh0 X3dyaXRlcl90ZXN0LmNjCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gY2hyb21pdW0tMTMwLjAuNjcyMy40NC5v cmlnL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL21pbmlkdW1wL21pbmlkdW1wX2NvbnRl eHRfd3JpdGVyX3Rlc3QuY2MKLSsrKyBjaHJvbWl1bS0xMzAuMC42NzIzLjQ0L3RoaXJkX3BhcnR5 L2NyYXNocGFkL2NyYXNocGFkL21pbmlkdW1wL21pbmlkdW1wX2NvbnRleHRfd3JpdGVyX3Rlc3Qu Y2MKKy0tLSBjaHJvbWl1bS0xMzQuMC42OTk4LjM1Lm9yaWcvdGhpcmRfcGFydHkvY3Jhc2hwYWQv Y3Jhc2hwYWQvbWluaWR1bXAvbWluaWR1bXBfY29udGV4dF93cml0ZXJfdGVzdC5jYworKysrIGNo cm9taXVtLTEzNC4wLjY5OTguMzUvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvbWluaWR1 bXAvbWluaWR1bXBfY29udGV4dF93cml0ZXJfdGVzdC5jYwogQEAgLTMyMiw2ICszMjIsMjEgQEAg VFlQRURfVEVTVChNaW5pZHVtcENvbnRleHRXcml0ZXIsIFJJU0NWNgogICAgICAgICAgICAgICAg ICAgICBUeXBlUGFyYW0+KGNvbnRleHQsIEV4cGVjdE1pbmlkdW1wQ29udGV4dFJJU0NWNjQsIGtT ZWVkKTsKICB9CkBAIC0yNzIsMTAgKzI3MiwxMCBAQCBJbmRleDogY2hyb21pdW0tMTMwLjAuNjcy My40NC90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9taW5pZHVtcC9taW5pZHVtcF9jbwog IH0gIC8vIG5hbWVzcGFjZQogIH0gIC8vIG5hbWVzcGFjZSB0ZXN0CiAgfSAgLy8gbmFtZXNwYWNl IGNyYXNocGFkCi1JbmRleDogY2hyb21pdW0tMTMwLjAuNjcyMy40NC90aGlyZF9wYXJ0eS9jcmFz aHBhZC9jcmFzaHBhZC9taW5pZHVtcC9taW5pZHVtcF9taXNjX2luZm9fd3JpdGVyLmNjCitJbmRl eDogY2hyb21pdW0tMTM0LjAuNjk5OC4zNS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9t aW5pZHVtcC9taW5pZHVtcF9taXNjX2luZm9fd3JpdGVyLmNjCiA9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gY2hy b21pdW0tMTMwLjAuNjcyMy40NC5vcmlnL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL21p bmlkdW1wL21pbmlkdW1wX21pc2NfaW5mb193cml0ZXIuY2MKLSsrKyBjaHJvbWl1bS0xMzAuMC42 NzIzLjQ0L3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL21pbmlkdW1wL21pbmlkdW1wX21p c2NfaW5mb193cml0ZXIuY2MKKy0tLSBjaHJvbWl1bS0xMzQuMC42OTk4LjM1Lm9yaWcvdGhpcmRf cGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvbWluaWR1bXAvbWluaWR1bXBfbWlzY19pbmZvX3dyaXRl ci5jYworKysrIGNocm9taXVtLTEzNC4wLjY5OTguMzUvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jh c2hwYWQvbWluaWR1bXAvbWluaWR1bXBfbWlzY19pbmZvX3dyaXRlci5jYwogQEAgLTE3Nyw2ICsx NzcsOCBAQCBzdGQ6OnN0cmluZyBNaW5pZHVtcE1pc2NJbmZvRGVidWdCdWlsZFN0CiAgICBzdGF0 aWMgY29uc3RleHByIGNoYXIga0NQVVtdID0gIm1pcHM2NCI7CiAgI2VsaWYgZGVmaW5lZChBUkNI X0NQVV9SSVNDVjY0KQpAQCAtMjg1LDEwICsyODUsMTAgQEAgSW5kZXg6IGNocm9taXVtLTEzMC4w LjY3MjMuNDQvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvbWluaWR1bXAvbWluaWR1bXBf bWkKICAjZWxzZQogICNlcnJvciBkZWZpbmUga0NQVSBmb3IgdGhpcyBDUFUKICAjZW5kaWYKLUlu ZGV4OiBjaHJvbWl1bS0xMzAuMC42NzIzLjQ0L3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFk L21pbmlkdW1wL3Rlc3QvbWluaWR1bXBfY29udGV4dF90ZXN0X3V0aWwuY2MKK0luZGV4OiBjaHJv bWl1bS0xMzQuMC42OTk4LjM1L3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL21pbmlkdW1w L3Rlc3QvbWluaWR1bXBfY29udGV4dF90ZXN0X3V0aWwuY2MKID09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBjaHJv bWl1bS0xMzAuMC42NzIzLjQ0Lm9yaWcvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvbWlu aWR1bXAvdGVzdC9taW5pZHVtcF9jb250ZXh0X3Rlc3RfdXRpbC5jYwotKysrIGNocm9taXVtLTEz MC4wLjY3MjMuNDQvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvbWluaWR1bXAvdGVzdC9t aW5pZHVtcF9jb250ZXh0X3Rlc3RfdXRpbC5jYworLS0tIGNocm9taXVtLTEzNC4wLjY5OTguMzUu b3JpZy90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9taW5pZHVtcC90ZXN0L21pbmlkdW1w X2NvbnRleHRfdGVzdF91dGlsLmNjCisrKysgY2hyb21pdW0tMTM0LjAuNjk5OC4zNS90aGlyZF9w YXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9taW5pZHVtcC90ZXN0L21pbmlkdW1wX2NvbnRleHRfdGVz dF91dGlsLmNjCiBAQCAtMjk3LDYgKzI5Nyw0MCBAQCB2b2lkIEluaXRpYWxpemVNaW5pZHVtcENv bnRleHRSSVNDVjY0KE1pCiAgICBjb250ZXh0LT5mY3NyID0gdmFsdWUrKzsKICB9CkBAIC0zNjks MTAgKzM2OSwxMCBAQCBJbmRleDogY2hyb21pdW0tMTMwLjAuNjcyMy40NC90aGlyZF9wYXJ0eS9j cmFzaHBhZC9jcmFzaHBhZC9taW5pZHVtcC90ZXN0L21pbmlkdQogKwogIH0gIC8vIG5hbWVzcGFj ZSB0ZXN0CiAgfSAgLy8gbmFtZXNwYWNlIGNyYXNocGFkCi1JbmRleDogY2hyb21pdW0tMTMwLjAu NjcyMy40NC90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9taW5pZHVtcC90ZXN0L21pbmlk dW1wX2NvbnRleHRfdGVzdF91dGlsLmgKK0luZGV4OiBjaHJvbWl1bS0xMzQuMC42OTk4LjM1L3Ro aXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL21pbmlkdW1wL3Rlc3QvbWluaWR1bXBfY29udGV4 dF90ZXN0X3V0aWwuaAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGNocm9taXVtLTEzMC4wLjY3MjMuNDQub3Jp Zy90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9taW5pZHVtcC90ZXN0L21pbmlkdW1wX2Nv bnRleHRfdGVzdF91dGlsLmgKLSsrKyBjaHJvbWl1bS0xMzAuMC42NzIzLjQ0L3RoaXJkX3BhcnR5 L2NyYXNocGFkL2NyYXNocGFkL21pbmlkdW1wL3Rlc3QvbWluaWR1bXBfY29udGV4dF90ZXN0X3V0 aWwuaAorLS0tIGNocm9taXVtLTEzNC4wLjY5OTguMzUub3JpZy90aGlyZF9wYXJ0eS9jcmFzaHBh ZC9jcmFzaHBhZC9taW5pZHVtcC90ZXN0L21pbmlkdW1wX2NvbnRleHRfdGVzdF91dGlsLmgKKysr KyBjaHJvbWl1bS0xMzQuMC42OTk4LjM1L3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL21p bmlkdW1wL3Rlc3QvbWluaWR1bXBfY29udGV4dF90ZXN0X3V0aWwuaAogQEAgLTkwLDYgKzkwLDkg QEAgdm9pZCBFeHBlY3RNaW5pZHVtcENvbnRleHRNSVBTNjQodWludDMyXwogIHZvaWQgRXhwZWN0 TWluaWR1bXBDb250ZXh0UklTQ1Y2NCh1aW50MzJfdCBleHBlY3Rfc2VlZCwKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgTWluaWR1bXBDb250ZXh0UklTQ1Y2NCogb2Jz ZXJ2ZWQsCkBAIC0zODMsMTAgKzM4MywxMCBAQCBJbmRleDogY2hyb21pdW0tMTMwLjAuNjcyMy40 NC90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9taW5pZHVtcC90ZXN0L21pbmlkdQogIC8v ISBcfQogIAogIH0gIC8vIG5hbWVzcGFjZSB0ZXN0Ci1JbmRleDogY2hyb21pdW0tMTMwLjAuNjcy My40NC90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9jYXB0dXJlX21lbW9y eS5jYworSW5kZXg6IGNocm9taXVtLTEzNC4wLjY5OTguMzUvdGhpcmRfcGFydHkvY3Jhc2hwYWQv Y3Jhc2hwYWQvc25hcHNob3QvY2FwdHVyZV9tZW1vcnkuY2MKID09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBjaHJv bWl1bS0xMzAuMC42NzIzLjQ0Lm9yaWcvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25h cHNob3QvY2FwdHVyZV9tZW1vcnkuY2MKLSsrKyBjaHJvbWl1bS0xMzAuMC42NzIzLjQ0L3RoaXJk X3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2NhcHR1cmVfbWVtb3J5LmNjCistLS0g Y2hyb21pdW0tMTM0LjAuNjk5OC4zNS5vcmlnL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFk L3NuYXBzaG90L2NhcHR1cmVfbWVtb3J5LmNjCisrKysgY2hyb21pdW0tMTM0LjAuNjk5OC4zNS90 aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9jYXB0dXJlX21lbW9yeS5jYwog QEAgLTEyMyw2ICsxMjMsMTEgQEAgdm9pZCBDYXB0dXJlTWVtb3J5OjpQb2ludGVkVG9CeUNvbnRl eHQoYwogICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBzdGQ6OnNpemUoY29udGV4dC5yaXNjdjY0 LT5yZWdzKTsgKytpKSB7CiAgICAgIE1heWJlQ2FwdHVyZU1lbW9yeUFyb3VuZChkZWxlZ2F0ZSwg Y29udGV4dC5yaXNjdjY0LT5yZWdzW2ldKTsKQEAgLTM5OSwxMCArMzk5LDEwIEBAIEluZGV4OiBj aHJvbWl1bS0xMzAuMC42NzIzLjQ0L3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBz aG90L2NhcHR1cmVfbWVtCiAgI2Vsc2UKICAjZXJyb3IgUG9ydC4KICAjZW5kaWYKLUluZGV4OiBj aHJvbWl1bS0xMzAuMC42NzIzLjQ0L3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBz aG90L2NwdV9hcmNoaXRlY3R1cmUuaAorSW5kZXg6IGNocm9taXVtLTEzNC4wLjY5OTguMzUvdGhp cmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvY3B1X2FyY2hpdGVjdHVyZS5oCiA9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09Ci0tLS0gY2hyb21pdW0tMTMwLjAuNjcyMy40NC5vcmlnL3RoaXJkX3BhcnR5L2Ny YXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2NwdV9hcmNoaXRlY3R1cmUuaAotKysrIGNocm9taXVt LTEzMC4wLjY3MjMuNDQvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvY3B1 X2FyY2hpdGVjdHVyZS5oCistLS0gY2hyb21pdW0tMTM0LjAuNjk5OC4zNS5vcmlnL3RoaXJkX3Bh cnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2NwdV9hcmNoaXRlY3R1cmUuaAorKysrIGNo cm9taXVtLTEzNC4wLjY5OTguMzUvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNo b3QvY3B1X2FyY2hpdGVjdHVyZS5oCiBAQCAtNDcsNiArNDcsOSBAQCBlbnVtIENQVUFyY2hpdGVj dHVyZSB7CiAgCiAgICAvLyEgXGJyaWVmIDY0LWJpdCBSSVNDLVYuCkBAIC00MTMsMTAgKzQxMywx MCBAQCBJbmRleDogY2hyb21pdW0tMTMwLjAuNjcyMy40NC90aGlyZF9wYXJ0eS9jcmFzaHBhZC9j cmFzaHBhZC9zbmFwc2hvdC9jcHVfYXJjaGl0ZQogIH07CiAgCiAgfSAgLy8gbmFtZXNwYWNlIGNy YXNocGFkCi1JbmRleDogY2hyb21pdW0tMTMwLjAuNjcyMy40NC90aGlyZF9wYXJ0eS9jcmFzaHBh ZC9jcmFzaHBhZC9zbmFwc2hvdC9jcHVfY29udGV4dC5jYworSW5kZXg6IGNocm9taXVtLTEzNC4w LjY5OTguMzUvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvY3B1X2NvbnRl eHQuY2MKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KLS0tLSBjaHJvbWl1bS0xMzAuMC42NzIzLjQ0Lm9yaWcvdGhpcmRf cGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvY3B1X2NvbnRleHQuY2MKLSsrKyBjaHJv bWl1bS0xMzAuMC42NzIzLjQ0L3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90 L2NwdV9jb250ZXh0LmNjCistLS0gY2hyb21pdW0tMTM0LjAuNjk5OC4zNS5vcmlnL3RoaXJkX3Bh cnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2NwdV9jb250ZXh0LmNjCisrKysgY2hyb21p dW0tMTM0LjAuNjk5OC4zNS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9j cHVfY29udGV4dC5jYwogQEAgLTE3Myw2ICsxNzMsOCBAQCB1aW50NjRfdCBDUFVDb250ZXh0OjpJ bnN0cnVjdGlvblBvaW50ZXIoCiAgICAgICAgcmV0dXJuIGFybTY0LT5wYzsKICAgICAgY2FzZSBr Q1BVQXJjaGl0ZWN0dXJlUklTQ1Y2NDoKQEAgLTQ0MywxMCArNDQzLDEwIEBAIEluZGV4OiBjaHJv bWl1bS0xMzAuMC42NzIzLjQ0L3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90 L2NwdV9jb250ZXh0CiAgICAgIGNhc2Uga0NQVUFyY2hpdGVjdHVyZVJJU0NWNjQ6CiAgICAgICAg cmV0dXJuIHRydWU7CiAgICAgIGNhc2Uga0NQVUFyY2hpdGVjdHVyZVg4NjoKLUluZGV4OiBjaHJv bWl1bS0xMzAuMC42NzIzLjQ0L3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90 L2NwdV9jb250ZXh0LmgKK0luZGV4OiBjaHJvbWl1bS0xMzQuMC42OTk4LjM1L3RoaXJkX3BhcnR5 L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2NwdV9jb250ZXh0LmgKID09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t LSBjaHJvbWl1bS0xMzAuMC42NzIzLjQ0Lm9yaWcvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hw YWQvc25hcHNob3QvY3B1X2NvbnRleHQuaAotKysrIGNocm9taXVtLTEzMC4wLjY3MjMuNDQvdGhp cmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvY3B1X2NvbnRleHQuaAorLS0tIGNo cm9taXVtLTEzNC4wLjY5OTguMzUub3JpZy90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9z bmFwc2hvdC9jcHVfY29udGV4dC5oCisrKysgY2hyb21pdW0tMTM0LjAuNjk5OC4zNS90aGlyZF9w YXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9jcHVfY29udGV4dC5oCiBAQCAtMzcxLDYg KzM3MSwyNCBAQCBzdHJ1Y3QgQ1BVQ29udGV4dFJJU0NWNjQgewogICAgdWludDMyX3QgZmNzcjsK ICB9OwpAQCAtNDgwLDEwICs0ODAsMTAgQEAgSW5kZXg6IGNocm9taXVtLTEzMC4wLjY3MjMuNDQv dGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvY3B1X2NvbnRleHQKICAgIH07 CiAgfTsKICAKLUluZGV4OiBjaHJvbWl1bS0xMzAuMC42NzIzLjQ0L3RoaXJkX3BhcnR5L2NyYXNo cGFkL2NyYXNocGFkL3NuYXBzaG90L2xpbnV4L2NwdV9jb250ZXh0X2xpbnV4LmgKK0luZGV4OiBj aHJvbWl1bS0xMzQuMC42OTk4LjM1L3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBz aG90L2xpbnV4L2NwdV9jb250ZXh0X2xpbnV4LmgKID09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBjaHJvbWl1bS0x MzAuMC42NzIzLjQ0Lm9yaWcvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3Qv bGludXgvY3B1X2NvbnRleHRfbGludXguaAotKysrIGNocm9taXVtLTEzMC4wLjY3MjMuNDQvdGhp cmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvbGludXgvY3B1X2NvbnRleHRfbGlu dXguaAorLS0tIGNocm9taXVtLTEzNC4wLjY5OTguMzUub3JpZy90aGlyZF9wYXJ0eS9jcmFzaHBh ZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51eC9jcHVfY29udGV4dF9saW51eC5oCisrKysgY2hyb21p dW0tMTM0LjAuNjk5OC4zNS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9s aW51eC9jcHVfY29udGV4dF9saW51eC5oCiBAQCAtMTUsNiArMTUsNyBAQAogICNpZm5kZWYgQ1JB U0hQQURfU05BUFNIT1RfTElOVVhfQ1BVX0NPTlRFWFRfTElOVVhfSF8KICAjZGVmaW5lIENSQVNI UEFEX1NOQVBTSE9UX0xJTlVYX0NQVV9DT05URVhUX0xJTlVYX0hfCkBAIC01NzEsMTAgKzU3MSwx MCBAQCBJbmRleDogY2hyb21pdW0tMTMwLjAuNjcyMy40NC90aGlyZF9wYXJ0eS9jcmFzaHBhZC9j cmFzaHBhZC9zbmFwc2hvdC9saW51eC9jcHVfYwogIH0gIC8vIG5hbWVzcGFjZSBpbnRlcm5hbAog IH0gIC8vIG5hbWVzcGFjZSBjcmFzaHBhZAogIAotSW5kZXg6IGNocm9taXVtLTEzMC4wLjY3MjMu NDQvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvbGludXgvZGVidWdfcmVu ZGV6dm91c190ZXN0LmNjCitJbmRleDogY2hyb21pdW0tMTM0LjAuNjk5OC4zNS90aGlyZF9wYXJ0 eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51eC9kZWJ1Z19yZW5kZXp2b3VzX3Rlc3Qu Y2MKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KLS0tLSBjaHJvbWl1bS0xMzAuMC42NzIzLjQ0Lm9yaWcvdGhpcmRfcGFy dHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvbGludXgvZGVidWdfcmVuZGV6dm91c190ZXN0 LmNjCi0rKysgY2hyb21pdW0tMTMwLjAuNjcyMy40NC90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFz aHBhZC9zbmFwc2hvdC9saW51eC9kZWJ1Z19yZW5kZXp2b3VzX3Rlc3QuY2MKKy0tLSBjaHJvbWl1 bS0xMzQuMC42OTk4LjM1Lm9yaWcvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNo b3QvbGludXgvZGVidWdfcmVuZGV6dm91c190ZXN0LmNjCisrKysgY2hyb21pdW0tMTM0LjAuNjk5 OC4zNS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51eC9kZWJ1Z19y ZW5kZXp2b3VzX3Rlc3QuY2MKIEBAIC0xOTQsMTIgKzE5NCwxNSBAQCB2b2lkIFRlc3RBZ2FpbnN0 VGFyZ2V0KFB0cmFjZUNvbm5lY3Rpb24qCiAgICAgICAgICAgICAgICBkZXZpY2UgPT0gMCAmJiBp bm9kZSA9PSAwICYmIG1hcHBpbmdfbmFtZSA9PSAiW3Zkc29dIjsKICAjaWYgZGVmaW5lZChBUkNI X0NQVV9YODYpCkBAIC01OTIsMTAgKzU5MiwxMCBAQCBJbmRleDogY2hyb21pdW0tMTMwLjAuNjcy My40NC90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51eC9kZWJ1Zwog ICAgICAgICAgfSwKICAgICAgICAgIG1vZHVsZV9tYXBwaW5nLT5uYW1lLAogICAgICAgICAgbW9k dWxlX21hcHBpbmctPmRldmljZSwKLUluZGV4OiBjaHJvbWl1bS0xMzAuMC42NzIzLjQ0L3RoaXJk X3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2xpbnV4L2V4Y2VwdGlvbl9zbmFwc2hv dF9saW51eC5jYworSW5kZXg6IGNocm9taXVtLTEzNC4wLjY5OTguMzUvdGhpcmRfcGFydHkvY3Jh c2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvbGludXgvZXhjZXB0aW9uX3NuYXBzaG90X2xpbnV4LmNj CiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09Ci0tLS0gY2hyb21pdW0tMTMwLjAuNjcyMy40NC5vcmlnL3RoaXJkX3BhcnR5 L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2xpbnV4L2V4Y2VwdGlvbl9zbmFwc2hvdF9saW51 eC5jYwotKysrIGNocm9taXVtLTEzMC4wLjY3MjMuNDQvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jh c2hwYWQvc25hcHNob3QvbGludXgvZXhjZXB0aW9uX3NuYXBzaG90X2xpbnV4LmNjCistLS0gY2hy b21pdW0tMTM0LjAuNjk5OC4zNS5vcmlnL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3Nu YXBzaG90L2xpbnV4L2V4Y2VwdGlvbl9zbmFwc2hvdF9saW51eC5jYworKysrIGNocm9taXVtLTEz NC4wLjY5OTguMzUvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvbGludXgv ZXhjZXB0aW9uX3NuYXBzaG90X2xpbnV4LmNjCiBAQCAtMzY3LDYgKzM2Nyw2OSBAQCBib29sIEV4 Y2VwdGlvblNuYXBzaG90TGludXg6OlJlYWRDb250ZXh0CiAgICByZXR1cm4gaW50ZXJuYWw6OlJl YWRDb250ZXh0KHJlYWRlciwgY29udGV4dF9hZGRyZXNzLCBjb250ZXh0Xy5yaXNjdjY0KTsKICB9 CkBAIC02NjYsMTEgKzY2NiwxMSBAQCBJbmRleDogY2hyb21pdW0tMTMwLjAuNjcyMy40NC90aGly ZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51eC9leGNlcAogICNlbmRpZiAg Ly8gQVJDSF9DUFVfWDg2X0ZBTUlMWQogIAogIGJvb2wgRXhjZXB0aW9uU25hcHNob3RMaW51eDo6 SW5pdGlhbGl6ZSgKLUluZGV4OiBjaHJvbWl1bS0xMzAuMC42NzIzLjQ0L3RoaXJkX3BhcnR5L2Ny YXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2xpbnV4L2V4Y2VwdGlvbl9zbmFwc2hvdF9saW51eC5o CitJbmRleDogY2hyb21pdW0tMTM0LjAuNjk5OC4zNS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFz aHBhZC9zbmFwc2hvdC9saW51eC9leGNlcHRpb25fc25hcHNob3RfbGludXguaAogPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQotLS0tIGNocm9taXVtLTEzMC4wLjY3MjMuNDQub3JpZy90aGlyZF9wYXJ0eS9jcmFzaHBhZC9j cmFzaHBhZC9zbmFwc2hvdC9saW51eC9leGNlcHRpb25fc25hcHNob3RfbGludXguaAotKysrIGNo cm9taXVtLTEzMC4wLjY3MjMuNDQvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNo b3QvbGludXgvZXhjZXB0aW9uX3NuYXBzaG90X2xpbnV4LmgKLUBAIC05MSw2ICs5MSw4IEBAIGNs YXNzIEV4Y2VwdGlvblNuYXBzaG90TGludXggZmluYWwgOiBwdWIKKy0tLSBjaHJvbWl1bS0xMzQu MC42OTk4LjM1Lm9yaWcvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvbGlu dXgvZXhjZXB0aW9uX3NuYXBzaG90X2xpbnV4LmgKKysrKyBjaHJvbWl1bS0xMzQuMC42OTk4LjM1 L3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2xpbnV4L2V4Y2VwdGlvbl9z bmFwc2hvdF9saW51eC5oCitAQCAtOTQsNiArOTQsOCBAQCBjbGFzcyBFeGNlcHRpb25TbmFwc2hv dExpbnV4IGZpbmFsIDogcHViCiAgICAgIENQVUNvbnRleHRNSVBTNjQgbWlwczY0OwogICNlbGlm IGRlZmluZWQoQVJDSF9DUFVfUklTQ1Y2NCkKICAgICAgQ1BVQ29udGV4dFJJU0NWNjQgcmlzY3Y2 NDsKQEAgLTY3OSwxMCArNjc5LDEwIEBAIEluZGV4OiBjaHJvbWl1bS0xMzAuMC42NzIzLjQ0L3Ro aXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2xpbnV4L2V4Y2VwCiAgI2VuZGlm CiAgICB9IGNvbnRleHRfdW5pb25fOwogICAgQ1BVQ29udGV4dCBjb250ZXh0XzsKLUluZGV4OiBj aHJvbWl1bS0xMzAuMC42NzIzLjQ0L3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBz aG90L2xpbnV4L2V4Y2VwdGlvbl9zbmFwc2hvdF9saW51eF90ZXN0LmNjCitJbmRleDogY2hyb21p dW0tMTM0LjAuNjk5OC4zNS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9s aW51eC9leGNlcHRpb25fc25hcHNob3RfbGludXhfdGVzdC5jYwogPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGNo cm9taXVtLTEzMC4wLjY3MjMuNDQub3JpZy90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9z bmFwc2hvdC9saW51eC9leGNlcHRpb25fc25hcHNob3RfbGludXhfdGVzdC5jYwotKysrIGNocm9t aXVtLTEzMC4wLjY3MjMuNDQvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3Qv bGludXgvZXhjZXB0aW9uX3NuYXBzaG90X2xpbnV4X3Rlc3QuY2MKKy0tLSBjaHJvbWl1bS0xMzQu MC42OTk4LjM1Lm9yaWcvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvbGlu dXgvZXhjZXB0aW9uX3NuYXBzaG90X2xpbnV4X3Rlc3QuY2MKKysrKyBjaHJvbWl1bS0xMzQuMC42 OTk4LjM1L3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2xpbnV4L2V4Y2Vw dGlvbl9zbmFwc2hvdF9saW51eF90ZXN0LmNjCiBAQCAtMzI1LDcgKzMyNSwyOCBAQCB2b2lkIEV4 cGVjdENvbnRleHQoY29uc3QgQ1BVQ29udGV4dCYgYWN0CiAgICAgICAgICAgICAgICAgICAgIHNp emVvZihhY3R1YWwucmlzY3Y2NC0+ZnByZWdzKSksCiAgICAgICAgICAgICAgMCk7CkBAIC03MTIs MTAgKzcxMiwxMCBAQCBJbmRleDogY2hyb21pdW0tMTMwLjAuNjcyMy40NC90aGlyZF9wYXJ0eS9j cmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51eC9leGNlcAogICNlbHNlCiAgI2Vycm9yIFBv cnQuCiAgI2VuZGlmCi1JbmRleDogY2hyb21pdW0tMTMwLjAuNjcyMy40NC90aGlyZF9wYXJ0eS9j cmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51eC9wcm9jZXNzX3JlYWRlcl9saW51eC5jYwor SW5kZXg6IGNocm9taXVtLTEzNC4wLjY5OTguMzUvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hw YWQvc25hcHNob3QvbGludXgvcHJvY2Vzc19yZWFkZXJfbGludXguY2MKID09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t LSBjaHJvbWl1bS0xMzAuMC42NzIzLjQ0Lm9yaWcvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hw YWQvc25hcHNob3QvbGludXgvcHJvY2Vzc19yZWFkZXJfbGludXguY2MKLSsrKyBjaHJvbWl1bS0x MzAuMC42NzIzLjQ0L3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2xpbnV4 L3Byb2Nlc3NfcmVhZGVyX2xpbnV4LmNjCistLS0gY2hyb21pdW0tMTM0LjAuNjk5OC4zNS5vcmln L3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2xpbnV4L3Byb2Nlc3NfcmVh ZGVyX2xpbnV4LmNjCisrKysgY2hyb21pdW0tMTM0LjAuNjk5OC4zNS90aGlyZF9wYXJ0eS9jcmFz aHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51eC9wcm9jZXNzX3JlYWRlcl9saW51eC5jYwogQEAg LTEyOSw2ICsxMjksOCBAQCB2b2lkIFByb2Nlc3NSZWFkZXJMaW51eDo6VGhyZWFkOjpJbml0aWFs CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiB0aHJlYWRfaW5mby50aHJl YWRfY29udGV4dC50MzIucmVnc1syOV07CiAgI2VsaWYgZGVmaW5lZChBUkNIX0NQVV9SSVNDVjY0 KQpAQCAtNzI1LDEwICs3MjUsMTAgQEAgSW5kZXg6IGNocm9taXVtLTEzMC4wLjY3MjMuNDQvdGhp cmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvbGludXgvcHJvY2UKICAjZWxzZQog ICNlcnJvciBQb3J0LgogICNlbmRpZgotSW5kZXg6IGNocm9taXVtLTEzMC4wLjY3MjMuNDQvdGhp cmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvbGludXgvc2lnbmFsX2NvbnRleHQu aAorSW5kZXg6IGNocm9taXVtLTEzNC4wLjY5OTguMzUvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jh c2hwYWQvc25hcHNob3QvbGludXgvc2lnbmFsX2NvbnRleHQuaAogPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGNo cm9taXVtLTEzMC4wLjY3MjMuNDQub3JpZy90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9z bmFwc2hvdC9saW51eC9zaWduYWxfY29udGV4dC5oCi0rKysgY2hyb21pdW0tMTMwLjAuNjcyMy40 NC90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51eC9zaWduYWxfY29u dGV4dC5oCistLS0gY2hyb21pdW0tMTM0LjAuNjk5OC4zNS5vcmlnL3RoaXJkX3BhcnR5L2NyYXNo cGFkL2NyYXNocGFkL3NuYXBzaG90L2xpbnV4L3NpZ25hbF9jb250ZXh0LmgKKysrKyBjaHJvbWl1 bS0xMzQuMC42OTk4LjM1L3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2xp bnV4L3NpZ25hbF9jb250ZXh0LmgKIEBAIC00NTYsNiArNDU2LDg5IEBAIHN0YXRpY19hc3NlcnQo b2Zmc2V0b2YoVUNvbnRleHQ8Q29udGV4dFQKICAgICAgICAgICAgICAgICAgICBvZmZzZXRvZih1 Y29udGV4dF90LCB1Y19tY29udGV4dC5fX2ZwcmVncyksCiAgICAgICAgICAgICAgICAiY29udGV4 dCBvZmZzZXQgbWlzbWF0Y2giKTsKQEAgLTgxOSwxMCArODE5LDEwIEBAIEluZGV4OiBjaHJvbWl1 bS0xMzAuMC42NzIzLjQ0L3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2xp bnV4L3NpZ25hCiAgI2Vsc2UKICAjZXJyb3IgUG9ydC4KICAjZW5kaWYgIC8vIEFSQ0hfQ1BVX1g4 Nl9GQU1JTFkKLUluZGV4OiBjaHJvbWl1bS0xMzAuMC42NzIzLjQ0L3RoaXJkX3BhcnR5L2NyYXNo cGFkL2NyYXNocGFkL3NuYXBzaG90L2xpbnV4L3N5c3RlbV9zbmFwc2hvdF9saW51eC5jYworSW5k ZXg6IGNocm9taXVtLTEzNC4wLjY5OTguMzUvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQv c25hcHNob3QvbGludXgvc3lzdGVtX3NuYXBzaG90X2xpbnV4LmNjCiA9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0g Y2hyb21pdW0tMTMwLjAuNjcyMy40NC5vcmlnL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFk L3NuYXBzaG90L2xpbnV4L3N5c3RlbV9zbmFwc2hvdF9saW51eC5jYwotKysrIGNocm9taXVtLTEz MC4wLjY3MjMuNDQvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvbGludXgv c3lzdGVtX3NuYXBzaG90X2xpbnV4LmNjCistLS0gY2hyb21pdW0tMTM0LjAuNjk5OC4zNS5vcmln L3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2xpbnV4L3N5c3RlbV9zbmFw c2hvdF9saW51eC5jYworKysrIGNocm9taXVtLTEzNC4wLjY5OTguMzUvdGhpcmRfcGFydHkvY3Jh c2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvbGludXgvc3lzdGVtX3NuYXBzaG90X2xpbnV4LmNjCiBA QCAtMjA4LDYgKzIwOCw4IEBAIENQVUFyY2hpdGVjdHVyZSBTeXN0ZW1TbmFwc2hvdExpbnV4OjpH ZXQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGtDUFVBcmNoaXRlY3R1 cmVNSVBTRUw7CiAgI2VsaWYgZGVmaW5lZChBUkNIX0NQVV9SSVNDVjY0KQpAQCAtODYyLDEwICs4 NjIsMTAgQEAgSW5kZXg6IGNocm9taXVtLTEzMC4wLjY3MjMuNDQvdGhpcmRfcGFydHkvY3Jhc2hw YWQvY3Jhc2hwYWQvc25hcHNob3QvbGludXgvc3lzdGUKICAjZWxzZQogICNlcnJvciBQb3J0Lgog ICNlbmRpZiAgLy8gQVJDSF9DUFVfWDg2X0ZBTUlMWQotSW5kZXg6IGNocm9taXVtLTEzMC4wLjY3 MjMuNDQvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvbGludXgvdGhyZWFk X3NuYXBzaG90X2xpbnV4LmNjCitJbmRleDogY2hyb21pdW0tMTM0LjAuNjk5OC4zNS90aGlyZF9w YXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51eC90aHJlYWRfc25hcHNob3RfbGlu dXguY2MKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KLS0tLSBjaHJvbWl1bS0xMzAuMC42NzIzLjQ0Lm9yaWcvdGhpcmRf cGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvbGludXgvdGhyZWFkX3NuYXBzaG90X2xp bnV4LmNjCi0rKysgY2hyb21pdW0tMTMwLjAuNjcyMy40NC90aGlyZF9wYXJ0eS9jcmFzaHBhZC9j cmFzaHBhZC9zbmFwc2hvdC9saW51eC90aHJlYWRfc25hcHNob3RfbGludXguY2MKKy0tLSBjaHJv bWl1bS0xMzQuMC42OTk4LjM1Lm9yaWcvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25h cHNob3QvbGludXgvdGhyZWFkX3NuYXBzaG90X2xpbnV4LmNjCisrKysgY2hyb21pdW0tMTM0LjAu Njk5OC4zNS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51eC90aHJl YWRfc25hcHNob3RfbGludXguY2MKIEBAIC0xOTYsNiArMTk2LDE0IEBAIGJvb2wgVGhyZWFkU25h cHNob3RMaW51eDo6SW5pdGlhbGl6ZSgKICAgIEluaXRpYWxpemVDUFVDb250ZXh0UklTQ1Y2NCh0 aHJlYWQudGhyZWFkX2luZm8udGhyZWFkX2NvbnRleHQudDY0LAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHRocmVhZC50aHJlYWRfaW5mby5mbG9hdF9jb250ZXh0LmY2NCwKQEAgLTg4 MSwxMSArODgxLDExIEBAIEluZGV4OiBjaHJvbWl1bS0xMzAuMC42NzIzLjQ0L3RoaXJkX3BhcnR5 L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2xpbnV4L3RocmVhCiAgI2Vsc2UKICAjZXJyb3Ig UG9ydC4KICAjZW5kaWYKLUluZGV4OiBjaHJvbWl1bS0xMzAuMC42NzIzLjQ0L3RoaXJkX3BhcnR5 L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2xpbnV4L3RocmVhZF9zbmFwc2hvdF9saW51eC5o CitJbmRleDogY2hyb21pdW0tMTM0LjAuNjk5OC4zNS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFz aHBhZC9zbmFwc2hvdC9saW51eC90aHJlYWRfc25hcHNob3RfbGludXguaAogPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot LS0tIGNocm9taXVtLTEzMC4wLjY3MjMuNDQub3JpZy90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFz aHBhZC9zbmFwc2hvdC9saW51eC90aHJlYWRfc25hcHNob3RfbGludXguaAotKysrIGNocm9taXVt LTEzMC4wLjY3MjMuNDQvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvbGlu dXgvdGhyZWFkX3NuYXBzaG90X2xpbnV4LmgKLUBAIC03Niw2ICs3Niw4IEBAIGNsYXNzIFRocmVh ZFNuYXBzaG90TGludXggZmluYWwgOiBwdWJsaWMKKy0tLSBjaHJvbWl1bS0xMzQuMC42OTk4LjM1 Lm9yaWcvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvbGludXgvdGhyZWFk X3NuYXBzaG90X2xpbnV4LmgKKysrKyBjaHJvbWl1bS0xMzQuMC42OTk4LjM1L3RoaXJkX3BhcnR5 L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2xpbnV4L3RocmVhZF9zbmFwc2hvdF9saW51eC5o CitAQCAtNzksNiArNzksOCBAQCBjbGFzcyBUaHJlYWRTbmFwc2hvdExpbnV4IGZpbmFsIDogcHVi bGljCiAgICAgIENQVUNvbnRleHRNSVBTNjQgbWlwczY0OwogICNlbGlmIGRlZmluZWQoQVJDSF9D UFVfUklTQ1Y2NCkKICAgICAgQ1BVQ29udGV4dFJJU0NWNjQgcmlzY3Y2NDsKQEAgLTg5NCwxMCAr ODk0LDEwIEBAIEluZGV4OiBjaHJvbWl1bS0xMzAuMC42NzIzLjQ0L3RoaXJkX3BhcnR5L2NyYXNo cGFkL2NyYXNocGFkL3NuYXBzaG90L2xpbnV4L3RocmVhCiAgI2Vsc2UKICAjZXJyb3IgUG9ydC4K ICAjZW5kaWYgIC8vIEFSQ0hfQ1BVX1g4Nl9GQU1JTFkKLUluZGV4OiBjaHJvbWl1bS0xMzAuMC42 NzIzLjQ0L3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L3Rlc3QvdGVzdF9j cHVfY29udGV4dC5jYworSW5kZXg6IGNocm9taXVtLTEzNC4wLjY5OTguMzUvdGhpcmRfcGFydHkv Y3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvdGVzdC90ZXN0X2NwdV9jb250ZXh0LmNjCiA9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09Ci0tLS0gY2hyb21pdW0tMTMwLjAuNjcyMy40NC5vcmlnL3RoaXJkX3BhcnR5L2NyYXNo cGFkL2NyYXNocGFkL3NuYXBzaG90L3Rlc3QvdGVzdF9jcHVfY29udGV4dC5jYwotKysrIGNocm9t aXVtLTEzMC4wLjY3MjMuNDQvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3Qv dGVzdC90ZXN0X2NwdV9jb250ZXh0LmNjCistLS0gY2hyb21pdW0tMTM0LjAuNjk5OC4zNS5vcmln L3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L3Rlc3QvdGVzdF9jcHVfY29u dGV4dC5jYworKysrIGNocm9taXVtLTEzNC4wLjY5OTguMzUvdGhpcmRfcGFydHkvY3Jhc2hwYWQv Y3Jhc2hwYWQvc25hcHNob3QvdGVzdC90ZXN0X2NwdV9jb250ZXh0LmNjCiBAQCAtMzE3LDUgKzMx NywzOCBAQCB2b2lkIEluaXRpYWxpemVDUFVDb250ZXh0UklTQ1Y2NChDUFVDb250CiAgICByaXNj djY0LT5mY3NyID0gdmFsdWUrKzsKICB9CkBAIC05MzcsMTAgKzkzNywxMCBAQCBJbmRleDogY2hy b21pdW0tMTMwLjAuNjcyMy40NC90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hv dC90ZXN0L3Rlc3RfYwogKwogIH0gIC8vIG5hbWVzcGFjZSB0ZXN0CiAgfSAgLy8gbmFtZXNwYWNl IGNyYXNocGFkCi1JbmRleDogY2hyb21pdW0tMTMwLjAuNjcyMy40NC90aGlyZF9wYXJ0eS9jcmFz aHBhZC9jcmFzaHBhZC9zbmFwc2hvdC90ZXN0L3Rlc3RfY3B1X2NvbnRleHQuaAorSW5kZXg6IGNo cm9taXVtLTEzNC4wLjY5OTguMzUvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNo b3QvdGVzdC90ZXN0X2NwdV9jb250ZXh0LmgKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBjaHJvbWl1bS0xMzAu MC42NzIzLjQ0Lm9yaWcvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvdGVz dC90ZXN0X2NwdV9jb250ZXh0LmgKLSsrKyBjaHJvbWl1bS0xMzAuMC42NzIzLjQ0L3RoaXJkX3Bh cnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L3Rlc3QvdGVzdF9jcHVfY29udGV4dC5oCist LS0gY2hyb21pdW0tMTM0LjAuNjk5OC4zNS5vcmlnL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNo cGFkL3NuYXBzaG90L3Rlc3QvdGVzdF9jcHVfY29udGV4dC5oCisrKysgY2hyb21pdW0tMTM0LjAu Njk5OC4zNS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC90ZXN0L3Rlc3Rf Y3B1X2NvbnRleHQuaAogQEAgLTY0LDYgKzY0LDcgQEAgdm9pZCBJbml0aWFsaXplQ1BVQ29udGV4 dEFSTTY0KENQVUNvbnRleAogIHZvaWQgSW5pdGlhbGl6ZUNQVUNvbnRleHRNSVBTKENQVUNvbnRl eHQqIGNvbnRleHQsIHVpbnQzMl90IHNlZWQpOwogIHZvaWQgSW5pdGlhbGl6ZUNQVUNvbnRleHRN SVBTNjQoQ1BVQ29udGV4dCogY29udGV4dCwgdWludDMyX3Qgc2VlZCk7CkBAIC05NDksMTAgKzk0 OSwxMCBAQCBJbmRleDogY2hyb21pdW0tMTMwLjAuNjcyMy40NC90aGlyZF9wYXJ0eS9jcmFzaHBh ZC9jcmFzaHBhZC9zbmFwc2hvdC90ZXN0L3Rlc3RfYwogIC8vISBcfQogIAogIH0gIC8vIG5hbWVz cGFjZSB0ZXN0Ci1JbmRleDogY2hyb21pdW0tMTMwLjAuNjcyMy40NC90aGlyZF9wYXJ0eS9jcmFz aHBhZC9jcmFzaHBhZC90ZXN0L2xpbnV4L2dldF90bHMuY2MKK0luZGV4OiBjaHJvbWl1bS0xMzQu MC42OTk4LjM1L3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3Rlc3QvbGludXgvZ2V0X3Rs cy5jYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQotLS0tIGNocm9taXVtLTEzMC4wLjY3MjMuNDQub3JpZy90aGlyZF9w YXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC90ZXN0L2xpbnV4L2dldF90bHMuY2MKLSsrKyBjaHJvbWl1 bS0xMzAuMC42NzIzLjQ0L3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3Rlc3QvbGludXgv Z2V0X3Rscy5jYworLS0tIGNocm9taXVtLTEzNC4wLjY5OTguMzUub3JpZy90aGlyZF9wYXJ0eS9j cmFzaHBhZC9jcmFzaHBhZC90ZXN0L2xpbnV4L2dldF90bHMuY2MKKysrKyBjaHJvbWl1bS0xMzQu MC42OTk4LjM1L3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3Rlc3QvbGludXgvZ2V0X3Rs cy5jYwogQEAgLTUxLDYgKzUxLDggQEAgTGludXhWTUFkZHJlc3MgR2V0VExTKCkgewogICAgICAg IDogIiQzIik7CiAgI2VsaWYgZGVmaW5lZChBUkNIX0NQVV9SSVNDVjY0KQpAQCAtOTYyLDEwICs5 NjIsMTAgQEAgSW5kZXg6IGNocm9taXVtLTEzMC4wLjY3MjMuNDQvdGhpcmRfcGFydHkvY3Jhc2hw YWQvY3Jhc2hwYWQvdGVzdC9saW51eC9nZXRfdGxzLmMKICAjZWxzZQogICNlcnJvciBQb3J0Lgog ICNlbmRpZiAgLy8gQVJDSF9DUFVfQVJNRUwKLUluZGV4OiBjaHJvbWl1bS0xMzAuMC42NzIzLjQ0 L3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3Rlc3QvbXVsdGlwcm9jZXNzX3Bvc2l4LmNj CitJbmRleDogY2hyb21pdW0tMTM0LjAuNjk5OC4zNS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFz aHBhZC90ZXN0L211bHRpcHJvY2Vzc19wb3NpeC5jYwogPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGNocm9taXVt LTEzMC4wLjY3MjMuNDQub3JpZy90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC90ZXN0L211 bHRpcHJvY2Vzc19wb3NpeC5jYwotKysrIGNocm9taXVtLTEzMC4wLjY3MjMuNDQvdGhpcmRfcGFy dHkvY3Jhc2hwYWQvY3Jhc2hwYWQvdGVzdC9tdWx0aXByb2Nlc3NfcG9zaXguY2MKKy0tLSBjaHJv bWl1bS0xMzQuMC42OTk4LjM1Lm9yaWcvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvdGVz dC9tdWx0aXByb2Nlc3NfcG9zaXguY2MKKysrKyBjaHJvbWl1bS0xMzQuMC42OTk4LjM1L3RoaXJk X3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3Rlc3QvbXVsdGlwcm9jZXNzX3Bvc2l4LmNjCiBAQCAt MTYyLDcgKzE2Miw4IEBAIHZvaWQgTXVsdGlwcm9jZXNzOjpTZXRFeHBlY3RlZENoaWxkVGVybWkK ICB9CiAgCkBAIC05NzYsMTAgKzk3NiwxMCBAQCBJbmRleDogY2hyb21pdW0tMTMwLjAuNjcyMy40 NC90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC90ZXN0L211bHRpcHJvY2Vzc19wbwogICAg U2V0RXhwZWN0ZWRDaGlsZFRlcm1pbmF0aW9uKGtUZXJtaW5hdGlvblNpZ25hbCwgU0lHVFJBUCk7 CiAgI2Vsc2UKICAgIFNldEV4cGVjdGVkQ2hpbGRUZXJtaW5hdGlvbihrVGVybWluYXRpb25TaWdu YWwsIFNJR0lMTCk7Ci1JbmRleDogY2hyb21pdW0tMTMwLjAuNjcyMy40NC90aGlyZF9wYXJ0eS9j cmFzaHBhZC9jcmFzaHBhZC91dGlsL2xpbnV4L2F1eGlsaWFyeV92ZWN0b3IuY2MKK0luZGV4OiBj aHJvbWl1bS0xMzQuMC42OTk4LjM1L3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3V0aWwv bGludXgvYXV4aWxpYXJ5X3ZlY3Rvci5jYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGNocm9taXVtLTEzMC4w LjY3MjMuNDQub3JpZy90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91dGlsL2xpbnV4L2F1 eGlsaWFyeV92ZWN0b3IuY2MKLSsrKyBjaHJvbWl1bS0xMzAuMC42NzIzLjQ0L3RoaXJkX3BhcnR5 L2NyYXNocGFkL2NyYXNocGFkL3V0aWwvbGludXgvYXV4aWxpYXJ5X3ZlY3Rvci5jYworLS0tIGNo cm9taXVtLTEzNC4wLjY5OTguMzUub3JpZy90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91 dGlsL2xpbnV4L2F1eGlsaWFyeV92ZWN0b3IuY2MKKysrKyBjaHJvbWl1bS0xMzQuMC42OTk4LjM1 L3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3V0aWwvbGludXgvYXV4aWxpYXJ5X3ZlY3Rv ci5jYwogQEAgLTU2LDYgKzU2LDExIEBAIGJvb2wgQXV4aWxpYXJ5VmVjdG9yOjpSZWFkKFB0cmFj ZUNvbm5lY3QKICAgICAgaWYgKHR5cGUgPT0gQVRfSUdOT1JFKSB7CiAgICAgICAgY29udGludWU7 CkBAIC05OTIsMTAgKzk5MiwxMCBAQCBJbmRleDogY2hyb21pdW0tMTMwLjAuNjcyMy40NC90aGly ZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91dGlsL2xpbnV4L2F1eGlsaWFyeQogICAgICBpZiAo IU1hcEluc2VydE9yUmVwbGFjZSgmdmFsdWVzXywgdHlwZSwgdmFsdWUsIG51bGxwdHIpKSB7CiAg ICAgICAgTE9HKEVSUk9SKSA8PCAiZHVwbGljYXRlIGF1eHYgZW50cnkiOwogICAgICAgIHJldHVy biBmYWxzZTsKLUluZGV4OiBjaHJvbWl1bS0xMzAuMC42NzIzLjQ0L3RoaXJkX3BhcnR5L2NyYXNo cGFkL2NyYXNocGFkL3V0aWwvbGludXgvcHRyYWNlci5jYworSW5kZXg6IGNocm9taXVtLTEzNC4w LjY5OTguMzUvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvdXRpbC9saW51eC9wdHJhY2Vy LmNjCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09Ci0tLS0gY2hyb21pdW0tMTMwLjAuNjcyMy40NC5vcmlnL3RoaXJkX3Bh cnR5L2NyYXNocGFkL2NyYXNocGFkL3V0aWwvbGludXgvcHRyYWNlci5jYwotKysrIGNocm9taXVt LTEzMC4wLjY3MjMuNDQvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvdXRpbC9saW51eC9w dHJhY2VyLmNjCistLS0gY2hyb21pdW0tMTM0LjAuNjk5OC4zNS5vcmlnL3RoaXJkX3BhcnR5L2Ny YXNocGFkL2NyYXNocGFkL3V0aWwvbGludXgvcHRyYWNlci5jYworKysrIGNocm9taXVtLTEzNC4w LjY5OTguMzUvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvdXRpbC9saW51eC9wdHJhY2Vy LmNjCiBAQCAtNDMwLDYgKzQzMCw2NCBAQCBib29sIEdldFRocmVhZEFyZWE2NChwaWRfdCB0aWQs CiAgICByZXR1cm4gdHJ1ZTsKICB9CkBAIC0xMDcxLDEwICsxMDcxLDEwIEBAIEluZGV4OiBjaHJv bWl1bS0xMzAuMC42NzIzLjQ0L3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3V0aWwvbGlu dXgvcHRyYWNlci5jCiAgICAgICAgICAgICBHZXRUaHJlYWRBcmVhNjQodGlkLAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGluZm8tPnRocmVhZF9jb250ZXh0LAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICZpbmZvLT50aHJlYWRfc3BlY2lmaWNfZGF0YV9hZGRyZXNzLAotSW5kZXg6 IGNocm9taXVtLTEzMC4wLjY3MjMuNDQvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvdXRp bC9saW51eC90aHJlYWRfaW5mby5oCitJbmRleDogY2hyb21pdW0tMTM0LjAuNjk5OC4zNS90aGly ZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91dGlsL2xpbnV4L3RocmVhZF9pbmZvLmgKID09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KLS0tLSBjaHJvbWl1bS0xMzAuMC42NzIzLjQ0Lm9yaWcvdGhpcmRfcGFydHkvY3Jhc2hw YWQvY3Jhc2hwYWQvdXRpbC9saW51eC90aHJlYWRfaW5mby5oCi0rKysgY2hyb21pdW0tMTMwLjAu NjcyMy40NC90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91dGlsL2xpbnV4L3RocmVhZF9p bmZvLmgKKy0tLSBjaHJvbWl1bS0xMzQuMC42OTk4LjM1Lm9yaWcvdGhpcmRfcGFydHkvY3Jhc2hw YWQvY3Jhc2hwYWQvdXRpbC9saW51eC90aHJlYWRfaW5mby5oCisrKysgY2hyb21pdW0tMTM0LjAu Njk5OC4zNS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91dGlsL2xpbnV4L3RocmVhZF9p bmZvLmgKIEBAIC0zNCw2ICszNCwxMCBAQAogICNpbmNsdWRlIDxhc20vcHRyYWNlLmg+CiAgI2Vu ZGlmCkBAIC0xMTkzLDEwICsxMTkzLDEwIEBAIEluZGV4OiBjaHJvbWl1bS0xMzAuMC42NzIzLjQ0 L3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3V0aWwvbGludXgvdGhyZWFkX2luCiAgICAv LyEgXGJyaWVmIFRoZSB0aHJlYWQtbG9jYWwgc3RvcmFnZSBhZGRyZXNzIGZvciB0aGUgdGhyZWFk LgogICAgTGludXhWTUFkZHJlc3MgdGhyZWFkX3NwZWNpZmljX2RhdGFfYWRkcmVzczsKICB9Owot SW5kZXg6IGNocm9taXVtLTEzMC4wLjY3MjMuNDQvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hw YWQvdXRpbC9taXNjL2NhcHR1cmVfY29udGV4dC5oCitJbmRleDogY2hyb21pdW0tMTM0LjAuNjk5 OC4zNS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91dGlsL21pc2MvY2FwdHVyZV9jb250 ZXh0LmgKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KLS0tLSBjaHJvbWl1bS0xMzAuMC42NzIzLjQ0Lm9yaWcvdGhpcmRf cGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvdXRpbC9taXNjL2NhcHR1cmVfY29udGV4dC5oCi0rKysg Y2hyb21pdW0tMTMwLjAuNjcyMy40NC90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91dGls L21pc2MvY2FwdHVyZV9jb250ZXh0LmgKKy0tLSBjaHJvbWl1bS0xMzQuMC42OTk4LjM1Lm9yaWcv dGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvdXRpbC9taXNjL2NhcHR1cmVfY29udGV4dC5o CisrKysgY2hyb21pdW0tMTM0LjAuNjk5OC4zNS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBh ZC91dGlsL21pc2MvY2FwdHVyZV9jb250ZXh0LmgKIEBAIC03MCw2ICs3MCw3IEBAIHVzaW5nIE5h dGl2ZUNQVUNvbnRleHQgPSB1Y29udGV4dF90OwogIC8vISAgICAgTGludXggICAgICAgICAgICAg ICB8IEFSTS9BUk02NCAgICB8IGByMGAvYHgwYAogIC8vISAgICAgTGludXggICAgICAgICAgICAg ICB8IE1JUFMvTUlQUzY0ICB8IGAkYTBgCkBAIC0xMjA1LDEwICsxMjA1LDEwIEBAIEluZGV4OiBj aHJvbWl1bS0xMzAuMC42NzIzLjQ0L3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3V0aWwv bWlzYy9jYXB0dXJlX2NvCiAgLy8hCiAgLy8hICAgICBBZGRpdGlvbmFsbHksIHRoZSB2YWx1ZSBg TFJgIG9uIEFSTS9BUk02NCB3aWxsIGJlIHRoZSByZXR1cm4gYWRkcmVzcyBvZgogIC8vISAgICAg dGhpcyBmdW5jdGlvbi4KLUluZGV4OiBjaHJvbWl1bS0xMzAuMC42NzIzLjQ0L3RoaXJkX3BhcnR5 L2NyYXNocGFkL2NyYXNocGFkL3V0aWwvbWlzYy9jYXB0dXJlX2NvbnRleHRfbGludXguUworSW5k ZXg6IGNocm9taXVtLTEzNC4wLjY5OTguMzUvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQv dXRpbC9taXNjL2NhcHR1cmVfY29udGV4dF9saW51eC5TCiA9PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gY2hyb21p dW0tMTMwLjAuNjcyMy40NC5vcmlnL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3V0aWwv bWlzYy9jYXB0dXJlX2NvbnRleHRfbGludXguUwotKysrIGNocm9taXVtLTEzMC4wLjY3MjMuNDQv dGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvdXRpbC9taXNjL2NhcHR1cmVfY29udGV4dF9s aW51eC5TCistLS0gY2hyb21pdW0tMTM0LjAuNjk5OC4zNS5vcmlnL3RoaXJkX3BhcnR5L2NyYXNo cGFkL2NyYXNocGFkL3V0aWwvbWlzYy9jYXB0dXJlX2NvbnRleHRfbGludXguUworKysrIGNocm9t aXVtLTEzNC4wLjY5OTguMzUvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvdXRpbC9taXNj L2NhcHR1cmVfY29udGV4dF9saW51eC5TCiBAQCAtMzAsNyArMzAsNyBAQAogICAgLmdsb2JsIENB UFRVUkVDT05URVhUX1NZTUJPTDIKICAjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChf X3g4Nl82NF9fKQpAQCAtMTQzNSwxMCArMTQzNSwxMCBAQCBJbmRleDogY2hyb21pdW0tMTMwLjAu NjcyMy40NC90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91dGlsL21pc2MvY2FwdHVyZV9j bwogICNlbGlmIGRlZmluZWQoX19yaXNjdikKICAKICAgICNkZWZpbmUgTUNPTlRFWFRfR1JFR1Nf T0ZGU0VUIDE3NgotSW5kZXg6IGNocm9taXVtLTEzMC4wLjY3MjMuNDQvdGhpcmRfcGFydHkvY3Jh c2hwYWQvY3Jhc2hwYWQvdXRpbC9taXNjL2NhcHR1cmVfY29udGV4dF90ZXN0LmNjCitJbmRleDog Y2hyb21pdW0tMTM0LjAuNjk5OC4zNS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91dGls L21pc2MvY2FwdHVyZV9jb250ZXh0X3Rlc3QuY2MKID09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBjaHJvbWl1bS0x MzAuMC42NzIzLjQ0Lm9yaWcvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvdXRpbC9taXNj L2NhcHR1cmVfY29udGV4dF90ZXN0LmNjCi0rKysgY2hyb21pdW0tMTMwLjAuNjcyMy40NC90aGly ZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91dGlsL21pc2MvY2FwdHVyZV9jb250ZXh0X3Rlc3Qu Y2MKKy0tLSBjaHJvbWl1bS0xMzQuMC42OTk4LjM1Lm9yaWcvdGhpcmRfcGFydHkvY3Jhc2hwYWQv Y3Jhc2hwYWQvdXRpbC9taXNjL2NhcHR1cmVfY29udGV4dF90ZXN0LmNjCisrKysgY2hyb21pdW0t MTM0LjAuNjk5OC4zNS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91dGlsL21pc2MvY2Fw dHVyZV9jb250ZXh0X3Rlc3QuY2MKIEBAIC00OCw3ICs0OCw3IEBAIHZvaWQgVGVzdENhcHR1cmVD b250ZXh0KCkgewogICAgdWludHB0cl90IHBjID0gUHJvZ3JhbUNvdW50ZXJGcm9tQ29udGV4dChj b250ZXh0XzEpOwogIApAQCAtMTQ0OCwxMCArMTQ0OCwxMCBAQCBJbmRleDogY2hyb21pdW0tMTMw LjAuNjcyMy40NC90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91dGlsL21pc2MvY2FwdHVy ZV9jbwogICAgLy8gU2FuaXRpemVycyBjYW4gY2F1c2UgZW5vdWdoIGNvZGUgYmxvYXQgdGhhdCB0 aGUg4oCcbmVhcmJ54oCdIGNoZWNrIHdvdWxkCiAgICAvLyBsaWtlbHkgZmFpbC4KICAgIGNvbnN0 IHVpbnRwdHJfdCBrUmVmZXJlbmNlUEMgPQotSW5kZXg6IGNocm9taXVtLTEzMC4wLjY3MjMuNDQv dGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvdXRpbC9taXNjL2NhcHR1cmVfY29udGV4dF90 ZXN0X3V0aWxfbGludXguY2MKK0luZGV4OiBjaHJvbWl1bS0xMzQuMC42OTk4LjM1L3RoaXJkX3Bh cnR5L2NyYXNocGFkL2NyYXNocGFkL3V0aWwvbWlzYy9jYXB0dXJlX2NvbnRleHRfdGVzdF91dGls X2xpbnV4LmNjCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gY2hyb21pdW0tMTMwLjAuNjcyMy40NC5vcmlnL3Ro aXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3V0aWwvbWlzYy9jYXB0dXJlX2NvbnRleHRfdGVz dF91dGlsX2xpbnV4LmNjCi0rKysgY2hyb21pdW0tMTMwLjAuNjcyMy40NC90aGlyZF9wYXJ0eS9j cmFzaHBhZC9jcmFzaHBhZC91dGlsL21pc2MvY2FwdHVyZV9jb250ZXh0X3Rlc3RfdXRpbF9saW51 eC5jYworLS0tIGNocm9taXVtLTEzNC4wLjY5OTguMzUub3JpZy90aGlyZF9wYXJ0eS9jcmFzaHBh ZC9jcmFzaHBhZC91dGlsL21pc2MvY2FwdHVyZV9jb250ZXh0X3Rlc3RfdXRpbF9saW51eC5jYwor KysrIGNocm9taXVtLTEzNC4wLjY5OTguMzUvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQv dXRpbC9taXNjL2NhcHR1cmVfY29udGV4dF90ZXN0X3V0aWxfbGludXguY2MKIEBAIC0zOCw2ICsz OCw4IEBAIHZvaWQgU2FuaXR5Q2hlY2tDb250ZXh0KGNvbnN0IE5hdGl2ZUNQVUMKICAjZWxpZiBk ZWZpbmVkKEFSQ0hfQ1BVX1JJU0NWNjQpCiAgICBFWFBFQ1RfRVEoY29udGV4dC51Y19tY29udGV4 dC5fX2dyZWdzWzEwXSwKCmRpZmYgLS1naXQgYS8wMDAxLUltcGxlbWVudC1zdXBwb3J0LWZvci1w cGM2NC1vbi1MaW51eC5wYXRjaCBiLzAwMDEtSW1wbGVtZW50LXN1cHBvcnQtZm9yLXBwYzY0LW9u LUxpbnV4LnBhdGNoCmluZGV4IDgyNTMzOTguLjkwZWVkZjYgMTAwNjQ0Ci0tLSBhLzAwMDEtSW1w bGVtZW50LXN1cHBvcnQtZm9yLXBwYzY0LW9uLUxpbnV4LnBhdGNoCisrKyBiLzAwMDEtSW1wbGVt ZW50LXN1cHBvcnQtZm9yLXBwYzY0LW9uLUxpbnV4LnBhdGNoCkBAIC01NCwxMCArNTQsMTAgQEAg aHR0cHM6Ly93aWtpLnJhcHRvcmNzLmNvbS93aWtpL1BvcnRpbmcvQ2hyb21pdW0KICBzcmMvdG9v bHMvbGludXgvbWQyY29yZS9taW5pZHVtcC0yLWNvcmUuY2MgICAgfCA0NSArKysrKysrKysrKysr KysKICAyNSBmaWxlcyBjaGFuZ2VkLCAyODEgaW5zZXJ0aW9ucygrKSwgMzUgZGVsZXRpb25zKC0p CiAKLUluZGV4OiBjaHJvbWl1bS0xMzAuMC42NzIzLjQ0L3RoaXJkX3BhcnR5L2JyZWFrcGFkL2Jy ZWFrcGFkL3NyYy9jbGllbnQvbGludXgvZHVtcF93cml0ZXJfY29tbW9uL3Jhd19jb250ZXh0X2Nw dS5oCitJbmRleDogY2hyb21pdW0tMTM0LjAuNjk5OC4zNS90aGlyZF9wYXJ0eS9icmVha3BhZC9i cmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L2R1bXBfd3JpdGVyX2NvbW1vbi9yYXdfY29udGV4dF9j cHUuaAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQotLS0tIGNocm9taXVtLTEzMC4wLjY3MjMuNDQub3JpZy90aGlyZF9w YXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L2R1bXBfd3JpdGVyX2NvbW1v bi9yYXdfY29udGV4dF9jcHUuaAotKysrIGNocm9taXVtLTEzMC4wLjY3MjMuNDQvdGhpcmRfcGFy dHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9kdW1wX3dyaXRlcl9jb21tb24v cmF3X2NvbnRleHRfY3B1LmgKKy0tLSBjaHJvbWl1bS0xMzQuMC42OTk4LjM1Lm9yaWcvdGhpcmRf cGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9kdW1wX3dyaXRlcl9jb21t b24vcmF3X2NvbnRleHRfY3B1LmgKKysrKyBjaHJvbWl1bS0xMzQuMC42OTk4LjM1L3RoaXJkX3Bh cnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvZHVtcF93cml0ZXJfY29tbW9u L3Jhd19jb250ZXh0X2NwdS5oCiBAQCAtNTEsNiArNTEsOCBAQCB0eXBlZGVmIE1EUmF3Q29udGV4 dFJJU0NWNjQgUmF3Q29udGV4dENQCiAgIyBlbHNlCiAgIyAgZXJyb3IgIlVuZXhwZWN0ZWQgX19y aXNjdl94bGVuIgpAQCAtNjcsMTAgKzY3LDEwIEBAIEluZGV4OiBjaHJvbWl1bS0xMzAuMC42NzIz LjQ0L3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvZHVtCiAg I2Vsc2UKICAjZXJyb3IgIlRoaXMgY29kZSBoYXMgbm90IGJlZW4gcG9ydGVkIHRvIHlvdXIgcGxh dGZvcm0geWV0LiIKICAjZW5kaWYKLUluZGV4OiBjaHJvbWl1bS0xMzAuMC42NzIzLjQ0L3RoaXJk X3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvZHVtcF93cml0ZXJfY29t bW9uL3RocmVhZF9pbmZvLmNjCitJbmRleDogY2hyb21pdW0tMTM0LjAuNjk5OC4zNS90aGlyZF9w YXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L2R1bXBfd3JpdGVyX2NvbW1v bi90aHJlYWRfaW5mby5jYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGNocm9taXVtLTEzMC4wLjY3MjMuNDQu b3JpZy90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L2R1bXBf d3JpdGVyX2NvbW1vbi90aHJlYWRfaW5mby5jYwotKysrIGNocm9taXVtLTEzMC4wLjY3MjMuNDQv dGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9kdW1wX3dyaXRl cl9jb21tb24vdGhyZWFkX2luZm8uY2MKKy0tLSBjaHJvbWl1bS0xMzQuMC42OTk4LjM1Lm9yaWcv dGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9kdW1wX3dyaXRl cl9jb21tb24vdGhyZWFkX2luZm8uY2MKKysrKyBjaHJvbWl1bS0xMzQuMC42OTk4LjM1L3RoaXJk X3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvZHVtcF93cml0ZXJfY29t bW9uL3RocmVhZF9pbmZvLmNjCiBAQCAtMzM2LDcgKzMzNiw0MiBAQCB2b2lkIFRocmVhZEluZm86 OkZpbGxDUFVDb250ZXh0KFJhd0NvbnRlCiAgI2Vycm9yICJVbmV4cGVjdGVkIF9fcmlzY3ZfeGxl biIKICAjZW5kaWYKQEAgLTE1MywxMCArMTUzLDEwIEBAIEluZGV4OiBjaHJvbWl1bS0xMzAuMC42 NzIzLjQ0L3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvZHVt CiArI2VuZGlmCiArCiAgfSAgLy8gbmFtZXNwYWNlIGdvb2dsZV9icmVha3BhZAotSW5kZXg6IGNo cm9taXVtLTEzMC4wLjY3MjMuNDQvdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2Ns aWVudC9saW51eC9kdW1wX3dyaXRlcl9jb21tb24vdGhyZWFkX2luZm8uaAorSW5kZXg6IGNocm9t aXVtLTEzNC4wLjY5OTguMzUvdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVu dC9saW51eC9kdW1wX3dyaXRlcl9jb21tb24vdGhyZWFkX2luZm8uaAogPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0t IGNocm9taXVtLTEzMC4wLjY3MjMuNDQub3JpZy90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3Bh ZC9zcmMvY2xpZW50L2xpbnV4L2R1bXBfd3JpdGVyX2NvbW1vbi90aHJlYWRfaW5mby5oCi0rKysg Y2hyb21pdW0tMTMwLjAuNjcyMy40NC90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMv Y2xpZW50L2xpbnV4L2R1bXBfd3JpdGVyX2NvbW1vbi90aHJlYWRfaW5mby5oCistLS0gY2hyb21p dW0tMTM0LjAuNjk5OC4zNS5vcmlnL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9j bGllbnQvbGludXgvZHVtcF93cml0ZXJfY29tbW9uL3RocmVhZF9pbmZvLmgKKysrKyBjaHJvbWl1 bS0xMzQuMC42OTk4LjM1L3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQv bGludXgvZHVtcF93cml0ZXJfY29tbW9uL3RocmVhZF9pbmZvLmgKIEBAIC02Nyw2ICs2NywxMCBA QCBzdHJ1Y3QgVGhyZWFkSW5mbyB7CiAgICAvLyBVc2UgdGhlIHN0cnVjdHVyZXMgZGVmaW5lZCBp biA8c3lzL3VzZXIuaD4KICAgIHN0cnVjdCB1c2VyX3JlZ3Nfc3RydWN0IHJlZ3M7CkBAIC0xODAs MTAgKzE4MCwxMCBAQCBJbmRleDogY2hyb21pdW0tMTMwLjAuNjcyMy40NC90aGlyZF9wYXJ0eS9i cmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L2R1bQogIH07CiAgCiAgfSAgLy8gbmFt ZXNwYWNlIGdvb2dsZV9icmVha3BhZAotSW5kZXg6IGNocm9taXVtLTEzMC4wLjY3MjMuNDQvdGhp cmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9kdW1wX3dyaXRlcl9j b21tb24vdWNvbnRleHRfcmVhZGVyLmNjCitJbmRleDogY2hyb21pdW0tMTM0LjAuNjk5OC4zNS90 aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L2R1bXBfd3JpdGVy X2NvbW1vbi91Y29udGV4dF9yZWFkZXIuY2MKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBjaHJvbWl1bS0xMzAu MC42NzIzLjQ0Lm9yaWcvdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9s aW51eC9kdW1wX3dyaXRlcl9jb21tb24vdWNvbnRleHRfcmVhZGVyLmNjCi0rKysgY2hyb21pdW0t MTMwLjAuNjcyMy40NC90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xp bnV4L2R1bXBfd3JpdGVyX2NvbW1vbi91Y29udGV4dF9yZWFkZXIuY2MKKy0tLSBjaHJvbWl1bS0x MzQuMC42OTk4LjM1Lm9yaWcvdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVu dC9saW51eC9kdW1wX3dyaXRlcl9jb21tb24vdWNvbnRleHRfcmVhZGVyLmNjCisrKysgY2hyb21p dW0tMTM0LjAuNjk5OC4zNS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50 L2xpbnV4L2R1bXBfd3JpdGVyX2NvbW1vbi91Y29udGV4dF9yZWFkZXIuY2MKIEBAIC0zMjQsNiAr MzI0LDQ4IEBAIHZvaWQgVUNvbnRleHRSZWFkZXI6OkZpbGxDUFVDb250ZXh0KFJhd0MKICAjZXJy b3IgIlVuZXhwZWN0ZWQgX19yaXNjdl94bGVuIgogICNlbmRpZgpAQCAtMjMzLDEwICsyMzMsMTAg QEAgSW5kZXg6IGNocm9taXVtLTEzMC4wLjY3MjMuNDQvdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJl YWtwYWQvc3JjL2NsaWVudC9saW51eC9kdW0KICAjZW5kaWYKICAKICB9ICAvLyBuYW1lc3BhY2Ug Z29vZ2xlX2JyZWFrcGFkCi1JbmRleDogY2hyb21pdW0tMTMwLjAuNjcyMy40NC90aGlyZF9wYXJ0 eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L2R1bXBfd3JpdGVyX2NvbW1vbi91 Y29udGV4dF9yZWFkZXIuaAorSW5kZXg6IGNocm9taXVtLTEzNC4wLjY5OTguMzUvdGhpcmRfcGFy dHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9kdW1wX3dyaXRlcl9jb21tb24v dWNvbnRleHRfcmVhZGVyLmgKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBjaHJvbWl1bS0xMzAuMC42NzIzLjQ0 Lm9yaWcvdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9kdW1w X3dyaXRlcl9jb21tb24vdWNvbnRleHRfcmVhZGVyLmgKLSsrKyBjaHJvbWl1bS0xMzAuMC42NzIz LjQ0L3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvZHVtcF93 cml0ZXJfY29tbW9uL3Vjb250ZXh0X3JlYWRlci5oCistLS0gY2hyb21pdW0tMTM0LjAuNjk5OC4z NS5vcmlnL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvZHVt cF93cml0ZXJfY29tbW9uL3Vjb250ZXh0X3JlYWRlci5oCisrKysgY2hyb21pdW0tMTM0LjAuNjk5 OC4zNS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L2R1bXBf d3JpdGVyX2NvbW1vbi91Y29udGV4dF9yZWFkZXIuaAogQEAgLTU0LDYgKzU0LDkgQEAgc3RydWN0 IFVDb250ZXh0UmVhZGVyIHsKICAjZWxpZiBkZWZpbmVkKF9fYWFyY2g2NF9fKQogICAgc3RhdGlj IHZvaWQgRmlsbENQVUNvbnRleHQoUmF3Q29udGV4dENQVSogb3V0LCBjb25zdCB1Y29udGV4dF90 KiB1YywKQEAgLTI0NywxMCArMjQ3LDEwIEBAIEluZGV4OiBjaHJvbWl1bS0xMzAuMC42NzIzLjQ0 L3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvZHVtCiAgI2Vs c2UKICAgIHN0YXRpYyB2b2lkIEZpbGxDUFVDb250ZXh0KFJhd0NvbnRleHRDUFUqIG91dCwgY29u c3QgdWNvbnRleHRfdCogdWMpOwogICNlbmRpZgotSW5kZXg6IGNocm9taXVtLTEzMC4wLjY3MjMu NDQvdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9oYW5kbGVy L2V4Y2VwdGlvbl9oYW5kbGVyLmNjCitJbmRleDogY2hyb21pdW0tMTM0LjAuNjk5OC4zNS90aGly ZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L2hhbmRsZXIvZXhjZXB0 aW9uX2hhbmRsZXIuY2MKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBjaHJvbWl1bS0xMzAuMC42NzIzLjQ0Lm9y aWcvdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9oYW5kbGVy L2V4Y2VwdGlvbl9oYW5kbGVyLmNjCi0rKysgY2hyb21pdW0tMTMwLjAuNjcyMy40NC90aGlyZF9w YXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L2hhbmRsZXIvZXhjZXB0aW9u X2hhbmRsZXIuY2MKKy0tLSBjaHJvbWl1bS0xMzQuMC42OTk4LjM1Lm9yaWcvdGhpcmRfcGFydHkv YnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9oYW5kbGVyL2V4Y2VwdGlvbl9oYW5k bGVyLmNjCisrKysgY2hyb21pdW0tMTM0LjAuNjk5OC4zNS90aGlyZF9wYXJ0eS9icmVha3BhZC9i cmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L2hhbmRsZXIvZXhjZXB0aW9uX2hhbmRsZXIuY2MKIEBA IC00NjQsNiArNDY0LDEzIEBAIGJvb2wgRXhjZXB0aW9uSGFuZGxlcjo6SGFuZGxlU2lnbmFsKGlu dAogICAgICBtZW1jcHkoJmdfY3Jhc2hfY29udGV4dF8uZmxvYXRfc3RhdGUsIGZwX3B0ciwKICAg ICAgICAgICAgIHNpemVvZihnX2NyYXNoX2NvbnRleHRfLmZsb2F0X3N0YXRlKSk7CkBAIC0yOTUs MTAgKzI5NSwxMCBAQCBJbmRleDogY2hyb21pdW0tMTMwLjAuNjcyMy40NC90aGlyZF9wYXJ0eS9i cmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L2hhbgogICNlbGlmIGRlZmluZWQoX19y aXNjdikKICAgIGNvbnRleHQuc2lnaW5mby5zaV9hZGRyID0KICAgICAgICByZWludGVycHJldF9j YXN0PHZvaWQqPihjb250ZXh0LmNvbnRleHQudWNfbWNvbnRleHQuX19ncmVnc1tSRUdfUENdKTsK LUluZGV4OiBjaHJvbWl1bS0xMzAuMC42NzIzLjQ0L3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFr cGFkL3NyYy9jbGllbnQvbGludXgvaGFuZGxlci9leGNlcHRpb25faGFuZGxlci5oCitJbmRleDog Y2hyb21pdW0tMTM0LjAuNjk5OC4zNS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMv Y2xpZW50L2xpbnV4L2hhbmRsZXIvZXhjZXB0aW9uX2hhbmRsZXIuaAogPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0t IGNocm9taXVtLTEzMC4wLjY3MjMuNDQub3JpZy90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3Bh ZC9zcmMvY2xpZW50L2xpbnV4L2hhbmRsZXIvZXhjZXB0aW9uX2hhbmRsZXIuaAotKysrIGNocm9t aXVtLTEzMC4wLjY3MjMuNDQvdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVu dC9saW51eC9oYW5kbGVyL2V4Y2VwdGlvbl9oYW5kbGVyLmgKKy0tLSBjaHJvbWl1bS0xMzQuMC42 OTk4LjM1Lm9yaWcvdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51 eC9oYW5kbGVyL2V4Y2VwdGlvbl9oYW5kbGVyLmgKKysrKyBjaHJvbWl1bS0xMzQuMC42OTk4LjM1 L3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvaGFuZGxlci9l eGNlcHRpb25faGFuZGxlci5oCiBAQCAtMjAwLDcgKzIwMCwxMSBAQCBjbGFzcyBFeGNlcHRpb25I YW5kbGVyIHsKICAgICAgc2lnaW5mb190IHNpZ2luZm87CiAgICAgIHBpZF90IHRpZDsgIC8vIHRo ZSBjcmFzaGluZyB0aHJlYWQuCkBAIC0zMTIsMTAgKzMxMiwxMCBAQCBJbmRleDogY2hyb21pdW0t MTMwLjAuNjcyMy40NC90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xp bnV4L2hhbgogICAgICBmcHN0YXRlX3QgZmxvYXRfc3RhdGU7CiAgI2VuZGlmCiAgICB9OwotSW5k ZXg6IGNocm9taXVtLTEzMC4wLjY3MjMuNDQvdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQv c3JjL2NsaWVudC9saW51eC9oYW5kbGVyL2V4Y2VwdGlvbl9oYW5kbGVyX3VuaXR0ZXN0LmNjCitJ bmRleDogY2hyb21pdW0tMTM0LjAuNjk5OC4zNS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3Bh ZC9zcmMvY2xpZW50L2xpbnV4L2hhbmRsZXIvZXhjZXB0aW9uX2hhbmRsZXJfdW5pdHRlc3QuY2MK ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KLS0tLSBjaHJvbWl1bS0xMzAuMC42NzIzLjQ0Lm9yaWcvdGhpcmRfcGFydHkv YnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9oYW5kbGVyL2V4Y2VwdGlvbl9oYW5k bGVyX3VuaXR0ZXN0LmNjCi0rKysgY2hyb21pdW0tMTMwLjAuNjcyMy40NC90aGlyZF9wYXJ0eS9i cmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L2hhbmRsZXIvZXhjZXB0aW9uX2hhbmRs ZXJfdW5pdHRlc3QuY2MKKy0tLSBjaHJvbWl1bS0xMzQuMC42OTk4LjM1Lm9yaWcvdGhpcmRfcGFy dHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9oYW5kbGVyL2V4Y2VwdGlvbl9o YW5kbGVyX3VuaXR0ZXN0LmNjCisrKysgY2hyb21pdW0tMTM0LjAuNjk5OC4zNS90aGlyZF9wYXJ0 eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L2hhbmRsZXIvZXhjZXB0aW9uX2hh bmRsZXJfdW5pdHRlc3QuY2MKIEBAIC0zMjEsNyArMzIxLDcgQEAgVEVTVChFeGNlcHRpb25IYW5k bGVyVGVzdCwgUGFyYWxsZWxDaGlsZAogICAgICAgIEFTU0VSVF9FUShTSUdTRUdWLCBXVEVSTVNJ RyhzdGF0dXMpKTsKICAgICAgICByZXR1cm47CkBAIC0zNDcsMTAgKzM0NywxMCBAQCBJbmRleDog Y2hyb21pdW0tMTMwLjAuNjcyMy40NC90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMv Y2xpZW50L2xpbnV4L2hhbgogICAgY29uc3QgaW50IGtPZmZzZXQgPSBrTWVtb3J5U2l6ZSAtIHNp emVvZihrSWxsZWdhbEluc3RydWN0aW9uKTsKICAKICAgIGNvbnN0IHBpZF90IGNoaWxkID0gZm9y aygpOwotSW5kZXg6IGNocm9taXVtLTEzMC4wLjY3MjMuNDQvdGhpcmRfcGFydHkvYnJlYWtwYWQv YnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9taWNyb2R1bXBfd3JpdGVyL21pY3JvZHVtcF93cml0 ZXIuY2MKK0luZGV4OiBjaHJvbWl1bS0xMzQuMC42OTk4LjM1L3RoaXJkX3BhcnR5L2JyZWFrcGFk L2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvbWljcm9kdW1wX3dyaXRlci9taWNyb2R1bXBfd3Jp dGVyLmNjCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09Ci0tLS0gY2hyb21pdW0tMTMwLjAuNjcyMy40NC5vcmlnL3RoaXJk X3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvbWljcm9kdW1wX3dyaXRl ci9taWNyb2R1bXBfd3JpdGVyLmNjCi0rKysgY2hyb21pdW0tMTMwLjAuNjcyMy40NC90aGlyZF9w YXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pY3JvZHVtcF93cml0ZXIv bWljcm9kdW1wX3dyaXRlci5jYworLS0tIGNocm9taXVtLTEzNC4wLjY5OTguMzUub3JpZy90aGly ZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pY3JvZHVtcF93cml0 ZXIvbWljcm9kdW1wX3dyaXRlci5jYworKysrIGNocm9taXVtLTEzNC4wLjY5OTguMzUvdGhpcmRf cGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9taWNyb2R1bXBfd3JpdGVy L21pY3JvZHVtcF93cml0ZXIuY2MKIEBAIC0xNDEsNyArMTQxLDkgQEAgY2xhc3MgTWljcm9kdW1w V3JpdGVyIHsKICAgICAgICAgICAgICAgICAgICBjb25zdCBNaWNyb2R1bXBFeHRyYUluZm8mIG1p Y3JvZHVtcF9leHRyYV9pbmZvLAogICAgICAgICAgICAgICAgICAgIExpbnV4RHVtcGVyKiBkdW1w ZXIpCkBAIC0zOTMsMTAgKzM5MywxMCBAQCBJbmRleDogY2hyb21pdW0tMTMwLjAuNjcyMy40NC90 aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pYwogICAgY29u c3QgZ29vZ2xlX2JyZWFrcGFkOjpmcHN0YXRlX3QqIGNvbnN0IGZsb2F0X3N0YXRlXzsKICAjZW5k aWYKICAgIExpbnV4RHVtcGVyKiBkdW1wZXJfOwotSW5kZXg6IGNocm9taXVtLTEzMC4wLjY3MjMu NDQvdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9taWNyb2R1 bXBfd3JpdGVyL21pY3JvZHVtcF93cml0ZXJfdW5pdHRlc3QuY2MKK0luZGV4OiBjaHJvbWl1bS0x MzQuMC42OTk4LjM1L3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGlu dXgvbWljcm9kdW1wX3dyaXRlci9taWNyb2R1bXBfd3JpdGVyX3VuaXR0ZXN0LmNjCiA9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09Ci0tLS0gY2hyb21pdW0tMTMwLjAuNjcyMy40NC5vcmlnL3RoaXJkX3BhcnR5L2JyZWFrcGFk L2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvbWljcm9kdW1wX3dyaXRlci9taWNyb2R1bXBfd3Jp dGVyX3VuaXR0ZXN0LmNjCi0rKysgY2hyb21pdW0tMTMwLjAuNjcyMy40NC90aGlyZF9wYXJ0eS9i cmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pY3JvZHVtcF93cml0ZXIvbWljcm9k dW1wX3dyaXRlcl91bml0dGVzdC5jYworLS0tIGNocm9taXVtLTEzNC4wLjY5OTguMzUub3JpZy90 aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pY3JvZHVtcF93 cml0ZXIvbWljcm9kdW1wX3dyaXRlcl91bml0dGVzdC5jYworKysrIGNocm9taXVtLTEzNC4wLjY5 OTguMzUvdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9taWNy b2R1bXBfd3JpdGVyL21pY3JvZHVtcF93cml0ZXJfdW5pdHRlc3QuY2MKIEBAIC0yODIsMTAgKzI4 MiwxOSBAQCBURVNUKE1pY3JvZHVtcFdyaXRlclRlc3QsIEJhc2ljV2l0aE1hcHBpCiAgICBDcmFz aEFuZEdldE1pY3JvZHVtcChtYXBwaW5ncywgTWljcm9kdW1wRXh0cmFJbmZvKCksICZidWYpOwog ICAgQVNTRVJUX1RSVUUoQ29udGFpbnNNaWNyb2R1bXAoYnVmKSk7CkBAIC00MjAsMTAgKzQyMCwx MCBAQCBJbmRleDogY2hyb21pdW0tMTMwLjAuNjcyMy40NC90aGlyZF9wYXJ0eS9icmVha3BhZC9i cmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pYwogICNlbHNlCiAgICBBU1NFUlRfTkUoc3RkOjpz dHJpbmc6Om5wb3MsCiAgICAgICAgICAgICAgYnVmLmZpbmQoIk0gMDAwMDEwMDAgMDAwMDAwMkEg MDAwMDEwMDAgIgotSW5kZXg6IGNocm9taXVtLTEzMC4wLjY3MjMuNDQvdGhpcmRfcGFydHkvYnJl YWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9taW5pZHVtcF93cml0ZXIvbGludXhfY29y ZV9kdW1wZXIuY2MKK0luZGV4OiBjaHJvbWl1bS0xMzQuMC42OTk4LjM1L3RoaXJkX3BhcnR5L2Jy ZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvbWluaWR1bXBfd3JpdGVyL2xpbnV4X2Nv cmVfZHVtcGVyLmNjCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gY2hyb21pdW0tMTMwLjAuNjcyMy40NC5vcmln L3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvbWluaWR1bXBf d3JpdGVyL2xpbnV4X2NvcmVfZHVtcGVyLmNjCi0rKysgY2hyb21pdW0tMTMwLjAuNjcyMy40NC90 aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dy aXRlci9saW51eF9jb3JlX2R1bXBlci5jYworLS0tIGNocm9taXVtLTEzNC4wLjY5OTguMzUub3Jp Zy90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1w X3dyaXRlci9saW51eF9jb3JlX2R1bXBlci5jYworKysrIGNocm9taXVtLTEzNC4wLjY5OTguMzUv dGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9taW5pZHVtcF93 cml0ZXIvbGludXhfY29yZV9kdW1wZXIuY2MKIEBAIC0xMTgsNiArMTE4LDkgQEAgYm9vbCBMaW51 eENvcmVEdW1wZXI6OkdldFRocmVhZEluZm9CeUluZAogICNlbGlmIGRlZmluZWQoX19yaXNjdikK ICAgICAgc3RhY2tfcG9pbnRlciA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludDhfdCo+KApAQCAtNDQ2 LDEwICs0NDYsMTAgQEAgSW5kZXg6IGNocm9taXVtLTEzMC4wLjY3MjMuNDQvdGhpcmRfcGFydHkv YnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9taW4KICAjIGlmIGRlZmluZWQoX19B TkRST0lEX18pCiAgICAgICAgICBmb3IgKGludCBpID0gRUZfUjA7IGkgPD0gRUZfUjMxOyBpKysp CiAgICAgICAgICAgIGluZm8ubWNvbnRleHQuZ3JlZ3NbaSAtIEVGX1IwXSA9IHN0YXR1cy0+cHJf cmVnW2ldOwotSW5kZXg6IGNocm9taXVtLTEzMC4wLjY3MjMuNDQvdGhpcmRfcGFydHkvYnJlYWtw YWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9taW5pZHVtcF93cml0ZXIvbGludXhfZHVtcGVy LmNjCitJbmRleDogY2hyb21pdW0tMTM0LjAuNjk5OC4zNS90aGlyZF9wYXJ0eS9icmVha3BhZC9i cmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9saW51eF9kdW1wZXIuY2MK ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KLS0tLSBjaHJvbWl1bS0xMzAuMC42NzIzLjQ0Lm9yaWcvdGhpcmRfcGFydHkv YnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9taW5pZHVtcF93cml0ZXIvbGludXhf ZHVtcGVyLmNjCi0rKysgY2hyb21pdW0tMTMwLjAuNjcyMy40NC90aGlyZF9wYXJ0eS9icmVha3Bh ZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9saW51eF9kdW1wZXIu Y2MKKy0tLSBjaHJvbWl1bS0xMzQuMC42OTk4LjM1Lm9yaWcvdGhpcmRfcGFydHkvYnJlYWtwYWQv YnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9taW5pZHVtcF93cml0ZXIvbGludXhfZHVtcGVyLmNj CisrKysgY2hyb21pdW0tMTM0LjAuNjk5OC4zNS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3Bh ZC9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9saW51eF9kdW1wZXIuY2MKIEBAIC03 NzAsNyArNzcwLDkgQEAgYm9vbCBMaW51eER1bXBlcjo6R2V0U3RhY2tJbmZvKGNvbnN0IHZvaQog ICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8dWludDhfdCo+KGludF9zdGFja19wb2ludGVyICYgfihw YWdlX3NpemUgLSAxKSk7CiAgCkBAIC00NjEsMTAgKzQ2MSwxMCBAQCBJbmRleDogY2hyb21pdW0t MTMwLjAuNjcyMy40NC90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xp bnV4L21pbgogIAogICAgY29uc3QgTWFwcGluZ0luZm8qIG1hcHBpbmcgPSBGaW5kTWFwcGluZyhz dGFja19wb2ludGVyKTsKICAgIGlmICghbWFwcGluZykKLUluZGV4OiBjaHJvbWl1bS0xMzAuMC42 NzIzLjQ0L3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvbWlu aWR1bXBfd3JpdGVyL2xpbnV4X2R1bXBlci5oCitJbmRleDogY2hyb21pdW0tMTM0LjAuNjk5OC4z NS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1w X3dyaXRlci9saW51eF9kdW1wZXIuaAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGNocm9taXVtLTEzMC4wLjY3 MjMuNDQub3JpZy90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4 L21pbmlkdW1wX3dyaXRlci9saW51eF9kdW1wZXIuaAotKysrIGNocm9taXVtLTEzMC4wLjY3MjMu NDQvdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9taW5pZHVt cF93cml0ZXIvbGludXhfZHVtcGVyLmgKKy0tLSBjaHJvbWl1bS0xMzQuMC42OTk4LjM1Lm9yaWcv dGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9taW5pZHVtcF93 cml0ZXIvbGludXhfZHVtcGVyLmgKKysrKyBjaHJvbWl1bS0xMzQuMC42OTk4LjM1L3RoaXJkX3Bh cnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvbWluaWR1bXBfd3JpdGVyL2xp bnV4X2R1bXBlci5oCiBAQCAtNjQsNyArNjQsOCBAQCBuYW1lc3BhY2UgZ29vZ2xlX2JyZWFrcGFk IHsKICB0eXBlZGVmIEVsZjMyX2F1eHZfdCBlbGZfYXV4X2VudHJ5OwogICNlbGlmIGRlZmluZWQo X194ODZfNjQpIHx8IGRlZmluZWQoX19hYXJjaDY0X18pIHx8IFwKQEAgLTQ3NSwxMCArNDc1LDEw IEBAIEluZGV4OiBjaHJvbWl1bS0xMzAuMC42NzIzLjQ0L3RoaXJkX3BhcnR5L2JyZWFrcGFkL2Jy ZWFrcGFkL3NyYy9jbGllbnQvbGludXgvbWluCiAgdHlwZWRlZiBFbGY2NF9hdXh2X3QgZWxmX2F1 eF9lbnRyeTsKICAjZW5kaWYKICAKLUluZGV4OiBjaHJvbWl1bS0xMzAuMC42NzIzLjQ0L3RoaXJk X3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvbWluaWR1bXBfd3JpdGVy L2xpbnV4X2R1bXBlcl91bml0dGVzdF9oZWxwZXIuY2MKK0luZGV4OiBjaHJvbWl1bS0xMzQuMC42 OTk4LjM1L3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvbWlu aWR1bXBfd3JpdGVyL2xpbnV4X2R1bXBlcl91bml0dGVzdF9oZWxwZXIuY2MKID09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K LS0tLSBjaHJvbWl1bS0xMzAuMC42NzIzLjQ0Lm9yaWcvdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJl YWtwYWQvc3JjL2NsaWVudC9saW51eC9taW5pZHVtcF93cml0ZXIvbGludXhfZHVtcGVyX3VuaXR0 ZXN0X2hlbHBlci5jYwotKysrIGNocm9taXVtLTEzMC4wLjY3MjMuNDQvdGhpcmRfcGFydHkvYnJl YWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9taW5pZHVtcF93cml0ZXIvbGludXhfZHVt cGVyX3VuaXR0ZXN0X2hlbHBlci5jYworLS0tIGNocm9taXVtLTEzNC4wLjY5OTguMzUub3JpZy90 aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dy aXRlci9saW51eF9kdW1wZXJfdW5pdHRlc3RfaGVscGVyLmNjCisrKysgY2hyb21pdW0tMTM0LjAu Njk5OC4zNS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21p bmlkdW1wX3dyaXRlci9saW51eF9kdW1wZXJfdW5pdHRlc3RfaGVscGVyLmNjCiBAQCAtNTYsNiAr NTYsOCBAQAogICNkZWZpbmUgVElEX1BUUl9SRUdJU1RFUiAiJDEiCiAgI2VsaWYgZGVmaW5lZChf X3Jpc2N2KQpAQCAtNDg4LDEwICs0ODgsMTAgQEAgSW5kZXg6IGNocm9taXVtLTEzMC4wLjY3MjMu NDQvdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9taW4KICAj ZWxzZQogICNlcnJvciBUaGlzIHRlc3QgaGFzIG5vdCBiZWVuIHBvcnRlZCB0byB0aGlzIHBsYXRm b3JtLgogICNlbmRpZgotSW5kZXg6IGNocm9taXVtLTEzMC4wLjY3MjMuNDQvdGhpcmRfcGFydHkv YnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9taW5pZHVtcF93cml0ZXIvbGludXhf cHRyYWNlX2R1bXBlci5jYworSW5kZXg6IGNocm9taXVtLTEzNC4wLjY5OTguMzUvdGhpcmRfcGFy dHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9taW5pZHVtcF93cml0ZXIvbGlu dXhfcHRyYWNlX2R1bXBlci5jYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGNocm9taXVtLTEzMC4wLjY3MjMu NDQub3JpZy90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21p bmlkdW1wX3dyaXRlci9saW51eF9wdHJhY2VfZHVtcGVyLmNjCi0rKysgY2hyb21pdW0tMTMwLjAu NjcyMy40NC90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21p bmlkdW1wX3dyaXRlci9saW51eF9wdHJhY2VfZHVtcGVyLmNjCistLS0gY2hyb21pdW0tMTM0LjAu Njk5OC4zNS5vcmlnL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGlu dXgvbWluaWR1bXBfd3JpdGVyL2xpbnV4X3B0cmFjZV9kdW1wZXIuY2MKKysrKyBjaHJvbWl1bS0x MzQuMC42OTk4LjM1L3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGlu dXgvbWluaWR1bXBfd3JpdGVyL2xpbnV4X3B0cmFjZV9kdW1wZXIuY2MKIEBAIC0yMDgsMTIgKzIw OCwxMiBAQCBib29sIExpbnV4UHRyYWNlRHVtcGVyOjpSZWFkUmVnaXN0ZXJTZXQoCiAgI2lmZGVm IFBUUkFDRV9HRVRSRUdTRVQKICAgIHN0cnVjdCBpb3ZlYyBpbzsKQEAgLTUzMywxMCArNTMzLDEw IEBAIEluZGV4OiBjaHJvbWl1bS0xMzAuMC42NzIzLjQ0L3RoaXJkX3BhcnR5L2JyZWFrcGFkL2Jy ZWFrcGFkL3NyYy9jbGllbnQvbGludXgvbWluCiAgI2Vsc2UKICAjIGVycm9yICJUaGlzIGNvZGUg aGFzbid0IGJlZW4gcG9ydGVkIHRvIHlvdXIgcGxhdGZvcm0geWV0LiIKICAjZW5kaWYKLUluZGV4 OiBjaHJvbWl1bS0xMzAuMC42NzIzLjQ0L3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3Ny Yy9jbGllbnQvbGludXgvbWluaWR1bXBfd3JpdGVyL2xpbnV4X3B0cmFjZV9kdW1wZXJfdW5pdHRl c3QuY2MKK0luZGV4OiBjaHJvbWl1bS0xMzQuMC42OTk4LjM1L3RoaXJkX3BhcnR5L2JyZWFrcGFk L2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvbWluaWR1bXBfd3JpdGVyL2xpbnV4X3B0cmFjZV9k dW1wZXJfdW5pdHRlc3QuY2MKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBjaHJvbWl1bS0xMzAuMC42NzIzLjQ0 Lm9yaWcvdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9taW5p ZHVtcF93cml0ZXIvbGludXhfcHRyYWNlX2R1bXBlcl91bml0dGVzdC5jYwotKysrIGNocm9taXVt LTEzMC4wLjY3MjMuNDQvdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9s aW51eC9taW5pZHVtcF93cml0ZXIvbGludXhfcHRyYWNlX2R1bXBlcl91bml0dGVzdC5jYworLS0t IGNocm9taXVtLTEzNC4wLjY5OTguMzUub3JpZy90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3Bh ZC9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9saW51eF9wdHJhY2VfZHVtcGVyX3Vu aXR0ZXN0LmNjCisrKysgY2hyb21pdW0tMTM0LjAuNjk5OC4zNS90aGlyZF9wYXJ0eS9icmVha3Bh ZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9saW51eF9wdHJhY2Vf ZHVtcGVyX3VuaXR0ZXN0LmNjCiBAQCAtNDcwLDYgKzQ3MCw5IEBAIFRFU1QoTGludXhQdHJhY2VE dW1wZXJUZXN0LCBWZXJpZnlTdGFja1IKICAjZWxpZiBkZWZpbmVkKF9fcmlzY3YpCiAgICAgIHBp ZF90KiBwcm9jZXNzX3RpZF9sb2NhdGlvbiA9CkBAIC01NTYsMTAgKzU1NiwxMCBAQCBJbmRleDog Y2hyb21pdW0tMTMwLjAuNjcyMy40NC90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMv Y2xpZW50L2xpbnV4L21pbgogICNlbHNlCiAgI2Vycm9yIFRoaXMgdGVzdCBoYXMgbm90IGJlZW4g cG9ydGVkIHRvIHRoaXMgcGxhdGZvcm0uCiAgI2VuZGlmCi1JbmRleDogY2hyb21pdW0tMTMwLjAu NjcyMy40NC90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21p bmlkdW1wX3dyaXRlci9taW5pZHVtcF93cml0ZXIuY2MKK0luZGV4OiBjaHJvbWl1bS0xMzQuMC42 OTk4LjM1L3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvbWlu aWR1bXBfd3JpdGVyL21pbmlkdW1wX3dyaXRlci5jYwogPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGNocm9taXVt LTEzMC4wLjY3MjMuNDQub3JpZy90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xp ZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9taW5pZHVtcF93cml0ZXIuY2MKLSsrKyBjaHJvbWl1 bS0xMzAuMC42NzIzLjQ0L3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQv bGludXgvbWluaWR1bXBfd3JpdGVyL21pbmlkdW1wX3dyaXRlci5jYworLS0tIGNocm9taXVtLTEz NC4wLjY5OTguMzUub3JpZy90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50 L2xpbnV4L21pbmlkdW1wX3dyaXRlci9taW5pZHVtcF93cml0ZXIuY2MKKysrKyBjaHJvbWl1bS0x MzQuMC42OTk4LjM1L3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGlu dXgvbWluaWR1bXBfd3JpdGVyL21pbmlkdW1wX3dyaXRlci5jYwogQEAgLTE0NCw3ICsxNDQsOSBA QCBjbGFzcyBNaW5pZHVtcFdyaXRlciB7CiAgICAgICAgOiBmZF8obWluaWR1bXBfZmQpLAogICAg ICAgICAgcGF0aF8obWluaWR1bXBfcGF0aCksCkBAIC02MTMsMTAgKzYxMywxMCBAQCBJbmRleDog Y2hyb21pdW0tMTMwLjAuNjcyMy40NC90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMv Y2xpZW50L2xpbnV4L21pbgogICAgY29uc3QgZ29vZ2xlX2JyZWFrcGFkOjpmcHN0YXRlX3QqIGNv bnN0IGZsb2F0X3N0YXRlXzsgIC8vIGRpdHRvCiAgI2VuZGlmCiAgICBMaW51eER1bXBlciogZHVt cGVyXzsKLUluZGV4OiBjaHJvbWl1bS0xMzAuMC42NzIzLjQ0L3RoaXJkX3BhcnR5L2JyZWFrcGFk L2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvbWluaWR1bXBfd3JpdGVyL21pbmlkdW1wX3dyaXRl ci5oCitJbmRleDogY2hyb21pdW0tMTM0LjAuNjk5OC4zNS90aGlyZF9wYXJ0eS9icmVha3BhZC9i cmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9taW5pZHVtcF93cml0ZXIu aAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQotLS0tIGNocm9taXVtLTEzMC4wLjY3MjMuNDQub3JpZy90aGlyZF9wYXJ0 eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9taW5p ZHVtcF93cml0ZXIuaAotKysrIGNocm9taXVtLTEzMC4wLjY3MjMuNDQvdGhpcmRfcGFydHkvYnJl YWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9taW5pZHVtcF93cml0ZXIvbWluaWR1bXBf d3JpdGVyLmgKKy0tLSBjaHJvbWl1bS0xMzQuMC42OTk4LjM1Lm9yaWcvdGhpcmRfcGFydHkvYnJl YWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9taW5pZHVtcF93cml0ZXIvbWluaWR1bXBf d3JpdGVyLmgKKysrKyBjaHJvbWl1bS0xMzQuMC42OTk4LjM1L3RoaXJkX3BhcnR5L2JyZWFrcGFk L2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvbWluaWR1bXBfd3JpdGVyL21pbmlkdW1wX3dyaXRl ci5oCiBAQCAtNDcsNiArNDcsOCBAQCBjbGFzcyBFeGNlcHRpb25IYW5kbGVyOwogIAogICNpZiBk ZWZpbmVkKF9fYWFyY2g2NF9fKQpAQCAtNjI2LDEwICs2MjYsMTAgQEAgSW5kZXg6IGNocm9taXVt LTEzMC4wLjY3MjMuNDQvdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9s aW51eC9taW4KICAjZWxpZiAhZGVmaW5lZChfX0FSTV9FQUJJX18pICYmICFkZWZpbmVkKF9fbWlw c19fKQogIHR5cGVkZWYgc3RkOjpyZW1vdmVfcG9pbnRlcjxmcHJlZ3NldF90Pjo6dHlwZSBmcHN0 YXRlX3Q7CiAgI2VuZGlmCi1JbmRleDogY2hyb21pdW0tMTMwLjAuNjcyMy40NC90aGlyZF9wYXJ0 eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9taW5p ZHVtcF93cml0ZXJfdW5pdHRlc3QuY2MKK0luZGV4OiBjaHJvbWl1bS0xMzQuMC42OTk4LjM1L3Ro aXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvbWluaWR1bXBfd3Jp dGVyL21pbmlkdW1wX3dyaXRlcl91bml0dGVzdC5jYwogPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGNocm9taXVt LTEzMC4wLjY3MjMuNDQub3JpZy90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xp ZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9taW5pZHVtcF93cml0ZXJfdW5pdHRlc3QuY2MKLSsr KyBjaHJvbWl1bS0xMzAuMC42NzIzLjQ0L3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3Ny Yy9jbGllbnQvbGludXgvbWluaWR1bXBfd3JpdGVyL21pbmlkdW1wX3dyaXRlcl91bml0dGVzdC5j YworLS0tIGNocm9taXVtLTEzNC4wLjY5OTguMzUub3JpZy90aGlyZF9wYXJ0eS9icmVha3BhZC9i cmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9taW5pZHVtcF93cml0ZXJf dW5pdHRlc3QuY2MKKysrKyBjaHJvbWl1bS0xMzQuMC42OTk4LjM1L3RoaXJkX3BhcnR5L2JyZWFr cGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvbWluaWR1bXBfd3JpdGVyL21pbmlkdW1wX3dy aXRlcl91bml0dGVzdC5jYwogQEAgLTcyMyw2ICs3MjMsOSBAQCBURVNUKE1pbmlkdW1wV3JpdGVy VGVzdCwgSW52YWxpZFN0YWNrUG9pCiAgI2VsaWYgZGVmaW5lZChfX3Jpc2N2KQogICAgY29udGV4 dC5jb250ZXh0LnVjX21jb250ZXh0Ll9fZ3JlZ3NbTURfQ09OVEVYVF9SSVNDVl9SRUdfU1BdID0K QEAgLTY0MCwxMCArNjQwLDEwIEBAIEluZGV4OiBjaHJvbWl1bS0xMzAuMC42NzIzLjQ0L3RoaXJk X3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvbWluCiAgI2Vsc2UKICAj IGVycm9yICJUaGlzIGNvZGUgaGFzIG5vdCBiZWVuIHBvcnRlZCB0byB5b3VyIHBsYXRmb3JtIHll dC4iCiAgI2VuZGlmCi1JbmRleDogY2hyb21pdW0tMTMwLjAuNjcyMy40NC90aGlyZF9wYXJ0eS9i cmVha3BhZC9icmVha3BhZC9zcmMvY29tbW9uL2xpbnV4L21lbW9yeV9tYXBwZWRfZmlsZS5jYwor SW5kZXg6IGNocm9taXVtLTEzNC4wLjY5OTguMzUvdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtw YWQvc3JjL2NvbW1vbi9saW51eC9tZW1vcnlfbWFwcGVkX2ZpbGUuY2MKID09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t LSBjaHJvbWl1bS0xMzAuMC42NzIzLjQ0Lm9yaWcvdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtw YWQvc3JjL2NvbW1vbi9saW51eC9tZW1vcnlfbWFwcGVkX2ZpbGUuY2MKLSsrKyBjaHJvbWl1bS0x MzAuMC42NzIzLjQ0L3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jb21tb24vbGlu dXgvbWVtb3J5X21hcHBlZF9maWxlLmNjCistLS0gY2hyb21pdW0tMTM0LjAuNjk5OC4zNS5vcmln L3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jb21tb24vbGludXgvbWVtb3J5X21h cHBlZF9maWxlLmNjCisrKysgY2hyb21pdW0tMTM0LjAuNjk5OC4zNS90aGlyZF9wYXJ0eS9icmVh a3BhZC9icmVha3BhZC9zcmMvY29tbW9uL2xpbnV4L21lbW9yeV9tYXBwZWRfZmlsZS5jYwogQEAg LTcyLDggKzcyLDcgQEAgYm9vbCBNZW1vcnlNYXBwZWRGaWxlOjpNYXAoY29uc3QgY2hhciogcAog IAogICNpZiBkZWZpbmVkKF9feDg2XzY0X18pIHx8IGRlZmluZWQoX19hYXJjaDY0X18pIHx8IFwK QEAgLTY1NCwxMCArNjU0LDEwIEBAIEluZGV4OiBjaHJvbWl1bS0xMzAuMC42NzIzLjQ0L3RoaXJk X3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jb21tb24vbGludXgvbWVtCiAgICBzdHJ1Y3Qg a2VybmVsX3N0YXQgc3Q7CiAgICBpZiAoc3lzX2ZzdGF0KGZkLCAmc3QpID09IC0xIHx8IHN0LnN0 X3NpemUgPCAwKSB7CiAgI2Vsc2UKLUluZGV4OiBjaHJvbWl1bS0xMzAuMC42NzIzLjQ0L3RoaXJk X3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jb21tb24vbGludXgvbWVtb3J5X21hcHBlZF9m aWxlX3VuaXR0ZXN0LmNjCitJbmRleDogY2hyb21pdW0tMTM0LjAuNjk5OC4zNS90aGlyZF9wYXJ0 eS9icmVha3BhZC9icmVha3BhZC9zcmMvY29tbW9uL2xpbnV4L21lbW9yeV9tYXBwZWRfZmlsZV91 bml0dGVzdC5jYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGNocm9taXVtLTEzMC4wLjY3MjMuNDQub3JpZy90 aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY29tbW9uL2xpbnV4L21lbW9yeV9tYXBw ZWRfZmlsZV91bml0dGVzdC5jYwotKysrIGNocm9taXVtLTEzMC4wLjY3MjMuNDQvdGhpcmRfcGFy dHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NvbW1vbi9saW51eC9tZW1vcnlfbWFwcGVkX2ZpbGVf dW5pdHRlc3QuY2MKKy0tLSBjaHJvbWl1bS0xMzQuMC42OTk4LjM1Lm9yaWcvdGhpcmRfcGFydHkv YnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NvbW1vbi9saW51eC9tZW1vcnlfbWFwcGVkX2ZpbGVfdW5p dHRlc3QuY2MKKysrKyBjaHJvbWl1bS0xMzQuMC42OTk4LjM1L3RoaXJkX3BhcnR5L2JyZWFrcGFk L2JyZWFrcGFkL3NyYy9jb21tb24vbGludXgvbWVtb3J5X21hcHBlZF9maWxlX3VuaXR0ZXN0LmNj CiBAQCAtMTc5LDkgKzE3OSwxMCBAQCBURVNUX0YoTWVtb3J5TWFwcGVkRmlsZVRlc3QsIFJlbWFw QWZ0ZXJNCiAgVEVTVF9GKE1lbW9yeU1hcHBlZEZpbGVUZXN0LCBNYXBXaXRoT2Zmc2V0KSB7CiAg ICAvLyBQdXQgbW9yZSBkYXRhIGluIHRoZSB0ZXN0IGZpbGUgdGhpcyB0aW1lLiBPZmZzZXRzIGNh biBvbmx5IGJlCkBAIC02NzIsMTAgKzY3MiwxMCBAQCBJbmRleDogY2hyb21pdW0tMTMwLjAuNjcy My40NC90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY29tbW9uL2xpbnV4L21lbQog ICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBkYXRhMV9zaXplOyArK2kpIHsKICAgICAgZGF0YTFb aV0gPSBpICYgMHg3ZjsKICAgIH0KLUluZGV4OiBjaHJvbWl1bS0xMzAuMC42NzIzLjQ0L3RoaXJk X3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jb21tb24vbWVtb3J5X2FsbG9jYXRvcl91bml0 dGVzdC5jYworSW5kZXg6IGNocm9taXVtLTEzNC4wLjY5OTguMzUvdGhpcmRfcGFydHkvYnJlYWtw YWQvYnJlYWtwYWQvc3JjL2NvbW1vbi9tZW1vcnlfYWxsb2NhdG9yX3VuaXR0ZXN0LmNjCiA9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09Ci0tLS0gY2hyb21pdW0tMTMwLjAuNjcyMy40NC5vcmlnL3RoaXJkX3BhcnR5L2JyZWFr cGFkL2JyZWFrcGFkL3NyYy9jb21tb24vbWVtb3J5X2FsbG9jYXRvcl91bml0dGVzdC5jYwotKysr IGNocm9taXVtLTEzMC4wLjY3MjMuNDQvdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3Jj L2NvbW1vbi9tZW1vcnlfYWxsb2NhdG9yX3VuaXR0ZXN0LmNjCistLS0gY2hyb21pdW0tMTM0LjAu Njk5OC4zNS5vcmlnL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jb21tb24vbWVt b3J5X2FsbG9jYXRvcl91bml0dGVzdC5jYworKysrIGNocm9taXVtLTEzNC4wLjY5OTguMzUvdGhp cmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NvbW1vbi9tZW1vcnlfYWxsb2NhdG9yX3Vu aXR0ZXN0LmNjCiBAQCAtNjAsOCArNjAsOSBAQCBURVNUKFBhZ2VBbGxvY2F0b3JUZXN0LCBMYXJn ZU9iamVjdCkgewogIAogICAgRVhQRUNUX0VRKDBVLCBhbGxvY2F0b3IucGFnZXNfYWxsb2NhdGVk KCkpOwpAQCAtNjg3LDEwICs2ODcsMTAgQEAgSW5kZXg6IGNocm9taXVtLTEzMC4wLjY3MjMuNDQv dGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NvbW1vbi9tZW1vcnlfYWwKICAgIGZv ciAodW5zaWduZWQgaSA9IDE7IGkgPCAxMDsgKytpKSB7CiAgICAgIHVpbnQ4X3QqIHAgPSByZWlu dGVycHJldF9jYXN0PHVpbnQ4X3QqPihhbGxvY2F0b3IuQWxsb2MoaSkpOwogICAgICBBU1NFUlRf RkFMU0UocCA9PSBOVUxMKTsKLUluZGV4OiBjaHJvbWl1bS0xMzAuMC42NzIzLjQ0L3RoaXJkX3Bh cnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy90b29scy9saW51eC9tZDJjb3JlL21pbmlkdW1wLTIt Y29yZS5jYworSW5kZXg6IGNocm9taXVtLTEzNC4wLjY5OTguMzUvdGhpcmRfcGFydHkvYnJlYWtw YWQvYnJlYWtwYWQvc3JjL3Rvb2xzL2xpbnV4L21kMmNvcmUvbWluaWR1bXAtMi1jb3JlLmNjCiA9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09Ci0tLS0gY2hyb21pdW0tMTMwLjAuNjcyMy40NC5vcmlnL3RoaXJkX3BhcnR5L2Jy ZWFrcGFkL2JyZWFrcGFkL3NyYy90b29scy9saW51eC9tZDJjb3JlL21pbmlkdW1wLTItY29yZS5j YwotKysrIGNocm9taXVtLTEzMC4wLjY3MjMuNDQvdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtw YWQvc3JjL3Rvb2xzL2xpbnV4L21kMmNvcmUvbWluaWR1bXAtMi1jb3JlLmNjCistLS0gY2hyb21p dW0tMTM0LjAuNjk5OC4zNS5vcmlnL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy90 b29scy9saW51eC9tZDJjb3JlL21pbmlkdW1wLTItY29yZS5jYworKysrIGNocm9taXVtLTEzNC4w LjY5OTguMzUvdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL3Rvb2xzL2xpbnV4L21k MmNvcmUvbWluaWR1bXAtMi1jb3JlLmNjCiBAQCAtODIsNiArODIsOCBAQAogICAgI2RlZmluZSBF TEZfQVJDSCAgRU1fQUFSQ0g2NAogICNlbGlmIGRlZmluZWQoX19yaXNjdikKCmRpZmYgLS1naXQg YS8wMDAxLXNhbmRib3gtbGludXgtSW1wbGVtZW50LXBhcnRpYWwtc3VwcG9ydC1mb3ItcHBjNjQt c3kucGF0Y2ggYi8wMDAxLXNhbmRib3gtbGludXgtSW1wbGVtZW50LXBhcnRpYWwtc3VwcG9ydC1m b3ItcHBjNjQtc3kucGF0Y2gKaW5kZXggZDU3Mjg1MC4uNmZlODRmYSAxMDA2NDQKLS0tIGEvMDAw MS1zYW5kYm94LWxpbnV4LUltcGxlbWVudC1wYXJ0aWFsLXN1cHBvcnQtZm9yLXBwYzY0LXN5LnBh dGNoCisrKyBiLzAwMDEtc2FuZGJveC1saW51eC1JbXBsZW1lbnQtcGFydGlhbC1zdXBwb3J0LWZv ci1wcGM2NC1zeS5wYXRjaApAQCAtMTcsMTEgKzE3LDExIEBAIEdOVS9MaW51eCBlbnZpcm9ubWVu dHMsIGJ1dCBtYXkgcmVxdWlyZSBleHBhbnNpb24gZWxzZXdoZXJlLgogIGNyZWF0ZSBtb2RlIDEw MDY0NCBzYW5kYm94L2xpbnV4L3N5c3RlbV9oZWFkZXJzL3BwYzY0X2xpbnV4X3N5c2NhbGxzLmgK ICBjcmVhdGUgbW9kZSAxMDA2NDQgc2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVycy9wcGM2NF9s aW51eF91Y29udGV4dC5oCiAKLUluZGV4OiBjaHJvbWl1bS0xMjguMC42NjEzLjExMy9zYW5kYm94 L2xpbnV4L0JVSUxELmduCitJbmRleDogY2hyb21pdW0tMTM0LjAuNjk5OC4zNS9zYW5kYm94L2xp bnV4L0JVSUxELmduCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gY2hyb21pdW0tMTI4LjAuNjYxMy4xMTMub3Jp Zy9zYW5kYm94L2xpbnV4L0JVSUxELmduCi0rKysgY2hyb21pdW0tMTI4LjAuNjYxMy4xMTMvc2Fu ZGJveC9saW51eC9CVUlMRC5nbgotQEAgLTM4Myw2ICszODMsOCBAQCBjb21wb25lbnQoInNhbmRi b3hfc2VydmljZXMiKSB7CistLS0gY2hyb21pdW0tMTM0LjAuNjk5OC4zNS5vcmlnL3NhbmRib3gv bGludXgvQlVJTEQuZ24KKysrKyBjaHJvbWl1bS0xMzQuMC42OTk4LjM1L3NhbmRib3gvbGludXgv QlVJTEQuZ24KK0BAIC0zODQsNiArMzg0LDggQEAgY29tcG9uZW50KCJzYW5kYm94X3NlcnZpY2Vz IikgewogIAogIHNvdXJjZV9zZXQoInNhbmRib3hfc2VydmljZXNfaGVhZGVycyIpIHsKICAgIHNv dXJjZXMgPSBbCkBAIC0zMCwxMCArMzAsMTAgQEAgSW5kZXg6IGNocm9taXVtLTEyOC4wLjY2MTMu MTEzL3NhbmRib3gvbGludXgvQlVJTEQuZ24KICAgICAgInN5c3RlbV9oZWFkZXJzL2FybTY0X2xp bnV4X3N5c2NhbGxzLmgiLAogICAgICAic3lzdGVtX2hlYWRlcnMvYXJtX2xpbnV4X3N5c2NhbGxz LmgiLAogICAgICAic3lzdGVtX2hlYWRlcnMvYXJtX2xpbnV4X3Vjb250ZXh0LmgiLAotSW5kZXg6 IGNocm9taXVtLTEyOC4wLjY2MTMuMTEzL3NhbmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMvbGlu dXhfc3lzY2FsbHMuaAorSW5kZXg6IGNocm9taXVtLTEzNC4wLjY5OTguMzUvc2FuZGJveC9saW51 eC9zeXN0ZW1faGVhZGVycy9saW51eF9zeXNjYWxscy5oCiA9PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gY2hyb21p dW0tMTI4LjAuNjYxMy4xMTMub3JpZy9zYW5kYm94L2xpbnV4L3N5c3RlbV9oZWFkZXJzL2xpbnV4 X3N5c2NhbGxzLmgKLSsrKyBjaHJvbWl1bS0xMjguMC42NjEzLjExMy9zYW5kYm94L2xpbnV4L3N5 c3RlbV9oZWFkZXJzL2xpbnV4X3N5c2NhbGxzLmgKKy0tLSBjaHJvbWl1bS0xMzQuMC42OTk4LjM1 Lm9yaWcvc2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVycy9saW51eF9zeXNjYWxscy5oCisrKysg Y2hyb21pdW0tMTM0LjAuNjk5OC4zNS9zYW5kYm94L2xpbnV4L3N5c3RlbV9oZWFkZXJzL2xpbnV4 X3N5c2NhbGxzLmgKIEBAIC0zNSw1ICszNSw5IEBACiAgI2luY2x1ZGUgInNhbmRib3gvbGludXgv c3lzdGVtX2hlYWRlcnMvYXJtNjRfbGludXhfc3lzY2FsbHMuaCIKICAjZW5kaWYKQEAgLTQ0LDEw ICs0NCwxMCBAQCBJbmRleDogY2hyb21pdW0tMTI4LjAuNjYxMy4xMTMvc2FuZGJveC9saW51eC9z eXN0ZW1faGVhZGVycy9saW51eF9zeXNjYWxscy5oCiArCiAgI2VuZGlmICAvLyBTQU5EQk9YX0xJ TlVYX1NZU1RFTV9IRUFERVJTX0xJTlVYX1NZU0NBTExTX0hfCiAgCi1JbmRleDogY2hyb21pdW0t MTI4LjAuNjYxMy4xMTMvc2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVycy9wcGM2NF9saW51eF9z eXNjYWxscy5oCitJbmRleDogY2hyb21pdW0tMTM0LjAuNjk5OC4zNS9zYW5kYm94L2xpbnV4L3N5 c3RlbV9oZWFkZXJzL3BwYzY0X2xpbnV4X3N5c2NhbGxzLmgKID09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIC0tLSAvZGV2 L251bGwKLSsrKyBjaHJvbWl1bS0xMjguMC42NjEzLjExMy9zYW5kYm94L2xpbnV4L3N5c3RlbV9o ZWFkZXJzL3BwYzY0X2xpbnV4X3N5c2NhbGxzLmgKKysrKyBjaHJvbWl1bS0xMzQuMC42OTk4LjM1 L3NhbmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMvcHBjNjRfbGludXhfc3lzY2FsbHMuaAogQEAg LTAsMCArMSwxMiBAQAogKy8vIENvcHlyaWdodCAyMDE0IFRoZSBDaHJvbWl1bSBBdXRob3JzLiBB bGwgcmlnaHRzIHJlc2VydmVkLgogKy8vIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVy bmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKQEAgLTYxLDEwICs2MSwxMCBA QCBJbmRleDogY2hyb21pdW0tMTI4LjAuNjYxMy4xMTMvc2FuZGJveC9saW51eC9zeXN0ZW1faGVh ZGVycy9wcGM2NF9saW51eF9zeXNjYWxscwogKy8vVE9ETzogaXMgaXQgbmVjZXNzYXJ5IHRvIHJl ZGVmaW5lIHN5c2NhbGwgbnVtYmVycyBmb3IgUFBDNjQ/CiArCiArI2VuZGlmICAvLyBTQU5EQk9Y X0xJTlVYX1NZU1RFTV9IRUFERVJTX1BQQzY0X0xJTlVYX1NZU0NBTExTX0hfCi1JbmRleDogY2hy b21pdW0tMTI4LjAuNjYxMy4xMTMvc2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVycy9wcGM2NF9s aW51eF91Y29udGV4dC5oCitJbmRleDogY2hyb21pdW0tMTM0LjAuNjk5OC4zNS9zYW5kYm94L2xp bnV4L3N5c3RlbV9oZWFkZXJzL3BwYzY0X2xpbnV4X3Vjb250ZXh0LmgKID09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIC0t LSAvZGV2L251bGwKLSsrKyBjaHJvbWl1bS0xMjguMC42NjEzLjExMy9zYW5kYm94L2xpbnV4L3N5 c3RlbV9oZWFkZXJzL3BwYzY0X2xpbnV4X3Vjb250ZXh0LmgKKysrKyBjaHJvbWl1bS0xMzQuMC42 OTk4LjM1L3NhbmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMvcHBjNjRfbGludXhfdWNvbnRleHQu aAogQEAgLTAsMCArMSwxMiBAQAogKy8vIENvcHlyaWdodCAyMDE0IFRoZSBDaHJvbWl1bSBBdXRo b3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogKy8vIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlz IGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKCmRpZmYgLS1naXQg YS8wMDAxLXNhbmRib3gtbGludXgtVXBkYXRlLXN5c2NhbGwtaGVscGVycy1saXN0cy1mb3ItcHBj NjQucGF0Y2ggYi8wMDAxLXNhbmRib3gtbGludXgtVXBkYXRlLXN5c2NhbGwtaGVscGVycy1saXN0 cy1mb3ItcHBjNjQucGF0Y2gKaW5kZXggYTFlZWUyZS4uNmMyOWE1NyAxMDA2NDQKLS0tIGEvMDAw MS1zYW5kYm94LWxpbnV4LVVwZGF0ZS1zeXNjYWxsLWhlbHBlcnMtbGlzdHMtZm9yLXBwYzY0LnBh dGNoCisrKyBiLzAwMDEtc2FuZGJveC1saW51eC1VcGRhdGUtc3lzY2FsbC1oZWxwZXJzLWxpc3Rz LWZvci1wcGM2NC5wYXRjaApAQCAtMTIsMTAgKzEyLDEwIEBAIFN1YmplY3Q6IFtQQVRDSF0gc2Fu ZGJveC9saW51eDogVXBkYXRlIHN5c2NhbGwgaGVscGVycy9saXN0cyBmb3IgcHBjNjQKICBzYW5k Ym94L2xpbnV4L3NlcnZpY2VzL3N5c2NhbGxfd3JhcHBlcnMuY2MgICAgfCAgIDIgKy0KICA2IGZp bGVzIGNoYW5nZWQsIDczIGluc2VydGlvbnMoKyksIDU1IGRlbGV0aW9ucygtKQogCi1JbmRleDog Y2hyb21pdW0tMTMwLjAuNjcyMy40NC9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMv YmFzZWxpbmVfcG9saWN5LmNjCitJbmRleDogY2hyb21pdW0tMTM0LjAuNjk5OC4zNS9zYW5kYm94 L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvYmFzZWxpbmVfcG9saWN5LmNjCiA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 Ci0tLS0gY2hyb21pdW0tMTMwLjAuNjcyMy40NC5vcmlnL3NhbmRib3gvbGludXgvc2VjY29tcC1i cGYtaGVscGVycy9iYXNlbGluZV9wb2xpY3kuY2MKLSsrKyBjaHJvbWl1bS0xMzAuMC42NzIzLjQ0 L3NhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9iYXNlbGluZV9wb2xpY3kuY2MKKy0t LSBjaHJvbWl1bS0xMzQuMC42OTk4LjM1Lm9yaWcvc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1o ZWxwZXJzL2Jhc2VsaW5lX3BvbGljeS5jYworKysrIGNocm9taXVtLTEzNC4wLjY5OTguMzUvc2Fu ZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL2Jhc2VsaW5lX3BvbGljeS5jYwogQEAgLTkw LDcgKzkwLDggQEAgYm9vbCBJc0Jhc2VsaW5lUG9saWN5V2F0Y2hlZChpbnQgc3lzbm8pCiAgICAg ICAgICAgU3lzY2FsbFNldHM6OklzUHJjdGwoc3lzbm8pIHx8CiAgICAgICAgICAgU3lzY2FsbFNl dHM6OklzUHJvY2Vzc0dyb3VwT3JTZXNzaW9uKHN5c25vKSB8fApAQCAtNTQsMTAgKzU0LDEwIEBA IEluZGV4OiBjaHJvbWl1bS0xMzAuMC42NzIzLjQ0L3NhbmRib3gvbGludXgvc2VjY29tcC1icGYt aGVscGVycy9iYXNlbGluZV9wb2xpY3kuCiAgICBpZiAoU3lzY2FsbFNldHM6OklzU29ja2V0Q2Fs bChzeXNubykpCiAgICAgIHJldHVybiBSZXN0cmljdFNvY2tldGNhbGxDb21tYW5kKCk7CiAgI2Vu ZGlmCi1JbmRleDogY2hyb21pdW0tMTMwLjAuNjcyMy40NC9zYW5kYm94L2xpbnV4L3NlY2NvbXAt YnBmLWhlbHBlcnMvc3lzY2FsbF9wYXJhbWV0ZXJzX3Jlc3RyaWN0aW9ucy5jYworSW5kZXg6IGNo cm9taXVtLTEzNC4wLjY5OTguMzUvc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL3N5 c2NhbGxfcGFyYW1ldGVyc19yZXN0cmljdGlvbnMuY2MKID09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBjaHJvbWl1 bS0xMzAuMC42NzIzLjQ0Lm9yaWcvc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL3N5 c2NhbGxfcGFyYW1ldGVyc19yZXN0cmljdGlvbnMuY2MKLSsrKyBjaHJvbWl1bS0xMzAuMC42NzIz LjQ0L3NhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9zeXNjYWxsX3BhcmFtZXRlcnNf cmVzdHJpY3Rpb25zLmNjCistLS0gY2hyb21pdW0tMTM0LjAuNjk5OC4zNS5vcmlnL3NhbmRib3gv bGludXgvc2VjY29tcC1icGYtaGVscGVycy9zeXNjYWxsX3BhcmFtZXRlcnNfcmVzdHJpY3Rpb25z LmNjCisrKysgY2hyb21pdW0tMTM0LjAuNjk5OC4zNS9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBm LWhlbHBlcnMvc3lzY2FsbF9wYXJhbWV0ZXJzX3Jlc3RyaWN0aW9ucy5jYwogQEAgLTM2LDcgKzM2 LDcgQEAKICAjaW5jbHVkZSAic2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVycy9saW51eF90aW1l LmgiCiAgCkBAIC0xMzcsNyArMTM3LDcgQEAgSW5kZXg6IGNocm9taXVtLTEzMC4wLjY3MjMuNDQv c2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL3N5c2NhbGxfcGFyYW1ldGUKICBSZXN1 bHRFeHByIFJlc3RyaWN0U29ja2V0Y2FsbENvbW1hbmQoKSB7CiAgICAvLyBVbmZvcnR1bmF0ZWx5 LCB3ZSBhcmUgdW5hYmxlIHRvIHJlc3RyaWN0IHRoZSBmaXJzdCBwYXJhbWV0ZXIgdG8KICAgIC8v IHNvY2tldHBhaXIoMikuIFdoaWxzdCBpbml0aWFsbHkgc291bmRpbmcgYmFkLCBpdCdzIG5vdGV3 b3J0aHkgdGhhdCB2ZXJ5Ci1AQCAtNDYzLDcgKzQ4OCw3IEBAIFJlc3VsdEV4cHIgUmVzdHJpY3RQ dHJhY2UoKSB7CitAQCAtNDYxLDcgKzQ4Niw3IEBAIFJlc3VsdEV4cHIgUmVzdHJpY3RQdHJhY2Uo KSB7CiAgI2VuZGlmCiAgICByZXR1cm4gU3dpdGNoKHJlcXVlc3QpCiAgICAgICAgLkNhc2VzKHsK QEAgLTE0NiwxMCArMTQ2LDEwIEBAIEluZGV4OiBjaHJvbWl1bS0xMzAuMC42NzIzLjQ0L3NhbmRi b3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9zeXNjYWxsX3BhcmFtZXRlCiAgICAgICAgICAg ICAgICAgICBQVFJBQ0VfR0VUUkVHUywgUFRSQUNFX0dFVEZQUkVHUywgUFRSQUNFX0dFVF9USFJF QURfQVJFQSwKICAgICAgICAgICAgICAgICAgIFBUUkFDRV9HRVRSRUdTRVQsCiAgI2VuZGlmCi1J bmRleDogY2hyb21pdW0tMTMwLjAuNjcyMy40NC9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhl bHBlcnMvc3lzY2FsbF9wYXJhbWV0ZXJzX3Jlc3RyaWN0aW9ucy5oCitJbmRleDogY2hyb21pdW0t MTM0LjAuNjk5OC4zNS9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvc3lzY2FsbF9w YXJhbWV0ZXJzX3Jlc3RyaWN0aW9ucy5oCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gY2hyb21pdW0tMTMwLjAu NjcyMy40NC5vcmlnL3NhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9zeXNjYWxsX3Bh cmFtZXRlcnNfcmVzdHJpY3Rpb25zLmgKLSsrKyBjaHJvbWl1bS0xMzAuMC42NzIzLjQ0L3NhbmRi b3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9zeXNjYWxsX3BhcmFtZXRlcnNfcmVzdHJpY3Rp b25zLmgKKy0tLSBjaHJvbWl1bS0xMzQuMC42OTk4LjM1Lm9yaWcvc2FuZGJveC9saW51eC9zZWNj b21wLWJwZi1oZWxwZXJzL3N5c2NhbGxfcGFyYW1ldGVyc19yZXN0cmljdGlvbnMuaAorKysrIGNo cm9taXVtLTEzNC4wLjY5OTguMzUvc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL3N5 c2NhbGxfcGFyYW1ldGVyc19yZXN0cmljdGlvbnMuaAogQEAgLTUyLDcgKzUyLDcgQEAgU0FOREJP WF9FWFBPUlQgYnBmX2RzbDo6UmVzdWx0RXhwciBSZXN0cgogIC8vIE9fTk9OQkxPQ0sgfCBPX1NZ TkMgfCBPX0xBUkdFRklMRSB8IE9fQ0xPRVhFQyB8IE9fTk9BVElNRS4KICBTQU5EQk9YX0VYUE9S VCBicGZfZHNsOjpSZXN1bHRFeHByIFJlc3RyaWN0RmNudGxDb21tYW5kcygpOwpAQCAtMTU5LDEw ICsxNTksMTAgQEAgSW5kZXg6IGNocm9taXVtLTEzMC4wLjY3MjMuNDQvc2FuZGJveC9saW51eC9z ZWNjb21wLWJwZi1oZWxwZXJzL3N5c2NhbGxfcGFyYW1ldGUKICAvLyBSZXN0cmljdCBzb2NrZXRj YWxsKDIpIHRvIG9ubHkgYWxsb3cgc29ja2V0cGFpcigyKSwgc2VuZCgyKSwgcmVjdigyKSwKICAv LyBzZW5kdG8oMiksIHJlY3Zmcm9tKDIpLCBzaHV0ZG93bigyKSwgc2VuZG1zZygyKSBhbmQgcmVj dm1zZygyKS4KICBTQU5EQk9YX0VYUE9SVCBicGZfZHNsOjpSZXN1bHRFeHByIFJlc3RyaWN0U29j a2V0Y2FsbENvbW1hbmQoKTsKLUluZGV4OiBjaHJvbWl1bS0xMzAuMC42NzIzLjQ0L3NhbmRib3gv bGludXgvc2VjY29tcC1icGYtaGVscGVycy9zeXNjYWxsX3NldHMuY2MKK0luZGV4OiBjaHJvbWl1 bS0xMzQuMC42OTk4LjM1L3NhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9zeXNjYWxs X3NldHMuY2MKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KLS0tLSBjaHJvbWl1bS0xMzAuMC42NzIzLjQ0Lm9yaWcvc2Fu ZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL3N5c2NhbGxfc2V0cy5jYwotKysrIGNocm9t aXVtLTEzMC4wLjY3MjMuNDQvc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL3N5c2Nh bGxfc2V0cy5jYworLS0tIGNocm9taXVtLTEzNC4wLjY5OTguMzUub3JpZy9zYW5kYm94L2xpbnV4 L3NlY2NvbXAtYnBmLWhlbHBlcnMvc3lzY2FsbF9zZXRzLmNjCisrKysgY2hyb21pdW0tMTM0LjAu Njk5OC4zNS9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvc3lzY2FsbF9zZXRzLmNj CiBAQCAtMjksNyArMjksOCBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0FsbG93ZWRHZXR0aW1lKGlu dCBzCiAgICBzd2l0Y2ggKHN5c25vKSB7CiAgICAgIGNhc2UgX19OUl9nZXR0aW1lb2ZkYXk6CkBA IC01ODIsMTAgKzU4MiwxMCBAQCBJbmRleDogY2hyb21pdW0tMTMwLjAuNjcyMy40NC9zYW5kYm94 L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvc3lzY2FsbF9zZXRzLmNjCiAgICAgIGNhc2UgX19O Ul92c2VydmVyOgogICNlbmRpZgogICAgICAgIHJldHVybiB0cnVlOwotSW5kZXg6IGNocm9taXVt LTEzMC4wLjY3MjMuNDQvc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL3N5c2NhbGxf c2V0cy5oCitJbmRleDogY2hyb21pdW0tMTM0LjAuNjk5OC4zNS9zYW5kYm94L2xpbnV4L3NlY2Nv bXAtYnBmLWhlbHBlcnMvc3lzY2FsbF9zZXRzLmgKID09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBjaHJvbWl1bS0x MzAuMC42NzIzLjQ0Lm9yaWcvc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL3N5c2Nh bGxfc2V0cy5oCi0rKysgY2hyb21pdW0tMTMwLjAuNjcyMy40NC9zYW5kYm94L2xpbnV4L3NlY2Nv bXAtYnBmLWhlbHBlcnMvc3lzY2FsbF9zZXRzLmgKKy0tLSBjaHJvbWl1bS0xMzQuMC42OTk4LjM1 Lm9yaWcvc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL3N5c2NhbGxfc2V0cy5oCisr KysgY2hyb21pdW0tMTM0LjAuNjk5OC4zNS9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBl cnMvc3lzY2FsbF9zZXRzLmgKIEBAIC00NiwxMyArNDYsMTQgQEAgY2xhc3MgU0FOREJPWF9FWFBP UlQgU3lzY2FsbFNldHMgewogICAgc3RhdGljIGJvb2wgSXNEZW5pZWRHZXRPck1vZGlmeVNvY2tl dChpbnQgc3lzbm8pOwogIApAQCAtNjIzLDExICs2MjMsMTEgQEAgSW5kZXg6IGNocm9taXVtLTEz MC4wLjY3MjMuNDQvc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL3N5c2NhbGxfc2V0 cy5oCiAgICAvLyBCaWcgc3lzdGVtIFYgbXVsdGlwbGV4aW5nIHN5c3RlbSBjYWxsLgogICAgc3Rh dGljIGJvb2wgSXNTeXN0ZW1WSXBjKGludCBzeXNubyk7CiAgI2VuZGlmCi1JbmRleDogY2hyb21p dW0tMTMwLjAuNjcyMy40NC9zYW5kYm94L2xpbnV4L3NlcnZpY2VzL3N5c2NhbGxfd3JhcHBlcnMu Y2MKK0luZGV4OiBjaHJvbWl1bS0xMzQuMC42OTk4LjM1L3NhbmRib3gvbGludXgvc2VydmljZXMv c3lzY2FsbF93cmFwcGVycy5jYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGNocm9taXVtLTEzMC4wLjY3MjMu NDQub3JpZy9zYW5kYm94L2xpbnV4L3NlcnZpY2VzL3N5c2NhbGxfd3JhcHBlcnMuY2MKLSsrKyBj aHJvbWl1bS0xMzAuMC42NzIzLjQ0L3NhbmRib3gvbGludXgvc2VydmljZXMvc3lzY2FsbF93cmFw cGVycy5jYwotQEAgLTYxLDcgKzYxLDcgQEAgbG9uZyBzeXNfY2xvbmUodW5zaWduZWQgbG9uZyBm bGFncywKKy0tLSBjaHJvbWl1bS0xMzQuMC42OTk4LjM1Lm9yaWcvc2FuZGJveC9saW51eC9zZXJ2 aWNlcy9zeXNjYWxsX3dyYXBwZXJzLmNjCisrKysgY2hyb21pdW0tMTM0LjAuNjk5OC4zNS9zYW5k Ym94L2xpbnV4L3NlcnZpY2VzL3N5c2NhbGxfd3JhcHBlcnMuY2MKK0BAIC02Niw3ICs2Niw3IEBA IGxvbmcgc3lzX2Nsb25lKHVuc2lnbmVkIGxvbmcgZmxhZ3MsCiAgI2lmIGRlZmluZWQoQVJDSF9D UFVfWDg2XzY0KQogICAgcmV0dXJuIHN5c2NhbGwoX19OUl9jbG9uZSwgZmxhZ3MsIGNoaWxkX3N0 YWNrLCBwdGlkLCBjdGlkLCB0bHMpOwogICNlbGlmIGRlZmluZWQoQVJDSF9DUFVfWDg2KSB8fCBk ZWZpbmVkKEFSQ0hfQ1BVX0FSTV9GQU1JTFkpIHx8IFwKCmRpZmYgLS1naXQgYS8wMDAyLUFkZC1Q UEM2NC1nZW5lcmF0ZWQtZmlsZXMtZm9yLWJvcmluZ3NzbC5wYXRjaCBiLzAwMDItQWRkLVBQQzY0 LWdlbmVyYXRlZC1maWxlcy1mb3ItYm9yaW5nc3NsLnBhdGNoCmluZGV4IGJkMmQ5ZTQuLjdhMWYx MWEgMTAwNjQ0Ci0tLSBhLzAwMDItQWRkLVBQQzY0LWdlbmVyYXRlZC1maWxlcy1mb3ItYm9yaW5n c3NsLnBhdGNoCisrKyBiLzAwMDItQWRkLVBQQzY0LWdlbmVyYXRlZC1maWxlcy1mb3ItYm9yaW5n c3NsLnBhdGNoCkBAIC0xLDcgKzEsNyBAQAotSW5kZXg6IGNocm9taXVtLTEzMy4wLjY5NDMuMzUv dGhpcmRfcGFydHkvYm9yaW5nc3NsL3NyYy9nZW4vYmNtL2Flc3A4LXBwYy1saW51eC5TCitJbmRl eDogY2hyb21pdW0tMTM0LjAuNjk5OC4zNS90aGlyZF9wYXJ0eS9ib3Jpbmdzc2wvc3JjL2dlbi9i Y20vYWVzcDgtcHBjLWxpbnV4LlMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIC0tLSAvZGV2L251bGwKLSsrKyBjaHJv bWl1bS0xMzMuMC42OTQzLjM1L3RoaXJkX3BhcnR5L2JvcmluZ3NzbC9zcmMvZ2VuL2JjbS9hZXNw OC1wcGMtbGludXguUworKysrIGNocm9taXVtLTEzNC4wLjY5OTguMzUvdGhpcmRfcGFydHkvYm9y aW5nc3NsL3NyYy9nZW4vYmNtL2Flc3A4LXBwYy1saW51eC5TCiBAQCAtMCwwICsxLDM2NzMgQEAK ICsvLyBUaGlzIGZpbGUgaXMgZ2VuZXJhdGVkIGZyb20gYSBzaW1pbGFybHktbmFtZWQgUGVybCBz Y3JpcHQgaW4gdGhlIEJvcmluZ1NTTAogKy8vIHNvdXJjZSB0cmVlLiBEbyBub3QgZWRpdCBieSBo YW5kLgpAQCAtMzY3NiwxMCArMzY3NiwxMCBAQCBJbmRleDogY2hyb21pdW0tMTMzLjAuNjk0My4z NS90aGlyZF9wYXJ0eS9ib3Jpbmdzc2wvc3JjL2dlbi9iY20vYWVzcDgtcHBjLWxpbnV4LgogKy8v IFNlZSBodHRwczovL3d3dy5haXJzLmNjb20vYmxvZy9hcmNoaXZlcy81MTguCiArLnNlY3Rpb24g Lm5vdGUuR05VLXN0YWNrLCIiLCVwcm9nYml0cwogKyNlbmRpZgotSW5kZXg6IGNocm9taXVtLTEz My4wLjY5NDMuMzUvdGhpcmRfcGFydHkvYm9yaW5nc3NsL3NyYy9nZW4vYmNtL2doYXNocDgtcHBj LWxpbnV4LlMKK0luZGV4OiBjaHJvbWl1bS0xMzQuMC42OTk4LjM1L3RoaXJkX3BhcnR5L2Jvcmlu Z3NzbC9zcmMvZ2VuL2JjbS9naGFzaHA4LXBwYy1saW51eC5TCiA9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rl di9udWxsCi0rKysgY2hyb21pdW0tMTMzLjAuNjk0My4zNS90aGlyZF9wYXJ0eS9ib3Jpbmdzc2wv c3JjL2dlbi9iY20vZ2hhc2hwOC1wcGMtbGludXguUworKysrIGNocm9taXVtLTEzNC4wLjY5OTgu MzUvdGhpcmRfcGFydHkvYm9yaW5nc3NsL3NyYy9nZW4vYmNtL2doYXNocDgtcHBjLWxpbnV4LlMK IEBAIC0wLDAgKzEsNTkwIEBACiArLy8gVGhpcyBmaWxlIGlzIGdlbmVyYXRlZCBmcm9tIGEgc2lt aWxhcmx5LW5hbWVkIFBlcmwgc2NyaXB0IGluIHRoZSBCb3JpbmdTU0wKICsvLyBzb3VyY2UgdHJl ZS4gRG8gbm90IGVkaXQgYnkgaGFuZC4KQEAgLTQyNzEsMTAgKzQyNzEsMTAgQEAgSW5kZXg6IGNo cm9taXVtLTEzMy4wLjY5NDMuMzUvdGhpcmRfcGFydHkvYm9yaW5nc3NsL3NyYy9nZW4vYmNtL2do YXNocDgtcHBjLWxpbnUKICsvLyBTZWUgaHR0cHM6Ly93d3cuYWlycy5jY29tL2Jsb2cvYXJjaGl2 ZXMvNTE4LgogKy5zZWN0aW9uIC5ub3RlLkdOVS1zdGFjaywiIiwlcHJvZ2JpdHMKICsjZW5kaWYK LUluZGV4OiBjaHJvbWl1bS0xMzMuMC42OTQzLjM1L3RoaXJkX3BhcnR5L2JvcmluZ3NzbC9zcmMv Z2VuL3NvdXJjZXMuY21ha2UKK0luZGV4OiBjaHJvbWl1bS0xMzQuMC42OTk4LjM1L3RoaXJkX3Bh cnR5L2JvcmluZ3NzbC9zcmMvZ2VuL3NvdXJjZXMuY21ha2UKID09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBjaHJv bWl1bS0xMzMuMC42OTQzLjM1Lm9yaWcvdGhpcmRfcGFydHkvYm9yaW5nc3NsL3NyYy9nZW4vc291 cmNlcy5jbWFrZQotKysrIGNocm9taXVtLTEzMy4wLjY5NDMuMzUvdGhpcmRfcGFydHkvYm9yaW5n c3NsL3NyYy9nZW4vc291cmNlcy5jbWFrZQorLS0tIGNocm9taXVtLTEzNC4wLjY5OTguMzUub3Jp Zy90aGlyZF9wYXJ0eS9ib3Jpbmdzc2wvc3JjL2dlbi9zb3VyY2VzLmNtYWtlCisrKysgY2hyb21p dW0tMTM0LjAuNjk5OC4zNS90aGlyZF9wYXJ0eS9ib3Jpbmdzc2wvc3JjL2dlbi9zb3VyY2VzLmNt YWtlCiBAQCAtMTE4LDYgKzExOCw3IEBAIHNldCgKICAgIGdlbi9iY20vYWVzbmkteDg2LWxpbnV4 LlMKICAgIGdlbi9iY20vYWVzbmkteDg2XzY0LWFwcGxlLlMKQEAgLTQyOTksNyArNDI5OSw3IEBA IEluZGV4OiBjaHJvbWl1bS0xMzMuMC42OTQzLjM1L3RoaXJkX3BhcnR5L2JvcmluZ3NzbC9zcmMv Z2VuL3NvdXJjZXMuY21ha2UKICAgIGNyeXB0by9jcnlwdG8uY2MKICAgIGNyeXB0by9jdXJ2ZTI1 NTE5L2N1cnZlMjU1MTkuY2MKICAgIGNyeXB0by9jdXJ2ZTI1NTE5L2N1cnZlMjU1MTlfNjRfYWR4 LmNjCi1AQCAtMjgzMCw2ICsyODMzLDcgQEAgc2V0KAorQEAgLTI4MzIsNiArMjgzNSw3IEBAIHNl dCgKICAgIGdlbi90ZXN0X3N1cHBvcnQvdHJhbXBvbGluZS1hcm12OC1hcHBsZS5TCiAgICBnZW4v dGVzdF9zdXBwb3J0L3RyYW1wb2xpbmUtYXJtdjgtbGludXguUwogICAgZ2VuL3Rlc3Rfc3VwcG9y dC90cmFtcG9saW5lLWFybXY4LXdpbi5TCkBAIC00MzA3LDEwICs0MzA3LDEwIEBAIEluZGV4OiBj aHJvbWl1bS0xMzMuMC42OTQzLjM1L3RoaXJkX3BhcnR5L2JvcmluZ3NzbC9zcmMvZ2VuL3NvdXJj ZXMuY21ha2UKICAgIGdlbi90ZXN0X3N1cHBvcnQvdHJhbXBvbGluZS14ODYtYXBwbGUuUwogICAg Z2VuL3Rlc3Rfc3VwcG9ydC90cmFtcG9saW5lLXg4Ni1saW51eC5TCiAgICBnZW4vdGVzdF9zdXBw b3J0L3RyYW1wb2xpbmUteDg2XzY0LWFwcGxlLlMKLUluZGV4OiBjaHJvbWl1bS0xMzMuMC42OTQz LjM1L3RoaXJkX3BhcnR5L2JvcmluZ3NzbC9zcmMvZ2VuL3NvdXJjZXMuanNvbgorSW5kZXg6IGNo cm9taXVtLTEzNC4wLjY5OTguMzUvdGhpcmRfcGFydHkvYm9yaW5nc3NsL3NyYy9nZW4vc291cmNl cy5qc29uCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09Ci0tLS0gY2hyb21pdW0tMTMzLjAuNjk0My4zNS5vcmlnL3RoaXJk X3BhcnR5L2JvcmluZ3NzbC9zcmMvZ2VuL3NvdXJjZXMuanNvbgotKysrIGNocm9taXVtLTEzMy4w LjY5NDMuMzUvdGhpcmRfcGFydHkvYm9yaW5nc3NsL3NyYy9nZW4vc291cmNlcy5qc29uCistLS0g Y2hyb21pdW0tMTM0LjAuNjk5OC4zNS5vcmlnL3RoaXJkX3BhcnR5L2JvcmluZ3NzbC9zcmMvZ2Vu L3NvdXJjZXMuanNvbgorKysrIGNocm9taXVtLTEzNC4wLjY5OTguMzUvdGhpcmRfcGFydHkvYm9y aW5nc3NsL3NyYy9nZW4vc291cmNlcy5qc29uCiBAQCAtOTYsNiArOTYsNyBAQAogICAgICAgICJn ZW4vYmNtL2Flc25pLXg4Ni1saW51eC5TIiwKICAgICAgICAiZ2VuL2JjbS9hZXNuaS14ODZfNjQt YXBwbGUuUyIsCkBAIC00MzM1LDcgKzQzMzUsNyBAQCBJbmRleDogY2hyb21pdW0tMTMzLjAuNjk0 My4zNS90aGlyZF9wYXJ0eS9ib3Jpbmdzc2wvc3JjL2dlbi9zb3VyY2VzLmpzb24KICAgICAgICAi Y3J5cHRvL2NyeXB0by5jYyIsCiAgICAgICAgImNyeXB0by9jdXJ2ZTI1NTE5L2N1cnZlMjU1MTku Y2MiLAogICAgICAgICJjcnlwdG8vY3VydmUyNTUxOS9jdXJ2ZTI1NTE5XzY0X2FkeC5jYyIsCi1A QCAtMjc1MCw2ICsyNzUzLDcgQEAKK0BAIC0yNzUyLDYgKzI3NTUsNyBAQAogICAgICAgICJnZW4v dGVzdF9zdXBwb3J0L3RyYW1wb2xpbmUtYXJtdjgtYXBwbGUuUyIsCiAgICAgICAgImdlbi90ZXN0 X3N1cHBvcnQvdHJhbXBvbGluZS1hcm12OC1saW51eC5TIiwKICAgICAgICAiZ2VuL3Rlc3Rfc3Vw cG9ydC90cmFtcG9saW5lLWFybXY4LXdpbi5TIiwKQEAgLTQzNDMsMTAgKzQzNDMsMTAgQEAgSW5k ZXg6IGNocm9taXVtLTEzMy4wLjY5NDMuMzUvdGhpcmRfcGFydHkvYm9yaW5nc3NsL3NyYy9nZW4v c291cmNlcy5qc29uCiAgICAgICAgImdlbi90ZXN0X3N1cHBvcnQvdHJhbXBvbGluZS14ODYtYXBw bGUuUyIsCiAgICAgICAgImdlbi90ZXN0X3N1cHBvcnQvdHJhbXBvbGluZS14ODYtbGludXguUyIs CiAgICAgICAgImdlbi90ZXN0X3N1cHBvcnQvdHJhbXBvbGluZS14ODZfNjQtYXBwbGUuUyIsCi1J bmRleDogY2hyb21pdW0tMTMzLjAuNjk0My4zNS90aGlyZF9wYXJ0eS9ib3Jpbmdzc2wvc3JjL2dl bi90ZXN0X3N1cHBvcnQvdHJhbXBvbGluZS1wcGMtbGludXguUworSW5kZXg6IGNocm9taXVtLTEz NC4wLjY5OTguMzUvdGhpcmRfcGFydHkvYm9yaW5nc3NsL3NyYy9nZW4vdGVzdF9zdXBwb3J0L3Ry YW1wb2xpbmUtcHBjLWxpbnV4LlMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIC0tLSAvZGV2L251bGwKLSsrKyBjaHJv bWl1bS0xMzMuMC42OTQzLjM1L3RoaXJkX3BhcnR5L2JvcmluZ3NzbC9zcmMvZ2VuL3Rlc3Rfc3Vw cG9ydC90cmFtcG9saW5lLXBwYy1saW51eC5TCisrKysgY2hyb21pdW0tMTM0LjAuNjk5OC4zNS90 aGlyZF9wYXJ0eS9ib3Jpbmdzc2wvc3JjL2dlbi90ZXN0X3N1cHBvcnQvdHJhbXBvbGluZS1wcGMt bGludXguUwogQEAgLTAsMCArMSwxNDEzIEBACiArLy8gVGhpcyBmaWxlIGlzIGdlbmVyYXRlZCBm cm9tIGEgc2ltaWxhcmx5LW5hbWVkIFBlcmwgc2NyaXB0IGluIHRoZSBCb3JpbmdTU0wKICsvLyBz b3VyY2UgdHJlZS4gRG8gbm90IGVkaXQgYnkgaGFuZC4KCmRpZmYgLS1naXQgYS8wMDAyLXRoaXJk X3BhcnR5LWxpYnZweC1SZW1vdmUtYmFkLXBwYzY0LWNvbmZpZy5wYXRjaCBiLzAwMDItdGhpcmRf cGFydHktbGlidnB4LVJlbW92ZS1iYWQtcHBjNjQtY29uZmlnLnBhdGNoCmluZGV4IGUyZWI1ZTUu LmFjODY4ODIgMTAwNjQ0Ci0tLSBhLzAwMDItdGhpcmRfcGFydHktbGlidnB4LVJlbW92ZS1iYWQt cHBjNjQtY29uZmlnLnBhdGNoCisrKyBiLzAwMDItdGhpcmRfcGFydHktbGlidnB4LVJlbW92ZS1i YWQtcHBjNjQtY29uZmlnLnBhdGNoCkBAIC0xLDYgKzEsNiBAQAotSW5kZXg6IGNocm9taXVtLTEz My4wLjY5NDMuMzUvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcvbGludXgvcHBjNjQv dnA4X3J0Y2QuaAorSW5kZXg6IGNocm9taXVtLTEzNC4wLjY5OTguMzUvdGhpcmRfcGFydHkvbGli dnB4L3NvdXJjZS9jb25maWcvbGludXgvcHBjNjQvdnA4X3J0Y2QuaAogPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0t IGNocm9taXVtLTEzMy4wLjY5NDMuMzUub3JpZy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2Nv bmZpZy9saW51eC9wcGM2NC92cDhfcnRjZC5oCistLS0gY2hyb21pdW0tMTM0LjAuNjk5OC4zNS5v cmlnL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL2xpbnV4L3BwYzY0L3ZwOF9ydGNk LmgKICsrKyAvZGV2L251bGwKIEBAIC0xLDMzMCArMCwwIEBACiAtLyoKQEAgLTMzMyw5ICszMzMs OSBAQCBJbmRleDogY2hyb21pdW0tMTMzLjAuNjk0My4zNS90aGlyZF9wYXJ0eS9saWJ2cHgvc291 cmNlL2NvbmZpZy9saW51eC9wcGM2NC92cDhfcgogLSNlbmRpZgogLQogLSNlbmRpZiAgLy8gVlA4 X1JUQ0RfSF8KLUluZGV4OiBjaHJvbWl1bS0xMzMuMC42OTQzLjM1L3RoaXJkX3BhcnR5L2xpYnZw eC9zb3VyY2UvY29uZmlnL2xpbnV4L3BwYzY0L3ZwOV9ydGNkLmgKK0luZGV4OiBjaHJvbWl1bS0x MzQuMC42OTk4LjM1L3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL2xpbnV4L3BwYzY0 L3ZwOV9ydGNkLmgKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBjaHJvbWl1bS0xMzMuMC42OTQzLjM1Lm9yaWcv dGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcvbGludXgvcHBjNjQvdnA5X3J0Y2QuaAor LS0tIGNocm9taXVtLTEzNC4wLjY5OTguMzUub3JpZy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNl L2NvbmZpZy9saW51eC9wcGM2NC92cDlfcnRjZC5oCiArKysgL2Rldi9udWxsCiBAQCAtMSwyMDYg KzAsMCBAQAogLS8qCkBAIC01NDQsOSArNTQ0LDkgQEAgSW5kZXg6IGNocm9taXVtLTEzMy4wLjY5 NDMuMzUvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcvbGludXgvcHBjNjQvdnA5X3IK IC0jZW5kaWYKIC0KIC0jZW5kaWYgIC8vIFZQOV9SVENEX0hfCi1JbmRleDogY2hyb21pdW0tMTMz LjAuNjk0My4zNS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy9saW51eC9wcGM2NC92 cHhfY29uZmlnLmFzbQorSW5kZXg6IGNocm9taXVtLTEzNC4wLjY5OTguMzUvdGhpcmRfcGFydHkv bGlidnB4L3NvdXJjZS9jb25maWcvbGludXgvcHBjNjQvdnB4X2NvbmZpZy5hc20KID09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KLS0tLSBjaHJvbWl1bS0xMzMuMC42OTQzLjM1Lm9yaWcvdGhpcmRfcGFydHkvbGlidnB4L3Nv dXJjZS9jb25maWcvbGludXgvcHBjNjQvdnB4X2NvbmZpZy5hc20KKy0tLSBjaHJvbWl1bS0xMzQu MC42OTk4LjM1Lm9yaWcvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcvbGludXgvcHBj NjQvdnB4X2NvbmZpZy5hc20KICsrKyAvZGV2L251bGwKIEBAIC0xLDEwOCArMCwwIEBACiAtQCBU aGlzIGZpbGUgd2FzIGNyZWF0ZWQgZnJvbSBhIC5hc20gZmlsZQpAQCAtNjU3LDkgKzY1Nyw5IEBA IEluZGV4OiBjaHJvbWl1bS0xMzMuMC42OTQzLjM1L3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2Uv Y29uZmlnL2xpbnV4L3BwYzY0L3ZweF9jCiAtLmVxdSBERUNPREVfV0lEVEhfTElNSVQgLCAgMTYz ODQKIC0uZXF1IERFQ09ERV9IRUlHSFRfTElNSVQgLCAgMTYzODQKIC0gICAgLnNlY3Rpb24gLm5v dGUuR05VLXN0YWNrLCIiLCVwcm9nYml0cwotSW5kZXg6IGNocm9taXVtLTEzMy4wLjY5NDMuMzUv dGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcvbGludXgvcHBjNjQvdnB4X2NvbmZpZy5j CitJbmRleDogY2hyb21pdW0tMTM0LjAuNjk5OC4zNS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNl L2NvbmZpZy9saW51eC9wcGM2NC92cHhfY29uZmlnLmMKID09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBjaHJvbWl1 bS0xMzMuMC42OTQzLjM1Lm9yaWcvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcvbGlu dXgvcHBjNjQvdnB4X2NvbmZpZy5jCistLS0gY2hyb21pdW0tMTM0LjAuNjk5OC4zNS5vcmlnL3Ro aXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL2xpbnV4L3BwYzY0L3ZweF9jb25maWcuYwog KysrIC9kZXYvbnVsbAogQEAgLTEsMTAgKzAsMCBAQAogLS8qIENvcHlyaWdodCAoYykgMjAxMSBU aGUgV2ViTSBwcm9qZWN0IGF1dGhvcnMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuICovCkBAIC02NzIs OSArNjcyLDkgQEAgSW5kZXg6IGNocm9taXVtLTEzMy4wLjY5NDMuMzUvdGhpcmRfcGFydHkvbGli dnB4L3NvdXJjZS9jb25maWcvbGludXgvcHBjNjQvdnB4X2MKIC0jaW5jbHVkZSAidnB4L3ZweF9j b2RlYy5oIgogLXN0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBjZmcgPSAiLS10YXJnZXQ9cHBjNjRs ZS1saW51eC1nY2MgLS1lbmFibGUtZXh0ZXJuYWwtYnVpbGQgLS1lbmFibGUtcG9zdHByb2MgLS1l bmFibGUtbXVsdGktcmVzLWVuY29kaW5nIC0tZW5hYmxlLXRlbXBvcmFsLWRlbm9pc2luZyAtLWVu YWJsZS12cDktdGVtcG9yYWwtZGVub2lzaW5nIC0tZW5hYmxlLXZwOS1wb3N0cHJvYyAtLXNpemUt bGltaXQ9MTYzODR4MTYzODQgLS1lbmFibGUtcmVhbHRpbWUtb25seSAtLWRpc2FibGUtaW5zdGFs bC1kb2NzIC0tZGlzYWJsZS1saWJ5dXYgLS1lbmFibGUtdW5pdC10ZXN0cyI7CiAtY29uc3QgY2hh ciAqdnB4X2NvZGVjX2J1aWxkX2NvbmZpZyh2b2lkKSB7cmV0dXJuIGNmZzt9Ci1JbmRleDogY2hy b21pdW0tMTMzLjAuNjk0My4zNS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy9saW51 eC9wcGM2NC92cHhfY29uZmlnLmgKK0luZGV4OiBjaHJvbWl1bS0xMzQuMC42OTk4LjM1L3RoaXJk X3BhcnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL2xpbnV4L3BwYzY0L3ZweF9jb25maWcuaAogPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQotLS0tIGNocm9taXVtLTEzMy4wLjY5NDMuMzUub3JpZy90aGlyZF9wYXJ0eS9saWJ2 cHgvc291cmNlL2NvbmZpZy9saW51eC9wcGM2NC92cHhfY29uZmlnLmgKKy0tLSBjaHJvbWl1bS0x MzQuMC42OTk4LjM1Lm9yaWcvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcvbGludXgv cHBjNjQvdnB4X2NvbmZpZy5oCiArKysgL2Rldi9udWxsCiBAQCAtMSwxMTcgKzAsMCBAQAogLS8q IENvcHlyaWdodCAoYykgMjAxMSBUaGUgV2ViTSBwcm9qZWN0IGF1dGhvcnMuIEFsbCBSaWdodHMg UmVzZXJ2ZWQuICovCkBAIC03OTQsOSArNzk0LDkgQEAgSW5kZXg6IGNocm9taXVtLTEzMy4wLjY5 NDMuMzUvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcvbGludXgvcHBjNjQvdnB4X2MK IC0jZGVmaW5lIERFQ09ERV9XSURUSF9MSU1JVCAxNjM4NAogLSNkZWZpbmUgREVDT0RFX0hFSUdI VF9MSU1JVCAxNjM4NAogLSNlbmRpZiAvKiBWUFhfQ09ORklHX0ggKi8KLUluZGV4OiBjaHJvbWl1 bS0xMzMuMC42OTQzLjM1L3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL2xpbnV4L3Bw YzY0L3ZweF9kc3BfcnRjZC5oCitJbmRleDogY2hyb21pdW0tMTM0LjAuNjk5OC4zNS90aGlyZF9w YXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy9saW51eC9wcGM2NC92cHhfZHNwX3J0Y2QuaAogPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQotLS0tIGNocm9taXVtLTEzMy4wLjY5NDMuMzUub3JpZy90aGlyZF9wYXJ0eS9saWJ2 cHgvc291cmNlL2NvbmZpZy9saW51eC9wcGM2NC92cHhfZHNwX3J0Y2QuaAorLS0tIGNocm9taXVt LTEzNC4wLjY5OTguMzUub3JpZy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy9saW51 eC9wcGM2NC92cHhfZHNwX3J0Y2QuaAogKysrIC9kZXYvbnVsbAogQEAgLTEsMjEzOCArMCwwIEBA CiAtLyoKQEAgLTI5MzcsOSArMjkzNyw5IEBAIEluZGV4OiBjaHJvbWl1bS0xMzMuMC42OTQzLjM1 L3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL2xpbnV4L3BwYzY0L3ZweF9kCiAtI2Vu ZGlmCiAtCiAtI2VuZGlmICAvLyBWUFhfRFNQX1JUQ0RfSF8KLUluZGV4OiBjaHJvbWl1bS0xMzMu MC42OTQzLjM1L3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL2xpbnV4L3BwYzY0L3Zw eF9zY2FsZV9ydGNkLmgKK0luZGV4OiBjaHJvbWl1bS0xMzQuMC42OTk4LjM1L3RoaXJkX3BhcnR5 L2xpYnZweC9zb3VyY2UvY29uZmlnL2xpbnV4L3BwYzY0L3ZweF9zY2FsZV9ydGNkLmgKID09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KLS0tLSBjaHJvbWl1bS0xMzMuMC42OTQzLjM1Lm9yaWcvdGhpcmRfcGFydHkvbGlidnB4 L3NvdXJjZS9jb25maWcvbGludXgvcHBjNjQvdnB4X3NjYWxlX3J0Y2QuaAorLS0tIGNocm9taXVt LTEzNC4wLjY5OTguMzUub3JpZy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy9saW51 eC9wcGM2NC92cHhfc2NhbGVfcnRjZC5oCiArKysgL2Rldi9udWxsCiBAQCAtMSwxMTAgKzAsMCBA QAogLS8qCgpkaWZmIC0tZ2l0IGEvMDAwMy10aGlyZF9wYXJ0eS1saWJ2cHgtQWRkLXBwYzY0LWdl bmVyYXRlZC1jb25maWcucGF0Y2ggYi8wMDAzLXRoaXJkX3BhcnR5LWxpYnZweC1BZGQtcHBjNjQt Z2VuZXJhdGVkLWNvbmZpZy5wYXRjaAppbmRleCA0YWFiMmVlLi5hOTdlNzE5IDEwMDY0NAotLS0g YS8wMDAzLXRoaXJkX3BhcnR5LWxpYnZweC1BZGQtcHBjNjQtZ2VuZXJhdGVkLWNvbmZpZy5wYXRj aAorKysgYi8wMDAzLXRoaXJkX3BhcnR5LWxpYnZweC1BZGQtcHBjNjQtZ2VuZXJhdGVkLWNvbmZp Zy5wYXRjaApAQCAtMSw3ICsxLDcgQEAKLUluZGV4OiBjaHJvbWl1bS0xMzAuMC42NzIzLjQ0L3Ro aXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL2xpbnV4L3BwYzY0L3ZwOF9ydGNkLmgKK0lu ZGV4OiBjaHJvbWl1bS0xMzQuMC42OTk4LjM1L3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29u ZmlnL2xpbnV4L3BwYzY0L3ZwOF9ydGNkLmgKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIC0tLSAvZGV2L251bGwKLSsr KyBjaHJvbWl1bS0xMzAuMC42NzIzLjQ0L3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29uZmln L2xpbnV4L3BwYzY0L3ZwOF9ydGNkLmgKKysrKyBjaHJvbWl1bS0xMzQuMC42OTk4LjM1L3RoaXJk X3BhcnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL2xpbnV4L3BwYzY0L3ZwOF9ydGNkLmgKIEBAIC0w LDAgKzEsMzE2IEBACiArLy8gVGhpcyBmaWxlIGlzIGdlbmVyYXRlZC4gRG8gbm90IGVkaXQuCiAr I2lmbmRlZiBWUDhfUlRDRF9IXwpAQCAtMzE5LDEwICszMTksMTAgQEAgSW5kZXg6IGNocm9taXVt LTEzMC4wLjY3MjMuNDQvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcvbGludXgvcHBj NjQvdnA4X3IKICsjZW5kaWYKICsKICsjZW5kaWYKLUluZGV4OiBjaHJvbWl1bS0xMzAuMC42NzIz LjQ0L3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL2xpbnV4L3BwYzY0L3ZwOV9ydGNk LmgKK0luZGV4OiBjaHJvbWl1bS0xMzQuMC42OTk4LjM1L3RoaXJkX3BhcnR5L2xpYnZweC9zb3Vy Y2UvY29uZmlnL2xpbnV4L3BwYzY0L3ZwOV9ydGNkLmgKID09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIC0tLSAvZGV2L251 bGwKLSsrKyBjaHJvbWl1bS0xMzAuMC42NzIzLjQ0L3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2Uv Y29uZmlnL2xpbnV4L3BwYzY0L3ZwOV9ydGNkLmgKKysrKyBjaHJvbWl1bS0xMzQuMC42OTk4LjM1 L3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL2xpbnV4L3BwYzY0L3ZwOV9ydGNkLmgK IEBAIC0wLDAgKzEsMjY3IEBACiArLy8gVGhpcyBmaWxlIGlzIGdlbmVyYXRlZC4gRG8gbm90IGVk aXQuCiArI2lmbmRlZiBWUDlfUlRDRF9IXwpAQCAtNTkxLDEwICs1OTEsMTAgQEAgSW5kZXg6IGNo cm9taXVtLTEzMC4wLjY3MjMuNDQvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcvbGlu dXgvcHBjNjQvdnA5X3IKICsjZW5kaWYKICsKICsjZW5kaWYKLUluZGV4OiBjaHJvbWl1bS0xMzAu MC42NzIzLjQ0L3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL2xpbnV4L3BwYzY0L3Zw eF9jb25maWcuYXNtCitJbmRleDogY2hyb21pdW0tMTM0LjAuNjk5OC4zNS90aGlyZF9wYXJ0eS9s aWJ2cHgvc291cmNlL2NvbmZpZy9saW51eC9wcGM2NC92cHhfY29uZmlnLmFzbQogPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQogLS0tIC9kZXYvbnVsbAotKysrIGNocm9taXVtLTEzMC4wLjY3MjMuNDQvdGhpcmRfcGFydHkv bGlidnB4L3NvdXJjZS9jb25maWcvbGludXgvcHBjNjQvdnB4X2NvbmZpZy5hc20KKysrKyBjaHJv bWl1bS0xMzQuMC42OTk4LjM1L3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL2xpbnV4 L3BwYzY0L3ZweF9jb25maWcuYXNtCiBAQCAtMCwwICsxLDEwNyBAQAogK0AgVGhpcyBmaWxlIHdh cyBjcmVhdGVkIGZyb20gYSAuYXNtIGZpbGUKICtAICB1c2luZyB0aGUgYWRzMmdhcy5wbCBzY3Jp cHQuCkBAIC03MDMsMTAgKzcwMywxMCBAQCBJbmRleDogY2hyb21pdW0tMTMwLjAuNjcyMy40NC90 aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy9saW51eC9wcGM2NC92cHhfYwogKy5lcXUg REVDT0RFX1dJRFRIX0xJTUlUICwgIDE2Mzg0CiArLmVxdSBERUNPREVfSEVJR0hUX0xJTUlUICwg IDE2Mzg0CiArICAgIC5zZWN0aW9uIC5ub3RlLkdOVS1zdGFjaywiIiwlcHJvZ2JpdHMKLUluZGV4 OiBjaHJvbWl1bS0xMzAuMC42NzIzLjQ0L3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29uZmln L2xpbnV4L3BwYzY0L3ZweF9jb25maWcuYworSW5kZXg6IGNocm9taXVtLTEzNC4wLjY5OTguMzUv dGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcvbGludXgvcHBjNjQvdnB4X2NvbmZpZy5j CiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxsCi0rKysgY2hyb21pdW0tMTMwLjAuNjcyMy40NC90 aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy9saW51eC9wcGM2NC92cHhfY29uZmlnLmMK KysrKyBjaHJvbWl1bS0xMzQuMC42OTk4LjM1L3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvY29u ZmlnL2xpbnV4L3BwYzY0L3ZweF9jb25maWcuYwogQEAgLTAsMCArMSwxMCBAQAogKy8qIENvcHly aWdodCAoYykgMjAxMSBUaGUgV2ViTSBwcm9qZWN0IGF1dGhvcnMuIEFsbCBSaWdodHMgUmVzZXJ2 ZWQuICovCiArLyogICovCkBAIC03MTgsMTAgKzcxOCwxMCBAQCBJbmRleDogY2hyb21pdW0tMTMw LjAuNjcyMy40NC90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy9saW51eC9wcGM2NC92 cHhfYwogKyNpbmNsdWRlICJ2cHgvdnB4X2NvZGVjLmgiCiArc3RhdGljIGNvbnN0IGNoYXIqIGNv bnN0IGNmZyA9ICItLXRhcmdldD1nZW5lcmljLWdudSAtLWVuYWJsZS12cDktaGlnaGJpdGRlcHRo IC0tZW5hYmxlLWV4dGVybmFsLWJ1aWxkIC0tZW5hYmxlLXBvc3Rwcm9jIC0tZW5hYmxlLW11bHRp LXJlcy1lbmNvZGluZyAtLWVuYWJsZS10ZW1wb3JhbC1kZW5vaXNpbmcgLS1lbmFibGUtdnA5LXRl bXBvcmFsLWRlbm9pc2luZyAtLWVuYWJsZS12cDktcG9zdHByb2MgLS1zaXplLWxpbWl0PTE2Mzg0 eDE2Mzg0IC0tZW5hYmxlLXJlYWx0aW1lLW9ubHkgLS1kaXNhYmxlLWluc3RhbGwtZG9jcyAtLWRp c2FibGUtbGlieXV2IjsKICtjb25zdCBjaGFyICp2cHhfY29kZWNfYnVpbGRfY29uZmlnKHZvaWQp IHtyZXR1cm4gY2ZnO30KLUluZGV4OiBjaHJvbWl1bS0xMzAuMC42NzIzLjQ0L3RoaXJkX3BhcnR5 L2xpYnZweC9zb3VyY2UvY29uZmlnL2xpbnV4L3BwYzY0L3ZweF9jb25maWcuaAorSW5kZXg6IGNo cm9taXVtLTEzNC4wLjY5OTguMzUvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcvbGlu dXgvcHBjNjQvdnB4X2NvbmZpZy5oCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxsCi0rKysgY2hy b21pdW0tMTMwLjAuNjcyMy40NC90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy9saW51 eC9wcGM2NC92cHhfY29uZmlnLmgKKysrKyBjaHJvbWl1bS0xMzQuMC42OTk4LjM1L3RoaXJkX3Bh cnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL2xpbnV4L3BwYzY0L3ZweF9jb25maWcuaAogQEAgLTAs MCArMSwxMTYgQEAKICsvKiBDb3B5cmlnaHQgKGMpIDIwMTEgVGhlIFdlYk0gcHJvamVjdCBhdXRo b3JzLiBBbGwgUmlnaHRzIFJlc2VydmVkLiAqLwogKy8qICAqLwpAQCAtODM5LDEwICs4MzksMTAg QEAgSW5kZXg6IGNocm9taXVtLTEzMC4wLjY3MjMuNDQvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJj ZS9jb25maWcvbGludXgvcHBjNjQvdnB4X2MKICsjZGVmaW5lIERFQ09ERV9XSURUSF9MSU1JVCAx NjM4NAogKyNkZWZpbmUgREVDT0RFX0hFSUdIVF9MSU1JVCAxNjM4NAogKyNlbmRpZiAvKiBWUFhf Q09ORklHX0ggKi8KLUluZGV4OiBjaHJvbWl1bS0xMzAuMC42NzIzLjQ0L3RoaXJkX3BhcnR5L2xp YnZweC9zb3VyY2UvY29uZmlnL2xpbnV4L3BwYzY0L3ZweF9kc3BfcnRjZC5oCitJbmRleDogY2hy b21pdW0tMTM0LjAuNjk5OC4zNS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZpZy9saW51 eC9wcGM2NC92cHhfZHNwX3J0Y2QuaAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogLS0tIC9kZXYvbnVsbAotKysrIGNo cm9taXVtLTEzMC4wLjY3MjMuNDQvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcvbGlu dXgvcHBjNjQvdnB4X2RzcF9ydGNkLmgKKysrKyBjaHJvbWl1bS0xMzQuMC42OTk4LjM1L3RoaXJk X3BhcnR5L2xpYnZweC9zb3VyY2UvY29uZmlnL2xpbnV4L3BwYzY0L3ZweF9kc3BfcnRjZC5oCiBA QCAtMCwwICsxLDQxMjggQEAKICsvLyBUaGlzIGZpbGUgaXMgZ2VuZXJhdGVkLiBEbyBub3QgZWRp dC4KICsjaWZuZGVmIFZQWF9EU1BfUlRDRF9IXwpAQCAtNDk3MiwxMCArNDk3MiwxMCBAQCBJbmRl eDogY2hyb21pdW0tMTMwLjAuNjcyMy40NC90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2NvbmZp Zy9saW51eC9wcGM2NC92cHhfZAogKyNlbmRpZgogKwogKyNlbmRpZgotSW5kZXg6IGNocm9taXVt LTEzMC4wLjY3MjMuNDQvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcvbGludXgvcHBj NjQvdnB4X3NjYWxlX3J0Y2QuaAorSW5kZXg6IGNocm9taXVtLTEzNC4wLjY5OTguMzUvdGhpcmRf cGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcvbGludXgvcHBjNjQvdnB4X3NjYWxlX3J0Y2QuaAog PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQogLS0tIC9kZXYvbnVsbAotKysrIGNocm9taXVtLTEzMC4wLjY3MjMuNDQvdGhp cmRfcGFydHkvbGlidnB4L3NvdXJjZS9jb25maWcvbGludXgvcHBjNjQvdnB4X3NjYWxlX3J0Y2Qu aAorKysrIGNocm9taXVtLTEzNC4wLjY5OTguMzUvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9j b25maWcvbGludXgvcHBjNjQvdnB4X3NjYWxlX3J0Y2QuaAogQEAgLTAsMCArMSw5NiBAQAogKy8v IFRoaXMgZmlsZSBpcyBnZW5lcmF0ZWQuIERvIG5vdCBlZGl0LgogKyNpZm5kZWYgVlBYX1NDQUxF X1JUQ0RfSF8KCmRpZmYgLS1naXQgYS8wMDA0LXRoaXJkX3BhcnR5LWxpYnZweC13b3JrLWFyb3Vu ZC1hbWJpZ3VvdXMtdnN4LnBhdGNoIGIvMDAwNC10aGlyZF9wYXJ0eS1saWJ2cHgtd29yay1hcm91 bmQtYW1iaWd1b3VzLXZzeC5wYXRjaAppbmRleCA0OTg1NWFjLi45YTM3YjQwIDEwMDY0NAotLS0g YS8wMDA0LXRoaXJkX3BhcnR5LWxpYnZweC13b3JrLWFyb3VuZC1hbWJpZ3VvdXMtdnN4LnBhdGNo CisrKyBiLzAwMDQtdGhpcmRfcGFydHktbGlidnB4LXdvcmstYXJvdW5kLWFtYmlndW91cy12c3gu cGF0Y2gKQEAgLTEsNyArMSw3IEBACi1JbmRleDogY2hyb21pdW0tMTI4LjAuNjYxMy4xMTMvdGhp cmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvcHBjL3ZwOV9xdWFudGl6 ZV92c3guYworSW5kZXg6IGNocm9taXVtLTEzNC4wLjY5OTguMzUvdGhpcmRfcGFydHkvbGlidnB4 L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvcHBjL3ZwOV9xdWFudGl6ZV92c3guYwogPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQotLS0tIGNocm9taXVtLTEyOC4wLjY2MTMuMTEzLm9yaWcvdGhpcmRfcGFydHkvbGlidnB4 L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvcHBjL3ZwOV9xdWFudGl6ZV92c3guYwotKysrIGNo cm9taXVtLTEyOC4wLjY2MTMuMTEzL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3Zw OS9lbmNvZGVyL3BwYy92cDlfcXVhbnRpemVfdnN4LmMKKy0tLSBjaHJvbWl1bS0xMzQuMC42OTk4 LjM1Lm9yaWcvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvcHBj L3ZwOV9xdWFudGl6ZV92c3guYworKysrIGNocm9taXVtLTEzNC4wLjY5OTguMzUvdGhpcmRfcGFy dHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvcHBjL3ZwOV9xdWFudGl6ZV92c3gu YwogQEAgLTM4LDYgKzM4LDI4IEBAIHN0YXRpYyBJTkxJTkUgaW50MTZ4OF90IHZlY19tYXhfYWNy b3NzKGkKICAgIHJldHVybiB2ZWNfbWF4KGEsIHZlY19wZXJtKGEsIGEsIHZlY19wZXJtMTYpKTsK ICB9CkBAIC0xMzcsMTAgKzEzNywxMCBAQCBJbmRleDogY2hyb21pdW0tMTI4LjAuNjYxMy4xMTMv dGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnA5L2VuY29kZXIvcHBjLwogIAogICAg ICBlb2IgPSB2ZWNfbWF4KGVvYiwgdmVjX29yKHNjYW4wLCB6ZXJvX2NvZWZmMCkpOwogICAgICBl b2IyID0gdmVjX21heCh2ZWNfb3Ioc2NhbjEsIHplcm9fY29lZmYxKSwgdmVjX29yKHNjYW4yLCB6 ZXJvX2NvZWZmMikpOwotSW5kZXg6IGNocm9taXVtLTEyOC4wLjY2MTMuMTEzL3RoaXJkX3BhcnR5 L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvcHBjL2ZkY3QzMngzMl92c3guYworSW5kZXg6 IGNocm9taXVtLTEzNC4wLjY5OTguMzUvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgv dnB4X2RzcC9wcGMvZmRjdDMyeDMyX3ZzeC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gY2hyb21pdW0tMTI4 LjAuNjYxMy4xMTMub3JpZy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNw L3BwYy9mZGN0MzJ4MzJfdnN4LmMKLSsrKyBjaHJvbWl1bS0xMjguMC42NjEzLjExMy90aGlyZF9w YXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL3BwYy9mZGN0MzJ4MzJfdnN4LmMKKy0t LSBjaHJvbWl1bS0xMzQuMC42OTk4LjM1Lm9yaWcvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9s aWJ2cHgvdnB4X2RzcC9wcGMvZmRjdDMyeDMyX3ZzeC5jCisrKysgY2hyb21pdW0tMTM0LjAuNjk5 OC4zNS90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL3BwYy9mZGN0MzJ4 MzJfdnN4LmMKIEBAIC0xNSw2ICsxNSwyOCBAQAogICNpbmNsdWRlICJ2cHhfZHNwL3BwYy90eGZt X2NvbW1vbl92c3guaCIKICAjaW5jbHVkZSAidnB4X2RzcC9wcGMvdHlwZXNfdnN4LmgiCkBAIC0y NTUsMTAgKzI1NSwxMCBAQCBJbmRleDogY2hyb21pdW0tMTI4LjAuNjYxMy4xMTMvdGhpcmRfcGFy dHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2RzcC9wcGMvZmRjdAogIH0KICAKICAvLyBSZXR1 cm5zIDEgaWYgbmVnYXRpdmUgMCBpZiBwb3NpdGl2ZQotSW5kZXg6IGNocm9taXVtLTEyOC4wLjY2 MTMuMTEzL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L3ZweF9kc3AvcHBjL3F1YW50 aXplX3ZzeC5jCitJbmRleDogY2hyb21pdW0tMTM0LjAuNjk5OC4zNS90aGlyZF9wYXJ0eS9saWJ2 cHgvc291cmNlL2xpYnZweC92cHhfZHNwL3BwYy9xdWFudGl6ZV92c3guYwogPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot LS0tIGNocm9taXVtLTEyOC4wLjY2MTMuMTEzLm9yaWcvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJj ZS9saWJ2cHgvdnB4X2RzcC9wcGMvcXVhbnRpemVfdnN4LmMKLSsrKyBjaHJvbWl1bS0xMjguMC42 NjEzLjExMy90aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL3BwYy9xdWFu dGl6ZV92c3guYworLS0tIGNocm9taXVtLTEzNC4wLjY5OTguMzUub3JpZy90aGlyZF9wYXJ0eS9s aWJ2cHgvc291cmNlL2xpYnZweC92cHhfZHNwL3BwYy9xdWFudGl6ZV92c3guYworKysrIGNocm9t aXVtLTEzNC4wLjY5OTguMzUvdGhpcmRfcGFydHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvdnB4X2Rz cC9wcGMvcXVhbnRpemVfdnN4LmMKIEBAIC0xMyw2ICsxMywyOCBAQAogICNpbmNsdWRlICIuL3Zw eF9kc3BfcnRjZC5oIgogICNpbmNsdWRlICJ2cHhfZHNwL3BwYy90eXBlc192c3guaCIKCmRpZmYg LS1naXQgYS8wMDA4LXNhbmRib3gtZml4LXBwYzY0bGUtZ2xpYmMyMzQucGF0Y2ggYi8wMDA4LXNh bmRib3gtZml4LXBwYzY0bGUtZ2xpYmMyMzQucGF0Y2gKaW5kZXggOGM1MmFjYi4uNGM5OTQzZCAx MDA2NDQKLS0tIGEvMDAwOC1zYW5kYm94LWZpeC1wcGM2NGxlLWdsaWJjMjM0LnBhdGNoCisrKyBi LzAwMDgtc2FuZGJveC1maXgtcHBjNjRsZS1nbGliYzIzNC5wYXRjaApAQCAtMSw1ICsxLDcgQEAK LS0tLSBhL3NhbmRib3gvcG9saWN5L2xpbnV4L2JwZl91dGlsaXR5X3BvbGljeV9saW51eC5jYwot KysrIGIvc2FuZGJveC9wb2xpY3kvbGludXgvYnBmX3V0aWxpdHlfcG9saWN5X2xpbnV4LmNjCitJ bmRleDogY2hyb21pdW0tMTM0LjAuNjk5OC4zNS9zYW5kYm94L3BvbGljeS9saW51eC9icGZfdXRp bGl0eV9wb2xpY3lfbGludXguY2MKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBjaHJvbWl1bS0xMzQuMC42OTk4 LjM1Lm9yaWcvc2FuZGJveC9wb2xpY3kvbGludXgvYnBmX3V0aWxpdHlfcG9saWN5X2xpbnV4LmNj CisrKysgY2hyb21pdW0tMTM0LjAuNjk5OC4zNS9zYW5kYm94L3BvbGljeS9saW51eC9icGZfdXRp bGl0eV9wb2xpY3lfbGludXguY2MKIEBAIC0zNCw3ICszNCw3IEBAIFJlc3VsdEV4cHIgVXRpbGl0 eVByb2Nlc3NQb2xpY3k6OkV2YWx1YXQKICAgICAgY2FzZSBfX05SX2ZkYXRhc3luYzoKICAgICAg Y2FzZSBfX05SX2ZzeW5jOgpAQCAtOSw4ICsxMSwxMCBAQAogICAgICBjYXNlIF9fTlJfZ2V0cmxp bWl0OgogICNlbmRpZgogICNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9fYXJtX18p Ci0tLS0gYS9zYW5kYm94L3BvbGljeS9saW51eC9icGZfcmVuZGVyZXJfcG9saWN5X2xpbnV4LmNj Ci0rKysgYi9zYW5kYm94L3BvbGljeS9saW51eC9icGZfcmVuZGVyZXJfcG9saWN5X2xpbnV4LmNj CitJbmRleDogY2hyb21pdW0tMTM0LjAuNjk5OC4zNS9zYW5kYm94L3BvbGljeS9saW51eC9icGZf cmVuZGVyZXJfcG9saWN5X2xpbnV4LmNjCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gY2hyb21pdW0tMTM0LjAu Njk5OC4zNS5vcmlnL3NhbmRib3gvcG9saWN5L2xpbnV4L2JwZl9yZW5kZXJlcl9wb2xpY3lfbGlu dXguY2MKKysrKyBjaHJvbWl1bS0xMzQuMC42OTk4LjM1L3NhbmRib3gvcG9saWN5L2xpbnV4L2Jw Zl9yZW5kZXJlcl9wb2xpY3lfbGludXguY2MKIEBAIC05MCw3ICs5MCw3IEBAIFJlc3VsdEV4cHIg UmVuZGVyZXJQcm9jZXNzUG9saWN5OjpFdmFsdWEKICAgICAgY2FzZSBfX05SX2Z0cnVuY2F0ZTY0 OgogICNlbmRpZgpAQCAtMjAsOCArMjQsMTAgQEAKICAgICAgY2FzZSBfX05SX2dldHJsaW1pdDoK ICAgICAgY2FzZSBfX05SX3NldHJsaW1pdDoKICAvLyBXZSBhbGxvdyBzZXRybGltaXQgdG8gZHlu YW1pY2FsbHkgYWRqdXN0IHRoZSBhZGRyZXNzIHNwYWNlIGxpbWl0IGFzCi0tLS0gYS9zYW5kYm94 L2xpbnV4L2JwZl9kc2wvbGludXhfc3lzY2FsbF9yYW5nZXMuaAotKysrIGIvc2FuZGJveC9saW51 eC9icGZfZHNsL2xpbnV4X3N5c2NhbGxfcmFuZ2VzLmgKK0luZGV4OiBjaHJvbWl1bS0xMzQuMC42 OTk4LjM1L3NhbmRib3gvbGludXgvYnBmX2RzbC9saW51eF9zeXNjYWxsX3Jhbmdlcy5oCis9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09CistLS0gY2hyb21pdW0tMTM0LjAuNjk5OC4zNS5vcmlnL3NhbmRib3gvbGludXgvYnBm X2RzbC9saW51eF9zeXNjYWxsX3Jhbmdlcy5oCisrKysgY2hyb21pdW0tMTM0LjAuNjk5OC4zNS9z YW5kYm94L2xpbnV4L2JwZl9kc2wvbGludXhfc3lzY2FsbF9yYW5nZXMuaAogQEAgLTU4LDkgKzU4 LDkgQEAKICAKICAjZWxpZiBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCkBAIC0zNCw4ICs0MCwxMCBA QAogICNkZWZpbmUgTUFYX1NZU0NBTEwgTUFYX1BVQkxJQ19TWVNDQUxMCiAgCiAgI2Vsc2UKLS0t LSBhL3NhbmRib3gvbGludXgvc2VydmljZXMvY3JlZGVudGlhbHMuY2MKLSsrKyBiL3NhbmRib3gv bGludXgvc2VydmljZXMvY3JlZGVudGlhbHMuY2MKK0luZGV4OiBjaHJvbWl1bS0xMzQuMC42OTk4 LjM1L3NhbmRib3gvbGludXgvc2VydmljZXMvY3JlZGVudGlhbHMuY2MKKz09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0t LSBjaHJvbWl1bS0xMzQuMC42OTk4LjM1Lm9yaWcvc2FuZGJveC9saW51eC9zZXJ2aWNlcy9jcmVk ZW50aWFscy5jYworKysrIGNocm9taXVtLTEzNC4wLjY5OTguMzUvc2FuZGJveC9saW51eC9zZXJ2 aWNlcy9jcmVkZW50aWFscy5jYwogQEAgLTk2LDcgKzk2LDggQEAgYm9vbCBDaHJvb3RUb1NhZmVF bXB0eURpcigpIHsKICAKICAgIGludCBjbG9uZV9mbGFncyA9IENMT05FX0ZTIHwgTElOVVhfU0lH Q0hMRDsKQEAgLTU4LDggKzY2LDEwIEBACiAgICBjbG9uZV9mbGFncyB8PSBDTE9ORV9WTSB8IENM T05FX1ZGT1JLIHwgQ0xPTkVfU0VUVExTOwogIAogICAgY2hhciB0bHNfYnVmW1BUSFJFQURfU1RB Q0tfTUlOX0NPTlNUXSA9IHt9OwotLS0tIGEvc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxw ZXJzL3NpZ3N5c19oYW5kbGVycy5jYwotKysrIGIvc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1o ZWxwZXJzL3NpZ3N5c19oYW5kbGVycy5jYworSW5kZXg6IGNocm9taXVtLTEzNC4wLjY5OTguMzUv c2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL3NpZ3N5c19oYW5kbGVycy5jYworPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQorLS0tIGNocm9taXVtLTEzNC4wLjY5OTguMzUub3JpZy9zYW5kYm94L2xpbnV4L3Nl Y2NvbXAtYnBmLWhlbHBlcnMvc2lnc3lzX2hhbmRsZXJzLmNjCisrKysgY2hyb21pdW0tMTM0LjAu Njk5OC4zNS9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvc2lnc3lzX2hhbmRsZXJz LmNjCiBAQCAtMzYyLDcgKzM2MiwxNiBAQCBpbnRwdHJfdCBTSUdTWVNGc3RhdGF0SGFuZGxlcihj b25zdCBzdHJ1CiAgICBpZiAoYXJncy5uciA9PSBfX05SX2ZzdGF0YXRfZGVmYXVsdCkgewogICAg ICBpZiAoKnJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgY2hhcio+KGFyZ3MuYXJnc1sxXSkgPT0gJ1ww JyAmJgoKZGlmZiAtLWdpdCBhL0hBQ0stdGhpcmRfcGFydHktbGlidnB4LXVzZS1nZW5lcmljLWdu dS5wYXRjaCBiL0hBQ0stdGhpcmRfcGFydHktbGlidnB4LXVzZS1nZW5lcmljLWdudS5wYXRjaApp bmRleCBjNGE5Mjk4Li4zYjE0MjNkIDEwMDY0NAotLS0gYS9IQUNLLXRoaXJkX3BhcnR5LWxpYnZw eC11c2UtZ2VuZXJpYy1nbnUucGF0Y2gKKysrIGIvSEFDSy10aGlyZF9wYXJ0eS1saWJ2cHgtdXNl LWdlbmVyaWMtZ251LnBhdGNoCkBAIC0xLDcgKzEsNyBAQAotSW5kZXg6IGNocm9taXVtLTEzMC4w LjY3MjMuNDQvdGhpcmRfcGFydHkvbGlidnB4L2dlbmVyYXRlX2duaS5zaAorSW5kZXg6IGNocm9t aXVtLTEzNC4wLjY5OTguMzUvdGhpcmRfcGFydHkvbGlidnB4L2dlbmVyYXRlX2duaS5zaAogPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQotLS0tIGNocm9taXVtLTEzMC4wLjY3MjMuNDQub3JpZy90aGlyZF9wYXJ0eS9saWJ2 cHgvZ2VuZXJhdGVfZ25pLnNoCi0rKysgY2hyb21pdW0tMTMwLjAuNjcyMy40NC90aGlyZF9wYXJ0 eS9saWJ2cHgvZ2VuZXJhdGVfZ25pLnNoCistLS0gY2hyb21pdW0tMTM0LjAuNjk5OC4zNS5vcmln L3RoaXJkX3BhcnR5L2xpYnZweC9nZW5lcmF0ZV9nbmkuc2gKKysrKyBjaHJvbWl1bS0xMzQuMC42 OTk4LjM1L3RoaXJkX3BhcnR5L2xpYnZweC9nZW5lcmF0ZV9nbmkuc2gKIEBAIC00MzMsNyArNDMz LDcgQEAgZ2VuX2NvbmZpZ19maWxlcyBsaW51eC9taXBzZWwgIi0tdGFyZ2V0PQogIGdlbl9jb25m aWdfZmlsZXMgbGludXgvbWlwczY0ZWwgIi0tdGFyZ2V0PW1pcHM2NC1saW51eC1nY2MgJHthbGxf cGxhdGZvcm1zfSIKICBnZW5fY29uZmlnX2ZpbGVzIGxpbnV4L2xvb25nYXJjaCBcCkBAIC0xMSwx MCArMTEsMTAgQEAgSW5kZXg6IGNocm9taXVtLTEzMC4wLjY3MjMuNDQvdGhpcmRfcGFydHkvbGli dnB4L2dlbmVyYXRlX2duaS5zaAogIGdlbl9jb25maWdfZmlsZXMgbGludXgvZ2VuZXJpYyAiLS10 YXJnZXQ9Z2VuZXJpYy1nbnUgJEhJR0hCRCAke2FsbF9wbGF0Zm9ybXN9IgogIGdlbl9jb25maWdf ZmlsZXMgd2luL2FybTY0LWhpZ2hiZCBcCiAgICAiLS10YXJnZXQ9YXJtNjQtd2luNjQtdnMxNSAk e2FsbF9wbGF0Zm9ybXN9ICR7SElHSEJEfSAke2Rpc2FibGVfc3ZlfSIKLUluZGV4OiBjaHJvbWl1 bS0xMzAuMC42NzIzLjQ0L3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L2J1aWxkL21h a2UvcnRjZC5wbAorSW5kZXg6IGNocm9taXVtLTEzNC4wLjY5OTguMzUvdGhpcmRfcGFydHkvbGli dnB4L3NvdXJjZS9saWJ2cHgvYnVpbGQvbWFrZS9ydGNkLnBsCiA9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gY2hy b21pdW0tMTMwLjAuNjcyMy40NC5vcmlnL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4 L2J1aWxkL21ha2UvcnRjZC5wbAotKysrIGNocm9taXVtLTEzMC4wLjY3MjMuNDQvdGhpcmRfcGFy dHkvbGlidnB4L3NvdXJjZS9saWJ2cHgvYnVpbGQvbWFrZS9ydGNkLnBsCistLS0gY2hyb21pdW0t MTM0LjAuNjk5OC4zNS5vcmlnL3RoaXJkX3BhcnR5L2xpYnZweC9zb3VyY2UvbGlidnB4L2J1aWxk L21ha2UvcnRjZC5wbAorKysrIGNocm9taXVtLTEzNC4wLjY5OTguMzUvdGhpcmRfcGFydHkvbGli dnB4L3NvdXJjZS9saWJ2cHgvYnVpbGQvbWFrZS9ydGNkLnBsCiBAQCAtNTA5LDggKzUwOSw5IEBA IGlmICgkb3B0c3thcmNofSBlcSAneDg2JykgewogICAgJnJlcXVpcmUoQFJFUVVJUkVTKTsKICAg IGFybTsKQEAgLTI3LDEwICsyNywxMCBAQCBJbmRleDogY2hyb21pdW0tMTMwLjAuNjcyMy40NC90 aGlyZF9wYXJ0eS9saWJ2cHgvc291cmNlL2xpYnZweC9idWlsZC9tYWtlL3J0Y2QucAogIH0gZWxz aWYgKCRvcHRze2FyY2h9ID1+IC9sb29uZ2FyY2gvICkgewogICAgQEFMTF9BUkNIUyA9IGZpbHRl cihxdy9sc3ggbGFzeC8pOwogICAgbG9vbmdhcmNoOwotSW5kZXg6IGNocm9taXVtLTEzMC4wLjY3 MjMuNDQvdGhpcmRfcGFydHkvbGlidnB4L0JVSUxELmduCitJbmRleDogY2hyb21pdW0tMTM0LjAu Njk5OC4zNS90aGlyZF9wYXJ0eS9saWJ2cHgvQlVJTEQuZ24KID09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBjaHJv bWl1bS0xMzAuMC42NzIzLjQ0Lm9yaWcvdGhpcmRfcGFydHkvbGlidnB4L0JVSUxELmduCi0rKysg Y2hyb21pdW0tMTMwLjAuNjcyMy40NC90aGlyZF9wYXJ0eS9saWJ2cHgvQlVJTEQuZ24KKy0tLSBj aHJvbWl1bS0xMzQuMC42OTk4LjM1Lm9yaWcvdGhpcmRfcGFydHkvbGlidnB4L0JVSUxELmduCisr KysgY2hyb21pdW0tMTM0LjAuNjk5OC4zNS90aGlyZF9wYXJ0eS9saWJ2cHgvQlVJTEQuZ24KIEBA IC0xMDIsNiArMTAyLDE0IEBAIGNvbmZpZygibGlidnB4X2NvbmZpZyIpIHsKICAgICAgICAiLVdu by1zaWduLWNvbXBhcmUiLAogICAgICBdCgpkaWZmIC0tZ2l0IGEvY2hyb21pdW0tMTMzLWVsOC1h dGstY29tcGlsZXItZXJyb3IucGF0Y2ggYi9jaHJvbWl1bS0xMzMtZWw4LWF0ay1jb21waWxlci1l cnJvci5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjI3YzBhNi4uMDAwMDAw MAotLS0gYS9jaHJvbWl1bS0xMzMtZWw4LWF0ay1jb21waWxlci1lcnJvci5wYXRjaAorKysgL2Rl di9udWxsCkBAIC0xLDEwODEgKzAsMCBAQAotZGlmZiAtdXAgY2hyb21pdW0tMTMzLjAuNjk0My4z NS9jb250ZW50L2Jyb3dzZXIvYWNjZXNzaWJpbGl0eS9hY2Nlc3NpYmlsaXR5X2F1cmFsaW51eF9i cm93c2VydGVzdC5jYy5lbDgtYXRrLWNvbXBpbGVyLWVycm9yIGNocm9taXVtLTEzMy4wLjY5NDMu MzUvY29udGVudC9icm93c2VyL2FjY2Vzc2liaWxpdHkvYWNjZXNzaWJpbGl0eV9hdXJhbGludXhf YnJvd3NlcnRlc3QuY2MKLS0tLSBjaHJvbWl1bS0xMzMuMC42OTQzLjM1L2NvbnRlbnQvYnJvd3Nl ci9hY2Nlc3NpYmlsaXR5L2FjY2Vzc2liaWxpdHlfYXVyYWxpbnV4X2Jyb3dzZXJ0ZXN0LmNjLmVs OC1hdGstY29tcGlsZXItZXJyb3IJMjAyNS0wMS0yOCAyMzowMzoyNy4wMDAwMDAwMDAgKzAxMDAK LSsrKyBjaHJvbWl1bS0xMzMuMC42OTQzLjM1L2NvbnRlbnQvYnJvd3Nlci9hY2Nlc3NpYmlsaXR5 L2FjY2Vzc2liaWxpdHlfYXVyYWxpbnV4X2Jyb3dzZXJ0ZXN0LmNjCTIwMjUtMDItMDQgMTA6NTY6 MDguNDE0MTI2MzU0ICswMTAwCi1AQCAtMyw2ICszLDcgQEAKLSAvLyBmb3VuZCBpbiB0aGUgTElD RU5TRSBmaWxlLgotIAotICNpbmNsdWRlIDxhdGsvYXRrLmg+Ci0rI2luY2x1ZGUgPGRsZmNuLmg+ Ci0gCi0gI2luY2x1ZGUgPHN0cmluZz4KLSAjaW5jbHVkZSA8dmVjdG9yPgotQEAgLTU0OSw2ICs1 NTAsMTAgQEAgSU5fUFJPQ19CUk9XU0VSX1RFU1RfRihBY2Nlc3NpYmlsaXR5QXVyYQotICAgZ19v YmplY3RfdW5yZWYoZGl2X2VsZW1lbnQpOwotIH0KLSAKLSsjaWYgZGVmaW5lZChBVEtfQ0hFQ0tf VkVSU0lPTikgJiYgQVRLX0NIRUNLX1ZFUlNJT04oMiwgMzAsIDApCi0rI2RlZmluZSBBVEtfMjMw Ci0rI2VuZGlmCi0rCi0gSU5fUFJPQ19CUk9XU0VSX1RFU1RfRihBY2Nlc3NpYmlsaXR5QXVyYUxp bnV4QnJvd3NlclRlc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICBUZXN0Q2hhcmFjdGVyRXh0 ZW50c1dpdGhJbnZhbGlkQXJndW1lbnRzKSB7Ci0gICBBdGtUZXh0KiBhdGtfdGV4dCA9IFNldFVw U2FtcGxlUGFyYWdyYXBoKCk7Ci1AQCAtNTcxLDEyICs1NzYsMTQgQEAgSU5fUFJPQ19CUk9XU0VS X1RFU1RfRihBY2Nlc3NpYmlsaXR5QXVyYQotICAgRVhQRUNUX0VRKGV4cGVjdCwgd2lkdGgpOwot ICAgRVhQRUNUX0VRKGV4cGVjdCwgaGVpZ2h0KTsKLSAKLSsjaWZkZWYgQVRLXzIzMAotICAgYXRr X3RleHRfZ2V0X2NoYXJhY3Rlcl9leHRlbnRzKGF0a190ZXh0LCBpbnZhbGlkX29mZnNldCwgJngs ICZ5LCAmd2lkdGgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmhlaWdodCwg QVRLX1hZX1BBUkVOVCk7Ci0gICBFWFBFQ1RfRVEoZXhwZWN0LCB4KTsKLSAgIEVYUEVDVF9FUShl eHBlY3QsIHkpOwotICAgRVhQRUNUX0VRKGV4cGVjdCwgd2lkdGgpOwotICAgRVhQRUNUX0VRKGV4 cGVjdCwgaGVpZ2h0KTsKLSsjZW5kaWYgIC8vIEFUS18yMzAKLSAKLSAgIGF0a190ZXh0X2dldF9j aGFyYWN0ZXJfZXh0ZW50cyhhdGtfdGV4dCwgaW52YWxpZF9vZmZzZXQsICZ4LCAmeSwgJndpZHRo LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZoZWlnaHQsIEFUS19YWV9XSU5E T1cpOwotQEAgLTU5NSwxMiArNjAyLDE0IEBAIElOX1BST0NfQlJPV1NFUl9URVNUX0YoQWNjZXNz aWJpbGl0eUF1cmEKLSAgIEVYUEVDVF9FUShleHBlY3QsIHdpZHRoKTsKLSAgIEVYUEVDVF9FUShl eHBlY3QsIGhlaWdodCk7Ci0gCi0rI2lmZGVmIEFUS18yMzAKLSAgIGF0a190ZXh0X2dldF9jaGFy YWN0ZXJfZXh0ZW50cyhhdGtfdGV4dCwgaW52YWxpZF9vZmZzZXQsICZ4LCAmeSwgJndpZHRoLAot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZoZWlnaHQsIEFUS19YWV9QQVJFTlQp OwotICAgRVhQRUNUX0VRKGV4cGVjdCwgeCk7Ci0gICBFWFBFQ1RfRVEoZXhwZWN0LCB5KTsKLSAg IEVYUEVDVF9FUShleHBlY3QsIHdpZHRoKTsKLSAgIEVYUEVDVF9FUShleHBlY3QsIGhlaWdodCk7 Ci0rI2VuZGlmICAvLyBBVEtfMjMwCi0gCi0gICBhdGtfdGV4dF9nZXRfY2hhcmFjdGVyX2V4dGVu dHMoYXRrX3RleHQsIGludmFsaWRfb2Zmc2V0LCAmeCwgJnksICZ3aWR0aCwKLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAmaGVpZ2h0LCBBVEtfWFlfV0lORE9XKTsKLUBAIC02MTUs NyArNjI0LDkgQEAgSU5fUFJPQ19CUk9XU0VSX1RFU1RfRihBY2Nlc3NpYmlsaXR5QXVyYQotIEF0 a0Nvb3JkVHlwZSBrQ29vcmRpbmF0ZVR5cGVzW10gPSB7Ci0gICAgIEFUS19YWV9TQ1JFRU4sCi0g ICAgIEFUS19YWV9XSU5ET1csCi0rI2lmZGVmIEFUS18yMzAKLSAgICAgQVRLX1hZX1BBUkVOVCwK LSsjZW5kaWYgIC8vIEFUS18yMzAKLSB9OwotIAotIElOX1BST0NfQlJPV1NFUl9URVNUX0YoQWNj ZXNzaWJpbGl0eUF1cmFMaW51eEJyb3dzZXJUZXN0LAotQEAgLTg3NCw2ICs4ODUsNyBAQCBJTl9Q Uk9DX0JST1dTRVJfVEVTVF9GKEFjY2Vzc2liaWxpdHlBdXJhCi0gICBUZXN0Q2hhcmFjdGVyRXh0 ZW50c0luU2Nyb2xsYWJsZUlucHV0KCk7Ci0gfQotIAotKyNpZiBkZWZpbmVkKEFUS18yMzApCi0g dHlwZWRlZiBib29sICgqU2Nyb2xsVG9Qb2ludEZ1bmMpKEF0a0NvbXBvbmVudCogY29tcG9uZW50 LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBdGtDb29yZFR5cGUgY29vcmRz LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnaW50IHgsCi1AQCAtODgzLDYg Kzg5NSwxOCBAQCB0eXBlZGVmIGJvb2wgKCpTY3JvbGxUb0Z1bmMpKEF0a0NvbXBvbmVuCi0gLy8g VE9ETyhjcmJ1Zy5jb20vNDA4NjY3MjgpOiBFbmFibGUgdGhpcyB0ZXN0LgotIElOX1BST0NfQlJP V1NFUl9URVNUX0YoQWNjZXNzaWJpbGl0eUF1cmFMaW51eEJyb3dzZXJUZXN0LAotICAgICAgICAg ICAgICAgICAgICAgICAgRElTQUJMRURfVGVzdFNjcm9sbFRvUG9pbnQpIHsKLSsgIC8vIFRoZXJl J3MgYSBjaGFuY2Ugd2UgbWF5IGJlIGNvbXBpbGVkIHdpdGggYSBuZXdlciB2ZXJzaW9uIG9mIEFU SyBhbmQgdGhlbgotKyAgLy8gcnVuIHdpdGggYW4gb2xkZXIgb25lLCBzbyB3ZSBuZWVkIHRvIGRv IGEgcnVudGltZSBjaGVjayBmb3IgdGhpcyBtZXRob2QKLSsgIC8vIHRoYXQgaXMgYXZhaWxhYmxl IGluIEFUSyAyLjMwIGluc3RlYWQgb2YgbGlua2luZyBkaXJlY3RseS4KLSsgIFNjcm9sbFRvUG9p bnRGdW5jIHNjcm9sbF90b19wb2ludCA9IHJlaW50ZXJwcmV0X2Nhc3Q8U2Nyb2xsVG9Qb2ludEZ1 bmM+KAotKyAgICAgIGRsc3ltKFJUTERfREVGQVVMVCwgImF0a19jb21wb25lbnRfc2Nyb2xsX3Rv X3BvaW50IikpOwotKyAgaWYgKCFzY3JvbGxfdG9fcG9pbnQpIHsKLSsgICAgTE9HKFdBUk5JTkcp Ci0rICAgICAgICA8PCAiU2tpcHBpbmcgQWNjZXNzaWJpbGl0eUF1cmFMaW51eEJyb3dzZXJUZXN0 OjpUZXN0U2Nyb2xsVG9Qb2ludCIKLSsgICAgICAgICAgICIgYmVjYXVzZSBBVEsgdmVyc2lvbiA8 IDIuMzAgZGV0ZWN0ZWQuIjsKLSsgICAgcmV0dXJuOwotKyAgfQotKwotICAgTG9hZFNhbXBsZVBh cmFncmFwaEluU2Nyb2xsYWJsZURvY3VtZW50KCk7Ci0gICBBdGtUZXh0KiBhdGtfdGV4dCA9IEdl dFNhbXBsZVBhcmFncmFwaCgpOwotICAgQVNTRVJUX1RSVUUoQVRLX0lTX0NPTVBPTkVOVChhdGtf dGV4dCkpOwotQEAgLTg5NSw3ICs5MTksNyBAQCBJTl9QUk9DX0JST1dTRVJfVEVTVF9GKEFjY2Vz c2liaWxpdHlBdXJhCi0gICBBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uV2FpdGVyIGxvY2F0aW9u X2NoYW5nZWRfd2FpdGVyKAotICAgICAgIHNoZWxsKCktPndlYl9jb250ZW50cygpLCB1aTo6a0FY TW9kZUNvbXBsZXRlLAotICAgICAgIGF4Ojptb2pvbTo6RXZlbnQ6OmtMb2NhdGlvbkNoYW5nZWQp OwotLSAgYXRrX2NvbXBvbmVudF9zY3JvbGxfdG9fcG9pbnQoYXRrX2NvbXBvbmVudCwgQVRLX1hZ X1BBUkVOVCwgMCwgMCk7Ci0rICBzY3JvbGxfdG9fcG9pbnQoYXRrX2NvbXBvbmVudCwgQVRLX1hZ X1BBUkVOVCwgMCwgMCk7Ci0gICBBU1NFUlRfVFJVRShsb2NhdGlvbl9jaGFuZ2VkX3dhaXRlci5X YWl0Rm9yTm90aWZpY2F0aW9uKCkpOwotIAotICAgYXRrX2NvbXBvbmVudF9nZXRfZXh0ZW50cyhh dGtfY29tcG9uZW50LCAmeCwgJnksIG51bGxwdHIsIG51bGxwdHIsCi1AQCAtOTA0LDIwICs5Mjgs MjAgQEAgSU5fUFJPQ19CUk9XU0VSX1RFU1RfRihBY2Nlc3NpYmlsaXR5QXVyYQotICAgRVhQRUNU X0dUKHByZXZfeSwgeSk7Ci0gCi0gICBjb25zdGV4cHIgaW50IGtTY3JvbGxUb1kgPSAwOwotLSAg YXRrX2NvbXBvbmVudF9zY3JvbGxfdG9fcG9pbnQoYXRrX2NvbXBvbmVudCwgQVRLX1hZX1NDUkVF TiwgMCwga1Njcm9sbFRvWSk7Ci0rICBzY3JvbGxfdG9fcG9pbnQoYXRrX2NvbXBvbmVudCwgQVRL X1hZX1NDUkVFTiwgMCwga1Njcm9sbFRvWSk7Ci0gICBBU1NFUlRfVFJVRShsb2NhdGlvbl9jaGFu Z2VkX3dhaXRlci5XYWl0Rm9yTm90aWZpY2F0aW9uKCkpOwotICAgYXRrX2NvbXBvbmVudF9nZXRf ZXh0ZW50cyhhdGtfY29tcG9uZW50LCAmeCwgJnksIG51bGxwdHIsIG51bGxwdHIsCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgIEFUS19YWV9TQ1JFRU4pOwotICAgRVhQRUNUX0VRKGtTY3Jv bGxUb1ksIHkpOwotIAotICAgY29uc3RleHByIGludCBrU2Nyb2xsVG9ZXzIgPSAyNDM7Ci0tICBh dGtfY29tcG9uZW50X3Njcm9sbF90b19wb2ludChhdGtfY29tcG9uZW50LCBBVEtfWFlfU0NSRUVO LCAwLCBrU2Nyb2xsVG9ZXzIpOwotKyAgc2Nyb2xsX3RvX3BvaW50KGF0a19jb21wb25lbnQsIEFU S19YWV9TQ1JFRU4sIDAsIGtTY3JvbGxUb1lfMik7Ci0gICBBU1NFUlRfVFJVRShsb2NhdGlvbl9j aGFuZ2VkX3dhaXRlci5XYWl0Rm9yTm90aWZpY2F0aW9uKCkpOwotICAgYXRrX2NvbXBvbmVudF9n ZXRfZXh0ZW50cyhhdGtfY29tcG9uZW50LCBudWxscHRyLCAmeSwgbnVsbHB0ciwgbnVsbHB0ciwK LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVRLX1hZX1NDUkVFTik7Ci0gICBFWFBFQ1Rf RVEoa1Njcm9sbFRvWV8yLCB5KTsKLSAKLS0gIGF0a19jb21wb25lbnRfc2Nyb2xsX3RvX3BvaW50 KGF0a19jb21wb25lbnQsIEFUS19YWV9TQ1JFRU4sIDAsIDEyOSk7Ci0rICBzY3JvbGxfdG9fcG9p bnQoYXRrX2NvbXBvbmVudCwgQVRLX1hZX1NDUkVFTiwgMCwgMTI5KTsKLSAgIEFTU0VSVF9UUlVF KGxvY2F0aW9uX2NoYW5nZWRfd2FpdGVyLldhaXRGb3JOb3RpZmljYXRpb24oKSk7Ci0gICBhdGtf Y29tcG9uZW50X2dldF9leHRlbnRzKGF0a19jb21wb25lbnQsIG51bGxwdHIsICZ5LCBudWxscHRy LCBudWxscHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBVEtfWFlfU0NSRUVOKTsK LUBAIC05MzQsNiArOTU4LDE3IEBAIElOX1BST0NfQlJPV1NFUl9URVNUX0YoQWNjZXNzaWJpbGl0 eUF1cmEKLSAvLyBUT0RPKGNyYnVnLmNvbS80MDg2NjcyOCk6IEVuYWJsZSB0aGlzIHRlc3QuCi0g SU5fUFJPQ19CUk9XU0VSX1RFU1RfRihBY2Nlc3NpYmlsaXR5QXVyYUxpbnV4QnJvd3NlclRlc3Qs Ci0gICAgICAgICAgICAgICAgICAgICAgICBESVNBQkxFRF9UZXN0U2Nyb2xsVG8pIHsKLSsgIC8v IFRoZXJlJ3MgYSBjaGFuY2Ugd2UgbWF5IGJlIGNvbXBpbGVkIHdpdGggYSBuZXdlciB2ZXJzaW9u IG9mIEFUSyBhbmQgdGhlbgotKyAgLy8gcnVuIHdpdGggYW4gb2xkZXIgb25lLCBzbyB3ZSBuZWVk IHRvIGRvIGEgcnVudGltZSBjaGVjayBmb3IgdGhpcyBtZXRob2QKLSsgIC8vIHRoYXQgaXMgYXZh aWxhYmxlIGluIEFUSyAyLjMwIGluc3RlYWQgb2YgbGlua2luZyBkaXJlY3RseS4KLSsgIFNjcm9s bFRvRnVuYyBzY3JvbGxfdG8gPSByZWludGVycHJldF9jYXN0PFNjcm9sbFRvRnVuYz4oCi0rICAg ICAgZGxzeW0oUlRMRF9ERUZBVUxULCAiYXRrX2NvbXBvbmVudF9zY3JvbGxfdG8iKSk7Ci0rICBp ZiAoIXNjcm9sbF90bykgewotKyAgICBMT0coV0FSTklORykgPDwgIlNraXBwaW5nIEFjY2Vzc2li aWxpdHlBdXJhTGludXhCcm93c2VyVGVzdDo6VGVzdFNjcm9sbFRvIgotKyAgICAgICAgICAgICAg ICAgICAgIiBiZWNhdXNlIEFUSyB2ZXJzaW9uIDwgMi4zMCBkZXRlY3RlZC4iOwotKyAgICByZXR1 cm47Ci0rICB9Ci0rCi0gICBMb2FkSW5pdGlhbEFjY2Vzc2liaWxpdHlUcmVlRnJvbUh0bWwoCi0g ICAgICAgUiJIVE1MKDwhRE9DVFlQRSBodG1sPgotICAgICAgIDxodG1sPgotQEAgLTk3NSw4ICsx MDEwLDcgQEAgSU5fUFJPQ19CUk9XU0VSX1RFU1RfRihBY2Nlc3NpYmlsaXR5QXVyYQotICAgQWNj ZXNzaWJpbGl0eU5vdGlmaWNhdGlvbldhaXRlciB3YWl0ZXIoCi0gICAgICAgc2hlbGwoKS0+d2Vi X2NvbnRlbnRzKCksIHVpOjprQVhNb2RlQ29tcGxldGUsCi0gICAgICAgYXg6Om1vam9tOjpFdmVu dDo6a1Njcm9sbFBvc2l0aW9uQ2hhbmdlZCk7Ci0tICBBU1NFUlRfVFJVRSgKLS0gICAgICBhdGtf Y29tcG9uZW50X3Njcm9sbF90byhBVEtfQ09NUE9ORU5UKHRhcmdldCksIEFUS19TQ1JPTExfVE9Q X0VER0UpKTsKLSsgIEFTU0VSVF9UUlVFKHNjcm9sbF90byhBVEtfQ09NUE9ORU5UKHRhcmdldCks IEFUS19TQ1JPTExfVE9QX0VER0UpKTsKLSAgIEFTU0VSVF9UUlVFKHdhaXRlci5XYWl0Rm9yTm90 aWZpY2F0aW9uKCkpOwotICAgaW50IHgsIHk7Ci0gICBhdGtfY29tcG9uZW50X2dldF9leHRlbnRz KEFUS19DT01QT05FTlQodGFyZ2V0KSwgJngsICZ5LCBudWxscHRyLCBudWxscHRyLAotQEAgLTk4 NCw0MCArMTAxOCwzNSBAQCBJTl9QUk9DX0JST1dTRVJfVEVTVF9GKEFjY2Vzc2liaWxpdHlBdXJh Ci0gICBFWFBFQ1RfRVEoeSwgZG9jX3kpOwotICAgRVhQRUNUX05FKHgsIGRvY194KTsKLSAKLS0g IEFTU0VSVF9UUlVFKAotLSAgICAgIGF0a19jb21wb25lbnRfc2Nyb2xsX3RvKEFUS19DT01QT05F TlQodGFyZ2V0KSwgQVRLX1NDUk9MTF9UT1BfTEVGVCkpOwotKyAgQVNTRVJUX1RSVUUoc2Nyb2xs X3RvKEFUS19DT01QT05FTlQodGFyZ2V0KSwgQVRLX1NDUk9MTF9UT1BfTEVGVCkpOwotICAgQVNT RVJUX1RSVUUod2FpdGVyLldhaXRGb3JOb3RpZmljYXRpb24oKSk7Ci0gICBhdGtfY29tcG9uZW50 X2dldF9leHRlbnRzKEFUS19DT01QT05FTlQodGFyZ2V0KSwgJngsICZ5LCBudWxscHRyLCBudWxs cHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBVEtfWFlfU0NSRUVOKTsKLSAgIEVY UEVDVF9FUSh5LCBkb2NfeSk7Ci0gICBFWFBFQ1RfRVEoeCwgZG9jX3gpOwotIAotLSAgQVNTRVJU X1RSVUUoCi0tICAgICAgYXRrX2NvbXBvbmVudF9zY3JvbGxfdG8oQVRLX0NPTVBPTkVOVCh0YXJn ZXQpLCBBVEtfU0NST0xMX0JPVFRPTV9FREdFKSk7Ci0rICBBU1NFUlRfVFJVRShzY3JvbGxfdG8o QVRLX0NPTVBPTkVOVCh0YXJnZXQpLCBBVEtfU0NST0xMX0JPVFRPTV9FREdFKSk7Ci0gICBBU1NF UlRfVFJVRSh3YWl0ZXIuV2FpdEZvck5vdGlmaWNhdGlvbigpKTsKLSAgIGF0a19jb21wb25lbnRf Z2V0X2V4dGVudHMoQVRLX0NPTVBPTkVOVCh0YXJnZXQpLCAmeCwgJnksIG51bGxwdHIsIG51bGxw dHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFUS19YWV9TQ1JFRU4pOwotICAgRVhQ RUNUX05FKHksIGRvY195KTsKLSAgIEVYUEVDVF9FUSh4LCBkb2NfeCk7Ci0gCi0tICBBU1NFUlRf VFJVRSgKLS0gICAgICBhdGtfY29tcG9uZW50X3Njcm9sbF90byhBVEtfQ09NUE9ORU5UKHRhcmdl dCksIEFUS19TQ1JPTExfUklHSFRfRURHRSkpOwotKyAgQVNTRVJUX1RSVUUoc2Nyb2xsX3RvKEFU S19DT01QT05FTlQodGFyZ2V0KSwgQVRLX1NDUk9MTF9SSUdIVF9FREdFKSk7Ci0gICBBU1NFUlRf VFJVRSh3YWl0ZXIuV2FpdEZvck5vdGlmaWNhdGlvbigpKTsKLSAgIGF0a19jb21wb25lbnRfZ2V0 X2V4dGVudHMoQVRLX0NPTVBPTkVOVCh0YXJnZXQpLCAmeCwgJnksIG51bGxwdHIsIG51bGxwdHIs Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFUS19YWV9TQ1JFRU4pOwotICAgRVhQRUNU X05FKHksIGRvY195KTsKLSAgIEVYUEVDVF9ORSh4LCBkb2NfeCk7Ci0gCi0tICBBU1NFUlRfVFJV RSgKLS0gICAgICBhdGtfY29tcG9uZW50X3Njcm9sbF90byhBVEtfQ09NUE9ORU5UKHRhcmdldDIp LCBBVEtfU0NST0xMX0xFRlRfRURHRSkpOwotKyAgQVNTRVJUX1RSVUUoc2Nyb2xsX3RvKEFUS19D T01QT05FTlQodGFyZ2V0MiksIEFUS19TQ1JPTExfTEVGVF9FREdFKSk7Ci0gICBBU1NFUlRfVFJV RSh3YWl0ZXIuV2FpdEZvck5vdGlmaWNhdGlvbigpKTsKLSAgIGF0a19jb21wb25lbnRfZ2V0X2V4 dGVudHMoQVRLX0NPTVBPTkVOVCh0YXJnZXQyKSwgJngsICZ5LCBudWxscHRyLCBudWxscHRyLAot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBVEtfWFlfU0NSRUVOKTsKLSAgIEVYUEVDVF9O RSh5LCBkb2NfeSk7Ci0gICBFWFBFQ1RfRVEoeCwgZG9jX3gpOwotIAotLSAgQVNTRVJUX1RSVUUo Ci0tICAgICAgYXRrX2NvbXBvbmVudF9zY3JvbGxfdG8oQVRLX0NPTVBPTkVOVCh0YXJnZXQyKSwg QVRLX1NDUk9MTF9UT1BfTEVGVCkpOwotKyAgQVNTRVJUX1RSVUUoc2Nyb2xsX3RvKEFUS19DT01Q T05FTlQodGFyZ2V0MiksIEFUS19TQ1JPTExfVE9QX0xFRlQpKTsKLSAgIEFTU0VSVF9UUlVFKHdh aXRlci5XYWl0Rm9yTm90aWZpY2F0aW9uKCkpOwotICAgYXRrX2NvbXBvbmVudF9nZXRfZXh0ZW50 cyhBVEtfQ09NUE9ORU5UKHRhcmdldDIpLCAmeCwgJnksIG51bGxwdHIsIG51bGxwdHIsCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgIEFUS19YWV9TQ1JFRU4pOwotQEAgLTEwNDksMTAgKzEw NzgsMzkgQEAgSU5fUFJPQ19CUk9XU0VSX1RFU1RfRihBY2Nlc3NpYmlsaXR5QXVyYQotICAgZ19v YmplY3RfdW5yZWYodGFyZ2V0Mik7Ci0gICBnX29iamVjdF91bnJlZih0YXJnZXQzKTsKLSB9Ci0r I2VuZGlmICAvLyAgZGVmaW5lZChBVEtfMjMwKQotKwotKyNpZiBkZWZpbmVkKEFUS19DSEVDS19W RVJTSU9OKSAmJiBBVEtfQ0hFQ0tfVkVSU0lPTigyLCAzMiwgMCkKLSt0eXBlZGVmIGdib29sZWFu ICgqU2Nyb2xsU3Vic3RyaW5nVG9GdW5jKShBdGtUZXh0KiB0ZXh0LAotKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdpbnQgc3RhcnRfb2Zmc2V0LAotKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdpbnQgZW5kX29mZnNldCwKLSsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBdGtTY3JvbGxUeXBlIHR5cGUp OwotK1Njcm9sbFN1YnN0cmluZ1RvRnVuYyBnX3Njcm9sbF9zdWJzdHJpbmdfdG8gPSBudWxscHRy OwotKwotK05PX1NBTklUSVpFKCJjZmktaWNhbGwiKQotK2dib29sZWFuIFNjcm9sbFN1YnN0cmlu Z1RvKEF0a1RleHQqIHRleHQsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2ludCBzdGFy dF9vZmZzZXQsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2ludCBlbmRfb2Zmc2V0LAot KyAgICAgICAgICAgICAgICAgICAgICAgICAgIEF0a1Njcm9sbFR5cGUgdHlwZSkgewotKyAgRVhQ RUNUX05FKGdfc2Nyb2xsX3N1YnN0cmluZ190bywgbnVsbHB0cik7Ci0rICByZXR1cm4gZ19zY3Jv bGxfc3Vic3RyaW5nX3RvKHRleHQsIHN0YXJ0X29mZnNldCwgZW5kX29mZnNldCwgdHlwZSk7Ci0r fQotIAotIC8vIFRPRE8oY3JidWcuY29tLzQwODY2NzI4KTogRW5hYmxlIHRoaXMgdGVzdC4KLSBJ Tl9QUk9DX0JST1dTRVJfVEVTVF9GKEFjY2Vzc2liaWxpdHlBdXJhTGludXhCcm93c2VyVGVzdCwK LSAgICAgICAgICAgICAgICAgICAgICAgIERJU0FCTEVEX1Rlc3RTY3JvbGxTdWJzdHJpbmdUbykg ewotKyAgLy8gVGhlcmUncyBhIGNoYW5jZSB3ZSBtYXkgYmUgY29tcGlsZWQgd2l0aCBhIG5ld2Vy IHZlcnNpb24gb2YgQVRLIGFuZCB0aGVuCi0rICAvLyBydW4gd2l0aCBhbiBvbGRlciBvbmUsIHNv IHdlIG5lZWQgdG8gZG8gYSBydW50aW1lIGNoZWNrIGZvciB0aGlzIG1ldGhvZAotKyAgLy8gdGhh dCBpcyBhdmFpbGFibGUgaW4gQVRLIDIuMzIgaW5zdGVhZCBvZiBsaW5raW5nIGRpcmVjdGx5Lgot KyAgZ19zY3JvbGxfc3Vic3RyaW5nX3RvID0gcmVpbnRlcnByZXRfY2FzdDxTY3JvbGxTdWJzdHJp bmdUb0Z1bmM+KAotKyAgICAgIGRsc3ltKFJUTERfREVGQVVMVCwgImF0a190ZXh0X3Njcm9sbF9z dWJzdHJpbmdfdG8iKSk7Ci0rICBpZiAoIWdfc2Nyb2xsX3N1YnN0cmluZ190bykgewotKyAgICBM T0coV0FSTklORykgPDwgIlNraXBwaW5nICIKLSsgICAgICAgICAgICAgICAgICAgICJBY2Nlc3Np YmlsaXR5QXVyYUxpbnV4QnJvd3NlclRlc3Q6OlRlc3RTdWJzdHJpbmdTY3JvbGxUbyIKLSsgICAg ICAgICAgICAgICAgICAgICIgYmVjYXVzZSBBVEsgdmVyc2lvbiA8IDIuMzIgZGV0ZWN0ZWQuIjsK LSsgICAgcmV0dXJuOwotKyAgfQotKwotICAgTG9hZEluaXRpYWxBY2Nlc3NpYmlsaXR5VHJlZUZy b21IdG1sKAotICAgICAgIFIiSFRNTCg8IURPQ1RZUEUgaHRtbD4KLSAgICAgICA8aHRtbD4KLUBA IC0xMDg2LDggKzExNDQsNyBAQCBJTl9QUk9DX0JST1dTRVJfVEVTVF9GKEFjY2Vzc2liaWxpdHlB dXJhCi0gICBBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uV2FpdGVyIHdhaXRlcigKLSAgICAgICBz aGVsbCgpLT53ZWJfY29udGVudHMoKSwgdWk6OmtBWE1vZGVDb21wbGV0ZSwKLSAgICAgICBheDo6 bW9qb206OkV2ZW50OjprU2Nyb2xsUG9zaXRpb25DaGFuZ2VkKTsKLS0gIEFTU0VSVF9UUlVFKGF0 a190ZXh0X3Njcm9sbF9zdWJzdHJpbmdfdG8oQVRLX1RFWFQodGFyZ2V0MSksIDEsIDIsCi0tICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFUS19TQ1JPTExfVE9QX0VE R0UpKTsKLSsgIEFTU0VSVF9UUlVFKFNjcm9sbFN1YnN0cmluZ1RvKEFUS19URVhUKHRhcmdldDEp LCAxLCAyLCBBVEtfU0NST0xMX1RPUF9FREdFKSk7Ci0gICBBU1NFUlRfVFJVRSh3YWl0ZXIuV2Fp dEZvck5vdGlmaWNhdGlvbigpKTsKLSAgIGludCB4LCB5OwotICAgYXRrX3RleHRfZ2V0X2NoYXJh Y3Rlcl9leHRlbnRzKEFUS19URVhUKHRhcmdldDEpLCAxLCAmeCwgJnksIG51bGxwdHIsIG51bGxw dHIsCi1AQCAtMTA5NSw0MCArMTE1MiwzNyBAQCBJTl9QUk9DX0JST1dTRVJfVEVTVF9GKEFjY2Vz c2liaWxpdHlBdXJhCi0gICBFWFBFQ1RfRVEoeSwgZG9jX3kpOwotICAgRVhQRUNUX05FKHgsIGRv Y194KTsKLSAKLS0gIEFTU0VSVF9UUlVFKGF0a190ZXh0X3Njcm9sbF9zdWJzdHJpbmdfdG8oQVRL X1RFWFQodGFyZ2V0MSksIDEsIDIsCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIEFUS19TQ1JPTExfVE9QX0xFRlQpKTsKLSsgIEFTU0VSVF9UUlVFKFNjcm9sbFN1 YnN0cmluZ1RvKEFUS19URVhUKHRhcmdldDEpLCAxLCAyLCBBVEtfU0NST0xMX1RPUF9MRUZUKSk7 Ci0gICBBU1NFUlRfVFJVRSh3YWl0ZXIuV2FpdEZvck5vdGlmaWNhdGlvbigpKTsKLSAgIGF0a190 ZXh0X2dldF9jaGFyYWN0ZXJfZXh0ZW50cyhBVEtfVEVYVCh0YXJnZXQxKSwgMSwgJngsICZ5LCBu dWxscHRyLCBudWxscHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFUS19Y WV9TQ1JFRU4pOwotICAgRVhQRUNUX0VRKHksIGRvY195KTsKLSAgIEVYUEVDVF9FUSh4LCBkb2Nf eCk7Ci0gCi0tICBBU1NFUlRfVFJVRShhdGtfdGV4dF9zY3JvbGxfc3Vic3RyaW5nX3RvKEFUS19U RVhUKHRhcmdldDEpLCAxLCAyLAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBBVEtfU0NST0xMX0JPVFRPTV9FREdFKSk7Ci0rICBBU1NFUlRfVFJVRSgKLSsgICAg ICBTY3JvbGxTdWJzdHJpbmdUbyhBVEtfVEVYVCh0YXJnZXQxKSwgMSwgMiwgQVRLX1NDUk9MTF9C T1RUT01fRURHRSkpOwotICAgQVNTRVJUX1RSVUUod2FpdGVyLldhaXRGb3JOb3RpZmljYXRpb24o KSk7Ci0gICBhdGtfdGV4dF9nZXRfY2hhcmFjdGVyX2V4dGVudHMoQVRLX1RFWFQodGFyZ2V0MSks IDEsICZ4LCAmeSwgbnVsbHB0ciwgbnVsbHB0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBBVEtfWFlfU0NSRUVOKTsKLSAgIEVYUEVDVF9ORSh5LCBkb2NfeSk7Ci0gICBFWFBF Q1RfRVEoeCwgZG9jX3gpOwotIAotLSAgQVNTRVJUX1RSVUUoYXRrX3RleHRfc2Nyb2xsX3N1YnN0 cmluZ190byhBVEtfVEVYVCh0YXJnZXQxKSwgMSwgMiwKLS0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgQVRLX1NDUk9MTF9SSUdIVF9FREdFKSk7Ci0rICBBU1NFUlRf VFJVRSgKLSsgICAgICBTY3JvbGxTdWJzdHJpbmdUbyhBVEtfVEVYVCh0YXJnZXQxKSwgMSwgMiwg QVRLX1NDUk9MTF9SSUdIVF9FREdFKSk7Ci0gICBBU1NFUlRfVFJVRSh3YWl0ZXIuV2FpdEZvck5v dGlmaWNhdGlvbigpKTsKLSAgIGF0a190ZXh0X2dldF9jaGFyYWN0ZXJfZXh0ZW50cyhBVEtfVEVY VCh0YXJnZXQxKSwgMSwgJngsICZ5LCBudWxscHRyLCBudWxscHRyLAotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIEFUS19YWV9TQ1JFRU4pOwotICAgRVhQRUNUX05FKHksIGRvY195 KTsKLSAgIEVYUEVDVF9ORSh4LCBkb2NfeCk7Ci0gCi0tICBBU1NFUlRfVFJVRShhdGtfdGV4dF9z Y3JvbGxfc3Vic3RyaW5nX3RvKEFUS19URVhUKHRhcmdldDEpLCAxLCAyLAotLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBVEtfU0NST0xMX0xFRlRfRURHRSkpOwot KyAgQVNTRVJUX1RSVUUoU2Nyb2xsU3Vic3RyaW5nVG8oQVRLX1RFWFQodGFyZ2V0MSksIDEsIDIs IEFUS19TQ1JPTExfTEVGVF9FREdFKSk7Ci0gICBBU1NFUlRfVFJVRSh3YWl0ZXIuV2FpdEZvck5v dGlmaWNhdGlvbigpKTsKLSAgIGF0a190ZXh0X2dldF9jaGFyYWN0ZXJfZXh0ZW50cyhBVEtfVEVY VCh0YXJnZXQxKSwgMSwgJngsICZ5LCBudWxscHRyLCBudWxscHRyLAotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIEFUS19YWV9TQ1JFRU4pOwotICAgRVhQRUNUX05FKHksIGRvY195 KTsKLSAgIEVYUEVDVF9FUSh4LCBkb2NfeCk7Ci0gCi0tICBBU1NFUlRfVFJVRShhdGtfdGV4dF9z Y3JvbGxfc3Vic3RyaW5nX3RvKEFUS19URVhUKHRhcmdldDEpLCAxLCAyLAotLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBVEtfU0NST0xMX1RPUF9MRUZUKSk7Ci0r ICBBU1NFUlRfVFJVRShTY3JvbGxTdWJzdHJpbmdUbyhBVEtfVEVYVCh0YXJnZXQxKSwgMSwgMiwg QVRLX1NDUk9MTF9UT1BfTEVGVCkpOwotICAgQVNTRVJUX1RSVUUod2FpdGVyLldhaXRGb3JOb3Rp ZmljYXRpb24oKSk7Ci0gICBhdGtfdGV4dF9nZXRfY2hhcmFjdGVyX2V4dGVudHMoQVRLX1RFWFQo dGFyZ2V0MSksIDEsICZ4LCAmeSwgbnVsbHB0ciwgbnVsbHB0ciwKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBBVEtfWFlfU0NSRUVOKTsKLUBAIC0xMTM4LDkgKzExOTIsNDIgQEAg SU5fUFJPQ19CUk9XU0VSX1RFU1RfRihBY2Nlc3NpYmlsaXR5QXVyYQotICAgZ19vYmplY3RfdW5y ZWYodGFyZ2V0MSk7Ci0gfQotIAotK3R5cGVkZWYgZ2Jvb2xlYW4gKCpTY3JvbGxTdWJzdHJpbmdU b1BvaW50RnVuYykoQXRrVGV4dCogdGV4dCwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGdpbnQgc3RhcnRfb2Zmc2V0LAotKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2ludCBlbmRfb2Zmc2V0LAotKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQXRrQ29vcmRUeXBlIGNvb3Jk X3R5cGUsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBn aW50IHgsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBn aW50IHkpOwotK1Njcm9sbFN1YnN0cmluZ1RvUG9pbnRGdW5jIGdfc2Nyb2xsX3N1YnN0cmluZ190 b19wb2ludCA9IG51bGxwdHI7Ci0rCi0rTk9fU0FOSVRJWkUoImNmaS1pY2FsbCIpCi0rZ2Jvb2xl YW4gU2Nyb2xsU3Vic3RyaW5nVG9Qb2ludChBdGtUZXh0KiB0ZXh0LAotKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgZ2ludCBzdGFydF9vZmZzZXQsCi0rICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBnaW50IGVuZF9vZmZzZXQsCi0rICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBBdGtDb29yZFR5cGUgY29vcmRfdHlwZSwKLSsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGdpbnQgeCwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdpbnQg eSkgewotKyAgRVhQRUNUX05FKGdfc2Nyb2xsX3N1YnN0cmluZ190b19wb2ludCwgbnVsbHB0cik7 Ci0rICByZXR1cm4gZ19zY3JvbGxfc3Vic3RyaW5nX3RvX3BvaW50KHRleHQsIHN0YXJ0X29mZnNl dCwgZW5kX29mZnNldCwgY29vcmRfdHlwZSwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgeCwgeSk7Ci0rfQotKwotIC8vIFRPRE8oY3JidWcuY29tLzQwODY2NzI4KTogRW5h YmxlIHRoaXMgdGVzdC4KLSBJTl9QUk9DX0JST1dTRVJfVEVTVF9GKEFjY2Vzc2liaWxpdHlBdXJh TGludXhCcm93c2VyVGVzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgIERJU0FCTEVEX1Rlc3RT Y3JvbGxTdWJzdHJpbmdUb1BvaW50KSB7Ci0rICAvLyBUaGVyZSdzIGEgY2hhbmNlIHdlIG1heSBi ZSBjb21waWxlZCB3aXRoIGEgbmV3ZXIgdmVyc2lvbiBvZiBBVEsgYW5kIHRoZW4KLSsgIC8vIHJ1 biB3aXRoIGFuIG9sZGVyIG9uZSwgc28gd2UgbmVlZCB0byBkbyBhIHJ1bnRpbWUgY2hlY2sgZm9y IHRoaXMgbWV0aG9kCi0rICAvLyB0aGF0IGlzIGF2YWlsYWJsZSBpbiBBVEsgMi4zMCBpbnN0ZWFk IG9mIGxpbmtpbmcgZGlyZWN0bHkuCi0rICBnX3Njcm9sbF9zdWJzdHJpbmdfdG9fcG9pbnQgPSBy ZWludGVycHJldF9jYXN0PFNjcm9sbFN1YnN0cmluZ1RvUG9pbnRGdW5jPigKLSsgICAgICBkbHN5 bShSVExEX0RFRkFVTFQsICJhdGtfdGV4dF9zY3JvbGxfc3Vic3RyaW5nX3RvX3BvaW50IikpOwot KyAgaWYgKCFnX3Njcm9sbF9zdWJzdHJpbmdfdG9fcG9pbnQpIHsKLSsgICAgTE9HKFdBUk5JTkcp Ci0rICAgICAgICA8PCAiU2tpcHBpbmcgIgotKyAgICAgICAgICAgIkFjY2Vzc2liaWxpdHlBdXJh TGludXhCcm93c2VyVGVzdDo6VGVzdFNjcm9sbFN1YnN0cmluZ1RvUG9pbnQiCi0rICAgICAgICAg ICAiIGJlY2F1c2UgQVRLIHZlcnNpb24gPCAyLjMwIGRldGVjdGVkLiI7Ci0rICAgIHJldHVybjsK LSsgIH0KLSsKLSAgIExvYWRTYW1wbGVQYXJhZ3JhcGhJblNjcm9sbGFibGVEb2N1bWVudCgpOwot ICAgQXRrVGV4dCogYXRrX3RleHQgPSBHZXRTYW1wbGVQYXJhZ3JhcGgoKTsKLSAgIEFTU0VSVF9U UlVFKEFUS19JU19DT01QT05FTlQoYXRrX3RleHQpKTsKLUBAIC0xMTUzLDcgKzEyNDAsNyBAQCBJ Tl9QUk9DX0JST1dTRVJfVEVTVF9GKEFjY2Vzc2liaWxpdHlBdXJhCi0gICBBY2Nlc3NpYmlsaXR5 Tm90aWZpY2F0aW9uV2FpdGVyIGxvY2F0aW9uX2NoYW5nZWRfd2FpdGVyKAotICAgICAgIHNoZWxs KCktPndlYl9jb250ZW50cygpLCB1aTo6a0FYTW9kZUNvbXBsZXRlLAotICAgICAgIGF4Ojptb2pv bTo6RXZlbnQ6OmtMb2NhdGlvbkNoYW5nZWQpOwotLSAgYXRrX3RleHRfc2Nyb2xsX3N1YnN0cmlu Z190b19wb2ludChhdGtfdGV4dCwgMSwgMiwgQVRLX1hZX1BBUkVOVCwgMCwgMCk7Ci0rICBTY3Jv bGxTdWJzdHJpbmdUb1BvaW50KGF0a190ZXh0LCAxLCAyLCBBVEtfWFlfUEFSRU5ULCAwLCAwKTsK LSAgIEFTU0VSVF9UUlVFKGxvY2F0aW9uX2NoYW5nZWRfd2FpdGVyLldhaXRGb3JOb3RpZmljYXRp b24oKSk7Ci0gCi0gICBhdGtfdGV4dF9nZXRfY2hhcmFjdGVyX2V4dGVudHMoYXRrX3RleHQsIDEs ICZ4LCAmeSwgbnVsbHB0ciwgbnVsbHB0ciwKLUBAIC0xMTYyLDIyICsxMjQ5LDIwIEBAIElOX1BS T0NfQlJPV1NFUl9URVNUX0YoQWNjZXNzaWJpbGl0eUF1cmEKLSAgIEVYUEVDVF9HVChwcmV2X3ks IHkpOwotIAotICAgY29uc3RleHByIGludCBrU2Nyb2xsVG9ZID0gMDsKLS0gIGF0a190ZXh0X3Nj cm9sbF9zdWJzdHJpbmdfdG9fcG9pbnQoYXRrX3RleHQsIDEsIDIsIEFUS19YWV9TQ1JFRU4sIDAs Ci0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtTY3JvbGxUb1kpOwotKyAg U2Nyb2xsU3Vic3RyaW5nVG9Qb2ludChhdGtfdGV4dCwgMSwgMiwgQVRLX1hZX1NDUkVFTiwgMCwg a1Njcm9sbFRvWSk7Ci0gICBBU1NFUlRfVFJVRShsb2NhdGlvbl9jaGFuZ2VkX3dhaXRlci5XYWl0 Rm9yTm90aWZpY2F0aW9uKCkpOwotICAgYXRrX3RleHRfZ2V0X2NoYXJhY3Rlcl9leHRlbnRzKGF0 a190ZXh0LCAxLCAmeCwgJnksIG51bGxwdHIsIG51bGxwdHIsCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgQVRLX1hZX1NDUkVFTik7Ci0gICBFWFBFQ1RfRVEoa1Njcm9sbFRvWSwg eSk7Ci0gCi0gICBjb25zdGV4cHIgaW50IGtTY3JvbGxUb1lfMiA9IDI0MzsKLS0gIGF0a190ZXh0 X3Njcm9sbF9zdWJzdHJpbmdfdG9fcG9pbnQoYXRrX3RleHQsIDEsIDIsIEFUS19YWV9TQ1JFRU4s IDAsCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtTY3JvbGxUb1lfMik7 Ci0rICBTY3JvbGxTdWJzdHJpbmdUb1BvaW50KGF0a190ZXh0LCAxLCAyLCBBVEtfWFlfU0NSRUVO LCAwLCBrU2Nyb2xsVG9ZXzIpOwotICAgQVNTRVJUX1RSVUUobG9jYXRpb25fY2hhbmdlZF93YWl0 ZXIuV2FpdEZvck5vdGlmaWNhdGlvbigpKTsKLSAgIGF0a190ZXh0X2dldF9jaGFyYWN0ZXJfZXh0 ZW50cyhhdGtfdGV4dCwgMSwgJngsICZ5LCBudWxscHRyLCBudWxscHRyLAotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIEFUS19YWV9TQ1JFRU4pOwotICAgRVhQRUNUX0VRKGtTY3Jv bGxUb1lfMiwgeSk7Ci0gCi0tICBhdGtfdGV4dF9zY3JvbGxfc3Vic3RyaW5nX3RvX3BvaW50KGF0 a190ZXh0LCAxLCAyLCBBVEtfWFlfU0NSRUVOLCAwLCAxMjkpOwotKyAgU2Nyb2xsU3Vic3RyaW5n VG9Qb2ludChhdGtfdGV4dCwgMSwgMiwgQVRLX1hZX1NDUkVFTiwgMCwgMTI5KTsKLSAgIEFTU0VS VF9UUlVFKGxvY2F0aW9uX2NoYW5nZWRfd2FpdGVyLldhaXRGb3JOb3RpZmljYXRpb24oKSk7Ci0g ICBhdGtfdGV4dF9nZXRfY2hhcmFjdGVyX2V4dGVudHMoYXRrX3RleHQsIDEsICZ4LCAmeSwgbnVs bHB0ciwgbnVsbHB0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBVEtfWFlf U0NSRUVOKTsKLUBAIC0xMTkzLDYgKzEyNzgsNyBAQCBJTl9QUk9DX0JST1dTRVJfVEVTVF9GKEFj Y2Vzc2liaWxpdHlBdXJhCi0gCi0gICBnX29iamVjdF91bnJlZihhdGtfdGV4dCk7Ci0gfQotKyNl bmRpZiAgLy8gIGRlZmluZWQoQVRLX0NIRUNLX1ZFUlNJT04pICYmIEFUS19DSEVDS19WRVJTSU9O KDIsIDMyLCAwKQotIAotICNpZiBCVUlMREZMQUcoSVNfTElOVVgpIHx8IEJVSUxERkxBRyhJU19D SFJPTUVPUykKLSAvLyBGbGFreSBvbiBjcmJ1Zy5jb20vMTAyNjE0OQotZGlmZiAtdXAgY2hyb21p dW0tMTMzLjAuNjk0My4zNS91aS9hY2Nlc3NpYmlsaXR5L3BsYXRmb3JtL2F4X3BsYXRmb3JtX25v ZGVfYXVyYWxpbnV4LmNjLmVsOC1hdGstY29tcGlsZXItZXJyb3IgY2hyb21pdW0tMTMzLjAuNjk0 My4zNS91aS9hY2Nlc3NpYmlsaXR5L3BsYXRmb3JtL2F4X3BsYXRmb3JtX25vZGVfYXVyYWxpbnV4 LmNjCi0tLS0gY2hyb21pdW0tMTMzLjAuNjk0My4zNS91aS9hY2Nlc3NpYmlsaXR5L3BsYXRmb3Jt L2F4X3BsYXRmb3JtX25vZGVfYXVyYWxpbnV4LmNjLmVsOC1hdGstY29tcGlsZXItZXJyb3IJMjAy NS0wMS0yOCAyMzowMzoyNy4wMDAwMDAwMDAgKzAxMDAKLSsrKyBjaHJvbWl1bS0xMzMuMC42OTQz LjM1L3VpL2FjY2Vzc2liaWxpdHkvcGxhdGZvcm0vYXhfcGxhdGZvcm1fbm9kZV9hdXJhbGludXgu Y2MJMjAyNS0wMi0wNCAxMDo1NjowOC40MjQxMjY2MDIgKzAxMDAKLUBAIC0yLDEyICsyLDEyIEBA Ci0gLy8gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUg bGljZW5zZSB0aGF0IGNhbiBiZQotIC8vIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCi0gCi0t I2luY2x1ZGUgImJhc2UvdmVyc2lvbi5oIgotICNpZmRlZiBVTlNBRkVfQlVGRkVSU19CVUlMRAot IC8vIFRPRE8oY3JidWcuY29tLzQwMjg1ODI0KTogUmVtb3ZlIHRoaXMgYW5kIGNvbnZlcnQgY29k ZSB0byBzYWZlciBjb25zdHJ1Y3RzLgotICNwcmFnbWEgYWxsb3dfdW5zYWZlX2J1ZmZlcnMKLSAj ZW5kaWYKLSAKLSsjaW5jbHVkZSA8ZGxmY24uaD4KLSAjaW5jbHVkZSA8c3RkaW50Lmg+Ci0gCi0g I2luY2x1ZGUgPGFsZ29yaXRobT4KLUBAIC00NywxNCArNDcsMzMgQEAKLSAjaW5jbHVkZSAidWkv YWNjZXNzaWJpbGl0eS9wbGF0Zm9ybS9jaGlsZF9pdGVyYXRvci5oIgotICNpbmNsdWRlICJ1aS9n ZngvZ2VvbWV0cnkvcmVjdF9jb252ZXJzaW9ucy5oIgotIAotLS8vIEZ1bmN0aW9uIGF2YWlsYWJp bGl0eSBjYW4gYmUgdGVzdGVkIGJ5IGNoZWNraW5nIHdoZXRoZXIgaXRzIGFkZHJlc3MgaXMgbm90 Ci0tLy8gbnVsbHB0ci4KLS0jZGVmaW5lIFdFQUtfQVRLX0ZOKHgpIGV4dGVybiAiQyIgX19hdHRy aWJ1dGVfXygod2VhaykpIGRlY2x0eXBlKHgpIHgKLS0KLS0vLyBUT0RPKGh0dHBzOi8vY3JidWcu Y29tLzQwNTQ5NDI0KTogVGhpcyBtYXkgYmUgcmVtb3ZlZCB3aGVuIHN1cHBvcnQgZm9yCi0tLy8g VWJ1bnR1IDE4LjA0IGlzIGRyb3BwZWQuCi0tV0VBS19BVEtfRk4oYXRrX2NvbXBvbmVudF9zY3Jv bGxfdG9fcG9pbnQpOwotLVdFQUtfQVRLX0ZOKGF0a190ZXh0X3Njcm9sbF9zdWJzdHJpbmdfdG9f cG9pbnQpOwotKyNpZiBkZWZpbmVkKEFUS19DSEVDS19WRVJTSU9OKSAmJiBBVEtfQ0hFQ0tfVkVS U0lPTigyLCAxMCwgMCkKLSsjZGVmaW5lIEFUS18yMTAKLSsjZW5kaWYKLSsKLSsjaWYgZGVmaW5l ZChBVEtfQ0hFQ0tfVkVSU0lPTikgJiYgQVRLX0NIRUNLX1ZFUlNJT04oMiwgMTIsIDApCi0rI2Rl ZmluZSBBVEtfMjEyCi0rI2VuZGlmCi0rCi0rI2lmIGRlZmluZWQoQVRLX0NIRUNLX1ZFUlNJT04p ICYmIEFUS19DSEVDS19WRVJTSU9OKDIsIDE2LCAwKQotKyNkZWZpbmUgQVRLXzIxNgotKyNlbmRp ZgotKwotKyNpZiBkZWZpbmVkKEFUS19DSEVDS19WRVJTSU9OKSAmJiBBVEtfQ0hFQ0tfVkVSU0lP TigyLCAyNiwgMCkKLSsjZGVmaW5lIEFUS18yMjYKLSsjZW5kaWYKLSsKLSsjaWYgZGVmaW5lZChB VEtfQ0hFQ0tfVkVSU0lPTikgJiYgQVRLX0NIRUNLX1ZFUlNJT04oMiwgMzAsIDApCi0rI2RlZmlu ZSBBVEtfMjMwCi0rI2VuZGlmCi0rCi0rI2lmIGRlZmluZWQoQVRLX0NIRUNLX1ZFUlNJT04pICYm IEFUS19DSEVDS19WRVJTSU9OKDIsIDMyLCAwKQotKyNkZWZpbmUgQVRLXzIzMgotKyNlbmRpZgot KwotKyNpZiBkZWZpbmVkKEFUS19DSEVDS19WRVJTSU9OKSAmJiBBVEtfQ0hFQ0tfVkVSU0lPTigy LCAzNCwgMCkKLSsjZGVmaW5lIEFUS18yMzQKLSsjZW5kaWYKLSAKLSBuYW1lc3BhY2UgdWkgewot IAotQEAgLTE0NiwxMSArMTY1LDI5IEBAIEF0a09iamVjdCogZ19hY3RpdmVfdG9wX2xldmVsX2Zy YW1lID0gbnUKLSAKLSBBdGtPYmplY3QqIGdfYWN0aXZlX3ZpZXdzX2RpYWxvZyA9IG51bGxwdHI7 Ci0gCi0rI2lmIGRlZmluZWQoQVRLXzIxNikKLSBjb25zdGV4cHIgQXRrUm9sZSBrU3RhdGljUm9s ZSA9IEFUS19ST0xFX1NUQVRJQzsKLSBjb25zdGV4cHIgQXRrUm9sZSBrU3Vic2NyaXB0Um9sZSA9 IEFUS19ST0xFX1NVQlNDUklQVDsKLSBjb25zdGV4cHIgQXRrUm9sZSBrU3VwZXJzY3JpcHRSb2xl ID0gQVRLX1JPTEVfU1VQRVJTQ1JJUFQ7Ci0rI2Vsc2UKLStjb25zdGV4cHIgQXRrUm9sZSBrU3Rh dGljUm9sZSA9IEFUS19ST0xFX1RFWFQ7Ci0rY29uc3RleHByIEF0a1JvbGUga1N1YnNjcmlwdFJv bGUgPSBBVEtfUk9MRV9URVhUOwotK2NvbnN0ZXhwciBBdGtSb2xlIGtTdXBlcnNjcmlwdFJvbGUg PSBBVEtfUk9MRV9URVhUOwotKyNlbmRpZgotIAotKyNpZiBkZWZpbmVkKEFUS18yMjYpCi0gY29u c3RleHByIEF0a1JvbGUga0F0a0Zvb3Rub3RlUm9sZSA9IEFUS19ST0xFX0ZPT1ROT1RFOwotKyNl bHNlCi0rY29uc3RleHByIEF0a1JvbGUga0F0a0Zvb3Rub3RlUm9sZSA9IEFUS19ST0xFX0xJU1Rf SVRFTTsKLSsjZW5kaWYKLSsKLSsjaWYgZGVmaW5lZChBVEtfMjM0KQotK2NvbnN0ZXhwciBBdGtS b2xlIGtBdGtSb2xlQ29udGVudERlbGV0aW9uID0gQVRLX1JPTEVfQ09OVEVOVF9ERUxFVElPTjsK LStjb25zdGV4cHIgQXRrUm9sZSBrQXRrUm9sZUNvbnRlbnRJbnNlcnRpb24gPSBBVEtfUk9MRV9D T05URU5UX0lOU0VSVElPTjsKLSsjZWxzZQotK2NvbnN0ZXhwciBBdGtSb2xlIGtBdGtSb2xlQ29u dGVudERlbGV0aW9uID0gQVRLX1JPTEVfU0VDVElPTjsKLStjb25zdGV4cHIgQXRrUm9sZSBrQXRr Um9sZUNvbnRlbnRJbnNlcnRpb24gPSBBVEtfUk9MRV9TRUNUSU9OOwotKyNlbmRpZgotIAotIHVz aW5nIEdldFR5cGVGdW5jID0gR1R5cGUgKCopKCk7Ci0gdXNpbmcgR2V0Q29sdW1uSGVhZGVyQ2Vs bHNGdW5jID0gR1B0ckFycmF5KiAoKikoQXRrVGFibGVDZWxsKiBjZWxsKTsKLUBAIC0xNjEsNiAr MTk4LDExIEBAIHVzaW5nIEdldFJvd0NvbHVtblNwYW5GdW5jID0gYm9vbCAoKikoQXQKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdpbnQqIHJvd19zcGFuLAotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2ludCogY29sX3NwYW4pOwotIAotK3N0 YXRpYyBHZXRUeXBlRnVuYyBnX2F0a190YWJsZV9jZWxsX2dldF90eXBlOwotK3N0YXRpYyBHZXRD b2x1bW5IZWFkZXJDZWxsc0Z1bmMgZ19hdGtfdGFibGVfY2VsbF9nZXRfY29sdW1uX2hlYWRlcl9j ZWxsczsKLStzdGF0aWMgR2V0Um93SGVhZGVyQ2VsbHNGdW5jIGdfYXRrX3RhYmxlX2NlbGxfZ2V0 X3Jvd19oZWFkZXJfY2VsbHM7Ci0rc3RhdGljIEdldFJvd0NvbHVtblNwYW5GdW5jIGdfYXRrX3Rh YmxlX2NlbGxfZ2V0X3Jvd19jb2x1bW5fc3BhbjsKLSsKLSAvLyBUaGUgQVRLIEFQSSBvZnRlbiBy ZXF1aXJlcyBwb2ludGVycyB0byBiZSB1c2VkIGFzIG91dCBhcmd1bWVudHMsIHdoaWxlCi0gLy8g YWxsb3dpbmcgZm9yIHRob3NlIHBvaW50ZXJzIHRvIGJlIG51bGwgaWYgdGhlIGNhbGxlciBpcyBu b3QgaW50ZXJlc3RlZCBpbgotIC8vIHRoZSB2YWx1ZS4gVGhpcyBmdW5jdGlvbiBpcyBhIHNpbXBs ZXIgaGVscGVyIHRvIGF2b2lkIGNvbnRpbnVhbGx5IGNoZWNraW5nCi1AQCAtMTcwLDM1ICsyMTIs MTcgQEAgdm9pZCBTZXRJbnRQb2ludGVyVmFsdWVJZk5vdE51bGwoaW50KiBwbwotICAgICAqcG9p bnRlciA9IHZhbHVlOwotIH0KLSAKLS0vLyBUT0RPKGh0dHBzOi8vY3JidWcuY29tLzQwNTQ5NDI0 KTogVGhpcyBtYXkgYmUgcmVtb3ZlZCB3aGVuIHN1cHBvcnQgZm9yCi0tLy8gVWJ1bnR1IDE4LjA0 IGlzIGRyb3BwZWQuCi0rI2lmIGRlZmluZWQoQVRLXzIzMCkKLSBib29sIFN1cHBvcnRzQXRrQ29t cG9uZW50U2Nyb2xsaW5nSW50ZXJmYWNlKCkgewotLSAgcmV0dXJuIGF0a19jb21wb25lbnRfc2Ny b2xsX3RvX3BvaW50OwotKyAgcmV0dXJuIGRsc3ltKFJUTERfREVGQVVMVCwgImF0a19jb21wb25l bnRfc2Nyb2xsX3RvX3BvaW50Iik7Ci0gfQotKyNlbmRpZgotIAotLS8vIFRPRE8oaHR0cHM6Ly9j cmJ1Zy5jb20vNDA1NDk0MjQpOiBUaGlzIG1heSBiZSByZW1vdmVkIHdoZW4gc3VwcG9ydCBmb3IK LS0vLyBVYnVudHUgMTguMDQgaXMgZHJvcHBlZC4KLSsjaWYgZGVmaW5lZChBVEtfMjMyKQotIGJv b2wgU3VwcG9ydHNBdGtUZXh0U2Nyb2xsaW5nSW50ZXJmYWNlKCkgewotLSAgcmV0dXJuIGF0a190 ZXh0X3Njcm9sbF9zdWJzdHJpbmdfdG9fcG9pbnQ7Ci0tfQotLQotLS8vIFRPRE8oaHR0cHM6Ly9j cmJ1Zy5jb20vNDA1NDk0MjQpOiBUaGlzIG1heSBiZSByZW1vdmVkIHdoZW4gc3VwcG9ydCBmb3IK LS0vLyBVYnVudHUgMTguMDQgaXMgZHJvcHBlZC4KLS1BdGtSb2xlIEdldEF0a1JvbGVDb250ZW50 RGVsZXRpb24oKSB7Ci0tICBiYXNlOjpWZXJzaW9uIGF0a192ZXJzaW9uKGF0a19nZXRfdmVyc2lv bigpKTsKLS0gIHJldHVybiBhdGtfdmVyc2lvbi5Db21wYXJlVG8oYmFzZTo6VmVyc2lvbigiMi4z NC4wIikpID49IDAKLS0gICAgICAgICAgICAgPyBBVEtfUk9MRV9DT05URU5UX0RFTEVUSU9OCi0t ICAgICAgICAgICAgIDogQVRLX1JPTEVfU0VDVElPTjsKLS19Ci0tCi0tLy8gVE9ETyhodHRwczov L2NyYnVnLmNvbS80MDU0OTQyNCk6IFRoaXMgbWF5IGJlIHJlbW92ZWQgd2hlbiBzdXBwb3J0IGZv cgotLS8vIFVidW50dSAxOC4wNCBpcyBkcm9wcGVkLgotLUF0a1JvbGUgR2V0QXRrUm9sZUNvbnRl bnRJbnNlcnRpb24oKSB7Ci0tICBiYXNlOjpWZXJzaW9uIGF0a192ZXJzaW9uKGF0a19nZXRfdmVy c2lvbigpKTsKLS0gIHJldHVybiBhdGtfdmVyc2lvbi5Db21wYXJlVG8oYmFzZTo6VmVyc2lvbigi Mi4zNC4wIikpID49IDAKLS0gICAgICAgICAgICAgPyBBVEtfUk9MRV9DT05URU5UX0lOU0VSVElP TgotLSAgICAgICAgICAgICA6IEFUS19ST0xFX1NFQ1RJT047Ci0rICByZXR1cm4gZGxzeW0oUlRM RF9ERUZBVUxULCAiYXRrX3RleHRfc2Nyb2xsX3N1YnN0cmluZ190b19wb2ludCIpOwotIH0KLSsj ZW5kaWYKLSAKLSBBdGtPYmplY3QqIEZpbmRBdGtPYmplY3RQYXJlbnRGcmFtZShBdGtPYmplY3Qq IGF0a19vYmplY3QpIHsKLSAgIEFYUGxhdGZvcm1Ob2RlQXVyYUxpbnV4KiBub2RlID0KLUBAIC0y OTcsMTAgKzMyMSwxMiBAQCBBWENvb3JkaW5hdGVTeXN0ZW0gQXRrQ29vcmRUeXBlVG9BWENvb3Jk Ci0gICAgICAgcmV0dXJuIEFYQ29vcmRpbmF0ZVN5c3RlbTo6a1NjcmVlbkRJUHM7Ci0gICAgIGNh c2UgQVRLX1hZX1dJTkRPVzoKLSAgICAgICByZXR1cm4gQVhDb29yZGluYXRlU3lzdGVtOjprUm9v dEZyYW1lOwotKyNpZiBkZWZpbmVkKEFUS18yMzApCi0gICAgIGNhc2UgQVRLX1hZX1BBUkVOVDoK LSAgICAgICAvLyBBWENvb3JkaW5hdGVTeXN0ZW0gZG9lcyBub3Qgc3VwcG9ydCBwYXJlbnQgY29v cmRpbmF0ZXMuCi0gICAgICAgTk9USU1QTEVNRU5URUQoKTsKLSAgICAgICByZXR1cm4gQVhDb29y ZGluYXRlU3lzdGVtOjprRnJhbWU7Ci0rI2VuZGlmCi0gICAgIGRlZmF1bHQ6Ci0gICAgICAgcmV0 dXJuIEFYQ29vcmRpbmF0ZVN5c3RlbTo6a1NjcmVlbkRJUHM7Ci0gICB9Ci1AQCAtNTEzLDYgKzUz OSw3IEBAIGdib29sZWFuIEdyYWJGb2N1cyhBdGtDb21wb25lbnQqIGF0a19jb20KLSAgIHJldHVy biBvYmotPkdyYWJGb2N1cygpOwotIH0KLSAKLSsjaWYgZGVmaW5lZChBVEtfMjMwKQotIGdib29s ZWFuIFNjcm9sbFRvKEF0a0NvbXBvbmVudCogYXRrX2NvbXBvbmVudCwgQXRrU2Nyb2xsVHlwZSBz Y3JvbGxfdHlwZSkgewotICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwoQVRLX0lTX0NPTVBPTkVOVChh dGtfY29tcG9uZW50KSwgRkFMU0UpOwotIAotQEAgLTUzOSw2ICs1NjYsNyBAQCBnYm9vbGVhbiBT Y3JvbGxUb1BvaW50KEF0a0NvbXBvbmVudCogYXRrCi0gICBvYmotPlNjcm9sbFRvUG9pbnQoYXRr X2Nvb3JkX3R5cGUsIHgsIHkpOwotICAgcmV0dXJuIFRSVUU7Ci0gfQotKyNlbmRpZgotIAotIHZv aWQgSW5pdChBdGtDb21wb25lbnRJZmFjZSogaWZhY2UpIHsKLSAgIGlmYWNlLT5nZXRfZXh0ZW50 cyA9IEdldEV4dGVudHM7Ci1AQCAtNTQ2LDEwICs1NzQsMTIgQEAgdm9pZCBJbml0KEF0a0NvbXBv bmVudElmYWNlKiBpZmFjZSkgewotICAgaWZhY2UtPmdldF9zaXplID0gR2V0U2l6ZTsKLSAgIGlm YWNlLT5yZWZfYWNjZXNzaWJsZV9hdF9wb2ludCA9IFJlZkFjY2VzaWJsZUF0UG9pbnQ7Ci0gICBp ZmFjZS0+Z3JhYl9mb2N1cyA9IEdyYWJGb2N1czsKLSsjaWYgZGVmaW5lZChBVEtfMjMwKQotICAg aWYgKFN1cHBvcnRzQXRrQ29tcG9uZW50U2Nyb2xsaW5nSW50ZXJmYWNlKCkpIHsKLSAgICAgaWZh Y2UtPnNjcm9sbF90byA9IFNjcm9sbFRvOwotICAgICBpZmFjZS0+c2Nyb2xsX3RvX3BvaW50ID0g U2Nyb2xsVG9Qb2ludDsKLSAgIH0KLSsjZW5kaWYKLSB9Ci0gCi0gY29uc3QgR0ludGVyZmFjZUlu Zm8gSW5mbyA9IHtyZWludGVycHJldF9jYXN0PEdJbnRlcmZhY2VJbml0RnVuYz4oSW5pdCksCi1A QCAtMTMxMCw2ICsxMzQwLDcgQEAgZ2Jvb2xlYW4gQWRkU2VsZWN0aW9uKEF0a1RleHQqIGF0a190 ZXh0LAotICAgcmV0dXJuIFNldFNlbGVjdGlvbihhdGtfdGV4dCwgMCwgc3RhcnRfb2Zmc2V0LCBl bmRfb2Zmc2V0KTsKLSB9Ci0gCi0rI2lmIGRlZmluZWQoQVRLXzIxMCkKLSBjaGFyKiBHZXRTdHJp bmdBdE9mZnNldChBdGtUZXh0KiBhdGtfdGV4dCwKLSAgICAgICAgICAgICAgICAgICAgICAgICBp bnQgb2Zmc2V0LAotICAgICAgICAgICAgICAgICAgICAgICAgIEF0a1RleHRHcmFudWxhcml0eSBh dGtfZ3JhbnVsYXJpdHksCi1AQCAtMTMyNCw3ICsxMzU1LDkgQEAgY2hhciogR2V0U3RyaW5nQXRP ZmZzZXQoQXRrVGV4dCogYXRrX3RleAotICAgcmV0dXJuIEdldFRleHRXaXRoQm91bmRhcnlUeXBl KGF0a190ZXh0LCBvZmZzZXQsIGJvdW5kYXJ5LCBzdGFydF9vZmZzZXQsCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgZW5kX29mZnNldCk7Ci0gfQotKyNlbmRpZgotIAotKyNpZiBk ZWZpbmVkKEFUS18yMzApCi0gZ2Z4OjpSZWN0IEdldFVuY2xpcHBlZFBhcmVudEh5cGVydGV4dFJh bmdlQm91bmRzUmVjdCgKLSAgICAgQVhQbGF0Zm9ybU5vZGVEZWxlZ2F0ZSogYXhfcGxhdGZvcm1f bm9kZV9kZWxlZ2F0ZSwKLSAgICAgY29uc3QgaW50IHN0YXJ0X29mZnNldCwKLUBAIC0xMzQ4LDYg KzEzODEsNyBAQCBnZng6OlJlY3QgR2V0VW5jbGlwcGVkUGFyZW50SHlwZXJ0ZXh0UmFuCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBBWENsaXBwaW5nQmVoYXZpb3I6OmtDbGlwcGVkKQot ICAgICAgICAgICAgICAuT2Zmc2V0RnJvbU9yaWdpbigpOwotIH0KLSsjZW5kaWYKLSAKLSB2b2lk IEdldENoYXJhY3RlckV4dGVudHMoQXRrVGV4dCogYXRrX3RleHQsCi0gICAgICAgICAgICAgICAg ICAgICAgICAgIGludCBvZmZzZXQsCi1AQCAtMTM2MywxMCArMTM5NywxMiBAQCB2b2lkIEdldENo YXJhY3RlckV4dGVudHMoQXRrVGV4dCogYXRrX3RlCi0gICAgICAgQVhQbGF0Zm9ybU5vZGVBdXJh TGludXg6OkZyb21BdGtPYmplY3QoQVRLX09CSkVDVChhdGtfdGV4dCkpOwotICAgaWYgKG9iaikg ewotICAgICBzd2l0Y2ggKGNvb3JkaW5hdGVfdHlwZSkgewotKyNpZiBkZWZpbmVkKEFUS18yMzAp Ci0gICAgICAgY2FzZSBBVEtfWFlfUEFSRU5UOgotICAgICAgICAgcmVjdCA9IEdldFVuY2xpcHBl ZFBhcmVudEh5cGVydGV4dFJhbmdlQm91bmRzUmVjdChvYmotPkdldERlbGVnYXRlKCksCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9m ZnNldCwgb2Zmc2V0ICsgMSk7Ci0gICAgICAgICBicmVhazsKLSsjZW5kaWYKLSAgICAgICBkZWZh dWx0OgotICAgICAgICAgcmVjdCA9IG9iai0+R2V0RGVsZWdhdGUoKS0+R2V0SHlwZXJ0ZXh0UmFu Z2VCb3VuZHNSZWN0KAotICAgICAgICAgICAgIG9iai0+VW5pY29kZVRvVVRGMTZPZmZzZXRJblRl eHQob2Zmc2V0KSwKLUBAIC0xNDAyLDEwICsxNDM4LDEyIEBAIHZvaWQgR2V0UmFuZ2VFeHRlbnRz KEF0a1RleHQqIGF0a190ZXh0LAotICAgICAgIEFYUGxhdGZvcm1Ob2RlQXVyYUxpbnV4OjpGcm9t QXRrT2JqZWN0KEFUS19PQkpFQ1QoYXRrX3RleHQpKTsKLSAgIGlmIChvYmopIHsKLSAgICAgc3dp dGNoIChjb29yZGluYXRlX3R5cGUpIHsKLSsjaWYgZGVmaW5lZChBVEtfMjMwKQotICAgICAgIGNh c2UgQVRLX1hZX1BBUkVOVDoKLSAgICAgICAgIHJlY3QgPSBHZXRVbmNsaXBwZWRQYXJlbnRIeXBl cnRleHRSYW5nZUJvdW5kc1JlY3QoCi0gICAgICAgICAgICAgb2JqLT5HZXREZWxlZ2F0ZSgpLCBz dGFydF9vZmZzZXQsIGVuZF9vZmZzZXQpOwotICAgICAgICAgYnJlYWs7Ci0rI2VuZGlmCi0gICAg ICAgZGVmYXVsdDoKLSAgICAgICAgIHJlY3QgPSBvYmotPkdldERlbGVnYXRlKCktPkdldEh5cGVy dGV4dFJhbmdlQm91bmRzUmVjdCgKLSAgICAgICAgICAgICBvYmotPlVuaWNvZGVUb1VURjE2T2Zm c2V0SW5UZXh0KHN0YXJ0X29mZnNldCksCi1AQCAtMTQ1NSw2ICsxNDkzLDcgQEAgQXRrQXR0cmli dXRlU2V0KiBHZXREZWZhdWx0QXR0cmlidXRlcyhBdAotICAgcmV0dXJuIFRvQXRrQXR0cmlidXRl U2V0KG9iai0+R2V0RGVmYXVsdFRleHRBdHRyaWJ1dGVzKCkpOwotIH0KLSAKLSsjaWYgZGVmaW5l ZChBVEtfMjMyKQotIGdib29sZWFuIFNjcm9sbFN1YnN0cmluZ1RvKEF0a1RleHQqIGF0a190ZXh0 LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdpbnQgc3RhcnRfb2Zmc2V0LAotICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGdpbnQgZW5kX29mZnNldCwKLUBAIC0xNDg1LDYgKzE1MjQs NyBAQCBnYm9vbGVhbiBTY3JvbGxTdWJzdHJpbmdUb1BvaW50KEF0a1RleHQqCi0gICByZXR1cm4g b2JqLT5TY3JvbGxTdWJzdHJpbmdUb1BvaW50KHN0YXJ0X29mZnNldCwgZW5kX29mZnNldCwgYXRr X2Nvb3JkX3R5cGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHgsIHkp OwotIH0KLSsjZW5kaWYgIC8vIEFUS18yMzIKLSAKLSB2b2lkIEluaXQoQXRrVGV4dElmYWNlKiBp ZmFjZSkgewotICAgaWZhY2UtPmdldF90ZXh0ID0gR2V0VGV4dDsKLUBAIC0xNTA3LDEyICsxNTQ3 LDE2IEBAIHZvaWQgSW5pdChBdGtUZXh0SWZhY2UqIGlmYWNlKSB7Ci0gICBpZmFjZS0+Z2V0X3J1 bl9hdHRyaWJ1dGVzID0gR2V0UnVuQXR0cmlidXRlczsKLSAgIGlmYWNlLT5nZXRfZGVmYXVsdF9h dHRyaWJ1dGVzID0gR2V0RGVmYXVsdEF0dHJpYnV0ZXM7Ci0gCi0rI2lmIGRlZmluZWQoQVRLXzIx MCkKLSAgIGlmYWNlLT5nZXRfc3RyaW5nX2F0X29mZnNldCA9IEdldFN0cmluZ0F0T2Zmc2V0Owot KyNlbmRpZgotIAotKyNpZiBkZWZpbmVkKEFUS18yMzIpCi0gICBpZiAoU3VwcG9ydHNBdGtUZXh0 U2Nyb2xsaW5nSW50ZXJmYWNlKCkpIHsKLSAgICAgaWZhY2UtPnNjcm9sbF9zdWJzdHJpbmdfdG8g PSBTY3JvbGxTdWJzdHJpbmdUbzsKLSAgICAgaWZhY2UtPnNjcm9sbF9zdWJzdHJpbmdfdG9fcG9p bnQgPSBTY3JvbGxTdWJzdHJpbmdUb1BvaW50OwotICAgfQotKyNlbmRpZgotIH0KLSAKLSBjb25z dCBHSW50ZXJmYWNlSW5mbyBJbmZvID0ge3JlaW50ZXJwcmV0X2Nhc3Q8R0ludGVyZmFjZUluaXRG dW5jPihJbml0KSwKLUBAIC0xOTE1LDExICsxOTU5LDE1IEBAIGNvbnN0IEdJbnRlcmZhY2VJbmZv IEluZm8gPSB7cmVpbnRlcnByZXQKLSAKLSB9ICAvLyBuYW1lc3BhY2UgYXRrX3RhYmxlCi0gCi0r Ly8gVGhlIEFUSyB0YWJsZSBjZWxsIGludGVyZmFjZSB3YXMgYWRkZWQgaW4gQVRLIDIuMTIuCi0r I2lmIGRlZmluZWQoQVRLXzIxMikKLSsKLSBuYW1lc3BhY2UgYXRrX3RhYmxlX2NlbGwgewotIAot IGdpbnQgR2V0Q29sdW1uU3BhbihBdGtUYWJsZUNlbGwqIGNlbGwpIHsKLSsgIERDSEVDSyhnX2F0 a190YWJsZV9jZWxsX2dldF90eXBlKTsKLSAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKAotLSAgICAg IEdfVFlQRV9DSEVDS19JTlNUQU5DRV9UWVBFKChjZWxsKSwgYXRrX3RhYmxlX2NlbGxfZ2V0X3R5 cGUoKSksIDApOwotKyAgICAgIEdfVFlQRV9DSEVDS19JTlNUQU5DRV9UWVBFKChjZWxsKSwgQXRr VGFibGVDZWxsSW50ZXJmYWNlOjpHZXRUeXBlKCkpLCAwKTsKLSAKLSAgIGlmIChjb25zdCBBWFBs YXRmb3JtTm9kZUJhc2UqIG9iaiA9Ci0gICAgICAgICAgIEFYUGxhdGZvcm1Ob2RlQXVyYUxpbnV4 OjpGcm9tQXRrT2JqZWN0KEFUS19PQkpFQ1QoY2VsbCkpKSB7Ci1AQCAtMTkzMSw4ICsxOTc5LDEw IEBAIGdpbnQgR2V0Q29sdW1uU3BhbihBdGtUYWJsZUNlbGwqIGNlbGwpIHsKLSB9Ci0gCi0gR1B0 ckFycmF5KiBHZXRDb2x1bW5IZWFkZXJDZWxscyhBdGtUYWJsZUNlbGwqIGNlbGwpIHsKLSsgIERD SEVDSyhnX2F0a190YWJsZV9jZWxsX2dldF90eXBlKTsKLSAgIGdfcmV0dXJuX3ZhbF9pZl9mYWls KAotLSAgICAgIEdfVFlQRV9DSEVDS19JTlNUQU5DRV9UWVBFKChjZWxsKSwgYXRrX3RhYmxlX2Nl bGxfZ2V0X3R5cGUoKSksIG51bGxwdHIpOwotKyAgICAgIEdfVFlQRV9DSEVDS19JTlNUQU5DRV9U WVBFKChjZWxsKSwgQXRrVGFibGVDZWxsSW50ZXJmYWNlOjpHZXRUeXBlKCkpLAotKyAgICAgIG51 bGxwdHIpOwotIAotICAgR1B0ckFycmF5KiBhcnJheSA9IGdfcHRyX2FycmF5X25ld193aXRoX2Zy ZWVfZnVuYyhnX29iamVjdF91bnJlZik7Ci0gCi1AQCAtMTk2Niw4ICsyMDE2LDEwIEBAIEdQdHJB cnJheSogR2V0Q29sdW1uSGVhZGVyQ2VsbHMoQXRrVGFibGUKLSB9Ci0gCi0gZ2Jvb2xlYW4gR2V0 Q2VsbFBvc2l0aW9uKEF0a1RhYmxlQ2VsbCogY2VsbCwgZ2ludCogcm93LCBnaW50KiBjb2x1bW4p IHsKLSsgIERDSEVDSyhnX2F0a190YWJsZV9jZWxsX2dldF90eXBlKTsKLSAgIGdfcmV0dXJuX3Zh bF9pZl9mYWlsKAotLSAgICAgIEdfVFlQRV9DSEVDS19JTlNUQU5DRV9UWVBFKChjZWxsKSwgYXRr X3RhYmxlX2NlbGxfZ2V0X3R5cGUoKSksIEZBTFNFKTsKLSsgICAgICBHX1RZUEVfQ0hFQ0tfSU5T VEFOQ0VfVFlQRSgoY2VsbCksIEF0a1RhYmxlQ2VsbEludGVyZmFjZTo6R2V0VHlwZSgpKSwKLSsg ICAgICBGQUxTRSk7Ci0gCi0gICBpZiAoYXV0byogb2JqID0gQVhQbGF0Zm9ybU5vZGVBdXJhTGlu dXg6OkZyb21BdGtPYmplY3QoQVRLX09CSkVDVChjZWxsKSkpIHsKLSAgICAgc3RkOjpvcHRpb25h bDxpbnQ+IHJvd19pbmRleCA9IG9iai0+R2V0VGFibGVSb3coKTsKLUBAIC0xOTg0LDggKzIwMzYs OSBAQCBnYm9vbGVhbiBHZXRDZWxsUG9zaXRpb24oQXRrVGFibGVDZWxsKiBjCi0gfQotIAotIGdp bnQgR2V0Um93U3BhbihBdGtUYWJsZUNlbGwqIGNlbGwpIHsKLSsgIERDSEVDSyhnX2F0a190YWJs ZV9jZWxsX2dldF90eXBlKTsKLSAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKAotLSAgICAgIEdfVFlQ RV9DSEVDS19JTlNUQU5DRV9UWVBFKChjZWxsKSwgYXRrX3RhYmxlX2NlbGxfZ2V0X3R5cGUoKSks IDApOwotKyAgICAgIEdfVFlQRV9DSEVDS19JTlNUQU5DRV9UWVBFKChjZWxsKSwgQXRrVGFibGVD ZWxsSW50ZXJmYWNlOjpHZXRUeXBlKCkpLCAwKTsKLSAKLSAgIGlmIChhdXRvKiBvYmogPSBBWFBs YXRmb3JtTm9kZUF1cmFMaW51eDo6RnJvbUF0a09iamVjdChBVEtfT0JKRUNUKGNlbGwpKSkgewot ICAgICAvLyBJZiB0aGUgb2JqZWN0IGlzIG5vdCBhIGNlbGwsIHdlIHJldHVybiAwLgotQEAgLTE5 OTYsOCArMjA0OSwxMCBAQCBnaW50IEdldFJvd1NwYW4oQXRrVGFibGVDZWxsKiBjZWxsKSB7Ci0g fQotIAotIEdQdHJBcnJheSogR2V0Um93SGVhZGVyQ2VsbHMoQXRrVGFibGVDZWxsKiBjZWxsKSB7 Ci0rICBEQ0hFQ0soZ19hdGtfdGFibGVfY2VsbF9nZXRfdHlwZSk7Ci0gICBnX3JldHVybl92YWxf aWZfZmFpbCgKLS0gICAgICBHX1RZUEVfQ0hFQ0tfSU5TVEFOQ0VfVFlQRSgoY2VsbCksIGF0a190 YWJsZV9jZWxsX2dldF90eXBlKCkpLCBudWxscHRyKTsKLSsgICAgICBHX1RZUEVfQ0hFQ0tfSU5T VEFOQ0VfVFlQRSgoY2VsbCksIEF0a1RhYmxlQ2VsbEludGVyZmFjZTo6R2V0VHlwZSgpKSwKLSsg ICAgICBudWxscHRyKTsKLSAKLSAgIEdQdHJBcnJheSogYXJyYXkgPSBnX3B0cl9hcnJheV9uZXdf d2l0aF9mcmVlX2Z1bmMoZ19vYmplY3RfdW5yZWYpOwotIAotQEAgLTIwMzEsOCArMjA4NiwxMCBA QCBHUHRyQXJyYXkqIEdldFJvd0hlYWRlckNlbGxzKEF0a1RhYmxlQ2VsCi0gfQotIAotIEF0a09i amVjdCogR2V0VGFibGUoQXRrVGFibGVDZWxsKiBjZWxsKSB7Ci0rICBEQ0hFQ0soZ19hdGtfdGFi bGVfY2VsbF9nZXRfdHlwZSk7Ci0gICBnX3JldHVybl92YWxfaWZfZmFpbCgKLS0gICAgICBHX1RZ UEVfQ0hFQ0tfSU5TVEFOQ0VfVFlQRSgoY2VsbCksIGF0a190YWJsZV9jZWxsX2dldF90eXBlKCkp LCBudWxscHRyKTsKLSsgICAgICBHX1RZUEVfQ0hFQ0tfSU5TVEFOQ0VfVFlQRSgoY2VsbCksIEF0 a1RhYmxlQ2VsbEludGVyZmFjZTo6R2V0VHlwZSgpKSwKLSsgICAgICBudWxscHRyKTsKLSAKLSAg IGlmIChhdXRvKiBvYmogPSBBWFBsYXRmb3JtTm9kZUF1cmFMaW51eDo6RnJvbUF0a09iamVjdChB VEtfT0JKRUNUKGNlbGwpKSkgewotICAgICBpZiAoYXV0byogdGFibGUgPSBvYmotPkdldFRhYmxl KCkpCi1AQCAtMjA1OCw2ICsyMTE1LDggQEAgY29uc3QgR0ludGVyZmFjZUluZm8gSW5mbyA9IHty ZWludGVycHJldAotIAotIH0gIC8vIG5hbWVzcGFjZSBhdGtfdGFibGVfY2VsbAotIAotKyNlbmRp ZiAgLy8gQVRLXzIxMgotKwotIG5hbWVzcGFjZSBhdGtfb2JqZWN0IHsKLSAKLSBncG9pbnRlciBr QVhQbGF0Zm9ybU5vZGVBdXJhTGludXhQYXJlbnRDbGFzcyA9IG51bGxwdHI7Ci1AQCAtMjMyNCw2 ICsyMzgzLDUwIEBAIHZvaWQgRGV0YWNoKEFYUGxhdGZvcm1Ob2RlQXVyYUxpbnV4T2JqZWMKLSAK LSB9ICAvLyBuYW1lc3BhY2UKLSAKLSsvLyBzdGF0aWMKLStOT19TQU5JVElaRSgiY2ZpLWljYWxs IikKLStHVHlwZSBBdGtUYWJsZUNlbGxJbnRlcmZhY2U6OkdldFR5cGUoKSB7Ci0rICByZXR1cm4g Z19hdGtfdGFibGVfY2VsbF9nZXRfdHlwZSgpOwotK30KLSsKLSsvLyBzdGF0aWMKLStOT19TQU5J VElaRSgiY2ZpLWljYWxsIikKLStHUHRyQXJyYXkqIEF0a1RhYmxlQ2VsbEludGVyZmFjZTo6R2V0 Q29sdW1uSGVhZGVyQ2VsbHMoQXRrVGFibGVDZWxsKiBjZWxsKSB7Ci0rICByZXR1cm4gZ19hdGtf dGFibGVfY2VsbF9nZXRfY29sdW1uX2hlYWRlcl9jZWxscyhjZWxsKTsKLSt9Ci0rCi0rLy8gc3Rh dGljCi0rTk9fU0FOSVRJWkUoImNmaS1pY2FsbCIpCi0rR1B0ckFycmF5KiBBdGtUYWJsZUNlbGxJ bnRlcmZhY2U6OkdldFJvd0hlYWRlckNlbGxzKEF0a1RhYmxlQ2VsbCogY2VsbCkgewotKyAgcmV0 dXJuIGdfYXRrX3RhYmxlX2NlbGxfZ2V0X3Jvd19oZWFkZXJfY2VsbHMoY2VsbCk7Ci0rfQotKwot Ky8vIHN0YXRpYwotK05PX1NBTklUSVpFKCJjZmktaWNhbGwiKQotK2Jvb2wgQXRrVGFibGVDZWxs SW50ZXJmYWNlOjpHZXRSb3dDb2x1bW5TcGFuKEF0a1RhYmxlQ2VsbCogY2VsbCwKLSsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnaW50KiByb3csCi0rICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2ludCogY29sdW1uLAotKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdpbnQqIHJvd19zcGFu LAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdpbnQqIGNv bF9zcGFuKSB7Ci0rICByZXR1cm4gZ19hdGtfdGFibGVfY2VsbF9nZXRfcm93X2NvbHVtbl9zcGFu KGNlbGwsIHJvdywgY29sdW1uLCByb3dfc3BhbiwKLSsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgY29sX3NwYW4pOwotK30KLSsKLSsvLyBzdGF0aWMKLStib29s IEF0a1RhYmxlQ2VsbEludGVyZmFjZTo6RXhpc3RzKCkgewotKyAgZ19hdGtfdGFibGVfY2VsbF9n ZXRfdHlwZSA9IHJlaW50ZXJwcmV0X2Nhc3Q8R2V0VHlwZUZ1bmM+KAotKyAgICAgIGRsc3ltKFJU TERfREVGQVVMVCwgImF0a190YWJsZV9jZWxsX2dldF90eXBlIikpOwotKyAgZ19hdGtfdGFibGVf Y2VsbF9nZXRfY29sdW1uX2hlYWRlcl9jZWxscyA9Ci0rICAgICAgcmVpbnRlcnByZXRfY2FzdDxH ZXRDb2x1bW5IZWFkZXJDZWxsc0Z1bmM+KAotKyAgICAgICAgICBkbHN5bShSVExEX0RFRkFVTFQs ICJhdGtfdGFibGVfY2VsbF9nZXRfY29sdW1uX2hlYWRlcl9jZWxscyIpKTsKLSsgIGdfYXRrX3Rh YmxlX2NlbGxfZ2V0X3Jvd19oZWFkZXJfY2VsbHMgPQotKyAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8 R2V0Um93SGVhZGVyQ2VsbHNGdW5jPigKLSsgICAgICAgICAgZGxzeW0oUlRMRF9ERUZBVUxULCAi YXRrX3RhYmxlX2NlbGxfZ2V0X3Jvd19oZWFkZXJfY2VsbHMiKSk7Ci0rICBnX2F0a190YWJsZV9j ZWxsX2dldF9yb3dfY29sdW1uX3NwYW4gPSByZWludGVycHJldF9jYXN0PEdldFJvd0NvbHVtblNw YW5GdW5jPigKLSsgICAgICBkbHN5bShSVExEX0RFRkFVTFQsICJhdGtfdGFibGVfY2VsbF9nZXRf cm93X2NvbHVtbl9zcGFuIikpOwotKyAgcmV0dXJuICpnX2F0a190YWJsZV9jZWxsX2dldF90eXBl OwotK30KLSsKLSB2b2lkIEFYUGxhdGZvcm1Ob2RlQXVyYUxpbnV4OjpFbnN1cmVHVHlwZUluaXQo KSB7Ci0gI2lmICFHTElCX0NIRUNLX1ZFUlNJT04oMiwgMzYsIDApCi0gICBzdGF0aWMgYm9vbCBm aXJzdF90aW1lID0gdHJ1ZTsKLUBAIC0yNDMxLDggKzI1MzQsMTEgQEAgR1R5cGUgQVhQbGF0Zm9y bU5vZGVBdXJhTGludXg6OkdldEFjY2VzcwotICAgICBnX3R5cGVfYWRkX2ludGVyZmFjZV9zdGF0 aWModHlwZSwgQVRLX1RZUEVfVEFCTEUsICZhdGtfdGFibGU6OkluZm8pOwotIAotICAgaWYgKGlu dGVyZmFjZV9tYXNrXy5JbXBsZW1lbnRzKEltcGxlbWVudGVkQXRrSW50ZXJmYWNlczo6VmFsdWU6 OmtUYWJsZUNlbGwpKSB7Ci0tICAgIGdfdHlwZV9hZGRfaW50ZXJmYWNlX3N0YXRpYyh0eXBlLCBh dGtfdGFibGVfY2VsbF9nZXRfdHlwZSgpLAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgJmF0a190YWJsZV9jZWxsOjpJbmZvKTsKLSsgICAgLy8gUnVuLXRpbWUgY2hlY2sgdG8gZW5z dXJlIEF0a1RhYmxlQ2VsbCBpcyBzdXBwb3J0ZWQgKHJlcXVpcmVzIEFUSyAyLjEyKS4KLSsgICAg aWYgKEF0a1RhYmxlQ2VsbEludGVyZmFjZTo6RXhpc3RzKCkpIHsKLSsgICAgICBnX3R5cGVfYWRk X2ludGVyZmFjZV9zdGF0aWModHlwZSwgQXRrVGFibGVDZWxsSW50ZXJmYWNlOjpHZXRUeXBlKCks Ci0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZhdGtfdGFibGVfY2VsbDo6SW5m byk7Ci0rICAgIH0KLSAgIH0KLSAKLSAgIHJldHVybiB0eXBlOwotQEAgLTI2NjcsOSArMjc3Myw5 IEBAIEF0a1JvbGUgQVhQbGF0Zm9ybU5vZGVBdXJhTGludXg6OkdldEF0a1IKLSAgICAgY2FzZSBh eDo6bW9qb206OlJvbGU6OmtDb21wbGVtZW50YXJ5OgotICAgICAgIHJldHVybiBBVEtfUk9MRV9M QU5ETUFSSzsKLSAgICAgY2FzZSBheDo6bW9qb206OlJvbGU6OmtDb250ZW50RGVsZXRpb246Ci0t ICAgICAgcmV0dXJuIEdldEF0a1JvbGVDb250ZW50RGVsZXRpb24oKTsKLSsgICAgICByZXR1cm4g a0F0a1JvbGVDb250ZW50RGVsZXRpb247Ci0gICAgIGNhc2UgYXg6Om1vam9tOjpSb2xlOjprQ29u dGVudEluc2VydGlvbjoKLS0gICAgICByZXR1cm4gR2V0QXRrUm9sZUNvbnRlbnRJbnNlcnRpb24o KTsKLSsgICAgICByZXR1cm4ga0F0a1JvbGVDb250ZW50SW5zZXJ0aW9uOwotICAgICBjYXNlIGF4 Ojptb2pvbTo6Um9sZTo6a0NvbnRlbnRJbmZvOgotICAgICBjYXNlIGF4Ojptb2pvbTo6Um9sZTo6 a0Zvb3RlcjoKLSAgICAgICByZXR1cm4gQVRLX1JPTEVfTEFORE1BUks7Ci1AQCAtMzEwNSwxMiAr MzIxMSwxNCBAQCB2b2lkIEFYUGxhdGZvcm1Ob2RlQXVyYUxpbnV4OjpHZXRBdGtTdGF0Ci0gICAg ICAgICAgIHN0YXRpY19jYXN0PGludDMyX3Q+KGF4Ojptb2pvbTo6QXJpYUN1cnJlbnRTdGF0ZTo6 a0ZhbHNlKSkgewotICAgICBhdGtfc3RhdGVfc2V0X2FkZF9zdGF0ZShhdGtfc3RhdGVfc2V0LCBB VEtfU1RBVEVfQUNUSVZFKTsKLSAgIH0KLSsjaWYgZGVmaW5lZChBVEtfMjE2KQotICAgLy8gUnVu dGltZSBjaGVja3MgaW4gY2FzZSB3ZSB3ZXJlIGNvbXBpbGVkIHdpdGggYSBuZXdlciB2ZXJzaW9u IG9mIEFUSy4KLSAgIGlmIChJc1BsYXRmb3JtQ2hlY2thYmxlKCkgJiYgUGxhdGZvcm1TdXBwb3J0 c1N0YXRlKEFUS19TVEFURV9DSEVDS0FCTEUpKQotICAgICBhdGtfc3RhdGVfc2V0X2FkZF9zdGF0 ZShhdGtfc3RhdGVfc2V0LCBBVEtfU1RBVEVfQ0hFQ0tBQkxFKTsKLSAgIGlmIChIYXNJbnRBdHRy aWJ1dGUoYXg6Om1vam9tOjpJbnRBdHRyaWJ1dGU6OmtIYXNQb3B1cCkgJiYKLSAgICAgICBQbGF0 Zm9ybVN1cHBvcnRzU3RhdGUoQVRLX1NUQVRFX0hBU19QT1BVUCkpCi0gICAgIGF0a19zdGF0ZV9z ZXRfYWRkX3N0YXRlKGF0a19zdGF0ZV9zZXQsIEFUS19TVEFURV9IQVNfUE9QVVApOwotKyNlbmRp ZgotICAgaWYgKEdldEJvb2xBdHRyaWJ1dGUoYXg6Om1vam9tOjpCb29sQXR0cmlidXRlOjprQnVz eSkpCi0gICAgIGF0a19zdGF0ZV9zZXRfYWRkX3N0YXRlKGF0a19zdGF0ZV9zZXQsIEFUS19TVEFU RV9CVVNZKTsKLSAgIGlmIChHZXRCb29sQXR0cmlidXRlKGF4Ojptb2pvbTo6Qm9vbEF0dHJpYnV0 ZTo6a01vZGFsKSkKLUBAIC0zMTQ5LDkgKzMyNTcsMTEgQEAgdm9pZCBBWFBsYXRmb3JtTm9kZUF1 cmFMaW51eDo6R2V0QXRrU3RhdAotICAgaWYgKEdldERhdGEoKS5HZXRSZXN0cmljdGlvbigpICE9 IGF4Ojptb2pvbTo6UmVzdHJpY3Rpb246OmtEaXNhYmxlZCkgewotICAgICBpZiAoR2V0RGVsZWdh dGUoKS0+SXNSZWFkT25seVN1cHBvcnRlZCgpICYmCi0gICAgICAgICBHZXREZWxlZ2F0ZSgpLT5J c1JlYWRPbmx5T3JEaXNhYmxlZCgpKSB7Ci0rI2lmIGRlZmluZWQoQVRLXzIxNikKLSAgICAgICAv LyBSdW50aW1lIGNoZWNrIGluIGNhc2Ugd2Ugd2VyZSBjb21waWxlZCB3aXRoIGEgbmV3ZXIgdmVy c2lvbiBvZiBBVEsuCi0gICAgICAgaWYgKFBsYXRmb3JtU3VwcG9ydHNTdGF0ZShBVEtfU1RBVEVf UkVBRF9PTkxZKSkKLSAgICAgICAgIGF0a19zdGF0ZV9zZXRfYWRkX3N0YXRlKGF0a19zdGF0ZV9z ZXQsIEFUS19TVEFURV9SRUFEX09OTFkpOwotKyNlbmRpZgotICAgICB9IGVsc2UgewotICAgICAg IGF0a19zdGF0ZV9zZXRfYWRkX3N0YXRlKGF0a19zdGF0ZV9zZXQsIEFUS19TVEFURV9FTkFCTEVE KTsKLSAgICAgICBhdGtfc3RhdGVfc2V0X2FkZF9zdGF0ZShhdGtfc3RhdGVfc2V0LCBBVEtfU1RB VEVfU0VOU0lUSVZFKTsKLUBAIC0zMTg1LDEyICszMjk1LDE2IEBAIHN0cnVjdCBBdGtJbnRMaXN0 UmVsYXRpb24gewotIHN0YXRpYyBBdGtJbnRMaXN0UmVsYXRpb24ga0ludExpc3RSZWxhdGlvbnNb XSA9IHsKLSAgICAge2F4Ojptb2pvbTo6SW50TGlzdEF0dHJpYnV0ZTo6a0NvbnRyb2xzSWRzLCBB VEtfUkVMQVRJT05fQ09OVFJPTExFUl9GT1IsCi0gICAgICBBVEtfUkVMQVRJT05fQ09OVFJPTExF RF9CWX0sCi0rI2lmIGRlZmluZWQoQVRLXzIyNikKLSAgICAge2F4Ojptb2pvbTo6SW50TGlzdEF0 dHJpYnV0ZTo6a0RldGFpbHNJZHMsIEFUS19SRUxBVElPTl9ERVRBSUxTLAotICAgICAgQVRLX1JF TEFUSU9OX0RFVEFJTFNfRk9SfSwKLSsjZW5kaWYKLSAgICAge2F4Ojptb2pvbTo6SW50TGlzdEF0 dHJpYnV0ZTo6a0Rlc2NyaWJlZGJ5SWRzLCBBVEtfUkVMQVRJT05fREVTQ1JJQkVEX0JZLAotICAg ICAgQVRLX1JFTEFUSU9OX0RFU0NSSVBUSU9OX0ZPUn0sCi0rI2lmIGRlZmluZWQoQVRLXzIyNikK LSAgICAge2F4Ojptb2pvbTo6SW50TGlzdEF0dHJpYnV0ZTo6a0Vycm9ybWVzc2FnZUlkcywgQVRL X1JFTEFUSU9OX0VSUk9SX01FU1NBR0UsCi0gICAgICBBVEtfUkVMQVRJT05fRVJST1JfRk9SfSwK LSsjZW5kaWYKLSAgICAge2F4Ojptb2pvbTo6SW50TGlzdEF0dHJpYnV0ZTo6a0Zsb3d0b0lkcywg QVRLX1JFTEFUSU9OX0ZMT1dTX1RPLAotICAgICAgQVRLX1JFTEFUSU9OX0ZMT1dTX0ZST019LAot ICAgICB7YXg6Om1vam9tOjpJbnRMaXN0QXR0cmlidXRlOjprTGFiZWxsZWRieUlkcywgQVRLX1JF TEFUSU9OX0xBQkVMTEVEX0JZLAotQEAgLTM5ODEsNiArNDA5NSw3IEBAIHZvaWQgQVhQbGF0Zm9y bU5vZGVBdXJhTGludXg6Ok9uUmVhZG9ubHkKLSAgIGlmICghb2JqKQotICAgICByZXR1cm47Ci0g Ci0rI2lmIGRlZmluZWQoQVRLXzIxNikKLSAgIC8vIFJ1bnRpbWUgY2hlY2sgaW4gY2FzZSB3ZSB3 ZXJlIGNvbXBpbGVkIHdpdGggYSBuZXdlciB2ZXJzaW9uIG9mIEFUSy4KLSAgIGlmICghUGxhdGZv cm1TdXBwb3J0c1N0YXRlKEFUS19TVEFURV9SRUFEX09OTFkpKQotICAgICByZXR1cm47Ci1AQCAt Mzk4OCw2ICs0MTAzLDcgQEAgdm9pZCBBWFBsYXRmb3JtTm9kZUF1cmFMaW51eDo6T25SZWFkb25s eQotICAgYXRrX29iamVjdF9ub3RpZnlfc3RhdGVfY2hhbmdlKAotICAgICAgIG9iaiwgQVRLX1NU QVRFX1JFQURfT05MWSwKLSAgICAgICBHZXREYXRhKCkuR2V0UmVzdHJpY3Rpb24oKSA9PSBheDo6 bW9qb206OlJlc3RyaWN0aW9uOjprUmVhZE9ubHkpOwotKyNlbmRpZgotIH0KLSAKLSB2b2lkIEFY UGxhdGZvcm1Ob2RlQXVyYUxpbnV4OjpPbkludmFsaWRTdGF0dXNDaGFuZ2VkKCkgewotQEAgLTQz MTQsMTEgKzQ0MzAsMTMgQEAgZ2Z4OjpSZWN0IEFYUGxhdGZvcm1Ob2RlQXVyYUxpbnV4OjpHZXRF eAotICAgICAgIGV4dGVudHMuT2Zmc2V0KHdpbmRvd19vcmlnaW4pOwotICAgICAgIGJyZWFrOwot ICAgICB9Ci0rI2lmIGRlZmluZWQoQVRLXzIzMCkKLSAgICAgY2FzZSBBVEtfWFlfUEFSRU5UOiB7 Ci0gICAgICAgZ2Z4OjpWZWN0b3IyZCBwYXJlbnRfb3JpZ2luID0gLUdldFBhcmVudE9yaWdpbklu U2NyZWVuQ29vcmRpbmF0ZXMoKTsKLSAgICAgICBleHRlbnRzLk9mZnNldChwYXJlbnRfb3JpZ2lu KTsKLSAgICAgICBicmVhazsKLSAgICAgfQotKyNlbmRpZgotICAgfQotIAotICAgcmV0dXJuIGV4 dGVudHM7Ci1AQCAtNDc1NSw2ICs0ODczLDcgQEAgYm9vbCBBWFBsYXRmb3JtTm9kZUF1cmFMaW51 eDo6SXNJbkxpdmVSZQotICAgcmV0dXJuIEhhc1N0cmluZ0F0dHJpYnV0ZShheDo6bW9qb206OlN0 cmluZ0F0dHJpYnV0ZTo6a0NvbnRhaW5lckxpdmVTdGF0dXMpOwotIH0KLSAKLSsjaWYgZGVmaW5l ZChBVEtfMjMwKQotIHZvaWQgQVhQbGF0Zm9ybU5vZGVBdXJhTGludXg6OlNjcm9sbFRvUG9pbnQo QXRrQ29vcmRUeXBlIGF0a19jb29yZF90eXBlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgaW50IHgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBpbnQgeSkgewotQEAgLTQ4MjcsNyArNDk0Niw5IEBAIHZvaWQgQVhQbGF0 Zm9ybU5vZGVBdXJhTGludXg6OlNjcm9sbE5vZGUKLSAgIHJlY3QgLT0gcmVjdC5PZmZzZXRGcm9t T3JpZ2luKCk7Ci0gICBTY3JvbGxOb2RlUmVjdEludG9WaWV3KHJlY3QsIGF0a19zY3JvbGxfdHlw ZSk7Ci0gfQotKyNlbmRpZiAgLy8gZGVmaW5lZChBVEtfMjMwKQotIAotKyNpZiBkZWZpbmVkKEFU S18yMzIpCi0gc3RkOjpvcHRpb25hbDxnZng6OlJlY3Q+Ci0gQVhQbGF0Zm9ybU5vZGVBdXJhTGlu dXg6OkdldFVuY2xpcHBlZEh5cGVydGV4dFJhbmdlQm91bmRzUmVjdChpbnQgc3RhcnRfb2Zmc2V0 LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgaW50IGVuZF9vZmZzZXQpIHsKLUBAIC00ODg2LDYgKzUwMDcsNyBAQCBib29sIEFY UGxhdGZvcm1Ob2RlQXVyYUxpbnV4OjpTY3JvbGxTdWJzCi0gCi0gICByZXR1cm4gdHJ1ZTsKLSB9 Ci0rI2VuZGlmICAvLyBkZWZpbmVkKEFUS18yMzIpCi0gCi0gdm9pZCBBWFBsYXRmb3JtTm9kZUF1 cmFMaW51eDo6Q29tcHV0ZVN0eWxlc0lmTmVlZGVkKCkgewotICAgaWYgKCFvZmZzZXRfdG9fdGV4 dF9hdHRyaWJ1dGVzXy5lbXB0eSgpKQotQEAgLTUwNjYsOCArNTE4OCwxMCBAQCBnZng6OlBvaW50 IEFYUGxhdGZvcm1Ob2RlQXVyYUxpbnV4OjpDb252Ci0gICBzd2l0Y2ggKGF0a19jb29yZF90eXBl KSB7Ci0gICAgIGNhc2UgQVRLX1hZX1dJTkRPVzoKLSAgICAgICByZXR1cm4gcG9pbnQgKyBHZXRQ YXJlbnRGcmFtZU9yaWdpbkluU2NyZWVuQ29vcmRpbmF0ZXMoKTsKLSsjaWYgZGVmaW5lZChBVEtf MjMwKQotICAgICBjYXNlIEFUS19YWV9QQVJFTlQ6Ci0gICAgICAgcmV0dXJuIHBvaW50ICsgR2V0 UGFyZW50T3JpZ2luSW5TY3JlZW5Db29yZGluYXRlcygpOwotKyNlbmRpZgotICAgICBjYXNlIEFU S19YWV9TQ1JFRU46Ci0gICAgIGRlZmF1bHQ6Ci0gICAgICAgcmV0dXJuIHBvaW50OwotZGlmZiAt dXAgY2hyb21pdW0tMTMzLjAuNjk0My4zNS91aS9hY2Nlc3NpYmlsaXR5L3BsYXRmb3JtL2F4X3Bs YXRmb3JtX25vZGVfYXVyYWxpbnV4LmguZWw4LWF0ay1jb21waWxlci1lcnJvciBjaHJvbWl1bS0x MzMuMC42OTQzLjM1L3VpL2FjY2Vzc2liaWxpdHkvcGxhdGZvcm0vYXhfcGxhdGZvcm1fbm9kZV9h dXJhbGludXguaAotLS0tIGNocm9taXVtLTEzMy4wLjY5NDMuMzUvdWkvYWNjZXNzaWJpbGl0eS9w bGF0Zm9ybS9heF9wbGF0Zm9ybV9ub2RlX2F1cmFsaW51eC5oLmVsOC1hdGstY29tcGlsZXItZXJy b3IJMjAyNS0wMS0yOCAyMzowMzoyNy4wMDAwMDAwMDAgKzAxMDAKLSsrKyBjaHJvbWl1bS0xMzMu MC42OTQzLjM1L3VpL2FjY2Vzc2liaWxpdHkvcGxhdGZvcm0vYXhfcGxhdGZvcm1fbm9kZV9hdXJh bGludXguaAkyMDI1LTAyLTA0IDEwOjU2OjA4LjQzOTEyNjk3MyArMDEwMAotQEAgLTUyLDYgKzUy LDMxIEBAIHN0cnVjdCBGaW5kSW5QYWdlUmVzdWx0SW5mbyB7Ci0gICB9Ci0gfTsKLSAKLSsvLyBB dGtUYWJsZUNlbGwgd2FzIGludHJvZHVjZWQgaW4gQVRLIDIuMTIuIFVidW50dSBUcnVzdHkgaGFz IEFUSyAyLjEwLgotKy8vIENvbXBpbGUtdGltZSBjaGVja3MgYXJlIGluIHBsYWNlIGZvciBBVEsg dmVyc2lvbnMgdGhhdCBhcmUgb2xkZXIgdGhhbiAyLjEyLgotKy8vIEhvd2V2ZXIsIHdlIGFsc28g bmVlZCBydW50aW1lIGNoZWNrcyBpbiBjYXNlIHRoZSB2ZXJzaW9uIHdlIGFyZSBidWlsZGluZwot Ky8vIGFnYWluc3QgaXMgbmV3ZXIgdGhhbiB0aGUgcnVudGltZSB2ZXJzaW9uLiBUbyBwcmV2ZW50 IGEgcnVudGltZSBlcnJvciwgd2UKLSsvLyBjaGVjayB0aGF0IHdlIGhhdmUgYSB2ZXJzaW9uIG9m IEFUSyB0aGF0IHN1cHBvcnRzIEF0a1RhYmxlQ2VsbC4gSWYgd2UgZG8sCi0rLy8gd2UgZHluYW1p Y2FsbHkgbG9hZCB0aGUgc3ltYm9sOyBpZiB3ZSBkb24ndCwgdGhlIGludGVyZmFjZSBpcyBhYnNl bnQgZnJvbQotKy8vIHRoZSBhY2Nlc3NpYmxlIG9iamVjdCBhbmQgaXRzIG1ldGhvZHMgd2lsbCBu b3QgYmUgZXhwb3NlZCBvciBjYWxsYWJsZS4KLSsvLyBUaGUgZGVmaW5pdGlvbnMgYmVsb3cgZW5z dXJlIHdlIGhhdmUgbm8gbWlzc2luZyBzeW1ib2xzLiBOb3RlIHRoYXQgaW4KLSsvLyBlbnZpcm9u bWVudHMgd2hlcmUgd2UgaGF2ZSBBVEsgPiAyLjEyLCB0aGUgZGVmaW5pdGlvbnMgb2YgQXRrVGFi bGVDZWxsIGFuZAotKy8vIEF0a1RhYmxlQ2VsbElmYWNlIGJlbG93IGFyZSBvdmVycmlkZGVuIGJ5 IHRoZSBydW50aW1lIHZlcnNpb24uCi0rLy8gVE9ETyhhY2Nlc3NpYmlsaXR5KSBSZW1vdmUgQXRr VGFibGVDZWxsSW50ZXJmYWNlIHdoZW4gMi4xMiBpcyB0aGUgbWluaW11bQotKy8vIHN1cHBvcnRl ZCB2ZXJzaW9uLgotK3N0cnVjdCBDT01QT05FTlRfRVhQT1JUKEFYX1BMQVRGT1JNKSBBdGtUYWJs ZUNlbGxJbnRlcmZhY2UgewotKyAgdHlwZWRlZiBzdHJ1Y3QgX0F0a1RhYmxlQ2VsbCBBdGtUYWJs ZUNlbGw7Ci0rICBzdGF0aWMgR1R5cGUgR2V0VHlwZSgpOwotKyAgc3RhdGljIEdQdHJBcnJheSog R2V0Q29sdW1uSGVhZGVyQ2VsbHMoQXRrVGFibGVDZWxsKiBjZWxsKTsKLSsgIHN0YXRpYyBHUHRy QXJyYXkqIEdldFJvd0hlYWRlckNlbGxzKEF0a1RhYmxlQ2VsbCogY2VsbCk7Ci0rICBzdGF0aWMg Ym9vbCBHZXRSb3dDb2x1bW5TcGFuKEF0a1RhYmxlQ2VsbCogY2VsbCwKLSsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgZ2ludCogcm93LAotKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBnaW50KiBjb2x1bW4sCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdpbnQq IHJvd19zcGFuLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnaW50KiBjb2xfc3Bh bik7Ci0rICBzdGF0aWMgYm9vbCBFeGlzdHMoKTsKLSt9OwotKwotIC8vIFRoaXMgY2xhc3Mgd2l0 aCBhbiBlbnVtIGlzIHVzZWQgdG8gZ2VuZXJhdGUgYSBiaXRtYXNrIHdoaWNoIHRyYWNrcyB0aGUg QVRLCi0gLy8gaW50ZXJmYWNlcyB0aGF0IGFuIEFYUGxhdGZvcm1Ob2RlQXVyYUxpbnV4J3MgQVRL T2JqZWN0IGltcGxlbWVudHMuCi0gY2xhc3MgSW1wbGVtZW50ZWRBdGtJbnRlcmZhY2VzIHsKLWRp ZmYgLXVwIGNocm9taXVtLTEzMy4wLjY5NDMuMzUvdWkvYWNjZXNzaWJpbGl0eS9wbGF0Zm9ybS9h eF9wbGF0Zm9ybV9ub2RlX2F1cmFsaW51eF91bml0dGVzdC5jYy5lbDgtYXRrLWNvbXBpbGVyLWVy cm9yIGNocm9taXVtLTEzMy4wLjY5NDMuMzUvdWkvYWNjZXNzaWJpbGl0eS9wbGF0Zm9ybS9heF9w bGF0Zm9ybV9ub2RlX2F1cmFsaW51eF91bml0dGVzdC5jYwotLS0tIGNocm9taXVtLTEzMy4wLjY5 NDMuMzUvdWkvYWNjZXNzaWJpbGl0eS9wbGF0Zm9ybS9heF9wbGF0Zm9ybV9ub2RlX2F1cmFsaW51 eF91bml0dGVzdC5jYy5lbDgtYXRrLWNvbXBpbGVyLWVycm9yCTIwMjUtMDEtMjggMjM6MDM6Mjcu MDAwMDAwMDAwICswMTAwCi0rKysgY2hyb21pdW0tMTMzLjAuNjk0My4zNS91aS9hY2Nlc3NpYmls aXR5L3BsYXRmb3JtL2F4X3BsYXRmb3JtX25vZGVfYXVyYWxpbnV4X3VuaXR0ZXN0LmNjCTIwMjUt MDItMDQgMTI6MDY6MTUuODE5OTE4NTYyICswMTAwCi1AQCAtMTEsNiArMTEsNyBAQAotIAotICNp bmNsdWRlIDxhdGsvYXRrLmg+Ci0gCi0rI2luY2x1ZGUgPGRsZmNuLmg+Ci0gI2luY2x1ZGUgPGFy cmF5PgotICNpbmNsdWRlIDx1dGlsaXR5PgotICNpbmNsdWRlIDx2ZWN0b3I+Ci1AQCAtODg3LDYg Kzg4OCwxNyBAQCB0eXBlZGVmIGJvb2wgKCpTY3JvbGxUb1BvaW50RnVuYykoQXRrQ29tCi0gdHlw ZWRlZiBib29sICgqU2Nyb2xsVG9GdW5jKShBdGtDb21wb25lbnQqIGNvbXBvbmVudCwgQXRrU2Ny b2xsVHlwZSB0eXBlKTsKLSAKLSBURVNUX0YoQVhQbGF0Zm9ybU5vZGVBdXJhTGludXhUZXN0LCBB dGtDb21wb25lbnRTY3JvbGxUb1BvaW50KSB7Ci0rICAvLyBUaGVyZSdzIGEgY2hhbmNlIHdlIG1h eSBiZSBjb21waWxlZCB3aXRoIGEgbmV3ZXIgdmVyc2lvbiBvZiBBVEsgYW5kIHRoZW4KLSsgIC8v IHJ1biB3aXRoIGFuIG9sZGVyIG9uZSwgc28gd2UgbmVlZCB0byBkbyBhIHJ1bnRpbWUgY2hlY2sg Zm9yIHRoaXMgbWV0aG9kCi0rICAvLyB0aGF0IGlzIGF2YWlsYWJsZSBpbiBBVEsgMi4zMCBpbnN0 ZWFkIG9mIGxpbmtpbmcgZGlyZWN0bHkuCi0rICBTY3JvbGxUb1BvaW50RnVuYyBzY3JvbGxfdG9f cG9pbnQgPSByZWludGVycHJldF9jYXN0PFNjcm9sbFRvUG9pbnRGdW5jPigKLSsgICAgICBkbHN5 bShSVExEX0RFRkFVTFQsICJhdGtfY29tcG9uZW50X3Njcm9sbF90b19wb2ludCIpKTsKLSsgIGlm ICghc2Nyb2xsX3RvX3BvaW50KSB7Ci0rICAgIExPRyhXQVJOSU5HKSA8PCAiU2tpcHBpbmcgQXRr Q29tcG9uZW50U2Nyb2xsVG9Qb2ludCIKLSsgICAgICAgICAgICAgICAgICAgICIgYmVjYXVzZSBB VEsgdmVyc2lvbiA8IDIuMzAgZGV0ZWN0ZWQuIjsKLSsgICAgcmV0dXJuOwotKyAgfQotKwotICAg QVhOb2RlRGF0YSByb290OwotICAgcm9vdC5pZCA9IDE7Ci0gICByb290LnJvbGUgPSBheDo6bW9q b206OlJvbGU6OmtSb290V2ViQXJlYTsKLUBAIC05MTQsOCArOTI2LDcgQEAgVEVTVF9GKEFYUGxh dGZvcm1Ob2RlQXVyYUxpbnV4VGVzdCwgQXRrQwotICAgRVhQRUNUX0VRKDEwLCB3aWR0aCk7Ci0g ICBFWFBFQ1RfRVEoMTAsIGhlaWdodCk7Ci0gCi0tICBhdGtfY29tcG9uZW50X3Njcm9sbF90b19w b2ludChBVEtfQ09NUE9ORU5UKGNoaWxkX29iaiksIEFUS19YWV9TQ1JFRU4sIDYwMCwKLS0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDY1MCk7Ci0rICBzY3JvbGxfdG9fcG9pbnQoQVRL X0NPTVBPTkVOVChjaGlsZF9vYmopLCBBVEtfWFlfU0NSRUVOLCA2MDAsIDY1MCk7Ci0gICBhdGtf Y29tcG9uZW50X2dldF9leHRlbnRzKEFUS19DT01QT05FTlQoY2hpbGRfb2JqKSwgJnhfbGVmdCwg JnlfdG9wLCAmd2lkdGgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICZoZWlnaHQsIEFU S19YWV9TQ1JFRU4pOwotICAgRVhQRUNUX0VRKDYxMCwgeF9sZWZ0KTsKLUBAIC05MjMsOCArOTM0 LDcgQEAgVEVTVF9GKEFYUGxhdGZvcm1Ob2RlQXVyYUxpbnV4VGVzdCwgQXRrQwotICAgRVhQRUNU X0VRKDEwLCB3aWR0aCk7Ci0gICBFWFBFQ1RfRVEoMTAsIGhlaWdodCk7Ci0gCi0tICBhdGtfY29t cG9uZW50X3Njcm9sbF90b19wb2ludChBVEtfQ09NUE9ORU5UKGNoaWxkX29iaiksIEFUS19YWV9Q QVJFTlQsIDEwLAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTApOwotKyAgc2Ny b2xsX3RvX3BvaW50KEFUS19DT01QT05FTlQoY2hpbGRfb2JqKSwgQVRLX1hZX1BBUkVOVCwgMTAs IDEwKTsKLSAgIGF0a19jb21wb25lbnRfZ2V0X2V4dGVudHMoQVRLX0NPTVBPTkVOVChjaGlsZF9v YmopLCAmeF9sZWZ0LCAmeV90b3AsICZ3aWR0aCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgJmhlaWdodCwgQVRLX1hZX1NDUkVFTik7Ci0gICAvLyBUaGUgdGVzdCB3cmFwcGVyIHNjcm9s bHMgZXZlcnkgZWxlbWVudCB3aGVuIHNjcm9sbGluZywgc28gdGhpcyBzaG91bGQgYmUKLUBAIC05 NDEsNiArOTUxLDE3IEBAIFRFU1RfRihBWFBsYXRmb3JtTm9kZUF1cmFMaW51eFRlc3QsIEF0a0MK LSB9Ci0gCi0gVEVTVF9GKEFYUGxhdGZvcm1Ob2RlQXVyYUxpbnV4VGVzdCwgQXRrQ29tcG9uZW50 U2Nyb2xsVG8pIHsKLSsgIC8vIFRoZXJlJ3MgYSBjaGFuY2Ugd2UgbWF5IGJlIGNvbXBpbGVkIHdp dGggYSBuZXdlciB2ZXJzaW9uIG9mIEFUSyBhbmQgdGhlbgotKyAgLy8gcnVuIHdpdGggYW4gb2xk ZXIgb25lLCBzbyB3ZSBuZWVkIHRvIGRvIGEgcnVudGltZSBjaGVjayBmb3IgdGhpcyBtZXRob2QK LSsgIC8vIHRoYXQgaXMgYXZhaWxhYmxlIGluIEFUSyAyLjMwIGluc3RlYWQgb2YgbGlua2luZyBk aXJlY3RseS4KLSsgIFNjcm9sbFRvRnVuYyBzY3JvbGxfdG8gPSByZWludGVycHJldF9jYXN0PFNj cm9sbFRvRnVuYz4oCi0rICAgICAgZGxzeW0oUlRMRF9ERUZBVUxULCAiYXRrX2NvbXBvbmVudF9z Y3JvbGxfdG8iKSk7Ci0rICBpZiAoIXNjcm9sbF90bykgewotKyAgICBMT0coV0FSTklORykgPDwg IlNraXBwaW5nIEF0a0NvbXBvbmVudFNjcm9sbFRvIgotKyAgICAgICAgICAgICAgICAgICAgIiBi ZWNhdXNlIEFUSyB2ZXJzaW9uIDwgMi4zMCBkZXRlY3RlZC4iOwotKyAgICByZXR1cm47Ci0rICB9 Ci0rCi0gICBBWE5vZGVEYXRhIHJvb3Q7Ci0gICByb290LmlkID0gMTsKLSAgIHJvb3Qucm9sZSA9 IGF4Ojptb2pvbTo6Um9sZTo6a1Jvb3RXZWJBcmVhOwotQEAgLTk2OCw3ICs5ODksNyBAQCBURVNU X0YoQVhQbGF0Zm9ybU5vZGVBdXJhTGludXhUZXN0LCBBdGtDCi0gICBFWFBFQ1RfRVEoMTAsIHdp ZHRoKTsKLSAgIEVYUEVDVF9FUSgxMCwgaGVpZ2h0KTsKLSAKLS0gIGF0a19jb21wb25lbnRfc2Ny b2xsX3RvKEFUS19DT01QT05FTlQoY2hpbGRfb2JqKSwgQVRLX1NDUk9MTF9BTllXSEVSRSk7Ci0r ICBzY3JvbGxfdG8oQVRLX0NPTVBPTkVOVChjaGlsZF9vYmopLCBBVEtfU0NST0xMX0FOWVdIRVJF KTsKLSAgIGF0a19jb21wb25lbnRfZ2V0X2V4dGVudHMoQVRLX0NPTVBPTkVOVChjaGlsZF9vYmop LCAmeF9sZWZ0LCAmeV90b3AsICZ3aWR0aCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg JmhlaWdodCwgQVRLX1hZX1NDUkVFTik7Ci0gICBFWFBFQ1RfRVEoMCwgeF9sZWZ0KTsKLWRpZmYg LXVwIGNocm9taXVtLTEzMy4wLjY5NDMuMzUvdWkvYWNjZXNzaWJpbGl0eS9wbGF0Zm9ybS9pbnNw ZWN0L2F4X3RyZWVfZm9ybWF0dGVyX2F1cmFsaW51eC5jYy5lbDgtYXRrLWNvbXBpbGVyLWVycm9y IGNocm9taXVtLTEzMy4wLjY5NDMuMzUvdWkvYWNjZXNzaWJpbGl0eS9wbGF0Zm9ybS9pbnNwZWN0 L2F4X3RyZWVfZm9ybWF0dGVyX2F1cmFsaW51eC5jYwotLS0tIGNocm9taXVtLTEzMy4wLjY5NDMu MzUvdWkvYWNjZXNzaWJpbGl0eS9wbGF0Zm9ybS9pbnNwZWN0L2F4X3RyZWVfZm9ybWF0dGVyX2F1 cmFsaW51eC5jYy5lbDgtYXRrLWNvbXBpbGVyLWVycm9yCTIwMjUtMDEtMjggMjM6MDM6MjcuMDAw MDAwMDAwICswMTAwCi0rKysgY2hyb21pdW0tMTMzLjAuNjk0My4zNS91aS9hY2Nlc3NpYmlsaXR5 L3BsYXRmb3JtL2luc3BlY3QvYXhfdHJlZV9mb3JtYXR0ZXJfYXVyYWxpbnV4LmNjCTIwMjUtMDIt MDQgMTA6NTY6MDguNDY0MTI3NTkyICswMTAwCi1AQCAtNDc0LDE4ICs0NzQsMzQgQEAgdm9pZCBB WFRyZWVGb3JtYXR0ZXJBdXJhTGludXg6OkFkZFRhYmxlQwotICAgaW50IHJvdyA9IDAsIGNvbCA9 IDAsIHJvd19zcGFuID0gMCwgY29sX3NwYW4gPSAwOwotICAgaW50IG5fcm93X2hlYWRlcnMgPSAw LCBuX2NvbHVtbl9oZWFkZXJzID0gMDsKLSAKLS0gIEF0a1RhYmxlQ2VsbCogY2VsbCA9IEdfVFlQ RV9DSEVDS19JTlNUQU5DRV9DQVNUKAotLSAgICAgIChhdGtfb2JqZWN0KSwgYXRrX3RhYmxlX2Nl bGxfZ2V0X3R5cGUoKSwgQXRrVGFibGVDZWxsKTsKLSsgIC8vIFByb3BlcnRpZXMgb2J0YWluZWQg dmlhIEF0a1RhYmxlQ2VsbCwgaWYgcG9zc2libGUuIElmIHdlIGRvIG5vdCBoYXZlIGF0Ci0rICAv LyBsZWFzdCBBVEsgMi4xMiwgdXNlIHRoZSBzYW1lIGxvZ2ljIGluIG91ciBBdGtUYWJsZUNlbGwg aW1wbGVtZW50YXRpb24gc28KLSsgIC8vIHRoYXQgdGVzdHMgY2FuIHN0aWxsIGJlIHJ1bi4KLSsg IGlmIChBdGtUYWJsZUNlbGxJbnRlcmZhY2U6OkV4aXN0cygpKSB7Ci0rICAgIEF0a1RhYmxlQ2Vs bCogY2VsbCA9IEdfVFlQRV9DSEVDS19JTlNUQU5DRV9DQVNUKAotKyAgICAgICAgKGF0a19vYmpl Y3QpLCBBdGtUYWJsZUNlbGxJbnRlcmZhY2U6OkdldFR5cGUoKSwgQXRrVGFibGVDZWxsKTsKLSAK LS0gIGF0a190YWJsZV9jZWxsX2dldF9yb3dfY29sdW1uX3NwYW4oY2VsbCwgJnJvdywgJmNvbCwg JnJvd19zcGFuLCAmY29sX3NwYW4pOwotKyAgICBBdGtUYWJsZUNlbGxJbnRlcmZhY2U6OkdldFJv d0NvbHVtblNwYW4oY2VsbCwgJnJvdywgJmNvbCwgJnJvd19zcGFuLAotKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmNvbF9zcGFuKTsKLSAKLS0gIEdQdHJBcnJh eSogY29sdW1uX2hlYWRlcnMgPSBhdGtfdGFibGVfY2VsbF9nZXRfY29sdW1uX2hlYWRlcl9jZWxs cyhjZWxsKTsKLS0gIG5fY29sdW1uX2hlYWRlcnMgPSBjb2x1bW5faGVhZGVycy0+bGVuOwotLSAg Z19wdHJfYXJyYXlfdW5yZWYoY29sdW1uX2hlYWRlcnMpOwotKyAgICBHUHRyQXJyYXkqIGNvbHVt bl9oZWFkZXJzID0KLSsgICAgICAgIEF0a1RhYmxlQ2VsbEludGVyZmFjZTo6R2V0Q29sdW1uSGVh ZGVyQ2VsbHMoY2VsbCk7Ci0rICAgIG5fY29sdW1uX2hlYWRlcnMgPSBjb2x1bW5faGVhZGVycy0+ bGVuOwotKyAgICBnX3B0cl9hcnJheV91bnJlZihjb2x1bW5faGVhZGVycyk7Ci0gCi0tICBHUHRy QXJyYXkqIHJvd19oZWFkZXJzID0gYXRrX3RhYmxlX2NlbGxfZ2V0X3Jvd19oZWFkZXJfY2VsbHMo Y2VsbCk7Ci0tICBuX3Jvd19oZWFkZXJzID0gcm93X2hlYWRlcnMtPmxlbjsKLS0gIGdfcHRyX2Fy cmF5X3VucmVmKHJvd19oZWFkZXJzKTsKLSsgICAgR1B0ckFycmF5KiByb3dfaGVhZGVycyA9IEF0 a1RhYmxlQ2VsbEludGVyZmFjZTo6R2V0Um93SGVhZGVyQ2VsbHMoY2VsbCk7Ci0rICAgIG5fcm93 X2hlYWRlcnMgPSByb3dfaGVhZGVycy0+bGVuOwotKyAgICBnX3B0cl9hcnJheV91bnJlZihyb3df aGVhZGVycyk7Ci0rICB9IGVsc2UgewotKyAgICByb3cgPSBub2RlLT5HZXRUYWJsZVJvdygpLnZh bHVlX29yKC0xKTsKLSsgICAgY29sID0gbm9kZS0+R2V0VGFibGVDb2x1bW4oKS52YWx1ZV9vcigt MSk7Ci0rICAgIHJvd19zcGFuID0gbm9kZS0+R2V0VGFibGVSb3dTcGFuKCkudmFsdWVfb3IoMCk7 Ci0rICAgIGNvbF9zcGFuID0gbm9kZS0+R2V0VGFibGVDb2x1bW5TcGFuKCkudmFsdWVfb3IoMCk7 Ci0rICAgIGlmIChyb2xlID09IEFUS19ST0xFX1RBQkxFX0NFTEwpIHsKLSsgICAgICBuX2NvbHVt bl9oZWFkZXJzID0gbm9kZS0+R2V0RGVsZWdhdGUoKS0+R2V0Q29sSGVhZGVyTm9kZUlkcyhjb2wp LnNpemUoKTsKLSsgICAgICBuX3Jvd19oZWFkZXJzID0gbm9kZS0+R2V0RGVsZWdhdGUoKS0+R2V0 Um93SGVhZGVyTm9kZUlkcyhyb3cpLnNpemUoKTsKLSsgICAgfQotKyAgfQotIAotICAgc3RkOjp2 ZWN0b3I8c3RkOjpzdHJpbmc+IGNlbGxfaW5mbzsKLSAgIGNlbGxfaW5mby5wdXNoX2JhY2soYmFz ZTo6U3RyaW5nUHJpbnRmKCJyb3c9JWkiLCByb3cpKTsKCmRpZmYgLS1naXQgYS9jaHJvbWl1bS0x MzQtZWw4LWF0ay1jb21waWxlci1lcnJvci5wYXRjaCBiL2Nocm9taXVtLTEzNC1lbDgtYXRrLWNv bXBpbGVyLWVycm9yLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM0 NGQxNzQKLS0tIC9kZXYvbnVsbAorKysgYi9jaHJvbWl1bS0xMzQtZWw4LWF0ay1jb21waWxlci1l cnJvci5wYXRjaApAQCAtMCwwICsxLDEwNjcgQEAKK2RpZmYgLXVwIGNocm9taXVtLTEzNC4wLjY5 OTguMTUvY29udGVudC9icm93c2VyL2FjY2Vzc2liaWxpdHkvYWNjZXNzaWJpbGl0eV9hdXJhbGlu dXhfYnJvd3NlcnRlc3QuY2MudGhhbiBjaHJvbWl1bS0xMzQuMC42OTk4LjE1L2NvbnRlbnQvYnJv d3Nlci9hY2Nlc3NpYmlsaXR5L2FjY2Vzc2liaWxpdHlfYXVyYWxpbnV4X2Jyb3dzZXJ0ZXN0LmNj CistLS0gY2hyb21pdW0tMTM0LjAuNjk5OC4xNS9jb250ZW50L2Jyb3dzZXIvYWNjZXNzaWJpbGl0 eS9hY2Nlc3NpYmlsaXR5X2F1cmFsaW51eF9icm93c2VydGVzdC5jYy50aGFuCTIwMjUtMDItMTIg MDI6MzE6MDIuMDAwMDAwMDAwICswMTAwCisrKysgY2hyb21pdW0tMTM0LjAuNjk5OC4xNS9jb250 ZW50L2Jyb3dzZXIvYWNjZXNzaWJpbGl0eS9hY2Nlc3NpYmlsaXR5X2F1cmFsaW51eF9icm93c2Vy dGVzdC5jYwkyMDI1LTAyLTE3IDE3OjEzOjMwLjk3MTM0Mzk2NSArMDEwMAorQEAgLTMsNiArMyw3 IEBACisgLy8gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKyAKKyAjaW5jbHVkZSA8YXRrL2F0 ay5oPgorKyNpbmNsdWRlIDxkbGZjbi5oPgorIAorICNpbmNsdWRlIDxzdHJpbmc+CisgI2luY2x1 ZGUgPHZlY3Rvcj4KK0BAIC01NTAsNiArNTUxLDEwIEBAIElOX1BST0NfQlJPV1NFUl9URVNUX0Yo QWNjZXNzaWJpbGl0eUF1cmEKKyAgIGdfb2JqZWN0X3VucmVmKGRpdl9lbGVtZW50KTsKKyB9Cisg CisrI2lmIGRlZmluZWQoQVRLX0NIRUNLX1ZFUlNJT04pICYmIEFUS19DSEVDS19WRVJTSU9OKDIs IDMwLCAwKQorKyNkZWZpbmUgQVRLXzIzMAorKyNlbmRpZgorKworIElOX1BST0NfQlJPV1NFUl9U RVNUX0YoQWNjZXNzaWJpbGl0eUF1cmFMaW51eEJyb3dzZXJUZXN0LAorICAgICAgICAgICAgICAg ICAgICAgICAgVGVzdENoYXJhY3RlckV4dGVudHNXaXRoSW52YWxpZEFyZ3VtZW50cykgeworICAg QXRrVGV4dCogYXRrX3RleHQgPSBTZXRVcFNhbXBsZVBhcmFncmFwaCgpOworQEAgLTU3MiwxMiAr NTc3LDE0IEBAIElOX1BST0NfQlJPV1NFUl9URVNUX0YoQWNjZXNzaWJpbGl0eUF1cmEKKyAgIEVY UEVDVF9FUShleHBlY3QsIHdpZHRoKTsKKyAgIEVYUEVDVF9FUShleHBlY3QsIGhlaWdodCk7Cisg CisrI2lmZGVmIEFUS18yMzAKKyAgIGF0a190ZXh0X2dldF9jaGFyYWN0ZXJfZXh0ZW50cyhhdGtf dGV4dCwgaW52YWxpZF9vZmZzZXQsICZ4LCAmeSwgJndpZHRoLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICZoZWlnaHQsIEFUS19YWV9QQVJFTlQpOworICAgRVhQRUNUX0VRKGV4 cGVjdCwgeCk7CisgICBFWFBFQ1RfRVEoZXhwZWN0LCB5KTsKKyAgIEVYUEVDVF9FUShleHBlY3Qs IHdpZHRoKTsKKyAgIEVYUEVDVF9FUShleHBlY3QsIGhlaWdodCk7CisrI2VuZGlmICAvLyBBVEtf MjMwCisgCisgICBhdGtfdGV4dF9nZXRfY2hhcmFjdGVyX2V4dGVudHMoYXRrX3RleHQsIGludmFs aWRfb2Zmc2V0LCAmeCwgJnksICZ3aWR0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAmaGVpZ2h0LCBBVEtfWFlfV0lORE9XKTsKK0BAIC01OTYsMTIgKzYwMywxNCBAQCBJTl9Q Uk9DX0JST1dTRVJfVEVTVF9GKEFjY2Vzc2liaWxpdHlBdXJhCisgICBFWFBFQ1RfRVEoZXhwZWN0 LCB3aWR0aCk7CisgICBFWFBFQ1RfRVEoZXhwZWN0LCBoZWlnaHQpOworIAorKyNpZmRlZiBBVEtf MjMwCisgICBhdGtfdGV4dF9nZXRfY2hhcmFjdGVyX2V4dGVudHMoYXRrX3RleHQsIGludmFsaWRf b2Zmc2V0LCAmeCwgJnksICZ3aWR0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAmaGVpZ2h0LCBBVEtfWFlfUEFSRU5UKTsKKyAgIEVYUEVDVF9FUShleHBlY3QsIHgpOworICAg RVhQRUNUX0VRKGV4cGVjdCwgeSk7CisgICBFWFBFQ1RfRVEoZXhwZWN0LCB3aWR0aCk7CisgICBF WFBFQ1RfRVEoZXhwZWN0LCBoZWlnaHQpOworKyNlbmRpZiAgLy8gQVRLXzIzMAorIAorICAgYXRr X3RleHRfZ2V0X2NoYXJhY3Rlcl9leHRlbnRzKGF0a190ZXh0LCBpbnZhbGlkX29mZnNldCwgJngs ICZ5LCAmd2lkdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmhlaWdodCwg QVRLX1hZX1dJTkRPVyk7CitAQCAtNjE2LDcgKzYyNSw5IEBAIElOX1BST0NfQlJPV1NFUl9URVNU X0YoQWNjZXNzaWJpbGl0eUF1cmEKKyBBdGtDb29yZFR5cGUga0Nvb3JkaW5hdGVUeXBlc1tdID0g eworICAgICBBVEtfWFlfU0NSRUVOLAorICAgICBBVEtfWFlfV0lORE9XLAorKyNpZmRlZiBBVEtf MjMwCisgICAgIEFUS19YWV9QQVJFTlQsCisrI2VuZGlmICAvLyBBVEtfMjMwCisgfTsKKyAKKyBJ Tl9QUk9DX0JST1dTRVJfVEVTVF9GKEFjY2Vzc2liaWxpdHlBdXJhTGludXhCcm93c2VyVGVzdCwK K0BAIC04NzUsNiArODg2LDcgQEAgSU5fUFJPQ19CUk9XU0VSX1RFU1RfRihBY2Nlc3NpYmlsaXR5 QXVyYQorICAgVGVzdENoYXJhY3RlckV4dGVudHNJblNjcm9sbGFibGVJbnB1dCgpOworIH0KKyAK KysjaWYgZGVmaW5lZChBVEtfMjMwKQorIHR5cGVkZWYgYm9vbCAoKlNjcm9sbFRvUG9pbnRGdW5j KShBdGtDb21wb25lbnQqIGNvbXBvbmVudCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgQXRrQ29vcmRUeXBlIGNvb3JkcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgZ2ludCB4LAorQEAgLTg4NCw2ICs4OTYsMTggQEAgdHlwZWRlZiBib29sICgqU2Nyb2xs VG9GdW5jKShBdGtDb21wb25lbgorIC8vIFRPRE8oY3JidWcuY29tLzQwODY2NzI4KTogRW5hYmxl IHRoaXMgdGVzdC4KKyBJTl9QUk9DX0JST1dTRVJfVEVTVF9GKEFjY2Vzc2liaWxpdHlBdXJhTGlu dXhCcm93c2VyVGVzdCwKKyAgICAgICAgICAgICAgICAgICAgICAgIERJU0FCTEVEX1Rlc3RTY3Jv bGxUb1BvaW50KSB7CisrICAvLyBUaGVyZSdzIGEgY2hhbmNlIHdlIG1heSBiZSBjb21waWxlZCB3 aXRoIGEgbmV3ZXIgdmVyc2lvbiBvZiBBVEsgYW5kIHRoZW4KKysgIC8vIHJ1biB3aXRoIGFuIG9s ZGVyIG9uZSwgc28gd2UgbmVlZCB0byBkbyBhIHJ1bnRpbWUgY2hlY2sgZm9yIHRoaXMgbWV0aG9k CisrICAvLyB0aGF0IGlzIGF2YWlsYWJsZSBpbiBBVEsgMi4zMCBpbnN0ZWFkIG9mIGxpbmtpbmcg ZGlyZWN0bHkuCisrICBTY3JvbGxUb1BvaW50RnVuYyBzY3JvbGxfdG9fcG9pbnQgPSByZWludGVy cHJldF9jYXN0PFNjcm9sbFRvUG9pbnRGdW5jPigKKysgICAgICBkbHN5bShSVExEX0RFRkFVTFQs ICJhdGtfY29tcG9uZW50X3Njcm9sbF90b19wb2ludCIpKTsKKysgIGlmICghc2Nyb2xsX3RvX3Bv aW50KSB7CisrICAgIExPRyhXQVJOSU5HKQorKyAgICAgICAgPDwgIlNraXBwaW5nIEFjY2Vzc2li aWxpdHlBdXJhTGludXhCcm93c2VyVGVzdDo6VGVzdFNjcm9sbFRvUG9pbnQiCisrICAgICAgICAg ICAiIGJlY2F1c2UgQVRLIHZlcnNpb24gPCAyLjMwIGRldGVjdGVkLiI7CisrICAgIHJldHVybjsK KysgIH0KKysKKyAgIExvYWRTYW1wbGVQYXJhZ3JhcGhJblNjcm9sbGFibGVEb2N1bWVudCgpOwor ICAgQXRrVGV4dCogYXRrX3RleHQgPSBHZXRTYW1wbGVQYXJhZ3JhcGgoKTsKKyAgIEFTU0VSVF9U UlVFKEFUS19JU19DT01QT05FTlQoYXRrX3RleHQpKTsKK0BAIC04OTYsNyArOTIwLDcgQEAgSU5f UFJPQ19CUk9XU0VSX1RFU1RfRihBY2Nlc3NpYmlsaXR5QXVyYQorICAgQWNjZXNzaWJpbGl0eU5v dGlmaWNhdGlvbldhaXRlciBsb2NhdGlvbl9jaGFuZ2VkX3dhaXRlcigKKyAgICAgICBzaGVsbCgp LT53ZWJfY29udGVudHMoKSwgdWk6OmtBWE1vZGVDb21wbGV0ZSwKKyAgICAgICBheDo6bW9qb206 OkV2ZW50OjprTG9jYXRpb25DaGFuZ2VkKTsKKy0gIGF0a19jb21wb25lbnRfc2Nyb2xsX3RvX3Bv aW50KGF0a19jb21wb25lbnQsIEFUS19YWV9QQVJFTlQsIDAsIDApOworKyAgc2Nyb2xsX3RvX3Bv aW50KGF0a19jb21wb25lbnQsIEFUS19YWV9QQVJFTlQsIDAsIDApOworICAgQVNTRVJUX1RSVUUo bG9jYXRpb25fY2hhbmdlZF93YWl0ZXIuV2FpdEZvck5vdGlmaWNhdGlvbigpKTsKKyAKKyAgIGF0 a19jb21wb25lbnRfZ2V0X2V4dGVudHMoYXRrX2NvbXBvbmVudCwgJngsICZ5LCBudWxscHRyLCBu dWxscHRyLAorQEAgLTkwNSwyMCArOTI5LDIwIEBAIElOX1BST0NfQlJPV1NFUl9URVNUX0YoQWNj ZXNzaWJpbGl0eUF1cmEKKyAgIEVYUEVDVF9HVChwcmV2X3ksIHkpOworIAorICAgY29uc3RleHBy IGludCBrU2Nyb2xsVG9ZID0gMDsKKy0gIGF0a19jb21wb25lbnRfc2Nyb2xsX3RvX3BvaW50KGF0 a19jb21wb25lbnQsIEFUS19YWV9TQ1JFRU4sIDAsIGtTY3JvbGxUb1kpOworKyAgc2Nyb2xsX3Rv X3BvaW50KGF0a19jb21wb25lbnQsIEFUS19YWV9TQ1JFRU4sIDAsIGtTY3JvbGxUb1kpOworICAg QVNTRVJUX1RSVUUobG9jYXRpb25fY2hhbmdlZF93YWl0ZXIuV2FpdEZvck5vdGlmaWNhdGlvbigp KTsKKyAgIGF0a19jb21wb25lbnRfZ2V0X2V4dGVudHMoYXRrX2NvbXBvbmVudCwgJngsICZ5LCBu dWxscHRyLCBudWxscHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBVEtfWFlfU0NS RUVOKTsKKyAgIEVYUEVDVF9FUShrU2Nyb2xsVG9ZLCB5KTsKKyAKKyAgIGNvbnN0ZXhwciBpbnQg a1Njcm9sbFRvWV8yID0gMjQzOworLSAgYXRrX2NvbXBvbmVudF9zY3JvbGxfdG9fcG9pbnQoYXRr X2NvbXBvbmVudCwgQVRLX1hZX1NDUkVFTiwgMCwga1Njcm9sbFRvWV8yKTsKKysgIHNjcm9sbF90 b19wb2ludChhdGtfY29tcG9uZW50LCBBVEtfWFlfU0NSRUVOLCAwLCBrU2Nyb2xsVG9ZXzIpOwor ICAgQVNTRVJUX1RSVUUobG9jYXRpb25fY2hhbmdlZF93YWl0ZXIuV2FpdEZvck5vdGlmaWNhdGlv bigpKTsKKyAgIGF0a19jb21wb25lbnRfZ2V0X2V4dGVudHMoYXRrX2NvbXBvbmVudCwgbnVsbHB0 ciwgJnksIG51bGxwdHIsIG51bGxwdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFU S19YWV9TQ1JFRU4pOworICAgRVhQRUNUX0VRKGtTY3JvbGxUb1lfMiwgeSk7CisgCistICBhdGtf Y29tcG9uZW50X3Njcm9sbF90b19wb2ludChhdGtfY29tcG9uZW50LCBBVEtfWFlfU0NSRUVOLCAw LCAxMjkpOworKyAgc2Nyb2xsX3RvX3BvaW50KGF0a19jb21wb25lbnQsIEFUS19YWV9TQ1JFRU4s IDAsIDEyOSk7CisgICBBU1NFUlRfVFJVRShsb2NhdGlvbl9jaGFuZ2VkX3dhaXRlci5XYWl0Rm9y Tm90aWZpY2F0aW9uKCkpOworICAgYXRrX2NvbXBvbmVudF9nZXRfZXh0ZW50cyhhdGtfY29tcG9u ZW50LCBudWxscHRyLCAmeSwgbnVsbHB0ciwgbnVsbHB0ciwKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgQVRLX1hZX1NDUkVFTik7CitAQCAtOTM1LDYgKzk1OSwxNyBAQCBJTl9QUk9DX0JS T1dTRVJfVEVTVF9GKEFjY2Vzc2liaWxpdHlBdXJhCisgLy8gVE9ETyhjcmJ1Zy5jb20vNDA4NjY3 MjgpOiBFbmFibGUgdGhpcyB0ZXN0LgorIElOX1BST0NfQlJPV1NFUl9URVNUX0YoQWNjZXNzaWJp bGl0eUF1cmFMaW51eEJyb3dzZXJUZXN0LAorICAgICAgICAgICAgICAgICAgICAgICAgRElTQUJM RURfVGVzdFNjcm9sbFRvKSB7CisrICAvLyBUaGVyZSdzIGEgY2hhbmNlIHdlIG1heSBiZSBjb21w aWxlZCB3aXRoIGEgbmV3ZXIgdmVyc2lvbiBvZiBBVEsgYW5kIHRoZW4KKysgIC8vIHJ1biB3aXRo IGFuIG9sZGVyIG9uZSwgc28gd2UgbmVlZCB0byBkbyBhIHJ1bnRpbWUgY2hlY2sgZm9yIHRoaXMg bWV0aG9kCisrICAvLyB0aGF0IGlzIGF2YWlsYWJsZSBpbiBBVEsgMi4zMCBpbnN0ZWFkIG9mIGxp bmtpbmcgZGlyZWN0bHkuCisrICBTY3JvbGxUb0Z1bmMgc2Nyb2xsX3RvID0gcmVpbnRlcnByZXRf Y2FzdDxTY3JvbGxUb0Z1bmM+KAorKyAgICAgIGRsc3ltKFJUTERfREVGQVVMVCwgImF0a19jb21w b25lbnRfc2Nyb2xsX3RvIikpOworKyAgaWYgKCFzY3JvbGxfdG8pIHsKKysgICAgTE9HKFdBUk5J TkcpIDw8ICJTa2lwcGluZyBBY2Nlc3NpYmlsaXR5QXVyYUxpbnV4QnJvd3NlclRlc3Q6OlRlc3RT Y3JvbGxUbyIKKysgICAgICAgICAgICAgICAgICAgICIgYmVjYXVzZSBBVEsgdmVyc2lvbiA8IDIu MzAgZGV0ZWN0ZWQuIjsKKysgICAgcmV0dXJuOworKyAgfQorKworICAgTG9hZEluaXRpYWxBY2Nl c3NpYmlsaXR5VHJlZUZyb21IdG1sKAorICAgICAgIFIiSFRNTCg8IURPQ1RZUEUgaHRtbD4KKyAg ICAgICA8aHRtbD4KK0BAIC05NzYsOCArMTAxMSw3IEBAIElOX1BST0NfQlJPV1NFUl9URVNUX0Yo QWNjZXNzaWJpbGl0eUF1cmEKKyAgIEFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb25XYWl0ZXIgd2Fp dGVyKAorICAgICAgIHNoZWxsKCktPndlYl9jb250ZW50cygpLCB1aTo6a0FYTW9kZUNvbXBsZXRl LAorICAgICAgIGF4Ojptb2pvbTo6RXZlbnQ6OmtTY3JvbGxQb3NpdGlvbkNoYW5nZWQpOworLSAg QVNTRVJUX1RSVUUoCistICAgICAgYXRrX2NvbXBvbmVudF9zY3JvbGxfdG8oQVRLX0NPTVBPTkVO VCh0YXJnZXQpLCBBVEtfU0NST0xMX1RPUF9FREdFKSk7CisrICBBU1NFUlRfVFJVRShzY3JvbGxf dG8oQVRLX0NPTVBPTkVOVCh0YXJnZXQpLCBBVEtfU0NST0xMX1RPUF9FREdFKSk7CisgICBBU1NF UlRfVFJVRSh3YWl0ZXIuV2FpdEZvck5vdGlmaWNhdGlvbigpKTsKKyAgIGludCB4LCB5OworICAg YXRrX2NvbXBvbmVudF9nZXRfZXh0ZW50cyhBVEtfQ09NUE9ORU5UKHRhcmdldCksICZ4LCAmeSwg bnVsbHB0ciwgbnVsbHB0ciwKK0BAIC05ODUsNDAgKzEwMTksMzUgQEAgSU5fUFJPQ19CUk9XU0VS X1RFU1RfRihBY2Nlc3NpYmlsaXR5QXVyYQorICAgRVhQRUNUX0VRKHksIGRvY195KTsKKyAgIEVY UEVDVF9ORSh4LCBkb2NfeCk7CisgCistICBBU1NFUlRfVFJVRSgKKy0gICAgICBhdGtfY29tcG9u ZW50X3Njcm9sbF90byhBVEtfQ09NUE9ORU5UKHRhcmdldCksIEFUS19TQ1JPTExfVE9QX0xFRlQp KTsKKysgIEFTU0VSVF9UUlVFKHNjcm9sbF90byhBVEtfQ09NUE9ORU5UKHRhcmdldCksIEFUS19T Q1JPTExfVE9QX0xFRlQpKTsKKyAgIEFTU0VSVF9UUlVFKHdhaXRlci5XYWl0Rm9yTm90aWZpY2F0 aW9uKCkpOworICAgYXRrX2NvbXBvbmVudF9nZXRfZXh0ZW50cyhBVEtfQ09NUE9ORU5UKHRhcmdl dCksICZ4LCAmeSwgbnVsbHB0ciwgbnVsbHB0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgQVRLX1hZX1NDUkVFTik7CisgICBFWFBFQ1RfRVEoeSwgZG9jX3kpOworICAgRVhQRUNUX0VR KHgsIGRvY194KTsKKyAKKy0gIEFTU0VSVF9UUlVFKAorLSAgICAgIGF0a19jb21wb25lbnRfc2Ny b2xsX3RvKEFUS19DT01QT05FTlQodGFyZ2V0KSwgQVRLX1NDUk9MTF9CT1RUT01fRURHRSkpOwor KyAgQVNTRVJUX1RSVUUoc2Nyb2xsX3RvKEFUS19DT01QT05FTlQodGFyZ2V0KSwgQVRLX1NDUk9M TF9CT1RUT01fRURHRSkpOworICAgQVNTRVJUX1RSVUUod2FpdGVyLldhaXRGb3JOb3RpZmljYXRp b24oKSk7CisgICBhdGtfY29tcG9uZW50X2dldF9leHRlbnRzKEFUS19DT01QT05FTlQodGFyZ2V0 KSwgJngsICZ5LCBudWxscHRyLCBudWxscHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBBVEtfWFlfU0NSRUVOKTsKKyAgIEVYUEVDVF9ORSh5LCBkb2NfeSk7CisgICBFWFBFQ1RfRVEo eCwgZG9jX3gpOworIAorLSAgQVNTRVJUX1RSVUUoCistICAgICAgYXRrX2NvbXBvbmVudF9zY3Jv bGxfdG8oQVRLX0NPTVBPTkVOVCh0YXJnZXQpLCBBVEtfU0NST0xMX1JJR0hUX0VER0UpKTsKKysg IEFTU0VSVF9UUlVFKHNjcm9sbF90byhBVEtfQ09NUE9ORU5UKHRhcmdldCksIEFUS19TQ1JPTExf UklHSFRfRURHRSkpOworICAgQVNTRVJUX1RSVUUod2FpdGVyLldhaXRGb3JOb3RpZmljYXRpb24o KSk7CisgICBhdGtfY29tcG9uZW50X2dldF9leHRlbnRzKEFUS19DT01QT05FTlQodGFyZ2V0KSwg JngsICZ5LCBudWxscHRyLCBudWxscHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBB VEtfWFlfU0NSRUVOKTsKKyAgIEVYUEVDVF9ORSh5LCBkb2NfeSk7CisgICBFWFBFQ1RfTkUoeCwg ZG9jX3gpOworIAorLSAgQVNTRVJUX1RSVUUoCistICAgICAgYXRrX2NvbXBvbmVudF9zY3JvbGxf dG8oQVRLX0NPTVBPTkVOVCh0YXJnZXQyKSwgQVRLX1NDUk9MTF9MRUZUX0VER0UpKTsKKysgIEFT U0VSVF9UUlVFKHNjcm9sbF90byhBVEtfQ09NUE9ORU5UKHRhcmdldDIpLCBBVEtfU0NST0xMX0xF RlRfRURHRSkpOworICAgQVNTRVJUX1RSVUUod2FpdGVyLldhaXRGb3JOb3RpZmljYXRpb24oKSk7 CisgICBhdGtfY29tcG9uZW50X2dldF9leHRlbnRzKEFUS19DT01QT05FTlQodGFyZ2V0MiksICZ4 LCAmeSwgbnVsbHB0ciwgbnVsbHB0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVRL X1hZX1NDUkVFTik7CisgICBFWFBFQ1RfTkUoeSwgZG9jX3kpOworICAgRVhQRUNUX0VRKHgsIGRv Y194KTsKKyAKKy0gIEFTU0VSVF9UUlVFKAorLSAgICAgIGF0a19jb21wb25lbnRfc2Nyb2xsX3Rv KEFUS19DT01QT05FTlQodGFyZ2V0MiksIEFUS19TQ1JPTExfVE9QX0xFRlQpKTsKKysgIEFTU0VS VF9UUlVFKHNjcm9sbF90byhBVEtfQ09NUE9ORU5UKHRhcmdldDIpLCBBVEtfU0NST0xMX1RPUF9M RUZUKSk7CisgICBBU1NFUlRfVFJVRSh3YWl0ZXIuV2FpdEZvck5vdGlmaWNhdGlvbigpKTsKKyAg IGF0a19jb21wb25lbnRfZ2V0X2V4dGVudHMoQVRLX0NPTVBPTkVOVCh0YXJnZXQyKSwgJngsICZ5 LCBudWxscHRyLCBudWxscHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBVEtfWFlf U0NSRUVOKTsKK0BAIC0xMDUwLDEwICsxMDc5LDM5IEBAIElOX1BST0NfQlJPV1NFUl9URVNUX0Yo QWNjZXNzaWJpbGl0eUF1cmEKKyAgIGdfb2JqZWN0X3VucmVmKHRhcmdldDIpOworICAgZ19vYmpl Y3RfdW5yZWYodGFyZ2V0Myk7CisgfQorKyNlbmRpZiAgLy8gIGRlZmluZWQoQVRLXzIzMCkKKysK KysjaWYgZGVmaW5lZChBVEtfQ0hFQ0tfVkVSU0lPTikgJiYgQVRLX0NIRUNLX1ZFUlNJT04oMiwg MzIsIDApCisrdHlwZWRlZiBnYm9vbGVhbiAoKlNjcm9sbFN1YnN0cmluZ1RvRnVuYykoQXRrVGV4 dCogdGV4dCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnaW50 IHN0YXJ0X29mZnNldCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBnaW50IGVuZF9vZmZzZXQsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgQXRrU2Nyb2xsVHlwZSB0eXBlKTsKKytTY3JvbGxTdWJzdHJpbmdUb0Z1bmMgZ19zY3Jv bGxfc3Vic3RyaW5nX3RvID0gbnVsbHB0cjsKKysKKytOT19TQU5JVElaRSgiY2ZpLWljYWxsIikK KytnYm9vbGVhbiBTY3JvbGxTdWJzdHJpbmdUbyhBdGtUZXh0KiB0ZXh0LAorKyAgICAgICAgICAg ICAgICAgICAgICAgICAgIGdpbnQgc3RhcnRfb2Zmc2V0LAorKyAgICAgICAgICAgICAgICAgICAg ICAgICAgIGdpbnQgZW5kX29mZnNldCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICBBdGtT Y3JvbGxUeXBlIHR5cGUpIHsKKysgIEVYUEVDVF9ORShnX3Njcm9sbF9zdWJzdHJpbmdfdG8sIG51 bGxwdHIpOworKyAgcmV0dXJuIGdfc2Nyb2xsX3N1YnN0cmluZ190byh0ZXh0LCBzdGFydF9vZmZz ZXQsIGVuZF9vZmZzZXQsIHR5cGUpOworK30KKyAKKyAvLyBUT0RPKGNyYnVnLmNvbS80MDg2Njcy OCk6IEVuYWJsZSB0aGlzIHRlc3QuCisgSU5fUFJPQ19CUk9XU0VSX1RFU1RfRihBY2Nlc3NpYmls aXR5QXVyYUxpbnV4QnJvd3NlclRlc3QsCisgICAgICAgICAgICAgICAgICAgICAgICBESVNBQkxF RF9UZXN0U2Nyb2xsU3Vic3RyaW5nVG8pIHsKKysgIC8vIFRoZXJlJ3MgYSBjaGFuY2Ugd2UgbWF5 IGJlIGNvbXBpbGVkIHdpdGggYSBuZXdlciB2ZXJzaW9uIG9mIEFUSyBhbmQgdGhlbgorKyAgLy8g cnVuIHdpdGggYW4gb2xkZXIgb25lLCBzbyB3ZSBuZWVkIHRvIGRvIGEgcnVudGltZSBjaGVjayBm b3IgdGhpcyBtZXRob2QKKysgIC8vIHRoYXQgaXMgYXZhaWxhYmxlIGluIEFUSyAyLjMyIGluc3Rl YWQgb2YgbGlua2luZyBkaXJlY3RseS4KKysgIGdfc2Nyb2xsX3N1YnN0cmluZ190byA9IHJlaW50 ZXJwcmV0X2Nhc3Q8U2Nyb2xsU3Vic3RyaW5nVG9GdW5jPigKKysgICAgICBkbHN5bShSVExEX0RF RkFVTFQsICJhdGtfdGV4dF9zY3JvbGxfc3Vic3RyaW5nX3RvIikpOworKyAgaWYgKCFnX3Njcm9s bF9zdWJzdHJpbmdfdG8pIHsKKysgICAgTE9HKFdBUk5JTkcpIDw8ICJTa2lwcGluZyAiCisrICAg ICAgICAgICAgICAgICAgICAiQWNjZXNzaWJpbGl0eUF1cmFMaW51eEJyb3dzZXJUZXN0OjpUZXN0 U3Vic3RyaW5nU2Nyb2xsVG8iCisrICAgICAgICAgICAgICAgICAgICAiIGJlY2F1c2UgQVRLIHZl cnNpb24gPCAyLjMyIGRldGVjdGVkLiI7CisrICAgIHJldHVybjsKKysgIH0KKysKKyAgIExvYWRJ bml0aWFsQWNjZXNzaWJpbGl0eVRyZWVGcm9tSHRtbCgKKyAgICAgICBSIkhUTUwoPCFET0NUWVBF IGh0bWw+CisgICAgICAgPGh0bWw+CitAQCAtMTA4Nyw4ICsxMTQ1LDcgQEAgSU5fUFJPQ19CUk9X U0VSX1RFU1RfRihBY2Nlc3NpYmlsaXR5QXVyYQorICAgQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlv bldhaXRlciB3YWl0ZXIoCisgICAgICAgc2hlbGwoKS0+d2ViX2NvbnRlbnRzKCksIHVpOjprQVhN b2RlQ29tcGxldGUsCisgICAgICAgYXg6Om1vam9tOjpFdmVudDo6a1Njcm9sbFBvc2l0aW9uQ2hh bmdlZCk7CistICBBU1NFUlRfVFJVRShhdGtfdGV4dF9zY3JvbGxfc3Vic3RyaW5nX3RvKEFUS19U RVhUKHRhcmdldDEpLCAxLCAyLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBBVEtfU0NST0xMX1RPUF9FREdFKSk7CisrICBBU1NFUlRfVFJVRShTY3JvbGxTdWJz dHJpbmdUbyhBVEtfVEVYVCh0YXJnZXQxKSwgMSwgMiwgQVRLX1NDUk9MTF9UT1BfRURHRSkpOwor ICAgQVNTRVJUX1RSVUUod2FpdGVyLldhaXRGb3JOb3RpZmljYXRpb24oKSk7CisgICBpbnQgeCwg eTsKKyAgIGF0a190ZXh0X2dldF9jaGFyYWN0ZXJfZXh0ZW50cyhBVEtfVEVYVCh0YXJnZXQxKSwg MSwgJngsICZ5LCBudWxscHRyLCBudWxscHRyLAorQEAgLTEwOTYsNDAgKzExNTMsMzcgQEAgSU5f UFJPQ19CUk9XU0VSX1RFU1RfRihBY2Nlc3NpYmlsaXR5QXVyYQorICAgRVhQRUNUX0VRKHksIGRv Y195KTsKKyAgIEVYUEVDVF9ORSh4LCBkb2NfeCk7CisgCistICBBU1NFUlRfVFJVRShhdGtfdGV4 dF9zY3JvbGxfc3Vic3RyaW5nX3RvKEFUS19URVhUKHRhcmdldDEpLCAxLCAyLAorLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBVEtfU0NST0xMX1RPUF9MRUZUKSk7 CisrICBBU1NFUlRfVFJVRShTY3JvbGxTdWJzdHJpbmdUbyhBVEtfVEVYVCh0YXJnZXQxKSwgMSwg MiwgQVRLX1NDUk9MTF9UT1BfTEVGVCkpOworICAgQVNTRVJUX1RSVUUod2FpdGVyLldhaXRGb3JO b3RpZmljYXRpb24oKSk7CisgICBhdGtfdGV4dF9nZXRfY2hhcmFjdGVyX2V4dGVudHMoQVRLX1RF WFQodGFyZ2V0MSksIDEsICZ4LCAmeSwgbnVsbHB0ciwgbnVsbHB0ciwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBBVEtfWFlfU0NSRUVOKTsKKyAgIEVYUEVDVF9FUSh5LCBkb2Nf eSk7CisgICBFWFBFQ1RfRVEoeCwgZG9jX3gpOworIAorLSAgQVNTRVJUX1RSVUUoYXRrX3RleHRf c2Nyb2xsX3N1YnN0cmluZ190byhBVEtfVEVYVCh0YXJnZXQxKSwgMSwgMiwKKy0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVRLX1NDUk9MTF9CT1RUT01fRURHRSkp OworKyAgQVNTRVJUX1RSVUUoCisrICAgICAgU2Nyb2xsU3Vic3RyaW5nVG8oQVRLX1RFWFQodGFy Z2V0MSksIDEsIDIsIEFUS19TQ1JPTExfQk9UVE9NX0VER0UpKTsKKyAgIEFTU0VSVF9UUlVFKHdh aXRlci5XYWl0Rm9yTm90aWZpY2F0aW9uKCkpOworICAgYXRrX3RleHRfZ2V0X2NoYXJhY3Rlcl9l eHRlbnRzKEFUS19URVhUKHRhcmdldDEpLCAxLCAmeCwgJnksIG51bGxwdHIsIG51bGxwdHIsCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVRLX1hZX1NDUkVFTik7CisgICBFWFBF Q1RfTkUoeSwgZG9jX3kpOworICAgRVhQRUNUX0VRKHgsIGRvY194KTsKKyAKKy0gIEFTU0VSVF9U UlVFKGF0a190ZXh0X3Njcm9sbF9zdWJzdHJpbmdfdG8oQVRLX1RFWFQodGFyZ2V0MSksIDEsIDIs CistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFUS19TQ1JPTExf UklHSFRfRURHRSkpOworKyAgQVNTRVJUX1RSVUUoCisrICAgICAgU2Nyb2xsU3Vic3RyaW5nVG8o QVRLX1RFWFQodGFyZ2V0MSksIDEsIDIsIEFUS19TQ1JPTExfUklHSFRfRURHRSkpOworICAgQVNT RVJUX1RSVUUod2FpdGVyLldhaXRGb3JOb3RpZmljYXRpb24oKSk7CisgICBhdGtfdGV4dF9nZXRf Y2hhcmFjdGVyX2V4dGVudHMoQVRLX1RFWFQodGFyZ2V0MSksIDEsICZ4LCAmeSwgbnVsbHB0ciwg bnVsbHB0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBVEtfWFlfU0NSRUVO KTsKKyAgIEVYUEVDVF9ORSh5LCBkb2NfeSk7CisgICBFWFBFQ1RfTkUoeCwgZG9jX3gpOworIAor LSAgQVNTRVJUX1RSVUUoYXRrX3RleHRfc2Nyb2xsX3N1YnN0cmluZ190byhBVEtfVEVYVCh0YXJn ZXQxKSwgMSwgMiwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg QVRLX1NDUk9MTF9MRUZUX0VER0UpKTsKKysgIEFTU0VSVF9UUlVFKFNjcm9sbFN1YnN0cmluZ1Rv KEFUS19URVhUKHRhcmdldDEpLCAxLCAyLCBBVEtfU0NST0xMX0xFRlRfRURHRSkpOworICAgQVNT RVJUX1RSVUUod2FpdGVyLldhaXRGb3JOb3RpZmljYXRpb24oKSk7CisgICBhdGtfdGV4dF9nZXRf Y2hhcmFjdGVyX2V4dGVudHMoQVRLX1RFWFQodGFyZ2V0MSksIDEsICZ4LCAmeSwgbnVsbHB0ciwg bnVsbHB0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBVEtfWFlfU0NSRUVO KTsKKyAgIEVYUEVDVF9ORSh5LCBkb2NfeSk7CisgICBFWFBFQ1RfRVEoeCwgZG9jX3gpOworIAor LSAgQVNTRVJUX1RSVUUoYXRrX3RleHRfc2Nyb2xsX3N1YnN0cmluZ190byhBVEtfVEVYVCh0YXJn ZXQxKSwgMSwgMiwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg QVRLX1NDUk9MTF9UT1BfTEVGVCkpOworKyAgQVNTRVJUX1RSVUUoU2Nyb2xsU3Vic3RyaW5nVG8o QVRLX1RFWFQodGFyZ2V0MSksIDEsIDIsIEFUS19TQ1JPTExfVE9QX0xFRlQpKTsKKyAgIEFTU0VS VF9UUlVFKHdhaXRlci5XYWl0Rm9yTm90aWZpY2F0aW9uKCkpOworICAgYXRrX3RleHRfZ2V0X2No YXJhY3Rlcl9leHRlbnRzKEFUS19URVhUKHRhcmdldDEpLCAxLCAmeCwgJnksIG51bGxwdHIsIG51 bGxwdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVRLX1hZX1NDUkVFTik7 CitAQCAtMTEzOSw5ICsxMTkzLDQyIEBAIElOX1BST0NfQlJPV1NFUl9URVNUX0YoQWNjZXNzaWJp bGl0eUF1cmEKKyAgIGdfb2JqZWN0X3VucmVmKHRhcmdldDEpOworIH0KKyAKKyt0eXBlZGVmIGdi b29sZWFuICgqU2Nyb2xsU3Vic3RyaW5nVG9Qb2ludEZ1bmMpKEF0a1RleHQqIHRleHQsCisrICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnaW50IHN0YXJ0X29m ZnNldCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdp bnQgZW5kX29mZnNldCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIEF0a0Nvb3JkVHlwZSBjb29yZF90eXBlLAorKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgZ2ludCB4LAorKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgZ2ludCB5KTsKKytTY3JvbGxTdWJzdHJpbmdUb1BvaW50 RnVuYyBnX3Njcm9sbF9zdWJzdHJpbmdfdG9fcG9pbnQgPSBudWxscHRyOworKworK05PX1NBTklU SVpFKCJjZmktaWNhbGwiKQorK2dib29sZWFuIFNjcm9sbFN1YnN0cmluZ1RvUG9pbnQoQXRrVGV4 dCogdGV4dCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdpbnQgc3RhcnRfb2Zm c2V0LAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2ludCBlbmRfb2Zmc2V0LAor KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQXRrQ29vcmRUeXBlIGNvb3JkX3R5cGUs CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnaW50IHgsCisrICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBnaW50IHkpIHsKKysgIEVYUEVDVF9ORShnX3Njcm9sbF9zdWJz dHJpbmdfdG9fcG9pbnQsIG51bGxwdHIpOworKyAgcmV0dXJuIGdfc2Nyb2xsX3N1YnN0cmluZ190 b19wb2ludCh0ZXh0LCBzdGFydF9vZmZzZXQsIGVuZF9vZmZzZXQsIGNvb3JkX3R5cGUsCisrICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHgsIHkpOworK30KKysKKyAvLyBUT0RP KGNyYnVnLmNvbS80MDg2NjcyOCk6IEVuYWJsZSB0aGlzIHRlc3QuCisgSU5fUFJPQ19CUk9XU0VS X1RFU1RfRihBY2Nlc3NpYmlsaXR5QXVyYUxpbnV4QnJvd3NlclRlc3QsCisgICAgICAgICAgICAg ICAgICAgICAgICBESVNBQkxFRF9UZXN0U2Nyb2xsU3Vic3RyaW5nVG9Qb2ludCkgeworKyAgLy8g VGhlcmUncyBhIGNoYW5jZSB3ZSBtYXkgYmUgY29tcGlsZWQgd2l0aCBhIG5ld2VyIHZlcnNpb24g b2YgQVRLIGFuZCB0aGVuCisrICAvLyBydW4gd2l0aCBhbiBvbGRlciBvbmUsIHNvIHdlIG5lZWQg dG8gZG8gYSBydW50aW1lIGNoZWNrIGZvciB0aGlzIG1ldGhvZAorKyAgLy8gdGhhdCBpcyBhdmFp bGFibGUgaW4gQVRLIDIuMzAgaW5zdGVhZCBvZiBsaW5raW5nIGRpcmVjdGx5LgorKyAgZ19zY3Jv bGxfc3Vic3RyaW5nX3RvX3BvaW50ID0gcmVpbnRlcnByZXRfY2FzdDxTY3JvbGxTdWJzdHJpbmdU b1BvaW50RnVuYz4oCisrICAgICAgZGxzeW0oUlRMRF9ERUZBVUxULCAiYXRrX3RleHRfc2Nyb2xs X3N1YnN0cmluZ190b19wb2ludCIpKTsKKysgIGlmICghZ19zY3JvbGxfc3Vic3RyaW5nX3RvX3Bv aW50KSB7CisrICAgIExPRyhXQVJOSU5HKQorKyAgICAgICAgPDwgIlNraXBwaW5nICIKKysgICAg ICAgICAgICJBY2Nlc3NpYmlsaXR5QXVyYUxpbnV4QnJvd3NlclRlc3Q6OlRlc3RTY3JvbGxTdWJz dHJpbmdUb1BvaW50IgorKyAgICAgICAgICAgIiBiZWNhdXNlIEFUSyB2ZXJzaW9uIDwgMi4zMCBk ZXRlY3RlZC4iOworKyAgICByZXR1cm47CisrICB9CisrCisgICBMb2FkU2FtcGxlUGFyYWdyYXBo SW5TY3JvbGxhYmxlRG9jdW1lbnQoKTsKKyAgIEF0a1RleHQqIGF0a190ZXh0ID0gR2V0U2FtcGxl UGFyYWdyYXBoKCk7CisgICBBU1NFUlRfVFJVRShBVEtfSVNfQ09NUE9ORU5UKGF0a190ZXh0KSk7 CitAQCAtMTE1NCw3ICsxMjQxLDcgQEAgSU5fUFJPQ19CUk9XU0VSX1RFU1RfRihBY2Nlc3NpYmls aXR5QXVyYQorICAgQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbldhaXRlciBsb2NhdGlvbl9jaGFu Z2VkX3dhaXRlcigKKyAgICAgICBzaGVsbCgpLT53ZWJfY29udGVudHMoKSwgdWk6OmtBWE1vZGVD b21wbGV0ZSwKKyAgICAgICBheDo6bW9qb206OkV2ZW50OjprTG9jYXRpb25DaGFuZ2VkKTsKKy0g IGF0a190ZXh0X3Njcm9sbF9zdWJzdHJpbmdfdG9fcG9pbnQoYXRrX3RleHQsIDEsIDIsIEFUS19Y WV9QQVJFTlQsIDAsIDApOworKyAgU2Nyb2xsU3Vic3RyaW5nVG9Qb2ludChhdGtfdGV4dCwgMSwg MiwgQVRLX1hZX1BBUkVOVCwgMCwgMCk7CisgICBBU1NFUlRfVFJVRShsb2NhdGlvbl9jaGFuZ2Vk X3dhaXRlci5XYWl0Rm9yTm90aWZpY2F0aW9uKCkpOworIAorICAgYXRrX3RleHRfZ2V0X2NoYXJh Y3Rlcl9leHRlbnRzKGF0a190ZXh0LCAxLCAmeCwgJnksIG51bGxwdHIsIG51bGxwdHIsCitAQCAt MTE2MywyMiArMTI1MCwyMCBAQCBJTl9QUk9DX0JST1dTRVJfVEVTVF9GKEFjY2Vzc2liaWxpdHlB dXJhCisgICBFWFBFQ1RfR1QocHJldl95LCB5KTsKKyAKKyAgIGNvbnN0ZXhwciBpbnQga1Njcm9s bFRvWSA9IDA7CistICBhdGtfdGV4dF9zY3JvbGxfc3Vic3RyaW5nX3RvX3BvaW50KGF0a190ZXh0 LCAxLCAyLCBBVEtfWFlfU0NSRUVOLCAwLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBrU2Nyb2xsVG9ZKTsKKysgIFNjcm9sbFN1YnN0cmluZ1RvUG9pbnQoYXRrX3RleHQs IDEsIDIsIEFUS19YWV9TQ1JFRU4sIDAsIGtTY3JvbGxUb1kpOworICAgQVNTRVJUX1RSVUUobG9j YXRpb25fY2hhbmdlZF93YWl0ZXIuV2FpdEZvck5vdGlmaWNhdGlvbigpKTsKKyAgIGF0a190ZXh0 X2dldF9jaGFyYWN0ZXJfZXh0ZW50cyhhdGtfdGV4dCwgMSwgJngsICZ5LCBudWxscHRyLCBudWxs cHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFUS19YWV9TQ1JFRU4pOwor ICAgRVhQRUNUX0VRKGtTY3JvbGxUb1ksIHkpOworIAorICAgY29uc3RleHByIGludCBrU2Nyb2xs VG9ZXzIgPSAyNDM7CistICBhdGtfdGV4dF9zY3JvbGxfc3Vic3RyaW5nX3RvX3BvaW50KGF0a190 ZXh0LCAxLCAyLCBBVEtfWFlfU0NSRUVOLCAwLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBrU2Nyb2xsVG9ZXzIpOworKyAgU2Nyb2xsU3Vic3RyaW5nVG9Qb2ludChhdGtf dGV4dCwgMSwgMiwgQVRLX1hZX1NDUkVFTiwgMCwga1Njcm9sbFRvWV8yKTsKKyAgIEFTU0VSVF9U UlVFKGxvY2F0aW9uX2NoYW5nZWRfd2FpdGVyLldhaXRGb3JOb3RpZmljYXRpb24oKSk7CisgICBh dGtfdGV4dF9nZXRfY2hhcmFjdGVyX2V4dGVudHMoYXRrX3RleHQsIDEsICZ4LCAmeSwgbnVsbHB0 ciwgbnVsbHB0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBVEtfWFlfU0NS RUVOKTsKKyAgIEVYUEVDVF9FUShrU2Nyb2xsVG9ZXzIsIHkpOworIAorLSAgYXRrX3RleHRfc2Ny b2xsX3N1YnN0cmluZ190b19wb2ludChhdGtfdGV4dCwgMSwgMiwgQVRLX1hZX1NDUkVFTiwgMCwg MTI5KTsKKysgIFNjcm9sbFN1YnN0cmluZ1RvUG9pbnQoYXRrX3RleHQsIDEsIDIsIEFUS19YWV9T Q1JFRU4sIDAsIDEyOSk7CisgICBBU1NFUlRfVFJVRShsb2NhdGlvbl9jaGFuZ2VkX3dhaXRlci5X YWl0Rm9yTm90aWZpY2F0aW9uKCkpOworICAgYXRrX3RleHRfZ2V0X2NoYXJhY3Rlcl9leHRlbnRz KGF0a190ZXh0LCAxLCAmeCwgJnksIG51bGxwdHIsIG51bGxwdHIsCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgQVRLX1hZX1NDUkVFTik7CitAQCAtMTE5NCw2ICsxMjc5LDcgQEAg SU5fUFJPQ19CUk9XU0VSX1RFU1RfRihBY2Nlc3NpYmlsaXR5QXVyYQorIAorICAgZ19vYmplY3Rf dW5yZWYoYXRrX3RleHQpOworIH0KKysjZW5kaWYgIC8vICBkZWZpbmVkKEFUS19DSEVDS19WRVJT SU9OKSAmJiBBVEtfQ0hFQ0tfVkVSU0lPTigyLCAzMiwgMCkKKyAKKyAjaWYgQlVJTERGTEFHKElT X0xJTlVYKSB8fCBCVUlMREZMQUcoSVNfQ0hST01FT1MpCisgLy8gRmxha3kgb24gY3JidWcuY29t LzEwMjYxNDkKK2RpZmYgLXVwIGNocm9taXVtLTEzNC4wLjY5OTguMTUvdWkvYWNjZXNzaWJpbGl0 eS9wbGF0Zm9ybS9heF9wbGF0Zm9ybV9ub2RlX2F1cmFsaW51eC5jYy50aGFuIGNocm9taXVtLTEz NC4wLjY5OTguMTUvdWkvYWNjZXNzaWJpbGl0eS9wbGF0Zm9ybS9heF9wbGF0Zm9ybV9ub2RlX2F1 cmFsaW51eC5jYworLS0tIGNocm9taXVtLTEzNC4wLjY5OTguMTUvdWkvYWNjZXNzaWJpbGl0eS9w bGF0Zm9ybS9heF9wbGF0Zm9ybV9ub2RlX2F1cmFsaW51eC5jYy50aGFuCTIwMjUtMDItMTIgMDI6 MzE6MDIuMDAwMDAwMDAwICswMTAwCisrKysgY2hyb21pdW0tMTM0LjAuNjk5OC4xNS91aS9hY2Nl c3NpYmlsaXR5L3BsYXRmb3JtL2F4X3BsYXRmb3JtX25vZGVfYXVyYWxpbnV4LmNjCTIwMjUtMDIt MTcgMTc6MTM6MzAuOTcyMzQzOTkwICswMTAwCitAQCAtNDgsMTQgKzQ4LDMzIEBACisgI2luY2x1 ZGUgInVpL2FjY2Vzc2liaWxpdHkvcGxhdGZvcm0vY2hpbGRfaXRlcmF0b3IuaCIKKyAjaW5jbHVk ZSAidWkvZ2Z4L2dlb21ldHJ5L3JlY3RfY29udmVyc2lvbnMuaCIKKyAKKy0vLyBGdW5jdGlvbiBh dmFpbGFiaWxpdHkgY2FuIGJlIHRlc3RlZCBieSBjaGVja2luZyB3aGV0aGVyIGl0cyBhZGRyZXNz IGlzIG5vdAorLS8vIG51bGxwdHIuCistI2RlZmluZSBXRUFLX0FUS19GTih4KSBleHRlcm4gIkMi IF9fYXR0cmlidXRlX18oKHdlYWspKSBkZWNsdHlwZSh4KSB4CistCistLy8gVE9ETyhodHRwczov L2NyYnVnLmNvbS80MDU0OTQyNCk6IFRoaXMgbWF5IGJlIHJlbW92ZWQgd2hlbiBzdXBwb3J0IGZv cgorLS8vIFVidW50dSAxOC4wNCBpcyBkcm9wcGVkLgorLVdFQUtfQVRLX0ZOKGF0a19jb21wb25l bnRfc2Nyb2xsX3RvX3BvaW50KTsKKy1XRUFLX0FUS19GTihhdGtfdGV4dF9zY3JvbGxfc3Vic3Ry aW5nX3RvX3BvaW50KTsKKysjaWYgZGVmaW5lZChBVEtfQ0hFQ0tfVkVSU0lPTikgJiYgQVRLX0NI RUNLX1ZFUlNJT04oMiwgMTAsIDApCisrI2RlZmluZSBBVEtfMjEwCisrI2VuZGlmCisrCisrI2lm IGRlZmluZWQoQVRLX0NIRUNLX1ZFUlNJT04pICYmIEFUS19DSEVDS19WRVJTSU9OKDIsIDEyLCAw KQorKyNkZWZpbmUgQVRLXzIxMgorKyNlbmRpZgorKworKyNpZiBkZWZpbmVkKEFUS19DSEVDS19W RVJTSU9OKSAmJiBBVEtfQ0hFQ0tfVkVSU0lPTigyLCAxNiwgMCkKKysjZGVmaW5lIEFUS18yMTYK KysjZW5kaWYKKysKKysjaWYgZGVmaW5lZChBVEtfQ0hFQ0tfVkVSU0lPTikgJiYgQVRLX0NIRUNL X1ZFUlNJT04oMiwgMjYsIDApCisrI2RlZmluZSBBVEtfMjI2CisrI2VuZGlmCisrCisrI2lmIGRl ZmluZWQoQVRLX0NIRUNLX1ZFUlNJT04pICYmIEFUS19DSEVDS19WRVJTSU9OKDIsIDMwLCAwKQor KyNkZWZpbmUgQVRLXzIzMAorKyNlbmRpZgorKworKyNpZiBkZWZpbmVkKEFUS19DSEVDS19WRVJT SU9OKSAmJiBBVEtfQ0hFQ0tfVkVSU0lPTigyLCAzMiwgMCkKKysjZGVmaW5lIEFUS18yMzIKKysj ZW5kaWYKKysKKysjaWYgZGVmaW5lZChBVEtfQ0hFQ0tfVkVSU0lPTikgJiYgQVRLX0NIRUNLX1ZF UlNJT04oMiwgMzQsIDApCisrI2RlZmluZSBBVEtfMjM0CisrI2VuZGlmCisgCisgbmFtZXNwYWNl IHVpIHsKKyAKK0BAIC0xNDcsMTEgKzE2NiwyOSBAQCBBdGtPYmplY3QqIGdfYWN0aXZlX3RvcF9s ZXZlbF9mcmFtZSA9IG51CisgCisgQXRrT2JqZWN0KiBnX2FjdGl2ZV92aWV3c19kaWFsb2cgPSBu dWxscHRyOworIAorKyNpZiBkZWZpbmVkKEFUS18yMTYpCisgY29uc3RleHByIEF0a1JvbGUga1N0 YXRpY1JvbGUgPSBBVEtfUk9MRV9TVEFUSUM7CisgY29uc3RleHByIEF0a1JvbGUga1N1YnNjcmlw dFJvbGUgPSBBVEtfUk9MRV9TVUJTQ1JJUFQ7CisgY29uc3RleHByIEF0a1JvbGUga1N1cGVyc2Ny aXB0Um9sZSA9IEFUS19ST0xFX1NVUEVSU0NSSVBUOworKyNlbHNlCisrY29uc3RleHByIEF0a1Jv bGUga1N0YXRpY1JvbGUgPSBBVEtfUk9MRV9URVhUOworK2NvbnN0ZXhwciBBdGtSb2xlIGtTdWJz Y3JpcHRSb2xlID0gQVRLX1JPTEVfVEVYVDsKKytjb25zdGV4cHIgQXRrUm9sZSBrU3VwZXJzY3Jp cHRSb2xlID0gQVRLX1JPTEVfVEVYVDsKKysjZW5kaWYKKyAKKysjaWYgZGVmaW5lZChBVEtfMjI2 KQorIGNvbnN0ZXhwciBBdGtSb2xlIGtBdGtGb290bm90ZVJvbGUgPSBBVEtfUk9MRV9GT09UTk9U RTsKKysjZWxzZQorK2NvbnN0ZXhwciBBdGtSb2xlIGtBdGtGb290bm90ZVJvbGUgPSBBVEtfUk9M RV9MSVNUX0lURU07CisrI2VuZGlmCisrCisrI2lmIGRlZmluZWQoQVRLXzIzNCkKKytjb25zdGV4 cHIgQXRrUm9sZSBrQXRrUm9sZUNvbnRlbnREZWxldGlvbiA9IEFUS19ST0xFX0NPTlRFTlRfREVM RVRJT047CisrY29uc3RleHByIEF0a1JvbGUga0F0a1JvbGVDb250ZW50SW5zZXJ0aW9uID0gQVRL X1JPTEVfQ09OVEVOVF9JTlNFUlRJT047CisrI2Vsc2UKKytjb25zdGV4cHIgQXRrUm9sZSBrQXRr Um9sZUNvbnRlbnREZWxldGlvbiA9IEFUS19ST0xFX1NFQ1RJT047CisrY29uc3RleHByIEF0a1Jv bGUga0F0a1JvbGVDb250ZW50SW5zZXJ0aW9uID0gQVRLX1JPTEVfU0VDVElPTjsKKysjZW5kaWYK KyAKKyB1c2luZyBHZXRUeXBlRnVuYyA9IEdUeXBlICgqKSgpOworIHVzaW5nIEdldENvbHVtbkhl YWRlckNlbGxzRnVuYyA9IEdQdHJBcnJheSogKCopKEF0a1RhYmxlQ2VsbCogY2VsbCk7CitAQCAt MTYyLDYgKzE5OSwxMSBAQCB1c2luZyBHZXRSb3dDb2x1bW5TcGFuRnVuYyA9IGJvb2wgKCopKEF0 CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnaW50KiByb3dfc3BhbiwK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdpbnQqIGNvbF9zcGFuKTsK KyAKKytzdGF0aWMgR2V0VHlwZUZ1bmMgZ19hdGtfdGFibGVfY2VsbF9nZXRfdHlwZTsKKytzdGF0 aWMgR2V0Q29sdW1uSGVhZGVyQ2VsbHNGdW5jIGdfYXRrX3RhYmxlX2NlbGxfZ2V0X2NvbHVtbl9o ZWFkZXJfY2VsbHM7Cisrc3RhdGljIEdldFJvd0hlYWRlckNlbGxzRnVuYyBnX2F0a190YWJsZV9j ZWxsX2dldF9yb3dfaGVhZGVyX2NlbGxzOworK3N0YXRpYyBHZXRSb3dDb2x1bW5TcGFuRnVuYyBn X2F0a190YWJsZV9jZWxsX2dldF9yb3dfY29sdW1uX3NwYW47CisrCisgLy8gVGhlIEFUSyBBUEkg b2Z0ZW4gcmVxdWlyZXMgcG9pbnRlcnMgdG8gYmUgdXNlZCBhcyBvdXQgYXJndW1lbnRzLCB3aGls ZQorIC8vIGFsbG93aW5nIGZvciB0aG9zZSBwb2ludGVycyB0byBiZSBudWxsIGlmIHRoZSBjYWxs ZXIgaXMgbm90IGludGVyZXN0ZWQgaW4KKyAvLyB0aGUgdmFsdWUuIFRoaXMgZnVuY3Rpb24gaXMg YSBzaW1wbGVyIGhlbHBlciB0byBhdm9pZCBjb250aW51YWxseSBjaGVja2luZworQEAgLTE3MSwz NSArMjEzLDE3IEBAIHZvaWQgU2V0SW50UG9pbnRlclZhbHVlSWZOb3ROdWxsKGludCogcG8KKyAg ICAgKnBvaW50ZXIgPSB2YWx1ZTsKKyB9CisgCistLy8gVE9ETyhodHRwczovL2NyYnVnLmNvbS80 MDU0OTQyNCk6IFRoaXMgbWF5IGJlIHJlbW92ZWQgd2hlbiBzdXBwb3J0IGZvcgorLS8vIFVidW50 dSAxOC4wNCBpcyBkcm9wcGVkLgorKyNpZiBkZWZpbmVkKEFUS18yMzApCisgYm9vbCBTdXBwb3J0 c0F0a0NvbXBvbmVudFNjcm9sbGluZ0ludGVyZmFjZSgpIHsKKy0gIHJldHVybiBhdGtfY29tcG9u ZW50X3Njcm9sbF90b19wb2ludDsKKysgIHJldHVybiBkbHN5bShSVExEX0RFRkFVTFQsICJhdGtf Y29tcG9uZW50X3Njcm9sbF90b19wb2ludCIpOworIH0KKysjZW5kaWYKKyAKKy0vLyBUT0RPKGh0 dHBzOi8vY3JidWcuY29tLzQwNTQ5NDI0KTogVGhpcyBtYXkgYmUgcmVtb3ZlZCB3aGVuIHN1cHBv cnQgZm9yCistLy8gVWJ1bnR1IDE4LjA0IGlzIGRyb3BwZWQuCisrI2lmIGRlZmluZWQoQVRLXzIz MikKKyBib29sIFN1cHBvcnRzQXRrVGV4dFNjcm9sbGluZ0ludGVyZmFjZSgpIHsKKy0gIHJldHVy biBhdGtfdGV4dF9zY3JvbGxfc3Vic3RyaW5nX3RvX3BvaW50OworLX0KKy0KKy0vLyBUT0RPKGh0 dHBzOi8vY3JidWcuY29tLzQwNTQ5NDI0KTogVGhpcyBtYXkgYmUgcmVtb3ZlZCB3aGVuIHN1cHBv cnQgZm9yCistLy8gVWJ1bnR1IDE4LjA0IGlzIGRyb3BwZWQuCistQXRrUm9sZSBHZXRBdGtSb2xl Q29udGVudERlbGV0aW9uKCkgeworLSAgYmFzZTo6VmVyc2lvbiBhdGtfdmVyc2lvbihhdGtfZ2V0 X3ZlcnNpb24oKSk7CistICByZXR1cm4gYXRrX3ZlcnNpb24uQ29tcGFyZVRvKGJhc2U6OlZlcnNp b24oIjIuMzQuMCIpKSA+PSAwCistICAgICAgICAgICAgID8gQVRLX1JPTEVfQ09OVEVOVF9ERUxF VElPTgorLSAgICAgICAgICAgICA6IEFUS19ST0xFX1NFQ1RJT047CistfQorLQorLS8vIFRPRE8o aHR0cHM6Ly9jcmJ1Zy5jb20vNDA1NDk0MjQpOiBUaGlzIG1heSBiZSByZW1vdmVkIHdoZW4gc3Vw cG9ydCBmb3IKKy0vLyBVYnVudHUgMTguMDQgaXMgZHJvcHBlZC4KKy1BdGtSb2xlIEdldEF0a1Jv bGVDb250ZW50SW5zZXJ0aW9uKCkgeworLSAgYmFzZTo6VmVyc2lvbiBhdGtfdmVyc2lvbihhdGtf Z2V0X3ZlcnNpb24oKSk7CistICByZXR1cm4gYXRrX3ZlcnNpb24uQ29tcGFyZVRvKGJhc2U6OlZl cnNpb24oIjIuMzQuMCIpKSA+PSAwCistICAgICAgICAgICAgID8gQVRLX1JPTEVfQ09OVEVOVF9J TlNFUlRJT04KKy0gICAgICAgICAgICAgOiBBVEtfUk9MRV9TRUNUSU9OOworKyAgcmV0dXJuIGRs c3ltKFJUTERfREVGQVVMVCwgImF0a190ZXh0X3Njcm9sbF9zdWJzdHJpbmdfdG9fcG9pbnQiKTsK KyB9CisrI2VuZGlmCisgCisgQXRrT2JqZWN0KiBGaW5kQXRrT2JqZWN0UGFyZW50RnJhbWUoQXRr T2JqZWN0KiBhdGtfb2JqZWN0KSB7CisgICBBWFBsYXRmb3JtTm9kZUF1cmFMaW51eCogbm9kZSA9 CitAQCAtMjk4LDEwICszMjIsMTIgQEAgQVhDb29yZGluYXRlU3lzdGVtIEF0a0Nvb3JkVHlwZVRv QVhDb29yZAorICAgICAgIHJldHVybiBBWENvb3JkaW5hdGVTeXN0ZW06OmtTY3JlZW5ESVBzOwor ICAgICBjYXNlIEFUS19YWV9XSU5ET1c6CisgICAgICAgcmV0dXJuIEFYQ29vcmRpbmF0ZVN5c3Rl bTo6a1Jvb3RGcmFtZTsKKysjaWYgZGVmaW5lZChBVEtfMjMwKQorICAgICBjYXNlIEFUS19YWV9Q QVJFTlQ6CisgICAgICAgLy8gQVhDb29yZGluYXRlU3lzdGVtIGRvZXMgbm90IHN1cHBvcnQgcGFy ZW50IGNvb3JkaW5hdGVzLgorICAgICAgIE5PVElNUExFTUVOVEVEKCk7CisgICAgICAgcmV0dXJu IEFYQ29vcmRpbmF0ZVN5c3RlbTo6a0ZyYW1lOworKyNlbmRpZgorICAgICBkZWZhdWx0OgorICAg ICAgIHJldHVybiBBWENvb3JkaW5hdGVTeXN0ZW06OmtTY3JlZW5ESVBzOworICAgfQorQEAgLTUx NCw2ICs1NDAsNyBAQCBnYm9vbGVhbiBHcmFiRm9jdXMoQXRrQ29tcG9uZW50KiBhdGtfY29tCisg ICByZXR1cm4gb2JqLT5HcmFiRm9jdXMoKTsKKyB9CisgCisrI2lmIGRlZmluZWQoQVRLXzIzMCkK KyBnYm9vbGVhbiBTY3JvbGxUbyhBdGtDb21wb25lbnQqIGF0a19jb21wb25lbnQsIEF0a1Njcm9s bFR5cGUgc2Nyb2xsX3R5cGUpIHsKKyAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKEFUS19JU19DT01Q T05FTlQoYXRrX2NvbXBvbmVudCksIEZBTFNFKTsKKyAKK0BAIC01NDAsNiArNTY3LDcgQEAgZ2Jv b2xlYW4gU2Nyb2xsVG9Qb2ludChBdGtDb21wb25lbnQqIGF0aworICAgb2JqLT5TY3JvbGxUb1Bv aW50KGF0a19jb29yZF90eXBlLCB4LCB5KTsKKyAgIHJldHVybiBUUlVFOworIH0KKysjZW5kaWYK KyAKKyB2b2lkIEluaXQoQXRrQ29tcG9uZW50SWZhY2UqIGlmYWNlKSB7CisgICBpZmFjZS0+Z2V0 X2V4dGVudHMgPSBHZXRFeHRlbnRzOworQEAgLTU0NywxMCArNTc1LDEyIEBAIHZvaWQgSW5pdChB dGtDb21wb25lbnRJZmFjZSogaWZhY2UpIHsKKyAgIGlmYWNlLT5nZXRfc2l6ZSA9IEdldFNpemU7 CisgICBpZmFjZS0+cmVmX2FjY2Vzc2libGVfYXRfcG9pbnQgPSBSZWZBY2Nlc2libGVBdFBvaW50 OworICAgaWZhY2UtPmdyYWJfZm9jdXMgPSBHcmFiRm9jdXM7CisrI2lmIGRlZmluZWQoQVRLXzIz MCkKKyAgIGlmIChTdXBwb3J0c0F0a0NvbXBvbmVudFNjcm9sbGluZ0ludGVyZmFjZSgpKSB7Cisg ICAgIGlmYWNlLT5zY3JvbGxfdG8gPSBTY3JvbGxUbzsKKyAgICAgaWZhY2UtPnNjcm9sbF90b19w b2ludCA9IFNjcm9sbFRvUG9pbnQ7CisgICB9CisrI2VuZGlmCisgfQorIAorIGNvbnN0IEdJbnRl cmZhY2VJbmZvIEluZm8gPSB7cmVpbnRlcnByZXRfY2FzdDxHSW50ZXJmYWNlSW5pdEZ1bmM+KElu aXQpLAorQEAgLTEzMTEsNiArMTM0MSw3IEBAIGdib29sZWFuIEFkZFNlbGVjdGlvbihBdGtUZXh0 KiBhdGtfdGV4dCwKKyAgIHJldHVybiBTZXRTZWxlY3Rpb24oYXRrX3RleHQsIDAsIHN0YXJ0X29m ZnNldCwgZW5kX29mZnNldCk7CisgfQorIAorKyNpZiBkZWZpbmVkKEFUS18yMTApCisgY2hhciog R2V0U3RyaW5nQXRPZmZzZXQoQXRrVGV4dCogYXRrX3RleHQsCisgICAgICAgICAgICAgICAgICAg ICAgICAgaW50IG9mZnNldCwKKyAgICAgICAgICAgICAgICAgICAgICAgICBBdGtUZXh0R3JhbnVs YXJpdHkgYXRrX2dyYW51bGFyaXR5LAorQEAgLTEzMjUsNyArMTM1Niw5IEBAIGNoYXIqIEdldFN0 cmluZ0F0T2Zmc2V0KEF0a1RleHQqIGF0a190ZXgKKyAgIHJldHVybiBHZXRUZXh0V2l0aEJvdW5k YXJ5VHlwZShhdGtfdGV4dCwgb2Zmc2V0LCBib3VuZGFyeSwgc3RhcnRfb2Zmc2V0LAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuZF9vZmZzZXQpOworIH0KKysjZW5kaWYKKyAK KysjaWYgZGVmaW5lZChBVEtfMjMwKQorIGdmeDo6UmVjdCBHZXRVbmNsaXBwZWRQYXJlbnRIeXBl cnRleHRSYW5nZUJvdW5kc1JlY3QoCisgICAgIEFYUGxhdGZvcm1Ob2RlRGVsZWdhdGUqIGF4X3Bs YXRmb3JtX25vZGVfZGVsZWdhdGUsCisgICAgIGNvbnN0IGludCBzdGFydF9vZmZzZXQsCitAQCAt MTM0OSw2ICsxMzgyLDcgQEAgZ2Z4OjpSZWN0IEdldFVuY2xpcHBlZFBhcmVudEh5cGVydGV4dFJh bgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVhDbGlwcGluZ0JlaGF2aW9yOjprQ2xp cHBlZCkKKyAgICAgICAgICAgICAgLk9mZnNldEZyb21PcmlnaW4oKTsKKyB9CisrI2VuZGlmCisg Cisgdm9pZCBHZXRDaGFyYWN0ZXJFeHRlbnRzKEF0a1RleHQqIGF0a190ZXh0LAorICAgICAgICAg ICAgICAgICAgICAgICAgICBpbnQgb2Zmc2V0LAorQEAgLTEzNjQsMTAgKzEzOTgsMTIgQEAgdm9p ZCBHZXRDaGFyYWN0ZXJFeHRlbnRzKEF0a1RleHQqIGF0a190ZQorICAgICAgIEFYUGxhdGZvcm1O b2RlQXVyYUxpbnV4OjpGcm9tQXRrT2JqZWN0KEFUS19PQkpFQ1QoYXRrX3RleHQpKTsKKyAgIGlm IChvYmopIHsKKyAgICAgc3dpdGNoIChjb29yZGluYXRlX3R5cGUpIHsKKysjaWYgZGVmaW5lZChB VEtfMjMwKQorICAgICAgIGNhc2UgQVRLX1hZX1BBUkVOVDoKKyAgICAgICAgIHJlY3QgPSBHZXRV bmNsaXBwZWRQYXJlbnRIeXBlcnRleHRSYW5nZUJvdW5kc1JlY3Qob2JqLT5HZXREZWxlZ2F0ZSgp LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBvZmZzZXQsIG9mZnNldCArIDEpOworICAgICAgICAgYnJlYWs7CisrI2VuZGlmCisgICAg ICAgZGVmYXVsdDoKKyAgICAgICAgIHJlY3QgPSBvYmotPkdldERlbGVnYXRlKCktPkdldEh5cGVy dGV4dFJhbmdlQm91bmRzUmVjdCgKKyAgICAgICAgICAgICBvYmotPlVuaWNvZGVUb1VURjE2T2Zm c2V0SW5UZXh0KG9mZnNldCksCitAQCAtMTQwMywxMCArMTQzOSwxMiBAQCB2b2lkIEdldFJhbmdl RXh0ZW50cyhBdGtUZXh0KiBhdGtfdGV4dCwKKyAgICAgICBBWFBsYXRmb3JtTm9kZUF1cmFMaW51 eDo6RnJvbUF0a09iamVjdChBVEtfT0JKRUNUKGF0a190ZXh0KSk7CisgICBpZiAob2JqKSB7Cisg ICAgIHN3aXRjaCAoY29vcmRpbmF0ZV90eXBlKSB7CisrI2lmIGRlZmluZWQoQVRLXzIzMCkKKyAg ICAgICBjYXNlIEFUS19YWV9QQVJFTlQ6CisgICAgICAgICByZWN0ID0gR2V0VW5jbGlwcGVkUGFy ZW50SHlwZXJ0ZXh0UmFuZ2VCb3VuZHNSZWN0KAorICAgICAgICAgICAgIG9iai0+R2V0RGVsZWdh dGUoKSwgc3RhcnRfb2Zmc2V0LCBlbmRfb2Zmc2V0KTsKKyAgICAgICAgIGJyZWFrOworKyNlbmRp ZgorICAgICAgIGRlZmF1bHQ6CisgICAgICAgICByZWN0ID0gb2JqLT5HZXREZWxlZ2F0ZSgpLT5H ZXRIeXBlcnRleHRSYW5nZUJvdW5kc1JlY3QoCisgICAgICAgICAgICAgb2JqLT5Vbmljb2RlVG9V VEYxNk9mZnNldEluVGV4dChzdGFydF9vZmZzZXQpLAorQEAgLTE0NTYsNiArMTQ5NCw3IEBAIEF0 a0F0dHJpYnV0ZVNldCogR2V0RGVmYXVsdEF0dHJpYnV0ZXMoQXQKKyAgIHJldHVybiBUb0F0a0F0 dHJpYnV0ZVNldChvYmotPkdldERlZmF1bHRUZXh0QXR0cmlidXRlcygpKTsKKyB9CisgCisrI2lm IGRlZmluZWQoQVRLXzIzMikKKyBnYm9vbGVhbiBTY3JvbGxTdWJzdHJpbmdUbyhBdGtUZXh0KiBh dGtfdGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBnaW50IHN0YXJ0X29mZnNldCwK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICBnaW50IGVuZF9vZmZzZXQsCitAQCAtMTQ4Niw2 ICsxNTI1LDcgQEAgZ2Jvb2xlYW4gU2Nyb2xsU3Vic3RyaW5nVG9Qb2ludChBdGtUZXh0KgorICAg cmV0dXJuIG9iai0+U2Nyb2xsU3Vic3RyaW5nVG9Qb2ludChzdGFydF9vZmZzZXQsIGVuZF9vZmZz ZXQsIGF0a19jb29yZF90eXBlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB4LCB5KTsKKyB9CisrI2VuZGlmICAvLyBBVEtfMjMyCisgCisgdm9pZCBJbml0KEF0a1RleHRJ ZmFjZSogaWZhY2UpIHsKKyAgIGlmYWNlLT5nZXRfdGV4dCA9IEdldFRleHQ7CitAQCAtMTUwOCwx MiArMTU0OCwxNiBAQCB2b2lkIEluaXQoQXRrVGV4dElmYWNlKiBpZmFjZSkgeworICAgaWZhY2Ut PmdldF9ydW5fYXR0cmlidXRlcyA9IEdldFJ1bkF0dHJpYnV0ZXM7CisgICBpZmFjZS0+Z2V0X2Rl ZmF1bHRfYXR0cmlidXRlcyA9IEdldERlZmF1bHRBdHRyaWJ1dGVzOworIAorKyNpZiBkZWZpbmVk KEFUS18yMTApCisgICBpZmFjZS0+Z2V0X3N0cmluZ19hdF9vZmZzZXQgPSBHZXRTdHJpbmdBdE9m ZnNldDsKKysjZW5kaWYKKyAKKysjaWYgZGVmaW5lZChBVEtfMjMyKQorICAgaWYgKFN1cHBvcnRz QXRrVGV4dFNjcm9sbGluZ0ludGVyZmFjZSgpKSB7CisgICAgIGlmYWNlLT5zY3JvbGxfc3Vic3Ry aW5nX3RvID0gU2Nyb2xsU3Vic3RyaW5nVG87CisgICAgIGlmYWNlLT5zY3JvbGxfc3Vic3RyaW5n X3RvX3BvaW50ID0gU2Nyb2xsU3Vic3RyaW5nVG9Qb2ludDsKKyAgIH0KKysjZW5kaWYKKyB9Cisg CisgY29uc3QgR0ludGVyZmFjZUluZm8gSW5mbyA9IHtyZWludGVycHJldF9jYXN0PEdJbnRlcmZh Y2VJbml0RnVuYz4oSW5pdCksCitAQCAtMTkxNiwxMSArMTk2MCwxNSBAQCBjb25zdCBHSW50ZXJm YWNlSW5mbyBJbmZvID0ge3JlaW50ZXJwcmV0CisgCisgfSAgLy8gbmFtZXNwYWNlIGF0a190YWJs ZQorIAorKy8vIFRoZSBBVEsgdGFibGUgY2VsbCBpbnRlcmZhY2Ugd2FzIGFkZGVkIGluIEFUSyAy LjEyLgorKyNpZiBkZWZpbmVkKEFUS18yMTIpCisrCisgbmFtZXNwYWNlIGF0a190YWJsZV9jZWxs IHsKKyAKKyBnaW50IEdldENvbHVtblNwYW4oQXRrVGFibGVDZWxsKiBjZWxsKSB7CisrICBEQ0hF Q0soZ19hdGtfdGFibGVfY2VsbF9nZXRfdHlwZSk7CisgICBnX3JldHVybl92YWxfaWZfZmFpbCgK Ky0gICAgICBHX1RZUEVfQ0hFQ0tfSU5TVEFOQ0VfVFlQRSgoY2VsbCksIGF0a190YWJsZV9jZWxs X2dldF90eXBlKCkpLCAwKTsKKysgICAgICBHX1RZUEVfQ0hFQ0tfSU5TVEFOQ0VfVFlQRSgoY2Vs bCksIEF0a1RhYmxlQ2VsbEludGVyZmFjZTo6R2V0VHlwZSgpKSwgMCk7CisgCisgICBpZiAoY29u c3QgQVhQbGF0Zm9ybU5vZGVCYXNlKiBvYmogPQorICAgICAgICAgICBBWFBsYXRmb3JtTm9kZUF1 cmFMaW51eDo6RnJvbUF0a09iamVjdChBVEtfT0JKRUNUKGNlbGwpKSkgeworQEAgLTE5MzIsOCAr MTk4MCwxMCBAQCBnaW50IEdldENvbHVtblNwYW4oQXRrVGFibGVDZWxsKiBjZWxsKSB7CisgfQor IAorIEdQdHJBcnJheSogR2V0Q29sdW1uSGVhZGVyQ2VsbHMoQXRrVGFibGVDZWxsKiBjZWxsKSB7 CisrICBEQ0hFQ0soZ19hdGtfdGFibGVfY2VsbF9nZXRfdHlwZSk7CisgICBnX3JldHVybl92YWxf aWZfZmFpbCgKKy0gICAgICBHX1RZUEVfQ0hFQ0tfSU5TVEFOQ0VfVFlQRSgoY2VsbCksIGF0a190 YWJsZV9jZWxsX2dldF90eXBlKCkpLCBudWxscHRyKTsKKysgICAgICBHX1RZUEVfQ0hFQ0tfSU5T VEFOQ0VfVFlQRSgoY2VsbCksIEF0a1RhYmxlQ2VsbEludGVyZmFjZTo6R2V0VHlwZSgpKSwKKysg ICAgICBudWxscHRyKTsKKyAKKyAgIEdQdHJBcnJheSogYXJyYXkgPSBnX3B0cl9hcnJheV9uZXdf d2l0aF9mcmVlX2Z1bmMoZ19vYmplY3RfdW5yZWYpOworIAorQEAgLTE5NjcsOCArMjAxNywxMCBA QCBHUHRyQXJyYXkqIEdldENvbHVtbkhlYWRlckNlbGxzKEF0a1RhYmxlCisgfQorIAorIGdib29s ZWFuIEdldENlbGxQb3NpdGlvbihBdGtUYWJsZUNlbGwqIGNlbGwsIGdpbnQqIHJvdywgZ2ludCog Y29sdW1uKSB7CisrICBEQ0hFQ0soZ19hdGtfdGFibGVfY2VsbF9nZXRfdHlwZSk7CisgICBnX3Jl dHVybl92YWxfaWZfZmFpbCgKKy0gICAgICBHX1RZUEVfQ0hFQ0tfSU5TVEFOQ0VfVFlQRSgoY2Vs bCksIGF0a190YWJsZV9jZWxsX2dldF90eXBlKCkpLCBGQUxTRSk7CisrICAgICAgR19UWVBFX0NI RUNLX0lOU1RBTkNFX1RZUEUoKGNlbGwpLCBBdGtUYWJsZUNlbGxJbnRlcmZhY2U6OkdldFR5cGUo KSksCisrICAgICAgRkFMU0UpOworIAorICAgaWYgKGF1dG8qIG9iaiA9IEFYUGxhdGZvcm1Ob2Rl QXVyYUxpbnV4OjpGcm9tQXRrT2JqZWN0KEFUS19PQkpFQ1QoY2VsbCkpKSB7CisgICAgIHN0ZDo6 b3B0aW9uYWw8aW50PiByb3dfaW5kZXggPSBvYmotPkdldFRhYmxlUm93KCk7CitAQCAtMTk4NSw4 ICsyMDM3LDkgQEAgZ2Jvb2xlYW4gR2V0Q2VsbFBvc2l0aW9uKEF0a1RhYmxlQ2VsbCogYworIH0K KyAKKyBnaW50IEdldFJvd1NwYW4oQXRrVGFibGVDZWxsKiBjZWxsKSB7CisrICBEQ0hFQ0soZ19h dGtfdGFibGVfY2VsbF9nZXRfdHlwZSk7CisgICBnX3JldHVybl92YWxfaWZfZmFpbCgKKy0gICAg ICBHX1RZUEVfQ0hFQ0tfSU5TVEFOQ0VfVFlQRSgoY2VsbCksIGF0a190YWJsZV9jZWxsX2dldF90 eXBlKCkpLCAwKTsKKysgICAgICBHX1RZUEVfQ0hFQ0tfSU5TVEFOQ0VfVFlQRSgoY2VsbCksIEF0 a1RhYmxlQ2VsbEludGVyZmFjZTo6R2V0VHlwZSgpKSwgMCk7CisgCisgICBpZiAoYXV0byogb2Jq ID0gQVhQbGF0Zm9ybU5vZGVBdXJhTGludXg6OkZyb21BdGtPYmplY3QoQVRLX09CSkVDVChjZWxs KSkpIHsKKyAgICAgLy8gSWYgdGhlIG9iamVjdCBpcyBub3QgYSBjZWxsLCB3ZSByZXR1cm4gMC4K K0BAIC0xOTk3LDggKzIwNTAsMTAgQEAgZ2ludCBHZXRSb3dTcGFuKEF0a1RhYmxlQ2VsbCogY2Vs bCkgeworIH0KKyAKKyBHUHRyQXJyYXkqIEdldFJvd0hlYWRlckNlbGxzKEF0a1RhYmxlQ2VsbCog Y2VsbCkgeworKyAgRENIRUNLKGdfYXRrX3RhYmxlX2NlbGxfZ2V0X3R5cGUpOworICAgZ19yZXR1 cm5fdmFsX2lmX2ZhaWwoCistICAgICAgR19UWVBFX0NIRUNLX0lOU1RBTkNFX1RZUEUoKGNlbGwp LCBhdGtfdGFibGVfY2VsbF9nZXRfdHlwZSgpKSwgbnVsbHB0cik7CisrICAgICAgR19UWVBFX0NI RUNLX0lOU1RBTkNFX1RZUEUoKGNlbGwpLCBBdGtUYWJsZUNlbGxJbnRlcmZhY2U6OkdldFR5cGUo KSksCisrICAgICAgbnVsbHB0cik7CisgCisgICBHUHRyQXJyYXkqIGFycmF5ID0gZ19wdHJfYXJy YXlfbmV3X3dpdGhfZnJlZV9mdW5jKGdfb2JqZWN0X3VucmVmKTsKKyAKK0BAIC0yMDMyLDggKzIw ODcsMTAgQEAgR1B0ckFycmF5KiBHZXRSb3dIZWFkZXJDZWxscyhBdGtUYWJsZUNlbAorIH0KKyAK KyBBdGtPYmplY3QqIEdldFRhYmxlKEF0a1RhYmxlQ2VsbCogY2VsbCkgeworKyAgRENIRUNLKGdf YXRrX3RhYmxlX2NlbGxfZ2V0X3R5cGUpOworICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwoCistICAg ICAgR19UWVBFX0NIRUNLX0lOU1RBTkNFX1RZUEUoKGNlbGwpLCBhdGtfdGFibGVfY2VsbF9nZXRf dHlwZSgpKSwgbnVsbHB0cik7CisrICAgICAgR19UWVBFX0NIRUNLX0lOU1RBTkNFX1RZUEUoKGNl bGwpLCBBdGtUYWJsZUNlbGxJbnRlcmZhY2U6OkdldFR5cGUoKSksCisrICAgICAgbnVsbHB0cik7 CisgCisgICBpZiAoYXV0byogb2JqID0gQVhQbGF0Zm9ybU5vZGVBdXJhTGludXg6OkZyb21BdGtP YmplY3QoQVRLX09CSkVDVChjZWxsKSkpIHsKKyAgICAgaWYgKGF1dG8qIHRhYmxlID0gb2JqLT5H ZXRUYWJsZSgpKQorQEAgLTIwNTksNiArMjExNiw4IEBAIGNvbnN0IEdJbnRlcmZhY2VJbmZvIElu Zm8gPSB7cmVpbnRlcnByZXQKKyAKKyB9ICAvLyBuYW1lc3BhY2UgYXRrX3RhYmxlX2NlbGwKKyAK KysjZW5kaWYgIC8vIEFUS18yMTIKKysKKyBuYW1lc3BhY2UgYXRrX29iamVjdCB7CisgCisgZ3Bv aW50ZXIga0FYUGxhdGZvcm1Ob2RlQXVyYUxpbnV4UGFyZW50Q2xhc3MgPSBudWxscHRyOworQEAg LTIzMjUsNiArMjM4NCw1MCBAQCB2b2lkIERldGFjaChBWFBsYXRmb3JtTm9kZUF1cmFMaW51eE9i amVjCisgCisgfSAgLy8gbmFtZXNwYWNlCisgCisrLy8gc3RhdGljCisrTk9fU0FOSVRJWkUoImNm aS1pY2FsbCIpCisrR1R5cGUgQXRrVGFibGVDZWxsSW50ZXJmYWNlOjpHZXRUeXBlKCkgeworKyAg cmV0dXJuIGdfYXRrX3RhYmxlX2NlbGxfZ2V0X3R5cGUoKTsKKyt9CisrCisrLy8gc3RhdGljCisr Tk9fU0FOSVRJWkUoImNmaS1pY2FsbCIpCisrR1B0ckFycmF5KiBBdGtUYWJsZUNlbGxJbnRlcmZh Y2U6OkdldENvbHVtbkhlYWRlckNlbGxzKEF0a1RhYmxlQ2VsbCogY2VsbCkgeworKyAgcmV0dXJu IGdfYXRrX3RhYmxlX2NlbGxfZ2V0X2NvbHVtbl9oZWFkZXJfY2VsbHMoY2VsbCk7CisrfQorKwor Ky8vIHN0YXRpYworK05PX1NBTklUSVpFKCJjZmktaWNhbGwiKQorK0dQdHJBcnJheSogQXRrVGFi bGVDZWxsSW50ZXJmYWNlOjpHZXRSb3dIZWFkZXJDZWxscyhBdGtUYWJsZUNlbGwqIGNlbGwpIHsK KysgIHJldHVybiBnX2F0a190YWJsZV9jZWxsX2dldF9yb3dfaGVhZGVyX2NlbGxzKGNlbGwpOwor K30KKysKKysvLyBzdGF0aWMKKytOT19TQU5JVElaRSgiY2ZpLWljYWxsIikKKytib29sIEF0a1Rh YmxlQ2VsbEludGVyZmFjZTo6R2V0Um93Q29sdW1uU3BhbihBdGtUYWJsZUNlbGwqIGNlbGwsCisr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2ludCogcm93LAor KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdpbnQqIGNvbHVt biwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnaW50KiBy b3dfc3BhbiwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBn aW50KiBjb2xfc3BhbikgeworKyAgcmV0dXJuIGdfYXRrX3RhYmxlX2NlbGxfZ2V0X3Jvd19jb2x1 bW5fc3BhbihjZWxsLCByb3csIGNvbHVtbiwgcm93X3NwYW4sCisrICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbF9zcGFuKTsKKyt9CisrCisrLy8gc3RhdGlj CisrYm9vbCBBdGtUYWJsZUNlbGxJbnRlcmZhY2U6OkV4aXN0cygpIHsKKysgIGdfYXRrX3RhYmxl X2NlbGxfZ2V0X3R5cGUgPSByZWludGVycHJldF9jYXN0PEdldFR5cGVGdW5jPigKKysgICAgICBk bHN5bShSVExEX0RFRkFVTFQsICJhdGtfdGFibGVfY2VsbF9nZXRfdHlwZSIpKTsKKysgIGdfYXRr X3RhYmxlX2NlbGxfZ2V0X2NvbHVtbl9oZWFkZXJfY2VsbHMgPQorKyAgICAgIHJlaW50ZXJwcmV0 X2Nhc3Q8R2V0Q29sdW1uSGVhZGVyQ2VsbHNGdW5jPigKKysgICAgICAgICAgZGxzeW0oUlRMRF9E RUZBVUxULCAiYXRrX3RhYmxlX2NlbGxfZ2V0X2NvbHVtbl9oZWFkZXJfY2VsbHMiKSk7CisrICBn X2F0a190YWJsZV9jZWxsX2dldF9yb3dfaGVhZGVyX2NlbGxzID0KKysgICAgICByZWludGVycHJl dF9jYXN0PEdldFJvd0hlYWRlckNlbGxzRnVuYz4oCisrICAgICAgICAgIGRsc3ltKFJUTERfREVG QVVMVCwgImF0a190YWJsZV9jZWxsX2dldF9yb3dfaGVhZGVyX2NlbGxzIikpOworKyAgZ19hdGtf dGFibGVfY2VsbF9nZXRfcm93X2NvbHVtbl9zcGFuID0gcmVpbnRlcnByZXRfY2FzdDxHZXRSb3dD b2x1bW5TcGFuRnVuYz4oCisrICAgICAgZGxzeW0oUlRMRF9ERUZBVUxULCAiYXRrX3RhYmxlX2Nl bGxfZ2V0X3Jvd19jb2x1bW5fc3BhbiIpKTsKKysgIHJldHVybiAqZ19hdGtfdGFibGVfY2VsbF9n ZXRfdHlwZTsKKyt9CisrCisgdm9pZCBBWFBsYXRmb3JtTm9kZUF1cmFMaW51eDo6RW5zdXJlR1R5 cGVJbml0KCkgeworICNpZiAhR0xJQl9DSEVDS19WRVJTSU9OKDIsIDM2LCAwKQorICAgc3RhdGlj IGJvb2wgZmlyc3RfdGltZSA9IHRydWU7CitAQCAtMjQzMiw4ICsyNTM1LDExIEBAIEdUeXBlIEFY UGxhdGZvcm1Ob2RlQXVyYUxpbnV4OjpHZXRBY2Nlc3MKKyAgICAgZ190eXBlX2FkZF9pbnRlcmZh Y2Vfc3RhdGljKHR5cGUsIEFUS19UWVBFX1RBQkxFLCAmYXRrX3RhYmxlOjpJbmZvKTsKKyAKKyAg IGlmIChpbnRlcmZhY2VfbWFza18uSW1wbGVtZW50cyhJbXBsZW1lbnRlZEF0a0ludGVyZmFjZXM6 OlZhbHVlOjprVGFibGVDZWxsKSkgeworLSAgICBnX3R5cGVfYWRkX2ludGVyZmFjZV9zdGF0aWMo dHlwZSwgYXRrX3RhYmxlX2NlbGxfZ2V0X3R5cGUoKSwKKy0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICZhdGtfdGFibGVfY2VsbDo6SW5mbyk7CisrICAgIC8vIFJ1bi10aW1lIGNoZWNr IHRvIGVuc3VyZSBBdGtUYWJsZUNlbGwgaXMgc3VwcG9ydGVkIChyZXF1aXJlcyBBVEsgMi4xMiku CisrICAgIGlmIChBdGtUYWJsZUNlbGxJbnRlcmZhY2U6OkV4aXN0cygpKSB7CisrICAgICAgZ190 eXBlX2FkZF9pbnRlcmZhY2Vfc3RhdGljKHR5cGUsIEF0a1RhYmxlQ2VsbEludGVyZmFjZTo6R2V0 VHlwZSgpLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmYXRrX3RhYmxlX2Nl bGw6OkluZm8pOworKyAgICB9CisgICB9CisgCisgICByZXR1cm4gdHlwZTsKK0BAIC0yNjY4LDkg KzI3NzQsOSBAQCBBdGtSb2xlIEFYUGxhdGZvcm1Ob2RlQXVyYUxpbnV4OjpHZXRBdGtSCisgICAg IGNhc2UgYXg6Om1vam9tOjpSb2xlOjprQ29tcGxlbWVudGFyeToKKyAgICAgICByZXR1cm4gQVRL X1JPTEVfTEFORE1BUks7CisgICAgIGNhc2UgYXg6Om1vam9tOjpSb2xlOjprQ29udGVudERlbGV0 aW9uOgorLSAgICAgIHJldHVybiBHZXRBdGtSb2xlQ29udGVudERlbGV0aW9uKCk7CisrICAgICAg cmV0dXJuIGtBdGtSb2xlQ29udGVudERlbGV0aW9uOworICAgICBjYXNlIGF4Ojptb2pvbTo6Um9s ZTo6a0NvbnRlbnRJbnNlcnRpb246CistICAgICAgcmV0dXJuIEdldEF0a1JvbGVDb250ZW50SW5z ZXJ0aW9uKCk7CisrICAgICAgcmV0dXJuIGtBdGtSb2xlQ29udGVudEluc2VydGlvbjsKKyAgICAg Y2FzZSBheDo6bW9qb206OlJvbGU6OmtDb250ZW50SW5mbzoKKyAgICAgY2FzZSBheDo6bW9qb206 OlJvbGU6OmtGb290ZXI6CisgICAgICAgcmV0dXJuIEFUS19ST0xFX0xBTkRNQVJLOworQEAgLTMx MDYsMTIgKzMyMTIsMTQgQEAgdm9pZCBBWFBsYXRmb3JtTm9kZUF1cmFMaW51eDo6R2V0QXRrU3Rh dAorICAgICAgICAgICBzdGF0aWNfY2FzdDxpbnQzMl90PihheDo6bW9qb206OkFyaWFDdXJyZW50 U3RhdGU6OmtGYWxzZSkpIHsKKyAgICAgYXRrX3N0YXRlX3NldF9hZGRfc3RhdGUoYXRrX3N0YXRl X3NldCwgQVRLX1NUQVRFX0FDVElWRSk7CisgICB9CisrI2lmIGRlZmluZWQoQVRLXzIxNikKKyAg IC8vIFJ1bnRpbWUgY2hlY2tzIGluIGNhc2Ugd2Ugd2VyZSBjb21waWxlZCB3aXRoIGEgbmV3ZXIg dmVyc2lvbiBvZiBBVEsuCisgICBpZiAoSXNQbGF0Zm9ybUNoZWNrYWJsZSgpICYmIFBsYXRmb3Jt U3VwcG9ydHNTdGF0ZShBVEtfU1RBVEVfQ0hFQ0tBQkxFKSkKKyAgICAgYXRrX3N0YXRlX3NldF9h ZGRfc3RhdGUoYXRrX3N0YXRlX3NldCwgQVRLX1NUQVRFX0NIRUNLQUJMRSk7CisgICBpZiAoSGFz SW50QXR0cmlidXRlKGF4Ojptb2pvbTo6SW50QXR0cmlidXRlOjprSGFzUG9wdXApICYmCisgICAg ICAgUGxhdGZvcm1TdXBwb3J0c1N0YXRlKEFUS19TVEFURV9IQVNfUE9QVVApKQorICAgICBhdGtf c3RhdGVfc2V0X2FkZF9zdGF0ZShhdGtfc3RhdGVfc2V0LCBBVEtfU1RBVEVfSEFTX1BPUFVQKTsK KysjZW5kaWYKKyAgIGlmIChHZXRCb29sQXR0cmlidXRlKGF4Ojptb2pvbTo6Qm9vbEF0dHJpYnV0 ZTo6a0J1c3kpKQorICAgICBhdGtfc3RhdGVfc2V0X2FkZF9zdGF0ZShhdGtfc3RhdGVfc2V0LCBB VEtfU1RBVEVfQlVTWSk7CisgICBpZiAoR2V0Qm9vbEF0dHJpYnV0ZShheDo6bW9qb206OkJvb2xB dHRyaWJ1dGU6OmtNb2RhbCkpCitAQCAtMzE1MCw5ICszMjU4LDExIEBAIHZvaWQgQVhQbGF0Zm9y bU5vZGVBdXJhTGludXg6OkdldEF0a1N0YXQKKyAgIGlmIChHZXREYXRhKCkuR2V0UmVzdHJpY3Rp b24oKSAhPSBheDo6bW9qb206OlJlc3RyaWN0aW9uOjprRGlzYWJsZWQpIHsKKyAgICAgaWYgKEdl dERlbGVnYXRlKCktPklzUmVhZE9ubHlTdXBwb3J0ZWQoKSAmJgorICAgICAgICAgR2V0RGVsZWdh dGUoKS0+SXNSZWFkT25seU9yRGlzYWJsZWQoKSkgeworKyNpZiBkZWZpbmVkKEFUS18yMTYpCisg ICAgICAgLy8gUnVudGltZSBjaGVjayBpbiBjYXNlIHdlIHdlcmUgY29tcGlsZWQgd2l0aCBhIG5l d2VyIHZlcnNpb24gb2YgQVRLLgorICAgICAgIGlmIChQbGF0Zm9ybVN1cHBvcnRzU3RhdGUoQVRL X1NUQVRFX1JFQURfT05MWSkpCisgICAgICAgICBhdGtfc3RhdGVfc2V0X2FkZF9zdGF0ZShhdGtf c3RhdGVfc2V0LCBBVEtfU1RBVEVfUkVBRF9PTkxZKTsKKysjZW5kaWYKKyAgICAgfSBlbHNlIHsK KyAgICAgICBhdGtfc3RhdGVfc2V0X2FkZF9zdGF0ZShhdGtfc3RhdGVfc2V0LCBBVEtfU1RBVEVf RU5BQkxFRCk7CisgICAgICAgYXRrX3N0YXRlX3NldF9hZGRfc3RhdGUoYXRrX3N0YXRlX3NldCwg QVRLX1NUQVRFX1NFTlNJVElWRSk7CitAQCAtMzE4NiwxMiArMzI5NiwxNiBAQCBzdHJ1Y3QgQXRr SW50TGlzdFJlbGF0aW9uIHsKKyBzdGF0aWMgQXRrSW50TGlzdFJlbGF0aW9uIGtJbnRMaXN0UmVs YXRpb25zW10gPSB7CisgICAgIHtheDo6bW9qb206OkludExpc3RBdHRyaWJ1dGU6OmtDb250cm9s c0lkcywgQVRLX1JFTEFUSU9OX0NPTlRST0xMRVJfRk9SLAorICAgICAgQVRLX1JFTEFUSU9OX0NP TlRST0xMRURfQll9LAorKyNpZiBkZWZpbmVkKEFUS18yMjYpCisgICAgIHtheDo6bW9qb206Oklu dExpc3RBdHRyaWJ1dGU6OmtEZXRhaWxzSWRzLCBBVEtfUkVMQVRJT05fREVUQUlMUywKKyAgICAg IEFUS19SRUxBVElPTl9ERVRBSUxTX0ZPUn0sCisrI2VuZGlmCisgICAgIHtheDo6bW9qb206Oklu dExpc3RBdHRyaWJ1dGU6OmtEZXNjcmliZWRieUlkcywgQVRLX1JFTEFUSU9OX0RFU0NSSUJFRF9C WSwKKyAgICAgIEFUS19SRUxBVElPTl9ERVNDUklQVElPTl9GT1J9LAorKyNpZiBkZWZpbmVkKEFU S18yMjYpCisgICAgIHtheDo6bW9qb206OkludExpc3RBdHRyaWJ1dGU6OmtFcnJvcm1lc3NhZ2VJ ZHMsIEFUS19SRUxBVElPTl9FUlJPUl9NRVNTQUdFLAorICAgICAgQVRLX1JFTEFUSU9OX0VSUk9S X0ZPUn0sCisrI2VuZGlmCisgICAgIHtheDo6bW9qb206OkludExpc3RBdHRyaWJ1dGU6OmtGbG93 dG9JZHMsIEFUS19SRUxBVElPTl9GTE9XU19UTywKKyAgICAgIEFUS19SRUxBVElPTl9GTE9XU19G Uk9NfSwKKyAgICAge2F4Ojptb2pvbTo6SW50TGlzdEF0dHJpYnV0ZTo6a0xhYmVsbGVkYnlJZHMs IEFUS19SRUxBVElPTl9MQUJFTExFRF9CWSwKK0BAIC0zOTgyLDYgKzQwOTYsNyBAQCB2b2lkIEFY UGxhdGZvcm1Ob2RlQXVyYUxpbnV4OjpPblJlYWRvbmx5CisgICBpZiAoIW9iaikKKyAgICAgcmV0 dXJuOworIAorKyNpZiBkZWZpbmVkKEFUS18yMTYpCisgICAvLyBSdW50aW1lIGNoZWNrIGluIGNh c2Ugd2Ugd2VyZSBjb21waWxlZCB3aXRoIGEgbmV3ZXIgdmVyc2lvbiBvZiBBVEsuCisgICBpZiAo IVBsYXRmb3JtU3VwcG9ydHNTdGF0ZShBVEtfU1RBVEVfUkVBRF9PTkxZKSkKKyAgICAgcmV0dXJu OworQEAgLTM5ODksNiArNDEwNCw3IEBAIHZvaWQgQVhQbGF0Zm9ybU5vZGVBdXJhTGludXg6Ok9u UmVhZG9ubHkKKyAgIGF0a19vYmplY3Rfbm90aWZ5X3N0YXRlX2NoYW5nZSgKKyAgICAgICBvYmos IEFUS19TVEFURV9SRUFEX09OTFksCisgICAgICAgR2V0RGF0YSgpLkdldFJlc3RyaWN0aW9uKCkg PT0gYXg6Om1vam9tOjpSZXN0cmljdGlvbjo6a1JlYWRPbmx5KTsKKysjZW5kaWYKKyB9CisgCisg dm9pZCBBWFBsYXRmb3JtTm9kZUF1cmFMaW51eDo6T25JbnZhbGlkU3RhdHVzQ2hhbmdlZCgpIHsK K0BAIC00MzE1LDExICs0NDMxLDEzIEBAIGdmeDo6UmVjdCBBWFBsYXRmb3JtTm9kZUF1cmFMaW51 eDo6R2V0RXgKKyAgICAgICBleHRlbnRzLk9mZnNldCh3aW5kb3dfb3JpZ2luKTsKKyAgICAgICBi cmVhazsKKyAgICAgfQorKyNpZiBkZWZpbmVkKEFUS18yMzApCisgICAgIGNhc2UgQVRLX1hZX1BB UkVOVDogeworICAgICAgIGdmeDo6VmVjdG9yMmQgcGFyZW50X29yaWdpbiA9IC1HZXRQYXJlbnRP cmlnaW5JblNjcmVlbkNvb3JkaW5hdGVzKCk7CisgICAgICAgZXh0ZW50cy5PZmZzZXQocGFyZW50 X29yaWdpbik7CisgICAgICAgYnJlYWs7CisgICAgIH0KKysjZW5kaWYKKyAgIH0KKyAKKyAgIHJl dHVybiBleHRlbnRzOworQEAgLTQ3NjEsNiArNDg3OSw3IEBAIGJvb2wgQVhQbGF0Zm9ybU5vZGVB dXJhTGludXg6OklzSW5MaXZlUmUKKyAgIHJldHVybiBIYXNTdHJpbmdBdHRyaWJ1dGUoYXg6Om1v am9tOjpTdHJpbmdBdHRyaWJ1dGU6OmtDb250YWluZXJMaXZlU3RhdHVzKTsKKyB9CisgCisrI2lm IGRlZmluZWQoQVRLXzIzMCkKKyB2b2lkIEFYUGxhdGZvcm1Ob2RlQXVyYUxpbnV4OjpTY3JvbGxU b1BvaW50KEF0a0Nvb3JkVHlwZSBhdGtfY29vcmRfdHlwZSwKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGludCB4LAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgaW50IHkpIHsKK0BAIC00ODMzLDcgKzQ5NTIsOSBAQCB2b2lk IEFYUGxhdGZvcm1Ob2RlQXVyYUxpbnV4OjpTY3JvbGxOb2RlCisgICByZWN0IC09IHJlY3QuT2Zm c2V0RnJvbU9yaWdpbigpOworICAgU2Nyb2xsTm9kZVJlY3RJbnRvVmlldyhyZWN0LCBhdGtfc2Ny b2xsX3R5cGUpOworIH0KKysjZW5kaWYgIC8vIGRlZmluZWQoQVRLXzIzMCkKKyAKKysjaWYgZGVm aW5lZChBVEtfMjMyKQorIHN0ZDo6b3B0aW9uYWw8Z2Z4OjpSZWN0PgorIEFYUGxhdGZvcm1Ob2Rl QXVyYUxpbnV4OjpHZXRVbmNsaXBwZWRIeXBlcnRleHRSYW5nZUJvdW5kc1JlY3QoaW50IHN0YXJ0 X29mZnNldCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGludCBlbmRfb2Zmc2V0KSB7CitAQCAtNDg5Miw2ICs1MDEzLDcgQEAg Ym9vbCBBWFBsYXRmb3JtTm9kZUF1cmFMaW51eDo6U2Nyb2xsU3VicworIAorICAgcmV0dXJuIHRy dWU7CisgfQorKyNlbmRpZiAgLy8gZGVmaW5lZChBVEtfMjMyKQorIAorIHZvaWQgQVhQbGF0Zm9y bU5vZGVBdXJhTGludXg6OkNvbXB1dGVTdHlsZXNJZk5lZWRlZCgpIHsKKyAgIGlmICghb2Zmc2V0 X3RvX3RleHRfYXR0cmlidXRlc18uZW1wdHkoKSkKK0BAIC01MDc0LDggKzUxOTYsMTAgQEAgZ2Z4 OjpQb2ludCBBWFBsYXRmb3JtTm9kZUF1cmFMaW51eDo6Q29udgorICAgc3dpdGNoIChhdGtfY29v cmRfdHlwZSkgeworICAgICBjYXNlIEFUS19YWV9XSU5ET1c6CisgICAgICAgcmV0dXJuIHBvaW50 ICsgR2V0UGFyZW50RnJhbWVPcmlnaW5JblNjcmVlbkNvb3JkaW5hdGVzKCk7CisrI2lmIGRlZmlu ZWQoQVRLXzIzMCkKKyAgICAgY2FzZSBBVEtfWFlfUEFSRU5UOgorICAgICAgIHJldHVybiBwb2lu dCArIEdldFBhcmVudE9yaWdpbkluU2NyZWVuQ29vcmRpbmF0ZXMoKTsKKysjZW5kaWYKKyAgICAg Y2FzZSBBVEtfWFlfU0NSRUVOOgorICAgICBkZWZhdWx0OgorICAgICAgIHJldHVybiBwb2ludDsK K2RpZmYgLXVwIGNocm9taXVtLTEzNC4wLjY5OTguMTUvdWkvYWNjZXNzaWJpbGl0eS9wbGF0Zm9y bS9heF9wbGF0Zm9ybV9ub2RlX2F1cmFsaW51eC5oLnRoYW4gY2hyb21pdW0tMTM0LjAuNjk5OC4x NS91aS9hY2Nlc3NpYmlsaXR5L3BsYXRmb3JtL2F4X3BsYXRmb3JtX25vZGVfYXVyYWxpbnV4LmgK Ky0tLSBjaHJvbWl1bS0xMzQuMC42OTk4LjE1L3VpL2FjY2Vzc2liaWxpdHkvcGxhdGZvcm0vYXhf cGxhdGZvcm1fbm9kZV9hdXJhbGludXguaC50aGFuCTIwMjUtMDItMTIgMDI6MzE6MDIuMDAwMDAw MDAwICswMTAwCisrKysgY2hyb21pdW0tMTM0LjAuNjk5OC4xNS91aS9hY2Nlc3NpYmlsaXR5L3Bs YXRmb3JtL2F4X3BsYXRmb3JtX25vZGVfYXVyYWxpbnV4LmgJMjAyNS0wMi0xNyAxNzoxMzozMC45 NzMzNDQwMTUgKzAxMDAKK0BAIC01Miw2ICs1MiwzMSBAQCBzdHJ1Y3QgRmluZEluUGFnZVJlc3Vs dEluZm8geworICAgfQorIH07CisgCisrLy8gQXRrVGFibGVDZWxsIHdhcyBpbnRyb2R1Y2VkIGlu IEFUSyAyLjEyLiBVYnVudHUgVHJ1c3R5IGhhcyBBVEsgMi4xMC4KKysvLyBDb21waWxlLXRpbWUg Y2hlY2tzIGFyZSBpbiBwbGFjZSBmb3IgQVRLIHZlcnNpb25zIHRoYXQgYXJlIG9sZGVyIHRoYW4g Mi4xMi4KKysvLyBIb3dldmVyLCB3ZSBhbHNvIG5lZWQgcnVudGltZSBjaGVja3MgaW4gY2FzZSB0 aGUgdmVyc2lvbiB3ZSBhcmUgYnVpbGRpbmcKKysvLyBhZ2FpbnN0IGlzIG5ld2VyIHRoYW4gdGhl IHJ1bnRpbWUgdmVyc2lvbi4gVG8gcHJldmVudCBhIHJ1bnRpbWUgZXJyb3IsIHdlCisrLy8gY2hl Y2sgdGhhdCB3ZSBoYXZlIGEgdmVyc2lvbiBvZiBBVEsgdGhhdCBzdXBwb3J0cyBBdGtUYWJsZUNl bGwuIElmIHdlIGRvLAorKy8vIHdlIGR5bmFtaWNhbGx5IGxvYWQgdGhlIHN5bWJvbDsgaWYgd2Ug ZG9uJ3QsIHRoZSBpbnRlcmZhY2UgaXMgYWJzZW50IGZyb20KKysvLyB0aGUgYWNjZXNzaWJsZSBv YmplY3QgYW5kIGl0cyBtZXRob2RzIHdpbGwgbm90IGJlIGV4cG9zZWQgb3IgY2FsbGFibGUuCisr Ly8gVGhlIGRlZmluaXRpb25zIGJlbG93IGVuc3VyZSB3ZSBoYXZlIG5vIG1pc3Npbmcgc3ltYm9s cy4gTm90ZSB0aGF0IGluCisrLy8gZW52aXJvbm1lbnRzIHdoZXJlIHdlIGhhdmUgQVRLID4gMi4x MiwgdGhlIGRlZmluaXRpb25zIG9mIEF0a1RhYmxlQ2VsbCBhbmQKKysvLyBBdGtUYWJsZUNlbGxJ ZmFjZSBiZWxvdyBhcmUgb3ZlcnJpZGRlbiBieSB0aGUgcnVudGltZSB2ZXJzaW9uLgorKy8vIFRP RE8oYWNjZXNzaWJpbGl0eSkgUmVtb3ZlIEF0a1RhYmxlQ2VsbEludGVyZmFjZSB3aGVuIDIuMTIg aXMgdGhlIG1pbmltdW0KKysvLyBzdXBwb3J0ZWQgdmVyc2lvbi4KKytzdHJ1Y3QgQ09NUE9ORU5U X0VYUE9SVChBWF9QTEFURk9STSkgQXRrVGFibGVDZWxsSW50ZXJmYWNlIHsKKysgIHR5cGVkZWYg c3RydWN0IF9BdGtUYWJsZUNlbGwgQXRrVGFibGVDZWxsOworKyAgc3RhdGljIEdUeXBlIEdldFR5 cGUoKTsKKysgIHN0YXRpYyBHUHRyQXJyYXkqIEdldENvbHVtbkhlYWRlckNlbGxzKEF0a1RhYmxl Q2VsbCogY2VsbCk7CisrICBzdGF0aWMgR1B0ckFycmF5KiBHZXRSb3dIZWFkZXJDZWxscyhBdGtU YWJsZUNlbGwqIGNlbGwpOworKyAgc3RhdGljIGJvb2wgR2V0Um93Q29sdW1uU3BhbihBdGtUYWJs ZUNlbGwqIGNlbGwsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdpbnQqIHJvdywK KysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2ludCogY29sdW1uLAorKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBnaW50KiByb3dfc3BhbiwKKysgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgZ2ludCogY29sX3NwYW4pOworKyAgc3RhdGljIGJvb2wgRXhpc3RzKCk7 CisrfTsKKysKKyAvLyBUaGlzIGNsYXNzIHdpdGggYW4gZW51bSBpcyB1c2VkIHRvIGdlbmVyYXRl IGEgYml0bWFzayB3aGljaCB0cmFja3MgdGhlIEFUSworIC8vIGludGVyZmFjZXMgdGhhdCBhbiBB WFBsYXRmb3JtTm9kZUF1cmFMaW51eCdzIEFUS09iamVjdCBpbXBsZW1lbnRzLgorIGNsYXNzIElt cGxlbWVudGVkQXRrSW50ZXJmYWNlcyB7CitkaWZmIC11cCBjaHJvbWl1bS0xMzQuMC42OTk4LjE1 L3VpL2FjY2Vzc2liaWxpdHkvcGxhdGZvcm0vYXhfcGxhdGZvcm1fbm9kZV9hdXJhbGludXhfdW5p dHRlc3QuY2MudGhhbiBjaHJvbWl1bS0xMzQuMC42OTk4LjE1L3VpL2FjY2Vzc2liaWxpdHkvcGxh dGZvcm0vYXhfcGxhdGZvcm1fbm9kZV9hdXJhbGludXhfdW5pdHRlc3QuY2MKKy0tLSBjaHJvbWl1 bS0xMzQuMC42OTk4LjE1L3VpL2FjY2Vzc2liaWxpdHkvcGxhdGZvcm0vYXhfcGxhdGZvcm1fbm9k ZV9hdXJhbGludXhfdW5pdHRlc3QuY2MudGhhbgkyMDI1LTAyLTEyIDAyOjMxOjAyLjAwMDAwMDAw MCArMDEwMAorKysrIGNocm9taXVtLTEzNC4wLjY5OTguMTUvdWkvYWNjZXNzaWJpbGl0eS9wbGF0 Zm9ybS9heF9wbGF0Zm9ybV9ub2RlX2F1cmFsaW51eF91bml0dGVzdC5jYwkyMDI1LTAyLTE3IDE3 OjEzOjMwLjk3MzM0NDAxNSArMDEwMAorQEAgLTExLDYgKzExLDcgQEAKKyAKKyAjaW5jbHVkZSA8 YXRrL2F0ay5oPgorIAorKyNpbmNsdWRlIDxkbGZjbi5oPgorICNpbmNsdWRlIDxhcnJheT4KKyAj aW5jbHVkZSA8dXRpbGl0eT4KKyAjaW5jbHVkZSA8dmVjdG9yPgorQEAgLTg4Nyw2ICs4ODgsMTcg QEAgdHlwZWRlZiBib29sICgqU2Nyb2xsVG9Qb2ludEZ1bmMpKEF0a0NvbQorIHR5cGVkZWYgYm9v bCAoKlNjcm9sbFRvRnVuYykoQXRrQ29tcG9uZW50KiBjb21wb25lbnQsIEF0a1Njcm9sbFR5cGUg dHlwZSk7CisgCisgVEVTVF9GKEFYUGxhdGZvcm1Ob2RlQXVyYUxpbnV4VGVzdCwgQXRrQ29tcG9u ZW50U2Nyb2xsVG9Qb2ludCkgeworKyAgLy8gVGhlcmUncyBhIGNoYW5jZSB3ZSBtYXkgYmUgY29t cGlsZWQgd2l0aCBhIG5ld2VyIHZlcnNpb24gb2YgQVRLIGFuZCB0aGVuCisrICAvLyBydW4gd2l0 aCBhbiBvbGRlciBvbmUsIHNvIHdlIG5lZWQgdG8gZG8gYSBydW50aW1lIGNoZWNrIGZvciB0aGlz IG1ldGhvZAorKyAgLy8gdGhhdCBpcyBhdmFpbGFibGUgaW4gQVRLIDIuMzAgaW5zdGVhZCBvZiBs aW5raW5nIGRpcmVjdGx5LgorKyAgU2Nyb2xsVG9Qb2ludEZ1bmMgc2Nyb2xsX3RvX3BvaW50ID0g cmVpbnRlcnByZXRfY2FzdDxTY3JvbGxUb1BvaW50RnVuYz4oCisrICAgICAgZGxzeW0oUlRMRF9E RUZBVUxULCAiYXRrX2NvbXBvbmVudF9zY3JvbGxfdG9fcG9pbnQiKSk7CisrICBpZiAoIXNjcm9s bF90b19wb2ludCkgeworKyAgICBMT0coV0FSTklORykgPDwgIlNraXBwaW5nIEF0a0NvbXBvbmVu dFNjcm9sbFRvUG9pbnQiCisrICAgICAgICAgICAgICAgICAgICAiIGJlY2F1c2UgQVRLIHZlcnNp b24gPCAyLjMwIGRldGVjdGVkLiI7CisrICAgIHJldHVybjsKKysgIH0KKysKKyAgIEFYTm9kZURh dGEgcm9vdDsKKyAgIHJvb3QuaWQgPSAxOworICAgcm9vdC5yb2xlID0gYXg6Om1vam9tOjpSb2xl OjprUm9vdFdlYkFyZWE7CitAQCAtOTE0LDggKzkyNiw3IEBAIFRFU1RfRihBWFBsYXRmb3JtTm9k ZUF1cmFMaW51eFRlc3QsIEF0a0MKKyAgIEVYUEVDVF9FUSgxMCwgd2lkdGgpOworICAgRVhQRUNU X0VRKDEwLCBoZWlnaHQpOworIAorLSAgYXRrX2NvbXBvbmVudF9zY3JvbGxfdG9fcG9pbnQoQVRL X0NPTVBPTkVOVChjaGlsZF9vYmopLCBBVEtfWFlfU0NSRUVOLCA2MDAsCistICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICA2NTApOworKyAgc2Nyb2xsX3RvX3BvaW50KEFUS19DT01QT05F TlQoY2hpbGRfb2JqKSwgQVRLX1hZX1NDUkVFTiwgNjAwLCA2NTApOworICAgYXRrX2NvbXBvbmVu dF9nZXRfZXh0ZW50cyhBVEtfQ09NUE9ORU5UKGNoaWxkX29iaiksICZ4X2xlZnQsICZ5X3RvcCwg JndpZHRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmaGVpZ2h0LCBBVEtfWFlfU0NS RUVOKTsKKyAgIEVYUEVDVF9FUSg2MTAsIHhfbGVmdCk7CitAQCAtOTIzLDggKzkzNCw3IEBAIFRF U1RfRihBWFBsYXRmb3JtTm9kZUF1cmFMaW51eFRlc3QsIEF0a0MKKyAgIEVYUEVDVF9FUSgxMCwg d2lkdGgpOworICAgRVhQRUNUX0VRKDEwLCBoZWlnaHQpOworIAorLSAgYXRrX2NvbXBvbmVudF9z Y3JvbGxfdG9fcG9pbnQoQVRLX0NPTVBPTkVOVChjaGlsZF9vYmopLCBBVEtfWFlfUEFSRU5ULCAx MCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwKTsKKysgIHNjcm9sbF90b19w b2ludChBVEtfQ09NUE9ORU5UKGNoaWxkX29iaiksIEFUS19YWV9QQVJFTlQsIDEwLCAxMCk7Cisg ICBhdGtfY29tcG9uZW50X2dldF9leHRlbnRzKEFUS19DT01QT05FTlQoY2hpbGRfb2JqKSwgJnhf bGVmdCwgJnlfdG9wLCAmd2lkdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZoZWln aHQsIEFUS19YWV9TQ1JFRU4pOworICAgLy8gVGhlIHRlc3Qgd3JhcHBlciBzY3JvbGxzIGV2ZXJ5 IGVsZW1lbnQgd2hlbiBzY3JvbGxpbmcsIHNvIHRoaXMgc2hvdWxkIGJlCitAQCAtOTQxLDYgKzk1 MSwxNyBAQCBURVNUX0YoQVhQbGF0Zm9ybU5vZGVBdXJhTGludXhUZXN0LCBBdGtDCisgfQorIAor IFRFU1RfRihBWFBsYXRmb3JtTm9kZUF1cmFMaW51eFRlc3QsIEF0a0NvbXBvbmVudFNjcm9sbFRv KSB7CisrICAvLyBUaGVyZSdzIGEgY2hhbmNlIHdlIG1heSBiZSBjb21waWxlZCB3aXRoIGEgbmV3 ZXIgdmVyc2lvbiBvZiBBVEsgYW5kIHRoZW4KKysgIC8vIHJ1biB3aXRoIGFuIG9sZGVyIG9uZSwg c28gd2UgbmVlZCB0byBkbyBhIHJ1bnRpbWUgY2hlY2sgZm9yIHRoaXMgbWV0aG9kCisrICAvLyB0 aGF0IGlzIGF2YWlsYWJsZSBpbiBBVEsgMi4zMCBpbnN0ZWFkIG9mIGxpbmtpbmcgZGlyZWN0bHku CisrICBTY3JvbGxUb0Z1bmMgc2Nyb2xsX3RvID0gcmVpbnRlcnByZXRfY2FzdDxTY3JvbGxUb0Z1 bmM+KAorKyAgICAgIGRsc3ltKFJUTERfREVGQVVMVCwgImF0a19jb21wb25lbnRfc2Nyb2xsX3Rv IikpOworKyAgaWYgKCFzY3JvbGxfdG8pIHsKKysgICAgTE9HKFdBUk5JTkcpIDw8ICJTa2lwcGlu ZyBBdGtDb21wb25lbnRTY3JvbGxUbyIKKysgICAgICAgICAgICAgICAgICAgICIgYmVjYXVzZSBB VEsgdmVyc2lvbiA8IDIuMzAgZGV0ZWN0ZWQuIjsKKysgICAgcmV0dXJuOworKyAgfQorKworICAg QVhOb2RlRGF0YSByb290OworICAgcm9vdC5pZCA9IDE7CisgICByb290LnJvbGUgPSBheDo6bW9q b206OlJvbGU6OmtSb290V2ViQXJlYTsKK0BAIC05NjgsNyArOTg5LDcgQEAgVEVTVF9GKEFYUGxh dGZvcm1Ob2RlQXVyYUxpbnV4VGVzdCwgQXRrQworICAgRVhQRUNUX0VRKDEwLCB3aWR0aCk7Cisg ICBFWFBFQ1RfRVEoMTAsIGhlaWdodCk7CisgCistICBhdGtfY29tcG9uZW50X3Njcm9sbF90byhB VEtfQ09NUE9ORU5UKGNoaWxkX29iaiksIEFUS19TQ1JPTExfQU5ZV0hFUkUpOworKyAgc2Nyb2xs X3RvKEFUS19DT01QT05FTlQoY2hpbGRfb2JqKSwgQVRLX1NDUk9MTF9BTllXSEVSRSk7CisgICBh dGtfY29tcG9uZW50X2dldF9leHRlbnRzKEFUS19DT01QT05FTlQoY2hpbGRfb2JqKSwgJnhfbGVm dCwgJnlfdG9wLCAmd2lkdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZoZWlnaHQs IEFUS19YWV9TQ1JFRU4pOworICAgRVhQRUNUX0VRKDAsIHhfbGVmdCk7CitkaWZmIC11cCBjaHJv bWl1bS0xMzQuMC42OTk4LjE1L3VpL2FjY2Vzc2liaWxpdHkvcGxhdGZvcm0vaW5zcGVjdC9heF90 cmVlX2Zvcm1hdHRlcl9hdXJhbGludXguY2MudGhhbiBjaHJvbWl1bS0xMzQuMC42OTk4LjE1L3Vp L2FjY2Vzc2liaWxpdHkvcGxhdGZvcm0vaW5zcGVjdC9heF90cmVlX2Zvcm1hdHRlcl9hdXJhbGlu dXguY2MKKy0tLSBjaHJvbWl1bS0xMzQuMC42OTk4LjE1L3VpL2FjY2Vzc2liaWxpdHkvcGxhdGZv cm0vaW5zcGVjdC9heF90cmVlX2Zvcm1hdHRlcl9hdXJhbGludXguY2MudGhhbgkyMDI1LTAyLTEy IDAyOjMxOjAyLjAwMDAwMDAwMCArMDEwMAorKysrIGNocm9taXVtLTEzNC4wLjY5OTguMTUvdWkv YWNjZXNzaWJpbGl0eS9wbGF0Zm9ybS9pbnNwZWN0L2F4X3RyZWVfZm9ybWF0dGVyX2F1cmFsaW51 eC5jYwkyMDI1LTAyLTE3IDE3OjEzOjMwLjk3NDM0NDA0MCArMDEwMAorQEAgLTQ3NCwxOCArNDc0 LDM0IEBAIHZvaWQgQVhUcmVlRm9ybWF0dGVyQXVyYUxpbnV4OjpBZGRUYWJsZUMKKyAgIGludCBy b3cgPSAwLCBjb2wgPSAwLCByb3dfc3BhbiA9IDAsIGNvbF9zcGFuID0gMDsKKyAgIGludCBuX3Jv d19oZWFkZXJzID0gMCwgbl9jb2x1bW5faGVhZGVycyA9IDA7CisgCistICBBdGtUYWJsZUNlbGwq IGNlbGwgPSBHX1RZUEVfQ0hFQ0tfSU5TVEFOQ0VfQ0FTVCgKKy0gICAgICAoYXRrX29iamVjdCks IGF0a190YWJsZV9jZWxsX2dldF90eXBlKCksIEF0a1RhYmxlQ2VsbCk7CisrICAvLyBQcm9wZXJ0 aWVzIG9idGFpbmVkIHZpYSBBdGtUYWJsZUNlbGwsIGlmIHBvc3NpYmxlLiBJZiB3ZSBkbyBub3Qg aGF2ZSBhdAorKyAgLy8gbGVhc3QgQVRLIDIuMTIsIHVzZSB0aGUgc2FtZSBsb2dpYyBpbiBvdXIg QXRrVGFibGVDZWxsIGltcGxlbWVudGF0aW9uIHNvCisrICAvLyB0aGF0IHRlc3RzIGNhbiBzdGls bCBiZSBydW4uCisrICBpZiAoQXRrVGFibGVDZWxsSW50ZXJmYWNlOjpFeGlzdHMoKSkgeworKyAg ICBBdGtUYWJsZUNlbGwqIGNlbGwgPSBHX1RZUEVfQ0hFQ0tfSU5TVEFOQ0VfQ0FTVCgKKysgICAg ICAgIChhdGtfb2JqZWN0KSwgQXRrVGFibGVDZWxsSW50ZXJmYWNlOjpHZXRUeXBlKCksIEF0a1Rh YmxlQ2VsbCk7CisgCistICBhdGtfdGFibGVfY2VsbF9nZXRfcm93X2NvbHVtbl9zcGFuKGNlbGws ICZyb3csICZjb2wsICZyb3dfc3BhbiwgJmNvbF9zcGFuKTsKKysgICAgQXRrVGFibGVDZWxsSW50 ZXJmYWNlOjpHZXRSb3dDb2x1bW5TcGFuKGNlbGwsICZyb3csICZjb2wsICZyb3dfc3BhbiwKKysg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZjb2xfc3Bhbik7Cisg CistICBHUHRyQXJyYXkqIGNvbHVtbl9oZWFkZXJzID0gYXRrX3RhYmxlX2NlbGxfZ2V0X2NvbHVt bl9oZWFkZXJfY2VsbHMoY2VsbCk7CistICBuX2NvbHVtbl9oZWFkZXJzID0gY29sdW1uX2hlYWRl cnMtPmxlbjsKKy0gIGdfcHRyX2FycmF5X3VucmVmKGNvbHVtbl9oZWFkZXJzKTsKKysgICAgR1B0 ckFycmF5KiBjb2x1bW5faGVhZGVycyA9CisrICAgICAgICBBdGtUYWJsZUNlbGxJbnRlcmZhY2U6 OkdldENvbHVtbkhlYWRlckNlbGxzKGNlbGwpOworKyAgICBuX2NvbHVtbl9oZWFkZXJzID0gY29s dW1uX2hlYWRlcnMtPmxlbjsKKysgICAgZ19wdHJfYXJyYXlfdW5yZWYoY29sdW1uX2hlYWRlcnMp OworIAorLSAgR1B0ckFycmF5KiByb3dfaGVhZGVycyA9IGF0a190YWJsZV9jZWxsX2dldF9yb3df aGVhZGVyX2NlbGxzKGNlbGwpOworLSAgbl9yb3dfaGVhZGVycyA9IHJvd19oZWFkZXJzLT5sZW47 CistICBnX3B0cl9hcnJheV91bnJlZihyb3dfaGVhZGVycyk7CisrICAgIEdQdHJBcnJheSogcm93 X2hlYWRlcnMgPSBBdGtUYWJsZUNlbGxJbnRlcmZhY2U6OkdldFJvd0hlYWRlckNlbGxzKGNlbGwp OworKyAgICBuX3Jvd19oZWFkZXJzID0gcm93X2hlYWRlcnMtPmxlbjsKKysgICAgZ19wdHJfYXJy YXlfdW5yZWYocm93X2hlYWRlcnMpOworKyAgfSBlbHNlIHsKKysgICAgcm93ID0gbm9kZS0+R2V0 VGFibGVSb3coKS52YWx1ZV9vcigtMSk7CisrICAgIGNvbCA9IG5vZGUtPkdldFRhYmxlQ29sdW1u KCkudmFsdWVfb3IoLTEpOworKyAgICByb3dfc3BhbiA9IG5vZGUtPkdldFRhYmxlUm93U3Bhbigp LnZhbHVlX29yKDApOworKyAgICBjb2xfc3BhbiA9IG5vZGUtPkdldFRhYmxlQ29sdW1uU3Bhbigp LnZhbHVlX29yKDApOworKyAgICBpZiAocm9sZSA9PSBBVEtfUk9MRV9UQUJMRV9DRUxMKSB7Cisr ICAgICAgbl9jb2x1bW5faGVhZGVycyA9IG5vZGUtPkdldERlbGVnYXRlKCktPkdldENvbEhlYWRl ck5vZGVJZHMoY29sKS5zaXplKCk7CisrICAgICAgbl9yb3dfaGVhZGVycyA9IG5vZGUtPkdldERl bGVnYXRlKCktPkdldFJvd0hlYWRlck5vZGVJZHMocm93KS5zaXplKCk7CisrICAgIH0KKysgIH0K KyAKKyAgIHN0ZDo6dmVjdG9yPHN0ZDo6c3RyaW5nPiBjZWxsX2luZm87CisgICBjZWxsX2luZm8u cHVzaF9iYWNrKGJhc2U6OlN0cmluZ1ByaW50Zigicm93PSVpIiwgcm93KSk7CgpkaWZmIC0tZ2l0 IGEvY2hyb21pdW0tMTM0LXJ1c3QtbGliYWRsZXIyLnBhdGNoIGIvY2hyb21pdW0tMTM0LXJ1c3Qt bGliYWRsZXIyLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNhZGE4 MDYKLS0tIC9kZXYvbnVsbAorKysgYi9jaHJvbWl1bS0xMzQtcnVzdC1saWJhZGxlcjIucGF0Y2gK QEAgLTAsMCArMSwxNCBAQAorRml4IHdhcm5pbmc6IGxpYmFkbGVyMiBub3QgZm91bmQKKworZGlm ZiAtdXAgY2hyb21pdW0tMTM0LjAuNjk5OC4yMy9idWlsZC9ydXN0L3N0ZC9CVUlMRC5nbi50aGFu IGNocm9taXVtLTEzNC4wLjY5OTguMjMvYnVpbGQvcnVzdC9zdGQvQlVJTEQuZ24KKy0tLSBjaHJv bWl1bS0xMzQuMC42OTk4LjIzL2J1aWxkL3J1c3Qvc3RkL0JVSUxELmduLnRoYW4JMjAyNS0wMi0y NCAwOTo0Nzo1Ny41NjA1MDY0MTAgKzAxMDAKKysrKyBjaHJvbWl1bS0xMzQuMC42OTk4LjIzL2J1 aWxkL3J1c3Qvc3RkL0JVSUxELmduCTIwMjUtMDItMjQgMDk6NDg6MDIuMzM1Njc2NzEyICswMTAw CitAQCAtODksNyArODksNyBAQCBpZiAodG9vbGNoYWluX2hhc19ydXN0KSB7CisgICAgICMgVGhl c2UgYXJlIG5vIGxvbmdlciBwcmVzZW50IGluIHRoZSBXaW5kb3dzIHRvb2xjaGFpbi4KKyAgICAg c3RkbGliX2ZpbGVzICs9IFsKKyAgICAgICAiYWRkcjJsaW5lIiwKKy0gICAgICAiYWRsZXIyIiwK KysgICAgICAiYWRsZXIiLAorICAgICAgICJnaW1saSIsCisgICAgICAgImxpYmMiLAorICAgICAg ICJtZW1jaHIiLAoKZGlmZiAtLWdpdCBhL2Nocm9taXVtLTEzNC10eXBlLW1pc21hdGNoLWVycm9y LnBhdGNoIGIvY2hyb21pdW0tMTM0LXR5cGUtbWlzbWF0Y2gtZXJyb3IucGF0Y2gKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTlkMjYzYwotLS0gL2Rldi9udWxsCisrKyBiL2No cm9taXVtLTEzNC10eXBlLW1pc21hdGNoLWVycm9yLnBhdGNoCkBAIC0wLDAgKzEsMTMgQEAKK2Rp ZmYgLXVwIGNocm9taXVtLTEzNC4wLjY5OTguMjMvYmFzZS9jb250YWluZXJzL3RvX3ZhbHVlX2xp c3QuaC5tZSBjaHJvbWl1bS0xMzQuMC42OTk4LjIzL2Jhc2UvY29udGFpbmVycy90b192YWx1ZV9s aXN0LmgKKy0tLSBjaHJvbWl1bS0xMzQuMC42OTk4LjIzL2Jhc2UvY29udGFpbmVycy90b192YWx1 ZV9saXN0LmgubWUJMjAyNS0wMi0yMyAyMjozOTozMy4zNjk2NjgwNzIgKzAxMDAKKysrKyBjaHJv bWl1bS0xMzQuMC42OTk4LjIzL2Jhc2UvY29udGFpbmVycy90b192YWx1ZV9saXN0LmgJMjAyNS0w Mi0yMyAyMjo0Mjo0Mi42NTM5OTA5MDEgKzAxMDAKK0BAIC0zNiw4ICszNiw3IEBAIFZhbHVlOjpM aXN0IFRvVmFsdWVMaXN0KFJhbmdlJiYgcmFuZ2UsIFAKKyAgIGF1dG8gY29udGFpbmVyID0gVmFs dWU6Okxpc3Q6OndpdGhfY2FwYWNpdHkoc3RkOjpyYW5nZXM6OnNpemUocmFuZ2UpKTsKKyAgIHN0 ZDo6cmFuZ2VzOjpmb3JfZWFjaCgKKyAgICAgICBzdGQ6OmZvcndhcmQ8UmFuZ2U+KHJhbmdlKSwK Ky0gICAgICBbJl08dHlwZW5hbWUgVD4oVCYmIHZhbHVlKSB7IGNvbnRhaW5lci5BcHBlbmQoc3Rk Ojpmb3J3YXJkPFQ+KHZhbHVlKSk7IH0sCistICAgICAgc3RkOjptb3ZlKHByb2opKTsKKysgICAg ICBbJl0oYXV0byYmIHZhbHVlKSB7IGNvbnRhaW5lci5BcHBlbmQoc3RkOjppbnZva2UocHJvaiwg c3RkOjpmb3J3YXJkPGRlY2x0eXBlKCpzdGQ6OnJhbmdlczo6YmVnaW4ocmFuZ2UpKT4odmFsdWUp KSk7IH0pOworICAgcmV0dXJuIGNvbnRhaW5lcjsKKyB9CisgCgpkaWZmIC0tZ2l0IGEvY2hyb21p dW0uc3BlYyBiL2Nocm9taXVtLnNwZWMKaW5kZXggOGUyYTUzMS4uMzVkMjE2YSAxMDA2NDQKLS0t IGEvY2hyb21pdW0uc3BlYworKysgYi9jaHJvbWl1bS5zcGVjCkBAIC0xNTIsMTQgKzE1MiwxNCBA QAogJWlmICV7ZW5hYmxlX3F0fQogJWlmIDAlez9yaGVsfSA+IDkgfHwgMCV7P2ZlZG9yYX0gPiAz OQogJWdsb2JhbCB1c2VfcXQ2IDEKLSVnbG9iYWwgdXNlX3F0IDEKKyVnbG9iYWwgdXNlX3F0NSAx CiAlZWxzZQogJWdsb2JhbCB1c2VfcXQ2IDAKLSVnbG9iYWwgdXNlX3F0IDEKKyVnbG9iYWwgdXNl X3F0NSAxCiAlZW5kaWYKICVlbHNlCiAlZ2xvYmFsIHVzZV9xdDYgMAotJWdsb2JhbCB1c2VfcXQg MAorJWdsb2JhbCB1c2VfcXQ1IDAKICVlbmRpZgogCiAjIGJ1bmRsZSByZTIsIGpzb25jcHAsIHdv ZmYyIC0gYnVpbGQgZXJyb3JzIHdpdGggdXNlX2N1c3RvbV9saWJjeHg9dHJ1ZQpAQCAtMjYxLDcg KzI2MSw3IEBACiAlZW5kaWYKIAogTmFtZToJY2hyb21pdW0KLVZlcnNpb246IDEzMy4wLjY5NDMu MTQxCitWZXJzaW9uOiAxMzQuMC42OTk4LjM1IAogUmVsZWFzZTogMSV7P2Rpc3R9CiBTdW1tYXJ5 OiBBIFdlYktpdCAoQmxpbmspIHBvd2VyZWQgd2ViIGJyb3dzZXIgdGhhdCBHb29nbGUgZG9lc24n dCB3YW50IHlvdSB0byB1c2UKIFVybDogaHR0cDovL3d3dy5jaHJvbWl1bS5vcmcvSG9tZQpAQCAt MzIxLDcgKzMyMSw3IEBAIFBhdGNoMzA1OiBjaHJvbWl1bS0xMjQtZWw4LWFybTY0LW1lbW9yeV90 YWdnaW5nLnBhdGNoCiBQYXRjaDMwNjogY2hyb21pdW0tMTI3LWVsOC1pZnVuYy1oZWFkZXIucGF0 Y2gKIAogIyB3b3JrYXJvdW5kIGZvciBidWlsZCBlcnJvciBkdWUgdG8gb2xkIGF0ayB2ZXJzaW9u IG9uIGVsOAotUGF0Y2gzMDc6IGNocm9taXVtLTEzMy1lbDgtYXRrLWNvbXBpbGVyLWVycm9yLnBh dGNoCitQYXRjaDMwNzogY2hyb21pdW0tMTM0LWVsOC1hdGstY29tcGlsZXItZXJyb3IucGF0Y2gK ICMgRml4IGJ1aWxkIGVycm9ycyBkdWUgdG8gb2xkIGNsYW5nMTggaW4gZWwgOC85IGFuZCBmNDAK IFBhdGNoMzA4OiBjaHJvbWl1bS0xMzItZWw4LXVuc3VwcG9ydC1jbGFuZy1mbGFncy5wYXRjaAog UGF0Y2gzMDk6IGNocm9taXVtLTEzMi1lbDgtdW5zdXBwb3J0LXJ1c3RjLWZsYWdzLnBhdGNoCkBA IC0zMzAsMTIgKzMzMCwxNiBAQCBQYXRjaDMxMTogY2hyb21pdW0tMTMzLWNsYW5nMTgtdGVtcGxh dGUucGF0Y2gKIAogIyBlbmFibGUgZnN0YWNrLXByb3RlY3Rvci1zdHJvbmcKIFBhdGNoMzEyOiBj aHJvbWl1bS0xMjMtZnN0YWNrLXByb3RlY3Rvci1zdHJvbmcucGF0Y2gKKwogIyBidWlsZCBlcnJv ciBzdGRhcmNoX2FybV9jcmMzMgogUGF0Y2gzMTM6IGNocm9taXVtLTEzMy1ydXN0LWNyYzMyZmFz dC5wYXRjaAogCiAjIHdhcm5pbmc6IHVua25vd24gd2FybmluZyBvcHRpb24gJy1Xbm8tbm9udHJp dmlhbC1tZW1jYWxsJwogUGF0Y2gzMTQ6IGNocm9taXVtLTEzNC1jbGFuZy11bmtub3duLW9wdGlv bi5wYXRjaAogCisjIGJ1aWxkIGVycm9yOiBsaWJhZGxlcjIgbm90IGZvdW5kCitQYXRjaDMxNTog Y2hyb21pdW0tMTM0LXJ1c3QtbGliYWRsZXIyLnBhdGNoCisKICMgYWRkIC1mdHJpdmlhbC1hdXRv LXZhci1pbml0PXplcm8gYW5kIC1md3JhcHYKIFBhdGNoMzE2OiBjaHJvbWl1bS0xMjItY2xhbmct YnVpbGQtZmxhZ3MucGF0Y2gKIApAQCAtMzQzLDYgKzM0Nyw3IEBAIFBhdGNoMzE2OiBjaHJvbWl1 bS0xMjItY2xhbmctYnVpbGQtZmxhZ3MucGF0Y2gKICMgaHR0cHM6Ly9idWdzLmNocm9taXVtLm9y Zy9wL2Nocm9taXVtL2lzc3Vlcy9kZXRhaWw/aWQ9MTE0NTU4MSNjNjAKICMgRGlzYWJsZSBCVEkg dW50aWwgdGhpcyBpcyBmaXhlZCB1cHN0cmVhbS4KIFBhdGNoMzUyOiBjaHJvbWl1bS0xMTctd29y a2Fyb3VuZF9mb3JfY3Jhc2hfb25fQlRJX2NhcGFibGVfc3lzdGVtLnBhdGNoCisKICMgd29ya2Fy b3VuZCBmb3IgYnVpbGQgZXJyb3Igb24gYWFyY2g2NAogUGF0Y2gzNTM6IGNocm9taXVtLTEyNy1h YXJjaDY0LWR1cGxpY2F0ZS1jYXNlLXZhbHVlLnBhdGNoCiAKQEAgLTM1NSw2ICszNjAsOSBAQCBQ YXRjaDM1NTogY2hyb21pdW0tMTMwLWhhcmR3YXJlX2Rlc3RydWN0aXZlX2ludGVyZmVyZW5jZV9z aXplLnBhdGNoCiAjIGZpeCBidWlsZCBlcnJvciB3aXRoIG5ldyBwaXBld2lyZSBpbiBmNDMKIFBh dGNoMzU2OiBjaHJvbWl1bS0xMzMtcGlwZXdpcmUtY2FzdC5wYXRjaAogCisjIGVycm9yOiBubyBt YXRjaGluZyBtZW1iZXIgZnVuY3Rpb24gZm9yIGNhbGwgdG8gJ0FwcGVuZCcKK1BhdGNoMzU3OiBj aHJvbWl1bS0xMzQtdHlwZS1taXNtYXRjaC1lcnJvci5wYXRjaAorCiAjIHNldCBjbGFuZ19saWIg cGF0aAogUGF0Y2gzNTg6IGNocm9taXVtLTEyNy1ydXN0LWNsYW5nbGliLnBhdGNoCiAKQEAgLTUy Niw3ICs1MzQsNyBAQCBCdWlsZFJlcXVpcmVzOglnbGliMi1kZXZlbAogQnVpbGRSZXF1aXJlczoJ Z2xpYmMtZGV2ZWwKIEJ1aWxkUmVxdWlyZXM6CWdwZXJmCiAKLSVpZiAle3VzZV9xdH0KKyVpZiAl e3VzZV9xdDV9CiBCdWlsZFJlcXVpcmVzOiBwa2djb25maWcoUXQ1Q29yZSkKIEJ1aWxkUmVxdWly ZXM6IHBrZ2NvbmZpZyhRdDVXaWRnZXRzKQogJWVuZGlmCkBAIC0xMDMxLDggKzEwMzksOCBAQCBR dDYgVUkgZm9yIGNocm9taXVtLgogJXBhdGNoIC1QMzEzIC1wMSAtYiAucnVzdC1jcmMzMmZhc3QK ICVlbmRpZgogJWVuZGlmCi0KICVwYXRjaCAtUDMxNCAtcDEgLWIgLmNsYW5nLXVua25vd24tb3B0 aW9uCislcGF0Y2ggLVAzMTUgLXAxIC1iIC5ydXN0LWxpYmFkbGVyMgogJXBhdGNoIC1QMzE2IC1w MSAtYiAuY2xhbmctYnVpbGQtZmxhZ3MKIAogJWlmICV7ZGlzYWJsZV9idGl9CkBAIC0xMDUzLDYg KzEwNjEsOCBAQCBRdDYgVUkgZm9yIGNocm9taXVtLgogJXBhdGNoIC1QMzU2IC1wMSAtYiAucGlw ZXdpcmUtY2FzdAogJWVuZGlmCiAKKyVwYXRjaCAtUDM1NyAtcDEgLWIgLnR5cGUtbWlzbWF0Y2gt ZXJyb3IKKwogJXBhdGNoIC1QMzU4IC1wMSAtYiAucnVzdC1jbGFuZ19saWIKIAogJWlmYXJjaCBw cGM2NGxlCkBAIC0xMzEzLDEwICsxMzIzLDEwIEBAIENIUk9NSVVNX0JST1dTRVJfR05fREVGSU5F Uys9JyBydGNfdXNlX2gyNjQ9ZmFsc2UnCiAlZW5kaWYKIENIUk9NSVVNX0JST1dTRVJfR05fREVG SU5FUys9JyB1c2Vfa2VyYmVyb3M9dHJ1ZScKIAotJWlmICV7dXNlX3F0fQotQ0hST01JVU1fQlJP V1NFUl9HTl9ERUZJTkVTKz0iIHVzZV9xdD10cnVlIG1vY19xdDVfcGF0aD1cIiQoJXtfcXQ1X3Ft YWtlfSAtcXVlcnkgUVRfSE9TVF9CSU5TKVwiIgorJWlmICV7dXNlX3F0NX0KK0NIUk9NSVVNX0JS T1dTRVJfR05fREVGSU5FUys9IiB1c2VfcXQ1PXRydWUgbW9jX3F0NV9wYXRoPVwiJCgle19xdDVf cW1ha2V9IC1xdWVyeSBRVF9IT1NUX0JJTlMpXCIiCiAlZWxzZQotQ0hST01JVU1fQlJPV1NFUl9H Tl9ERUZJTkVTKz0nIHVzZV9xdD1mYWxzZScKK0NIUk9NSVVNX0JST1dTRVJfR05fREVGSU5FUys9 JyB1c2VfcXQ1PWZhbHNlJwogJWVuZGlmCiAKICVpZiAle3VzZV9xdDZ9CkBAIC0xMzc4LDcgKzEz ODgsNyBAQCBDSFJPTUlVTV9IRUFETEVTU19HTl9ERUZJTkVTKz0nIHY4X3VzZV9leHRlcm5hbF9z dGFydHVwX2RhdGE9ZmFsc2UgZW5hYmxlX3ByaW50XwogQ0hST01JVU1fSEVBRExFU1NfR05fREVG SU5FUys9JyB1c2VfYWxzYT1mYWxzZSB1c2VfYmx1ZXo9ZmFsc2UgdXNlX2N1cHM9ZmFsc2UgdXNl X2RidXM9ZmFsc2UgdXNlX2dpbz1mYWxzZSB1c2Vfa2VyYmVyb3M9ZmFsc2UnCiBDSFJPTUlVTV9I RUFETEVTU19HTl9ERUZJTkVTKz0nIHVzZV9saWJwY2k9ZmFsc2UgdXNlX3B1bHNlYXVkaW89ZmFs c2UgdXNlX3VkZXY9ZmFsc2UgcnRjX3VzZV9waXBld2lyZT1mYWxzZScKIENIUk9NSVVNX0hFQURM RVNTX0dOX0RFRklORVMrPScgdjhfZW5hYmxlX2xhenlfc291cmNlX3Bvc2l0aW9ucz1mYWxzZSB1 c2VfZ2xpYj1mYWxzZSB1c2VfZ3RrPWZhbHNlIHVzZV9wYW5nb2NhaXJvPWZhbHNlJwotQ0hST01J VU1fSEVBRExFU1NfR05fREVGSU5FUys9JyB1c2VfcXQ9ZmFsc2UgdXNlX3F0Nj1mYWxzZSBpc19j b21wb25lbnRfYnVpbGQ9ZmFsc2UgZW5hYmxlX2ZmbXBlZ192aWRlb19kZWNvZGVycz1mYWxzZSBt ZWRpYV91c2VfZmZtcGVnPWZhbHNlJworQ0hST01JVU1fSEVBRExFU1NfR05fREVGSU5FUys9JyB1 c2VfcXQ1PWZhbHNlIHVzZV9xdDY9ZmFsc2UgaXNfY29tcG9uZW50X2J1aWxkPWZhbHNlIGVuYWJs ZV9mZm1wZWdfdmlkZW9fZGVjb2RlcnM9ZmFsc2UgbWVkaWFfdXNlX2ZmbXBlZz1mYWxzZScKIENI Uk9NSVVNX0hFQURMRVNTX0dOX0RFRklORVMrPScgbWVkaWFfdXNlX2xpYnZweD1mYWxzZSBwcm9w cmlldGFyeV9jb2RlY3M9ZmFsc2UnCiBleHBvcnQgQ0hST01JVU1fSEVBRExFU1NfR05fREVGSU5F UwogCkBAIC0xNTU2LDcgKzE1NjYsNyBAQCBwdXNoZCAle2Nocm9tZWJ1aWxkZGlyfQogCSMgVGhp cyBpcyBBTkdMRSwgbm90IHRvIGJlIGNvbmZ1c2VkIHdpdGggdGhlIHNpbWlsYXJseSBuYW1lZCBm aWxlcyB1bmRlciBzd2lmdHNoYWRlci8KIAljcCAtYSBsaWJFR0wuc28gbGliR0xFU3YyLnNvICV7 YnVpbGRyb290fSV7Y2hyb21pdW1fcGF0aH0KIAotCSVpZiAle3VzZV9xdH0KKwklaWYgJXt1c2Vf cXQ1fQogCQljcCAtYSBsaWJxdDVfc2hpbS5zbyAle2J1aWxkcm9vdH0le2Nocm9taXVtX3BhdGh9 CiAJJWVuZGlmCiAKQEAgLTE2NDksNyArMTY1OSw3IEBAIGZpCiAle19kYXRhZGlyfS9hcHBkYXRh LyouYXBwZGF0YS54bWwKICV7X2RhdGFkaXJ9L2dub21lLWNvbnRyb2wtY2VudGVyL2RlZmF1bHQt YXBwcy9jaHJvbWl1bS1icm93c2VyLnhtbAogCi0laWYgJXt1c2VfcXR9CislaWYgJXt1c2VfcXQ1 fQogJWZpbGVzIHF0NS11aQogJXtjaHJvbWl1bV9wYXRofS9saWJxdDVfc2hpbS5zbwogJWVuZGlm CkBAIC0xNzUyLDYgKzE3NjIsMTggQEAgZmkKICVlbmRpZgogCiAlY2hhbmdlbG9nCisqIFdlZCBN YXIgMDUgMjAyNSBUaGFuIE5nbyA8dGhhbkByZWRoYXQuY29tPiAtICAxMzQuMC42OTk4LjM1IC0x CistIFVwZGF0ZSB0byAxMzQuMC42OTk4LjM1CisgICogQ1ZFLTIwMjUtMTkxNDogT3V0IG9mIGJv dW5kcyByZWFkIGluIFY4CisgICogQ1ZFLTIwMjUtMTkxNTogSW1wcm9wZXIgTGltaXRhdGlvbiBv ZiBhIFBhdGhuYW1lIHRvIGEgUmVzdHJpY3RlZCBEaXJlY3RvcnkgaW4gRGV2VG9vbHMKKyAgKiBD VkUtMjAyNS0xOTE2OiBVc2UgYWZ0ZXIgZnJlZSBpbiBQcm9maWxlcworICAqIENWRS0yMDI1LTE5 MTc6IEluYXBwcm9wcmlhdGUgSW1wbGVtZW50YXRpb24gaW4gQnJvd3NlciBVSQorICAqIENWRS0y MDI1LTE5MTg6IE91dCBvZiBib3VuZHMgcmVhZCBpbiBQREZpdW0KKyAgKiBDVkUtMjAyNS0xOTE5 OiBPdXQgb2YgYm91bmRzIHJlYWQgaW4gTWVkaWEKKyAgKiBDVkUtMjAyNS0xOTIxOiBJbmFwcHJv cHJpYXRlIEltcGxlbWVudGF0aW9uIGluIE1lZGlhIFN0cmVhbQorICAqIENWRS0yMDI1LTE5MjI6 IEluYXBwcm9wcmlhdGUgSW1wbGVtZW50YXRpb24gaW4gU2VsZWN0aW9uCisgICogQ1ZFLTIwMjUt MTkyMzogSW5hcHByb3ByaWF0ZSBJbXBsZW1lbnRhdGlvbiBpbiBQZXJtaXNzaW9uIFByb21wdHMK KwogKiBXZWQgRmViIDI2IDIwMjUgVGhhbiBOZ28gPHRoYW5AcmVkaGF0LmNvbT4gLSAxMzMuMC42 OTQzLjE0MS0xCiAtIFVwZGF0ZSB0byAxMzMuMC42OTQzLjE0MQogCgpkaWZmIC0tZ2l0IGEvc2tp YS12c3gtaW5zdHJ1Y3Rpb25zLnBhdGNoIGIvc2tpYS12c3gtaW5zdHJ1Y3Rpb25zLnBhdGNoCmlu ZGV4IGQ3OGQ2Y2QuLmZhYWMzOWYgMTAwNjQ0Ci0tLSBhL3NraWEtdnN4LWluc3RydWN0aW9ucy5w YXRjaAorKysgYi9za2lhLXZzeC1pbnN0cnVjdGlvbnMucGF0Y2gKQEAgLTEsNyArMSw3IEBACi1J bmRleDogY2hyb21pdW0tMTMyLjAuNjgzNC44My90aGlyZF9wYXJ0eS9za2lhL0JVSUxELmduCitJ bmRleDogY2hyb21pdW0tMTM0LjAuNjk5OC4zNS90aGlyZF9wYXJ0eS9za2lhL0JVSUxELmduCiA9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09Ci0tLS0gY2hyb21pdW0tMTMyLjAuNjgzNC44My5vcmlnL3RoaXJkX3BhcnR5L3Nr aWEvQlVJTEQuZ24KLSsrKyBjaHJvbWl1bS0xMzIuMC42ODM0LjgzL3RoaXJkX3BhcnR5L3NraWEv QlVJTEQuZ24KKy0tLSBjaHJvbWl1bS0xMzQuMC42OTk4LjM1Lm9yaWcvdGhpcmRfcGFydHkvc2tp YS9CVUlMRC5nbgorKysrIGNocm9taXVtLTEzNC4wLjY5OTguMzUvdGhpcmRfcGFydHkvc2tpYS9C VUlMRC5nbgogQEAgLTE5Myw2ICsxOTMsMTIgQEAgb3B0cygibGFzeCIpIHsKICAgIGNmbGFncyA9 IFsgIi1tbGFzeCIgXQogIH0KQEAgLTE1LDcgKzE1LDcgQEAgSW5kZXg6IGNocm9taXVtLTEzMi4w LjY4MzQuODMvdGhpcmRfcGFydHkvc2tpYS9CVUlMRC5nbgogICMgQW55IGZlYXR1cmUgb2YgU2tp YSB0aGF0IHJlcXVpcmVzIHRoaXJkLXBhcnR5IGNvZGUgc2hvdWxkIGJlIG9wdGlvbmFsIGFuZCB1 c2UgdGhpcyB0ZW1wbGF0ZS4KICB0ZW1wbGF0ZSgib3B0aW9uYWwiKSB7CiAgICBpZiAoaW52b2tl ci5lbmFibGVkKSB7Ci1AQCAtMTYwMSw2ICsxNjA3LDcgQEAgc2tpYV9jb21wb25lbnQoInNraWEi KSB7CitAQCAtMTY0Miw2ICsxNjQ4LDcgQEAgc2tpYV9jb21wb25lbnQoInNraWEiKSB7CiAgICAg ICI6c2t4IiwKICAgICAgIjp0eXBlZmFjZV9mb250YXRpb25zIiwKICAgICAgIjp2ZWxsbyIsCkBA IC0yMyw3ICsyMyw3IEBAIEluZGV4OiBjaHJvbWl1bS0xMzIuMC42ODM0LjgzL3RoaXJkX3BhcnR5 L3NraWEvQlVJTEQuZ24KICAgICAgIjp3ZWJwX2RlY29kZSIsCiAgICAgICI6d3VmZnMiLAogICAg ICAiOnhtbCIsCi1AQCAtMTc3Miw3ICsxNzc5LDEwIEBAIHNraWFfc3RhdGljX2xpYnJhcnkoInBh dGhraXQiKSB7CitAQCAtMTgxMyw3ICsxODIwLDEwIEBAIHNraWFfc3RhdGljX2xpYnJhcnkoInBh dGhraXQiKSB7CiAgICBwdWJsaWNfY29uZmlncyA9IFsgIjpza2lhX3B1YmxpYyIgXQogICAgY29u ZmlncyA9IHNraWFfbGlicmFyeV9jb25maWdzCiAgCkBAIC0zNSwxMSArMzUsMTEgQEAgSW5kZXg6 IGNocm9taXVtLTEzMi4wLjY4MzQuODMvdGhpcmRfcGFydHkvc2tpYS9CVUlMRC5nbgogIAogICAg c291cmNlcyA9IFtdCiAgICBzb3VyY2VzICs9IHNraWFfcGF0aG9wc19zb3VyY2VzCi1JbmRleDog Y2hyb21pdW0tMTMyLjAuNjgzNC44My90aGlyZF9wYXJ0eS9za2lhL2duL3NraWEvQlVJTEQuZ24K K0luZGV4OiBjaHJvbWl1bS0xMzQuMC42OTk4LjM1L3RoaXJkX3BhcnR5L3NraWEvZ24vc2tpYS9C VUlMRC5nbgogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQotLS0tIGNocm9taXVtLTEzMi4wLjY4MzQuODMub3JpZy90aGly ZF9wYXJ0eS9za2lhL2duL3NraWEvQlVJTEQuZ24KLSsrKyBjaHJvbWl1bS0xMzIuMC42ODM0Ljgz L3RoaXJkX3BhcnR5L3NraWEvZ24vc2tpYS9CVUlMRC5nbgotQEAgLTE2Nyw2ICsxNjcsOCBAQCBj b25maWcoImRlZmF1bHQiKSB7CistLS0gY2hyb21pdW0tMTM0LjAuNjk5OC4zNS5vcmlnL3RoaXJk X3BhcnR5L3NraWEvZ24vc2tpYS9CVUlMRC5nbgorKysrIGNocm9taXVtLTEzNC4wLjY5OTguMzUv dGhpcmRfcGFydHkvc2tpYS9nbi9za2lhL0JVSUxELmduCitAQCAtMTY2LDYgKzE2Niw4IEBAIGNv bmZpZygiZGVmYXVsdCIpIHsKICAgICAgICAiLW1mcG1hdGg9c3NlIiwKICAgICAgXQogICAgICBs ZGZsYWdzICs9IFsgIi1tMzIiIF0KQEAgLTQ4LDEwICs0OCwxMCBAQCBJbmRleDogY2hyb21pdW0t MTMyLjAuNjgzNC44My90aGlyZF9wYXJ0eS9za2lhL2duL3NraWEvQlVJTEQuZ24KICAgIH0gZWxz ZSBpZiAoY3VycmVudF9jcHUgPT0gImxvb25nNjQiKSB7CiAgICAgIGNmbGFncyArPSBbCiAgICAg ICAgIi1tbHN4IiwKLUluZGV4OiBjaHJvbWl1bS0xMzIuMC42ODM0LjgzL3RoaXJkX3BhcnR5L3Nr aWEvaW5jbHVkZS9jb3JlL1NrVHlwZXMuaAorSW5kZXg6IGNocm9taXVtLTEzNC4wLjY5OTguMzUv dGhpcmRfcGFydHkvc2tpYS9pbmNsdWRlL2NvcmUvU2tUeXBlcy5oCiA9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0g Y2hyb21pdW0tMTMyLjAuNjgzNC44My5vcmlnL3RoaXJkX3BhcnR5L3NraWEvaW5jbHVkZS9jb3Jl L1NrVHlwZXMuaAotKysrIGNocm9taXVtLTEzMi4wLjY4MzQuODMvdGhpcmRfcGFydHkvc2tpYS9p bmNsdWRlL2NvcmUvU2tUeXBlcy5oCistLS0gY2hyb21pdW0tMTM0LjAuNjk5OC4zNS5vcmlnL3Ro aXJkX3BhcnR5L3NraWEvaW5jbHVkZS9jb3JlL1NrVHlwZXMuaAorKysrIGNocm9taXVtLTEzNC4w LjY5OTguMzUvdGhpcmRfcGFydHkvc2tpYS9pbmNsdWRlL2NvcmUvU2tUeXBlcy5oCiBAQCAtMTgz LDQgKzE4Myw0MyBAQCBzdGF0aWMgY29uc3RleHByIHVpbnQzMl90IFNLX0ludmFsaWRHZW5JCiAg Ki8KICBzdGF0aWMgY29uc3RleHByIHVpbnQzMl90IFNLX0ludmFsaWRVbmlxdWVJRCA9IDA7CkBA IC05NiwxMCArOTYsMTAgQEAgSW5kZXg6IGNocm9taXVtLTEzMi4wLjY4MzQuODMvdGhpcmRfcGFy dHkvc2tpYS9pbmNsdWRlL2NvcmUvU2tUeXBlcy5oCiArI2VuZGlmCiArCiAgI2VuZGlmCi1JbmRl eDogY2hyb21pdW0tMTMyLjAuNjgzNC44My90aGlyZF9wYXJ0eS9za2lhL3NyYy9iYXNlL1NrU3Bp bmxvY2suY3BwCitJbmRleDogY2hyb21pdW0tMTM0LjAuNjk5OC4zNS90aGlyZF9wYXJ0eS9za2lh L3NyYy9iYXNlL1NrU3BpbmxvY2suY3BwCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gY2hyb21pdW0tMTMyLjAu NjgzNC44My5vcmlnL3RoaXJkX3BhcnR5L3NraWEvc3JjL2Jhc2UvU2tTcGlubG9jay5jcHAKLSsr KyBjaHJvbWl1bS0xMzIuMC42ODM0LjgzL3RoaXJkX3BhcnR5L3NraWEvc3JjL2Jhc2UvU2tTcGlu bG9jay5jcHAKKy0tLSBjaHJvbWl1bS0xMzQuMC42OTk4LjM1Lm9yaWcvdGhpcmRfcGFydHkvc2tp YS9zcmMvYmFzZS9Ta1NwaW5sb2NrLmNwcAorKysrIGNocm9taXVtLTEzNC4wLjY5OTguMzUvdGhp cmRfcGFydHkvc2tpYS9zcmMvYmFzZS9Ta1NwaW5sb2NrLmNwcAogQEAgLTMzLDcgKzMzLDggQEAK ICAjZW5kaWYKICAKQEAgLTExMCwxMCArMTEwLDEwIEBAIEluZGV4OiBjaHJvbWl1bS0xMzIuMC42 ODM0LjgzL3RoaXJkX3BhcnR5L3NraWEvc3JjL2Jhc2UvU2tTcGlubG9jay5jcHAKICAgICAgI2lu Y2x1ZGUgPGVtbWludHJpbi5oPgogICAgICBzdGF0aWMgdm9pZCBkb19wYXVzZSgpIHsgX21tX3Bh dXNlKCk7IH0KICAjZWxzZQotSW5kZXg6IGNocm9taXVtLTEzMi4wLjY4MzQuODMvdGhpcmRfcGFy dHkvc2tpYS9zcmMvb3B0cy9Ta0JpdG1hcFByb2NTdGF0ZV9vcHRzLmgKK0luZGV4OiBjaHJvbWl1 bS0xMzQuMC42OTk4LjM1L3RoaXJkX3BhcnR5L3NraWEvc3JjL29wdHMvU2tCaXRtYXBQcm9jU3Rh dGVfb3B0cy5oCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gY2hyb21pdW0tMTMyLjAuNjgzNC44My5vcmlnL3Ro aXJkX3BhcnR5L3NraWEvc3JjL29wdHMvU2tCaXRtYXBQcm9jU3RhdGVfb3B0cy5oCi0rKysgY2hy b21pdW0tMTMyLjAuNjgzNC44My90aGlyZF9wYXJ0eS9za2lhL3NyYy9vcHRzL1NrQml0bWFwUHJv Y1N0YXRlX29wdHMuaAorLS0tIGNocm9taXVtLTEzNC4wLjY5OTguMzUub3JpZy90aGlyZF9wYXJ0 eS9za2lhL3NyYy9vcHRzL1NrQml0bWFwUHJvY1N0YXRlX29wdHMuaAorKysrIGNocm9taXVtLTEz NC4wLjY5OTguMzUvdGhpcmRfcGFydHkvc2tpYS9zcmMvb3B0cy9Ta0JpdG1hcFByb2NTdGF0ZV9v cHRzLmgKIEBAIC0yMSw3ICsyMSwxMyBAQAogIC8vIFRoZSByZXN0IGFyZSBzY2F0dGVyc2hvdCBh dCB0aGUgbW9tZW50IGJ1dCBJIHdhbnQgdG8gZ2V0IHRoZW0KICAvLyBhbGwgbWlncmF0ZWQgdG8g YmUgbm9ybWFsIGNvZGUgaW5zaWRlIFNrQml0bWFwUHJvY1N0YXRlLmNwcC4KQEAgLTEyOSwxMCAr MTI5LDEwIEBAIEluZGV4OiBjaHJvbWl1bS0xMzIuMC42ODM0LjgzL3RoaXJkX3BhcnR5L3NraWEv c3JjL29wdHMvU2tCaXRtYXBQcm9jU3RhdGVfb3B0cy5oCiAgICAgICNpbmNsdWRlIDxpbW1pbnRy aW4uaD4KICAjZWxpZiBkZWZpbmVkKFNLX0FSTV9IQVNfTkVPTikKICAgICAgI2luY2x1ZGUgPGFy bV9uZW9uLmg+Ci1JbmRleDogY2hyb21pdW0tMTMyLjAuNjgzNC44My90aGlyZF9wYXJ0eS9za2lh L3NyYy9vcHRzL1NrQmxpdFJvd19vcHRzLmgKK0luZGV4OiBjaHJvbWl1bS0xMzQuMC42OTk4LjM1 L3RoaXJkX3BhcnR5L3NraWEvc3JjL29wdHMvU2tCbGl0Um93X29wdHMuaAogPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot LS0tIGNocm9taXVtLTEzMi4wLjY4MzQuODMub3JpZy90aGlyZF9wYXJ0eS9za2lhL3NyYy9vcHRz L1NrQmxpdFJvd19vcHRzLmgKLSsrKyBjaHJvbWl1bS0xMzIuMC42ODM0LjgzL3RoaXJkX3BhcnR5 L3NraWEvc3JjL29wdHMvU2tCbGl0Um93X29wdHMuaAorLS0tIGNocm9taXVtLTEzNC4wLjY5OTgu MzUub3JpZy90aGlyZF9wYXJ0eS9za2lhL3NyYy9vcHRzL1NrQmxpdFJvd19vcHRzLmgKKysrKyBj aHJvbWl1bS0xMzQuMC42OTk4LjM1L3RoaXJkX3BhcnR5L3NraWEvc3JjL29wdHMvU2tCbGl0Um93 X29wdHMuaAogQEAgLTY5LDcgKzY5LDcgQEAKICAjZW5kaWYKICAKQEAgLTE0MiwxMCArMTQyLDEw IEBAIEluZGV4OiBjaHJvbWl1bS0xMzIuMC42ODM0LjgzL3RoaXJkX3BhcnR5L3NraWEvc3JjL29w dHMvU2tCbGl0Um93X29wdHMuaAogIAogICAgICBzdGF0aWMgaW5saW5lIF9fbTEyOGkgU2tQTVNy Y092ZXJfU1NFMihjb25zdCBfX20xMjhpJiBzcmMsIGNvbnN0IF9fbTEyOGkmIGRzdCkgewogICAg ICAgICAgX19tMTI4aSBzY2FsZSA9IF9tbV9zdWJfZXBpMzIoX21tX3NldDFfZXBpMzIoMjU2KSwK LUluZGV4OiBjaHJvbWl1bS0xMzIuMC42ODM0LjgzL3RoaXJkX3BhcnR5L3NraWEvc3JjL29wdHMv U2tSYXN0ZXJQaXBlbGluZV9vcHRzLmgKK0luZGV4OiBjaHJvbWl1bS0xMzQuMC42OTk4LjM1L3Ro aXJkX3BhcnR5L3NraWEvc3JjL29wdHMvU2tSYXN0ZXJQaXBlbGluZV9vcHRzLmgKID09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KLS0tLSBjaHJvbWl1bS0xMzIuMC42ODM0LjgzLm9yaWcvdGhpcmRfcGFydHkvc2tpYS9zcmMv b3B0cy9Ta1Jhc3RlclBpcGVsaW5lX29wdHMuaAotKysrIGNocm9taXVtLTEzMi4wLjY4MzQuODMv dGhpcmRfcGFydHkvc2tpYS9zcmMvb3B0cy9Ta1Jhc3RlclBpcGVsaW5lX29wdHMuaAorLS0tIGNo cm9taXVtLTEzNC4wLjY5OTguMzUub3JpZy90aGlyZF9wYXJ0eS9za2lhL3NyYy9vcHRzL1NrUmFz dGVyUGlwZWxpbmVfb3B0cy5oCisrKysgY2hyb21pdW0tMTM0LjAuNjk5OC4zNS90aGlyZF9wYXJ0 eS9za2lhL3NyYy9vcHRzL1NrUmFzdGVyUGlwZWxpbmVfb3B0cy5oCiBAQCAtMSw1ICsxLDYgQEAK ICAvKgogICAqIENvcHlyaWdodCAyMDE4IEdvb2dsZSBJbmMuCkBAIC0xNzEsNyArMTcxLDcgQEAg SW5kZXg6IGNocm9taXVtLTEzMi4wLjY4MzQuODMvdGhpcmRfcGFydHkvc2tpYS9zcmMvb3B0cy9T a1Jhc3RlclBpcGVsaW5lX29wdHMuaAogICNlbGlmIGRlZmluZWQoU0tSUF9DUFVfTEFTWCkKICAg ICAgI2luY2x1ZGUgPGxhc3hpbnRyaW4uaD4KICAgICAgI2luY2x1ZGUgPGxzeGludHJpbi5oPgot QEAgLTE5NSw2ICsyMDAsMTg0IEBAIG5hbWVzcGFjZSBTS19PUFRTX05TIHsKK0BAIC0xOTQsNiAr MTk5LDE4NCBAQCBuYW1lc3BhY2UgU0tfT1BUU19OUyB7CiAgICAgICAgICBwdHJbM10gPSBhOwog ICAgICB9CiAgCkBAIC0zNTYsNyArMzU2LDcgQEAgSW5kZXg6IGNocm9taXVtLTEzMi4wLjY4MzQu ODMvdGhpcmRfcGFydHkvc2tpYS9zcmMvb3B0cy9Ta1Jhc3RlclBpcGVsaW5lX29wdHMuaAogICNl bGlmIGRlZmluZWQoU0tSUF9DUFVfTkVPTikKICAgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+IHVz aW5nIFYgPSBWZWM8NCwgVD47CiAgICAgIHVzaW5nIEYgICA9IFY8ZmxvYXQgICA+OwotQEAgLTE0 MDEsNiArMTU4NCwxNSBAQCBTSSBGIGZyb21faGFsZihVMTYgaCkgeworQEAgLTEzODMsNiArMTU2 NiwxNSBAQCBTSSBGIGZyb21faGFsZihVMTYgaCkgewogICNlbGlmIGRlZmluZWQoU0tSUF9DUFVf SFNXKQogICAgICByZXR1cm4gX21tMjU2X2N2dHBoX3BzKChfX20xMjhpKWgpOwogIApAQCAtMzcy LDcgKzM3Miw3IEBAIEluZGV4OiBjaHJvbWl1bS0xMzIuMC42ODM0LjgzL3RoaXJkX3BhcnR5L3Nr aWEvc3JjL29wdHMvU2tSYXN0ZXJQaXBlbGluZV9vcHRzLmgKICAjZWxzZQogICAgICAvLyBSZW1l bWJlciwgYSBoYWxmIGlzIDEtNS0xMCAoc2lnbi1leHBvbmVudC1tYW50aXNzYSkgd2l0aCAxNSBl eHBvbmVudCBiaWFzLgogICAgICBVMzIgc2VtID0gZXhwYW5kKGgpLAotQEAgLTE0MjQsNiArMTYx NiwxNiBAQCBTSSBVMTYgdG9faGFsZihGIGYpIHsKK0BAIC0xNDA2LDYgKzE1OTgsMTYgQEAgU0kg VTE2IHRvX2hhbGYoRiBmKSB7CiAgI2VsaWYgZGVmaW5lZChTS1JQX0NQVV9IU1cpCiAgICAgIHJl dHVybiAoVTE2KV9tbTI1Nl9jdnRwc19waChmLCBfTU1fRlJPVU5EX0NVUl9ESVJFQ1RJT04pOwog IApAQCAtMzg5LDcgKzM4OSw3IEBAIEluZGV4OiBjaHJvbWl1bS0xMzIuMC42ODM0LjgzL3RoaXJk X3BhcnR5L3NraWEvc3JjL29wdHMvU2tSYXN0ZXJQaXBlbGluZV9vcHRzLmgKICAjZWxzZQogICAg ICAvLyBSZW1lbWJlciwgYSBmbG9hdCBpcyAxLTgtMjMgKHNpZ24tZXhwb25lbnQtbWFudGlzc2Ep IHdpdGggMTI3IGV4cG9uZW50IGJpYXMuCiAgICAgIFUzMiBzZW0gPSBza19iaXRfY2FzdDxVMzI+ KGYpLAotQEAgLTE0OTksNyArMTcwMSw3IEBAIHN0YXRpYyBjb25zdGV4cHIgc2l6ZV90IE4gPSBz aXplb2YoRikgLworQEAgLTE0ODEsNyArMTY4Myw3IEBAIHN0YXRpYyBjb25zdGV4cHIgc2l6ZV90 IE4gPSBzaXplb2YoRikgLwogICAgICAvLyBpbnN0ZWFkIG9mIHtiLGF9IG9uIHRoZSBzdGFjay4g IE5hcnJvdyBzdGFnZXMgd29yayBiZXN0IGZvciBfX3ZlY3RvcmNhbGwuCiAgICAgICNkZWZpbmUg QUJJIF9fdmVjdG9yY2FsbAogICAgICAjZGVmaW5lIFNLUlBfTkFSUk9XX1NUQUdFUyAxCkBAIC0z OTgsNyArMzk4LDcgQEAgSW5kZXg6IGNocm9taXVtLTEzMi4wLjY4MzQuODMvdGhpcmRfcGFydHkv c2tpYS9zcmMvb3B0cy9Ta1Jhc3RlclBpcGVsaW5lX29wdHMuaAogICAgICAvLyBUaGVzZSBwbGF0 Zm9ybXMgYXJlIGlkZWFsIGZvciB3aWRlciBzdGFnZXMsIGFuZCB0aGVpciBkZWZhdWx0IEFCSSBp cyBpZGVhbC4KICAgICAgI2RlZmluZSBBQkkKICAgICAgI2RlZmluZSBTS1JQX05BUlJPV19TVEFH RVMgMAotQEAgLTU0ODEsNiArNTY4MywxMCBAQCBTSSBGIHNxcnRfKEYgeCkgeworQEAgLTU0NzAs NiArNTY3MiwxMCBAQCBTSSBGIHNxcnRfKEYgeCkgewogICAgICBmbG9hdDMyeDRfdCBsbyxoaTsK ICAgICAgc3BsaXQoeCwgJmxvLCZoaSk7CiAgICAgIHJldHVybiBqb2luPEY+KHNxcnQobG8pLCBz cXJ0KGhpKSk7CkBAIC00MDksNyArNDA5LDcgQEAgSW5kZXg6IGNocm9taXVtLTEzMi4wLjY4MzQu ODMvdGhpcmRfcGFydHkvc2tpYS9zcmMvb3B0cy9Ta1Jhc3RlclBpcGVsaW5lX29wdHMuaAogICNl bGlmIGRlZmluZWQoU0tSUF9DUFVfTEFTWCkKICAgICAgX19tMjU2IGxvLGhpOwogICAgICBzcGxp dCh4LCAmbG8sJmhpKTsKLUBAIC01NTEyLDYgKzU3MTgsMTAgQEAgU0kgRiBmbG9vcl8oRiB4KSB7 CitAQCAtNTUwMSw2ICs1NzA3LDEwIEBAIFNJIEYgZmxvb3JfKEYgeCkgewogICAgICBfX20xMjgg bG8saGk7CiAgICAgIHNwbGl0KHgsICZsbywmaGkpOwogICAgICByZXR1cm4gam9pbjxGPihfbW1f Zmxvb3JfcHMobG8pLCBfbW1fZmxvb3JfcHMoaGkpKTsKQEAgLTQyMCw3ICs0MjAsNyBAQCBJbmRl eDogY2hyb21pdW0tMTMyLjAuNjgzNC44My90aGlyZF9wYXJ0eS9za2lhL3NyYy9vcHRzL1NrUmFz dGVyUGlwZWxpbmVfb3B0cy5oCiAgI2VsaWYgZGVmaW5lZChTS1JQX0NQVV9MQVNYKQogICAgICBf X20yNTYgbG8saGk7CiAgICAgIHNwbGl0KHgsICZsbywmaGkpOwotQEAgLTU1MzEsNiArNTc0MSw3 IEBAIFNJIEYgZmxvb3JfKEYgeCkgeworQEAgLTU1MjAsNiArNTczMCw3IEBAIFNJIEYgZmxvb3Jf KEYgeCkgewogIC8vICAgICAoMiAqIGEgKiBiICsgKDEgPDwgMTUpKSA+PiAxNgogIC8vIFRoZSBy ZXN1bHQgaXMgYSBudW1iZXIgb24gWy0xLCAxKS4KICAvLyBOb3RlOiBvbiBuZW9uIHRoaXMgaXMg YSBzYXR1cmF0aW5nIG11bHRpcGx5IHdoaWxlIHRoZSBvdGhlcnMgYXJlIG5vdC4KQEAgLTQyOCw3 ICs0MjgsNyBAQCBJbmRleDogY2hyb21pdW0tMTMyLjAuNjgzNC44My90aGlyZF9wYXJ0eS9za2lh L3NyYy9vcHRzL1NrUmFzdGVyUGlwZWxpbmVfb3B0cy5oCiAgU0kgSTE2IHNjYWxlZF9tdWx0KEkx NiBhLCBJMTYgYikgewogICNpZiBkZWZpbmVkKFNLUlBfQ1BVX1NLWCkKICAgICAgcmV0dXJuIChJ MTYpX21tMjU2X211bGhyc19lcGkxNigoX19tMjU2aSlhLCAoX19tMjU2aSliKTsKLUBAIC01NTQy LDYgKzU3NTMsMjIgQEAgU0kgSTE2IHNjYWxlZF9tdWx0KEkxNiBhLCBJMTYgYikgeworQEAgLTU1 MzEsNiArNTc0MiwyMiBAQCBTSSBJMTYgc2NhbGVkX211bHQoSTE2IGEsIEkxNiBiKSB7CiAgICAg IHJldHVybiB2cXJkbXVsaHFfczE2KGEsIGIpOwogICNlbGlmIGRlZmluZWQoU0tSUF9DUFVfTkVP TikKICAgICAgcmV0dXJuIHZxcmRtdWxocV9zMTYoYSwgYik7CkBAIC00NTEsNyArNDUxLDcgQEAg SW5kZXg6IGNocm9taXVtLTEzMi4wLjY4MzQuODMvdGhpcmRfcGFydHkvc2tpYS9zcmMvb3B0cy9T a1Jhc3RlclBpcGVsaW5lX29wdHMuaAogICNlbGlmIGRlZmluZWQoU0tSUF9DUFVfTEFTWCkKICAg ICAgSTE2IHJlcyA9IF9fbGFzeF94dm11aF9oKGEsIGIpOwogICAgICByZXR1cm4gX19sYXN4X3h2 c2xsaV9oKHJlcywgMSk7Ci1AQCAtNTU2OSw3ICs1Nzk2LDI2IEBAIFNJIFUxNiBjb25zdHJhaW5l ZF9hZGQoSTE2IGEsIFUxNiBiKSB7CitAQCAtNTU1OCw3ICs1Nzg1LDI2IEBAIFNJIFUxNiBjb25z dHJhaW5lZF9hZGQoSTE2IGEsIFUxNiBiKSB7CiAgICAgICAgICAgICAgU2tBU1NFUlQoLWliIDw9 IGlhICYmIGlhIDw9IDY1NTM1IC0gaWIpOwogICAgICAgICAgfQogICAgICAjZW5kaWYKQEAgLTQ3 OCw3ICs0NzgsNyBAQCBJbmRleDogY2hyb21pdW0tMTMyLjAuNjgzNC44My90aGlyZF9wYXJ0eS9z a2lhL3NyYy9vcHRzL1NrUmFzdGVyUGlwZWxpbmVfb3B0cy5oCiAgfQogIAogIFNJIEYgZnJhY3Qo RiB4KSB7IHJldHVybiB4IC0gZmxvb3JfKHgpOyB9Ci1AQCAtNjU4Miw4ICs2ODI4LDE0IEBAIFNU QUdFX0dQKGJpbGVycF9jbGFtcF84ODg4LCBjb25zdCBTa1Jhc3QKK0BAIC02NTcxLDggKzY4MTcs MTQgQEAgU1RBR0VfR1AoYmlsZXJwX2NsYW1wXzg4ODgsIGNvbnN0IFNrUmFzdAogICAgICAvLyAg ICAgICAgIDJeLTggKiB2ID0gMl4tOSAqICh0eCooUiAtIEwpICsgKFIgKyBMKSkKICAgICAgLy8g ICAgICAgICAgICAgICAgdiA9IDEvMiAqICh0eCooUiAtIEwpICsgKFIgKyBMKSkKICAgICAgYXV0 byBsZXJwWCA9IFsmXShVMTYgbGVmdCwgVTE2IHJpZ2h0KSAtPiBVMTYgewpAQCAtNDkzLDcgKzQ5 Myw3IEBAIEluZGV4OiBjaHJvbWl1bS0xMzIuMC42ODM0LjgzL3RoaXJkX3BhcnR5L3NraWEvc3Jj L29wdHMvU2tSYXN0ZXJQaXBlbGluZV9vcHRzLmgKICAgICAgICAgIC8vIFRoZSBjb25zdHJhaW5l ZF9hZGQgaXMgdGhlIG1vc3Qgc3VidGxlIHBhcnQgb2YgbGVycC4gVGhlIGZpcnN0IHRlcm0gaXMg b24gdGhlIGludGVydmFsCiAgICAgICAgICAvLyBbLTEsIDEpLCBhbmQgdGhlIHNlY29uZCB0ZXJt IGlzIG9uIHRoZSBpbnRlcnZhbCBpcyBvbiB0aGUgaW50ZXJ2YWwgWzAsIDEpIGJlY2F1c2UKICAg ICAgICAgIC8vIGJvdGggdGVybXMgYXJlIHRvbyBoaWdoIGJ5IGEgZmFjdG9yIG9mIDIgd2hpY2gg d2lsbCBiZSBoYW5kbGVkIGJlbG93LiAoQm90aCBSIGFuZCBMIGFyZQotQEAgLTY1OTUsNyArNjg0 NywxMiBAQCBTVEFHRV9HUChiaWxlcnBfY2xhbXBfODg4OCwgY29uc3QgU2tSYXN0CitAQCAtNjU4 NCw3ICs2ODM2LDEyIEBAIFNUQUdFX0dQKGJpbGVycF9jbGFtcF84ODg4LCBjb25zdCBTa1Jhc3QK ICAgICAgICAgIFUxNiB2MiAgPSBjb25zdHJhaW5lZF9hZGQoc2NhbGVkX211bHQodHgsIHdpZHRo KSwgbWlkZGxlKSArIDE7CiAgICAgICAgICAvLyBEaXZpZGUgYnkgMiB0byBjYWxjdWxhdGUgdiBh bmQgYXQgdGhlIHNhbWUgdGltZSBicmluZyB0aGUgaW50ZXJtZWRpYXRlIHZhbHVlIG9udG8gdGhl CiAgICAgICAgICAvLyBpbnRlcnZhbCBbMCwgMS8yXSB0byBzZXQgdXAgZm9yIHRoZSBsZXJwWS4K QEAgLTUwNiw3ICs1MDYsNyBAQCBJbmRleDogY2hyb21pdW0tMTMyLjAuNjgzNC44My90aGlyZF9w YXJ0eS9za2lhL3NyYy9vcHRzL1NrUmFzdGVyUGlwZWxpbmVfb3B0cy5oCiAgICAgIH07CiAgCiAg ICAgIGNvbnN0IHVpbnQzMl90KiBwdHI7Ci1AQCAtNjYyOSw5ICs2ODg2LDE1IEBAIFNUQUdFX0dQ KGJpbGVycF9jbGFtcF84ODg4LCBjb25zdCBTa1Jhc3QKK0BAIC02NjE4LDkgKzY4NzUsMTUgQEAg U1RBR0VfR1AoYmlsZXJwX2NsYW1wXzg4ODgsIGNvbnN0IFNrUmFzdAogICAgICAgICAgSTE2IHdp ZHRoICA9IChJMTYpYm90dG9tIC0gKEkxNil0b3A7CiAgICAgICAgICBVMTYgbWlkZGxlID0gYm90 dG9tICsgdG9wOwogICAgICAgICAgLy8gQWRkICsgMHg4MCBmb3Igcm91bmRpbmcuCkBAIC01MjMs MTAgKzUyMywxMCBAQCBJbmRleDogY2hyb21pdW0tMTMyLjAuNjgzNC44My90aGlyZF9wYXJ0eS9z a2lhL3NyYy9vcHRzL1NrUmFzdGVyUGlwZWxpbmVfb3B0cy5oCiAgICAgIH07CiAgCiAgICAgIHIg PSBsZXJwWSh0b3BSLCBib3R0b21SKTsKLUluZGV4OiBjaHJvbWl1bS0xMzIuMC42ODM0LjgzL3Ro aXJkX3BhcnR5L3NraWEvc3JjL2Jhc2UvU2tWeC5oCitJbmRleDogY2hyb21pdW0tMTM0LjAuNjk5 OC4zNS90aGlyZF9wYXJ0eS9za2lhL3NyYy9iYXNlL1NrVnguaAogPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGNo cm9taXVtLTEzMi4wLjY4MzQuODMub3JpZy90aGlyZF9wYXJ0eS9za2lhL3NyYy9iYXNlL1NrVngu aAotKysrIGNocm9taXVtLTEzMi4wLjY4MzQuODMvdGhpcmRfcGFydHkvc2tpYS9zcmMvYmFzZS9T a1Z4LmgKKy0tLSBjaHJvbWl1bS0xMzQuMC42OTk4LjM1Lm9yaWcvdGhpcmRfcGFydHkvc2tpYS9z cmMvYmFzZS9Ta1Z4LmgKKysrKyBjaHJvbWl1bS0xMzQuMC42OTk4LjM1L3RoaXJkX3BhcnR5L3Nr aWEvc3JjL2Jhc2UvU2tWeC5oCiBAQCAtNDEsNyArNDEsMTIgQEAKICAjZW5kaWYKICAKQEAgLTU0 MSwxMCArNTQxLDEwIEBAIEluZGV4OiBjaHJvbWl1bS0xMzIuMC42ODM0LjgzL3RoaXJkX3BhcnR5 L3NraWEvc3JjL2Jhc2UvU2tWeC5oCiAgICAgICAgICAjaW5jbHVkZSA8aW1taW50cmluLmg+CiAg ICAgICNlbGlmIFNLX0NQVV9TU0VfTEVWRUwgPj0gU0tfQ1BVX1NTRV9MRVZFTF9TU0U0MQogICAg ICAgICAgI2luY2x1ZGUgPHNtbWludHJpbi5oPgotSW5kZXg6IGNocm9taXVtLTEzMi4wLjY4MzQu ODMvdGhpcmRfcGFydHkvc2tpYS9zcmMvY29yZS9Ta0JsaXRNYXNrX29wdHNfc3NzZTMuY3BwCitJ bmRleDogY2hyb21pdW0tMTM0LjAuNjk5OC4zNS90aGlyZF9wYXJ0eS9za2lhL3NyYy9jb3JlL1Nr QmxpdE1hc2tfb3B0c19zc3NlMy5jcHAKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBjaHJvbWl1bS0xMzIuMC42 ODM0LjgzLm9yaWcvdGhpcmRfcGFydHkvc2tpYS9zcmMvY29yZS9Ta0JsaXRNYXNrX29wdHNfc3Nz ZTMuY3BwCi0rKysgY2hyb21pdW0tMTMyLjAuNjgzNC44My90aGlyZF9wYXJ0eS9za2lhL3NyYy9j b3JlL1NrQmxpdE1hc2tfb3B0c19zc3NlMy5jcHAKKy0tLSBjaHJvbWl1bS0xMzQuMC42OTk4LjM1 Lm9yaWcvdGhpcmRfcGFydHkvc2tpYS9zcmMvY29yZS9Ta0JsaXRNYXNrX29wdHNfc3NzZTMuY3Bw CisrKysgY2hyb21pdW0tMTM0LjAuNjk5OC4zNS90aGlyZF9wYXJ0eS9za2lhL3NyYy9jb3JlL1Nr QmxpdE1hc2tfb3B0c19zc3NlMy5jcHAKIEBAIC05LDcgKzksNyBAQAogICNpbmNsdWRlICJzcmMv Y29yZS9Ta0JsaXRNYXNrLmgiCiAgI2luY2x1ZGUgInNyYy9jb3JlL1NrT3B0c1RhcmdldHMuaCIK QEAgLTU1NCwxMCArNTU0LDEwIEBAIEluZGV4OiBjaHJvbWl1bS0xMzIuMC42ODM0LjgzL3RoaXJk X3BhcnR5L3NraWEvc3JjL2NvcmUvU2tCbGl0TWFza19vcHRzX3Nzc2UzLmNwCiAgCiAgLy8gVGhl IG9yZGVyIG9mIHRoZXNlIGluY2x1ZGVzIGlzIGltcG9ydGFudDoKICAvLyAxKSBTZWxlY3QgdGhl IHRhcmdldCBDUFUgYXJjaGl0ZWN0dXJlIGJ5IGRlZmluaW5nIFNLX09QVFNfVEFSR0VUIGFuZCBp bmNsdWRpbmcgU2tPcHRzX1NldFRhcmdldAotSW5kZXg6IGNocm9taXVtLTEzMi4wLjY4MzQuODMv dGhpcmRfcGFydHkvc2tpYS9zcmMvY29yZS9Ta1N3aXp6bGVyX29wdHNfc3NzZTMuY3BwCitJbmRl eDogY2hyb21pdW0tMTM0LjAuNjk5OC4zNS90aGlyZF9wYXJ0eS9za2lhL3NyYy9jb3JlL1NrU3dp enpsZXJfb3B0c19zc3NlMy5jcHAKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBjaHJvbWl1bS0xMzIuMC42ODM0 LjgzLm9yaWcvdGhpcmRfcGFydHkvc2tpYS9zcmMvY29yZS9Ta1N3aXp6bGVyX29wdHNfc3NzZTMu Y3BwCi0rKysgY2hyb21pdW0tMTMyLjAuNjgzNC44My90aGlyZF9wYXJ0eS9za2lhL3NyYy9jb3Jl L1NrU3dpenpsZXJfb3B0c19zc3NlMy5jcHAKKy0tLSBjaHJvbWl1bS0xMzQuMC42OTk4LjM1Lm9y aWcvdGhpcmRfcGFydHkvc2tpYS9zcmMvY29yZS9Ta1N3aXp6bGVyX29wdHNfc3NzZTMuY3BwCisr KysgY2hyb21pdW0tMTM0LjAuNjk5OC4zNS90aGlyZF9wYXJ0eS9za2lhL3NyYy9jb3JlL1NrU3dp enpsZXJfb3B0c19zc3NlMy5jcHAKIEBAIC0xMCw3ICsxMCw3IEBACiAgI2luY2x1ZGUgInNyYy9j b3JlL1NrT3B0c1RhcmdldHMuaCIKICAjaW5jbHVkZSAic3JjL2NvcmUvU2tTd2l6emxlUHJpdi5o IgpAQCAtNTY3LDEwICs1NjcsMTAgQEAgSW5kZXg6IGNocm9taXVtLTEzMi4wLjY4MzQuODMvdGhp cmRfcGFydHkvc2tpYS9zcmMvY29yZS9Ta1N3aXp6bGVyX29wdHNfc3NzZTMuY3AKICAgICAgIWRl ZmluZWQoU0tfRU5BQkxFX09QVElNSVpFX1NJWkUpICYmIFwKICAgICAgU0tfQ1BVX1NTRV9MRVZF TCA8IFNLX0NQVV9TU0VfTEVWRUxfU1NTRTMKICAKLUluZGV4OiBjaHJvbWl1bS0xMzIuMC42ODM0 LjgzL3RoaXJkX3BhcnR5L3NraWEvc3JjL2NvcmUvU2tCbGl0TWFza19vcHRzLmNwcAorSW5kZXg6 IGNocm9taXVtLTEzNC4wLjY5OTguMzUvdGhpcmRfcGFydHkvc2tpYS9zcmMvY29yZS9Ta0JsaXRN YXNrX29wdHMuY3BwCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gY2hyb21pdW0tMTMyLjAuNjgzNC44My5vcmln L3RoaXJkX3BhcnR5L3NraWEvc3JjL2NvcmUvU2tCbGl0TWFza19vcHRzLmNwcAotKysrIGNocm9t aXVtLTEzMi4wLjY4MzQuODMvdGhpcmRfcGFydHkvc2tpYS9zcmMvY29yZS9Ta0JsaXRNYXNrX29w dHMuY3BwCistLS0gY2hyb21pdW0tMTM0LjAuNjk5OC4zNS5vcmlnL3RoaXJkX3BhcnR5L3NraWEv c3JjL2NvcmUvU2tCbGl0TWFza19vcHRzLmNwcAorKysrIGNocm9taXVtLTEzNC4wLjY5OTguMzUv dGhpcmRfcGFydHkvc2tpYS9zcmMvY29yZS9Ta0JsaXRNYXNrX29wdHMuY3BwCiBAQCAtMjUsNyAr MjUsNyBAQCBuYW1lc3BhY2UgU2tPcHRzIHsKICAgICAgc3RhdGljIGJvb2wgaW5pdCgpIHsKICAg ICAgI2lmIGRlZmluZWQoU0tfRU5BQkxFX09QVElNSVpFX1NJWkUpCkBAIC01ODAsMTAgKzU4MCwx MCBAQCBJbmRleDogY2hyb21pdW0tMTMyLjAuNjgzNC44My90aGlyZF9wYXJ0eS9za2lhL3NyYy9j b3JlL1NrQmxpdE1hc2tfb3B0cy5jcHAKICAgICAgICAgICNpZiBTS19DUFVfU1NFX0xFVkVMIDwg U0tfQ1BVX1NTRV9MRVZFTF9TU1NFMwogICAgICAgICAgICAgIGlmIChTa0NwdTo6U3VwcG9ydHMo U2tDcHU6OlNTU0UzKSkgeyBJbml0X0JsaXRNYXNrX3Nzc2UzKCk7IH0KICAgICAgICAgICNlbmRp ZgotSW5kZXg6IGNocm9taXVtLTEzMi4wLjY4MzQuODMvdGhpcmRfcGFydHkvc2tpYS9zcmMvY29y ZS9Ta0JpdG1hcFByb2NTdGF0ZV9vcHRzLmNwcAorSW5kZXg6IGNocm9taXVtLTEzNC4wLjY5OTgu MzUvdGhpcmRfcGFydHkvc2tpYS9zcmMvY29yZS9Ta0JpdG1hcFByb2NTdGF0ZV9vcHRzLmNwcAog PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQotLS0tIGNocm9taXVtLTEzMi4wLjY4MzQuODMub3JpZy90aGlyZF9wYXJ0eS9z a2lhL3NyYy9jb3JlL1NrQml0bWFwUHJvY1N0YXRlX29wdHMuY3BwCi0rKysgY2hyb21pdW0tMTMy LjAuNjgzNC44My90aGlyZF9wYXJ0eS9za2lhL3NyYy9jb3JlL1NrQml0bWFwUHJvY1N0YXRlX29w dHMuY3BwCistLS0gY2hyb21pdW0tMTM0LjAuNjk5OC4zNS5vcmlnL3RoaXJkX3BhcnR5L3NraWEv c3JjL2NvcmUvU2tCaXRtYXBQcm9jU3RhdGVfb3B0cy5jcHAKKysrKyBjaHJvbWl1bS0xMzQuMC42 OTk4LjM1L3RoaXJkX3BhcnR5L3NraWEvc3JjL2NvcmUvU2tCaXRtYXBQcm9jU3RhdGVfb3B0cy5j cHAKIEBAIC0yNyw3ICsyNyw3IEBAIG5hbWVzcGFjZSBTa09wdHMgewogICAgICBzdGF0aWMgYm9v bCBpbml0KCkgewogICAgICAjaWYgZGVmaW5lZChTS19FTkFCTEVfT1BUSU1JWkVfU0laRSkKQEAg LTU5MywxMCArNTkzLDEwIEBAIEluZGV4OiBjaHJvbWl1bS0xMzIuMC42ODM0LjgzL3RoaXJkX3Bh cnR5L3NraWEvc3JjL2NvcmUvU2tCaXRtYXBQcm9jU3RhdGVfb3B0cy5jCiAgICAgICAgICAjaWYg U0tfQ1BVX1NTRV9MRVZFTCA8IFNLX0NQVV9TU0VfTEVWRUxfU1NTRTMKICAgICAgICAgICAgICBp ZiAoU2tDcHU6OlN1cHBvcnRzKFNrQ3B1OjpTU1NFMykpIHsgSW5pdF9CaXRtYXBQcm9jU3RhdGVf c3NzZTMoKTsgfQogICAgICAgICAgI2VuZGlmCi1JbmRleDogY2hyb21pdW0tMTMyLjAuNjgzNC44 My90aGlyZF9wYXJ0eS9za2lhL3NyYy9jb3JlL1NrQ3B1LmgKK0luZGV4OiBjaHJvbWl1bS0xMzQu MC42OTk4LjM1L3RoaXJkX3BhcnR5L3NraWEvc3JjL2NvcmUvU2tDcHUuaAogPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot LS0tIGNocm9taXVtLTEzMi4wLjY4MzQuODMub3JpZy90aGlyZF9wYXJ0eS9za2lhL3NyYy9jb3Jl L1NrQ3B1LmgKLSsrKyBjaHJvbWl1bS0xMzIuMC42ODM0LjgzL3RoaXJkX3BhcnR5L3NraWEvc3Jj L2NvcmUvU2tDcHUuaAorLS0tIGNocm9taXVtLTEzNC4wLjY5OTguMzUub3JpZy90aGlyZF9wYXJ0 eS9za2lhL3NyYy9jb3JlL1NrQ3B1LmgKKysrKyBjaHJvbWl1bS0xMzQuMC42OTk4LjM1L3RoaXJk X3BhcnR5L3NraWEvc3JjL2NvcmUvU2tDcHUuaAogQEAgLTYwLDcgKzYwLDcgQEAgaW5saW5lIGJv b2wgU2tDcHU6OlN1cHBvcnRzKHVpbnQzMl90IG1hcwogIAogICAgICAvLyBJZiB3ZSBtYXNrIGlu IGNvbXBpbGUtdGltZSBrbm93biBsb3dlciBsaW1pdHMsIHRoZSBjb21waWxlciBjYW4KQEAgLTYw NiwxMCArNjA2LDEwIEBAIEluZGV4OiBjaHJvbWl1bS0xMzIuMC42ODM0LjgzL3RoaXJkX3BhcnR5 L3NraWEvc3JjL2NvcmUvU2tDcHUuaAogICAgICAjaWYgU0tfQ1BVX1NTRV9MRVZFTCA+PSBTS19D UFVfU1NFX0xFVkVMX1NTRTEKICAgICAgZmVhdHVyZXMgfD0gU1NFMTsKICAgICAgI2VuZGlmCi1J bmRleDogY2hyb21pdW0tMTMyLjAuNjgzNC44My90aGlyZF9wYXJ0eS9za2lhL3NyYy9jb3JlL1Nr Qml0bWFwUHJvY1N0YXRlX29wdHNfc3NzZTMuY3BwCitJbmRleDogY2hyb21pdW0tMTM0LjAuNjk5 OC4zNS90aGlyZF9wYXJ0eS9za2lhL3NyYy9jb3JlL1NrQml0bWFwUHJvY1N0YXRlX29wdHNfc3Nz ZTMuY3BwCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09Ci0tLS0gY2hyb21pdW0tMTMyLjAuNjgzNC44My5vcmlnL3RoaXJk X3BhcnR5L3NraWEvc3JjL2NvcmUvU2tCaXRtYXBQcm9jU3RhdGVfb3B0c19zc3NlMy5jcHAKLSsr KyBjaHJvbWl1bS0xMzIuMC42ODM0LjgzL3RoaXJkX3BhcnR5L3NraWEvc3JjL2NvcmUvU2tCaXRt YXBQcm9jU3RhdGVfb3B0c19zc3NlMy5jcHAKKy0tLSBjaHJvbWl1bS0xMzQuMC42OTk4LjM1Lm9y aWcvdGhpcmRfcGFydHkvc2tpYS9zcmMvY29yZS9Ta0JpdG1hcFByb2NTdGF0ZV9vcHRzX3Nzc2Uz LmNwcAorKysrIGNocm9taXVtLTEzNC4wLjY5OTguMzUvdGhpcmRfcGFydHkvc2tpYS9zcmMvY29y ZS9Ta0JpdG1hcFByb2NTdGF0ZV9vcHRzX3Nzc2UzLmNwcAogQEAgLTgsNyArOCw3IEBACiAgI2lu Y2x1ZGUgImluY2x1ZGUvcHJpdmF0ZS9iYXNlL1NrRmVhdHVyZXMuaCIKICAjaW5jbHVkZSAic3Jj L2NvcmUvU2tPcHRzVGFyZ2V0cy5oIgpAQCAtNjE5LDEwICs2MTksMTAgQEAgSW5kZXg6IGNocm9t aXVtLTEzMi4wLjY4MzQuODMvdGhpcmRfcGFydHkvc2tpYS9zcmMvY29yZS9Ta0JpdG1hcFByb2NT dGF0ZV9vcHRzX3MKICAKICAvLyBUaGUgb3JkZXIgb2YgdGhlc2UgaW5jbHVkZXMgaXMgaW1wb3J0 YW50OgogIC8vIDEpIFNlbGVjdCB0aGUgdGFyZ2V0IENQVSBhcmNoaXRlY3R1cmUgYnkgZGVmaW5p bmcgU0tfT1BUU19UQVJHRVQgYW5kIGluY2x1ZGluZyBTa09wdHNfU2V0VGFyZ2V0Ci1JbmRleDog Y2hyb21pdW0tMTMyLjAuNjgzNC44My90aGlyZF9wYXJ0eS9za2lhL2luY2x1ZGUvcHJpdmF0ZS9i YXNlL1NrRmVhdHVyZXMuaAorSW5kZXg6IGNocm9taXVtLTEzNC4wLjY5OTguMzUvdGhpcmRfcGFy dHkvc2tpYS9pbmNsdWRlL3ByaXZhdGUvYmFzZS9Ta0ZlYXR1cmVzLmgKID09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t LSBjaHJvbWl1bS0xMzIuMC42ODM0LjgzLm9yaWcvdGhpcmRfcGFydHkvc2tpYS9pbmNsdWRlL3By aXZhdGUvYmFzZS9Ta0ZlYXR1cmVzLmgKLSsrKyBjaHJvbWl1bS0xMzIuMC42ODM0LjgzL3RoaXJk X3BhcnR5L3NraWEvaW5jbHVkZS9wcml2YXRlL2Jhc2UvU2tGZWF0dXJlcy5oCistLS0gY2hyb21p dW0tMTM0LjAuNjk5OC4zNS5vcmlnL3RoaXJkX3BhcnR5L3NraWEvaW5jbHVkZS9wcml2YXRlL2Jh c2UvU2tGZWF0dXJlcy5oCisrKysgY2hyb21pdW0tMTM0LjAuNjk5OC4zNS90aGlyZF9wYXJ0eS9z a2lhL2luY2x1ZGUvcHJpdmF0ZS9iYXNlL1NrRmVhdHVyZXMuaAogQEAgLTYzLDYgKzYzLDggQEAK ICAKICAjaWYgZGVmaW5lZChfX2kzODYpIHx8IGRlZmluZWQoX01fSVg4NikgfHwgIGRlZmluZWQo X194ODZfNjRfXykgfHwgZGVmaW5lZChfTV9YNjQpCkBAIC02MzIsMTAgKzYzMiwxMCBAQCBJbmRl eDogY2hyb21pdW0tMTMyLjAuNjgzNC44My90aGlyZF9wYXJ0eS9za2lhL2luY2x1ZGUvcHJpdmF0 ZS9iYXNlL1NrRmVhdHVyZXMuaAogICNlbmRpZgogIAogICNpZiBkZWZpbmVkKF9fbG9vbmdhcmNo X18pIHx8IGRlZmluZWQgKF9fbG9vbmdhcmNoNjQpCi1JbmRleDogY2hyb21pdW0tMTMyLjAuNjgz NC44My90aGlyZF9wYXJ0eS9za2lhL3NyYy9vcHRzL1NrU3dpenpsZXJfb3B0cy5pbmMKK0luZGV4 OiBjaHJvbWl1bS0xMzQuMC42OTk4LjM1L3RoaXJkX3BhcnR5L3NraWEvc3JjL29wdHMvU2tTd2l6 emxlcl9vcHRzLmluYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGNocm9taXVtLTEzMi4wLjY4MzQuODMub3Jp Zy90aGlyZF9wYXJ0eS9za2lhL3NyYy9vcHRzL1NrU3dpenpsZXJfb3B0cy5pbmMKLSsrKyBjaHJv bWl1bS0xMzIuMC42ODM0LjgzL3RoaXJkX3BhcnR5L3NraWEvc3JjL29wdHMvU2tTd2l6emxlcl9v cHRzLmluYworLS0tIGNocm9taXVtLTEzNC4wLjY5OTguMzUub3JpZy90aGlyZF9wYXJ0eS9za2lh L3NyYy9vcHRzL1NrU3dpenpsZXJfb3B0cy5pbmMKKysrKyBjaHJvbWl1bS0xMzQuMC42OTk4LjM1 L3RoaXJkX3BhcnR5L3NraWEvc3JjL29wdHMvU2tTd2l6emxlcl9vcHRzLmluYwogQEAgLTE0LDcg KzE0LDEwIEBACiAgI2luY2x1ZGUgPGNtYXRoPgogICNpbmNsdWRlIDx1dGlsaXR5PgpAQCAtNjgy LDExICs2ODIsMTEgQEAgSW5kZXg6IGNocm9taXVtLTEzMi4wLjY4MzQuODMvdGhpcmRfcGFydHkv c2tpYS9zcmMvb3B0cy9Ta1N3aXp6bGVyX29wdHMuaW5jCiAgI2VsaWYgU0tfQ1BVX1NTRV9MRVZF TCA+PSBTS19DUFVfU1NFX0xFVkVMX1NTRTEgJiYgKGRlZmluZWQoX19jbGFuZ19fKSB8fCAhZGVm aW5lZChfTVNDX1ZFUikpCiAgLy8gLS0gU1NFIC0tIEhhcmRlbiBhZ2FpbnN0IHRpbWluZyBhdHRh Y2tzIC0tIE1TVkMgaXMgbm90IHN1cHBvcnRlZC4KICB1c2luZyBGNCA9IF9fbTEyODsKLUluZGV4 OiBjaHJvbWl1bS0xMzIuMC42ODM0LjgzL3RoaXJkX3BhcnR5L3NraWEvc3JjL2NvcmUvU2tCbGl0 dGVyX0FSR0IzMi5jcHAKK0luZGV4OiBjaHJvbWl1bS0xMzQuMC42OTk4LjM1L3RoaXJkX3BhcnR5 L3NraWEvc3JjL2NvcmUvU2tCbGl0dGVyX0FSR0IzMi5jcHAKID09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBjaHJv bWl1bS0xMzIuMC42ODM0LjgzLm9yaWcvdGhpcmRfcGFydHkvc2tpYS9zcmMvY29yZS9Ta0JsaXR0 ZXJfQVJHQjMyLmNwcAotKysrIGNocm9taXVtLTEzMi4wLjY4MzQuODMvdGhpcmRfcGFydHkvc2tp YS9zcmMvY29yZS9Ta0JsaXR0ZXJfQVJHQjMyLmNwcAotQEAgLTEyNiw2ICsxMjYsMTYgQEAgc3Rh dGljIGlubGluZSBTa1BNQ29sb3IgYmxlbmRfbGNkMTZfb3BhcQorLS0tIGNocm9taXVtLTEzNC4w LjY5OTguMzUub3JpZy90aGlyZF9wYXJ0eS9za2lhL3NyYy9jb3JlL1NrQmxpdHRlcl9BUkdCMzIu Y3BwCisrKysgY2hyb21pdW0tMTM0LjAuNjk5OC4zNS90aGlyZF9wYXJ0eS9za2lhL3NyYy9jb3Jl L1NrQmxpdHRlcl9BUkdCMzIuY3BwCitAQCAtMTI3LDYgKzEyNywxNiBAQCBzdGF0aWMgaW5saW5l IFNrUE1Db2xvciBibGVuZF9sY2QxNl9vcGFxCiAgI2lmIFNLX0NQVV9TU0VfTEVWRUwgPj0gU0tf Q1BVX1NTRV9MRVZFTF9TU0UyCiAgICAgICNpbmNsdWRlIDxlbW1pbnRyaW4uaD4KICAKCmRpZmYg LS1naXQgYS9zb3VyY2VzIGIvc291cmNlcwppbmRleCBjYTJhNGEwLi43OTdmNDAzIDEwMDY0NAot LS0gYS9zb3VyY2VzCisrKyBiL3NvdXJjZXMKQEAgLTIsNCArMiw0IEBAIFNIQTUxMiAobm9kZS12 MjAuNi4xLWxpbnV4LWFybTY0LnRhci54eikgPSBhZGZjYWYyYzIyNjE0Nzk3ZmQ2OWZiNDZkOTRj MWNiZjY0ZGVhCiBTSEE1MTIgKG5vZGUtdjIwLjYuMS1saW51eC14NjQudGFyLnh6KSA9IDdlMTVj MDUwNDFhOWE1MGYwMDQ2MjY2YWFkYjJlMDkyYTVhZWZiZWMxOWJlMWM3YzgwOTQ3MWFkZDUyMGNi NTdjN2RmM2M0N2Q4OGIxODg4YjI5YmYyOTc5ZGNhM2M5MmFkZGRmZDk2NTM3MGZhMmE5ZGE0ZWEw MjE4NjQ2NGZkCiBTSEE1MTIgKGxpbnV4LWFybTY0LTAuMTkuMi50Z3opID0gOGEwZDhmZWM2Nzg2 ZmZmY2Q2OTU0ZDAwODIwMDM3YTU1ZDYxZTYwNzYyYzc0MzAwZGYwODAxZjhkYjI3MDU3NTYyYzIy MWEwNjNiZWRmYjhkZjU2YWY5YmE4MGFiYjM2NjMzNjk4N2U4ODE3ODJjNTk5NmU2Zjg3MWFiZDNk YzYKIFNIQTUxMiAobGludXgteDY0LTAuMTkuMi50Z3opID0gYTMxY2M3NGM0YmZhNTRmOWI3NWQ3 MzVhMWNmYzk0NGQzYjVlZmI3YzA2YmZiYTk1NDJkYTlhNjQyYWUwYjJkMjM1ZWEwMGFlODRkM2Fk MDU3MmM0MDY0MDUxMTBmZTdiNjEzNzdhZjBmZDE1ODAzODA2ZWY3OGQyMGZjNmYwNWQKLVNIQTUx MiAoY2hyb21pdW0tMTMzLjAuNjk0My4xNDEtY2xlYW4udGFyLnh6KSA9IDNlOWEwNGI5MTY4ZGI5 M2E1MjNkNTM4YmRmZjBiOWYzNWRjNjk3YjAwMDZkZDBlNzRlODk3ZjVmMmRmNWE5ZTQ2MWU5YzYw NjdmYWRiYjZlYzkwN2VlMzFlZGNmODBmM2Y5NWVmMTk3NTBiZjEyOTYxYjNmMjA0MzZmOTFmZTQ2 CitTSEE1MTIgKGNocm9taXVtLTEzNC4wLjY5OTguMzUtY2xlYW4udGFyLnh6KSA9IDg0OTFjYzMz NjJmYWFkODE3ZjIxNzVkMGQ1ZjFkNGM3OGEyNzE4NmM2ZGJmZGU2ODE2ODJjYTlhMGRhNDU0ODc4 MzdmYTdiYzI1OWMzN2VkYmZhNzg2M2VlOTVjYTU1MzUxZTFkMzZkM2ZlNGNmZWZlZjVlMjQ2ZjU1 Njg4OTc2Cg==