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.5.96 (2.6rc1) Date: Mon, 06 Jul 2026 18:05:05 GMT Message-ID: <178336110518.1.8759050274777289250.rpms-amarok-82423e3c2647@fedoraproject.org> List-ID: X-Git-Repo: rpms/amarok X-Git-Branch: epel10 X-Git-Rev: 82423e3c26471b0cf050be8b36a1c0531562e447 QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvYW1hcm9rCkJyYW5j aCA6IGVwZWwxMApDb21taXQgOiA4MjQyM2UzYzI2NDcxYjBjZjA1MGJlOGIzNmExYzA1MzE1NjJl NDQ3CkF1dGhvciA6IFJleCBEaWV0ZXIgPHJkaWV0ZXJAZmVkb3JhcHJvamVjdC5vcmc+CkRhdGUg ICA6IDIwMTItMDgtMDJUMDc6NTY6MTUtMDU6MDAKU3RhdHMgIDogKzcyMy8tODM3IGluIDYgZmls ZShzKQpVUkwgICAgOiBodHRwczovL3NyYy5mZWRvcmFwcm9qZWN0Lm9yZy9ycG1zL2FtYXJvay9j LzgyNDIzZTNjMjY0NzFiMGNmMDUwYmU4YjM2YTFjMDUzMTU2MmU0NDc/YnJhbmNoPWVwZWwxMAoK TG9nOgoyLjUuOTYgKDIuNnJjMSkKCi0tLQpkaWZmIC0tZ2l0IGEvLmdpdGlnbm9yZSBiLy5naXRp Z25vcmUKaW5kZXggY2YyMDAzZC4uZTYzMjY2ZCAxMDA2NDQKLS0tIGEvLmdpdGlnbm9yZQorKysg Yi8uZ2l0aWdub3JlCkBAIC0xLDIgKzEsMiBAQAogL2FtYXJvay0yLjUuMC50YXIuYnoyCi0vYW1h cm9rLTIuNS45MC50YXIuYnoyCisvYW1hcm9rLTIuNS45Ni50YXIuYnoyCgpkaWZmIC0tZ2l0IGEv YW1hcm9rLTIuNS45Ni1saWJsYXN0Zm0xLnBhdGNoIGIvYW1hcm9rLTIuNS45Ni1saWJsYXN0Zm0x LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM4ODE1NTkKLS0tIC9k ZXYvbnVsbAorKysgYi9hbWFyb2stMi41Ljk2LWxpYmxhc3RmbTEucGF0Y2gKQEAgLTAsMCArMSw3 MDYgQEAKK2RpZmYgLXVwIGFtYXJvay0yLjUuOTYvQ01ha2VMaXN0cy50eHQubGlibGFzdGZtMSBh bWFyb2stMi41Ljk2L0NNYWtlTGlzdHMudHh0CistLS0gYW1hcm9rLTIuNS45Ni9DTWFrZUxpc3Rz LnR4dC5saWJsYXN0Zm0xCTIwMTItMDctMzEgMDU6MTc6MjAuMDAwMDAwMDAwIC0wNTAwCisrKysg YW1hcm9rLTIuNS45Ni9DTWFrZUxpc3RzLnR4dAkyMDEyLTA4LTAyIDA3OjUyOjEzLjY1MzE4Nzc0 MyAtMDUwMAorQEAgLTEyOSw3ICsxMjksNyBAQCBpZiggV0lUSF9QTEFZRVIgKQorICAgICAjIG1h Y3JvX2xvZ19mZWF0dXJlKCBTVFJJR0lfRk9VTkQgInN0cmlnaSIgIkluZGV4IG1ldGFkYXRhIG9m IGZpbGVzIiAiaHR0cDovL3N0cmlnaS5zb3VyY2Vmb3JnZS5uZXQiIEZBTFNFICIiICIiICkKKyAK KyAgICAgbWFjcm9fb3B0aW9uYWxfZmluZF9wYWNrYWdlKExpYkxhc3RGbSkKKy0gICAgbWFjcm9f bG9nX2ZlYXR1cmUoIExJQkxBU1RGTV9GT1VORCAibGlibGFzdGZtIiAiRW5hYmxlIExhc3QuRm0g c2VydmljZSwgaW5jbHVkaW5nIHNjcm9iYmxpbmcsIHNvbmcgc3VibWlzc2lvbnMsIGFuZCBzdWdn ZXN0ZWQgc29uZyBkeW5hbWljIHBsYXlsaXN0cyIgImh0dHA6Ly9jZG4ubGFzdC5mbS9zcmMvbGli bGFzdGZtLTAuMy4wLnRhci5iejIiIEZBTFNFICIiICJ2ZXJzaW9uIDAuMy54ICh2ZXJzaW9ucyAx LjAgb3IgaGlnaGVyIGFyZSBpbmNvbXBhdGlibGUpIiApCisrICAgIG1hY3JvX2xvZ19mZWF0dXJl KCBMSUJMQVNURk1fRk9VTkQgImxpYmxhc3RmbSIgIkVuYWJsZSBMYXN0LkZtIHNlcnZpY2UsIGlu Y2x1ZGluZyBzY3JvYmJsaW5nLCBzb25nIHN1Ym1pc3Npb25zLCBhbmQgc3VnZ2VzdGVkIHNvbmcg ZHluYW1pYyBwbGF5bGlzdHMiICJodHRwOi8vY2RuLmxhc3QuZm0vc3JjL2xpYmxhc3RmbS0xLjAu MC50YXIuZ3oiIEZBTFNFICIxLjAuMCIgIiIgKQorICAgICBtYWNyb19ib29sX3RvXzAxKCBMSUJM QVNURk1fRk9VTkQgSEFWRV9MSUJMQVNURk0gKQorIAorICAgICBtYWNyb19vcHRpb25hbF9maW5k X3BhY2thZ2UoIEZGbXBlZyApCitkaWZmIC11cCBhbWFyb2stMi41Ljk2L2NtYWtlL21vZHVsZXMv RmluZExpYkxhc3RGbS5jbWFrZS5saWJsYXN0Zm0xIGFtYXJvay0yLjUuOTYvY21ha2UvbW9kdWxl cy9GaW5kTGliTGFzdEZtLmNtYWtlCistLS0gYW1hcm9rLTIuNS45Ni9jbWFrZS9tb2R1bGVzL0Zp bmRMaWJMYXN0Rm0uY21ha2UubGlibGFzdGZtMQkyMDEyLTA3LTMxIDA1OjEwOjU2LjAwMDAwMDAw MCAtMDUwMAorKysrIGFtYXJvay0yLjUuOTYvY21ha2UvbW9kdWxlcy9GaW5kTGliTGFzdEZtLmNt YWtlCTIwMTItMDgtMDIgMDc6Mzg6MjQuMzE3NTU1ODY5IC0wNTAwCitAQCAtNiw3ICs2LDcgQEAK KyAjIExJQkxBU1RGTV9GT1VORCwgd2hldGhlciBsaWJsYXN0Zm0gd2FzIGZvdW5kCisgCisgCist ZmluZF9wYXRoKExJQkxBU1RGTV9JTkNMVURFX0RJUiBOQU1FUyBBdWRpb3Njcm9iYmxlcgorK2Zp bmRfcGF0aChMSUJMQVNURk1fSU5DTFVERV9ESVIgTkFNRVMgbGFzdGZtCisgICAgSElOVFMKKyAg ICB+L3Vzci9pbmNsdWRlCisgICAgL29wdC9sb2NhbC9pbmNsdWRlCitkaWZmIC11cCBhbWFyb2st Mi41Ljk2L3NyYy9jb250ZXh0L2VuZ2luZXMvdXBjb21pbmdldmVudHMvVXBjb21pbmdFdmVudHNF bmdpbmUuY3BwLmxpYmxhc3RmbTEgYW1hcm9rLTIuNS45Ni9zcmMvY29udGV4dC9lbmdpbmVzL3Vw Y29taW5nZXZlbnRzL1VwY29taW5nRXZlbnRzRW5naW5lLmNwcAorLS0tIGFtYXJvay0yLjUuOTYv c3JjL2NvbnRleHQvZW5naW5lcy91cGNvbWluZ2V2ZW50cy9VcGNvbWluZ0V2ZW50c0VuZ2luZS5j cHAubGlibGFzdGZtMQkyMDEyLTA3LTMxIDA1OjEwOjU2LjAwMDAwMDAwMCAtMDUwMAorKysrIGFt YXJvay0yLjUuOTYvc3JjL2NvbnRleHQvZW5naW5lcy91cGNvbWluZ2V2ZW50cy9VcGNvbWluZ0V2 ZW50c0VuZ2luZS5jcHAJMjAxMi0wOC0wMiAwNzozODoyNC4zMDE1NTYwNjggLTA1MDAKK0BAIC0y NywxMCArMjcsNiBAQAorICNpbmNsdWRlICJFbmdpbmVDb250cm9sbGVyLmgiCisgI2luY2x1ZGUg Ikxhc3RGbUV2ZW50WG1sUGFyc2VyLmgiCisgCistLy8gTGFzdEZtCistI2luY2x1ZGUgPGxhc3Rm bS9YbWxRdWVyeT4KKy0jaW5jbHVkZSA8bGFzdGZtL3dzLmg+CistCisgLy8gS0RFCisgI2luY2x1 ZGUgPEtEYXRlVGltZT4KKyAKK2RpZmYgLXVwIGFtYXJvay0yLjUuOTYvc3JjL2NvcmUvc3VwcG9y dC9BbWFyb2suaC5saWJsYXN0Zm0xIGFtYXJvay0yLjUuOTYvc3JjL2NvcmUvc3VwcG9ydC9BbWFy b2suaAorLS0tIGFtYXJvay0yLjUuOTYvc3JjL2NvcmUvc3VwcG9ydC9BbWFyb2suaC5saWJsYXN0 Zm0xCTIwMTItMDctMzEgMDU6MTA6NTYuMDAwMDAwMDAwIC0wNTAwCisrKysgYW1hcm9rLTIuNS45 Ni9zcmMvY29yZS9zdXBwb3J0L0FtYXJvay5oCTIwMTItMDgtMDIgMDc6Mzg6MjQuMzAxNTU2MDY4 IC0wNTAwCitAQCAtMjAzLDYgKzIwMyw3IEBAIG5hbWVzcGFjZSBBbWFyb2sKKyAKKyAgICAgaW5s aW5lIGNvbnN0IGNoYXIqIGRpc2NvZ3NBcGlLZXkoKSB7IHJldHVybiAiOTE3MzRkZDk4OSI7IH0K KyAgICAgaW5saW5lIGNvbnN0IGNoYXIqIGxhc3RmbUFwaUtleSgpIHsgcmV0dXJuICI0MDJkM2Nh OGU5YmM5ZDNjZjliODVlMTIwMjk0NGNhNSI7IH0KKysgICAgaW5saW5lIGNvbnN0IGNoYXIqIGxh c3RmbUFwaVNoYXJlZFNlY3JldCgpIHsgcmV0dXJuICJmZTBkY2RlOWZjZDE0YzJkMWQ1MDY2NWI2 NDYzMzVlOSI7IH0KKyAgICAgaW5saW5lIGNvbnN0IGNoYXIqIHlhaG9vQm9zc0FwaUtleSgpIHsg cmV0dXJuICJvUWVwVE5yVjM0RzlTYXRiMWRnUlo4aGRsMXVoSnZndURTVTVLbmwyWGQ0QUxLODVr bll0Nnlsci5GVEE1N1hNUkJBLSI7IH0KKyAgICAgaW5saW5lIGNvbnN0IGNoYXIqIGZsaWNrckFw aUtleSgpIHsgcmV0dXJuICI5YzVhMjg4MTE2YzM0YzE3ZWNlZTM3ODc3Mzk3ZmUzMSI7IH0KKyB9 CitkaWZmIC11cCBhbWFyb2stMi41Ljk2L3NyYy9MYXN0Zm1SZWFkTGFiZWxDYXBhYmlsaXR5LmNw cC5saWJsYXN0Zm0xIGFtYXJvay0yLjUuOTYvc3JjL0xhc3RmbVJlYWRMYWJlbENhcGFiaWxpdHku Y3BwCistLS0gYW1hcm9rLTIuNS45Ni9zcmMvTGFzdGZtUmVhZExhYmVsQ2FwYWJpbGl0eS5jcHAu bGlibGFzdGZtMQkyMDEyLTA3LTMxIDA1OjEwOjU2LjAwMDAwMDAwMCAtMDUwMAorKysrIGFtYXJv ay0yLjUuOTYvc3JjL0xhc3RmbVJlYWRMYWJlbENhcGFiaWxpdHkuY3BwCTIwMTItMDgtMDIgMDc6 Mzg6MjQuMzE4NTU1ODU2IC0wNTAwCitAQCAtMjIsOCArMjIsNyBAQAorICNpbmNsdWRlIDxRTWFw PgorICNpbmNsdWRlIDxRTmV0d29ya1JlcGx5PgorIAorLSNpbmNsdWRlIDxsYXN0Zm0vWG1sUXVl cnk+CistI2luY2x1ZGUgPHdzLmg+CisrI2luY2x1ZGUgPGxhc3RmbS9YbWxRdWVyeS5oPgorICNp bmNsdWRlICJjb3JlL3N1cHBvcnQvQW1hcm9rLmgiCisgCisgbmFtZXNwYWNlIENhcGFiaWxpdGll cworQEAgLTcyLDcgKzcxLDggQEAgTGFzdGZtUmVhZExhYmVsQ2FwYWJpbGl0eTo6b25UYWdzRmV0 Y2hlZAorICAgICB7CisgICAgICAgICBjYXNlIFFOZXR3b3JrUmVwbHk6Ok5vRXJyb3I6CisgICAg ICAgICB7CistICAgICAgICAgICAgbGFzdGZtOjpYbWxRdWVyeSBsZm0gPSBtX2pvYi0+cmVhZEFs bCgpOworKyAgICAgICAgICAgIGxhc3RmbTo6WG1sUXVlcnkgbGZtOworKyAgICAgICAgICAgIGxm bS5wYXJzZShtX2pvYi0+cmVhZEFsbCgpKTsKKyAgICAgICAgICAgICBRTGlzdDxsYXN0Zm06Olht bFF1ZXJ5PiB0YWdzID0gbGZtLmNoaWxkcmVuKCAidGFnIiApOworICAgICAgICAgICAgIFFTdHJp bmdMaXN0IHJldDsKKyAgICAgICAgICAgICBmb3JlYWNoKCBjb25zdCBsYXN0Zm06OlhtbFF1ZXJ5 ICZjaGlsZCwgdGFncyApCitkaWZmIC11cCBhbWFyb2stMi41Ljk2L3NyYy9zZXJ2aWNlcy9hbXBh Y2hlL0xhc3RmbUluZm9QYXJzZXIuY3BwLmxpYmxhc3RmbTEgYW1hcm9rLTIuNS45Ni9zcmMvc2Vy dmljZXMvYW1wYWNoZS9MYXN0Zm1JbmZvUGFyc2VyLmNwcAorLS0tIGFtYXJvay0yLjUuOTYvc3Jj L3NlcnZpY2VzL2FtcGFjaGUvTGFzdGZtSW5mb1BhcnNlci5jcHAubGlibGFzdGZtMQkyMDEyLTA3 LTMxIDA1OjEwOjU2LjAwMDAwMDAwMCAtMDUwMAorKysrIGFtYXJvay0yLjUuOTYvc3JjL3NlcnZp Y2VzL2FtcGFjaGUvTGFzdGZtSW5mb1BhcnNlci5jcHAJMjAxMi0wOC0wMiAwNzozODoyNC4yOTY1 NTYxMjkgLTA1MDAKK0BAIC0yMCw4ICsyMCw3IEBACisgI2luY2x1ZGUgImNvcmUvc3VwcG9ydC9B bWFyb2suaCIKKyAjaW5jbHVkZSAiY29yZS9zdXBwb3J0L0RlYnVnLmgiCisgCistI2luY2x1ZGUg PGxhc3RmbS9YbWxRdWVyeT4KKy0jaW5jbHVkZSA8bGFzdGZtL3dzLmg+CisrI2luY2x1ZGUgPGxh c3RmbS9YbWxRdWVyeS5oPgorIAorICNpbmNsdWRlIDxLTG9jYWxlPgorIAorQEAgLTU1LDcgKzU0 LDggQEAgdm9pZCBMYXN0Zm1JbmZvUGFyc2VyOjpvbkdldFRyYWNrSW5mbygpCisgICAgIHsKKyAg ICAgICAgIGNhc2UgUU5ldHdvcmtSZXBseTo6Tm9FcnJvcjoKKyAgICAgICAgIHsKKy0gICAgICAg ICAgICBsYXN0Zm06OlhtbFF1ZXJ5IGxmbSA9IG1fam9ic1sgImdldFRyYWNrSW5mbyIgXS0+cmVh ZEFsbCgpOworKyAgICAgICAgICAgIGxhc3RmbTo6WG1sUXVlcnkgbGZtOworKyAgICAgICAgICAg IGxmbS5wYXJzZSggbV9qb2JzWyAiZ2V0VHJhY2tJbmZvIiBdLT5yZWFkQWxsKCkgKTsKKyAgICAg ICAgICAgICBsYXN0Zm06OlhtbFF1ZXJ5IHdpa2kgPSBsZm1bInRyYWNrIl1bIndpa2kiXTsKKyAg ICAgICAgICAgICBjb25zdCBRU3RyaW5nIGNvbnRlbnRUZXh0ID0gd2lraVsiY29udGVudCJdLnRl eHQoKTsKKyAgICAgICAgICAgICBjb25zdCBRU3RyaW5nIHB1Ymxpc2hlZERhdGUgPSB3aWtpWyJw dWJsaXNoZWQiXS50ZXh0KCk7CitAQCAtMTAzLDcgKzEwMyw4IEBAIHZvaWQgTGFzdGZtSW5mb1Bh cnNlcjo6b25HZXRBbGJ1bUluZm8oKQorICAgICB7CisgICAgICAgICBjYXNlIFFOZXR3b3JrUmVw bHk6Ok5vRXJyb3I6CisgICAgICAgICB7CistICAgICAgICAgICAgbGFzdGZtOjpYbWxRdWVyeSBs Zm0gPSBtX2pvYnNbICJnZXRBbGJ1bUluZm8iIF0tPnJlYWRBbGwoKTsKKysgICAgICAgICAgICBs YXN0Zm06OlhtbFF1ZXJ5IGxmbTsKKysgICAgICAgICAgICBsZm0ucGFyc2UoIG1fam9ic1sgImdl dEFsYnVtSW5mbyIgXS0+cmVhZEFsbCgpICk7CisgICAgICAgICAgICAgbGFzdGZtOjpYbWxRdWVy eSB3aWtpID0gbGZtWyJhbGJ1bSJdWyJ3aWtpIl07CisgICAgICAgICAgICAgY29uc3QgUVN0cmlu ZyBzdW1tYXJ5VGV4dCA9IHdpa2lbInN1bW1hcnkiXS50ZXh0KCk7CisgICAgICAgICAgICAgY29u c3QgUVN0cmluZyBjb250ZW50VGV4dCA9IHdpa2lbImNvbnRlbnQiXS50ZXh0KCk7CitAQCAtMTU1 LDcgKzE1Niw4IEBAIHZvaWQgTGFzdGZtSW5mb1BhcnNlcjo6b25HZXRBcnRpc3RJbmZvKCkKKyAg ICAgeworICAgICAgICAgY2FzZSBRTmV0d29ya1JlcGx5OjpOb0Vycm9yOgorICAgICAgICAgewor LSAgICAgICAgICAgIGxhc3RmbTo6WG1sUXVlcnkgbGZtID0gbV9qb2JzWyAiZ2V0QXJ0aXN0SW5m byIgXS0+cmVhZEFsbCgpOworKyAgICAgICAgICAgIGxhc3RmbTo6WG1sUXVlcnkgbGZtOworKyAg ICAgICAgICAgIGxmbS5wYXJzZSggbV9qb2JzWyAiZ2V0QXJ0aXN0SW5mbyIgXS0+cmVhZEFsbCgp ICk7CisgICAgICAgICAgICAgZGVidWcoKSA8PCBsZm0udGV4dCgpOworICAgICAgICAgICAgIGxh c3RmbTo6WG1sUXVlcnkgYmlvID0gbGZtWyJhcnRpc3QiXVsiYmlvIl07CisgICAgICAgICAgICAg Y29uc3QgUVN0cmluZyBzdW1tYXJ5VGV4dCA9IGJpb1sic3VtbWFyeSJdLnRleHQoKTsKK2RpZmYg LXVwIGFtYXJvay0yLjUuOTYvc3JjL3NlcnZpY2VzL2xhc3RmbS9iaWFzZXMvTGFzdEZtQmlhcy5j cHAubGlibGFzdGZtMSBhbWFyb2stMi41Ljk2L3NyYy9zZXJ2aWNlcy9sYXN0Zm0vYmlhc2VzL0xh c3RGbUJpYXMuY3BwCistLS0gYW1hcm9rLTIuNS45Ni9zcmMvc2VydmljZXMvbGFzdGZtL2JpYXNl cy9MYXN0Rm1CaWFzLmNwcC5saWJsYXN0Zm0xCTIwMTItMDctMzEgMDU6MTA6NTYuMDAwMDAwMDAw IC0wNTAwCisrKysgYW1hcm9rLTIuNS45Ni9zcmMvc2VydmljZXMvbGFzdGZtL2JpYXNlcy9MYXN0 Rm1CaWFzLmNwcAkyMDEyLTA4LTAyIDA3OjM4OjI0LjI5OTU1NjA5MyAtMDUwMAorQEAgLTM0LDkg KzM0LDggQEAKKyAjaW5jbHVkZSAiY29yZS9jb2xsZWN0aW9ucy9RdWVyeU1ha2VyLmgiCisgI2lu Y2x1ZGUgImNvcmUtaW1wbC9jb2xsZWN0aW9ucy9zdXBwb3J0L0NvbGxlY3Rpb25NYW5hZ2VyLmgi CisgCistI2luY2x1ZGUgImxhc3RmbS9BcnRpc3QiCistI2luY2x1ZGUgImxhc3RmbS93cy5oIgor LSNpbmNsdWRlICJsYXN0Zm0vWG1sUXVlcnkiCisrI2luY2x1ZGUgPGxhc3RmbS9BcnRpc3QuaD4K KysjaW5jbHVkZSA8bGFzdGZtL3dzLmg+CisgCisgI2luY2x1ZGUgPFFMYWJlbD4KKyAjaW5jbHVk ZSA8UUNvbWJvQm94PgorZGlmZiAtdXAgYW1hcm9rLTIuNS45Ni9zcmMvc2VydmljZXMvbGFzdGZt L2JpYXNlcy9XZWVrbHlUb3BCaWFzLmNwcC5saWJsYXN0Zm0xIGFtYXJvay0yLjUuOTYvc3JjL3Nl cnZpY2VzL2xhc3RmbS9iaWFzZXMvV2Vla2x5VG9wQmlhcy5jcHAKKy0tLSBhbWFyb2stMi41Ljk2 L3NyYy9zZXJ2aWNlcy9sYXN0Zm0vYmlhc2VzL1dlZWtseVRvcEJpYXMuY3BwLmxpYmxhc3RmbTEJ MjAxMi0wNy0zMSAwNToxMDo1Ni4wMDAwMDAwMDAgLTA1MDAKKysrKyBhbWFyb2stMi41Ljk2L3Ny Yy9zZXJ2aWNlcy9sYXN0Zm0vYmlhc2VzL1dlZWtseVRvcEJpYXMuY3BwCTIwMTItMDgtMDIgMDc6 Mzg6MjQuMjk5NTU2MDkzIC0wNTAwCitAQCAtMzQsOSArMzQsOSBAQAorICNpbmNsdWRlICJjb3Jl L2NvbGxlY3Rpb25zL1F1ZXJ5TWFrZXIuaCIKKyAjaW5jbHVkZSAiY29yZS1pbXBsL2NvbGxlY3Rp b25zL3N1cHBvcnQvQ29sbGVjdGlvbk1hbmFnZXIuaCIKKyAKKy0jaW5jbHVkZSAibGFzdGZtL0Fy dGlzdCIKKy0jaW5jbHVkZSAibGFzdGZtL3dzLmgiCistI2luY2x1ZGUgImxhc3RmbS9YbWxRdWVy eSIKKysjaW5jbHVkZSA8bGFzdGZtL0FydGlzdC5oPgorKyNpbmNsdWRlIDxsYXN0Zm0vd3MuaD4K KysjaW5jbHVkZSA8bGFzdGZtL1htbFF1ZXJ5Lmg+CisgCisgI2luY2x1ZGUgPFFOZXR3b3JrUmVw bHk+CisgCitAQCAtMzcxLDEwICszNzEsOSBAQCBEeW5hbWljOjpXZWVrbHlUb3BCaWFzOjp3ZWVr bHlBcnRpc3RRdWVyCisgICAgIH0KKyAKKyAKKy0gICAgdHJ5CisrICAgIGxhc3RmbTo6WG1sUXVl cnkgbGZtOworKyAgICBpZiggbGZtLnBhcnNlKCByZXBseS0+cmVhZEFsbCgpICkgKQorICAgICB7 CistICAgICAgICBsYXN0Zm06OlhtbFF1ZXJ5IGxmbSggcmVwbHktPnJlYWRBbGwoKSApOworLQor ICAgICAgICAgLy8gZGVidWcoKSA8PCAiZ290IHJlc3BvbnNlOiIgPDwgbGZtOworICAgICAgICAg UVN0cmluZ0xpc3QgYXJ0aXN0czsKKyAgICAgICAgIGZvciggaW50IGkgPSAwOyBpIDwgbGZtWyAi d2Vla2x5YXJ0aXN0Y2hhcnQiIF0uY2hpbGRyZW4oICJhcnRpc3QiICkuc2l6ZSgpOyBpKysgKQor QEAgLTM5OCwxMCArMzk3LDEwIEBAIER5bmFtaWM6OldlZWtseVRvcEJpYXM6OndlZWtseUFydGlz dFF1ZXIKKyAgICAgICAgICAgICB3YXJuaW5nKCkgPDwgIkdvdCBhIHJlcGx5IGZvciBhIHdlZWsi PDx3ZWVrPDwidGhhdCB3YXMgbm90IHJlcXVlc3RlZC4iOworICAgICAgICAgICAgIHJldHVybjsK KyAgICAgICAgIH0KKy0KKy0gICAgfSBjYXRjaCggbGFzdGZtOjp3czo6UGFyc2VFcnJvciYgZSAp CisrICAgIH0KKysgICAgZWxzZQorICAgICB7CistICAgICAgICBkZWJ1ZygpIDw8ICJjYXVnaHQg ZXhjZXB0aW9uIHBhcnNpbmcgd2Vla2x5IGFydGlzdCBjaGFydC4iOworKyAgICAgICAgZGVidWco KSA8PCAiZmFpbGVkIHRvIHBhcnNlIHdlZWtseSBhcnRpc3QgY2hhcnQuIjsKKyAgICAgfQorIAor ICAgICByZXBseS0+ZGVsZXRlTGF0ZXIoKTsKK2RpZmYgLXVwIGFtYXJvay0yLjUuOTYvc3JjL3Nl cnZpY2VzL2xhc3RmbS9MYXN0Rm1TZXJ2aWNlQ29sbGVjdGlvbi5jcHAubGlibGFzdGZtMSBhbWFy b2stMi41Ljk2L3NyYy9zZXJ2aWNlcy9sYXN0Zm0vTGFzdEZtU2VydmljZUNvbGxlY3Rpb24uY3Bw CistLS0gYW1hcm9rLTIuNS45Ni9zcmMvc2VydmljZXMvbGFzdGZtL0xhc3RGbVNlcnZpY2VDb2xs ZWN0aW9uLmNwcC5saWJsYXN0Zm0xCTIwMTItMDctMzEgMDU6MTA6NTYuMDAwMDAwMDAwIC0wNTAw CisrKysgYW1hcm9rLTIuNS45Ni9zcmMvc2VydmljZXMvbGFzdGZtL0xhc3RGbVNlcnZpY2VDb2xs ZWN0aW9uLmNwcAkyMDEyLTA4LTAyIDA3OjM4OjI0LjI5NzU1NjExNyAtMDUwMAorQEAgLTI2LDcg KzI2LDcgQEAKKyAjaW5jbHVkZSAiY29yZS1pbXBsL2NvbGxlY3Rpb25zL3N1cHBvcnQvTWVtb3J5 UXVlcnlNYWtlci5oIgorIAorICNpbmNsdWRlIDxsYXN0Zm0vd3MuaD4KKy0jaW5jbHVkZSA8bGFz dGZtL1htbFF1ZXJ5PgorKyNpbmNsdWRlIDxsYXN0Zm0vWG1sUXVlcnkuaD4KKyAKKyAjaW5jbHVk ZSA8UU5ldHdvcmtSZXBseT4KKyAKK0BAIC0xNTQsMTAgKzE1NCw5IEBAIHZvaWQgTGFzdEZtU2Vy dmljZUNvbGxlY3Rpb246OnNsb3RBZGROZWkKKyAgICAgICAgIGNhc2UgUU5ldHdvcmtSZXBseTo6 Tm9FcnJvcjoKKyAgICAgICAgIHsKKyAgICAgICAgICAgICAvLyBpdGVyYXRlIHRocm91Z2ggZWFj aCBuZWlnaGJvdXIKKy0gICAgICAgICAgICB0cnkKKysgICAgICAgICAgICBsYXN0Zm06OlhtbFF1 ZXJ5IGxmbTsKKysgICAgICAgICAgICBpZiggbGZtLnBhcnNlKCBtX2pvYnNbICJ1c2VyLmdldE5l aWdoYm91cnMiIF0tPnJlYWRBbGwoKSApICkKKyAgICAgICAgICAgICB7CistICAgICAgICAgICAg ICAgIGxhc3RmbTo6WG1sUXVlcnkgbGZtKCBtX2pvYnNbICJ1c2VyLmdldE5laWdoYm91cnMiIF0t PnJlYWRBbGwoKSApOworLQorICAgICAgICAgICAgICAgICBmb3JlYWNoKCBjb25zdCBsYXN0Zm06 OlhtbFF1ZXJ5ICZlLCBsZm1bICJuZWlnaGJvdXJzIiBdLmNoaWxkcmVuKCAidXNlciIgKSApCisg ICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFFTdHJpbmcgbmFt ZSA9IGVbICJuYW1lIiBdLnRleHQoKTsKK0BAIC0xNjgsOSArMTY3LDEwIEBAIHZvaWQgTGFzdEZt U2VydmljZUNvbGxlY3Rpb246OnNsb3RBZGROZWkKKyAgICAgICAgICAgICAgICAgICAgIGFkZFRy YWNrKCB0cmFja1B0ciApOworICAgICAgICAgICAgICAgICB9CisgCistICAgICAgICAgICAgfSBj YXRjaCggbGFzdGZtOjp3czo6UGFyc2VFcnJvciYgZSApCisrICAgICAgICAgICAgfQorKyAgICAg ICAgICAgIGVsc2UKKyAgICAgICAgICAgICB7CistICAgICAgICAgICAgICAgIGRlYnVnKCkgPDwg IkdvdCBleGNlcHRpb24gaW4gcGFyc2luZyBmcm9tIGxhc3QuZm06IiA8PCBlLndoYXQoKTsKKysg ICAgICAgICAgICAgICAgZGVidWcoKSA8PCAiR290IGV4Y2VwdGlvbiBpbiBwYXJzaW5nIGZyb20g bGFzdC5mbToiIDw8IGxmbS5wYXJzZUVycm9yKCkubWVzc2FnZSgpOworICAgICAgICAgICAgIH0K KyAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgIH0KK0BAIC0xOTUsMTUgKzE5NSwxNCBAQCB2 b2lkIExhc3RGbVNlcnZpY2VDb2xsZWN0aW9uOjpzbG90QWRkTmVpCisgICAgICAgICBjYXNlIFFO ZXR3b3JrUmVwbHk6Ok5vRXJyb3I6CisgICAgICAgICB7CisgICAgICAgICAgICAgLy8gaXRlcmF0 ZSB0aHJvdWdoIGVhY2ggbmVpZ2hib3VyCistICAgICAgICAgICAgdHJ5CisrICAgICAgICAgICAg aWYoICFtX2pvYnNbICJ1c2VyLmdldE5laWdoYm91cnMiIF0gKQorKyAgICAgICAgICAgIHsKKysg ICAgICAgICAgICAgICAgZGVidWcoKSA8PCAiQkFEISBnb3Qgbm8gcmVzdWx0IG9iamVjdCI7Cisr ICAgICAgICAgICAgICAgIHJldHVybjsKKysgICAgICAgICAgICB9CisrICAgICAgICAgICAgbGFz dGZtOjpYbWxRdWVyeSBsZm07CisrICAgICAgICAgICAgaWYoIGxmbS5wYXJzZSggbV9qb2JzWyAi dXNlci5nZXROZWlnaGJvdXJzIiBdLT5yZWFkQWxsKCkgKSApCisgICAgICAgICAgICAgeworLSAg ICAgICAgICAgICAgICBpZiggIW1fam9ic1sgInVzZXIuZ2V0TmVpZ2hib3VycyIgXSApCistICAg ICAgICAgICAgICAgIHsKKy0gICAgICAgICAgICAgICAgICAgIGRlYnVnKCkgPDwgIkJBRCEgZ290 IG5vIHJlc3VsdCBvYmplY3QiOworLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuOworLSAgICAg ICAgICAgICAgICB9CistICAgICAgICAgICAgICAgIGxhc3RmbTo6WG1sUXVlcnkgbGZtKCBtX2pv YnNbICJ1c2VyLmdldE5laWdoYm91cnMiIF0tPnJlYWRBbGwoKSApOworLQorICAgICAgICAgICAg ICAgICAvLyBpdGVyYXRlIHRocm91Z2ggZWFjaCBuZWlnaGJvdXIKKyAgICAgICAgICAgICAgICAg Zm9yZWFjaCggY29uc3QgbGFzdGZtOjpYbWxRdWVyeSAmZSwgbGZtWyAibmVpZ2hib3VycyIgXS5j aGlsZHJlbiggInVzZXIiICkgKQorICAgICAgICAgICAgICAgICB7CitAQCAtMjE4LDkgKzIxNywx MCBAQCB2b2lkIExhc3RGbVNlcnZpY2VDb2xsZWN0aW9uOjpzbG90QWRkTmVpCisgCisgICAgICAg ICAgICAgICAgIC8vIHNob3VsZCBiZSBzYWZlLCBhcyBib3RoIHNsb3RzIFNIT1VMRCBnZXQgY2Fs bGVkIGJlZm9yZSB3ZSByZXR1cm4gdG8gdGhlIGV2ZW50IGxvb3AuLi4KKyAgICAgICAgICAgICAg ICAgbV9qb2JzWyAidXNlci5nZXROZWlnaGJvdXJzIiBdLT5kZWxldGVMYXRlcigpOworLSAgICAg ICAgICAgIH0gY2F0Y2goIGxhc3RmbTo6d3M6OlBhcnNlRXJyb3ImIGUgKQorKyAgICAgICAgICAg IH0KKysgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgeworLSAgICAgICAgICAgICAgICBk ZWJ1ZygpIDw8ICJHb3QgZXhjZXB0aW9uIGluIHBhcnNpbmcgZnJvbSBsYXN0LmZtOiIgPDwgZS53 aGF0KCk7CisrICAgICAgICAgICAgICAgIGRlYnVnKCkgPDwgIkdvdCBleGNlcHRpb24gaW4gcGFy c2luZyBmcm9tIGxhc3QuZm06IiA8PCBsZm0ucGFyc2VFcnJvcigpLm1lc3NhZ2UoKTsKKyAgICAg ICAgICAgICB9CisgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICB9CitAQCAtMjQ4LDEwICsy NDgsOSBAQCB2b2lkIExhc3RGbVNlcnZpY2VDb2xsZWN0aW9uOjpzbG90QWRkRnJpCisgICAgIHsK KyAgICAgICAgIGNhc2UgUU5ldHdvcmtSZXBseTo6Tm9FcnJvcjoKKyAgICAgICAgIHsKKy0gICAg ICAgICAgICB0cnkKKysgICAgICAgICAgICBsYXN0Zm06OlhtbFF1ZXJ5IGxmbTsKKysgICAgICAg ICAgICBpZiggbGZtLnBhcnNlKCBtX2pvYnNbICJ1c2VyLmdldEZyaWVuZHMiIF0tPnJlYWRBbGwo KSApICkKKyAgICAgICAgICAgICB7CistICAgICAgICAgICAgICAgIGxhc3RmbTo6WG1sUXVlcnkg bGZtKCBtX2pvYnNbICJ1c2VyLmdldEZyaWVuZHMiIF0tPnJlYWRBbGwoKSApOworLQorICAgICAg ICAgICAgICAgICBmb3JlYWNoKCBjb25zdCBsYXN0Zm06OlhtbFF1ZXJ5ICZlLCBsZm1bICJmcmll bmRzIiBdLmNoaWxkcmVuKCAidXNlciIgKSApCisgICAgICAgICAgICAgICAgIHsKKyAgICAgICAg ICAgICAgICAgICAgIGNvbnN0IFFTdHJpbmcgbmFtZSA9IGVbICJuYW1lIiBdLnRleHQoKTsKK0BA IC0yNjEsOSArMjYwLDEwIEBAIHZvaWQgTGFzdEZtU2VydmljZUNvbGxlY3Rpb246OnNsb3RBZGRG cmkKKyAgICAgICAgICAgICAgICAgICAgIGFkZFRyYWNrKCB0cmFja1B0ciApOworICAgICAgICAg ICAgICAgICB9CisgCistICAgICAgICAgICAgfSBjYXRjaCggbGFzdGZtOjp3czo6UGFyc2VFcnJv ciYgZSApCisrICAgICAgICAgICAgfQorKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICB7 CistICAgICAgICAgICAgICAgIGRlYnVnKCkgPDwgIkdvdCBleGNlcHRpb24gaW4gcGFyc2luZyBm cm9tIGxhc3QuZm06IiA8PCBlLndoYXQoKTsKKysgICAgICAgICAgICAgICAgZGVidWcoKSA8PCAi R290IGV4Y2VwdGlvbiBpbiBwYXJzaW5nIGZyb20gbGFzdC5mbToiIDw8IGxmbS5wYXJzZUVycm9y KCkubWVzc2FnZSgpOworICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICBicmVhazsKKyAgICAg ICAgIH0KK0BAIC0yOTMsMTAgKzI5Myw5IEBAIHZvaWQgTGFzdEZtU2VydmljZUNvbGxlY3Rpb246 OnNsb3RBZGRGcmkKKyAgICAgeworICAgICAgICAgY2FzZSBRTmV0d29ya1JlcGx5OjpOb0Vycm9y OgorICAgICAgICAgeworLSAgICAgICAgICAgIHRyeQorKyAgICAgICAgICAgIGxhc3RmbTo6WG1s UXVlcnkgbGZtOworKyAgICAgICAgICAgIGlmKCBsZm0ucGFyc2UoIG1fam9ic1sgInVzZXIuZ2V0 RnJpZW5kcyIgXS0+cmVhZEFsbCgpICkgKQorICAgICAgICAgICAgIHsKKy0gICAgICAgICAgICAg ICAgbGFzdGZtOjpYbWxRdWVyeSBsZm0oIG1fam9ic1sgInVzZXIuZ2V0RnJpZW5kcyIgXS0+cmVh ZEFsbCgpICk7CistCisgICAgICAgICAgICAgICAgIGZvcmVhY2goIGNvbnN0IGxhc3RmbTo6WG1s UXVlcnkgJmUsIGxmbVsgImZyaWVuZHMiIF0uY2hpbGRyZW4oICJ1c2VyIiApICkKKyAgICAgICAg ICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgY29uc3QgUVN0cmluZyBuYW1lID0gZVsg Im5hbWUiIF0udGV4dCgpOworQEAgLTMwNiw5ICszMDUsMTAgQEAgdm9pZCBMYXN0Rm1TZXJ2aWNl Q29sbGVjdGlvbjo6c2xvdEFkZEZyaQorICAgICAgICAgICAgICAgICAgICAgYWRkVHJhY2soIHRy YWNrUHRyICk7CisgICAgICAgICAgICAgICAgIH0KKyAKKy0gICAgICAgICAgICB9IGNhdGNoKCBs YXN0Zm06OndzOjpQYXJzZUVycm9yJiBlICkKKysgICAgICAgICAgICB9CisrICAgICAgICAgICAg ZWxzZQorICAgICAgICAgICAgIHsKKy0gICAgICAgICAgICAgICAgZGVidWcoKSA8PCAiR290IGV4 Y2VwdGlvbiBpbiBwYXJzaW5nIGZyb20gbGFzdC5mbToiIDw8IGUud2hhdCgpOworKyAgICAgICAg ICAgICAgICBkZWJ1ZygpIDw8ICJHb3QgZXhjZXB0aW9uIGluIHBhcnNpbmcgZnJvbSBsYXN0LmZt OiIgPDwgbGZtLnBhcnNlRXJyb3IoKS5tZXNzYWdlKCk7CisgICAgICAgICAgICAgfQorICAgICAg ICAgICAgIGJyZWFrOworICAgICAgICAgfQorZGlmZiAtdXAgYW1hcm9rLTIuNS45Ni9zcmMvc2Vy dmljZXMvbGFzdGZtL0xhc3RGbVNlcnZpY2UuY3BwLmxpYmxhc3RmbTEgYW1hcm9rLTIuNS45Ni9z cmMvc2VydmljZXMvbGFzdGZtL0xhc3RGbVNlcnZpY2UuY3BwCistLS0gYW1hcm9rLTIuNS45Ni9z cmMvc2VydmljZXMvbGFzdGZtL0xhc3RGbVNlcnZpY2UuY3BwLmxpYmxhc3RmbTEJMjAxMi0wNy0z MSAwNToxMDo1Ni4wMDAwMDAwMDAgLTA1MDAKKysrKyBhbWFyb2stMi41Ljk2L3NyYy9zZXJ2aWNl cy9sYXN0Zm0vTGFzdEZtU2VydmljZS5jcHAJMjAxMi0wOC0wMiAwNzozODoyNC4yOTY1NTYxMjkg LTA1MDAKK0BAIC00Niw4ICs0Niw4IEBACisgI2luY2x1ZGUgIndpZGdldHMvU2VhcmNoV2lkZ2V0 LmgiCisgI2luY2x1ZGUgIk5ldHdvcmtBY2Nlc3NNYW5hZ2VyUHJveHkuaCIKKyAKKy0jaW5jbHVk ZSA8bGFzdGZtL0F1ZGlvc2Nyb2JibGVyPiAvLyBmcm9tIGxpYmxhc3RmbQorLSNpbmNsdWRlIDxs YXN0Zm0vWG1sUXVlcnk+CisrI2luY2x1ZGUgPGxhc3RmbS9BdWRpb3Njcm9iYmxlci5oPiAvLyBm cm9tIGxpYmxhc3RmbQorKyNpbmNsdWRlIDxsYXN0Zm0vWG1sUXVlcnkuaD4KKyAKKyAjaW5jbHVk ZSA8S0xvY2FsZT4KKyAjaW5jbHVkZSA8S1Bhc3N3b3JkRGlhbG9nPgorQEAgLTIyNCwxMCArMjI0 LDcgQEAgTGFzdEZtU2VydmljZTo6aW5pdCgpCisgeworICAgICAvLyBzZXQgdGhlIGdsb2JhbCBz dGF0aWMgTGFzdGZtOjpXcyBzdHVmZgorICAgICBsYXN0Zm06OndzOjpBcGlLZXkgPSBBbWFyb2s6 Omxhc3RmbUFwaUtleSgpOworLSAgICBsYXN0Zm06OndzOjpTaGFyZWRTZWNyZXQgPSAiZmUwZGNk ZTlmY2QxNGMyZDFkNTA2NjViNjQ2MzM1ZTkiOworLSAgICAvLyB0ZXN0aW5nIHcvIG9mZmljaWFs IGtleXMKKy0gICAgLy9Xczo6U2hhcmVkU2VjcmV0ID0gIjczNTgyZGZjOWU1NTZkMzA3YWVhZDA2 OWFmMTEwYWI4IjsKKy0gICAgLy9Xczo6QXBpS2V5ID0gImM4YzdiMTYzYjExZjkyZWYyZDMzYmE2 Y2QzYzJjM2MzIjsKKysgICAgbGFzdGZtOjp3czo6U2hhcmVkU2VjcmV0ID0gQW1hcm9rOjpsYXN0 Zm1BcGlTaGFyZWRTZWNyZXQoKTsKKyAgICAgbV91c2VyTmFtZUFycmF5ID0gcXN0cmR1cCggbV91 c2VyTmFtZS50b0xhdGluMSgpLmRhdGEoKSApOworICAgICBsYXN0Zm06OndzOjpVc2VybmFtZSA9 IG1fdXNlck5hbWVBcnJheTsKKyAgICAgaWYoIGxhc3RmbTo6bmFtKCkgIT0gVGhlOjpuZXR3b3Jr QWNjZXNzTWFuYWdlcigpICkKK0BAIC0zMDksNyArMzA2LDggQEAgTGFzdEZtU2VydmljZTo6b25B dXRoZW50aWNhdGVkKCkKKyAgICAgICAgIGNhc2UgUU5ldHdvcmtSZXBseTo6Tm9FcnJvcjoKKyAg ICAgICAgIHsKKyAKKy0gICAgICAgICAgICBsYXN0Zm06OlhtbFF1ZXJ5IGxmbSA9IGxhc3RmbTo6 WG1sUXVlcnkoIG1fam9ic1sgImF1dGgiIF0tPnJlYWRBbGwoKSApOworKyAgICAgICAgICAgIGxh c3RmbTo6WG1sUXVlcnkgbGZtOworKyAgICAgICAgICAgIGxmbS5wYXJzZSggbV9qb2JzWyAiYXV0 aCIgXS0+cmVhZEFsbCgpICk7CisgICAgICAgICAgICAgTGFzdEZtU2VydmljZUNvbmZpZyBjb25m aWc7CisgCisgICAgICAgICAgICAgaWYoIGxmbS5jaGlsZHJlbiggImVycm9yIiApLnNpemUoKSA+ IDAgKQorQEAgLTM1OSwxMCArMzU3LDggQEAgTGFzdEZtU2VydmljZTo6b25HZXRVc2VySW5mbygp CisgICAgIHsKKyAgICAgICAgIGNhc2UgUU5ldHdvcmtSZXBseTo6Tm9FcnJvcjoKKyAgICAgICAg IHsKKy0gICAgICAgICAgICB0cnkKKy0gICAgICAgICAgICB7CistICAgICAgICAgICAgICAgIGxh c3RmbTo6WG1sUXVlcnkgbGZtKCBtX2pvYnNbICJnZXRVc2VySW5mbyIgXS0+cmVhZEFsbCgpICk7 CistCisrICAgICAgICAgICAgbGFzdGZtOjpYbWxRdWVyeSBsZm07CisrICAgICAgICAgICAgaWYo IGxmbS5wYXJzZSggbV9qb2JzWyAiZ2V0VXNlckluZm8iIF0tPnJlYWRBbGwoKSApICkgeworICAg ICAgICAgICAgICAgICBtX2NvdW50cnkgPSBsZm1bInVzZXIiXVsiY291bnRyeSJdLnRleHQoKTsK KyAgICAgICAgICAgICAgICAgbV9hZ2UgPSBsZm1bInVzZXIiXVsiYWdlIl0udGV4dCgpOworICAg ICAgICAgICAgICAgICBtX2dlbmRlciA9IGxmbVsidXNlciJdWyJnZW5kZXIiXS50ZXh0KCk7CitA QCAtMzgxLDkgKzM3NywxMCBAQCBMYXN0Rm1TZXJ2aWNlOjpvbkdldFVzZXJJbmZvKCkKKyAgICAg ICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICB1cGRhdGVQcm9maWxlSW5mbygpOworIAor LSAgICAgICAgICAgIH0gY2F0Y2goIGxhc3RmbTo6d3M6OlBhcnNlRXJyb3ImIGUgKQorKyAgICAg ICAgICAgIH0KKysgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgeworLSAgICAgICAgICAg ICAgICBkZWJ1ZygpIDw8ICJHb3QgZXhjZXB0aW9uIGluIHBhcnNpbmcgZnJvbSBsYXN0LmZtOiIg PDwgZS53aGF0KCk7CisrICAgICAgICAgICAgICAgIGRlYnVnKCkgPDwgIkdvdCBleGNlcHRpb24g aW4gcGFyc2luZyBmcm9tIGxhc3QuZm06IiA8PCBsZm0ucGFyc2VFcnJvcigpLm1lc3NhZ2UoKTsK KyAgICAgICAgICAgICB9CisgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICB9IGNhc2UgUU5l dHdvcmtSZXBseTo6QXV0aGVudGljYXRpb25SZXF1aXJlZEVycm9yOgorZGlmZiAtdXAgYW1hcm9r LTIuNS45Ni9zcmMvc2VydmljZXMvbGFzdGZtL0xhc3RGbVNlcnZpY2VTZXR0aW5ncy5jcHAubGli bGFzdGZtMSBhbWFyb2stMi41Ljk2L3NyYy9zZXJ2aWNlcy9sYXN0Zm0vTGFzdEZtU2VydmljZVNl dHRpbmdzLmNwcAorLS0tIGFtYXJvay0yLjUuOTYvc3JjL3NlcnZpY2VzL2xhc3RmbS9MYXN0Rm1T ZXJ2aWNlU2V0dGluZ3MuY3BwLmxpYmxhc3RmbTEJMjAxMi0wNy0zMSAwNToxMDo1Ni4wMDAwMDAw MDAgLTA1MDAKKysrKyBhbWFyb2stMi41Ljk2L3NyYy9zZXJ2aWNlcy9sYXN0Zm0vTGFzdEZtU2Vy dmljZVNldHRpbmdzLmNwcAkyMDEyLTA4LTAyIDA3OjM4OjI0LjI5NzU1NjExNyAtMDUwMAorQEAg LTIzLDkgKzIzLDkgQEAKKyAjaW5jbHVkZSAiTmV0d29ya0FjY2Vzc01hbmFnZXJQcm94eS5oIgor ICNpbmNsdWRlICJ1aV9MYXN0Rm1Db25maWdXaWRnZXQuaCIKKyAKKy0jaW5jbHVkZSA8bGFzdGZt L0F1ZGlvc2Nyb2JibGVyPiAvLyBmcm9tIGxpYmxhc3RmbQorKyNpbmNsdWRlIDxsYXN0Zm0vQXVk aW9zY3JvYmJsZXIuaD4gLy8gZnJvbSBsaWJsYXN0Zm0KKyAjaW5jbHVkZSA8bGFzdGZtL3dzLmg+ CistI2luY2x1ZGUgPGxhc3RmbS9YbWxRdWVyeT4KKysjaW5jbHVkZSA8bGFzdGZtL1htbFF1ZXJ5 Lmg+CisgCisgI2luY2x1ZGUgPFFDcnlwdG9ncmFwaGljSGFzaD4KKyAjaW5jbHVkZSA8UU5ldHdv cmtBY2Nlc3NNYW5hZ2VyPgorQEAgLTEwMCw3ICsxMDAsNyBAQCBMYXN0Rm1TZXJ2aWNlU2V0dGlu Z3M6OnRlc3RMb2dpbigpCisgICAgIG1fY29uZmlnRGlhbG9nLT50ZXN0TG9naW4tPnNldFRleHQo IGkxOG4oICJUZXN0aW5nLi4uIiApICk7CisgICAgIC8vIHNldCB0aGUgZ2xvYmFsIHN0YXRpYyBM YXN0Zm06OldzIHN0dWZmCisgICAgIGxhc3RmbTo6d3M6OkFwaUtleSA9IEFtYXJvazo6bGFzdGZt QXBpS2V5KCk7CistICAgIGxhc3RmbTo6d3M6OlNoYXJlZFNlY3JldCA9ICJmZTBkY2RlOWZjZDE0 YzJkMWQ1MDY2NWI2NDYzMzVlOSI7CisrICAgIGxhc3RmbTo6d3M6OlNoYXJlZFNlY3JldCA9IEFt YXJvazo6bGFzdGZtQXBpU2hhcmVkU2VjcmV0KCk7CisgICAgIGxhc3RmbTo6d3M6OlVzZXJuYW1l ID0gcXN0cmR1cCggbV9jb25maWdEaWFsb2ctPmtjZmdfU2Nyb2JibGVyVXNlcm5hbWUtPnRleHQo KS50b0xhdGluMSgpLmRhdGEoKSApOworICAgICBpZiggbGFzdGZtOjpuYW0oKSAhPSBUaGU6Om5l dHdvcmtBY2Nlc3NNYW5hZ2VyKCkgKQorICAgICAgICAgbGFzdGZtOjpzZXROZXR3b3JrQWNjZXNz TWFuYWdlciggVGhlOjpuZXR3b3JrQWNjZXNzTWFuYWdlcigpICk7CitAQCAtMTI2LDcgKzEyNiw4 IEBAIExhc3RGbVNlcnZpY2VTZXR0aW5nczo6b25BdXRoZW50aWNhdGVkKCkKKyB7CisgICAgIERF QlVHX0JMT0NLCisgCistICAgIGxhc3RmbTo6WG1sUXVlcnkgbGZtID0gbGFzdGZtOjpYbWxRdWVy eSggbV9hdXRoUXVlcnktPnJlYWRBbGwoKSApOworKyAgICBsYXN0Zm06OlhtbFF1ZXJ5IGxmbTsK KysgICAgbGZtLnBhcnNlKCBtX2F1dGhRdWVyeS0+cmVhZEFsbCgpICk7CisgCisgICAgIHN3aXRj aCggbV9hdXRoUXVlcnktPmVycm9yKCkgKQorICAgICB7CitkaWZmIC11cCBhbWFyb2stMi41Ljk2 L3NyYy9zZXJ2aWNlcy9sYXN0Zm0vTGFzdEZtVHJlZU1vZGVsLmNwcC5saWJsYXN0Zm0xIGFtYXJv ay0yLjUuOTYvc3JjL3NlcnZpY2VzL2xhc3RmbS9MYXN0Rm1UcmVlTW9kZWwuY3BwCistLS0gYW1h cm9rLTIuNS45Ni9zcmMvc2VydmljZXMvbGFzdGZtL0xhc3RGbVRyZWVNb2RlbC5jcHAubGlibGFz dGZtMQkyMDEyLTA3LTMxIDA1OjEwOjU2LjAwMDAwMDAwMCAtMDUwMAorKysrIGFtYXJvay0yLjUu OTYvc3JjL3NlcnZpY2VzL2xhc3RmbS9MYXN0Rm1UcmVlTW9kZWwuY3BwCTIwMTItMDgtMDIgMDc6 Mzg6MjQuMjk4NTU2MTA1IC0wNTAwCitAQCAtMjYsOCArMjYsOCBAQAorICNpbmNsdWRlICJBbWFy b2tNaW1lRGF0YS5oIgorIAorICNpbmNsdWRlIDxsYXN0Zm0vd3MuaD4KKy0jaW5jbHVkZSA8bGFz dGZtL1RhZz4KKy0jaW5jbHVkZSA8bGFzdGZtL1htbFF1ZXJ5PgorKyNpbmNsdWRlIDxsYXN0Zm0v VGFnLmg+CisrI2luY2x1ZGUgPGxhc3RmbS9YbWxRdWVyeS5oPgorIAorICNpbmNsdWRlIDxLSWNv bj4KKyAjaW5jbHVkZSA8S0xvY2FsZT4KK0BAIC02OCwxMSArNjgsMTIgQEAgTGFzdEZtVHJlZU1v ZGVsOjpzbG90QWRkTmVpZ2hib3JzICgpCisgeworICAgICBERUJVR19CTE9DSworIAorLSAgICB0 cnkKKy0gICAgeworICAgICAgICAgLy8gSXRlcmF0ZSBvdmVyIGVhY2ggbmVpZ2hib3IsIGluIHR3 byBwYXNzZXM6IDEpIEdldCBkYXRhIDIpIFNvcnQgZGF0YSwgc3RvcmUgaW4gbW9kZWwKKyAKKy0g ICAgICAgIGxhc3RmbTo6WG1sUXVlcnkgbGZtKCBtX2pvYnNbICJnZXROZWlnaGJvdXJzIiBdLT5y ZWFkQWxsKCkgKTsKKysgICAgbGFzdGZtOjpYbWxRdWVyeSBsZm07CisrICAgIGxmbS5wYXJzZSgg bV9qb2JzWyAiZ2V0TmVpZ2hib3VycyIgXS0+cmVhZEFsbCgpICk7CisrICAgIGlmKCBsZm0ucGFy c2VFcnJvcigpLmVudW1WYWx1ZSgpID09IGxhc3RmbTo6d3M6Ok5vRXJyb3IgKQorKyAgICB7Cisg ICAgICAgICBmb3JlYWNoKCBjb25zdCBsYXN0Zm06OlhtbFF1ZXJ5ICZlLCBsZm1bICJuZWlnaGJv dXJzIiBdLmNoaWxkcmVuICggInVzZXIiICkgKQorICAgICAgICAgeworICAgICAgICAgICAgIGNv bnN0IFFTdHJpbmcgbmFtZSA9IGVbICJuYW1lIiBdLnRleHQoKTsKK0BAIC04OCwxMSArODksMTEg QEAgTGFzdEZtVHJlZU1vZGVsOjpzbG90QWRkTmVpZ2hib3JzICgpCisgICAgICAgICAgICAgYXBw ZW5kVXNlclN0YXRpb25zKCBuZWlnaGJvciwgbmFtZSApOworICAgICAgICAgfQorICAgICAgICAg bV9uZWlnaGJvcnMuc29ydCgpOworKyAgICB9IGVsc2UgeworKyAgICAgICAgZGVidWcoKSA8PCAi R290IGV4Y2VwdGlvbiBpbiBwYXJzaW5nIGZyb20gbGFzdC5mbToiIDw8IGxmbS5wYXJzZUVycm9y KCkubWVzc2FnZSgpOworKyAgICAgICAgcmV0dXJuOworICAgICB9CistICAgIGNhdGNoKCBsYXN0 Zm06OndzOjpQYXJzZUVycm9yIGUgKQorLSAgICB7CistICAgICAgICBkZWJ1ZygpIDw8ICJHb3Qg ZXhjZXB0aW9uIGluIHBhcnNpbmcgZnJvbSBsYXN0LmZtOiIgPDwgZS53aGF0KCk7CistICAgIH0K KysKKyAgICAgZW1pdFJvd0NoYW5nZWQoTGFzdEZtOjpOZWlnaGJvcnMpOworICAgICBtX2pvYnNb ICJnZXROZWlnaGJvdXJzIiBdLT5kZWxldGVMYXRlcigpOworIH0KK0BAIC0xMDIsMTEgKzEwMywx MSBAQCBMYXN0Rm1UcmVlTW9kZWw6OnNsb3RBZGRGcmllbmRzICgpCisgeworICAgICBERUJVR19C TE9DSworIAorLSAgICB0cnkKKy0gICAgeworLSAgICAgICAgLy8gSXRlcmF0ZSBvdmVyIGVhY2gg ZnJpZW5kLCBpbiB0d28gcGFzc2VzOiAxKSBHZXQgZGF0YSAyKSBTb3J0IGRhdGEsIHN0b3JlIGlu IG1vZGVsCisrICAgIC8vIEl0ZXJhdGUgb3ZlciBlYWNoIGZyaWVuZCwgaW4gdHdvIHBhc3Nlczog MSkgR2V0IGRhdGEgMikgU29ydCBkYXRhLCBzdG9yZSBpbiBtb2RlbAorIAorLSAgICAgICAgbGFz dGZtOjpYbWxRdWVyeSBsZm0oIG1fam9ic1sgImdldEZyaWVuZHMiIF0tPnJlYWRBbGwoKSApOwor KyAgICBsYXN0Zm06OlhtbFF1ZXJ5IGxmbTsKKysgICAgaWYoIGxmbS5wYXJzZSggbV9qb2JzWyAi Z2V0RnJpZW5kcyIgXS0+cmVhZEFsbCgpICkgKQorKyAgICB7CisgICAgICAgICBmb3JlYWNoKCBj b25zdCBsYXN0Zm06OlhtbFF1ZXJ5ICZlLCBsZm1bICJmcmllbmRzIiBdLmNoaWxkcmVuICggInVz ZXIiICkgKQorICAgICAgICAgeworICAgICAgICAgICAgIGNvbnN0IFFTdHJpbmcgbmFtZSA9IGVb ICJuYW1lIiBdLnRleHQoKTsKK0BAIC0xMjMsMTEgKzEyNCwxMSBAQCBMYXN0Rm1UcmVlTW9kZWw6 OnNsb3RBZGRGcmllbmRzICgpCisgICAgICAgICAgICAgYXBwZW5kVXNlclN0YXRpb25zKCBhZnJp ZW5kLCBuYW1lICk7CisgICAgICAgICB9CisgICAgICAgICBtX2ZyaWVuZHMuc29ydCgpOworKyAg ICB9IGVsc2UgeworKyAgICAgICAgZGVidWcoKSA8PCAiR290IGV4Y2VwdGlvbiBpbiBwYXJzaW5n IGZyb20gbGFzdC5mbToiIDw8IGxmbS5wYXJzZUVycm9yKCkubWVzc2FnZSgpOworKyAgICAgICAg cmV0dXJuOworICAgICB9CistICAgIGNhdGNoKCBsYXN0Zm06OndzOjpQYXJzZUVycm9yIGUgKQor LSAgICB7CistICAgICAgICBkZWJ1ZygpIDw8ICJHb3QgZXhjZXB0aW9uIGluIHBhcnNpbmcgZnJv bSBsYXN0LmZtOiIgPDwgZS53aGF0KCk7CistICAgIH0KKysKKyAgICAgZW1pdFJvd0NoYW5nZWQo TGFzdEZtOjpGcmllbmRzKTsKKyAgICAgbV9qb2JzWyAiZ2V0RnJpZW5kcyIgXS0+ZGVsZXRlTGF0 ZXIoKTsKKyB9CitAQCAtMTM3LDEwICsxMzgsOSBAQCBMYXN0Rm1UcmVlTW9kZWw6OnNsb3RBZGRU b3BBcnRpc3RzICgpCisgeworICAgICBERUJVR19CTE9DSworICAgICBXZWlnaHRlZFN0cmluZ0xp c3QgbGlzdDsKKy0gICAgdHJ5CisrICAgIGxhc3RmbTo6WG1sUXVlcnkgbGZtOworKyAgICBpZigg bGZtLnBhcnNlKCBtX2pvYnNbICJnZXRUb3BBcnRpc3RzIiBdLT5yZWFkQWxsKCkgKSApCisgICAg IHsKKy0gICAgICAgIGxhc3RmbTo6WG1sUXVlcnkgbGZtKCBtX2pvYnNbICJnZXRUb3BBcnRpc3Rz IiBdLT5yZWFkQWxsKCkgKTsKKy0KKyAgICAgICAgIGZvcmVhY2goIGNvbnN0IGxhc3RmbTo6WG1s UXVlcnkgJmUsIGxmbVsgInRvcGFydGlzdHMiIF0uY2hpbGRyZW4gKCAiYXJ0aXN0IiApICkKKyAg ICAgICAgIHsKKyAgICAgICAgICAgICBjb25zdCBRU3RyaW5nIG5hbWUgPSBlWyAibmFtZSIgXS50 ZXh0KCk7CitAQCAtMTU4LDkgKzE1OCwxMCBAQCBMYXN0Rm1UcmVlTW9kZWw6OnNsb3RBZGRUb3BB cnRpc3RzICgpCisgICAgICAgICAgICAgbV9teVRvcEFydGlzdHMtPmFwcGVuZENoaWxkICggYXJ0 aXN0ICk7CisgICAgICAgICB9CisgCistICAgIH0gY2F0Y2goIGxhc3RmbTo6d3M6OlBhcnNlRXJy b3IgZSApCisrICAgIH0KKysgICAgZWxzZQorICAgICB7CistICAgICAgICBkZWJ1ZygpIDw8ICJH b3QgZXhjZXB0aW9uIGluIHBhcnNpbmcgZnJvbSBsYXN0LmZtOiIgPDwgZS53aGF0KCk7CisrICAg ICAgICBkZWJ1ZygpIDw8ICJHb3QgZXhjZXB0aW9uIGluIHBhcnNpbmcgZnJvbSBsYXN0LmZtOiIg PDwgbGZtLnBhcnNlRXJyb3IoKS5tZXNzYWdlKCk7CisgICAgIH0KKyAgICAgZW1pdFJvd0NoYW5n ZWQoTGFzdEZtOjpUb3BBcnRpc3RzKTsKKyAgICAgbV9qb2JzWyAiZ2V0VG9wQXJ0aXN0cyIgXS0+ ZGVsZXRlTGF0ZXIoKTsKK2RpZmYgLXVwIGFtYXJvay0yLjUuOTYvc3JjL3NlcnZpY2VzL2xhc3Rm bS9MYXN0Rm1UcmVlTW9kZWwuaC5saWJsYXN0Zm0xIGFtYXJvay0yLjUuOTYvc3JjL3NlcnZpY2Vz L2xhc3RmbS9MYXN0Rm1UcmVlTW9kZWwuaAorLS0tIGFtYXJvay0yLjUuOTYvc3JjL3NlcnZpY2Vz L2xhc3RmbS9MYXN0Rm1UcmVlTW9kZWwuaC5saWJsYXN0Zm0xCTIwMTItMDctMzEgMDU6MTA6NTYu MDAwMDAwMDAwIC0wNTAwCisrKysgYW1hcm9rLTIuNS45Ni9zcmMvc2VydmljZXMvbGFzdGZtL0xh c3RGbVRyZWVNb2RlbC5oCTIwMTItMDgtMDIgMDc6Mzg6MjQuMjk3NTU2MTE3IC0wNTAwCitAQCAt MjIsNyArMjIsNyBAQAorICNpbmNsdWRlICJjb3JlL21ldGEvTWV0YS5oIgorICNpbmNsdWRlICJX ZWlnaHRlZFN0cmluZ0xpc3QuaCIKKyAKKy0jaW5jbHVkZSA8bGFzdGZtL1VzZXI+CisrI2luY2x1 ZGUgPGxhc3RmbS9Vc2VyLmg+CisgCisgI2luY2x1ZGUgPFFBYnN0cmFjdEl0ZW1Nb2RlbD4KKyAj aW5jbHVkZSA8UUhhc2g+CitAQCAtMTM2LDcgKzEzNiw3IEBAIHByaXZhdGU6CisgICAgIExhc3RG bVRyZWVJdGVtICptX215VG9wQXJ0aXN0czsKKyAKKyAgICAgUVN0cmluZyBtX3VzZXJOYW1lOwor LSAgICBsYXN0Zm06OkF1dGhlbnRpY2F0ZWRVc2VyIG1fdXNlcjsKKysgICAgbGFzdGZtOjpVc2Vy IG1fdXNlcjsKKyAKKyAgICAgUVN0cmluZ0xpc3QgbV9mcmllbmRzOworICAgICBRU3RyaW5nTGlz dCBtX25laWdoYm9yczsKK2RpZmYgLXVwIGFtYXJvay0yLjUuOTYvc3JjL3NlcnZpY2VzL2xhc3Rm bS9tZXRhL0xhc3RGbU1ldGEuY3BwLmxpYmxhc3RmbTEgYW1hcm9rLTIuNS45Ni9zcmMvc2Vydmlj ZXMvbGFzdGZtL21ldGEvTGFzdEZtTWV0YS5jcHAKKy0tLSBhbWFyb2stMi41Ljk2L3NyYy9zZXJ2 aWNlcy9sYXN0Zm0vbWV0YS9MYXN0Rm1NZXRhLmNwcC5saWJsYXN0Zm0xCTIwMTItMDctMzEgMDU6 MTA6NTYuMDAwMDAwMDAwIC0wNTAwCisrKysgYW1hcm9rLTIuNS45Ni9zcmMvc2VydmljZXMvbGFz dGZtL21ldGEvTGFzdEZtTWV0YS5jcHAJMjAxMi0wOC0wMiAwNzozODoyNC4zMDA1NTYwODEgLTA1 MDAKK0BAIC00MSw3ICs0MSw3IEBACisgI2luY2x1ZGUgPFFXZWFrUG9pbnRlcj4KKyAjaW5jbHVk ZSA8UVVybD4KKyAKKy0jaW5jbHVkZSA8bGFzdGZtL1RyYWNrPgorKyNpbmNsdWRlIDxsYXN0Zm0v VHJhY2suaD4KKyAKKyBuYW1lc3BhY2UgTGFzdEZtIHsKKyAKK0BAIC00NTEsOCArNDUxLDcgQEAg VHJhY2s6OmxvdmUoKQorICAgICBERUJVR19CTE9DSworIAorICAgICBkZWJ1ZygpIDw8ICJpbmZv OiIgPDwgZC0+bGFzdEZtVHJhY2suYXJ0aXN0KCkgPDwgZC0+bGFzdEZtVHJhY2sudGl0bGUoKTsK Ky0gICAgZC0+d3NSZXBseSA9IGxhc3RmbTo6TXV0YWJsZVRyYWNrKCBkLT5sYXN0Rm1UcmFjayAp LmxvdmUoKTsKKy0gICAgY29ubmVjdCggZC0+d3NSZXBseSwgU0lHTkFMKCBmaW5pc2hlZCgpICks IHRoaXMsIFNMT1QoIHNsb3RXc1JlcGx5KCkgKSApOworKyAgICBsYXN0Zm06Ok11dGFibGVUcmFj ayggZC0+bGFzdEZtVHJhY2sgKS5sb3ZlKCk7CisgfQorIAorIHZvaWQKK0BAIC00NzcsOSArNDc2 LDkgQEAgdm9pZCBUcmFjazo6c2xvdFJlc3VsdFJlYWR5KCkKKyB7CisgICAgIGlmKCBkLT50cmFj a0ZldGNoLT5lcnJvcigpID09IFFOZXR3b3JrUmVwbHk6Ok5vRXJyb3IgKQorICAgICB7CistICAg ICAgICB0cnkKKysgICAgICAgIGxhc3RmbTo6WG1sUXVlcnkgbGZtOworKyAgICAgICAgaWYoIGxm bS5wYXJzZSggZC0+dHJhY2tGZXRjaC0+cmVhZEFsbCgpICkgKQorICAgICAgICAgeworLSAgICAg ICAgICAgIGxhc3RmbTo6WG1sUXVlcnkgbGZtKCBkLT50cmFja0ZldGNoLT5yZWFkQWxsKCkgKTsK KyAgICAgICAgICAgICBRU3RyaW5nIGlkID0gbGZtWyAidHJhY2siIF1bICJpZCIgXS50ZXh0KCk7 CisgICAgICAgICAgICAgUVN0cmluZyBzdHJlYW1hYmxlID0gbGZtWyAidHJhY2siIF1bICJzdHJl YW1hYmxlIiBdLnRleHQoKTsKKyAgICAgICAgICAgICBpZiggc3RyZWFtYWJsZS50b0ludCgpID09 IDEgKQorQEAgLTQ4Nyw5ICs0ODYsMTAgQEAgdm9pZCBUcmFjazo6c2xvdFJlc3VsdFJlYWR5KCkK KyAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgIGluaXQoKTsKKyAKKy0gICAgICAg IH0gY2F0Y2goIGxhc3RmbTo6d3M6OlBhcnNlRXJyb3ImIGUgKQorKyAgICAgICAgfQorKyAgICAg ICAgZWxzZQorICAgICAgICAgeworLSAgICAgICAgICAgIGRlYnVnKCkgPDwgIkdvdCBleGNlcHRp b24gaW4gcGFyc2luZyBmcm9tIGxhc3QuZm06IiA8PCBlLndoYXQoKTsKKysgICAgICAgICAgICBk ZWJ1ZygpIDw8ICJHb3QgZXhjZXB0aW9uIGluIHBhcnNpbmcgZnJvbSBsYXN0LmZtOiIgPDwgbGZt LnBhcnNlRXJyb3IoKS5tZXNzYWdlKCk7CisgICAgICAgICB9CisgICAgIH0gZWxzZQorICAgICB7 CitkaWZmIC11cCBhbWFyb2stMi41Ljk2L3NyYy9zZXJ2aWNlcy9sYXN0Zm0vbWV0YS9MYXN0Rm1N ZXRhLmgubGlibGFzdGZtMSBhbWFyb2stMi41Ljk2L3NyYy9zZXJ2aWNlcy9sYXN0Zm0vbWV0YS9M YXN0Rm1NZXRhLmgKKy0tLSBhbWFyb2stMi41Ljk2L3NyYy9zZXJ2aWNlcy9sYXN0Zm0vbWV0YS9M YXN0Rm1NZXRhLmgubGlibGFzdGZtMQkyMDEyLTA3LTMxIDA1OjEwOjU2LjAwMDAwMDAwMCAtMDUw MAorKysrIGFtYXJvay0yLjUuOTYvc3JjL3NlcnZpY2VzL2xhc3RmbS9tZXRhL0xhc3RGbU1ldGEu aAkyMDEyLTA4LTAyIDA3OjM4OjI0LjI5OTU1NjA5MyAtMDUwMAorQEAgLTI0LDcgKzI0LDcgQEAK KyAjaW5jbHVkZSAiU2VydmljZU1ldGFCYXNlLmgiIC8vIGZvciB0aGUgU291cmNlSW5mb1Byb3Zp ZGVyCisgCisgCistI2luY2x1ZGUgPGxhc3RmbS9UcmFjaz4KKysjaW5jbHVkZSA8bGFzdGZtL1Ry YWNrLmg+CisgCisgCisgI2luY2x1ZGUgPFFPYmplY3Q+CitkaWZmIC11cCBhbWFyb2stMi41Ljk2 L3NyYy9zZXJ2aWNlcy9sYXN0Zm0vbWV0YS9MYXN0Rm1NZXRhX3AuaC5saWJsYXN0Zm0xIGFtYXJv ay0yLjUuOTYvc3JjL3NlcnZpY2VzL2xhc3RmbS9tZXRhL0xhc3RGbU1ldGFfcC5oCistLS0gYW1h cm9rLTIuNS45Ni9zcmMvc2VydmljZXMvbGFzdGZtL21ldGEvTGFzdEZtTWV0YV9wLmgubGlibGFz dGZtMQkyMDEyLTA3LTMxIDA1OjEwOjU2LjAwMDAwMDAwMCAtMDUwMAorKysrIGFtYXJvay0yLjUu OTYvc3JjL3NlcnZpY2VzL2xhc3RmbS9tZXRhL0xhc3RGbU1ldGFfcC5oCTIwMTItMDgtMDIgMDc6 Mzg6MjQuMzAwNTU2MDgxIC0wNTAwCitAQCAtMjYsMTAgKzI2LDEwIEBACisgI2luY2x1ZGUgImNv cmUvc3RhdGlzdGljcy9TdGF0aXN0aWNzUHJvdmlkZXIuaCIKKyAjaW5jbHVkZSAiY29yZS1pbXBs L3N0YXRpc3RpY3MvcHJvdmlkZXJzL3RhZy9UYWdTdGF0aXN0aWNzUHJvdmlkZXIuaCIKKyAKKy0j aW5jbHVkZSA8bGFzdGZtL1RyYWNrPgorKyNpbmNsdWRlIDxsYXN0Zm0vVHJhY2suaD4KKyAjaW5j bHVkZSA8bGFzdGZtL3dzLmg+CistI2luY2x1ZGUgPGxhc3RmbS9SYWRpb1R1bmVyPgorLSNpbmNs dWRlIDxsYXN0Zm0vWG1sUXVlcnk+CisrI2luY2x1ZGUgPGxhc3RmbS9SYWRpb1R1bmVyLmg+Cisr I2luY2x1ZGUgPGxhc3RmbS9YbWxRdWVyeS5oPgorIAorICNpbmNsdWRlIDxraW8vam9iLmg+Cisg I2luY2x1ZGUgPGtpby9qb2JjbGFzc2VzLmg+CitAQCAtMTQ0LDI2ICsxNDQsMjQgQEAgY2xhc3Mg VHJhY2s6OlByaXZhdGUgOiBwdWJsaWMgUU9iamVjdAorICAgICAgICAgICAgICAgICByZXR1cm47 CisgICAgICAgICAgICAgaWYoIG1fdXNlckZldGNoLT5lcnJvcigpID09IFFOZXR3b3JrUmVwbHk6 Ok5vRXJyb3IgKQorICAgICAgICAgICAgIHsKKy0gICAgICAgICAgICAgICAgdHJ5CisrICAgICAg ICAgICAgICAgIGxhc3RmbTo6WG1sUXVlcnkgbGZtOworKyAgICAgICAgICAgICAgICBpZiggIWxm bS5wYXJzZSggbV91c2VyRmV0Y2gtPnJlYWRBbGwoKSApICkKKyAgICAgICAgICAgICAgICAgewor LSAgICAgICAgICAgICAgICAgICAgbGFzdGZtOjpYbWxRdWVyeSBsZm0oIG1fdXNlckZldGNoLT5y ZWFkQWxsKCkgKTsKKy0gICAgICAgICAgICAgICAgICAgIGFsYnVtVXJsID0gbGZtWyAidHJhY2si IF1bICJhbGJ1bSIgXVsgInVybCIgXS50ZXh0KCk7CistICAgICAgICAgICAgICAgICAgICB0cmFj a1VybCA9IGxmbVsgInRyYWNrIiBdWyAidXJsIiBdLnRleHQoKTsKKy0gICAgICAgICAgICAgICAg ICAgIGFydGlzdFVybCA9IGxmbVsgInRyYWNrIiBdWyAiYXJ0aXN0IiBdWyAidXJsIiBdLnRleHQo KTsKKy0KKy0gICAgICAgICAgICAgICAgICAgIG5vdGlmeU9ic2VydmVycygpOworLQorLSAgICAg ICAgICAgICAgICAgICAgaW1hZ2VVcmwgPSBsZm1bICJ0cmFjayIgXVsgImFsYnVtIiBdWyAiaW1h Z2Ugc2l6ZT1sYXJnZSIgXS50ZXh0KCk7CistCistICAgICAgICAgICAgICAgICAgICBpZiggIWlt YWdlVXJsLmlzRW1wdHkoKSApCistICAgICAgICAgICAgICAgICAgICB7CistICAgICAgICAgICAg ICAgICAgICAgICAgS0lPOjpKb2IqIGpvYiA9IEtJTzo6c3RvcmVkR2V0KCBLVXJsKCBpbWFnZVVy bCApLCBLSU86OlJlbG9hZCwgS0lPOjpIaWRlUHJvZ3Jlc3NJbmZvICk7CistICAgICAgICAgICAg ICAgICAgICAgICAgY29ubmVjdCggam9iLCBTSUdOQUwoIHJlc3VsdCggS0pvYiogKSApLCB0aGlz LCBTTE9UKCBmZXRjaEltYWdlRmluaXNoZWQoIEtKb2IqICkgKSApOworLSAgICAgICAgICAgICAg ICAgICAgfQorKyAgICAgICAgICAgICAgICAgICAgZGVidWcoKSA8PCAiR290IGV4Y2VwdGlvbiBp biBwYXJzaW5nIGZyb20gbGFzdC5mbToiIDw8IGxmbS5wYXJzZUVycm9yKCkubWVzc2FnZSgpOwor KyAgICAgICAgICAgICAgICAgICAgcmV0dXJuOworKyAgICAgICAgICAgICAgICB9CisrICAgICAg ICAgICAgICAgIGFsYnVtVXJsID0gbGZtWyAidHJhY2siIF1bICJhbGJ1bSIgXVsgInVybCIgXS50 ZXh0KCk7CisrICAgICAgICAgICAgICAgIHRyYWNrVXJsID0gbGZtWyAidHJhY2siIF1bICJ1cmwi IF0udGV4dCgpOworKyAgICAgICAgICAgICAgICBhcnRpc3RVcmwgPSBsZm1bICJ0cmFjayIgXVsg ImFydGlzdCIgXVsgInVybCIgXS50ZXh0KCk7CisrCisrICAgICAgICAgICAgICAgIG5vdGlmeU9i c2VydmVycygpOworKworKyAgICAgICAgICAgICAgICBpbWFnZVVybCA9IGxmbVsgInRyYWNrIiBd WyAiYWxidW0iIF1bICJpbWFnZSBzaXplPWxhcmdlIiBdLnRleHQoKTsKKyAKKy0gICAgICAgICAg ICAgICAgfSBjYXRjaCggbGFzdGZtOjp3czo6UGFyc2VFcnJvciYgZSApCisrICAgICAgICAgICAg ICAgIGlmKCAhaW1hZ2VVcmwuaXNFbXB0eSgpICkKKyAgICAgICAgICAgICAgICAgeworLSAgICAg ICAgICAgICAgICAgICAgZGVidWcoKSA8PCAiR290IGV4Y2VwdGlvbiBpbiBwYXJzaW5nIGZyb20g bGFzdC5mbToiIDw8IGUud2hhdCgpOworKyAgICAgICAgICAgICAgICAgICAgS0lPOjpKb2IqIGpv YiA9IEtJTzo6c3RvcmVkR2V0KCBLVXJsKCBpbWFnZVVybCApLCBLSU86OlJlbG9hZCwgS0lPOjpI aWRlUHJvZ3Jlc3NJbmZvICk7CisrICAgICAgICAgICAgICAgICAgICBjb25uZWN0KCBqb2IsIFNJ R05BTCggcmVzdWx0KCBLSm9iKiApICksIHRoaXMsIFNMT1QoIGZldGNoSW1hZ2VGaW5pc2hlZCgg S0pvYiogKSApICk7CisgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICB9CisgCitkaWZm IC11cCBhbWFyb2stMi41Ljk2L3NyYy9zZXJ2aWNlcy9sYXN0Zm0vbWV0YS9NdWx0aVBsYXlhYmxl Q2FwYWJpbGl0eUltcGxfcC5oLmxpYmxhc3RmbTEgYW1hcm9rLTIuNS45Ni9zcmMvc2VydmljZXMv bGFzdGZtL21ldGEvTXVsdGlQbGF5YWJsZUNhcGFiaWxpdHlJbXBsX3AuaAorLS0tIGFtYXJvay0y LjUuOTYvc3JjL3NlcnZpY2VzL2xhc3RmbS9tZXRhL011bHRpUGxheWFibGVDYXBhYmlsaXR5SW1w bF9wLmgubGlibGFzdGZtMQkyMDEyLTA3LTMxIDA1OjEwOjU2LjAwMDAwMDAwMCAtMDUwMAorKysr IGFtYXJvay0yLjUuOTYvc3JjL3NlcnZpY2VzL2xhc3RmbS9tZXRhL011bHRpUGxheWFibGVDYXBh YmlsaXR5SW1wbF9wLmgJMjAxMi0wOC0wMiAwNzozODoyNC4zMDE1NTYwNjggLTA1MDAKK0BAIC0y NSw4ICsyNSw5IEBACisgI2luY2x1ZGUgImNvcmUvbWV0YS9NZXRhLmgiCisgI2luY2x1ZGUgImNv cmUvY2FwYWJpbGl0aWVzL011bHRpUGxheWFibGVDYXBhYmlsaXR5LmgiCisgCistI2luY2x1ZGUg PGxhc3RmbS9UcmFjaz4KKy0jaW5jbHVkZSA8bGFzdGZtL1JhZGlvVHVuZXI+CisrI2luY2x1ZGUg PGxhc3RmbS9UcmFjay5oPgorKyNpbmNsdWRlIDxsYXN0Zm0vUmFkaW9TdGF0aW9uLmg+CisrI2lu Y2x1ZGUgPGxhc3RmbS9SYWRpb1R1bmVyLmg+CisgI2luY2x1ZGUgPGxhc3RmbS93cy5oPgorIAor ICNpbmNsdWRlIDxLTG9jYWxlPgorQEAgLTU1LDI0ICs1NiwyMyBAQCBjbGFzcyBNdWx0aVBsYXlh YmxlQ2FwYWJpbGl0eUltcGwgOiBwdWJsCisgICAgICAgICB7CisgICAgICAgICAgICAgREVCVUdf QkxPQ0sKKyAgICAgICAgICAgICBtX3R1bmVyID0gbmV3IGxhc3RmbTo6UmFkaW9UdW5lciggbGFz dGZtOjpSYWRpb1N0YXRpb24oIG1fdHJhY2stPnVpZFVybCgpICkgKTsKKy0gICAgICAgICAgICAK KysKKyAgICAgICAgICAgICBjb25uZWN0KCBtX3R1bmVyLCBTSUdOQUwoIHRyYWNrQXZhaWxhYmxl KCkgKSwgdGhpcywgU0xPVCggc2xvdE5ld1RyYWNrQXZhaWxhYmxlKCkgKSApOworLSAgICAgICAg ICAgIGNvbm5lY3QoIG1fdHVuZXIsIFNJR05BTCggZXJyb3IoIGxhc3RmbTo6d3M6OkVycm9yICkg KSwgdGhpcywgU0xPVCggZXJyb3IoIGxhc3RmbTo6d3M6OkVycm9yICkgKSApOworKyAgICAgICAg ICAgIGNvbm5lY3QoIG1fdHVuZXIsIFNJR05BTCggZXJyb3IobGFzdGZtOjp3czo6RXJyb3IsUVN0 cmluZykgKSwgdGhpcywgU0xPVCggZXJyb3IoIGxhc3RmbTo6d3M6OkVycm9yICkgKSApOworICAg ICAgICAgfQorLSAgICAgICAgCisrCisgICAgICAgICB2aXJ0dWFsIHZvaWQgZmV0Y2hOZXh0KCkK KyAgICAgICAgIHsKKyAgICAgICAgICAgICBERUJVR19CTE9DSworICAgICAgICAgICAgIG1fY3Vy cmVudFRyYWNrID0gbV90dW5lci0+dGFrZU5leHRUcmFjaygpOworICAgICAgICAgICAgIG1fdHJh Y2stPnNldFRyYWNrSW5mbyggbV9jdXJyZW50VHJhY2sgKTsKKy0KKyAgICAgICAgIH0KKy0gICAg ICAgIAorKworICAgICAgICAgdXNpbmcgT2JzZXJ2ZXI6Om1ldGFkYXRhQ2hhbmdlZDsKKyAgICAg ICAgIHZpcnR1YWwgdm9pZCBtZXRhZGF0YUNoYW5nZWQoIE1ldGE6OlRyYWNrUHRyIHRyYWNrICkK KyAgICAgICAgIHsKKyAgICAgICAgICAgICBjb25zdCBMYXN0Rm06OlRyYWNrUHRyIGx0cmFjayA9 IExhc3RGbTo6VHJhY2tQdHI6OmR5bmFtaWNDYXN0KCB0cmFjayApOworLSAgICAgICAgICAgIAor KworICAgICAgICAgICAgIGlmKCBsdHJhY2suaXNOdWxsKCkgKQorICAgICAgICAgICAgICAgICBy ZXR1cm47CisgCitAQCAtOTQsNyArOTQsNyBAQCBjbGFzcyBNdWx0aVBsYXlhYmxlQ2FwYWJpbGl0 eUltcGwgOiBwdWJsCisgICAgICAgICAgICAgICAgIG1fdHJhY2stPnNldFRyYWNrSW5mbyggbV9j dXJyZW50VHJhY2sgKTsKKyAgICAgICAgICAgICB9CisgICAgICAgICB9CistICAgICAgICAKKysK KyAgICAgICAgIHZpcnR1YWwgdm9pZCBza2lwKCkKKyAgICAgICAgIHsKKyAgICAgICAgICAgICBm ZXRjaE5leHQoKTsKK2RpZmYgLXVwIGFtYXJvay0yLjUuOTYvc3JjL3NlcnZpY2VzL2xhc3RmbS9T Y3JvYmJsZXJBZGFwdGVyLmgubGlibGFzdGZtMSBhbWFyb2stMi41Ljk2L3NyYy9zZXJ2aWNlcy9s YXN0Zm0vU2Nyb2JibGVyQWRhcHRlci5oCistLS0gYW1hcm9rLTIuNS45Ni9zcmMvc2VydmljZXMv bGFzdGZtL1Njcm9iYmxlckFkYXB0ZXIuaC5saWJsYXN0Zm0xCTIwMTItMDctMzEgMDU6MTA6NTYu MDAwMDAwMDAwIC0wNTAwCisrKysgYW1hcm9rLTIuNS45Ni9zcmMvc2VydmljZXMvbGFzdGZtL1Nj cm9iYmxlckFkYXB0ZXIuaAkyMDEyLTA4LTAyIDA3OjM4OjI0LjI5ODU1NjEwNSAtMDUwMAorQEAg LTIwLDggKzIwLDggQEAKKyAKKyAjaW5jbHVkZSAiY29yZS9tZXRhL01ldGEuaCIKKyAKKy0jaW5j bHVkZSA8bGFzdGZtL0F1ZGlvc2Nyb2JibGVyPgorLSNpbmNsdWRlIDxsYXN0Zm0vVHJhY2s+Cisr I2luY2x1ZGUgPGxhc3RmbS9BdWRpb3Njcm9iYmxlci5oPgorKyNpbmNsdWRlIDxsYXN0Zm0vVHJh Y2suaD4KKyAKKyAjaW5jbHVkZSA8UVZhcmlhbnQ+CisgCgpkaWZmIC0tZ2l0IGEvYW1hcm9rLWxp Ymxhc3RmbTEucGF0Y2ggYi9hbWFyb2stbGlibGFzdGZtMS5wYXRjaApkZWxldGVkIGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggNTgyMDYyZS4uMDAwMDAwMAotLS0gYS9hbWFyb2stbGlibGFzdGZtMS5w YXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDcyMiArMCwwIEBACi1kaWZmIC0tZ2l0IGEvc3JjL3Nl cnZpY2VzL2FtcGFjaGUvTGFzdGZtSW5mb1BhcnNlci5jcHAgYi9zcmMvc2VydmljZXMvYW1wYWNo ZS9MYXN0Zm1JbmZvUGFyc2VyLmNwcAotaW5kZXggNTBjYjUyOTUxNmNlMTM1ODc4NWZhMDQ4MjRj ZDMyNjQyYTUyNjQ5NS4uMGM2ZGQ4ZmU5ZjZhNDkxYTg4ZGZiMDYyYTA5ZTI2NTI5NzZkZjBlZiAx MDA2NDQKLS0tLSBhL3NyYy9zZXJ2aWNlcy9hbXBhY2hlL0xhc3RmbUluZm9QYXJzZXIuY3BwCi0r KysgYi9zcmMvc2VydmljZXMvYW1wYWNoZS9MYXN0Zm1JbmZvUGFyc2VyLmNwcAotQEAgLTIwLDgg KzIwLDcgQEAKLSAjaW5jbHVkZSAiY29yZS9zdXBwb3J0L0FtYXJvay5oIgotICNpbmNsdWRlICJj b3JlL3N1cHBvcnQvRGVidWcuaCIKLSAKLS0jaW5jbHVkZSA8bGFzdGZtL1htbFF1ZXJ5PgotLSNp bmNsdWRlIDxsYXN0Zm0vd3MuaD4KLSsjaW5jbHVkZSA8bGFzdGZtL1htbFF1ZXJ5Lmg+Ci0gCi0g I2luY2x1ZGUgPEtMb2NhbGU+Ci0gCi1AQCAtNTUsNyArNTQsOCBAQCB2b2lkIExhc3RmbUluZm9Q YXJzZXI6Om9uR2V0VHJhY2tJbmZvKCkKLSAgICAgewotICAgICAgICAgY2FzZSBRTmV0d29ya1Jl cGx5OjpOb0Vycm9yOgotICAgICAgICAgewotLSAgICAgICAgICAgIGxhc3RmbTo6WG1sUXVlcnkg bGZtID0gbV9qb2JzWyAiZ2V0VHJhY2tJbmZvIiBdLT5yZWFkQWxsKCk7Ci0rICAgICAgICAgICAg bGFzdGZtOjpYbWxRdWVyeSBsZm07Ci0rICAgICAgICAgICAgbGZtLnBhcnNlKCBtX2pvYnNbICJn ZXRUcmFja0luZm8iIF0tPnJlYWRBbGwoKSApOwotICAgICAgICAgICAgIGxhc3RmbTo6WG1sUXVl cnkgd2lraSA9IGxmbVsidHJhY2siXVsid2lraSJdOwotICAgICAgICAgICAgIGNvbnN0IFFTdHJp bmcgY29udGVudFRleHQgPSB3aWtpWyJjb250ZW50Il0udGV4dCgpOwotICAgICAgICAgICAgIGNv bnN0IFFTdHJpbmcgcHVibGlzaGVkRGF0ZSA9IHdpa2lbInB1Ymxpc2hlZCJdLnRleHQoKTsKLUBA IC0xMDMsNyArMTAzLDggQEAgdm9pZCBMYXN0Zm1JbmZvUGFyc2VyOjpvbkdldEFsYnVtSW5mbygp Ci0gICAgIHsKLSAgICAgICAgIGNhc2UgUU5ldHdvcmtSZXBseTo6Tm9FcnJvcjoKLSAgICAgICAg IHsKLS0gICAgICAgICAgICBsYXN0Zm06OlhtbFF1ZXJ5IGxmbSA9IG1fam9ic1sgImdldEFsYnVt SW5mbyIgXS0+cmVhZEFsbCgpOwotKyAgICAgICAgICAgIGxhc3RmbTo6WG1sUXVlcnkgbGZtOwot KyAgICAgICAgICAgIGxmbS5wYXJzZSggbV9qb2JzWyAiZ2V0QWxidW1JbmZvIiBdLT5yZWFkQWxs KCkgKTsKLSAgICAgICAgICAgICBsYXN0Zm06OlhtbFF1ZXJ5IHdpa2kgPSBsZm1bImFsYnVtIl1b Indpa2kiXTsKLSAgICAgICAgICAgICBjb25zdCBRU3RyaW5nIHN1bW1hcnlUZXh0ID0gd2lraVsi c3VtbWFyeSJdLnRleHQoKTsKLSAgICAgICAgICAgICBjb25zdCBRU3RyaW5nIGNvbnRlbnRUZXh0 ID0gd2lraVsiY29udGVudCJdLnRleHQoKTsKLUBAIC0xNTUsNyArMTU2LDggQEAgdm9pZCBMYXN0 Zm1JbmZvUGFyc2VyOjpvbkdldEFydGlzdEluZm8oKQotICAgICB7Ci0gICAgICAgICBjYXNlIFFO ZXR3b3JrUmVwbHk6Ok5vRXJyb3I6Ci0gICAgICAgICB7Ci0tICAgICAgICAgICAgbGFzdGZtOjpY bWxRdWVyeSBsZm0gPSBtX2pvYnNbICJnZXRBcnRpc3RJbmZvIiBdLT5yZWFkQWxsKCk7Ci0rICAg ICAgICAgICAgbGFzdGZtOjpYbWxRdWVyeSBsZm07Ci0rICAgICAgICAgICAgbGZtLnBhcnNlKCBt X2pvYnNbICJnZXRBcnRpc3RJbmZvIiBdLT5yZWFkQWxsKCkgKTsKLSAgICAgICAgICAgICBkZWJ1 ZygpIDw8IGxmbS50ZXh0KCk7Ci0gICAgICAgICAgICAgbGFzdGZtOjpYbWxRdWVyeSBiaW8gPSBs Zm1bImFydGlzdCJdWyJiaW8iXTsKLSAgICAgICAgICAgICBjb25zdCBRU3RyaW5nIHN1bW1hcnlU ZXh0ID0gYmlvWyJzdW1tYXJ5Il0udGV4dCgpOwotZGlmZiAtLWdpdCBhL3NyYy9zZXJ2aWNlcy9s YXN0Zm0vTGFzdEZtU2VydmljZS5jcHAgYi9zcmMvc2VydmljZXMvbGFzdGZtL0xhc3RGbVNlcnZp Y2UuY3BwCi1pbmRleCBhMTRkOTg5YjNmYWM4MWU1NDVkZjA5NWFkZWUzNjU4MGIwNTJmZWE3Li5j OTg5OGFhMWZjZDE2Y2E4MDcwZWVjNjYyMzFkYjIzYzFiZWRkZmYyIDEwMDY0NAotLS0tIGEvc3Jj L3NlcnZpY2VzL2xhc3RmbS9MYXN0Rm1TZXJ2aWNlLmNwcAotKysrIGIvc3JjL3NlcnZpY2VzL2xh c3RmbS9MYXN0Rm1TZXJ2aWNlLmNwcAotQEAgLTQ2LDggKzQ2LDggQEAKLSAjaW5jbHVkZSAid2lk Z2V0cy9TZWFyY2hXaWRnZXQuaCIKLSAjaW5jbHVkZSAiTmV0d29ya0FjY2Vzc01hbmFnZXJQcm94 eS5oIgotIAotLSNpbmNsdWRlIDxsYXN0Zm0vQXVkaW9zY3JvYmJsZXI+IC8vIGZyb20gbGlibGFz dGZtCi0tI2luY2x1ZGUgPGxhc3RmbS9YbWxRdWVyeT4KLSsjaW5jbHVkZSA8bGFzdGZtL0F1ZGlv c2Nyb2JibGVyLmg+IC8vIGZyb20gbGlibGFzdGZtCi0rI2luY2x1ZGUgPGxhc3RmbS9YbWxRdWVy eS5oPgotIAotICNpbmNsdWRlIDxLTG9jYWxlPgotICNpbmNsdWRlIDxLUGFzc3dvcmREaWFsb2c+ Ci1AQCAtMjI0LDEwICsyMjQsNyBAQCBMYXN0Rm1TZXJ2aWNlOjppbml0KCkKLSB7Ci0gICAgIC8v IHNldCB0aGUgZ2xvYmFsIHN0YXRpYyBMYXN0Zm06OldzIHN0dWZmCi0gICAgIGxhc3RmbTo6d3M6 OkFwaUtleSA9IEFtYXJvazo6bGFzdGZtQXBpS2V5KCk7Ci0tICAgIGxhc3RmbTo6d3M6OlNoYXJl ZFNlY3JldCA9ICJmZTBkY2RlOWZjZDE0YzJkMWQ1MDY2NWI2NDYzMzVlOSI7Ci0tICAgIC8vIHRl c3Rpbmcgdy8gb2ZmaWNpYWwga2V5cwotLSAgICAvL1dzOjpTaGFyZWRTZWNyZXQgPSAiNzM1ODJk ZmM5ZTU1NmQzMDdhZWFkMDY5YWYxMTBhYjgiOwotLSAgICAvL1dzOjpBcGlLZXkgPSAiYzhjN2Ix NjNiMTFmOTJlZjJkMzNiYTZjZDNjMmMzYzMiOwotKyAgICBsYXN0Zm06OndzOjpTaGFyZWRTZWNy ZXQgPSBBbWFyb2s6Omxhc3RmbUFwaVNoYXJlZFNlY3JldCgpOwotICAgICBtX3VzZXJOYW1lQXJy YXkgPSBxc3RyZHVwKCBtX3VzZXJOYW1lLnRvTGF0aW4xKCkuZGF0YSgpICk7Ci0gICAgIGxhc3Rm bTo6d3M6OlVzZXJuYW1lID0gbV91c2VyTmFtZUFycmF5OwotICAgICBpZiggbGFzdGZtOjpuYW0o KSAhPSBUaGU6Om5ldHdvcmtBY2Nlc3NNYW5hZ2VyKCkgKQotQEAgLTMwOSw3ICszMDYsOCBAQCBM YXN0Rm1TZXJ2aWNlOjpvbkF1dGhlbnRpY2F0ZWQoKQotICAgICAgICAgY2FzZSBRTmV0d29ya1Jl cGx5OjpOb0Vycm9yOgotICAgICAgICAgewotIAotLSAgICAgICAgICAgIGxhc3RmbTo6WG1sUXVl cnkgbGZtID0gbGFzdGZtOjpYbWxRdWVyeSggbV9qb2JzWyAiYXV0aCIgXS0+cmVhZEFsbCgpICk7 Ci0rICAgICAgICAgICAgbGFzdGZtOjpYbWxRdWVyeSBsZm07Ci0rICAgICAgICAgICAgbGZtLnBh cnNlKCBtX2pvYnNbICJhdXRoIiBdLT5yZWFkQWxsKCkgKTsKLSAgICAgICAgICAgICBMYXN0Rm1T ZXJ2aWNlQ29uZmlnIGNvbmZpZzsKLSAKLSAgICAgICAgICAgICBpZiggbGZtLmNoaWxkcmVuKCAi ZXJyb3IiICkuc2l6ZSgpID4gMCApCi1AQCAtMzU5LDEwICszNTcsOCBAQCBMYXN0Rm1TZXJ2aWNl OjpvbkdldFVzZXJJbmZvKCkKLSAgICAgewotICAgICAgICAgY2FzZSBRTmV0d29ya1JlcGx5OjpO b0Vycm9yOgotICAgICAgICAgewotLSAgICAgICAgICAgIHRyeQotLSAgICAgICAgICAgIHsKLS0g ICAgICAgICAgICAgICAgbGFzdGZtOjpYbWxRdWVyeSBsZm0oIG1fam9ic1sgImdldFVzZXJJbmZv IiBdLT5yZWFkQWxsKCkgKTsKLS0KLSsgICAgICAgICAgICBsYXN0Zm06OlhtbFF1ZXJ5IGxmbTsK LSsgICAgICAgICAgICBpZiggbGZtLnBhcnNlKCBtX2pvYnNbICJnZXRVc2VySW5mbyIgXS0+cmVh ZEFsbCgpICkgKSB7Ci0gICAgICAgICAgICAgICAgIG1fY291bnRyeSA9IGxmbVsidXNlciJdWyJj b3VudHJ5Il0udGV4dCgpOwotICAgICAgICAgICAgICAgICBtX2FnZSA9IGxmbVsidXNlciJdWyJh Z2UiXS50ZXh0KCk7Ci0gICAgICAgICAgICAgICAgIG1fZ2VuZGVyID0gbGZtWyJ1c2VyIl1bImdl bmRlciJdLnRleHQoKTsKLUBAIC0zODEsOSArMzc3LDEwIEBAIExhc3RGbVNlcnZpY2U6Om9uR2V0 VXNlckluZm8oKQotICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgIHVwZGF0ZVBy b2ZpbGVJbmZvKCk7Ci0gCi0tICAgICAgICAgICAgfSBjYXRjaCggbGFzdGZtOjp3czo6UGFyc2VF cnJvciYgZSApCi0rICAgICAgICAgICAgfQotKyAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAg ICB7Ci0tICAgICAgICAgICAgICAgIGRlYnVnKCkgPDwgIkdvdCBleGNlcHRpb24gaW4gcGFyc2lu ZyBmcm9tIGxhc3QuZm06IiA8PCBlLndoYXQoKTsKLSsgICAgICAgICAgICAgICAgZGVidWcoKSA8 PCAiR290IGV4Y2VwdGlvbiBpbiBwYXJzaW5nIGZyb20gbGFzdC5mbToiIDw8IGxmbS5wYXJzZUVy cm9yKCkubWVzc2FnZSgpOwotICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICBicmVhazsKLSAg ICAgICAgIH0gY2FzZSBRTmV0d29ya1JlcGx5OjpBdXRoZW50aWNhdGlvblJlcXVpcmVkRXJyb3I6 Ci1kaWZmIC0tZ2l0IGEvc3JjL3NlcnZpY2VzL2xhc3RmbS9MYXN0Rm1TZXJ2aWNlQ29sbGVjdGlv bi5jcHAgYi9zcmMvc2VydmljZXMvbGFzdGZtL0xhc3RGbVNlcnZpY2VDb2xsZWN0aW9uLmNwcAot aW5kZXggMjJmNDllYzBmZThlOWY5MTdmOGEyNmY5ZDU0NmFkMTQ3YWQwNGU1Yi4uMGVkNTUwNWMx Y2QxMzUwYzg1ZjIxOTY0ZTc3MmYzYzM2Y2Y2YWUzZSAxMDA2NDQKLS0tLSBhL3NyYy9zZXJ2aWNl cy9sYXN0Zm0vTGFzdEZtU2VydmljZUNvbGxlY3Rpb24uY3BwCi0rKysgYi9zcmMvc2VydmljZXMv bGFzdGZtL0xhc3RGbVNlcnZpY2VDb2xsZWN0aW9uLmNwcAotQEAgLTI2LDcgKzI2LDcgQEAKLSAj aW5jbHVkZSAiY29yZS1pbXBsL2NvbGxlY3Rpb25zL3N1cHBvcnQvTWVtb3J5UXVlcnlNYWtlci5o IgotIAotICNpbmNsdWRlIDxsYXN0Zm0vd3MuaD4KLS0jaW5jbHVkZSA8bGFzdGZtL1htbFF1ZXJ5 PgotKyNpbmNsdWRlIDxsYXN0Zm0vWG1sUXVlcnkuaD4KLSAKLSAjaW5jbHVkZSA8UU5ldHdvcmtS ZXBseT4KLSAKLUBAIC0xNTQsMTAgKzE1NCw5IEBAIHZvaWQgTGFzdEZtU2VydmljZUNvbGxlY3Rp b246OnNsb3RBZGROZWlnaGJvdXJzTG92ZWQoKQotICAgICAgICAgY2FzZSBRTmV0d29ya1JlcGx5 OjpOb0Vycm9yOgotICAgICAgICAgewotICAgICAgICAgICAgIC8vIGl0ZXJhdGUgdGhyb3VnaCBl YWNoIG5laWdoYm91cgotLSAgICAgICAgICAgIHRyeQotKyAgICAgICAgICAgIGxhc3RmbTo6WG1s UXVlcnkgbGZtOwotKyAgICAgICAgICAgIGlmKCBsZm0ucGFyc2UoIG1fam9ic1sgInVzZXIuZ2V0 TmVpZ2hib3VycyIgXS0+cmVhZEFsbCgpICkgKQotICAgICAgICAgICAgIHsKLS0gICAgICAgICAg ICAgICAgbGFzdGZtOjpYbWxRdWVyeSBsZm0oIG1fam9ic1sgInVzZXIuZ2V0TmVpZ2hib3VycyIg XS0+cmVhZEFsbCgpICk7Ci0tCi0gICAgICAgICAgICAgICAgIGZvcmVhY2goIGNvbnN0IGxhc3Rm bTo6WG1sUXVlcnkgJmUsIGxmbVsgIm5laWdoYm91cnMiIF0uY2hpbGRyZW4oICJ1c2VyIiApICkK LSAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgY29uc3QgUVN0cmluZyBu YW1lID0gZVsgIm5hbWUiIF0udGV4dCgpOwotQEAgLTE2OCw5ICsxNjcsMTAgQEAgdm9pZCBMYXN0 Rm1TZXJ2aWNlQ29sbGVjdGlvbjo6c2xvdEFkZE5laWdoYm91cnNMb3ZlZCgpCi0gICAgICAgICAg ICAgICAgICAgICBhZGRUcmFjayggdHJhY2tQdHIgKTsKLSAgICAgICAgICAgICAgICAgfQotIAot LSAgICAgICAgICAgIH0gY2F0Y2goIGxhc3RmbTo6d3M6OlBhcnNlRXJyb3ImIGUgKQotKyAgICAg ICAgICAgIH0KLSsgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgewotLSAgICAgICAgICAg ICAgICBkZWJ1ZygpIDw8ICJHb3QgZXhjZXB0aW9uIGluIHBhcnNpbmcgZnJvbSBsYXN0LmZtOiIg PDwgZS53aGF0KCk7Ci0rICAgICAgICAgICAgICAgIGRlYnVnKCkgPDwgIkdvdCBleGNlcHRpb24g aW4gcGFyc2luZyBmcm9tIGxhc3QuZm06IiA8PCBsZm0ucGFyc2VFcnJvcigpLm1lc3NhZ2UoKTsK LSAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICB9Ci1AQCAtMTk1 LDE1ICsxOTUsMTQgQEAgdm9pZCBMYXN0Rm1TZXJ2aWNlQ29sbGVjdGlvbjo6c2xvdEFkZE5laWdo Ym91cnNQZXJzb25hbCgpCi0gICAgICAgICBjYXNlIFFOZXR3b3JrUmVwbHk6Ok5vRXJyb3I6Ci0g ICAgICAgICB7Ci0gICAgICAgICAgICAgLy8gaXRlcmF0ZSB0aHJvdWdoIGVhY2ggbmVpZ2hib3Vy Ci0tICAgICAgICAgICAgdHJ5Ci0rICAgICAgICAgICAgaWYoICFtX2pvYnNbICJ1c2VyLmdldE5l aWdoYm91cnMiIF0gKQotKyAgICAgICAgICAgIHsKLSsgICAgICAgICAgICAgICAgZGVidWcoKSA8 PCAiQkFEISBnb3Qgbm8gcmVzdWx0IG9iamVjdCI7Ci0rICAgICAgICAgICAgICAgIHJldHVybjsK LSsgICAgICAgICAgICB9Ci0rICAgICAgICAgICAgbGFzdGZtOjpYbWxRdWVyeSBsZm07Ci0rICAg ICAgICAgICAgaWYoIGxmbS5wYXJzZSggbV9qb2JzWyAidXNlci5nZXROZWlnaGJvdXJzIiBdLT5y ZWFkQWxsKCkgKSApCi0gICAgICAgICAgICAgewotLSAgICAgICAgICAgICAgICBpZiggIW1fam9i c1sgInVzZXIuZ2V0TmVpZ2hib3VycyIgXSApCi0tICAgICAgICAgICAgICAgIHsKLS0gICAgICAg ICAgICAgICAgICAgIGRlYnVnKCkgPDwgIkJBRCEgZ290IG5vIHJlc3VsdCBvYmplY3QiOwotLSAg ICAgICAgICAgICAgICAgICAgcmV0dXJuOwotLSAgICAgICAgICAgICAgICB9Ci0tICAgICAgICAg ICAgICAgIGxhc3RmbTo6WG1sUXVlcnkgbGZtKCBtX2pvYnNbICJ1c2VyLmdldE5laWdoYm91cnMi IF0tPnJlYWRBbGwoKSApOwotLQotICAgICAgICAgICAgICAgICAvLyBpdGVyYXRlIHRocm91Z2gg ZWFjaCBuZWlnaGJvdXIKLSAgICAgICAgICAgICAgICAgZm9yZWFjaCggY29uc3QgbGFzdGZtOjpY bWxRdWVyeSAmZSwgbGZtWyAibmVpZ2hib3VycyIgXS5jaGlsZHJlbiggInVzZXIiICkgKQotICAg ICAgICAgICAgICAgICB7Ci1AQCAtMjE4LDkgKzIxNywxMCBAQCB2b2lkIExhc3RGbVNlcnZpY2VD b2xsZWN0aW9uOjpzbG90QWRkTmVpZ2hib3Vyc1BlcnNvbmFsKCkKLSAKLSAgICAgICAgICAgICAg ICAgLy8gc2hvdWxkIGJlIHNhZmUsIGFzIGJvdGggc2xvdHMgU0hPVUxEIGdldCBjYWxsZWQgYmVm b3JlIHdlIHJldHVybiB0byB0aGUgZXZlbnQgbG9vcC4uLgotICAgICAgICAgICAgICAgICBtX2pv YnNbICJ1c2VyLmdldE5laWdoYm91cnMiIF0tPmRlbGV0ZUxhdGVyKCk7Ci0tICAgICAgICAgICAg fSBjYXRjaCggbGFzdGZtOjp3czo6UGFyc2VFcnJvciYgZSApCi0rICAgICAgICAgICAgfQotKyAg ICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICB7Ci0tICAgICAgICAgICAgICAgIGRlYnVnKCkg PDwgIkdvdCBleGNlcHRpb24gaW4gcGFyc2luZyBmcm9tIGxhc3QuZm06IiA8PCBlLndoYXQoKTsK LSsgICAgICAgICAgICAgICAgZGVidWcoKSA8PCAiR290IGV4Y2VwdGlvbiBpbiBwYXJzaW5nIGZy b20gbGFzdC5mbToiIDw8IGxmbS5wYXJzZUVycm9yKCkubWVzc2FnZSgpOwotICAgICAgICAgICAg IH0KLSAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgIH0KLUBAIC0yNDgsMTAgKzI0OCw5IEBA IHZvaWQgTGFzdEZtU2VydmljZUNvbGxlY3Rpb246OnNsb3RBZGRGcmllbmRzTG92ZWQoKQotICAg ICB7Ci0gICAgICAgICBjYXNlIFFOZXR3b3JrUmVwbHk6Ok5vRXJyb3I6Ci0gICAgICAgICB7Ci0t ICAgICAgICAgICAgdHJ5Ci0rICAgICAgICAgICAgbGFzdGZtOjpYbWxRdWVyeSBsZm07Ci0rICAg ICAgICAgICAgaWYoIGxmbS5wYXJzZSggbV9qb2JzWyAidXNlci5nZXRGcmllbmRzIiBdLT5yZWFk QWxsKCkgKSApCi0gICAgICAgICAgICAgewotLSAgICAgICAgICAgICAgICBsYXN0Zm06OlhtbFF1 ZXJ5IGxmbSggbV9qb2JzWyAidXNlci5nZXRGcmllbmRzIiBdLT5yZWFkQWxsKCkgKTsKLS0KLSAg ICAgICAgICAgICAgICAgZm9yZWFjaCggY29uc3QgbGFzdGZtOjpYbWxRdWVyeSAmZSwgbGZtWyAi ZnJpZW5kcyIgXS5jaGlsZHJlbiggInVzZXIiICkgKQotICAgICAgICAgICAgICAgICB7Ci0gICAg ICAgICAgICAgICAgICAgICBjb25zdCBRU3RyaW5nIG5hbWUgPSBlWyAibmFtZSIgXS50ZXh0KCk7 Ci1AQCAtMjYxLDkgKzI2MCwxMCBAQCB2b2lkIExhc3RGbVNlcnZpY2VDb2xsZWN0aW9uOjpzbG90 QWRkRnJpZW5kc0xvdmVkKCkKLSAgICAgICAgICAgICAgICAgICAgIGFkZFRyYWNrKCB0cmFja1B0 ciApOwotICAgICAgICAgICAgICAgICB9Ci0gCi0tICAgICAgICAgICAgfSBjYXRjaCggbGFzdGZt Ojp3czo6UGFyc2VFcnJvciYgZSApCi0rICAgICAgICAgICAgfQotKyAgICAgICAgICAgIGVsc2UK LSAgICAgICAgICAgICB7Ci0tICAgICAgICAgICAgICAgIGRlYnVnKCkgPDwgIkdvdCBleGNlcHRp b24gaW4gcGFyc2luZyBmcm9tIGxhc3QuZm06IiA8PCBlLndoYXQoKTsKLSsgICAgICAgICAgICAg ICAgZGVidWcoKSA8PCAiR290IGV4Y2VwdGlvbiBpbiBwYXJzaW5nIGZyb20gbGFzdC5mbToiIDw8 IGxmbS5wYXJzZUVycm9yKCkubWVzc2FnZSgpOwotICAgICAgICAgICAgIH0KLSAgICAgICAgICAg ICBicmVhazsKLSAgICAgICAgIH0KLUBAIC0yOTMsMTAgKzI5Myw5IEBAIHZvaWQgTGFzdEZtU2Vy dmljZUNvbGxlY3Rpb246OnNsb3RBZGRGcmllbmRzUGVyc29uYWwoKQotICAgICB7Ci0gICAgICAg ICBjYXNlIFFOZXR3b3JrUmVwbHk6Ok5vRXJyb3I6Ci0gICAgICAgICB7Ci0tICAgICAgICAgICAg dHJ5Ci0rICAgICAgICAgICAgbGFzdGZtOjpYbWxRdWVyeSBsZm07Ci0rICAgICAgICAgICAgaWYo IGxmbS5wYXJzZSggbV9qb2JzWyAidXNlci5nZXRGcmllbmRzIiBdLT5yZWFkQWxsKCkgKSApCi0g ICAgICAgICAgICAgewotLSAgICAgICAgICAgICAgICBsYXN0Zm06OlhtbFF1ZXJ5IGxmbSggbV9q b2JzWyAidXNlci5nZXRGcmllbmRzIiBdLT5yZWFkQWxsKCkgKTsKLS0KLSAgICAgICAgICAgICAg ICAgZm9yZWFjaCggY29uc3QgbGFzdGZtOjpYbWxRdWVyeSAmZSwgbGZtWyAiZnJpZW5kcyIgXS5j aGlsZHJlbiggInVzZXIiICkgKQotICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg ICAgICBjb25zdCBRU3RyaW5nIG5hbWUgPSBlWyAibmFtZSIgXS50ZXh0KCk7Ci1AQCAtMzA2LDkg KzMwNSwxMCBAQCB2b2lkIExhc3RGbVNlcnZpY2VDb2xsZWN0aW9uOjpzbG90QWRkRnJpZW5kc1Bl cnNvbmFsKCkKLSAgICAgICAgICAgICAgICAgICAgIGFkZFRyYWNrKCB0cmFja1B0ciApOwotICAg ICAgICAgICAgICAgICB9Ci0gCi0tICAgICAgICAgICAgfSBjYXRjaCggbGFzdGZtOjp3czo6UGFy c2VFcnJvciYgZSApCi0rICAgICAgICAgICAgfQotKyAgICAgICAgICAgIGVsc2UKLSAgICAgICAg ICAgICB7Ci0tICAgICAgICAgICAgICAgIGRlYnVnKCkgPDwgIkdvdCBleGNlcHRpb24gaW4gcGFy c2luZyBmcm9tIGxhc3QuZm06IiA8PCBlLndoYXQoKTsKLSsgICAgICAgICAgICAgICAgZGVidWco KSA8PCAiR290IGV4Y2VwdGlvbiBpbiBwYXJzaW5nIGZyb20gbGFzdC5mbToiIDw8IGxmbS5wYXJz ZUVycm9yKCkubWVzc2FnZSgpOwotICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICBicmVhazsK LSAgICAgICAgIH0KLWRpZmYgLS1naXQgYS9zcmMvc2VydmljZXMvbGFzdGZtL0xhc3RGbVNlcnZp Y2VTZXR0aW5ncy5jcHAgYi9zcmMvc2VydmljZXMvbGFzdGZtL0xhc3RGbVNlcnZpY2VTZXR0aW5n cy5jcHAKLWluZGV4IDJlZmY3MWU1MWRjMzA2MDViNGQzOTUzMjNhMDFlMjRiOGZhMjVkMWUuLjlm Njc1NTliNzlmYjIxOGQ0YzVkYmE3NjlmZTk4ZGNmNWNlYTRiOGIgMTAwNjQ0Ci0tLS0gYS9zcmMv c2VydmljZXMvbGFzdGZtL0xhc3RGbVNlcnZpY2VTZXR0aW5ncy5jcHAKLSsrKyBiL3NyYy9zZXJ2 aWNlcy9sYXN0Zm0vTGFzdEZtU2VydmljZVNldHRpbmdzLmNwcAotQEAgLTIzLDkgKzIzLDkgQEAK LSAjaW5jbHVkZSAiTmV0d29ya0FjY2Vzc01hbmFnZXJQcm94eS5oIgotICNpbmNsdWRlICJ1aV9M YXN0Rm1Db25maWdXaWRnZXQuaCIKLSAKLS0jaW5jbHVkZSA8bGFzdGZtL0F1ZGlvc2Nyb2JibGVy PiAvLyBmcm9tIGxpYmxhc3RmbQotKyNpbmNsdWRlIDxsYXN0Zm0vQXVkaW9zY3JvYmJsZXIuaD4g Ly8gZnJvbSBsaWJsYXN0Zm0KLSAjaW5jbHVkZSA8bGFzdGZtL3dzLmg+Ci0tI2luY2x1ZGUgPGxh c3RmbS9YbWxRdWVyeT4KLSsjaW5jbHVkZSA8bGFzdGZtL1htbFF1ZXJ5Lmg+Ci0gCi0gI2luY2x1 ZGUgPFFDcnlwdG9ncmFwaGljSGFzaD4KLSAjaW5jbHVkZSA8UU5ldHdvcmtBY2Nlc3NNYW5hZ2Vy PgotQEAgLTEwMCw3ICsxMDAsNyBAQCBMYXN0Rm1TZXJ2aWNlU2V0dGluZ3M6OnRlc3RMb2dpbigp Ci0gICAgIG1fY29uZmlnRGlhbG9nLT50ZXN0TG9naW4tPnNldFRleHQoIGkxOG4oICJUZXN0aW5n Li4uIiApICk7Ci0gICAgIC8vIHNldCB0aGUgZ2xvYmFsIHN0YXRpYyBMYXN0Zm06OldzIHN0dWZm Ci0gICAgIGxhc3RmbTo6d3M6OkFwaUtleSA9IEFtYXJvazo6bGFzdGZtQXBpS2V5KCk7Ci0tICAg IGxhc3RmbTo6d3M6OlNoYXJlZFNlY3JldCA9ICJmZTBkY2RlOWZjZDE0YzJkMWQ1MDY2NWI2NDYz MzVlOSI7Ci0rICAgIGxhc3RmbTo6d3M6OlNoYXJlZFNlY3JldCA9IEFtYXJvazo6bGFzdGZtQXBp U2hhcmVkU2VjcmV0KCk7Ci0gICAgIGxhc3RmbTo6d3M6OlVzZXJuYW1lID0gcXN0cmR1cCggbV9j b25maWdEaWFsb2ctPmtjZmdfU2Nyb2JibGVyVXNlcm5hbWUtPnRleHQoKS50b0xhdGluMSgpLmRh dGEoKSApOwotICAgICBpZiggbGFzdGZtOjpuYW0oKSAhPSBUaGU6Om5ldHdvcmtBY2Nlc3NNYW5h Z2VyKCkgKQotICAgICAgICAgbGFzdGZtOjpzZXROZXR3b3JrQWNjZXNzTWFuYWdlciggVGhlOjpu ZXR3b3JrQWNjZXNzTWFuYWdlcigpICk7Ci1AQCAtMTI2LDcgKzEyNiw4IEBAIExhc3RGbVNlcnZp Y2VTZXR0aW5nczo6b25BdXRoZW50aWNhdGVkKCkKLSB7Ci0gICAgIERFQlVHX0JMT0NLCi0gCi0t ICAgIGxhc3RmbTo6WG1sUXVlcnkgbGZtID0gbGFzdGZtOjpYbWxRdWVyeSggbV9hdXRoUXVlcnkt PnJlYWRBbGwoKSApOwotKyAgICBsYXN0Zm06OlhtbFF1ZXJ5IGxmbTsKLSsgICAgbGZtLnBhcnNl KCBtX2F1dGhRdWVyeS0+cmVhZEFsbCgpICk7Ci0gCi0gICAgIHN3aXRjaCggbV9hdXRoUXVlcnkt PmVycm9yKCkgKQotICAgICB7Ci1kaWZmIC0tZ2l0IGEvc3JjL3NlcnZpY2VzL2xhc3RmbS9MYXN0 Rm1UcmVlTW9kZWwuaCBiL3NyYy9zZXJ2aWNlcy9sYXN0Zm0vTGFzdEZtVHJlZU1vZGVsLmgKLWlu ZGV4IGFjMTcxYTU3YTM2ZWM2YmI1NDQzMDM1YjExYmVhNzdlNGFlOTQ3MjAuLjNhYTIwNjFhZmNl OGJiNmM1N2UxYTdmMWNmMDcxN2FmOGY1MmE3ZDEgMTAwNjQ0Ci0tLS0gYS9zcmMvc2VydmljZXMv bGFzdGZtL0xhc3RGbVRyZWVNb2RlbC5oCi0rKysgYi9zcmMvc2VydmljZXMvbGFzdGZtL0xhc3RG bVRyZWVNb2RlbC5oCi1AQCAtMjIsNyArMjIsNyBAQAotICNpbmNsdWRlICJjb3JlL21ldGEvTWV0 YS5oIgotICNpbmNsdWRlICJXZWlnaHRlZFN0cmluZ0xpc3QuaCIKLSAKLS0jaW5jbHVkZSA8bGFz dGZtL1VzZXI+Ci0rI2luY2x1ZGUgPGxhc3RmbS9Vc2VyLmg+Ci0gCi0gI2luY2x1ZGUgPFFBYnN0 cmFjdEl0ZW1Nb2RlbD4KLSAjaW5jbHVkZSA8UUhhc2g+Ci1AQCAtMTM2LDcgKzEzNiw3IEBAIHBy aXZhdGU6Ci0gICAgIExhc3RGbVRyZWVJdGVtICptX215VG9wQXJ0aXN0czsKLSAKLSAgICAgUVN0 cmluZyBtX3VzZXJOYW1lOwotLSAgICBsYXN0Zm06OkF1dGhlbnRpY2F0ZWRVc2VyIG1fdXNlcjsK LSsgICAgbGFzdGZtOjpVc2VyIG1fdXNlcjsKLSAKLSAgICAgUVN0cmluZ0xpc3QgbV9mcmllbmRz OwotICAgICBRU3RyaW5nTGlzdCBtX25laWdoYm9yczsKLWRpZmYgLS1naXQgYS9zcmMvc2Vydmlj ZXMvbGFzdGZtL0xhc3RGbVRyZWVNb2RlbC5jcHAgYi9zcmMvc2VydmljZXMvbGFzdGZtL0xhc3RG bVRyZWVNb2RlbC5jcHAKLWluZGV4IDJkOTRkNjdjNWZlMTBiZmMxYWJiYTNkZDk4NDhmZDExNzdk YWE1MTguLjRkNDdkNDIwMWJkZDZiZmMzM2ZmNThhNGM5NGQ3NWZmNmE3MGVjNDYgMTAwNjQ0Ci0t LS0gYS9zcmMvc2VydmljZXMvbGFzdGZtL0xhc3RGbVRyZWVNb2RlbC5jcHAKLSsrKyBiL3NyYy9z ZXJ2aWNlcy9sYXN0Zm0vTGFzdEZtVHJlZU1vZGVsLmNwcAotQEAgLTI2LDggKzI2LDggQEAKLSAj aW5jbHVkZSAiQW1hcm9rTWltZURhdGEuaCIKLSAKLSAjaW5jbHVkZSA8bGFzdGZtL3dzLmg+Ci0t I2luY2x1ZGUgPGxhc3RmbS9UYWc+Ci0tI2luY2x1ZGUgPGxhc3RmbS9YbWxRdWVyeT4KLSsjaW5j bHVkZSA8bGFzdGZtL1RhZy5oPgotKyNpbmNsdWRlIDxsYXN0Zm0vWG1sUXVlcnkuaD4KLSAKLSAj aW5jbHVkZSA8S0ljb24+Ci0gI2luY2x1ZGUgPEtMb2NhbGU+Ci1AQCAtNjgsMTEgKzY4LDEyIEBA IExhc3RGbVRyZWVNb2RlbDo6c2xvdEFkZE5laWdoYm9ycyAoKQotIHsKLSAgICAgREVCVUdfQkxP Q0sKLSAKLS0gICAgdHJ5Ci0tICAgIHsKLSAgICAgICAgIC8vIEl0ZXJhdGUgb3ZlciBlYWNoIG5l aWdoYm9yLCBpbiB0d28gcGFzc2VzOiAxKSBHZXQgZGF0YSAyKSBTb3J0IGRhdGEsIHN0b3JlIGlu IG1vZGVsCi0gCi0tICAgICAgICBsYXN0Zm06OlhtbFF1ZXJ5IGxmbSggbV9qb2JzWyAiZ2V0TmVp Z2hib3VycyIgXS0+cmVhZEFsbCgpICk7Ci0rICAgIGxhc3RmbTo6WG1sUXVlcnkgbGZtOwotKyAg ICBsZm0ucGFyc2UoIG1fam9ic1sgImdldE5laWdoYm91cnMiIF0tPnJlYWRBbGwoKSApOwotKyAg ICBpZiggbGZtLnBhcnNlRXJyb3IoKS5lbnVtVmFsdWUoKSA9PSBsYXN0Zm06OndzOjpOb0Vycm9y ICkKLSsgICAgewotICAgICAgICAgZm9yZWFjaCggY29uc3QgbGFzdGZtOjpYbWxRdWVyeSAmZSwg bGZtWyAibmVpZ2hib3VycyIgXS5jaGlsZHJlbiAoICJ1c2VyIiApICkKLSAgICAgICAgIHsKLSAg ICAgICAgICAgICBjb25zdCBRU3RyaW5nIG5hbWUgPSBlWyAibmFtZSIgXS50ZXh0KCk7Ci1AQCAt ODgsMTEgKzg5LDExIEBAIExhc3RGbVRyZWVNb2RlbDo6c2xvdEFkZE5laWdoYm9ycyAoKQotICAg ICAgICAgICAgIGFwcGVuZFVzZXJTdGF0aW9ucyggbmVpZ2hib3IsIG5hbWUgKTsKLSAgICAgICAg IH0KLSAgICAgICAgIG1fbmVpZ2hib3JzLnNvcnQoKTsKLSsgICAgfSBlbHNlIHsKLSsgICAgICAg IGRlYnVnKCkgPDwgIkdvdCBleGNlcHRpb24gaW4gcGFyc2luZyBmcm9tIGxhc3QuZm06IiA8PCBs Zm0ucGFyc2VFcnJvcigpLm1lc3NhZ2UoKTsKLSsgICAgICAgIHJldHVybjsKLSAgICAgfQotLSAg ICBjYXRjaCggbGFzdGZtOjp3czo6UGFyc2VFcnJvciBlICkKLS0gICAgewotLSAgICAgICAgZGVi dWcoKSA8PCAiR290IGV4Y2VwdGlvbiBpbiBwYXJzaW5nIGZyb20gbGFzdC5mbToiIDw8IGUud2hh dCgpOwotLSAgICB9Ci0rCi0gICAgIGVtaXRSb3dDaGFuZ2VkKExhc3RGbTo6TmVpZ2hib3JzKTsK LSAgICAgbV9qb2JzWyAiZ2V0TmVpZ2hib3VycyIgXS0+ZGVsZXRlTGF0ZXIoKTsKLSB9Ci1AQCAt MTAyLDExICsxMDMsMTEgQEAgTGFzdEZtVHJlZU1vZGVsOjpzbG90QWRkRnJpZW5kcyAoKQotIHsK LSAgICAgREVCVUdfQkxPQ0sKLSAKLS0gICAgdHJ5Ci0tICAgIHsKLS0gICAgICAgIC8vIEl0ZXJh dGUgb3ZlciBlYWNoIGZyaWVuZCwgaW4gdHdvIHBhc3NlczogMSkgR2V0IGRhdGEgMikgU29ydCBk YXRhLCBzdG9yZSBpbiBtb2RlbAotKyAgICAvLyBJdGVyYXRlIG92ZXIgZWFjaCBmcmllbmQsIGlu IHR3byBwYXNzZXM6IDEpIEdldCBkYXRhIDIpIFNvcnQgZGF0YSwgc3RvcmUgaW4gbW9kZWwKLSAK LS0gICAgICAgIGxhc3RmbTo6WG1sUXVlcnkgbGZtKCBtX2pvYnNbICJnZXRGcmllbmRzIiBdLT5y ZWFkQWxsKCkgKTsKLSsgICAgbGFzdGZtOjpYbWxRdWVyeSBsZm07Ci0rICAgIGlmKCBsZm0ucGFy c2UoIG1fam9ic1sgImdldEZyaWVuZHMiIF0tPnJlYWRBbGwoKSApICkKLSsgICAgewotICAgICAg ICAgZm9yZWFjaCggY29uc3QgbGFzdGZtOjpYbWxRdWVyeSAmZSwgbGZtWyAiZnJpZW5kcyIgXS5j aGlsZHJlbiAoICJ1c2VyIiApICkKLSAgICAgICAgIHsKLSAgICAgICAgICAgICBjb25zdCBRU3Ry aW5nIG5hbWUgPSBlWyAibmFtZSIgXS50ZXh0KCk7Ci1AQCAtMTIzLDExICsxMjQsMTEgQEAgTGFz dEZtVHJlZU1vZGVsOjpzbG90QWRkRnJpZW5kcyAoKQotICAgICAgICAgICAgIGFwcGVuZFVzZXJT dGF0aW9ucyggYWZyaWVuZCwgbmFtZSApOwotICAgICAgICAgfQotICAgICAgICAgbV9mcmllbmRz LnNvcnQoKTsKLSsgICAgfSBlbHNlIHsKLSsgICAgICAgIGRlYnVnKCkgPDwgIkdvdCBleGNlcHRp b24gaW4gcGFyc2luZyBmcm9tIGxhc3QuZm06IiA8PCBsZm0ucGFyc2VFcnJvcigpLm1lc3NhZ2Uo KTsKLSsgICAgICAgIHJldHVybjsKLSAgICAgfQotLSAgICBjYXRjaCggbGFzdGZtOjp3czo6UGFy c2VFcnJvciBlICkKLS0gICAgewotLSAgICAgICAgZGVidWcoKSA8PCAiR290IGV4Y2VwdGlvbiBp biBwYXJzaW5nIGZyb20gbGFzdC5mbToiIDw8IGUud2hhdCgpOwotLSAgICB9Ci0rCi0gICAgIGVt aXRSb3dDaGFuZ2VkKExhc3RGbTo6RnJpZW5kcyk7Ci0gICAgIG1fam9ic1sgImdldEZyaWVuZHMi IF0tPmRlbGV0ZUxhdGVyKCk7Ci0gfQotQEAgLTEzNywxMCArMTM4LDkgQEAgTGFzdEZtVHJlZU1v ZGVsOjpzbG90QWRkVG9wQXJ0aXN0cyAoKQotIHsKLSAgICAgREVCVUdfQkxPQ0sKLSAgICAgV2Vp Z2h0ZWRTdHJpbmdMaXN0IGxpc3Q7Ci0tICAgIHRyeQotKyAgICBsYXN0Zm06OlhtbFF1ZXJ5IGxm bTsKLSsgICAgaWYoIGxmbS5wYXJzZSggbV9qb2JzWyAiZ2V0VG9wQXJ0aXN0cyIgXS0+cmVhZEFs bCgpICkgKQotICAgICB7Ci0tICAgICAgICBsYXN0Zm06OlhtbFF1ZXJ5IGxmbSggbV9qb2JzWyAi Z2V0VG9wQXJ0aXN0cyIgXS0+cmVhZEFsbCgpICk7Ci0tCi0gICAgICAgICBmb3JlYWNoKCBjb25z dCBsYXN0Zm06OlhtbFF1ZXJ5ICZlLCBsZm1bICJ0b3BhcnRpc3RzIiBdLmNoaWxkcmVuICggImFy dGlzdCIgKSApCi0gICAgICAgICB7Ci0gICAgICAgICAgICAgY29uc3QgUVN0cmluZyBuYW1lID0g ZVsgIm5hbWUiIF0udGV4dCgpOwotQEAgLTE1OCw5ICsxNTgsMTAgQEAgTGFzdEZtVHJlZU1vZGVs OjpzbG90QWRkVG9wQXJ0aXN0cyAoKQotICAgICAgICAgICAgIG1fbXlUb3BBcnRpc3RzLT5hcHBl bmRDaGlsZCAoIGFydGlzdCApOwotICAgICAgICAgfQotIAotLSAgICB9IGNhdGNoKCBsYXN0Zm06 OndzOjpQYXJzZUVycm9yIGUgKQotKyAgICB9Ci0rICAgIGVsc2UKLSAgICAgewotLSAgICAgICAg ZGVidWcoKSA8PCAiR290IGV4Y2VwdGlvbiBpbiBwYXJzaW5nIGZyb20gbGFzdC5mbToiIDw8IGUu d2hhdCgpOwotKyAgICAgICAgZGVidWcoKSA8PCAiR290IGV4Y2VwdGlvbiBpbiBwYXJzaW5nIGZy b20gbGFzdC5mbToiIDw8IGxmbS5wYXJzZUVycm9yKCkubWVzc2FnZSgpOwotICAgICB9Ci0gICAg IGVtaXRSb3dDaGFuZ2VkKExhc3RGbTo6VG9wQXJ0aXN0cyk7Ci0gICAgIG1fam9ic1sgImdldFRv cEFydGlzdHMiIF0tPmRlbGV0ZUxhdGVyKCk7Ci1kaWZmIC0tZ2l0IGEvc3JjL3NlcnZpY2VzL2xh c3RmbS9TY3JvYmJsZXJBZGFwdGVyLmggYi9zcmMvc2VydmljZXMvbGFzdGZtL1Njcm9iYmxlckFk YXB0ZXIuaAotaW5kZXggNjdlZDczYjI5MWNlZjYxZWUzN2IwZGRhZTI4YmExZWFkZmQ2MzA0ZC4u YjI3NjgzN2MxOGIyMTgxYzFkN2FiYTE2NzRiODc4YmZiZjMwOGUzYiAxMDA2NDQKLS0tLSBhL3Ny Yy9zZXJ2aWNlcy9sYXN0Zm0vU2Nyb2JibGVyQWRhcHRlci5oCi0rKysgYi9zcmMvc2VydmljZXMv bGFzdGZtL1Njcm9iYmxlckFkYXB0ZXIuaAotQEAgLTIwLDggKzIwLDggQEAKLSAKLSAjaW5jbHVk ZSAiY29yZS9tZXRhL01ldGEuaCIKLSAKLS0jaW5jbHVkZSA8bGFzdGZtL0F1ZGlvc2Nyb2JibGVy PgotLSNpbmNsdWRlIDxsYXN0Zm0vVHJhY2s+Ci0rI2luY2x1ZGUgPGxhc3RmbS9BdWRpb3Njcm9i Ymxlci5oPgotKyNpbmNsdWRlIDxsYXN0Zm0vVHJhY2suaD4KLSAKLSAjaW5jbHVkZSA8UVZhcmlh bnQ+Ci0gCi1kaWZmIC0tZ2l0IGEvc3JjL3NlcnZpY2VzL2xhc3RmbS9iaWFzZXMvTGFzdEZtQmlh cy5jcHAgYi9zcmMvc2VydmljZXMvbGFzdGZtL2JpYXNlcy9MYXN0Rm1CaWFzLmNwcAotaW5kZXgg YjAxMWIzMjk5Zjk4ZDg1MTEwOWQzZDliYTUyZTZmZDA5ODU1ZGNmZi4uNTIzMDdhNGFhOWZmNDhh ZGY2YzA2YjE4YjcxOTcxNzYwMTQ5NDUxNSAxMDA2NDQKLS0tLSBhL3NyYy9zZXJ2aWNlcy9sYXN0 Zm0vYmlhc2VzL0xhc3RGbUJpYXMuY3BwCi0rKysgYi9zcmMvc2VydmljZXMvbGFzdGZtL2JpYXNl cy9MYXN0Rm1CaWFzLmNwcAotQEAgLTM0LDkgKzM0LDggQEAKLSAjaW5jbHVkZSAiY29yZS9jb2xs ZWN0aW9ucy9RdWVyeU1ha2VyLmgiCi0gI2luY2x1ZGUgImNvcmUtaW1wbC9jb2xsZWN0aW9ucy9z dXBwb3J0L0NvbGxlY3Rpb25NYW5hZ2VyLmgiCi0gCi0tI2luY2x1ZGUgImxhc3RmbS9BcnRpc3Qi Ci0tI2luY2x1ZGUgImxhc3RmbS93cy5oIgotLSNpbmNsdWRlICJsYXN0Zm0vWG1sUXVlcnkiCi0r I2luY2x1ZGUgPGxhc3RmbS9BcnRpc3QuaD4KLSsjaW5jbHVkZSA8bGFzdGZtL3dzLmg+Ci0gCi0g I2luY2x1ZGUgPFFMYWJlbD4KLSAjaW5jbHVkZSA8UUNvbWJvQm94PgotZGlmZiAtLWdpdCBhL3Ny Yy9zZXJ2aWNlcy9sYXN0Zm0vYmlhc2VzL1dlZWtseVRvcEJpYXMuY3BwIGIvc3JjL3NlcnZpY2Vz L2xhc3RmbS9iaWFzZXMvV2Vla2x5VG9wQmlhcy5jcHAKLWluZGV4IGRmNmRkNjY4MWYwNWQ5NWEw ZTI4MWQ2ZTgyMjI0ZGUyYmJmMDAxZTYuLjJkZWI5Y2NiYTY2ZjdlYzBkZjM2MjI1NTA2YWNlYTJl NGYzMDkwNWIgMTAwNjQ0Ci0tLS0gYS9zcmMvc2VydmljZXMvbGFzdGZtL2JpYXNlcy9XZWVrbHlU b3BCaWFzLmNwcAotKysrIGIvc3JjL3NlcnZpY2VzL2xhc3RmbS9iaWFzZXMvV2Vla2x5VG9wQmlh cy5jcHAKLUBAIC0zNCw5ICszNCw5IEBACi0gI2luY2x1ZGUgImNvcmUvY29sbGVjdGlvbnMvUXVl cnlNYWtlci5oIgotICNpbmNsdWRlICJjb3JlLWltcGwvY29sbGVjdGlvbnMvc3VwcG9ydC9Db2xs ZWN0aW9uTWFuYWdlci5oIgotIAotLSNpbmNsdWRlICJsYXN0Zm0vQXJ0aXN0IgotLSNpbmNsdWRl ICJsYXN0Zm0vd3MuaCIKLS0jaW5jbHVkZSAibGFzdGZtL1htbFF1ZXJ5IgotKyNpbmNsdWRlIDxs YXN0Zm0vQXJ0aXN0Lmg+Ci0rI2luY2x1ZGUgPGxhc3RmbS93cy5oPgotKyNpbmNsdWRlIDxsYXN0 Zm0vWG1sUXVlcnkuaD4KLSAKLSAjaW5jbHVkZSA8UU5ldHdvcmtSZXBseT4KLSAKLUBAIC0zNzEs MTAgKzM3MSw5IEBAIER5bmFtaWM6OldlZWtseVRvcEJpYXM6OndlZWtseUFydGlzdFF1ZXJ5Rmlu aXNoZWQoKQotICAgICB9Ci0gCi0gCi0tICAgIHRyeQotKyAgICBsYXN0Zm06OlhtbFF1ZXJ5IGxm bTsKLSsgICAgaWYoIGxmbS5wYXJzZSggcmVwbHktPnJlYWRBbGwoKSApICkKLSAgICAgewotLSAg ICAgICAgbGFzdGZtOjpYbWxRdWVyeSBsZm0oIHJlcGx5LT5yZWFkQWxsKCkgKTsKLS0KLSAgICAg ICAgIC8vIGRlYnVnKCkgPDwgImdvdCByZXNwb25zZToiIDw8IGxmbTsKLSAgICAgICAgIFFTdHJp bmdMaXN0IGFydGlzdHM7Ci0gICAgICAgICBmb3IoIGludCBpID0gMDsgaSA8IGxmbVsgIndlZWts eWFydGlzdGNoYXJ0IiBdLmNoaWxkcmVuKCAiYXJ0aXN0IiApLnNpemUoKTsgaSsrICkKLUBAIC0z OTgsMTAgKzM5NywxMCBAQCBEeW5hbWljOjpXZWVrbHlUb3BCaWFzOjp3ZWVrbHlBcnRpc3RRdWVy eUZpbmlzaGVkKCkKLSAgICAgICAgICAgICB3YXJuaW5nKCkgPDwgIkdvdCBhIHJlcGx5IGZvciBh IHdlZWsiPDx3ZWVrPDwidGhhdCB3YXMgbm90IHJlcXVlc3RlZC4iOwotICAgICAgICAgICAgIHJl dHVybjsKLSAgICAgICAgIH0KLS0KLS0gICAgfSBjYXRjaCggbGFzdGZtOjp3czo6UGFyc2VFcnJv ciYgZSApCi0rICAgIH0KLSsgICAgZWxzZQotICAgICB7Ci0tICAgICAgICBkZWJ1ZygpIDw8ICJj YXVnaHQgZXhjZXB0aW9uIHBhcnNpbmcgd2Vla2x5IGFydGlzdCBjaGFydC4iOwotKyAgICAgICAg ZGVidWcoKSA8PCAiZmFpbGVkIHRvIHBhcnNlIHdlZWtseSBhcnRpc3QgY2hhcnQuIjsKLSAgICAg fQotIAotICAgICByZXBseS0+ZGVsZXRlTGF0ZXIoKTsKLWRpZmYgLS1naXQgYS9zcmMvc2Vydmlj ZXMvbGFzdGZtL21ldGEvTGFzdEZtTWV0YS5oIGIvc3JjL3NlcnZpY2VzL2xhc3RmbS9tZXRhL0xh c3RGbU1ldGEuaAotaW5kZXggZjdiOTNjMTRjOTJjMGJlYmY5OWQxNjU2NTZhMGUzNGY4Yjk5MWNj MC4uN2Q2NGEzZmE1YzZmNmNiZTNmMGNjNWIyNjg4MWE0OTk2MzIxOTM4YSAxMDA2NDQKLS0tLSBh L3NyYy9zZXJ2aWNlcy9sYXN0Zm0vbWV0YS9MYXN0Rm1NZXRhLmgKLSsrKyBiL3NyYy9zZXJ2aWNl cy9sYXN0Zm0vbWV0YS9MYXN0Rm1NZXRhLmgKLUBAIC0yNCw3ICsyNCw3IEBACi0gI2luY2x1ZGUg IlNlcnZpY2VNZXRhQmFzZS5oIiAvLyBmb3IgdGhlIFNvdXJjZUluZm9Qcm92aWRlcgotIAotIAot LSNpbmNsdWRlIDxsYXN0Zm0vVHJhY2s+Ci0rI2luY2x1ZGUgPGxhc3RmbS9UcmFjay5oPgotIAot IAotICNpbmNsdWRlIDxRT2JqZWN0PgotZGlmZiAtLWdpdCBhL3NyYy9zZXJ2aWNlcy9sYXN0Zm0v bWV0YS9MYXN0Rm1NZXRhLmNwcCBiL3NyYy9zZXJ2aWNlcy9sYXN0Zm0vbWV0YS9MYXN0Rm1NZXRh LmNwcAotaW5kZXggZDhmNTI4NDVjYjgwMWQ4YWU5NDBiYzFiY2E3N2M3MjgxZWYxODM3OS4uMjIw ZDkyOTk3N2QyOGM4MTgzZGI5OTY1Y2VjZmMxYTgwMDM5ZmUwOCAxMDA2NDQKLS0tLSBhL3NyYy9z ZXJ2aWNlcy9sYXN0Zm0vbWV0YS9MYXN0Rm1NZXRhLmNwcAotKysrIGIvc3JjL3NlcnZpY2VzL2xh c3RmbS9tZXRhL0xhc3RGbU1ldGEuY3BwCi1AQCAtNDEsNyArNDEsNyBAQAotICNpbmNsdWRlIDxR V2Vha1BvaW50ZXI+Ci0gI2luY2x1ZGUgPFFVcmw+Ci0gCi0tI2luY2x1ZGUgPGxhc3RmbS9UcmFj az4KLSsjaW5jbHVkZSA8bGFzdGZtL1RyYWNrLmg+Ci0gCi0gbmFtZXNwYWNlIExhc3RGbSB7Ci0g Ci1AQCAtNDUxLDggKzQ1MSw3IEBAIFRyYWNrOjpsb3ZlKCkKLSAgICAgREVCVUdfQkxPQ0sKLSAK LSAgICAgZGVidWcoKSA8PCAiaW5mbzoiIDw8IGQtPmxhc3RGbVRyYWNrLmFydGlzdCgpIDw8IGQt Pmxhc3RGbVRyYWNrLnRpdGxlKCk7Ci0tICAgIGQtPndzUmVwbHkgPSBsYXN0Zm06Ok11dGFibGVU cmFjayggZC0+bGFzdEZtVHJhY2sgKS5sb3ZlKCk7Ci0tICAgIGNvbm5lY3QoIGQtPndzUmVwbHks IFNJR05BTCggZmluaXNoZWQoKSApLCB0aGlzLCBTTE9UKCBzbG90V3NSZXBseSgpICkgKTsKLSsg ICAgbGFzdGZtOjpNdXRhYmxlVHJhY2soIGQtPmxhc3RGbVRyYWNrICkubG92ZSgpOwotIH0KLSAK LSB2b2lkCi1AQCAtNDc3LDkgKzQ3Niw5IEBAIHZvaWQgVHJhY2s6OnNsb3RSZXN1bHRSZWFkeSgp Ci0gewotICAgICBpZiggZC0+dHJhY2tGZXRjaC0+ZXJyb3IoKSA9PSBRTmV0d29ya1JlcGx5OjpO b0Vycm9yICkKLSAgICAgewotLSAgICAgICAgdHJ5Ci0rICAgICAgICBsYXN0Zm06OlhtbFF1ZXJ5 IGxmbTsKLSsgICAgICAgIGlmKCBsZm0ucGFyc2UoIGQtPnRyYWNrRmV0Y2gtPnJlYWRBbGwoKSAp ICkKLSAgICAgICAgIHsKLS0gICAgICAgICAgICBsYXN0Zm06OlhtbFF1ZXJ5IGxmbSggZC0+dHJh Y2tGZXRjaC0+cmVhZEFsbCgpICk7Ci0gICAgICAgICAgICAgUVN0cmluZyBpZCA9IGxmbVsgInRy YWNrIiBdWyAiaWQiIF0udGV4dCgpOwotICAgICAgICAgICAgIFFTdHJpbmcgc3RyZWFtYWJsZSA9 IGxmbVsgInRyYWNrIiBdWyAic3RyZWFtYWJsZSIgXS50ZXh0KCk7Ci0gICAgICAgICAgICAgaWYo IHN0cmVhbWFibGUudG9JbnQoKSA9PSAxICkKLUBAIC00ODcsOSArNDg2LDEwIEBAIHZvaWQgVHJh Y2s6OnNsb3RSZXN1bHRSZWFkeSgpCi0gICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAg ICBpbml0KCk7Ci0gCi0tICAgICAgICB9IGNhdGNoKCBsYXN0Zm06OndzOjpQYXJzZUVycm9yJiBl ICkKLSsgICAgICAgIH0KLSsgICAgICAgIGVsc2UKLSAgICAgICAgIHsKLS0gICAgICAgICAgICBk ZWJ1ZygpIDw8ICJHb3QgZXhjZXB0aW9uIGluIHBhcnNpbmcgZnJvbSBsYXN0LmZtOiIgPDwgZS53 aGF0KCk7Ci0rICAgICAgICAgICAgZGVidWcoKSA8PCAiR290IGV4Y2VwdGlvbiBpbiBwYXJzaW5n IGZyb20gbGFzdC5mbToiIDw8IGxmbS5wYXJzZUVycm9yKCkubWVzc2FnZSgpOwotICAgICAgICAg fQotICAgICB9IGVsc2UKLSAgICAgewotZGlmZiAtLWdpdCBhL3NyYy9zZXJ2aWNlcy9sYXN0Zm0v bWV0YS9MYXN0Rm1NZXRhX3AuaCBiL3NyYy9zZXJ2aWNlcy9sYXN0Zm0vbWV0YS9MYXN0Rm1NZXRh X3AuaAotaW5kZXggYzJkODhhYzc5YTRkZDBmZTU5YjlmODg5YmFmNzJjODc5ODMzZjBkMy4uY2Fm OTU0YTFlMWFjYmYyMjBjZThlZmE5ZDE2ZGIyYTcxY2Y0YmJiMyAxMDA2NDQKLS0tLSBhL3NyYy9z ZXJ2aWNlcy9sYXN0Zm0vbWV0YS9MYXN0Rm1NZXRhX3AuaAotKysrIGIvc3JjL3NlcnZpY2VzL2xh c3RmbS9tZXRhL0xhc3RGbU1ldGFfcC5oCi1AQCAtMjYsMTAgKzI2LDEwIEBACi0gI2luY2x1ZGUg ImNvcmUvc3RhdGlzdGljcy9TdGF0aXN0aWNzUHJvdmlkZXIuaCIKLSAjaW5jbHVkZSAiY29yZS1p bXBsL3N0YXRpc3RpY3MvcHJvdmlkZXJzL3RhZy9UYWdTdGF0aXN0aWNzUHJvdmlkZXIuaCIKLSAK LS0jaW5jbHVkZSA8bGFzdGZtL1RyYWNrPgotKyNpbmNsdWRlIDxsYXN0Zm0vVHJhY2suaD4KLSAj aW5jbHVkZSA8bGFzdGZtL3dzLmg+Ci0tI2luY2x1ZGUgPGxhc3RmbS9SYWRpb1R1bmVyPgotLSNp bmNsdWRlIDxsYXN0Zm0vWG1sUXVlcnk+Ci0rI2luY2x1ZGUgPGxhc3RmbS9SYWRpb1R1bmVyLmg+ Ci0rI2luY2x1ZGUgPGxhc3RmbS9YbWxRdWVyeS5oPgotIAotICNpbmNsdWRlIDxraW8vam9iLmg+ Ci0gI2luY2x1ZGUgPGtpby9qb2JjbGFzc2VzLmg+Ci1AQCAtMTQ0LDI2ICsxNDQsMjQgQEAgY2xh c3MgVHJhY2s6OlByaXZhdGUgOiBwdWJsaWMgUU9iamVjdAotICAgICAgICAgICAgICAgICByZXR1 cm47Ci0gICAgICAgICAgICAgaWYoIG1fdXNlckZldGNoLT5lcnJvcigpID09IFFOZXR3b3JrUmVw bHk6Ok5vRXJyb3IgKQotICAgICAgICAgICAgIHsKLS0gICAgICAgICAgICAgICAgdHJ5Ci0rICAg ICAgICAgICAgICAgIGxhc3RmbTo6WG1sUXVlcnkgbGZtOwotKyAgICAgICAgICAgICAgICBpZigg IWxmbS5wYXJzZSggbV91c2VyRmV0Y2gtPnJlYWRBbGwoKSApICkKLSAgICAgICAgICAgICAgICAg ewotLSAgICAgICAgICAgICAgICAgICAgbGFzdGZtOjpYbWxRdWVyeSBsZm0oIG1fdXNlckZldGNo LT5yZWFkQWxsKCkgKTsKLS0gICAgICAgICAgICAgICAgICAgIGFsYnVtVXJsID0gbGZtWyAidHJh Y2siIF1bICJhbGJ1bSIgXVsgInVybCIgXS50ZXh0KCk7Ci0tICAgICAgICAgICAgICAgICAgICB0 cmFja1VybCA9IGxmbVsgInRyYWNrIiBdWyAidXJsIiBdLnRleHQoKTsKLS0gICAgICAgICAgICAg ICAgICAgIGFydGlzdFVybCA9IGxmbVsgInRyYWNrIiBdWyAiYXJ0aXN0IiBdWyAidXJsIiBdLnRl eHQoKTsKLS0KLS0gICAgICAgICAgICAgICAgICAgIG5vdGlmeU9ic2VydmVycygpOwotKyAgICAg ICAgICAgICAgICAgICAgZGVidWcoKSA8PCAiR290IGV4Y2VwdGlvbiBpbiBwYXJzaW5nIGZyb20g bGFzdC5mbToiIDw8IGxmbS5wYXJzZUVycm9yKCkubWVzc2FnZSgpOwotKyAgICAgICAgICAgICAg ICAgICAgcmV0dXJuOwotKyAgICAgICAgICAgICAgICB9Ci0rICAgICAgICAgICAgICAgIGFsYnVt VXJsID0gbGZtWyAidHJhY2siIF1bICJhbGJ1bSIgXVsgInVybCIgXS50ZXh0KCk7Ci0rICAgICAg ICAgICAgICAgIHRyYWNrVXJsID0gbGZtWyAidHJhY2siIF1bICJ1cmwiIF0udGV4dCgpOwotKyAg ICAgICAgICAgICAgICBhcnRpc3RVcmwgPSBsZm1bICJ0cmFjayIgXVsgImFydGlzdCIgXVsgInVy bCIgXS50ZXh0KCk7Ci0gCi0tICAgICAgICAgICAgICAgICAgICBpbWFnZVVybCA9IGxmbVsgInRy YWNrIiBdWyAiYWxidW0iIF1bICJpbWFnZSBzaXplPWxhcmdlIiBdLnRleHQoKTsKLSsgICAgICAg ICAgICAgICAgbm90aWZ5T2JzZXJ2ZXJzKCk7Ci0gCi0tICAgICAgICAgICAgICAgICAgICBpZigg IWltYWdlVXJsLmlzRW1wdHkoKSApCi0tICAgICAgICAgICAgICAgICAgICB7Ci0tICAgICAgICAg ICAgICAgICAgICAgICAgS0lPOjpKb2IqIGpvYiA9IEtJTzo6c3RvcmVkR2V0KCBLVXJsKCBpbWFn ZVVybCApLCBLSU86OlJlbG9hZCwgS0lPOjpIaWRlUHJvZ3Jlc3NJbmZvICk7Ci0tICAgICAgICAg ICAgICAgICAgICAgICAgY29ubmVjdCggam9iLCBTSUdOQUwoIHJlc3VsdCggS0pvYiogKSApLCB0 aGlzLCBTTE9UKCBmZXRjaEltYWdlRmluaXNoZWQoIEtKb2IqICkgKSApOwotLSAgICAgICAgICAg ICAgICAgICAgfQotKyAgICAgICAgICAgICAgICBpbWFnZVVybCA9IGxmbVsgInRyYWNrIiBdWyAi YWxidW0iIF1bICJpbWFnZSBzaXplPWxhcmdlIiBdLnRleHQoKTsKLSAKLS0gICAgICAgICAgICAg ICAgfSBjYXRjaCggbGFzdGZtOjp3czo6UGFyc2VFcnJvciYgZSApCi0rICAgICAgICAgICAgICAg IGlmKCAhaW1hZ2VVcmwuaXNFbXB0eSgpICkKLSAgICAgICAgICAgICAgICAgewotLSAgICAgICAg ICAgICAgICAgICAgZGVidWcoKSA8PCAiR290IGV4Y2VwdGlvbiBpbiBwYXJzaW5nIGZyb20gbGFz dC5mbToiIDw8IGUud2hhdCgpOwotKyAgICAgICAgICAgICAgICAgICAgS0lPOjpKb2IqIGpvYiA9 IEtJTzo6c3RvcmVkR2V0KCBLVXJsKCBpbWFnZVVybCApLCBLSU86OlJlbG9hZCwgS0lPOjpIaWRl UHJvZ3Jlc3NJbmZvICk7Ci0rICAgICAgICAgICAgICAgICAgICBjb25uZWN0KCBqb2IsIFNJR05B TCggcmVzdWx0KCBLSm9iKiApICksIHRoaXMsIFNMT1QoIGZldGNoSW1hZ2VGaW5pc2hlZCggS0pv YiogKSApICk7Ci0gICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICB9Ci0gCi1kaWZmIC0t Z2l0IGEvc3JjL3NlcnZpY2VzL2xhc3RmbS9tZXRhL011bHRpUGxheWFibGVDYXBhYmlsaXR5SW1w bF9wLmggYi9zcmMvc2VydmljZXMvbGFzdGZtL21ldGEvTXVsdGlQbGF5YWJsZUNhcGFiaWxpdHlJ bXBsX3AuaAotaW5kZXggMWM0NjRjYzI2MzVjN2Q2MTRlYWI0OGNhNWU0ZTE1NmM2Nzg3MGYwNC4u ZTliNjMyNzFjNzdkMzQyMGNkOGVlYjVlYjE5ZDExNTJiMjNjMzE5ZiAxMDA2NDQKLS0tLSBhL3Ny Yy9zZXJ2aWNlcy9sYXN0Zm0vbWV0YS9NdWx0aVBsYXlhYmxlQ2FwYWJpbGl0eUltcGxfcC5oCi0r KysgYi9zcmMvc2VydmljZXMvbGFzdGZtL21ldGEvTXVsdGlQbGF5YWJsZUNhcGFiaWxpdHlJbXBs X3AuaAotQEAgLTI1LDggKzI1LDkgQEAKLSAjaW5jbHVkZSAiY29yZS9tZXRhL01ldGEuaCIKLSAj aW5jbHVkZSAiY29yZS9jYXBhYmlsaXRpZXMvTXVsdGlQbGF5YWJsZUNhcGFiaWxpdHkuaCIKLSAK LS0jaW5jbHVkZSA8bGFzdGZtL1RyYWNrPgotLSNpbmNsdWRlIDxsYXN0Zm0vUmFkaW9UdW5lcj4K LSsjaW5jbHVkZSA8bGFzdGZtL1RyYWNrLmg+Ci0rI2luY2x1ZGUgPGxhc3RmbS9SYWRpb1N0YXRp b24uaD4KLSsjaW5jbHVkZSA8bGFzdGZtL1JhZGlvVHVuZXIuaD4KLSAjaW5jbHVkZSA8bGFzdGZt L3dzLmg+Ci0gCi0gI2luY2x1ZGUgPEtMb2NhbGU+Ci1AQCAtNTUsMjQgKzU2LDIzIEBAIGNsYXNz IE11bHRpUGxheWFibGVDYXBhYmlsaXR5SW1wbCA6IHB1YmxpYyBDYXBhYmlsaXRpZXM6Ok11bHRp UGxheWFibGVDYXBhYmlsaXR5Ci0gICAgICAgICB7Ci0gICAgICAgICAgICAgREVCVUdfQkxPQ0sK LSAgICAgICAgICAgICBtX3R1bmVyID0gbmV3IGxhc3RmbTo6UmFkaW9UdW5lciggbGFzdGZtOjpS YWRpb1N0YXRpb24oIG1fdHJhY2stPnVpZFVybCgpICkgKTsKLS0gICAgICAgICAgICAKLSsKLSAg ICAgICAgICAgICBjb25uZWN0KCBtX3R1bmVyLCBTSUdOQUwoIHRyYWNrQXZhaWxhYmxlKCkgKSwg dGhpcywgU0xPVCggc2xvdE5ld1RyYWNrQXZhaWxhYmxlKCkgKSApOwotLSAgICAgICAgICAgIGNv bm5lY3QoIG1fdHVuZXIsIFNJR05BTCggZXJyb3IoIGxhc3RmbTo6d3M6OkVycm9yICkgKSwgdGhp cywgU0xPVCggZXJyb3IoIGxhc3RmbTo6d3M6OkVycm9yICkgKSApOwotKyAgICAgICAgICAgIGNv bm5lY3QoIG1fdHVuZXIsIFNJR05BTCggZXJyb3IobGFzdGZtOjp3czo6RXJyb3IsUVN0cmluZykg KSwgdGhpcywgU0xPVCggZXJyb3IoIGxhc3RmbTo6d3M6OkVycm9yICkgKSApOwotICAgICAgICAg fQotLSAgICAgICAgCi0rCi0gICAgICAgICB2aXJ0dWFsIHZvaWQgZmV0Y2hOZXh0KCkKLSAgICAg ICAgIHsKLSAgICAgICAgICAgICBERUJVR19CTE9DSwotICAgICAgICAgICAgIG1fY3VycmVudFRy YWNrID0gbV90dW5lci0+dGFrZU5leHRUcmFjaygpOwotICAgICAgICAgICAgIG1fdHJhY2stPnNl dFRyYWNrSW5mbyggbV9jdXJyZW50VHJhY2sgKTsKLS0KLSAgICAgICAgIH0KLS0gICAgICAgIAot KwotICAgICAgICAgdXNpbmcgT2JzZXJ2ZXI6Om1ldGFkYXRhQ2hhbmdlZDsKLSAgICAgICAgIHZp cnR1YWwgdm9pZCBtZXRhZGF0YUNoYW5nZWQoIE1ldGE6OlRyYWNrUHRyIHRyYWNrICkKLSAgICAg ICAgIHsKLSAgICAgICAgICAgICBjb25zdCBMYXN0Rm06OlRyYWNrUHRyIGx0cmFjayA9IExhc3RG bTo6VHJhY2tQdHI6OmR5bmFtaWNDYXN0KCB0cmFjayApOwotLSAgICAgICAgICAgIAotKwotICAg ICAgICAgICAgIGlmKCBsdHJhY2suaXNOdWxsKCkgKQotICAgICAgICAgICAgICAgICByZXR1cm47 Ci0gCi1AQCAtOTQsNyArOTQsNyBAQCBjbGFzcyBNdWx0aVBsYXlhYmxlQ2FwYWJpbGl0eUltcGwg OiBwdWJsaWMgQ2FwYWJpbGl0aWVzOjpNdWx0aVBsYXlhYmxlQ2FwYWJpbGl0eQotICAgICAgICAg ICAgICAgICBtX3RyYWNrLT5zZXRUcmFja0luZm8oIG1fY3VycmVudFRyYWNrICk7Ci0gICAgICAg ICAgICAgfQotICAgICAgICAgfQotLSAgICAgICAgCi0rCi0gICAgICAgICB2aXJ0dWFsIHZvaWQg c2tpcCgpCi0gICAgICAgICB7Ci0gICAgICAgICAgICAgZmV0Y2hOZXh0KCk7Ci1kaWZmIC0tZ2l0 IGEvc3JjL2NvbnRleHQvZW5naW5lcy91cGNvbWluZ2V2ZW50cy9VcGNvbWluZ0V2ZW50c0VuZ2lu ZS5jcHAgYi9zcmMvY29udGV4dC9lbmdpbmVzL3VwY29taW5nZXZlbnRzL1VwY29taW5nRXZlbnRz RW5naW5lLmNwcAotaW5kZXggNGFlNzNkODkyY2VmM2Q0YTQxNjYyZjdlZDE1ODQ5YWU3NzNjMTZl My4uNjg5MzIzY2M3NTNhM2M2OTNiYzA5ODcwZWExYTc3ZTI1NzRlYzlhNyAxMDA2NDQKLS0tLSBh L3NyYy9jb250ZXh0L2VuZ2luZXMvdXBjb21pbmdldmVudHMvVXBjb21pbmdFdmVudHNFbmdpbmUu Y3BwCi0rKysgYi9zcmMvY29udGV4dC9lbmdpbmVzL3VwY29taW5nZXZlbnRzL1VwY29taW5nRXZl bnRzRW5naW5lLmNwcAotQEAgLTI3LDEwICsyNyw2IEBACi0gI2luY2x1ZGUgIkVuZ2luZUNvbnRy b2xsZXIuaCIKLSAjaW5jbHVkZSAiTGFzdEZtRXZlbnRYbWxQYXJzZXIuaCIKLSAKLS0vLyBMYXN0 Rm0KLS0jaW5jbHVkZSA8bGFzdGZtL1htbFF1ZXJ5PgotLSNpbmNsdWRlIDxsYXN0Zm0vd3MuaD4K LS0KLSAvLyBLREUKLSAjaW5jbHVkZSA8S0RhdGVUaW1lPgotIAotZGlmZiAtLWdpdCBhL3NyYy9j b3JlL3N1cHBvcnQvQW1hcm9rLmggYi9zcmMvY29yZS9zdXBwb3J0L0FtYXJvay5oCi1pbmRleCBj OTg1MjE1NGRlZTc0ZmIzNzJiYWU0MzVmZGVlZmE5MjAwM2Q0MWIxLi5kOGM5MWU3ODlkMDJiMjA0 MjAyYzhhOTliOTQ1OWI4ZDEwYjNkOTBkIDEwMDY0NAotLS0tIGEvc3JjL2NvcmUvc3VwcG9ydC9B bWFyb2suaAotKysrIGIvc3JjL2NvcmUvc3VwcG9ydC9BbWFyb2suaAotQEAgLTIwMyw2ICsyMDMs NyBAQCBuYW1lc3BhY2UgQW1hcm9rCi0gCi0gICAgIGlubGluZSBjb25zdCBjaGFyKiBkaXNjb2dz QXBpS2V5KCkgeyByZXR1cm4gIjkxNzM0ZGQ5ODkiOyB9Ci0gICAgIGlubGluZSBjb25zdCBjaGFy KiBsYXN0Zm1BcGlLZXkoKSB7IHJldHVybiAiNDAyZDNjYThlOWJjOWQzY2Y5Yjg1ZTEyMDI5NDRj YTUiOyB9Ci0rICAgIGlubGluZSBjb25zdCBjaGFyKiBsYXN0Zm1BcGlTaGFyZWRTZWNyZXQoKSB7 IHJldHVybiAiZmUwZGNkZTlmY2QxNGMyZDFkNTA2NjViNjQ2MzM1ZTkiOyB9Ci0gICAgIGlubGlu ZSBjb25zdCBjaGFyKiB5YWhvb0Jvc3NBcGlLZXkoKSB7IHJldHVybiAib1FlcFROclYzNEc5U2F0 YjFkZ1JaOGhkbDF1aEp2Z3VEU1U1S25sMlhkNEFMSzg1a25ZdDZ5bHIuRlRBNTdYTVJCQS0iOyB9 Ci0gICAgIGlubGluZSBjb25zdCBjaGFyKiBmbGlja3JBcGlLZXkoKSB7IHJldHVybiAiOWM1YTI4 ODExNmMzNGMxN2VjZWUzNzg3NzM5N2ZlMzEiOyB9Ci0gfQotZGlmZiAtLWdpdCBhL0NNYWtlTGlz dHMudHh0IGIvQ01ha2VMaXN0cy50eHQKLWluZGV4IDBkMTQ2YzU4YmQzODJiNGQ0ZjM3OWViZWRk ZGYxNjMwZDczZGIzNjkuLjMxMTgzZTU5YjY5Y2RiM2M3OTAyZDQ5YmRiOTNhMDBhN2ZiMzUwNTMg MTAwNjQ0Ci0tLS0gYS9DTWFrZUxpc3RzLnR4dAotKysrIGIvQ01ha2VMaXN0cy50eHQKLUBAIC0x MjksNyArMTI5LDcgQEAgaWYoIFdJVEhfUExBWUVSICkKLSAgICAgIyBtYWNyb19sb2dfZmVhdHVy ZSggU1RSSUdJX0ZPVU5EICJzdHJpZ2kiICJJbmRleCBtZXRhZGF0YSBvZiBmaWxlcyIgImh0dHA6 Ly9zdHJpZ2kuc291cmNlZm9yZ2UubmV0IiBGQUxTRSAiIiAiIiApCi0gCi0gICAgIG1hY3JvX29w dGlvbmFsX2ZpbmRfcGFja2FnZShMaWJMYXN0Rm0pCi0tICAgIG1hY3JvX2xvZ19mZWF0dXJlKCBM SUJMQVNURk1fRk9VTkQgImxpYmxhc3RmbSIgIkVuYWJsZSBMYXN0LkZtIHNlcnZpY2UsIGluY2x1 ZGluZyBzY3JvYmJsaW5nLCBzb25nIHN1Ym1pc3Npb25zLCBhbmQgc3VnZ2VzdGVkIHNvbmcgZHlu YW1pYyBwbGF5bGlzdHMiICJodHRwOi8vY2RuLmxhc3QuZm0vc3JjL2xpYmxhc3RmbS0wLjMuMC50 YXIuYnoyIiBGQUxTRSAiMC4zIiAiIiApCi0rICAgIG1hY3JvX2xvZ19mZWF0dXJlKCBMSUJMQVNU Rk1fRk9VTkQgImxpYmxhc3RmbSIgIkVuYWJsZSBMYXN0LkZtIHNlcnZpY2UsIGluY2x1ZGluZyBz Y3JvYmJsaW5nLCBzb25nIHN1Ym1pc3Npb25zLCBhbmQgc3VnZ2VzdGVkIHNvbmcgZHluYW1pYyBw bGF5bGlzdHMiICJodHRwOi8vY2RuLmxhc3QuZm0vc3JjL2xpYmxhc3RmbS0xLjAuMC50YXIuZ3oi IEZBTFNFICIxLjAuMCIgIiIgKQotICAgICBtYWNyb19ib29sX3RvXzAxKCBMSUJMQVNURk1fRk9V TkQgSEFWRV9MSUJMQVNURk0gKQotIAotICAgICBtYWNyb19vcHRpb25hbF9maW5kX3BhY2thZ2Uo IEZGbXBlZyApCi1kaWZmIC0tZ2l0IGEvY21ha2UvbW9kdWxlcy9GaW5kTGliTGFzdEZtLmNtYWtl IGIvY21ha2UvbW9kdWxlcy9GaW5kTGliTGFzdEZtLmNtYWtlCi1pbmRleCAxZDg2M2IwODQ4OWUy NzA1NGEwNDllMzVkMmQ5NDY2NzY0NmRiMWY3Li45NWRkZGI2YzA4MmMxNGM3YTZiMTRlYjQ1MDFl MTI4MzEwNmM4ZmNmIDEwMDY0NAotLS0tIGEvY21ha2UvbW9kdWxlcy9GaW5kTGliTGFzdEZtLmNt YWtlCi0rKysgYi9jbWFrZS9tb2R1bGVzL0ZpbmRMaWJMYXN0Rm0uY21ha2UKLUBAIC02LDcgKzYs NyBAQAotICMgTElCTEFTVEZNX0ZPVU5ELCB3aGV0aGVyIGxpYmxhc3RmbSB3YXMgZm91bmQKLSAK LSAKLS1maW5kX3BhdGgoTElCTEFTVEZNX0lOQ0xVREVfRElSIE5BTUVTIEF1ZGlvc2Nyb2JibGVy Ci0rZmluZF9wYXRoKExJQkxBU1RGTV9JTkNMVURFX0RJUiBOQU1FUyBsYXN0Zm0KLSAgICBISU5U UwotICAgIH4vdXNyL2luY2x1ZGUKLSAgICAvb3B0L2xvY2FsL2luY2x1ZGUKLWRpZmYgLS1naXQg YS9zcmMvTGFzdGZtUmVhZExhYmVsQ2FwYWJpbGl0eS5jcHAgYi9zcmMvTGFzdGZtUmVhZExhYmVs Q2FwYWJpbGl0eS5jcHAKLWluZGV4IDM4NWU2YjljMDY1MDA5YjMzMGUxMTZlM2Q3NDhiODJjMjRm MTRlOGQuLmQxZmIyOGI2YWJmMmRjZjBjZjVhYWVlNzFkZWRmMWM1MzI4Y2I1OWUgMTAwNjQ0Ci0t LS0gYS9zcmMvTGFzdGZtUmVhZExhYmVsQ2FwYWJpbGl0eS5jcHAKLSsrKyBiL3NyYy9MYXN0Zm1S ZWFkTGFiZWxDYXBhYmlsaXR5LmNwcAotQEAgLTIyLDggKzIyLDcgQEAKLSAjaW5jbHVkZSA8UU1h cD4KLSAjaW5jbHVkZSA8UU5ldHdvcmtSZXBseT4KLSAKLS0jaW5jbHVkZSA8bGFzdGZtL1htbFF1 ZXJ5PgotLSNpbmNsdWRlIDx3cy5oPgotKyNpbmNsdWRlIDxsYXN0Zm0vWG1sUXVlcnkuaD4KLSAj aW5jbHVkZSAiY29yZS9zdXBwb3J0L0FtYXJvay5oIgotIAotIG5hbWVzcGFjZSBDYXBhYmlsaXRp ZXMKLUBAIC03Miw3ICs3MSw4IEBAIExhc3RmbVJlYWRMYWJlbENhcGFiaWxpdHk6Om9uVGFnc0Zl dGNoZWQoKQotICAgICB7Ci0gICAgICAgICBjYXNlIFFOZXR3b3JrUmVwbHk6Ok5vRXJyb3I6Ci0g ICAgICAgICB7Ci0tICAgICAgICAgICAgbGFzdGZtOjpYbWxRdWVyeSBsZm0gPSBtX2pvYi0+cmVh ZEFsbCgpOwotKyAgICAgICAgICAgIGxhc3RmbTo6WG1sUXVlcnkgbGZtOwotKyAgICAgICAgICAg IGxmbS5wYXJzZShtX2pvYi0+cmVhZEFsbCgpKTsKLSAgICAgICAgICAgICBRTGlzdDxsYXN0Zm06 OlhtbFF1ZXJ5PiB0YWdzID0gbGZtLmNoaWxkcmVuKCAidGFnIiApOwotICAgICAgICAgICAgIFFT dHJpbmdMaXN0IHJldDsKLSAgICAgICAgICAgICBmb3JlYWNoKCBjb25zdCBsYXN0Zm06OlhtbFF1 ZXJ5ICZjaGlsZCwgdGFncyApCgpkaWZmIC0tZ2l0IGEvYW1hcm9rLnNwZWMgYi9hbWFyb2suc3Bl YwppbmRleCBmNWEzMDRhLi5lOTc2ZDAzIDEwMDY0NAotLS0gYS9hbWFyb2suc3BlYworKysgYi9h bWFyb2suc3BlYwpAQCAtMSwxMyArMSwxOSBAQAogCiBOYW1lOiAgICBhbWFyb2sKIFN1bW1hcnk6 IE1lZGlhIHBsYXllcgotVmVyc2lvbjogMi41LjkwCi1SZWxlYXNlOiA2JXs/ZGlzdH0KK1ZlcnNp b246IDIuNS45NgorUmVsZWFzZTogMSV7P2Rpc3R9CiAKICMgS0RFIGUuVi4gbWF5IGRldGVybWlu ZSB0aGF0IGZ1dHVyZSBHUEwgdmVyc2lvbnMgYXJlIGFjY2VwdGVkCiBMaWNlbnNlOiBHUEx2MiBv ciBHUEx2MwogVXJsOiAgICAgaHR0cDovL2FtYXJvay5rZGUub3JnLwotU291cmNlMDogaHR0cDov L2Rvd25sb2FkLmtkZS5vcmcvc3RhYmxlL2FtYXJvay8le3ZlcnNpb259L3NyYy9hbWFyb2stJXt2 ZXJzaW9ufS50YXIuYnoyCislZ2xvYmFsIHJldmlzaW9uICUoZWNobyAle3ZlcnNpb259IHwgY3V0 IC1kLiAtZjMpCislaWYgJXtyZXZpc2lvbn0gPj0gNTAKKyVnbG9iYWwgc3RhYmxlIHVuc3RhYmxl CislZWxzZQorJWdsb2JhbCBzdGFibGUgc3RhYmxlCislZW5kaWYKK1NvdXJjZTA6IGh0dHA6Ly9k b3dubG9hZC5rZGUub3JnLyV7c3RhYmxlfS9hbWFyb2svJXt2ZXJzaW9ufS9zcmMvYW1hcm9rLSV7 dmVyc2lvbn0udGFyLmJ6MgogQnVpbGRSb290OiAle190bXBwYXRofS8le25hbWV9LSV7dmVyc2lv bn0tJXtyZWxlYXNlfS1yb290LSUoJXtfX2lkX3V9IC1uKQogCiAjIEludm9rZSBhIGJyb3dzZXIg b24gdGhlIG9ubGluZSBVc2VyQmFzZSBkb2N1bWVudGF0aW9uIGluc3RlYWQgb2YgS0hlbHBDZW50 ZXIKQEAgLTE5LDEzICsyNSwxMCBAQCBQYXRjaDA6ICBhbWFyb2stMi41LjAtb25saW5lZG9jLnBh dGNoCiAjIyB1cHN0cmVhbSBwYXRjaGVzCiAjIGxpYmxhc3RmbTEgc3VwcG9ydAogIyBodHRwczov L2dpdC5yZXZpZXdib2FyZC5rZGUub3JnL3IvMTA1Mjc2LwotUGF0Y2gxMDA6IGFtYXJvay1saWJs YXN0Zm0xLnBhdGNoCitQYXRjaDEwMDogYW1hcm9rLTIuNS45Ni1saWJsYXN0Zm0xLnBhdGNoCiAl aWYgMCV7P2ZlZG9yYX0gPiAxNwogJWRlZmluZSBsaWJsYXN0Zm0xIDEKICVlbmRpZgotIyBkaXNh YmxlIHBvbGxpbmcKLSMgaHR0cHM6Ly9wcm9qZWN0cy5rZGUub3JnL3Byb2plY3RzL2V4dHJhZ2Vh ci9tdWx0aW1lZGlhL2FtYXJvay9yZXBvc2l0b3J5L3JldmlzaW9ucy85MmZlOWFjMTcxYjk5MjBi YTY1YWRmMjQ0YzdkYmUyM2Q2OTRkMjA5Ci1QYXRjaDEwMTogY2hhbmdlc2V0X3I5MmZlOWFjMTcx Yjk5MjBiYTY1YWRmMjQ0YzdkYmUyM2Q2OTRkMjA5LmRpZmYKIAogQnVpbGRSZXF1aXJlczogY3Vy bC1kZXZlbAogQnVpbGRSZXF1aXJlczogZGVza3RvcC1maWxlLXV0aWxzCkBAIC01MiwxMSArNTUs OCBAQCBCdWlsZFJlcXVpcmVzOiBwa2djb25maWcodGFnbGliLWV4dHJhcykgPj0gMS4wLjEKIEJ1 aWxkUmVxdWlyZXM6IHF0c2NyaXB0YmluZGluZ3MKIFJlcXVpcmVzOiBxdHNjcmlwdGJpbmRpbmdz JXs/X2lzYX0KIFJlcXVpcmVzOiAle25hbWV9LXV0aWxzID0gJXt2ZXJzaW9ufS0le3JlbGVhc2V9 Ci1SZXF1aXJlczoga2RlYmFzZS1ydW50aW1lJXs/X2tkZTRfdmVyc2lvbjogPj0gJXtfa2RlNF92 ZXJzaW9ufX0KLSVpZiAwJXs/ZmVkb3JhfSA9PSAxNAotIyBsYW1lLCBzZWUgaHR0cDovL2J1Z3pp bGxhLnJlZGhhdC5jb20vNjY2MTczCi1SZXF1aXJlczogbGlibXRwLWhhbAotJWVuZGlmCitSZXF1 aXJlczoga2RlLXJ1bnRpbWUlez9fa2RlNF92ZXJzaW9uOiA+PSAle19rZGU0X3ZlcnNpb259fQor UmVxdWlyZXM6IGlmdXNlCiAKIFJlcXVpcmVzOiAle25hbWV9LWxpYnMlez9faXNhfSA9ICV7dmVy c2lvbn0tJXtyZWxlYXNlfQogCkBAIC0xMDAsNyArMTAwLDYgQEAgQnVpbGRBcmNoOiBub2FyY2gK ICVpZiAwJXs/bGlibGFzdGZtMX0KICVwYXRjaDEwMCAtcDEgLWIgLmxpYmxhc3RmbTEKICVlbmRp ZgotJXBhdGNoMTAxIC1wMSAtYiAuZGlzYWJsZV9wb2xsaW5nCiAKIAogJWJ1aWxkCkBAIC0xODks NiArMTg4LDkgQEAgZmkKIAogCiAlY2hhbmdlbG9nCisqIFRodSBBdWcgMDIgMjAxMiBSZXggRGll dGVyIDxyZGlldGVyQGZlZG9yYXByb2plY3Qub3JnPiAyLjUuOTYtMQorLSAyLjUuOTYgKDIuNnJj MSkKKwogKiBXZWQgSnVsIDE4IDIwMTIgRmVkb3JhIFJlbGVhc2UgRW5naW5lZXJpbmcgPHJlbC1l bmdAbGlzdHMuZmVkb3JhcHJvamVjdC5vcmc+IC0gMi41LjkwLTYKIC0gUmVidWlsdCBmb3IgaHR0 cHM6Ly9mZWRvcmFwcm9qZWN0Lm9yZy93aWtpL0ZlZG9yYV8xOF9NYXNzX1JlYnVpbGQKIAoKZGlm ZiAtLWdpdCBhL2NoYW5nZXNldF9yOTJmZTlhYzE3MWI5OTIwYmE2NWFkZjI0NGM3ZGJlMjNkNjk0 ZDIwOS5kaWZmIGIvY2hhbmdlc2V0X3I5MmZlOWFjMTcxYjk5MjBiYTY1YWRmMjQ0YzdkYmUyM2Q2 OTRkMjA5LmRpZmYKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRiMTU5NDkuLjAwMDAw MDAKLS0tIGEvY2hhbmdlc2V0X3I5MmZlOWFjMTcxYjk5MjBiYTY1YWRmMjQ0YzdkYmUyM2Q2OTRk MjA5LmRpZmYKKysrIC9kZXYvbnVsbApAQCAtMSwxMDAgKzAsMCBAQAotY29tbWl0IDkyZmU5YWMx NzFiOTkyMGJhNjVhZGYyNDRjN2RiZTIzZDY5NGQyMDkKLUF1dGhvcjogTWF0xJtqIExhaXRsIDxt YXRlakBsYWl0bC5jej4KLURhdGU6ICAgTW9uIEp1biAxMSAxNzowMDo1MiAyMDEyICswMjAwCi0K LSAgICBNZWRpYURldmljZUNhY2hlOiByZW1vdmUgcG9sbGluZywgc29saWQgZXZlbnRzIHNob3Vs ZCBzdWZmaWNlCi0gICAgCi0gICAgVGhpcyBmaXhlcyBhIGJ1ZyB3aGVyZSBBbWFyb2sgKHZlcnkg cHJvYmFibHkgbmVlZGxlc3NseSkgcG9sbHMgc29saWQKLSAgICBmb3IgYWxsIGRldmljZXMgZXZl cnkgc2luZ2xlIHNlY29uZCAoISEhKSBqdXN0IHRvIGRldGVjdCB3aGV0aGVyIHNvbWUKLSAgICB1 bm1vdW50ZWQgcGF0aHMgYmVjb21lIG1vdW50ZWQgb3IgdmljZSB2ZXJzYS4gVGhpcyBzaG91bGQg bm90IGJlIG5lZWRlZAotICAgIGF0IGFsbCwgc29saWQgc2hvdWxkIG5vdGlmeSB1cyBhYm91dCBl dmVyeXRoaW5nLgotICAgIAotICAgIExldCdzIGhvcGUgdGhpcyBkb2Vzbid0IGNhdXNlIHN1YnRs ZSBidWdzLCBidXQgc2V2ZXJhbCBwZW9wbGUgYWxyZWFkeQotICAgIHRlc3RlZCBpdCB3aXRoIHN1 Y2Nlc3MgW3RoYW5rcywgU2FtXS4gKHByb2JhYmx5IG5vbmUgb2YgdGhlbSB3aXRoIG9sZGVyCi0g ICAga2RlbGlicyB0aG91Z2gpCi0gICAgCi0gICAgQlVHOiAyODk0NjIKLSAgICBGSVhFRC1JTjog Mi43Ci0gICAgUkVWSUVXOiAxMDUyMjEKLQotZGlmZiAtLWdpdCBhL3NyYy9NZWRpYURldmljZUNh Y2hlLmNwcCBiL3NyYy9NZWRpYURldmljZUNhY2hlLmNwcAotaW5kZXggMTU1ODNiOC4uYzk3NThj ZCAxMDA2NDQKLS0tLSBhL3NyYy9NZWRpYURldmljZUNhY2hlLmNwcAotKysrIGIvc3JjL01lZGlh RGV2aWNlQ2FjaGUuY3BwCi1AQCAtNTQsMTAgKzU0LDYgQEAgTWVkaWFEZXZpY2VDYWNoZTo6TWVk aWFEZXZpY2VDYWNoZSgpIDogUU9iamVjdCgpCi0gICAgICAgICAgICAgIHRoaXMsIFNMT1QoIHNs b3RBZGRTb2xpZERldmljZSggY29uc3QgUVN0cmluZyAmICkgKSApOwotICAgICBjb25uZWN0KCBT b2xpZDo6RGV2aWNlTm90aWZpZXI6Omluc3RhbmNlKCksIFNJR05BTCggZGV2aWNlUmVtb3ZlZCgg Y29uc3QgUVN0cmluZyAmICkgKSwKLSAgICAgICAgICAgICAgdGhpcywgU0xPVCggc2xvdFJlbW92 ZVNvbGlkRGV2aWNlKCBjb25zdCBRU3RyaW5nICYgKSApICk7Ci0tICAgIGNvbm5lY3QoJm1fdGlt ZXIsIFNJR05BTCh0aW1lb3V0KCkpLCB0aGlzLCBTTE9UKHNsb3RUaW1lb3V0KCkpKTsKLS0KLS0g ICAgbV90aW1lci5zZXRTaW5nbGVTaG90KHRydWUpOwotLSAgICBtX3RpbWVyLnN0YXJ0KDEwMDAp OwotIH0KLSAKLSBNZWRpYURldmljZUNhY2hlOjp+TWVkaWFEZXZpY2VDYWNoZSgpCi1AQCAtMjg3 LDQ1ICsyODMsNiBAQCBNZWRpYURldmljZUNhY2hlOjpzbG90UmVtb3ZlU29saWREZXZpY2UoIGNv bnN0IFFTdHJpbmcgJnVkaSApCi0gICAgIGVtaXQgZGV2aWNlUmVtb3ZlZCggdWRpICk7Ci0gfQot IAotLXZvaWQgTWVkaWFEZXZpY2VDYWNoZTo6c2xvdFRpbWVvdXQoKQotLXsKLS0gICAgS01vdW50 UG9pbnQ6Okxpc3QgcG9zc2libGVNb3VudExpc3QgPSBLTW91bnRQb2ludDo6cG9zc2libGVNb3Vu dFBvaW50cygpOwotLSAgICBLTW91bnRQb2ludDo6TGlzdCBjdXJyZW50TW91bnRMaXN0ID0gS01v dW50UG9pbnQ6OmN1cnJlbnRNb3VudFBvaW50cygpOwotLSAgICBRTGlzdDxTb2xpZDo6RGV2aWNl PiBkZXZpY2VMaXN0ID0gU29saWQ6OkRldmljZTo6bGlzdEZyb21UeXBlKCBTb2xpZDo6RGV2aWNl SW50ZXJmYWNlOjpTdG9yYWdlQWNjZXNzICk7Ci0tCi0tICAgIGZvciAoS01vdW50UG9pbnQ6Okxp c3Q6Oml0ZXJhdG9yIGl0ID0gcG9zc2libGVNb3VudExpc3QuYmVnaW4oKTsgaXQgIT0gcG9zc2li bGVNb3VudExpc3QuZW5kKCk7ICsraXQpIHsKLS0gICAgICAgIGlmICgoKml0KS0+bW91bnRUeXBl KCkgPT0gIm5mcyIgfHwgKCppdCktPm1vdW50VHlwZSgpID09ICJuZnM0IiB8fCAKLS0gICAgICAg ICAgICAoKml0KS0+bW91bnRUeXBlKCkgPT0gInNtYiIgfHwgKCppdCktPm1vdW50VHlwZSgpID09 ICJjaWZzIikgewotLSAgICAgICAgICAgIFFTdHJpbmcgcGF0aCA9ICgqaXQpLT5tb3VudFBvaW50 KCk7Ci0tICAgICAgICAgICAgYm9vbCBtb3VudGVkID0gZmFsc2U7Ci0tICAgICAgICAgICAgUVN0 cmluZyB1ZGkgPSBRU3RyaW5nKCk7Ci0tCi0tICAgICAgICAgICAgZm9yZWFjaCggY29uc3QgU29s aWQ6OkRldmljZSAmZGV2aWNlLCBkZXZpY2VMaXN0ICkKLS0gICAgICAgICAgICB7Ci0tICAgICAg ICAgICAgICAgIGNvbnN0IFNvbGlkOjpTdG9yYWdlQWNjZXNzKiBzc2EgPSBkZXZpY2UuYXM8U29s aWQ6OlN0b3JhZ2VBY2Nlc3M+KCk7Ci0tICAgICAgICAgICAgICAgIGlmKCBzc2EgJiYgcGF0aCA9 PSBzc2EtPmZpbGVQYXRoKCkpCi0tICAgICAgICAgICAgICAgICAgICB1ZGkgPSBkZXZpY2UudWRp KCk7Ci0tICAgICAgICAgICAgfQotLQotLSAgICAgICAgICAgIGZvciAoS01vdW50UG9pbnQ6Okxp c3Q6Oml0ZXJhdG9yIGl0MiA9IGN1cnJlbnRNb3VudExpc3QuYmVnaW4oKTsgaXQyICE9IGN1cnJl bnRNb3VudExpc3QuZW5kKCk7ICsraXQyKSB7Ci0tICAgICAgICAgICAgICAgIGlmICggKCppdCkt Pm1vdW50VHlwZSgpID09ICgqaXQyKS0+bW91bnRUeXBlKCkgJiYKLS0gICAgICAgICAgICAgICAg ICAgICAoKml0KS0+bW91bnRQb2ludCgpID09ICgqaXQyKS0+bW91bnRQb2ludCgpICkgewotLSAg ICAgICAgICAgICAgICAgICAgbW91bnRlZCA9IHRydWU7Ci0tICAgICAgICAgICAgICAgICAgICBi cmVhazsKLS0gICAgICAgICAgICAgICAgfQotLSAgICAgICAgICAgIH0KLS0KLS0gICAgICAgICAg ICBpZiAoIG1fYWNjZXNzaWJpbGl0eVt1ZGldICE9IG1vdW50ZWQgKSB7Ci0tICAgICAgICAgICAg ICAgIG1fYWNjZXNzaWJpbGl0eVt1ZGldID0gbW91bnRlZDsKLS0gICAgICAgICAgICAgICAgc2xv dEFjY2Vzc2liaWxpdHlDaGFuZ2VkKCBtb3VudGVkLCB1ZGkpOwotLSAgICAgICAgICAgIH0KLS0g ICAgICAgIH0KLS0gICAgfQotLQotLSAgICBtX3RpbWVyLnNldFNpbmdsZVNob3QodHJ1ZSk7Ci0t ICAgIG1fdGltZXIuc3RhcnQoMTAwMCk7Ci0tfQotLQotIHZvaWQKLSBNZWRpYURldmljZUNhY2hl OjpzbG90QWNjZXNzaWJpbGl0eUNoYW5nZWQoIGJvb2wgYWNjZXNzaWJsZSwgY29uc3QgUVN0cmlu ZyAmdWRpICkKLSB7Ci1kaWZmIC0tZ2l0IGEvc3JjL01lZGlhRGV2aWNlQ2FjaGUuaCBiL3NyYy9N ZWRpYURldmljZUNhY2hlLmgKLWluZGV4IGE0OGQ0NTMuLjJkNTI4OGEgMTAwNjQ0Ci0tLS0gYS9z cmMvTWVkaWFEZXZpY2VDYWNoZS5oCi0rKysgYi9zcmMvTWVkaWFEZXZpY2VDYWNoZS5oCi1AQCAt NjMsNyArNjMsNiBAQCBjbGFzcyBBTUFST0tfRVhQT1JUIE1lZGlhRGV2aWNlQ2FjaGUgOiBwdWJs aWMgUU9iamVjdAotICAgICAgICAgdm9pZCBzbG90QWRkU29saWREZXZpY2UoIGNvbnN0IFFTdHJp bmcgJnVkaSApOwotICAgICAgICAgdm9pZCBzbG90UmVtb3ZlU29saWREZXZpY2UoIGNvbnN0IFFT dHJpbmcgJnVkaSApOwotICAgICAgICAgdm9pZCBzbG90QWNjZXNzaWJpbGl0eUNoYW5nZWQoIGJv b2wgYWNjZXNzaWJsZSwgY29uc3QgUVN0cmluZyAmdWRpICk7Ci0tICAgICAgICB2b2lkIHNsb3RU aW1lb3V0KCk7Ci0gCi0gICAgIHByaXZhdGU6Ci0gICAgICAgICBRTWFwPFFTdHJpbmcsIE1lZGlh RGV2aWNlQ2FjaGU6OkRldmljZVR5cGU+IG1fdHlwZTsKLUBAIC03MSw3ICs3MCw2IEBAIGNsYXNz IEFNQVJPS19FWFBPUlQgTWVkaWFEZXZpY2VDYWNoZSA6IHB1YmxpYyBRT2JqZWN0Ci0gICAgICAg ICBRTWFwPFFTdHJpbmcsIGJvb2w+IG1fYWNjZXNzaWJpbGl0eTsKLSAgICAgICAgIFFTdHJpbmdM aXN0IG1fdm9sdW1lczsKLSAgICAgICAgIHN0YXRpYyBNZWRpYURldmljZUNhY2hlKiBzX2luc3Rh bmNlOwotLSAgICAgICAgUVRpbWVyIG1fdGltZXI7Ci0gfTsKLSAKLSAjZW5kaWYgLyogQU1BUk9L X01FRElBREVWSUNFQ0FDSEVfSCAqLwoKZGlmZiAtLWdpdCBhL3NvdXJjZXMgYi9zb3VyY2VzCmlu ZGV4IGU4ZTI3NjQuLjVkODMzYTMgMTAwNjQ0Ci0tLSBhL3NvdXJjZXMKKysrIGIvc291cmNlcwpA QCAtMSArMSBAQAotMTVmODRlMjI2NzU5OTU4ZmIzZTc2ZWJmNDM4YzlmYzcgIGFtYXJvay0yLjUu OTAudGFyLmJ6MgorNjIzZTFhZGVkOTVlZTA2MGQ5YWE0MDdiMDliYjkxODIgIGFtYXJvay0yLjUu OTYudGFyLmJ6Mgo=