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 1pZoAK-00021H-S1 for pgsql-hackers@arkaria.postgresql.org; Wed, 08 Mar 2023 07:24:49 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1pZoAI-0005Jz-PA for pgsql-hackers@arkaria.postgresql.org; Wed, 08 Mar 2023 07:24:46 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pZoAI-0005Jg-5C for pgsql-hackers@lists.postgresql.org; Wed, 08 Mar 2023 07:24:46 +0000 Received: from esa17.fujitsucc.c3s2.iphmx.com ([216.71.158.34]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pZoAE-0005zq-CR for pgsql-hackers@lists.postgresql.org; Wed, 08 Mar 2023 07:24:44 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=fujitsu.com; i=@fujitsu.com; q=dns/txt; s=fj1; t=1678260283; x=1709796283; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=PKOdSfq4i6cK92UMG39djftjEI/LjWGkl7d+802YF1w=; b=gTw/4dep+0NDW/uwvFWW49PRGykgb1Bc1y1DQQnJ5/SrKBO8n2CrG9YL DdLRUF9Xmnt6S3vTUWGKSg/Oc5TpILW/13T4rh2DYsmHGt7PHUTZLUhc/ /j4cP0y+ZEqE9tQN7Qg3kv3vSZKFp6hwMZGOzfSKAXwNKgBfO/iaqMogF 4O1KATpbul8HGFFBocOXMfzcepuZJ6tM4C6bK1SNY3n4jmrHN8r6/BvEj g40iYeeMAhG6CW8DH4EWi8txmSzeX3c4VcVupJKfW/pBKQaTSjGMbUSi/ oO99mW25jFTXCqREhyIkyyb8IebcoLtMiK6WlFE2bhWeWEXpzDQZc5L/6 g==; X-IronPort-AV: E=McAfee;i="6500,9779,10642"; a="78671931" X-IronPort-AV: E=Sophos;i="5.98,243,1673881200"; d="scan'208";a="78671931" Received: from mail-os0jpn01lp2105.outbound.protection.outlook.com (HELO JPN01-OS0-obe.outbound.protection.outlook.com) ([104.47.23.105]) by ob1.fujitsucc.c3s2.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Mar 2023 16:24:38 +0900 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=KgTYsbPGjXcwpIkp8Jrm1q/wreazLfk1Aqgamg75Fxg8q9xcsqPFDOLzXSYH3kYViJw2HfppXvp34b3Ry5dWmuiVZJAPUsbi14Rcfk9a/hcumvnsYItDwqp2lBa+qzGjBnaR611s752ubFjTGsFkmtq4A4Hsr/PKdedhtil+SwT/B9uezhWoeYNat7twNT4WttH2Z+B9wMVpG8JhInO4YgGS73pN0CiGOlFBg/G9krufKeJSa0ar6JgN9zGbO0H87Fb3JMiCupiktIMxnHFt3roTYSQHcHGv1xmYpmEY5483n1Gm0ydkOVcUOM7gj0fswmslSiDmL+m5ytItikLWUA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=PKOdSfq4i6cK92UMG39djftjEI/LjWGkl7d+802YF1w=; b=L5qodxuZOGXlv51s5c1S40D1fR1O8D5rsRYvhQ9E3YJPf0kGQ9PmsnSh/T2R9GEkblCxLf8MUbPNaOUvKfOxpb/2RPUPJ/Eanv/qTQrRk9jhEVYi8A7/RXnMP0CzLKVWe+mSbSZ3kOg5QaNgogTYMlMxESAD7CF7j9G4vhiu9BhQHtzq8ph6hAVxkxkWO1op/eHgo9clYGqC0ds5Az8QPasA542kUWSYwpNEpG5l2fm6eeRgdOf1g417TUsj55GoGr9eqJMg6PH77tZCSpLDeJF1NuciLJYVEiANstWU7jlgeVz/Y40IQOz91wUyA4oGIjyyMavrOhth0UkKJlGReA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=fujitsu.com; dmarc=pass action=none header.from=fujitsu.com; dkim=pass header.d=fujitsu.com; arc=none Received: from OS0PR01MB5716.jpnprd01.prod.outlook.com (2603:1096:604:bb::12) by TYWPR01MB11749.jpnprd01.prod.outlook.com (2603:1096:400:3fb::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.16; Wed, 8 Mar 2023 07:24:33 +0000 Received: from OS0PR01MB5716.jpnprd01.prod.outlook.com ([fe80::4656:3259:be27:f810]) by OS0PR01MB5716.jpnprd01.prod.outlook.com ([fe80::4656:3259:be27:f810%4]) with mapi id 15.20.6156.029; Wed, 8 Mar 2023 07:24:33 +0000 From: "houzj.fnst@fujitsu.com" To: =?utf-8?B?w5ZuZGVyIEthbGFjxLE=?= , Amit Kapila CC: Peter Smith , "shiy.fnst@fujitsu.com" , "wangw.fnst@fujitsu.com" , Marco Slot , Tom Lane , Andres Freund , PostgreSQL Hackers Subject: RE: [PATCH] Use indexes on the subscriber when REPLICA IDENTITY is full on the publisher Thread-Topic: [PATCH] Use indexes on the subscriber when REPLICA IDENTITY is full on the publisher Thread-Index: AQHYlfR7CJSWSsHDaUq9h2Xjdmrbd62Ds22AgAGwZACAAVjRgIAAp0wAgAFDuYCAAfjlAIAVnJQAgAUWeQCAByaZAIALYnOAgAQg0ACAAPBUAIBQzuQAgADkkQCABa1vgIAAnAmAgAJDPYCAAjNigIAhRLMAgCd0kQCACRS1gIApNn4AgAM5QoCAAAlUAIAQwyqAgAsHsICABLrhgIAEaA8AgANUUgCAEMu/AIAADCUAgAoSUACAAZIFgIAK1FsAgAFsOwCAAC3vAIAANIcAgADnVwCAACmugIAEhUIAgABuzoCAAVfKgIAAFBoAgAAIOQCAACyWgIAAGymAgAEdlACAAAfh8A== Date: Wed, 8 Mar 2023 07:24:33 +0000 Message-ID: References: In-Reply-To: Accept-Language: ja-JP, en-US Content-Language: ja-JP X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: =?utf-8?B?TVNJUF9MYWJlbF9hNzI5NWNjMS1kMjc5LTQyYWMtYWI0ZC0zYjBmNGZlY2Uw?= =?utf-8?B?NTBfQWN0aW9uSWQ9OGY5ZDU1ZGItMTI2Ny00YzE1LTk0N2QtZmQ1NmQ3MTkx?= =?utf-8?B?MTY5O01TSVBfTGFiZWxfYTcyOTVjYzEtZDI3OS00MmFjLWFiNGQtM2IwZjRm?= =?utf-8?B?ZWNlMDUwX0NvbnRlbnRCaXRzPTA7TVNJUF9MYWJlbF9hNzI5NWNjMS1kMjc5?= =?utf-8?B?LTQyYWMtYWI0ZC0zYjBmNGZlY2UwNTBfRW5hYmxlZD10cnVlO01TSVBfTGFi?= =?utf-8?B?ZWxfYTcyOTVjYzEtZDI3OS00MmFjLWFiNGQtM2IwZjRmZWNlMDUwX01ldGhv?= =?utf-8?B?ZD1TdGFuZGFyZDtNU0lQX0xhYmVsX2E3Mjk1Y2MxLWQyNzktNDJhYy1hYjRk?= =?utf-8?B?LTNiMGY0ZmVjZTA1MF9OYW1lPUZVSklUU1UtUkVTVFJJQ1RFRO+/ou++gA==?= =?utf-8?B?776LO01TSVBfTGFiZWxfYTcyOTVjYzEtZDI3OS00MmFjLWFiNGQtM2IwZjRm?= =?utf-8?B?ZWNlMDUwX1NldERhdGU9MjAyMy0wMy0wOFQwNjo0OToxNFo7TVNJUF9MYWJl?= =?utf-8?B?bF9hNzI5NWNjMS1kMjc5LTQyYWMtYWI0ZC0zYjBmNGZlY2UwNTBfU2l0ZUlk?= =?utf-8?Q?=3Da19f121d-81e1-4858-a9d8-736e267fd4c7;?= authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=fujitsu.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: OS0PR01MB5716:EE_|TYWPR01MB11749:EE_ x-ms-office365-filtering-correlation-id: 9b1fa72b-0028-4890-c524-08db1fa62a14 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: RV9+sQqGI9VTQPGFxp/YjyLr8gItiY6X796SW1tU5vyLzZ/bEOYBoo+xLrUIJhFW+qBpOb9SietUMlRJaOskpDJfnJC9t5kKcIDpdXFn2EI+433hGNdo7kFwzBMKwv6JV9iL5fTf6KonlCqD11E86E+6PrCXq6o/VgfvgwDuVpp8ni4c/Kq5i/UWwbO5RvPig8RCBmSqke43OZ9LNKq6C5vHypO182+zK7b1LJjyuh+dGXrciWgYpRtJtaXIlV24zfqM8xgJi3yDyDMmWF7KttobZ8JOhfcR0mAynkjhIHlqwjMkcQoAkJRl/RjDSvmdVv4D4dgMscdFhN1wjLj7NbmJrgyW04IKp52uQB9Q3nS/fIHCwLC7tzxIabP+C1JtaWNIy/39JaYQQDz6hinaK374y3sjhQ1esOzbRAUKPs0PXtm9I9Z3FaMEePKgmXpsv1gGo36kMMWHGrmY9RFtKGhSF6Z5VrIrEDJj+bFlnX0jOQy1+Gu+cKrVjgKmuBjiiCFvwQZdvZ3lKuVa/i6uDv3/A4ty0If5S4qXCihmvlnYAOS8SJfawBaENvKha83U6DLFr+2dzS+iNFbuEtqZxK3AsuEOQumofrLTS+RQClg5oYp1bVtC3VtKO4qNrOnEcEs+7Z8eKhF1CjKSIKsbMIBkftev+PTuN/Ji4L8WrgKZQRSDy25/whDaNrP/wnZU06NOm+CdluvklEgJyRRtv3jLPxVK/0dQ+fqxpwOdvOqAnCY8XncJL1VAIXTqFSKHtH4rHC7uZ96jZKEdA285IQ== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OS0PR01MB5716.jpnprd01.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(396003)(346002)(376002)(366004)(39860400002)(136003)(1590799015)(451199018)(54906003)(66476007)(66556008)(66946007)(64756008)(6506007)(76116006)(53546011)(26005)(66446008)(8676002)(110136005)(316002)(33656002)(478600001)(52536014)(8936002)(2906002)(5660300002)(85182001)(82960400001)(86362001)(66574015)(122000001)(7696005)(38100700002)(71200400001)(4326008)(83380400001)(55016003)(38070700005)(9686003)(2940100002)(186003)(41300700001)(1580799012)(366874004);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?NUlPVVJMUmFndEo0UWh0TTl0Zm5wYVRJbXpMZGNFdFdNTVFXdURya1VRS1Fx?= =?utf-8?B?WTRKTUpZUmdWZFZlQmRETlRrWVFRc0hVNFUwUTZ2MlgyTWEvZGU3NFVuaDRC?= =?utf-8?B?Nk9Hdyt4OXhsL3V2aVQ0SHNzeTlFZk94aTl0RFNLWFZYbzdwaWRCeGVBb3pL?= =?utf-8?B?eWhaWFJHTWhCdElBS3FBQi83Qy91UHVBM2haQ1dtang2SmJRSnlZbS9RMlZE?= =?utf-8?B?MG5QODNjNFNSZmpiUm05ektPcGIrZXorQ3k1TytyeGZoa3RsV3NueTdsRS84?= =?utf-8?B?RzFyb0o4MXlPTWlnL2g4QXVXRnlRSU9UWUtzYzdsTkhMamdJcENkdTU1Tmt1?= =?utf-8?B?NWsvcGxLbU92UlBKQzVYL0V4QWVBMzhnYUhmUTR4MHN0ZG43NDY3MnNVQlNC?= =?utf-8?B?ZWlCRDl6TVAyU01XRGMwejBFSHhFOUdYWGcvbko5M0cwMzVmbWpKKy80U3Zv?= =?utf-8?B?aDlOemMzWXJ0NUJKcmt6dTU1ckJacUtXRzd1c09DQkhyWnlOZEVzcmNJbmZW?= =?utf-8?B?QldmV0xWMlk3eGs0Y0piQVgyWmxzMjBTcVJTamVqTDd3SGhpZFN0d3c2azEy?= =?utf-8?B?djFqNVJLc1NzOHFJYWxHQWFjWGpvVTlOei93cEpJQ1dFWGVtTlo4dGRQbEIz?= =?utf-8?B?aE95dkNsRjJ2alNWYXVIZXM2WG5vMmNjQjVYK1RaNXNmUjhqTTRwSUhKelVv?= =?utf-8?B?R3FCbWVaNFJQTEcvdFBCQWN2aGFWTXNRNHRZRlE2WWZvMGE4dGlEdjBoLzQx?= =?utf-8?B?aFhtR2RwdnlqeHdWb3c2QnZPekwrN3lKdDlNbjg4Nmpva2N3SWZDU2gxSWc1?= =?utf-8?B?elI1WlhrTU1xL05JODdKZnhuQndsRXp0K2tnREhFV3l5SHVXamdRdGgwTlo0?= =?utf-8?B?YVdGV0YrWXluZVlLV1pnWVo2QmNUVVZKV0pBVC95bVhaUlByRlVhaU5XdXJV?= =?utf-8?B?RHNBb2gzcjZleVZuOC9lekRrOUZTMk1UUVc2cFBTYlpHK245RU5idlBsWTRi?= =?utf-8?B?OXlhdEJnOUFuTDFvMWxKWjhYUUFwaTUwR2JaMjVzWnl5WlhvbERFUUd4VjJz?= =?utf-8?B?ckFmUVFIUFAvRWZTTm04VHhzeGxvUGhrbzFjUFNuS0FXQTAvMk5yWnB4UUtI?= =?utf-8?B?dHgrNGVPeUJiYU9xbEFXSlk2UGxFd3hSdmJFVnAxRllwMXpVUElTVklGUHJw?= =?utf-8?B?VytyclFLakE5Z1p3cXhDQTYwcG8rTUhrMnRiblRML2FveUdSYndBTWx0Q3B2?= =?utf-8?B?UDM0WGltSmlLNTc2TW1MVFhoQ0VvWWh3L2NoWWdnV3RldENBK25tMDRVK3lr?= =?utf-8?B?cTJQdk91MW1PQ2pKcm5JNVBseVZVQzF1SmZNVFZSczlkYWxuU1gyWStQRjNw?= =?utf-8?B?S1VOQkR4YzhVamV4eDdkaDQ0b2ZvQUFsQk5JOFI3NkVkQ0oxcWFLYzlDb3cy?= =?utf-8?B?cVJ1N0FHSHF5enhPZUh0cEFrWXY1Nk9qNHg2VWpzbmFJblNKS2NSOUtUL3JY?= =?utf-8?B?NXhQbkRITXlBZm81V2dXcWVTd1Z6Ny96U2pnTk56S1ZXaUtrSGdPb2tyVytq?= =?utf-8?B?ZGxwUmhSdCt0NE10cEJHWitKeVpmY2ZuQnB3ZG9yYk54YjFCeDV0OC9pUWh6?= =?utf-8?B?SHNrbkNiNzhYT3F4cVV5citEWGNFVkxTMkdiTkZIcUQrM1NXNnF2OWpsckpK?= =?utf-8?B?b2F1YUI3TGR6K2pyVEU2Vkc4ZUl4VEdySFBUMkEzcmtOTHJ6d214c01FeVB3?= =?utf-8?B?OW1WOHl1U1dFb0h2am42aXRiaFZRSlZXMUd5cjF4SGNPMnF1NFhldXZOazR4?= =?utf-8?B?VDN5K011Y0djR01wU0ZieVVPcGpJOUQyU3AwQ1RDTU5EeGpLOVZKOEhJVU9D?= =?utf-8?B?WG0zRkN1NFN6SWFSQndkN0xMU3g1SzBIWVUybUNuQ3grNVc0YnNUazh6eWp0?= =?utf-8?B?Zm9Oc3VmakZJNVJ5bGJtY2hDb3A1a3hIM3BpbnJuOEtMMEI1SFFhcGxPcnlH?= =?utf-8?B?UjJ3SUV4RGlveEVycm5sL3JMRCtiSS9IYzVVVUV4MC9NRjZCNXZ6NVAxNWxP?= =?utf-8?B?c0xrN3hBZWdrSzBueXYwMUJLRFQ4NjQ0ZUFwYUFKVzl5N1RpbFBkS3owd1Vn?= =?utf-8?Q?UCC4lORxCrR1xrnKL3P4se32/?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: gsJzyQ9DwQolQ3u69PSE3gdKgOcQgIaEE3CfuqGjU3FfzOwFv2xxlk2zoHCJEbDILue5BC1P6+YlAqNI6Dv+E+QCCzBAKRjL9O3PEH2vV05mvuI3x0WCA+lsONfuCJ4biBHXXngiaLtHCneGK5S4U8lnuYeQFj/QhvK7v1IYC9iNE5M7qAXeNW0jnuqyCFlngq748/a7FuOq6RbbR+z3xi85V23qWWhqL0XscJjug+UdrU98w/+g4VZuKPOmYGqUiKIhZ2j5BKuw2YX1JUdUx5IC85pFdVLuQfCrZA4aN9k4VtQyt7ha1ha2KX8OyUkoSkbxY7gNTmkOci6g7mvjf/3opb3YgyzqWxUHNLD7vW4HGeC1vDB7s3AdvxK5yBBWvVXkGcahvI8cISppHjuPksEcy98MYVyvjIwfS3arTMMWbV8YOX47plZ10zK130nqOEqaosMOMmqYuPx4ckgpfEIY35t3nt2xlTSoaQoG3/XrTN7O/wZzufh0CwNM+G5lM887nmmJtzwgKlkez/LY30Ho5M3MSEzfVL4izW1E9Yt4ndE8pN+M116ppU0qsv61aMGkGVUj+Ogsn1KpFXEv2HFz4sQR2mAGAC4CzbXSBkOuEzAiVYd65O7IKzabZ6ZrHhdTooB4V2wK0G3zMDWcW3maAI7Bn5oSk4Ynd1jVb+9L0xj22tpsNnUGRxUXxGIDzvXT5oz9pqD77pdtmzeUKwq9A8F/h4fJjxV4MgwruE5ldIKnnNhyOvsuGQOGNRTpXV+gqa8ipyvaKoc5fOlGKcAC2X0ItOQDqAEb21gTWkUldhUzgL7b5F1jGXf/G2e61XhO4avhhSKYngLxbDUpTU2P5HFFPduovwO85xFI3y3P+bezhJEsAdzH/S2m4kmF X-OriginatorOrg: fujitsu.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: OS0PR01MB5716.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9b1fa72b-0028-4890-c524-08db1fa62a14 X-MS-Exchange-CrossTenant-originalarrivaltime: 08 Mar 2023 07:24:33.3781 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a19f121d-81e1-4858-a9d8-736e267fd4c7 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: oeNCVLX3sAZGr1EqFu1Ks+NXIaSMmGhbgxenrsJk6O2Op6Z84YMXK1CYWTO2epFFN6lrp5Veu+500rB0t0jJ4g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYWPR01MB11749 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk T24gV2VkbmVzZGF5LCBNYXJjaCA4LCAyMDIzIDI6NTEgUE0gaG91emouZm5zdEBmdWppdHN1LmNv bSA8aG91emouZm5zdEBmdWppdHN1LmNvbT4gd3JvdGU6DQo+IA0KPiBPbiBUdWVzZGF5LCBNYXJj aCA3LCAyMDIzIDk6NDcgUE0gw5ZuZGVyIEthbGFjxLEgPG9uZGVya2FsYWNpQGdtYWlsLmNvbT4N Cj4gd3JvdGU6DQo+IA0KPiBIaSwNCj4gDQo+ID4gPiA+IExldCBtZSBnaXZlIGFuIGV4YW1wbGUg dG8gZGVtb25zdHJhdGUgd2h5IEkgdGhvdWdodCBzb21ldGhpbmcgaXMgZmlzaHkNCj4gaGVyZToN Cj4gPiA+ID4NCj4gPiA+ID4gSW1hZ2luZSByZWwgaGFzIGEgKG5vbi1kZWZhdWx0KSBSRVBMSUNB IElERU5USVRZIHdpdGggT2lkPTExMTEuDQo+ID4gPiA+IEltYWdpbmUgdGhlIHNhbWUgcmVsIGhh cyBhIFBSSU1BUlkgS0VZIHdpdGggT2lkPTIyMjIuDQo+ID4gPiA+DQo+ID4NCj4gPiBIbW0sIGFs cmlnaHQsIHRoaXMgaXMgc3ludGFjdGljYWxseSBwb3NzaWJsZSwgYnV0IG5vdCBzdXJlIGlmIGFu eSB1c2VyDQo+ID4gd291bGQgZG8gdGhpcy4gU3RpbGwgdGhhbmtzIGZvciBjYXRjaGluZyB0aGlz Lg0KPiA+DQo+ID4gQW5kLCB5b3UgYXJlIHJpZ2h0LCBpZiBhIHVzZXIgaGFzIGNyZWF0ZWQgc3Vj aCBhIHNjaGVtYSwNCj4gPiBJZHhJc1JlbGF0aW9uSWRlbnRpdHlPclBLKCkgd291bGQgcmV0dXJu IHRoZSB3cm9uZyByZXN1bHQgYW5kIHdlJ2QgdXNlDQo+IHNlcXVlbnRpYWwgc2NhbiBpbnN0ZWFk IG9mIGluZGV4IHNjYW4uDQo+ID4gVGhpcyB3b3VsZCBiZSBhIHJlZ3Jlc3Npb24uIEkgdGhpbmsg d2Ugc2hvdWxkIGNoYW5nZSB0aGUgZnVuY3Rpb24uDQo+IA0KPiBJIGFtIGxvb2tpbmcgYXQgdGhl IGxhdGVzdCBwYXRjaCBhbmQgaGF2ZSBhIHF1ZXN0aW9uIGFib3V0IHRoZSBmb2xsb3dpbmcgY29k ZS4NCj4gDQo+ICAJLyogVHJ5IHRvIGZpbmQgdGhlIHR1cGxlICovDQo+IC0JaWYgKGluZGV4X2dl dG5leHRfc2xvdChzY2FuLCBGb3J3YXJkU2NhbkRpcmVjdGlvbiwgb3V0c2xvdCkpDQo+ICsJd2hp bGUgKGluZGV4X2dldG5leHRfc2xvdChzY2FuLCBGb3J3YXJkU2NhbkRpcmVjdGlvbiwgb3V0c2xv dCkpDQo+ICAJew0KPiAtCQlmb3VuZCA9IHRydWU7DQo+ICsJCS8qDQo+ICsJCSAqIEF2b2lkIGV4 cGVuc2l2ZSBlcXVhbGl0eSBjaGVjayBpZiB0aGUgaW5kZXggaXMgcHJpbWFyeSBrZXkgb3INCj4g KwkJICogcmVwbGljYSBpZGVudGl0eSBpbmRleC4NCj4gKwkJICovDQo+ICsJCWlmICghaWR4SXNS ZWxhdGlvbklkZW50aXR5T3JQSykNCj4gKwkJew0KPiArCQkJaWYgKGVxID09IE5VTEwpDQo+ICsJ CQl7DQo+ICsjaWZkZWYgVVNFX0FTU0VSVF9DSEVDS0lORw0KPiArCQkJCS8qIGFwcGx5IGFzc2Vy dGlvbnMgb25seSBvbmNlIGZvciB0aGUgaW5wdXQNCj4gaWR4b2lkICovDQo+ICsJCQkJSW5kZXhJ bmZvICAqaW5kZXhJbmZvID0gQnVpbGRJbmRleEluZm8oaWR4cmVsKTsNCj4gKw0KPiAJQXNzZXJ0 KElzSW5kZXhVc2FibGVGb3JSZXBsaWNhSWRlbnRpdHlGdWxsKGluZGV4SW5mbykpOw0KPiArI2Vu ZGlmDQo+ICsNCj4gKwkJCQkvKg0KPiArCQkJCSAqIFdlIG9ubHkgbmVlZCB0byBhbGxvY2F0ZSBv bmNlLiBUaGlzIGlzDQo+IGFsbG9jYXRlZCB3aXRoaW4gcGVyDQo+ICsJCQkJICogdHVwbGUgY29u dGV4dCAtLSBBcHBseU1lc3NhZ2VDb250ZXh0IC0tDQo+IGhlbmNlIG5vIG5lZWQgdG8NCj4gKwkJ CQkgKiBleHBsaWNpdGx5IHBmcmVlKCkuDQo+ICsJCQkJICovDQo+ICsJCQkJZXEgPSBwYWxsb2Mw KHNpemVvZigqZXEpICoNCj4gb3V0c2xvdC0+dHRzX3R1cGxlRGVzY3JpcHRvci0+bmF0dHMpOw0K PiArCQkJfQ0KPiArDQo+ICsJCQlpZiAoIXR1cGxlc19lcXVhbChvdXRzbG90LCBzZWFyY2hzbG90 LCBlcSkpDQo+ICsJCQkJY29udGludWU7DQo+ICsJCX0NCj4gDQo+IElJUkMsIGl0IGludm9rZXMg dHVwbGVzX2VxdWFsIGZvciBhbGwgY2FzZXMgdW5sZXNzIHdlIGFyZSB1c2luZyByZXBsaWNhIGlk ZW50aXR5IGtleQ0KPiBvciBwcmltYXJ5IGtleSB0byBzY2FuLiBCdXQgdGhlcmUgc2VlbSBzb21l IG90aGVyIGNhc2VzIHdoZXJlIHRoZQ0KPiB0dXBsZXNfZXF1YWwgbG9va3MgdW5uZWNlc3Nhcnku DQo+IA0KPiBGb3IgZXhhbXBsZSwgaWYgdGhlIHRhYmxlIG9uIHN1YnNjcmliZXIgZG9uJ3QgaGF2 ZSBhIFBLIG9yIFJJIGtleSBidXQgaGF2ZSBhDQo+IG5vdC1udWxsLCBub24tZGVmZXJyYWJsZSwg dW5pcXVlIGtleS4gQW5kIGlmIHRoZSBhcHBseSB3b3JrZXIgY2hvb3NlIHRoaXMgaW5kZXgNCj4g dG8gZG8gdGhlIHNjYW4sIGl0IHNlZW1zIHdlIGNhbiBza2lwIHRoZSB0dXBsZXNfZXF1YWwgYXMg d2VsbC4NCj4gDQo+IC0tRXhhbXBsZQ0KPiBwdWI6DQo+IENSRUFURSBUQUJMRSB0ZXN0X3JlcGxp Y2FfaWRfZnVsbCAoYSBpbnQsIGIgaW50IG5vdCBudWxsKTsgQUxURVIgVEFCTEUNCj4gdGVzdF9y ZXBsaWNhX2lkX2Z1bGwgUkVQTElDQSBJREVOVElUWSBGVUxMOyBDUkVBVEUgUFVCTElDQVRJT04N Cj4gdGFwX3B1Yl9yZXBfZnVsbCBGT1IgVEFCTEUgdGVzdF9yZXBsaWNhX2lkX2Z1bGw7DQo+IA0K PiBzdWI6DQo+IENSRUFURSBUQUJMRSB0ZXN0X3JlcGxpY2FfaWRfZnVsbCAoYSBpbnQsIGIgaW50 IG5vdCBudWxsKTsgQ1JFQVRFIFVOSVFVRSBJTkRFWA0KPiB0ZXN0X3JlcGxpY2FfaWRfZnVsbF9p ZHggT04gdGVzdF9yZXBsaWNhX2lkX2Z1bGwoYik7DQoNClRoaW5raW5nIGFnYWluLiBUaGlzIGV4 YW1wbGUgaXMgaW5jb3JyZWN0LCBzb3JyeS4gSSBtZWFuIHRoZSBjYXNlIHdoZW4NCmFsbCB0aGUg Y29sdW1ucyBvZiB0aGUgdHVwbGUgdG8gYmUgY29tcGFyZWQgYXJlIGluIHRoZSB1bmlxdWUgaW5k ZXggb24NCnN1YnNjcmliZXIgc2lkZSwgbGlrZToNCg0KLS1FeGFtcGxlDQpwdWI6DQpDUkVBVEUg VEFCTEUgdGVzdF9yZXBsaWNhX2lkX2Z1bGwgKGEgaW50KTsNCkFMVEVSIFRBQkxFIHRlc3RfcmVw bGljYV9pZF9mdWxsIFJFUExJQ0EgSURFTlRJVFkgRlVMTDsNCkNSRUFURSBQVUJMSUNBVElPTiB0 YXBfcHViX3JlcF9mdWxsIEZPUiBUQUJMRSB0ZXN0X3JlcGxpY2FfaWRfZnVsbDsNCg0Kc3ViOg0K Q1JFQVRFIFRBQkxFIHRlc3RfcmVwbGljYV9pZF9mdWxsIChhIGludCBub3QgbnVsbCk7DQpDUkVB VEUgVU5JUVVFIElOREVYIHRlc3RfcmVwbGljYV9pZF9mdWxsX2lkeCBPTiB0ZXN0X3JlcGxpY2Ff aWRfZnVsbChhKTsNCi0tDQoNCkJlc3QgUmVnYXJkcywNCkhvdSB6ag0K