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 CDD68A00BE; Wed, 3 Jun 2020 14:10:33 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id AE6001C439; Wed, 3 Jun 2020 14:10:33 +0200 (CEST) Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2088.outbound.protection.outlook.com [40.107.22.88]) by dpdk.org (Postfix) with ESMTP id 577941C246 for ; Wed, 3 Jun 2020 14:10:32 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ORJXCJRN2FhKBLhkJReY711KUNHgdgkSG9C9z/F3ahwccPuWQ0aSxuG1oVZ1gpQSSjvlKCdx/Ohpds0Ysg24RlS/mWYrjPbfMG+KCH4+JWFdCC1a6ARDpv+A54E+M1M8qhl7oNRrrvX9YFmquhVQxDB8j3z1fPbphXgdrhdGgvMPPb2r3UDYbxe1KXqcNYspbfo/mXj5wtUZtFOOXRBPjKhsvi1dyUMb9jxk4w8+Ug6g/sfvF0ZbQcUX5QInM7NXVkYvLSxN1hHshZZUBuMezrTTFEh1n7o9dydmxIRar6R9WLW9QbAH5D4XZRZae/ldBzkRDChN57hU2phAfyXnjg== 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=wj6X7ewkq4yrP/mp9cLYRVD+ADUI2MQ+O9vzfXRfI5E=; b=GhO03gkL6Ttk0J2rn8G0RMFlyIvtVCevYbIPbm45j9gqRg6ia5g0VsUTQfr/g1gRbdLwPAcRdahDqIZUGk4ej1bQFRt7HzfuiXz91WsKNtSNZPiz4tshaGyWY2nNkaWDU/VCHqBOlvw6QmuhOBQ+yx4OMcNjsHWmIV4ZmDJC9xYigPHRqmnUAtAQ6Tclyfkc/MHrAyQPiTlZcq9UvXNIjaawaQDUspA4i6Afw3Haq15Oh1YUeeu/IonoscMod+ykp6zUc4nz45iKAIctFRG7OuSwiNd0JO9z/3+ikU6j0YpsrrUddc4YUloHk9o+YY5DIfupI/AlEZ96J17/ItIHWg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=mellanox.com; dmarc=pass action=none header.from=mellanox.com; dkim=pass header.d=mellanox.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=wj6X7ewkq4yrP/mp9cLYRVD+ADUI2MQ+O9vzfXRfI5E=; b=sa62HMqtrbafzABhEuXmYtPOJUyZlyG8iQNPrAd/vU+VRu1owBJrmffyvGgyGR1hjzqQm8WYoCYojquQJKhu4LHSLGTotzkMiVYUQ7Xza5L/YFgauWA/XFSUfEsZyx7PCTi4BpGefCFg+7v8qCX7+FOJf9KYwMo9v4GGW/HeLPc= Received: from VI1PR05MB5390.eurprd05.prod.outlook.com (2603:10a6:803:8d::23) by VI1PR05MB4925.eurprd05.prod.outlook.com (2603:10a6:803:5c::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3066.18; Wed, 3 Jun 2020 12:10:31 +0000 Received: from VI1PR05MB5390.eurprd05.prod.outlook.com ([fe80::b9e9:e3f2:7eb1:d325]) by VI1PR05MB5390.eurprd05.prod.outlook.com ([fe80::b9e9:e3f2:7eb1:d325%5]) with mapi id 15.20.3045.024; Wed, 3 Jun 2020 12:10:31 +0000 From: Dekel Peled To: Ori Kam , Adrien Mazarguil CC: Andrew Rybchenko , "ferruh.yigit@intel.com" , "john.mcnamara@intel.com" , "marko.kovacevic@intel.com" , Asaf Penso , Matan Azrad , Eli Britstein , "dev@dpdk.org" , Ivan Malov Thread-Topic: [RFC] ethdev: add fragment attribute to IPv6 item Thread-Index: AQHWOOqxKzojhU7BM0Sxd9KtB/qMK6jFpXKAgAAJ6gCAAN1JgIAAP0FQ Date: Wed, 3 Jun 2020 12:10:31 +0000 Message-ID: References: <5f9b4d30b81fa68ed875106785419a43cc7a6166.1590935677.git.dekelp@mellanox.com> <20200602190410.GU26320@6wind.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: mellanox.com; dkim=none (message not signed) header.d=none;mellanox.com; dmarc=none action=none header.from=mellanox.com; x-originating-ip: [5.29.43.98] x-ms-publictraffictype: Email x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: 43149ba8-5479-4a7f-9025-08d807b71c82 x-ms-traffictypediagnostic: VI1PR05MB4925: x-ld-processed: a652971c-7d2e-4d9b-a6a4-d149256f461b,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-forefront-prvs: 04238CD941 x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: ipnPua7sctWDenV+kR5BNVbNgX4jDMV5Bncx6q1ahgCSaV57WR8+WTHKttRsEor205J+OTqfF+IEJggUceXD2ubzKDcL/xtG2N3+B94ukMRkCAl/Hiyf91YDn0zyYLo1ruXxcj5fzWzLr3jCnHPQjJpQwSBoxe25d4/ln4MLvfsoe3eIrbZAwd5E2AwlCnnp4nOesqsgMBF4zDz2XCoBSx2idOtJTdxRBLNqoRrBxkNVqN0ZhtfJkskovvMl0e5WkeEWY/UaDYbow9VhGMHhh6w1OmtSkJamD8sX58uMEC+OXb/Kw3zrmqiKowaKlNgvdH/tSOUT9921MHNSZXqG4h46EZsOIBNkhWo9GO/ebYdJ8Ax6DeiYNfdjlH0D9eTYHeKvhNZ4K6ArUTMK/MJu9Q== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VI1PR05MB5390.eurprd05.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(4636009)(396003)(346002)(39860400002)(366004)(376002)(136003)(6506007)(4326008)(55016002)(26005)(186003)(8676002)(76116006)(316002)(54906003)(9686003)(8936002)(83380400001)(53546011)(478600001)(5660300002)(966005)(110136005)(2906002)(52536014)(7696005)(71200400001)(66946007)(66446008)(64756008)(66476007)(33656002)(86362001)(66556008); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: TTg2Vy7+cKRBvqHMXE6qd7dIC+L+ng7fhe5eTgsMz4W6E9M6bbPsX3hBzNeXezXXXd6SkotMYDyA8hOw6rly8zyFHFbTrf2/s/D12PFgc2z29jthIqHVf299D7J8zZLc0mSwW+hhOnPX4PLSxyjW9pWBX8IROkdrz772IsVzHKYC0nkkXWtz9mo6XGpFp3fEJi3+D5ydxh1FnqwnNMqXtncfwRJI3ZPV8XCq3ROBEYutinYIBxxEf5TDWVPUsLwTtZ0pzBbSXpQdaM2/5QdvIJfT+20FadLQQGKqQs/sh3H7z6Lmv/tWCVXsdFRJ8KOtQBi6qrJ0HLZnz1OZ7jxj06SROJ6odxHhl2XINZsmBkgdX15FpL1YGDR+TOzonJro7698y8dkehV+tfPPa5FGlaNIsFW/P9dpzQPWp7Q5NRJBy4jyxghRa4Hc0yqj0bOz77amyvLatVkOjZRIyYqi5SFGOj3jV7x2KhFI5PcaYYY= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: 43149ba8-5479-4a7f-9025-08d807b71c82 X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Jun 2020 12:10:31.0993 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: S3mGMf4qlKctQLQri4r3TbA+NX+0gb/48JXsY4VRKoA3nsydssOV0DE837rHFW9Vo2ZbTwM6nlHAcUlB1lWONg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR05MB4925 Subject: Re: [dpdk-dev] [RFC] ethdev: add fragment attribute to IPv6 item 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" SGksIFBTQi4NCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBPcmkgS2Ft IDxvcmlrYUBtZWxsYW5veC5jb20+DQo+IFNlbnQ6IFdlZG5lc2RheSwgSnVuZSAzLCAyMDIwIDEx OjE2IEFNDQo+IFRvOiBBZHJpZW4gTWF6YXJndWlsIDxhZHJpZW4ubWF6YXJndWlsQDZ3aW5kLmNv bT4NCj4gQ2M6IEFuZHJldyBSeWJjaGVua28gPGFyeWJjaGVua29Ac29sYXJmbGFyZS5jb20+OyBE ZWtlbCBQZWxlZA0KPiA8ZGVrZWxwQG1lbGxhbm94LmNvbT47IGZlcnJ1aC55aWdpdEBpbnRlbC5j b207DQo+IGpvaG4ubWNuYW1hcmFAaW50ZWwuY29tOyBtYXJrby5rb3ZhY2V2aWNAaW50ZWwuY29t OyBBc2FmIFBlbnNvDQo+IDxhc2FmcEBtZWxsYW5veC5jb20+OyBNYXRhbiBBenJhZCA8bWF0YW5A bWVsbGFub3guY29tPjsgRWxpIEJyaXRzdGVpbg0KPiA8ZWxpYnJAbWVsbGFub3guY29tPjsgZGV2 QGRwZGsub3JnOyBJdmFuIE1hbG92DQo+IDxJdmFuLk1hbG92QG9rdGV0bGFicy5ydT4NCj4gU3Vi amVjdDogUkU6IFtSRkNdIGV0aGRldjogYWRkIGZyYWdtZW50IGF0dHJpYnV0ZSB0byBJUHY2IGl0 ZW0NCj4gDQo+IEhpIEFkcmllbiwNCj4gDQo+IEdyZWF0IHRvIGhlYXIgZnJvbSB5b3UgYWdhaW4u DQo+IA0KPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gRnJvbTogQWRyaWVuIE1h emFyZ3VpbCA8YWRyaWVuLm1hemFyZ3VpbEA2d2luZC5jb20+DQo+ID4gU2VudDogVHVlc2RheSwg SnVuZSAyLCAyMDIwIDEwOjA0IFBNDQo+ID4gVG86IE9yaSBLYW0gPG9yaWthQG1lbGxhbm94LmNv bT4NCj4gPiBDYzogQW5kcmV3IFJ5YmNoZW5rbyA8YXJ5YmNoZW5rb0Bzb2xhcmZsYXJlLmNvbT47 IERla2VsIFBlbGVkDQo+ID4gPGRla2VscEBtZWxsYW5veC5jb20+OyBmZXJydWgueWlnaXRAaW50 ZWwuY29tOw0KPiA+IGpvaG4ubWNuYW1hcmFAaW50ZWwuY29tOyBtYXJrby5rb3ZhY2V2aWNAaW50 ZWwuY29tOyBBc2FmIFBlbnNvDQo+ID4gPGFzYWZwQG1lbGxhbm94LmNvbT47IE1hdGFuIEF6cmFk IDxtYXRhbkBtZWxsYW5veC5jb20+OyBFbGkNCj4gQnJpdHN0ZWluDQo+ID4gPGVsaWJyQG1lbGxh bm94LmNvbT47IGRldkBkcGRrLm9yZzsgSXZhbiBNYWxvdg0KPiA+IDxJdmFuLk1hbG92QG9rdGV0 bGFicy5ydT4NCj4gPiBTdWJqZWN0OiBSZTogW1JGQ10gZXRoZGV2OiBhZGQgZnJhZ21lbnQgYXR0 cmlidXRlIHRvIElQdjYgaXRlbQ0KPiA+DQo+ID4gSGkgT3JpLCBBbmRyZXcsIERlbGVrLA0KDQpJ dCdzIERla2VsLCBub3QgRGVsZWsgOy0pDQoNCj4gPg0KPiA+IChiZWVuIGEgd2hpbGUgZWg/KQ0K PiA+DQo+ID4gT24gVHVlLCBKdW4gMDIsIDIwMjAgYXQgMDY6Mjg6NDFQTSArMDAwMCwgT3JpIEth bSB3cm90ZToNCj4gPiA+IEhpIEFuZHJldywNCj4gPiA+DQo+ID4gPiBQU0IsDQo+ID4gWy4uLl0N Cj4gPiA+ID4gPiBkaWZmIC0tZ2l0IGEvbGliL2xpYnJ0ZV9ldGhkZXYvcnRlX2Zsb3cuaA0KPiA+ ID4gPiA+IGIvbGliL2xpYnJ0ZV9ldGhkZXYvcnRlX2Zsb3cuaCBpbmRleCBiMGU0MTk5Li4zYmM4 Y2UxIDEwMDY0NA0KPiA+ID4gPiA+IC0tLSBhL2xpYi9saWJydGVfZXRoZGV2L3J0ZV9mbG93LmgN Cj4gPiA+ID4gPiArKysgYi9saWIvbGlicnRlX2V0aGRldi9ydGVfZmxvdy5oDQo+ID4gPiA+ID4g QEAgLTc4Nyw2ICs3ODcsOCBAQCBzdHJ1Y3QgcnRlX2Zsb3dfaXRlbV9pcHY0IHsNCj4gPiA+ID4g PiAgICovDQo+ID4gPiA+ID4gIHN0cnVjdCBydGVfZmxvd19pdGVtX2lwdjYgew0KPiA+ID4gPiA+ ICAJc3RydWN0IHJ0ZV9pcHY2X2hkciBoZHI7IC8qKjwgSVB2NiBoZWFkZXIgZGVmaW5pdGlvbi4g Ki8NCj4gPiA+ID4gPiArCXVpbnQzMl90IGlzX2ZyYWc6MTsgLyoqPCBJcyBJUHY2IHBhY2tldCBm cmFnbWVudGVkL25vbi0NCj4gZnJhZ21lbnRlZC4gKi8NCj4gPiA+ID4gPiArCXVpbnQzMl90IHJl c2VydmVkOjMxOyAvKio8IFJlc2VydmVkLCBtdXN0IGJlIHplcm8uICovDQo+ID4gPiA+DQo+ID4g PiA+IFRoZSBzb2x1dGlvbiBpcyBzaW1wbGUsIGJ1dCBoYXJkbHkgZ2VuZXJpYyBhbmQgYWRkcyBh biBleGFtcGxlIGZvcg0KPiA+ID4gPiB0aGUgZnV0dXJlIGV4dGVuc2lvbnMuIEkgZG91YnQgdGhh dCBpdCBpcyBhIHJpZ2h0IHdheSB0byBnby4NCj4gPiA+ID4NCj4gPiA+IEkgYWdyZWUgd2l0aCB5 b3UgdGhhdCB0aGlzIGlzIG5vdCB0aGUgbW9zdCBnZW5lcmljIHdheSBwb3NzaWJsZSwgYnV0DQo+ ID4gPiB0aGUgSVBWNiBleHRlbnNpb25zIGFyZSB2ZXJ5IHVuaXF1ZS4gU28gdGhlIHNvbHV0aW9u IGlzIGFsc28gdW5pcXVlLg0KPiA+ID4gSW4gZ2VuZXJhbCwgSSdtIGFsd2F5cyBpbiBmYXZvciBv ZiBmaW5kaW5nIHRoZSBtb3N0IGdlbmVyaWMgd2F5LCBidXQNCj4gPiBzb21ldGltZXMNCj4gPiA+ IGl0IGlzIGJldHRlciB0byBrZWVwIHRoaW5ncyBzaW1wbGUsIGFuZCBzZWUgaG93IGl0IGdvZXMu DQo+ID4NCj4gPiBTYW1lIGZlZWxpbmcgaGVyZSwgaXQgZG9lc24ndCBsb29rIHJpZ2h0Lg0KPiA+ DQo+ID4gPiA+IE1heSBiZSB3ZSBzaG91bGQgYWRkIDI1Ni1iaXQgc3RyaW5nIHdpdGggb25lIGJp dCBmb3IgZWFjaCBJUA0KPiA+ID4gPiBwcm90b2NvbCBudW1iZXIgYW5kIGFwcGx5IGl0IHRvIGV4 dGVuc2lvbiBoZWFkZXJzIG9ubHk/DQo+ID4gPiA+IElmIGJpdCBBIGlzIHNldCBpbiB0aGUgbWFz azoNCj4gPiA+ID4gIC0gaWYgYml0IEEgaXMgc2V0IGluIHNwZWMgYXMgd2VsbCwgZXh0ZW5zaW9u IGhlYWRlciB3aXRoDQo+ID4gPiA+ICAgIElQIHByb3RvY29sICgxIDw8IEEpIG51bWJlciBtdXN0 IHByZXNlbnQNCj4gPiA+ID4gIC0gaWYgYml0IEEgaXMgY2xlYXIgaW4gc3BlYywgZXh0ZW5zaW9u IGhlYWRlciB3aXRoDQo+ID4gPiA+ICAgIElQIHByb3RvY29sICgxIDw8IEEpIG51bWJlciBtdXN0 IGFic2VudCBJZiBiaXQgaXMgY2xlYXIgaW4gdGhlDQo+ID4gPiA+IG1hc2ssIGNvcnJlc3BvbmRp bmcgZXh0ZW5zaW9uIGhlYWRlciBtYXkgcHJlc2VudCBhbmQgbWF5IGFic2VudA0KPiA+ID4gPiAo aS5lLiBkb24ndCBjYXJlKS4NCj4gPiA+ID4NCj4gPiA+IFRoZXJlIGFyZSBvbmx5IDEyIHBvc3Np YmxlIGV4dGVuc2lvbiBoZWFkZXJzIGFuZCBjdXJyZW50bHkgbm9uZSBvZg0KPiA+ID4gdGhlbSBh cmUgc3VwcG9ydGVkIGluIHJ0ZV9mbG93LiBTbyBhZGRpbmcgYSBsb2dpYyB0byBwYXJzZSB0aGUg MjU2DQo+ID4gPiBqdXN0IHRvIGdldCBhIG1heA0KPiA+IG9mIDEyDQo+ID4gPiBwb3NzaWJsZSB2 YWx1ZXMgaXMgYW4gb3ZlcmtpbGwuIEFsc28sIGlmIHdlIGRpc3JlZ2FyZCB0aGUgY2FzZSBvZg0K PiA+ID4gdGhlIGV4dGVuc2lvbiwgdGhlIGFwcGxpY2F0aW9uIG11c3Qgc2VsZWN0IG9ubHkgb25l IG5leHQgcHJvdG8uIEZvcg0KPiA+ID4gZXhhbXBsZSwgdGhlIGFwcGxpY2F0aW9uIGNhbid0IHNl bGVjdCB1ZHAgKyB0Y3AuIFRoZXJlIGlzIHRoZSBvcHRpb24NCj4gPiA+IHRvIGFkZCBhIGZsYWcg Zm9yIGVhY2ggb2YgdGhlIHBvc3NpYmxlIGV4dGVuc2lvbnMsIGRvZXMgaXQgbWFrZXMgbW9yZQ0K PiBzZW5zZSB0byB5b3U/DQo+ID4NCj4gPiBFYWNoIG9mIHRoZXNlIGV4dGVuc2lvbiBoZWFkZXJz IGhhcyBpdHMgb3duIHN0cnVjdHVyZSwgd2UgZmlyc3QgbmVlZA0KPiA+IHRoZSBhYmlsaXR5IHRv IG1hdGNoIHRoZW0gcHJvcGVybHkgYnkgYWRkaW5nIHRoZSBuZWNlc3NhcnkgcGF0dGVybiBpdGVt cy4NCj4gPg0KPiA+ID4gPiBUaGUgUkZDIGluZGlyZWN0bHkgdG91Y2hlcyBJUHY2IHByb3RvIChu ZXh0IGhlYWRlcikgbWF0Y2hpbmcNCj4gPiA+ID4gbG9naWMuDQo+ID4gPiA+DQo+ID4gPiA+IElm IGxvZ2ljIHVzZWQgaW4gRVRIK1ZMQU4gaXMgYXBwbGllZCBvbiBJUHY2IGFzIHdlbGwsIGl0IHdv dWxkDQo+ID4gPiA+IG1ha2UgcGF0dGVybiBzcGVjaWZpY2F0aW9uIGFuZCBoYW5kbGluZyBjb21w bGljYXRlZC4gRS5nLjoNCj4gPiA+ID4gICBldGggLyBpcHY2IC8gdWRwIC8gZW5kDQo+ID4gPiA+ IHNob3VsZCBtYXRjaCBVRFAgb3ZlciBJUHY2IHdpdGhvdXQgYW55IGV4dGVuc2lvbiBoZWFkZXJz IG9ubHkuDQo+ID4gPiA+DQo+ID4gPiBUaGUgaXNzdWUgd2l0aCBWTEFOIEkgYWdyZWUgaXMgZGlm ZmVyZW50IHNpbmNlIGJ5IGRlZmluaXRpb24gVkxBTiBpcw0KPiA+ID4gbGF5ZXIgMi41LiBXZSBj YW4gYWRkIHRoZSBzYW1lIGxvZ2ljIGFsc28gdG8gdGhlIFZMQU4gY2FzZSwgbWF5YmUgaXQNCj4g PiA+IHdpbGwgYmUgZWFzaWVyLg0KPiA+ID4gSW4gYW55IGNhc2UsIGluIHlvdXIgZXhhbXBsZSBh Ym92ZSBhbmQgYWNjb3JkaW5nIHRvIHRoZSBSRkMgd2Ugd2lsbA0KPiA+ID4gZ2V0IGFsbCBpcHY2 IHVkcCB0cmFmZmljIHdpdGggYW5kIHdpdGhvdXQgZXh0ZW5zaW9ucy4NCj4gPiA+DQo+ID4gPiA+ IEFuZCBob3cgdG8gc3BlY2lmeSBVUEQgb3ZlciBJUHY2IHJlZ2FyZGxlc3MgZXh0ZW5zaW9uIGhl YWRlcnM/DQo+ID4gPg0KPiA+ID4gUGxlYXNlIHNlZSBhYm92ZSB0aGUgcnVsZSB3aWxsIGJlIGV0 aCAvIGlwdjYgL3VkcC4NCj4gPiA+DQo+ID4gPiA+ICAgZXRoIC8gaXB2NiAvIGlwdjZfZXh0IC8g dWRwIC8gZW5kIHdpdGggYSBjb252ZW50aW9uIHRoYXQNCj4gPiA+ID4gaXB2Nl9leHQgaXMgb3B0 aW9uYWwgaWYgc3BlYyBhbmQgbWFzayBhcmUgTlVMTCAob3IgbWFzayBpcyBlbXB0eSkuDQo+ID4g PiA+DQo+ID4gPiBJIHdvdWxkIGd1ZXNzIHRoYXQgdGhpcyBmbG93IHNob3VsZCBtYXRjaCBhbGwg aXB2NiB0aGF0IGhhcyBvbmUgZXh0DQo+ID4gPiBhbmQgdGhlDQo+ID4gbmV4dA0KPiA+ID4gcHJv dG8gaXMgdWRwLg0KPiA+DQo+ID4gSW4gbXkgb3BpbmlvbiBSVEVfRkxPV19JVEVNX1RZUEVfSVBW Nl9FWFQgaXMgYSBiaXQgdXNlbGVzcyBvbiBpdHMgb3duLg0KPiA+IEl0J3Mgb25seSBmb3IgbWF0 Y2hpbmcgcGFja2V0cyB0aGF0IGNvbnRhaW4gc29tZSBraW5kIG9mIGV4dGVuc2lvbg0KPiA+IGhl YWRlciwgbm90IGEgc3BlY2lmaWMgb25lLCBtb3JlIGFib3V0IHRoYXQgYmVsb3cuDQo+ID4NCj4g PiA+ID4gSSdtIHdvbmRlcmluZyBpZiBhbnkgZHJpdmVyIHRyZWF0cyBpdCB0aGlzIHdheT8NCj4g PiA+ID4NCj4gPiA+IEknbSBub3Qgc3VyZSwgd2UgY2FuIHN1cHBvcnQgb25seSB0aGUgZnJhZyBl eHQgYnkgZGVmYXVsdCwgYnV0IGlmDQo+ID4gPiByZXF1aXJlZCB3ZQ0KPiA+IGNhbiBzdXBwb3J0 IG90aGVyDQo+ID4gPiBleHQuDQo+ID4gPg0KPiA+ID4gPiBJIGFncmVlIHRoYXQgdGhlIHByb2Js ZW0gcmVhbGx5IGNvbWVzIHdoZW4gd2UnZCBsaWtlIG1hdGNoDQo+ID4gPiA+IElQdjYgZnJhZ3Mg b3IgZXZlbiB3b3JzZSBub3QgZnJhZ21lbnRzLg0KPiA+ID4gPg0KPiA+ID4gPiBUd28gcGF0dGVy bnMgZm9yIGZyYWdtZW50czoNCj4gPiA+ID4gICBldGggLyBpcHY2IChwcm90bz1GUkFHTUVOVCkg LyBlbmQNCj4gPiA+ID4gICBldGggLyBpcHY2IC8gaXB2Nl9leHQgKG5leHRfaGRyPUZSQUdNRU5U KSAvIGVuZA0KPiA+ID4gPg0KPiA+ID4gPiBBbnkgc2Vuc2libGUgc29sdXRpb24gZm9yIG5vdC1m cmFnbWVudHMgd2l0aCBhbnkgb3RoZXIgZXh0ZW5zaW9uDQo+ID4gPiA+IGhlYWRlcnM/DQo+ID4g PiA+DQo+ID4gPiBUaGUgb25lIHByb3Bvc2UgaW4gdGhpcyBtYWlsIPCfmIoNCj4gPiA+DQo+ID4g PiA+IElOVkVSVCBleGlzdHMsIGJ1dCBoYXJkbHkgdXNlZnVsLCBzaW5jZSBpdCBzaW1wbHkgc2F5 cyB0aGF0DQo+ID4gPiA+IHBhdGNoZXMgd2hpY2ggZG8gbm90IG1hdGNoIHBhdHRlcm4gd2l0aG91 dCBJTlZFUlQgbWF0Y2hlcyB0aGUNCj4gPiA+ID4gcGF0dGVybiB3aXRoIElOVkVSVCBhbmQNCj4g PiA+ID4gICBpbnZlcnQgLyBldGggLyBpcHY2IChwcm90bz1GUkFHTUVOVCkgLyBlbmQgd2lsbCBt YXRjaCBBUlAsIElQdjQsDQo+ID4gPiA+IElQdjYgd2l0aCBhbiBleHRlbnNpb24gaGVhZGVyIGJl Zm9yZSBmcmFnbWVudCBoZWFkZXIgYW5kIHNvIG9uLg0KPiA+ID4gPg0KPiA+ID4gSSBhZ3JlZSB3 aXRoIHlvdSwgSU5WRVJUIGluIHRoaXMgZG9lc27igJl0IGhlbHAuDQo+ID4gPiBXZSB3ZXJlIGNv bnNpZGVyaW5nIGFkZGluZyBzb21lIGtpbmQgb2Ygbm90IG1hc2sgLyBpdGVtIHBlciBpdGVtLg0K PiA+ID4gc29tZSB0aGluayBhcm91bmQgdGhpcyBsaW5lOg0KPiA+ID4gdXNlciByZXF1ZXN0IGlw djYgdW5mcmFnbWVudGVkIHVkcCBwYWNrZXRzLiBUaGUgZmxvdyB3b3VsZCBsb29rDQo+ID4gPiBz b21ldGhpbmcgbGlrZSB0aGlzOg0KPiA+ID4gRXRoIC8gaXB2NiAvIE5vdCAoSXB2Ni5wcm90byA9 IGZyYWdfcHJvdG8pIC8gdWRwIEJ1dCBpdCBtYWtlcyB0aGUNCj4gPiA+IHJ1bGVzIG11Y2ggaGFy ZGVyIHRvIHVzZSwgYW5kIEkgZG9uJ3QgdGhpbmsgdGhhdCB0aGVyZSBpcyBhbnkgSFcNCj4gPiA+ IHRoYXQgc3VwcG9ydCBub3QsIGFuZCBhZGRpbmcgc3VjaCBmZWF0dXJlIHRvIGFsbCBpdGVtcyBp cyBvdmVya2lsbC4NCj4gPiA+DQo+ID4gPg0KPiA+ID4gPiBCaXQgc3RyaW5nIHN1Z2dlc3RlZCBh Ym92ZSB3aWxsIGFsbG93IHRvIG1hdGNoOg0KPiA+ID4gPiAgLSBVRFAgb3ZlciBJUHY2IHdpdGgg YW55IGV4dGVuc2lvbiBoZWFkZXJzOg0KPiA+ID4gPiAgICAgZXRoIC8gaXB2NiAoZXh0X2hkcnMg bWFzayBlbXB0eSkgLyB1ZHAgLyBlbmQNCj4gPiA+ID4gIC0gVURQIG92ZXIgSVB2NiB3aXRob3V0 IGFueSBleHRlbnNpb24gaGVhZGVyczoNCj4gPiA+ID4gICAgIGV0aCAvIGlwdjYgKGV4dF9oZHJz IG1hc2sgZnVsbCwgc3BlYyBlbXB0eSkgLyB1ZHAgLyBlbmQNCj4gPiA+ID4gIC0gVURQIG92ZXIg SVB2NiB3aXRob3V0IGZyYWdtZW50IGhlYWRlcjoNCj4gPiA+ID4gICAgIGV0aCAvIGlwdjYgKGV4 dC5zcGVjICYgfkZSQUdNRU5ULCBleHQubWFzayB8IEZSQUdNRU5UKSAvIHVkcCAvDQo+ID4gPiA+ IGVuZA0KPiA+ID4gPiAgLSBVRFAgb3ZlciBJUHY2IHdpdGggZnJhZ21lbnQgaGVhZGVyDQo+ID4g PiA+ICAgICBldGggLyBpcHY2IChleHQuc3BlYyB8IEZSQUdNRU5ULCBleHQubWFzayB8IEZSQUdN RU5UKSAvIHVkcCAvDQo+ID4gPiA+IGVuZA0KPiA+ID4gPg0KPiA+ID4gPiB3aGVyZSBGUkFHTUVO VCBpcyAxIDw8IElQUFJPVE9fRlJBR01FTlQuDQo+ID4gPiA+DQo+ID4gPiBQbGVhc2Ugc2VlIG15 IHJlc3BvbnNlIHJlZ2FyZGluZyB0aGlzIGFib3ZlLg0KPiA+ID4NCj4gPiA+ID4gQWJvdmUgSSBp bnRlbnRpb25hbGx5IGtlZXAgJ3Byb3RvJyB1bnNwZWNpZmllZCBpbiBpcHY2IHNpbmNlDQo+ID4g PiA+IG90aGVyd2lzZSBpdCB3b3VsZCBzcGVjaWZ5IHRoZSBuZXh0IGhlYWRlciBhZnRlciBJUHY2 IGhlYWRlci4NCj4gPiA+ID4NCj4gPiA+ID4gRXh0ZW5zaW9uIGhlYWRlcnMgbWFzayBzaG91bGQg YmUgZW1wdHkgYnkgZGVmYXVsdC4NCj4gPg0KPiA+IFRoaXMgaXMgYSBkZWxpYmVyYXRlIGRlc2ln biBjaG9pY2UvaXNzdWUgd2l0aCBydGVfZmxvdzogYW4gZW1wdHkNCj4gPiBwYXR0ZXJuIG1hdGNo ZXMgZXZlcnl0aGluZzsgYWRkaW5nIGl0ZW1zIG9ubHkgbmFycm93cyB0aGUgc2VsZWN0aW9uLg0K PiA+IEFzIEFuZHJldyBzYWlkIHRoZXJlIGlzIGN1cnJlbnRseSBubyB3YXkgdG8gcHJvdmlkZSBh IHNwZWNpZmljIGl0ZW0gdG8NCj4gPiByZWplY3QsIGl0IGNhbiBvbmx5IGJlIGRvbmUgZ2xvYmFs bHkgb24gYSBwYXR0ZXJuIHRocm91Z2ggSU5WRVJUIHRoYXQgbm8NCj4gUE1EIGltcGxlbWVudHMg c28gZmFyLg0KPiA+DQo+ID4gU28gd2UgaGF2ZSB0d28gcmVxdWlyZW1lbnRzIGhlcmU6IHRoZSBh YmlsaXR5IHRvIHNwZWNpZmljYWxseSBtYXRjaA0KPiA+IElQdjYgZnJhZ21lbnQgaGVhZGVycyBh bmQgdGhlIGFiaWxpdHkgdG8gcmVqZWN0IHRoZW0uDQo+ID4NCj4gPiBUbyBtYXRjaCBJUHY2IGZy YWdtZW50IGhlYWRlcnMsIHdlIG5lZWQgYSBkZWRpY2F0ZWQgcGF0dGVybiBpdGVtLiBUaGUNCj4g PiBnZW5lcmljIFJURV9GTE9XX0lURU1fVFlQRV9JUFY2X0VYVCBpcyB1c2VsZXNzIGZvciB0aGF0 IG9uIGl0cyBvd24sIGl0DQo+ID4gbXVzdCBiZSBjb21wbGV0ZWQgd2l0aCBSVEVfRkxPV19JVEVN X1RZUEVfSVBWNl9FWFRfRlJBRyBhbmQNCj4gYXNzb2NpYXRlZA0KPiA+IG9iamVjdA0KPiANCj4g WWVzLCB3ZSBtdXN0IGFkZCBFWFRfRlJBRyB0byBiZSBhYmxlIHRvIG1hdGNoIG9uIHRoZSBGUkFH IGJpdHMuDQo+IA0KDQpQbGVhc2Ugc2VlIHByZXZpb3VzIFJGQyBJIHNlbnQuDQpbUkZDXSBldGhk ZXY6IGFkZCBJUHY2IGZyYWdtZW50IGV4dGVuc2lvbiBoZWFkZXIgaXRlbQ0KaHR0cDovL21haWxz LmRwZGsub3JnL2FyY2hpdmVzL2Rldi8yMDIwLU1hcmNoLzE2MDI1NS5odG1sDQpJdCBpcyBjb21w bGVtZW50ZWQgYnkgdGhpcyBSRkMuDQoNCj4gPiB0byBtYXRjaCBpbmRpdmlkdWFsIGZpZWxkcyBp ZiBuZWVkZWQgKGxpa2UgYWxsIHRoZSBvdGhlcnMNCj4gPiBwcm90b2NvbHMvaGVhZGVycykuDQo+ ID4NCj4gPiBUaGVuIHRvIHJlamVjdCBhIHBhdHRlcm4gaXRlbS4uLiBNeSBwcmVmZXJlbmNlIGdv ZXMgdG8gYSBuZXcgIk5PVCINCj4gPiBtZXRhIGl0ZW0gYWZmZWN0aW5nIHRoZSBtZWFuaW5nIG9m IHRoZSBpdGVtIGNvbWluZyBpbW1lZGlhdGVseSBhZnRlcg0KPiA+IGluIHRoZSBwYXR0ZXJuIGxp c3QuIFRoYXQgd291bGQgYmUgdWx0cmEgZ2VuZXJpYywgd291bGRuJ3QgYnJlYWsgYW55DQo+ID4g QUJJL0FQSSBhbmQgbGlrZSBJTlZFUlQsIHdvdWxkbid0IGV2ZW4gcmVxdWlyZSBhIG5ldyBvYmpl Y3QgYXNzb2NpYXRlZA0KPiB3aXRoIGl0Lg0KPiA+DQo+ID4gVG8gbWF0Y2ggVURQdjYgdHJhZmZp YyB3aGVuIHRoZXJlIGlzIG5vIGZyYWdtZW50IGhlYWRlciwgb25lIGNvdWxkDQo+ID4gdGhlbiBk byBzb21ldGhpbmcgbGlrZToNCj4gPg0KPiA+ICBldGggLyBpcHY2IC8gbm90IC8gaXB2Nl9leHRf ZnJhZyAvIHVkcA0KPiA+DQo+ID4gUE1EIHN1cHBvcnQgd291bGQgYmUgdHJpdmlhbCB0byBpbXBs ZW1lbnQgKEknbSBzdXJlISkNCj4gPg0KPiBJIGFncmVlIHdpdGggeW91IGFzIEkgc2FpZCBhYm92 ZS4gVGhlIGlzc3VlIGlzIG5vdCBQTUQsIHRoZSBpc3N1ZXMgYXJlOg0KPiAxLiB0aGluayBhYm91 dCB0aGUgcnVsZSB5b3Ugc3RhdGVkIGFib3ZlIGZyb20gbG9naWMgcG9pbnQgdGhlcmUgaXMgc29t ZQ0KPiBjb250cmFkaWN0aW9uLCB5b3UgYXJlIHNheWluZyBpcHY2IG5leHQgcHJvdG8gdWRwIGJ1 dCB5b3UgYWxzbyBzYXkgbm90IGZyYWcsDQo+IHRoaXMgaXMgbG9naWMgb25seSBmb3IgSVBWNiBl eHQuDQo+IDIuIEhXIGlzc3VlLCBJIGRvbid0IGtub3cgb2YgSFcgdGhhdCBrbm93cyBob3cgdG8g c3VwcG9ydCBub3Qgb24gYW4gaXRlbS4NCj4gU28gYWRkaW5nIHNvbWV0aGluZyBmb3IgYWxsIGl0 ZW1zIGZvciBvbmx5IG9uZSBjYXNlIGlzIG92ZXJraWxsLg0KPiANCj4gDQo+IA0KPiA+IFdlIG1h eSBsYXRlciBpbXBsZW1lbnQgb3RoZXIga2luZHMgb2YgIm9wZXJhdG9yIiBpdGVtcyBhcyBBbmRy ZXcNCj4gPiBzdWdnZXN0ZWQsIGZvciBiaXQtd2lzZSBzdHVmZiBhbmQgc28gb24uIExldCdzIGtl ZXAgYWRkaW5nIGZlYXR1cmVzIG9uDQo+ID4gYSBuZWVkZWQgYmFzaXMgdGhvdWdoLg0KPiA+DQo+ ID4gLS0NCj4gPiBBZHJpZW4gTWF6YXJndWlsDQo+ID4gNldJTkQNCj4gDQo+IEJlc3QsDQo+IE9y aQ0K