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 0DCB8A0093; Mon, 2 May 2022 05:58:41 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id A33D140E28; Mon, 2 May 2022 05:58:40 +0200 (CEST) Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2081.outbound.protection.outlook.com [40.107.93.81]) by mails.dpdk.org (Postfix) with ESMTP id 1645240DDB; Mon, 2 May 2022 05:58:39 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=XDBVN0/iIHO2V2HsF6KxsPLl3wzr0QKl2PYe/qmebAcdRfdu6vjh5o43+XAfSlouTq0S/35H8bWuLSt836Q8+fwywj7+grIvd5MyUT8Mgsa3Gg7S0JuwUAKeJ84Vv9t+Ocds+678QHw3QfYsY32TopFr85Ol+m9H9uV/lgEzLjkgREBgc5+fzia5dj4VREyF9iu9ob6R6eoRvmXGhZvcbHs6DMuqQLsBRGeJIW1iIjqcs9DOIoNPoEt3nWGRiqi0SeZDllwkTn4fo0/m9+pPUdKCdJfgNXKpIEXelqT4pABukPjtTCKJvZQdXWxK45330TIjmviLP1/tnmwxQFM4ZQ== 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=ehGln+crSfPp0E5DoNAoH496CcrSg1RVceO6Z6G3YBM=; b=NvdC/taJ42eS4P8+u3eijV3un5zQ1kSSRrloQ8vjSdOoC1ykvHRxoFkWyJAriTvIbnOoa2Th5/T8QZEHK5XVzsqgJBWfEVeTEv8VsW1AYC6uN4XDr5D9PhLfKmyIPQi36canI1Y2Ba87UzqWbkQHZ+eSxmtO17/3lHv7zKf5JgZCnJnJ1BsNprRgagFhBUUlDQQ1D2C6rZ57Z3WN8CYCq9/oaNw/rzMYoTwOdgYRvYmbqzasMt1XV0+gkRJzwBelD51x1X8X72yFt52c2BooaT9NoxWTblr58LvHsgugf/nogGw7tZ88KLwLO7OUASbe0n2paEt0Efgl3CrfM2B1Yw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ehGln+crSfPp0E5DoNAoH496CcrSg1RVceO6Z6G3YBM=; b=tMkgXrecdzBsYqr+iTUtCEuYOdWV7mU5MhVsI6R4UBpaTOTX8P54b5uA3ZzIZXW1HrqURLlbphXvbuZ3DqZxKeTJ0tegiVPgPWTCjleypdIcFMziYA12Sre4TaeYva6mXJDzz2JxDA3ZYNqHuYarcp1w2CH1/U2wmBQrTFyRn7VPiq+ZDvY8YySLYv1pO0coj80LjO88K5T5KcAH2VfLaEeRqSkRj0vQYcIHjbO0Jger/9yZCGZVNAlmOryGV2EIlFgy5hGzJrX/KEXlGx/ClyHKjtHWfBKoqS3f29zszSJvr+H/2nB7N00U4+9PKui10JI1vCvHQoA1mLIZ+51J+A== Received: from MN2PR12MB3647.namprd12.prod.outlook.com (2603:10b6:208:c4::17) by IA1PR12MB6209.namprd12.prod.outlook.com (2603:10b6:208:3e7::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5186.20; Mon, 2 May 2022 03:58:36 +0000 Received: from MN2PR12MB3647.namprd12.prod.outlook.com ([fe80::8d1:a70e:28ea:1892]) by MN2PR12MB3647.namprd12.prod.outlook.com ([fe80::8d1:a70e:28ea:1892%7]) with mapi id 15.20.5206.013; Mon, 2 May 2022 03:58:36 +0000 From: Spike Du To: Jerin Jacob CC: Andrew Rybchenko , Cristian Dumitrescu , Ferruh Yigit , "techboard@dpdk.org" , Matan Azrad , Slava Ovsiienko , Ori Kam , "NBU-Contact-Thomas Monjalon (EXTERNAL)" , dpdk-dev , Raslan Darawsheh Subject: RE: [RFC 0/6] net/mlx5: introduce limit watermark and host shaper Thread-Topic: [RFC 0/6] net/mlx5: introduce limit watermark and host shaper Thread-Index: AQHYSMtoLo2ZnL5ajUm8VmbxE3IO4K0BmD7QgAiKSACAAPpjIA== Date: Mon, 2 May 2022 03:58:36 +0000 Message-ID: References: <20220401032232.1267376-1-spiked@nvidia.com> In-Reply-To: Accept-Language: zh-CN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: dde7f117-c7a3-4d04-e6a7-08da2bf008a4 x-ms-traffictypediagnostic: IA1PR12MB6209:EE_ x-ld-processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: IiWg6bvahIrumcbCGTWdw2x84t3crdzA3HF4Mls51GkzHQSgaJYJCfYweREaFTLta+6IA0Yp7w6n6pQQjkKblH1jjSSqSej0YzuCYNF7LsTfvfJjJTBuSFs5GSWY9LyirdErgwRuux6GXat8DMQvZqfVE6R7QgWrv7lNvCZVwGKvxmYEOaw0ZTWl01Tr6HV2orCCEULuVBvtJHh5BSY35KE8fjaXB9LXNFh5nYss0UHXZu39+I2Fade8wmAk9LlWppQsumHJMu1QNunVebMVHBlYXmTO8vTLO1vkg9JpdxoU1mTjfhw3uUv3Ys21rCMazLBuSzPoQRjrO2gvkGMFlSw9PgXoCvv3SdU8sWcD3HbLlr55Y6o4DUhuK4xM63Jo8ENN7ZVdT2iVMJmEKV3PAJjjiVBd/IW11x7kjB/G9xgR8vhUIv600INe0PAeddQsc7CnV0bGxIBfQMrHczQ2UQfIsucJNfjI/iIx6OvRieiLEDqQPG+MdnIYcAFnOkYHQymp1ox9bkrZCWcYN4QOLfB4Qs7hx69VdTmZWTSDxQshtauRp/SxAzWDN4NqnFAJXBiUG8awD3hJ4o/Z72ATzLtmEmlKaH5DH0T1Tr5BS5sm547oHF5CKYtYRKnnDUJp7b1qt8GhjCqO2gmEFQIBerUlDZGqTkUDev+QVxYib8+6Dj0CsnTwPxL/r8ancYcHxdGqM1K1bsJkjoJkGUfvPW7f3JgqSSqROD7a+jUIEtBgLFYs3O3cYWjN0IaHe9tU4lSAQOQcUjQhyWEAS1MOG4g+Yvo0l3ARkuqbU7gkOcg= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MN2PR12MB3647.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(4636009)(366004)(966005)(316002)(71200400001)(83380400001)(54906003)(6916009)(5660300002)(8936002)(52536014)(2906002)(86362001)(55016003)(33656002)(107886003)(122000001)(76116006)(66946007)(186003)(508600001)(53546011)(66556008)(38100700002)(26005)(66476007)(66446008)(64756008)(8676002)(9686003)(38070700005)(7696005)(4326008)(6506007); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?eXFtTG1ZMnpacXZTcnBLaVk1UjNVUVl6MXdndlpmcldSdnQvaSt1YVA5MnRK?= =?utf-8?B?MVM3MDJsN2pXRFFQcE5zUGVXSzQ0STZPU2djZW4xNk85MjN6Q3M5KzNhVTF4?= =?utf-8?B?b2pVdjhRVUJoc3RDN0J0V1ovUkFxcmtHQkp2SW50RWd4V1ZwRHpkWTlWZnVS?= =?utf-8?B?WmIyR1J3bDRrQTJvYm9qT1NkUHBjanA0a0lneVRoTW1hUWRWNnBjU0tEOERM?= =?utf-8?B?SXUyWVdDOExjVHdYeHZqelJvVjgrUEo3M1hlV3RWM0RXYi8zRjNTN28waDhZ?= =?utf-8?B?QTVxb2R1SUgzTUlmb25IK3BaL3ZzZEFvLzNoMEE4VHpVUTdQRzhtU1JxQ0s3?= =?utf-8?B?SUJpT0hhcVVTRURTSStIS0ROUTdKLzBCY09ETzJmTHVFVDhmL3FuMm9rY2M4?= =?utf-8?B?OHVKSTRMMU9MZHA4ei9SMmt3QURSSExFYVJBVUt0Uis0cGIxRkR6VVhxTmlX?= =?utf-8?B?OGtNUk5XS0RsaHA4VjZTMmlhTHpKWnU4aXY5Mmwxa1pMb1hPRVR2a2xzN2tp?= =?utf-8?B?ZVU5SlhTZ1N0WGpXa3FuNVdKMENIQlFXQzZwQkxua3BKR3c4ZlJPMmJPclJl?= =?utf-8?B?dG81V2JkaEZ6cnlmSkhxMVBQL2Ezb1A3dUVEMDRmc3cxRHJpZGtCYW5xSFlM?= =?utf-8?B?S3J4ckM1RmZSV1ZHR3BSV1ZlOTBOVEV2M0RNTVIvd1pobTBLM2VWK2Jnck1Z?= =?utf-8?B?RFNqV3RRM3p3OFE5clFGWjhRMEhmSzRGRWI0aGRnTlR0dDNSTE5qMUdSYnIw?= =?utf-8?B?VUpZSkN0aEJ4Ukd2aGlubHB6TVNKaHg2cW5RZnB3SENYRytTcHN3Mk80UW1t?= =?utf-8?B?V1FzYmp2Y1VjMVRjZ2ViVkV4YVZubEx5cHY1bUZsTkFoeENJcG91WEFOdlQ1?= =?utf-8?B?Q21HV3JUOEcwS0VpYXZ3Z2tkZWxDZmZZL3kwUG1MS1NnbG9iVkZhZzBPN0lR?= =?utf-8?B?d2M3SElYcGxvY0NDR01YRS9qN1kvWXIyT0J6RnVsV2JhTGk5R1RpSm56WGIv?= =?utf-8?B?bnRJM0tsK1hIdlQvS0Y2M2VmcU9DTFJJNTd6dXpWVzgvamdpM2JyejVxY1Ar?= =?utf-8?B?V21KMTJhbVE5dm5mKzdZQjRVa1duQ09RaW5sVlNxL2h6Qm5hYnhldDliNWxl?= =?utf-8?B?ZllOcUlPWEMzaWFQNXljR1VHODJxeDZvM2JBSjE2eDBWSVZnRkU0QXhJUDYv?= =?utf-8?B?T2dqSnpPbkh0RmpMSGc3OU9FZmQ0dG9OYWZQWWpBdC9iTDRPU1l6MmVQQThy?= =?utf-8?B?SmVpWENhRUdJdTloMzNmdXlZYm1TWWMvVXdSWUgzUU9LZGVkUXRvcGwrZzZ2?= =?utf-8?B?UitSQWJqOVJBYVRlWVQ0dTRvV0VBQTFPWjlZRzhpcTRGeklabUF5alprcTdk?= =?utf-8?B?enI0bmE4eGlSMUc0c095VXZST0F4aStodkZwZ1pmRGVqOGNBSVJFbUprOVhy?= =?utf-8?B?VVAwS2p6R2RDdERlZVJEb2pGOUJXekZoS1haanVwZzg0dEo1VUlWdU5kemts?= =?utf-8?B?MkFvUW1Jd2puUzR5WVVtdTdlMGV4cGxsSmtMeWpWK081RUZuSzJvdFBWeXg0?= =?utf-8?B?SnYxWUM0MHNIWnVaNFp0MjdDOWgwZnVjSDIyUVprYU0wMHBWWDJTQzlUVWZK?= =?utf-8?B?UkJiMXBYM2t6WWc2MVF4L2pqc0ZYZ0JoMmRPK01WMU8vc3R3UnExRzRLRmh3?= =?utf-8?B?SWVyQ2EyOUErNXQ5amZrRHVFUFRVSkl2YWVUaGJvM3hIUmtwbzQyMHh0UU1u?= =?utf-8?B?WC9zcTM0cnU0QklyVjZTL1BLTEtZbzhoOWpmaG9GcnR2MjVkRnNFMzZ3RjFY?= =?utf-8?B?S1RqNUR5WG5LcUE1OStLSnlXT3VwZjRidHpySkhEa3I4Ym9IdVVud0hDTXdQ?= =?utf-8?B?eE1PMWx3OGFLSWxLQlJpVEhlUmo3MUdpeFpGUGcxY2duU1YwNWZjUERuSlJN?= =?utf-8?B?eUk4RVdlQituK1AwUHNieHZMeWJHK1ExVnplMkY3L1pwRDZiWEFXTXdCR1I0?= =?utf-8?B?UWRPb2ZkclFidzVDTmVOa3NtQUhBYi9jbWZ0K080Zm5KQUxGSmxNazlDOGRE?= =?utf-8?B?VFpVSUp3bHlYNnBPNXFyRGFxRW1FM3grbXQ5cW9JVEpvQlhjYmI0c0tMWlo4?= =?utf-8?B?dkQ4VWh4MjAyOTd0YTNINGlxTm83MVpnckNZNzIyYjNZbWNYaVZZOWpaSFNG?= =?utf-8?B?bm5DbFNUNEtwQnY3V3VhckU3V0RHdG9aUTRuU1FodGpMMzU2ZklwdDJGS3hT?= =?utf-8?B?QmRsd0lCck43VHAzUEdqOWhGMm8rQzBjUVZoT2RodTRMZXM3Sm5BUUVUQTRZ?= =?utf-8?Q?3k/FN8fQwQfa0Wy7wK?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MN2PR12MB3647.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: dde7f117-c7a3-4d04-e6a7-08da2bf008a4 X-MS-Exchange-CrossTenant-originalarrivaltime: 02 May 2022 03:58:36.2891 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: Ha7OClGWuXjhVM/XLaKNdiwTLueqIR1PUBAzX5pxOhzs1j7exRCx6zv3fq+VrO6s8GKPxyynSL6uz6nd5f14uA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB6209 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 SGkgSmVyaW4sDQoJDQo+ID4gICAgICAgICBGb3IgY2FzZSB0d28oaG9zdCBzaGFwZXIpLCBJIHRo aW5rIHdlIGNhbid0IHVzZSBSWCBtZXRlciwgYmVjYXVzZSBpdCdzDQo+IGFjdHVhbGx5IFRYIHNo YXBlciBvbiBhIHJlbW90ZSBzeXN0ZW0uIEl0J3MgcXVpdGUgc3BlY2lmaWMgdG8gTWVsbGFub3gv TnZpZGlhDQo+IEJsdWVGaWVsZCAyKEJGMiBmb3Igc2hvcnQpIE5JQy4gVGhlIE5JQyBjb250YWlu cyBhbiBBUk0gc3lzdGVtLiBXZSBoYXZlDQo+IHR3byB0ZXJtcyBoZXJlOiBIb3N0LXN5c3RlbSBz dGFuZHMgZm9yIHRoZSBzeXN0ZW0gdGhlIEJGMiBOSUMgaXMgaW5zZXJ0ZWQ7DQo+IEFSTS1zeXN0 ZW0gc3RhbmRzIGZvciB0aGUgZW1iZWRkZWQgQVJNIGluIEJGMi4gQVJNLXN5c3RlbSBpcyBkb2lu ZyB0aGUNCj4gZm9yd2FyZGluZy4gVGhpcyBpcyB0aGUgd2F5IGhvc3Qgc2hhcGVyIHdvcmtzOiB3 ZSBjb25maWd1cmUgdGhlIHJlZ2lzdGVyIG9uDQo+IEFSTS1zeXN0ZW0sIGJ1dCBpdCBhZmZlY3Rz IEhvc3Qtc3lzdGVtJ3MgVFggc2hhcGVyLCB3aGljaCBtZWFucyB0aGUNCj4gc2hhcGVyIGlzIHdv cmtpbmcgb24gdGhlIHJlbW90ZSBwb3J0LCBpdCdzIG5vdCBhIFJYIG1ldGVyIGNvbmNlcHQsIGhl bmNlIHdlDQo+IGNhbid0IHVzZSBEUERLIFJYIG1ldGVyIGZyYW1ld29yay4gSSdkIHN1Z2dlc3Qg dG8gc3RpbGwgdXNlIHByaXZhdGUgQVBJLg0KPiANCj4gT0suIElmIHRoZSBob3N0IGlzIHVzaW5n IHRoZSBEUERLIGFwcGxpY2F0aW9uIHRoZW4gcnRlX3RtIGNhbiBiZSB1c2VkIG9uIHRoZQ0KPiBl Z3Jlc3Mgc2lkZSB0byBlbmFibGUgdGhlIHNhbWUuIElmIGl0IGlzIG5vdCBEUERLLCB0aGVuIHll cywgd2UgbmVlZCBwcml2YXRlDQo+IEFQSXMuDQoJSSBzZWUgeW91ciBwb2ludC4gVGhlIFJYIGRy b3AgaGFwcGVucyBvbiBBUk0tc3lzdGVtLCBpdCdsbCBiZSB0b28gbGF0ZSB0byBub3RpZnkgSG9z dC1zeXN0ZW0gdG8gcmVkdWNlIHRyYWZmaWMgcmF0ZS4gVG8gYWNoaWV2ZSBkcm9wbGVzcywgTUxY IGRldmVsb3BlZA0KCXRoaXMgZmVhdHVyZSB0byBjb25maWd1cmUgaG9zdCBzaGFwZXIgb24gcmVt b3RlIHBvcnQuIFRoZSBIb3N0LXN5c3RlbSBpcyBmbGV4aWJsZSwgaXQgbWF5IHVzZSBEUERLIG9y IG5vdC4NCg0KUmVnYXJkcywNClNwaWtlLg0KDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0t LS0NCj4gRnJvbTogSmVyaW4gSmFjb2IgPGplcmluamFjb2JrQGdtYWlsLmNvbT4NCj4gU2VudDog U3VuZGF5LCBNYXkgMSwgMjAyMiA4OjUxIFBNDQo+IFRvOiBTcGlrZSBEdSA8c3Bpa2VkQG52aWRp YS5jb20+DQo+IENjOiBBbmRyZXcgUnliY2hlbmtvIDxhbmRyZXcucnliY2hlbmtvQG9rdGV0bGFi cy5ydT47IENyaXN0aWFuDQo+IER1bWl0cmVzY3UgPGNyaXN0aWFuLmR1bWl0cmVzY3VAaW50ZWwu Y29tPjsgRmVycnVoIFlpZ2l0DQo+IDxmZXJydWgueWlnaXRAaW50ZWwuY29tPjsgdGVjaGJvYXJk QGRwZGsub3JnOyBNYXRhbiBBenJhZA0KPiA8bWF0YW5AbnZpZGlhLmNvbT47IFNsYXZhIE92c2lp ZW5rbyA8dmlhY2hlc2xhdm9AbnZpZGlhLmNvbT47IE9yaSBLYW0NCj4gPG9yaWthQG52aWRpYS5j b20+OyBOQlUtQ29udGFjdC1UaG9tYXMgTW9uamFsb24gKEVYVEVSTkFMKQ0KPiA8dGhvbWFzQG1v bmphbG9uLm5ldD47IGRwZGstZGV2IDxkZXZAZHBkay5vcmc+OyBSYXNsYW4gRGFyYXdzaGVoDQo+ IDxyYXNsYW5kQG52aWRpYS5jb20+DQo+IFN1YmplY3Q6IFJlOiBbUkZDIDAvNl0gbmV0L21seDU6 IGludHJvZHVjZSBsaW1pdCB3YXRlcm1hcmsgYW5kIGhvc3Qgc2hhcGVyDQo+IA0KPiBFeHRlcm5h bCBlbWFpbDogVXNlIGNhdXRpb24gb3BlbmluZyBsaW5rcyBvciBhdHRhY2htZW50cw0KPiANCj4g DQo+IE9uIFR1ZSwgQXByIDI2LCAyMDIyIGF0IDg6MTIgQU0gU3Bpa2UgRHUgPHNwaWtlZEBudmlk aWEuY29tPiB3cm90ZToNCj4gPg0KPiA+IEhpIEplcmluLA0KPiANCj4gSGkgU3Bpa2UsDQo+IA0K PiA+ICAgICAgICAgVGhhbmtzIGZvciB5b3VyIGNvbW1lbnRzIGFuZCBzb3JyeSBmb3IgdGhlIGxh dGUgcmVzcG9uc2UuDQo+ID4NCj4gPiAgICAgICAgIEZvciBjYXNlIG9uZSwgSSB0aGluayBJIGNh biByZWZpbmUgdGhlIGRlc2lnbiBhbmQgYWRkIExXTShsaW1pdA0KPiB3YXRlcm1hcmspIGluIHJ0 ZV9ldGhfcnhjb25mLCBhbmQgYWRkIGEgbmV3IHJ0ZV9ldGhfZXZlbnRfdHlwZSBldmVudC4NCj4g DQo+IE9LLg0KPiANCj4gPg0KPiA+ICAgICAgICAgRm9yIGNhc2UgdHdvKGhvc3Qgc2hhcGVyKSwg SSB0aGluayB3ZSBjYW4ndCB1c2UgUlggbWV0ZXIsIGJlY2F1c2UgaXQncw0KPiBhY3R1YWxseSBU WCBzaGFwZXIgb24gYSByZW1vdGUgc3lzdGVtLiBJdCdzIHF1aXRlIHNwZWNpZmljIHRvIE1lbGxh bm94L052aWRpYQ0KPiBCbHVlRmllbGQgMihCRjIgZm9yIHNob3J0KSBOSUMuIFRoZSBOSUMgY29u dGFpbnMgYW4gQVJNIHN5c3RlbS4gV2UgaGF2ZQ0KPiB0d28gdGVybXMgaGVyZTogSG9zdC1zeXN0 ZW0gc3RhbmRzIGZvciB0aGUgc3lzdGVtIHRoZSBCRjIgTklDIGlzIGluc2VydGVkOw0KPiBBUk0t c3lzdGVtIHN0YW5kcyBmb3IgdGhlIGVtYmVkZGVkIEFSTSBpbiBCRjIuIEFSTS1zeXN0ZW0gaXMg ZG9pbmcgdGhlDQo+IGZvcndhcmRpbmcuIFRoaXMgaXMgdGhlIHdheSBob3N0IHNoYXBlciB3b3Jr czogd2UgY29uZmlndXJlIHRoZSByZWdpc3RlciBvbg0KPiBBUk0tc3lzdGVtLCBidXQgaXQgYWZm ZWN0cyBIb3N0LXN5c3RlbSdzIFRYIHNoYXBlciwgd2hpY2ggbWVhbnMgdGhlDQo+IHNoYXBlciBp cyB3b3JraW5nIG9uIHRoZSByZW1vdGUgcG9ydCwgaXQncyBub3QgYSBSWCBtZXRlciBjb25jZXB0 LCBoZW5jZSB3ZQ0KPiBjYW4ndCB1c2UgRFBESyBSWCBtZXRlciBmcmFtZXdvcmsuIEknZCBzdWdn ZXN0IHRvIHN0aWxsIHVzZSBwcml2YXRlIEFQSS4NCj4gDQo+IE9LLiBJZiB0aGUgaG9zdCBpcyB1 c2luZyB0aGUgRFBESyBhcHBsaWNhdGlvbiB0aGVuIHJ0ZV90bSBjYW4gYmUgdXNlZCBvbiB0aGUN Cj4gZWdyZXNzIHNpZGUgdG8gZW5hYmxlIHRoZSBzYW1lLiBJZiBpdCBpcyBub3QgRFBESywgdGhl biB5ZXMsIHdlIG5lZWQgcHJpdmF0ZQ0KPiBBUElzLg0KPiANCj4gPg0KPiA+ICAgICAgICAgRm9y IHRlc3RwbWQgcGFydCwgSSB1bmRlcnN0YW5kIHlvdXIgY29uY2Vybi4gQmVjYXVzZSB3ZSBuZWVk IG9uZQ0KPiBwcml2YXRlIEFQSSBmb3IgaG9zdCBzaGFwZXIsIGFuZCB3ZSBuZWVkIHRlc3RwbWQn cyBmb3J3YXJkaW5nIGNvZGUgdG8gc2hvdw0KPiBob3cgaXQgd29ya3MgdG8gdXNlciwgd2UgbmVl ZCB0byBjYWxsIHRoZSBwcml2YXRlIEFQSSBpbiB0ZXN0cG1kLiBJZiBjdXJyZW50DQo+IHBhdGNo IGlzIG5vdCBhY2NlcHRhYmxlLCB3aGF0J3MgdGhlIGNvcnJlY3Qgd2F5IHRvIGRvIGl0PyBBbnkg ZnJhbWV3b3JrIHRvDQo+IGlzb2xhdGUgdGhlIFBNRCBwcml2YXRlIGxvZ2ljIGZyb20gdGVzdHBt ZCBjb21tb24gY29kZSwgYnV0IHN0aWxsIGdpdmUgYQ0KPiBjaGFuY2UgdG8gY2FsbCBwcml2YXRl IEFQSXMgaW4gdGVzdHBtZD8NCj4gDQo+IFBsZWFzZSBjaGVjayAiUE1EIEFQSSIgaXRlbSBpbg0K PiBodHRwOi8vbWFpbHMuZHBkay5vcmcvYXJjaGl2ZXMvZGV2LzIwMjItQXByaWwvMjM5MTkxLmh0 bWwNCj4gDQo+ID4NCj4gPg0KPiA+IFJlZ2FyZHMsDQo+ID4gU3Bpa2UuDQo+ID4NCj4gPg0KPiA+ DQo+ID4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ID4gRnJvbTogSmVyaW4gSmFj b2IgPGplcmluamFjb2JrQGdtYWlsLmNvbT4NCj4gPiA+IFNlbnQ6IFR1ZXNkYXksIEFwcmlsIDUs IDIwMjIgNDo1OSBQTQ0KPiA+ID4gVG86IFNwaWtlIER1IDxzcGlrZWRAbnZpZGlhLmNvbT47IEFu ZHJldyBSeWJjaGVua28NCj4gPiA+IDxhbmRyZXcucnliY2hlbmtvQG9rdGV0bGFicy5ydT47IENy aXN0aWFuIER1bWl0cmVzY3UNCj4gPiA+IDxjcmlzdGlhbi5kdW1pdHJlc2N1QGludGVsLmNvbT47 IEZlcnJ1aCBZaWdpdA0KPiA+ID4gPGZlcnJ1aC55aWdpdEBpbnRlbC5jb20+OyB0ZWNoYm9hcmRA ZHBkay5vcmcNCj4gPiA+IENjOiBNYXRhbiBBenJhZCA8bWF0YW5AbnZpZGlhLmNvbT47IFNsYXZh IE92c2lpZW5rbw0KPiA+ID4gPHZpYWNoZXNsYXZvQG52aWRpYS5jb20+OyBPcmkgS2FtIDxvcmlr YUBudmlkaWEuY29tPjsgTkJVLUNvbnRhY3QtDQo+ID4gPiBUaG9tYXMgTW9uamFsb24gKEVYVEVS TkFMKSA8dGhvbWFzQG1vbmphbG9uLm5ldD47IGRwZGstZGV2DQo+ID4gPiA8ZGV2QGRwZGsub3Jn PjsgUmFzbGFuIERhcmF3c2hlaCA8cmFzbGFuZEBudmlkaWEuY29tPg0KPiA+ID4gU3ViamVjdDog UmU6IFtSRkMgMC82XSBuZXQvbWx4NTogaW50cm9kdWNlIGxpbWl0IHdhdGVybWFyayBhbmQgaG9z dA0KPiA+ID4gc2hhcGVyDQo+ID4gPg0KPiA+ID4gRXh0ZXJuYWwgZW1haWw6IFVzZSBjYXV0aW9u IG9wZW5pbmcgbGlua3Mgb3IgYXR0YWNobWVudHMNCj4gPiA+DQo+ID4gPg0KPiA+ID4gT24gRnJp LCBBcHIgMSwgMjAyMiBhdCA4OjUzIEFNIFNwaWtlIER1IDxzcGlrZWRAbnZpZGlhLmNvbT4gd3Jv dGU6DQo+ID4gPiA+DQo+ID4gPiA+IExXTShsaW1pdCB3YXRlcm1hcmspIGlzIHBlciBSWCBxdWV1 ZSBhdHRyaWJ1dGUsIHdoZW4gUlggcXVldWUNCj4gPiA+ID4gZnVsbG5lc3MgcmVhY2ggdGhlIExX TSBsaW1pdCwgSFcgc2VuZHMgYW4gZXZlbnQgdG8gZHBkayBhcHBsaWNhdGlvbi4NCj4gPiA+ID4g SG9zdCBzaGFwZXIgY2FuIGNvbmZpZ3VyZSBzaGFwZXIgcmF0ZSBhbmQgbHdtLXRyaWdnZXJlZCBm b3IgYSBob3N0IHBvcnQuDQo+ID4gPiA+IFRoZSBzaGFwZXIgbGltaXRzIHRoZSByYXRlIG9mIHRy YWZmaWMgZnJvbSBob3N0IHBvcnQgdG8gd2lyZSBwb3J0Lg0KPiA+ID4gPiBJZiBsd20tdHJpZ2dl cmVkIGlzIGVuYWJsZWQsIGEgMTAwTWJwcyBzaGFwZXIgaXMgZW5hYmxlZA0KPiA+ID4gPiBhdXRv bWF0aWNhbGx5IHdoZW4gb25lIG9mIHRoZSBob3N0IHBvcnQncyBSeCBxdWV1ZXMgcmVjZWl2ZXMg TFdNDQo+IGV2ZW50Lg0KPiA+ID4gPg0KPiA+ID4gPiBUaGVzZSB0d28gZmVhdHVyZXMgY2FuIGNv bWJpbmUgdG8gY29udHJvbCB0cmFmZmljIGZyb20gaG9zdCBwb3J0DQo+ID4gPiA+IHRvIHdpcmUN Cj4gPiA+IHBvcnQuDQo+ID4gPiA+IFRoZSB3b3JrIGZsb3cgaXMgY29uZmlndXJlIExXTSB0byBS WCBxdWV1ZSBhbmQgZW5hYmxlDQo+ID4gPiA+IGx3bS10cmlnZ2VyZWQgZmxhZyBpbiBob3N0IHNo YXBlciwgYWZ0ZXIgcmVjZWl2aW5nIExXTSBldmVudCwNCj4gPiA+ID4gZGVsYXkgYSB3aGlsZSB1 bnRpbCBSWCBxdWV1ZSBpcyBlbXB0eSAsIHRoZW4gZGlzYWJsZSB0aGUgc2hhcGVyLg0KPiA+ID4g PiBXZSByZWN5Y2xlIHRoaXMgd29yayBmbG93IHRvDQo+ID4gPiByZWR1Y2UgUlggcXVldWUgZHJv cHMuDQo+ID4gPiA+DQo+ID4gPiA+IFNwaWtlIER1ICg2KToNCj4gPiA+ID4gICBuZXQvbWx4NTog YWRkIExXTSBzdXBwb3J0IGZvciBSeHENCj4gPiA+ID4gICBjb21tb24vbWx4NTogc2hhcmUgaW50 ZXJydXB0IG1hbmFnZW1lbnQNCj4gPiA+ID4gICBuZXQvbWx4NTogYWRkIExXTSBldmVudCBoYW5k bGluZyBzdXBwb3J0DQo+ID4gPiA+ICAgbmV0L21seDU6IGFkZCBwcml2YXRlIEFQSSB0byBjb25m aWd1cmUgUnhxIExXTQ0KPiA+ID4gPiAgIG5ldC9tbHg1OiBhZGQgcHJpdmF0ZSBBUEkgdG8gY29u ZmlnIGhvc3QgcG9ydCBzaGFwZXINCj4gPiA+ID4gICBhcHAvdGVzdHBtZDogYWRkIExXTSBhbmQg SG9zdCBTaGFwZXIgY29tbWFuZA0KPiA+ID4NCj4gPiA+ICsgQEFuZHJldyBSeWJjaGVua28gIEBG ZXJydWggWWlnaXQgY3Jpc3RpYW4uZHVtaXRyZXNjdUBpbnRlbC5jb20NCj4gPiA+DQo+ID4gPiBJ IHRoaW5rLCBjYXNlIG9uZSwgY2FuIGJlIGVhc2lseSBhYnN0cmFjdGVkIHZpYSBhZGRpbmcgbmV3 DQo+ID4gPiBydGVfZXRoX2V2ZW50X3R5cGUgZXZlbnQgYW5kIGNhc2UgdHdvIGNhbiBiZSBhYnN0 cmFjdGVkIHZpYSB0aGUNCj4gPiA+IGV4aXN0aW5nIFJ4IG1ldGVyIGZyYW1ld29yayBpbiBldGhk ZXYuDQo+ID4gPg0KPiA+ID4gQWxzbywgVXBkYXRpbmcgZ2VuZXJpYyB0ZXN0cG1kIHRvIHN1cHBv cnQgUE1EIHNwZWNpZmljIEFQSSBzaG91bGQgYmUNCj4gPiA+IGF2b2lkZWQsIEkga25vdyB0aGVy ZSBpcyBleGlzdGluZyBzdHVmZiBpbiB0ZXN0cG1kLCBJIHRoaW5rLCB3ZQ0KPiA+ID4gc2hvdWxk IGhhdmUgdGhlIHBvbGljeSB0byBhZGQgUE1EIHNwZWNpZmljIGNvbW1hbmRzIHRvIHRlc3RwbWQu DQo+ID4gPg0KPiA+ID4gVGhlcmUgYXJlIGFyb3VuZCA1NlBNRHMgaW4gZXRoZGV2IG5vdywgSWYg UE1EcyB0cnkgdG8gYWRkIFBNRA0KPiA+ID4gc3BlY2lmaWMgQVBJIGluIHRlc3RwbWQgaXQgd2ls bCBiZSBibG9hdGVkIG9yIGF0IG1pbmltdW0sIGl0IHNob3VsZA0KPiA+ID4gYSBzZXBhcmF0ZSBm aWxlIGluIHRlc3RwbWQgaWYgd2UgY2hvb3NlIHRvIHRha2UgdGhhdCBwYXRoLg0KPiA+ID4NCj4g PiA+ICsgQHRlY2hib2FyZEBkcGRrLm9yZw0K