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 3DA4C425E2; Wed, 20 Sep 2023 03:55:41 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id B51B2402C9; Wed, 20 Sep 2023 03:55:40 +0200 (CEST) Received: from NAM11-BN8-obe.outbound.protection.outlook.com (mail-bn8nam11on2100.outbound.protection.outlook.com [40.107.236.100]) by mails.dpdk.org (Postfix) with ESMTP id DD73D40277 for ; Wed, 20 Sep 2023 03:55:38 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=QFMK/fRd358cOm5kWO1scwnG4ufBC8D2MQGWOoBMduRXeMMBJw+c6cjtv6Kuqt/pVCLl8n2Pi2VNX4l4cvrcdvyNXZebvuWWg6/gJLRDvpzW6SetMslmmrgBkX9bKgjmUU7RZQKYNcL5O5444rVmQcWmjs8knAprHIu8Lql1E7HTrHLOhkERS2P+D9tduw7DeGJMur5eKcvxrZ4Y2F+6ALMU32hnq04kqzQPokcwcOWXX383Gknd5oInfh9cXZD3Kz7QTyl7sWcQCFvd++Vz5QCIGNL1N2OgT2gm5sZzL/IrtCzMCiVIE+A65lH7aUvkpmOMGpiX1NCznFRkvbw5Dg== 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=svySlrxB2oW4JZjhYUwinHCxq56/Tv2lPGVx2NnHEEY=; b=bpoy4otw4yICPDupAJJU0E7XI2C4NH2dqkQ3BrC4Oyg9w1jD1bCzOXJiW9/3yqcH7L+uPQLXWmDcMAMeTCkQ+ev0ubYEShEHz6Bbwbb+2iXG/SXsKYn5QSyBWDmTnXi+dSRDiiDrqW+E8y90y47TBEvyS4pI9Hm/ZEINx/iOGuyI6/zmUoTfhv/kmn4ee12977aMZ+urg6awQLlGpExqZkmb3rEbqrBbtwloyZkv3on7eg6UNszXFpQ3JIWcetGKnXvDIN5RRkgbwWWGdl4IAw32eCdkJfycYeuu89FD7AiXIMrwQEWU/SPtLEc6+iK1ZDlLN7qpn8RSVFSkn5Vxjg== 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=svySlrxB2oW4JZjhYUwinHCxq56/Tv2lPGVx2NnHEEY=; b=MC/XdV2y64A05eW1DOcFHClFNlKeWkctrlGqD2yuF1KyNTn7HfuqUC3M6uMnUDeag5LJuHj0WRN48ETCEZbmkSK2h9uM9PEs8on4G0wHXGCOsoFRV8zVLJ+D3RseDSt1KZExM0R1B+257faq2LE5ExRtp5aEGpbMIsVMQPRs9CQ= Received: from SJ0PR13MB5545.namprd13.prod.outlook.com (2603:10b6:a03:424::5) by CH2PR13MB4522.namprd13.prod.outlook.com (2603:10b6:610:62::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6792.27; Wed, 20 Sep 2023 01:55:34 +0000 Received: from SJ0PR13MB5545.namprd13.prod.outlook.com ([fe80::7a1c:2887:348a:84bd]) by SJ0PR13MB5545.namprd13.prod.outlook.com ([fe80::7a1c:2887:348a:84bd%6]) with mapi id 15.20.6792.026; Wed, 20 Sep 2023 01:55:34 +0000 From: Chaoyong He To: Ferruh Yigit , "dev@dpdk.org" CC: oss-drivers Subject: RE: [PATCH v5 00/26] refact the nfpcore module Thread-Topic: [PATCH v5 00/26] refact the nfpcore module Thread-Index: AQHZ6t9l3yIFJLpyM0e+d44CIUMt7rAip/kAgABKfvA= Date: Wed, 20 Sep 2023 01:55:34 +0000 Message-ID: References: <20230918024612.1600536-1-chaoyong.he@corigine.com> <20230919095440.45445-1-chaoyong.he@corigine.com> In-Reply-To: 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: SJ0PR13MB5545:EE_|CH2PR13MB4522:EE_ x-ms-office365-filtering-correlation-id: 5aec7498-97e8-4985-aed5-08dbb97cadc1 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: bdgiHxaP8dlgk7zkL41uMv1VBuF+hnUxpGEWXW9hXjOngsTc+1ogrt3Z0fBgDNbC38Nh539KohCawcYnNhO9yki/ydsWDkYIqwpJNc8+daC6mHhdSrurpEbqdUBQTjbQb8IiSQa1KuvNcLySOhmuBVHdW/n60aybeUwTf+hVOi1ycK6Zc2SW+DFnHstESLG19mdrm/FbBkrVc3Ssx0O6Wx43/TrSlS6uiqz2gHb8Upju6cqZ8VVN+C1KQGidqXekHsil6qh1WobazwXnl3yKxp2NFPla7eb76L2L5nFwm52nsi/I/DhDld+fJlccBp+rTt58hfF9NYXEOMYrtEgSWHRcczx7rY/xVaOaTb2rLztmN9EVYnaaJX0L//+QI8v8s/YbiDv+NHZbE/zWWyNXzfAQZFxwwja4L0bvh24guIlHMgnkVwbF+lCIPmK6UMpCJoF7h09k4Jc+3mW6CzRBw0f6lTwB0HhKMWI/R5r8/kdnlocmsLM25tAPYu200v5LLCQ7O2Zm+Q5Yuo3c30+gGixnhK1/bXMZK2gy6Lo53CtyKGcOO+6pJ2gwnBvjqfspr2q0ZHAxGjJfz4YtjTN4G+em2mOMjFzGNQRffBcNDxS3Vgk/y4OPKFD+OOOmMy/LJ9UbE+J+V18Cr+F6s46zL4A4jtUjdZTOAjsH4sM/c9k= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SJ0PR13MB5545.namprd13.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(346002)(376002)(39830400003)(136003)(396003)(366004)(186009)(1800799009)(451199024)(71200400001)(55016003)(41300700001)(38070700005)(122000001)(66446008)(38100700002)(4326008)(107886003)(8676002)(8936002)(33656002)(76116006)(110136005)(53546011)(9686003)(66946007)(66476007)(66556008)(5660300002)(2906002)(44832011)(86362001)(83380400001)(26005)(316002)(52536014)(7696005)(64756008)(6506007)(478600001); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?U0JsRWMzZlJFaGg4bEJBTk11cUJQNUFkUitYeU43empqM3pMWHRmL2JxcHJl?= =?utf-8?B?RTFwWFlGbHJ0dGVtWUpQTzlrVUVDWXdrblRnVkJNN2FJNVR5OHJidVNRZXdp?= =?utf-8?B?TG9lUEoyc3F2QVBEaUdkZmQ1OTlkRmpzMStRZU9kWVViUkhtVlo1NWpzTUhM?= =?utf-8?B?enBYVTg4R2oxZzZZd1NvMkt1Q2dBeStOYi9rLzIwWGYyQnRMY1BrazdUTEEz?= =?utf-8?B?Qmdna3gyWTJrYStkdEY0UnFVeEcvSXZZRXhHZWdZUHMwVEZ6eTZ5YTdFSUgz?= =?utf-8?B?R1R0c3VXNFYxWHVHY0dSNGxMdUZEdTBUNmV4TFJzS29FZEMrbTRJWXBlZkFv?= =?utf-8?B?d1pxWDB4bFhVUW4ra28wSVNLdStxZGNIY0tBUFpoL1E3TGV0TUVIWmxrRmIr?= =?utf-8?B?c0htTHdZditycUI1cFFNSnB4bG5Nbks1T1lLK2RKdkw1WDlyQTZyTjNkYjU5?= =?utf-8?B?NWQ3M1ZGd294OS9pdFBoelhIVFljVW1TY2drM2t0cFA1dk9pY2UzMXJDSUhx?= =?utf-8?B?SHNUYlZOS3I0aUtJcXBPOUdJYmNYUEw3dStUMmZkbVFJWUtvTmljUVZBRVRF?= =?utf-8?B?RTJ4MkN4TUorK29nb3B1L3NQdVhINzh4OXExc3VZWEQ3TVl4cnROTkxIZHRo?= =?utf-8?B?dVo0Qy9Ra0lBZEZNT0FmbksxOGRPQ0MzQ0VjcWpVRzk3YjE0cHlISnhqbC81?= =?utf-8?B?S2lHd25ENm1tMHJUQnJSU3NjVlAzbjl6S08vUy81WTU3Q0tjL0oyekxtdFN6?= =?utf-8?B?QzRnNWl4dit3elc1UkZORkU5Q25YMDMvR1dXbXRkSnVEdnpTQkM3QzlwajdV?= =?utf-8?B?NG5lWDIrSmJ6dnVwTzlUaHdIYUxHUlVIWTlPK2NibERFejJZeTdTQStLTzFT?= =?utf-8?B?cVYrRjBYNmUyV1lkN2JVTEYwSnFucGlxQ2FFdVNXZWdlYjZWUnpWdVprVGd3?= =?utf-8?B?MlcxaXQxblhMK3RQWU13aXFOY0gwV2MrVENUY2V2ZER0SU9hRjc3b2svc1Vy?= =?utf-8?B?QXd5ejJ4TVlQTURaVkZaVDkwUEVCRUgwcGRuM3FBVTlhR05qMis4dERDUnJV?= =?utf-8?B?MTVKV1kvYUxLQy9HZ1ZYNStIamx0Zm9BVWp5Wk5OYm9tYWR6ejN6TFlpNUhB?= =?utf-8?B?SmMrK1YwVlBzY0dmUHhhb1drVkYzQ01VUjlwWEhiM0M0RnNJQXJqanNpZXdw?= =?utf-8?B?NjduZWtaL2U0cjdjQ0R6ZzYzYUtrRDNWOHZFL3IwMFhOZms1NzRKTG5kdkF1?= =?utf-8?B?YWp5V2xuTHhEZVpQMFhsbWZINXMzb3lCOFMxMVgzZmNlUzJGd2NsWHIzakNK?= =?utf-8?B?eWRNcWhNUTZubit5OEpjL3JYTnFzbWJ3UGZCOEFCbUh4dUhLWFlUSGpjbmdi?= =?utf-8?B?cVEwUkhPZit4OCtvd0FiUHJqVnRDYzhBdUtHSmFSYklXKzJPekNmQm9JeHdm?= =?utf-8?B?T042YzNxc0g3Q0cxekZpSnMxRzlTOUtvc2d0Q2xMbGMvWnZodXV6TFJWWUlk?= =?utf-8?B?ajB5b3BKc0dtVUpPUk1WNFVwM291Wi93WkZ3ZHR6TjZQeVNTNk0yTlRwRk9t?= =?utf-8?B?S3VMeXkwWFNFcmVMKzIvNGpzeGR6TWlMSnYrL2VDTjh2anlTakNWdFdWMVNI?= =?utf-8?B?Z3dVcEQxeE50a2pIc2dZMmtwZUxNNkp6MWlONXJyRkxkNjFEd3UwM0g4WVA4?= =?utf-8?B?ckVaY0hRWE9kbG8vS1pNblB5WTMybjY2cnVOZWdtbGhBRng5R1hHMm9pNDdP?= =?utf-8?B?OVNjRXRLYy8xeGNZWWx4YjhyeWxFdWt4UUppcjQzcWxNeHhiVVViZS90Y2Zr?= =?utf-8?B?QWlaNVRCaGRISXZTWnFQVnFPZkNyZTVYT0FtRzB2R2JEa01oZWIyVFdCeFcw?= =?utf-8?B?a0pvckhXZkNEU3RteEZlaFZpQmVCaGhzTWhlMjUvMXZ0QzhvZ1BlYlVOdDFj?= =?utf-8?B?RjlSVTVzNzgrK0xOQmNPcjBkWStuTDNXYm1TUUlYenMzL0Yra25HdUR0V2VJ?= =?utf-8?B?TTduS3hRQjZ0WmlBYjBhL2pmRm0zNU90RXFPNHlrTGlDa0FmZVNOZUZ4TzVK?= =?utf-8?B?OHowUitrb1QvSjVKTzU2ajRjUG9GV3ZkY2VnUERrU3d0U2wzMmNzQXNMbldx?= =?utf-8?Q?5WVoNPTiuQJ1fcucU4M9rwNuG?= 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: SJ0PR13MB5545.namprd13.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5aec7498-97e8-4985-aed5-08dbb97cadc1 X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Sep 2023 01:55:34.4884 (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: OYcVHDNEhHdxqt8/PgUMUzpk/BUJz+mrwFEA9Hy6eAw7uXNciOEENsSMsk6lbtIRpI5bcHhm+Mw45A+FpMmdZ1QPtU0Rzkl1MtVTYyU0qAs= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR13MB4522 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 PiBPbiA5LzE5LzIwMjMgMTA6NTQgQU0sIENoYW95b25nIEhlIHdyb3RlOg0KPiA+IFRoaXMgcGF0 Y2ggc2VyaWVzIGFpbXMgdG86DQo+ID4gLSBNYWtlIHRoZSBjb2Rpbmcgc3R5bGUgc2F0aXNmeSB3 aXRoIERQREsuDQo+ID4gLSBTeW5jIHRoZSBsb2dpYyB3aXRoIGtlcm5lbCBkcml2ZXIuDQo+ID4g LSBNYWtlIHRoZSBzdWItbW9kdWxlIG1vcmUgbW9kdWxhci4NCj4gPiAtIEV4dGVuZCB0aGUgbmZw IGNvbmZpZ3VyZSBCQVIgZnJvbSA4IHRvIDI0Lg0KPiA+DQo+ID4gLS0tDQo+ID4gdjU6DQo+ID4g KiBGaXggb25lIGJ1ZyBpbiB0aGUgbG9naWMgb2YgVkYgdXNpbmcgZGV2IG1vZHVsZS4NCj4gPiAq IFJlbW92ZSB0aGUgUi1iIHRhZyBhcyB0aGUgcmVxdWlyZW1lbnQgb2YgTmlrbGFzLg0KPiA+ICog UmV2aXNlIGxvZ2ljIGZvbGxvdyB0aGUgYWR2aWNlIG9mIHJldmlld2VyLg0KPiA+IHY0Og0KPiA+ ICogRHJvcCB0aGUgY29tbWl0ICd1c2luZyB0aGUgRFBESyBtZW1vcnkgbWFuYWdlbWVudCBBUEkn Lg0KPiA+ICogTW9kaWZ5IHRoZSBjb21taXQgbWVzc2FnZSBvZiAnc3RhbmRhcmQgdGhlIGNvbW1l bnQgc3R5bGUnLg0KPiA+ICogUmV2aXNlIHNvbWUgY29tbWVudCBsb2dpYyBhcyB0aGUgYWR2aWNl IG9mIHJldmlld2VyLg0KPiA+IHYzOg0KPiA+ICogRml4IG9uZSBidWcgaW4gdGhlIEJBUiBmaW5k IGxvZ2ljLg0KPiA+ICogTW9kaWZ5IG1vcmUgY29kaW5nIHN0eWxlLg0KPiA+IHYyOg0KPiA+ICog Rml4IHRoZSBjb21waWxlIGVycm9yIGluIEZvZG9yYSAzNyBlbnZpcm9ubWVudC4NCj4gPiAtLS0N Cj4gPg0KPiA+IENoYW95b25nIEhlICgyNik6DQo+ID4gICBuZXQvbmZwOiBleHBsaWNpdGx5IGNv bXBhcmUgdG8gbnVsbCBhbmQgMA0KPiA+ICAgbmV0L25mcDogdW5pZnkgdGhlIGluZGVudCBjb2Rp bmcgc3R5bGUNCj4gPiAgIG5ldC9uZnA6IHVuaWZ5IHRoZSB0eXBlIG9mIGludGVnZXIgdmFyaWFi bGUNCj4gPiAgIG5ldC9uZnA6IHJlbW92ZSB0aGUgdW5uZWVkZWQgbG9naWMNCj4gPiAgIG5ldC9u ZnA6IHN0YW5kYXJkIHRoZSBsb2NhbCB2YXJpYWJsZSBjb2Rpbmcgc3R5bGUNCj4gPiAgIG5ldC9u ZnA6IGFkanVzdCB0aGUgbG9nIHN0YXRlbWVudA0KPiA+ICAgbmV0L25mcDogc3RhbmRhcmQgdGhl IGNvbW1lbnQgc3R5bGUNCj4gPiAgIG5ldC9uZnA6IHN0YW5kYXJkIHRoZSBibGFuayBjaGFyYWN0 ZXINCj4gPiAgIG5ldC9uZnA6IHVuaWZ5IHRoZSBndWlkZSBsaW5lIG9mIGhlYWRlciBmaWxlDQo+ ID4gICBuZXQvbmZwOiByZW5hbWUgc29tZSBwYXJhbWV0ZXIgYW5kIHZhcmlhYmxlDQo+ID4gICBu ZXQvbmZwOiByZWZhY3QgdGhlIGh3aW5mbyBtb2R1bGUNCj4gPiAgIG5ldC9uZnA6IHJlZmFjdCB0 aGUgbmZmdyBtb2R1bGUNCj4gPiAgIG5ldC9uZnA6IHJlZmFjdCB0aGUgbWlwIG1vZHVsZQ0KPiA+ ICAgbmV0L25mcDogcmVmYWN0IHRoZSBydHN5bSBtb2R1bGUNCj4gPiAgIG5ldC9uZnA6IHJlZmFj dCB0aGUgcmVzb3VyY2UgbW9kdWxlDQo+ID4gICBuZXQvbmZwOiByZWZhY3QgdGhlIHRhcmdldCBt b2R1bGUNCj4gPiAgIG5ldC9uZnA6IGFkZCBhIG5ldyBoZWFkZXIgZmlsZQ0KPiA+ICAgbmV0L25m cDogcmVmYWN0IHRoZSBuc3AgbW9kdWxlDQo+ID4gICBuZXQvbmZwOiByZWZhY3QgdGhlIG11dGV4 IG1vZHVsZQ0KPiA+ICAgbmV0L25mcDogcmVuYW1lIGRhdGEgZmllbGQgdG8gc3luYyB3aXRoIGtl cm5lbCBkcml2ZXINCj4gPiAgIG5ldC9uZnA6IGFkZCB0aGUgZGV2IG1vZHVsZQ0KPiA+ICAgbmV0 L25mcDogYWRkIGhlYWRlciBmaWxlIGZvciBQQ0llIG1vZHVsZQ0KPiA+ICAgbmV0L25mcDogcmVm YWN0IHRoZSBjcHBjb3JlIG1vZHVsZQ0KPiA+ICAgbmV0L25mcDogcmVmYWN0IHRoZSBQQ0llIG1v ZHVsZQ0KPiA+ICAgbmV0L25mcDogcmVmYWN0IHRoZSBjcHBjb3JlIGFuZCBQQ0llIG1vZHVsZQ0K PiA+ICAgbmV0L25mcDogZXh0ZW5kIHRoZSB1c2FnZSBvZiBuZnAgQkFSIGZyb20gOCB0byAyNA0K PiA+DQo+IA0KPiANCj4gSGkgQ2hhb3lvbmcsDQo+IA0KPiBUaGlzIHNldCBoYXMgMjQgcGF0Y2hl cyBpbiB0aGUgbWFpbF9saXN0L3BhdGNod29yaywgbGFzdCB0d28gcGF0Y2hlcyBhcmUNCj4gbWlz c2luZywgY2FuIHlvdSBwbGVhc2UgZG91YmxlIGNoZWNrPw0KDQpTb3JyeSwgdGhlIHNlbmQgZW1h aWwgY29tbWFuZCBmYWlsZWQgYWZ0ZXIgdGhlIDI0LzI2IHBhdGNoIGhhcyBzZW5kIG91dCwgYW5k IEknbSBub3QgZm91bmQgdGhhdC4gDQoNCiQgZ2l0IHNlbmQtZW1haWwgLS10byBkZXZAZHBkay5v cmcgLS1jYyBvc3MtZHJpdmVyc0Bjb3JpZ2luZS5jb20gLS1pbi1yZXBseS10byAyMDIzMDkxODAy NDYxMi4xNjAwNTM2LTEtY2hhb3lvbmcuaGVAY29yaWdpbmUuY29tIC4vKi5wYXRjaA0KDQpDYW4n dCBsb2NhdGUgRW1haWwvVmFsaWQucG0gaW4gQElOQyAoeW91IG1heSBuZWVkIHRvIGluc3RhbGwg dGhlIEVtYWlsOjpWYWxpZCBtb2R1bGUpIChASU5DIGNvbnRhaW5zOiAvdXNyL3NoYXJlL3Blcmw1 L3ZlbmRvcl9wZXJsIC91c3IvbG9jYWwvbGliNjQvcGVybDUvNS4zMiAvdXNyL2xvY2FsL3NoYXJl L3Blcmw1LzUuMzIgL3Vzci9saWI2NC9wZXJsNS92ZW5kb3JfcGVybCAvdXNyL2xpYjY0L3Blcmw1 IC91c3Ivc2hhcmUvcGVybDUpIGF0IC91c3IvbGliZXhlYy9naXQtY29yZS9naXQtc2VuZC1lbWFp bCBsaW5lIDExMzguDQogICAgICAgIC4uLnByb3BhZ2F0ZWQgYXQgL3Vzci9saWJleGVjL2dpdC1j b3JlL2dpdC1zZW5kLWVtYWlsIGxpbmUgMTY5NC4NCg0KVGhpcyBpcyB0aGUgZmlyc3QgdGltZSBJ IG1lZXQgdGhpcyBwcm9ibGVtLCBhbmQgaXQncyBteSBmYXVsdCBkaWQgbm90IG5vdGljZSBpdCwg YW5kIEkgc3RpbGwgbm90IHN1cmUgd2hhdCBjYXVzZSBpdC4NCg0KSSByZS1zZW5kIHRoZSAyNS8y NiBhbmQgMjYvMjYgcGF0Y2ggd2l0aCB0aGUgc2FtZSBjb21tYW5kIChleGNlcHQgdGhlICcuLyou cGF0Y2gnIHBhcnQpLCBidXQgc2VlbXMgdGhleSBhcmUgbm90IHJlY29nbml6ZWQgYXMgdGhlIHNh bWUgc2VyaWVzIGluIHRoZSBwYXRjaHdvcms6DQpVbnRpdGxlZCBzZXJpZXMgIzI5NTU5DQpVbnRp dGxlZCBzZXJpZXMgIzI5NTYwDQoNCkhvdyB0byBmaXggdGhhdCBvciBzaG91bGQgSSBzZW5kIGEg djYgdmVyc2lvbiBmb3IgdGhlIHdob2xlIHNlcmllcz8NCg==