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 41D14A0560; Tue, 18 Oct 2022 11:50:17 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 2FEE74021D; Tue, 18 Oct 2022 11:50:17 +0200 (CEST) Received: from NAM04-DM6-obe.outbound.protection.outlook.com (mail-dm6nam04on2122.outbound.protection.outlook.com [40.107.102.122]) by mails.dpdk.org (Postfix) with ESMTP id DE99940143; Tue, 18 Oct 2022 11:50:15 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=QrQAh+kG2rRvQwvLKOefIZa4JbOhSeDkIx2ifdKG1roFGyd2+tz6T5n9FfXV7XelKE0+I94NDKJe9O1VRbzs4n5aOzuEKQdTJbdcEeAHcV2sJ5M9B5ll/8HnB14/Vn70OmKqPcLkHL7g+4CGeQYj0mNuKTbUMWTPdWhYsD1ymoYZ9Zc7RfYeLBLxuzEqHoI1u6hUXjZF9pcQoASmueoLKpFBykT/2gqs5GjLASKN57HKAXFslOAU5vGP6T122S2WEmuSYSNfjABSd/XRsvF0xWvti35mpXAUftFh+GvDu7TLKVfEjVJHCNiw2CNea5rZQiRL/mVE0bBu/kOIuaCueQ== 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=TaMmJUwHjIU8enB8DleGoc7Fr48xgscnZ/yVM/9v2Ho=; b=jbcrM2RP16WKTtP5hZQpvUabrnuaSqiLOUNujLBm9lw+DwEbVmu1YA7zz4BrNm9ALM8GqkDHVqsZSP+LdUWBpbUP2wpc2Q2zbdUNdNHCKdWjhMFZc+zTNlN0fB+zkGh0bnE8m6qgqOYJoU+7sX/i6+i0Iv1a3a1o6InhZbbNDrxrNhyC4aieCQ7YxHPJ8CsZoug3DoHPvl0EIVlLIQKlD6qpXyRNJlGUWqZ2efT2bjxY2DT6B9XmP6LcNiB8j7dogfym4UY5X1+aFr2etUNCBNwhUgBqD8OlLHk/GHENOTY5/WB+KvbqLRV+68hdUcU+CRgYMSmo7ww4ZLoeViI1cg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=corigine.com; dmarc=pass action=none header.from=corigine.com; dkim=pass header.d=corigine.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=corigine.onmicrosoft.com; s=selector2-corigine-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=TaMmJUwHjIU8enB8DleGoc7Fr48xgscnZ/yVM/9v2Ho=; b=dDTS8LrcFn9iRYHDY+2xNe6t2bD4dGmsVp2jhbuGO/LETNAlS8jX8ujIfHPs9WJQF2+YiqBsb+4MRjGR2rxDo72e+wG5c1AxWbAd5t4XrVSRiz0XhD1Qzu9OblFHI/buGDUSs0qXmZA9u+rcBLQRAS8mww9iB7esT48iJcYeAIA= Received: from BL0PR13MB4450.namprd13.prod.outlook.com (2603:10b6:208:17d::18) by PH0PR13MB5424.namprd13.prod.outlook.com (2603:10b6:510:12b::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5723.20; Tue, 18 Oct 2022 09:50:12 +0000 Received: from BL0PR13MB4450.namprd13.prod.outlook.com ([fe80::8cc1:1056:84dd:cfa2]) by BL0PR13MB4450.namprd13.prod.outlook.com ([fe80::8cc1:1056:84dd:cfa2%3]) with mapi id 15.20.5746.016; Tue, 18 Oct 2022 09:50:12 +0000 From: Nole Zhang To: Ferruh Yigit , Chaoyong He , "dev@dpdk.org" CC: oss-drivers , Niklas Soderlund , "stable@dpdk.org" Subject: RE: [PATCH] net/nfp: set the appropriate initialized value of flbufsz Thread-Topic: [PATCH] net/nfp: set the appropriate initialized value of flbufsz Thread-Index: AQHY3HRTgMM+PimWx0uhZEWi85ZaVq4MPccAgALbI6CAA3FNgIAA3+/AgABprQCAAApjcIAAEvQAgAACcNA= Date: Tue, 18 Oct 2022 09:50:11 +0000 Message-ID: References: <1665384495-24990-1-git-send-email-chaoyong.he@corigine.com> <482436be-c20f-09a0-d4e7-b46458026317@amd.com> <005358b0-33cf-1fb1-bf1a-08b82c2a08cd@amd.com> <62bf28bc-fda3-c4d2-c0c3-46fed4f2984c@amd.com> In-Reply-To: <62bf28bc-fda3-c4d2-c0c3-46fed4f2984c@amd.com> Accept-Language: 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=corigine.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: BL0PR13MB4450:EE_|PH0PR13MB5424:EE_ x-ms-office365-filtering-correlation-id: 4db9b258-5026-4d40-a5a5-08dab0ee2678 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: vxEeTyygXZTIV2YmDYYAFLzBBsjQCVlSaRDkmQ+T/N+lrk2/05d3z8Ti2tv1lFTuOKH9lkDVVJxfybmNYS1U6Yg60l5Oem+iXgupILXwBcMCa2+I9F1WXinN4vnV6otJE8XIq9q2dPqpTrezFZxFFn71JAMxtUgcp3sUDDsD3Vr5HLn3Dc2rmsE1oeQPt13U19SOa027kgAUgWwPFYkIS8fuaDM8ZHXbDDuF+FME9agE53jw/I4VvoBdFCaK3JX+3dBbR8/mYL6NH17LnwcLmDXYCDJdSZU9jVYvJelJUVrOgB3wS+uD5ZTRKytD7KYYmbkFs/uzhGfgJ4yAqtCLxSxWar856qhbAAcH3sFOH23K0T9dEAdNz9hG73a8pAH4xUdn9jf+BYlt6EsFHvl1TD5B3exe1+/KVLn5Cmea6BGJcXlaZXV7ml5K+q9BtwTPr01m7/aMvqeKU5VXuC2kq8Gq/4JI3J8UAocMa5FvsAoavleGSpggnUqoLmaP3F7njvb90PFljR4DHvj7kQTpQt9DF2BqIU78Ep7GaAPOT/xtrpzVuBXoOYRX5LCARcdf4+w1rq3yeb2QRXYxutTdAmfmf9ipwGuFnp1k3zdUU7oMLDo+KsTKp+esP7NhS29ZOzrJceBpiJV1Hlz083iJ1NaPhfTuU8WU/VK6Cuen5kR4CPUxyK4og2rREAzoNbFC1cJezGbo6pXzxnqh2A98m+SSep8QM5jbWwqvgRJaUIW9jq3Vvw/2my8kDpJekKw47hSZ0s1dn3Uai6JXGisbvQ== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BL0PR13MB4450.namprd13.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230022)(4636009)(396003)(39830400003)(346002)(366004)(136003)(376002)(451199015)(66946007)(6506007)(5660300002)(2906002)(41300700001)(9686003)(26005)(8936002)(186003)(7696005)(53546011)(52536014)(38100700002)(86362001)(38070700005)(55016003)(83380400001)(122000001)(33656002)(316002)(110136005)(478600001)(66446008)(66476007)(66556008)(54906003)(64756008)(4326008)(8676002)(71200400001)(76116006); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?VGM3a3g2M09OaFNOUW0rVlEwb0k3VEFBbGlGT1ViK1Z4ZlFvN052Ylljc29S?= =?utf-8?B?UlhUQnM0RGhCQXg1bDBmdE1qYkFsd2ZZb2p4V05YQVNwWWZ1SGhaQklEMjZN?= =?utf-8?B?Q0RhVTUya3VycHh3TzBrNnhFdmhTOUVTNTFsMmhLMC9SRnpobkJHUVh3RG5r?= =?utf-8?B?MVZ4ZVAyVE1KYW9SZDM2ZnkySUIvWXN1K0pxMUIrNUxnYlJjaXI2ODJNWldT?= =?utf-8?B?Ym5WL0J4d0x0N3NKVEFQRFF4cVdnTjFwNFB1M1NiRWl1WGZ3Q0VyUHpOeVlm?= =?utf-8?B?WHJ5bXdGbjFDYnJPZWFVOTFWcnNqaXJqRC9IWHdVZnJRNjRxWVBJS1lUUGpR?= =?utf-8?B?VTdaOVJnSTBuN1pzQUFXV1VlMm9VcGExM2RqOFIzanVyRHFTNk12SnlEdFVY?= =?utf-8?B?K2x6K3B6ekxvMXdYVHFnQ1ZiN3VrSTN6RnB0SGptQ09vVCtGUDZiYVJDMXRB?= =?utf-8?B?MnpzeFdyTXhtZGRTbGFZYjJBRkd6R2FWM2M1VFIrQXYzRGwvZTVXanJtd2NL?= =?utf-8?B?NnRyYVdYQUR1Vk5kRk1JaGwvK043Rm9qMzFYdnA2MFVNbDhaRkJ4M0JRcGRO?= =?utf-8?B?dW5kS2YxanIvdkZWQVNvWG1ROTV2eXVuQU5Mc0RHZEtLQTVES0R2RnU5T0t2?= =?utf-8?B?Vm50THFMeUZGWFpPc05qVkxaTHh2bmlVTHpMZFNyMjhWamlvamY5NW51b0Nt?= =?utf-8?B?YnNGa1hjUGpHTTJSNkFzZUVQM2hUS0x0bkxFZDdDOG5qRjErSVRsemRhSmJq?= =?utf-8?B?WGErcXpFTkFlMGl0K3JxV2xJWTJDaVV0OW9RQ2s4cHkzN0RFOWY3Y3pteVAx?= =?utf-8?B?cGVQZyt0R0QybmlNc1ZYNytRYzNFaytSSjFqVWM4bkpqSCtBaTQ3OGE0Tk9C?= =?utf-8?B?WHJjQTJHUHJUby9IL3NJZDh4OVRTa0llSTNDTnNkdG9FK0wwNnA1N0xjR3Nt?= =?utf-8?B?ekl5OHRTekpLK3NidFdoM0tiM29la25XSEx0OFJ2ZGM1RStHd2ZrMUdKbm85?= =?utf-8?B?ZE5leENQdkR3YXNhdUNUNnlENEt5d1g5RkxEcnFoMktnd2U1QWFpZzVhL2pz?= =?utf-8?B?VzMwWXcyRk9pMmxFdk91cWFOSklkWjRsQVBjUGd5WGMzVEthVHYvMlZ1ZTJR?= =?utf-8?B?cHBjUlFZSEVBbkNUQjhqTDJiK0ZxRXBkUFJTZjZnTUYyc1gwNFRMWjJ6UFJa?= =?utf-8?B?aEtkRlhVRjMxdFd5clZHQlI1SUsraHZycmdYWEZqMG1sT3d1MmltUHF6eUVp?= =?utf-8?B?ZjN2aGRPazFmQTJ3NTZ0NEtXOTVYeXh3cFJxOGYxQmlPQ0ptZnpMclJMNDcz?= =?utf-8?B?bjRGc3pZQ3prT3diT1dEZFQ3NFJJeDBYSjM1VCt3SlF0dzRlQVJlVXBsbG56?= =?utf-8?B?ZGhqWVNNZzNkeDEyeG9yR0l1SXNMcncyZG0xQVA5Ym5odTRybVdhQ0xEeWR0?= =?utf-8?B?NUozWC9QOXdvdENodXNYOXZxNklBMklJanlLTUYvMzh5TXlrbDdJMFlmRjVO?= =?utf-8?B?d1JZR3F6NDYwR1hCakJPK2lzNkEreUxOeHJvcElFeE5qWHpDSW1MNFNwQkhJ?= =?utf-8?B?cndJekM2RzF6Q3VUNTV6b2ExdWNxTDk5dXdHckNnTE5mK0xHb1lGWFluZ1VZ?= =?utf-8?B?RnBYU0ZNb1ZzZEgrNUVweEJQbTVBSXRMZG9XVFRGOExaUmk3bVZxd05oWER5?= =?utf-8?B?S2M3eEw1TjI3bm1udW1TTzZjUnFTMmxUM2JWWlB0ZXdyWTlxQmZmNkMxUisz?= =?utf-8?B?NUo0Qys3SS9Wci9ORk43ZGptenJ0ejl6SVRUbkJvTXVWUVYrbkVEc01vVC9r?= =?utf-8?B?Kzh2NVRGelQyaVBnZkNDVVEzaW9lL0JFSzUwNklTbUhHN2dIKzhJOGpzVGV3?= =?utf-8?B?SW0wZ0JVSE50QjJZOVA2UkkrbFVtd1NveWU2WnhEdDNpL1FZeGVDdytVTVRW?= =?utf-8?B?KzdDRjBaaE1nTGUraW8vMXNQbVAra2g0MlJVcFRFb1dOaU54cVZpNm5ic0Qv?= =?utf-8?B?MFZaVW51TnZtbkt3ZFNFTWZLVnYvSkNVMmwrNzdYZ1RrVHlEWitSWnJ0cXI4?= =?utf-8?B?aGluOHNwTG5vNnkrcGQxRmhlTGlMYjE3YjZSd2JmM29raGlvRTNSaUNxNVdV?= =?utf-8?Q?3NBlgLbWJLdX6tp5Zfl3sXbNp?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: corigine.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BL0PR13MB4450.namprd13.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4db9b258-5026-4d40-a5a5-08dab0ee2678 X-MS-Exchange-CrossTenant-originalarrivaltime: 18 Oct 2022 09:50:11.9868 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: fe128f2c-073b-4c20-818e-7246a585940c X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 8wMI1k6TDHxUA8aR0Gp1CGj45/1loO1eRvOXVm3Bg99pVAm56dOu8oSbrEgZAebeNoqbLiiHTfmNSU9oItrmAA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR13MB5424 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 DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogRmVycnVoIFlpZ2l0IDxm ZXJydWgueWlnaXRAYW1kLmNvbT4NCj4gU2VudDogMjAyMuW5tDEw5pyIMTjml6UgMTc6MzYNCj4g VG86IE5vbGUgWmhhbmcgPHBlbmcuemhhbmdAY29yaWdpbmUuY29tPjsgQ2hhb3lvbmcgSGUNCj4g PGNoYW95b25nLmhlQGNvcmlnaW5lLmNvbT47IGRldkBkcGRrLm9yZw0KPiBDYzogb3NzLWRyaXZl cnMgPG9zcy1kcml2ZXJzQGNvcmlnaW5lLmNvbT47IE5pa2xhcyBTb2Rlcmx1bmQNCj4gPG5pa2xh cy5zb2Rlcmx1bmRAY29yaWdpbmUuY29tPjsgc3RhYmxlQGRwZGsub3JnDQo+IFN1YmplY3Q6IFJl OiBbUEFUQ0hdIG5ldC9uZnA6IHNldCB0aGUgYXBwcm9wcmlhdGUgaW5pdGlhbGl6ZWQgdmFsdWUg b2YgZmxidWZzeg0KPiANCj4gT24gMTAvMTgvMjAyMiA5OjUxIEFNLCBOb2xlIFpoYW5nIHdyb3Rl Og0KPiA+PiBPbiAxMC8xOC8yMDIyIDI6NDEgQU0sIE5vbGUgWmhhbmcgd3JvdGU6DQo+ID4+Pg0K PiA+Pj4+IE9uIDEwLzE1LzIwMjIgODozOCBBTSwgTm9sZSBaaGFuZyB3cm90ZToNCj4gPj4+Pj4g ICAgID4gT24gMTAvMTAvMjAyMiA3OjQ4IEFNLCBDaGFveW9uZyBIZSB3cm90ZToNCj4gPj4+Pj4+ PiBGcm9tOiBQZW5nIFpoYW5nIDxwZW5nLnpoYW5nQGNvcmlnaW5lLmNvbT4NCj4gPj4+Pj4+Pg0K PiA+Pj4+Pj4+IFdoZW4gdGhlIHRlc3RwbWQgYXBwIHN0YXJ0LXVwIHdpdGggcGFyYW1ldGVyIG1h eC1wa3QtbGVuLCBpdA0KPiA+Pj4+Pj4+IHdpbGwgc2V0DQo+ID4+Pj4+PiBNVFUuDQo+ID4+Pj4+ Pj4gQnV0IHRoZSBpbml0aWFsaXplZCB2YWx1ZSBvZiBmbHViZnN6IGlzIGluYXBwcm9wcmlhdGUs IGlmIHRoZQ0KPiA+Pj4+Pj4+IHZhbHVlIG9mIGZsYnVmc3ogaXMgc21hbGxlciB0aGFuIHRoZSB2 YWx1ZGUgb2YgbWF4LXBrdC1sZW4sIHRoZQ0KPiA+Pj4+Pj4+IHRlc3RwbWQgYXBwIHdpbGwgc3Rh cnQgZmFpbC4NCj4gPj4+Pj4+Pg0KPiA+Pj4+Pj4NCj4gPj4+Pj4+IFdoYXQgaXMgdGhlIGZhaWx1 cmUgaW4gdGhlIHRlc3RwbWQ/DQo+ID4+Pj4+DQo+ID4+Pj4+IFRoZSBsb2cgaXMgYXMgZm9sbG93 czoNCj4gPj4+Pj4gW3Jvb3RAdm9sc3RydWlzIH5dIyBkcGRrLXRlc3RwbWQgLS1tYWluLWxjb3Jl IDEwIC1sIDEwLDExLDEyIC1uIDQNCj4gPj4+Pj4gLWENCj4gPj4+Pj4gMDAwMDo4MTowMC4wIC0t c29ja2V0LW1lbSAyMDQ4LDIwNDggLS1wcm9jLXR5cGUgYXV0byAtLSAtLXBvcnRtYXNrDQo+ID4+ Pj4+IDB4MyAtLW5iLWNvcmVzIDIgLS1yeHEgMSAtLXR4cSAxIC0tcnhkIDEwMjQgLS10eGQgMTAy NA0KPiA+Pj4+PiAtLXBvcnQtdG9wb2xvZ3kgbG9vcCAtLWZvcndhcmQtbW9kZSBtYWNzd2FwICAt LW1heC1wa3QtbGVuIDkyMTYNCj4gPj4+Pj4gLS1tYnVmLXNpemUgOTYwMCAtLXJzcy11ZHAgLS1i dXJzdD0zMg0KPiA+Pj4+PiBFQUw6IERldGVjdGVkIENQVSBsY29yZXM6IDQwDQo+ID4+Pj4+IEVB TDogRGV0ZWN0ZWQgTlVNQSBub2RlczogMg0KPiA+Pj4+PiBFQUw6IEF1dG8tZGV0ZWN0ZWQgcHJv Y2VzcyB0eXBlOiBQUklNQVJZDQo+ID4+Pj4+IEVBTDogRGV0ZWN0ZWQgc3RhdGljIGxpbmthZ2Ug b2YgRFBESw0KPiA+Pj4+PiBFQUw6IE11bHRpLXByb2Nlc3Mgc29ja2V0IC92YXIvcnVuL2RwZGsv cnRlL21wX3NvY2tldA0KPiA+Pj4+PiBFQUw6IFNlbGVjdGVkIElPVkEgbW9kZSAnVkEnDQo+ID4+ Pj4+IEVBTDogVkZJTyBzdXBwb3J0IGluaXRpYWxpemVkDQo+ID4+Pj4+IEVBTDogVXNpbmcgSU9N TVUgdHlwZSAxIChUeXBlIDEpDQo+ID4+Pj4+IEVBTDogUHJvYmUgUENJIGRyaXZlcjogbmV0X25m cF9wZiAoMTllZTo0MDAwKSBkZXZpY2U6IDAwMDA6ODE6MDAuMA0KPiA+Pj4+PiAoc29ja2V0IDEp IE5GUCBIV0lORk8gaGVhZGVyOiA0ODQ5MDIwMA0KPiA+Pj4+PiBURUxFTUVUUlk6IE5vIGxlZ2Fj eSBjYWxsYmFja3MsIGxlZ2FjeSBzb2NrZXQgbm90IGNyZWF0ZWQgU2V0DQo+ID4+Pj4+IG1hY3N3 YXAgcGFja2V0IGZvcndhcmRpbmcgbW9kZQ0KPiA+Pj4+PiB0ZXN0cG1kOiBjcmVhdGUgYSBuZXcg bWJ1ZiBwb29sIDxtYl9wb29sXzE+OiBuPTE2MzQ1Niwgc2l6ZT05NjAwLA0KPiA+Pj4+PiBzb2Nr ZXQ9MQ0KPiA+Pj4+PiB0ZXN0cG1kOiBwcmVmZXJyZWQgbWVtcG9vbCBvcHMgc2VsZWN0ZWQ6IHJp bmdfbXBfbWMgQ29uZmlndXJpbmcNCj4gPj4+Pj4gUG9ydA0KPiA+Pj4+PiAwIChzb2NrZXQgMSkN Cj4gPj4+Pj4gUG9ydDAgZGV2X2NvbmZpZ3VyZSA9IC0zNA0KPiA+Pj4+PiBGYWlsIHRvIGNvbmZp Z3VyZSBwb3J0IDANCj4gPj4+Pj4gRUFMOiBFcnJvciAtIGV4aXRpbmcgd2l0aCBjb2RlOiAxDQo+ ID4+Pj4+ICAgICAgQ2F1c2U6IFN0YXJ0IHBvcnRzIGZhaWxlZA0KPiA+Pj4+Pg0KPiA+Pj4+PiBG aXJzdCAgaW4gdGhlIGBuZnBfbmV0X2NvbmZpZ3VyZSgpYCwgd2Ugd2lsbCBqdWRnZSB0aGUgdmFs dWUgb2YNCj4gPj4+Pj4gTVRVIGFuZCBody0gZmxidWZzeiwgSWYgTVRVID4gaHctPmZsYnVmc3os IGl0IHdpbGwgaGF2ZSB0aGUgZXJyb3IuDQo+ID4+Pj4+DQo+ID4+Pj4+IEFuZCB0aGUgYC0tbWF4 LXBrdC1sZW5gIGlzIHNldHRpbmcgdGhlIE1UVSBpbiB0aGUgaW5pdGlhbGl6ZQ0KPiA+Pj4+PiBw cm9jZXNzLCB0aGUNCj4gPj4+PiBpbml0aWFsaXplZCAgdmFsdWUgb2YgIGh3LT5mbGJ1ZnN6IGlz IGp1c3QgMTUwMCBhdCBmaXJzdC4NCj4gPj4+Pj4NCj4gPj4+Pj4gU28gaWYgd2Ugc2V0IHRoZSBg bWF4LXBrdC1sZW5gICBiaWdnZXIgdGhhbiB0aGUgaW5pdGlhbGl6ZWQgdmFsdWUNCj4gPj4+Pj4g b2YgZmxidWZzeiwgSXQNCj4gPj4+PiB3aWxsIGxlYWQgdGhlIGVycm9yLg0KPiA+Pj4+Pg0KPiA+ Pj4+PiBIZW5jZSB3ZSBzZXQgdGhlIG5ldyB2YWx1ZSBvZiBody0+ZmxidWZzeiwgaXQgY2FuIGxh cmdlIHRoZSByYW5nZQ0KPiA+Pj4+PiBtYXgtcGt0LQ0KPiA+Pj4+IGxlbiBpbiB0aGUgaW5pdGlh bGl6ZWQgcHJvY2Vzcy4NCj4gPj4+Pj4NCj4gPj4+Pj4NCj4gPj4+Pj4+DQo+ID4+Pj4+PiBUaGlz IHBhdGNoIGlzIGZpeGluZyBzb21ldGhpbmcgYnV0IGl0IGlzIG5vdCBjbGVhciB3aGF0IGlzIGZp eGVkLA0KPiA+Pj4+Pj4gdGhlIGNvbmNlcm4gaXMgaXQgbWF5IGJlIGNoYW5naW5nIGRyaXZlciB0 byBtYWtlIHNvbWV0aGluZyBwYXNzDQo+ID4+Pj4+PiBpbiB0ZXN0DQo+ID4+Pj4gYXBwbGljYXRp b24gKHRlc3RwbWQpLg0KPiA+Pj4+Pj4NCj4gPj4+Pj4+IFdoYXQgaXMgJ2ZsdWJmc3onLCBpcyBp dCBIdyBjb25maWd1cmVkIGZyYW1lIGJ1ZmZlciBzaXplPw0KPiA+Pj4+Pg0KPiA+Pj4+Pg0KPiA+ Pj4+PiBJdCBpcyBjb25maWd1cmVkIGluIHRoZSBgbmZwX25ldF9yeF9xdWV1ZV9zZXR1cCgpYHtg aHctPmZsYnVmc3ogPQ0KPiA+Pj4+PiByeHEtIG1idWZfc2l6ZWB9Lg0KPiA+Pj4+PiBJZiB0aGUg cnhxLT5tYnVmX3NpemUgPCBNVFUsIHRoZSBNVFUgY2FuJ3Qgd29yay4NCj4gPj4+Pj4NCj4gPj4+ Pg0KPiA+Pj4+IEl0IGxvb2tzIGxpa2UgYGh3LT5mbGJ1ZnN6YCBob2xkcyB0aGUgUnggYnVmZmVy IHNpemUsIGFzIHlvdQ0KPiA+Pj4+IGhpZ2hsaWdodGVkDQo+ID4+IGFib3ZlLg0KPiA+Pj4+DQo+ ID4+Pj4gQW5kIHlvdSBkb24ndCB3YW50IHRvIGFjY2VwdCBmcmFtZXMgYmlnZ2VyIHRoYW4gYnVm ZmVyIHNpemUsIHNpbmNlDQo+ID4+Pj4gaXQgc2VlbXMgZHJpdmVyIGRvZXNuJ3Qgc3VwcG9ydCBg UlRFX0VUSF9SWF9PRkZMT0FEX1NDQVRURVJgLCBhbGwNCj4gPj4+PiBsb29rcw0KPiA+PiBPSy4N Cj4gPj4+Pg0KPiA+Pj4+DQo+ID4+Pj4gQWNjb3JkaW5nIGFib3ZlIGxvZ2ljLCBJIGFncmVlICJo dy0+ZmxidWZzeiA9IFJURV9FVEhFUl9NVFU7IiBpcw0KPiA+Pj4+IHdyb25nLCBidXQgZXF1YWxs eSBgaHctPmZsYnVmc3ogPSBody0+bWF4X210dTtgIHNlZW1zIHdyb25nLg0KPiA+Pj4+DQo+ID4+ Pj4gSW4gYWJvdmUgY29tbWFuZCBsaW5lLCBpdCBpcyBzYWZlIGJlY2F1c2UgIm1idWYtc2l6ZT05 NjAwIiBhbmQNCj4gPj4+PiAibWF4LXBrdC1sZW49OTIxNiIsIGJ1ZmZlciBzaXplIGlzIGJpZ2dl ciB0aGFuIHBhY2tldCBzaXplLg0KPiA+Pj4gWWVzLCBpZiBJIG5lZWQgc2V0IHRoZSBoYXJkY29k ZWQgdmFsdWUsIEkgc2hvdWxkIHNldCB0aGUgbWF4IG1heC1wa3QtbGVuLg0KPiA+Pg0KPiA+PiBJ IHRoaW5rIGl0IHNob3VsZCBiZSAnbWJ1Zi1zaXplJywgc2luY2UgJ2h3LT5mbGJ1ZnN6JyBpcyB0 aGUgYnVmZmVyIHNpemUuDQo+ID4+ICdtYXgtcGt0LWxlbicgaXMgdGhlIG1heCBSeCBmcmFtZSBh Y2NlcHRlZCBieSBOSUMsIGZvciBzb21lIGRldmljZXMNCj4gPj4gJ21heC0gcGt0LWxlbicgY2Fu IGJlIGJpZ2dlciB0aGFuIGJ1ZmZlciBzaXplIGJ1dCBpdCB3aWxsIHdvcmsgZmluZQ0KPiA+PiBi ZWNhdXNlIG9mIHNlZ21lbnRlZCBSeCwgYnV0IGl0IHNlZW1zIHRoaXMgY29uZmlnIGRvZXNuJ3Qg d29yayBmb3IgbmZwLg0KPiA+Pg0KPiA+IEFzIHlvdSBzYWlkLCBtYXliZSB0aGUgYCBORlBfRlJB TUVfU0laRV9NQVggYCBpcyByaWdodCwgZm9yIG91ciBuaWMsDQo+ID4gdGhlIG1heF9yeF9wa3Rs ZW4gaXMgTkZQX0ZSQU1FX1NJWkVfTUFYLg0KPiANCj4gSWYgJ05GUF9GUkFNRV9TSVpFX01BWCcg aXMgeW91ciBIVyBsaW1pdCwgYWdyZWUgdG8gc2V0IGl0IGlmIGl0IHdpbGwgYmUgYQ0KPiBoYXJk Y29kZWQgdmFsdWUsIHBsZWFzZSBzZWUgYmVsb3cuDQo+IA0KPiA+Pj4+DQo+ID4+Pj4gWW91IHNo b3VsZCBhYmxlIHRvIHNldCBgaHctPmZsYnVmc3pgIHRvIGN1cnJlbnQgYnVmZmVyIHNpemUsDQo+ ID4+Pj4gaW5zdGVhZCBvZiBhIGhhcmRjb2RlZCB2YWx1ZS4NCj4gPj4+Pg0KPiA+Pj4+IEluIGBu ZnBfbmV0X2luaXQoKWAsIG1vc3QgcHJvYmFibHkgeW91IGRvbid0IGtub3cgdGhlIGJ1ZmZlciBz aXplDQo+ID4+Pj4geWV0LCBjYW4ndCB5b3Ugc2tpcCBzZXR0aW5nIHRoaXMgdmFsdWUgaGVyZSBh bmQgc2V0IGl0IGluDQo+ID4+Pj4gYG5mcF9uZXRfcnhfcXVldWVfc2V0dXAoKWAgd2hlbiB5b3Ug a25vdyB0aGUgYnVmZmVyIHNpemU/DQo+ID4+Pj4NCj4gPj4+DQo+ID4+PiBCdXQgSWYgSSBqdXN0 IGRlcGVuZHMgb24gdGhlIGBuZnBfbmV0X3J4X3F1ZXVlX3NldHVwKClgLCBpbiB0aGUNCj4gPj4+ IGBuZnBfbmV0X2luaXQoKWAsIGl0IHdpbGwgQ2FsbCB0aGUgIGBuZnBfbmV0X2NvbmZpZ3VyZSgp YCwgaXQgd2lsbA0KPiA+Pj4gbGVhZCB0aGUgdGVzdHBtZCBzdGFydCBmYWlsZWQsIHNvIEkgYWRk IHRoZSBoYXJkY29kZWQgdmFsdWUgaW4gdGhlDQo+ID4+PiBpbml0aWFsaXplDQo+ID4+IHByb2Nl c3MuIE9yICBJIGNhbiByZW1vdmUgdGhlIGp1ZGdlIGFib3V0ICBgaHctPmZsYnVmc3pgIGluIHRo ZQ0KPiA+PiBgbmZwX25ldF9pbml0KClgLg0KPiA+Pj4NCj4gPj4NCj4gPj4gSW5zdGVhZCBvZiBz ZXR0aW5nICdody0+ZmxidWZzeicgaW4gJ25mcF9uZXRfaW5pdCgpJyBhbmQgY2hlY2sgaXQgaW4N Cj4gPj4gJ25mcF9uZXRfY29uZmlndXJlKCknLCB3aHkgbm90IHNldCAnaHctPmZsYnVmc3onIGlu ICduZnBfbmV0X2NvbmZpZ3VyZSgpJz8NCj4gPj4NCj4gPj4gQmVjYXVzZSBpbiAnbmZwX25ldF9j b25maWd1cmUoKScsICdtdHUnIGlzIGEgY29uZmlndXJhdGlvbiBwYXJhbWV0ZXIuDQo+ID4+IEl0 IGNhbiBiZSBwb3NzaWJsZSB0byBjb252ZXJ0ICdtdHUnIHRvIGZyYW1lIHNpemUgYW5kIHNldCBp dC4gSWYNCj4gPj4gdGhlcmUgaXMgYSBIVyBsaW1pdGF0aW9uIG9uIGJ1ZmZlciBzaXplLCBpdCBj YW4gZmFpbCBpbiAnbmZwX25ldF9jb25maWd1cmUoKScNCj4gd2hlbiB0aGF0IGxpbWl0IGhpdC4N Cj4gPj4NCj4gPiBZb3UgbWVhbiBpbiB0aGUgJ25mcF9uZXRfY29uZmlndXJlKCknLCBzZXQgdGhl IHZhbHVlIG9mICdody0+ZmxidWZzeicsDQo+ID4gTGlrZSBgaWYgKHJ4bW9kZS0+bXR1ID4gaHct PmZsYnVmc3opIHsNCj4gPiAJCWh3LT5mbGJ1ZnN6ID0gcnhtb2RlLT5tdHU7DQo+ID4gCX1gDQo+ ID4gQmVjYXVzZSB0aGUgJ25mcF9uZXRfY29uZmlndXJlKCknIGFsc28gaXNuJ3Qgb25seSBjYWxs ZWQgb25jZS4NCj4gPiBJZiBpdCB3aWxsIGJlIHNldCB0aGUgdmFsdWVzIGV2ZXJ5IHRpbWVzLCBz byBJIGZpcnN0IGp1c3Qgc2V0IHRoZQ0KPiA+IEluaXRpYWwgdmFsdWUgaW4gdGhlIGBuZnBfbmV0 X2luaXRhbCgpYC4NCj4gPg0KPiANCj4gDQo+IEJ1dCBkdXJpbmcgaW5pdCwgJ25mcF9uZXRfaW5p dCgpJywgeW91IGRvbid0IGtub3cgdGhlIGJ1ZmZlciBzaXplLCB0aGF0IGlzIHdoeQ0KPiB5b3Ug YXJlIGp1c3Qgc2V0dGluZyBhIGhhcmRjb2RlZCB2YWx1ZSwgd2hpY2ggY2FuIGJlIHdyb25nLCBh cyB5b3UgYXJlDQo+IG9ic2VydmluZyBub3cuDQo+IA0KPiBBbHNvIHRoaW5raW5nIHR3aWNlIHNl dHRpbmcgImh3LT5mbGJ1ZnN6ID0gcnhtb2RlLT5tdHUiIGlzIG5vdCBjb3JyZWN0LCBzaW5jZQ0K PiBpdCBpcyBub3QgZnJhbWUgc2l6ZSBlaXRoZXIuDQo+IA0KPiANCj4gV2hhdCBhYm91dDoNCj4g LSBpbiAnbmZwX25ldF9jb25maWd1cmUoKScgY2hhbmdlIGNoZWNrIGFzOg0KPiBpZiAocnhtb2Rl LT5tdHUgPiBORlBfRlJBTUVfU0laRV9NQVgpDQo+IAlyZXR1cm4gZXJyb3INCj4gDQo+IEFuZCB5 b3UgbWF5IHdhbnQgdG8gc2F2ZSAnbXR1JyBpbiBkcml2ZXIgb3IgaW4gZGV2aWNlIHZpYQ0KPiBu bl9jZmdfd3JpdGVsKGh3LCBORlBfTkVUX0NGR19NVFUsIG10dSk7DQo+IA0KPiANCj4gLSBpbiBz dGFydCgpIGFkZCBjaGVjayBmb3IgYnVmZmVyIHNpemU6DQo+IGlmIChtdHUgPiBody0+ZmxidWZz eikNCj4gCXJldHVybiBlcnJvcg0KPiANCj4gLSBpbiBpbml0KCkgeW91IGNhbiBlaXRoZXIgcmVt b3ZlIHNldHRpbmcgJ2h3LT5mbGJ1ZnN6JyBvciBzZXQgaXQgdG8gbWF4DQo+IChORlBfRlJBTUVf U0laRV9NQVgpIGFzIHlvdSBzdWdnZXN0ZWQuDQo+IElmIHlvdSByZW1vdmUgc2V0dGluZyBpdCBp biBpbml0LCB5b3UgY2FuIGhhdmUgbG9naWMgaW4gY29uZmlndXJlKCkgYXMNCj4gYA0KPiBidWZz aXplID0gaHctPmZsYnVmc3ogPyBody0+ZmxidWZzeiA6IE5GUF9GUkFNRV9TSVpFX01BWDsNCj4g aWYgKHJ4bW9kZS0+bXR1ID4gYnVmc2l6ZSkNCj4gCXJldHVybiBlcnJvcg0KPiBgDQpZZXMsIHRo YW5rcyBmb3IgeW91ciBhZHZpY2UuDQoNCkkgd2lsbCBhZGQgdGhlIA0KIC0gaW4gc3RhcnQoKSBh ZGQgY2hlY2sgZm9yIGJ1ZmZlciBzaXplOg0KYGlmIChtdHUgPiBody0+ZmxidWZzeikNCglyZXR1 cm4gZXJyb3JgDQotaW4gdGhlIGluaXQoKSBrZWVwIHRoZSB2YWx1ZQ0KYA0KaHctPmZsYnVmc3og PSBORlBfRlJBTUVfU0laRV9NQVg7DQpgDQotaW4gdGhlIGNvbmlnZHVyZSgpIHVzZSB0aGlzIGNo ZWNrDQpgDQppZiAocnhtb2RlLT5tdHUgPiBORlBfRlJBTUVfU0laRV9NQVgpDQogCXJldHVybiBl cnJvcg0KYA0KSSB3aWxsIHNlbmQgdGhlIHYyIGFmdGVyIHRoZSB0ZXN0aW5nLg0KDQpUaGFua3Mg Zm9yIHlvdXIgcmV2aWV3IGFuZCBoZWxwIGFnYWluLg0KDQo+IA0KPiA+Pj4gVGhhbmtzIGZvciB5 b3VyIGFkdmljZS4NCj4gPj4+Pg0KPiA+Pj4+Pj4NCj4gPj4+Pj4+DQo+ID4+Pj4+Pj4gRml4ZXM6 IDVjMzA1ZTIxOGYxNSAoIm5ldC9uZnA6IGZpeCBpbml0aWFsaXphdGlvbiIpDQo+ID4+Pj4+Pj4g Q2M6IHN0YWJsZUBkcGRrLm9yZw0KPiA+IC4uLg0KPiA+Pj4+Pj4+ICAgICAgICAgIC8qIFZMQU4g aW5zZXJ0aW9uIGlzIGluY29tcGF0aWJsZSB3aXRoIExTT3YyICovDQo+ID4+Pj4+Pj4gICAgICAg ICAgaWYgKGh3LT5jYXAgJiBORlBfTkVUX0NGR19DVFJMX0xTTzIpDQo+ID4+Pj4+DQo+ID4+Pg0K PiA+DQoNCg==