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 150.0.7871.124 Date: Fri, 07 Aug 2026 16:09:13 GMT Message-ID: <178611895370.1.14436008472028470007.rpms-chromium-6a33b22870b5@fedoraproject.org> List-ID: X-Git-Repo: rpms/chromium X-Git-Branch: epel9-next X-Git-Rev: 6a33b22870b5602a6538a2631f730138a4418fb1 ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvY2hyb21pdW0KICAgICAgICAgICAgQnJhbmNoIDogZXBlbDktbmV4dAogICAg ICAgICAgICBDb21taXQgOiA2YTMzYjIyODcwYjU2MDJhNjUzOGEyNjMxZjczMDEzOGE0NDE4ZmIx CiAgICAgICAgICAgIEF1dGhvciA6IFRoYW4gTmdvIDx0aGFuQHJlZGhhdC5jb20+CiAgICAgICAg ICAgIERhdGUgICA6IDIwMjYtMDctMTVUMTQ6NTY6NTIrMDI6MDAKICAgICAgICAgICAgU3RhdHMg IDogKzg4NS8tMyBpbiA2IGZpbGUocykKICAgICAgICAgICAgVVJMICAgIDogaHR0cHM6Ly9zcmMu ZmVkb3JhcHJvamVjdC5vcmcvcnBtcy9jaHJvbWl1bS9jLzZhMzNiMjI4NzBiNTYwMmE2NTM4YTI2 MzFmNzMwMTM4YTQ0MThmYjE/YnJhbmNoPWVwZWw5LW5leHQKCiAgICAgICAgICAgIExvZzoKICAg ICAgICAgICAgLSBVcGRhdGUgdG8gMTUwLjAuNzg3MS4xMjQKICAqIENWRS0yMDI2LTE1NzY0OiBV c2UgYWZ0ZXIgZnJlZSBpbiBPem9uZQogICogQ1ZFLTIwMjYtMTU3NjU6IFVzZSBhZnRlciBmcmVl IGluIE96b25lCiAgKiBDVkUtMjAyNi0xNTc2NjogVW5pbml0aWFsaXplZCBVc2UgaW4gU2tpYQog ICogQ1ZFLTIwMjYtMTU3Njc6IEhlYXAgYnVmZmVyIG92ZXJmbG93IGluIGxpYnl1dgogICogQ1ZF LTIwMjYtMTU3Njg6IEluc3VmZmljaWVudCBwb2xpY3kgZW5mb3JjZW1lbnQgaW4gSFRNTC1pbi1D YW52YXMKICAqIENWRS0yMDI2LTE1NzY5OiBJbnN1ZmZpY2llbnQgdmFsaWRhdGlvbiBvZiB1bnRy dXN0ZWQgaW5wdXQgaW4gTGludXggVG9vbGtpdCBUaGVtaW5nCiAgKiBDVkUtMjAyNi0xNTc3MDog VW5pbml0aWFsaXplZCBVc2UgaW4gVjgKICAqIENWRS0yMDI2LTE1NzcxOiBJbnN1ZmZpY2llbnQg dmFsaWRhdGlvbiBvZiB1bnRydXN0ZWQgaW5wdXQgaW4gTWVkaWEKICAqIENWRS0yMDI2LTE1Nzcy OiBVc2UgYWZ0ZXIgZnJlZSBpbiBHUFUKICAqIENWRS0yMDI2LTE1NzczOiBVc2UgYWZ0ZXIgZnJl ZSBpbiBDb3JlCiAgKiBDVkUtMjAyNi0xNTc3NDogVXNlIGFmdGVyIGZyZWUgaW4gU2tpYQogICog Q1ZFLTIwMjYtMTU3NzU6IEluc3VmZmljaWVudCBwb2xpY3kgZW5mb3JjZW1lbnQgaW4gVjgKICAq IENWRS0yMDI2LTE1Nzc2OiBUeXBlIENvbmZ1c2lvbiBpbiBWOAogICogQ1ZFLTIwMjYtMTU3Nzc6 IFVzZSBhZnRlciBmcmVlIGluIFVJCiAgKiBDVkUtMjAyNi0xNTc3ODogSW5zdWZmaWNpZW50IHZh bGlkYXRpb24gb2YgdW50cnVzdGVkIGlucHV0IGluIE5hdmlnYXRpb24KCi0gQmFja3BvcnQgcGF0 Y2hlcyB0byBpbXByb3ZlIGF1dG8gZGFya21vZGUKCi0tLQpkaWZmIC0tZ2l0IGEvY2hyb21pdW0t MTUwLUFkZC1zaXplLXRocmVzaG9sZC1mb3ItY2xhc3NpZnlpbmctU1ZHLWRvY3VtZW50cy1mb3It YXV0by1kYXJrLW1vZGUucGF0Y2ggYi9jaHJvbWl1bS0xNTAtQWRkLXNpemUtdGhyZXNob2xkLWZv ci1jbGFzc2lmeWluZy1TVkctZG9jdW1lbnRzLWZvci1hdXRvLWRhcmstbW9kZS5wYXRjaApuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YWRhZGJiCi0tLSAvZGV2L251bGwKKysr IGIvY2hyb21pdW0tMTUwLUFkZC1zaXplLXRocmVzaG9sZC1mb3ItY2xhc3NpZnlpbmctU1ZHLWRv Y3VtZW50cy1mb3ItYXV0by1kYXJrLW1vZGUucGF0Y2gKQEAgLTAsMCArMSwzNzIgQEAKK2NvbW1p dCBiNTkzNGIxMWNmYzI5NDhmOGI5N2ViYjA5OTdhYWI1Zjc3ZTJmZTJjCitBdXRob3I6IFByYXNo YW50IE5ldmFzZSA8cG5ldmFzZUBtaWNyb3NvZnQuY29tPgorRGF0ZTogICBNb24gSnVsIDEzIDA0 OjEwOjAwIDIwMjYgLTA3MDAKKworICAgIEFkZCBzaXplIHRocmVzaG9sZCBmb3IgY2xhc3NpZnlp bmcgU1ZHIGRvY3VtZW50cyBmb3IgYXV0byBkYXJrIG1vZGUuCisgICAgCisgICAgTGFyZ2Ugc3Rh bmRhbG9uZSBTVkcgZG9jdW1lbnRzIGFyZSB0cmVhdGVkIGFzIGNvbnRlbnQgKGlsbHVzdHJhdGlv bnMvCisgICAgcGhvdG9zKSBhbmQgbGVmdCB1bnRvdWNoZWQgYnkgYXV0byBkYXJrIG1vZGUsIHdo aWxlIHNtYWxsIG9uZXMgbGlrZQorICAgIGljb25zIGFyZSBjb25zaWRlcmVkIGZvciBhdXRvIGRh cmsgbW9kZS4KKyAgICAKKyAgICBOZXN0ZWQgU1ZHcyBhcmUgaGFuZGxlZCB2aWEgYSBzdGFjayBv ZiBhdXRvIGRhcmsgbW9kZSBwYXVzZWQgc3RhdGVzIG9uCisgICAgR3JhcGhpY3NDb250ZXh0LCBt YW5hZ2VkIGJ5IFNjb3BlZEF1dG9EYXJrTW9kZVN0YXRlLiBBbiBpY29uLXNpemVkCisgICAgaW5u ZXIgU1ZHIHJlLWVuYWJsZXMgaW52ZXJzaW9uIGV2ZW4gaW5zaWRlIGEgcGF1c2VkIChsYXJnZSkg Y29udGFpbmVyLAorICAgIGFuZCB0aGUgb3V0ZXIgc3RhdGUgaXMgcmVzdG9yZWQgb24gc2NvcGUg ZXhpdC4gSW1hZ2VzIHJlbWFpbiBnYXRlZCBieQorICAgIHRoZWlyIG93biBzaXplIGNsYXNzaWZp Y2F0aW9uIHJhdGhlciB0aGFuIHRoZSBwYXVzZWQgc3RhdGUuCisgICAgCisgICAgQnVnOiA0NDk5 MDk1MjQKKyAgICBDaGFuZ2UtSWQ6IElmZDhiNjhlYzlhMzBhZDY2YzExNmNmNDFkNTEwZWVhZDQ5 OWQzYmQ2CisgICAgUmV2aWV3ZWQtb246IGh0dHBzOi8vY2hyb21pdW0tcmV2aWV3Lmdvb2dsZXNv dXJjZS5jb20vYy9jaHJvbWl1bS9zcmMvKy84MDM2MTIwCisgICAgUmV2aWV3ZWQtYnk6IFN0ZXBo ZW4gQ2hlbm5leSA8c2NoZW5uZXlAY2hyb21pdW0ub3JnPgorICAgIENvbW1pdC1RdWV1ZTogUHJh c2hhbnQgTmV2YXNlIDxwbmV2YXNlQG1pY3Jvc29mdC5jb20+CisgICAgQ3ItQ29tbWl0LVBvc2l0 aW9uOiByZWZzL2hlYWRzL21haW5AeyMxNjYxMDQ0fQorCitkaWZmIC0tZ2l0IGEvdGhpcmRfcGFy dHkvYmxpbmsvcmVuZGVyZXIvY29yZS9wYWludC9wYWludF9hdXRvX2RhcmtfbW9kZS5jYyBiL3Ro aXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUvcGFpbnQvcGFpbnRfYXV0b19kYXJrX21vZGUu Y2MKK2luZGV4IDY1OGY2YTRlNGY2Zi4uZTRiNWE4MTU1MTQ4IDEwMDY0NAorLS0tIGEvdGhpcmRf cGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9wYWludC9wYWludF9hdXRvX2RhcmtfbW9kZS5jYwor KysrIGIvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9wYWludC9wYWludF9hdXRvX2Rh cmtfbW9kZS5jYworQEAgLTY5LDYgKzY5LDI1IEBAIEltYWdlQXV0b0RhcmtNb2RlIEltYWdlQ2xh c3NpZmllckhlbHBlcjo6R2V0SW1hZ2VBdXRvRGFya01vZGUoCisgICAgICAgR2V0SW1hZ2VUeXBl V2l0aFpvb20obGF5b3V0X3pvb20sIGRlc3RfcmVjdCwgc3JjX3JlY3QpKTsKKyB9CisgCisrLy8g c3RhdGljCisrRGFya01vZGVGaWx0ZXI6OkltYWdlVHlwZSBJbWFnZUNsYXNzaWZpZXJIZWxwZXI6 OkdldFNWR0RvY3VtZW50VHlwZSgKKysgICAgTG9jYWxGcmFtZSYgbG9jYWxfZnJhbWUsCisrICAg IGNvbnN0IGdmeDo6UmVjdCYgc2l6ZSkgeworKyAgLy8gfHNpemV8IGluY2x1ZGVzIHRoZSBsYXlv dXQgem9vbSBmYWN0b3IgKHBhZ2Ugem9vbSBhbmQgRFNGKS4gVW5kbyBpdCBzbyB0aGUKKysgIC8v IHNpemUgdGhyZXNob2xkIG1hdGNoZXMgYml0bWFwIGltYWdlcywgd2hvc2UgY2xhc3NpZmljYXRp b24gaXMgdW5hZmZlY3RlZCBieQorKyAgLy8gcGFnZSB6b29tIGFuZCBEU0YuCisrICBjb25zdCBm bG9hdCBsYXlvdXRfem9vbSA9IGxvY2FsX2ZyYW1lLkxheW91dFpvb21GYWN0b3IoKTsKKysgIGNv bnN0IGZsb2F0IHVuem9vbWVkX3dpZHRoID0KKysgICAgICBsYXlvdXRfem9vbSA+IDAuZiA/IHNp emUud2lkdGgoKSAvIGxheW91dF96b29tIDogc2l6ZS53aWR0aCgpOworKyAgY29uc3QgZmxvYXQg dW56b29tZWRfaGVpZ2h0ID0KKysgICAgICBsYXlvdXRfem9vbSA+IDAuZiA/IHNpemUuaGVpZ2h0 KCkgLyBsYXlvdXRfem9vbSA6IHNpemUuaGVpZ2h0KCk7CisrICBpZiAodW56b29tZWRfd2lkdGgg PD0ga01heEltYWdlTGVuZ3RoICYmIHVuem9vbWVkX2hlaWdodCA8PSBrTWF4SW1hZ2VMZW5ndGgp IHsKKysgICAgcmV0dXJuIERhcmtNb2RlRmlsdGVyOjpJbWFnZVR5cGU6OmtJY29uOworKyAgfQor KworKyAgcmV0dXJuIERhcmtNb2RlRmlsdGVyOjpJbWFnZVR5cGU6OmtQaG90bzsKKyt9CisrCisg Ly8gc3RhdGljCisgRGFya01vZGVGaWx0ZXI6OkltYWdlVHlwZSBJbWFnZUNsYXNzaWZpZXJIZWxw ZXI6OkdldEltYWdlVHlwZUZvclRlc3RpbmcoCisgICAgIGNvbnN0IGdmeDo6UmVjdEYmIGRlc3Rf cmVjdCwKK2RpZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9jb3JlL3BhaW50 L3BhaW50X2F1dG9fZGFya19tb2RlLmggYi90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9jb3Jl L3BhaW50L3BhaW50X2F1dG9fZGFya19tb2RlLmgKK2luZGV4IGFmZDU3ZWVlMmI0NS4uYTIxZDE0 NzJjZGU2IDEwMDY0NAorLS0tIGEvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9wYWlu dC9wYWludF9hdXRvX2RhcmtfbW9kZS5oCisrKysgYi90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJl ci9jb3JlL3BhaW50L3BhaW50X2F1dG9fZGFya19tb2RlLmgKK0BAIC0zOSw2ICszOSwxMCBAQCBj bGFzcyBJbWFnZUNsYXNzaWZpZXJIZWxwZXIgeworICAgICAgIERhcmtNb2RlRmlsdGVyOjpFbGVt ZW50Um9sZSByb2xlID0KKyAgICAgICAgICAgRGFya01vZGVGaWx0ZXI6OkVsZW1lbnRSb2xlOjpr QmFja2dyb3VuZCk7CisgCisrICBDT1JFX0VYUE9SVCBzdGF0aWMgRGFya01vZGVGaWx0ZXI6Oklt YWdlVHlwZSBHZXRTVkdEb2N1bWVudFR5cGUoCisrICAgICAgTG9jYWxGcmFtZSYgbG9jYWxfZnJh bWUsCisrICAgICAgY29uc3QgZ2Z4OjpSZWN0JiBzaXplKTsKKysKKyAgIENPUkVfRVhQT1JUIHN0 YXRpYyBEYXJrTW9kZUZpbHRlcjo6SW1hZ2VUeXBlIEdldEltYWdlVHlwZUZvclRlc3RpbmcoCisg ICAgICAgY29uc3QgZ2Z4OjpSZWN0RiYgZGVzdF9yZWN0LAorICAgICAgIGNvbnN0IGdmeDo6UmVj dEYmIHNyY19yZWN0LAorZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2Nv cmUvcGFpbnQvcGFpbnRfYXV0b19kYXJrX21vZGVfdGVzdC5jYyBiL3RoaXJkX3BhcnR5L2JsaW5r L3JlbmRlcmVyL2NvcmUvcGFpbnQvcGFpbnRfYXV0b19kYXJrX21vZGVfdGVzdC5jYworaW5kZXgg Y2YwNWVhMWE5ZThhLi4zMzdhZmY4ZmU5OTYgMTAwNjQ0CistLS0gYS90aGlyZF9wYXJ0eS9ibGlu ay9yZW5kZXJlci9jb3JlL3BhaW50L3BhaW50X2F1dG9fZGFya19tb2RlX3Rlc3QuY2MKKysrKyBi L3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUvcGFpbnQvcGFpbnRfYXV0b19kYXJrX21v ZGVfdGVzdC5jYworQEAgLTQsOCArNCwxMyBAQAorIAorICNpbmNsdWRlICJ0aGlyZF9wYXJ0eS9i bGluay9yZW5kZXJlci9jb3JlL3BhaW50L3BhaW50X2F1dG9fZGFya19tb2RlLmgiCisgCisrI2lu Y2x1ZGUgPG1lbW9yeT4KKysKKyAjaW5jbHVkZSAidGVzdGluZy9ndGVzdC9pbmNsdWRlL2d0ZXN0 L2d0ZXN0LmgiCisrI2luY2x1ZGUgInRoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUvZnJh bWUvbG9jYWxfZnJhbWUuaCIKKysjaW5jbHVkZSAidGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIv Y29yZS90ZXN0aW5nL2R1bW15X3BhZ2VfaG9sZGVyLmgiCisgI2luY2x1ZGUgInRoaXJkX3BhcnR5 L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL2dyYXBoaWNzL2RhcmtfbW9kZV9zZXR0aW5ncy5oIgor KyNpbmNsdWRlICJ0aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS90ZXN0aW5nL3Rh c2tfZW52aXJvbm1lbnQuaCIKKyAjaW5jbHVkZSAidWkvZ2Z4L2dlb21ldHJ5L3JlY3QuaCIKKyAK KyBuYW1lc3BhY2UgYmxpbmsgeworQEAgLTcyLDYgKzc3LDE4IEBAIGNsYXNzIFBhaW50QXV0b0Rh cmtNb2RlVGVzdCA6IHB1YmxpYyB0ZXN0aW5nOjpUZXN0IHsKKyAgICAgICAgIEltYWdlQ2xhc3Np ZmllckhlbHBlcjo6R2V0SW1hZ2VUeXBlRm9yVGVzdGluZyhkZXN0X3JlY3QsIHNyY19yZWN0LAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxh eW91dF96b29tKSkpOworICAgfQorKworKyAgRGFya01vZGVGaWx0ZXI6OkltYWdlVHlwZSBHZXRT VkdEb2N1bWVudFR5cGUoZmxvYXQgbGF5b3V0X3pvb20sCisrICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBnZng6OlJlY3QmIHNpemUpIHsKKysgICAg TG9jYWxGcmFtZSYgZnJhbWUgPSBwYWdlX2hvbGRlcl8tPkdldEZyYW1lKCk7CisrICAgIGZyYW1l LlNldExheW91dFpvb21GYWN0b3IobGF5b3V0X3pvb20pOworKyAgICByZXR1cm4gSW1hZ2VDbGFz c2lmaWVySGVscGVyOjpHZXRTVkdEb2N1bWVudFR5cGUoZnJhbWUsIHNpemUpOworKyAgfQorKwor KyBwcml2YXRlOgorKyAgdGVzdDo6VGFza0Vudmlyb25tZW50IHRhc2tfZW52aXJvbm1lbnRfOwor KyAgc3RkOjp1bmlxdWVfcHRyPER1bW15UGFnZUhvbGRlcj4gcGFnZV9ob2xkZXJfID0KKysgICAg ICBzdGQ6Om1ha2VfdW5pcXVlPER1bW15UGFnZUhvbGRlcj4oZ2Z4OjpTaXplKDgwMCwgNjAwKSk7 CisgfTsKKyAKKyBURVNUX0YoUGFpbnRBdXRvRGFya01vZGVUZXN0LCBTaG91bGRBcHBseUZpbHRl clRvSW1hZ2UpIHsKK0BAIC0xNTQsNCArMTcxLDMwIEBAIFRFU1RfRihQYWludEF1dG9EYXJrTW9k ZVRlc3QsCisgICBUZXN0QXBwbHlGaWx0ZXJUb0ltYWdlSXJyZXNwZWN0aXZlT2ZQYWdlWm9vbShz Y3JlZW5faW5mbyk7CisgfQorIAorK1RFU1RfRihQYWludEF1dG9EYXJrTW9kZVRlc3QsIFNWR0Rv Y3VtZW50SW1hZ2UpIHsKKysgIC8vIEJvdGggZGltZW5zaW9ucyBhcmUgYXQgb3IgYmVsb3cgdGhl IGljb24gdGhyZXNob2xkIChrTWF4SW1hZ2VMZW5ndGggPT0gNjQpLgorKyAgRVhQRUNUX0VRKERh cmtNb2RlRmlsdGVyOjpJbWFnZVR5cGU6OmtJY29uLAorKyAgICAgICAgICAgIEdldFNWR0RvY3Vt ZW50VHlwZSgxLjBmLCBnZng6OlJlY3QoNTAsIDUwKSkpOworKworKyAgLy8gRWl0aGVyIGRpbWVu c2lvbiBhYm92ZSB0aGUgdGhyZXNob2xkIGNsYXNzaWZpZXMgdGhlIGRvY3VtZW50IGFzIGEgcGhv dG8uCisrICBFWFBFQ1RfRVEoRGFya01vZGVGaWx0ZXI6OkltYWdlVHlwZTo6a1Bob3RvLAorKyAg ICAgICAgICAgIEdldFNWR0RvY3VtZW50VHlwZSgxLjBmLCBnZng6OlJlY3QoMjAwLCAyMDApKSk7 CisrICAvLyBPbmx5IHRoZSB3aWR0aCBleGNlZWRzIHRoZSB0aHJlc2hvbGQuCisrICBFWFBFQ1Rf RVEoRGFya01vZGVGaWx0ZXI6OkltYWdlVHlwZTo6a1Bob3RvLAorKyAgICAgICAgICAgIEdldFNW R0RvY3VtZW50VHlwZSgxLjBmLCBnZng6OlJlY3QoMTAwLCA1MCkpKTsKKysgIC8vIE9ubHkgdGhl IGhlaWdodCBleGNlZWRzIHRoZSB0aHJlc2hvbGQuCisrICBFWFBFQ1RfRVEoRGFya01vZGVGaWx0 ZXI6OkltYWdlVHlwZTo6a1Bob3RvLAorKyAgICAgICAgICAgIEdldFNWR0RvY3VtZW50VHlwZSgx LjBmLCBnZng6OlJlY3QoNTAsIDEwMCkpKTsKKysKKysgIC8vIEEgNDB4NDAgQ1NTLXNpemVkIFNW RyBzY2FsZWQgdXAgYnkgYSA1eCBsYXlvdXQgem9vbSBpcyBzdGlsbCBhbiBpY29uIGFmdGVyCisr ICAvLyB0aGUgem9vbSBpcyB1bmRvbmUuCisrICBFWFBFQ1RfRVEoRGFya01vZGVGaWx0ZXI6Oklt YWdlVHlwZTo6a0ljb24sCisrICAgICAgICAgICAgR2V0U1ZHRG9jdW1lbnRUeXBlKDUuMGYsIGdm eDo6UmVjdCgyMDAsIDIwMCkpKTsKKysKKysgIC8vIEEgNDAweDQwMCBDU1Mtc2l6ZWQgU1ZHIHNj YWxlZCBkb3duIGJ5IGEgMC4yNXggbGF5b3V0IHpvb20gaXMgc3RpbGwgYSBwaG90bworKyAgLy8g YWZ0ZXIgdGhlIHpvb20gaXMgdW5kb25lLgorKyAgRVhQRUNUX0VRKERhcmtNb2RlRmlsdGVyOjpJ bWFnZVR5cGU6OmtQaG90bywKKysgICAgICAgICAgICBHZXRTVkdEb2N1bWVudFR5cGUoMC4yNWYs IGdmeDo6UmVjdCgxMDAsIDEwMCkpKTsKKyt9CisrCisgfSAgLy8gbmFtZXNwYWNlIGJsaW5rCitk aWZmIC0tZ2l0IGEvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9wYWludC9zdmdfcm9v dF9wYWludGVyLmNjIGIvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9wYWludC9zdmdf cm9vdF9wYWludGVyLmNjCitpbmRleCAxNDY0MDBlOTZhNjkuLmE5M2U5ZThhOTZhYiAxMDA2NDQK Ky0tLSBhL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUvcGFpbnQvc3ZnX3Jvb3RfcGFp bnRlci5jYworKysrIGIvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9wYWludC9zdmdf cm9vdF9wYWludGVyLmNjCitAQCAtNCwxMiArNCwxNyBAQAorIAorICNpbmNsdWRlICJ0aGlyZF9w YXJ0eS9ibGluay9yZW5kZXJlci9jb3JlL3BhaW50L3N2Z19yb290X3BhaW50ZXIuaCIKKyAKKysj aW5jbHVkZSA8b3B0aW9uYWw+CisrCisrI2luY2x1ZGUgInRoaXJkX3BhcnR5L2JsaW5rL3JlbmRl cmVyL2NvcmUvZnJhbWUvbG9jYWxfZnJhbWUuaCIKKyAjaW5jbHVkZSAidGhpcmRfcGFydHkvYmxp bmsvcmVuZGVyZXIvY29yZS9sYXlvdXQvc3ZnL2xheW91dF9zdmdfZm9yZWlnbl9vYmplY3QuaCIK KyAjaW5jbHVkZSAidGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9sYXlvdXQvc3ZnL2xh eW91dF9zdmdfcm9vdC5oIgorKyNpbmNsdWRlICJ0aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9j b3JlL3BhaW50L3BhaW50X2F1dG9fZGFya19tb2RlLmgiCisgI2luY2x1ZGUgInRoaXJkX3BhcnR5 L2JsaW5rL3JlbmRlcmVyL2NvcmUvcGFpbnQvcGFpbnRfaW5mby5oIgorICNpbmNsdWRlICJ0aGly ZF9wYXJ0eS9ibGluay9yZW5kZXJlci9jb3JlL3BhaW50L3BhaW50X2xheWVyLmgiCisgI2luY2x1 ZGUgInRoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUvcGFpbnQvcGFpbnRfbGF5ZXJfcGFp bnRlci5oIgorICNpbmNsdWRlICJ0aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9jb3JlL3N2Zy9z dmdfc3ZnX2VsZW1lbnQuaCIKKysjaW5jbHVkZSAidGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIv cGxhdGZvcm0vZ3JhcGhpY3MvZ3JhcGhpY3NfY29udGV4dC5oIgorICNpbmNsdWRlICJ0aGlyZF9w YXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS9ydW50aW1lX2VuYWJsZWRfZmVhdHVyZXMuaCIK KyAKKyBuYW1lc3BhY2UgYmxpbmsgeworQEAgLTY0LDggKzY5LDEwIEBAIEFmZmluZVRyYW5zZm9y bSBTVkdSb290UGFpbnRlcjo6VHJhbnNmb3JtVG9QaXhlbFNuYXBwZWRCb3JkZXJCb3goCisgdm9p ZCBTVkdSb290UGFpbnRlcjo6UGFpbnRSZXBsYWNlZChjb25zdCBQYWludEluZm8mIHBhaW50X2lu Zm8sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBQaHlzaWNhbE9m ZnNldCYgcGFpbnRfb2Zmc2V0KSB7CisgICAvLyBBbiBlbXB0eSB2aWV3cG9ydCBkaXNhYmxlcyBy ZW5kZXJpbmcuCistICBpZiAoUGl4ZWxTbmFwcGVkU2l6ZShwYWludF9vZmZzZXQpLklzRW1wdHko KSkKKysgIGNvbnN0IGdmeDo6UmVjdCBzbmFwcGVkX3NpemUgPSBQaXhlbFNuYXBwZWRTaXplKHBh aW50X29mZnNldCk7CisrICBpZiAoc25hcHBlZF9zaXplLklzRW1wdHkoKSkgeworICAgICByZXR1 cm47CisrICB9CisgCisgICAvLyBBbiBlbXB0eSB2aWV3Qm94IGFsc28gZGlzYWJsZXMgcmVuZGVy aW5nLgorICAgLy8gKGh0dHA6Ly93d3cudzMub3JnL1RSL1NWRy9jb29yZHMuaHRtbCNWaWV3Qm94 QXR0cmlidXRlKQorQEAgLTc4LDYgKzg1LDIzIEBAIHZvaWQgU1ZHUm9vdFBhaW50ZXI6OlBhaW50 UmVwbGFjZWQoY29uc3QgUGFpbnRJbmZvJiBwYWludF9pbmZvLAorICAgICByZXR1cm47CisgICB9 CisgCisrICBzdGQ6Om9wdGlvbmFsPEdyYXBoaWNzQ29udGV4dDo6U2NvcGVkQXV0b0RhcmtNb2Rl U3RhdGU+IGRhcmtfbW9kZV9zdGF0ZTsKKysgIGlmIChsYXlvdXRfc3ZnX3Jvb3RfLlN0eWxlUmVm KCkuRm9yY2VEYXJrKCkpIHsKKysgICAgLy8gT25seSB0cmVhdCBpY29uL3NlcGFyYXRvci1zaXpl ZCBTVkcgZG9jdW1lbnRzIGFzIGNhbmRpZGF0ZXMgZm9yIGRhcmsKKysgICAgLy8gbW9kZSBpbnZl cnNpb24uIExhcmdlciBTVkdzIGFyZSBsaWtlbHkgY29udGVudCAoaWxsdXN0cmF0aW9ucy9waG90 b3MpCisrICAgIC8vIGFuZCBzaG91bGQgbm90IGJlIGZvcmNlLWRhcmtlbmVkLiBUaGlzIG1pcnJv cnMgdGhlIHNpemUtYmFzZWQgaW1hZ2UKKysgICAgLy8gY2xhc3NpZmljYXRpb24gdXNlZCBmb3Ig Yml0bWFwcyAoa01heEltYWdlTGVuZ3RoKS4gU1ZHcyBjYW4gYmUgbmVzdGVkLAorKyAgICAvLyBz byBwYXVzZSB0aGlzIFNWRydzIGRhcmsgbW9kZSBzdGF0ZSB3aGlsZSBwYWludGluZyBpdHMgY2hp bGRyZW47IHRoZQorKyAgICAvLyBzY29wZXIgcmVzdG9yZXMgdGhlIG91dGVyIHN0YXRlIHdoZW4g aXQgZ29lcyBvdXQgb2Ygc2NvcGUuIFRoaXMgbGV0cyBhbgorKyAgICAvLyBpY29uLXNpemVkIFNW RyBlbWJlZGRlZCBpbnNpZGUgYSBsYXJnZXIgKHBhdXNlZCkgU1ZHIHJlLWVuYWJsZSBpbnZlcnNp b24KKysgICAgLy8gZm9yIGl0c2VsZi4KKysgICAgY29uc3QgYm9vbCBwYXVzZV9kYXJrX21vZGUg PQorKyAgICAgICAgSW1hZ2VDbGFzc2lmaWVySGVscGVyOjpHZXRTVkdEb2N1bWVudFR5cGUoKmxh eW91dF9zdmdfcm9vdF8uR2V0RnJhbWUoKSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHNuYXBwZWRfc2l6ZSkgIT0KKysgICAgICAgIERhcmtNb2Rl RmlsdGVyOjpJbWFnZVR5cGU6OmtJY29uOworKyAgICBkYXJrX21vZGVfc3RhdGUuZW1wbGFjZShw YWludF9pbmZvLmNvbnRleHQsIHBhdXNlX2RhcmtfbW9kZSk7CisrICB9CisrCisgICBmb3IgKExh eW91dE9iamVjdCogY2hpbGQgPSBsYXlvdXRfc3ZnX3Jvb3RfLkZpcnN0Q2hpbGQoKTsgY2hpbGQ7 CisgICAgICAgIGNoaWxkID0gY2hpbGQtPk5leHRTaWJsaW5nKCkpIHsKKyAgICAgaWYgKGF1dG8q IGZvcmVpZ25fb2JqZWN0ID0gRHluYW1pY1RvPExheW91dFNWR0ZvcmVpZ25PYmplY3Q+KGNoaWxk KSkgeworZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL2dy YXBoaWNzL2dyYXBoaWNzX2NvbnRleHQuY2MgYi90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9w bGF0Zm9ybS9ncmFwaGljcy9ncmFwaGljc19jb250ZXh0LmNjCitpbmRleCA5MmQ1OWFmMDgxZWQu LmRmMzk1ZmMyNDNmZSAxMDA2NDQKKy0tLSBhL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3Bs YXRmb3JtL2dyYXBoaWNzL2dyYXBoaWNzX2NvbnRleHQuY2MKKysrKyBiL3RoaXJkX3BhcnR5L2Js aW5rL3JlbmRlcmVyL3BsYXRmb3JtL2dyYXBoaWNzL2dyYXBoaWNzX2NvbnRleHQuY2MKK0BAIC03 Nyw3ICs3Nyw3IEBAIG5hbWVzcGFjZSB7CisgU2tDb2xvcjRmIERhcmtNb2RlQ29sb3IoR3JhcGhp Y3NDb250ZXh0JiBjb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFNrQ29s b3I0ZiYgY29sb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgQXV0b0RhcmtNb2Rl JiBhdXRvX2RhcmtfbW9kZSkgeworLSAgaWYgKGF1dG9fZGFya19tb2RlLmVuYWJsZWQpIHsKKysg IGlmIChhdXRvX2RhcmtfbW9kZS5lbmFibGVkICYmICFjb250ZXh0LklzQXV0b0RhcmtNb2RlUGF1 c2VkKCkpIHsKKyAgICAgcmV0dXJuIGNvbnRleHQuR2V0RGFya01vZGVGaWx0ZXIoKS0+SW52ZXJ0 Q29sb3JJZk5lZWRlZCgKKyAgICAgICAgIGNvbG9yLCBhdXRvX2RhcmtfbW9kZS5yb2xlLAorICAg ICAgICAgU2tDb2xvcjRmOjpGcm9tQ29sb3IoYXV0b19kYXJrX21vZGUuY29udHJhc3RfY29sb3Ip KTsKK0BAIC0xODksNyArMTg5LDcgQEAgY2xhc3MgR3JhcGhpY3NDb250ZXh0OjpEYXJrTW9kZUZs YWdzIGZpbmFsIHsKKyAgIERhcmtNb2RlRmxhZ3MoR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LAor ICAgICAgICAgICAgICAgICBjb25zdCBBdXRvRGFya01vZGUmIGF1dG9fZGFya19tb2RlLAorICAg ICAgICAgICAgICAgICBjb25zdCBjYzo6UGFpbnRGbGFncyYgZmxhZ3MpIHsKKy0gICAgaWYgKGF1 dG9fZGFya19tb2RlLmVuYWJsZWQpIHsKKysgICAgaWYgKGF1dG9fZGFya19tb2RlLmVuYWJsZWQg JiYgIWNvbnRleHQtPklzQXV0b0RhcmtNb2RlUGF1c2VkKCkpIHsKKyAgICAgICBkYXJrX21vZGVf ZmxhZ3NfID0gY29udGV4dC0+R2V0RGFya01vZGVGaWx0ZXIoKS0+QXBwbHlUb0ZsYWdzSWZOZWVk ZWQoCisgICAgICAgICAgIGZsYWdzLCBhdXRvX2RhcmtfbW9kZS5yb2xlLAorICAgICAgICAgICBT a0NvbG9yNGY6OkZyb21Db2xvcihhdXRvX2RhcmtfbW9kZS5jb250cmFzdF9jb2xvcikpOworQEAg LTI0OCw2ICsyNDgsOSBAQCBEYXJrTW9kZUZpbHRlciogR3JhcGhpY3NDb250ZXh0OjpHZXREYXJr TW9kZUZpbHRlckZvckltYWdlKAorICAgICBjb25zdCBJbWFnZUF1dG9EYXJrTW9kZSYgYXV0b19k YXJrX21vZGUpIHsKKyAgIGlmICghYXV0b19kYXJrX21vZGUuZW5hYmxlZCkKKyAgICAgcmV0dXJu IG51bGxwdHI7CisrICAvLyBJbWFnZXMgYXJlIGdhdGVkIGJ5IHRoZWlyIG93biBzaXplIGNsYXNz aWZpY2F0aW9uLCBub3QgYnkgdGhlIGNvbnRleHQncworKyAgLy8gYXV0byBkYXJrIG1vZGUgcGF1 c2VkIHN0YXRlLCBzbyBhbiBpY29uLXNpemVkIGltYWdlIGlzIHN0aWxsIGludmVydGVkIGV2ZW4K KysgIC8vIHdoaWxlIGRhcmsgbW9kZSBpcyBwYXVzZWQgZm9yIGl0cyBjb250YWluZXIuCisgICBE YXJrTW9kZUZpbHRlciogZGFya19tb2RlX2ZpbHRlciA9IEdldERhcmtNb2RlRmlsdGVyKCk7Cisg ICBpZiAoIWRhcmtfbW9kZV9maWx0ZXItPlNob3VsZEFwcGx5RmlsdGVyVG9JbWFnZShhdXRvX2Rh cmtfbW9kZS5pbWFnZV90eXBlKSkKKyAgICAgcmV0dXJuIG51bGxwdHI7CitkaWZmIC0tZ2l0IGEv dGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vZ3JhcGhpY3MvZ3JhcGhpY3NfY29u dGV4dC5oIGIvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vZ3JhcGhpY3MvZ3Jh cGhpY3NfY29udGV4dC5oCitpbmRleCAwNDYwOThlNzk1NzguLmYwNzJlMjRiMWUyMiAxMDA2NDQK Ky0tLSBhL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL2dyYXBoaWNzL2dyYXBo aWNzX2NvbnRleHQuaAorKysrIGIvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0v Z3JhcGhpY3MvZ3JhcGhpY3NfY29udGV4dC5oCitAQCAtMjEzLDYgKzIxMywzNCBAQCBjbGFzcyBQ TEFURk9STV9FWFBPUlQgR3JhcGhpY3NDb250ZXh0IHsKKyAgIERhcmtNb2RlRmlsdGVyKiBHZXRE YXJrTW9kZUZpbHRlckZvckltYWdlKAorICAgICAgIGNvbnN0IEltYWdlQXV0b0RhcmtNb2RlJiBh dXRvX2RhcmtfbW9kZSk7CisgCisrICAvLyBQdXNoZXMgYSBkYXJrIG1vZGUgaW52ZXJzaW9uIHBh dXNlIHN0YXRlIG9uIGNvbnN0cnVjdGlvbiBhbmQgcG9wcyBpdCBvbgorKyAgLy8gZGVzdHJ1Y3Rp b24sIGd1YXJhbnRlZWluZyBwdXNoZXMgYW5kIHBvcHMgYXJlIGFsd2F5cyBiYWxhbmNlZC4gU2Vl IHRoZQorKyAgLy8gY29tbWVudCBvbiBJc0F1dG9EYXJrTW9kZVBhdXNlZCgpIGZvciB0aGUgc2Vt YW50aWNzIG9mIHRoZSBwYXVzZSBzdGF0ZXMuCisrICBjbGFzcyBTY29wZWRBdXRvRGFya01vZGVT dGF0ZSB7CisrICAgIFNUQUNLX0FMTE9DQVRFRCgpOworKworKyAgIHB1YmxpYzoKKysgICAgU2Nv cGVkQXV0b0RhcmtNb2RlU3RhdGUoR3JhcGhpY3NDb250ZXh0JiBjb250ZXh0LCBib29sIHBhdXNl ZCkKKysgICAgICAgIDogY29udGV4dF8oY29udGV4dCkgeworKyAgICAgIGNvbnRleHRfLlB1c2hB dXRvRGFya01vZGVTdGF0ZShwYXVzZWQpOworKyAgICB9CisrICAgIFNjb3BlZEF1dG9EYXJrTW9k ZVN0YXRlKGNvbnN0IFNjb3BlZEF1dG9EYXJrTW9kZVN0YXRlJikgPSBkZWxldGU7CisrICAgIFNj b3BlZEF1dG9EYXJrTW9kZVN0YXRlJiBvcGVyYXRvcj0oY29uc3QgU2NvcGVkQXV0b0RhcmtNb2Rl U3RhdGUmKSA9IGRlbGV0ZTsKKysgICAgflNjb3BlZEF1dG9EYXJrTW9kZVN0YXRlKCkgeyBjb250 ZXh0Xy5Qb3BBdXRvRGFya01vZGVTdGF0ZSgpOyB9CisrCisrICAgcHJpdmF0ZToKKysgICAgR3Jh cGhpY3NDb250ZXh0JiBjb250ZXh0XzsKKysgIH07CisrCisrICAvLyBEYXJrIG1vZGUgY29sb3Iv ZmxhZ3MgaW52ZXJzaW9uIHBhdXNlIHN0YXRlLiBXaGlsZSB0aGUgbGF0ZXN0IHB1c2hlZCBzdGF0 ZQorKyAgLy8gaXMgdHJ1ZSwgaW52ZXJzaW9uIGlzIHBhdXNlZCByZWdhcmRsZXNzIG9mIHRoZSBw ZXItZHJhdyB8ZW5hYmxlZHwgZmxhZy4KKysgIC8vIE5lc3RlZCBzY29wZXMgY2FuIG92ZXJyaWRl IHRoZSBwYXVzZSBzdGF0ZSBvZiB0aGVpciBhbmNlc3RvcnM6IHRoZSBwdXNoZWQKKysgIC8vIHN0 YXRlIGFwcGxpZXMgdW50aWwgaXQgaXMgcG9wcGVkLCBhZnRlciB3aGljaCB0aGUgcHJldmlvdXMg c3RhdGUgdGFrZXMKKysgIC8vIGVmZmVjdCBhZ2Fpbi4gVXNlIFNjb3BlZEF1dG9EYXJrTW9kZVN0 YXRlIHRvIG1hbmFnZSB0aGUgc3RhdGVzLgorKyAgYm9vbCBJc0F1dG9EYXJrTW9kZVBhdXNlZCgp IGNvbnN0IHsKKysgICAgcmV0dXJuICFhdXRvX2RhcmtfbW9kZV9zdGF0ZXNfLmVtcHR5KCkgJiYg YXV0b19kYXJrX21vZGVfc3RhdGVzXy5iYWNrKCk7CisrICB9CisrCisgICB2b2lkIFNldERhcmtN b2RlRmlsdGVyRm9yVGVzdChzdGQ6OnVuaXF1ZV9wdHI8RGFya01vZGVGaWx0ZXI+KTsKKyAKKyAg IC8vIC0tLS0tLS0tLS0gU3RhdGUgbWFuYWdlbWVudCBtZXRob2RzIC0tLS0tLS0tLS0tLS0tLS0t CitAQCAtNTExLDYgKzUzOSwxNiBAQCBjbGFzcyBQTEFURk9STV9FWFBPUlQgR3JhcGhpY3NDb250 ZXh0IHsKKyAgICAgcmV0dXJuIHBhaW50X3N0YXRlXzsKKyAgIH0KKyAKKysgIC8vIE1hbmFnZWQg ZXhjbHVzaXZlbHkgdGhyb3VnaCBTY29wZWRBdXRvRGFya01vZGVTdGF0ZSB0byBrZWVwIHB1c2hl cyBhbmQgcG9wcworKyAgLy8gYmFsYW5jZWQuCisrICB2b2lkIFB1c2hBdXRvRGFya01vZGVTdGF0 ZShib29sIHBhdXNlZCkgeworKyAgICBhdXRvX2RhcmtfbW9kZV9zdGF0ZXNfLnB1c2hfYmFjayhw YXVzZWQpOworKyAgfQorKyAgdm9pZCBQb3BBdXRvRGFya01vZGVTdGF0ZSgpIHsKKysgICAgRENI RUNLKCFhdXRvX2RhcmtfbW9kZV9zdGF0ZXNfLmVtcHR5KCkpOworKyAgICBhdXRvX2RhcmtfbW9k ZV9zdGF0ZXNfLnBvcF9iYWNrKCk7CisrICB9CisrCisgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgRHJh d1RleHRGdW5jPgorICAgdm9pZCBEcmF3VGV4dFBhc3Nlcyhjb25zdCBEcmF3VGV4dEZ1bmMmKTsK KyAKK0BAIC01NzEsNiArNjA5LDcgQEAgY2xhc3MgUExBVEZPUk1fRVhQT1JUIEdyYXBoaWNzQ29u dGV4dCB7CisgCisgICBzdGQ6OnVuaXF1ZV9wdHI8RGFya01vZGVGaWx0ZXI+IGRhcmtfbW9kZV9m aWx0ZXJfOworIAorKyAgVmVjdG9yPGJvb2w+IGF1dG9fZGFya19tb2RlX3N0YXRlc187CisgICBi b29sIHByaW50aW5nXyA9IGZhbHNlOworICAgYm9vbCBwcmludGluZ19pbnRlcm5hbF9oZWFkZXJz X2FuZF9mb290ZXJzXyA9IGZhbHNlOworICAgYm9vbCBpbl9kcmF3aW5nX3JlY29yZGVyXyA9IGZh bHNlOworZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL2dy YXBoaWNzL2dyYXBoaWNzX2NvbnRleHRfdGVzdC5jYyBiL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRl cmVyL3BsYXRmb3JtL2dyYXBoaWNzL2dyYXBoaWNzX2NvbnRleHRfdGVzdC5jYworaW5kZXggZDA5 Njc2YmI5MmFkLi5lODUwNGNiNTQxMDYgMTAwNjQ0CistLS0gYS90aGlyZF9wYXJ0eS9ibGluay9y ZW5kZXJlci9wbGF0Zm9ybS9ncmFwaGljcy9ncmFwaGljc19jb250ZXh0X3Rlc3QuY2MKKysrKyBi L3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL2dyYXBoaWNzL2dyYXBoaWNzX2Nv bnRleHRfdGVzdC5jYworQEAgLTE5OCw1ICsxOTgsNzcgQEAgVEVTVF9GKEdyYXBoaWNzQ29udGV4 dERhcmtNb2RlVGVzdCwgSW52ZXJ0TGlnaHRuZXNzTEFCKSB7CisgICBFWFBFQ1RfRVEoMHhmZjdm N2Y3ZiwgYml0bWFwXy5nZXRDb2xvcigzLCAwKSk7CisgfQorIAorK1RFU1RfRihHcmFwaGljc0Nv bnRleHREYXJrTW9kZVRlc3QsIFNjb3BlZEF1dG9EYXJrTW9kZVN0YXRlUGF1c2VkKSB7CisrICBQ YWludENvbnRyb2xsZXIgcGFpbnRfY29udHJvbGxlcjsKKysgIEdyYXBoaWNzQ29udGV4dCBjb250 ZXh0KHBhaW50X2NvbnRyb2xsZXIpOworKyAgRGFya01vZGVTZXR0aW5ncyBzZXR0aW5nczsKKysg IGNvbnRleHQuU2V0RGFya01vZGVGaWx0ZXJGb3JUZXN0KHN0ZDo6bWFrZV91bmlxdWU8RGFya01v ZGVGaWx0ZXI+KHNldHRpbmdzKSk7CisrICBBdXRvRGFya01vZGUgYXV0b19kYXJrX21vZGUoRGFy a01vZGVGaWx0ZXI6OkVsZW1lbnRSb2xlOjprQmFja2dyb3VuZCwKKysgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAvKmVuYWJsZWQ9Ki90cnVlKTsKKysKKysgIEVYUEVDVF9GQUxTRShjb250 ZXh0LklzQXV0b0RhcmtNb2RlUGF1c2VkKCkpOworKworKyAgY29udGV4dC5CZWdpblJlY29yZGlu ZygpOworKyAgeworKyAgICAvLyBQYXVzaW5nIHN1cHByZXNzZXMgaW52ZXJzaW9uLCBzbyBibGFj ayBzdGF5cyBibGFjay4KKysgICAgR3JhcGhpY3NDb250ZXh0OjpTY29wZWRBdXRvRGFya01vZGVT dGF0ZSBwYXVzZWQoY29udGV4dCwgLypwYXVzZWQ9Ki90cnVlKTsKKysgICAgRVhQRUNUX1RSVUUo Y29udGV4dC5Jc0F1dG9EYXJrTW9kZVBhdXNlZCgpKTsKKysgICAgY29udGV4dC5GaWxsUmVjdChn Zng6OlJlY3RGKDAsIDAsIDEsIDEpLCBDb2xvcjo6a0JsYWNrLCBhdXRvX2RhcmtfbW9kZSk7Cisr CisrICAgIHsKKysgICAgICAvLyBBIG5lc3RlZCBzY29wZSBvdmVycmlkZXMgdGhlIGFuY2VzdG9y LCByZS1lbmFibGluZyBpbnZlcnNpb24gc28gYmxhY2sKKysgICAgICAvLyBiZWNvbWVzIHdoaXRl LgorKyAgICAgIEdyYXBoaWNzQ29udGV4dDo6U2NvcGVkQXV0b0RhcmtNb2RlU3RhdGUgcmVzdW1l ZChjb250ZXh0LAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAvKnBhdXNlZD0qL2ZhbHNlKTsKKysgICAgICBFWFBFQ1RfRkFMU0UoY29udGV4 dC5Jc0F1dG9EYXJrTW9kZVBhdXNlZCgpKTsKKysgICAgICBjb250ZXh0LkZpbGxSZWN0KGdmeDo6 UmVjdEYoMSwgMCwgMSwgMSksIENvbG9yOjprQmxhY2ssIGF1dG9fZGFya19tb2RlKTsKKysgICAg fQorKworKyAgICAvLyBUaGUgb3V0ZXIgcGF1c2VkIHN0YXRlIGlzIHJlc3RvcmVkIHdoZW4gdGhl IG5lc3RlZCBzY29wZSBleGl0cy4KKysgICAgRVhQRUNUX1RSVUUoY29udGV4dC5Jc0F1dG9EYXJr TW9kZVBhdXNlZCgpKTsKKysgIH0KKysKKysgIC8vIEJhY2sgdG8gdGhlIGRlZmF1bHQgKG5vdCBw YXVzZWQpIHN0YXRlIGFmdGVyIGFsbCBzY29wZXMgZXhpdDsgaW52ZXJzaW9uCisrICAvLyBhcHBs aWVzIGFnYWluLCBzbyBibGFjayBiZWNvbWVzIHdoaXRlLgorKyAgRVhQRUNUX0ZBTFNFKGNvbnRl eHQuSXNBdXRvRGFya01vZGVQYXVzZWQoKSk7CisrICBjb250ZXh0LkZpbGxSZWN0KGdmeDo6UmVj dEYoMiwgMCwgMSwgMSksIENvbG9yOjprQmxhY2ssIGF1dG9fZGFya19tb2RlKTsKKysKKysgIGNh bnZhc18tPmRyYXdQaWN0dXJlKGNvbnRleHQuRW5kUmVjb3JkaW5nKCkpOworKworKyAgRVhQRUNU X0VRKFNLX0NvbG9yQkxBQ0ssIGJpdG1hcF8uZ2V0Q29sb3IoMCwgMCkpOworKyAgRVhQRUNUX0VR KFNLX0NvbG9yV0hJVEUsIGJpdG1hcF8uZ2V0Q29sb3IoMSwgMCkpOworKyAgRVhQRUNUX0VRKFNL X0NvbG9yV0hJVEUsIGJpdG1hcF8uZ2V0Q29sb3IoMiwgMCkpOworK30KKysKKytURVNUX0YoR3Jh cGhpY3NDb250ZXh0RGFya01vZGVUZXN0LAorKyAgICAgICBCaXRtYXBJbWFnZUlnbm9yZXNBdXRv RGFya01vZGVQYXVzZWRTdGF0ZXMpIHsKKysgIFBhaW50Q29udHJvbGxlciBwYWludF9jb250cm9s bGVyOworKyAgR3JhcGhpY3NDb250ZXh0IGNvbnRleHQocGFpbnRfY29udHJvbGxlcik7CisrICBE YXJrTW9kZVNldHRpbmdzIHNldHRpbmdzOworKyAgY29udGV4dC5TZXREYXJrTW9kZUZpbHRlckZv clRlc3Qoc3RkOjptYWtlX3VuaXF1ZTxEYXJrTW9kZUZpbHRlcj4oc2V0dGluZ3MpKTsKKysKKysg IEltYWdlQXV0b0RhcmtNb2RlIGljb24oRGFya01vZGVGaWx0ZXI6OkVsZW1lbnRSb2xlOjprQmFj a2dyb3VuZCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgLyplbmFibGVkPSovdHJ1ZSwgRGFy a01vZGVGaWx0ZXI6OkltYWdlVHlwZTo6a0ljb24pOworKyAgSW1hZ2VBdXRvRGFya01vZGUgcGhv dG8oRGFya01vZGVGaWx0ZXI6OkVsZW1lbnRSb2xlOjprQmFja2dyb3VuZCwKKysgICAgICAgICAg ICAgICAgICAgICAgICAgIC8qZW5hYmxlZD0qL3RydWUsIERhcmtNb2RlRmlsdGVyOjpJbWFnZVR5 cGU6OmtQaG90byk7CisrCisrICAvLyBOb3QgcGF1c2VkOiBpY29ucyBhcmUgaW52ZXJ0ZWQsIHBo b3RvcyBhcmUgbm90LgorKyAgRVhQRUNUX0ZBTFNFKGNvbnRleHQuSXNBdXRvRGFya01vZGVQYXVz ZWQoKSk7CisrICBFWFBFQ1RfTkUobnVsbHB0ciwgY29udGV4dC5HZXREYXJrTW9kZUZpbHRlckZv ckltYWdlKGljb24pKTsKKysgIEVYUEVDVF9FUShudWxscHRyLCBjb250ZXh0LkdldERhcmtNb2Rl RmlsdGVyRm9ySW1hZ2UocGhvdG8pKTsKKysKKysgIHsKKysgICAgLy8gUGF1c2VkOiB0aGUgaWNv biBpcyBzdGlsbCBpbnZlcnRlZCwgYW5kIHRoZSBwaG90byBpcyBzdGlsbCB1bnRvdWNoZWQuCisr ICAgIEdyYXBoaWNzQ29udGV4dDo6U2NvcGVkQXV0b0RhcmtNb2RlU3RhdGUgcGF1c2VkKGNvbnRl eHQsIC8qcGF1c2VkPSovdHJ1ZSk7CisrICAgIEVYUEVDVF9UUlVFKGNvbnRleHQuSXNBdXRvRGFy a01vZGVQYXVzZWQoKSk7CisrICAgIEVYUEVDVF9ORShudWxscHRyLCBjb250ZXh0LkdldERhcmtN b2RlRmlsdGVyRm9ySW1hZ2UoaWNvbikpOworKyAgICBFWFBFQ1RfRVEobnVsbHB0ciwgY29udGV4 dC5HZXREYXJrTW9kZUZpbHRlckZvckltYWdlKHBob3RvKSk7CisrICB9CisrCisrICAvLyBBIGRp c2FibGVkIGltYWdlIGF1dG8gZGFyayBtb2RlIG5ldmVyIHJldHVybnMgYSBmaWx0ZXIuCisrICBF WFBFQ1RfRVEobnVsbHB0ciwKKysgICAgICAgICAgICBjb250ZXh0LkdldERhcmtNb2RlRmlsdGVy Rm9ySW1hZ2UoSW1hZ2VBdXRvRGFya01vZGU6OkRpc2FibGVkKCkpKTsKKyt9CisrCisgfSAgLy8g bmFtZXNwYWNlCisgfSAgLy8gbmFtZXNwYWNlIGJsaW5rCgpkaWZmIC0tZ2l0IGEvY2hyb21pdW0t MTUwLU1ha2UtZGFyay1tb2RlLWFwcGx5LWZpbHRlci10by1pbWFnZXMtaXJyZXNwZWN0aXZlLW9m LWxheW91dC16b29tLnBhdGNoIGIvY2hyb21pdW0tMTUwLU1ha2UtZGFyay1tb2RlLWFwcGx5LWZp bHRlci10by1pbWFnZXMtaXJyZXNwZWN0aXZlLW9mLWxheW91dC16b29tLnBhdGNoCm5ldyBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhlY2FlZDAKLS0tIC9kZXYvbnVsbAorKysgYi9j aHJvbWl1bS0xNTAtTWFrZS1kYXJrLW1vZGUtYXBwbHktZmlsdGVyLXRvLWltYWdlcy1pcnJlc3Bl Y3RpdmUtb2YtbGF5b3V0LXpvb20ucGF0Y2gKQEAgLTAsMCArMSwyMDQgQEAKK2NvbW1pdCBjZjk1 ODhlMDY1NTY2M2UzMDE5MTVlNTNlYzVhOGRmOGFlODc0Y2U0CitBdXRob3I6IFByYXNoYW50IE5l dmFzZSA8cG5ldmFzZUBtaWNyb3NvZnQuY29tPgorRGF0ZTogICBGcmkgSnVuIDE5IDA2OjE5OjQ3 IDIwMjYgLTA3MDAKKworICAgIE1ha2UgZGFyayBtb2RlIGFwcGx5IGZpbHRlciB0byBpbWFnZXMg aXJyZXNwZWN0aXZlIG9mIGxheW91dCB6b29tCisgICAgCisgICAgVGhlIGxheW91dCB6b29tIGZh Y3RvciBjb21iaW5lcyBwYWdlIHpvb20gd2l0aCB0aGUgZGV2aWNlIHNjYWxlIGZhY3Rvci4KKyAg ICBXaGVuIHpvb20gaXMgYXBwbGllZCwgdGhlIHBhZ2Ugc2l6ZSBzY2FsZXMgYWNjb3JkaW5nbHks IGFuZCBpbWFnZXMgYXJlCisgICAgZHJhd24gcmVsYXRpdmUgdG8gdGhlIG5ldyBwYWdlIHNpemUu IFRoaXMgc2hvdWxkIGFjY291bnQgZm9yIHRoZSBoaWdoZXIKKyAgICBpY29uIHRocmVzaG9sZCBy YXRpbyBjb21wYXJlZCB3aXRoIHRoZSAxeCBzY2FsZS4gT3RoZXJ3aXNlLCB0aGUgc2FtZQorICAg IGltYWdlIG1heSByZWNlaXZlIGRpZmZlcmVudCBkYXJrIG1vZGUgZmlsdGVycyBhdCBkaWZmZXJl bnQgc2NhbGVzLAorICAgIGNyZWF0aW5nIGEgcG9vciB1c2VyIGV4cGVyaWVuY2UuIFRvIGF2b2lk IHRoaXMsIGRhcmsgbW9kZSBpbWFnZQorICAgIGNsYXNzaWZpY2F0aW9uIHNob3VsZCByZW1haW4g Y29uc2lzdGVudCBhY3Jvc3MgbGF5b3V0IHpvb20gZmFjdG9ycy4KKyAgICAKKyAgICBDU1Mgem9v bSBpcyBzdGlsbCBjb25zaWRlcmVkLCBiZWNhdXNlIGl0IGNoYW5nZXMgdGhlIHJhdGlvIG9mIGRy YXduCisgICAgaW1hZ2Ugc2l6ZSB0byBkaXNwbGF5IHNpemUgaW4gMXggc2NhbGUuCisgICAgCisg ICAgQnVnOiA0NDk5MDk1MjQKKyAgICBDaGFuZ2UtSWQ6IElhNDIwMDA3YjI3OGExZjU5MmMzNTM1 NTdkNGNiZjY2YTdjNTc1YzQyCisgICAgUmV2aWV3ZWQtb246IGh0dHBzOi8vY2hyb21pdW0tcmV2 aWV3Lmdvb2dsZXNvdXJjZS5jb20vYy9jaHJvbWl1bS9zcmMvKy83OTYxNjYwCisgICAgUmV2aWV3 ZWQtYnk6IFN0ZXBoZW4gQ2hlbm5leSA8c2NoZW5uZXlAY2hyb21pdW0ub3JnPgorICAgIENvbW1p dC1RdWV1ZTogUHJhc2hhbnQgTmV2YXNlIDxwbmV2YXNlQG1pY3Jvc29mdC5jb20+CisgICAgQXV0 by1TdWJtaXQ6IFByYXNoYW50IE5ldmFzZSA8cG5ldmFzZUBtaWNyb3NvZnQuY29tPgorICAgIENy LUNvbW1pdC1Qb3NpdGlvbjogcmVmcy9oZWFkcy9tYWluQHsjMTY0OTYzOH0KKworZGlmZiAtLWdp dCBhL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUvcGFpbnQvcGFpbnRfYXV0b19kYXJr X21vZGUuY2MgYi90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9jb3JlL3BhaW50L3BhaW50X2F1 dG9fZGFya19tb2RlLmNjCitpbmRleCAxMjQ2ZjE3OWY5YjE5Li41YjM0MjgzZDdhNTU2IDEwMDY0 NAorLS0tIGEvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9wYWludC9wYWludF9hdXRv X2RhcmtfbW9kZS5jYworKysrIGIvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9wYWlu dC9wYWludF9hdXRvX2RhcmtfbW9kZS5jYworQEAgLTQxLDYgKzQxLDcgQEAgRGFya01vZGVGaWx0 ZXI6OkltYWdlVHlwZSBHZXRJbWFnZVR5cGUoZmxvYXQgZGVzdF90b19kZXZpY2VfcmF0aW8sCisg CisgZmxvYXQgR2V0UmF0aW8oY29uc3QgZGlzcGxheTo6U2NyZWVuSW5mbyYgc2NyZWVuX2luZm8s CisgICAgICAgICAgICAgICAgY29uc3QgZ2Z4OjpSZWN0RiYgZGVzdF9yZWN0KSB7CisrICAvLyBD b21wdXRlIGRldmljZSByZWN0IGluIGRldmljZSBwaXhlbHMuCisgICBjb25zdCBnZng6OlNpemVG JiBkZXZpY2VfcmVjdCA9IGdmeDo6U2NhbGVTaXplKAorICAgICAgIGdmeDo6U2l6ZUYoc2NyZWVu X2luZm8ucmVjdC5zaXplKCkpLCBzY3JlZW5faW5mby5kZXZpY2Vfc2NhbGVfZmFjdG9yKTsKKyAK K0BAIC00OCw2ICs0OSwyNyBAQCBmbG9hdCBHZXRSYXRpbyhjb25zdCBkaXNwbGF5OjpTY3JlZW5J bmZvJiBzY3JlZW5faW5mbywKKyAgICAgICAgICAgICAgICAgICBkZXN0X3JlY3QuaGVpZ2h0KCkg LyBkZXZpY2VfcmVjdC5oZWlnaHQoKSk7CisgfQorIAorKy8vIENsYXNzaWZpZXMgYW4gaW1hZ2Ug YWZ0ZXIgdW5kb2luZyB0aGUgZnJhbWUncyBsYXlvdXQgem9vbSBmYWN0b3IuCisrLy8gfGRlc3Rf cmVjdHwgY29tZXMgZnJvbSBsYXlvdXQgZ2VvbWV0cnkgYW5kIGluY2x1ZGVzIGxheW91dCB6b29t IChwYWdlIHpvb20KKysvLyBhbmQgcG90ZW50aWFsbHkgRFNGKSBhbmQgQ1NTIHpvb20uIFVuZG8g b25seSBsYXlvdXQgem9vbSBzbyBwYWdlIHpvb20gYW5kCisrLy8gRFNGIGRvIG5vdCBhZmZlY3Qg Y2xhc3NpZmljYXRpb24sIHdoaWxlIENTUyB6b29tIHN0aWxsIGRvZXMuIHxzcmNfcmVjdHwgaXMK KysvLyBkZXJpdmVkIGZyb20gdGhlIGltYWdlJ3MgaW50cmluc2ljIHBpeGVsIHNpemUgYW5kIGlz IGFscmVhZHkKKysvLyB6b29tLWluZGVwZW5kZW50LCBzbyBpdCBtdXN0IGJlIGxlZnQgdW50b3Vj aGVkLgorK0RhcmtNb2RlRmlsdGVyOjpJbWFnZVR5cGUgR2V0SW1hZ2VUeXBlV2l0aFpvb20oCisr ICAgIGNvbnN0IGRpc3BsYXk6OlNjcmVlbkluZm8mIHNjcmVlbl9pbmZvLAorKyAgICBmbG9hdCB6 b29tLAorKyAgICBjb25zdCBnZng6OlJlY3RGJiBkZXN0X3JlY3QsCisrICAgIGNvbnN0IGdmeDo6 UmVjdEYmIHNyY19yZWN0KSB7CisrICBnZng6OlJlY3RGIHVuem9vbWVkX2Rlc3RfcmVjdCA9IGRl c3RfcmVjdDsKKysgIGlmICh6b29tID4gMC5mICYmIHpvb20gIT0gMS5mKSB7CisrICAgIHVuem9v bWVkX2Rlc3RfcmVjdC5TY2FsZSgxLmYgLyB6b29tKTsKKysgIH0KKysKKysgIHJldHVybiBHZXRJ bWFnZVR5cGUoR2V0UmF0aW8oc2NyZWVuX2luZm8sIHVuem9vbWVkX2Rlc3RfcmVjdCksCisrICAg ICAgICAgICAgICAgICAgICAgIGdmeDo6VG9FbmNsb3NpbmdSZWN0KHVuem9vbWVkX2Rlc3RfcmVj dCksCisrICAgICAgICAgICAgICAgICAgICAgIGdmeDo6VG9FbmNsb3NpbmdSZWN0KHNyY19yZWN0 KSk7CisrfQorKworIH0gIC8vIG5hbWVzcGFjZQorIAorIC8vIHN0YXRpYworQEAgLTYzLDIwICs4 NSwxOSBAQCBJbWFnZUF1dG9EYXJrTW9kZSBJbWFnZUNsYXNzaWZpZXJIZWxwZXI6OkdldEltYWdl QXV0b0RhcmtNb2RlKAorICAgY29uc3QgZGlzcGxheTo6U2NyZWVuSW5mbyYgc2NyZWVuX2luZm8g PQorICAgICAgIGxvY2FsX2ZyYW1lLkdldENocm9tZUNsaWVudCgpLkdldFNjcmVlbkluZm8obG9j YWxfZnJhbWUpOworIAorLSAgcmV0dXJuIEltYWdlQXV0b0RhcmtNb2RlKHJvbGUsIHN0eWxlLkZv cmNlRGFyaygpLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgIEdldEltYWdlVHlwZShHZXRS YXRpbyhzY3JlZW5faW5mbywgZGVzdF9yZWN0KSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgZ2Z4OjpUb0VuY2xvc2luZ1JlY3QoZGVzdF9yZWN0KSwKKy0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2Z4OjpUb0VuY2xvc2luZ1JlY3Qoc3Jj X3JlY3QpKSk7CisrICBjb25zdCBmbG9hdCBsYXlvdXRfem9vbSA9IGxvY2FsX2ZyYW1lLkxheW91 dFpvb21GYWN0b3IoKTsKKysgIHJldHVybiBJbWFnZUF1dG9EYXJrTW9kZSgKKysgICAgICByb2xl LCBzdHlsZS5Gb3JjZURhcmsoKSwKKysgICAgICBHZXRJbWFnZVR5cGVXaXRoWm9vbShzY3JlZW5f aW5mbywgbGF5b3V0X3pvb20sIGRlc3RfcmVjdCwgc3JjX3JlY3QpKTsKKyB9CisgCisgLy8gc3Rh dGljCisgRGFya01vZGVGaWx0ZXI6OkltYWdlVHlwZSBJbWFnZUNsYXNzaWZpZXJIZWxwZXI6Okdl dEltYWdlVHlwZUZvclRlc3RpbmcoCisgICAgIGRpc3BsYXk6OlNjcmVlbkluZm8mIHNjcmVlbl9p bmZvLAorICAgICBjb25zdCBnZng6OlJlY3RGJiBkZXN0X3JlY3QsCistICAgIGNvbnN0IGdmeDo6 UmVjdEYmIHNyY19yZWN0KSB7CistICByZXR1cm4gR2V0SW1hZ2VUeXBlKEdldFJhdGlvKHNjcmVl bl9pbmZvLCBkZXN0X3JlY3QpLAorLSAgICAgICAgICAgICAgICAgICAgICBnZng6OlRvRW5jbG9z aW5nUmVjdChkZXN0X3JlY3QpLAorLSAgICAgICAgICAgICAgICAgICAgICBnZng6OlRvRW5jbG9z aW5nUmVjdChzcmNfcmVjdCkpOworKyAgICBjb25zdCBnZng6OlJlY3RGJiBzcmNfcmVjdCwKKysg ICAgZmxvYXQgem9vbSkgeworKyAgcmV0dXJuIEdldEltYWdlVHlwZVdpdGhab29tKHNjcmVlbl9p bmZvLCB6b29tLCBkZXN0X3JlY3QsIHNyY19yZWN0KTsKKyB9CisgCisgfSAgLy8gbmFtZXNwYWNl IGJsaW5rCitkaWZmIC0tZ2l0IGEvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9wYWlu dC9wYWludF9hdXRvX2RhcmtfbW9kZS5oIGIvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29y ZS9wYWludC9wYWludF9hdXRvX2RhcmtfbW9kZS5oCitpbmRleCBmM2VkYTAxMTMzOTFhLi45YmY4 ZGYxYzMzYTg0IDEwMDY0NAorLS0tIGEvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9w YWludC9wYWludF9hdXRvX2RhcmtfbW9kZS5oCisrKysgYi90aGlyZF9wYXJ0eS9ibGluay9yZW5k ZXJlci9jb3JlL3BhaW50L3BhaW50X2F1dG9fZGFya19tb2RlLmgKK0BAIC00Miw3ICs0Miw4IEBA IGNsYXNzIEltYWdlQ2xhc3NpZmllckhlbHBlciB7CisgICBDT1JFX0VYUE9SVCBzdGF0aWMgRGFy a01vZGVGaWx0ZXI6OkltYWdlVHlwZSBHZXRJbWFnZVR5cGVGb3JUZXN0aW5nKAorICAgICAgIGRp c3BsYXk6OlNjcmVlbkluZm8mIHNjcmVlbl9pbmZvLAorICAgICAgIGNvbnN0IGdmeDo6UmVjdEYm IGRlc3RfcmVjdCwKKy0gICAgICBjb25zdCBnZng6OlJlY3RGJiBzcmNfcmVjdCk7CisrICAgICAg Y29uc3QgZ2Z4OjpSZWN0RiYgc3JjX3JlY3QsCisrICAgICAgZmxvYXQgem9vbSA9IDEuMGYpOwor IH07CisgCisgfSAgLy8gbmFtZXNwYWNlIGJsaW5rCitkaWZmIC0tZ2l0IGEvdGhpcmRfcGFydHkv YmxpbmsvcmVuZGVyZXIvY29yZS9wYWludC9wYWludF9hdXRvX2RhcmtfbW9kZV90ZXN0LmNjIGIv dGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9wYWludC9wYWludF9hdXRvX2RhcmtfbW9k ZV90ZXN0LmNjCitpbmRleCA3MDVhMzA0ZGUxY2U3Li43N2ZmMGYwNjkxODhlIDEwMDY0NAorLS0t IGEvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9wYWludC9wYWludF9hdXRvX2Rhcmtf bW9kZV90ZXN0LmNjCisrKysgYi90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9jb3JlL3BhaW50 L3BhaW50X2F1dG9fZGFya19tb2RlX3Rlc3QuY2MKK0BAIC0xMCw3ICsxMCw2OSBAQAorIAorIG5h bWVzcGFjZSBibGluayB7CisgCistY2xhc3MgUGFpbnRBdXRvRGFya01vZGVUZXN0IDogcHVibGlj IHRlc3Rpbmc6OlRlc3Qge307CisrY2xhc3MgUGFpbnRBdXRvRGFya01vZGVUZXN0IDogcHVibGlj IHRlc3Rpbmc6OlRlc3QgeworKyBwdWJsaWM6CisrICB2b2lkIFRlc3RBcHBseUZpbHRlclRvSW1h Z2VJcnJlc3BlY3RpdmVPZlBhZ2Vab29tKAorKyAgICAgIGRpc3BsYXk6OlNjcmVlbkluZm8gc2Ny ZWVuX2luZm8pIHsKKysgICAgRGFya01vZGVTZXR0aW5ncyBzZXR0aW5nczsKKysgICAgRGFya01v ZGVGaWx0ZXIgZmlsdGVyKHNldHRpbmdzKTsKKysKKysgICAgZmxvYXQgcGFnZV96b29tID0gMS4w ZjsKKysgICAgZmxvYXQgbGF5b3V0X3pvb20gPSAxLjBmOworKyAgICBmbG9hdCBjc3Nfem9vbSA9 IDEuMGY7CisrICAgIGdmeDo6UmVjdEYgc3JjX3JlY3Q7CisrICAgIGdmeDo6UmVjdEYgZGVzdF9y ZWN0OworKworKyAgICAvLyBBIDUweDUwIENTUyBpY29uIGdldHMgZmlsdGVyZWQgZXZlbiBpZiB8 ZGVzdF9yZWN0fCBiZWNvbWVzIGxhcmdlciAyNTB4MjUwCisrICAgIC8vIHRoYW4gdGhyZXNob2xk IHNpemUgaW4gbGFyZ2VyIHpvb20gbGV2ZWxzLgorKyAgICBzcmNfcmVjdCA9IGdmeDo6UmVjdEYo NTAsIDUwKTsKKysgICAgcGFnZV96b29tID0gNS4wZjsKKysgICAgY3NzX3pvb20gPSAxLjBmOwor KyAgICBsYXlvdXRfem9vbSA9IHBhZ2Vfem9vbSAqIHNjcmVlbl9pbmZvLmRldmljZV9zY2FsZV9m YWN0b3I7CisrICAgIGRlc3RfcmVjdCA9CisrICAgICAgICBnZng6OlJlY3RGKDUwICogbGF5b3V0 X3pvb20gKiBjc3Nfem9vbSwgNTAgKiBsYXlvdXRfem9vbSAqIGNzc196b29tKTsKKysgICAgRVhQ RUNUX1RSVUUoZmlsdGVyLlNob3VsZEFwcGx5RmlsdGVyVG9JbWFnZSgKKysgICAgICAgIEltYWdl Q2xhc3NpZmllckhlbHBlcjo6R2V0SW1hZ2VUeXBlRm9yVGVzdGluZyhzY3JlZW5faW5mbywgZGVz dF9yZWN0LAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHNyY19yZWN0LCBsYXlvdXRfem9vbSkpKTsKKysKKysgICAgLy8gQSA1MHg1MCBDU1Mg aWNvbiB3aXRoIGNzcyB6b29tIDUuMGYgYmVjb21lcyAyNTB4MjUwIGFuZCBkb2VzIG5vdCBnZXQK KysgICAgLy8gZmlsdGVycmVkIGFzIHxkZXN0X3JlY3R8IGlzIGxhcmdlciB0aGFuIHRocmVzaG9s ZCBzaXplLgorKyAgICBzcmNfcmVjdCA9IGdmeDo6UmVjdEYoNTAsIDUwKTsKKysgICAgcGFnZV96 b29tID0gNS4wZjsKKysgICAgY3NzX3pvb20gPSA1LjBmOworKyAgICBsYXlvdXRfem9vbSA9IHBh Z2Vfem9vbSAqIHNjcmVlbl9pbmZvLmRldmljZV9zY2FsZV9mYWN0b3I7CisrICAgIGRlc3RfcmVj dCA9CisrICAgICAgICBnZng6OlJlY3RGKDUwICogbGF5b3V0X3pvb20gKiBjc3Nfem9vbSwgNTAg KiBsYXlvdXRfem9vbSAqIGNzc196b29tKTsKKysgICAgRVhQRUNUX0ZBTFNFKGZpbHRlci5TaG91 bGRBcHBseUZpbHRlclRvSW1hZ2UoCisrICAgICAgICBJbWFnZUNsYXNzaWZpZXJIZWxwZXI6Okdl dEltYWdlVHlwZUZvclRlc3Rpbmcoc2NyZWVuX2luZm8sIGRlc3RfcmVjdCwKKysgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcmNfcmVjdCwgbGF5 b3V0X3pvb20pKSk7CisrCisrICAgIC8vIEFuIGltYWdlIHdpdGggMjAweDIwMCBDU1Mgc2l6ZSBn ZXRzIGNsYXNzaWZpZWQgYXMgcGhvdG8gYW5kIGRvZXMgbm90IGdldAorKyAgICAvLyBmaWx0ZXJl ZCwgZXZlbiBpZiB8ZGVzdF9yZWN0fCBiZWNvbWVzIHNtYWxsZXIgNTB4NTAgdGhhbiB0aHJlc2hv bGQgc2l6ZQorKyAgICAvLyBpbiBzbWFsbGVyIHpvb20gbGV2ZWxzLgorKyAgICBzcmNfcmVjdCA9 IGdmeDo6UmVjdEYoMjAwLCAyMDApOworKyAgICBwYWdlX3pvb20gPSAwLjI1ZjsKKysgICAgY3Nz X3pvb20gPSAxLjBmOworKyAgICBsYXlvdXRfem9vbSA9IHBhZ2Vfem9vbSAqIHNjcmVlbl9pbmZv LmRldmljZV9zY2FsZV9mYWN0b3I7CisrICAgIGRlc3RfcmVjdCA9CisrICAgICAgICBnZng6OlJl Y3RGKDIwMCAqIGxheW91dF96b29tICogY3NzX3pvb20sIDIwMCAqIGxheW91dF96b29tICogY3Nz X3pvb20pOworKyAgICBFWFBFQ1RfRkFMU0UoZmlsdGVyLlNob3VsZEFwcGx5RmlsdGVyVG9JbWFn ZSgKKysgICAgICAgIEltYWdlQ2xhc3NpZmllckhlbHBlcjo6R2V0SW1hZ2VUeXBlRm9yVGVzdGlu ZyhzY3JlZW5faW5mbywgZGVzdF9yZWN0LAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHNyY19yZWN0LCBsYXlvdXRfem9vbSkpKTsKKysKKysg ICAgLy8gQW4gaW1hZ2Ugd2l0aCAyMDB4MjAwIENTUyBzaXplIGJlY29tZXMgMjB4MjAgQ1NTIHNp emUgYW5kIGdldHMgY2xhc3NpZmllZAorKyAgICAvLyBhcyBpY29uIGFzIHRoZSBDU1Mgc2l6ZSBp cyBiZWxvdyB0aGUgdGhyZXNob2xkLgorKyAgICBzcmNfcmVjdCA9IGdmeDo6UmVjdEYoMjAwLCAy MDApOworKyAgICBwYWdlX3pvb20gPSAwLjI1ZjsKKysgICAgY3NzX3pvb20gPSAwLjFmOworKyAg ICBsYXlvdXRfem9vbSA9IHBhZ2Vfem9vbSAqIHNjcmVlbl9pbmZvLmRldmljZV9zY2FsZV9mYWN0 b3I7CisrICAgIGRlc3RfcmVjdCA9CisrICAgICAgICBnZng6OlJlY3RGKDIwMCAqIGxheW91dF96 b29tICogY3NzX3pvb20sIDIwMCAqIGxheW91dF96b29tICogY3NzX3pvb20pOworKyAgICBFWFBF Q1RfVFJVRShmaWx0ZXIuU2hvdWxkQXBwbHlGaWx0ZXJUb0ltYWdlKAorKyAgICAgICAgSW1hZ2VD bGFzc2lmaWVySGVscGVyOjpHZXRJbWFnZVR5cGVGb3JUZXN0aW5nKHNjcmVlbl9pbmZvLCBkZXN0 X3JlY3QsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgc3JjX3JlY3QsIGxheW91dF96b29tKSkpOworKyAgfQorK307CisgCisgVEVTVF9GKFBh aW50QXV0b0RhcmtNb2RlVGVzdCwgU2hvdWxkQXBwbHlGaWx0ZXJUb0ltYWdlKSB7CisgICBEYXJr TW9kZVNldHRpbmdzIHNldHRpbmdzOworQEAgLTc3LDQgKzEzOSwyMSBAQCBURVNUX0YoUGFpbnRB dXRvRGFya01vZGVUZXN0LCBTaG91bGRBcHBseUZpbHRlclRvSW1hZ2VPbk1vYmlsZSkgeworICAg ICAgICAgICBzY3JlZW5faW5mbywgZ2Z4OjpSZWN0RigxODAsIDE4MCksIGdmeDo6UmVjdEYoMTgw LCAxODApKSkpOworIH0KKyAKKytURVNUX0YoUGFpbnRBdXRvRGFya01vZGVUZXN0LCBTaG91bGRB cHBseUZpbHRlclRvSW1hZ2VJcnJlc3BlY3RpdmVPZlBhZ2Vab29tKSB7CisrICBkaXNwbGF5OjpT Y3JlZW5JbmZvIHNjcmVlbl9pbmZvOworKyAgc2NyZWVuX2luZm8ucmVjdCA9IGdmeDo6UmVjdCgx OTIwLCAxMDgwKTsKKysgIHNjcmVlbl9pbmZvLmRldmljZV9zY2FsZV9mYWN0b3IgPSAxLjBmOwor KworKyAgVGVzdEFwcGx5RmlsdGVyVG9JbWFnZUlycmVzcGVjdGl2ZU9mUGFnZVpvb20oc2NyZWVu X2luZm8pOworK30KKysKKytURVNUX0YoUGFpbnRBdXRvRGFya01vZGVUZXN0LAorKyAgICAgICBT aG91bGRBcHBseUZpbHRlclRvSW1hZ2VJcnJlc3BlY3RpdmVPZlBhZ2Vab29tT25Nb2JpbGUpIHsK KysgIGRpc3BsYXk6OlNjcmVlbkluZm8gc2NyZWVuX2luZm87CisrICBzY3JlZW5faW5mby5yZWN0 ID0gZ2Z4OjpSZWN0KDM2MCwgNzgwKTsKKysgIHNjcmVlbl9pbmZvLmRldmljZV9zY2FsZV9mYWN0 b3IgPSAzLjBmOworKworKyAgVGVzdEFwcGx5RmlsdGVyVG9JbWFnZUlycmVzcGVjdGl2ZU9mUGFn ZVpvb20oc2NyZWVuX2luZm8pOworK30KKysKKyB9ICAvLyBuYW1lc3BhY2UgYmxpbmsKCmRpZmYg LS1naXQgYS9jaHJvbWl1bS0xNTAtVXNlLTY0cHgtY3NzLXBpeGVscy1hYnNvbHV0ZS10aHJlc2hv bGQtZm9yLWRhcmstaW1hZ2UtY2xhc3NpZmljYXRpb24ucGF0Y2ggYi9jaHJvbWl1bS0xNTAtVXNl LTY0cHgtY3NzLXBpeGVscy1hYnNvbHV0ZS10aHJlc2hvbGQtZm9yLWRhcmstaW1hZ2UtY2xhc3Np ZmljYXRpb24ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmRjOWIx NwotLS0gL2Rldi9udWxsCisrKyBiL2Nocm9taXVtLTE1MC1Vc2UtNjRweC1jc3MtcGl4ZWxzLWFi c29sdXRlLXRocmVzaG9sZC1mb3ItZGFyay1pbWFnZS1jbGFzc2lmaWNhdGlvbi5wYXRjaApAQCAt MCwwICsxLDI4MSBAQAorY29tbWl0IDJjMGI3OWM1N2MxNzI2ZjM1OWJjZDg3MTM3NDc0ZTg1NGIx YWViMzgKK0F1dGhvcjogUHJhc2hhbnQgTmV2YXNlIDxwbmV2YXNlQG1pY3Jvc29mdC5jb20+CitE YXRlOiAgIFRodSBKdW4gMjUgMDg6MTE6MzQgMjAyNiAtMDcwMAorCisgICAgVXNlIDY0cHggY3Nz IHBpeGVscyBhYnNvbHV0ZSB0aHJlc2hvbGQgZm9yIGRhcmsgaW1hZ2UgY2xhc3NpZmljYXRpb24u CisgICAgCisgICAgVGhlIHByZXZpb3VzIHJhdGlvLWJhc2VkIHRocmVzaG9sZCBzY2FsZWQgd2l0 aCB0aGUgc2NyZWVuIHNpemUgYW5kCisgICAgZGV2aWNlIHNjYWxlIGZhY3Rvciwgc28gdGhlIHNh bWUgaW1hZ2UgY291bGQgYmUgY2xhc3NpZmllZCBkaWZmZXJlbnRseQorICAgIGRlcGVuZGluZyBv biB0aGUgZGlzcGxheSBpdCB3YXMgc2hvd24gb24uIFRoaXMgcHJvZHVjZWQgaW5jb25zaXN0ZW50 CisgICAgZGFyayBtb2RlIHJlc3VsdHMgYWNyb3NzIGRpc3BsYXlzIG9mIGRpZmZlcmVudCBzaXpl cyBhbmQgZGV2aWNlIHNjYWxlCisgICAgZmFjdG9ycy4KKyAgICAKKyAgICBSZXBsYWNlIHRoZSBz Y3JlZW4tc2l6ZSByYXRpbyBoZXVyaXN0aWMgKGtNYXhJY29uUmF0aW8pIHdpdGggYSBzaW5nbGUK KyAgICBhYnNvbHV0ZSBzaXplIHRocmVzaG9sZCBvZiA2NCBDU1MgcGl4ZWxzIGZvciBjbGFzc2lm eWluZyBpbWFnZXMgYXMgaWNvbnMKKyAgICBpbiBhdXRvIGRhcmsgbW9kZS4gVGhlIHRocmVzaG9s ZCBpcyBjb21wYXJlZCBhZnRlciB1bmRvaW5nIHRoZSBmcmFtZSdzCisgICAgbGF5b3V0IHpvb20g ZmFjdG9yIChwYWdlIHpvb20gYW5kIGRldmljZSBzY2FsZSBmYWN0b3IpLCBzbworICAgIGNsYXNz aWZpY2F0aW9uIGlzIHN0YWJsZSBhY3Jvc3MgZGV2aWNlcyBhbmQgcGFnZSB6b29tIGxldmVscyB3 aGlsZSBDU1MKKyAgICB6b29tIHN0aWxsIGFmZmVjdHMgdGhlIGRyYXduIHNpemUgYW5kIHRoZXJl Zm9yZSB0aGUgcmVzdWx0LgorICAgIAorICAgIFRoaXMgcmVtb3ZlcyB0aGUgZGVwZW5kZW5jeSBv biBkaXNwbGF5OjpTY3JlZW5JbmZvIGZyb20gdGhlCisgICAgY2xhc3NpZmljYXRpb24gcGF0aCBh bmQgc2ltcGxpZmllcyBHZXRJbWFnZVR5cGUoKSB0byBhIHB1cmUgc2l6ZSBjaGVjay4KKyAgICAK KyAgICBCdWc6IDQ0OTkwOTUyNAorICAgIENoYW5nZS1JZDogSTQ0N2VjN2ExZjk0ZmVkMzAwNDg4 OWRmZTJiZDc4YmY4MzkyZGRkNjEKKyAgICBSZXZpZXdlZC1vbjogaHR0cHM6Ly9jaHJvbWl1bS1y ZXZpZXcuZ29vZ2xlc291cmNlLmNvbS9jL2Nocm9taXVtL3NyYy8rLzgwMDUxNzYKKyAgICBSZXZp ZXdlZC1ieTogU3RlcGhlbiBDaGVubmV5IDxzY2hlbm5leUBjaHJvbWl1bS5vcmc+CisgICAgQ29t bWl0LVF1ZXVlOiBQcmFzaGFudCBOZXZhc2UgPHBuZXZhc2VAbWljcm9zb2Z0LmNvbT4KKyAgICBD ci1Db21taXQtUG9zaXRpb246IHJlZnMvaGVhZHMvbWFpbkB7IzE2NTI0MzR9CisKK2RpZmYgLS1n aXQgYS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9jb3JlL3BhaW50L3BhaW50X2F1dG9fZGFy a19tb2RlLmNjIGIvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9wYWludC9wYWludF9h dXRvX2RhcmtfbW9kZS5jYworaW5kZXggNWIzNDI4M2Q3YTU1Ni4uNjU4ZjZhNGU0ZjZmZCAxMDA2 NDQKKy0tLSBhL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUvcGFpbnQvcGFpbnRfYXV0 b19kYXJrX21vZGUuY2MKKysrKyBiL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUvcGFp bnQvcGFpbnRfYXV0b19kYXJrX21vZGUuY2MKK0BAIC01LDMyICs1LDI2IEBACisgI2luY2x1ZGUg InRoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUvcGFpbnQvcGFpbnRfYXV0b19kYXJrX21v ZGUuaCIKKyAKKyAjaW5jbHVkZSAidGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9mcmFt ZS9sb2NhbF9mcmFtZS5oIgorLSNpbmNsdWRlICJ0aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9j b3JlL3BhZ2UvY2hyb21lX2NsaWVudC5oIgorLSNpbmNsdWRlICJ1aS9kaXNwbGF5L3NjcmVlbl9p bmZvLmgiCisgI2luY2x1ZGUgInVpL2dmeC9nZW9tZXRyeS9yZWN0LmgiCisgI2luY2x1ZGUgInVp L2dmeC9nZW9tZXRyeS9yZWN0X2NvbnZlcnNpb25zLmgiCisgCisgbmFtZXNwYWNlIGJsaW5rIHsK KyAKKyBuYW1lc3BhY2UgeworLQorLS8vIFRoZSBtYXhpbXVtIHJhdGlvIG9mIGltYWdlIHNpemUg dG8gc2NyZWVuIHNpemUgdGhhdCBpcyBjb25zaWRlcmVkIGFuIGljb24uCistY29uc3RleHByIGZs b2F0IGtNYXhJY29uUmF0aW8gPSAwLjEzZjsKKy1jb25zdGV4cHIgaW50IGtNYXhJbWFnZUxlbmd0 aCA9IDUwOworKy8vIEltYWdlcyB3aXRoIGJvdGggd2lkdGggYW5kIGhlaWdodCBzbWFsbGVyIHRo YW4gdGhpcyB2YWx1ZSBhcmUgY29uc2lkZXJlZAorKy8vIGljb25zLgorK2NvbnN0ZXhwciBpbnQg a01heEltYWdlTGVuZ3RoID0gNjQ7CisgLy8gSW1hZ2VzIHdpdGggZWl0aGVyIGRpbWVuc2lvbiBs ZXNzIHRoYW4gdGhpcyB2YWx1ZSBhcmUgY29uc2lkZXJlZCBzZXBhcmF0b3JzLgorIGNvbnN0ZXhw ciBpbnQga01heEltYWdlU2VwYXJhdG9yTGVuZ3RoID0gODsKKyAKKyAvLyBXZSBuZWVkIHRvIGRv IGltYWdlIGNsYXNzaWZpY2F0aW9uIGZpcnN0IGJlZm9yZSBjYWxsaW5nCisgLy8gRGFya01vZGVG aWx0ZXI6OkdlbmVyYXRlSW1hZ2VGaWx0ZXIuCistRGFya01vZGVGaWx0ZXI6OkltYWdlVHlwZSBH ZXRJbWFnZVR5cGUoZmxvYXQgZGVzdF90b19kZXZpY2VfcmF0aW8sCistICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2Z4OjpSZWN0JiBkZXN0X3JlY3QsCisrRGFy a01vZGVGaWx0ZXI6OkltYWdlVHlwZSBHZXRJbWFnZVR5cGUoY29uc3QgZ2Z4OjpSZWN0JiBkZXN0 X3JlY3QsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2Z4 OjpSZWN0JiBzcmNfcmVjdCkgeworLSAgLy8gVE9ETzogVXNlIGEgdmlld3BvcnQgcmVsYXRpdmUg dGhyZXNob2xkIGZvciB0aGUgc2l6ZSBjaGVjayBpbnN0ZWFkIG9mCistICAvLyBhYnNvbHV0ZSB0 aHJlc2hvbGQuCistICBpZiAoZGVzdF90b19kZXZpY2VfcmF0aW8gPD0ga01heEljb25SYXRpbyB8 fAorLSAgICAgIChkZXN0X3JlY3Qud2lkdGgoKSA8PSBrTWF4SW1hZ2VMZW5ndGggJiYKKy0gICAg ICAgZGVzdF9yZWN0LmhlaWdodCgpIDw9IGtNYXhJbWFnZUxlbmd0aCkpCisrICBpZiAoZGVzdF9y ZWN0LndpZHRoKCkgPD0ga01heEltYWdlTGVuZ3RoICYmCisrICAgICAgZGVzdF9yZWN0LmhlaWdo dCgpIDw9IGtNYXhJbWFnZUxlbmd0aCkgeworICAgICByZXR1cm4gRGFya01vZGVGaWx0ZXI6Oklt YWdlVHlwZTo6a0ljb247CisrICB9CisgCisgICBpZiAoc3JjX3JlY3Qud2lkdGgoKSA8PSBrTWF4 SW1hZ2VTZXBhcmF0b3JMZW5ndGggfHwKKyAgICAgICBzcmNfcmVjdC5oZWlnaHQoKSA8PSBrTWF4 SW1hZ2VTZXBhcmF0b3JMZW5ndGgpCitAQCAtMzksMzQgKzMzLDIxIEBAIERhcmtNb2RlRmlsdGVy OjpJbWFnZVR5cGUgR2V0SW1hZ2VUeXBlKGZsb2F0IGRlc3RfdG9fZGV2aWNlX3JhdGlvLAorICAg cmV0dXJuIERhcmtNb2RlRmlsdGVyOjpJbWFnZVR5cGU6OmtQaG90bzsKKyB9CisgCistZmxvYXQg R2V0UmF0aW8oY29uc3QgZGlzcGxheTo6U2NyZWVuSW5mbyYgc2NyZWVuX2luZm8sCistICAgICAg ICAgICAgICAgY29uc3QgZ2Z4OjpSZWN0RiYgZGVzdF9yZWN0KSB7CistICAvLyBDb21wdXRlIGRl dmljZSByZWN0IGluIGRldmljZSBwaXhlbHMuCistICBjb25zdCBnZng6OlNpemVGJiBkZXZpY2Vf cmVjdCA9IGdmeDo6U2NhbGVTaXplKAorLSAgICAgIGdmeDo6U2l6ZUYoc2NyZWVuX2luZm8ucmVj dC5zaXplKCkpLCBzY3JlZW5faW5mby5kZXZpY2Vfc2NhbGVfZmFjdG9yKTsKKy0KKy0gIHJldHVy biBzdGQ6Om1heChkZXN0X3JlY3Qud2lkdGgoKSAvIGRldmljZV9yZWN0LndpZHRoKCksCistICAg ICAgICAgICAgICAgICAgZGVzdF9yZWN0LmhlaWdodCgpIC8gZGV2aWNlX3JlY3QuaGVpZ2h0KCkp OworLX0KKy0KKyAvLyBDbGFzc2lmaWVzIGFuIGltYWdlIGFmdGVyIHVuZG9pbmcgdGhlIGZyYW1l J3MgbGF5b3V0IHpvb20gZmFjdG9yLgorIC8vIHxkZXN0X3JlY3R8IGNvbWVzIGZyb20gbGF5b3V0 IGdlb21ldHJ5IGFuZCBpbmNsdWRlcyBsYXlvdXQgem9vbSAocGFnZSB6b29tCisgLy8gYW5kIHBv dGVudGlhbGx5IERTRikgYW5kIENTUyB6b29tLiBVbmRvIG9ubHkgbGF5b3V0IHpvb20gc28gcGFn ZSB6b29tIGFuZAorIC8vIERTRiBkbyBub3QgYWZmZWN0IGNsYXNzaWZpY2F0aW9uLCB3aGlsZSBD U1Mgem9vbSBzdGlsbCBkb2VzLiB8c3JjX3JlY3R8IGlzCisgLy8gZGVyaXZlZCBmcm9tIHRoZSBp bWFnZSdzIGludHJpbnNpYyBwaXhlbCBzaXplIGFuZCBpcyBhbHJlYWR5CisgLy8gem9vbS1pbmRl cGVuZGVudCwgc28gaXQgbXVzdCBiZSBsZWZ0IHVudG91Y2hlZC4KKy1EYXJrTW9kZUZpbHRlcjo6 SW1hZ2VUeXBlIEdldEltYWdlVHlwZVdpdGhab29tKAorLSAgICBjb25zdCBkaXNwbGF5OjpTY3Jl ZW5JbmZvJiBzY3JlZW5faW5mbywKKy0gICAgZmxvYXQgem9vbSwKKy0gICAgY29uc3QgZ2Z4OjpS ZWN0RiYgZGVzdF9yZWN0LAorLSAgICBjb25zdCBnZng6OlJlY3RGJiBzcmNfcmVjdCkgeworK0Rh cmtNb2RlRmlsdGVyOjpJbWFnZVR5cGUgR2V0SW1hZ2VUeXBlV2l0aFpvb20oZmxvYXQgem9vbSwK KysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdm eDo6UmVjdEYmIGRlc3RfcmVjdCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGNvbnN0IGdmeDo6UmVjdEYmIHNyY19yZWN0KSB7CisgICBnZng6OlJlY3RG IHVuem9vbWVkX2Rlc3RfcmVjdCA9IGRlc3RfcmVjdDsKKyAgIGlmICh6b29tID4gMC5mICYmIHpv b20gIT0gMS5mKSB7CisgICAgIHVuem9vbWVkX2Rlc3RfcmVjdC5TY2FsZSgxLmYgLyB6b29tKTsK KyAgIH0KKyAKKy0gIHJldHVybiBHZXRJbWFnZVR5cGUoR2V0UmF0aW8oc2NyZWVuX2luZm8sIHVu em9vbWVkX2Rlc3RfcmVjdCksCistICAgICAgICAgICAgICAgICAgICAgIGdmeDo6VG9FbmNsb3Np bmdSZWN0KHVuem9vbWVkX2Rlc3RfcmVjdCksCisrICByZXR1cm4gR2V0SW1hZ2VUeXBlKGdmeDo6 VG9FbmNsb3NpbmdSZWN0KHVuem9vbWVkX2Rlc3RfcmVjdCksCisgICAgICAgICAgICAgICAgICAg ICAgIGdmeDo6VG9FbmNsb3NpbmdSZWN0KHNyY19yZWN0KSk7CisgfQorIAorQEAgLTgyLDIyICs2 MywxOCBAQCBJbWFnZUF1dG9EYXJrTW9kZSBJbWFnZUNsYXNzaWZpZXJIZWxwZXI6OkdldEltYWdl QXV0b0RhcmtNb2RlKAorICAgaWYgKCFzdHlsZS5Gb3JjZURhcmsoKSkKKyAgICAgcmV0dXJuIElt YWdlQXV0b0RhcmtNb2RlOjpEaXNhYmxlZCgpOworIAorLSAgY29uc3QgZGlzcGxheTo6U2NyZWVu SW5mbyYgc2NyZWVuX2luZm8gPQorLSAgICAgIGxvY2FsX2ZyYW1lLkdldENocm9tZUNsaWVudCgp LkdldFNjcmVlbkluZm8obG9jYWxfZnJhbWUpOworLQorICAgY29uc3QgZmxvYXQgbGF5b3V0X3pv b20gPSBsb2NhbF9mcmFtZS5MYXlvdXRab29tRmFjdG9yKCk7CisgICByZXR1cm4gSW1hZ2VBdXRv RGFya01vZGUoCisgICAgICAgcm9sZSwgc3R5bGUuRm9yY2VEYXJrKCksCistICAgICAgR2V0SW1h Z2VUeXBlV2l0aFpvb20oc2NyZWVuX2luZm8sIGxheW91dF96b29tLCBkZXN0X3JlY3QsIHNyY19y ZWN0KSk7CisrICAgICAgR2V0SW1hZ2VUeXBlV2l0aFpvb20obGF5b3V0X3pvb20sIGRlc3RfcmVj dCwgc3JjX3JlY3QpKTsKKyB9CisgCisgLy8gc3RhdGljCisgRGFya01vZGVGaWx0ZXI6OkltYWdl VHlwZSBJbWFnZUNsYXNzaWZpZXJIZWxwZXI6OkdldEltYWdlVHlwZUZvclRlc3RpbmcoCistICAg IGRpc3BsYXk6OlNjcmVlbkluZm8mIHNjcmVlbl9pbmZvLAorICAgICBjb25zdCBnZng6OlJlY3RG JiBkZXN0X3JlY3QsCisgICAgIGNvbnN0IGdmeDo6UmVjdEYmIHNyY19yZWN0LAorICAgICBmbG9h dCB6b29tKSB7CistICByZXR1cm4gR2V0SW1hZ2VUeXBlV2l0aFpvb20oc2NyZWVuX2luZm8sIHpv b20sIGRlc3RfcmVjdCwgc3JjX3JlY3QpOworKyAgcmV0dXJuIEdldEltYWdlVHlwZVdpdGhab29t KHpvb20sIGRlc3RfcmVjdCwgc3JjX3JlY3QpOworIH0KKyAKKyB9ICAvLyBuYW1lc3BhY2UgYmxp bmsKK2RpZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9jb3JlL3BhaW50L3Bh aW50X2F1dG9fZGFya19tb2RlLmggYi90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9jb3JlL3Bh aW50L3BhaW50X2F1dG9fZGFya19tb2RlLmgKK2luZGV4IDliZjhkZjFjMzNhODQuLmFmZDU3ZWVl MmI0NTYgMTAwNjQ0CistLS0gYS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9jb3JlL3BhaW50 L3BhaW50X2F1dG9fZGFya19tb2RlLmgKKysrKyBiL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVy L2NvcmUvcGFpbnQvcGFpbnRfYXV0b19kYXJrX21vZGUuaAorQEAgLTQwLDcgKzQwLDYgQEAgY2xh c3MgSW1hZ2VDbGFzc2lmaWVySGVscGVyIHsKKyAgICAgICAgICAgRGFya01vZGVGaWx0ZXI6OkVs ZW1lbnRSb2xlOjprQmFja2dyb3VuZCk7CisgCisgICBDT1JFX0VYUE9SVCBzdGF0aWMgRGFya01v ZGVGaWx0ZXI6OkltYWdlVHlwZSBHZXRJbWFnZVR5cGVGb3JUZXN0aW5nKAorLSAgICAgIGRpc3Bs YXk6OlNjcmVlbkluZm8mIHNjcmVlbl9pbmZvLAorICAgICAgIGNvbnN0IGdmeDo6UmVjdEYmIGRl c3RfcmVjdCwKKyAgICAgICBjb25zdCBnZng6OlJlY3RGJiBzcmNfcmVjdCwKKyAgICAgICBmbG9h dCB6b29tID0gMS4wZik7CitkaWZmIC0tZ2l0IGEvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIv Y29yZS9wYWludC9wYWludF9hdXRvX2RhcmtfbW9kZV90ZXN0LmNjIGIvdGhpcmRfcGFydHkvYmxp bmsvcmVuZGVyZXIvY29yZS9wYWludC9wYWludF9hdXRvX2RhcmtfbW9kZV90ZXN0LmNjCitpbmRl eCA3N2ZmMGYwNjkxODhlLi5jZjA1ZWExYTllOGFmIDEwMDY0NAorLS0tIGEvdGhpcmRfcGFydHkv YmxpbmsvcmVuZGVyZXIvY29yZS9wYWludC9wYWludF9hdXRvX2RhcmtfbW9kZV90ZXN0LmNjCisr KysgYi90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9jb3JlL3BhaW50L3BhaW50X2F1dG9fZGFy a19tb2RlX3Rlc3QuY2MKK0BAIC0zMiw4ICszMiw4IEBAIGNsYXNzIFBhaW50QXV0b0RhcmtNb2Rl VGVzdCA6IHB1YmxpYyB0ZXN0aW5nOjpUZXN0IHsKKyAgICAgZGVzdF9yZWN0ID0KKyAgICAgICAg IGdmeDo6UmVjdEYoNTAgKiBsYXlvdXRfem9vbSAqIGNzc196b29tLCA1MCAqIGxheW91dF96b29t ICogY3NzX3pvb20pOworICAgICBFWFBFQ1RfVFJVRShmaWx0ZXIuU2hvdWxkQXBwbHlGaWx0ZXJU b0ltYWdlKAorLSAgICAgICAgSW1hZ2VDbGFzc2lmaWVySGVscGVyOjpHZXRJbWFnZVR5cGVGb3JU ZXN0aW5nKHNjcmVlbl9pbmZvLCBkZXN0X3JlY3QsCistICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjX3JlY3QsIGxheW91dF96b29tKSkpOwor KyAgICAgICAgSW1hZ2VDbGFzc2lmaWVySGVscGVyOjpHZXRJbWFnZVR5cGVGb3JUZXN0aW5nKGRl c3RfcmVjdCwgc3JjX3JlY3QsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgbGF5b3V0X3pvb20pKSk7CisgCisgICAgIC8vIEEgNTB4NTAgQ1NT IGljb24gd2l0aCBjc3Mgem9vbSA1LjBmIGJlY29tZXMgMjUweDI1MCBhbmQgZG9lcyBub3QgZ2V0 CisgICAgIC8vIGZpbHRlcnJlZCBhcyB8ZGVzdF9yZWN0fCBpcyBsYXJnZXIgdGhhbiB0aHJlc2hv bGQgc2l6ZS4KK0BAIC00NCw4ICs0NCw4IEBAIGNsYXNzIFBhaW50QXV0b0RhcmtNb2RlVGVzdCA6 IHB1YmxpYyB0ZXN0aW5nOjpUZXN0IHsKKyAgICAgZGVzdF9yZWN0ID0KKyAgICAgICAgIGdmeDo6 UmVjdEYoNTAgKiBsYXlvdXRfem9vbSAqIGNzc196b29tLCA1MCAqIGxheW91dF96b29tICogY3Nz X3pvb20pOworICAgICBFWFBFQ1RfRkFMU0UoZmlsdGVyLlNob3VsZEFwcGx5RmlsdGVyVG9JbWFn ZSgKKy0gICAgICAgIEltYWdlQ2xhc3NpZmllckhlbHBlcjo6R2V0SW1hZ2VUeXBlRm9yVGVzdGlu ZyhzY3JlZW5faW5mbywgZGVzdF9yZWN0LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHNyY19yZWN0LCBsYXlvdXRfem9vbSkpKTsKKysgICAg ICAgIEltYWdlQ2xhc3NpZmllckhlbHBlcjo6R2V0SW1hZ2VUeXBlRm9yVGVzdGluZyhkZXN0X3Jl Y3QsIHNyY19yZWN0LAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGxheW91dF96b29tKSkpOworIAorICAgICAvLyBBbiBpbWFnZSB3aXRoIDIw MHgyMDAgQ1NTIHNpemUgZ2V0cyBjbGFzc2lmaWVkIGFzIHBob3RvIGFuZCBkb2VzIG5vdCBnZXQK KyAgICAgLy8gZmlsdGVyZWQsIGV2ZW4gaWYgfGRlc3RfcmVjdHwgYmVjb21lcyBzbWFsbGVyIDUw eDUwIHRoYW4gdGhyZXNob2xkIHNpemUKK0BAIC01Nyw4ICs1Nyw4IEBAIGNsYXNzIFBhaW50QXV0 b0RhcmtNb2RlVGVzdCA6IHB1YmxpYyB0ZXN0aW5nOjpUZXN0IHsKKyAgICAgZGVzdF9yZWN0ID0K KyAgICAgICAgIGdmeDo6UmVjdEYoMjAwICogbGF5b3V0X3pvb20gKiBjc3Nfem9vbSwgMjAwICog bGF5b3V0X3pvb20gKiBjc3Nfem9vbSk7CisgICAgIEVYUEVDVF9GQUxTRShmaWx0ZXIuU2hvdWxk QXBwbHlGaWx0ZXJUb0ltYWdlKAorLSAgICAgICAgSW1hZ2VDbGFzc2lmaWVySGVscGVyOjpHZXRJ bWFnZVR5cGVGb3JUZXN0aW5nKHNjcmVlbl9pbmZvLCBkZXN0X3JlY3QsCistICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjX3JlY3QsIGxheW91 dF96b29tKSkpOworKyAgICAgICAgSW1hZ2VDbGFzc2lmaWVySGVscGVyOjpHZXRJbWFnZVR5cGVG b3JUZXN0aW5nKGRlc3RfcmVjdCwgc3JjX3JlY3QsCisrICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGF5b3V0X3pvb20pKSk7CisgCisgICAgIC8v IEFuIGltYWdlIHdpdGggMjAweDIwMCBDU1Mgc2l6ZSBiZWNvbWVzIDIweDIwIENTUyBzaXplIGFu ZCBnZXRzIGNsYXNzaWZpZWQKKyAgICAgLy8gYXMgaWNvbiBhcyB0aGUgQ1NTIHNpemUgaXMgYmVs b3cgdGhlIHRocmVzaG9sZC4KK0BAIC02OSw4ICs2OSw4IEBAIGNsYXNzIFBhaW50QXV0b0RhcmtN b2RlVGVzdCA6IHB1YmxpYyB0ZXN0aW5nOjpUZXN0IHsKKyAgICAgZGVzdF9yZWN0ID0KKyAgICAg ICAgIGdmeDo6UmVjdEYoMjAwICogbGF5b3V0X3pvb20gKiBjc3Nfem9vbSwgMjAwICogbGF5b3V0 X3pvb20gKiBjc3Nfem9vbSk7CisgICAgIEVYUEVDVF9UUlVFKGZpbHRlci5TaG91bGRBcHBseUZp bHRlclRvSW1hZ2UoCistICAgICAgICBJbWFnZUNsYXNzaWZpZXJIZWxwZXI6OkdldEltYWdlVHlw ZUZvclRlc3Rpbmcoc2NyZWVuX2luZm8sIGRlc3RfcmVjdCwKKy0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcmNfcmVjdCwgbGF5b3V0X3pvb20p KSk7CisrICAgICAgICBJbWFnZUNsYXNzaWZpZXJIZWxwZXI6OkdldEltYWdlVHlwZUZvclRlc3Rp bmcoZGVzdF9yZWN0LCBzcmNfcmVjdCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBsYXlvdXRfem9vbSkpKTsKKyAgIH0KKyB9OworIAorQEAg LTc4LDQ0ICs3OCw0MCBAQCBURVNUX0YoUGFpbnRBdXRvRGFya01vZGVUZXN0LCBTaG91bGRBcHBs eUZpbHRlclRvSW1hZ2UpIHsKKyAgIERhcmtNb2RlU2V0dGluZ3Mgc2V0dGluZ3M7CisgICBEYXJr TW9kZUZpbHRlciBmaWx0ZXIoc2V0dGluZ3MpOworIAorLSAgZGlzcGxheTo6U2NyZWVuSW5mbyBz Y3JlZW5faW5mbzsKKy0gIHNjcmVlbl9pbmZvLnJlY3QgPSBnZng6OlJlY3QoMTkyMCwgMTA4MCk7 CistICBzY3JlZW5faW5mby5kZXZpY2Vfc2NhbGVfZmFjdG9yID0gMS4wZjsKKy0KKyAgIC8vIHxk c3R8IGlzIHNtYWxsZXIgdGhhbiB0aHJlc2hvbGQgc2l6ZS4KKyAgIEVYUEVDVF9UUlVFKGZpbHRl ci5TaG91bGRBcHBseUZpbHRlclRvSW1hZ2UoCistICAgICAgSW1hZ2VDbGFzc2lmaWVySGVscGVy OjpHZXRJbWFnZVR5cGVGb3JUZXN0aW5nKAorLSAgICAgICAgICBzY3JlZW5faW5mbywgZ2Z4OjpS ZWN0Rig1MCwgNTApLCBnZng6OlJlY3RGKDUwLCA1MCkpKSk7CisrICAgICAgSW1hZ2VDbGFzc2lm aWVySGVscGVyOjpHZXRJbWFnZVR5cGVGb3JUZXN0aW5nKGdmeDo6UmVjdEYoNTAsIDUwKSwKKysg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2Z4OjpS ZWN0Rig1MCwgNTApKSkpOworIAorICAgLy8gfGRzdHwgaXMgc21hbGxlciB0aGFuIHRocmVzaG9s ZCBzaXplLCBldmVuIHxzcmN8IGlzIGxhcmdlci4KKyAgIEVYUEVDVF9UUlVFKGZpbHRlci5TaG91 bGRBcHBseUZpbHRlclRvSW1hZ2UoCistICAgICAgSW1hZ2VDbGFzc2lmaWVySGVscGVyOjpHZXRJ bWFnZVR5cGVGb3JUZXN0aW5nKAorLSAgICAgICAgICBzY3JlZW5faW5mbywgZ2Z4OjpSZWN0Rig1 MCwgNTApLCBnZng6OlJlY3RGKDIwMCwgMjAwKSkpKTsKKysgICAgICBJbWFnZUNsYXNzaWZpZXJI ZWxwZXI6OkdldEltYWdlVHlwZUZvclRlc3RpbmcoZ2Z4OjpSZWN0Rig1MCwgNTApLAorKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZng6OlJlY3RG KDIwMCwgMjAwKSkpKTsKKyAKKyAgIC8vIHxkc3R8IGlzIHNtYWxsZXIgdGhhbiB0aHJlc2hvbGQg c2l6ZSwgfHNyY3wgaXMgc21hbGxlci4KKyAgIEVYUEVDVF9UUlVFKGZpbHRlci5TaG91bGRBcHBs eUZpbHRlclRvSW1hZ2UoCistICAgICAgSW1hZ2VDbGFzc2lmaWVySGVscGVyOjpHZXRJbWFnZVR5 cGVGb3JUZXN0aW5nKAorLSAgICAgICAgICBzY3JlZW5faW5mbywgZ2Z4OjpSZWN0Rig1MCwgNTAp LCBnZng6OlJlY3RGKDIwLCAyMCkpKSk7CisrICAgICAgSW1hZ2VDbGFzc2lmaWVySGVscGVyOjpH ZXRJbWFnZVR5cGVGb3JUZXN0aW5nKGdmeDo6UmVjdEYoNTAsIDUwKSwKKysgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2Z4OjpSZWN0RigyMCwgMjAp KSkpOworIAorICAgLy8gfHNyY3wgaGF2aW5nIHZlcnkgc21hbGxlciB3aWR0aCwgZXZlbiB8ZHN0 fCBpcyBsYXJnZXIgdGhhbiB0aHJlc2hvbGQgc2l6ZS4KKyAgIEVYUEVDVF9UUlVFKGZpbHRlci5T aG91bGRBcHBseUZpbHRlclRvSW1hZ2UoCistICAgICAgSW1hZ2VDbGFzc2lmaWVySGVscGVyOjpH ZXRJbWFnZVR5cGVGb3JUZXN0aW5nKAorLSAgICAgICAgICBzY3JlZW5faW5mbywgZ2Z4OjpSZWN0 RigyMDAsIDUpLCBnZng6OlJlY3RGKDIwMCwgNSkpKSk7CisrICAgICAgSW1hZ2VDbGFzc2lmaWVy SGVscGVyOjpHZXRJbWFnZVR5cGVGb3JUZXN0aW5nKGdmeDo6UmVjdEYoMjAwLCA1KSwKKysgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2Z4OjpSZWN0 RigyMDAsIDUpKSkpOworIAorICAgLy8gfHNyY3wgaGF2aW5nIHZlcnkgc21hbGxlciBoZWlnaHQs IGV2ZW4gfGRzdHwgaXMgbGFyZ2VyIHRoYW4gdGhyZXNob2xkIHNpemUuCisgICBFWFBFQ1RfVFJV RShmaWx0ZXIuU2hvdWxkQXBwbHlGaWx0ZXJUb0ltYWdlKAorLSAgICAgIEltYWdlQ2xhc3NpZmll ckhlbHBlcjo6R2V0SW1hZ2VUeXBlRm9yVGVzdGluZygKKy0gICAgICAgICAgc2NyZWVuX2luZm8s IGdmeDo6UmVjdEYoNSwgMjAwKSwgZ2Z4OjpSZWN0Rig1LCAyMDApKSkpOworKyAgICAgIEltYWdl Q2xhc3NpZmllckhlbHBlcjo6R2V0SW1hZ2VUeXBlRm9yVGVzdGluZyhnZng6OlJlY3RGKDUsIDIw MCksCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGdmeDo6UmVjdEYoNSwgMjAwKSkpKTsKKyAKKyAgIC8vIHxkc3R8IGlzIGxhcmdlciB0aGFuIHRo cmVzaG9sZCBzaXplLgorICAgRVhQRUNUX0ZBTFNFKGZpbHRlci5TaG91bGRBcHBseUZpbHRlclRv SW1hZ2UoCistICAgICAgSW1hZ2VDbGFzc2lmaWVySGVscGVyOjpHZXRJbWFnZVR5cGVGb3JUZXN0 aW5nKAorLSAgICAgICAgICBzY3JlZW5faW5mbywgZ2Z4OjpSZWN0RigyMDAsIDIwMCksIGdmeDo6 UmVjdEYoMjAsIDIwKSkpKTsKKysgICAgICBJbWFnZUNsYXNzaWZpZXJIZWxwZXI6OkdldEltYWdl VHlwZUZvclRlc3RpbmcoZ2Z4OjpSZWN0RigyMDAsIDIwMCksCisrICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdmeDo6UmVjdEYoMjAsIDIwKSkpKTsK KyAKKyAgIC8vIHxkc3R8IGlzIGxhcmdlciB0aGFuIHRocmVzaG9sZCBzaXplLgorICAgRVhQRUNU X0ZBTFNFKGZpbHRlci5TaG91bGRBcHBseUZpbHRlclRvSW1hZ2UoCistICAgICAgSW1hZ2VDbGFz c2lmaWVySGVscGVyOjpHZXRJbWFnZVR5cGVGb3JUZXN0aW5nKAorLSAgICAgICAgICBzY3JlZW5f aW5mbywgZ2Z4OjpSZWN0RigyMCwgMjAwKSwgZ2Z4OjpSZWN0RigyMCwgMjAwKSkpKTsKKysgICAg ICBJbWFnZUNsYXNzaWZpZXJIZWxwZXI6OkdldEltYWdlVHlwZUZvclRlc3RpbmcoZ2Z4OjpSZWN0 RigyMCwgMjAwKSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgZ2Z4OjpSZWN0RigyMCwgMjAwKSkpKTsKKyB9CisgCisgLy8gVGVzdCBmb3IgbW9i aWxlIGRpc3BsYXkgY29uZmlndXJhdGlvbgorQEAgLTEyNiwxNyArMTIyLDE5IEBAIFRFU1RfRihQ YWludEF1dG9EYXJrTW9kZVRlc3QsIFNob3VsZEFwcGx5RmlsdGVyVG9JbWFnZU9uTW9iaWxlKSB7 CisgICBkaXNwbGF5OjpTY3JlZW5JbmZvIHNjcmVlbl9pbmZvOworICAgc2NyZWVuX2luZm8ucmVj dCA9IGdmeDo6UmVjdCgzNjAsIDc4MCk7CisgICBzY3JlZW5faW5mby5kZXZpY2Vfc2NhbGVfZmFj dG9yID0gMy4wZjsKKysgIGNvbnN0IGZsb2F0IGxheW91dF96b29tID0gc2NyZWVuX2luZm8uZGV2 aWNlX3NjYWxlX2ZhY3RvcjsKKyAKKy0gIC8vIDQ0eDQ0IGNzcyBpbWFnZSB3aGljaCBpcyBhYm92 ZSB0aGUgcGh5c2ljYWwgc2l6ZSB0aHJlc2hvbGQKKy0gIC8vIGJ1dCB3aXRoIGluIHRoZSBkZXZp Y2UgcmF0aW8gdGhyZXNob2xkCisrICAvLyA0NHg0NCBDU1MgaWNvbiAoMTMyeDEzMiBkZXZpY2Ug cGl4ZWxzKSBpcyBiZWxvdyB0aGUgdGhyZXNob2xkIGFuZCBmaWx0ZXJlZAorKyAgLy8gYWZ0ZXIg dW5kb2luZyB0aGUgbGF5b3V0IHpvb20gKERTRikuCisgICBFWFBFQ1RfVFJVRShmaWx0ZXIuU2hv dWxkQXBwbHlGaWx0ZXJUb0ltYWdlKAorICAgICAgIEltYWdlQ2xhc3NpZmllckhlbHBlcjo6R2V0 SW1hZ2VUeXBlRm9yVGVzdGluZygKKy0gICAgICAgICAgc2NyZWVuX2luZm8sIGdmeDo6UmVjdEYo MTMyLCAxMzIpLCBnZng6OlJlY3RGKDEzMiwgMTMyKSkpKTsKKysgICAgICAgICAgZ2Z4OjpSZWN0 RigxMzIsIDEzMiksIGdmeDo6UmVjdEYoMTMyLCAxMzIpLCBsYXlvdXRfem9vbSkpKTsKKyAKKy0g IC8vIDYweDYwIGNzcyBpbWFnZQorKyAgLy8gNzB4NzAgQ1NTIGltYWdlICgyMTB4MjEwIGRldmlj ZSBwaXhlbHMpIGlzIGFib3ZlIHRoZSB0aHJlc2hvbGQgYW5kIG5vdAorKyAgLy8gZmlsdGVyZWQu CisgICBFWFBFQ1RfRkFMU0UoZmlsdGVyLlNob3VsZEFwcGx5RmlsdGVyVG9JbWFnZSgKKyAgICAg ICBJbWFnZUNsYXNzaWZpZXJIZWxwZXI6OkdldEltYWdlVHlwZUZvclRlc3RpbmcoCistICAgICAg ICAgIHNjcmVlbl9pbmZvLCBnZng6OlJlY3RGKDE4MCwgMTgwKSwgZ2Z4OjpSZWN0RigxODAsIDE4 MCkpKSk7CisrICAgICAgICAgIGdmeDo6UmVjdEYoMjEwLCAyMTApLCBnZng6OlJlY3RGKDIxMCwg MjEwKSwgbGF5b3V0X3pvb20pKSk7CisgfQorIAorIFRFU1RfRihQYWludEF1dG9EYXJrTW9kZVRl c3QsIFNob3VsZEFwcGx5RmlsdGVyVG9JbWFnZUlycmVzcGVjdGl2ZU9mUGFnZVpvb20pIHsKCmRp ZmYgLS1naXQgYS9jaHJvbWl1bS5jb25mIGIvY2hyb21pdW0uY29uZgppbmRleCBmNzc5NzVlLi40 NmUwMDJkIDEwMDY0NAotLS0gYS9jaHJvbWl1bS5jb25mCisrKyBiL2Nocm9taXVtLmNvbmYKQEAg LTYwLDcgKzYwLDcgQEAgZmkKIAogIyBXZWIgRGFyayBtb2RlCiBpZiBbICIkV0VCX0FVVE9fREFS S01PREVfV0VCQ09OVEVOVCIgPT0gIm9uIiBdIDsgdGhlbgotICAgZGFya3R5cGU9IldlYkNvbnRl bnRzRm9yY2VEYXJrLEF1dG9EYXJrTW9kZVNraXBJbWFnZXMiCisgICBkYXJrdHlwZT0iV2ViQ29u dGVudHNGb3JjZURhcmsiCiAgICBpZiBbIC16ICIkRU5BQkxFX0ZFQVRVUkVTIiBdIDsgdGhlbgog ICAgICAgIEVOQUJMRV9GRUFUVVJFUys9IiRkYXJrdHlwZSIKICAgIGVsc2UKCmRpZmYgLS1naXQg YS9jaHJvbWl1bS5zcGVjIGIvY2hyb21pdW0uc3BlYwppbmRleCA4N2FjNTY5Li5mYTMxODJhIDEw MDY0NAotLS0gYS9jaHJvbWl1bS5zcGVjCisrKyBiL2Nocm9taXVtLnNwZWMKQEAgLTI3MSw3ICsy NzEsNyBAQAogJWVuZGlmCiAKIE5hbWU6CWNocm9taXVtCi1WZXJzaW9uOiAxNTAuMC43ODcxLjEx NAorVmVyc2lvbjogMTUwLjAuNzg3MS4xMjQKIFJlbGVhc2U6IDElez9kaXN0fQogU3VtbWFyeTog QSBXZWJLaXQgKEJsaW5rKSBwb3dlcmVkIHdlYiBicm93c2VyIHRoYXQgR29vZ2xlIGRvZXNuJ3Qg d2FudCB5b3UgdG8gdXNlCiBVcmw6IGh0dHA6Ly93d3cuY2hyb21pdW0ub3JnL0hvbWUKQEAgLTUy Nyw2ICs1MjcsOSBAQCBQYXRjaDYwMTogY2hyb21pdW0tMTUwLU9taXQtYXItZnJvbS1pbnB1dHMt d2hlbi1yZXNvbHZlZC12aWEtUEFUSC5wYXRjaAogUGF0Y2g2MDI6IGNocm9taXVtLTE1MC1GaXgt Z2V0X3BhdGhfaW5mby1vbi1lbXB0eS1hci1pbi11bmJ1bmRsZS10b29sY2hhaW4ucGF0Y2gKICMg RGFya21vZGUKIFBhdGNoNjAzOiBjaHJvbWl1bS0xNTAtQWRkLUF1dG9EYXJrTW9kZVNraXBJbWFn ZXMtZmxhZy10by1ieXBhc3MtaW1hZ2UtZGFyay1tb2RlLnBhdGNoCitQYXRjaDYwNDogY2hyb21p dW0tMTUwLU1ha2UtZGFyay1tb2RlLWFwcGx5LWZpbHRlci10by1pbWFnZXMtaXJyZXNwZWN0aXZl LW9mLWxheW91dC16b29tLnBhdGNoCitQYXRjaDYwNTogY2hyb21pdW0tMTUwLVVzZS02NHB4LWNz cy1waXhlbHMtYWJzb2x1dGUtdGhyZXNob2xkLWZvci1kYXJrLWltYWdlLWNsYXNzaWZpY2F0aW9u LnBhdGNoCitQYXRjaDYwNjogY2hyb21pdW0tMTUwLUFkZC1zaXplLXRocmVzaG9sZC1mb3ItY2xh c3NpZnlpbmctU1ZHLWRvY3VtZW50cy1mb3ItYXV0by1kYXJrLW1vZGUucGF0Y2gKIAogIyBVc2Ug Y2hyb21pdW0tbGF0ZXN0LnB5IHRvIGdlbmVyYXRlIGNsZWFuIHRhcmJhbGwgZnJvbSByZWxlYXNl ZCBidWlsZCB0YXJiYWxscywgZm91bmQgaGVyZToKICMgaHR0cDovL2J1aWxkLmNocm9taXVtLm9y Zy9idWlsZGJvdC9vZmZpY2lhbC8KQEAgLTEyNDgsNiArMTI1MSw5IEBAIFF0NiBVSSBmb3IgY2hy b21pdW0uCiAlcGF0Y2ggLVA2MDIgLXAxIC1iIC5GaXgtZ2V0X3BhdGhfaW5mby1vbi1lbXB0eS1h ci1pbi11bmJ1bmRsZS10b29sY2hhaW4KICMgRGFya21vZGUKICVwYXRjaCAtUDYwMyAtcDEgLWIg LkFkZC1BdXRvRGFya01vZGVTa2lwSW1hZ2VzLWZsYWctdG8tYnlwYXNzLWltYWdlLWRhcmstbW9k ZQorJXBhdGNoIC1QNjA0IC1wMSAtYiAuTWFrZS1kYXJrLW1vZGUtYXBwbHktZmlsdGVyLXRvLWlt YWdlcy1pcnJlc3BlY3RpdmUtb2YtbGF5b3V0LXpvb20KKyVwYXRjaCAtUDYwNSAtcDEgLWIgLlVz ZS02NHB4LWNzcy1waXhlbHMtYWJzb2x1dGUtdGhyZXNob2xkLWZvci1kYXJrLWltYWdlLWNsYXNz aWZpY2F0aW9uCislcGF0Y2ggLVA2MDYgLXAxIC1iIC5BZGQtc2l6ZS10aHJlc2hvbGQtZm9yLWNs YXNzaWZ5aW5nLVNWRy1kb2N1bWVudHMtZm9yLWF1dG8tZGFyay1tb2RlCiAKICMgQ2hhbmdlIHNo ZWJhbmcgaW4gYWxsIHJlbGV2YW50IGZpbGVzIGluIHRoaXMgZGlyZWN0b3J5IGFuZCBhbGwgc3Vi ZGlyZWN0b3JpZXMKICMgU2VlIGBtYW4gZmluZGAgZm9yIGhvdyB0aGUgYC1leGVjIGNvbW1hbmQg e30gK2Agc3ludGF4IHdvcmtzCkBAIC0xOTIyLDYgKzE5MjgsMjUgQEAgZmkKICVlbmRpZgogCiAl Y2hhbmdlbG9nCisqIFdlZCBKdWwgMTUgMjAyNiBUaGFuIE5nbyA8dGhhbkByZWRoYXQuY29tPiAt IDE1MC4wLjc4NzEuMTI0LTEKKy0gVXBkYXRlIHRvIDE1MC4wLjc4NzEuMTI0CisgICogQ1ZFLTIw MjYtMTU3NjQ6IFVzZSBhZnRlciBmcmVlIGluIE96b25lCisgICogQ1ZFLTIwMjYtMTU3NjU6IFVz ZSBhZnRlciBmcmVlIGluIE96b25lCisgICogQ1ZFLTIwMjYtMTU3NjY6IFVuaW5pdGlhbGl6ZWQg VXNlIGluIFNraWEKKyAgKiBDVkUtMjAyNi0xNTc2NzogSGVhcCBidWZmZXIgb3ZlcmZsb3cgaW4g bGlieXV2CisgICogQ1ZFLTIwMjYtMTU3Njg6IEluc3VmZmljaWVudCBwb2xpY3kgZW5mb3JjZW1l bnQgaW4gSFRNTC1pbi1DYW52YXMKKyAgKiBDVkUtMjAyNi0xNTc2OTogSW5zdWZmaWNpZW50IHZh bGlkYXRpb24gb2YgdW50cnVzdGVkIGlucHV0IGluIExpbnV4IFRvb2xraXQgVGhlbWluZworICAq IENWRS0yMDI2LTE1NzcwOiBVbmluaXRpYWxpemVkIFVzZSBpbiBWOAorICAqIENWRS0yMDI2LTE1 NzcxOiBJbnN1ZmZpY2llbnQgdmFsaWRhdGlvbiBvZiB1bnRydXN0ZWQgaW5wdXQgaW4gTWVkaWEK KyAgKiBDVkUtMjAyNi0xNTc3MjogVXNlIGFmdGVyIGZyZWUgaW4gR1BVCisgICogQ1ZFLTIwMjYt MTU3NzM6IFVzZSBhZnRlciBmcmVlIGluIENvcmUKKyAgKiBDVkUtMjAyNi0xNTc3NDogVXNlIGFm dGVyIGZyZWUgaW4gU2tpYQorICAqIENWRS0yMDI2LTE1Nzc1OiBJbnN1ZmZpY2llbnQgcG9saWN5 IGVuZm9yY2VtZW50IGluIFY4CisgICogQ1ZFLTIwMjYtMTU3NzY6IFR5cGUgQ29uZnVzaW9uIGlu IFY4CisgICogQ1ZFLTIwMjYtMTU3Nzc6IFVzZSBhZnRlciBmcmVlIGluIFVJCisgICogQ1ZFLTIw MjYtMTU3Nzg6IEluc3VmZmljaWVudCB2YWxpZGF0aW9uIG9mIHVudHJ1c3RlZCBpbnB1dCBpbiBO YXZpZ2F0aW9uCistIEJhY2twb3J0IHBhdGNoZXMgdG8gaW1wcm92ZSBhdXRvIGRhcmttb2RlCisK ICogVGh1IEp1bCAwOSAyMDI2IFRoYW4gTmdvIDx0aGFuQHJlZGhhdC5jb20+IC0gMTUwLjAuNzg3 MS4xMTQtMQogLSBVcGRhdGUgdG8gMTUwLjAuNzg3MS4xMTQKICAgKiBDVkUtMjAyNi0xNTExMjog VXNlIGFmdGVyIGZyZWUgaW4gT3pvbmUKCmRpZmYgLS1naXQgYS9zb3VyY2VzIGIvc291cmNlcwpp bmRleCA1N2E2NTFmLi42YTk2ZWY0IDEwMDY0NAotLS0gYS9zb3VyY2VzCisrKyBiL3NvdXJjZXMK QEAgLTEsMiArMSwyIEBACiBTSEE1MTIgKG5vZGUtdjIyLjIyLjAtc3RyaXBwZWQudGFyLmd6KSA9 IGYzMmE4YTczMDYzYjNjNzhjYmFjZjk0MWUxMWRkNTI5ZWJjZjI2MThiM2JhNjYxOTY2MzEyZTQ5 ZWU5ODcwYzQzYTNhY2YyNTZlOGQzMzFhNGIwYjYyMWIxNmE1MDE4MTBjMDJhM2FkNzYzYzc1ODg0 Y2MyNTBhZGRjYThlMTA2Ci1TSEE1MTIgKGNocm9taXVtLTE1MC4wLjc4NzEuMTE0LWNsZWFuLnRh ci54eikgPSA2OTU5Mjg0YTE5OGY0NjkwZTc5YzA0N2QzNjIwOWYwODA5YTBhMWVjZWEzZWIwZmEw ZDlmYjhjNTRiM2JkNzc1NmU1NTYzZGUzZDAxMWMyOThjNDVjMzYxOWRkZjM2ZDRlMTQxZjgxY2Vi N2Y2ZmYxYTA4NGQyYWZlODNjNWJiMQorU0hBNTEyIChjaHJvbWl1bS0xNTAuMC43ODcxLjEyNC1j bGVhbi50YXIueHopID0gZjdkMGM1Mjk3ZjY0YmMxMzA5OGY2Zjc5MTA1MDUwYmYzOGJiODRjNzY0 MTQzZjVkM2M0MjVjZTczMjM0MTg5Y2ZlM2MyMDFiMmI5MzNjZDFiNzQyM2VhOGMxNmNjZDdjMGI0 YzMyOTc4ZjAzZDhmZTI2MTMyNjQ1M2Q3N2RlNWQK