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 01DDCA0524; Tue, 13 Apr 2021 12:23:47 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 8564E160DEA; Tue, 13 Apr 2021 12:23:47 +0200 (CEST) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by mails.dpdk.org (Postfix) with ESMTP id 509B8160DDB for ; Tue, 13 Apr 2021 12:23:45 +0200 (CEST) IronPort-SDR: P+ZIScX3+UGgj56oHvXhzcvNjpjqETDQzeBq8Rp4qUHyXNCIS4/EUxnz00VnvvDqY76dDDn62L uj9BDADa4huw== X-IronPort-AV: E=McAfee;i="6200,9189,9952"; a="279688279" X-IronPort-AV: E=Sophos;i="5.82,219,1613462400"; d="scan'208";a="279688279" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Apr 2021 03:23:44 -0700 IronPort-SDR: bV0uH4MbXubbaE5fSL9ZU+2ehPFLsaAeATVSqMHHi1oxE4s2v8DHcBlrWNlhlUEig37604Uyi5 64n3TfJBFw+Q== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.82,219,1613462400"; d="scan'208";a="424190821" Received: from orsmsx604.amr.corp.intel.com ([10.22.229.17]) by orsmga008.jf.intel.com with ESMTP; 13 Apr 2021 03:23:44 -0700 Received: from orsmsx612.amr.corp.intel.com (10.22.229.25) by ORSMSX604.amr.corp.intel.com (10.22.229.17) 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:23:43 -0700 Received: from orsmsx609.amr.corp.intel.com (10.22.229.22) by ORSMSX612.amr.corp.intel.com (10.22.229.25) 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:23:43 -0700 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by orsmsx609.amr.corp.intel.com (10.22.229.22) 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:23:43 -0700 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.101) by edgegateway.intel.com (134.134.137.100) 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:23:42 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ZG/b9FPJhZhQXaHmMiXC+PJVh9sXoPy71pmSeznmPNkWDeC6lH87wMDG2Xfa+mivK90DCLJVHosGX2QbAVZJbYxqjqjwVsPXeNGKhqQ9y9/I1QA3/9ADwa6EODzkbqZMpYp+QD9y4QQxAM3/2ZcUHXb3+3yr4XicvU5Sr6tpu5ChAqGTh4scp0oZwTuO2p/wSKGc3oTB+fag7B3Acn0e7Rf5p2VhRR8b0FHLZSZLldBYcW80gGhS1ZFGg91uJ0K/ji7rEXpObdRVXyBufP07N8MNZceHh4PHlm7ZooLA1gH5lpRvsM2ev8ZrfcJW2jBg6rAmQHgRuBG95I5O80iAlA== 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=glj5kPoSADY3JRGN1mePQLstbF7YjC3739Uyk8bswJ0=; b=eUZDoIsuDXu1XAFXwuwjGMaj1ifTr7lQ8kFwIqSfpsybEzRxR3xVMTS1vnhQYBOoU3ziLSYbTPCHf3jsplNfZB/selY3orIbvB4bkW9FjNRPvjzPQM37Ltgzn+20HZaVN9UMlrYNtrbJn6CzR+YNAEwcdYgszOUoM50gj2SWEZ0VHH7tNirHY+5DdGfEctwkykHfIwqgmzcW7ogQV2Wzt0XCT3BZ6cUl1B4JJ3ZheNGXfLM4n/6FoEM1tCZJwCf3hWXL6GPDqTVSuaEf5nvgtkzYooi+ZZO5y/X9YLaVX1h+q83kRYEKHhFZCYtAGwVwj70EGXTvTB7O69/UIkm3lA== 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=glj5kPoSADY3JRGN1mePQLstbF7YjC3739Uyk8bswJ0=; b=IE9lUFBLRHi4YWE0LqRYxawZ8ns/ASyXS/tv7hfUt5wy71y+V2FOjuZpNP0sJg5GEoabbuH7dfaMzdA2U/61dTdbv3X+z1fVmhxUFT+I5FmTlYMm/41MbxCvoDBzcXELeQRJA9SVWcrJ32CzuMRS56+zxrzUCwDmWNH9kIX3RQo= Received: from SN6PR11MB2621.namprd11.prod.outlook.com (2603:10b6:805:59::15) by SA2PR11MB5177.namprd11.prod.outlook.com (2603:10b6:806:11c::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4020.17; Tue, 13 Apr 2021 10:23:40 +0000 Received: from SN6PR11MB2621.namprd11.prod.outlook.com ([fe80::50e2:3791:51f4:fc8b]) by SN6PR11MB2621.namprd11.prod.outlook.com ([fe80::50e2:3791:51f4:fc8b%5]) with mapi id 15.20.4020.022; Tue, 13 Apr 2021 10:23:40 +0000 From: "Rong, Leyi" To: "Ananyev, Konstantin" , "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: AQHXJg6tqeyvTtLIVEO3sSWs+5n+FKqpTS6AgAD1iBCAADY6gIABVMfQgAA/r4CABStywA== Date: Tue, 13 Apr 2021 10:23:40 +0000 Message-ID: References: <20210331085345.6290-1-leyi.rong@intel.com> <10399e65-e2c4-fe91-b548-f7bfd55ffc51@intel.com> In-Reply-To: Accept-Language: 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: [192.198.147.223] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 25d16d54-5509-4d88-785b-08d8fe663520 x-ms-traffictypediagnostic: SA2PR11MB5177: 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: 3UYPCyQKrIu6+bscXjLvebg6eGyUsQSUAaaTC1VolrIwBWYjwJD5ykbDmMHTzRYs00Qv+4j6Ukl9eHcama4kAYoQXftd4UuWxMDuxh3Xs/REL28Q0lnjPVxrLKepvWYhfBwzJyHRuS3u4VEwFfmmnDJQP2rEeiypQqOtVOoiLix79bpQYHh/GdORxlX6JR0noUBPQOj0kPlByP+4008MkLAiUk0a6ba8GNbydesEbMTWXXS6+246faEXuHK3SAVV6MJ5hSFm3w31LfqEMJiqOq3rJZGjj2GzmNPSuPUgLigJpYufmQ5+Y6lK5yvu//lBQICAkk0ZhiSIK4kasygRf/OkAG/kyXwZmaAo3FWWHDBqK/CcTwZpGc3awC7QKY4yFmp6+V1DW1BakNNCe7MD1ly1Jc+L52J1JCFDZCrxCBlZO3RvqpqEw98flnBW/16T+Ra/GLaQhzIxYkTWiKQI87Pfm9vjLjSMaWeysCs8ag7RPbrDxGMrijts32dwiPz2Rwb9duq2l2FBGGBuWbhVW3rQ6p6/KXwVMUlCOEjZzEF7GpwvR3Yf9V7jbJmJwnBb5qkytrcgD9etvhcAJphoZJGV3atXlh3ef5bOl8/Ojqc= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SN6PR11MB2621.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(376002)(39860400002)(366004)(346002)(396003)(136003)(53546011)(6506007)(83380400001)(122000001)(7696005)(66556008)(64756008)(316002)(66476007)(186003)(4326008)(86362001)(52536014)(8936002)(5660300002)(76116006)(110136005)(66446008)(478600001)(33656002)(55016002)(2906002)(26005)(9686003)(8676002)(66946007)(38100700002)(6636002)(71200400001); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata: =?utf-8?B?YU03SDBCQVJtcGpHVzMrMmRaS3FKakdmVHNIVVo0V3dDUU5lTGU2QUphbXNn?= =?utf-8?B?Tmkra0E3NUJQMnljT1NYV0ticmRUK3Avc1UzeUxRblIzRW9WRXB4b3IzSEsw?= =?utf-8?B?TUV4RzNQNXBqNExIejFjb3V0bG5jZC9XV1liTlIyTXl3aWxtMklrV1JLcXc1?= =?utf-8?B?NVlGZnQwMkgrc25NNHcwanZmaWNJNnpma2FkbE5HSXFBYkw0UHI1MitHaytF?= =?utf-8?B?QXBCVkJOVDAzbWN6Yk1QR2FmVTRrem42V25tbHNxRmdvbEZRUUtYNXRWdXln?= =?utf-8?B?RG12QTA2TXp5N3p2SVY1eFlpcTJOZ2p5bFdBRmlLY3RVNGtuYjMrS2NSTDdQ?= =?utf-8?B?NXJHbFFhY3FjTU5IZWZIVDFRRVNydC9tNjl2aXMwdlFXcU9ZWnZQV1k1bXIx?= =?utf-8?B?Y29od0pLTUFBT0lGNXJHbmlKOWJlYjV0aUVwQ0U1eWtZeWdCcXBFam9nelpR?= =?utf-8?B?TWIycnkyYVZOb1VYMy8zV2dkeG1VKy8xOGc0THFyWkYxc2FUYW5zRVg0Nk42?= =?utf-8?B?SWM1TXRwa1RrNkZFVW1zOTNYaURhejZXbFBBcFlBTk1FN0pHbnZXMXl0T25p?= =?utf-8?B?a3lldUJMNVdibExKcStBU0VvVVBzUWNVVXZFRWFKaFl1bnZkNHBQclhzMmlJ?= =?utf-8?B?eU5mTGo4YzFralZ0NFlPQlZyaVFYa3FDdGNpQUlkZ1FTSjdwWHUyNHJ6T3lZ?= =?utf-8?B?blRUM05ZOUVvbUVaSWcrdWpzNGhyUHJTeCt5NWxJVGs2MENRWTNUa0hHOFJW?= =?utf-8?B?Z1lnMGQ5dnUzZXRZODA1b1ZjYTFPaXB1UjM5WHdyM0E4MFYyYkR4YjF1WWtm?= =?utf-8?B?MG5zbEorczdBMFJqcTNSNnRGNXJQNWcyaWxldUxOVVZRQjg2ZnJkd3J1SWVz?= =?utf-8?B?Sm5OdXJGUVI1am04OHhBZ1ByU21iNzZ4STNWcThSeXd2RmUwbEVTMU1LNlpy?= =?utf-8?B?V3BKOEZ0TGhhT2dUTGNtUFZLeXlISmsvWjNodmhCTEhySkJaeGE3aVd2clhh?= =?utf-8?B?NzlkdGVoeHNRYm9qZitDUWtHTkl3TjVnbmJqVDBHMThyRTEwclVsdUFSdmNR?= =?utf-8?B?Y3VLVUg5RHZZRmIyRUNzVVplSHE5S3JaUmU2WGE4SmRyU2RSUDExSmZkMzhn?= =?utf-8?B?bmFHSk0yOVdGL1RsQWZEckwvRUZXWUU3OTM0QUFacVQvblYyM1h4eGJwREcx?= =?utf-8?B?dGg3MnRsYjFSMGYrWEFHQWVjSTZiKzh3N3Z3YVpDVkRHRS82UGFIUWxnR1hO?= =?utf-8?B?MG9JZTFVMzlCYmo3SnQ2ckh4b1hoQUtKeGpWQnpMNThpcFp0bVFveXFMVldm?= =?utf-8?B?WWwxOWd3TmpjU2wzR0dwV3hWVUVsbFYzU05NY2I2NWFPa2FQRkNHRWxaOWw3?= =?utf-8?B?VVVzcklGQUsvZHJ5TkdhbVUrT2J1NnlmRXpDM2w2UXZGVTZBRTlVMm15N2Vq?= =?utf-8?B?b1Bmd25UMVZib2hKSFhmemFVNkJrOE9LMmNnc0FnekJSdnF6WUt6Mzh0Vzdq?= =?utf-8?B?NTh0WXhXUDdHbDNrdEtEdnRvczJhNUg0SzNTMEYvMXY5SThjNmtjeTV0ek56?= =?utf-8?B?VTRUdW1wQ0s5a3Q0WERIdm9yZXR6Q3AxamNZcG1sNG44b0UwY0RUckowbDFY?= =?utf-8?B?Zkh0ZmdWWEZNTnBVTWorNUE5WlMydDkrc3lKeUVUbWk5NzVhTXdhNnY4aEdv?= =?utf-8?B?K0NkWk1uT2VRS1Q5LytqS2VnUmFuZWZPcC90dmtqUjhJaUJGSGFnM3hwMDU4?= =?utf-8?Q?mMgL/djYlI0CAcduqQ+Qj54U0zPIAcAbJGd8Qz7?= 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: SN6PR11MB2621.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 25d16d54-5509-4d88-785b-08d8fe663520 X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Apr 2021 10:23:40.2755 (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: xHad3qL3VrjuiR0ZWxtr6Ld/ragnFqQwUgUG7HTnq4GgKyAspZj+W2fF32PO8delZXscY8VQLoyheVD27R2P1Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA2PR11MB5177 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+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEFuYW55ZXYsIEtvbnN0YW50 aW4gPGtvbnN0YW50aW4uYW5hbnlldkBpbnRlbC5jb20+DQo+IFNlbnQ6IEZyaWRheSwgQXByaWwg OSwgMjAyMSA2OjQwIFBNDQo+IFRvOiBSb25nLCBMZXlpIDxsZXlpLnJvbmdAaW50ZWwuY29tPjsg WWlnaXQsIEZlcnJ1aCA8ZmVycnVoLnlpZ2l0QGludGVsLmNvbT47DQo+IFpoYW5nLCBRaSBaIDxx aS56LnpoYW5nQGludGVsLmNvbT47IFhpbmcsIEJlaWxlaSA8YmVpbGVpLnhpbmdAaW50ZWwuY29t Pg0KPiBDYzogZGV2QGRwZGsub3JnDQo+IFN1YmplY3Q6IFJFOiBbZHBkay1kZXZdIFtQQVRDSF0g bmV0L2k0MGU6IGFkZCBUeCBwcmVwYXJhdGlvbiBmb3IgdmVjdG9yIGRhdGENCj4gcGF0aA0KPiAN Cj4gDQo+IA0KPiA+ID4gPiA+ID4gRmlsbCB1cCBkZXYtPnR4X3BrdF9wcmVwYXJlIHRvIGk0MGVf cGt0X3ByZXBhcmUgd2hlbiBvbiB2ZWN0b3INCj4gPiA+ID4gPiA+IGFuZCBzaW1wbGUgZGF0YSBw YXRoIHNlbGVjdGlvbiwgYXMgdGhlIHNhbml0eSBjaGVjayBpcyBuZWVkZWQgaWRlYWxseS4NCj4g PiA+ID4gPiA+DQo+ID4gPiA+ID4gPiBTaWduZWQtb2ZmLWJ5OiBMZXlpIFJvbmcgPGxleWkucm9u Z0BpbnRlbC5jb20+DQo+ID4gPiA+ID4gPiAtLS0NCj4gPiA+ID4gPiA+ICAgZHJpdmVycy9uZXQv aTQwZS9pNDBlX3J4dHguYyB8IDIgKy0NCj4gPiA+ID4gPiA+ICAgMSBmaWxlIGNoYW5nZWQsIDEg aW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9yeHR4LmMNCj4gPiA+ID4gPiA+IGIvZHJp dmVycy9uZXQvaTQwZS9pNDBlX3J4dHguYyBpbmRleCA2MWNiMjA0YmUyLi5iM2Q3NzY1ZTNiDQo+ ID4gPiA+ID4gPiAxMDA2NDQNCj4gPiA+ID4gPiA+IC0tLSBhL2RyaXZlcnMvbmV0L2k0MGUvaTQw ZV9yeHR4LmMNCj4gPiA+ID4gPiA+ICsrKyBiL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9yeHR4LmMN Cj4gPiA+ID4gPiA+IEBAIC0zNDEyLDcgKzM0MTIsNyBAQCBpNDBlX3NldF90eF9mdW5jdGlvbihz dHJ1Y3QgcnRlX2V0aF9kZXYNCj4gKmRldikNCj4gPiA+ID4gPiA+ICAgCQkJUE1EX0lOSVRfTE9H KERFQlVHLCAiU2ltcGxlIHR4IGZpbmFsbHkgYmUNCj4gdXNlZC4iKTsNCj4gPiA+ID4gPiA+ICAg CQkJZGV2LT50eF9wa3RfYnVyc3QgPSBpNDBlX3htaXRfcGt0c19zaW1wbGU7DQo+ID4gPiA+ID4g PiAgIAkJfQ0KPiA+ID4gPiA+ID4gLQkJZGV2LT50eF9wa3RfcHJlcGFyZSA9IE5VTEw7DQo+ID4g PiA+ID4gPiArCQlkZXYtPnR4X3BrdF9wcmVwYXJlID0gaTQwZV9wcmVwX3BrdHM7DQo+ID4gPiA+ ID4gPiAgIAl9IGVsc2Ugew0KPiA+ID4gPiA+ID4gICAJCVBNRF9JTklUX0xPRyhERUJVRywgIlht aXQgdHggZmluYWxseSBiZSB1c2VkLiIpOw0KPiA+ID4gPiA+ID4gICAJCWRldi0+dHhfcGt0X2J1 cnN0ID0gaTQwZV94bWl0X3BrdHM7DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4g SXQgc2VlbXMgcHJlcGFyZSBmdW5jdGlvbiBpcyBkb2luZyBzb21lIHNhbml0eSBjaGVja3MgYmVm b3JlDQo+ID4gPiA+ID4gaGFuZGluZyBwYWNrZXRzIHRvIHRoZSBIVy4NCj4gPiA+ID4gPiBTbyB3 aXRoIHRoaXMgY2hhbmdlIGFsbCBUeCBwYXRocyBjYWxscyB0aGUgc2FtZSBUeCBwcmVwYXJlDQo+ ID4gPiA+ID4gZnVuY3Rpb24sIGlmIHNvIHdoeSBub3Qgc2V0IHRoZSBmdW5jdGlvbiBwb2ludGVy IG91dHNpZGUgb2YgdGhlDQo+ID4gPiA+ID4gaWYgYmxvY2ssIGluc3RlYWQgb2Ygc2V0dGluZyBp dCBpbiBib3RoIGxlZ3Mgb2YgdGhlIGlmL2Vsc2U/DQo+ID4gPiA+ID4gVGhpcyBjbGFyaWZpZXMg dGhhdCBUeCBwcmVwYXJlDQo+ID4gPiB1c2VkIGFsd2F5cy4NCj4gPiA+ID4NCj4gPiA+ID4gSGkg RmVycnVoLA0KPiA+ID4gPg0KPiA+ID4gPiBZZXMsIGl0IG1ha2Ugc2Vuc2UuDQo+ID4gPiA+DQo+ ID4gPiA+IEhpIEtvbnN0YW50aW4sDQo+ID4gPg0KPiA+ID4gSGkgTGV5aSwNCj4gPiA+DQo+ID4g PiA+DQo+ID4gPiA+IFdvdWxkIHRoYXQgYmUgc29tZXRoaW5nIHdyb25nIGlmIHRoZSBwcmVwYXJl IGZ1bmN0aW9uIGdvZXMgZm9yDQo+ID4gPiA+IHNpbXBsZSBUeA0KPiA+ID4gZnVuY3Rpb24gYWx0 aG91Z2ggaXQgZG9lcyBub3Qgc3VwcG9ydCB0aGUgb2ZmbG9hZCBmZWF0dXJlIHlldD8NCj4gPiA+ ID4NCj4gPiA+DQo+ID4gPiBDdXJyZW50IHNpdHVhdGlvbjoNCj4gPiA+IEZvciBzaW1wbGUgVFgg cGF0aCB3ZSBzZXQgZGV2LT50eF9wa3RfcHJlcGFyZSA9IE5VTEwuDQo+ID4gPiBUaGF0IG1ha2Vz IHJ0ZV9ldGhfdHhfcHJlcGFyZSgpIGEgc3R1YiB0aGF0IGRvZXMgbm90aGluZyBhbmQgYWx3YXlz DQo+IHJldHVybnM6DQo+ID4gPiAiQWxsIHBhY2tldHMgYXJlIGdvb2QiLg0KPiA+ID4gVGhhdCBp cyB1bnNhZmUgb2ZmLWNvdXJzZSwgYW5kIGlmIHVwcGVyIGxheWVyIHdpbGwgcGFzcyBhIHBhY2tl dA0KPiA+ID4gdGhhdCBpcyBub3Qgc3VwcG9ydGVkLCB0aGVuIGl0IGNhbiBsZWFkIHRvIHZhcmlv dXMgYmFkIHRoaW5nczogYmFkDQo+ID4gPiBja3N1bSwgY29ycnVwdGVkIHBhY2tldHMsIFRYIGhh bmcsIGV0Yy4NCj4gPiA+IEJ1dCBhdCBsZWFzdCBpdCBrZWVwcyBzaW1wbGUgVFggcGF0aCBmYXN0 Lg0KPiA+ID4gV2l0aCB0aGF0IHBhdGNoOg0KPiA+ID4gRm9yIHNpbXBsZSBUWCBwYXRoIHdlIHNl dCBkZXYtPnR4X3BrdF9wcmVwYXJlID0gaTQwZV9wcmVwX3BrdHMuDQo+ID4gPiBOb3cgb24gVFgg cGF0aCB3ZSBpbnZva2UgZXh0cmEgZnVuY3Rpb24gdGhhdCBkb2VzIGEgbG90IG9mIGNoZWNrcywN Cj4gPiA+IGJ1dCBpdCBzdGlsbA0KPiA+ID4gdW5zYWZlOg0KPiA+ID4gYXMgaTQwZV9wcmVwX3Br dHMoKSBhc3N1bWVzIHRoYXQgIGZ1bGwtZmVhdHVyZWQgVFggZnVuY3Rpb24gaXMgaW4NCj4gPiA+ IHBsYWNlIChtdWx0aS1zZWdzIGFyZSBhbGxvd2VkLCBldGMuKS4NCj4gPiA+IFNvIG91ciBzaW1w bGUgVFggcGF0aCBiZWNhbWUgc2xvd2VyLCBidXQgc3RpbGwgaXMgdW5zYWZlLg0KPiA+ID4gSSB0 aGluayB0aGF0IGlmIHdlIHdhbnQgdG8gaW50cm9kdWNlIHR4X3ByZXBhcmUoKSBmb3Igc2ltcGxl IFRYDQo+ID4gPiBwYXRoLCB0aGVuIHRoZSBwcm9wZXIgd2F5IC0gY3JlYXRlIGEgbmV3IGZ1bmN0 aW9uIGZvciBpdA0KPiAoaTQwZV9zaW1wbGVfcHJlcF9wa3RzKCkgb3Igc28pLg0KPiA+ID4gSXQg d2lsbCBiZSBhd2FyZSB0aGF0IHNpbXBsZSBUWCBwYXRoIGlzIGluIHBsYWNlIGFuZCBtb3JlDQo+ ID4gPiByZXN0cmljdGlvbnMgc2hvdWxkIGJlDQo+ID4gPiBtZXQ6DQo+ID4gPiBjaGVjayB0aGF0 IG5iX3NlZ3M9PTEgYW5kIG5vIFRYIG9mZmxvYWRzIChleGNlcHQgRkFTVF9GUkVFPykgYXJlDQo+ ID4gPiBlbmFibGVkLCBwbHVzIHVzdWFsIGNoZWNrcyBmb3IgbWluIGFuZCBtYXggcGt0X2xlbi4N Cj4gPiA+DQo+ID4gPiBLb25zdGFudGluDQo+ID4gPg0KPiANCj4gDQo+IEhpIExleWksDQo+IA0K PiA+IEhpIEtvbnN0YW50aW4sDQo+ID4NCj4gPiBUaGFua3MgZm9yIHRoZSBleHBsYW5hdGlvbiwg SSBrbm93IHRoZSBjdXJyZW50IGZ1bGwtZmVhdHVyZWQgcHJlcGFyZQ0KPiA+IGZ1bmN0aW9uIHdp bGwgY29zdCBtb3JlIENQVSBjeWNsZSwgYnV0IG5vdCBzdXJlIGhvdyB0byBzYXkgaXMgc3RpbGwg dW5zYWZlPw0KPiANCj4gTGV0IHNheSB1c2VyIHdpbGwgZG86DQo+IA0KPiBtYiA9IGNyZWF0ZV9h bmRfZmlsbF9tdWx0aV9zZWdfcGt0KC4uLik7DQo+IG4gPSAgcnRlX2V0aF90eF9wcmVwYXJlKHAs IHEsICZtYiwgMSk7DQo+IGlmIChuID09IDEpDQo+ICAgbiA9IHJ0ZV9ldGhfdHhfYnVyc3QocCwg cSwgJm1iLCAxKTsNCj4gZWxzZQ0KPiAgIHJ0ZV9wa3RtYnVmX2ZyZWUobWIpOw0KPiANCj4gaWYg ZGV2LT50eF9wa3RfcHJlcGFyZSA9PSBpNDBlX3ByZXBfcGt0cyBhbmQgZGV2LT50eF9wa3RfYnVy cyA9PQ0KPiBpNDBlX3htaXRfcGt0c19zaW1wbGUsIHRoZW4gdGhpcyBjb2RlIHdpbGwgVFggdGhl IHBhY2tldCwgZXZlbiB0aG91Z2ggaXQNCj4gc2hvdWxkbid0IGluIHRoZW9yeS4NCj4gDQoNCkhp IEtvbnN0YW50aW4sDQoNClllcywgaXQgbWFrZSBzZW5zZSBmb3IgdGhlIGN1cnJlbnQgc2l0dWF0 aW9uLg0KDQo+ID4gV2h5IEkgc2V0IHRoZSBzaW1wbGUgVHggcHJlcGFyZSBmdW5jdGlvbiB0byB0 aGUgY3VycmVudA0KPiA+IGk0MGVfcHJlcF9wa3RzKCkgaXMgd2UgbWF5IHN1cHBvcnQgbW9yZSBv ZmZsb2FkIGZlYXR1cmVzIGxpa2UgY3VycmVudCBmdWxsLQ0KPiBmZWF0dXJlZCBUeCBmb3IgdmVj dG9yIHBhdGgod2hpY2ggaXMgaW5jbHVkZWQgaW4gc2ltcGxlIFR4IGN1cnJlbnRseSksIGlmIHNv LCB0aGUNCj4gY3VycmVudCB0eCBwcmVwYXJlIGZ1bmN0aW9uIGNhbiBiZSByZS11c2VkLg0KPiAN Cj4gQUZBSUssIGZvciBpNDBlIGN1cnJlbnQgc2ltcGxlIChhbmQgdmVjdG9yKSBUWCBwYXRoIGRv ZXNuJ3Qgc3VwcG9ydCBhbGwgb2ZmbG9hZHMNCj4gdGhhdCBhcmUgc3VwcG9ydGVkIGJ5IGZ1bGwt ZmVhdHVyZWQgcGF0aCBUbyBiZSBtb3JlIHNwZWNpZmljOiBtdWxpdC1zZWcgcGFja2V0cywNCj4g VENQX0NLU1VNLCBUQ1BfU0VHLCBldGMuDQo+IEFtIEkgbWlzc2luZyBzb21ldGhpbmcgb2J2aW91 cyBoZXJlPw0KPiANCj4gS29uc3RhbnRpbg0KDQpXZSdyZSBpbnRlbmRpbmcgdG8gc3VwcG9ydCBt b3JlIG9mZmxvYWQgZmVhdHVyZXMgaW50byB2ZWN0b3IgcGF0aCBncmFkdWFsbHksIGljZS9pYXZm IFBNRCB3aWxsIHN1cHBvcnQgVHggY2hlY2tzdW0gb2ZmbG9hZCBpbiBBVlg1MTIgcGF0aCBpbiB0 aGUgMjEwNSByZWxlYXNlLCBhbHNvIHdpbGwgdHJ5IHRvIHN1cHBvcnQgbW9yZSBpbiB0aGUgZnV0 dXJlIGlmIHBvc3NpYmxlLg0K