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 1oceX6-0003Ua-CS for pgsql-hackers@arkaria.postgresql.org; Mon, 26 Sep 2022 03:11:48 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1oceX5-0007N1-7F for pgsql-hackers@arkaria.postgresql.org; Mon, 26 Sep 2022 03:11:47 +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 1oceX4-0007Ms-Sq for pgsql-hackers@lists.postgresql.org; Mon, 26 Sep 2022 03:11:46 +0000 Received: from esa14.fujitsucc.c3s2.iphmx.com ([68.232.156.101]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1oceX2-000289-Bk for pgsql-hackers@lists.postgresql.org; Mon, 26 Sep 2022 03:11:46 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=fujitsu.com; i=@fujitsu.com; q=dns/txt; s=fj1; t=1664161904; x=1695697904; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=Fh2zj+tKHYNnc7aoBQijUSTCa295B0GL0LeA5/ZygNU=; b=fHvHkf64KQ2puw4BmyexpLSWuXfAsBDc1/2sNlgKBmYywvjQ2VC6h6ym QkIXoJSW9gRghIFPwDSp88CYje0y+hZNb2xgKr6SmF959VkFZZFC3D4dl NJOy0sGiQA1dV3ltr7QQwD+1Ds1huLMpJRSutjmik8FDVE9iizJRDz4d6 pjxGoXxgRAWYKnnXYTXVyvne96goJp2LGgRjenGT0plBp1zec85WSCgds BSWVByvCm/a034oWxVmX+JegfBK64QeCa16V4o6K9bMQ+neU5e0qkjHfp bVFVfOr+p1+uroxn+P6WGlHXhzZIXuW0kLwgOaJUYTK3c5D+PmnurlAb6 A==; X-IronPort-AV: E=McAfee;i="6500,9779,10481"; a="65727902" X-IronPort-AV: E=Sophos;i="5.93,345,1654527600"; d="scan'208";a="65727902" Received: from mail-tycjpn01lp2176.outbound.protection.outlook.com (HELO JPN01-TYC-obe.outbound.protection.outlook.com) ([104.47.23.176]) by ob1.fujitsucc.c3s2.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 26 Sep 2022 12:11:42 +0900 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=dB35F1R7GiLWQsy+j0entVz5yVGpddnMl5TAW4rb6ilnLyXef4w9viaY46rNmtHOhSTYrTHoET5J0cIn4ry3ZmLoCVx4eyeOPVh5Rry/EczFJe3gC+AmKHKiSUMeSDCd5AnOO05eyxLWJpu0WY927jkXoGrUAog/OC49LpVcSq0+M8cdJT+cZ2dEJTtOzNrZGK2tW7cd40SeHbRkLb+lpkRFFf9OToof2UXmDBayNTOlsKgCEJjKY4jjqeqZenhJ6gCsSHI0STMxm+72R11EBZ8dGE/9AfcCC5KoeTfNvisSYZm5MIUtOiGttkpO+fde1/mqsQwxWaVYjP7H6Vxw7w== 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=Fh2zj+tKHYNnc7aoBQijUSTCa295B0GL0LeA5/ZygNU=; b=VLz/SpouKLr8QgaieAQ40sXzmhu0Tz/4sVAKNDYXorNFWu28B8RNPTGWGzi6TUZ3OdFzMUqLo3ChNDnZMmfTNVfnrpGwSGN+t8TcivLFIDaLnVrr0Ad139Jio/JS125B2wjiz0jfteKacWw6EwVLuYjSnDADqwVCAqk0eMdx9yyUG5d/73dmnkoj5bHSL92qxVi1/imlRoQCuNoTVGPvnUm2b/1cY/OnsM9gNU6acLQMcTWlMu6dJyOR3RSC8BAF9WTU6HwXJk+MA1+gz+mNSEvUl9ueHhFn+1aDiSP1yLaEzMSv7KaVSiAluHY73dGk//fh5dUhl99dfyeNdKd2vQ== 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 TYWPR01MB10536.jpnprd01.prod.outlook.com (2603:1096:400:29f::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5654.25; Mon, 26 Sep 2022 03:11:38 +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.5654.025; Mon, 26 Sep 2022 03:11:38 +0000 From: "wangw.fnst@fujitsu.com" To: Amit Kapila CC: Peter Smith , "houzj.fnst@fujitsu.com" , 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/gIAFJCcAgAAGs4CABE7agIAK5GAQgABsZYCABb7ocIADiYIAgAEuoICAAHCjgIAF09Lg Date: Mon, 26 Sep 2022 03:11:38 +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?NTBfQWN0aW9uSWQ9YTgzODA5MjktNDU0Zi00MmJhLWFiYmUtNTdiMzE2OGRi?= =?utf-8?B?N2NkO01TSVBfTGFiZWxfYTcyOTVjYzEtZDI3OS00MmFjLWFiNGQtM2IwZjRm?= =?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?ZWNlMDUwX1NldERhdGU9MjAyMi0wOS0yNlQwMzoxMDo1OVo7TVNJUF9MYWJl?= =?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_|TYWPR01MB10536:EE_ x-ms-office365-filtering-correlation-id: 94fa27ea-2e60-4891-8439-08da9f6cd3ec x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 66L2k2/FUamdH5lLtIU/+vOSqe4xzVJ5CgpUqRxmU/z13VW9YXwVrxb/yAmM8habuGDITkiIIknak5YYHp1HOooI7kxmME7lww1GSHfe3if11Y/5wIeRn26Pc6UOVWnlG8Q7mJctbAw2QkMYDMrlx3k99OirzXRvLuI/sVmaIQvNzEWi2KsrhpaO5PbDMRWtczSv83R8THDHa/+PVlarS4RAKfrx30oaC+fOyub5p34w2JLth/uIjkrT7guHaOWlbDasfxZLzOvjqZLN3ot4VxLFXoKCVyN1Po0jPVINHw4bwzc0M+3ukbQuVpLnNS5mjSGAvXndR6/wXYuytFQcso8Cdfe3MpzEwskauXfHX4HFWWKizCYHvWyWVZA1RvrM83LN0tGNyRigWMI8e09jhYa7UsSZMuXGkTLHHIcrQ5yC634wf+pmTeGVlNTbcuLqZ6uaDYyd8LqskSEJ3v4jzCXrN4CtL9k//YontAlwI7smhLOD47XeNVb3uorQTCQfbqWdytszc+DA40Yr1GmCDGq8rx7EutIFjCaJcGUy/0+2jcrxiTD01Su9GhjmEDUDrz2Fi+2kkFMLi5dZvWru7UrUKprtfJ8SPUVLXC/EO/miz+8a7AFWnWFTIonxhizVJwIJZVSv5myd6Rh2O1JrG+6jCs+syc4iwkM3ox/AYAKakB2MHgtT0GgbO6HvMf6O81QnODcmjQmSatM/XycPUhzl8cgbLfY/1csVG0/cEiDQwFw8+YRoCcf2ZidNs8KJ6kCwPYyW9kCGdL5TIcRSduc5LgEghcCHVrViQRqcKme1Q5zBfmsV4P+xsDswhg1q6fs/nporuzVfFkR2vmD/awulDcciDN12/LggZq9R7vQ= 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)(396003)(39860400002)(376002)(136003)(346002)(366004)(451199015)(1590799012)(186003)(83380400001)(122000001)(38100700002)(38070700005)(82960400001)(5660300002)(2906002)(52536014)(55016003)(8936002)(478600001)(966005)(316002)(6506007)(26005)(9686003)(41300700001)(66556008)(7696005)(66446008)(8676002)(64756008)(66946007)(4326008)(76116006)(45080400002)(66476007)(71200400001)(54906003)(6916009)(85182001)(33656002)(1580799009)(86362001);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?VHh6TmhldW1JREtRaUZIRERLR3J1SURKWHorRGxmTHNwbHFOVVhMcWhqd0lv?= =?utf-8?B?VHVoSnpFZWt2TGUrbEpBcUJray9GTVlMNHFkRTl6ZUtQWWQzYjB2YjZ6eVln?= =?utf-8?B?cnpuWlB2Ry9INGFXTjlWZDcrYVIrQlpURmZlcjd0Mk15dURqWU9ydklXcDVx?= =?utf-8?B?Z0xXM0R0Y24rMWdLQUlSYklUT2lNcHNRK2xVWG9VYVlYMjc0aHVnaDNCMStJ?= =?utf-8?B?TVJ0dGxydVFISEg5ZkVnZ00rcWx4T2tVOXVReDZVVVNQSTdPdmMzYXBsU1pG?= =?utf-8?B?Qm5mVmpwSDJwc1cxM3BJaWc0NUdDWWFxVUJOSWZPTVNWVCtRUG9pSnNKMEh2?= =?utf-8?B?K3R5RDViZWVMS20rNDVHR2JVSlFrVFBhOGtoZ2RTcVI5bDdGeHpXeVh1d3or?= =?utf-8?B?R0xoV2lYSkp6Tzk5STVZOUlHU1NmMTVTY3RYMjhoN1gvQXJYa0dJV2tBUW8w?= =?utf-8?B?TEVTQlIvOC81TmgyRnBIVXV5Z2ZPWjY0cW1MNkZpT0JTZ0Nyb1RmVW1KRHlz?= =?utf-8?B?Tkd5S05sUmlIL0hudkUrM0xnVHk0TFQ2Z25tZDRvN1ZOeWNCQjQ1VFcrWHZK?= =?utf-8?B?bThVeUhhc3Fqb1pobEtOOU9SUDI4dTcvb1dGaGNFVVFxY3BpK3Q0aDFEUEds?= =?utf-8?B?WU5ia2tXb0c1ZFFBNGFKN1ZMbnRwMkwzZlFhZCtmSzBUOTlOQzdtZ0VYeHhl?= =?utf-8?B?TWphYzFZT1FZK3lwVlJUYzhNb0ZtK09oNWVJS3gySjcrQjRRQWZSVmMxNG1h?= =?utf-8?B?STJ2Z3E1TWMrOXN2NVVXLzcxaDM0TFNidHYzNFZKc3k2Yi8xTVVoLy9rTVJ0?= =?utf-8?B?bVVhZWFGZnpscmdGdkhZQkpHQ1hZdjh4c0tKZXZwVjYzR1pIU3RZNGE5NlVC?= =?utf-8?B?WFkzRjBCMzZRb2VKN1BYZUFqa1d0VkY1Z1h3SFRXZi9CV2dzZGtleFJVVkZM?= =?utf-8?B?aitJakJoS1lTT2JrNUFQQ21BWVlJY05FUTF1eElHUXlSVVhQd0xhOHZ1YktU?= =?utf-8?B?akxnR2dsbkN4c2gzWTRUMGUwUWVpQ21HMlV3anZ6cktrM2tjN1E4dTEyWE1P?= =?utf-8?B?MkpaNW52OFJIdjVQOVJ5aXVTTFA3Y2EydWM1RmdXRTJ0YU50bDFRNklMTlhL?= =?utf-8?B?bGtiVkV0QTdlMzlla3kyUUtxZE1xMFlQWHZVZFZJM0pGZFZ2Skh1dHk0b0po?= =?utf-8?B?RlZwVmVCSlJzL201YXlTaFBkSWZIMlJzeGNRbDZpejZEVkNleUloOVN4Q0Ns?= =?utf-8?B?dE03YlR4eWtXRmNOVHlZM0lIVTUwVTNtRFlFUGpjanhPOFBNTXFlM21CWUxq?= =?utf-8?B?U3ZkdnBMR3J1YTJmTGxNWjcxeDdka0w3bXB2anZ6NmQ3M2I2SUwyQkpTSE1o?= =?utf-8?B?YVd4VG9XRDhvWU5PZGhvY3I0LzFyUW9nRTI1TnhzMzJkb0NXWS9oa0xKUXJH?= =?utf-8?B?bmh4VjIwWXIvRmQzVVZWOFUrL0FUVmtLd2FySmIvRnNsaVZkNzVla1N4Uy93?= =?utf-8?B?UjJ1czg4WnJyczAza2JPNXRSdCtLeEdZWVBnQ1FYd0k0dGI2NVFxN3JESXlp?= =?utf-8?B?VThiOHEva0k4Y09xaTJBYnR2d25QKzFIU1IxcWRTN1l2am45SkxsbmgwUk1Z?= =?utf-8?B?WkRnMkw0WHViSncwL3JLbnhUVklIcU9BdG16a0ZOL0RsZUhrcjRWbW9MMGc4?= =?utf-8?B?dTZ6TmpCRnQ0QU5VY2YvZ2xGWThaM1dmOXhsMDRKaXlobk13bTBoZUlpTm1Q?= =?utf-8?B?NkdPUDJpcjJ4aUNCaFlQZlRSWm5DS09zTWIwYXZuWnhhcmJtK2pUS2Q0UHpP?= =?utf-8?B?RnVyVmFNRFFnS0NDRDhTKzFVazB5ZmVCNDlVeHFBNWY4V2tQb21PRFdNSzlI?= =?utf-8?B?MXgwNHBhTnJPYm10cFIrTldHTDBqNVI3Mjg5eHJSNEE4Zkg0RnByUHRIU25s?= =?utf-8?B?QXRuWFJCWHBXbC9yY0lyajUzMWNuY1RWaUxUc0tFS2tSZno5T0ZVeWl3cGxp?= =?utf-8?B?aEh5M21pVE56c3NoTUwyYjlsZFRoVzlvbzZPRGhDbmJ2cDdzdEpqaEZvblcw?= =?utf-8?B?QUMwcGQ3c21CZjFjQjVMWFpEbWY2WSthMDNOakhqK1cyc2VkbnZ3U2RIdTBY?= =?utf-8?Q?S3LQtPSxqy3Vz1Nh3c8ROC508?= 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: 94fa27ea-2e60-4891-8439-08da9f6cd3ec X-MS-Exchange-CrossTenant-originalarrivaltime: 26 Sep 2022 03:11:38.6811 (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: lCfk/O2FpXAh3IFHX+/AC4kZaSbXzT3FeoCwQ/MB73DjCeChGiCPZQDRJW1S8p0DibNOb/0Q0s7DAAO+pmFOrw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYWPR01MB10536 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk T24gVGh1ciwgU2VwIDIyLCAyMDIyIGF0IDE4OjEyIFBNIEFtaXQgS2FwaWxhIDxhbWl0LmthcGls YTE2QGdtYWlsLmNvbT4gd3JvdGU6DQo+IEZldyBjb21tZW50cyBvbiB2MzMtMDAwMQ0KPiA9PT09 PT09PT09PT09PT09PT09PT09PQ0KDQpUaGFua3MgZm9yIHlvdXIgY29tbWVudHMuDQoNCj4gMS4N Cj4gKyBlbHNlIGlmIChkYXRhLT5zdHJlYW1pbmcgPT0gU1VCU1RSRUFNX1BBUkFMTEVMICYmDQo+ ICsgZGF0YS0+cHJvdG9jb2xfdmVyc2lvbiA8DQo+IExPR0lDQUxSRVBfUFJPVE9fU1RSRUFNX1BB UkFMTEVMX1ZFUlNJT05fTlVNKQ0KPiArIGVyZXBvcnQoRVJST1IsDQo+ICsgKGVycmNvZGUoRVJS Q09ERV9JTlZBTElEX1BBUkFNRVRFUl9WQUxVRSksDQo+ICsgZXJybXNnKCJyZXF1ZXN0ZWQgcHJv dG9fdmVyc2lvbj0lZCBkb2VzIG5vdCBzdXBwb3J0DQo+IHN0cmVhbWluZz1wYXJhbGxlbCBtb2Rl LCBuZWVkICVkIG9yIGhpZ2hlciIsDQo+ICsgZGF0YS0+cHJvdG9jb2xfdmVyc2lvbiwNCj4gTE9H SUNBTFJFUF9QUk9UT19TVFJFQU1fUEFSQUxMRUxfVkVSU0lPTl9OVU0pKSk7DQo+IA0KPiBJIHRo aW5rIHdlIGNhbiBpbXByb3ZlIHRoaXMgZXJyb3IgbWVzc2FnZSBhczogInJlcXVlc3RlZA0KPiBw cm90b192ZXJzaW9uPSVkIGRvZXMgbm90IHN1cHBvcnQgcGFyYWxsZWwgc3RyZWFtaW5nIG1vZGUs IG5lZWQgJWQgb3INCj4gaGlnaGVyIi4NCg0KSW1wcm92ZWQuDQoNCj4gMi4NCj4gLS0tIGEvZG9j L3NyYy9zZ21sL21vbml0b3Jpbmcuc2dtbA0KPiArKysgYi9kb2Mvc3JjL3NnbWwvbW9uaXRvcmlu Zy5zZ21sDQo+IEBAIC0zMTg0LDcgKzMxODQsNyBAQCBTRUxFQ1QgcGlkLCB3YWl0X2V2ZW50X3R5 cGUsIHdhaXRfZXZlbnQgRlJPTQ0KPiBwZ19zdGF0X2FjdGl2aXR5IFdIRVJFIHdhaXRfZXZlbnQg aQ0KPiAgICAgICAgPC9wYXJhPg0KPiAgICAgICAgPHBhcmE+DQo+ICAgICAgICAgT0lEIG9mIHRo ZSByZWxhdGlvbiB0aGF0IHRoZSB3b3JrZXIgaXMgc3luY2hyb25pemluZzsgbnVsbCBmb3IgdGhl DQo+IC0gICAgICAgbWFpbiBhcHBseSB3b3JrZXINCj4gKyAgICAgICBtYWluIGFwcGx5IHdvcmtl ciBhbmQgdGhlIGFwcGx5IHBhcmFsbGVsIHdvcmtlcg0KPiAgICAgICAgPC9wYXJhPjwvZW50cnk+ DQo+ICAgICAgIDwvcm93Pg0KPiANCj4gVGhpcyBhbmQgb3RoZXIgY2hhbmdlcyBpbiBtb25pdG9y aW5nLnNnbWwgcmVmZXJzIHRoZSB3b3JrZXJzIGFzICJhcHBseQ0KPiBwYXJhbGxlbCB3b3JrZXIi LiBJc24ndCBpdCBiZXR0ZXIgdG8gdXNlIHBhcmFsbGVsIGFwcGx5IHdvcmtlciBhcyB3ZQ0KPiBh cmUgdXNpbmcgYXQgb3RoZXIgcGxhY2VzIGluIHRoZSBwYXRjaD8gQnV0LCBJIGhhdmUgYW5vdGhl ciBxdWVzdGlvbiwNCj4gZG8gd2UgcmVhbGx5IG5lZWQgdG8gZGlzcGxheSBlbnRyaWVzIGZvciBw YXJhbGxlbCBhcHBseSB3b3JrZXJzIGluDQo+IHBnX3N0YXRfc3Vic2NyaXB0aW9uIGlmIGl0IGRv ZXNuJ3QgaGF2ZSBhbnkgbWVhbmluZ2Z1bCBpbmZvcm1hdGlvbj8gSQ0KPiB0aGluayB3ZSBjYW4g ZWFzaWx5IGF2b2lkIGl0IGluIHBnX3N0YXRfZ2V0X3N1YnNjcmlwdGlvbiBieSBjaGVja2luZw0K PiBhcHBseV9sZWFkZXJfcGlkLg0KDQpNYWtlIHNlbnNlLiBJbXByb3ZlZCBhcyBzdWdnZXN0ZWQu DQpEbyBub3QgZGlzcGxheSBwYXJhbGxlbCBhcHBseSB3b3JrZXIgcmVsYXRlZCBpbmZvcm1hdGlv biBpbiB0aGlzIHZpZXcgYWZ0ZXINCmFwcGx5aW5nIDAwMDEgcGF0Y2guIEJ1dCBkaXNwbGF5IGVu dHJpZXMgZm9yIHBhcmFsbGVsIGFwcGx5IHdvcmtlciBhZnRlcg0KYXBwbHlpbmcgMDAwNSBwYXRj aC4NCg0KPiAzLg0KPiBBcHBseVdvcmtlck1haW4oKQ0KPiB7DQo+IC4uLg0KPiAuLi4NCj4gKw0K PiArIGlmIChzZXJ2ZXJfdmVyc2lvbiA+PSAxNjAwMDAgJiYNCj4gKyBNeVN1YnNjcmlwdGlvbi0+ c3RyZWFtID09IFNVQlNUUkVBTV9QQVJBTExFTCkNCj4gKyBvcHRpb25zLnByb3RvLmxvZ2ljYWwu c3RyZWFtaW5nID0gcHN0cmR1cCgicGFyYWxsZWwiKTsNCj4gDQo+IEFmdGVyIGRlY2lkaW5nIGhl cmUgd2hldGhlciB0aGUgcGFyYWxsZWwgc3RyZWFtaW5nIG1vZGUgaXMgZW5hYmxlZCBvcg0KPiBu b3QsIHdlIHJlY2hlY2sgdGhlIHNhbWUgdGhpbmcgaW4gYXBwbHlfaGFuZGxlX3N0cmVhbV9hYm9y dCgpIGFuZA0KPiBwYXJhbGxlbF9hcHBseV9jYW5fc3RhcnQoKS4gSW4gcGFyYWxsZWxfYXBwbHlf Y2FuX3N0YXJ0KCksIHdlIGRvIGl0DQo+IHZpYSB0d28gZGlmZmVyZW50IGNoZWNrcy4gSG93IGFi b3V0IHN0b3JpbmcgdGhpcyBpbmZvcm1hdGlvbiBzYXkgaW4NCj4gc3RydWN0dXJlIE15TG9naWNh bFJlcFdvcmtlciBpbiBBcHBseVdvcmtlck1haW4oKSBhbmQgdGhlbiB1c2UgaXQgYXQNCj4gb3Ro ZXIgcGxhY2VzPw0KDQpJbXByb3ZlZCBhcyBzdWdnZXN0ZWQuDQpBZGRlZCBhIG5ldyBmbGFnICJp bl9wYXJhbGxlbF9hcHBseSIgdG8gc3RydWN0dXJlIE15TG9naWNhbFJlcFdvcmtlci4NCg0KQmVj YXVzZSB0aGUgcGF0Y2ggc2V0IGNvdWxkIG5vdCBiZSBhcHBsaWVkIGNsZWFubHksIEkgcmViYXNl ZCBhbmQgc2hhcmVkIHRoZW0NCmZvciByZXZpZXcuDQpJIGhhdmUgbm90IGFkZHJlc3NlZCB0aGUg Y29tbWVudCB5b3UgcG9zdGVkIGluIFsxXS4gSSB3aWxsIHNoYXJlIHRoZSBuZXcgcGF0Y2gNCnNl dCB3aGVuIEkgZmluaXNoIHRoZW0uDQoNClRoZSBuZXcgcGF0Y2hlcyB3ZXJlIGF0dGFjaGVkIGlu IFsyXS4NCg0KWzFdIC0gaHR0cHM6Ly93d3cucG9zdGdyZXNxbC5vcmcvbWVzc2FnZS1pZC9DQUE0 ZUsxS2pHTkE4VDhPNzdyUmhrdjZiUlQ2T3NkUWFFeS0tMmhOckpGQ2M4MGJOMEElNDBtYWlsLmdt YWlsLmNvbQ0KWzJdIC0gaHR0cHM6Ly93d3cucG9zdGdyZXNxbC5vcmcvbWVzc2FnZS1pZC9PUzNQ UjAxTUI2Mjc1RjRBN0NBMTg2NDEyRTJGRjJFRDI5RTUyOSU0ME9TM1BSMDFNQjYyNzUuanBucHJk MDEucHJvZC5vdXRsb29rLmNvbQ0KDQpSZWdhcmRzLA0KV2FuZyB3ZWkNCg==