From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx0b-000f0801.pphosted.com (mx0b-000f0801.pphosted.com [67.231.152.113]) by dpdk.org (Postfix) with ESMTP id E9A8AA56E for ; Fri, 8 Jul 2016 19:15:30 +0200 (CEST) Received: from pps.filterd (m0000700.ppops.net [127.0.0.1]) by mx0b-000f0801.pphosted.com (8.16.0.11/8.16.0.11) with SMTP id u68HEku1005924; Fri, 8 Jul 2016 10:15:30 -0700 Received: from brmwp-exmb12.corp.brocade.com ([208.47.132.227]) by mx0b-000f0801.pphosted.com with ESMTP id 23xb81ynww-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Fri, 08 Jul 2016 10:15:30 -0700 Received: from EMEAWP-EXMB11.corp.brocade.com (172.29.11.85) by BRMWP-EXMB12.corp.brocade.com (172.16.59.130) with Microsoft SMTP Server (TLS) id 15.0.1156.6; Fri, 8 Jul 2016 11:15:29 -0600 Received: from EMEAWP-EXMB11.corp.brocade.com (172.29.11.85) by EMEAWP-EXMB11.corp.brocade.com (172.29.11.85) with Microsoft SMTP Server (TLS) id 15.0.1156.6; Fri, 8 Jul 2016 19:15:27 +0200 Received: from EMEAWP-EXMB11.corp.brocade.com ([fe80::85ea:b7da:48dd:1640]) by EMEAWP-EXMB11.corp.brocade.com ([fe80::85ea:b7da:48dd:1640%21]) with mapi id 15.00.1156.000; Fri, 8 Jul 2016 19:15:27 +0200 From: Luca Boccassi To: "wenzhuo.lu@intel.com" CC: "dev@dpdk.org" Thread-Topic: [dpdk-dev] [PATCH v6 0/4] support reset of VF link Thread-Index: AQHRyrxwyGULMjtHKk+KVN3RtrtRvaAIX+qAgACYEYCAAJbpgIAA+XEAgAEGAACAAJMzgIAAmfGAgAAv8ACAADRUgIAAhJOAgAEdVIA= Date: Fri, 8 Jul 2016 17:15:27 +0000 Message-ID: <1467998127.1762.30.camel@brocade.com> References: <1465191653-28408-1-git-send-email-wenzhuo.lu@intel.com> <1466403870-6840-1-git-send-email-wenzhuo.lu@intel.com> <1467647287.32386.8.camel@brocade.com> <6A0DE07E22DDAD4C9103DF62FEBC09090348D343@shsmsx102.ccr.corp.intel.com> <1467712351.32466.11.camel@brocade.com> <6A0DE07E22DDAD4C9103DF62FEBC09090348DB05@shsmsx102.ccr.corp.intel.com> <1467822182.32466.34.camel@brocade.com> <6A0DE07E22DDAD4C9103DF62FEBC09090348E088@shsmsx102.ccr.corp.intel.com> <1467886851.1762.6.camel@brocade.com> <6A0DE07E22DDAD4C9103DF62FEBC09090348E322@shsmsx102.ccr.corp.intel.com> <1467908383.1762.22.camel@brocade.com> <6A0DE07E22DDAD4C9103DF62FEBC09090348E4AF@shsmsx102.ccr.corp.intel.com> In-Reply-To: <6A0DE07E22DDAD4C9103DF62FEBC09090348E4AF@shsmsx102.ccr.corp.intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-transport-fromentityheader: Hosted x-originating-ip: [172.27.212.167] Content-Type: text/plain; charset="utf-8" Content-ID: <4B57A6E6ADA2C04AA142AE36979D3FA4@brocade.local> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:, , definitions=2016-07-08_09:, , signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 priorityscore=1501 suspectscore=0 malwarescore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 impostorscore=0 lowpriorityscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1604210000 definitions=main-1607080156 Subject: Re: [dpdk-dev] [PATCH v6 0/4] support reset of VF link X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 08 Jul 2016 17:15:31 -0000 T24gRnJpLCAyMDE2LTA3LTA4IGF0IDAwOjE0ICswMDAwLCBMdSwgV2Vuemh1byB3cm90ZToNCj4g PiA+ID4gPiA+ID4gPiA+ID4gSGVsbG8gV2Vuemh1bywNCj4gPiA+ID4gPiA+ID4gPiA+ID4NCj4g PiA+ID4gPiA+ID4gPiA+ID4gSSdtIHRlc3RpbmcgdGhpcyBwYXRjaHNldCwgYnV0IEkgYW0gc3Bv cmFkaWNhbGx5IHJ1bm5pbmcNCj4gPiA+ID4gPiA+ID4gPiA+ID4gaW50byBhbiBpc3N1ZSB3aGVy ZSB0aGUgVkZzIHJlc2V0IGZhaWxzIGFmdGVyIHRoZSBQRiBmbGFwcy4NCj4gPiA+ID4gPiA+ID4g PiA+ID4NCj4gPiA+ID4gPiA+ID4gPiA+ID4gSSBoYXZlIGEgVk0gcnVubmluZyBvbiBhIEtWTSBi b3ggd2l0aCBhIFg1NDAtQVQyLCBwYXNzaW5nIDIgVkZzDQo+ID4gaW4uDQo+ID4gPiA+ID4gPiA+ ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gPiA+IEkgYW0gdXNpbmcgY2FsbGluZyBydGVfZXRoX2Rl dl9yZXNldCBpbiByZXNwb25zZSB0byBhDQo+ID4gPiA+ID4gPiA+ID4gPiA+IFJURV9FVEhfRVZF TlRfSU5UUl9SRVNFVCBjYWxsYmFjaywgYW5kIHRoZSBmb2xsb3dpbmcNCj4gPiA+ID4gPiA+ID4g PiA+ID4gZXJyb3JzIGFwcGVhciBpbiB0aGUNCj4gPiA+ID4gPiA+ID4gPiA+ID4gbG9nOg0KPiA+ ID4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+ID4gPiBQTUQ6IGl4Z2JldmZfZGV2X3Jl c2V0KCk6IEl4Z2JlIFZGIHJlc2V0OiBGYWlsZWQgdG8gdXBkYXRlIGxpbmsuDQo+ID4gPiA+ID4g PiA+ID4gPiA+IFBNRDogaXhnYmVfYWxsb2NfcnhfcXVldWVfbWJ1ZnMoKTogUlggbWJ1ZiBhbGxv YyBmYWlsZWQNCj4gPiA+ID4gPiA+ID4gPiA+ID4gcXVldWVfaWQ9MA0KPiA+ID4gPiA+ID4gPiA+ ID4gPiBQTUQ6IGl4Z2JldmZfZGV2X3N0YXJ0KCk6IFVuYWJsZSB0byBpbml0aWFsaXplIFJYDQo+ ID4gPiA+ID4gPiA+ID4gPiA+IGhhcmR3YXJlDQo+ID4gPiA+ID4gPiA+ID4gPiA+ICgtMTIpDQo+ ID4gPiA+ID4gPiA+ID4gPiA+IFBNRDogaXhnYmV2Zl9kZXZfcmVzZXQoKTogSXhnYmUgVkYgcmVz ZXQ6IEZhaWxlZCB0byBzdGFydCBkZXZpY2UuDQo+ID4gPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ ID4gPiA+ID4gPiA+IEp1bXBpbmcgaW4gd2l0aCBHREIsIGl0IHNlZW1zIHRoYXQgdGhlIHJ0ZV9y eG1idWZfYWxsb2MNCj4gPiA+ID4gPiA+ID4gPiA+ID4gY2FsbCBpbiBpeGdiZV9hbGxvY19yeF9x dWV1ZV9tYnVmcyByZXR1cm5zIE5VTEwgYXQNCj4gPiA+ID4gPiA+ID4gPiA+ID4gaXRlcmF0aW9u IDY0IG91dCBvZg0KPiA+ID4gPiAyMDQ4Lg0KPiA+ID4gPiA+ID4gPiA+ID4gPiBUaGUgYXBwbGlj YXRpb24gaGFzIH41MDAgMk1CIGh1Z2VwYWdlcywgYW5kIHRoZXJlJ3MgMkdCDQo+ID4gPiA+ID4g PiA+ID4gPiA+IG9mIGZyZWUgbWVtb3J5IGF2YWlsYWJsZSBvbiB0b3Agb2YgdGhhdC4NCj4gPiA+ ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiA+ID4gSGF2ZSB5b3Ugc2VlbiB0aGlzIGJl Zm9yZT8gQW55IHBvaW50ZXIgb3Igc3VnZ2VzdGlvbiBmb3INCj4gPiBkZWJ1Z2dpbmc/DQo+ID4g PiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gPiA+IFRoYW5rcyENCj4gPiA+ID4gPiA+ ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiA+ID4gLS0NCj4gPiA+ID4gPiA+ID4gPiA+ID4gS2lu ZCByZWdhcmRzLA0KPiA+ID4gPiA+ID4gPiA+ID4gPiBMdWNhIEJvY2Nhc3NpDQo+ID4gPiA+ID4g PiA+ID4gPiBJIHRoaW5rIHRoZSBwcm9ibGVtIGlzIHRoZSBtYnVmIG9jY3VwaWVkIGJ5IHRoZSBw YWNrZXRzIGlzDQo+ID4gPiA+ID4gPiA+ID4gPiBub3QgcmVsZWFzZWQuIFRoaXMNCj4gPiA+ID4g PiA+ID4gPiBtZW1vcnkgaGFzIHRvIGJlIHJlbGVhc2VkIGJ5IHRoZSBBUFAsIHNvIG15IHBhdGNo ZXMgaGF2ZW7igJl0DQo+ID4gPiA+ID4gPiA+ID4gY292ZXJlZA0KPiA+ID4gPiB0aGlzLg0KPiA+ ID4gPiA+ID4gPiA+IEFjdHVhbGx5IGFuIGV4YW1wbGUgaXMgbmVlZGVkIHRvIHNob3cgaG93IHRv IHVzZSB0aGUgcmVzZXQgQVBJLg0KPiA+ID4gPiA+ID4gPiA+IEkgcGxhbiB0byBtb2RpZnkgdGhl IHRlc3RwbWQuDQo+ID4gPiA+ID4gPiA+ID4gPiBZb3UgbWF5IG5vdGljZSB0aGlzIGZlYXR1cmUg aXMgcG9zdHBvbmVkIHRvIDE2LjExLiBXb3VsZA0KPiA+ID4gPiA+ID4gPiA+ID4geW91IGxpa2Ug dG8gd2FpdCBmb3INCj4gPiA+ID4gPiA+ID4gPiB0aGUgbmV3IHZlcnNpb24gdGhhdCB3aWxsIGlu Y2x1ZGUgYW4gZXhhbXBsZT8NCj4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+IEhpLA0K PiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gVW5mb3J0dW5hdGVseSB3ZSBuZWVkIHRo ZSBWRiByZXNldCB3b3JraW5nIHNvb25lciB0aGFuIHRoYXQsDQo+ID4gPiA+ID4gPiA+ID4gc28g b25lIHdheSBvciB0aGUgb3RoZXIgSSdsbCBuZWVkIHRvIHNvcnQgaXQgb3V0LiBHaXZlbiBJJ3Zl DQo+ID4gPiA+ID4gPiA+ID4gZ290IGEgdXNlIGNhc2Ugd2hlcmUgdGhpcyBpcyBoYXBwZW5pbmcs IGlmIGl0IGNhbiBiZSBoZWxwZnVsDQo+ID4gPiA+ID4gPiA+ID4gZm9yIHlvdSBJJ20gbW9yZSB0 aGFuIGhhcHB5IHRvIGhlbHAgYXMgYSBndWluZWEgcGlnLiBJZiB5b3UNCj4gPiA+ID4gPiA+ID4g PiBjb3VsZCBwbGVhc2UgZ2l2ZSBzb21lIGd1aWRhbmNlL2d1aWRlbGluZXMgd2l0aCByZWdhcmRz IHRvDQo+ID4gPiA+ID4gPiA+ID4gd2hpY2ggQVBJIHRvIHVzZSB0byBzb3J0IHRoZSBtYnVmDQo+ ID4gPiA+ID4gPiBwcm9ibGVtLCBJIGNhbiB0cnkgaXQgb3V0IGFuZCBnaXZlIGJhY2sgc29tZSBm ZWVkYmFjay4NCj4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+IFRoYW5rcyENCj4gPiA+ ID4gPiA+ID4gSSBtYWRlIGEgc3R1cGlkIG1pc3Rha2UgYW5kIGRlbGV0ZWQgYWxsIG15IGNvZGUu IFNvLCBJIGhhdmUgdG8NCj4gPiA+ID4gPiA+ID4gdGFrZSBzb21lIHRpbWUgdG8gcmV3cml0ZSBp dCA6KCBBdHRhY2hlZCB0aGUgZXhhbXBsZSBJIHVzZWQgdG8NCj4gPiA+ID4gPiA+ID4gdGVzdCB0 aGUgcmVzZXQgQVBJLiBJdCdzDQo+ID4gPiA+ID4gPiBtb2RpZmllZCBmcm9tIHRoZSBsMmZ3ZCBl eGFtcGxlLiBTbyB5b3UgY2FuIGNvbXBhcmUgaXQgd2l0aA0KPiA+ID4gPiA+ID4gbDJmd2QgdG8g c2VlIHdoYXQgbmVlZCB0byBiZSBhZGRlZC4NCj4gPiA+ID4gPiA+ID4gSG9wZWZ1bGx5IGl0IGNh biBoZWxwIDopDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gVGhhbmtzISBUaGF0IG1hZGUgbWUg dW5kZXJzdGFuZCBhIGNvdXBsZSBvZiB0aGluZ3MgbW9yZSwgYW5kDQo+ID4gPiA+ID4gPiBJJ3Zl IGdvdCBwYXN0IHRoZSBwcm9ibGVtLg0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+IFVuZm9ydHVu YXRlbHkgbm93IHRoZXJlJ3MgYSBiaWdnZXIgaXNzdWUgLSBydGVfZXRoX2Rldl9yZXNldCBpcw0K PiA+ID4gPiA+ID4gYSBibG9ja2luZw0KPiA+ID4gPiBjYWxsLg0KPiA+ID4gPiA+ID4gdGhlIF9S RVNFVCBldmVudCBjYWxsYmFjayBpcyBmaXJlZCB3aGVuIHRoZSBQRiBnb2VzIGRvd24sIGJ1dA0K PiA+ID4gPiA+ID4gd2hlbiBJIGNhbGwgcnRlX2V0aF9kZXZfcmVzZXQgaXQgd2lsbCBibG9jayB1 bnRpbCB0aGUgUEYgZ29lcyBiYWNrIHVwLg0KPiA+ID4gPiA+ID4gVGhlcmUgaXMgbm8gd2F5LCBh cyBmYXIgYXMgSSBjYW4gc2VlLCB0byBrbm93IGlmIHRoZSBQRiBpcyBiYWNrDQo+ID4gPiA+ID4g PiB1cCBiZWZvcmUNCj4gPiA+ID4gY2FsbGluZyBydGVfZXRoX2Rldl9yZXNldC4NCj4gPiA+ID4g PiA+DQo+ID4gPiA+ID4gPiBUaGlzIGlzIGEgcHJvYmxlbSBiZWNhdXNlLCBhcyBmYXIgYXMgSSB1 bmRlcnN0YW5kLCBJIGhhdmUgdG8NCj4gPiA+ID4gPiA+IGNhbGwgYWxsIHRoZSBydGVfZXRoX2Rl dl8gQVBJcyBmcm9tIHRoZSBzYW1lIHRocmVhZCwgaW4gbXkgY2FzZQ0KPiA+ID4gPiA+ID4gdGhl IG1hc3RlciB0aHJlYWQsIGFuZCBJIGNhbid0IGhhdmUgdGhhdCBibG9jayBwb3RlbnRpYWxseSBp bmRlZmluaXRlbHkuDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gV291bGQgaXQgYmUgcG9zc2li bGUgdG8gaGF2ZSAyIGV2ZW50cyBpbnN0ZWFkIG9mIDEsIG9uZSB3aGVuIHRoZQ0KPiA+ID4gPiA+ ID4gUEYgZ29lcyBkb3duIGFuZCBvbmUgd2hlbiBpdCBnb2VzIHVwPyBUaGlzIHdheSBhbiBhcHBs aWNhdGlvbg0KPiA+ID4gPiA+ID4gd291bGQgYmUgYWJsZSB0byBzb2Z0LXN0b3AgdGhlIHBvcnQg KGRyYWluIHF1ZXVlcywgZXRjKSB3aGVuIHRoZQ0KPiA+ID4gPiA+ID4gUEYgaXMgZG93biwgYW5k IHRoZW4gY2FsbCB0aGUgcmVzZXQgQVBJIHdoZW4gaXQgZ29lcyBiYWNrIHVwLg0KPiA+ID4gPiA+ ID4NCj4gPiA+ID4gPiA+IFRoYW5rcyENCj4gPiA+ID4gPiBTb3JyeSB3ZSBjYW5ub3QgaGF2ZSAy IGV2ZW50cyBub3cuIFRoZXJlJ3JlIDIgcHJvYmxlbXMgdG8gaGF2ZSAyIGV2ZW50cy4NCj4gPiA+ ID4gPiAxLCBOb3JtYWxseSB3ZSB1c2Uga2VybmVsIGRyaXZlciBmb3IgUEYuIE5vdyB0aGUga2Vy bmVsIGRyaXZlcg0KPiA+ID4gPiA+IG9ubHkgaGF2ZSBvbmUNCj4gPiA+ID4ga2luZCBvZiBtZXNz YWdlIGZvciBsaW5rIGRvd24gYW5kIHVwLiBTbyB3ZSBjYW5ub3QgdGVsbCBpZiBpdCdzIGRvd24g b3IgdXAuDQo+ID4gPiA+ID4gMiwgV2hlbiB0aGUgUEYgaXMgZG93biwgaWYgd2UgZG9uJ3QgcmVz ZXQgdGhlIFZGLCBWRiBpcyBub3Qgd29ya2luZy4NCj4gPiA+ID4gPiBJdCBjYW5ub3QgcmVjZWl2 ZSBhbnkgbWVzc2FnZSBmcm9tIFBGLiBTbyB3ZSBjYW5ub3Qga25vdyB0aGF0IHdoZW4NCj4gPiA+ ID4gPiBQRiBpcyB1cC4gSXQgbWVhbnMgbm9ybWFsbHkgd2UgaGF2ZSB0byByZXNldCBWRiB0d2lj ZSB3aGVuIFBGIGRvd24NCj4gPiA+ID4gPiBhbmQgdXAuIChTdXJlbHkgd2UgY2FuIHdhaXQgYSB3 aGlsZSB3aGVuIHdlIHJlY2VpdmUgdGhlIG1lc3NhZ2UNCj4gPiA+ID4gPiBmcm9tIFBGIHVudGls IFBGIGlzIHVwLiBCdXQgd2UgY2Fubm90IHRlbGwgaG93IGxvbmcgdGhlIHRpbWUgaXMgYXBwcm9w cmlhdGUuDQo+ID4gPiA+ID4gU28gdGhpcyAqd2FpdCBhIHdoaWxlKiBtYXkgd29yayBmb3IgZmxh c2guKQ0KPiA+ID4gPg0KPiA+ID4gPiBUaGFua3MgZm9yIHRoZSBjbGFyaWZpY2F0aW9uLCBJIHVu ZGVyc3RhbmQuDQo+ID4gPiA+DQo+ID4gPiA+IFRoZSBwcm9ibGVtIHdpdGggYSBibG9ja2luZyBj YWxsIGlzIHRoYXQgd2UgYmFzaWNhbGx5IG5lZWQgdG8gc3Bhd24NCj4gPiA+ID4gb25lIHRocmVh ZCBwZXIgcnRlX2V0aF9kZXZfcmVzZXQgY2FsbCwgc2luY2UgdGhlcmUgaXMgbm8gd2F5IG9mDQo+ ID4gPiA+IGtub3dpbmcgaWYgYSBQRiBpcyBkb3duIGZvciBnb29kIG9yIGp1c3QgZmxhcHBpbmcs IGFuZCB3ZSBjYW4ndCBoYXZlDQo+ID4gPiA+IGEgc2luZ2xlIHRocmVhZCBtYW5hZ2luZyBhbGwg dGhlIGludGVyZmFjZXMgYmVpbmcgYmxvY2tlZCBmb3JldmVyDQo+ID4gPiA+IChFRzogUEYgMSBh bmQgMiBnbyBkb3duLCB0aHJlYWQgYmxvY2tzIG9uIFBGIDEgcmVzZXQgY2FsbCBidXQgaXQNCj4g PiA+ID4gbmV2ZXIgcmV0dXJucywgbWVhbndoaWxlIFBGIDIgZ29lcyBiYWNrIHVwIGJ1dCBjYWxs IGlzIG5ldmVyIG1hZGUpLg0KPiA+ID4gPg0KPiA+ID4gPiBBIGNvbGxlYWd1ZSBvZiBtaW5lLCBF cmljIEtpbnppZSwgc3VnZ2VzdGVkIHRvIGFkZCBhIGJsb2NraW5nDQo+ID4gPiA+IGJvb2xlYW4g cGFyYW1ldGVyIHRvIHJ0ZV9ldGhfZGV2X3Jlc2V0IEFQSS4gSWYgc2V0IHRvIGZhbHNlLCB0aGVu DQo+ID4gPiA+IHRoZSBjYWxsIHdpbGwgbm90IGJsb2NrIGFuZCBqdXN0IGRvZXMgb25lIHRyeSBh bmQgcmV0dXJuIGFuIGVycm9yIChFQUdBSU4gPykuDQo+ID4gV291bGQgdGhpcyBiZSBhbiBhY2Nl cHRhYmxlIHByb3Bvc2l0aW9uPw0KPiA+ID4gSXQncyBhIGdvb2Qgc3VnZ2VzdGlvbi4NCj4gPiA+ IEFuZCBJIHRoaW5rIGlmIHRoZSBwYXJhbWV0ZXIgaXMgc2V0IHRvIGZhbHNlIGFuZCB0aGUgbGlu ayBpcyBub3QgdXAgYWZ0ZXIgdHJ5aW5nDQo+ID4gb25jZSwgaXQgd2lsbCBiZSBBUFAncyByZXNw b25zaWJpbGl0eSB0byBzZXR1cCBhIHRpbWVyIG9yIHNvbWV0aGluZyBsaWtlIHRoYXQgdG8NCj4g PiBrZWVwIHRyeWluZyB0byBicmluZyB1cCB0aGUgbGluay4NCj4gPiANCj4gPiBUaGF0IHNlZW1z IHJlYXNvbmFibGUuIEkndmUgdGhyb3duIHRvZ2V0aGVyIGEgcXVpY2sgZGlmZiBhbmQgcGxheWVk IHdpdGggaXQgb24NCj4gPiB0b3Agb2YgeW91ciBwYXRjaGVzIGFuZCBEUERLIDIuMiwgc2VlbXMg dG8gd29yayBhcyBpbnRlbmRlZCwgSSdtIGF0dGFjaGluZyBpdA0KPiA+IGZvciByZWZlcmVuY2Uu IEZlZWwgZnJlZSB0byBwaWNrIGl0IHVwLCBhZGFwdCBpdCBvciBpZ25vcmUgaXQgOi0pDQo+ID4g DQo+ID4gQWxzbyBJJ3ZlIG5vdGljZWQgdGhhdCB0aGUgaXhnYmUgaXMgdGhlIG9ubHkgb25lIHRo YXQgYWN0dWFsbHkgYmxvY2tzLA0KPiA+IGUxMDAwIHJldHVybnMgYWxyZWFkeSBpbW1lZGlhdGVs eSBpZiB0aGUgZGV2X3N0YXJ0IGZhaWxzIChwZXJoYXBzIGl0IHNob3VsZCBiZQ0KPiA+IGNoYW5n ZWQgdG8gYmUgY29uc2lzdGVudD8pIGFuZCBpeGdiNDAgZG9lcyB3ZWlyZCB0aGluZ3MgdGhhdCBJ J20gbm90IHN1cmUgYWJvdXQsDQo+ID4gYnV0IGNvdWxkbid0IHNwb3QgYSBsb29wIGluIHRoZXJl IDotKQ0KPiA+IA0KPiA+IEFsc28gSSd2ZSB1c2VkIGludCBpbnN0ZWFkIG9mIGJvb2wgYmVjYXVz ZQ0KPiA+IGRyaXZlcnMvbmV0L2UxMDAwL2Jhc2UvZTEwMDBfb3NkZXAuaCByZWRlZmluZXMgYm9v bCBhbmQgdHJ1ZS9mYWxzZSwgc28NCj4gPiBjb21waWxhdGlvbiBmYWlscyB3aGVuIGluY2x1ZGlu ZyBzdGRib29sLmggYW5kIHVzaW5nIGJvb2wgaW4gcnRlX2V0aGRldi5oDQo+ID4gDQo+ID4gLS0N Cj4gPiBLaW5kIHJlZ2FyZHMsDQo+ID4gTHVjYSBCb2NjYXNzaQ0KPiBHbGFkIHRvIGtub3cgaXQn cyB3b3JraW5nIG5vdy4gIFRoYW5rcyBmb3IgeW91ciBwYXRjaC4gIFN1cmVseSBJJ2xsIHRyeSB0 byBpbmNsdWRlIGl0IGluIHRoZSBuZXh0IHZlcnNpb24gOikNCg0KR3JlYXQsIHRoYW5rcyENCg0K VW5mb3J0dW5hdGVseSBJIGZvdW5kIG9uZSBpc3N1ZTogaWYgUEYgaXMgZG93biwgYW5kIHRoZW4g dGhlIFZGIG9uIHRoZQ0KZ3Vlc3QgaXMgZG93biBhcyB3ZWxsIChpcCBsaW5rIGRvd24pIGFuZCB0 aGVuIGdvZXMgYmFjayB1cCBiZWZvcmUgdGhlDQpQRiwgdGhlbiBjYWxsaW5nIHJ0ZV9ldGhfZGV2 X3Jlc2V0IHdpbGwgcmV0dXJuIDAgKHN1Y2Nlc3MpLCBldmVuIHRob3VnaA0KdGhlIFBGIGlzIHN0 aWxsIGRvd24gYW5kIGl0IHNob3VsZCBmYWlsLiBUaGlzIGlzIHdpdGggaXhnYmUuIEFueSBpZGVh DQp3aGF0IGNvdWxkIGJlIHRoZSBwcm9ibGVtPw0KDQotLSANCktpbmQgcmVnYXJkcywNCkx1Y2Eg Qm9jY2Fzc2kNCg==