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: Jan Grulich To: git-commits@fedoraproject.org Subject: [rpms/clazy] epel8: 1.17 Date: Fri, 14 Aug 2026 07:36:04 GMT Message-ID: <178669296412.1.13741855560384948074.rpms-clazy-270c100e3260@fedoraproject.org> List-ID: X-Git-Repo: rpms/clazy X-Git-Branch: epel8 X-Git-Rev: 270c100e3260c780ad03f1bf0e37f2d554da3476 QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvY2xhenkKQnJhbmNo IDogZXBlbDgKQ29tbWl0IDogMjcwYzEwMGUzMjYwYzc4MGFkMDNmMWJmMGUzN2YyZDU1NGRhMzQ3 NgpBdXRob3IgOiBKYW4gR3J1bGljaCA8amdydWxpY2hAcmVkaGF0LmNvbT4KRGF0ZSAgIDogMjAy Ni0wMi0yNlQxMjo1Njo1MyswMTowMApTdGF0cyAgOiArOS8tNDIyIGluIDcgZmlsZShzKQpVUkwg ICAgOiBodHRwczovL3NyYy5mZWRvcmFwcm9qZWN0Lm9yZy9ycG1zL2NsYXp5L2MvMjcwYzEwMGUz MjYwYzc4MGFkMDNmMWJmMGUzN2YyZDU1NGRhMzQ3Nj9icmFuY2g9ZXBlbDgKCkxvZzoKMS4xNwoK LS0tCmRpZmYgLS1naXQgYS8uZ2l0aWdub3JlIGIvLmdpdGlnbm9yZQppbmRleCA0OTBiODMzLi5i NzY3MDY3IDEwMDY0NAotLS0gYS8uZ2l0aWdub3JlCisrKyBiLy5naXRpZ25vcmUKQEAgLTEyLDMg KzEyLDQgQEAKIC9jbGF6eS0xLjE0LnRhci54egogL2NsYXp5LTEuMTUudGFyLnh6CiAvY2xhenkt djEuMTYudGFyLnh6CisvY2xhenktMS4xNy50YXIueHoKCmRpZmYgLS1naXQgYS83NjIxMjg4NTcy OWJmOWRjZmVhN2MxOThkMzJhMTU2NTEzMTBhY2ViLnBhdGNoIGIvNzYyMTI4ODU3MjliZjlkY2Zl YTdjMTk4ZDMyYTE1NjUxMzEwYWNlYi5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggZjJmN2U2MS4uMDAwMDAwMAotLS0gYS83NjIxMjg4NTcyOWJmOWRjZmVhN2MxOThkMzJhMTU2 NTEzMTBhY2ViLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNjQgKzAsMCBAQAotRnJvbSA3NjIx Mjg4NTcyOWJmOWRjZmVhN2MxOThkMzJhMTU2NTEzMTBhY2ViIE1vbiBTZXAgMTcgMDA6MDA6MDAg MjAwMQotRnJvbTogQWxleGFuZGVyIExvaG5hdSA8YWxleGFuZGVyLmxvaG5hdUBnbXguZGU+Ci1E YXRlOiBTdW4sIDIgTm92IDIwMjUgMDg6MzA6MjggKzAxMDAKLVN1YmplY3Q6IFtQQVRDSF0gRml4 IHFoYXNoLW5hbWVzcGFjZSB0ZXN0IHdpdGggbGx2bTIyCi0KLS0tLQotIHNyYy9jaGVja3MvbGV2 ZWwxL3FoYXNoLW5hbWVzcGFjZS5jcHAgfCAxNiArKysrKysrKysrKystLS0tCi0gc3JjL2NoZWNr cy9sZXZlbDEvcWhhc2gtbmFtZXNwYWNlLmggICB8ICAzICsrKwotIDIgZmlsZXMgY2hhbmdlZCwg MTUgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3NyYy9jaGVj a3MvbGV2ZWwxL3FoYXNoLW5hbWVzcGFjZS5jcHAgYi9zcmMvY2hlY2tzL2xldmVsMS9xaGFzaC1u YW1lc3BhY2UuY3BwCi1pbmRleCBlZjI5NzExYi4uNGIzOTdmYzMgMTAwNjQ0Ci0tLS0gYS9zcmMv Y2hlY2tzL2xldmVsMS9xaGFzaC1uYW1lc3BhY2UuY3BwCi0rKysgYi9zcmMvY2hlY2tzL2xldmVs MS9xaGFzaC1uYW1lc3BhY2UuY3BwCi1AQCAtMTgsNiArMTgsMTUgQEAKLSAKLSB1c2luZyBuYW1l c3BhY2UgY2xhbmc7Ci0gCi0rc3RkOjpzdHJpbmcgUUhhc2hOYW1lc3BhY2U6OmZ1bGx5UXVhbGlm aWVkUGFyYW1OYW1lKGNsYW5nOjpQYXJtVmFyRGVjbCAqZmlyc3RBcmcpCi0rewotKyAgICBpZiAo YXV0byAqdHlwZVB0ciA9IGZpcnN0QXJnLT5nZXRUeXBlKCkuZ2V0VHlwZVB0cigpLT5nZXRBc1Rh Z0RlY2woKSkgewotKyAgICAgICAgcmV0dXJuIHR5cGVQdHItPmdldFF1YWxpZmllZE5hbWVBc1N0 cmluZygpOwotKyAgICB9Ci0rICAgIC8vIEZhbGxiYWNrLCBzaG91bGQgbm90IGhhcHBlbgotKyAg ICByZXR1cm4gZmlyc3RBcmctPmdldFR5cGUoKS5nZXRBc1N0cmluZygpOwotK30KLSsKLSB2b2lk IFFIYXNoTmFtZXNwYWNlOjpWaXNpdERlY2woY2xhbmc6OkRlY2wgKmRlY2wpCi0gewotICAgICBh dXRvICpmdW5jID0gZHluX2Nhc3Q8RnVuY3Rpb25EZWNsPihkZWNsKTsKLUBAIC0zNCwxMyArNDMs MTIgQEAgdm9pZCBRSGFzaE5hbWVzcGFjZTo6VmlzaXREZWNsKGNsYW5nOjpEZWNsICpkZWNsKQot ICAgICAgICAgY29uc3Qgc3RkOjpzdHJpbmcgYXJndW1lbnROU3N0ciA9IGFyZ3VtZW50TlMtPmdl dFF1YWxpZmllZE5hbWVBc1N0cmluZygpOwotICAgICAgICAgY29uc3Qgc3RkOjpzdHJpbmcgcWhh c2hOU3N0ciA9IHFIYXNoTlMtPmdldFF1YWxpZmllZE5hbWVBc1N0cmluZygpOwotICAgICAgICAg aWYgKGFyZ3VtZW50TlNzdHIgIT0gcWhhc2hOU3N0cikgewotLSAgICAgICAgICAgIG1zZyA9ICJN b3ZlIHFIYXNoKCIgKyBjbGF6eTo6c2ltcGxlVHlwZU5hbWUoZmlyc3RBcmctPmdldFR5cGUoKSwg bG8oKSkgKyAiKSB0byAiICsgYXJndW1lbnROU3N0ciArICIgbmFtZXNwYWNlIGZvciBBREwgbG9v a3VwIjsKLSsgICAgICAgICAgICBtc2cgPSAiTW92ZSBxSGFzaCgiICsgZnVsbHlRdWFsaWZpZWRQ YXJhbU5hbWUoZmlyc3RBcmcpICsgIikgdG8gIiArIGFyZ3VtZW50TlNzdHIgKyAiIG5hbWVzcGFj ZSBmb3IgQURMIGxvb2t1cCI7Ci0gICAgICAgICB9Ci0gICAgIH0gZWxzZSBpZiAocUhhc2hOUyAm JiAhYXJndW1lbnROUykgewotLSAgICAgICAgbXNnID0gIk1vdmUgcUhhc2goIiArIGNsYXp5Ojpz aW1wbGVUeXBlTmFtZShmaXJzdEFyZy0+Z2V0VHlwZSgpLCBsbygpKSArICIpIG91dCBvZiBuYW1l c3BhY2UgIiArIHFIYXNoTlMtPmdldFF1YWxpZmllZE5hbWVBc1N0cmluZygpOwotKyAgICAgICAg bXNnID0gIk1vdmUgcUhhc2goIiArIGZ1bGx5UXVhbGlmaWVkUGFyYW1OYW1lKGZpcnN0QXJnKSAr ICIpIG91dCBvZiBuYW1lc3BhY2UgIiArIHFIYXNoTlMtPmdldFF1YWxpZmllZE5hbWVBc1N0cmlu ZygpOwotICAgICB9IGVsc2UgaWYgKCFxSGFzaE5TICYmIGFyZ3VtZW50TlMpIHsKLS0gICAgICAg IG1zZyA9Ci0tICAgICAgICAgICAgIk1vdmUgcUhhc2goIiArIGNsYXp5OjpzaW1wbGVUeXBlTmFt ZShmaXJzdEFyZy0+Z2V0VHlwZSgpLCBsbygpKSArICIpIGludG8gIiArIGFyZ3VtZW50TlMtPmdl dFF1YWxpZmllZE5hbWVBc1N0cmluZygpICsgIiBuYW1lc3BhY2UgZm9yIEFETCBsb29rdXAiOwot KyAgICAgICAgbXNnID0gIk1vdmUgcUhhc2goIiArIGZ1bGx5UXVhbGlmaWVkUGFyYW1OYW1lKGZp cnN0QXJnKSArICIpIGludG8gIiArIGFyZ3VtZW50TlMtPmdldFF1YWxpZmllZE5hbWVBc1N0cmlu ZygpICsgIiBuYW1lc3BhY2UgZm9yIEFETCBsb29rdXAiOwotICAgICB9Ci0gCi0gICAgIGlmICgh bXNnLmVtcHR5KCkpIHsKLWRpZmYgLS1naXQgYS9zcmMvY2hlY2tzL2xldmVsMS9xaGFzaC1uYW1l c3BhY2UuaCBiL3NyYy9jaGVja3MvbGV2ZWwxL3FoYXNoLW5hbWVzcGFjZS5oCi1pbmRleCAwYmVk ZDUwYy4uYzMwYWRiMjUgMTAwNjQ0Ci0tLS0gYS9zcmMvY2hlY2tzL2xldmVsMS9xaGFzaC1uYW1l c3BhY2UuaAotKysrIGIvc3JjL2NoZWNrcy9sZXZlbDEvcWhhc2gtbmFtZXNwYWNlLmgKLUBAIC0x Nyw2ICsxNyw5IEBAIGNsYXNzIFFIYXNoTmFtZXNwYWNlIDogcHVibGljIENoZWNrQmFzZQotIHB1 YmxpYzoKLSAgICAgdXNpbmcgQ2hlY2tCYXNlOjpDaGVja0Jhc2U7Ci0gICAgIHZvaWQgVmlzaXRE ZWNsKGNsYW5nOjpEZWNsICpkZWNsKSBvdmVycmlkZTsKLSsKLStwcml2YXRlOgotKyAgICBzdGQ6 OnN0cmluZyBmdWxseVF1YWxpZmllZFBhcmFtTmFtZShjbGFuZzo6UGFybVZhckRlY2wgKmZpcnN0 QXJnKTsKLSB9OwotIAotICNlbmRpZgotLS0gCi1HaXRMYWIKLQoKZGlmZiAtLWdpdCBhLzgxYjdj ZjM4YTQ0NGY2Y2E3YTUzOWNlYjUxYWRhMDUwMjE0ZjNiNDcucGF0Y2ggYi84MWI3Y2YzOGE0NDRm NmNhN2E1MzljZWI1MWFkYTA1MDIxNGYzYjQ3LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCAyYTI2NjU1Li4wMDAwMDAwCi0tLSBhLzgxYjdjZjM4YTQ0NGY2Y2E3YTUzOWNlYjUx YWRhMDUwMjE0ZjNiNDcucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw4MSArMCwwIEBACi1Gcm9t IDgxYjdjZjM4YTQ0NGY2Y2E3YTUzOWNlYjUxYWRhMDUwMjE0ZjNiNDcgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCi1Gcm9tOiBBbGV4YW5kZXIgTG9obmF1IDxhbGV4YW5kZXIubG9obmF1QGdteC5k ZT4KLURhdGU6IEZyaSwgMzEgT2N0IDIwMjUgMDg6MDI6NTMgKzAxMDAKLVN1YmplY3Q6IFtQQVRD SF0gQWRkICNpZiBzdGF0ZW1lbnRzIHRvIGF2b2lkIHVzaW5nIEVsYWJvcmF0ZWRUeXBlIHRoYXQg aXMKLSByZW1vdmVkIGluIExMVk0gMjIKLQotU3RhcnRpbmcgdG8gbWFrZSBpdCBjb21wYXRpYmxl IHdpdGggTExWTTIyOgotaHR0cHM6Ly9pbnZlbnQua2RlLm9yZy9zZGsvY2xhenkvLS9pc3N1ZXMv MzIKLS0tLQotIHNyYy9TdHJpbmdVdGlscy5oICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHwgNCArKysrCi0gc3JjL1R5cGVVdGlscy5oICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfCAyICsrCi0gc3JjL2NoZWNrcy9sZXZlbDAvZnVsbHktcXVhbGlmaWVkLW1vYy10eXBlcy5j cHAgfCAyICsrCi0gMyBmaWxlcyBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdp dCBhL3NyYy9TdHJpbmdVdGlscy5oIGIvc3JjL1N0cmluZ1V0aWxzLmgKLWluZGV4IDFkMmYzMDFi Li4wM2M3OWE2MCAxMDA2NDQKLS0tLSBhL3NyYy9TdHJpbmdVdGlscy5oCi0rKysgYi9zcmMvU3Ry aW5nVXRpbHMuaAotQEAgLTkzLDkgKzkzLDExIEBAIGlubGluZSBzdGQ6OnN0cmluZyBjbGFzc05h bWVGb3IoY2xhbmc6OlF1YWxUeXBlIHF0KQotICAgICAgICAgcmV0dXJuIHt9OwotICAgICB9Ci0g Ci0rI2lmIExMVk1fVkVSU0lPTl9NQUpPUiA8IDIyCi0gICAgIGlmIChjbGFuZzo6RWxhYm9yYXRl ZFR5cGU6OmNsYXNzb2YodCkpIHsKLSAgICAgICAgIHJldHVybiBjbGFzc05hbWVGb3Ioc3RhdGlj X2Nhc3Q8Y29uc3QgY2xhbmc6OkVsYWJvcmF0ZWRUeXBlICo+KHQpLT5nZXROYW1lZFR5cGUoKSk7 Ci0gICAgIH0KLSsjZW5kaWYKLSAKLSAgICAgY29uc3QgY2xhbmc6OkNYWFJlY29yZERlY2wgKnJl Y29yZCA9IHQtPmlzUmVjb3JkVHlwZSgpID8gdC0+Z2V0QXNDWFhSZWNvcmREZWNsKCkgOiB0LT5n ZXRQb2ludGVlQ1hYUmVjb3JkRGVjbCgpOwotICAgICByZXR1cm4gY2xhc3NOYW1lRm9yKHJlY29y ZCk7Ci1AQCAtMjU2LDkgKzI1OCwxMSBAQCBpbmxpbmUgc3RkOjpzdHJpbmcgc2ltcGxlVHlwZU5h bWUoY2xhbmc6OlF1YWxUeXBlIHF0LCBjb25zdCBjbGFuZzo6TGFuZ09wdGlvbnMgJgotICAgICAg ICAgcmV0dXJuIHt9OwotICAgICB9Ci0gCi0rI2lmIExMVk1fVkVSU0lPTl9NQUpPUiA8IDIyCi0g ICAgIGlmIChjbGFuZzo6RWxhYm9yYXRlZFR5cGU6OmNsYXNzb2YodCkpIHsKLSAgICAgICAgIHF0 ID0gc3RhdGljX2Nhc3Q8Y29uc3QgY2xhbmc6OkVsYWJvcmF0ZWRUeXBlICo+KHQpLT5nZXROYW1l ZFR5cGUoKTsKLSAgICAgfQotKyNlbmRpZgotIAotICAgICByZXR1cm4gcXQuZ2V0Tm9uUmVmZXJl bmNlVHlwZSgpLmdldFVucXVhbGlmaWVkVHlwZSgpLmdldEFzU3RyaW5nKGNsYW5nOjpQcmludGlu Z1BvbGljeShsbykpOwotIH0KLWRpZmYgLS1naXQgYS9zcmMvVHlwZVV0aWxzLmggYi9zcmMvVHlw ZVV0aWxzLmgKLWluZGV4IDQ5ZjM3M2QwLi5jOTNmNTQyZCAxMDA2NDQKLS0tLSBhL3NyYy9UeXBl VXRpbHMuaAotKysrIGIvc3JjL1R5cGVVdGlscy5oCi1AQCAtMjExLDkgKzIxMSwxMSBAQCBpbmxp bmUgY2xhbmc6OkNYWFJlY29yZERlY2wgKnBhcmVudFJlY29yZEZvclR5cGVkZWYoY29uc3QgY2xh bmc6OlF1YWxUeXBlIHF0KQotIHsKLSAgICAgYXV0byAqdCA9IHF0LmdldFR5cGVQdHJPck51bGwo KTsKLSAKLSsjaWYgTExWTV9WRVJTSU9OX01BSk9SIDwgMjIKLSAgICAgaWYgKGNvbnN0IGF1dG8g KmVsYWIgPSBsbHZtOjpkeW5fY2FzdDxjbGFuZzo6RWxhYm9yYXRlZFR5cGU+KHQpKSB7Ci0gICAg ICAgICB0ID0gZWxhYi0+ZGVzdWdhcigpLmdldFR5cGVQdHJPck51bGwoKTsKLSAgICAgfQotKyNl bmRpZgotIAotICAgICBpZiAoY29uc3QgYXV0byAqdGR0ID0gbGx2bTo6ZHluX2Nhc3Q8Y2xhbmc6 OlR5cGVkZWZUeXBlPih0KSkgewotICAgICAgICAgY2xhbmc6OlR5cGVkZWZOYW1lRGVjbCAqdGRu ZCA9IHRkdC0+Z2V0RGVjbCgpOwotZGlmZiAtLWdpdCBhL3NyYy9jaGVja3MvbGV2ZWwwL2Z1bGx5 LXF1YWxpZmllZC1tb2MtdHlwZXMuY3BwIGIvc3JjL2NoZWNrcy9sZXZlbDAvZnVsbHktcXVhbGlm aWVkLW1vYy10eXBlcy5jcHAKLWluZGV4IDdmOWQ2YWI1Li40MGQ3ZjZjYiAxMDA2NDQKLS0tLSBh L3NyYy9jaGVja3MvbGV2ZWwwL2Z1bGx5LXF1YWxpZmllZC1tb2MtdHlwZXMuY3BwCi0rKysgYi9z cmMvY2hlY2tzL2xldmVsMC9mdWxseS1xdWFsaWZpZWQtbW9jLXR5cGVzLmNwcAotQEAgLTg2LDYg Kzg2LDcgQEAgdm9pZCBGdWxseVF1YWxpZmllZE1vY1R5cGVzOjpWaXNpdERlY2woY2xhbmc6OkRl Y2wgKmRlY2wpCi0gCi0gc3RkOjpzdHJpbmcgRnVsbHlRdWFsaWZpZWRNb2NUeXBlczo6Z2V0UXVh bGlmaWVkTmFtZU9mVHlwZShjb25zdCBUeXBlICpwdHIsIGJvb2wgY2hlY2tFbGFiVHlwZSkgY29u c3QKLSB7Ci0rI2lmIExMVk1fVkVSU0lPTl9NQUpPUiA8IDIyCi0gICAgIGlmIChhdXRvICplbGFi VHlwZSA9IGR5bl9jYXN0PEVsYWJvcmF0ZWRUeXBlPihwdHIpOyBlbGFiVHlwZSAmJiBjaGVja0Vs YWJUeXBlKSB7Ci0gICAgICAgICBpZiAoYXV0byAqc3BlY1R5cGUgPSBkeW5fY2FzdDxUZW1wbGF0 ZVNwZWNpYWxpemF0aW9uVHlwZT4oZWxhYlR5cGUtPmdldE5hbWVkVHlwZSgpLmdldFR5cGVQdHJP ck51bGwoKSk7IHNwZWNUeXBlICYmICFwdHItPmdldEFzPFR5cGVkZWZUeXBlPigpKSB7Ci0gICAg ICAgICAgICAgcmV0dXJuIHJlc29sdmVUZW1wbGF0ZVR5cGUoc3BlY1R5cGUsIGZhbHNlKTsKLUBA IC05NCw2ICs5NSw3IEBAIHN0ZDo6c3RyaW5nIEZ1bGx5UXVhbGlmaWVkTW9jVHlwZXM6OmdldFF1 YWxpZmllZE5hbWVPZlR5cGUoY29uc3QgVHlwZSAqcHRyLCBib29sCi0gICAgICAgICAgICAgcmV0 dXJuIGVsYWJUeXBlLT5nZXRBczxFbnVtVHlwZT4oKS0+Z2V0RGVjbCgpLT5nZXRRdWFsaWZpZWRO YW1lQXNTdHJpbmcoKTsKLSAgICAgICAgIH0KLSAgICAgfQotKyNlbmRpZgotICAgICBpZiAoYXV0 byAqdHlwZWRlZkRlY2wgPSBwdHItPmdldEFzPFR5cGVkZWZUeXBlPigpOyB0eXBlZGVmRGVjbCAm JiB0eXBlZGVmRGVjbC0+Z2V0RGVjbCgpKSB7Ci0gICAgICAgICByZXR1cm4gdHlwZWRlZkRlY2wt PmdldERlY2woKS0+Z2V0UXVhbGlmaWVkTmFtZUFzU3RyaW5nKCk7Ci0gICAgIH0gZWxzZSBpZiAo YXV0byB0ZW1wbGF0ZVNwZWMgPSBwdHItPmdldEFzPFRlbXBsYXRlU3BlY2lhbGl6YXRpb25UeXBl PigpKSB7Ci0tLSAKLUdpdExhYgotCgpkaWZmIC0tZ2l0IGEvOWNmNjhkYmU4NmMwMmQ3YjRlNTkx M2JlMWY2MzdiYTEyMDAwYWM4ZC5wYXRjaCBiLzljZjY4ZGJlODZjMDJkN2I0ZTU5MTNiZTFmNjM3 YmExMjAwMGFjOGQucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk5MTYwODEu LjAwMDAwMDAKLS0tIGEvOWNmNjhkYmU4NmMwMmQ3YjRlNTkxM2JlMWY2MzdiYTEyMDAwYWM4ZC5w YXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQyICswLDAgQEAKLUZyb20gOWNmNjhkYmU4NmMwMmQ3 YjRlNTkxM2JlMWY2MzdiYTEyMDAwYWM4ZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206 IEFsZXhhbmRlciBMb2huYXUgPGFsZXhhbmRlci5sb2huYXVAZ214LmRlPgotRGF0ZTogTW9uLCAx NyBOb3YgMjAyNSAyMDo0NzozMiArMDEwMAotU3ViamVjdDogW1BBVENIXSBGaXggb2xkLXN0eWxl LWNvbm5lY3QgY2hlY2sgbm90IHdvcmtpbmcgd2l0aCBMTFZNMjIKLQotVGhlIGRlY2xlcmF0aW9u IGRpZCBub3QgY29udGFpbiB0aGUgaW5mbyB3ZSBuZWVkZWQuCi0KLUNYWFJlY29yZERlY2wgMHg3 ZjBmN2M0ZjI5MzAgcHJldiAweDM4ZjM1ZDE4IDwvdXNyL2luY2x1ZGUvcXQ1L1F0REJ1cy9xZGJ1 c2Nvbm5lY3Rpb24uaDo3NDoxLCBjb2w6Nz4gY29sOjcgcmVmZXJlbmNlZCBjbGFzcyBRT2JqZWN0 Ci1gLVZpc2liaWxpdHlBdHRyIDB4N2YwZjdjNGYyOWYwIDwvdXNyL2luY2x1ZGUvcXQ1L1F0Q29y ZS9xY29tcGlsZXJkZXRlY3Rpb24uaDoyMzY6NDYsIGNvbDo2Nj4gSW5oZXJpdGVkIERlZmF1bHQK LQotQ29tcGFyZWQgdG8gYmVmb3JlLCB3aGVyZSB3ZSBoYWQgYWxsIHRoZSBtZXRob2RzIGFuZCBz byBvbi4KLVRvIGZpeCB0aGlzLCBnZXQgdGhlIGRlY2xlcmF0aW9uIG9mIHRoZSBjbGFzcwotLS0t Ci0gc3JjL2NoZWNrcy9sZXZlbDIvb2xkLXN0eWxlLWNvbm5lY3QuY3BwIHwgNSArKystLQotIDEg ZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1n aXQgYS9zcmMvY2hlY2tzL2xldmVsMi9vbGQtc3R5bGUtY29ubmVjdC5jcHAgYi9zcmMvY2hlY2tz L2xldmVsMi9vbGQtc3R5bGUtY29ubmVjdC5jcHAKLWluZGV4IGQ1YjgyZmQ0Li43NDYxYTI3ZiAx MDA2NDQKLS0tLSBhL3NyYy9jaGVja3MvbGV2ZWwyL29sZC1zdHlsZS1jb25uZWN0LmNwcAotKysr IGIvc3JjL2NoZWNrcy9sZXZlbDIvb2xkLXN0eWxlLWNvbm5lY3QuY3BwCi1AQCAtMzUwLDcgKzM1 MCw3IEBAIHN0ZDo6dmVjdG9yPEZpeEl0SGludD4gT2xkU3R5bGVDb25uZWN0OjpmaXhpdHMoaW50 IGNsYXNzaWZpY2F0aW9uLCBUICpjYWxsT3JDdG9yCi0gICAgICAgICAgICAgICAgIH0KLSAgICAg ICAgICAgICB9Ci0gCi0tICAgICAgICAgICAgaWYgKCFsYXN0UmVjb3JkRGVjbCkgewotKyAgICAg ICAgICAgIGlmICghbGFzdFJlY29yZERlY2wgfHwgIWxhc3RSZWNvcmREZWNsLT5oYXNEZWZpbml0 aW9uKCkpIHsKLSAgICAgICAgICAgICAgICAgc3RkOjpzdHJpbmcgbXNnID0gIkZhaWxlZCB0byBn ZXQgY2xhc3MgbmFtZSBmb3IgZXhwbGljaXQgcmVjZWl2ZXIiOwotICAgICAgICAgICAgICAgICBx dWV1ZU1hbnVhbEZpeGl0V2FybmluZyhzLCBtc2cpOwotICAgICAgICAgICAgICAgICByZXR1cm4g e307Ci1AQCAtMzU4LDcgKzM1OCw4IEBAIHN0ZDo6dmVjdG9yPEZpeEl0SGludD4gT2xkU3R5bGVD b25uZWN0OjpmaXhpdHMoaW50IGNsYXNzaWZpY2F0aW9uLCBUICpjYWxsT3JDdG9yCi0gCi0gICAg ICAgICAgICAgY29uc3Qgc3RkOjpzdHJpbmcgbWV0aG9kTmFtZSA9IHNpZ25hbE9yU2xvdE5hbWVG cm9tTWFjcm8ocyk7Ci0gCi0tICAgICAgICAgICAgYXV0byBtZXRob2RzID0gVXRpbHM6Om1ldGhv ZHNGcm9tU3RyaW5nKGxhc3RSZWNvcmREZWNsLCBtZXRob2ROYW1lKTsKLSsgICAgICAgICAgICAv LyBXaXRoIExMVk0yMiwgd2UgbmVlZCB0byBleHBsaWNpdGx5IGFzayBmb3IgdGhlIGRlZmluaXRp b24KLSsgICAgICAgICAgICBhdXRvIG1ldGhvZHMgPSBVdGlsczo6bWV0aG9kc0Zyb21TdHJpbmco bGFzdFJlY29yZERlY2wtPmdldERlZmluaXRpb24oKSwgbWV0aG9kTmFtZSk7Ci0gICAgICAgICAg ICAgaWYgKG1ldGhvZHMuZW1wdHkoKSkgewotICAgICAgICAgICAgICAgICBzdGQ6OnN0cmluZyBt c2c7Ci0gICAgICAgICAgICAgICAgIGlmIChpc1ByaXZhdGVTbG90KG1ldGhvZE5hbWUpKSB7Ci0t LSAKLUdpdExhYgotCgpkaWZmIC0tZ2l0IGEvY2NmZmM4Njk1NDc3ZDlmNDg2ZTUwOTg3NDQ0MGM3 YzYzZTJlYzU5OS5wYXRjaCBiL2NjZmZjODY5NTQ3N2Q5ZjQ4NmU1MDk4NzQ0NDBjN2M2M2UyZWM1 OTkucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJlYzJhZmMuLjAwMDAwMDAK LS0tIGEvY2NmZmM4Njk1NDc3ZDlmNDg2ZTUwOTg3NDQ0MGM3YzYzZTJlYzU5OS5wYXRjaAorKysg L2Rldi9udWxsCkBAIC0xLDIyNiArMCwwIEBACi1Gcm9tIGNjZmZjODY5NTQ3N2Q5ZjQ4NmU1MDk4 NzQ0NDBjN2M2M2UyZWM1OTkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBBbGV4YW5k ZXIgTG9obmF1IDxhbGV4YW5kZXIubG9obmF1QGdteC5kZT4KLURhdGU6IFN1biwgMTYgTm92IDIw MjUgMTk6NDM6NTEgKzAxMDAKLVN1YmplY3Q6IFtQQVRDSF0gRml4IGZ1bGx5LWZ1YWxpZmllZC1t b2MtdHlwZXMgbm90IHdvcmtpbmcgd2l0aCBsbHZtMjIKLQotVGhlIGNvcmUgY2hhbmdlIGlzOiBV c2UgdGhlIGxleGVyIHRvIGdldCB0aGUgc291cmNlIHRleHQgZGlyZWN0bHksIG5vcm1hbGl6ZSBp dCBhbmQgYXZvaWQgc2hlbmFuaWdhbnMgdGhhdCBhcmUgdG9vIGZyYWdpbGUKLS0tLQotIENoYW5n ZWxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMSArCi0gLi4uL2xl dmVsMC9mdWxseS1xdWFsaWZpZWQtbW9jLXR5cGVzLmNwcCAgICAgIHwgMTE2ICsrKysrKysrKysr KysrLS0tLQotIHNyYy9jaGVja3MvbGV2ZWwwL2Z1bGx5LXF1YWxpZmllZC1tb2MtdHlwZXMuaCB8 ICAgOCArLQotIDMgZmlsZXMgY2hhbmdlZCwgMTAxIGluc2VydGlvbnMoKyksIDI0IGRlbGV0aW9u cygtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL2NoZWNrcy9sZXZlbDAvZnVsbHktcXVhbGlmaWVkLW1v Yy10eXBlcy5jcHAgYi9zcmMvY2hlY2tzL2xldmVsMC9mdWxseS1xdWFsaWZpZWQtbW9jLXR5cGVz LmNwcAotaW5kZXggNDBkN2Y2Y2IuLjU3NmM5OTY4IDEwMDY0NAotLS0tIGEvc3JjL2NoZWNrcy9s ZXZlbDAvZnVsbHktcXVhbGlmaWVkLW1vYy10eXBlcy5jcHAKLSsrKyBiL3NyYy9jaGVja3MvbGV2 ZWwwL2Z1bGx5LXF1YWxpZmllZC1tb2MtdHlwZXMuY3BwCi1AQCAtMjgsNiArMjgsNzMgQEAKLSAK LSB1c2luZyBuYW1lc3BhY2UgY2xhbmc7Ci0gCi0rLyoKLSsgKiBXaGVuIHdlIGdldCB0aGUgcmF3 IHN0cmluZyBmcm9tIHRoZSBsZXhlciwgZW5zdXJlIHdlIHJlbW92ZSB1bm5lZWRlZCB3aGl0ZXNw YWNlcyB0byBnZXQgYSBwcm9wZXIgcmVwcmVzZW50YXRpb24gb2YgdGhlIGV4cHJlc3Npb24KLSsg Ki8KLStzdGF0aWMgc3RkOjpzdHJpbmcgbm9ybWFsaXplVHlwZShjb25zdCBzdGQ6OnN0cmluZyAm dHlwZSkKLSt7Ci0rICAgIHN0ZDo6c3RyaW5nIG91dDsKLSsgICAgYm9vbCBsYXN0V2FzU3BhY2Ug PSBmYWxzZTsKLSsKLSsgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCB0eXBlLnNpemUoKTsgKytp KSB7Ci0rICAgICAgICBjb25zdCBjaGFyIGMgPSB0eXBlW2ldOwotKwotKyAgICAgICAgaWYgKGlz c3BhY2Uoc3RhdGljX2Nhc3Q8dW5zaWduZWQgY2hhcj4oYykpKSB7Ci0rICAgICAgICAgICAgbGFz dFdhc1NwYWNlID0gdHJ1ZTsKLSsgICAgICAgICAgICBjb250aW51ZTsgLy8gc2tpcCBub3csIGRl Y2lkZSBsYXRlcgotKyAgICAgICAgfQotKwotKyAgICAgICAgLy8gUmVtb3ZlIHNwYWNlIGJlZm9y ZSBjZXJ0YWluIHB1bmN0dWF0aW9uIHRoYXQgaXMgcmVsZXZhbnQgaGVyZQotKyAgICAgICAgaWYg KChjID09ICc8JyB8fCBjID09ICc+JyB8fCBjID09ICcsJykgJiYgIW91dC5lbXB0eSgpICYmIG91 dC5iYWNrKCkgPT0gJyAnKSB7Ci0rICAgICAgICAgICAgb3V0LnBvcF9iYWNrKCk7Ci0rICAgICAg ICB9Ci0rCi0rICAgICAgICAvLyBBZGQgYSBzcGFjZSBpZiBuZWVkZWQgKG1hbmRhdG9yeSBzcGFj ZSBiZXR3ZWVuIGtleXdvcmRzL2lkZW50aWZpZXJzKQotKyAgICAgICAgaWYgKGxhc3RXYXNTcGFj ZSkgewotKyAgICAgICAgICAgIGlmICghb3V0LmVtcHR5KCkpIHsKLSsgICAgICAgICAgICAgICAg Y29uc3QgY2hhciBwcmV2ID0gb3V0LmJhY2soKTsKLSsgICAgICAgICAgICAgICAgLy8gaW5zZXJ0 IGEgc3BhY2UgaWYgcHJldmlvdXMgYW5kIGN1cnJlbnQgY2hhcnMgYXJlIGFscGhhbnVtZXJpYyBv ciB1bmRlcnNjb3JlcwotKyAgICAgICAgICAgICAgICBpZiAoKGlzYWxudW0ocHJldikgfHwgcHJl diA9PSAnXycpICYmIChpc2FsbnVtKGMpIHx8IGMgPT0gJ18nKSkgewotKyAgICAgICAgICAgICAg ICAgICAgb3V0ICs9ICcgJzsKLSsgICAgICAgICAgICAgICAgfQotKyAgICAgICAgICAgIH0KLSsg ICAgICAgIH0KLSsKLSsgICAgICAgIG91dCArPSBjOwotKwotKyAgICAgICAgLy8gQWRkIGV4YWN0 bHkgb25lIHNwYWNlIGFmdGVyIGNvbW1hCi0rICAgICAgICBpZiAoYyA9PSAnLCcpIHsKLSsgICAg ICAgICAgICBvdXQgKz0gJyAnOwotKyAgICAgICAgfQotKwotKyAgICAgICAgbGFzdFdhc1NwYWNl ID0gZmFsc2U7Ci0rICAgIH0KLSsKLSsgICAgcmV0dXJuIG91dDsKLSt9Ci0rCi0rc3RkOjpzdHJp bmcgRnVsbHlRdWFsaWZpZWRNb2NUeXBlczo6d3JpdHRlblR5cGUoY29uc3QgUGFybVZhckRlY2wg KnBhcmFtKSBjb25zdAotK3sKLSsgICAgVHlwZVNvdXJjZUluZm8gKlRTSSA9IHBhcmFtLT5nZXRU eXBlU291cmNlSW5mbygpOwotKyAgICBpZiAoIVRTSSkKLSsgICAgICAgIHJldHVybiB7fTsKLSsK LSsgICAgVHlwZUxvYyBUTCA9IFRTSS0+Z2V0VHlwZUxvYygpOwotKyAgICB3aGlsZSAodHJ1ZSkg ewotKyAgICAgICAgaWYgKGF1dG8gUHRyTG9jID0gVEwuZ2V0QXM8UG9pbnRlclR5cGVMb2M+KCkp IHsKLSsgICAgICAgICAgICBUTCA9IFB0ckxvYy5nZXRQb2ludGVlTG9jKCk7Ci0rICAgICAgICB9 IGVsc2UgaWYgKGF1dG8gUmVmTG9jID0gVEwuZ2V0QXM8UmVmZXJlbmNlVHlwZUxvYz4oKSkgewot KyAgICAgICAgICAgIFRMID0gUmVmTG9jLmdldFBvaW50ZWVMb2MoKTsKLSsgICAgICAgIH0gZWxz ZSB7Ci0rICAgICAgICAgICAgYnJlYWs7IC8vIHJlYWNoZWQgdW5kZXJseWluZyB0eXBlCi0rICAg ICAgICB9Ci0rICAgIH0KLSsKLSsgICAgQ2hhclNvdXJjZVJhbmdlIENTUiA9IENoYXJTb3VyY2VS YW5nZTo6Z2V0VG9rZW5SYW5nZShUTC5nZXRTb3VyY2VSYW5nZSgpKTsKLSsgICAgU3RyaW5nUmVm IHRleHQgPSBMZXhlcjo6Z2V0U291cmNlVGV4dChDU1IsIHNtKCksIGxvKCkpOwotKyAgICByZXR1 cm4gbm9ybWFsaXplVHlwZSh0ZXh0LnN0cigpKTsKLSt9Ci0rCi0gdm9pZCBGdWxseVF1YWxpZmll ZE1vY1R5cGVzOjpWaXNpdERlY2woY2xhbmc6OkRlY2wgKmRlY2wpCi0gewotICAgICBhdXRvICpt ZXRob2QgPSBkeW5fY2FzdDxDWFhNZXRob2REZWNsPihkZWNsKTsKLUBAIC01NCwxMCArMTIxLDEw IEBAIHZvaWQgRnVsbHlRdWFsaWZpZWRNb2NUeXBlczo6VmlzaXREZWNsKGNsYW5nOjpEZWNsICpk ZWNsKQotICAgICB9Ci0gCi0gICAgIHN0ZDo6c3RyaW5nIHF1YWxpZmllZFR5cGVOYW1lOwotLSAg ICBzdGQ6OnN0cmluZyB0eXBlTmFtZTsKLSAgICAgZm9yIChhdXRvICpwYXJhbSA6IG1ldGhvZC0+ cGFyYW1ldGVycygpKSB7Ci0gICAgICAgICBRdWFsVHlwZSB0ID0gY2xhenk6OnBvaW50ZWVRdWFs VHlwZShwYXJhbS0+Z2V0VHlwZSgpKTsKLS0gICAgICAgIGlmICghdHlwZUlzRnVsbHlRdWFsaWZp ZWQodCwgLypieS1yZWYqLyBxdWFsaWZpZWRUeXBlTmFtZSwgLypieS1yZWYqLyB0eXBlTmFtZSkp IHsKLSsgICAgICAgIGNvbnN0IHN0ZDo6c3RyaW5nIHR5cGVOYW1lID0gd3JpdHRlblR5cGUocGFy YW0pOwotKyAgICAgICAgaWYgKCF0eXBlSXNGdWxseVF1YWxpZmllZCh0LCAvKmJ5LXJlZiovIHF1 YWxpZmllZFR5cGVOYW1lLCB0eXBlTmFtZSkpIHsKLSAgICAgICAgICAgICBTb3VyY2VSYW5nZSBm aXhpdFJhbmdlID0gcGFyYW0tPmdldFR5cGVTb3VyY2VJbmZvKCktPmdldFR5cGVMb2MoKS5nZXRT b3VyY2VSYW5nZSgpOwotICAgICAgICAgICAgIC8vIFdlIGRvbid0IHdhbnQgdG8gaW5jbHVkZSB0 aGUgJiBvciAqIGNoYXJhY3RlcnMgZm9yIHRoZSBmaXhpdCByYW5nZQotICAgICAgICAgICAgIGlm IChwYXJhbS0+Z2V0VHlwZSgpLT5pc1JlZmVyZW5jZVR5cGUoKSB8fCBwYXJhbS0+Z2V0VHlwZSgp LT5pc1BvaW50ZXJUeXBlKCkpIHsKLUBAIC03MCw4ICsxMzcsMTggQEAgdm9pZCBGdWxseVF1YWxp ZmllZE1vY1R5cGVzOjpWaXNpdERlY2woY2xhbmc6OkRlY2wgKmRlY2wpCi0gICAgIH0KLSAKLSAg ICAgaWYgKHFzdCA9PSBRdEFjY2Vzc1NwZWNpZmllcl9TbG90IHx8IHFzdCA9PSBRdEFjY2Vzc1Nw ZWNpZmllcl9JbnZva2FibGUpIHsKLSsgICAgICAgIHN0ZDo6c3RyaW5nIHR5cGVOYW1lOwotICAg ICAgICAgUXVhbFR5cGUgcmV0dXJuVCA9IGNsYXp5Ojpwb2ludGVlUXVhbFR5cGUobWV0aG9kLT5n ZXRSZXR1cm5UeXBlKCkpOwotLSAgICAgICAgaWYgKCF0eXBlSXNGdWxseVF1YWxpZmllZChyZXR1 cm5ULCAvKmJ5LXJlZiovIHF1YWxpZmllZFR5cGVOYW1lLCAvKmJ5LXJlZiovIHR5cGVOYW1lKSkg ewotKyAgICAgICAgaWYgKGF1dG8gKlRTSSA9IG1ldGhvZC0+Z2V0VHlwZVNvdXJjZUluZm8oKSkg ewotKyAgICAgICAgICAgIEZ1bmN0aW9uVHlwZUxvYyBGVEwgPSBUU0ktPmdldFR5cGVMb2MoKS5j YXN0QXM8RnVuY3Rpb25UeXBlTG9jPigpOwotKyAgICAgICAgICAgIFNvdXJjZVJhbmdlIFNSID0g RlRMLmdldFJldHVybkxvYygpLmdldFNvdXJjZVJhbmdlKCk7Ci0rICAgICAgICAgICAgaWYgKFNS LmlzVmFsaWQoKSkgewotKyAgICAgICAgICAgICAgICBTdHJpbmdSZWYgcmV0dXJuVGV4dCA9IExl eGVyOjpnZXRTb3VyY2VUZXh0KENoYXJTb3VyY2VSYW5nZTo6Z2V0VG9rZW5SYW5nZShTUiksIHNt KCksIGxvKCkpOwotKyAgICAgICAgICAgICAgICB0eXBlTmFtZSA9IG5vcm1hbGl6ZVR5cGUocmV0 dXJuVGV4dC5zdHIoKSk7Ci0rICAgICAgICAgICAgfQotKyAgICAgICAgfQotKwotKyAgICAgICAg aWYgKCF0eXBlTmFtZS5lbXB0eSgpICYmICF0eXBlSXNGdWxseVF1YWxpZmllZChyZXR1cm5ULCAv KmJ5LXJlZiovIHF1YWxpZmllZFR5cGVOYW1lLCB0eXBlTmFtZSkpIHsKLSAgICAgICAgICAgICBT b3VyY2VSYW5nZSByZXR1cm5UeXBlU291cmNlUmFuZ2UgPSBtZXRob2QtPmdldFJldHVyblR5cGVT b3VyY2VSYW5nZSgpOwotICAgICAgICAgICAgIC8vIFdlIGRvbid0IHdhbnQgdG8gaW5jbHVkZSB0 aGUgJiBvciAqIGNoYXJhY3RlcnMgZm9yIHRoZSBmaXhpdCByYW5nZQotICAgICAgICAgICAgIGlm IChtZXRob2QtPmdldFJldHVyblR5cGUoKS0+aXNSZWZlcmVuY2VUeXBlKCkgfHwgbWV0aG9kLT5n ZXRSZXR1cm5UeXBlKCktPmlzUG9pbnRlclR5cGUoKSkgewotQEAgLTg0LDI1ICsxNjEsMjMgQEAg dm9pZCBGdWxseVF1YWxpZmllZE1vY1R5cGVzOjpWaXNpdERlY2woY2xhbmc6OkRlY2wgKmRlY2wp Ci0gICAgIH0KLSB9Ci0gCi0tc3RkOjpzdHJpbmcgRnVsbHlRdWFsaWZpZWRNb2NUeXBlczo6Z2V0 UXVhbGlmaWVkTmFtZU9mVHlwZShjb25zdCBUeXBlICpwdHIsIGJvb2wgY2hlY2tFbGFiVHlwZSkg Y29uc3QKLStzdGQ6OnN0cmluZyBGdWxseVF1YWxpZmllZE1vY1R5cGVzOjpnZXRRdWFsaWZpZWRO YW1lT2ZUeXBlKGNvbnN0IFR5cGUgKnB0ciwgYm9vbCByZXNvbHZlVGVtcGxhdGVBcmdzKSBjb25z dAotIHsKLS0jaWYgTExWTV9WRVJTSU9OX01BSk9SIDwgMjIKLS0gICAgaWYgKGF1dG8gKmVsYWJU eXBlID0gZHluX2Nhc3Q8RWxhYm9yYXRlZFR5cGU+KHB0cik7IGVsYWJUeXBlICYmIGNoZWNrRWxh YlR5cGUpIHsKLS0gICAgICAgIGlmIChhdXRvICpzcGVjVHlwZSA9IGR5bl9jYXN0PFRlbXBsYXRl U3BlY2lhbGl6YXRpb25UeXBlPihlbGFiVHlwZS0+Z2V0TmFtZWRUeXBlKCkuZ2V0VHlwZVB0ck9y TnVsbCgpKTsgc3BlY1R5cGUgJiYgIXB0ci0+Z2V0QXM8VHlwZWRlZlR5cGU+KCkpIHsKLS0gICAg ICAgICAgICByZXR1cm4gcmVzb2x2ZVRlbXBsYXRlVHlwZShzcGVjVHlwZSwgZmFsc2UpOwotLSAg ICAgICAgfQotLSAgICAgICAgaWYgKGVsYWJUeXBlLT5pc0VudW1lcmFsVHlwZSgpICYmIGVsYWJU eXBlLT5nZXRBczxFbnVtVHlwZT4oKSkgewotLSAgICAgICAgICAgIHJldHVybiBlbGFiVHlwZS0+ Z2V0QXM8RW51bVR5cGU+KCktPmdldERlY2woKS0+Z2V0UXVhbGlmaWVkTmFtZUFzU3RyaW5nKCk7 Ci0tICAgICAgICB9Ci0rICAgIGlmIChwdHItPmlzRW51bWVyYWxUeXBlKCkgJiYgcHRyLT5nZXRB czxFbnVtVHlwZT4oKSkgewotKyAgICAgICAgcmV0dXJuIHB0ci0+Z2V0QXM8RW51bVR5cGU+KCkt PmdldERlY2woKS0+Z2V0UXVhbGlmaWVkTmFtZUFzU3RyaW5nKCk7Ci0gICAgIH0KLS0jZW5kaWYK LSAgICAgaWYgKGF1dG8gKnR5cGVkZWZEZWNsID0gcHRyLT5nZXRBczxUeXBlZGVmVHlwZT4oKTsg dHlwZWRlZkRlY2wgJiYgdHlwZWRlZkRlY2wtPmdldERlY2woKSkgewotICAgICAgICAgcmV0dXJu IHR5cGVkZWZEZWNsLT5nZXREZWNsKCktPmdldFF1YWxpZmllZE5hbWVBc1N0cmluZygpOwotKyAg ICB9Ci0rCi0rICAgIGVsc2UgaWYgKGF1dG8gdGVtcGxhdGVTcGVjID0gcHRyLT5nZXRBczxUZW1w bGF0ZVNwZWNpYWxpemF0aW9uVHlwZT4oKTsgdGVtcGxhdGVTcGVjICYmIHJlc29sdmVUZW1wbGF0 ZUFyZ3MpIHsKLSsgICAgICAgIHJldHVybiByZXNvbHZlVGVtcGxhdGVUeXBlKHRlbXBsYXRlU3Bl YywgZmFsc2UpOwotICAgICB9IGVsc2UgaWYgKGF1dG8gdGVtcGxhdGVTcGVjID0gcHRyLT5nZXRB czxUZW1wbGF0ZVNwZWNpYWxpemF0aW9uVHlwZT4oKSkgewotICAgICAgICAgLy8gSW4gY2FzZSBv bmUgdXNlcyBhIHR5cGVkZWYgd2l0aCBnZW5lcmljcywgbGlrZSBRVmVjdG9yPFFTdHJpbmc+IGlu IFF0NgotICAgICAgICAgLy8gVGhlIGRvY3MgaW5kaWNhdGUgZ2V0QXNUZW1wbGF0ZURlY2wgbWln aHQgYmUgbnVsbCAtIHNvIGJlIHByZXBhcmVkIGZvciB0aGF0Ci0gICAgICAgICBpZiAoYXV0byAq ZGVjbCA9IHRlbXBsYXRlU3BlYy0+Z2V0VGVtcGxhdGVOYW1lKCkuZ2V0QXNUZW1wbGF0ZURlY2wo KSkgewotICAgICAgICAgICAgIHJldHVybiBkZWNsLT5nZXRRdWFsaWZpZWROYW1lQXNTdHJpbmco KTsKLSsgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICB9Ci0gICAgIH0gZWxzZSBpZiAoYXV0byBy ZWNvcmREZWNsID0gcHRyLT5nZXRBc1JlY29yZERlY2woKSkgewotICAgICAgICAgcmV0dXJuIHJl Y29yZERlY2wtPmdldFF1YWxpZmllZE5hbWVBc1N0cmluZygpOwotQEAgLTEzMiwzMCArMjA3LDI3 IEBAIHN0ZDo6c3RyaW5nIEZ1bGx5UXVhbGlmaWVkTW9jVHlwZXM6OnJlc29sdmVUZW1wbGF0ZVR5 cGUoY29uc3QgY2xhbmc6OlRlbXBsYXRlU3BlCi0gICAgICAgICAgICAgaWYgKGFyZ1R5cGUuaXND b25zdFF1YWxpZmllZCgpKSB7Ci0gICAgICAgICAgICAgICAgIHN0ciArPSAiY29uc3QgIjsKLSAg ICAgICAgICAgICB9Ci0tICAgICAgICAgICAgc3RyICs9IGdldFF1YWxpZmllZE5hbWVPZlR5cGUo YXJnVHlwZS5nZXRUeXBlUHRyKCkpOwotKyAgICAgICAgICAgIHN0ciArPSBnZXRRdWFsaWZpZWRO YW1lT2ZUeXBlKGFyZ1R5cGUuZ2V0VHlwZVB0cigpLCB0cnVlKTsKLSAgICAgICAgIH0KLSAgICAg fQotICAgICBzdHIgKz0gIj4iOwotICAgICByZXR1cm4gc3RyOwotIH0KLSAKLS1ib29sIEZ1bGx5 UXVhbGlmaWVkTW9jVHlwZXM6OnR5cGVJc0Z1bGx5UXVhbGlmaWVkKFF1YWxUeXBlIHQsIHN0ZDo6 c3RyaW5nICZxdWFsaWZpZWRUeXBlTmFtZSwgc3RkOjpzdHJpbmcgJnR5cGVOYW1lKSBjb25zdAot K2Jvb2wgRnVsbHlRdWFsaWZpZWRNb2NUeXBlczo6dHlwZUlzRnVsbHlRdWFsaWZpZWQoUXVhbFR5 cGUgdCwgc3RkOjpzdHJpbmcgJnF1YWxpZmllZFR5cGVOYW1lLCBjb25zdCBzdGQ6OnN0cmluZyAm dHlwZU5hbWUpIGNvbnN0Ci0gewotICAgICBxdWFsaWZpZWRUeXBlTmFtZS5jbGVhcigpOwotLSAg ICB0eXBlTmFtZS5jbGVhcigpOwotLQotICAgICBpZiAoYXV0byAqcHRyID0gdC5nZXRUeXBlUHRy T3JOdWxsKCk7IHB0ciAmJiAocHRyLT5pc1JlY29yZFR5cGUoKSB8fCBwdHItPmlzRW51bWVyYWxU eXBlKCkpKSB7Ci0tICAgICAgICB0eXBlTmFtZSA9IGNsYXp5OjpuYW1lKHQuZ2V0VW5xdWFsaWZp ZWRUeXBlKCksIGxvKCksIC8qYXNXcml0dGVuPSovdHJ1ZSk7IC8vIElnbm9yZSBxdWFsaWZpZXJz IGxpa2UgY29uc3QgaGVyZQotICAgICAgICAgaWYgKHR5cGVOYW1lID09ICJRUHJpdmF0ZVNpZ25h bCIpIHsKLSAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgIH0KLSAKLSAgICAgICAg IGlmIChhdXRvIHNwZWNUeXBlID0gcHRyLT5nZXRBczxUZW1wbGF0ZVNwZWNpYWxpemF0aW9uVHlw ZT4oKTsgc3BlY1R5cGUgJiYgIXB0ci0+Z2V0QXM8VHlwZWRlZlR5cGU+KCkpIHsKLS0gICAgICAg ICAgICBxdWFsaWZpZWRUeXBlTmFtZSA9IHJlc29sdmVUZW1wbGF0ZVR5cGUoc3BlY1R5cGUpOwot KyAgICAgICAgICAgIHF1YWxpZmllZFR5cGVOYW1lID0gcmVzb2x2ZVRlbXBsYXRlVHlwZShzcGVj VHlwZSwgZmFsc2UpOwotICAgICAgICAgfSBlbHNlIGlmIChhdXRvIHJlY29yZERlY2wgPSBwdHIt PmdldEFzUmVjb3JkRGVjbCgpOyByZWNvcmREZWNsICYmIHJlY29yZERlY2wtPmlzSW5Bbm9ueW1v dXNOYW1lc3BhY2UoKSkgewotICAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICAgfSBl bHNlIHsKLS0gICAgICAgICAgICBxdWFsaWZpZWRUeXBlTmFtZSA9IGdldFF1YWxpZmllZE5hbWVP ZlR5cGUocHRyKTsKLSsgICAgICAgICAgICBxdWFsaWZpZWRUeXBlTmFtZSA9IGdldFF1YWxpZmll ZE5hbWVPZlR5cGUocHRyLCB0cnVlKTsKLSAgICAgICAgIH0KLSAgICAgICAgIHJldHVybiBxdWFs aWZpZWRUeXBlTmFtZS5lbXB0eSgpIHx8IHR5cGVOYW1lID09IHF1YWxpZmllZFR5cGVOYW1lOwot ICAgICB9Ci1AQCAtMjEyLDggKzI4NCwxMCBAQCBib29sIEZ1bGx5UXVhbGlmaWVkTW9jVHlwZXM6 OmhhbmRsZVFfUFJPUEVSVFkoQ1hYTWV0aG9kRGVjbCAqbWV0aG9kKQotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgICAgICAgICAgICAgICAgICB9Ci0gCi0t ICAgICAgICAgICAgICAgICAgICAgICAgc3RkOjpzdHJpbmcgbmFtZUFzV3JpdHRlbjsKLSsgICAg ICAgICAgICAgICAgICAgICAgICBRdWFsVHlwZSBjYXN0VHlwZSA9IGNsYXp5Ojpwb2ludGVlUXVh bFR5cGUocmVpbnRlcnByZXQtPmdldFR5cGVBc1dyaXR0ZW4oKSkuZ2V0VW5xdWFsaWZpZWRUeXBl KCk7Ci0rICAgICAgICAgICAgICAgICAgICAgICAgc3RkOjpzdHJpbmcgbmFtZUFzV3JpdHRlbiA9 IGNhc3RUeXBlLmdldFVucXVhbGlmaWVkVHlwZSgpLmdldEFzU3RyaW5nKCk7Ci0gICAgICAgICAg ICAgICAgICAgICAgICAgc3RkOjpzdHJpbmcgcXVhbGlmaWVkTmFtZTsKLSsKLSAgICAgICAgICAg ICAgICAgICAgICAgICBpZiAoIXR5cGVJc0Z1bGx5UXVhbGlmaWVkKHF0LCBxdWFsaWZpZWROYW1l LCBuYW1lQXNXcml0dGVuKSkgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyB3YXJu IGluIHRoZSBjeHhyZWNvcmRkZWNsLCBzaW5jZSB3ZSBkb24ndCB3YW50IHRvIHdhcm4gaW4gdGhl IC5tb2MgZmlsZXMuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIElkZWFsbHkgd2Ug d291bGQgZG8gc29tZSBjcm9zcyBjaGVja2luZyB3aXRoIHRoZSBRX1BST1BFUlRJRVMsIGJ1dCB0 aGF0J3Mgbm90IGluIHRoZSBBU1QKLWRpZmYgLS1naXQgYS9zcmMvY2hlY2tzL2xldmVsMC9mdWxs eS1xdWFsaWZpZWQtbW9jLXR5cGVzLmggYi9zcmMvY2hlY2tzL2xldmVsMC9mdWxseS1xdWFsaWZp ZWQtbW9jLXR5cGVzLmgKLWluZGV4IDNiNzkxNjY3Li43YjM0YTk5YyAxMDA2NDQKLS0tLSBhL3Ny Yy9jaGVja3MvbGV2ZWwwL2Z1bGx5LXF1YWxpZmllZC1tb2MtdHlwZXMuaAotKysrIGIvc3JjL2No ZWNrcy9sZXZlbDAvZnVsbHktcXVhbGlmaWVkLW1vYy10eXBlcy5oCi1AQCAtMzIsOSArMzIsMTEg QEAgcHJpdmF0ZToKLSAgICAgYm9vbCBoYW5kbGVRX1BST1BFUlRZKGNsYW5nOjpDWFhNZXRob2RE ZWNsICopOwotICAgICB2b2lkIFZpc2l0TWFjcm9FeHBhbmRzKGNvbnN0IGNsYW5nOjpUb2tlbiAm TWFjcm9OYW1lVG9rLCBjb25zdCBjbGFuZzo6U291cmNlUmFuZ2UgJnJhbmdlLCBjb25zdCBjbGFu Zzo6TWFjcm9JbmZvICptaW5mbyA9IG51bGxwdHIpIG92ZXJyaWRlOwotICAgICB2b2lkIHJlZ2lz dGVyUV9HQURHRVQoY2xhbmc6OlNvdXJjZUxvY2F0aW9uKTsKLS0gICAgYm9vbCB0eXBlSXNGdWxs eVF1YWxpZmllZChjbGFuZzo6UXVhbFR5cGUgdCwgc3RkOjpzdHJpbmcgJnF1YWxpZmllZFR5cGVO YW1lLCBzdGQ6OnN0cmluZyAmdHlwZU5hbWUpIGNvbnN0OwotLSAgICBzdGQ6OnN0cmluZyBnZXRR dWFsaWZpZWROYW1lT2ZUeXBlKGNvbnN0IGNsYW5nOjpUeXBlICpwdHIsIGJvb2wgY2hlY2tFbGFi VHlwZSA9IHRydWUpIGNvbnN0OwotLSAgICBzdGQ6OnN0cmluZyByZXNvbHZlVGVtcGxhdGVUeXBl KGNvbnN0IGNsYW5nOjpUZW1wbGF0ZVNwZWNpYWxpemF0aW9uVHlwZSAqcHRyLCBib29sIGNoZWNr RWxhYlR5cGUgPSB0cnVlKSBjb25zdDsKLSsgICAgYm9vbCB0eXBlSXNGdWxseVF1YWxpZmllZChj bGFuZzo6UXVhbFR5cGUgdCwgc3RkOjpzdHJpbmcgJnF1YWxpZmllZFR5cGVOYW1lLCBjb25zdCBz dGQ6OnN0cmluZyAmdHlwZU5hbWUpIGNvbnN0OwotKyAgICBzdGQ6OnN0cmluZyBnZXRRdWFsaWZp ZWROYW1lT2ZUeXBlKGNvbnN0IGNsYW5nOjpUeXBlICpwdHIsIGJvb2wgcmVzb2x2ZVRlbXBsYXRl QXJncykgY29uc3Q7Ci0rICAgIHN0ZDo6c3RyaW5nIHJlc29sdmVUZW1wbGF0ZVR5cGUoY29uc3Qg Y2xhbmc6OlRlbXBsYXRlU3BlY2lhbGl6YXRpb25UeXBlICpwdHIsIGJvb2wgcmVzb2x2ZVRlbXBs YXRlQXJncykgY29uc3Q7Ci0rCi0rICAgIHN0ZDo6c3RyaW5nIHdyaXR0ZW5UeXBlKGNvbnN0IGNs YW5nOjpQYXJtVmFyRGVjbCAqcGFyYW0pIGNvbnN0OwotIAotICAgICBzdGQ6OnZlY3RvcjxjbGFu Zzo6U291cmNlTG9jYXRpb24+IG1fcWdhZGdldE1hY3JvTG9jYXRpb25zOwotIH07Ci0tLSAKLUdp dExhYgotCgpkaWZmIC0tZ2l0IGEvY2xhenkuc3BlYyBiL2NsYXp5LnNwZWMKaW5kZXggY2FhMTVj Yy4uZWYwMTQ2YyAxMDA2NDQKLS0tIGEvY2xhenkuc3BlYworKysgYi9jbGF6eS5zcGVjCkBAIC0x LDIyICsxLDE4IEBACiBOYW1lOiAgICAgICAgICAgY2xhenkKIFN1bW1hcnk6ICAgICAgICBRdCBv cmllbnRlZCBjb2RlIGNoZWNrZXIgYmFzZWQgb24gY2xhbmcgZnJhbWV3b3JrCi1WZXJzaW9uOiAg ICAgICAgMS4xNgotUmVsZWFzZTogICAgICAgIDUlez9kaXN0fQorVmVyc2lvbjogICAgICAgIDEu MTcKK1JlbGVhc2U6ICAgICAgICAxJXs/ZGlzdH0KIExpY2Vuc2U6ICAgICAgICBMR1BMLTIuMC1v ci1sYXRlcgogVVJMOiAgICAgICAgICAgIGh0dHBzOi8vaW52ZW50LmtkZS5vcmcvc2RrLyV7bmFt ZX0KIAogJWlmIDAlez9jb21taXRkYXRlfQogU291cmNlMDogICAgICAgICV7dXJsfS8tL2FyY2hp dmUvJXtjb21taXR9LyV7bmFtZX0tJXtjb21taXR9LnRhci5negogJWVsc2UKLVNvdXJjZTA6ICAg ICAgICBodHRwczovL2Rvd25sb2FkLmtkZS5vcmcvc3RhYmxlLyV7bmFtZX0vJXt2ZXJzaW9ufS9z cmMvJXtuYW1lfS12JXt2ZXJzaW9ufS50YXIueHoKK1NvdXJjZTA6ICAgICAgICBodHRwczovL2Rv d25sb2FkLmtkZS5vcmcvc3RhYmxlLyV7bmFtZX0vJXt2ZXJzaW9ufS9zcmMvJXtuYW1lfS0le3Zl cnNpb259LnRhci54egogJWVuZGlmCiAKIFBhdGNoMDogICAgICAgICBjbGF6eS1uby1ycGF0aC5w YXRjaAotIyBQYXRjaGVzIHJlcXVpcmVkIGZvciBMTFZNIDIyLgotUGF0Y2gxOiAgICAgICAgIDgx YjdjZjM4YTQ0NGY2Y2E3YTUzOWNlYjUxYWRhMDUwMjE0ZjNiNDcucGF0Y2gKLVBhdGNoMjogICAg ICAgICA3NjIxMjg4NTcyOWJmOWRjZmVhN2MxOThkMzJhMTU2NTEzMTBhY2ViLnBhdGNoCi1QYXRj aDM6ICAgICAgICAgY2NmZmM4Njk1NDc3ZDlmNDg2ZTUwOTg3NDQ0MGM3YzYzZTJlYzU5OS5wYXRj aAotUGF0Y2g0OiAgICAgICAgIDljZjY4ZGJlODZjMDJkN2I0ZTU5MTNiZTFmNjM3YmExMjAwMGFj OGQucGF0Y2gKKwogCiBCdWlsZFJlcXVpcmVzOiBjbWFrZQogQnVpbGRSZXF1aXJlczogZ2NjLWMr KwpAQCAtNjEsNiArNTcsOSBAQCByZWZhY3RvcmluZy4KIAogCiAlY2hhbmdlbG9nCisqIFRodSBG ZWIgMjYgMjAyNiBKYW4gR3J1bGljaCA8amdydWxpY2hAcmVkaGF0LmNvbT4gLSAxLjE3LTEKKy0g MS4xNworCiAqIEZyaSBKYW4gMTYgMjAyNiBGZWRvcmEgUmVsZWFzZSBFbmdpbmVlcmluZyA8cmVs ZW5nQGZlZG9yYXByb2plY3Qub3JnPiAtIDEuMTYtNAogLSBSZWJ1aWx0IGZvciBodHRwczovL2Zl ZG9yYXByb2plY3Qub3JnL3dpa2kvRmVkb3JhXzQ0X01hc3NfUmVidWlsZAogCgpkaWZmIC0tZ2l0 IGEvc291cmNlcyBiL3NvdXJjZXMKaW5kZXggZTY2ZTE5Yy4uMjcyMTM0ZCAxMDA2NDQKLS0tIGEv c291cmNlcworKysgYi9zb3VyY2VzCkBAIC0xICsxIEBACi1TSEE1MTIgKGNsYXp5LXYxLjE2LnRh ci54eikgPSA1OTc4YWQxODRiYTRlMThkYmM4YWY5ZTFjOWNiYWU2MDNlM2UzMmE4ZTJlNmI5ZDFj ODkzYmYyOWMxYTIzMjM3YjcxNTVmMGM2MjIyMmFhOTQ5ZDBjNGFiYjcxYzFjOTdjZjRlNGRlMzBm NmNhY2Q0NzhhMjM5YjI4Mzc4OWNiNAorU0hBNTEyIChjbGF6eS0xLjE3LnRhci54eikgPSBhZmQ1 ZjU1MTcxMDgxMjBmYjgzMzQyZDZlZTczMDJmMGZiYjU0NzJkNWJjYjU4OTYxYjdkYzk1NDJjOTVi YWY1YjZlNmUxMzA5NjJlNzFiZDUyOGI5OGM5YjlmZmRlZWFhYmZhNDA3MDFmZWEwMzBmNGViYzdi ZWIxOTNjZDczYQo=