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: Martin Stransky To: git-commits@fedoraproject.org Subject: [rpms/firefox] f44: Merge branch 'rawhide' of ssh://pkgs.fedoraproject.org/rpms/firefox into rawhide Date: Thu, 10 Sep 2026 09:33:53 GMT Message-ID: <178903283373.1.14677615018502065160.rpms-firefox-c2c5302bc41f@fedoraproject.org> List-ID: X-Git-Repo: rpms/firefox X-Git-Branch: f44 X-Git-Rev: c2c5302bc41fa4011b9ca8fe4e5b73f68376c9be QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvZmlyZWZveApCcmFu Y2ggOiBmNDQKQ29tbWl0IDogYzJjNTMwMmJjNDFmYTQwMTFiOWNhOGZlNGU1YjczZjY4Mzc2Yzli ZQpBdXRob3IgOiBNYXJ0aW4gU3RyYW5za3kgPHN0cmFuc2t5QHJlZGhhdC5jb20+CkRhdGUgICA6 IDIwMjYtMDktMTBUMTE6MzA6MzkrMDI6MDAKU3RhdHMgIDogKzE5Ny8tMjczIGluIDUgZmlsZShz KQpVUkwgICAgOiBodHRwczovL3NyYy5mZWRvcmFwcm9qZWN0Lm9yZy9ycG1zL2ZpcmVmb3gvYy9j MmM1MzAyYmM0MWZhNDAxMWI5Y2E4ZmU0ZTViNzNmNjgzNzZjOWJlP2JyYW5jaD1mNDQKCkxvZzoK TWVyZ2UgYnJhbmNoICdyYXdoaWRlJyBvZiBzc2g6Ly9wa2dzLmZlZG9yYXByb2plY3Qub3JnL3Jw bXMvZmlyZWZveCBpbnRvIHJhd2hpZGUKCi0tLQpkaWZmIC0tZ2l0IGEvRDMxODE5MS4xNzg3Mzg4 MTQxLmRpZmYgYi9EMzE4MTkxLjE3ODczODgxNDEuZGlmZgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggYzNhNDNlMy4uMDAwMDAwMAotLS0gYS9EMzE4MTkxLjE3ODczODgxNDEuZGlmZgor KysgL2Rldi9udWxsCkBAIC0xLDI3MyArMCwwIEBACi1kaWZmIC11cCBmaXJlZm94LTE1NS4wL2dm eC9nbC9ndGVzdC9tb3ouYnVpbGQuRDMxODE5MSBmaXJlZm94LTE1NS4wL2dmeC9nbC9ndGVzdC9t b3ouYnVpbGQKLS0tLSBmaXJlZm94LTE1NS4wL2dmeC9nbC9ndGVzdC9tb3ouYnVpbGQuRDMxODE5 MQkyMDI2LTA4LTI2IDIzOjExOjQxLjAwMDAwMDAwMCArMDIwMAotKysrIGZpcmVmb3gtMTU1LjAv Z2Z4L2dsL2d0ZXN0L21vei5idWlsZAkyMDI2LTA4LTI3IDExOjI0OjE5LjQwMjU4MDg1OSArMDIw MAotQEAgLTYsOCArNiwxNSBAQCBMT0NBTF9JTkNMVURFUyArPSBbCi0gICAgICIvZ2Z4L2dsIiwK LSBdCi0gCi0raW5jbHVkZSgiL2lwYy9jaHJvbWl1bS9jaHJvbWl1bS1jb25maWcubW96YnVpbGQi KQotKwotIFVOSUZJRURfU09VUkNFUyArPSBbCi0gICAgICJUZXN0Q29sb3JzcGFjZXMuY3BwIiwK LSBdCi0gCi0raWYgQ09ORklHWyJNT1pfV0lER0VUX1RPT0xLSVQiXSA9PSAiZ3RrIjoKLSsgICAg VU5JRklFRF9TT1VSQ0VTICs9IFsKLSsgICAgICAgICJUZXN0TW96RnJhbWVidWZmZXIuY3BwIiwK LSsgICAgXQotKwotIEZJTkFMX0xJQlJBUlkgPSAieHVsLWd0ZXN0IgotZGlmZiAtdXAgZmlyZWZv eC0xNTUuMC9nZngvZ2wvZ3Rlc3QvVGVzdE1vekZyYW1lYnVmZmVyLmNwcC5EMzE4MTkxIGZpcmVm b3gtMTU1LjAvZ2Z4L2dsL2d0ZXN0L1Rlc3RNb3pGcmFtZWJ1ZmZlci5jcHAKLS0tLSBmaXJlZm94 LTE1NS4wL2dmeC9nbC9ndGVzdC9UZXN0TW96RnJhbWVidWZmZXIuY3BwLkQzMTgxOTEJMjAyNi0w OC0yNyAxMToyNDoxOS40MDI3MTg5MDcgKzAyMDAKLSsrKyBmaXJlZm94LTE1NS4wL2dmeC9nbC9n dGVzdC9UZXN0TW96RnJhbWVidWZmZXIuY3BwCTIwMjYtMDgtMjcgMTE6MjQ6MTkuNDAyNzE4OTA3 ICswMjAwCi1AQCAtMCwwICsxLDgyIEBACi0rLyogVGhpcyBTb3VyY2UgQ29kZSBGb3JtIGlzIHN1 YmplY3QgdG8gdGhlIHRlcm1zIG9mIHRoZSBNb3ppbGxhIFB1YmxpYwotKyAqIExpY2Vuc2UsIHYu IDIuMC4gSWYgYSBjb3B5IG9mIHRoZSBNUEwgd2FzIG5vdCBkaXN0cmlidXRlZCB3aXRoIHRoaXMK LSsgKiBmaWxlLCBZb3UgY2FuIG9idGFpbiBvbmUgYXQgaHR0cDovL21vemlsbGEub3JnL01QTC8y LjAvLiAqLwotKwotKyNpbmNsdWRlICJHTENvbnRleHQuaCIKLSsjaW5jbHVkZSAiR0xDb250ZXh0 UHJvdmlkZXIuaCIKLSsjaW5jbHVkZSAiTW96RnJhbWVidWZmZXIuaCIKLSsjaW5jbHVkZSAiU2Nv cGVkR0xIZWxwZXJzLmgiCi0rI2luY2x1ZGUgImdmeFBsYXRmb3JtLmgiCi0rI2luY2x1ZGUgImd0 ZXN0L2d0ZXN0LmgiCi0rCi0rbmFtZXNwYWNlIG1vemlsbGE6OmdsIHsKLSsKLStzdGF0aWMgYWxy ZWFkeV9BZGRSZWZlZDxHTENvbnRleHQ+IENyZWF0ZVRlc3RDb250ZXh0KAotKyAgICBuc0FDU3Ry aW5nKiBjb25zdCBhRmFpbHVyZUlkKSB7Ci0rICByZXR1cm4gR0xDb250ZXh0UHJvdmlkZXI6OkNy ZWF0ZUhlYWRsZXNzKHt9LCBhRmFpbHVyZUlkKTsKLSt9Ci0rCi0rVEVTVChNb3pGcmFtZWJ1ZmZl ciwgT3duZWRDb2xvckJhY2tpbmdJc0RlbGV0ZWRXaXRoRnJhbWVidWZmZXIpCi0rewotKyAgZ2Z4 UGxhdGZvcm06OkdldFBsYXRmb3JtKCk7Ci0rCi0rICBuc0NTdHJpbmcgZmFpbHVyZUlkOwotKyAg UmVmUHRyPEdMQ29udGV4dD4gZ2wgPSBDcmVhdGVUZXN0Q29udGV4dCgmZmFpbHVyZUlkKTsKLSsg IEFTU0VSVF9UUlVFKGdsKQotKyAgPDwgZmFpbHVyZUlkLmdldCgpOwotKyAgQVNTRVJUX1RSVUUo Z2wtPk1ha2VDdXJyZW50KCkpOwotKwotKyAgY29uc3QgZ2Z4OjpJbnRTaXplIHNpemUoMTYsIDE2 KTsKLSsgIEdMdWludCB0ZXh0dXJlID0gZ2wtPkNyZWF0ZVRleHR1cmUoKTsKLSsgIHsKLSsgICAg Y29uc3QgU2NvcGVkQmluZFRleHR1cmUgYmluZFRleHR1cmUoZ2wsIHRleHR1cmUpOwotKyAgICBn bC0+VGV4UGFyYW1zX1NldENsYW1wTm9NaXBzKExPQ0FMX0dMX1RFWFRVUkVfMkQpOwotKyAgICBn bC0+ZlRleEltYWdlMkQoTE9DQUxfR0xfVEVYVFVSRV8yRCwgMCwgTE9DQUxfR0xfUkdCQSwgc2l6 ZS53aWR0aCwKLSsgICAgICAgICAgICAgICAgICAgIHNpemUuaGVpZ2h0LCAwLCBMT0NBTF9HTF9S R0JBLCBMT0NBTF9HTF9VTlNJR05FRF9CWVRFLAotKyAgICAgICAgICAgICAgICAgICAgbnVsbHB0 cik7Ci0rICB9Ci0rICBBU1NFUlRfVFJVRShnbC0+ZklzVGV4dHVyZSh0ZXh0dXJlKSk7Ci0rCi0r ICB7Ci0rICAgIGF1dG8gZnJhbWVidWZmZXIgPSBNb3pGcmFtZWJ1ZmZlcjo6Q3JlYXRlRm9yQmFj a2luZygKLSsgICAgICAgIGdsLCBzaXplLCAwLCBmYWxzZSwgZmFsc2UsIExPQ0FMX0dMX1RFWFRV UkVfMkQsIHRleHR1cmUpOwotKyAgICBBU1NFUlRfVFJVRShmcmFtZWJ1ZmZlcik7Ci0rICB9Ci0r Ci0rICBFWFBFQ1RfRkFMU0UoZ2wtPmZJc1RleHR1cmUodGV4dHVyZSkpOwotK30KLSsKLStURVNU KE1vekZyYW1lYnVmZmVyLCBCb3Jyb3dlZENvbG9yQmFja2luZ1N1cnZpdmVzRnJhbWVidWZmZXJE ZXN0cnVjdGlvbikKLSt7Ci0rICBnZnhQbGF0Zm9ybTo6R2V0UGxhdGZvcm0oKTsKLSsKLSsgIG5z Q1N0cmluZyBmYWlsdXJlSWQ7Ci0rICBSZWZQdHI8R0xDb250ZXh0PiBnbCA9IENyZWF0ZVRlc3RD b250ZXh0KCZmYWlsdXJlSWQpOwotKyAgQVNTRVJUX1RSVUUoZ2wpCi0rICA8PCBmYWlsdXJlSWQu Z2V0KCk7Ci0rICBBU1NFUlRfVFJVRShnbC0+TWFrZUN1cnJlbnQoKSk7Ci0rCi0rICBjb25zdCBn Zng6OkludFNpemUgc2l6ZSgxNiwgMTYpOwotKyAgR0x1aW50IHRleHR1cmUgPSBnbC0+Q3JlYXRl VGV4dHVyZSgpOwotKyAgewotKyAgICBjb25zdCBTY29wZWRCaW5kVGV4dHVyZSBiaW5kVGV4dHVy ZShnbCwgdGV4dHVyZSk7Ci0rICAgIGdsLT5UZXhQYXJhbXNfU2V0Q2xhbXBOb01pcHMoTE9DQUxf R0xfVEVYVFVSRV8yRCk7Ci0rICAgIGdsLT5mVGV4SW1hZ2UyRChMT0NBTF9HTF9URVhUVVJFXzJE LCAwLCBMT0NBTF9HTF9SR0JBLCBzaXplLndpZHRoLAotKyAgICAgICAgICAgICAgICAgICAgc2l6 ZS5oZWlnaHQsIDAsIExPQ0FMX0dMX1JHQkEsIExPQ0FMX0dMX1VOU0lHTkVEX0JZVEUsCi0rICAg ICAgICAgICAgICAgICAgICBudWxscHRyKTsKLSsgIH0KLSsgIEFTU0VSVF9UUlVFKGdsLT5mSXNU ZXh0dXJlKHRleHR1cmUpKTsKLSsKLSsgIHsKLSsgICAgYXV0byBmcmFtZWJ1ZmZlciA9IE1vekZy YW1lYnVmZmVyOjpDcmVhdGVGb3JCYWNraW5nKAotKyAgICAgICAgZ2wsIHNpemUsIDAsIGZhbHNl LCBmYWxzZSwgTE9DQUxfR0xfVEVYVFVSRV8yRCwgdGV4dHVyZSwKLSsgICAgICAgIE1vekZyYW1l YnVmZmVyOjpDb2xvckJhY2tpbmdPd25lcnNoaXA6OkJvcnJvd2VkKTsKLSsgICAgQVNTRVJUX1RS VUUoZnJhbWVidWZmZXIpOwotKyAgICBFWFBFQ1RfRVEoZnJhbWVidWZmZXItPkNvbG9yVGV4KCks IHRleHR1cmUpOwotKyAgfQotKwotKyAgRVhQRUNUX1RSVUUoZ2wtPmZJc1RleHR1cmUodGV4dHVy ZSkpOwotKyAgZ2wtPkRlbGV0ZVRleHR1cmUodGV4dHVyZSk7Ci0rfQotKwotK30gIC8vIG5hbWVz cGFjZSBtb3ppbGxhOjpnbAotZGlmZiAtdXAgZmlyZWZveC0xNTUuMC9nZngvZ2wvTW96RnJhbWVi dWZmZXIuY3BwLkQzMTgxOTEgZmlyZWZveC0xNTUuMC9nZngvZ2wvTW96RnJhbWVidWZmZXIuY3Bw Ci0tLS0gZmlyZWZveC0xNTUuMC9nZngvZ2wvTW96RnJhbWVidWZmZXIuY3BwLkQzMTgxOTEJMjAy Ni0wOC0yNiAyMzoxMTo0MC4wMDAwMDAwMDAgKzAyMDAKLSsrKyBmaXJlZm94LTE1NS4wL2dmeC9n bC9Nb3pGcmFtZWJ1ZmZlci5jcHAJMjAyNi0wOC0yNyAxMToyOTowOC44OTEwMDU1MTAgKzAyMDAK LUBAIC02OSwzNyArNjksNDEgQEAgVW5pcXVlUHRyPE1vekZyYW1lYnVmZmVyPiBNb3pGcmFtZWJ1 ZmZlcgotICAgICAgICAgICAgICAgICAgICAgKGRlcHRoIHx8IHN0ZW5jaWwpID8gRGVwdGhBbmRT dGVuY2lsQnVmZmVyOjpDcmVhdGUoCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgZ2wsIHNpemUsIHNhbXBsZXMsIGRlcHRoLCBzdGVuY2lsKQotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogbnVsbHB0ciwKLS0gICAgICAgICAgICAg ICAgICAgIGNvbG9yVGFyZ2V0LCBjb2xvck5hbWUpOwotKyAgICAgICAgICAgICAgICAgICAgY29s b3JUYXJnZXQsIGNvbG9yTmFtZSwKLSsgICAgICAgICAgICAgICAgICAgIENvbG9yQmFja2luZ093 bmVyc2hpcDo6T3duZWQpOwotIH0KLSAKLSBVbmlxdWVQdHI8TW96RnJhbWVidWZmZXI+IE1vekZy YW1lYnVmZmVyOjpDcmVhdGVGb3JCYWNraW5nKAotICAgICBHTENvbnRleHQqIGNvbnN0IGdsLCBj b25zdCBnZng6OkludFNpemUmIHNpemUsIGNvbnN0IHVpbnQzMl90IHNhbXBsZXMsCi0gICAgIGJv b2wgZGVwdGgsIGJvb2wgc3RlbmNpbCwgY29uc3QgR0xlbnVtIGNvbG9yVGFyZ2V0LAotLSAgICBj b25zdCBHTHVpbnQgY29sb3JOYW1lKSB7Ci0rICAgIGNvbnN0IEdMdWludCBjb2xvck5hbWUsCi0r ICAgIENvbG9yQmFja2luZ093bmVyc2hpcCBjb2xvckJhY2tpbmdPd25lcnNoaXApIHsKLSAgIHJl dHVybiBDcmVhdGVJbXBsKGdsLCBzaXplLCBzYW1wbGVzLAotICAgICAgICAgICAgICAgICAgICAg KGRlcHRoIHx8IHN0ZW5jaWwpID8gRGVwdGhBbmRTdGVuY2lsQnVmZmVyOjpDcmVhdGUoCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2wsIHNpemUsIHNhbXBs ZXMsIGRlcHRoLCBzdGVuY2lsKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDogbnVsbHB0ciwKLS0gICAgICAgICAgICAgICAgICAgIGNvbG9yVGFyZ2V0LCBjb2xvck5h bWUpOwotKyAgICAgICAgICAgICAgICAgICAgY29sb3JUYXJnZXQsIGNvbG9yTmFtZSwgY29sb3JC YWNraW5nT3duZXJzaGlwKTsKLSB9Ci0gCi0gLyogc3RhdGljICovIFVuaXF1ZVB0cjxNb3pGcmFt ZWJ1ZmZlcj4KLSBNb3pGcmFtZWJ1ZmZlcjo6Q3JlYXRlRm9yQmFja2luZ1dpdGhTaGFyZWREZXB0 aEFuZFN0ZW5jaWwoCi0gICAgIGNvbnN0IGdmeDo6SW50U2l6ZSYgc2l6ZSwgY29uc3QgdWludDMy X3Qgc2FtcGxlcywgR0xlbnVtIGNvbG9yVGFyZ2V0LAotICAgICBHTHVpbnQgY29sb3JOYW1lLAot LSAgICBjb25zdCBSZWZQdHI8RGVwdGhBbmRTdGVuY2lsQnVmZmVyPiYgZGVwdGhBbmRTdGVuY2ls QnVmZmVyKSB7Ci0rICAgIGNvbnN0IFJlZlB0cjxEZXB0aEFuZFN0ZW5jaWxCdWZmZXI+JiBkZXB0 aEFuZFN0ZW5jaWxCdWZmZXIsCi0rICAgIENvbG9yQmFja2luZ093bmVyc2hpcCBjb2xvckJhY2tp bmdPd25lcnNoaXApIHsKLSAgIGF1dG8gZ2wgPSBkZXB0aEFuZFN0ZW5jaWxCdWZmZXItPmdsKCk7 Ci0gICBpZiAoIWdsIHx8ICFnbC0+TWFrZUN1cnJlbnQoKSkgewotICAgICByZXR1cm4gbnVsbHB0 cjsKLSAgIH0KLSAgIHJldHVybiBDcmVhdGVJbXBsKGdsLCBzaXplLCBzYW1wbGVzLCBkZXB0aEFu ZFN0ZW5jaWxCdWZmZXIsIGNvbG9yVGFyZ2V0LAotLSAgICAgICAgICAgICAgICAgICAgY29sb3JO YW1lKTsKLSsgICAgICAgICAgICAgICAgICAgIGNvbG9yTmFtZSwgY29sb3JCYWNraW5nT3duZXJz aGlwKTsKLSB9Ci0gCi0gLyogc3RhdGljICovIFVuaXF1ZVB0cjxNb3pGcmFtZWJ1ZmZlcj4gTW96 RnJhbWVidWZmZXI6OkNyZWF0ZUltcGwoCi0gICAgIEdMQ29udGV4dCogY29uc3QgZ2wsIGNvbnN0 IGdmeDo6SW50U2l6ZSYgc2l6ZSwgY29uc3QgdWludDMyX3Qgc2FtcGxlcywKLSAgICAgY29uc3Qg UmVmUHRyPERlcHRoQW5kU3RlbmNpbEJ1ZmZlcj4mIGRlcHRoQW5kU3RlbmNpbEJ1ZmZlciwKLS0g ICAgY29uc3QgR0xlbnVtIGNvbG9yVGFyZ2V0LCBjb25zdCBHTHVpbnQgY29sb3JOYW1lKSB7Ci0r ICAgIGNvbnN0IEdMZW51bSBjb2xvclRhcmdldCwgY29uc3QgR0x1aW50IGNvbG9yTmFtZSwKLSsg ICAgQ29sb3JCYWNraW5nT3duZXJzaGlwIGNvbG9yQmFja2luZ093bmVyc2hpcCkgewotICAgR0x1 aW50IGZiID0gZ2wtPkNyZWF0ZUZyYW1lYnVmZmVyKCk7Ci0gICBjb25zdCBTY29wZWRCaW5kRnJh bWVidWZmZXIgYmluZEZCKGdsLCBmYik7Ci0gCi1AQCAtMTM3LDcgKzE0MSw4IEBAIE1vekZyYW1l YnVmZmVyOjpDcmVhdGVGb3JCYWNraW5nV2l0aFNoYXIKLSAgIH0KLSAKLSAgIHJldHVybiBVbmlx dWVQdHI8TW96RnJhbWVidWZmZXI+KG5ldyBNb3pGcmFtZWJ1ZmZlcigKLS0gICAgICBnbCwgc2l6 ZSwgZmIsIHNhbXBsZXMsIGRlcHRoQW5kU3RlbmNpbEJ1ZmZlciwgY29sb3JUYXJnZXQsIGNvbG9y TmFtZSkpOwotKyAgICAgIGdsLCBzaXplLCBmYiwgc2FtcGxlcywgZGVwdGhBbmRTdGVuY2lsQnVm ZmVyLCBjb2xvclRhcmdldCwgY29sb3JOYW1lLAotKyAgICAgIGNvbG9yQmFja2luZ093bmVyc2hp cCkpOwotIH0KLSAKLSAvKiBzdGF0aWMgKi8gUmVmUHRyPERlcHRoQW5kU3RlbmNpbEJ1ZmZlcj4g RGVwdGhBbmRTdGVuY2lsQnVmZmVyOjpDcmVhdGUoCi1AQCAtMTg3LDE0ICsxOTIsMTYgQEAgTW96 RnJhbWVidWZmZXI6OkNyZWF0ZUZvckJhY2tpbmdXaXRoU2hhcgotIE1vekZyYW1lYnVmZmVyOjpN b3pGcmFtZWJ1ZmZlcigKLSAgICAgR0xDb250ZXh0KiBjb25zdCBnbCwgY29uc3QgZ2Z4OjpJbnRT aXplJiBzaXplLCBHTHVpbnQgZmIsCi0gICAgIGNvbnN0IHVpbnQzMl90IHNhbXBsZXMsIFJlZlB0 cjxEZXB0aEFuZFN0ZW5jaWxCdWZmZXI+IGRlcHRoQW5kU3RlbmNpbEJ1ZmZlciwKLS0gICAgY29u c3QgR0xlbnVtIGNvbG9yVGFyZ2V0LCBjb25zdCBHTHVpbnQgY29sb3JOYW1lKQotKyAgICBjb25z dCBHTGVudW0gY29sb3JUYXJnZXQsIGNvbnN0IEdMdWludCBjb2xvck5hbWUsCi0rICAgIENvbG9y QmFja2luZ093bmVyc2hpcCBjb2xvckJhY2tpbmdPd25lcnNoaXApCi0gICAgIDogbVdlYWtHTChn bCksCi0gICAgICAgbVNpemUoc2l6ZSksCi0gICAgICAgbVNhbXBsZXMoc2FtcGxlcyksCi0gICAg ICAgbUZCKGZiKSwKLSAgICAgICBtQ29sb3JUYXJnZXQoY29sb3JUYXJnZXQpLAotICAgICAgIG1E ZXB0aEFuZFN0ZW5jaWxCdWZmZXIoc3RkOjptb3ZlKGRlcHRoQW5kU3RlbmNpbEJ1ZmZlcikpLAot LSAgICAgIG1Db2xvck5hbWUoY29sb3JOYW1lKSB7Ci0rICAgICAgbUNvbG9yTmFtZShjb2xvck5h bWUpLAotKyAgICAgIG1Db2xvckJhY2tpbmdPd25lcnNoaXAoY29sb3JCYWNraW5nT3duZXJzaGlw KSB7Ci0gICBNT1pfQVNTRVJUKG1Db2xvclRhcmdldCk7Ci0gICBNT1pfQVNTRVJUKG1Db2xvck5h bWUpOwotIH0KLUBAIC0yMDcsNyArMjE0LDkgQEAgTW96RnJhbWVidWZmZXI6On5Nb3pGcmFtZWJ1 ZmZlcigpIHsKLSAKLSAgIGdsLT5EZWxldGVGcmFtZWJ1ZmZlcihtRkIpOwotIAotLSAgRGVsZXRl QnlUYXJnZXQoZ2wsIG1Db2xvclRhcmdldCwgbUNvbG9yTmFtZSk7Ci0rICBpZiAobUNvbG9yQmFj a2luZ093bmVyc2hpcCA9PSBDb2xvckJhY2tpbmdPd25lcnNoaXA6Ok93bmVkKSB7Ci0rICAgIERl bGV0ZUJ5VGFyZ2V0KGdsLCBtQ29sb3JUYXJnZXQsIG1Db2xvck5hbWUpOwotKyAgfQotIH0KLSAK LSBib29sIE1vekZyYW1lYnVmZmVyOjpIYXNEZXB0aCgpIGNvbnN0IHsKLWRpZmYgLXVwIGZpcmVm b3gtMTU1LjAvZ2Z4L2dsL01vekZyYW1lYnVmZmVyLmguRDMxODE5MSBmaXJlZm94LTE1NS4wL2dm eC9nbC9Nb3pGcmFtZWJ1ZmZlci5oCi0tLS0gZmlyZWZveC0xNTUuMC9nZngvZ2wvTW96RnJhbWVi dWZmZXIuaC5EMzE4MTkxCTIwMjYtMDgtMjYgMjM6MTE6NDEuMDAwMDAwMDAwICswMjAwCi0rKysg ZmlyZWZveC0xNTUuMC9nZngvZ2wvTW96RnJhbWVidWZmZXIuaAkyMDI2LTA4LTI3IDExOjI2OjUx LjEyNDU0NjE2NiArMDIwMAotQEAgLTQzLDcgKzQzLDEzIEBAIGNsYXNzIERlcHRoQW5kU3RlbmNp bEJ1ZmZlciBmaW5hbCA6IHB1YmwKLSB9OwotIAotIGNsYXNzIE1vekZyYW1lYnVmZmVyIGZpbmFs IHsKLSsgcHVibGljOgotKyAgLy8gQSBib3Jyb3dlZCBjb2xvciBiYWNraW5nIG11c3Qgb3V0bGl2 ZSB0aGUgTW96RnJhbWVidWZmZXIgdGhhdCB3cmFwcyBpdC4KLSsgIGVudW0gY2xhc3MgQ29sb3JC YWNraW5nT3duZXJzaGlwIHsgT3duZWQsIEJvcnJvd2VkIH07Ci0rCi0rIHByaXZhdGU6Ci0gICBj b25zdCBXZWFrUHRyPEdMQ29udGV4dD4gbVdlYWtHTDsKLSsgIGNvbnN0IENvbG9yQmFja2luZ093 bmVyc2hpcCBtQ29sb3JCYWNraW5nT3duZXJzaGlwOwotIAotICBwdWJsaWM6Ci0gICBjb25zdCBn Zng6OkludFNpemUgbVNpemU7Ci1AQCAtNjYsNyArNzIsOSBAQCBjbGFzcyBNb3pGcmFtZWJ1ZmZl ciBmaW5hbCB7Ci0gICAvLyBBc3N1bWVzIHRoYXQgZ2wgaXMgdGhlIGN1cnJlbnQgY29udGV4dC4K LSAgIHN0YXRpYyBVbmlxdWVQdHI8TW96RnJhbWVidWZmZXI+IENyZWF0ZUZvckJhY2tpbmcoCi0g ICAgICAgR0xDb250ZXh0KiBnbCwgY29uc3QgZ2Z4OjpJbnRTaXplJiBzaXplLCB1aW50MzJfdCBz YW1wbGVzLCBib29sIGRlcHRoLAotLSAgICAgIGJvb2wgc3RlbmNpbCwgR0xlbnVtIGNvbG9yVGFy Z2V0LCBHTHVpbnQgY29sb3JOYW1lKTsKLSsgICAgICBib29sIHN0ZW5jaWwsIEdMZW51bSBjb2xv clRhcmdldCwgR0x1aW50IGNvbG9yTmFtZSwKLSsgICAgICBDb2xvckJhY2tpbmdPd25lcnNoaXAg Y29sb3JCYWNraW5nT3duZXJzaGlwID0KLSsgICAgICBDb2xvckJhY2tpbmdPd25lcnNoaXA6Ok93 bmVkKTsKLSAKLSAgIC8vIENyZWF0ZSBhIG5ldyBmcmFtZWJ1ZmZlciBiYWNrZWQgYnkgYW4gZXhp c3RpbmcgdGV4dHVyZSBvciBidWZmZXIuCi0gICAvLyBVc2UgdGhlIHNhbWUgR0xDb250ZXh0LCBz aXplLCBhbmQgc2FtcGxlcyBhcyBmcmFtZWJ1ZmZlclRvU2hhcmVXaXRoLgotQEAgLTc2LDE5ICs4 NCwyMyBAQCBjbGFzcyBNb3pGcmFtZWJ1ZmZlciBmaW5hbCB7Ci0gICBzdGF0aWMgVW5pcXVlUHRy PE1vekZyYW1lYnVmZmVyPiBDcmVhdGVGb3JCYWNraW5nV2l0aFNoYXJlZERlcHRoQW5kU3RlbmNp bCgKLSAgICAgICBjb25zdCBnZng6OkludFNpemUmIHNpemUsIGNvbnN0IHVpbnQzMl90IHNhbXBs ZXMsIEdMZW51bSBjb2xvclRhcmdldCwKLSAgICAgICBHTHVpbnQgY29sb3JOYW1lLAotLSAgICAg IGNvbnN0IFJlZlB0cjxEZXB0aEFuZFN0ZW5jaWxCdWZmZXI+JiBkZXB0aEFuZFN0ZW5jaWxCdWZm ZXIpOwotKyAgICAgIGNvbnN0IFJlZlB0cjxEZXB0aEFuZFN0ZW5jaWxCdWZmZXI+JiBkZXB0aEFu ZFN0ZW5jaWxCdWZmZXIsCi0rICAgICAgQ29sb3JCYWNraW5nT3duZXJzaGlwIGNvbG9yQmFja2lu Z093bmVyc2hpcCA9Ci0rICAgICAgICAgIENvbG9yQmFja2luZ093bmVyc2hpcDo6T3duZWQpOwot IAotICBwcml2YXRlOgotICAgTW96RnJhbWVidWZmZXIoR0xDb250ZXh0KiBnbCwgY29uc3QgZ2Z4 OjpJbnRTaXplJiBzaXplLCBHTHVpbnQgZmIsCi0gICAgICAgICAgICAgICAgICB1aW50MzJfdCBz YW1wbGVzLAotICAgICAgICAgICAgICAgICAgUmVmUHRyPERlcHRoQW5kU3RlbmNpbEJ1ZmZlcj4g ZGVwdGhBbmRTdGVuY2lsQnVmZmVyLAotLSAgICAgICAgICAgICAgICAgR0xlbnVtIGNvbG9yVGFy Z2V0LCBHTHVpbnQgY29sb3JOYW1lKTsKLSsgICAgICAgICAgICAgICAgIEdMZW51bSBjb2xvclRh cmdldCwgR0x1aW50IGNvbG9yTmFtZSwKLSsgICAgICAgICAgICAgICAgIENvbG9yQmFja2luZ093 bmVyc2hpcCBjb2xvckJhY2tpbmdPd25lcnNoaXApOwotIAotICAgLy8gZ2wgbXVzdCBiZSB0aGUg Y3VycmVudCBjb250ZXh0IHdoZW4gdGhpcyBpcyBjYWxsZWQuCi0gICBzdGF0aWMgVW5pcXVlUHRy PE1vekZyYW1lYnVmZmVyPiBDcmVhdGVJbXBsKAotICAgICAgIEdMQ29udGV4dCogY29uc3QgZ2ws IGNvbnN0IGdmeDo6SW50U2l6ZSYgc2l6ZSwgY29uc3QgdWludDMyX3Qgc2FtcGxlcywKLSAgICAg ICBjb25zdCBSZWZQdHI8RGVwdGhBbmRTdGVuY2lsQnVmZmVyPiYgZGVwdGhBbmRTdGVuY2lsQnVm ZmVyLAotLSAgICAgIGNvbnN0IEdMZW51bSBjb2xvclRhcmdldCwgY29uc3QgR0x1aW50IGNvbG9y TmFtZSk7Ci0rICAgICAgY29uc3QgR0xlbnVtIGNvbG9yVGFyZ2V0LCBjb25zdCBHTHVpbnQgY29s b3JOYW1lLAotKyAgICAgIENvbG9yQmFja2luZ093bmVyc2hpcCBjb2xvckJhY2tpbmdPd25lcnNo aXApOwotIAotICBwdWJsaWM6Ci0gICB+TW96RnJhbWVidWZmZXIoKTsKLWRpZmYgLXVwIGZpcmVm b3gtMTU1LjAvZ2Z4L2xheWVycy9TdXJmYWNlUG9vbFdheWxhbmQuY3BwLkQzMTgxOTEgZmlyZWZv eC0xNTUuMC9nZngvbGF5ZXJzL1N1cmZhY2VQb29sV2F5bGFuZC5jcHAKLS0tLSBmaXJlZm94LTE1 NS4wL2dmeC9sYXllcnMvU3VyZmFjZVBvb2xXYXlsYW5kLmNwcC5EMzE4MTkxCTIwMjYtMDgtMjYg MjM6MTE6NDAuMDAwMDAwMDAwICswMjAwCi0rKysgZmlyZWZveC0xNTUuMC9nZngvbGF5ZXJzL1N1 cmZhY2VQb29sV2F5bGFuZC5jcHAJMjAyNi0wOC0yNyAxMTozMDowMi4xMTIwNzI2MjQgKzAyMDAK LUBAIC0yOTYsNyArMjk2LDggQEAgVW5pcXVlUHRyPE1vekZyYW1lYnVmZmVyPiBTdXJmYWNlUG9v bFdheQotICAgICAvLyBmcmFtZWJ1ZmZlciB0aGF0IHNoYXJlcyBpdC4KLSAgICAgaWYgKGF1dG8g YnVmZmVyID0gR2V0RGVwdGhCdWZmZXJGb3JTaGFyaW5nKGFQcm9vZk9mTG9jaywgYUdMLCBhU2l6 ZSkpIHsKLSAgICAgICByZXR1cm4gTW96RnJhbWVidWZmZXI6OkNyZWF0ZUZvckJhY2tpbmdXaXRo U2hhcmVkRGVwdGhBbmRTdGVuY2lsKAotLSAgICAgICAgICBhU2l6ZSwgMCwgTE9DQUxfR0xfVEVY VFVSRV8yRCwgYVRleHR1cmUsIGJ1ZmZlcik7Ci0rICAgICAgICAgIGFTaXplLCAwLCBMT0NBTF9H TF9URVhUVVJFXzJELCBhVGV4dHVyZSwgYnVmZmVyLAotKyAgICAgICAgICBNb3pGcmFtZWJ1ZmZl cjo6Q29sb3JCYWNraW5nT3duZXJzaGlwOjpCb3Jyb3dlZCk7Ci0gICAgIH0KLSAgIH0KLSAKLUBA IC0zMDUsNyArMzA2LDcgQEAgVW5pcXVlUHRyPE1vekZyYW1lYnVmZmVyPiBTdXJmYWNlUG9vbFdh eQotICAgLy8gbURlcHRoQnVmZmVycy4KLSAgIFVuaXF1ZVB0cjxNb3pGcmFtZWJ1ZmZlcj4gZmIg PSBNb3pGcmFtZWJ1ZmZlcjo6Q3JlYXRlRm9yQmFja2luZygKLSAgICAgICBhR0wsIGFTaXplLCAw LCBhTmVlZHNEZXB0aEJ1ZmZlciwgYU5lZWRzRGVwdGhCdWZmZXIsIExPQ0FMX0dMX1RFWFRVUkVf MkQsCi0tICAgICAgYVRleHR1cmUpOwotKyAgICAgIGFUZXh0dXJlLCBNb3pGcmFtZWJ1ZmZlcjo6 Q29sb3JCYWNraW5nT3duZXJzaGlwOjpCb3Jyb3dlZCk7Ci0gICBpZiAoZmIgJiYgZmItPkdldERl cHRoQW5kU3RlbmNpbEJ1ZmZlcigpKSB7Ci0gICAgIG1EZXB0aEJ1ZmZlcnMuQXBwZW5kRWxlbWVu dCgKLSAgICAgICAgIERlcHRoQnVmZmVyRW50cnl7YUdMLCBhU2l6ZSwgZmItPkdldERlcHRoQW5k U3RlbmNpbEJ1ZmZlcigpLmdldCgpfSk7CgpkaWZmIC0tZ2l0IGEvRDMyNDg3MC4xNzg5MTE2OTYz LmRpZmYgYi9EMzI0ODcwLjE3ODkxMTY5NjMuZGlmZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCAwMDAwMDAwLi4xMDQ3NWI1Ci0tLSAvZGV2L251bGwKKysrIGIvRDMyNDg3MC4xNzg5MTE2OTYz LmRpZmYKQEAgLTAsMCArMSw4NCBAQAorZGlmZiAtLWdpdCBhL3dpZGdldC9ndGsvbnNXaW5kb3dX YXlsYW5kLmggYi93aWRnZXQvZ3RrL25zV2luZG93V2F5bGFuZC5oCistLS0gYS93aWRnZXQvZ3Rr L25zV2luZG93V2F5bGFuZC5oCisrKysgYi93aWRnZXQvZ3RrL25zV2luZG93V2F5bGFuZC5oCitA QCAtMjM0LDExICsyMzQsMTEgQEAKKyAKKyAgIFJlZlB0cjxtb3ppbGxhOjpXYXlsYW5kVnN5bmNT b3VyY2U+IG1XYXlsYW5kVnN5bmNTb3VyY2U7CisgICBSZWZQdHI8bW96aWxsYTo6VnN5bmNEaXNw YXRjaGVyPiBtV2F5bGFuZFZzeW5jRGlzcGF0Y2hlcjsKKyAgIExheW91dERldmljZUludFBvaW50 IG1OYXRpdmVMb2NrZWRQb2ludDsKKyAgIHhkZ190b3BsZXZlbF9zZXNzaW9uX3YxKiBtU2Vzc2lv blJlc3RvcmVUb2tlbiA9IG51bGxwdHI7CistICBuc1N0cmluZyBtU2Vzc2lvbklEOworKyAgbnNT dHJpbmcgbVdvcmtzcGFjZUlEOworIAorICAgZ3Vsb25nIG1YZGdUb3BsZXZlbFJlYWxpemVkSUQg PSAwOworIAorICAgendwX2xvY2tlZF9wb2ludGVyX3YxKiBtTG9ja2VkUG9pbnRlciA9IG51bGxw dHI7CisgICB6d3BfcmVsYXRpdmVfcG9pbnRlcl92MSogbVJlbGF0aXZlUG9pbnRlciA9IG51bGxw dHI7CitkaWZmIC0tZ2l0IGEvd2lkZ2V0L2d0ay9uc1dpbmRvd1dheWxhbmQuY3BwIGIvd2lkZ2V0 L2d0ay9uc1dpbmRvd1dheWxhbmQuY3BwCistLS0gYS93aWRnZXQvZ3RrL25zV2luZG93V2F5bGFu ZC5jcHAKKysrKyBiL3dpZGdldC9ndGsvbnNXaW5kb3dXYXlsYW5kLmNwcAorQEAgLTExMSwxMSAr MTExLDExIEBACisgICAgIExPRygibnNXaW5kb3dXYXlsYW5kOjpDcmVhdGVSZXN0b3JlU2Vzc2lv bigpOiBmYWlsZWQgdG8gZ2V0IHJlc3RvcmUgIgorICAgICAgICAgInNlc3Npb24sIHF1aXQuIik7 CisgICAgIHJldHVybiBmYWxzZTsKKyAgIH0KKyAKKy0gIE5TX0NvbnZlcnRVVEYxNnRvVVRGOCBp ZChtU2Vzc2lvbklEKTsKKysgIE5TX0NvbnZlcnRVVEYxNnRvVVRGOCBpZChtV29ya3NwYWNlSUQp OworICAgaWYgKGFSZXN0b3JlV2luZG93KSB7CisgICAgIG1TZXNzaW9uUmVzdG9yZVRva2VuID0K KyAgICAgICAgIHhkZ19zZXNzaW9uX3YxX3Jlc3RvcmVfdG9wbGV2ZWwoc2Vzc2lvbiwgdG9wbGV2 ZWwsIGlkLmdldCgpKTsKKyAgIH0gZWxzZSB7CisgICAgIG1TZXNzaW9uUmVzdG9yZVRva2VuID0K K0BAIC0xMjYsMTcgKzEyNiwxNyBAQAorICAgICAgIGlkLmdldCgpLCBhUmVzdG9yZVdpbmRvdywg bVNlc3Npb25SZXN0b3JlVG9rZW4pOworICAgcmV0dXJuICEhbVNlc3Npb25SZXN0b3JlVG9rZW47 CisgfQorIAorIHZvaWQgbnNXaW5kb3dXYXlsYW5kOjpHZXRXb3Jrc3BhY2VJRChuc0FTdHJpbmcm IHdvcmtzcGFjZUlEKSB7CistICBpZiAobVNlc3Npb25JRC5Jc0VtcHR5KCkgJiYgIUdlbmVyYXRl V29ya3NwYWNlSUQobVNlc3Npb25JRCkpIHsKKysgIGlmIChtV29ya3NwYWNlSUQuSXNFbXB0eSgp ICYmICFHZW5lcmF0ZVdvcmtzcGFjZUlEKG1Xb3Jrc3BhY2VJRCkpIHsKKyAgICAgcmV0dXJuOwor ICAgfQorLSAgd29ya3NwYWNlSUQuQXNzaWduKG1TZXNzaW9uSUQpOworKyAgd29ya3NwYWNlSUQu QXNzaWduKG1Xb3Jrc3BhY2VJRCk7CisgCisgICBMT0coIm5zV2luZG93V2F5bGFuZDo6R2V0V29y a3NwYWNlSUQoKSBJRCAlcyB0b2tlbiAlcCIsCistICAgICAgTlNfQ29udmVydFVURjE2dG9VVEY4 KG1TZXNzaW9uSUQpLmdldCgpLCBtU2Vzc2lvblJlc3RvcmVUb2tlbik7CisrICAgICAgTlNfQ29u dmVydFVURjE2dG9VVEY4KG1Xb3Jrc3BhY2VJRCkuZ2V0KCksIG1TZXNzaW9uUmVzdG9yZVRva2Vu KTsKKyAKKyAgIGlmIChtU2Vzc2lvblJlc3RvcmVUb2tlbikgeworICAgICByZXR1cm47CisgICB9 CisgCitAQCAtMTU0LDExICsxNTQsMTEgQEAKKyB9OworICNlbmRpZgorIAorIHZvaWQgbnNXaW5k b3dXYXlsYW5kOjpSZXN0b3JlWGRnVG9wbGV2ZWwoKSB7CisgICBMT0coIm5zV2luZG93V2F5bGFu ZDo6UmVzdG9yZVhkZ1RvcGxldmVsKCkgSUQgJXMgR2RrV2luZG93IFslcF0iLAorLSAgICAgIE5T X0NvbnZlcnRVVEYxNnRvVVRGOChtU2Vzc2lvbklEKS5nZXQoKSwgR2V0VG9wbGV2ZWxHZGtXaW5k b3coKSk7CisrICAgICAgTlNfQ29udmVydFVURjE2dG9VVEY4KG1Xb3Jrc3BhY2VJRCkuZ2V0KCks IEdldFRvcGxldmVsR2RrV2luZG93KCkpOworICAgaWYgKENyZWF0ZVJlc3RvcmVTZXNzaW9uKC8q IGFSZXN0b3JlV2luZG93ICovIHRydWUpKSB7CisgI2lmZGVmIE1PWl9MT0dHSU5HCisgICAgIGlm IChMT0dfRU5BQkxFRCgpKSB7CisgICAgICAgeGRnX3RvcGxldmVsX3Nlc3Npb25fdjFfYWRkX2xp c3RlbmVyKG1TZXNzaW9uUmVzdG9yZVRva2VuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAmc1Nlc3Npb25MaXN0ZW5lciwgdGhpcyk7CitAQCAtMTY2LDE0ICsx NjYsMTQgQEAKKyAjZW5kaWYKKyAgIH0KKyB9CisgCisgdm9pZCBuc1dpbmRvd1dheWxhbmQ6Ok1v dmVUb1dvcmtzcGFjZShjb25zdCBuc0FTdHJpbmcmIHdvcmtzcGFjZUlEU3RyKSB7CistICBtU2Vz c2lvbklELkFzc2lnbih3b3Jrc3BhY2VJRFN0cik7CisrICBtV29ya3NwYWNlSUQuQXNzaWduKHdv cmtzcGFjZUlEU3RyKTsKKyAgIExPRygibnNXaW5kb3dXYXlsYW5kOjpNb3ZlVG9Xb3Jrc3BhY2Uo KSBzZXNzaW9uIElEICVzICIKKyAgICAgICAibVdhaXRpbmdUb1Nlc3Npb25SZXN0b3JlICVkIG1O ZWVkc1Nob3cgJWQiLAorLSAgICAgIE5TX0NvbnZlcnRVVEYxNnRvVVRGOChtU2Vzc2lvbklEKS5n ZXQoKSwgbVdhaXRpbmdUb1Nlc3Npb25SZXN0b3JlLAorKyAgICAgIE5TX0NvbnZlcnRVVEYxNnRv VVRGOChtV29ya3NwYWNlSUQpLmdldCgpLCBtV2FpdGluZ1RvU2Vzc2lvblJlc3RvcmUsCisgICAg ICAgbU5lZWRzU2hvdyk7CisgICBpZiAoIW1XYWl0aW5nVG9TZXNzaW9uUmVzdG9yZSkgeworICAg ICByZXR1cm47CisgICB9CisgICBtV2FpdGluZ1RvU2Vzc2lvblJlc3RvcmUgPSBmYWxzZTsKKwoK ZGlmZiAtLWdpdCBhL0QzMjQ4NzEuMTc4OTExNjk3Mi5kaWZmIGIvRDMyNDg3MS4xNzg5MTE2OTcy LmRpZmYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDU0ZGQyYQotLS0gL2Rl di9udWxsCisrKyBiL0QzMjQ4NzEuMTc4OTExNjk3Mi5kaWZmCkBAIC0wLDAgKzEsNzcgQEAKK2Rp ZmYgLS1naXQgYS93aWRnZXQvZ3RrL25zV2luZG93V2F5bGFuZC5jcHAgYi93aWRnZXQvZ3RrL25z V2luZG93V2F5bGFuZC5jcHAKKy0tLSBhL3dpZGdldC9ndGsvbnNXaW5kb3dXYXlsYW5kLmNwcAor KysrIGIvd2lkZ2V0L2d0ay9uc1dpbmRvd1dheWxhbmQuY3BwCitAQCAtNTUsMzAgKzU1LDMxIEBA CisgCisgICBMaWtld2lzZSB3ZSB1c2UgR2V0V29ya3NwYWNlSUQoKSB0byBjcmVhdGUvc2F2ZSB0 aGUgeGRnX3RvcGxldmVsIHNlc3Npb24KKyAgIGZvciBsYXRlciByZXN0b3JlLgorICovCisgCist Ym9vbCBHZW5lcmF0ZVdvcmtzcGFjZUlEKG5zQVN0cmluZyYgYU5hbWUpIHsKKysvLyBNYWtlIHRo ZSBHZW5lcmF0ZVdvcmtzcGFjZUlEKCkgZmFpbHVyZXMgZmF0YWwgYXMgbWlzc2luZyB3b3Jrc3Bh Y2UgSUQKKysvLyBsZWFkcyB0byBicm9rZW4gcHJvZmlsZSAoQnVnIDIwNTk2MTcpLgorK3N0YXRp YyB2b2lkIEdlbmVyYXRlV29ya3NwYWNlSUQobnNBU3RyaW5nJiBhTmFtZSkgeworICAgbnNyZXN1 bHQgcnY7CisgICBuc0NPTVB0cjxuc0lVVUlER2VuZXJhdG9yPiB1dWlkR2VuZXJhdG9yID0KKyAg ICAgICBkb19HZXRTZXJ2aWNlKCJAbW96aWxsYS5vcmcvdXVpZC1nZW5lcmF0b3I7MSIsICZydik7 CistICBpZiAoTlNfV0FSTl9JRihOU19GQUlMRUQocnYpKSkgeworLSAgICByZXR1cm4gZmFsc2U7 CisrICBpZiAoTlNfRkFJTEVEKHJ2KSkgeworKyAgICBNT1pfQ1JBU0goIk1pc3NpbmcgY29tcG9u ZW50ISIpOworICAgfQorIAorICAgbnNJRCBpZDsKKyAgIHJ2ID0gdXVpZEdlbmVyYXRvci0+R2Vu ZXJhdGVVVUlESW5QbGFjZSgmaWQpOworLSAgaWYgKE5TX1dBUk5fSUYoTlNfRkFJTEVEKHJ2KSkp IHsKKy0gICAgcmV0dXJuIGZhbHNlOworKyAgaWYgKE5TX0ZBSUxFRChydikpIHsKKysgICAgTU9a X0NSQVNIKCJHZW5lcmF0ZVVVSURJblBsYWNlKCkgZmFpbGVkISIpOworICAgfQorIAorICAgY2hh ciBjaGFyc1tOU0lEX0xFTkdUSF07CisgICBpZC5Ub1Byb3ZpZGVkU3RyaW5nKGNoYXJzKTsKKyAK KyAgIC8vIE5TSURfTEVOR1RIIGNvdW50cyB0aGUgbnVsbCB0ZXJtaW5hdG9yLgorICAgYU5hbWUu QXNzaWduQVNDSUkoY2hhcnMsIE5TSURfTEVOR1RIIC0gMSk7CistICByZXR1cm4gdHJ1ZTsKKyB9 CisgCisgc3RhdGljIHN0cnVjdCB4ZGdfdG9wbGV2ZWwqIEdldFhkZ1RvcGxldmVsRnJvbUdka1dp bmRvdyhHZGtXaW5kb3cqIGFXaW5kb3cpIHsKKyAgIHN0YXRpYyBhdXRvIHNHZGtXYXlsYW5kV2lu ZG93R2V0WGRnVG9wbGV2ZWwgPQorICAgICAgIChzdHJ1Y3QgeGRnX3RvcGxldmVsICogKCopKEdk a1dpbmRvdyopKQorQEAgLTExMSwxMCArMTEyLDE5IEBACisgICAgIExPRygibnNXaW5kb3dXYXls YW5kOjpDcmVhdGVSZXN0b3JlU2Vzc2lvbigpOiBmYWlsZWQgdG8gZ2V0IHJlc3RvcmUgIgorICAg ICAgICAgInNlc3Npb24sIHF1aXQuIik7CisgICAgIHJldHVybiBmYWxzZTsKKyAgIH0KKyAKKysg IC8vIElmIHdlIGhhdmUgb2xkIHByb2ZpbGUgLyB3b3Jrc3BhY2UgSUQganVzdCByZXBsYWNlIGl0 IGJ5CisrICAvLyBVVUlEIHRvIGF2b2lkIHByb3RvY29sIGVycm9yIGNyYXNoIChCdWcgMjA1OTYx NykuCisrICBuc3Jlc3VsdCByZXQ7CisrICAodm9pZCltV29ya3NwYWNlSUQuVG9JbnRlZ2VyKCZy ZXQpOworKyAgaWYgKE5TX1NVQ0NFRURFRChyZXQpKSB7CisrICAgIEdlbmVyYXRlV29ya3NwYWNl SUQobVdvcmtzcGFjZUlEKTsKKysgICAgYVJlc3RvcmVXaW5kb3cgPSBmYWxzZTsKKysgIH0KKysK KyAgIE5TX0NvbnZlcnRVVEYxNnRvVVRGOCBpZChtV29ya3NwYWNlSUQpOworICAgaWYgKGFSZXN0 b3JlV2luZG93KSB7CisgICAgIG1TZXNzaW9uUmVzdG9yZVRva2VuID0KKyAgICAgICAgIHhkZ19z ZXNzaW9uX3YxX3Jlc3RvcmVfdG9wbGV2ZWwoc2Vzc2lvbiwgdG9wbGV2ZWwsIGlkLmdldCgpKTsK KyAgIH0gZWxzZSB7CitAQCAtMTI2LDEyICsxMzYsMTIgQEAKKyAgICAgICBpZC5nZXQoKSwgYVJl c3RvcmVXaW5kb3csIG1TZXNzaW9uUmVzdG9yZVRva2VuKTsKKyAgIHJldHVybiAhIW1TZXNzaW9u UmVzdG9yZVRva2VuOworIH0KKyAKKyB2b2lkIG5zV2luZG93V2F5bGFuZDo6R2V0V29ya3NwYWNl SUQobnNBU3RyaW5nJiB3b3Jrc3BhY2VJRCkgeworLSAgaWYgKG1Xb3Jrc3BhY2VJRC5Jc0VtcHR5 KCkgJiYgIUdlbmVyYXRlV29ya3NwYWNlSUQobVdvcmtzcGFjZUlEKSkgeworLSAgICByZXR1cm47 CisrICBpZiAobVdvcmtzcGFjZUlELklzRW1wdHkoKSkgeworKyAgICBHZW5lcmF0ZVdvcmtzcGFj ZUlEKG1Xb3Jrc3BhY2VJRCk7CisgICB9CisgICB3b3Jrc3BhY2VJRC5Bc3NpZ24obVdvcmtzcGFj ZUlEKTsKKyAKKyAgIExPRygibnNXaW5kb3dXYXlsYW5kOjpHZXRXb3Jrc3BhY2VJRCgpIElEICVz IHRva2VuICVwIiwKKyAgICAgICBOU19Db252ZXJ0VVRGMTZ0b1VURjgobVdvcmtzcGFjZUlEKS5n ZXQoKSwgbVNlc3Npb25SZXN0b3JlVG9rZW4pOworCgpkaWZmIC0tZ2l0IGEvRDMyNDg3Ni4xNzg5 MTE2ODk5LmRpZmYgYi9EMzI0ODc2LjE3ODkxMTY4OTkuZGlmZgpuZXcgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCAwMDAwMDAwLi4wZjdiMTQ4Ci0tLSAvZGV2L251bGwKKysrIGIvRDMyNDg3Ni4xNzg5 MTE2ODk5LmRpZmYKQEAgLTAsMCArMSwxOSBAQAorZGlmZiAtLWdpdCBhL3dpZGdldC9ndGsvbnNB cHBTaGVsbC5jcHAgYi93aWRnZXQvZ3RrL25zQXBwU2hlbGwuY3BwCistLS0gYS93aWRnZXQvZ3Rr L25zQXBwU2hlbGwuY3BwCisrKysgYi93aWRnZXQvZ3RrL25zQXBwU2hlbGwuY3BwCitAQCAtNjI0 LDEwICs2MjQsMTQgQEAKKyAgICAgfQorICAgICBpZiAoIVN0YXRpY1ByZWZzOjp3aWRnZXRfd2F5 bGFuZF9zZXNzaW9uX21hbmFnZW1lbnRfZW5hYmxlZF9BdFN0YXJ0dXAoKSkgeworICAgICAgIExP R1coIm5zQXBwU2hlbGw6OklzU2Vzc2lvblJlc3RvcmVTdXBwb3J0ZWQoKTogZGlzYWJsZWQgYnkg cHJlZi4iKTsKKyAgICAgICByZXR1cm4gZmFsc2U7CisgICAgIH0KKysgICAgaWYgKElzR25vbWVE ZXNrdG9wRW52aXJvbm1lbnQoKSkgeworKyAgICAgIExPR1coIm5zQXBwU2hlbGw6OklzU2Vzc2lv blJlc3RvcmVTdXBwb3J0ZWQoKTogZGlzYWJsZWQgZHVlIHRvIEJ1ZyAyMDcwODE1LiIpOworKyAg ICAgIHJldHVybiBmYWxzZTsKKysgICAgfQorIAorICAgICBHVHlwZSB3YXlsYW5kV2luZG93VHlw ZSA9IGdfdHlwZV9mcm9tX25hbWUoIkdka1dheWxhbmRXaW5kb3ciKTsKKyAgICAgYm9vbCBzdXBw b3J0ZWQgPQorICAgICAgICAgd2F5bGFuZFdpbmRvd1R5cGUgJiYKKyAgICAgICAgIGdfc2lnbmFs X2xvb2t1cCgieGRnLXRvcGxldmVsLXJlYWxpemVkIiwgd2F5bGFuZFdpbmRvd1R5cGUpOworCgpk aWZmIC0tZ2l0IGEvRDMyNDg3Ny4xNzg5MTE3MDAwLmRpZmYgYi9EMzI0ODc3LjE3ODkxMTcwMDAu ZGlmZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41YmU4ZDYyCi0tLSAvZGV2 L251bGwKKysrIGIvRDMyNDg3Ny4xNzg5MTE3MDAwLmRpZmYKQEAgLTAsMCArMSwxNyBAQAorZGlm ZiAtLWdpdCBhL21vZHVsZXMvbGlicHJlZi9pbml0L1N0YXRpY1ByZWZMaXN0LnlhbWwgYi9tb2R1 bGVzL2xpYnByZWYvaW5pdC9TdGF0aWNQcmVmTGlzdC55YW1sCistLS0gYS9tb2R1bGVzL2xpYnBy ZWYvaW5pdC9TdGF0aWNQcmVmTGlzdC55YW1sCisrKysgYi9tb2R1bGVzL2xpYnByZWYvaW5pdC9T dGF0aWNQcmVmTGlzdC55YW1sCitAQCAtMjA4OTYsMTEgKzIwODk2LDExIEBACisgICBtaXJyb3I6 IGFsd2F5cworIAorICMgVXNlIHhkZy1zZXNzaW9uLW1hbmFnZW1lbnQtdjEgZm9yIHNlc3Npb24g cmVzdG9yZSBvbiBXYXlsYW5kLgorIC0gbmFtZTogd2lkZ2V0LndheWxhbmQuc2Vzc2lvbi1tYW5h Z2VtZW50LmVuYWJsZWQKKyAgIHR5cGU6IGJvb2wKKy0gIHZhbHVlOiBASVNfRUFSTFlfQkVUQV9P Ul9FQVJMSUVSQAorKyAgdmFsdWU6IHRydWUKKyAgIG1pcnJvcjogb25jZQorIAorICMgVXNlIG5h dGl2ZSBEJkQgc2Vzc2lvbiB0eXBlIG9uIFdheWxhbmQgaW5zdGVhZCBvZiBHdGsuCisgIyBSZWNl bnRseSBkaXNhYmxlZCBkdWUgY29tcG9zaXRvciBidWdzIChCdWcgMjA0NjkxMSkuCisgLSBuYW1l OiB3aWRnZXQud2F5bGFuZC5uYXRpdmUtZGF0YS1zZXNzaW9uCisK