From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 4A0CA45C81; Tue, 5 Nov 2024 03:17:55 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id CAFBF4026F; Tue, 5 Nov 2024 03:17:54 +0100 (CET) Received: from NAM11-BN8-obe.outbound.protection.outlook.com (mail-bn8nam11on2046.outbound.protection.outlook.com [40.107.236.46]) by mails.dpdk.org (Postfix) with ESMTP id F126C4025F for ; Tue, 5 Nov 2024 03:17:52 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=wTN+jT/wLXYHOSy4pv8Gs2XuUalVxf3Utu6LpriPt24gcvTGl05KryyvGbZ/krYAeb7RTBegRrsZCASzG9SxJsjHplHw+HoFc4iShXRdJeC8fz8eqKBRSjb81zsg/6g6DgJkZXQUIjxJ417TisP9aGbJ58wj9brDCyrN8W4GM5Rm2WW5pheCOwRL31tguQfXABrM5lz+gTRhujJBb9Ps/6EKrVgD1D/dXWwQag3XngwXiKf/oOZziNmfLr2X162TkL1ifIwJBVKXrk1Gffnn2A83kCnen8YwtlDUC16Ku1u3Zk3Ke3sSLjb63ozVD4oGboAuucNNhwy2TRDF/JtzlA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=2rocsrK1ScfrKiWbtbMkNQGZ8WzECeBXBuK8sRSELuk=; b=CiXHwSJolM5ISucwhSaqDKickv7+aSvojDqI3TFotEg61Zu1Q7TjufgfoW+4ngsLmYpolzgVmW6iRI89jwv9+mvjVHwioSzg2zVtLBxcEkv0eJcgZGqlu8G0B3ZgEGQGjhOf9Hu609FlSmYPyt5AFCVneM+ajp3ert5p+qQaTx7qSxGmIqpHRAJEwOa+wsh0sYehu0yci0DUcNbl4q+/KZV8yk3biJ6cvSsM3a9CQ0MKxRVPI7U5vT/r9gL5bstpbHGnkx++oVAtMHjDKsNY18ZSBcpPpcNKjUWUMf8amz7GZNMFbY+CX+qpj93xDfoPjiylUrP6wS/gZEq7fUK44w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=2rocsrK1ScfrKiWbtbMkNQGZ8WzECeBXBuK8sRSELuk=; b=I21rks30cp5xv+K+k9pbgluLtmpwWrG0TJzimIdppCV5t57DWEtk8ak/xGD4vMQ0P4FwvuBTrJxa/0JKgwBlQE7WklPYiaN7Wk+LoqcyvqdeJ7fPhvbxjlJUgKHPo9K3w4MQnEGghen/tzt9Q/73KJ8rWOXFsQcb/hqXMmyMiyA= Received: from PH7PR12MB8596.namprd12.prod.outlook.com (2603:10b6:510:1b7::6) by BL1PR12MB5731.namprd12.prod.outlook.com (2603:10b6:208:386::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8114.31; Tue, 5 Nov 2024 02:17:50 +0000 Received: from PH7PR12MB8596.namprd12.prod.outlook.com ([fe80::a011:943d:7291:8069]) by PH7PR12MB8596.namprd12.prod.outlook.com ([fe80::a011:943d:7291:8069%6]) with mapi id 15.20.8114.028; Tue, 5 Nov 2024 02:17:49 +0000 From: "Varghese, Vipin" To: =?utf-8?B?TW9ydGVuIEJyw7hydXA=?= , "dev@dpdk.org" , "roretzla@linux.microsoft.com" , "bruce.richardson@intel.com" , "john.mcnamara@intel.com" , "dmitry.kozliuk@gmail.com" , "jerinj@marvell.com" , David Christensen , Wathsala Vithanage , Min Zhou , Stanislaw Kardach , "konstantin.ananyev@huawei.com" CC: "ruifeng.wang@arm.com" , "mattias.ronnblom@ericsson.com" , "anatoly.burakov@intel.com" , "stephen@networkplumber.org" , "Yigit, Ferruh" , "honnappa.nagarahalli@arm.com" Subject: RE: [RFC v3 1/3] eal/lcore: add topology based functions Thread-Topic: [RFC v3 1/3] eal/lcore: add topology based functions Thread-Index: AQHbKo7TkSe1qp6krEGG1fG5vPPPL7KmyTQAgAAgEYCAABI5QIAAFANAgAACLjCAAAwDYIAACvdwgADQ1eA= Date: Tue, 5 Nov 2024 02:17:49 +0000 Message-ID: References: <20241030054133.520-1-vipin.varghese@amd.com> <20241030054133.520-2-vipin.varghese@amd.com> <98CBD80474FA8B44BF855DF32C47DC35E9F86B@smartserver.smartshare.dk> <98CBD80474FA8B44BF855DF32C47DC35E9F86D@smartserver.smartshare.dk> <98CBD80474FA8B44BF855DF32C47DC35E9F870@smartserver.smartshare.dk> <98CBD80474FA8B44BF855DF32C47DC35E9F872@smartserver.smartshare.dk> In-Reply-To: <98CBD80474FA8B44BF855DF32C47DC35E9F872@smartserver.smartshare.dk> Accept-Language: en-IN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: MSIP_Label_94523dde-f9d1-4aa7-80a9-c0900420d3c3_ActionId=48670747-ae88-4e9b-b209-a50d1cb84c1d; MSIP_Label_94523dde-f9d1-4aa7-80a9-c0900420d3c3_ContentBits=0; MSIP_Label_94523dde-f9d1-4aa7-80a9-c0900420d3c3_Enabled=true; MSIP_Label_94523dde-f9d1-4aa7-80a9-c0900420d3c3_Method=Privileged; MSIP_Label_94523dde-f9d1-4aa7-80a9-c0900420d3c3_Name=Non-Business_New; MSIP_Label_94523dde-f9d1-4aa7-80a9-c0900420d3c3_SetDate=2024-11-05T02:06:31Z; MSIP_Label_94523dde-f9d1-4aa7-80a9-c0900420d3c3_SiteId=3dd8961f-e488-4e60-8e11-a82d994e183d; authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=amd.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: PH7PR12MB8596:EE_|BL1PR12MB5731:EE_ x-ms-office365-filtering-correlation-id: be9bd9d5-652a-4a9a-5620-08dcfd400bbd x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|7416014|376014|1800799024|366016|921020|38070700018; x-microsoft-antispam-message-info: =?utf-8?B?b0dITXVMMG9OWTVhOE1lUUIzSSt5NXdIcjBBMEJwa3g1MU1OVGZPZ2ZFTDBs?= =?utf-8?B?TXNCVmlqRFJFZlREWVY5aENoM012YVJKbGdPYmdHaE1XRzZGZ3dZdUpOQU83?= =?utf-8?B?dm95czZiSmt2MkVPNzRpOTd6RVpHOEF1L1dLS0tCd0s1SWlKcUxaSlo3cGRo?= =?utf-8?B?b0gwM2JuaytYRVBNK0RFZm1RR0p0Y0dEK0dRRXJra2QxUzJ0Z0tBS0djalQz?= =?utf-8?B?SGJGWjA2MHc1RkdiZmNuTUJnUytxY3h1MlVQZXJneWhpQTMzMllndHBodDZS?= =?utf-8?B?KzFWQURvNEM1UjFhNzJueCtYbEx2NHE4d2JyQ293d1doMTNsVC9qTUlORWFM?= =?utf-8?B?YVZLUThibUJlN3BUTzhCOWM3YkZrQVJtYVMrb0tEOUhSZHFNYmw3a2w4akZr?= =?utf-8?B?TUl0czFvemhPSGdmZFFzS3dZMWxqV25Ya2U1aS9wT1I2UDRSSjdrRWhMOHVw?= =?utf-8?B?YkE0L1lVVEN2RzgxbjlWdE1nSkJ2MXdKODJ3bHR5cUhxS0lPeStlbktQcnph?= =?utf-8?B?cVZDOExJdEhUcUZWWjk0QzNyQkYyS0Y2a1ZQdHl3NGtEZnJ5a2tOSnRwMElV?= =?utf-8?B?Mjc2d3RGQm5FL1plZ1ZxKzZVVjFaYXBmZWJrVVZxRUtxbHU4N0hIZ0lhdVJS?= =?utf-8?B?Y1Z6OG9yYnpCTGt5b3BNVlYyTFd1a2xsK0Jsa2RvMWFrZStGeDVMUTRROGRp?= =?utf-8?B?bmltdlhYRmY4alQwUEJ4elJxSC9hbm9rM3FLVDFmTExVSU1JbE1wS2JRYUx4?= =?utf-8?B?S2pHSGIwRG1kKzJPUit3bWF2a1Z6MU45WGcvRmF5U0dxYnF6NktpWWxjNUxM?= =?utf-8?B?S0VDaVlLZWhndGVPSlcrTEF1U2dkMGEzbDByTCtpbFRTdXA1S3BMSEQ0VldX?= =?utf-8?B?emEwaUdxNEhiWFowOWQ4WEEzQkNXMERNaWZUQXA5SFpFT2M0b3lmcmxEc2FM?= =?utf-8?B?ZXhVOFMyNFBqTFNzZVE2K3phN0lyRTRyVU1tc1ZvRVE3d0RaRFVxRDE5eExk?= =?utf-8?B?eG13MFA5YTFTSy9oVkxMbE5NSmNXbTBtdzZUNmtaN3VEbHRtY0JrM2lUZTdW?= =?utf-8?B?Umx1N3c3d3dEQ0N5NDIyZzFTUzRTNFNMcitadmY1Y3QydkhNUlIrZWMxSTBU?= =?utf-8?B?dU9OWjdsVnVjRGpPdzVIY0ZEb0JobDFWa3JGZksvRk1mSkg0LzdIYUpsK3ho?= =?utf-8?B?N2ZSNzVodFA4elVWMnlkdm0wV3hKZlc3NW1QQWJsQXlGQ2hIUUJ2b0JtWi9O?= =?utf-8?B?RUZ4TVZweFVjeVU4RUZ1ME10c0FNeWxsSEdjYVY3LzhRS3p5Y2xJclk0MVJN?= =?utf-8?B?bGowRkNzaUR3czBmWUZHMWZDcmUwZThjSXFpWWhrUWMzbVU5RmpRbERtaGxi?= =?utf-8?B?T0lLaDdVcHJSb2tjdnQwOGhiVStqcHZ0YjUvRi9zMlNPeFZBazZaM1R6SjV3?= =?utf-8?B?bldzR084TGNvNDM3SlRzQVBSc2VYZE5uSEtpQzlibXRNYmNxY2E5eWFuRVBn?= =?utf-8?B?MEl4ZWVvMCsyNGtaRzhzbE4zTVZUeU1zOWUrU2M5cGsvQjJqZXNhYXJucUE3?= =?utf-8?B?QnhMdVhObXYrMHdpOXlYU2U2WXFUZE15UGtkODhRUCsyZXhTZExTdFE2V1Zi?= =?utf-8?B?ZVQvZ0swbHBFVEYrWG1wSHNzMzIxWWp3L3ZyMVo4ZlNWYmdiTFlGc2dIb1R3?= =?utf-8?B?bzR3MHJNTHZVaDV4TXdFVENXOXA1d2sxMFpZNWFDaU85M2l4N0c1S1ZSOVdr?= =?utf-8?B?djFpZjlVV0hCTzJZWjNxWFErR21HQlEveDBKU1ppY3VSWHJmYy9BRm94bVQ5?= =?utf-8?B?VHhLTTkza1FwbWlvSGFDaVRqa3pNMFVpNnhZWElRTTZvSjZsdUFMVzZ0dUFX?= =?utf-8?Q?kY+K4nBtQhoRW?= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PH7PR12MB8596.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(7416014)(376014)(1800799024)(366016)(921020)(38070700018); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?eEJBU1hQQWVaR0FtUkZ4TmQ3Qm1NYkgvYzRDNTltZUlOc0tVSkI4a0VUUkRV?= =?utf-8?B?YzFnZzZtd1hldU5EcVV1NnZ3SEtwcG9Na1NUTHladC9UbHF2VnRQTnEzMjZW?= =?utf-8?B?MGVvVFlwY05Xdm5oSlhPVjJHUWFacS9YaElrc3B0Uy85N1p0d01oRVREdGs2?= =?utf-8?B?d01kditpTDFya3NLQmhNVmRMdG5waVpSMUs5enNRWlNqcE1PVTlaZU8xRk9p?= =?utf-8?B?WkwrQmdpalVYWXlDOGNmUFFtd0lMdytuaExxZy9aYmpBYnlCaFZvU2tNNnB2?= =?utf-8?B?c0V5RGp5cHQrdU1FdDhPZ01vWkFtQXVRbGtvVTVTQll2SDRLYjZLWXFmNnl3?= =?utf-8?B?dWp3YWp2UkU1d25zcFpBY1Y1UXNRT0pnNm1IZ29NcnJJcjJZdGJSMnBpSmVt?= =?utf-8?B?amZCVkR1V3pFSUt6K0ZpZVBqZnBBa3pPbzJVWDFwVFNhSzl3NEZvK0xzaVNM?= =?utf-8?B?YUJnQkdoTGhtaElNZThlY0ttWUFveHp5L3ZzTm1UdUt4RngvVEt6bmt2ZXd1?= =?utf-8?B?YlZLaFhTczR0UDgxWXZSYUlvNXNRQm82RFJKN2lrOS9HVk9SZDREYWJBdDdK?= =?utf-8?B?ZFV4YUErMVFjSDY5aERpZUlvNXlUV3RlTkl6SUNGWUhKaC9wSHNhL0FCMlU3?= =?utf-8?B?SzZFU1BJQ2d0V0RWem1zN0ZSOWZaN01nRUIzckQ0SkkyQ29UdEdhdVlVbDI1?= =?utf-8?B?WGJMNzFJZFBTUmRaYkhqYW5RaC91bUxmQlphWmJYUlp5SFk4TTFTd0w4RFlj?= =?utf-8?B?MWZnb3ZOSElxQ2o1c2lqQVM4aDRYZ3F5ZEN3OGl3YmNjcUNOdDdrRERiWHY2?= =?utf-8?B?cGYrSHloeW9WVVpFMEVTSUdESmxveXhpUThYRHlHRTdxSWxUZjVUbDNyY244?= =?utf-8?B?SlA3Y0l4SXk5Z0Naa0oyY2sxYzdha3czcmhCcG4zOVZia05VUjl2WHFGNGx1?= =?utf-8?B?TGROTTFJS21wTFFvRG1tVW1rZGRTNnBJTHE3K3UrajcyeDVDVUFaWkFZWHo0?= =?utf-8?B?a2xoYzllTjl4UW5SZndsbFBDVjRYMWxubHVjSkxVU3k1NEpDR0lvSmtseHBO?= =?utf-8?B?Ry8wdGFUazNETmFCVzNjbS84WWRsTk1CS1dnaTdTSm9aMXhucDAxVWZCbmpu?= =?utf-8?B?QlFnaVNuKytPQ2owTG5mUFUveVU2YVpkd3luT1plazkzOVl5cmV0Y1YyRUNF?= =?utf-8?B?bFR3ZFhrUUxIVFJQSUF2YjN3elB3VjNCbk43MHRsMWZSM3NKWG1GMlBhM1lH?= =?utf-8?B?YzRpQ2JWRUJvZHVxWk5IRHhCLzdXdno5czRkMEJRWEZ5WnE5MTRZY0tORWdQ?= =?utf-8?B?ZzRJZ21JTU0yeDJZQldYUnB3dkRpeWFINUQ2N1JjbWQ1bGVjY0pSeFZjcnV3?= =?utf-8?B?ditYMXJmNUw1SGUvTzBZSXlwOWJyZzdNR0ttN1lEdmhSdUxHTWJtY2xFLzB1?= =?utf-8?B?MDhBWUk4eVIwbnlKdGswTzlHdWhIdjByZDIyMzlXNWExU0hsNndjNW5veEhT?= =?utf-8?B?Ti9RUWloaE9zZGNEUjlMY05nUjJqVW1aVXhXVThLRXpyYUtEbUgvcWZROWFs?= =?utf-8?B?UjFQdll0Y1NvMTRYZGVWbm0zcWF4TjM0R2VUdFlSL2E3aHlOeWpldWptVm1G?= =?utf-8?B?T1J0WUNxSllKT2tldk0zQVhIVkdMajlUNUpZdC9BcDQ0dkNxYkpZYTQ5RGoz?= =?utf-8?B?ZEt1ZURySk1DWWxOQmY1Mm5JcGdSVS9ybG5kYmlGY0Q2SmRXK1drb0hiMjFO?= =?utf-8?B?K0VQaTNuWVU2WGlmQm1hVDY5M1djd2dtVGhIWnUzdzlCNzdZU3VpRXByb3JH?= =?utf-8?B?Tjh3czFHVWRrZ1J5dVlDWUlveExIcGpJeDJsN0pJS1kxbFowV1ZmY2V0VnZQ?= =?utf-8?B?WStnNStkdHVnYkxWb05FcFZCdmVXZWRvNksyTUpPQ3h0WnpoZDNqNm1IMmhz?= =?utf-8?B?WFgzK3MwZk1ISDB5eVdML3pDYUM0YVo1cmg5eU1CWUhCYTJCcEV3dXFJYmFy?= =?utf-8?B?dzZBRngxRlhrOTBmUERMUnVjbXdSNXJoUVBLT2t3UjVSTDY0TFhxSDRZNjNC?= =?utf-8?B?V3MzMFloWGZTOHdUWWZIbFNlV09BajVNOE5UTFMwU0FGbElBWllnMTI2WGds?= =?utf-8?Q?cc7E=3D?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PH7PR12MB8596.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: be9bd9d5-652a-4a9a-5620-08dcfd400bbd X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Nov 2024 02:17:49.6430 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: szUQPJ6bKyG24x6Xt2iWYw9STwxhn2CgDjMXdhhCwtf35V3CwhgyTEyiFlkp+O0MbsrcQo7P5wb0VxVKXYQhtQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL1PR12MB5731 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org U25pcHBlZA0KDQo+ID4gPg0KPiA+ID4gSSByZWNhbGwgZnJvbSB0aGUgQ2FjaGUgU3Rhc2hpbmcg Y29tbXVuaXR5IGNhbGwuLi4gVGhlcmUgaXMgc29tZQ0KPiA+ID4gQUNQSQ0KPiA+IGZ1bmN0aW9u IHRvDQo+ID4gPiBnZXQgdGhlIChvcGFxdWUpICJsb2NhdGlvbiBJRHMiIG9mIHZhcmlvdXMgcGFy dHMgaW4gdGhlIHN5c3RlbSwgdG8NCj4gPiA+IGJlDQo+ID4gdXNlZCBmb3Igc2V0dGluZw0KPiA+ ID4gdGhlIENhY2hlIFN0YXNoaW5nIGhpbnRzLg0KPiA+ID4gSXMgdGhlcmUgb25seSBvbmUgIkFD UEkgbG9jYXRpb24gSUQiIChJIGRvbid0IGtub3cgdGhlIGNvcnJlY3QgbmFtZSkNCj4gPiBzaGFy ZWQgYnkgdGhlDQo+ID4gPiBMMyBjYWNoZSBhbmQgdGhlIHYtY2FjaGUgaW4gQU1EIEVQWUMsIG9y IGRvIHRoZXkgaGF2ZSBlYWNoIHRoZWlyIG93bj8NCj4gPg0KPiA+IEF0IGxlYXN0IG9uIEFNRCBF UFlDLCB0aGUgc3Rhc2hpbmcgSUQgdXBkYXRlZCB0byBlaXRoZXIgTVNJLVggdGFibGUgb3INCj4g PiBEZXZpY2UgU3BlY2lmaWMgTW9kZSBpcyBjb3JlLWlkLg0KPiANCj4gQXJlIHlvdSBzYXlpbmcg dGhhdCBvbiBBTUQgRVBZQyBvbmx5IEwyIGNhY2hlcyBoYXZlIGEgU3Rhc2hpbmcgSUQsIHNvIG5v IG90aGVyDQo+IENQVSBjYWNoZXMgY2FuIGJlIHN0YXNoZWQgaW50bz8NCk9uIEFNRCBFUFlDIHpl bjQgKGxpbWl0ZWQgT3BlcmF0aW5nIFBhcnQgTnVtYmVyKSAmIHplbjUsIENhY2hlIFN0YXNoaW5n IGlzIGRvbmUgb24gTDIgY2FjaGUgbGV2ZWwuDQpUaGlzIGlzIGRvbmUgYnkgcGFzc2luZyBjb3Jl LWlkIGFzIHRoZSBzdGVlcmluZyB0YWcgKG9wYXF1ZSB2YWx1ZSkNCg0KPiBJZiB5ZXMsIHRoZW4g aXQncyBhIG5vbi1pc3N1ZSBmb3IgQ2FjaGUgU3Rhc2hpbmcsIHNpbmNlIGl0IGRvZXNuJ3QgbmVl ZCB0byBjYXJlIGFib3V0DQo+IEwzIGNhY2hlIG9yIHYtY2FjaGUuDQpZZXMsIHRoYXQgaXMgd2hh dCBJIGFtIHRyeWluZyB0byBpbXBseSBpcnJlc3BlY3RpdmUgb2YgdGhlIHBsYXRmb3JtIChBcm0s IHBvd2VycGMsIHJpc2N2LCBJbnRlbCBvciBBTUQpIGNhY2hlDQpzdGFzaGluZyBiYXNlZCBvbiBQ Q0llIFNJRyBpcyBiYXNlZCBvbiBlYWNoIHZlbmRvciBpbXBsZW1lbnRhdGlvbi4gT24gQU1EIEVQ WUMgY3VycmVudGx5IHRoaXMgaXMgb24gYmFzZWQgDQpvbiBjb3JlLWlkICh3aGljaCBpcyB0aGUg aGludCB0byBwbGF0Zm9ybSB0byBwdXQgaXQgaW50byBMMiBjYWNoZSkuIA0KDQpPdGhlciBwbGF0 Zm9ybXMgbWlnaHQgc3VwcG9ydCBwdXR0aW5nIHRvIEwxLCBMMiBvciBMMy4gQW5kIGZvciB0aGVz ZSBJIGFncmVlIHRoYXQgY2FjaGUgaWQgbWlnaHQgYmUgdXNlZCBzdGVlcmluZyB0YWcuDQoNCj4g DQo+ID4NCj4gPg0KPiA+ID4gSWYgdGhleSBhcmUgbm90IGV4cG9zZWQgYXMgb25lIElELCBidXQg dHdvIHNlcGFyYXRlIElEcywgdGhlDQo+ID4gPiBUb3BvbG9neQ0KPiA+IEFQSSBtaWdodA0KPiA+ ID4gbmVlZCB0byByZWZsZWN0IHRoaXMsIHNvIGl0IGNhbiBiZSB1c2VkIGluIHRoZSBDYWNoZSBT dGFzaGluZyBBUEkuDQo+ID4NCj4gPiBJIGhhdmUgZGlmZmVyZW50IHZpZXcgb24gdGhlIHNhbWUg YW5kIGhhZCBzaGFyZWQgdGhpcyB3aXRoIEFqaXQNCj4gPiAoQnJvYWRjb20pIGFuZCBvdGhlcnMu IFRvIG15IHVuZGVyc3RhbmRpbmcsIHVzZSBvZiBydGVfZXRoZGV2IEFQSSB1c2VkDQo+ID4gZm9y IGNhY2hpbmcgaGludHMgc2hvdWxkIGJlIGlubGluZSB0byBydGVfbGNvcmUuIERlcGVuZGluZyB1 cG9uIHRoZQ0KPiA+IHBsYXRmb3JtIChBUk0ncyBzcGVjaWZpYyBpbXBsZW1lbnRhdGlvbiwgdGhl IGxjb3JlIGdldHMgdHJhbnNsYXRlZCB0bw0KPiA+IEwyIG9yIEwzIGNhY2hlIElEIHdpdGhpbiB0 aGUgUE1ELg0KPiANCj4gVGhlIHJ0ZV9ldGhkZXYgQVBJIGZvciBjYWNoZSBzdGFzaGluZyBwcm92 aWRlcyBhIGhpZ2hlciBsZXZlbCBvZiBhYnN0cmFjdGlvbiwgeWVzLg0KPiANCj4gQnV0IHRoZSBs YXllciBiZWxvdyBpdCAtIHRoZSBTdGFzaGluZyBBUEkgdXNlZCBieSB0aGUgUE1EcyB0byBvYnRh aW4gU3Rhc2hpbmcgSUQNCj4gZnJvbSAibG9jYXRpb24gSUQiIC0gY291bGQgdXNlIHRoZSAibG9j YXRpb24gSUQiIHN0cnVjdHVyZSB0eXBlIGRlZmluZWQgYnkgdGhlDQo+IFRvcG9sb2d5IGxpYnJh cnkncyBsb3dlciBsYXllci4NCg0KWWVzLCBjb25zdW1lIHRoZSBsY29yZS1pZCBmcm9tIHRoZSB1 c2VyIHZpYSBldGhkZXYgQVBJLCBpbnRlcm5hbGx5IHRoZSBQTUQgdHJhbnNsYXRlcyB0aGlzLi4N CkJhc2VkIG9uIG15IGN1cnJlbnQgdW5kZXJzdGFuZGluZyB0aGlzIGNhbiBiZSBkb25lIGluIHR3 byB3YXlzDQoNCjEuIHRoZSB0cmFuc2xhdGlvbiBpcyBkb25lIHVzaW5nIGh3bG9jIGxpYnJhcnkg QVBJIGNhbGxzDQoyLiB1c2luZyBydGVfdG9wb2xvZ3kgc3RydWN0dXJlIGR1cmluZyBwcm9iaW5n LCBhbHNvIHByb2JlIGZvciBjYWNoZSBpZCBmb3IgTDEsIEwyLCBMMyBhbmQgTDQuDQoNClRvIGRv IGFjaGlldmUgdGhpcywgb25lIGhhcyB0byBhZGQgYHVuc2lnbmVkIGludCBjYWNoZV9pZGAgdG8g YHN0cnVjdCBjb3JlX2RvbWFpbl9tYXBwaW5nYC4NClRoaXMgYWxsb3dzIGBydGVfZWFsX3RvcG9s b2d5X2luaXRgIHByb2JlIHRvIHN0b3JlIHRoZSBjYWNoZV9pZC4NCg0KPiANCj4gPg0KPiA+IE5v dGU6ICB0aGUgY3VycmVudCBwYXRjaCBpbnRyb2R1Y2VzIG9mIFRvcG9sb2d5IGF3YXJlIGdyb3Vw aW5nLCB3aGljaA0KPiA+IGhlbHBzIHRvIHJ1biBhcHBsaWNhdGlvbiBiZXR0ZXIgb3IgdGlsZXMg b3IgY2hpcGxldHMgc2hhcmluZyBzYW1lDQo+ID4gTDJ8TDMgb3IgSU8gZG9tYWluLg0KPiANCj4g Qm90aCBsaWJyYXJpZXMgKFRvcG9sb2d5IGFuZCBDYWNoZSBTdGFzaGluZykgbmVlZCB0byBoYXZl IGRldGFpbGVkIGluZm9ybWF0aW9uDQo+IGFib3V0IHRoZSBoYXJkd2FyZSwgYWx0aG91Z2ggdGhl eSB1c2UgdGhlIGluZm9ybWF0aW9uIGZvciB0d28gZGlmZmVyZW50IHB1cnBvc2VzLg0KPiANCj4g TWF5YmUgdGhleSBjb3VsZCBzaGFyZSBhIGNvbW1vbiBsb3dlciBsYXllciBmb3IgdGhlIHN5c3Rl bSB0b3BvbG9neSwgcGVyaGFwcw0KPiBqdXN0IGEgZmV3IGhlYWRlciBmaWxlcy4gT3IgbWF5YmUg dGhlIENhY2hlIFN0YXNoaW5nIGxpYnJhcnkgc2hvdWxkIGRlcGVuZCBvbiB0aGUNCj4gVG9wb2xv Z3kgbGlicmFyeSBhcyBpdHMgImxvd2VyIGxheWVyIiB0byBwcm92aWRlIHRoZSBoYXJkd2FyZSBp bmZvcm1hdGlvbiBpdCBuZWVkcy4NCj4gDQo+IEknbSBub3Qgc2F5aW5nIHRoYXQgaXQgbXVzdCBi ZSBzby4gSSdtIG9ubHkgc2F5aW5nIHRoYXQgSSBzdXBwb3NlIHRoZXNlIHR3byBsaWJyYXJpZXMN Cj4gaGF2ZSBhIGxvdCBpbiBjb21tb24sIGFuZCB0aGV5IGNvdWxkIHRyeSB0byB0YWtlIGFkdmFu dGFnZSBvZiB0aGlzLCB0byBwcm92aWRlIGENCj4gbW9yZSB1bmlmb3JtIEFQSSBhdCB0aGVpciBs b3dlciBsYXllcnMuDQoNClllcyBJIGFncmVlLCBteSBvbmx5IGNhc2UgaGVyZSBsZXQgdXMgZmly c3QgZ2V0IHJ0ZV90b3BvbG9neSBpbnRvIGRwZGsgZWNvLXN5c3RlbS4NClNpbmNlIHRoZSBgIHN0 cnVjdCBjb3JlX2RvbWFpbl9tYXBwaW5nYCBjYW4gYmUgZWFzaWx5IHVwZGF0ZWQgdGhpcyBjYW4g YmUgZG9uZSBpbiBuZXh0IHN0ZXAuDQoNCk5vdGU6IGFzc3VtaW5nIHdlIGNhbiBtZXJnZSB0aGlz IGZvciByZWxlYXNlIDI1LjAzLCBhbmQgd2UgYWxsIGNvbmN1ciBvciBgY2FjaGUgc3Rhc2hpbmcg QVBJYCB3ZSBnZXQgaXQgdGVzdGVkIG9uIEFNRCBFUFlDIGFuZCBvdGhlciBwbGF0Zm9ybXMgYWxp a2UuDQoNCkkgd2lsbCBzaGFyZSB2NCBieSB0b2RheS4NCg0K