From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by dpdk.org (Postfix) with ESMTP id 836BA271 for ; Fri, 15 Dec 2017 18:40:54 +0100 (CET) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga101.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 15 Dec 2017 09:40:52 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.45,406,1508828400"; d="scan'208";a="18580256" Received: from irsmsx109.ger.corp.intel.com ([163.33.3.23]) by orsmga002.jf.intel.com with ESMTP; 15 Dec 2017 09:40:51 -0800 Received: from irsmsx101.ger.corp.intel.com ([169.254.1.22]) by IRSMSX109.ger.corp.intel.com ([169.254.13.28]) with mapi id 14.03.0319.002; Fri, 15 Dec 2017 17:40:50 +0000 From: "Trahe, Fiona" To: "Verma, Shally" , "dev@dpdk.org" CC: "Athreya, Narayana Prasad" , "Challa, Mahipal" , "De Lara Guarch, Pablo" , "Gupta, Ashish" , "Sahu, Sunila" , "Trahe, Fiona" , "Jain, Deepak K" Thread-Topic: [RFC v1] doc compression API for DPDK Thread-Index: AdNpzBSo1ZjDhxTcR46UpkXBh0QrkQAB3v7wAVBbZeABq+2EcA== Date: Fri, 15 Dec 2017 17:40:49 +0000 Message-ID: <348A99DA5F5B7549AA880327E580B435892D5308@IRSMSX101.ger.corp.intel.com> References: <348A99DA5F5B7549AA880327E580B435892CB667@IRSMSX101.ger.corp.intel.com> In-Reply-To: Accept-Language: en-IE, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiNzBjYTA4NjctZDNlMS00MDVmLWJkYWItNGVmNWM3ODJjMzVlIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX0lDIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE2LjUuOS4zIiwiVHJ1c3RlZExhYmVsSGFzaCI6InkrNkhvaGFXOFVPM2FcL2dpTzIzZnAxcDE0S0t5MWd6aGFMb2N2TEEzb2tZPSJ9 x-ctpclassification: CTP_IC dlp-product: dlpe-windows dlp-version: 11.0.0.116 dlp-reaction: no-action x-originating-ip: [163.33.239.182] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 Subject: Re: [dpdk-dev] [RFC v1] doc compression API for DPDK 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: , X-List-Received-Date: Fri, 15 Dec 2017 17:40:55 -0000 SGkgU2hhbGx5LA0KDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogVmVy bWEsIFNoYWxseSBbbWFpbHRvOlNoYWxseS5WZXJtYUBjYXZpdW0uY29tXQ0KPiBTZW50OiBUaHVy c2RheSwgRGVjZW1iZXIgNywgMjAxNyA1OjQzIEFNDQo+IFRvOiBUcmFoZSwgRmlvbmEgPGZpb25h LnRyYWhlQGludGVsLmNvbT47IGRldkBkcGRrLm9yZw0KPiBDYzogQXRocmV5YSwgTmFyYXlhbmEg UHJhc2FkIDxOYXJheWFuYVByYXNhZC5BdGhyZXlhQGNhdml1bS5jb20+OyBDaGFsbGEsIE1haGlw YWwNCj4gPE1haGlwYWwuQ2hhbGxhQGNhdml1bS5jb20+OyBEZSBMYXJhIEd1YXJjaCwgUGFibG8g PHBhYmxvLmRlLmxhcmEuZ3VhcmNoQGludGVsLmNvbT47IEd1cHRhLCBBc2hpc2gNCj4gPEFzaGlz aC5HdXB0YUBjYXZpdW0uY29tPjsgU2FodSwgU3VuaWxhIDxTdW5pbGEuU2FodUBjYXZpdW0uY29t Pg0KPiBTdWJqZWN0OiBSRTogW1JGQyB2MV0gZG9jIGNvbXByZXNzaW9uIEFQSSBmb3IgRFBESw0K DQovL3NuaXAuLi4uDQoNCj4gPiA+ID4gPiBQbGVhc2Ugbm90ZSBhbnkgdGltZSBvdXRwdXQgYnVm ZmVyIHJhbiBvdXQgb2Ygc3BhY2UgZHVyaW5nIHdyaXRlIHRoZW4NCj4gPiA+ID4gb3BlcmF0aW9u IHdpbGwgdHVybiDigJxTdGF0ZWZ1bOKAnS7CoCBTZWUNCj4gPiA+ID4gPiBtb3JlIG9uIFN0YXRl ZnVsIHVuZGVyIHJlc3BlY3RpdmUgc2VjdGlvbi4NCj4gPiA+ID4gW0Zpb25hXSBMZXQncyBjb21l IGJhY2sgdG8gdGhpcyBsYXRlci4gQW4gYWx0ZXJuYXRpdmUgaXMgdGhhdA0KPiA+IE9VVF9PRl9T UEFDRSBpcw0KPiA+ID4gPiByZXR1cm5lZCBhbmQgdGhlICBhcHBsaWNhdGlvbg0KPiA+ID4gPiBt dXN0IHRyZWF0IGFzIGEgZmFpbCBhbmQgcmVzdWJtaXQgdGhlIG9wZXJhdGlvbiB3aXRoIGEgbGFy Z2VyIGRlc3RpbmF0aW9uDQo+ID4gPiA+IGJ1ZmZlci4NCj4gPiA+DQo+ID4gPiBbU2hhbGx5XSBU aGVuIEkgcHJvcG9zZSB0byBhZGQgYSBmZWF0dXJlIGZsYWcNCj4gPiAiRkZfU1VQUE9SVF9PVVRf T0ZfU1BBQ0UiIHBlciB4Zm9ybSB0eXBlIGZvciBmbGV4aWJsZQ0KPiA+ID4gUE1EIGRlc2lnbi4N Cj4gPiA+IEFzIHRoZXJlJ3JlIGRldmljZXMgd2hpY2ggdHJlYXQgaXQgYXMgZXJyb3Igb24gY29t cHJlc3Npb24gYnV0IG5vdCBvbg0KPiA+IGRlY29tcHJlc3Npb24uDQo+ID4gPiBJZiBpdCBpcyBu b3Qgc3VwcG9ydGVkLCB0aGVuIGl0IHNob3VsZCBiZSB0cmVhdGVkIGFzIGZhaWx1cmUgY29uZGl0 aW9uIGFuZCBhcHANCj4gPiBjYW4gcmVzdWJtaXQgb3BlcmF0aW9uLg0KPiA+ID4gaWYgc3VwcG9y dGVkLCBiZWhhdmlvdXIgKlRvLWJlLURlZmluZWQqIHVuZGVyIHN0YXRlZnVsLg0KPiA+IFtGaW9u YV0gQ2FuIHlvdSBleHBsYWluICd0dXJuIHN0YXRlZnVsJyBzb21lIG1vcmU/DQo+ID4gSWYgY29t cHJlc3NvciBydW5zIG91dCBvZiBzcGFjZSBkdXJpbmcgc3RhdGVsZXNzIG9wZXJhdGlvbiwgZWl0 aGVyIGNvbXAgb3INCj4gPiBkZWNvbXAsIGFuZCB0dXJucyBzdGF0ZWZ1bCwgaG93IHdvdWxkIHRo ZSBhcHAga25vdz8gQW5kIHdoYXQgd291bGQgYmUgaW4NCj4gPiBzdGF0dXMsIGNvbnN1bWVkIGFu ZCBwcm9kdWNlZD8NCj4gPiBDb3VsZCBpdCByZXR1cm4gT1VUX09GX1NQQUNFLCBhbmQgaWYgYm90 aCBjb25zdW1lZCBhbmQgcHJvZHVjZWQgPT0gMA0KPiANCj4gW1NoYWxseV0gSWYgY29uc3VtZWQg PSBwcm9kdWNlZCA9PSAwLCB0aGVuIGl0J3Mgbm90IE9VVF9PRl9TUEFDRSBjb25kaXRpb24uDQo+ IA0KPiA+IHRoZW4gdGhlIHdob2xlIG9wIG11c3QgYmUgcmVzdWJtaXR0ZWQgd2l0aCBhIGJpZ2dl ciBvdXRwdXQgYnVmZmVyLiBCdXQgaWYNCj4gPiBjb25zdW1lZCBhbmQgcHJvZHVjZWQgPiAwIHRo ZW4gYXBwIGNvdWxkIHRha2UgdGhlIG91dHB1dCBhbmQgc3VibWl0IG5leHQNCj4gPiBvcA0KPiA+ IGNvbnRpbnVpbmcgZnJvbSBjb25zdW1lZCsxLg0KPiA+DQo+IA0KPiBbU2hhbGx5XSBjb25zdW1l ZCBhbmQgcHJvZHVjZWQgd2lsbCAqYWx3YXlzKiBiZSA+IDAgaW4gY2FzZSBvZiBPVVRfT0ZfU1BB Q0UuDQo+IE9VVF9PRl9TUEFDRSBtZWFucyBvdXRwdXQgYnVmZmVyIGV4aGF1c3RlZCB3aGlsZSB3 cml0aW5nIGRhdGEgaW50byBpdCBhbmQgUE1EIG1heSBoYXZlIG1vcmUgdG8NCj4gd3JpdGUgdG8g aXQuIFNvIGluIHN1Y2ggY2FzZSwgUE1EIHNob3VsZCBzZXQNCj4gUHJvZHVjZWQgPSBjb21wbGV0 ZSBsZW5ndGggb2Ygb3V0cHV0IGJ1ZmZlcg0KPiBTdGF0dXMgPSBPVVRfT0ZfU1BBQ0UNCj4gY29u c3VtZSwgZm9sbG93aW5nIHBvc3NpYmlsaXRpZXMgaGVyZToNCj4gMS4gY29uc3VtZWQgPSBjb21w bGV0ZSBsZW5ndGggb2Ygc3JjIG1idWYgbWVhbnMgUE1EIGhhcyByZWFkIGZ1bGwgaW5wdXQsIE9S DQo+IDIuIGNvbnN1bWVkID0gcGFydGlhbCBsZW5ndGggb2Ygc3JjIG1idWYgbWVhbnMgUE1EIGhh cyByZWFkIHBhcnRpYWwgaW5wdXQNCj4gDQo+IE9uIHNlZWluZyB0aGlzIHN0YXR1cywgYXBwIHNo b3VsZCBjb25zdW1lIG91dHB1dCBhbmQgcmUtZW5xdWV1ZSBzYW1lIG9wIHdpdGggZW1wdHkgb3V0 cHV0IGJ1ZmZlciBhbmQNCj4gc3JjID0gY29uc3VtZWQrMS4NCltGaW9uYV0gQXMgdGhpcyB3YXMg YSBzdGF0ZWxlc3Mgb3AsIHRoZSBQTUQgY2Fubm90IGJlIGV4cGVjdGVkIHRvIGhhdmUgc3RvcmVk IHRoZSBoaXN0b3J5IGFuZCBzdGF0ZSBhbmQgc28NCmNhbm5vdCBiZSBleHBlY3RlZCB0byBjb250 aW51ZSBmcm9tIGNvbnN1bWVkKzEuIFRoaXMgd291bGQgYmUgc3RhdGVmdWwgYmVoYXZpb3VyLiAN CkJ1dCBpdCBzZWVtcyB5b3UgYXJlIHNheWluZyB0aGF0IGV2ZW4gb24gaW4gdGhpcyBzdGF0ZWxl c3MgY2FzZSB5b3UnZCBsaWtlIHRoZSBQTURzIHdobyBjYW4gc3RvcmUgc3RhdGUgDQp0byBoYXZl IHRoZSBvcHRpb24gb2YgY29udmVydGluZyB0byBzdGF0ZWZ1bC4gU28NCmEgUE1EIHdoaWNoIGNh biBzdXBwb3J0IHRoaXMgY291bGQgcmV0dXJuIE9VVF9PRl9TUEFDRSB3aXRoIHByb2R1Y2VkL2Nv bnN1bWVkIGFzIHlvdSBkZXNjcmliZSBhYm92ZS4NCmEgUE1EIHdoaWNoIGNhbid0IHN1cHBvcnQg aXQgc2hvdWxkIHJldHVybiBhbiBlcnJvci4NClRoZSBhcHBsIGNhbiBjb250aW51ZSBvbiBmcm9t IGNvbnN1bWVkKzEgaW4gdGhlIGZvcm1lciBjYXNlIGFuZCByZXN1Ym1pdCB0aGUgZnVsbCByZXF1 ZXN0DQp3aXRoIGEgYmlnZ2VyIGJ1ZmZlciBpbiB0aGUgbGF0dGVyIGNhc2UuDQpJcyB0aGlzIHRo ZSBiZWhhdmlvdXIgeW91J3JlIGxvb2tpbmcgZm9yPw0KSWYgc28gdGhlIGVycm9yIGNvdWxkIGJl IHNvbWV0aGluZyBsaWtlIE5FRURfQklHR0VSX0RTVF9CVUY/DQpIb3dldmVyLCB3b3VsZG4ndCBP VVRfT0ZfU1BBQ0Ugd2l0aCBwcm9kdWNlZD1jb25zdW1lZD0wIGNvbnZleSB0aGUgc2FtZSBpbmZv cm1hdGlvbiBvbiB0aGUgQVBJPw0KSXQgbWF5IGNvcnJlc3BvbmQgdG8gYW4gZXJyb3Igb24gdGhl IHVuZGVybHlpbmcgUE1ELCBidXQgd291bGQgaXQgYmUgc2ltcGxlciBvbiB0aGUgY29tcHJlc3Nk ZXYgQVBJDQogDQoNCj4gUGxlYXNlIG5vdGUgYXMgcGVyIGN1cnJlbnQgcHJvcG9zYWwsIGFwcCBz aG91bGQgY2FsbCBydGVfY29tcGRldl9lbnF1ZXVlX3N0cmVhbSgpIHZlcnNpb24gb2YgQVBJIGlm IGl0DQo+IGRvZXNuJ3Qga25vdyBvdXRwdXQgc2l6ZSBiZWZvcmVoYW5kLg0KW0Zpb25hXSBUcnVl LiBCdXQgYWJvdmUgaXMgb25seSB0cnlpbmcgdG8gZGVzY3JpYmUgYmVoYXZpb3VyIGluIHRoZSBz dGF0ZWxlc3MgZXJyb3IgY2FzZS4NCg0KLy9zbmlwLi4uLi4NCg0KPiA+ID4gPiA+DQo+ID4gPiA+ ID4gRC4yLjEuMiBTdGF0ZWZ1bCBvcGVyYXRpb24gc3RhdGUgbWFpbnRlbmFuY2UNCj4gPiA+ID4g PiDCoC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0NCj4gPiA+ID4gPiBUaGlzIHNlY3Rpb24gc3RhcnRzIHdpdGggZGVzY3JpcHRpb24g b2Ygb3VyIHVuZGVyc3RhbmRpbmcgYWJvdXQNCj4gPiA+ID4gY29tcHJlc3Npb24gQVBJIHN1cHBv cnQgZm9yIHN0YXRlZnVsLg0KPiA+ID4gPiA+IERlcGVuZGluZyB1cG9uIHVuZGVyc3RhbmRpbmcg YnVpbGQgdXBvbiB0aGVzZSBjb25jZXB0cywgd2Ugd2lsbA0KPiA+IGlkZW50aWZ5DQo+ID4gPiA+ IHJlcXVpcmVkIGRhdGEgc3RydWN0dXJlL3BhcmFtDQo+ID4gPiA+ID4gdG8gbWFpbnRhaW4gaW4t cHJvZ3Jlc3Mgb3BlcmF0aW9uIGNvbnRleHQgYnkgUE1ELg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4g Rm9yIHN0YXRlZnVsIGNvbXByZXNzaW9uLCBiYXRjaCBvZiBkZXBlbmRlbnQgcGFja2V0cyBzdGFy dHMgYXQgYSBwYWNrZXQNCj4gPiA+ID4gaGF2aW5nDQo+ID4gPiA+ID4gUlRFX05PX0ZMVVNIL1JU RV9TWU5DX0ZMVVNIIGZsdXNoIHZhbHVlIGFuZCBlbmQgYXQgcGFja2V0IGhhdmluZw0KPiA+ID4g PiBSVEVfRlVMTF9GTFVTSC9GSU5BTF9GTFVTSC4NCj4gPiA+ID4gPiBpLmUuIGFycmF5IG9mIG9w ZXJhdGlvbnMgd2lsbCBjYXJyeSBzdHJ1Y3R1cmUgbGlrZSB0aGlzOg0KPiA+ID4gPiA+DQo+ID4g PiA+ID4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ID4gPiA+ID4gfG9wMS5ub19mbHVz aCB8IG9wMi5ub19mbHVzaCB8IG9wMy5ub19mbHVzaCB8IG9wNC5mdWxsX2ZsdXNofA0KPiA+ID4g PiA+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiA+ID4gPiA+DQo+ID4gW0Zpb25hXSBJ IHRoaW5rIGl0IG5lZWRzIHRvIGJlIG1vcmUgY29uc3RyYWluZWQgdGhhbiB5b3VyIGV4YW1wbGVz IGJlbG93Lg0KPiA+IE9ubHkgMSBvcGVyYXRpb24gZnJvbSBhIHN0cmVhbSBjYW4gYmUgaW4gYSBi dXJzdC4gQXMgZWFjaCBvcGVyYXRpb24NCj4gPiBpbiBhIHN0YXRlZnVsIHN0cmVhbSBtdXN0IGNv bXBsZXRlLCBhcyBuZXh0IG9wZXJhdGlvbiBuZWVkcyBzdGF0ZSBhbmQNCj4gPiBoaXN0b3J5DQo+ ID4gb2YgcHJldmlvdXMgb3BlcmF0aW9uIHRvIGJlIGNvbXBsZXRlIGJlZm9yZSBpdCBjYW4gYmUg cHJvY2Vzc2VkLg0KPiA+IEFuZCBpZiBvbmUgZmFpbGVkLCBlLmcuIGR1ZSB0byBPVVRfT0ZfU1BB Q0UsIHRoaXMgc2hvdWxkIGFmZmVjdA0KPiA+IHRoZSBmb2xsb3dpbmcgb3BlcmF0aW9uIGluIHRo ZSBzYW1lIHN0cmVhbS4NCj4gPiBXb3JzdCBjYXNlIHRoaXMgbWVhbnMgYnVyc3RzIG9mIDEuIEJ1 cnN0IGNhbiBiZSA+MSBpZiB0aGVyZSBhcmUgbXVsdGlwbGUNCj4gPiBpbmRlcGVuZGVudCBzdHJl YW1zIHdpdGggYXZhaWxhYmxlIGRhdGEgZm9yIHByb2Nlc3NpbmcuIE9yIGlmIHRoZXJlIGlzDQo+ ID4gZGF0YSBhdmFpbGFibGUgd2hpY2ggY2FuIGJlIHN0YXRlbGVzc2x5IHByb2Nlc3NlZC4NCj4g Pg0KPiA+IElmIHRoZXJlIGFyZSBtdWx0aXBsZSBidWZmZXJzIGF2YWlsYWJsZSBmcm9tIGEgc3Ry ZWFtICwgdGhlbiBpbnN0ZWFkIHRoZXkgY2FuDQo+ID4gYmUgbGlua2VkIHRvZ2V0aGVyIGluIGFu IG1idWYgY2hhaW4gc2VudCBpbiBhIHNpbmdsZSBvcGVyYXRpb24uDQo+ID4NCj4gPiBUbyBoYW5k bGUgdGhlIHNlcXVlbmNlcyBiZWxvdyB3b3VsZCBtZWFuIHRoZSBQTUQNCj4gPiB3b3VsZCBuZWVk IHRvIHN0b3JlIG9wcyBzZW5kaW5nIG9uZSBhdCBhIHRpbWUgdG8gYmUgcHJvY2Vzc2VkLg0KPiA+ DQo+ID4gQXMgdGhpcyBpcyBzaWduaWZpY2FudGx5IGRpZmZlcmVudCBmcm9tIHdoYXQgeW91IGRl c2NyaWJlIGJlbG93LCBJJ2xsIHdhaXQgZm9yDQo+ID4gZnVydGhlciBmZWVkYmFjaw0KPiA+IGJl Zm9yZSBjb250aW51aW5nLg0KPiANCj4gW1NoYWxseV0gSSBjb25jdXIgd2l0aCB5b3VyIHRob3Vn aHRzLiBBbmQgdGhlc2UncmUgYXJlIG5vdCBzaWduaWZpY2FudGx5IGRpZmZlcmVudCBmcm9tIHRo ZSBjb25jZXB0DQo+IHByZXNlbnRlZCBiZWxvdy4NCj4gDQo+IFllcyBhcyB5b3UgbWVudGlvbmVk LCBldmVuIGZvciBidXJzdF9zaXplPjEgUE1EIHdpbGwgaGF2ZSB0byBzZXJpYWxpemUgZWFjaCBv cCBpbnRlcm5hbGx5IGkuZS4NCj4gSXQgaGFzIHRvIHdhaXQgZm9yIHByZXZpb3VzIHRvIGZpbmlz aCBiZWZvcmUgcHV0dGluZyBuZXh0IGZvciBwcm9jZXNzaW5nIHdoaWNoIGlzDQo+IGFzIGdvb2Qg YXMgYXBwbGljYXRpb24gbWFraW5nIHNlcmlhbGlzZWQgY2FsbCBwYXNzaW5nIG9uZSBvcCBhdC1h LXRpbWUgb3IgaWYNCj4gc3RyZWFtIGNvbnNpc3RzIG9mIG11bHRpcGxlIGJ1ZmZlcnMsIG1ha2lu ZyB0aGVpciBzY2F0dGVyLWdhdGhlciBsaXN0IGFuZA0KPiB0aGVuIGVucXVldWUgaXQgYXMgb25l IG9wIGF0IGEgdGltZSB3aGljaCBpcyBtb3JlIGVmZmljaWVudCBhbmQgaWRlYWwgdXNhZ2UuDQo+ IEhvd2V2ZXIgaW4gb3JkZXIgdG8gYWxsb3cgZXh0ZW5zaWJpbGl0eSwgSSBkaWRuJ3QgbWVudGlv biBsaW1pdGF0aW9uIG9uIGJ1cnN0X3NpemUuDQo+IEJlY2F1c2UgSWYgUE1EIGRvZXNuJ3Qgc3Vw cG9ydCBidXJzdF9zaXplID4gMSBpdCBjYW4gYWx3YXlzIHJldHVybiBuYl9lbnF1ZXVlZCA9IDEs IGluIHdoaWNoIGNhc2UNCj4gYXBwIGNhbiBlbnF1ZXVlIG5leHQgaG93ZXZlciB3aXRoIGNvbmRp dGlvbiBpdCBzaG91bGQgd2FpdCBmb3IgcHJldmlvdXMgdG8gY29tcGxldGUNCj4gYmVmb3JlIG1h a2luZyBuZXh0IGVucXVldWUgY2FsbC4NCj4gDQo+IFNvLCBpZiB3ZSB0YWtlIHNpbXBsZSBleGFt cGxlIHRvIGNvbXByZXNzIDJrIG9mIGRhdGEgd2l0aCBzcmMgbWJ1ZiBzaXplID0gMWsuDQo+IFRo ZW4gd2l0aCBidXJzdF9zaXplPTEsIGV4cGVjdGVkIGNhbGwgZmxvdyB3b3VsZCBiZSh0aGlzIGlz IGp1c3Qgb25lIGZsb3csIG90aGVyIHZhcmlhdGlvbnMgYXJlIGFsc28gcG9zc2libGUNCj4gc3Vj aGFzIG1ha2luZyBjaGFpbiBvZiAxayBidWZmZXJzIGFuZCBwYXNzIHdob2xlIGRhdGEgaW4gb25l IGdvKToNCj4gDQo+IDEuIGZpbGwgMXN0IDFrIGNodW5rIG9mIGRhdGEgaW4gb3AubXNyYw0KPiAy LmVucXVldWVfc3RyZWFtICguLi4sIHxvcC5mbHVzaCA9IG5vX2ZsdXNofCwgMSwgcHRyX3N0cmVh bSk7DQo+IDMuZGVxdWV1ZV9idXJzdCh8b3B8LDEpOw0KPiA0LnJlZmlsbCBuZXh0IDFrIGNodW5r IGluIG9wLm1zcmMNCj4gNS5lbnF1ZXVlX3N0cmVhbSguLi4sfG9wLmZsdXNoID0gZnVsbF9mbHVz aHwsIDEgLCBwdHJfc3RyZWFtKTsNCj4gNi5kZXF1ZXVlX2J1cnN0KHxvcHwsIDEpOw0KPiA3LmVu ZA0KPiANCj4gU28sIEkgZG9u4oCZdCBzZWUgbXVjaCBvZiBhIGNoYW5nZSBpbiBBUEkgY2FsbCBm bG93IGZyb20gaGVyZSB0byBkZXNpZ24gcHJlc2VudGVkIGJlbG93IGV4Y2VwdCBuYl9vcHMgPSAx IGluDQo+IGVhY2ggY2FsbC4NCj4gSG93ZXZlciBJIGFtIGFzc3VtaW5nIHRoYXQgb3Agc3RydWN0 dXJlIHdvdWxkIHN0aWxsIGJlIHNhbWUgZm9yIHN0YXRlZnVsIHByb2Nlc3NpbmcgaS5lLiBpdCB3 b3VsZCBzdGFydCB3aXRoDQo+IG9wLmZsdXNoIHZhbHVlID0gTk8vU1lOQ19GTFVTSCBhbmQgZW5k IGF0IG9wIHdpdGggZmx1c2ggdmFsdWUgPSBGVUxMIEZMVVNILg0KPiBBcmUgd2Ugb24gc2FtZSBw YWdlIGhlcmU/DQo+IA0KPiBUaGFua3MNCj4gU2hhbGx5DQoNCltGaW9uYV0gV2Ugc3RpbGwgaGF2 ZSBhIGRpZmZlcmVudCB1bmRlcnN0YW5kaW5nIG9mIHRoZSBzdGF0ZWZ1bCBmbG93IG5lZWRlZCBv biB0aGUgQVBJLg0KSeKAmWxsIHRyeSB0byBjbGFyaWZ5IGFuZCBtYXliZSB3ZSBjYW4gc2V0IHVw IGEgbWVldGluZyB0byBkaXNjdXNzLiANCk15IGFzc3VtcHRpb25zIGZpcnN0Og0K4oCiCU9yZGVy IG9mIG9wcyBvbiBhIHFwIG11c3QgYmUgbWFpbnRhaW5lZCDigJMgb3BzIHNob3VsZCBiZSBkZXF1 ZXVlZCBpbiBzYW1lIHNlcXVlbmNlIHRoZXkgYXJlIGVucXVldWVkLg0K4oCiCU9wcyBmcm9tIG1h bnkgc3RyZWFtcyBjYW4gYmUgZW5xdWV1ZWQgb24gc2FtZSBxcC4NCuKAoglPcHMgZnJvbSBhIHFw IG1heSBiZSBmYW5uZWQgb3V0IHRvIGF2YWlsYWJsZSBodyBvciBzdyBlbmdpbmVzIGFuZCBwcm9j ZXNzZWQgaW4gcGFyYWxsZWwsIHNvIGVhY2ggb3AgbXVzdCBiZSBpbmRlcGVuZGVudC4gDQrigKIJ U3RhdGVsZXNzIGFuZCBzdGF0ZWZ1bCBvcHMgY2FuIGJlIGVucXVldWVkIG9uIHRoZSBzYW1lIHFw DQoNClN1Ym1pdHRpbmcgYSBidXJzdCBvZiBzdGF0ZWxlc3Mgb3BzIHRvIGEgcXAgaXMgbm8gcHJv YmxlbS4NClN1Ym1pdHRpbmcgbW9yZSB0aGFuIDEgb3AgYXQgYSB0aW1lIGZyb20gdGhlIHNhbWUg c3RhdGVmdWwgc3RyZWFtIHRvIGEgcXAgaXMgYSBwcm9ibGVtLg0KRXhhbXBsZToNCkFwcGwgc3Vi bWl0cyAyIG9wcyBpbiBzYW1lIHN0cmVhbSBpbiBhIGJ1cnN0LCBlYWNoIGhhcyBzcmMgYW5kIGRl c3QgbWJ1ZnMsIGlucHV0IGxlbmd0aC9vZmZzZXQgYW5kDQpyZXF1aXJlcyBjaGVja3N1bSB0byBi ZSBjYWxjdWxhdGVkLg0KVGhlIGZpcnN0IG9wIG11c3QgYmUgcHJvY2Vzc2VkIHRvIGNvbXBsZXRp b24gYmVmb3JlIHRoZSBzZWNvbmQgY2FuIGJlIHN0YXJ0ZWQgYXMgaXQgbmVlZHMgdGhlIGhpc3Rv cnkgYW5kIHRoZSBjaGVja3N1bSBzbyBmYXIuDQpJZiBlYWNoIGRlc3QgbWJ1ZiBpcyBiaWcgZW5v dWdoIHNvIG5vIG92ZXJmbG93LCBlYWNoIGRlc3QgbWJ1ZiB3aWxsIGJlIHBhcnRpYWxseSBmaWxs ZWQuIFRoaXMgaXMgcHJvYmFibHkgbm90DQp3aGF04oCZcyBkZXNpcmVkLCBhbmQgd2lsbCBmb3Jj ZSBhbiBleHRyYSBjb3B5IHRvIG1ha2UgdGhlIG91dHB1dCBkYXRhIGNvbnRpZ3VvdXMuDQpJZiB0 aGUgZGVzdCBtYnVmIGluIHRoZSBmaXJzdCBvcCBpcyB0b28gc21hbGwsIHRoZW4gZG9lcyB0aGUg UE1EIGFsbG9jIG1vcmUgbWVtb3J5IGluIHRoZSBkZXN0IG1idWY/DQpPciBhbGxvYyBhbm90aGVy IG1idWY/IE9yIGZhaWwgYW5kIHRoZSB3aG9sZSBidXJzdCBtdXN0IGJlIHJlc3VibWl0dGVkPw0K T3Igc3RvcmUgdGhlIDJuZCBvcCwgd2FpdCwgb24gc2VlaW5nIHRoZSBPVVRfT0ZfU1BBQ0Ugb24g dGhlIDFzdCBvcCwgb3ZlcndyaXRlIHRoZSBzcmMsIGRlc3QsIGxlbiBldGMgb2YgdGhlIDJuZCBv cA0KdG8gaW5jbHVkZSB0aGUgdW5wcm9jZXNzZWQgcGFydCBvZiB0aGUgMXN0IG9wPyAgDQpJbiB0 aGUgbWVhbnRpbWUsIGFyZSBhbGwgb3RoZXIgb3BzIG9uIHRoZSBxcCBibG9ja2VkIGJlaGluZCB0 aGVzZT8NCkZvciBodyBhY2NlbGVyYXRvcnMgaXTigJlzIHdvcnNlLCBhcyBQTUQgd291bGQgbm9y bWFsbHkgcmV0dXJuIG9uY2Ugb3BzIGFyZSBvZmZsb2FkZWQgYW5kIHRoZSBkZXF1ZXVlIHdvdWxk DQpwYXNzIHByb2Nlc3NlZCBvcHMgc3RyYWlnaHQgYmFjayB0byB0aGUgYXBwbC4gSW5zdGVhZCwg dGhlIGVucXVldWUgd291bGQgbmVlZCB0byBraWNrIG9mZiBhIHRocmVhZCB0bw0KZGVxdWV1ZSBv cHMgYW5kIGZpbHRlciB0byBmaW5kIHRoZSBzdGF0ZWZ1bCBvbmUsIHN0b3JpbmcgdGhlIG90aGVy cyB0aWwgdGhlIG5leHQgYXBwbGljYXRpb24gZGVxdWV1ZSBpcyBjYWxsZWQuICANCg0KQWJvdmUg c2NlbmFyaW9zIGRvbuKAmXQgbGVuZCB0aGVtc2VsdmVzIHRvIGFjY2VsZXJhdGluZyBhIHBhY2tl dCBwcm9jZXNzaW5nIHdvcmtsb2FkLg0KSXQgcHVzaGVzIGEgd29ya2xvYWQgZG93biB0byBhbGwg UE1EcyB3aGljaCBJIGJlbGlldmUgYmVsb25ncyBhYm92ZSB0aGlzIEFQSSBhcyANCnRoYXQgd29y ayBpcyBub3QgYWJvdXQgb2ZmbG9hZGluZyB0aGUgY29tcHV0ZSBpbnRlbnNpdmUgY29tcHJlc3Np b24gd29yayBidXQNCmFib3V0IHRoZSBzZXF1ZW5jaW5nIG9mIGRhdGEgYW5kIHNvIGlzIGJldHRl ciBjb2RlZCBvbmNlLCBhYm92ZSB0aGUgQVBJIGluIGFuIGFwcGxpY2F0aW9uIGxheWVyDQpjb21t b24gdG8gYWxsIFBNRHMuIChTZWUgTm90ZTEgaW4gaHR0cDovL2RwZGsub3JnL21sL2FyY2hpdmVz L2Rldi8yMDE3LU9jdG9iZXIvMDc4OTQ0Lmh0bWwgKQ0KSWYgYW4gYXBwbGljYXRpb24gaGFzIHNl dmVyYWwgcGFja2V0cyB3aXRoIGRhdGEgZnJvbSBhIHN0cmVhbSB0aGF0IGl0IG5lZWRzIHRvIChk ZSljb21wcmVzcyBzdGF0ZWZ1bGx5LA0Kd2hhdCBpdCBwcm9iYWJseSB3YW50cyBpcyBmb3IgdGhl IG91dHB1dCBkYXRhIHRvIGZpbGwgZWFjaCBvdXRwdXQgYnVmZmVyIGNvbXBsZXRlbHkgYmVmb3Jl IHdyaXRpbmcgdG8gdGhlIG5leHQgYnVmZmVyLg0KQ2hhaW5pbmcgdGhlIHNyYyBtYnVmcyBpbiB0 aGVzZSBwa3RzIGludG8gb25lIGNoYWluIGFuZCBzZW5kaW5nIGFzIG9uZSBvcCBhbGxvd3MgdGhl IG91dHB1dA0KZGF0YSB0byBiZSBwYWNrZWQgaW50byBhIGRlc3QgbWJ1ZiBvciBtYnVmIGNoYWlu LiAgIA0KSSB0aGluayB3aGF04oCZcyBuZWVkZWQgaXMgYSBsYXllciBhYm92ZSB0aGUgQVBJIHRv IGFjY3VtdWxhdGUgaW5jb21pbmcgcGFja2V0cyB3aGlsZSB3YWl0aW5nIGZvciB0aGUNCnByZXZp b3VzIHNldCBvZiBwYWNrZXRzIHRvIGJlIGNvbXByZXNzZWQuIEZvcndhcmRpbmcgdG8gdGhlIFBN RCB0byBxdWV1ZSB0aGVyZSBpcyBub3QgdGhlIHJpZ2h0IHBsYWNlDQp0byBidWZmZXIgdGhlbSBh cyB0aGUgcXVldWUgc2hvdWxkIGJlIHBlciBzdHJlYW0gcmF0aGVyIHRoYW4gb24gdGhlIGFjY2Vs ZXJhdG9yIGVuZ2luZeKAmXMgcXVldWUNCndoaWNoIGhhcyBsb3RzIG9mIG90aGVyIGluZGVwZW5k ZW50IHBhY2tldHMuDQoNCg0KUHJvcG9zYWw6DQrigKIgT3BzIGZyb20gYSBxcCBtYXkgYmUgZmFu bmVkIG91dCB0byBhdmFpbGFibGUgaHcgb3Igc3cgZW5naW5lcyBhbmQNCiAgICBwcm9jZXNzZWQg aW4gcGFyYWxsZWwsIHNvIGVhY2ggb3AgbXVzdCBiZSBpbmRlcGVuZGVudC4gDQrigKIgT3JkZXIg b2Ygb3BzIG9uIGEgcXAgbXVzdCBiZSBtYWludGFpbmVkIOKAkyBvcHMgc2hvdWxkIGJlIGRlcXVl dWVkIGluIHNhbWUgc2VxdWVuY2UgdGhleSBhcmUgZW5xdWV1ZWQuDQrigKIgU3RhdGVsZXNzIGFu ZCBzdGF0ZWZ1bCBvcHMgY2FuIGJlIGVucXVldWVkIG9uIHRoZSBzYW1lIHFwDQrigKIgU3RhdGVs ZXNzIGFuZCBzdGF0ZWZ1bCBvcHMgY2FuIGJlIGVucXVldWVkIGluIHRoZSBzYW1lIGJ1cnN0DQri gKIgT25seSAxIG9wIGF0IGEgdGltZSBtYXkgYmUgZW5xdWV1ZWQgdG8gdGhlIHFwIGZyb20gYW55 IHN0YXRlZnVsIHN0cmVhbS4gDQrigKIgQSBidXJzdCBjYW4gaGF2ZSBtdWx0aXBsZSBzdGF0ZWZ1 bCBvcHMsIGJ1dCBlYWNoIG11c3QgYmUgZnJvbSBhIGRpZmZlcmVudCBzdHJlYW0uDQrigKIgQWxs IG9wcyB3aWxsIGhhdmUgYSBzZXNzaW9uIGF0dGFjaGVkIOKAkyB0aGlzIHdpbGwgb25seSBjb250 YWluIGltbXV0YWJsZSBkYXRhIHdoaWNoDQogICBjYW4gYmUgdXNlZCBieSBtYW55IG9wcywgZGV2 aWNlcyBhbmQgb3IgZHJpdmVycyBhdCB0aGUgc2FtZSB0aW1lLg0K4oCiIEFsbCBzdGF0ZWZ1bCBv cHMgd2lsbCBoYXZlIGEgc3RyZWFtIGF0dGFjaGVkIGZvciBtYWludGFpbmluZyBzdGF0ZSBhbmQN CiAgIGhpc3RvcnksIHRoaXMgY2FuIG9ubHkgYmUgdXNlZCBieSBvbmUgb3AgYXQgYSB0aW1lLg0K DQoNCkNvZGUgYXJ0ZWZhY3RzOg0KDQplbnVtIHJ0ZV9jb21wX29wX3R5cGUgew0KICAgIFJURV9D T01QX09QX1NUQVRFTEVTUywNCiAgICBSVEVfQ09NUF9PUF9TVEFURUZVTA0KfQ0KDQpBZGQgZm9s bG93aW5nIHRvIHJ0ZV9jb21wX29wOg0KICAgIGVudW0gcnRlX2NvbXBfb3BfdHlwZSBvcF90eXBl Ow0KICAgIHZvaWQgKiBzdHJlYW1fcHJpdmF0ZTsgDQogICAgLyogbG9jYXRpb24gd2hlcmUgUE1E IG1haW50YWlucyBzdHJlYW0gc3RhdGUg4oCTIG9ubHkgcmVxdWlyZWQgaWYgb3BfdHlwZSBpcyBT VEFURUZVTCwgZWxzZSBzZXQgdG8gTlVMTCAqLw0KDQpBcyBzaXplIG9mIHN0cmVhbSBkYXRhIHdp bGwgdmFyeSBkZXBlbmRpbmcgb24gUE1ELCBlYWNoIFBNRCBvciBkZXZpY2Ugc2hvdWxkIGFsbG9j YXRlICYgbWFuYWdlIGl0cyBvd24gbWVtcG9vbC4gQXNzb2NpYXRlZCBBUElzIGFyZToNCnJ0ZV9j b21wX3N0cmVhbV9jcmVhdGUodWludDhfdCBkZXZfaWQsIHJ0ZV9jb21wX3Nlc3Npb24gKnNlc3Ms IHZvaWQgKiogc3RyZWFtKTsNCi8qIFRoaXMgc2hvdWxkIGFsbG9jIGEgc3RyZWFtIGZyb20gdGhl IGRldmljZeKAmXMgbWVtcG9vbCBhbmQgaW5pdGlhbGlzZSBpdC4gVGhpcyBoYW5kbGUgd2lsbCBi ZSBwYXNzZWQgdG8gdGhlIFBNRCB3aXRoIGV2ZXJ5IG9wIGluIHRoZSBzdHJlYW0uIFEuIFNob3Vs ZCAgcXBfaWQgYWxzbyBiZSBhZGRlZCwgd2l0aCBjb25zdHJhaW50IHRoYXQgYWxsIG9wcyBpbiB0 aGUgc2FtZSBzdHJlYW0gc2hvdWxkIGJlIHNlbnQgdG8gdGhlIHNhbWUgcXA/ICAqLw0KcnRlX2Nv bXBfc3RyZWFtX2ZyZWUodWludDhfdCBkZXZfaWQsIHZvaWQgKiBzdHJlYW0pOw0KLyogVGhpcyBz aG91bGQgY2xlYXIgdGhlIHN0cmVhbSBhbmQgcmV0dXJuIGl0IHRvIHRoZSBkZXZpY2XigJlzIG1l bXBvb2wgKi8NCg0KQWxsIG9wcyBhcmUgZW5xdWV1ZWQvZGVxdWV1ZWQgdG8gZGV2aWNlICYgcXAg dXNpbmcgc2FtZSBydGVfY29tcHJlc3NkZXZfZW5xdWV1ZV9idXJzdCgpL+KApmRlcXVldWVfYnVy c3Q7DQoNClJlIGZsdXNoIGZsYWdzLCBzdGF0ZWZ1bCBzdHJlYW0gd291bGQgc3RhcnQgd2l0aCBv cC5mbHVzaCA9IE5PTkUgb3IgU1lOQyBhbmQgZW5kIHdpdGggRlVMTCBvciBGSU5BTA0KU1RBVEVM RVNTIG9wcyB3b3VsZCBqdXN0IHVzZSBlaXRoZXIgRlVMTCBvciBGSU5BTA0KDQoNCkxldCBtZSBr bm93IGlmIHlvdSB3YW50IHRvIHNldCB1cCBhIG1lZXRpbmcgLSBpdCBtaWdodCBiZSBhIG1vcmUg ZWZmZWN0aXZlIHdheSB0bw0KYXJyaXZlIGF0IGFuIEFQSSB0aGF0IHdvcmtzIGZvciBhbGwgUE1E cy4NCg0KSSdsbCBzZW5kIG91dCBhIHYzIHRvZGF5IHdpdGggYWJvdmUgcGx1cyB1cGRhdGVzIGJh c2VkIG9uIGFsbCB0aGUgb3RoZXIgZmVlZGJhY2suDQoNClJlZ2FyZHMsDQpGaW9uYQ0KDQo=