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: Rich Mattes To: git-commits@fedoraproject.org Subject: [rpms/pcl] f44: Update to release 1.11.0 Date: Thu, 25 Jun 2026 05:49:57 GMT Message-ID: <178236659705.1.17685325619168590433.rpms-pcl-43aafa3db8d5@fedoraproject.org> List-ID: X-Git-Repo: rpms/pcl X-Git-Branch: f44 X-Git-Rev: 43aafa3db8d51de0d76571b048a99c9576041f9e QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvcGNsCkJyYW5jaCA6 IGY0NApDb21taXQgOiA0M2FhZmEzZGI4ZDUxZGUwZDc2NTcxYjA0OGE5OWM5NTc2MDQxZjllCkF1 dGhvciA6IFJpY2ggTWF0dGVzIDxyaWNobWF0dGVzQGdtYWlsLmNvbT4KRGF0ZSAgIDogMjAyMC0w Ni0wMlQxNzoyNzozOC0wNDowMApTdGF0cyAgOiArNDc5Ly01NjUgaW4gMTUgZmlsZShzKQpVUkwg ICAgOiBodHRwczovL3NyYy5mZWRvcmFwcm9qZWN0Lm9yZy9ycG1zL3BjbC9jLzQzYWFmYTNkYjhk NTFkZTBkNzY1NzFiMDQ4YTk5Yzk1NzYwNDFmOWU/YnJhbmNoPWY0NAoKTG9nOgpVcGRhdGUgdG8g cmVsZWFzZSAxLjExLjAKCi0tLQpkaWZmIC0tZ2l0IGEvLmdpdGlnbm9yZSBiLy5naXRpZ25vcmUK aW5kZXggMjQ4NWM2Zi4uMmRiZWI3OCAxMDA2NDQKLS0tIGEvLmdpdGlnbm9yZQorKysgYi8uZ2l0 aWdub3JlCkBAIC0xMywzICsxMyw0IEBACiAvcGNsLTEuOC4wLWZlZG9yYS50YXIueHoKIC9wY2wt MS44LjEtZmVkb3JhLnRhci54egogL3BjbC0xLjkuMS1mZWRvcmEudGFyLnh6CisvcGNsLTEuMTEu MC1mZWRvcmEudGFyLnh6CgpkaWZmIC0tZ2l0IGEvcGNsLTEuMTEuMC1kb3h5Zml4LnBhdGNoIGIv cGNsLTEuMTEuMC1kb3h5Zml4LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAuLmEwOGYzNjYKLS0tIC9kZXYvbnVsbAorKysgYi9wY2wtMS4xMS4wLWRveHlmaXgucGF0Y2gK QEAgLTAsMCArMSwyMCBAQAorZGlmZiAtdXAgLi9kb2MvZG94eWdlbi9kb3h5ZmlsZS5pbi5kb3h5 Zml4IC4vZG9jL2RveHlnZW4vZG94eWZpbGUuaW4KKy0tLSAuL2RvYy9kb3h5Z2VuL2RveHlmaWxl LmluLmRveHlmaXgJMjAyMC0wNS0xMSAwNDo1OToyNi4wMDAwMDAwMDAgLTA0MDAKKysrKyAuL2Rv Yy9kb3h5Z2VuL2RveHlmaWxlLmluCTIwMjAtMDUtMjkgMTc6NTQ6MzIuMjQ5ODgwODE5IC0wNDAw CitAQCAtMTI1LDYgKzEyNSw3IEBAIEVYQ0xVREUgICAgICAgICAgICAgICAgPSAiQFBDTF9TT1VS Q0VfREkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIkBQQ0xfU09VUkNFX0RJUkAvdGVzdCIg XAorICAgICAgICAgICAgICAgICAgICAgICAgICAiQFBDTF9TT1VSQ0VfRElSQC9hbmRyb2lkIiBc CisgICAgICAgICAgICAgICAgICAgICAgICAgICJAUENMX1NPVVJDRV9ESVJAL2FwcHMiIFwKKysg ICAgICAgICAgICAgICAgICAgICAgICAgIkBQQ0xfU09VUkNFX0RJUkAvYnVpbGQiIFwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgIkBQQ0xfU09VUkNFX0RJUkAvdG9vbHMiIFwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgIkBQQ0xfU09VUkNFX0RJUkAvc3VyZmFjZS9pbmNsdWRlL3BjbC9z dXJmYWNlL3BvaXNzb24iIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIkBQQ0xfU09VUkNF X0RJUkAvc3VyZmFjZS9pbmNsdWRlL3BjbC9zdXJmYWNlL2ltcGwvcG9pc3NvbiIgXAorQEAgLTIy OCw3ICsyMjksNyBAQCBFWFRSQV9TRUFSQ0hfTUFQUElOR1MgID0KKyAjLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCisgIyBDb25maWd1cmF0aW9uIG9wdGlvbnMgcmVsYXRlZCB0byB0aGUgTGFUZVggb3V0cHV0 CisgIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLUdFTkVSQVRFX0xBVEVYICAgICAgICAgPSBZRVMKKytH RU5FUkFURV9MQVRFWCAgICAgICAgID0gTk8KKyBMQVRFWF9PVVRQVVQgICAgICAgICAgID0gbGF0 ZXgKKyBMQVRFWF9DTURfTkFNRSAgICAgICAgID0gbGF0ZXgKKyBNQUtFSU5ERVhfQ01EX05BTUUg ICAgID0gbWFrZWluZGV4CgpkaWZmIC0tZ2l0IGEvcGNsLTEuMTEuMC1mZWRvcmEucGF0Y2ggYi9w Y2wtMS4xMS4wLWZlZG9yYS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw Li4zMmU0YjZjCi0tLSAvZGV2L251bGwKKysrIGIvcGNsLTEuMTEuMC1mZWRvcmEucGF0Y2gKQEAg LTAsMCArMSwxMiBAQAorZGlmZiAtdXAgLi9QQ0xDb25maWcuY21ha2UuaW4uZmVkb3JhIC4vUENM Q29uZmlnLmNtYWtlLmluCistLS0gLi9QQ0xDb25maWcuY21ha2UuaW4uZmVkb3JhCTIwMjAtMDUt MjkgMTc6NDg6NTUuODg0OTI0MzkxIC0wNDAwCisrKysgLi9QQ0xDb25maWcuY21ha2UuaW4JMjAy MC0wNS0yOSAxNzo1MDoyNS4yMTExMzk2NzcgLTA0MDAKK0BAIC0zOTgsNyArMzk4LDcgQEAgaWYo V0lOMzIgQU5EIE5PVCBNSU5HVykKKyAgIGdldF9maWxlbmFtZV9jb21wb25lbnQoUENMX1JPT1Qg IiR7UENMX0RJUn0iIFBBVEgpCisgZWxzZSgpCisgIyBQQ0xDb25maWcuY21ha2UgaXMgaW5zdGFs bGVkIHRvIFBDTF9ST09UL3NoYXJlL3BjbC14LnkKKy0gIGdldF9maWxlbmFtZV9jb21wb25lbnQo UENMX1JPT1QgIiR7Q01BS0VfQ1VSUkVOVF9MSVNUX0RJUn0vLi4vLi4iIEFCU09MVVRFKQorKyAg c2V0KFBDTF9ST09UICJAQ01BS0VfSU5TVEFMTF9QUkVGSVhAIikKKyBlbmRpZigpCisgCisgIyBj aGVjayB3aGV0aGVyIFBDTENvbmZpZy5jbWFrZSBpcyBmb3VuZCBpbnRvIGEgUENMIGluc3RhbGxh dGlvbiBvciBpbiBhIGJ1aWxkIHRyZWUKCmRpZmYgLS1naXQgYS9wY2wtMS4xMS4wLW1ldHNsaWIu cGF0Y2ggYi9wY2wtMS4xMS4wLW1ldHNsaWIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggMDAwMDAwMC4uZTBiNDkxZQotLS0gL2Rldi9udWxsCisrKyBiL3BjbC0xLjExLjAtbWV0c2xp Yi5wYXRjaApAQCAtMCwwICsxLDI0IEBACitkaWZmIC11cCAuL3JlY29nbml0aW9uL2luY2x1ZGUv cGNsL3JlY29nbml0aW9uL2h2L2h2X2dvLmgubWV0c2xpYiAuL3JlY29nbml0aW9uL2luY2x1ZGUv cGNsL3JlY29nbml0aW9uL2h2L2h2X2dvLmgKKy0tLSAuL3JlY29nbml0aW9uL2luY2x1ZGUvcGNs L3JlY29nbml0aW9uL2h2L2h2X2dvLmgubWV0c2xpYgkyMDIwLTA1LTI5IDE3OjQ3OjIxLjM0MzYw MDUxMCAtMDQwMAorKysrIC4vcmVjb2duaXRpb24vaW5jbHVkZS9wY2wvcmVjb2duaXRpb24vaHYv aHZfZ28uaAkyMDIwLTA1LTI5IDE3OjQ4OjEyLjE4NTIzNzUwNiAtMDQwMAorQEAgLTIwLDcgKzIw LDcgQEAKKyAjaW5jbHVkZSA8cGNsL3BjbF9tYWNyb3MuaD4KKyAjaW5jbHVkZSA8cGNsL3JlY29n bml0aW9uL2h2L2h5cG90aGVzZXNfdmVyaWZpY2F0aW9uLmg+CisgI2luY2x1ZGUgPHBjbC9jb21t b24vY29tbW9uLmg+CistI2luY2x1ZGUgPHBjbC9yZWNvZ25pdGlvbi8zcmRwYXJ0eS9tZXRzbGli L21ldHMuaGg+CisrI2luY2x1ZGUgPG1ldHNsaWIvbWV0cy5oaD4KKyAjaW5jbHVkZSA8cGNsL2Zl YXR1cmVzL25vcm1hbF8zZC5oPgorIAorICNpbmNsdWRlIDxtZW1vcnk+CitkaWZmIC11cCAuL3Jl Y29nbml0aW9uL2luY2x1ZGUvcGNsL3JlY29nbml0aW9uL2ltcGwvaHYvaHZfZ28uaHBwLm1ldHNs aWIgLi9yZWNvZ25pdGlvbi9pbmNsdWRlL3BjbC9yZWNvZ25pdGlvbi9pbXBsL2h2L2h2X2dvLmhw cAorLS0tIC4vcmVjb2duaXRpb24vaW5jbHVkZS9wY2wvcmVjb2duaXRpb24vaW1wbC9odi9odl9n by5ocHAubWV0c2xpYgkyMDIwLTA1LTExIDA0OjU5OjI2LjAwMDAwMDAwMCAtMDQwMAorKysrIC4v cmVjb2duaXRpb24vaW5jbHVkZS9wY2wvcmVjb2duaXRpb24vaW1wbC9odi9odl9nby5ocHAJMjAy MC0wNS0yOSAxNzo0NzoyMS4zNDM2MDA1MTAgLTA0MDAKK0BAIC00NTMsNyArNDUzLDcgQEAgdm9p ZCBwY2w6Okdsb2JhbEh5cG90aGVzZXNWZXJpZmljYXRpb248TQorICAgbWV0czo6bm9pbXByb3Zl X3Rlcm1pbmF0aW9uX2NyaXRlcmlhIG5vaW1wcm92ZSAobWF4X2l0ZXJhdGlvbnNfKTsKKyAgIG1l dHM6OmxpbmVhcl9jb29saW5nIGxpbmVhcl9jb29saW5nOworICAgbWV0czo6c2ltdWxhdGVkX2Fu bmVhbGluZzxtb3ZlX21hbmFnZXI+IHNhIChtb2RlbCwgYmVzdF9yZWNvcmRlciwgbmVpZ2gsIG5v aW1wcm92ZSwgbGluZWFyX2Nvb2xpbmcsIGluaXRpYWxfdGVtcF8sIDFlLTcsIDIpOworLSAgc2Eu c2V0QXBwbHlBbmRFdmFsdWF0ZSh0cnVlKTsKKysgIC8vc2Euc2V0QXBwbHlBbmRFdmFsdWF0ZSh0 cnVlKTsKKyAKKyAgIHsKKyAgICAgcGNsOjpTY29wZVRpbWUgdCAoIlNBIHNlYXJjaC4uLiIpOwoK ZGlmZiAtLWdpdCBhL3BjbC0xLjExLjAtb29tLnBhdGNoIGIvcGNsLTEuMTEuMC1vb20ucGF0Y2gK bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2QyMDMzOQotLS0gL2Rldi9udWxs CisrKyBiL3BjbC0xLjExLjAtb29tLnBhdGNoCkBAIC0wLDAgKzEsMzU5IEBACitkaWZmIC11cCAu L3N1cmZhY2UvQ01ha2VMaXN0cy50eHQub29tIC4vc3VyZmFjZS9DTWFrZUxpc3RzLnR4dAorLS0t IC4vc3VyZmFjZS9DTWFrZUxpc3RzLnR4dC5vb20JMjAyMC0wNS0yOSAxNzo1NToyNi42MjQ0NDgx MjcgLTA0MDAKKysrKyAuL3N1cmZhY2UvQ01ha2VMaXN0cy50eHQJMjAyMC0wNS0yOSAxNzo1Njox Mi4xNTUwODUzNjUgLTA0MDAKK0BAIC05Nyw3ICs5NywxMiBAQCBzZXQoc3JjcworICAgc3JjL21h cmNoaW5nX2N1YmVzX2hvcHBlLmNwcAorICAgc3JjL21hcmNoaW5nX2N1YmVzX3JiZi5jcHAKKyAg IHNyYy9iaWxhdGVyYWxfdXBzYW1wbGluZy5jcHAKKy0gIHNyYy9tbHMuY3BwCisrICBzcmMvbWxz X24uY3BwCisrICBzcmMvbWxzX3h5ei5jcHAKKysgIHNyYy9tbHNfeHl6aS5jcHAKKysgIHNyYy9t bHNfeHl6cmdiYS5jcHAKKysgIHNyYy9tbHNfeHl6cmdiLmNwcAorKyAgc3JjL21sc194eXpyZ2Ju LmNwcAorICAgc3JjL29yZ2FuaXplZF9mYXN0X21lc2guY3BwCisgICBzcmMvc2ltcGxpZmljYXRp b25fcmVtb3ZlX3VudXNlZF92ZXJ0aWNlcy5jcHAKKyAgIHNyYy9zdXJmZWxfc21vb3RoaW5nLmNw cAorZGlmZiAtdXAgLi9zdXJmYWNlL3NyYy9tbHNfbi5jcHAub29tIC4vc3VyZmFjZS9zcmMvbWxz X24uY3BwCistLS0gLi9zdXJmYWNlL3NyYy9tbHNfbi5jcHAub29tCTIwMjAtMDUtMjkgMTc6NTU6 MjYuNjI0NDQ4MTI3IC0wNDAwCisrKysgLi9zdXJmYWNlL3NyYy9tbHNfbi5jcHAJMjAyMC0wNS0y OSAxNzo1NToyNi42MjQ0NDgxMjcgLTA0MDAKK0BAIC0wLDAgKzEsNTMgQEAKKysvKgorKyAqIFNv ZnR3YXJlIExpY2Vuc2UgQWdyZWVtZW50IChCU0QgTGljZW5zZSkKKysgKgorKyAqIFBvaW50IENs b3VkIExpYnJhcnkgKFBDTCkgLSB3d3cucG9pbnRjbG91ZHMub3JnCisrICogQ29weXJpZ2h0IChj KSAyMDA5LTIwMTEsIFdpbGxvdyBHYXJhZ2UsIEluYy4KKysgKgorKyAqIEFsbCByaWdodHMgcmVz ZXJ2ZWQuCisrICoKKysgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKysgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0 ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKysgKiBhcmUgbWV0Ogor KyAqCisrICogKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl IGFib3ZlIGNvcHlyaWdodAorKyAqICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorKyAqICogUmVkaXN0cmlidXRpb25zIGluIGJp bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorKyAqICAgY29weXJpZ2h0IG5vdGlj ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKKysgKiAgIGRpc2Ns YWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl ZAorKyAqICAgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorKyAqICogTmVpdGhlciB0aGUgbmFtZSBv ZiBXaWxsb3cgR2FyYWdlLCBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisrICogICBjb250cmli dXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQK KysgKiAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4g cGVybWlzc2lvbi4KKysgKgorKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENP UFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKysgKiAiQVMgSVMiIEFORCBBTlkgRVhQ UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorKyAqIExJTUlU RUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO RVNTCisrICogRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF VkVOVCBTSEFMTCBUSEUKKysgKiBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJ QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsCisrICogSU5DSURFTlRBTCwgU1BFQ0lBTCwg RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywKKysgKiBCVVQg Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD RVM7CisrICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS UlVQVElPTikgSE9XRVZFUgorKyAqIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVAorKyAqIExJQUJJTElUWSwgT1IgVE9SVCAo SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOCisrICogQU5ZIFdB WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF CisrICogUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisrICoKKysgKiAkSWQkCisrICoKKysg Ki8KKysKKysjaW5jbHVkZSA8cGNsL3N1cmZhY2UvbWxzLmg+CisrI2luY2x1ZGUgPHBjbC9zdXJm YWNlL2ltcGwvbWxzLmhwcD4KKysKKysjaWZuZGVmIFBDTF9OT19QUkVDT01QSUxFCisrI2luY2x1 ZGUgPHBjbC9wb2ludF90eXBlcy5oPgorKyNpbmNsdWRlIDxwY2wvaW1wbC9pbnN0YW50aWF0ZS5o cHA+CisrI2lmZGVmIFBDTF9PTkxZX0NPUkVfUE9JTlRfVFlQRVMKKysgLy8gSW5zdGFudGlhdGlv bnMgb2Ygc3BlY2lmaWMgcG9pbnQgdHlwZXMKKysgIFBDTF9JTlNUQU5USUFURV9QUk9EVUNUKE1v dmluZ0xlYXN0U3F1YXJlcywgKChwY2w6OlBvaW50WFlaKShwY2w6OlBvaW50WFlaSSkocGNsOjpQ b2ludFhZWlJHQikocGNsOjpQb2ludFhZWlJHQkEpKHBjbDo6UG9pbnRYWVpSR0JOb3JtYWwpKHBj bDo6UG9pbnROb3JtYWwpKQorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAoKHBjbDo6UG9pbnROb3JtYWwpKSkKKysjZWxzZQorKyAgLy8gUENMX0lOU1RBTlRJ QVRFX1BST0RVQ1QoTW92aW5nTGVhc3RTcXVhcmVzLCAoUENMX1hZWl9QT0lOVF9UWVBFUykoUENM X1hZWl9QT0lOVF9UWVBFUykpCisrI2VuZGlmCisrI2VuZGlmICAgIC8vIFBDTF9OT19QUkVDT01Q SUxFCitkaWZmIC11cCAuL3N1cmZhY2Uvc3JjL21sc194eXouY3BwLm9vbSAuL3N1cmZhY2Uvc3Jj L21sc194eXouY3BwCistLS0gLi9zdXJmYWNlL3NyYy9tbHNfeHl6LmNwcC5vb20JMjAyMC0wNS0y OSAxNzo1NToyNi42MjQ0NDgxMjcgLTA0MDAKKysrKyAuL3N1cmZhY2Uvc3JjL21sc194eXouY3Bw CTIwMjAtMDUtMjkgMTc6NTU6MjYuNjI0NDQ4MTI3IC0wNDAwCitAQCAtMCwwICsxLDUzIEBACisr LyoKKysgKiBTb2Z0d2FyZSBMaWNlbnNlIEFncmVlbWVudCAoQlNEIExpY2Vuc2UpCisrICoKKysg KiBQb2ludCBDbG91ZCBMaWJyYXJ5IChQQ0wpIC0gd3d3LnBvaW50Y2xvdWRzLm9yZworKyAqIENv cHlyaWdodCAoYykgMjAwOS0yMDExLCBXaWxsb3cgR2FyYWdlLCBJbmMuCisrICoKKysgKiBBbGwg cmlnaHRzIHJlc2VydmVkLgorKyAqCisrICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisrICogbW9kaWZpY2F0aW9uLCBh cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisrICog YXJlIG1ldDoKKysgKgorKyAqICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKysgKiAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKysgKiAqIFJlZGlzdHJpYnV0 aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKysgKiAgIGNvcHly aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nCisr ICogICBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh bHMgcHJvdmlkZWQKKysgKiAgIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKysgKiAqIE5laXRoZXIg dGhlIG5hbWUgb2YgV2lsbG93IEdhcmFnZSwgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworKyAq ICAgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0 cyBkZXJpdmVkCisrICogICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv ciB3cml0dGVuIHBlcm1pc3Npb24uCisrICoKKysgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE IEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisrICogIkFTIElTIiBB TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QK KysgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU WSBBTkQgRklUTkVTUworKyAqIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1F RC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFCisrICogQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJV VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULAorKyAqIElOQ0lERU5UQUws IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs CisrICogQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT IE9SIFNFUlZJQ0VTOworKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIKKysgKiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QKKysgKiBMSUFCSUxJVFks IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTgor KyAqIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ U0VEIE9GIFRIRQorKyAqIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorKyAqCisrICogJElk JAorKyAqCisrICovCisrCisrI2luY2x1ZGUgPHBjbC9zdXJmYWNlL21scy5oPgorKyNpbmNsdWRl IDxwY2wvc3VyZmFjZS9pbXBsL21scy5ocHA+CisrCisrI2lmbmRlZiBQQ0xfTk9fUFJFQ09NUElM RQorKyNpbmNsdWRlIDxwY2wvcG9pbnRfdHlwZXMuaD4KKysjaW5jbHVkZSA8cGNsL2ltcGwvaW5z dGFudGlhdGUuaHBwPgorKyNpZmRlZiBQQ0xfT05MWV9DT1JFX1BPSU5UX1RZUEVTCisrIC8vIElu c3RhbnRpYXRpb25zIG9mIHNwZWNpZmljIHBvaW50IHR5cGVzCisrICBQQ0xfSU5TVEFOVElBVEVf UFJPRFVDVChNb3ZpbmdMZWFzdFNxdWFyZXMsICgocGNsOjpQb2ludFhZWikocGNsOjpQb2ludFhZ WkkpKHBjbDo6UG9pbnRYWVpSR0IpKHBjbDo6UG9pbnRYWVpSR0JBKShwY2w6OlBvaW50WFlaUkdC Tm9ybWFsKShwY2w6OlBvaW50Tm9ybWFsKSkKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgKChwY2w6OlBvaW50WFlaKSkpCisrI2Vsc2UKKysgIFBDTF9JTlNU QU5USUFURV9QUk9EVUNUKE1vdmluZ0xlYXN0U3F1YXJlcywgKFBDTF9YWVpfUE9JTlRfVFlQRVMp KFBDTF9YWVpfUE9JTlRfVFlQRVMpKQorKyNlbmRpZgorKyNlbmRpZiAgICAvLyBQQ0xfTk9fUFJF Q09NUElMRQorZGlmZiAtdXAgLi9zdXJmYWNlL3NyYy9tbHNfeHl6aS5jcHAub29tIC4vc3VyZmFj ZS9zcmMvbWxzX3h5emkuY3BwCistLS0gLi9zdXJmYWNlL3NyYy9tbHNfeHl6aS5jcHAub29tCTIw MjAtMDUtMjkgMTc6NTU6MjYuNjI0NDQ4MTI3IC0wNDAwCisrKysgLi9zdXJmYWNlL3NyYy9tbHNf eHl6aS5jcHAJMjAyMC0wNS0yOSAxNzo1NToyNi42MjQ0NDgxMjcgLTA0MDAKK0BAIC0wLDAgKzEs NTMgQEAKKysvKgorKyAqIFNvZnR3YXJlIExpY2Vuc2UgQWdyZWVtZW50IChCU0QgTGljZW5zZSkK KysgKgorKyAqIFBvaW50IENsb3VkIExpYnJhcnkgKFBDTCkgLSB3d3cucG9pbnRjbG91ZHMub3Jn CisrICogQ29weXJpZ2h0IChjKSAyMDA5LTIwMTEsIFdpbGxvdyBHYXJhZ2UsIEluYy4KKysgKgor KyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisrICoKKysgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKysgKiBtb2RpZmlj YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv bnMKKysgKiBhcmUgbWV0OgorKyAqCisrICogKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorKyAqICAgbm90aWNlLCB0aGlzIGxp c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorKyAqICogUmVk aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorKyAq ICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs b3dpbmcKKysgKiAgIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy IG1hdGVyaWFscyBwcm92aWRlZAorKyAqICAgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorKyAqICog TmVpdGhlciB0aGUgbmFtZSBvZiBXaWxsb3cgR2FyYWdlLCBJbmMuIG5vciB0aGUgbmFtZXMgb2Yg aXRzCisrICogICBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3Rl IHByb2R1Y3RzIGRlcml2ZWQKKysgKiAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNp ZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKysgKgorKyAqIFRISVMgU09GVFdBUkUgSVMg UFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKysgKiAi QVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg QlVUIE5PVAorKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB TlRBQklMSVRZIEFORCBGSVRORVNTCisrICogRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBE SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUKKysgKiBDT1BZUklHSFQgT1dORVIgT1Ig Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsCisrICogSU5D SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO Q0xVRElORywKKysgKiBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV VEUgR09PRFMgT1IgU0VSVklDRVM7CisrICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7 IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUgorKyAqIENBVVNFRCBBTkQgT04gQU5Z IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVAorKyAqIExJ QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT SU5HIElOCisrICogQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO IElGIEFEVklTRUQgT0YgVEhFCisrICogUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisrICoK KysgKiAkSWQkCisrICoKKysgKi8KKysKKysjaW5jbHVkZSA8cGNsL3N1cmZhY2UvbWxzLmg+Cisr I2luY2x1ZGUgPHBjbC9zdXJmYWNlL2ltcGwvbWxzLmhwcD4KKysKKysjaWZuZGVmIFBDTF9OT19Q UkVDT01QSUxFCisrI2luY2x1ZGUgPHBjbC9wb2ludF90eXBlcy5oPgorKyNpbmNsdWRlIDxwY2wv aW1wbC9pbnN0YW50aWF0ZS5ocHA+CisrI2lmZGVmIFBDTF9PTkxZX0NPUkVfUE9JTlRfVFlQRVMK KysgLy8gSW5zdGFudGlhdGlvbnMgb2Ygc3BlY2lmaWMgcG9pbnQgdHlwZXMKKysgIFBDTF9JTlNU QU5USUFURV9QUk9EVUNUKE1vdmluZ0xlYXN0U3F1YXJlcywgKChwY2w6OlBvaW50WFlaKShwY2w6 OlBvaW50WFlaSSkocGNsOjpQb2ludFhZWlJHQikocGNsOjpQb2ludFhZWlJHQkEpKHBjbDo6UG9p bnRYWVpSR0JOb3JtYWwpKHBjbDo6UG9pbnROb3JtYWwpKQorKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAoKHBjbDo6UG9pbnRYWVpJKSkpCisrI2Vsc2UKKysg IC8vIFBDTF9JTlNUQU5USUFURV9QUk9EVUNUKE1vdmluZ0xlYXN0U3F1YXJlcywgKFBDTF9YWVpf UE9JTlRfVFlQRVMpKFBDTF9YWVpfUE9JTlRfVFlQRVMpKQorKyNlbmRpZgorKyNlbmRpZiAgICAv LyBQQ0xfTk9fUFJFQ09NUElMRQorZGlmZiAtdXAgLi9zdXJmYWNlL3NyYy9tbHNfeHl6cmdiYS5j cHAub29tIC4vc3VyZmFjZS9zcmMvbWxzX3h5enJnYmEuY3BwCistLS0gLi9zdXJmYWNlL3NyYy9t bHNfeHl6cmdiYS5jcHAub29tCTIwMjAtMDUtMjkgMTc6NTU6MjYuNjI1NDQ4MTE4IC0wNDAwCisr KysgLi9zdXJmYWNlL3NyYy9tbHNfeHl6cmdiYS5jcHAJMjAyMC0wNS0yOSAxNzo1NToyNi42MjU0 NDgxMTggLTA0MDAKK0BAIC0wLDAgKzEsNTMgQEAKKysvKgorKyAqIFNvZnR3YXJlIExpY2Vuc2Ug QWdyZWVtZW50IChCU0QgTGljZW5zZSkKKysgKgorKyAqIFBvaW50IENsb3VkIExpYnJhcnkgKFBD TCkgLSB3d3cucG9pbnRjbG91ZHMub3JnCisrICogQ29weXJpZ2h0IChjKSAyMDA5LTIwMTEsIFdp bGxvdyBHYXJhZ2UsIEluYy4KKysgKgorKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisrICoKKysg KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo IG9yIHdpdGhvdXQKKysgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKysgKiBhcmUgbWV0OgorKyAqCisrICogKiBSZWRp c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo dAorKyAqICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu ZyBkaXNjbGFpbWVyLgorKyAqICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg cmVwcm9kdWNlIHRoZSBhYm92ZQorKyAqICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKKysgKiAgIGRpc2NsYWltZXIgaW4gdGhlIGRv Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZAorKyAqICAgd2l0aCB0 aGUgZGlzdHJpYnV0aW9uLgorKyAqICogTmVpdGhlciB0aGUgbmFtZSBvZiBXaWxsb3cgR2FyYWdl LCBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisrICogICBjb250cmlidXRvcnMgbWF5IGJlIHVz ZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQKKysgKiAgIGZyb20gdGhp cyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKysg KgorKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJT IEFORCBDT05UUklCVVRPUlMKKysgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorKyAqIExJTUlURUQgVE8sIFRIRSBJTVBM SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisrICogRk9SIEEg UEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUK KysgKiBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ UkVDVCwgSU5ESVJFQ1QsCisrICogSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywKKysgKiBCVVQgTk9UIExJTUlURUQgVE8s IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisrICogTE9TUyBP RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF UgorKyAqIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g Q09OVFJBQ1QsIFNUUklDVAorKyAqIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOCisrICogQU5ZIFdBWSBPVVQgT0YgVEhFIFVT RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFCisrICogUE9TU0lCSUxJ VFkgT0YgU1VDSCBEQU1BR0UuCisrICoKKysgKiAkSWQkCisrICoKKysgKi8KKysKKysjaW5jbHVk ZSA8cGNsL3N1cmZhY2UvbWxzLmg+CisrI2luY2x1ZGUgPHBjbC9zdXJmYWNlL2ltcGwvbWxzLmhw cD4KKysKKysjaWZuZGVmIFBDTF9OT19QUkVDT01QSUxFCisrI2luY2x1ZGUgPHBjbC9wb2ludF90 eXBlcy5oPgorKyNpbmNsdWRlIDxwY2wvaW1wbC9pbnN0YW50aWF0ZS5ocHA+CisrI2lmZGVmIFBD TF9PTkxZX0NPUkVfUE9JTlRfVFlQRVMKKysgLy8gSW5zdGFudGlhdGlvbnMgb2Ygc3BlY2lmaWMg cG9pbnQgdHlwZXMKKysgIFBDTF9JTlNUQU5USUFURV9QUk9EVUNUKE1vdmluZ0xlYXN0U3F1YXJl cywgKChwY2w6OlBvaW50WFlaKShwY2w6OlBvaW50WFlaSSkocGNsOjpQb2ludFhZWlJHQikocGNs OjpQb2ludFhZWlJHQkEpKHBjbDo6UG9pbnRYWVpSR0JOb3JtYWwpKHBjbDo6UG9pbnROb3JtYWwp KQorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHBjbDo6 UG9pbnRYWVpSR0JBKSkpCisrI2Vsc2UKKysgIC8vIFBDTF9JTlNUQU5USUFURV9QUk9EVUNUKE1v dmluZ0xlYXN0U3F1YXJlcywgKFBDTF9YWVpfUE9JTlRfVFlQRVMpKFBDTF9YWVpfUE9JTlRfVFlQ RVMpKQorKyNlbmRpZgorKyNlbmRpZiAgICAvLyBQQ0xfTk9fUFJFQ09NUElMRQorZGlmZiAtdXAg Li9zdXJmYWNlL3NyYy9tbHNfeHl6cmdiLmNwcC5vb20gLi9zdXJmYWNlL3NyYy9tbHNfeHl6cmdi LmNwcAorLS0tIC4vc3VyZmFjZS9zcmMvbWxzX3h5enJnYi5jcHAub29tCTIwMjAtMDUtMjkgMTc6 NTU6MjYuNjI1NDQ4MTE4IC0wNDAwCisrKysgLi9zdXJmYWNlL3NyYy9tbHNfeHl6cmdiLmNwcAky MDIwLTA1LTI5IDE3OjU1OjI2LjYyNTQ0ODExOCAtMDQwMAorQEAgLTAsMCArMSw1MyBAQAorKy8q CisrICogU29mdHdhcmUgTGljZW5zZSBBZ3JlZW1lbnQgKEJTRCBMaWNlbnNlKQorKyAqCisrICog UG9pbnQgQ2xvdWQgTGlicmFyeSAoUENMKSAtIHd3dy5wb2ludGNsb3Vkcy5vcmcKKysgKiBDb3B5 cmlnaHQgKGMpIDIwMDktMjAxMSwgV2lsbG93IEdhcmFnZSwgSW5jLgorKyAqCisrICogQWxsIHJp Z2h0cyByZXNlcnZlZC4KKysgKgorKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorKyAqIG1vZGlmaWNhdGlvbiwgYXJl IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworKyAqIGFy ZSBtZXQ6CisrICoKKysgKiAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisrICogICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisrICogKiBSZWRpc3RyaWJ1dGlv bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisrICogICBjb3B5cmln aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZworKyAq ICAgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz IHByb3ZpZGVkCisrICogICB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisrICogKiBOZWl0aGVyIHRo ZSBuYW1lIG9mIFdpbGxvdyBHYXJhZ2UsIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKysgKiAg IGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMg ZGVyaXZlZAorKyAqICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Ig d3JpdHRlbiBwZXJtaXNzaW9uLgorKyAqCisrICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC WSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworKyAqICJBUyBJUyIgQU5E IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisr ICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg QU5EIEZJVE5FU1MKKysgKiBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu IElOIE5PIEVWRU5UIFNIQUxMIFRIRQorKyAqIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRP UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwKKysgKiBJTkNJREVOVEFMLCBT UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLAor KyAqIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP UiBTRVJWSUNFUzsKKysgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSCisrICogQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUCisrICogTElBQklMSVRZLCBP UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4KKysg KiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF RCBPRiBUSEUKKysgKiBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKysgKgorKyAqICRJZCQK KysgKgorKyAqLworKworKyNpbmNsdWRlIDxwY2wvc3VyZmFjZS9tbHMuaD4KKysjaW5jbHVkZSA8 cGNsL3N1cmZhY2UvaW1wbC9tbHMuaHBwPgorKworKyNpZm5kZWYgUENMX05PX1BSRUNPTVBJTEUK KysjaW5jbHVkZSA8cGNsL3BvaW50X3R5cGVzLmg+CisrI2luY2x1ZGUgPHBjbC9pbXBsL2luc3Rh bnRpYXRlLmhwcD4KKysjaWZkZWYgUENMX09OTFlfQ09SRV9QT0lOVF9UWVBFUworKyAvLyBJbnN0 YW50aWF0aW9ucyBvZiBzcGVjaWZpYyBwb2ludCB0eXBlcworKyAgUENMX0lOU1RBTlRJQVRFX1BS T0RVQ1QoTW92aW5nTGVhc3RTcXVhcmVzLCAoKHBjbDo6UG9pbnRYWVopKHBjbDo6UG9pbnRYWVpJ KShwY2w6OlBvaW50WFlaUkdCKShwY2w6OlBvaW50WFlaUkdCQSkocGNsOjpQb2ludFhZWlJHQk5v cm1hbCkocGNsOjpQb2ludE5vcm1hbCkpCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICgocGNsOjpQb2ludFhZWlJHQikpKQorKyNlbHNlCisrICAvL1BDTF9J TlNUQU5USUFURV9QUk9EVUNUKE1vdmluZ0xlYXN0U3F1YXJlcywgKFBDTF9YWVpfUE9JTlRfVFlQ RVMpKFBDTF9YWVpfUE9JTlRfVFlQRVMpKQorKyNlbmRpZgorKyNlbmRpZiAgICAvLyBQQ0xfTk9f UFJFQ09NUElMRQorZGlmZiAtdXAgLi9zdXJmYWNlL3NyYy9tbHNfeHl6cmdibi5jcHAub29tIC4v c3VyZmFjZS9zcmMvbWxzX3h5enJnYm4uY3BwCistLS0gLi9zdXJmYWNlL3NyYy9tbHNfeHl6cmdi bi5jcHAub29tCTIwMjAtMDUtMjkgMTc6NTU6MjYuNjI1NDQ4MTE4IC0wNDAwCisrKysgLi9zdXJm YWNlL3NyYy9tbHNfeHl6cmdibi5jcHAJMjAyMC0wNS0yOSAxNzo1NToyNi42MjU0NDgxMTggLTA0 MDAKK0BAIC0wLDAgKzEsNTMgQEAKKysvKgorKyAqIFNvZnR3YXJlIExpY2Vuc2UgQWdyZWVtZW50 IChCU0QgTGljZW5zZSkKKysgKgorKyAqIFBvaW50IENsb3VkIExpYnJhcnkgKFBDTCkgLSB3d3cu cG9pbnRjbG91ZHMub3JnCisrICogQ29weXJpZ2h0IChjKSAyMDA5LTIwMTEsIFdpbGxvdyBHYXJh Z2UsIEluYy4KKysgKgorKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisrICoKKysgKiBSZWRpc3Ry aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv dXQKKysgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s bG93aW5nIGNvbmRpdGlvbnMKKysgKiBhcmUgbWV0OgorKyAqCisrICogKiBSZWRpc3RyaWJ1dGlv bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorKyAqICAg bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp bWVyLgorKyAqICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl IHRoZSBhYm92ZQorKyAqICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv bnMgYW5kIHRoZSBmb2xsb3dpbmcKKysgKiAgIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRp b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZAorKyAqICAgd2l0aCB0aGUgZGlzdHJp YnV0aW9uLgorKyAqICogTmVpdGhlciB0aGUgbmFtZSBvZiBXaWxsb3cgR2FyYWdlLCBJbmMuIG5v ciB0aGUgbmFtZXMgb2YgaXRzCisrICogICBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5k b3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQKKysgKiAgIGZyb20gdGhpcyBzb2Z0d2Fy ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKysgKgorKyAqIFRI SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05U UklCVVRPUlMKKysgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ RVMsIElOQ0xVRElORywgQlVUIE5PVAorKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJB TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisrICogRk9SIEEgUEFSVElDVUxB UiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUKKysgKiBDT1BZ UklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E SVJFQ1QsCisrICogSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U SUFMIERBTUFHRVMgKElOQ0xVRElORywKKysgKiBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisrICogTE9TUyBPRiBVU0UsIERB VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUgorKyAqIENB VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs IFNUUklDVAorKyAqIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig T1RIRVJXSVNFKSBBUklTSU5HIElOCisrICogQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFCisrICogUE9TU0lCSUxJVFkgT0YgU1VD SCBEQU1BR0UuCisrICoKKysgKiAkSWQkCisrICoKKysgKi8KKysKKysjaW5jbHVkZSA8cGNsL3N1 cmZhY2UvbWxzLmg+CisrI2luY2x1ZGUgPHBjbC9zdXJmYWNlL2ltcGwvbWxzLmhwcD4KKysKKysj aWZuZGVmIFBDTF9OT19QUkVDT01QSUxFCisrI2luY2x1ZGUgPHBjbC9wb2ludF90eXBlcy5oPgor KyNpbmNsdWRlIDxwY2wvaW1wbC9pbnN0YW50aWF0ZS5ocHA+CisrI2lmZGVmIFBDTF9PTkxZX0NP UkVfUE9JTlRfVFlQRVMKKysgLy8gSW5zdGFudGlhdGlvbnMgb2Ygc3BlY2lmaWMgcG9pbnQgdHlw ZXMKKysgIFBDTF9JTlNUQU5USUFURV9QUk9EVUNUKE1vdmluZ0xlYXN0U3F1YXJlcywgKChwY2w6 OlBvaW50WFlaKShwY2w6OlBvaW50WFlaSSkocGNsOjpQb2ludFhZWlJHQikocGNsOjpQb2ludFhZ WlJHQkEpKHBjbDo6UG9pbnRYWVpSR0JOb3JtYWwpKHBjbDo6UG9pbnROb3JtYWwpKQorKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHBjbDo6UG9pbnRYWVpS R0JOb3JtYWwpKSkKKysjZWxzZQorKyAgLy9QQ0xfSU5TVEFOVElBVEVfUFJPRFVDVChNb3ZpbmdM ZWFzdFNxdWFyZXMsIChQQ0xfWFlaX1BPSU5UX1RZUEVTKShQQ0xfWFlaX1BPSU5UX1RZUEVTKSkK KysjZW5kaWYKKysjZW5kaWYgICAgLy8gUENMX05PX1BSRUNPTVBJTEUKCmRpZmYgLS1naXQgYS9w Y2wtMS4xMS4wLXNzZTIucGF0Y2ggYi9wY2wtMS4xMS4wLXNzZTIucGF0Y2gKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzgyNTEzMAotLS0gL2Rldi9udWxsCisrKyBiL3BjbC0x LjExLjAtc3NlMi5wYXRjaApAQCAtMCwwICsxLDQ1IEBACitkaWZmIC11cCAuL2NtYWtlL3BjbF9m aW5kX3NzZS5jbWFrZS5zc2UyIC4vY21ha2UvcGNsX2ZpbmRfc3NlLmNtYWtlCistLS0gLi9jbWFr ZS9wY2xfZmluZF9zc2UuY21ha2Uuc3NlMgkyMDIwLTA1LTExIDA0OjU5OjI2LjAwMDAwMDAwMCAt MDQwMAorKysrIC4vY21ha2UvcGNsX2ZpbmRfc3NlLmNtYWtlCTIwMjAtMDUtMjkgMTc6NTM6MDAu NTA0NjU3MDc2IC0wNDAwCitAQCAtNCwyMCArNCw2IEBAIG1hY3JvKFBDTF9DSEVDS19GT1JfU1NF KQorICAgICBzZXQoU1NFX0ZMQUdTKQorICAgICBzZXQoU1NFX0RFRklOSVRJT05TKQorIAorLSAg ICBpZihOT1QgQ01BS0VfQ1JPU1NDT01QSUxJTkcpCistICAgICAgICAjIFRlc3QgR0NDL0crKyBh bmQgQ0xBTkcKKy0gICAgICAgIGlmKENNQUtFX0NPTVBJTEVSX0lTX0dOVUNDIE9SIENNQUtFX0NP TVBJTEVSX0lTX0dOVUNYWCBPUiBDTUFLRV9DT01QSUxFUl9JU19DTEFORykKKy0gICAgICAgICAg ICBpbmNsdWRlKENoZWNrQ1hYQ29tcGlsZXJGbGFnKQorLSAgICAgICAgICAgIGNoZWNrX2N4eF9j b21waWxlcl9mbGFnKCItbWFyY2g9bmF0aXZlIiBIQVZFX01BUkNIKQorLSAgICAgICAgICAgIGlm KEhBVkVfTUFSQ0gpCistICAgICAgICAgICAgICAgIGxpc3QoQVBQRU5EIFNTRV9GTEFHUyAiLW1h cmNoPW5hdGl2ZSIpCistICAgICAgICAgICAgZWxzZSgpCistICAgICAgICAgICAgICAgIGxpc3Qo QVBQRU5EIFNTRV9GTEFHUyAiLW10dW5lPW5hdGl2ZSIpCistICAgICAgICAgICAgZW5kaWYoKQor LSAgICAgICAgICAgIG1lc3NhZ2UoU1RBVFVTICJVc2luZyBDUFUgbmF0aXZlIGZsYWdzIGZvciBT U0Ugb3B0aW1pemF0aW9uOiAke1NTRV9GTEFHU30iKQorLSAgICAgICAgZW5kaWYoKQorLSAgICBl bmRpZigpCistCisgICAgICMgVW5mb3J0dW5hdGVseSB3ZSBuZWVkIHRvIGNoZWNrIGZvciBTU0Ug dG8gZW5hYmxlICItbWZwbWF0aD1zc2UiIGFsb25nc2lkZQorICAgICAjICItbWFyY2g9bmF0aXZl Ii4gVGhlIHJlYXNvbiBmb3IgdGhpcyBpcyB0aGF0IGJ5IGRlZmF1bHQsIDMyYml0IGFyY2hpdGVj dHVyZXMKKyAgICAgIyB0ZW5kIHRvIHVzZSB0aGUgeDg3IEZQVSAod2hpY2ggaGFzIDgwIGJpdCBp bnRlcm5hbCBwcmVjaXNpb24pLCB0aHVzIGxlYWRpbmcKK0BAIC0xNzAsMTggKzE1Niw5IEBAIG1h Y3JvKFBDTF9DSEVDS19GT1JfU1NFKQorICAgICBzZXQoQ01BS0VfUkVRVUlSRURfRkxBR1MpCisg CisgICAgIGlmKENNQUtFX0NPTVBJTEVSX0lTX0dOVUNDIE9SIENNQUtFX0NPTVBJTEVSX0lTX0dO VUNYWCBPUiBDTUFLRV9DT01QSUxFUl9JU19DTEFORykKKy0gICAgICAgIGlmKEhBVkVfU1NFNF8y X0VYVEVOU0lPTlMpCistICAgICAgICAgICAgbGlzdChBUFBFTkQgU1NFX0ZMQUdTICItbXNzZTQu MiIgIi1tZnBtYXRoPXNzZSIpCistICAgICAgICBlbHNlaWYoSEFWRV9TU0U0XzFfRVhURU5TSU9O UykKKy0gICAgICAgICAgICBsaXN0KEFQUEVORCBTU0VfRkxBR1MgIi1tc3NlNC4xIiAiLW1mcG1h dGg9c3NlIikKKy0gICAgICAgIGVsc2VpZihIQVZFX1NTU0UzX0VYVEVOU0lPTlMpCistICAgICAg ICAgICAgbGlzdChBUFBFTkQgU1NFX0ZMQUdTICItbXNzc2UzIiAiLW1mcG1hdGg9c3NlIikKKy0g ICAgICAgIGVsc2VpZihIQVZFX1NTRTNfRVhURU5TSU9OUykKKy0gICAgICAgICAgICBsaXN0KEFQ UEVORCBTU0VfRkxBR1MgIi1tc3NlMyIgIi1tZnBtYXRoPXNzZSIpCistICAgICAgICBlbHNlaWYo SEFWRV9TU0UyX0VYVEVOU0lPTlMpCisrICAgICAgICBpZigiJHtDTUFLRV9TWVNURU1fUFJPQ0VT U09SfSIgU1RSRVFVQUwgIng4Nl82NCIgQU5EICIke0NNQUtFX1NJWkVPRl9WT0lEX1B9IiBTVFJF UVVBTCAiOCIpCisrICAgICAgICAgICAgTUVTU0FHRShTVEFUVVMgIkVuYWJsaW5nIFNTRSBTdXBw b3J0ICgke0NNQUtFX1NZU1RFTV9QUk9DRVNTT1J9LCAke0NNQUtFX1NJWkVPRl9WT0lEX1B9KSIp CisgICAgICAgICAgICAgbGlzdChBUFBFTkQgU1NFX0ZMQUdTICItbXNzZTIiICItbWZwbWF0aD1z c2UiKQorLSAgICAgICAgZWxzZWlmKEhBVkVfU1NFX0VYVEVOU0lPTlMpCistICAgICAgICAgICAg bGlzdChBUFBFTkQgU1NFX0ZMQUdTICItbXNzZSIgIi1tZnBtYXRoPXNzZSIpCisgICAgICAgICBl bHNlKCkKKyAgICAgICAgICAgICAjIFNldHRpbmcgLWZmbG9hdC1zdG9yZSB0byBhbGxldmlhdGUg MzJiaXQgdnMgNjRiaXQgZGlzY3JlcGFuY2llcyBvbiBub24tU1NFCisgICAgICAgICAgICAgIyBw bGF0Zm9ybXMuCgpkaWZmIC0tZ2l0IGEvcGNsLTEuNy4yLWRveHlmaXgucGF0Y2ggYi9wY2wtMS43 LjItZG94eWZpeC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2NiM2MyNS4u MDAwMDAwMAotLS0gYS9wY2wtMS43LjItZG94eWZpeC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0x LDIwICswLDAgQEAKLWRpZmYgLXVwIC4vZG9jL2RveHlnZW4vZG94eWZpbGUuaW4uZG94eWZpeCAu L2RvYy9kb3h5Z2VuL2RveHlmaWxlLmluCi0tLS0gLi9kb2MvZG94eWdlbi9kb3h5ZmlsZS5pbi5k b3h5Zml4CTIwMTQtMDktMTAgMTc6MjI6NTcuMDAwMDAwMDAwIC0wNDAwCi0rKysgLi9kb2MvZG94 eWdlbi9kb3h5ZmlsZS5pbgkyMDE0LTEyLTMwIDA5OjQyOjE4Ljc4MTM2NTI1NyAtMDUwMAotQEAg LTExOCw2ICsxMTgsNyBAQCBFWENMVURFICAgICAgICAgICAgICAgID0gIkBQQ0xfU09VUkNFX0RJ Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICJAUENMX1NPVVJDRV9ESVJAL3Rlc3QiIFwKLSAg ICAgICAgICAgICAgICAgICAgICAgICAgIkBQQ0xfU09VUkNFX0RJUkAvYW5kcm9pZCIgXAotICAg ICAgICAgICAgICAgICAgICAgICAgICAiQFBDTF9TT1VSQ0VfRElSQC9hcHBzIiBcCi0rICAgICAg ICAgICAgICAgICAgICAgICAgICJAUENMX1NPVVJDRV9ESVJAL2J1aWxkIiBcCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICJAUENMX1NPVVJDRV9ESVJAL3Rvb2xzIiBcCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICJAUENMX1NPVVJDRV9ESVJAL3N1cmZhY2UvaW5jbHVkZS9wY2wvc3VyZmFj ZS9wb2lzc29uIiBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICJAUENMX1NPVVJDRV9ESVJA L3N1cmZhY2UvaW5jbHVkZS9wY2wvc3VyZmFjZS9pbXBsL3BvaXNzb24iIFwKLUBAIC0yMDksNyAr MjEwLDcgQEAgU0VSVkVSX0JBU0VEX1NFQVJDSCAgICA9IFlFUwotICMtLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0KLSAjIGNvbmZpZ3VyYXRpb24gb3B0aW9ucyByZWxhdGVkIHRvIHRoZSBMYVRlWCBvdXRwdXQK LSAjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0tR0VORVJBVEVfTEFURVggICAgICAgICA9IFlFUwotK0dF TkVSQVRFX0xBVEVYICAgICAgICAgPSBOTyAKLSBMQVRFWF9PVVRQVVQgICAgICAgICAgID0gbGF0 ZXgKLSBMQVRFWF9DTURfTkFNRSAgICAgICAgID0gbGF0ZXgKLSBNQUtFSU5ERVhfQ01EX05BTUUg ICAgID0gbWFrZWluZGV4CgpkaWZmIC0tZ2l0IGEvcGNsLTEuOC4wLW1ldHNsaWIucGF0Y2ggYi9w Y2wtMS44LjAtbWV0c2xpYi5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODQ5 ZmYwNC4uMDAwMDAwMAotLS0gYS9wY2wtMS44LjAtbWV0c2xpYi5wYXRjaAorKysgL2Rldi9udWxs CkBAIC0xLDI0ICswLDAgQEAKLWRpZmYgLXVwIC4vcmVjb2duaXRpb24vaW5jbHVkZS9wY2wvcmVj b2duaXRpb24vaHYvaHZfZ28uaC5tZXRzbGliIC4vcmVjb2duaXRpb24vaW5jbHVkZS9wY2wvcmVj b2duaXRpb24vaHYvaHZfZ28uaAotLS0tIC4vcmVjb2duaXRpb24vaW5jbHVkZS9wY2wvcmVjb2du aXRpb24vaHYvaHZfZ28uaC5tZXRzbGliCTIwMTYtMDEtMzAgMTY6MDU6MjMuODQ1NDM3OTg5IC0w NTAwCi0rKysgLi9yZWNvZ25pdGlvbi9pbmNsdWRlL3BjbC9yZWNvZ25pdGlvbi9odi9odl9nby5o CTIwMTYtMDEtMzAgMTY6MDU6MzAuOTQ5NzEwMTg3IC0wNTAwCi1AQCAtMTEsNyArMTEsNyBAQAot ICNpbmNsdWRlIDxwY2wvcGNsX21hY3Jvcy5oPgotICNpbmNsdWRlIDxwY2wvcmVjb2duaXRpb24v aHYvaHlwb3RoZXNlc192ZXJpZmljYXRpb24uaD4KLSAjaW5jbHVkZSA8cGNsL2NvbW1vbi9jb21t b24uaD4KLS0jaW5jbHVkZSA8cGNsL3JlY29nbml0aW9uLzNyZHBhcnR5L21ldHNsaWIvbWV0cy5o aD4KLSsjaW5jbHVkZSA8bWV0c2xpYi9tZXRzLmhoPgotICNpbmNsdWRlIDxwY2wvZmVhdHVyZXMv bm9ybWFsXzNkLmg+Ci0gI2luY2x1ZGUgPGJvb3N0L2dyYXBoL2dyYXBoX3RyYWl0cy5ocHA+Ci0g I2luY2x1ZGUgPGJvb3N0L2dyYXBoL2FkamFjZW5jeV9saXN0LmhwcD4KLWRpZmYgLXVwIC4vcmVj b2duaXRpb24vaW5jbHVkZS9wY2wvcmVjb2duaXRpb24vaW1wbC9odi9odl9nby5ocHAubWV0c2xp YiAuL3JlY29nbml0aW9uL2luY2x1ZGUvcGNsL3JlY29nbml0aW9uL2ltcGwvaHYvaHZfZ28uaHBw Ci0tLS0gLi9yZWNvZ25pdGlvbi9pbmNsdWRlL3BjbC9yZWNvZ25pdGlvbi9pbXBsL2h2L2h2X2dv LmhwcC5tZXRzbGliCTIwMTYtMDEtMjYgMDM6MzM6NTcuMDAwMDAwMDAwIC0wNTAwCi0rKysgLi9y ZWNvZ25pdGlvbi9pbmNsdWRlL3BjbC9yZWNvZ25pdGlvbi9pbXBsL2h2L2h2X2dvLmhwcAkyMDE2 LTAxLTMwIDExOjQ0OjMzLjMxNDQwMDU2NiAtMDUwMAotQEAgLTQ0OCw3ICs0NDgsNyBAQCB2b2lk IHBjbDo6R2xvYmFsSHlwb3RoZXNlc1ZlcmlmaWNhdGlvbjxNCi0gICBtZXRzOjpub2ltcHJvdmVf dGVybWluYXRpb25fY3JpdGVyaWEgbm9pbXByb3ZlIChtYXhfaXRlcmF0aW9uc18pOwotICAgbWV0 czo6bGluZWFyX2Nvb2xpbmcgbGluZWFyX2Nvb2xpbmc7Ci0gICBtZXRzOjpzaW11bGF0ZWRfYW5u ZWFsaW5nPG1vdmVfbWFuYWdlcj4gc2EgKG1vZGVsLCBiZXN0X3JlY29yZGVyLCBuZWlnaCwgbm9p bXByb3ZlLCBsaW5lYXJfY29vbGluZywgaW5pdGlhbF90ZW1wXywgMWUtNywgMik7Ci0tICBzYS5z ZXRBcHBseUFuZEV2YWx1YXRlKHRydWUpOwotKyAgLy9zYS5zZXRBcHBseUFuZEV2YWx1YXRlKHRy dWUpOwotIAotICAgewotICAgICBwY2w6OlNjb3BlVGltZSB0ICgiU0Egc2VhcmNoLi4uIik7Cgpk aWZmIC0tZ2l0IGEvcGNsLTEuOC4xLWZlZG9yYS5wYXRjaCBiL3BjbC0xLjguMS1mZWRvcmEucGF0 Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJiYWEwM2IuLjAwMDAwMDAKLS0tIGEv cGNsLTEuOC4xLWZlZG9yYS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDEyICswLDAgQEAKLWRp ZmYgLXVwIC4vUENMQ29uZmlnLmNtYWtlLmluLmZlZG9yYSAuL1BDTENvbmZpZy5jbWFrZS5pbgot LS0tIC4vUENMQ29uZmlnLmNtYWtlLmluLmZlZG9yYQkyMDE4LTAyLTA5IDEyOjU5OjI1LjMyOTg3 ODkxMSAtMDUwMAotKysrIC4vUENMQ29uZmlnLmNtYWtlLmluCTIwMTgtMDItMDkgMTM6MDE6MzYu NzcyODEzNzk5IC0wNTAwCi1AQCAtNzE3LDcgKzcxNyw3IEBAIGlmKFdJTjMyIEFORCBOT1QgTUlO R1cpCi0gICBnZXRfZmlsZW5hbWVfY29tcG9uZW50KFBDTF9ST09UICIke1BDTF9ESVJ9IiBQQVRI KQotIGVsc2UoV0lOMzIgQU5EIE5PVCBNSU5HVykKLSAjIFBDTENvbmZpZy5jbWFrZSBpcyBpbnN0 YWxsZWQgdG8gUENMX1JPT1Qvc2hhcmUvcGNsLXgueQotLSAgZ2V0X2ZpbGVuYW1lX2NvbXBvbmVu dChQQ0xfUk9PVCAiJHtDTUFLRV9DVVJSRU5UX0xJU1RfRElSfS8uLi8uLiIgQUJTT0xVVEUpCi0r ICBzZXQoUENMX1JPT1QgIkBDTUFLRV9JTlNUQUxMX1BSRUZJWEAiKQotIGVuZGlmKFdJTjMyIEFO RCBOT1QgTUlOR1cpCi0gCi0gIyBjaGVjayB3aGV0aGVyIFBDTENvbmZpZy5jbWFrZSBpcyBmb3Vu ZCBpbnRvIGEgUENMIGluc3RhbGxhdGlvbiBvciBpbiBhIGJ1aWxkIHRyZWUKCmRpZmYgLS1naXQg YS9wY2wtMS45LjEtYm9vc3RlbmRpYW4ucGF0Y2ggYi9wY2wtMS45LjEtYm9vc3RlbmRpYW4ucGF0 Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDEyMzc1NGUuLjAwMDAwMDAKLS0tIGEv cGNsLTEuOS4xLWJvb3N0ZW5kaWFuLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNjIgKzAsMCBA QAotZGlmZiAtdXAgLi9jb21tb24vaW5jbHVkZS9wY2wvUENMUG9pbnRDbG91ZDIuaC5ib29zdGVu ZGlhbiAuL2NvbW1vbi9pbmNsdWRlL3BjbC9QQ0xQb2ludENsb3VkMi5oCi0tLS0gLi9jb21tb24v aW5jbHVkZS9wY2wvUENMUG9pbnRDbG91ZDIuaC5ib29zdGVuZGlhbgkyMDE4LTExLTI2IDA2OjUw OjMzLjAwMDAwMDAwMCAtMDUwMAotKysrIC4vY29tbW9uL2luY2x1ZGUvcGNsL1BDTFBvaW50Q2xv dWQyLmgJMjAxOS0wMi0xNiAxODo1NDoyMy43MjE5MjkwMzUgLTA1MDAKLUBAIC0zLDEyICszLDEy IEBACi0gCi0gI2lmZGVmIFVTRV9ST1MKLSAgICAjZXJyb3IgVVNFX1JPUyBzZXR1cCByZXF1aXJl cyBQQ0wgdG8gY29tcGlsZSBhZ2FpbnN0IFJPUyBtZXNzYWdlIGhlYWRlcnMsIHdoaWNoIGlzIG5v dyBkZXByZWNhdGVkCi0tI2VuZGlmIAotKyNlbmRpZgotIAotICNpbmNsdWRlIDxzdHJpbmc+Ci0g I2luY2x1ZGUgPHZlY3Rvcj4KLSAjaW5jbHVkZSA8b3N0cmVhbT4KLS0jaW5jbHVkZSA8Ym9vc3Qv ZGV0YWlsL2VuZGlhbi5ocHA+Ci0rI2luY2x1ZGUgPGJvb3N0L3ByZWRlZi9vdGhlci9lbmRpYW4u aD4KLSAKLSAvLyBJbmNsdWRlIHRoZSBjb3JyZWN0IEhlYWRlciBwYXRoIGhlcmUKLSAjaW5jbHVk ZSA8cGNsL1BDTEhlYWRlci5oPgotQEAgLTIzLDkgKzIzLDkgQEAgbmFtZXNwYWNlIHBjbAotICAg ICAgICAgICAgICAgICAgICAgIGlzX2JpZ2VuZGlhbiAoZmFsc2UpLCBwb2ludF9zdGVwICgwKSwg cm93X3N0ZXAgKDApLAotICAgICAgICAgICAgICAgICAgICAgIGRhdGEgKCksIGlzX2RlbnNlIChm YWxzZSkKLSAgICAgewotLSNpZiBkZWZpbmVkKEJPT1NUX0JJR19FTkRJQU4pCi0rI2lmIEJPT1NU X0VORElBTl9CSUdfQllURQotICAgICAgIGlzX2JpZ2VuZGlhbiA9IHRydWU7Ci0tI2VsaWYgZGVm aW5lZChCT09TVF9MSVRUTEVfRU5ESUFOKQotKyNlbGlmIEJPT1NUX0VORElBTl9MSVRUTEVfQllU RQotICAgICAgIGlzX2JpZ2VuZGlhbiA9IGZhbHNlOwotICNlbHNlCi0gI2Vycm9yICJ1bmFibGUg dG8gZGV0ZXJtaW5lIHN5c3RlbSBlbmRpYW5uZXNzIgotZGlmZiAtdXAgLi9pby9pbmNsdWRlL3Bj bC9pby9wbHkvYnl0ZV9vcmRlci5oLmJvb3N0ZW5kaWFuIC4vaW8vaW5jbHVkZS9wY2wvaW8vcGx5 L2J5dGVfb3JkZXIuaAotLS0tIC4vaW8vaW5jbHVkZS9wY2wvaW8vcGx5L2J5dGVfb3JkZXIuaC5i b29zdGVuZGlhbgkyMDE4LTExLTI2IDA2OjUwOjMzLjAwMDAwMDAwMCAtMDUwMAotKysrIC4vaW8v aW5jbHVkZS9wY2wvaW8vcGx5L2J5dGVfb3JkZXIuaAkyMDE5LTAyLTE2IDE4OjU1OjAwLjY2OTAy ODc4NyAtMDUwMAotQEAgLTQwLDcgKzQwLDcgQEAKLSAjaWZuZGVmIFBDTF9JT19QTFlfQllURV9P UkRFUl9ICi0gI2RlZmluZSBQQ0xfSU9fUExZX0JZVEVfT1JERVJfSAotIAotLSNpbmNsdWRlIDxi b29zdC9kZXRhaWwvZW5kaWFuLmhwcD4KLSsjaW5jbHVkZSA8Ym9vc3QvcHJlZGVmL290aGVyL2Vu ZGlhbi5oPgotIAotIG5hbWVzcGFjZSBwY2wKLSB7Ci1AQCAtNTgsMTYgKzU4LDE2IEBAIG5hbWVz cGFjZSBwY2wKLSAgICAgICB7Ci0gICAgICAgICBsaXR0bGVfZW5kaWFuX2J5dGVfb3JkZXIsCi0g ICAgICAgICBiaWdfZW5kaWFuX2J5dGVfb3JkZXIsCi0tI2lmIGRlZmluZWQoQk9PU1RfQklHX0VO RElBTikKLSsjaWYgQk9PU1RfRU5ESUFOX0JJR19CWVRFCi0gICAgICAgICBob3N0X2J5dGVfb3Jk ZXIgPSBiaWdfZW5kaWFuX2J5dGVfb3JkZXIsCi0tI2VsaWYgZGVmaW5lZChCT09TVF9MSVRUTEVf RU5ESUFOKQotKyNlbGlmIEJPT1NUX0VORElBTl9MSVRUTEVfQllURQotICAgICAgICAgaG9zdF9i eXRlX29yZGVyID0gbGl0dGxlX2VuZGlhbl9ieXRlX29yZGVyLAotICNlbHNlCi0gI2Vycm9yICJ1 bmFibGUgdG8gZGV0ZXJtaW5lIHN5c3RlbSBlbmRpYW5uZXNzIgotICNlbmRpZgotICAgICAgICAg bmV0d29ya19ieXRlX29yZGVyID0gYmlnX2VuZGlhbl9ieXRlX29yZGVyCi0gICAgICAgfTsKLS0g ICAgICAKLSsKLSAgICAgICB0ZW1wbGF0ZSA8c3RkOjpzaXplX3QgTj4KLSAgICAgICB2b2lkIHN3 YXBfYnl0ZV9vcmRlciAoY2hhciogYnl0ZXMpOwotIAoKZGlmZiAtLWdpdCBhL3BjbC0xLjkuMS1v b20ucGF0Y2ggYi9wY2wtMS45LjEtb29tLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp bmRleCBkMjY4ZGRiLi4wMDAwMDAwCi0tLSBhL3BjbC0xLjkuMS1vb20ucGF0Y2gKKysrIC9kZXYv bnVsbApAQCAtMSwzNTkgKzAsMCBAQAotZGlmZiAtdXAgLi9zdXJmYWNlL0NNYWtlTGlzdHMudHh0 Lm9vbSAuL3N1cmZhY2UvQ01ha2VMaXN0cy50eHQKLS0tLSAuL3N1cmZhY2UvQ01ha2VMaXN0cy50 eHQub29tCTIwMTgtMTEtMjYgMDY6NTA6MzMuMDAwMDAwMDAwIC0wNTAwCi0rKysgLi9zdXJmYWNl L0NNYWtlTGlzdHMudHh0CTIwMTktMDItMTYgMjA6NTQ6MzUuNTgxMTIzODIwIC0wNTAwCi1AQCAt OTksNyArOTksMTIgQEAgaWYoYnVpbGQpCi0gICAgICAgICBzcmMvbWFyY2hpbmdfY3ViZXNfaG9w cGUuY3BwCi0gICAgICAgICBzcmMvbWFyY2hpbmdfY3ViZXNfcmJmLmNwcAotICAgICAgICAgc3Jj L2JpbGF0ZXJhbF91cHNhbXBsaW5nLmNwcAotLSAgICAgICAgc3JjL21scy5jcHAKLSsgICAgICAg IHNyYy9tbHNfbi5jcHAKLSsgICAgICAgIHNyYy9tbHNfeHl6LmNwcAotKyAgICAgICAgc3JjL21s c194eXppLmNwcAotKyAgICAgICAgc3JjL21sc194eXpyZ2JhLmNwcAotKyAgICAgICAgc3JjL21s c194eXpyZ2IuY3BwCi0rICAgICAgICBzcmMvbWxzX3h5enJnYm4uY3BwCi0gICAgICAgICBzcmMv b3JnYW5pemVkX2Zhc3RfbWVzaC5jcHAKLSAgICAgICAgIHNyYy9zaW1wbGlmaWNhdGlvbl9yZW1v dmVfdW51c2VkX3ZlcnRpY2VzLmNwcAotICAgICAgICAgc3JjL3N1cmZlbF9zbW9vdGhpbmcuY3Bw Ci1kaWZmIC11cCAuL3N1cmZhY2Uvc3JjL21sc19uLmNwcC5vb20gLi9zdXJmYWNlL3NyYy9tbHNf bi5jcHAKLS0tLSAuL3N1cmZhY2Uvc3JjL21sc19uLmNwcC5vb20JMjAxOS0wMi0xNiAyMDo1NTox MC45MjAyOTE0NzkgLTA1MDAKLSsrKyAuL3N1cmZhY2Uvc3JjL21sc19uLmNwcAkyMDE5LTAyLTE2 IDIwOjUxOjEyLjU3MDE2MDcyNyAtMDUwMAotQEAgLTAsMCArMSw1MyBAQAotKy8qCi0rICogU29m dHdhcmUgTGljZW5zZSBBZ3JlZW1lbnQgKEJTRCBMaWNlbnNlKQotKyAqCi0rICogUG9pbnQgQ2xv dWQgTGlicmFyeSAoUENMKSAtIHd3dy5wb2ludGNsb3Vkcy5vcmcKLSsgKiBDb3B5cmlnaHQgKGMp IDIwMDktMjAxMSwgV2lsbG93IEdhcmFnZSwgSW5jLgotKyAqCi0rICogQWxsIHJpZ2h0cyByZXNl cnZlZC4KLSsgKgotKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotKyAqIGFyZSBtZXQ6Ci0r ICoKLSsgKiAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg YWJvdmUgY29weXJpZ2h0Ci0rICogICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0rICogKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCi0rICogICBjb3B5cmlnaHQgbm90aWNl LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZwotKyAqICAgZGlzY2xh aW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk Ci0rICogICB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0rICogKiBOZWl0aGVyIHRoZSBuYW1lIG9m IFdpbGxvdyBHYXJhZ2UsIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKLSsgKiAgIGNvbnRyaWJ1 dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZAot KyAqICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw ZXJtaXNzaW9uLgotKyAqCi0rICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09Q WVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwotKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBS RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCi0rICogTElNSVRF RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F U1MKLSsgKiBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW RU5UIFNIQUxMIFRIRQotKyAqIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElB QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwKLSsgKiBJTkNJREVOVEFMLCBTUEVDSUFMLCBF WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLAotKyAqIEJVVCBO T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF UzsKLSsgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS VVBUSU9OKSBIT1dFVkVSCi0rICogQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUCi0rICogTElBQklMSVRZLCBPUiBUT1JUIChJ TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4KLSsgKiBBTlkgV0FZ IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUK LSsgKiBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSsgKgotKyAqICRJZCQKLSsgKgotKyAq LwotKwotKyNpbmNsdWRlIDxwY2wvc3VyZmFjZS9tbHMuaD4KLSsjaW5jbHVkZSA8cGNsL3N1cmZh Y2UvaW1wbC9tbHMuaHBwPgotKwotKyNpZm5kZWYgUENMX05PX1BSRUNPTVBJTEUKLSsjaW5jbHVk ZSA8cGNsL3BvaW50X3R5cGVzLmg+Ci0rI2luY2x1ZGUgPHBjbC9pbXBsL2luc3RhbnRpYXRlLmhw cD4KLSsjaWZkZWYgUENMX09OTFlfQ09SRV9QT0lOVF9UWVBFUwotKyAvLyBJbnN0YW50aWF0aW9u cyBvZiBzcGVjaWZpYyBwb2ludCB0eXBlcwotKyAgUENMX0lOU1RBTlRJQVRFX1BST0RVQ1QoTW92 aW5nTGVhc3RTcXVhcmVzLCAoKHBjbDo6UG9pbnRYWVopKHBjbDo6UG9pbnRYWVpJKShwY2w6OlBv aW50WFlaUkdCKShwY2w6OlBvaW50WFlaUkdCQSkocGNsOjpQb2ludFhZWlJHQk5vcm1hbCkocGNs OjpQb2ludE5vcm1hbCkpCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICgocGNsOjpQb2ludE5vcm1hbCkpKQotKyNlbHNlCi0rICAvLyBQQ0xfSU5TVEFOVElB VEVfUFJPRFVDVChNb3ZpbmdMZWFzdFNxdWFyZXMsIChQQ0xfWFlaX1BPSU5UX1RZUEVTKShQQ0xf WFlaX1BPSU5UX1RZUEVTKSkKLSsjZW5kaWYKLSsjZW5kaWYgICAgLy8gUENMX05PX1BSRUNPTVBJ TEUKLWRpZmYgLXVwIC4vc3VyZmFjZS9zcmMvbWxzX3h5ei5jcHAub29tIC4vc3VyZmFjZS9zcmMv bWxzX3h5ei5jcHAKLS0tLSAuL3N1cmZhY2Uvc3JjL21sc194eXouY3BwLm9vbQkyMDE5LTAyLTE2 IDIwOjU0OjUxLjg5MTIwMTIwMyAtMDUwMAotKysrIC4vc3VyZmFjZS9zcmMvbWxzX3h5ei5jcHAJ MjAxOS0wMi0xNiAyMDo1MTozMy4wODAyNTgwMzEgLTA1MDAKLUBAIC0wLDAgKzEsNTMgQEAKLSsv KgotKyAqIFNvZnR3YXJlIExpY2Vuc2UgQWdyZWVtZW50IChCU0QgTGljZW5zZSkKLSsgKgotKyAq IFBvaW50IENsb3VkIExpYnJhcnkgKFBDTCkgLSB3d3cucG9pbnRjbG91ZHMub3JnCi0rICogQ29w eXJpZ2h0IChjKSAyMDA5LTIwMTEsIFdpbGxvdyBHYXJhZ2UsIEluYy4KLSsgKgotKyAqIEFsbCBy aWdodHMgcmVzZXJ2ZWQuCi0rICoKLSsgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSsgKiBtb2RpZmljYXRpb24sIGFy ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSsgKiBh cmUgbWV0OgotKyAqCi0rICogKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotKyAqICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotKyAqICogUmVkaXN0cmlidXRp b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQotKyAqICAgY29weXJp Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKLSsg KiAgIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs cyBwcm92aWRlZAotKyAqICAgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotKyAqICogTmVpdGhlciB0 aGUgbmFtZSBvZiBXaWxsb3cgR2FyYWdlLCBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCi0rICog ICBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz IGRlcml2ZWQKLSsgKiAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9y IHdyaXR0ZW4gcGVybWlzc2lvbi4KLSsgKgotKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg QlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKLSsgKiAiQVMgSVMiIEFO RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAot KyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ IEFORCBGSVRORVNTCi0rICogRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE LiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUKLSsgKiBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVU T1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsCi0rICogSU5DSURFTlRBTCwg U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywK LSsgKiBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg T1IgU0VSVklDRVM7Ci0rICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUgotKyAqIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVAotKyAqIExJQUJJTElUWSwg T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOCi0r ICogQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT RUQgT0YgVEhFCi0rICogUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0rICoKLSsgKiAkSWQk Ci0rICoKLSsgKi8KLSsKLSsjaW5jbHVkZSA8cGNsL3N1cmZhY2UvbWxzLmg+Ci0rI2luY2x1ZGUg PHBjbC9zdXJmYWNlL2ltcGwvbWxzLmhwcD4KLSsKLSsjaWZuZGVmIFBDTF9OT19QUkVDT01QSUxF Ci0rI2luY2x1ZGUgPHBjbC9wb2ludF90eXBlcy5oPgotKyNpbmNsdWRlIDxwY2wvaW1wbC9pbnN0 YW50aWF0ZS5ocHA+Ci0rI2lmZGVmIFBDTF9PTkxZX0NPUkVfUE9JTlRfVFlQRVMKLSsgLy8gSW5z dGFudGlhdGlvbnMgb2Ygc3BlY2lmaWMgcG9pbnQgdHlwZXMKLSsgIFBDTF9JTlNUQU5USUFURV9Q Uk9EVUNUKE1vdmluZ0xlYXN0U3F1YXJlcywgKChwY2w6OlBvaW50WFlaKShwY2w6OlBvaW50WFla SSkocGNsOjpQb2ludFhZWlJHQikocGNsOjpQb2ludFhZWlJHQkEpKHBjbDo6UG9pbnRYWVpSR0JO b3JtYWwpKHBjbDo6UG9pbnROb3JtYWwpKQotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAoKHBjbDo6UG9pbnRYWVopKSkKLSsjZWxzZQotKyAgUENMX0lOU1RB TlRJQVRFX1BST0RVQ1QoTW92aW5nTGVhc3RTcXVhcmVzLCAoUENMX1hZWl9QT0lOVF9UWVBFUyko UENMX1hZWl9QT0lOVF9UWVBFUykpCi0rI2VuZGlmCi0rI2VuZGlmICAgIC8vIFBDTF9OT19QUkVD T01QSUxFCi1kaWZmIC11cCAuL3N1cmZhY2Uvc3JjL21sc194eXppLmNwcC5vb20gLi9zdXJmYWNl L3NyYy9tbHNfeHl6aS5jcHAKLS0tLSAuL3N1cmZhY2Uvc3JjL21sc194eXppLmNwcC5vb20JMjAx OS0wMi0xNiAyMDo1NDo1NS4xMzMyMTY1ODAgLTA1MDAKLSsrKyAuL3N1cmZhY2Uvc3JjL21sc194 eXppLmNwcAkyMDE5LTAyLTE2IDIwOjUxOjU5LjYwMjM4Mzg1NiAtMDUwMAotQEAgLTAsMCArMSw1 MyBAQAotKy8qCi0rICogU29mdHdhcmUgTGljZW5zZSBBZ3JlZW1lbnQgKEJTRCBMaWNlbnNlKQot KyAqCi0rICogUG9pbnQgQ2xvdWQgTGlicmFyeSAoUENMKSAtIHd3dy5wb2ludGNsb3Vkcy5vcmcK LSsgKiBDb3B5cmlnaHQgKGMpIDIwMDktMjAxMSwgV2lsbG93IEdhcmFnZSwgSW5jLgotKyAqCi0r ICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSsgKgotKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotKyAqIG1vZGlmaWNh dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u cwotKyAqIGFyZSBtZXQ6Ci0rICoKLSsgKiAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0rICogICBub3RpY2UsIHRoaXMgbGlz dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0rICogKiBSZWRp c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCi0rICog ICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv d2luZwotKyAqICAgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg bWF0ZXJpYWxzIHByb3ZpZGVkCi0rICogICB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0rICogKiBO ZWl0aGVyIHRoZSBuYW1lIG9mIFdpbGxvdyBHYXJhZ2UsIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBp dHMKLSsgKiAgIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUg cHJvZHVjdHMgZGVyaXZlZAotKyAqICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lm aWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotKyAqCi0rICogVEhJUyBTT0ZUV0FSRSBJUyBQ Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwotKyAqICJB UyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC VVQgTk9UCi0rICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO VEFCSUxJVFkgQU5EIEZJVE5FU1MKLSsgKiBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJ U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRQotKyAqIENPUFlSSUdIVCBPV05FUiBPUiBD T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwKLSsgKiBJTkNJ REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D TFVESU5HLAotKyAqIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU RSBHT09EUyBPUiBTRVJWSUNFUzsKLSsgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSCi0rICogQ0FVU0VEIEFORCBPTiBBTlkg VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUCi0rICogTElB QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ TkcgSU4KLSsgKiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g SUYgQURWSVNFRCBPRiBUSEUKLSsgKiBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSsgKgot KyAqICRJZCQKLSsgKgotKyAqLwotKwotKyNpbmNsdWRlIDxwY2wvc3VyZmFjZS9tbHMuaD4KLSsj aW5jbHVkZSA8cGNsL3N1cmZhY2UvaW1wbC9tbHMuaHBwPgotKwotKyNpZm5kZWYgUENMX05PX1BS RUNPTVBJTEUKLSsjaW5jbHVkZSA8cGNsL3BvaW50X3R5cGVzLmg+Ci0rI2luY2x1ZGUgPHBjbC9p bXBsL2luc3RhbnRpYXRlLmhwcD4KLSsjaWZkZWYgUENMX09OTFlfQ09SRV9QT0lOVF9UWVBFUwot KyAvLyBJbnN0YW50aWF0aW9ucyBvZiBzcGVjaWZpYyBwb2ludCB0eXBlcwotKyAgUENMX0lOU1RB TlRJQVRFX1BST0RVQ1QoTW92aW5nTGVhc3RTcXVhcmVzLCAoKHBjbDo6UG9pbnRYWVopKHBjbDo6 UG9pbnRYWVpJKShwY2w6OlBvaW50WFlaUkdCKShwY2w6OlBvaW50WFlaUkdCQSkocGNsOjpQb2lu dFhZWlJHQk5vcm1hbCkocGNsOjpQb2ludE5vcm1hbCkpCi0rICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICgocGNsOjpQb2ludFhZWkkpKSkKLSsjZWxzZQotKyAg Ly8gUENMX0lOU1RBTlRJQVRFX1BST0RVQ1QoTW92aW5nTGVhc3RTcXVhcmVzLCAoUENMX1hZWl9Q T0lOVF9UWVBFUykoUENMX1hZWl9QT0lOVF9UWVBFUykpCi0rI2VuZGlmCi0rI2VuZGlmICAgIC8v IFBDTF9OT19QUkVDT01QSUxFCi1kaWZmIC11cCAuL3N1cmZhY2Uvc3JjL21sc194eXpyZ2JhLmNw cC5vb20gLi9zdXJmYWNlL3NyYy9tbHNfeHl6cmdiYS5jcHAKLS0tLSAuL3N1cmZhY2Uvc3JjL21s c194eXpyZ2JhLmNwcC5vb20JMjAxOS0wMi0xNiAyMDo1NDo1Ny44MzIyMjkzODMgLTA1MDAKLSsr KyAuL3N1cmZhY2Uvc3JjL21sc194eXpyZ2JhLmNwcAkyMDE5LTAyLTE2IDIwOjUyOjMxLjEyNjUz MzQxNCAtMDUwMAotQEAgLTAsMCArMSw1MyBAQAotKy8qCi0rICogU29mdHdhcmUgTGljZW5zZSBB Z3JlZW1lbnQgKEJTRCBMaWNlbnNlKQotKyAqCi0rICogUG9pbnQgQ2xvdWQgTGlicmFyeSAoUENM KSAtIHd3dy5wb2ludGNsb3Vkcy5vcmcKLSsgKiBDb3B5cmlnaHQgKGMpIDIwMDktMjAxMSwgV2ls bG93IEdhcmFnZSwgSW5jLgotKyAqCi0rICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSsgKgotKyAq IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg b3Igd2l0aG91dAotKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0 IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotKyAqIGFyZSBtZXQ6Ci0rICoKLSsgKiAqIFJlZGlz dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0 Ci0rICogICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n IGRpc2NsYWltZXIuCi0rICogKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy ZXByb2R1Y2UgdGhlIGFib3ZlCi0rICogICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZwotKyAqICAgZGlzY2xhaW1lciBpbiB0aGUgZG9j dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkCi0rICogICB3aXRoIHRo ZSBkaXN0cmlidXRpb24uCi0rICogKiBOZWl0aGVyIHRoZSBuYW1lIG9mIFdpbGxvdyBHYXJhZ2Us IEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKLSsgKiAgIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNl ZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZAotKyAqICAgZnJvbSB0aGlz IHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotKyAq Ci0rICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg QU5EIENPTlRSSUJVVE9SUwotKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCi0rICogTElNSVRFRCBUTywgVEhFIElNUExJ RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKLSsgKiBGT1IgQSBQ QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRQot KyAqIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS RUNULCBJTkRJUkVDVCwKLSsgKiBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLAotKyAqIEJVVCBOT1QgTElNSVRFRCBUTywg UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKLSsgKiBMT1NTIE9G IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS Ci0rICogQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD T05UUkFDVCwgU1RSSUNUCi0rICogTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4KLSsgKiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUKLSsgKiBQT1NTSUJJTElU WSBPRiBTVUNIIERBTUFHRS4KLSsgKgotKyAqICRJZCQKLSsgKgotKyAqLwotKwotKyNpbmNsdWRl IDxwY2wvc3VyZmFjZS9tbHMuaD4KLSsjaW5jbHVkZSA8cGNsL3N1cmZhY2UvaW1wbC9tbHMuaHBw PgotKwotKyNpZm5kZWYgUENMX05PX1BSRUNPTVBJTEUKLSsjaW5jbHVkZSA8cGNsL3BvaW50X3R5 cGVzLmg+Ci0rI2luY2x1ZGUgPHBjbC9pbXBsL2luc3RhbnRpYXRlLmhwcD4KLSsjaWZkZWYgUENM X09OTFlfQ09SRV9QT0lOVF9UWVBFUwotKyAvLyBJbnN0YW50aWF0aW9ucyBvZiBzcGVjaWZpYyBw b2ludCB0eXBlcwotKyAgUENMX0lOU1RBTlRJQVRFX1BST0RVQ1QoTW92aW5nTGVhc3RTcXVhcmVz LCAoKHBjbDo6UG9pbnRYWVopKHBjbDo6UG9pbnRYWVpJKShwY2w6OlBvaW50WFlaUkdCKShwY2w6 OlBvaW50WFlaUkdCQSkocGNsOjpQb2ludFhZWlJHQk5vcm1hbCkocGNsOjpQb2ludE5vcm1hbCkp Ci0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgocGNsOjpQ b2ludFhZWlJHQkEpKSkKLSsjZWxzZQotKyAgLy8gUENMX0lOU1RBTlRJQVRFX1BST0RVQ1QoTW92 aW5nTGVhc3RTcXVhcmVzLCAoUENMX1hZWl9QT0lOVF9UWVBFUykoUENMX1hZWl9QT0lOVF9UWVBF UykpCi0rI2VuZGlmCi0rI2VuZGlmICAgIC8vIFBDTF9OT19QUkVDT01QSUxFCi1kaWZmIC11cCAu L3N1cmZhY2Uvc3JjL21sc194eXpyZ2IuY3BwLm9vbSAuL3N1cmZhY2Uvc3JjL21sc194eXpyZ2Iu Y3BwCi0tLS0gLi9zdXJmYWNlL3NyYy9tbHNfeHl6cmdiLmNwcC5vb20JMjAxOS0wMi0xNiAyMDo1 NTowMy41MjQyNTYzOTEgLTA1MDAKLSsrKyAuL3N1cmZhY2Uvc3JjL21sc194eXpyZ2IuY3BwCTIw MTktMDItMTYgMjA6NTM6MDIuNjA5NjgyNzY2IC0wNTAwCi1AQCAtMCwwICsxLDUzIEBACi0rLyoK LSsgKiBTb2Z0d2FyZSBMaWNlbnNlIEFncmVlbWVudCAoQlNEIExpY2Vuc2UpCi0rICoKLSsgKiBQ b2ludCBDbG91ZCBMaWJyYXJ5IChQQ0wpIC0gd3d3LnBvaW50Y2xvdWRzLm9yZwotKyAqIENvcHly aWdodCAoYykgMjAwOS0yMDExLCBXaWxsb3cgR2FyYWdlLCBJbmMuCi0rICoKLSsgKiBBbGwgcmln aHRzIHJlc2VydmVkLgotKyAqCi0rICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0rICogbW9kaWZpY2F0aW9uLCBhcmUg cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0rICogYXJl IG1ldDoKLSsgKgotKyAqICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0 YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSsgKiAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSsgKiAqIFJlZGlzdHJpYnV0aW9u cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKLSsgKiAgIGNvcHlyaWdo dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nCi0rICog ICBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg cHJvdmlkZWQKLSsgKiAgIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSsgKiAqIE5laXRoZXIgdGhl IG5hbWUgb2YgV2lsbG93IEdhcmFnZSwgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwotKyAqICAg Y29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBk ZXJpdmVkCi0rICogICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3 cml0dGVuIHBlcm1pc3Npb24uCi0rICoKLSsgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ IFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCi0rICogIkFTIElTIiBBTkQg QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKLSsg KiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB TkQgRklUTkVTUwotKyAqIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g SU4gTk8gRVZFTlQgU0hBTEwgVEhFCi0rICogQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9S UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULAotKyAqIElOQ0lERU5UQUwsIFNQ RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsCi0r ICogQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S IFNFUlZJQ0VTOwotKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIKLSsgKiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QKLSsgKiBMSUFCSUxJVFksIE9S IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTgotKyAq IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE IE9GIFRIRQotKyAqIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotKyAqCi0rICogJElkJAot KyAqCi0rICovCi0rCi0rI2luY2x1ZGUgPHBjbC9zdXJmYWNlL21scy5oPgotKyNpbmNsdWRlIDxw Y2wvc3VyZmFjZS9pbXBsL21scy5ocHA+Ci0rCi0rI2lmbmRlZiBQQ0xfTk9fUFJFQ09NUElMRQot KyNpbmNsdWRlIDxwY2wvcG9pbnRfdHlwZXMuaD4KLSsjaW5jbHVkZSA8cGNsL2ltcGwvaW5zdGFu dGlhdGUuaHBwPgotKyNpZmRlZiBQQ0xfT05MWV9DT1JFX1BPSU5UX1RZUEVTCi0rIC8vIEluc3Rh bnRpYXRpb25zIG9mIHNwZWNpZmljIHBvaW50IHR5cGVzCi0rICBQQ0xfSU5TVEFOVElBVEVfUFJP RFVDVChNb3ZpbmdMZWFzdFNxdWFyZXMsICgocGNsOjpQb2ludFhZWikocGNsOjpQb2ludFhZWkkp KHBjbDo6UG9pbnRYWVpSR0IpKHBjbDo6UG9pbnRYWVpSR0JBKShwY2w6OlBvaW50WFlaUkdCTm9y bWFsKShwY2w6OlBvaW50Tm9ybWFsKSkKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgKChwY2w6OlBvaW50WFlaUkdCKSkpCi0rI2Vsc2UKLSsgIC8vUENMX0lO U1RBTlRJQVRFX1BST0RVQ1QoTW92aW5nTGVhc3RTcXVhcmVzLCAoUENMX1hZWl9QT0lOVF9UWVBF UykoUENMX1hZWl9QT0lOVF9UWVBFUykpCi0rI2VuZGlmCi0rI2VuZGlmICAgIC8vIFBDTF9OT19Q UkVDT01QSUxFCi1kaWZmIC11cCAuL3N1cmZhY2Uvc3JjL21sc194eXpyZ2JuLmNwcC5vb20gLi9z dXJmYWNlL3NyYy9tbHNfeHl6cmdibi5jcHAKLS0tLSAuL3N1cmZhY2Uvc3JjL21sc194eXpyZ2Ju LmNwcC5vb20JMjAxOS0wMi0xNiAyMDo1NTowNy4wMzAyNzMwMjIgLTA1MDAKLSsrKyAuL3N1cmZh Y2Uvc3JjL21sc194eXpyZ2JuLmNwcAkyMDE5LTAyLTE2IDIwOjUzOjM0LjIxNTgzMjcwMiAtMDUw MAotQEAgLTAsMCArMSw1MyBAQAotKy8qCi0rICogU29mdHdhcmUgTGljZW5zZSBBZ3JlZW1lbnQg KEJTRCBMaWNlbnNlKQotKyAqCi0rICogUG9pbnQgQ2xvdWQgTGlicmFyeSAoUENMKSAtIHd3dy5w b2ludGNsb3Vkcy5vcmcKLSsgKiBDb3B5cmlnaHQgKGMpIDIwMDktMjAxMSwgV2lsbG93IEdhcmFn ZSwgSW5jLgotKyAqCi0rICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSsgKgotKyAqIFJlZGlzdHJp YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91 dAotKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs b3dpbmcgY29uZGl0aW9ucwotKyAqIGFyZSBtZXQ6Ci0rICoKLSsgKiAqIFJlZGlzdHJpYnV0aW9u cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0rICogICBu b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt ZXIuCi0rICogKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug dGhlIGFib3ZlCi0rICogICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u cyBhbmQgdGhlIGZvbGxvd2luZwotKyAqICAgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlv biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkCi0rICogICB3aXRoIHRoZSBkaXN0cmli dXRpb24uCi0rICogKiBOZWl0aGVyIHRoZSBuYW1lIG9mIFdpbGxvdyBHYXJhZ2UsIEluYy4gbm9y IHRoZSBuYW1lcyBvZiBpdHMKLSsgKiAgIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRv cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZAotKyAqICAgZnJvbSB0aGlzIHNvZnR3YXJl IHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotKyAqCi0rICogVEhJ UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRS SUJVVE9SUwotKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF UywgSU5DTFVESU5HLCBCVVQgTk9UCi0rICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFO VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKLSsgKiBGT1IgQSBQQVJUSUNVTEFS IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRQotKyAqIENPUFlS SUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ UkVDVCwKLSsgKiBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ QUwgREFNQUdFUyAoSU5DTFVESU5HLAotKyAqIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKLSsgKiBMT1NTIE9GIFVTRSwgREFU QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSCi0rICogQ0FV U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg U1RSSUNUCi0rICogTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP VEhFUldJU0UpIEFSSVNJTkcgSU4KLSsgKiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUKLSsgKiBQT1NTSUJJTElUWSBPRiBTVUNI IERBTUFHRS4KLSsgKgotKyAqICRJZCQKLSsgKgotKyAqLwotKwotKyNpbmNsdWRlIDxwY2wvc3Vy ZmFjZS9tbHMuaD4KLSsjaW5jbHVkZSA8cGNsL3N1cmZhY2UvaW1wbC9tbHMuaHBwPgotKwotKyNp Zm5kZWYgUENMX05PX1BSRUNPTVBJTEUKLSsjaW5jbHVkZSA8cGNsL3BvaW50X3R5cGVzLmg+Ci0r I2luY2x1ZGUgPHBjbC9pbXBsL2luc3RhbnRpYXRlLmhwcD4KLSsjaWZkZWYgUENMX09OTFlfQ09S RV9QT0lOVF9UWVBFUwotKyAvLyBJbnN0YW50aWF0aW9ucyBvZiBzcGVjaWZpYyBwb2ludCB0eXBl cwotKyAgUENMX0lOU1RBTlRJQVRFX1BST0RVQ1QoTW92aW5nTGVhc3RTcXVhcmVzLCAoKHBjbDo6 UG9pbnRYWVopKHBjbDo6UG9pbnRYWVpJKShwY2w6OlBvaW50WFlaUkdCKShwY2w6OlBvaW50WFla UkdCQSkocGNsOjpQb2ludFhZWlJHQk5vcm1hbCkocGNsOjpQb2ludE5vcm1hbCkpCi0rICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgocGNsOjpQb2ludFhZWlJH Qk5vcm1hbCkpKQotKyNlbHNlCi0rICAvL1BDTF9JTlNUQU5USUFURV9QUk9EVUNUKE1vdmluZ0xl YXN0U3F1YXJlcywgKFBDTF9YWVpfUE9JTlRfVFlQRVMpKFBDTF9YWVpfUE9JTlRfVFlQRVMpKQot KyNlbmRpZgotKyNlbmRpZiAgICAvLyBQQ0xfTk9fUFJFQ09NUElMRQoKZGlmZiAtLWdpdCBhL3Bj bC0xLjkuMS1zYWNzZWdtZW50YXRpb24ucGF0Y2ggYi9wY2wtMS45LjEtc2Fjc2VnbWVudGF0aW9u LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5YTIyNWQ0Li4wMDAwMDAwCi0t LSBhL3BjbC0xLjkuMS1zYWNzZWdtZW50YXRpb24ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwz MyArMCwwIEBACi1Gcm9tIDM2YzJiZDYyMDlmODdkYzdjNmY1NmUyYzAzMTRlMTlmOWNhYjk1ZWMg TW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBUaG9yc3RlbiBIYXJ0ZXIgPHRob3JzdGVu LmhhcnRlckBnbXgubmV0PgotRGF0ZTogVGh1LCAxMCBKYW4gMjAxOSAxNTo1NDo1MiArMDEwMAot U3ViamVjdDogW1BBVENIXSBGaXggcmVncmVzc2lvbiBpbiBwY2w6OlNBQ1NlZ21lbnRhdGlvbiBs aW5lIGZpdHRpbmcKLQotcGNsOjpTYW1wbGVDb25zZW5zdXNNb2RlbExpbmU8UG9pbnRUPjo6aXNT YW1wbGVHb29kIHNob3VsZCBjaGVjayBpZiB0aGUgdHdvIHNhbXBsZSBwb2ludHMgZGlmZmVyIGlu IG9uZSBjb29yZGluYXRlLCBub3QgaW4gYWxsIG9mIHRoZW0uCi0tLS0KLSAuLi4vaW5jbHVkZS9w Y2wvc2FtcGxlX2NvbnNlbnN1cy9pbXBsL3NhY19tb2RlbF9saW5lLmhwcCAgIHwgNyArKysrKy0t Ci0gMSBmaWxlIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKLQotZGlm ZiAtLWdpdCBhL3NhbXBsZV9jb25zZW5zdXMvaW5jbHVkZS9wY2wvc2FtcGxlX2NvbnNlbnN1cy9p bXBsL3NhY19tb2RlbF9saW5lLmhwcCBiL3NhbXBsZV9jb25zZW5zdXMvaW5jbHVkZS9wY2wvc2Ft cGxlX2NvbnNlbnN1cy9pbXBsL3NhY19tb2RlbF9saW5lLmhwcAotaW5kZXggN2M3ZmQ3NTEyYS4u OWE4NTA1ZDkzYyAxMDA2NDQKLS0tLSBhL3NhbXBsZV9jb25zZW5zdXMvaW5jbHVkZS9wY2wvc2Ft cGxlX2NvbnNlbnN1cy9pbXBsL3NhY19tb2RlbF9saW5lLmhwcAotKysrIGIvc2FtcGxlX2NvbnNl bnN1cy9pbmNsdWRlL3BjbC9zYW1wbGVfY29uc2Vuc3VzL2ltcGwvc2FjX21vZGVsX2xpbmUuaHBw Ci1AQCAtNDksMTMgKzQ5LDE2IEBACi0gdGVtcGxhdGUgPHR5cGVuYW1lIFBvaW50VD4gYm9vbAot IHBjbDo6U2FtcGxlQ29uc2Vuc3VzTW9kZWxMaW5lPFBvaW50VD46OmlzU2FtcGxlR29vZCAoY29u c3Qgc3RkOjp2ZWN0b3I8aW50PiAmc2FtcGxlcykgY29uc3QKLSB7Ci0rICAvLyBNYWtlIHN1cmUg dGhhdCB0aGUgdHdvIHNhbXBsZSBwb2ludHMgYXJlIG5vdCBpZGVudGljYWwKLSAgIGlmICgKLSAg ICAgICAoaW5wdXRfLT5wb2ludHNbc2FtcGxlc1swXV0ueCAhPSBpbnB1dF8tPnBvaW50c1tzYW1w bGVzWzFdXS54KQotLSAgICAmJgotKyAgICB8fAotICAgICAgIChpbnB1dF8tPnBvaW50c1tzYW1w bGVzWzBdXS55ICE9IGlucHV0Xy0+cG9pbnRzW3NhbXBsZXNbMV1dLnkpCi0tICAgICYmCi0rICAg IHx8Ci0gICAgICAgKGlucHV0Xy0+cG9pbnRzW3NhbXBsZXNbMF1dLnogIT0gaW5wdXRfLT5wb2lu dHNbc2FtcGxlc1sxXV0ueikpCi0rICB7Ci0gICAgIHJldHVybiAodHJ1ZSk7Ci0rICB9Ci0gCi0g ICByZXR1cm4gKGZhbHNlKTsKLSB9CgpkaWZmIC0tZ2l0IGEvcGNsLTEuOS4xLXNzZTIucGF0Y2gg Yi9wY2wtMS45LjEtc3NlMi5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjk5 ZDE5NS4uMDAwMDAwMAotLS0gYS9wY2wtMS45LjEtc3NlMi5wYXRjaAorKysgL2Rldi9udWxsCkBA IC0xLDMzICswLDAgQEAKLWRpZmYgLXVwIC4vY21ha2UvcGNsX2ZpbmRfc3NlLmNtYWtlLnNzZTIg Li9jbWFrZS9wY2xfZmluZF9zc2UuY21ha2UKLS0tLSAuL2NtYWtlL3BjbF9maW5kX3NzZS5jbWFr ZS5zc2UyCTIwMTgtMTEtMjYgMDY6NTA6MzMuMDAwMDAwMDAwIC0wNTAwCi0rKysgLi9jbWFrZS9w Y2xfZmluZF9zc2UuY21ha2UJMjAxOS0wMi0xNiAxOTowNToxNi42MTg3NjE0NjIgLTA1MDAKLUBA IC03LDcgKzcsNyBAQCBtYWNybyhQQ0xfQ0hFQ0tfRk9SX1NTRSkKLSAgICAgaWYoTk9UIENNQUtF X0NST1NTQ09NUElMSU5HKQotICAgICAgICAgIyBUZXN0IEdDQy9HKysgYW5kIENMQU5HCi0gICAg ICAgICBpZihDTUFLRV9DT01QSUxFUl9JU19HTlVDQyBPUiBDTUFLRV9DT01QSUxFUl9JU19HTlVD WFggT1IgQ01BS0VfQ09NUElMRVJfSVNfQ0xBTkcpCi0tICAgICAgICAgICAgbGlzdChBUFBFTkQg U1NFX0ZMQUdTICItbWFyY2g9bmF0aXZlIikKLSsgICAgICAgICAgI2xpc3QoQVBQRU5EIFNTRV9G TEFHUyAiLW1hcmNoPW5hdGl2ZSIpCi0gICAgICAgICAgICAgbWVzc2FnZShTVEFUVVMgIlVzaW5n IENQVSBuYXRpdmUgZmxhZ3MgZm9yIFNTRSBvcHRpbWl6YXRpb246ICR7U1NFX0ZMQUdTfSIpCi0g ICAgICAgICBlbmRpZigpCi0gICAgIGVuZGlmKCkKLUBAIC0xNjQsMTggKzE2NCw5IEBAIG1hY3Jv KFBDTF9DSEVDS19GT1JfU1NFKQotICAgICBzZXQoQ01BS0VfUkVRVUlSRURfRkxBR1MpCi0gCi0g ICAgIGlmKENNQUtFX0NPTVBJTEVSX0lTX0dOVUNDIE9SIENNQUtFX0NPTVBJTEVSX0lTX0dOVUNY WCBPUiBDTUFLRV9DT01QSUxFUl9JU19DTEFORykKLS0gICAgICAgIGlmKEhBVkVfU1NFNF8yX0VY VEVOU0lPTlMpCi0tICAgICAgICAgICAgbGlzdChBUFBFTkQgU1NFX0ZMQUdTICItbXNzZTQuMiIg Ii1tZnBtYXRoPXNzZSIpCi0tICAgICAgICBlbHNlaWYoSEFWRV9TU0U0XzFfRVhURU5TSU9OUykK LS0gICAgICAgICAgICBsaXN0KEFQUEVORCBTU0VfRkxBR1MgIi1tc3NlNC4xIiAiLW1mcG1hdGg9 c3NlIikKLS0gICAgICAgIGVsc2VpZihIQVZFX1NTU0UzX0VYVEVOU0lPTlMpCi0tICAgICAgICAg ICAgbGlzdChBUFBFTkQgU1NFX0ZMQUdTICItbXNzc2UzIiAiLW1mcG1hdGg9c3NlIikKLS0gICAg ICAgIGVsc2VpZihIQVZFX1NTRTNfRVhURU5TSU9OUykKLS0gICAgICAgICAgICBsaXN0KEFQUEVO RCBTU0VfRkxBR1MgIi1tc3NlMyIgIi1tZnBtYXRoPXNzZSIpCi0tICAgICAgICBlbHNlaWYoSEFW RV9TU0UyX0VYVEVOU0lPTlMpCi0rICAgICAgICBpZigiJHtDTUFLRV9TWVNURU1fUFJPQ0VTU09S fSIgU1RSRVFVQUwgIng4Nl82NCIgQU5EICIke0NNQUtFX1NJWkVPRl9WT0lEX1B9IiBTVFJFUVVB TCAiOCIpCi0rICAgICAgICAgICAgTUVTU0FHRShTVEFUVVMgIkVuYWJsaW5nIFNTRSBTdXBwb3J0 ICgke0NNQUtFX1NZU1RFTV9QUk9DRVNTT1J9LCAke0NNQUtFX1NJWkVPRl9WT0lEX1B9KSIpCi0g ICAgICAgICAgICAgbGlzdChBUFBFTkQgU1NFX0ZMQUdTICItbXNzZTIiICItbWZwbWF0aD1zc2Ui KQotLSAgICAgICAgZWxzZWlmKEhBVkVfU1NFX0VYVEVOU0lPTlMpCi0tICAgICAgICAgICAgbGlz dChBUFBFTkQgU1NFX0ZMQUdTICItbXNzZSIgIi1tZnBtYXRoPXNzZSIpCi0gICAgICAgICBlbHNl KCkKLSAgICAgICAgICAgICAjIFNldHRpbmcgLWZmbG9hdC1zdG9yZSB0byBhbGxldmlhdGUgMzJi aXQgdnMgNjRiaXQgZGlzY3JlcGFuY2llcyBvbiBub24tU1NFCi0gICAgICAgICAgICAgIyBwbGF0 Zm9ybXMuCgpkaWZmIC0tZ2l0IGEvcGNsLnNwZWMgYi9wY2wuc3BlYwppbmRleCBjZDlhMTJmLi4w NGQ1YzlhIDEwMDY0NAotLS0gYS9wY2wuc3BlYworKysgYi9wY2wuc3BlYwpAQCAtMSw4ICsxLDgg QEAKLSVnbG9iYWwgYXBpdmVyc2lvbiAxLjkKKyVnbG9iYWwgYXBpdmVyc2lvbiAxLjExCiAKIE5h bWU6ICAgICAgICAgICBwY2wKLVZlcnNpb246ICAgICAgICAxLjkuMQotUmVsZWFzZTogICAgICAg IDclez9kaXN0fQorVmVyc2lvbjogICAgICAgIDEuMTEuMAorUmVsZWFzZTogICAgICAgIDElez9k aXN0fQogU3VtbWFyeTogICAgICAgIExpYnJhcnkgZm9yIHBvaW50IGNsb3VkIHByb2Nlc3NpbmcK IExpY2Vuc2U6ICAgICAgICBCU0QKIFVSTDogICAgICAgICAgICBodHRwOi8vcG9pbnRjbG91ZHMu b3JnLwpAQCAtMTMsMzAgKzEzLDI1IEBAIFNvdXJjZTA6ICAgICAgICAle25hbWV9LSV7dmVyc2lv bn0tZmVkb3JhLnRhci54egogU291cmNlMTogICAgICAgIGNyZWF0ZV90YXJiYWxsX3BjbC5zaAog CiAjIE9ubHkgZW5hYmxlIHNzZTIsIGFuZCBvbmx5IG9uIHg4Nl82NAotUGF0Y2gwOiAgICAgICAg ICV7bmFtZX0tMS45LjEtc3NlMi5wYXRjaAorUGF0Y2gwOiAgICAgICAgICV7bmFtZX0tMS4xMS4w LXNzZTIucGF0Y2gKICMgTG9vayBmb3IgZXh0ZXJuYWwgbWV0c2xpYiwgbm90IHVwc3RyZWFtCi1Q YXRjaDE6ICAgICAgICAgJXtuYW1lfS0xLjguMC1tZXRzbGliLnBhdGNoCitQYXRjaDE6ICAgICAg ICAgJXtuYW1lfS0xLjExLjAtbWV0c2xpYi5wYXRjaAogIyBQYXRjaCBmb3IgUENMQ29uZmlnLmNt YWtlIHRvIGZpbmQgcGNsCi1QYXRjaDI6ICAgICAgICAgJXtuYW1lfS0xLjguMS1mZWRvcmEucGF0 Y2gKK1BhdGNoMjogICAgICAgICAle25hbWV9LTEuMTEuMC1mZWRvcmEucGF0Y2gKICMgRXhjbHVk ZSB0aGUgImJ1aWxkIiBkaXJlY3RvcnkgZnJvbSBkb3h5Z2VuIHByb2Nlc3NpbmcuCi1QYXRjaDM6 ICAgICAgICAgJXtuYW1lfS0xLjcuMi1kb3h5Zml4LnBhdGNoCitQYXRjaDM6ICAgICAgICAgJXtu YW1lfS0xLjExLjAtZG94eWZpeC5wYXRjaAogIyBTcGxpdCB1cCBleHBsaWNpdCB0ZW1wbGF0ZSBp bnN0YW50aWF0aW9ucyBzbyB0aGF0IGJ1aWxkZXJzIGRvbid0IHJ1biBvdXQgb2YgbWVtb3J5Ci1Q YXRjaDQ6ICAgICAgICAgJXtuYW1lfS0xLjkuMS1vb20ucGF0Y2gKLSMgVXBzdHJlYW0gcGF0Y2gg dG8gZGlzYWJsZSBib29zdCBlbmRpYW4gd2FybmluZ3MKLVBhdGNoNTogICAgICAgICAle25hbWV9 LTEuOS4xLWJvb3N0ZW5kaWFuLnBhdGNoCi0jIFVwc3RyZWFtIHBhdGNoIHRvIGZpeCBTQUNTZWdt ZW50YXRpb24gbGluZSBmaXR0aW5nCi0jIGh0dHBzOi8vZ2l0aHViLmNvbS9Qb2ludENsb3VkTGli cmFyeS9wY2wvcHVsbC8yNzY3Ci1QYXRjaDY6ICAgICAgICAgJXtuYW1lfS0xLjkuMS1zYWNzZWdt ZW50YXRpb24ucGF0Y2gKK1BhdGNoNDogICAgICAgICAle25hbWV9LTEuMTEuMC1vb20ucGF0Y2gK IAogIyBGb3IgcGxhaW4gYnVpbGRpbmcKIEJ1aWxkUmVxdWlyZXM6ICBjbWFrZSwgZ2NjLWMrKywg Ym9vc3QtZGV2ZWwKICMgRG9jdW1lbnRhdGlvbgotQnVpbGRSZXF1aXJlczogIGRveHlnZW4sIGRv eHlnZW4tbGF0ZXgsIGdyYXBodml6LCAvdXNyL2Jpbi9zcGhpbngtYnVpbGQKK0J1aWxkUmVxdWly ZXM6ICBkb3h5Z2VuLCBncmFwaHZpeiwgL3Vzci9iaW4vc3BoaW54LWJ1aWxkCiAKICMgbWFuZGF0 b3J5CiBCdWlsZFJlcXVpcmVzOiAgZWlnZW4zLXN0YXRpYywgZmxhbm4tZGV2ZWwsIGNtaW5wYWNr LWRldmVsLCB2dGstZGV2ZWwsIGdsMnBzLWRldmVsLCBoZGY1LWRldmVsLCBsaWJ4bWwyLWRldmVs LCBuZXRjZGYtY3h4LWRldmVsLCBqc29uY3BwLWRldmVsLCBtZXRzbGliLXN0YXRpYywgbGliWGV4 dC1kZXZlbAogIyBvcHRpb25hbAotQnVpbGRSZXF1aXJlczogIHF0NS1xdGJhc2UtZGV2ZWwsIHFo dWxsLWRldmVsLCBsaWJ1c2J4LWRldmVsLCBndGVzdC1kZXZlbCwgcXQ1LXF0d2Via2l0LWRldmVs LCB0ZXhsaXZlLXNjaGVtZS10ZXRleCwgdGV4bGl2ZS11Y3MKK0J1aWxkUmVxdWlyZXM6ICBxdDUt cXRiYXNlLWRldmVsLCBxaHVsbC1kZXZlbCwgbGlidXNieC1kZXZlbCwgZ3Rlc3QtZGV2ZWwsIHF0 NS1xdHdlYmtpdC1kZXZlbAogJWlmYXJjaCAle2l4ODZ9IHg4Nl82NAogQnVpbGRSZXF1aXJlczog IG9wZW5uaS1kZXZlbAogJWVuZGlmCkBAIC04OCw4ICs4Myw2IEBAIExpYnJhcnkuCiAlcGF0Y2gy IC1wMCAtYiAuZmVkb3JhCiAlcGF0Y2gzIC1wMCAtYiAuZG94eWZpeAogJXBhdGNoNCAtcDEgLWIg Lm9vbQotJXBhdGNoNSAtcDEgLWIgLmJvb3N0ZW5kaWFuCi0lcGF0Y2g2IC1wMSAtYiAuc2Fjc2Vn bWVudGF0aW9uCiAKICMgSnVzdCB0byBtYWtlIGl0IG9idmlvdXMgd2UncmUgbm90IHVzaW5nIGFu eSBvZiB0aGVzZQogcm0gLWZyIHJlY29nbml0aW9uL2luY2x1ZGUvcGNsL3JlY29nbml0aW9uLzNy ZHBhcnR5L21ldHNsaWIKQEAgLTEyNiwxMCArMTE5LDEwIEBAIHB1c2hkIGJ1aWxkCiAgIC4uCiAK ICMgRG9uJ3QgdXNlIG1mbGFncywgd2UncmUgaGl0dGluZyBvdXQgb2YgbWVtb3J5IGVycm9ycyBv biB0aGUga29qaSBidWlsZGVycwotbWFrZSAKLW1ha2UgZG9jCi1tYWtlIHR1dG9yaWFscwotbWFr ZSBhZHZhbmNlZAorJW1ha2VfYnVpbGQKKyNtYWtlIGRvYworI21ha2UgdHV0b3JpYWxzCisjbWFr ZSBhZHZhbmNlZAogcG9wZAogCiAlaW5zdGFsbApAQCAtMTk2LDYgKzE4OSw5IEBAIEFSR1M9Jy1W JyBtYWtlIC1DIGJ1aWxkIHRlc3QgfHwgdHJ1ZQogJWRvYyBidWlsZC9kb2MvYWR2YW5jZWQvYWR2 YW5jZWQKIAogJWNoYW5nZWxvZworKiBUdWUgSnVuIDAyIDIwMjAgUmljaCBNYXR0ZXMgPHJpY2ht YXR0ZXNAZ21haWwuY29tPiAtIDEuMTEuMC0xCistIFVwZGF0ZSB0byByZWxlYXNlIDEuMTEuMAor CiAqIEZyaSBNYXkgMjkgMjAyMCBKb25hdGhhbiBXYWtlbHkgPGp3YWtlbHlAcmVkaGF0LmNvbT4g LSAxLjkuMS03CiAtIFJlYnVpbHQgZm9yIEJvb3N0IDEuNzMKIAoKZGlmZiAtLWdpdCBhL3NvdXJj ZXMgYi9zb3VyY2VzCmluZGV4IGVlMDljNzcuLjEyMDc2OWYgMTAwNjQ0Ci0tLSBhL3NvdXJjZXMK KysrIGIvc291cmNlcwpAQCAtMSArMSBAQAotU0hBNTEyIChwY2wtMS45LjEtZmVkb3JhLnRhci54 eikgPSAxMDMxNjA5MDQ4MjYzOGU4ZDA3M2U5MjhkZmZkYTBkYmZjZGIwZjJiNjAyOGRlYjM5NjEz Y2VjNDhiYjMyODQwMWM2ODFhNzkwODk3MzIxYzY4ZjQ2Mjg5NTUxMTljZmYzYjQ2ODdiNzRlYjYz MjQ1ODg0MjdlZjU0N2IwMzNlOQorU0hBNTEyIChwY2wtMS4xMS4wLWZlZG9yYS50YXIueHopID0g Y2QwMzQzMDZmZTA3MDdkZWY0MTJiY2FmZThmOTk2Zjg4NWIxNjUxZjkyZmQwOTAyMTI0OGM0ZDhm ZDA4ZTBhYjRiNmFmMzU4ZmM2YmY3NTllMmYwMWFiZDA3NGZhMThkYzViODY5YWQ4YTcxNGQwM2E4 OTBiMmM5YTliODJmZmIK