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 1nCuCg-0005TR-4c for pgsql-hackers@arkaria.postgresql.org; Thu, 27 Jan 2022 02:08:02 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1nCuCe-0001IG-TX for pgsql-hackers@arkaria.postgresql.org; Thu, 27 Jan 2022 02:08:00 +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 1nCuCe-0001I6-Cy for pgsql-hackers@lists.postgresql.org; Thu, 27 Jan 2022 02:08:00 +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 1nCuCa-00082p-05 for pgsql-hackers@postgresql.org; Thu, 27 Jan 2022 02:08:00 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amazon.com; i=@amazon.com; q=dns/txt; s=amazon201209; t=1643249276; x=1674785276; h=from:to:cc:date:message-id:references:in-reply-to: mime-version:subject; bh=KwVPdR4aNi11LMp9UBKMFDVmqAyu569+0HAtSIoKxI4=; b=pMYKRFbhEeJx+P7t+GUGBDQP6hRJadiqiQUDK43nh+qeS0k/0+hNkT3Z 687nZ3KVwaax+9uLHuD+ADfonESsvKdABjZnpCIpMBF+uB43bxVn5TFBK lPqxlXIkwu5WKuRl4IAMkCsXh5kYYYM3drtXyO0r0cowUVBcxgsJWcX0l Q=; X-Amazon-filename: monitoring.html, 0004-Expose-progress-for-the-vacuuming-indexes-cleanup-ph.patch X-IronPort-AV: E=Sophos;i="5.88,319,1635206400"; d="html'217?scan'217,208,217,223";a="172023714" 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-vlan2.amazon.com (HELO email-inbound-relay-iad-1a-c92fe759.us-east-1.amazon.com) ([10.43.8.2]) by smtp-border-fw-6002.iad6.amazon.com with ESMTP; 27 Jan 2022 02:07:54 +0000 Received: from EX13MTAUWB001.ant.amazon.com (iad12-ws-svc-p26-lb9-vlan2.iad.amazon.com [10.40.163.34]) by email-inbound-relay-iad-1a-c92fe759.us-east-1.amazon.com (Postfix) with ESMTPS id B128AC0859; Thu, 27 Jan 2022 02:07:52 +0000 (UTC) Received: from EX13D03UWC004.ant.amazon.com (10.43.162.49) by EX13MTAUWB001.ant.amazon.com (10.43.161.207) with Microsoft SMTP Server (TLS) id 15.0.1497.28; Thu, 27 Jan 2022 02:07:52 +0000 Received: from EX13D13UWB003.ant.amazon.com (10.43.161.233) by EX13D03UWC004.ant.amazon.com (10.43.162.49) with Microsoft SMTP Server (TLS) id 15.0.1497.28; Thu, 27 Jan 2022 02:07:51 +0000 Received: from EX13D13UWB003.ant.amazon.com ([10.43.161.233]) by EX13D13UWB003.ant.amazon.com ([10.43.161.233]) with mapi id 15.00.1497.028; Thu, 27 Jan 2022 02:07:51 +0000 From: "Imseih (AWS), Sami" To: "Bossart, Nathan" , Masahiko Sawada CC: Justin Pryzby , Peter Geoghegan , "pgsql-hackers@postgresql.org" Thread-Index: AQHX5uocuLg5vK9yXkugZYU7JVvUD6wzrQ+AgAgmSICABBF2gIAG6AwAgAKncACAAHdDgIAB+R4AgApC9gCAAH6XgIAFpgqAgACO0YCAAmeYgIAAPoWAgACuc4CAFeNTAA== Date: Thu, 27 Jan 2022 02:07:51 +0000 Message-ID: <96387867-CBAF-4CCF-861E-2F4ACBCBBD68@amazon.com> References: <5478DFCD-2333-401A-B2F0-0D186AB09228@amazon.com> <7874FB21-FAA5-49BD-8386-2866552656C7@amazon.com> <7F1C93C1-C50E-497A-86C5-B637EA4D9F79@amazon.com> <04D9F80C-1A7C-4C23-9156-6799D974DC72@amazon.com> <20211229175121.GP24477@telsasoft.com> <39E8ED08-56E6-4466-93BF-3FD3D51EE52C@amazon.com> <5883EFA0-1AFF-46C3-A8A7-0DA63640482F@amazon.com> <6D2C60C2-C09E-4117-A6B8-DCA7A0F5B182@amazon.com> <22C9CB0C-9576-47AF-8A6E-F9573F73CD4E@amazon.com> <6753CC4A-D1D8-477D-9B82-CFE12169DFF5@amazon.com> <7A4B3BA8-0768-4463-9B25-25DBECF56B25@amazon.com> In-Reply-To: <7A4B3BA8-0768-4463-9B25-25DBECF56B25@amazon.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: x-ms-exchange-messagesentrepresentingtype: 1 x-ms-exchange-transport-fromentityheader: Hosted x-originating-ip: [10.43.161.224] Content-Type: multipart/mixed; boundary="_003_96387867CBAF4CCF861E2F4ACBCBBD68amazoncom_" MIME-Version: 1.0 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --_003_96387867CBAF4CCF861E2F4ACBCBBD68amazoncom_ Content-Type: text/plain; charset="utf-8" Content-ID: <0AEB067AC235E24E9767A912F366EFA3@amazon.com> Content-Transfer-Encoding: base64 QXR0YWNoZWQgaXMgdGhlIGxhdGVzdCBwYXRjaCBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9u Lg0KDQpUaGlzIHZlcnNpb24gYWRkcmVzc2VzIHRoZSBpbmRleF9vcmRpbmFsX3Bvc2l0aW9uIGNv bHVtbiBjb25mdXNpb24uIFJhdGhlciB0aGFuIGRpc3BsYXlpbmcgdGhlIGluZGV4IHBvc2l0aW9u LCB0aGUgcGdfc3RhdF9wcm9ncmVzc192YWN1dW0gdmlldyBub3cgaGFzIDIgbmV3IGNvbHVtbihz KToNCmluZGV4X3RvdGFsIC0gdGhpcyBjb2x1bW4gd2lsbCBzaG93IHRoZSB0b3RhbCBudW1iZXIg b2YgaW5kZXhlcyB0byBiZSB2YWN1dW1lZA0KaW5kZXhfY29tcGxldGVfY291bnQgLSB0aGlzIGNv bHVtbiB3aWxsIHNob3cgdGhlIHRvdGFsIG51bWJlciBvZiBpbmRleGVzIHByb2Nlc3NlZCBzbyBm YXIuIEluIG9yZGVyIHRvIGRlYWwgd2l0aCB0aGUgcGFyYWxsZWwgdmFjdXVtcywgdGhlIHBhcmFs bGVsX3dvcmtlcnMgKCBwbGFubmVkIHdvcmtlcnMgKSB2YWx1ZSBoYWQgdG8gYmUgZXhwb3NlZCBh bmQgZWFjaCBiYWNrZW5kcyBwZXJmb3JtaW5nIGFuIGluZGV4IHZhY3V1bS9jbGVhbnVwIGluIHBh cmFsbGVsIGhhZCB0byBhZHZlcnRpc2UgdGhlIG51bWJlciBvZiBpbmRleGVzIGl0IHZhY3V1bWVk L2NsZWFuZWQuIFRoZSAjIG9mIGluZGV4ZXMgdmFjdXVtZWQgZm9yIHRoZSBwYXJhbGxlbCBjbGVh bnVwIGNhbiB0aGVuIGJlIGRlcml2ZWQgdGhlIHBnX3N0YXRfcHJvZ3Jlc3NfdmFjdXVtIHZpZXcu IA0KDQpwb3N0Z3Jlcz0jIFxkIHBnX3N0YXRfcHJvZ3Jlc3NfdmFjdXVtDQogICAgICAgICAgICBW aWV3ICJwZ19jYXRhbG9nLnBnX3N0YXRfcHJvZ3Jlc3NfdmFjdXVtIg0KICAgICAgICBDb2x1bW4g ICAgICAgIHwgIFR5cGUgICB8IENvbGxhdGlvbiB8IE51bGxhYmxlIHwgRGVmYXVsdA0KLS0tLS0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0t LS0NCiBwaWQgICAgICAgICAgICAgICAgICB8IGludGVnZXIgfCAgICAgICAgICAgfCAgICAgICAg ICB8DQogZGF0aWQgICAgICAgICAgICAgICAgfCBvaWQgICAgIHwgICAgICAgICAgIHwgICAgICAg ICAgfA0KIGRhdG5hbWUgICAgICAgICAgICAgIHwgbmFtZSAgICB8ICAgICAgICAgICB8ICAgICAg ICAgIHwNCiByZWxpZCAgICAgICAgICAgICAgICB8IG9pZCAgICAgfCAgICAgICAgICAgfCAgICAg ICAgICB8DQogcGhhc2UgICAgICAgICAgICAgICAgfCB0ZXh0ICAgIHwgICAgICAgICAgIHwgICAg ICAgICAgfA0KIGhlYXBfYmxrc190b3RhbCAgICAgIHwgYmlnaW50ICB8ICAgICAgICAgICB8ICAg ICAgICAgIHwNCiBoZWFwX2Jsa3Nfc2Nhbm5lZCAgICB8IGJpZ2ludCAgfCAgICAgICAgICAgfCAg ICAgICAgICB8DQogaGVhcF9ibGtzX3ZhY3V1bWVkICAgfCBiaWdpbnQgIHwgICAgICAgICAgIHwg ICAgICAgICAgfA0KIGluZGV4X3ZhY3V1bV9jb3VudCAgIHwgYmlnaW50ICB8ICAgICAgICAgICB8 ICAgICAgICAgIHwNCiBtYXhfZGVhZF90dXBsZXMgICAgICB8IGJpZ2ludCAgfCAgICAgICAgICAg fCAgICAgICAgICB8DQogbnVtX2RlYWRfdHVwbGVzICAgICAgfCBiaWdpbnQgIHwgICAgICAgICAg IHwgICAgICAgICAgfA0KIGluZGV4X3RvdGFsICAgICAgICAgIHwgYmlnaW50ICB8ICAgICAgICAg ICB8ICAgICAgICAgIHwuICAgICAgICAgICAgICAgICAgICAgICAgICAgPDw8LS0tLS0tLS0tLS0t LS0tLS0tLS0tDQogaW5kZXhfY29tcGxldGVfY291bnQgfCBudW1lcmljIHwgICAgICAgICAgIHwg ICAgICAgICAgfC4gICAgICAgICAgIDw8PC0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQpUaGUgcGdf c3RhdF9wcm9ncmVzc192YWN1dW1faW5kZXggdmlldyBpbmNsdWRlczoNCg0KSW5kZXhyZWxpZCAt IHRoZSBjdXJyZW50bHkgdmFjdXVtZWQgaW5kZXgNCkxlYWRlcl9waWQgLSB0aGUgcGlkIG9mIHRo ZSBsZWFkZXIgcHJvY2Vzcy4gTlVMTCBpZiB0aGUgcHJvY2VzcyBpcyB0aGUgbGVhZGVyIG9yIHZh Y3V1bSBpcyBub3QgcGFyYWxsZWwNCnR1cGxlc19yZW1vdmVkIC0gdGhlIGFtb3VudCBvZiBpbmRl eGVzIHR1cGxlcyByZW1vdmVkLiBUaGUgdXNlciBjYW4gdXNlIHRoaXMgY29sdW1uIHRvIHNlZSB0 aGF0IHRoZSBpbmRleCB2YWN1dW0gaGFzIG1vdmVtZW50Lg0KDQpwb3N0Z3Jlcz0jIFxkIHBnX3N0 YXRfcHJvZ3Jlc3NfdmFjdXVtX2luZGV4DQogICAgICBWaWV3ICJwZ19jYXRhbG9nLnBnX3N0YXRf cHJvZ3Jlc3NfdmFjdXVtX2luZGV4Ig0KICAgICBDb2x1bW4gICAgIHwgIFR5cGUgICB8IENvbGxh dGlvbiB8IE51bGxhYmxlIHwgRGVmYXVsdA0KLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0t LS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0NCiBwaWQgICAgICAgICAgICB8IGludGVnZXIg fCAgICAgICAgICAgfCAgICAgICAgICB8DQogZGF0aWQgICAgICAgICAgfCBvaWQgICAgIHwgICAg ICAgICAgIHwgICAgICAgICAgfA0KIGRhdG5hbWUgICAgICAgIHwgbmFtZSAgICB8ICAgICAgICAg ICB8ICAgICAgICAgIHwNCiBpbmRleHJlbGlkICAgICB8IGJpZ2ludCAgfCAgICAgICAgICAgfCAg ICAgICAgICB8DQogcGhhc2UgICAgICAgICAgfCB0ZXh0ICAgIHwgICAgICAgICAgIHwgICAgICAg ICAgfA0KIGxlYWRlcl9waWQgICAgIHwgYmlnaW50ICB8ICAgICAgICAgICB8ICAgICAgICAgIHwN CiB0dXBsZXNfcmVtb3ZlZCB8IGJpZ2ludCAgfCAgICAgICAgICAgfCAgICAgICAgICB8DQoNCg0K DQrvu79PbiAxLzEyLzIyLCA5OjUyIFBNLCAiSW1zZWloIChBV1MpLCBTYW1pIiA8c2ltc2VpaEBh bWF6b24uY29tPiB3cm90ZToNCg0KICAgIE9uIDEvMTIvMjIsIDE6MjggUE0sICJCb3NzYXJ0LCBO YXRoYW4iIDxib3NzYXJ0bkBhbWF6b24uY29tPiB3cm90ZToNCg0KICAgICAgICBPbiAxLzExLzIy LCAxMTo0NiBQTSwgIk1hc2FoaWtvIFNhd2FkYSIgPHNhd2FkYS5tc2hrQGdtYWlsLmNvbT4gd3Jv dGU6DQogICAgICAgID4gUmVnYXJkaW5nIHRoZSBuZXcgcGdfc3RhdF9wcm9ncmVzc192YWN1dW1f aW5kZXggdmlldywgd2h5IGRvIHdlIG5lZWQNCiAgICAgICAgPiB0byBoYXZlIGEgc2VwYXJhdGUg dmlldz8gVXNlcnMgd2lsbCBoYXZlIHRvIGNoZWNrIHR3byB2aWV3cy4gSWYgdGhpcw0KICAgICAg ICA+IHZpZXcgaXMgZXhwZWN0ZWQgdG8gYmUgdXNlZCB0b2dldGhlciB3aXRoIGFuZCBqb2luZWQg dG8NCiAgICAgICAgPiBwZ19zdGF0X3Byb2dyZXNzX3ZhY3V1bSwgd2h5IGRvbid0IHdlIHByb3Zp ZGUgb25lIHZpZXcgdGhhdCBoYXMgZnVsbA0KICAgICAgICA+IGluZm9ybWF0aW9uIGZyb20gdGhl IGJlZ2lubmluZz8gRXNwZWNpYWxseSwgSSB0aGluayBpdCdzIG5vdCB1c2VmdWwNCiAgICAgICAg PiB0aGF0IHRoZSB0b3RhbCBudW1iZXIgb2YgaW5kZXhlcyB0byB2YWN1dW0gKG51bV9pbmRleGVz X3RvX3ZhY3V1bQ0KICAgICAgICA+IGNvbHVtbikgYW5kIHRoZSBjdXJyZW50IG51bWJlciBvZiBp bmRleGVzIHRoYXQgaGF2ZSBiZWVuIHZhY3V1bWVkDQogICAgICAgID4gKGluZGV4X29yZGluYWxf cG9zaXRpb24gY29sdW1uKSBhcmUgc2hvd24gaW4gc2VwYXJhdGUgdmlld3MuDQoNCiAgICAgPiBJ IHN1cHBvc2Ugd2UgY291bGQgYWRkIGFsbCBvZiB0aGUgbmV3IGNvbHVtbnMgdG8NCiAgICAgPiBw Z19zdGF0X3Byb2dyZXNzX3ZhY3V1bSBhbmQganVzdCBzZXQgY29sdW1ucyB0byBOVUxMIGFzIGFw cHJvcHJpYXRlLg0KICAgICA+IEJ1dCBpcyB0aGF0IHJlYWxseSBiZXR0ZXIgdGhhbiBoYXZpbmcg YSBzZXBhcmF0ZSB2aWV3Pw0KDQogICAgVG8gYWRkLCBzaW5jZSBhIHZhY3V1bSBjYW4gdXRpbGl6 ZSBwYXJhbGxlbCB3b3JrZXIgcHJvY2Vzc2VzICsgdGhlIG1haW4gdmFjdXVtIHByb2Nlc3MgdG8g cGVyZm9ybSBpbmRleCB2YWN1dW1pbmcsIGl0IG1hZGUgc2Vuc2UgdG8gc2VwYXJhdGUgdGhlIGJh Y2tlbmRzIGRvaW5nIGluZGV4IHZhY3V1bS9jbGVhbnVwIGluIGEgc2VwYXJhdGUgdmlldy4gDQog ICAgQmVzaWRlcyB3aGF0IE5hdGhhbiBzdWdnZXN0ZWQsIHRoZSBvbmx5IG90aGVyIGNsZWFuIG9w dGlvbiBJIGNhbiB0aGluayBvZiBpcyB0byBwZXJoYXBzIGNyZWF0ZSBhIGpzb24gY29sdW1uIGlu IHBnX3N0YXRfcHJvZ3Jlc3NfdmFjdXVtIHdoaWNoIHdpbGwgaW5jbHVkZSBhbGwgdGhlIG5ldyBm aWVsZHMuIE15IGNvbmNlcm4gd2l0aCB0aGlzIGFwcHJvYWNoIGlzIHRoYXQgaXQgd2lsbCBtYWtl IHVzYWJpbGl0eSwgdG8gZmxhdHRlbiB0aGUganNvbiwgZGlmZmljdWx0IGZvciB1c2Vycy4NCg0K ICAgICAgICA+IEFsc28sIEnigJltIG5vdCBzdXJlIGhvdyB1c2VmdWwgaW5kZXhfdHVwbGVzX3Jl bW92ZWQgaXM7IHdoYXQgY2FuIHdlDQogICAgICAgID4gaW5mZXIgZnJvbSB0aGlzIHZhbHVlICh3 aXRob3V0IGEgdG90YWwgbnVtYmVyKT8NCg0KICAgID4gICAgSSB0aGluayB0aGUgaWRlYSB3YXMg dGhhdCB5b3UgY2FuIGNvbXBhcmUgaXQgYWdhaW5zdCBtYXhfZGVhZF90dXBsZXMNCiAgICA+ICAg YW5kIG51bV9kZWFkX3R1cGxlcyB0byBnZXQgYW4gZXN0aW1hdGUgb2YgdGhlIGN1cnJlbnQgY3lj bGUgcHJvZ3Jlc3MuDQogICAgPiAgICBPdGhlcndpc2UsIGl0IGp1c3Qgc2hvd3MgdGhhdCBwcm9n cmVzcyBpcyBiZWluZyBtYWRlLg0KDQogICAgVGhlIG1haW4gcHVycG9zZSBpcyB0byByZWFsbHkg c2hvdyB0aGF0IHRoZSAiaW5kZXggdmFjdXVtIiBwaGFzZSBpcyBhY3R1YWxseSBtYWtpbmcgcHJv Z3Jlc3MuIE5vdGUgdGhhdCBmb3IgY2VydGFpbiB0eXBlcyBvZiBpbmRleGVzLCBpLmUuIEdJTi9H SVNUIHRoZSBudW1iZXIgb2YgdHVwbGVzX3JlbW92ZWQgd2lsbCBlbmQgdXAgZXhjZWVkaW5nIHRo ZSBudW1iZXIgb2YgbnVtX2RlYWRfdHVwbGVzLg0KDQogICAgICAgIE5hdGhhbg0KDQogICAgICAg IFswXSBodHRwczovL3Bvc3Rnci5lcy9tLzc4NzRGQjIxLUZBQTUtNDlCRC04Mzg2LTI4NjY1NTI2 NTZDNyU0MGFtYXpvbi5jb20NCg0KDQoNCg== --_003_96387867CBAF4CCF861E2F4ACBCBBD68amazoncom_ Content-Type: text/html; name="monitoring.html" Content-Description: monitoring.html Content-Disposition: attachment; filename="monitoring.html"; size=9331; creation-date="Thu, 27 Jan 2022 02:07:51 GMT"; modification-date="Thu, 27 Jan 2022 02:07:51 GMT" Content-ID: <378822C9FEFB2A4390FB864C26EEF2D4@amazon.com> Content-Transfer-Encoding: base64 PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjwh RE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFRyYW5zaXRpb25hbC8v RU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS10cmFuc2l0aW9uYWwu ZHRkIj48aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+PGhlYWQ+PG1l dGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9 VVRGLTgiIC8+PHRpdGxlPkNoYXB0ZXLCoDI4LsKgTW9uaXRvcmluZyBEYXRhYmFzZSBBY3Rpdml0 eTwvdGl0bGU+PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iaHR0 cHM6Ly93d3cucG9zdGdyZXNxbC5vcmcvbWVkaWEvY3NzL2RvY3MtY29tcGxldGUuY3NzIiAvPjxs aW5rIHJldj0ibWFkZSIgaHJlZj0icGdzcWwtZG9jc0BsaXN0cy5wb3N0Z3Jlc3FsLm9yZyIgLz48 bWV0YSBuYW1lPSJnZW5lcmF0b3IiIGNvbnRlbnQ9IkRvY0Jvb2sgWFNMIFN0eWxlc2hlZXRzIFYx Ljc5LjEiIC8+PGxpbmsgcmVsPSJwcmV2IiBocmVmPSJob3Qtc3RhbmRieS5odG1sIiB0aXRsZT0i MjcuNC7CoEhvdCBTdGFuZGJ5IiAvPjxsaW5rIHJlbD0ibmV4dCIgaHJlZj0ibW9uaXRvcmluZy1w cy5odG1sIiB0aXRsZT0iMjguMS7CoFN0YW5kYXJkIFVuaXggVG9vbHMiIC8+PC9oZWFkPjxib2R5 IGlkPSJkb2NDb250ZW50IiBjbGFzcz0iY29udGFpbmVyLWZsdWlkIGNvbC0xMCI+PGRpdiB4bWxu cz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCIgY2xhc3M9Im5hdmhl YWRlciI+PHRhYmxlIHdpZHRoPSIxMDAlIiBzdW1tYXJ5PSJOYXZpZ2F0aW9uIGhlYWRlciI+PHRy Pjx0aCBjb2xzcGFuPSI1IiBhbGlnbj0iY2VudGVyIj5DaGFwdGVywqAyOC7CoE1vbml0b3Jpbmcg RGF0YWJhc2UgQWN0aXZpdHk8L3RoPjwvdHI+PHRyPjx0ZCB3aWR0aD0iMTAlIiBhbGlnbj0ibGVm dCI+PGEgYWNjZXNza2V5PSJwIiBocmVmPSJob3Qtc3RhbmRieS5odG1sIiB0aXRsZT0iMjcuNC7C oEhvdCBTdGFuZGJ5Ij5QcmV2PC9hPsKgPC90ZD48dGQgd2lkdGg9IjEwJSIgYWxpZ249ImxlZnQi PjxhIGFjY2Vzc2tleT0idSIgaHJlZj0iYWRtaW4uaHRtbCIgdGl0bGU9IlBhcnTCoElJSS7CoFNl cnZlciBBZG1pbmlzdHJhdGlvbiI+VXA8L2E+PC90ZD48dGggd2lkdGg9IjYwJSIgYWxpZ249ImNl bnRlciI+UGFydMKgSUlJLsKgU2VydmVyIEFkbWluaXN0cmF0aW9uPC90aD48dGQgd2lkdGg9IjEw JSIgYWxpZ249InJpZ2h0Ij48YSBhY2Nlc3NrZXk9ImgiIGhyZWY9ImluZGV4Lmh0bWwiIHRpdGxl PSJQb3N0Z3JlU1FMIDE1ZGV2ZWwgRG9jdW1lbnRhdGlvbiI+SG9tZTwvYT48L3RkPjx0ZCB3aWR0 aD0iMTAlIiBhbGlnbj0icmlnaHQiPsKgPGEgYWNjZXNza2V5PSJuIiBocmVmPSJtb25pdG9yaW5n LXBzLmh0bWwiIHRpdGxlPSIyOC4xLsKgU3RhbmRhcmQgVW5peCBUb29scyI+TmV4dDwvYT48L3Rk PjwvdHI+PC90YWJsZT48aHI+PC9ocj48L2Rpdj48ZGl2IGNsYXNzPSJjaGFwdGVyIiBpZD0iTU9O SVRPUklORyI+PGRpdiBjbGFzcz0idGl0bGVwYWdlIj48ZGl2PjxkaXY+PGgyIGNsYXNzPSJ0aXRs ZSI+Q2hhcHRlcsKgMjguwqBNb25pdG9yaW5nIERhdGFiYXNlIEFjdGl2aXR5PC9oMj48L2Rpdj48 L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJ0b2MiPjxwPjxzdHJvbmc+VGFibGUgb2YgQ29udGVudHM8 L3N0cm9uZz48L3A+PGRsIGNsYXNzPSJ0b2MiPjxkdD48c3BhbiBjbGFzcz0ic2VjdDEiPjxhIGhy ZWY9Im1vbml0b3JpbmctcHMuaHRtbCI+MjguMS4gU3RhbmRhcmQgVW5peCBUb29sczwvYT48L3Nw YW4+PC9kdD48ZHQ+PHNwYW4gY2xhc3M9InNlY3QxIj48YSBocmVmPSJtb25pdG9yaW5nLXN0YXRz Lmh0bWwiPjI4LjIuIFRoZSBTdGF0aXN0aWNzIENvbGxlY3RvcjwvYT48L3NwYW4+PC9kdD48ZGQ+ PGRsPjxkdD48c3BhbiBjbGFzcz0ic2VjdDIiPjxhIGhyZWY9Im1vbml0b3Jpbmctc3RhdHMuaHRt bCNNT05JVE9SSU5HLVNUQVRTLVNFVFVQIj4yOC4yLjEuIFN0YXRpc3RpY3MgQ29sbGVjdGlvbiBD b25maWd1cmF0aW9uPC9hPjwvc3Bhbj48L2R0PjxkdD48c3BhbiBjbGFzcz0ic2VjdDIiPjxhIGhy ZWY9Im1vbml0b3Jpbmctc3RhdHMuaHRtbCNNT05JVE9SSU5HLVNUQVRTLVZJRVdTIj4yOC4yLjIu IFZpZXdpbmcgU3RhdGlzdGljczwvYT48L3NwYW4+PC9kdD48ZHQ+PHNwYW4gY2xhc3M9InNlY3Qy Ij48YSBocmVmPSJtb25pdG9yaW5nLXN0YXRzLmh0bWwjTU9OSVRPUklORy1QRy1TVEFULUFDVElW SVRZLVZJRVciPjI4LjIuMy4gPGNvZGUgY2xhc3M9InN0cnVjdG5hbWUiPnBnX3N0YXRfYWN0aXZp dHk8L2NvZGU+PC9hPjwvc3Bhbj48L2R0PjxkdD48c3BhbiBjbGFzcz0ic2VjdDIiPjxhIGhyZWY9 Im1vbml0b3Jpbmctc3RhdHMuaHRtbCNNT05JVE9SSU5HLVBHLVNUQVQtUkVQTElDQVRJT04tVklF VyI+MjguMi40LiA8Y29kZSBjbGFzcz0ic3RydWN0bmFtZSI+cGdfc3RhdF9yZXBsaWNhdGlvbjwv Y29kZT48L2E+PC9zcGFuPjwvZHQ+PGR0PjxzcGFuIGNsYXNzPSJzZWN0MiI+PGEgaHJlZj0ibW9u aXRvcmluZy1zdGF0cy5odG1sI01PTklUT1JJTkctUEctU1RBVC1SRVBMSUNBVElPTi1TTE9UUy1W SUVXIj4yOC4yLjUuIDxjb2RlIGNsYXNzPSJzdHJ1Y3RuYW1lIj5wZ19zdGF0X3JlcGxpY2F0aW9u X3Nsb3RzPC9jb2RlPjwvYT48L3NwYW4+PC9kdD48ZHQ+PHNwYW4gY2xhc3M9InNlY3QyIj48YSBo cmVmPSJtb25pdG9yaW5nLXN0YXRzLmh0bWwjTU9OSVRPUklORy1QRy1TVEFULVdBTC1SRUNFSVZF Ui1WSUVXIj4yOC4yLjYuIDxjb2RlIGNsYXNzPSJzdHJ1Y3RuYW1lIj5wZ19zdGF0X3dhbF9yZWNl aXZlcjwvY29kZT48L2E+PC9zcGFuPjwvZHQ+PGR0PjxzcGFuIGNsYXNzPSJzZWN0MiI+PGEgaHJl Zj0ibW9uaXRvcmluZy1zdGF0cy5odG1sI01PTklUT1JJTkctUEctU1RBVC1TVUJTQ1JJUFRJT04i PjI4LjIuNy4gPGNvZGUgY2xhc3M9InN0cnVjdG5hbWUiPnBnX3N0YXRfc3Vic2NyaXB0aW9uPC9j b2RlPjwvYT48L3NwYW4+PC9kdD48ZHQ+PHNwYW4gY2xhc3M9InNlY3QyIj48YSBocmVmPSJtb25p dG9yaW5nLXN0YXRzLmh0bWwjTU9OSVRPUklORy1QRy1TVEFULVNVQlNDUklQVElPTi1XT1JLRVJT Ij4yOC4yLjguIDxjb2RlIGNsYXNzPSJzdHJ1Y3RuYW1lIj5wZ19zdGF0X3N1YnNjcmlwdGlvbl93 b3JrZXJzPC9jb2RlPjwvYT48L3NwYW4+PC9kdD48ZHQ+PHNwYW4gY2xhc3M9InNlY3QyIj48YSBo cmVmPSJtb25pdG9yaW5nLXN0YXRzLmh0bWwjTU9OSVRPUklORy1QRy1TVEFULVNTTC1WSUVXIj4y OC4yLjkuIDxjb2RlIGNsYXNzPSJzdHJ1Y3RuYW1lIj5wZ19zdGF0X3NzbDwvY29kZT48L2E+PC9z cGFuPjwvZHQ+PGR0PjxzcGFuIGNsYXNzPSJzZWN0MiI+PGEgaHJlZj0ibW9uaXRvcmluZy1zdGF0 cy5odG1sI01PTklUT1JJTkctUEctU1RBVC1HU1NBUEktVklFVyI+MjguMi4xMC4gPGNvZGUgY2xh c3M9InN0cnVjdG5hbWUiPnBnX3N0YXRfZ3NzYXBpPC9jb2RlPjwvYT48L3NwYW4+PC9kdD48ZHQ+ PHNwYW4gY2xhc3M9InNlY3QyIj48YSBocmVmPSJtb25pdG9yaW5nLXN0YXRzLmh0bWwjTU9OSVRP UklORy1QRy1TVEFULUFSQ0hJVkVSLVZJRVciPjI4LjIuMTEuIDxjb2RlIGNsYXNzPSJzdHJ1Y3Ru YW1lIj5wZ19zdGF0X2FyY2hpdmVyPC9jb2RlPjwvYT48L3NwYW4+PC9kdD48ZHQ+PHNwYW4gY2xh c3M9InNlY3QyIj48YSBocmVmPSJtb25pdG9yaW5nLXN0YXRzLmh0bWwjTU9OSVRPUklORy1QRy1T VEFULUJHV1JJVEVSLVZJRVciPjI4LjIuMTIuIDxjb2RlIGNsYXNzPSJzdHJ1Y3RuYW1lIj5wZ19z dGF0X2Jnd3JpdGVyPC9jb2RlPjwvYT48L3NwYW4+PC9kdD48ZHQ+PHNwYW4gY2xhc3M9InNlY3Qy Ij48YSBocmVmPSJtb25pdG9yaW5nLXN0YXRzLmh0bWwjTU9OSVRPUklORy1QRy1TVEFULVdBTC1W SUVXIj4yOC4yLjEzLiA8Y29kZSBjbGFzcz0ic3RydWN0bmFtZSI+cGdfc3RhdF93YWw8L2NvZGU+ PC9hPjwvc3Bhbj48L2R0PjxkdD48c3BhbiBjbGFzcz0ic2VjdDIiPjxhIGhyZWY9Im1vbml0b3Jp bmctc3RhdHMuaHRtbCNNT05JVE9SSU5HLVBHLVNUQVQtREFUQUJBU0UtVklFVyI+MjguMi4xNC4g PGNvZGUgY2xhc3M9InN0cnVjdG5hbWUiPnBnX3N0YXRfZGF0YWJhc2U8L2NvZGU+PC9hPjwvc3Bh bj48L2R0PjxkdD48c3BhbiBjbGFzcz0ic2VjdDIiPjxhIGhyZWY9Im1vbml0b3Jpbmctc3RhdHMu aHRtbCNNT05JVE9SSU5HLVBHLVNUQVQtREFUQUJBU0UtQ09ORkxJQ1RTLVZJRVciPjI4LjIuMTUu IDxjb2RlIGNsYXNzPSJzdHJ1Y3RuYW1lIj5wZ19zdGF0X2RhdGFiYXNlX2NvbmZsaWN0czwvY29k ZT48L2E+PC9zcGFuPjwvZHQ+PGR0PjxzcGFuIGNsYXNzPSJzZWN0MiI+PGEgaHJlZj0ibW9uaXRv cmluZy1zdGF0cy5odG1sI01PTklUT1JJTkctUEctU1RBVC1BTEwtVEFCTEVTLVZJRVciPjI4LjIu MTYuIDxjb2RlIGNsYXNzPSJzdHJ1Y3RuYW1lIj5wZ19zdGF0X2FsbF90YWJsZXM8L2NvZGU+PC9h Pjwvc3Bhbj48L2R0PjxkdD48c3BhbiBjbGFzcz0ic2VjdDIiPjxhIGhyZWY9Im1vbml0b3Jpbmct c3RhdHMuaHRtbCNNT05JVE9SSU5HLVBHLVNUQVQtQUxMLUlOREVYRVMtVklFVyI+MjguMi4xNy4g PGNvZGUgY2xhc3M9InN0cnVjdG5hbWUiPnBnX3N0YXRfYWxsX2luZGV4ZXM8L2NvZGU+PC9hPjwv c3Bhbj48L2R0PjxkdD48c3BhbiBjbGFzcz0ic2VjdDIiPjxhIGhyZWY9Im1vbml0b3Jpbmctc3Rh dHMuaHRtbCNNT05JVE9SSU5HLVBHLVNUQVRJTy1BTEwtVEFCTEVTLVZJRVciPjI4LjIuMTguIDxj b2RlIGNsYXNzPSJzdHJ1Y3RuYW1lIj5wZ19zdGF0aW9fYWxsX3RhYmxlczwvY29kZT48L2E+PC9z cGFuPjwvZHQ+PGR0PjxzcGFuIGNsYXNzPSJzZWN0MiI+PGEgaHJlZj0ibW9uaXRvcmluZy1zdGF0 cy5odG1sI01PTklUT1JJTkctUEctU1RBVElPLUFMTC1JTkRFWEVTLVZJRVciPjI4LjIuMTkuIDxj b2RlIGNsYXNzPSJzdHJ1Y3RuYW1lIj5wZ19zdGF0aW9fYWxsX2luZGV4ZXM8L2NvZGU+PC9hPjwv c3Bhbj48L2R0PjxkdD48c3BhbiBjbGFzcz0ic2VjdDIiPjxhIGhyZWY9Im1vbml0b3Jpbmctc3Rh dHMuaHRtbCNNT05JVE9SSU5HLVBHLVNUQVRJTy1BTEwtU0VRVUVOQ0VTLVZJRVciPjI4LjIuMjAu IDxjb2RlIGNsYXNzPSJzdHJ1Y3RuYW1lIj5wZ19zdGF0aW9fYWxsX3NlcXVlbmNlczwvY29kZT48 L2E+PC9zcGFuPjwvZHQ+PGR0PjxzcGFuIGNsYXNzPSJzZWN0MiI+PGEgaHJlZj0ibW9uaXRvcmlu Zy1zdGF0cy5odG1sI01PTklUT1JJTkctUEctU1RBVC1VU0VSLUZVTkNUSU9OUy1WSUVXIj4yOC4y LjIxLiA8Y29kZSBjbGFzcz0ic3RydWN0bmFtZSI+cGdfc3RhdF91c2VyX2Z1bmN0aW9uczwvY29k ZT48L2E+PC9zcGFuPjwvZHQ+PGR0PjxzcGFuIGNsYXNzPSJzZWN0MiI+PGEgaHJlZj0ibW9uaXRv cmluZy1zdGF0cy5odG1sI01PTklUT1JJTkctUEctU1RBVC1TTFJVLVZJRVciPjI4LjIuMjIuIDxj b2RlIGNsYXNzPSJzdHJ1Y3RuYW1lIj5wZ19zdGF0X3NscnU8L2NvZGU+PC9hPjwvc3Bhbj48L2R0 PjxkdD48c3BhbiBjbGFzcz0ic2VjdDIiPjxhIGhyZWY9Im1vbml0b3Jpbmctc3RhdHMuaHRtbCNN T05JVE9SSU5HLVNUQVRTLUZVTkNUSU9OUyI+MjguMi4yMy4gU3RhdGlzdGljcyBGdW5jdGlvbnM8 L2E+PC9zcGFuPjwvZHQ+PC9kbD48L2RkPjxkdD48c3BhbiBjbGFzcz0ic2VjdDEiPjxhIGhyZWY9 Im1vbml0b3JpbmctbG9ja3MuaHRtbCI+MjguMy4gVmlld2luZyBMb2NrczwvYT48L3NwYW4+PC9k dD48ZHQ+PHNwYW4gY2xhc3M9InNlY3QxIj48YSBocmVmPSJwcm9ncmVzcy1yZXBvcnRpbmcuaHRt bCI+MjguNC4gUHJvZ3Jlc3MgUmVwb3J0aW5nPC9hPjwvc3Bhbj48L2R0PjxkZD48ZGw+PGR0Pjxz cGFuIGNsYXNzPSJzZWN0MiI+PGEgaHJlZj0icHJvZ3Jlc3MtcmVwb3J0aW5nLmh0bWwjQU5BTFla RS1QUk9HUkVTUy1SRVBPUlRJTkciPjI4LjQuMS4gQU5BTFlaRSBQcm9ncmVzcyBSZXBvcnRpbmc8 L2E+PC9zcGFuPjwvZHQ+PGR0PjxzcGFuIGNsYXNzPSJzZWN0MiI+PGEgaHJlZj0icHJvZ3Jlc3Mt cmVwb3J0aW5nLmh0bWwjQ1JFQVRFLUlOREVYLVBST0dSRVNTLVJFUE9SVElORyI+MjguNC4yLiBD UkVBVEUgSU5ERVggUHJvZ3Jlc3MgUmVwb3J0aW5nPC9hPjwvc3Bhbj48L2R0PjxkdD48c3BhbiBj bGFzcz0ic2VjdDIiPjxhIGhyZWY9InByb2dyZXNzLXJlcG9ydGluZy5odG1sI1ZBQ1VVTS1QUk9H UkVTUy1SRVBPUlRJTkciPjI4LjQuMy4gVkFDVVVNIFByb2dyZXNzIFJlcG9ydGluZzwvYT48L3Nw YW4+PC9kdD48ZHQ+PHNwYW4gY2xhc3M9InNlY3QyIj48YSBocmVmPSJwcm9ncmVzcy1yZXBvcnRp bmcuaHRtbCNDTFVTVEVSLVBST0dSRVNTLVJFUE9SVElORyI+MjguNC40LiBDTFVTVEVSIFByb2dy ZXNzIFJlcG9ydGluZzwvYT48L3NwYW4+PC9kdD48ZHQ+PHNwYW4gY2xhc3M9InNlY3QyIj48YSBo cmVmPSJwcm9ncmVzcy1yZXBvcnRpbmcuaHRtbCNCQVNFQkFDS1VQLVBST0dSRVNTLVJFUE9SVElO RyI+MjguNC41LiBCYXNlIEJhY2t1cCBQcm9ncmVzcyBSZXBvcnRpbmc8L2E+PC9zcGFuPjwvZHQ+ PGR0PjxzcGFuIGNsYXNzPSJzZWN0MiI+PGEgaHJlZj0icHJvZ3Jlc3MtcmVwb3J0aW5nLmh0bWwj Q09QWS1QUk9HUkVTUy1SRVBPUlRJTkciPjI4LjQuNi4gQ09QWSBQcm9ncmVzcyBSZXBvcnRpbmc8 L2E+PC9zcGFuPjwvZHQ+PC9kbD48L2RkPjxkdD48c3BhbiBjbGFzcz0ic2VjdDEiPjxhIGhyZWY9 ImR5bmFtaWMtdHJhY2UuaHRtbCI+MjguNS4gRHluYW1pYyBUcmFjaW5nPC9hPjwvc3Bhbj48L2R0 PjxkZD48ZGw+PGR0PjxzcGFuIGNsYXNzPSJzZWN0MiI+PGEgaHJlZj0iZHluYW1pYy10cmFjZS5o dG1sI0NPTVBJTElORy1GT1ItVFJBQ0UiPjI4LjUuMS4gQ29tcGlsaW5nIGZvciBEeW5hbWljIFRy YWNpbmc8L2E+PC9zcGFuPjwvZHQ+PGR0PjxzcGFuIGNsYXNzPSJzZWN0MiI+PGEgaHJlZj0iZHlu YW1pYy10cmFjZS5odG1sI1RSQUNFLVBPSU5UUyI+MjguNS4yLiBCdWlsdC1pbiBQcm9iZXM8L2E+ PC9zcGFuPjwvZHQ+PGR0PjxzcGFuIGNsYXNzPSJzZWN0MiI+PGEgaHJlZj0iZHluYW1pYy10cmFj ZS5odG1sI1VTSU5HLVRSQUNFLVBPSU5UUyI+MjguNS4zLiBVc2luZyBQcm9iZXM8L2E+PC9zcGFu PjwvZHQ+PGR0PjxzcGFuIGNsYXNzPSJzZWN0MiI+PGEgaHJlZj0iZHluYW1pYy10cmFjZS5odG1s I0RFRklOSU5HLVRSQUNFLVBPSU5UUyI+MjguNS40LiBEZWZpbmluZyBOZXcgUHJvYmVzPC9hPjwv c3Bhbj48L2R0PjwvZGw+PC9kZD48L2RsPjwvZGl2PjxhIGlkPSJpZC0xLjYuMTUuMiIgY2xhc3M9 ImluZGV4dGVybSI+PC9hPjxhIGlkPSJpZC0xLjYuMTUuMyIgY2xhc3M9ImluZGV4dGVybSI+PC9h PjxwPgogIEEgZGF0YWJhc2UgYWRtaW5pc3RyYXRvciBmcmVxdWVudGx5IHdvbmRlcnMsIDxzcGFu IGNsYXNzPSJxdW90ZSI+4oCcPHNwYW4gY2xhc3M9InF1b3RlIj5XaGF0IGlzIHRoZSBzeXN0ZW0K ICBkb2luZyByaWdodCBub3c/PC9zcGFuPuKAnTwvc3Bhbj4KICBUaGlzIGNoYXB0ZXIgZGlzY3Vz c2VzIGhvdyB0byBmaW5kIHRoYXQgb3V0LgogPC9wPjxwPgogICBTZXZlcmFsIHRvb2xzIGFyZSBh dmFpbGFibGUgZm9yIG1vbml0b3JpbmcgZGF0YWJhc2UgYWN0aXZpdHkgYW5kCiAgIGFuYWx5emlu ZyBwZXJmb3JtYW5jZS4gIE1vc3Qgb2YgdGhpcyBjaGFwdGVyIGlzIGRldm90ZWQgdG8gZGVzY3Jp YmluZwogICA8c3BhbiBjbGFzcz0icHJvZHVjdG5hbWUiPlBvc3RncmVTUUw8L3NwYW4+J3Mgc3Rh dGlzdGljcyBjb2xsZWN0b3IsCiAgIGJ1dCBvbmUgc2hvdWxkIG5vdCBuZWdsZWN0IHJlZ3VsYXIg VW5peCBtb25pdG9yaW5nIHByb2dyYW1zIHN1Y2ggYXMKICAgPGNvZGUgY2xhc3M9ImNvbW1hbmQi PnBzPC9jb2RlPiwgPGNvZGUgY2xhc3M9ImNvbW1hbmQiPnRvcDwvY29kZT4sIDxjb2RlIGNsYXNz PSJjb21tYW5kIj5pb3N0YXQ8L2NvZGU+LCBhbmQgPGNvZGUgY2xhc3M9ImNvbW1hbmQiPnZtc3Rh dDwvY29kZT4uCiAgIEFsc28sIG9uY2Ugb25lIGhhcyBpZGVudGlmaWVkIGEKICAgcG9vcmx5LXBl cmZvcm1pbmcgcXVlcnksIGZ1cnRoZXIgaW52ZXN0aWdhdGlvbiBtaWdodCBiZSBuZWVkZWQgdXNp bmcKICAgPHNwYW4gY2xhc3M9InByb2R1Y3RuYW1lIj5Qb3N0Z3JlU1FMPC9zcGFuPidzIDxhIGNs YXNzPSJsaW5rIiBocmVmPSJzcWwtZXhwbGFpbi5odG1sIiB0aXRsZT0iRVhQTEFJTiI+PGNvZGUg Y2xhc3M9ImNvbW1hbmQiPkVYUExBSU48L2NvZGU+PC9hPiBjb21tYW5kLgogICA8YSBjbGFzcz0i eHJlZiIgaHJlZj0idXNpbmctZXhwbGFpbi5odG1sIiB0aXRsZT0iMTQuMS7CoFVzaW5nIEVYUExB SU4iPlNlY3Rpb27CoDE0LjE8L2E+IGRpc2N1c3NlcyA8Y29kZSBjbGFzcz0iY29tbWFuZCI+RVhQ TEFJTjwvY29kZT4KICAgYW5kIG90aGVyIG1ldGhvZHMgZm9yIHVuZGVyc3RhbmRpbmcgdGhlIGJl aGF2aW9yIG9mIGFuIGluZGl2aWR1YWwKICAgcXVlcnkuCiAgPC9wPjwvZGl2PjxkaXYgeG1sbnM9 Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiIGNsYXNzPSJuYXZmb290 ZXIiPjxocj48L2hyPjx0YWJsZSB3aWR0aD0iMTAwJSIgc3VtbWFyeT0iTmF2aWdhdGlvbiBmb290 ZXIiPjx0cj48dGQgd2lkdGg9IjQwJSIgYWxpZ249ImxlZnQiPjxhIGFjY2Vzc2tleT0icCIgaHJl Zj0iaG90LXN0YW5kYnkuaHRtbCIgdGl0bGU9IjI3LjQuwqBIb3QgU3RhbmRieSI+UHJldjwvYT7C oDwvdGQ+PHRkIHdpZHRoPSIyMCUiIGFsaWduPSJjZW50ZXIiPjxhIGFjY2Vzc2tleT0idSIgaHJl Zj0iYWRtaW4uaHRtbCIgdGl0bGU9IlBhcnTCoElJSS7CoFNlcnZlciBBZG1pbmlzdHJhdGlvbiI+ VXA8L2E+PC90ZD48dGQgd2lkdGg9IjQwJSIgYWxpZ249InJpZ2h0Ij7CoDxhIGFjY2Vzc2tleT0i biIgaHJlZj0ibW9uaXRvcmluZy1wcy5odG1sIiB0aXRsZT0iMjguMS7CoFN0YW5kYXJkIFVuaXgg VG9vbHMiPk5leHQ8L2E+PC90ZD48L3RyPjx0cj48dGQgd2lkdGg9IjQwJSIgYWxpZ249ImxlZnQi IHZhbGlnbj0idG9wIj4yNy40LsKgSG90IFN0YW5kYnnCoDwvdGQ+PHRkIHdpZHRoPSIyMCUiIGFs aWduPSJjZW50ZXIiPjxhIGFjY2Vzc2tleT0iaCIgaHJlZj0iaW5kZXguaHRtbCIgdGl0bGU9IlBv c3RncmVTUUwgMTVkZXZlbCBEb2N1bWVudGF0aW9uIj5Ib21lPC9hPjwvdGQ+PHRkIHdpZHRoPSI0 MCUiIGFsaWduPSJyaWdodCIgdmFsaWduPSJ0b3AiPsKgMjguMS7CoFN0YW5kYXJkIFVuaXggVG9v bHM8L3RkPjwvdHI+PC90YWJsZT48L2Rpdj48L2JvZHk+PC9odG1sPg== --_003_96387867CBAF4CCF861E2F4ACBCBBD68amazoncom_ Content-Type: application/octet-stream; name="0004-Expose-progress-for-the-vacuuming-indexes-cleanup-ph.patch" Content-Description: 0004-Expose-progress-for-the-vacuuming-indexes-cleanup-ph.patch Content-Disposition: attachment; filename="0004-Expose-progress-for-the-vacuuming-indexes-cleanup-ph.patch"; size=29202; creation-date="Thu, 27 Jan 2022 02:07:51 GMT"; modification-date="Thu, 27 Jan 2022 02:07:51 GMT" Content-ID: <57787232E7794F4D88460911891F1578@amazon.com> Content-Transfer-Encoding: base64 RnJvbSAzM2Q0MTE2YTZiMmVhNGVlZjdkMDBhZGEyNzlhMzI5ODU0NTE0MDY4IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiU2FtaSBJbXNlaWggKEFXUykiCiA8c2ltc2VpaEBkZXYtZHNr LXNpbXNlaWgtMWUtZmJhOWI1MTQudXMtZWFzdC0xLmFtYXpvbi5jb20+CkRhdGU6IFRodSwgMjcg SmFuIDIwMjIgMDE6NDE6MjAgKzAwMDAKU3ViamVjdDogW1BBVENIIDEvMV0gRXhwb3NlIHByb2dy ZXNzIGZvciB0aGUgInZhY3V1bWluZyBpbmRleGVzL2NsZWFudXAiIHBoYXNlCiBvZiBhIFZBQ1VV TSBvcGVyYXRpb24uCgpBdXRob3I6IFNhbWkgSW1zZWloLCBiYXNlZCBvbiBzdWdnZXN0aW9ucyBi eSBOYXRoYW4gQm9zc2FydCwgUGV0ZXIgR2VvZ2hlZ2FuIGFuZCBNYXNhaGlrbyBTYXdhZGEKUmV2 aWV3ZWQgYnk6IE5hdGhhbiBCb3NzYXJ0LCBKdXN0aW4gUHJ5emJ5CkRpc2N1c3Npb246IGh0dHBz Oi8vd3d3LnBvc3RncmVzcWwub3JnL21lc3NhZ2UtaWQvNTQ3OERGQ0QtMjMzMy00MDFBLUIyRjAt MEQxODZBQjA5MjI4JTQwYW1hem9uLmNvbQotLS0KIGRvYy9zcmMvc2dtbC9tb25pdG9yaW5nLnNn bWwgICAgICAgICAgfCAxMzEgKysrKysrKysrKysrKysrKysrKysrKysrKysKIHNyYy9iYWNrZW5k L2FjY2Vzcy9naW4vZ2ludmFjdXVtLmMgICAgfCAgIDQgKwogc3JjL2JhY2tlbmQvYWNjZXNzL2dp c3QvZ2lzdHZhY3V1bS5jICB8ICAgMyArCiBzcmMvYmFja2VuZC9hY2Nlc3MvaGFzaC9oYXNoLmMg ICAgICAgIHwgICAxICsKIHNyYy9iYWNrZW5kL2FjY2Vzcy9oZWFwL3ZhY3V1bWxhenkuYyAgfCAg MTEgKysrCiBzcmMvYmFja2VuZC9hY2Nlc3MvbmJ0cmVlL25idHJlZS5jICAgIHwgICAxICsKIHNy Yy9iYWNrZW5kL2FjY2Vzcy9zcGdpc3Qvc3BndmFjdXVtLmMgfCAgIDQgKwogc3JjL2JhY2tlbmQv Y2F0YWxvZy9zeXN0ZW1fdmlld3Muc3FsICB8ICA3MCArKysrKysrKysrLS0tLQogc3JjL2JhY2tl bmQvY29tbWFuZHMvdmFjdXVtcGFyYWxsZWwuYyB8ICA1NiArKysrKysrKy0tLQogc3JjL2luY2x1 ZGUvY29tbWFuZHMvcHJvZ3Jlc3MuaCAgICAgICB8ICAgNiArKwogc3JjL3Rlc3QvcmVncmVzcy9l eHBlY3RlZC9ydWxlcy5vdXQgICB8ICA2MyArKysrKysrKysrLS0tCiAxMSBmaWxlcyBjaGFuZ2Vk LCAzMDkgaW5zZXJ0aW9ucygrKSwgNDEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZG9jL3Ny Yy9zZ21sL21vbml0b3Jpbmcuc2dtbCBiL2RvYy9zcmMvc2dtbC9tb25pdG9yaW5nLnNnbWwKaW5k ZXggNjJmMmEzMzMyYi4uYjJiMzNhY2I2NiAxMDA2NDQKLS0tIGEvZG9jL3NyYy9zZ21sL21vbml0 b3Jpbmcuc2dtbAorKysgYi9kb2Mvc3JjL3NnbWwvbW9uaXRvcmluZy5zZ21sCkBAIC0zNzksNiAr Mzc5LDE1IEBAIHBvc3RncmVzICAgMjcwOTMgIDAuMCAgMC4wICAzMDA5NiAgMjc1MiA/ICAgICAg ICBTcyAgIDExOjM0ICAgMDowMCBwb3N0Z3Jlczogc2VyCiAgICAgICA8L2VudHJ5PgogICAgICA8 L3Jvdz4KIAorICAgICA8cm93PgorICAgICAgPGVudHJ5PjxzdHJ1Y3RuYW1lPnBnX3N0YXRfcHJv Z3Jlc3NfdmFjdXVtX2luZGV4PC9zdHJ1Y3RuYW1lPjxpbmRleHRlcm0+PHByaW1hcnk+cGdfc3Rh dF9wcm9ncmVzc192YWN1dW1faW5kZXg8L3ByaW1hcnk+PC9pbmRleHRlcm0+PC9lbnRyeT4KKyAg ICAgIDxlbnRyeT5PbmUgcm93IGZvciBlYWNoIGJhY2tlbmQgKGluY2x1ZGluZyBhdXRvdmFjdXVt IHdvcmtlciBwcm9jZXNzZXMpIHJ1bm5pbmcKKyAgICAgICB0aGUgPGxpdGVyYWw+dmFjdXVtaW5n IGluZGV4ZXM8L2xpdGVyYWw+IG9yIDxsaXRlcmFsPmNsZWFuaW5nIHVwIGluZGV4ZXM8L2xpdGVy YWw+IHBoYXNlIG9mIGEgCisgICAgICAgPGNvbW1hbmQ+VkFDVVVNPC9jb21tYW5kPiwgc2hvd2lu ZyBjdXJyZW50IHByb2dyZXNzLgorICAgICAgIFNlZSA8eHJlZiBsaW5rZW5kPSd2YWN1dW0tcHJv Z3Jlc3MtcmVwb3J0aW5nJy8+LgorICAgICAgPC9lbnRyeT4KKyAgICAgPC9yb3c+CisKICAgICAg PHJvdz4KICAgICAgIDxlbnRyeT48c3RydWN0bmFtZT5wZ19zdGF0X3Byb2dyZXNzX2NsdXN0ZXI8 L3N0cnVjdG5hbWU+PGluZGV4dGVybT48cHJpbWFyeT5wZ19zdGF0X3Byb2dyZXNzX2NsdXN0ZXI8 L3ByaW1hcnk+PC9pbmRleHRlcm0+PC9lbnRyeT4KICAgICAgIDxlbnRyeT5PbmUgcm93IGZvciBl YWNoIGJhY2tlbmQgcnVubmluZwpAQCAtNjI2OSw2ICs2Mjc4LDEyOCBAQCBTRUxFQ1QgcGdfc3Rh dF9nZXRfYmFja2VuZF9waWQocy5iYWNrZW5kaWQpIEFTIHBpZCwKICAgICAgICBOdW1iZXIgb2Yg ZGVhZCB0dXBsZXMgY29sbGVjdGVkIHNpbmNlIHRoZSBsYXN0IGluZGV4IHZhY3V1bSBjeWNsZS4K ICAgICAgIDwvcGFyYT48L2VudHJ5PgogICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAg PGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZp bml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+aW5kZXhfdG90YWw8L3N0cnVjdGZpZWxkPiA8 dHlwZT5iaWdpbnQ8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICBU aGUgdG90YWwgbnVtYmVyIG9mIGluZGV4ZXMgdGhhdCB3aWxsIGJlIHByb2Nlc3NlZCBieSB0aGUK KyAgICAgICA8bGl0ZXJhbD52YWN1dW1pbmcgaW5kZXhlczwvbGl0ZXJhbD4gb3IgPGxpdGVyYWw+ Y2xlYW5pbmcgdXAgaW5kZXhlczwvbGl0ZXJhbD4gcGhhc2UKKyAgICAgICBvZiB2YWN1dW0uCisg ICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxl bnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5p dGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPmluZGV4X2NvbXBsZXRlX2NvdW50PC9zdHJ1Y3Rm aWVsZD4gPHR5cGU+YmlnaW50PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+Cisg ICAgICAgVGhlIHRvdGFsIG51bWJlciBvZiBpbmRleGVzIHByb2Nlc3NlZCBieSB0aGUKKyAgICAg ICA8bGl0ZXJhbD52YWN1dW1pbmcgaW5kZXhlczwvbGl0ZXJhbD4gb3IgPGxpdGVyYWw+Y2xlYW5p bmcgdXAgaW5kZXhlczwvbGl0ZXJhbD4gb2YgdGhlIHZhY3V1bS4KKyAgICAgICBGb3IgdmFjdXVt cyB3aXRoIG11dGlwbGUgaW5kZXggdmFjdXVtIGN5Y2xlcywgdGhpcyB2YWx1ZSB3aWxsIGJlIHNl dCB0byA8bGl0ZXJhbD4wPC9saXRlcmFsPgorICAgICAgIGF0IHRoZSBzdGFydCBvZiBlYWNoIGN5 Y2xlLgorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorICAgIDwvdGJvZHk+Cisg ICA8L3Rncm91cD4KKyAgPC90YWJsZT4KKworICA8aW5kZXh0ZXJtPgorICAgPHByaW1hcnk+cGdf c3RhdF9wcm9ncmVzc192YWN1dW1faW5kZXg8L3ByaW1hcnk+CisgIDwvaW5kZXh0ZXJtPgorCisg IDxwYXJhPgorICAgV2hlbmV2ZXIgPGNvbW1hbmQ+VkFDVVVNPC9jb21tYW5kPiBpcyBydW5uaW5n LCB0aGUKKyAgIDxzdHJ1Y3RuYW1lPnBnX3N0YXRfcHJvZ3Jlc3NfdmFjdXVtX2luZGV4PC9zdHJ1 Y3RuYW1lPiB2aWV3IHdpbGwgY29udGFpbgorICAgb25lIHJvdyBmb3IgZWFjaCBiYWNrZW5kIChp bmNsdWRpbmcgYXV0b3ZhY3V1bSB3b3JrZXIgcHJvY2Vzc2VzKSB0aGF0IGlzCisgICBjdXJyZW50 bHkgcGVyZm9ybWluZyB0aGUgPGxpdGVyYWw+dmFjdXVtaW5nIGluZGV4ZXM8L2xpdGVyYWw+IG9y IAorICAgPGxpdGVyYWw+Y2xlYW5pbmcgdXAgaW5kZXhlczwvbGl0ZXJhbD4gcGhhc2Ugb2YgdGhl IHZhY3V1bS4KKyAgPC9wYXJhPgorCisgIDx0YWJsZSBpZD0icGctc3RhdC1wcm9ncmVzcy12YWN1 dW0taW5kZXgtdmlldyIgeHJlZmxhYmVsPSJwZ19zdGF0X3Byb2dyZXNzX3ZhY3V1bV9pbmRleCI+ CisgICA8dGl0bGU+PHN0cnVjdG5hbWU+cGdfc3RhdF9wcm9ncmVzc192YWN1dW1faW5kZXg8L3N0 cnVjdG5hbWU+IFZpZXc8L3RpdGxlPgorICAgPHRncm91cCBjb2xzPSIxIj4KKyAgICA8dGhlYWQ+ CisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBh cmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIENvbHVtbiBUeXBlCisgICAgICA8 L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICBEZXNjcmlwdGlvbgorICAgICAgPC9wYXJhPjwv ZW50cnk+CisgICAgIDwvcm93PgorICAgIDwvdGhlYWQ+CisKKyAgICA8dGJvZHk+CisgICAgIDxy b3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0i Y29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5waWQ8L3N0cnVjdGZpZWxk PiA8dHlwZT5pbnRlZ2VyPC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAg ICAgUHJvY2VzcyBJRCBvZiBiYWNrZW5kLgorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwv cm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRy eSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5k YXRpZDwvc3RydWN0ZmllbGQ+IDx0eXBlPm9pZDwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAg IDxwYXJhPgorICAgICAgIE9JRCBvZiB0aGUgZGF0YWJhc2UgdG8gd2hpY2ggdGhpcyBiYWNrZW5k IGlzIGNvbm5lY3RlZC4KKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAg ICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJv bGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+ZGF0bmFtZTwvc3Ry dWN0ZmllbGQ+IDx0eXBlPm5hbWU8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4K KyAgICAgICBOYW1lIG9mIHRoZSBkYXRhYmFzZSB0byB3aGljaCB0aGlzIGJhY2tlbmQgaXMgY29u bmVjdGVkLgorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+ CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29s dW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5pbmRleHJlbGlkPC9zdHJ1Y3Rm aWVsZD4gPHR5cGU+b2lkPC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAg ICAgT0lEIG9mIHRoZSBpbmRleCBiZWluZyBwcm9jZXNzZWQgaW4gdGhlIG9uZ29pbmcgcGhhc2Ug b2YgdGhlIHZhY3V1bS4KKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAg ICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJv bGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+cGhhc2U8L3N0cnVj dGZpZWxkPiA8dHlwZT50ZXh0PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+Cisg ICAgICAgQ3VycmVudCBwcm9jZXNzaW5nIHBoYXNlIG9mIGEgdmFjdXVtLiBPbmx5IHRoZQorICAg ICAgIDxsaXRlcmFsPnZhY3V1bWluZyBpbmRleGVzPC9saXRlcmFsPiBvciA8bGl0ZXJhbD5jbGVh bmluZyB1cCBpbmRleGVzPC9saXRlcmFsPgorICAgICAgIHBoYXNlIHdpbGwgYmUgbGlzdGVkIGlu IHRoaXMgdmlldy4gU2VlIDx4cmVmIGxpbmtlbmQ9InZhY3V1bS1waGFzZXMiLz4uCisgICAgICA8 L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSBy b2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+ CisgICAgICAgPHN0cnVjdGZpZWxkPmxlYWRlcl9waWQ8L3N0cnVjdGZpZWxkPiA8dHlwZT5pbnRl Z2VyPC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgUHJvY2VzcyBJ RCBvZiB0aGUgcGFyYWxsZWwgdmFjdXVtIGxlYWRlciwgaWYgdGhpcyBwcm9jZXNzIGlzIGEKKyAg ICAgICBwYXJhbGxlbCB2YWN1dW0gd29ya2VyLiAgPGxpdGVyYWw+TlVMTDwvbGl0ZXJhbD4gaWYg dGhpcyBwcm9jZXNzIGlzIGEKKyAgICAgICBwYXJhbGxlbCB2YWN1dW0gbGVhZGVyIG9yIGRvZXMg bm90IHBhcnRpY2lwYXRlIGluIHBhcmFsbGVsIHZhY3V1bS4KKyAgICAgIDwvcGFyYT48L2VudHJ5 PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2df dGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3Ry dWN0ZmllbGQ+dHVwbGVzX3JlbW92ZWQ8L3N0cnVjdGZpZWxkPiA8dHlwZT5vaWQ8L3R5cGU+Cisg ICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICBUaGUgbnVtYmVyIG9mIGluZGV4IHR1 cGxlcyByZW1vdmVkIGJ5IHRoZSA8bGl0ZXJhbD52YWN1dW1pbmcgaW5kZXhlczwvbGl0ZXJhbD4g cGhhc2UuCisgICAgICAgVGhpcyBmaWVsZCBpcyA8bGl0ZXJhbD4wPC9saXRlcmFsPiBkdXJpbmcg dGhlIDxsaXRlcmFsPmNsZWFuaW5nIHVwIGluZGV4ZXM8L2xpdGVyYWw+IAorICAgICAgIHBoYXNl LgorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgogICAgIDwvdGJvZHk+CiAgICA8 L3Rncm91cD4KICAgPC90YWJsZT4KZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2FjY2Vzcy9naW4v Z2ludmFjdXVtLmMgYi9zcmMvYmFja2VuZC9hY2Nlc3MvZ2luL2dpbnZhY3V1bS5jCmluZGV4IGI0 ZmE1ZjZiZjguLjczNjYwNzE5YjUgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2FjY2Vzcy9naW4v Z2ludmFjdXVtLmMKKysrIGIvc3JjL2JhY2tlbmQvYWNjZXNzL2dpbi9naW52YWN1dW0uYwpAQCAt MTcsOCArMTcsMTAgQEAKICNpbmNsdWRlICJhY2Nlc3MvZ2luX3ByaXZhdGUuaCIKICNpbmNsdWRl ICJhY2Nlc3MvZ2lueGxvZy5oIgogI2luY2x1ZGUgImFjY2Vzcy94bG9naW5zZXJ0LmgiCisjaW5j bHVkZSAiY29tbWFuZHMvcHJvZ3Jlc3MuaCIKICNpbmNsdWRlICJjb21tYW5kcy92YWN1dW0uaCIK ICNpbmNsdWRlICJtaXNjYWRtaW4uaCIKKyNpbmNsdWRlICJwZ3N0YXQuaCIKICNpbmNsdWRlICJw b3N0bWFzdGVyL2F1dG92YWN1dW0uaCIKICNpbmNsdWRlICJzdG9yYWdlL2luZGV4ZnNtLmgiCiAj aW5jbHVkZSAic3RvcmFnZS9sbWdyLmgiCkBAIC02MCw2ICs2Miw4IEBAIGdpblZhY3V1bUl0ZW1Q b2ludGVycyhHaW5WYWN1dW1TdGF0ZSAqZ3ZzLCBJdGVtUG9pbnRlckRhdGEgKml0ZW1zLAogCQlp ZiAoZ3ZzLT5jYWxsYmFjayhpdGVtcyArIGksIGd2cy0+Y2FsbGJhY2tfc3RhdGUpKQogCQl7CiAJ CQlndnMtPnJlc3VsdC0+dHVwbGVzX3JlbW92ZWQgKz0gMTsKKwkJCXBnc3RhdF9wcm9ncmVzc191 cGRhdGVfcGFyYW0oUFJPR1JFU1NfVkFDVVVNX1RVUExFU19SRU1PVkVELCBndnMtPnJlc3VsdC0+ dHVwbGVzX3JlbW92ZWQpOworCiAJCQlpZiAoIXRtcGl0ZW1zKQogCQkJewogCQkJCS8qCmRpZmYg LS1naXQgYS9zcmMvYmFja2VuZC9hY2Nlc3MvZ2lzdC9naXN0dmFjdXVtLmMgYi9zcmMvYmFja2Vu ZC9hY2Nlc3MvZ2lzdC9naXN0dmFjdXVtLmMKaW5kZXggYWFjNGFmYWI4Zi4uOGEwZjIzMzg4YiAx MDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvYWNjZXNzL2dpc3QvZ2lzdHZhY3V1bS5jCisrKyBiL3Ny Yy9iYWNrZW5kL2FjY2Vzcy9naXN0L2dpc3R2YWN1dW0uYwpAQCAtMTcsOSArMTcsMTEgQEAKICNp bmNsdWRlICJhY2Nlc3MvZ2VuYW0uaCIKICNpbmNsdWRlICJhY2Nlc3MvZ2lzdF9wcml2YXRlLmgi CiAjaW5jbHVkZSAiYWNjZXNzL3RyYW5zYW0uaCIKKyNpbmNsdWRlICJjb21tYW5kcy9wcm9ncmVz cy5oIgogI2luY2x1ZGUgImNvbW1hbmRzL3ZhY3V1bS5oIgogI2luY2x1ZGUgImxpYi9pbnRlZ2Vy c2V0LmgiCiAjaW5jbHVkZSAibWlzY2FkbWluLmgiCisjaW5jbHVkZSAicGdzdGF0LmgiCiAjaW5j bHVkZSAic3RvcmFnZS9pbmRleGZzbS5oIgogI2luY2x1ZGUgInN0b3JhZ2UvbG1nci5oIgogI2lu Y2x1ZGUgInV0aWxzL21lbXV0aWxzLmgiCkBAIC0zNzUsNiArMzc3LDcgQEAgcmVzdGFydDoKIAkJ CUVORF9DUklUX1NFQ1RJT04oKTsKIAogCQkJdnN0YXRlLT5zdGF0cy0+dHVwbGVzX3JlbW92ZWQg Kz0gbnRvZGVsZXRlOworCQkJcGdzdGF0X3Byb2dyZXNzX3VwZGF0ZV9wYXJhbShQUk9HUkVTU19W QUNVVU1fVFVQTEVTX1JFTU9WRUQsIHZzdGF0ZS0+c3RhdHMtPnR1cGxlc19yZW1vdmVkKTsKIAkJ CS8qIG11c3QgcmVjb21wdXRlIG1heG9mZiAqLwogCQkJbWF4b2ZmID0gUGFnZUdldE1heE9mZnNl dE51bWJlcihwYWdlKTsKIAkJfQpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvYWNjZXNzL2hhc2gv aGFzaC5jIGIvc3JjL2JhY2tlbmQvYWNjZXNzL2hhc2gvaGFzaC5jCmluZGV4IGQ0OGM4YTQ1NDku Ljg0MzQxYWE3ZTcgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2FjY2Vzcy9oYXNoL2hhc2guYwor KysgYi9zcmMvYmFja2VuZC9hY2Nlc3MvaGFzaC9oYXNoLmMKQEAgLTYzMSw2ICs2MzEsNyBAQCBs b29wX3RvcDoKIAlzdGF0cy0+ZXN0aW1hdGVkX2NvdW50ID0gZmFsc2U7CiAJc3RhdHMtPm51bV9p bmRleF90dXBsZXMgPSBudW1faW5kZXhfdHVwbGVzOwogCXN0YXRzLT50dXBsZXNfcmVtb3ZlZCAr PSB0dXBsZXNfcmVtb3ZlZDsKKwlwZ3N0YXRfcHJvZ3Jlc3NfdXBkYXRlX3BhcmFtKFBST0dSRVNT X1ZBQ1VVTV9UVVBMRVNfUkVNT1ZFRCwgc3RhdHMtPnR1cGxlc19yZW1vdmVkKTsKIAkvKiBoYXNo dmFjdXVtY2xlYW51cCB3aWxsIGZpbGwgaW4gbnVtX3BhZ2VzICovCiAKIAlyZXR1cm4gc3RhdHM7 CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9hY2Nlc3MvaGVhcC92YWN1dW1sYXp5LmMgYi9zcmMv YmFja2VuZC9hY2Nlc3MvaGVhcC92YWN1dW1sYXp5LmMKaW5kZXggMTc0OWNjMmE0Ny4uNDMyMjI5 YWRlYSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvYWNjZXNzL2hlYXAvdmFjdXVtbGF6eS5jCisr KyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy9oZWFwL3ZhY3V1bWxhenkuYwpAQCAtMzQwLDYgKzM0MCw3 IEBAIGhlYXBfdmFjdXVtX3JlbChSZWxhdGlvbiByZWwsIFZhY3V1bVBhcmFtcyAqcGFyYW1zLAog CiAJcGdzdGF0X3Byb2dyZXNzX3N0YXJ0X2NvbW1hbmQoUFJPR1JFU1NfQ09NTUFORF9WQUNVVU0s CiAJCQkJCQkJCSAgUmVsYXRpb25HZXRSZWxpZChyZWwpKTsKKwlwZ3N0YXRfcHJvZ3Jlc3NfdXBk YXRlX3BhcmFtKFBST0dSRVNTX1ZBQ1VVTV9MRUFERVJfUElELCBNeVByb2NQaWQpOwogCiAJdmFj dXVtX3NldF94aWRfbGltaXRzKHJlbCwKIAkJCQkJCSAgcGFyYW1zLT5mcmVlemVfbWluX2FnZSwK QEAgLTQ1NSw2ICs0NTYsOSBAQCBoZWFwX3ZhY3V1bV9yZWwoUmVsYXRpb24gcmVsLCBWYWN1dW1Q YXJhbXMgKnBhcmFtcywKIAl2YWNyZWwtPkZyZWV6ZUxpbWl0ID0gRnJlZXplTGltaXQ7CiAJdmFj cmVsLT5NdWx0aVhhY3RDdXRvZmYgPSBNdWx0aVhhY3RDdXRvZmY7CiAKKwkvKiBBZHZlcnRpc2Ug dGhlIHRvdGFsIGluZGV4ZXMgdG8gdmFjdXVtICovCisJcGdzdGF0X3Byb2dyZXNzX3VwZGF0ZV9w YXJhbShQUk9HUkVTU19WQUNVVU1fVE9UQUxfSU5ERVhFUywgdmFjcmVsLT5uaW5kZXhlcyk7CisK IAkvKgogCSAqIENhbGwgbGF6eV9zY2FuX2hlYXAgdG8gcGVyZm9ybSBhbGwgcmVxdWlyZWQgaGVh cCBwcnVuaW5nLCBpbmRleAogCSAqIHZhY3V1bWluZywgYW5kIGhlYXAgdmFjdXVtaW5nIChwbHVz IHJlbGF0ZWQgcHJvY2Vzc2luZykKQEAgLTIwMTAsOSArMjAxNCwxMyBAQCBsYXp5X3ZhY3V1bV9h bGxfaW5kZXhlcyhMVlJlbFN0YXRlICp2YWNyZWwpCiAJCQlSZWxhdGlvbglpbmRyZWwgPSB2YWNy ZWwtPmluZHJlbHNbaWR4XTsKIAkJCUluZGV4QnVsa0RlbGV0ZVJlc3VsdCAqaXN0YXQgPSB2YWNy ZWwtPmluZHN0YXRzW2lkeF07CiAKKwkJCXBnc3RhdF9wcm9ncmVzc191cGRhdGVfcGFyYW0oUFJP R1JFU1NfVkFDVVVNX0lOREVYUkVMSUQsIFJlbGF0aW9uR2V0UmVsaWQoaW5kcmVsKSk7CiAJCQl2 YWNyZWwtPmluZHN0YXRzW2lkeF0gPQogCQkJCWxhenlfdmFjdXVtX29uZV9pbmRleChpbmRyZWws IGlzdGF0LCB2YWNyZWwtPm9sZF9saXZlX3R1cGxlcywKIAkJCQkJCQkJCSAgdmFjcmVsKTsKKwkJ CXBnc3RhdF9wcm9ncmVzc191cGRhdGVfcGFyYW0oUFJPR1JFU1NfVkFDVVVNX05VTV9JTkRFWF9D T01QTEVURUQsIGlkeCArIDEpOworCQkJcGdzdGF0X3Byb2dyZXNzX3VwZGF0ZV9wYXJhbShQUk9H UkVTU19WQUNVVU1fSU5ERVhSRUxJRCwgMCk7CisJCQlwZ3N0YXRfcHJvZ3Jlc3NfdXBkYXRlX3Bh cmFtKFBST0dSRVNTX1ZBQ1VVTV9UVVBMRVNfUkVNT1ZFRCwgMCk7CiAKIAkJCWlmIChsYXp5X2No ZWNrX3dyYXBhcm91bmRfZmFpbHNhZmUodmFjcmVsKSkKIAkJCXsKQEAgLTI0MTksOSArMjQyNywx MiBAQCBsYXp5X2NsZWFudXBfYWxsX2luZGV4ZXMoTFZSZWxTdGF0ZSAqdmFjcmVsKQogCQkJUmVs YXRpb24JaW5kcmVsID0gdmFjcmVsLT5pbmRyZWxzW2lkeF07CiAJCQlJbmRleEJ1bGtEZWxldGVS ZXN1bHQgKmlzdGF0ID0gdmFjcmVsLT5pbmRzdGF0c1tpZHhdOwogCisJCQlwZ3N0YXRfcHJvZ3Jl c3NfdXBkYXRlX3BhcmFtKFBST0dSRVNTX1ZBQ1VVTV9JTkRFWFJFTElELCBSZWxhdGlvbkdldFJl bGlkKGluZHJlbCkpOwogCQkJdmFjcmVsLT5pbmRzdGF0c1tpZHhdID0KIAkJCQlsYXp5X2NsZWFu dXBfb25lX2luZGV4KGluZHJlbCwgaXN0YXQsIHJlbHR1cGxlcywKIAkJCQkJCQkJCSAgIGVzdGlt YXRlZF9jb3VudCwgdmFjcmVsKTsKKwkJCXBnc3RhdF9wcm9ncmVzc191cGRhdGVfcGFyYW0oUFJP R1JFU1NfVkFDVVVNX05VTV9JTkRFWF9DT01QTEVURUQsIGlkeCArIDEpOworCQkJcGdzdGF0X3By b2dyZXNzX3VwZGF0ZV9wYXJhbShQUk9HUkVTU19WQUNVVU1fSU5ERVhSRUxJRCwgMCk7CiAJCX0K IAl9CiAJZWxzZQpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvYWNjZXNzL25idHJlZS9uYnRyZWUu YyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy9uYnRyZWUvbmJ0cmVlLmMKaW5kZXggMTMwMjRhZjJmYS4u NzQ1NWQ3M2QxMyAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvYWNjZXNzL25idHJlZS9uYnRyZWUu YworKysgYi9zcmMvYmFja2VuZC9hY2Nlc3MvbmJ0cmVlL25idHJlZS5jCkBAIC0xMjcyLDYgKzEy NzIsNyBAQCBiYWNrdHJhY2s6CiAJCQkJCQkJCW51cGRhdGFibGUpOwogCiAJCQlzdGF0cy0+dHVw bGVzX3JlbW92ZWQgKz0gbmh0aWRzZGVhZDsKKwkJCXBnc3RhdF9wcm9ncmVzc191cGRhdGVfcGFy YW0oUFJPR1JFU1NfVkFDVVVNX1RVUExFU19SRU1PVkVELCBzdGF0cy0+dHVwbGVzX3JlbW92ZWQp OwogCQkJLyogbXVzdCByZWNvbXB1dGUgbWF4b2ZmICovCiAJCQltYXhvZmYgPSBQYWdlR2V0TWF4 T2Zmc2V0TnVtYmVyKHBhZ2UpOwogCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9hY2Nlc3Mvc3Bn aXN0L3NwZ3ZhY3V1bS5jIGIvc3JjL2JhY2tlbmQvYWNjZXNzL3NwZ2lzdC9zcGd2YWN1dW0uYwpp bmRleCAwMDQ5NjMwNTMyLi5kYjczZjhlZjU5IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9hY2Nl c3Mvc3BnaXN0L3NwZ3ZhY3V1bS5jCisrKyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy9zcGdpc3Qvc3Bn dmFjdXVtLmMKQEAgLTIxLDggKzIxLDEwIEBACiAjaW5jbHVkZSAiYWNjZXNzL3RyYW5zYW0uaCIK ICNpbmNsdWRlICJhY2Nlc3MveGxvZ2luc2VydC5oIgogI2luY2x1ZGUgImNhdGFsb2cvc3RvcmFn ZV94bG9nLmgiCisjaW5jbHVkZSAiY29tbWFuZHMvcHJvZ3Jlc3MuaCIKICNpbmNsdWRlICJjb21t YW5kcy92YWN1dW0uaCIKICNpbmNsdWRlICJtaXNjYWRtaW4uaCIKKyNpbmNsdWRlICJwZ3N0YXQu aCIKICNpbmNsdWRlICJzdG9yYWdlL2J1Zm1nci5oIgogI2luY2x1ZGUgInN0b3JhZ2UvaW5kZXhm c20uaCIKICNpbmNsdWRlICJzdG9yYWdlL2xtZ3IuaCIKQEAgLTE2MCw2ICsxNjIsNyBAQCB2YWN1 dW1MZWFmUGFnZShzcGdCdWxrRGVsZXRlU3RhdGUgKmJkcywgUmVsYXRpb24gaW5kZXgsIEJ1ZmZl ciBidWZmZXIsCiAJCQkJYmRzLT5zdGF0cy0+dHVwbGVzX3JlbW92ZWQgKz0gMTsKIAkJCQlkZWxl dGFibGVbaV0gPSB0cnVlOwogCQkJCW5EZWxldGFibGUrKzsKKwkJCQlwZ3N0YXRfcHJvZ3Jlc3Nf dXBkYXRlX3BhcmFtKFBST0dSRVNTX1ZBQ1VVTV9UVVBMRVNfUkVNT1ZFRCwgYmRzLT5zdGF0cy0+ dHVwbGVzX3JlbW92ZWQpOwogCQkJfQogCQkJZWxzZQogCQkJewpAQCAtNDMwLDYgKzQzMyw3IEBA IHZhY3V1bUxlYWZSb290KHNwZ0J1bGtEZWxldGVTdGF0ZSAqYmRzLCBSZWxhdGlvbiBpbmRleCwg QnVmZmVyIGJ1ZmZlcikKIAkJCQliZHMtPnN0YXRzLT50dXBsZXNfcmVtb3ZlZCArPSAxOwogCQkJ CXRvRGVsZXRlW3hscmVjLm5EZWxldGVdID0gaTsKIAkJCQl4bHJlYy5uRGVsZXRlKys7CisJCQkJ cGdzdGF0X3Byb2dyZXNzX3VwZGF0ZV9wYXJhbShQUk9HUkVTU19WQUNVVU1fVFVQTEVTX1JFTU9W RUQsIGJkcy0+c3RhdHMtPnR1cGxlc19yZW1vdmVkKTsKIAkJCX0KIAkJCWVsc2UKIAkJCXsKZGlm ZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NhdGFsb2cvc3lzdGVtX3ZpZXdzLnNxbCBiL3NyYy9iYWNr ZW5kL2NhdGFsb2cvc3lzdGVtX3ZpZXdzLnNxbAppbmRleCAzY2I2OWIxZjg3Li4xNTk2MDVjYjNm IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jYXRhbG9nL3N5c3RlbV92aWV3cy5zcWwKKysrIGIv c3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1fdmlld3Muc3FsCkBAIC0xMTEzLDIyICsxMTEzLDYw IEBAIENSRUFURSBWSUVXIHBnX3N0YXRfcHJvZ3Jlc3NfYW5hbHl6ZSBBUwogICAgICAgICBMRUZU IEpPSU4gcGdfZGF0YWJhc2UgRCBPTiBTLmRhdGlkID0gRC5vaWQ7CiAKIENSRUFURSBWSUVXIHBn X3N0YXRfcHJvZ3Jlc3NfdmFjdXVtIEFTCi0gICAgU0VMRUNUCi0gICAgICAgIFMucGlkIEFTIHBp ZCwgUy5kYXRpZCBBUyBkYXRpZCwgRC5kYXRuYW1lIEFTIGRhdG5hbWUsCi0gICAgICAgIFMucmVs aWQgQVMgcmVsaWQsCi0gICAgICAgIENBU0UgUy5wYXJhbTEgV0hFTiAwIFRIRU4gJ2luaXRpYWxp emluZycKLSAgICAgICAgICAgICAgICAgICAgICBXSEVOIDEgVEhFTiAnc2Nhbm5pbmcgaGVhcCcK LSAgICAgICAgICAgICAgICAgICAgICBXSEVOIDIgVEhFTiAndmFjdXVtaW5nIGluZGV4ZXMnCi0g ICAgICAgICAgICAgICAgICAgICAgV0hFTiAzIFRIRU4gJ3ZhY3V1bWluZyBoZWFwJwotICAgICAg ICAgICAgICAgICAgICAgIFdIRU4gNCBUSEVOICdjbGVhbmluZyB1cCBpbmRleGVzJwotICAgICAg ICAgICAgICAgICAgICAgIFdIRU4gNSBUSEVOICd0cnVuY2F0aW5nIGhlYXAnCi0gICAgICAgICAg ICAgICAgICAgICAgV0hFTiA2IFRIRU4gJ3BlcmZvcm1pbmcgZmluYWwgY2xlYW51cCcKLSAgICAg ICAgICAgICAgICAgICAgICBFTkQgQVMgcGhhc2UsCi0gICAgICAgIFMucGFyYW0yIEFTIGhlYXBf Ymxrc190b3RhbCwgUy5wYXJhbTMgQVMgaGVhcF9ibGtzX3NjYW5uZWQsCi0gICAgICAgIFMucGFy YW00IEFTIGhlYXBfYmxrc192YWN1dW1lZCwgUy5wYXJhbTUgQVMgaW5kZXhfdmFjdXVtX2NvdW50 LAotICAgICAgICBTLnBhcmFtNiBBUyBtYXhfZGVhZF90dXBsZXMsIFMucGFyYW03IEFTIG51bV9k ZWFkX3R1cGxlcwotICAgIEZST00gcGdfc3RhdF9nZXRfcHJvZ3Jlc3NfaW5mbygnVkFDVVVNJykg QVMgUwotICAgICAgICBMRUZUIEpPSU4gcGdfZGF0YWJhc2UgRCBPTiBTLmRhdGlkID0gRC5vaWQ7 CisgICAgICAgIFNFTEVDVAorICAgICAgICAgICAgUy5waWQsCisgICAgICAgICAgICBTLmRhdGlk LAorICAgICAgICAgICAgUy5kYXRuYW1lLAorICAgICAgICAgICAgUy5yZWxpZCwKKyAgICAgICAg ICAgIFMucGhhc2UsCisgICAgICAgICAgICBTLmhlYXBfYmxrc190b3RhbCwKKyAgICAgICAgICAg IFMuaGVhcF9ibGtzX3NjYW5uZWQsCisgICAgICAgICAgICBTLmhlYXBfYmxrc192YWN1dW1lZCwK KyAgICAgICAgICAgIFMuaW5kZXhfdmFjdXVtX2NvdW50LAorICAgICAgICAgICAgUy5tYXhfZGVh ZF90dXBsZXMsCisgICAgICAgICAgICBTLm51bV9kZWFkX3R1cGxlcywKKyAgICAgICAgICAgIFMu aW5kZXhfdG90YWwsCisgICAgICAgICAgICBTLmluZGV4X2NvbXBsZXRlX2NvdW50CisgICAgICAg IEZST00gKFNFTEVDVAorICAgICAgICAgICAgICAgICAgUy5waWQgQVMgcGlkLCBTLmRhdGlkIEFT IGRhdGlkLCBELmRhdG5hbWUgQVMgZGF0bmFtZSwKKyAgICAgICAgICAgICAgICAgIFMucmVsaWQg QVMgcmVsaWQsIFMucGFyYW0xMiBhcyBsZWFkZXJfcGlkLAorICAgICAgICAgICAgICAgICAgQ0FT RSBTLnBhcmFtMSBXSEVOIDAgVEhFTiAnaW5pdGlhbGl6aW5nJworICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBXSEVOIDEgVEhFTiAnc2Nhbm5pbmcgaGVhcCcKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgV0hFTiAyIFRIRU4gJ3ZhY3V1bWluZyBpbmRleGVzJworICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBXSEVOIDMgVEhFTiAndmFjdXVtaW5nIGhlYXAnCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdIRU4gNCBUSEVOICdjbGVhbmluZyB1cCBp bmRleGVzJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXSEVOIDUgVEhFTiAndHJ1 bmNhdGluZyBoZWFwJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXSEVOIDYgVEhF TiAncGVyZm9ybWluZyBmaW5hbCBjbGVhbnVwJworICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBFTkQgQVMgcGhhc2UsCisgICAgICAgICAgICAgICAgICBTLnBhcmFtMiBBUyBoZWFwX2Js a3NfdG90YWwsIFMucGFyYW0zIEFTIGhlYXBfYmxrc19zY2FubmVkLAorICAgICAgICAgICAgICAg ICAgUy5wYXJhbTQgQVMgaGVhcF9ibGtzX3ZhY3V1bWVkLCBTLnBhcmFtNSBBUyBpbmRleF92YWN1 dW1fY291bnQsCisgICAgICAgICAgICAgICAgICBTLnBhcmFtNiBBUyBtYXhfZGVhZF90dXBsZXMs IFMucGFyYW03IEFTIG51bV9kZWFkX3R1cGxlcywKKyAgICAgICAgICAgICAgICAgIFMucGFyYW04 IEFTIGluZGV4X3RvdGFsLAorICAgICAgICAgICAgICAgICAgQ0FTRSBXSEVOIFMucGFyYW0xIElO ICgyLDQpIEFORCBTLnBhcmFtOSA+IDAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBBTkQgUy5wYXJhbTEwID4gMAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIEFORCBTLnBhcmFtMTAgPiAoQ09VTlQoKikgT1ZFUiAoUEFS VElUSU9OIEJZIFMucGFyYW0xMikgLSAxKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFRIRU4gUy5wYXJhbTggLSAoQ09VTlQoKikgT1ZFUiAoUEFSVElUSU9O IEJZIFMucGFyYW0xMikgLSAxKQorICAgICAgICAgICAgICAgICAgICAgICBFTFNFIFNVTShTLnBh cmFtOSkgT1ZFUihQQVJUSVRJT04gQlkgUy5wYXJhbTEyKQorICAgICAgICAgICAgICAgICAgICAg ICBFTkQgQVMgaW5kZXhfY29tcGxldGVfY291bnQKKyAgICAgICAgICAgICAgRlJPTSBwZ19zdGF0 X2dldF9wcm9ncmVzc19pbmZvKCdWQUNVVU0nKSBBUyBTCisgICAgICAgICAgICAgICAgICBMRUZU IEpPSU4gcGdfZGF0YWJhc2UgRCBPTiBTLmRhdGlkID0gRC5vaWQpIEFTIFMKKyAgICAgICAgV0hF UkUgUy5waWQgPSBTLmxlYWRlcl9waWQ7CisKK0NSRUFURSBWSUVXIHBnX3N0YXRfcHJvZ3Jlc3Nf dmFjdXVtX2luZGV4IEFTCisgICAgICAgIFNFTEVDVAorICAgICAgICAgICAgUy5waWQgQVMgcGlk LCBTLmRhdGlkIEFTIGRhdGlkLAorICAgICAgICAgICAgRC5kYXRuYW1lIEFTIGRhdG5hbWUsCisg ICAgICAgICAgICBTLnBhcmFtMTEgQVMgaW5kZXhyZWxpZCwKKyAgICAgICAgICAgIENBU0UgUy5w YXJhbTEgV0hFTiAyIFRIRU4gJ3ZhY3V1bWluZyBpbmRleGVzJworICAgICAgICAgICAgICAgICAg ICAgICAgICBXSEVOIDQgVEhFTiAnY2xlYW5pbmcgdXAgaW5kZXhlcycKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgRU5EIEFTIHBoYXNlLAorICAgICAgICAgICAgQ0FTRSBXSEVOIFMucGFyYW0x MiA9IHMucGlkIFRIRU4gTlVMTAorICAgICAgICAgICAgICAgICBFTFNFIFMucGFyYW0xMgorICAg ICAgICAgICAgICAgICBFTkQgQVMgbGVhZGVyX3BpZCwKKyAgICAgICAgICAgIFMucGFyYW0xMyBB UyB0dXBsZXNfcmVtb3ZlZAorICAgICAgICBGUk9NIHBnX3N0YXRfZ2V0X3Byb2dyZXNzX2luZm8o J1ZBQ1VVTScpIEFTIFMKKyAgICAgICAgICAgIExFRlQgSk9JTiBwZ19kYXRhYmFzZSBEIE9OIFMu ZGF0aWQgPUQub2lkCisgICAgICAgIFdIRVJFIFMucGFyYW0xIElOICgyLCA0KSBBTkQgUy5wYXJh bTExIE5PVCBJTiAoMCk7CiAKIENSRUFURSBWSUVXIHBnX3N0YXRfcHJvZ3Jlc3NfY2x1c3RlciBB UwogICAgIFNFTEVDVApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvdmFjdXVtcGFy YWxsZWwuYyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3ZhY3V1bXBhcmFsbGVsLmMKaW5kZXggOTc0 YTI5ZTdhOS4uZWI0YmVjZjkwMCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvdmFj dXVtcGFyYWxsZWwuYworKysgYi9zcmMvYmFja2VuZC9jb21tYW5kcy92YWN1dW1wYXJhbGxlbC5j CkBAIC0yOSw2ICsyOSw3IEBACiAjaW5jbHVkZSAiYWNjZXNzL2FtYXBpLmgiCiAjaW5jbHVkZSAi YWNjZXNzL3RhYmxlLmgiCiAjaW5jbHVkZSAiY2F0YWxvZy9pbmRleC5oIgorI2luY2x1ZGUgImNv bW1hbmRzL3Byb2dyZXNzLmgiCiAjaW5jbHVkZSAiY29tbWFuZHMvdmFjdXVtLmgiCiAjaW5jbHVk ZSAib3B0aW1pemVyL3BhdGhzLmgiCiAjaW5jbHVkZSAicGdzdGF0LmgiCkBAIC0xMDEsNiArMTAy LDEyIEBAIHR5cGVkZWYgc3RydWN0IFBWU2hhcmVkCiAKIAkvKiBDb3VudGVyIGZvciB2YWN1dW1p bmcgYW5kIGNsZWFudXAgKi8KIAlwZ19hdG9taWNfdWludDMyIGlkeDsKKworCS8qIExlYWRlciBQ SUQgKi8KKwlpbnQgbGVhZGVyX3BpZDsKKworCS8qIE51bWJlciBvZiBwbGFubmVkIHBhcmFsbGVs IHdvcmtlcnMgKi8KKwlpbnQgcGFyYWxsZWxfd29ya2VyczsKIH0gUFZTaGFyZWQ7CiAKIC8qIFN0 YXR1cyB1c2VkIGR1cmluZyBwYXJhbGxlbCBpbmRleCB2YWN1dW0gb3IgY2xlYW51cCAqLwpAQCAt MjA0LDEwICsyMTEsMTAgQEAgc3RhdGljIGludAlwYXJhbGxlbF92YWN1dW1fY29tcHV0ZV93b3Jr ZXJzKFJlbGF0aW9uICppbmRyZWxzLCBpbnQgbmluZGV4ZXMsIGludAogCQkJCQkJCQkJCQlib29s ICp3aWxsX3BhcmFsbGVsX3ZhY3V1bSk7CiBzdGF0aWMgdm9pZCBwYXJhbGxlbF92YWN1dW1fcHJv Y2Vzc19hbGxfaW5kZXhlcyhQYXJhbGxlbFZhY3V1bVN0YXRlICpwdnMsIGludCBudW1faW5kZXhf c2NhbnMsCiAJCQkJCQkJCQkJCQlib29sIHZhY3V1bSk7Ci1zdGF0aWMgdm9pZCBwYXJhbGxlbF92 YWN1dW1fcHJvY2Vzc19zYWZlX2luZGV4ZXMoUGFyYWxsZWxWYWN1dW1TdGF0ZSAqcHZzKTsKLXN0 YXRpYyB2b2lkIHBhcmFsbGVsX3ZhY3V1bV9wcm9jZXNzX3Vuc2FmZV9pbmRleGVzKFBhcmFsbGVs VmFjdXVtU3RhdGUgKnB2cyk7Ci1zdGF0aWMgdm9pZCBwYXJhbGxlbF92YWN1dW1fcHJvY2Vzc19v bmVfaW5kZXgoUGFyYWxsZWxWYWN1dW1TdGF0ZSAqcHZzLCBSZWxhdGlvbiBpbmRyZWwsCi0JCQkJ CQkJCQkJCSAgUFZJbmRTdGF0cyAqaW5kc3RhdHMpOworc3RhdGljIHZvaWQgcGFyYWxsZWxfdmFj dXVtX3Byb2Nlc3Nfc2FmZV9pbmRleGVzKFBhcmFsbGVsVmFjdXVtU3RhdGUgKnB2cywgaW50ICpp ZHhfdmFjdXVtZWQpOworc3RhdGljIHZvaWQgcGFyYWxsZWxfdmFjdXVtX3Byb2Nlc3NfdW5zYWZl X2luZGV4ZXMoUGFyYWxsZWxWYWN1dW1TdGF0ZSAqcHZzLCBpbnQgKmlkeF92YWN1dW1lZCk7Citz dGF0aWMgdm9pZAlwYXJhbGxlbF92YWN1dW1fcHJvY2Vzc19vbmVfaW5kZXgoUGFyYWxsZWxWYWN1 dW1TdGF0ZSAqcHZzLCBSZWxhdGlvbiBpbmRyZWwsCisJCQkJCQkJCQkJCSAgUFZJbmRTdGF0cyAq aW5kc3RhdHMsIGludCAqaWR4X3ZhY3V1bWVkKTsKIHN0YXRpYyBib29sIHBhcmFsbGVsX3ZhY3V1 bV9pbmRleF9pc19wYXJhbGxlbF9zYWZlKFJlbGF0aW9uIGluZHJlbCwgaW50IG51bV9pbmRleF9z Y2FucywKIAkJCQkJCQkJCQkJCSAgIGJvb2wgdmFjdXVtKTsKIHN0YXRpYyB2b2lkIHBhcmFsbGVs X3ZhY3V1bV9lcnJvcl9jYWxsYmFjayh2b2lkICphcmcpOwpAQCAtMjU5LDYgKzI2Niw4IEBAIHBh cmFsbGVsX3ZhY3V1bV9pbml0KFJlbGF0aW9uIHJlbCwgUmVsYXRpb24gKmluZHJlbHMsIGludCBu aW5kZXhlcywKIAkJcmV0dXJuIE5VTEw7CiAJfQogCisJcGdzdGF0X3Byb2dyZXNzX3VwZGF0ZV9w YXJhbShQUk9HUkVTU19WQUNVVU1fV09SS0VSU19QTEFOTkVELCBwYXJhbGxlbF93b3JrZXJzKTsK KwogCXB2cyA9IChQYXJhbGxlbFZhY3V1bVN0YXRlICopIHBhbGxvYzAoc2l6ZW9mKFBhcmFsbGVs VmFjdXVtU3RhdGUpKTsKIAlwdnMtPmluZHJlbHMgPSBpbmRyZWxzOwogCXB2cy0+bmluZGV4ZXMg PSBuaW5kZXhlczsKQEAgLTM1Nyw2ICszNjYsOCBAQCBwYXJhbGxlbF92YWN1dW1faW5pdChSZWxh dGlvbiByZWwsIFJlbGF0aW9uICppbmRyZWxzLCBpbnQgbmluZGV4ZXMsCiAJCShuaW5kZXhlc19t d20gPiAwKSA/CiAJCW1haW50ZW5hbmNlX3dvcmtfbWVtIC8gTWluKHBhcmFsbGVsX3dvcmtlcnMs IG5pbmRleGVzX213bSkgOgogCQltYWludGVuYW5jZV93b3JrX21lbTsKKwlzaGFyZWQtPnBhcmFs bGVsX3dvcmtlcnMgPSBwYXJhbGxlbF93b3JrZXJzOworCXNoYXJlZC0+bGVhZGVyX3BpZCA9IE15 UHJvY1BpZDsKIAogCXBnX2F0b21pY19pbml0X3UzMigmKHNoYXJlZC0+Y29zdF9iYWxhbmNlKSwg MCk7CiAJcGdfYXRvbWljX2luaXRfdTMyKCYoc2hhcmVkLT5hY3RpdmVfbndvcmtlcnMpLCAwKTsK QEAgLTU2NSw2ICs1NzYsNyBAQCBwYXJhbGxlbF92YWN1dW1fcHJvY2Vzc19hbGxfaW5kZXhlcyhQ YXJhbGxlbFZhY3V1bVN0YXRlICpwdnMsIGludCBudW1faW5kZXhfc2NhbgogewogCWludAkJCW53 b3JrZXJzOwogCVBWSW5kVmFjU3RhdHVzIG5ld19zdGF0dXM7CisJaW50IGlkeF92YWN1dW1lZCA9 IDA7CiAKIAlBc3NlcnQoIUlzUGFyYWxsZWxXb3JrZXIoKSk7CiAKQEAgLTY3MSwxMyArNjgzLDEz IEBAIHBhcmFsbGVsX3ZhY3V1bV9wcm9jZXNzX2FsbF9pbmRleGVzKFBhcmFsbGVsVmFjdXVtU3Rh dGUgKnB2cywgaW50IG51bV9pbmRleF9zY2FuCiAJfQogCiAJLyogVmFjdXVtIHRoZSBpbmRleGVz IHRoYXQgY2FuIGJlIHByb2Nlc3NlZCBieSBvbmx5IGxlYWRlciBwcm9jZXNzICovCi0JcGFyYWxs ZWxfdmFjdXVtX3Byb2Nlc3NfdW5zYWZlX2luZGV4ZXMocHZzKTsKKwlwYXJhbGxlbF92YWN1dW1f cHJvY2Vzc191bnNhZmVfaW5kZXhlcyhwdnMsICZpZHhfdmFjdXVtZWQpOwogCiAJLyoKIAkgKiBK b2luIGFzIGEgcGFyYWxsZWwgd29ya2VyLiAgVGhlIGxlYWRlciB2YWN1dW1zIGFsb25lIHByb2Nl c3NlcyBhbGwKIAkgKiBwYXJhbGxlbC1zYWZlIGluZGV4ZXMgaW4gdGhlIGNhc2Ugd2hlcmUgbm8g d29ya2VycyBhcmUgbGF1bmNoZWQuCiAJICovCi0JcGFyYWxsZWxfdmFjdXVtX3Byb2Nlc3Nfc2Fm ZV9pbmRleGVzKHB2cyk7CisJcGFyYWxsZWxfdmFjdXVtX3Byb2Nlc3Nfc2FmZV9pbmRleGVzKHB2 cywgJmlkeF92YWN1dW1lZCk7CiAKIAkvKgogCSAqIE5leHQsIGFjY3VtdWxhdGUgYnVmZmVyIGFu ZCBXQUwgdXNhZ2UuICAoVGhpcyBtdXN0IHdhaXQgZm9yIHRoZSB3b3JrZXJzCkBAIC03MjMsNyAr NzM1LDcgQEAgcGFyYWxsZWxfdmFjdXVtX3Byb2Nlc3NfYWxsX2luZGV4ZXMoUGFyYWxsZWxWYWN1 dW1TdGF0ZSAqcHZzLCBpbnQgbnVtX2luZGV4X3NjYW4KICAqIHZhY3V1bSB3b3JrZXIgcHJvY2Vz c2VzIHRvIHZhY3V1bSB0aGUgaW5kZXhlcyBpbiBwYXJhbGxlbC4KICAqLwogc3RhdGljIHZvaWQK LXBhcmFsbGVsX3ZhY3V1bV9wcm9jZXNzX3NhZmVfaW5kZXhlcyhQYXJhbGxlbFZhY3V1bVN0YXRl ICpwdnMpCitwYXJhbGxlbF92YWN1dW1fcHJvY2Vzc19zYWZlX2luZGV4ZXMoUGFyYWxsZWxWYWN1 dW1TdGF0ZSAqcHZzLCBpbnQgKmlkeF92YWN1dW1lZCkKIHsKIAkvKgogCSAqIEluY3JlbWVudCB0 aGUgYWN0aXZlIHdvcmtlciBjb3VudCBpZiB3ZSBhcmUgYWJsZSB0byBsYXVuY2ggYW55IHdvcmtl ci4KQEAgLTc1NSw3ICs3NjcsOCBAQCBwYXJhbGxlbF92YWN1dW1fcHJvY2Vzc19zYWZlX2luZGV4 ZXMoUGFyYWxsZWxWYWN1dW1TdGF0ZSAqcHZzKQogCQkJY29udGludWU7CiAKIAkJLyogRG8gdmFj dXVtIG9yIGNsZWFudXAgb2YgdGhlIGluZGV4ICovCi0JCXBhcmFsbGVsX3ZhY3V1bV9wcm9jZXNz X29uZV9pbmRleChwdnMsIHB2cy0+aW5kcmVsc1tpZHhdLCBpbmRzdGF0cyk7CisJCXBhcmFsbGVs X3ZhY3V1bV9wcm9jZXNzX29uZV9pbmRleChwdnMsIHB2cy0+aW5kcmVsc1tpZHhdLCBpbmRzdGF0 cywgaWR4X3ZhY3V1bWVkKTsKKwogCX0KIAogCS8qCkBAIC03NzcsNyArNzkwLDcgQEAgcGFyYWxs ZWxfdmFjdXVtX3Byb2Nlc3Nfc2FmZV9pbmRleGVzKFBhcmFsbGVsVmFjdXVtU3RhdGUgKnB2cykK ICAqIGVuZm9yY2VkIGJ5IHBhcmFsbGVsX3ZhY3V1bV9jb21wdXRlX3dvcmtlcnMoKS4KICAqLwog c3RhdGljIHZvaWQKLXBhcmFsbGVsX3ZhY3V1bV9wcm9jZXNzX3Vuc2FmZV9pbmRleGVzKFBhcmFs bGVsVmFjdXVtU3RhdGUgKnB2cykKK3BhcmFsbGVsX3ZhY3V1bV9wcm9jZXNzX3Vuc2FmZV9pbmRl eGVzKFBhcmFsbGVsVmFjdXVtU3RhdGUgKnB2cywgaW50ICppZHhfdmFjdXVtZWQpCiB7CiAJQXNz ZXJ0KCFJc1BhcmFsbGVsV29ya2VyKCkpOwogCkBAIC03OTYsNyArODA5LDggQEAgcGFyYWxsZWxf dmFjdXVtX3Byb2Nlc3NfdW5zYWZlX2luZGV4ZXMoUGFyYWxsZWxWYWN1dW1TdGF0ZSAqcHZzKQog CQkJY29udGludWU7CiAKIAkJLyogRG8gdmFjdXVtIG9yIGNsZWFudXAgb2YgdGhlIGluZGV4ICov Ci0JCXBhcmFsbGVsX3ZhY3V1bV9wcm9jZXNzX29uZV9pbmRleChwdnMsIHB2cy0+aW5kcmVsc1tp XSwgaW5kc3RhdHMpOworCQlwYXJhbGxlbF92YWN1dW1fcHJvY2Vzc19vbmVfaW5kZXgocHZzLCBw dnMtPmluZHJlbHNbaV0sIGluZHN0YXRzLCBpZHhfdmFjdXVtZWQpOworCiAJfQogCiAJLyoKQEAg LTgwNSw2ICs4MTksNyBAQCBwYXJhbGxlbF92YWN1dW1fcHJvY2Vzc191bnNhZmVfaW5kZXhlcyhQ YXJhbGxlbFZhY3V1bVN0YXRlICpwdnMpCiAJICovCiAJaWYgKFZhY3V1bUFjdGl2ZU5Xb3JrZXJz KQogCQlwZ19hdG9taWNfc3ViX2ZldGNoX3UzMihWYWN1dW1BY3RpdmVOV29ya2VycywgMSk7CisK IH0KIAogLyoKQEAgLTgxNSw3ICs4MzAsNyBAQCBwYXJhbGxlbF92YWN1dW1fcHJvY2Vzc191bnNh ZmVfaW5kZXhlcyhQYXJhbGxlbFZhY3V1bVN0YXRlICpwdnMpCiAgKi8KIHN0YXRpYyB2b2lkCiBw YXJhbGxlbF92YWN1dW1fcHJvY2Vzc19vbmVfaW5kZXgoUGFyYWxsZWxWYWN1dW1TdGF0ZSAqcHZz LCBSZWxhdGlvbiBpbmRyZWwsCi0JCQkJCQkJCSAgUFZJbmRTdGF0cyAqaW5kc3RhdHMpCisJCQkJ CQkJCSAgUFZJbmRTdGF0cyAqaW5kc3RhdHMsIGludCAqaWR4X3ZhY3V1bWVkKQogewogCUluZGV4 QnVsa0RlbGV0ZVJlc3VsdCAqaXN0YXQgPSBOVUxMOwogCUluZGV4QnVsa0RlbGV0ZVJlc3VsdCAq aXN0YXRfcmVzOwpAQCAtODQwLDEzICs4NTUsMTkgQEAgcGFyYWxsZWxfdmFjdXVtX3Byb2Nlc3Nf b25lX2luZGV4KFBhcmFsbGVsVmFjdXVtU3RhdGUgKnB2cywgUmVsYXRpb24gaW5kcmVsLAogCXB2 cy0+aW5kbmFtZSA9IHBzdHJkdXAoUmVsYXRpb25HZXRSZWxhdGlvbk5hbWUoaW5kcmVsKSk7CiAJ cHZzLT5zdGF0dXMgPSBpbmRzdGF0cy0+c3RhdHVzOwogCisJcGdzdGF0X3Byb2dyZXNzX3VwZGF0 ZV9wYXJhbShQUk9HUkVTU19WQUNVVU1fSU5ERVhSRUxJRCwgUmVsYXRpb25HZXRSZWxpZChpbmRy ZWwpKTsKKwogCXN3aXRjaCAoaW5kc3RhdHMtPnN0YXR1cykKIAl7CiAJCWNhc2UgUEFSQUxMRUxf SU5EVkFDX1NUQVRVU19ORUVEX0JVTEtERUxFVEU6CisJCQlwZ3N0YXRfcHJvZ3Jlc3NfdXBkYXRl X3BhcmFtKFBST0dSRVNTX1ZBQ1VVTV9QSEFTRSwgUFJPR1JFU1NfVkFDVVVNX1BIQVNFX1ZBQ1VV TV9JTkRFWCk7CiAJCQlpc3RhdF9yZXMgPSB2YWNfYnVsa2RlbF9vbmVfaW5kZXgoJml2aW5mbywg aXN0YXQsIHB2cy0+ZGVhZF9pdGVtcyk7CisJCQkoKmlkeF92YWN1dW1lZCkrKzsKIAkJCWJyZWFr OwogCQljYXNlIFBBUkFMTEVMX0lORFZBQ19TVEFUVVNfTkVFRF9DTEVBTlVQOgorCQkJcGdzdGF0 X3Byb2dyZXNzX3VwZGF0ZV9wYXJhbShQUk9HUkVTU19WQUNVVU1fUEhBU0UsIFBST0dSRVNTX1ZB Q1VVTV9QSEFTRV9JTkRFWF9DTEVBTlVQKTsKIAkJCWlzdGF0X3JlcyA9IHZhY19jbGVhbnVwX29u ZV9pbmRleCgmaXZpbmZvLCBpc3RhdCk7CisJCQkoKmlkeF92YWN1dW1lZCkrKzsKIAkJCWJyZWFr OwogCQlkZWZhdWx0OgogCQkJZWxvZyhFUlJPUiwgInVuZXhwZWN0ZWQgcGFyYWxsZWwgdmFjdXVt IGluZGV4IHN0YXR1cyAlZCBmb3IgaW5kZXggXCIlc1wiIiwKQEAgLTg4NSw2ICs5MDYsMTAgQEAg cGFyYWxsZWxfdmFjdXVtX3Byb2Nlc3Nfb25lX2luZGV4KFBhcmFsbGVsVmFjdXVtU3RhdGUgKnB2 cywgUmVsYXRpb24gaW5kcmVsLAogCXB2cy0+c3RhdHVzID0gUEFSQUxMRUxfSU5EVkFDX1NUQVRV U19DT01QTEVURUQ7CiAJcGZyZWUocHZzLT5pbmRuYW1lKTsKIAlwdnMtPmluZG5hbWUgPSBOVUxM OworCisJcGdzdGF0X3Byb2dyZXNzX3VwZGF0ZV9wYXJhbShQUk9HUkVTU19WQUNVVU1fTlVNX0lO REVYX0NPTVBMRVRFRCwgKmlkeF92YWN1dW1lZCk7CisJcGdzdGF0X3Byb2dyZXNzX3VwZGF0ZV9w YXJhbShQUk9HUkVTU19WQUNVVU1fSU5ERVhSRUxJRCwgMCk7CisJcGdzdGF0X3Byb2dyZXNzX3Vw ZGF0ZV9wYXJhbShQUk9HUkVTU19WQUNVVU1fVFVQTEVTX1JFTU9WRUQsIDApOwogfQogCiAvKgpA QCAtOTQzLDYgKzk2OCw3IEBAIHBhcmFsbGVsX3ZhY3V1bV9tYWluKGRzbV9zZWdtZW50ICpzZWcs IHNobV90b2MgKnRvYykKIAlpbnQJCQluaW5kZXhlczsKIAljaGFyCSAgICpzaGFyZWRxdWVyeTsK IAlFcnJvckNvbnRleHRDYWxsYmFjayBlcnJjYWxsYmFjazsKKwlpbnQJCQlpZHhfdmFjdXVtZWQg PSAwOwogCiAJLyoKIAkgKiBBIHBhcmFsbGVsIHZhY3V1bSB3b3JrZXIgbXVzdCBoYXZlIG9ubHkg UFJPQ19JTl9WQUNVVU0gZmxhZyBzaW5jZSB3ZQpAQCAtOTY1LDYgKzk5MSw5IEBAIHBhcmFsbGVs X3ZhY3V1bV9tYWluKGRzbV9zZWdtZW50ICpzZWcsIHNobV90b2MgKnRvYykKIAkgKiB3b3JrZXJz LgogCSAqLwogCXJlbCA9IHRhYmxlX29wZW4oc2hhcmVkLT5yZWxpZCwgU2hhcmVVcGRhdGVFeGNs dXNpdmVMb2NrKTsKKwlwZ3N0YXRfcHJvZ3Jlc3Nfc3RhcnRfY29tbWFuZChQUk9HUkVTU19DT01N QU5EX1ZBQ1VVTSwgUmVsYXRpb25HZXRSZWxpZChyZWwpKTsKKwlwZ3N0YXRfcHJvZ3Jlc3NfdXBk YXRlX3BhcmFtKFBST0dSRVNTX1ZBQ1VVTV9MRUFERVJfUElELCBzaGFyZWQtPmxlYWRlcl9waWQp OworCXBnc3RhdF9wcm9ncmVzc191cGRhdGVfcGFyYW0oUFJPR1JFU1NfVkFDVVVNX1dPUktFUlNf UExBTk5FRCwgc2hhcmVkLT5wYXJhbGxlbF93b3JrZXJzKTsKIAogCS8qCiAJICogT3BlbiBhbGwg aW5kZXhlcy4gaW5kcmVscyBhcmUgc29ydGVkIGluIG9yZGVyIGJ5IE9JRCwgd2hpY2ggc2hvdWxk IGJlCkBAIC05NzMsNiArMTAwMiw4IEBAIHBhcmFsbGVsX3ZhY3V1bV9tYWluKGRzbV9zZWdtZW50 ICpzZWcsIHNobV90b2MgKnRvYykKIAl2YWNfb3Blbl9pbmRleGVzKHJlbCwgUm93RXhjbHVzaXZl TG9jaywgJm5pbmRleGVzLCAmaW5kcmVscyk7CiAJQXNzZXJ0KG5pbmRleGVzID4gMCk7CiAKKwlw Z3N0YXRfcHJvZ3Jlc3NfdXBkYXRlX3BhcmFtKFBST0dSRVNTX1ZBQ1VVTV9UT1RBTF9JTkRFWEVT LCBuaW5kZXhlcyk7CisKIAlpZiAoc2hhcmVkLT5tYWludGVuYW5jZV93b3JrX21lbV93b3JrZXIg PiAwKQogCQltYWludGVuYW5jZV93b3JrX21lbSA9IHNoYXJlZC0+bWFpbnRlbmFuY2Vfd29ya19t ZW1fd29ya2VyOwogCkBAIC0xMDIyLDcgKzEwNTMsNyBAQCBwYXJhbGxlbF92YWN1dW1fbWFpbihk c21fc2VnbWVudCAqc2VnLCBzaG1fdG9jICp0b2MpCiAJSW5zdHJTdGFydFBhcmFsbGVsUXVlcnko KTsKIAogCS8qIFByb2Nlc3MgaW5kZXhlcyB0byBwZXJmb3JtIHZhY3V1bS9jbGVhbnVwICovCi0J cGFyYWxsZWxfdmFjdXVtX3Byb2Nlc3Nfc2FmZV9pbmRleGVzKCZwdnMpOworCXBhcmFsbGVsX3Zh Y3V1bV9wcm9jZXNzX3NhZmVfaW5kZXhlcygmcHZzLCAmaWR4X3ZhY3V1bWVkKTsKIAogCS8qIFJl cG9ydCBidWZmZXIvV0FMIHVzYWdlIGR1cmluZyBwYXJhbGxlbCBleGVjdXRpb24gKi8KIAlidWZm ZXJfdXNhZ2UgPSBzaG1fdG9jX2xvb2t1cCh0b2MsIFBBUkFMTEVMX1ZBQ1VVTV9LRVlfQlVGRkVS X1VTQUdFLCBmYWxzZSk7CkBAIC0xMDM2LDYgKzEwNjcsNyBAQCBwYXJhbGxlbF92YWN1dW1fbWFp bihkc21fc2VnbWVudCAqc2VnLCBzaG1fdG9jICp0b2MpCiAJdmFjX2Nsb3NlX2luZGV4ZXMobmlu ZGV4ZXMsIGluZHJlbHMsIFJvd0V4Y2x1c2l2ZUxvY2spOwogCXRhYmxlX2Nsb3NlKHJlbCwgU2hh cmVVcGRhdGVFeGNsdXNpdmVMb2NrKTsKIAlGcmVlQWNjZXNzU3RyYXRlZ3kocHZzLmJzdHJhdGVn eSk7CisJcGdzdGF0X3Byb2dyZXNzX2VuZF9jb21tYW5kKCk7CiB9CiAKIC8qCmRpZmYgLS1naXQg YS9zcmMvaW5jbHVkZS9jb21tYW5kcy9wcm9ncmVzcy5oIGIvc3JjL2luY2x1ZGUvY29tbWFuZHMv cHJvZ3Jlc3MuaAppbmRleCBhMjg5MzhjYWY0Li44M2U3NGU0NGIzIDEwMDY0NAotLS0gYS9zcmMv aW5jbHVkZS9jb21tYW5kcy9wcm9ncmVzcy5oCisrKyBiL3NyYy9pbmNsdWRlL2NvbW1hbmRzL3By b2dyZXNzLmgKQEAgLTI1LDYgKzI1LDEyIEBACiAjZGVmaW5lIFBST0dSRVNTX1ZBQ1VVTV9OVU1f SU5ERVhfVkFDVVVNUwkJNAogI2RlZmluZSBQUk9HUkVTU19WQUNVVU1fTUFYX0RFQURfVFVQTEVT CQkJNQogI2RlZmluZSBQUk9HUkVTU19WQUNVVU1fTlVNX0RFQURfVFVQTEVTCQkJNgorI2RlZmlu ZSBQUk9HUkVTU19WQUNVVU1fVE9UQUxfSU5ERVhFUwkJCTcKKyNkZWZpbmUgUFJPR1JFU1NfVkFD VVVNX05VTV9JTkRFWF9DT01QTEVURUQJCTgKKyNkZWZpbmUgUFJPR1JFU1NfVkFDVVVNX1dPUktF UlNfUExBTk5FRAkJCTkKKyNkZWZpbmUgUFJPR1JFU1NfVkFDVVVNX0lOREVYUkVMSUQJCQkJMTAK KyNkZWZpbmUgUFJPR1JFU1NfVkFDVVVNX0xFQURFUl9QSUQJCQkJMTEKKyNkZWZpbmUgUFJPR1JF U1NfVkFDVVVNX1RVUExFU19SRU1PVkVEICAgICAgICAgIDEyCiAKIC8qIFBoYXNlcyBvZiB2YWN1 dW0gKGFzIGFkdmVydGlzZWQgdmlhIFBST0dSRVNTX1ZBQ1VVTV9QSEFTRSkgKi8KICNkZWZpbmUg UFJPR1JFU1NfVkFDVVVNX1BIQVNFX1NDQU5fSEVBUAkJCTEKZGlmZiAtLWdpdCBhL3NyYy90ZXN0 L3JlZ3Jlc3MvZXhwZWN0ZWQvcnVsZXMub3V0IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9y dWxlcy5vdXQKaW5kZXggZDY1MmY3YjVmYi4uY2EyZTMxY2Q5MCAxMDA2NDQKLS0tIGEvc3JjL3Rl c3QvcmVncmVzcy9leHBlY3RlZC9ydWxlcy5vdXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBl Y3RlZC9ydWxlcy5vdXQKQEAgLTIwMDcsMjYgKzIwMDcsNjMgQEAgcGdfc3RhdF9wcm9ncmVzc19j cmVhdGVfaW5kZXh8IFNFTEVDVCBzLnBpZCwKICAgICAgTEVGVCBKT0lOIHBnX2RhdGFiYXNlIGQg T04gKChzLmRhdGlkID0gZC5vaWQpKSk7CiBwZ19zdGF0X3Byb2dyZXNzX3ZhY3V1bXwgU0VMRUNU IHMucGlkLAogICAgIHMuZGF0aWQsCi0gICAgZC5kYXRuYW1lLAorICAgIHMuZGF0bmFtZSwKICAg ICBzLnJlbGlkLAorICAgIHMucGhhc2UsCisgICAgcy5oZWFwX2Jsa3NfdG90YWwsCisgICAgcy5o ZWFwX2Jsa3Nfc2Nhbm5lZCwKKyAgICBzLmhlYXBfYmxrc192YWN1dW1lZCwKKyAgICBzLmluZGV4 X3ZhY3V1bV9jb3VudCwKKyAgICBzLm1heF9kZWFkX3R1cGxlcywKKyAgICBzLm51bV9kZWFkX3R1 cGxlcywKKyAgICBzLmluZGV4X3RvdGFsLAorICAgIHMuaW5kZXhfY29tcGxldGVfY291bnQKKyAg IEZST00gKCBTRUxFQ1Qgc18xLnBpZCwKKyAgICAgICAgICAgIHNfMS5kYXRpZCwKKyAgICAgICAg ICAgIGQuZGF0bmFtZSwKKyAgICAgICAgICAgIHNfMS5yZWxpZCwKKyAgICAgICAgICAgIHNfMS5w YXJhbTEyIEFTIGxlYWRlcl9waWQsCisgICAgICAgICAgICAgICAgQ0FTRSBzXzEucGFyYW0xCisg ICAgICAgICAgICAgICAgICAgIFdIRU4gMCBUSEVOICdpbml0aWFsaXppbmcnOjp0ZXh0CisgICAg ICAgICAgICAgICAgICAgIFdIRU4gMSBUSEVOICdzY2FubmluZyBoZWFwJzo6dGV4dAorICAgICAg ICAgICAgICAgICAgICBXSEVOIDIgVEhFTiAndmFjdXVtaW5nIGluZGV4ZXMnOjp0ZXh0CisgICAg ICAgICAgICAgICAgICAgIFdIRU4gMyBUSEVOICd2YWN1dW1pbmcgaGVhcCc6OnRleHQKKyAgICAg ICAgICAgICAgICAgICAgV0hFTiA0IFRIRU4gJ2NsZWFuaW5nIHVwIGluZGV4ZXMnOjp0ZXh0Cisg ICAgICAgICAgICAgICAgICAgIFdIRU4gNSBUSEVOICd0cnVuY2F0aW5nIGhlYXAnOjp0ZXh0Cisg ICAgICAgICAgICAgICAgICAgIFdIRU4gNiBUSEVOICdwZXJmb3JtaW5nIGZpbmFsIGNsZWFudXAn Ojp0ZXh0CisgICAgICAgICAgICAgICAgICAgIEVMU0UgTlVMTDo6dGV4dAorICAgICAgICAgICAg ICAgIEVORCBBUyBwaGFzZSwKKyAgICAgICAgICAgIHNfMS5wYXJhbTIgQVMgaGVhcF9ibGtzX3Rv dGFsLAorICAgICAgICAgICAgc18xLnBhcmFtMyBBUyBoZWFwX2Jsa3Nfc2Nhbm5lZCwKKyAgICAg ICAgICAgIHNfMS5wYXJhbTQgQVMgaGVhcF9ibGtzX3ZhY3V1bWVkLAorICAgICAgICAgICAgc18x LnBhcmFtNSBBUyBpbmRleF92YWN1dW1fY291bnQsCisgICAgICAgICAgICBzXzEucGFyYW02IEFT IG1heF9kZWFkX3R1cGxlcywKKyAgICAgICAgICAgIHNfMS5wYXJhbTcgQVMgbnVtX2RlYWRfdHVw bGVzLAorICAgICAgICAgICAgc18xLnBhcmFtOCBBUyBpbmRleF90b3RhbCwKKyAgICAgICAgICAg ICAgICBDQVNFCisgICAgICAgICAgICAgICAgICAgIFdIRU4gKChzXzEucGFyYW0xID0gQU5ZIChB UlJBWVsoMik6OmJpZ2ludCwgKDQpOjpiaWdpbnRdKSkgQU5EIChzXzEucGFyYW05ID4gMCkgQU5E IChzXzEucGFyYW0xMCA+IDApIEFORCAoc18xLnBhcmFtMTAgPiAoY291bnQoKikgT1ZFUiAoUEFS VElUSU9OIEJZIHNfMS5wYXJhbTEyKSAtIDEpKSkgVEhFTiAoKHNfMS5wYXJhbTggLSAoY291bnQo KikgT1ZFUiAoUEFSVElUSU9OIEJZIHNfMS5wYXJhbTEyKSAtIDEpKSk6Om51bWVyaWMKKyAgICAg ICAgICAgICAgICAgICAgRUxTRSBzdW0oc18xLnBhcmFtOSkgT1ZFUiAoUEFSVElUSU9OIEJZIHNf MS5wYXJhbTEyKQorICAgICAgICAgICAgICAgIEVORCBBUyBpbmRleF9jb21wbGV0ZV9jb3VudAor ICAgICAgICAgICBGUk9NIChwZ19zdGF0X2dldF9wcm9ncmVzc19pbmZvKCdWQUNVVU0nOjp0ZXh0 KSBzXzEocGlkLCBkYXRpZCwgcmVsaWQsIHBhcmFtMSwgcGFyYW0yLCBwYXJhbTMsIHBhcmFtNCwg cGFyYW01LCBwYXJhbTYsIHBhcmFtNywgcGFyYW04LCBwYXJhbTksIHBhcmFtMTAsIHBhcmFtMTEs IHBhcmFtMTIsIHBhcmFtMTMsIHBhcmFtMTQsIHBhcmFtMTUsIHBhcmFtMTYsIHBhcmFtMTcsIHBh cmFtMTgsIHBhcmFtMTksIHBhcmFtMjApCisgICAgICAgICAgICAgTEVGVCBKT0lOIHBnX2RhdGFi YXNlIGQgT04gKChzXzEuZGF0aWQgPSBkLm9pZCkpKSkgcworICBXSEVSRSAocy5waWQgPSBzLmxl YWRlcl9waWQpOworcGdfc3RhdF9wcm9ncmVzc192YWN1dW1faW5kZXh8IFNFTEVDVCBzLnBpZCwK KyAgICBzLmRhdGlkLAorICAgIGQuZGF0bmFtZSwKKyAgICBzLnBhcmFtMTEgQVMgaW5kZXhyZWxp ZCwKICAgICAgICAgQ0FTRSBzLnBhcmFtMQotICAgICAgICAgICAgV0hFTiAwIFRIRU4gJ2luaXRp YWxpemluZyc6OnRleHQKLSAgICAgICAgICAgIFdIRU4gMSBUSEVOICdzY2FubmluZyBoZWFwJzo6 dGV4dAogICAgICAgICAgICAgV0hFTiAyIFRIRU4gJ3ZhY3V1bWluZyBpbmRleGVzJzo6dGV4dAot ICAgICAgICAgICAgV0hFTiAzIFRIRU4gJ3ZhY3V1bWluZyBoZWFwJzo6dGV4dAogICAgICAgICAg ICAgV0hFTiA0IFRIRU4gJ2NsZWFuaW5nIHVwIGluZGV4ZXMnOjp0ZXh0Ci0gICAgICAgICAgICBX SEVOIDUgVEhFTiAndHJ1bmNhdGluZyBoZWFwJzo6dGV4dAotICAgICAgICAgICAgV0hFTiA2IFRI RU4gJ3BlcmZvcm1pbmcgZmluYWwgY2xlYW51cCc6OnRleHQKICAgICAgICAgICAgIEVMU0UgTlVM TDo6dGV4dAogICAgICAgICBFTkQgQVMgcGhhc2UsCi0gICAgcy5wYXJhbTIgQVMgaGVhcF9ibGtz X3RvdGFsLAotICAgIHMucGFyYW0zIEFTIGhlYXBfYmxrc19zY2FubmVkLAotICAgIHMucGFyYW00 IEFTIGhlYXBfYmxrc192YWN1dW1lZCwKLSAgICBzLnBhcmFtNSBBUyBpbmRleF92YWN1dW1fY291 bnQsCi0gICAgcy5wYXJhbTYgQVMgbWF4X2RlYWRfdHVwbGVzLAotICAgIHMucGFyYW03IEFTIG51 bV9kZWFkX3R1cGxlcworICAgICAgICBDQVNFCisgICAgICAgICAgICBXSEVOIChzLnBhcmFtMTIg PSBzLnBpZCkgVEhFTiBOVUxMOjpiaWdpbnQKKyAgICAgICAgICAgIEVMU0Ugcy5wYXJhbTEyCisg ICAgICAgIEVORCBBUyBsZWFkZXJfcGlkLAorICAgIHMucGFyYW0xMyBBUyB0dXBsZXNfcmVtb3Zl ZAogICAgRlJPTSAocGdfc3RhdF9nZXRfcHJvZ3Jlc3NfaW5mbygnVkFDVVVNJzo6dGV4dCkgcyhw aWQsIGRhdGlkLCByZWxpZCwgcGFyYW0xLCBwYXJhbTIsIHBhcmFtMywgcGFyYW00LCBwYXJhbTUs IHBhcmFtNiwgcGFyYW03LCBwYXJhbTgsIHBhcmFtOSwgcGFyYW0xMCwgcGFyYW0xMSwgcGFyYW0x MiwgcGFyYW0xMywgcGFyYW0xNCwgcGFyYW0xNSwgcGFyYW0xNiwgcGFyYW0xNywgcGFyYW0xOCwg cGFyYW0xOSwgcGFyYW0yMCkKLSAgICAgTEVGVCBKT0lOIHBnX2RhdGFiYXNlIGQgT04gKChzLmRh dGlkID0gZC5vaWQpKSk7CisgICAgIExFRlQgSk9JTiBwZ19kYXRhYmFzZSBkIE9OICgocy5kYXRp ZCA9IGQub2lkKSkpCisgIFdIRVJFICgocy5wYXJhbTEgPSBBTlkgKEFSUkFZWygyKTo6YmlnaW50 LCAoNCk6OmJpZ2ludF0pKSBBTkQgKHMucGFyYW0xMSA8PiAwKSk7CiBwZ19zdGF0X3JlcGxpY2F0 aW9ufCBTRUxFQ1Qgcy5waWQsCiAgICAgcy51c2VzeXNpZCwKICAgICB1LnJvbG5hbWUgQVMgdXNl bmFtZSwKLS0gCjIuMzIuMAoK --_003_96387867CBAF4CCF861E2F4ACBCBBD68amazoncom_--