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: Benjamin A. Beasley To: git-commits@fedoraproject.org Subject: [rpms/python-cramjam] epel10: Update to PyO3 0.29 Date: Mon, 29 Jun 2026 14:46:23 GMT Message-ID: <178274438345.1.3760794026153068192.rpms-python-cramjam-73c625e4918d@fedoraproject.org> List-ID: X-Git-Repo: rpms/python-cramjam X-Git-Branch: epel10 X-Git-Rev: 73c625e4918d37b52e105d724591ca3a2b614a98 QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvcHl0aG9uLWNyYW1q YW0KQnJhbmNoIDogZXBlbDEwCkNvbW1pdCA6IDczYzYyNWU0OTE4ZDM3YjUyZTEwNWQ3MjQ1OTFj YTNhMmI2MTRhOTgKQXV0aG9yIDogQmVuamFtaW4gQS4gQmVhc2xleSA8Y29kZUBtdXNpY2lubXli cmFpbi5uZXQ+CkRhdGUgICA6IDIwMjYtMDYtMjlUMTU6NDI6MjcrMDE6MDAKU3RhdHMgIDogKzM3 My8tMzY5IGluIDMgZmlsZShzKQpVUkwgICAgOiBodHRwczovL3NyYy5mZWRvcmFwcm9qZWN0Lm9y Zy9ycG1zL3B5dGhvbi1jcmFtamFtL2MvNzNjNjI1ZTQ5MThkMzdiNTJlMTA1ZDcyNDU5MWNhM2Ey YjYxNGE5OD9icmFuY2g9ZXBlbDEwCgpMb2c6ClVwZGF0ZSB0byBQeU8zIDAuMjkKCi0tLQpkaWZm IC0tZ2l0IGEvY3JhbWphbS0yLjExLjAtcHlvMy0wLjI4LnBhdGNoIGIvY3JhbWphbS0yLjExLjAt cHlvMy0wLjI4LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4YjdkMTVlLi4w MDAwMDAwCi0tLSBhL2NyYW1qYW0tMi4xMS4wLXB5bzMtMC4yOC5wYXRjaAorKysgL2Rldi9udWxs CkBAIC0xLDM2OCArMCwwIEBACi1kaWZmIC1OYXVyIGNyYW1qYW0tMi4xMS4wLW9yaWdpbmFsL0Nh cmdvLnRvbWwgY3JhbWphbS0yLjExLjAvQ2FyZ28udG9tbAotLS0tIGNyYW1qYW0tMi4xMS4wLW9y aWdpbmFsL0NhcmdvLnRvbWwJMTk3MC0wMS0wMSAwMTowMDowMC4wMDAwMDAwMDAgKzAxMDAKLSsr KyBjcmFtamFtLTIuMTEuMC9DYXJnby50b21sCTIwMjYtMDYtMTkgMjE6MjU6MzkuMjk4Nzc0NzMy ICswMTAwCi1AQCAtNzEsMTEgKzcxLDExIEBACi0gCi0gCi0gW2RlcGVuZGVuY2llc10KLS1weW8z ID0geyB2ZXJzaW9uID0gIl4wLjI1IiwgZGVmYXVsdC1mZWF0dXJlcyA9IGZhbHNlLCBmZWF0dXJl cyA9IFsibWFjcm9zIl0gfQotK3B5bzMgPSB7IHZlcnNpb24gPSAiXjAuMjgiLCBkZWZhdWx0LWZl YXR1cmVzID0gZmFsc2UsIGZlYXR1cmVzID0gWyJtYWNyb3MiXSB9Ci0gbGliY3JhbWphbSA9IHsg dmVyc2lvbiA9ICJeMC44IiwgZGVmYXVsdC1mZWF0dXJlcyA9IGZhbHNlIH0KLSAKLSBbYnVpbGQt ZGVwZW5kZW5jaWVzXQotLXB5bzMtYnVpbGQtY29uZmlnID0gIl4wLjI1IgotK3B5bzMtYnVpbGQt Y29uZmlnID0gIl4wLjI4IgotIAotIFtwcm9maWxlLnJlbGVhc2VdCi0gc3RyaXAgPSB0cnVlCi1k aWZmIC1OYXVyIGNyYW1qYW0tMi4xMS4wLW9yaWdpbmFsL3B5cHJvamVjdC50b21sIGNyYW1qYW0t Mi4xMS4wL3B5cHJvamVjdC50b21sCi0tLS0gY3JhbWphbS0yLjExLjAtb3JpZ2luYWwvcHlwcm9q ZWN0LnRvbWwJMjAyNS0wNy0yNyAyMTo0MjowNy4wMDAwMDAwMDAgKzAxMDAKLSsrKyBjcmFtamFt LTIuMTEuMC9weXByb2plY3QudG9tbAkyMDI2LTA2LTE5IDIxOjI1OjU2LjU3Mjk2MTY0NyArMDEw MAotQEAgLTIsNyArMiw3IEBACi0gbmFtZSA9ICJjcmFtamFtIgotIHZlcnNpb24gPSAiMi4xMS4w IgotIGtleXdvcmRzID0gWyJjb21wcmVzc2lvbiIsICJkZWNvbXByZXNzaW9uIiwgInNuYXBweSIs ICJ6c3RkIiwgImJ6MiIsICJnemlwIiwgImx6NCIsICJicm90bGkiLCAiZGVmbGF0ZSIsICJibG9z YzIiXQotLXJlcXVpcmVzLXB5dGhvbiA9ICI+PTMuOCIKLStyZXF1aXJlcy1weXRob24gPSAiPj0z LjExIgotIGxpY2Vuc2UgPSB7IGZpbGUgPSAiTElDRU5TRSIgfQotIAotIFtwcm9qZWN0LnVybHNd Ci1kaWZmIC1OYXVyIGNyYW1qYW0tMi4xMS4wLW9yaWdpbmFsL3NyYy9ibG9zYzIucnMgY3JhbWph bS0yLjExLjAvc3JjL2Jsb3NjMi5ycwotLS0tIGNyYW1qYW0tMi4xMS4wLW9yaWdpbmFsL3NyYy9i bG9zYzIucnMJMjAyNS0wNy0yNyAyMTo0MjowNy4wMDAwMDAwMDAgKzAxMDAKLSsrKyBjcmFtamFt LTIuMTEuMC9zcmMvYmxvc2MyLnJzCTIwMjYtMDYtMTkgMjE6MjU6MzkuMjk4OTk0NjA1ICswMTAw Ci1AQCAtMTQzLDcgKzE0Myw3IEBACi0gICAgIHB1YiBmbiBkZWNvbXByZXNzX2NodW5rKHB5OiBQ eXRob24sIGRhdGE6IEJ5dGVzVHlwZSwgb3V0cHV0X2xlbjogT3B0aW9uPHVzaXplPikgLT4gUHlS ZXN1bHQ8UnVzdHlCdWZmZXI+IHsKLSAgICAgICAgIGxldCBieXRlcyA9IGRhdGEuYXNfYnl0ZXMo KTsKLSAgICAgICAgIGxldCBidWYgPSBweQotLSAgICAgICAgICAgIC5hbGxvd190aHJlYWRzKHx8 IGxpYmNyYW1qYW06OmJsb3NjMjo6ZGVjb21wcmVzc19jaHVuayhieXRlcykpCi0rICAgICAgICAg ICAgLmRldGFjaCh8fCBsaWJjcmFtamFtOjpibG9zYzI6OmRlY29tcHJlc3NfY2h1bmsoYnl0ZXMp KQotICAgICAgICAgICAgIC5tYXAoUnVzdHlCdWZmZXI6OmZyb20pPzsKLSAgICAgICAgIE9rKGJ1 ZikKLSAgICAgfQotQEAgLTE1Myw3ICsxNTMsNyBAQAotICAgICBwdWIgZm4gZGVjb21wcmVzc19j aHVua19pbnRvKHB5OiBQeXRob24sIGlucHV0OiBCeXRlc1R5cGUsIG11dCBvdXRwdXQ6IEJ5dGVz VHlwZSkgLT4gUHlSZXN1bHQ8dXNpemU+IHsKLSAgICAgICAgIGxldCBieXRlcyA9IGlucHV0LmFz X2J5dGVzKCk7Ci0gICAgICAgICBsZXQgb3V0ID0gb3V0cHV0LmFzX2J5dGVzX211dCgpPzsKLS0g ICAgICAgIGxldCBuYnl0ZXMgPSBweS5hbGxvd190aHJlYWRzKHx8IGxpYmNyYW1qYW06OmJsb3Nj Mjo6ZGVjb21wcmVzc19jaHVua19pbnRvKGJ5dGVzLCBvdXQpKT87Ci0rICAgICAgICBsZXQgbmJ5 dGVzID0gcHkuZGV0YWNoKHx8IGxpYmNyYW1qYW06OmJsb3NjMjo6ZGVjb21wcmVzc19jaHVua19p bnRvKGJ5dGVzLCBvdXQpKT87Ci0gICAgICAgICBPayhuYnl0ZXMpCi0gICAgIH0KLSAKLUBAIC0x NzYsNyArMTc2LDcgQEAKLSAgICAgICAgIGNvZGVjOiBPcHRpb248UHlDb2RlYz4sCi0gICAgICkg LT4gUHlSZXN1bHQ8UnVzdHlCdWZmZXI+IHsKLSAgICAgICAgIGxldCBieXRlcyA9IGRhdGEuYXNf Ynl0ZXMoKTsKLS0gICAgICAgIHB5LmFsbG93X3RocmVhZHMofHwgewotKyAgICAgICAgcHkuZGV0 YWNoKHx8IHsKLSAgICAgICAgICAgICBsZXQgY2xldmVsID0gY2xldmVsLm1hcChJbnRvOjppbnRv KTsKLSAgICAgICAgICAgICBsZXQgZmlsdGVyID0gZmlsdGVyLm1hcChJbnRvOjppbnRvKTsKLSAg ICAgICAgICAgICBsZXQgY29kZWMgPSBjb2RlYy5tYXAoSW50bzo6aW50byk7Ci1AQCAtMjAwLDcg KzIwMCw3IEBACi0gICAgICkgLT4gUHlSZXN1bHQ8dXNpemU+IHsKLSAgICAgICAgIGxldCBieXRl cyA9IGlucHV0LmFzX2J5dGVzKCk7Ci0gICAgICAgICBsZXQgb3V0ID0gb3V0cHV0LmFzX2J5dGVz X211dCgpPzsKLS0gICAgICAgIHB5LmFsbG93X3RocmVhZHMofHwgewotKyAgICAgICAgcHkuZGV0 YWNoKHx8IHsKLSAgICAgICAgICAgICBsZXQgY2xldmVsID0gY2xldmVsLm1hcChJbnRvOjppbnRv KTsKLSAgICAgICAgICAgICBsZXQgZmlsdGVyID0gZmlsdGVyLm1hcChJbnRvOjppbnRvKTsKLSAg ICAgICAgICAgICBsZXQgY29kZWMgPSBjb2RlYy5tYXAoSW50bzo6aW50byk7Ci1kaWZmIC1OYXVy IGNyYW1qYW0tMi4xMS4wLW9yaWdpbmFsL3NyYy9pby5ycyBjcmFtamFtLTIuMTEuMC9zcmMvaW8u cnMKLS0tLSBjcmFtamFtLTIuMTEuMC1vcmlnaW5hbC9zcmMvaW8ucnMJMjAyNS0wNy0yNyAyMTo0 MjowNy4wMDAwMDAwMDAgKzAxMDAKLSsrKyBjcmFtamFtLTIuMTEuMC9zcmMvaW8ucnMJMjAyNi0w Ni0xOSAyMToyNTozOS4yOTkxNjI1ODcgKzAxMDAKLUBAIC0xNCw3ICsxNCw2IEBACi0gdXNlIHB5 bzM6OmZmaTsKLSB1c2UgcHlvMzo6cHJlbHVkZTo6KjsKLSB1c2UgcHlvMzo6dHlwZXM6OlB5Qnl0 ZXM7Ci0tdXNlIHB5bzM6OkludG9QeU9iamVjdEV4dDsKLSB1c2Ugc3RkOjpwYXRoOjpQYXRoQnVm OwotIAotIHB1YihjcmF0ZSkgdHJhaXQgQXNCeXRlcyB7Ci1AQCAtMjEwLDcgKzIwOSw3IEBACi0g ICAgIHB1YiBmbiBhc19zbGljZV9tdXQoJm11dCBzZWxmKSAtPiBQeVJlc3VsdDwmbXV0IFt1OF0+ IHsKLSAgICAgICAgICNbY2ZnKGFueShQeVB5LCBQeV9HSUxfRElTQUJMRUQpKV0KLSAgICAgICAg IHsKLS0gICAgICAgICAgICBQeXRob246OndpdGhfZ2lsKHxweXwgewotKyAgICAgICAgICAgIFB5 dGhvbjo6YXR0YWNoKHxweXwgewotICAgICAgICAgICAgICAgICBsZXQgaXNfbWVtb3J5dmlldyA9 IHVuc2FmZSB7IGZmaTo6UHlNZW1vcnlWaWV3X0NoZWNrKHNlbGYub3duZXIuYXNfcHRyKCkpIH0g PT0gMTsKLSAgICAgICAgICAgICAgICAgaWYgaXNfbWVtb3J5dmlldyB8fCBzZWxmLm93bmVyLmJp bmQocHkpLmlzX2luc3RhbmNlX29mOjo8UHlCeXRlcz4oKSB7Ci0gICAgICAgICAgICAgICAgICAg ICAjW2NmZyhQeVB5KV0KLUBAIC0yNjAsMTMgKzI1OSwxNCBAQAotIAotIGltcGwgRHJvcCBmb3Ig UHl0aG9uQnVmZmVyIHsKLSAgICAgZm4gZHJvcCgmbXV0IHNlbGYpIHsKLS0gICAgICAgIFB5dGhv bjo6d2l0aF9naWwofF98IHVuc2FmZSB7IGZmaTo6UHlCdWZmZXJfUmVsZWFzZSgmbXV0ICpzZWxm LmlubmVyKSB9KQotKyAgICAgICAgUHl0aG9uOjphdHRhY2gofF98IHVuc2FmZSB7IGZmaTo6UHlC dWZmZXJfUmVsZWFzZSgmbXV0ICpzZWxmLmlubmVyKSB9KQotICAgICB9Ci0gfQotIAotLWltcGw8 J3B5PiBGcm9tUHlPYmplY3Q8J3B5PiBmb3IgUHl0aG9uQnVmZmVyIHsKLS0gICAgZm4gZXh0cmFj dF9ib3VuZChvYmo6ICZCb3VuZDwncHksIFB5QW55PikgLT4gUHlSZXN1bHQ8U2VsZj4gewotLSAg ICAgICAgU2VsZjo6dHJ5X2Zyb20ob2JqKQotK2ltcGw8J2EsICdweT4gRnJvbVB5T2JqZWN0PCdh LCAncHk+IGZvciBQeXRob25CdWZmZXIgewotKyAgICB0eXBlIEVycm9yID0gUHlFcnI7Ci0rICAg IGZuIGV4dHJhY3Qob2JqOiBCb3Jyb3dlZDwnYSwgJ3B5LCBQeUFueT4pIC0+IFB5UmVzdWx0PFNl bGY+IHsKLSsgICAgICAgIFNlbGY6OnRyeV9mcm9tKCYqb2JqKQotICAgICB9Ci0gfQotIAotQEAg LTI4NSw3ICsyODUsNyBAQAotICAgICAgICAgICAgIGlubmVyOiBzdGQ6OnBpbjo6UGluOjpmcm9t KGJ1ZiksCi0gICAgICAgICAgICAgcG9zOiAwLAotICAgICAgICAgICAgICNbY2ZnKGFueShQeVB5 LCBQeV9HSUxfRElTQUJMRUQpKV0KLS0gICAgICAgICAgICBvd25lcjogUHl0aG9uOjp3aXRoX2dp bCh8cHl8IG9iai5pbnRvX3B5X2FueShweSkudW53cmFwKCkpLAotKyAgICAgICAgICAgIG93bmVy OiBvYmouY2xvbmUoKS51bmJpbmQoKSwKLSAgICAgICAgIH07Ci0gICAgICAgICAvLyBzYW5pdHkg Y2hlY2tzCi0gICAgICAgICBpZiBidWYuaW5uZXIuc2hhcGUuaXNfbnVsbCgpIHsKLUBAIC02Mjks NyArNjI5LDcgQEAKLSAgICAgfQotICAgICBmbiBfX2NvbnRhaW5zX18oJnNlbGYsIHB5OiBQeXRo b24sIHg6IEJ5dGVzVHlwZSkgLT4gYm9vbCB7Ci0gICAgICAgICBsZXQgYnl0ZXMgPSB4LmFzX2J5 dGVzKCk7Ci0tICAgICAgICBweS5hbGxvd190aHJlYWRzKHx8IHNlbGYuaW5uZXIuZ2V0X3JlZigp LndpbmRvd3MoYnl0ZXMubGVuKCkpLmFueSh8d3wgdyA9PSBieXRlcykpCi0rICAgICAgICBweS5k ZXRhY2gofHwgc2VsZi5pbm5lci5nZXRfcmVmKCkud2luZG93cyhieXRlcy5sZW4oKSkuYW55KHx3 fCB3ID09IGJ5dGVzKSkKLSAgICAgfQotICAgICBmbiBfX3JlcHJfXygmbXV0IHNlbGYsIHB5OiBQ eXRob24pIC0+IFB5UmVzdWx0PFN0cmluZz4gewotICAgICAgICAgT2soZm9ybWF0ISgiY3JhbWph bS5CdWZmZXI8bGVuPXs6P30+Iiwgc2VsZi5sZW4ocHkpPykpCi1kaWZmIC1OYXVyIGNyYW1qYW0t Mi4xMS4wLW9yaWdpbmFsL3NyYy9saWIucnMgY3JhbWphbS0yLjExLjAvc3JjL2xpYi5ycwotLS0t IGNyYW1qYW0tMi4xMS4wLW9yaWdpbmFsL3NyYy9saWIucnMJMjAyNS0wNy0yNyAyMTo0MjowNy4w MDAwMDAwMDAgKzAxMDAKLSsrKyBjcmFtamFtLTIuMTEuMC9zcmMvbGliLnJzCTIwMjYtMDYtMTkg MjE6MjU6MzkuMjk5MzIxNDUwICswMTAwCi1AQCAtMjIyLDEzICsyMjIsMTMgQEAKLSAgICAgICAg ICAgICAgICAgQnl0ZXNUeXBlOjpSdXN0eUZpbGUoZikgPT4gewotICAgICAgICAgICAgICAgICAg ICAgbGV0IGJvcnJvd2VkID0gZi5ib3Jyb3coKTsKLSAgICAgICAgICAgICAgICAgICAgIGxldCBm aWxlID0gJmJvcnJvd2VkLmlubmVyOwotLSAgICAgICAgICAgICAgICAgICAgJHB5LmFsbG93X3Ro cmVhZHMofHwgewotKyAgICAgICAgICAgICAgICAgICAgJHB5LmRldGFjaCh8fCB7Ci0gICAgICAg ICAgICAgICAgICAgICAgICAgJG9wKGZpbGUsICZtdXQgQ3Vyc29yOjpuZXcoJm11dCBvdXRwdXQp ICQoLCAkYXJncykqICkKLSAgICAgICAgICAgICAgICAgICAgIH0pCi0gICAgICAgICAgICAgICAg IH0sCi0gICAgICAgICAgICAgICAgIF8gPT4gewotICAgICAgICAgICAgICAgICAgICAgbGV0IGJ5 dGVzID0gJGlucHV0LmFzX2J5dGVzKCk7Ci0tICAgICAgICAgICAgICAgICAgICAkcHkuYWxsb3df dGhyZWFkcyh8fCB7Ci0rICAgICAgICAgICAgICAgICAgICAkcHkuZGV0YWNoKHx8IHsKLSAgICAg ICAgICAgICAgICAgICAgICAgICAkb3AoYnl0ZXMsICZtdXQgQ3Vyc29yOjpuZXcoJm11dCBvdXRw dXQpICQoLCAkYXJncykqICkKLSAgICAgICAgICAgICAgICAgICAgIH0pCi0gICAgICAgICAgICAg ICAgIH0KLUBAIC0yNDYsMjAgKzI0NiwyMCBAQAotICAgICAgICAgICAgICAgICAgICAgICAgIEJ5 dGVzVHlwZTo6UnVzdHlGaWxlKGYpID0+IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg bGV0IG11dCBib3Jyb3dlZCA9IGYuYm9ycm93X211dCgpOwotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBsZXQgbXV0IGZfb3V0ID0gJm11dCBib3Jyb3dlZC5pbm5lcjsKLS0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgJHB5LmFsbG93X3RocmVhZHMofHwgewotKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAkcHkuZGV0YWNoKHx8IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICRvcChmX2luLCAmbXV0IGZfb3V0ICQoLCAkYXJncykqICkKLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfSkKLSAgICAgICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAg ICAgICAgICAgICAgICAgIEJ5dGVzVHlwZTo6UnVzdHlCdWZmZXIoYnVmZmVyKSA9PiB7Ci0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBtdXQgYm9ycm93ZWQgPSBidWZmZXIuYm9ycm93 X211dCgpOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgbXV0IGJ1Zl9vdXQgPSAm bXV0IGJvcnJvd2VkLmlubmVyOwotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcHkuYWxs b3dfdGhyZWFkcyh8fCB7Ci0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICRweS5kZXRhY2go fHwgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJG9wKGZfaW4sICZtdXQgYnVm X291dCAkKCwgJGFyZ3MpKiApCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pCi0gICAg ICAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICBfID0+IHsK LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGJ5dGVzX291dCA9ICRvdXRwdXQuYXNf Ynl0ZXNfbXV0KCk/OwotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcHkuYWxsb3dfdGhy ZWFkcyh8fCB7Ci0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICRweS5kZXRhY2gofHwgewot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJG9wKGZfaW4sICZtdXQgQ3Vyc29yOjpu ZXcoYnl0ZXNfb3V0KSAkKCwgJGFyZ3MpKiApCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg IH0pCi0gICAgICAgICAgICAgICAgICAgICAgICAgfQotQEAgLTI3MSwyMCArMjcxLDIwIEBACi0g ICAgICAgICAgICAgICAgICAgICAgICAgQnl0ZXNUeXBlOjpSdXN0eUZpbGUoZikgPT4gewotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgbXV0IGJvcnJvd2VkID0gZi5ib3Jyb3dfbXV0 KCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBtdXQgZl9vdXQgPSAmbXV0IGJv cnJvd2VkLmlubmVyOwotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcHkuYWxsb3dfdGhy ZWFkcyh8fCB7Ci0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICRweS5kZXRhY2gofHwgewot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJG9wKGJ5dGVzX2luLCAmbXV0IGZfb3V0 ICQoLCAkYXJncykqICkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkKLSAgICAgICAg ICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAgIEJ5dGVzVHlwZTo6 UnVzdHlCdWZmZXIoYnVmZmVyKSA9PiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxl dCBtdXQgYm9ycm93ZWQgPSBidWZmZXIuYm9ycm93X211dCgpOwotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBsZXQgbXV0IGJ1Zl9vdXQgPSAmbXV0IGJvcnJvd2VkLmlubmVyOwotLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAkcHkuYWxsb3dfdGhyZWFkcyh8fCB7Ci0rICAgICAgICAg ICAgICAgICAgICAgICAgICAgICRweS5kZXRhY2gofHwgewotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgJG9wKGJ5dGVzX2luLCAmbXV0IGJ1Zl9vdXQgJCgsICRhcmdzKSogKQotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB9KQotICAgICAgICAgICAgICAgICAgICAgICAgIH0s Ci0gICAgICAgICAgICAgICAgICAgICAgICAgXyA9PiB7Ci0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGxldCBieXRlc19vdXQgPSAkb3V0cHV0LmFzX2J5dGVzX211dCgpPzsKLS0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgJHB5LmFsbG93X3RocmVhZHMofHwgewotKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAkcHkuZGV0YWNoKHx8IHsKLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICRvcChieXRlc19pbiwgJm11dCBDdXJzb3I6Om5ldyhieXRlc19vdXQpICQoLCAk YXJncykqKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KQotICAgICAgICAgICAgICAg ICAgICAgICAgIH0KLUBAIC0zMzEsMTEgKzMzMSwxMSBAQAotICAgICAgICAgICAgICAgICAgICAg ICAgIEJ5dGVzVHlwZTo6UnVzdHlGaWxlKGYpID0+IHsKLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgbGV0IG11dCBib3Jyb3dlZCA9IGYuYm9ycm93X211dCgpOwotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBsZXQgZl9pbiA9ICZtdXQgYm9ycm93ZWQuaW5uZXI7Ci0tICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHB5LmFsbG93X3RocmVhZHMofHwgbGliY3JhbWphbTo6JGNvZGVj OjpkZWNvbXByZXNzKGZfaW4sIGlubmVyKS5tYXBfZXJyKEludG86OmludG8pKQotKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICBweS5kZXRhY2gofHwgbGliY3JhbWphbTo6JGNvZGVjOjpkZWNv bXByZXNzKGZfaW4sIGlubmVyKS5tYXBfZXJyKEludG86OmludG8pKQotICAgICAgICAgICAgICAg ICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgICAgICBfID0+IHsKLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgbGV0IGJ5dGVzID0gaW5wdXQuYXNfYnl0ZXMoKTsKLS0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgcHkuYWxsb3dfdGhyZWFkcyh8fCB7Ci0rICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHB5LmRldGFjaCh8fCB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBsaWJjcmFtamFtOjokY29kZWM6OmRlY29tcHJlc3MoJm11dCBDdXJzb3I6Om5ldyhi eXRlcyksIGlubmVyKS5tYXBfZXJyKEludG86OmludG8pCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgIH0pCi0gICAgICAgICAgICAgICAgICAgICAgICAgfQotQEAgLTM3Nyw3ICszNzcsNyBA QAotICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICBmbiBfX2NvbnRhaW5zX18oJnNlbGYsIHB5 OiBQeXRob24sIHg6IEJ5dGVzVHlwZSkgLT4gYm9vbCB7Ci0gICAgICAgICAgICAgICAgIGxldCBi eXRlcyA9IHguYXNfYnl0ZXMoKTsKLS0gICAgICAgICAgICAgICAgcHkuYWxsb3dfdGhyZWFkcyh8 fCB7Ci0rICAgICAgICAgICAgICAgIHB5LmRldGFjaCh8fCB7Ci0gICAgICAgICAgICAgICAgICAg ICBzZWxmLmlubmVyCi0gICAgICAgICAgICAgICAgICAgICAgICAgLmFzX3JlZigpCi0gICAgICAg ICAgICAgICAgICAgICAgICAgLm1hcCh8Y3wgYy5nZXRfcmVmKCkud2luZG93cyhieXRlcy5sZW4o KSkuYW55KHx3fCB3ID09IGJ5dGVzKSkKLWRpZmYgLU5hdXIgY3JhbWphbS0yLjExLjAtb3JpZ2lu YWwvc3JjL2x6NC5ycyBjcmFtamFtLTIuMTEuMC9zcmMvbHo0LnJzCi0tLS0gY3JhbWphbS0yLjEx LjAtb3JpZ2luYWwvc3JjL2x6NC5ycwkyMDI1LTA3LTI3IDIxOjQyOjA3LjAwMDAwMDAwMCArMDEw MAotKysrIGNyYW1qYW0tMi4xMS4wL3NyYy9sejQucnMJMjAyNi0wNi0xOSAyMToyNTozOS4yOTk0 NTg4MTIgKzAxMDAKLUBAIC04MSw3ICs4MSw3IEBACi0gICAgIHB1YiBmbiBkZWNvbXByZXNzX2Js b2NrKHB5OiBQeXRob24sIGRhdGE6IEJ5dGVzVHlwZSwgb3V0cHV0X2xlbjogT3B0aW9uPHVzaXpl PikgLT4gUHlSZXN1bHQ8UnVzdHlCdWZmZXI+IHsKLSAgICAgICAgIGxldCBieXRlcyA9IGRhdGEu YXNfYnl0ZXMoKTsKLSAKLS0gICAgICAgIHB5LmFsbG93X3RocmVhZHMofHwgewotKyAgICAgICAg cHkuZGV0YWNoKHx8IHsKLSAgICAgICAgICAgICBtYXRjaCBvdXRwdXRfbGVuIHsKLSAgICAgICAg ICAgICAgICAgU29tZShuKSA9PiB7Ci0gICAgICAgICAgICAgICAgICAgICBsZXQgbXV0IGJ1ZiA9 IHZlYyFbMHU4OyBuXTsKLUBAIC0xMjMsNyArMTIzLDcgQEAKLSAgICAgICAgIHN0b3JlX3NpemU6 IE9wdGlvbjxib29sPiwKLSAgICAgKSAtPiBQeVJlc3VsdDxSdXN0eUJ1ZmZlcj4gewotICAgICAg ICAgbGV0IGJ5dGVzID0gZGF0YS5hc19ieXRlcygpOwotLSAgICAgICAgcHkuYWxsb3dfdGhyZWFk cyh8fCB7Ci0rICAgICAgICBweS5kZXRhY2gofHwgewotICAgICAgICAgICAgIGxpYmNyYW1qYW06 Omx6NDo6YmxvY2s6OmNvbXByZXNzX3ZlYyhieXRlcywgY29tcHJlc3Npb24ubWFwKHx2fCB2IGFz IF8pLCBhY2NlbGVyYXRpb24sIHN0b3JlX3NpemUpCi0gICAgICAgICB9KQotICAgICAgICAgLm1h cF9lcnIoQ29tcHJlc3Npb25FcnJvcjo6ZnJvbV9lcnIpCi1AQCAtMTYwLDcgKzE2MCw3IEBACi0g ICAgICAgICB9Ci0gCi0gICAgICAgICBsZXQgb3V0X2J5dGVzID0gb3V0cHV0LmFzX2J5dGVzX211 dCgpPzsKLS0gICAgICAgIHB5LmFsbG93X3RocmVhZHMoCi0rICAgICAgICBweS5kZXRhY2goCi0g ICAgICAgICAgICAgfHwgbWF0Y2ggbGliY3JhbWphbTo6bHo0OjpibG9jazo6ZGVjb21wcmVzc19p bnRvKGJ5dGVzLCBvdXRfYnl0ZXMsIFNvbWUoc2l6ZV9zdG9yZWQpKSB7Ci0gICAgICAgICAgICAg ICAgIE9rKHIpID0+IE9rKHIpLAotICAgICAgICAgICAgICAgICAvLyBGYWxsYmFjayBhbmQgdHJ5 IG5lZ2F0aW9uIG9mIHN0b3JlZCBzaXplLCBpbmNhc2Ugd2UvdGhleSBnb3QgaXQgd3Jvbmc7Ci1A QCAtMjAyLDcgKzIwMiw3IEBACi0gICAgICkgLT4gUHlSZXN1bHQ8dXNpemU+IHsKLSAgICAgICAg IGxldCBieXRlcyA9IGRhdGEuYXNfYnl0ZXMoKTsKLSAgICAgICAgIGxldCBvdXRfYnl0ZXMgPSBv dXRwdXQuYXNfYnl0ZXNfbXV0KCk/OwotLSAgICAgICAgcHkuYWxsb3dfdGhyZWFkcyh8fCB7Ci0r ICAgICAgICBweS5kZXRhY2gofHwgewotICAgICAgICAgICAgIGxpYmNyYW1qYW06Omx6NDo6Ymxv Y2s6OmNvbXByZXNzX2ludG8oCi0gICAgICAgICAgICAgICAgIGJ5dGVzLAotICAgICAgICAgICAg ICAgICBvdXRfYnl0ZXMsCi1kaWZmIC1OYXVyIGNyYW1qYW0tMi4xMS4wLW9yaWdpbmFsL3NyYy9z bmFwcHkucnMgY3JhbWphbS0yLjExLjAvc3JjL3NuYXBweS5ycwotLS0tIGNyYW1qYW0tMi4xMS4w LW9yaWdpbmFsL3NyYy9zbmFwcHkucnMJMjAyNS0wNy0yNyAyMTo0MjowNy4wMDAwMDAwMDAgKzAx MDAKLSsrKyBjcmFtamFtLTIuMTEuMC9zcmMvc25hcHB5LnJzCTIwMjYtMDYtMTkgMjE6MjU6Mzku Mjk5NTUxOTYzICswMTAwCi1AQCAtNTQsNyArNTQsNyBAQAotICAgICAjW3B5bzMoc2lnbmF0dXJl ID0gKGRhdGEsIG91dHB1dF9sZW49Tm9uZSkpXQotICAgICBwdWIgZm4gZGVjb21wcmVzc19yYXco cHk6IFB5dGhvbiwgZGF0YTogQnl0ZXNUeXBlLCBvdXRwdXRfbGVuOiBPcHRpb248dXNpemU+KSAt PiBQeVJlc3VsdDxSdXN0eUJ1ZmZlcj4gewotICAgICAgICAgbGV0IGJ5dGVzID0gZGF0YS5hc19i eXRlcygpOwotLSAgICAgICAgcHkuYWxsb3dfdGhyZWFkcyh8fCBsaWJjcmFtamFtOjpzbmFwcHk6 OnJhdzo6ZGVjb21wcmVzc192ZWMoYnl0ZXMpKQotKyAgICAgICAgcHkuZGV0YWNoKHx8IGxpYmNy YW1qYW06OnNuYXBweTo6cmF3OjpkZWNvbXByZXNzX3ZlYyhieXRlcykpCi0gICAgICAgICAgICAg Lm1hcF9lcnIoRGVjb21wcmVzc2lvbkVycm9yOjpmcm9tX2VycikKLSAgICAgICAgICAgICAubWFw KEZyb206OmZyb20pCi0gICAgIH0KLUBAIC03Miw3ICs3Miw3IEBACi0gICAgICNbcHlvMyhzaWdu YXR1cmUgPSAoZGF0YSwgb3V0cHV0X2xlbj1Ob25lKSldCi0gICAgIHB1YiBmbiBjb21wcmVzc19y YXcocHk6IFB5dGhvbiwgZGF0YTogQnl0ZXNUeXBlLCBvdXRwdXRfbGVuOiBPcHRpb248dXNpemU+ KSAtPiBQeVJlc3VsdDxSdXN0eUJ1ZmZlcj4gewotICAgICAgICAgbGV0IGJ5dGVzID0gZGF0YS5h c19ieXRlcygpOwotLSAgICAgICAgcHkuYWxsb3dfdGhyZWFkcyh8fCBsaWJjcmFtamFtOjpzbmFw cHk6OnJhdzo6Y29tcHJlc3NfdmVjKGJ5dGVzKSkKLSsgICAgICAgIHB5LmRldGFjaCh8fCBsaWJj cmFtamFtOjpzbmFwcHk6OnJhdzo6Y29tcHJlc3NfdmVjKGJ5dGVzKSkKLSAgICAgICAgICAgICAu bWFwX2VycihDb21wcmVzc2lvbkVycm9yOjpmcm9tX2VycikKLSAgICAgICAgICAgICAubWFwKEZy b206OmZyb20pCi0gICAgIH0KLUBAIC05NCw3ICs5NCw3IEBACi0gICAgIHB1YiBmbiBjb21wcmVz c19yYXdfaW50byhweTogUHl0aG9uLCBpbnB1dDogQnl0ZXNUeXBlLCBtdXQgb3V0cHV0OiBCeXRl c1R5cGUpIC0+IFB5UmVzdWx0PHVzaXplPiB7Ci0gICAgICAgICBsZXQgYnl0ZXNfaW4gPSBpbnB1 dC5hc19ieXRlcygpOwotICAgICAgICAgbGV0IGJ5dGVzX291dCA9IG91dHB1dC5hc19ieXRlc19t dXQoKT87Ci0tICAgICAgICBweS5hbGxvd190aHJlYWRzKHx8IGxpYmNyYW1qYW06OnNuYXBweTo6 cmF3Ojpjb21wcmVzcyhieXRlc19pbiwgYnl0ZXNfb3V0KSkKLSsgICAgICAgIHB5LmRldGFjaCh8 fCBsaWJjcmFtamFtOjpzbmFwcHk6OnJhdzo6Y29tcHJlc3MoYnl0ZXNfaW4sIGJ5dGVzX291dCkp Ci0gICAgICAgICAgICAgLm1hcF9lcnIoQ29tcHJlc3Npb25FcnJvcjo6ZnJvbV9lcnIpCi0gICAg IH0KLSAKLUBAIC0xMDMsNyArMTAzLDcgQEAKLSAgICAgcHViIGZuIGRlY29tcHJlc3NfcmF3X2lu dG8ocHk6IFB5dGhvbiwgaW5wdXQ6IEJ5dGVzVHlwZSwgbXV0IG91dHB1dDogQnl0ZXNUeXBlKSAt PiBQeVJlc3VsdDx1c2l6ZT4gewotICAgICAgICAgbGV0IGJ5dGVzX2luID0gaW5wdXQuYXNfYnl0 ZXMoKTsKLSAgICAgICAgIGxldCBieXRlc19vdXQgPSBvdXRwdXQuYXNfYnl0ZXNfbXV0KCk/Owot LSAgICAgICAgcHkuYWxsb3dfdGhyZWFkcyh8fCBsaWJjcmFtamFtOjpzbmFwcHk6OnJhdzo6ZGVj b21wcmVzcyhieXRlc19pbiwgYnl0ZXNfb3V0KSkKLSsgICAgICAgIHB5LmRldGFjaCh8fCBsaWJj cmFtamFtOjpzbmFwcHk6OnJhdzo6ZGVjb21wcmVzcyhieXRlc19pbiwgYnl0ZXNfb3V0KSkKLSAg ICAgICAgICAgICAubWFwX2VycihEZWNvbXByZXNzaW9uRXJyb3I6OmZyb21fZXJyKQotICAgICB9 Ci0gCi1kaWZmIC1OYXVyIGNyYW1qYW0tMi4xMS4wLW9yaWdpbmFsL3NyYy94ei5ycyBjcmFtamFt LTIuMTEuMC9zcmMveHoucnMKLS0tLSBjcmFtamFtLTIuMTEuMC1vcmlnaW5hbC9zcmMveHoucnMJ MjAyNS0wNy0yNyAyMTo0MjowNy4wMDAwMDAwMDAgKzAxMDAKLSsrKyBjcmFtamFtLTIuMTEuMC9z cmMveHoucnMJMjAyNi0wNi0xOSAyMToyNTozOS4yOTk2MzAyNjUgKzAxMDAKLUBAIC0xMzAsNyAr MTMwLDcgQEAKLSAKLSAgICAgLy8vIEF2YWlsYWJsZSBGaWx0ZXIgSURzCi0gICAgICNbZGVyaXZl KENsb25lLCBEZWJ1ZywgUGFydGlhbEVxKV0KLS0gICAgI1tweWNsYXNzKGVxLCBlcV9pbnQpXQot KyAgICAjW3B5Y2xhc3MoZXEsIGVxX2ludCwgZnJvbV9weV9vYmplY3QpXQotICAgICAjW2FsbG93 KG1pc3NpbmdfZG9jcyldCi0gICAgIHB1YiBlbnVtIEZpbHRlciB7Ci0gICAgICAgICBBcm0sCi1A QCAtMTUwLDcgKzE1MCw3IEBACi0gCi0gICAgIC8vLyBNYXRjaEZpbmRlciwgdXNlZCB3aXRoIE9w dGlvbnMubWYgYXR0cmlidXRlCi0gICAgICNbZGVyaXZlKENsb25lLCBEZWJ1ZywgUGFydGlhbEVx KV0KLS0gICAgI1tweWNsYXNzKGVxLCBlcV9pbnQpXQotKyAgICAjW3B5Y2xhc3MoZXEsIGVxX2lu dCwgZnJvbV9weV9vYmplY3QpXQotICAgICAjW2FsbG93KG1pc3NpbmdfZG9jcyldCi0gICAgIHB1 YiBlbnVtIE1hdGNoRmluZGVyIHsKLSAgICAgICAgIEhhc2hDaGFpbjMsCi1AQCAtMTc0LDcgKzE3 NCw3IEBACi0gCi0gICAgIC8vLyBNYXRjaEZpbmRlciwgdXNlZCB3aXRoIE9wdGlvbnMubW9kZSBh dHRyaWJ1dGUKLSAgICAgI1tkZXJpdmUoQ2xvbmUsIERlYnVnLCBQYXJ0aWFsRXEpXQotLSAgICAj W3B5Y2xhc3MoZXEsIGVxX2ludCldCi0rICAgICNbcHljbGFzcyhlcSwgZXFfaW50LCBmcm9tX3B5 X29iamVjdCldCi0gICAgICNbYWxsb3cobWlzc2luZ19kb2NzKV0KLSAgICAgcHViIGVudW0gTW9k ZSB7Ci0gICAgICAgICBGYXN0LAotQEAgLTE5Miw3ICsxOTIsNyBAQAotICAgICAvLy8gRmlsdGVy Q2hhaW4sIHNpbWlsYXIgdG8gdGhlIGRlZmF1bHQgUHl0aG9uIFhaIGZpbHRlciBjaGFpbiB3aGlj aCBpcyBhIGxpc3Qgb2YKLSAgICAgLy8vIGRpY3RzLgotICAgICAjW2Rlcml2ZShEZWJ1ZywgQ2xv bmUpXQotLSAgICAjW3B5Y2xhc3NdCi0rICAgICNbcHljbGFzcyhmcm9tX3B5X29iamVjdCldCi0g ICAgIHB1YiBzdHJ1Y3QgRmlsdGVyQ2hhaW4oVmVjPEZpbHRlckNoYWluSXRlbT4pOwotIAotICAg ICAjW3B5bWV0aG9kc10KLUBAIC0yMjksNyArMjI5LDcgQEAKLSAgICAgLy8vIEZpbHRlckNoYWlu SXRlbS4gSW4gUHl0aG9uJ3MgbHptYSBtb2R1bGUsIHRoaXMgcmVwcmVzZW50cyBhIHNpbmdsZSBk aWN0IGluIHRoZQotICAgICAvLy8gZmlsdGVyIGNoYWluIGxpc3QuIFRvIGJlIGFkZGVkIHRvIHRo ZSBgRmlsdGVyQ2hhaW5gCi0gICAgICNbZGVyaXZlKENsb25lLCBEZWJ1ZywgRGVmYXVsdCldCi0t ICAgICNbcHljbGFzc10KLSsgICAgI1tweWNsYXNzKGZyb21fcHlfb2JqZWN0KV0KLSAgICAgcHVi IHN0cnVjdCBGaWx0ZXJDaGFpbkl0ZW0gewotICAgICAgICAgZmlsdGVyOiBGaWx0ZXIsCi0gICAg ICAgICBvcHRpb25zOiBPcHRpb25zLAotQEAgLTI1MCw3ICsyNTAsNyBAQAotIAotICAgICAvLy8K LSAgICAgI1tkZXJpdmUoQ2xvbmUsIERlYnVnLCBEZWZhdWx0KV0KLS0gICAgI1tweWNsYXNzXQot KyAgICAjW3B5Y2xhc3MoZnJvbV9weV9vYmplY3QpXQotICAgICBwdWIgc3RydWN0IE9wdGlvbnMg ewotICAgICAgICAgcHJlc2V0OiBPcHRpb248dTMyPiwKLSAgICAgICAgIGRpY3Rfc2l6ZTogT3B0 aW9uPHUzMj4sCi1AQCAtMzMxLDcgKzMzMSw3IEBACi0gCi0gICAgIC8vLyBQb3NzaWJsZSBmb3Jt YXRzCi0gICAgICNbZGVyaXZlKENsb25lLCBEZWJ1ZywgUGFydGlhbEVxKV0KLS0gICAgI1tweWNs YXNzKGVxLCBlcV9pbnQpXQotKyAgICAjW3B5Y2xhc3MoZXEsIGVxX2ludCwgZnJvbV9weV9vYmpl Y3QpXQotICAgICBwdWIgZW51bSBGb3JtYXQgewotICAgICAgICAgLy8vIEF1dG8gc2VsZWN0IHRo ZSBmb3JtYXQsIGZvciBjb21wcmVzc2lvbiB0aGlzIGlzIFhaLAotICAgICAgICAgLy8vIGZvciBk ZWNvbXByZXNzaW9uIGl0IHdpbGwgYmUgZGV0ZXJtaW5lZCBieSB0aGUgY29tcHJlc3NlZCBpbnB1 dC4KLUBAIC0zNjIsNyArMzYyLDcgQEAKLSAKLSAgICAgLy8vIFBvc3NpYmxlIENoZWNrIGNvbmZp Z3VyYXRpb25zCi0gICAgICNbZGVyaXZlKERlYnVnLCBDbG9uZSwgUGFydGlhbEVxKV0KLS0gICAg I1tweWNsYXNzKGVxLCBlcV9pbnQpXQotKyAgICAjW3B5Y2xhc3MoZXEsIGVxX2ludCwgZnJvbV9w eV9vYmplY3QpXQotICAgICAjW2FsbG93KG1pc3NpbmdfZG9jcyldCi0gICAgIHB1YiBlbnVtIENo ZWNrIHsKLSAgICAgICAgIENyYzY0LAoKZGlmZiAtLWdpdCBhL2NyYW1qYW0tMi4xMS4wLXB5bzMt MC4yOS5wYXRjaCBiL2NyYW1qYW0tMi4xMS4wLXB5bzMtMC4yOS5wYXRjaApuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwLi44ODdhZDY0Ci0tLSAvZGV2L251bGwKKysrIGIvY3JhbWph bS0yLjExLjAtcHlvMy0wLjI5LnBhdGNoCkBAIC0wLDAgKzEsMzY4IEBACitkaWZmIC1OYXVyIGNy YW1qYW0tMi4xMS4wLW9yaWdpbmFsL0NhcmdvLnRvbWwgY3JhbWphbS0yLjExLjAvQ2FyZ28udG9t bAorLS0tIGNyYW1qYW0tMi4xMS4wLW9yaWdpbmFsL0NhcmdvLnRvbWwJMTk3MC0wMS0wMSAwMTow MDowMC4wMDAwMDAwMDAgKzAxMDAKKysrKyBjcmFtamFtLTIuMTEuMC9DYXJnby50b21sCTIwMjYt MDYtMTkgMjE6MjU6MzkuMjk4Nzc0NzMyICswMTAwCitAQCAtNzEsMTEgKzcxLDExIEBACisgCisg CisgW2RlcGVuZGVuY2llc10KKy1weW8zID0geyB2ZXJzaW9uID0gIl4wLjI1IiwgZGVmYXVsdC1m ZWF0dXJlcyA9IGZhbHNlLCBmZWF0dXJlcyA9IFsibWFjcm9zIl0gfQorK3B5bzMgPSB7IHZlcnNp b24gPSAiXjAuMjkiLCBkZWZhdWx0LWZlYXR1cmVzID0gZmFsc2UsIGZlYXR1cmVzID0gWyJtYWNy b3MiXSB9CisgbGliY3JhbWphbSA9IHsgdmVyc2lvbiA9ICJeMC44IiwgZGVmYXVsdC1mZWF0dXJl cyA9IGZhbHNlIH0KKyAKKyBbYnVpbGQtZGVwZW5kZW5jaWVzXQorLXB5bzMtYnVpbGQtY29uZmln ID0gIl4wLjI1IgorK3B5bzMtYnVpbGQtY29uZmlnID0gIl4wLjI5IgorIAorIFtwcm9maWxlLnJl bGVhc2VdCisgc3RyaXAgPSB0cnVlCitkaWZmIC1OYXVyIGNyYW1qYW0tMi4xMS4wLW9yaWdpbmFs L3B5cHJvamVjdC50b21sIGNyYW1qYW0tMi4xMS4wL3B5cHJvamVjdC50b21sCistLS0gY3JhbWph bS0yLjExLjAtb3JpZ2luYWwvcHlwcm9qZWN0LnRvbWwJMjAyNS0wNy0yNyAyMTo0MjowNy4wMDAw MDAwMDAgKzAxMDAKKysrKyBjcmFtamFtLTIuMTEuMC9weXByb2plY3QudG9tbAkyMDI2LTA2LTE5 IDIxOjI1OjU2LjU3Mjk2MTY0NyArMDEwMAorQEAgLTIsNyArMiw3IEBACisgbmFtZSA9ICJjcmFt amFtIgorIHZlcnNpb24gPSAiMi4xMS4wIgorIGtleXdvcmRzID0gWyJjb21wcmVzc2lvbiIsICJk ZWNvbXByZXNzaW9uIiwgInNuYXBweSIsICJ6c3RkIiwgImJ6MiIsICJnemlwIiwgImx6NCIsICJi cm90bGkiLCAiZGVmbGF0ZSIsICJibG9zYzIiXQorLXJlcXVpcmVzLXB5dGhvbiA9ICI+PTMuOCIK KytyZXF1aXJlcy1weXRob24gPSAiPj0zLjExIgorIGxpY2Vuc2UgPSB7IGZpbGUgPSAiTElDRU5T RSIgfQorIAorIFtwcm9qZWN0LnVybHNdCitkaWZmIC1OYXVyIGNyYW1qYW0tMi4xMS4wLW9yaWdp bmFsL3NyYy9ibG9zYzIucnMgY3JhbWphbS0yLjExLjAvc3JjL2Jsb3NjMi5ycworLS0tIGNyYW1q YW0tMi4xMS4wLW9yaWdpbmFsL3NyYy9ibG9zYzIucnMJMjAyNS0wNy0yNyAyMTo0MjowNy4wMDAw MDAwMDAgKzAxMDAKKysrKyBjcmFtamFtLTIuMTEuMC9zcmMvYmxvc2MyLnJzCTIwMjYtMDYtMTkg MjE6MjU6MzkuMjk4OTk0NjA1ICswMTAwCitAQCAtMTQzLDcgKzE0Myw3IEBACisgICAgIHB1YiBm biBkZWNvbXByZXNzX2NodW5rKHB5OiBQeXRob24sIGRhdGE6IEJ5dGVzVHlwZSwgb3V0cHV0X2xl bjogT3B0aW9uPHVzaXplPikgLT4gUHlSZXN1bHQ8UnVzdHlCdWZmZXI+IHsKKyAgICAgICAgIGxl dCBieXRlcyA9IGRhdGEuYXNfYnl0ZXMoKTsKKyAgICAgICAgIGxldCBidWYgPSBweQorLSAgICAg ICAgICAgIC5hbGxvd190aHJlYWRzKHx8IGxpYmNyYW1qYW06OmJsb3NjMjo6ZGVjb21wcmVzc19j aHVuayhieXRlcykpCisrICAgICAgICAgICAgLmRldGFjaCh8fCBsaWJjcmFtamFtOjpibG9zYzI6 OmRlY29tcHJlc3NfY2h1bmsoYnl0ZXMpKQorICAgICAgICAgICAgIC5tYXAoUnVzdHlCdWZmZXI6 OmZyb20pPzsKKyAgICAgICAgIE9rKGJ1ZikKKyAgICAgfQorQEAgLTE1Myw3ICsxNTMsNyBAQAor ICAgICBwdWIgZm4gZGVjb21wcmVzc19jaHVua19pbnRvKHB5OiBQeXRob24sIGlucHV0OiBCeXRl c1R5cGUsIG11dCBvdXRwdXQ6IEJ5dGVzVHlwZSkgLT4gUHlSZXN1bHQ8dXNpemU+IHsKKyAgICAg ICAgIGxldCBieXRlcyA9IGlucHV0LmFzX2J5dGVzKCk7CisgICAgICAgICBsZXQgb3V0ID0gb3V0 cHV0LmFzX2J5dGVzX211dCgpPzsKKy0gICAgICAgIGxldCBuYnl0ZXMgPSBweS5hbGxvd190aHJl YWRzKHx8IGxpYmNyYW1qYW06OmJsb3NjMjo6ZGVjb21wcmVzc19jaHVua19pbnRvKGJ5dGVzLCBv dXQpKT87CisrICAgICAgICBsZXQgbmJ5dGVzID0gcHkuZGV0YWNoKHx8IGxpYmNyYW1qYW06OmJs b3NjMjo6ZGVjb21wcmVzc19jaHVua19pbnRvKGJ5dGVzLCBvdXQpKT87CisgICAgICAgICBPayhu Ynl0ZXMpCisgICAgIH0KKyAKK0BAIC0xNzYsNyArMTc2LDcgQEAKKyAgICAgICAgIGNvZGVjOiBP cHRpb248UHlDb2RlYz4sCisgICAgICkgLT4gUHlSZXN1bHQ8UnVzdHlCdWZmZXI+IHsKKyAgICAg ICAgIGxldCBieXRlcyA9IGRhdGEuYXNfYnl0ZXMoKTsKKy0gICAgICAgIHB5LmFsbG93X3RocmVh ZHMofHwgeworKyAgICAgICAgcHkuZGV0YWNoKHx8IHsKKyAgICAgICAgICAgICBsZXQgY2xldmVs ID0gY2xldmVsLm1hcChJbnRvOjppbnRvKTsKKyAgICAgICAgICAgICBsZXQgZmlsdGVyID0gZmls dGVyLm1hcChJbnRvOjppbnRvKTsKKyAgICAgICAgICAgICBsZXQgY29kZWMgPSBjb2RlYy5tYXAo SW50bzo6aW50byk7CitAQCAtMjAwLDcgKzIwMCw3IEBACisgICAgICkgLT4gUHlSZXN1bHQ8dXNp emU+IHsKKyAgICAgICAgIGxldCBieXRlcyA9IGlucHV0LmFzX2J5dGVzKCk7CisgICAgICAgICBs ZXQgb3V0ID0gb3V0cHV0LmFzX2J5dGVzX211dCgpPzsKKy0gICAgICAgIHB5LmFsbG93X3RocmVh ZHMofHwgeworKyAgICAgICAgcHkuZGV0YWNoKHx8IHsKKyAgICAgICAgICAgICBsZXQgY2xldmVs ID0gY2xldmVsLm1hcChJbnRvOjppbnRvKTsKKyAgICAgICAgICAgICBsZXQgZmlsdGVyID0gZmls dGVyLm1hcChJbnRvOjppbnRvKTsKKyAgICAgICAgICAgICBsZXQgY29kZWMgPSBjb2RlYy5tYXAo SW50bzo6aW50byk7CitkaWZmIC1OYXVyIGNyYW1qYW0tMi4xMS4wLW9yaWdpbmFsL3NyYy9pby5y cyBjcmFtamFtLTIuMTEuMC9zcmMvaW8ucnMKKy0tLSBjcmFtamFtLTIuMTEuMC1vcmlnaW5hbC9z cmMvaW8ucnMJMjAyNS0wNy0yNyAyMTo0MjowNy4wMDAwMDAwMDAgKzAxMDAKKysrKyBjcmFtamFt LTIuMTEuMC9zcmMvaW8ucnMJMjAyNi0wNi0xOSAyMToyNTozOS4yOTkxNjI1ODcgKzAxMDAKK0BA IC0xNCw3ICsxNCw2IEBACisgdXNlIHB5bzM6OmZmaTsKKyB1c2UgcHlvMzo6cHJlbHVkZTo6KjsK KyB1c2UgcHlvMzo6dHlwZXM6OlB5Qnl0ZXM7CistdXNlIHB5bzM6OkludG9QeU9iamVjdEV4dDsK KyB1c2Ugc3RkOjpwYXRoOjpQYXRoQnVmOworIAorIHB1YihjcmF0ZSkgdHJhaXQgQXNCeXRlcyB7 CitAQCAtMjEwLDcgKzIwOSw3IEBACisgICAgIHB1YiBmbiBhc19zbGljZV9tdXQoJm11dCBzZWxm KSAtPiBQeVJlc3VsdDwmbXV0IFt1OF0+IHsKKyAgICAgICAgICNbY2ZnKGFueShQeVB5LCBQeV9H SUxfRElTQUJMRUQpKV0KKyAgICAgICAgIHsKKy0gICAgICAgICAgICBQeXRob246OndpdGhfZ2ls KHxweXwgeworKyAgICAgICAgICAgIFB5dGhvbjo6YXR0YWNoKHxweXwgeworICAgICAgICAgICAg ICAgICBsZXQgaXNfbWVtb3J5dmlldyA9IHVuc2FmZSB7IGZmaTo6UHlNZW1vcnlWaWV3X0NoZWNr KHNlbGYub3duZXIuYXNfcHRyKCkpIH0gPT0gMTsKKyAgICAgICAgICAgICAgICAgaWYgaXNfbWVt b3J5dmlldyB8fCBzZWxmLm93bmVyLmJpbmQocHkpLmlzX2luc3RhbmNlX29mOjo8UHlCeXRlcz4o KSB7CisgICAgICAgICAgICAgICAgICAgICAjW2NmZyhQeVB5KV0KK0BAIC0yNjAsMTMgKzI1OSwx NCBAQAorIAorIGltcGwgRHJvcCBmb3IgUHl0aG9uQnVmZmVyIHsKKyAgICAgZm4gZHJvcCgmbXV0 IHNlbGYpIHsKKy0gICAgICAgIFB5dGhvbjo6d2l0aF9naWwofF98IHVuc2FmZSB7IGZmaTo6UHlC dWZmZXJfUmVsZWFzZSgmbXV0ICpzZWxmLmlubmVyKSB9KQorKyAgICAgICAgUHl0aG9uOjphdHRh Y2gofF98IHVuc2FmZSB7IGZmaTo6UHlCdWZmZXJfUmVsZWFzZSgmbXV0ICpzZWxmLmlubmVyKSB9 KQorICAgICB9CisgfQorIAorLWltcGw8J3B5PiBGcm9tUHlPYmplY3Q8J3B5PiBmb3IgUHl0aG9u QnVmZmVyIHsKKy0gICAgZm4gZXh0cmFjdF9ib3VuZChvYmo6ICZCb3VuZDwncHksIFB5QW55Pikg LT4gUHlSZXN1bHQ8U2VsZj4geworLSAgICAgICAgU2VsZjo6dHJ5X2Zyb20ob2JqKQorK2ltcGw8 J2EsICdweT4gRnJvbVB5T2JqZWN0PCdhLCAncHk+IGZvciBQeXRob25CdWZmZXIgeworKyAgICB0 eXBlIEVycm9yID0gUHlFcnI7CisrICAgIGZuIGV4dHJhY3Qob2JqOiBCb3Jyb3dlZDwnYSwgJ3B5 LCBQeUFueT4pIC0+IFB5UmVzdWx0PFNlbGY+IHsKKysgICAgICAgIFNlbGY6OnRyeV9mcm9tKCYq b2JqKQorICAgICB9CisgfQorIAorQEAgLTI4NSw3ICsyODUsNyBAQAorICAgICAgICAgICAgIGlu bmVyOiBzdGQ6OnBpbjo6UGluOjpmcm9tKGJ1ZiksCisgICAgICAgICAgICAgcG9zOiAwLAorICAg ICAgICAgICAgICNbY2ZnKGFueShQeVB5LCBQeV9HSUxfRElTQUJMRUQpKV0KKy0gICAgICAgICAg ICBvd25lcjogUHl0aG9uOjp3aXRoX2dpbCh8cHl8IG9iai5pbnRvX3B5X2FueShweSkudW53cmFw KCkpLAorKyAgICAgICAgICAgIG93bmVyOiBvYmouY2xvbmUoKS51bmJpbmQoKSwKKyAgICAgICAg IH07CisgICAgICAgICAvLyBzYW5pdHkgY2hlY2tzCisgICAgICAgICBpZiBidWYuaW5uZXIuc2hh cGUuaXNfbnVsbCgpIHsKK0BAIC02MjksNyArNjI5LDcgQEAKKyAgICAgfQorICAgICBmbiBfX2Nv bnRhaW5zX18oJnNlbGYsIHB5OiBQeXRob24sIHg6IEJ5dGVzVHlwZSkgLT4gYm9vbCB7CisgICAg ICAgICBsZXQgYnl0ZXMgPSB4LmFzX2J5dGVzKCk7CistICAgICAgICBweS5hbGxvd190aHJlYWRz KHx8IHNlbGYuaW5uZXIuZ2V0X3JlZigpLndpbmRvd3MoYnl0ZXMubGVuKCkpLmFueSh8d3wgdyA9 PSBieXRlcykpCisrICAgICAgICBweS5kZXRhY2gofHwgc2VsZi5pbm5lci5nZXRfcmVmKCkud2lu ZG93cyhieXRlcy5sZW4oKSkuYW55KHx3fCB3ID09IGJ5dGVzKSkKKyAgICAgfQorICAgICBmbiBf X3JlcHJfXygmbXV0IHNlbGYsIHB5OiBQeXRob24pIC0+IFB5UmVzdWx0PFN0cmluZz4geworICAg ICAgICAgT2soZm9ybWF0ISgiY3JhbWphbS5CdWZmZXI8bGVuPXs6P30+Iiwgc2VsZi5sZW4ocHkp PykpCitkaWZmIC1OYXVyIGNyYW1qYW0tMi4xMS4wLW9yaWdpbmFsL3NyYy9saWIucnMgY3JhbWph bS0yLjExLjAvc3JjL2xpYi5ycworLS0tIGNyYW1qYW0tMi4xMS4wLW9yaWdpbmFsL3NyYy9saWIu cnMJMjAyNS0wNy0yNyAyMTo0MjowNy4wMDAwMDAwMDAgKzAxMDAKKysrKyBjcmFtamFtLTIuMTEu MC9zcmMvbGliLnJzCTIwMjYtMDYtMTkgMjE6MjU6MzkuMjk5MzIxNDUwICswMTAwCitAQCAtMjIy LDEzICsyMjIsMTMgQEAKKyAgICAgICAgICAgICAgICAgQnl0ZXNUeXBlOjpSdXN0eUZpbGUoZikg PT4geworICAgICAgICAgICAgICAgICAgICAgbGV0IGJvcnJvd2VkID0gZi5ib3Jyb3coKTsKKyAg ICAgICAgICAgICAgICAgICAgIGxldCBmaWxlID0gJmJvcnJvd2VkLmlubmVyOworLSAgICAgICAg ICAgICAgICAgICAgJHB5LmFsbG93X3RocmVhZHMofHwgeworKyAgICAgICAgICAgICAgICAgICAg JHB5LmRldGFjaCh8fCB7CisgICAgICAgICAgICAgICAgICAgICAgICAgJG9wKGZpbGUsICZtdXQg Q3Vyc29yOjpuZXcoJm11dCBvdXRwdXQpICQoLCAkYXJncykqICkKKyAgICAgICAgICAgICAgICAg ICAgIH0pCisgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgIF8gPT4geworICAg ICAgICAgICAgICAgICAgICAgbGV0IGJ5dGVzID0gJGlucHV0LmFzX2J5dGVzKCk7CistICAgICAg ICAgICAgICAgICAgICAkcHkuYWxsb3dfdGhyZWFkcyh8fCB7CisrICAgICAgICAgICAgICAgICAg ICAkcHkuZGV0YWNoKHx8IHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAkb3AoYnl0ZXMsICZt dXQgQ3Vyc29yOjpuZXcoJm11dCBvdXRwdXQpICQoLCAkYXJncykqICkKKyAgICAgICAgICAgICAg ICAgICAgIH0pCisgICAgICAgICAgICAgICAgIH0KK0BAIC0yNDYsMjAgKzI0NiwyMCBAQAorICAg ICAgICAgICAgICAgICAgICAgICAgIEJ5dGVzVHlwZTo6UnVzdHlGaWxlKGYpID0+IHsKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgbGV0IG11dCBib3Jyb3dlZCA9IGYuYm9ycm93X211dCgp OworICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgbXV0IGZfb3V0ID0gJm11dCBib3Jy b3dlZC5pbm5lcjsKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgJHB5LmFsbG93X3RocmVh ZHMofHwgeworKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcHkuZGV0YWNoKHx8IHsKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRvcChmX2luLCAmbXV0IGZfb3V0ICQoLCAk YXJncykqICkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkKKyAgICAgICAgICAgICAg ICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICAgICAgICAgIEJ5dGVzVHlwZTo6UnVzdHlC dWZmZXIoYnVmZmVyKSA9PiB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBtdXQg Ym9ycm93ZWQgPSBidWZmZXIuYm9ycm93X211dCgpOworICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBsZXQgbXV0IGJ1Zl9vdXQgPSAmbXV0IGJvcnJvd2VkLmlubmVyOworLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAkcHkuYWxsb3dfdGhyZWFkcyh8fCB7CisrICAgICAgICAgICAgICAg ICAgICAgICAgICAgICRweS5kZXRhY2gofHwgeworICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgJG9wKGZfaW4sICZtdXQgYnVmX291dCAkKCwgJGFyZ3MpKiApCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIH0pCisgICAgICAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAg ICAgICAgICAgICAgICAgICBfID0+IHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0 IGJ5dGVzX291dCA9ICRvdXRwdXQuYXNfYnl0ZXNfbXV0KCk/OworLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAkcHkuYWxsb3dfdGhyZWFkcyh8fCB7CisrICAgICAgICAgICAgICAgICAgICAg ICAgICAgICRweS5kZXRhY2gofHwgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg JG9wKGZfaW4sICZtdXQgQ3Vyc29yOjpuZXcoYnl0ZXNfb3V0KSAkKCwgJGFyZ3MpKiApCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIH0pCisgICAgICAgICAgICAgICAgICAgICAgICAgfQor QEAgLTI3MSwyMCArMjcxLDIwIEBACisgICAgICAgICAgICAgICAgICAgICAgICAgQnl0ZXNUeXBl OjpSdXN0eUZpbGUoZikgPT4geworICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgbXV0 IGJvcnJvd2VkID0gZi5ib3Jyb3dfbXV0KCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGxldCBtdXQgZl9vdXQgPSAmbXV0IGJvcnJvd2VkLmlubmVyOworLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAkcHkuYWxsb3dfdGhyZWFkcyh8fCB7CisrICAgICAgICAgICAgICAgICAgICAg ICAgICAgICRweS5kZXRhY2gofHwgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg JG9wKGJ5dGVzX2luLCAmbXV0IGZfb3V0ICQoLCAkYXJncykqICkKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfSkKKyAgICAgICAgICAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAg ICAgICAgICAgICAgIEJ5dGVzVHlwZTo6UnVzdHlCdWZmZXIoYnVmZmVyKSA9PiB7CisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGxldCBtdXQgYm9ycm93ZWQgPSBidWZmZXIuYm9ycm93X211 dCgpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgbXV0IGJ1Zl9vdXQgPSAmbXV0 IGJvcnJvd2VkLmlubmVyOworLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcHkuYWxsb3df dGhyZWFkcyh8fCB7CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICRweS5kZXRhY2gofHwg eworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJG9wKGJ5dGVzX2luLCAmbXV0IGJ1 Zl9vdXQgJCgsICRhcmdzKSogKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KQorICAg ICAgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgICAgICAgXyA9PiB7 CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBieXRlc19vdXQgPSAkb3V0cHV0LmFz X2J5dGVzX211dCgpPzsKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgJHB5LmFsbG93X3Ro cmVhZHMofHwgeworKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcHkuZGV0YWNoKHx8IHsK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRvcChieXRlc19pbiwgJm11dCBDdXJz b3I6Om5ldyhieXRlc19vdXQpICQoLCAkYXJncykqKQorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB9KQorICAgICAgICAgICAgICAgICAgICAgICAgIH0KK0BAIC0zMzEsMTEgKzMzMSwxMSBA QAorICAgICAgICAgICAgICAgICAgICAgICAgIEJ5dGVzVHlwZTo6UnVzdHlGaWxlKGYpID0+IHsK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IG11dCBib3Jyb3dlZCA9IGYuYm9ycm93 X211dCgpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgZl9pbiA9ICZtdXQgYm9y cm93ZWQuaW5uZXI7CistICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB5LmFsbG93X3RocmVh ZHMofHwgbGliY3JhbWphbTo6JGNvZGVjOjpkZWNvbXByZXNzKGZfaW4sIGlubmVyKS5tYXBfZXJy KEludG86OmludG8pKQorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBweS5kZXRhY2gofHwg bGliY3JhbWphbTo6JGNvZGVjOjpkZWNvbXByZXNzKGZfaW4sIGlubmVyKS5tYXBfZXJyKEludG86 OmludG8pKQorICAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAg ICAgICBfID0+IHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGJ5dGVzID0gaW5w dXQuYXNfYnl0ZXMoKTsKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHkuYWxsb3dfdGhy ZWFkcyh8fCB7CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB5LmRldGFjaCh8fCB7Cisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJjcmFtamFtOjokY29kZWM6OmRlY29t cHJlc3MoJm11dCBDdXJzb3I6Om5ldyhieXRlcyksIGlubmVyKS5tYXBfZXJyKEludG86OmludG8p CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pCisgICAgICAgICAgICAgICAgICAgICAg ICAgfQorQEAgLTM3Nyw3ICszNzcsNyBAQAorICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICBm biBfX2NvbnRhaW5zX18oJnNlbGYsIHB5OiBQeXRob24sIHg6IEJ5dGVzVHlwZSkgLT4gYm9vbCB7 CisgICAgICAgICAgICAgICAgIGxldCBieXRlcyA9IHguYXNfYnl0ZXMoKTsKKy0gICAgICAgICAg ICAgICAgcHkuYWxsb3dfdGhyZWFkcyh8fCB7CisrICAgICAgICAgICAgICAgIHB5LmRldGFjaCh8 fCB7CisgICAgICAgICAgICAgICAgICAgICBzZWxmLmlubmVyCisgICAgICAgICAgICAgICAgICAg ICAgICAgLmFzX3JlZigpCisgICAgICAgICAgICAgICAgICAgICAgICAgLm1hcCh8Y3wgYy5nZXRf cmVmKCkud2luZG93cyhieXRlcy5sZW4oKSkuYW55KHx3fCB3ID09IGJ5dGVzKSkKK2RpZmYgLU5h dXIgY3JhbWphbS0yLjExLjAtb3JpZ2luYWwvc3JjL2x6NC5ycyBjcmFtamFtLTIuMTEuMC9zcmMv bHo0LnJzCistLS0gY3JhbWphbS0yLjExLjAtb3JpZ2luYWwvc3JjL2x6NC5ycwkyMDI1LTA3LTI3 IDIxOjQyOjA3LjAwMDAwMDAwMCArMDEwMAorKysrIGNyYW1qYW0tMi4xMS4wL3NyYy9sejQucnMJ MjAyNi0wNi0xOSAyMToyNTozOS4yOTk0NTg4MTIgKzAxMDAKK0BAIC04MSw3ICs4MSw3IEBACisg ICAgIHB1YiBmbiBkZWNvbXByZXNzX2Jsb2NrKHB5OiBQeXRob24sIGRhdGE6IEJ5dGVzVHlwZSwg b3V0cHV0X2xlbjogT3B0aW9uPHVzaXplPikgLT4gUHlSZXN1bHQ8UnVzdHlCdWZmZXI+IHsKKyAg ICAgICAgIGxldCBieXRlcyA9IGRhdGEuYXNfYnl0ZXMoKTsKKyAKKy0gICAgICAgIHB5LmFsbG93 X3RocmVhZHMofHwgeworKyAgICAgICAgcHkuZGV0YWNoKHx8IHsKKyAgICAgICAgICAgICBtYXRj aCBvdXRwdXRfbGVuIHsKKyAgICAgICAgICAgICAgICAgU29tZShuKSA9PiB7CisgICAgICAgICAg ICAgICAgICAgICBsZXQgbXV0IGJ1ZiA9IHZlYyFbMHU4OyBuXTsKK0BAIC0xMjMsNyArMTIzLDcg QEAKKyAgICAgICAgIHN0b3JlX3NpemU6IE9wdGlvbjxib29sPiwKKyAgICAgKSAtPiBQeVJlc3Vs dDxSdXN0eUJ1ZmZlcj4geworICAgICAgICAgbGV0IGJ5dGVzID0gZGF0YS5hc19ieXRlcygpOwor LSAgICAgICAgcHkuYWxsb3dfdGhyZWFkcyh8fCB7CisrICAgICAgICBweS5kZXRhY2gofHwgewor ICAgICAgICAgICAgIGxpYmNyYW1qYW06Omx6NDo6YmxvY2s6OmNvbXByZXNzX3ZlYyhieXRlcywg Y29tcHJlc3Npb24ubWFwKHx2fCB2IGFzIF8pLCBhY2NlbGVyYXRpb24sIHN0b3JlX3NpemUpCisg ICAgICAgICB9KQorICAgICAgICAgLm1hcF9lcnIoQ29tcHJlc3Npb25FcnJvcjo6ZnJvbV9lcnIp CitAQCAtMTYwLDcgKzE2MCw3IEBACisgICAgICAgICB9CisgCisgICAgICAgICBsZXQgb3V0X2J5 dGVzID0gb3V0cHV0LmFzX2J5dGVzX211dCgpPzsKKy0gICAgICAgIHB5LmFsbG93X3RocmVhZHMo CisrICAgICAgICBweS5kZXRhY2goCisgICAgICAgICAgICAgfHwgbWF0Y2ggbGliY3JhbWphbTo6 bHo0OjpibG9jazo6ZGVjb21wcmVzc19pbnRvKGJ5dGVzLCBvdXRfYnl0ZXMsIFNvbWUoc2l6ZV9z dG9yZWQpKSB7CisgICAgICAgICAgICAgICAgIE9rKHIpID0+IE9rKHIpLAorICAgICAgICAgICAg ICAgICAvLyBGYWxsYmFjayBhbmQgdHJ5IG5lZ2F0aW9uIG9mIHN0b3JlZCBzaXplLCBpbmNhc2Ug d2UvdGhleSBnb3QgaXQgd3Jvbmc7CitAQCAtMjAyLDcgKzIwMiw3IEBACisgICAgICkgLT4gUHlS ZXN1bHQ8dXNpemU+IHsKKyAgICAgICAgIGxldCBieXRlcyA9IGRhdGEuYXNfYnl0ZXMoKTsKKyAg ICAgICAgIGxldCBvdXRfYnl0ZXMgPSBvdXRwdXQuYXNfYnl0ZXNfbXV0KCk/OworLSAgICAgICAg cHkuYWxsb3dfdGhyZWFkcyh8fCB7CisrICAgICAgICBweS5kZXRhY2gofHwgeworICAgICAgICAg ICAgIGxpYmNyYW1qYW06Omx6NDo6YmxvY2s6OmNvbXByZXNzX2ludG8oCisgICAgICAgICAgICAg ICAgIGJ5dGVzLAorICAgICAgICAgICAgICAgICBvdXRfYnl0ZXMsCitkaWZmIC1OYXVyIGNyYW1q YW0tMi4xMS4wLW9yaWdpbmFsL3NyYy9zbmFwcHkucnMgY3JhbWphbS0yLjExLjAvc3JjL3NuYXBw eS5ycworLS0tIGNyYW1qYW0tMi4xMS4wLW9yaWdpbmFsL3NyYy9zbmFwcHkucnMJMjAyNS0wNy0y NyAyMTo0MjowNy4wMDAwMDAwMDAgKzAxMDAKKysrKyBjcmFtamFtLTIuMTEuMC9zcmMvc25hcHB5 LnJzCTIwMjYtMDYtMTkgMjE6MjU6MzkuMjk5NTUxOTYzICswMTAwCitAQCAtNTQsNyArNTQsNyBA QAorICAgICAjW3B5bzMoc2lnbmF0dXJlID0gKGRhdGEsIG91dHB1dF9sZW49Tm9uZSkpXQorICAg ICBwdWIgZm4gZGVjb21wcmVzc19yYXcocHk6IFB5dGhvbiwgZGF0YTogQnl0ZXNUeXBlLCBvdXRw dXRfbGVuOiBPcHRpb248dXNpemU+KSAtPiBQeVJlc3VsdDxSdXN0eUJ1ZmZlcj4geworICAgICAg ICAgbGV0IGJ5dGVzID0gZGF0YS5hc19ieXRlcygpOworLSAgICAgICAgcHkuYWxsb3dfdGhyZWFk cyh8fCBsaWJjcmFtamFtOjpzbmFwcHk6OnJhdzo6ZGVjb21wcmVzc192ZWMoYnl0ZXMpKQorKyAg ICAgICAgcHkuZGV0YWNoKHx8IGxpYmNyYW1qYW06OnNuYXBweTo6cmF3OjpkZWNvbXByZXNzX3Zl YyhieXRlcykpCisgICAgICAgICAgICAgLm1hcF9lcnIoRGVjb21wcmVzc2lvbkVycm9yOjpmcm9t X2VycikKKyAgICAgICAgICAgICAubWFwKEZyb206OmZyb20pCisgICAgIH0KK0BAIC03Miw3ICs3 Miw3IEBACisgICAgICNbcHlvMyhzaWduYXR1cmUgPSAoZGF0YSwgb3V0cHV0X2xlbj1Ob25lKSld CisgICAgIHB1YiBmbiBjb21wcmVzc19yYXcocHk6IFB5dGhvbiwgZGF0YTogQnl0ZXNUeXBlLCBv dXRwdXRfbGVuOiBPcHRpb248dXNpemU+KSAtPiBQeVJlc3VsdDxSdXN0eUJ1ZmZlcj4geworICAg ICAgICAgbGV0IGJ5dGVzID0gZGF0YS5hc19ieXRlcygpOworLSAgICAgICAgcHkuYWxsb3dfdGhy ZWFkcyh8fCBsaWJjcmFtamFtOjpzbmFwcHk6OnJhdzo6Y29tcHJlc3NfdmVjKGJ5dGVzKSkKKysg ICAgICAgIHB5LmRldGFjaCh8fCBsaWJjcmFtamFtOjpzbmFwcHk6OnJhdzo6Y29tcHJlc3NfdmVj KGJ5dGVzKSkKKyAgICAgICAgICAgICAubWFwX2VycihDb21wcmVzc2lvbkVycm9yOjpmcm9tX2Vy cikKKyAgICAgICAgICAgICAubWFwKEZyb206OmZyb20pCisgICAgIH0KK0BAIC05NCw3ICs5NCw3 IEBACisgICAgIHB1YiBmbiBjb21wcmVzc19yYXdfaW50byhweTogUHl0aG9uLCBpbnB1dDogQnl0 ZXNUeXBlLCBtdXQgb3V0cHV0OiBCeXRlc1R5cGUpIC0+IFB5UmVzdWx0PHVzaXplPiB7CisgICAg ICAgICBsZXQgYnl0ZXNfaW4gPSBpbnB1dC5hc19ieXRlcygpOworICAgICAgICAgbGV0IGJ5dGVz X291dCA9IG91dHB1dC5hc19ieXRlc19tdXQoKT87CistICAgICAgICBweS5hbGxvd190aHJlYWRz KHx8IGxpYmNyYW1qYW06OnNuYXBweTo6cmF3Ojpjb21wcmVzcyhieXRlc19pbiwgYnl0ZXNfb3V0 KSkKKysgICAgICAgIHB5LmRldGFjaCh8fCBsaWJjcmFtamFtOjpzbmFwcHk6OnJhdzo6Y29tcHJl c3MoYnl0ZXNfaW4sIGJ5dGVzX291dCkpCisgICAgICAgICAgICAgLm1hcF9lcnIoQ29tcHJlc3Np b25FcnJvcjo6ZnJvbV9lcnIpCisgICAgIH0KKyAKK0BAIC0xMDMsNyArMTAzLDcgQEAKKyAgICAg cHViIGZuIGRlY29tcHJlc3NfcmF3X2ludG8ocHk6IFB5dGhvbiwgaW5wdXQ6IEJ5dGVzVHlwZSwg bXV0IG91dHB1dDogQnl0ZXNUeXBlKSAtPiBQeVJlc3VsdDx1c2l6ZT4geworICAgICAgICAgbGV0 IGJ5dGVzX2luID0gaW5wdXQuYXNfYnl0ZXMoKTsKKyAgICAgICAgIGxldCBieXRlc19vdXQgPSBv dXRwdXQuYXNfYnl0ZXNfbXV0KCk/OworLSAgICAgICAgcHkuYWxsb3dfdGhyZWFkcyh8fCBsaWJj cmFtamFtOjpzbmFwcHk6OnJhdzo6ZGVjb21wcmVzcyhieXRlc19pbiwgYnl0ZXNfb3V0KSkKKysg ICAgICAgIHB5LmRldGFjaCh8fCBsaWJjcmFtamFtOjpzbmFwcHk6OnJhdzo6ZGVjb21wcmVzcyhi eXRlc19pbiwgYnl0ZXNfb3V0KSkKKyAgICAgICAgICAgICAubWFwX2VycihEZWNvbXByZXNzaW9u RXJyb3I6OmZyb21fZXJyKQorICAgICB9CisgCitkaWZmIC1OYXVyIGNyYW1qYW0tMi4xMS4wLW9y aWdpbmFsL3NyYy94ei5ycyBjcmFtamFtLTIuMTEuMC9zcmMveHoucnMKKy0tLSBjcmFtamFtLTIu MTEuMC1vcmlnaW5hbC9zcmMveHoucnMJMjAyNS0wNy0yNyAyMTo0MjowNy4wMDAwMDAwMDAgKzAx MDAKKysrKyBjcmFtamFtLTIuMTEuMC9zcmMveHoucnMJMjAyNi0wNi0xOSAyMToyNTozOS4yOTk2 MzAyNjUgKzAxMDAKK0BAIC0xMzAsNyArMTMwLDcgQEAKKyAKKyAgICAgLy8vIEF2YWlsYWJsZSBG aWx0ZXIgSURzCisgICAgICNbZGVyaXZlKENsb25lLCBEZWJ1ZywgUGFydGlhbEVxKV0KKy0gICAg I1tweWNsYXNzKGVxLCBlcV9pbnQpXQorKyAgICAjW3B5Y2xhc3MoZXEsIGVxX2ludCwgZnJvbV9w eV9vYmplY3QpXQorICAgICAjW2FsbG93KG1pc3NpbmdfZG9jcyldCisgICAgIHB1YiBlbnVtIEZp bHRlciB7CisgICAgICAgICBBcm0sCitAQCAtMTUwLDcgKzE1MCw3IEBACisgCisgICAgIC8vLyBN YXRjaEZpbmRlciwgdXNlZCB3aXRoIE9wdGlvbnMubWYgYXR0cmlidXRlCisgICAgICNbZGVyaXZl KENsb25lLCBEZWJ1ZywgUGFydGlhbEVxKV0KKy0gICAgI1tweWNsYXNzKGVxLCBlcV9pbnQpXQor KyAgICAjW3B5Y2xhc3MoZXEsIGVxX2ludCwgZnJvbV9weV9vYmplY3QpXQorICAgICAjW2FsbG93 KG1pc3NpbmdfZG9jcyldCisgICAgIHB1YiBlbnVtIE1hdGNoRmluZGVyIHsKKyAgICAgICAgIEhh c2hDaGFpbjMsCitAQCAtMTc0LDcgKzE3NCw3IEBACisgCisgICAgIC8vLyBNYXRjaEZpbmRlciwg dXNlZCB3aXRoIE9wdGlvbnMubW9kZSBhdHRyaWJ1dGUKKyAgICAgI1tkZXJpdmUoQ2xvbmUsIERl YnVnLCBQYXJ0aWFsRXEpXQorLSAgICAjW3B5Y2xhc3MoZXEsIGVxX2ludCldCisrICAgICNbcHlj bGFzcyhlcSwgZXFfaW50LCBmcm9tX3B5X29iamVjdCldCisgICAgICNbYWxsb3cobWlzc2luZ19k b2NzKV0KKyAgICAgcHViIGVudW0gTW9kZSB7CisgICAgICAgICBGYXN0LAorQEAgLTE5Miw3ICsx OTIsNyBAQAorICAgICAvLy8gRmlsdGVyQ2hhaW4sIHNpbWlsYXIgdG8gdGhlIGRlZmF1bHQgUHl0 aG9uIFhaIGZpbHRlciBjaGFpbiB3aGljaCBpcyBhIGxpc3Qgb2YKKyAgICAgLy8vIGRpY3RzLgor ICAgICAjW2Rlcml2ZShEZWJ1ZywgQ2xvbmUpXQorLSAgICAjW3B5Y2xhc3NdCisrICAgICNbcHlj bGFzcyhmcm9tX3B5X29iamVjdCldCisgICAgIHB1YiBzdHJ1Y3QgRmlsdGVyQ2hhaW4oVmVjPEZp bHRlckNoYWluSXRlbT4pOworIAorICAgICAjW3B5bWV0aG9kc10KK0BAIC0yMjksNyArMjI5LDcg QEAKKyAgICAgLy8vIEZpbHRlckNoYWluSXRlbS4gSW4gUHl0aG9uJ3MgbHptYSBtb2R1bGUsIHRo aXMgcmVwcmVzZW50cyBhIHNpbmdsZSBkaWN0IGluIHRoZQorICAgICAvLy8gZmlsdGVyIGNoYWlu IGxpc3QuIFRvIGJlIGFkZGVkIHRvIHRoZSBgRmlsdGVyQ2hhaW5gCisgICAgICNbZGVyaXZlKENs b25lLCBEZWJ1ZywgRGVmYXVsdCldCistICAgICNbcHljbGFzc10KKysgICAgI1tweWNsYXNzKGZy b21fcHlfb2JqZWN0KV0KKyAgICAgcHViIHN0cnVjdCBGaWx0ZXJDaGFpbkl0ZW0geworICAgICAg ICAgZmlsdGVyOiBGaWx0ZXIsCisgICAgICAgICBvcHRpb25zOiBPcHRpb25zLAorQEAgLTI1MCw3 ICsyNTAsNyBAQAorIAorICAgICAvLy8KKyAgICAgI1tkZXJpdmUoQ2xvbmUsIERlYnVnLCBEZWZh dWx0KV0KKy0gICAgI1tweWNsYXNzXQorKyAgICAjW3B5Y2xhc3MoZnJvbV9weV9vYmplY3QpXQor ICAgICBwdWIgc3RydWN0IE9wdGlvbnMgeworICAgICAgICAgcHJlc2V0OiBPcHRpb248dTMyPiwK KyAgICAgICAgIGRpY3Rfc2l6ZTogT3B0aW9uPHUzMj4sCitAQCAtMzMxLDcgKzMzMSw3IEBACisg CisgICAgIC8vLyBQb3NzaWJsZSBmb3JtYXRzCisgICAgICNbZGVyaXZlKENsb25lLCBEZWJ1Zywg UGFydGlhbEVxKV0KKy0gICAgI1tweWNsYXNzKGVxLCBlcV9pbnQpXQorKyAgICAjW3B5Y2xhc3Mo ZXEsIGVxX2ludCwgZnJvbV9weV9vYmplY3QpXQorICAgICBwdWIgZW51bSBGb3JtYXQgeworICAg ICAgICAgLy8vIEF1dG8gc2VsZWN0IHRoZSBmb3JtYXQsIGZvciBjb21wcmVzc2lvbiB0aGlzIGlz IFhaLAorICAgICAgICAgLy8vIGZvciBkZWNvbXByZXNzaW9uIGl0IHdpbGwgYmUgZGV0ZXJtaW5l ZCBieSB0aGUgY29tcHJlc3NlZCBpbnB1dC4KK0BAIC0zNjIsNyArMzYyLDcgQEAKKyAKKyAgICAg Ly8vIFBvc3NpYmxlIENoZWNrIGNvbmZpZ3VyYXRpb25zCisgICAgICNbZGVyaXZlKERlYnVnLCBD bG9uZSwgUGFydGlhbEVxKV0KKy0gICAgI1tweWNsYXNzKGVxLCBlcV9pbnQpXQorKyAgICAjW3B5 Y2xhc3MoZXEsIGVxX2ludCwgZnJvbV9weV9vYmplY3QpXQorICAgICAjW2FsbG93KG1pc3Npbmdf ZG9jcyldCisgICAgIHB1YiBlbnVtIENoZWNrIHsKKyAgICAgICAgIENyYzY0LAoKZGlmZiAtLWdp dCBhL3B5dGhvbi1jcmFtamFtLnNwZWMgYi9weXRob24tY3JhbWphbS5zcGVjCmluZGV4IGE5ZWVk MDAuLjI4MDk0NDMgMTAwNjQ0Ci0tLSBhL3B5dGhvbi1jcmFtamFtLnNwZWMKKysrIGIvcHl0aG9u LWNyYW1qYW0uc3BlYwpAQCAtMzcsNyArMzcsMTEgQEAgU291cmNlMTogICAgICAgIGdldF9zb3Vy Y2UKICMgaHR0cHM6Ly9naXRodWIuY29tL21pbGVzZ3Jhbmdlci9jcmFtamFtL3B1bGwvMjQwCiAj IFJlYmFzZWQgb24gMi4xMS4wLiBXaXRob3V0IGNoYW5nZXMgdG8gQ2FyZ28ubG9jayBhbmQKICMg LmdpdGh1Yi93b3JrZmxvd3MvQ0kueW1sLCB3aGljaCBhcmUgbm90IHJlbGV2YW50IGRvd25zdHJl YW0uCi1QYXRjaDogICAgICAgICAgY3JhbWphbS0yLjExLjAtcHlvMy0wLjI4LnBhdGNoCisjCisj IEZ1cnRoZXIgdXBkYXRlIHRvIDAuMjksIHdpdGhvdXQgc291cmNlLWNvZGUgY2hhbmdlcywgaW50 cm9kdWNpbmcgb25lIG5ldworIyBkZXByZWNhdGlvbiB3YXJuaW5nIGFzIG5vdGVkIGluCisjIGh0 dHBzOi8vZ2l0aHViLmNvbS9taWxlc2dyYW5nZXIvY3JhbWphbS9wdWxsLzI0MCNpc3N1ZWNvbW1l bnQtNDc1Njg4NjU5OS4KK1BhdGNoOiAgICAgICAgICBjcmFtamFtLTIuMTEuMC1weW8zLTAuMjku cGF0Y2gKIAogQnVpbGRSZXF1aXJlczogIHRvbWNsaQogQnVpbGRSZXF1aXJlczogIGNhcmdvLXJw bS1tYWNyb3MgPj0gMjQK