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 D267BA0514; Wed, 15 Jan 2020 19:15:50 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 8B8D41C1E9; Wed, 15 Jan 2020 19:15:50 +0100 (CET) Received: from smartserver.smartsharesystems.com (smartserver.smartsharesystems.com [77.243.40.215]) by dpdk.org (Postfix) with ESMTP id 5531A1C1BD for ; Wed, 15 Jan 2020 19:15:49 +0100 (CET) X-MimeOLE: Produced By Microsoft Exchange V6.5 Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Date: Wed, 15 Jan 2020 19:15:47 +0100 Message-ID: <98CBD80474FA8B44BF855DF32C47DC35C60CF6@smartserver.smartshare.dk> In-Reply-To: X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: [dpdk-dev] [RFC PATCH 0/3] introduce IF proxy library Thread-Index: AdXLvX5KmG7+rQOFStiFhUtM/PT2MQADbdxQ References: <20200114142517.29522-1-aostruszka@marvell.com> <98CBD80474FA8B44BF855DF32C47DC35C60CE0@smartserver.smartshare.dk> <3d3bec6c-723e-0f4e-4b67-d4b9e0ee6902@semihalf.com> <20200115101537.GA1666@bricha3-MOBL.ger.corp.intel.com> <98CBD80474FA8B44BF855DF32C47DC35C60CEC@smartserver.smartshare.dk> <98CBD80474FA8B44BF855DF32C47DC35C60CF3@smartserver.smartshare.dk> From: =?utf-8?B?TW9ydGVuIEJyw7hydXA=?= To: "Jerin Jacob" Cc: "Bruce Richardson" , "Andrzej Ostruszka" , "dpdk-dev" Subject: Re: [dpdk-dev] [RFC PATCH 0/3] introduce IF proxy library 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" PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBkZXYgW21haWx0bzpkZXYtYm91 bmNlc0BkcGRrLm9yZ10gT24gQmVoYWxmIE9mIEplcmluIEphY29iDQo+IFNlbnQ6IFdlZG5lc2Rh eSwgSmFudWFyeSAxNSwgMjAyMCA1OjA0IFBNDQo+IA0KPiBPbiBXZWQsIEphbiAxNSwgMjAyMCBh dCA5OjAwIFBNIE1vcnRlbiBCcsO4cnVwIDxtYkBzbWFydHNoYXJlc3lzdGVtcy5jb20+DQo+IHdy b3RlOg0KPiA+DQo+ID4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ID4gRnJvbTog SmVyaW4gSmFjb2IgW21haWx0bzpqZXJpbmphY29ia0BnbWFpbC5jb21dDQo+ID4gPiBTZW50OiBX ZWRuZXNkYXksIEphbnVhcnkgMTUsIDIwMjAgMTo1NyBQTQ0KPiA+ID4NCj4gPiA+IE9uIFdlZCwg SmFuIDE1LCAyMDIwIGF0IDU6NTggUE0gTW9ydGVuIEJyw7hydXANCj4gPiA+IDxtYkBzbWFydHNo YXJlc3lzdGVtcy5jb20+IHdyb3RlOg0KPiA+ID4gPg0KPiA+ID4gPiA+IC0tLS0tT3JpZ2luYWwg TWVzc2FnZS0tLS0tDQo+ID4gPiA+ID4gRnJvbTogZGV2IFttYWlsdG86ZGV2LWJvdW5jZXNAZHBk ay5vcmddIE9uIEJlaGFsZiBPZiBCcnVjZQ0KPiA+ID4gUmljaGFyZHNvbg0KPiA+ID4gPiA+IFNl bnQ6IFdlZG5lc2RheSwgSmFudWFyeSAxNSwgMjAyMCAxMToxNiBBTQ0KPiA+ID4gPiA+DQo+ID4g PiA+ID4gT24gVHVlLCBKYW4gMTQsIDIwMjAgYXQgMDY6Mzg6MzdQTSArMDEwMCwgQW5kcnplaiBP c3RydXN6a2Egd3JvdGU6DQo+ID4gPiA+ID4gPiBPbiAxLzE0LzIwIDQ6MTYgUE0sIE1vcnRlbiBC csO4cnVwIHdyb3RlOg0KPiA+ID4gPiA+ID4gPiBBbmRyemVqLA0KPiA+ID4gPiA+ID4NCj4gPiA+ ID4gPiA+IEhlbGxvIE1vcnRlbg0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gQmFzaWNhbGx5 IHlvdSBhcmUgYWRkaW5nIGEgdmVyeSBzbWFsbCBzdWJzZXQgb2YgdGhlIExpbnV4IElQDQo+ID4g PiBzdGFjaz4NCj4gPiA+ID4gPiB0byBpbnRlcmZhY2Ugd2l0aCBEUERLIGFwcGxpY2F0aW9ucyB2 aWEgY2FsbGJhY2tzLg0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+IFllcywgYXQgdGhlIG1vbWVu dCB0aGlzIGlzIGxpbWl0ZWQgLSB3ZSdkIHByZWZlciBmaXJzdCB0byBzb2xpY2l0DQo+ID4gPiA+ ID4gPiBzb21lIGlucHV0IGZyb20gY29tbXVuaXR5Lg0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ ID4gVGhlIGxpYnJhcnkgYWxzbyBzZWVtcyB0byBzdXBwb3J0IGludGVyZmFjaW5nIHRvIHRoZSBy b3V0ZQ0KPiA+ID4gdGFibGUsDQo+ID4gPiA+ID4gPiA+IHNvIGl0IGlzIG5vdCAiaW50ZXJmYWNl IHByb3h5IiBidXQgIklQIHN0YWNrIHByb3h5Ii4NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiBU cnVlLCB0byBzb21lIGV4dGVudCAtIGZvciBleGFtcGxlIHlvdSBjYW4gYnJpbmcgdGhlIGludGVy ZmFjZSB1cA0KPiA+ID4gYW5kDQo+ID4gPiA+ID4gPiBkb3duIHdoaWNoIGhhcyBub3RoaW5nIHRv IGRvIHdpdGggSVAgc3RhY2suICBBcyBmb3IgdGhlIG5hbWUgb2YNCj4gPiA+IHRoZQ0KPiA+ID4g PiA+ID4gbGlicmFyeSAtIHRoYXQgaXMgYWN0dWFsbHkgcGFydCB3aGVyZSB3ZSBhcmUgY29tcGxl dGVseSBvcGVuLg0KPiA+ID4gVGhlDQo+ID4gPiA+ID4gcHJveHkNCj4gPiA+ID4gPiA+IHJlcHJl c2VudHMgcG9ydCAodGh1cyB0aGUgbmFtZSkgYnV0IHRoYXQgaXMgbm90IGFsbCwgc28gYW55DQo+ ID4gPiBiZXR0ZXINCj4gPiA+ID4gPiBuYW1lDQo+ID4gPiA+ID4gPiBwcm9wb3NhbHMgYXJlIHdl bGNvbWUuDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiBZb3UgYWxyZWFkeSBtZW50aW9uIEFS UCB0YWJsZSBhcyBmdXR1cmUgd29yay4gSG93IGFib3V0DQo+ID4gPiBuYW1lc3BhY2VzLA0KPiA+ ID4gPiA+ID4gPiBpcCB0YWJsZXMsIGFuZCBvdGhlciBhZHZhbmNlZCBmZWF0dXJlcy4uLiBJIGZv cmVzZWUgdGhlIERldmlsDQo+ID4gPiBpbg0KPiA+ID4gPiA+IHRoZQ0KPiA+ID4gPiA+ID4gPiBk ZXRhaWxzIGZvciBhbnkgcmVhbCB1c2UgY2FzZS4NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiBS aWdodCBub3cgSSBkb24ndCBrbm93IHdoYXQgb3RoZXIgdGhpbmdzIGFyZSBuZWVkZWQuICBUaGlz IGlkZWENCj4gPiA+IGlzDQo+ID4gPiA+ID4gc3RpbGwNCj4gPiA+ID4gPiA+IGVhcmx5LiAgSG93 ZXZlciBpbWFnaW5lIHlvdSdkIGxpa2UgdG8gdXNlIERQREsgdG8gc3BlZWQgdXAgcGFja2V0DQo+ ID4gPiA+ID4gPiBwcm9jZXNzaW5nIG9mIElQIHN0YWNrIC0gd291bGQgeW91IGxpa2UgdG8gaW1w bGVtZW50IGFsbCB0aGUNCj4gPiA+ID4gPiBwcm90b2NvbHMNCj4gPiA+ID4gPiA+IHRoYXQgYXJl IG5lZWRlZD8gIE9yIGp1c3QgbGV0IHRoZSBzeXN0ZW0gaGFuZGxlIHRoZSBjb250cm9sIHBhdGgN Cj4gPiA+IGFuZA0KPiA+ID4gPiA+ID4gaGFuZGxlIHRoZSBkYXRhIHBhdGggYW5kIHNuaWZmIHRo ZSBjb250cm9sIHBhcmFtcyBmcm9tIHRoZQ0KPiA+ID4gc3lzdGVtLg0KPiA+ID4gPiA+ID4NCj4g PiA+ID4gPiBMaWtlIE1vcnRlbiwgSSdkIGJlIGEgYml0IGNvbmNlcm5lZCBhdCB0aGUgcG9zc2li bGUgc2NvcGUgb2YgdGhlDQo+ID4gPiB3b3JrDQo+ID4gPiA+ID4gaWYgd2UNCj4gPiA+ID4gPiBz dGFydCBwdWxsaW5nIGluIGZ1bmN0aW9uYWxpdHkgZnJvbSB0aGUgSVAgc3RhY2sgbGlrZSBBUlAg ZXRjLiBUbw0KPiA+ID4gYXZvaWQNCj4gPiA+ID4gPiB0aGlzIGJlY29taW5nIGEgbWFzc2l2ZSBl ZmZvcnQsIGhvdyB1c2VmdWwgd291bGQgaXQgYmUgaWYgd2UganVzdA0KPiA+ID4gPiA+IGxpbWl0 ZWQNCj4gPiA+ID4gPiB0aGUgc2NvcGUgdG8gcGh5c2ljYWwgTklDIHNldHVwIG9ubHksIGFuZCBk aWQgbm90IGRvIGFueXRoaW5nIGFib3ZlDQo+ID4gPiB0aGUNCj4gPiA+ID4gPiBsMg0KPiA+ID4g PiA+IGxheWVyPw0KPiA+ID4gPg0KPiA+ID4gPiBUaGluayBhYm91dCBpdC4uLiBSZWdhcmRsZXNz IG9mIHNjb3BlLCB0aGlzIGlzIGNsZWFybHkgYSBjb250cm9sDQo+ID4gPiBwbGFuZSBBUEksIG5v dCBhIGRhdGEgcGxhbmUgQVBJLg0KPiA+ID4gPg0KPiA+ID4gPiBJdCBwcm92aWRlcyBhIHByb3h5 IEFQSSBmb3IgdGhlIE8vUyBjb250cm9sIHBsYW5lIChORVRMSU5LIGluIHRoZQ0KPiA+ID4gY2Fz ZSBvZiBMaW51eCksIHNvIHRoZSBEUERLIGFwcGxpY2F0aW9uIGNhbiB1c2UgdGhlIHVzZXIgaW50 ZXJmYWNlIHRoYXQNCj4gPiA+IHRoZSBPL1MgYWxyZWFkeSBwcm92aWRlcyAoZS5nLiAiaXAgbGlu ayBzZXQgZGV2IHRhcDEgbXR1IDE2MDAiIGV0Yy4pDQo+ID4gPiBmb3IgaXRzIGNvbnRyb2wgcGxh bmUsIGluc3RlYWQgb2YgaW1wbGVtZW50aW5nIGl0cyBvd24gQ0xJIChvciBHVUkgb3INCj4gPiA+ IHdoYXRldmVyKS4NCj4gPiA+DQo+ID4gPiBZZXMuDQo+ID4gPg0KPiA+ID4gPg0KPiA+ID4gPiBJ biBvcmRlciB0byBwcm92aWRlIHNpZ25pZmljYW50IHZhbHVlLCBpdCB3aWxsIGhhdmUgdG8gZ3Jv dw0KPiA+ID4gbWFzc2l2ZWx5LCBzbyBJIGNhbiB1c2UgaXQgYXMgaW1hZ2luZWQ6IFRvIG1ha2Ug YSBMaW51eCBmaXJld2FsbCB3aGVyZQ0KPiA+ID4gdGhlIERQREsgYXBwbGljYXRpb24gaGFuZGxl cyB0aGUgZGF0YSBwbGFuZSwgYW5kIHRoZSBub3JtYWwgTGludXgNCj4gPiA+IGNvbW1hbmRzIGFy ZSB1c2VkIGZvciBzZXR0aW5nIHVwIHRoZSBmaXJld2FsbCwgaW5jbC4gZmlyZXdhbGwgcnVsZXMs DQo+ID4gPiBwb3J0IGZvcndhcmRpbmcsIE5BUFQsIGV0Yy4uIFRoZSBEZXZpbCBpcyBpbiB0aGUg ZGV0YWlscyBoZXJlIQ0KPiA+ID4NCj4gPiA+IFllcy4NCj4gPiA+IEFub3RoZXIgdXNlIGNhc2Ug d291bGQgYmUgdG8gaGFuZGxlIGV4Y2VwdGlvbiB3aGVyZSBEUERLIG1heSBub3QNCj4gPiA+IGhh bmRsZSBhbGwgdGhlIHRyYWZmaWMsIFRyYWZmaWMgc3VjaCBBUlAgY2FuIGJlIHJlZGlyZWN0ZWQg dG8gT1MuIFRoaXMNCj4gPiA+IHdvdWxkIGVuYWJsZSBEUCB0byBmb2N1cyBvbiB0aGUgcmVhbCBm YXN0IHBhdGggcHJvdG9jb2xzIHN1Y2ggYXMgSVB2NCwNCj4gPiA+IFVEUCBldGMuDQo+ID4gPg0K PiA+DQo+ID4gVGhlc2UgYXJlIHVzZSBjYXNlcyBmb3IgRFBESyBiZWluZyB1c2VkIGluIGFuIGVu dmlyb25tZW50IHdoZXJlIHRoZSBJUA0KPiBzdGFjayBmZWF0dXJlcyBwcm92aWRlZCBieSBMaW51 eCBzdWZmaWNlcy4gSXQgd291bGQgYmUgZ3JlYXQgZm9yIGEgc2ltcGxlDQo+IENQRSBvciBXaS1G aSByb3V0ZXIsIGUuZy4gT3BlbldSVCB3aXRoIGEgRFBESyBkYXRhIHBsYW5lIHJlcGxhY2luZyB0 aGUNCj4gTGludXgga2VybmVsJ3MgZGF0YSBwbGFuZS4NCj4gDQo+IElNTywgaXQgbm90IHJlcGxh Y2luZyB0aGUgTGludXggSVAgc3RhY2ssIGluc3RlYWQsIHVzaW5nIHRoZSBzbG93IHBhdGgNCj4g c2VydmljZXMgZnJvbSBMaW51eCBvciBhbnkgT1MuIFRoZSB1c2UgY2FzZSB3b3VsZCB2YXJ5IGZy b20gc2ltcGxlDQo+IFdpRkkgcm91dGVyIHRvIDVHIHRyYW5zcG9ydCBzdGFjay4NCg0KSSBvbmx5 IG1lbnRpb25lZCB0aGUgc3BlY2lhbCBjYXNlIHdoZXJlIGEgRFBESyBhcHBsaWNhdGlvbiB1c2Vz IHRoZSBMaW51eCBzbG93IHBhdGggc2VydmljZXMgKHRob3VnaCB5b3VyIHByb3h5IEFQSSkgYW5k IHRoZSBEUERLIGFwcGxpY2F0aW9uIGhhbmRsZXMgdGhlIGRhdGEgcGxhbmUgaW5zdGVhZCBvZiB0 aGUgcGFja2V0cyBiZWluZyBoYW5kbGVkIGJ5IHRoZSBMaW51eCBrZXJuZWwncyBkYXRhIHBsYW5l LiBCdXQgSSBhZ3JlZSwgdGhlIGNvbmNlcHQgaXMgYnJvYWRlciB0aGFuIHRoYXQuDQoNCj4gDQo+ ID4NCj4gPiBGb3IgdGhpcyB1c2UgY2FzZSwgSSB0aGluayBhbiBleGFtcGxlIGFwcGxpY2F0aW9u IHdvdWxkIGJlIGEgbXVjaCBtb3JlDQo+IHVzZWZ1bCB3YXkgdG8gYWNoaWV2ZSB5b3VyIGdvYWwu IEltcGxlbWVudGluZyBpdCBhcyBhbiBhcHBsaWNhdGlvbiB3aWxsDQo+IGFsc28gdW5jb3ZlciB3 aGF0IGlzIHJlYWxseSBuZWVkZWQsIGluc3RlYWQgb2YgdXMgYWxsIHNwZWN1bGF0aW5nIGFib3V0 DQo+IHdoYXQgYSBwcm94eSBsaWJyYXJ5IG1pZ2h0IG5lZWQgdG8gaW5jbHVkZS4NCj4gPg0KPiA+ IEJ1dCBjb25zaWRlciBhbiBhZHZhbmNlZCByb3V0ZXIgd2l0aCBWUkZzLCBWTEFOcywgcG9saWN5 IGJhc2VkIHJvdXRpbmcsDQo+IG11bHRpcGxlIFdBTnMgcHJvdmlkZWQgdGhyb3VnaCBuZXR3b3Jr IG5hbWVzcGFjZXMuLi4gdGhlIGxpYnJhcnkgd2lsbCBiZQ0KPiBodWdlIQ0KPiANCj4gV2UgdGhv dWdodCBvZiBhZGRpbmcgdGhlIGluZnJhc3RydWN0dXJlIGFuZCB0aGUgbmVlZCBwZXIgYmFzaWNz LCB3ZQ0KPiBjYW4gc2NhbGUgaXQgdXAuIFRoZXJlIGlzIG5vIHN1Y2ggaW5mcmFzdHJ1Y3R1cmUg bm93IHdpdGggRFBESy4NCj4gQXQgbGVhc3QgaWYgc29tZW9uZSB3aXNoZXMgdG8gY29udHJpYnV0 ZSB0byB0aGlzIHRoZXNlIGFyZWEgdGhlbiB0aGVyZQ0KPiBzaG91bGQgYmUgdGhlIHBhdGggdG8g aW1wcm92ZSB0aGluZ3Mgd3J0IGN1cnJlbnQgc2l0dWF0aW9uLg0KPiANCj4gPg0KPiA+ID4gPg0K PiA+ID4gPiBBbHRob3VnaCBJIGxpa2UgdGhlIGNvbmNlcHQgYW5kIGlkZWEgYmVoaW5kIGl0LCBJ IGRvbid0IHRoaW5rIGENCj4gPiA+IGNvbnRyb2wgcGxhbmUgcHJveHkgQVBJIGJlbG9uZ3MgaW4g RFBESy4gQnV0IGl0IGNvdWxkIHBvc3NpYmx5IGJlDQo+ID4gPiBob3N0ZWQgYnkgdGhlIERQREsg cHJvamVjdCBpZiBhcHByb3ZlZCBhcyBzdWNoLg0KPiA+ID4NCj4gPiA+IFdoeT8gcnRlX2Zsb3cs IHJ0ZV90bSBhbGwgY29udHJvbCBwbGFuZSBBUElzIGFuZCBpdCBpcyBwYXJ0IG9mDQo+ID4gPiBE UERLLg0KPiA+DQo+ID4gWWVzLCB0aGVyZSBhcmUgc29tZSBEUERLIGxpYnJhcmllcyBsZWFuaW5n IG1vcmUgdG93YXJkcyBjb250cm9sIHBsYW5lDQo+IHRoYW4gZGF0YSBwbGFuZS4gQW5vdGhlciBl eGFtcGxlIHRvIHByb3ZlIHlvdXIgcG9pbnQ6IFRoZSB3aG9sZSBwcm9jZXNzDQo+IHNjaGVkdWxp bmcgbGlicmFyeSBoYXMgdmVyeSBsaXR0bGUgdG8gZG8gd2l0aCBwYWNrZXQgcHJvY2Vzc2luZy4g VmFndWVseQ0KPiByZWxhdGVkIGZlYXR1cmVzIGFyZSBjcmVlcGluZyBpbiB3aGVuIG9iamVjdGlv bnMgYXJlIG5vdCBzdHJvbmcgZW5vdWdoLg0KPiANCj4gWWVzLiBUaGF0J3MgdGhlIHJlYXNvbiBm b3IgdGhlIGNvbnRyb2wgcGF0aCB2cyBkYXRhIHBhdGggYXJndW1lbnQgdGhhdA0KPiBkb2Vzbid0 IGhhdmUgYW55IHZhbHVlLg0KPiBJZiBpdCBpcyB1c2VmdWwgZm9yIHBhY2tldCBwcm9jZXNzaW5n IHVzZSBjYXNlcyB0aGVuIGhhdmUgaXQuDQo+IA0KPiA+DQo+ID4gPiBJTU8sIGluIG9yZGVyIHRv IGhhdmUgZWZmZWN0aXZlIHVzZSBvZiBkYXRhIHBsYW5lLCB0aGUgY29udHJvbA0KPiA+ID4gcGxh bmUgaGFzIHRvIGJlIGludGVncmF0ZWQgdG9nZXRoZXIgaW4gYW4gT1MtaW5kZXBlbmRlbnQgd2F5 Lg0KPiA+ID4NCj4gPg0KPiA+IEFsc28gcmVtZW1iZXIgdGhhdCBub3QgYWxsIERQREsgYXBwbGlj YXRpb25zIG5lZWQgYW4gSVAgc3RhY2sgcmVzZW1ibGluZw0KPiB3aGF0IExpbnV4IGhhcy4gRS5n LiB0aGUgU21hcnRTaGFyZSBTdHJhaWdodFNoYXBlciBpcyBhIHRyYW5zcGFyZW50DQo+IGJhbmR3 aWR0aCBvcHRpbWl6YXRpb24gYXBwbGlhbmNlLCBhbmQgaXQgZG9lc24ndCBwZXJmb3JtIGFueSBy b3V0aW5nLCBpdA0KPiBkb2Vzbid0IHVzZSBhbnkgTy9TLWxpa2UgZmVhdHVyZXMgaW4gdGhlIGRh dGEgcGF0aCwgYW5kIHRodXMgaXQgZG9lc24ndA0KPiBuZWVkIHRvIGludGVncmF0ZSB3aXRoIHRo ZSBJUCBzdGFjayBpbiB0aGUgTy9TLiAoVGhlIG1hbmFnZW1lbnQgaW50ZXJmYWNlDQo+IHVzZXMg dGhlIExpbnV4IElQIHN0YWNrLCBidXQgaXQgaXMgY29tcGxldGVseSBpc29sYXRlZCBmcm9tIHRo ZSBEUERLDQo+IGFwcGxpY2F0aW9uJ3MgZGF0YSBwbGFuZS4pIFRoZSBzYW1lIGNhbiBiZSBzYWlk IGFib3V0IGUuZy4gVC1SZXguDQo+ID4NCj4gPiBPYnZpb3VzbHksIG5vdCBhbGwgRFBESyBhcHBs aWNhdGlvbnMgdXNlIGFsbCBEUERLIGxpYnJhcmllcywgYW5kIHNpbmNlDQo+IEknbSBub3Qgb2Js aWdhdGVkIHRvIHVzZSBpdCwgSSdtIG5vdCBzdHJvbmdseSBvcHBvc2VkIGFnYWluc3QgaXQuIEkg b25seQ0KPiBxdWVzdGlvbiBpdHMgdXNlZnVsbmVzcyBvdXRzaWRlIG9mIHRoZSBzcGVjaWZpYyB1 c2UgY2FzZSBvZiByZXBsYWNpbmcgdGhlDQo+IGZhc3QgcGF0aCBpbiB0aGUgTGludXgga2VybmVs Lg0KPiANCj4gT2YgY291cnNlLCBXZSBzdGlsbCBmb2xsb3cgdGhlICLDgCBsYSBjYXJ0ZSIgbW9k ZWwsIHdoZXJlIHdlIGFyZSBub3QNCj4gZm9yY2luZyB0byB1c2UgdGhlIGxpYnJhcnkgaW4gdGhl IGVuZC11c2VyIGFwcGxpY2F0aW9uLiBZb3UgY2FuIGFsd2F5cw0KPiB1c2Ugd2hhdGV2ZXIgY29u dHJvbCBwYXRoIHRoYXQgbWFrZXMgc2Vuc2Ugd2l0aCB0aGUgZW5kLXVzZXINCj4gYXBwbGljYXRp b25zLg0KPiBCdXQgaWYgc29tZSBhcHBsaWNhdGlvbiB3YW50cyB0byB3cml0ZSBjb250cm9sIHBs YW5lIFNXIHRoYXQgbmVlZHMgdG8NCj4gd29yayBMaW51eC9GcmVlQlNEL1dpbmRvd3Mgb3Igb3Ro ZXIgUlRPUyB0aGVuIGl0IGNhbiBiZSB1c2VkIChBZ2FpbiBpZg0KPiBzb21lb25lIHdpc2hlcyB0 byBkbyBzbykuDQo+IFdlIGNhbiBhbHNvIHByb3ZpZGUgdGhlIG1lYW5zIGZvciBOT1Bpbmcgb3V0 IHRoZSBjYWxsYmFja3Mgb3Igb3ZlcnJpZGUNCj4gd2l0aCBzb21ldGhpbmcgaXQgaXMgdGhlIHNw ZWNpZmljIGVuZC11c2VyIGxpYnJhcnkgYXMgd2VsbCwgc28gdGhhdA0KPiBjb21wbGV0ZSBmbGV4 aWJseSB3aWxsIGJlIHN0aWxsIHdpdGggdGhlIGFwcGxpY2F0aW9uIHdydCB0aGUgdXNhZ2UuDQo+ IA0KDQpPSywgeW91IGNvbnZpbmNlZCBtZSB0aGF0IGEgZ2VuZXJhbCBBUEkgZm9yIGludGVyZmFj aW5nIHRvIHRoZSBPL1MgY29udHJvbCBwbGFuZSBtaWdodCBiZSB1c2VmdWwuIFNvIGxldCBtZSBz d2l0Y2ggZnJvbSBhcmd1aW5nIGFnYWluc3QgaXQgdG8gcHJvdmlkaW5nIHNvbWUgY29uc3RydWN0 aXZlIGZlZWRiYWNrOg0KDQpZb3Ugc2hvdWxkIGNvbnNpZGVyIHRoYXQgbW9zdCBEUERLIEFQSXMg YXJlIG5vdCB0aHJlYWQgc2FmZSwgbWVhbmluZyB0aGF0IHRoZWlyIGludGVybmFsIHN0cnVjdHVy ZXMgY2Fubm90IGJlIG1hbmlwdWxhdGVkL3JlY29uZmlndXJlZCBieSBhIGNvbnRyb2wgcGxhbmUg dGhyZWFkIHdoaWxlIGRhdGEgcGxhbmUgdGhyZWFkcyBhcmUgYWNjZXNzaW5nIHRoZW0uIEUuZy4g YSByb3V0ZSBjYW5ub3QgYmUgYWRkZWQgaW4gdGhlIERQREsgcm91dGUgbGlicmFyeSB3aGlsZSBp dCBpcyBhbHNvIGJlaW5nIHVzZWQgYnkgZm9yIGxvb2t1cHMgYnkgYSBEUERLIGRhdGEgcGxhbmUg dGhyZWFkLiBUaGUgc2FtZSBnb2VzIGZvciB0aGUgaGFzaCB0YWJsZSBsaWJyYXJ5LiBUaGlzIG1l YW5zIHRoYXQgY2FsbGJhY2tzIGFyZSBwcm9iYWJseSBub3QgdGhlIHJpZ2h0IGRlc2lnbiBwYXR0 ZXJuLg0KDQpBRkFJSywgdGhlIERQREsgZG9jdW1lbnRhdGlvbiBkb2Vzbid0IG1lbnRpb24gYW55 ICJiZXN0IHByYWN0aWNlcyIgZm9yIGludGVyYWN0aW9uIGJldHdlZW4gdGhlIGNvbnRyb2wgcGxh bmUgYW5kIGRhdGEgcGxhbnMgdGhyZWFkcywgc28gSSB1bmRlcnN0YW5kIHdoeSB5b3UgY2hvc2Ug YSBkZXNpZ24gcGF0dGVybiBzaW1pbGFyIHRvIHRoZSBOSUMgTGluayBTdGF0dXMgQ2hhbmdlIGlu dGVycnVwdCBkZXNpZ24gcGF0dGVybi4NCg0KRnVydGhlcm1vcmUsIEkgaGF2ZSBub3cgc2tpbW1l ZCB0aGUgb3RoZXIgcGFydHMgb2YgeW91ciBwYXRjaCBzZXQuIElmIEkgZ290IGl0IHJpZ2h0LCBp dCBsb29rcyBsaWtlIHRoZXJlJ3MgYSBsaW1pdCBvZiA2NCBjYWxsYmFja3M7IHRoaXMgd2lsbCBw cm9iYWJseSBub3Qgc3VmZmljZSBpbiB0aGUgbG9uZyBydW4uDQoNCkFuZCBvbiB0aGUgYWRtaW5p c3RyYXRpdmUgc2lkZSwgSSBhc3N1bWUgb25lIG9mIHlvdSBndXlzIHdpbGwgdm9sdW50ZWVyIGFz IHRoZSBtYWludGFpbmVyIG9mIHRoaXMgbGlicmFyeT8NCg0KLU1vcnRlbg0K