Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pPZns-0007AY-JA for pgsql-hackers@arkaria.postgresql.org; Wed, 08 Feb 2023 02:03:22 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1pPZnq-0005Ks-T9 for pgsql-hackers@arkaria.postgresql.org; Wed, 08 Feb 2023 02:03:18 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pPZnq-0005Ki-EA for pgsql-hackers@lists.postgresql.org; Wed, 08 Feb 2023 02:03:18 +0000 Received: from smtp-fw-6002.amazon.com ([52.95.49.90]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pPZnn-0000Ti-HY for pgsql-hackers@postgresql.org; Wed, 08 Feb 2023 02:03:17 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amazon.com; i=@amazon.com; q=dns/txt; s=amazon201209; t=1675821796; x=1707357796; h=from:to:cc:date:message-id:references:in-reply-to: mime-version:subject; bh=kByIgXn3Ub+tgqROIH20qzKerQbkLOv8LAMLeRe2fQs=; b=nd6jVY8RTkWP9GcoFLsVT5pkfrN6I2DSnZyE9XGc1erehkxJAeLIMCqg 8OSarlJMayc/u2B5rpZ2kjGkR/aosli7uRK4NN+ZL2fxlUtc4TPA5dDh2 t4BCRGPHV6Wx/cRT38iiiSRDWwZTLkjF275ctrpQLlfu1uQO45dmOnueU Y=; X-Amazon-filename: v23-0001-Add-2-new-columns-to-pg_stat_progress_vacuum.-Th.patch X-IronPort-AV: E=Sophos;i="5.97,279,1669075200"; d="scan'208,223";a="294587260" Subject: Re: Add index scan progress to pg_stat_progress_vacuum Thread-Topic: Add index scan progress to pg_stat_progress_vacuum Received: from iad12-co-svc-p1-lb1-vlan3.amazon.com (HELO email-inbound-relay-pdx-2a-m6i4x-d47337e0.us-west-2.amazon.com) ([10.43.8.6]) by smtp-border-fw-6002.iad6.amazon.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Feb 2023 02:03:13 +0000 Received: from EX13MTAUWB001.ant.amazon.com (pdx1-ws-svc-p6-lb9-vlan3.pdx.amazon.com [10.236.137.198]) by email-inbound-relay-pdx-2a-m6i4x-d47337e0.us-west-2.amazon.com (Postfix) with ESMTPS id 4528960DF7; Wed, 8 Feb 2023 02:03:12 +0000 (UTC) Received: from EX19D003UWB003.ant.amazon.com (10.13.138.116) by EX13MTAUWB001.ant.amazon.com (10.43.161.207) with Microsoft SMTP Server (TLS) id 15.0.1497.45; Wed, 8 Feb 2023 02:03:11 +0000 Received: from EX19D013UWA001.ant.amazon.com (10.13.138.253) by EX19D003UWB003.ant.amazon.com (10.13.138.116) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA) id 15.2.1118.24; Wed, 8 Feb 2023 02:03:11 +0000 Received: from EX19D013UWA001.ant.amazon.com ([fe80::e912:ae5e:9427:9964]) by EX19D013UWA001.ant.amazon.com ([fe80::e912:ae5e:9427:9964%5]) with mapi id 15.02.1118.024; Wed, 8 Feb 2023 02:03:11 +0000 From: "Imseih (AWS), Sami" To: Masahiko Sawada CC: Andres Freund , "Drouvot, Bertrand" , vignesh C , "Nathan Bossart" , Robert Haas , "Bossart, Nathan" , Peter Geoghegan , Justin Pryzby , "pgsql-hackers@postgresql.org" Thread-Index: AQHZA4UjiGMtZ7l1bk+swoIiaI4jE65gO6uAgAqyogCAAcWAAP//1SQAgBpsPYCAA2YugIACX5aA////NwCAAYLDgIAAO8SAgAE67gCAANixAIAAtUEAgADKN4CABRmogIADi7YAgAyQ/4CAAAv5AIAUS0EAgAi9/wA= Date: Wed, 8 Feb 2023 02:03:11 +0000 Message-ID: References: <20221230183955.GB437226@nathanxps13> <3D992C93-AA5D-4719-8712-6ECD3D864966@amazon.com> <7A191516-3D65-4819-BF19-E116B53E783C@amazon.com> <977c555e-5d10-526f-ada0-b58d12267075@gmail.com> <2397CA8A-DAD7-46C7-AF69-97365DA47AF8@amazon.com> <84DF5E2A-3AB5-4744-92B3-DA63F9C4B3AE@amazon.com> <39C09108-1A6A-4105-9E16-5F0F68503658@amazon.com> <20230110015247.yspx3hkz2sk6p6u3@awork3.anarazel.de> <72CD33F6-C2B5-45E4-A78F-85EC923DCF0F@amazon.com> <08FEC8D2-B5BA-4E0F-80EB-5428E7C980EC@amazon.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: x-originating-ip: [10.94.133.224] Content-Type: multipart/mixed; boundary="_002_FE38BD93AC8648CC902248323219A541amazoncom_" MIME-Version: 1.0 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --_002_FE38BD93AC8648CC902248323219A541amazoncom_ Content-Type: text/plain; charset="utf-8" Content-ID: <2651C4499910B4448A5C9E0C06586120@amazon.com> Content-Transfer-Encoding: base64 SGksDQoNClRoYW5rcyBmb3IgeW91ciByZXBseSENCg0KSSBhZGRyZXNzZWQgdGhlIGxhdGVzdCBj b21tZW50cyBpbiB2MjMuDQoNCjEvIGNsZWFuZWQgdXAgdGhlIGFzc2VydHMgYXMgZGlzY3Vzc2Vk Lg0KMi8gdXNlZCBwcV9wdXRtZXNzYWdlIHRvIHNlbmQgdGhlIG1lc3NhZ2Ugb24gaW5kZXggc2Nh biBjb21wbGV0aW9uLg0KDQpUaGFua3MNCg0KLS0NClNhbWkgSW1zZWloDQpBbWF6b24gV2ViIFNl cnZpY2VzIChBV1MpDQoNCg== --_002_FE38BD93AC8648CC902248323219A541amazoncom_ Content-Type: application/octet-stream; name="v23-0001-Add-2-new-columns-to-pg_stat_progress_vacuum.-Th.patch" Content-Description: v23-0001-Add-2-new-columns-to-pg_stat_progress_vacuum.-Th.patch Content-Disposition: attachment; filename="v23-0001-Add-2-new-columns-to-pg_stat_progress_vacuum.-Th.patch"; size=16885; creation-date="Wed, 08 Feb 2023 02:03:11 GMT"; modification-date="Wed, 08 Feb 2023 02:03:11 GMT" Content-ID: <11492ECEF83E014C963282F81D1F73A7@amazon.com> Content-Transfer-Encoding: base64 RnJvbSA2NDI1ODY5NmYxZTY0OGNmNWY3ZTA1ODAzYzg0OWMzZjg1YmU1YzNhIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiSW1zZWloIChBV1MpIiA8c2ltc2VpaEA4ODY2NWEyMjc5NWYu YW50LmFtYXpvbi5jb20+CkRhdGU6IFR1ZSwgNyBGZWIgMjAyMyAxOTozOTo0MiAtMDYwMApTdWJq ZWN0OiBbUEFUQ0ggMS8xXSBSZXBvcnQgaW5kZXggdmFjdXVtIHByb2dyZXNzLgoKQWRkIDIgbmV3 IGNvbHVtbnMgdG8gcGdfc3RhdF9wcm9ncmVzc192YWN1dW0uClRoZSBjb2x1bW5zIGFyZSBuZGV4 ZXNfdG90YWwgYXMgdGhlIHRvdGFsIGluZGV4ZXMgdG8gYmUgdmFjdXVtZWQgb3IgY2xlYW5lZCBh bmQKaW5kZXhlc19wcm9jZXNzZWQgYXMgdGhlIG51bWJlciBvZiBpbmRleGVzIHZhY3V1bWVkIG9y IGNsZWFuZWQgdXAgc28gZmFyLgoKQXV0aG9yOiBTYW1pIEltc2VpaCwgYmFzZWQgb24gc3VnZ2Vz dGlvbnMgYnkgTmF0aGFuIEJvc3NhcnQsIFBldGVyIEdlb2doZWdhbiBhbmQgTWFzYWhpa28gU2F3 YWRhClJldmlld2VkIGJ5OiBOYXRoYW4gQm9zc2FydCwgTWFzYWhpa28gU2F3YWRhCkRpc2N1c3Np b246IGh0dHBzOi8vd3d3LnBvc3RncmVzcWwub3JnL21lc3NhZ2UtaWQvZmxhdC81NDc4REZDRC0y MzMzLTQwMUEtQjJGMC0wRDE4NkFCMDkyMjhAYW1hem9uLmNvbQotLS0KIGRvYy9zcmMvc2dtbC9t b25pdG9yaW5nLnNnbWwgICAgICAgICAgfCAzMSArKysrKysrKysrKwogc3JjL2JhY2tlbmQvYWNj ZXNzL2hlYXAvdmFjdXVtbGF6eS5jICB8IDgwICsrKysrKysrKysrKysrKysrKysrKysrLS0tLQog c3JjL2JhY2tlbmQvYWNjZXNzL3RyYW5zYW0vcGFyYWxsZWwuYyB8IDE2ICsrKysrKwogc3JjL2Jh Y2tlbmQvY2F0YWxvZy9zeXN0ZW1fdmlld3Muc3FsICB8ICAzICstCiBzcmMvYmFja2VuZC9jb21t YW5kcy92YWN1dW1wYXJhbGxlbC5jIHwgNTUgKysrKysrKysrKysrKysrKystCiBzcmMvaW5jbHVk ZS9hY2Nlc3MvcGFyYWxsZWwuaCAgICAgICAgIHwgIDUgKysKIHNyYy9pbmNsdWRlL2NvbW1hbmRz L3Byb2dyZXNzLmggICAgICAgfCAgMiArCiBzcmMvaW5jbHVkZS9jb21tYW5kcy92YWN1dW0uaCAg ICAgICAgIHwgIDEgKwogc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9ydWxlcy5vdXQgICB8ICA0 ICstCiA5IGZpbGVzIGNoYW5nZWQsIDE4NCBpbnNlcnRpb25zKCspLCAxMyBkZWxldGlvbnMoLSkK CmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvbW9uaXRvcmluZy5zZ21sIGIvZG9jL3NyYy9zZ21s L21vbml0b3Jpbmcuc2dtbAppbmRleCAxNzU2ZjFhNGI2Li4yNzk2ZDkyZjk5IDEwMDY0NAotLS0g YS9kb2Mvc3JjL3NnbWwvbW9uaXRvcmluZy5zZ21sCisrKyBiL2RvYy9zcmMvc2dtbC9tb25pdG9y aW5nLnNnbWwKQEAgLTE3NzksNiArMTc3OSwxMCBAQCBwb3N0Z3JlcyAgIDI3MDkzICAwLjAgIDAu MCAgMzAwOTYgIDI3NTIgPyAgICAgICAgU3MgICAxMTozNCAgIDA6MDAgcG9zdGdyZXM6IHNlcgog ICAgICAgPGVudHJ5PjxsaXRlcmFsPlBhcmFsbGVsRmluaXNoPC9saXRlcmFsPjwvZW50cnk+CiAg ICAgICA8ZW50cnk+V2FpdGluZyBmb3IgcGFyYWxsZWwgd29ya2VycyB0byBmaW5pc2ggY29tcHV0 aW5nLjwvZW50cnk+CiAgICAgIDwvcm93PgorICAgICA8cm93PgorICAgICAgPGVudHJ5PjxsaXRl cmFsPlBhcmFsbGVsVmFjdXVtRmluaXNoPC9saXRlcmFsPjwvZW50cnk+CisgICAgICA8ZW50cnk+ V2FpdGluZyBmb3IgcGFyYWxsZWwgdmFjdXVtIHdvcmtlcnMgdG8gZmluaXNoIGluZGV4IHZhY3V1 bS48L2VudHJ5PgorICAgICA8L3Jvdz4KICAgICAgPHJvdz4KICAgICAgIDxlbnRyeT48bGl0ZXJh bD5Qcm9jQXJyYXlHcm91cFVwZGF0ZTwvbGl0ZXJhbD48L2VudHJ5PgogICAgICAgPGVudHJ5Pldh aXRpbmcgZm9yIHRoZSBncm91cCBsZWFkZXIgdG8gY2xlYXIgdGhlIHRyYW5zYWN0aW9uIElEIGF0 CkBAIC02ODgzLDYgKzY4ODcsMzMgQEAgRlJPTSBwZ19zdGF0X2dldF9iYWNrZW5kX2lkc2V0KCkg QVMgYmFja2VuZGlkOwogICAgICAgIE51bWJlciBvZiBkZWFkIHR1cGxlcyBjb2xsZWN0ZWQgc2lu Y2UgdGhlIGxhc3QgaW5kZXggdmFjdXVtIGN5Y2xlLgogICAgICAgPC9wYXJhPjwvZW50cnk+CiAg ICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJs ZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3Rm aWVsZD5pbmRleGVzX3RvdGFsPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+YmlnaW50PC90eXBlPgorICAg ICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgTnVtYmVyIG9mIGluZGV4ZXMgdGhhdCB3 aWxsIGJlIHZhY3V1bWVkIG9yIGNsZWFuZWQgdXAuIFRoaXMgdmFsdWUgd2lsbCBiZQorICAgICAg IDxsaXRlcmFsPjA8L2xpdGVyYWw+IGlmIHRoZSBwaGFzZSBpcyBub3QgPGxpdGVyYWw+dmFjdXVt aW5nIGluZGV4ZXM8L2xpdGVyYWw+CisgICAgICAgb3IgPGxpdGVyYWw+Y2xlYW5pbmcgdXAgaW5k ZXhlczwvbGl0ZXJhbD4sIDxsaXRlcmFsPklOREVYX0NMRUFOVVA8L2xpdGVyYWw+CisgICAgICAg aXMgc2V0IHRvIDxsaXRlcmFsPk9GRjwvbGl0ZXJhbD4sIGluZGV4IHZhY3V1bSBpcyBza2lwcGVk IGR1ZSB0byB2ZXJ5CisgICAgICAgZmV3IGRlYWQgdHVwbGVzIGluIHRoZSB0YWJsZSwgb3IgdmFj dXVtIGZhaWxzYWZlIGlzIHRyaWdnZXJlZC4KKyAgICAgICBTZWUgPHhyZWYgbGlua2VuZD0iZ3Vj LXZhY3V1bS1mYWlsc2FmZS1hZ2UiLz4KKyAgICAgICBmb3IgbW9yZSBvbiB2YWN1dW0gZmFpbHNh ZmUuCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAg ICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5f ZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPmluZGV4ZXNfY29tcGxldGVkPC9zdHJ1 Y3RmaWVsZD4gPHR5cGU+YmlnaW50PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+ CisgICAgICAgTnVtYmVyIG9mIGluZGV4ZXMgdmFjdXVtZWQgaW4gdGhlIGN1cnJlbnQgdmFjdXVt IGN5Y2xlIHdoZW4gdGhlCisgICAgICAgcGhhc2UgaXMgPGxpdGVyYWw+dmFjdXVtaW5nIGluZGV4 ZXM8L2xpdGVyYWw+LCBvciB0aGUgbnVtYmVyCisgICAgICAgb2YgaW5kZXhlcyBjbGVhbmVkIHVw IGR1cmluZyB0aGUgPGxpdGVyYWw+Y2xlYW5pbmcgdXAgaW5kZXhlczwvbGl0ZXJhbD4KKyAgICAg ICBwaGFzZS4KKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KICAgICA8L3Rib2R5 PgogICAgPC90Z3JvdXA+CiAgIDwvdGFibGU+CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9hY2Nl c3MvaGVhcC92YWN1dW1sYXp5LmMgYi9zcmMvYmFja2VuZC9hY2Nlc3MvaGVhcC92YWN1dW1sYXp5 LmMKaW5kZXggOGYxNGNmODVmMy4uMjhiYWM5MjU5MSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQv YWNjZXNzL2hlYXAvdmFjdXVtbGF6eS5jCisrKyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy9oZWFwL3Zh Y3V1bWxhenkuYwpAQCAtMjMxNiw2ICsyMzE2LDE3IEBAIGxhenlfdmFjdXVtX2FsbF9pbmRleGVz KExWUmVsU3RhdGUgKnZhY3JlbCkKIHsKIAlib29sCQlhbGxpbmRleGVzID0gdHJ1ZTsKIAlkb3Vi bGUJCW9sZF9saXZlX3R1cGxlcyA9IHZhY3JlbC0+cmVsLT5yZF9yZWwtPnJlbHR1cGxlczsKKwlj b25zdCBpbnQgcHJvZ3Jlc3Nfc3RhcnRfaW5kZXhbXSA9IHsKKwkJUFJPR1JFU1NfVkFDVVVNX1BI QVNFLAorCQlQUk9HUkVTU19WQUNVVU1fSU5ERVhfVE9UQUwKKwl9OworCWNvbnN0IGludCBwcm9n cmVzc19lbmRfaW5kZXhbXSA9IHsKKwkJUFJPR1JFU1NfVkFDVVVNX0lOREVYX1RPVEFMLAorCQlQ Uk9HUkVTU19WQUNVVU1fSU5ERVhfQ09NUExFVEVELAorCQlQUk9HUkVTU19WQUNVVU1fTlVNX0lO REVYX1ZBQ1VVTVMKKwl9OworCWludDY0ICAgICAgIHByb2dyZXNzX3N0YXJ0X3ZhbFsyXTsKKwlp bnQ2NCAgICAgICBwcm9ncmVzc19lbmRfdmFsWzNdOwogCiAJQXNzZXJ0KHZhY3JlbC0+bmluZGV4 ZXMgPiAwKTsKIAlBc3NlcnQodmFjcmVsLT5kb19pbmRleF92YWN1dW1pbmcpOwpAQCAtMjMyOCw5 ICsyMzM5LDEzIEBAIGxhenlfdmFjdXVtX2FsbF9pbmRleGVzKExWUmVsU3RhdGUgKnZhY3JlbCkK IAkJcmV0dXJuIGZhbHNlOwogCX0KIAotCS8qIFJlcG9ydCB0aGF0IHdlIGFyZSBub3cgdmFjdXVt aW5nIGluZGV4ZXMgKi8KLQlwZ3N0YXRfcHJvZ3Jlc3NfdXBkYXRlX3BhcmFtKFBST0dSRVNTX1ZB Q1VVTV9QSEFTRSwKLQkJCQkJCQkJIFBST0dSRVNTX1ZBQ1VVTV9QSEFTRV9WQUNVVU1fSU5ERVgp OworCS8qCisJICogUmVwb3J0IHRoYXQgd2UgYXJlIG5vdyB2YWN1dW1pbmcgaW5kZXhlcworCSAq IGFuZCB0aGUgbnVtYmVyIG9mIGluZGV4ZXMgdG8gdmFjdXVtLgorCSAqLworCXByb2dyZXNzX3N0 YXJ0X3ZhbFswXSA9IFBST0dSRVNTX1ZBQ1VVTV9QSEFTRV9WQUNVVU1fSU5ERVg7CisJcHJvZ3Jl c3Nfc3RhcnRfdmFsWzFdID0gdmFjcmVsLT5uaW5kZXhlczsKKwlwZ3N0YXRfcHJvZ3Jlc3NfdXBk YXRlX211bHRpX3BhcmFtKDIsIHByb2dyZXNzX3N0YXJ0X2luZGV4LCBwcm9ncmVzc19zdGFydF92 YWwpOwogCiAJaWYgKCFQYXJhbGxlbFZhY3V1bUlzQWN0aXZlKHZhY3JlbCkpCiAJewpAQCAtMjM0 Myw2ICsyMzU4LDEwIEBAIGxhenlfdmFjdXVtX2FsbF9pbmRleGVzKExWUmVsU3RhdGUgKnZhY3Jl bCkKIAkJCQkJCQkJCQkJCQkJICBvbGRfbGl2ZV90dXBsZXMsCiAJCQkJCQkJCQkJCQkJCSAgdmFj cmVsKTsKIAorCQkJLyogRG9uZSB2YWN1dW1pbmcgYW4gaW5kZXggLS0gaW5jcmVtZW50IHRoZSBp bmRleGVzIGNvbXBsZXRlZCAqLworCQkJcGdzdGF0X3Byb2dyZXNzX3VwZGF0ZV9wYXJhbShQUk9H UkVTU19WQUNVVU1fSU5ERVhfQ09NUExFVEVELAorCQkJCQkJCQkJCSBpZHggKyAxKTsKKwogCQkJ aWYgKGxhenlfY2hlY2tfd3JhcGFyb3VuZF9mYWlsc2FmZSh2YWNyZWwpKQogCQkJewogCQkJCS8q IFdyYXBhcm91bmQgZW1lcmdlbmN5IC0tIGVuZCBjdXJyZW50IGluZGV4IHNjYW4gKi8KQEAgLTIz NzcsMTQgKzIzOTYsMTggQEAgbGF6eV92YWN1dW1fYWxsX2luZGV4ZXMoTFZSZWxTdGF0ZSAqdmFj cmVsKQogCUFzc2VydChhbGxpbmRleGVzIHx8IHZhY3JlbC0+ZmFpbHNhZmVfYWN0aXZlKTsKIAog CS8qCi0JICogSW5jcmVhc2UgYW5kIHJlcG9ydCB0aGUgbnVtYmVyIG9mIGluZGV4IHNjYW5zLgor CSAqIFJlc2V0IGFuZCByZXBvcnQgdGhlIHRvdGFsIGluZGV4ZXMgdG8gdmFjdXVtIGFuZCB0aGUg bnVtYmVyIG9mCisJICogaW5kZXhlcyB2YWN1dW1lZC4KKwkgKiBBbHNvLCBpbmNyZWFzZSBhbmQg cmVwb3J0IHRoZSBudW1iZXIgb2YgaW5kZXggc2NhbnMgY29tcGxldGVkLgogCSAqCiAJICogV2Ug ZGVsaWJlcmF0ZWx5IGluY2x1ZGUgdGhlIGNhc2Ugd2hlcmUgd2Ugc3RhcnRlZCBhIHJvdW5kIG9m IGJ1bGsKIAkgKiBkZWxldGVzIHRoYXQgd2Ugd2VyZW4ndCBhYmxlIHRvIGZpbmlzaCBkdWUgdG8g dGhlIGZhaWxzYWZlIHRyaWdnZXJpbmcuCiAJICovCiAJdmFjcmVsLT5udW1faW5kZXhfc2NhbnMr KzsKLQlwZ3N0YXRfcHJvZ3Jlc3NfdXBkYXRlX3BhcmFtKFBST0dSRVNTX1ZBQ1VVTV9OVU1fSU5E RVhfVkFDVVVNUywKLQkJCQkJCQkJIHZhY3JlbC0+bnVtX2luZGV4X3NjYW5zKTsKKwlwcm9ncmVz c19lbmRfdmFsWzBdID0gMDsKKwlwcm9ncmVzc19lbmRfdmFsWzFdID0gMDsKKwlwcm9ncmVzc19l bmRfdmFsWzJdID0gdmFjcmVsLT5udW1faW5kZXhfc2NhbnM7CisJcGdzdGF0X3Byb2dyZXNzX3Vw ZGF0ZV9tdWx0aV9wYXJhbSgzLCBwcm9ncmVzc19lbmRfaW5kZXgsIHByb2dyZXNzX2VuZF92YWwp OwogCiAJcmV0dXJuIGFsbGluZGV4ZXM7CiB9CkBAIC0yNjIxLDEyICsyNjQ0LDIzIEBAIGxhenlf Y2hlY2tfd3JhcGFyb3VuZF9mYWlsc2FmZShMVlJlbFN0YXRlICp2YWNyZWwpCiAKIAlpZiAodW5s aWtlbHkodmFjdXVtX3hpZF9mYWlsc2FmZV9jaGVjaygmdmFjcmVsLT5jdXRvZmZzKSkpCiAJewor CQljb25zdCBpbnQgICBwcm9ncmVzc19pbmRleFtdID0geworCQkJUFJPR1JFU1NfVkFDVVVNX0lO REVYX1RPVEFMLAorCQkJUFJPR1JFU1NfVkFDVVVNX0lOREVYX0NPTVBMRVRFRAorCQl9OworCQlp bnQ2NCAgICAgICBwcm9ncmVzc192YWxbMl0gPSB7MCwgMH07CisKIAkJdmFjcmVsLT5mYWlsc2Fm ZV9hY3RpdmUgPSB0cnVlOwogCi0JCS8qIERpc2FibGUgaW5kZXggdmFjdXVtaW5nLCBpbmRleCBj bGVhbnVwLCBhbmQgaGVhcCByZWwgdHJ1bmNhdGlvbiAqLworCQkvKgorCQkgKiBEaXNhYmxlIGlu ZGV4IHZhY3V1bWluZywgaW5kZXggY2xlYW51cCwgYW5kIGhlYXAgcmVsIHRydW5jYXRpb24uCisJ CSAqCisJCSAqIEFsc28sIHJlcG9ydCB0aGF0IHdlIGFyZSBubyBsb25nZXIgdHJhY2tpbmcgaW5k ZXggdmFjdXVtL2NsZWFudXAuCisJCSAqLwogCQl2YWNyZWwtPmRvX2luZGV4X3ZhY3V1bWluZyA9 IGZhbHNlOwogCQl2YWNyZWwtPmRvX2luZGV4X2NsZWFudXAgPSBmYWxzZTsKIAkJdmFjcmVsLT5k b19yZWxfdHJ1bmNhdGUgPSBmYWxzZTsKKwkJcGdzdGF0X3Byb2dyZXNzX3VwZGF0ZV9tdWx0aV9w YXJhbSgyLCBwcm9ncmVzc19pbmRleCwgcHJvZ3Jlc3NfdmFsKTsKIAogCQllcmVwb3J0KFdBUk5J TkcsCiAJCQkJKGVycm1zZygiYnlwYXNzaW5nIG5vbmVzc2VudGlhbCBtYWludGVuYW5jZSBvZiB0 YWJsZSBcIiVzLiVzLiVzXCIgYXMgYSBmYWlsc2FmZSBhZnRlciAlZCBpbmRleCBzY2FucyIsCkBA IC0yNjU0LDEzICsyNjg4LDI3IEBAIGxhenlfY2xlYW51cF9hbGxfaW5kZXhlcyhMVlJlbFN0YXRl ICp2YWNyZWwpCiB7CiAJZG91YmxlCQlyZWx0dXBsZXMgPSB2YWNyZWwtPm5ld19yZWxfdHVwbGVz OwogCWJvb2wJCWVzdGltYXRlZF9jb3VudCA9IHZhY3JlbC0+c2Nhbm5lZF9wYWdlcyA8IHZhY3Jl bC0+cmVsX3BhZ2VzOworCWNvbnN0IGludCBwcm9ncmVzc19zdGFydF9pbmRleFtdID0geworCQlQ Uk9HUkVTU19WQUNVVU1fUEhBU0UsCisJCVBST0dSRVNTX1ZBQ1VVTV9JTkRFWF9UT1RBTAorCX07 CisJY29uc3QgaW50IHByb2dyZXNzX2VuZF9pbmRleFtdID0geworCQlQUk9HUkVTU19WQUNVVU1f SU5ERVhfVE9UQUwsCisJCVBST0dSRVNTX1ZBQ1VVTV9JTkRFWF9DT01QTEVURUQKKwl9OworCWlu dDY0ICAgICAgIHByb2dyZXNzX3N0YXJ0X3ZhbFsyXTsKKwlpbnQ2NCAgICAgICBwcm9ncmVzc19l bmRfdmFsWzJdOwogCiAJQXNzZXJ0KHZhY3JlbC0+ZG9faW5kZXhfY2xlYW51cCk7CiAJQXNzZXJ0 KHZhY3JlbC0+bmluZGV4ZXMgPiAwKTsKIAotCS8qIFJlcG9ydCB0aGF0IHdlIGFyZSBub3cgY2xl YW5pbmcgdXAgaW5kZXhlcyAqLwotCXBnc3RhdF9wcm9ncmVzc191cGRhdGVfcGFyYW0oUFJPR1JF U1NfVkFDVVVNX1BIQVNFLAotCQkJCQkJCQkgUFJPR1JFU1NfVkFDVVVNX1BIQVNFX0lOREVYX0NM RUFOVVApOworCS8qCisJICogUmVwb3J0IHRoYXQgd2UgYXJlIG5vdyBjbGVhbmluZyB1cCBpbmRl eGVzCisJICogYW5kIHRoZSBudW1iZXIgb2YgaW5kZXhlcyB0byBjbGVhbnVwLgorCSAqLworCXBy b2dyZXNzX3N0YXJ0X3ZhbFswXSA9IFBST0dSRVNTX1ZBQ1VVTV9QSEFTRV9JTkRFWF9DTEVBTlVQ OworCXByb2dyZXNzX3N0YXJ0X3ZhbFsxXSA9IHZhY3JlbC0+bmluZGV4ZXM7CisJcGdzdGF0X3By b2dyZXNzX3VwZGF0ZV9tdWx0aV9wYXJhbSgyLCBwcm9ncmVzc19zdGFydF9pbmRleCwgcHJvZ3Jl c3Nfc3RhcnRfdmFsKTsKIAogCWlmICghUGFyYWxsZWxWYWN1dW1Jc0FjdGl2ZSh2YWNyZWwpKQog CXsKQEAgLTI2NzIsNiArMjcyMCwxMCBAQCBsYXp5X2NsZWFudXBfYWxsX2luZGV4ZXMoTFZSZWxT dGF0ZSAqdmFjcmVsKQogCQkJdmFjcmVsLT5pbmRzdGF0c1tpZHhdID0KIAkJCQlsYXp5X2NsZWFu dXBfb25lX2luZGV4KGluZHJlbCwgaXN0YXQsIHJlbHR1cGxlcywKIAkJCQkJCQkJCSAgIGVzdGlt YXRlZF9jb3VudCwgdmFjcmVsKTsKKworCQkJLyogRG9uZSBjbGVhbmluZyBhbiBpbmRleCAtLSBp bmNyZW1lbnQgdGhlIGluZGV4ZXMgY29tcGxldGVkICovCisJCQlwZ3N0YXRfcHJvZ3Jlc3NfdXBk YXRlX3BhcmFtKFBST0dSRVNTX1ZBQ1VVTV9JTkRFWF9DT01QTEVURUQsCisJCQkJCQkJCQkJIGlk eCArIDEpOwogCQl9CiAJfQogCWVsc2UKQEAgLTI2ODEsNiArMjczMywxNCBAQCBsYXp5X2NsZWFu dXBfYWxsX2luZGV4ZXMoTFZSZWxTdGF0ZSAqdmFjcmVsKQogCQkJCQkJCQkJCQl2YWNyZWwtPm51 bV9pbmRleF9zY2FucywKIAkJCQkJCQkJCQkJZXN0aW1hdGVkX2NvdW50KTsKIAl9CisKKwkvKgor CSAqIFJlc2V0IGFuZCByZXBvcnQgdGhlIHRvdGFsIG51bWJlciBvZiBpbmRleGVzIHRvIGNsZWFu dXAKKwkgKiBhbmQgdGhlIG51bWJlciBvZiBpbmRleGVzIGNsZWFuZWQuCisJICovCisJcHJvZ3Jl c3NfZW5kX3ZhbFswXSA9IDA7CisJcHJvZ3Jlc3NfZW5kX3ZhbFsxXSA9IDA7CisJcGdzdGF0X3By b2dyZXNzX3VwZGF0ZV9tdWx0aV9wYXJhbSgyLCBwcm9ncmVzc19lbmRfaW5kZXgsIHByb2dyZXNz X2VuZF92YWwpOwogfQogCiAvKgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvYWNjZXNzL3RyYW5z YW0vcGFyYWxsZWwuYyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy90cmFuc2FtL3BhcmFsbGVsLmMKaW5k ZXggOWUzZWMwZDVkOC4uYTMyMWY3Njk5OSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvYWNjZXNz L3RyYW5zYW0vcGFyYWxsZWwuYworKysgYi9zcmMvYmFja2VuZC9hY2Nlc3MvdHJhbnNhbS9wYXJh bGxlbC5jCkBAIC0xODUsNiArMTg1LDggQEAgQ3JlYXRlUGFyYWxsZWxDb250ZXh0KGNvbnN0IGNo YXIgKmxpYnJhcnlfbmFtZSwgY29uc3QgY2hhciAqZnVuY3Rpb25fbmFtZSwKIAlwY3h0LT5saWJy YXJ5X25hbWUgPSBwc3RyZHVwKGxpYnJhcnlfbmFtZSk7CiAJcGN4dC0+ZnVuY3Rpb25fbmFtZSA9 IHBzdHJkdXAoZnVuY3Rpb25fbmFtZSk7CiAJcGN4dC0+ZXJyb3JfY29udGV4dF9zdGFjayA9IGVy cm9yX2NvbnRleHRfc3RhY2s7CisJcGN4dC0+cGFyYWxsZWxfcHJvZ3Jlc3NfY2FsbGJhY2sgPSBO VUxMOworCXBjeHQtPnBhcmFsbGVsX3Byb2dyZXNzX2NhbGxiYWNrX2FyZyA9IE5VTEw7CiAJc2ht X3RvY19pbml0aWFsaXplX2VzdGltYXRvcigmcGN4dC0+ZXN0aW1hdG9yKTsKIAlkbGlzdF9wdXNo X2hlYWQoJnBjeHRfbGlzdCwgJnBjeHQtPm5vZGUpOwogCkBAIC0xMTk5LDYgKzEyMDEsMjAgQEAg SGFuZGxlUGFyYWxsZWxNZXNzYWdlKFBhcmFsbGVsQ29udGV4dCAqcGN4dCwgaW50IGksIFN0cmlu Z0luZm8gbXNnKQogCQkJCWJyZWFrOwogCQkJfQogCisJCWNhc2UgJ1AnOgkJCQkvKiBQYXJhbGxl bCBwcm9ncmVzcyByZXBvcnRpbmcgKi8KKwkJCXsKKwkJCQkvKgorCQkJCSAqIEEgTGVhZGVyIHBy b2Nlc3MgdGhhdCByZWNlaXZlcyB0aGlzIG1lc3NhZ2UKKwkJCQkgKiBtdXN0IGJlIHJlYWR5IHRv IHVwZGF0ZSBwcm9ncmVzcy4KKwkJCQkgKi8KKwkJCQlBc3NlcnQocGN4dC0+cGFyYWxsZWxfcHJv Z3Jlc3NfY2FsbGJhY2spOworCisJCQkJLyogUmVwb3J0IHByb2dyZXNzICovCisJCQkJcGN4dC0+ cGFyYWxsZWxfcHJvZ3Jlc3NfY2FsbGJhY2socGN4dC0+cGFyYWxsZWxfcHJvZ3Jlc3NfY2FsbGJh Y2tfYXJnKTsKKworCQkJCWJyZWFrOworCQkJfQorCiAJCWNhc2UgJ1gnOgkJCQkvKiBUZXJtaW5h dGUsIGluZGljYXRpbmcgY2xlYW4gZXhpdCAqLwogCQkJewogCQkJCXNobV9tcV9kZXRhY2gocGN4 dC0+d29ya2VyW2ldLmVycm9yX21xaCk7CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jYXRhbG9n L3N5c3RlbV92aWV3cy5zcWwgYi9zcmMvYmFja2VuZC9jYXRhbG9nL3N5c3RlbV92aWV3cy5zcWwK aW5kZXggODYwOGUzZmE1Yi4uNzk5NTg3ZGNkNyAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY2F0 YWxvZy9zeXN0ZW1fdmlld3Muc3FsCisrKyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvc3lzdGVtX3Zp ZXdzLnNxbApAQCAtMTE2NSw3ICsxMTY1LDggQEAgQ1JFQVRFIFZJRVcgcGdfc3RhdF9wcm9ncmVz c192YWN1dW0gQVMKICAgICAgICAgICAgICAgICAgICAgICBFTkQgQVMgcGhhc2UsCiAgICAgICAg IFMucGFyYW0yIEFTIGhlYXBfYmxrc190b3RhbCwgUy5wYXJhbTMgQVMgaGVhcF9ibGtzX3NjYW5u ZWQsCiAgICAgICAgIFMucGFyYW00IEFTIGhlYXBfYmxrc192YWN1dW1lZCwgUy5wYXJhbTUgQVMg aW5kZXhfdmFjdXVtX2NvdW50LAotICAgICAgICBTLnBhcmFtNiBBUyBtYXhfZGVhZF90dXBsZXMs IFMucGFyYW03IEFTIG51bV9kZWFkX3R1cGxlcworICAgICAgICBTLnBhcmFtNiBBUyBtYXhfZGVh ZF90dXBsZXMsIFMucGFyYW03IEFTIG51bV9kZWFkX3R1cGxlcywKKyAgICAgICAgUy5wYXJhbTgg QVMgaW5kZXhlc190b3RhbCwgUy5wYXJhbTkgQVMgaW5kZXhlc19jb21wbGV0ZWQKICAgICBGUk9N IHBnX3N0YXRfZ2V0X3Byb2dyZXNzX2luZm8oJ1ZBQ1VVTScpIEFTIFMKICAgICAgICAgTEVGVCBK T0lOIHBnX2RhdGFiYXNlIEQgT04gUy5kYXRpZCA9IEQub2lkOwogCmRpZmYgLS1naXQgYS9zcmMv YmFja2VuZC9jb21tYW5kcy92YWN1dW1wYXJhbGxlbC5jIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMv dmFjdXVtcGFyYWxsZWwuYwppbmRleCBiY2Q0MGM4MGExLi45ZTVhMzAwYmE0IDEwMDY0NAotLS0g YS9zcmMvYmFja2VuZC9jb21tYW5kcy92YWN1dW1wYXJhbGxlbC5jCisrKyBiL3NyYy9iYWNrZW5k L2NvbW1hbmRzL3ZhY3V1bXBhcmFsbGVsLmMKQEAgLTMwLDcgKzMwLDkgQEAKICNpbmNsdWRlICJh Y2Nlc3MvdGFibGUuaCIKICNpbmNsdWRlICJhY2Nlc3MveGFjdC5oIgogI2luY2x1ZGUgImNhdGFs b2cvaW5kZXguaCIKKyNpbmNsdWRlICJjb21tYW5kcy9wcm9ncmVzcy5oIgogI2luY2x1ZGUgImNv bW1hbmRzL3ZhY3V1bS5oIgorI2luY2x1ZGUgImxpYnBxL2xpYnBxLmgiCiAjaW5jbHVkZSAib3B0 aW1pemVyL3BhdGhzLmgiCiAjaW5jbHVkZSAicGdzdGF0LmgiCiAjaW5jbHVkZSAic3RvcmFnZS9i dWZtZ3IuaCIKQEAgLTEwMyw2ICsxMDUsMTcgQEAgdHlwZWRlZiBzdHJ1Y3QgUFZTaGFyZWQKIAog CS8qIENvdW50ZXIgZm9yIHZhY3V1bWluZyBhbmQgY2xlYW51cCAqLwogCXBnX2F0b21pY191aW50 MzIgaWR4OworCisJLyoKKwkgKiBDb3VudGVyIGZvciB2YWN1dW1pbmcgYW5kIGNsZWFudXAgcHJv Z3Jlc3MgcmVwb3J0aW5nLgorCSAqIFRoaXMgdmFsdWUgaXMgdXNlZCB0byByZXBvcnQgaW5kZXgg dmFjdXVtL2NsZWFudXAgcHJvZ3Jlc3MKKwkgKiBpbiBwYXJhbGxlbF92YWN1dW1fcHJvZ3Jlc3Nf cmVwb3J0LiBXZSBrZWVwIHRoaXMKKwkgKiBjb3VudGVyIHRvIGF2b2lkIGhhdmluZyB0byBsb29w IHRocm91Z2gKKwkgKiBQYXJhbGxlbFZhY3V1bVN0YXRlLT5pbmRzdGF0cyB0byBkZXRlcm1pbmUg dGhlIG51bWJlcgorCSAqIG9mIGluZGV4ZXMgY29tcGxldGVkLgorCSAqLworCXBnX2F0b21pY191 aW50MzIgbmluZGV4ZXNfY29tcGxldGVkOworCiB9IFBWU2hhcmVkOwogCiAvKiBTdGF0dXMgdXNl ZCBkdXJpbmcgcGFyYWxsZWwgaW5kZXggdmFjdXVtIG9yIGNsZWFudXAgKi8KQEAgLTI3Miw2ICsy ODUsOCBAQCBwYXJhbGxlbF92YWN1dW1faW5pdChSZWxhdGlvbiByZWwsIFJlbGF0aW9uICppbmRy ZWxzLCBpbnQgbmluZGV4ZXMsCiAJCQkJCQkJCSBwYXJhbGxlbF93b3JrZXJzKTsKIAlBc3NlcnQo cGN4dC0+bndvcmtlcnMgPiAwKTsKIAlwdnMtPnBjeHQgPSBwY3h0OworCXBjeHQtPnBhcmFsbGVs X3Byb2dyZXNzX2NhbGxiYWNrID0gcGFyYWxsZWxfdmFjdXVtX3VwZGF0ZV9wcm9ncmVzczsKKwlw Y3h0LT5wYXJhbGxlbF9wcm9ncmVzc19jYWxsYmFja19hcmcgPSBwdnM7CiAKIAkvKiBFc3RpbWF0 ZSBzaXplIGZvciBpbmRleCB2YWN1dW0gc3RhdHMgLS0gUEFSQUxMRUxfVkFDVVVNX0tFWV9JTkRF WF9TVEFUUyAqLwogCWVzdF9pbmRzdGF0c19sZW4gPSBtdWxfc2l6ZShzaXplb2YoUFZJbmRTdGF0 cyksIG5pbmRleGVzKTsKQEAgLTM2NCw2ICszNzksNyBAQCBwYXJhbGxlbF92YWN1dW1faW5pdChS ZWxhdGlvbiByZWwsIFJlbGF0aW9uICppbmRyZWxzLCBpbnQgbmluZGV4ZXMsCiAJcGdfYXRvbWlj X2luaXRfdTMyKCYoc2hhcmVkLT5jb3N0X2JhbGFuY2UpLCAwKTsKIAlwZ19hdG9taWNfaW5pdF91 MzIoJihzaGFyZWQtPmFjdGl2ZV9ud29ya2VycyksIDApOwogCXBnX2F0b21pY19pbml0X3UzMigm KHNoYXJlZC0+aWR4KSwgMCk7CisJcGdfYXRvbWljX2luaXRfdTMyKCYoc2hhcmVkLT5uaW5kZXhl c19jb21wbGV0ZWQpLCAwKTsKIAogCXNobV90b2NfaW5zZXJ0KHBjeHQtPnRvYywgUEFSQUxMRUxf VkFDVVVNX0tFWV9TSEFSRUQsIHNoYXJlZCk7CiAJcHZzLT5zaGFyZWQgPSBzaGFyZWQ7CkBAIC02 MTgsOCArNjM0LDkgQEAgcGFyYWxsZWxfdmFjdXVtX3Byb2Nlc3NfYWxsX2luZGV4ZXMoUGFyYWxs ZWxWYWN1dW1TdGF0ZSAqcHZzLCBpbnQgbnVtX2luZGV4X3NjYW4KIAkJCQkJCQkJCQkJCQl2YWN1 dW0pKTsKIAl9CiAKLQkvKiBSZXNldCB0aGUgcGFyYWxsZWwgaW5kZXggcHJvY2Vzc2luZyBjb3Vu dGVyICovCisJLyogUmVzZXQgdGhlIHBhcmFsbGVsIGluZGV4IHByb2Nlc3NpbmcgYW5kIHByb2dy ZXNzIGNvdW50ZXJzICovCiAJcGdfYXRvbWljX3dyaXRlX3UzMigmKHB2cy0+c2hhcmVkLT5pZHgp LCAwKTsKKwlwZ19hdG9taWNfd3JpdGVfdTMyKCYocHZzLT5zaGFyZWQtPm5pbmRleGVzX2NvbXBs ZXRlZCksIDApOwogCiAJLyogU2V0dXAgdGhlIHNoYXJlZCBjb3N0LWJhc2VkIHZhY3V1bSBkZWxh eSBhbmQgbGF1bmNoIHdvcmtlcnMgKi8KIAlpZiAobndvcmtlcnMgPiAwKQpAQCAtODg4LDYgKzkw NSwyMiBAQCBwYXJhbGxlbF92YWN1dW1fcHJvY2Vzc19vbmVfaW5kZXgoUGFyYWxsZWxWYWN1dW1T dGF0ZSAqcHZzLCBSZWxhdGlvbiBpbmRyZWwsCiAJcHZzLT5zdGF0dXMgPSBQQVJBTExFTF9JTkRW QUNfU1RBVFVTX0NPTVBMRVRFRDsKIAlwZnJlZShwdnMtPmluZG5hbWUpOwogCXB2cy0+aW5kbmFt ZSA9IE5VTEw7CisKKwkvKgorCSAqIFVwZGF0ZSBpbmRleCB2YWN1dW0gcHJvZ3Jlc3MuCisJICoK KwkgKiBXaGVuIGEgcGFyYWxsZWwgd29ya2VyIGNvbXBsZXRlcyBhbgorCSAqIGluZGV4IHZhY3V1 bSwgaXQgc2VuZHMgYSBwcm90b2NvbCBtZXNzYWdlCisJICogdG8gbm90aWZ5IHRoZSBsZWFkZXIu IFRoZSBsZWFkZXIgdGhlbgorCSAqIHVwZGF0ZXMgdGhlIHByb2dyZXNzLiBTZWUgSGFuZGxlUGFy YWxsZWxNZXNzYWdlKCkuCisJICoKKwkgKiBXaGVuIGEgbGVhZGVyIHBlcmZvcm1zIHRoZSBpbmRl eCB2YWN1dW0sCisJICogaXQgY2FuIHVwZGF0ZSB0aGUgcHJvZ3Jlc3MgZGlyZWN0bHkuCisJICov CisJaWYgKElzUGFyYWxsZWxXb3JrZXIoKSkKKwkJcHFfcHV0bWVzc2FnZSgnUCcsIE5VTEwsIDAp OworCWVsc2UKKwkJcGFyYWxsZWxfdmFjdXVtX3VwZGF0ZV9wcm9ncmVzcyhwdnMpOwogfQogCiAv KgpAQCAtMTA3MiwzICsxMTA1LDIzIEBAIHBhcmFsbGVsX3ZhY3V1bV9lcnJvcl9jYWxsYmFjayh2 b2lkICphcmcpCiAJCQlyZXR1cm47CiAJfQogfQorCisvKgorICogUmVhZCBwdnMtPnNoYXJlZC0+ bmluZGV4ZXNfY29tcGxldGVkIGFuZCByZXBvcnQgdGhlIG51bWJlciBvZiBpbmRleGVzCisgKiB2 YWN1dW1lZCBzbyBmYXIuCisgKgorICogTm90ZTogVGhpcyBmdW5jdGlvbiBzaG91bGQgYmUgY2Fs bGVkIGJ5IHRoZSBsZWFkZXIgcHJvY2VzcyBvbmx5LAorICogYW5kIGl0J3MgdXAgdG8gdGhlIGNh bGxlciB0byBlbnN1cmUgdGhpcy4KKyAqLwordm9pZAorcGFyYWxsZWxfdmFjdXVtX3VwZGF0ZV9w cm9ncmVzcyh2b2lkICphcmcpCit7CisJUGFyYWxsZWxWYWN1dW1TdGF0ZSAqcHZzID0gKFBhcmFs bGVsVmFjdXVtU3RhdGUgKilhcmc7CisKKwlBc3NlcnQoIUlzUGFyYWxsZWxXb3JrZXIoKSk7CisJ QXNzZXJ0KHB2cy0+cGN4dC0+cGFyYWxsZWxfcHJvZ3Jlc3NfY2FsbGJhY2tfYXJnKTsKKworCWlm IChwdnMpCisJCXBnc3RhdF9wcm9ncmVzc191cGRhdGVfcGFyYW0oUFJPR1JFU1NfVkFDVVVNX0lO REVYX0NPTVBMRVRFRCwKKwkJCQkJCQkJCSBwZ19hdG9taWNfYWRkX2ZldGNoX3UzMigmKHB2cy0+ c2hhcmVkLT5uaW5kZXhlc19jb21wbGV0ZWQpLCAxKSk7Cit9ClwgTm8gbmV3bGluZSBhdCBlbmQg b2YgZmlsZQpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvYWNjZXNzL3BhcmFsbGVsLmggYi9zcmMv aW5jbHVkZS9hY2Nlc3MvcGFyYWxsZWwuaAppbmRleCAwNjFmOGE0YzRjLi43ZGRjNzFkYWUyIDEw MDY0NAotLS0gYS9zcmMvaW5jbHVkZS9hY2Nlc3MvcGFyYWxsZWwuaAorKysgYi9zcmMvaW5jbHVk ZS9hY2Nlc3MvcGFyYWxsZWwuaApAQCAtMjAsNiArMjAsOSBAQAogI2luY2x1ZGUgInN0b3JhZ2Uv c2htX21xLmgiCiAjaW5jbHVkZSAic3RvcmFnZS9zaG1fdG9jLmgiCiAKKy8qIHByb2dyZXNzIGNh bGxiYWNrIGRlZmluaXRpb24gKi8KK3R5cGVkZWYgdm9pZCAoKlBhcmFsbGVsUHJvZ3Jlc3NDYWxs YmFjaykgKHZvaWQgKnBhcmFsbGVsX3Byb2dyZXNzX2NhbGxiYWNrX3N0YXRlKTsKKwogdHlwZWRl ZiB2b2lkICgqcGFyYWxsZWxfd29ya2VyX21haW5fdHlwZSkgKGRzbV9zZWdtZW50ICpzZWcsIHNo bV90b2MgKnRvYyk7CiAKIHR5cGVkZWYgc3RydWN0IFBhcmFsbGVsV29ya2VySW5mbwpAQCAtNDYs NiArNDksOCBAQCB0eXBlZGVmIHN0cnVjdCBQYXJhbGxlbENvbnRleHQKIAlQYXJhbGxlbFdvcmtl ckluZm8gKndvcmtlcjsKIAlpbnQJCQlua25vd25fYXR0YWNoZWRfd29ya2VyczsKIAlib29sCSAg ICprbm93bl9hdHRhY2hlZF93b3JrZXJzOworCVBhcmFsbGVsUHJvZ3Jlc3NDYWxsYmFjayBwYXJh bGxlbF9wcm9ncmVzc19jYWxsYmFjazsKKwl2b2lkCQkqcGFyYWxsZWxfcHJvZ3Jlc3NfY2FsbGJh Y2tfYXJnOwogfSBQYXJhbGxlbENvbnRleHQ7CiAKIHR5cGVkZWYgc3RydWN0IFBhcmFsbGVsV29y a2VyQ29udGV4dApkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvY29tbWFuZHMvcHJvZ3Jlc3MuaCBi L3NyYy9pbmNsdWRlL2NvbW1hbmRzL3Byb2dyZXNzLmgKaW5kZXggZTVhZGQ0MTM1Mi4uNmI4YjYw OWE0ZiAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvY29tbWFuZHMvcHJvZ3Jlc3MuaAorKysgYi9z cmMvaW5jbHVkZS9jb21tYW5kcy9wcm9ncmVzcy5oCkBAIC0yNSw2ICsyNSw4IEBACiAjZGVmaW5l IFBST0dSRVNTX1ZBQ1VVTV9OVU1fSU5ERVhfVkFDVVVNUwkJNAogI2RlZmluZSBQUk9HUkVTU19W QUNVVU1fTUFYX0RFQURfVFVQTEVTCQkJNQogI2RlZmluZSBQUk9HUkVTU19WQUNVVU1fTlVNX0RF QURfVFVQTEVTCQkJNgorI2RlZmluZSBQUk9HUkVTU19WQUNVVU1fSU5ERVhfVE9UQUwgICAgICAg ICAgICAgNworI2RlZmluZSBQUk9HUkVTU19WQUNVVU1fSU5ERVhfQ09NUExFVEVEICAgICAgICAg OAogCiAvKiBQaGFzZXMgb2YgdmFjdXVtIChhcyBhZHZlcnRpc2VkIHZpYSBQUk9HUkVTU19WQUNV VU1fUEhBU0UpICovCiAjZGVmaW5lIFBST0dSRVNTX1ZBQ1VVTV9QSEFTRV9TQ0FOX0hFQVAJCQkx CmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9jb21tYW5kcy92YWN1dW0uaCBiL3NyYy9pbmNsdWRl L2NvbW1hbmRzL3ZhY3V1bS5oCmluZGV4IDY4OWRiYjc3MDIuLjdiMTMwNjlkMzMgMTAwNjQ0Ci0t LSBhL3NyYy9pbmNsdWRlL2NvbW1hbmRzL3ZhY3V1bS5oCisrKyBiL3NyYy9pbmNsdWRlL2NvbW1h bmRzL3ZhY3V1bS5oCkBAIC0zNzAsNSArMzcwLDYgQEAgZXh0ZXJuIGJvb2wgc3RkX3R5cGFuYWx5 emUoVmFjQXR0clN0YXRzICpzdGF0cyk7CiBleHRlcm4gZG91YmxlIGFubF9yYW5kb21fZnJhY3Qo dm9pZCk7CiBleHRlcm4gZG91YmxlIGFubF9pbml0X3NlbGVjdGlvbl9zdGF0ZShpbnQgbik7CiBl eHRlcm4gZG91YmxlIGFubF9nZXRfbmV4dF9TKGRvdWJsZSB0LCBpbnQgbiwgZG91YmxlICpzdGF0 ZXB0cik7CitleHRlcm4gdm9pZCBwYXJhbGxlbF92YWN1dW1fdXBkYXRlX3Byb2dyZXNzKHZvaWQg KmFyZyk7CiAKICNlbmRpZgkJCQkJCQkvKiBWQUNVVU1fSCAqLwpkaWZmIC0tZ2l0IGEvc3JjL3Rl c3QvcmVncmVzcy9leHBlY3RlZC9ydWxlcy5vdXQgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVk L3J1bGVzLm91dAppbmRleCBlN2EyZjU4NTZhLi5hMjA5NzhkMzM1IDEwMDY0NAotLS0gYS9zcmMv dGVzdC9yZWdyZXNzL2V4cGVjdGVkL3J1bGVzLm91dAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4 cGVjdGVkL3J1bGVzLm91dApAQCAtMjAyMSw3ICsyMDIxLDkgQEAgcGdfc3RhdF9wcm9ncmVzc192 YWN1dW18IFNFTEVDVCBzLnBpZCwKICAgICBzLnBhcmFtNCBBUyBoZWFwX2Jsa3NfdmFjdXVtZWQs CiAgICAgcy5wYXJhbTUgQVMgaW5kZXhfdmFjdXVtX2NvdW50LAogICAgIHMucGFyYW02IEFTIG1h eF9kZWFkX3R1cGxlcywKLSAgICBzLnBhcmFtNyBBUyBudW1fZGVhZF90dXBsZXMKKyAgICBzLnBh cmFtNyBBUyBudW1fZGVhZF90dXBsZXMsCisgICAgcy5wYXJhbTggQVMgaW5kZXhlc190b3RhbCwK KyAgICBzLnBhcmFtOSBBUyBpbmRleGVzX2NvbXBsZXRlZAogICAgRlJPTSAocGdfc3RhdF9nZXRf cHJvZ3Jlc3NfaW5mbygnVkFDVVVNJzo6dGV4dCkgcyhwaWQsIGRhdGlkLCByZWxpZCwgcGFyYW0x LCBwYXJhbTIsIHBhcmFtMywgcGFyYW00LCBwYXJhbTUsIHBhcmFtNiwgcGFyYW03LCBwYXJhbTgs IHBhcmFtOSwgcGFyYW0xMCwgcGFyYW0xMSwgcGFyYW0xMiwgcGFyYW0xMywgcGFyYW0xNCwgcGFy YW0xNSwgcGFyYW0xNiwgcGFyYW0xNywgcGFyYW0xOCwgcGFyYW0xOSwgcGFyYW0yMCkKICAgICAg TEVGVCBKT0lOIHBnX2RhdGFiYXNlIGQgT04gKChzLmRhdGlkID0gZC5vaWQpKSk7CiBwZ19zdGF0 X3JlY292ZXJ5X3ByZWZldGNofCBTRUxFQ1Qgc3RhdHNfcmVzZXQsCi0tIAoyLjM3LjEgKEFwcGxl IEdpdC0xMzcuMSkKCg== --_002_FE38BD93AC8648CC902248323219A541amazoncom_--