From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 081EBA09EF; Tue, 22 Dec 2020 04:09:29 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id E84FFCA62; Tue, 22 Dec 2020 04:09:26 +0100 (CET) Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by dpdk.org (Postfix) with ESMTP id A4E58C9DA for ; Tue, 22 Dec 2020 04:09:25 +0100 (CET) IronPort-SDR: Sk6WWvpFjytGfBZVR+BEpivUJd79825xLqL5guB2u2Fo716i8oBzG+t6QDQMvXhSIDM85U+M++ 8Rnj5HIExRTA== X-IronPort-AV: E=McAfee;i="6000,8403,9842"; a="172303938" X-IronPort-AV: E=Sophos;i="5.78,438,1599548400"; d="scan'208";a="172303938" Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Dec 2020 19:09:23 -0800 IronPort-SDR: U3tqjP5cI2o8iEMw/bOQLGMxaVVxNue0WH99EEjrMbgtxry/ZNNAcxauqmj5b3yNuiVt2lVuEy c1o4EUNKP2WQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.78,438,1599548400"; d="scan'208";a="341227299" Received: from orsmsx604.amr.corp.intel.com ([10.22.229.17]) by orsmga003.jf.intel.com with ESMTP; 21 Dec 2020 19:09:23 -0800 Received: from orsmsx612.amr.corp.intel.com (10.22.229.25) by ORSMSX604.amr.corp.intel.com (10.22.229.17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Mon, 21 Dec 2020 19:09:22 -0800 Received: from orsmsx602.amr.corp.intel.com (10.22.229.15) by ORSMSX612.amr.corp.intel.com (10.22.229.25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Mon, 21 Dec 2020 19:09:22 -0800 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5 via Frontend Transport; Mon, 21 Dec 2020 19:09:22 -0800 Received: from NAM04-DM6-obe.outbound.protection.outlook.com (104.47.73.48) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.1713.5; Mon, 21 Dec 2020 19:09:21 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=I7VvcfO3RaL8kD/KY3ATNzQIBZSDzo241ODbbB01SXguWoJMxJuUfzDXOFzc06XMzUzUtugT9vcApjdd1IeOMBNSq7MuscTeSkaFf7OTJZGSr7/Z3LiyE/mw4ZJjgS8qMUCxg4NiBbIyuPhJKpfVfjgt1M6ld4dbXJ0g/BWMXZVWkAux7DfuYeK85QbnHh2SnijE0hGThCR5XDZJRBQecO47xfdnF38w0a9kwB+JSSRK9Nvv4oFBhXB/44H9UX0aTTSyq8x1p9LT6AJqeRyHnj9aTgnglIKaFWtZ2/vtvksXQGniMR25aj/uve9qnLJEK809FCMmFIzRNgOGfOolDQ== 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-SenderADCheck; bh=02eDJavcKYzAC5XpOM4JmKpqOcwNxNLo5UOWYQncn58=; b=NzJTF4Acc0Ofsjm/CiczCcnED/d66HXvYzLB4zNBNI8ulxnP6TST/0GZlkfnognYb/CZ2kescO+CWfLrYLImVjZHtzj17RUsWK8VPzUTMDBZ7eoNMvonCDxKffrqULH9OxraDASC8uRED0TJZRfFIhkGEpCADyRzFYM75JrhUOLVR55fb9lEKkYj3QplbTCJcqH+Ss+/mbTXt+vts2iA/QlyJlLjfgWmMOUDFlazPwm6SKeLMBKomkCdFHM3l62A3oqB5/XYa7kms5EawOaaFXWXFH8QgAfIWTWP1XUvRjSoqi8oBVHCDZbEE7ak++UhtBUDstkD1kZdOecRHoSoQQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=02eDJavcKYzAC5XpOM4JmKpqOcwNxNLo5UOWYQncn58=; b=fZC3Iov3VifxWmCfqN2AizcqsAS0bkRaNr1/Xbb5dnwtuNVeLKmSjFVDF8zTyop1yWcU/5bb8xxddyO/zvxXe0SoWBW/JZUmiM6q/ZK/7jr+KvQhoW6CE5q9qUEjqBqKgm39qRgj8NUgytGNL7NFBEnubjgUOGqj5MEXfEJOj7c= Received: from MN2PR11MB4063.namprd11.prod.outlook.com (2603:10b6:208:13f::22) by MN2PR11MB3886.namprd11.prod.outlook.com (2603:10b6:208:137::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3676.33; Tue, 22 Dec 2020 03:09:19 +0000 Received: from MN2PR11MB4063.namprd11.prod.outlook.com ([fe80::74f2:ba7f:cb22:5272]) by MN2PR11MB4063.namprd11.prod.outlook.com ([fe80::74f2:ba7f:cb22:5272%7]) with mapi id 15.20.3676.033; Tue, 22 Dec 2020 03:09:19 +0000 From: "Xia, Chenbo" To: Maxime Coquelin , Thomas Monjalon , David Marchand CC: dev , Stephen Hemminger , "Liang, Cunming" , "Lu, Xiuchun" , "Li, Miao" , "Wu, Jingjing" Thread-Topic: [dpdk-dev] [PATCH 0/8] Introduce emudev library and iavf emudev driver Thread-Index: AQHW1SPBjdFrB9819EmLcELy/92ny6n97niwgANlKoCAACQvgIAA7I0g Date: Tue, 22 Dec 2020 03:09:19 +0000 Message-ID: References: <20201218074736.93999-1-chenbo.xia@intel.com> <22c05dc3-bee9-4662-3f8d-a4dcd7635b42@redhat.com> In-Reply-To: Accept-Language: en-US, zh-CN Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: redhat.com; dkim=none (message not signed) header.d=none;redhat.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [192.55.46.39] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 0624c59a-5d41-40e1-fa53-08d8a626f973 x-ms-traffictypediagnostic: MN2PR11MB3886: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:8882; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: a2vQb23F7Dpm81fFtS44N8fEG6DPgp9WczRYCNHHsEV1xE9zRMQV2MVC91iSczMW85r310tlSeK63aoroYPXntr4yESRey7C1ByP/GjuzZhGhH6O2fU26dKUS31HCfVIYEIYvy+9vFeCjcalmu6jyaYj1AFslouZGbatcDoNDgDHaTm3JY1M9pyO0bZO8suOOyuF9QL+GjJIYljwmAL9sgJptkD1ULpcB8WtT0wTHr3tH9/wiNIboY9vbawtximIT1dvLJEX2KqrAmHIAlBtTmWJM+f+wVfT/zsWqC7NMfGGhFB5JG+OuCoMikUPZydQwJh2doZEEkT/qCgeGSfn+CDvc2MkQb2bCsm+Dl4VjwixQv/ydki0+jGw110VOvMsZ0KNDpnbKbGu9YefN9QtqZ4EjLRmADRj8C0hk9dceZw/e8JSPcyuvx3+P1TGM4JT2/+7hRDUUkRjiKTLoAuHkA== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MN2PR11MB4063.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(376002)(396003)(136003)(346002)(39860400002)(366004)(186003)(5660300002)(26005)(7696005)(53546011)(33656002)(71200400001)(64756008)(478600001)(8936002)(6506007)(66946007)(83380400001)(86362001)(2906002)(52536014)(966005)(55016002)(54906003)(8676002)(110136005)(66446008)(107886003)(4326008)(66556008)(9686003)(316002)(66476007)(76116006); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata: =?utf-8?B?UE92Z0FkUXpTOHp6dXpsZlJKWGZOODBTSjFzRHZ5L3NFOFJpc3BOT2JKZjJr?= =?utf-8?B?QllrNmxQdTAxUnNiMnJrcnhjdlY3MWJGeHRUTzdTZDJxdkUrYWdyS2cxY2FZ?= =?utf-8?B?Mk1OZXh2TjJCWEVBdUNzdi81M0dLbGZBc3BHTjNGbHRjZWVySDZvWFZHNGcx?= =?utf-8?B?bDFOQS9RYlE2Uy94dFo4a2xRWEhiRVBrWS85SkQ2MEljaVcvQTMvbDBWTlBw?= =?utf-8?B?dERZZU92cVBPemdGejBuYzNpRWNyUDdHM0dYYjhGZUhBeDMvRFBuZ0FpenYy?= =?utf-8?B?bkphS1ZEYTJpaGJMQ1p3bWhqeGRPcXZ4NmYrSzBxdDYyeTVMNDVEa2FjZ0py?= =?utf-8?B?OUhWdFpXRTlsa3NGSnkwUmo1aVBIR1NFaVlUallIdjUybUJjc3VCaGlOd2V6?= =?utf-8?B?K1FjMFN6dnJhV3dlandGQVVmMFBKM3UyRVFXUWpGdHBYNUhmYmwyYnFqQ0Vy?= =?utf-8?B?d08xcGZyR3Z6SWdQYWJJQ1V3VHlwaWxuekxCcThqWmpXRFdwR2tHbkRBejRl?= =?utf-8?B?aDd5QUh2MmhtcWdxMk9seTZIdGd1OVI1RTB0ZFVCZWY4bkdHRVlld1BtTVpI?= =?utf-8?B?RTAxVDZNR0pqaHFhSjRIcFB4aXJpY2w0R0JiSXgwaXRLejB5L2VsVEJiTDNQ?= =?utf-8?B?N092SU5GZ3BsOXYyVjE0b2VVVGw1TnpIT0xORGxsRTJSSUsyZC9mbUs2Q3ow?= =?utf-8?B?ZlN6OVVueVZiQ3RhMTdMTGV4clY1UVBVQzVFc1kycy8xRVZUSkVaenNNd1BG?= =?utf-8?B?N0tCbkFTRWdPOHZuOFhsOW5VRmIrZjJvSlQzY21Fa2Y2dU9mNDBPblpWNzBW?= =?utf-8?B?U3hIUjJqblRGNDdySlQ3ZVZNeFFsMW1aU01HWnBzZko1UldiUXJmSExEeDZr?= =?utf-8?B?bVAyYmpUVnF6OE9NZmJBV3VSVE5FdnNrendybHlSNFJaazZ3dm9QWVdvNDZq?= =?utf-8?B?OGVMR1BFYjM2RG9Ha3N6SjhUTzJvbWVXdzRCTUhraVIzQXZydWNaOTBBc1Ft?= =?utf-8?B?OE5Yekhyc1B0WUlrVWVjMjlYeUo3dkNLWlgrTzBHQUxab0kxa1R0MFRMN3g5?= =?utf-8?B?S3phRkpNek92RWsrcEhvMTZJcWdVQm9TSmt5NzR0VjNLbnZlbkVMMjRUL3RV?= =?utf-8?B?WGxEYzlYMVowSVdqQmFyL3ZBdVprWExYV1NCcjBESEt4cFFOZkZOQk9jUVJX?= =?utf-8?B?K0xjOHB0YktoM3MrYjVVMTN6YUl0QXc0QWh2aDhVODlOaWtySHF0YzlkM3Aw?= =?utf-8?B?djVGTlh4eXJsWEtHaHZXQjBBVzRBVGQxdm9iNUxsWTd2MFA5WnR0NnR0Y1hJ?= =?utf-8?Q?+nc3rNV6oUUW0=3D?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MN2PR11MB4063.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0624c59a-5d41-40e1-fa53-08d8a626f973 X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Dec 2020 03:09:19.6061 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: rAKUYTHZaSAlvI8Qvvfq5KAMOThkldr+3fouIl/hXDTQ+jfbzUZX6bOmRnFR5Rf1lMA0ujSfOu2dZKyVOtjxOw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB3886 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH 0/8] Introduce emudev library and iavf emudev driver X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" SGkgTWF4aW1lLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IE1heGlt ZSBDb3F1ZWxpbiA8bWF4aW1lLmNvcXVlbGluQHJlZGhhdC5jb20+DQo+IFNlbnQ6IE1vbmRheSwg RGVjZW1iZXIgMjEsIDIwMjAgODowMiBQTQ0KPiBUbzogWGlhLCBDaGVuYm8gPGNoZW5iby54aWFA aW50ZWwuY29tPjsgVGhvbWFzIE1vbmphbG9uIDx0aG9tYXNAbW9uamFsb24ubmV0PjsNCj4gRGF2 aWQgTWFyY2hhbmQgPGRhdmlkLm1hcmNoYW5kQHJlZGhhdC5jb20+DQo+IENjOiBkZXYgPGRldkBk cGRrLm9yZz47IFN0ZXBoZW4gSGVtbWluZ2VyIDxzdGVwaGVuQG5ldHdvcmtwbHVtYmVyLm9yZz47 IExpYW5nLA0KPiBDdW5taW5nIDxjdW5taW5nLmxpYW5nQGludGVsLmNvbT47IEx1LCBYaXVjaHVu IDx4aXVjaHVuLmx1QGludGVsLmNvbT47IExpLA0KPiBNaWFvIDxtaWFvLmxpQGludGVsLmNvbT47 IFd1LCBKaW5namluZyA8amluZ2ppbmcud3VAaW50ZWwuY29tPg0KPiBTdWJqZWN0OiBSZTogW2Rw ZGstZGV2XSBbUEFUQ0ggMC84XSBJbnRyb2R1Y2UgZW11ZGV2IGxpYnJhcnkgYW5kIGlhdmYgZW11 ZGV2DQo+IGRyaXZlcg0KPiANCj4gDQo+IA0KPiBPbiAxMi8yMS8yMCAxMDo1MiBBTSwgTWF4aW1l IENvcXVlbGluIHdyb3RlOg0KPiA+IEhpIENoZW5ibywNCj4gPg0KPiA+IE9uIDEyLzE5LzIwIDc6 MTEgQU0sIFhpYSwgQ2hlbmJvIHdyb3RlOg0KPiA+PiBIaSBEYXZpZCwNCj4gPj4NCj4gPj4+IC0t LS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4+PiBGcm9tOiBEYXZpZCBNYXJjaGFuZCA8ZGF2 aWQubWFyY2hhbmRAcmVkaGF0LmNvbT4NCj4gPj4+IFNlbnQ6IEZyaWRheSwgRGVjZW1iZXIgMTgs IDIwMjAgNTo1NCBQTQ0KPiA+Pj4gVG86IFhpYSwgQ2hlbmJvIDxjaGVuYm8ueGlhQGludGVsLmNv bT4NCj4gPj4+IENjOiBkZXYgPGRldkBkcGRrLm9yZz47IFRob21hcyBNb25qYWxvbiA8dGhvbWFz QG1vbmphbG9uLm5ldD47IFN0ZXBoZW4NCj4gPj4+IEhlbW1pbmdlciA8c3RlcGhlbkBuZXR3b3Jr cGx1bWJlci5vcmc+OyBMaWFuZywgQ3VubWluZw0KPiA+Pj4gPGN1bm1pbmcubGlhbmdAaW50ZWwu Y29tPjsgTHUsIFhpdWNodW4gPHhpdWNodW4ubHVAaW50ZWwuY29tPjsgTGksIE1pYW8NCj4gPj4+ IDxtaWFvLmxpQGludGVsLmNvbT47IFd1LCBKaW5namluZyA8amluZ2ppbmcud3VAaW50ZWwuY29t Pg0KPiA+Pj4gU3ViamVjdDogUmU6IFtQQVRDSCAwLzhdIEludHJvZHVjZSBlbXVkZXYgbGlicmFy eSBhbmQgaWF2ZiBlbXVkZXYgZHJpdmVyDQo+ID4+Pg0KPiA+Pj4gT24gRnJpLCBEZWMgMTgsIDIw MjAgYXQgOTowMiBBTSBDaGVuYm8gWGlhIDxjaGVuYm8ueGlhQGludGVsLmNvbT4gd3JvdGU6DQo+ ID4+Pj4NCj4gPj4+PiBUaGlzIHNlcmllcyBpbnRyb2R1Y2VzIGEgbmV3IGRldmljZSBhYnN0cmFj dGlvbiBjYWxsZWQgZW11ZGV2IGZvcg0KPiA+Pj4gZW11bGF0ZWQNCj4gPj4+PiBkZXZpY2VzLiBB IG5ldyBsaWJyYXJ5IChsaWJydGVfZW11ZGV2KSBpcyBpbXBsZW1lbnRlZC4gVGhlIGZpcnN0IGVt dWRldg0KPiA+Pj4+IGRyaXZlciBpcyBhbHNvIGludHJvZHVjZWQsIHdoaWNoIGVtdWxhdGVzIElu dGVsIEFkYXB0aXZlIFZpcnR1YWwNCj4gPj4+IEZ1bmN0aW9uDQo+ID4+Pj4gKGlhdmYpIGFzIGEg c29mdHdhcmUgbmV0d29yayBkZXZpY2UuDQo+ID4+Pj4NCj4gPj4+PiBUaGlzIHNlcmllcyBoYXMg YSBkZXBlbmRlbmN5IG9uIGxpYnJ0ZV92ZmlvX3VzZXIgcGF0Y2ggc2VyaWVzOg0KPiA+Pj4+IGh0 dHA6Ly9wYXRjaHdvcmsuZHBkay5vcmcvY292ZXIvODUzODkvDQo+ID4+Pj4NCj4gPj4+PiBCYWNr Z3JvdW5kICYgTW90aXZhdGlvbg0KPiA+Pj4+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ID4+ Pj4gVGhlIGRpc2FnZ3JlZ2F0ZWQvbXVsdGktcHJvY2VzcyBRRU1VIGlzIHVzaW5nIFZGSU8tb3Zl ci1zb2NrZXQvdmZpby11c2VyDQo+ID4+Pj4gYXMgdGhlIG1haW4gdHJhbnNwb3J0IG1lY2hhbmlz bSB0byBkaXNhZ2dyZWdhdGUgSU8gc2VydmljZXMgZnJvbSBRRU1VLg0KPiA+Pj4+IFRoZXJlZm9y ZSwgbGlicnRlX3ZmaW9fdXNlciBpcyBpbnRyb2R1Y2VkIGluIERQREsgdG8gYWNjb21tb2RhdGUN Cj4gPj4+PiBlbXVsYXRlZCBkZXZpY2VzIGZvciBoaWdoIHBlcmZvcm1hbmNlIEkvTy4gQWx0aG91 Z2ggdmZpby11c2VyIGxpYnJhcnkNCj4gPj4+PiBwcm92aWRlcyBwb3NzaWJpbGl0eSBvZiBlbXVs YXRpbmcgZGV2aWNlcyBpbiBEUERLLCBEUERLIGRvZXMgbm90IGhhdmUNCj4gPj4+PiBhIGRldmlj ZSBhYnN0cmFjdGlvbiBmb3IgZW11bGF0ZWQgZGV2aWNlcy4gQSBnb29kIGRldmljZSBhYnN0cmFj dGlvbg0KPiA+Pj4gd2lsbA0KPiA+Pj4+IGJlIHVzZWZ1bCBmb3IgYXBwbGljYXRpb25zIG9yIGhp Z2ggcGVyZm9ybWFuY2UgZGF0YSBwYXRoIGRyaXZlci4gV2l0aA0KPiA+Pj4+IHRoaXMgY29uc2lk ZXJhdGlvbiwgZW11ZGV2IGxpYnJhcnkgaXMgZGVzaWduZWQgYW5kIGltcGxlbWVudGVkLiBJdCBh bHNvDQo+ID4+Pj4gbWFrZSBpdCBwb3NzYmlsZSB0byBrZWVwIG1vZHVsYXIgZGVzaWduIG9uIGVt dWxhdGVkIGRldmljZXMgYnkNCj4gPj4+IGltcGxlbWVudGluZw0KPiA+Pj4+IGRhdGEgcGF0aCBy ZWxhdGVkIGxvZ2ljIGluIGEgc3RhbmRhbG9uZSBkcml2ZXIgKGUuZy4sIGFuIGV0aGRldiBkcml2 ZXIpDQo+ID4+Pj4gYW5kIGtlZXBzIHRoZSB1bnJlbGF0ZWQgbG9naWMgaW4gdGhlIGVtdWRldiBk cml2ZXIuDQo+ID4+Pg0KPiA+Pj4gU2luY2UgeW91IG1lbnRpb24gcGVyZm9ybWFuY2UsIGhvdyBk b2VzIGl0IGNvbXBhcmUgdG8gdmhvc3QtdXNlci92aXJ0aW8/DQo+ID4+DQo+ID4+IEkgdGhpbmsg aXQgZGVwZW5kcyBvbiB0aGUgZGV2aWNlIHNwZWNpZmljYXRpb24gKGkuZS4sIGhvdyBjb21wbGV4 IGl0cyBkYXRhDQo+IHBhdGgNCj4gPj4gaGFuZGxpbmcgaXMpLiBBIGZpcnN0IHRyeSBvbiBpYXZm IHNwZWMgc2hvd3MgYmV0dGVyIHBlcmZvcm1hbmNlIHRoYW4gdmlydGlvDQo+ID4+IGluIG91ciBz aW1wbGUgdGVzdHMuDQo+ID4NCj4gPiBUaGF0J3MgaW50ZXJlc3RpbmchIEhvdyBiaWcgaXMgdGhl IHBlcmZvcm1hbmNlIGRpZmZlcmVuY2U/IEFuZCBob3cgZG8NCj4gPiB3ZSBleHBsYWluIGl0Pw0K PiA+DQo+ID4gSWYgdGhlcmUgYXJlIGltcHJvdmVtZW50cyB0aGF0IGNvdWxkIGJlIGRvbmUgaW4g dGhlIFZpcnRpbw0KPiA+IHNwZWNpZmljYXRpb24sIGl0IHdvdWxkIGJlIGdyZWF0IHRvIGtub3cg YW5kIHdvcmsgb24gdGhlaXINCj4gPiBpbXBsZW1lbnRhdGlvbnMuIEl0IHdvcnJpZXMgbWUgYSBi aXQgdGhhdCBldmVyeSBvbmUgaXMgY29taW5nIHdpdGgNCj4gPiBoaXMgbmV3IGRldmljZSBlbXVs YXRpb24gZXZlcnkgcmVsZWFzZSwgbWFraW5nIHRoaW5ncyBsaWtlIGxpdmUtDQo+ID4gbWlncmF0 aW9uIGRpZmZpY3VsdCB0byBhY2hpZXZlIGluIHRoZSBmdXR1cmUuDQo+IA0KPiBJIGRpZCBhIHF1 aWNrIHJldmlldyBvZiB0aGUgSUFWRiBlbXVkZXYgZHJpdmVyIHRvIHVuZGVyc3RhbmQgd2hhdCBv dGhlcg0KPiBmYWN0b3JzIHRoYW4gcmluZyBsYXlvdXQgY291bGQgZXhwbGFpbiBhIHBlcmZvcm1h bmNlIGdhaW4uDQo+IA0KPiBNeSB1bmRlcnN0YW5kaW5nIGlzIHRoYXQgcGFydCBvZiB0aGUgcGVy Zm9ybWFuY2UgZ2FpbiBtYXkgY29tZSBmcm9tDQo+IGZvbGxvd2luZyB0aGluZ3MgdGhhdCBhcmUg c3VwcG9ydGVkL2ltcGxlbWVudGVkIGluIFZob3N0LXVzZXIgYmFja2VuZA0KPiBhbmQgbm90IGlu IElBVkYgZHJpdmVyOg0KPiAxLiBNZW1vcnkgaG90cGx1Zy4gSXQgc2VlbXMgdGhlIGRhdGFwYXRo IGlzIG5vdCBzYWZlIGFnYWluc3QgbWVtb3J5DQo+IGhvdHBsdWcgaW4gdGhlIFZNLCB3aGljaCBj YXVzZXMgdGhlIG1lbW9yeSB0YWJsZXMgdG8gYmUgdXBkYXRlZA0KPiBhc3luY2hyb25vdXNseSBm cm9tIHRoZSBkYXRhcGF0aC4gSW4gb3JkZXIgdG8gc3VwcG9ydCBpdCBpbiBWaG9zdC11c2VyDQo+ IGxpYnJhcnksIHdlIGhhZCB0byBpbnRyb2R1Y2UgbG9ja3MgdG8gZW5zdXJlIHRoZSBkYXRhcGF0 aCBpc24ndA0KPiBhY2Nlc3NpbmcgdGhlIHNoYXJlZCBtZW1vcnkgd2hpbGUgaXQgaXMgYmVpbmcg cmVtYXBwZWQuDQoNCkkgdGhpbmsgbm93IGl0IHVzZXMgdGhlIHNpbWlsYXIgd2F5IHRoYXQgdmhv c3QtdXNlciBkb2VzLg0KDQpGaXJzdCwgaW4gdGhlIHZmaW8tdXNlciBwYXRjaCBzZXJpZXMsIHdl IGludHJvZHVjZSBhIGNhbGxiYWNrIGxvY2tfZHAgdG8gbG9jaw0KdGhlIGRhdGEgcGF0aCB3aGVu IG1lc3NhZ2VzIGxpa2UgRE1BIE1BUC9VTk1BUCBjb21lLiBJdCB3aWxsIGxvY2sgZGF0YXBhdGgN CmluIG91ciBkYXRhIHBhdGggZHJpdmVyLg0KDQpOb3RlIHRoYXQgdGhlIGRhdGEgcGF0aCBoYW5k bGluZyBpcyBpbiBvdXIgZGF0YSBwYXRoIGRyaXZlcjoNCmh0dHA6Ly9wYXRjaHdvcmsuZHBkay5v cmcvY292ZXIvODU1MDAvDQoNCkZvciBtb2R1bGFyIGRlc2lnbiwgaWF2Zl9lbXUgZHJpdmVyIGVt dWxhdGVzIHRoZSBkZXZpY2UgYnV0IHRoZSBpYXZmIGJhY2stZW5kDQpkcml2ZXIgZG9lcyBkYXRh IHBhdGggaGFuZGxpbmcuDQoNCj4gDQo+IDIuIExpdmUtbWlncmF0aW9uLiBUaGlzIGZlYXR1cmUg ZG9lcyBub3Qgc2VlbSBzdXBwb3J0ZWQgaW4gdGhlIGRyaXZlciwNCj4gYXMgSSBjb3VsZCBub3Qg ZmluZCBkaXJ0eSBwYWdlcyB0cmFja2luZyBtZWNoYW5pc20uIE9uIFZob3N0LXVzZXIgc2lkZSwN Cj4gc3VwcG9ydGluZyBpbXBsaWVzIGFkZGluZyBtb3JlIGJyYW5jaCBjb25kaXRpb25zIGluIHRo ZSBob3QgcGF0aCwgZXZlbg0KPiB3aGVuIGl0IGlzIG5vdCB1c2VkLg0KDQpZZXMsIHdlIGRvbid0 IHN1cHBvcnQgdGhpcyBub3cgaW4gdGhpcyB2ZXJzaW9uLiBBbmQgeWVzLCB3aGVuIHdlIHN1cHBv cnQgdGhpcw0KZmVhdHVyZSwgaXQgd2lsbCBpbnRyb2R1Y2UgY29tcGxleGl0eSBpbiBkYXRhIHBh dGguDQoNCj4gDQo+IDMuIE5vIElPTU1VIHN1cHBvcnQuIFNhbWUgaGVyZSwgdGhpcyBpcyBzdXBw b3J0ZWQgaW4gVmhvc3QtdXNlciBsaWJyYXJ5LA0KPiBhbmQgYWRkaW5nIGl0cyBzdXBwb3J0IGlu IElBVkYgZHJpdmVyIHdvdWxkIGludHJvZHVjZSBzb21lIG1vcmUgYnJhbmNoZXMNCj4gaW4gdGhl IGhvdCBwYXRoIGV2ZW4gd2hlbiBub3QgdXNlZC4NCg0KWWVzLCB2SU9NTVUgaXMgbm90IGZ1bGx5 IHN1cHBvcnRlZCBpbiB2ZmlvLXVzZXIgc3BlYyBmb3Igbm93IGFuZCBJIGFsc28gYWdyZWUNCndo ZW4gd2UgaGF2ZSB0byBzdXBwb3J0IGl0LCBpdCB3aWxsIHNsb3cgZG93biB0aGUgZGF0YSBwYXRo Lg0KDQo+IA0KPiA0LiBPdXQgb2YgYm91bmQgbWVtb3J5IGFjY2Vzc2VzIGNoZWNrcy4gV2hpbGUN Cj4gcnRlX2lhdmZfZW11X2dldF9kbWFfdmFkZHIoKSBwcm92aWRlcyBhIHdheSB0byBlbnN1cmUg dGhlIGZ1bGwgcmVxdWVzdGVkDQo+IGxlbmd0aCBpcyBtYXBwZWQsIHRoZSBkYXRhIHBhdGggZG9l cyBub3QgdXNlIGl0LiBJdCBkb2VzIG5vdCBldmVuIGVuc3VyZQ0KDQpJbiBmYWN0LCBpdCB1c2Vz IGl0IPCfmIouIEkgdGhpbmsgeW91IG1heSBtaXNzIG91ciBkYXRhIHBhdGggZHJpdmVyLiBIZXJl J3MgYSANCnVzZTogaHR0cDovL3BhdGNod29yay5kcGRrLm9yZy9wYXRjaC84NTUwNC8NCg0KPiB0 aGUgdHJhbnNsYXRlZCBhZGRyZXNzIGlzIG5vbi1OVUxMLiBJdCBtYWtlcyBpdCB0cml2aWFsIGZv ciBhIG1hbGljaW91cw0KPiBndWVzdCB0byBtYWtlIHRoZSBoeXBlcnZpc29yJ3MgdlN3aXRjaCB0 byBjcmFzaCBieSBzaW1wbHkgcGFzc2luZyByYW5kb20NCj4gdmFsdWVzIGFzIGJ1ZmZlcidzIGFk ZHJlc3MgYW5kIGxlbmd0aC4gRml4aW5nIGl0IGlzIHRyaXZpYWwsIGJ1dCBpdCB3aWxsDQo+IGFk ZCBzZXZlcmFsIG1vcmUgY2hlY2tzIGFuZCBsb29wcyAoaWYgYSBidWZmZXIgaXMgc3Bhbm5lZCBh Y3Jvc3MgdHdvDQo+IHBhZ2VzKSBpbiB0aGUgaG90IHBhdGguDQoNCkkgZG9uJ3QgcXVpdGUgdW5k ZXJzdGFuZCB0aGlzIG9uZS4gRmlyc3QsIHJ0ZV9pYXZmX2VtdV9nZXRfZG1hX3ZhZGRyKCkgaXMg dGhlDQpvbmx5IHdheSB0byB0cmFuc2xhdGUgYWRkcmVzcy4gQW5kIEkgdGhpbmsgdGhpcyBmdW5j dGlvbiB3aWxsIGVuc3VyZSB0aGUgaW5wdXQNCmFkZHJlc3MgaXMgdmFsaWQuIExvb2tpbmcgYXQg dGhlIHZob3N0IHNpZGUsIHZob3N0X2lvdmFfdG9fdnZhKCkgZG9lcyBzaW1pbGFyDQp0aGluZ3Mg d2hlbiB2SU9NTVUgaXMgbm90IHVzZWQuIERvIEkgbWlzcyBzb21ldGhpbmc/IEp1c3QgY29ycmVj dCBtZSBpZiBJIGFtDQp3cm9uZy4NCg0KPiANCj4gT3RoZXIgdGhhbiB0aGF0LCB0aGVyZSBpcyBm b3Igc3VyZSBhIHBlcmZvcm1hbmNlIGdhaW4gZHVlIHRvIGFsbCB0aGUNCj4gZmVhdHVyZXMgVmly dGlvLW5ldCBzdXBwb3J0cyB0aGF0IHdlIGhhdmUgdG8gY2hlY2sgYW5kIGhhbmRsZSBpbiB0aGUN Cj4gaG90cGF0aCwgbGlrZSBpbmRpcmVjdCBkZXNjcmlwdG9ycyBvciBtZXJnZWFibGUgYnVmZmVy cyBmb3IgZXhhbXBsZS4NCg0KSSB0aGluayBpYXZmIGhhcyBzaW1pbGFyIGZlYXR1cmVzIGxpa2Ug aW5kaXJlY3QgYW5kIG1lcmdlYWJsZSB0byByZWN2L3htaXQNCmxhcmdlIHBrdHMuIEJ1dCBJIGJl bGlldmUgdGhlcmUgd2lsbCBiZSBzb21lIGZlYXR1cmUgZGlmZmVyZW5jZSBiZXR3ZWVuDQppYXZm IGFuZCB2aXJ0aW8vdmhvc3QuDQoNCkkgdGhpbmsgeW91IGFyZSBjb3JyZWN0IHRoYXQgZm9yIHRo aXMgdmVyc2lvbiwgaXQncyBub3QgZmFpciB0byBjb21wYXJlIHZpcnRpby92aG9zdA0Kd2l0aCBp YXZmIGJhY2stZW5kIGJlY2F1c2UgaWF2ZiBiYWNrLWVuZCBoYXMgbm90IHN1cHBvcnRlZCBzb21l IGZlYXR1cmVzLCBhbmQgYmVzaWRlcywNCndlIGhhdmUgbm90IG9wdGltaXplZCB0aGUgZGF0YSBw YXRoIG9mIGlhdmYgYmFjay1lbmQuIFdlIGV4cGVjdCB0aGUgcGVyZm9ybWFuY2Ugb2YNCmlhdmYg YmFjay1lbmQgaW4gdGhlIHNhbWUgbGV2ZWwgb2YgdmlydGlvIDEuMSBhbmQgaG9wZWZ1bGx5IGJl dHRlciBiZWNhdXNlIG9mIHRoZSByaW5nDQpsYXlvdXQuIEJ1dCBsZXQncyBzZWUgd2hlbiB3ZSBj YW4gZG8gY29tcGxldGUgcGVyZm9ybWFuY2UgYW5hbHlzaXMg8J+Yii4NCg0KVGhhbmtzIQ0KQ2hl bmJvDQoNCj4gDQo+IEJlc3QgcmVnYXJkcywNCj4gTWF4aW1lDQo+IA0KPiA+IFJlZ2FyZHMsDQo+ ID4gTWF4aW1lDQo+ID4NCj4gPj4gVGhhbmtzIQ0KPiA+PiBDaGVuYm8NCj4gPj4NCj4gPj4+DQo+ ID4+Pg0KPiA+Pj4gLS0NCj4gPj4+IERhdmlkIE1hcmNoYW5kDQo+ID4+DQoNCg==