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: Rex Dieter To: git-commits@fedoraproject.org Subject: [rpms/amarok] epel10.2: Load all XSPF tracks (kde#295199) Date: Mon, 06 Jul 2026 18:31:37 GMT Message-ID: <178336269703.1.1353010454145744149.rpms-amarok-885e2d5feaf7@fedoraproject.org> List-ID: X-Git-Repo: rpms/amarok X-Git-Branch: epel10.2 X-Git-Rev: 885e2d5feaf77471b32fb2644319464dd0dc0683 QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvYW1hcm9rCkJyYW5j aCA6IGVwZWwxMC4yCkNvbW1pdCA6IDg4NWUyZDVmZWFmNzc0NzFiMzJmYjI2NDQzMTk0NjRkZDBk YzA2ODMKQXV0aG9yIDogUmV4IERpZXRlciA8cmRpZXRlckBmZWRvcmFwcm9qZWN0Lm9yZz4KRGF0 ZSAgIDogMjAxMi0wMy0xNVQwODoyODoxMC0wNTowMApTdGF0cyAgOiArNzYxLy0xIGluIDIgZmls ZShzKQpVUkwgICAgOiBodHRwczovL3NyYy5mZWRvcmFwcm9qZWN0Lm9yZy9ycG1zL2FtYXJvay9j Lzg4NWUyZDVmZWFmNzc0NzFiMzJmYjI2NDQzMTk0NjRkZDBkYzA2ODM/YnJhbmNoPWVwZWwxMC4y CgpMb2c6CkxvYWQgYWxsIFhTUEYgdHJhY2tzIChrZGUjMjk1MTk5KQoKLS0tCmRpZmYgLS1naXQg YS8wMDAxLUxvYWQtYWxsLXRyYWNrcy1mcm9tLVhTUEYtdXNpbmctTWV0YVByb3h5LnBhdGNoIGIv MDAwMS1Mb2FkLWFsbC10cmFja3MtZnJvbS1YU1BGLXVzaW5nLU1ldGFQcm94eS5wYXRjaApuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ZWU3ODQ5Ci0tLSAvZGV2L251bGwKKysr IGIvMDAwMS1Mb2FkLWFsbC10cmFja3MtZnJvbS1YU1BGLXVzaW5nLU1ldGFQcm94eS5wYXRjaApA QCAtMCwwICsxLDc1MyBAQAorZGlmZiAtLWdpdCBhL3NyYy9DTWFrZUxpc3RzLnR4dCBiL3NyYy9D TWFrZUxpc3RzLnR4dAoraW5kZXggNDI0MWU2OS4uYmJlM2Y3NSAxMDA2NDQKKy0tLSBhL3NyYy9D TWFrZUxpc3RzLnR4dAorKysrIGIvc3JjL0NNYWtlTGlzdHMudHh0CitAQCAtMjg0LDYgKzI4NCw3 IEBAIHNldChsaWJtZXRhaW1wbF9TUkNTCisgICAgIGNvcmUtaW1wbC9tZXRhL211bHRpL011bHRp VHJhY2suY3BwCisgICAgIGNvcmUtaW1wbC9tZXRhL2N1ZS9DdWVGaWxlU3VwcG9ydC5jcHAKKyAg ICAgY29yZS1pbXBsL21ldGEvcHJveHkvTWV0YVByb3h5LmNwcAorKyAgICBjb3JlLWltcGwvbWV0 YS9wcm94eS9NZXRhUHJveHlXb3JrZXIuY3BwCisgICAgIGNvcmUtaW1wbC9tZXRhL3N0cmVhbS9T dHJlYW0uY3BwCisgICAgIGNvcmUtaW1wbC9wbGF5bGlzdHMvdHlwZXMvZmlsZS9QbGF5bGlzdEZp bGUuY3BwCisgICAgIGNvcmUtaW1wbC9zdGF0aXN0aWNzL3Byb3ZpZGVycy91cmwvUGVybWFuZW50 VXJsU3RhdGlzdGljc1Byb3ZpZGVyLmNwcAorZGlmZiAtLWdpdCBhL3NyYy9jb3JlLWltcGwvY29s bGVjdGlvbnMvc3VwcG9ydC9Db2xsZWN0aW9uTWFuYWdlci5jcHAgYi9zcmMvY29yZS1pbXBsL2Nv bGxlY3Rpb25zL3N1cHBvcnQvQ29sbGVjdGlvbk1hbmFnZXIuY3BwCitpbmRleCAzN2ZlMDNhLi45 MDg1YjVhIDEwMDY0NAorLS0tIGEvc3JjL2NvcmUtaW1wbC9jb2xsZWN0aW9ucy9zdXBwb3J0L0Nv bGxlY3Rpb25NYW5hZ2VyLmNwcAorKysrIGIvc3JjL2NvcmUtaW1wbC9jb2xsZWN0aW9ucy9zdXBw b3J0L0NvbGxlY3Rpb25NYW5hZ2VyLmNwcAorQEAgLTQ2Myw2ICs0NjMsNyBAQCBDb2xsZWN0aW9u TWFuYWdlcjo6dHJhY2tGb3JVcmwoIGNvbnN0IEtVcmwgJnVybCApCisgICAgICAgICB9CisgICAg IH0KKyAKKysgICAgLy9UT0RPOiBjcmVhdGUgc3BlY2lmaWMgVHJhY2tQcm92aWRlcnMgZm9yIHRo ZXNlOgorICAgICBpZiggdXJsLnByb3RvY29sKCkgPT0gUUxhdGluMVN0cmluZygiaHR0cCIpIHx8 IHVybC5wcm90b2NvbCgpID09IFFMYXRpbjFTdHJpbmcoIm1tcyIpIHx8CisgICAgICAgICB1cmwu cHJvdG9jb2woKSA9PSBRTGF0aW4xU3RyaW5nKCJzbWIiKSApCisgICAgICAgICByZXR1cm4gTWV0 YTo6VHJhY2tQdHIoIG5ldyBNZXRhU3RyZWFtOjpUcmFjayggdXJsICkgKTsKK2RpZmYgLS1naXQg YS9zcmMvY29yZS1pbXBsL21ldGEvcHJveHkvTWV0YVByb3h5LmggYi9zcmMvY29yZS1pbXBsL21l dGEvcHJveHkvTWV0YVByb3h5LmgKK2luZGV4IGQ4MzI5YmUuLjA2MDIyM2YgMTAwNjQ0CistLS0g YS9zcmMvY29yZS1pbXBsL21ldGEvcHJveHkvTWV0YVByb3h5LmgKKysrKyBiL3NyYy9jb3JlLWlt cGwvbWV0YS9wcm94eS9NZXRhUHJveHkuaAorQEAgLTE3LDYgKzE3LDggQEAKKyAjaWZuZGVmIEFN QVJPS19NRVRBUFJPWFlfSAorICNkZWZpbmUgQU1BUk9LX01FVEFQUk9YWV9ICisgCisrI2luY2x1 ZGUgIk1ldGFQcm94eVdvcmtlci5oIgorKworICNpbmNsdWRlICJjb3JlL21ldGEvTWV0YS5oIgor ICNpbmNsdWRlICJjb3JlL2NhcGFiaWxpdGllcy9DYXBhYmlsaXR5LmgiCisgCitAQCAtODIsNiAr ODQsNyBAQCBuYW1lc3BhY2UgTWV0YVByb3h5CisgICAgICAgICAgICAgdmlydHVhbCB2b2lkIHNl dERpc2NOdW1iZXIoIGludCBkaXNjTnVtYmVyICk7CisgCisgICAgICAgICAgICAgdmlydHVhbCBx aW50NjQgbGVuZ3RoKCkgY29uc3Q7CisrICAgICAgICAgICAgdmlydHVhbCB2b2lkIHNldExlbmd0 aCggcWludDY0IGxlbmd0aCApOworICAgICAgICAgICAgIHZpcnR1YWwgaW50IGZpbGVzaXplKCkg Y29uc3Q7CisgICAgICAgICAgICAgdmlydHVhbCBpbnQgc2FtcGxlUmF0ZSgpIGNvbnN0OworICAg ICAgICAgICAgIHZpcnR1YWwgaW50IGJpdHJhdGUoKSBjb25zdDsKK0BAIC0xMTAsMTEgKzExMywx MiBAQCBuYW1lc3BhY2UgTWV0YVByb3h5CisgCQkgKiBhbGxvd3Mgc3ViY2xhc3NlcyB0byBjcmVh dGUgYW4gaW5zdGFuY2Ugb2YgdHJhY2twcm92aWRlciB3aGljaCB3aWxsIG9ubHkgY2hlY2sgdGhl IFRyYWNrUHJvdmlkZXIKKyAJCSAqIHBhc3NlZCB0byBsb29rdXBUcmFjayhUcmFja1Byb3ZpZGVy KikgZm9yIHRoZSByZWFsIHRyYWNrLgorIAkJICovCistCQlUcmFjayggY29uc3QgS1VybCAmdXJs LCBib29sIGF3YWl0TG9va3VwTm90aWZpY2F0aW9uKTsKKysgICAgICAgIFRyYWNrKCBjb25zdCBL VXJsICZ1cmwsIGJvb2wgYXdhaXRMb29rdXBOb3RpZmljYXRpb24gKTsKKysKKyAJCS8qKgorIAkJ ICogTWV0YVByb3h5IHdpbGwgY2hlY2sgdGhlIGdpdmVuIHRyYWNrcHJvdmlkZXIgaWYgaXQgY2Fu IHByb3ZpZGUgdGhlIHRyYWNrIGZvciB0aGUgcHJveHkncyB1cmwuCisgCQkgKi8KKy0JCXZvaWQg bG9va3VwVHJhY2soQ29sbGVjdGlvbnM6OlRyYWNrUHJvdmlkZXIgKnByb3ZpZGVyKTsKKysgICAg ICAgIHZvaWQgbG9va3VwVHJhY2soIENvbGxlY3Rpb25zOjpUcmFja1Byb3ZpZGVyICpwcm92aWRl ciApOworIAorICAgICAgICAgLyoqCisgICAgICAgICAgKiBNZXRhUHJveHkgd2lsbCB1cGRhdGUg dGhlIHByb3h5IHdpdGggdGhlIHRyYWNrLgorQEAgLTEyMyw3ICsxMjcsNyBAQCBuYW1lc3BhY2Ug TWV0YVByb3h5CisgCisgICAgICAgICBwcml2YXRlOgorIAkJCXZvaWQgaW5pdCggY29uc3QgS1Vy bCAmdXJsLCBib29sIGF3YWl0TG9va3VwTm90aWZpY2F0aW9uICk7CistICAgICAgICAgICAgUHJp dmF0ZSAqIGNvbnN0IGQ7CisrICAgICAgICAgICAgUHJpdmF0ZSAqY29uc3QgZDsKKyAgICAgfTsK KyAKKyB9CitkaWZmIC0tZ2l0IGEvc3JjL2NvcmUtaW1wbC9tZXRhL3Byb3h5L01ldGFQcm94eS5j cHAgYi9zcmMvY29yZS1pbXBsL21ldGEvcHJveHkvTWV0YVByb3h5LmNwcAoraW5kZXggZDE1Nzdh Mi4uNmEyN2YwZSAxMDA2NDQKKy0tLSBhL3NyYy9jb3JlLWltcGwvbWV0YS9wcm94eS9NZXRhUHJv eHkuY3BwCisrKysgYi9zcmMvY29yZS1pbXBsL21ldGEvcHJveHkvTWV0YVByb3h5LmNwcAorQEAg LTE3LDYgKzE3LDcgQEAKKyAjaW5jbHVkZSAiY29yZS1pbXBsL21ldGEvcHJveHkvTWV0YVByb3h5 LmgiCisgI2luY2x1ZGUgImNvcmUtaW1wbC9tZXRhL3Byb3h5L01ldGFQcm94eV9wLmgiCisgI2lu Y2x1ZGUgImNvcmUtaW1wbC9tZXRhL3Byb3h5L01ldGFQcm94eV9wLm1vYyIKKysjaW5jbHVkZSAi Y29yZS1pbXBsL21ldGEvcHJveHkvTWV0YVByb3h5V29ya2VyLmgiCisgCisgI2luY2x1ZGUgImNv cmUvY2FwYWJpbGl0aWVzL0VkaXRDYXBhYmlsaXR5LmgiCisgCitAQCAtMjcsNiArMjgsNyBAQAor ICNpbmNsdWRlIDxRVGltZXI+CisgCisgI2luY2x1ZGUgPEtTaGFyZWRQdHI+CisrI2luY2x1ZGUg PHRocmVhZHdlYXZlci9UaHJlYWRXZWF2ZXIuaD4KKyAKKyB1c2luZyBuYW1lc3BhY2UgTWV0YVBy b3h5OworIAorQEAgLTgzLDE4ICs4NSwyMCBAQCBNZXRhUHJveHk6OlRyYWNrOjppbml0KCBjb25z dCBLVXJsICZ1cmwsIGJvb2wgYXdhaXRMb29rdXBOb3RpZmljYXRpb24gKQorIAlkLT51cmwgPSB1 cmw7CisgICAgIGQtPnByb3h5ID0gdGhpczsKKyAgICAgZC0+Y2FjaGVkTGVuZ3RoID0gMDsKKy0K Ky0JaWYoICFhd2FpdExvb2t1cE5vdGlmaWNhdGlvbiApCistICAgIHsKKy0gICAgICAgIFFPYmpl Y3Q6OmNvbm5lY3QoIENvbGxlY3Rpb25NYW5hZ2VyOjppbnN0YW5jZSgpLCBTSUdOQUwoIHRyYWNr UHJvdmlkZXJBZGRlZCggQ29sbGVjdGlvbnM6OlRyYWNrUHJvdmlkZXIqICkgKSwgZCwgU0xPVCgg c2xvdE5ld1RyYWNrUHJvdmlkZXIoIENvbGxlY3Rpb25zOjpUcmFja1Byb3ZpZGVyKiApICkgKTsK Ky0gICAgICAgIFFPYmplY3Q6OmNvbm5lY3QoIENvbGxlY3Rpb25NYW5hZ2VyOjppbnN0YW5jZSgp LCBTSUdOQUwoIGNvbGxlY3Rpb25BZGRlZCggQ29sbGVjdGlvbnM6OkNvbGxlY3Rpb24qICkgKSwg ZCwgU0xPVCggc2xvdE5ld0NvbGxlY3Rpb24oIENvbGxlY3Rpb25zOjpDb2xsZWN0aW9uKiApICkg KTsKKy0gICAgfQorLQorICAgICBkLT5hbGJ1bVB0ciA9IE1ldGE6OkFsYnVtUHRyKCBuZXcgUHJv eHlBbGJ1bSggZCApICk7CisgICAgIGQtPmFydGlzdFB0ciA9IE1ldGE6OkFydGlzdFB0ciggbmV3 IFByb3h5QXJ0aXN0KCBkICkgKTsKKyAgICAgZC0+Z2VucmVQdHIgPSBNZXRhOjpHZW5yZVB0cigg bmV3IFByb3h5R2VucmUoIGQgKSApOworICAgICBkLT5jb21wb3NlclB0ciA9IE1ldGE6OkNvbXBv c2VyUHRyKCBuZXcgUHJveHlDb21wb3NlciggZCApICk7CisgICAgIGQtPnllYXJQdHIgPSBNZXRh OjpZZWFyUHRyKCBuZXcgUHJveHlZZWFyKCBkICkgKTsKKysKKysgICAgaWYoICFhd2FpdExvb2t1 cE5vdGlmaWNhdGlvbiApCisrICAgIHsKKysgICAgICAgIFdvcmtlciAqd29ya2VyID0gbmV3IFdv cmtlciggZC0+dXJsICk7CisrICAgICAgICBRT2JqZWN0Ojpjb25uZWN0KCB3b3JrZXIsIFNJR05B TChmaW5pc2hlZExvb2t1cCggY29uc3QgTWV0YTo6VHJhY2tQdHIgJiApKSwKKysgICAgICAgICAg ICAgICAgZCwgU0xPVChzbG90VXBkYXRlVHJhY2soTWV0YTo6VHJhY2tQdHIpKSApOworKworKyAg ICAgICAgVGhyZWFkV2VhdmVyOjpXZWF2ZXI6Omluc3RhbmNlKCktPmVucXVldWUoIHdvcmtlciAp OworKyAgICB9CisgfQorIAorIE1ldGFQcm94eTo6VHJhY2s6On5UcmFjaygpCitAQCAtMzQ1LDYg KzM0OSwxMiBAQCBNZXRhUHJveHk6OlRyYWNrOjpsZW5ndGgoKSBjb25zdAorICAgICByZXR1cm4g ZC0+Y2FjaGVkTGVuZ3RoOworIH0KKyAKKyt2b2lkCisrTWV0YVByb3h5OjpUcmFjazo6c2V0TGVu Z3RoKCBxaW50NjQgbGVuZ3RoICkKKyt7CisrICAgIGQtPmNhY2hlZExlbmd0aCA9IGxlbmd0aDsK Kyt9CisrCisgaW50CisgTWV0YVByb3h5OjpUcmFjazo6ZmlsZXNpemUoKSBjb25zdAorIHsKK0BA IC00MjQsNyArNDM0LDcgQEAgTWV0YVByb3h5OjpUcmFjazo6aW5Db2xsZWN0aW9uKCkgY29uc3QK KyAgICAgcmV0dXJuIGZhbHNlOworIH0KKyAKKy1Db2xsZWN0aW9uczo6Q29sbGVjdGlvbioKKytD b2xsZWN0aW9uczo6Q29sbGVjdGlvbiAqCisgTWV0YVByb3h5OjpUcmFjazo6Y29sbGVjdGlvbigp IGNvbnN0CisgeworICAgICBpZiggZC0+cmVhbFRyYWNrICkKK0BAIC00NTAsNyArNDYwLDExIEBA IE1ldGFQcm94eTo6VHJhY2s6OnVuc3Vic2NyaWJlKCBNZXRhOjpPYnNlcnZlciAqb2JzZXJ2ZXIg KQorIHZvaWQKKyBNZXRhUHJveHk6OlRyYWNrOjpsb29rdXBUcmFjayggQ29sbGVjdGlvbnM6OlRy YWNrUHJvdmlkZXIgKnByb3ZpZGVyICkKKyB7CistCWQtPnNsb3ROZXdUcmFja1Byb3ZpZGVyKCBw cm92aWRlciApOworKyAgICBpZiggcHJvdmlkZXItPnBvc3NpYmx5Q29udGFpbnNUcmFjayggZC0+ dXJsICkgKQorKyAgICB7CisrICAgICAgICBNZXRhOjpUcmFja1B0ciB0cmFjayA9IHByb3ZpZGVy LT50cmFja0ZvclVybCggZC0+dXJsICk7CisrICAgICAgICBkLT5zbG90VXBkYXRlVHJhY2soIHRy YWNrICk7CisrICAgIH0KKyB9CisgCisgdm9pZAorQEAgLTQ3MCw3ICs0ODQsNyBAQCBNZXRhUHJv eHk6OlRyYWNrOjpoYXNDYXBhYmlsaXR5SW50ZXJmYWNlKCBDYXBhYmlsaXRpZXM6OkNhcGFiaWxp dHk6OlR5cGUgdHlwZSApCisgICAgIHJldHVybiBmYWxzZTsKKyB9CisgCistQ2FwYWJpbGl0aWVz OjpDYXBhYmlsaXR5KgorK0NhcGFiaWxpdGllczo6Q2FwYWJpbGl0eSAqCisgTWV0YVByb3h5OjpU cmFjazo6Y3JlYXRlQ2FwYWJpbGl0eUludGVyZmFjZSggQ2FwYWJpbGl0aWVzOjpDYXBhYmlsaXR5 OjpUeXBlIHR5cGUgKQorIHsKKyAgICAgaWYoIGQtPnJlYWxUcmFjayApCitAQCAtNDg0LDcgKzQ5 OCw3IEBAIE1ldGFQcm94eTo6VHJhY2s6OmNyZWF0ZUNhcGFiaWxpdHlJbnRlcmZhY2UoIENhcGFi aWxpdGllczo6Q2FwYWJpbGl0eTo6VHlwZSB0eXBlCisgYm9vbAorIE1ldGFQcm94eTo6VHJhY2s6 Om9wZXJhdG9yPT0oIGNvbnN0IE1ldGE6OlRyYWNrICZ0cmFjayApIGNvbnN0CisgeworLSAgICBj b25zdCBNZXRhUHJveHk6OlRyYWNrICpwcm94eSA9IGR5bmFtaWNfY2FzdDxjb25zdCBNZXRhUHJv eHk6OlRyYWNrKj4oICZ0cmFjayApOworKyAgICBjb25zdCBNZXRhUHJveHk6OlRyYWNrICpwcm94 eSA9IGR5bmFtaWNfY2FzdDxjb25zdCBNZXRhUHJveHk6OlRyYWNrICo+KCAmdHJhY2sgKTsKKyAg ICAgaWYoIHByb3h5ICYmIGQtPnJlYWxUcmFjayApCisgICAgICAgICByZXR1cm4gZC0+cmVhbFRy YWNrID09IHByb3h5LT5kLT5yZWFsVHJhY2s7CisgICAgIGVsc2UgaWYoIHByb3h5ICkKK2RpZmYg LS1naXQgYS9zcmMvY29yZS1pbXBsL21ldGEvcHJveHkvTWV0YVByb3h5V29ya2VyLmggYi9zcmMv Y29yZS1pbXBsL21ldGEvcHJveHkvTWV0YVByb3h5V29ya2VyLmgKK25ldyBmaWxlIG1vZGUgMTAw NjQ0CitpbmRleCAwMDAwMDAwLi41NTdmMjlkCistLS0gL2Rldi9udWxsCisrKysgYi9zcmMvY29y ZS1pbXBsL21ldGEvcHJveHkvTWV0YVByb3h5V29ya2VyLmgKK0BAIC0wLDAgKzEsNDIgQEAKKysv KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKyAqIENvcHlyaWdodCAoYykgMjAxMiBC YXJ0IENlcm5lZWxzIDxiYXJ0LmNlcm5lZWxzQGtkZS5vcmc+ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAqCisrICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoKKysgKiBUaGlzIHBy b2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1v ZGlmeSBpdCB1bmRlciAgICAgICAgKgorKyAqIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwg UHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlICAgICAgICAq CisrICogRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0 IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgICAgICAgICAgICoKKysgKiB2ZXJzaW9uLiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgKgorKyAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqCisrICogVGhp cyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2Vm dWwsIGJ1dCBXSVRIT1VUIEFOWSAgICAgICoKKysgKiBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRo ZSBpbXBsaWVkIHdhcnJhbnR5IG9mIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBICAg ICAgKgorKyAqIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMg TGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLiAgICAgICAgICAgICAqCisrICogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICoKKysgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9m IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhbG9uZyB3aXRoICAgICAgICAgKgorKyAq IHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMv Pi4gICAgICAgICAgICAgICAgICAgICAgICAgICAqCisrICoqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKiovCisrCisrI2lmbmRlZiBNRVRBUFJPWFlfTUVUQVBST1hZV09SS0VSX0gKKysjZGVm aW5lIE1FVEFQUk9YWV9NRVRBUFJPWFlXT1JLRVJfSAorKworKyNpbmNsdWRlIDxjb3JlL2NvbGxl Y3Rpb25zL3N1cHBvcnQvVHJhY2tGb3JVcmxXb3JrZXIuaD4KKysjaW5jbHVkZSA8Y29yZS9jb2xs ZWN0aW9ucy9Db2xsZWN0aW9uLmg+CisrCisrbmFtZXNwYWNlIE1ldGFQcm94eSB7CisrCisrY2xh c3MgV29ya2VyIDogcHVibGljIEFtYXJvazo6VHJhY2tGb3JVcmxXb3JrZXIKKyt7CisrICAgIFFf T0JKRUNUCisrICAgIHB1YmxpYzoKKysgICAgICAgIGV4cGxpY2l0IFdvcmtlciggY29uc3QgS1Vy bCAmdXJsICk7CisrCisrICAgICAgICAvL1RyYWNrRm9yVXJsV29ya2VyIHZpcnR1YWwgbWV0aG9k cworKyAgICAgICAgdmlydHVhbCB2b2lkIHJ1bigpOworKworKyAgICBwcml2YXRlIHNsb3RzOgor KyAgICAgICAgdm9pZCBzbG90TmV3VHJhY2tQcm92aWRlciggQ29sbGVjdGlvbnM6OlRyYWNrUHJv dmlkZXIgKm5ld1RyYWNrUHJvdmlkZXIgKTsKKysgICAgICAgIHZvaWQgc2xvdE5ld0NvbGxlY3Rp b24oIENvbGxlY3Rpb25zOjpDb2xsZWN0aW9uICpuZXdDb2xsZWN0aW9uICk7CisrCisrfTsKKysK Kyt9IC8vIG5hbWVzcGFjZSBNZXRhUHJveHkKKysKKysjZW5kaWYgLy8gTUVUQVBST1hZX01FVEFQ Uk9YWVdPUktFUl9ICitkaWZmIC0tZ2l0IGEvc3JjL2NvcmUtaW1wbC9tZXRhL3Byb3h5L01ldGFQ cm94eVdvcmtlci5jcHAgYi9zcmMvY29yZS1pbXBsL21ldGEvcHJveHkvTWV0YVByb3h5V29ya2Vy LmNwcAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLjBjZGUyODAKKy0tLSAv ZGV2L251bGwKKysrKyBiL3NyYy9jb3JlLWltcGwvbWV0YS9wcm94eS9NZXRhUHJveHlXb3JrZXIu Y3BwCitAQCAtMCwwICsxLDgyIEBACisrLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioK KysgKiBDb3B5cmlnaHQgKGMpIDIwMTIgQmFydCBDZXJuZWVscyA8YmFydC5jZXJuZWVsc0BrZGUu b3JnPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKgorKyAqICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAqCisrICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4g cmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIgICAgICAgICoKKysgKiB0aGUg dGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0 aGUgRnJlZSBTb2Z0d2FyZSAgICAgICAgKgorKyAqIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9u IDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyICAgICAgICAg ICAqCisrICogdmVyc2lvbi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoKKysgKiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgKgorKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUg aG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQgV0lUSE9VVCBBTlkgICAgICAqCisrICog V0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZiBNRVJDSEFOVEFC SUxJVFkgb3IgRklUTkVTUyBGT1IgQSAgICAgICoKKysgKiBQQVJUSUNVTEFSIFBVUlBPU0UuIFNl ZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4gICAgICAg ICAgICAgKgorKyAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqCisrICogWW91IHNob3Vs ZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug YWxvbmcgd2l0aCAgICAgICAgICoKKysgKiB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0 cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uICAgICAgICAgICAgICAgICAgICAgICAgICAgKgor KyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworKworKyNpbmNsdWRlICJNZXRhUHJv eHlXb3JrZXIuaCIKKysKKysjaW5jbHVkZSAiY29yZS1pbXBsL2NvbGxlY3Rpb25zL3N1cHBvcnQv Q29sbGVjdGlvbk1hbmFnZXIuaCIKKysKKytuYW1lc3BhY2UgTWV0YVByb3h5IHsKKysKKytXb3Jr ZXI6OldvcmtlciggY29uc3QgS1VybCAmdXJsICkKKysgICAgOiBBbWFyb2s6OlRyYWNrRm9yVXJs V29ya2VyKCB1cmwgKQorK3sKKysKKyt9CisrCisrdm9pZAorK1dvcmtlcjo6cnVuKCkKKyt7Cisr ICAgIE1ldGE6OlRyYWNrUHRyIHRyYWNrID0gQ29sbGVjdGlvbk1hbmFnZXI6Omluc3RhbmNlKCkt PnRyYWNrRm9yVXJsKCBtX3VybCApOworKworKyAgICAvL25vIFRyYWNrUHJvdmlkZXIgaGFzIGEg dHJhY2sgZm9yIHVzIHlldCwgcXVlcnkgbmV3IG9uZXMgdGhhdCBhcmUgYWRkZWQuCisrICAgIGlm KCB0cmFjay5pc051bGwoKSApCisrICAgIHsKKysgICAgICAgIC8vVE9ETzogc2hvdWxkIG9ubHkg aGF2ZSB0byBjb25uZWN0byB0byBUcmFja1Byb3ZpZGVyIHNpZ25hbHMuCisrICAgICAgICAvL0Vh Y2ggQ29sbGVjdGlvbiBjb250YWlucyBhIFRyYWNrUHJvdmlkZXIKKysgICAgICAgIGNvbm5lY3Qo IENvbGxlY3Rpb25NYW5hZ2VyOjppbnN0YW5jZSgpLAorKyAgICAgICAgICAgICAgICAgU0lHTkFM KHRyYWNrUHJvdmlkZXJBZGRlZCggQ29sbGVjdGlvbnM6OlRyYWNrUHJvdmlkZXIgKiApKSwKKysg ICAgICAgICAgICAgICAgIFNMT1Qoc2xvdE5ld1RyYWNrUHJvdmlkZXIoIENvbGxlY3Rpb25zOjpU cmFja1Byb3ZpZGVyICogKSkgKTsKKysgICAgICAgIGNvbm5lY3QoIENvbGxlY3Rpb25NYW5hZ2Vy OjppbnN0YW5jZSgpLAorKyAgICAgICAgICAgICAgICAgU0lHTkFMKGNvbGxlY3Rpb25BZGRlZCgg Q29sbGVjdGlvbnM6OkNvbGxlY3Rpb24gKiApKSwKKysgICAgICAgICAgICAgICAgIFNMT1Qoc2xv dE5ld0NvbGxlY3Rpb24oIENvbGxlY3Rpb25zOjpDb2xsZWN0aW9uICogKSkgKTsKKysKKysgICAg ICAgIHJldHVybjsKKysgICAgfQorKworKyAgICBlbWl0KCBmaW5pc2hlZExvb2t1cCggdHJhY2sg KSApOworK30KKysKKyt2b2lkCisrV29ya2VyOjpzbG90TmV3VHJhY2tQcm92aWRlciggQ29sbGVj dGlvbnM6OlRyYWNrUHJvdmlkZXIgKm5ld1RyYWNrUHJvdmlkZXIgKQorK3sKKysgICAgaWYoICFu ZXdUcmFja1Byb3ZpZGVyICkKKysgICAgeworKyAgICAgICAgcmV0dXJuOworKyAgICB9CisrCisr ICAgIGlmKCBuZXdUcmFja1Byb3ZpZGVyLT5wb3NzaWJseUNvbnRhaW5zVHJhY2soIG1fdXJsICkg KQorKyAgICB7CisrICAgICAgICBNZXRhOjpUcmFja1B0ciB0cmFjayA9IG5ld1RyYWNrUHJvdmlk ZXItPnRyYWNrRm9yVXJsKCBtX3VybCApOworKyAgICAgICAgZW1pdCggZmluaXNoZWRMb29rdXAo IHRyYWNrICkgKTsKKysgICAgfQorK30KKysKKyt2b2lkCisrV29ya2VyOjpzbG90TmV3Q29sbGVj dGlvbiggQ29sbGVjdGlvbnM6OkNvbGxlY3Rpb24gKm5ld0NvbGxlY3Rpb24gKQorK3sKKysgICAg aWYoICFuZXdDb2xsZWN0aW9uICkKKysgICAgeworKyAgICAgICAgcmV0dXJuOworKyAgICB9Cisr CisrICAgIGlmKCBuZXdDb2xsZWN0aW9uLT5wb3NzaWJseUNvbnRhaW5zVHJhY2soIG1fdXJsICkg KQorKyAgICB7CisrICAgICAgICBNZXRhOjpUcmFja1B0ciB0cmFjayA9IG5ld0NvbGxlY3Rpb24t PnRyYWNrRm9yVXJsKCBtX3VybCApOworKyAgICAgICAgZW1pdCggZmluaXNoZWRMb29rdXAoIHRy YWNrICkgKTsKKysgICAgfQorK30KKysKKyt9IC8vIG5hbWVzcGFjZSBNZXRhUHJveHkKK2RpZmYg LS1naXQgYS9zcmMvY29yZS1pbXBsL21ldGEvcHJveHkvTWV0YVByb3h5X3AuaCBiL3NyYy9jb3Jl LWltcGwvbWV0YS9wcm94eS9NZXRhUHJveHlfcC5oCitpbmRleCA3OTI2NzVkLi5hYzhlZmIwIDEw MDY0NAorLS0tIGEvc3JjL2NvcmUtaW1wbC9tZXRhL3Byb3h5L01ldGFQcm94eV9wLmgKKysrKyBi L3NyYy9jb3JlLWltcGwvbWV0YS9wcm94eS9NZXRhUHJveHlfcC5oCitAQCAtNDMsNyArNDMsNyBA QCBjbGFzcyBNZXRhUHJveHk6OlRyYWNrOjpQcml2YXRlIDogcHVibGljIFFPYmplY3QsIHB1Ymxp YyBNZXRhOjpPYnNlcnZlcgorIAorICAgICAgICAgTWV0YTo6VHJhY2tQdHIgcmVhbFRyYWNrOwor IAorLSAgICAgICAgUUxpc3Q8TWV0YTo6T2JzZXJ2ZXIqPiBvYnNlcnZlcnM7CisrICAgICAgICBR TGlzdDxNZXRhOjpPYnNlcnZlciAqPiBvYnNlcnZlcnM7CisgCisgICAgICAgICBRU3RyaW5nIGNh Y2hlZEFydGlzdDsKKyAgICAgICAgIFFTdHJpbmcgY2FjaGVkQWxidW07CitAQCAtODIsMzQgKzgy LDYgQEAgY2xhc3MgTWV0YVByb3h5OjpUcmFjazo6UHJpdmF0ZSA6IHB1YmxpYyBRT2JqZWN0LCBw dWJsaWMgTWV0YTo6T2JzZXJ2ZXIKKyAgICAgICAgIH0KKyAKKyAgICAgcHVibGljIHNsb3RzOgor LSAgICAgICAgdm9pZCBzbG90TmV3VHJhY2tQcm92aWRlciggQ29sbGVjdGlvbnM6OlRyYWNrUHJv dmlkZXIgKm5ld1RyYWNrUHJvdmlkZXIgKQorLSAgICAgICAgeworLSAgICAgICAgICAgIGlmICgg IW5ld1RyYWNrUHJvdmlkZXIgKQorLSAgICAgICAgICAgIHsKKy0gICAgICAgICAgICAgICAgcmV0 dXJuOworLSAgICAgICAgICAgIH0KKy0KKy0gICAgICAgICAgICBpZiggbmV3VHJhY2tQcm92aWRl ci0+cG9zc2libHlDb250YWluc1RyYWNrKCB1cmwgKSApCistICAgICAgICAgICAgeworLSAgICAg ICAgICAgICAgICBNZXRhOjpUcmFja1B0ciB0cmFjayA9IG5ld1RyYWNrUHJvdmlkZXItPnRyYWNr Rm9yVXJsKCB1cmwgKTsKKy0gICAgICAgICAgICAgICAgc2xvdFVwZGF0ZVRyYWNrKCB0cmFjayAp OworLSAgICAgICAgICAgIH0KKy0gICAgICAgIH0KKy0KKy0gICAgICAgIHZvaWQgc2xvdE5ld0Nv bGxlY3Rpb24oIENvbGxlY3Rpb25zOjpDb2xsZWN0aW9uICpuZXdDb2xsZWN0aW9uICkKKy0gICAg ICAgIHsKKy0gICAgICAgICAgICBpZiAoICFuZXdDb2xsZWN0aW9uICkKKy0gICAgICAgICAgICB7 CistICAgICAgICAgICAgICAgIHJldHVybjsKKy0gICAgICAgICAgICB9CistCistICAgICAgICAg ICAgaWYoIG5ld0NvbGxlY3Rpb24tPnBvc3NpYmx5Q29udGFpbnNUcmFjayggdXJsICkgKQorLSAg ICAgICAgICAgIHsKKy0gICAgICAgICAgICAgICAgTWV0YTo6VHJhY2tQdHIgdHJhY2sgPSBuZXdD b2xsZWN0aW9uLT50cmFja0ZvclVybCggdXJsICk7CistICAgICAgICAgICAgICAgIHNsb3RVcGRh dGVUcmFjayggdHJhY2sgKTsKKy0gICAgICAgICAgICB9CistICAgICAgICB9CistCisgICAgICAg ICB2b2lkIHNsb3RVcGRhdGVUcmFjayggTWV0YTo6VHJhY2tQdHIgdHJhY2sgKQorICAgICAgICAg eworICAgICAgICAgICAgIGlmKCB0cmFjayApCitkaWZmIC0tZ2l0IGEvc3JjL2NvcmUtaW1wbC9w bGF5bGlzdHMvdHlwZXMvZmlsZS94c3BmL1hTUEZQbGF5bGlzdC5jcHAgYi9zcmMvY29yZS1pbXBs L3BsYXlsaXN0cy90eXBlcy9maWxlL3hzcGYvWFNQRlBsYXlsaXN0LmNwcAoraW5kZXggNGNiNDlm Yi4uMDFjZjFlNiAxMDA2NDQKKy0tLSBhL3NyYy9jb3JlLWltcGwvcGxheWxpc3RzL3R5cGVzL2Zp bGUveHNwZi9YU1BGUGxheWxpc3QuY3BwCisrKysgYi9zcmMvY29yZS1pbXBsL3BsYXlsaXN0cy90 eXBlcy9maWxlL3hzcGYvWFNQRlBsYXlsaXN0LmNwcAorQEAgLTIzMyw4ICsyMzMsNyBAQCBYU1BG UGxheWxpc3Q6OnRyYWNrQ291bnQoKSBjb25zdAorIE1ldGE6OlRyYWNrTGlzdAorIFhTUEZQbGF5 bGlzdDo6dHJhY2tzKCkKKyB7CistICAgIC8vSWYgeW91IGRvIG5vdCBsb2FkIGJlZm9yZSwgbV90 cmFja3MKKy0gICAgLy9jYW4gYmUgZW1wdHkgYmVmb3JlIHVzYWdlLgorKyAgICAvL0lmIHlvdSBk byBub3QgbG9hZCwgbV90cmFja3MgY2FuIGJlIGVtcHR5IGJlZm9yZSB1c2FnZS4KKyAgICAgdHJp Z2dlclRyYWNrTG9hZCgpOworIAorICAgICByZXR1cm4gbV90cmFja3M7CitAQCAtMjUxLDc2ICsy NTAsMTQgQEAgWFNQRlBsYXlsaXN0Ojp0cmlnZ2VyVHJhY2tMb2FkKCkKKyAKKyAgICAgZm9yZWFj aCggY29uc3QgWFNQRlRyYWNrICZ0cmFjaywgeHNwZlRyYWNrcyApCisgICAgIHsKKy0gICAgICAg IE1ldGE6OlRyYWNrUHRyIHRyYWNrUHRyOworLSAgICAgICAgaWYoICF0cmFjay5pZGVudGlmaWVy LmlzRW1wdHkoKSApCistICAgICAgICAgICAgdHJhY2tQdHIgPSBDb2xsZWN0aW9uTWFuYWdlcjo6 aW5zdGFuY2UoKS0+dHJhY2tGb3JVcmwoIHRyYWNrLmlkZW50aWZpZXIgKTsKKy0gICAgICAgIGVs c2UKKy0gICAgICAgICAgICB0cmFja1B0ciA9IENvbGxlY3Rpb25NYW5hZ2VyOjppbnN0YW5jZSgp LT50cmFja0ZvclVybCggdHJhY2subG9jYXRpb24gKTsKKy0gICAgICAgIGlmKCB0cmFja1B0ciAp CistICAgICAgICB7CistICAgICAgICAgICAgLyoqCistICAgICAgICAgICAgICogTk9URTogSWYg dGhpcyBpcyBhIE1ldGFQcm94eTo6VHJhY2ssIGl0IHByb2JhYmx5IGlzbid0IHBsYXlhYmxlIHll dCwKKy0gICAgICAgICAgICAgKiAgICAgICBidXQgdGhhdCdzIG9rYXkuIEhvd2V2ZXIsIGl0J3Mg bm90IGEgZ29vZCBpZGVhIHRvIGdldCBhbm90aGVyCistICAgICAgICAgICAgICogICAgICAgb25l IGZyb20gdGhlIHNhbWUgcHJvdmlkZXIsIHNpbmNlIHRoZSBwcm94eSBwcm9iYWJseSBtZWFucyB0 aGF0CistICAgICAgICAgICAgICogICAgICAgbWFraW5nIG9uZSBpbnZvbHZlcyBxdWl0ZSBhIGJp dCBvZiB3b3JrLgorLSAgICAgICAgICAgICAqICAgICAgICAgLSBBbmR5IENvZGVyIDxhbmRyZXcu Y29kZXJAZ21haWwuY29tPgorLSAgICAgICAgICAgICAqLworLSAgICAgICAgICAgIGlmKCAhdHJh Y2tQdHItPmlzUGxheWFibGUoKSAmJiAoIHR5cGVpZCggKiB0cmFja1B0ci5kYXRhKCkgKSAhPSB0 eXBlaWQoIE1ldGFQcm94eTo6VHJhY2sgKSApICkKKy0gICAgICAgICAgICAgICAgdHJhY2tQdHIg PSBDb2xsZWN0aW9uTWFuYWdlcjo6aW5zdGFuY2UoKS0+dHJhY2tGb3JVcmwoIHRyYWNrLmlkZW50 aWZpZXIgKTsKKy0gICAgICAgIH0KKy0KKy0gICAgICAgIGlmKCB0cmFja1B0ciApCistICAgICAg ICB7CistICAgICAgICAgICAgaWYoIHR5cGVpZCggKiB0cmFja1B0ci5kYXRhKCkgKSA9PSB0eXBl aWQoIE1ldGFTdHJlYW06OlRyYWNrICkgKQorLSAgICAgICAgICAgIHsKKy0gICAgICAgICAgICAg ICAgTWV0YVN0cmVhbTo6VHJhY2sgKiBzdHJlYW1UcmFjayA9IGR5bmFtaWNfY2FzdDxNZXRhU3Ry ZWFtOjpUcmFjayAqPiAoIHRyYWNrUHRyLmRhdGEoKSApOworLSAgICAgICAgICAgICAgICBpZiAo IHN0cmVhbVRyYWNrICkKKy0gICAgICAgICAgICAgICAgeworLSAgICAgICAgICAgICAgICAgICAg c3RyZWFtVHJhY2stPnNldFRpdGxlKCB0cmFjay50aXRsZSApOworLSAgICAgICAgICAgICAgICAg ICAgc3RyZWFtVHJhY2stPnNldEFsYnVtKCB0cmFjay5hbGJ1bSApOworLSAgICAgICAgICAgICAg ICAgICAgc3RyZWFtVHJhY2stPnNldEFydGlzdCggdHJhY2suY3JlYXRvciApOworLSAgICAgICAg ICAgICAgICB9CistICAgICAgICAgICAgfQorLSAgICAgICAgICAgIGVsc2UgaWYoIHR5cGVpZCgg KiB0cmFja1B0ci5kYXRhKCkgKSA9PSB0eXBlaWQoIE1ldGE6OlRpbWVjb2RlVHJhY2sgKSApCist ICAgICAgICAgICAgeworLSAgICAgICAgICAgICAgICBNZXRhOjpUaW1lY29kZVRyYWNrICogdGlt ZWNvZGVUcmFjayA9CistICAgICAgICAgICAgICAgICAgICAgICAgZHluYW1pY19jYXN0PE1ldGE6 OlRpbWVjb2RlVHJhY2sgKj4oIHRyYWNrUHRyLmRhdGEoKSApOworLSAgICAgICAgICAgICAgICBp ZiggdGltZWNvZGVUcmFjayApCistICAgICAgICAgICAgICAgIHsKKy0gICAgICAgICAgICAgICAg ICAgIHRpbWVjb2RlVHJhY2stPmJlZ2luTWV0YURhdGFVcGRhdGUoKTsKKy0gICAgICAgICAgICAg ICAgICAgIHRpbWVjb2RlVHJhY2stPnNldFRpdGxlKCB0cmFjay50aXRsZSApOworLSAgICAgICAg ICAgICAgICAgICAgdGltZWNvZGVUcmFjay0+c2V0QWxidW0oIHRyYWNrLmFsYnVtICk7CistICAg ICAgICAgICAgICAgICAgICB0aW1lY29kZVRyYWNrLT5zZXRBcnRpc3QoIHRyYWNrLmNyZWF0b3Ig KTsKKy0gICAgICAgICAgICAgICAgICAgIHRpbWVjb2RlVHJhY2stPmVuZE1ldGFEYXRhVXBkYXRl KCk7CistICAgICAgICAgICAgICAgIH0KKy0gICAgICAgICAgICB9CistCistICAgICAgICAgICAg bV90cmFja3MgPDwgdHJhY2tQdHI7CistICAgICAgICB9CistCistCistICAgICAgICAvLyB3aHkg ZG8gd2UgbmVlZCB0aGlzPyBzcWxwbGF5bGlzdCBpcyBub3QgZG9pbmcgdGhpcworLSAgICAgICAg Ly8gd2UgZG9uJ3Qgd2FudCAocHJvYmFibHkpIHVucGxheWFibGUgdHJhY2tzCistICAgICAgICAv LyBhbmQgaXQgY2F1c2VzIHByb2JsZW1zIGZvciBtZSAoRGFuaWVsVykgYXMgbG9uZworLSAgICAg ICAgLy8gYW1hcm9rIG5vdCByZXNwZWN0cyBUcmFjazo6aXNQbGF5YWJsZSgpCistICAgICAgICAv KmVsc2UgeworLQorLSAgICAgICAgICAgIE1ldGFQcm94eTo6VHJhY2sgKnByb3h5VHJhY2sgPSBu ZXcgTWV0YVByb3h5OjpUcmFjayggdHJhY2subG9jYXRpb24gKTsKKy0gICAgICAgICAgICB7Cist ICAgICAgICAgICAgICAgIC8vRmlsbCBpbiB2YWx1ZXMgZnJvbSB4c3BmLi4KKy0gICAgICAgICAg ICAgICAgUVZhcmlhbnRNYXAgbWFwOworLSAgICAgICAgICAgICAgICBtYXAuaW5zZXJ0KCBNZXRh OjpGaWVsZDo6VElUTEUsIHRyYWNrLnRpdGxlICk7CistICAgICAgICAgICAgICAgIG1hcC5pbnNl cnQoIE1ldGE6OkZpZWxkOjpBTEJVTSwgdHJhY2suYWxidW0gKTsKKy0gICAgICAgICAgICAgICAg bWFwLmluc2VydCggTWV0YTo6RmllbGQ6OkFSVElTVCwgdHJhY2suY3JlYXRvciApOworLSAgICAg ICAgICAgICAgICBtYXAuaW5zZXJ0KCBNZXRhOjpGaWVsZDo6TEVOR1RILCB0cmFjay5kdXJhdGlv biApOworLSAgICAgICAgICAgICAgICBtYXAuaW5zZXJ0KCBNZXRhOjpGaWVsZDo6VFJBQ0tOVU1C RVIsIHRyYWNrLnRyYWNrTnVtICk7CistICAgICAgICAgICAgICAgIG1hcC5pbnNlcnQoIE1ldGE6 OkZpZWxkOjpVUkwsIHRyYWNrLmxvY2F0aW9uICk7CistICAgICAgICAgICAgICAgIE1ldGE6OkZp ZWxkOjp1cGRhdGVUcmFjayggcHJveHlUcmFjaywgbWFwICk7CistICAgICAgICAgICAgfQorLSAg ICAgICAgICAgIG1fdHJhY2tzIDw8IE1ldGE6OlRyYWNrUHRyKCBwcm94eVRyYWNrICk7CistICAg IC8vICAgICAgICAgbV90cmFja3MgPDwgQ29sbGVjdGlvbk1hbmFnZXI6Omluc3RhbmNlKCktPnRy YWNrRm9yVXJsKCB0cmFjay5sb2NhdGlvbiApOworLSAgICAgICAgfSovCistCisrICAgICAgIE1l dGFQcm94eTo6VHJhY2sgKnByb3h5VHJhY2sgPSBuZXcgTWV0YVByb3h5OjpUcmFjayggdHJhY2su bG9jYXRpb24gKTsKKysgICAgICAgLy9GaWxsIGluIHZhbHVlcyBmcm9tIHhzcGYuLgorKyAgICAg ICBwcm94eVRyYWNrLT5zZXROYW1lKCB0cmFjay50aXRsZSApOworKyAgICAgICBwcm94eVRyYWNr LT5zZXRBbGJ1bSggdHJhY2suYWxidW0gKTsKKysgICAgICAgcHJveHlUcmFjay0+c2V0QXJ0aXN0 KCB0cmFjay5jcmVhdG9yICk7CisrICAgICAgIHByb3h5VHJhY2stPnNldExlbmd0aCggdHJhY2su ZHVyYXRpb24gKTsKKysgICAgICAgcHJveHlUcmFjay0+c2V0VHJhY2tOdW1iZXIoIHRyYWNrLnRy YWNrTnVtICk7CisrICAgICAgIG1fdHJhY2tzIDw8IE1ldGE6OlRyYWNrUHRyKCBwcm94eVRyYWNr ICk7CisgICAgIH0KKyAKKyAgICAgbV90cmFja3NMb2FkZWQgPSB0cnVlOworZGlmZiAtLWdpdCBh L3NyYy9jb3JlL2NvbGxlY3Rpb25zL3N1cHBvcnQvVHJhY2tGb3JVcmxXb3JrZXIuaCBiL3NyYy9j b3JlL2NvbGxlY3Rpb25zL3N1cHBvcnQvVHJhY2tGb3JVcmxXb3JrZXIuaAoraW5kZXggNjRkMjNi ZC4uMTZkNzY0ZSAxMDA2NDQKKy0tLSBhL3NyYy9jb3JlL2NvbGxlY3Rpb25zL3N1cHBvcnQvVHJh Y2tGb3JVcmxXb3JrZXIuaAorKysrIGIvc3JjL2NvcmUvY29sbGVjdGlvbnMvc3VwcG9ydC9UcmFj a0ZvclVybFdvcmtlci5oCitAQCAtMzUsMTcgKzM1LDE3IEBAIGNsYXNzIEFNQVJPS19DT1JFX0VY UE9SVCBUcmFja0ZvclVybFdvcmtlciA6IHB1YmxpYyBUaHJlYWRXZWF2ZXI6OkpvYgorIHsKKyAg ICAgUV9PQkpFQ1QKKyBwdWJsaWM6CistICAgIFRyYWNrRm9yVXJsV29ya2VyICggY29uc3QgS1Vy bCAmdXJsICk7CistICAgIFRyYWNrRm9yVXJsV29ya2VyICggY29uc3QgUVN0cmluZyAmdXJsICk7 CisrICAgIFRyYWNrRm9yVXJsV29ya2VyKCBjb25zdCBLVXJsICZ1cmwgKTsKKysgICAgVHJhY2tG b3JVcmxXb3JrZXIoIGNvbnN0IFFTdHJpbmcgJnVybCApOworICAgICB+VHJhY2tGb3JVcmxXb3Jr ZXIoKTsKKyAKKy0gICAgdmlydHVhbCB2b2lkIHJ1biAoKSA9IDA7CisrICAgIHZpcnR1YWwgdm9p ZCBydW4oKSA9IDA7Cisgc2lnbmFsczoKKy0gICAgdm9pZCBmaW5pc2hlZExvb2t1cCAoIGNvbnN0 IE1ldGE6OlRyYWNrUHRyICAmdHJhY2sgKTsKKysgICAgdm9pZCBmaW5pc2hlZExvb2t1cCggY29u c3QgTWV0YTo6VHJhY2tQdHIgJnRyYWNrICk7CisgCisgcHJvdGVjdGVkOgorLSAgICBLVXJsIG1V cmw7CistICAgIE1ldGE6OlRyYWNrUHRyIG1UcmFjazsKKysgICAgS1VybCBtX3VybDsKKysgICAg TWV0YTo6VHJhY2tQdHIgbV90cmFjazsKKyAKKyBwcml2YXRlIHNsb3RzOgorICAgICB2b2lkIGNv bXBsZXRlSm9iKCk7CitkaWZmIC0tZ2l0IGEvc3JjL2NvcmUvY29sbGVjdGlvbnMvc3VwcG9ydC9U cmFja0ZvclVybFdvcmtlci5jcHAgYi9zcmMvY29yZS9jb2xsZWN0aW9ucy9zdXBwb3J0L1RyYWNr Rm9yVXJsV29ya2VyLmNwcAoraW5kZXggN2U4ZjI4OS4uMjhkOTJiYiAxMDA2NDQKKy0tLSBhL3Ny Yy9jb3JlL2NvbGxlY3Rpb25zL3N1cHBvcnQvVHJhY2tGb3JVcmxXb3JrZXIuY3BwCisrKysgYi9z cmMvY29yZS9jb2xsZWN0aW9ucy9zdXBwb3J0L1RyYWNrRm9yVXJsV29ya2VyLmNwcAorQEAgLTE2 LDE0ICsxNiwxOCBAQAorIAorICNpbmNsdWRlICJUcmFja0ZvclVybFdvcmtlci5oIgorIAorLUFt YXJvazo6VHJhY2tGb3JVcmxXb3JrZXI6OlRyYWNrRm9yVXJsV29ya2VyICggY29uc3QgS1VybCAm dXJsICkgOiBUaHJlYWRXZWF2ZXI6OkpvYigpLCBtVXJsICggdXJsICkKKytBbWFyb2s6OlRyYWNr Rm9yVXJsV29ya2VyOjpUcmFja0ZvclVybFdvcmtlciggY29uc3QgS1VybCAmdXJsICkKKysgICAg OiBUaHJlYWRXZWF2ZXI6OkpvYigpCisrICAgICwgbV91cmwoIHVybCApCisgeworLSAgICBjb25u ZWN0ICggdGhpcywgU0lHTkFMICggZG9uZSAoIFRocmVhZFdlYXZlcjo6Sm9iKiApICksIFNMT1Qg KCBjb21wbGV0ZUpvYigpICkgKTsKKysgICAgY29ubmVjdCggdGhpcywgU0lHTkFMKGRvbmUoIFRo cmVhZFdlYXZlcjo6Sm9iICogKSksIFNMT1QoIGNvbXBsZXRlSm9iKCkpICk7CisgfQorIAorLUFt YXJvazo6VHJhY2tGb3JVcmxXb3JrZXI6OlRyYWNrRm9yVXJsV29ya2VyKCBjb25zdCBRU3RyaW5n ICZ1cmwgKSA6IFRocmVhZFdlYXZlcjo6Sm9iKCksIG1VcmwgKCBLVXJsICggdXJsICkgKQorK0Ft YXJvazo6VHJhY2tGb3JVcmxXb3JrZXI6OlRyYWNrRm9yVXJsV29ya2VyKCBjb25zdCBRU3RyaW5n ICZ1cmwgKQorKyAgICA6IFRocmVhZFdlYXZlcjo6Sm9iKCkKKysgICAgLCBtX3VybCggS1VybCgg dXJsICkgKQorIHsKKy0gICAgY29ubmVjdCAoIHRoaXMsIFNJR05BTCAoIGRvbmUgKCBUaHJlYWRX ZWF2ZXI6OkpvYiogKSApLCBTTE9UICggY29tcGxldGVKb2IoKSApICk7CisrICAgIGNvbm5lY3Qo IHRoaXMsIFNJR05BTChkb25lKCBUaHJlYWRXZWF2ZXI6OkpvYiAqICkpLCBTTE9UKCBjb21wbGV0 ZUpvYigpKSApOworIH0KKyAKKyBBbWFyb2s6OlRyYWNrRm9yVXJsV29ya2VyOjp+VHJhY2tGb3JV cmxXb3JrZXIoKQorQEAgLTMyLDYgKzM2LDYgQEAgQW1hcm9rOjpUcmFja0ZvclVybFdvcmtlcjo6 flRyYWNrRm9yVXJsV29ya2VyKCkKKyB2b2lkCisgQW1hcm9rOjpUcmFja0ZvclVybFdvcmtlcjo6 Y29tcGxldGVKb2IoKQorIHsKKy0gICAgZW1pdCAoIGZpbmlzaGVkTG9va3VwICggbVRyYWNrICkg KTsKKysgICAgZW1pdCggZmluaXNoZWRMb29rdXAoIG1fdHJhY2sgKSApOworICAgICBkZWxldGVM YXRlcigpOworIH0KK2RpZmYgLS1naXQgYS9zcmMvc2VydmljZXMvYW1wYWNoZS9BbXBhY2hlU2Vy dmljZUNvbGxlY3Rpb24uaCBiL3NyYy9zZXJ2aWNlcy9hbXBhY2hlL0FtcGFjaGVTZXJ2aWNlQ29s bGVjdGlvbi5oCitpbmRleCBhNDhjOGYyLi5jYzQ5Nzc1IDEwMDY0NAorLS0tIGEvc3JjL3NlcnZp Y2VzL2FtcGFjaGUvQW1wYWNoZVNlcnZpY2VDb2xsZWN0aW9uLmgKKysrKyBiL3NyYy9zZXJ2aWNl cy9hbXBhY2hlL0FtcGFjaGVTZXJ2aWNlQ29sbGVjdGlvbi5oCitAQCAtMjUsMTQgKzI1LDE2IEBA IGNsYXNzIEFtcGFjaGVUcmFja0ZvclVybFdvcmtlciA6IHB1YmxpYyBBbWFyb2s6OlRyYWNrRm9y VXJsV29ya2VyCisgeworICAgICBRX09CSkVDVAorICAgICBwdWJsaWM6CistICAgICAgICBBbXBh Y2hlVHJhY2tGb3JVcmxXb3JrZXIoIGNvbnN0IEtVcmwgJnVybCwgTWV0YVByb3h5OjpUcmFja1B0 ciB0cmFjaywgY29uc3QgUVN0cmluZyAmc2VydmVyLCBjb25zdCBRU3RyaW5nICZzZXNzaW9uSWQs IFNlcnZpY2VCYXNlKiBzZXJ2aWNlKTsKKysgICAgICAgIEFtcGFjaGVUcmFja0ZvclVybFdvcmtl ciggY29uc3QgS1VybCAmdXJsLCBNZXRhUHJveHk6OlRyYWNrUHRyIHRyYWNrLAorKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBRU3RyaW5nICZzZXJ2ZXIsIGNvbnN0IFFT dHJpbmcgJnNlc3Npb25JZCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU2Vy dmljZUJhc2UgKnNlcnZpY2UpOworICAgICAgICAgfkFtcGFjaGVUcmFja0ZvclVybFdvcmtlcigp OworLSAgICAgICAgdmlydHVhbCB2b2lkIHJ1biAoKTsKKysgICAgICAgIHZpcnR1YWwgdm9pZCBy dW4oKTsKKyAgICAgICAgIHZvaWQgcGFyc2VUcmFjayggY29uc3QgUVN0cmluZyAmeG1sICk7Cisg ICAgIHNpZ25hbHM6CisgICAgICAgICB2b2lkIGF1dGhlbnRpY2F0aW9uTmVlZGVkKCk7CisgICAg IHByaXZhdGU6CistICAgICAgICBNZXRhUHJveHk6OlRyYWNrUHRyIG1Qcm94eTsKKysgICAgICAg IE1ldGFQcm94eTo6VHJhY2tQdHIgbV9wcm94eTsKKyAgICAgICAgIGludCBtX3VybFRyYWNrSWQ7 CisgICAgICAgICBpbnQgbV91cmxBbGJ1bUlkOworICAgICAgICAgaW50IG1fdXJsQXJ0aXN0SWQ7 CitAQCAtNDQsNyArNDYsNyBAQCBjbGFzcyBBbXBhY2hlVHJhY2tGb3JVcmxXb3JrZXIgOiBwdWJs aWMgQW1hcm9rOjpUcmFja0ZvclVybFdvcmtlcgorICAgICAgICAgUVN0cmluZyBtX3NlcnZlcjsK KyAgICAgICAgIFFTdHJpbmcgbV9zZXNzaW9uSWQ7CisgCistICAgICAgICBTZXJ2aWNlQmFzZSog bV9zZXJ2aWNlOworKyAgICAgICAgU2VydmljZUJhc2UgKm1fc2VydmljZTsKKyB9OworIAorIG5h bWVzcGFjZSBDb2xsZWN0aW9ucyB7CitAQCAtNTksMTEgKzYxLDEyIEBAIGNsYXNzIEFtcGFjaGVT ZXJ2aWNlQ29sbGVjdGlvbiA6IHB1YmxpYyBTZXJ2aWNlQ29sbGVjdGlvbgorICAgICBRX09CSkVD VAorIAorIHB1YmxpYzoKKy0gICAgQW1wYWNoZVNlcnZpY2VDb2xsZWN0aW9uKCBTZXJ2aWNlQmFz ZSAqIHNlcnZpY2UsIGNvbnN0IFFTdHJpbmcgJnNlcnZlciwgY29uc3QgUVN0cmluZyAmc2Vzc2lv bklkICk7CisrICAgIEFtcGFjaGVTZXJ2aWNlQ29sbGVjdGlvbiggU2VydmljZUJhc2UgKnNlcnZp Y2UsIGNvbnN0IFFTdHJpbmcgJnNlcnZlciwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBjb25zdCBRU3RyaW5nICZzZXNzaW9uSWQgKTsKKyAKKyAgICAgdmlydHVhbCB+QW1wYWNoZVNl cnZpY2VDb2xsZWN0aW9uKCk7CisgCistICAgIHZpcnR1YWwgUXVlcnlNYWtlciogcXVlcnlNYWtl cigpOworKyAgICB2aXJ0dWFsIFF1ZXJ5TWFrZXIgKnF1ZXJ5TWFrZXIoKTsKKyAKKyAgICAgdmly dHVhbCBRU3RyaW5nIGNvbGxlY3Rpb25JZCgpIGNvbnN0OworICAgICB2aXJ0dWFsIFFTdHJpbmcg cHJldHR5TmFtZSgpIGNvbnN0OworQEAgLTc2LDE2ICs3OSwxMyBAQCBzaWduYWxzOgorIAorIHB1 YmxpYyBzbG90czoKKyAgICAgdm9pZCBzbG90QXV0aGVudGljYXRpb25OZWVkZWQoKTsKKy0gICAg dm9pZCBzbG90TG9va3VwQ29tcGxldGUoIGNvbnN0IE1ldGE6OlRyYWNrUHRyJiApOworKyAgICB2 b2lkIHNsb3RMb29rdXBDb21wbGV0ZSggY29uc3QgTWV0YTo6VHJhY2tQdHIgJiApOworIAorIHBy aXZhdGU6CistICAgIC8qdm9pZCBwYXJzZUFsYnVtKCBjb25zdCBRU3RyaW5nICZ4bWwgKTsKKy0g ICAgdm9pZCBwYXJzZUFydGlzdCggY29uc3QgUVN0cmluZyAmeG1sICk7Ki8KKy0KKyAgICAgUVN0 cmluZyBtX3NlcnZlcjsKKyAgICAgUVN0cmluZyBtX3Nlc3Npb25JZDsKKyAKKy0gICAgQW1wYWNo ZVRyYWNrRm9yVXJsV29ya2VyICogbV90cmFja0ZvclVybFdvcmtlcjsKKysgICAgQW1wYWNoZVRy YWNrRm9yVXJsV29ya2VyICptX3RyYWNrRm9yVXJsV29ya2VyOworIH07CisgCisgfSAvL25hbWVz cGFjZSBDb2xsZWN0aW9ucworLS0gCisxLjcuNS40CisKK2RpZmYgLS1naXQgYS9zcmMvc2Vydmlj ZXMvYW1wYWNoZS9BbXBhY2hlU2VydmljZUNvbGxlY3Rpb24uY3BwIGIvc3JjL3NlcnZpY2VzL2Ft cGFjaGUvQW1wYWNoZVNlcnZpY2VDb2xsZWN0aW9uLmNwcAoraW5kZXggYjY4NGUzNC4uYzNiNTEx NSAxMDA2NDQKKy0tLSBhL3NyYy9zZXJ2aWNlcy9hbXBhY2hlL0FtcGFjaGVTZXJ2aWNlQ29sbGVj dGlvbi5jcHAKKysrKyBiL3NyYy9zZXJ2aWNlcy9hbXBhY2hlL0FtcGFjaGVTZXJ2aWNlQ29sbGVj dGlvbi5jcHAKK0BAIC0yNyw3ICsyNyw5IEBACisgCisgdXNpbmcgbmFtZXNwYWNlIENvbGxlY3Rp b25zOworIAorLUFtcGFjaGVTZXJ2aWNlQ29sbGVjdGlvbjo6QW1wYWNoZVNlcnZpY2VDb2xsZWN0 aW9uKCBTZXJ2aWNlQmFzZSAqIHNlcnZpY2UsIGNvbnN0IFFTdHJpbmcgJnNlcnZlciwgY29uc3Qg UVN0cmluZyAmc2Vzc2lvbklkICkKKytBbXBhY2hlU2VydmljZUNvbGxlY3Rpb246OkFtcGFjaGVT ZXJ2aWNlQ29sbGVjdGlvbiggU2VydmljZUJhc2UgKnNlcnZpY2UsCisrICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFFTdHJpbmcgJnNlcnZl ciwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Y29uc3QgUVN0cmluZyAmc2Vzc2lvbklkICkKKyAgICAgOiBTZXJ2aWNlQ29sbGVjdGlvbiggc2Vy dmljZSwgIkFtcGFjaGVDb2xsZWN0aW9uIiwgIkFtcGFjaGVDb2xsZWN0aW9uIiApCisgICAgICwg bV9zZXJ2ZXIoIHNlcnZlciApCisgICAgICwgbV9zZXNzaW9uSWQoIHNlc3Npb25JZCApCitAQCAt NTgsNyArNjAsNyBAQCBBbXBhY2hlU2VydmljZUNvbGxlY3Rpb246OnByZXR0eU5hbWUoKSBjb25z dAorIH0KKyAKKyBib29sCistQW1wYWNoZVNlcnZpY2VDb2xsZWN0aW9uOjpwb3NzaWJseUNvbnRh aW5zVHJhY2soY29uc3QgS1VybCAmIHVybCkgY29uc3QKKytBbXBhY2hlU2VydmljZUNvbGxlY3Rp b246OnBvc3NpYmx5Q29udGFpbnNUcmFjayggY29uc3QgS1VybCAmdXJsICkgY29uc3QKKyB7Cisg ICAgIHJldHVybiB1cmwudXJsKCkuY29udGFpbnMoIG1fc2VydmVyICk7CisgfQorQEAgLTcwLDc3 ICs3Miw4MiBAQCBBbXBhY2hlU2VydmljZUNvbGxlY3Rpb246OnNsb3RBdXRoZW50aWNhdGlvbk5l ZWRlZCgpCisgfQorIAorIE1ldGE6OlRyYWNrUHRyCistQW1wYWNoZVNlcnZpY2VDb2xsZWN0aW9u Ojp0cmFja0ZvclVybCggY29uc3QgS1VybCAmIHVybCApCisrQW1wYWNoZVNlcnZpY2VDb2xsZWN0 aW9uOjp0cmFja0ZvclVybCggY29uc3QgS1VybCAmdXJsICkKKyB7CistICAgIE1ldGFQcm94eTo6 VHJhY2sqIHB0cmFjayA9IG5ldyBNZXRhUHJveHk6OlRyYWNrKCB1cmwudXJsKCksIHRydWUgKTsK Ky0gICAgTWV0YVByb3h5OjpUcmFja1B0ciB0cmFja3B0cihwdHJhY2spOworLSAgICBBbXBhY2hl VHJhY2tGb3JVcmxXb3JrZXIgKiB3b3JrZXIgPSAgbmV3IEFtcGFjaGVUcmFja0ZvclVybFdvcmtl cih1cmwsIHRyYWNrcHRyLCBtX3NlcnZlciwgbV9zZXNzaW9uSWQsIHNlcnZpY2UoKSApOworLS8v ICAgICBjb25uZWN0KCB3b3JrZXIsIFNJR05BTCggZmluaXNoZWRMb29rdXAgKCBjb25zdCBNZXRh OjpUcmFja1B0ciYgKSApLCB0aGlzLAorLS8vICAgICAgICAgICAgICBTTE9UKCBzbG90TG9va3Vw Q29tcGxldGUoIGNvbnN0IE1ldGE6OlRyYWNrUHRyJiApICkgKTsKKy0gICAgY29ubmVjdCggd29y a2VyLCBTSUdOQUwoIGF1dGhlbnRpY2F0aW9uTmVlZGVkKCkgKSwgdGhpcywKKy0gICAgICAgICAg ICAgU0xPVCggc2xvdEF1dGhlbnRpY2F0aW9uTmVlZGVkKCkgKSApOworKyAgICBNZXRhUHJveHk6 OlRyYWNrICpwdHJhY2sgPSBuZXcgTWV0YVByb3h5OjpUcmFjayggdXJsLnVybCgpLCB0cnVlICk7 CisrICAgIE1ldGFQcm94eTo6VHJhY2tQdHIgdHJhY2twdHIoIHB0cmFjayApOworKyAgICBBbXBh Y2hlVHJhY2tGb3JVcmxXb3JrZXIgKndvcmtlciA9IG5ldyBBbXBhY2hlVHJhY2tGb3JVcmxXb3Jr ZXIoIHVybCwgdHJhY2twdHIsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbV9zZXJ2ZXIsCisrICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg bV9zZXNzaW9uSWQsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VydmljZSgpICk7CisrICAgIGNvbm5lY3QoIHdv cmtlciwgU0lHTkFMKGF1dGhlbnRpY2F0aW9uTmVlZGVkKCkpLCBTTE9UKHNsb3RBdXRoZW50aWNh dGlvbk5lZWRlZCgpKSApOworICAgICBUaHJlYWRXZWF2ZXI6OldlYXZlcjo6aW5zdGFuY2UoKS0+ ZW5xdWV1ZSggd29ya2VyICk7CisgCisgICAgIHJldHVybiBNZXRhOjpUcmFja1B0cjo6c3RhdGlj Q2FzdCggdHJhY2twdHIgKTsKKyB9CisrCisgdm9pZCBBbXBhY2hlU2VydmljZUNvbGxlY3Rpb246 OnNsb3RMb29rdXBDb21wbGV0ZSggY29uc3QgTWV0YTo6VHJhY2tQdHImICkKKyB7CisgfQorIAor IHZvaWQgQW1wYWNoZVRyYWNrRm9yVXJsV29ya2VyOjpwYXJzZVRyYWNrKCBjb25zdCBRU3RyaW5n ICZ4bWwgKQorIHsKKy0vLyAgICAgREVCVUdfQkxPQ0sKKy0KKy0vLyAgICAgIGRlYnVnKCkgPDwg IlJlY2VpdmVkIHRyYWNrIHJlc3BvbnNlOiAiIDw8IHhtbDsKKy0KKy0gICAgIC8vc28gbGV0cyBm aWd1cmUgb3V0IHdoYXQgd2UgZ290IGhlcmU6CisrICAgIC8vc28gbGV0cyBmaWd1cmUgb3V0IHdo YXQgd2UgZ290IGhlcmU6CisgICAgIFFEb21Eb2N1bWVudCBkb2MoICJyZXBseSIgKTsKKyAgICAg ZG9jLnNldENvbnRlbnQoIHhtbCApOworLSAgICBRRG9tRWxlbWVudCByb290ID0gZG9jLmZpcnN0 Q2hpbGRFbGVtZW50KCJyb290Iik7CistICAgIFFEb21FbGVtZW50IHNvbmcgPSByb290LmZpcnN0 Q2hpbGRFbGVtZW50KCJzb25nIik7CisrICAgIFFEb21FbGVtZW50IHJvb3QgPSBkb2MuZmlyc3RD aGlsZEVsZW1lbnQoICJyb290IiApOworKyAgICBRRG9tRWxlbWVudCBzb25nID0gcm9vdC5maXJz dENoaWxkRWxlbWVudCggInNvbmciICk7CisgCistICAgIG1fdXJsVHJhY2tJZCA9IHNvbmcuYXR0 cmlidXRlKCAiaWQiLCAiMCIpLnRvSW50KCk7CisrICAgIG1fdXJsVHJhY2tJZCA9IHNvbmcuYXR0 cmlidXRlKCAiaWQiLCAiMCIgKS50b0ludCgpOworIAorLSAgICBRRG9tRWxlbWVudCBlbGVtZW50 ID0gc29uZy5maXJzdENoaWxkRWxlbWVudCgidGl0bGUiKTsKKysgICAgUURvbUVsZW1lbnQgZWxl bWVudCA9IHNvbmcuZmlyc3RDaGlsZEVsZW1lbnQoICJ0aXRsZSIgKTsKKyAKKyAgICAgUVN0cmlu ZyB0aXRsZSA9IGVsZW1lbnQudGV4dCgpOworICAgICBpZiAoIHRpdGxlLmlzRW1wdHkoKSApIHRp dGxlID0gIlVua25vd24iOworIAorLSAgICBlbGVtZW50ID0gc29uZy5maXJzdENoaWxkRWxlbWVu dCgidXJsIik7CisrICAgIGVsZW1lbnQgPSBzb25nLmZpcnN0Q2hpbGRFbGVtZW50KCAidXJsIiAp OworIAorICAgICBtX3VybFRyYWNrID0gbmV3IE1ldGE6OkFtcGFjaGVUcmFjayggdGl0bGUsIG1f c2VydmljZSApOworICAgICBNZXRhOjpUcmFja1B0ciB0cmFja1B0ciggbV91cmxUcmFjayApOwor IAorLSAgICAvL2RlYnVnKCkgPDwgIkFkZGluZyB0cmFjazogIiA8PCAgdGl0bGU7CisgICAgIG1f dXJsVHJhY2stPnNldFVpZFVybCggZWxlbWVudC50ZXh0KCkgKTsKKyAgICAgbV91cmxUcmFjay0+ c2V0SWQoIG1fdXJsVHJhY2tJZCApOworIAorLSAgICBlbGVtZW50ID0gc29uZy5maXJzdENoaWxk RWxlbWVudCgidGltZSIpOworKyAgICBlbGVtZW50ID0gc29uZy5maXJzdENoaWxkRWxlbWVudCgg InRpbWUiICk7CisgICAgIG1fdXJsVHJhY2stPnNldExlbmd0aCggZWxlbWVudC50ZXh0KCkudG9J bnQoKSAqIDEwMDAgKTsKKyAKKy0gICAgZWxlbWVudCA9IHNvbmcuZmlyc3RDaGlsZEVsZW1lbnQo InRyYWNrIik7CisrICAgIGVsZW1lbnQgPSBzb25nLmZpcnN0Q2hpbGRFbGVtZW50KCAidHJhY2si ICk7CisgICAgIG1fdXJsVHJhY2stPnNldFRyYWNrTnVtYmVyKCBlbGVtZW50LnRleHQoKS50b0lu dCgpICk7CisgCistICAgIFFEb21FbGVtZW50IGFsYnVtRWxlbWVudCA9IHNvbmcuZmlyc3RDaGls ZEVsZW1lbnQoImFsYnVtIik7CistICAgIC8vbV91cmxBbGJ1bUlkID0gYWxidW1FbGVtZW50LmF0 dHJpYnV0ZSggImlkIiwgIjAiKS50b0ludCgpOworKyAgICBRRG9tRWxlbWVudCBhbGJ1bUVsZW1l bnQgPSBzb25nLmZpcnN0Q2hpbGRFbGVtZW50KCAiYWxidW0iICk7CisrICAgIG1fdXJsQWxidW1J ZCA9IGFsYnVtRWxlbWVudC5hdHRyaWJ1dGUoICJpZCIsICIwIiApLnRvSW50KCk7CisgCistICAg IE1ldGE6OkFtcGFjaGVBbGJ1bSAqIGFsYnVtID0gbmV3IE1ldGE6OkFtcGFjaGVBbGJ1bSggYWxi dW1FbGVtZW50LnRleHQoKSApOworKyAgICBNZXRhOjpBbXBhY2hlQWxidW0gKmFsYnVtID0gbmV3 IE1ldGE6OkFtcGFjaGVBbGJ1bSggYWxidW1FbGVtZW50LnRleHQoKSApOworIAorLSAgICBRRG9t RWxlbWVudCBhcnRFbGVtZW50ID0gc29uZy5maXJzdENoaWxkRWxlbWVudCgiYXJ0Iik7CisrICAg IFFEb21FbGVtZW50IGFydEVsZW1lbnQgPSBzb25nLmZpcnN0Q2hpbGRFbGVtZW50KCAiYXJ0IiAp OworICAgICBhbGJ1bS0+c2V0Q292ZXJVcmwoIGFydEVsZW1lbnQudGV4dCgpICk7CisgCisgICAg IGFsYnVtLT5hZGRUcmFjayggdHJhY2tQdHIgKTsKKyAgICAgbV91cmxUcmFjay0+c2V0QWxidW1Q dHIoIE1ldGE6OkFsYnVtUHRyKCBhbGJ1bSApICk7CisgCistICAgIFFEb21FbGVtZW50IGFydGlz dEVsZW1lbnQgPSBzb25nLmZpcnN0Q2hpbGRFbGVtZW50KCJhcnRpc3QiKTsKKy0gICAgTWV0YTo6 U2VydmljZUFydGlzdCAqIGFydGlzdCA9IG5ldyBNZXRhOjpTZXJ2aWNlQXJ0aXN0KCBhcnRpc3RF bGVtZW50LnRleHQoKSApOworKyAgICBRRG9tRWxlbWVudCBhcnRpc3RFbGVtZW50ID0gc29uZy5m aXJzdENoaWxkRWxlbWVudCggImFydGlzdCIgKTsKKysgICAgTWV0YTo6U2VydmljZUFydGlzdCAq YXJ0aXN0ID0gbmV3IE1ldGE6OlNlcnZpY2VBcnRpc3QoIGFydGlzdEVsZW1lbnQudGV4dCgpICk7 CisgCisgICAgIE1ldGE6OkFydGlzdFB0ciBhcnRpc3RQdHIoIGFydGlzdCApOworICAgICBtX3Vy bFRyYWNrLT5zZXRBcnRpc3QoIGFydGlzdFB0ciApOworICAgICBhbGJ1bS0+c2V0QWxidW1BcnRp c3QoIGFydGlzdFB0ciApOworIH0KKyAKKy1BbXBhY2hlVHJhY2tGb3JVcmxXb3JrZXI6OkFtcGFj aGVUcmFja0ZvclVybFdvcmtlcihjb25zdCBLVXJsICZ1cmwsIE1ldGFQcm94eTo6VHJhY2tQdHIg dHJhY2ssIGNvbnN0IFFTdHJpbmcgJnNlcnZlciwgY29uc3QgUVN0cmluZyAmc2Vzc2lvbklkLCBT ZXJ2aWNlQmFzZSogc2VydmljZSkgOiBBbWFyb2s6OlRyYWNrRm9yVXJsV29ya2VyKHVybCksIG1Q cm94eSh0cmFjayksIG1fc2VydmVyKHNlcnZlciksIG1fc2Vzc2lvbklkKHNlc3Npb25JZCksIG1f c2VydmljZShzZXJ2aWNlKQorK0FtcGFjaGVUcmFja0ZvclVybFdvcmtlcjo6QW1wYWNoZVRyYWNr Rm9yVXJsV29ya2VyKCBjb25zdCBLVXJsICZ1cmwsCisrICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1ldGFQcm94eTo6VHJhY2tQdHIgdHJhY2ssCisr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0 IFFTdHJpbmcgJnNlcnZlciwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgY29uc3QgUVN0cmluZyAmc2Vzc2lvbklkLAorKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTZXJ2aWNlQmFzZSAqc2Vydmlj ZSApCisrICAgIDogQW1hcm9rOjpUcmFja0ZvclVybFdvcmtlciggdXJsICkKKysgICAgLCBtX3By b3h5KCB0cmFjayApCisrICAgICwgbV9zZXJ2ZXIoIHNlcnZlciApCisrICAgICwgbV9zZXNzaW9u SWQoIHNlc3Npb25JZCApCisrICAgICwgbV9zZXJ2aWNlKCBzZXJ2aWNlICkKKyB7CisgfQorIAor QEAgLTE1MCw4ICsxNTcsNiBAQCBBbXBhY2hlVHJhY2tGb3JVcmxXb3JrZXI6On5BbXBhY2hlVHJh Y2tGb3JVcmxXb3JrZXIoKQorIHZvaWQKKyBBbXBhY2hlVHJhY2tGb3JVcmxXb3JrZXI6OnJ1bigp CisgeworLSAgICAvLyBERUJVR19CTE9DSzsKKy0KKyAgICAgbV91cmxUcmFjayA9IDA7CisgICAg IG1fdXJsQWxidW0gPSAwOworICAgICBtX3VybEFydGlzdCA9IDA7CitAQCAtMTYyLDkgKzE2Nyw5 IEBAIEFtcGFjaGVUcmFja0ZvclVybFdvcmtlcjo6cnVuKCkKKyAKKyAgICAgLy9zZW5kIHVybF90 b19zb25nIHRvIEFtcGFjaGUKKyAKKy0gICAgUVN0cmluZyByZXF1ZXN0VXJsID0gUVN0cmluZygg IiUxL3NlcnZlci94bWwuc2VydmVyLnBocD9hY3Rpb249dXJsX3RvX3NvbmcmYXV0aD0lMiZ1cmw9 JTMiKQorLSAgICAuIGFyZyggIG1fc2VydmVyLCAgbV9zZXNzaW9uSWQsICBRVXJsOjp0b1BlcmNl bnRFbmNvZGluZyggbVVybC51cmwoKSApICk7CistICAgIC8vICAgICBkZWJ1ZygpIDw8ICJyZXF1 ZXN0IHVybDogIiA8PCByZXF1ZXN0VXJsOworKyAgICBRU3RyaW5nIHJlcXVlc3RVcmwgPQorKyAg ICAgICAgICAgIFFTdHJpbmcoICIlMS9zZXJ2ZXIveG1sLnNlcnZlci5waHA/YWN0aW9uPXVybF90 b19zb25nJmF1dGg9JTImdXJsPSUzIiApCisrICAgICAgICAgICAgICAgICAgICAuYXJnKCBtX3Nl cnZlciwgbV9zZXNzaW9uSWQsIFFVcmw6OnRvUGVyY2VudEVuY29kaW5nKCBtX3VybC51cmwoKSAp ICk7CisgCisgICAgIFFOZXR3b3JrUmVxdWVzdCByZXEoIHJlcXVlc3RVcmwgKTsKKyAgICAgUU5l dHdvcmtSZXBseSAqcmVwbHkgPSBUaGU6Om5ldHdvcmtBY2Nlc3NNYW5hZ2VyKCktPmdldCggcmVx ICk7CitAQCAtMTc4LDcgKzE4Myw3IEBAIEFtcGFjaGVUcmFja0ZvclVybFdvcmtlcjo6cnVuKCkK KyAgICAgICAgIH0KKyAgICAgfQorICAgICBwYXJzZVRyYWNrKCByZXBseS0+cmVhZEFsbCgpICk7 CistICAgIG1UcmFjayA9IE1ldGE6OlRyYWNrUHRyKCBtX3VybFRyYWNrICk7CistICAgIG1Qcm94 eS0+dXBkYXRlVHJhY2soIG1UcmFjayApOworKyAgICBtX3RyYWNrID0gTWV0YTo6VHJhY2tQdHIo IG1fdXJsVHJhY2sgKTsKKysgICAgbV9wcm94eS0+dXBkYXRlVHJhY2soIG1fdHJhY2sgKTsKKyAg ICAgcmVwbHktPmRlbGV0ZUxhdGVyKCk7CisgfQoKZGlmZiAtLWdpdCBhL2FtYXJvay5zcGVjIGIv YW1hcm9rLnNwZWMKaW5kZXggZmJiODNlNS4uNGJkZjE2ZSAxMDA2NDQKLS0tIGEvYW1hcm9rLnNw ZWMKKysrIGIvYW1hcm9rLnNwZWMKQEAgLTIsNyArMiw3IEBACiBOYW1lOiAgICBhbWFyb2sKIFN1 bW1hcnk6IE1lZGlhIHBsYXllcgogVmVyc2lvbjogMi41LjAKLVJlbGVhc2U6IDclez9kaXN0fQor UmVsZWFzZTogOCV7P2Rpc3R9CiAKICMgS0RFIGUuVi4gbWF5IGRldGVybWluZSB0aGF0IGZ1dHVy ZSBHUEwgdmVyc2lvbnMgYXJlIGFjY2VwdGVkCiBMaWNlbnNlOiBHUEx2MiBvciBHUEx2MwpAQCAt MTksNiArMTksOSBAQCBQYXRjaDA6ICBhbWFyb2stMi41LjAtb25saW5lZG9jLnBhdGNoCiAjIyB1 cHN0cmVhbSBwYXRjaGVzCiAjIGh0dHBzOi8vYnVncy5rZGUub3JnL3Nob3dfYnVnLmNnaT9pZD0y OTAxMjMKIFBhdGNoMTAwOiBhbWFyb2stMi41LjAta2RlNDhfY29udGV4dF92aWV3LnBhdGNoIAor IyBMb2FkIGFsbCB0cmFja3MgZnJvbSBYU1BGIHVzaW5nIE1ldGFQcm94eS4KKyMgaHR0cHM6Ly9i dWdzLmtkZS5vcmcvc2hvd19idWcuY2dpP2lkPTI5NTE5OQorUGF0Y2gxMDE6IDAwMDEtTG9hZC1h bGwtdHJhY2tzLWZyb20tWFNQRi11c2luZy1NZXRhUHJveHkucGF0Y2gKIAogQnVpbGRSZXF1aXJl czogY3VybC1kZXZlbAogQnVpbGRSZXF1aXJlczogZGVza3RvcC1maWxlLXV0aWxzCkBAIC05MCw2 ICs5Myw3IEBAIEJ1aWxkQXJjaDogbm9hcmNoCiAlcGF0Y2gwIC1wMSAtYiAub25saW5lZG9jCiAj cGF0Y2g1MCAtcDEgLWIgLnF0c2NyaXB0X25vdF9yZXF1aXJlZAogJXBhdGNoMTAwIC1wMSAtYiAu a2RlNDhfY29udGV4dF92aWV3CislcGF0Y2gxMDEgLXAxIC1iIC5sb2FkYWxsX3hzcGYKIAogCiAl YnVpbGQKQEAgLTE3OSw2ICsxODMsOSBAQCBmaQogCiAKICVjaGFuZ2Vsb2cKKyogVHVlIE1hciAx MyAyMDEyIFJleCBEaWV0ZXIgPHJkaWV0ZXJAZmVkb3JhcHJvamVjdC5vcmc+IDIuNS4wLTgKKy0g TG9hZCBhbGwgWFNQRiB0cmFja3MgKGtkZSMyOTUxOTkpCisKICogVHVlIEZlYiAyOCAyMDEyIEZl ZG9yYSBSZWxlYXNlIEVuZ2luZWVyaW5nIDxyZWwtZW5nQGxpc3RzLmZlZG9yYXByb2plY3Qub3Jn PiAtIDIuNS4wLTcKIC0gUmVidWlsdCBmb3IgYysrIEFCSSBicmVha2FnZQogCg==