From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <konstantin.ananyev@intel.com>
Received: from mga11.intel.com (mga11.intel.com [192.55.52.93])
 by dpdk.org (Postfix) with ESMTP id 4C30B5A38
 for <dev@dpdk.org>; Thu, 20 Aug 2015 10:41:17 +0200 (CEST)
Received: from orsmga003.jf.intel.com ([10.7.209.27])
 by fmsmga102.fm.intel.com with ESMTP; 20 Aug 2015 01:41:16 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="5.15,714,1432623600"; d="scan'208";a="628921598"
Received: from irsmsx109.ger.corp.intel.com ([163.33.3.23])
 by orsmga003.jf.intel.com with ESMTP; 20 Aug 2015 01:41:15 -0700
Received: from irsmsx111.ger.corp.intel.com (10.108.20.4) by
 IRSMSX109.ger.corp.intel.com (163.33.3.23) with Microsoft SMTP Server (TLS)
 id 14.3.224.2; Thu, 20 Aug 2015 09:41:14 +0100
Received: from irsmsx105.ger.corp.intel.com ([169.254.7.51]) by
 irsmsx111.ger.corp.intel.com ([169.254.2.19]) with mapi id 14.03.0224.002;
 Thu, 20 Aug 2015 09:41:14 +0100
From: "Ananyev, Konstantin" <konstantin.ananyev@intel.com>
To: Vlad Zolotarov <vladz@cloudius-systems.com>, "Lu, Wenzhuo"
 <wenzhuo.lu@intel.com>
Thread-Topic: [dpdk-dev] [PATCH v1] ixgbe_pmd: forbid tx_rs_thresh above 1
 for all NICs but 82598
Thread-Index: AQHQ1fLdzr8LLH2vnUGzlbtkZ07kmp4KUJ2AgACZZoCAB4kdgIAARtIAgAA6/ACAABrDAIABg+NQ
Date: Thu, 20 Aug 2015 08:41:13 +0000
Message-ID: <2601191342CEEE43887BDE71AB97725836A7BEC4@irsmsx105.ger.corp.intel.com>
References: <1439489195-31553-1-git-send-email-vladz@cloudius-systems.com>
 <F35DEAC7BCE34641BA9FAC6BCA4A12E70A8E1AE6@SHSMSX104.ccr.corp.intel.com>
 <55CD7EA5.6060100@cloudius-systems.com>
 <6A0DE07E22DDAD4C9103DF62FEBC0909D3E116@shsmsx102.ccr.corp.intel.com>
 <CAOYyTHaymoNj92+_F1NaP6vPmGO9bdJV7VY7V052RrR_NjRUPw@mail.gmail.com>
 <2601191342CEEE43887BDE71AB97725836A76983@irsmsx105.ger.corp.intel.com>
 <55D4543E.9000808@cloudius-systems.com>
In-Reply-To: <55D4543E.9000808@cloudius-systems.com>
Accept-Language: en-IE, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [163.33.239.181]
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
Cc: "dev@dpdk.org" <dev@dpdk.org>
Subject: Re: [dpdk-dev] [PATCH v1] ixgbe_pmd: forbid tx_rs_thresh above 1
 for all NICs but 82598
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: patches and discussions about DPDK <dev.dpdk.org>
List-Unsubscribe: <http://dpdk.org/ml/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://dpdk.org/ml/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <http://dpdk.org/ml/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
X-List-Received-Date: Thu, 20 Aug 2015 08:41:18 -0000

SGkgVmxhZCwNCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBWbGFkIFpv
bG90YXJvdiBbbWFpbHRvOnZsYWR6QGNsb3VkaXVzLXN5c3RlbXMuY29tXQ0KPiBTZW50OiBXZWRu
ZXNkYXksIEF1Z3VzdCAxOSwgMjAxNSAxMTowMyBBTQ0KPiBUbzogQW5hbnlldiwgS29uc3RhbnRp
bjsgTHUsIFdlbnpodW8NCj4gQ2M6IGRldkBkcGRrLm9yZw0KPiBTdWJqZWN0OiBSZTogW2RwZGst
ZGV2XSBbUEFUQ0ggdjFdIGl4Z2JlX3BtZDogZm9yYmlkIHR4X3JzX3RocmVzaCBhYm92ZSAxIGZv
ciBhbGwgTklDcyBidXQgODI1OTgNCj4gDQo+IA0KPiANCj4gT24gMDgvMTkvMTUgMTA6NDMsIEFu
YW55ZXYsIEtvbnN0YW50aW4gd3JvdGU6DQo+ID4gSGkgVmxhZCwNCj4gPiBTb3JyeSBmb3IgZGVs
YXkgd2l0aCByZXZpZXcsIEkgYW0gT09PIHRpbGwgbmV4dCB3ZWVrLg0KPiA+IE1lYW53aGlsZSwg
ZmV3IHF1ZXN0aW9ucy9jb21tZW50cyBmcm9tIG1lLg0KPiANCj4gSGksIEtvbnN0YW50aW4sIGxv
bmcgdGltZSBubyBzZWUuLi4gOykNCj4gDQo+ID4NCj4gPj4+Pj4+IFRoaXMgcGF0Y2ggZml4ZXMg
dGhlIFR4IGhhbmcgd2Ugd2VyZSBjb25zdGFudGx5IGhpdHRpbmcgd2l0aCBhDQo+ID4+IHNlYXN0
YXItYmFzZWQNCj4gPj4+Pj4+IGFwcGxpY2F0aW9uIG9uIHg1NDAgTklDLg0KPiA+Pj4+PiBDb3Vs
ZCB5b3UgaGVscCB0byBzaGFyZSB3aXRoIHVzIGhvdyB0byByZXByb2R1Y2UgdGhlIHR4IGhhbmcg
aXNzdWUsDQo+ID4+IHdpdGggdXNpbmcNCj4gPj4+Pj4gdHlwaWNhbCBEUERLIGV4YW1wbGVzPw0K
PiA+Pj4+IFNvcnJ5LiBJJ20gbm90IHZlcnkgZmFtaWxpYXIgd2l0aCB0aGUgdHlwaWNhbCBEUERL
IGV4YW1wbGVzIHRvIGhlbHAgdQ0KPiA+Pj4+IGhlcmUuIEhvd2V2ZXIgdGhpcyBpcyBxdWl0ZSBp
cnJlbGV2YW50IHNpbmNlIHdpdGhvdXQgdGhpcyB0aGlzIHBhdGNoDQo+ID4+Pj4gaXhnYmUgUE1E
IG9idmlvdXNseSBhYnVzZXMgdGhlIEhXIHNwZWMgYXMgaGFzIGJlZW4gZXhwbGFpbmVkIGFib3Zl
Lg0KPiA+Pj4+DQo+ID4+Pj4gV2Ugc2F3IHRoZSBpc3N1ZSB3aGVuIHUgc3RyZXNzZWQgdGhlIHht
aXQgcGF0aCB3aXRoIGEgbG90IG9mIGhpZ2hseQ0KPiA+Pj4+IGZyYWdtZW50ZWQgVENQIGZyYW1l
cyAocGFja2V0cyB3aXRoIHVwIHRvIDMzIGZyYWdtZW50cyB3aXRoIG5vbi1oZWFkZXJzDQo+ID4+
Pj4gZnJhZ21lbnRzIGFzIHNtYWxsIGFzIDQgYnl0ZXMpIHdpdGggYWxsIG9mZmxvYWQgZmVhdHVy
ZXMgZW5hYmxlZC4NCj4gPiBDb3VsZCB5b3UgcHJvdmlkZSB1cyB3aXRoIHRoZSBwY2FwIGZpbGUg
dG8gcmVwcm9kdWNlIHRoZSBpc3N1ZT8NCj4gDQo+IFdlbGwsIHRoZSB0aGluZyBpcyBpdCB0YWtl
cyBzb21lIHRpbWUgdG8gcmVwcm9kdWNlIGl0IChhIGZldyBtaW51dGVzIG9mDQo+IGhlYXZ5IGxv
YWQpIHRoZXJlZm9yZSBhIHBjYXAgd291bGQgYmUgcXVpdGUgbGFyZ2UuDQoNClByb2JhYmx5IHlv
dSBjYW4gdXBsb2FkIGl0IHRvIHNvbWUgcGxhY2UsIGZyb20gd2hpY2ggd2Ugd2lsbCBiZSBhYmxl
IHRvIGRvd25sb2FkIGl0Pw0KT3IgbWlnaHQgYmUgeW91IGhhdmUgc29tZSBzb3J0IG9mIHNjYXB5
IHNjcmlwdCB0byBnZW5lcmF0ZSBpdD8NCkkgc3VwcG9zZSB3ZSdsbCBuZWVkIHNvbWV0aGluZyB0
byByZXByb2R1Y2UgdGhlIGlzc3VlIGFuZCB2ZXJpZnkgdGhlIGZpeC4gICANCg0KPiANCj4gPiBN
eSBjb25jZXJuIHdpdGggeW91IGFwcHJvYWNoIGlzIHRoYXQgaXQgd291bGQgYWZmZWN0IFRYIHBl
cmZvcm1hbmNlLg0KPiANCj4gSXQgY2VydGFpbmx5IHdpbGwgOykgQnV0IGl0IHNlZW0gaW5ldml0
YWJsZS4gU2VlIGJlbG93Lg0KPiANCj4gPiBSaWdodCBub3csIGZvciBzaW1wbGUgVFggUE1EIHVz
dWFsbHkgcmVhZHMgb25seSAobmJfdHhfZGVzYy90eF9yc190aHJlc2gpIFRYRHMsDQo+ID4gV2hp
bGUgd2l0aCB5b3VyIHBhdGNoIChpZiBJIHVuZGVyc3RhbmQgaXQgY29ycmVjdGx5KSBpdCBoYXMg
dG8gcmVhZCBhbGwgVFhEcyBpbiB0aGUgSFcgVFggcmluZy4NCj4gDQo+IElmIGJ5ICJzaW1wbGUi
IHUgcmVmZXIgYW4gYWx3YXlzIHNpbmdsZSBmcmFnbWVudCBwZXIgVHggcGFja2V0IC0gdGhlbiB1
DQo+IGFyZSBhYnNvbHV0ZWx5IGNvcnJlY3QuDQo+IA0KPiBNeSBpbml0aWFsIHBhdGNoIHdhcyB0
byBvbmx5IHNldCBSUyBvbiBldmVyeSBFT1AgZGVzY3JpcHRvciB3aXRob3V0DQo+IGNoYW5naW5n
IHRoZSByc190aHJlc2ggdmFsdWUgYW5kIHRoaXMgcGF0Y2ggd29ya2VkLg0KPiBIb3dldmVyIEhX
IHNwZWMgZG9lc24ndCBlbnN1cmUgaW4gYSBnZW5lcmFsIGNhc2UgdGhhdCBwYWNrZXRzIGFyZSBh
bHdheXMNCj4gaGFuZGxlZC9jb21wbGV0aW9uIHdyaXRlLWJhY2sgY29tcGxldGVzIGluIHRoZSBz
YW1lIG9yZGVyIHRoZSBwYWNrZXRzDQo+IGFyZSBwbGFjZWQgb24gdGhlIHJpbmcgKHNlZSAiVHgg
YXJiaXRyYXRpb24gc2NoZW1lcyIgY2hhcHRlciBpbiA4MjU5OQ0KPiBzcGVjIGZvciBpbnN0YW5j
ZSkuIFRoZXJlZm9yZSBBRkFJVSBvbmUgc2hvdWxkIG5vdCBhc3N1bWUgdGhhdCBpZg0KPiBwYWNr
ZXRbeCsxXSBERCBiaXQgaXMgc2V0IHRoZW4gcGFja2V0W3hdIGlzIGNvbXBsZXRlZCB0b28uDQoN
CkZyb20gbXkgdW5kZXJzdGFuZGluZywgVFggYXJiaXRyYXRpb24gY29udHJvbHMgdGhlIG9yZGVy
IGluIHdoaWNoIFRYRHMgZnJvbQ0KZGlmZmVyZW50IHF1ZXVlcyBhcmUgZmV0Y2hlZC9wcm9jZXNz
ZWQuDQpCdXQgZGVzY3JpcHRvcnMgZnJvbSB0aGUgc2FtZSBUWCBxdWV1ZSBhcmUgcHJvY2Vzc2Vk
IGluIEZJRk8gb3JkZXIuDQpTbywgSSB0aGluayB0aGF0ICAtIHllcywgaWYgVFhEW3grMV0gREQg
Yml0IGlzIHNldCwgdGhlbiBUWERbeF0gaXMgY29tcGxldGVkIHRvbywNCmFuZCBzZXR0aW5nIFJT
IG9uIGV2ZXJ5IEVPUCBUWEQgc2hvdWxkIGJlIGVub3VnaC4NCg0KPiANCj4gVGhhdCdzIHdoeSBJ
IGNoYW5nZWQgdGhlIHBhdGNoIHRvIGJlIGFzIHUgc2VlIGl0IG5vdy4gSG93ZXZlciBpZiBJIG1p
c3MNCj4gc29tZXRoaW5nIGhlcmUgYW5kIHlvdXIgSFcgcGVvcGxlIGVuc3VyZSB0aGUgaW4tb3Jk
ZXIgY29tcGxldGlvbiB0aGlzIG9mDQo+IGNvdXJzZSBtYXkgYmUgY2hhbmdlZCBiYWNrLg0KPiAN
Cj4gPiBFdmVuIGlmIHdlIHJlYWxseSBuZWVkIHRvIHNldHVwIFJTIGJpdCBpbiBlYWNoIFRYRCAo
SSBzdGlsbCBkb3VidCB3ZSByZWFsbHkgZG8pIC0gLA0KPiANCj4gV2VsbCwgaWYgdSBkb3VidCB1
IG1heSBhc2sgdGhlIGd1eXMgZnJvbSB0aGUgSW50ZWwgbmV0d29ya2luZyBkaXZpc2lvbg0KPiB0
aGF0IHdyb3RlIHRoZSA4MjU5OSBhbmQgeDU0MCBIVyBzcGVjcyB3aGVyZSB0aGV5IGNsZWFybHkg
c3RhdGUgdGhhdC4gOykNCg0KR29vZCBwb2ludCwgd2UnbGwgc2VlIHdoYXQgd2UgY2FuIGRvIGhl
cmUgOikNCktvbnN0YW50aW4NCg0KPiANCj4gPiBJIHRoaW5rIGluc2lkZSBQTUQgaXQgc3RpbGwg
c2hvdWxkIGJlIHBvc3NpYmxlIHRvIGNoZWNrIFRYIGNvbXBsZXRpb24gaW4gY2h1bmtzLg0KPiA+
IEtvbnN0YW50aW4NCj4gPg0KPiA+DQo+ID4+Pj4gVGhhbmtzLA0KPiA+Pj4+IHZsYWQNCj4gPj4+
Pj4+IFNpZ25lZC1vZmYtYnk6IFZsYWQgWm9sb3Rhcm92IDx2bGFkekBjbG91ZGl1cy1zeXN0ZW1z
LmNvbT4NCj4gPj4+Pj4+IC0tLQ0KPiA+Pj4+Pj4gICAgZHJpdmVycy9uZXQvaXhnYmUvaXhnYmVf
ZXRoZGV2LmMgfCAgOSArKysrKysrKysNCj4gPj4+Pj4+ICAgIGRyaXZlcnMvbmV0L2l4Z2JlL2l4
Z2JlX3J4dHguYyAgIHwgMjMgKysrKysrKysrKysrKysrKysrKysrKy0NCj4gPj4+Pj4+ICAgIDIg
ZmlsZXMgY2hhbmdlZCwgMzEgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQ0KPiA+Pj4+Pj4N
Cj4gPj4+Pj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9peGdiZS9peGdiZV9ldGhkZXYuYw0K
PiA+Pj4+Pj4gYi9kcml2ZXJzL25ldC9peGdiZS9peGdiZV9ldGhkZXYuYw0KPiA+Pj4+Pj4gaW5k
ZXggYjhlZTFlOS4uNjcxNGZkOSAxMDA2NDQNCj4gPj4+Pj4+IC0tLSBhL2RyaXZlcnMvbmV0L2l4
Z2JlL2l4Z2JlX2V0aGRldi5jDQo+ID4+Pj4+PiArKysgYi9kcml2ZXJzL25ldC9peGdiZS9peGdi
ZV9ldGhkZXYuYw0KPiA+Pj4+Pj4gQEAgLTI0MTQsNiArMjQxNCwxNSBAQCBpeGdiZV9kZXZfaW5m
b19nZXQoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYsDQo+ID4+Pj4gc3RydWN0DQo+ID4+Pj4+PiBy
dGVfZXRoX2Rldl9pbmZvICpkZXZfaW5mbykNCj4gPj4+Pj4+ICAgICAgICAgICAgIC50eHFfZmxh
Z3MgPSBFVEhfVFhRX0ZMQUdTX05PTVVMVFNFR1MgfA0KPiA+Pj4+Pj4gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIEVUSF9UWFFfRkxBR1NfTk9PRkZMT0FEUywNCj4gPj4+Pj4+ICAgICB9Ow0K
PiA+Pj4+Pj4gKw0KPiA+Pj4+Pj4gKyAgLyoNCj4gPj4+Pj4+ICsgICAqIEFjY29yZGluZyB0byA4
MjU5OSBhbmQgeDU0MCBzcGVjaWZpY2F0aW9ucyBSUyBiaXQgKm11c3QqIGJlDQo+ID4+IHNldCBv
bg0KPiA+Pj4+IHRoZQ0KPiA+Pj4+Pj4gKyAgICogbGFzdCBkZXNjcmlwdG9yIG9mICpldmVyeSog
cGFja2V0LiBUaGVyZWZvcmUgd2Ugd2lsbCBub3QgYWxsb3cNCj4gPj4gdGhlDQo+ID4+Pj4+PiAr
ICAgKiB0eF9yc190aHJlc2ggYWJvdmUgMSBmb3IgYWxsIE5JQ3MgbmV3ZXIgdGhhbiA4MjU5OC4N
Cj4gPj4+Pj4+ICsgICAqLw0KPiA+Pj4+Pj4gKyAgaWYgKGh3LT5tYWMudHlwZSA+IGl4Z2JlX21h
Y184MjU5OEVCKQ0KPiA+Pj4+Pj4gKyAgICAgICAgICBkZXZfaW5mby0+ZGVmYXVsdF90eGNvbmYu
dHhfcnNfdGhyZXNoID0gMTsNCj4gPj4+Pj4+ICsNCj4gPj4+Pj4+ICAgICBkZXZfaW5mby0+aGFz
aF9rZXlfc2l6ZSA9IElYR0JFX0hLRVlfTUFYX0lOREVYICogc2l6ZW9mKHVpbnQzMl90KTsNCj4g
Pj4+Pj4+ICAgICBkZXZfaW5mby0+cmV0YV9zaXplID0gRVRIX1JTU19SRVRBX1NJWkVfMTI4Ow0K
PiA+Pj4+Pj4gICAgIGRldl9pbmZvLT5mbG93X3R5cGVfcnNzX29mZmxvYWRzID0gSVhHQkVfUlNT
X09GRkxPQURfQUxMOyBkaWZmIC0tDQo+ID4+Pj4gZ2l0DQo+ID4+Pj4+PiBhL2RyaXZlcnMvbmV0
L2l4Z2JlL2l4Z2JlX3J4dHguYyBiL2RyaXZlcnMvbmV0L2l4Z2JlL2l4Z2JlX3J4dHguYw0KPiA+
PiBpbmRleA0KPiA+Pj4+Pj4gOTEwMjNiOS4uOGRiZGZmYyAxMDA2NDQNCj4gPj4+Pj4+IC0tLSBh
L2RyaXZlcnMvbmV0L2l4Z2JlL2l4Z2JlX3J4dHguYw0KPiA+Pj4+Pj4gKysrIGIvZHJpdmVycy9u
ZXQvaXhnYmUvaXhnYmVfcnh0eC5jDQo+ID4+Pj4+PiBAQCAtMjA4NSwxMSArMjA4NSwxOSBAQCBp
eGdiZV9kZXZfdHhfcXVldWVfc2V0dXAoc3RydWN0IHJ0ZV9ldGhfZGV2DQo+ID4+Pj4+PiAqZGV2
LA0KPiA+Pj4+Pj4gICAgIHN0cnVjdCBpeGdiZV90eF9xdWV1ZSAqdHhxOw0KPiA+Pj4+Pj4gICAg
IHN0cnVjdCBpeGdiZV9odyAgICAgKmh3Ow0KPiA+Pj4+Pj4gICAgIHVpbnQxNl90IHR4X3JzX3Ro
cmVzaCwgdHhfZnJlZV90aHJlc2g7DQo+ID4+Pj4+PiArICBib29sIHJzX2RlZmVycmluZ19hbGxv
d2VkOw0KPiA+Pj4+Pj4NCj4gPj4+Pj4+ICAgICBQTURfSU5JVF9GVU5DX1RSQUNFKCk7DQo+ID4+
Pj4+PiAgICAgaHcgPSBJWEdCRV9ERVZfUFJJVkFURV9UT19IVyhkZXYtPmRhdGEtPmRldl9wcml2
YXRlKTsNCj4gPj4+Pj4+DQo+ID4+Pj4+PiAgICAgLyoNCj4gPj4+Pj4+ICsgICAqIEFjY29yZGlu
ZyB0byA4MjU5OSBhbmQgeDU0MCBzcGVjaWZpY2F0aW9ucyBSUyBiaXQgKm11c3QqIGJlDQo+ID4+
IHNldCBvbg0KPiA+Pj4+IHRoZQ0KPiA+Pj4+Pj4gKyAgICogbGFzdCBkZXNjcmlwdG9yIG9mICpl
dmVyeSogcGFja2V0LiBUaGVyZWZvcmUgd2Ugd2lsbCBub3QgYWxsb3cNCj4gPj4gdGhlDQo+ID4+
Pj4+PiArICAgKiB0eF9yc190aHJlc2ggYWJvdmUgMSBmb3IgYWxsIE5JQ3MgbmV3ZXIgdGhhbiA4
MjU5OC4NCj4gPj4+Pj4+ICsgICAqLw0KPiA+Pj4+Pj4gKyAgcnNfZGVmZXJyaW5nX2FsbG93ZWQg
PSAoaHctPm1hYy50eXBlIDw9IGl4Z2JlX21hY184MjU5OEVCKTsNCj4gPj4+Pj4+ICsNCj4gPj4+
Pj4+ICsgIC8qDQo+ID4+Pj4+PiAgICAgICogVmFsaWRhdGUgbnVtYmVyIG9mIHRyYW5zbWl0IGRl
c2NyaXB0b3JzLg0KPiA+Pj4+Pj4gICAgICAqIEl0IG11c3Qgbm90IGV4Y2VlZCBoYXJkd2FyZSBt
YXhpbXVtLCBhbmQgbXVzdCBiZSBtdWx0aXBsZQ0KPiA+Pj4+Pj4gICAgICAqIG9mIElYR0JFX0FM
SUdOLg0KPiA+Pj4+Pj4gQEAgLTIxMTAsNiArMjExOCw4IEBAIGl4Z2JlX2Rldl90eF9xdWV1ZV9z
ZXR1cChzdHJ1Y3QgcnRlX2V0aF9kZXYNCj4gPj4+PiAqZGV2LA0KPiA+Pj4+Pj4gICAgICAqIHRv
IHRyYW5zbWl0IGEgcGFja2V0IGlzIGdyZWF0ZXIgdGhhbiB0aGUgbnVtYmVyIG9mIGZyZWUgVFgN
Cj4gPj4+Pj4+ICAgICAgKiBkZXNjcmlwdG9ycy4NCj4gPj4+Pj4+ICAgICAgKiBUaGUgZm9sbG93
aW5nIGNvbnN0cmFpbnRzIG11c3QgYmUgc2F0aXNmaWVkOg0KPiA+Pj4+Pj4gKyAgICogIHR4X3Jz
X3RocmVzaCBtdXN0IGJlIGxlc3MgdGhhbiAyIGZvciBOSUNzIGZvciB3aGljaCBSUw0KPiA+PiBk
ZWZlcnJpbmcgaXMNCj4gPj4+Pj4+ICsgICAqICBmb3JiaWRkZW4gKGFsbCBidXQgODI1OTgpLg0K
PiA+Pj4+Pj4gICAgICAqICB0eF9yc190aHJlc2ggbXVzdCBiZSBncmVhdGVyIHRoYW4gMC4NCj4g
Pj4+Pj4+ICAgICAgKiAgdHhfcnNfdGhyZXNoIG11c3QgYmUgbGVzcyB0aGFuIHRoZSBzaXplIG9m
IHRoZSByaW5nIG1pbnVzIDIuDQo+ID4+Pj4+PiAgICAgICogIHR4X3JzX3RocmVzaCBtdXN0IGJl
IGxlc3MgdGhhbiBvciBlcXVhbCB0byB0eF9mcmVlX3RocmVzaC4NCj4gPj4+Pj4+IEBAIC0yMTIx
LDkgKzIxMzEsMjAgQEAgaXhnYmVfZGV2X3R4X3F1ZXVlX3NldHVwKHN0cnVjdCBydGVfZXRoX2Rl
dg0KPiA+Pj4+ICpkZXYsDQo+ID4+Pj4+PiAgICAgICogV2hlbiBzZXQgdG8gemVybyB1c2UgZGVm
YXVsdCB2YWx1ZXMuDQo+ID4+Pj4+PiAgICAgICovDQo+ID4+Pj4+PiAgICAgdHhfcnNfdGhyZXNo
ID0gKHVpbnQxNl90KSgodHhfY29uZi0+dHhfcnNfdGhyZXNoKSA/DQo+ID4+Pj4+PiAtICAgICAg
ICAgICAgICAgICAgdHhfY29uZi0+dHhfcnNfdGhyZXNoIDogREVGQVVMVF9UWF9SU19USFJFU0gp
Ow0KPiA+Pj4+Pj4gKyAgICAgICAgICAgICAgICAgIHR4X2NvbmYtPnR4X3JzX3RocmVzaCA6DQo+
ID4+Pj4+PiArICAgICAgICAgICAgICAgICAgKHJzX2RlZmVycmluZ19hbGxvd2VkID8gREVGQVVM
VF9UWF9SU19USFJFU0ggOg0KPiA+PiAxKSk7DQo+ID4+Pj4+PiAgICAgdHhfZnJlZV90aHJlc2gg
PSAodWludDE2X3QpKCh0eF9jb25mLT50eF9mcmVlX3RocmVzaCkgPw0KPiA+Pj4+Pj4gICAgICAg
ICAgICAgICAgICAgICB0eF9jb25mLT50eF9mcmVlX3RocmVzaCA6IERFRkFVTFRfVFhfRlJFRV9U
SFJFU0gpOw0KPiA+Pj4+Pj4gKw0KPiA+Pj4+Pj4gKyAgaWYgKCFyc19kZWZlcnJpbmdfYWxsb3dl
ZCAmJiB0eF9yc190aHJlc2ggPiAxKSB7DQo+ID4+Pj4+PiArICAgICAgICAgIFBNRF9JTklUX0xP
RyhFUlIsICJ0eF9yc190aHJlc2ggbXVzdCBiZSBsZXNzIHRoYW4gMiBzaW5jZQ0KPiA+PiBSUw0K
PiA+Pj4+ICINCj4gPj4+Pj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm11c3QgYmUg
c2V0IGZvciBldmVyeSBwYWNrZXQgZm9yIHRoaXMNCj4gPj4gSFcuICINCj4gPj4+Pj4+ICsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIih0eF9yc190aHJlc2g9JXUgcG9ydD0lZCBxdWV1ZT0l
ZCkiLA0KPiA+Pj4+Pj4gKyAgICAgICAgICAgICAgICAgICAgICAgKHVuc2lnbmVkIGludCl0eF9y
c190aHJlc2gsDQo+ID4+Pj4+PiArICAgICAgICAgICAgICAgICAgICAgICAoaW50KWRldi0+ZGF0
YS0+cG9ydF9pZCwgKGludClxdWV1ZV9pZHgpOw0KPiA+Pj4+Pj4gKyAgICAgICAgICByZXR1cm4g
LShFSU5WQUwpOw0KPiA+Pj4+Pj4gKyAgfQ0KPiA+Pj4+Pj4gKw0KPiA+Pj4+Pj4gICAgIGlmICh0
eF9yc190aHJlc2ggPj0gKG5iX2Rlc2MgLSAyKSkgew0KPiA+Pj4+Pj4gICAgICAgICAgICAgUE1E
X0lOSVRfTE9HKEVSUiwgInR4X3JzX3RocmVzaCBtdXN0IGJlIGxlc3MgdGhhbiB0aGUNCj4gPj4+
PiBudW1iZXIgIg0KPiA+Pj4+Pj4gICAgICAgICAgICAgICAgICAgICAgICAgICJvZiBUWCBkZXNj
cmlwdG9ycyBtaW51cyAyLiAodHhfcnNfdGhyZXNoPSV1DQo+ID4+ICINCj4gPj4+Pj4+IC0tDQo+
ID4+Pj4+PiAyLjEuMA0KDQo=