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 3E38EA04B4; Mon, 18 Nov 2019 12:57:14 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id B6094B62; Mon, 18 Nov 2019 12:57:13 +0100 (CET) Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by dpdk.org (Postfix) with ESMTP id D25BDA69; Mon, 18 Nov 2019 12:57:10 +0100 (CET) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by fmsmga101.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 18 Nov 2019 03:57:09 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.68,320,1569308400"; d="scan'208";a="204177654" Received: from fmsmsx104.amr.corp.intel.com ([10.18.124.202]) by fmsmga007.fm.intel.com with ESMTP; 18 Nov 2019 03:57:09 -0800 Received: from fmsmsx101.amr.corp.intel.com (10.18.124.199) by fmsmsx104.amr.corp.intel.com (10.18.124.202) with Microsoft SMTP Server (TLS) id 14.3.439.0; Mon, 18 Nov 2019 03:57:09 -0800 Received: from FMSEDG002.ED.cps.intel.com (10.1.192.134) by fmsmsx101.amr.corp.intel.com (10.18.124.199) with Microsoft SMTP Server (TLS) id 14.3.439.0; Mon, 18 Nov 2019 03:57:09 -0800 Received: from NAM03-CO1-obe.outbound.protection.outlook.com (104.47.40.58) by edgegateway.intel.com (192.55.55.69) with Microsoft SMTP Server (TLS) id 14.3.439.0; Mon, 18 Nov 2019 03:57:09 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=dM7BAeFUSQnS/OgQ9wO1ZT1U17r8489+RZbFqyzwne7zAwl9EEhPz1h4CvyIgsSadWJlICadQ4QHaJ2KMSrYBYByZ94m+CnAoE8quqWZoOpOBtWUxYUPnw7oe+yweXpRuHw0a2pClwD0tK5QpavrUbUoypRsNvChwIA2aQcthPKsCBcnFutODinUSax4gexQOEr9nhf8yq130aONL0S+LgHih9iEGSbRVfkO8Y+U3SfuWKCWhMOK5ZURPPL+uGEbQf2U51hBqkYvrMhvYAarYl8g+8K62i/jOKgTBfwIdRPqj0q/nnO5Eudl8WsxU/OBHhSazdcz+rgdiW0gpANGhQ== 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=3Mp1EyhDoxLcvG2bYatOEZ88ZaE2SMaTBd7KU55Gr2c=; b=Lex1azOiEE9cuyYdHR6//2mgnWTvtO9fKxvvIgTjOKuhmIiSSUyveZxvcFWZLydXGuNlFz/w9h6SUT1oLtl1TBtyHv8I8uIHboH4P14a2Uw11pZaX2itadCtAs8uf+mSq5j1zmWfI+rD8seLUdCknz4OURKP10/8FZueSs30HiKEFN+AsyLVMunRr1DyvHGMXhS4nEcLMzO4BbeT2dPGYsCV+C2c8w8Wokz3QEoQcwM1YvthkeaxseOug3QkNPUXKE6pHL8gxeegFPaO6zlzUUtZvKdrmuyrW+7TecsT1Hbowa1MdqUxpQUvHeEQRA/Yf2z5o67mtoxplshilW6zPg== 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=3Mp1EyhDoxLcvG2bYatOEZ88ZaE2SMaTBd7KU55Gr2c=; b=tsFxVfLNaW/NcpSrBZU/xl34W5QbWP/wTrHS6fcAtSYVuZYgVJV3hRNWMQl0k01WlO1bJiiC1DiMj0Wn0hHLu+QS1U6sDmx2CDK94ui13GKcXfbsIJHnSJqYIhsyLPUcBYzMkcZlVN/AbUDokOl8VIyHiEPpvrlKU597Q4syf7E= Received: from SN6PR11MB2558.namprd11.prod.outlook.com (52.135.91.13) by SN6PR11MB2877.namprd11.prod.outlook.com (52.135.93.32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2451.22; Mon, 18 Nov 2019 11:57:07 +0000 Received: from SN6PR11MB2558.namprd11.prod.outlook.com ([fe80::19a4:37bc:d979:dd76]) by SN6PR11MB2558.namprd11.prod.outlook.com ([fe80::19a4:37bc:d979:dd76%5]) with mapi id 15.20.2451.029; Mon, 18 Nov 2019 11:57:07 +0000 From: "Ananyev, Konstantin" To: Jerin Jacob CC: dpdk-dev , "techboard@dpdk.org" , "Zhang, Roy Fan" , "Doherty, Declan" , Akhil Goyal Thread-Topic: [dpdk-dev] [RFC 0/4] cpu-crypto API choices Thread-Index: AQHVlAi1pOd0g2NJbEaaheJ9I0jiNKeKNaWAgAanabA= Date: Mon, 18 Nov 2019 11:57:07 +0000 Message-ID: References: <20191105184122.15172-1-konstantin.ananyev@intel.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiMTViZDZjOGEtNTkwZC00YzY0LTg3NzgtNjg2MmM1NDUzNjdmIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiSkJ3RG9OVXRaVFR6K1czWWlsek5TcXdqWHpTdit1VXVQTFRXUHQ0ZUZUSGoxQXlLQk5GZ3gwejdZSUU1RjZXbSJ9 dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.2.0.6 x-ctpclassification: CTP_NT authentication-results: spf=none (sender IP is ) smtp.mailfrom=konstantin.ananyev@intel.com; x-originating-ip: [192.198.151.185] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 0bcd3633-c10f-467b-a743-08d76c1e6fdb x-ms-traffictypediagnostic: SN6PR11MB2877: x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-forefront-prvs: 0225B0D5BC x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(346002)(39860400002)(136003)(396003)(366004)(376002)(199004)(189003)(51444003)(6506007)(316002)(33656002)(66066001)(74316002)(305945005)(52536014)(14444005)(478600001)(7736002)(71190400001)(99286004)(2906002)(76176011)(71200400001)(256004)(14454004)(6916009)(6116002)(4326008)(7696005)(3846002)(446003)(561944003)(54906003)(6246003)(486006)(1411001)(11346002)(66476007)(476003)(86362001)(186003)(64756008)(76116006)(66446008)(8936002)(26005)(66556008)(55016002)(81156014)(81166006)(8676002)(5660300002)(6436002)(25786009)(229853002)(66946007)(102836004)(9686003); DIR:OUT; SFP:1102; SCL:1; SRVR:SN6PR11MB2877; H:SN6PR11MB2558.namprd11.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: T00oDj0p5TzKDkC6vra6O36peS/f6kwWAr1ih0ZZ/I572lmw2KUADyzEVzk7XKTsS6RDyaTjIvXmccQNiEQEq6A5UhZuPPBLORDB92f82B7xlaY6cB8SlGbknFwT27Hsdr/uAXP8vWeGFR9PLIz4Ybd84B7tEAG+zB7el5m3i/SfOHokVwvHV8rKFRtyG06P29gEQYD56tvD1YSUnbYL5GEo+kDBOQa2J/JTkZBIgqKb3iPL93Y5wKlqFj8hDryhr2r4wB0elEy3trcBwCfzaInuYeSMmZdnutTt0sbYX7FQTF/XPYms7+Fx9gcSRUrAjnUF7/BvgnruAgdV/xp5QoghuQO8NvKCMTt7zYl336hbZbZLlJksZUMf/u3CVZTiHoaBoVtYHdfzDoqPi6KlJQ7yHF8APZc+J7ap+zrFQUh2aCH2hO0mMHtjUHdPmZov Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: 0bcd3633-c10f-467b-a743-08d76c1e6fdb X-MS-Exchange-CrossTenant-originalarrivaltime: 18 Nov 2019 11:57:07.6200 (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: +D68U/F9o3Go48+MwvCVaDebOZsiheupSY3VgIWQtpknWIS4KGdfj47g87SV+69t67EEwy2z3fDHLXc8T9y1Okw7TuHxY4hRZh4FXrLABBE= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN6PR11MB2877 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [RFC 0/4] cpu-crypto API choices 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" SGkgSmVyaW4sDQoNClRoYW5rcyBmb3IgaW5wdXQsIG15IGFuc3dlcnMgaW5saW5lLg0KT3RoZXIg Z3V5cyAtIHBsZWFzZSBwcm92aWRlIHlvdXIgaW5wdXQuDQpUaGFua3MNCktvbnN0YW50aW4NCg0K PiA+IE9yaWdpbmFsbHkgYm90aCBTVyBhbmQgSFcgY3J5cHRvIFBNRHMgdXNlIHJ0ZV9jcnlwb3Rf b3AgYmFzZWQgQVBJIHRvDQo+ID4gcHJvY2VzcyB0aGUgY3J5cHRvIHdvcmtsb2FkIGFzeW5jaHJv bm91c2x5LiBUaGlzIHdheSBwcm92aWRlcyB1bmlmb3JtaXR5DQo+ID4gdG8gYm90aCBQTUQgdHlw ZXMsIGJ1dCBhbHNvIGludHJvZHVjZSB1bm5lY2Vzc2FyeSBwZXJmb3JtYW5jZSBwZW5hbHR5IHRv DQo+ID4gU1cgUE1EcyB0aGF0IGhhdmUgdG8gInNpbXVsYXRlIiBIVyBhc3luYyBiZWhhdmlvcg0K PiA+IChjcnlwdG8tb3BzIGVucXVldWUvZGVxdWV1ZSwgSFcgYWRkcmVzc2VzIGNvbXB1dGF0aW9u cywNCj4gPiBzdG9yaW5nL2RlcmVmZXJlbmNpbmcgdXNlciBwcm92aWRlZCBkYXRhIChtYnVmKSBm b3IgZWFjaCBjcnlwdG8tb3AsDQo+ID4gZXRjKS4NCj4gPg0KPiA+IFRoZSBhaW0gaXMgdG8gaW50 cm9kdWNlIGEgbmV3IG9wdGlvbmFsIEFQSSBmb3IgU1cgY3J5cHRvLWRldmljZXMNCj4gPiB0byBw ZXJmb3JtIGNyeXB0byBwcm9jZXNzaW5nIGluIGEgc3luY2hyb25vdXMgbWFubmVyLg0KPiA+IEFz IHN1bW1hcml6ZWQgYnkgQWtoaWwsIHdlIG5lZWQgYSBzeW5jaHJvbm91cyBBUEkgdG8gcGVyZm9y bSBjcnlwdG8NCj4gPiBvcGVyYXRpb25zIG9uIHJhdyBkYXRhIHVzaW5nIFNXIFBNRHMsIHRoYXQg cHJvdmlkZXM6DQo+ID4gIC0gbm8gY3J5cHRvLW9wcy4NCj4gPiAgLSBhdm9pZCB1c2luZyBtYnVm cyBpbnNpZGUgdGhpcyBBUEksIHVzZSByYXcgZGF0YSBidWZmZXJzIGluc3RlYWQuDQo+ID4gIC0g bm8gc2VwYXJhdGUgZW5xdWV1ZS1kZXF1ZXVlLCBvbmx5IHNpbmdsZSBwcm9jZXNzKCkgQVBJIGZv ciBkYXRhIHBhdGguDQo+ID4gIC0gaW5wdXQgZGF0YSBidWZmZXJzIHNob3VsZCBiZSBncm91cGVk IGJ5IHNlc3Npb24sDQo+ID4gICAgaS5lLiBlYWNoIHByb2Nlc3MoKSBjYWxsIHRha2VzIG9uZSBz ZXNzaW9uIGFuZCBncm91cCBvZiBpbnB1dCBidWZmZXJzDQo+ID4gICAgdGhhdCAgYmVsb25nIHRv IHRoYXQgc2Vzc2lvbi4NCj4gPiAgLSBBbGwgcGFyYW1ldGVycyB0aGF0IGFyZSBjb25zdGFudCBh Y2Nyb3NzIHNlc3Npb24sIHNob3VsZCBiZSBzdG9yZWQNCj4gPiAgICBpbnNpZGUgdGhlIHNlc3Np b24gaXRzZWxmIGFuZCByZXVzZWQgYnkgYWxsIGluY29taW5nIGRhdGEgYnVmZmVycy4NCj4gPg0K PiA+IFdoaWxlIHRoZXJlIHNlZW1zIG5vIGNvbnRyb3ZlcnN5IGFib3V0IG5lZWQgb2Ygc3VjaCBm dW5jdGlvbmFsaXR5LA0KPiA+IHRoZXJlIHNlZW1zIHRvIGJlIG5vIGFncmVlbWVudCBvbiB3aGF0 IHdvdWxkIGJlIHRoZSBiZXN0IEFQSSBmb3IgdGhhdC4NCj4gPiBTbyBJIGFtIHJlcXVlc3Rpbmcg Zm9yIFRCIGlucHV0IG9uIHRoYXQgbWF0dGVyLg0KPiA+DQo+ID4gU2VyaWVzIHN0cnVjdHVyZToN Cj4gPiAtIHBhdGNoICMxIC0gaW50b3JkdWNlIGJhc2ljIGRhdGEgc3RydWN0dXJlcyB0byBiZSB1 c2VkIGJ5IHN5bmMgQVBJDQo+ID4gICAobm8gY29udHJvdmVyc3kgaGVyZSwgSSBob3BlIC4uKQ0K PiA+ICAgW1JGQyAxLzRdIGNwdS1jcnlwdG86IEludHJvZHVjZSBiYXNpYyBkYXRhIHN0cnVjdHVy ZXMNCj4gPiAtIHBhdGNoICMyIC0gSW50ZWwgaW5pdGlhbCBhcHByb2FjaCBmb3IgbmV3IEFQSSAo dmlhIHJ0ZV9zZWN1cml0eSkNCj4gPiAgIFtSRkMgMi80XSBzZWN1cml0eTogaW50cm9kdWNlIGNw dS1jcnlwdG8gQVBJDQo+ID4gLSBwYXRjaCAjMyAtIGFwcHJvYWNoIHRoYXQgcmV1c2VzIGV4aXN0 aW5nIHJ0ZV9jcnlwdG9kZXYgQVBJIGFzIG11Y2ggYXMNCj4gPiAgIHBvc3NpYmxlDQo+ID4gICBb UkZDIDMvNF0gY3J5cHRvZGV2OiBpbnRyb2R1Y2UgY3B1LWNyeXB0byBBUEkNCj4gPiAtIHBhdGNo ICM0IC0gYXBwcm9hY2ggdmlhIGludHJvZHVjaW5nIG5ldyBzZXNzaW9uIGRhdGEgc3RydWN0dXJl IGFuZCBBUEkNCj4gPiAgIFtSRkMgNC80XSBjcnlwdG9kZXY6IGludHJvZHVjZSBydGVfY3J5cHRv X2NwdV9zeW1fc2Vzc2lvbiBBUEkNCj4gPg0KPiA+IFBhdGNoZXMgMiwzLDQgYXJlIG11dHVhbGx5 IGV4Y2x1c2l2ZSwNCj4gPiBhbmQgd2UgcHJvYmFibHkgaGF2ZSB0byBjaG9vc2Ugd2hpY2ggb25l IHRvIGdvIGZvcndhcmQgd2l0aC4NCj4gPiBJIHB1dCBzb21lIGV4cGxhbmF0aW9ucyBpbiBlYWNo IG9mIHRoZSBwYXRjaGVzLCBob3BlZnVsbHkgdGhhdCB3aWxsIGhlbHANCj4gPiB0byAgdW5kZXJz dGFuZCBwcm9zIGFuZCBjb25zIG9mIGVhY2ggb25lLg0KPiA+DQo+ID4gQWtoaWwgc3Ryb25nbHkg c3VwcG9ydHMgIzMsIEFGQUlLIG1haW5seSBiZWNhdXNlIGl0IGFsbG93cyBQTURzIHRvDQo+ID4g cmV1c2UgZXhpc3RpbmcgQVBJIGFuZCBtaW5pbWl6ZSBBUEkgbGV2ZWwgY2hhbmdlcy4NCj4gPiBN eSBmYXZvcml0ZSBpcyAjNCwgIzIgaXMgbGVzcyBwcmVmZXJhYmxlIGJ1dCBvayB0b28uDQo+ID4g IzMgc2VlbXMgcHJvYmxlbWF0aWMgdG8gbWUgYnkgdGhlIHJlYXNvbnMgSSBvdXRsaW5lZCBpbiAj NCBwYXRjaA0KPiA+IGRlc2NyaXB0aW9uLg0KPiA+DQo+ID4gUGxlYXNlIHByb3ZpZGUgeW91ciBv cGluaW9uLg0KPiANCj4gSSBzcGVuZCBzb21lIHRpbWUgb24gdGhlIHByb3Bvc2FsIGFuZCBJIGFn cmVlIHRoYXQgc3luYyBBUEkgaXMgbmVlZGVkDQo+IGFuZCBpdCBtYWtlcyBzZW5zZSB0byByZW1v dmUgcXVldWUgZW11bGF0aW9uIGFuZCBhbGxvY2F0aW5nL2ZyZWVpbmcNCj4gdGhlIGNyeXB0b19v cHMNCj4gaW4gY2FzZSBvZiBzeW5jIEFQSS4NCj4gDQo+ICMgSSB3b3VsZCBwcmVmZXIgdG8gbm90 IGR1cGxpY2F0ZSB0aGUgc2Vzc2lvbi4gSWYgdGhlIG5ld2x5IGFkZGVkDQo+IGZpZWxkcyBhcmUg Zm9yIG9wdGltaXphdGlvbg0KPiB0aGVuIHRob3NlIGNhbiBiZSBhcHBsaWNhYmxlIGZvciBIVyB0 b28uIEZvciBleGFtcGxlLCBpZiB3ZSBjb25zaWRlciwNCj4gb2Zmc2V0IHRvIGJlDQo+IGNvbnN0 YW50IGZvciBvbmUgc2Vzc2lvbiBIVyBQTUQgd2lsbCBiZSBhYmxlIHRvIGxldmVyYWdlIHRoaXMu IHJlZjoNCj4gcnRlX2NyeXB0b19hZWFkX3hmcm9tOjpjcHVfY3J5cHRvOm9mZnNldA0KDQpJdCBt aWdodCwgYnV0IHJpZ2h0IGZvciBhc3luYyBBUEkgd2UgcGFzcyB0aGlzIGluZm8gaW4gY3J5cHRv X29wIGluc3RlYWQuDQpTbyBpZiBJIGdldCB5b3UgcmlnaHQgeW91ciBwcmVmZXJlbmNlIGlzIHNv cnQgb2YgIzMgYXBwcm9hY2gNCnRoYXQgcmV1c2VzIGV4aXN0aW5nIHJ0ZV9jcnlwdG9kZXYgQVBJ IGFzIG11Y2ggYXMgcG9zc2libGU6DQpyZXVzZSBleGlzdGluZyBydGVfY3J5cHRvZGV2X3N5bSBz dHJ1Y3R1cmUgd2l0aCBuZXcgc3luYyBwcm9jZXNzKCkgQVBJPw0KIA0KPiAjIEkgd291bGQgcHJl ZmVyIHRvIG5vdCBkdXBsaWNhdGUgb3BzIHBhcmFtZXRlcnMsIGluc3RlYWQgb2YgdGhlDQo+IGV4 aXN0aW5nIHJ0ZV9jcnlwdG9fb3BzICBjYW4gYmUgdXBkYXRlZC4NCj4gSSBzZWUgdGhhdCBtb3N0 IG1lbWJlcnMgaW50cm9kdWNlZCBpbiBydGVfY3J5cHRvX3N5bV92ZWMgJg0KPiBydGVfY3J5cHRv X3ZlYyBhcmUgYWxyZWFkeSBleGlzdGluZyBpbiBydGVfY3J5cHRvX29wLg0KDQpydGVfY3J5cHRv X29wcyBpcyB3YXkgdG9vIGdlbmVyaWMvZXhjZXNzaXZlLg0KRmlsbGluZy9yZWFkaW5nIGl0IHNl ZW1zIG9uZSBvZiB0aGUgbWFpbiBzbG93ZG93bnMgdGhhdCAgd2UgdHJ5aW5nIHRvDQphdm9pZCBp biBuZXcgQVBJLiANCg0KPiANCj4gQWxzbywgc2luY2Ugd2UgYXJlIGFncmVlaW5nIHRoYXQgdGhl IG9wcyBmb3IgU1lOQyBBUEkgY2FuIGJlIGZyb20NCj4gc3RhY2svb25lIHRpbWUgYWxsb2NhdGVk LCB0aGUgc2l6ZSBzaG91bGRuJ3QgbWF0dGVyLg0KDQpJIGNhbiBiZSBvbiBzdGFjaywgYnV0IGl0 IG1lYW5zIHVzZXIgd2lsbCBzdGlsbCBoYXZlIHRvIGZpbGwgdGhlbQ0KYW5kIFBNRCB3aWxsIGhh dmUgdG8gcmVhZC9wcm9jZXNzL292ZXJ3cml0ZSB0aGVtLiANCiANCj4gSSB1bmRlcnN0YW5kIHRo YXQgdGhpcyB3b3VsZCBjYXVzZSBBQkkgYnJlYWthZ2UsIGJ1dCBmb3IgdGhpcyByZWxlYXNlLA0K PiB3ZSBjYW4gd29yayB0b2dldGhlciBhbmQgYWRkIHNvbWUgcmVzZXJ2ZWQgZmllbGRzDQo+IHRo YXQgd2UgY2FuIGltcGxlbWVudCBsYXRlci4gSSBiZWxpZXZlIHRoYXQncyB0aGUgcmVhc29uIHdo eSB5b3Ugd2FudA0KPiB0byBpbnRyb2R1Y2UgbmV3IHN0cnVjdHVyZXMuIEkgdGhpbmsgdGhhdCB3 aWxsIGJsb2F0DQo+IHRoZSBleGlzdGluZyBjcnlwdG8gbGliLg0KDQpJdCB3aWxsIGluY3JlYXNl IHRoZSBsaWIgY29kZSwgYnV0IEkgZG9uJ3QgdGhpbmsgaXQgd2lsbCBiZSBzaWduaWZpY2FudC4N CkhvbmVzdGx5LCBJIHRoaW5rIG1lc3Npbmcgd2l0aCBjcnlwdG9fb3AgYW5kIG90aGVyIGV4aXN0 aW5nIHN0cnVjdHVyZXMNCm1pZ2h0IGhhdmUgbXVjaCBtb3JlIG5lZ2F0aXZlIGVmZmVjdC4gDQog DQo+IElmIEkgdW5kZXJzdGFuZCBpdCBjb3JyZWN0bHksIHRoaXMgd2lsbCBiZSB1c2VkIGluIGNv bmp1bmN0aW9uIHdpdGgNCj4gSVhHQkUgdG8gaGFuZGxlIGZyYWdtZW50ZWQgSVBzZWMgdHJhZmZp Yy4gSWYgdGhhdCdzIHRoZSBmdW5kYW1lbnRhbA0KPiByZWFzb25pbmcsIHRoZW4gdGhlcmUgaXMg YW4gYWx0ZXJuYXRlIHBhdGggcG9zc2libGUuDQoNCk5vLCBpdCdzIGp1c3Qgb25lIG9mIHRoZSB1 c2UtY2FzZS4NClByZXR0eSBpbXBvcnRhbnQsIGJ1dCBub3QgdGhlIG9ubHkgb25lLg0KVGhlIG1h aW4gcmVhc29uIC0gY3VycmVudCBjcnlwdG9kZXYgQVBJIChjcnlwdG9fb3AgYmFzZWQpIGlzIHN1 Ym9wdGltYWwgZm9yIFNXIGJhc2VkIFBNRHMuDQpXZSB3YXN0aW5nIHRvbyBtYW55IGN5Y2xlcyB0 byBwcmV0ZW5kIHRoYXQgaXQgaXMgYSBsb29rYXNpZGUgZGV2aWNlIHVuZGVybmVhdGguDQpJIHRo aW5rIG1ha2VzIG1vcmUgc2Vuc2UgdG8gYWRtaXQgdGhhdCBpdCBpcyBTVyBiYXNlZCBhbmQgZXhw bG9pdCBpdCBuYXR1cmUsDQppbnN0ZWFkIG9mIHRyeWluZyB0byBoaWRlIGl0Lg0KDQo+IEN1cnJl bnRseSwgdGhlICBpc3N1ZSBpcywgcnRlX3NlY3VyaXR5IGRvZXNuJ3QgZGVmaW5lIHRoZSB0cmVh dG1lbnQgZm9yIGZyYWdtZW50ZWQNCj4gcGFja2V0cy4gTWF5YmUgbGV0J3MgZGVmaW5lIGl0IGFu ZCB0aGVuIGEgc2ltaWxhciBDUFUgY3J5cHRvDQo+IHByb2Nlc3NpbmcgY2FuIGJlIGRvbmUgaW5z aWRlIHRoZSBQTUQuIEJ5IGNyZWF0aW5nIGFuIGludGVybmFsDQo+IGZ1bmN0aW9uIGluIFMvVyBQ TURzIGFuZCBjYWxsaW5nIGl0IGZyb20gdGhlIGlubGluZSBjcnlwdG8gZW5hYmxlZCBldGgNCj4g UE1EcywgZnJhZ21lbnRhdGlvbiBzdXBwb3J0IGZvciBpbmxpbmUgY3J5cHRvIGRldmljZXMgY2Fu DQo+IGJlIGFjaGlldmVkLiBUaGlzIHdheSB0aGUgYXBwbGljYXRpb24gd291bGQgbG9vayBjbGVh bi4gQWxsIHRoZQ0KPiBmcmFnbWVudGF0aW9uIHJlbGF0ZWQgY29uZmlndXJhdGlvbiAobm8gb2Yg ZnJhZ21lbnRhdGlvbiBjb250ZXh0cw0KPiBuZWVkZWQsDQo+IHJlYXNzZW1ibHkgdGltZW91dCBl dGMpIG5lZWQgdG8gYmUgYWRkZWQgaW4gcnRlX3NlY3VyaXR5IGxpYnJhcnkgYW5kDQo+IHRoZSBy ZXN1bHQgZm9yIHRoYXQgb3BlcmF0aW9uIHdpbGwgY29tZSBhcyBkeW5hbWljIGZpZWxkcyBpbiB0 aGUgbWJ1Zi4NCj4gDQo+IEp1c3QgbXkgMmMuDQo+IA0KIA0KDQo=