From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 15410 invoked from network); 17 Apr 2022 09:31:19 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 17 Apr 2022 09:31:19 -0000 Content-Type: multipart/mixed; boundary="===============0864352044000040606==" MIME-Version: 1.0 Subject: =?utf8?q?Re=3A_=5BPR_PATCH=5D_=5BUpdated=5D_poppler=3A_update_to_22=2E04=2E0?= To: ml@inbox.vuxu.org From: oreo639 Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Sun, 17 Apr 2022 11:31:19 +0200 List-Id: Message-ID: <20220417093119.Fl5Nx_Um1miiS6H6_47kJ6K0x-K5ZjqDh7E9Ou7keho@z> GitHub notification mails are now in MIME to allow UTF8. --===============0864352044000040606== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgb3JlbzYzOSBhZ2FpbnN0IG1hc3Rl ciBvbiB0aGUgdm9pZC1wYWNrYWdlcyByZXBvc2l0b3J5CgpodHRwczovL2dpdGh1Yi5jb20vb3Jl bzYzOS92b2lkLXBhY2thZ2VzIHBvcHBsZXIKaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGludXgv dm9pZC1wYWNrYWdlcy9wdWxsLzM2MzUxCgpwb3BwbGVyOiB1cGRhdGUgdG8gMjIuMDQuMAo8IS0t IFVuY29tbWVudCByZWxldmFudCBzZWN0aW9ucyBhbmQgZGVsZXRlIG9wdGlvbnMgd2hpY2ggYXJl IG5vdCBhcHBsaWNhYmxlIC0tPg0KDQojIyMjIFRlc3RpbmcgdGhlIGNoYW5nZXMNCi0gSSB0ZXN0 ZWQgdGhlIGNoYW5nZXMgaW4gdGhpcyBQUjogKipicmllZmx5KioNCg0KPCEtLQ0KIyMjIyBOZXcg cGFja2FnZQ0KLSBUaGlzIG5ldyBwYWNrYWdlIGNvbmZvcm1zIHRvIHRoZSBbcXVhbGl0eSByZXF1 aXJlbWVudHNdKGh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQtcGFja2FnZXMvYmxv Yi9tYXN0ZXIvTWFudWFsLm1kI3F1YWxpdHktcmVxdWlyZW1lbnRzKTogKipZRVMqKnwqKk5PKioN Ci0tPg0KDQo8IS0tIE5vdGU6IElmIHRoZSBidWlsZCBpcyBsaWtlbHkgdG8gdGFrZSBtb3JlIHRo YW4gMiBob3VycywgcGxlYXNlIFtza2lwIENJXShodHRwczovL2dpdGh1Yi5jb20vdm9pZC1saW51 eC92b2lkLXBhY2thZ2VzL2Jsb2IvbWFzdGVyL0NPTlRSSUJVVElORy5tZCNjb250aW51b3VzLWlu dGVncmF0aW9uKQ0KYW5kIHRlc3QgYXQgbGVhc3Qgb25lIG5hdGl2ZSBidWlsZCBhbmQsIGlmIHN1 cHBvcnRlZCwgYXQgbGVhc3Qgb25lIGNyb3NzIGJ1aWxkLg0KSWdub3JlIHRoaXMgc2VjdGlvbiBp ZiB0aGlzIFBSIGlzIG5vdCBza2lwcGluZyBDSS4NCi0tPg0KPCEtLSANCiMjIyMgTG9jYWwgYnVp bGQgdGVzdGluZw0KLSBJIGJ1aWx0IHRoaXMgUFIgbG9jYWxseSBmb3IgbXkgbmF0aXZlIGFyY2hp dGVjdHVyZSwgKEFSQ0gtTElCQykNCi0gSSBidWlsdCB0aGlzIFBSIGxvY2FsbHkgZm9yIHRoZXNl IGFyY2hpdGVjdHVyZXMgKGlmIHN1cHBvcnRlZC4gbWFyayBjcm9zc2J1aWxkcyk6DQogIC0gYWFy Y2g2NC1tdXNsDQogIC0gYXJtdjdsDQogIC0gYXJtdjZsLW11c2wNCi0tPg0KCgpBIHBhdGNoIGZp bGUgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vdm9pZC1saW51eC92b2lkLXBhY2thZ2VzL3B1bGwv MzYzNTEucGF0Y2ggaXMgYXR0YWNoZWQ= --===============0864352044000040606== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-poppler-36351.patch" RnJvbSA4MTA2Y2I5ZmY0YTBhOTVkZjc2MWI2YTBjMTg5ZmE2MzdkZTViOGU5IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBvcmVvNjM5IDwzMTkxNjM3OStPcmVvNjM5QHVzZXJzLm5vcmVw bHkuZ2l0aHViLmNvbT4KRGF0ZTogRnJpLCAyNSBNYXIgMjAyMiAxODoyODowOCAtMDcwMApTdWJq ZWN0OiBbUEFUQ0ggMS84XSBwb3BwbGVyOiB1cGRhdGUgdG8gMjIuMDQuMAoKLS0tCiBjb21tb24v c2hsaWJzICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KIHNyY3BrZ3MvcG9wcGxl ci9wYXRjaGVzL2ZpeC1jZmxhZ3MucGF0Y2ggfCAyMSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0KIHNy Y3BrZ3MvcG9wcGxlci90ZW1wbGF0ZSAgICAgICAgICAgICAgICAgfCAxMyArKysrKysrKystLS0t CiAzIGZpbGVzIGNoYW5nZWQsIDEwIGluc2VydGlvbnMoKyksIDI2IGRlbGV0aW9ucygtKQogZGVs ZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcG9wcGxlci9wYXRjaGVzL2ZpeC1jZmxhZ3MucGF0Y2gK CmRpZmYgLS1naXQgYS9jb21tb24vc2hsaWJzIGIvY29tbW9uL3NobGlicwppbmRleCBhZTRiYjQ0 YzU3YTMuLjIxNDBhNWQ1MzkzYiAxMDA2NDQKLS0tIGEvY29tbW9uL3NobGlicworKysgYi9jb21t b24vc2hsaWJzCkBAIC0zNDcsNyArMzQ3LDcgQEAgbGliTWFnaWNrQ29yZS02LlExNi5zby43IGxp Ym1hZ2ljazYtNi45LjExLjYxXzEKIGxpYk1hZ2lja1dhbmQtNi5RMTYuc28uNyBsaWJtYWdpY2s2 LTYuOS4xMS42MV8xCiBsaWJNYWdpY2srKy02LlExNi5zby45IGxpYm1hZ2ljazYtNi45LjEyLjFf MQogbGlibHRkbC5zby43IGxpYmx0ZGwtMi4yLjZfMQotbGlicG9wcGxlci5zby4xMTEgbGlicG9w cGxlci0yMS4wNy4wXzEKK2xpYnBvcHBsZXIuc28uMTIwIGxpYnBvcHBsZXItMjIuMDMuMF8xCiBs aWJwb3BwbGVyLWdsaWIuc28uOCBwb3BwbGVyLWdsaWItMC4xOC4yXzEKIGxpYnBvcHBsZXItY3Bw LnNvLjAgcG9wcGxlci1jcHAtMC4xOC4yXzEKIGxpYnBvcHBsZXItcXQ1LnNvLjEgcG9wcGxlci1x dDUtMC4zMS4wXzEKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcG9wcGxlci9wYXRjaGVzL2ZpeC1jZmxh Z3MucGF0Y2ggYi9zcmNwa2dzL3BvcHBsZXIvcGF0Y2hlcy9maXgtY2ZsYWdzLnBhdGNoCmRlbGV0 ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmMWE0MDhkMDNjY2UuLjAwMDAwMDAwMDAwMAotLS0g YS9zcmNwa2dzL3BvcHBsZXIvcGF0Y2hlcy9maXgtY2ZsYWdzLnBhdGNoCisrKyAvZGV2L251bGwK QEAgLTEsMjEgKzAsMCBAQAotZGlmZiAtLWdpdCBhL2NtYWtlL21vZHVsZXMvUG9wcGxlck1hY3Jv cy5jbWFrZSBiL2NtYWtlL21vZHVsZXMvUG9wcGxlck1hY3Jvcy5jbWFrZQotaW5kZXggZmUxMTgy ZC4uNjAxM2JkMiAxMDA2NDQKLS0tLSBhL2NtYWtlL21vZHVsZXMvUG9wcGxlck1hY3Jvcy5jbWFr ZQotKysrIGIvY21ha2UvbW9kdWxlcy9Qb3BwbGVyTWFjcm9zLmNtYWtlCi1AQCAtMTA0LDE0ICsx MDQsMTQgQEAgaWYoQ01BS0VfQ09NUElMRVJfSVNfR05VQ1hYKQotICAgc2V0KERFRkFVTFRfQ09N UElMRV9XQVJOSU5HU19FWFRSQSAiJHtfd2Fybn0gJHtfd2Fybnh9IikKLSAKLSAgIHNldChfc2F2 ZV9jeHhmbGFncyAiJHtDTUFLRV9DWFhfRkxBR1N9IikKLS0gIHNldChDTUFLRV9DWFhfRkxBR1Mg ICAgICAgICAgICAgICAgIi1mbm8tZXhjZXB0aW9ucyAtZm5vLWNoZWNrLW5ldyAtZm5vLWNvbW1v biAtZm5vLW9wZXJhdG9yLW5hbWVzIC1EX0RFRkFVTFRfU09VUkNFIikKLSsgIHNldChDTUFLRV9D WFhfRkxBR1MgICAgICAgICAgICAgICAgIi1mbm8tZXhjZXB0aW9ucyAtZm5vLWNoZWNrLW5ldyAt Zm5vLWNvbW1vbiAtZm5vLW9wZXJhdG9yLW5hbWVzIC1EX0RFRkFVTFRfU09VUkNFICR7X3NhdmVf Y3h4ZmxhZ3N9IikKLSAgIHNldChDTUFLRV9DWFhfRkxBR1NfUkVMV0lUSERFQklORk8gIi1PMiAt ZyAke19zYXZlX2N4eGZsYWdzfSIpCi0gICBzZXQoQ01BS0VfQ1hYX0ZMQUdTX1JFTEVBU0UgICAg ICAgICItTzIgLUROREVCVUcgJHtfc2F2ZV9jeHhmbGFnc30iKQotICAgc2V0KENNQUtFX0NYWF9G TEFHU19ERUJVRyAgICAgICAgICAiLWcgLU8yIC1mbm8tcmVvcmRlci1ibG9ja3MgLWZuby1zY2hl ZHVsZS1pbnNucyAtZm5vLWlubGluZSAke19zYXZlX2N4eGZsYWdzfSIpCi0gICBzZXQoQ01BS0Vf Q1hYX0ZMQUdTX0RFQlVHRlVMTCAgICAgICItZzMgLWZuby1pbmxpbmUgJHtfc2F2ZV9jeHhmbGFn c30iKQotICAgc2V0KENNQUtFX0NYWF9GTEFHU19QUk9GSUxFICAgICAgICAiLWczIC1mbm8taW5s aW5lIC1mdGVzdC1jb3ZlcmFnZSAtZnByb2ZpbGUtYXJjcyAke19zYXZlX2N4eGZsYWdzfSIpCi0g ICBzZXQoX3NhdmVfY2ZsYWdzICIke0NNQUtFX0NfRkxBR1N9IikKLS0gIHNldChDTUFLRV9DX0ZM QUdTICAgICAgICAgICAgICAgICAgIi1zdGQ9Yzk5IC1EX0RFRkFVTFRfU09VUkNFIikKLSsgIHNl dChDTUFLRV9DX0ZMQUdTICAgICAgICAgICAgICAgICAgIi1zdGQ9Yzk5IC1EX0RFRkFVTFRfU09V UkNFICR7X3NhdmVfY2ZsYWdzfSIpCi0gICBzZXQoQ01BS0VfQ19GTEFHU19SRUxXSVRIREVCSU5G TyAgICItTzIgLWcgJHtfc2F2ZV9jZmxhZ3N9IikKLSAgIHNldChDTUFLRV9DX0ZMQUdTX1JFTEVB U0UgICAgICAgICAgIi1PMiAtRE5ERUJVRyAke19zYXZlX2NmbGFnc30iKQotICAgc2V0KENNQUtF X0NfRkxBR1NfREVCVUcgICAgICAgICAgICAiLWcgLU8yIC1mbm8tcmVvcmRlci1ibG9ja3MgLWZu by1zY2hlZHVsZS1pbnNucyAtZm5vLWlubGluZSAke19zYXZlX2NmbGFnc30iKQpkaWZmIC0tZ2l0 IGEvc3JjcGtncy9wb3BwbGVyL3RlbXBsYXRlIGIvc3JjcGtncy9wb3BwbGVyL3RlbXBsYXRlCmlu ZGV4IDBhYTRlZGYyMGI1Ny4uNTRiMDNmMDRlOGJjIDEwMDY0NAotLS0gYS9zcmNwa2dzL3BvcHBs ZXIvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9wb3BwbGVyL3RlbXBsYXRlCkBAIC0zLDEzICszLDE1 IEBACiAjIFRISVMgUEtHIE1VU1QgQkUgU1lOQ0hST05JWkVEIFdJVEggInNyY3BrZ3MvcG9wcGxl ci1xdDUiLgogIwogcGtnbmFtZT1wb3BwbGVyCi12ZXJzaW9uPTIxLjA3LjAKK3ZlcnNpb249MjIu MDQuMAogcmV2aXNpb249MQorX3Rlc3RWZXJzaW9uPTA3NjJlMDE0NDE0M2U2ODBlMjRlYzhkNGMz NGM0NmMzNzE2Yjg3MTMKIGJ1aWxkX3N0eWxlPWNtYWtlCiBidWlsZF9oZWxwZXI9ImdpciIKIGNv bmZpZ3VyZV9hcmdzPSItREVOQUJMRV9VTlNUQUJMRV9BUElfQUJJX0hFQURFUlM9T04gLURFTkFC TEVfQ1BQPU9OCiAgLURFTkFCTEVfR0xJQj1PTiAtREVOQUJMRV9HT0JKRUNUX0lOVFJPU1BFQ1RJ T049JCh2b3B0X2lmIGdpciBPTiBPRkYpCi0gLURFTkFCTEVfUVQ1PU9GRiAtREVOQUJMRV9VVElM Uz1PTiAtREVOQUJMRV9CT09TVD0kKHZvcHRfaWYgYm9vc3QgT04gT0ZGKSIKKyAtREVOQUJMRV9R VDU9T0ZGIC1ERU5BQkxFX1VUSUxTPU9OIC1ERU5BQkxFX0JPT1NUPSQodm9wdF9pZiBib29zdCBP TiBPRkYpCisgLURDTUFLRV9CVUlMRF9UWVBFPVJFTEVBU0UgLURURVNUREFUQURJUj0nJHtYQlBT X0JVSUxERElSfS90ZXN0LSR7X3Rlc3RWZXJzaW9ufSciCiBob3N0bWFrZWRlcGVuZHM9InBrZy1j b25maWcgZ2xpYi1kZXZlbCIKIG1ha2VkZXBlbmRzPSJsaWJwbmctZGV2ZWwgbGliZ2xpYi1kZXZl bCBjYWlyby1kZXZlbCB0aWZmLWRldmVsIGxjbXMyLWRldmVsCiBsaWJjdXJsLWRldmVsIGxpYm9w ZW5qcGVnMi1kZXZlbCAkKHZvcHRfaWYgYm9vc3QgYm9vc3QtZGV2ZWwpIgpAQCAtMTcsOCArMTks MTEgQEAgc2hvcnRfZGVzYz0iUERGIHJlbmRlcmluZyBsaWJyYXJ5IgogbWFpbnRhaW5lcj0iT3Jw aGFuZWQgPG9ycGhhbkB2b2lkbGludXgub3JnPiIKIGxpY2Vuc2U9IkdQTC0yLjAtb3ItbGF0ZXIs IEdQTC0zLjAtb3ItbGF0ZXIiCiBob21lcGFnZT0iaHR0cHM6Ly9wb3BwbGVyLmZyZWVkZXNrdG9w Lm9yZyIKLWRpc3RmaWxlcz0iJHtob21lcGFnZX0vJHtwa2duYW1lfS0ke3ZlcnNpb259LnRhci54 eiIKLWNoZWNrc3VtPWUyNmFiMjlmNjgwNjVkZTRkNjU2MmYwYTNlMmI1NDM1YTgzY2E5MmJlNTcz Yjk5YTFjODE5OThmYTI4NmE0ZDQKK2NoYW5nZWxvZz0iaHR0cHM6Ly9naXRsYWIuZnJlZWRlc2t0 b3Aub3JnL3BvcHBsZXIvcG9wcGxlci8tL3Jhdy9tYXN0ZXIvTkVXUyIKK2Rpc3RmaWxlcz0iJHto b21lcGFnZX0vJHtwa2duYW1lfS0ke3ZlcnNpb259LnRhci54egorIGh0dHBzOi8vZ2l0bGFiLmZy ZWVkZXNrdG9wLm9yZy9wb3BwbGVyL3Rlc3QvLS9hcmNoaXZlLyR7X3Rlc3RWZXJzaW9ufS90ZXN0 LSR7X3Rlc3RWZXJzaW9ufS50YXIuZ3oiCitjaGVja3N1bT0iODEzZmI0YjkwZTdiZGE2M2RmNTMy MDVjNTQ4NjAyYmFlNzI4ODg3YTYwZjQwNDhhYWU0ZGJkOWIxOTI3ZGVmZgorIDIxNDAxMDQwZDVj Y2YwNWU5ZWQ4NWMwOWE1ZGUyMjVkMDViMjcwZjhiYTc1OTIxYWY4ZmY2NzExNGYyMzEzYTYiCiAK IGJ1aWxkX29wdGlvbnM9ImdpciBib29zdCIKIGJ1aWxkX29wdGlvbnNfZGVmYXVsdD0iZ2lyIGJv b3N0IgoKRnJvbSBhNTc3ZmRmM2Q1NTJlZTExZjE4MGFlY2ZjMjkwNzc5ZjEwMzJlMzllIE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBvcmVvNjM5IDwzMTkxNjM3OStPcmVvNjM5QHVzZXJz Lm5vcmVwbHkuZ2l0aHViLmNvbT4KRGF0ZTogRnJpLCAyNSBNYXIgMjAyMiAxODoyOTowMiAtMDcw MApTdWJqZWN0OiBbUEFUQ0ggMi84XSBwb3BwbGVyLXF0NTogdXBkYXRlIHRvIDIyLjA0LjAKCi0t LQogc3JjcGtncy9wb3BwbGVyLXF0NS9wYXRjaGVzICB8IDEgLQogc3JjcGtncy9wb3BwbGVyLXF0 NS90ZW1wbGF0ZSB8IDggKysrKystLS0KIDIgZmlsZXMgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCsp LCA0IGRlbGV0aW9ucygtKQogZGVsZXRlIG1vZGUgMTIwMDAwIHNyY3BrZ3MvcG9wcGxlci1xdDUv cGF0Y2hlcwoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcG9wcGxlci1xdDUvcGF0Y2hlcyBiL3NyY3Br Z3MvcG9wcGxlci1xdDUvcGF0Y2hlcwpkZWxldGVkIGZpbGUgbW9kZSAxMjAwMDAKaW5kZXggNjM2 ZTRhYzJjYmQ5Li4wMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9wb3BwbGVyLXF0NS9wYXRjaGVz CisrKyAvZGV2L251bGwKQEAgLTEgKzAsMCBAQAotLi4vcG9wcGxlci9wYXRjaGVzClwgTm8gbmV3 bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9wb3BwbGVyLXF0NS90ZW1w bGF0ZSBiL3NyY3BrZ3MvcG9wcGxlci1xdDUvdGVtcGxhdGUKaW5kZXggMmExNWY1NjEyOGMxLi45 NzA3Y2Q3YmViMTIgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvcG9wcGxlci1xdDUvdGVtcGxhdGUKKysr IGIvc3JjcGtncy9wb3BwbGVyLXF0NS90ZW1wbGF0ZQpAQCAtNCwxMiArNCwxMyBAQAogIyBJVCBJ UyBTUExJVCBUTyBBVk9JRCBBIENZQ0xJQyBERVBFTkRFTkNZOiBxdDUgLT4gY3VwcyAtPiBwb3Bw bGVyIC0+IHF0NS4KICMKIHBrZ25hbWU9cG9wcGxlci1xdDUKLXZlcnNpb249MjEuMDcuMAordmVy c2lvbj0yMi4wNC4wCiByZXZpc2lvbj0xCiB3cmtzcmM9InBvcHBsZXItJHt2ZXJzaW9ufSIKIGJ1 aWxkX3N0eWxlPWNtYWtlCiBjb25maWd1cmVfYXJncz0iLURFTkFCTEVfVU5TVEFCTEVfQVBJX0FC SV9IRUFERVJTPU9OIC1ERU5BQkxFX0dMSUI9T0ZGCi0gLURFTkFCTEVfUVQ1PU9OIC1ERU5BQkxF X1VUSUxTPU9GRiAtREVOQUJMRV9DUFA9T0ZGIC1ERU5BQkxFX0JPT1NUPU9GRiIKKyAtREVOQUJM RV9RVDU9T04gLURFTkFCTEVfVVRJTFM9T0ZGIC1ERU5BQkxFX0NQUD1PRkYgLURFTkFCTEVfQk9P U1Q9T0ZGCisgLURDTUFLRV9CVUlMRF9UWVBFPVJFTEVBU0UiCiBob3N0bWFrZWRlcGVuZHM9InBr Zy1jb25maWcgcXQ1LWRldmVsIgogbWFrZWRlcGVuZHM9ImxpYnBuZy1kZXZlbCB0aWZmLWRldmVs IGxjbXMyLWRldmVsIGxpYmN1cmwtZGV2ZWwKICBmb250Y29uZmlnLWRldmVsIGNhaXJvLWRldmVs IGxpYm9wZW5qcGVnMi1kZXZlbCBxdDUtZGV2ZWwiCkBAIC0xNyw4ICsxOCw5IEBAIHNob3J0X2Rl c2M9IlBERiByZW5kZXJpbmcgbGlicmFyeSAtIFF0NSBiaW5kaW5ncyIKIG1haW50YWluZXI9Ik9y cGhhbmVkIDxvcnBoYW5Adm9pZGxpbnV4Lm9yZz4iCiBsaWNlbnNlPSJHUEwtMi4wLW9yLWxhdGVy LCBHUEwtMy4wLW9yLWxhdGVyIgogaG9tZXBhZ2U9Imh0dHBzOi8vcG9wcGxlci5mcmVlZGVza3Rv cC5vcmciCitjaGFuZ2Vsb2c9Imh0dHBzOi8vZ2l0bGFiLmZyZWVkZXNrdG9wLm9yZy9wb3BwbGVy L3BvcHBsZXIvLS9yYXcvbWFzdGVyL05FV1MiCiBkaXN0ZmlsZXM9IiR7aG9tZXBhZ2V9L3BvcHBs ZXItJHt2ZXJzaW9ufS50YXIueHoiCi1jaGVja3N1bT1lMjZhYjI5ZjY4MDY1ZGU0ZDY1NjJmMGEz ZTJiNTQzNWE4M2NhOTJiZTU3M2I5OWExYzgxOTk4ZmEyODZhNGQ0CitjaGVja3N1bT04MTNmYjRi OTBlN2JkYTYzZGY1MzIwNWM1NDg2MDJiYWU3Mjg4ODdhNjBmNDA0OGFhZTRkYmQ5YjE5MjdkZWZm CiAjIGZhaWxzIHRvIGZpbmQgYSBidW5jaCBvZiBmaWxlcwogbWFrZV9jaGVjaz1ubwogCgpGcm9t IDQyYjY3NzExNGJjM2FiOTQxZWNkM2RjOTY4NmFkN2E0N2JlOGQ1MzIgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCkZyb206IG9yZW82MzkgPDMxOTE2Mzc5K09yZW82MzlAdXNlcnMubm9yZXBseS5n aXRodWIuY29tPgpEYXRlOiBGcmksIDI1IE1hciAyMDIyIDE4OjI5OjMyIC0wNzAwClN1YmplY3Q6 IFtQQVRDSCAzLzhdIHBvcHBsZXItZGF0YTogdXBkYXRlIHRvIDAuNC4xMQoKLS0tCiBzcmNwa2dz L3BvcHBsZXItZGF0YS90ZW1wbGF0ZSB8IDQgKystLQogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0 aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3BvcHBsZXItZGF0 YS90ZW1wbGF0ZSBiL3NyY3BrZ3MvcG9wcGxlci1kYXRhL3RlbXBsYXRlCmluZGV4IDQ4ZGJhMjQ5 N2ZiNi4uNGI2ZTk1NmI3YjcyIDEwMDY0NAotLS0gYS9zcmNwa2dzL3BvcHBsZXItZGF0YS90ZW1w bGF0ZQorKysgYi9zcmNwa2dzL3BvcHBsZXItZGF0YS90ZW1wbGF0ZQpAQCAtMSwxMyArMSwxMyBA QAogIyBUZW1wbGF0ZSBmaWxlIGZvciAncG9wcGxlci1kYXRhJwogcGtnbmFtZT1wb3BwbGVyLWRh dGEKLXZlcnNpb249MC40LjEwCit2ZXJzaW9uPTAuNC4xMQogcmV2aXNpb249MQogc2hvcnRfZGVz Yz0iRW5jb2RpbmcgZGF0YSBmb3IgdGhlIHBvcHBsZXIgUERGIHJlbmRlcmluZyBsaWJyYXJ5Igog bWFpbnRhaW5lcj0iT3JwaGFuZWQgPG9ycGhhbkB2b2lkbGludXgub3JnPiIKIGxpY2Vuc2U9Ik1J VCwgR1BMLTIuMC1vci1sYXRlciwgQlNELTMtQ2xhdXNlIgogaG9tZXBhZ2U9Imh0dHBzOi8vcG9w cGxlci5mcmVlZGVza3RvcC5vcmcvIgogZGlzdGZpbGVzPSJodHRwczovL3BvcHBsZXIuZnJlZWRl c2t0b3Aub3JnLyR7cGtnbmFtZX0tJHt2ZXJzaW9ufS50YXIuZ3oiCi1jaGVja3N1bT02ZTJmY2Vm NjZlYzhjNDQ2MjVmOTQyOTJjY2Y4YWY5ZjFkOTE4YjQxMGQ1YWE2OWMyNzRjZTY3Mzg3OTY3YjMw CitjaGVja3N1bT0yY2VjMDVjZDFiYjAzYWY5OGE4YjA2YTFlMjJmNmU2ZTFhNjViMWUyZjM4MTZj YjMwNjliYjA4NzQ4MjVmMDhjCiAKIGRvX2luc3RhbGwoKSB7CiAJbWFrZSBwcmVmaXg9L3VzciBE RVNURElSPSR7REVTVERJUn0gaW5zdGFsbAoKRnJvbSBlNTAzM2VmN2M5MjRjMmM3YTZiZWY0MmU4 YWE0Mzg4MTVlODllMWMxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBvcmVvNjM5IDwz MTkxNjM3OStPcmVvNjM5QHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4KRGF0ZTogRnJpLCAyNSBN YXIgMjAyMiAxODozMzozMiAtMDcwMApTdWJqZWN0OiBbUEFUQ0ggNC84XSBjYWxsaWdyYTogcmVi dWlsZCBhZ2FpbnN0IGxpYnBvcHBsZXIgMjIuMDQuMAoKLS0tCiAuLi4vcGF0Y2hlcy8wMDAxLUZp eC1zb21lLW1vcmUtd2FybmluZ3MucGF0Y2ggfCA0NDAgKysrKysrKysrKysrKysrKysrCiAuLi4v MDAwMi1NYWtlLXNob3ctaGlkZGVuLXJvdy1zLXdvcmsucGF0Y2ggICAgfCAgMjkgKysKIHNyY3Br Z3MvY2FsbGlncmEvcGF0Y2hlcy9jKysxNy5wYXRjaCAgICAgICAgICB8ICAxNiArCiAuLi4vcGF0 Y2hlcy9wb3BwbGVyLTIyLjAzLjAtZml4LnBhdGNoICAgICAgICAgfCAgNzAgKysrCiBzcmNwa2dz L2NhbGxpZ3JhL3RlbXBsYXRlICAgICAgICAgICAgICAgICAgICAgfCAgIDIgKy0KIDUgZmlsZXMg Y2hhbmdlZCwgNTU2IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKIGNyZWF0ZSBtb2RlIDEw MDY0NCBzcmNwa2dzL2NhbGxpZ3JhL3BhdGNoZXMvMDAwMS1GaXgtc29tZS1tb3JlLXdhcm5pbmdz LnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9jYWxsaWdyYS9wYXRjaGVzLzAwMDIt TWFrZS1zaG93LWhpZGRlbi1yb3ctcy13b3JrLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3Jj cGtncy9jYWxsaWdyYS9wYXRjaGVzL2MrKzE3LnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3Jj cGtncy9jYWxsaWdyYS9wYXRjaGVzL3BvcHBsZXItMjIuMDMuMC1maXgucGF0Y2gKCmRpZmYgLS1n aXQgYS9zcmNwa2dzL2NhbGxpZ3JhL3BhdGNoZXMvMDAwMS1GaXgtc29tZS1tb3JlLXdhcm5pbmdz LnBhdGNoIGIvc3JjcGtncy9jYWxsaWdyYS9wYXRjaGVzLzAwMDEtRml4LXNvbWUtbW9yZS13YXJu aW5ncy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjZjYzEz MjkyNWIxNgotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvY2FsbGlncmEvcGF0Y2hlcy8wMDAx LUZpeC1zb21lLW1vcmUtd2FybmluZ3MucGF0Y2gKQEAgLTAsMCArMSw0NDAgQEAKK0Zyb20gMDY4 Y2Q5YWVjMTEwNTI3MzNlMzkzOTc2MTQyNTE2ZDIxOTBlNDU2NCBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKK0Zyb206IFBpZXJyZSBEdWNyb3F1ZXQgPHBpbmFyYWZAcGluYXJhZi5pbmZvPgorRGF0 ZTogU3VuLCAyOCBGZWIgMjAyMSAyMzoyMzowMiArMDEwMAorU3ViamVjdDogW1BBVENIXSBGaXgg c29tZSBtb3JlIHdhcm5pbmdzCisKKy0tLQorIGZpbHRlcnMvbGlibXNvb3htbC9Nc29vWG1sRGlh Z3JhbVJlYWRlcl9wLmNwcCAgICAgICAgfCAgMSArCisgZmlsdGVycy9zaGVldHMvY3N2L2Nzdmlt cG9ydC5jYyAgICAgICAgICAgICAgICAgICAgICB8ICAyICstCisgZmlsdGVycy9zaGVldHMvZXhj ZWwvc2lkZXdpbmRlci9leGNlbC5jcHAgICAgICAgICAgICB8ICAxICsKKyBmaWx0ZXJzL3NoZWV0 cy9leGNlbC9zaWRld2luZGVyL2Zvcm11bGFzLmNwcCAgICAgICAgIHwgIDIgKy0KKyBmaWx0ZXJz L3NoZWV0cy9nbnVtZXJpYy9nbnVtZXJpY2V4cG9ydC5jYyAgICAgICAgICAgIHwgIDUgKystLS0K KyBmaWx0ZXJzL3NoZWV0cy9odG1sL2h0bWxleHBvcnQuY2MgICAgICAgICAgICAgICAgICAgIHwg IDIgLS0KKyBmaWx0ZXJzL3NoZWV0cy9sYXRleC9leHBvcnQvbGF0ZXhleHBvcnQuY2MgICAgICAg ICAgIHwgIDEgLQorIGZpbHRlcnMvc2hlZXRzL2xhdGV4L2V4cG9ydC90YWJsZS5jYyAgICAgICAg ICAgICAgICAgfCAgMSArCisgZmlsdGVycy9zaGVldHMveGxzeC9YbHN4WG1sV29ya3NoZWV0UmVh ZGVyLmNwcCAgICAgICB8ICAxIC0KKyBmaWx0ZXJzL3N0YWdlL3BwdHgvUHB0eFhtbERvY3VtZW50 UmVhZGVyLmNwcCAgICAgICAgIHwgIDIgKy0KKyBmaWx0ZXJzL3dvcmRzL21zd29yZC1vZGYvdGV4 dGhhbmRsZXIuY3BwICAgICAgICAgICAgIHwgIDIgKysKKyBmaWx0ZXJzL3dvcmRzL21zd29yZC1v ZGYvd3YyL3NyYy9wYXJzZXI5eC5jcHAgICAgICAgIHwgIDQgKysrLQorIGZpbHRlcnMvd29yZHMv bXN3b3JkLW9kZi93djIvc3JjL3N0eWxlcy5jcHAgICAgICAgICAgfCAgNCArLS0tCisgZmlsdGVy cy93b3Jkcy9tc3dvcmQtb2RmL3d2Mi9zcmMvc3R5bGVzLmggICAgICAgICAgICB8IDExICsrKysr KysrLS0tCisgZ2VtaW5pL2xpYi9HZW1pbmlNYWluV2luZG93LmNwcCAgICAgICAgICAgICAgICAg ICAgICB8ICAyICsrCisgbGlicy9wYWdlYXBwL0tvUEFPZGZQYWdlU2F2ZUhlbHBlci5jcHAgICAg ICAgICAgICAgICB8ICAyICstCisgcGx1Z2lucy9zcGFjZW5hdmlnYXRvci9TcGFjZU5hdmlnYXRv ckRldmljZS5oICAgICAgICB8ICA2ICsrLS0tLQorIHBsdWdpbnMvc3BhY2VuYXZpZ2F0b3IvU3Bh Y2VOYXZpZ2F0b3JFdmVudC5oICAgICAgICAgfCAgMiArLQorIHBsdWdpbnMvc3BhY2VuYXZpZ2F0 b3IvU3BhY2VOYXZpZ2F0b3JQb2xsaW5nVGhyZWFkLmggfCAgMyArLS0KKyBwbHVnaW5zL3ZlY3Rv cnNoYXBlL1ZlY3RvclNoYXBlLmNwcCAgICAgICAgICAgICAgICAgIHwgIDEgKworIHNoZWV0cy9m dW5jdGlvbnMvZGF0ZXRpbWUuY3BwICAgICAgICAgICAgICAgICAgICAgICAgfCAgMSArCisgc2hl ZXRzL3BhcnQvRGlnZXN0LmNwcCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA4ICsr KystLS0tCisgc2hlZXRzL3NoYXBlL1RhYmxlVG9vbEZhY3RvcnkuaCAgICAgICAgICAgICAgICAg ICAgICB8ICAyICstCisgc2hlZXRzL3Rlc3RzL1Rlc3RTb3J0LmNwcCAgICAgICAgICAgICAgICAg ICAgICAgICAgICB8ICA0ICsrLS0KKyAyNCBmaWxlcyBjaGFuZ2VkLCAzOCBpbnNlcnRpb25zKCsp LCAzMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2ZpbHRlcnMvbGlibXNvb3htbC9Nc29v WG1sRGlhZ3JhbVJlYWRlcl9wLmNwcCBiL2ZpbHRlcnMvbGlibXNvb3htbC9Nc29vWG1sRGlhZ3Jh bVJlYWRlcl9wLmNwcAoraW5kZXggMTRiMDg1MzEyNjIuLjE0ZmM2YWI5YTcxIDEwMDY0NAorLS0t IGEvZmlsdGVycy9saWJtc29veG1sL01zb29YbWxEaWFncmFtUmVhZGVyX3AuY3BwCisrKysgYi9m aWx0ZXJzL2xpYm1zb294bWwvTXNvb1htbERpYWdyYW1SZWFkZXJfcC5jcHAKK0BAIC04NzIsNiAr ODcyLDcgQEAgdm9pZCBMYXlvdXROb2RlQXRvbTo6ZmluaXNoQnVpbGQoQ29udGV4dCogY29udGV4 dCkgeworICAgICAgICAgY2FzZSBBbGdvcml0aG1BdG9tOjpVbmtub3duQWxnOgorICAgICAgICAg ICAgIHdhcm5Nc29vWG1sIDw8ICJMYXlvdXQgd2l0aCBuYW1lPSIgPDwgbV9uYW1lIDw8ICJkZWZp bmVzIGFuIHVua25vd24gYWxnb3JpdGhtLiI7CisgICAgICAgICAgICAgLy8gZmFsbCB0aHJvdWdo IGFuZCB1c2UgdGhlIGNvbXBvc2l0ZS1hbGdvcml0aG0KKysgICAgICAgIC8vIGZhbGwgdGhyb3Vn aAorICAgICAgICAgY2FzZSBBbGdvcml0aG1BdG9tOjpDb21wb3NpdGVBbGc6IG1fYWxnb3JpdGht SW1wbCA9IG5ldyBDb21wb3NpdGVBbGdvcml0aG07IGJyZWFrOworICAgICAgICAgY2FzZSBBbGdv cml0aG1BdG9tOjpDb25uZWN0b3JBbGc6IG1fYWxnb3JpdGhtSW1wbCA9IG5ldyBDb25uZWN0b3JB bGdvcml0aG07IGJyZWFrOworICAgICAgICAgY2FzZSBBbGdvcml0aG1BdG9tOjpDeWNsZUFsZzog bV9hbGdvcml0aG1JbXBsID0gbmV3IEN5Y2xlQWxnb3JpdGhtOyBicmVhazsKK2RpZmYgLS1naXQg YS9maWx0ZXJzL3NoZWV0cy9jc3YvY3N2aW1wb3J0LmNjIGIvZmlsdGVycy9zaGVldHMvY3N2L2Nz dmltcG9ydC5jYworaW5kZXggODlmYjcxNjJlMDAuLjEwMDhkMTg2ZjE4IDEwMDY0NAorLS0tIGEv ZmlsdGVycy9zaGVldHMvY3N2L2NzdmltcG9ydC5jYworKysrIGIvZmlsdGVycy9zaGVldHMvY3N2 L2NzdmltcG9ydC5jYworQEAgLTk3LDggKzk3LDggQEAgS29GaWx0ZXI6OkNvbnZlcnNpb25TdGF0 dXMgQ1NWRmlsdGVyOjpjb252ZXJ0KGNvbnN0IFFCeXRlQXJyYXkmIGZyb20sIGNvbnN0IFFCeXQK KyAgICAgICAgIHJldHVybiBLb0ZpbHRlcjo6RmlsZU5vdEZvdW5kOworICAgICB9CisgCistICAg IFFTdHJpbmcgY3N2X2RlbGltaXRlcjsKKyAgICAgLy8gIyMjIyMjIEZJWE1FOiBkaXNhYmxlZCBm b3Igbm93CisrICAgIC8vUVN0cmluZyBjc3ZfZGVsaW1pdGVyOworICAgICAvL2lmICghY29uZmln LmlzTnVsbCgpKQorICAgICAvLyAgICBjc3ZfZGVsaW1pdGVyID0gY29uZmlnWzBdOworIAorZGlm ZiAtLWdpdCBhL2ZpbHRlcnMvc2hlZXRzL2V4Y2VsL3NpZGV3aW5kZXIvZXhjZWwuY3BwIGIvZmls dGVycy9zaGVldHMvZXhjZWwvc2lkZXdpbmRlci9leGNlbC5jcHAKK2luZGV4IGFiNTkyMjI1Y2E2 Li43ZmE1NjMzZDQzMyAxMDA2NDQKKy0tLSBhL2ZpbHRlcnMvc2hlZXRzL2V4Y2VsL3NpZGV3aW5k ZXIvZXhjZWwuY3BwCisrKysgYi9maWx0ZXJzL3NoZWV0cy9leGNlbC9zaWRld2luZGVyL2V4Y2Vs LmNwcAorQEAgLTI0NDksNiArMjQ0OSw3IEBAIGJvb2wgRXhjZWxSZWFkZXI6OmxvYWQoV29ya2Jv b2sqIHdvcmtib29rLCBjb25zdCBjaGFyKiBmaWxlbmFtZSkKKyAgICAgICAgICAgICAgIH0gZWxz ZSB7CisgICAgICAgICAgICAgICAgIGJ5dGVzX3JlYWQgPSBjb21iT2JqU3RyZWFtLT5yZWFkKCBi dWZmZXIsIG1hcmtlck9yTGVuZ3RoICk7CisgICAgICAgICAgICAgICAgIFFTdHJpbmcgYW5zaVN0 cmluZyA9IHJlYWRCeXRlU3RyaW5nKGJ1ZmZlciwgbWFya2VyT3JMZW5ndGgpOworKyAgICAgICAg ICAgICAgICBRX1VOVVNFRChhbnNpU3RyaW5nKTsKKyAgICAgICAgICAgICAgICAgLy9UT0RPLi4u CisgICAgICAgICAgICAgICAgIC8vcHJpbnRmKCAibWFya2VyT3JMZW5ndGg9JWkgYW5zaVN0cmlu Zz0lc1xuIixtYXJrZXJPckxlbmd0aCxhbnNpU3RyaW5nLmFzY2lpKCkgKTsKKyAgICAgICAgICAg ICAgIH0KK2RpZmYgLS1naXQgYS9maWx0ZXJzL3NoZWV0cy9leGNlbC9zaWRld2luZGVyL2Zvcm11 bGFzLmNwcCBiL2ZpbHRlcnMvc2hlZXRzL2V4Y2VsL3NpZGV3aW5kZXIvZm9ybXVsYXMuY3BwCitp bmRleCA2Mjc0NzQ2OWE0OS4uMDEzMmQzOWUwMjQgMTAwNjQ0CistLS0gYS9maWx0ZXJzL3NoZWV0 cy9leGNlbC9zaWRld2luZGVyL2Zvcm11bGFzLmNwcAorKysrIGIvZmlsdGVycy9zaGVldHMvZXhj ZWwvc2lkZXdpbmRlci9mb3JtdWxhcy5jcHAKK0BAIC0xNTEzLDcgKzE1MTMsNyBAQCBzdGF0aWMg dm9pZCBtZXJnZVRva2VucyhVU3RyaW5nU3RhY2sqIHN0YWNrLCB1bnNpZ25lZCBjb3VudCwgY29u c3QgUVN0cmluZyAmbWVyZworICAgICBpZiAoIXN0YWNrKSByZXR1cm47CisgICAgIGlmIChzdGFj ay0+c2l6ZSgpIDwgY291bnQpIHJldHVybjsKKyAKKy0gICAgUVN0cmluZyBzMSwgczI7CisrICAg IFFTdHJpbmcgczE7CisgCisgICAgIHdoaWxlIChjb3VudCkgeworICAgICAgICAgY291bnQtLTsK K2RpZmYgLS1naXQgYS9maWx0ZXJzL3NoZWV0cy9nbnVtZXJpYy9nbnVtZXJpY2V4cG9ydC5jYyBi L2ZpbHRlcnMvc2hlZXRzL2dudW1lcmljL2dudW1lcmljZXhwb3J0LmNjCitpbmRleCAxMjU2YzY4 YmM3NC4uMjQ2ODU0OGVkYjMgMTAwNjQ0CistLS0gYS9maWx0ZXJzL3NoZWV0cy9nbnVtZXJpYy9n bnVtZXJpY2V4cG9ydC5jYworKysrIGIvZmlsdGVycy9zaGVldHMvZ251bWVyaWMvZ251bWVyaWNl eHBvcnQuY2MKK0BAIC0xMjkzLDE1ICsxMjkzLDEzIEBAIEtvRmlsdGVyOjpDb252ZXJzaW9uU3Rh dHVzIEdOVU1FUklDRXhwb3J0Ojpjb252ZXJ0KGNvbnN0IFFCeXRlQXJyYXkmIGZyb20sIGNvbnN0 CisgICAgICAgICAgICAgICAgIGkgPSAwOworICAgICAgICAgICAgIH0KKyAKKy0gICAgICAgICAg ICBRU3RyaW5nIGxpbmU7CisgICAgICAgICAgICAgZm9yIChpbnQgY3VycmVudGNvbHVtbiA9IDE7 IGN1cnJlbnRjb2x1bW4gPD0gaU1heENvbHVtbjsgY3VycmVudGNvbHVtbisrKSB7CisgICAgICAg ICAgICAgICAgIFFEb21FbGVtZW50IGNlbGxfY29udGVudHM7CisgICAgICAgICAgICAgICAgIENl bGwgY2VsbCh0YWJsZSwgY3VycmVudGNvbHVtbiwgY3VycmVudHJvdyk7CisgCistICAgICAgICAg ICAgICAgIFFTdHJpbmcgdGV4dCwgc3R5bGU7CisrICAgICAgICAgICAgICAgIFFTdHJpbmcgdGV4 dDsKKyAgICAgICAgICAgICAgICAgUURvbURvY3VtZW50IGRvbUxpbms7CisgICAgICAgICAgICAg ICAgIFFEb21FbGVtZW50IGRvbVJvb3Q7CistICAgICAgICAgICAgICAgIFFEb21Ob2RlIGRvbU5v ZGU7CisgICAgICAgICAgICAgICAgIFFEb21Ob2RlTGlzdCBjaGlsZE5vZGVzOworIAorICAgICAg ICAgICAgICAgICBpZiAoIWNlbGwuaXNEZWZhdWx0KCkgJiYgIWNlbGwuaXNFbXB0eSgpKSB7CitA QCAtMTM0Miw2ICsxMzQwLDcgQEAgS29GaWx0ZXI6OkNvbnZlcnNpb25TdGF0dXMgR05VTUVSSUNF eHBvcnQ6OmNvbnZlcnQoY29uc3QgUUJ5dGVBcnJheSYgZnJvbSwgY29uc3QKKyAgICAgICAgICAg ICAgICAgICAgICAgICB0ZXh0ID0gZG9tTm9kZS50b0VsZW1lbnQoKS50ZXh0KCk7CisgCisgICAg ICAgICAgICAgICAgICAgICAgICAgd2hpbGUgKCFkb21Ob2RlLmlzTnVsbCgpKSB7CisrICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFFTdHJpbmcgc3R5bGU7CisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHN0eWxlID0gZG9tTm9kZS50b0VsZW1lbnQoKS50YWdOYW1lKCk7CisgCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzdHlsZSA9PSAiYiIpCitkaWZmIC0tZ2l0IGEv ZmlsdGVycy9zaGVldHMvaHRtbC9odG1sZXhwb3J0LmNjIGIvZmlsdGVycy9zaGVldHMvaHRtbC9o dG1sZXhwb3J0LmNjCitpbmRleCAyZDExNmUwNjA4Yy4uYmY0MWE2Zjc0M2UgMTAwNjQ0CistLS0g YS9maWx0ZXJzL3NoZWV0cy9odG1sL2h0bWxleHBvcnQuY2MKKysrKyBiL2ZpbHRlcnMvc2hlZXRz L2h0bWwvaHRtbGV4cG9ydC5jYworQEAgLTI0Miw3ICsyNDIsNiBAQCB2b2lkIEhUTUxFeHBvcnQ6 OmNvbnZlcnRTaGVldChTaGVldCAqc2hlZXQsIFFTdHJpbmcgJnN0ciwgaW50IGlNYXhVc2VkUm93 LCBpbnQgaQorICAgICAgICAgICAgIGkgPSAwOworICAgICAgICAgfQorIAorLSAgICAgICAgUVN0 cmluZyBzZXBhcmF0b3JzOworICAgICAgICAgUVN0cmluZyBsaW5lOworICAgICAgICAgdW5zaWdu ZWQgaW50IG5vbmVtcHR5X2NlbGxzID0gMDsKKyAKK0BAIC00MzUsNyArNDM0LDYgQEAgdm9pZCBI VE1MRXhwb3J0OjpkZXRlY3RGaWxsZWRDZWxscyhTaGVldCAqc2hlZXQsIGludCAmcm93cywgaW50 ICZjb2x1bW5zKQorICAgICAgICAgaW50IGlVc2VkQ29sdW1uID0gMDsKKyAgICAgICAgIGZvciAo aW50IGN1cnJlbnRjb2x1bW4gPSAxIDsgY3VycmVudGNvbHVtbiA8PSBpTWF4Q29sdW1uIDsgY3Vy cmVudGNvbHVtbisrKSB7CisgICAgICAgICAgICAgY2VsbCA9IENlbGwoc2hlZXQsIGN1cnJlbnRj b2x1bW4sIGN1cnJlbnRyb3cpOworLSAgICAgICAgICAgIFFTdHJpbmcgdGV4dDsKKyAgICAgICAg ICAgICBpZiAoIWNlbGwuaXNEZWZhdWx0KCkgJiYgIWNlbGwuaXNFbXB0eSgpKSB7CisgICAgICAg ICAgICAgICAgIGlVc2VkQ29sdW1uID0gY3VycmVudGNvbHVtbjsKKyAgICAgICAgICAgICB9Citk aWZmIC0tZ2l0IGEvZmlsdGVycy9zaGVldHMvbGF0ZXgvZXhwb3J0L2xhdGV4ZXhwb3J0LmNjIGIv ZmlsdGVycy9zaGVldHMvbGF0ZXgvZXhwb3J0L2xhdGV4ZXhwb3J0LmNjCitpbmRleCA4ZDA2OThh MzQyMC4uNGY4Y2FmMjM1ZDkgMTAwNjQ0CistLS0gYS9maWx0ZXJzL3NoZWV0cy9sYXRleC9leHBv cnQvbGF0ZXhleHBvcnQuY2MKKysrKyBiL2ZpbHRlcnMvc2hlZXRzL2xhdGV4L2V4cG9ydC9sYXRl eGV4cG9ydC5jYworQEAgLTM4LDcgKzM4LDYgQEAgTEFURVhFeHBvcnQ6OkxBVEVYRXhwb3J0KFFP YmplY3QqIHBhcmVudCwgY29uc3QgUVZhcmlhbnRMaXN0JikgOgorIAorIEtvRmlsdGVyOjpDb252 ZXJzaW9uU3RhdHVzIExBVEVYRXhwb3J0Ojpjb252ZXJ0KGNvbnN0IFFCeXRlQXJyYXkmIGZyb20s IGNvbnN0IFFCeXRlQXJyYXkmIHRvKQorIHsKKy0gICAgUVN0cmluZyBjb25maWc7CisgCisgICAg IGlmICh0byAhPSAidGV4dC94LXRleCIgfHwgZnJvbSAhPSAiYXBwbGljYXRpb24veC1rc3ByZWFk IikKKyAgICAgICAgIHJldHVybiBLb0ZpbHRlcjo6Tm90SW1wbGVtZW50ZWQ7CitkaWZmIC0tZ2l0 IGEvZmlsdGVycy9zaGVldHMvbGF0ZXgvZXhwb3J0L3RhYmxlLmNjIGIvZmlsdGVycy9zaGVldHMv bGF0ZXgvZXhwb3J0L3RhYmxlLmNjCitpbmRleCA4ZDhiNjcwMWEzOS4uZTU4ODI3ZGZiYzcgMTAw NjQ0CistLS0gYS9maWx0ZXJzL3NoZWV0cy9sYXRleC9leHBvcnQvdGFibGUuY2MKKysrKyBiL2Zp bHRlcnMvc2hlZXRzL2xhdGV4L2V4cG9ydC90YWJsZS5jYworQEAgLTExOCw2ICsxMTgsNyBAQCB2 b2lkIFRhYmxlOjphbmFseXplUGFwZXIoY29uc3QgUURvbU5vZGUgbm9kZSkKKyAKKyAgICAgLyog Ym9yZGVycyAqLworICAgICBRRG9tTm9kZSBib3JkZXIgPSBnZXRDaGlsZChub2RlLCAiYm9yZGVy cyIpOworKyAgICBRX1VOVVNFRChib3JkZXIpOworICAgICBzZXRCb3JkZXJSaWdodChnZXRBdHRy KG5vZGUsICJyaWdodCIpLnRvTG9uZygpKTsKKyAgICAgc2V0Qm9yZGVyTGVmdChnZXRBdHRyKG5v ZGUsICJsZWZ0IikudG9Mb25nKCkpOworICAgICBzZXRCb3JkZXJCb3R0b20oZ2V0QXR0cihub2Rl LCAiYm90dG9tIikudG9Mb25nKCkpOworZGlmZiAtLWdpdCBhL2ZpbHRlcnMvc2hlZXRzL3hsc3gv WGxzeFhtbFdvcmtzaGVldFJlYWRlci5jcHAgYi9maWx0ZXJzL3NoZWV0cy94bHN4L1hsc3hYbWxX b3Jrc2hlZXRSZWFkZXIuY3BwCitpbmRleCA3ODJhNTkxNDcyOS4uZWRhOGZmYzZiNDcgMTAwNjQ0 CistLS0gYS9maWx0ZXJzL3NoZWV0cy94bHN4L1hsc3hYbWxXb3Jrc2hlZXRSZWFkZXIuY3BwCisr KysgYi9maWx0ZXJzL3NoZWV0cy94bHN4L1hsc3hYbWxXb3Jrc2hlZXRSZWFkZXIuY3BwCitAQCAt ODcyLDcgKzg3Miw2IEBAIEtvRmlsdGVyOjpDb252ZXJzaW9uU3RhdHVzIFhsc3hYbWxXb3Jrc2hl ZXRSZWFkZXI6OnJlYWRfY29uZGl0aW9uYWxGb3JtYXR0aW5nKCkKKyAgICAgd2hpbGUgKGluZGV4 IDwgbV9jb25kaXRpb25hbEluZGljZXMuc2l6ZSgpKSB7CisgICAgICAgICBRU3RyaW5nIGNvbmRp dGlvbmFsQXJlYTsKKyAgICAgICAgIENvbmRpdGlvbiBleGFtaW5lZENvbmRpdGlvbiA9IG1fY29u ZGl0aW9uYWxJbmRpY2VzLmF0KGluZGV4KTsKKy0gICAgICAgIFFTdHJpbmcgc3FyZWZPcmlnaW5h bCA9IHNxcmVmOworICAgICAgICAgaW50IGFyZWFJbmRleCA9IDA7CisgICAgICAgICBDb25kaXRp b24gcHJldmlvdXNDb25kOworIAorZGlmZiAtLWdpdCBhL2ZpbHRlcnMvc3RhZ2UvcHB0eC9QcHR4 WG1sRG9jdW1lbnRSZWFkZXIuY3BwIGIvZmlsdGVycy9zdGFnZS9wcHR4L1BwdHhYbWxEb2N1bWVu dFJlYWRlci5jcHAKK2luZGV4IDRjZjg2YWVhOGM4Li4xMWI1YWQyNjZiOSAxMDA2NDQKKy0tLSBh L2ZpbHRlcnMvc3RhZ2UvcHB0eC9QcHR4WG1sRG9jdW1lbnRSZWFkZXIuY3BwCisrKysgYi9maWx0 ZXJzL3N0YWdlL3BwdHgvUHB0eFhtbERvY3VtZW50UmVhZGVyLmNwcAorQEAgLTMxNiw3ICszMTYs NyBAQCBLb0ZpbHRlcjo6Q29udmVyc2lvblN0YXR1cyBQcHR4WG1sRG9jdW1lbnRSZWFkZXI6OnJl YWRfc2xkSWQoKQorIAorICAgICBRU3RyaW5nIHNsaWRlTWFzdGVyUGF0aCwgc2xpZGVNYXN0ZXJG aWxlOworICAgICBNU09PWE1MOjpVdGlsczo6c3BsaXRQYXRoQW5kRmlsZShtX2NvbnRleHQtPnJl bGF0aW9uc2hpcHMtPnRhcmdldEZvclR5cGUoc2xpZGVQYXRoLCBzbGlkZUZpbGUsIFFMYXRpbjFT dHJpbmcoTVNPT1hNTDo6U2NoZW1hczo6b2ZmaWNlRG9jdW1lbnQ6OnJlbGF0aW9uc2hpcHMpICsg Ii9zbGlkZUxheW91dCIpLCAmc2xpZGVNYXN0ZXJQYXRoLCAmc2xpZGVNYXN0ZXJGaWxlKTsKKy0g ICAgY29uc3QgUVN0cmluZyBzbGlkZU1hc3RlclBhdGhBbmRGaWxlID0gbV9jb250ZXh0LT5yZWxh dGlvbnNoaXBzLT50YXJnZXRGb3JUeXBlKHNsaWRlTWFzdGVyUGF0aCwgc2xpZGVNYXN0ZXJGaWxl LCBRTGF0aW4xU3RyaW5nKE1TT09YTUw6OlNjaGVtYXM6Om9mZmljZURvY3VtZW50OjpyZWxhdGlv bnNoaXBzKSArICIvc2xpZGVNYXN0ZXIiKTsKKysgICAgLy8gY29uc3QgUVN0cmluZyBzbGlkZU1h c3RlclBhdGhBbmRGaWxlID0gbV9jb250ZXh0LT5yZWxhdGlvbnNoaXBzLT50YXJnZXRGb3JUeXBl KHNsaWRlTWFzdGVyUGF0aCwgc2xpZGVNYXN0ZXJGaWxlLCBRTGF0aW4xU3RyaW5nKE1TT09YTUw6 OlNjaGVtYXM6Om9mZmljZURvY3VtZW50OjpyZWxhdGlvbnNoaXBzKSArICIvc2xpZGVNYXN0ZXIi KTsKKyAKKyAgICAgLy8gRGVsYXkgdGhlIHJlYWRpbmcgb2YgYSB0YWJsZVN0eWxlIHVudGlsIHdl IGZpbmQgYSB0YWJsZSBhcyB3ZSBuZWVkIHRoZQorICAgICAvLyBjbHJNYXAgZnJvbSB0aGUgbWFz dGVyIHNsaWRlCitkaWZmIC0tZ2l0IGEvZmlsdGVycy93b3Jkcy9tc3dvcmQtb2RmL3RleHRoYW5k bGVyLmNwcCBiL2ZpbHRlcnMvd29yZHMvbXN3b3JkLW9kZi90ZXh0aGFuZGxlci5jcHAKK2luZGV4 IGUxNjdkODZlMDI4Li44OWVmNjc4OTYxYSAxMDA2NDQKKy0tLSBhL2ZpbHRlcnMvd29yZHMvbXN3 b3JkLW9kZi90ZXh0aGFuZGxlci5jcHAKKysrKyBiL2ZpbHRlcnMvd29yZHMvbXN3b3JkLW9kZi90 ZXh0aGFuZGxlci5jcHAKK0BAIC00MDgsNiArNDA4LDcgQEAgdm9pZCBXb3Jkc1RleHRIYW5kbGVy Ojpmb290bm90ZUZvdW5kKHd2V2FyZTo6Rm9vdG5vdGVEYXRhIGRhdGEsCisgICAgICAgICB9Cisg ICAgICAgICBjYXNlIG1zb25mY1VDTGV0dGVyOgorICAgICAgICAgICAgIGxldHRlciA9ICdBJzsK KysgICAgICAgICAgICAvLyBmYWxsIHRocm91Z2gKKyAgICAgICAgIGNhc2UgbXNvbmZjTENMZXR0 ZXI6CisgICAgICAgICB7CisgICAgICAgICAgICAgd2hpbGUgKG5vdGVOdW1iZXIgLyAyNSA+IDAp IHsKK0BAIC0xMDY0LDYgKzEwNjUsNyBAQCB2b2lkIFdvcmRzVGV4dEhhbmRsZXI6OmZpZWxkU3Rh cnQoY29uc3Qgd3ZXYXJlOjpGTEQqIGZsZCwgd3ZXYXJlOjpTaGFyZWRQdHI8Y29ucworICAgICAg ICAgYnJlYWs7CisgICAgIGNhc2UgVU5TVVBQT1JURUQ6CisgICAgICAgICB3YXJuTXNEb2MgPDwg Ildhcm5pbmc6IEZsZCBkYXRhIG1pc3NpbmcsIGlnbm9yaW5nISI7CisrICAgICAgICAvLyBmYWxs IHRocm91Z2gKKyAgICAgZGVmYXVsdDoKKyAgICAgICAgIHdhcm5Nc0RvYyA8PCAiV2FybmluZzog dW5yZWNvZ25pemVkIGZpZWxkIHR5cGUsIGlnbm9yaW5nISI7CisgICAgICAgICBtX2ZsZC0+bV90 eXBlID0gVU5TVVBQT1JURUQ7CitkaWZmIC0tZ2l0IGEvZmlsdGVycy93b3Jkcy9tc3dvcmQtb2Rm L3d2Mi9zcmMvcGFyc2VyOXguY3BwIGIvZmlsdGVycy93b3Jkcy9tc3dvcmQtb2RmL3d2Mi9zcmMv cGFyc2VyOXguY3BwCitpbmRleCA5YTZkMTYwNmNlOS4uZTVkN2QxNDY5MWMgMTAwNjQ0CistLS0g YS9maWx0ZXJzL3dvcmRzL21zd29yZC1vZGYvd3YyL3NyYy9wYXJzZXI5eC5jcHAKKysrKyBiL2Zp bHRlcnMvd29yZHMvbXN3b3JkLW9kZi93djIvc3JjL3BhcnNlcjl4LmNwcAorQEAgLTU4MSw3ICs1 ODEsOCBAQCB2b2lkIFBhcnNlcjl4Ojpwcm9jZXNzUGllY2UoIFN0cmluZyogc3RyaW5nLCBVMzIg ZmMsIFUzMiBsaW1pdCwgY29uc3QgUG9zaXRpb24mCisgICAgICAgICAvLyBzYW1lIEFTQ0lJIGNv ZGUgYXMgVFRQX01BUksgKDB4MDAwNyksIE5PVEU6IHRhYmxlIGRlcHRoID09IDEKKyAgICAgICAg IGNhc2UgQ0VMTF9NQVJLOgorICAgICAgICAgICAgIG1fY2VsbE1hcmtGb3VuZCA9IHRydWU7Cist ICAgICAgICAgICAgLy8gRmFsbC10aHJvdWdoIGludGVuZGVkLiBBIHJvdy9jZWxsIGVuZCBpcyBh bHNvIGEgcGFyYWdyYXBoIGVuZC4KKysgICAgICAgICAgICAvLyBBIHJvdy9jZWxsIGVuZCBpcyBh bHNvIGEgcGFyYWdyYXBoIGVuZC4KKysgICAgICAgICAgICAvLyBmYWxsIHRocm91Z2gKKyAgICAg ICAgIGNhc2UgUEFSQUdSQVBIX01BUks6CisgICAgICAgICB7CisgICAgICAgICAgICAgLy8gTm8g ImluZGV4IC0gc3RhcnQgKyAxIiBoZXJlLCBhcyB3ZSBkb24ndCB3YW50IHRvIGNvcHkgdGhlCitA QCAtMTA2NCw2ICsxMDY1LDcgQEAgdm9pZCBQYXJzZXI5eDo6ZW1pdFNwZWNpYWxDaGFyYWN0ZXIo IFVDaGFyIGNoYXJhY3RlciwgVTMyIGdsb2JhbENQLCBTaGFyZWRQdHI8Y28KKyAgICAgICAgICAg ICBpZiAobV9zdWJEb2N1bWVudCA9PSBNYWluKSB7CisgICAgICAgICAgICAgICAgIGVtaXRBbm5v dGF0aW9uKCBVU3RyaW5nKGNoYXJhY3RlciksIGdsb2JhbENQLCBjaHAgKTsKKyAgICAgICAgICAg ICB9CisrICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICB9CisgICAgIGNhc2UgVGV4dEhhbmRs ZXI6OkZpZWxkRXNjYXBlQ2hhcjoKKyAgICAgICAgIHd2bG9nIDw8ICJGb3VuZCBhbiBlc2NhcGUg Y2hhcmFjdGVyICsrKysrKysrKysrKysrKysrKysrPyIgPDwgZW5kbDsKK2RpZmYgLS1naXQgYS9m aWx0ZXJzL3dvcmRzL21zd29yZC1vZGYvd3YyL3NyYy9zdHlsZXMuY3BwIGIvZmlsdGVycy93b3Jk cy9tc3dvcmQtb2RmL3d2Mi9zcmMvc3R5bGVzLmNwcAoraW5kZXggZjQ3YzNkZDhkNTEuLmQyYzk2 ZTNkOTJiIDEwMDY0NAorLS0tIGEvZmlsdGVycy93b3Jkcy9tc3dvcmQtb2RmL3d2Mi9zcmMvc3R5 bGVzLmNwcAorKysrIGIvZmlsdGVycy93b3Jkcy9tc3dvcmQtb2RmL3d2Mi9zcmMvc3R5bGVzLmNw cAorQEAgLTQyLDcgKzQyLDYgQEAgU1REOjpTVEQoKQorIH0KKyAKKyBTVEQ6OlNURCggVTE2IGJh c2VTaXplLCBVMTYgdG90YWxTaXplLCBPTEVTdHJlYW1SZWFkZXIqIHN0cmVhbSwgYm9vbCBwcmVz ZXJ2ZVBvcyApCistdGhyb3coSW52YWxpZEZvcm1hdEV4Y2VwdGlvbikKKyB7CisgICAgIGNsZWFy SW50ZXJuYWwoKTsKKyAgICAgaWYgKCFyZWFkKCBiYXNlU2l6ZSwgdG90YWxTaXplLCBzdHJlYW0s IHByZXNlcnZlUG9zICkpIHsKK0BAIC0xMTIsNyArMTExLDYgQEAgU1REJiBTVEQ6Om9wZXJhdG9y PSggY29uc3QgU1REJiByaHMgKQorIH0KKyAKKyBib29sIFNURDo6cmVhZCggY29uc3QgVTE2IGNi U3RkLCBjb25zdCBVMTYgc3RkZlNpemUsIE9MRVN0cmVhbVJlYWRlciogc3RyZWFtLCBib29sIHBy ZXNlcnZlUG9zICkKKy10aHJvdyhJbnZhbGlkRm9ybWF0RXhjZXB0aW9uKQorIHsKKyAgICAgVTE2 IHNoaWZ0ZXJVMTY7CisgICAgIFMzMiBzdGFydE9mZnNldD1zdHJlYW0tPnRlbGwoKTsgIC8vIGFk ZHJlc3Mgd2hlcmUgdGhlIFNURCBzdGFydHMKK0BAIC05MzgsNyArOTM2LDcgQEAgdm9pZCBTdHls ZTo6bWVyZ2VVcGVjaHB4KCBjb25zdCBTdHlsZSogcGFyZW50U3R5bGUsIFdvcmRWZXJzaW9uIHZl cnNpb24gKQorIH0KKyAKKyAKKy1TdHlsZVNoZWV0OjpTdHlsZVNoZWV0KCBPTEVTdHJlYW1SZWFk ZXIqIHRhYmxlU3RyZWFtLCBVMzIgZmNTdHNoZiwgVTMyIGxjYlN0c2hmICkgdGhyb3coSW52YWxp ZEZvcm1hdEV4Y2VwdGlvbikKKytTdHlsZVNoZWV0OjpTdHlsZVNoZWV0KCBPTEVTdHJlYW1SZWFk ZXIqIHRhYmxlU3RyZWFtLCBVMzIgZmNTdHNoZiwgVTMyIGxjYlN0c2hmICkKKyAgICAgOiBtX3Vk c051bSgwKQorIHsKKyAgICAgV29yZFZlcnNpb24gdmVyc2lvbiA9IFdvcmQ4OworZGlmZiAtLWdp dCBhL2ZpbHRlcnMvd29yZHMvbXN3b3JkLW9kZi93djIvc3JjL3N0eWxlcy5oIGIvZmlsdGVycy93 b3Jkcy9tc3dvcmQtb2RmL3d2Mi9zcmMvc3R5bGVzLmgKK2luZGV4IGJhMDJkZWY2ODQ1Li40MWM4 Mjc4ZGQyMSAxMDA2NDQKKy0tLSBhL2ZpbHRlcnMvd29yZHMvbXN3b3JkLW9kZi93djIvc3JjL3N0 eWxlcy5oCisrKysgYi9maWx0ZXJzL3dvcmRzL21zd29yZC1vZGYvd3YyL3NyYy9zdHlsZXMuaAor QEAgLTU4LDggKzU4LDkgQEAgc3RydWN0IFNURAorICAgICBTVEQoKTsKKyAgICAgLyoqCisgICAg ICAqIFNpbXBseSBjYWxscyByZWFkKC4uLikKKysgICAgICogQHRocm93IEludmFsaWRGb3JtYXRF eGNlcHRpb24KKyAgICAgICovCistICAgIFNURCggVTE2IHN0ZGZTaXplLCBVMTYgdG90YWxTaXpl LCBPTEVTdHJlYW1SZWFkZXIqIHN0cmVhbSwgYm9vbCBwcmVzZXJ2ZVBvcyA9IGZhbHNlICkgdGhy b3coSW52YWxpZEZvcm1hdEV4Y2VwdGlvbik7CisrICAgIFNURCggVTE2IHN0ZGZTaXplLCBVMTYg dG90YWxTaXplLCBPTEVTdHJlYW1SZWFkZXIqIHN0cmVhbSwgYm9vbCBwcmVzZXJ2ZVBvcyA9IGZh bHNlICk7CisgICAgIC8qKgorICAgICAgKiBBdHRlbnRpb246IFRoaXMgc3RydWN0IGFsbG9jYXRl cyBtZW1vcnkgb24gdGhlIGhlYXAKKyAgICAgICovCitAQCAtNzQsOCArNzUsOSBAQCBzdHJ1Y3Qg U1RECisgICAgICAqIGZhbHNlIHRoZSBzdGF0ZSBvZiBzdHJlYW0gd2lsbCBiZSBjaGFuZ2VkIQor ICAgICAgKgorICAgICAgKiBAcmV0dXJuIHRydWUgLSBzdWNjZXNzLCBmYWxzZSAtIGZhaWxlZAor KyAgICAgKiBAdGhyb3cgSW52YWxpZEZvcm1hdEV4Y2VwdGlvbgorICAgICAgKi8KKy0gICAgYm9v bCByZWFkKCBjb25zdCBVMTYgY2JTdGQsIGNvbnN0IFUxNiBzdGRmU2l6ZSwgT0xFU3RyZWFtUmVh ZGVyKiBzdHJlYW0sIGJvb2wgcHJlc2VydmVQb3MgPSBmYWxzZSApIHRocm93KEludmFsaWRGb3Jt YXRFeGNlcHRpb24pOworKyAgICBib29sIHJlYWQoIGNvbnN0IFUxNiBjYlN0ZCwgY29uc3QgVTE2 IHN0ZGZTaXplLCBPTEVTdHJlYW1SZWFkZXIqIHN0cmVhbSwgYm9vbCBwcmVzZXJ2ZVBvcyA9IGZh bHNlICk7CisgCisgICAgIC8qKgorICAgICAgKiBTYW1lIGFzIHJlYWRpbmcgOikKK0BAIC0zNjUs NyArMzY3LDEwIEBAIGNsYXNzIFdWMl9FWFBPUlQgU3R5bGUKKyBjbGFzcyBXVjJfRVhQT1JUIFN0 eWxlU2hlZXQKKyB7CisgcHVibGljOgorLSAgICBTdHlsZVNoZWV0KCBPTEVTdHJlYW1SZWFkZXIq IHRhYmxlU3RyZWFtLCBVMzIgZmNTdHNoZiwgVTMyIGxjYlN0c2hmICkgdGhyb3coSW52YWxpZEZv cm1hdEV4Y2VwdGlvbik7CisrICAgIC8qKgorKyAgICAgKiBAdGhyb3cgSW52YWxpZEZvcm1hdEV4 Y2VwdGlvbgorKyAgICAgKi8KKysgICAgU3R5bGVTaGVldCggT0xFU3RyZWFtUmVhZGVyKiB0YWJs ZVN0cmVhbSwgVTMyIGZjU3RzaGYsIFUzMiBsY2JTdHNoZiApOworICAgICB+U3R5bGVTaGVldCgp OworIAorICAgICAvKioKK2RpZmYgLS1naXQgYS9nZW1pbmkvbGliL0dlbWluaU1haW5XaW5kb3cu Y3BwIGIvZ2VtaW5pL2xpYi9HZW1pbmlNYWluV2luZG93LmNwcAoraW5kZXggM2QwNWY2NDYxZTAu LmViNWYxMjBjMGY3IDEwMDY0NAorLS0tIGEvZ2VtaW5pL2xpYi9HZW1pbmlNYWluV2luZG93LmNw cAorKysrIGIvZ2VtaW5pL2xpYi9HZW1pbmlNYWluV2luZG93LmNwcAorQEAgLTEzNiw4ICsxMzYs MTAgQEAgdm9pZCBHZW1pbmlNYWluV2luZG93OjpzZXRGdWxsU2NyZWVuKGJvb2wgbmV3U3RhdGUp CisgfQorIAorIAorKworIHZvaWQgR2VtaW5pTWFpbldpbmRvdzo6Y2hhbmdlU3RhdGUoR2VtaW5p TWFpbldpbmRvdzo6R2VtaW5pU3RhdGUgbmV3U3RhdGUsIGJvb2wgbG9ja05ld1N0YXRlKQorIHsK KysgICAgUV9VTlVTRUQobG9ja05ld1N0YXRlKTsKKyAgICAgZC0+c3luY09iamVjdCA9IG5ldyBH ZW1pbmlNb2RlU3luY2hyb25pc2F0aW9uT2JqZWN0OworIAorICAgICBpZihjZW50cmFsV2lkZ2V0 KCkpIHsKK2RpZmYgLS1naXQgYS9saWJzL3BhZ2VhcHAvS29QQU9kZlBhZ2VTYXZlSGVscGVyLmNw cCBiL2xpYnMvcGFnZWFwcC9Lb1BBT2RmUGFnZVNhdmVIZWxwZXIuY3BwCitpbmRleCA5MmM2ZGZk NGNiNC4uMDY4NTAxYzhhZjEgMTAwNjQ0CistLS0gYS9saWJzL3BhZ2VhcHAvS29QQU9kZlBhZ2VT YXZlSGVscGVyLmNwcAorKysrIGIvbGlicy9wYWdlYXBwL0tvUEFPZGZQYWdlU2F2ZUhlbHBlci5j cHAKK0BAIC00OSw3ICs0OSw3IEBAIEtvUEFPZGZQYWdlU2F2ZUhlbHBlcjo6S29QQU9kZlBhZ2VT YXZlSGVscGVyKCBLb1BBRG9jdW1lbnQgKiBkb2MsIFFMaXN0PEtvUEFQYWdlCisgICAgICAgICAg ICAgS29QQVBhZ2UgKiBwID0gc3RhdGljX2Nhc3Q8S29QQVBhZ2UgKj4oIHBhZ2UgKTsKKyAgICAg ICAgICAgICBtYXN0ZXJQYWdlcy5pbnNlcnQoIHAtPm1hc3RlclBhZ2UoKSApOworICAgICAgICAg fQorLSAgICAgICAgbV9tYXN0ZXJQYWdlcyA9IG1hc3RlclBhZ2VzLnRvTGlzdCgpOworKyAgICAg ICAgbV9tYXN0ZXJQYWdlcyA9IG1hc3RlclBhZ2VzLnZhbHVlcygpOworICAgICB9CisgfQorIAor ZGlmZiAtLWdpdCBhL3BsdWdpbnMvc3BhY2VuYXZpZ2F0b3IvU3BhY2VOYXZpZ2F0b3JEZXZpY2Uu aCBiL3BsdWdpbnMvc3BhY2VuYXZpZ2F0b3IvU3BhY2VOYXZpZ2F0b3JEZXZpY2UuaAoraW5kZXgg YjkwNTZhYzk4YzEuLmVjZDY5NmU0MTVmIDEwMDY0NAorLS0tIGEvcGx1Z2lucy9zcGFjZW5hdmln YXRvci9TcGFjZU5hdmlnYXRvckRldmljZS5oCisrKysgYi9wbHVnaW5zL3NwYWNlbmF2aWdhdG9y L1NwYWNlTmF2aWdhdG9yRGV2aWNlLmgKK0BAIC0zMSwxMCArMzEsOCBAQCBjbGFzcyBTcGFjZU5h dmlnYXRvckRldmljZSA6IHB1YmxpYyBLb0lucHV0RGV2aWNlSGFuZGxlcgorICAgICBleHBsaWNp dCBTcGFjZU5hdmlnYXRvckRldmljZShRT2JqZWN0ICpwYXJlbnQpOworICAgICB2aXJ0dWFsIH5T cGFjZU5hdmlnYXRvckRldmljZSgpOworIAorLSAgICAvLy8gcmVpbXBsZW1lbnRlZCBmcm9tIEtv SW5wdXREZXZpY2VIYW5kbGVyCistICAgIHZpcnR1YWwgYm9vbCBzdGFydCgpOworLSAgICAvLy8g cmVpbXBsZW1lbnRlZCBmcm9tIEtvSW5wdXREZXZpY2VIYW5kbGVyCistICAgIHZpcnR1YWwgYm9v bCBzdG9wKCk7CisrICAgIHZpcnR1YWwgYm9vbCBzdGFydCgpIG92ZXJyaWRlOworKyAgICB2aXJ0 dWFsIGJvb2wgc3RvcCgpIG92ZXJyaWRlOworIHByaXZhdGUgUV9TTE9UUzoKKyAgICAgdm9pZCBz bG90TW92ZUV2ZW50KCBpbnQgeCwgaW50IHksIGludCB6LCBpbnQgcngsIGludCByeSwgaW50IHJ6 LCBRdDo6TW91c2VCdXR0b25zICk7CisgICAgIHZvaWQgc2xvdEJ1dHRvbkV2ZW50KCBpbnQgeCwg aW50IHksIGludCB6LCBpbnQgcngsIGludCByeSwgaW50IHJ6LCBRdDo6TW91c2VCdXR0b25zLCBR dDo6TW91c2VCdXR0b24sIGludCB0eXBlICk7CitkaWZmIC0tZ2l0IGEvcGx1Z2lucy9zcGFjZW5h dmlnYXRvci9TcGFjZU5hdmlnYXRvckV2ZW50LmggYi9wbHVnaW5zL3NwYWNlbmF2aWdhdG9yL1Nw YWNlTmF2aWdhdG9yRXZlbnQuaAoraW5kZXggNzM3NTFlYzg4ZmYuLjc2ZWU4ZTJmODgwIDEwMDY0 NAorLS0tIGEvcGx1Z2lucy9zcGFjZW5hdmlnYXRvci9TcGFjZU5hdmlnYXRvckV2ZW50LmgKKysr KyBiL3BsdWdpbnMvc3BhY2VuYXZpZ2F0b3IvU3BhY2VOYXZpZ2F0b3JFdmVudC5oCitAQCAtMzMs NyArMzMsNyBAQCBjbGFzcyBTcGFjZU5hdmlnYXRvckV2ZW50IDogcHVibGljIEtvSW5wdXREZXZp Y2VIYW5kbGVyRXZlbnQKKyAgICAgdm9pZCBzZXRQb3NpdGlvbiggaW50IHgsIGludCB5LCBpbnQg eiApOworICAgICB2b2lkIHNldFJvdGF0aW9uKCBpbnQgcngsIGludCByeSwgaW50IHJ6ICk7Cisg CistICAgIHZpcnR1YWwgS29Qb2ludGVyRXZlbnQgKiBwb2ludGVyRXZlbnQoKTsKKysgICAgdmly dHVhbCBLb1BvaW50ZXJFdmVudCAqIHBvaW50ZXJFdmVudCgpIG92ZXJyaWRlOworIAorIHByaXZh dGU6CisgICAgIGludCBtX3gsIG1feSwgbV96OworZGlmZiAtLWdpdCBhL3BsdWdpbnMvc3BhY2Vu YXZpZ2F0b3IvU3BhY2VOYXZpZ2F0b3JQb2xsaW5nVGhyZWFkLmggYi9wbHVnaW5zL3NwYWNlbmF2 aWdhdG9yL1NwYWNlTmF2aWdhdG9yUG9sbGluZ1RocmVhZC5oCitpbmRleCA2MmM0ZGU4YWI3My4u NjdkNTkxNzcwMjEgMTAwNjQ0CistLS0gYS9wbHVnaW5zL3NwYWNlbmF2aWdhdG9yL1NwYWNlTmF2 aWdhdG9yUG9sbGluZ1RocmVhZC5oCisrKysgYi9wbHVnaW5zL3NwYWNlbmF2aWdhdG9yL1NwYWNl TmF2aWdhdG9yUG9sbGluZ1RocmVhZC5oCitAQCAtMzksOCArMzksNyBAQCBjbGFzcyBTcGFjZU5h dmlnYXRvclBvbGxpbmdUaHJlYWQgOiBwdWJsaWMgUVRocmVhZAorIAorIHByb3RlY3RlZDoKKyAK Ky0gICAgLy8vIHJlaW1wbGVtZW50ZWQgZnJvbSBRVGhyZWFkCistICAgIHZpcnR1YWwgdm9pZCBy dW4oKTsKKysgICAgdmlydHVhbCB2b2lkIHJ1bigpIG92ZXJyaWRlOworIAorIHByaXZhdGU6Cisg ICAgIGJvb2wgbV9zdG9wcGVkOworZGlmZiAtLWdpdCBhL3BsdWdpbnMvdmVjdG9yc2hhcGUvVmVj dG9yU2hhcGUuY3BwIGIvcGx1Z2lucy92ZWN0b3JzaGFwZS9WZWN0b3JTaGFwZS5jcHAKK2luZGV4 IGEyNWFiM2ZjNTYxLi45YWNiZDI1MWM5NCAxMDA2NDQKKy0tLSBhL3BsdWdpbnMvdmVjdG9yc2hh cGUvVmVjdG9yU2hhcGUuY3BwCisrKysgYi9wbHVnaW5zL3ZlY3RvcnNoYXBlL1ZlY3RvclNoYXBl LmNwcAorQEAgLTI5NCw2ICsyOTQsNyBAQCB2b2lkIFZlY3RvclNoYXBlOjpzYXZlT2RmKEtvU2hh cGVTYXZpbmdDb250ZXh0ICYgY29udGV4dCkgY29uc3QKKyAgICAgICAgIGJyZWFrOworICAgICBj YXNlIFZlY3RvclR5cGVTdmc6CisgICAgICAgICBtaW1lVHlwZSA9ICJpbWFnZS9zdmcreG1sIjsK KysgICAgICAgIGJyZWFrOworICAgICBkZWZhdWx0OgorICAgICAgICAgLy8gRklYTUU6IFdoYXQg aGVyZT8KKyAgICAgICAgIG1pbWVUeXBlID0gImFwcGxpY2F0aW9uL3gtd2hhdCI7CitkaWZmIC0t Z2l0IGEvc2hlZXRzL2Z1bmN0aW9ucy9kYXRldGltZS5jcHAgYi9zaGVldHMvZnVuY3Rpb25zL2Rh dGV0aW1lLmNwcAoraW5kZXggOWY1OWZlMmNmNzUuLjYxNTdiMDk5NmMxIDEwMDY0NAorLS0tIGEv c2hlZXRzL2Z1bmN0aW9ucy9kYXRldGltZS5jcHAKKysrKyBiL3NoZWV0cy9mdW5jdGlvbnMvZGF0 ZXRpbWUuY3BwCitAQCAtNTk3LDYgKzU5Nyw3IEBAIFZhbHVlIGZ1bmNfY3VycmVudERhdGUodmFs VmVjdG9yLCBWYWx1ZUNhbGMgKiBjYWxjLCBGdW5jRXh0cmEgKikKKyAvLyBGdW5jdGlvbjogQ1VS UkVOVFRJTUUKKyBWYWx1ZSBmdW5jX2N1cnJlbnRUaW1lKHZhbFZlY3RvciwgVmFsdWVDYWxjICog Y2FsYywgRnVuY0V4dHJhICopCisgeworKyAgICBRX1VOVVNFRChjYWxjKTsKKyAgICAgcmV0dXJu IFZhbHVlKFFUaW1lOjpjdXJyZW50VGltZSgpKTsKKyB9CisgCitkaWZmIC0tZ2l0IGEvc2hlZXRz L3BhcnQvRGlnZXN0LmNwcCBiL3NoZWV0cy9wYXJ0L0RpZ2VzdC5jcHAKK2luZGV4IDhjZDk3MmRi OTg5Li5lOTI0NmNlNmU3ZCAxMDA2NDQKKy0tLSBhL3NoZWV0cy9wYXJ0L0RpZ2VzdC5jcHAKKysr KyBiL3NoZWV0cy9wYXJ0L0RpZ2VzdC5jcHAKK0BAIC01OTYsMTAgKzU5NiwxMCBAQCBzdGF0aWMg dm9pZCBfX3J0bF9kaWdlc3RfZW5kU0hBKERpZ2VzdENvbnRleHRTSEEgKmN0eCkKKyAgICAgfQor IAorICAgICBzd2l0Y2ggKGN0eC0+bV9uRGF0TGVuICYgMHgwMykgeworLSAgICBjYXNlIDA6IFhb aV0gID0gKChzYWxfdUludDMyKSgqKHArKykpKSA8PCAgMEw7CistICAgIGNhc2UgMTogWFtpXSB8 PSAoKHNhbF91SW50MzIpKCoocCsrKSkpIDw8ICA4TDsKKy0gICAgY2FzZSAyOiBYW2ldIHw9ICgo c2FsX3VJbnQzMikoKihwKyspKSkgPDwgMTZMOworLSAgICBjYXNlIDM6IFhbaV0gfD0gKChzYWxf dUludDMyKSgqKHArKykpKSA8PCAyNEw7CisrICAgIGNhc2UgMDogWFtpXSAgPSAoKHNhbF91SW50 MzIpKCoocCsrKSkpIDw8ICAwTDsgLyogZmFsbCB0aHJvdWdoICovCisrICAgIGNhc2UgMTogWFtp XSB8PSAoKHNhbF91SW50MzIpKCoocCsrKSkpIDw8ICA4TDsgLyogZmFsbCB0aHJvdWdoICovCisr ICAgIGNhc2UgMjogWFtpXSB8PSAoKHNhbF91SW50MzIpKCoocCsrKSkpIDw8IDE2TDsgLyogZmFs bCB0aHJvdWdoICovCisrICAgIGNhc2UgMzogWFtpXSB8PSAoKHNhbF91SW50MzIpKCoocCsrKSkp IDw8IDI0TDsgLyogZmFsbCB0aHJvdWdoICovCisgICAgIH0KKyAKKyAgICAgX19ydGxfZGlnZXN0 X3N3YXBMb25nKFgsIGkgKyAxKTsKK2RpZmYgLS1naXQgYS9zaGVldHMvc2hhcGUvVGFibGVUb29s RmFjdG9yeS5oIGIvc2hlZXRzL3NoYXBlL1RhYmxlVG9vbEZhY3RvcnkuaAoraW5kZXggNjc5YmZl MTRiOGUuLjk0MTJkOGZmZGM1IDEwMDY0NAorLS0tIGEvc2hlZXRzL3NoYXBlL1RhYmxlVG9vbEZh Y3RvcnkuaAorKysrIGIvc2hlZXRzL3NoYXBlL1RhYmxlVG9vbEZhY3RvcnkuaAorQEAgLTM0LDcg KzM0LDcgQEAgY2xhc3MgVGFibGVUb29sRmFjdG9yeSA6IHB1YmxpYyBLb1Rvb2xGYWN0b3J5QmFz ZQorICAgICBUYWJsZVRvb2xGYWN0b3J5KCk7CisgICAgIH5UYWJsZVRvb2xGYWN0b3J5KCk7Cisg CistICAgIEtvVG9vbEJhc2UqIGNyZWF0ZVRvb2woS29DYW52YXNCYXNlKiBjYW52YXMpOworKyAg ICBLb1Rvb2xCYXNlKiBjcmVhdGVUb29sKEtvQ2FudmFzQmFzZSogY2FudmFzKSBvdmVycmlkZTsK KyB9OworIAorIH0gLy8gbmFtZXNwYWNlIFNoZWV0cworZGlmZiAtLWdpdCBhL3NoZWV0cy90ZXN0 cy9UZXN0U29ydC5jcHAgYi9zaGVldHMvdGVzdHMvVGVzdFNvcnQuY3BwCitpbmRleCBiM2YxZTM1 MTY5ZC4uNjM1NGQ3OWFiYzUgMTAwNjQ0CistLS0gYS9zaGVldHMvdGVzdHMvVGVzdFNvcnQuY3Bw CisrKysgYi9zaGVldHMvdGVzdHMvVGVzdFNvcnQuY3BwCitAQCAtNjgsNyArNjgsNyBAQCB2b2lk IFRlc3RTb3J0OjpBc2NlbmRpbmdPcmRlcigpCisgICAgIGNvbW1hbmQtPnNldFNoZWV0KHNoZWV0 KTsKKyAKKyAgICAgLy8gUGFyYW1ldGVycy4KKy0gICAgY29tbWFuZC0+c2V0U29ydFJvd3MoUXQ6 OlZlcnRpY2FsKTsKKysgICAgY29tbWFuZC0+c2V0U29ydFJvd3ModHJ1ZSk7CisgICAgIGNvbW1h bmQtPnNldFNraXBGaXJzdChmYWxzZSk7CisgICAgIGNvbW1hbmQtPnNldENvcHlGb3JtYXQoZmFs c2UpOworIAorQEAgLTEyMSw3ICsxMjEsNyBAQCB2b2lkIFRlc3RTb3J0OjpEZXNjZW5kaW5nT3Jk ZXIoKQorICAgICBjb21tYW5kLT5zZXRTaGVldChzaGVldCk7CisgCisgICAgIC8vIFBhcmFtZXRl cnMuCistICAgIGNvbW1hbmQtPnNldFNvcnRSb3dzKFF0OjpWZXJ0aWNhbCk7CisrICAgIGNvbW1h bmQtPnNldFNvcnRSb3dzKHRydWUpOworICAgICBjb21tYW5kLT5zZXRTa2lwRmlyc3QoZmFsc2Up OworICAgICBjb21tYW5kLT5zZXRDb3B5Rm9ybWF0KGZhbHNlKTsKKyAKZGlmZiAtLWdpdCBhL3Ny Y3BrZ3MvY2FsbGlncmEvcGF0Y2hlcy8wMDAyLU1ha2Utc2hvdy1oaWRkZW4tcm93LXMtd29yay5w YXRjaCBiL3NyY3BrZ3MvY2FsbGlncmEvcGF0Y2hlcy8wMDAyLU1ha2Utc2hvdy1oaWRkZW4tcm93 LXMtd29yay5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmQ0 YjA4MmI5YTBmMQotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvY2FsbGlncmEvcGF0Y2hlcy8w MDAyLU1ha2Utc2hvdy1oaWRkZW4tcm93LXMtd29yay5wYXRjaApAQCAtMCwwICsxLDI5IEBACitG cm9tIDIyZTAyOTk4ZGVjOGFmMTVhMjViN2U4ZTNkNTNjMTc0ODEwY2MzYmUgTW9uIFNlcCAxNyAw MDowMDowMCAyMDAxCitGcm9tOiBEYWcgQW5kZXJzZW4gPGRhbmRlcnNAZ2V0Mm5ldC5kaz4KK0Rh dGU6IFRodSwgMTEgSnVuIDIwMjAgMTA6NDM6MzggKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gTWFr ZSBzaG93IGhpZGRlbiByb3cocykgd29yaworCitDaGVjayBmb3IgaGlkZGVuIHJvd3Mgd2FzIGlu dmVydGVkIHRvIGNoZWNrIGZvciBzaG93biByb3dzLAoraGVuY2UgaGlkZGVuIHJvd3Mgd291bGQg bmV2ZXIgYmUgdW5oaWRkZW4uCisKK0JVRzozMzg4MTYKK0JVRzozNTQyMzYKK0ZJWEVELUlOOjMu Mi4yCisoY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCAyODkyMGM1MGU2MzAwZDY0MzQ3N2YyNTZh YmE5MWM4YzUxODM2NjgyKQorLS0tCisgc2hlZXRzL2NvbW1hbmRzL1Jvd0NvbHVtbk1hbmlwdWxh dG9ycy5jcHAgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0 aW9uKC0pCisKK2RpZmYgLS1naXQgYS9zaGVldHMvY29tbWFuZHMvUm93Q29sdW1uTWFuaXB1bGF0 b3JzLmNwcCBiL3NoZWV0cy9jb21tYW5kcy9Sb3dDb2x1bW5NYW5pcHVsYXRvcnMuY3BwCitpbmRl eCA5NTI4MmQ2ZTMxYi4uMjVlOGM0NTRlMjcgMTAwNjQ0CistLS0gYS9zaGVldHMvY29tbWFuZHMv Um93Q29sdW1uTWFuaXB1bGF0b3JzLmNwcAorKysrIGIvc2hlZXRzL2NvbW1hbmRzL1Jvd0NvbHVt bk1hbmlwdWxhdG9ycy5jcHAKK0BAIC0xOTIsNyArMTkyLDcgQEAgYm9vbCBIaWRlU2hvd01hbmlw dWxhdG9yOjpwcmVQcm9jZXNzaW5nKCkKKyAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAg ICAgICAgICAgfQorICAgICAgICAgICAgICAgICBmb3IgKGludCByb3cgPSByYW5nZS50b3AoKTsg cm93IDw9IHJhbmdlLmJvdHRvbSgpOyArK3JvdykgeworLSAgICAgICAgICAgICAgICAgICAgaWYg KCFtX3NoZWV0LT5yb3dGb3JtYXRzKCktPmlzSGlkZGVuKHJvdykpIHsKKysgICAgICAgICAgICAg ICAgICAgIGlmIChtX3NoZWV0LT5yb3dGb3JtYXRzKCktPmlzSGlkZGVuKHJvdykpIHsKKyAgICAg ICAgICAgICAgICAgICAgICAgICByZWdpb24uYWRkKFFSZWN0KDEsIHJvdywgS1NfY29sTWF4LCAx KSk7CisgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgIH0KZGlmZiAtLWdp dCBhL3NyY3BrZ3MvY2FsbGlncmEvcGF0Y2hlcy9jKysxNy5wYXRjaCBiL3NyY3BrZ3MvY2FsbGln cmEvcGF0Y2hlcy9jKysxNy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw MDAwMDAuLjFkYjgzODUxNjFhMwotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvY2FsbGlncmEv cGF0Y2hlcy9jKysxNy5wYXRjaApAQCAtMCwwICsxLDE2IEBACitkaWZmIC1OYXVyIENNYWtlTGlz dHMudHh0Lm9yaWcgQ01ha2VMaXN0cy50eHQKKy0tLSBhL0NNYWtlTGlzdHMudHh0Lm9yaWcKKysr KyBiL0NNYWtlTGlzdHMudHh0CitAQCAtMTA2LDkgKzEwNiw5IEBACisgCisgIyB1c2UgQ1BQLTEx CisgaWYgKENNQUtFX1ZFUlNJT04gVkVSU0lPTl9MRVNTICIzLjEiKQorLSAgICBzZXQgKENNQUtF X0NYWF9GTEFHUyAiJHtDTUFLRV9DWFhfRkxBR1N9IC1zdGQ9YysrMTEiKQorKyAgICBzZXQgKENN QUtFX0NYWF9GTEFHUyAiJHtDTUFLRV9DWFhfRkxBR1N9IC1zdGQ9YysrMTciKQorIGVsc2UgKCkK Ky0gICAgc2V0IChDTUFLRV9DWFhfU1RBTkRBUkQgMTEpCisrICAgIHNldCAoQ01BS0VfQ1hYX1NU QU5EQVJEIDE3KQorIGVuZGlmICgpCisgCisgIyMjIyMjIyMjIyMjCisKZGlmZiAtLWdpdCBhL3Ny Y3BrZ3MvY2FsbGlncmEvcGF0Y2hlcy9wb3BwbGVyLTIyLjAzLjAtZml4LnBhdGNoIGIvc3JjcGtn cy9jYWxsaWdyYS9wYXRjaGVzL3BvcHBsZXItMjIuMDMuMC1maXgucGF0Y2gKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi43ZGFiNTNiY2ZjN2YKLS0tIC9kZXYvbnVsbAor KysgYi9zcmNwa2dzL2NhbGxpZ3JhL3BhdGNoZXMvcG9wcGxlci0yMi4wMy4wLWZpeC5wYXRjaApA QCAtMCwwICsxLDcwIEBACitGcm9tIDIzNmJhY2JlMTM3Mzk0MTRlOTE5ZGU4NjgyODNiMGNhZjJk ZjVkOGEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBBbGJlcnQgQXN0YWxzIENpZCA8 YWFjaWRAa2RlLm9yZz4KK0RhdGU6IFdlZCwgMTMgQXByIDIwMjIgMDE6MjU6NDQgKzAyMDAKK1N1 YmplY3Q6IFtQQVRDSF0gUGRmSW1wb3J0OiBGaXggY29tcGlsZSB3aXRoIG5ld2VyIHBvcHBsZXIK KworQnJpbmdzIGEgZGVwZW5kZW5jeSBvbiBwb3BwbGVyLXF0NSB0byBiZSBhYmxlIHRvIGluY2x1 ZGUgdGhlIHZlcnNpb24KK2hlYWRlciwgaG9uZXN0bHkgaXQncyBub3Qgc3RyaWN0bHkgbmVlZGVk LCBvbmUgY291bGQgZG8gYQorY2hlY2tfY3h4X3NvdXJjZV9jb21waWxlcywgYnV0IEkgZG9uJ3Qg Y2FyZSBhYm91dCBDYWxsaWdyYSBlbm91Z2ggdG8KK3NwZW5kIG1vcmUgdGltZSBtYWtpbmcgaXQg Y29tcGlsZSB3aGlsZSBpdCdzIHVzaW5nIHBvcHBsZXIgdGhlIHdyb25nCit3YXkuCistLS0KKyBD TWFrZUxpc3RzLnR4dCAgICAgICAgICAgICAgICAgICAgfCAxICsKKyBmaWx0ZXJzL2thcmJvbi9w ZGYvQ01ha2VMaXN0cy50eHQgfCAyICstCisgZmlsdGVycy9rYXJib24vcGRmL1BkZkltcG9ydC5j cHAgIHwgOSArKysrKysrKysKKyAzIGZpbGVzIGNoYW5nZWQsIDExIGluc2VydGlvbnMoKyksIDEg ZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL0NNYWtlTGlzdHMudHh0IGIvQ01ha2VMaXN0cy50 eHQKK2luZGV4IDUxZjFkNjViOGU2Li4wNmJiYWQ1YzI0YyAxMDA2NDQKKy0tLSBhL0NNYWtlTGlz dHMudHh0CisrKysgYi9DTWFrZUxpc3RzLnR4dAorQEAgLTk1Miw2ICs5NTIsNyBAQCBjYWxsaWdy YV9kcm9wX3Byb2R1Y3Rfb25fYmFkX2NvbmRpdGlvbiggRklMVEVSX1dQR19UT19PREcKKyBjYWxs aWdyYV9kcm9wX3Byb2R1Y3Rfb25fYmFkX2NvbmRpdGlvbiggRklMVEVSX1BERl9UT19TVkcKKyAg ICAgTk9UX1dJTiAibm90IHN1cHBvcnRlZCBvbiBXaW5kb3dzIgorICAgICBQb3BwbGVyWFBERkhl YWRlcnNfRk9VTkQgInBvcHBsZXIgeHBkZiBoZWFkZXJzIG5vdCBmb3VuZCIKKysgICAgUG9wcGxl cl9GT1VORCAicG9wcGxlciBxdDUgaGVhZGVycyBub3QgZm91bmQiCisgICAgICkKKyAKKyBjYWxs aWdyYV9kcm9wX3Byb2R1Y3Rfb25fYmFkX2NvbmRpdGlvbiggRklMVEVSX0hUTUxfVE9fT0RTCitk aWZmIC0tZ2l0IGEvZmlsdGVycy9rYXJib24vcGRmL0NNYWtlTGlzdHMudHh0IGIvZmlsdGVycy9r YXJib24vcGRmL0NNYWtlTGlzdHMudHh0CitpbmRleCA4ZmRkZjFhZDc1Ny4uYjcxYzkyY2JmMDQg MTAwNjQ0CistLS0gYS9maWx0ZXJzL2thcmJvbi9wZGYvQ01ha2VMaXN0cy50eHQKKysrKyBiL2Zp bHRlcnMva2FyYm9uL3BkZi9DTWFrZUxpc3RzLnR4dAorQEAgLTMsNyArMyw3IEBAIHNldChwZGYy c3ZnX1BBUlRfU1JDUyBQZGZJbXBvcnREZWJ1Zy5jcHAgUGRmSW1wb3J0LmNwcCBTdmdPdXRwdXRE ZXYuY3BwICkKKyBhZGRfbGlicmFyeShjYWxsaWdyYV9maWx0ZXJfcGRmMnN2ZyBNT0RVTEUgJHtw ZGYyc3ZnX1BBUlRfU1JDU30pCisgY2FsbGlncmFfZmlsdGVyX2Rlc2t0b3BfdG9fanNvbihjYWxs aWdyYV9maWx0ZXJfcGRmMnN2ZyBjYWxsaWdyYV9maWx0ZXJfcGRmMnN2Zy5kZXNrdG9wKQorIAor LXRhcmdldF9saW5rX2xpYnJhcmllcyhjYWxsaWdyYV9maWx0ZXJfcGRmMnN2ZyBrb21haW4gUG9w cGxlcjo6Q29yZSkKKyt0YXJnZXRfbGlua19saWJyYXJpZXMoY2FsbGlncmFfZmlsdGVyX3BkZjJz dmcga29tYWluIFBvcHBsZXI6OkNvcmUgUG9wcGxlcjo6UXQ1KQorIAorIGluc3RhbGwoVEFSR0VU UyBjYWxsaWdyYV9maWx0ZXJfcGRmMnN2ZyBERVNUSU5BVElPTiAke1BMVUdJTl9JTlNUQUxMX0RJ Un0vY2FsbGlncmEvZm9ybWF0ZmlsdGVycykKKyAKK2RpZmYgLS1naXQgYS9maWx0ZXJzL2thcmJv bi9wZGYvUGRmSW1wb3J0LmNwcCBiL2ZpbHRlcnMva2FyYm9uL3BkZi9QZGZJbXBvcnQuY3BwCitp bmRleCBhYmJlNjgxYjRlOC4uZTk3OTc0ZmMxMzMgMTAwNjQ0CistLS0gYS9maWx0ZXJzL2thcmJv bi9wZGYvUGRmSW1wb3J0LmNwcAorKysrIGIvZmlsdGVycy9rYXJib24vcGRmL1BkZkltcG9ydC5j cHAKK0BAIC0xNyw2ICsxNywxMCBAQAorIAorICNpbmNsdWRlIDxrcGx1Z2luZmFjdG9yeS5oPgor IAorKyNpbmNsdWRlIDxwb3BwbGVyLXZlcnNpb24uaD4KKysKKysjZGVmaW5lIFBPUFBMRVJfVkVS U0lPTl9NQUNSTyAoKFBPUFBMRVJfVkVSU0lPTl9NQUpPUiA8PCAxNikgfCAoUE9QUExFUl9WRVJT SU9OX01JTk9SIDw8IDgpIHwgKFBPUFBMRVJfVkVSU0lPTl9NSUNSTykpCisrCisgLy8gRG9uJ3Qg c2hvdyB0aGlzIHdhcm5pbmc6IGl0J3MgYW4gaXNzdWUgaW4gcG9wcGxlcgorICNpZmRlZiBfX0dO VUNfXworICNwcmFnbWEgR0NDIGRpYWdub3N0aWMgaWdub3JlZCAiLVd1bnVzZWQtcGFyYW1ldGVy IgorQEAgLTU0LDggKzU4LDEzIEBAIEtvRmlsdGVyOjpDb252ZXJzaW9uU3RhdHVzIFBkZkltcG9y dDo6Y29udmVydChjb25zdCBRQnl0ZUFycmF5JiBmcm9tLCBjb25zdCBRQnl0CisgICAgIGlmICgh IGdsb2JhbFBhcmFtcykKKyAgICAgICAgIHJldHVybiBLb0ZpbHRlcjo6Tm90SW1wbGVtZW50ZWQ7 CisgCisrI2lmIFBPUFBMRVJfVkVSU0lPTl9NQUNSTyA8IFFUX1ZFUlNJT05fQ0hFQ0soMjIsIDAz LCAwKQorICAgICBHb29TdHJpbmcgKiBmbmFtZSA9IG5ldyBHb29TdHJpbmcoUUZpbGU6OmVuY29k ZU5hbWUobV9jaGFpbi0+aW5wdXRGaWxlKCkpLmRhdGEoKSk7CisgICAgIFBERkRvYyAqIHBkZkRv YyA9IG5ldyBQREZEb2MoZm5hbWUsIDAsIDAsIDApOworKyNlbHNlCisrICAgIHN0ZDo6dW5pcXVl X3B0cjxHb29TdHJpbmc+IGZuYW1lID0gc3RkOjptYWtlX3VuaXF1ZTxHb29TdHJpbmc+KFFGaWxl OjplbmNvZGVOYW1lKG1fY2hhaW4tPmlucHV0RmlsZSgpKS5kYXRhKCkpOworKyAgICBQREZEb2Mg KiBwZGZEb2MgPSBuZXcgUERGRG9jKHN0ZDo6bW92ZShmbmFtZSkpOworKyNlbmRpZgorICAgICBp ZiAoISBwZGZEb2MpIHsKKyAgICAgICAgIGdsb2JhbFBhcmFtcy5yZXNldCgpOworICAgICAgICAg cmV0dXJuIEtvRmlsdGVyOjpTdHVwaWRFcnJvcjsKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY2FsbGln cmEvdGVtcGxhdGUgYi9zcmNwa2dzL2NhbGxpZ3JhL3RlbXBsYXRlCmluZGV4IDg5ZDBiMTY0OGU5 ZS4uN2MxNDExYmYzZGE2IDEwMDY0NAotLS0gYS9zcmNwa2dzL2NhbGxpZ3JhL3RlbXBsYXRlCisr KyBiL3NyY3BrZ3MvY2FsbGlncmEvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRl IGZpbGUgZm9yICdjYWxsaWdyYScKIHBrZ25hbWU9Y2FsbGlncmEKIHZlcnNpb249My4yLjEKLXJl dmlzaW9uPTYKK3JldmlzaW9uPTcKIGJ1aWxkX3N0eWxlPWNtYWtlCiBjb25maWd1cmVfYXJncz0i LVduby1kZXYgLURDQUxMSUdSQV9TSE9VTERfQlVJTERfVU5NQUlOVEFJTkVEPU9OCiAgLURCVUlM RF9URVNUSU5HPU9GRiIKCkZyb20gZmM2NjE2Yjk4NDM5NzI4MDE4MzRlYTEzYzE4YmJmOThkNGJh ODExNCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogb3JlbzYzOSA8MzE5MTYzNzkrT3Jl bzYzOUB1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+CkRhdGU6IEZyaSwgMjUgTWFyIDIwMjIgMTg6 MzQ6MDcgLTA3MDAKU3ViamVjdDogW1BBVENIIDUvOF0gaW5rc2NhcGU6IHJlYnVpbGQgYWdhaW5z dCBsaWJwb3BwbGVyIDIyLjA0LjAKCi0tLQogLi4uaWJpbGl0eS13aXRoLVBvcHBsZXItMjIuMDMt YW5kLWxhdGVyLnBhdGNoIHwgNTAgKysrKysrKysrKysrKysrKysrKwogLi4uL0ZpeC1idWlsZC13 aXRoLXBvcHBsZXItMjEuMTEuMC5wYXRjaCAgICAgIHwgMjkgKysrKysrKysrKysKIHNyY3BrZ3Mv aW5rc2NhcGUvdGVtcGxhdGUgICAgICAgICAgICAgICAgICAgICB8ICAyICstCiAzIGZpbGVzIGNo YW5nZWQsIDgwIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKIGNyZWF0ZSBtb2RlIDEwMDY0 NCBzcmNwa2dzL2lua3NjYXBlL3BhdGNoZXMvRW5zdXJlLWNvbXBhdGliaWxpdHktd2l0aC1Qb3Bw bGVyLTIyLjAzLWFuZC1sYXRlci5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvaW5r c2NhcGUvcGF0Y2hlcy9GaXgtYnVpbGQtd2l0aC1wb3BwbGVyLTIxLjExLjAucGF0Y2gKCmRpZmYg LS1naXQgYS9zcmNwa2dzL2lua3NjYXBlL3BhdGNoZXMvRW5zdXJlLWNvbXBhdGliaWxpdHktd2l0 aC1Qb3BwbGVyLTIyLjAzLWFuZC1sYXRlci5wYXRjaCBiL3NyY3BrZ3MvaW5rc2NhcGUvcGF0Y2hl cy9FbnN1cmUtY29tcGF0aWJpbGl0eS13aXRoLVBvcHBsZXItMjIuMDMtYW5kLWxhdGVyLnBhdGNo Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uMjk3ZWY2Nzc2NjVlCi0t LSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9pbmtzY2FwZS9wYXRjaGVzL0Vuc3VyZS1jb21wYXRp YmlsaXR5LXdpdGgtUG9wcGxlci0yMi4wMy1hbmQtbGF0ZXIucGF0Y2gKQEAgLTAsMCArMSw1MCBA QAorRnJvbSBhMThjNTdmZmZmMzEzZmQwOGJjOGE0NGY2YjZiZjBiMDFkN2U5Yjc1IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQorRnJvbTogRXZhbmdlbG9zIEZvdXRyYXMgPGV2YW5nZWxvc0Bmb3V0 cmVsaXMuY29tPgorRGF0ZTogU3VuLCAyMCBNYXIgMjAyMiAyMjo0MTo1MSAtMDMwMAorU3ViamVj dDogW1BBVENIXSBFbnN1cmUgY29tcGF0aWJpbGl0eSB3aXRoIFBvcHBsZXIgMjIuMDMgYW5kIGxh dGVyCisKK1RoaXMgY2hhbmdlIGVuc3VyZXMgdGhhdCBJbmtzY2FwZSB3aWxsIGJ1aWxkIGFnYWlu c3QgUG9wcGxlciAyMi4wMyBhZnRlcgordGhlIGNoYW5nZXMgdGhhdCB3ZXJlIG1hZGUgdG8gdGhl IGNvbnN0cnVjdG9yIG9mIGBQREZEb2NgLgorCitTZWU6IGh0dHBzOi8vZ2l0bGFiLmZyZWVkZXNr dG9wLm9yZy9wb3BwbGVyL3BvcHBsZXIvLS9jb21taXQvNGYyYWJkM2VmCisKK0NvLWF1dGhvcmVk LWJ5OiBSYWZhZWwgU2llamFrb3dza2kgPHJzQHJzLW1hdGgubmV0PgorLS0tCisgc3JjL2V4dGVu c2lvbi9pbnRlcm5hbC9wZGZpbnB1dC9wZGYtaW5wdXQuY3BwICAgICAgICAgICAgfCAzICstLQor IHNyYy9leHRlbnNpb24vaW50ZXJuYWwvcGRmaW5wdXQvcG9wcGxlci10cmFuc2l0aW9uLWFwaS5o IHwgNiArKysrKysKKyAyIGZpbGVzIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlv bnMoLSkKKworZGlmZiAtLWdpdCBhL3NyYy9leHRlbnNpb24vaW50ZXJuYWwvcGRmaW5wdXQvcGRm LWlucHV0LmNwcCBiL3NyYy9leHRlbnNpb24vaW50ZXJuYWwvcGRmaW5wdXQvcGRmLWlucHV0LmNw cAoraW5kZXggM2RhYmM5NGJhMi4uMDc5YjBkYzcxMyAxMDA2NDQKKy0tLSBhL3NyYy9leHRlbnNp b24vaW50ZXJuYWwvcGRmaW5wdXQvcGRmLWlucHV0LmNwcAorKysrIGIvc3JjL2V4dGVuc2lvbi9p bnRlcm5hbC9wZGZpbnB1dC9wZGYtaW5wdXQuY3BwCitAQCAtNjg4LDggKzY4OCw3IEBAIFBkZklu cHV0OjpvcGVuKDo6SW5rc2NhcGU6OkV4dGVuc2lvbjo6SW5wdXQgKiAvKm1vZCovLCBjb25zdCBn Y2hhciAqIHVyaSkgeworIAorICAgICAvLyBwb3BwbGVyIGRvZXMgbm90IHVzZSBnbGliIGdfb3Bl bi4gU28gb24gd2luMzIgd2UgbXVzdCB1c2UgdW5pY29kZSBjYWxsLiBjb2RlIHdhcyBjb3BpZWQg ZnJvbQorICAgICAvLyBnbGliIGdzdGRpby5jCistICAgIEdvb1N0cmluZyAqZmlsZW5hbWVfZ29v ID0gbmV3IEdvb1N0cmluZyh1cmkpOworLSAgICBwZGZfZG9jID0gc3RkOjptYWtlX3NoYXJlZDxQ REZEb2M+KGZpbGVuYW1lX2dvbywgbnVsbHB0ciwgbnVsbHB0ciwgbnVsbHB0cik7ICAgLy8gVE9E TzogQ291bGQgYXNrIGZvciBwYXNzd29yZAorKyAgICBwZGZfZG9jID0gX1BPUFBMRVJfTUFLRV9T SEFSRURfUERGRE9DKHVyaSk7IC8vIFRPRE86IENvdWxkIGFzayBmb3IgcGFzc3dvcmQKKyAKKyAg ICAgaWYgKCFwZGZfZG9jLT5pc09rKCkpIHsKKyAgICAgICAgIGludCBlcnJvciA9IHBkZl9kb2Mt PmdldEVycm9yQ29kZSgpOworZGlmZiAtLWdpdCBhL3NyYy9leHRlbnNpb24vaW50ZXJuYWwvcGRm aW5wdXQvcG9wcGxlci10cmFuc2l0aW9uLWFwaS5oIGIvc3JjL2V4dGVuc2lvbi9pbnRlcm5hbC9w ZGZpbnB1dC9wb3BwbGVyLXRyYW5zaXRpb24tYXBpLmgKK2luZGV4IDg3YTE5ZDRjNDIuLjUwYjYx N2MyNWMgMTAwNjQ0CistLS0gYS9zcmMvZXh0ZW5zaW9uL2ludGVybmFsL3BkZmlucHV0L3BvcHBs ZXItdHJhbnNpdGlvbi1hcGkuaAorKysrIGIvc3JjL2V4dGVuc2lvbi9pbnRlcm5hbC9wZGZpbnB1 dC9wb3BwbGVyLXRyYW5zaXRpb24tYXBpLmgKK0BAIC0xNCw2ICsxNCwxMiBAQAorIAorICNpbmNs dWRlIDxnbGliL3BvcHBsZXItZmVhdHVyZXMuaD4KKyAKKysjaWYgUE9QUExFUl9DSEVDS19WRVJT SU9OKDIyLCAzLCAwKQorKyNkZWZpbmUgX1BPUFBMRVJfTUFLRV9TSEFSRURfUERGRE9DKHVyaSkg c3RkOjptYWtlX3NoYXJlZDxQREZEb2M+KHN0ZDo6bWFrZV91bmlxdWU8R29vU3RyaW5nPih1cmkp KQorKyNlbHNlCisrI2RlZmluZSBfUE9QUExFUl9NQUtFX1NIQVJFRF9QREZET0ModXJpKSBzdGQ6 Om1ha2Vfc2hhcmVkPFBERkRvYz4obmV3IEdvb1N0cmluZyh1cmkpLCBudWxscHRyLCBudWxscHRy LCBudWxscHRyKQorKyNlbmRpZgorKworICNpZiBQT1BQTEVSX0NIRUNLX1ZFUlNJT04oMCwgODMs IDApCisgI2RlZmluZSBfUE9QUExFUl9DT05TVF84MyBjb25zdAorICNlbHNlCistLSAKK0dpdExh YgorCmRpZmYgLS1naXQgYS9zcmNwa2dzL2lua3NjYXBlL3BhdGNoZXMvRml4LWJ1aWxkLXdpdGgt cG9wcGxlci0yMS4xMS4wLnBhdGNoIGIvc3JjcGtncy9pbmtzY2FwZS9wYXRjaGVzL0ZpeC1idWls ZC13aXRoLXBvcHBsZXItMjEuMTEuMC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwMDAwMDAuLjVkN2Y0ODAxMjczZAotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvaW5r c2NhcGUvcGF0Y2hlcy9GaXgtYnVpbGQtd2l0aC1wb3BwbGVyLTIxLjExLjAucGF0Y2gKQEAgLTAs MCArMSwyOSBAQAorRnJvbSA1NzI0YzIxYjljYjdiNjE3NmE3YjM2Y2EyNDA2OGIxNDhjODE3ZTgy IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogRXZhbmdlbG9zIEZvdXRyYXMgPGV2YW5n ZWxvc0Bmb3V0cmVsaXMuY29tPgorRGF0ZTogTW9uLCAxIE5vdiAyMDIxIDIxOjQ1OjM4ICswMjAw CitTdWJqZWN0OiBbUEFUQ0hdIEZpeCBidWlsZCB3aXRoIHBvcHBsZXIgMjEuMTEuMAorCitHZnhG b250Ojp0YWcgaXMgbm93IG9mIHR5cGUgc3RkOjpzdHJpbmcgaW5zdGVhZCBvZiBHb29TdHJpbmcg Ki4KKy0tLQorIHNyYy9leHRlbnNpb24vaW50ZXJuYWwvcGRmaW5wdXQvcGRmLXBhcnNlci5jcHAg fCA0ICsrKysKKyAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQg YS9zcmMvZXh0ZW5zaW9uL2ludGVybmFsL3BkZmlucHV0L3BkZi1wYXJzZXIuY3BwIGIvc3JjL2V4 dGVuc2lvbi9pbnRlcm5hbC9wZGZpbnB1dC9wZGYtcGFyc2VyLmNwcAoraW5kZXggZTNkMDRkNTQ0 Yi4uZmVlY2VmYTA0MyAxMDA2NDQKKy0tLSBhL3NyYy9leHRlbnNpb24vaW50ZXJuYWwvcGRmaW5w dXQvcGRmLXBhcnNlci5jcHAKKysrKyBiL3NyYy9leHRlbnNpb24vaW50ZXJuYWwvcGRmaW5wdXQv cGRmLXBhcnNlci5jcHAKK0BAIC0yMTY5LDcgKzIxNjksMTEgQEAgdm9pZCBQZGZQYXJzZXI6Om9w U2V0Rm9udChPYmplY3QgYXJnc1tdLCBpbnQgLypudW1BcmdzKi8pCisgICB9CisgICBpZiAocHJp bnRDb21tYW5kcykgeworICAgICBwcmludGYoIiAgZm9udDogdGFnPSVzIG5hbWU9JyVzJyAlZ1xu IiwKKysjaWYgUE9QUExFUl9DSEVDS19WRVJTSU9OKDIxLDExLDApCisrCSAgIGZvbnQtPmdldFRh ZygpLmNfc3RyKCksCisrI2Vsc2UKKyAJICAgZm9udC0+Z2V0VGFnKCktPmdldENTdHJpbmcoKSwK KysjZW5kaWYKKyAJICAgZm9udC0+Z2V0TmFtZSgpID8gZm9udC0+Z2V0TmFtZSgpLT5nZXRDU3Ry aW5nKCkgOiAiPz8/IiwKKyAJICAgYXJnc1sxXS5nZXROdW0oKSk7CisgICAgIGZmbHVzaChzdGRv dXQpOworLS0gCitHaXRMYWIKKwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9pbmtzY2FwZS90ZW1wbGF0 ZSBiL3NyY3BrZ3MvaW5rc2NhcGUvdGVtcGxhdGUKaW5kZXggNDVmNDhjY2RhMGRjLi40ZDkwMmU2 NjNmNzMgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvaW5rc2NhcGUvdGVtcGxhdGUKKysrIGIvc3JjcGtn cy9pbmtzY2FwZS90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3Ig J2lua3NjYXBlJwogcGtnbmFtZT1pbmtzY2FwZQogdmVyc2lvbj0xLjEuMQotcmV2aXNpb249Mwor cmV2aXNpb249NAogd3Jrc3JjPSJpbmtzY2FwZS0ke3ZlcnNpb259XzIwMjEtMDktMjBfM2JmNWFl MGQyNSIKIGJ1aWxkX3N0eWxlPWNtYWtlCiAjIGJ1aWxkcyBleGVjdXRhYmxlcyB0aGVuIHJ1bnMg Y2hlY2tzCgpGcm9tIGJmZDk0YjdkNjE0MDQ0YTRmMTZjN2MzYzZlOWUyZDhmODZkYjhiZjIgTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IG9yZW82MzkgPDMxOTE2Mzc5K09yZW82MzlAdXNl cnMubm9yZXBseS5naXRodWIuY29tPgpEYXRlOiBGcmksIDI1IE1hciAyMDIyIDE4OjM0OjQzIC0w NzAwClN1YmplY3Q6IFtQQVRDSCA2LzhdIGlwZTogcmVidWlsZCBhZ2FpbnN0IGxpYnBvcHBsZXIg MjIuMDQuMAoKLS0tCiBzcmNwa2dzL2lwZS9wYXRjaGVzL3BvcHBsZXItMjIuMDMuMC1maXgucGF0 Y2ggfCAzMyArKysrKysrKysrKysrKysrKysrCiBzcmNwa2dzL2lwZS90ZW1wbGF0ZSAgICAgICAg ICAgICAgICAgICAgICAgICAgfCAgMiArLQogMiBmaWxlcyBjaGFuZ2VkLCAzNCBpbnNlcnRpb25z KCspLCAxIGRlbGV0aW9uKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9pcGUvcGF0Y2hl cy9wb3BwbGVyLTIyLjAzLjAtZml4LnBhdGNoCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9pcGUvcGF0 Y2hlcy9wb3BwbGVyLTIyLjAzLjAtZml4LnBhdGNoIGIvc3JjcGtncy9pcGUvcGF0Y2hlcy9wb3Bw bGVyLTIyLjAzLjAtZml4LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw MDAwMC4uZGYyODk0ODA5YzFjCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9pcGUvcGF0Y2hl cy9wb3BwbGVyLTIyLjAzLjAtZml4LnBhdGNoCkBAIC0wLDAgKzEsMzMgQEAKK2RpZmYgLU5hdXIg cGRmdG9pcGUuY3BwLm9yaWcgcGRmdG9pcGUuY3BwCistLS0gYS9pcGUtdG9vbHMvcGRmdG9pcGUv cGRmdG9pcGUuY3BwLm9yaWcKKysrKyBiL2lwZS10b29scy9wZGZ0b2lwZS9wZGZ0b2lwZS5jcHAK K0BAIC04NCwyMiArODQsMjAgQEAKKyAgIGlmIChxdWlldCkKKyAgICAgZ2xvYmFsUGFyYW1zLT5z ZXRFcnJRdWlldChxdWlldCk7CisgCistICBHb29TdHJpbmcgKm93bmVyUFcsICp1c2VyUFc7Cisr ICBzdGQ6Om9wdGlvbmFsPEdvb1N0cmluZz4gb3duZXJQVywgdXNlclBXOworICAgaWYgKG93bmVy UGFzc3dvcmRbMF0pIHsKKy0gICAgb3duZXJQVyA9IG5ldyBHb29TdHJpbmcob3duZXJQYXNzd29y ZCk7CisrICAgIG93bmVyUFcgPSBHb29TdHJpbmcob3duZXJQYXNzd29yZCk7CisgICB9IGVsc2Ug eworLSAgICBvd25lclBXID0gMDsKKysgICAgb3duZXJQVyA9IHN0ZDo6bnVsbG9wdDsKKyAgIH0K KyAgIGlmICh1c2VyUGFzc3dvcmRbMF0pIHsKKy0gICAgdXNlclBXID0gbmV3IEdvb1N0cmluZyh1 c2VyUGFzc3dvcmQpOworKyAgICB1c2VyUFcgPSBHb29TdHJpbmcodXNlclBhc3N3b3JkKTsKKyAg IH0gZWxzZSB7CistICAgIHVzZXJQVyA9IDA7CisrICAgIHVzZXJQVyA9IHN0ZDo6bnVsbG9wdDsK KyAgIH0KKyAKKyAgIC8vIG9wZW4gUERGIGZpbGUKKy0gIFBERkRvYyAqZG9jID0gbmV3IFBERkRv YyhmaWxlTmFtZSwgb3duZXJQVywgdXNlclBXKTsKKy0gIGRlbGV0ZSB1c2VyUFc7CistICBkZWxl dGUgb3duZXJQVzsKKysgIFBERkRvYyAqZG9jID0gbmV3IFBERkRvYyhzdGQ6Om1ha2VfdW5pcXVl PEdvb1N0cmluZz4oZmlsZU5hbWUpLCBvd25lclBXLCB1c2VyUFcpOworIAorICAgaWYgKCFkb2Mt PmlzT2soKSkKKyAgICAgcmV0dXJuIDE7CisKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvaXBlL3RlbXBs YXRlIGIvc3JjcGtncy9pcGUvdGVtcGxhdGUKaW5kZXggZmJkNTAwYTNkYzk0Li42MmZjZmU5NTA1 MDQgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvaXBlL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvaXBlL3Rl bXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnaXBlJwogcGtnbmFt ZT1pcGUKIHZlcnNpb249Ny4yLjI0Ci1yZXZpc2lvbj01CityZXZpc2lvbj02CiBfdG9vbHNfY29t bWl0PXY3LjIuMjAuMQogaG9zdG1ha2VkZXBlbmRzPSJwa2ctY29uZmlnIGRveHlnZW4gcXQ1LXFt YWtlIHF0NS10b29scyBxdDUtaG9zdC10b29scyIKIG1ha2VkZXBlbmRzPSJjYWlyby1kZXZlbCBn c2wtZGV2ZWwgbGliY3VybC1kZXZlbCBsaWJqcGVnLXR1cmJvLWRldmVsCgpGcm9tIDIzMmM2ZGQ5 OWQ0MjVhOWM2OGUwN2MwYzNkZjBmMDQzOTBjZmJjMDAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx CkZyb206IG9yZW82MzkgPDMxOTE2Mzc5K09yZW82MzlAdXNlcnMubm9yZXBseS5naXRodWIuY29t PgpEYXRlOiBGcmksIDI1IE1hciAyMDIyIDE4OjM1OjMwIC0wNzAwClN1YmplY3Q6IFtQQVRDSCA3 LzhdIGtpdGluZXJhcnk6IHJlYnVpbGQgYWdhaW5zdCBsaWJwb3BwbGVyIDIyLjA0LjAKCi0tLQog c3JjcGtncy9raXRpbmVyYXJ5L3RlbXBsYXRlIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5z ZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9raXRpbmVyYXJ5 L3RlbXBsYXRlIGIvc3JjcGtncy9raXRpbmVyYXJ5L3RlbXBsYXRlCmluZGV4IGFhNWFkMDdmZTIx OS4uNWMzNmU4MjlmN2FlIDEwMDY0NAotLS0gYS9zcmNwa2dzL2tpdGluZXJhcnkvdGVtcGxhdGUK KysrIGIvc3JjcGtncy9raXRpbmVyYXJ5L3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1w bGF0ZSBmaWxlIGZvciAna2l0aW5lcmFyeScKIHBrZ25hbWU9a2l0aW5lcmFyeQogdmVyc2lvbj0y MS4xMi4zCi1yZXZpc2lvbj0xCityZXZpc2lvbj0yCiBidWlsZF9zdHlsZT1jbWFrZQogaG9zdG1h a2VkZXBlbmRzPSJleHRyYS1jbWFrZS1tb2R1bGVzIGdldHRleHQga2NvcmVhZGRvbnMgcGtnLWNv bmZpZyBxdDUtaG9zdC10b29scyBxdDUtcW1ha2UgcXQ1LXRvb2xzLWRldmVsIgogbWFrZWRlcGVu ZHM9ImtjYWxlbmRhcmNvcmUtZGV2ZWwga2NvbnRhY3RzLWRldmVsIGtkZWNsYXJhdGl2ZS1kZXZl bCBrbWltZS1kZXZlbAoKRnJvbSAxZDViOWU1NzUxZDgyOTM5OTg0NWVhYmUwN2YzOWI1NDA0ZWUw YmFkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBvcmVvNjM5IDwzMTkxNjM3OStPcmVv NjM5QHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4KRGF0ZTogRnJpLCAyNSBNYXIgMjAyMiAxODoz NjoyNCAtMDcwMApTdWJqZWN0OiBbUEFUQ0ggOC84XSBzY3JpYnVzOiByZWJ1aWxkIGFnYWluc3Qg bGlicG9wcGxlciAyMi4wNC4wCgotLS0KIC4uLi9wYXRjaGVzLzAwMDEtcG9wcGxlci0yMi4wMi4w LWZpeC5wYXRjaCAgICB8IDEyOSArKysrKysrKwogLi4uL3BhdGNoZXMvMDAwMi1wb3BwbGVyLTIy LjAzLjAtZml4LnBhdGNoICAgIHwgIDUyICsrKysKIC4uLi9wYXRjaGVzLzAwMDMtcG9wcGxlci0y Mi4wNC4wLWZpeC5wYXRjaCAgICB8IDI4OCArKysrKysrKysrKysrKysrKysKIHNyY3BrZ3Mvc2Ny aWJ1cy90ZW1wbGF0ZSAgICAgICAgICAgICAgICAgICAgICB8ICAgNCArLQogNCBmaWxlcyBjaGFu Z2VkLCA0NzEgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0 NCBzcmNwa2dzL3NjcmlidXMvcGF0Y2hlcy8wMDAxLXBvcHBsZXItMjIuMDIuMC1maXgucGF0Y2gK IGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3NjcmlidXMvcGF0Y2hlcy8wMDAyLXBvcHBsZXIt MjIuMDMuMC1maXgucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3NjcmlidXMvcGF0 Y2hlcy8wMDAzLXBvcHBsZXItMjIuMDQuMC1maXgucGF0Y2gKCmRpZmYgLS1naXQgYS9zcmNwa2dz L3NjcmlidXMvcGF0Y2hlcy8wMDAxLXBvcHBsZXItMjIuMDIuMC1maXgucGF0Y2ggYi9zcmNwa2dz L3NjcmlidXMvcGF0Y2hlcy8wMDAxLXBvcHBsZXItMjIuMDIuMC1maXgucGF0Y2gKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi40ZTBmNjA3YzZhMDcKLS0tIC9kZXYvbnVs bAorKysgYi9zcmNwa2dzL3NjcmlidXMvcGF0Y2hlcy8wMDAxLXBvcHBsZXItMjIuMDIuMC1maXgu cGF0Y2gKQEAgLTAsMCArMSwxMjkgQEAKK0Zyb20gODVjMGRmZjM0MjJmYTNjMjZmYmMyZThkODU2 MWY1OTdlYzI0YmQ5MiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEplYW4gR2hhbGkg PGpnaGFsaUBsaWJlcnR5c3VyZi5mcj4KK0RhdGU6IFdlZCwgMiBGZWIgMjAyMiAyMzoxMjo1MiAr MDAwMAorU3ViamVjdDogW1BBVENIXSAjMTY3MzQ6IEJ1aWxkIGJyZWFrIHdpdGggcG9wcGxlciAy Mi4yLjAKKworZ2l0LXN2bi1pZDogc3ZuOi8vc2NyaWJ1cy5uZXQvdHJ1bmsvU2NyaWJ1c0AyNDg4 NCAxMWQyMDcwMS04NDMxLTA0MTAtYTcxMS1lM2M5NTllM2I4NzAKKy0tLQorIHNjcmlidXMvcGx1 Z2lucy9pbXBvcnQvcGRmL3NsYW91dHB1dC5jcHAgfCA0NyArKysrKysrKysrKysrKysrKysrLS0t LS0KKyAxIGZpbGUgY2hhbmdlZCwgMzcgaW5zZXJ0aW9ucygrKSwgMTAgZGVsZXRpb25zKC0pCisK K2RpZmYgLS1naXQgYS9zY3JpYnVzL3BsdWdpbnMvaW1wb3J0L3BkZi9zbGFvdXRwdXQuY3BwIGIv c2NyaWJ1cy9wbHVnaW5zL2ltcG9ydC9wZGYvc2xhb3V0cHV0LmNwcAoraW5kZXggNTg5NGJmMmFk Ni4uMzY1MGM5NmY1MiAxMDA2NDQKKy0tLSBhL3NjcmlidXMvcGx1Z2lucy9pbXBvcnQvcGRmL3Ns YW91dHB1dC5jcHAKKysrKyBiL3NjcmlidXMvcGx1Z2lucy9pbXBvcnQvcGRmL3NsYW91dHB1dC5j cHAKK0BAIC03LDYgKzcsMTEgQEAgZm9yIHdoaWNoIGEgbmV3IGxpY2Vuc2UgKEdQTCtleGNlcHRp b24pIGlzIGluIHBsYWNlLgorIA0KKyAjaW5jbHVkZSAic2xhb3V0cHV0LmgiDQorIA0KKysjaWYg UE9QUExFUl9FTkNPREVEX1ZFUlNJT04gPj0gUE9QUExFUl9WRVJTSU9OX0VOQ09ERSgyMiwgMiwg MCkNCisrI2luY2x1ZGUgPG1lbW9yeT4NCisrI2luY2x1ZGUgPG9wdGlvbmFsPg0KKysjZW5kaWYN CisrDQorICNpbmNsdWRlIDxwb3BwbGVyL0dsb2JhbFBhcmFtcy5oPg0KKyAjaW5jbHVkZSA8cG9w cGxlci9wb3BwbGVyLWNvbmZpZy5oPg0KKyAjaW5jbHVkZSA8cG9wcGxlci9GaWxlU3BlYy5oPg0K K0BAIC0zMDI3LDE4ICszMDMyLDI0IEBAIHZvaWQgU2xhT3V0cHV0RGV2OjptYXJrUG9pbnQoUE9Q UExFUl9DT05TVCBjaGFyICpuYW1lLCBEaWN0ICpwcm9wZXJ0aWVzKQorIHZvaWQgU2xhT3V0cHV0 RGV2Ojp1cGRhdGVGb250KEdmeFN0YXRlICpzdGF0ZSkNCisgew0KKyAJR2Z4Rm9udCAqZ2Z4Rm9u dDsNCistCUdmeEZvbnRMb2MgKmZvbnRMb2M7DQorKyNpZiBQT1BQTEVSX0VOQ09ERURfVkVSU0lP TiA+PSBQT1BQTEVSX1ZFUlNJT05fRU5DT0RFKDIyLCAyLCAwKQ0KKysJc3RkOjpvcHRpb25hbDxH ZnhGb250TG9jPiBmb250TG9jOw0KKysJY29uc3QgR29vU3RyaW5nICogZmlsZU5hbWUgPSBudWxs cHRyOw0KKysJc3RkOjp1bmlxdWVfcHRyPEZvRmlUcnVlVHlwZT4gZmY7DQorKyNlbHNlDQorKwlH ZnhGb250TG9jICogZm9udExvYyA9IG51bGxwdHI7DQorKwlHb29TdHJpbmcgKiBmaWxlTmFtZSA9 IG51bGxwdHI7DQorKwlGb0ZpVHJ1ZVR5cGUgKiBmZiA9IG51bGxwdHI7DQorKyNlbmRpZg0KKyAJ R2Z4Rm9udFR5cGUgZm9udFR5cGU7DQorIAlTbGFPdXRGb250RmlsZUlEICppZDsNCisgCVNwbGFz aEZvbnRGaWxlICpmb250RmlsZTsNCisgCVNwbGFzaEZvbnRTcmMgKmZvbnRzcmMgPSBudWxscHRy Ow0KKy0JRm9GaVRydWVUeXBlICpmZjsNCisgCU9iamVjdCByZWZPYmosIHN0ck9iajsNCistCUdv b1N0cmluZyAqZmlsZU5hbWU7DQorLQljaGFyICp0bXBCdWY7DQorKwljaGFyICp0bXBCdWYgPSBu dWxscHRyOw0KKyAJaW50IHRtcEJ1ZkxlbiA9IDA7DQorLQlpbnQgKmNvZGVUb0dJRDsNCistCWNv bnN0IGRvdWJsZSAqdGV4dE1hdDsNCisrCWludCAqY29kZVRvR0lEID0gbnVsbHB0cjsNCisrCWNv bnN0IGRvdWJsZSAqdGV4dE1hdCA9IG51bGxwdHI7DQorIAlkb3VibGUgbTExLCBtMTIsIG0yMSwg bTIyLCBmb250U2l6ZTsNCisgCVNwbGFzaENvb3JkIG1hdFs0XTsNCisgCWludCBuID0gMDsNCitA QCAtMzA0Niw5ICszMDU3LDYgQEAgdm9pZCBTbGFPdXRwdXREZXY6OnVwZGF0ZUZvbnQoR2Z4U3Rh dGUgKnN0YXRlKQorIAlTcGxhc2hDb29yZCBtYXRyaXhbNl07DQorIA0KKyAJbV9mb250ID0gbnVs bHB0cjsNCistCWZpbGVOYW1lID0gbnVsbHB0cjsNCistCXRtcEJ1ZiA9IG51bGxwdHI7DQorLQlm b250TG9jID0gbnVsbHB0cjsNCisgDQorIAlnZnhGb250ID0gc3RhdGUtPmdldEZvbnQoKTsNCisg CWlmICghZ2Z4Rm9udCkNCitAQCAtMzA4Myw3ICszMDkxLDExIEBAIHZvaWQgU2xhT3V0cHV0RGV2 Ojp1cGRhdGVGb250KEdmeFN0YXRlICpzdGF0ZSkKKyAJCX0NCisgCQllbHNlDQorIAkJeyAvLyBn ZnhGb250TG9jRXh0ZXJuYWwNCisrI2lmIFBPUFBMRVJfRU5DT0RFRF9WRVJTSU9OID49IFBPUFBM RVJfVkVSU0lPTl9FTkNPREUoMjIsIDIsIDApDQorKwkJCWZpbGVOYW1lID0gZm9udExvYy0+cGF0 aEFzR29vU3RyaW5nKCk7DQorKyNlbHNlDQorIAkJCWZpbGVOYW1lID0gZm9udExvYy0+cGF0aDsN CisrI2VuZGlmDQorIAkJCWZvbnRUeXBlID0gZm9udExvYy0+Zm9udFR5cGU7DQorIAkJfQ0KKyAN CitAQCAtMzEzNiw5ICszMTQ4LDE0IEBAIHZvaWQgU2xhT3V0cHV0RGV2Ojp1cGRhdGVGb250KEdm eFN0YXRlICpzdGF0ZSkKKyAJCQkJZmYgPSBGb0ZpVHJ1ZVR5cGU6Om1ha2UodG1wQnVmLCB0bXBC dWZMZW4pOw0KKyAJCQlpZiAoZmYpDQorIAkJCXsNCisrI2lmIFBPUFBMRVJfRU5DT0RFRF9WRVJT SU9OID49IFBPUFBMRVJfVkVSU0lPTl9FTkNPREUoMjIsIDIsIDApDQorKwkJCQljb2RlVG9HSUQg PSAoKEdmeDhCaXRGb250KikgZ2Z4Rm9udCktPmdldENvZGVUb0dJRE1hcChmZi5nZXQoKSk7DQor KwkJCQlmZi5yZXNldCgpOw0KKysjZWxzZQ0KKyAJCQkJY29kZVRvR0lEID0gKChHZng4Qml0Rm9u dCAqKWdmeEZvbnQpLT5nZXRDb2RlVG9HSURNYXAoZmYpOw0KKy0JCQkJbiA9IDI1NjsNCisgCQkJ CWRlbGV0ZSBmZjsNCisrI2VuZGlmDQorKwkJCQluID0gMjU2Ow0KKyAJCQl9DQorIAkJCWVsc2UN CisgCQkJew0KK0BAIC0zMjA5LDggKzMyMjYsMTMgQEAgdm9pZCBTbGFPdXRwdXREZXY6OnVwZGF0 ZUZvbnQoR2Z4U3RhdGUgKnN0YXRlKQorIAkJCQkJZmYgPSBGb0ZpVHJ1ZVR5cGU6Om1ha2UodG1w QnVmLCB0bXBCdWZMZW4pOw0KKyAJCQkJaWYgKCEgZmYpDQorIAkJCQkJZ290byBlcnIyOw0KKysj aWYgUE9QUExFUl9FTkNPREVEX1ZFUlNJT04gPj0gUE9QUExFUl9WRVJTSU9OX0VOQ09ERSgyMiwg MiwgMCkNCisrCQkJCWNvZGVUb0dJRCA9ICgoR2Z4Q0lERm9udCopIGdmeEZvbnQpLT5nZXRDb2Rl VG9HSURNYXAoZmYuZ2V0KCksICZuKTsNCisrCQkJCWZmLnJlc2V0KCk7DQorKyNlbHNlDQorIAkJ CQljb2RlVG9HSUQgPSAoKEdmeENJREZvbnQgKilnZnhGb250KS0+Z2V0Q29kZVRvR0lETWFwKGZm LCAmbik7DQorIAkJCQlkZWxldGUgZmY7DQorKyNlbmRpZg0KKyAJCQl9DQorIAkJCWlmICghKGZv bnRGaWxlID0gbV9mb250RW5naW5lLT5sb2FkVHJ1ZVR5cGVGb250KA0KKyAJCQkJCQkJaWQsDQor QEAgLTMyNDcsMTQgKzMyNjksMTkgQEAgdm9pZCBTbGFPdXRwdXREZXY6OnVwZGF0ZUZvbnQoR2Z4 U3RhdGUgKnN0YXRlKQorIAltYXRbM10gPSAtbTIyOw0KKyAJbV9mb250ID0gbV9mb250RW5naW5l LT5nZXRGb250KGZvbnRGaWxlLCBtYXQsIG1hdHJpeCk7DQorIA0KKysjaWYgUE9QUExFUl9FTkNP REVEX1ZFUlNJT04gPCBQT1BQTEVSX1ZFUlNJT05fRU5DT0RFKDIyLCAyLCAwKQ0KKyAJZGVsZXRl IGZvbnRMb2M7DQorKyNlbmRpZg0KKyAJaWYgKGZvbnRzcmMgJiYgIWZvbnRzcmMtPmlzRmlsZSkN CisgCQlmb250c3JjLT51bnJlZigpOw0KKyAJcmV0dXJuOw0KKyANCisgZXJyMjoNCisgCWRlbGV0 ZSBpZDsNCisrI2lmIFBPUFBMRVJfRU5DT0RFRF9WRVJTSU9OIDwgUE9QUExFUl9WRVJTSU9OX0VO Q09ERSgyMiwgMiwgMCkNCisgCWRlbGV0ZSBmb250TG9jOw0KKysjZW5kaWYNCisrDQorIGVycjE6 DQorIAlpZiAoZm9udHNyYyAmJiAhZm9udHNyYy0+aXNGaWxlKQ0KKyAJCWZvbnRzcmMtPnVucmVm KCk7DQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9zY3JpYnVzL3BhdGNoZXMvMDAwMi1wb3BwbGVyLTIy LjAzLjAtZml4LnBhdGNoIGIvc3JjcGtncy9zY3JpYnVzL3BhdGNoZXMvMDAwMi1wb3BwbGVyLTIy LjAzLjAtZml4LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4u ZjdhMGMwM2ZkZDk2Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9zY3JpYnVzL3BhdGNoZXMv MDAwMi1wb3BwbGVyLTIyLjAzLjAtZml4LnBhdGNoCkBAIC0wLDAgKzEsNTIgQEAKK0Zyb20gZjE5 NDEwYWMzYjI3ZTMzZGQ2MjEwNTc0Njc4NGU2MWU4NWI5MGExZCBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKK0Zyb206IEplYW4gR2hhbGkgPGpnaGFsaUBsaWJlcnR5c3VyZi5mcj4KK0RhdGU6IFdl ZCwgMiBNYXIgMjAyMiAyMjoyMjo1MyArMDAwMAorU3ViamVjdDogW1BBVENIXSAjMTY3NjQ6IEJ1 aWxkIGJyZWFrIHdpdGggcG9wcGxlciAyMi4wMy4wCisKK2dpdC1zdm4taWQ6IHN2bjovL3Njcmli dXMubmV0L3RydW5rL1NjcmlidXNAMjQ5ODIgMTFkMjA3MDEtODQzMS0wNDEwLWE3MTEtZTNjOTU5 ZTNiODcwCistLS0KKyBzY3JpYnVzL3BsdWdpbnMvaW1wb3J0L3BkZi9pbXBvcnRwZGYuY3BwIHwg MTMgKysrKysrKysrKysrKworIDEgZmlsZSBjaGFuZ2VkLCAxMyBpbnNlcnRpb25zKCspCisKK2Rp ZmYgLS1naXQgYS9zY3JpYnVzL3BsdWdpbnMvaW1wb3J0L3BkZi9pbXBvcnRwZGYuY3BwIGIvc2Ny aWJ1cy9wbHVnaW5zL2ltcG9ydC9wZGYvaW1wb3J0cGRmLmNwcAoraW5kZXggMTU0ZTU4YTNmMC4u MzkyZGNkOWU2NCAxMDA2NDQKKy0tLSBhL3NjcmlidXMvcGx1Z2lucy9pbXBvcnQvcGRmL2ltcG9y dHBkZi5jcHAKKysrKyBiL3NjcmlidXMvcGx1Z2lucy9pbXBvcnQvcGRmL2ltcG9ydHBkZi5jcHAK K0BAIC04OSw3ICs4OSwxMSBAQCBRSW1hZ2UgUGRmUGx1Zzo6cmVhZFRodW1ibmFpbChjb25zdCBR U3RyaW5nJiBmTmFtZSkKKyAjZW5kaWYNCisgCWdsb2JhbFBhcmFtcy0+c2V0RXJyUXVpZXQoZ1Ry dWUpOw0KKyANCisrI2lmIFBPUFBMRVJfRU5DT0RFRF9WRVJTSU9OID49IFBPUFBMRVJfVkVSU0lP Tl9FTkNPREUoMjIsIDMsIDApDQorKwlQREZEb2MgcGRmRG9jeyBzdGQ6Om1ha2VfdW5pcXVlPEdv b1N0cmluZz4oZm5hbWUpIH07DQorKyNlbHNlDQorIAlQREZEb2MgcGRmRG9je2ZuYW1lLCBudWxs cHRyLCBudWxscHRyLCBudWxscHRyfTsNCisrI2VuZGlmDQorIAlpZiAoIXBkZkRvYy5pc09rKCkg fHwgcGRmRG9jLmdldEVycm9yQ29kZSgpID09IGVyckVuY3J5cHRlZCkNCisgCQlyZXR1cm4gUUlt YWdlKCk7DQorIA0KK0BAIC0zNDIsNyArMzQ2LDExIEBAIGJvb2wgUGRmUGx1Zzo6Y29udmVydChj b25zdCBRU3RyaW5nJiBmbikKKyAJZ2xvYmFsUGFyYW1zLT5zZXRFcnJRdWlldChnVHJ1ZSk7DQor IC8vCWdsb2JhbFBhcmFtcy0+c2V0UHJpbnRDb21tYW5kcyhnVHJ1ZSk7DQorIAlRTGlzdDxPcHRp b25hbENvbnRlbnRHcm91cCo+IG9jZ0dyb3VwczsNCisrI2lmIFBPUFBMRVJfRU5DT0RFRF9WRVJT SU9OID49IFBPUFBMRVJfVkVSU0lPTl9FTkNPREUoMjIsIDMsIDApDQorKwlhdXRvIHBkZkRvYyA9 IHN0ZDo6bWFrZV91bmlxdWU8UERGRG9jPihzdGQ6Om1ha2VfdW5pcXVlPEdvb1N0cmluZz4oZm5h bWUpKTsNCisrI2Vsc2UNCisgCWF1dG8gcGRmRG9jID0gc3RkOjp1bmlxdWVfcHRyPFBERkRvYz4o bmV3IFBERkRvYyhmbmFtZSwgbnVsbHB0ciwgbnVsbHB0ciwgbnVsbHB0cikpOw0KKysjZW5kaWYN CisgCWlmIChwZGZEb2MpDQorIAl7DQorIAkJaWYgKHBkZkRvYy0+Z2V0RXJyb3JDb2RlKCkgPT0g ZXJyRW5jcnlwdGVkKQ0KK0BAIC0zNjEsOCArMzY5LDEzIEBAIGJvb2wgUGRmUGx1Zzo6Y29udmVy dChjb25zdCBRU3RyaW5nJiBmbikKKyAjZWxzZQ0KKyAJCQkJYXV0byBmbmFtZSA9IG5ldyBHb29T dHJpbmcoUUZpbGU6OmVuY29kZU5hbWUoZm4pLmRhdGEoKSk7DQorICNlbmRpZg0KKysjaWYgUE9Q UExFUl9FTkNPREVEX1ZFUlNJT04gPj0gUE9QUExFUl9WRVJTSU9OX0VOQ09ERSgyMiwgMywgMCkN CisrCQkJCXN0ZDo6b3B0aW9uYWw8R29vU3RyaW5nPiB1c2VyUFcoc3RkOjppbl9wbGFjZSwgdGV4 dC50b0xvY2FsOEJpdCgpLmRhdGEoKSk7DQorKwkJCQlwZGZEb2MucmVzZXQobmV3IFBERkRvYyhz dGQ6Om1ha2VfdW5pcXVlPEdvb1N0cmluZz4oZm5hbWUpLCB1c2VyUFcsIHVzZXJQVywgbnVsbHB0 cikpOw0KKysjZWxzZQ0KKyAJCQkJYXV0byB1c2VyUFcgPSBuZXcgR29vU3RyaW5nKHRleHQudG9M b2NhbDhCaXQoKS5kYXRhKCkpOw0KKyAJCQkJcGRmRG9jLnJlc2V0KG5ldyBQREZEb2MoZm5hbWUs IHVzZXJQVywgdXNlclBXLCBudWxscHRyKSk7DQorKyNlbmRpZg0KKyAJCQkJcUFwcC0+Y2hhbmdl T3ZlcnJpZGVDdXJzb3IoUUN1cnNvcihRdDo6V2FpdEN1cnNvcikpOw0KKyAJCQl9DQorIAkJCWlm ICgoIXBkZkRvYykgfHwgKHBkZkRvYy0+Z2V0RXJyb3JDb2RlKCkgIT0gZXJyTm9uZSkpDQpkaWZm IC0tZ2l0IGEvc3JjcGtncy9zY3JpYnVzL3BhdGNoZXMvMDAwMy1wb3BwbGVyLTIyLjA0LjAtZml4 LnBhdGNoIGIvc3JjcGtncy9zY3JpYnVzL3BhdGNoZXMvMDAwMy1wb3BwbGVyLTIyLjA0LjAtZml4 LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uZTE1ZWM3ZDgx MjY2Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9zY3JpYnVzL3BhdGNoZXMvMDAwMy1wb3Bw bGVyLTIyLjA0LjAtZml4LnBhdGNoCkBAIC0wLDAgKzEsMjg4IEBACitGcm9tIGYyMjM3YjhmMGI1 Y2Y3NjkwZTg2NGEyMmVmN2E2M2E2ZDc2OWZhMzYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitG cm9tOiBKZWFuIEdoYWxpIDxqZ2hhbGlAbGliZXJ0eXN1cmYuZnI+CitEYXRlOiBGcmksIDEgQXBy IDIwMjIgMjM6NTI6MzIgKzAwMDAKK1N1YmplY3Q6IFtQQVRDSF0gRml4IGJ1aWxkIHdpdGggcG9w cGxlciAyMi4wNC4wCisKK2dpdC1zdm4taWQ6IHN2bjovL3NjcmlidXMubmV0L3RydW5rL1Njcmli dXNAMjUwNzQgMTFkMjA3MDEtODQzMS0wNDEwLWE3MTEtZTNjOTU5ZTNiODcwCistLS0KKyBzY3Jp YnVzL3BsdWdpbnMvaW1wb3J0L3BkZi9zbGFvdXRwdXQuY3BwIHwgMTIzICsrKysrKysrKysrKysr LS0tLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDc4IGluc2VydGlvbnMoKyksIDQ1IGRlbGV0aW9u cygtKQorCitkaWZmIC0tZ2l0IGEvc2NyaWJ1cy9wbHVnaW5zL2ltcG9ydC9wZGYvc2xhb3V0cHV0 LmNwcCBiL3NjcmlidXMvcGx1Z2lucy9pbXBvcnQvcGRmL3NsYW91dHB1dC5jcHAKK2luZGV4IGUy MGE4MWY5OWUuLjU2MjZmZTM0NzcgMTAwNjQ0CistLS0gYS9zY3JpYnVzL3BsdWdpbnMvaW1wb3J0 L3BkZi9zbGFvdXRwdXQuY3BwCisrKysgYi9zY3JpYnVzL3BsdWdpbnMvaW1wb3J0L3BkZi9zbGFv dXRwdXQuY3BwCitAQCAtMTc0LDggKzE3NCwxMyBAQCB2b2lkIEFub091dHB1dERldjo6ZHJhd1N0 cmluZyhHZnhTdGF0ZSAqc3RhdGUsIFBPUFBMRVJfQ09OU1QgR29vU3RyaW5nICpzKQorIAlpbnQg c2hhZGUgPSAxMDA7DQorIAljdXJyQ29sb3JUZXh0ID0gZ2V0Q29sb3Ioc3RhdGUtPmdldEZpbGxD b2xvclNwYWNlKCksIHN0YXRlLT5nZXRGaWxsQ29sb3IoKSwgJnNoYWRlKTsNCisgCWZvbnRTaXpl ID0gc3RhdGUtPmdldEZvbnRTaXplKCk7DQorKyNpZiBQT1BQTEVSX0VOQ09ERURfVkVSU0lPTiA+ PSBQT1BQTEVSX1ZFUlNJT05fRU5DT0RFKDIyLCA0LCAwKQ0KKysJaWYgKHN0YXRlLT5nZXRGb250 KCkgJiYgc3RhdGUtPmdldEZvbnQoKS0+Z2V0TmFtZSgpKQ0KKysJCWZvbnROYW1lID0gbmV3IEdv b1N0cmluZyhzdGF0ZS0+Z2V0Rm9udCgpLT5nZXROYW1lKCkudmFsdWUoKSk7DQorKyNlbHNlDQor IAlpZiAoc3RhdGUtPmdldEZvbnQoKSkNCisgCQlmb250TmFtZSA9IHN0YXRlLT5nZXRGb250KCkt PmdldE5hbWUoKS0+Y29weSgpOw0KKysjZW5kaWYNCisgCWl0ZW1UZXh0ID0gcy0+Y29weSgpOw0K KyB9DQorIA0KK0BAIC0zNTcsNyArMzYyLDEyIEBAIHN0ZDo6dW5pcXVlX3B0cjxMaW5rQWN0aW9u PiBTbGFPdXRwdXREZXY6OlNDX2dldEFkZGl0aW9uYWxBY3Rpb24oY29uc3QgY2hhciAqa2V5Cisg R0Jvb2wgU2xhT3V0cHV0RGV2Ojphbm5vdGF0aW9uc19jYWxsYmFjayhBbm5vdCAqYW5ub3RhLCB2 b2lkICp1c2VyX2RhdGEpDQorIHsNCisgCVNsYU91dHB1dERldiAqZGV2ID0gKFNsYU91dHB1dERl diopdXNlcl9kYXRhOw0KKysjaWYgUE9QUExFUl9FTkNPREVEX1ZFUlNJT04gPj0gUE9QUExFUl9W RVJTSU9OX0VOQ09ERSgyMiwgNCwgMCkNCisrCWNvbnN0IFBERlJlY3RhbmdsZSYgYW5ub3RSZWN0 ID0gYW5ub3RhLT5nZXRSZWN0KCk7Ow0KKysJY29uc3QgUERGUmVjdGFuZ2xlKiBib3ggPSAmYW5u b3RSZWN0Ow0KKysjZWxzZQ0KKyAJUERGUmVjdGFuZ2xlICpib3ggPSBhbm5vdGEtPmdldFJlY3Qo KTsNCisrI2VuZGlmDQorIAlkb3VibGUgeENvb3IgPSBkZXYtPm1fZG9jLT5jdXJyZW50UGFnZSgp LT54T2Zmc2V0KCkgKyBib3gtPngxIC0gZGV2LT5jcm9wT2Zmc2V0WDsNCisgCWRvdWJsZSB5Q29v ciA9IGRldi0+bV9kb2MtPmN1cnJlbnRQYWdlKCktPnlPZmZzZXQoKSArIGRldi0+bV9kb2MtPmN1 cnJlbnRQYWdlKCktPmhlaWdodCgpIC0gYm94LT55MiArIGRldi0+Y3JvcE9mZnNldFk7DQorIAlk b3VibGUgd2lkdGggPSBib3gtPngyIC0gYm94LT54MTsNCitAQCAtNjg0LDcgKzY5NCwxMiBAQCBi b29sIFNsYU91dHB1dERldjo6aGFuZGxlV2lkZ2V0QW5ub3QoQW5ub3QqIGFubm90YSwgZG91Ymxl IHhDb29yLCBkb3VibGUgeUNvb3IsCisgCQkJaWYgKGFwYSB8fCAhYWNoYXIpDQorIAkJCXsNCisg CQkJCUFub091dHB1dERldiAqYW5ub3RPdXREZXYgPSBuZXcgQW5vT3V0cHV0RGV2KG1fZG9jLCBt X2ltcG9ydGVkQ29sb3JzKTsNCisrI2lmIFBPUFBMRVJfRU5DT0RFRF9WRVJTSU9OID49IFBPUFBM RVJfVkVSU0lPTl9FTkNPREUoMjIsIDQsIDApDQorKwkJCQljb25zdCBQREZSZWN0YW5nbGUmIGFu bm90YVJlY3QgPSBhbm5vdGEtPmdldFJlY3QoKTsNCisrCQkJCUdmeCogZ2Z4ID0gbmV3IEdmeChw ZGZEb2MsIGFubm90T3V0RGV2LCBwZGZEb2MtPmdldFBhZ2UobV9hY3RQYWdlKS0+Z2V0UmVzb3Vy Y2VEaWN0KCksICZhbm5vdGFSZWN0LCBudWxscHRyKTsNCisrI2Vsc2UNCisgCQkJCUdmeCAqZ2Z4 ID0gbmV3IEdmeChwZGZEb2MsIGFubm90T3V0RGV2LCBwZGZEb2MtPmdldFBhZ2UobV9hY3RQYWdl KS0+Z2V0UmVzb3VyY2VEaWN0KCksIGFubm90YS0+Z2V0UmVjdCgpLCBudWxscHRyKTsNCisrI2Vu ZGlmDQorIAkJCQlhbm8tPmRyYXcoZ2Z4LCBmYWxzZSk7DQorIAkJCQlpZiAoIWJnRm91bmQpDQor IAkJCQkJbV9jdXJyQ29sb3JGaWxsID0gYW5ub3RPdXREZXYtPmN1cnJDb2xvckZpbGw7DQorQEAg LTI5MTYsMjIgKzI5MzEsMjcgQEAgdm9pZCBTbGFPdXRwdXREZXY6Om1hcmtQb2ludChQT1BQTEVS X0NPTlNUIGNoYXIgKm5hbWUsIERpY3QgKnByb3BlcnRpZXMpCisgDQorIHZvaWQgU2xhT3V0cHV0 RGV2Ojp1cGRhdGVGb250KEdmeFN0YXRlICpzdGF0ZSkNCisgew0KKy0JR2Z4Rm9udCAqZ2Z4Rm9u dDsNCistI2lmIFBPUFBMRVJfRU5DT0RFRF9WRVJTSU9OID49IFBPUFBMRVJfVkVSU0lPTl9FTkNP REUoMjIsIDIsIDApDQorKyNpZiBQT1BQTEVSX0VOQ09ERURfVkVSU0lPTiA+PSBQT1BQTEVSX1ZF UlNJT05fRU5DT0RFKDIyLCA0LCAwKQ0KKysJc3RkOjpvcHRpb25hbDxHZnhGb250TG9jPiBmb250 TG9jOw0KKysJc3RkOjpzdHJpbmcgZmlsZU5hbWU7DQorKwlzdGQ6OnVuaXF1ZV9wdHI8Rm9GaVRy dWVUeXBlPiBmZjsNCisrCXN0ZDo6b3B0aW9uYWw8c3RkOjp2ZWN0b3I8dW5zaWduZWQgY2hhcj4+ IHRtcEJ1ZjsNCisrI2VsaWYgUE9QUExFUl9FTkNPREVEX1ZFUlNJT04gPj0gUE9QUExFUl9WRVJT SU9OX0VOQ09ERSgyMiwgMiwgMCkNCisgCXN0ZDo6b3B0aW9uYWw8R2Z4Rm9udExvYz4gZm9udExv YzsNCisgCWNvbnN0IEdvb1N0cmluZyAqIGZpbGVOYW1lID0gbnVsbHB0cjsNCisgCXN0ZDo6dW5p cXVlX3B0cjxGb0ZpVHJ1ZVR5cGU+IGZmOw0KKysJY2hhciogdG1wQnVmID0gbnVsbHB0cjsNCisg I2Vsc2UNCisgCUdmeEZvbnRMb2MgKiBmb250TG9jID0gbnVsbHB0cjsNCisgCUdvb1N0cmluZyAq IGZpbGVOYW1lID0gbnVsbHB0cjsNCisgCUZvRmlUcnVlVHlwZSAqIGZmID0gbnVsbHB0cjsNCisr CWNoYXIqIHRtcEJ1ZiA9IG51bGxwdHI7DQorICNlbmRpZg0KKyAJR2Z4Rm9udFR5cGUgZm9udFR5 cGU7DQorIAlTbGFPdXRGb250RmlsZUlEICppZDsNCisgCVNwbGFzaEZvbnRGaWxlICpmb250Rmls ZTsNCisgCVNwbGFzaEZvbnRTcmMgKmZvbnRzcmMgPSBudWxscHRyOw0KKyAJT2JqZWN0IHJlZk9i aiwgc3RyT2JqOw0KKy0JY2hhciAqdG1wQnVmID0gbnVsbHB0cjsNCisgCWludCB0bXBCdWZMZW4g PSAwOw0KKyAJaW50ICpjb2RlVG9HSUQgPSBudWxscHRyOw0KKyAJY29uc3QgZG91YmxlICp0ZXh0 TWF0ID0gbnVsbHB0cjsNCitAQCAtMjk0Myw3ICsyOTYzLDExIEBAIHZvaWQgU2xhT3V0cHV0RGV2 Ojp1cGRhdGVGb250KEdmeFN0YXRlICpzdGF0ZSkKKyANCisgCW1fZm9udCA9IG51bGxwdHI7DQor IA0KKy0JZ2Z4Rm9udCA9IHN0YXRlLT5nZXRGb250KCk7DQorKyNpZiBQT1BQTEVSX0VOQ09ERURf VkVSU0lPTiA+PSBQT1BQTEVSX1ZFUlNJT05fRU5DT0RFKDIyLCA0LCAwKQ0KKysJR2Z4Rm9udCog Z2Z4Rm9udCA9IHN0YXRlLT5nZXRGb250KCkuZ2V0KCk7DQorKyNlbHNlDQorKwlHZnhGb250KiBn ZnhGb250ID0gc3RhdGUtPmdldEZvbnQoKTsNCisrI2VuZGlmDQorIAlpZiAoIWdmeEZvbnQpDQor IAkJZ290byBlcnIxOw0KKyANCitAQCAtMjk2OCwxNSArMjk5MiwyMyBAQCB2b2lkIFNsYU91dHB1 dERldjo6dXBkYXRlRm9udChHZnhTdGF0ZSAqc3RhdGUpCisgCQlpZiAoZm9udExvYy0+bG9jVHlw ZSA9PSBnZnhGb250TG9jRW1iZWRkZWQpDQorIAkJew0KKyAJCQkvLyBpZiB0aGVyZSBpcyBhbiBl bWJlZGRlZCBmb250LCByZWFkIGl0IHRvIG1lbW9yeQ0KKy0JCQl0bXBCdWYgPSBnZnhGb250LT5y ZWFkRW1iRm9udEZpbGUoeHJlZiwgJnRtcEJ1Zkxlbik7DQorKyNpZiBQT1BQTEVSX0VOQ09ERURf VkVSU0lPTiA+PSBQT1BQTEVSX1ZFUlNJT05fRU5DT0RFKDIyLCA0LCAwKQ0KKysJCQl0bXBCdWYg PSBnZnhGb250LT5yZWFkRW1iRm9udEZpbGUoKHhyZWYpID8geHJlZiA6IHBkZkRvYy0+Z2V0WFJl ZigpKTsNCisgCQkJaWYgKCEgdG1wQnVmKQ0KKyAJCQkJZ290byBlcnIyOw0KKysjZWxzZQ0KKysJ CQl0bXBCdWYgPSBnZnhGb250LT5yZWFkRW1iRm9udEZpbGUoeHJlZiwgJnRtcEJ1Zkxlbik7DQor KwkJCWlmICghdG1wQnVmKQ0KKysJCQkJZ290byBlcnIyOw0KKysjZW5kaWYNCisgDQorIAkJCS8v IGV4dGVybmFsIGZvbnQNCisgCQl9DQorIAkJZWxzZQ0KKyAJCXsgLy8gZ2Z4Rm9udExvY0V4dGVy bmFsDQorLSNpZiBQT1BQTEVSX0VOQ09ERURfVkVSU0lPTiA+PSBQT1BQTEVSX1ZFUlNJT05fRU5D T0RFKDIyLCAyLCAwKQ0KKysjaWYgUE9QUExFUl9FTkNPREVEX1ZFUlNJT04gPj0gUE9QUExFUl9W RVJTSU9OX0VOQ09ERSgyMiwgNCwgMCkNCisrCQkJZmlsZU5hbWUgPSBmb250TG9jLT5wYXRoOw0K KysjZWxpZiBQT1BQTEVSX0VOQ09ERURfVkVSU0lPTiA+PSBQT1BQTEVSX1ZFUlNJT05fRU5DT0RF KDIyLCAyLCAwKQ0KKyAJCQlmaWxlTmFtZSA9IGZvbnRMb2MtPnBhdGhBc0dvb1N0cmluZygpOw0K KyAjZWxzZQ0KKyAJCQlmaWxlTmFtZSA9IGZvbnRMb2MtPnBhdGg7DQorQEAgLTI5ODUsNTIgKzMw MTcsNTQgQEAgdm9pZCBTbGFPdXRwdXREZXY6OnVwZGF0ZUZvbnQoR2Z4U3RhdGUgKnN0YXRlKQor IAkJfQ0KKyANCisgCQlmb250c3JjID0gbmV3IFNwbGFzaEZvbnRTcmM7DQorKyNpZiBQT1BQTEVS X0VOQ09ERURfVkVSU0lPTiA+PSBQT1BQTEVSX1ZFUlNJT05fRU5DT0RFKDIyLCA0LCAwKQ0KKysJ CWlmICghZmlsZU5hbWUuZW1wdHkoKSkNCisrCQkJZm9udHNyYy0+c2V0RmlsZShmaWxlTmFtZSk7 DQorKwkJZWxzZQ0KKysJCQlmb250c3JjLT5zZXRCdWYoc3RkOjptb3ZlKHRtcEJ1Zi52YWx1ZSgp KSk7DQorKyNlbHNlDQorIAkJaWYgKGZpbGVOYW1lKQ0KKyAJCQlmb250c3JjLT5zZXRGaWxlKGZp bGVOYW1lLCBnRmFsc2UpOw0KKyAJCWVsc2UNCisgCQkJZm9udHNyYy0+c2V0QnVmKHRtcEJ1Ziwg dG1wQnVmTGVuLCBnVHJ1ZSk7DQorKyNlbmRpZg0KKyANCisgCQkvLyBsb2FkIHRoZSBmb250IGZp bGUNCisgCQlzd2l0Y2ggKGZvbnRUeXBlKSB7DQorIAkJY2FzZSBmb250VHlwZTE6DQorLQkJCWlm ICghKGZvbnRGaWxlID0gbV9mb250RW5naW5lLT5sb2FkVHlwZTFGb250KA0KKy0JCQkJaWQsDQor LQkJCQlmb250c3JjLA0KKy0JCQkJKGNvbnN0IGNoYXIgKiopKChHZng4Qml0Rm9udCAqKSBnZnhG b250KS0+Z2V0RW5jb2RpbmcoKSkpKQ0KKysJCQlpZiAoIShmb250RmlsZSA9IG1fZm9udEVuZ2lu ZS0+bG9hZFR5cGUxRm9udChpZCwgZm9udHNyYywgKGNvbnN0IGNoYXIgKiopKChHZng4Qml0Rm9u dCAqKSBnZnhGb250KS0+Z2V0RW5jb2RpbmcoKSkpKQ0KKyAJCQl7DQorLQkJCQllcnJvcihlcnJT eW50YXhFcnJvciwgLTEsICJDb3VsZG4ndCBjcmVhdGUgYSBmb250IGZvciAnezA6c30nIiwNCist CQkJCWdmeEZvbnQtPmdldE5hbWUoKSA/IGdmeEZvbnQtPmdldE5hbWUoKS0+Z2V0Q1N0cmluZygp IDogIih1bm5hbWVkKSIpOw0KKysJCQkJZXJyb3IoZXJyU3ludGF4RXJyb3IsIC0xLCAiQ291bGRu J3QgY3JlYXRlIGEgZm9udCBmb3IgJ3swOnN9JyIsIGdmeEZvbnQtPmdldE5hbWUoKSA/IGdmeEZv bnQtPmdldE5hbWUoKS0+Z2V0Q1N0cmluZygpIDogIih1bm5hbWVkKSIpOw0KKyAJCQkJZ290byBl cnIyOw0KKyAJCQl9DQorIAkJCWJyZWFrOw0KKyAJCWNhc2UgZm9udFR5cGUxQzoNCistCQkJaWYg KCEoZm9udEZpbGUgPSBtX2ZvbnRFbmdpbmUtPmxvYWRUeXBlMUNGb250KA0KKy0JCQkJCQkJaWQs DQorLQkJCQkJCQlmb250c3JjLA0KKy0JCQkJCQkJKGNvbnN0IGNoYXIgKiopKChHZng4Qml0Rm9u dCAqKSBnZnhGb250KS0+Z2V0RW5jb2RpbmcoKSkpKQ0KKysJCQlpZiAoIShmb250RmlsZSA9IG1f Zm9udEVuZ2luZS0+bG9hZFR5cGUxQ0ZvbnQoaWQsIGZvbnRzcmMsIChjb25zdCBjaGFyICoqKSgo R2Z4OEJpdEZvbnQgKikgZ2Z4Rm9udCktPmdldEVuY29kaW5nKCkpKSkNCisgCQkJew0KKy0JCQkJ ZXJyb3IoZXJyU3ludGF4RXJyb3IsIC0xLCAiQ291bGRuJ3QgY3JlYXRlIGEgZm9udCBmb3IgJ3sw OnN9JyIsDQorLQkJCQlnZnhGb250LT5nZXROYW1lKCkgPyBnZnhGb250LT5nZXROYW1lKCktPmdl dENTdHJpbmcoKSA6ICIodW5uYW1lZCkiKTsNCisrCQkJCWVycm9yKGVyclN5bnRheEVycm9yLCAt MSwgIkNvdWxkbid0IGNyZWF0ZSBhIGZvbnQgZm9yICd7MDpzfSciLCBnZnhGb250LT5nZXROYW1l KCkgPyBnZnhGb250LT5nZXROYW1lKCktPmdldENTdHJpbmcoKSA6ICIodW5uYW1lZCkiKTsNCisg CQkJCWdvdG8gZXJyMjsNCisgCQkJfQ0KKyAJCQlicmVhazsNCisgCQljYXNlIGZvbnRUeXBlMUNP VDoNCistCQkJaWYgKCEoZm9udEZpbGUgPSBtX2ZvbnRFbmdpbmUtPmxvYWRPcGVuVHlwZVQxQ0Zv bnQoDQorLQkJCQkJCQlpZCwNCistCQkJCQkJCWZvbnRzcmMsDQorLQkJCQkJCQkoY29uc3QgY2hh ciAqKikoKEdmeDhCaXRGb250ICopIGdmeEZvbnQpLT5nZXRFbmNvZGluZygpKSkpDQorKwkJCWlm ICghKGZvbnRGaWxlID0gbV9mb250RW5naW5lLT5sb2FkT3BlblR5cGVUMUNGb250KGlkLCBmb250 c3JjLCAoY29uc3QgY2hhciAqKikoKEdmeDhCaXRGb250ICopIGdmeEZvbnQpLT5nZXRFbmNvZGlu ZygpKSkpDQorIAkJCXsNCistCQkJCWVycm9yKGVyclN5bnRheEVycm9yLCAtMSwgIkNvdWxkbid0 IGNyZWF0ZSBhIGZvbnQgZm9yICd7MDpzfSciLA0KKy0JCQkJZ2Z4Rm9udC0+Z2V0TmFtZSgpID8g Z2Z4Rm9udC0+Z2V0TmFtZSgpLT5nZXRDU3RyaW5nKCkgOiAiKHVubmFtZWQpIik7DQorKwkJCQll cnJvcihlcnJTeW50YXhFcnJvciwgLTEsICJDb3VsZG4ndCBjcmVhdGUgYSBmb250IGZvciAnezA6 c30nIiwgZ2Z4Rm9udC0+Z2V0TmFtZSgpID8gZ2Z4Rm9udC0+Z2V0TmFtZSgpLT5nZXRDU3RyaW5n KCkgOiAiKHVubmFtZWQpIik7DQorIAkJCQlnb3RvIGVycjI7DQorIAkJCX0NCisgCQkJYnJlYWs7 DQorIAkJY2FzZSBmb250VHJ1ZVR5cGU6DQorIAkJY2FzZSBmb250VHJ1ZVR5cGVPVDoNCisrI2lm IFBPUFBMRVJfRU5DT0RFRF9WRVJTSU9OID49IFBPUFBMRVJfVkVSU0lPTl9FTkNPREUoMjIsIDQs IDApDQorKwkJCWlmICghZmlsZU5hbWUuZW1wdHkoKSkNCisrCQkJCWZmID0gRm9GaVRydWVUeXBl Ojpsb2FkKGZpbGVOYW1lLmNfc3RyKCkpOw0KKysJCQllbHNlDQorKwkJCQlmZiA9IEZvRmlUcnVl VHlwZTo6bWFrZShmb250c3JjLT5idWYuZGF0YSgpLCBmb250c3JjLT5idWYuc2l6ZSgpKTsNCisr I2Vsc2UNCisgCQkJaWYgKGZpbGVOYW1lKQ0KKyAJCQkJZmYgPSBGb0ZpVHJ1ZVR5cGU6OmxvYWQo ZmlsZU5hbWUtPmdldENTdHJpbmcoKSk7DQorIAkJCWVsc2UNCisgCQkJCWZmID0gRm9GaVRydWVU eXBlOjptYWtlKHRtcEJ1ZiwgdG1wQnVmTGVuKTsNCisrI2VuZGlmDQorIAkJCWlmIChmZikNCisg CQkJew0KKyAjaWYgUE9QUExFUl9FTkNPREVEX1ZFUlNJT04gPj0gUE9QUExFUl9WRVJTSU9OX0VO Q09ERSgyMiwgMiwgMCkNCitAQCAtMzA0NywyNCArMzA4MSwxNyBAQCB2b2lkIFNsYU91dHB1dERl djo6dXBkYXRlRm9udChHZnhTdGF0ZSAqc3RhdGUpCisgCQkJCWNvZGVUb0dJRCA9IG51bGxwdHI7 DQorIAkJCQluID0gMDsNCisgCQkJfQ0KKy0JCQlpZiAoIShmb250RmlsZSA9IG1fZm9udEVuZ2lu ZS0+bG9hZFRydWVUeXBlRm9udCgNCistCQkJCQkJCWlkLA0KKy0JCQkJCQkJZm9udHNyYywNCist CQkJCQkJCWNvZGVUb0dJRCwgbikpKQ0KKysJCQlpZiAoIShmb250RmlsZSA9IG1fZm9udEVuZ2lu ZS0+bG9hZFRydWVUeXBlRm9udChpZCwgZm9udHNyYywgY29kZVRvR0lELCBuKSkpDQorIAkJCXsN CistCQkJCWVycm9yKGVyclN5bnRheEVycm9yLCAtMSwgIkNvdWxkbid0IGNyZWF0ZSBhIGZvbnQg Zm9yICd7MDpzfSciLA0KKy0JCQkJZ2Z4Rm9udC0+Z2V0TmFtZSgpID8gZ2Z4Rm9udC0+Z2V0TmFt ZSgpLT5nZXRDU3RyaW5nKCkgOiAiKHVubmFtZWQpIik7DQorKwkJCQllcnJvcihlcnJTeW50YXhF cnJvciwgLTEsICJDb3VsZG4ndCBjcmVhdGUgYSBmb250IGZvciAnezA6c30nIiwgZ2Z4Rm9udC0+ Z2V0TmFtZSgpID8gZ2Z4Rm9udC0+Z2V0TmFtZSgpLT5nZXRDU3RyaW5nKCkgOiAiKHVubmFtZWQp Iik7DQorIAkJCQlnb3RvIGVycjI7DQorIAkJCX0NCisgCQkJYnJlYWs7DQorIAkJY2FzZSBmb250 Q0lEVHlwZTA6DQorIAkJY2FzZSBmb250Q0lEVHlwZTBDOg0KKy0JCQlpZiAoIShmb250RmlsZSA9 IG1fZm9udEVuZ2luZS0+bG9hZENJREZvbnQoDQorLQkJCQkJCQlpZCwNCistCQkJCQkJCWZvbnRz cmMpKSkNCisrCQkJaWYgKCEoZm9udEZpbGUgPSBtX2ZvbnRFbmdpbmUtPmxvYWRDSURGb250KGlk LCBmb250c3JjKSkpDQorIAkJCXsNCistCQkJCWVycm9yKGVyclN5bnRheEVycm9yLCAtMSwgIkNv dWxkbid0IGNyZWF0ZSBhIGZvbnQgZm9yICd7MDpzfSciLA0KKy0JCQkJZ2Z4Rm9udC0+Z2V0TmFt ZSgpID8gZ2Z4Rm9udC0+Z2V0TmFtZSgpLT5nZXRDU3RyaW5nKCkgOiAiKHVubmFtZWQpIik7DQor KwkJCQllcnJvcihlcnJTeW50YXhFcnJvciwgLTEsICJDb3VsZG4ndCBjcmVhdGUgYSBmb250IGZv ciAnezA6c30nIiwgZ2Z4Rm9udC0+Z2V0TmFtZSgpID8gZ2Z4Rm9udC0+Z2V0TmFtZSgpLT5nZXRD U3RyaW5nKCkgOiAiKHVubmFtZWQpIik7DQorIAkJCQlnb3RvIGVycjI7DQorIAkJCX0NCisgCQkJ YnJlYWs7DQorQEAgLTMwODAsMTAgKzMxMDcsNyBAQCB2b2lkIFNsYU91dHB1dERldjo6dXBkYXRl Rm9udChHZnhTdGF0ZSAqc3RhdGUpCisgCQkJCWNvZGVUb0dJRCA9IG51bGxwdHI7DQorIAkJCQlu ID0gMDsNCisgCQkJfQ0KKy0JCQlpZiAoIShmb250RmlsZSA9IG1fZm9udEVuZ2luZS0+bG9hZE9w ZW5UeXBlQ0ZGRm9udCgNCistCQkJCQkJCWlkLA0KKy0JCQkJCQkJZm9udHNyYywNCistCQkJCQkJ CWNvZGVUb0dJRCwgbikpKQ0KKysJCQlpZiAoIShmb250RmlsZSA9IG1fZm9udEVuZ2luZS0+bG9h ZE9wZW5UeXBlQ0ZGRm9udChpZCwgZm9udHNyYywgY29kZVRvR0lELCBuKSkpDQorIAkJCXsNCisg CQkJCWVycm9yKGVyclN5bnRheEVycm9yLCAtMSwgIkNvdWxkbid0IGNyZWF0ZSBhIGZvbnQgZm9y ICd7MDpzfSciLA0KKyAJCQkJZ2Z4Rm9udC0+Z2V0TmFtZSgpID8gZ2Z4Rm9udC0+Z2V0TmFtZSgp LT5nZXRDU3RyaW5nKCkgOiAiKHVubmFtZWQpIik7DQorQEAgLTMxMDUsMTAgKzMxMjksMTcgQEAg dm9pZCBTbGFPdXRwdXREZXY6OnVwZGF0ZUZvbnQoR2Z4U3RhdGUgKnN0YXRlKQorIAkJCX0NCisg CQkJZWxzZQ0KKyAJCQl7DQorKyNpZiBQT1BQTEVSX0VOQ09ERURfVkVSU0lPTiA+PSBQT1BQTEVS X1ZFUlNJT05fRU5DT0RFKDIyLCA0LCAwKQ0KKysJCQkJaWYgKCFmaWxlTmFtZS5lbXB0eSgpKQ0K KysJCQkJCWZmID0gRm9GaVRydWVUeXBlOjpsb2FkKGZpbGVOYW1lLmNfc3RyKCkpOw0KKysJCQkJ ZWxzZQ0KKysJCQkJCWZmID0gRm9GaVRydWVUeXBlOjptYWtlKGZvbnRzcmMtPmJ1Zi5kYXRhKCks IGZvbnRzcmMtPmJ1Zi5zaXplKCkpOw0KKysjZWxzZQ0KKyAJCQkJaWYgKGZpbGVOYW1lKQ0KKyAJ CQkJCWZmID0gRm9GaVRydWVUeXBlOjpsb2FkKGZpbGVOYW1lLT5nZXRDU3RyaW5nKCkpOw0KKyAJ CQkJZWxzZQ0KKyAJCQkJCWZmID0gRm9GaVRydWVUeXBlOjptYWtlKHRtcEJ1ZiwgdG1wQnVmTGVu KTsNCisrI2VuZGlmDQorIAkJCQlpZiAoISBmZikNCisgCQkJCQlnb3RvIGVycjI7DQorICNpZiBQ T1BQTEVSX0VOQ09ERURfVkVSU0lPTiA+PSBQT1BQTEVSX1ZFUlNJT05fRU5DT0RFKDIyLCAyLCAw KQ0KK0BAIC0zMTE5LDEzICszMTUwLDkgQEAgdm9pZCBTbGFPdXRwdXREZXY6OnVwZGF0ZUZvbnQo R2Z4U3RhdGUgKnN0YXRlKQorIAkJCQlkZWxldGUgZmY7DQorICNlbmRpZg0KKyAJCQl9DQorLQkJ CWlmICghKGZvbnRGaWxlID0gbV9mb250RW5naW5lLT5sb2FkVHJ1ZVR5cGVGb250KA0KKy0JCQkJ CQkJaWQsDQorLQkJCQkJCQlmb250c3JjLA0KKy0JCQkJCQkJY29kZVRvR0lELCBuLCBmYWNlSW5k ZXgpKSkNCisrCQkJaWYgKCEoZm9udEZpbGUgPSBtX2ZvbnRFbmdpbmUtPmxvYWRUcnVlVHlwZUZv bnQoaWQsIGZvbnRzcmMsIGNvZGVUb0dJRCwgbiwgZmFjZUluZGV4KSkpDQorIAkJCXsNCistCQkJ CWVycm9yKGVyclN5bnRheEVycm9yLCAtMSwgIkNvdWxkbid0IGNyZWF0ZSBhIGZvbnQgZm9yICd7 MDpzfSciLA0KKy0JCQkJZ2Z4Rm9udC0+Z2V0TmFtZSgpID8gZ2Z4Rm9udC0+Z2V0TmFtZSgpLT5n ZXRDU3RyaW5nKCkgOiAiKHVubmFtZWQpIik7DQorKwkJCQllcnJvcihlcnJTeW50YXhFcnJvciwg LTEsICJDb3VsZG4ndCBjcmVhdGUgYSBmb250IGZvciAnezA6c30nIiwgZ2Z4Rm9udC0+Z2V0TmFt ZSgpID8gZ2Z4Rm9udC0+Z2V0TmFtZSgpLT5nZXRDU3RyaW5nKCkgOiAiKHVubmFtZWQpIik7DQor IAkJCQlnb3RvIGVycjI7DQorIAkJCX0NCisgCQkJYnJlYWs7DQorQEAgLTMyNjksOSArMzI5Niwx NSBAQCB2b2lkIFNsYU91dHB1dERldjo6ZHJhd0NoYXIoR2Z4U3RhdGUqIHN0YXRlLCBkb3VibGUg eCwgZG91YmxlIHksIGRvdWJsZSBkeCwgZG91YgorIEdCb29sIFNsYU91dHB1dERldjo6YmVnaW5U eXBlM0NoYXIoR2Z4U3RhdGUgKnN0YXRlLCBkb3VibGUgeCwgZG91YmxlIHksIGRvdWJsZSBkeCwg ZG91YmxlIGR5LCBDaGFyQ29kZSBjb2RlLCBQT1BQTEVSX0NPTlNUXzA4MiBVbmljb2RlICp1LCBp bnQgdUxlbikNCisgew0KKyAvLwlxRGVidWcoKSA8PCAiYmVnaW5UeXBlM0NoYXIiOw0KKysjaWYg UE9QUExFUl9FTkNPREVEX1ZFUlNJT04gPj0gUE9QUExFUl9WRVJTSU9OX0VOQ09ERSgyMiwgNCwg MCkNCisgCUdmeEZvbnQgKmdmeEZvbnQ7DQorKwlpZiAoIShnZnhGb250ID0gc3RhdGUtPmdldEZv bnQoKS5nZXQoKSkpDQorKwkJcmV0dXJuIGdUcnVlOw0KKysjZWxzZQ0KKysJR2Z4Rm9udCogZ2Z4 Rm9udDsNCisgCWlmICghKGdmeEZvbnQgPSBzdGF0ZS0+Z2V0Rm9udCgpKSkNCisgCQlyZXR1cm4g Z1RydWU7DQorKyNlbmRpZg0KKyAJaWYgKGdmeEZvbnQtPmdldFR5cGUoKSAhPSBmb250VHlwZTMp DQorIAkJcmV0dXJuIGdUcnVlOw0KKyAJRjNFbnRyeSBmM2U7DQpkaWZmIC0tZ2l0IGEvc3JjcGtn cy9zY3JpYnVzL3RlbXBsYXRlIGIvc3JjcGtncy9zY3JpYnVzL3RlbXBsYXRlCmluZGV4IDBlYzkw OGY3ZWY1MC4uMTI1YTdkNTRlNGNmIDEwMDY0NAotLS0gYS9zcmNwa2dzL3NjcmlidXMvdGVtcGxh dGUKKysrIGIvc3JjcGtncy9zY3JpYnVzL3RlbXBsYXRlCkBAIC0xLDEwICsxLDEwIEBACiAjIFRl bXBsYXRlIGZpbGUgZm9yICdzY3JpYnVzJwogcGtnbmFtZT1zY3JpYnVzCiB2ZXJzaW9uPTEuNS44 Ci1yZXZpc2lvbj0xCityZXZpc2lvbj0yCiBidWlsZF9zdHlsZT1jbWFrZQogY29uZmlndXJlX2Fy Z3M9Ii1EQ01BS0VfU0tJUF9SUEFUSD1UUlVFIC1EUVRfUFJFRklYPSR7WEJQU19DUk9TU19CQVNF fS91c3IKLSAtRFdBTlRfR1JBUEhJQ1NNQUdJQ0s9MSIKKyAtRFdBTlRfR1JBUEhJQ1NNQUdJQ0s9 MSAtRFdBTlRfQ1BQMTc9T04iCiBob3N0bWFrZWRlcGVuZHM9InBrZy1jb25maWcgcXQ1LXFtYWtl IHF0NS1ob3N0LXRvb2xzIHB5dGhvbjMiCiBtYWtlZGVwZW5kcz0icXQ1LWRldmVsIHF0NS10b29s cy1kZXZlbCB6bGliLWRldmVsIGNhaXJvLWRldmVsIGxjbXMyLWRldmVsCiAgY3Vwcy1kZXZlbCBs aWJ4bWwyLWRldmVsIGh5cGhlbi1kZXZlbCBnaG9zdHNjcmlwdC1kZXZlbCBib29zdC1kZXZlbAo= --===============0864352044000040606==--