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: Michal Ruprich To: git-commits@fedoraproject.org Subject: [rpms/rsync] f43: New version 3.4.3 Date: Fri, 29 May 2026 13:17:27 +0000 Message-ID: List-ID: X-Git-Repo: rpms/rsync X-Git-Branch: f43 X-Git-Rev: f913311ccb9fadaea7fa058a87bd822813935f72 QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvcnN5bmMKQnJhbmNo IDogZjQzCkNvbW1pdCA6IGY5MTMzMTFjY2I5ZmFkYWVhN2ZhMDU4YTg3YmQ4MjI4MTM5MzVmNzIK QXV0aG9yIDogTWljaGFsIFJ1cHJpY2ggPG1ydXByaWNoQHJlZGhhdC5jb20+CkRhdGUgICA6IDIw MjYtMDUtMjlUMTQ6MjY6MjIrMDI6MDAKU3RhdHMgIDogKzExMTgvLTMwIGluIDYgZmlsZShzKQpV UkwgICAgOiBodHRwczovL3NyYy5mZWRvcmFwcm9qZWN0Lm9yZy9ycG1zL3JzeW5jL2MvZjkxMzMx MWNjYjlmYWRhZWE3ZmEwNThhODdiZDgyMjgxMzkzNWY3Mj9icmFuY2g9ZjQzCgpMb2c6Ck5ldyB2 ZXJzaW9uIDMuNC4zCgotLS0KZGlmZiAtLWdpdCBhLy5naXRpZ25vcmUgYi8uZ2l0aWdub3JlCmlu ZGV4IDBiYmM1ODcuLjUxMTY2YTMgMTAwNjQ0Ci0tLSBhLy5naXRpZ25vcmUKKysrIGIvLmdpdGln bm9yZQpAQCAtMzAsMyArMzAsNCBAQCByc3luYy1wYXRjaGVzLTMuMC44LnRhci5negogL3JzeW5j LXBhdGNoZXMtMy40LjAudGFyLmd6CiAvcnN5bmMtMy40LjEudGFyLmd6CiAvcnN5bmMtcGF0Y2hl cy0zLjQuMS50YXIuZ3oKKy9yc3luYy0zLjQuMy50YXIuZ3oKCmRpZmYgLS1naXQgYS9yc3luYy1h ZGQtZGV0ZWN0LXJlbmFtZWQtbGF4LmRpZmYgYi9yc3luYy1hZGQtZGV0ZWN0LXJlbmFtZWQtbGF4 LmRpZmYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWU0NTM3YwotLS0gL2Rl di9udWxsCisrKyBiL3JzeW5jLWFkZC1kZXRlY3QtcmVuYW1lZC1sYXguZGlmZgpAQCAtMCwwICsx LDE4NSBAQAorVGhpcyBwYXRjaCBhZGRzIHRoZSBvcHRpb25zIC0tZGV0ZWN0LXJlbmFtZWQtbGF4 IGFuZCAtLWRldGVjdC1tb3ZlZC4KK1RoZXNlIG1vZGlmeSB0aGUgLS1kZXRlY3QtcmVuYW1lZCBh bGdvcml0aG0gdG8gYWRvcHQgYSBtYXRjaGluZyBmaWxlCit3aXRob3V0IHZlcmlmeWluZyB0aGF0 IHRoZSBjb250ZW50IGlzIGFzIGV4cGVjdGVkLiAgVGhlIGZvcm1lciBibGluZGx5CithY2NlcHRz IGEgZmlsZSB0aGF0IG1hdGNoZXMgaW4gc2l6ZSBhbmQgbW9kaWZpZWQgdGltZS4gIFRoZSBsYXR0 ZXIKK3JlcXVpcmVzIHRoYXQgdGhlIGZpbGVuYW1lIGFsc28gbWF0Y2ggKGlnbm9yaW5nIGFueSBy ZW5hbWVkIGZpbGVzKS4KKworVGhpcyBwYXRjaCBpcyBFWFBFUklNRU5UQUwsIHRob3VnaCBpdCBk aWQgd29yayBjb3JyZWN0bHkgaW4gbXkgbGlnaHQKK3Rlc3RpbmcuCisKK1RvIHVzZSB0aGlzIHBh dGNoLCBydW4gdGhlc2UgY29tbWFuZHMgZm9yIGEgc3VjY2Vzc2Z1bCBidWlsZDoKKworICAgIHBh dGNoIC1wMSA8cGF0Y2hlcy9kZXRlY3QtcmVuYW1lZC5kaWZmCisgICAgcGF0Y2ggLXAxIDxwYXRj aGVzL2RldGVjdC1yZW5hbWVkLWxheC5kaWZmCisgICAgLi9jb25maWd1cmUgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAob3B0aW9uYWwgaWYgYWxyZWFkeSBydW4pCisgICAgbWFrZQor CitGSVhNRTogSWYgYSBydW4gd2l0aCAtLWRldGVjdC1yZW5hbWVkLWxheCBzdGFnZXMgYSBkaWZm ZXJlbnQtYmFzZW5hbWUKK2Rlc3RpbmF0aW9uIGZpbGUgYW5kIHRoZW4gZ2V0cyBpbnRlcnJ1cHRl ZCwgYSBzdWJzZXF1ZW50IHJ1biB0aGF0Citzd2l0Y2hlcyB0byAtLWRldGVjdC1tb3ZlZCBibGlu ZGx5IGFjY2VwdHMgdGhlIHN0YWdlZCBmaWxlLgorCistLSBNYXR0IE1jQ3V0Y2hlbiA8aGFzaHBy b2R1Y3QrcnN5bmNAZ21haWwuY29tPgorCitiYXNlZC1vbjogcGF0Y2gvbWFzdGVyL2RldGVjdC1y ZW5hbWVkCitkaWZmIC0tZ2l0IGEvZ2VuZXJhdG9yLmMgYi9nZW5lcmF0b3IuYworLS0tIGEvZ2Vu ZXJhdG9yLmMKKysrKyBiL2dlbmVyYXRvci5jCitAQCAtNDY3LDcgKzQ2Nyw5IEBAIHN0YXRpYyBp bnQgZmF0dHJfZmluZChzdHJ1Y3QgZmlsZV9zdHJ1Y3QgKmYsIGNoYXIgKmZuYW1lKQorIAkJCQlj b250aW51ZTsKKyAJCQl9CisgCQl9CistCQlva19tYXRjaCA9IG1pZDsKKysJCS8qIC0tZGV0ZWN0 LW1vdmVkIGRvZXNuJ3QgYWxsb3cgbm9uLWJhc2VuYW1lIG1hdGNoZXMgKi8KKysJCWlmIChkZXRl Y3RfcmVuYW1lZCAhPSAzKQorKwkJCW9rX21hdGNoID0gbWlkOworIAkJZGlmZiA9IHVfc3RyY21w KGZtaWQtPmJhc2VuYW1lLCBmLT5iYXNlbmFtZSk7CisgCQlpZiAoZGlmZiA9PSAwKSB7CisgCQkJ Z29vZF9tYXRjaCA9IG1pZDsKK0BAIC0xOTkxLDYgKzE5OTMsMjEgQEAgc3RhdGljIHZvaWQgcmVj dl9nZW5lcmF0b3IoY2hhciAqZm5hbWUsIHN0cnVjdCBmaWxlX3N0cnVjdCAqZmlsZSwgaW50IG5k eCwKKyAJCWZuYW1lY21wID0gcGFydGlhbHB0cjsKKyAJCWZuYW1lY21wX3R5cGUgPSBGTkFNRUNN UF9QQVJUSUFMX0RJUjsKKyAJCXN0YXRyZXQgPSAwOworKwkJaWYgKGRldGVjdF9yZW5hbWVkID4g MSAmJiBxdWlja19jaGVja19vayhGVF9SRUcsIGZuYW1lY21wLCBmaWxlLCAmc3guc3QpKSB7Cisr CQkJLyogQWRvcHQgdGhlIHBhcnRpYWwgZmlsZS4gKi8KKysJCQlmaW5pc2hfdHJhbnNmZXIoZm5h bWUsIGZuYW1lY21wLCBOVUxMLCBOVUxMLCBmaWxlLCAxLCAxKTsKKysJCQloYW5kbGVfcGFydGlh bF9kaXIocGFydGlhbHB0ciwgUERJUl9ERUxFVEUpOworKwkJCWlmIChpdGVtaXppbmcpCisrCQkJ CWl0ZW1pemUoZm5hbWVjbXAsIGZpbGUsIG5keCwgLTEsICZzeCwKKysJCQkJCQlJVEVNX0xPQ0FM X0NIQU5HRSwgZm5hbWVjbXBfdHlwZSwgTlVMTCk7CisrI2lmZGVmIFNVUFBPUlRfSEFSRF9MSU5L UworKwkJCWlmIChwcmVzZXJ2ZV9oYXJkX2xpbmtzICYmIEZfSVNfSExJTktFRChmaWxlKSkKKysJ CQkJZmluaXNoX2hhcmRfbGluayhmaWxlLCBmbmFtZSwgbmR4LCAmc3guc3QsIGl0ZW1pemluZywg Y29kZSwgLTEpOworKyNlbmRpZgorKwkJCWlmIChyZW1vdmVfc291cmNlX2ZpbGVzID09IDEpCisr CQkJCWdvdG8gcmV0dXJuX3dpdGhfc3VjY2VzczsKKysJCQlnb3RvIGNsZWFudXA7CisrCQl9Cisg CX0KKyAKKyAJaWYgKCFkb194ZmVycykKK2RpZmYgLS1naXQgYS9vcHRpb25zLmMgYi9vcHRpb25z LmMKKy0tLSBhL29wdGlvbnMuYworKysrIGIvb3B0aW9ucy5jCitAQCAtNzQ0LDcgKzc0NCw5IEBA IHN0YXRpYyBzdHJ1Y3QgcG9wdE9wdGlvbiBsb25nX29wdGlvbnNbXSA9IHsKKyAgIHsiY29tcGFy ZS1kZXN0IiwgICAgIDAsICBQT1BUX0FSR19TVFJJTkcsIDAsIE9QVF9DT01QQVJFX0RFU1QsIDAs IDAgfSwKKyAgIHsiY29weS1kZXN0IiwgICAgICAgIDAsICBQT1BUX0FSR19TVFJJTkcsIDAsIE9Q VF9DT1BZX0RFU1QsIDAsIDAgfSwKKyAgIHsibGluay1kZXN0IiwgICAgICAgIDAsICBQT1BUX0FS R19TVFJJTkcsIDAsIE9QVF9MSU5LX0RFU1QsIDAsIDAgfSwKKy0gIHsiZGV0ZWN0LXJlbmFtZWQi LCAgIDAsICBQT1BUX0FSR19OT05FLCAgICZkZXRlY3RfcmVuYW1lZCwgMCwgMCwgMCB9LAorKyAg eyJkZXRlY3QtcmVuYW1lZCIsICAgMCwgIFBPUFRfQVJHX1ZBTCwgICAgJmRldGVjdF9yZW5hbWVk LCAxLCAwLCAwIH0sCisrICB7ImRldGVjdC1yZW5hbWVkLWxheCIsMCwgUE9QVF9BUkdfVkFMLCAg ICAmZGV0ZWN0X3JlbmFtZWQsIDIsIDAsIDAgfSwKKysgIHsiZGV0ZWN0LW1vdmVkIiwgICAgIDAs ICBQT1BUX0FSR19WQUwsICAgICZkZXRlY3RfcmVuYW1lZCwgMywgMCwgMCB9LAorICAgeyJmdXp6 eSIsICAgICAgICAgICAneScsIFBPUFRfQVJHX05PTkUsICAgMCwgJ3knLCAwLCAwIH0sCisgICB7 Im5vLWZ1enp5IiwgICAgICAgICAwLCAgUE9QVF9BUkdfVkFMLCAgICAmZnV6enlfYmFzaXMsIDAs IDAsIDAgfSwKKyAgIHsibm8teSIsICAgICAgICAgICAgIDAsICBQT1BUX0FSR19WQUwsICAgICZm dXp6eV9iYXNpcywgMCwgMCwgMCB9LAorQEAgLTI4MzgsOCArMjg0MCwxNCBAQCB2b2lkIHNlcnZl cl9vcHRpb25zKGNoYXIgKiphcmdzLCBpbnQgKmFyZ2NfcCkKKyAJCQlhcmdzW2FjKytdID0gIi0t c3VwZXIiOworIAkJaWYgKHNpemVfb25seSkKKyAJCQlhcmdzW2FjKytdID0gIi0tc2l6ZS1vbmx5 IjsKKy0JCWlmIChkZXRlY3RfcmVuYW1lZCkKKy0JCQlhcmdzW2FjKytdID0gIi0tZGV0ZWN0LXJl bmFtZWQiOworKwkJaWYgKGRldGVjdF9yZW5hbWVkKSB7CisrCQkJaWYgKGRldGVjdF9yZW5hbWVk ID09IDEpCisrCQkJCWFyZ3NbYWMrK10gPSAiLS1kZXRlY3QtcmVuYW1lZCI7CisrCQkJZWxzZSBp ZiAoZGV0ZWN0X3JlbmFtZWQgPT0gMikKKysJCQkJYXJnc1thYysrXSA9ICItLWRldGVjdC1yZW5h bWVkLWxheCI7CisrCQkJZWxzZQorKwkJCQlhcmdzW2FjKytdID0gIi0tZGV0ZWN0LW1vdmVkIjsK KysJCX0KKyAJCWlmIChkb19zdGF0cykKKyAJCQlhcmdzW2FjKytdID0gIi0tc3RhdHMiOworIAl9 IGVsc2UgeworZGlmZiAtLWdpdCBhL3JzeW5jLjEubWQgYi9yc3luYy4xLm1kCistLS0gYS9yc3lu Yy4xLm1kCisrKysgYi9yc3luYy4xLm1kCitAQCAtNTA4LDYgKzUwOCw4IEBAIGhhcyBpdHMgb3du IGRldGFpbGVkIGRlc2NyaXB0aW9uIGxhdGVyIGluIHRoaXMgbWFucGFnZS4KKyAtLXRlbXAtZGly PURJUiwgLVQgICAgICAgY3JlYXRlIHRlbXBvcmFyeSBmaWxlcyBpbiBkaXJlY3RvcnkgRElSCisg LS1mdXp6eSwgLXkgICAgICAgICAgICAgIGZpbmQgc2ltaWxhciBmaWxlIGZvciBiYXNpcyBpZiBu byBkZXN0IGZpbGUKKyAtLWRldGVjdC1yZW5hbWVkICAgICAgICAgdHJ5IHRvIGZpbmQgcmVuYW1l ZCBmaWxlcyB0byBzcGVlZCB0aGUgeGZlcgorKy0tZGV0ZWN0LXJlbmFtZWQtbGF4ICAgICAuLi4m IGFzc3VtZSBpZGVudGljYWwgdG8gc3JjIGZpbGVzIChyaXNreSEpCisrLS1kZXRlY3QtbW92ZWQg ICAgICAgICAgIC4uLiBvbmx5IGlmIGJhc2VuYW1lcyBtYXRjaCAobGVzcyByaXNreSkKKyAtLWNv bXBhcmUtZGVzdD1ESVIgICAgICAgYWxzbyBjb21wYXJlIGRlc3RpbmF0aW9uIGZpbGVzIHJlbGF0 aXZlIHRvIERJUgorIC0tY29weS1kZXN0PURJUiAgICAgICAgICAuLi4gYW5kIGluY2x1ZGUgY29w aWVzIG9mIHVuY2hhbmdlZCBmaWxlcworIC0tbGluay1kZXN0PURJUiAgICAgICAgICBoYXJkbGlu ayB0byBmaWxlcyBpbiBESVIgd2hlbiB1bmNoYW5nZWQKK0BAIC0yNjUyLDYgKzI2NTQsMjAgQEAg ZXhwYW5kIGl0LgorICAgICBvdGVudGlhbCBhbHRlcm5hdGUtYmFzaXMgZmlsZXMgd2lsbCBiZSBy ZW1vdmVkIGFzIHRoZSB0cmFuc2ZlciBwcm9ncmVzc2VzLgorICAgICBUaGlzIG9wdGlvbiBjb25m bGljdHMgd2l0aCBbYC0taW5wbGFjZWBdKCNvcHQpIGFuZCBbYC0tYXBwZW5kYF0oI29wdCkuCisg CisrMC4gIGAtLWRldGVjdC1yZW5hbWVkLWxheGAKKysKKysgICAgVGhpcyB2ZXJzaW9uIG9mIFtg LS1kZXRlY3QtcmVuYW1lZGBdKCNvcHQpIG1ha2VzIHJzeW5jIGhhcmQtbGluayBgZGVzdC9EYAor KyAgICB0byBgZGVzdC9TYCB3aXRob3V0IHZlcmlmeWluZyB0aGF0IGBzcmMvU2AgYW5kIGBkZXN0 L1NgIGhhdmUgdGhlIHNhbWUgZGF0YS4KKysgICAgVGhpcyBwb3NlcyBhIHNpZ25pZmljYW50IHJp c2sgb2YgY29ycnVwdGluZyB0aGUgZGVzdGluYXRpb24gYnkgcmVwcmVzZW50aW5nCisrICAgIGEg bmV3IHNvdXJjZSBmaWxlIGJ5IGFuIHVucmVsYXRlZCBkZXN0aW5hdGlvbiBmaWxlIHRoYXQgY29p bmNpZGVudGFsbHkKKysgICAgcGFzc2VzIHRoZSBxdWljayBjaGVjayB3aXRoIHRoZSBzb3VyY2Ug ZmlsZS4gIFVzZSB0aGlzIG9wdGlvbiBvbmx5IGlmIHlvdQorKyAgICBhY2NlcHQgdGhlIHJpc2sg YW5kIGRpc2sgSS9PIGlzIGEgYm90dGxlbmVjay4KKysKKyswLiAgYC0tZGV0ZWN0LW1vdmVkYAor KworKyAgICBBIGxlc3Mgcmlza3kgdmFyaWFudCBvZiBbYC0tZGV0ZWN0LXJlbmFtZWQtbGF4YF0o I29wdCkgdGhhdCBvbmx5IHVzZXMgYQorKyAgICBkZXN0aW5hdGlvbiBmaWxlIHRoYXQgaGFzIHRo ZSBzYW1lIGJhc2VuYW1lIGFzIHRoZSBuZXcgc291cmNlIGZpbGUuCisrCisgMC4gIGAtLWNvbXBh cmUtZGVzdD1ESVJgCisgCisgICAgIFRoaXMgb3B0aW9uIGluc3RydWN0cyByc3luYyB0byB1c2Ug X0RJUl8gb24gdGhlIGRlc3RpbmF0aW9uIG1hY2hpbmUgYXMgYW4KK2RpZmYgLU51cnAgYS9yc3lu Yy4xIGIvcnN5bmMuMQorLS0tIGEvcnN5bmMuMQorKysrIGIvcnN5bmMuMQorQEAgLTYwNyw2ICs2 MDcsOCBAQCBoYXMgaXRzIG93biBkZXRhaWxlZCBkZXNjcmlwdGlvbiBsYXRlciBpCisgLS10ZW1w LWRpcj1ESVIsIC1UICAgICAgIGNyZWF0ZSB0ZW1wb3JhcnkgZmlsZXMgaW4gZGlyZWN0b3J5IERJ UgorIC0tZnV6enksIC15ICAgICAgICAgICAgICBmaW5kIHNpbWlsYXIgZmlsZSBmb3IgYmFzaXMg aWYgbm8gZGVzdCBmaWxlCisgLS1kZXRlY3QtcmVuYW1lZCAgICAgICAgIHRyeSB0byBmaW5kIHJl bmFtZWQgZmlsZXMgdG8gc3BlZWQgdGhlIHhmZXIKKystLWRldGVjdC1yZW5hbWVkLWxheCAgICAg Li4uJiBhc3N1bWUgaWRlbnRpY2FsIHRvIHNyYyBmaWxlcyAocmlza3khKQorKy0tZGV0ZWN0LW1v dmVkICAgICAgICAgICAuLi4gb25seSBpZiBiYXNlbmFtZXMgbWF0Y2ggKGxlc3Mgcmlza3kpCisg LS1jb21wYXJlLWRlc3Q9RElSICAgICAgIGFsc28gY29tcGFyZSBkZXN0aW5hdGlvbiBmaWxlcyBy ZWxhdGl2ZSB0byBESVIKKyAtLWNvcHktZGVzdD1ESVIgICAgICAgICAgLi4uIGFuZCBpbmNsdWRl IGNvcGllcyBvZiB1bmNoYW5nZWQgZmlsZXMKKyAtLWxpbmstZGVzdD1ESVIgICAgICAgICAgaGFy ZGxpbmsgdG8gZmlsZXMgaW4gRElSIHdoZW4gdW5jaGFuZ2VkCitAQCAtMjcxOSw2ICsyNzIxLDE2 IEBAIEJ5IGRlZmF1bHQsIGFsdGVybmF0ZS1iYXNpcyBmaWxlcyBhcmUgaGFyZC1saW5rZWQgaW50 byBhIGRpcmVjdG9yeSBuYW1lZAorIFxmQlwtXC1wYXJ0aWFsLWRpclxmUCBvcHRpb24sIHRoYXQg ZGlyZWN0b3J5IHdpbGwgYmUgdXNlZCBpbnN0ZWFkLiAgVGhlc2UKKyBvdGVudGlhbCBhbHRlcm5h dGUtYmFzaXMgZmlsZXMgd2lsbCBiZSByZW1vdmVkIGFzIHRoZSB0cmFuc2ZlciBwcm9ncmVzc2Vz LgorIFRoaXMgb3B0aW9uIGNvbmZsaWN0cyB3aXRoIFxmQlwtXC1pbnBsYWNlXGZQIGFuZCBcZkJc LVwtYXBwZW5kXGZQCisrLklQICJcZkJcLVwtZGV0ZWN0LXJlbmFtZWQtbGF4XGZQIgorK1RoaXMg dmVyc2lvbiBvZiBcZkJcLVwtZGV0ZWN0LXJlbmFtZWRcZlAgbWFrZXMgcnN5bmMgaGFyZC1saW5r IFxmQmRlc3QvRFxmUAorK3RvIFxmQmRlc3QvU1xmUCB3aXRob3V0IHZlcmlmeWluZyB0aGF0IFxm QnNyYy9TXGZQIGFuZCBcZkJkZXN0L1NcZlAgaGF2ZSB0aGUgc2FtZSBkYXRhLgorK1RoaXMgcG9z ZXMgYSBzaWduaWZpY2FudCByaXNrIG9mIGNvcnJ1cHRpbmcgdGhlIGRlc3RpbmF0aW9uIGJ5IHJl cHJlc2VudGluZworK2EgbmV3IHNvdXJjZSBmaWxlIGJ5IGFuIHVucmVsYXRlZCBkZXN0aW5hdGlv biBmaWxlIHRoYXQgY29pbmNpZGVudGFsbHkKKytwYXNzZXMgdGhlIHF1aWNrIGNoZWNrIHdpdGgg dGhlIHNvdXJjZSBmaWxlLiAgVXNlIHRoaXMgb3B0aW9uIG9ubHkgaWYgeW91CisrYWNjZXB0IHRo ZSByaXNrIGFuZCBkaXNrIEkvTyBpcyBhIGJvdHRsZW5lY2suCisrLklQICJcZkJcLVwtZGV0ZWN0 LW1vdmVkXGZQIgorK0EgbGVzcyByaXNreSB2YXJpYW50IG9mIFxmQlwtXC1kZXRlY3QtcmVuYW1l ZC1sYXhcZlAgdGhhdCBvbmx5IHVzZXMgYQorK2Rlc3RpbmF0aW9uIGZpbGUgdGhhdCBoYXMgdGhl IHNhbWUgYmFzZW5hbWUgYXMgdGhlIG5ldyBzb3VyY2UgZmlsZS4KKyAuSVAgIlxmQlwtXC1jb21w YXJlXC1kZXN0PURJUlxmUCIKKyBUaGlzIG9wdGlvbiBpbnN0cnVjdHMgcnN5bmMgdG8gdXNlIFxm SURJUlxmUCBvbiB0aGUgZGVzdGluYXRpb24gbWFjaGluZSBhcyBhbgorIGFkZGl0aW9uYWwgaGll cmFyY2h5IHRvIGNvbXBhcmUgZGVzdGluYXRpb24gZmlsZXMgYWdhaW5zdCBkb2luZyB0cmFuc2Zl cnMKK2RpZmYgLU51cnAgYS9yc3luYy4xLmh0bWwgYi9yc3luYy4xLmh0bWwKKy0tLSBhL3JzeW5j LjEuaHRtbAorKysrIGIvcnN5bmMuMS5odG1sCitAQCAtNTAwLDYgKzUwMCw4IEBAIGhhcyBpdHMg b3duIGRldGFpbGVkIGRlc2NyaXB0aW9uIGxhdGVyIGkKKyAtLXRlbXAtZGlyPURJUiwgLVQgICAg ICAgY3JlYXRlIHRlbXBvcmFyeSBmaWxlcyBpbiBkaXJlY3RvcnkgRElSCisgLS1mdXp6eSwgLXkg ICAgICAgICAgICAgIGZpbmQgc2ltaWxhciBmaWxlIGZvciBiYXNpcyBpZiBubyBkZXN0IGZpbGUK KyAtLWRldGVjdC1yZW5hbWVkICAgICAgICAgdHJ5IHRvIGZpbmQgcmVuYW1lZCBmaWxlcyB0byBz cGVlZCB0aGUgeGZlcgorKy0tZGV0ZWN0LXJlbmFtZWQtbGF4ICAgICAuLi4mYW1wOyBhc3N1bWUg aWRlbnRpY2FsIHRvIHNyYyBmaWxlcyAocmlza3khKQorKy0tZGV0ZWN0LW1vdmVkICAgICAgICAg ICAuLi4gb25seSBpZiBiYXNlbmFtZXMgbWF0Y2ggKGxlc3Mgcmlza3kpCisgLS1jb21wYXJlLWRl c3Q9RElSICAgICAgIGFsc28gY29tcGFyZSBkZXN0aW5hdGlvbiBmaWxlcyByZWxhdGl2ZSB0byBE SVIKKyAtLWNvcHktZGVzdD1ESVIgICAgICAgICAgLi4uIGFuZCBpbmNsdWRlIGNvcGllcyBvZiB1 bmNoYW5nZWQgZmlsZXMKKyAtLWxpbmstZGVzdD1ESVIgICAgICAgICAgaGFyZGxpbmsgdG8gZmls ZXMgaW4gRElSIHdoZW4gdW5jaGFuZ2VkCitAQCAtMjQ4Niw2ICsyNDg4LDIwIEBAIG90ZW50aWFs IGFsdGVybmF0ZS1iYXNpcyBmaWxlcyB3aWxsIGJlIHIKKyBUaGlzIG9wdGlvbiBjb25mbGljdHMg d2l0aCA8YSBocmVmPSIjb3B0LS1pbnBsYWNlIj48Y29kZT4tLWlucGxhY2U8L2NvZGU+PC9hPiBh bmQgPGEgaHJlZj0iI29wdC0tYXBwZW5kIj48Y29kZT4tLWFwcGVuZDwvY29kZT48L2E+LjwvcD4K KyA8L2RkPgorIAorKzxkdCBpZD0ib3B0LS1kZXRlY3QtcmVuYW1lZC1sYXgiPjxjb2RlPi0tZGV0 ZWN0LXJlbmFtZWQtbGF4PC9jb2RlPjxhIGhyZWY9IiNvcHQtLWRldGVjdC1yZW5hbWVkLWxheCIg Y2xhc3M9InRndCI+PC9hPjwvZHQ+PGRkPgorKzxwPlRoaXMgdmVyc2lvbiBvZiA8YSBocmVmPSIj b3B0LS1kZXRlY3QtcmVuYW1lZCI+PGNvZGU+LS1kZXRlY3QtcmVuYW1lZDwvY29kZT48L2E+IG1h a2VzIHJzeW5jIGhhcmQtbGluayA8Y29kZT5kZXN0L0Q8L2NvZGU+CisrdG8gPGNvZGU+ZGVzdC9T PC9jb2RlPiB3aXRob3V0IHZlcmlmeWluZyB0aGF0IDxjb2RlPnNyYy9TPC9jb2RlPiBhbmQgPGNv ZGU+ZGVzdC9TPC9jb2RlPiBoYXZlIHRoZSBzYW1lIGRhdGEuCisrVGhpcyBwb3NlcyBhIHNpZ25p ZmljYW50IHJpc2sgb2YgY29ycnVwdGluZyB0aGUgZGVzdGluYXRpb24gYnkgcmVwcmVzZW50aW5n CisrYSBuZXcgc291cmNlIGZpbGUgYnkgYW4gdW5yZWxhdGVkIGRlc3RpbmF0aW9uIGZpbGUgdGhh dCBjb2luY2lkZW50YWxseQorK3Bhc3NlcyB0aGUgcXVpY2sgY2hlY2sgd2l0aCB0aGUgc291cmNl IGZpbGUuICBVc2UgdGhpcyBvcHRpb24gb25seSBpZiB5b3UKKythY2NlcHQgdGhlIHJpc2sgYW5k IGRpc2sgSS9PIGlzIGEgYm90dGxlbmVjay48L3A+CisrPC9kZD4KKysKKys8ZHQgaWQ9Im9wdC0t ZGV0ZWN0LW1vdmVkIj48Y29kZT4tLWRldGVjdC1tb3ZlZDwvY29kZT48YSBocmVmPSIjb3B0LS1k ZXRlY3QtbW92ZWQiIGNsYXNzPSJ0Z3QiPjwvYT48L2R0PjxkZD4KKys8cD5BIGxlc3Mgcmlza3kg dmFyaWFudCBvZiA8YSBocmVmPSIjb3B0LS1kZXRlY3QtcmVuYW1lZC1sYXgiPjxjb2RlPi0tZGV0 ZWN0LXJlbmFtZWQtbGF4PC9jb2RlPjwvYT4gdGhhdCBvbmx5IHVzZXMgYQorK2Rlc3RpbmF0aW9u IGZpbGUgdGhhdCBoYXMgdGhlIHNhbWUgYmFzZW5hbWUgYXMgdGhlIG5ldyBzb3VyY2UgZmlsZS48 L3A+CisrPC9kZD4KKysKKyA8ZHQgaWQ9Im9wdC0tY29tcGFyZS1kZXN0Ij48Y29kZT4tLWNvbXBh cmUtZGVzdD1ESVI8L2NvZGU+PGEgaHJlZj0iI29wdC0tY29tcGFyZS1kZXN0IiBjbGFzcz0idGd0 Ij48L2E+PC9kdD48ZGQ+CisgPHA+VGhpcyBvcHRpb24gaW5zdHJ1Y3RzIHJzeW5jIHRvIHVzZSA8 dT5ESVI8L3U+IG9uIHRoZSBkZXN0aW5hdGlvbiBtYWNoaW5lIGFzIGFuCisgYWRkaXRpb25hbCBo aWVyYXJjaHkgdG8gY29tcGFyZSBkZXN0aW5hdGlvbiBmaWxlcyBhZ2FpbnN0IGRvaW5nIHRyYW5z ZmVycwoKZGlmZiAtLWdpdCBhL3JzeW5jLWFkZC1kZXRlY3QtcmVuYW1lZC5kaWZmIGIvcnN5bmMt YWRkLWRldGVjdC1yZW5hbWVkLmRpZmYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw MC4uYTBjNTkwMQotLS0gL2Rldi9udWxsCisrKyBiL3JzeW5jLWFkZC1kZXRlY3QtcmVuYW1lZC5k aWZmCkBAIC0wLDAgKzEsOTA1IEBACitUaGlzIHBhdGNoIGFkZHMgdGhlIC0tZGV0ZWN0LXJlbmFt ZWQgb3B0aW9uIHdoaWNoIG1ha2VzIHJzeW5jIG5vdGljZSBmaWxlcwordGhhdCBlaXRoZXIgKDEp IG1hdGNoIGluIHNpemUgJiBtb2RpZnktdGltZSAocGx1cyB0aGUgYmFzZW5hbWUsIGlmIHBvc3Np YmxlKQorb3IgKDIpIG1hdGNoIGluIHNpemUgJiBjaGVja3N1bSAod2hlbiAtLWNoZWNrc3VtIHdh cyBhbHNvIHNwZWNpZmllZCkgYW5kIHVzZQorZWFjaCBtYXRjaCBhcyBhbiBhbHRlcm5hdGUgYmFz aXMgZmlsZSB0byBzcGVlZCB1cCB0aGUgdHJhbnNmZXIuCisKK1RoZSBhbGdvcml0aG0gYXR0ZW1w dHMgdG8gc2NhbiB0aGUgcmVjZWl2aW5nLXNpZGUncyBmaWxlcyBpbiBhbiBlZmZpY2llbnQKK21h bm5lci4gIElmIC0tZGVsZXRlWy1iZWZvcmVdIGlzIGVuYWJsZWQsIHdlJ2xsIHRha2UgYWR2YW50 YWdlIG9mIHRoZQorcHJlLXRyYW5zZmVyIGRlbGV0ZSBwYXNzIHRvIHByZXBhcmUgYW55IGFsdGVy bmF0ZS1iYXNpcy1maWxlIG1hdGNoZXMgd2UKK21pZ2h0IGZpbmQuICBJZiAtLWRlbGV0ZS1iZWZv cmUgaXMgbm90IGVuYWJsZWQsIHJzeW5jIGRvZXMgdGhlIHJlbmFtZSBzY2FuCitkdXJpbmcgdGhl IHJlZ3VsYXIgZmlsZS1zZW5kaW5nIHNjYW4gKHNjYW5uaW5nIGVhY2ggZGlyZWN0b3J5IHJpZ2h0 IGJlZm9yZQordGhlIGdlbmVyYXRvciBzdGFydHMgdXBkYXRpbmcgZmlsZXMgZnJvbSB0aGF0IGRp cikuICBJbiB0aGlzIGxhdHRlciBtb2RlLAorcnN5bmMgbWlnaHQgZGVsYXkgdGhlIHVwZGF0aW5n IG9mIGEgZmlsZSAoaWYgbm8gYWx0ZXJuYXRlLWJhc2lzIG1hdGNoIHdhcworeWV0IGZvdW5kKSB1 bnRpbCB0aGUgZnVsbCBzY2FuIG9mIHRoZSByZWNlaXZpbmcgc2lkZSBpcyBjb21wbGV0ZSwgYXQg d2hpY2gKK3BvaW50IGFueSBkZWxheWVkIGZpbGVzIGFyZSBwcm9jZXNzZWQuCisKK0kgY2hvc2Ug dG8gaGFyZC1saW5rIHRoZSBhbHRlcm5hdGUtYmFzaXMgZmlsZXMgaW50byBhICIufnRtcH4iIHN1 YmRpciB0aGF0Cit0YWtlcyBhZHZhbnRhZ2Ugb2YgcnN5bmMncyBwcmUtZXhpc3RpbmcgcGFydGlh bC1kaXIgbG9naWMuICBUaGlzIHVzZXMgbGVzcworbWVtb3J5IHRoYW4gdHJ5aW5nIHRvIGtlZXAg dHJhY2sgb2YgdGhlIG1hdGNoZXMgaW50ZXJuYWxseSwgYW5kIGFsc28gYWxsb3dzCithbnkgZGVs ZXRpb25zIG9yIGZpbGUtdXBkYXRlcyB0byBvY2N1ciBub3JtYWxseSB3aXRob3V0IGludGVyZmVy aW5nIHdpdGgKK3RoZXNlIGFsdGVybmF0ZS1iYXNpcyBkaXNjb3Zlcmllcy4KKworVG8gdXNlIHRo aXMgcGF0Y2gsIHJ1biB0aGVzZSBjb21tYW5kcyBmb3IgYSBzdWNjZXNzZnVsIGJ1aWxkOgorCisg ICAgcGF0Y2ggLXAxIDxwYXRjaGVzL2RldGVjdC1yZW5hbWVkLmRpZmYKKyAgICAuL2NvbmZpZ3Vy ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChvcHRpb25hbCBpZiBhbHJlYWR5IHJ1 bikKKyAgICBtYWtlCisKK1RPRE86CisKKyAgVGhlIHJvdXRpbmUgdGhhdCBtYWtlcyBtaXNzaW5n IGRpcmVjdG9yaWVzIGZvciBmaWxlcyB0aGF0IGdldCByZW5hbWVkCisgIGRvd24gaW50byBhIG5l dyBzdWItaGllcmFyY2h5IGRvZXNuJ3QgcHJvcGVybHkgaGFuZGxlIHRoZSBjYXNlIHdoZXJlIHNv bWUKKyAgcGF0aCBlbGVtZW50cyBtaWdodCBleGlzdCBidXQgbm90IGJlIGEgZGlyIHlldC4gIFdl IG5lZWQgdG8gZWl0aGVyIGNoYW5nZQorICBvdXIgc3Rhc2gtYWhlYWQgYWxnb3JpdGhtICh0byBu b3QgcmVxdWlyZSB1bmtub3duIHBhdGggZWxlbWVudHMpIG9yIHdlCisgIG5lZWQgdG8gY3JlYXRl IGEgYmV0dGVyIHBhdGgtbWFraW5nIHJvdXRpbmUuCisKKyAgV2UgbmVlZCB0byBuZXZlciByZXR1 cm4gYSBtYXRjaCBmcm9tIGZhdHRyX2ZpbmQoKSB0aGF0IGhhcyBhIGJhc2lzCisgIGZpbGUuICBU aGlzIHdpbGwgZW5zdXJlIHRoYXQgd2UgZG9uJ3QgdHJ5IHRvIGdpdmUgYSByZW5hbWVkIGZpbGUg dG8KKyAgYSBmaWxlIHRoYXQgY2FuJ3QgdXNlIGl0LCB3aGlsZSBtaXNzaW5nIG91dCBvbiBnaXZp bmcgaXQgdG8gYSBmaWxlCisgIHRoYXQgY291bGQgdXNlIGl0LgorCitiYXNlZC1vbjogMzMwNWE3 YTA2M2FiMDE2N2NhYjViZjcwMjlkYTUzYWJhYTlmZGI2ZQorZGlmZiAtLWdpdCBhL2JhY2t1cC5j IGIvYmFja3VwLmMKKy0tLSBhL2JhY2t1cC5jCisrKysgYi9iYWNrdXAuYworQEAgLTE2Miw3ICsx NjIsNyBAQCBjaGFyICpnZXRfYmFja3VwX25hbWUoY29uc3QgY2hhciAqZm5hbWUpCisgCQkJaW50 IHJldDsKKyAJCQlpZiAoYmFja3VwX2Rpcl9sZW4gPiAxKQorIAkJCQliYWNrdXBfZGlyX2J1Zlti YWNrdXBfZGlyX2xlbi0xXSA9ICdcMCc7CistCQkJcmV0ID0gbWFrZV9wYXRoKGJhY2t1cF9kaXJf YnVmLCAwKTsKKysJCQlyZXQgPSBtYWtlX3BhdGgoYmFja3VwX2Rpcl9idWYsIEFDQ0VTU1BFUk1T LCAwKTsKKyAJCQlpZiAoYmFja3VwX2Rpcl9sZW4gPiAxKQorIAkJCQliYWNrdXBfZGlyX2J1Zlti YWNrdXBfZGlyX2xlbi0xXSA9ICcvJzsKKyAJCQlpZiAocmV0IDwgMCkKK2RpZmYgLS1naXQgYS9j b21wYXQuYyBiL2NvbXBhdC5jCistLS0gYS9jb21wYXQuYworKysrIGIvY29tcGF0LmMKK0BAIC00 MCw2ICs0MCw3IEBAIGV4dGVybiBpbnQgY2hlY2tzdW1fc2VlZDsKKyBleHRlcm4gaW50IGJhc2lz X2Rpcl9jbnQ7CisgZXh0ZXJuIGludCBwcnVuZV9lbXB0eV9kaXJzOworIGV4dGVybiBpbnQgcHJv dG9jb2xfdmVyc2lvbjsKKytleHRlcm4gaW50IGRldGVjdF9yZW5hbWVkOworIGV4dGVybiBpbnQg cHJvdGVjdF9hcmdzOworIGV4dGVybiBpbnQgcHJlc2VydmVfdWlkOworIGV4dGVybiBpbnQgcHJl c2VydmVfZ2lkOworQEAgLTE3Miw2ICsxNzMsNyBAQCB2b2lkIHNldF9hbGxvd19pbmNfcmVjdXJz ZSh2b2lkKQorIAkJYWxsb3dfaW5jX3JlY3Vyc2UgPSAwOworIAllbHNlIGlmICghYW1fc2VuZGVy CisgCSAmJiAoZGVsZXRlX2JlZm9yZSB8fCBkZWxldGVfYWZ0ZXIKKysJICB8fCBkZXRlY3RfcmVu YW1lZAorIAkgIHx8IGRlbGF5X3VwZGF0ZXMgfHwgcHJ1bmVfZW1wdHlfZGlycykpCisgCQlhbGxv d19pbmNfcmVjdXJzZSA9IDA7CisgCWVsc2UgaWYgKGFtX3NlcnZlciAmJiBzdHJjaHIoY2xpZW50 X2luZm8sICdpJykgPT0gTlVMTCkKK2RpZmYgLS1naXQgYS9kZWxldGUuYyBiL2RlbGV0ZS5jCist LS0gYS9kZWxldGUuYworKysrIGIvZGVsZXRlLmMKK0BAIC0yNSw2ICsyNSw3IEBACisgZXh0ZXJu IGludCBhbV9yb290OworIGV4dGVybiBpbnQgbWFrZV9iYWNrdXBzOworIGV4dGVybiBpbnQgbWF4 X2RlbGV0ZTsKKytleHRlcm4gaW50IGRldGVjdF9yZW5hbWVkOworIGV4dGVybiBjaGFyICpiYWNr dXBfZGlyOworIGV4dGVybiBjaGFyICpiYWNrdXBfc3VmZml4OworIGV4dGVybiBpbnQgYmFja3Vw X3N1ZmZpeF9sZW47CitAQCAtNDQsNiArNDUsOCBAQCBzdGF0aWMgaW5saW5lIGludCBpc19iYWNr dXBfZmlsZShjaGFyICpmbikKKyAgKiBpdHMgY29udGVudHMsIG90aGVyd2lzZSBqdXN0IGNoZWNr cyBmb3IgY29udGVudC4gIFJldHVybnMgRFJfU1VDQ0VTUyBvcgorICAqIERSX05PVF9FTVBUWS4g IE5vdGUgdGhhdCBmbmFtZSBtdXN0IHBvaW50IHRvIGEgTUFYUEFUSExFTiBidWZmZXIhICAoVGhl CisgICogYnVmZmVyIGlzIHVzZWQgZm9yIHJlY3Vyc2lvbiwgYnV0IHJldHVybmVkIHVuY2hhbmdl ZC4pCisrICoKKysgKiBOb3RlOiAtLWRldGVjdC1yZW5hbWUgbWF5IHVzZSB0aGlzIHJvdXRpbmUg d2l0aCBERUxfTk9fREVMRVRJT05TIHNldCEKKyAgKi8KKyBzdGF0aWMgZW51bSBkZWxyZXQgZGVs ZXRlX2Rpcl9jb250ZW50cyhjaGFyICpmbmFtZSwgdWludDE2IGZsYWdzKQorIHsKK0BAIC02Myw3 ICs2Niw5IEBAIHN0YXRpYyBlbnVtIGRlbHJldCBkZWxldGVfZGlyX2NvbnRlbnRzKGNoYXIgKmZu YW1lLCB1aW50MTYgZmxhZ3MpCisgCXNhdmVfZmlsdGVycyA9IHB1c2hfbG9jYWxfZmlsdGVycyhm bmFtZSwgZGxlbik7CisgCisgCW5vbl9wZXJpc2hhYmxlX2NudCA9IDA7CisrCWZpbGVfZXh0cmFf Y250ICs9IFNVTV9FWFRSQV9DTlQ7CisgCWRpcmxpc3QgPSBnZXRfZGlybGlzdChmbmFtZSwgZGxl biwgMCk7CisrCWZpbGVfZXh0cmFfY250IC09IFNVTV9FWFRSQV9DTlQ7CisgCXJldCA9IG5vbl9w ZXJpc2hhYmxlX2NudCA/IERSX05PVF9FTVBUWSA6IERSX1NVQ0NFU1M7CisgCisgCWlmICghZGly bGlzdC0+dXNlZCkKK0BAIC0xMDMsNyArMTA4LDggQEAgc3RhdGljIGVudW0gZGVscmV0IGRlbGV0 ZV9kaXJfY29udGVudHMoY2hhciAqZm5hbWUsIHVpbnQxNiBmbGFncykKKyAJCWlmIChTX0lTRElS KGZwLT5tb2RlKSkgeworIAkJCWlmIChkZWxldGVfZGlyX2NvbnRlbnRzKGZuYW1lLCBmbGFncyB8 IERFTF9SRUNVUlNFKSAhPSBEUl9TVUNDRVNTKQorIAkJCQlyZXQgPSBEUl9OT1RfRU1QVFk7Cist CQl9CisrCQl9IGVsc2UgaWYgKGRldGVjdF9yZW5hbWVkICYmIFNfSVNSRUcoZnAtPm1vZGUpKQor KwkJCWxvb2tfZm9yX3JlbmFtZShmcCwgZm5hbWUpOworIAkJaWYgKGRlbGV0ZV9pdGVtKGZuYW1l LCBmcC0+bW9kZSwgZmxhZ3MpICE9IERSX1NVQ0NFU1MpCisgCQkJcmV0ID0gRFJfTk9UX0VNUFRZ OworIAl9CitAQCAtMTI2LDYgKzEzMiw4IEBAIHN0YXRpYyBlbnVtIGRlbHJldCBkZWxldGVfZGly X2NvbnRlbnRzKGNoYXIgKmZuYW1lLCB1aW50MTYgZmxhZ3MpCisgICoKKyAgKiBOb3RlIHRoYXQg ZmJ1ZiBtdXN0IHBvaW50IHRvIGEgTUFYUEFUSExFTiBidWZmZXIgaWYgdGhlIG1vZGUgaW5kaWNh dGVzIGl0J3MKKyAgKiBhIGRpcmVjdG9yeSEgKFRoZSBidWZmZXIgaXMgdXNlZCBmb3IgcmVjdXJz aW9uLCBidXQgcmV0dXJuZWQgdW5jaGFuZ2VkLikKKysgKgorKyAqIEFsc28gbm90ZTogLS1kZXRl Y3QtcmVuYW1lIG1heSB1c2UgdGhpcyByb3V0aW5lIHdpdGggREVMX05PX0RFTEVUSU9OUyBzZXQh CisgICovCisgZW51bSBkZWxyZXQgZGVsZXRlX2l0ZW0oY2hhciAqZmJ1ZiwgdWludDE2IG1vZGUs IHVpbnQxNiBmbGFncykKKyB7CitAQCAtMTUzLDYgKzE2MSw5IEBAIGVudW0gZGVscmV0IGRlbGV0 ZV9pdGVtKGNoYXIgKmZidWYsIHVpbnQxNiBtb2RlLCB1aW50MTYgZmxhZ3MpCisgCQkvKiBPSzog dHJ5IHRvIGRlbGV0ZSB0aGUgZGlyZWN0b3J5LiAqLworIAl9CisgCisrCWlmIChmbGFncyAmIERF TF9OT19ERUxFVElPTlMpCisrCQlyZXR1cm4gRFJfU1VDQ0VTUzsKKysKKyAJaWYgKCEoZmxhZ3Mg JiBERUxfTUFLRV9ST09NKSAmJiBtYXhfZGVsZXRlID49IDAgJiYgc3RhdHMuZGVsZXRlZF9maWxl cyA+PSBtYXhfZGVsZXRlKSB7CisgCQlza2lwcGVkX2RlbGV0ZXMrKzsKKyAJCXJldHVybiBEUl9B VF9MSU1JVDsKK2RpZmYgLS1naXQgYS9mbGlzdC5jIGIvZmxpc3QuYworLS0tIGEvZmxpc3QuYwor KysrIGIvZmxpc3QuYworQEAgLTY0LDYgKzY0LDcgQEAgZXh0ZXJuIGludCBub25fcGVyaXNoYWJs ZV9jbnQ7CisgZXh0ZXJuIGludCBwcnVuZV9lbXB0eV9kaXJzOworIGV4dGVybiBpbnQgY29weV9s aW5rczsKKyBleHRlcm4gaW50IGNvcHlfdW5zYWZlX2xpbmtzOworK2V4dGVybiBpbnQgZGV0ZWN0 X3JlbmFtZWQ7CisgZXh0ZXJuIGludCBwcm90b2NvbF92ZXJzaW9uOworIGV4dGVybiBpbnQgc2Fu aXRpemVfcGF0aHM7CisgZXh0ZXJuIGludCBtdW5nZV9zeW1saW5rczsKK0BAIC0xMzIsNiArMTMz LDggQEAgc3RhdGljIGludDY0IHRtcF9kZXYgPSAtMSwgdG1wX2lubzsKKyAjZW5kaWYKKyBzdGF0 aWMgY2hhciB0bXBfc3VtW01BWF9ESUdFU1RfTEVOXTsKKyAKKytzdHJ1Y3QgZmlsZV9saXN0IHRo ZV9mYXR0cl9saXN0OworKworIHN0YXRpYyBjaGFyIGVtcHR5X3N1bVtNQVhfRElHRVNUX0xFTl07 Cisgc3RhdGljIGludCBmbGlzdF9jb3VudF9vZmZzZXQ7IC8qIGZvciAtLWRlbGV0ZSAtLXByb2dy ZXNzICovCisgc3RhdGljIGludCBzaG93X2ZpbGVsaXN0X3Byb2dyZXNzOworQEAgLTI4MCw2ICsy ODMsNDUgQEAgc3RhdGljIGlubGluZSBpbnQgaXNfZXhjbHVkZWQoY29uc3QgY2hhciAqZm5hbWUs IGludCBpc19kaXIsIGludCBmaWx0ZXJfbGV2ZWwpCisgCXJldHVybiBuYW1lX2lzX2V4Y2x1ZGVk KGZuYW1lLCBpc19kaXIgPyBOQU1FX0lTX0RJUiA6IE5BTUVfSVNfRklMRSwgZmlsdGVyX2xldmVs KTsKKyB9CisgCisrc3RhdGljIGludCBmYXR0cl9jb21wYXJlKHN0cnVjdCBmaWxlX3N0cnVjdCAq KmZpbGUxLCBzdHJ1Y3QgZmlsZV9zdHJ1Y3QgKipmaWxlMikKKyt7CisrCXN0cnVjdCBmaWxlX3N0 cnVjdCAqZjEgPSAqZmlsZTE7CisrCXN0cnVjdCBmaWxlX3N0cnVjdCAqZjIgPSAqZmlsZTI7Cisr CWludDY0IGxlbjEgPSBGX0xFTkdUSChmMSksIGxlbjIgPSBGX0xFTkdUSChmMik7CisrCWludCBk aWZmOworKworKwlpZiAoIWYxLT5iYXNlbmFtZSB8fCAhU19JU1JFRyhmMS0+bW9kZSkgfHwgIWxl bjEpIHsKKysJCWlmICghZjItPmJhc2VuYW1lIHx8ICFTX0lTUkVHKGYyLT5tb2RlKSB8fCAhbGVu MikKKysJCQlyZXR1cm4gMDsKKysJCXJldHVybiAxOworKwl9CisrCWlmICghZjItPmJhc2VuYW1l IHx8ICFTX0lTUkVHKGYyLT5tb2RlKSB8fCAhbGVuMikKKysJCXJldHVybiAtMTsKKysKKysJLyog RG9uJ3QgdXNlIGRpZmYgZm9yIHZhbHVlcyB0aGF0IGFyZSBsb25nZXIgdGhhbiBhbiBpbnQuICov CisrCWlmIChsZW4xICE9IGxlbjIpCisrCQlyZXR1cm4gbGVuMSA8IGxlbjIgPyAtMSA6IDE7Cisr CisrCWlmIChhbHdheXNfY2hlY2tzdW0pIHsKKysJCWRpZmYgPSB1X21lbWNtcChGX1NVTShmMSks IEZfU1VNKGYyKSwgZmxpc3RfY3N1bV9sZW4pOworKwkJaWYgKGRpZmYpCisrCQkJcmV0dXJuIGRp ZmY7CisrCX0gZWxzZSBpZiAoZjEtPm1vZHRpbWUgIT0gZjItPm1vZHRpbWUpCisrCQlyZXR1cm4g ZjEtPm1vZHRpbWUgPCBmMi0+bW9kdGltZSA/IC0xIDogMTsKKysKKysJZGlmZiA9IHVfc3RyY21w KGYxLT5iYXNlbmFtZSwgZjItPmJhc2VuYW1lKTsKKysJaWYgKGRpZmYpCisrCQlyZXR1cm4gZGlm ZjsKKysKKysJaWYgKGYxLT5kaXJuYW1lID09IGYyLT5kaXJuYW1lKQorKwkJcmV0dXJuIDA7Cisr CWlmICghZjEtPmRpcm5hbWUpCisrCQlyZXR1cm4gLTE7CisrCWlmICghZjItPmRpcm5hbWUpCisr CQlyZXR1cm4gMTsKKysJcmV0dXJuIHVfc3RyY21wKGYxLT5kaXJuYW1lLCBmMi0+ZGlybmFtZSk7 CisrfQorKworIHN0YXRpYyB2b2lkIHNlbmRfZGlyZWN0b3J5KGludCBmLCBzdHJ1Y3QgZmlsZV9s aXN0ICpmbGlzdCwKKyAJCQkgICBjaGFyICpmYnVmLCBpbnQgbGVuLCBpbnQgZmxhZ3MpOworIAor QEAgLTI3MzUsNiArMjc3NywyMyBAQCBzdHJ1Y3QgZmlsZV9saXN0ICpyZWN2X2ZpbGVfbGlzdChp bnQgZiwgaW50IGRpcl9uZHgpCisgCSAqIGZvciBhIG5vbi1yZWxhdGl2ZSB0cmFuc2ZlciBpbiBy ZWN2X2ZpbGVfZW50cnkoKS4gKi8KKyAJZmxpc3Rfc29ydF9hbmRfY2xlYW4oZmxpc3QsIHJlbGF0 aXZlX3BhdGhzKTsKKyAKKysJaWYgKGRldGVjdF9yZW5hbWVkKSB7CisrCQlpbnQgaiA9IGZsaXN0 LT51c2VkOworKwkJdGhlX2ZhdHRyX2xpc3QudXNlZCA9IGo7CisrCQl0aGVfZmF0dHJfbGlzdC5m aWxlcyA9IG5ld19hcnJheShzdHJ1Y3QgZmlsZV9zdHJ1Y3QgKiwgaik7CisrCQltZW1jcHkodGhl X2ZhdHRyX2xpc3QuZmlsZXMsIGZsaXN0LT5maWxlcywKKysJCSAgICAgICBqICogc2l6ZW9mIChz dHJ1Y3QgZmlsZV9zdHJ1Y3QgKikpOworKwkJcXNvcnQodGhlX2ZhdHRyX2xpc3QuZmlsZXMsIGos CisrCQkgICAgICBzaXplb2YgdGhlX2ZhdHRyX2xpc3QuZmlsZXNbMF0sIChpbnQgKCopKGNvbnN0 IHZvaWQgKiwgY29uc3Qgdm9pZCAqKSlmYXR0cl9jb21wYXJlKTsKKysJCXRoZV9mYXR0cl9saXN0 LmxvdyA9IDA7CisrCQl3aGlsZSAoai0tID4gMCkgeworKwkJCXN0cnVjdCBmaWxlX3N0cnVjdCAq ZnAgPSB0aGVfZmF0dHJfbGlzdC5maWxlc1tqXTsKKysJCQlpZiAoZnAtPmJhc2VuYW1lICYmIFNf SVNSRUcoZnAtPm1vZGUpICYmIEZfTEVOR1RIKGZwKSkKKysJCQkJYnJlYWs7CisrCQl9CisrCQl0 aGVfZmF0dHJfbGlzdC5oaWdoID0gajsKKysJfQorKworIAlpZiAocHJvdG9jb2xfdmVyc2lvbiA8 IDMwKSB7CisgCQkvKiBSZWN2IHRoZSBpb19lcnJvciBmbGFnICovCisgCQlpbnQgZXJyID0gcmVh ZF9pbnQoZik7CitkaWZmIC0tZ2l0IGEvZ2VuZXJhdG9yLmMgYi9nZW5lcmF0b3IuYworLS0tIGEv Z2VuZXJhdG9yLmMKKysrKyBiL2dlbmVyYXRvci5jCitAQCAtODEsNiArODEsNyBAQCBleHRlcm4g aW50IGFsd2F5c19jaGVja3N1bTsKKyBleHRlcm4gaW50IGZsaXN0X2NzdW1fbGVuOworIGV4dGVy biBjaGFyICpwYXJ0aWFsX2RpcjsKKyBleHRlcm4gaW50IGFsdF9kZXN0X3R5cGU7CisrZXh0ZXJu IGludCBkZXRlY3RfcmVuYW1lZDsKKyBleHRlcm4gaW50IHdob2xlX2ZpbGU7CisgZXh0ZXJuIGlu dCBsaXN0X29ubHk7CisgZXh0ZXJuIGludCByZWFkX2JhdGNoOworQEAgLTk5LDExICsxMDAsMTMg QEAgZXh0ZXJuIGNoYXIgKnRtcGRpcjsKKyBleHRlcm4gY2hhciAqYmFzaXNfZGlyW01BWF9CQVNJ U19ESVJTKzFdOworIGV4dGVybiBzdHJ1Y3QgZmlsZV9saXN0ICpjdXJfZmxpc3QsICpmaXJzdF9m bGlzdCwgKmRpcl9mbGlzdDsKKyBleHRlcm4gZmlsdGVyX3J1bGVfbGlzdCBmaWx0ZXJfbGlzdCwg ZGFlbW9uX2ZpbHRlcl9saXN0OworK2V4dGVybiBzdHJ1Y3QgZmlsZV9saXN0IHRoZV9mYXR0cl9s aXN0OworIAorIGludCBtYXliZV9BVFRSU19SRVBPUlQgPSAwOworIGludCBtYXliZV9BVFRSU19B Q0NVUkFURV9USU1FID0gMDsKKyAKKyBzdGF0aWMgZGV2X3QgZGV2X3plcm87Cisrc3RhdGljIGlu dCB1bmV4cGxvcmVkX2RpcnMgPSAxOworIHN0YXRpYyBpbnQgZGVsZGVsYXlfc2l6ZSA9IDAsIGRl bGRlbGF5X2NudCA9IDA7Cisgc3RhdGljIGNoYXIgKmRlbGRlbGF5X2J1ZiA9IE5VTEw7Cisgc3Rh dGljIGludCBkZWxkZWxheV9mZCA9IC0xOworQEAgLTI2OCwxNCArMjcxLDE5IEBAIHN0YXRpYyB2 b2lkIGRvX2RlbGF5ZWRfZGVsZXRpb25zKGNoYXIgKmRlbGJ1ZikKKyAgKiBhbGwgdGhlIC0tZGVs ZXRlLVdIRU4gb3B0aW9ucy4gIE5vdGUgdGhhdCB0aGUgZmJ1ZiBwb2ludGVyIG11c3QgcG9pbnQg dG8gYQorICAqIE1BWFBBVEhMRU4gYnVmZmVyIHdpdGggdGhlIG5hbWUgb2YgdGhlIGRpcmVjdG9y eSBpbiBpdCAodGhlIGZ1bmN0aW9ucyB3ZQorICAqIGNhbGwgd2lsbCBhcHBlbmQgbmFtZXMgb250 byB0aGUgZW5kLCBidXQgdGhlIG9sZCBkaXIgdmFsdWUgd2lsbCBiZSByZXN0b3JlZAorLSAqIG9u IGV4aXQpLiAqLworLXN0YXRpYyB2b2lkIGRlbGV0ZV9pbl9kaXIoY2hhciAqZmJ1Ziwgc3RydWN0 IGZpbGVfc3RydWN0ICpmaWxlLCBkZXZfdCBmc19kZXYpCisrICogb24gZXhpdCkuCisrICoKKysg KiBOb3RlOiAgLS1kZXRlY3QtcmVuYW1lIG1heSB1c2UgdGhpcyByb3V0aW5lIHdpdGggREVMX05P X0RFTEVUSU9OUyBzZXQhCisrICovCisrc3RhdGljIHZvaWQgZGVsZXRlX2luX2RpcihjaGFyICpm YnVmLCBzdHJ1Y3QgZmlsZV9zdHJ1Y3QgKmZpbGUsIGRldl90IGZzX2RldiwKKysJCQkgIGludCBk ZWxfZmxhZ3MpCisgeworIAlzdGF0aWMgaW50IGFscmVhZHlfd2FybmVkID0gMDsKKyAJc3RhdGlj IHN0cnVjdCBoYXNodGFibGUgKmRldl90Ymw7CisgCXN0cnVjdCBmaWxlX2xpc3QgKmRpcmxpc3Q7 CistCWNoYXIgZGVsYnVmW01BWFBBVEhMRU5dOworLQlpbnQgZGxlbiwgaTsKKysJY2hhciAqcCwg ZGVsYnVmW01BWFBBVEhMRU5dOworKwl1bnNpZ25lZCByZW1haW5kZXI7CisrCWludCBkbGVuLCBp LCByZXN0b3JlX2RvdCA9IDA7CisgCisgCWlmICghZmJ1ZikgeworIAkJY2hhbmdlX2xvY2FsX2Zp bHRlcl9kaXIoTlVMTCwgMCwgMCk7CitAQCAtMjg5LDE3ICsyOTcsMjIgQEAgc3RhdGljIHZvaWQg ZGVsZXRlX2luX2RpcihjaGFyICpmYnVmLCBzdHJ1Y3QgZmlsZV9zdHJ1Y3QgKmZpbGUsIGRldl90 IGZzX2RldikKKyAJCW1heWJlX3NlbmRfa2VlcGFsaXZlKHRpbWUoTlVMTCksIE1TS19BTExPV19G TFVTSCk7CisgCisgCWlmIChpb19lcnJvciAmIElPRVJSX0dFTkVSQUwgJiYgIWlnbm9yZV9lcnJv cnMpIHsKKy0JCWlmIChhbHJlYWR5X3dhcm5lZCkKKysJCWlmICghYWxyZWFkeV93YXJuZWQpIHsK KysJCQlycHJpbnRmKEZJTkZPLAorKwkJCSAgICAiSU8gZXJyb3IgZW5jb3VudGVyZWQgLS0gc2tp cHBpbmcgZmlsZSBkZWxldGlvblxuIik7CisrCQkJYWxyZWFkeV93YXJuZWQgPSAxOworKwkJfQor KwkJaWYgKCFkZXRlY3RfcmVuYW1lZCkKKyAJCQlyZXR1cm47CistCQlycHJpbnRmKEZJTkZPLAor LQkJCSJJTyBlcnJvciBlbmNvdW50ZXJlZCAtLSBza2lwcGluZyBmaWxlIGRlbGV0aW9uXG4iKTsK Ky0JCWFscmVhZHlfd2FybmVkID0gMTsKKy0JCXJldHVybjsKKysJCWRlbF9mbGFncyB8PSBERUxf Tk9fREVMRVRJT05TOworIAl9CisgCisgCWRsZW4gPSBzdHJsZW4oZmJ1Zik7CisgCWNoYW5nZV9s b2NhbF9maWx0ZXJfZGlyKGZidWYsIGRsZW4sIEZfREVQVEgoZmlsZSkpOworIAorKwlpZiAoZGV0 ZWN0X3JlbmFtZWQpCisrCQl1bmV4cGxvcmVkX2RpcnMtLTsKKysKKyAJaWYgKG9uZV9maWxlX3N5 c3RlbSkgeworIAkJaWYgKCFkZXZfdGJsKQorIAkJCWRldl90YmwgPSBoYXNodGFibGVfY3JlYXRl KDE2LCBIVF9LRVk2NCk7CitAQCAtMzE1LDYgKzMyOCwxNCBAQCBzdGF0aWMgdm9pZCBkZWxldGVf aW5fZGlyKGNoYXIgKmZidWYsIHN0cnVjdCBmaWxlX3N0cnVjdCAqZmlsZSwgZGV2X3QgZnNfZGV2 KQorIAorIAlkaXJsaXN0ID0gZ2V0X2Rpcmxpc3QoZmJ1ZiwgZGxlbiwgMCk7CisgCisrCXAgPSBm YnVmICsgZGxlbjsKKysJaWYgKGRsZW4gPT0gMSAmJiAqZmJ1ZiA9PSAnLicpIHsKKysJCXJlc3Rv cmVfZG90ID0gMTsKKysJCXAgPSBmYnVmOworKwl9IGVsc2UgaWYgKGRsZW4gIT0gMSB8fCAqZmJ1 ZiAhPSAnLycpCisrCQkqcCsrID0gJy8nOworKwlyZW1haW5kZXIgPSBNQVhQQVRITEVOIC0gKHAg LSBmYnVmKTsKKysKKyAJLyogSWYgYW4gaXRlbSBpbiBkaXJsaXN0IGlzIG5vdCBmb3VuZCBpbiBm bGlzdCwgZGVsZXRlIGl0CisgCSAqIGZyb20gdGhlIGZpbGVzeXN0ZW0uICovCisgCWZvciAoaSA9 IGRpcmxpc3QtPnVzZWQ7IGktLTsgKSB7CitAQCAtMzI3LDYgKzM0OCwxMCBAQCBzdGF0aWMgdm9p ZCBkZWxldGVfaW5fZGlyKGNoYXIgKmZidWYsIHN0cnVjdCBmaWxlX3N0cnVjdCAqZmlsZSwgZGV2 X3QgZnNfZGV2KQorIAkJCQkJZl9uYW1lKGZwLCBOVUxMKSk7CisgCQkJY29udGludWU7CisgCQl9 CisrCQlpZiAoZGV0ZWN0X3JlbmFtZWQgJiYgU19JU1JFRyhmcC0+bW9kZSkpIHsKKysJCQlzdHJs Y3B5KHAsIGZwLT5iYXNlbmFtZSwgcmVtYWluZGVyKTsKKysJCQlsb29rX2Zvcl9yZW5hbWUoZnAs IGZidWYpOworKwkJfQorIAkJLyogSGVyZSB3ZSB3YW50IHRvIG1hdGNoIHJlZ2FyZGxlc3Mgb2Yg ZmlsZSB0eXBlLiAgUmVwbGFjZW1lbnQKKyAJCSAqIG9mIGEgZmlsZSB3aXRoIG9uZSBvZiBhbm90 aGVyIHR5cGUgaXMgaGFuZGxlZCBzZXBhcmF0ZWx5IGJ5CisgCQkgKiBhIGRlbGV0ZV9pdGVtIGNh bGwgd2l0aCBhIERFTF9NQUtFX1JPT00gZmxhZy4gKi8KK0BAIC0zMzUsMTQgKzM2MCwxOSBAQCBz dGF0aWMgdm9pZCBkZWxldGVfaW5fZGlyKGNoYXIgKmZidWYsIHN0cnVjdCBmaWxlX3N0cnVjdCAq ZmlsZSwgZGV2X3QgZnNfZGV2KQorIAkJCWlmICghKGZwLT5tb2RlICYgU19JV1VTUikgJiYgIWFt X3Jvb3QgJiYgZnAtPmZsYWdzICYgRkxBR19PV05FRF9CWV9VUykKKyAJCQkJZmxhZ3MgfD0gREVM X05PX1VJRF9XUklURTsKKyAJCQlmX25hbWUoZnAsIGRlbGJ1Zik7CistCQkJaWYgKGRlbGV0ZV9k dXJpbmcgPT0gMikgeworLQkJCQlpZiAoIXJlbWVtYmVyX2RlbGV0ZShmcCwgZGVsYnVmLCBmbGFn cykpCisrCQkJaWYgKGRlbGV0ZV9kdXJpbmcgPT0gMiAmJiAhKGRlbF9mbGFncyAmIERFTF9OT19E RUxFVElPTlMpKSB7CisrCQkJCWlmICghcmVtZW1iZXJfZGVsZXRlKGZwLCBkZWxidWYsIGRlbF9m bGFncyB8IGZsYWdzKSkKKyAJCQkJCWJyZWFrOworIAkJCX0gZWxzZQorLQkJCQlkZWxldGVfaXRl bShkZWxidWYsIGZwLT5tb2RlLCBmbGFncyk7CistCQl9CisrCQkJCWRlbGV0ZV9pdGVtKGRlbGJ1 ZiwgZnAtPm1vZGUsIGRlbF9mbGFncyB8IGZsYWdzKTsKKysJCX0gZWxzZSBpZiAoZGV0ZWN0X3Jl bmFtZWQgJiYgU19JU0RJUihmcC0+bW9kZSkpCisrCQkJdW5leHBsb3JlZF9kaXJzKys7CisgCX0K KyAKKysJaWYgKHJlc3RvcmVfZG90KQorKwkJZmJ1ZlswXSA9ICcuJzsKKysJZmJ1ZltkbGVuXSA9 ICdcMCc7CisrCisgCWZsaXN0X2ZyZWUoZGlybGlzdCk7CisgfQorIAorQEAgLTM3OCwxNCArNDA4 LDEyNSBAQCBzdGF0aWMgdm9pZCBkb19kZWxldGVfcGFzcyh2b2lkKQorIAkJIHx8ICFTX0lTRElS KHN0LnN0X21vZGUpKQorIAkJCWNvbnRpbnVlOworIAorLQkJZGVsZXRlX2luX2RpcihmYnVmLCBm aWxlLCBzdC5zdF9kZXYpOworKwkJZGVsZXRlX2luX2RpcihmYnVmLCBmaWxlLCBzdC5zdF9kZXYs IDApOworIAl9CistCWRlbGV0ZV9pbl9kaXIoTlVMTCwgTlVMTCwgZGV2X3plcm8pOworKwlkZWxl dGVfaW5fZGlyKE5VTEwsIE5VTEwsIGRldl96ZXJvLCAwKTsKKyAKKyAJaWYgKElORk9fR1RFKEZM SVNULCAyKSAmJiAhYW1fc2VydmVyKQorIAkJcnByaW50ZihGSU5GTywgIiAgICAgICAgICAgICAg ICAgICAgXHIiKTsKKyB9CisgCisrLyogU2VhcmNoIGZvciBhIHJlZ3VsYXIgZmlsZSB0aGF0IG1h dGNoZXMgZWl0aGVyICgxKSB0aGUgc2l6ZSAmIG1vZGlmaWVkCisrICogdGltZSAocGx1cyB0aGUg YmFzZW5hbWUsIGlmIHBvc3NpYmxlKSBvciAoMikgdGhlIHNpemUgJiBjaGVja3N1bS4gIElmCisr ICogd2UgZmluZCBhbiBleGFjdCBtYXRjaCBkb3duIHRvIHRoZSBkaXJuYW1lLCByZXR1cm4gLTEg YmVjYXVzZSB3ZSBmb3VuZAorKyAqIGFuIHVwLXRvLWRhdGUgZmlsZSBpbiB0aGUgdHJhbnNmZXIs IG5vdCBhIHJlbmFtZWQgZmlsZS4gKi8KKytzdGF0aWMgaW50IGZhdHRyX2ZpbmQoc3RydWN0IGZp bGVfc3RydWN0ICpmLCBjaGFyICpmbmFtZSkKKyt7CisrCWludCBsb3cgPSB0aGVfZmF0dHJfbGlz dC5sb3csIGhpZ2ggPSB0aGVfZmF0dHJfbGlzdC5oaWdoOworKwlpbnQgbWlkLCBva19tYXRjaCA9 IC0xLCBnb29kX21hdGNoID0gLTE7CisrCXN0cnVjdCBmaWxlX3N0cnVjdCAqZm1pZDsKKysJaW50 IGRpZmY7CisrCisrCXdoaWxlIChsb3cgPD0gaGlnaCkgeworKwkJbWlkID0gKGxvdyArIGhpZ2gp IC8gMjsKKysJCWZtaWQgPSB0aGVfZmF0dHJfbGlzdC5maWxlc1ttaWRdOworKwkJaWYgKEZfTEVO R1RIKGZtaWQpICE9IEZfTEVOR1RIKGYpKSB7CisrCQkJaWYgKEZfTEVOR1RIKGZtaWQpIDwgRl9M RU5HVEgoZikpCisrCQkJCWxvdyA9IG1pZCArIDE7CisrCQkJZWxzZQorKwkJCQloaWdoID0gbWlk IC0gMTsKKysJCQljb250aW51ZTsKKysJCX0KKysJCWlmIChhbHdheXNfY2hlY2tzdW0pIHsKKysJ CQkvKiBXZSB1c2UgdGhlIEZMQUdfRklMRV9TRU5UIGZsYWcgdG8gaW5kaWNhdGUgd2hlbiB3ZQor KwkJCSAqIGhhdmUgY29tcHV0ZWQgdGhlIGNoZWNrc3VtIGZvciBhbiBlbnRyeS4gKi8KKysJCQlp ZiAoIShmLT5mbGFncyAmIEZMQUdfRklMRV9TRU5UKSkgeworKwkJCQlTVFJVQ1RfU1RBVCBzdDsK KysJCQkJaWYgKGZtaWQtPm1vZHRpbWUgPT0gZi0+bW9kdGltZQorKwkJCQkgJiYgZl9uYW1lX2Nt cChmbWlkLCBmKSA9PSAwKQorKwkJCQkJcmV0dXJuIC0xOyAvKiBhc3N1bWUgd2UgY2FuJ3QgaGVs cCAqLworKwkJCQlzdC5zdF9zaXplID0gRl9MRU5HVEgoZik7CisrCQkJCXN0LnN0X210aW1lID0g Zi0+bW9kdGltZTsKKysJCQkJZmlsZV9jaGVja3N1bShmbmFtZSwgJnN0LCBGX1NVTShmKSk7Cisr CQkJCWYtPmZsYWdzIHw9IEZMQUdfRklMRV9TRU5UOworKwkJCX0KKysJCQlkaWZmID0gdV9tZW1j bXAoRl9TVU0oZm1pZCksIEZfU1VNKGYpLCBmbGlzdF9jc3VtX2xlbik7CisrCQkJaWYgKGRpZmYp IHsKKysJCQkJaWYgKGRpZmYgPCAwKQorKwkJCQkJbG93ID0gbWlkICsgMTsKKysJCQkJZWxzZQor KwkJCQkJaGlnaCA9IG1pZCAtIDE7CisrCQkJCWNvbnRpbnVlOworKwkJCX0KKysJCX0gZWxzZSB7 CisrCQkJaWYgKGZtaWQtPm1vZHRpbWUgIT0gZi0+bW9kdGltZSkgeworKwkJCQlpZiAoZm1pZC0+ bW9kdGltZSA8IGYtPm1vZHRpbWUpCisrCQkJCQlsb3cgPSBtaWQgKyAxOworKwkJCQllbHNlCisr CQkJCQloaWdoID0gbWlkIC0gMTsKKysJCQkJY29udGludWU7CisrCQkJfQorKwkJfQorKwkJb2tf bWF0Y2ggPSBtaWQ7CisrCQlkaWZmID0gdV9zdHJjbXAoZm1pZC0+YmFzZW5hbWUsIGYtPmJhc2Vu YW1lKTsKKysJCWlmIChkaWZmID09IDApIHsKKysJCQlnb29kX21hdGNoID0gbWlkOworKwkJCWlm IChmbWlkLT5kaXJuYW1lID09IGYtPmRpcm5hbWUpCisrCQkJCXJldHVybiAtMTsgLyogZmlsZSBp cyB1cC10by1kYXRlICovCisrCQkJaWYgKCFmbWlkLT5kaXJuYW1lKSB7CisrCQkJCWxvdyA9IG1p ZCArIDE7CisrCQkJCWNvbnRpbnVlOworKwkJCX0KKysJCQlpZiAoIWYtPmRpcm5hbWUpIHsKKysJ CQkJaGlnaCA9IG1pZCAtIDE7CisrCQkJCWNvbnRpbnVlOworKwkJCX0KKysJCQlkaWZmID0gdV9z dHJjbXAoZm1pZC0+ZGlybmFtZSwgZi0+ZGlybmFtZSk7CisrCQkJaWYgKGRpZmYgPT0gMCkKKysJ CQkJcmV0dXJuIC0xOyAvKiBmaWxlIGlzIHVwLXRvLWRhdGUgKi8KKysJCX0KKysJCWlmIChkaWZm IDwgMCkKKysJCQlsb3cgPSBtaWQgKyAxOworKwkJZWxzZQorKwkJCWhpZ2ggPSBtaWQgLSAxOwor Kwl9CisrCisrCXJldHVybiBnb29kX21hdGNoID49IDAgPyBnb29kX21hdGNoIDogb2tfbWF0Y2g7 CisrfQorKworK3ZvaWQgbG9va19mb3JfcmVuYW1lKHN0cnVjdCBmaWxlX3N0cnVjdCAqZmlsZSwg Y2hhciAqZm5hbWUpCisreworKwlzdHJ1Y3QgZmlsZV9zdHJ1Y3QgKmZwOworKwljaGFyICpwYXJ0 aWFscHRyLCAqZm47CisrCVNUUlVDVF9TVEFUIHN0OworKwlpbnQgbmR4OworKworKwlpZiAoIXBh cnRpYWxfZGlyIHx8IChuZHggPSBmYXR0cl9maW5kKGZpbGUsIGZuYW1lKSkgPCAwKQorKwkJcmV0 dXJuOworKworKwlmcCA9IHRoZV9mYXR0cl9saXN0LmZpbGVzW25keF07CisrCWZuID0gZl9uYW1l KGZwLCBOVUxMKTsKKysJLyogV2UgZG9uJ3QgcHJvdmlkZSBhbiBhbHRlcm5hdGUtYmFzaXMgZmls ZSBpZiB0aGVyZSBpcyBhIGJhc2lzIGZpbGUuICovCisrCWlmIChsaW5rX3N0YXQoZm4sICZzdCwg MCkgPT0gMCkKKysJCXJldHVybjsKKysKKysJaWYgKCFkcnlfcnVuKSB7CisrCQlpZiAoKHBhcnRp YWxwdHIgPSBwYXJ0aWFsX2Rpcl9mbmFtZShmbikpID09IE5VTEwKKysJCSB8fCAhaGFuZGxlX3Bh cnRpYWxfZGlyKHBhcnRpYWxwdHIsIFBESVJfQ1JFQVRFKSkKKysJCQlyZXR1cm47CisrCQkvKiBX ZSBvbmx5IHVzZSB0aGUgZmlsZSBpZiB3ZSBjYW4gaGFyZC1saW5rIGl0IGludG8gb3VyIHRtcCBk aXIuICovCisrCQlpZiAobGluayhmbmFtZSwgcGFydGlhbHB0cikgIT0gMCkgeworKwkJCWlmIChl cnJubyAhPSBFRVhJU1QpCisrCQkJCWhhbmRsZV9wYXJ0aWFsX2RpcihwYXJ0aWFscHRyLCBQRElS X0RFTEVURSk7CisrCQkJcmV0dXJuOworKwkJfQorKwl9CisrCisrCS8qIEkgdGhpbmsgdGhpcyBm YWxscyBpbnRvIHRoZSAtdnYgY2F0ZWdvcnkgd2l0aCAiJXMgaXMgdXB0b2RhdGUiLCBldGMuICov CisrCWlmIChJTkZPX0dURShNSVNDLCAyKSkKKysJCXJwcmludGYoRklORk8sICJmb3VuZCByZW5h bWVkOiAlcyA9PiAlc1xuIiwgZm5hbWUsIGZuKTsKKyt9CisrCisgc3RhdGljIGlubGluZSBpbnQg bXRpbWVfZGlmZmVycyhTVFJVQ1RfU1RBVCAqc3RwLCBzdHJ1Y3QgZmlsZV9zdHJ1Y3QgKmZpbGUp CisgeworICNpZmRlZiBTVF9NVElNRV9OU0VDCitAQCAtMTE4Miw2ICsxMzIzLDcgQEAgc3RhdGlj IHZvaWQgbGlzdF9maWxlX2VudHJ5KHN0cnVjdCBmaWxlX3N0cnVjdCAqZikKKyAJfQorIH0KKyAK KytzdGF0aWMgc3RydWN0IGJpdGJhZyAqZGVsYXllZF9iaXRzID0gTlVMTDsKKyBzdGF0aWMgaW50 IHBoYXNlID0gMDsKKyBzdGF0aWMgaW50IGRmbHRfcGVybXM7CisgCitAQCAtMTMxOCw3ICsxNDYw LDcgQEAgc3RhdGljIHZvaWQgcmVjdl9nZW5lcmF0b3IoY2hhciAqZm5hbWUsIHN0cnVjdCBmaWxl X3N0cnVjdCAqZmlsZSwgaW50IG5keCwKKyAJCQkgJiYgZG9fc3RhdF9hdChkbiwgJnN4LnN0KSA8 IDApIHsKKyAJCQkJaWYgKGRyeV9ydW4pCisgCQkJCQlnb3RvIHBhcmVudF9pc19kcnlfbWlzc2lu ZzsKKy0JCQkJaWYgKG1ha2VfcGF0aChmbmFtZSwgTUtQX0RST1BfTkFNRSB8IE1LUF9TS0lQX1NM QVNIKSA8IDApIHsKKysJCQkJaWYgKG1ha2VfcGF0aChmbmFtZSwgQUNDRVNTUEVSTVMsIE1LUF9E Uk9QX05BTUUgfCBNS1BfU0tJUF9TTEFTSCkgPCAwKSB7CisgCQkJCQlyc3lzZXJyKEZFUlJPUl9Y RkVSLCBlcnJubywKKyAJCQkJCQkicmVjdl9nZW5lcmF0b3I6IG1rZGlyICVzIGZhaWxlZCIsCisg CQkJCQkJZnVsbF9mbmFtZShkbikpOworQEAgLTE0NzEsNyArMTYxMyw3IEBAIHN0YXRpYyB2b2lk IHJlY3ZfZ2VuZXJhdG9yKGNoYXIgKmZuYW1lLCBzdHJ1Y3QgZmlsZV9zdHJ1Y3QgKmZpbGUsIGlu dCBuZHgsCisgCQl9CisgCQlpZiAocmVhbF9yZXQgIT0gMCAmJiBkb19ta2Rpcl9hdChmbmFtZSxm aWxlLT5tb2RlfGFkZGVkX3Blcm1zKSA8IDAgJiYgZXJybm8gIT0gRUVYSVNUKSB7CisgCQkJaWYg KCFyZWxhdGl2ZV9wYXRocyB8fCBlcnJubyAhPSBFTk9FTlQKKy0JCQkgfHwgbWFrZV9wYXRoKGZu YW1lLCBNS1BfRFJPUF9OQU1FIHwgTUtQX1NLSVBfU0xBU0gpIDwgMAorKwkJCSB8fCBtYWtlX3Bh dGgoZm5hbWUsIEFDQ0VTU1BFUk1TLCBNS1BfRFJPUF9OQU1FIHwgTUtQX1NLSVBfU0xBU0gpIDwg MAorIAkJCSB8fCAoZG9fbWtkaXJfYXQoZm5hbWUsIGZpbGUtPm1vZGV8YWRkZWRfcGVybXMpIDwg MCAmJiBlcnJubyAhPSBFRVhJU1QpKSB7CisgCQkJCXJzeXNlcnIoRkVSUk9SX1hGRVIsIGVycm5v LAorIAkJCQkJInJlY3ZfZ2VuZXJhdG9yOiBta2RpciAlcyBmYWlsZWQiLAorQEAgLTE1MTksOSAr MTY2MSwxMiBAQCBzdGF0aWMgdm9pZCByZWN2X2dlbmVyYXRvcihjaGFyICpmbmFtZSwgc3RydWN0 IGZpbGVfc3RydWN0ICpmaWxlLCBpbnQgbmR4LAorIAkJfQorIAkJZWxzZSBpZiAoZGVsZXRlX2R1 cmluZyAmJiBmX291dCAhPSAtMSAmJiAhcGhhc2UKKyAJCSAgICAmJiAhKGZpbGUtPmZsYWdzICYg RkxBR19NSVNTSU5HX0RJUikpIHsKKy0JCQlpZiAoZmlsZS0+ZmxhZ3MgJiBGTEFHX0NPTlRFTlRf RElSKQorLQkJCQlkZWxldGVfaW5fZGlyKGZuYW1lLCBmaWxlLCByZWFsX3N4LnN0LnN0X2Rldik7 CistCQkJZWxzZQorKwkJCWlmIChmaWxlLT5mbGFncyAmIEZMQUdfQ09OVEVOVF9ESVIpIHsKKysJ CQkJaWYgKGRldGVjdF9yZW5hbWVkICYmIHJlYWxfcmV0ICE9IDApCisrCQkJCQl1bmV4cGxvcmVk X2RpcnMrKzsKKysJCQkJZGVsZXRlX2luX2RpcihmbmFtZSwgZmlsZSwgcmVhbF9zeC5zdC5zdF9k ZXYsCisrCQkJCQkgICAgICBkZWxldGVfZHVyaW5nIDwgMCA/IERFTF9OT19ERUxFVElPTlMgOiAw KTsKKysJCQl9IGVsc2UKKyAJCQkJY2hhbmdlX2xvY2FsX2ZpbHRlcl9kaXIoZm5hbWUsIHN0cmxl bihmbmFtZSksIEZfREVQVEgoZmlsZSkpOworIAkJfQorIAkJcHJpb3JfZGlyX2ZpbGUgPSBmaWxl OworQEAgLTE3ODksOCArMTkzNCwxNCBAQCBzdGF0aWMgdm9pZCByZWN2X2dlbmVyYXRvcihjaGFy ICpmbmFtZSwgc3RydWN0IGZpbGVfc3RydWN0ICpmaWxlLCBpbnQgbmR4LAorIAkJCWdvdG8gY2xl YW51cDsKKyAJCX0KKyAjZW5kaWYKKy0JCWlmIChzdGF0X2Vycm5vID09IEVOT0VOVCkKKysJCWlm IChzdGF0X2Vycm5vID09IEVOT0VOVCkgeworKwkJCWlmIChkZXRlY3RfcmVuYW1lZCAmJiB1bmV4 cGxvcmVkX2RpcnMgPiAwCisrCQkJICYmIEZfTEVOR1RIKGZpbGUpKSB7CisrCQkJCWJpdGJhZ19z ZXRfYml0KGRlbGF5ZWRfYml0cywgbmR4KTsKKysJCQkJcmV0dXJuOworKwkJCX0KKyAJCQlnb3Rv IG5vdGlmeV9vdGhlcnM7CisrCQl9CisgCQlyc3lzZXJyKEZFUlJPUl9YRkVSLCBzdGF0X2Vycm5v LCAicmVjdl9nZW5lcmF0b3I6IGZhaWxlZCB0byBzdGF0ICVzIiwKKyAJCQlmdWxsX2ZuYW1lKGZu YW1lKSk7CisgCQlnb3RvIGNsZWFudXA7CitAQCAtMjI2MCw2ICsyNDExLDEyIEBAIHZvaWQgZ2Vu ZXJhdGVfZmlsZXMoaW50IGZfb3V0LCBjb25zdCBjaGFyICpsb2NhbF9uYW1lKQorIAlpZiAoREVC VUdfR1RFKEdFTlIsIDEpKQorIAkJcnByaW50ZihGSU5GTywgImdlbmVyYXRvciBzdGFydGluZyBw aWQ9JWRcbiIsIChpbnQpZ2V0cGlkKCkpOworIAorKwlpZiAoZGV0ZWN0X3JlbmFtZWQpIHsKKysJ CWRlbGF5ZWRfYml0cyA9IGJpdGJhZ19jcmVhdGUoY3VyX2ZsaXN0LT51c2VkKTsKKysJCWlmICgh ZGVsZXRlX2JlZm9yZSAmJiAhZGVsZXRlX2R1cmluZykKKysJCQlkZWxldGVfZHVyaW5nID0gLTE7 CisrCX0KKysKKyAJaWYgKGRlbGV0ZV9iZWZvcmUgJiYgIXNvbG9fZmlsZSAmJiBjdXJfZmxpc3Qt PnVzZWQgPiAwKQorIAkJZG9fZGVsZXRlX3Bhc3MoKTsKKyAJaWYgKGRlbGV0ZV9kdXJpbmcgPT0g MikgeworQEAgLTIyNjgsNyArMjQyNSw3IEBAIHZvaWQgZ2VuZXJhdGVfZmlsZXMoaW50IGZfb3V0 LCBjb25zdCBjaGFyICpsb2NhbF9uYW1lKQorIAl9CisgCWluZm9fbGV2ZWxzW0lORk9fRkxJU1Rd ID0gaW5mb19sZXZlbHNbSU5GT19QUk9HUkVTU10gPSAwOworIAorLQlpZiAoYXBwZW5kX21vZGUg PiAwIHx8IHdob2xlX2ZpbGUgPCAwKQorKwlpZiAoYXBwZW5kX21vZGUgPiAwIHx8IGRldGVjdF9y ZW5hbWVkIHx8IHdob2xlX2ZpbGUgPCAwKQorIAkJd2hvbGVfZmlsZSA9IDA7CisgCWlmIChERUJV R19HVEUoRkxJU1QsIDEpKSB7CisgCQlycHJpbnRmKEZJTkZPLCAiZGVsdGEtdHJhbnNtaXNzaW9u ICVzXG4iLAorQEAgLTIzMDQsNyArMjQ2MSw3IEBAIHZvaWQgZ2VuZXJhdGVfZmlsZXMoaW50IGZf b3V0LCBjb25zdCBjaGFyICpsb2NhbF9uYW1lKQorIAkJCQkJCWRpcmRldiA9IE1BS0VERVYoREVW X01BSk9SKGRldnApLCBERVZfTUlOT1IoZGV2cCkpOworIAkJCQkJfSBlbHNlCisgCQkJCQkJZGly ZGV2ID0gTUFLRURFVigwLCAwKTsKKy0JCQkJCWRlbGV0ZV9pbl9kaXIoZmJ1ZiwgZnAsIGRpcmRl dik7CisrCQkJCQlkZWxldGVfaW5fZGlyKGZidWYsIGZwLCBkaXJkZXYsIDApOworIAkJCQl9IGVs c2UKKyAJCQkJCWNoYW5nZV9sb2NhbF9maWx0ZXJfZGlyKGZidWYsIHN0cmxlbihmYnVmKSwgRl9E RVBUSChmcCkpOworIAkJCX0KK0BAIC0yMzUxLDcgKzI1MDgsMjEgQEAgdm9pZCBnZW5lcmF0ZV9m aWxlcyhpbnQgZl9vdXQsIGNvbnN0IGNoYXIgKmxvY2FsX25hbWUpCisgCX0gd2hpbGUgKChjdXJf Zmxpc3QgPSBjdXJfZmxpc3QtPm5leHQpICE9IE5VTEwpOworIAorIAlpZiAoZGVsZXRlX2R1cmlu ZykKKy0JCWRlbGV0ZV9pbl9kaXIoTlVMTCwgTlVMTCwgZGV2X3plcm8pOworKwkJZGVsZXRlX2lu X2RpcihOVUxMLCBOVUxMLCBkZXZfemVybywgMCk7CisrCWlmIChkZXRlY3RfcmVuYW1lZCkgewor KwkJaWYgKGRlbGV0ZV9kdXJpbmcgPCAwKQorKwkJCWRlbGV0ZV9kdXJpbmcgPSAwOworKwkJZGV0 ZWN0X3JlbmFtZWQgPSAwOworKworKwkJZm9yIChpID0gLTE7IChpID0gYml0YmFnX25leHRfYml0 KGRlbGF5ZWRfYml0cywgaSkpID49IDA7ICkgeworKwkJCXN0cnVjdCBmaWxlX3N0cnVjdCAqZmls ZSA9IGN1cl9mbGlzdC0+ZmlsZXNbaV07CisrCQkJaWYgKGxvY2FsX25hbWUpCisrCQkJCXN0cmxj cHkoZmJ1ZiwgbG9jYWxfbmFtZSwgc2l6ZW9mIGZidWYpOworKwkJCWVsc2UKKysJCQkJZl9uYW1l KGZpbGUsIGZidWYpOworKwkJCXJlY3ZfZ2VuZXJhdG9yKGZidWYsIGZpbGUsIGksIGl0ZW1pemlu ZywgY29kZSwgZl9vdXQpOworKwkJfQorKwl9CisgCXBoYXNlKys7CisgCWlmIChERUJVR19HVEUo R0VOUiwgMSkpCisgCQlycHJpbnRmKEZJTkZPLCAiZ2VuZXJhdGVfZmlsZXMgcGhhc2U9JWRcbiIs IHBoYXNlKTsKK2RpZmYgLS1naXQgYS9tYWluLmMgYi9tYWluLmMKKy0tLSBhL21haW4uYworKysr IGIvbWFpbi5jCitAQCAtNzI2LDcgKzcyNiw3IEBAIHN0YXRpYyBjaGFyICpnZXRfbG9jYWxfbmFt ZShzdHJ1Y3QgZmlsZV9saXN0ICpmbGlzdCwgY2hhciAqZGVzdF9wYXRoKQorIAorIAlpZiAobWtw YXRoX2Rlc3RfYXJnICYmIHN0YXRyZXQgPCAwICYmIChjcCB8fCBmaWxlX3RvdGFsID4gMSkpIHsK KyAJCWludCBzYXZlX2Vycm5vID0gZXJybm87CistCQlpbnQgcmV0ID0gbWFrZV9wYXRoKGRlc3Rf cGF0aCwgZmlsZV90b3RhbCA+IDEgJiYgIXRyYWlsaW5nX3NsYXNoID8gMCA6IE1LUF9EUk9QX05B TUUpOworKwkJaW50IHJldCA9IG1ha2VfcGF0aChkZXN0X3BhdGgsIEFDQ0VTU1BFUk1TLCBmaWxl X3RvdGFsID4gMSAmJiAhdHJhaWxpbmdfc2xhc2ggPyAwIDogTUtQX0RST1BfTkFNRSk7CisgCQlp ZiAocmV0IDwgMCkKKyAJCQlnb3RvIG1rZGlyX2Vycm9yOworIAkJaWYgKHJldCAmJiAoSU5GT19H VEUoTkFNRSwgMSkgfHwgc3Rkb3V0X2Zvcm1hdF9oYXNfaSkpIHsKK2RpZmYgLS1naXQgYS9vcHRp b25zLmMgYi9vcHRpb25zLmMKKy0tLSBhL29wdGlvbnMuYworKysrIGIvb3B0aW9ucy5jCitAQCAt OTEsNiArOTEsNyBAQCBpbnQgYW1fc2VydmVyID0gMDsKKyBpbnQgYW1fc2VuZGVyID0gMDsKKyBp bnQgYW1fc3RhcnRpbmdfdXAgPSAxOworIGludCByZWxhdGl2ZV9wYXRocyA9IC0xOworK2ludCBk ZXRlY3RfcmVuYW1lZCA9IDA7CisgaW50IGltcGxpZWRfZGlycyA9IDE7CisgaW50IG1pc3Npbmdf YXJncyA9IDA7IC8qIDAgPSBGRVJST1JfWEZFUiwgMSA9IGlnbm9yZSwgMiA9IGRlbGV0ZSAqLwor IGludCBudW1lcmljX2lkcyA9IDA7CitAQCAtNzQzLDYgKzc0NCw3IEBAIHN0YXRpYyBzdHJ1Y3Qg cG9wdE9wdGlvbiBsb25nX29wdGlvbnNbXSA9IHsKKyAgIHsiY29tcGFyZS1kZXN0IiwgICAgIDAs ICBQT1BUX0FSR19TVFJJTkcsIDAsIE9QVF9DT01QQVJFX0RFU1QsIDAsIDAgfSwKKyAgIHsiY29w eS1kZXN0IiwgICAgICAgIDAsICBQT1BUX0FSR19TVFJJTkcsIDAsIE9QVF9DT1BZX0RFU1QsIDAs IDAgfSwKKyAgIHsibGluay1kZXN0IiwgICAgICAgIDAsICBQT1BUX0FSR19TVFJJTkcsIDAsIE9Q VF9MSU5LX0RFU1QsIDAsIDAgfSwKKysgIHsiZGV0ZWN0LXJlbmFtZWQiLCAgIDAsICBQT1BUX0FS R19OT05FLCAgICZkZXRlY3RfcmVuYW1lZCwgMCwgMCwgMCB9LAorICAgeyJmdXp6eSIsICAgICAg ICAgICAneScsIFBPUFRfQVJHX05PTkUsICAgMCwgJ3knLCAwLCAwIH0sCisgICB7Im5vLWZ1enp5 IiwgICAgICAgICAwLCAgUE9QVF9BUkdfVkFMLCAgICAmZnV6enlfYmFzaXMsIDAsIDAsIDAgfSwK KyAgIHsibm8teSIsICAgICAgICAgICAgIDAsICBQT1BUX0FSR19WQUwsICAgICZmdXp6eV9iYXNp cywgMCwgMCwgMCB9LAorQEAgLTI0MDAsNyArMjQwMiw3IEBAIGludCBwYXJzZV9hcmd1bWVudHMo aW50ICphcmdjX3AsIGNvbnN0IGNoYXIgKioqYXJndl9wKQorIAkJaW5wbGFjZSA9IDE7CisgCX0K KyAKKy0JaWYgKGRlbGF5X3VwZGF0ZXMgJiYgIXBhcnRpYWxfZGlyKQorKwlpZiAoKGRlbGF5X3Vw ZGF0ZXMgfHwgZGV0ZWN0X3JlbmFtZWQpICYmICFwYXJ0aWFsX2RpcikKKyAJCXBhcnRpYWxfZGly ID0gdG1wX3BhcnRpYWxkaXI7CisgCisgCWlmIChpbnBsYWNlKSB7CitAQCAtMjQwOSw2ICsyNDEx LDcgQEAgaW50IHBhcnNlX2FyZ3VtZW50cyhpbnQgKmFyZ2NfcCwgY29uc3QgY2hhciAqKiphcmd2 X3ApCisgCQkJc25wcmludGYoZXJyX2J1Ziwgc2l6ZW9mIGVycl9idWYsCisgCQkJCSAiLS0lcyBj YW5ub3QgYmUgdXNlZCB3aXRoIC0tJXNcbiIsCisgCQkJCSBhcHBlbmRfbW9kZSA/ICJhcHBlbmQi IDogImlucGxhY2UiLAorKwkJCQkgZGV0ZWN0X3JlbmFtZWQgPyAiZGV0ZWN0LXJlbmFtZWQiIDoK KyAJCQkJIGRlbGF5X3VwZGF0ZXMgPyAiZGVsYXktdXBkYXRlcyIgOiAicGFydGlhbC1kaXIiKTsK KyAJCQlnb3RvIGNsZWFudXA7CisgCQl9CitAQCAtMjgzNSw2ICsyODM4LDggQEAgdm9pZCBzZXJ2 ZXJfb3B0aW9ucyhjaGFyICoqYXJncywgaW50ICphcmdjX3ApCisgCQkJYXJnc1thYysrXSA9ICIt LXN1cGVyIjsKKyAJCWlmIChzaXplX29ubHkpCisgCQkJYXJnc1thYysrXSA9ICItLXNpemUtb25s eSI7CisrCQlpZiAoZGV0ZWN0X3JlbmFtZWQpCisrCQkJYXJnc1thYysrXSA9ICItLWRldGVjdC1y ZW5hbWVkIjsKKyAJCWlmIChkb19zdGF0cykKKyAJCQlhcmdzW2FjKytdID0gIi0tc3RhdHMiOwor IAl9IGVsc2UgeworZGlmZiAtLWdpdCBhL3JlY2VpdmVyLmMgYi9yZWNlaXZlci5jCistLS0gYS9y ZWNlaXZlci5jCisrKysgYi9yZWNlaXZlci5jCitAQCAtMjIxLDcgKzIyMSw3IEBAIGludCBvcGVu X3RtcGZpbGUoY2hhciAqZm5hbWV0bXAsIGNvbnN0IGNoYXIgKmZuYW1lLCBzdHJ1Y3QgZmlsZV9z dHJ1Y3QgKmZpbGUpCisgCSAqIGluZm9ybWF0aW9uIHNob3VsZCBoYXZlIGJlZW4gcHJldmlvdXNs eSB0cmFuc2ZlcnJlZCwgYnV0IHRoYXQgbWF5CisgCSAqIG5vdCBiZSB0aGUgY2FzZSB3aXRoIC1S ICovCisgCWlmIChmZCA9PSAtMSAmJiByZWxhdGl2ZV9wYXRocyAmJiBlcnJubyA9PSBFTk9FTlQK Ky0JICYmIG1ha2VfcGF0aChmbmFtZXRtcCwgTUtQX1NLSVBfU0xBU0ggfCBNS1BfRFJPUF9OQU1F KSA9PSAwKSB7CisrCSAmJiBtYWtlX3BhdGgoZm5hbWV0bXAsIEFDQ0VTU1BFUk1TLCBNS1BfU0tJ UF9TTEFTSCB8IE1LUF9EUk9QX05BTUUpID09IDApIHsKKyAJCS8qIEdldCBiYWNrIHRvIG5hbWUg d2l0aCBYWFhYWFggaW4gaXQuICovCisgCQlnZXRfdG1wbmFtZShmbmFtZXRtcCwgZm5hbWUsIEZh bHNlKTsKKyAJCWZkID0gZG9fbWtzdGVtcChmbmFtZXRtcCwgKGZpbGUtPm1vZGV8YWRkZWRfcGVy bXMpICYgSU5JVEFDQ0VTU1BFUk1TKTsKK2RpZmYgLS1naXQgYS9yc3luYy4xLm1kIGIvcnN5bmMu MS5tZAorLS0tIGEvcnN5bmMuMS5tZAorKysrIGIvcnN5bmMuMS5tZAorQEAgLTUwNyw2ICs1MDcs NyBAQCBoYXMgaXRzIG93biBkZXRhaWxlZCBkZXNjcmlwdGlvbiBsYXRlciBpbiB0aGlzIG1hbnBh Z2UuCisgLS1tb2RpZnktd2luZG93PU5VTSwgLUAgIHNldCB0aGUgYWNjdXJhY3kgZm9yIG1vZC10 aW1lIGNvbXBhcmlzb25zCisgLS10ZW1wLWRpcj1ESVIsIC1UICAgICAgIGNyZWF0ZSB0ZW1wb3Jh cnkgZmlsZXMgaW4gZGlyZWN0b3J5IERJUgorIC0tZnV6enksIC15ICAgICAgICAgICAgICBmaW5k IHNpbWlsYXIgZmlsZSBmb3IgYmFzaXMgaWYgbm8gZGVzdCBmaWxlCisrLS1kZXRlY3QtcmVuYW1l ZCAgICAgICAgIHRyeSB0byBmaW5kIHJlbmFtZWQgZmlsZXMgdG8gc3BlZWQgdGhlIHhmZXIKKyAt LWNvbXBhcmUtZGVzdD1ESVIgICAgICAgYWxzbyBjb21wYXJlIGRlc3RpbmF0aW9uIGZpbGVzIHJl bGF0aXZlIHRvIERJUgorIC0tY29weS1kZXN0PURJUiAgICAgICAgICAuLi4gYW5kIGluY2x1ZGUg Y29waWVzIG9mIHVuY2hhbmdlZCBmaWxlcworIC0tbGluay1kZXN0PURJUiAgICAgICAgICBoYXJk bGluayB0byBmaWxlcyBpbiBESVIgd2hlbiB1bmNoYW5nZWQKK0BAIC0yNjM1LDYgKzI2MzYsMjIg QEAgZXhwYW5kIGl0LgorICAgICBwb3RlbnRpYWwgZnV6enktbWF0Y2ggZmlsZXMsIHNvIGVpdGhl ciB1c2UgW2AtLWRlbGV0ZS1hZnRlcmBdKCNvcHQpIG9yCisgICAgIHNwZWNpZnkgc29tZSBmaWxl bmFtZSBleGNsdXNpb25zIGlmIHlvdSBuZWVkIHRvIHByZXZlbnQgdGhpcy4KKyAKKyswLiAgYC0t ZGV0ZWN0LXJlbmFtZWRgCisrCisrICAgIFdpdGggdGhpcyBvcHRpb24sIGZvciBlYWNoIG5ldyBz b3VyY2UgZmlsZSAoY2FsbCBpdCBgc3JjL1NgKSwgcnN5bmMgbG9va3MKKysgICAgZm9yIGEgZmls ZSBgZGVzdC9EYCBhbnl3aGVyZSBpbiB0aGUgZGVzdGluYXRpb24gdGhhdCBwYXNzZXMgdGhlIHF1 aWNrIGNoZWNrCisrICAgIHdpdGggYHNyYy9TYC4gIElmIHN1Y2ggYSBgZGVzdC9EYCBpcyBmb3Vu ZCwgcnN5bmMgdXNlcyBpdCBhcyBhbiBhbHRlcm5hdGUKKysgICAgYmFzaXMgZm9yIHRyYW5zZmVy cmluZyBgU2AuICBUaGUgaWRlYSBpcyB0aGF0IGlmIGBzcmMvU2Agd2FzIHJlbmFtZWQgZnJvbQor KyAgICBgc3JjL0RgIChhcyBvcHBvc2VkIHRvIGBzcmMvU2AgcGFzc2luZyB0aGUgcXVpY2sgY2hl Y2sgd2l0aCBgZGVzdC9EYCBieQorKyAgICBjb2luY2lkZW5jZSksIHRoZSBkZWx0YS10cmFuc2Zl ciBhbGdvcml0aG0gd2lsbCBmaW5kIHRoYXQgYWxsIHRoZSBkYXRhCisrICAgIG1hdGNoZXMgYmV0 d2VlbiBgc3JjL1NgIGFuZCBgZGVzdC9EYCwgYW5kIHRoZSB0cmFuc2ZlciB3aWxsIGJlIHJlYWxs eSBmYXN0LgorKworKyAgICBCeSBkZWZhdWx0LCBhbHRlcm5hdGUtYmFzaXMgZmlsZXMgYXJlIGhh cmQtbGlua2VkIGludG8gYSBkaXJlY3RvcnkgbmFtZWQKKysgICAgIi5+dG1wfiIgaW4gZWFjaCBm aWxlJ3MgZGVzdGluYXRpb24gZGlyZWN0b3J5LCBidXQgaWYgeW91J3ZlIHNwZWNpZmllZCB0aGUK KysgICAgW2AtLXBhcnRpYWwtZGlyYF0oI29wdCkgb3B0aW9uLCB0aGF0IGRpcmVjdG9yeSB3aWxs IGJlIHVzZWQgaW5zdGVhZC4gIFRoZXNlCisrICAgIG90ZW50aWFsIGFsdGVybmF0ZS1iYXNpcyBm aWxlcyB3aWxsIGJlIHJlbW92ZWQgYXMgdGhlIHRyYW5zZmVyIHByb2dyZXNzZXMuCisrICAgIFRo aXMgb3B0aW9uIGNvbmZsaWN0cyB3aXRoIFtgLS1pbnBsYWNlYF0oI29wdCkgYW5kIFtgLS1hcHBl bmRgXSgjb3B0KS4KKysKKyAwLiAgYC0tY29tcGFyZS1kZXN0PURJUmAKKyAKKyAgICAgVGhpcyBv cHRpb24gaW5zdHJ1Y3RzIHJzeW5jIHRvIHVzZSBfRElSXyBvbiB0aGUgZGVzdGluYXRpb24gbWFj aGluZSBhcyBhbgorZGlmZiAtLWdpdCBhL3JzeW5jLmggYi9yc3luYy5oCistLS0gYS9yc3luYy5o CisrKysgYi9yc3luYy5oCitAQCAtMjg3LDcgKzI4Nyw3IEBAIGVudW0gZmlsZXR5cGUgeworICNk ZWZpbmUgTkRYX0RFTF9TVEFUUyAtMworICNkZWZpbmUgTkRYX0ZMSVNUX09GRlNFVCAtMTAxCisg CistLyogRm9yIGNhbGxpbmcgZGVsZXRlX2l0ZW0oKSBhbmQgZGVsZXRlX2Rpcl9jb250ZW50cygp LiAqLworKy8qIEZvciBjYWxsaW5nIGRlbGV0ZV9pdGVtKCksIGRlbGV0ZV9kaXJfY29udGVudHMo KSwgYW5kIGRlbGV0ZV9pbl9kaXIoKS4gKi8KKyAjZGVmaW5lIERFTF9OT19VSURfV1JJVEUgCSgx PDwwKSAvKiBmaWxlL2RpciBoYXMgb3VyIHVpZCB3L28gd3JpdGUgcGVybSAqLworICNkZWZpbmUg REVMX1JFQ1VSU0UJCSgxPDwxKSAvKiBpZiBkaXIsIGRlbGV0ZSBhbGwgY29udGVudHMgKi8KKyAj ZGVmaW5lIERFTF9ESVJfSVNfRU1QVFkJKDE8PDIpIC8qIGludGVybmFsIGRlbGV0ZV9GVU5DVElP TlMgdXNlIG9ubHkgKi8KK0BAIC0yOTcsNiArMjk3LDcgQEAgZW51bSBmaWxldHlwZSB7CisgI2Rl ZmluZSBERUxfRk9SX0RFVklDRQkJKDE8PDYpIC8qIG1ha2luZyByb29tIGZvciBhIHJlcGxhY2Vt ZW50IGRldmljZSAqLworICNkZWZpbmUgREVMX0ZPUl9TUEVDSUFMIAkoMTw8NykgLyogbWFraW5n IHJvb20gZm9yIGEgcmVwbGFjZW1lbnQgc3BlY2lhbCAqLworICNkZWZpbmUgREVMX0ZPUl9CQUNL VVAJIAkoMTw8OCkgLyogdGhlIGRlbGV0ZSBpcyBmb3IgYSBiYWNrdXAgb3BlcmF0aW9uICovCisr I2RlZmluZSBERUxfTk9fREVMRVRJT05TCSgxPDw5KSAvKiBqdXN0IGNoZWNrIGZvciByZW5hbWVz IHcvbyBkZWxldGluZyAqLworIAorICNkZWZpbmUgREVMX01BS0VfUk9PTSAoREVMX0ZPUl9GSUxF fERFTF9GT1JfRElSfERFTF9GT1JfU1lNTElOS3xERUxfRk9SX0RFVklDRXxERUxfRk9SX1NQRUNJ QUwpCisgCitkaWZmIC0tZ2l0IGEvdXRpbDEuYyBiL3V0aWwxLmMKKy0tLSBhL3V0aWwxLmMKKysr KyBiL3V0aWwxLmMKK0BAIC0xODMsNyArMTgzLDcgQEAgaW50IHNldF90aW1lcyhjb25zdCBjaGFy ICpmbmFtZSwgU1RSVUNUX1NUQVQgKnN0cCkKKyAvKiBDcmVhdGUgYW55IG5lY2Vzc2FyeSBkaXJl Y3RvcmllcyBpbiBmbmFtZS4gIEFueSBtaXNzaW5nIGRpcmVjdG9yaWVzIGFyZQorICAqIGNyZWF0 ZWQgd2l0aCBkZWZhdWx0IHBlcm1pc3Npb25zLiAgUmV0dXJucyA8IDAgb24gZXJyb3IsIG9yIHRo ZSBudW1iZXIKKyAgKiBvZiBkaXJlY3RvcmllcyBjcmVhdGVkLiAqLworLWludCBtYWtlX3BhdGgo Y2hhciAqZm5hbWUsIGludCBmbGFncykKKytpbnQgbWFrZV9wYXRoKGNoYXIgKmZuYW1lLCBtb2Rl X3QgbW9kZSwgaW50IGZsYWdzKQorIHsKKyAJY2hhciAqZW5kLCAqcDsKKyAJaW50IHJldCA9IDA7 CitAQCAtMjE0LDcgKzIxNCw3IEBAIGludCBtYWtlX3BhdGgoY2hhciAqZm5hbWUsIGludCBmbGFn cykKKyAJCQkJZWxzZQorIAkJCQkJZXJybm8gPSBFTk9URElSOworIAkJCX0KKy0JCX0gZWxzZSBp ZiAoZG9fbWtkaXIoZm5hbWUsIEFDQ0VTU1BFUk1TKSA9PSAwKSB7CisrCQl9IGVsc2UgaWYgKGRv X21rZGlyKGZuYW1lLCBtb2RlKSA9PSAwKSB7CisgCQkJcmV0Kys7CisgCQkJYnJlYWs7CisgCQl9 CitAQCAtMjUzLDcgKzI1Myw3IEBAIGludCBtYWtlX3BhdGgoY2hhciAqZm5hbWUsIGludCBmbGFn cykKKyAJCXAgKz0gc3RybGVuKHApOworIAkJaWYgKHJldCA8IDApIC8qIFNraXAgbWtkaXIgb24g ZXJyb3IsIGJ1dCBrZWVwIHJlc3RvcmluZyB0aGUgcGF0aC4gKi8KKyAJCQljb250aW51ZTsKKy0J CWlmIChkb19ta2RpcihmbmFtZSwgQUNDRVNTUEVSTVMpIDwgMCkKKysJCWlmIChkb19ta2Rpcihm bmFtZSwgbW9kZSkgPCAwKQorIAkJCXJldCA9IC1yZXQgLSAxOworIAkJZWxzZQorIAkJCXJldCsr OworQEAgLTExOTYsNiArMTE5NiwzMiBAQCBjaGFyICpub3JtYWxpemVfcGF0aChjaGFyICpwYXRo LCBCT09MIGZvcmNlX25ld2J1ZiwgdW5zaWduZWQgaW50ICpsZW5fcHRyKQorIAlyZXR1cm4gcGF0 aDsKKyB9CisgCisrLyogV2UgbmVlZCB0byBzdXBwbHkgb3VyIG93biBzdHJjbXAgZnVuY3Rpb24g Zm9yIGZpbGUgbGlzdCBjb21wYXJpc29ucworKyAqIHRvIGVuc3VyZSB0aGF0IHNpZ25lZC91bnNp Z25lZCB1c2FnZSBpcyBjb25zaXN0ZW50IGJldHdlZW4gbWFjaGluZXMuICovCisraW50IHVfc3Ry Y21wKGNvbnN0IGNoYXIgKnAxLCBjb25zdCBjaGFyICpwMikKKyt7CisrICAgICAgICBmb3IgKCA7 ICpwMTsgcDErKywgcDIrKykgeworKwkJaWYgKCpwMSAhPSAqcDIpCisrCQkJYnJlYWs7CisrCX0K KysKKysJcmV0dXJuIChpbnQpKih1Y2hhciopcDEgLSAoaW50KSoodWNoYXIqKXAyOworK30KKysK KysvKiBXZSBuZWVkIGEgbWVtY21wIGZ1bmN0aW9uIGNvbXBhcmVzIHVuc2lnbmVkLWJ5dGUgdmFs dWVzLiAqLworK2ludCB1X21lbWNtcChjb25zdCB2b2lkICpwMSwgY29uc3Qgdm9pZCAqcDIsIHNp emVfdCBsZW4pCisreworKwljb25zdCB1Y2hhciAqdTEgPSBwMTsKKysJY29uc3QgdWNoYXIgKnUy ID0gcDI7CisrCisrCXdoaWxlIChsZW4tLSkgeworKwkJaWYgKCp1MSAhPSAqdTIpCisrCQkJcmV0 dXJuIChpbnQpKnUxIC0gKGludCkqdTI7CisrCX0KKysKKysJcmV0dXJuIDA7CisrfQorKworIC8q KgorICAqIFJldHVybiBhIHF1b3RlZCBzdHJpbmcgd2l0aCB0aGUgZnVsbCBwYXRobmFtZSBvZiB0 aGUgaW5kaWNhdGVkIGZpbGVuYW1lLgorICAqIFRoZSBzdHJpbmcgIiAoaW4gTU9ETkFNRSkiIG1h eSBhbHNvIGJlIGFwcGVuZGVkLiAgVGhlIHJldHVybmVkIHBvaW50ZXIKK0BAIC0xMjg5LDcgKzEz MTUsNyBAQCBpbnQgaGFuZGxlX3BhcnRpYWxfZGlyKGNvbnN0IGNoYXIgKmZuYW1lLCBpbnQgY3Jl YXRlKQorIAkJCX0KKyAJCQlzdGF0cmV0ID0gLTE7CisgCQl9CistCQlpZiAoc3RhdHJldCA8IDAg JiYgZG9fbWtkaXJfYXQoZGlyLCAwNzAwKSA8IDApIHsKKysJCWlmIChzdGF0cmV0IDwgMCAmJiBt YWtlX3BhdGgoZGlyLCAwNzAwLCAwKSA8IDApIHsKKyAJCQkqZm4gPSAnLyc7CisgCQkJcmV0dXJu IDA7CisgCQl9CitkaWZmIC1OdXJwIGEvcnN5bmMuMSBiL3JzeW5jLjEKKy0tLSBhL3JzeW5jLjEK KysrKyBiL3JzeW5jLjEKK0BAIC0xLDUgKzEsNSBAQAorIC5USCAicnN5bmMiICIxIiAiOCBNYXkg MjAyNiIgInJzeW5jIDMuNC4zIiAiVXNlciBDb21tYW5kcyIKKy0uXCIgcHJlZml4PS91c3IKKysu XCIgcHJlZml4PS91c3IvbG9jYWwKKyAuUAorIC5TSCAiTkFNRSIKKyAuUAorQEAgLTYwNiw2ICs2 MDYsNyBAQCBoYXMgaXRzIG93biBkZXRhaWxlZCBkZXNjcmlwdGlvbiBsYXRlciBpCisgLS1tb2Rp Znktd2luZG93PU5VTSwgLUAgIHNldCB0aGUgYWNjdXJhY3kgZm9yIG1vZC10aW1lIGNvbXBhcmlz b25zCisgLS10ZW1wLWRpcj1ESVIsIC1UICAgICAgIGNyZWF0ZSB0ZW1wb3JhcnkgZmlsZXMgaW4g ZGlyZWN0b3J5IERJUgorIC0tZnV6enksIC15ICAgICAgICAgICAgICBmaW5kIHNpbWlsYXIgZmls ZSBmb3IgYmFzaXMgaWYgbm8gZGVzdCBmaWxlCisrLS1kZXRlY3QtcmVuYW1lZCAgICAgICAgIHRy eSB0byBmaW5kIHJlbmFtZWQgZmlsZXMgdG8gc3BlZWQgdGhlIHhmZXIKKyAtLWNvbXBhcmUtZGVz dD1ESVIgICAgICAgYWxzbyBjb21wYXJlIGRlc3RpbmF0aW9uIGZpbGVzIHJlbGF0aXZlIHRvIERJ UgorIC0tY29weS1kZXN0PURJUiAgICAgICAgICAuLi4gYW5kIGluY2x1ZGUgY29waWVzIG9mIHVu Y2hhbmdlZCBmaWxlcworIC0tbGluay1kZXN0PURJUiAgICAgICAgICBoYXJkbGluayB0byBmaWxl cyBpbiBESVIgd2hlbiB1bmNoYW5nZWQKK0BAIC0yNzA0LDYgKzI3MDUsMjAgQEAgYWx0ZXJuYXRl IGRlc3RpbmF0aW9uIGRpcmVjdG9yaWVzIHRoYXQgYXJlIHNwZWNpZmllZCB2aWEKKyBOb3RlIHRo YXQgdGhlIHVzZSBvZiB0aGUgXGZCXC1cLWRlbGV0ZVxmUCBvcHRpb24gbWlnaHQgZ2V0IHJpZCBv ZiBhbnkKKyBwb3RlbnRpYWwgZnV6enktbWF0Y2ggZmlsZXMsIHNvIGVpdGhlciB1c2UgXGZCXC1c LWRlbGV0ZVwtYWZ0ZXJcZlAgb3IKKyBzcGVjaWZ5IHNvbWUgZmlsZW5hbWUgZXhjbHVzaW9ucyBp ZiB5b3UgbmVlZCB0byBwcmV2ZW50IHRoaXMuCisrLklQICJcZkJcLVwtZGV0ZWN0LXJlbmFtZWRc ZlAiCisrV2l0aCB0aGlzIG9wdGlvbiwgZm9yIGVhY2ggbmV3IHNvdXJjZSBmaWxlIChjYWxsIGl0 IFxmQnNyYy9TXGZQKSwgcnN5bmMgbG9va3MKKytmb3IgYSBmaWxlIFxmQmRlc3QvRFxmUCBhbnl3 aGVyZSBpbiB0aGUgZGVzdGluYXRpb24gdGhhdCBwYXNzZXMgdGhlIHF1aWNrIGNoZWNrCisrd2l0 aCBcZkJzcmMvU1xmUC4gIElmIHN1Y2ggYSBcZkJkZXN0L0RcZlAgaXMgZm91bmQsIHJzeW5jIHVz ZXMgaXQgYXMgYW4gYWx0ZXJuYXRlCisrYmFzaXMgZm9yIHRyYW5zZmVycmluZyBcZkJTXGZQLiAg VGhlIGlkZWEgaXMgdGhhdCBpZiBcZkJzcmMvU1xmUCB3YXMgcmVuYW1lZCBmcm9tCisrXGZCc3Jj L0RcZlAgKGFzIG9wcG9zZWQgdG8gXGZCc3JjL1NcZlAgcGFzc2luZyB0aGUgcXVpY2sgY2hlY2sg d2l0aCBcZkJkZXN0L0RcZlAgYnkKKytjb2luY2lkZW5jZSksIHRoZSBkZWx0YS10cmFuc2ZlciBh bGdvcml0aG0gd2lsbCBmaW5kIHRoYXQgYWxsIHRoZSBkYXRhCisrbWF0Y2hlcyBiZXR3ZWVuIFxm QnNyYy9TXGZQIGFuZCBcZkJkZXN0L0RcZlAsIGFuZCB0aGUgdHJhbnNmZXIgd2lsbCBiZSByZWFs bHkgZmFzdC4KKysuSVAKKytCeSBkZWZhdWx0LCBhbHRlcm5hdGUtYmFzaXMgZmlsZXMgYXJlIGhh cmQtbGlua2VkIGludG8gYSBkaXJlY3RvcnkgbmFtZWQKKysiLn50bXB+IiBpbiBlYWNoIGZpbGUn cyBkZXN0aW5hdGlvbiBkaXJlY3RvcnksIGJ1dCBpZiB5b3UndmUgc3BlY2lmaWVkIHRoZQorK1xm QlwtXC1wYXJ0aWFsLWRpclxmUCBvcHRpb24sIHRoYXQgZGlyZWN0b3J5IHdpbGwgYmUgdXNlZCBp bnN0ZWFkLiAgVGhlc2UKKytvdGVudGlhbCBhbHRlcm5hdGUtYmFzaXMgZmlsZXMgd2lsbCBiZSBy ZW1vdmVkIGFzIHRoZSB0cmFuc2ZlciBwcm9ncmVzc2VzLgorK1RoaXMgb3B0aW9uIGNvbmZsaWN0 cyB3aXRoIFxmQlwtXC1pbnBsYWNlXGZQIGFuZCBcZkJcLVwtYXBwZW5kXGZQCisgLklQICJcZkJc LVwtY29tcGFyZVwtZGVzdD1ESVJcZlAiCisgVGhpcyBvcHRpb24gaW5zdHJ1Y3RzIHJzeW5jIHRv IHVzZSBcZklESVJcZlAgb24gdGhlIGRlc3RpbmF0aW9uIG1hY2hpbmUgYXMgYW4KKyBhZGRpdGlv bmFsIGhpZXJhcmNoeSB0byBjb21wYXJlIGRlc3RpbmF0aW9uIGZpbGVzIGFnYWluc3QgZG9pbmcg dHJhbnNmZXJzCitkaWZmIC1OdXJwIGEvcnN5bmMuMS5odG1sIGIvcnN5bmMuMS5odG1sCistLS0g YS9yc3luYy4xLmh0bWwKKysrKyBiL3JzeW5jLjEuaHRtbAorQEAgLTQ5OSw2ICs0OTksNyBAQCBo YXMgaXRzIG93biBkZXRhaWxlZCBkZXNjcmlwdGlvbiBsYXRlciBpCisgLS1tb2RpZnktd2luZG93 PU5VTSwgLUAgIHNldCB0aGUgYWNjdXJhY3kgZm9yIG1vZC10aW1lIGNvbXBhcmlzb25zCisgLS10 ZW1wLWRpcj1ESVIsIC1UICAgICAgIGNyZWF0ZSB0ZW1wb3JhcnkgZmlsZXMgaW4gZGlyZWN0b3J5 IERJUgorIC0tZnV6enksIC15ICAgICAgICAgICAgICBmaW5kIHNpbWlsYXIgZmlsZSBmb3IgYmFz aXMgaWYgbm8gZGVzdCBmaWxlCisrLS1kZXRlY3QtcmVuYW1lZCAgICAgICAgIHRyeSB0byBmaW5k IHJlbmFtZWQgZmlsZXMgdG8gc3BlZWQgdGhlIHhmZXIKKyAtLWNvbXBhcmUtZGVzdD1ESVIgICAg ICAgYWxzbyBjb21wYXJlIGRlc3RpbmF0aW9uIGZpbGVzIHJlbGF0aXZlIHRvIERJUgorIC0tY29w eS1kZXN0PURJUiAgICAgICAgICAuLi4gYW5kIGluY2x1ZGUgY29waWVzIG9mIHVuY2hhbmdlZCBm aWxlcworIC0tbGluay1kZXN0PURJUiAgICAgICAgICBoYXJkbGluayB0byBmaWxlcyBpbiBESVIg d2hlbiB1bmNoYW5nZWQKK0BAIC0yNDcwLDYgKzI0NzEsMjEgQEAgcG90ZW50aWFsIGZ1enp5LW1h dGNoIGZpbGVzLCBzbyBlaXRoZXIgdQorIHNwZWNpZnkgc29tZSBmaWxlbmFtZSBleGNsdXNpb25z IGlmIHlvdSBuZWVkIHRvIHByZXZlbnQgdGhpcy48L3A+CisgPC9kZD4KKyAKKys8ZHQgaWQ9Im9w dC0tZGV0ZWN0LXJlbmFtZWQiPjxjb2RlPi0tZGV0ZWN0LXJlbmFtZWQ8L2NvZGU+PGEgaHJlZj0i I29wdC0tZGV0ZWN0LXJlbmFtZWQiIGNsYXNzPSJ0Z3QiPjwvYT48L2R0PjxkZD4KKys8cD5XaXRo IHRoaXMgb3B0aW9uLCBmb3IgZWFjaCBuZXcgc291cmNlIGZpbGUgKGNhbGwgaXQgPGNvZGU+c3Jj L1M8L2NvZGU+KSwgcnN5bmMgbG9va3MKKytmb3IgYSBmaWxlIDxjb2RlPmRlc3QvRDwvY29kZT4g YW55d2hlcmUgaW4gdGhlIGRlc3RpbmF0aW9uIHRoYXQgcGFzc2VzIHRoZSBxdWljayBjaGVjawor K3dpdGggPGNvZGU+c3JjL1M8L2NvZGU+LiAgSWYgc3VjaCBhIDxjb2RlPmRlc3QvRDwvY29kZT4g aXMgZm91bmQsIHJzeW5jIHVzZXMgaXQgYXMgYW4gYWx0ZXJuYXRlCisrYmFzaXMgZm9yIHRyYW5z ZmVycmluZyA8Y29kZT5TPC9jb2RlPi4gIFRoZSBpZGVhIGlzIHRoYXQgaWYgPGNvZGU+c3JjL1M8 L2NvZGU+IHdhcyByZW5hbWVkIGZyb20KKys8Y29kZT5zcmMvRDwvY29kZT4gKGFzIG9wcG9zZWQg dG8gPGNvZGU+c3JjL1M8L2NvZGU+IHBhc3NpbmcgdGhlIHF1aWNrIGNoZWNrIHdpdGggPGNvZGU+ ZGVzdC9EPC9jb2RlPiBieQorK2NvaW5jaWRlbmNlKSwgdGhlIGRlbHRhLXRyYW5zZmVyIGFsZ29y aXRobSB3aWxsIGZpbmQgdGhhdCBhbGwgdGhlIGRhdGEKKyttYXRjaGVzIGJldHdlZW4gPGNvZGU+ c3JjL1M8L2NvZGU+IGFuZCA8Y29kZT5kZXN0L0Q8L2NvZGU+LCBhbmQgdGhlIHRyYW5zZmVyIHdp bGwgYmUgcmVhbGx5IGZhc3QuPC9wPgorKzxwPkJ5IGRlZmF1bHQsIGFsdGVybmF0ZS1iYXNpcyBm aWxlcyBhcmUgaGFyZC1saW5rZWQgaW50byBhIGRpcmVjdG9yeSBuYW1lZAorKyZxdW90Oy5+dG1w fiZxdW90OyBpbiBlYWNoIGZpbGUncyBkZXN0aW5hdGlvbiBkaXJlY3RvcnksIGJ1dCBpZiB5b3Un dmUgc3BlY2lmaWVkIHRoZQorKzxhIGhyZWY9IiNvcHQtLXBhcnRpYWwtZGlyIj48Y29kZT4tLXBh cnRpYWwtZGlyPC9jb2RlPjwvYT4gb3B0aW9uLCB0aGF0IGRpcmVjdG9yeSB3aWxsIGJlIHVzZWQg aW5zdGVhZC4gIFRoZXNlCisrb3RlbnRpYWwgYWx0ZXJuYXRlLWJhc2lzIGZpbGVzIHdpbGwgYmUg cmVtb3ZlZCBhcyB0aGUgdHJhbnNmZXIgcHJvZ3Jlc3Nlcy4KKytUaGlzIG9wdGlvbiBjb25mbGlj dHMgd2l0aCA8YSBocmVmPSIjb3B0LS1pbnBsYWNlIj48Y29kZT4tLWlucGxhY2U8L2NvZGU+PC9h PiBhbmQgPGEgaHJlZj0iI29wdC0tYXBwZW5kIj48Y29kZT4tLWFwcGVuZDwvY29kZT48L2E+Ljwv cD4KKys8L2RkPgorKworIDxkdCBpZD0ib3B0LS1jb21wYXJlLWRlc3QiPjxjb2RlPi0tY29tcGFy ZS1kZXN0PURJUjwvY29kZT48YSBocmVmPSIjb3B0LS1jb21wYXJlLWRlc3QiIGNsYXNzPSJ0Z3Qi PjwvYT48L2R0PjxkZD4KKyA8cD5UaGlzIG9wdGlvbiBpbnN0cnVjdHMgcnN5bmMgdG8gdXNlIDx1 PkRJUjwvdT4gb24gdGhlIGRlc3RpbmF0aW9uIG1hY2hpbmUgYXMgYW4KKyBhZGRpdGlvbmFsIGhp ZXJhcmNoeSB0byBjb21wYXJlIGRlc3RpbmF0aW9uIGZpbGVzIGFnYWluc3QgZG9pbmcgdHJhbnNm ZXJzCitkaWZmIC1OdXJwIGEvcnN5bmNkLmNvbmYuNSBiL3JzeW5jZC5jb25mLjUKKy0tLSBhL3Jz eW5jZC5jb25mLjUKKysrKyBiL3JzeW5jZC5jb25mLjUKK0BAIC0xLDUgKzEsNSBAQAorIC5USCAi cnN5bmNkLmNvbmYiICI1IiAiOCBNYXkgMjAyNiIgInJzeW5jZC5jb25mIGZyb20gcnN5bmMgMy40 LjMiICJVc2VyIENvbW1hbmRzIgorLS5cIiBwcmVmaXg9L3VzcgorKy5cIiBwcmVmaXg9L3Vzci9s b2NhbAorIC5QCisgLlNIICJOQU1FIgorIC5QCitAQCAtNzMsMTEgKzczLDExIEBAIGFuZCBhIHNp bmdsZSBsaW5lIHNvbWV0aGluZyBsaWtlIHRoaXMgdG8KKyAuUlMgNAorIC5QCisgLm5mCistcnN5 bmMgICBzdHJlYW0gIHRjcCAgICAgbm93YWl0ICByb290ICAgL3Vzci9iaW4vcnN5bmMgcnN5bmNk IC0tZGFlbW9uCisrcnN5bmMgICBzdHJlYW0gIHRjcCAgICAgbm93YWl0ICByb290ICAgL3Vzci9s b2NhbC9iaW4vcnN5bmMgcnN5bmNkIC0tZGFlbW9uCisgLmZpCisgLlJFCisgLlAKKy1SZXBsYWNl ICIvdXNyL2Jpbi9yc3luYyIgd2l0aCB0aGUgcGF0aCB0byB3aGVyZSB5b3UgaGF2ZSByc3luYyBp bnN0YWxsZWQgb24KKytSZXBsYWNlICIvdXNyL2xvY2FsL2Jpbi9yc3luYyIgd2l0aCB0aGUgcGF0 aCB0byB3aGVyZSB5b3UgaGF2ZSByc3luYyBpbnN0YWxsZWQgb24KKyB5b3VyIHN5c3RlbS4gIFlv dSB3aWxsIHRoZW4gbmVlZCB0byBzZW5kIGluZXRkIGEgSFVQIHNpZ25hbCB0byB0ZWxsIGl0IHRv CisgcmVyZWFkIGl0cyBjb25maWcgZmlsZS4KKyAuUAorZGlmZiAtTnVycCBhL3JzeW5jZC5jb25m LjUuaHRtbCBiL3JzeW5jZC5jb25mLjUuaHRtbAorLS0tIGEvcnN5bmNkLmNvbmYuNS5odG1sCisr KysgYi9yc3luY2QuY29uZi41Lmh0bWwKK0BAIC03NywxMCArNzcsMTAgQEAgY29tbWFuZCAmcXVv dDs8Y29kZT5yc3luYyAtLWRhZW1vbjwvY29kZQorIDwvYmxvY2txdW90ZT4KKyA8cD5hbmQgYSBz aW5nbGUgbGluZSBzb21ldGhpbmcgbGlrZSB0aGlzIHRvIC9ldGMvaW5ldGQuY29uZjo8L3A+Cisg PGJsb2NrcXVvdGU+CistPHByZT48Y29kZT5yc3luYyAgIHN0cmVhbSAgdGNwICAgICBub3dhaXQg IHJvb3QgICAvdXNyL2Jpbi9yc3luYyByc3luY2QgLS1kYWVtb24KKys8cHJlPjxjb2RlPnJzeW5j ICAgc3RyZWFtICB0Y3AgICAgIG5vd2FpdCAgcm9vdCAgIC91c3IvbG9jYWwvYmluL3JzeW5jIHJz eW5jZCAtLWRhZW1vbgorIDwvY29kZT48L3ByZT4KKyA8L2Jsb2NrcXVvdGU+CistPHA+UmVwbGFj ZSAmcXVvdDsvdXNyL2Jpbi9yc3luYyZxdW90OyB3aXRoIHRoZSBwYXRoIHRvIHdoZXJlIHlvdSBo YXZlIHJzeW5jIGluc3RhbGxlZCBvbgorKzxwPlJlcGxhY2UgJnF1b3Q7L3Vzci9sb2NhbC9iaW4v cnN5bmMmcXVvdDsgd2l0aCB0aGUgcGF0aCB0byB3aGVyZSB5b3UgaGF2ZSByc3luYyBpbnN0YWxs ZWQgb24KKyB5b3VyIHN5c3RlbS4gIFlvdSB3aWxsIHRoZW4gbmVlZCB0byBzZW5kIGluZXRkIGEg SFVQIHNpZ25hbCB0byB0ZWxsIGl0IHRvCisgcmVyZWFkIGl0cyBjb25maWcgZmlsZS48L3A+Cisg PHA+Tm90ZSB0aGF0IHlvdSBzaG91bGQgPHN0cm9uZz5ub3Q8L3N0cm9uZz4gc2VuZCB0aGUgcnN5 bmMgZGFlbW9uIGEgSFVQIHNpZ25hbCB0byBmb3JjZSBpdCB0bworZGlmZiAtTnVycCBhL3JzeW5j LXNzbC4xIGIvcnN5bmMtc3NsLjEKKy0tLSBhL3JzeW5jLXNzbC4xCisrKysgYi9yc3luYy1zc2wu MQorQEAgLTEsNSArMSw1IEBACisgLlRIICJyc3luYy1zc2wiICIxIiAiOCBNYXkgMjAyNiIgInJz eW5jLXNzbCBmcm9tIHJzeW5jIDMuNC4zIiAiVXNlciBDb21tYW5kcyIKKy0uXCIgcHJlZml4PS91 c3IKKysuXCIgcHJlZml4PS91c3IvbG9jYWwKKyAuUAorIC5TSCAiTkFNRSIKKyAuUAoKZGlmZiAt LWdpdCBhL3JzeW5jLWRvLW5vdC1idWlsZC1ycnN5bmMtbWFucGFnZS5wYXRjaCBiL3JzeW5jLWRv LW5vdC1idWlsZC1ycnN5bmMtbWFucGFnZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCAwMDAwMDAwLi4zZDUyYTY0Ci0tLSAvZGV2L251bGwKKysrIGIvcnN5bmMtZG8tbm90LWJ1aWxk LXJyc3luYy1tYW5wYWdlLnBhdGNoCkBAIC0wLDAgKzEsMTQgQEAKK2RpZmYgLS1naXQgYS9NYWtl ZmlsZS5pbiBiL01ha2VmaWxlLmluCitpbmRleCA2OTlkOTk1Li40MzM4MjcyIDEwMDY0NAorLS0t IGEvTWFrZWZpbGUuaW4KKysrKyBiL01ha2VmaWxlLmluCitAQCAtMjcxLDkgKzI3MSw2IEBAIHJz eW5jLXNzbC4xOiByc3luYy1zc2wuMS5tZCBtZC1jb252ZXJ0IHZlcnNpb24uaCBNYWtlZmlsZQor IHJzeW5jZC5jb25mLjU6IHJzeW5jZC5jb25mLjUubWQgbWQtY29udmVydCB2ZXJzaW9uLmggTWFr ZWZpbGUKKyAJQCQoc3JjZGlyKS9tYXliZS1tYWtlLW1hbiByc3luY2QuY29uZi41Lm1kCisgCist cnJzeW5jLjE6IHN1cHBvcnQvcnJzeW5jLjEubWQgbWQtY29udmVydCBNYWtlZmlsZQorLQlAJChz cmNkaXIpL21heWJlLW1ha2UtbWFuIHN1cHBvcnQvcnJzeW5jLjEubWQKKy0KKyAuUEhPTlk6IGNs ZWFuCisgY2xlYW46IGNsZWFudGVzdHMKKyAJcm0gLWYgKn4gJChPQkpTKSAkKENIRUNLX1BST0dT KSAkKENIRUNLX09CSlMpICQoQ0hFQ0tfU1lNTElOS1MpIEBNQUtFX1JSU1lOQ0AgXAoKZGlmZiAt LWdpdCBhL3JzeW5jLnNwZWMgYi9yc3luYy5zcGVjCmluZGV4IDRiN2U1OTkuLjNiZjU3YTAgMTAw NjQ0Ci0tLSBhL3JzeW5jLnNwZWMKKysrIGIvcnN5bmMuc3BlYwpAQCAtMiwxMiArMiwxMSBAQAog CiBTdW1tYXJ5OiBBIHByb2dyYW0gZm9yIHN5bmNocm9uaXppbmcgZmlsZXMgb3ZlciBhIG5ldHdv cmsKIE5hbWU6IHJzeW5jCi1WZXJzaW9uOiAzLjQuMQotUmVsZWFzZTogNiV7P2Rpc3R9CitWZXJz aW9uOiAzLjQuMworUmVsZWFzZTogMSV7P2Rpc3R9CiBVUkw6IGh0dHBzOi8vcnN5bmMuc2FtYmEu b3JnLwogCi1Tb3VyY2UwOiBodHRwczovL2Rvd25sb2FkLnNhbWJhLm9yZy9wdWIvcnN5bmMvc3Jj L3JzeW5jLSV7dmVyc2lvbn0lez9wcmVyZWxlYXNlfS50YXIuZ3oKLVNvdXJjZTE6IGh0dHBzOi8v ZG93bmxvYWQuc2FtYmEub3JnL3B1Yi9yc3luYy9zcmMvcnN5bmMtcGF0Y2hlcy0le3ZlcnNpb259 JXs/cHJlcmVsZWFzZX0udGFyLmd6CitTb3VyY2UwOiBodHRwczovL2Rvd25sb2FkLnNhbWJhLm9y Zy9wdWIvcnN5bmMvc3JjL3JzeW5jLSV7dmVyc2lvbn0udGFyLmd6CiBTb3VyY2UyOiByc3luY2Qu c29ja2V0CiBTb3VyY2UzOiByc3luY2Quc2VydmljZQogU291cmNlNDogcnN5bmNkLmNvbmYKQEAg LTI1LDYgKzI0LDggQEAgQnVpbGRSZXF1aXJlczogc3lzdGVtZAogQnVpbGRSZXF1aXJlczogbHo0 LWRldmVsCiBCdWlsZFJlcXVpcmVzOiBvcGVuc3NsLWRldmVsCiBCdWlsZFJlcXVpcmVzOiBsaWJ6 c3RkLWRldmVsCitCdWlsZFJlcXVpcmVzOiBnaXQtY29yZQorQnVpbGRSZXF1aXJlczogcHl0aG9u My1jbWFya2dmbQogJWlmICV7dW5kZWZpbmVkIHJoZWx9CiBCdWlsZFJlcXVpcmVzOiB4eGhhc2gt ZGV2ZWwKICVlbmRpZgpAQCAtMzYsMTQgKzM3LDkgQEAgUHJvdmlkZXM6IGJ1bmRsZWQoemxpYikg PSAxLjIuOAogI21lbnRpb25lZCBoZXJlIGFzIHdlbGwuCiBMaWNlbnNlOiBHUEwtMy4wLW9yLWxh dGVyCiAKLVBhdGNoMTogcnN5bmMtMy4yLjItcnVudGVzdHMucGF0Y2gKLVBhdGNoMjogcnN5bmMt My40LjEtcnJzeW5jLW1hbi5wYXRjaAotUGF0Y2gzOiByc3luYy0zLjQuMS1nY2MxNS1maXhlcy5w YXRjaAotUGF0Y2g0OiByc3luYy0zLjQuMS1jdmUtMjAyNS0xMDE1OC5wYXRjaAotUGF0Y2g1OiBy c3luYy0zLjQuMS1jdmUtMjAyNi00MTAzNS5wYXRjaAotUGF0Y2g2OiByc3luYy0zLjQuMS1jb3Jy ZWN0LWxvZy10aW1lLnBhdGNoCi1QYXRjaDc6IHJzeW5jLTMuNC4xLXNzaC1hc2twYXNzLnBhdGNo Ci1QYXRjaDg6IHJzeW5jLTMuNC4xLXVzZS1vcGVuYXQyLnBhdGNoCitQYXRjaDE6IHJzeW5jLWFk ZC1kZXRlY3QtcmVuYW1lZC5kaWZmCitQYXRjaDI6IHJzeW5jLWFkZC1kZXRlY3QtcmVuYW1lZC1s YXguZGlmZgorUGF0Y2gzOiByc3luYy1kby1ub3QtYnVpbGQtcnJzeW5jLW1hbnBhZ2UucGF0Y2gK IAogJWRlc2NyaXB0aW9uCiBSc3luYyB1c2VzIGEgcmVsaWFibGUgYWxnb3JpdGhtIHRvIGJyaW5n IHJlbW90ZSBhbmQgaG9zdCBmaWxlcyBpbnRvCkBAIC03MywyMiArNjksNyBAQCBUaGlzIHN1YnBh Y2thZ2UgcHJvdmlkZXMgcnJzeW5jIHNjcmlwdCBhbmQgaXRzIG1hbnBhZ2UuIHJyc3luYwogbWF5 IGJlIHVzZWQgdG8gc2V0dXAgYSByZXN0cmljdGVkIHJzeW5jIHVzZXJzIHZpYSBzc2ggbG9naW5z LgogCiAlcHJlcAotIyBUQUc6IGZvciBwcmUgdmVyc2lvbnMgdXNlCi0lc2V0dXAgLXEKLSVzZXR1 cCAtcSAtYiAxCi0KLSVwYXRjaCAxIC1wMSAtYiAucnVudGVzdHMKLSVwYXRjaCAyIC1wMSAtYiAu cnJzeW5jCi0KLXBhdGNoIC1wMSAtaSBwYXRjaGVzL2RldGVjdC1yZW5hbWVkLmRpZmYKLXBhdGNo IC1wMSAtaSBwYXRjaGVzL2RldGVjdC1yZW5hbWVkLWxheC5kaWZmCi0KLSVwYXRjaCAzIC1wMSAt YiAuZ2NjMTUKLSVwYXRjaCA0IC1wMSAtYiAuY3ZlLTIwMjUtMTAxNTgKLSVwYXRjaCA1IC1wMSAt YiAuY3ZlLTIwMjYtNDEwMzUKLSVwYXRjaCA2IC1wMSAtYiAuY29ycmVjdC1sb2ctdGltZQotJXBh dGNoIDcgLXAxIC1iIC5zc2gtYXNrcGFzcwotJXBhdGNoIDggLXAxIC1iIC51c2Utb3BlbmF0Mgor JWF1dG9zZXR1cCAtUyBnaXQKIAogJWJ1aWxkCiAlY29uZmlndXJlIFwKQEAgLTE0Niw2ICsxMjcs OSBAQCBpbnN0YWxsIC1EIC1tNjQ0ICV7U09VUkNFNn0gJFJQTV9CVUlMRF9ST09ULyV7X3VuaXRk aXJ9L3JzeW5jZEAuc2VydmljZQogJXN5c3RlbWRfcG9zdHVuX3dpdGhfcmVzdGFydCByc3luY2Qu c2VydmljZQogCiAlY2hhbmdlbG9nCisqIEZyaSBNYXkgMjkgMjAyNiBNaWNoYWwgUnVwcmljaCA8 bXJ1cHJpY2hAcmVkaGF0LmNvbT4gLSAzLjQuMy0xCistIE5ldyB2ZXJzaW9uIDMuNC4zCisKICog V2VkIE1heSAwNiAyMDI2IE1pY2hhbCBSdXByaWNoIDxtcnVwcmljaEByZWRoYXQuY29tPiAtIDMu NC4xLTYKIC0gRml4IGZvciBDVkUtMjAyNi00MTAzNQogLSBGaXhpbmcgYmFkIHRpbWUgaW4gcnN5 bmMgbG9ncwoKZGlmZiAtLWdpdCBhL3NvdXJjZXMgYi9zb3VyY2VzCmluZGV4IDgxODM3NWQuLjcx ZjMxNTAgMTAwNjQ0Ci0tLSBhL3NvdXJjZXMKKysrIGIvc291cmNlcwpAQCAtMSwyICsxIEBACi1T SEE1MTIgKHJzeW5jLTMuNC4xLnRhci5neikgPSBhM2VjZGU0ODQzZGRiNzk1MzA4ZGNhODg1ODFi ODY4YWMwMjIxZWI2Zjg4YTE0NzdkN2E5YTJlY2I0ZTQ2ODYwNDI5NjZiZGRkYmFiNDA4NjZmOTBh NDcxNWQzMTA0ZGFhN2I4MzIyMmRkZjBmMzM4N2I3OTZhODZiZGU4ZTVjMgotU0hBNTEyIChyc3lu Yy1wYXRjaGVzLTMuNC4xLnRhci5neikgPSAwYTI0MzlmNDNlNTNjZWYwMjhlNWMwYTI1YmQyMGZk MzA4ZTYwOTRhZjM2ZTZkMTEwOWU5YjUxNDkwMzVjZTljNjUwZDRjYWM3ZTc1MjM2NzFiNGMzZThk NmQ2YzY4ZTQwNDQ1ZGQwZDhhZTlhZGJjMTk3NzFhYmEwODMxZWQzMworU0hBNTEyIChyc3luYy0z LjQuMy50YXIuZ3opID0gMWJmMmQ3Y2VhN2E0MmM5Y2QwNzBmZmFhNWU5ZTAyOWZiY2UyYzE4OTcz ZDhlOTQ2ZjJhNmE5MWM3ODFkMmYzZmYyNDQ5YThmZjI0MzEyMDYzOTZjYWYxZjdkOTkwMTg2NWYx MDc3MmMwOTAxOWQ5MzMxOGUyNjE5NjE2MDY0NGYK