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 1oYhGr-0006vt-1U for pgsql-hackers@arkaria.postgresql.org; Thu, 15 Sep 2022 05:18:41 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1oYhGp-0004zY-Ux for pgsql-hackers@arkaria.postgresql.org; Thu, 15 Sep 2022 05:18:39 +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 1oYhGp-0004zP-D8 for pgsql-hackers@lists.postgresql.org; Thu, 15 Sep 2022 05:18:39 +0000 Received: from esa18.fujitsucc.c3s2.iphmx.com ([216.71.158.38]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1oYhGm-00067z-8u for pgsql-hackers@lists.postgresql.org; Thu, 15 Sep 2022 05:18:38 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=fujitsu.com; i=@fujitsu.com; q=dns/txt; s=fj1; t=1663219117; x=1694755117; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=AYOdFqdpguKvm0QB6dEU/WMlkA0zpyZXJXFl4Wx26kE=; b=I3PqpgV0ABeVRMTsYmxamGEa/YaPt31ZMVYgvHqCl3YZZHG8t4NedXAx INkPlgDlEskZ+eJbfRksTnd5nS5giGbF8QYkfk0gmLtZEljwMBi9w9DwI d0JC/QGdmss4DOMwLeUyORJO67ATBobvnAPBIoc607ZH4Zz+OAKpUUFVE LNZR09TATkz5aXQ5m+Svo83lYSUrPnquWvTSE16up/0ajYbhjs6ltJhNQ FjI/4++u/LmxykcNY2UMA4IWk6OH7RqjMbg/X4dtJl5Y4dVxNOQ2mfg7p ppPzIpnK8Bm78O5eCYI3lTG5JxyshBNg/UelQG1jmk+bTRZnp45kGWZxP w==; X-IronPort-AV: E=McAfee;i="6500,9779,10470"; a="66846801" X-IronPort-AV: E=Sophos;i="5.93,317,1654527600"; d="scan'208";a="66846801" Received: from mail-os0jpn01lp2107.outbound.protection.outlook.com (HELO JPN01-OS0-obe.outbound.protection.outlook.com) ([104.47.23.107]) by ob1.fujitsucc.c3s2.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Sep 2022 14:18:33 +0900 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=VZIBk4sDSE7pbgAdhmpLdlHNUhRPWIZi/2SfLsx28GJXay3OGTYCMmOIal5uHKkK93F2KYoafUNa73lULE2Ci3z1rAOSqHpjUbdrD9BuD3M2n7JXSQUNp7ROe7N8RfGphdm4xn6uzCrIr1LKDz0PsoG5TpVbDa0eCsQEI/3RsP+HSDZRCrM2gixmZf5SqvQiVy3iYYvEqL4OS3mmNkLU2EOZfHsoUgMJeZ0RdNbKd1IB1VMXeW/syDlbTwKnjc3KaMQXHn/URKGxapbbJNTKnOVdQRNrYrVUcPKbITfbXCgWFtBAWVsuyKvRk2TSP+FF7vTxjXv8rx0ajx+rAx6wCA== 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=AYOdFqdpguKvm0QB6dEU/WMlkA0zpyZXJXFl4Wx26kE=; b=gIP4xRwh3voK9sKFtcMCnEl2kdhUsfdTx/UdjpIN8+OK3vLbkoVB8pr9Yb23bk7SvV3uEJ8anW8aDF3h+ca3X0i5MP+enSZ9+3w+g2rnz6McxPCBX58DwMPX3dPUShCYCPNkYTn+rIyZFahpjsQ7u9yi3JzjrBiT2DuhEGruI6KyQv8cP2bxXM+zrD5DHvlNyMkchTK2eimGNKBQJSB1pneh98oHPaOMPzZ6YPbxKIm86WIqVCaNSAF2HXywcCD/F0Pxm3+ioWmPkQVRIw9V0wSBzrMYep4U+mJ5ardUPG1W3EQO4IcDGBV11JmaKYPlBii0XRAO4qvv2AxAgcuM0A== 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 OS3PR01MB6275.jpnprd01.prod.outlook.com (2603:1096:604:f1::8) by TYCPR01MB8724.jpnprd01.prod.outlook.com (2603:1096:400:10f::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5632.15; Thu, 15 Sep 2022 05:18:28 +0000 Received: from OS3PR01MB6275.jpnprd01.prod.outlook.com ([fe80::d059:c042:fb67:b727]) by OS3PR01MB6275.jpnprd01.prod.outlook.com ([fe80::d059:c042:fb67:b727%4]) with mapi id 15.20.5612.022; Thu, 15 Sep 2022 05:18:28 +0000 From: "wangw.fnst@fujitsu.com" To: Peter Smith , "houzj.fnst@fujitsu.com" CC: Amit Kapila , Dilip Kumar , Masahiko Sawada , "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: AQHYSXX4/sKYGv3sJE+7a/aZxbuwx6zlvxQAgAkRYICACBI2gIABs50AgAA5UwCAApvIgIAFAGuAgAXc1wCAADa7gIALO/aAgAsRZICAB606AIAS9tXQgAAv04CAAWQLgIABHxKAgAA3o4CAAd7v0IAJQDLggAkyO+CAAiLMAIAC0M5ggARwU4CABP8UAIAAGBkAgAd/49CABPEVgIAJO7xggABuopCACQ1GAIAJSjQggAS+3MCABq/QgIABSJUAgAAOtoCAACmRgIAB78qAgAqLjwCADJX8gIAGVWBQgAGA7xCAAesqgIABYRWAgAgvEYCAAWyzgIAGSRYAgAFBqICAAFYagIABchmAgAGqzwCAATq/gIAFJCcAgAAGs4CABeQbAIAJUL7Q Date: Thu, 15 Sep 2022 05:18:28 +0000 Message-ID: References: In-Reply-To: Accept-Language: ja-JP, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: =?utf-8?B?TVNJUF9MYWJlbF9hNzI5NWNjMS1kMjc5LTQyYWMtYWI0ZC0zYjBmNGZlY2Uw?= =?utf-8?B?NTBfQWN0aW9uSWQ9ZGRjNDc0MDgtYTk1OC00YTM2LWJmMWMtYzA0ZjY4YWFl?= =?utf-8?B?MWY2O01TSVBfTGFiZWxfYTcyOTVjYzEtZDI3OS00MmFjLWFiNGQtM2IwZjRm?= =?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?ZWNlMDUwX1NldERhdGU9MjAyMi0wOS0xNVQwNToxNzozNVo7TVNJUF9MYWJl?= =?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: OS3PR01MB6275:EE_|TYCPR01MB8724:EE_ x-ms-office365-filtering-correlation-id: efbb0350-003a-4e86-88ee-08da96d9b94b x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 8OPk88d3uzct8NbhN2yP0nhjZT9GTPqmIqf1Z3zo4LUQcMOBcn0lyu/zmI+X6fuDSVY0DGlJ8XX6zclwn8ltnjH6m27KE8PKO82dxFyz9YZjTd/pz5v1QpACKED9/+frIpMyv5k9Fgd5DHuJgOrk+HBmoKAKlCgfeRd4h4D21Yg0/azJ2KeY9yYoAPLK1QNHVe15T6BVBGecgWA2ijgI8/TIJCEYQ0oQl59nPD9CDC4iJmhm2Mt62URSKJCZZqP/Ib18PiZOgXc5vNNb/enAxLXLKmpty5C3Gdk+I6B09WWmXI3sz8jpNjVQpE4HXmYWKwBQ+VBjrUecbQXw2bKL6eokWgoaBK2Zc6jGcpP7JiBtcF+wk4WiQgpoAPhydhekrdyzRieWgaquezMChZq0i1ViTFmIdwa8p6y7GVFMzCV7KnhTnhCc7ixPDLRyrp7xLsuyQUlZNvU9Cpwrsep2zMPdcjrNAHpa6oaLY6cEv9nEkiriIOgZOzHd29ORbKA6inTmvLzao9FQxYInvbo1rQmY2tV9wQi1L/37Y1d7j8YM46GZ77eBLn+A5Iosvdx+g/Jh+n0KqzJYK5V3D+a9JREwFxoTpEcve+tEflreZzTxihU0LNbE0G5NEWfCeHpbXAoga3Qwgw9FAsXes+xptTJPwnoyR+2FcMmNWC98A3pTtC3Yidv7inzFeKPE28A9DDocXyUilk1CABwrxoW468XoiCGRebZz+QGLQwYfqTWEjmdoRnLgtEXI8TVuAewud3+pCLzeH8Ck398lereHzAChVABLxKa9lUIL2u/Vl9tT4DgjlRW5yFqhM3QVF+A3u/zPhihuTNrz+4GZ0MfXtQ== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OS3PR01MB6275.jpnprd01.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(366004)(39860400002)(376002)(136003)(346002)(396003)(1590799012)(451199015)(71200400001)(82960400001)(122000001)(38070700005)(2906002)(38100700002)(41300700001)(55016003)(26005)(186003)(53546011)(7696005)(33656002)(9686003)(966005)(85182001)(83380400001)(478600001)(66556008)(66946007)(76116006)(45080400002)(66476007)(66446008)(1580799009)(64756008)(4326008)(316002)(8676002)(110136005)(86362001)(5660300002)(54906003)(52536014)(8936002)(6506007)(6636002);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?eXIzTFUvbnNaNU5LODBvM1R0UmVMN2ZLb2JDTWVkd1dnWEcrd1lTSnJKOEQ4?= =?utf-8?B?aWlVZ0RUYldqMXFiMUo4Rmw2aHhQNGNGVEt3WFB3RExaZHdZcWlZc2YvMlBC?= =?utf-8?B?cHFURHEzVnNiWGMxUlVJbWorWFlyTmhlYVNwQkxFd3RwRGlJVzdLRVdVRFdS?= =?utf-8?B?N280TEdXYzVjclFNWjZFWmxqN2FkRGo0MFh0SVp4cVo3SlFsWnB6RVRGbHIx?= =?utf-8?B?TGdmRGcrUzZJV3ZZMVdrbFh5cVllL2NsakRLbTNPU1hmNzZ3OHJkc1pCbFNZ?= =?utf-8?B?bW9xYy83TFM3MEhMRGxwdDl3Y25RU1dKemE2cUNDMnRnN1VqWFR3WGpCb0RK?= =?utf-8?B?dDcxRmY2QXlNM2o1YWpyVlJzV1VZNTVqZVVHR0kvTTFFTHJESStyME03T2kz?= =?utf-8?B?QmdQU1JUZHpUUFN3bzI4eldmVDRnazZaS2JOSkYwQno1ZE1VMXNtWm1HbUU4?= =?utf-8?B?UGFwWllLbFRxTER2a3BOUFF0aUpkNDF2MjI2TVpuTVQ2djlZSXlwTkZ1Y0E0?= =?utf-8?B?dDAyMm5hU3JjQlZsQjYrVmNDcTQ1WUZFdzdUUEp4ZUNwbGpsMzIyMHRvL3Ra?= =?utf-8?B?V1VMZm0zMzZ0TjFNcWVoRTdYbGpFQ3hCWWIyaUg2UUo2bWFyVzIzL05Qaldi?= =?utf-8?B?MmRUQXZuQ0tDSlJ1N2I0QkpTUE5SSkxoRW5xNWZDUGRWbXNvSktTUUVKblI3?= =?utf-8?B?bzlCby9EYUpZb2NPV0FabVA0U0ZoQTFkcWdBbUNnSCt5R2FidFV3NkE4WHBM?= =?utf-8?B?RXdpOE1zdE5lbkE4dG9zY0ZUOWYweEwwRXYzb1lLZWNVanR2U3dtZWhRMzVN?= =?utf-8?B?UzhhUVM0YU0xdnhZZnd0N0FKWk90MDNqRVF6UFRwQW5aYmk4NmMwTWM3Z1hV?= =?utf-8?B?RTNTeFNCc1VmZmU0OEF2T1NzYlNzTzVYMmJrZDVxQTZGcE5PZWVMVXRMSGo1?= =?utf-8?B?SSt0eE9jZXl6dFBJSkVMa21UWGtOMU9YN1pwT2tKeWxBajBPUW1iU0c2WFJn?= =?utf-8?B?V0gxWGxwSjJUWDIvVGI2MG4wNWc1UytpMk42eHpiM2JPeGxpSTQvVEpyZFRK?= =?utf-8?B?V2pWOXdqZkgrSWRCMkNPUGxta0FlMWJGTUZEUDZZdGJaRXpUbFd2ek5IaVJO?= =?utf-8?B?Q1Q2MithcnliSjJ2UFU2M1gyWjdOelYreEZJWms0aDlKbnZVK2Nxa0hMYWNP?= =?utf-8?B?b2hIdlNYSUdOS3dMM2t3L3UyckZVYjZRcHB0dFNkclZTWStxQ0xFMHlBT1Vs?= =?utf-8?B?ZVUzUHlxaTlCWFczZDdkTG1QazZwSW1HRzB1SUNNN2dhV3doZzJGNjNYZi9L?= =?utf-8?B?UTdhNVdZb3pVS1ExWWVsL001UHY4b3RKbFBkOUNlY1VaNVp2bDBiMU5rY1pZ?= =?utf-8?B?bU1PemV5RjFXS3NZNys2aDE1a3IrQ3ZHcjR5RmpPYXY0cUFXeTV2UEhjeXJW?= =?utf-8?B?WkZYcHJHMGlrTGF5YmUyVnVlOW52Q1JIdDNoa1VHVkNUQnhJcm9IUXYzUkpK?= =?utf-8?B?aUdjcXg4bGlCR3ZwMWc4MnIzZkI4NUJjWHd6eVJKbHBpZTdUTDFlQ1gyQTZ6?= =?utf-8?B?TDdHSTltR2lDU1pnZ1RjQUp2VERUR2RGWHlVVXZhUzZNcEtJOVRNVlF6YTdR?= =?utf-8?B?VE1CSUp1bk94a25nUUV0ZlBVWmtJNUZPSjZiQzFlUy9xOG9ZSk1LQk5ObWRI?= =?utf-8?B?dzlzeG9NbnZ4TWFlbEZTUGcxY3RENktwWXRvRnlzZlZsTk9tV3BaQ3BnVWpk?= =?utf-8?B?WC9ESjFhaDVTR1Y4cmhseERDUW9ZQUVOQUxxZnc5TncwR2RQTmxQUUhtdGN0?= =?utf-8?B?RTByeXIrcGErdGtoYWJaeURZS3V4TmcvZVp1VnVtWUhmRkFtQmloZWpFcmFP?= =?utf-8?B?azBlSnY2aitZRjZheCtGY3JITTR3eW51N0t0bEU1alVzb0pZUlR2UXFCMVo3?= =?utf-8?B?VE5Ca0RVL29LNzhrd3dKUm1mR3FZaEs5a3Q1YUtPME5Sbno1NTl3dEhxQjZz?= =?utf-8?B?SEJqQ1dmd3REY3RjYzk4aFFFTWtDSHVwRk92T0wrOUQrMWhDZThUbkxzU1gv?= =?utf-8?B?dDN4ZjJGTkgxeFloY3J2K2VwY1BFRmRBVGJKL3U5bi90V21uRGNDRHlHVFIr?= =?utf-8?Q?acG9zaz9yXp6W7AOZPatLHv9n?= 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: OS3PR01MB6275.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: efbb0350-003a-4e86-88ee-08da96d9b94b X-MS-Exchange-CrossTenant-originalarrivaltime: 15 Sep 2022 05:18:28.6838 (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: Yc2wzFVVjvcZj+0hahmKbnCmDP/Wc5gc4bDZWkHIgo45V1RiT9OtwJIKjr6bTQ9+ke0ymOThkJkuAdvenmCsBw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYCPR01MB8724 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk T24gRnJpLCBTZXAgOSwgMjAyMiBhdCAxNTowMiBQTSBQZXRlciBTbWl0aCA8c21pdGhwYjIyNTBA Z21haWwuY29tPiB3cm90ZToNCj4gSGVyZSBhcmUgbXkgcmV2aWV3IGNvbW1lbnRzIGZvciB0aGUg djI4LTAwMDEgcGF0Y2g6DQo+IA0KPiAoVGhlcmUgbWF5IGJlIHNvbWUgb3ZlcmxhcCB3aXRoIG90 aGVyIHBlb3BsZSdzIHJldmlldyBjb21tZW50cyBhbmQvb3INCj4gc29tZSBmaXhlcyBhbHJlYWR5 IG1hZGUpLg0KDQpUaGFua3MgZm9yIHlvdXIgY29tbWVudHMuDQoNCj4gNS4gc3JjL2JhY2tlbmQv bGlicHEvcHFtcS5jDQo+IA0KPiArIHsNCj4gKyBpZiAoSXNQYXJhbGxlbFdvcmtlcigpKQ0KPiAr IFNlbmRQcm9jU2lnbmFsKHBxX21xX3BhcmFsbGVsX2xlYWRlcl9waWQsDQo+ICsgICAgUFJPQ1NJ R19QQVJBTExFTF9NRVNTQUdFLA0KPiArICAgIHBxX21xX3BhcmFsbGVsX2xlYWRlcl9iYWNrZW5k X2lkKTsNCj4gKyBlbHNlDQo+ICsgew0KPiArIEFzc2VydChJc0xvZ2ljYWxQYXJhbGxlbEFwcGx5 V29ya2VyKCkpOw0KPiArIFNlbmRQcm9jU2lnbmFsKHBxX21xX3BhcmFsbGVsX2xlYWRlcl9waWQs DQo+ICsgICAgUFJPQ1NJR19QQVJBTExFTF9BUFBMWV9NRVNTQUdFLA0KPiArICAgIHBxX21xX3Bh cmFsbGVsX2xlYWRlcl9iYWNrZW5kX2lkKTsNCj4gKyB9DQo+ICsgfQ0KPiANCj4gVGhpcyBjb2Rl IGNhbiBiZSBzaW1wbGlmaWVkIGlmIHlvdSB3YW50IHRvLiBGb3IgZXhhbXBsZSwNCj4gDQo+IHsN Cj4gUHJvY1NpZ25hbFJlYXNvbiByZWFzb247DQo+IEFzc2VydChJc1BhcmFsbGVsV29ya2VyKCkg fHwgSXNMb2dpY2FsUGFyYWxsZWxBcHBseVdvcmtlcigpKTsNCj4gcmVhc29uID0gSXNQYXJhbGxl bFdvcmtlcigpID8gUFJPQ1NJR19QQVJBTExFTF9NRVNTQUdFIDoNCj4gUFJPQ1NJR19QQVJBTExF TF9BUFBMWV9NRVNTQUdFOw0KPiBTZW5kUHJvY1NpZ25hbChwcV9tcV9wYXJhbGxlbF9sZWFkZXJf cGlkLCByZWFzb24sDQo+ICAgIHBxX21xX3BhcmFsbGVsX2xlYWRlcl9iYWNrZW5kX2lkKTsNCj4g fQ0KDQpOb3Qgc3VyZSB0aGlzIHdvdWxkIGJlIGJldHRlci4NCg0KPiAxNC4NCj4gDQo+ICsgLyog RmFpbGVkIHRvIHN0YXJ0IGEgbmV3IHBhcmFsbGVsIGFwcGx5IHdvcmtlci4gKi8NCj4gKyBpZiAo d2luZm8gPT0gTlVMTCkNCj4gKyByZXR1cm47DQo+IA0KPiBUaGVyZSBzZWVtIHRvIGJlIHF1aXRl IGEgbG90IG9mIHBsYWNlcyAobGlrZSB0aGlzIGV4YW1wbGUpIHdoZXJlDQo+IHNvbWV0aGluZyBt YXkgZ28gd3JvbmcgYW5kIHRoZSBiZWhhdmlvdXIgYXBwYXJlbnRseSB3aWxsIGp1c3Qgc2lsZW50 bHkNCj4gZmFsbC1iYWNrIHRvIHVzaW5nIHRoZSBub24tcGFyYWxsZWwgc3RyZWFtaW5nLiBNYXli ZSB0aGF0IGlzIE9LLCBidXQgSQ0KPiBhbSBqdXN0IHdvbmRlcmluZyBob3cgY2FuIHRoZSB1c2Vy IGV2ZXIga25vdyB0aGlzIGhhcyBoYXBwZW5lZD8gTWF5YmUNCj4gdGhlIGRvY3MgY2FuIG1lbnRp b24gdGhhdCB0aGlzIGNvdWxkIGhhcHBlbiBhbmQgZ2l2ZSBzb21lIGRlc2NyaXB0aW9uDQo+IG9m IHdoYXQgcHJvY2Vzc2VzIHVzZXJzIGNhbiBsb29rIGZvciAob3Igc29tZSBvdGhlciBzdHJhdGVn eSkgc28gdGhleQ0KPiBjYW4ganVzdCBjb25maXJtIHRoYXQgdGhlIHBhcmFsbGVsIHN0cmVhbWlu ZyBpcyByZWFsbHkgd29ya2luZyBsaWtlDQo+IHRoZXkgYXNzdW1lIGl0IHRvIGJlPw0KDQpJIHRo aW5rIHVzZXIgY291bGQgcmVmZXIgdG8gdGhlIHZpZXcgcGdfc3RhdF9zdWJzY3JpcHRpb24gdG8g Y2hlY2sgaWYgdGhlDQpwYXJhbGxlbCBhcHBseSB3b3JrZXIgc3RhcnRlZC4NCkJUVywgd2UgaGF2 ZSBkb2N1bWVudGVkIHRoZSBjYXNlIGlmIG5vIHBhcmFsbGVsIHdvcmtlciBhcmUgYXZhaWxhYmxl Lg0KDQo+IDE3LiBzcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL2FwcGx5cGFyYWxsZWx3 b3JrZXIuYyAtDQo+IHBhcmFsbGVsX2FwcGx5X2ZyZWVfd29ya2VyDQo+IA0KPiArLyoNCj4gKyAq IFJlbW92ZSB0aGUgcGFyYWxsZWwgYXBwbHkgd29ya2VyIGVudHJ5IGZyb20gdGhlIGhhc2ggdGFi bGUuIEFuZCBzdG9wIHRoZQ0KPiArICogd29ya2VyIGlmIHRoZXJlIGFyZSBlbm91Z2ggd29ya2Vy cyBpbiB0aGUgcG9vbC4NCj4gKyAqLw0KPiArdm9pZA0KPiArcGFyYWxsZWxfYXBwbHlfZnJlZV93 b3JrZXIoUGFyYWxsZWxBcHBseVdvcmtlckluZm8gKndpbmZvLCBUcmFuc2FjdGlvbklkDQo+IHhp ZCkNCj4gDQo+IEkgdGhpbmsgdGhlIHJlYXNvbiBmb3IgZG9pbmcgdGhlICJlbm91Z2ggd29ya2Vy cyBpbiB0aGUgcG9vbCIgbG9naWMNCj4gbmVlZHMgc29tZSBtb3JlIGV4cGxhbmF0aW9uLg0KDQpC ZWNhdXNlIHRoZSBwcm9jZXNzIGlzIGFsd2F5cyBydW5uaW5nLCBTbyBzdG9wIGl0IHRvIHJlZHVj ZSB3YXN0ZSBvZiByZXNvdXJjZXMuDQoNCj4gMTkuIHNyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xv Z2ljYWwvYXBwbHlwYXJhbGxlbHdvcmtlci5jIC0NCj4gTG9naWNhbFBhcmFsbGVsQXBwbHlMb29w DQo+IA0KPiArIEFwcGx5TWVzc2FnZUNvbnRleHQgPSBBbGxvY1NldENvbnRleHRDcmVhdGUoQXBw bHlDb250ZXh0LA0KPiArICJBcHBseU1lc3NhZ2VDb250ZXh0IiwNCj4gKyBBTExPQ1NFVF9ERUZB VUxUX1NJWkVTKTsNCj4gDQo+IFNob3VsZCB0aGUgbmFtZSBvZiB0aGlzIGNvbnRleHQgYmUgIlBh cmFsbGVsQXBwbHlNZXNzYWdlQ29udGV4dCI/DQoNCkkgdGhpbmsgaXQgaXMgb2theSB0byB1c2Ug IkFwcGx5TWVzc2FnZUNvbnRleHQiIGhlcmUganVzdCBsaWtlICJBcHBseUNvbnRleHQiLg0KSSB3 aWxsIGNoYW5nZSB0aGlzIGlmIG1vcmUgcGVvcGxlIGhhdmUgdGhlIHNhbWUgaWRlYSBhcyB5b3Uu DQoNCj4gMjAuIHNyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvYXBwbHlwYXJhbGxlbHdv cmtlci5jIC0NCj4gSGFuZGxlUGFyYWxsZWxBcHBseU1lc3NhZ2UNCj4gDQo+ICsgZGVmYXVsdDoN Cj4gKyB7DQo+ICsgZWxvZyhFUlJPUiwgInVucmVjb2duaXplZCBtZXNzYWdlIHR5cGUgcmVjZWl2 ZWQgZnJvbSBwYXJhbGxlbCBhcHBseQ0KPiB3b3JrZXI6ICVjIChtZXNzYWdlIGxlbmd0aCAlZCBi eXRlcykiLA0KPiArIG1zZ3R5cGUsIG1zZy0+bGVuKTsNCj4gKyB9DQo+IA0KPiAicmVjZWl2ZWQg ZnJvbSIgLT4gInJlY2VpdmVkIGJ5Ig0KPiANCj4gfn5+DQo+IA0KPiANCj4gMjEuIHNyYy9iYWNr ZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvYXBwbHlwYXJhbGxlbHdvcmtlci5jIC0NCj4gSGFuZGxl UGFyYWxsZWxBcHBseU1lc3NhZ2VzDQo+IA0KPiArLyoNCj4gKyAqIEhhbmRsZSBhbnkgcXVldWVk IHByb3RvY29sIG1lc3NhZ2VzIHJlY2VpdmVkIGZyb20gcGFyYWxsZWwgYXBwbHkgd29ya2Vycy4N Cj4gKyAqLw0KPiArdm9pZA0KPiArSGFuZGxlUGFyYWxsZWxBcHBseU1lc3NhZ2VzKHZvaWQpDQo+ IA0KPiAyMWEuDQo+ICJyZWNlaXZlZCBmcm9tIiAtPiAicmVjZWl2ZWQgYnkiDQo+IA0KPiB+DQo+ IA0KPiAyMWIuDQo+IEkgd29uZGVyIGlmIHRoaXMgY29tbWVudCBzaG91bGQgZ2l2ZSBzb21lIGNy ZWRpdCB0byB0aGUgZnVuY3Rpb24gaW4NCj4gcGFyYWxsZWwuYyAtIGJlY2F1c2UgdGhpcyBzZWVt cyBhbG1vc3QgYSBjb3B5IG9mIGFsbCB0aGF0IGNvZGUuDQoNClNpbmNlIHRoZSBtZXNzYWdlIGlz IGZyb20gcGFyYWxsZWwgYXBwbHkgd29ya2VyIHRvIG1haW4gYXBwbHkgd29ya2VyLCBJIHRoaW5r DQoiZnJvbSIgbG9va3MgYSBsaXR0bGUgYmV0dGVyLg0KDQo+IDI3LiBzcmMvYmFja2VuZC9yZXBs aWNhdGlvbi9sb2dpY2FsL2xhdW5jaGVyLmMgLSBsb2dpY2FscmVwX3dvcmtlcl9kZXRhY2gNCj4g DQo+ICsgLyoNCj4gKyAqIFRoaXMgaXMgdGhlIGxlYWRlciBhcHBseSB3b3JrZXI7IHN0b3AgYWxs IHRoZSBwYXJhbGxlbCBhcHBseSB3b3JrZXJzDQo+ICsgKiBwcmV2aW91c2x5IHN0YXJ0ZWQgZnJv bSBoZXJlLg0KPiArICovDQo+ICsgaWYgKCFpc1BhcmFsbGVsQXBwbHlXb3JrZXIoTXlMb2dpY2Fs UmVwV29ya2VyKSkNCj4gDQo+IDI3YS4NCj4gVGhlIGNvbW1lbnQgZG9lcyBub3QgbWF0Y2ggdGhl IGNvZGUuIElmIHRoaXMgKmlzKiB0aGUgbGVhZGVyIGFwcGx5DQo+IHdvcmtlciB0aGVuIHdoeSBk byB3ZSBoYXZlIHRoZSBjb25kaXRpb24gdG8gY2hlY2sgdGhhdD8NCj4gDQo+IE1heWJlIG9ubHkg bmVlZHMgYSBjb21tZW50IHVwZGF0ZSBsaWtlDQo+IA0KPiBTVUdHRVNUSU9ODQo+IElmIHRoaXMg aXMgdGhlIGxlYWRlciBhcHBseSB3b3JrZXIgdGhlbiBzdG9wIGFsbCB0aGUgcGFyYWxsZWwuLi4N Cj4gDQo+IH4NCj4gDQo+IDI3Yi4NCj4gQ29kZSBzZWVtcyBhbHNvIGFzc3VtaW5nIGl0IGNhbm5v dCBiZSBhIHRhYmxlc3luYyB3b3JrZXIgYnV0IGl0IGlzIG5vdA0KPiBjaGVja2luZyB0aGF0LiBJ IGFtIHdvbmRlcmluZyBpZiBpdCB3aWxsIGJlIGJldHRlciB0byBoYXZlIHlldCBhbm90aGVyDQo+ IG1hY3JvL2lubGluZSB0byBkbyBpc0xlYWRlckFwcGx5V29ya2VyKCkgdGhhdCB3aWxsIG1ha2Ug c3VyZSB0aGlzDQo+IHJlYWxseSBpcyB0aGUgbGVhZGVyIGFwcGx5IHdvcmtlci4gKFRoaXMgcmV2 aWV3IGNvbW1lbnQgc3VnZ2VzdGlvbiBpcw0KPiByZXBlYXRlZCBsYXRlciBiZWxvdykuDQoNCj0+ MjdhLg0KSW1wcm92ZWQgYXMgc3VnZ2VzdGVkLg0KDQo9PjI3Yi4NCkNoYW5nZWQgdGhlIGlmLXN0 YXRlbWVudCB0byANCmBpZiAoIWFtX3BhcmFsbGVsX2FwcGx5X3dvcmtlcigpICYmICFhbV90YWJs ZXN5bmNfd29ya2VyKCkpYC4NCg0KPiA0Mi4gc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNh bC93b3JrZXIuYyAtIEluaXRpYWxpemVBcHBseVdvcmtlcg0KPiANCj4gKy8qDQo+ICsgKiBJbml0 aWFsaXplIHRoZSBkYXRhYmFzZSBjb25uZWN0aW9uLCBpbi1tZW1vcnkgc3Vic2NyaXB0aW9uIGFu ZCBuZWNlc3NhcnkNCj4gKyAqIGNvbmZpZyBvcHRpb25zLg0KPiArICovDQo+IA0KPiBJIHN0aWxs IHRoaW5rIHRoaXMgc2hvdWxkIG1lbnRpb24gdGhhdCB0aGlzIGlzIGNvbW1vbiBpbml0aWFsaXph dGlvbg0KPiBjb2RlIGZvciAiYm90aCBsZWFkZXIgYXBwbHkgd29ya2VycywgYW5kIHBhcmFsbGVs IGFwcGx5IHdvcmtlcnMiDQoNCkknbSBub3Qgc3VyZSBhYm91dCB0aGlzLiBJIHdpbGwgY2hhbmdl IHRoaXMgaWYgbW9yZSBwZW9wbGUgaGF2ZSB0aGUgc2FtZSBpZGVhDQphcyB5b3UuDQoNCj4gNDQu IHNyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvd29ya2VyLmMgLSBJc0xvZ2ljYWxQYXJh bGxlbEFwcGx5V29ya2VyDQo+IA0KPiArLyoNCj4gKyAqIElzIGN1cnJlbnQgcHJvY2VzcyBhIGxv Z2ljYWwgcmVwbGljYXRpb24gcGFyYWxsZWwgYXBwbHkgd29ya2VyPw0KPiArICovDQo+ICtib29s DQo+ICtJc0xvZ2ljYWxQYXJhbGxlbEFwcGx5V29ya2VyKHZvaWQpDQo+ICt7DQo+ICsgcmV0dXJu IGFtX3BhcmFsbGVsX2FwcGx5X3dvcmtlcigpOw0KPiArfQ0KPiArDQo+IA0KPiBJdCBzZWVtcyBh IGJpdCBzdHJhbmdlIHRvIGhhdmUgdGhpcyBmdW5jdGlvbg0KPiBJc0xvZ2ljYWxQYXJhbGxlbEFw cGx5V29ya2VyLCBhbmQgYWxzbyBhbV9wYXJhbGxlbF9hcHBseV93b3JrZXIoKQ0KPiB3aGljaCBh cmUgYmFzaWNhbGx5IGlkZW50aWNhbCBleGNlcHQgb25lIG9mIHRoZW0gaXMgc3RhdGljIGFuZCBv bmUgaXMNCj4gbm90Lg0KPiANCj4gSSB3b25kZXIgaWYgdGhlcmUgc2hvdWxkIGJlIGp1c3Qgb25l IGZ1bmN0aW9uLiBBbmQgaWYgeW91IHJlYWxseSBkbw0KPiBuZWVkIDIgbmFtZXMgZm9yIGNvbnNp c3RlbmN5IHRoZW4geW91IGNhbiBqdXN0IGRlZmluZSBhIHN5bm9ueW0gbGlrZQ0KPiANCj4gI2Rl ZmluZSBhbV9wYXJhbGxlbF9hcHBseV93b3JrZXIgSXNMb2dpY2FsUGFyYWxsZWxBcHBseVdvcmtl cg0KDQpJIGFtIG5vdCBzdXJlIHdoZXRoZXIgdGhpcyB3aWxsIGJlIGJldHRlci4gQnV0IEkgY2Fu IGNoYW5nZSB0aGlzIGlmIG1vcmUgcGVvcGxlDQpwcmVmZXIuDQoNCj4gNDkuIHNyYy9pbmNsdWRl L3JlcGxpY2F0aW9uL3dvcmtlcl9pbnRlcm5hbC5oDQo+IA0KPiBAQCAtNjAsNiArNjQsMTIgQEAg dHlwZWRlZiBzdHJ1Y3QgTG9naWNhbFJlcFdvcmtlcg0KPiAgICovDQo+ICAgRmlsZVNldCAgICAq c3RyZWFtX2ZpbGVzZXQ7DQo+IA0KPiArIC8qDQo+ICsgKiBQSUQgb2YgbGVhZGVyIGFwcGx5IHdv cmtlciBpZiB0aGlzIHNsb3QgaXMgdXNlZCBmb3IgYSBwYXJhbGxlbCBhcHBseQ0KPiArICogd29y a2VyLCBJbnZhbGlkUGlkIG90aGVyd2lzZS4NCj4gKyAqLw0KPiArIHBpZF90IGFwcGx5X2xlYWRl cl9waWQ7DQo+ICsNCj4gICAvKiBTdGF0cy4gKi8NCj4gICBYTG9nUmVjUHRyIGxhc3RfbHNuOw0K PiAgIFRpbWVzdGFtcFR6IGxhc3Rfc2VuZF90aW1lOw0KPiBXaGl0ZXNwYWNlIGluZGVudCBvZiB0 aGUgbmV3IG1lbWJlciBvaz8NCg0KSSB3aWxsIHJ1biBwZ2luZGVudCBsYXRlci4NCg0KVGhlIHJl c3Qgb2YgdGhlIGNvbW1lbnRzIGFyZSBjaGFuZ2VkIGFzIHN1Z2dlc3RlZC4NCg0KVGhlIG5ldyBw YXRjaGVzIHdlcmUgYXR0YWNoZWQgaW4gWzFdLg0KDQpbMV0gLSBodHRwczovL3d3dy5wb3N0Z3Jl c3FsLm9yZy9tZXNzYWdlLWlkL09TM1BSMDFNQjYyNzVGMTQ1ODc4QjRBNDQ1ODZDNDZDRTlFNDk5 JTQwT1MzUFIwMU1CNjI3NS5qcG5wcmQwMS5wcm9kLm91dGxvb2suY29tDQoNClJlZ2FyZHMsDQpX YW5nIHdlaQ0K