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 1otJko-00023j-L9 for pgsql-hackers@arkaria.postgresql.org; Fri, 11 Nov 2022 02:26:51 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1otJkm-0003US-0i for pgsql-hackers@arkaria.postgresql.org; Fri, 11 Nov 2022 02:26:48 +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 1otJkl-0003UD-DJ for pgsql-hackers@lists.postgresql.org; Fri, 11 Nov 2022 02:26:47 +0000 Received: from esa4.fujitsucc.c3s2.iphmx.com ([68.232.151.214]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1otJkh-0000GN-MF for pgsql-hackers@lists.postgresql.org; Fri, 11 Nov 2022 02:26:46 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=fujitsu.com; i=@fujitsu.com; q=dns/txt; s=fj1; t=1668133604; x=1699669604; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=NoHpPZ0aV0w9uIZYL0X3SFSMg5jU+JwVcsDmZnYZnFY=; b=tyzBofS9n600jinwHNAoQOnRVLs+MtEqvW2ub9I6ra02OVqD4m0WupAf mBJu3X4bIWg0dTEuZohQKtyY4nNK4wtYgxzdxdH+KcbWiPeqaSEVZngNL 2IfXc4L7s8rHmCrHXEF3UHoimDHMGn3QXtcg/UfW0JADiClJ2thH9sHWL v8hfXIbe9hYV+QsRISrRJia9KWXHJUPxNYe0d7gfRnSMY3m956gjUxdDB riN506DnXHb4dig6gBzn2iwFsbDorZP2ntATBGbCU2W/r4tMZ1uaOrraf Zn/7VV9oJgXTmgtyUVgKkyOuAEx5egEPcBYVpVHUEVNXWqsNeUDkzHCwj A==; X-IronPort-AV: E=McAfee;i="6500,9779,10527"; a="77576252" X-IronPort-AV: E=Sophos;i="5.96,155,1665414000"; d="scan'208";a="77576252" Received: from mail-tycjpn01lp2177.outbound.protection.outlook.com (HELO JPN01-TYC-obe.outbound.protection.outlook.com) ([104.47.23.177]) by ob1.fujitsucc.c3s2.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 11 Nov 2022 11:26:38 +0900 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=VM+uRwkBauw4QzF1/JsBEqI8b0rN8EDCv314c38f8vBunJHV/gcc1VdoCvVpCpl5qzs5vUzlE9sNGde96ZHKtteOTev/CLO5GwHpRIwcvoH0bpZF53aogC1WIrT0V4sDser+N0wnZQdzwvkbnGPgitDqAd/i+3wsaVUvMBhh+tqpbhFdqA1raDr3Xr9EqoFjXEUGx0b0ijlJwTYoF46Zjcm4oWeIs5rLSiFYVaOuUkp26YImTb7IJvTJGFnwmumphLYtyYoC2H8MX3Cdqu7SlW97yhJ4lFoX/QhUX9IRxnDHuzxec7Md8TVlvH/yirWjeT6jlL1eKkzeJ0bJHxVD9g== 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=NoHpPZ0aV0w9uIZYL0X3SFSMg5jU+JwVcsDmZnYZnFY=; b=WNERonNqQPJgrOXmKL2koXLm+T/wH0NXKYRyn+iSGMlQQ9OUzW3eQYWN1JznjkTSffiEaHELkLUAFbtUrgSNhJU/n8AX3Tc/2dZoKrMWLNV6GzZl9Tt/Txx611M4lBmxxsBVeDKwvC9bliFg7oRIyOD915jglC4y68De12Ne35J5YU8AdH/eeh21lBodfv82Qh6naWjmgKWF8i9D2PTbJv4WV6KRQ7mrqMFLeT20XQYMs9MjJ2VZ5iiOGHSl6X5RDR/hAA4xxBkGwI6hmoCmHC+SA/INv5u5WiekNzIhJrNmXyMLHS4zbrBH/mOcE66tPob9Q7nkdv6ISpPSyG7c7Q== 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 TYAPR01MB5452.jpnprd01.prod.outlook.com (2603:1096:404:803d::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5813.13; Fri, 11 Nov 2022 02:26:34 +0000 Received: from OS0PR01MB5716.jpnprd01.prod.outlook.com ([fe80::38a6:cf5c:b4ee:89dd]) by OS0PR01MB5716.jpnprd01.prod.outlook.com ([fe80::38a6:cf5c:b4ee:89dd%6]) with mapi id 15.20.5813.013; Fri, 11 Nov 2022 02:26:33 +0000 From: "houzj.fnst@fujitsu.com" To: Amit Kapila CC: Masahiko Sawada , "wangw.fnst@fujitsu.com" , Peter Smith , Dilip Kumar , "shiy.fnst@fujitsu.com" , PostgreSQL Hackers Subject: RE: Perform streaming logical transactions by background workers and parallel apply Thread-Topic: Perform streaming logical transactions by background workers and parallel apply Thread-Index: AQHYSXX5ZKpBKXxeUU2FhEhnmXQum6zlu9SQgAkSooCACBQ0gIABsTcwgAA1vECAAqHFgIAE/jVwgAXct9CAADkRgIALO/aAgAsRZICAB606AIAS+CyAgAAufICAAWQLgIABHxKAgAA3o4CAAeE3gIAJPr0AgAkxzACAAiJoAIAC0hUAgARvDICABQA2gIAAFvcAgAeBmICABO9ggIAJO+YAgABu1YCACQzpAIAJSy6AgAS+zICABq7mgIABSJUAgAAOtoCAACghoIAB8TqAgAqL+oCADJWRgIAGVm0AgAGAQICAAerMgIABYRWAgAgnZ+CAAXRdgIAGBUSQgAGFeoCAAFYagIABb5aggAGsWiCAATu3gIAEyyEAgABeLHCABFBngIAK5WIAgABrY4CABb89gIADiS0AgAEu2oCAAHBpgIADPWcAgAS/1gCADeB2AIAAPUnQgAEERACAABzggIAF+30AgAHyDYCAEzpGgIANkEmAgAI7xKCAAUFhAIAAPN6AgATOZqCAAXxqgIAEFZEQ Date: Fri, 11 Nov 2022 02:26: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?NTBfQWN0aW9uSWQ9ZGYyYjI1ODMtMDRhNi00NWJmLWE5YzItYTVhYjgxOTE4?= =?utf-8?B?YzgzO01TSVBfTGFiZWxfYTcyOTVjYzEtZDI3OS00MmFjLWFiNGQtM2IwZjRm?= =?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?ZWNlMDUwX1NldERhdGU9MjAyMi0xMS0xMVQwMjoxMjowNlo7TVNJUF9MYWJl?= =?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_|TYAPR01MB5452:EE_ x-ms-office365-filtering-correlation-id: 87c1741e-c7d0-4256-819c-08dac38c26c5 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: Y+NtuaWqhWhBVrV8YFf4/AwfS8GpZcXr8LBJK5vjVLyWnoJEuOw9dR+wc6iGNJLL2Km9Yi4uhAa34mjNzuqGxM4kJdkk62/VOtdlwAXwe3j8zYVZxMVyVLSg21aOCJjhsS6uAF69BFu9lQXEHi+mqfvWkfWmU6PgrQ1jHVG8I87LhpSsmtLnFmZkdpa1KkevZjf32gG/bs1qeuy6WRGiQHJ1ynCDq6Gc6+gKw08nKHSmQthH952fkPR3cv7buE1d+Oszv3Q2bYwiJJYiDWEKwj/oAIj1gDa54nId+XIznriLaCNtdH2lNaWofcdinNQczwPQTJjEJe6aGlmSGkLtM0KvU0Ul/yLabOUMNUSQiyH/eGuHziXpaAqXOiy9KKDQGbsLHhw8tW5cYWCZMF8iaE4Fdl6h3V0pByZwgw3P5bkn/9xLAAFnRJPXcJWLueK/V/6EyekcnEZmmNVCA1IhreWr0yg0Y9mUpD10CCzuOvRjF/CwPrfuDJ7xhrRcMNin0J4kh0VsC61WVbPxW+ZJ+5RJ19ISb0TKUkPKTFCbe9GQ4b3TnhY6zTINGd6eZU8cEPxJE54Hfcxs73xk6QI5R9sNN5I/TTLA8ochxGtrzL/fOFoEc2u0VdEdzMAviJ3PUjPeOc+BtD1ChNlrFu5E3xahd+2jcoQmvjTiKQCa0uwn8G2Ndyp9KzBgE/rvlAvuE4+x0mGMgDaNr7mpIw9oo4Kn1SQsHxuA1foXDzr6sPeU5KLS2oNnI5Hzka0GgqVj54BISGzErNnbgEk8k+Gft47xRVoE1CowXe1QKO7KbS0= 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:(13230022)(4636009)(346002)(39860400002)(396003)(376002)(136003)(366004)(451199015)(1590799012)(71200400001)(85182001)(55016003)(54906003)(316002)(186003)(6916009)(9686003)(86362001)(53546011)(26005)(478600001)(6506007)(7696005)(33656002)(83380400001)(1580799009)(38070700005)(52536014)(8936002)(5660300002)(38100700002)(82960400001)(122000001)(4326008)(8676002)(64756008)(2906002)(66476007)(66556008)(76116006)(66446008)(66946007)(41300700001);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?R2wxZHVyRXEvV1F5ZGR4cEdUQVAzRGZSNTQwY05qWllvS2xIRk1BZEprRzZV?= =?utf-8?B?R0o4dCtGOEJBcVgvVUhsdUdDSEU1K1pIRGtkSkVSdnNNUUtEVERWTFRDUzdY?= =?utf-8?B?TEw0ck8xN293QTE0aFBDS2tlYjBjOXBHNCtHTWZ5b1BCdGZLMW9KWENNVDhH?= =?utf-8?B?cnZXWmNHU0hvU1RrNVp4VHZRUVV4OTZteGdOTTVNTktIUEUvTEsrS2d6QU1E?= =?utf-8?B?b2lkdGpXK2JQYXZKbkNVbzZlcmhONzRkZjhDbjhIeS9SYSthenJNanVNUHRV?= =?utf-8?B?ZWowWTY5OWdWSElENThDRko0MWhmWUJGOGdMRFhsWnNOajlMMnhzN0lhMVkx?= =?utf-8?B?S3k1WXFETEJweEZidzJqSWhVTFB2SFp3U1FTS1lNcDkzQ0g0VFN4aUd3U0pl?= =?utf-8?B?V3VrdmlIazZ2Y0JQeXZURlpYR3BZZTRHQ1R3NFlhYmFqTTIxaWJtMnpPck1N?= =?utf-8?B?WEZZbG5GNnFkUWJuVms3N3FxUS96dEQ5c3k2YmRTMERNQlRNL01TUTdwR3BV?= =?utf-8?B?SDAxRDVsNXBZV3U4OXFEZTIyTXp4UzlwQWFxWGFBQVorOTUyOW5rcE9LNFFt?= =?utf-8?B?T3dtb2lkWFMvdXJPb084VlZkYVZHU0NBY0wxQnRvMWxnK2I0bUpmeHpYNFdE?= =?utf-8?B?VkpVdGlyNjM5NjFpbGtJWlRMeHljVVRIQm9HUzFJZm1pVWhhT1VJb0djNG83?= =?utf-8?B?UW1mK2xMNGdJd2JmT1QycGlTQ0pBZ044Snk5QUZCR3didHI5dDcxMWl2Ymlq?= =?utf-8?B?QTVlckpiMVMybVpxMlBMdll5Y25nM0NBSjNEa05IU05UZ3F0eFdaNVpvdDhs?= =?utf-8?B?NVo4SHd2TWFJN3pBdGVsVGFaai9PenFiK1dlNkNRVndYdlcvZTFtMGl5RklP?= =?utf-8?B?TXdnS2NVYnlMY0duL3Q3QUtoaUlMTFJXd2FPa09ta2JraUJZaUhnbkRBYVhp?= =?utf-8?B?QXp2dDJGS3BCV1pZMFgzV3F2UUpUbFFleGUydm11blVaNDVkdmFkbjBzWWZO?= =?utf-8?B?aHBqZnlUcW5sc0RSekNrR1BYbVU1dzhKcjNBQ2lnUk10OTZrSGJvK2FrNERM?= =?utf-8?B?ZGsxRnkwcFdNajNheTBBekp4cHA5b216RmZMMXV5TnZ1Q2FYb2c4bkJwNVJY?= =?utf-8?B?aWEwR2JQclhBRnYweGxZN2dKb200SkJORW8xaDJlSnM0c1lubmROd0ZHcW9N?= =?utf-8?B?V0h1VXhFODRwVC9CUkhVYkNmUDczd1FyUzF0UDV4dlh5SnU1QU4xbk8yRElt?= =?utf-8?B?SUo2eEVpaC9vc3MzL01aQ1h6cXlkWkNoaWlMMDNnYmZPQ08rYk5kWVl3MVFs?= =?utf-8?B?NXFqRW9Zb0Zna2F1anVuMm1NbUlta0ZUZUlvckFobHFCYVpaZ0F5bGc1UUxt?= =?utf-8?B?VEpNc216dzZHbFM4V3RLNVZsU210WFdDNlp0V0xObDBOT3pKZEVvTWcxVFV6?= =?utf-8?B?K2JleW1sS2xyNUFSTFFqUzdmZ0VXZzRia0tCYjNWSFlwdnF4RWNWZHA2TUNE?= =?utf-8?B?eFN1K1g2OXU3QmcyRGlKMXJubGZNblZsdkxOZW1FVGhZYkY1SlNtTTFpWDNy?= =?utf-8?B?Z25SZUhlTnN2NDl2UzVva3RkSFhYb3VqNVF2MkV3a0MveVpQdFRIYVZVR0Zo?= =?utf-8?B?Y0tZRE9HNUhKeUV1QVhjdW1rMDhIRVhwR3FPa3NlSWQzWjVzem1zeXFJaUdp?= =?utf-8?B?UXBBekxudGVGQzFFYnlnb05mWXU0UGVHeTdaSzhCUVozWEhiS1o5d0FmTDEw?= =?utf-8?B?aGJ4YWwzSVplZmR0Z25STWxncFBaVVRMVXY1YnR0Zkk2OGxOMVVKMk80Vm1p?= =?utf-8?B?N21lL3FnazF3UFQwZUFFelN6M1AvM245bEh5dHBwU2pzL2oxdVRIbHJJTnFw?= =?utf-8?B?TXB0THcwT3p6VjFEb3phdzA3U2lUM3Nqamx3WjhvbzhYSjFuZmtaeWxhSHRI?= =?utf-8?B?MnYwbU9oeVRLZUJjbjdLUUc1RUhkK2NFa25lU2dBdnAwZlpsdEloNWtQS1ly?= =?utf-8?B?SW9SaTQ2Tkl2Qm4zeGlNZHErbFcyRG5RMjF5ZmRkamFrSHM3cVhUUFBEVDVU?= =?utf-8?B?TXhQYnlhaERQRzRuOTNXQ3RPb0NSZk9wMUsrR2M0NHBYdkgvVDFCSkkrdUFh?= =?utf-8?Q?Bo/sI46L3ee2LEHGYsVnuwBWc?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 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: 87c1741e-c7d0-4256-819c-08dac38c26c5 X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Nov 2022 02:26:33.9506 (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: bXdTl4DlQMc8USfIExadZVjrWKl/rfTPDZ6YagsRS/Icy/ni9dNJEQtLiDITQWdOjbd0/WrX2U9XL0gW4I6Sgw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYAPR01MB5452 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk T24gVHVlc2RheSwgTm92ZW1iZXIgOCwgMjAyMiA3OjUwIFBNIEFtaXQgS2FwaWxhIDxhbWl0Lmth cGlsYTE2QGdtYWlsLmNvbT4gd3JvdGU6DQo+IE9uIE1vbiwgTm92IDcsIDIwMjIgYXQgNjo0OSBQ TSBob3V6ai5mbnN0QGZ1aml0c3UuY29tDQo+IDxob3V6ai5mbnN0QGZ1aml0c3UuY29tPiB3cm90 ZToNCj4gPg0KPiA+IE9uIEZyaWRheSwgTm92ZW1iZXIgNCwgMjAyMiA3OjQ1IFBNIEFtaXQgS2Fw aWxhDQo+IDxhbWl0LmthcGlsYTE2QGdtYWlsLmNvbT4gd3JvdGU6DQo+ID4gPiAzLg0KPiA+ID4g YXBwbHlfaGFuZGxlX3N0cmVhbV9zdGFydChTdHJpbmdJbmZvIHMpIHsgLi4uDQo+ID4gPiArIGlm ICghZmlyc3Rfc2VnbWVudCkNCj4gPiA+ICsgew0KPiA+ID4gKyAvKg0KPiA+ID4gKyAqIFVubG9j ayB0aGUgc2hhcmVkIG9iamVjdCBsb2NrIHNvIHRoYXQgcGFyYWxsZWwgYXBwbHkgd29ya2VyDQo+ ID4gPiArICogY2FuIGNvbnRpbnVlIHRvIHJlY2VpdmUgYW5kIGFwcGx5IGNoYW5nZXMuDQo+ID4g PiArICovDQo+ID4gPiArIHBhcmFsbGVsX2FwcGx5X3VubG9jayh3aW5mby0+c2hhcmVkLT5zdHJl YW1fbG9ja19pZCk7DQo+ID4gPiAuLi4NCj4gPiA+IH0NCj4gPiA+DQo+ID4gPiBDYW4gd2UgaGF2 ZSBhbiBhc3NlcnQgYmVmb3JlIHRoaXMgdW5sb2NrIGNhbGwgdGhhdCB0aGUgbG9jayBtdXN0IGJl DQo+ID4gPiBoZWxkPyBTaW1pbGFybHksIGlmIHRoZXJlIGFyZSBvdGhlciBwbGFjZXMgdGhlbiB3 ZSBjYW4gaGF2ZSBhc3NlcnQNCj4gPiA+IHRoZXJlIGFzIHdlbGwuDQo+ID4NCj4gPiBJdCBzZWVt cyB3ZSBkb24ndCBoYXZlIGEgc3RhbmRhcmQgQVBJIGNhbiBiZSB1c2VkIHdpdGhvdXQgYSB0cmFu c2FjdGlvbi4NCj4gPiBNYXliZSB3ZSBjYW4gdXNlIHRoZSBsaXN0IFBhcmFsbGVsQXBwbHlMb2Nr aWRzIHRvIGNoZWNrIHRoYXQgPw0KPiA+DQo+IA0KPiBZZWFoLCB0aGF0IG9jY3VycmVkIHRvIG1l IGFzIHdlbGwgYnV0IEkgYW0gbm90IHN1cmUgaWYgaXQgaXMgYSBnb29kDQo+IGlkZWEgdG8gbWFp bnRhaW4gdGhpcyBsaXN0IGp1c3QgZm9yIGFzc2VydGlvbiBidXQgaWYgaXQgdHVybnMgb3V0IHRo YXQNCj4gd2UgbmVlZCB0byBtYWludGFpbiBpdCBmb3IgYSBkaWZmZXJlbnQgcHVycG9zZSB0aGVu IHdlIGNhbiBwcm9iYWJseQ0KPiB1c2UgaXQgZm9yIGFzc2VydCBhcyB3ZWxsLg0KPiANCj4gRmV3 IG90aGVyIGNvbW1lbnRzL3F1ZXN0aW9uczoNCj4gPT09PT09PT09PT09PT09PT09PT09PT09PQ0K PiAxLg0KPiBhcHBseV9oYW5kbGVfc3RyZWFtX3N0YXJ0KFN0cmluZ0luZm8gcykNCj4gew0KPiAu Li4NCj4gDQo+ICsgY2FzZSBUUkFOU19QQVJBTExFTF9BUFBMWToNCj4gLi4uDQo+IC4uLg0KPiAr IC8qDQo+ICsgKiBVbmxvY2sgdGhlIHNoYXJlZCBvYmplY3QgbG9jayBzbyB0aGF0IHRoZSBsZWFk ZXIgYXBwbHkgd29ya2VyDQo+ICsgKiBjYW4gY29udGludWUgdG8gc2VuZCBjaGFuZ2VzLg0KPiAr ICovDQo+ICsgcGFyYWxsZWxfYXBwbHlfdW5sb2NrKE15UGFyYWxsZWxTaGFyZWQtPnN0cmVhbV9s b2NrX2lkLA0KPiBBY2Nlc3NTaGFyZUxvY2spOw0KPiANCj4gQXMgcGVyIHRoZSBkZXNpZ24gaW4g dGhlIGVtYWlsIFsxXSwgdGhpcyBsb2NrIG5lZWRzIHRvIGJlIHJlbGVhc2VkIGJ5DQo+IHRoZSBs ZWFkZXIgd29ya2VyIGR1cmluZyBzdHJlYW0gc3RhcnQgd2hpY2ggbWVhbnMgaXQgc2hvdWxkIGJl DQo+IHJlbGVhc2VkIHVuZGVyIHRoZSBzdGF0ZSBUUkFOU19MRUFERVJfU0VORF9UT19QQVJBTExF TC4gRnJvbSB0aGUNCj4gY29tbWVudHMgYXMgd2VsbCwgaXQgaXMgbm90IGNsZWFyIHRvIG1lIHdo eSBhdCB0aGlzIHRpbWUgbGVhZGVyIGlzDQo+IHN1cHBvc2VkIHRvIGJlIGJsb2NrZWQuIElzIHRo ZXJlIGEgcmVhc29uIGZvciBkb2luZyBkaWZmZXJlbnRseSB0aGFuDQo+IHdoYXQgaXMgcHJvcG9z ZWQgaW4gdGhlIG9yaWdpbmFsIGRlc2lnbj8NCj4gMi4gU2ltaWxhciB0byBhYm92ZSwgaXQgaXMg bm90IGNsZWFyIHdoeSB0aGUgcGFyYWxsZWwgd29ya2VyIG5lZWRzIHRvDQo+IHJlbGVhc2UgdGhl IHN0cmVhbV9sb2NrX2lkIGxvY2sgYXQgc3RyZWFtX2NvbW1pdCBhbmQgc3RyZWFtX3ByZXBhcmU/ DQoNClNvcnJ5LCB0aGVzZSB3ZXJlIGR1ZSB0byBteSBtaXNzLiBDaGFuZ2VkLg0KDQo+IDMuIEFt LCBJIHVuZGVyc3RhbmRpbmcgY29ycmVjdGx5IHRoYXQgeW91IG5lZWQgdG8gbG9jay91bmxvY2sg aW4NCj4gYXBwbHlfaGFuZGxlX3N0cmVhbV9hYm9ydCgpIGZvciB0aGUgcGFyYWxsZWwgd29ya2Vy IGJlY2F1c2UgYWZ0ZXINCj4gcm9sbGJhY2sgdG8gc2F2ZXBvaW50LCB0aGVyZSBjb3VsZCBiZSBh bm90aGVyIHNldCBvZiBzdHJlYW0gb3INCj4gdHJhbnNhY3Rpb24gZW5kIGNvbW1hbmRzIGZvciB3 aGljaCB5b3Ugd2FudCB0byB3YWl0PyBJZiBzbywgbWF5YmUgYW4NCj4gYWRkaXRpb25hbCBjb21t ZW50IHdvdWxkIHNlcnZlIHRoZSBwdXJwb3NlLg0KDQpJIHRoaW5rIHlvdSBhcmUgcmlnaHQuIEkg d2lsbCB0aGluayBhYm91dCB0aGlzIGluIGNhc2UgSSBtaXNzZWQgc29tZXRoaW5nIGFuZA0KYWRk IHNvbWUgY29tbWVudHMgaW4gbmV4dCB2ZXJzaW9uLg0KDQo+IDQuDQo+IFRoZSBsZWFkZXIgbWF5 IGhhdmUgc2VudCBtdWx0aXBsZSBzdHJlYW1pbmcgYmxvY2tzIGluIHRoZSBxdWV1ZQ0KPiArICog V2hlbiB0aGUgY2hpbGQgaXMgcHJvY2Vzc2luZyBhIHN0cmVhbWluZyBibG9jay4gU28gb25seSB0 cnkgdG8NCj4gKyAqIGxvY2sgaWYgdGhlcmUgaXMgbm8gbWVzc2FnZSBsZWZ0IGluIHRoZSBxdWV1 ZS4NCj4gDQo+IExldCdzIHNsaWdodGx5IHJld29yZCB0aGlzIHRvOiAiQnkgdGhlIHRpbWUgY2hp bGQgaXMgcHJvY2Vzc2luZyB0aGUNCj4gY2hhbmdlcyBpbiB0aGUgY3VycmVudCBzdHJlYW1pbmcg YmxvY2ssIHRoZSBsZWFkZXIgbWF5IGhhdmUgc2VudA0KPiBtdWx0aXBsZSBzdHJlYW1pbmcgYmxv Y2tzLiBTbywgdHJ5IHRvIGxvY2sgb25seSBpZiB0aGVyZSBpcyBubyBtZXNzYWdlDQo+IGxlZnQg aW4gdGhlIHF1ZXVlLiINCg0KQ2hhbmdlZC4NCg0KPiA1Lg0KPiArcGFyYWxsZWxfYXBwbHlfdW5s b2NrKHVpbnQxNiBsb2NraWQsIExPQ0tNT0RFIGxvY2ttb2RlKQ0KPiArew0KPiArIGlmICghbGlz dF9tZW1iZXJfaW50KFBhcmFsbGVsQXBwbHlMb2NraWRzLCBsb2NraWQpKQ0KPiArIHJldHVybjsN Cj4gKw0KPiArIFVubG9ja1NoYXJlZE9iamVjdEZvclNlc3Npb24oU3Vic2NyaXB0aW9uUmVsYXRp b25JZCwNCj4gTXlTdWJzY3JpcHRpb24tPm9pZCwNCj4gKyBsb2NraWQsIGFtX2xlYWRlcl9hcHBs eV93b3JrZXIoKSA/DQo+ICsgQWNjZXNzRXhjbHVzaXZlTG9jazoNCj4gKyBBY2Nlc3NTaGFyZUxv Y2spOw0KPiANCj4gVGhpcyBmdW5jdGlvbiBzaG91bGQgdXNlIGxvY2ttb2RlIGFyZ3VtZW50IHBh c3NlZCByYXRoZXIgdGhhbiBkZWNpZGluZw0KPiBiYXNlZCBvbiBhbV9sZWFkZXJfYXBwbHlfd29y a2VyLiBJIHRoaW5rIHRoaXMgaXMgYW55d2F5IGdvaW5nIHRvDQo+IGNoYW5nZSBpZiB3ZSBzdGFy dCB1c2luZyBhIGRpZmZlcmVudCBsb2NrdGFnIGFzIGRpc2N1c3NlZCBpbiBvbmUgb2YNCj4gdGhl IGFib3ZlIGVtYWlscy4NCg0KQ2hhbmdlZC4NCg0KPiA2Lg0KPiArDQo+ICAvKg0KPiAgICogQ29t bW9uIHNwb29sZmlsZSBwcm9jZXNzaW5nLg0KPiAgICovDQo+IC1zdGF0aWMgdm9pZA0KPiAtYXBw bHlfc3Bvb2xlZF9tZXNzYWdlcyhUcmFuc2FjdGlvbklkIHhpZCwgWExvZ1JlY1B0ciBsc24pDQo+ ICt2b2lkDQo+ICthcHBseV9zcG9vbGVkX21lc3NhZ2VzKEZpbGVTZXQgKnN0cmVhbV9maWxlc2V0 LCBUcmFuc2FjdGlvbklkIHhpZCwNCj4gDQo+IFNlZW1zIGxpa2UgYSBzcHVyaW91cyBsaW5lIGFk ZGl0aW9uLg0KDQpSZW1vdmVkLg0KDQo+IEZhaXIgcG9pbnQuIEkgdGhpbmsgaWYgdGhlIHVzZXIg d2FudHMsIHNoZSBjYW4gam9pbiB3aXRoIHBnX3N0YXRfc3Vic2NyaXB0aW9uDQo+IGJhc2VkIG9u IFBJRCBhbmQgZmluZCB0aGUgY29ycmVzcG9uZGluZyBzdWJzY3JpcHRpb24uIEhvd2V2ZXIsIGlm IHdlIHdhbnQgdG8NCj4gaWRlbnRpZnkgZXZlcnl0aGluZyB2aWEgcGdfbG9ja3MgdGhlbiBJIHRo aW5rIHdlIHNob3VsZCBhbHNvIG1lbnRpb24gY2xhc3NpZA0KPiBvciBkYXRhYmFzZSBpZCBhcyBm aWVsZDEuIFNvLCBpdCB3b3VsZCBsb29rIGxpa2U6IGZpZWxkMTogKHBnX3N1YnNjcmlwdGlvbidz DQo+IG9pZCBvciBjdXJyZW50IGRiIGlkKTsgZmllbGQyOiBPSUQgb2Ygc3Vic2NyaXB0aW9uIGlu IHBnX3N1YnNjcmlwdGlvbjsNCj4gZmllbGQzOiBsb2NhbCBvciByZW1vdGUgeGlkOyBmaWVsZDQ6 IDAvMSB0byBkaWZmZXJlbnRpYXRlIGJldHdlZW4gcmVtb3RlIGFuZA0KPiBsb2NhbCB4aWQuDQoN CkkgdHJpZWQgdG8gdXNlIGxvY2FsIHhpZCB0byBsb2NrIHRoZSB0cmFuc2FjdGlvbiwgYnV0IHdl IGN1cnJlbnRseSBjYW4gb25seSBnZXQNCnRoZSBsb2NhbCB4aWQgYWZ0ZXIgYXBwbHlpbmcgdGhl IGZpcnN0IGNoYW5nZS4gQW5kIGl0J3MgcG9zc2libGUgdGhhdCB0aGUgZmlyc3QNCmNoYW5nZSBp biBwYXJhbGxlbCBhcHBseSB3b3JrZXIgaXMgYmxvY2tlZCBieSBvdGhlciBwYXJhbGxlbCBhcHBs eSB3b3JrZXIgd2hpY2gNCm1lYW5zIHRoZSBwYXJhbGxlbCBhcHBseSB3b3JrZXIgbWlnaHQgbm90 IGhhdmUgYSBjaGFuY2UgdG8gc2hhcmUgdGhlIGxvY2FsIHhpZA0Kd2l0aCB0aGUgbGVhZGVyLg0K DQpUbyByZXNvbHZlIHRoaXMsIEkgdHJpZWQgdG8gdXNlIHJlbW90ZV94aWQgZm9yIGJvdGggc3Ry ZWFtIGFuZCB0cmFuc2FjdGlvbiBsb2NrDQphbmQgdXNlIGZpZWxkNDogMC8xIHRvIGRpZmZlcmVu dGlhdGUgYmV0d2VlbiBzdHJlYW0gYW5kIHRyYW5zYWN0aW9uIGxvY2suIExpa2U6DQoNCmZpZWxk MTogKGN1cnJlbnQgZGIgaWQpOyBmaWVsZDI6IE9JRCBvZiBzdWJzY3JpcHRpb24gaW4gcGdfc3Vi c2NyaXB0aW9uOw0KZmllbGQzOiByZW1vdGUgeGlkOyBmaWVsZDQ6IDAvMSB0byBkaWZmZXJlbnRp YXRlIGJldHdlZW4gc3RyZWFtX2xvY2sgYW5kDQp0cmFuc2FjdGlvbl9sb2NrLg0KDQoNCj4gSUlV QywgdGhpcyBoYW5kbGluZyBpcyByZXF1aXJlZCBmb3IgdGhlIGNhc2Ugd2hlbiB3ZSBhcmUgbm90 IGFibGUgdG8gc2VuZCBhDQo+IG1lc3NhZ2UgdG8gcGFyYWxsZWwgYXBwbHkgd29ya2VyIGFuZCBz d2l0Y2ggdG8gc2VyaWFsaXplIG1vZGUgKHdyaXRlDQo+IHJlbWFpbmluZyBkYXRhIHRvIGZpbGUp LiBCYXNpY2FsbHksIGl0IGlzIHBvc3NpYmxlIHRoYXQgdGhlIG1lc3NhZ2UgaXMgb25seQ0KPiBw YXJ0aWFsbHkgc2VudCBhbmQgdGhlcmUgaXMgbm8gd2F5IGNsZWFuIHRoZSBxdWV1ZS4gSSBmZWVs IHdlIGNhbiBkaXJlY3RseQ0KPiBmcmVlIHRoZSB3b3JrZXIgaW4gdGhpcyBjYXNlIGV2ZW4gaWYg dGhlcmUgaXMgYSBzcGFjZSBpbiB0aGUgd29ya2VyIHBvb2wuIFRoZQ0KPiBvdGhlciBpZGVhIGNv dWxkIGJlIHRoYXQgd2UgZGV0YWNoIGZyb20gc2htX21xIGFuZCB0aGVuIGludmVudCBhIHdheSB0 bw0KPiByZS1hdHRhY2ggaXQgYWZ0ZXIgd2UgdHJ5IHRvIHJldXNlIHRoZSBzYW1lIHdvcmtlci4N Cg0KRm9yIG5vdywgSSBkaXJlY3RseSBzdG9wIHRoZSB3b3JrZXIgaW4gdGhpcyBjYXNlLiBCdXQg SSB3aWxsIHRoaW5rIG1vcmUgYWJvdXQNCnRoaXMuDQoNCkJlc3QgcmVnYXJkcywNCkhvdSB6ag0K