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 1oqwjp-0001r8-UA for pgsql-hackers@arkaria.postgresql.org; Fri, 04 Nov 2022 13:28:03 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1oqwjn-00081f-R4 for pgsql-hackers@arkaria.postgresql.org; Fri, 04 Nov 2022 13:27:59 +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 1oqwjn-00081W-5z for pgsql-hackers@lists.postgresql.org; Fri, 04 Nov 2022 13:27:59 +0000 Received: from smtp-fw-80006.amazon.com ([99.78.197.217]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1oqwjh-0002HS-N4 for pgsql-hackers@postgresql.org; Fri, 04 Nov 2022 13:27:58 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amazon.com; i=@amazon.com; q=dns/txt; s=amazon201209; t=1667568474; x=1699104474; h=from:to:cc:date:message-id:references:in-reply-to: mime-version:subject; bh=J0MLMdlE53IfKZO4o3AFv2sF/lcrdvA0C1bHCLWIme8=; b=QkcL+jZIKSiTJE9NmhwF5YYlJqobFUvv7Lm2W8QiJqrS8/WUQoBz+gzF 8rKCEU9lB3TJSxg1QyzUlQvD3ZHo5v1aLcd5zrVkBk/ssCJ+1Jt7Wz9/5 5Y6CEQUNMOXj5htcahUJ3NWOcyqAy7U0cHXINUZx09axCgRFoEOHFW8wv s=; X-Amazon-filename: v14-0002-Function-to-return-currently-vacuumed-or-cleaned.patch, v14-0001-Add-2-new-columns-to-pg_stat_progress_vacuum.-Th.patch X-IronPort-AV: E=Sophos;i="5.96,137,1665446400"; d="scan'208,223";a="147508773" Subject: Re: Add index scan progress to pg_stat_progress_vacuum Thread-Topic: Add index scan progress to pg_stat_progress_vacuum Received: from pdx4-co-svc-p1-lb2-vlan2.amazon.com (HELO email-inbound-relay-iad-1box-1dm6-7f722725.us-east-1.amazon.com) ([10.25.36.210]) by smtp-border-fw-80006.pdx80.corp.amazon.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Nov 2022 13:27:50 +0000 Received: from EX13MTAUWC001.ant.amazon.com (iad12-ws-svc-p26-lb9-vlan2.iad.amazon.com [10.40.163.34]) by email-inbound-relay-iad-1box-1dm6-7f722725.us-east-1.amazon.com (Postfix) with ESMTPS id C121089849; Fri, 4 Nov 2022 13:27:47 +0000 (UTC) Received: from EX19D003UWC001.ant.amazon.com (10.13.138.144) by EX13MTAUWC001.ant.amazon.com (10.43.162.135) with Microsoft SMTP Server (TLS) id 15.0.1497.42; Fri, 4 Nov 2022 13:27:35 +0000 Received: from EX19D013UWA001.ant.amazon.com (10.13.138.253) by EX19D003UWC001.ant.amazon.com (10.13.138.144) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA) id 15.2.1118.15; Fri, 4 Nov 2022 13:27:34 +0000 Received: from EX19D013UWA001.ant.amazon.com ([fe80::807f:6670:c11c:d4a2]) by EX19D013UWA001.ant.amazon.com ([fe80::807f:6670:c11c:d4a2%5]) with mapi id 15.02.1118.015; Fri, 4 Nov 2022 13:27:34 +0000 From: "Imseih (AWS), Sami" To: Masahiko Sawada CC: Robert Haas , "Bossart, Nathan" , Andres Freund , Peter Geoghegan , Justin Pryzby , "pgsql-hackers@postgresql.org" Thread-Index: AQHY3XbtUIEdLIq7J0GZ0SEhIeWtFK4I4jOAgAF3pICAA6gFAIAdplSAgALrdIA= Date: Fri, 4 Nov 2022 13:27:34 +0000 Message-ID: References: <78C9A1C5-8593-47F8-8717-42C554A724E9@amazon.com> <49A92D21-6EBD-45DB-B533-D7EA3F918524@amazon.com> <75570A36-27E0-4128-BB97-FC3CDAE03025@amazon.com> <3022E190-6FD1-483E-81BC-B03AD396D902@amazon.com> <20220403165002.co5waztdyfkenl56@alap3.anarazel.de> <0601FEDE-5DE8-4F03-9F7C-7A927302475C@amazon.com> <399FC5A4-4DF8-4553-9E62-69322DDB63F5@amazon.com> <422CE0B2-60A7-4E87-B5B1-5393DDF1DA21@amazon.com> <90FA5275-1E29-4089-AA00-7F631E0720C3@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.106.179.21] Content-Type: multipart/mixed; boundary="_003_AC87124BABCA4C268E0836DCB5485419amazoncom_" MIME-Version: 1.0 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --_003_AC87124BABCA4C268E0836DCB5485419amazoncom_ Content-Type: text/plain; charset="utf-8" Content-ID: <34785992C45AD448A5CB2993C742C4E8@amazon.com> Content-Transfer-Encoding: base64 UmVzdWJtaXR0aW5nIHBhdGNoZXMgd2l0aCBwcm9wZXIgZm9ybWF0Lg0KDQpUaGFua3MNCg0KU2Ft aSBJbXNlaWgNCkFtYXpvbiBXZWIgU2VydmljZXMgKEFXUykNCg0KDQoNCg0KDQo= --_003_AC87124BABCA4C268E0836DCB5485419amazoncom_ Content-Type: application/octet-stream; name="v14-0002-Function-to-return-currently-vacuumed-or-cleaned.patch" Content-Description: v14-0002-Function-to-return-currently-vacuumed-or-cleaned.patch Content-Disposition: attachment; filename="v14-0002-Function-to-return-currently-vacuumed-or-cleaned.patch"; size=10539; creation-date="Fri, 04 Nov 2022 13:27:34 GMT"; modification-date="Fri, 04 Nov 2022 13:27:34 GMT" Content-ID: <59761D0BA5572047BA86EC2376B32AF2@amazon.com> Content-Transfer-Encoding: base64 RnJvbSA3OGE0Mzc5NDZkNWNjYzcwZGI5OGRhOWNjMGZhMGFlNDEzYWZhNjI1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiSW1zZWloIChBV1MpIiA8c2ltc2VpaEA4ODY2NWEyMjc5NWYu YW50LmFtYXpvbi5jb20+CkRhdGU6IEZyaSwgNCBOb3YgMjAyMiAwNzo1MjowMiAtMDUwMApTdWJq ZWN0OiBbUEFUQ0ggdjE0IDIvMl0gRnVuY3Rpb24gdG8gcmV0dXJuIGN1cnJlbnRseSB2YWN1dW1l ZCAoIG9yIGNsZWFuZWQgKQogaW5kZXguCgpwZ19zdGF0X2dldF92YWN1dW1faW5kZXggdGFrZXMg YSBQSUQgYXMgYW4gYXJndW1lbnQgYW5kCnJldHVybnMgdGhlIGluZGV4IHJlbGlkIG9mIHRoZSBj dXJyZW50bHkgdmFjdXVtZWQgaW5kZXguCk5VTEwgaXMgcmV0dXJuZWQgaWYgdGhlIGJhY2tlbmQg aXMgbm90IGludm9sdmVkIGluIGFuIGluZGV4IHZhY3V1bS4KLS0tCiBkb2Mvc3JjL3NnbWwvZnVu Yy5zZ21sICAgICAgICAgICAgICAgIHwgMTMgKysrKysrKwogZG9jL3NyYy9zZ21sL21vbml0b3Jp bmcuc2dtbCAgICAgICAgICB8ICA4ICsrKy0tCiBzcmMvYmFja2VuZC9hY2Nlc3MvaGVhcC92YWN1 dW1sYXp5LmMgIHwgIDkgKysrKysKIHNyYy9iYWNrZW5kL2NvbW1hbmRzL3ZhY3V1bXBhcmFsbGVs LmMgfCAyMyArKysrKysrKysrKysKIHNyYy9iYWNrZW5kL3V0aWxzL2FkdC9wZ3N0YXRmdW5jcy5j ICAgfCA1MiArKysrKysrKysrKysrKysrKysrKysrKysrKysKIHNyYy9pbmNsdWRlL2NhdGFsb2cv cGdfcHJvYy5kYXQgICAgICAgfCAgNCArKysKIHNyYy9pbmNsdWRlL2NvbW1hbmRzL3Byb2dyZXNz LmggICAgICAgfCAgMSArCiBzcmMvaW5jbHVkZS91dGlscy9iYWNrZW5kX3Byb2dyZXNzLmggIHwg IDcgKysrLQogOCBmaWxlcyBjaGFuZ2VkLCAxMTQgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMo LSkKICAyMi4yJSBkb2Mvc3JjL3NnbWwvCiAgMTEuMiUgc3JjL2JhY2tlbmQvYWNjZXNzL2hlYXAv CiAgMTYuNyUgc3JjL2JhY2tlbmQvY29tbWFuZHMvCiAgMzcuMSUgc3JjL2JhY2tlbmQvdXRpbHMv YWR0LwogICA1LjclIHNyYy9pbmNsdWRlL2NhdGFsb2cvCiAgIDUuNCUgc3JjL2luY2x1ZGUvdXRp bHMvCgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL2Z1bmMuc2dtbCBiL2RvYy9zcmMvc2dtbC9m dW5jLnNnbWwKaW5kZXggNmUwNDI1Y2IzZC4uMzk4NDEzNTRkZSAxMDA2NDQKLS0tIGEvZG9jL3Ny Yy9zZ21sL2Z1bmMuc2dtbAorKysgYi9kb2Mvc3JjL3NnbWwvZnVuYy5zZ21sCkBAIC0yMjY3MCw2 ICsyMjY3MCwxOSBAQCBTRUxFQ1QgKiBGUk9NIHBnX2xzX2RpcignLicpIFdJVEggT1JESU5BTElU WSBBUyB0KGxzLG4pOwogICAgICAgICBwYXJzaW5nIHRoZSB0ZXh0IHZlcnNpb24uCiAgICAgICAg PC9wYXJhPjwvZW50cnk+CiAgICAgICA8L3Jvdz4KKworICAgICAgPHJvdz4KKyAgICAgICA8ZW50 cnkgcm9sZT0iZnVuY190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iZnVuY19zaWduYXR1cmUiPgor ICAgICAgICA8aW5kZXh0ZXJtPgorICAgICAgICAgPHByaW1hcnk+cGdfc3RhdF9nZXRfdmFjdXVt X2luZGV4PC9wcmltYXJ5PgorICAgICAgICA8L2luZGV4dGVybT4KKyAgICAgICAgPGZ1bmN0aW9u PnBnX3N0YXRfZ2V0X3ZhY3V1bV9pbmRleDwvZnVuY3Rpb24+ICggPHR5cGU+aW50ZWdlcjwvdHlw ZT4gKQorICAgICAgICA8cmV0dXJudmFsdWU+b2lkPC9yZXR1cm52YWx1ZT4KKyAgICAgICA8L3Bh cmE+CisgICAgICAgPHBhcmE+CisgICAgICAgIFJldHVybnMgdGhlIHJlbGlkIG9mIGFuIGluZGV4 IGN1cnJlbnQgYmVpbmcgdmFjdXVtZWQgb3IgY2xlYW5lZCBieSB0aGUgYmFja2VuZC4KKyAgICAg ICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgIDwvcm93PgogICAgICA8L3Rib2R5PgogICAgIDwvdGdy b3VwPgogICAgPC90YWJsZT4KZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9tb25pdG9yaW5nLnNn bWwgYi9kb2Mvc3JjL3NnbWwvbW9uaXRvcmluZy5zZ21sCmluZGV4IGM2MTQ0M2YzZDUuLjhkOTQ3 ZDhjM2EgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9tb25pdG9yaW5nLnNnbWwKKysrIGIvZG9j L3NyYy9zZ21sL21vbml0b3Jpbmcuc2dtbApAQCAtNjUxNyw3ICs2NTE3LDkgQEAgRlJPTSBwZ19z dGF0X2dldF9iYWNrZW5kX2lkc2V0KCkgQVMgYmFja2VuZGlkOwogICAgICAgIGhhcyBiZWVuIGNv bXBsZXRlbHkgc2Nhbm5lZC4gIEl0IG1heSBoYXBwZW4gbXVsdGlwbGUgdGltZXMgcGVyIHZhY3V1 bQogICAgICAgIGlmIDx4cmVmIGxpbmtlbmQ9Imd1Yy1tYWludGVuYW5jZS13b3JrLW1lbSIvPiAo b3IsIGluIHRoZSBjYXNlIG9mIGF1dG92YWN1dW0sCiAgICAgICAgPHhyZWYgbGlua2VuZD0iZ3Vj LWF1dG92YWN1dW0td29yay1tZW0iLz4gaWYgc2V0KSBpcyBpbnN1ZmZpY2llbnQgdG8gc3RvcmUK LSAgICAgICB0aGUgbnVtYmVyIG9mIGRlYWQgdHVwbGVzIGZvdW5kLgorICAgICAgIHRoZSBudW1i ZXIgb2YgZGVhZCB0dXBsZXMgZm91bmQuIFdoaWxlIGluIHRoaXMgcGhhc2UsIHRoZSBmdW5jdGlv bgorICAgICAgIDxmdW5jdGlvbj5wZ19zdGF0X2dldF92YWN1dW1faW5kZXgoKTwvZnVuY3Rpb24+ IHdpbGwgcmV0dXJuIHRoZSByZWxpZAorICAgICAgIG9mIHRoZSBpbmRleCBiZWluZyB2YWN1dW1l ZC4KICAgICAgPC9lbnRyeT4KICAgICA8L3Jvdz4KICAgICA8cm93PgpAQCAtNjUzNiw3ICs2NTM4 LDkgQEAgRlJPTSBwZ19zdGF0X2dldF9iYWNrZW5kX2lkc2V0KCkgQVMgYmFja2VuZGlkOwogICAg ICA8ZW50cnk+CiAgICAgICAgPGNvbW1hbmQ+VkFDVVVNPC9jb21tYW5kPiBpcyBjdXJyZW50bHkg Y2xlYW5pbmcgdXAgaW5kZXhlcy4gIFRoaXMgb2NjdXJzIGFmdGVyCiAgICAgICAgdGhlIGhlYXAg aGFzIGJlZW4gY29tcGxldGVseSBzY2FubmVkIGFuZCBhbGwgdmFjdXVtaW5nIG9mIHRoZSBpbmRl eGVzCi0gICAgICAgYW5kIHRoZSBoZWFwIGhhcyBiZWVuIGNvbXBsZXRlZC4KKyAgICAgICBhbmQg dGhlIGhlYXAgaGFzIGJlZW4gY29tcGxldGVkLiBXaGlsZSBpbiB0aGlzIHBoYXNlLCB0aGUgZnVu Y3Rpb24KKyAgICAgICA8ZnVuY3Rpb24+cGdfc3RhdF9nZXRfdmFjdXVtX2luZGV4KCk8L2Z1bmN0 aW9uPiB3aWxsIHJldHVybiB0aGUgcmVsaWQKKyAgICAgICBvZiB0aGUgaW5kZXggYmVpbmcgY2xl YW5lZC4KICAgICAgPC9lbnRyeT4KICAgICA8L3Jvdz4KICAgICA8cm93PgpkaWZmIC0tZ2l0IGEv c3JjL2JhY2tlbmQvYWNjZXNzL2hlYXAvdmFjdXVtbGF6eS5jIGIvc3JjL2JhY2tlbmQvYWNjZXNz L2hlYXAvdmFjdXVtbGF6eS5jCmluZGV4IDEyMGEyYjE4ZDcuLjhjZDhlMzRmODggMTAwNjQ0Ci0t LSBhL3NyYy9iYWNrZW5kL2FjY2Vzcy9oZWFwL3ZhY3V1bWxhenkuYworKysgYi9zcmMvYmFja2Vu ZC9hY2Nlc3MvaGVhcC92YWN1dW1sYXp5LmMKQEAgLTM1MCw2ICszNTAsNyBAQCBoZWFwX3ZhY3V1 bV9yZWwoUmVsYXRpb24gcmVsLCBWYWN1dW1QYXJhbXMgKnBhcmFtcywKIAkJfQogCX0KIAorCS8q IHN0YXJ0IHRoZSB2YWN1dW0gcHJvZ3Jlc3MgY29tbWFuZCBhbmQgcmVwb3J0IHRvIHByb2dyZXNz LmggKi8KIAlwZ3N0YXRfcHJvZ3Jlc3Nfc3RhcnRfY29tbWFuZChQUk9HUkVTU19DT01NQU5EX1ZB Q1VVTSwKIAkJCQkJCQkJICBSZWxhdGlvbkdldFJlbGlkKHJlbCkpOwogCkBAIC0yMzQxLDYgKzIz NDIsOSBAQCBsYXp5X3ZhY3V1bV9hbGxfaW5kZXhlcyhMVlJlbFN0YXRlICp2YWNyZWwpCiAJCQlS ZWxhdGlvbglpbmRyZWwgPSB2YWNyZWwtPmluZHJlbHNbaWR4XTsKIAkJCUluZGV4QnVsa0RlbGV0 ZVJlc3VsdCAqaXN0YXQgPSB2YWNyZWwtPmluZHN0YXRzW2lkeF07CiAKKwkJCS8qIHJlcG9ydCB0 aGUgaW5kZXggcmVsaWQgYmVpbmcgdmFjdXVtZWQgKi8KKwkJCXBnc3RhdF9wcm9ncmVzc191cGRh dGVfcGFyYW0oUFJPR1JFU1NfVkFDVVVNX0lORFJFTElELCBSZWxhdGlvbkdldFJlbGlkKGluZHJl bCkpOworCiAJCQl2YWNyZWwtPmluZHN0YXRzW2lkeF0gPQogCQkJCWxhenlfdmFjdXVtX29uZV9p bmRleChpbmRyZWwsIGlzdGF0LCB2YWNyZWwtPm9sZF9saXZlX3R1cGxlcywKIAkJCQkJCQkJCSAg dmFjcmVsKTsKQEAgLTIzNTAsNiArMjM1NCw3IEBAIGxhenlfdmFjdXVtX2FsbF9pbmRleGVzKExW UmVsU3RhdGUgKnZhY3JlbCkKIAkJCSAqLwogCQkJcGdzdGF0X3Byb2dyZXNzX3VwZGF0ZV9wYXJh bShQUk9HUkVTU19WQUNVVU1fSU5ERVhfQ09NUExFVEVELAogCQkJCQkJCQkJCSBpZHggKyAxKTsK KwkJCXBnc3RhdF9wcm9ncmVzc191cGRhdGVfcGFyYW0oUFJPR1JFU1NfVkFDVVVNX0lORFJFTElE LCAwKTsKIAogCQkJaWYgKGxhenlfY2hlY2tfd3JhcGFyb3VuZF9mYWlsc2FmZSh2YWNyZWwpKQog CQkJewpAQCAtMjcwNSw2ICsyNzEwLDkgQEAgbGF6eV9jbGVhbnVwX2FsbF9pbmRleGVzKExWUmVs U3RhdGUgKnZhY3JlbCkKIAkJCVJlbGF0aW9uCWluZHJlbCA9IHZhY3JlbC0+aW5kcmVsc1tpZHhd OwogCQkJSW5kZXhCdWxrRGVsZXRlUmVzdWx0ICppc3RhdCA9IHZhY3JlbC0+aW5kc3RhdHNbaWR4 XTsKIAorCQkJLyogcmVwb3J0IHRoZSBpbmRleCByZWxpZCBiZWluZyBjbGVhbmVkICovCisJCQlw Z3N0YXRfcHJvZ3Jlc3NfdXBkYXRlX3BhcmFtKFBST0dSRVNTX1ZBQ1VVTV9JTkRSRUxJRCwgUmVs YXRpb25HZXRSZWxpZChpbmRyZWwpKTsKKwogCQkJdmFjcmVsLT5pbmRzdGF0c1tpZHhdID0KIAkJ CQlsYXp5X2NsZWFudXBfb25lX2luZGV4KGluZHJlbCwgaXN0YXQsIHJlbHR1cGxlcywKIAkJCQkJ CQkJCSAgIGVzdGltYXRlZF9jb3VudCwgdmFjcmVsKTsKQEAgLTI3MTQsNiArMjcyMiw3IEBAIGxh enlfY2xlYW51cF9hbGxfaW5kZXhlcyhMVlJlbFN0YXRlICp2YWNyZWwpCiAJCQkgKi8KIAkJCXBn c3RhdF9wcm9ncmVzc191cGRhdGVfcGFyYW0oUFJPR1JFU1NfVkFDVVVNX0lOREVYX0NPTVBMRVRF RCwKIAkJCQkJCQkJCQkgaWR4ICsgMSk7CisJCQlwZ3N0YXRfcHJvZ3Jlc3NfdXBkYXRlX3BhcmFt KFBST0dSRVNTX1ZBQ1VVTV9JTkRSRUxJRCwgMCk7CiAJCX0KIAl9CiAJZWxzZQpkaWZmIC0tZ2l0 IGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvdmFjdXVtcGFyYWxsZWwuYyBiL3NyYy9iYWNrZW5kL2Nv bW1hbmRzL3ZhY3V1bXBhcmFsbGVsLmMKaW5kZXggODVlMmRlNWQ1NC4uZjJmNTFlODZlYiAxMDA2 NDQKLS0tIGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvdmFjdXVtcGFyYWxsZWwuYworKysgYi9zcmMv YmFja2VuZC9jb21tYW5kcy92YWN1dW1wYXJhbGxlbC5jCkBAIC04NDAsNiArODQwLDIwIEBAIHBh cmFsbGVsX3ZhY3V1bV9wcm9jZXNzX29uZV9pbmRleChQYXJhbGxlbFZhY3V1bVN0YXRlICpwdnMs IFJlbGF0aW9uIGluZHJlbCwKIAlJbmRleEJ1bGtEZWxldGVSZXN1bHQgKmlzdGF0ID0gTlVMTDsK IAlJbmRleEJ1bGtEZWxldGVSZXN1bHQgKmlzdGF0X3JlczsKIAlJbmRleFZhY3V1bUluZm8gaXZp bmZvOworCU9pZCBpbmRyZWxpZCA9IFJlbGF0aW9uR2V0UmVsaWQoaW5kcmVsKTsKKworCS8qCisJ ICogSWYgd2UgYXJlIGEgcGFyYWxsZWwgd29ya2VyLCBzdGFydCBhIFBST0dSRVNTX0NPTU1BTkRf VkFDVVVNX1BBUkFMTEVMCisJICogY29tbWFuZCBmb3IgcHJvZ3Jlc3MgcmVwb3J0aW5nIGFuZCBy ZXBvcnQgdGhlIGluZGV4IGJlaW5nIHZhY3V1bWVkLgorCSAqLworCWlmIChJc1BhcmFsbGVsV29y a2VyKCkpCisJeworCQlwZ3N0YXRfcHJvZ3Jlc3Nfc3RhcnRfY29tbWFuZChQUk9HUkVTU19DT01N QU5EX1ZBQ1VVTV9QQVJBTExFTCwKKwkJCQkJCQkJCSAgcHZzLT5zaGFyZWQtPnJlbGlkKTsKKwl9 CisKKwkvKiByZXBvcnQgdGhlIGluZGV4IGJlaW5nIHZhY3V1bWVkIG9yIGNsZWFuZWQgdXAgKi8K KwlwZ3N0YXRfcHJvZ3Jlc3NfdXBkYXRlX3BhcmFtKFBST0dSRVNTX1ZBQ1VVTV9JTkRSRUxJRCwg aW5kcmVsaWQpOwogCiAJLyoKIAkgKiBVcGRhdGUgdGhlIHBvaW50ZXIgdG8gdGhlIGNvcnJlc3Bv bmRpbmcgYnVsay1kZWxldGlvbiByZXN1bHQgaWYgc29tZW9uZQpAQCAtOTExLDEwICs5MjUsMTkg QEAgcGFyYWxsZWxfdmFjdXVtX3Byb2Nlc3Nfb25lX2luZGV4KFBhcmFsbGVsVmFjdXVtU3RhdGUg KnB2cywgUmVsYXRpb24gaW5kcmVsLAogCXBmcmVlKHB2cy0+aW5kbmFtZSk7CiAJcHZzLT5pbmRu YW1lID0gTlVMTDsKIAorCS8qCisJICogUmVzZXQgdGhlIGluZGV4IHJlbGlkIGJlZ2luIHZhY3V1 bWVkL2NsZWFuZWQKKwkgKi8KKwlwZ3N0YXRfcHJvZ3Jlc3NfdXBkYXRlX3BhcmFtKFBST0dSRVNT X1ZBQ1VVTV9JTkRSRUxJRCwgMCk7CisKIAkvKgogCSAqIFVwZGF0ZSB0aGUgbnVtYmVyIG9mIGlu ZGV4ZXMgY29tcGxldGVkLgogCSAqLwogCXBnX2F0b21pY19hZGRfZmV0Y2hfdTMyKCYocHZzLT5z aGFyZWQtPmlkeF9jb21wbGV0ZWRfcHJvZ3Jlc3MpLCAxKTsKKworCS8qIGlmIHdlIGFyZSBhIHBh cmFsbGVsIHdvcmtlciwgZW5kIHRoZSBjb21tYW5kICovCisJaWYgKElzUGFyYWxsZWxXb3JrZXIo KSkKKwkJcGdzdGF0X3Byb2dyZXNzX2VuZF9jb21tYW5kKCk7CiB9CiAKIC8qCmRpZmYgLS1naXQg YS9zcmMvYmFja2VuZC91dGlscy9hZHQvcGdzdGF0ZnVuY3MuYyBiL3NyYy9iYWNrZW5kL3V0aWxz L2FkdC9wZ3N0YXRmdW5jcy5jCmluZGV4IDk2YmZmYzBmMmEuLjgyZWVkYWUxZjAgMTAwNjQ0Ci0t LSBhL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9wZ3N0YXRmdW5jcy5jCisrKyBiL3NyYy9iYWNrZW5k L3V0aWxzL2FkdC9wZ3N0YXRmdW5jcy5jCkBAIC0xOSw2ICsxOSw3IEBACiAjaW5jbHVkZSAiYWNj ZXNzL3hsb2dwcmVmZXRjaGVyLmgiCiAjaW5jbHVkZSAiY2F0YWxvZy9wZ19hdXRoaWQuaCIKICNp bmNsdWRlICJjYXRhbG9nL3BnX3R5cGUuaCIKKyNpbmNsdWRlICJjb21tYW5kcy9wcm9ncmVzcy5o IgogI2luY2x1ZGUgImNvbW1vbi9pcC5oIgogI2luY2x1ZGUgImZ1bmNhcGkuaCIKICNpbmNsdWRl ICJtaXNjYWRtaW4uaCIKQEAgLTIzODMsMyArMjM4NCw1NCBAQCBwZ19zdGF0X2hhdmVfc3RhdHMo UEdfRlVOQ1RJT05fQVJHUykKIAogCVBHX1JFVFVSTl9CT09MKHBnc3RhdF9oYXZlX2VudHJ5KGtp bmQsIGRib2lkLCBvYmpvaWQpKTsKIH0KKworLyoKKyAqIEZvciBhIGdpdmVuIFBJRCwgcmV0dXJu IHRoZSByZWxpZCBvZiB0aGUgaW5kZXgKKyAqIGN1cnJlbnRseSBiZWluZyB2YWN1dW1lZC4KKyAq LworRGF0dW0KK3BnX3N0YXRfZ2V0X3ZhY3V1bV9pbmRleChQR19GVU5DVElPTl9BUkdTKQorewor CWludAkJCXBpZCA9IFBHX0dFVEFSR19JTlQzMigwKTsKKwlpbnQJCQludW1fYmFja2VuZHMgPSBw Z3N0YXRfZmV0Y2hfc3RhdF9udW1iYWNrZW5kcygpOworCWludAkJCWN1cnJfYmFja2VuZDsKKwlP aWQgCQlpbmRyZWxpZCA9IDA7CisJUHJvZ3Jlc3NDb21tYW5kVHlwZSBjbWR0eXBlX3ZhY3V1bSA9 IFBST0dSRVNTX0NPTU1BTkRfVkFDVVVNOworCVByb2dyZXNzQ29tbWFuZFR5cGUgY21kdHlwZV92 YWN1dW1fcGFyYWxsZWwgPSBQUk9HUkVTU19DT01NQU5EX1ZBQ1VVTV9QQVJBTExFTDsKKworCS8q IDEtYmFzZWQgaW5kZXggKi8KKwlmb3IgKGN1cnJfYmFja2VuZCA9IDE7IGN1cnJfYmFja2VuZCA8 PSBudW1fYmFja2VuZHM7IGN1cnJfYmFja2VuZCsrKQorCXsKKwkJTG9jYWxQZ0JhY2tlbmRTdGF0 dXMgKmxvY2FsX2JlZW50cnk7CisJCVBnQmFja2VuZFN0YXR1cyAqYmVlbnRyeTsKKworCQlsb2Nh bF9iZWVudHJ5ID0gcGdzdGF0X2ZldGNoX3N0YXRfbG9jYWxfYmVlbnRyeShjdXJyX2JhY2tlbmQp OworCQliZWVudHJ5ID0gJmxvY2FsX2JlZW50cnktPmJhY2tlbmRTdGF0dXM7CisKKwkJLyoKKwkJ ICogSWYgYSBiYWNrZW5kIGhhcyBhIFZBQ1VVTSBvciBWQUNVVU1fUEFSQUxMRUwgcHJvZ3Jlc3Mg Y29tbWFuZCB0eXBlCisJCSAqIGFuZCB0aGUgcHJvY3BpZCBtYXRjaGVzIHRoZSBnaXZlbiBQSUQs IHJldHVybiB0aGUgaW5kZXggcmVsaWQKKwkJICogdGhhdCBpcyBjdXJyZW50IGJlaW5nIHZhY3V1 bWVkLiBJbiBzb21lIGNhc2VzLCB0aGUgaW5kZXggcmVsaWQgY291bGQKKwkJICogYmUgYSAnMCcg aWYgd2UgZ290IGhlcmUgYXQgdGhlIGVuZCBvZiBhIHZhY3V1bSBvciB3aGVuIG5vIGluZGV4ZXMK KwkJICogYXJlIGJlaW5nIHZhY3V1bWVkLiBJbiB0aGlzIGNhc2UgcmV0dXJuIE5VTEwuCisJCSAq LworCQlpZgkoCisJCQkJKGJlZW50cnktPnN0X3Byb2dyZXNzX2NvbW1hbmQgPT0gY21kdHlwZV92 YWN1dW0KKwkJCQkJfHwgYmVlbnRyeS0+c3RfcHJvZ3Jlc3NfY29tbWFuZCA9PSBjbWR0eXBlX3Zh Y3V1bV9wYXJhbGxlbCkgJiYKKwkJCQkgYmVlbnRyeS0+c3RfcHJvY3BpZCA9PSBwaWQKKwkJCSkK KwkJCXsKKwkJCQlpbmRyZWxpZCA9IEludDY0R2V0RGF0dW0oYmVlbnRyeS0+c3RfcHJvZ3Jlc3Nf cGFyYW1bUFJPR1JFU1NfVkFDVVVNX0lORFJFTElEXSk7CisKKwkJCQlpZiAoaW5kcmVsaWQgPiAw KQorCQkJCQlQR19SRVRVUk5fT0lEKGluZHJlbGlkKTsKKwkJCQllbHNlCisJCQkJCVBHX1JFVFVS Tl9OVUxMKCk7CisJCQl9CisJfQorCisJLyoKKwkgKiBObyBtYXRjaGluZyBQSUQgcGVyZm9ybWlu ZyBhIFZBQ1VVTSBvcGVyYXRpb24sIHJldHVybiBOVUxMLgorCSAqLworCVBHX1JFVFVSTl9OVUxM KCk7Cit9CmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0IGIvc3Jj L2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdAppbmRleCAyMGY1YWE1NmVhLi5kZDVhMzIxNzJh IDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0CisrKyBiL3NyYy9p bmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5kYXQKQEAgLTExODI3LDUgKzExODI3LDkgQEAKICAgcHJv bmFtZSA9PiAnYnJpbl9taW5tYXhfbXVsdGlfc3VtbWFyeV9zZW5kJywgcHJvdm9sYXRpbGUgPT4g J3MnLAogICBwcm9yZXR0eXBlID0+ICdieXRlYScsIHByb2FyZ3R5cGVzID0+ICdwZ19icmluX21p bm1heF9tdWx0aV9zdW1tYXJ5JywKICAgcHJvc3JjID0+ICdicmluX21pbm1heF9tdWx0aV9zdW1t YXJ5X3NlbmQnIH0sCit7IG9pZCA9PiAnNDY0MicsCisgIGRlc2NyID0+ICdnZXQgdGhlIHJlbGlk IG9mIHRoZSBpbmRleCBiZWluZyB2YWN1dW1lZCBieSBhIGJhY2tlbmQnLAorICBwcm9uYW1lID0+ ICdwZ19zdGF0X2dldF92YWN1dW1faW5kZXgnLCBwcm92b2xhdGlsZSA9PiAndicsIHByb3JldHR5 cGUgPT4gJ2ludDgnLAorICBwcm9hcmd0eXBlcyA9PiAnaW50NCcsIHByb3NyYyA9PiAncGdfc3Rh dF9nZXRfdmFjdXVtX2luZGV4JyB9LAogCiBdCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9jb21t YW5kcy9wcm9ncmVzcy5oIGIvc3JjL2luY2x1ZGUvY29tbWFuZHMvcHJvZ3Jlc3MuaAppbmRleCAw ZTk3YzZkNGVmLi5iYzJiN2QxZTk1IDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9jb21tYW5kcy9w cm9ncmVzcy5oCisrKyBiL3NyYy9pbmNsdWRlL2NvbW1hbmRzL3Byb2dyZXNzLmgKQEAgLTI3LDYg KzI3LDcgQEAKICNkZWZpbmUgUFJPR1JFU1NfVkFDVVVNX05VTV9ERUFEX1RVUExFUwkJCTYKICNk ZWZpbmUgUFJPR1JFU1NfVkFDVVVNX0lOREVYX1RPVEFMICAgICAgICAgICAgIDcKICNkZWZpbmUg UFJPR1JFU1NfVkFDVVVNX0lOREVYX0NPTVBMRVRFRCAgICAgICAgIDgKKyNkZWZpbmUgUFJPR1JF U1NfVkFDVVVNX0lORFJFTElEICAgICAgICAgICAgICAgIDkKIAogLyogUGhhc2VzIG9mIHZhY3V1 bSAoYXMgYWR2ZXJ0aXNlZCB2aWEgUFJPR1JFU1NfVkFDVVVNX1BIQVNFKSAqLwogI2RlZmluZSBQ Uk9HUkVTU19WQUNVVU1fUEhBU0VfU0NBTl9IRUFQCQkJMQpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1 ZGUvdXRpbHMvYmFja2VuZF9wcm9ncmVzcy5oIGIvc3JjL2luY2x1ZGUvdXRpbHMvYmFja2VuZF9w cm9ncmVzcy5oCmluZGV4IDQ3YmY4MDI5YjAuLjc0ZDlkZmI0YzcgMTAwNjQ0Ci0tLSBhL3NyYy9p bmNsdWRlL3V0aWxzL2JhY2tlbmRfcHJvZ3Jlc3MuaAorKysgYi9zcmMvaW5jbHVkZS91dGlscy9i YWNrZW5kX3Byb2dyZXNzLmgKQEAgLTE3LDYgKzE3LDEwIEBACiAKIC8qIC0tLS0tLS0tLS0KICAq IENvbW1hbmQgdHlwZSBmb3IgcHJvZ3Jlc3MgcmVwb3J0aW5nIHB1cnBvc2VzCisgKgorICogTm90 ZTogUFJPR1JFU1NfQ09NTUFORF9WQUNVVU1fUEFSQUxMRUwgaXMgbm90CisgKiBhIGNvbW1hbmQg cGVyIHNlLCBidXQgdGhpcyB0eXBlIGlzIHVzZWQgdG8gdHJhY2sKKyAqIHBhcmFsbGVsIHZhY3V1 bSB3b3JrZXJzIHByb2dyZXNzLgogICogLS0tLS0tLS0tLQogICovCiB0eXBlZGVmIGVudW0gUHJv Z3Jlc3NDb21tYW5kVHlwZQpAQCAtMjcsNyArMzEsOCBAQCB0eXBlZGVmIGVudW0gUHJvZ3Jlc3ND b21tYW5kVHlwZQogCVBST0dSRVNTX0NPTU1BTkRfQ0xVU1RFUiwKIAlQUk9HUkVTU19DT01NQU5E X0NSRUFURV9JTkRFWCwKIAlQUk9HUkVTU19DT01NQU5EX0JBU0VCQUNLVVAsCi0JUFJPR1JFU1Nf Q09NTUFORF9DT1BZCisJUFJPR1JFU1NfQ09NTUFORF9DT1BZLAorCVBST0dSRVNTX0NPTU1BTkRf VkFDVVVNX1BBUkFMTEVMCiB9IFByb2dyZXNzQ29tbWFuZFR5cGU7CiAKICNkZWZpbmUgUEdTVEFU X05VTV9QUk9HUkVTU19QQVJBTQkyMAotLSAKMi4zMi4xIChBcHBsZSBHaXQtMTMzKQoK --_003_AC87124BABCA4C268E0836DCB5485419amazoncom_ Content-Type: application/octet-stream; name="v14-0001-Add-2-new-columns-to-pg_stat_progress_vacuum.-Th.patch" Content-Description: v14-0001-Add-2-new-columns-to-pg_stat_progress_vacuum.-Th.patch Content-Disposition: attachment; filename="v14-0001-Add-2-new-columns-to-pg_stat_progress_vacuum.-Th.patch"; size=25124; creation-date="Fri, 04 Nov 2022 13:27:34 GMT"; modification-date="Fri, 04 Nov 2022 13:27:34 GMT" Content-ID: Content-Transfer-Encoding: base64 RnJvbSBkMGRiYTNjMjhkYmY4OTE1ZGI0ZGY3MzFlZGI0NDVlNTA2NGY5N2JiIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiSW1zZWloIChBV1MpIiA8c2ltc2VpaEA4ODY2NWEyMjc5NWYu YW50LmFtYXpvbi5jb20+CkRhdGU6IEZyaSwgNCBOb3YgMjAyMiAwNzo0ODo0MiAtMDUwMApTdWJq ZWN0OiBbUEFUQ0ggdjE0IDEvMl0gQWRkIDIgbmV3IGNvbHVtbnMgdG8gcGdfc3RhdF9wcm9ncmVz c192YWN1dW0uIFRoZQogY29sdW1ucyBhcmUgaW5kZXhlc190b3RhbCBhcyB0aGUgdG90YWwgaW5k ZXhlcyB0byBiZSB2YWN1dW1lZCBvciBjbGVhbmVkIGFuZAogaW5kZXhlc19wcm9jZXNzZWQgYXMg dGhlIG51bWJlciBvZiBpbmRleGVzIHZhY3V1bWVkIG9yIGNsZWFuZWQgdXAgc28gZmFyLgoKQXV0 aG9yOiBTYW1pIEltc2VpaCwgYmFzZWQgb24gc3VnZ2VzdGlvbnMgYnkgTmF0aGFuIEJvc3NhcnQs IFBldGVyIEdlb2doZWdhbiBhbmQgTWFzYWhpa28gU2F3YWRhClJldmlld2VkIGJ5OiBOYXRoYW4g Qm9zc2FydCwgTWFzYWhpa28gU2F3YWRhCkRpc2N1c3Npb246IGh0dHBzOi8vd3d3LnBvc3RncmVz cWwub3JnL21lc3NhZ2UtaWQvZmxhdC81NDc4REZDRC0yMzMzLTQwMUEtQjJGMC0wRDE4NkFCMDky MjhAYW1hem9uLmNvbQotLS0KIGNvbnRyaWIvYmxvb20vYmx2YWN1dW0uYyAgICAgICAgICAgICAg fCAgNiArKysKIGRvYy9zcmMvc2dtbC9tb25pdG9yaW5nLnNnbWwgICAgICAgICAgfCAyMSArKysr KysrKysKIHNyYy9iYWNrZW5kL2FjY2Vzcy9icmluL2JyaW4uYyAgICAgICAgfCAgOSArKy0tCiBz cmMvYmFja2VuZC9hY2Nlc3MvZ2luL2dpbnZhY3V1bS5jICAgIHwgIDkgKysrKwogc3JjL2JhY2tl bmQvYWNjZXNzL2dpc3QvZ2lzdHZhY3V1bS5jICB8ICA1ICsrKwogc3JjL2JhY2tlbmQvYWNjZXNz L2hhc2gvaGFzaC5jICAgICAgICB8ICA4ICsrKy0KIHNyYy9iYWNrZW5kL2FjY2Vzcy9oYXNoL2hh c2hwYWdlLmMgICAgfCAgNCArLQogc3JjL2JhY2tlbmQvYWNjZXNzL2hlYXAvdmFjdXVtbGF6eS5j ICB8IDQwICsrKysrKysrKysrKysrKystCiBzcmMvYmFja2VuZC9hY2Nlc3MvbmJ0cmVlL25idHJl ZS5jICAgIHwgIDMgKysKIHNyYy9iYWNrZW5kL2FjY2Vzcy9zcGdpc3Qvc3BndmFjdXVtLmMgfCAg MyArKwogc3JjL2JhY2tlbmQvYWNjZXNzL3RyYW5zYW0vcGFyYWxsZWwuYyB8ICA1ICsrKwogc3Jj L2JhY2tlbmQvY2F0YWxvZy9pbmRleC5jICAgICAgICAgICB8ICAxICsKIHNyYy9iYWNrZW5kL2Nh dGFsb2cvc3lzdGVtX3ZpZXdzLnNxbCAgfCAgMyArLQogc3JjL2JhY2tlbmQvY29tbWFuZHMvdmFj dXVtcGFyYWxsZWwuYyB8IDYzICsrKysrKysrKysrKysrKysrKysrKysrKysrLQogc3JjL2luY2x1 ZGUvYWNjZXNzL2dlbmFtLmggICAgICAgICAgICB8ICAzICsrCiBzcmMvaW5jbHVkZS9hY2Nlc3Mv aGFzaC5oICAgICAgICAgICAgIHwgIDMgKy0KIHNyYy9pbmNsdWRlL2FjY2Vzcy9wYXJhbGxlbC5o ICAgICAgICAgfCAgMiArCiBzcmMvaW5jbHVkZS9jb21tYW5kcy9wcm9ncmVzcy5oICAgICAgIHwg IDIgKwogc3JjL2luY2x1ZGUvY29tbWFuZHMvdmFjdXVtLmggICAgICAgICB8ICAyICsKIHNyYy90 ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcnVsZXMub3V0ICAgfCAgNCArLQogMjAgZmlsZXMgY2hhbmdl ZCwgMTg0IGluc2VydGlvbnMoKyksIDEyIGRlbGV0aW9ucygtKQogIDEwLjUlIGRvYy9zcmMvc2dt bC8KICAgNS44JSBzcmMvYmFja2VuZC9hY2Nlc3MvYnJpbi8KICAgNC40JSBzcmMvYmFja2VuZC9h Y2Nlc3MvZ2luLwogICA2LjIlIHNyYy9iYWNrZW5kL2FjY2Vzcy9oYXNoLwogIDE3LjclIHNyYy9i YWNrZW5kL2FjY2Vzcy9oZWFwLwogICA3LjUlIHNyYy9iYWNrZW5kL2FjY2Vzcy8KICAzMi44JSBz cmMvYmFja2VuZC9jb21tYW5kcy8KICAgNi4xJSBzcmMvaW5jbHVkZS9hY2Nlc3MvCiAgIDUuNiUg c3JjLwoKZGlmZiAtLWdpdCBhL2NvbnRyaWIvYmxvb20vYmx2YWN1dW0uYyBiL2NvbnRyaWIvYmxv b20vYmx2YWN1dW0uYwppbmRleCA5MWZhZTViMGMwLi4xOWFlODE5Y2ZlIDEwMDY0NAotLS0gYS9j b250cmliL2Jsb29tL2JsdmFjdXVtLmMKKysrIGIvY29udHJpYi9ibG9vbS9ibHZhY3V1bS5jCkBA IC0xMzYsNiArMTM2LDkgQEAgYmxidWxrZGVsZXRlKEluZGV4VmFjdXVtSW5mbyAqaW5mbywgSW5k ZXhCdWxrRGVsZXRlUmVzdWx0ICpzdGF0cywKIAkJCUdlbmVyaWNYTG9nQWJvcnQoZ3hsb2dTdGF0 ZSk7CiAJCX0KIAkJVW5sb2NrUmVsZWFzZUJ1ZmZlcihidWZmZXIpOworCisJCWlmIChpbmZvLT5y ZXBvcnRfcGFyYWxsZWxfcHJvZ3Jlc3MpCisJCQlpbmZvLT5wYXJhbGxlbF9wcm9ncmVzc19jYWxs YmFjayhpbmZvLT5wYXJhbGxlbF9wcm9ncmVzc19hcmcpOwogCX0KIAogCS8qCkBAIC0yMDksNiAr MjEyLDkgQEAgYmx2YWN1dW1jbGVhbnVwKEluZGV4VmFjdXVtSW5mbyAqaW5mbywgSW5kZXhCdWxr RGVsZXRlUmVzdWx0ICpzdGF0cykKIAkJfQogCiAJCVVubG9ja1JlbGVhc2VCdWZmZXIoYnVmZmVy KTsKKworCQlpZiAoaW5mby0+cmVwb3J0X3BhcmFsbGVsX3Byb2dyZXNzKQorCQkJaW5mby0+cGFy YWxsZWxfcHJvZ3Jlc3NfY2FsbGJhY2soaW5mby0+cGFyYWxsZWxfcHJvZ3Jlc3NfYXJnKTsKIAl9 CiAKIAlJbmRleEZyZWVTcGFjZU1hcFZhY3V1bShpbmZvLT5pbmRleCk7CmRpZmYgLS1naXQgYS9k b2Mvc3JjL3NnbWwvbW9uaXRvcmluZy5zZ21sIGIvZG9jL3NyYy9zZ21sL21vbml0b3Jpbmcuc2dt bAppbmRleCBlNWQ2MjJkNTE0Li5jNjE0NDNmM2Q1IDEwMDY0NAotLS0gYS9kb2Mvc3JjL3NnbWwv bW9uaXRvcmluZy5zZ21sCisrKyBiL2RvYy9zcmMvc2dtbC9tb25pdG9yaW5nLnNnbWwKQEAgLTY0 NTUsNiArNjQ1NSwyNyBAQCBGUk9NIHBnX3N0YXRfZ2V0X2JhY2tlbmRfaWRzZXQoKSBBUyBiYWNr ZW5kaWQ7CiAgICAgICAgTnVtYmVyIG9mIGRlYWQgdHVwbGVzIGNvbGxlY3RlZCBzaW5jZSB0aGUg bGFzdCBpbmRleCB2YWN1dW0gY3ljbGUuCiAgICAgICA8L3BhcmE+PC9lbnRyeT4KICAgICAgPC9y b3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5 Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPmlu ZGV4ZXNfdG90YWw8L3N0cnVjdGZpZWxkPiA8dHlwZT5iaWdpbnQ8L3R5cGU+CisgICAgICA8L3Bh cmE+CisgICAgICA8cGFyYT4KKyAgICAgICBOdW1iZXIgb2YgaW5kZXhlcyB0aGF0IHdpbCBiZSB2 YWN1dW1lZC4gVGhpcyB2YWx1ZSB3aWxsIGJlCisgICAgICAgPGxpdGVyYWw+MDwvbGl0ZXJhbD4g aWYgdGhlcmUgYXJlIG5vIGluZGV4ZXMgdG8gdmFjdXVtIG9yCisgICAgICAgdmFjdXVtIGZhaWxz YWZlIGlzIHRyaWdnZXJlZC4gU2VlIDx4cmVmIGxpbmtlbmQ9Imd1Yy12YWN1dW0tZmFpbHNhZmUt YWdlIi8+CisgICAgICAgZm9yIG1vcmUgb24gdmFjdXVtIGZhaWxzYWZlLgorICAgICAgPC9wYXJh PjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0i Y2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAg ICAgIDxzdHJ1Y3RmaWVsZD5pbmRleGVzX2NvbXBsZXRlZDwvc3RydWN0ZmllbGQ+IDx0eXBlPmJp Z2ludDwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgIE51bWJlciBv ZiBpbmRleGVzIHZhY3V1bWVkIGluIHRoZSBjdXJyZW50IHZhY3V1bSBjeWNsZS4KKyAgICAgIDwv cGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KICAgICA8L3Rib2R5PgogICAgPC90Z3JvdXA+CiAg IDwvdGFibGU+CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9hY2Nlc3MvYnJpbi9icmluLmMgYi9z cmMvYmFja2VuZC9hY2Nlc3MvYnJpbi9icmluLmMKaW5kZXggMjBiN2Q2NWI5NC4uYmQ5NmVjZjQx ZSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvYWNjZXNzL2JyaW4vYnJpbi5jCisrKyBiL3NyYy9i YWNrZW5kL2FjY2Vzcy9icmluL2JyaW4uYwpAQCAtNzgsNyArNzgsNyBAQCBzdGF0aWMgdm9pZCBi cmluc3VtbWFyaXplKFJlbGF0aW9uIGluZGV4LCBSZWxhdGlvbiBoZWFwUmVsLCBCbG9ja051bWJl ciBwYWdlUmFuZwogc3RhdGljIHZvaWQgZm9ybV9hbmRfaW5zZXJ0X3R1cGxlKEJyaW5CdWlsZFN0 YXRlICpzdGF0ZSk7CiBzdGF0aWMgdm9pZCB1bmlvbl90dXBsZXMoQnJpbkRlc2MgKmJkZXNjLCBC cmluTWVtVHVwbGUgKmEsCiAJCQkJCQkgQnJpblR1cGxlICpiKTsKLXN0YXRpYyB2b2lkIGJyaW5f dmFjdXVtX3NjYW4oUmVsYXRpb24gaWR4cmVsLCBCdWZmZXJBY2Nlc3NTdHJhdGVneSBzdHJhdGVn eSk7CitzdGF0aWMgdm9pZCBicmluX3ZhY3V1bV9zY2FuKFJlbGF0aW9uIGlkeHJlbCwgQnVmZmVy QWNjZXNzU3RyYXRlZ3kgc3RyYXRlZ3ksIEluZGV4VmFjdXVtSW5mbyAqaW5mbyk7CiBzdGF0aWMg Ym9vbCBhZGRfdmFsdWVzX3RvX3JhbmdlKFJlbGF0aW9uIGlkeFJlbCwgQnJpbkRlc2MgKmJkZXNj LAogCQkJCQkJCQlCcmluTWVtVHVwbGUgKmR0dXAsIERhdHVtICp2YWx1ZXMsIGJvb2wgKm51bGxz KTsKIHN0YXRpYyBib29sIGNoZWNrX251bGxfa2V5cyhCcmluVmFsdWVzICpidmFsLCBTY2FuS2V5 ICpudWxsa2V5cywgaW50IG5udWxsa2V5cyk7CkBAIC05NTIsNyArOTUyLDcgQEAgYnJpbnZhY3V1 bWNsZWFudXAoSW5kZXhWYWN1dW1JbmZvICppbmZvLCBJbmRleEJ1bGtEZWxldGVSZXN1bHQgKnN0 YXRzKQogCWhlYXBSZWwgPSB0YWJsZV9vcGVuKEluZGV4R2V0UmVsYXRpb24oUmVsYXRpb25HZXRS ZWxpZChpbmZvLT5pbmRleCksIGZhbHNlKSwKIAkJCQkJCSBBY2Nlc3NTaGFyZUxvY2spOwogCi0J YnJpbl92YWN1dW1fc2NhbihpbmZvLT5pbmRleCwgaW5mby0+c3RyYXRlZ3kpOworCWJyaW5fdmFj dXVtX3NjYW4oaW5mby0+aW5kZXgsIGluZm8tPnN0cmF0ZWd5LCBpbmZvKTsKIAogCWJyaW5zdW1t YXJpemUoaW5mby0+aW5kZXgsIGhlYXBSZWwsIEJSSU5fQUxMX0JMT0NLUkFOR0VTLCBmYWxzZSwK IAkJCQkgICZzdGF0cy0+bnVtX2luZGV4X3R1cGxlcywgJnN0YXRzLT5udW1faW5kZXhfdHVwbGVz KTsKQEAgLTE2NTksNyArMTY1OSw3IEBAIHVuaW9uX3R1cGxlcyhCcmluRGVzYyAqYmRlc2MsIEJy aW5NZW1UdXBsZSAqYSwgQnJpblR1cGxlICpiKQogICogYW5kIHN1Y2guCiAgKi8KIHN0YXRpYyB2 b2lkCi1icmluX3ZhY3V1bV9zY2FuKFJlbGF0aW9uIGlkeHJlbCwgQnVmZmVyQWNjZXNzU3RyYXRl Z3kgc3RyYXRlZ3kpCiticmluX3ZhY3V1bV9zY2FuKFJlbGF0aW9uIGlkeHJlbCwgQnVmZmVyQWNj ZXNzU3RyYXRlZ3kgc3RyYXRlZ3ksIEluZGV4VmFjdXVtSW5mbyAqaW5mbykKIHsKIAlCbG9ja051 bWJlciBuYmxvY2tzOwogCUJsb2NrTnVtYmVyIGJsa25vOwpAQCAtMTY4MSw2ICsxNjgxLDkgQEAg YnJpbl92YWN1dW1fc2NhbihSZWxhdGlvbiBpZHhyZWwsIEJ1ZmZlckFjY2Vzc1N0cmF0ZWd5IHN0 cmF0ZWd5KQogCQlicmluX3BhZ2VfY2xlYW51cChpZHhyZWwsIGJ1Zik7CiAKIAkJUmVsZWFzZUJ1 ZmZlcihidWYpOworCisJCWlmIChpbmZvLT5yZXBvcnRfcGFyYWxsZWxfcHJvZ3Jlc3MpCisJCQlp bmZvLT5wYXJhbGxlbF9wcm9ncmVzc19jYWxsYmFjayhpbmZvLT5wYXJhbGxlbF9wcm9ncmVzc19h cmcpOwogCX0KIAogCS8qCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9hY2Nlc3MvZ2luL2dpbnZh Y3V1bS5jIGIvc3JjL2JhY2tlbmQvYWNjZXNzL2dpbi9naW52YWN1dW0uYwppbmRleCBiNGZhNWY2 YmY4Li4zZDVlNDYwMGRjIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9hY2Nlc3MvZ2luL2dpbnZh Y3V1bS5jCisrKyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy9naW4vZ2ludmFjdXVtLmMKQEAgLTYzMyw2 ICs2MzMsOSBAQCBnaW5idWxrZGVsZXRlKEluZGV4VmFjdXVtSW5mbyAqaW5mbywgSW5kZXhCdWxr RGVsZXRlUmVzdWx0ICpzdGF0cywKIAkJVW5sb2NrUmVsZWFzZUJ1ZmZlcihidWZmZXIpOwogCQli dWZmZXIgPSBSZWFkQnVmZmVyRXh0ZW5kZWQoaW5kZXgsIE1BSU5fRk9SS05VTSwgYmxrbm8sCiAJ CQkJCQkJCQlSQk1fTk9STUFMLCBpbmZvLT5zdHJhdGVneSk7CisKKwkJaWYgKGluZm8tPnJlcG9y dF9wYXJhbGxlbF9wcm9ncmVzcykKKwkJCWluZm8tPnBhcmFsbGVsX3Byb2dyZXNzX2NhbGxiYWNr KGluZm8tPnBhcmFsbGVsX3Byb2dyZXNzX2FyZyk7CiAJfQogCiAJLyogcmlnaHQgbm93IHdlIGZv dW5kIGxlZnRtb3N0IHBhZ2UgaW4gZW50cnkncyBCVHJlZSAqLwpAQCAtNjc3LDYgKzY4MCw5IEBA IGdpbmJ1bGtkZWxldGUoSW5kZXhWYWN1dW1JbmZvICppbmZvLCBJbmRleEJ1bGtEZWxldGVSZXN1 bHQgKnN0YXRzLAogCQlidWZmZXIgPSBSZWFkQnVmZmVyRXh0ZW5kZWQoaW5kZXgsIE1BSU5fRk9S S05VTSwgYmxrbm8sCiAJCQkJCQkJCQlSQk1fTk9STUFMLCBpbmZvLT5zdHJhdGVneSk7CiAJCUxv Y2tCdWZmZXIoYnVmZmVyLCBHSU5fRVhDTFVTSVZFKTsKKworCQlpZiAoaW5mby0+cmVwb3J0X3Bh cmFsbGVsX3Byb2dyZXNzKQorCQkJaW5mby0+cGFyYWxsZWxfcHJvZ3Jlc3NfY2FsbGJhY2soaW5m by0+cGFyYWxsZWxfcHJvZ3Jlc3NfYXJnKTsKIAl9CiAKIAlNZW1vcnlDb250ZXh0RGVsZXRlKGd2 cy50bXBDeHQpOwpAQCAtNzc1LDYgKzc4MSw5IEBAIGdpbnZhY3V1bWNsZWFudXAoSW5kZXhWYWN1 dW1JbmZvICppbmZvLCBJbmRleEJ1bGtEZWxldGVSZXN1bHQgKnN0YXRzKQogCQl9CiAKIAkJVW5s b2NrUmVsZWFzZUJ1ZmZlcihidWZmZXIpOworCisJCWlmIChpbmZvLT5yZXBvcnRfcGFyYWxsZWxf cHJvZ3Jlc3MpCisJCQlpbmZvLT5wYXJhbGxlbF9wcm9ncmVzc19jYWxsYmFjayhpbmZvLT5wYXJh bGxlbF9wcm9ncmVzc19hcmcpOwogCX0KIAogCS8qIFVwZGF0ZSB0aGUgbWV0YXBhZ2Ugd2l0aCBh Y2N1cmF0ZSBwYWdlIGFuZCBlbnRyeSBjb3VudHMgKi8KZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5k L2FjY2Vzcy9naXN0L2dpc3R2YWN1dW0uYyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy9naXN0L2dpc3R2 YWN1dW0uYwppbmRleCAwYWE2ZTU4YTYyLi5kYTNhMDU0MGQwIDEwMDY0NAotLS0gYS9zcmMvYmFj a2VuZC9hY2Nlc3MvZ2lzdC9naXN0dmFjdXVtLmMKKysrIGIvc3JjL2JhY2tlbmQvYWNjZXNzL2dp c3QvZ2lzdHZhY3V1bS5jCkBAIC0yMjMsNyArMjIzLDEyIEBAIGdpc3R2YWN1dW1zY2FuKEluZGV4 VmFjdXVtSW5mbyAqaW5mbywgSW5kZXhCdWxrRGVsZXRlUmVzdWx0ICpzdGF0cywKIAkJCWJyZWFr OwogCQkvKiBJdGVyYXRlIG92ZXIgcGFnZXMsIHRoZW4gbG9vcCBiYWNrIHRvIHJlY2hlY2sgbGVu Z3RoICovCiAJCWZvciAoOyBibGtubyA8IG51bV9wYWdlczsgYmxrbm8rKykKKwkJewogCQkJZ2lz dHZhY3V1bXBhZ2UoJnZzdGF0ZSwgYmxrbm8sIGJsa25vKTsKKworCQkJaWYgKGluZm8tPnJlcG9y dF9wYXJhbGxlbF9wcm9ncmVzcykKKwkJCQlpbmZvLT5wYXJhbGxlbF9wcm9ncmVzc19jYWxsYmFj ayhpbmZvLT5wYXJhbGxlbF9wcm9ncmVzc19hcmcpOworCQl9CiAJfQogCiAJLyoKZGlmZiAtLWdp dCBhL3NyYy9iYWNrZW5kL2FjY2Vzcy9oYXNoL2hhc2guYyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy9o YXNoL2hhc2guYwppbmRleCBjMzYxNTA5ZDY4Li4xNDc5MGFkZjYxIDEwMDY0NAotLS0gYS9zcmMv YmFja2VuZC9hY2Nlc3MvaGFzaC9oYXNoLmMKKysrIGIvc3JjL2JhY2tlbmQvYWNjZXNzL2hhc2gv aGFzaC5jCkBAIC01NTAsNyArNTUwLDcgQEAgbG9vcF90b3A6CiAJCQkJCQkgIGNhY2hlZG1ldGFw LT5oYXNobV9oaWdobWFzaywKIAkJCQkJCSAgY2FjaGVkbWV0YXAtPmhhc2htX2xvd21hc2ssICZ0 dXBsZXNfcmVtb3ZlZCwKIAkJCQkJCSAgJm51bV9pbmRleF90dXBsZXMsIHNwbGl0X2NsZWFudXAs Ci0JCQkJCQkgIGNhbGxiYWNrLCBjYWxsYmFja19zdGF0ZSk7CisJCQkJCQkgIGNhbGxiYWNrLCBj YWxsYmFja19zdGF0ZSwgaW5mbyk7CiAKIAkJX2hhc2hfZHJvcGJ1ZihyZWwsIGJ1Y2tldF9idWYp OwogCkBAIC02ODYsNyArNjg2LDggQEAgaGFzaGJ1Y2tldGNsZWFudXAoUmVsYXRpb24gcmVsLCBC dWNrZXQgY3VyX2J1Y2tldCwgQnVmZmVyIGJ1Y2tldF9idWYsCiAJCQkJICB1aW50MzIgbWF4YnVj a2V0LCB1aW50MzIgaGlnaG1hc2ssIHVpbnQzMiBsb3dtYXNrLAogCQkJCSAgZG91YmxlICp0dXBs ZXNfcmVtb3ZlZCwgZG91YmxlICpudW1faW5kZXhfdHVwbGVzLAogCQkJCSAgYm9vbCBzcGxpdF9j bGVhbnVwLAotCQkJCSAgSW5kZXhCdWxrRGVsZXRlQ2FsbGJhY2sgY2FsbGJhY2ssIHZvaWQgKmNh bGxiYWNrX3N0YXRlKQorCQkJCSAgSW5kZXhCdWxrRGVsZXRlQ2FsbGJhY2sgY2FsbGJhY2ssIHZv aWQgKmNhbGxiYWNrX3N0YXRlLAorCQkJCSAgSW5kZXhWYWN1dW1JbmZvICppbmZvKQogewogCUJs b2NrTnVtYmVyIGJsa25vOwogCUJ1ZmZlcgkJYnVmOwpAQCAtNzc1LDYgKzc3Niw5IEBAIGhhc2hi dWNrZXRjbGVhbnVwKFJlbGF0aW9uIHJlbCwgQnVja2V0IGN1cl9idWNrZXQsIEJ1ZmZlciBidWNr ZXRfYnVmLAogCQkJCWlmIChudW1faW5kZXhfdHVwbGVzKQogCQkJCQkqbnVtX2luZGV4X3R1cGxl cyArPSAxOwogCQkJfQorCisJCQlpZiAoaW5mbyAmJiBpbmZvLT5yZXBvcnRfcGFyYWxsZWxfcHJv Z3Jlc3MpCisJCQkJaW5mby0+cGFyYWxsZWxfcHJvZ3Jlc3NfY2FsbGJhY2soaW5mby0+cGFyYWxs ZWxfcHJvZ3Jlc3NfYXJnKTsKIAkJfQogCiAJCS8qIHJldGFpbiB0aGUgcGluIG9uIHByaW1hcnkg YnVja2V0IHBhZ2UgdGlsbCBlbmQgb2YgYnVja2V0IHNjYW4gKi8KZGlmZiAtLWdpdCBhL3NyYy9i YWNrZW5kL2FjY2Vzcy9oYXNoL2hhc2hwYWdlLmMgYi9zcmMvYmFja2VuZC9hY2Nlc3MvaGFzaC9o YXNocGFnZS5jCmluZGV4IGQyZWRjZDQ2MTcuLmU5Y2UxYTExMTAgMTAwNjQ0Ci0tLSBhL3NyYy9i YWNrZW5kL2FjY2Vzcy9oYXNoL2hhc2hwYWdlLmMKKysrIGIvc3JjL2JhY2tlbmQvYWNjZXNzL2hh c2gvaGFzaHBhZ2UuYwpAQCAtNzU5LDcgKzc1OSw3IEBAIHJlc3RhcnRfZXhwYW5kOgogCiAJCWhh c2hidWNrZXRjbGVhbnVwKHJlbCwgb2xkX2J1Y2tldCwgYnVmX29ibGtubywgc3RhcnRfb2Jsa25v LCBOVUxMLAogCQkJCQkJICBtYXhidWNrZXQsIGhpZ2htYXNrLCBsb3dtYXNrLCBOVUxMLCBOVUxM LCB0cnVlLAotCQkJCQkJICBOVUxMLCBOVUxMKTsKKwkJCQkJCSAgTlVMTCwgTlVMTCwgTlVMTCk7 CiAKIAkJX2hhc2hfZHJvcGJ1ZihyZWwsIGJ1Zl9vYmxrbm8pOwogCkBAIC0xMzI3LDcgKzEzMjcs NyBAQCBfaGFzaF9zcGxpdGJ1Y2tldChSZWxhdGlvbiByZWwsCiAJCWhhc2hidWNrZXRjbGVhbnVw KHJlbCwgb2J1Y2tldCwgYnVja2V0X29idWYsCiAJCQkJCQkgIEJ1ZmZlckdldEJsb2NrTnVtYmVy KGJ1Y2tldF9vYnVmKSwgTlVMTCwKIAkJCQkJCSAgbWF4YnVja2V0LCBoaWdobWFzaywgbG93bWFz aywgTlVMTCwgTlVMTCwgdHJ1ZSwKLQkJCQkJCSAgTlVMTCwgTlVMTCk7CisJCQkJCQkgIE5VTEws IE5VTEwsIE5VTEwpOwogCX0KIAllbHNlCiAJewpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvYWNj ZXNzL2hlYXAvdmFjdXVtbGF6eS5jIGIvc3JjL2JhY2tlbmQvYWNjZXNzL2hlYXAvdmFjdXVtbGF6 eS5jCmluZGV4IGRmYmUzNzQ3MmYuLjEyMGEyYjE4ZDcgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5k L2FjY2Vzcy9oZWFwL3ZhY3V1bWxhenkuYworKysgYi9zcmMvYmFja2VuZC9hY2Nlc3MvaGVhcC92 YWN1dW1sYXp5LmMKQEAgLTQyMCw2ICs0MjAsMTAgQEAgaGVhcF92YWN1dW1fcmVsKFJlbGF0aW9u IHJlbCwgVmFjdXVtUGFyYW1zICpwYXJhbXMsCiAJdmFjcmVsLT5yZWwgPSByZWw7CiAJdmFjX29w ZW5faW5kZXhlcyh2YWNyZWwtPnJlbCwgUm93RXhjbHVzaXZlTG9jaywgJnZhY3JlbC0+bmluZGV4 ZXMsCiAJCQkJCSAmdmFjcmVsLT5pbmRyZWxzKTsKKworCS8qIHJlcG9ydCBudW1iZXIgb2YgaW5k ZXhlcyB0byB2YWN1dW0gKi8KKwlwZ3N0YXRfcHJvZ3Jlc3NfdXBkYXRlX3BhcmFtKFBST0dSRVNT X1ZBQ1VVTV9JTkRFWF9UT1RBTCwgdmFjcmVsLT5uaW5kZXhlcyk7CisKIAlpZiAoaW5zdHJ1bWVu dCAmJiB2YWNyZWwtPm5pbmRleGVzID4gMCkKIAl7CiAJCS8qIENvcHkgaW5kZXggbmFtZXMgdXNl ZCBieSBpbnN0cnVtZW50YXRpb24gKG5vdCBlcnJvciByZXBvcnRpbmcpICovCkBAIC0yMzQxLDYg KzIzNDUsMTIgQEAgbGF6eV92YWN1dW1fYWxsX2luZGV4ZXMoTFZSZWxTdGF0ZSAqdmFjcmVsKQog CQkJCWxhenlfdmFjdXVtX29uZV9pbmRleChpbmRyZWwsIGlzdGF0LCB2YWNyZWwtPm9sZF9saXZl X3R1cGxlcywKIAkJCQkJCQkJCSAgdmFjcmVsKTsKIAorCQkJLyoKKwkJCSAqIERvbmUgdmFjdXVt aW5nIGFuIGluZGV4LiBJbmNyZW1lbnQgdGhlIGluZGV4ZXMgY29tcGxldGVkCisJCQkgKi8KKwkJ CXBnc3RhdF9wcm9ncmVzc191cGRhdGVfcGFyYW0oUFJPR1JFU1NfVkFDVVVNX0lOREVYX0NPTVBM RVRFRCwKKwkJCQkJCQkJCQkgaWR4ICsgMSk7CisKIAkJCWlmIChsYXp5X2NoZWNrX3dyYXBhcm91 bmRfZmFpbHNhZmUodmFjcmVsKSkKIAkJCXsKIAkJCQkvKiBXcmFwYXJvdW5kIGVtZXJnZW5jeSAt LSBlbmQgY3VycmVudCBpbmRleCBzY2FuICovCkBAIC0yMzg0LDYgKzIzOTQsMTMgQEAgbGF6eV92 YWN1dW1fYWxsX2luZGV4ZXMoTFZSZWxTdGF0ZSAqdmFjcmVsKQogCXBnc3RhdF9wcm9ncmVzc191 cGRhdGVfcGFyYW0oUFJPR1JFU1NfVkFDVVVNX05VTV9JTkRFWF9WQUNVVU1TLAogCQkJCQkJCQkg dmFjcmVsLT5udW1faW5kZXhfc2NhbnMpOwogCisJLyoKKwkgKiBSZXNldCB0aGUgaW5kZXhlcyBj b21wbGV0ZWQgYXQgdGhpcyBwb2ludC4KKwkgKiBJZiB3ZSBlbmQgdXAgaW4gYW5vdGhlciBpbmRl eCB2YWN1dW0gY3ljbGUsIHdlIHdpbGwKKwkgKiBzdGFydCBjb3VudGluZyBmcm9tIHRoZSBzdGFy dC4KKwkgKi8KKwlwZ3N0YXRfcHJvZ3Jlc3NfdXBkYXRlX3BhcmFtKFBST0dSRVNTX1ZBQ1VVTV9J TkRFWF9DT01QTEVURUQsIDApOworCiAJcmV0dXJuIGFsbGluZGV4ZXM7CiB9CiAKQEAgLTI2MzMs MTAgKzI2NTAsMTcgQEAgbGF6eV9jaGVja193cmFwYXJvdW5kX2ZhaWxzYWZlKExWUmVsU3RhdGUg KnZhY3JlbCkKIAl7CiAJCXZhY3JlbC0+ZmFpbHNhZmVfYWN0aXZlID0gdHJ1ZTsKIAotCQkvKiBE aXNhYmxlIGluZGV4IHZhY3V1bWluZywgaW5kZXggY2xlYW51cCwgYW5kIGhlYXAgcmVsIHRydW5j YXRpb24gKi8KKwkJLyoKKwkJICogRGlzYWJsZSBpbmRleCB2YWN1dW1pbmcsIGluZGV4IGNsZWFu dXAsIGFuZCBoZWFwIHJlbCB0cnVuY2F0aW9uCisJCSAqCisJCSAqIEFsc28sIHJlcG9ydCB0byBw cm9ncmVzcy5oIHRoYXQgd2UgYXJlIG5vIGxvbmdlciB0cmFja2luZworCQkgKiBpbmRleCB2YWN1 dW0vY2xlYW51cC4KKwkJICovCiAJCXZhY3JlbC0+ZG9faW5kZXhfdmFjdXVtaW5nID0gZmFsc2U7 CiAJCXZhY3JlbC0+ZG9faW5kZXhfY2xlYW51cCA9IGZhbHNlOwogCQl2YWNyZWwtPmRvX3JlbF90 cnVuY2F0ZSA9IGZhbHNlOworCQlwZ3N0YXRfcHJvZ3Jlc3NfdXBkYXRlX3BhcmFtKFBST0dSRVNT X1ZBQ1VVTV9JTkRFWF9UT1RBTCwgMCk7CisJCXBnc3RhdF9wcm9ncmVzc191cGRhdGVfcGFyYW0o UFJPR1JFU1NfVkFDVVVNX0lOREVYX0NPTVBMRVRFRCwgMCk7CiAKIAkJZXJlcG9ydChXQVJOSU5H LAogCQkJCShlcnJtc2coImJ5cGFzc2luZyBub25lc3NlbnRpYWwgbWFpbnRlbmFuY2Ugb2YgdGFi bGUgXCIlcy4lcy4lc1wiIGFzIGEgZmFpbHNhZmUgYWZ0ZXIgJWQgaW5kZXggc2NhbnMiLApAQCAt MjY4NCw2ICsyNzA4LDEyIEBAIGxhenlfY2xlYW51cF9hbGxfaW5kZXhlcyhMVlJlbFN0YXRlICp2 YWNyZWwpCiAJCQl2YWNyZWwtPmluZHN0YXRzW2lkeF0gPQogCQkJCWxhenlfY2xlYW51cF9vbmVf aW5kZXgoaW5kcmVsLCBpc3RhdCwgcmVsdHVwbGVzLAogCQkJCQkJCQkJICAgZXN0aW1hdGVkX2Nv dW50LCB2YWNyZWwpOworCisJCQkvKgorCQkJICogRG9uZSBjbGVhbmluZyBhbiBpbmRleC4gSW5j cmVtZW50IHRoZSBpbmRleGVzIGNvbXBsZXRlZAorCQkJICovCisJCQlwZ3N0YXRfcHJvZ3Jlc3Nf dXBkYXRlX3BhcmFtKFBST0dSRVNTX1ZBQ1VVTV9JTkRFWF9DT01QTEVURUQsCisJCQkJCQkJCQkJ IGlkeCArIDEpOwogCQl9CiAJfQogCWVsc2UKQEAgLTI2OTMsNiArMjcyMywxMiBAQCBsYXp5X2Ns ZWFudXBfYWxsX2luZGV4ZXMoTFZSZWxTdGF0ZSAqdmFjcmVsKQogCQkJCQkJCQkJCQl2YWNyZWwt Pm51bV9pbmRleF9zY2FucywKIAkJCQkJCQkJCQkJZXN0aW1hdGVkX2NvdW50KTsKIAl9CisKKwkv KgorCSAqIFJlc2V0IHRoZSBpbmRleGVzIGNvbXBsZXRlZCBhdCB0aGlzIHBvaW50LgorCSAqLwor CXBnc3RhdF9wcm9ncmVzc191cGRhdGVfcGFyYW0oUFJPR1JFU1NfVkFDVVVNX0lOREVYX0NPTVBM RVRFRCwgMCk7CisKIH0KIAogLyoKQEAgLTI3MTgsNiArMjc1NCw3IEBAIGxhenlfdmFjdXVtX29u ZV9pbmRleChSZWxhdGlvbiBpbmRyZWwsIEluZGV4QnVsa0RlbGV0ZVJlc3VsdCAqaXN0YXQsCiAJ aXZpbmZvLmluZGV4ID0gaW5kcmVsOwogCWl2aW5mby5hbmFseXplX29ubHkgPSBmYWxzZTsKIAlp dmluZm8ucmVwb3J0X3Byb2dyZXNzID0gZmFsc2U7CisJaXZpbmZvLnJlcG9ydF9wYXJhbGxlbF9w cm9ncmVzcyA9IGZhbHNlOwogCWl2aW5mby5lc3RpbWF0ZWRfY291bnQgPSB0cnVlOwogCWl2aW5m by5tZXNzYWdlX2xldmVsID0gREVCVUcyOwogCWl2aW5mby5udW1faGVhcF90dXBsZXMgPSByZWx0 dXBsZXM7CkBAIC0yNzY2LDYgKzI4MDMsNyBAQCBsYXp5X2NsZWFudXBfb25lX2luZGV4KFJlbGF0 aW9uIGluZHJlbCwgSW5kZXhCdWxrRGVsZXRlUmVzdWx0ICppc3RhdCwKIAlpdmluZm8uaW5kZXgg PSBpbmRyZWw7CiAJaXZpbmZvLmFuYWx5emVfb25seSA9IGZhbHNlOwogCWl2aW5mby5yZXBvcnRf cHJvZ3Jlc3MgPSBmYWxzZTsKKwlpdmluZm8ucmVwb3J0X3BhcmFsbGVsX3Byb2dyZXNzID0gZmFs c2U7CiAJaXZpbmZvLmVzdGltYXRlZF9jb3VudCA9IGVzdGltYXRlZF9jb3VudDsKIAlpdmluZm8u bWVzc2FnZV9sZXZlbCA9IERFQlVHMjsKIApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvYWNjZXNz L25idHJlZS9uYnRyZWUuYyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy9uYnRyZWUvbmJ0cmVlLmMKaW5k ZXggYjUyZWNhOGYzOC4uOTkwNGE5ZWIwYyAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvYWNjZXNz L25idHJlZS9uYnRyZWUuYworKysgYi9zcmMvYmFja2VuZC9hY2Nlc3MvbmJ0cmVlL25idHJlZS5j CkBAIC05OTgsNiArOTk4LDkgQEAgYnR2YWN1dW1zY2FuKEluZGV4VmFjdXVtSW5mbyAqaW5mbywg SW5kZXhCdWxrRGVsZXRlUmVzdWx0ICpzdGF0cywKIAkJCWlmIChpbmZvLT5yZXBvcnRfcHJvZ3Jl c3MpCiAJCQkJcGdzdGF0X3Byb2dyZXNzX3VwZGF0ZV9wYXJhbShQUk9HUkVTU19TQ0FOX0JMT0NL U19ET05FLAogCQkJCQkJCQkJCQkgc2NhbmJsa25vKTsKKworCQkJaWYgKGluZm8tPnJlcG9ydF9w YXJhbGxlbF9wcm9ncmVzcykKKwkJCQlpbmZvLT5wYXJhbGxlbF9wcm9ncmVzc19jYWxsYmFjayhp bmZvLT5wYXJhbGxlbF9wcm9ncmVzc19hcmcpOwogCQl9CiAJfQogCmRpZmYgLS1naXQgYS9zcmMv YmFja2VuZC9hY2Nlc3Mvc3BnaXN0L3NwZ3ZhY3V1bS5jIGIvc3JjL2JhY2tlbmQvYWNjZXNzL3Nw Z2lzdC9zcGd2YWN1dW0uYwppbmRleCAwMDQ5NjMwNTMyLi5iMWFiNDkxOTgwIDEwMDY0NAotLS0g YS9zcmMvYmFja2VuZC9hY2Nlc3Mvc3BnaXN0L3NwZ3ZhY3V1bS5jCisrKyBiL3NyYy9iYWNrZW5k L2FjY2Vzcy9zcGdpc3Qvc3BndmFjdXVtLmMKQEAgLTg0Myw2ICs4NDMsOSBAQCBzcGd2YWN1dW1z Y2FuKHNwZ0J1bGtEZWxldGVTdGF0ZSAqYmRzKQogCQkJLyogZW1wdHkgdGhlIHBlbmRpbmctbGlz dCBhZnRlciBlYWNoIHBhZ2UgKi8KIAkJCWlmIChiZHMtPnBlbmRpbmdMaXN0ICE9IE5VTEwpCiAJ CQkJc3BncHJvY2Vzc3BlbmRpbmcoYmRzKTsKKworCQkJaWYgKGJkcy0+aW5mby0+cmVwb3J0X3Bh cmFsbGVsX3Byb2dyZXNzKQorCQkJCWJkcy0+aW5mby0+cGFyYWxsZWxfcHJvZ3Jlc3NfY2FsbGJh Y2soYmRzLT5pbmZvLT5wYXJhbGxlbF9wcm9ncmVzc19hcmcpOwogCQl9CiAJfQogCmRpZmYgLS1n aXQgYS9zcmMvYmFja2VuZC9hY2Nlc3MvdHJhbnNhbS9wYXJhbGxlbC5jIGIvc3JjL2JhY2tlbmQv YWNjZXNzL3RyYW5zYW0vcGFyYWxsZWwuYwppbmRleCBlZTA5ODVjN2VkLi4wYjRiZGU4Mjk3IDEw MDY0NAotLS0gYS9zcmMvYmFja2VuZC9hY2Nlc3MvdHJhbnNhbS9wYXJhbGxlbC5jCisrKyBiL3Ny Yy9iYWNrZW5kL2FjY2Vzcy90cmFuc2FtL3BhcmFsbGVsLmMKQEAgLTE4NSw2ICsxODUsOCBAQCBD cmVhdGVQYXJhbGxlbENvbnRleHQoY29uc3QgY2hhciAqbGlicmFyeV9uYW1lLCBjb25zdCBjaGFy ICpmdW5jdGlvbl9uYW1lLAogCXBjeHQtPmxpYnJhcnlfbmFtZSA9IHBzdHJkdXAobGlicmFyeV9u YW1lKTsKIAlwY3h0LT5mdW5jdGlvbl9uYW1lID0gcHN0cmR1cChmdW5jdGlvbl9uYW1lKTsKIAlw Y3h0LT5lcnJvcl9jb250ZXh0X3N0YWNrID0gZXJyb3JfY29udGV4dF9zdGFjazsKKwlwY3h0LT5w YXJhbGxlbF9wcm9ncmVzc19jYWxsYmFjayA9IE5VTEw7CisJcGN4dC0+cGFyYWxsZWxfcHJvZ3Jl c3NfYXJnID0gTlVMTDsKIAlzaG1fdG9jX2luaXRpYWxpemVfZXN0aW1hdG9yKCZwY3h0LT5lc3Rp bWF0b3IpOwogCWRsaXN0X3B1c2hfaGVhZCgmcGN4dF9saXN0LCAmcGN4dC0+bm9kZSk7CiAKQEAg LTc4NSw2ICs3ODcsOSBAQCBXYWl0Rm9yUGFyYWxsZWxXb3JrZXJzVG9GaW5pc2goUGFyYWxsZWxD b250ZXh0ICpwY3h0KQogCQkgKi8KIAkJQ0hFQ0tfRk9SX0lOVEVSUlVQVFMoKTsKIAorCQlpZiAo cGN4dC0+cGFyYWxsZWxfcHJvZ3Jlc3NfY2FsbGJhY2spCisJCQlwY3h0LT5wYXJhbGxlbF9wcm9n cmVzc19jYWxsYmFjayhwY3h0LT5wYXJhbGxlbF9wcm9ncmVzc19hcmcpOworCiAJCWZvciAoaSA9 IDA7IGkgPCBwY3h0LT5ud29ya2Vyc19sYXVuY2hlZDsgKytpKQogCQl7CiAJCQkvKgpkaWZmIC0t Z2l0IGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9pbmRleC5jIGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9p bmRleC5jCmluZGV4IDYxZjFkMzkyNmEuLjExYjMyMTI5YTcgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNr ZW5kL2NhdGFsb2cvaW5kZXguYworKysgYi9zcmMvYmFja2VuZC9jYXRhbG9nL2luZGV4LmMKQEAg LTMzNDgsNiArMzM0OCw3IEBAIHZhbGlkYXRlX2luZGV4KE9pZCBoZWFwSWQsIE9pZCBpbmRleElk LCBTbmFwc2hvdCBzbmFwc2hvdCkKIAlpdmluZm8uaW5kZXggPSBpbmRleFJlbGF0aW9uOwogCWl2 aW5mby5hbmFseXplX29ubHkgPSBmYWxzZTsKIAlpdmluZm8ucmVwb3J0X3Byb2dyZXNzID0gdHJ1 ZTsKKwlpdmluZm8ucmVwb3J0X3BhcmFsbGVsX3Byb2dyZXNzID0gZmFsc2U7CiAJaXZpbmZvLmVz dGltYXRlZF9jb3VudCA9IHRydWU7CiAJaXZpbmZvLm1lc3NhZ2VfbGV2ZWwgPSBERUJVRzI7CiAJ aXZpbmZvLm51bV9oZWFwX3R1cGxlcyA9IGhlYXBSZWxhdGlvbi0+cmRfcmVsLT5yZWx0dXBsZXM7 CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jYXRhbG9nL3N5c3RlbV92aWV3cy5zcWwgYi9zcmMv YmFja2VuZC9jYXRhbG9nL3N5c3RlbV92aWV3cy5zcWwKaW5kZXggMmQ4MTA0YjA5MC4uYzM3YjIw YjkxYiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1fdmlld3Muc3FsCisr KyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvc3lzdGVtX3ZpZXdzLnNxbApAQCAtMTE2NSw3ICsxMTY1 LDggQEAgQ1JFQVRFIFZJRVcgcGdfc3RhdF9wcm9ncmVzc192YWN1dW0gQVMKICAgICAgICAgICAg ICAgICAgICAgICBFTkQgQVMgcGhhc2UsCiAgICAgICAgIFMucGFyYW0yIEFTIGhlYXBfYmxrc190 b3RhbCwgUy5wYXJhbTMgQVMgaGVhcF9ibGtzX3NjYW5uZWQsCiAgICAgICAgIFMucGFyYW00IEFT IGhlYXBfYmxrc192YWN1dW1lZCwgUy5wYXJhbTUgQVMgaW5kZXhfdmFjdXVtX2NvdW50LAotICAg ICAgICBTLnBhcmFtNiBBUyBtYXhfZGVhZF90dXBsZXMsIFMucGFyYW03IEFTIG51bV9kZWFkX3R1 cGxlcworICAgICAgICBTLnBhcmFtNiBBUyBtYXhfZGVhZF90dXBsZXMsIFMucGFyYW03IEFTIG51 bV9kZWFkX3R1cGxlcywKKyAgICAgICAgUy5wYXJhbTggQVMgaW5kZXhlc190b3RhbCwgUy5wYXJh bTkgQVMgaW5kZXhlc19jb21wbGV0ZWQKICAgICBGUk9NIHBnX3N0YXRfZ2V0X3Byb2dyZXNzX2lu Zm8oJ1ZBQ1VVTScpIEFTIFMKICAgICAgICAgTEVGVCBKT0lOIHBnX2RhdGFiYXNlIEQgT04gUy5k YXRpZCA9IEQub2lkOwogCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jb21tYW5kcy92YWN1dW1w YXJhbGxlbC5jIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvdmFjdXVtcGFyYWxsZWwuYwppbmRleCBm MjZkNzk2ZTUyLi44NWUyZGU1ZDU0IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jb21tYW5kcy92 YWN1dW1wYXJhbGxlbC5jCisrKyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3ZhY3V1bXBhcmFsbGVs LmMKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlICJhY2Nlc3MvdGFibGUuaCIKICNpbmNsdWRl ICJhY2Nlc3MveGFjdC5oIgogI2luY2x1ZGUgImNhdGFsb2cvaW5kZXguaCIKKyNpbmNsdWRlICJj b21tYW5kcy9wcm9ncmVzcy5oIgogI2luY2x1ZGUgImNvbW1hbmRzL3ZhY3V1bS5oIgogI2luY2x1 ZGUgIm9wdGltaXplci9wYXRocy5oIgogI2luY2x1ZGUgInBnc3RhdC5oIgpAQCAtMTAzLDYgKzEw NCwxNyBAQCB0eXBlZGVmIHN0cnVjdCBQVlNoYXJlZAogCiAJLyogQ291bnRlciBmb3IgdmFjdXVt aW5nIGFuZCBjbGVhbnVwICovCiAJcGdfYXRvbWljX3VpbnQzMiBpZHg7CisKKwkvKgorCSAqIENv dW50ZXIgZm9yIHZhY3V1bWluZyBhbmQgY2xlYW51cCBwcm9ncmVzcyByZXBvcnRpbmcuCisJICog VGhpcyB2YWx1ZSBpcyB1c2VkIHRvIHJlcG9ydCBpbmRleCB2YWN1dW0vY2xlYW51cCBwcm9ncmVz cworCSAqIGluIHBhcmFsbGVsX3ZhY3V1bV9wcm9ncmVzc19yZXBvcnQuIFdlIGtlZXAgdGhpcwor CSAqIGNvdW50ZXIgdG8gYXZvaWQgaGF2aW5nIHRvIGxvb3AgdGhyb3VnaAorCSAqIFBhcmFsbGVs VmFjdXVtU3RhdGUtPmluZHN0YXRzIHRvIGRldGVybWluZSB0aGUgbnVtYmVyCisJICogb2YgaW5k ZXhlcyBjb21wbGV0ZWQuCisJICovCisJcGdfYXRvbWljX3VpbnQzMiBpZHhfY29tcGxldGVkX3By b2dyZXNzOworCiB9IFBWU2hhcmVkOwogCiAvKiBTdGF0dXMgdXNlZCBkdXJpbmcgcGFyYWxsZWwg aW5kZXggdmFjdXVtIG9yIGNsZWFudXAgKi8KQEAgLTI3Myw2ICsyODUsOSBAQCBwYXJhbGxlbF92 YWN1dW1faW5pdChSZWxhdGlvbiByZWwsIFJlbGF0aW9uICppbmRyZWxzLCBpbnQgbmluZGV4ZXMs CiAJQXNzZXJ0KHBjeHQtPm53b3JrZXJzID4gMCk7CiAJcHZzLT5wY3h0ID0gcGN4dDsKIAorCXB2 cy0+cGN4dC0+cGFyYWxsZWxfcHJvZ3Jlc3NfY2FsbGJhY2sgPSBwYXJhbGxlbF92YWN1dW1fcHJv Z3Jlc3NfcmVwb3J0OworCXB2cy0+cGN4dC0+cGFyYWxsZWxfcHJvZ3Jlc3NfYXJnID0gcHZzOwor CiAJLyogRXN0aW1hdGUgc2l6ZSBmb3IgaW5kZXggdmFjdXVtIHN0YXRzIC0tIFBBUkFMTEVMX1ZB Q1VVTV9LRVlfSU5ERVhfU1RBVFMgKi8KIAllc3RfaW5kc3RhdHNfbGVuID0gbXVsX3NpemUoc2l6 ZW9mKFBWSW5kU3RhdHMpLCBuaW5kZXhlcyk7CiAJc2htX3RvY19lc3RpbWF0ZV9jaHVuaygmcGN4 dC0+ZXN0aW1hdG9yLCBlc3RfaW5kc3RhdHNfbGVuKTsKQEAgLTM2NCw2ICszNzksNyBAQCBwYXJh bGxlbF92YWN1dW1faW5pdChSZWxhdGlvbiByZWwsIFJlbGF0aW9uICppbmRyZWxzLCBpbnQgbmlu ZGV4ZXMsCiAJcGdfYXRvbWljX2luaXRfdTMyKCYoc2hhcmVkLT5jb3N0X2JhbGFuY2UpLCAwKTsK IAlwZ19hdG9taWNfaW5pdF91MzIoJihzaGFyZWQtPmFjdGl2ZV9ud29ya2VycyksIDApOwogCXBn X2F0b21pY19pbml0X3UzMigmKHNoYXJlZC0+aWR4KSwgMCk7CisJcGdfYXRvbWljX2luaXRfdTMy KCYoc2hhcmVkLT5pZHhfY29tcGxldGVkX3Byb2dyZXNzKSwgMCk7CiAKIAlzaG1fdG9jX2luc2Vy dChwY3h0LT50b2MsIFBBUkFMTEVMX1ZBQ1VVTV9LRVlfU0hBUkVELCBzaGFyZWQpOwogCXB2cy0+ c2hhcmVkID0gc2hhcmVkOwpAQCAtNjE4LDggKzYzNCw5IEBAIHBhcmFsbGVsX3ZhY3V1bV9wcm9j ZXNzX2FsbF9pbmRleGVzKFBhcmFsbGVsVmFjdXVtU3RhdGUgKnB2cywgaW50IG51bV9pbmRleF9z Y2FuCiAJCQkJCQkJCQkJCQkJdmFjdXVtKSk7CiAJfQogCi0JLyogUmVzZXQgdGhlIHBhcmFsbGVs IGluZGV4IHByb2Nlc3NpbmcgY291bnRlciAqLworCS8qIFJlc2V0IHRoZSBwYXJhbGxlbCBpbmRl eCBwcm9jZXNzaW5nIGNvdW50ZXIgKCBpbmRleCBwcm9ncmVzcyBjb3VudGVyIGFsc28gKSAqLwog CXBnX2F0b21pY193cml0ZV91MzIoJihwdnMtPnNoYXJlZC0+aWR4KSwgMCk7CisJcGdfYXRvbWlj X3dyaXRlX3UzMigmKHB2cy0+c2hhcmVkLT5pZHhfY29tcGxldGVkX3Byb2dyZXNzKSwgMCk7CiAK IAkvKiBTZXR1cCB0aGUgc2hhcmVkIGNvc3QtYmFzZWQgdmFjdXVtIGRlbGF5IGFuZCBsYXVuY2gg d29ya2VycyAqLwogCWlmIChud29ya2VycyA+IDApCkBAIC04MzQsMTAgKzg1MSwxMyBAQCBwYXJh bGxlbF92YWN1dW1fcHJvY2Vzc19vbmVfaW5kZXgoUGFyYWxsZWxWYWN1dW1TdGF0ZSAqcHZzLCBS ZWxhdGlvbiBpbmRyZWwsCiAJaXZpbmZvLmluZGV4ID0gaW5kcmVsOwogCWl2aW5mby5hbmFseXpl X29ubHkgPSBmYWxzZTsKIAlpdmluZm8ucmVwb3J0X3Byb2dyZXNzID0gZmFsc2U7CisJaXZpbmZv LnJlcG9ydF9wYXJhbGxlbF9wcm9ncmVzcyA9IHRydWU7CiAJaXZpbmZvLm1lc3NhZ2VfbGV2ZWwg PSBERUJVRzI7CiAJaXZpbmZvLmVzdGltYXRlZF9jb3VudCA9IHB2cy0+c2hhcmVkLT5lc3RpbWF0 ZWRfY291bnQ7CiAJaXZpbmZvLm51bV9oZWFwX3R1cGxlcyA9IHB2cy0+c2hhcmVkLT5yZWx0dXBs ZXM7CiAJaXZpbmZvLnN0cmF0ZWd5ID0gcHZzLT5ic3RyYXRlZ3k7CisJaXZpbmZvLnBhcmFsbGVs X3Byb2dyZXNzX2NhbGxiYWNrID0gcGFyYWxsZWxfdmFjdXVtX3Byb2dyZXNzX3JlcG9ydDsKKwlp dmluZm8ucGFyYWxsZWxfcHJvZ3Jlc3NfYXJnID0gcHZzOwogCiAJLyogVXBkYXRlIGVycm9yIHRy YWNlYmFjayBpbmZvcm1hdGlvbiAqLwogCXB2cy0+aW5kbmFtZSA9IHBzdHJkdXAoUmVsYXRpb25H ZXRSZWxhdGlvbk5hbWUoaW5kcmVsKSk7CkBAIC04NDYsOSArODY2LDExIEBAIHBhcmFsbGVsX3Zh Y3V1bV9wcm9jZXNzX29uZV9pbmRleChQYXJhbGxlbFZhY3V1bVN0YXRlICpwdnMsIFJlbGF0aW9u IGluZHJlbCwKIAlzd2l0Y2ggKGluZHN0YXRzLT5zdGF0dXMpCiAJewogCQljYXNlIFBBUkFMTEVM X0lORFZBQ19TVEFUVVNfTkVFRF9CVUxLREVMRVRFOgorCQkJcGdzdGF0X3Byb2dyZXNzX3VwZGF0 ZV9wYXJhbShQUk9HUkVTU19WQUNVVU1fUEhBU0UsIFBST0dSRVNTX1ZBQ1VVTV9QSEFTRV9WQUNV VU1fSU5ERVgpOwogCQkJaXN0YXRfcmVzID0gdmFjX2J1bGtkZWxfb25lX2luZGV4KCZpdmluZm8s IGlzdGF0LCBwdnMtPmRlYWRfaXRlbXMpOwogCQkJYnJlYWs7CiAJCWNhc2UgUEFSQUxMRUxfSU5E VkFDX1NUQVRVU19ORUVEX0NMRUFOVVA6CisJCQlwZ3N0YXRfcHJvZ3Jlc3NfdXBkYXRlX3BhcmFt KFBST0dSRVNTX1ZBQ1VVTV9QSEFTRSwgUFJPR1JFU1NfVkFDVVVNX1BIQVNFX0lOREVYX0NMRUFO VVApOwogCQkJaXN0YXRfcmVzID0gdmFjX2NsZWFudXBfb25lX2luZGV4KCZpdmluZm8sIGlzdGF0 KTsKIAkJCWJyZWFrOwogCQlkZWZhdWx0OgpAQCAtODg4LDYgKzkxMCwxMSBAQCBwYXJhbGxlbF92 YWN1dW1fcHJvY2Vzc19vbmVfaW5kZXgoUGFyYWxsZWxWYWN1dW1TdGF0ZSAqcHZzLCBSZWxhdGlv biBpbmRyZWwsCiAJcHZzLT5zdGF0dXMgPSBQQVJBTExFTF9JTkRWQUNfU1RBVFVTX0NPTVBMRVRF RDsKIAlwZnJlZShwdnMtPmluZG5hbWUpOwogCXB2cy0+aW5kbmFtZSA9IE5VTEw7CisKKwkvKgor CSAqIFVwZGF0ZSB0aGUgbnVtYmVyIG9mIGluZGV4ZXMgY29tcGxldGVkLgorCSAqLworCXBnX2F0 b21pY19hZGRfZmV0Y2hfdTMyKCYocHZzLT5zaGFyZWQtPmlkeF9jb21wbGV0ZWRfcHJvZ3Jlc3Mp LCAxKTsKIH0KIAogLyoKQEAgLTEwNzIsMyArMTA5OSwzNyBAQCBwYXJhbGxlbF92YWN1dW1fZXJy b3JfY2FsbGJhY2sodm9pZCAqYXJnKQogCQkJcmV0dXJuOwogCX0KIH0KKworLyoKKyAqIFJlYWQg dGhlIG51bWJlciBvZiBpbmRleGVzIHZhY3V1bWVkIGZyb20gdGhlIHNoYXJlZCBjb3VudGVyCisg KiBhbmQgcmVwb3J0IGl0IHRvIHByb2dyZXNzLmgKKyAqCisgKiBUaGlzIGZ1bmN0aW9uIGlzIG9u bHkgY2FsbGVkIGJ5IHRoZSBsZWFkZXIgcHJvY2VzcyBvZgorICogYSBwYXJhbGxlbCB2YWN1dW0u CisgKgorICogSWYgcmVwb3J0X3BhcmFsbGVsX3Byb2dyZXNzIGlzIHNldCB0byB0cnVlLAorICog dGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgZnJvbSBtYWpvciBsb29wcyBpbnNpZGUgdGhlCisgKiBh bWJ1bGtkZWxldGUgYW5kIGFtdmFjdXVtY2xlYW51cC4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIGlz IGFsc28gY2FsbGVkIGluc2lkZSBXYWl0Rm9yUGFyYWxsZWxXb3JrZXJzVG9GaW5pc2gKKyAqIHdo ZW4gcmVwb3J0X3BhcmFsbGVsX3Byb2dyZXNzIGlzIHNldCB0byB0cnVlLgorICoKKyAqIFRoZSBy ZWFzb24gZm9yIGNhbGxpbmcgdGhpcyBmdW5jdGlvbiBpbiBib3RoIHZhY3V1bSBBTSdzCisgKiBh bmQgV2FpdEZvclBhcmFsbGVsV29ya2Vyc1RvRmluaXNoIGlzIHRvIGVuc3VyZSB0aGF0CisgKiBw YXJhbGxlbCB2YWN1dW0gcHJvZ3Jlc3MgaXMgY29uc3RhbnRseSBiZWluZyByZXBvcnRlZAorICog aWYgdGhlIGxlYWRlciBwcm9jZXNzIGlzIGVpdGhlciB3YWl0aW5nIGZvciBwYXJhbGxlbAorICog cHJvY2VzZXMgdG8gZmluaXNoIChXYWl0Rm9yUGFyYWxsZWxXb3JrZXJzVG9GaW5pc2gpIG9yCisg KiB0aGUgbGVhZGVyIHByb2Nlc3MgaXMgdGhlIGxhc3QgdG8gZmluaXNoIGFuZCBzdGlsbAorICog aW5zaWRlIHRoZSB2YWN1dW0gQU0ncy4KKyAqLwordm9pZAorcGFyYWxsZWxfdmFjdXVtX3Byb2dy ZXNzX3JlcG9ydCh2b2lkICphcmcpCit7CisJUGFyYWxsZWxWYWN1dW1TdGF0ZSAqcHZzID0gKFBh cmFsbGVsVmFjdXVtU3RhdGUgKikgYXJnOworCisJaWYgKElzUGFyYWxsZWxXb3JrZXIoKSkKKwkJ cmV0dXJuOworCisJcGdzdGF0X3Byb2dyZXNzX3VwZGF0ZV9wYXJhbShQUk9HUkVTU19WQUNVVU1f SU5ERVhfQ09NUExFVEVELAorCQkJCQkJCQkgcGdfYXRvbWljX3JlYWRfdTMyKCYocHZzLT5zaGFy ZWQtPmlkeF9jb21wbGV0ZWRfcHJvZ3Jlc3MpKSk7Cit9CmRpZmYgLS1naXQgYS9zcmMvaW5jbHVk ZS9hY2Nlc3MvZ2VuYW0uaCBiL3NyYy9pbmNsdWRlL2FjY2Vzcy9nZW5hbS5oCmluZGV4IGUxYzRm ZGJkMDMuLjZkNWZjMTg5ZjQgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL2FjY2Vzcy9nZW5hbS5o CisrKyBiL3NyYy9pbmNsdWRlL2FjY2Vzcy9nZW5hbS5oCkBAIC00NiwxMCArNDYsMTMgQEAgdHlw ZWRlZiBzdHJ1Y3QgSW5kZXhWYWN1dW1JbmZvCiAJUmVsYXRpb24JaW5kZXg7CQkJLyogdGhlIGlu ZGV4IGJlaW5nIHZhY3V1bWVkICovCiAJYm9vbAkJYW5hbHl6ZV9vbmx5OwkvKiBBTkFMWVpFICh3 aXRob3V0IGFueSBhY3R1YWwgdmFjdXVtKSAqLwogCWJvb2wJCXJlcG9ydF9wcm9ncmVzczsJLyog ZW1pdCBwcm9ncmVzcy5oIHN0YXR1cyByZXBvcnRzICovCisJYm9vbAkJcmVwb3J0X3BhcmFsbGVs X3Byb2dyZXNzOwkvKiBlbWl0IHByb2dyZXNzLmggc3RhdHVzIHJlcG9ydHMgZm9yIHBhcmFsbGVs IHZhY3V1bSAqLwogCWJvb2wJCWVzdGltYXRlZF9jb3VudDsJLyogbnVtX2hlYXBfdHVwbGVzIGlz IGFuIGVzdGltYXRlICovCiAJaW50CQkJbWVzc2FnZV9sZXZlbDsJLyogZXJlcG9ydCBsZXZlbCBm b3IgcHJvZ3Jlc3MgbWVzc2FnZXMgKi8KIAlkb3VibGUJCW51bV9oZWFwX3R1cGxlczsJLyogdHVw bGVzIHJlbWFpbmluZyBpbiBoZWFwICovCiAJQnVmZmVyQWNjZXNzU3RyYXRlZ3kgc3RyYXRlZ3k7 CS8qIGFjY2VzcyBzdHJhdGVneSBmb3IgcmVhZHMgKi8KKwl2b2lkICAgICAgICgqcGFyYWxsZWxf cHJvZ3Jlc3NfY2FsbGJhY2spKHZvaWQgKmFyZyk7CisJdm9pZCAgICAgICAqcGFyYWxsZWxfcHJv Z3Jlc3NfYXJnOwogfSBJbmRleFZhY3V1bUluZm87CiAKIC8qCmRpZmYgLS1naXQgYS9zcmMvaW5j bHVkZS9hY2Nlc3MvaGFzaC5oIGIvc3JjL2luY2x1ZGUvYWNjZXNzL2hhc2guaAppbmRleCBkYTM3 Mjg0MWM0Li4xNGZiNzVhNGFkIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9hY2Nlc3MvaGFzaC5o CisrKyBiL3NyYy9pbmNsdWRlL2FjY2Vzcy9oYXNoLmgKQEAgLTQ4MCw2ICs0ODAsNyBAQCBleHRl cm4gdm9pZCBoYXNoYnVja2V0Y2xlYW51cChSZWxhdGlvbiByZWwsIEJ1Y2tldCBjdXJfYnVja2V0 LAogCQkJCQkJCSAgdWludDMyIG1heGJ1Y2tldCwgdWludDMyIGhpZ2htYXNrLCB1aW50MzIgbG93 bWFzaywKIAkJCQkJCQkgIGRvdWJsZSAqdHVwbGVzX3JlbW92ZWQsIGRvdWJsZSAqbnVtX2luZGV4 X3R1cGxlcywKIAkJCQkJCQkgIGJvb2wgc3BsaXRfY2xlYW51cCwKLQkJCQkJCQkgIEluZGV4QnVs a0RlbGV0ZUNhbGxiYWNrIGNhbGxiYWNrLCB2b2lkICpjYWxsYmFja19zdGF0ZSk7CisJCQkJCQkJ ICBJbmRleEJ1bGtEZWxldGVDYWxsYmFjayBjYWxsYmFjaywgdm9pZCAqY2FsbGJhY2tfc3RhdGUs CisJCQkJCQkJICBJbmRleFZhY3V1bUluZm8gKmluZm8pOwogCiAjZW5kaWYJCQkJCQkJLyogSEFT SF9IICovCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9hY2Nlc3MvcGFyYWxsZWwuaCBiL3NyYy9p bmNsdWRlL2FjY2Vzcy9wYXJhbGxlbC5oCmluZGV4IDFlYzhlMzNhZjQuLjc3ZTljMGE1MTcgMTAw NjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL2FjY2Vzcy9wYXJhbGxlbC5oCisrKyBiL3NyYy9pbmNsdWRl L2FjY2Vzcy9wYXJhbGxlbC5oCkBAIC00Niw2ICs0Niw4IEBAIHR5cGVkZWYgc3RydWN0IFBhcmFs bGVsQ29udGV4dAogCVBhcmFsbGVsV29ya2VySW5mbyAqd29ya2VyOwogCWludAkJCW5rbm93bl9h dHRhY2hlZF93b3JrZXJzOwogCWJvb2wJICAgKmtub3duX2F0dGFjaGVkX3dvcmtlcnM7CisJdm9p ZCAgICAgICAoKnBhcmFsbGVsX3Byb2dyZXNzX2NhbGxiYWNrKSh2b2lkICphcmcpOworCXZvaWQg ICAgICAgKnBhcmFsbGVsX3Byb2dyZXNzX2FyZzsKIH0gUGFyYWxsZWxDb250ZXh0OwogCiB0eXBl ZGVmIHN0cnVjdCBQYXJhbGxlbFdvcmtlckNvbnRleHQKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRl L2NvbW1hbmRzL3Byb2dyZXNzLmggYi9zcmMvaW5jbHVkZS9jb21tYW5kcy9wcm9ncmVzcy5oCmlu ZGV4IGEyODkzOGNhZjQuLjBlOTdjNmQ0ZWYgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL2NvbW1h bmRzL3Byb2dyZXNzLmgKKysrIGIvc3JjL2luY2x1ZGUvY29tbWFuZHMvcHJvZ3Jlc3MuaApAQCAt MjUsNiArMjUsOCBAQAogI2RlZmluZSBQUk9HUkVTU19WQUNVVU1fTlVNX0lOREVYX1ZBQ1VVTVMJ CTQKICNkZWZpbmUgUFJPR1JFU1NfVkFDVVVNX01BWF9ERUFEX1RVUExFUwkJCTUKICNkZWZpbmUg UFJPR1JFU1NfVkFDVVVNX05VTV9ERUFEX1RVUExFUwkJCTYKKyNkZWZpbmUgUFJPR1JFU1NfVkFD VVVNX0lOREVYX1RPVEFMICAgICAgICAgICAgIDcKKyNkZWZpbmUgUFJPR1JFU1NfVkFDVVVNX0lO REVYX0NPTVBMRVRFRCAgICAgICAgIDgKIAogLyogUGhhc2VzIG9mIHZhY3V1bSAoYXMgYWR2ZXJ0 aXNlZCB2aWEgUFJPR1JFU1NfVkFDVVVNX1BIQVNFKSAqLwogI2RlZmluZSBQUk9HUkVTU19WQUNV VU1fUEhBU0VfU0NBTl9IRUFQCQkJMQpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvY29tbWFuZHMv dmFjdXVtLmggYi9zcmMvaW5jbHVkZS9jb21tYW5kcy92YWN1dW0uaAppbmRleCA1ZDgxNmJhN2Y0 Li45NTEwZDAyOGQzIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9jb21tYW5kcy92YWN1dW0uaAor KysgYi9zcmMvaW5jbHVkZS9jb21tYW5kcy92YWN1dW0uaApAQCAtMzM4LDQgKzMzOCw2IEBAIGV4 dGVybiBkb3VibGUgYW5sX3JhbmRvbV9mcmFjdCh2b2lkKTsKIGV4dGVybiBkb3VibGUgYW5sX2lu aXRfc2VsZWN0aW9uX3N0YXRlKGludCBuKTsKIGV4dGVybiBkb3VibGUgYW5sX2dldF9uZXh0X1Mo ZG91YmxlIHQsIGludCBuLCBkb3VibGUgKnN0YXRlcHRyKTsKIAorZXh0ZXJuIHZvaWQgcGFyYWxs ZWxfdmFjdXVtX3Byb2dyZXNzX3JlcG9ydCh2b2lkICphcmcpOworCiAjZW5kaWYJCQkJCQkJLyog VkFDVVVNX0ggKi8KZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcnVsZXMu b3V0IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9ydWxlcy5vdXQKaW5kZXggNjI0ZDBlNWFh ZS4uZTBiZjgxMjQ3ZiAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9ydWxl cy5vdXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9ydWxlcy5vdXQKQEAgLTIwMTgs NyArMjAxOCw5IEBAIHBnX3N0YXRfcHJvZ3Jlc3NfdmFjdXVtfCBTRUxFQ1Qgcy5waWQsCiAgICAg cy5wYXJhbTQgQVMgaGVhcF9ibGtzX3ZhY3V1bWVkLAogICAgIHMucGFyYW01IEFTIGluZGV4X3Zh Y3V1bV9jb3VudCwKICAgICBzLnBhcmFtNiBBUyBtYXhfZGVhZF90dXBsZXMsCi0gICAgcy5wYXJh bTcgQVMgbnVtX2RlYWRfdHVwbGVzCisgICAgcy5wYXJhbTcgQVMgbnVtX2RlYWRfdHVwbGVzLAor ICAgIHMucGFyYW04IEFTIGluZGV4ZXNfdG90YWwsCisgICAgcy5wYXJhbTkgQVMgaW5kZXhlc19j b21wbGV0ZWQKICAgIEZST00gKHBnX3N0YXRfZ2V0X3Byb2dyZXNzX2luZm8oJ1ZBQ1VVTSc6OnRl eHQpIHMocGlkLCBkYXRpZCwgcmVsaWQsIHBhcmFtMSwgcGFyYW0yLCBwYXJhbTMsIHBhcmFtNCwg cGFyYW01LCBwYXJhbTYsIHBhcmFtNywgcGFyYW04LCBwYXJhbTksIHBhcmFtMTAsIHBhcmFtMTEs IHBhcmFtMTIsIHBhcmFtMTMsIHBhcmFtMTQsIHBhcmFtMTUsIHBhcmFtMTYsIHBhcmFtMTcsIHBh cmFtMTgsIHBhcmFtMTksIHBhcmFtMjApCiAgICAgIExFRlQgSk9JTiBwZ19kYXRhYmFzZSBkIE9O ICgocy5kYXRpZCA9IGQub2lkKSkpOwogcGdfc3RhdF9yZWNvdmVyeV9wcmVmZXRjaHwgU0VMRUNU IHMuc3RhdHNfcmVzZXQsCi0tIAoyLjMyLjEgKEFwcGxlIEdpdC0xMzMpCgo= --_003_AC87124BABCA4C268E0836DCB5485419amazoncom_--