From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-ve1eur01on0040.outbound.protection.outlook.com [104.47.1.40]) by dpdk.org (Postfix) with ESMTP id F0B2F1B3EF for ; Tue, 30 Jan 2018 16:47:54 +0100 (CET) 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; bh=Ag7J280wGZK1S0huSQKcTEKqtRpT1f+BOTQyGSdpLiE=; b=ZpQ+ZyjpCIeNaJhnIbfu5rNBu/sc6+ZbK7HpDQwwOBHKvYMCfAGCIbBVj+eQhahraF10DfOeAUu2JY1/brTBi+qdsgu/T52KqohGl3bfpBYueh8sJ8p170KyEQGl8GXZ7uLLxJjessxLzjKMT5rAa1L8/87ky+fzQ/XztBNI1IY= Received: from VI1PR05MB1678.eurprd05.prod.outlook.com (10.165.235.152) by VI1PR05MB1295.eurprd05.prod.outlook.com (10.162.122.149) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.444.14; Tue, 30 Jan 2018 15:47:51 +0000 Received: from VI1PR05MB1678.eurprd05.prod.outlook.com ([fe80::405b:2710:4559:10f7]) by VI1PR05MB1678.eurprd05.prod.outlook.com ([fe80::405b:2710:4559:10f7%14]) with mapi id 15.20.0444.016; Tue, 30 Jan 2018 15:47:51 +0000 From: "Xueming(Steven) Li" To: "Ananyev, Konstantin" , Olivier MATZ CC: "dev@dpdk.org" , "Wu, Jingjing" , Shahaf Shuler , Yongseok Koh , Thomas Monjalon , "Yigit, Ferruh" Thread-Topic: [dpdk-dev] [PATCH v2 1/5] ethdev: introduce Tx generic tunnel offloads Thread-Index: AQHTmSEeJGeKFbhnNE6HEM0E+jeIsKOLt5xggACyhwCAAB6+gIAABFGAgAAAqnA= Date: Tue, 30 Jan 2018 15:47:51 +0000 Message-ID: References: <20180109141110.146250-2-xuemingl@mellanox.com> <20180129150859.71573-1-xuemingl@mellanox.com> <2601191342CEEE43887BDE71AB977258905654E2@IRSMSX103.ger.corp.intel.com> <2601191342CEEE43887BDE71AB97725890565B06@IRSMSX103.ger.corp.intel.com> <2601191342CEEE43887BDE71AB97725890565BE5@IRSMSX103.ger.corp.intel.com> In-Reply-To: <2601191342CEEE43887BDE71AB97725890565BE5@IRSMSX103.ger.corp.intel.com> Accept-Language: zh-CN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=xuemingl@mellanox.com; x-originating-ip: [114.83.161.171] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; VI1PR05MB1295; 6:+kf663GBlm0CFjTJsInWXYeWzMulhQCq1l8/w8k7yVG9n1jCDE0M+/Jhtr7sDXEiIs0CcSbO+Dj6PvvKKB5HxNZDHBfh+TQFMBlFIAxhStFzGp1Up9YR0/ouGhGArAlWspKE8SXXIpRKMqtJVPLxA561APG3pMrWt10+BTT14ij7n8iuKvz89FCSs1/padI8qHfkUf0pxH9y0u0fznNh4+aTuuEnO8o5JNKJyR9ZfzV7uWeMz4R+W82BKdHCqTF9DQ5UgMvKbB9pa+opCUBNpeKiJasKqpn68VUlcLGhhGFCcgMGhkJhbq+fcZZN2L+MRdjIjijfK3EoV3ujFuxR/pHS81W/3am8Uf1PWT/wij9oXdSYFHWJsK6tPDcQh6Yo; 5:aQaHXHEMjZlsGefkRT4d3LEOTbpBwfHrkL3Bmb/wzVHLDzWMwQ8xMdFBF6xhu85XMg+irSfBAs0kpsQ5A04cIBLy+0PHl7wnBEUIuxHp9thMolw36JEEpgJ1kN6zZVanZmipRRImPHLD0hoNy4uE32CHZrOqoLxn+S3QrXgORZE=; 24:egNvZ1e/nEubmiImke624gwT7vqPD2CUX37Vy8u9ZY6jNhl+Vw/g/n/zdNmMQFLnOR/sii+pRfFPHaIAWYL9RrSzMYX9VXKkHEVzcttL+mM=; 7:SizgjsxysIXslXdf3QIqmP4goXn8KXBgG4Rm8hYT/iL/GWA1iLxtAJncdMveGtPkXFfmSA6uR+UXKCr5FpNWLzOpxMm9Y3CIun4JzPRTKQlgukzUhrzNq8GPGtaCFl6KpIw0JpDHitW3RREwWXdOBGNnMRF/jmded7f9IHNR8ZoEopFJZWEU1Afo4XZWGrV/X9SMCYO1QXFhW/Xmzex9wEeEeRC4C41cx9BFZpXOi3GdCSrJIb9qxYuLc63p8AMV x-ms-exchange-antispam-srfa-diagnostics: SSOS; x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: a428cb37-2e9e-4fb4-279a-08d567f8d235 x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(4534165)(4627221)(201703031133081)(201702281549075)(48565401081)(5600026)(4604075)(3008032)(2017052603307)(7153060)(7193020); SRVR:VI1PR05MB1295; x-ms-traffictypediagnostic: VI1PR05MB1295: x-ld-processed: a652971c-7d2e-4d9b-a6a4-d149256f461b,ExtAddr x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(228905959029699); x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(6040501)(2401047)(8121501046)(5005006)(93006095)(93001095)(3231101)(944501161)(10201501046)(3002001)(6055026)(6041288)(20161123564045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123558120)(20161123562045)(6072148)(201708071742011); SRVR:VI1PR05MB1295; BCL:0; PCL:0; RULEID:; SRVR:VI1PR05MB1295; x-forefront-prvs: 0568F32D91 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(396003)(346002)(366004)(39860400002)(39380400002)(376002)(199004)(189003)(13464003)(68736007)(6246003)(26005)(7696005)(102836004)(478600001)(76176011)(55016002)(575784001)(105586002)(8936002)(14454004)(86362001)(99286004)(7736002)(5250100002)(2950100002)(305945005)(81166006)(81156014)(6436002)(6116002)(3846002)(74316002)(3660700001)(3280700002)(25786009)(316002)(2906002)(53546011)(106356001)(6506007)(110136005)(97736004)(54906003)(229853002)(59450400001)(4326008)(5660300001)(9686003)(2900100001)(66066001)(186003)(33656002)(93886005)(53936002)(41533002); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR05MB1295; H:VI1PR05MB1678.eurprd05.prod.outlook.com; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; received-spf: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) x-microsoft-antispam-message-info: VcpB+KJjrbnQCzvGB1xS5lE3pnbI4/riepyIH8rC0wU3VhRGWoUi2ef0ak7B3PVCoLEd8SfQ5vbwDW/SvfjPbA== spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM 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: a428cb37-2e9e-4fb4-279a-08d567f8d235 X-MS-Exchange-CrossTenant-originalarrivaltime: 30 Jan 2018 15:47:51.7636 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR05MB1295 Subject: Re: [dpdk-dev] [PATCH v2 1/5] ethdev: introduce Tx generic tunnel offloads 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: Tue, 30 Jan 2018 15:47:55 -0000 DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogQW5hbnlldiwgS29uc3Rh bnRpbiBbbWFpbHRvOmtvbnN0YW50aW4uYW5hbnlldkBpbnRlbC5jb21dDQo+IFNlbnQ6IFR1ZXNk YXksIEphbnVhcnkgMzAsIDIwMTggMTE6MzQgUE0NCj4gVG86IFh1ZW1pbmcoU3RldmVuKSBMaSA8 eHVlbWluZ2xAbWVsbGFub3guY29tPjsgT2xpdmllciBNQVRaDQo+IDxvbGl2aWVyLm1hdHpANndp bmQuY29tPg0KPiBDYzogZGV2QGRwZGsub3JnOyBXdSwgSmluZ2ppbmcgPGppbmdqaW5nLnd1QGlu dGVsLmNvbT47IFNoYWhhZiBTaHVsZXINCj4gPHNoYWhhZnNAbWVsbGFub3guY29tPjsgWW9uZ3Nl b2sgS29oIDx5c2tvaEBtZWxsYW5veC5jb20+OyBUaG9tYXMgTW9uamFsb24NCj4gPHRob21hc0Bt b25qYWxvbi5uZXQ+OyBZaWdpdCwgRmVycnVoIDxmZXJydWgueWlnaXRAaW50ZWwuY29tPg0KPiBT dWJqZWN0OiBSRTogW2RwZGstZGV2XSBbUEFUQ0ggdjIgMS81XSBldGhkZXY6IGludHJvZHVjZSBU eCBnZW5lcmljIHR1bm5lbA0KPiBvZmZsb2Fkcw0KPiANCj4gDQo+IA0KPiA+IC0tLS0tT3JpZ2lu YWwgTWVzc2FnZS0tLS0tDQo+ID4gRnJvbTogWHVlbWluZyhTdGV2ZW4pIExpIFttYWlsdG86eHVl bWluZ2xAbWVsbGFub3guY29tXQ0KPiA+IFNlbnQ6IFR1ZXNkYXksIEphbnVhcnkgMzAsIDIwMTgg MzoyNyBQTQ0KPiA+IFRvOiBBbmFueWV2LCBLb25zdGFudGluIDxrb25zdGFudGluLmFuYW55ZXZA aW50ZWwuY29tPjsgT2xpdmllciBNQVRaDQo+ID4gPG9saXZpZXIubWF0ekA2d2luZC5jb20+DQo+ ID4gQ2M6IGRldkBkcGRrLm9yZzsgV3UsIEppbmdqaW5nIDxqaW5namluZy53dUBpbnRlbC5jb20+ OyBTaGFoYWYgU2h1bGVyDQo+ID4gPHNoYWhhZnNAbWVsbGFub3guY29tPjsgWW9uZ3Nlb2sgS29o IDx5c2tvaEBtZWxsYW5veC5jb20+OyBUaG9tYXMNCj4gPiBNb25qYWxvbiA8dGhvbWFzQG1vbmph bG9uLm5ldD47IFlpZ2l0LCBGZXJydWggPGZlcnJ1aC55aWdpdEBpbnRlbC5jb20+DQo+ID4gU3Vi amVjdDogUkU6IFtkcGRrLWRldl0gW1BBVENIIHYyIDEvNV0gZXRoZGV2OiBpbnRyb2R1Y2UgVHgg Z2VuZXJpYw0KPiA+IHR1bm5lbCBvZmZsb2Fkcw0KPiA+DQo+ID4gSGkgQW5hbnlldiwNCj4gPg0K PiA+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiA+IEZyb206IEFuYW55ZXYsIEtv bnN0YW50aW4gW21haWx0bzprb25zdGFudGluLmFuYW55ZXZAaW50ZWwuY29tXQ0KPiA+ID4gU2Vu dDogVHVlc2RheSwgSmFudWFyeSAzMCwgMjAxOCA5OjI4IFBNDQo+ID4gPiBUbzogWHVlbWluZyhT dGV2ZW4pIExpIDx4dWVtaW5nbEBtZWxsYW5veC5jb20+OyBPbGl2aWVyIE1BVFoNCj4gPiA+IDxv bGl2aWVyLm1hdHpANndpbmQuY29tPg0KPiA+ID4gQ2M6IGRldkBkcGRrLm9yZzsgV3UsIEppbmdq aW5nIDxqaW5namluZy53dUBpbnRlbC5jb20+OyBTaGFoYWYNCj4gPiA+IFNodWxlciA8c2hhaGFm c0BtZWxsYW5veC5jb20+OyBZb25nc2VvayBLb2ggPHlza29oQG1lbGxhbm94LmNvbT47DQo+ID4g PiBUaG9tYXMgTW9uamFsb24gPHRob21hc0Btb25qYWxvbi5uZXQ+OyBZaWdpdCwgRmVycnVoDQo+ ID4gPiA8ZmVycnVoLnlpZ2l0QGludGVsLmNvbT4NCj4gPiA+IFN1YmplY3Q6IFJFOiBbZHBkay1k ZXZdIFtQQVRDSCB2MiAxLzVdIGV0aGRldjogaW50cm9kdWNlIFR4IGdlbmVyaWMNCj4gPiA+IHR1 bm5lbCBvZmZsb2Fkcw0KPiA+ID4NCj4gPiA+DQo+ID4gPiBIaSBYdWVtaW5nLA0KPiA+ID4NCj4g PiA+ID4gPiA+IFRoaXMgcGF0Y2ggaW50cm9kdWNlIG5ldyBUWCBvZmZsb2FkcyBmbGFnIGZvciBk ZXZpY2VzIHRoYXQNCj4gPiA+ID4gPiA+IHN1cHBvcnQgdHVubmVsIGFnbm9zdGljIGNoZWNrc3Vt IGFuZCBUU08gb2ZmbG9hZHMuDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gVGhlIHN1cHBvcnQg ZnJvbSB0aGUgZGV2aWNlIGlzIGZvciBpbm5lciBhbmQgb3V0ZXIgY2hlY2tzdW1zDQo+ID4gPiA+ ID4gPiBvbiBJUFY0L1RDUC9VRFAgYW5kIFRTTyBmb3IgKmFueSBwYWNrZXQgd2l0aCB0aGUgZm9s bG93aW5nDQo+IGZvcm1hdCo6DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPCBzb21lIGhlYWRl cnMgPiAvIFtvcHRpb25hbCBJUHY0L0lQdjZdIC8gW29wdGlvbmFsIFRDUC9VRFBdIC8NCj4gPiA+ ID4gPiA+IDxzb21lDQo+ID4gPiA+ID4gPiBoZWFkZXJzPiAvIFtvcHRpb25hbCBpbm5lciBJUHY0 L0lQdjZdIC8gW29wdGlvbmFsIFRDUC9VRFBdDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gRm9y IGV4YW1wbGUgdGhlIGZvbGxvd2luZyBwYWNrZXRzIGNhbiB1c2UgdGhpcyBmZWF0dXJlOg0KPiA+ ID4gPiA+ID4NCj4gPiA+ID4gPiA+IDEuIGV0aCAvIGlwdjQgLyB1ZHAgLyBWWExBTiAvIGlwIC8g dGNwIDIuIGV0aCAvIGlwdjQgLyBHUkUgLw0KPiA+ID4gPiA+ID4gTVBMUyAvDQo+ID4gPiA+ID4g PiBpcHY0IC8gdWRwDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBTbyBpbiB0ZXJtcyBvZiB1c2FnZSAt IHdoYXQgaXMgdGhlIGRpZmZlcmVuY2Ugd2l0aCBjdXJyZW50IFRTTw0KPiB0eXBlcz8NCj4gPiA+ ID4gPiBLb25zdGFudGluDQo+ID4gPiA+ID4NCj4gPiA+ID4NCj4gPiA+ID4gVHJhZGl0aW9uYWxs eSwgSFcgb25seSByZWNvZ25pemUgImtub3duIiB0dW5uZWwgdHlwZSwgZG8gVFNPDQo+ID4gPiA+ IGNhbGN1bGF0aW9uIGJhc2VkIG9uIEwzL0w0IGhlYWRlcnMga25vd24gdG8gdHVubmVsIHR5cGUu IEZvcg0KPiA+ID4gPiBleGFtcGxlLCBpdCBtdXN0IGJlDQo+ID4gPiA+IEwyIGhlYWRlciBhZnRl ciBWWExBTiwgdGhlbiBMMy4gV2hpbGUgdGhpcyBHZW5lcmljIG9mZmxvYWRpbmcNCj4gPiA+ID4g cHJvdmlkZXMgaW5uZXIvb3V0ZXIgTDMvTDQgaGVhZGVyIGluZm8obGVuIGFuZCBvZmZzZXQpIHRv IEhXLCBhbmQNCj4gPiA+ID4gdGh1cyB0dW5uZWwgaW5mbyBiZWNvbWUgbGVzcyBpbXBvcnRhbnQu IFBsZWFzZSBub3RlIHRoZSBNUExTIG92ZXINCj4gPiA+ID4gR1JFIHR1bm5lbCBpbiBsYXN0IGV4 YW1wbGUgYWJvdmUuDQo+ID4gPg0KPiA+ID4gT2ssIGJ1dCBJIHdvbmRlciB3aGVuIHRoZSB1c2Vy IHdvdWxkIGxpa2UgdG8gZG8gVFNPIG9uIHR1bm5lbA0KPiA+ID4gcGFja2V0LCBmb3IgdGhpcyBv ZmZsb2FkIC0gd291bGQgaGUgbmVlZCB0byBkbyBzb21ldGhpbmcgZGlmZmVyZW50bHkNCj4gPiA+ IGZyb20gd2hhdCBoZSBoYXMgdG8gZG8gbm93Og0KPiA+ID4gcmFpc2UgUEtUX1RYX1RDUF9TRUcg YW5kIHJlbGF0ZWQgZmxhZ3MsIHJhaXNlIGFwcHJvcHJpYXRlDQo+ID4gPiBQS1RfVFhfVFVOTkVM XyogZmxhZywgZmlsbCBsMl9sZW4sIGwzX2xlbiwNCj4gbDRfbGVuLHRzb19zZWdzeixvdXRlcl9s Ml9sZW4sb3V0ZXJfbDNfbGVuPw0KPiA+ID4NCj4gPg0KPiA+IFllcywgdGhlc2UgZmllbGRzIGFy ZSBzdWZmaWNpZW50IGV4Y2VwdCBQS1RfVFhfVFVOTkVMXyosIG1ham9yIHRhcmdldA0KPiA+IG9m IHRoaXMgbmV3IGZlYXR1cmUgaXMgdG8gc3VwcG9ydCAidW5rbm93biIgdHVubmVsIG9mZmxvYWRp bmcsIGl0DQo+IHN1cHBvcnRzICJrbm93biINCj4gPiB0dW5uZWwgdHlwZSBhcyB3ZWxsLg0KPiAN Cj4gT2ssIGJ1dCB1c2VyIHdvdWxkIHN0aWxsIG5lZWQgdG8gc2V0IHNvbWUgZmxhZyB0byBpbmRp Y2F0ZSB0aGF0IHRoaXMgaXMgYQ0KPiB0dW5uZWwgcGFja2V0LCBhbmQgaGUgd2FudHMgVFNPIG92 ZXIgaXQsIHJpZ2h0Pw0KPiBGb3IgcHJlLWRlZmluZWQgdHVubmVsIHR5cGVzIGl0IGNhbiBiZSBv bmUgb2YgUEtUX1RYX1RVTk5FTF8qICh3aGljaA0KPiBhY3R1YWxseSBtZWFucyB0aGF0IHVzZXIg c3RpbGwgaGF2ZSB0byBrbm93IHR1bm5lbCB0eXBlIGFueXdheT8pIEJ1dCBmb3INCj4gc29tZSBu b3QgZGVmaW5lZCB0dW5uZWwgdHlwZSAtIHdoYXQgaXQgd291bGQgYmU/DQo+IEtvbnN0YW50aW4N Cj4NCg0KQXMgdGhpcyBmZWF0dXJlIHRhcmdldCB0byBUWCBwYXRoLCBPdXRlciBsZW5ndGggYXMg dHVubmVsIGluZGljYXRpb24sDQpsZWF2ZSBpdCBlbXB0eSBpZiB0dW5uZWwgbm90IGRlZmluZWQu IA0KDQpCdXQgSSB0aGluayBpdCBnb29kIHRvIGRlZmluZSBzb21ldGhpbmcgbGlrZToNCiAJUEtU X1RYX1RVTk5FTF9HRU5FUklDID0gUEtUX1RYX1RVTk5FTF9NQVNLDQpBbmQgYSBuZXcgZmxhZyBQ S1RfVFhfT1VURVJfVURQLCBob3cgZG8geW91IHRoaW5rPw0KIA0KPiA+DQo+ID4gUEtUX1RYX1RV Tk5FTF9WWExBTiBoYXMgdG8gYmUgdXNlZCBhcyBhIGhpbnQgaWYgb3V0ZXIgVURQIGV4cGVjdGVk Lg0KPiA+DQo+ID4gPiBLb25zdGFudGluDQo+ID4gPg0KPiA+ID4gPg0KPiA+ID4gPiA+ID4NCj4g PiA+ID4gPiA+IFNpZ25lZC1vZmYtYnk6IFh1ZW1pbmcgTGkgPHh1ZW1pbmdsQG1lbGxhbm94LmNv bT4NCj4gPiA+ID4gPiA+IC0tLQ0KPiA+ID4gPiA+ID4gIGxpYi9saWJydGVfZXRoZXIvcnRlX2V0 aGRldi5oIHwgMTAgKysrKysrKysrKw0KPiA+ID4gPiA+ID4gIDEgZmlsZSBjaGFuZ2VkLCAxMCBp bnNlcnRpb25zKCspDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gZGlmZiAtLWdpdCBhL2xpYi9s aWJydGVfZXRoZXIvcnRlX2V0aGRldi5oDQo+ID4gPiA+ID4gPiBiL2xpYi9saWJydGVfZXRoZXIv cnRlX2V0aGRldi5oIGluZGV4IDFhNWI0Y2RjNS4uZDhkMDhjY2IyDQo+ID4gPiA+ID4gPiAxMDA2 NDQNCj4gPiA+ID4gPiA+IC0tLSBhL2xpYi9saWJydGVfZXRoZXIvcnRlX2V0aGRldi5oDQo+ID4g PiA+ID4gPiArKysgYi9saWIvbGlicnRlX2V0aGVyL3J0ZV9ldGhkZXYuaA0KPiA+ID4gPiA+ID4g QEAgLTk3OSw2ICs5NzksMTYgQEAgc3RydWN0IHJ0ZV9ldGhfY29uZiB7DQo+ID4gPiA+ID4gPiAg ICogICB0aGUgc2FtZSBtZW1wb29sIGFuZCBoYXMgcmVmY250ID0gMS4NCj4gPiA+ID4gPiA+ICAg Ki8NCj4gPiA+ID4gPiA+ICAjZGVmaW5lIERFVl9UWF9PRkZMT0FEX1NFQ1VSSVRZICAgICAgICAg MHgwMDAyMDAwMA0KPiA+ID4gPiA+ID4gKy8qKjwgRGV2aWNlIHN1cHBvcnRzIGdlbmVyaWMgdHVu bmVsIGNoZWNrc3VtIGFuZCBUU08gb2ZmbG9hZGluZy4NCj4gPiA+ID4gPiA+ICsgKiBDaGVja3N1 bSBhbmQgVFNPIGFyZSBkb25lIGJhc2VkIG9uIGZvbGxvd2luZyBtYnVmIGZpZWxkczoNCj4gPiA+ ID4gPiA+ICsgKiAgIC0gTGVuZ3RoIG9mIGVhY2ggaGVhZGVyDQo+ID4gPiA+ID4gPiArICogICAt IFR5cGUgb2Ygb3V0ZXIvaW5uZXIgTDMgdHlwZSwgSVB2NCBvciBJUHY2DQo+ID4gPiA+ID4gPiAr ICogICAtIFR5cGUgb2Ygb3V0ZXIvaW5uZXIgTDQgdHlwZSwgVENQIG9yIFVEUC4NCj4gPiA+ID4g PiA+ICsgKgktIFBLVF9UWF9UVU5ORUxfVlhMQU4gaW1wbGllcyBvdXRlciBVRFAgdHlwZS4NCj4g PiA+ID4gPiA+ICsgKgktIFBLVF9UWF9UQ1BfU0VHIGltcGxpZXMgaW5uZXIgVENQIHR5cGUuDQo+ ID4gPiA+ID4gPiArICogVHVubmVsIHR5cGUgaXMgb3B0aW9uYWwgZXhjZXB0IFBLVF9UWF9UVU5O RUxfVlhMQU4gdG8gaGludA0KPiA+ID4gPiA+ID4gK291dGVyDQo+ID4gPiBVRFAuDQo+ID4gPiA+ ID4gPiArICovDQo+ID4gPiA+ID4gPiArI2RlZmluZSBERVZfVFhfT0ZGTE9BRF9HRU5FUklDX1RO TF9DS1NVTV9UU08JMHgwMDA0MDAwMA0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICAvKg0KPiA+ ID4gPiA+ID4gICAqIElmIG5ldyBUeCBvZmZsb2FkIGNhcGFiaWxpdGllcyBhcmUgZGVmaW5lZCwg dGhleSBhbHNvIG11c3QNCj4gPiA+ID4gPiA+IGJlDQo+ID4gPiA+ID4gPiAtLQ0KPiA+ID4gPiA+ ID4gMi4xMy4zDQoNCg==