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] f44: - Update to 150.0.7871.124 Date: Wed, 15 Jul 2026 12:58:01 GMT Message-ID: <178412028179.1.8448318513412491470.rpms-chromium-6a33b22870b5@fedoraproject.org> List-ID: X-Git-Repo: rpms/chromium X-Git-Branch: f44 X-Git-Rev: 6a33b22870b5602a6538a2631f730138a4418fb1 ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvY2hyb21pdW0KICAgICAgICAgICAgQnJhbmNoIDogZjQ0CiAgICAgICAgICAg IENvbW1pdCA6IDZhMzNiMjI4NzBiNTYwMmE2NTM4YTI2MzFmNzMwMTM4YTQ0MThmYjEKICAgICAg ICAgICAgQXV0aG9yIDogVGhhbiBOZ28gPHRoYW5AcmVkaGF0LmNvbT4KICAgICAgICAgICAgRGF0 ZSAgIDogMjAyNi0wNy0xNVQxNDo1Njo1MiswMjowMAogICAgICAgICAgICBTdGF0cyAgOiArODg1 Ly0zIGluIDYgZmlsZShzKQogICAgICAgICAgICBVUkwgICAgOiBodHRwczovL3NyYy5mZWRvcmFw cm9qZWN0Lm9yZy9ycG1zL2Nocm9taXVtL2MvNmEzM2IyMjg3MGI1NjAyYTY1MzhhMjYzMWY3MzAx MzhhNDQxOGZiMT9icmFuY2g9ZjQ0CgogICAgICAgICAgICBMb2c6CiAgICAgICAgICAgIC0gVXBk YXRlIHRvIDE1MC4wLjc4NzEuMTI0CiAgKiBDVkUtMjAyNi0xNTc2NDogVXNlIGFmdGVyIGZyZWUg aW4gT3pvbmUKICAqIENWRS0yMDI2LTE1NzY1OiBVc2UgYWZ0ZXIgZnJlZSBpbiBPem9uZQogICog Q1ZFLTIwMjYtMTU3NjY6IFVuaW5pdGlhbGl6ZWQgVXNlIGluIFNraWEKICAqIENWRS0yMDI2LTE1 NzY3OiBIZWFwIGJ1ZmZlciBvdmVyZmxvdyBpbiBsaWJ5dXYKICAqIENWRS0yMDI2LTE1NzY4OiBJ bnN1ZmZpY2llbnQgcG9saWN5IGVuZm9yY2VtZW50IGluIEhUTUwtaW4tQ2FudmFzCiAgKiBDVkUt MjAyNi0xNTc2OTogSW5zdWZmaWNpZW50IHZhbGlkYXRpb24gb2YgdW50cnVzdGVkIGlucHV0IGlu IExpbnV4IFRvb2xraXQgVGhlbWluZwogICogQ1ZFLTIwMjYtMTU3NzA6IFVuaW5pdGlhbGl6ZWQg VXNlIGluIFY4CiAgKiBDVkUtMjAyNi0xNTc3MTogSW5zdWZmaWNpZW50IHZhbGlkYXRpb24gb2Yg dW50cnVzdGVkIGlucHV0IGluIE1lZGlhCiAgKiBDVkUtMjAyNi0xNTc3MjogVXNlIGFmdGVyIGZy ZWUgaW4gR1BVCiAgKiBDVkUtMjAyNi0xNTc3MzogVXNlIGFmdGVyIGZyZWUgaW4gQ29yZQogICog Q1ZFLTIwMjYtMTU3NzQ6IFVzZSBhZnRlciBmcmVlIGluIFNraWEKICAqIENWRS0yMDI2LTE1Nzc1 OiBJbnN1ZmZpY2llbnQgcG9saWN5IGVuZm9yY2VtZW50IGluIFY4CiAgKiBDVkUtMjAyNi0xNTc3 NjogVHlwZSBDb25mdXNpb24gaW4gVjgKICAqIENWRS0yMDI2LTE1Nzc3OiBVc2UgYWZ0ZXIgZnJl ZSBpbiBVSQogICogQ1ZFLTIwMjYtMTU3Nzg6IEluc3VmZmljaWVudCB2YWxpZGF0aW9uIG9mIHVu dHJ1c3RlZCBpbnB1dCBpbiBOYXZpZ2F0aW9uCgotIEJhY2twb3J0IHBhdGNoZXMgdG8gaW1wcm92 ZSBhdXRvIGRhcmttb2RlCgotLS0KZGlmZiAtLWdpdCBhL2Nocm9taXVtLTE1MC1BZGQtc2l6ZS10 aHJlc2hvbGQtZm9yLWNsYXNzaWZ5aW5nLVNWRy1kb2N1bWVudHMtZm9yLWF1dG8tZGFyay1tb2Rl LnBhdGNoIGIvY2hyb21pdW0tMTUwLUFkZC1zaXplLXRocmVzaG9sZC1mb3ItY2xhc3NpZnlpbmct U1ZHLWRvY3VtZW50cy1mb3ItYXV0by1kYXJrLW1vZGUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMDAwMDAwMC4uNmFkYWRiYgotLS0gL2Rldi9udWxsCisrKyBiL2Nocm9taXVtLTE1 MC1BZGQtc2l6ZS10aHJlc2hvbGQtZm9yLWNsYXNzaWZ5aW5nLVNWRy1kb2N1bWVudHMtZm9yLWF1 dG8tZGFyay1tb2RlLnBhdGNoCkBAIC0wLDAgKzEsMzcyIEBACitjb21taXQgYjU5MzRiMTFjZmMy OTQ4ZjhiOTdlYmIwOTk3YWFiNWY3N2UyZmUyYworQXV0aG9yOiBQcmFzaGFudCBOZXZhc2UgPHBu ZXZhc2VAbWljcm9zb2Z0LmNvbT4KK0RhdGU6ICAgTW9uIEp1bCAxMyAwNDoxMDowMCAyMDI2IC0w NzAwCisKKyAgICBBZGQgc2l6ZSB0aHJlc2hvbGQgZm9yIGNsYXNzaWZ5aW5nIFNWRyBkb2N1bWVu dHMgZm9yIGF1dG8gZGFyayBtb2RlLgorICAgIAorICAgIExhcmdlIHN0YW5kYWxvbmUgU1ZHIGRv Y3VtZW50cyBhcmUgdHJlYXRlZCBhcyBjb250ZW50IChpbGx1c3RyYXRpb25zLworICAgIHBob3Rv cykgYW5kIGxlZnQgdW50b3VjaGVkIGJ5IGF1dG8gZGFyayBtb2RlLCB3aGlsZSBzbWFsbCBvbmVz IGxpa2UKKyAgICBpY29ucyBhcmUgY29uc2lkZXJlZCBmb3IgYXV0byBkYXJrIG1vZGUuCisgICAg CisgICAgTmVzdGVkIFNWR3MgYXJlIGhhbmRsZWQgdmlhIGEgc3RhY2sgb2YgYXV0byBkYXJrIG1v ZGUgcGF1c2VkIHN0YXRlcyBvbgorICAgIEdyYXBoaWNzQ29udGV4dCwgbWFuYWdlZCBieSBTY29w ZWRBdXRvRGFya01vZGVTdGF0ZS4gQW4gaWNvbi1zaXplZAorICAgIGlubmVyIFNWRyByZS1lbmFi bGVzIGludmVyc2lvbiBldmVuIGluc2lkZSBhIHBhdXNlZCAobGFyZ2UpIGNvbnRhaW5lciwKKyAg ICBhbmQgdGhlIG91dGVyIHN0YXRlIGlzIHJlc3RvcmVkIG9uIHNjb3BlIGV4aXQuIEltYWdlcyBy ZW1haW4gZ2F0ZWQgYnkKKyAgICB0aGVpciBvd24gc2l6ZSBjbGFzc2lmaWNhdGlvbiByYXRoZXIg dGhhbiB0aGUgcGF1c2VkIHN0YXRlLgorICAgIAorICAgIEJ1ZzogNDQ5OTA5NTI0CisgICAgQ2hh bmdlLUlkOiBJZmQ4YjY4ZWM5YTMwYWQ2NmMxMTZjZjQxZDUxMGVlYWQ0OTlkM2JkNgorICAgIFJl dmlld2VkLW9uOiBodHRwczovL2Nocm9taXVtLXJldmlldy5nb29nbGVzb3VyY2UuY29tL2MvY2hy b21pdW0vc3JjLysvODAzNjEyMAorICAgIFJldmlld2VkLWJ5OiBTdGVwaGVuIENoZW5uZXkgPHNj aGVubmV5QGNocm9taXVtLm9yZz4KKyAgICBDb21taXQtUXVldWU6IFByYXNoYW50IE5ldmFzZSA8 cG5ldmFzZUBtaWNyb3NvZnQuY29tPgorICAgIENyLUNvbW1pdC1Qb3NpdGlvbjogcmVmcy9oZWFk cy9tYWluQHsjMTY2MTA0NH0KKworZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRl cmVyL2NvcmUvcGFpbnQvcGFpbnRfYXV0b19kYXJrX21vZGUuY2MgYi90aGlyZF9wYXJ0eS9ibGlu ay9yZW5kZXJlci9jb3JlL3BhaW50L3BhaW50X2F1dG9fZGFya19tb2RlLmNjCitpbmRleCA2NThm NmE0ZTRmNmYuLmU0YjVhODE1NTE0OCAxMDA2NDQKKy0tLSBhL3RoaXJkX3BhcnR5L2JsaW5rL3Jl bmRlcmVyL2NvcmUvcGFpbnQvcGFpbnRfYXV0b19kYXJrX21vZGUuY2MKKysrKyBiL3RoaXJkX3Bh cnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUvcGFpbnQvcGFpbnRfYXV0b19kYXJrX21vZGUuY2MKK0BA IC02OSw2ICs2OSwyNSBAQCBJbWFnZUF1dG9EYXJrTW9kZSBJbWFnZUNsYXNzaWZpZXJIZWxwZXI6 OkdldEltYWdlQXV0b0RhcmtNb2RlKAorICAgICAgIEdldEltYWdlVHlwZVdpdGhab29tKGxheW91 dF96b29tLCBkZXN0X3JlY3QsIHNyY19yZWN0KSk7CisgfQorIAorKy8vIHN0YXRpYworK0RhcmtN b2RlRmlsdGVyOjpJbWFnZVR5cGUgSW1hZ2VDbGFzc2lmaWVySGVscGVyOjpHZXRTVkdEb2N1bWVu dFR5cGUoCisrICAgIExvY2FsRnJhbWUmIGxvY2FsX2ZyYW1lLAorKyAgICBjb25zdCBnZng6OlJl Y3QmIHNpemUpIHsKKysgIC8vIHxzaXplfCBpbmNsdWRlcyB0aGUgbGF5b3V0IHpvb20gZmFjdG9y IChwYWdlIHpvb20gYW5kIERTRikuIFVuZG8gaXQgc28gdGhlCisrICAvLyBzaXplIHRocmVzaG9s ZCBtYXRjaGVzIGJpdG1hcCBpbWFnZXMsIHdob3NlIGNsYXNzaWZpY2F0aW9uIGlzIHVuYWZmZWN0 ZWQgYnkKKysgIC8vIHBhZ2Ugem9vbSBhbmQgRFNGLgorKyAgY29uc3QgZmxvYXQgbGF5b3V0X3pv b20gPSBsb2NhbF9mcmFtZS5MYXlvdXRab29tRmFjdG9yKCk7CisrICBjb25zdCBmbG9hdCB1bnpv b21lZF93aWR0aCA9CisrICAgICAgbGF5b3V0X3pvb20gPiAwLmYgPyBzaXplLndpZHRoKCkgLyBs YXlvdXRfem9vbSA6IHNpemUud2lkdGgoKTsKKysgIGNvbnN0IGZsb2F0IHVuem9vbWVkX2hlaWdo dCA9CisrICAgICAgbGF5b3V0X3pvb20gPiAwLmYgPyBzaXplLmhlaWdodCgpIC8gbGF5b3V0X3pv b20gOiBzaXplLmhlaWdodCgpOworKyAgaWYgKHVuem9vbWVkX3dpZHRoIDw9IGtNYXhJbWFnZUxl bmd0aCAmJiB1bnpvb21lZF9oZWlnaHQgPD0ga01heEltYWdlTGVuZ3RoKSB7CisrICAgIHJldHVy biBEYXJrTW9kZUZpbHRlcjo6SW1hZ2VUeXBlOjprSWNvbjsKKysgIH0KKysKKysgIHJldHVybiBE YXJrTW9kZUZpbHRlcjo6SW1hZ2VUeXBlOjprUGhvdG87CisrfQorKworIC8vIHN0YXRpYworIERh cmtNb2RlRmlsdGVyOjpJbWFnZVR5cGUgSW1hZ2VDbGFzc2lmaWVySGVscGVyOjpHZXRJbWFnZVR5 cGVGb3JUZXN0aW5nKAorICAgICBjb25zdCBnZng6OlJlY3RGJiBkZXN0X3JlY3QsCitkaWZmIC0t Z2l0IGEvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9wYWludC9wYWludF9hdXRvX2Rh cmtfbW9kZS5oIGIvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9wYWludC9wYWludF9h dXRvX2RhcmtfbW9kZS5oCitpbmRleCBhZmQ1N2VlZTJiNDUuLmEyMWQxNDcyY2RlNiAxMDA2NDQK Ky0tLSBhL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUvcGFpbnQvcGFpbnRfYXV0b19k YXJrX21vZGUuaAorKysrIGIvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9wYWludC9w YWludF9hdXRvX2RhcmtfbW9kZS5oCitAQCAtMzksNiArMzksMTAgQEAgY2xhc3MgSW1hZ2VDbGFz c2lmaWVySGVscGVyIHsKKyAgICAgICBEYXJrTW9kZUZpbHRlcjo6RWxlbWVudFJvbGUgcm9sZSA9 CisgICAgICAgICAgIERhcmtNb2RlRmlsdGVyOjpFbGVtZW50Um9sZTo6a0JhY2tncm91bmQpOwor IAorKyAgQ09SRV9FWFBPUlQgc3RhdGljIERhcmtNb2RlRmlsdGVyOjpJbWFnZVR5cGUgR2V0U1ZH RG9jdW1lbnRUeXBlKAorKyAgICAgIExvY2FsRnJhbWUmIGxvY2FsX2ZyYW1lLAorKyAgICAgIGNv bnN0IGdmeDo6UmVjdCYgc2l6ZSk7CisrCisgICBDT1JFX0VYUE9SVCBzdGF0aWMgRGFya01vZGVG aWx0ZXI6OkltYWdlVHlwZSBHZXRJbWFnZVR5cGVGb3JUZXN0aW5nKAorICAgICAgIGNvbnN0IGdm eDo6UmVjdEYmIGRlc3RfcmVjdCwKKyAgICAgICBjb25zdCBnZng6OlJlY3RGJiBzcmNfcmVjdCwK K2RpZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9jb3JlL3BhaW50L3BhaW50 X2F1dG9fZGFya19tb2RlX3Rlc3QuY2MgYi90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9jb3Jl L3BhaW50L3BhaW50X2F1dG9fZGFya19tb2RlX3Rlc3QuY2MKK2luZGV4IGNmMDVlYTFhOWU4YS4u MzM3YWZmOGZlOTk2IDEwMDY0NAorLS0tIGEvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29y ZS9wYWludC9wYWludF9hdXRvX2RhcmtfbW9kZV90ZXN0LmNjCisrKysgYi90aGlyZF9wYXJ0eS9i bGluay9yZW5kZXJlci9jb3JlL3BhaW50L3BhaW50X2F1dG9fZGFya19tb2RlX3Rlc3QuY2MKK0BA IC00LDggKzQsMTMgQEAKKyAKKyAjaW5jbHVkZSAidGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIv Y29yZS9wYWludC9wYWludF9hdXRvX2RhcmtfbW9kZS5oIgorIAorKyNpbmNsdWRlIDxtZW1vcnk+ CisrCisgI2luY2x1ZGUgInRlc3RpbmcvZ3Rlc3QvaW5jbHVkZS9ndGVzdC9ndGVzdC5oIgorKyNp bmNsdWRlICJ0aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9jb3JlL2ZyYW1lL2xvY2FsX2ZyYW1l LmgiCisrI2luY2x1ZGUgInRoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUvdGVzdGluZy9k dW1teV9wYWdlX2hvbGRlci5oIgorICNpbmNsdWRlICJ0aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJl ci9wbGF0Zm9ybS9ncmFwaGljcy9kYXJrX21vZGVfc2V0dGluZ3MuaCIKKysjaW5jbHVkZSAidGhp cmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vdGVzdGluZy90YXNrX2Vudmlyb25tZW50 LmgiCisgI2luY2x1ZGUgInVpL2dmeC9nZW9tZXRyeS9yZWN0LmgiCisgCisgbmFtZXNwYWNlIGJs aW5rIHsKK0BAIC03Miw2ICs3NywxOCBAQCBjbGFzcyBQYWludEF1dG9EYXJrTW9kZVRlc3QgOiBw dWJsaWMgdGVzdGluZzo6VGVzdCB7CisgICAgICAgICBJbWFnZUNsYXNzaWZpZXJIZWxwZXI6Okdl dEltYWdlVHlwZUZvclRlc3RpbmcoZGVzdF9yZWN0LCBzcmNfcmVjdCwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYXlvdXRfem9vbSkpKTsK KyAgIH0KKysKKysgIERhcmtNb2RlRmlsdGVyOjpJbWFnZVR5cGUgR2V0U1ZHRG9jdW1lbnRUeXBl KGZsb2F0IGxheW91dF96b29tLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgY29uc3QgZ2Z4OjpSZWN0JiBzaXplKSB7CisrICAgIExvY2FsRnJhbWUmIGZy YW1lID0gcGFnZV9ob2xkZXJfLT5HZXRGcmFtZSgpOworKyAgICBmcmFtZS5TZXRMYXlvdXRab29t RmFjdG9yKGxheW91dF96b29tKTsKKysgICAgcmV0dXJuIEltYWdlQ2xhc3NpZmllckhlbHBlcjo6 R2V0U1ZHRG9jdW1lbnRUeXBlKGZyYW1lLCBzaXplKTsKKysgIH0KKysKKysgcHJpdmF0ZToKKysg IHRlc3Q6OlRhc2tFbnZpcm9ubWVudCB0YXNrX2Vudmlyb25tZW50XzsKKysgIHN0ZDo6dW5pcXVl X3B0cjxEdW1teVBhZ2VIb2xkZXI+IHBhZ2VfaG9sZGVyXyA9CisrICAgICAgc3RkOjptYWtlX3Vu aXF1ZTxEdW1teVBhZ2VIb2xkZXI+KGdmeDo6U2l6ZSg4MDAsIDYwMCkpOworIH07CisgCisgVEVT VF9GKFBhaW50QXV0b0RhcmtNb2RlVGVzdCwgU2hvdWxkQXBwbHlGaWx0ZXJUb0ltYWdlKSB7CitA QCAtMTU0LDQgKzE3MSwzMCBAQCBURVNUX0YoUGFpbnRBdXRvRGFya01vZGVUZXN0LAorICAgVGVz dEFwcGx5RmlsdGVyVG9JbWFnZUlycmVzcGVjdGl2ZU9mUGFnZVpvb20oc2NyZWVuX2luZm8pOwor IH0KKyAKKytURVNUX0YoUGFpbnRBdXRvRGFya01vZGVUZXN0LCBTVkdEb2N1bWVudEltYWdlKSB7 CisrICAvLyBCb3RoIGRpbWVuc2lvbnMgYXJlIGF0IG9yIGJlbG93IHRoZSBpY29uIHRocmVzaG9s ZCAoa01heEltYWdlTGVuZ3RoID09IDY0KS4KKysgIEVYUEVDVF9FUShEYXJrTW9kZUZpbHRlcjo6 SW1hZ2VUeXBlOjprSWNvbiwKKysgICAgICAgICAgICBHZXRTVkdEb2N1bWVudFR5cGUoMS4wZiwg Z2Z4OjpSZWN0KDUwLCA1MCkpKTsKKysKKysgIC8vIEVpdGhlciBkaW1lbnNpb24gYWJvdmUgdGhl IHRocmVzaG9sZCBjbGFzc2lmaWVzIHRoZSBkb2N1bWVudCBhcyBhIHBob3RvLgorKyAgRVhQRUNU X0VRKERhcmtNb2RlRmlsdGVyOjpJbWFnZVR5cGU6OmtQaG90bywKKysgICAgICAgICAgICBHZXRT VkdEb2N1bWVudFR5cGUoMS4wZiwgZ2Z4OjpSZWN0KDIwMCwgMjAwKSkpOworKyAgLy8gT25seSB0 aGUgd2lkdGggZXhjZWVkcyB0aGUgdGhyZXNob2xkLgorKyAgRVhQRUNUX0VRKERhcmtNb2RlRmls dGVyOjpJbWFnZVR5cGU6OmtQaG90bywKKysgICAgICAgICAgICBHZXRTVkdEb2N1bWVudFR5cGUo MS4wZiwgZ2Z4OjpSZWN0KDEwMCwgNTApKSk7CisrICAvLyBPbmx5IHRoZSBoZWlnaHQgZXhjZWVk cyB0aGUgdGhyZXNob2xkLgorKyAgRVhQRUNUX0VRKERhcmtNb2RlRmlsdGVyOjpJbWFnZVR5cGU6 OmtQaG90bywKKysgICAgICAgICAgICBHZXRTVkdEb2N1bWVudFR5cGUoMS4wZiwgZ2Z4OjpSZWN0 KDUwLCAxMDApKSk7CisrCisrICAvLyBBIDQweDQwIENTUy1zaXplZCBTVkcgc2NhbGVkIHVwIGJ5 IGEgNXggbGF5b3V0IHpvb20gaXMgc3RpbGwgYW4gaWNvbiBhZnRlcgorKyAgLy8gdGhlIHpvb20g aXMgdW5kb25lLgorKyAgRVhQRUNUX0VRKERhcmtNb2RlRmlsdGVyOjpJbWFnZVR5cGU6OmtJY29u LAorKyAgICAgICAgICAgIEdldFNWR0RvY3VtZW50VHlwZSg1LjBmLCBnZng6OlJlY3QoMjAwLCAy MDApKSk7CisrCisrICAvLyBBIDQwMHg0MDAgQ1NTLXNpemVkIFNWRyBzY2FsZWQgZG93biBieSBh IDAuMjV4IGxheW91dCB6b29tIGlzIHN0aWxsIGEgcGhvdG8KKysgIC8vIGFmdGVyIHRoZSB6b29t IGlzIHVuZG9uZS4KKysgIEVYUEVDVF9FUShEYXJrTW9kZUZpbHRlcjo6SW1hZ2VUeXBlOjprUGhv dG8sCisrICAgICAgICAgICAgR2V0U1ZHRG9jdW1lbnRUeXBlKDAuMjVmLCBnZng6OlJlY3QoMTAw LCAxMDApKSk7CisrfQorKworIH0gIC8vIG5hbWVzcGFjZSBibGluaworZGlmZiAtLWdpdCBhL3Ro aXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUvcGFpbnQvc3ZnX3Jvb3RfcGFpbnRlci5jYyBi L3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUvcGFpbnQvc3ZnX3Jvb3RfcGFpbnRlci5j YworaW5kZXggMTQ2NDAwZTk2YTY5Li5hOTNlOWU4YTk2YWIgMTAwNjQ0CistLS0gYS90aGlyZF9w YXJ0eS9ibGluay9yZW5kZXJlci9jb3JlL3BhaW50L3N2Z19yb290X3BhaW50ZXIuY2MKKysrKyBi L3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUvcGFpbnQvc3ZnX3Jvb3RfcGFpbnRlci5j YworQEAgLTQsMTIgKzQsMTcgQEAKKyAKKyAjaW5jbHVkZSAidGhpcmRfcGFydHkvYmxpbmsvcmVu ZGVyZXIvY29yZS9wYWludC9zdmdfcm9vdF9wYWludGVyLmgiCisgCisrI2luY2x1ZGUgPG9wdGlv bmFsPgorKworKyNpbmNsdWRlICJ0aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9jb3JlL2ZyYW1l L2xvY2FsX2ZyYW1lLmgiCisgI2luY2x1ZGUgInRoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2Nv cmUvbGF5b3V0L3N2Zy9sYXlvdXRfc3ZnX2ZvcmVpZ25fb2JqZWN0LmgiCisgI2luY2x1ZGUgInRo aXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUvbGF5b3V0L3N2Zy9sYXlvdXRfc3ZnX3Jvb3Qu aCIKKysjaW5jbHVkZSAidGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9wYWludC9wYWlu dF9hdXRvX2RhcmtfbW9kZS5oIgorICNpbmNsdWRlICJ0aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJl ci9jb3JlL3BhaW50L3BhaW50X2luZm8uaCIKKyAjaW5jbHVkZSAidGhpcmRfcGFydHkvYmxpbmsv cmVuZGVyZXIvY29yZS9wYWludC9wYWludF9sYXllci5oIgorICNpbmNsdWRlICJ0aGlyZF9wYXJ0 eS9ibGluay9yZW5kZXJlci9jb3JlL3BhaW50L3BhaW50X2xheWVyX3BhaW50ZXIuaCIKKyAjaW5j bHVkZSAidGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9zdmcvc3ZnX3N2Z19lbGVtZW50 LmgiCisrI2luY2x1ZGUgInRoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL2dyYXBo aWNzL2dyYXBoaWNzX2NvbnRleHQuaCIKKyAjaW5jbHVkZSAidGhpcmRfcGFydHkvYmxpbmsvcmVu ZGVyZXIvcGxhdGZvcm0vcnVudGltZV9lbmFibGVkX2ZlYXR1cmVzLmgiCisgCisgbmFtZXNwYWNl IGJsaW5rIHsKK0BAIC02NCw4ICs2OSwxMCBAQCBBZmZpbmVUcmFuc2Zvcm0gU1ZHUm9vdFBhaW50 ZXI6OlRyYW5zZm9ybVRvUGl4ZWxTbmFwcGVkQm9yZGVyQm94KAorIHZvaWQgU1ZHUm9vdFBhaW50 ZXI6OlBhaW50UmVwbGFjZWQoY29uc3QgUGFpbnRJbmZvJiBwYWludF9pbmZvLAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgUGh5c2ljYWxPZmZzZXQmIHBhaW50X29m ZnNldCkgeworICAgLy8gQW4gZW1wdHkgdmlld3BvcnQgZGlzYWJsZXMgcmVuZGVyaW5nLgorLSAg aWYgKFBpeGVsU25hcHBlZFNpemUocGFpbnRfb2Zmc2V0KS5Jc0VtcHR5KCkpCisrICBjb25zdCBn Zng6OlJlY3Qgc25hcHBlZF9zaXplID0gUGl4ZWxTbmFwcGVkU2l6ZShwYWludF9vZmZzZXQpOwor KyAgaWYgKHNuYXBwZWRfc2l6ZS5Jc0VtcHR5KCkpIHsKKyAgICAgcmV0dXJuOworKyAgfQorIAor ICAgLy8gQW4gZW1wdHkgdmlld0JveCBhbHNvIGRpc2FibGVzIHJlbmRlcmluZy4KKyAgIC8vICho dHRwOi8vd3d3LnczLm9yZy9UUi9TVkcvY29vcmRzLmh0bWwjVmlld0JveEF0dHJpYnV0ZSkKK0BA IC03OCw2ICs4NSwyMyBAQCB2b2lkIFNWR1Jvb3RQYWludGVyOjpQYWludFJlcGxhY2VkKGNvbnN0 IFBhaW50SW5mbyYgcGFpbnRfaW5mbywKKyAgICAgcmV0dXJuOworICAgfQorIAorKyAgc3RkOjpv cHRpb25hbDxHcmFwaGljc0NvbnRleHQ6OlNjb3BlZEF1dG9EYXJrTW9kZVN0YXRlPiBkYXJrX21v ZGVfc3RhdGU7CisrICBpZiAobGF5b3V0X3N2Z19yb290Xy5TdHlsZVJlZigpLkZvcmNlRGFyaygp KSB7CisrICAgIC8vIE9ubHkgdHJlYXQgaWNvbi9zZXBhcmF0b3Itc2l6ZWQgU1ZHIGRvY3VtZW50 cyBhcyBjYW5kaWRhdGVzIGZvciBkYXJrCisrICAgIC8vIG1vZGUgaW52ZXJzaW9uLiBMYXJnZXIg U1ZHcyBhcmUgbGlrZWx5IGNvbnRlbnQgKGlsbHVzdHJhdGlvbnMvcGhvdG9zKQorKyAgICAvLyBh bmQgc2hvdWxkIG5vdCBiZSBmb3JjZS1kYXJrZW5lZC4gVGhpcyBtaXJyb3JzIHRoZSBzaXplLWJh c2VkIGltYWdlCisrICAgIC8vIGNsYXNzaWZpY2F0aW9uIHVzZWQgZm9yIGJpdG1hcHMgKGtNYXhJ bWFnZUxlbmd0aCkuIFNWR3MgY2FuIGJlIG5lc3RlZCwKKysgICAgLy8gc28gcGF1c2UgdGhpcyBT VkcncyBkYXJrIG1vZGUgc3RhdGUgd2hpbGUgcGFpbnRpbmcgaXRzIGNoaWxkcmVuOyB0aGUKKysg ICAgLy8gc2NvcGVyIHJlc3RvcmVzIHRoZSBvdXRlciBzdGF0ZSB3aGVuIGl0IGdvZXMgb3V0IG9m IHNjb3BlLiBUaGlzIGxldHMgYW4KKysgICAgLy8gaWNvbi1zaXplZCBTVkcgZW1iZWRkZWQgaW5z aWRlIGEgbGFyZ2VyIChwYXVzZWQpIFNWRyByZS1lbmFibGUgaW52ZXJzaW9uCisrICAgIC8vIGZv ciBpdHNlbGYuCisrICAgIGNvbnN0IGJvb2wgcGF1c2VfZGFya19tb2RlID0KKysgICAgICAgIElt YWdlQ2xhc3NpZmllckhlbHBlcjo6R2V0U1ZHRG9jdW1lbnRUeXBlKCpsYXlvdXRfc3ZnX3Jvb3Rf LkdldEZyYW1lKCksCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBzbmFwcGVkX3NpemUpICE9CisrICAgICAgICBEYXJrTW9kZUZpbHRlcjo6SW1hZ2VU eXBlOjprSWNvbjsKKysgICAgZGFya19tb2RlX3N0YXRlLmVtcGxhY2UocGFpbnRfaW5mby5jb250 ZXh0LCBwYXVzZV9kYXJrX21vZGUpOworKyAgfQorKworICAgZm9yIChMYXlvdXRPYmplY3QqIGNo aWxkID0gbGF5b3V0X3N2Z19yb290Xy5GaXJzdENoaWxkKCk7IGNoaWxkOworICAgICAgICBjaGls ZCA9IGNoaWxkLT5OZXh0U2libGluZygpKSB7CisgICAgIGlmIChhdXRvKiBmb3JlaWduX29iamVj dCA9IER5bmFtaWNUbzxMYXlvdXRTVkdGb3JlaWduT2JqZWN0PihjaGlsZCkpIHsKK2RpZmYgLS1n aXQgYS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS9ncmFwaGljcy9ncmFwaGlj c19jb250ZXh0LmNjIGIvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vZ3JhcGhp Y3MvZ3JhcGhpY3NfY29udGV4dC5jYworaW5kZXggOTJkNTlhZjA4MWVkLi5kZjM5NWZjMjQzZmUg MTAwNjQ0CistLS0gYS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS9ncmFwaGlj cy9ncmFwaGljc19jb250ZXh0LmNjCisrKysgYi90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9w bGF0Zm9ybS9ncmFwaGljcy9ncmFwaGljc19jb250ZXh0LmNjCitAQCAtNzcsNyArNzcsNyBAQCBu YW1lc3BhY2UgeworIFNrQ29sb3I0ZiBEYXJrTW9kZUNvbG9yKEdyYXBoaWNzQ29udGV4dCYgY29u dGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBTa0NvbG9yNGYmIGNvbG9yLAor ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEF1dG9EYXJrTW9kZSYgYXV0b19kYXJrX21v ZGUpIHsKKy0gIGlmIChhdXRvX2RhcmtfbW9kZS5lbmFibGVkKSB7CisrICBpZiAoYXV0b19kYXJr X21vZGUuZW5hYmxlZCAmJiAhY29udGV4dC5Jc0F1dG9EYXJrTW9kZVBhdXNlZCgpKSB7CisgICAg IHJldHVybiBjb250ZXh0LkdldERhcmtNb2RlRmlsdGVyKCktPkludmVydENvbG9ySWZOZWVkZWQo CisgICAgICAgICBjb2xvciwgYXV0b19kYXJrX21vZGUucm9sZSwKKyAgICAgICAgIFNrQ29sb3I0 Zjo6RnJvbUNvbG9yKGF1dG9fZGFya19tb2RlLmNvbnRyYXN0X2NvbG9yKSk7CitAQCAtMTg5LDcg KzE4OSw3IEBAIGNsYXNzIEdyYXBoaWNzQ29udGV4dDo6RGFya01vZGVGbGFncyBmaW5hbCB7Cisg ICBEYXJrTW9kZUZsYWdzKEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwKKyAgICAgICAgICAgICAg ICAgY29uc3QgQXV0b0RhcmtNb2RlJiBhdXRvX2RhcmtfbW9kZSwKKyAgICAgICAgICAgICAgICAg Y29uc3QgY2M6OlBhaW50RmxhZ3MmIGZsYWdzKSB7CistICAgIGlmIChhdXRvX2RhcmtfbW9kZS5l bmFibGVkKSB7CisrICAgIGlmIChhdXRvX2RhcmtfbW9kZS5lbmFibGVkICYmICFjb250ZXh0LT5J c0F1dG9EYXJrTW9kZVBhdXNlZCgpKSB7CisgICAgICAgZGFya19tb2RlX2ZsYWdzXyA9IGNvbnRl eHQtPkdldERhcmtNb2RlRmlsdGVyKCktPkFwcGx5VG9GbGFnc0lmTmVlZGVkKAorICAgICAgICAg ICBmbGFncywgYXV0b19kYXJrX21vZGUucm9sZSwKKyAgICAgICAgICAgU2tDb2xvcjRmOjpGcm9t Q29sb3IoYXV0b19kYXJrX21vZGUuY29udHJhc3RfY29sb3IpKTsKK0BAIC0yNDgsNiArMjQ4LDkg QEAgRGFya01vZGVGaWx0ZXIqIEdyYXBoaWNzQ29udGV4dDo6R2V0RGFya01vZGVGaWx0ZXJGb3JJ bWFnZSgKKyAgICAgY29uc3QgSW1hZ2VBdXRvRGFya01vZGUmIGF1dG9fZGFya19tb2RlKSB7Cisg ICBpZiAoIWF1dG9fZGFya19tb2RlLmVuYWJsZWQpCisgICAgIHJldHVybiBudWxscHRyOworKyAg Ly8gSW1hZ2VzIGFyZSBnYXRlZCBieSB0aGVpciBvd24gc2l6ZSBjbGFzc2lmaWNhdGlvbiwgbm90 IGJ5IHRoZSBjb250ZXh0J3MKKysgIC8vIGF1dG8gZGFyayBtb2RlIHBhdXNlZCBzdGF0ZSwgc28g YW4gaWNvbi1zaXplZCBpbWFnZSBpcyBzdGlsbCBpbnZlcnRlZCBldmVuCisrICAvLyB3aGlsZSBk YXJrIG1vZGUgaXMgcGF1c2VkIGZvciBpdHMgY29udGFpbmVyLgorICAgRGFya01vZGVGaWx0ZXIq IGRhcmtfbW9kZV9maWx0ZXIgPSBHZXREYXJrTW9kZUZpbHRlcigpOworICAgaWYgKCFkYXJrX21v ZGVfZmlsdGVyLT5TaG91bGRBcHBseUZpbHRlclRvSW1hZ2UoYXV0b19kYXJrX21vZGUuaW1hZ2Vf dHlwZSkpCisgICAgIHJldHVybiBudWxscHRyOworZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L2Js aW5rL3JlbmRlcmVyL3BsYXRmb3JtL2dyYXBoaWNzL2dyYXBoaWNzX2NvbnRleHQuaCBiL3RoaXJk X3BhcnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL2dyYXBoaWNzL2dyYXBoaWNzX2NvbnRleHQu aAoraW5kZXggMDQ2MDk4ZTc5NTc4Li5mMDcyZTI0YjFlMjIgMTAwNjQ0CistLS0gYS90aGlyZF9w YXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS9ncmFwaGljcy9ncmFwaGljc19jb250ZXh0LmgK KysrKyBiL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL2dyYXBoaWNzL2dyYXBo aWNzX2NvbnRleHQuaAorQEAgLTIxMyw2ICsyMTMsMzQgQEAgY2xhc3MgUExBVEZPUk1fRVhQT1JU IEdyYXBoaWNzQ29udGV4dCB7CisgICBEYXJrTW9kZUZpbHRlciogR2V0RGFya01vZGVGaWx0ZXJG b3JJbWFnZSgKKyAgICAgICBjb25zdCBJbWFnZUF1dG9EYXJrTW9kZSYgYXV0b19kYXJrX21vZGUp OworIAorKyAgLy8gUHVzaGVzIGEgZGFyayBtb2RlIGludmVyc2lvbiBwYXVzZSBzdGF0ZSBvbiBj b25zdHJ1Y3Rpb24gYW5kIHBvcHMgaXQgb24KKysgIC8vIGRlc3RydWN0aW9uLCBndWFyYW50ZWVp bmcgcHVzaGVzIGFuZCBwb3BzIGFyZSBhbHdheXMgYmFsYW5jZWQuIFNlZSB0aGUKKysgIC8vIGNv bW1lbnQgb24gSXNBdXRvRGFya01vZGVQYXVzZWQoKSBmb3IgdGhlIHNlbWFudGljcyBvZiB0aGUg cGF1c2Ugc3RhdGVzLgorKyAgY2xhc3MgU2NvcGVkQXV0b0RhcmtNb2RlU3RhdGUgeworKyAgICBT VEFDS19BTExPQ0FURUQoKTsKKysKKysgICBwdWJsaWM6CisrICAgIFNjb3BlZEF1dG9EYXJrTW9k ZVN0YXRlKEdyYXBoaWNzQ29udGV4dCYgY29udGV4dCwgYm9vbCBwYXVzZWQpCisrICAgICAgICA6 IGNvbnRleHRfKGNvbnRleHQpIHsKKysgICAgICBjb250ZXh0Xy5QdXNoQXV0b0RhcmtNb2RlU3Rh dGUocGF1c2VkKTsKKysgICAgfQorKyAgICBTY29wZWRBdXRvRGFya01vZGVTdGF0ZShjb25zdCBT Y29wZWRBdXRvRGFya01vZGVTdGF0ZSYpID0gZGVsZXRlOworKyAgICBTY29wZWRBdXRvRGFya01v ZGVTdGF0ZSYgb3BlcmF0b3I9KGNvbnN0IFNjb3BlZEF1dG9EYXJrTW9kZVN0YXRlJikgPSBkZWxl dGU7CisrICAgIH5TY29wZWRBdXRvRGFya01vZGVTdGF0ZSgpIHsgY29udGV4dF8uUG9wQXV0b0Rh cmtNb2RlU3RhdGUoKTsgfQorKworKyAgIHByaXZhdGU6CisrICAgIEdyYXBoaWNzQ29udGV4dCYg Y29udGV4dF87CisrICB9OworKworKyAgLy8gRGFyayBtb2RlIGNvbG9yL2ZsYWdzIGludmVyc2lv biBwYXVzZSBzdGF0ZS4gV2hpbGUgdGhlIGxhdGVzdCBwdXNoZWQgc3RhdGUKKysgIC8vIGlzIHRy dWUsIGludmVyc2lvbiBpcyBwYXVzZWQgcmVnYXJkbGVzcyBvZiB0aGUgcGVyLWRyYXcgfGVuYWJs ZWR8IGZsYWcuCisrICAvLyBOZXN0ZWQgc2NvcGVzIGNhbiBvdmVycmlkZSB0aGUgcGF1c2Ugc3Rh dGUgb2YgdGhlaXIgYW5jZXN0b3JzOiB0aGUgcHVzaGVkCisrICAvLyBzdGF0ZSBhcHBsaWVzIHVu dGlsIGl0IGlzIHBvcHBlZCwgYWZ0ZXIgd2hpY2ggdGhlIHByZXZpb3VzIHN0YXRlIHRha2VzCisr ICAvLyBlZmZlY3QgYWdhaW4uIFVzZSBTY29wZWRBdXRvRGFya01vZGVTdGF0ZSB0byBtYW5hZ2Ug dGhlIHN0YXRlcy4KKysgIGJvb2wgSXNBdXRvRGFya01vZGVQYXVzZWQoKSBjb25zdCB7CisrICAg IHJldHVybiAhYXV0b19kYXJrX21vZGVfc3RhdGVzXy5lbXB0eSgpICYmIGF1dG9fZGFya19tb2Rl X3N0YXRlc18uYmFjaygpOworKyAgfQorKworICAgdm9pZCBTZXREYXJrTW9kZUZpbHRlckZvclRl c3Qoc3RkOjp1bmlxdWVfcHRyPERhcmtNb2RlRmlsdGVyPik7CisgCisgICAvLyAtLS0tLS0tLS0t IFN0YXRlIG1hbmFnZW1lbnQgbWV0aG9kcyAtLS0tLS0tLS0tLS0tLS0tLQorQEAgLTUxMSw2ICs1 MzksMTYgQEAgY2xhc3MgUExBVEZPUk1fRVhQT1JUIEdyYXBoaWNzQ29udGV4dCB7CisgICAgIHJl dHVybiBwYWludF9zdGF0ZV87CisgICB9CisgCisrICAvLyBNYW5hZ2VkIGV4Y2x1c2l2ZWx5IHRo cm91Z2ggU2NvcGVkQXV0b0RhcmtNb2RlU3RhdGUgdG8ga2VlcCBwdXNoZXMgYW5kIHBvcHMKKysg IC8vIGJhbGFuY2VkLgorKyAgdm9pZCBQdXNoQXV0b0RhcmtNb2RlU3RhdGUoYm9vbCBwYXVzZWQp IHsKKysgICAgYXV0b19kYXJrX21vZGVfc3RhdGVzXy5wdXNoX2JhY2socGF1c2VkKTsKKysgIH0K KysgIHZvaWQgUG9wQXV0b0RhcmtNb2RlU3RhdGUoKSB7CisrICAgIERDSEVDSyghYXV0b19kYXJr X21vZGVfc3RhdGVzXy5lbXB0eSgpKTsKKysgICAgYXV0b19kYXJrX21vZGVfc3RhdGVzXy5wb3Bf YmFjaygpOworKyAgfQorKworICAgdGVtcGxhdGUgPHR5cGVuYW1lIERyYXdUZXh0RnVuYz4KKyAg IHZvaWQgRHJhd1RleHRQYXNzZXMoY29uc3QgRHJhd1RleHRGdW5jJik7CisgCitAQCAtNTcxLDYg KzYwOSw3IEBAIGNsYXNzIFBMQVRGT1JNX0VYUE9SVCBHcmFwaGljc0NvbnRleHQgeworIAorICAg c3RkOjp1bmlxdWVfcHRyPERhcmtNb2RlRmlsdGVyPiBkYXJrX21vZGVfZmlsdGVyXzsKKyAKKysg IFZlY3Rvcjxib29sPiBhdXRvX2RhcmtfbW9kZV9zdGF0ZXNfOworICAgYm9vbCBwcmludGluZ18g PSBmYWxzZTsKKyAgIGJvb2wgcHJpbnRpbmdfaW50ZXJuYWxfaGVhZGVyc19hbmRfZm9vdGVyc18g PSBmYWxzZTsKKyAgIGJvb2wgaW5fZHJhd2luZ19yZWNvcmRlcl8gPSBmYWxzZTsKK2RpZmYgLS1n aXQgYS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS9ncmFwaGljcy9ncmFwaGlj c19jb250ZXh0X3Rlc3QuY2MgYi90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS9n cmFwaGljcy9ncmFwaGljc19jb250ZXh0X3Rlc3QuY2MKK2luZGV4IGQwOTY3NmJiOTJhZC4uZTg1 MDRjYjU0MTA2IDEwMDY0NAorLS0tIGEvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZv cm0vZ3JhcGhpY3MvZ3JhcGhpY3NfY29udGV4dF90ZXN0LmNjCisrKysgYi90aGlyZF9wYXJ0eS9i bGluay9yZW5kZXJlci9wbGF0Zm9ybS9ncmFwaGljcy9ncmFwaGljc19jb250ZXh0X3Rlc3QuY2MK K0BAIC0xOTgsNSArMTk4LDc3IEBAIFRFU1RfRihHcmFwaGljc0NvbnRleHREYXJrTW9kZVRlc3Qs IEludmVydExpZ2h0bmVzc0xBQikgeworICAgRVhQRUNUX0VRKDB4ZmY3ZjdmN2YsIGJpdG1hcF8u Z2V0Q29sb3IoMywgMCkpOworIH0KKyAKKytURVNUX0YoR3JhcGhpY3NDb250ZXh0RGFya01vZGVU ZXN0LCBTY29wZWRBdXRvRGFya01vZGVTdGF0ZVBhdXNlZCkgeworKyAgUGFpbnRDb250cm9sbGVy IHBhaW50X2NvbnRyb2xsZXI7CisrICBHcmFwaGljc0NvbnRleHQgY29udGV4dChwYWludF9jb250 cm9sbGVyKTsKKysgIERhcmtNb2RlU2V0dGluZ3Mgc2V0dGluZ3M7CisrICBjb250ZXh0LlNldERh cmtNb2RlRmlsdGVyRm9yVGVzdChzdGQ6Om1ha2VfdW5pcXVlPERhcmtNb2RlRmlsdGVyPihzZXR0 aW5ncykpOworKyAgQXV0b0RhcmtNb2RlIGF1dG9fZGFya19tb2RlKERhcmtNb2RlRmlsdGVyOjpF bGVtZW50Um9sZTo6a0JhY2tncm91bmQsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg LyplbmFibGVkPSovdHJ1ZSk7CisrCisrICBFWFBFQ1RfRkFMU0UoY29udGV4dC5Jc0F1dG9EYXJr TW9kZVBhdXNlZCgpKTsKKysKKysgIGNvbnRleHQuQmVnaW5SZWNvcmRpbmcoKTsKKysgIHsKKysg ICAgLy8gUGF1c2luZyBzdXBwcmVzc2VzIGludmVyc2lvbiwgc28gYmxhY2sgc3RheXMgYmxhY2su CisrICAgIEdyYXBoaWNzQ29udGV4dDo6U2NvcGVkQXV0b0RhcmtNb2RlU3RhdGUgcGF1c2VkKGNv bnRleHQsIC8qcGF1c2VkPSovdHJ1ZSk7CisrICAgIEVYUEVDVF9UUlVFKGNvbnRleHQuSXNBdXRv RGFya01vZGVQYXVzZWQoKSk7CisrICAgIGNvbnRleHQuRmlsbFJlY3QoZ2Z4OjpSZWN0RigwLCAw LCAxLCAxKSwgQ29sb3I6OmtCbGFjaywgYXV0b19kYXJrX21vZGUpOworKworKyAgICB7CisrICAg ICAgLy8gQSBuZXN0ZWQgc2NvcGUgb3ZlcnJpZGVzIHRoZSBhbmNlc3RvciwgcmUtZW5hYmxpbmcg aW52ZXJzaW9uIHNvIGJsYWNrCisrICAgICAgLy8gYmVjb21lcyB3aGl0ZS4KKysgICAgICBHcmFw aGljc0NvbnRleHQ6OlNjb3BlZEF1dG9EYXJrTW9kZVN0YXRlIHJlc3VtZWQoY29udGV4dCwKKysg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLypw YXVzZWQ9Ki9mYWxzZSk7CisrICAgICAgRVhQRUNUX0ZBTFNFKGNvbnRleHQuSXNBdXRvRGFya01v ZGVQYXVzZWQoKSk7CisrICAgICAgY29udGV4dC5GaWxsUmVjdChnZng6OlJlY3RGKDEsIDAsIDEs IDEpLCBDb2xvcjo6a0JsYWNrLCBhdXRvX2RhcmtfbW9kZSk7CisrICAgIH0KKysKKysgICAgLy8g VGhlIG91dGVyIHBhdXNlZCBzdGF0ZSBpcyByZXN0b3JlZCB3aGVuIHRoZSBuZXN0ZWQgc2NvcGUg ZXhpdHMuCisrICAgIEVYUEVDVF9UUlVFKGNvbnRleHQuSXNBdXRvRGFya01vZGVQYXVzZWQoKSk7 CisrICB9CisrCisrICAvLyBCYWNrIHRvIHRoZSBkZWZhdWx0IChub3QgcGF1c2VkKSBzdGF0ZSBh ZnRlciBhbGwgc2NvcGVzIGV4aXQ7IGludmVyc2lvbgorKyAgLy8gYXBwbGllcyBhZ2Fpbiwgc28g YmxhY2sgYmVjb21lcyB3aGl0ZS4KKysgIEVYUEVDVF9GQUxTRShjb250ZXh0LklzQXV0b0RhcmtN b2RlUGF1c2VkKCkpOworKyAgY29udGV4dC5GaWxsUmVjdChnZng6OlJlY3RGKDIsIDAsIDEsIDEp LCBDb2xvcjo6a0JsYWNrLCBhdXRvX2RhcmtfbW9kZSk7CisrCisrICBjYW52YXNfLT5kcmF3UGlj dHVyZShjb250ZXh0LkVuZFJlY29yZGluZygpKTsKKysKKysgIEVYUEVDVF9FUShTS19Db2xvckJM QUNLLCBiaXRtYXBfLmdldENvbG9yKDAsIDApKTsKKysgIEVYUEVDVF9FUShTS19Db2xvcldISVRF LCBiaXRtYXBfLmdldENvbG9yKDEsIDApKTsKKysgIEVYUEVDVF9FUShTS19Db2xvcldISVRFLCBi aXRtYXBfLmdldENvbG9yKDIsIDApKTsKKyt9CisrCisrVEVTVF9GKEdyYXBoaWNzQ29udGV4dERh cmtNb2RlVGVzdCwKKysgICAgICAgQml0bWFwSW1hZ2VJZ25vcmVzQXV0b0RhcmtNb2RlUGF1c2Vk U3RhdGVzKSB7CisrICBQYWludENvbnRyb2xsZXIgcGFpbnRfY29udHJvbGxlcjsKKysgIEdyYXBo aWNzQ29udGV4dCBjb250ZXh0KHBhaW50X2NvbnRyb2xsZXIpOworKyAgRGFya01vZGVTZXR0aW5n cyBzZXR0aW5nczsKKysgIGNvbnRleHQuU2V0RGFya01vZGVGaWx0ZXJGb3JUZXN0KHN0ZDo6bWFr ZV91bmlxdWU8RGFya01vZGVGaWx0ZXI+KHNldHRpbmdzKSk7CisrCisrICBJbWFnZUF1dG9EYXJr TW9kZSBpY29uKERhcmtNb2RlRmlsdGVyOjpFbGVtZW50Um9sZTo6a0JhY2tncm91bmQsCisrICAg ICAgICAgICAgICAgICAgICAgICAgIC8qZW5hYmxlZD0qL3RydWUsIERhcmtNb2RlRmlsdGVyOjpJ bWFnZVR5cGU6OmtJY29uKTsKKysgIEltYWdlQXV0b0RhcmtNb2RlIHBob3RvKERhcmtNb2RlRmls dGVyOjpFbGVtZW50Um9sZTo6a0JhY2tncm91bmQsCisrICAgICAgICAgICAgICAgICAgICAgICAg ICAvKmVuYWJsZWQ9Ki90cnVlLCBEYXJrTW9kZUZpbHRlcjo6SW1hZ2VUeXBlOjprUGhvdG8pOwor KworKyAgLy8gTm90IHBhdXNlZDogaWNvbnMgYXJlIGludmVydGVkLCBwaG90b3MgYXJlIG5vdC4K KysgIEVYUEVDVF9GQUxTRShjb250ZXh0LklzQXV0b0RhcmtNb2RlUGF1c2VkKCkpOworKyAgRVhQ RUNUX05FKG51bGxwdHIsIGNvbnRleHQuR2V0RGFya01vZGVGaWx0ZXJGb3JJbWFnZShpY29uKSk7 CisrICBFWFBFQ1RfRVEobnVsbHB0ciwgY29udGV4dC5HZXREYXJrTW9kZUZpbHRlckZvckltYWdl KHBob3RvKSk7CisrCisrICB7CisrICAgIC8vIFBhdXNlZDogdGhlIGljb24gaXMgc3RpbGwgaW52 ZXJ0ZWQsIGFuZCB0aGUgcGhvdG8gaXMgc3RpbGwgdW50b3VjaGVkLgorKyAgICBHcmFwaGljc0Nv bnRleHQ6OlNjb3BlZEF1dG9EYXJrTW9kZVN0YXRlIHBhdXNlZChjb250ZXh0LCAvKnBhdXNlZD0q L3RydWUpOworKyAgICBFWFBFQ1RfVFJVRShjb250ZXh0LklzQXV0b0RhcmtNb2RlUGF1c2VkKCkp OworKyAgICBFWFBFQ1RfTkUobnVsbHB0ciwgY29udGV4dC5HZXREYXJrTW9kZUZpbHRlckZvcklt YWdlKGljb24pKTsKKysgICAgRVhQRUNUX0VRKG51bGxwdHIsIGNvbnRleHQuR2V0RGFya01vZGVG aWx0ZXJGb3JJbWFnZShwaG90bykpOworKyAgfQorKworKyAgLy8gQSBkaXNhYmxlZCBpbWFnZSBh dXRvIGRhcmsgbW9kZSBuZXZlciByZXR1cm5zIGEgZmlsdGVyLgorKyAgRVhQRUNUX0VRKG51bGxw dHIsCisrICAgICAgICAgICAgY29udGV4dC5HZXREYXJrTW9kZUZpbHRlckZvckltYWdlKEltYWdl QXV0b0RhcmtNb2RlOjpEaXNhYmxlZCgpKSk7CisrfQorKworIH0gIC8vIG5hbWVzcGFjZQorIH0g IC8vIG5hbWVzcGFjZSBibGluawoKZGlmZiAtLWdpdCBhL2Nocm9taXVtLTE1MC1NYWtlLWRhcmst bW9kZS1hcHBseS1maWx0ZXItdG8taW1hZ2VzLWlycmVzcGVjdGl2ZS1vZi1sYXlvdXQtem9vbS5w YXRjaCBiL2Nocm9taXVtLTE1MC1NYWtlLWRhcmstbW9kZS1hcHBseS1maWx0ZXItdG8taW1hZ2Vz LWlycmVzcGVjdGl2ZS1vZi1sYXlvdXQtem9vbS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp bmRleCAwMDAwMDAwLi44ZWNhZWQwCi0tLSAvZGV2L251bGwKKysrIGIvY2hyb21pdW0tMTUwLU1h a2UtZGFyay1tb2RlLWFwcGx5LWZpbHRlci10by1pbWFnZXMtaXJyZXNwZWN0aXZlLW9mLWxheW91 dC16b29tLnBhdGNoCkBAIC0wLDAgKzEsMjA0IEBACitjb21taXQgY2Y5NTg4ZTA2NTU2NjNlMzAx OTE1ZTUzZWM1YThkZjhhZTg3NGNlNAorQXV0aG9yOiBQcmFzaGFudCBOZXZhc2UgPHBuZXZhc2VA bWljcm9zb2Z0LmNvbT4KK0RhdGU6ICAgRnJpIEp1biAxOSAwNjoxOTo0NyAyMDI2IC0wNzAwCisK KyAgICBNYWtlIGRhcmsgbW9kZSBhcHBseSBmaWx0ZXIgdG8gaW1hZ2VzIGlycmVzcGVjdGl2ZSBv ZiBsYXlvdXQgem9vbQorICAgIAorICAgIFRoZSBsYXlvdXQgem9vbSBmYWN0b3IgY29tYmluZXMg cGFnZSB6b29tIHdpdGggdGhlIGRldmljZSBzY2FsZSBmYWN0b3IuCisgICAgV2hlbiB6b29tIGlz IGFwcGxpZWQsIHRoZSBwYWdlIHNpemUgc2NhbGVzIGFjY29yZGluZ2x5LCBhbmQgaW1hZ2VzIGFy ZQorICAgIGRyYXduIHJlbGF0aXZlIHRvIHRoZSBuZXcgcGFnZSBzaXplLiBUaGlzIHNob3VsZCBh Y2NvdW50IGZvciB0aGUgaGlnaGVyCisgICAgaWNvbiB0aHJlc2hvbGQgcmF0aW8gY29tcGFyZWQg d2l0aCB0aGUgMXggc2NhbGUuIE90aGVyd2lzZSwgdGhlIHNhbWUKKyAgICBpbWFnZSBtYXkgcmVj ZWl2ZSBkaWZmZXJlbnQgZGFyayBtb2RlIGZpbHRlcnMgYXQgZGlmZmVyZW50IHNjYWxlcywKKyAg ICBjcmVhdGluZyBhIHBvb3IgdXNlciBleHBlcmllbmNlLiBUbyBhdm9pZCB0aGlzLCBkYXJrIG1v ZGUgaW1hZ2UKKyAgICBjbGFzc2lmaWNhdGlvbiBzaG91bGQgcmVtYWluIGNvbnNpc3RlbnQgYWNy b3NzIGxheW91dCB6b29tIGZhY3RvcnMuCisgICAgCisgICAgQ1NTIHpvb20gaXMgc3RpbGwgY29u c2lkZXJlZCwgYmVjYXVzZSBpdCBjaGFuZ2VzIHRoZSByYXRpbyBvZiBkcmF3bgorICAgIGltYWdl IHNpemUgdG8gZGlzcGxheSBzaXplIGluIDF4IHNjYWxlLgorICAgIAorICAgIEJ1ZzogNDQ5OTA5 NTI0CisgICAgQ2hhbmdlLUlkOiBJYTQyMDAwN2IyNzhhMWY1OTJjMzUzNTU3ZDRjYmY2NmE3YzU3 NWM0MgorICAgIFJldmlld2VkLW9uOiBodHRwczovL2Nocm9taXVtLXJldmlldy5nb29nbGVzb3Vy Y2UuY29tL2MvY2hyb21pdW0vc3JjLysvNzk2MTY2MAorICAgIFJldmlld2VkLWJ5OiBTdGVwaGVu IENoZW5uZXkgPHNjaGVubmV5QGNocm9taXVtLm9yZz4KKyAgICBDb21taXQtUXVldWU6IFByYXNo YW50IE5ldmFzZSA8cG5ldmFzZUBtaWNyb3NvZnQuY29tPgorICAgIEF1dG8tU3VibWl0OiBQcmFz aGFudCBOZXZhc2UgPHBuZXZhc2VAbWljcm9zb2Z0LmNvbT4KKyAgICBDci1Db21taXQtUG9zaXRp b246IHJlZnMvaGVhZHMvbWFpbkB7IzE2NDk2Mzh9CisKK2RpZmYgLS1naXQgYS90aGlyZF9wYXJ0 eS9ibGluay9yZW5kZXJlci9jb3JlL3BhaW50L3BhaW50X2F1dG9fZGFya19tb2RlLmNjIGIvdGhp cmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9wYWludC9wYWludF9hdXRvX2RhcmtfbW9kZS5j YworaW5kZXggMTI0NmYxNzlmOWIxOS4uNWIzNDI4M2Q3YTU1NiAxMDA2NDQKKy0tLSBhL3RoaXJk X3BhcnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUvcGFpbnQvcGFpbnRfYXV0b19kYXJrX21vZGUuY2MK KysrKyBiL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUvcGFpbnQvcGFpbnRfYXV0b19k YXJrX21vZGUuY2MKK0BAIC00MSw2ICs0MSw3IEBAIERhcmtNb2RlRmlsdGVyOjpJbWFnZVR5cGUg R2V0SW1hZ2VUeXBlKGZsb2F0IGRlc3RfdG9fZGV2aWNlX3JhdGlvLAorIAorIGZsb2F0IEdldFJh dGlvKGNvbnN0IGRpc3BsYXk6OlNjcmVlbkluZm8mIHNjcmVlbl9pbmZvLAorICAgICAgICAgICAg ICAgIGNvbnN0IGdmeDo6UmVjdEYmIGRlc3RfcmVjdCkgeworKyAgLy8gQ29tcHV0ZSBkZXZpY2Ug cmVjdCBpbiBkZXZpY2UgcGl4ZWxzLgorICAgY29uc3QgZ2Z4OjpTaXplRiYgZGV2aWNlX3JlY3Qg PSBnZng6OlNjYWxlU2l6ZSgKKyAgICAgICBnZng6OlNpemVGKHNjcmVlbl9pbmZvLnJlY3Quc2l6 ZSgpKSwgc2NyZWVuX2luZm8uZGV2aWNlX3NjYWxlX2ZhY3Rvcik7CisgCitAQCAtNDgsNiArNDks MjcgQEAgZmxvYXQgR2V0UmF0aW8oY29uc3QgZGlzcGxheTo6U2NyZWVuSW5mbyYgc2NyZWVuX2lu Zm8sCisgICAgICAgICAgICAgICAgICAgZGVzdF9yZWN0LmhlaWdodCgpIC8gZGV2aWNlX3JlY3Qu aGVpZ2h0KCkpOworIH0KKyAKKysvLyBDbGFzc2lmaWVzIGFuIGltYWdlIGFmdGVyIHVuZG9pbmcg dGhlIGZyYW1lJ3MgbGF5b3V0IHpvb20gZmFjdG9yLgorKy8vIHxkZXN0X3JlY3R8IGNvbWVzIGZy b20gbGF5b3V0IGdlb21ldHJ5IGFuZCBpbmNsdWRlcyBsYXlvdXQgem9vbSAocGFnZSB6b29tCisr Ly8gYW5kIHBvdGVudGlhbGx5IERTRikgYW5kIENTUyB6b29tLiBVbmRvIG9ubHkgbGF5b3V0IHpv b20gc28gcGFnZSB6b29tIGFuZAorKy8vIERTRiBkbyBub3QgYWZmZWN0IGNsYXNzaWZpY2F0aW9u LCB3aGlsZSBDU1Mgem9vbSBzdGlsbCBkb2VzLiB8c3JjX3JlY3R8IGlzCisrLy8gZGVyaXZlZCBm cm9tIHRoZSBpbWFnZSdzIGludHJpbnNpYyBwaXhlbCBzaXplIGFuZCBpcyBhbHJlYWR5CisrLy8g em9vbS1pbmRlcGVuZGVudCwgc28gaXQgbXVzdCBiZSBsZWZ0IHVudG91Y2hlZC4KKytEYXJrTW9k ZUZpbHRlcjo6SW1hZ2VUeXBlIEdldEltYWdlVHlwZVdpdGhab29tKAorKyAgICBjb25zdCBkaXNw bGF5OjpTY3JlZW5JbmZvJiBzY3JlZW5faW5mbywKKysgICAgZmxvYXQgem9vbSwKKysgICAgY29u c3QgZ2Z4OjpSZWN0RiYgZGVzdF9yZWN0LAorKyAgICBjb25zdCBnZng6OlJlY3RGJiBzcmNfcmVj dCkgeworKyAgZ2Z4OjpSZWN0RiB1bnpvb21lZF9kZXN0X3JlY3QgPSBkZXN0X3JlY3Q7CisrICBp ZiAoem9vbSA+IDAuZiAmJiB6b29tICE9IDEuZikgeworKyAgICB1bnpvb21lZF9kZXN0X3JlY3Qu U2NhbGUoMS5mIC8gem9vbSk7CisrICB9CisrCisrICByZXR1cm4gR2V0SW1hZ2VUeXBlKEdldFJh dGlvKHNjcmVlbl9pbmZvLCB1bnpvb21lZF9kZXN0X3JlY3QpLAorKyAgICAgICAgICAgICAgICAg ICAgICBnZng6OlRvRW5jbG9zaW5nUmVjdCh1bnpvb21lZF9kZXN0X3JlY3QpLAorKyAgICAgICAg ICAgICAgICAgICAgICBnZng6OlRvRW5jbG9zaW5nUmVjdChzcmNfcmVjdCkpOworK30KKysKKyB9 ICAvLyBuYW1lc3BhY2UKKyAKKyAvLyBzdGF0aWMKK0BAIC02MywyMCArODUsMTkgQEAgSW1hZ2VB dXRvRGFya01vZGUgSW1hZ2VDbGFzc2lmaWVySGVscGVyOjpHZXRJbWFnZUF1dG9EYXJrTW9kZSgK KyAgIGNvbnN0IGRpc3BsYXk6OlNjcmVlbkluZm8mIHNjcmVlbl9pbmZvID0KKyAgICAgICBsb2Nh bF9mcmFtZS5HZXRDaHJvbWVDbGllbnQoKS5HZXRTY3JlZW5JbmZvKGxvY2FsX2ZyYW1lKTsKKyAK Ky0gIHJldHVybiBJbWFnZUF1dG9EYXJrTW9kZShyb2xlLCBzdHlsZS5Gb3JjZURhcmsoKSwKKy0g ICAgICAgICAgICAgICAgICAgICAgICAgICBHZXRJbWFnZVR5cGUoR2V0UmF0aW8oc2NyZWVuX2lu Zm8sIGRlc3RfcmVjdCksCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGdmeDo6VG9FbmNsb3NpbmdSZWN0KGRlc3RfcmVjdCksCistICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGdmeDo6VG9FbmNsb3NpbmdSZWN0KHNyY19yZWN0KSkpOworKyAg Y29uc3QgZmxvYXQgbGF5b3V0X3pvb20gPSBsb2NhbF9mcmFtZS5MYXlvdXRab29tRmFjdG9yKCk7 CisrICByZXR1cm4gSW1hZ2VBdXRvRGFya01vZGUoCisrICAgICAgcm9sZSwgc3R5bGUuRm9yY2VE YXJrKCksCisrICAgICAgR2V0SW1hZ2VUeXBlV2l0aFpvb20oc2NyZWVuX2luZm8sIGxheW91dF96 b29tLCBkZXN0X3JlY3QsIHNyY19yZWN0KSk7CisgfQorIAorIC8vIHN0YXRpYworIERhcmtNb2Rl RmlsdGVyOjpJbWFnZVR5cGUgSW1hZ2VDbGFzc2lmaWVySGVscGVyOjpHZXRJbWFnZVR5cGVGb3JU ZXN0aW5nKAorICAgICBkaXNwbGF5OjpTY3JlZW5JbmZvJiBzY3JlZW5faW5mbywKKyAgICAgY29u c3QgZ2Z4OjpSZWN0RiYgZGVzdF9yZWN0LAorLSAgICBjb25zdCBnZng6OlJlY3RGJiBzcmNfcmVj dCkgeworLSAgcmV0dXJuIEdldEltYWdlVHlwZShHZXRSYXRpbyhzY3JlZW5faW5mbywgZGVzdF9y ZWN0KSwKKy0gICAgICAgICAgICAgICAgICAgICAgZ2Z4OjpUb0VuY2xvc2luZ1JlY3QoZGVzdF9y ZWN0KSwKKy0gICAgICAgICAgICAgICAgICAgICAgZ2Z4OjpUb0VuY2xvc2luZ1JlY3Qoc3JjX3Jl Y3QpKTsKKysgICAgY29uc3QgZ2Z4OjpSZWN0RiYgc3JjX3JlY3QsCisrICAgIGZsb2F0IHpvb20p IHsKKysgIHJldHVybiBHZXRJbWFnZVR5cGVXaXRoWm9vbShzY3JlZW5faW5mbywgem9vbSwgZGVz dF9yZWN0LCBzcmNfcmVjdCk7CisgfQorIAorIH0gIC8vIG5hbWVzcGFjZSBibGluaworZGlmZiAt LWdpdCBhL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUvcGFpbnQvcGFpbnRfYXV0b19k YXJrX21vZGUuaCBiL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUvcGFpbnQvcGFpbnRf YXV0b19kYXJrX21vZGUuaAoraW5kZXggZjNlZGEwMTEzMzkxYS4uOWJmOGRmMWMzM2E4NCAxMDA2 NDQKKy0tLSBhL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUvcGFpbnQvcGFpbnRfYXV0 b19kYXJrX21vZGUuaAorKysrIGIvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9wYWlu dC9wYWludF9hdXRvX2RhcmtfbW9kZS5oCitAQCAtNDIsNyArNDIsOCBAQCBjbGFzcyBJbWFnZUNs YXNzaWZpZXJIZWxwZXIgeworICAgQ09SRV9FWFBPUlQgc3RhdGljIERhcmtNb2RlRmlsdGVyOjpJ bWFnZVR5cGUgR2V0SW1hZ2VUeXBlRm9yVGVzdGluZygKKyAgICAgICBkaXNwbGF5OjpTY3JlZW5J bmZvJiBzY3JlZW5faW5mbywKKyAgICAgICBjb25zdCBnZng6OlJlY3RGJiBkZXN0X3JlY3QsCist ICAgICAgY29uc3QgZ2Z4OjpSZWN0RiYgc3JjX3JlY3QpOworKyAgICAgIGNvbnN0IGdmeDo6UmVj dEYmIHNyY19yZWN0LAorKyAgICAgIGZsb2F0IHpvb20gPSAxLjBmKTsKKyB9OworIAorIH0gIC8v IG5hbWVzcGFjZSBibGluaworZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVy L2NvcmUvcGFpbnQvcGFpbnRfYXV0b19kYXJrX21vZGVfdGVzdC5jYyBiL3RoaXJkX3BhcnR5L2Js aW5rL3JlbmRlcmVyL2NvcmUvcGFpbnQvcGFpbnRfYXV0b19kYXJrX21vZGVfdGVzdC5jYworaW5k ZXggNzA1YTMwNGRlMWNlNy4uNzdmZjBmMDY5MTg4ZSAxMDA2NDQKKy0tLSBhL3RoaXJkX3BhcnR5 L2JsaW5rL3JlbmRlcmVyL2NvcmUvcGFpbnQvcGFpbnRfYXV0b19kYXJrX21vZGVfdGVzdC5jYwor KysrIGIvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9wYWludC9wYWludF9hdXRvX2Rh cmtfbW9kZV90ZXN0LmNjCitAQCAtMTAsNyArMTAsNjkgQEAKKyAKKyBuYW1lc3BhY2UgYmxpbmsg eworIAorLWNsYXNzIFBhaW50QXV0b0RhcmtNb2RlVGVzdCA6IHB1YmxpYyB0ZXN0aW5nOjpUZXN0 IHt9OworK2NsYXNzIFBhaW50QXV0b0RhcmtNb2RlVGVzdCA6IHB1YmxpYyB0ZXN0aW5nOjpUZXN0 IHsKKysgcHVibGljOgorKyAgdm9pZCBUZXN0QXBwbHlGaWx0ZXJUb0ltYWdlSXJyZXNwZWN0aXZl T2ZQYWdlWm9vbSgKKysgICAgICBkaXNwbGF5OjpTY3JlZW5JbmZvIHNjcmVlbl9pbmZvKSB7Cisr ICAgIERhcmtNb2RlU2V0dGluZ3Mgc2V0dGluZ3M7CisrICAgIERhcmtNb2RlRmlsdGVyIGZpbHRl cihzZXR0aW5ncyk7CisrCisrICAgIGZsb2F0IHBhZ2Vfem9vbSA9IDEuMGY7CisrICAgIGZsb2F0 IGxheW91dF96b29tID0gMS4wZjsKKysgICAgZmxvYXQgY3NzX3pvb20gPSAxLjBmOworKyAgICBn Zng6OlJlY3RGIHNyY19yZWN0OworKyAgICBnZng6OlJlY3RGIGRlc3RfcmVjdDsKKysKKysgICAg Ly8gQSA1MHg1MCBDU1MgaWNvbiBnZXRzIGZpbHRlcmVkIGV2ZW4gaWYgfGRlc3RfcmVjdHwgYmVj b21lcyBsYXJnZXIgMjUweDI1MAorKyAgICAvLyB0aGFuIHRocmVzaG9sZCBzaXplIGluIGxhcmdl ciB6b29tIGxldmVscy4KKysgICAgc3JjX3JlY3QgPSBnZng6OlJlY3RGKDUwLCA1MCk7CisrICAg IHBhZ2Vfem9vbSA9IDUuMGY7CisrICAgIGNzc196b29tID0gMS4wZjsKKysgICAgbGF5b3V0X3pv b20gPSBwYWdlX3pvb20gKiBzY3JlZW5faW5mby5kZXZpY2Vfc2NhbGVfZmFjdG9yOworKyAgICBk ZXN0X3JlY3QgPQorKyAgICAgICAgZ2Z4OjpSZWN0Rig1MCAqIGxheW91dF96b29tICogY3NzX3pv b20sIDUwICogbGF5b3V0X3pvb20gKiBjc3Nfem9vbSk7CisrICAgIEVYUEVDVF9UUlVFKGZpbHRl ci5TaG91bGRBcHBseUZpbHRlclRvSW1hZ2UoCisrICAgICAgICBJbWFnZUNsYXNzaWZpZXJIZWxw ZXI6OkdldEltYWdlVHlwZUZvclRlc3Rpbmcoc2NyZWVuX2luZm8sIGRlc3RfcmVjdCwKKysgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcmNfcmVj dCwgbGF5b3V0X3pvb20pKSk7CisrCisrICAgIC8vIEEgNTB4NTAgQ1NTIGljb24gd2l0aCBjc3Mg em9vbSA1LjBmIGJlY29tZXMgMjUweDI1MCBhbmQgZG9lcyBub3QgZ2V0CisrICAgIC8vIGZpbHRl cnJlZCBhcyB8ZGVzdF9yZWN0fCBpcyBsYXJnZXIgdGhhbiB0aHJlc2hvbGQgc2l6ZS4KKysgICAg c3JjX3JlY3QgPSBnZng6OlJlY3RGKDUwLCA1MCk7CisrICAgIHBhZ2Vfem9vbSA9IDUuMGY7Cisr ICAgIGNzc196b29tID0gNS4wZjsKKysgICAgbGF5b3V0X3pvb20gPSBwYWdlX3pvb20gKiBzY3Jl ZW5faW5mby5kZXZpY2Vfc2NhbGVfZmFjdG9yOworKyAgICBkZXN0X3JlY3QgPQorKyAgICAgICAg Z2Z4OjpSZWN0Rig1MCAqIGxheW91dF96b29tICogY3NzX3pvb20sIDUwICogbGF5b3V0X3pvb20g KiBjc3Nfem9vbSk7CisrICAgIEVYUEVDVF9GQUxTRShmaWx0ZXIuU2hvdWxkQXBwbHlGaWx0ZXJU b0ltYWdlKAorKyAgICAgICAgSW1hZ2VDbGFzc2lmaWVySGVscGVyOjpHZXRJbWFnZVR5cGVGb3JU ZXN0aW5nKHNjcmVlbl9pbmZvLCBkZXN0X3JlY3QsCisrICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjX3JlY3QsIGxheW91dF96b29tKSkpOwor KworKyAgICAvLyBBbiBpbWFnZSB3aXRoIDIwMHgyMDAgQ1NTIHNpemUgZ2V0cyBjbGFzc2lmaWVk IGFzIHBob3RvIGFuZCBkb2VzIG5vdCBnZXQKKysgICAgLy8gZmlsdGVyZWQsIGV2ZW4gaWYgfGRl c3RfcmVjdHwgYmVjb21lcyBzbWFsbGVyIDUweDUwIHRoYW4gdGhyZXNob2xkIHNpemUKKysgICAg Ly8gaW4gc21hbGxlciB6b29tIGxldmVscy4KKysgICAgc3JjX3JlY3QgPSBnZng6OlJlY3RGKDIw MCwgMjAwKTsKKysgICAgcGFnZV96b29tID0gMC4yNWY7CisrICAgIGNzc196b29tID0gMS4wZjsK KysgICAgbGF5b3V0X3pvb20gPSBwYWdlX3pvb20gKiBzY3JlZW5faW5mby5kZXZpY2Vfc2NhbGVf ZmFjdG9yOworKyAgICBkZXN0X3JlY3QgPQorKyAgICAgICAgZ2Z4OjpSZWN0RigyMDAgKiBsYXlv dXRfem9vbSAqIGNzc196b29tLCAyMDAgKiBsYXlvdXRfem9vbSAqIGNzc196b29tKTsKKysgICAg RVhQRUNUX0ZBTFNFKGZpbHRlci5TaG91bGRBcHBseUZpbHRlclRvSW1hZ2UoCisrICAgICAgICBJ bWFnZUNsYXNzaWZpZXJIZWxwZXI6OkdldEltYWdlVHlwZUZvclRlc3Rpbmcoc2NyZWVuX2luZm8s IGRlc3RfcmVjdCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBzcmNfcmVjdCwgbGF5b3V0X3pvb20pKSk7CisrCisrICAgIC8vIEFuIGltYWdl IHdpdGggMjAweDIwMCBDU1Mgc2l6ZSBiZWNvbWVzIDIweDIwIENTUyBzaXplIGFuZCBnZXRzIGNs YXNzaWZpZWQKKysgICAgLy8gYXMgaWNvbiBhcyB0aGUgQ1NTIHNpemUgaXMgYmVsb3cgdGhlIHRo cmVzaG9sZC4KKysgICAgc3JjX3JlY3QgPSBnZng6OlJlY3RGKDIwMCwgMjAwKTsKKysgICAgcGFn ZV96b29tID0gMC4yNWY7CisrICAgIGNzc196b29tID0gMC4xZjsKKysgICAgbGF5b3V0X3pvb20g PSBwYWdlX3pvb20gKiBzY3JlZW5faW5mby5kZXZpY2Vfc2NhbGVfZmFjdG9yOworKyAgICBkZXN0 X3JlY3QgPQorKyAgICAgICAgZ2Z4OjpSZWN0RigyMDAgKiBsYXlvdXRfem9vbSAqIGNzc196b29t LCAyMDAgKiBsYXlvdXRfem9vbSAqIGNzc196b29tKTsKKysgICAgRVhQRUNUX1RSVUUoZmlsdGVy LlNob3VsZEFwcGx5RmlsdGVyVG9JbWFnZSgKKysgICAgICAgIEltYWdlQ2xhc3NpZmllckhlbHBl cjo6R2V0SW1hZ2VUeXBlRm9yVGVzdGluZyhzY3JlZW5faW5mbywgZGVzdF9yZWN0LAorKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNyY19yZWN0 LCBsYXlvdXRfem9vbSkpKTsKKysgIH0KKyt9OworIAorIFRFU1RfRihQYWludEF1dG9EYXJrTW9k ZVRlc3QsIFNob3VsZEFwcGx5RmlsdGVyVG9JbWFnZSkgeworICAgRGFya01vZGVTZXR0aW5ncyBz ZXR0aW5nczsKK0BAIC03Nyw0ICsxMzksMjEgQEAgVEVTVF9GKFBhaW50QXV0b0RhcmtNb2RlVGVz dCwgU2hvdWxkQXBwbHlGaWx0ZXJUb0ltYWdlT25Nb2JpbGUpIHsKKyAgICAgICAgICAgc2NyZWVu X2luZm8sIGdmeDo6UmVjdEYoMTgwLCAxODApLCBnZng6OlJlY3RGKDE4MCwgMTgwKSkpKTsKKyB9 CisgCisrVEVTVF9GKFBhaW50QXV0b0RhcmtNb2RlVGVzdCwgU2hvdWxkQXBwbHlGaWx0ZXJUb0lt YWdlSXJyZXNwZWN0aXZlT2ZQYWdlWm9vbSkgeworKyAgZGlzcGxheTo6U2NyZWVuSW5mbyBzY3Jl ZW5faW5mbzsKKysgIHNjcmVlbl9pbmZvLnJlY3QgPSBnZng6OlJlY3QoMTkyMCwgMTA4MCk7Cisr ICBzY3JlZW5faW5mby5kZXZpY2Vfc2NhbGVfZmFjdG9yID0gMS4wZjsKKysKKysgIFRlc3RBcHBs eUZpbHRlclRvSW1hZ2VJcnJlc3BlY3RpdmVPZlBhZ2Vab29tKHNjcmVlbl9pbmZvKTsKKyt9Cisr CisrVEVTVF9GKFBhaW50QXV0b0RhcmtNb2RlVGVzdCwKKysgICAgICAgU2hvdWxkQXBwbHlGaWx0 ZXJUb0ltYWdlSXJyZXNwZWN0aXZlT2ZQYWdlWm9vbU9uTW9iaWxlKSB7CisrICBkaXNwbGF5OjpT Y3JlZW5JbmZvIHNjcmVlbl9pbmZvOworKyAgc2NyZWVuX2luZm8ucmVjdCA9IGdmeDo6UmVjdCgz NjAsIDc4MCk7CisrICBzY3JlZW5faW5mby5kZXZpY2Vfc2NhbGVfZmFjdG9yID0gMy4wZjsKKysK KysgIFRlc3RBcHBseUZpbHRlclRvSW1hZ2VJcnJlc3BlY3RpdmVPZlBhZ2Vab29tKHNjcmVlbl9p bmZvKTsKKyt9CisrCisgfSAgLy8gbmFtZXNwYWNlIGJsaW5rCgpkaWZmIC0tZ2l0IGEvY2hyb21p dW0tMTUwLVVzZS02NHB4LWNzcy1waXhlbHMtYWJzb2x1dGUtdGhyZXNob2xkLWZvci1kYXJrLWlt YWdlLWNsYXNzaWZpY2F0aW9uLnBhdGNoIGIvY2hyb21pdW0tMTUwLVVzZS02NHB4LWNzcy1waXhl bHMtYWJzb2x1dGUtdGhyZXNob2xkLWZvci1kYXJrLWltYWdlLWNsYXNzaWZpY2F0aW9uLnBhdGNo Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZkYzliMTcKLS0tIC9kZXYvbnVs bAorKysgYi9jaHJvbWl1bS0xNTAtVXNlLTY0cHgtY3NzLXBpeGVscy1hYnNvbHV0ZS10aHJlc2hv bGQtZm9yLWRhcmstaW1hZ2UtY2xhc3NpZmljYXRpb24ucGF0Y2gKQEAgLTAsMCArMSwyODEgQEAK K2NvbW1pdCAyYzBiNzljNTdjMTcyNmYzNTliY2Q4NzEzNzQ3NGU4NTRiMWFlYjM4CitBdXRob3I6 IFByYXNoYW50IE5ldmFzZSA8cG5ldmFzZUBtaWNyb3NvZnQuY29tPgorRGF0ZTogICBUaHUgSnVu IDI1IDA4OjExOjM0IDIwMjYgLTA3MDAKKworICAgIFVzZSA2NHB4IGNzcyBwaXhlbHMgYWJzb2x1 dGUgdGhyZXNob2xkIGZvciBkYXJrIGltYWdlIGNsYXNzaWZpY2F0aW9uLgorICAgIAorICAgIFRo ZSBwcmV2aW91cyByYXRpby1iYXNlZCB0aHJlc2hvbGQgc2NhbGVkIHdpdGggdGhlIHNjcmVlbiBz aXplIGFuZAorICAgIGRldmljZSBzY2FsZSBmYWN0b3IsIHNvIHRoZSBzYW1lIGltYWdlIGNvdWxk IGJlIGNsYXNzaWZpZWQgZGlmZmVyZW50bHkKKyAgICBkZXBlbmRpbmcgb24gdGhlIGRpc3BsYXkg aXQgd2FzIHNob3duIG9uLiBUaGlzIHByb2R1Y2VkIGluY29uc2lzdGVudAorICAgIGRhcmsgbW9k ZSByZXN1bHRzIGFjcm9zcyBkaXNwbGF5cyBvZiBkaWZmZXJlbnQgc2l6ZXMgYW5kIGRldmljZSBz Y2FsZQorICAgIGZhY3RvcnMuCisgICAgCisgICAgUmVwbGFjZSB0aGUgc2NyZWVuLXNpemUgcmF0 aW8gaGV1cmlzdGljIChrTWF4SWNvblJhdGlvKSB3aXRoIGEgc2luZ2xlCisgICAgYWJzb2x1dGUg c2l6ZSB0aHJlc2hvbGQgb2YgNjQgQ1NTIHBpeGVscyBmb3IgY2xhc3NpZnlpbmcgaW1hZ2VzIGFz IGljb25zCisgICAgaW4gYXV0byBkYXJrIG1vZGUuIFRoZSB0aHJlc2hvbGQgaXMgY29tcGFyZWQg YWZ0ZXIgdW5kb2luZyB0aGUgZnJhbWUncworICAgIGxheW91dCB6b29tIGZhY3RvciAocGFnZSB6 b29tIGFuZCBkZXZpY2Ugc2NhbGUgZmFjdG9yKSwgc28KKyAgICBjbGFzc2lmaWNhdGlvbiBpcyBz dGFibGUgYWNyb3NzIGRldmljZXMgYW5kIHBhZ2Ugem9vbSBsZXZlbHMgd2hpbGUgQ1NTCisgICAg em9vbSBzdGlsbCBhZmZlY3RzIHRoZSBkcmF3biBzaXplIGFuZCB0aGVyZWZvcmUgdGhlIHJlc3Vs dC4KKyAgICAKKyAgICBUaGlzIHJlbW92ZXMgdGhlIGRlcGVuZGVuY3kgb24gZGlzcGxheTo6U2Ny ZWVuSW5mbyBmcm9tIHRoZQorICAgIGNsYXNzaWZpY2F0aW9uIHBhdGggYW5kIHNpbXBsaWZpZXMg R2V0SW1hZ2VUeXBlKCkgdG8gYSBwdXJlIHNpemUgY2hlY2suCisgICAgCisgICAgQnVnOiA0NDk5 MDk1MjQKKyAgICBDaGFuZ2UtSWQ6IEk0NDdlYzdhMWY5NGZlZDMwMDQ4ODlkZmUyYmQ3OGJmODM5 MmRkZDYxCisgICAgUmV2aWV3ZWQtb246IGh0dHBzOi8vY2hyb21pdW0tcmV2aWV3Lmdvb2dsZXNv dXJjZS5jb20vYy9jaHJvbWl1bS9zcmMvKy84MDA1MTc2CisgICAgUmV2aWV3ZWQtYnk6IFN0ZXBo ZW4gQ2hlbm5leSA8c2NoZW5uZXlAY2hyb21pdW0ub3JnPgorICAgIENvbW1pdC1RdWV1ZTogUHJh c2hhbnQgTmV2YXNlIDxwbmV2YXNlQG1pY3Jvc29mdC5jb20+CisgICAgQ3ItQ29tbWl0LVBvc2l0 aW9uOiByZWZzL2hlYWRzL21haW5AeyMxNjUyNDM0fQorCitkaWZmIC0tZ2l0IGEvdGhpcmRfcGFy dHkvYmxpbmsvcmVuZGVyZXIvY29yZS9wYWludC9wYWludF9hdXRvX2RhcmtfbW9kZS5jYyBiL3Ro aXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUvcGFpbnQvcGFpbnRfYXV0b19kYXJrX21vZGUu Y2MKK2luZGV4IDViMzQyODNkN2E1NTYuLjY1OGY2YTRlNGY2ZmQgMTAwNjQ0CistLS0gYS90aGly ZF9wYXJ0eS9ibGluay9yZW5kZXJlci9jb3JlL3BhaW50L3BhaW50X2F1dG9fZGFya19tb2RlLmNj CisrKysgYi90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9jb3JlL3BhaW50L3BhaW50X2F1dG9f ZGFya19tb2RlLmNjCitAQCAtNSwzMiArNSwyNiBAQAorICNpbmNsdWRlICJ0aGlyZF9wYXJ0eS9i bGluay9yZW5kZXJlci9jb3JlL3BhaW50L3BhaW50X2F1dG9fZGFya19tb2RlLmgiCisgCisgI2lu Y2x1ZGUgInRoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUvZnJhbWUvbG9jYWxfZnJhbWUu aCIKKy0jaW5jbHVkZSAidGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9wYWdlL2Nocm9t ZV9jbGllbnQuaCIKKy0jaW5jbHVkZSAidWkvZGlzcGxheS9zY3JlZW5faW5mby5oIgorICNpbmNs dWRlICJ1aS9nZngvZ2VvbWV0cnkvcmVjdC5oIgorICNpbmNsdWRlICJ1aS9nZngvZ2VvbWV0cnkv cmVjdF9jb252ZXJzaW9ucy5oIgorIAorIG5hbWVzcGFjZSBibGluayB7CisgCisgbmFtZXNwYWNl IHsKKy0KKy0vLyBUaGUgbWF4aW11bSByYXRpbyBvZiBpbWFnZSBzaXplIHRvIHNjcmVlbiBzaXpl IHRoYXQgaXMgY29uc2lkZXJlZCBhbiBpY29uLgorLWNvbnN0ZXhwciBmbG9hdCBrTWF4SWNvblJh dGlvID0gMC4xM2Y7CistY29uc3RleHByIGludCBrTWF4SW1hZ2VMZW5ndGggPSA1MDsKKysvLyBJ bWFnZXMgd2l0aCBib3RoIHdpZHRoIGFuZCBoZWlnaHQgc21hbGxlciB0aGFuIHRoaXMgdmFsdWUg YXJlIGNvbnNpZGVyZWQKKysvLyBpY29ucy4KKytjb25zdGV4cHIgaW50IGtNYXhJbWFnZUxlbmd0 aCA9IDY0OworIC8vIEltYWdlcyB3aXRoIGVpdGhlciBkaW1lbnNpb24gbGVzcyB0aGFuIHRoaXMg dmFsdWUgYXJlIGNvbnNpZGVyZWQgc2VwYXJhdG9ycy4KKyBjb25zdGV4cHIgaW50IGtNYXhJbWFn ZVNlcGFyYXRvckxlbmd0aCA9IDg7CisgCisgLy8gV2UgbmVlZCB0byBkbyBpbWFnZSBjbGFzc2lm aWNhdGlvbiBmaXJzdCBiZWZvcmUgY2FsbGluZworIC8vIERhcmtNb2RlRmlsdGVyOjpHZW5lcmF0 ZUltYWdlRmlsdGVyLgorLURhcmtNb2RlRmlsdGVyOjpJbWFnZVR5cGUgR2V0SW1hZ2VUeXBlKGZs b2F0IGRlc3RfdG9fZGV2aWNlX3JhdGlvLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGNvbnN0IGdmeDo6UmVjdCYgZGVzdF9yZWN0LAorK0RhcmtNb2RlRmlsdGVyOjpJ bWFnZVR5cGUgR2V0SW1hZ2VUeXBlKGNvbnN0IGdmeDo6UmVjdCYgZGVzdF9yZWN0LAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdmeDo6UmVjdCYgc3JjX3Jl Y3QpIHsKKy0gIC8vIFRPRE86IFVzZSBhIHZpZXdwb3J0IHJlbGF0aXZlIHRocmVzaG9sZCBmb3Ig dGhlIHNpemUgY2hlY2sgaW5zdGVhZCBvZgorLSAgLy8gYWJzb2x1dGUgdGhyZXNob2xkLgorLSAg aWYgKGRlc3RfdG9fZGV2aWNlX3JhdGlvIDw9IGtNYXhJY29uUmF0aW8gfHwKKy0gICAgICAoZGVz dF9yZWN0LndpZHRoKCkgPD0ga01heEltYWdlTGVuZ3RoICYmCistICAgICAgIGRlc3RfcmVjdC5o ZWlnaHQoKSA8PSBrTWF4SW1hZ2VMZW5ndGgpKQorKyAgaWYgKGRlc3RfcmVjdC53aWR0aCgpIDw9 IGtNYXhJbWFnZUxlbmd0aCAmJgorKyAgICAgIGRlc3RfcmVjdC5oZWlnaHQoKSA8PSBrTWF4SW1h Z2VMZW5ndGgpIHsKKyAgICAgcmV0dXJuIERhcmtNb2RlRmlsdGVyOjpJbWFnZVR5cGU6OmtJY29u OworKyAgfQorIAorICAgaWYgKHNyY19yZWN0LndpZHRoKCkgPD0ga01heEltYWdlU2VwYXJhdG9y TGVuZ3RoIHx8CisgICAgICAgc3JjX3JlY3QuaGVpZ2h0KCkgPD0ga01heEltYWdlU2VwYXJhdG9y TGVuZ3RoKQorQEAgLTM5LDM0ICszMywyMSBAQCBEYXJrTW9kZUZpbHRlcjo6SW1hZ2VUeXBlIEdl dEltYWdlVHlwZShmbG9hdCBkZXN0X3RvX2RldmljZV9yYXRpbywKKyAgIHJldHVybiBEYXJrTW9k ZUZpbHRlcjo6SW1hZ2VUeXBlOjprUGhvdG87CisgfQorIAorLWZsb2F0IEdldFJhdGlvKGNvbnN0 IGRpc3BsYXk6OlNjcmVlbkluZm8mIHNjcmVlbl9pbmZvLAorLSAgICAgICAgICAgICAgIGNvbnN0 IGdmeDo6UmVjdEYmIGRlc3RfcmVjdCkgeworLSAgLy8gQ29tcHV0ZSBkZXZpY2UgcmVjdCBpbiBk ZXZpY2UgcGl4ZWxzLgorLSAgY29uc3QgZ2Z4OjpTaXplRiYgZGV2aWNlX3JlY3QgPSBnZng6OlNj YWxlU2l6ZSgKKy0gICAgICBnZng6OlNpemVGKHNjcmVlbl9pbmZvLnJlY3Quc2l6ZSgpKSwgc2Ny ZWVuX2luZm8uZGV2aWNlX3NjYWxlX2ZhY3Rvcik7CistCistICByZXR1cm4gc3RkOjptYXgoZGVz dF9yZWN0LndpZHRoKCkgLyBkZXZpY2VfcmVjdC53aWR0aCgpLAorLSAgICAgICAgICAgICAgICAg IGRlc3RfcmVjdC5oZWlnaHQoKSAvIGRldmljZV9yZWN0LmhlaWdodCgpKTsKKy19CistCisgLy8g Q2xhc3NpZmllcyBhbiBpbWFnZSBhZnRlciB1bmRvaW5nIHRoZSBmcmFtZSdzIGxheW91dCB6b29t IGZhY3Rvci4KKyAvLyB8ZGVzdF9yZWN0fCBjb21lcyBmcm9tIGxheW91dCBnZW9tZXRyeSBhbmQg aW5jbHVkZXMgbGF5b3V0IHpvb20gKHBhZ2Ugem9vbQorIC8vIGFuZCBwb3RlbnRpYWxseSBEU0Yp IGFuZCBDU1Mgem9vbS4gVW5kbyBvbmx5IGxheW91dCB6b29tIHNvIHBhZ2Ugem9vbSBhbmQKKyAv LyBEU0YgZG8gbm90IGFmZmVjdCBjbGFzc2lmaWNhdGlvbiwgd2hpbGUgQ1NTIHpvb20gc3RpbGwg ZG9lcy4gfHNyY19yZWN0fCBpcworIC8vIGRlcml2ZWQgZnJvbSB0aGUgaW1hZ2UncyBpbnRyaW5z aWMgcGl4ZWwgc2l6ZSBhbmQgaXMgYWxyZWFkeQorIC8vIHpvb20taW5kZXBlbmRlbnQsIHNvIGl0 IG11c3QgYmUgbGVmdCB1bnRvdWNoZWQuCistRGFya01vZGVGaWx0ZXI6OkltYWdlVHlwZSBHZXRJ bWFnZVR5cGVXaXRoWm9vbSgKKy0gICAgY29uc3QgZGlzcGxheTo6U2NyZWVuSW5mbyYgc2NyZWVu X2luZm8sCistICAgIGZsb2F0IHpvb20sCistICAgIGNvbnN0IGdmeDo6UmVjdEYmIGRlc3RfcmVj dCwKKy0gICAgY29uc3QgZ2Z4OjpSZWN0RiYgc3JjX3JlY3QpIHsKKytEYXJrTW9kZUZpbHRlcjo6 SW1hZ2VUeXBlIEdldEltYWdlVHlwZVdpdGhab29tKGZsb2F0IHpvb20sCisrICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBnZng6OlJlY3RGJiBkZXN0 X3JlY3QsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj b25zdCBnZng6OlJlY3RGJiBzcmNfcmVjdCkgeworICAgZ2Z4OjpSZWN0RiB1bnpvb21lZF9kZXN0 X3JlY3QgPSBkZXN0X3JlY3Q7CisgICBpZiAoem9vbSA+IDAuZiAmJiB6b29tICE9IDEuZikgewor ICAgICB1bnpvb21lZF9kZXN0X3JlY3QuU2NhbGUoMS5mIC8gem9vbSk7CisgICB9CisgCistICBy ZXR1cm4gR2V0SW1hZ2VUeXBlKEdldFJhdGlvKHNjcmVlbl9pbmZvLCB1bnpvb21lZF9kZXN0X3Jl Y3QpLAorLSAgICAgICAgICAgICAgICAgICAgICBnZng6OlRvRW5jbG9zaW5nUmVjdCh1bnpvb21l ZF9kZXN0X3JlY3QpLAorKyAgcmV0dXJuIEdldEltYWdlVHlwZShnZng6OlRvRW5jbG9zaW5nUmVj dCh1bnpvb21lZF9kZXN0X3JlY3QpLAorICAgICAgICAgICAgICAgICAgICAgICBnZng6OlRvRW5j bG9zaW5nUmVjdChzcmNfcmVjdCkpOworIH0KKyAKK0BAIC04MiwyMiArNjMsMTggQEAgSW1hZ2VB dXRvRGFya01vZGUgSW1hZ2VDbGFzc2lmaWVySGVscGVyOjpHZXRJbWFnZUF1dG9EYXJrTW9kZSgK KyAgIGlmICghc3R5bGUuRm9yY2VEYXJrKCkpCisgICAgIHJldHVybiBJbWFnZUF1dG9EYXJrTW9k ZTo6RGlzYWJsZWQoKTsKKyAKKy0gIGNvbnN0IGRpc3BsYXk6OlNjcmVlbkluZm8mIHNjcmVlbl9p bmZvID0KKy0gICAgICBsb2NhbF9mcmFtZS5HZXRDaHJvbWVDbGllbnQoKS5HZXRTY3JlZW5JbmZv KGxvY2FsX2ZyYW1lKTsKKy0KKyAgIGNvbnN0IGZsb2F0IGxheW91dF96b29tID0gbG9jYWxfZnJh bWUuTGF5b3V0Wm9vbUZhY3RvcigpOworICAgcmV0dXJuIEltYWdlQXV0b0RhcmtNb2RlKAorICAg ICAgIHJvbGUsIHN0eWxlLkZvcmNlRGFyaygpLAorLSAgICAgIEdldEltYWdlVHlwZVdpdGhab29t KHNjcmVlbl9pbmZvLCBsYXlvdXRfem9vbSwgZGVzdF9yZWN0LCBzcmNfcmVjdCkpOworKyAgICAg IEdldEltYWdlVHlwZVdpdGhab29tKGxheW91dF96b29tLCBkZXN0X3JlY3QsIHNyY19yZWN0KSk7 CisgfQorIAorIC8vIHN0YXRpYworIERhcmtNb2RlRmlsdGVyOjpJbWFnZVR5cGUgSW1hZ2VDbGFz c2lmaWVySGVscGVyOjpHZXRJbWFnZVR5cGVGb3JUZXN0aW5nKAorLSAgICBkaXNwbGF5OjpTY3Jl ZW5JbmZvJiBzY3JlZW5faW5mbywKKyAgICAgY29uc3QgZ2Z4OjpSZWN0RiYgZGVzdF9yZWN0LAor ICAgICBjb25zdCBnZng6OlJlY3RGJiBzcmNfcmVjdCwKKyAgICAgZmxvYXQgem9vbSkgeworLSAg cmV0dXJuIEdldEltYWdlVHlwZVdpdGhab29tKHNjcmVlbl9pbmZvLCB6b29tLCBkZXN0X3JlY3Qs IHNyY19yZWN0KTsKKysgIHJldHVybiBHZXRJbWFnZVR5cGVXaXRoWm9vbSh6b29tLCBkZXN0X3Jl Y3QsIHNyY19yZWN0KTsKKyB9CisgCisgfSAgLy8gbmFtZXNwYWNlIGJsaW5rCitkaWZmIC0tZ2l0 IGEvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9wYWludC9wYWludF9hdXRvX2Rhcmtf bW9kZS5oIGIvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9wYWludC9wYWludF9hdXRv X2RhcmtfbW9kZS5oCitpbmRleCA5YmY4ZGYxYzMzYTg0Li5hZmQ1N2VlZTJiNDU2IDEwMDY0NAor LS0tIGEvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9wYWludC9wYWludF9hdXRvX2Rh cmtfbW9kZS5oCisrKysgYi90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9jb3JlL3BhaW50L3Bh aW50X2F1dG9fZGFya19tb2RlLmgKK0BAIC00MCw3ICs0MCw2IEBAIGNsYXNzIEltYWdlQ2xhc3Np ZmllckhlbHBlciB7CisgICAgICAgICAgIERhcmtNb2RlRmlsdGVyOjpFbGVtZW50Um9sZTo6a0Jh Y2tncm91bmQpOworIAorICAgQ09SRV9FWFBPUlQgc3RhdGljIERhcmtNb2RlRmlsdGVyOjpJbWFn ZVR5cGUgR2V0SW1hZ2VUeXBlRm9yVGVzdGluZygKKy0gICAgICBkaXNwbGF5OjpTY3JlZW5JbmZv JiBzY3JlZW5faW5mbywKKyAgICAgICBjb25zdCBnZng6OlJlY3RGJiBkZXN0X3JlY3QsCisgICAg ICAgY29uc3QgZ2Z4OjpSZWN0RiYgc3JjX3JlY3QsCisgICAgICAgZmxvYXQgem9vbSA9IDEuMGYp OworZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUvcGFpbnQvcGFp bnRfYXV0b19kYXJrX21vZGVfdGVzdC5jYyBiL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2Nv cmUvcGFpbnQvcGFpbnRfYXV0b19kYXJrX21vZGVfdGVzdC5jYworaW5kZXggNzdmZjBmMDY5MTg4 ZS4uY2YwNWVhMWE5ZThhZiAxMDA2NDQKKy0tLSBhL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVy L2NvcmUvcGFpbnQvcGFpbnRfYXV0b19kYXJrX21vZGVfdGVzdC5jYworKysrIGIvdGhpcmRfcGFy dHkvYmxpbmsvcmVuZGVyZXIvY29yZS9wYWludC9wYWludF9hdXRvX2RhcmtfbW9kZV90ZXN0LmNj CitAQCAtMzIsOCArMzIsOCBAQCBjbGFzcyBQYWludEF1dG9EYXJrTW9kZVRlc3QgOiBwdWJsaWMg dGVzdGluZzo6VGVzdCB7CisgICAgIGRlc3RfcmVjdCA9CisgICAgICAgICBnZng6OlJlY3RGKDUw ICogbGF5b3V0X3pvb20gKiBjc3Nfem9vbSwgNTAgKiBsYXlvdXRfem9vbSAqIGNzc196b29tKTsK KyAgICAgRVhQRUNUX1RSVUUoZmlsdGVyLlNob3VsZEFwcGx5RmlsdGVyVG9JbWFnZSgKKy0gICAg ICAgIEltYWdlQ2xhc3NpZmllckhlbHBlcjo6R2V0SW1hZ2VUeXBlRm9yVGVzdGluZyhzY3JlZW5f aW5mbywgZGVzdF9yZWN0LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHNyY19yZWN0LCBsYXlvdXRfem9vbSkpKTsKKysgICAgICAgIEltYWdl Q2xhc3NpZmllckhlbHBlcjo6R2V0SW1hZ2VUeXBlRm9yVGVzdGluZyhkZXN0X3JlY3QsIHNyY19y ZWN0LAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGxheW91dF96b29tKSkpOworIAorICAgICAvLyBBIDUweDUwIENTUyBpY29uIHdpdGggY3Nz IHpvb20gNS4wZiBiZWNvbWVzIDI1MHgyNTAgYW5kIGRvZXMgbm90IGdldAorICAgICAvLyBmaWx0 ZXJyZWQgYXMgfGRlc3RfcmVjdHwgaXMgbGFyZ2VyIHRoYW4gdGhyZXNob2xkIHNpemUuCitAQCAt NDQsOCArNDQsOCBAQCBjbGFzcyBQYWludEF1dG9EYXJrTW9kZVRlc3QgOiBwdWJsaWMgdGVzdGlu Zzo6VGVzdCB7CisgICAgIGRlc3RfcmVjdCA9CisgICAgICAgICBnZng6OlJlY3RGKDUwICogbGF5 b3V0X3pvb20gKiBjc3Nfem9vbSwgNTAgKiBsYXlvdXRfem9vbSAqIGNzc196b29tKTsKKyAgICAg RVhQRUNUX0ZBTFNFKGZpbHRlci5TaG91bGRBcHBseUZpbHRlclRvSW1hZ2UoCistICAgICAgICBJ bWFnZUNsYXNzaWZpZXJIZWxwZXI6OkdldEltYWdlVHlwZUZvclRlc3Rpbmcoc2NyZWVuX2luZm8s IGRlc3RfcmVjdCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBzcmNfcmVjdCwgbGF5b3V0X3pvb20pKSk7CisrICAgICAgICBJbWFnZUNsYXNz aWZpZXJIZWxwZXI6OkdldEltYWdlVHlwZUZvclRlc3RpbmcoZGVzdF9yZWN0LCBzcmNfcmVjdCwK KysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBs YXlvdXRfem9vbSkpKTsKKyAKKyAgICAgLy8gQW4gaW1hZ2Ugd2l0aCAyMDB4MjAwIENTUyBzaXpl IGdldHMgY2xhc3NpZmllZCBhcyBwaG90byBhbmQgZG9lcyBub3QgZ2V0CisgICAgIC8vIGZpbHRl cmVkLCBldmVuIGlmIHxkZXN0X3JlY3R8IGJlY29tZXMgc21hbGxlciA1MHg1MCB0aGFuIHRocmVz aG9sZCBzaXplCitAQCAtNTcsOCArNTcsOCBAQCBjbGFzcyBQYWludEF1dG9EYXJrTW9kZVRlc3Qg OiBwdWJsaWMgdGVzdGluZzo6VGVzdCB7CisgICAgIGRlc3RfcmVjdCA9CisgICAgICAgICBnZng6 OlJlY3RGKDIwMCAqIGxheW91dF96b29tICogY3NzX3pvb20sIDIwMCAqIGxheW91dF96b29tICog Y3NzX3pvb20pOworICAgICBFWFBFQ1RfRkFMU0UoZmlsdGVyLlNob3VsZEFwcGx5RmlsdGVyVG9J bWFnZSgKKy0gICAgICAgIEltYWdlQ2xhc3NpZmllckhlbHBlcjo6R2V0SW1hZ2VUeXBlRm9yVGVz dGluZyhzY3JlZW5faW5mbywgZGVzdF9yZWN0LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNyY19yZWN0LCBsYXlvdXRfem9vbSkpKTsKKysg ICAgICAgIEltYWdlQ2xhc3NpZmllckhlbHBlcjo6R2V0SW1hZ2VUeXBlRm9yVGVzdGluZyhkZXN0 X3JlY3QsIHNyY19yZWN0LAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGxheW91dF96b29tKSkpOworIAorICAgICAvLyBBbiBpbWFnZSB3aXRo IDIwMHgyMDAgQ1NTIHNpemUgYmVjb21lcyAyMHgyMCBDU1Mgc2l6ZSBhbmQgZ2V0cyBjbGFzc2lm aWVkCisgICAgIC8vIGFzIGljb24gYXMgdGhlIENTUyBzaXplIGlzIGJlbG93IHRoZSB0aHJlc2hv bGQuCitAQCAtNjksOCArNjksOCBAQCBjbGFzcyBQYWludEF1dG9EYXJrTW9kZVRlc3QgOiBwdWJs aWMgdGVzdGluZzo6VGVzdCB7CisgICAgIGRlc3RfcmVjdCA9CisgICAgICAgICBnZng6OlJlY3RG KDIwMCAqIGxheW91dF96b29tICogY3NzX3pvb20sIDIwMCAqIGxheW91dF96b29tICogY3NzX3pv b20pOworICAgICBFWFBFQ1RfVFJVRShmaWx0ZXIuU2hvdWxkQXBwbHlGaWx0ZXJUb0ltYWdlKAor LSAgICAgICAgSW1hZ2VDbGFzc2lmaWVySGVscGVyOjpHZXRJbWFnZVR5cGVGb3JUZXN0aW5nKHNj cmVlbl9pbmZvLCBkZXN0X3JlY3QsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgc3JjX3JlY3QsIGxheW91dF96b29tKSkpOworKyAgICAgICAg SW1hZ2VDbGFzc2lmaWVySGVscGVyOjpHZXRJbWFnZVR5cGVGb3JUZXN0aW5nKGRlc3RfcmVjdCwg c3JjX3JlY3QsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgbGF5b3V0X3pvb20pKSk7CisgICB9CisgfTsKKyAKK0BAIC03OCw0NCArNzgsNDAg QEAgVEVTVF9GKFBhaW50QXV0b0RhcmtNb2RlVGVzdCwgU2hvdWxkQXBwbHlGaWx0ZXJUb0ltYWdl KSB7CisgICBEYXJrTW9kZVNldHRpbmdzIHNldHRpbmdzOworICAgRGFya01vZGVGaWx0ZXIgZmls dGVyKHNldHRpbmdzKTsKKyAKKy0gIGRpc3BsYXk6OlNjcmVlbkluZm8gc2NyZWVuX2luZm87Cist ICBzY3JlZW5faW5mby5yZWN0ID0gZ2Z4OjpSZWN0KDE5MjAsIDEwODApOworLSAgc2NyZWVuX2lu Zm8uZGV2aWNlX3NjYWxlX2ZhY3RvciA9IDEuMGY7CistCisgICAvLyB8ZHN0fCBpcyBzbWFsbGVy IHRoYW4gdGhyZXNob2xkIHNpemUuCisgICBFWFBFQ1RfVFJVRShmaWx0ZXIuU2hvdWxkQXBwbHlG aWx0ZXJUb0ltYWdlKAorLSAgICAgIEltYWdlQ2xhc3NpZmllckhlbHBlcjo6R2V0SW1hZ2VUeXBl Rm9yVGVzdGluZygKKy0gICAgICAgICAgc2NyZWVuX2luZm8sIGdmeDo6UmVjdEYoNTAsIDUwKSwg Z2Z4OjpSZWN0Rig1MCwgNTApKSkpOworKyAgICAgIEltYWdlQ2xhc3NpZmllckhlbHBlcjo6R2V0 SW1hZ2VUeXBlRm9yVGVzdGluZyhnZng6OlJlY3RGKDUwLCA1MCksCisrICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdmeDo6UmVjdEYoNTAsIDUwKSkp KTsKKyAKKyAgIC8vIHxkc3R8IGlzIHNtYWxsZXIgdGhhbiB0aHJlc2hvbGQgc2l6ZSwgZXZlbiB8 c3JjfCBpcyBsYXJnZXIuCisgICBFWFBFQ1RfVFJVRShmaWx0ZXIuU2hvdWxkQXBwbHlGaWx0ZXJU b0ltYWdlKAorLSAgICAgIEltYWdlQ2xhc3NpZmllckhlbHBlcjo6R2V0SW1hZ2VUeXBlRm9yVGVz dGluZygKKy0gICAgICAgICAgc2NyZWVuX2luZm8sIGdmeDo6UmVjdEYoNTAsIDUwKSwgZ2Z4OjpS ZWN0RigyMDAsIDIwMCkpKSk7CisrICAgICAgSW1hZ2VDbGFzc2lmaWVySGVscGVyOjpHZXRJbWFn ZVR5cGVGb3JUZXN0aW5nKGdmeDo6UmVjdEYoNTAsIDUwKSwKKysgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2Z4OjpSZWN0RigyMDAsIDIwMCkpKSk7 CisgCisgICAvLyB8ZHN0fCBpcyBzbWFsbGVyIHRoYW4gdGhyZXNob2xkIHNpemUsIHxzcmN8IGlz IHNtYWxsZXIuCisgICBFWFBFQ1RfVFJVRShmaWx0ZXIuU2hvdWxkQXBwbHlGaWx0ZXJUb0ltYWdl KAorLSAgICAgIEltYWdlQ2xhc3NpZmllckhlbHBlcjo6R2V0SW1hZ2VUeXBlRm9yVGVzdGluZygK Ky0gICAgICAgICAgc2NyZWVuX2luZm8sIGdmeDo6UmVjdEYoNTAsIDUwKSwgZ2Z4OjpSZWN0Rigy MCwgMjApKSkpOworKyAgICAgIEltYWdlQ2xhc3NpZmllckhlbHBlcjo6R2V0SW1hZ2VUeXBlRm9y VGVzdGluZyhnZng6OlJlY3RGKDUwLCA1MCksCisrICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGdmeDo6UmVjdEYoMjAsIDIwKSkpKTsKKyAKKyAgIC8v IHxzcmN8IGhhdmluZyB2ZXJ5IHNtYWxsZXIgd2lkdGgsIGV2ZW4gfGRzdHwgaXMgbGFyZ2VyIHRo YW4gdGhyZXNob2xkIHNpemUuCisgICBFWFBFQ1RfVFJVRShmaWx0ZXIuU2hvdWxkQXBwbHlGaWx0 ZXJUb0ltYWdlKAorLSAgICAgIEltYWdlQ2xhc3NpZmllckhlbHBlcjo6R2V0SW1hZ2VUeXBlRm9y VGVzdGluZygKKy0gICAgICAgICAgc2NyZWVuX2luZm8sIGdmeDo6UmVjdEYoMjAwLCA1KSwgZ2Z4 OjpSZWN0RigyMDAsIDUpKSkpOworKyAgICAgIEltYWdlQ2xhc3NpZmllckhlbHBlcjo6R2V0SW1h Z2VUeXBlRm9yVGVzdGluZyhnZng6OlJlY3RGKDIwMCwgNSksCisrICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdmeDo6UmVjdEYoMjAwLCA1KSkpKTsK KyAKKyAgIC8vIHxzcmN8IGhhdmluZyB2ZXJ5IHNtYWxsZXIgaGVpZ2h0LCBldmVuIHxkc3R8IGlz IGxhcmdlciB0aGFuIHRocmVzaG9sZCBzaXplLgorICAgRVhQRUNUX1RSVUUoZmlsdGVyLlNob3Vs ZEFwcGx5RmlsdGVyVG9JbWFnZSgKKy0gICAgICBJbWFnZUNsYXNzaWZpZXJIZWxwZXI6OkdldElt YWdlVHlwZUZvclRlc3RpbmcoCistICAgICAgICAgIHNjcmVlbl9pbmZvLCBnZng6OlJlY3RGKDUs IDIwMCksIGdmeDo6UmVjdEYoNSwgMjAwKSkpKTsKKysgICAgICBJbWFnZUNsYXNzaWZpZXJIZWxw ZXI6OkdldEltYWdlVHlwZUZvclRlc3RpbmcoZ2Z4OjpSZWN0Rig1LCAyMDApLAorKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZng6OlJlY3RGKDUs IDIwMCkpKSk7CisgCisgICAvLyB8ZHN0fCBpcyBsYXJnZXIgdGhhbiB0aHJlc2hvbGQgc2l6ZS4K KyAgIEVYUEVDVF9GQUxTRShmaWx0ZXIuU2hvdWxkQXBwbHlGaWx0ZXJUb0ltYWdlKAorLSAgICAg IEltYWdlQ2xhc3NpZmllckhlbHBlcjo6R2V0SW1hZ2VUeXBlRm9yVGVzdGluZygKKy0gICAgICAg ICAgc2NyZWVuX2luZm8sIGdmeDo6UmVjdEYoMjAwLCAyMDApLCBnZng6OlJlY3RGKDIwLCAyMCkp KSk7CisrICAgICAgSW1hZ2VDbGFzc2lmaWVySGVscGVyOjpHZXRJbWFnZVR5cGVGb3JUZXN0aW5n KGdmeDo6UmVjdEYoMjAwLCAyMDApLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBnZng6OlJlY3RGKDIwLCAyMCkpKSk7CisgCisgICAvLyB8ZHN0 fCBpcyBsYXJnZXIgdGhhbiB0aHJlc2hvbGQgc2l6ZS4KKyAgIEVYUEVDVF9GQUxTRShmaWx0ZXIu U2hvdWxkQXBwbHlGaWx0ZXJUb0ltYWdlKAorLSAgICAgIEltYWdlQ2xhc3NpZmllckhlbHBlcjo6 R2V0SW1hZ2VUeXBlRm9yVGVzdGluZygKKy0gICAgICAgICAgc2NyZWVuX2luZm8sIGdmeDo6UmVj dEYoMjAsIDIwMCksIGdmeDo6UmVjdEYoMjAsIDIwMCkpKSk7CisrICAgICAgSW1hZ2VDbGFzc2lm aWVySGVscGVyOjpHZXRJbWFnZVR5cGVGb3JUZXN0aW5nKGdmeDo6UmVjdEYoMjAsIDIwMCksCisr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdmeDo6 UmVjdEYoMjAsIDIwMCkpKSk7CisgfQorIAorIC8vIFRlc3QgZm9yIG1vYmlsZSBkaXNwbGF5IGNv bmZpZ3VyYXRpb24KK0BAIC0xMjYsMTcgKzEyMiwxOSBAQCBURVNUX0YoUGFpbnRBdXRvRGFya01v ZGVUZXN0LCBTaG91bGRBcHBseUZpbHRlclRvSW1hZ2VPbk1vYmlsZSkgeworICAgZGlzcGxheTo6 U2NyZWVuSW5mbyBzY3JlZW5faW5mbzsKKyAgIHNjcmVlbl9pbmZvLnJlY3QgPSBnZng6OlJlY3Qo MzYwLCA3ODApOworICAgc2NyZWVuX2luZm8uZGV2aWNlX3NjYWxlX2ZhY3RvciA9IDMuMGY7Cisr ICBjb25zdCBmbG9hdCBsYXlvdXRfem9vbSA9IHNjcmVlbl9pbmZvLmRldmljZV9zY2FsZV9mYWN0 b3I7CisgCistICAvLyA0NHg0NCBjc3MgaW1hZ2Ugd2hpY2ggaXMgYWJvdmUgdGhlIHBoeXNpY2Fs IHNpemUgdGhyZXNob2xkCistICAvLyBidXQgd2l0aCBpbiB0aGUgZGV2aWNlIHJhdGlvIHRocmVz aG9sZAorKyAgLy8gNDR4NDQgQ1NTIGljb24gKDEzMngxMzIgZGV2aWNlIHBpeGVscykgaXMgYmVs b3cgdGhlIHRocmVzaG9sZCBhbmQgZmlsdGVyZWQKKysgIC8vIGFmdGVyIHVuZG9pbmcgdGhlIGxh eW91dCB6b29tIChEU0YpLgorICAgRVhQRUNUX1RSVUUoZmlsdGVyLlNob3VsZEFwcGx5RmlsdGVy VG9JbWFnZSgKKyAgICAgICBJbWFnZUNsYXNzaWZpZXJIZWxwZXI6OkdldEltYWdlVHlwZUZvclRl c3RpbmcoCistICAgICAgICAgIHNjcmVlbl9pbmZvLCBnZng6OlJlY3RGKDEzMiwgMTMyKSwgZ2Z4 OjpSZWN0RigxMzIsIDEzMikpKSk7CisrICAgICAgICAgIGdmeDo6UmVjdEYoMTMyLCAxMzIpLCBn Zng6OlJlY3RGKDEzMiwgMTMyKSwgbGF5b3V0X3pvb20pKSk7CisgCistICAvLyA2MHg2MCBjc3Mg aW1hZ2UKKysgIC8vIDcweDcwIENTUyBpbWFnZSAoMjEweDIxMCBkZXZpY2UgcGl4ZWxzKSBpcyBh Ym92ZSB0aGUgdGhyZXNob2xkIGFuZCBub3QKKysgIC8vIGZpbHRlcmVkLgorICAgRVhQRUNUX0ZB TFNFKGZpbHRlci5TaG91bGRBcHBseUZpbHRlclRvSW1hZ2UoCisgICAgICAgSW1hZ2VDbGFzc2lm aWVySGVscGVyOjpHZXRJbWFnZVR5cGVGb3JUZXN0aW5nKAorLSAgICAgICAgICBzY3JlZW5faW5m bywgZ2Z4OjpSZWN0RigxODAsIDE4MCksIGdmeDo6UmVjdEYoMTgwLCAxODApKSkpOworKyAgICAg ICAgICBnZng6OlJlY3RGKDIxMCwgMjEwKSwgZ2Z4OjpSZWN0RigyMTAsIDIxMCksIGxheW91dF96 b29tKSkpOworIH0KKyAKKyBURVNUX0YoUGFpbnRBdXRvRGFya01vZGVUZXN0LCBTaG91bGRBcHBs eUZpbHRlclRvSW1hZ2VJcnJlc3BlY3RpdmVPZlBhZ2Vab29tKSB7CgpkaWZmIC0tZ2l0IGEvY2hy b21pdW0uY29uZiBiL2Nocm9taXVtLmNvbmYKaW5kZXggZjc3OTc1ZS4uNDZlMDAyZCAxMDA2NDQK LS0tIGEvY2hyb21pdW0uY29uZgorKysgYi9jaHJvbWl1bS5jb25mCkBAIC02MCw3ICs2MCw3IEBA IGZpCiAKICMgV2ViIERhcmsgbW9kZQogaWYgWyAiJFdFQl9BVVRPX0RBUktNT0RFX1dFQkNPTlRF TlQiID09ICJvbiIgXSA7IHRoZW4KLSAgIGRhcmt0eXBlPSJXZWJDb250ZW50c0ZvcmNlRGFyayxB dXRvRGFya01vZGVTa2lwSW1hZ2VzIgorICAgZGFya3R5cGU9IldlYkNvbnRlbnRzRm9yY2VEYXJr IgogICAgaWYgWyAteiAiJEVOQUJMRV9GRUFUVVJFUyIgXSA7IHRoZW4KICAgICAgICBFTkFCTEVf RkVBVFVSRVMrPSIkZGFya3R5cGUiCiAgICBlbHNlCgpkaWZmIC0tZ2l0IGEvY2hyb21pdW0uc3Bl YyBiL2Nocm9taXVtLnNwZWMKaW5kZXggODdhYzU2OS4uZmEzMTgyYSAxMDA2NDQKLS0tIGEvY2hy b21pdW0uc3BlYworKysgYi9jaHJvbWl1bS5zcGVjCkBAIC0yNzEsNyArMjcxLDcgQEAKICVlbmRp ZgogCiBOYW1lOgljaHJvbWl1bQotVmVyc2lvbjogMTUwLjAuNzg3MS4xMTQKK1ZlcnNpb246IDE1 MC4wLjc4NzEuMTI0CiBSZWxlYXNlOiAxJXs/ZGlzdH0KIFN1bW1hcnk6IEEgV2ViS2l0IChCbGlu aykgcG93ZXJlZCB3ZWIgYnJvd3NlciB0aGF0IEdvb2dsZSBkb2Vzbid0IHdhbnQgeW91IHRvIHVz ZQogVXJsOiBodHRwOi8vd3d3LmNocm9taXVtLm9yZy9Ib21lCkBAIC01MjcsNiArNTI3LDkgQEAg UGF0Y2g2MDE6IGNocm9taXVtLTE1MC1PbWl0LWFyLWZyb20taW5wdXRzLXdoZW4tcmVzb2x2ZWQt dmlhLVBBVEgucGF0Y2gKIFBhdGNoNjAyOiBjaHJvbWl1bS0xNTAtRml4LWdldF9wYXRoX2luZm8t b24tZW1wdHktYXItaW4tdW5idW5kbGUtdG9vbGNoYWluLnBhdGNoCiAjIERhcmttb2RlCiBQYXRj aDYwMzogY2hyb21pdW0tMTUwLUFkZC1BdXRvRGFya01vZGVTa2lwSW1hZ2VzLWZsYWctdG8tYnlw YXNzLWltYWdlLWRhcmstbW9kZS5wYXRjaAorUGF0Y2g2MDQ6IGNocm9taXVtLTE1MC1NYWtlLWRh cmstbW9kZS1hcHBseS1maWx0ZXItdG8taW1hZ2VzLWlycmVzcGVjdGl2ZS1vZi1sYXlvdXQtem9v bS5wYXRjaAorUGF0Y2g2MDU6IGNocm9taXVtLTE1MC1Vc2UtNjRweC1jc3MtcGl4ZWxzLWFic29s dXRlLXRocmVzaG9sZC1mb3ItZGFyay1pbWFnZS1jbGFzc2lmaWNhdGlvbi5wYXRjaAorUGF0Y2g2 MDY6IGNocm9taXVtLTE1MC1BZGQtc2l6ZS10aHJlc2hvbGQtZm9yLWNsYXNzaWZ5aW5nLVNWRy1k b2N1bWVudHMtZm9yLWF1dG8tZGFyay1tb2RlLnBhdGNoCiAKICMgVXNlIGNocm9taXVtLWxhdGVz dC5weSB0byBnZW5lcmF0ZSBjbGVhbiB0YXJiYWxsIGZyb20gcmVsZWFzZWQgYnVpbGQgdGFyYmFs bHMsIGZvdW5kIGhlcmU6CiAjIGh0dHA6Ly9idWlsZC5jaHJvbWl1bS5vcmcvYnVpbGRib3Qvb2Zm aWNpYWwvCkBAIC0xMjQ4LDYgKzEyNTEsOSBAQCBRdDYgVUkgZm9yIGNocm9taXVtLgogJXBhdGNo IC1QNjAyIC1wMSAtYiAuRml4LWdldF9wYXRoX2luZm8tb24tZW1wdHktYXItaW4tdW5idW5kbGUt dG9vbGNoYWluCiAjIERhcmttb2RlCiAlcGF0Y2ggLVA2MDMgLXAxIC1iIC5BZGQtQXV0b0RhcmtN b2RlU2tpcEltYWdlcy1mbGFnLXRvLWJ5cGFzcy1pbWFnZS1kYXJrLW1vZGUKKyVwYXRjaCAtUDYw NCAtcDEgLWIgLk1ha2UtZGFyay1tb2RlLWFwcGx5LWZpbHRlci10by1pbWFnZXMtaXJyZXNwZWN0 aXZlLW9mLWxheW91dC16b29tCislcGF0Y2ggLVA2MDUgLXAxIC1iIC5Vc2UtNjRweC1jc3MtcGl4 ZWxzLWFic29sdXRlLXRocmVzaG9sZC1mb3ItZGFyay1pbWFnZS1jbGFzc2lmaWNhdGlvbgorJXBh dGNoIC1QNjA2IC1wMSAtYiAuQWRkLXNpemUtdGhyZXNob2xkLWZvci1jbGFzc2lmeWluZy1TVkct ZG9jdW1lbnRzLWZvci1hdXRvLWRhcmstbW9kZQogCiAjIENoYW5nZSBzaGViYW5nIGluIGFsbCBy ZWxldmFudCBmaWxlcyBpbiB0aGlzIGRpcmVjdG9yeSBhbmQgYWxsIHN1YmRpcmVjdG9yaWVzCiAj IFNlZSBgbWFuIGZpbmRgIGZvciBob3cgdGhlIGAtZXhlYyBjb21tYW5kIHt9ICtgIHN5bnRheCB3 b3JrcwpAQCAtMTkyMiw2ICsxOTI4LDI1IEBAIGZpCiAlZW5kaWYKIAogJWNoYW5nZWxvZworKiBX ZWQgSnVsIDE1IDIwMjYgVGhhbiBOZ28gPHRoYW5AcmVkaGF0LmNvbT4gLSAxNTAuMC43ODcxLjEy NC0xCistIFVwZGF0ZSB0byAxNTAuMC43ODcxLjEyNAorICAqIENWRS0yMDI2LTE1NzY0OiBVc2Ug YWZ0ZXIgZnJlZSBpbiBPem9uZQorICAqIENWRS0yMDI2LTE1NzY1OiBVc2UgYWZ0ZXIgZnJlZSBp biBPem9uZQorICAqIENWRS0yMDI2LTE1NzY2OiBVbmluaXRpYWxpemVkIFVzZSBpbiBTa2lhCisg ICogQ1ZFLTIwMjYtMTU3Njc6IEhlYXAgYnVmZmVyIG92ZXJmbG93IGluIGxpYnl1dgorICAqIENW RS0yMDI2LTE1NzY4OiBJbnN1ZmZpY2llbnQgcG9saWN5IGVuZm9yY2VtZW50IGluIEhUTUwtaW4t Q2FudmFzCisgICogQ1ZFLTIwMjYtMTU3Njk6IEluc3VmZmljaWVudCB2YWxpZGF0aW9uIG9mIHVu dHJ1c3RlZCBpbnB1dCBpbiBMaW51eCBUb29sa2l0IFRoZW1pbmcKKyAgKiBDVkUtMjAyNi0xNTc3 MDogVW5pbml0aWFsaXplZCBVc2UgaW4gVjgKKyAgKiBDVkUtMjAyNi0xNTc3MTogSW5zdWZmaWNp ZW50IHZhbGlkYXRpb24gb2YgdW50cnVzdGVkIGlucHV0IGluIE1lZGlhCisgICogQ1ZFLTIwMjYt MTU3NzI6IFVzZSBhZnRlciBmcmVlIGluIEdQVQorICAqIENWRS0yMDI2LTE1NzczOiBVc2UgYWZ0 ZXIgZnJlZSBpbiBDb3JlCisgICogQ1ZFLTIwMjYtMTU3NzQ6IFVzZSBhZnRlciBmcmVlIGluIFNr aWEKKyAgKiBDVkUtMjAyNi0xNTc3NTogSW5zdWZmaWNpZW50IHBvbGljeSBlbmZvcmNlbWVudCBp biBWOAorICAqIENWRS0yMDI2LTE1Nzc2OiBUeXBlIENvbmZ1c2lvbiBpbiBWOAorICAqIENWRS0y MDI2LTE1Nzc3OiBVc2UgYWZ0ZXIgZnJlZSBpbiBVSQorICAqIENWRS0yMDI2LTE1Nzc4OiBJbnN1 ZmZpY2llbnQgdmFsaWRhdGlvbiBvZiB1bnRydXN0ZWQgaW5wdXQgaW4gTmF2aWdhdGlvbgorLSBC YWNrcG9ydCBwYXRjaGVzIHRvIGltcHJvdmUgYXV0byBkYXJrbW9kZQorCiAqIFRodSBKdWwgMDkg MjAyNiBUaGFuIE5nbyA8dGhhbkByZWRoYXQuY29tPiAtIDE1MC4wLjc4NzEuMTE0LTEKIC0gVXBk YXRlIHRvIDE1MC4wLjc4NzEuMTE0CiAgICogQ1ZFLTIwMjYtMTUxMTI6IFVzZSBhZnRlciBmcmVl IGluIE96b25lCgpkaWZmIC0tZ2l0IGEvc291cmNlcyBiL3NvdXJjZXMKaW5kZXggNTdhNjUxZi4u NmE5NmVmNCAxMDA2NDQKLS0tIGEvc291cmNlcworKysgYi9zb3VyY2VzCkBAIC0xLDIgKzEsMiBA QAogU0hBNTEyIChub2RlLXYyMi4yMi4wLXN0cmlwcGVkLnRhci5neikgPSBmMzJhOGE3MzA2M2Iz Yzc4Y2JhY2Y5NDFlMTFkZDUyOWViY2YyNjE4YjNiYTY2MTk2NjMxMmU0OWVlOTg3MGM0M2EzYWNm MjU2ZThkMzMxYTRiMGI2MjFiMTZhNTAxODEwYzAyYTNhZDc2M2M3NTg4NGNjMjUwYWRkY2E4ZTEw NgotU0hBNTEyIChjaHJvbWl1bS0xNTAuMC43ODcxLjExNC1jbGVhbi50YXIueHopID0gNjk1OTI4 NGExOThmNDY5MGU3OWMwNDdkMzYyMDlmMDgwOWEwYTFlY2VhM2ViMGZhMGQ5ZmI4YzU0YjNiZDc3 NTZlNTU2M2RlM2QwMTFjMjk4YzQ1YzM2MTlkZGYzNmQ0ZTE0MWY4MWNlYjdmNmZmMWEwODRkMmFm ZTgzYzViYjEKK1NIQTUxMiAoY2hyb21pdW0tMTUwLjAuNzg3MS4xMjQtY2xlYW4udGFyLnh6KSA9 IGY3ZDBjNTI5N2Y2NGJjMTMwOThmNmY3OTEwNTA1MGJmMzhiYjg0Yzc2NDE0M2Y1ZDNjNDI1Y2U3 MzIzNDE4OWNmZTNjMjAxYjJiOTMzY2QxYjc0MjNlYThjMTZjY2Q3YzBiNGMzMjk3OGYwM2Q4ZmUy NjEzMjY0NTNkNzdkZTVkCg==