From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id ACF84A00BE; Mon, 25 Apr 2022 11:23:28 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 873E041109; Mon, 25 Apr 2022 11:23:28 +0200 (CEST) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by mails.dpdk.org (Postfix) with ESMTP id 7FA25410E6 for ; Mon, 25 Apr 2022 11:23:26 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1650878606; x=1682414606; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=zumN/gYt3Qphw1UneDReA7nvDmYWNJmygNT2WYezp5k=; b=HuCYqTaYEc7GBn52gHpBSINwfV/UfMpy2utnqigAnIxuYAz1unBrYeye DuMg1DhsOicm3kZh1OyXgZziN3OkhwxDucrB5BpUZ5+s+sgo5ZCpiW+HO ntWUi+x2lQmLhpD9Jzq/NRcigaymdj4z5pBaW525OOi+u7CIvec72EASS vsOPL58hDzwYgIuzw7U2PEdt333VqYxOy0KdSzUXOuMJWG2Oo0+Iw/hc6 dokQyFJSNFwclRwOI/nEo7oeY930tqahBqtM2gQKIwwX92UFfYm2sRccb 80x86hMKl8YqkarnmUm6TmGaJtOqC0T3KTLOGK7bNi3m6NnRnw3j/V0qm A==; X-IronPort-AV: E=McAfee;i="6400,9594,10327"; a="264712524" X-IronPort-AV: E=Sophos;i="5.90,287,1643702400"; d="scan'208";a="264712524" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 25 Apr 2022 02:23:25 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,287,1643702400"; d="scan'208";a="649614715" Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82]) by FMSMGA003.fm.intel.com with ESMTP; 25 Apr 2022 02:23:25 -0700 Received: from fmsmsx612.amr.corp.intel.com (10.18.126.92) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27; Mon, 25 Apr 2022 02:23:24 -0700 Received: from fmsmsx609.amr.corp.intel.com (10.18.126.89) by fmsmsx612.amr.corp.intel.com (10.18.126.92) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27; Mon, 25 Apr 2022 02:23:24 -0700 Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) by fmsmsx609.amr.corp.intel.com (10.18.126.89) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27 via Frontend Transport; Mon, 25 Apr 2022 02:23:24 -0700 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (104.47.59.169) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2308.27; Mon, 25 Apr 2022 02:23:24 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=HviBZlTQcgLmTBZYYfycf0oVNF5rvvD4gx2sS08Ic3QzOvtwbH6syRwg+a7HZZqTlgQRS2q2Xna3UWhtUX25Eo6FnR84pXe0aZvjrDH8wsHAFNj5tDSYWhfyPyCfW3dJkAiof5Y/us7jQZL4E16a+HoDaedMGp2ThN7DpGxlPjBFsJNHJpNf/EiTue+tMkSRYK/iXzDdsi63tQ5qPDohQMUMsj3H4G6DCr7gqDEFSrhWqtQuI8qW1wD690lC+gEkBelFbgso4jnCcEq2o+BcLgXsAaA0yiUgaHVeztZqeXihiOfEzLC7GLiBqnX1bi4pkUKT3j5rXtua62eJqW/xYQ== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=zumN/gYt3Qphw1UneDReA7nvDmYWNJmygNT2WYezp5k=; b=b2MxdpjNI3ZwEGNvt9Qehnxqxwvfuxu19VH+BLh57n35RHUrYBEepop+k04dXupeyV7A2soMRO3ZLp6ZfNU8PVrP8LhbFbv7CxOiDcxVtpbyl2du6dqldH7X4Tt8VJG0sHTxIlKlGIYYnVI8SYp2OLSWVpukBxE10h1IbD71eJBfMfa2FWh2F6pX1gCHtBD1jVdrfHV66iv5kl2oXghQL1pjHtRrGBNjfJ+5i/1nPafck3V6fh+RI4vajtLiPNtaAQB5zgQjMYpQn9kfP+ZjBskp/mkWGfecS3tkJIz0fqiELkvnpM6M+x3NREHqGE67jsTDjLN9RKgtyuvu7mzqeA== 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 Received: from BN9PR11MB5513.namprd11.prod.outlook.com (2603:10b6:408:102::11) by SA0PR11MB4655.namprd11.prod.outlook.com (2603:10b6:806:9d::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5186.13; Mon, 25 Apr 2022 09:23:22 +0000 Received: from BN9PR11MB5513.namprd11.prod.outlook.com ([fe80::9147:90d3:4ea2:7838]) by BN9PR11MB5513.namprd11.prod.outlook.com ([fe80::9147:90d3:4ea2:7838%6]) with mapi id 15.20.5186.021; Mon, 25 Apr 2022 09:23:22 +0000 From: "Ding, Xuan" To: Andrew Rybchenko , Jerin Jacob , "Wu, WenxuanX" CC: Thomas Monjalon , "Li, Xiaoyun" , "Singh, Aman Deep" , "Zhang, Yuying" , "Zhang, Qi Z" , dpdk-dev , Stephen Hemminger , =?utf-8?B?TW9ydGVuIEJyw7hydXA=?= , Viacheslav Ovsiienko , "Yu, Ping" , "Wang, YuanX" Subject: RE: [v4 1/3] ethdev: introduce protocol type based header split Thread-Topic: [v4 1/3] ethdev: introduce protocol type based header split Thread-Index: AQHYRoFV1PgDPUFqJUelFXME57QWpKzkeTaAgAgK9DCADHfXAIAHgSZQ Date: Mon, 25 Apr 2022 09:23:22 +0000 Message-ID: References: <20220303060136.36427-1-xuan.ding@intel.com> <20220402104109.472078-1-wenxuanx.wu@intel.com> <20220402104109.472078-2-wenxuanx.wu@intel.com> In-Reply-To: Accept-Language: zh-CN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.6.401.20 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 4d025cb0-079f-4e16-2257-08da269d3e5b x-ms-traffictypediagnostic: SA0PR11MB4655:EE_ x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: AydNXWknk9XJ3qAJgSwfuc1BNguWMMelUvXZXmpvRMy+DIDHEdhZdtUIZrucHkT8lt1j0edUGHsFjrcgMm2Z2ac5mimBMUOGmeg/lvio4cw/ziTOJ1hMMcL2TEZ0Xdvxujf+GgYKh3ZtyQMWZityP3/8xtBDtfwtbuiNB7DM4DceyiftrtDIjQ37l8NL7qpzFW/mY8v5LCVO9ndaEyRfBxPAexZFmwGet05bQl8wIIveeSmlWsaI08fKpnhiA4soBI8iD1HmJJFrST6wiXp308LzgCQMUTMKSgobuoXizkVv7TO0Xzxk8bIiyaGiV8tgd/RREbrXYaua6xKIqJtP3yq0ySytiEZP8BYuY6+Pz8TTe8fkU659dXNO9ijoTSYPuDNPbEtbGFSNllZll9SSbzIXu6onC8PZDi1VHg59eloQJ0AvCTaH0xlvUO3V1t+wrNS239rVvaF8eYqFegKX4nbMV82n42QikiQcb85NuNaggiMXlMG9EPwBU3NDZmEdohWhl5yxwTi0ZE0pGgAc7Zq6uLpzxUw+8xjaTfoPTzYgEgPgdFYX5lWSso1j6lbKbazC4brPILl7YueYYkevGxXhXzgPiwkH7JiJmfS/myMLANzUoZ/GXPoGJnBOuut6iA4VA+kO4ZYPQ5pzerIgInj+DXmn1PwVvGTIW5pLYtM8mgxc96WTDmq54UTt0G3b8L7AdznXNEz/ONN00iHpBg== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BN9PR11MB5513.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(366004)(86362001)(66556008)(76116006)(66476007)(64756008)(66446008)(4326008)(66946007)(55016003)(7696005)(107886003)(66574015)(186003)(83380400001)(38070700005)(38100700002)(8936002)(71200400001)(5660300002)(316002)(508600001)(2906002)(8676002)(26005)(33656002)(54906003)(110136005)(9686003)(82960400001)(122000001)(53546011)(6506007)(52536014)(6636002); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?dW0vZlJqMHJ4d1dJQURZOWJQcmhVTG5vemZ6ZUcycW90WDNRWTRBcHBVcXhv?= =?utf-8?B?eWtuTGdTWC9hRFdJeUJhSWJ1Ym94bGtEU2Q3bjRWWG1zM0hOTVZERVN4ckl4?= =?utf-8?B?VnhYWW9EOTU0b2x2ckczUXhqQVlNZ0RKTGYzYVJwc2Z4bGN1WmF4d2VKZkMx?= =?utf-8?B?MkJ5QWYxOE1ZRjFlQ1FlaVBBQTNWNE1sc1R3aW51K0dWUzRzcnZmMjNTL2Fs?= =?utf-8?B?aUtNbndjMmtxSm1xNkJYUE1vKzhvcUU5dy9XTUFpWjdxeUtvVWtCU1J5NGNX?= =?utf-8?B?S0h1cmdPZFNHTGdDWWFpUnpyY0VySUJIdXdCUHc3cm5sZE8zSEFjdGlEc05O?= =?utf-8?B?VE1EdmpCK0lyc2tsalFkeWxldjIzbnRvM0dhRXIzS0dWSStqU3JFSHRKYm55?= =?utf-8?B?NEd2QW1RS1FBK0IvM0NiZ3lBWjh5S2JnTkVxNm9HMHR3cDNIWmFTajNoS2RX?= =?utf-8?B?MW5VMTJPbExnYjU2bkpja2xQRUZGaUcva1BUWFE4VjJCcDZUaDh0TmxwQUYv?= =?utf-8?B?RGF3R011emU1elJURHlOZTdOK25Pc2kwSWlpb2FjVGZiM3JVRFNUaGo2QWNL?= =?utf-8?B?Ti9DVmxZZkRKK2JJWWt3a1BBeTIyMFFUekFqMi94WlBYUitwcm1wT3FhaVU5?= =?utf-8?B?V0hqL0huTjVWREwvUkV0UXhqbDlMc0ZySXFyQmpDTTdJaHgwNUI5YnM3REhh?= =?utf-8?B?cUNtTjdrcjdZL1lOT2NoVmNHVDNhMWZuSG81dE1ZMG0rbURKb3hnek1YNnA5?= =?utf-8?B?eXBYakRGUmVheXdQQ1JwakdEb3JETklCMGhCR3JOTXFrQ2NjbUVhMXArQXFp?= =?utf-8?B?ZDdBVDdWN251VGRkSkd0T3lqSkUzTHRSa3BxZlE3MlV1RmhJc3N3ckZlMlJD?= =?utf-8?B?QmptQjZUY2hXVHMwLzZuOHA2Q1hGOUZucENERXB1cUhBVGVQSmJXMmRjckRQ?= =?utf-8?B?REY0QVB1eTlxN0JpdHNQVGJHS2VObVZIWk83akpLdkRnbU1jZWR0dnUyaG5W?= =?utf-8?B?c2xrQjVnWjB3VkpUOUpJamVuaDlLR0ptbDl2N3JPMzh1bFNkMTUweUM0b2s4?= =?utf-8?B?ajNuNzR2Z2dFVG5wVHJLaXY4V1pHK2M0VEpWYkxaK0VTVWJ2Z3luL0Y2WUFl?= =?utf-8?B?dmVFckhJcnNjMlBiT0Rjc0tQeEhweHNsTU0xVTBjN2ZscXRRSXVYSW9EdUt4?= =?utf-8?B?ZWtESStMMHFSMzhNYmUzRlVVOVVWeUw4bysvRXpRWXlyR0dad2ZrNUpBaVAz?= =?utf-8?B?cG9kZUxNZjBSVDFiT2xvWWQwQ09QRXJFUU9YT0oxeHJwTlNiYWlNMWE4R1Q1?= =?utf-8?B?b1djbGRSdG5OS2E5dXJuMkc5MFhhNlE5ZVhIOUsvMXgyNVFSdTBXU2IwOEts?= =?utf-8?B?WWp4dnRGSXlESjRROGcxYit3UVI5NWMrV2V4ZUR2S3I0ZDVXaWwxSHpLd0Zr?= =?utf-8?B?SGsvV0FUT0s1RWc3QjlScEVYREM5b3hpM0hYUXBzY01XYWY0RnpIWnBhZ3NC?= =?utf-8?B?MDNHUyt3bTFla25SWmxNTHdpc0pnOUpicTZkMUZwckM4MHRtUTNJR29NV3pE?= =?utf-8?B?d09Vbi9rWE50UWhUKy9lUXFrRVAxeVNneWxyV293cWhyQW56RFFJNFJ6V0VK?= =?utf-8?B?bGlJeG1yTGdvS05tVjJUTWFuRzFFb3R2cHNJVkZmS0hIeE16eWF3Y0JrZ3o2?= =?utf-8?B?VHVuVncwcU11WTV5Yy9PamRENEErTy80WmtWMGNTcUJPVENsVEZVdytJQjF1?= =?utf-8?B?cFBvK3hEYmVXeHhudjFkQmtpSHRmb21ZaCszRy9qd3lLeXNodGJINmxjZDBQ?= =?utf-8?B?RExzTHAwV3BucVVVdWMyMlp6VE1ESlFIM3JtTWJKYzEvV3gvWXg4NkFPTmZo?= =?utf-8?B?bGY0NkY2dW9mc2FoWlZWUHBqRk80N3ZhdXJaOUhkMzFzcTJCdjJELy9CaTdn?= =?utf-8?B?bUwxekpYaUtIS1UyTTVVRVlLM1VuUXNZL0hzMWNRNzVRYzQzaVl3S3NSa0pR?= =?utf-8?B?NHVnbTIyL2lBZ1lwdWg1bWVNZDlZZ2pkRUpLcjdKcjFrTDBLNlpoWnFjWVcy?= =?utf-8?B?QWtSc01haktILzZNSWpNYkRVMm5NeHFGZlpEdEhWenU2ZW9teGpHRjJXWlRl?= =?utf-8?B?KzVIVHJ0SHB4d2NNSVI2bmZKT25VVUJnK3hQRmN1ckZIVTVNK05GM3FkNU80?= =?utf-8?B?K0xUSGNvVVVNUnlrZnkvRVFzL3k5WXNDUllKbFI4dkR1SnN2RVhxZnR2Yzlq?= =?utf-8?B?QkhDV0hiajdJRjNxZzF1RFVBbHVPcy9TZHFrb3d4UlBMTW4xZWkzbk9wNWxU?= =?utf-8?B?RjZ5cHNLWTJ0TlZab3BZb0tCa094TU1sUDd1TStJQ2RGaXo3U3ZXZz09?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BN9PR11MB5513.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4d025cb0-079f-4e16-2257-08da269d3e5b X-MS-Exchange-CrossTenant-originalarrivaltime: 25 Apr 2022 09:23:22.3758 (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: QsSodKqkOqiwvXAQec+WwHdroaFP08LRffkfgJ7kOCKQTt9PabTcJyq+HpZdmUME6q1bibG4qfiWTTtjWGYjAg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR11MB4655 X-OriginatorOrg: intel.com X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org SGkgQW5kcmV3LA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEFuZHJl dyBSeWJjaGVua28gPGFuZHJldy5yeWJjaGVua29Ab2t0ZXRsYWJzLnJ1Pg0KPiBTZW50OiBXZWRu ZXNkYXksIEFwcmlsIDIwLCAyMDIyIDEwOjQwIFBNDQo+IFRvOiBEaW5nLCBYdWFuIDx4dWFuLmRp bmdAaW50ZWwuY29tPjsgSmVyaW4gSmFjb2IgPGplcmluamFjb2JrQGdtYWlsLmNvbT47DQo+IFd1 LCBXZW54dWFuWCA8d2VueHVhbngud3VAaW50ZWwuY29tPg0KPiBDYzogVGhvbWFzIE1vbmphbG9u IDx0aG9tYXNAbW9uamFsb24ubmV0PjsgTGksIFhpYW95dW4NCj4gPHhpYW95dW4ubGlAaW50ZWwu Y29tPjsgU2luZ2gsIEFtYW4gRGVlcCA8YW1hbi5kZWVwLnNpbmdoQGludGVsLmNvbT47DQo+IFpo YW5nLCBZdXlpbmcgPHl1eWluZy56aGFuZ0BpbnRlbC5jb20+OyBaaGFuZywgUWkgWg0KPiA8cWku ei56aGFuZ0BpbnRlbC5jb20+OyBkcGRrLWRldiA8ZGV2QGRwZGsub3JnPjsgU3RlcGhlbiBIZW1t aW5nZXINCj4gPHN0ZXBoZW5AbmV0d29ya3BsdW1iZXIub3JnPjsgTW9ydGVuIEJyw7hydXANCj4g PG1iQHNtYXJ0c2hhcmVzeXN0ZW1zLmNvbT47IFZpYWNoZXNsYXYgT3ZzaWllbmtvDQo+IDx2aWFj aGVzbGF2b0BudmlkaWEuY29tPjsgWXUsIFBpbmcgPHBpbmcueXVAaW50ZWwuY29tPjsgV2FuZywg WXVhblgNCj4gPHl1YW54LndhbmdAaW50ZWwuY29tPg0KPiBTdWJqZWN0OiBSZTogW3Y0IDEvM10g ZXRoZGV2OiBpbnRyb2R1Y2UgcHJvdG9jb2wgdHlwZSBiYXNlZCBoZWFkZXIgc3BsaXQNCj4gDQo+ IE9uIDQvMTIvMjIgMTk6NDAsIERpbmcsIFh1YW4gd3JvdGU6DQo+ID4gSGkgSmFjb2IsDQo+ID4N Cj4gPj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPj4gRnJvbTogSmVyaW4gSmFjb2Ig PGplcmluamFjb2JrQGdtYWlsLmNvbT4NCj4gPj4gU2VudDogVGh1cnNkYXksIEFwcmlsIDcsIDIw MjIgOToyNyBQTQ0KPiA+PiBUbzogV3UsIFdlbnh1YW5YIDx3ZW54dWFueC53dUBpbnRlbC5jb20+ DQo+ID4+IENjOiBUaG9tYXMgTW9uamFsb24gPHRob21hc0Btb25qYWxvbi5uZXQ+OyBBbmRyZXcg UnliY2hlbmtvDQo+ID4+IDxhbmRyZXcucnliY2hlbmtvQG9rdGV0bGFicy5ydT47IExpLCBYaWFv eXVuIDx4aWFveXVuLmxpQGludGVsLmNvbT47DQo+ID4+IFNpbmdoLCBBbWFuIERlZXAgPGFtYW4u ZGVlcC5zaW5naEBpbnRlbC5jb20+OyBaaGFuZywgWXV5aW5nDQo+ID4+IDx5dXlpbmcuemhhbmdA aW50ZWwuY29tPjsgWmhhbmcsIFFpIFogPHFpLnouemhhbmdAaW50ZWwuY29tPjsNCj4gPj4gZHBk ay1kZXYgPGRldkBkcGRrLm9yZz47IFN0ZXBoZW4gSGVtbWluZ2VyDQo+ID4+IDxzdGVwaGVuQG5l dHdvcmtwbHVtYmVyLm9yZz47IE1vcnRlbiBCcsO4cnVwDQo+ID4+IDxtYkBzbWFydHNoYXJlc3lz dGVtcy5jb20+OyBWaWFjaGVzbGF2IE92c2lpZW5rbw0KPiA+PiA8dmlhY2hlc2xhdm9AbnZpZGlh LmNvbT47IFl1LCBQaW5nIDxwaW5nLnl1QGludGVsLmNvbT47IERpbmcsIFh1YW4NCj4gPj4gPHh1 YW4uZGluZ0BpbnRlbC5jb20+OyBXYW5nLCBZdWFuWCA8eXVhbngud2FuZ0BpbnRlbC5jb20+DQo+ ID4+IFN1YmplY3Q6IFJlOiBbdjQgMS8zXSBldGhkZXY6IGludHJvZHVjZSBwcm90b2NvbCB0eXBl IGJhc2VkIGhlYWRlcg0KPiA+PiBzcGxpdA0KPiA+Pg0KPiA+PiBPbiBTYXQsIEFwciAyLCAyMDIy IGF0IDQ6MzMgUE0gPHdlbnh1YW54Lnd1QGludGVsLmNvbT4gd3JvdGU6DQo+ID4+Pg0KPiA+Pj4g RnJvbTogWHVhbiBEaW5nIDx4dWFuLmRpbmdAaW50ZWwuY29tPg0KPiA+Pj4NCj4gPj4+IEhlYWRl ciBzcGxpdCBjb25zaXN0cyBvZiBzcGxpdHRpbmcgYSByZWNlaXZlZCBwYWNrZXQgaW50byB0d28N Cj4gPj4+IHNlcGFyYXRlIHJlZ2lvbnMgYmFzZWQgb24gdGhlIHBhY2tldCBjb250ZW50LiBUaGUg c3BsaXQgaGFwcGVucw0KPiA+Pj4gYWZ0ZXIgdGhlIHBhY2tldCBoZWFkZXIgYW5kIGJlZm9yZSB0 aGUgcGFja2V0IHBheWxvYWQuIFNwbGl0dGluZyBpcw0KPiA+Pj4gdXN1YWxseSBiZXR3ZWVuIHRo ZSBwYWNrZXQgaGVhZGVyIHRoYXQgY2FuIGJlIHBvc3RlZCB0byBhIGRlZGljYXRlZA0KPiA+Pj4g YnVmZmVyIGFuZCB0aGUgcGFja2V0IHBheWxvYWQgdGhhdCBjYW4gYmUgcG9zdGVkIHRvIGEgZGlm ZmVyZW50IGJ1ZmZlci4NCj4gPj4+DQo+ID4+PiBDdXJyZW50bHksIFJ4IGJ1ZmZlciBzcGxpdCBz dXBwb3J0cyBsZW5ndGggYW5kIG9mZnNldCBiYXNlZCBwYWNrZXQgc3BsaXQuDQo+ID4+PiBBbHRo b3VnaCBoZWFkZXIgc3BsaXQgaXMgYSBzdWJzZXQgb2YgYnVmZmVyIHNwbGl0LCBjb25maWd1cmlu Zw0KPiA+Pj4gYnVmZmVyIHNwbGl0IGJhc2VkIG9uIGxlbmd0aCBpcyBub3Qgc3VpdGFibGUgZm9y IE5JQ3MgdGhhdCBkbyBzcGxpdA0KPiA+Pj4gYmFzZWQgb24gaGVhZGVyIHByb3RvY29sIHR5cGVz LiBCZWNhdXNlIHR1bm5lbGluZyBtYWtlcyB0aGUNCj4gPj4+IGNvbnZlcnNpb24gZnJvbSBsZW5n dGggdG8gcHJvdG9jb2wgdHlwZSBpbXBvc3NpYmxlLg0KPiA+Pj4NCj4gPj4+IFRoaXMgcGF0Y2gg ZXh0ZW5kcyB0aGUgY3VycmVudCBidWZmZXIgc3BsaXQgdG8gc3VwcG9ydCBwcm90b2NvbCB0eXBl DQo+ID4+PiBhbmQgb2Zmc2V0IGJhc2VkIGhlYWRlciBzcGxpdC4gQSBuZXcgcHJvdG8gZmllbGQg aXMgaW50cm9kdWNlZCBpbg0KPiA+Pj4gdGhlIHJ0ZV9ldGhfcnhzZWdfc3BsaXQgc3RydWN0dXJl IHJlc2VydmVkIGZpZWxkIHRvIHNwZWNpZnkgaGVhZGVyDQo+ID4+PiBwcm90b2NvbCB0eXBlLiBX aXRoIFJ4IG9mZmxvYWQgZmxhZw0KPiBSVEVfRVRIX1JYX09GRkxPQURfSEVBREVSX1NQTElUDQo+ ID4+PiBlbmFibGVkIGFuZCBwcm90b2NvbCB0eXBlIGNvbmZpZ3VyZWQsIFBNRCB3aWxsIHNwbGl0 IHRoZSBpbmdyZXNzDQo+ID4+PiBwYWNrZXRzIGludG8gdHdvIHNlcGFyYXRlIHJlZ2lvbnMuIEN1 cnJlbnRseSwgYm90aCBpbm5lciBhbmQgb3V0ZXINCj4gPj4+IEwyL0wzL0w0IGxldmVsIGhlYWRl ciBzcGxpdCBjYW4gYmUgc3VwcG9ydGVkLg0KPiA+Pj4NCj4gPj4+IEZvciBleGFtcGxlLCBsZXQn cyBzdXBwb3NlIHdlIGNvbmZpZ3VyZWQgdGhlIFJ4IHF1ZXVlIHdpdGggdGhlDQo+ID4+PiBmb2xs b3dpbmcgc2VnbWVudHM6DQo+ID4+PiAgICAgIHNlZzAgLSBwb29sMCwgb2ZmMD0yQg0KPiA+Pj4g ICAgICBzZWcxIC0gcG9vbDEsIG9mZjE9MTI4Qg0KPiA+Pj4NCj4gPj4+IFdpdGggaGVhZGVyIHNw bGl0IHR5cGUgY29uZmlndXJlZCB3aXRoIFJURV9FVEhfUlhfSEVBREVSX1NQTElUX1VEUCwNCj4g Pj4+IHRoZSBwYWNrZXQgY29uc2lzdHMgb2YgTUFDX0lQX1VEUF9QQVlMT0FEIHdpbGwgYmUgc3Bs aXQgbGlrZSBmb2xsb3dpbmc6DQo+ID4+PiAgICAgIHNlZzAgLSB1ZHAgaGVhZGVyIEAgUlRFX1BL VE1CVUZfSEVBRFJPT00gKyAyIGluIG1idWYgZnJvbQ0KPiBwb29sMA0KPiA+Pg0KPiA+PiBJZiB3 ZSBzZXQgcnRlX2V0aF9yeHNlZ19zcGxpdDo6cHJvdG8gPSBSVEVfRVRIX1JYX0hFQURFUl9TUExJ VF9VRFANCj4gPj4gYW5kIHJ0ZV9ldGhfcnhzZWdfc3BsaXQub2Zmc2V0ID0gMiwgV2hhdCB3aWxs IGJlIHRoZSBjb250ZW50IGZvcg0KPiA+PiBzZWcwLCBXaWxsIGl0IGJlLA0KPiA+PiAtIG9mZnNl dCBhcyBTdGFydHMgYXRVRFAgSGVhZGVyDQo+ID4+IC0gc2l6ZSBvZiBzZWdtZW50IGFzIE1BWChz aXplIG9mIFVEUCBoZWFkZXIgKyAyLCAxMjgoYXMgc2VnIDEgc3RhcnQNCj4gZnJvbTEyOCkuDQo+ ID4+IFJpZ2h0PyBJZiBub3QsIFBsZWFzZSBkZXNjcmliZQ0KPiA+DQo+ID4gUHJvdG8gZGVmaW5l cyB0aGUgbG9jYXRpb24gaW4gcGFja2V0IGZvciBzcGxpdC4NCj4gPiBPZmZzZXQgZGVmaW5lcyBk YXRhIGJ1ZmZlciBmcm9tIGJlZ2lubmluZyBvZiBtYnVmIGRhdGEgYnVmZmVyLCBpdCBjYW4gYmUN Cj4gemVyby4NCj4gPiBXaXRoIHByb3RvIGFuZCBvZmZzZXQgY29uZmlndXJlZCwgcGFja2V0cyBy ZWNlaXZlZCB3aWxsIGJlIHNwbGl0IGludG8gdHdvDQo+IHNlZ21lbnRzLg0KPiA+DQo+ID4gU28g aW4gdGhpcyBjb25maWd1cmF0aW9uLCB0aGUgc2VnMCBjb250ZW50IGlzIFVEUCBoZWFkZXIsIHRo ZSBzZWcxIGNvbnRlbnQgaXMNCj4gdGhlIHBheWxvYWQuDQo+ID4gU2l6ZSBvZiBzZWcwIGlzIHNp emUgb2YgVURQIGhlYWRlciwgc2l6ZSBvZiBzZWcxIGlzIHNpemUgb2YgcGF5bG9hZC4NCj4gPiBy dGVfZXRoX3J4c2VnX3NwbGl0Lm9mZnNldCA9IDIvMTI4IGRlY2lkZXMgdGhlIG1idWYgb2Zmc2V0 LCByYXRoZXIgdGhhbg0KPiBzZWdtZW50IHNpemUuDQo+IA0KPiBBYm92ZSBkaXNjdXNzaW9uIHBy b3ZlcyB0aGF0IGRlZmluaXRpb24gb2YgdGhlIHN0cnVjdCBydGVfZXRoX3J4c2VnX3NwbGl0IGlz DQo+IG1pc2xlYWRpbmcuIEl0IGlzIGhhcmQgdG8gY2F0Y2ggZnJvbSBuYW1pbmcgdGhhdCBsZW5n dGggZGVmaW5lcyBhIG1heGltdW0NCj4gZGF0YSBhbW91bnQgdG8gYmUgY29waWVkLCBidXQgb2Zm aWNlIGlzIGEgYW4gb2Zmc2V0IGluIGRlc3RpbmF0aW9uIG1idWYuIFRoZQ0KPiBzdHJ1Y3R1cmUg aXMgc3RpbGwgZXhwZXJpbWVudGFsIGFuZCBJIHRoaW5rIHdlIHNob3VsZCBpbXByb3ZlIG5hbWlu Zzogb2Zmc2V0IC0+DQo+IG1idWZfb2Zmc2V0Pw0KDQpZZXMsIHlvdSBhcmUgcmlnaHQuIEluIHJ0 ZV9ldGhfcnhzZWdfc3BsaXQgc3RydWN0dXJlLCBldmVuIHRoZSBsZW5ndGggYW5kIG9mZnNldA0K YXJlIGRvY3VtZW50ZWQsIGl0IGlzIGhhcmQgdG8gdW5kZXJzdGFuZCBqdXN0IGZyb20gdGhlIG5h bWluZy4NCg0KVGhhbmtzLA0KWHVhbg0KDQo+IA0KPiA+DQo+ID4+DQo+ID4+IEFsc28sIEkgZG9u J3QgdGhpbmsgd2UgbmVlZCBkdXBsYXRlDQo+ID4+IHJ0ZV9ldGhfcnhfaGVhZGVyX3NwbGl0X3By b3RvY29sX3R5cGUgaW5zdGVhZCB3ZSBjYW4gcmV1c2UgZXhpc3RpbmcNCj4gPj4gUlRFX1BUWVBF XyogIGZsYWdzLg0KPiA+DQo+ID4gVGhhdCdzIGEgZ29vZCBpZGVhLiBZZXMsIEkgY2FuIHVzZSB0 aGUgUlRFX1BUWVBFXyogaGVyZS4gTXkgb25seQ0KPiA+IGNvbmNlcm4gaXMgdGhlIDMyLWJpdHMg UlRFX1BUWVBFXyogd2lsbCBydW4gb3V0IG9mIHRoZSAzMi1iaXRzIHJlc2VydmVkDQo+IGZpZWxk cy4NCj4gPiBJZiB0aGlzIHByb3Bvc2FsIGlzIGFncmVlZCwgSSB3aWxsIHVzZSBSVEVfUFRZUEVf KiBpbnN0ZWFkIG9mDQo+IHJ0ZV9ldGhfcnhfaGVhZGVyX3NwbGl0X3Byb3RvY29sX3R5cGUuDQo+ ID4NCj4gPiBCZXN0IFJlZ2FyZHMsDQo+ID4gWHVhbg0KPiA+DQo+ID4+DQo+ID4+DQo+ID4+PiAg ICAgIHNlZzEgLSBwYXlsb2FkIEAgMTI4IGluIG1idWYgZnJvbSBwb29sMQ0KPiA+Pj4NCj4gPj4+ IFRoZSBtZW1vcnkgYXR0cmlidXRlcyBmb3IgdGhlIHNwbGl0IHBhcnRzIG1heSBkaWZmZXIgZWl0 aGVyIC0gZm9yDQo+ID4+PiBleGFtcGxlIHRoZSBtZW1wb29sMCBhbmQgbWVtcG9vbDEgYmVsb25n IHRvIGRwZGsgbWVtb3J5IGFuZA0KPiA+PiBleHRlcm5hbA0KPiA+Pj4gbWVtb3J5LCByZXNwZWN0 aXZlbHkuDQoNCg==