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 1p7ZeG-0005k1-KV for pgsql-hackers@arkaria.postgresql.org; Tue, 20 Dec 2022 10:15:00 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1p7ZeF-0007XP-Ix for pgsql-hackers@arkaria.postgresql.org; Tue, 20 Dec 2022 10:14:59 +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 1p7ZeF-0007Wr-1E for pgsql-hackers@lists.postgresql.org; Tue, 20 Dec 2022 10:14:59 +0000 Received: from esa1.fujitsucc.c3s2.iphmx.com ([68.232.152.245]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1p7ZeC-0001Uo-5D for pgsql-hackers@lists.postgresql.org; Tue, 20 Dec 2022 10:14:58 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=fujitsu.com; i=@fujitsu.com; q=dns/txt; s=fj1; t=1671531297; x=1703067297; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=45E08sMgKIt2uaPqBMdFk8F6zk8Z21RXMHSb+H6au8I=; b=Noq53NSNiSIGxtd+GddK9gU6dAoaM46dCF8MmQkro3jApVqidVfddrdl f+aQQPoV+C0iepono+xhzpkAniGuZCGLYkoikYqyfmQMWoBDkL5rqgvun oopktx9p1qxm4xdAdbaTeGqhcXMDq3WZPqIhRJrTUu4DqcOr6BvzXq78L fGok4HI9KKS59oKXYj9iSFY5GURmE1PxPtS6uipk82/B9k59jUhlVVF+g ZWX6DIrm3P7ms9WDc2bqIO6J+Kq61dnkf4geHzheuuvJ59w0nhX3IqdaU TpUJpOagICwbmFMG1HEBipaCcWeI2D6P76nVlajT0aFG94Faa6EkmbcXI g==; X-IronPort-AV: E=McAfee;i="6500,9779,10566"; a="81089375" X-IronPort-AV: E=Sophos;i="5.96,259,1665414000"; d="scan'208";a="81089375" Received: from mail-os0jpn01lp2111.outbound.protection.outlook.com (HELO JPN01-OS0-obe.outbound.protection.outlook.com) ([104.47.23.111]) by ob1.fujitsucc.c3s2.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 Dec 2022 19:14:53 +0900 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=E0W4PWd3A9lWN+zMixznsJUVl+6KHZgUnyg8luYQRI6XSzh/kF0dyf+q6UsUCdg3A060+hGHQkBFkf+d+HJL/+Q/fBNL+5XxQvzH1ePcgbEkUsJ+UooMtJtSg1YQiuLz2xWILYST7ndjBewRucTB5w0X5qB/ComB7QRseWFPYGVBQHIyDda3K7GLyGDnO0dSrRrzEk+3sWJj2JoBFKboQ4nDY5A8Y3Sv5JD6pTx0XYqTEZCsgxc0N4uBdgAr1E6cX8cHj++Ma4wwx/LTHuV6DNqGeTTWMUgJaIaZYVG50vmNGbyWUAzcDVtfUfcZi2BxabsXXzl4Vm2ZT/r8eS/5TA== 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=45E08sMgKIt2uaPqBMdFk8F6zk8Z21RXMHSb+H6au8I=; b=m72OGSscYEkK2hR0Lh0WWVfABiD4q39VU28jZCsu4asgaC/d4abqJyffJG0gpgpzbwtDfDlzGBYAN1qF9830nSY/7EzNrergTPc2dy3BUmUTgLG/rcNzlcMbA+uW/UXHheI65dDIPbN7ay52ooTUjk4zlcrJY7Pou9DzXE1kK6B2nma+i+Ne/KrjN+CiI01SoWF3RyUb8fsgMs4go+ccbB4Dt0aI2P+Z2XU4XA3XykFlopvRDB4PgCY1jHu26t/e/e60UcDarfo4XIEBUnAhP4c+HFXNcL8NcO8lGvfIEUxNufFtm8LcMORUBhcu/he9kA3jk8CTN1Xj8VB7RHwMUA== 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 OSZPR01MB8646.jpnprd01.prod.outlook.com (2603:1096:604:188::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Tue, 20 Dec 2022 10:14:49 +0000 Received: from OS0PR01MB5716.jpnprd01.prod.outlook.com ([fe80::db62:a054:b1fa:4cb3]) by OS0PR01MB5716.jpnprd01.prod.outlook.com ([fe80::db62:a054:b1fa:4cb3%9]) with mapi id 15.20.5924.016; Tue, 20 Dec 2022 10:14:49 +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: AQHZD4gmc8Gf0xrGM0OFaEbpojAcOq5uQq1wgAHYoYCAAB++4IAAIlOAgAGmKgCAABa30IADFsaAgAFUSoA= Date: Tue, 20 Dec 2022 10:14:49 +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?NTBfQWN0aW9uSWQ9NjUyMGQ0MWItMGNhZS00MWY2LWFjNWMtMWZkMWY2NjY1?= =?utf-8?B?YjVjO01TSVBfTGFiZWxfYTcyOTVjYzEtZDI3OS00MmFjLWFiNGQtM2IwZjRm?= =?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?ZWNlMDUwX1NldERhdGU9MjAyMi0xMi0yMFQwOTowNToyMVo7TVNJUF9MYWJl?= =?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_|OSZPR01MB8646:EE_ x-ms-office365-filtering-correlation-id: f028df31-fecd-4409-c510-08dae27306f7 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: riBOw2J41waz0gzkKoRXrO5FrRwZ0JD8sErWoDpMQT4PUqDNaxfkcPgEFWG9UwuwI1T66PXzg3KzoTPPTVbN+abcnqWyM+/fEBU0F//kbEPuiNnq/i4uHqkWc4ifcaLM7x0ll7tbH9u4oFP1mE2Pph40q9j1mWxRcnbCZbAt1pqahAtopEWgm3Me1ACGf96us7f5NEOae3m89GxJuU1vZW8CzRDE9qKwUv3GqibkYG9qmpEtWTXlfPyci94Rm+QNY0x0FCauTFqscoz1SMqtXtpd/OY9ntnaEZ7OWIJg88pbRFspXE/QTsVXAjIX4zgtRm7Zkz6O8V6u5zzHas2MUZFWrvF4dRc43KHPE4S5ii0S10QKamuIrGZfD6J82+JDkH2cH5tJC4JQgXYn8cHvP6e1feRAdLCAk+mojC/1BSU+abveTLNrHd74ha7JgS2cx5KYmVHLLbYSqcPV7icewIZo+CTMc0ZahFuz5w91tESfCWf689nMSo1XzlVxbwnTHNpuZBsBklpsSFy6ByuRu8kih2WQ8fZS2W5Fz0Yoo3PQ5FBdwE7wAx6UWY/1dQKSv1UPZewym+a2VqzbaRZH1wFl8j5r0/m7UOVXiX1xxY/3LlpG55P8vydXArAtjavIj22e64yg+iFq0xyGSTXI3S1l3rLbEXrtPCRPu5KCosAKGt6vVAzAJ6epPBbvE4l+VQrtPRcTwcjg8dn77tP9+vuOeq7vrWVogCR8b1gqWQlwGCUYjqfTQ13USMdWX+mP 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)(396003)(376002)(136003)(366004)(39860400002)(346002)(451199015)(1590799012)(76116006)(66476007)(66946007)(66556008)(38100700002)(66446008)(64756008)(82960400001)(122000001)(8676002)(4326008)(33656002)(41300700001)(52536014)(1580799009)(55016003)(2906002)(8936002)(53546011)(86362001)(38070700005)(5660300002)(83380400001)(54906003)(6916009)(85182001)(316002)(6506007)(7696005)(9686003)(71200400001)(478600001)(186003)(26005)(21314003);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?allGWGI4WkI2TEJVS3NpdjZzTzQ3aHB3Y29Venl2SG52a2s1SVZMVnMvYW82?= =?utf-8?B?b1htNW1jTHVXUXBrczl3Y21OVVhKRG5xK09OcHg0U3FKdnd6cThYUzFwYkFI?= =?utf-8?B?THNvK1dIa2xwRm0wekJVT1R4ZG4reDlGRkowaHlJdWg4OGM5WW1zc2VtSDZj?= =?utf-8?B?V1NkQ3UyeklnRENCdGJ1d1NHSUgrS253Mm1ib0J0amMycUZjcldLZy9tS3k0?= =?utf-8?B?U0NQdUllVVlyV2lXc21XRHF2cURGclA1UE0yN05HbnR4RDhjclRuM0g3cFBi?= =?utf-8?B?OGprZGFWMkNXODBOOGdlK3NpQnpsOVV4MmdwdTJwaEFjRFdyRHlLTXNnZm9k?= =?utf-8?B?K0o5bDRHOEx6SloxdFV4Z1h3dVRZVGpoM21RclVHbWlldzJ2ajA0TzBLZUwz?= =?utf-8?B?eVhPbzBTZGpybjdGRU9kMWlMMUhwWWFWSitJWm41anpSV05SMk5wanlBU2RE?= =?utf-8?B?YW1MdStNQ080dS9Xd3RCWnlrMFlDeTM5a0EyT1FuK3FrZWRuOTA2RzhmYmQ3?= =?utf-8?B?aWpkN3Bib2wrTkFXS05PbDM5b0tybGpUR1Fia0hqdzRMekU1L3p5N0tVQUpz?= =?utf-8?B?bGRVN0t6YjdZRGQrZXVQYXpDdkdETlZLbkgzRXJ3blVFYXNZSXlOVEpMOXNw?= =?utf-8?B?cWY3SDNDUE9QdGRMMzlGc2JCUzZ2WmJLZFIvdGRqandYTEl5eFIzLzhiV25D?= =?utf-8?B?L2JFR1hrZmFjem9Bc0FBTkNIZG94dnFOR2YzbkJ5UG1kc0ozUjUzZHFEQWds?= =?utf-8?B?MlBBc2cvaE1QQjdKVnVQMlpCd2c5WG9EOWlhSXFMK0d3STIydXhlK2tZYjMy?= =?utf-8?B?SjI4NVNPdWR5dGt3RWtjekNKMlVuVGxwVTFVekZvUU50RnorNysyN1U5am04?= =?utf-8?B?QVVFd1lpT2RwYkZmN2pzbmk0Vjh5dlFFZ3NaK2JDRDZtYlRaVXY5VmdhWk9a?= =?utf-8?B?dTBuMzJsenlra2o4WXBWVXM2WlJxMjBBeC9Welh6QUtWaHdJMWdITGhDdnFI?= =?utf-8?B?NDdpVnR4TERKUXR0ckNBenFvcVpiTVB0a3JTdmxMTGc2VW41UTUrelpxOHlM?= =?utf-8?B?enBIVURkWDUwd1JQbUh1QkVRaSt1RTg5K1d2bDhHSmpabHhON2FyVExua0tI?= =?utf-8?B?WW9JZ1kydHZCelhBUEttNTZrWFFiV0FnZXM3NjR3a2FzY0xyQy9FN0llV1JE?= =?utf-8?B?U1RDdkxWbUhZUm5XS3d4ZGIrSkovYlZ6bVBhT240QmtTWmwzV3pJdWdsYWZq?= =?utf-8?B?QzkrQ1pVS2pCZWFBQi9qUk9sVEtkNitOK3liemJwVTBwUnZVRDVDNEtTQzBo?= =?utf-8?B?TEVKaGtuekJHUUY1dnl5b0RLdXhDTVZFNDVEVXRheU5YRHk0MzR0aWYvbXRl?= =?utf-8?B?cUN5S0NjRjcwT2M0SUlDOUNxbTJjMHNMbWErVWhwK01mMXFtT242VmVPOThn?= =?utf-8?B?NHBVaEtFYW5QemhmejJGeElybklyNjhQS2FmUGg0TG42UFYxMUdTUTZzRXRO?= =?utf-8?B?dFF4a3RHN0Zhc3NkdUpqbGFlZTF3UU9TU2NkNzF3dXhDSWJYaENPeGZXNkRI?= =?utf-8?B?UkdRMkw2RmNtbG9ocThQL2dhSXJBRlJRWHhyNzNtb1RlSjY4Z0hRMm5WbW9r?= =?utf-8?B?THRDd3pheWNGSHdZMmRrWmJLb2tqUSttbXFVYmY4bERLSVdTc25RMHFNWUJp?= =?utf-8?B?RTFjb2J2WEpwODE3V3BHTEo4cXhjbkViYUNBdFE5SXdTRUlxNzcxNWZmWVNM?= =?utf-8?B?U0o0bUhKakJpNnMxbEhJeDYrUFZjcmN4ZmYvR2Z3L2dtTnZjM08xR1JubUF6?= =?utf-8?B?NTlZbzZsZktEK0hNRDg3UUNTZUNRNVhkN1JWQTYyVXcvc012NUJnMkk1SWtT?= =?utf-8?B?NlR6S01RK2REL2ZWMEJhRm1iN3NmMERqWGFtYUZHREtvdjEyOHBsSGpKMEtw?= =?utf-8?B?c3dkMEFldG52YzMwZVZOTUxzMVgwR2VtVFBMcXhQZG9GZnlxWHptZEpiN2pC?= =?utf-8?B?WFlYY0xndGN0aG1LMXhWWjJwd0ExQkpOY3Nvak9rdWF2eEloRGpLOWdBd1dM?= =?utf-8?B?NjV1WkRxQnB0d2l3aW1OaERhQUppVUpwTW1iNkY0cHcrWndzUFJrYjJUdEdQ?= =?utf-8?Q?hBIOVZHlg3Uyzl8//au51FRpe?= 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: f028df31-fecd-4409-c510-08dae27306f7 X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Dec 2022 10:14:49.1895 (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: EhCkCkYjIj5GNw9wj5n2rSIBekGMy1+or/RLUCRSf9AE7UgRv/+xfBAZCOnALIDTB7qfJOJJXOG6Dh8hWWQAmA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: OSZPR01MB8646 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk DQpPbiBNb25kYXksIERlY2VtYmVyIDE5LCAyMDIyIDg6NDcgUE1zIEFtaXQgS2FwaWxhIDxhbWl0 LmthcGlsYTE2QGdtYWlsLmNvbT46DQo+IA0KPiBPbiBTYXQsIERlYyAxNywgMjAyMiBhdCA3OjM0 IFBNIGhvdXpqLmZuc3RAZnVqaXRzdS5jb20NCj4gPGhvdXpqLmZuc3RAZnVqaXRzdS5jb20+IHdy b3RlOg0KPiA+DQo+ID4gQWdyZWVkLiBJIGhhdmUgYWRkcmVzc2VkIGFsbCB0aGUgY29tbWVudHMg YW5kIGRpZCBzb21lIGNvc21ldGljIGNoYW5nZXMuDQo+ID4gQXR0YWNoIHRoZSBuZXcgdmVyc2lv biBwYXRjaCBzZXQuDQo+ID4NCj4gDQo+IEZldyBjb21tZW50czoNCj4gPT09PT09PT09PT09DQo+ IDEuDQo+ICsgaWYgKGZpbGVzZXRfc3RhdGUgPT0gRlNfU0VSSUFMSVpFX0lOX1BST0dSRVNTKSB7 DQo+ICsgcGFfbG9ja19zdHJlYW0oTXlQYXJhbGxlbFNoYXJlZC0+eGlkLCBBY2Nlc3NTaGFyZUxv Y2spOw0KPiArIHBhX3VubG9ja19zdHJlYW0oTXlQYXJhbGxlbFNoYXJlZC0+eGlkLCBBY2Nlc3NT aGFyZUxvY2spOyB9DQo+ICsNCj4gKyAvKg0KPiArICogV2UgY2Fubm90IHJlYWQgdGhlIGZpbGUg aW1tZWRpYXRlbHkgYWZ0ZXIgdGhlIGxlYWRlciBoYXMgc2VyaWFsaXplZA0KPiArIGFsbA0KPiAr ICogY2hhbmdlcyB0byB0aGUgZmlsZSBiZWNhdXNlIHRoZXJlIG1heSBzdGlsbCBiZSBtZXNzYWdl cyBpbiB0aGUNCj4gKyBtZW1vcnkNCj4gKyAqIHF1ZXVlLiBXZSB3aWxsIGFwcGx5IGFsbCBzcG9v bGVkIG1lc3NhZ2VzIHRoZSBuZXh0IHRpbWUgd2UgY2FsbCB0aGlzDQo+ICsgKiBmdW5jdGlvbiwg d2hpY2ggc2hvdWxkIGVuc3VyZSB0aGF0IHRoZXJlIGFyZSBubyBtZXNzYWdlcyBsZWZ0IGluIHRo ZQ0KPiArICogbWVtb3J5IHF1ZXVlLg0KPiArICovDQo+ICsgZWxzZSBpZiAoZmlsZXNldF9zdGF0 ZSA9PSBGU19TRVJJQUxJWkVfRE9ORSkgew0KPiANCj4gT25jZSB3ZSBoYXZlIHdhaXRlZCBpbiB0 aGUgRlNfU0VSSUFMSVpFX0lOX1BST0dSRVNTLCB0aGUgZmlsZSBzdGF0ZSBjYW4gYmUNCj4gRlNf U0VSSUFMSVpFX0RPTkUgaW1tZWRpYXRlbHkgYWZ0ZXIgdGhhdC4gU28sIHdvbid0IGl0IGJlIGJl dHRlciB0byBoYXZlIGENCj4gc2VwYXJhdGUgaWYgYmxvY2sgZm9yIEZTX1NFUklBTElaRV9ET05F IHN0YXRlPyBJZiB5b3UgYWdyZWUgdG8gZG8gc28gdGhlbiB3ZQ0KPiBjYW4gcHJvYmFibHkgcmVt b3ZlIHRoZSBjb21tZW50OiAiKiBYWFggSXQgaXMgcG9zc2libGUgdGhhdCBpbW1lZGlhdGVseSBh ZnRlcg0KPiB3ZSBoYXZlIHdhaXRlZCBmb3IgYSBsb2NrIGluIC4uLiIuDQoNCkNoYW5nZWQgYW5k IHNsaWdodGx5IGFkanVzdCB0aGUgY29tbWVudHMuDQoNCj4gMi4NCj4gK3ZvaWQNCj4gK3BhX2Rl Y3JfYW5kX3dhaXRfc3RyZWFtX2Jsb2NrKHZvaWQpDQo+ICt7DQo+ICsgQXNzZXJ0KGFtX3BhcmFs bGVsX2FwcGx5X3dvcmtlcigpKTsNCj4gKw0KPiArIGlmIChwZ19hdG9taWNfc3ViX2ZldGNoX3Uz MigmTXlQYXJhbGxlbFNoYXJlZC0+cGVuZGluZ19zdHJlYW1fY291bnQsDQo+ICsgMSkgPT0gMCkN Cj4gDQo+IEkgdGhpbmsgaGVyZSB0aGUgY291bnQgY2FuIGdvIG5lZ2F0aXZlIHdoZW4gd2UgYXJl IGluIHNlcmlhbGl6ZSBtb2RlIGJlY2F1c2UNCj4gd2UgZG9uJ3QgaW5jcmVhc2UgaXQgZm9yIHNl cmlhbGl6ZSBtb2RlLiBJIGNhbid0IHNlZSBhbnkgcHJvYmxlbSBkdWUgdG8gdGhhdCBidXQNCj4g T1RPSCwgdGhpcyBkb2Vzbid0IHNlZW0gdG8gYmUgaW50ZW5kZWQgYmVjYXVzZSBpbiB0aGUgZnV0 dXJlIGlmIHdlIGRlY2lkZSB0bw0KPiBpbXBsZW1lbnQgdGhlIGZ1bmN0aW9uYWxpdHkgb2Ygc3dp dGNoaW5nIGJhY2sgdG8gbm9uLXNlcmlhbGl6ZSBtb2RlLCB0aGlzIGNvdWxkDQo+IGJlIGEgcHJv YmxlbS4gQWxzbywgSSBndWVzcyB3ZSBkb24ndCBldmVuIG5lZWQgdG8gdHJ5IGxvY2tpbmcvdW5s b2NraW5nIHRoZQ0KPiBzdHJlYW0gbG9jayBpbiB0aGF0IGNhc2UuDQo+IE9uZSBpZGVhIHRvIGF2 b2lkIHRoaXMgaXMgdG8gY2hlY2sgaWYgdGhlIHBlbmRpbmcgY291bnQgaXMgemVybyB0aGVuIGlm IGZpbGVfc2V0IGluDQo+IG5vdCBhdmFpbGFibGUgcmFpc2UgYW4gZXJyb3IgKGVsb2cgRVJST1Ip LCBvdGhlcndpc2UsIHNpbXBseSByZXR1cm4gZnJvbSBoZXJlLg0KDQpBZGRlZCB0aGUgY2hlY2su DQoNCj4gDQo+IDMuIEluIGFwcGx5X2hhbmRsZV9zdHJlYW1fc3RvcCgpLCB3ZSBhcmUgc2V0dGlu ZyBiYWNrZW5kc3RhdGUgYXMgaWRsZSBmb3IgY2FzZXMNCj4gVFJBTlNfTEVBREVSX1NFTkRfVE9f UEFSQUxMRUwgYW5kIFRSQU5TX1BBUkFMTEVMX0FQUExZLiBGb3Igb3RoZXINCj4gY2FzZXMsIGl0 IGlzIHNldCBieSBzdHJlYW1fc3RvcF9pbnRlcm5hbC4gSSB0aGluayBpdCB3b3VsZCBiZSBiZXR0 ZXIgdG8gc2V0IHRoZSBzdGF0ZQ0KPiBleHBsaWNpdGx5IGZvciBhbGwgY2FzZXMgdG8gbWFrZSB0 aGUgY29kZSBsb29rIGNvbnNpc3RlbnQgYW5kIHJlbW92ZSBpdCBmcm9tDQo+IHN0cmVhbV9zdG9w X2ludGVybmFsKCkuIFRoZSBvdGhlciByZWFzb24gdG8gcmVtb3ZlIHNldHRpbmcgdGhlIHN0YXRl IGZyb20NCj4gc3RyZWFtX3N0b3BfaW50ZXJuYWwoKSBpcyB0aGF0IHdoZW4gdGhhdCBmdW5jdGlv biBpcyBpbnZva2VkIGZyb20gb3RoZXIgcGxhY2VzDQo+IGxpa2UgYXBwbHlfaGFuZGxlX3N0cmVh bV9jb21taXQoKSwgaXQgc2VlbXMgdG8gYmUgc2V0dGluZyB0aGUgaWRsZSBiZWZvcmUNCj4gYWN0 dWFsbHkgd2UgcmVhY2ggdGhlIGlkbGUgc3RhdGUuDQoNCkNoYW5nZWQuIEJlc2lkZXMsIEkgbm90 aWNlIHRoYXQgdGhlIHBnc3RhdF9yZXBvcnRfYWN0aXZpdHkgaW4gcGFfc3RyZWFtX2Fib3J0DQpm b3Igc3ViIHRyYW5zYWN0aW9uIGlzIHVubmVjZXNzYXJ5IHNpbmNlIHRoZSBzdGF0ZSBzaG91bGQg YmUgY29uc2lzdGVudCB3aXRoIHRoZQ0Kc3RhdGUgc2V0IGF0IGxhc3Qgc3RyZWFtX3N0b3AsIHNv IEkgaGF2ZSByZW1vdmVkIHRoYXQgYXMgd2VsbC4NCg0KPiANCj4gNC4gQXBhcnQgZnJvbSB0aGUg YWJvdmUsIEkgaGF2ZSBtYWRlIGEgZmV3IGNoYW5nZXMgaW4gdGhlIGNvbW1lbnRzLCBzZWUNCj4g YXR0YWNoZWQuDQoNClRoYW5rcywgSSBoYXZlIG1lcmdlZCB0aGUgcGF0Y2guDQoNCkJlc3QgcmVn YXJkcywNCkhvdSB6ag0K