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/kdevelop-python] f44: Add support for Python 3.6 Date: Sat, 04 Jul 2026 00:59:54 GMT Message-ID: <178312679402.1.5329893586510698864.rpms-kdevelop-python-75bb64ad2a2e@fedoraproject.org> List-ID: X-Git-Repo: rpms/kdevelop-python X-Git-Branch: f44 X-Git-Rev: 75bb64ad2a2e65d1421e15fadb7fda6c48945339 QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMva2RldmVsb3AtcHl0 aG9uCkJyYW5jaCA6IGY0NApDb21taXQgOiA3NWJiNjRhZDJhMmU2NWQxNDIxZTE1ZmFkYjdmZGE2 YzQ4OTQ1MzM5CkF1dGhvciA6IEphbiBHcnVsaWNoIDxqZ3J1bGljaEByZWRoYXQuY29tPgpEYXRl ICAgOiAyMDE2LTEyLTIzVDA4OjU1OjU5KzAxOjAwClN0YXRzICA6ICs0NzcvLTIgaW4gMiBmaWxl KHMpClVSTCAgICA6IGh0dHBzOi8vc3JjLmZlZG9yYXByb2plY3Qub3JnL3JwbXMva2RldmVsb3At cHl0aG9uL2MvNzViYjY0YWQyYTJlNjVkMTQyMWUxNWZhZGI3ZmRhNmM0ODk0NTMzOT9icmFuY2g9 ZjQ0CgpMb2c6CkFkZCBzdXBwb3J0IGZvciBQeXRob24gMy42CgotLS0KZGlmZiAtLWdpdCBhL2tk ZXZlbG9wLXB5dGhvbi5zcGVjIGIva2RldmVsb3AtcHl0aG9uLnNwZWMKaW5kZXggYTkxODJlMS4u YmNjYjhmYyAxMDA2NDQKLS0tIGEva2RldmVsb3AtcHl0aG9uLnNwZWMKKysrIGIva2RldmVsb3At cHl0aG9uLnNwZWMKQEAgLTYsNyArNiw3IEBAIE5hbWU6ICAgICAgIGtkZXZlbG9wLXB5dGhvbgog VmVyc2lvbjogICAgNS4wLjMKICVnbG9iYWwgcHkzX3N1ZmZpeCAtcHkzCiAlZ2xvYmFsIHB5M190 YWcgLnB5MwotUmVsZWFzZTogICAgMiV7P3B5M190YWd9JXs/ZGlzdH0KK1JlbGVhc2U6ICAgIDMl ez9weTNfdGFnfSV7P2Rpc3R9CiBMaWNlbnNlOiAgICBHUEx2MgogU291cmNlMDogICAgaHR0cDov L2Rvd25sb2FkLmtkZS5vcmcvc3RhYmxlL2tkZXZlbG9wLyV7dmVyc2lvbn0vc3JjL2tkZXYtcHl0 aG9uLSV7dmVyc2lvbn0udGFyLnh6CiAKQEAgLTIwLDcgKzIwLDcgQEAgUGF0Y2gwOiAgICAga2Rl di1weXRob24tMS43LjAtcHkzLXNoZWJhbmcucGF0Y2gKIFBhdGNoMTogICAgIGtkZXYtcHl0aG9u LTEuNy4wLXB5My1kb2Mtc3ludGF4LnBhdGNoCiAKIFBhdGNoMjogICAgIGtkZXYtcHl0aG9uLW1p c3NpbmctZGVwZW5kZW5jeS5wYXRjaAotCitQYXRjaDM6ICAgICBrZGV2ZWxvcC1weXRob24zNi5w YXRjaAogCiBTdW1tYXJ5OiAgICBQeXRob24gMyBQbHVnaW4gZm9yIEtEZXZlbG9wCiBVUkw6ICAg ICAgICBodHRwczovL3d3dy5rZGV2ZWxvcC5vcmcvCkBAIC02Niw2ICs2NiwxMCBAQCBQeXRob24g MyBsYW5ndWFnZSBzdXBwb3J0IGZvciB0aGUgS0RldmVsb3AgSW50ZWdyYXRlZCBEZXZlbG9wbWVu dCBFbnZpcm9ubWVudC4KICMgYWRkIG1pc3NpbmcgZGVwZW5kZW5jeSBvbiBrZGVsaWJzNHN1cHBv cnQKICVwYXRjaDIgLXAxIC1iIC5taXNzaW5nLWRlcGVuZGVuY3kKIAorIyBhZGQgc3VwcG9ydCBm b3IgUHl0aG9uIDMuNgorJWlmIDAlez9mZWRvcmF9ID4gMjUKKyVwYXRjaDMgLXAxIC1iIC5rZGV2 ZWxvcC1weXRob24zNgorJWVuZGlmCiAKICVidWlsZAogbWtkaXIgJXtfdGFyZ2V0X3BsYXRmb3Jt fQpAQCAtMTAxLDYgKzEwNSw5IEBAIHJtIC1mICV7YnVpbGRyb290fSV7X2RhdGFkaXJ9L2tkZXZw eXRob25zdXBwb3J0L2RvY3VtZW50YXRpb25fZmlsZXMvUHlLREU0L3BhcnNlCiAKIAogJWNoYW5n ZWxvZworKiBUaHUgRGVjIDIyIDIwMTYgSmFuIEdydWxpY2ggPGpncnVsaWNoQHJlZGhhdC5jb20+ IC0gNS4wLjMtMy5weTMKKy0gQWRkIHN1cHBvcnQgZm9yIFB5dGhvbiAzLjYgKHRha2VuIGZyb20g dXBzdHJlYW0pCisKICogTW9uIERlYyAxOSAyMDE2IE1pcm8gSHJvbsSNb2sgPG1ocm9uY29rQHJl ZGhhdC5jb20+IC0gNS4wLjMtMi5weTMKIC0gUmVidWlsZCBmb3IgUHl0aG9uIDMuNgogCgpkaWZm IC0tZ2l0IGEva2RldmVsb3AtcHl0aG9uMzYucGF0Y2ggYi9rZGV2ZWxvcC1weXRob24zNi5wYXRj aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNTcyYjdiCi0tLSAvZGV2L251 bGwKKysrIGIva2RldmVsb3AtcHl0aG9uMzYucGF0Y2gKQEAgLTAsMCArMSw0NjggQEAKK2RpZmYg LS1naXQgYS9DTWFrZUxpc3RzLnR4dCBiL0NNYWtlTGlzdHMudHh0CitpbmRleCBiMDZhNjY1Li5l YzhkYzNlIDEwMDY0NAorLS0tIGEvQ01ha2VMaXN0cy50eHQKKysrKyBiL0NNYWtlTGlzdHMudHh0 CitAQCAtMzEsMTAgKzMxLDEwIEBAIGFkZF9kZWZpbml0aW9ucyggLURUUkFOU0xBVElPTl9ET01B SU49XCJrZGV2cHl0aG9uXCIgKQorIAorICMgZmluZCB0aGUgc3lzdGVtIHB5dGhvbiAzIGludGVy cHJldGVyLCBvbmx5IHVzZWQgZm9yIGRldGVybWluaW5nIHNlYXJjaCBwYXRocy4KKyAjIG11c3Qg YmUgY2FsbGVkIGJlZm9yZSBmaW5kX3BhY2thZ2UoS0Y1KSBiZWNhdXNlIGl0IHNlYXJjaHMgZm9y IHB5dGhvbiB0b28sIGJ1dCBmaW5kcyBweXRob24yCistZmluZF9wYWNrYWdlKFB5dGhvbiAzLjUg UkVRVUlSRUQpCisrZmluZF9wYWNrYWdlKFB5dGhvbiAzLjYgUkVRVUlSRUQpCisgY29uZmlndXJl X2ZpbGUoICIke2tkZXZweXRob25fU09VUkNFX0RJUn0va2RldnB5dGhvbnZlcnNpb24uaC5jbWFr ZSIgIiR7a2RldnB5dGhvbl9CSU5BUllfRElSfS9rZGV2cHl0aG9udmVyc2lvbi5oIiBAT05MWSAp CistaWYgKCAoTk9UIFBZVEhPTl9MSUJSQVJJRVMpIE9SICIke1BZVEhPTl9WRVJTSU9OX01JTk9S fSIgR1JFQVRFUiA1ICkKKy0gICAgbWVzc2FnZShGQVRBTF9FUlJPUiAiUHl0aG9uID49IDMuNS4w IGJ1dCA8IDMuNiB3aXRoIC0tZW5hYmxlLXNoYXJlZCBpcyByZXF1aXJlZCB0byBidWlsZCBrZGV2 LXB5dGhvbiIpCisraWYgKCAoTk9UIFBZVEhPTl9MSUJSQVJJRVMpIE9SICIke1BZVEhPTl9WRVJT SU9OX01JTk9SfSIgR1JFQVRFUiA2ICkKKysgICAgbWVzc2FnZShGQVRBTF9FUlJPUiAiUHl0aG9u ID49IDMuNi4wIGJ1dCA8IDMuNyB3aXRoIC0tZW5hYmxlLXNoYXJlZCBpcyByZXF1aXJlZCB0byBi dWlsZCBrZGV2LXB5dGhvbiIpCisgZW5kaWYoKQorIAorIGZpbmRfcGFja2FnZShRdDUgJHtRVF9N SU5fVkVSU0lPTn0gQ09ORklHIFJFUVVJUkVEIFdpZGdldHMgVGVzdCkKK2RpZmYgLS1naXQgYS9j bWFrZS9tb2R1bGVzL0ZpbmRQeXRob24uY21ha2UgYi9jbWFrZS9tb2R1bGVzL0ZpbmRQeXRob24u Y21ha2UKK2luZGV4IDM3ZWNhN2UuLjE1YmZkNDUgMTAwNjQ0CistLS0gYS9jbWFrZS9tb2R1bGVz L0ZpbmRQeXRob24uY21ha2UKKysrKyBiL2NtYWtlL21vZHVsZXMvRmluZFB5dGhvbi5jbWFrZQor QEAgLTMxLDcgKzMxLDcgQEAKKyBpbmNsdWRlKEZpbmRQYWNrYWdlSGFuZGxlU3RhbmRhcmRBcmdz KQorIAorICMgVE9ETworLXNldChMT09LSU5HX0ZPUl9WRVJTSU9OICIzLjUiKQorK3NldChMT09L SU5HX0ZPUl9WRVJTSU9OICIzLjYiKQorIAorICMgYWxsb3cgc3BlY2lmeWluZyB3aGljaCBQeXRo b24gaW5zdGFsbGF0aW9uIHRvIHVzZQorIGlmIChOT1QgUFlUSE9OX0VYRUMpCitkaWZmIC0tZ2l0 IGEvZHVjaGFpbi9kZWNsYXJhdGlvbmJ1aWxkZXIuY3BwIGIvZHVjaGFpbi9kZWNsYXJhdGlvbmJ1 aWxkZXIuY3BwCitpbmRleCA0M2M2MWNmLi5jNjI2MzI2IDEwMDY0NAorLS0tIGEvZHVjaGFpbi9k ZWNsYXJhdGlvbmJ1aWxkZXIuY3BwCisrKysgYi9kdWNoYWluL2RlY2xhcmF0aW9uYnVpbGRlci5j cHAKK0BAIC01NTcsNyArNTU3LDcgQEAgdm9pZCBEZWNsYXJhdGlvbkJ1aWxkZXI6OnZpc2l0Q29t cHJlaGVuc2lvbihDb21wcmVoZW5zaW9uQXN0KiBub2RlKQorICAgICAvLyBhbmQgYm90aCBvdGhl ciBvY2N1cmVuY2VzIGFyZSB1c2VzIG9mIHRoYXQgZGVjbGFyYXRpb24uCisgICAgIC8vIFRPRE8g YWRkIGEgc3BlY2lhbCBjYXNlIHRvIHRoZSB1c2VidWlsZGVyIHRvIGRpc3BsYXkgdGhlIHNlY29u ZCBvY2N1cmVuY2UgYXMgYSBkZWNsYXJhdGlvbgorICAgICBSYW5nZUluUmV2aXNpb24gZGVjbGFy YXRpb25SYW5nZShjdXJyZW50Q29udGV4dCgpLT5yYW5nZSgpLnN0YXJ0LCBjdXJyZW50Q29udGV4 dCgpLT5yYW5nZSgpLnN0YXJ0KTsKKy0gICAgZGVjbGFyYXRpb25SYW5nZS5lbmQuY29sdW1uIC09 IDE7CisrICAgIGRlY2xhcmF0aW9uUmFuZ2UuZW5kLmNvbHVtbiAtPSAyOworICAgICBkZWNsYXJh dGlvblJhbmdlLnN0YXJ0LmNvbHVtbiAtPSAxOworICAgICAKKyAgICAgQWJzdHJhY3RUeXBlOjpQ dHIgdGFyZ2V0VHlwZShuZXcgSW50ZWdyYWxUeXBlKEludGVncmFsVHlwZTo6VHlwZU1peGVkKSk7 CitkaWZmIC0tZ2l0IGEvcGFyc2VyL2FzdC5jcHAgYi9wYXJzZXIvYXN0LmNwcAoraW5kZXggNGEw MTFkZi4uNDFmZTU2YiAxMDA2NDQKKy0tLSBhL3BhcnNlci9hc3QuY3BwCisrKysgYi9wYXJzZXIv YXN0LmNwcAorQEAgLTY0LDkgKzY0LDE0IEBAIEF1Z21lbnRlZEFzc2lnbm1lbnRBc3Q6OkF1Z21l bnRlZEFzc2lnbm1lbnRBc3QoQXN0KiBwYXJlbnQpOiBTdGF0ZW1lbnRBc3QocGFyZW50CisgICAg IAorIH0KKyAKKytBbm5vdGF0aW9uQXNzaWdubWVudEFzdDo6QW5ub3RhdGlvbkFzc2lnbm1lbnRB c3QoQXN0KiBwYXJlbnQpOiBTdGF0ZW1lbnRBc3QocGFyZW50LCBBc3Q6OkFubm90YXRpb25Bc3Np Z25tZW50QXN0VHlwZSksIHRhcmdldCgwKSwgdmFsdWUoMCksIGFubm90YXRpb24oMCkKKyt7Cisr CisrfQorKworIEJpbmFyeU9wZXJhdGlvbkFzdDo6QmluYXJ5T3BlcmF0aW9uQXN0KEFzdCogcGFy ZW50KTogRXhwcmVzc2lvbkFzdChwYXJlbnQsIEFzdDo6QmluYXJ5T3BlcmF0aW9uQXN0VHlwZSks IGxocygwKSwgcmhzKDApCisgeworLSAgICAKKysKKyB9CisgCisgQm9vbGVhbk9wZXJhdGlvbkFz dDo6Qm9vbGVhbk9wZXJhdGlvbkFzdChBc3QqIHBhcmVudCk6IEV4cHJlc3Npb25Bc3QocGFyZW50 LCBBc3Q6OkJvb2xlYW5PcGVyYXRpb25Bc3RUeXBlKQorQEAgLTI5MCw3ICsyOTUsMTcgQEAgU3Rh dGVtZW50QXN0OjpTdGF0ZW1lbnRBc3QoQXN0KiBwYXJlbnQsIEFzdFR5cGUgdHlwZSk6IEFzdChw YXJlbnQsIHR5cGUpCisgCisgU3RyaW5nQXN0OjpTdHJpbmdBc3QoQXN0KiBwYXJlbnQpOiBFeHBy ZXNzaW9uQXN0KHBhcmVudCwgQXN0OjpTdHJpbmdBc3RUeXBlKSwgdmFsdWUoIiIpLCB1c2VkQXND b21tZW50KGZhbHNlKQorIHsKKy0gICAgCisrCisrfQorKworK0pvaW5lZFN0cmluZ0FzdDo6Sm9p bmVkU3RyaW5nQXN0KEFzdCogcGFyZW50KTogRXhwcmVzc2lvbkFzdChwYXJlbnQsIEFzdDo6Sm9p bmVkU3RyaW5nQXN0VHlwZSksIHZhbHVlcygpCisreworKworK30KKysKKytGb3JtYXR0ZWRWYWx1 ZUFzdDo6Rm9ybWF0dGVkVmFsdWVBc3QoQXN0KiBwYXJlbnQpOiBFeHByZXNzaW9uQXN0KHBhcmVu dCwgQXN0OjpGb3JtYXR0ZWRWYWx1ZUFzdFR5cGUpLCB2YWx1ZShudWxscHRyKSwgY29udmVyc2lv bigwKSwgZm9ybWF0U3BlYygwKQorK3sKKysKKyB9CisgCisgQnl0ZXNBc3Q6OkJ5dGVzQXN0KEFz dCogcGFyZW50KTogRXhwcmVzc2lvbkFzdChwYXJlbnQsIEFzdDo6Qnl0ZXNBc3RUeXBlKSwgdmFs dWUoIiIpCitkaWZmIC0tZ2l0IGEvcGFyc2VyL2FzdC5oIGIvcGFyc2VyL2FzdC5oCitpbmRleCA5 MTY0NmI2Li5iNjlhNzA2IDEwMDY0NAorLS0tIGEvcGFyc2VyL2FzdC5oCisrKysgYi9wYXJzZXIv YXN0LmgKK0BAIC05Myw2ICs5Myw3IEBAIHB1YmxpYzoKKyAgICAgICAgIENvbnRpbnVlQXN0VHlw ZSwKKyAgICAgICAgIEFzc2VydGlvbkFzdFR5cGUsCisgICAgICAgICBBdWdtZW50ZWRBc3NpZ25t ZW50QXN0VHlwZSwKKysgICAgICAgIEFubm90YXRpb25Bc3NpZ25tZW50QXN0VHlwZSwKKyAgICAg ICAgIExhc3RTdGF0ZW1lbnRUeXBlLAorICAgICAgICAgRXhwcmVzc2lvbkFzdFR5cGUsIC8vIGV2 ZXJ5dGhpbmcgYmVsb3cgaXMgYW4gZXhwcmVzc2lvbgorICAgICAgICAgQXdhaXRBc3RUeXBlLAor QEAgLTExNiw2ICsxMTcsOCBAQCBwdWJsaWM6CisgICAgICAgICBDb21wYXJlQXN0VHlwZSwKKyAg ICAgICAgIE51bWJlckFzdFR5cGUsCisgICAgICAgICBTdHJpbmdBc3RUeXBlLAorKyAgICAgICAg Sm9pbmVkU3RyaW5nQXN0VHlwZSwKKysgICAgICAgIEZvcm1hdHRlZFZhbHVlQXN0VHlwZSwKKyAg ICAgICAgIEJ5dGVzQXN0VHlwZSwKKyAgICAgICAgIFN1YnNjcmlwdEFzdFR5cGUsCisgICAgICAg ICBTdGFycmVkQXN0VHlwZSwKK0BAIC0zMjUsNiArMzI4LDE0IEBAIHB1YmxpYzoKKyAgICAgRXhw cmVzc2lvbkFzdCogdmFsdWU7CisgfTsKKyAKKytjbGFzcyBLREVWUFlUSE9OUEFSU0VSX0VYUE9S VCBBbm5vdGF0aW9uQXNzaWdubWVudEFzdCA6IHB1YmxpYyBTdGF0ZW1lbnRBc3QgeworK3B1Ymxp YzoKKysgICAgQW5ub3RhdGlvbkFzc2lnbm1lbnRBc3QoQXN0KiBwYXJlbnQpOworKyAgICBFeHBy ZXNzaW9uQXN0KiB0YXJnZXQ7CisrICAgIEV4cHJlc3Npb25Bc3QqIHZhbHVlOworKyAgICBFeHBy ZXNzaW9uQXN0KiBhbm5vdGF0aW9uOworK307CisrCisgY2xhc3MgS0RFVlBZVEhPTlBBUlNFUl9F WFBPUlQgRm9yQXN0IDogcHVibGljIFN0YXRlbWVudEFzdCB7CisgcHVibGljOgorICAgICBGb3JB c3QoQXN0KiBwYXJlbnQpOworQEAgLTU5NCw2ICs2MDUsMjAgQEAgcHVibGljOgorICAgICBib29s IHVzZWRBc0NvbW1lbnQ7CisgfTsKKyAKKytjbGFzcyBLREVWUFlUSE9OUEFSU0VSX0VYUE9SVCBK b2luZWRTdHJpbmdBc3QgOiBwdWJsaWMgRXhwcmVzc2lvbkFzdCB7CisrcHVibGljOgorKyAgICBK b2luZWRTdHJpbmdBc3QoQXN0KiBwYXJlbnQpOworKyAgICBRTGlzdDxFeHByZXNzaW9uQXN0Kj4g dmFsdWVzOworK307CisrCisrY2xhc3MgS0RFVlBZVEhPTlBBUlNFUl9FWFBPUlQgRm9ybWF0dGVk VmFsdWVBc3QgOiBwdWJsaWMgRXhwcmVzc2lvbkFzdCB7CisrcHVibGljOgorKyAgICBGb3JtYXR0 ZWRWYWx1ZUFzdChBc3QqIHBhcmVudCk7CisrICAgIEV4cHJlc3Npb25Bc3QqIHZhbHVlOworKyAg ICBpbnQgY29udmVyc2lvbjsKKysgICAgRXhwcmVzc2lvbkFzdCogZm9ybWF0U3BlYzsKKyt9Owor KworIGNsYXNzIEtERVZQWVRIT05QQVJTRVJfRVhQT1JUIEJ5dGVzQXN0IDogcHVibGljIEV4cHJl c3Npb25Bc3QgeworIHB1YmxpYzoKKyAgICAgQnl0ZXNBc3QoQXN0KiBwYXJlbnQpOworZGlmZiAt LWdpdCBhL3BhcnNlci9hc3RkZWZhdWx0dmlzaXRvci5jcHAgYi9wYXJzZXIvYXN0ZGVmYXVsdHZp c2l0b3IuY3BwCitpbmRleCAyYzIwNTg1Li4wYWMwZTUwIDEwMDY0NAorLS0tIGEvcGFyc2VyL2Fz dGRlZmF1bHR2aXNpdG9yLmNwcAorKysrIGIvcGFyc2VyL2FzdGRlZmF1bHR2aXNpdG9yLmNwcAor QEAgLTQ4LDYgKzQ4LDE3IEBAIHZvaWQgQXN0RGVmYXVsdFZpc2l0b3I6OnZpc2l0U3RyaW5nKFN0 cmluZ0FzdCogbm9kZSkgeyBRX1VOVVNFRChub2RlKTsgfQorIHZvaWQgQXN0RGVmYXVsdFZpc2l0 b3I6OnZpc2l0Qnl0ZXMoQnl0ZXNBc3QqIG5vZGUpIHsgUV9VTlVTRUQobm9kZSk7IH0KKyB2b2lk IEFzdERlZmF1bHRWaXNpdG9yOjp2aXNpdElkZW50aWZpZXIoSWRlbnRpZmllciogbm9kZSkgeyBR X1VOVVNFRChub2RlKTsgfQorIAorK3ZvaWQgQXN0RGVmYXVsdFZpc2l0b3I6OnZpc2l0Sm9pbmVk U3RyaW5nKEpvaW5lZFN0cmluZ0FzdCogbm9kZSkgeworKyAgICBmb3JlYWNoIChBc3QqIHZhbHVl LCBub2RlLT52YWx1ZXMpIHsKKysgICAgICAgIHZpc2l0Tm9kZSh2YWx1ZSk7CisrICAgIH0KKyt9 CisrCisrdm9pZCBBc3REZWZhdWx0VmlzaXRvcjo6dmlzaXRGb3JtYXR0ZWRWYWx1ZShGb3JtYXR0 ZWRWYWx1ZUFzdCogbm9kZSkgeworKyAgICB2aXNpdE5vZGUobm9kZS0+dmFsdWUpOworKyAgICB2 aXNpdE5vZGUobm9kZS0+Zm9ybWF0U3BlYyk7CisrfQorKworIHZvaWQgQXN0RGVmYXVsdFZpc2l0 b3I6OnZpc2l0U3RhcnJlZChTdGFycmVkQXN0KiBub2RlKSB7CisgICAgIHZpc2l0Tm9kZShub2Rl LT52YWx1ZSk7CisgfQorQEAgLTMyNiw2ICszMzcsMTMgQEAgdm9pZCBBc3REZWZhdWx0VmlzaXRv cjo6dmlzaXRBdWdtZW50ZWRBc3NpZ25tZW50KEF1Z21lbnRlZEFzc2lnbm1lbnRBc3QqIG5vZGUp CisgICAgIHZpc2l0Tm9kZShub2RlLT52YWx1ZSk7CisgfQorIAorK3ZvaWQgQXN0RGVmYXVsdFZp c2l0b3I6OnZpc2l0QW5ub3RhdGlvbkFzc2lnbm1lbnQoQW5ub3RhdGlvbkFzc2lnbm1lbnRBc3Qq IG5vZGUpCisreworKyAgICB2aXNpdE5vZGUobm9kZS0+dGFyZ2V0KTsKKysgICAgdmlzaXROb2Rl KG5vZGUtPmFubm90YXRpb24pOworKyAgICB2aXNpdE5vZGUobm9kZS0+dmFsdWUpOworK30KKysK KyB2b2lkIEFzdERlZmF1bHRWaXNpdG9yOjp2aXNpdEJpbmFyeU9wZXJhdGlvbihCaW5hcnlPcGVy YXRpb25Bc3QqIG5vZGUpCisgeworICAgICB2aXNpdE5vZGUobm9kZS0+bGhzKTsKK2RpZmYgLS1n aXQgYS9wYXJzZXIvYXN0ZGVmYXVsdHZpc2l0b3IuaCBiL3BhcnNlci9hc3RkZWZhdWx0dmlzaXRv ci5oCitpbmRleCAxNTNlMjE5Li44NDIyOTcxIDEwMDY0NAorLS0tIGEvcGFyc2VyL2FzdGRlZmF1 bHR2aXNpdG9yLmgKKysrKyBiL3BhcnNlci9hc3RkZWZhdWx0dmlzaXRvci5oCitAQCAtNDgsNiAr NDgsNyBAQCBwdWJsaWM6CisgICAgIHZpcnR1YWwgdm9pZCB2aXNpdERlbGV0ZShEZWxldGVBc3Qq IG5vZGUpOworICAgICB2aXJ0dWFsIHZvaWQgdmlzaXRBc3NpZ25tZW50KEFzc2lnbm1lbnRBc3Qq IG5vZGUpOworICAgICB2aXJ0dWFsIHZvaWQgdmlzaXRBdWdtZW50ZWRBc3NpZ25tZW50KEF1Z21l bnRlZEFzc2lnbm1lbnRBc3QqIG5vZGUpOworKyAgICB2aXJ0dWFsIHZvaWQgdmlzaXRBbm5vdGF0 aW9uQXNzaWdubWVudChBbm5vdGF0aW9uQXNzaWdubWVudEFzdCogbm9kZSk7CisgICAgIHZpcnR1 YWwgdm9pZCB2aXNpdEZvcihGb3JBc3QqIG5vZGUpOworICAgICB2aXJ0dWFsIHZvaWQgdmlzaXRX aGlsZShXaGlsZUFzdCogbm9kZSk7CisgICAgIHZpcnR1YWwgdm9pZCB2aXNpdElmKElmQXN0KiBu b2RlKTsKK0BAIC03Niw2ICs3Nyw4IEBAIHB1YmxpYzoKKyAgICAgdmlydHVhbCB2b2lkIHZpc2l0 Q29tcGFyZShDb21wYXJlQXN0KiBub2RlKTsKKyAgICAgdmlydHVhbCB2b2lkIHZpc2l0TnVtYmVy KE51bWJlckFzdCogbm9kZSk7CisgICAgIHZpcnR1YWwgdm9pZCB2aXNpdFN0cmluZyhTdHJpbmdB c3QqIG5vZGUpOworKyAgICB2aXJ0dWFsIHZvaWQgdmlzaXRKb2luZWRTdHJpbmcoSm9pbmVkU3Ry aW5nQXN0KiBub2RlKTsKKysgICAgdmlydHVhbCB2b2lkIHZpc2l0Rm9ybWF0dGVkVmFsdWUoRm9y bWF0dGVkVmFsdWVBc3QqIG5vZGUpOworICAgICB2aXJ0dWFsIHZvaWQgdmlzaXRCeXRlcyhCeXRl c0FzdCogbm9kZSk7CisgICAgIHZpcnR1YWwgdm9pZCB2aXNpdFlpZWxkKFlpZWxkQXN0KiBub2Rl KTsKKyAgICAgdmlydHVhbCB2b2lkIHZpc2l0WWllbGRGcm9tKFlpZWxkRnJvbUFzdCogbm9kZSk7 CitAQCAtMTE4LDYgKzEyMSw3IEBAIHB1YmxpYzoKKyAgICAgdmlydHVhbCB2b2lkIHZpc2l0RGVs ZXRlKERlbGV0ZUFzdCogbm9kZSkgeyBBc3REZWZhdWx0VmlzaXRvcjo6dmlzaXREZWxldGUobm9k ZSk7IGRlbGV0ZSBub2RlOyB9CisgICAgIHZpcnR1YWwgdm9pZCB2aXNpdEFzc2lnbm1lbnQoQXNz aWdubWVudEFzdCogbm9kZSkgeyBBc3REZWZhdWx0VmlzaXRvcjo6dmlzaXRBc3NpZ25tZW50KG5v ZGUpOyBkZWxldGUgbm9kZTsgfQorICAgICB2aXJ0dWFsIHZvaWQgdmlzaXRBdWdtZW50ZWRBc3Np Z25tZW50KEF1Z21lbnRlZEFzc2lnbm1lbnRBc3QqIG5vZGUpIHsgQXN0RGVmYXVsdFZpc2l0b3I6 OnZpc2l0QXVnbWVudGVkQXNzaWdubWVudChub2RlKTsgZGVsZXRlIG5vZGU7IH0KKysgICAgdmly dHVhbCB2b2lkIHZpc2l0QW5ub3RhdGlvbkFzc2lnbm1lbnQoQW5ub3RhdGlvbkFzc2lnbm1lbnRB c3QqIG5vZGUpIHsgQXN0RGVmYXVsdFZpc2l0b3I6OnZpc2l0QW5ub3RhdGlvbkFzc2lnbm1lbnQo bm9kZSk7IGRlbGV0ZSBub2RlOyB9CisgICAgIHZpcnR1YWwgdm9pZCB2aXNpdEZvcihGb3JBc3Qq IG5vZGUpIHsgQXN0RGVmYXVsdFZpc2l0b3I6OnZpc2l0Rm9yKG5vZGUpOyBkZWxldGUgbm9kZTsg fQorICAgICB2aXJ0dWFsIHZvaWQgdmlzaXRXaGlsZShXaGlsZUFzdCogbm9kZSkgeyBBc3REZWZh dWx0VmlzaXRvcjo6dmlzaXRXaGlsZShub2RlKTsgZGVsZXRlIG5vZGU7IH0KKyAgICAgdmlydHVh bCB2b2lkIHZpc2l0SWYoSWZBc3QqIG5vZGUpIHsgQXN0RGVmYXVsdFZpc2l0b3I6OnZpc2l0SWYo bm9kZSk7IGRlbGV0ZSBub2RlOyB9CitAQCAtMTQ2LDYgKzE1MCw4IEBAIHB1YmxpYzoKKyAgICAg dmlydHVhbCB2b2lkIHZpc2l0Q29tcGFyZShDb21wYXJlQXN0KiBub2RlKSB7IEFzdERlZmF1bHRW aXNpdG9yOjp2aXNpdENvbXBhcmUobm9kZSk7IGRlbGV0ZSBub2RlOyB9CisgICAgIHZpcnR1YWwg dm9pZCB2aXNpdE51bWJlcihOdW1iZXJBc3QqIG5vZGUpIHsgQXN0RGVmYXVsdFZpc2l0b3I6OnZp c2l0TnVtYmVyKG5vZGUpOyBkZWxldGUgbm9kZTsgfQorICAgICB2aXJ0dWFsIHZvaWQgdmlzaXRT dHJpbmcoU3RyaW5nQXN0KiBub2RlKSB7IEFzdERlZmF1bHRWaXNpdG9yOjp2aXNpdFN0cmluZyhu b2RlKTsgZGVsZXRlIG5vZGU7IH0KKysgICAgdmlydHVhbCB2b2lkIHZpc2l0Sm9pbmVkU3RyaW5n KEpvaW5lZFN0cmluZ0FzdCogbm9kZSkgeyBBc3REZWZhdWx0VmlzaXRvcjo6dmlzaXRKb2luZWRT dHJpbmcobm9kZSk7IGRlbGV0ZSBub2RlOyB9CisrICAgIHZpcnR1YWwgdm9pZCB2aXNpdEZvcm1h dHRlZFZhbHVlKEZvcm1hdHRlZFZhbHVlQXN0KiBub2RlKSB7IEFzdERlZmF1bHRWaXNpdG9yOjp2 aXNpdEZvcm1hdHRlZFZhbHVlKG5vZGUpOyBkZWxldGUgbm9kZTsgfQorICAgICB2aXJ0dWFsIHZv aWQgdmlzaXRCeXRlcyhCeXRlc0FzdCogbm9kZSkgeyBBc3REZWZhdWx0VmlzaXRvcjo6dmlzaXRC eXRlcyhub2RlKTsgZGVsZXRlIG5vZGU7IH0KKyAgICAgdmlydHVhbCB2b2lkIHZpc2l0WWllbGQo WWllbGRBc3QqIG5vZGUpIHsgQXN0RGVmYXVsdFZpc2l0b3I6OnZpc2l0WWllbGQobm9kZSk7IGRl bGV0ZSBub2RlOyB9CisgICAgIHZpcnR1YWwgdm9pZCB2aXNpdFlpZWxkRnJvbShZaWVsZEZyb21B c3QqIG5vZGUpIHsgQXN0RGVmYXVsdFZpc2l0b3I6OnZpc2l0WWllbGRGcm9tKG5vZGUpOyBkZWxl dGUgbm9kZTsgfQorZGlmZiAtLWdpdCBhL3BhcnNlci9hc3R2aXNpdG9yLmNwcCBiL3BhcnNlci9h c3R2aXNpdG9yLmNwcAoraW5kZXggYmZmNDU2Ni4uYWNlN2Q2MSAxMDA2NDQKKy0tLSBhL3BhcnNl ci9hc3R2aXNpdG9yLmNwcAorKysrIGIvcGFyc2VyL2FzdHZpc2l0b3IuY3BwCitAQCAtNDYsNiAr NDYsNyBAQCB2b2lkIEFzdFZpc2l0b3I6OnZpc2l0Tm9kZShBc3QqIG5vZGUpCisgICAgICAgICBj YXNlIEFzdDo6RGVsZXRlQXN0VHlwZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRo aXMtPnZpc2l0RGVsZXRlKHN0YXRpY19jYXN0PERlbGV0ZUFzdCo+KG5vZGUpKTsgYnJlYWs7Cisg ICAgICAgICBjYXNlIEFzdDo6QXNzaWdubWVudEFzdFR5cGU6ICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHRoaXMtPnZpc2l0QXNzaWdubWVudChzdGF0aWNfY2FzdDxBc3NpZ25tZW50QXN0Kj4o bm9kZSkpOyBicmVhazsKKyAgICAgICAgIGNhc2UgQXN0OjpBdWdtZW50ZWRBc3NpZ25tZW50QXN0 VHlwZTogICAgICAgICAgICAgICAgICAgdGhpcy0+dmlzaXRBdWdtZW50ZWRBc3NpZ25tZW50KHN0 YXRpY19jYXN0PEF1Z21lbnRlZEFzc2lnbm1lbnRBc3QqPihub2RlKSk7IGJyZWFrOworKyAgICAg ICAgY2FzZSBBc3Q6OkFubm90YXRpb25Bc3NpZ25tZW50QXN0VHlwZTogICAgICAgICAgICAgICAg ICB0aGlzLT52aXNpdEFubm90YXRpb25Bc3NpZ25tZW50KHN0YXRpY19jYXN0PEFubm90YXRpb25B c3NpZ25tZW50QXN0Kj4obm9kZSkpOyBicmVhazsKKyAgICAgICAgIGNhc2UgQXN0OjpGb3JBc3RU eXBlOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy0+dmlzaXRGb3Ioc3Rh dGljX2Nhc3Q8Rm9yQXN0Kj4obm9kZSkpOyBicmVhazsKKyAgICAgICAgIGNhc2UgQXN0OjpXaGls ZUFzdFR5cGU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy0+dmlzaXRXaGls ZShzdGF0aWNfY2FzdDxXaGlsZUFzdCo+KG5vZGUpKTsgYnJlYWs7CisgICAgICAgICBjYXNlIEFz dDo6SWZBc3RUeXBlOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMtPnZp c2l0SWYoc3RhdGljX2Nhc3Q8SWZBc3QqPihub2RlKSk7IGJyZWFrOworQEAgLTc0LDYgKzc1LDgg QEAgdm9pZCBBc3RWaXNpdG9yOjp2aXNpdE5vZGUoQXN0KiBub2RlKQorICAgICAgICAgY2FzZSBB c3Q6OkNvbXBhcmVBc3RUeXBlOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLT52 aXNpdENvbXBhcmUoc3RhdGljX2Nhc3Q8Q29tcGFyZUFzdCo+KG5vZGUpKTsgYnJlYWs7CisgICAg ICAgICBjYXNlIEFzdDo6TnVtYmVyQXN0VHlwZTogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHRoaXMtPnZpc2l0TnVtYmVyKHN0YXRpY19jYXN0PE51bWJlckFzdCo+KG5vZGUpKTsgYnJl YWs7CisgICAgICAgICBjYXNlIEFzdDo6U3RyaW5nQXN0VHlwZTogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHRoaXMtPnZpc2l0U3RyaW5nKHN0YXRpY19jYXN0PFN0cmluZ0FzdCo+KG5v ZGUpKTsgYnJlYWs7CisrICAgICAgICBjYXNlIEFzdDo6Rm9ybWF0dGVkVmFsdWVBc3RUeXBlOiAg ICAgICAgICAgICAgICAgICAgICAgIHRoaXMtPnZpc2l0Rm9ybWF0dGVkVmFsdWUoc3RhdGljX2Nh c3Q8Rm9ybWF0dGVkVmFsdWVBc3QqPihub2RlKSk7IGJyZWFrOworKyAgICAgICAgY2FzZSBBc3Q6 OkpvaW5lZFN0cmluZ0FzdFR5cGU6ICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLT52aXNp dEpvaW5lZFN0cmluZyhzdGF0aWNfY2FzdDxKb2luZWRTdHJpbmdBc3QqPihub2RlKSk7IGJyZWFr OworICAgICAgICAgY2FzZSBBc3Q6OkJ5dGVzQXN0VHlwZTogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB0aGlzLT52aXNpdEJ5dGVzKHN0YXRpY19jYXN0PEJ5dGVzQXN0Kj4obm9kZSkp OyBicmVhazsKKyAgICAgICAgIGNhc2UgQXN0OjpZaWVsZEFzdFR5cGU6ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgdGhpcy0+dmlzaXRZaWVsZChzdGF0aWNfY2FzdDxZaWVsZEFzdCo+ KG5vZGUpKTsgYnJlYWs7CisgICAgICAgICBjYXNlIEFzdDo6TmFtZUFzdFR5cGU6ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMtPnZpc2l0TmFtZShzdGF0aWNfY2FzdDxOYW1l QXN0Kj4obm9kZSkpOyBicmVhazsKK2RpZmYgLS1naXQgYS9wYXJzZXIvYXN0dmlzaXRvci5oIGIv cGFyc2VyL2FzdHZpc2l0b3IuaAoraW5kZXggM2U0NTVlNi4uY2UxYTkyYSAxMDA2NDQKKy0tLSBh L3BhcnNlci9hc3R2aXNpdG9yLmgKKysrKyBiL3BhcnNlci9hc3R2aXNpdG9yLmgKK0BAIC01Myw2 ICs1Myw3IEBAIHB1YmxpYzoKKyAgICAgdmlydHVhbCB2b2lkIHZpc2l0RGVsZXRlKERlbGV0ZUFz dCogbm9kZSkgeyBRX1VOVVNFRChub2RlKTsgfTsKKyAgICAgdmlydHVhbCB2b2lkIHZpc2l0QXNz aWdubWVudChBc3NpZ25tZW50QXN0KiBub2RlKSB7IFFfVU5VU0VEKG5vZGUpOyB9OworICAgICB2 aXJ0dWFsIHZvaWQgdmlzaXRBdWdtZW50ZWRBc3NpZ25tZW50KEF1Z21lbnRlZEFzc2lnbm1lbnRB c3QqIG5vZGUpIHsgUV9VTlVTRUQobm9kZSk7IH07CisrICAgIHZpcnR1YWwgdm9pZCB2aXNpdEFu bm90YXRpb25Bc3NpZ25tZW50KEFubm90YXRpb25Bc3NpZ25tZW50QXN0KiBub2RlKSB7IFFfVU5V U0VEKG5vZGUpOyB9OworICAgICB2aXJ0dWFsIHZvaWQgdmlzaXRGb3IoRm9yQXN0KiBub2RlKSB7 IFFfVU5VU0VEKG5vZGUpOyB9OworICAgICB2aXJ0dWFsIHZvaWQgdmlzaXRXaGlsZShXaGlsZUFz dCogbm9kZSkgeyBRX1VOVVNFRChub2RlKTsgfTsKKyAgICAgdmlydHVhbCB2b2lkIHZpc2l0SWYo SWZBc3QqIG5vZGUpIHsgUV9VTlVTRUQobm9kZSk7IH07CitAQCAtODMsNiArODQsOCBAQCBwdWJs aWM6CisgICAgIHZpcnR1YWwgdm9pZCB2aXNpdENvbXBhcmUoQ29tcGFyZUFzdCogbm9kZSkgeyBR X1VOVVNFRChub2RlKTsgfTsKKyAgICAgdmlydHVhbCB2b2lkIHZpc2l0TnVtYmVyKE51bWJlckFz dCogbm9kZSkgeyBRX1VOVVNFRChub2RlKTsgfTsKKyAgICAgdmlydHVhbCB2b2lkIHZpc2l0U3Ry aW5nKFN0cmluZ0FzdCogbm9kZSkgeyBRX1VOVVNFRChub2RlKTsgfTsKKysgICAgdmlydHVhbCB2 b2lkIHZpc2l0Rm9ybWF0dGVkVmFsdWUoRm9ybWF0dGVkVmFsdWVBc3QqIG5vZGUpIHsgUV9VTlVT RUQobm9kZSk7IH07CisrICAgIHZpcnR1YWwgdm9pZCB2aXNpdEpvaW5lZFN0cmluZyhKb2luZWRT dHJpbmdBc3QqIG5vZGUpIHsgUV9VTlVTRUQobm9kZSk7IH07CisgICAgIHZpcnR1YWwgdm9pZCB2 aXNpdEJ5dGVzKEJ5dGVzQXN0KiBub2RlKSB7IFFfVU5VU0VEKG5vZGUpOyB9OworICAgICB2aXJ0 dWFsIHZvaWQgdmlzaXRZaWVsZChZaWVsZEFzdCogbm9kZSkgeyBRX1VOVVNFRChub2RlKTsgfTsK KyAgICAgdmlydHVhbCB2b2lkIHZpc2l0TmFtZShOYW1lQXN0KiBub2RlKSB7IFFfVU5VU0VEKG5v ZGUpOyB9OworZGlmZiAtLWdpdCBhL3BhcnNlci9jb252ZXJzaW9uR2VuZXJhdG9yLnB5IGIvcGFy c2VyL2NvbnZlcnNpb25HZW5lcmF0b3IucHkKK2luZGV4IDM4NWRiY2IuLmQ0NGU1MWUgMTAwNjQ0 CistLS0gYS9wYXJzZXIvY29udmVyc2lvbkdlbmVyYXRvci5weQorKysrIGIvcGFyc2VyL2NvbnZl cnNpb25HZW5lcmF0b3IucHkKK0BAIC05LDcgKzksNyBAQAorIAorIGltcG9ydCBzeXMKKyAKKy1j b250ZW50cyA9IG9wZW4oJ3B5dGhvbjM1LnNkZWYnKS5yZWFkKCkucmVwbGFjZSgiXG4iLCAiIiku c3BsaXQoJzs7JykKKytjb250ZW50cyA9IG9wZW4oJ3B5dGhvbjM2LnNkZWYnKS5yZWFkKCkucmVw bGFjZSgiXG4iLCAiIikuc3BsaXQoJzs7JykKKyAKKyBmdW5jX3N0cnVjdHVyZSA9ICcnJworICAg ICBBc3QqIHZpc2l0Tm9kZSgle1JVTEVfRk9SfSogbm9kZSkgeworQEAgLTE5LDcgKzE5LDcgQEAg ZnVuY19zdHJ1Y3R1cmUgPSAnJycKKyAgICAgICAgIHN3aXRjaCAoIG5vZGUtPmtpbmQgKSB7Cisg JXtTV0lUQ0hfTElORVN9CisgICAgICAgICBkZWZhdWx0OgorLSAgICAgICAgICAgIHFXYXJuaW5n KCkgPDwgIlVuc3VwcG9ydGVkIHN0YXRlbWVudCBBU1QgdHlwZTogIiA8PCBub2RlLT5raW5kOwor KyAgICAgICAgICAgIHFXYXJuaW5nKCkgPDwgIlVuc3VwcG9ydGVkICV7UlVMRV9GT1J9IEFTVCB0 eXBlOiAiIDw8IG5vZGUtPmtpbmQ7CisgICAgICAgICAgICAgUV9BU1NFUlQoZmFsc2UpOworICAg ICAgICAgfQorICV7QVBQRU5ESVh9CitkaWZmIC0tZ2l0IGEvcGFyc2VyL2dlbmVyYXRlZC5oIGIv cGFyc2VyL2dlbmVyYXRlZC5oCitpbmRleCBiYjBhMTA3Li44NzRhZDRlIDEwMDY0NAorLS0tIGEv cGFyc2VyL2dlbmVyYXRlZC5oCisrKysgYi9wYXJzZXIvZ2VuZXJhdGVkLmgKK0BAIC0xMjQsNyAr MTI0LDcgQEAgcHJpdmF0ZToKKyAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAg fQorICAgICAgICAgZGVmYXVsdDoKKy0gICAgICAgICAgICBxV2FybmluZygpIDw8ICJVbnN1cHBv cnRlZCBzdGF0ZW1lbnQgQVNUIHR5cGU6ICIgPDwgbm9kZS0+a2luZDsKKysgICAgICAgICAgICBx V2FybmluZygpIDw8ICJVbnN1cHBvcnRlZCBfZXhjZXB0aGFuZGxlciBBU1QgdHlwZTogIiA8PCBu b2RlLT5raW5kOworICAgICAgICAgICAgIFFfQVNTRVJUKGZhbHNlKTsKKyAgICAgICAgIH0KKyAK K0BAIC0yODQsNiArMjg0LDIwIEBAIHByaXZhdGU6CisgICAgICAgICAgICAgICAgIHJlc3VsdCA9 IHY7CisgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgIH0KKysgICAgICAgIGNh c2UgSm9pbmVkU3RyX2tpbmQ6IHsKKysgICAgICAgICAgICAgICAgSm9pbmVkU3RyaW5nQXN0KiB2 ID0gbmV3ICBKb2luZWRTdHJpbmdBc3QocGFyZW50KCkpOworKyAgICAgICAgICAgICAgICBub2Rl U3RhY2sucHVzaCh2KTsgdi0+dmFsdWVzID0gdmlzaXROb2RlTGlzdDxfZXhwciwgRXhwcmVzc2lv bkFzdD4obm9kZS0+di5Kb2luZWRTdHIudmFsdWVzKTsgbm9kZVN0YWNrLnBvcCgpOworKyAgICAg ICAgICAgICAgICByZXN1bHQgPSB2OworKyAgICAgICAgICAgICAgICBicmVhazsKKysgICAgICAg ICAgICB9CisrICAgICAgICBjYXNlIEZvcm1hdHRlZFZhbHVlX2tpbmQ6IHsKKysgICAgICAgICAg ICAgICAgRm9ybWF0dGVkVmFsdWVBc3QqIHYgPSBuZXcgIEZvcm1hdHRlZFZhbHVlQXN0KHBhcmVu dCgpKTsKKysgICAgICAgICAgICAgICAgbm9kZVN0YWNrLnB1c2godik7IHYtPnZhbHVlID0gc3Rh dGljX2Nhc3Q8RXhwcmVzc2lvbkFzdCo+KHZpc2l0Tm9kZShub2RlLT52LkZvcm1hdHRlZFZhbHVl LnZhbHVlKSk7IG5vZGVTdGFjay5wb3AoKTsKKysgICAgICAgICAgICAgICAgdi0+Y29udmVyc2lv biA9IG5vZGUtPnYuRm9ybWF0dGVkVmFsdWUuY29udmVyc2lvbjsKKysgICAgICAgICAgICAgICAg bm9kZVN0YWNrLnB1c2godik7IHYtPmZvcm1hdFNwZWMgPSBzdGF0aWNfY2FzdDxFeHByZXNzaW9u QXN0Kj4odmlzaXROb2RlKG5vZGUtPnYuRm9ybWF0dGVkVmFsdWUuZm9ybWF0X3NwZWMpKTsgbm9k ZVN0YWNrLnBvcCgpOworKyAgICAgICAgICAgICAgICByZXN1bHQgPSB2OworKyAgICAgICAgICAg ICAgICBicmVhazsKKysgICAgICAgICAgICB9CisgICAgICAgICBjYXNlIEJ5dGVzX2tpbmQ6IHsK KyAgICAgICAgICAgICAgICAgQnl0ZXNBc3QqIHYgPSBuZXcgIEJ5dGVzQXN0KHBhcmVudCgpKTsK KyAgICAgICAgICAgICAgICAgdi0+dmFsdWUgPSBQeVVuaWNvZGVPYmplY3RUb1FTdHJpbmcobm9k ZS0+di5CeXRlcy5zKTsKK0BAIC0zNjYsNyArMzgwLDcgQEAgcHJpdmF0ZToKKyAgICAgICAgICAg ICAgICAgYnJlYWs7CisgICAgICAgICAgICAgfQorICAgICAgICAgZGVmYXVsdDoKKy0gICAgICAg ICAgICBxV2FybmluZygpIDw8ICJVbnN1cHBvcnRlZCBzdGF0ZW1lbnQgQVNUIHR5cGU6ICIgPDwg bm9kZS0+a2luZDsKKysgICAgICAgICAgICBxV2FybmluZygpIDw8ICJVbnN1cHBvcnRlZCBfZXhw ciBBU1QgdHlwZTogIiA8PCBub2RlLT5raW5kOworICAgICAgICAgICAgIFFfQVNTRVJUKGZhbHNl KTsKKyAgICAgICAgIH0KKyAKK0BAIC00NDUsNyArNDU5LDcgQEAgcHJpdmF0ZToKKyAgICAgICAg ICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgfQorICAgICAgICAgZGVmYXVsdDoKKy0gICAg ICAgICAgICBxV2FybmluZygpIDw8ICJVbnN1cHBvcnRlZCBzdGF0ZW1lbnQgQVNUIHR5cGU6ICIg PDwgbm9kZS0+a2luZDsKKysgICAgICAgICAgICBxV2FybmluZygpIDw8ICJVbnN1cHBvcnRlZCBf c2xpY2UgQVNUIHR5cGU6ICIgPDwgbm9kZS0+a2luZDsKKyAgICAgICAgICAgICBRX0FTU0VSVChm YWxzZSk7CisgICAgICAgICB9CisgCitAQCAtNTY1LDYgKzU3OSwxNCBAQCBwcml2YXRlOgorICAg ICAgICAgICAgICAgICByZXN1bHQgPSB2OworICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAg ICAgICAgICB9CisrICAgICAgICBjYXNlIEFubkFzc2lnbl9raW5kOiB7CisrICAgICAgICAgICAg ICAgIEFubm90YXRpb25Bc3NpZ25tZW50QXN0KiB2ID0gbmV3ICBBbm5vdGF0aW9uQXNzaWdubWVu dEFzdChwYXJlbnQoKSk7CisrICAgICAgICAgICAgICAgIG5vZGVTdGFjay5wdXNoKHYpOyB2LT50 YXJnZXQgPSBzdGF0aWNfY2FzdDxFeHByZXNzaW9uQXN0Kj4odmlzaXROb2RlKG5vZGUtPnYuQW5u QXNzaWduLnRhcmdldCkpOyBub2RlU3RhY2sucG9wKCk7CisrICAgICAgICAgICAgICAgIG5vZGVT dGFjay5wdXNoKHYpOyB2LT5hbm5vdGF0aW9uID0gc3RhdGljX2Nhc3Q8RXhwcmVzc2lvbkFzdCo+ KHZpc2l0Tm9kZShub2RlLT52LkFubkFzc2lnbi5hbm5vdGF0aW9uKSk7IG5vZGVTdGFjay5wb3Ao KTsKKysgICAgICAgICAgICAgICAgbm9kZVN0YWNrLnB1c2godik7IHYtPnZhbHVlID0gc3RhdGlj X2Nhc3Q8RXhwcmVzc2lvbkFzdCo+KHZpc2l0Tm9kZShub2RlLT52LkFubkFzc2lnbi52YWx1ZSkp OyBub2RlU3RhY2sucG9wKCk7CisrICAgICAgICAgICAgICAgIHJlc3VsdCA9IHY7CisrICAgICAg ICAgICAgICAgIGJyZWFrOworKyAgICAgICAgICAgIH0KKyAgICAgICAgIGNhc2UgRm9yX2tpbmQ6 IHsKKyAgICAgICAgICAgICAgICAgRm9yQXN0KiB2ID0gbmV3ICBGb3JBc3QocGFyZW50KCkpOwor ICAgICAgICAgICAgICAgICBub2RlU3RhY2sucHVzaCh2KTsgdi0+dGFyZ2V0ID0gc3RhdGljX2Nh c3Q8RXhwcmVzc2lvbkFzdCo+KHZpc2l0Tm9kZShub2RlLT52LkZvci50YXJnZXQpKTsgbm9kZVN0 YWNrLnBvcCgpOworQEAgLTY5MCw3ICs3MTIsNyBAQCBwcml2YXRlOgorICAgICAgICAgICAgICAg ICBicmVhazsKKyAgICAgICAgICAgICB9CisgICAgICAgICBkZWZhdWx0OgorLSAgICAgICAgICAg IHFXYXJuaW5nKCkgPDwgIlVuc3VwcG9ydGVkIHN0YXRlbWVudCBBU1QgdHlwZTogIiA8PCBub2Rl LT5raW5kOworKyAgICAgICAgICAgIHFXYXJuaW5nKCkgPDwgIlVuc3VwcG9ydGVkIF9zdG10IEFT VCB0eXBlOiAiIDw8IG5vZGUtPmtpbmQ7CisgICAgICAgICAgICAgUV9BU1NFUlQoZmFsc2UpOwor ICAgICAgICAgfQorIAorZGlmZiAtLWdpdCBhL3BhcnNlci9weXRob24zNS5zZGVmIGIvcGFyc2Vy L3B5dGhvbjM1LnNkZWYKK2RlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMzBmMTI3Ny4u MDAwMDAwMAorLS0tIGEvcGFyc2VyL3B5dGhvbjM1LnNkZWYKKysrKyAvZGV2L251bGwKK0BAIC0x LDc4ICswLDAgQEAKKy1DT01NRU5UO1RoaXMgZmlsZSBzcGVjaWZpZXMgcnVsZXMgZm9yIGEgY29u dmVyc2lvbiBvZiBhIHB5dGhvbiAoQykgdG8gYSBwbHVnaW4taW50ZXJuYWwgKEMrKykgc3ludGF4 IHRyZWU7OworLUNPTU1FTlQ7QWxsIGxpbmVzIGFyZSB0ZXJtaW5hdGVkIGJ5IGEgZG91YmxlIHNl bWljb2xvbiB0b2tlbiwgbmV3bGluZXMgYXJlIGlnbm9yZWQuOzsKKy1DT01NRU5UOy0+IHN0YW5k cyBmb3IgImNvbnZlcnQgQVNUIiwgPT4gZm9yICJjb252ZXJ0IEFTVCBsaXN0Iiwgfj4gZm9yICJt YWtlIGFuIGlkZW50aWZpZXIiLCA6PiBpcyBhbiBhc3NpZ25tZW50IHcvbyBjb252ZXJzaW9uLCBh bmQgKj4gaXMgYW4gZW51bSBjYXN0Ljs7CistQ09NTUVOVDskPiBpcyBhIHN0cmluZyBhc3NpZ25t ZW50LCArPiBpcyBhICJtaW5kbGVzcyBhc3NpZ25tZW50LCBsaWtlLCBpdCBqdXN0IGRvZXMgdi0+ YXJnID0gbm9kZS0+YXJnLgorLUNPTU1FTlQ7Xz4gaXMgYSBTaW5nbGV0b24gQXNzaWdubWVudCAo Y29udmVydHMgUHlfVHJ1ZSwgUHlfRmFsc2UsIFB5X05vbmUgdG8gZW51bSkKKy1DT01NRU5UO3Ro ZSBDT0RFIHN0YXRlbWVudCBjYW4gYmUgdXNlZCB0byBhZGQgY3VzdG9tIGNvZGUuOzsKKy0KKy0K Ky1SVUxFX0ZPUiBfc3RtdDtLSU5EIEV4cHJfa2luZDtBQ1RJT05TIGNyZWF0ZXxFeHByZXNzaW9u QXN0IHNldHx2YWx1ZS0+RXhwcmVzc2lvbkFzdCx2YWx1ZTs7CistUlVMRV9GT1IgX3N0bXQ7S0lO RCBGdW5jdGlvbkRlZl9raW5kO0FDVElPTlMgY3JlYXRlfEZ1bmN0aW9uRGVmaW5pdGlvbkFzdCBz ZXR8bmFtZX4+bmFtZSBzZXR8YXJndW1lbnRzLT5Bcmd1bWVudHNBc3QsYXJncworLSAgICBzZXR8 Ym9keT0+QXN0LGJvZHkgc2V0fGRlY29yYXRvcnM9PkV4cHJlc3Npb25Bc3QsZGVjb3JhdG9yX2xp c3Qgc2V0fHJldHVybnMtPkV4cHJlc3Npb25Bc3QscmV0dXJuczs7CistUlVMRV9GT1IgX3N0bXQ7 S0lORCBBc3luY0Z1bmN0aW9uRGVmX2tpbmQ7QUNUSU9OUyBjcmVhdGV8RnVuY3Rpb25EZWZpbml0 aW9uQXN0IHNldHxuYW1lfj5uYW1lIHNldHxhcmd1bWVudHMtPkFyZ3VtZW50c0FzdCxhcmdzCist ICAgIHNldHxib2R5PT5Bc3QsYm9keSBzZXR8ZGVjb3JhdG9ycz0+RXhwcmVzc2lvbkFzdCxkZWNv cmF0b3JfbGlzdCBzZXR8cmV0dXJucy0+RXhwcmVzc2lvbkFzdCxyZXR1cm5zO0NPREUgdi0+YXN5 bmMgPSB0cnVlOzsKKy1SVUxFX0ZPUiBfc3RtdDtLSU5EIENsYXNzRGVmX2tpbmQ7QUNUSU9OUyBj cmVhdGV8Q2xhc3NEZWZpbml0aW9uQXN0IHNldHxuYW1lfj5uYW1lIHNldHxiYXNlQ2xhc3Nlcz0+ RXhwcmVzc2lvbkFzdCxiYXNlcyBzZXR8Ym9keT0+QXN0LGJvZHkKKy0gICAgc2V0fGRlY29yYXRv cnM9PkV4cHJlc3Npb25Bc3QsZGVjb3JhdG9yX2xpc3Q7OworLVJVTEVfRk9SIF9zdG10O0tJTkQg UmV0dXJuX2tpbmQ7QUNUSU9OUyBjcmVhdGV8UmV0dXJuQXN0IHNldHx2YWx1ZS0+RXhwcmVzc2lv bkFzdCx2YWx1ZTs7CistUlVMRV9GT1IgX3N0bXQ7S0lORCBEZWxldGVfa2luZDtBQ1RJT05TIGNy ZWF0ZXxEZWxldGVBc3Qgc2V0fHRhcmdldHM9PkV4cHJlc3Npb25Bc3QsdGFyZ2V0czs7CistUlVM RV9GT1IgX3N0bXQ7S0lORCBBc3NpZ25fa2luZDtBQ1RJT05TIGNyZWF0ZXxBc3NpZ25tZW50QXN0 IHNldHx0YXJnZXRzPT5FeHByZXNzaW9uQXN0LHRhcmdldHMgc2V0fHZhbHVlLT5FeHByZXNzaW9u QXN0LHZhbHVlOzsKKy1SVUxFX0ZPUiBfc3RtdDtLSU5EIEF1Z0Fzc2lnbl9raW5kO0FDVElPTlMg Y3JlYXRlfEF1Z21lbnRlZEFzc2lnbm1lbnRBc3Qgc2V0fHRhcmdldC0+RXhwcmVzc2lvbkFzdCx0 YXJnZXQgc2V0fG9wKj5PcGVyYXRvclR5cGVzLG9wIHNldHx2YWx1ZS0+RXhwcmVzc2lvbkFzdCx2 YWx1ZTs7CistUlVMRV9GT1IgX3N0bXQ7S0lORCBGb3Jfa2luZDtBQ1RJT05TIGNyZWF0ZXxGb3JB c3Qgc2V0fHRhcmdldC0+RXhwcmVzc2lvbkFzdCx0YXJnZXQgc2V0fGl0ZXJhdG9yLT5FeHByZXNz aW9uQXN0LGl0ZXIgc2V0fGJvZHk9PkFzdCxib2R5IHNldHxvcmVsc2U9PkFzdCxvcmVsc2U7Owor LVJVTEVfRk9SIF9zdG10O0tJTkQgQXN5bmNGb3Jfa2luZDtBQ1RJT05TIGNyZWF0ZXxGb3JBc3Qg c2V0fHRhcmdldC0+RXhwcmVzc2lvbkFzdCx0YXJnZXQgc2V0fGl0ZXJhdG9yLT5FeHByZXNzaW9u QXN0LGl0ZXIgc2V0fGJvZHk9PkFzdCxib2R5IHNldHxvcmVsc2U9PkFzdCxvcmVsc2U7OworLVJV TEVfRk9SIF9zdG10O0tJTkQgV2hpbGVfa2luZDtBQ1RJT05TIGNyZWF0ZXxXaGlsZUFzdCBzZXR8 Y29uZGl0aW9uLT5FeHByZXNzaW9uQXN0LHRlc3Qgc2V0fGJvZHk9PkFzdCxib2R5IHNldHxvcmVs c2U9PkFzdCxvcmVsc2U7OworLVJVTEVfRk9SIF9zdG10O0tJTkQgSWZfa2luZDtBQ1RJT05TIGNy ZWF0ZXxJZkFzdCBzZXR8Y29uZGl0aW9uLT5FeHByZXNzaW9uQXN0LHRlc3Qgc2V0fGJvZHk9PkFz dCxib2R5IHNldHxvcmVsc2U9PkFzdCxvcmVsc2U7OworLVJVTEVfRk9SIF9zdG10O0tJTkQgV2l0 aF9raW5kO0FDVElPTlMgY3JlYXRlfFdpdGhBc3Qgc2V0fGJvZHk9PkFzdCxib2R5IHNldHxpdGVt cz0+V2l0aEl0ZW1Bc3QsaXRlbXM7OworLVJVTEVfRk9SIF9zdG10O0tJTkQgQXN5bmNXaXRoX2tp bmQ7QUNUSU9OUyBjcmVhdGV8V2l0aEFzdCBzZXR8Ym9keT0+QXN0LGJvZHkgc2V0fGl0ZW1zPT5X aXRoSXRlbUFzdCxpdGVtczs7CistCistQ09NTUVOVDtGSVhNRTogdGhlIHN0cnVjdCBSYWlzZSBo YXMgY2hhbmdlZCwgc28gdGhlIGZvbGxvd2luZyBsaW5lIGlzIGxpa2VseSB3cm9uZzs7CistUlVM RV9GT1IgX3N0bXQ7S0lORCBSYWlzZV9raW5kO0FDVElPTlMgY3JlYXRlfFJhaXNlQXN0IHNldHx0 eXBlLT5FeHByZXNzaW9uQXN0LGV4Yzs7CistUlVMRV9GT1IgX3N0bXQ7S0lORCBUcnlfa2luZDtB Q1RJT05TIGNyZWF0ZXxUcnlBc3Qgc2V0fGJvZHk9PkFzdCxib2R5IHNldHxoYW5kbGVycz0+RXhj ZXB0aW9uSGFuZGxlckFzdCxoYW5kbGVycyBzZXR8b3JlbHNlPT5Bc3Qsb3JlbHNlIHNldHxmaW5h bGx5PT5Bc3QsZmluYWxib2R5OzsKKy1SVUxFX0ZPUiBfc3RtdDtLSU5EIEFzc2VydF9raW5kO0FD VElPTlMgY3JlYXRlfEFzc2VydGlvbkFzdCBzZXR8Y29uZGl0aW9uLT5FeHByZXNzaW9uQXN0LHRl c3Qgc2V0fG1lc3NhZ2UtPkV4cHJlc3Npb25Bc3QsbXNnOzsKKy1SVUxFX0ZPUiBfc3RtdDtLSU5E IEltcG9ydF9raW5kO0FDVElPTlMgY3JlYXRlfEltcG9ydEFzdCBzZXR8bmFtZXM9PkFsaWFzQXN0 LG5hbWVzOzsKKy1SVUxFX0ZPUiBfc3RtdDtLSU5EIEltcG9ydEZyb21fa2luZDtBQ1RJT05TIGNy ZWF0ZXxJbXBvcnRGcm9tQXN0IHNldHxtb2R1bGV+Pm1vZHVsZSBzZXR8bmFtZXM9PkFsaWFzQXN0 LG5hbWVzIHNldHxsZXZlbDo+bGV2ZWw7OworLVJVTEVfRk9SIF9zdG10O0tJTkQgR2xvYmFsX2tp bmQ7QUNUSU9OUyBjcmVhdGV8R2xvYmFsQXN0IHNldHxuYW1lcz0+SWRlbnRpZmllcixuYW1lczs7 CistUlVMRV9GT1IgX3N0bXQ7S0lORCBCcmVha19raW5kO0FDVElPTlMgY3JlYXRlfEJyZWFrQXN0 OzsKKy1SVUxFX0ZPUiBfc3RtdDtLSU5EIENvbnRpbnVlX2tpbmQ7QUNUSU9OUyBjcmVhdGV8Q29u dGludWVBc3Q7OworLVJVTEVfRk9SIF9zdG10O0tJTkQgUGFzc19raW5kO0FDVElPTlMgY3JlYXRl fFBhc3NBc3Q7OworLVJVTEVfRk9SIF9zdG10O0tJTkQgTm9ubG9jYWxfa2luZDtBQ1RJT05TIGNy ZWF0ZXxOb25sb2NhbEFzdDs7CistCistUlVMRV9GT1IgX2V4cHI7S0lORCBBd2FpdF9raW5kO0FD VElPTlMgY3JlYXRlfEF3YWl0QXN0IHNldHx2YWx1ZS0+RXhwcmVzc2lvbkFzdCx2YWx1ZTs7Cist UlVMRV9GT1IgX2V4cHI7S0lORCBCb29sT3Bfa2luZDtBQ1RJT05TIGNyZWF0ZXxCb29sZWFuT3Bl cmF0aW9uQXN0IHNldHx0eXBlKj5Cb29sZWFuT3BlcmF0aW9uVHlwZXMsb3Agc2V0fHZhbHVlcz0+ RXhwcmVzc2lvbkFzdCx2YWx1ZXM7OworLVJVTEVfRk9SIF9leHByO0tJTkQgQmluT3Bfa2luZDtB Q1RJT05TIGNyZWF0ZXxCaW5hcnlPcGVyYXRpb25Bc3Qgc2V0fHR5cGUqPk9wZXJhdG9yVHlwZXMs b3Agc2V0fGxocy0+RXhwcmVzc2lvbkFzdCxsZWZ0IHNldHxyaHMtPkV4cHJlc3Npb25Bc3Qscmln aHQ7OworLVJVTEVfRk9SIF9leHByO0tJTkQgVW5hcnlPcF9raW5kO0FDVElPTlMgY3JlYXRlfFVu YXJ5T3BlcmF0aW9uQXN0IHNldHx0eXBlKj5VbmFyeU9wZXJhdG9yVHlwZXMsb3Agc2V0fG9wZXJh bmQtPkV4cHJlc3Npb25Bc3Qsb3BlcmFuZDs7CistUlVMRV9GT1IgX2V4cHI7S0lORCBMYW1iZGFf a2luZDtBQ1RJT05TIGNyZWF0ZXxMYW1iZGFBc3Qgc2V0fGFyZ3VtZW50cy0+QXJndW1lbnRzQXN0 LGFyZ3Mgc2V0fGJvZHktPkV4cHJlc3Npb25Bc3QsYm9keTs7CistUlVMRV9GT1IgX2V4cHI7S0lO RCBJZkV4cF9raW5kO0FDVElPTlMgY3JlYXRlfElmRXhwcmVzc2lvbkFzdCBzZXR8Y29uZGl0aW9u LT5FeHByZXNzaW9uQXN0LHRlc3Qgc2V0fGJvZHktPkV4cHJlc3Npb25Bc3QsYm9keSBzZXR8b3Jl bHNlLT5FeHByZXNzaW9uQXN0LG9yZWxzZTs7CistUlVMRV9GT1IgX2V4cHI7S0lORCBEaWN0X2tp bmQ7QUNUSU9OUyBjcmVhdGV8RGljdEFzdCBzZXR8a2V5cz0+RXhwcmVzc2lvbkFzdCxrZXlzIHNl dHx2YWx1ZXM9PkV4cHJlc3Npb25Bc3QsdmFsdWVzOzsKKy1SVUxFX0ZPUiBfZXhwcjtLSU5EIFNl dF9raW5kO0FDVElPTlMgY3JlYXRlfFNldEFzdCBzZXR8ZWxlbWVudHM9PkV4cHJlc3Npb25Bc3Qs ZWx0czs7CistUlVMRV9GT1IgX2V4cHI7S0lORCBMaXN0Q29tcF9raW5kO0FDVElPTlMgY3JlYXRl fExpc3RDb21wcmVoZW5zaW9uQXN0IHNldHxlbGVtZW50LT5FeHByZXNzaW9uQXN0LGVsdCBzZXR8 Z2VuZXJhdG9ycz0+Q29tcHJlaGVuc2lvbkFzdCxnZW5lcmF0b3JzOzsKKy1SVUxFX0ZPUiBfZXhw cjtLSU5EIFNldENvbXBfa2luZDtBQ1RJT05TIGNyZWF0ZXxTZXRDb21wcmVoZW5zaW9uQXN0IHNl dHxlbGVtZW50LT5FeHByZXNzaW9uQXN0LGVsdCBzZXR8Z2VuZXJhdG9ycz0+Q29tcHJlaGVuc2lv bkFzdCxnZW5lcmF0b3JzOzsKKy1SVUxFX0ZPUiBfZXhwcjtLSU5EIERpY3RDb21wX2tpbmQ7QUNU SU9OUyBjcmVhdGV8RGljdGlvbmFyeUNvbXByZWhlbnNpb25Bc3Qgc2V0fGtleS0+RXhwcmVzc2lv bkFzdCxrZXkgc2V0fHZhbHVlLT5FeHByZXNzaW9uQXN0LHZhbHVlIHNldHxnZW5lcmF0b3JzPT5D b21wcmVoZW5zaW9uQXN0LGdlbmVyYXRvcnM7OworLVJVTEVfRk9SIF9leHByO0tJTkQgR2VuZXJh dG9yRXhwX2tpbmQ7QUNUSU9OUyBjcmVhdGV8R2VuZXJhdG9yRXhwcmVzc2lvbkFzdCBzZXR8ZWxl bWVudC0+RXhwcmVzc2lvbkFzdCxlbHQgc2V0fGdlbmVyYXRvcnM9PkNvbXByZWhlbnNpb25Bc3Qs Z2VuZXJhdG9yczs7CistUlVMRV9GT1IgX2V4cHI7S0lORCBZaWVsZF9raW5kO0FDVElPTlMgY3Jl YXRlfFlpZWxkQXN0IHNldHx2YWx1ZS0+RXhwcmVzc2lvbkFzdCx2YWx1ZTs7CistUlVMRV9GT1Ig X2V4cHI7S0lORCBDb21wYXJlX2tpbmQ7QUNUSU9OUyBjcmVhdGV8Q29tcGFyZUFzdCBzZXR8bGVm dG1vc3RFbGVtZW50LT5FeHByZXNzaW9uQXN0LGxlZnQgc2V0fG9wZXJhdG9ycyM+Q29tcGFyaXNv bk9wZXJhdG9yVHlwZXMsb3BzIHNldHxjb21wYXJhbmRzPT5FeHByZXNzaW9uQXN0LGNvbXBhcmF0 b3JzOzsKKy1SVUxFX0ZPUiBfZXhwcjtLSU5EIENhbGxfa2luZDtBQ1RJT05TIGNyZWF0ZXxDYWxs QXN0IHNldHxmdW5jdGlvbi0+RXhwcmVzc2lvbkFzdCxmdW5jIHNldHxhcmd1bWVudHM9PkV4cHJl c3Npb25Bc3QsYXJncyBzZXR8a2V5d29yZHM9PktleXdvcmRBc3Qsa2V5d29yZHM7Q09ERSB2LT5m dW5jdGlvbi0+YmVsb25nc1RvQ2FsbCA9IHY7OworLVJVTEVfRk9SIF9leHByO0tJTkQgTnVtX2tp bmQ7QUNUSU9OUyBjcmVhdGV8TnVtYmVyQXN0O0NPREUgdi0+aXNJbnQgPSBQeUxvbmdfQ2hlY2so bm9kZS0+di5OdW0ubik7IHYtPnZhbHVlID0gUHlMb25nX0FzTG9uZyhub2RlLT52Lk51bS5uKTs7 CistUlVMRV9GT1IgX2V4cHI7S0lORCBTdHJfa2luZDtBQ1RJT05TIGNyZWF0ZXxTdHJpbmdBc3Qg c2V0fHZhbHVlJD5zOzsKKy1SVUxFX0ZPUiBfZXhwcjtLSU5EIEJ5dGVzX2tpbmQ7QUNUSU9OUyBj cmVhdGV8Qnl0ZXNBc3Qgc2V0fHZhbHVlJD5zOzsKKy1SVUxFX0ZPUiBfZXhwcjtLSU5EIEF0dHJp YnV0ZV9raW5kO0FDVElPTlMgY3JlYXRlfEF0dHJpYnV0ZUFzdCBzZXR8YXR0cmlidXRlfj5hdHRy IHNldHx2YWx1ZS0+RXhwcmVzc2lvbkFzdCx2YWx1ZSBzZXR8Y29udGV4dCo+Q29udGV4dCxjdHg7 OworLVJVTEVfRk9SIF9leHByO0tJTkQgU3Vic2NyaXB0X2tpbmQ7QUNUSU9OUyBjcmVhdGV8U3Vi c2NyaXB0QXN0IHNldHx2YWx1ZS0+RXhwcmVzc2lvbkFzdCx2YWx1ZSBzZXR8c2xpY2UtPlNsaWNl QXN0LHNsaWNlIHNldHxjb250ZXh0Kj5Db250ZXh0LGN0eDs7CistUlVMRV9GT1IgX2V4cHI7S0lO RCBTdGFycmVkX2tpbmQ7QUNUSU9OUyBjcmVhdGV8U3RhcnJlZEFzdCBzZXR8dmFsdWUtPkV4cHJl c3Npb25Bc3QsdmFsdWUgc2V0fGNvbnRleHQqPkNvbnRleHQsY3R4OzsKKy1SVUxFX0ZPUiBfZXhw cjtLSU5EIE5hbWVfa2luZDtBQ1RJT05TIGNyZWF0ZXxOYW1lQXN0IHNldHxpZGVudGlmaWVyfj5p ZCBzZXR8Y29udGV4dCo+Q29udGV4dCxjdHg7OworLVJVTEVfRk9SIF9leHByO0tJTkQgTGlzdF9r aW5kO0FDVElPTlMgY3JlYXRlfExpc3RBc3Qgc2V0fGVsZW1lbnRzPT5FeHByZXNzaW9uQXN0LGVs dHMgc2V0fGNvbnRleHQqPkNvbnRleHQsY3R4OzsKKy1SVUxFX0ZPUiBfZXhwcjtLSU5EIFR1cGxl X2tpbmQ7QUNUSU9OUyBjcmVhdGV8VHVwbGVBc3Qgc2V0fGVsZW1lbnRzPT5FeHByZXNzaW9uQXN0 LGVsdHMgc2V0fGNvbnRleHQqPkNvbnRleHQsY3R4OzsKKy1SVUxFX0ZPUiBfZXhwcjtLSU5EIEVs bGlwc2lzX2tpbmQ7QUNUSU9OUyBjcmVhdGV8RWxsaXBzaXNBc3Q7OworLVJVTEVfRk9SIF9leHBy O0tJTkQgTmFtZUNvbnN0YW50X2tpbmQ7QUNUSU9OUyBjcmVhdGV8TmFtZUNvbnN0YW50QXN0IHNl dHx2YWx1ZV8+dmFsdWU7OworLVJVTEVfRk9SIF9leHByO0tJTkQgWWllbGRGcm9tX2tpbmQ7QUNU SU9OUyBjcmVhdGV8WWllbGRGcm9tQXN0IHNldHx2YWx1ZS0+RXhwcmVzc2lvbkFzdCx2YWx1ZTs7 CistCistUlVMRV9GT1IgX3NsaWNlO0tJTkQgU2xpY2Vfa2luZDtBQ1RJT05TIGNyZWF0ZXxTbGlj ZUFzdCBzZXR8bG93ZXItPkV4cHJlc3Npb25Bc3QsbG93ZXIgc2V0fHVwcGVyLT5FeHByZXNzaW9u QXN0LHVwcGVyIHNldHxzdGVwLT5FeHByZXNzaW9uQXN0LHN0ZXA7OworLVJVTEVfRk9SIF9zbGlj ZTtLSU5EIEV4dFNsaWNlX2tpbmQ7QUNUSU9OUyBjcmVhdGV8RXh0ZW5kZWRTbGljZUFzdCBzZXR8 ZGltcz0+U2xpY2VBc3QsZGltczs7CistUlVMRV9GT1IgX3NsaWNlO0tJTkQgSW5kZXhfa2luZDtB Q1RJT05TIGNyZWF0ZXxJbmRleEFzdCBzZXR8dmFsdWUtPkV4cHJlc3Npb25Bc3QsdmFsdWU7Owor LQorLQorLVJVTEVfRk9SIF9jb21wcmVoZW5zaW9uO0tJTkQgYW55O0FDVElPTlMgY3JlYXRlfENv bXByZWhlbnNpb25Bc3Qgc2V0fHRhcmdldC0+RXhwcmVzc2lvbkFzdCx0YXJnZXQgc2V0fGl0ZXJh dG9yLT5FeHByZXNzaW9uQXN0LGl0ZXIgc2V0fGNvbmRpdGlvbnM9PkV4cHJlc3Npb25Bc3QsaWZz OzsKKy1SVUxFX0ZPUiBfZXhjZXB0aGFuZGxlcjtLSU5EIEV4Y2VwdEhhbmRsZXJfa2luZDtBQ1RJ T05TIGNyZWF0ZXxFeGNlcHRpb25IYW5kbGVyQXN0IHNldHx0eXBlLT5FeHByZXNzaW9uQXN0LHR5 cGUgc2V0fG5hbWV+Pm5hbWUgc2V0fGJvZHk9PkFzdCxib2R5OzsKKy1SVUxFX0ZPUiBfYXJndW1l bnRzO0tJTkQgYW55O0FDVElPTlMgY3JlYXRlfEFyZ3VtZW50c0FzdCBzZXR8dmFyYXJnLT5BcmdB c3QsdmFyYXJnIHNldHxrd2FyZy0+QXJnQXN0LGt3YXJnIHNldHxhcmd1bWVudHM9PkFyZ0FzdCxh cmdzIHNldHxkZWZhdWx0VmFsdWVzPT5FeHByZXNzaW9uQXN0LGRlZmF1bHRzIHNldHxrd29ubHlh cmdzPT5BcmdBc3Qsa3dvbmx5YXJnczs7CistUlVMRV9GT1IgX2FyZztLSU5EIGFueTtBQ1RJT05T IGNyZWF0ZXxBcmdBc3Qgc2V0fGFyZ3VtZW50TmFtZX4+YXJnIHNldHxhbm5vdGF0aW9uLT5FeHBy ZXNzaW9uQXN0LGFubm90YXRpb247OworLVJVTEVfRk9SIF9rZXl3b3JkO0tJTkQgYW55O0FDVElP TlMgY3JlYXRlfEtleXdvcmRBc3Qgc2V0fGFyZ3VtZW50TmFtZX4+YXJnIHNldHx2YWx1ZS0+RXhw cmVzc2lvbkFzdCx2YWx1ZTs7CistUlVMRV9GT1IgX2FsaWFzO0tJTkQgYW55O0FDVElPTlMgY3Jl YXRlfEFsaWFzQXN0IHNldHxuYW1lfj5uYW1lIHNldHxhc05hbWV+PmFzbmFtZTs7CistUlVMRV9G T1IgX3dpdGhpdGVtO0tJTkQgYW55OyBBQ1RJT05TIGNyZWF0ZXxXaXRoSXRlbUFzdCBzZXR8Y29u dGV4dEV4cHJlc3Npb24tPkV4cHJlc3Npb25Bc3QsY29udGV4dF9leHByIHNldHxvcHRpb25hbFZh cnMtPk5hbWVBc3Qsb3B0aW9uYWxfdmFyczs7CitkaWZmIC0tZ2l0IGEvcGFyc2VyL3Rlc3RzL3B5 YXN0dGVzdC5jcHAgYi9wYXJzZXIvdGVzdHMvcHlhc3R0ZXN0LmNwcAoraW5kZXggODc1NjYyYS4u Nzk5NWIxOCAxMDA2NDQKKy0tLSBhL3BhcnNlci90ZXN0cy9weWFzdHRlc3QuY3BwCisrKysgYi9w YXJzZXIvdGVzdHMvcHlhc3R0ZXN0LmNwcAorQEAgLTE1Myw2ICsxNTMsOCBAQCB2b2lkIFB5QXN0 VGVzdDo6dGVzdFN0YXRlbWVudHNfZGF0YSgpCisgICAgIFFUZXN0OjpuZXdSb3coImNvbnRpbnVl IikgPDwgIndoaWxlIFRydWU6IGNvbnRpbnVlIjsKKyAgICAgUVRlc3Q6Om5ld1JvdygicGFzcyIp IDw8ICJwYXNzIjsKKyAgICAgUVRlc3Q6Om5ld1Jvdygibm9ubG9jYWwiKSA8PCAibm9ubG9jYWwg eCI7CisrICAgIFFUZXN0OjpuZXdSb3coInZhcmFubm90YXRpb24xIikgPDwgInByaW1lczogTGlz dFtpbnRdID0gW10iOworKyAgICBRVGVzdDo6bmV3Um93KCJ2YXJhbm5vdGF0aW9uMiIpIDw8ICJj YXB0YWluOiBzdHIgICMgTm90ZTogbm8gaW5pdGlhbCB2YWx1ZSEiOworIH0KKyAKKyB2b2lkIFB5 QXN0VGVzdDo6dGVzdFNsaWNlcygpCitAQCAtMjIxLDEwICsyMjMsMTYgQEAgdm9pZCBQeUFzdFRl c3Q6OnRlc3RFeHByZXNzaW9uc19kYXRhKCkKKyAgICAgUVRlc3Q6Om5ld1JvdygiTm9uZSIpIDw8 ICJOb25lIjsKKyAgICAgUVRlc3Q6Om5ld1JvdygiRmFsc2UiKSA8PCAiRmFsc2UiOworICAgICBR VGVzdDo6bmV3Um93KCJUcnVlIikgPDwgIlRydWUiOworKworKyAgICBRVGVzdDo6bmV3Um93KCJh c3luY19nZW5lcmF0b3IiKSA8PCAiYXN5bmMgZGVmIGZvbygpOiByZXN1bHQgPSBbaSBhc3luYyBm b3IgaSBpbiBhaXRlcigpIGlmIGkgJSAyXSI7CisrICAgIFFUZXN0OjpuZXdSb3coImF3YWl0X2dl bmVyYXRvciIpIDw8ICJhc3luYyBkZWYgZm9vKCk6IHJlc3VsdCA9IFthd2FpdCBmdW4oKSBmb3Ig ZnVuIGluIGZ1bmNzXSI7CisrCisrICAgIFFUZXN0OjpuZXdSb3coInVuZGVyc2NvcmVfbGl0ZXJh bHMiKSA8PCAiMHhfRkZfRkZfRkZfRkYiOworICAgICBRVGVzdDo6bmV3Um93KCJkc3Rhcl91bnBh Y2siKSA8PCAiZXh0X21hcCA9IHtcbiIKKyAgICAgICAgICIgICAgICAgKip7ZXh0OiBzZWxmLm9i al9leHRlbnNpb24gZm9yIGV4dCBpbiBzZWxmLnNyY19leHRlbnNpb25zfSxcbiIKKyAgICAgICAg ICIgICAgICAgKip7ZXh0OiBzZWxmLnJlc19leHRlbnNpb24gZm9yIGV4dCBpbiBzZWxmLl9yY19l eHRlbnNpb25zICsgc2VsZi5fbWNfZXh0ZW5zaW9uc30sXG4iCisgICAgICJ9IjsKKysgICAgUVRl c3Q6Om5ld1JvdygiZm9ybWF0dGVkX3N0cmluZ19saXRlcmFsIikgPDwgImZcIkhlIHNhaWQgaGlz IG5hbWUgaXMge25hbWV9LlwiIjsKKyB9CisgCisgdm9pZCBQeUFzdFRlc3Q6OnRlc3RDb3JyZWN0 ZWRGdW5jUmFuZ2VzKCkK