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 D83CDA0524; Tue, 13 Apr 2021 12:41:45 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 65C14160E26; Tue, 13 Apr 2021 12:41:45 +0200 (CEST) Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by mails.dpdk.org (Postfix) with ESMTP id 01CB5160E20 for ; Tue, 13 Apr 2021 12:41:42 +0200 (CEST) IronPort-SDR: OSd8n+iJQPzxwgaZQcyX/KLSnNqGoAwmqY0jmsda44yMMDD4a9+vqpDS8ZN+dKEIw3Hpd/Shc6 l1WABHS7jslA== X-IronPort-AV: E=McAfee;i="6200,9189,9952"; a="173877967" X-IronPort-AV: E=Sophos;i="5.82,219,1613462400"; d="scan'208";a="173877967" Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Apr 2021 03:41:41 -0700 IronPort-SDR: wX3xQnfAmJlKXwFS3z9hm4kcylWeukEVXlCW5DBjSeI/MxkiZRSCKLzk2N1PGW/g3GLWV4BrNX chzUzMfa4tyg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.82,219,1613462400"; d="scan'208";a="600306934" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by orsmga005.jf.intel.com with ESMTP; 13 Apr 2021 03:41:40 -0700 Received: from orsmsx607.amr.corp.intel.com (10.22.229.20) by ORSMSX603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2106.2; Tue, 13 Apr 2021 03:41:40 -0700 Received: from orsmsx602.amr.corp.intel.com (10.22.229.15) by ORSMSX607.amr.corp.intel.com (10.22.229.20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2106.2; Tue, 13 Apr 2021 03:41:40 -0700 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by orsmsx602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2106.2 via Frontend Transport; Tue, 13 Apr 2021 03:41:40 -0700 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (104.47.58.168) by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2106.2; Tue, 13 Apr 2021 03:41:39 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=e5mR8x5KhfXIT0FHA1FFR67k9LhI2OksFqOg40RZx9G7Km3hQbILs6CWV1Wooc0bmg8OQU8EXFOolQBG2YWxiGZRe+uwdlNY0JqO27+RGW6Lmt+bsRYv5f87l+qEfcDDh7werFrIsYwWXES/ZdeRNifkf8TaGb7IhGHXJvATh9wbmtCUVcoAg3iDb61kQGkczY5fs9i8T9KLBb6W9uFbtSx1PWnuR8JpaNQDya4A40iZ8m7MeFA4lg/jPLbd+rBUhh4WKLRvT+bixeosSo3tFGARQdWB0chsHwCzsoUZCjLdAlfCfxCeY4NyUnaUigHn8xudXUFzFmdqQfCZyRfRYw== 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=TdLfMtW+cZ6b0B+YlBvF84BQ2LE45ms5OI5PInGHcqU=; b=hTFAxo2XmCD4DgDdwQoRcl2zdi9yx4JUoSIa3M1RDNxEuQhpS89FYb0iWUAqQhyVogd1nndVRTpeg8cSFu8+29fMIYLhhhXDenMvl8xJ58djyoWfHBYZmZXZTiV2v1NdAHCcpxjKC/7G7WB6H1Q00ETwWd7ClOKwltO2YiiHrIn9/KKGXqDsQ+Lh1nu1Od3aB8heIFwCuKQH4Zx5QMVYVKNK1dzRTlZUFA7jGEe2iumkoCz7Pg4KNue2vz+UxfO84TYpykpNxGJh3UXHY6rQQf25BE2ZHANv7j288TmQjOlZbju3KjJHSeCR7YekFCa/PUOn1yx7jB8p9nse6eAKbg== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=TdLfMtW+cZ6b0B+YlBvF84BQ2LE45ms5OI5PInGHcqU=; b=F7zoaaZeU9xrZuIyeE67Elyeq77uCAQiF5rAKM/EhCAxHiwehon0Yj5bTaSffDgG3ybsTVk5Fvxrypn2UwWs//eyk8ihdNj+tYOlOiJZ19OlhN17tHyTzwBN5b5ggHJiCJovkjobob4QvWkmYFgM8VThiyJmwsZsNSEBiY+Rb1Q= Received: from DM6PR11MB4491.namprd11.prod.outlook.com (2603:10b6:5:204::19) by DM6PR11MB4379.namprd11.prod.outlook.com (2603:10b6:5:1db::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4020.22; Tue, 13 Apr 2021 10:41:36 +0000 Received: from DM6PR11MB4491.namprd11.prod.outlook.com ([fe80::3182:6da2:8c64:f07a]) by DM6PR11MB4491.namprd11.prod.outlook.com ([fe80::3182:6da2:8c64:f07a%3]) with mapi id 15.20.4020.022; Tue, 13 Apr 2021 10:41:36 +0000 From: "Ananyev, Konstantin" To: "Rong, Leyi" , "Yigit, Ferruh" , "Zhang, Qi Z" , "Xing, Beilei" CC: "dev@dpdk.org" Thread-Topic: [dpdk-dev] [PATCH] net/i40e: add Tx preparation for vector data path Thread-Index: AQHXJg7FP+MI3Ia8o0maglNIHBMBl6qpTS6AgAEJRYCAABQBMIABauoAgAAtbXCABk88AIAABAjQ Date: Tue, 13 Apr 2021 10:41:36 +0000 Message-ID: References: <20210331085345.6290-1-leyi.rong@intel.com> <10399e65-e2c4-fe91-b548-f7bfd55ffc51@intel.com> In-Reply-To: Accept-Language: en-GB, 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.5.1.3 authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [109.255.184.192] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 76c41424-7371-4292-f91e-08d8fe68b6bd x-ms-traffictypediagnostic: DM6PR11MB4379: x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: ksdNgUvEcM7odAcC0BrAxHxL74uL8Osxb7dBTVWzQwDkhR1VhZVZmH0sX8tRbegtWtntLcc08oX/ZXxmEMtHWXX0fsrYiicgMzGbeGHpPZccXMi1qFef0n63FwDw16J1ASD+JzbPHNdGg8nKdo1XwUnM9SNiUq9M4w8DzVQTjmp13GRoYQKuHfmxaOquonwutVP4hF8rgcZCWj5o8eHPr0yCnDrQEwh2/xqUrQ3oRL7MMsgxgb85X7/dGFPaXvyVXmnQVOgI2sc5X9UHf8jlmPueJdM1sL3drb8pfRSZu47MeeBagYKgpTJgdCrYDmQvbX+TNKMZF/2KOIbuyJAVYbsfFB8JfxJOBmMgDrkG7HjdiIpmgbeXXjDWBB8shnCTp5jKhn9NeSzv1QeTWjKJ8ZKuNGtHik2fCuJPxRCHumIEEqWqUslN+K110ec7OuZaSUlMFL8ojAlOcJ++D5X89X38mjoGusSEy+nPk2WeB8eukens0twCPMgH9BRjlV+mdf1Wf12ZOR7NUozNsPCNRQCdY0guqsaQNBZTUQ6aLlk+7ffnJ/CUlN5UsyosD3y/HOPGAmeOi+EOtjW9xaF4XKibF4H0oEUyk0D0KptD2UE= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM6PR11MB4491.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(396003)(376002)(366004)(136003)(39860400002)(346002)(8936002)(86362001)(9686003)(6506007)(38100700002)(4326008)(316002)(8676002)(6636002)(478600001)(122000001)(55016002)(33656002)(7696005)(110136005)(83380400001)(52536014)(66476007)(186003)(76116006)(2906002)(5660300002)(64756008)(26005)(66946007)(66556008)(55236004)(66446008)(71200400001); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata: =?utf-8?B?Mk1UTWNJM0xxSWVLaXloWjNIdUQ5bHFEcm50TTZZRUF6QytabTl6dVFmQ0Qz?= =?utf-8?B?NGZBVWROMWFoMkZVbmhpdFRrZWtDZHo4YXdlamtMY0JFTENPc0JvbUlNQk5h?= =?utf-8?B?UU5MalIrS0ZmSTBlSGNRVzJEZzZvL1RCNU91UVhxbVpZODNSVEhLRk1DN2JJ?= =?utf-8?B?NkF2SGVudGxjRVBVOEluMDcvN2hIak0xbGVOZ3ZpNktjb2hEZHFOVVFXakJC?= =?utf-8?B?elcvNkRPSnN5Yk9SSyt1UlhtNjZkVHh5UkJLWmdiejNUakMrSTNUWDYyUm9L?= =?utf-8?B?OXVkTGRCSzh4WmwwMi9paVMyZFFtakxZSUFYYVI3Tm5kQkJpZVRSRUhFZUNQ?= =?utf-8?B?V25vb1g0TXlPeEhyWHlCQzdDMTFtbGtESjNyTks3VThQcTlaLzQ3YWUzb2Zn?= =?utf-8?B?WG5oTGNUY1R1U2NSazZTSHpkZWlUNHNJMmRoMDJqUkUxSDFqWFFQRGJLTWp6?= =?utf-8?B?R2ZIREJienNzYmpmS2UvVitjWUZJZGUvMlJ5NkZ1VFdYUlFNSlAyRVRJWEpX?= =?utf-8?B?ekt6aExBMWJGWWFUZHYxTUJLY2lmbm9SSnFJc0NFRXlTQkc2ektEalBIczc3?= =?utf-8?B?SHFYdERWbzEvNHZYWVlpcTExZlhacnRoVjZwczVPTW02N2lsZmtXWXZyVWhP?= =?utf-8?B?dlNZK0xUV3ZhUXV4UzM2QWJHZmNocEVnY0F3YmwrS2FseHU5RUxHZXF5dmwv?= =?utf-8?B?dmZMei8xNU5uMXhoM1VmU21GeEFBeEVKR2JzUnBUK2hRSWlhT25QbFJ0b1FG?= =?utf-8?B?ekloMzZoVHN1bStjWGhpNEo0UTFTNlFsN1dYK2xKZVVkMENzdkxxaDZlTEF6?= =?utf-8?B?WXBiaWFlc2svTVQxWE9MTGhRRVJjVjVZazBleHBDSiswTTJtRkdaaHVNMTlZ?= =?utf-8?B?M1puVThFY0ZaMmJ6SmlDK0p1bVZWZW5wVngxMG9tV1libDBqWlVQNlIvWS9w?= =?utf-8?B?dk0wN0FUL09GcERTdHJzcXB4WVVvSGE0bk0xMkNNUmk5Tk1zNi9RZkpkOGZ0?= =?utf-8?B?SW43WEhTMVVYNVNUN1BZTTE2bjJJRTAxek1zWEpFTGlWelhuamE4cnY2ZUhI?= =?utf-8?B?U1dpZGpKRmtNMEFSc0VzQktSZVFWMzhucUMrWERrRmpuMnRhQnVxeTg5UnVM?= =?utf-8?B?VVhRV2NnQ2xMR205Wkk0SWNDVkRib2tHWFdCSjFsZmtvUW01Y0w2K2d6SXVz?= =?utf-8?B?VXlsblJJNVdMWHFxcjIwWWJSUGdUSEVpYnRQOHE0R0pJRkY2RFdoUDMyWGZU?= =?utf-8?B?c3ZxV1J0bmFRZUN4Mk9oOE5sbnRNQ0VMNHpqV1VsazdtMDVsakQ1ZjVtYjJV?= =?utf-8?B?Z2ZNajJRNGZoM1hTRzBTVWRLR2pTTkd0bnlGK3FhNUF5aGxVWThITXRQWXFo?= =?utf-8?B?MFh5a0pDZXJDT0xoanlMN090aVlHNWIxM2VhTGRVenE1eWh3VVVIOSt4SHQ5?= =?utf-8?B?R0huWVVZOUhRNGEzWk5ibWR2YlV3VUVtUDdkdFFYRmxTVi91aWp2Z3Y3R3hM?= =?utf-8?B?dVhkak4zRm1ZSFUxNGdya054QlpXS3V0aHc4ZVl0eUlWQkdPMmV4VzJXMzMv?= =?utf-8?B?K05GbVdTdmZjTHdyZWpGOTFuRWNNbWc2c1NFcEIwLzR5eUlYbzJHMFZnM2J0?= =?utf-8?B?c3hxNGhieHI1L3o0MW8vbDFaUXJ4TGlYNCs1VUNPS0JBaml6dnhURHJiMVpH?= =?utf-8?B?eHU4a3NQWHhTSG1QdGxhLzJYMk85Q3IyRjY2UHBnT3ZJV0I2R21hbDlwSUNB?= =?utf-8?Q?7MF2zoAFUgAPAn8DpCWheNxK+6scJVWqIoaTeM+?= 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: DM6PR11MB4491.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 76c41424-7371-4292-f91e-08d8fe68b6bd X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Apr 2021 10:41:36.7423 (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: 9+i+bzMjWoaCbc+Q+WpkrEFIjjqBGsgQ5IiTX/cEzZHAq9u/d/zpymGaf58v/g1xU/XjbPezt2ox81s4NQIAauRXN6YERZT/8OnpuSaSfjo= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR11MB4379 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH] net/i40e: add Tx preparation for vector data path 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 Sender: "dev" DQo+ID4NCj4gPiA+ID4gPiA+ID4gRmlsbCB1cCBkZXYtPnR4X3BrdF9wcmVwYXJlIHRvIGk0MGVf cGt0X3ByZXBhcmUgd2hlbiBvbiB2ZWN0b3INCj4gPiA+ID4gPiA+ID4gYW5kIHNpbXBsZSBkYXRh IHBhdGggc2VsZWN0aW9uLCBhcyB0aGUgc2FuaXR5IGNoZWNrIGlzIG5lZWRlZCBpZGVhbGx5Lg0K PiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiBTaWduZWQtb2ZmLWJ5OiBMZXlpIFJvbmcgPGxl eWkucm9uZ0BpbnRlbC5jb20+DQo+ID4gPiA+ID4gPiA+IC0tLQ0KPiA+ID4gPiA+ID4gPiAgIGRy aXZlcnMvbmV0L2k0MGUvaTQwZV9yeHR4LmMgfCAyICstDQo+ID4gPiA+ID4gPiA+ICAgMSBmaWxl IGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pDQo+ID4gPiA+ID4gPiA+DQo+ ID4gPiA+ID4gPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9pNDBlL2k0MGVfcnh0eC5jDQo+ ID4gPiA+ID4gPiA+IGIvZHJpdmVycy9uZXQvaTQwZS9pNDBlX3J4dHguYyBpbmRleCA2MWNiMjA0 YmUyLi5iM2Q3NzY1ZTNiDQo+ID4gPiA+ID4gPiA+IDEwMDY0NA0KPiA+ID4gPiA+ID4gPiAtLS0g YS9kcml2ZXJzL25ldC9pNDBlL2k0MGVfcnh0eC5jDQo+ID4gPiA+ID4gPiA+ICsrKyBiL2RyaXZl cnMvbmV0L2k0MGUvaTQwZV9yeHR4LmMNCj4gPiA+ID4gPiA+ID4gQEAgLTM0MTIsNyArMzQxMiw3 IEBAIGk0MGVfc2V0X3R4X2Z1bmN0aW9uKHN0cnVjdCBydGVfZXRoX2Rldg0KPiA+ICpkZXYpDQo+ ID4gPiA+ID4gPiA+ICAgCQkJUE1EX0lOSVRfTE9HKERFQlVHLCAiU2ltcGxlIHR4IGZpbmFsbHkg YmUNCj4gPiB1c2VkLiIpOw0KPiA+ID4gPiA+ID4gPiAgIAkJCWRldi0+dHhfcGt0X2J1cnN0ID0g aTQwZV94bWl0X3BrdHNfc2ltcGxlOw0KPiA+ID4gPiA+ID4gPiAgIAkJfQ0KPiA+ID4gPiA+ID4g PiAtCQlkZXYtPnR4X3BrdF9wcmVwYXJlID0gTlVMTDsNCj4gPiA+ID4gPiA+ID4gKwkJZGV2LT50 eF9wa3RfcHJlcGFyZSA9IGk0MGVfcHJlcF9wa3RzOw0KPiA+ID4gPiA+ID4gPiAgIAl9IGVsc2Ug ew0KPiA+ID4gPiA+ID4gPiAgIAkJUE1EX0lOSVRfTE9HKERFQlVHLCAiWG1pdCB0eCBmaW5hbGx5 IGJlIHVzZWQuIik7DQo+ID4gPiA+ID4gPiA+ICAgCQlkZXYtPnR4X3BrdF9idXJzdCA9IGk0MGVf eG1pdF9wa3RzOw0KPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+IEl0IHNl ZW1zIHByZXBhcmUgZnVuY3Rpb24gaXMgZG9pbmcgc29tZSBzYW5pdHkgY2hlY2tzIGJlZm9yZQ0K PiA+ID4gPiA+ID4gaGFuZGluZyBwYWNrZXRzIHRvIHRoZSBIVy4NCj4gPiA+ID4gPiA+IFNvIHdp dGggdGhpcyBjaGFuZ2UgYWxsIFR4IHBhdGhzIGNhbGxzIHRoZSBzYW1lIFR4IHByZXBhcmUNCj4g PiA+ID4gPiA+IGZ1bmN0aW9uLCBpZiBzbyB3aHkgbm90IHNldCB0aGUgZnVuY3Rpb24gcG9pbnRl ciBvdXRzaWRlIG9mIHRoZQ0KPiA+ID4gPiA+ID4gaWYgYmxvY2ssIGluc3RlYWQgb2Ygc2V0dGlu ZyBpdCBpbiBib3RoIGxlZ3Mgb2YgdGhlIGlmL2Vsc2U/DQo+ID4gPiA+ID4gPiBUaGlzIGNsYXJp ZmllcyB0aGF0IFR4IHByZXBhcmUNCj4gPiA+ID4gdXNlZCBhbHdheXMuDQo+ID4gPiA+ID4NCj4g PiA+ID4gPiBIaSBGZXJydWgsDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBZZXMsIGl0IG1ha2Ugc2Vu c2UuDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBIaSBLb25zdGFudGluLA0KPiA+ID4gPg0KPiA+ID4g PiBIaSBMZXlpLA0KPiA+ID4gPg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gV291bGQgdGhhdCBiZSBz b21ldGhpbmcgd3JvbmcgaWYgdGhlIHByZXBhcmUgZnVuY3Rpb24gZ29lcyBmb3INCj4gPiA+ID4g PiBzaW1wbGUgVHgNCj4gPiA+ID4gZnVuY3Rpb24gYWx0aG91Z2ggaXQgZG9lcyBub3Qgc3VwcG9y dCB0aGUgb2ZmbG9hZCBmZWF0dXJlIHlldD8NCj4gPiA+ID4gPg0KPiA+ID4gPg0KPiA+ID4gPiBD dXJyZW50IHNpdHVhdGlvbjoNCj4gPiA+ID4gRm9yIHNpbXBsZSBUWCBwYXRoIHdlIHNldCBkZXYt PnR4X3BrdF9wcmVwYXJlID0gTlVMTC4NCj4gPiA+ID4gVGhhdCBtYWtlcyBydGVfZXRoX3R4X3By ZXBhcmUoKSBhIHN0dWIgdGhhdCBkb2VzIG5vdGhpbmcgYW5kIGFsd2F5cw0KPiA+IHJldHVybnM6 DQo+ID4gPiA+ICJBbGwgcGFja2V0cyBhcmUgZ29vZCIuDQo+ID4gPiA+IFRoYXQgaXMgdW5zYWZl IG9mZi1jb3Vyc2UsIGFuZCBpZiB1cHBlciBsYXllciB3aWxsIHBhc3MgYSBwYWNrZXQNCj4gPiA+ ID4gdGhhdCBpcyBub3Qgc3VwcG9ydGVkLCB0aGVuIGl0IGNhbiBsZWFkIHRvIHZhcmlvdXMgYmFk IHRoaW5nczogYmFkDQo+ID4gPiA+IGNrc3VtLCBjb3JydXB0ZWQgcGFja2V0cywgVFggaGFuZywg ZXRjLg0KPiA+ID4gPiBCdXQgYXQgbGVhc3QgaXQga2VlcHMgc2ltcGxlIFRYIHBhdGggZmFzdC4N Cj4gPiA+ID4gV2l0aCB0aGF0IHBhdGNoOg0KPiA+ID4gPiBGb3Igc2ltcGxlIFRYIHBhdGggd2Ug c2V0IGRldi0+dHhfcGt0X3ByZXBhcmUgPSBpNDBlX3ByZXBfcGt0cy4NCj4gPiA+ID4gTm93IG9u IFRYIHBhdGggd2UgaW52b2tlIGV4dHJhIGZ1bmN0aW9uIHRoYXQgZG9lcyBhIGxvdCBvZiBjaGVj a3MsDQo+ID4gPiA+IGJ1dCBpdCBzdGlsbA0KPiA+ID4gPiB1bnNhZmU6DQo+ID4gPiA+IGFzIGk0 MGVfcHJlcF9wa3RzKCkgYXNzdW1lcyB0aGF0ICBmdWxsLWZlYXR1cmVkIFRYIGZ1bmN0aW9uIGlz IGluDQo+ID4gPiA+IHBsYWNlIChtdWx0aS1zZWdzIGFyZSBhbGxvd2VkLCBldGMuKS4NCj4gPiA+ ID4gU28gb3VyIHNpbXBsZSBUWCBwYXRoIGJlY2FtZSBzbG93ZXIsIGJ1dCBzdGlsbCBpcyB1bnNh ZmUuDQo+ID4gPiA+IEkgdGhpbmsgdGhhdCBpZiB3ZSB3YW50IHRvIGludHJvZHVjZSB0eF9wcmVw YXJlKCkgZm9yIHNpbXBsZSBUWA0KPiA+ID4gPiBwYXRoLCB0aGVuIHRoZSBwcm9wZXIgd2F5IC0g Y3JlYXRlIGEgbmV3IGZ1bmN0aW9uIGZvciBpdA0KPiA+IChpNDBlX3NpbXBsZV9wcmVwX3BrdHMo KSBvciBzbykuDQo+ID4gPiA+IEl0IHdpbGwgYmUgYXdhcmUgdGhhdCBzaW1wbGUgVFggcGF0aCBp cyBpbiBwbGFjZSBhbmQgbW9yZQ0KPiA+ID4gPiByZXN0cmljdGlvbnMgc2hvdWxkIGJlDQo+ID4g PiA+IG1ldDoNCj4gPiA+ID4gY2hlY2sgdGhhdCBuYl9zZWdzPT0xIGFuZCBubyBUWCBvZmZsb2Fk cyAoZXhjZXB0IEZBU1RfRlJFRT8pIGFyZQ0KPiA+ID4gPiBlbmFibGVkLCBwbHVzIHVzdWFsIGNo ZWNrcyBmb3IgbWluIGFuZCBtYXggcGt0X2xlbi4NCj4gPiA+ID4NCj4gPiA+ID4gS29uc3RhbnRp bg0KPiA+ID4gPg0KPiA+DQo+ID4NCj4gPiBIaSBMZXlpLA0KPiA+DQo+ID4gPiBIaSBLb25zdGFu dGluLA0KPiA+ID4NCj4gPiA+IFRoYW5rcyBmb3IgdGhlIGV4cGxhbmF0aW9uLCBJIGtub3cgdGhl IGN1cnJlbnQgZnVsbC1mZWF0dXJlZCBwcmVwYXJlDQo+ID4gPiBmdW5jdGlvbiB3aWxsIGNvc3Qg bW9yZSBDUFUgY3ljbGUsIGJ1dCBub3Qgc3VyZSBob3cgdG8gc2F5IGlzIHN0aWxsIHVuc2FmZT8N Cj4gPg0KPiA+IExldCBzYXkgdXNlciB3aWxsIGRvOg0KPiA+DQo+ID4gbWIgPSBjcmVhdGVfYW5k X2ZpbGxfbXVsdGlfc2VnX3BrdCguLi4pOw0KPiA+IG4gPSAgcnRlX2V0aF90eF9wcmVwYXJlKHAs IHEsICZtYiwgMSk7DQo+ID4gaWYgKG4gPT0gMSkNCj4gPiAgIG4gPSBydGVfZXRoX3R4X2J1cnN0 KHAsIHEsICZtYiwgMSk7DQo+ID4gZWxzZQ0KPiA+ICAgcnRlX3BrdG1idWZfZnJlZShtYik7DQo+ ID4NCj4gPiBpZiBkZXYtPnR4X3BrdF9wcmVwYXJlID09IGk0MGVfcHJlcF9wa3RzIGFuZCBkZXYt PnR4X3BrdF9idXJzID09DQo+ID4gaTQwZV94bWl0X3BrdHNfc2ltcGxlLCB0aGVuIHRoaXMgY29k ZSB3aWxsIFRYIHRoZSBwYWNrZXQsIGV2ZW4gdGhvdWdoIGl0DQo+ID4gc2hvdWxkbid0IGluIHRo ZW9yeS4NCj4gPg0KPiANCj4gSGkgS29uc3RhbnRpbiwNCj4gDQo+IFllcywgaXQgbWFrZSBzZW5z ZSBmb3IgdGhlIGN1cnJlbnQgc2l0dWF0aW9uLg0KDQpIbW0sIGNvdWxkIHlvdSBlbGFib3JhdGUg YSBiaXQ6IHdoYXQgZXhhY3RseSBtYWtlcyBzZW5zZT8NCg0KPiANCj4gPiA+IFdoeSBJIHNldCB0 aGUgc2ltcGxlIFR4IHByZXBhcmUgZnVuY3Rpb24gdG8gdGhlIGN1cnJlbnQNCj4gPiA+IGk0MGVf cHJlcF9wa3RzKCkgaXMgd2UgbWF5IHN1cHBvcnQgbW9yZSBvZmZsb2FkIGZlYXR1cmVzIGxpa2Ug Y3VycmVudCBmdWxsLQ0KPiA+IGZlYXR1cmVkIFR4IGZvciB2ZWN0b3IgcGF0aCh3aGljaCBpcyBp bmNsdWRlZCBpbiBzaW1wbGUgVHggY3VycmVudGx5KSwgaWYgc28sIHRoZQ0KPiA+IGN1cnJlbnQg dHggcHJlcGFyZSBmdW5jdGlvbiBjYW4gYmUgcmUtdXNlZC4NCj4gPg0KPiA+IEFGQUlLLCBmb3Ig aTQwZSBjdXJyZW50IHNpbXBsZSAoYW5kIHZlY3RvcikgVFggcGF0aCBkb2Vzbid0IHN1cHBvcnQg YWxsIG9mZmxvYWRzDQo+ID4gdGhhdCBhcmUgc3VwcG9ydGVkIGJ5IGZ1bGwtZmVhdHVyZWQgcGF0 aCBUbyBiZSBtb3JlIHNwZWNpZmljOiBtdWxpdC1zZWcgcGFja2V0cywNCj4gPiBUQ1BfQ0tTVU0s IFRDUF9TRUcsIGV0Yy4NCj4gPiBBbSBJIG1pc3Npbmcgc29tZXRoaW5nIG9idmlvdXMgaGVyZT8N Cj4gPg0KPiA+IEtvbnN0YW50aW4NCj4gDQo+IFdlJ3JlIGludGVuZGluZyB0byBzdXBwb3J0IG1v cmUgb2ZmbG9hZCBmZWF0dXJlcyBpbnRvIHZlY3RvciBwYXRoIGdyYWR1YWxseSwgaWNlL2lhdmYg UE1EIHdpbGwgc3VwcG9ydCBUeCBjaGVja3N1bSBvZmZsb2FkIGluIEFWWDUxMiBwYXRoDQo+IGlu IHRoZSAyMTA1IHJlbGVhc2UsIGFsc28gd2lsbCB0cnkgdG8gc3VwcG9ydCBtb3JlIGluIHRoZSBm dXR1cmUgaWYgcG9zc2libGUuDQoNCldlbGwsIHdoZW4gaTQwZSB2ZWN0b3IgVFggd2lsbCBzdXBw b3J0IHRoZXNlIG9mZmxvYWRzLCB0aGVuIGl0IHdpbGwgbWFrZSBzZW5zZSB0bw0KdXNlIHRoZSBz YW1lIHByZXBhcmUgZnVuY3Rpb24gZm9yIGl0LiANCkJ1dCByaWdodCBub3csIEkgdGhpbmsgaXQg aXMgbm90IHRoZSBjYXNlLg0KU28gSSBzdGlsbCB0aGluayBjcmVhdGUgYSBzZXBhcmF0ZSBvbmUg aXMgdGhlIGJlc3QgYXBwcm9hY2ggZm9yIG5vdy4NCg0KDQo=