From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 960DE21E7493A for ; Fri, 15 Sep 2017 00:35:51 -0700 (PDT) Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga103.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 15 Sep 2017 00:38:51 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.42,396,1500966000"; d="scan'208";a="1172467539" Received: from fmsmsx103.amr.corp.intel.com ([10.18.124.201]) by orsmga001.jf.intel.com with ESMTP; 15 Sep 2017 00:38:50 -0700 Received: from shsmsx101.ccr.corp.intel.com (10.239.4.153) by FMSMSX103.amr.corp.intel.com (10.18.124.201) with Microsoft SMTP Server (TLS) id 14.3.319.2; Fri, 15 Sep 2017 00:38:49 -0700 Received: from shsmsx151.ccr.corp.intel.com ([169.254.3.98]) by SHSMSX101.ccr.corp.intel.com ([169.254.1.22]) with mapi id 14.03.0319.002; Fri, 15 Sep 2017 15:38:48 +0800 From: "Ni, Ruiyu" To: Paulo Alcantara , Laszlo Ersek , "Yao, Jiewen" CC: "edk2-devel@lists.01.org" , "Wu, Hao A" , "Zeng, Star" Thread-Topic: Functionality issues in UDF support Thread-Index: AdMt01KyZGagPN/kQv20rkBpZNwXqP//kZCA//93+OCAAJMqAP//c1IAgACaQ4D//3DTwAAT3OoA//93hAA= Date: Fri, 15 Sep 2017 07:38:47 +0000 Message-ID: <734D49CCEBEEF84792F5B80ED585239D5BA42713@SHSMSX151.ccr.corp.intel.com> References: <734D49CCEBEEF84792F5B80ED585239D5BA4206B@SHSMSX151.ccr.corp.intel.com> <081B7D33-9F33-40CE-B569-62CC8C204B56@zytor.com> <734D49CCEBEEF84792F5B80ED585239D5BA420DF@SHSMSX151.ccr.corp.intel.com> <734D49CCEBEEF84792F5B80ED585239D5BA4212E@SHSMSX151.ccr.corp.intel.com> <1C01A5C1-09DE-4747-BA65-4EB668D76094@zytor.com> <734D49CCEBEEF84792F5B80ED585239D5BA42270@SHSMSX151.ccr.corp.intel.com> In-Reply-To: Accept-Language: en-US, zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Subject: Re: Functionality issues in UDF support X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Sep 2017 07:35:51 -0000 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 UGF1bG8sDQpTdXBwb3J0aW5nIG11bHRpcGxlIExWRHMgY2FuIGJlIGNvbnNpZGVyZWQgYXMgYSBs b25nLXRlcm0gdGFzaywgb3IgY2FuIGJlIGFkZGVkDQpwZXIgcmVxdWVzdC4NCkJ1dCBJIHRoaW5r IGEgdXJnZW50IGZpeCBpbiBQYXJ0aXRpb25EeGUgZHJpdmVyIGlzIHRvOg0KMS4gY3JlYXRlIGNo aWxkIEJMSyBvbmx5IGZvciB0aGUgcG9ydGlvbiBjb3ZlcmVkIGJ5IHRoZSBMVkQNCjIuIERvIG5v dCBjcmVhdGUgY2hpbGQgQkxLIGZvciBMVkQgdGhhdCdzIGFjdHVhbGx5IGFuIEVsdG9yaXRvIExW RA0KDQpJIHN1Ym1pdHRlZCBhIEJ1Z3ppbGxhIHRvIHJlY29yZCB0aGlzOg0KaHR0cHM6Ly9idWd6 aWxsYS50aWFub2NvcmUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDcNCg0KDQpUaGFua3MvUmF5DQoN Cj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogUGF1bG8gQWxjYW50YXJhIFtt YWlsdG86cGNhY2pyQHp5dG9yLmNvbV0NCj4gU2VudDogRnJpZGF5LCBTZXB0ZW1iZXIgMTUsIDIw MTcgMzoyMiBQTQ0KPiBUbzogTmksIFJ1aXl1IDxydWl5dS5uaUBpbnRlbC5jb20+OyBMYXN6bG8g RXJzZWsgPGxlcnNla0ByZWRoYXQuY29tPjsgWWFvLA0KPiBKaWV3ZW4gPGppZXdlbi55YW9AaW50 ZWwuY29tPg0KPiBDYzogZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmc7IFd1LCBIYW8gQSA8aGFvLmEu d3VAaW50ZWwuY29tPjsgWmVuZywgU3Rhcg0KPiA8c3Rhci56ZW5nQGludGVsLmNvbT4NCj4gU3Vi amVjdDogUkU6IEZ1bmN0aW9uYWxpdHkgaXNzdWVzIGluIFVERiBzdXBwb3J0DQo+IA0KPiANCj4g DQo+IE9uIFNlcHRlbWJlciAxNSwgMjAxNyA0OjEwOjEwIEFNIEdNVC0wMzowMCwgIk5pLCBSdWl5 dSINCj4gPHJ1aXl1Lm5pQGludGVsLmNvbT4gd3JvdGU6DQo+ID5QYXVsbywNCj4gPkNhbiBjdXJy ZW50IGNvZGUgc3VwcG9ydCBtdWx0aXBsZSB2b2x1bWVzIGluIENEUk9NPw0KPiANCj4gTm8uIEl0 IGNhbiBoYW5kbGUgb25seSBhIHNpbmdsZSBVREYgbG9naWNhbCB2b2x1bWUuIEkgdGhpbmsgSSBu ZXZlciBmb3VuZCBhbg0KPiBVREYgZGlzayBvciBpbWFnZSB3aXRoIG1vcmUgdGhhbiBhIExWRCAo TG9naWNhbCBWb2x1bWUgRGVzY3JpcHRpb3IpLg0KPiBBbHRob3VnaCBJIHRoaW5rIEkgYWxzbyBh ZGRlZCBzb21lIGNvbW1lbnQgaW4gdGhlIGNvZGUgdGhhdCBpdCBjdXJyZW50bHkNCj4gaGFuZGxl cyBvbmx5IG9uZSBsb2dpY2FsIHZvbHVtZSBwZXIgZGlzayAobm8gYWNjZXNzIHRvIHRoZSBjb2Rl IHJpZ2h0IG5vdywNCj4gc29ycnkpLiBPdGhlciB0aGFuIHRoYXQsIHRoZXJlIHNob3VsZCBiZSBh bHNvIGEgREVCVUcoKSBvciBwZXJoYXBzIGFuDQo+IEFTU0VSVCgpIGluIGNhc2UgbW9yZSB0aGFu IG9uZSBpcyBmb3VuZC4NCj4gDQo+IEZvciBzdXBwb3J0aW5nIG11bHRpcGxlIGxvZ2ljYWwgdm9s dW1lcywgd2Ugd291bGQgaGF2ZSB0byBmb2xsb3cgeW91cg0KPiBzdWdnZXN0aW9uIGFuZCBjaGFu Z2UgUGFydGl0aW9uIGRyaXZlciB0byBpbnN0YWxsIGEgY2hpbGQgaGFuZGxlIGZvciBlYWNoIExW RA0KPiBmb3VuZCBpbiBhbiBVREYgZnMuDQo+IA0KPiBUaGFua3MhDQo+IFBhdWxvDQo+IA0KPiA+ DQo+ID5UaGFua3MvUmF5DQo+ID4NCj4gPj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4g Pj4gRnJvbTogUGF1bG8gQWxjYW50YXJhIFttYWlsdG86cGNhY2pyQHp5dG9yLmNvbV0NCj4gPj4g U2VudDogRnJpZGF5LCBTZXB0ZW1iZXIgMTUsIDIwMTcgMjoyNiBQTQ0KPiA+PiBUbzogTmksIFJ1 aXl1IDxydWl5dS5uaUBpbnRlbC5jb20+OyBMYXN6bG8gRXJzZWsgPGxlcnNla0ByZWRoYXQuY29t Pg0KPiA+PiBDYzogZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmc7IFd1LCBIYW8gQSA8aGFvLmEud3VA aW50ZWwuY29tPjsgWmVuZywNCj4gPlN0YXINCj4gPj4gPHN0YXIuemVuZ0BpbnRlbC5jb20+DQo+ ID4+IFN1YmplY3Q6IFJFOiBGdW5jdGlvbmFsaXR5IGlzc3VlcyBpbiBVREYgc3VwcG9ydA0KPiA+ Pg0KPiA+Pg0KPiA+Pg0KPiA+PiBSYXksDQo+ID4+DQo+ID4+IE9uIFNlcHRlbWJlciAxNSwgMjAx NyAzOjAyOjExIEFNIEdNVC0wMzowMCwgIk5pLCBSdWl5dSINCj4gPj4gPHJ1aXl1Lm5pQGludGVs LmNvbT4gd3JvdGU6DQo+ID4+ID5QYXVsbywNCj4gPj4gPldoZW4gd2lsbCB5b3UgY2hhbmdlIHRo ZSBpbXBsZW1lbnRhdGlvbiB0byB0aGlzIHdheT8NCj4gPj4NCj4gPj4gVW5mb3J0dW5hdGVseSBJ IGNhbid0IHByb21pc2UgeW91IHdoZW4gSSdkIGJlIGRvaW5nIHRoaXMgYmVjYXVzZSwgeW91DQo+ ID5rbm93LA0KPiA+PiBJIGNhbiBvbmx5IHdvcmsgb24gdGhpcyBpbiBteSBmcmVlIHRpbWUgKHZl cnkgc2hvcnQsIEFUTSkuIFBlcmhhcHMNCj4gPnRoaXMNCj4gPj4gd2Vla2VuZCAtIGJ1dCByZWFs IGxpZmUgYWxzbyBoYXBwZW5zIGFuZCBJIG1heSBnZXQgcHJlZW1wdGVkIGJ5DQo+ID5zb21ldGhp bmcNCj4gPj4gZWxzZS4NCj4gPj4NCj4gPj4gUGF1bG8NCj4gPj4NCj4gPj4gPg0KPiA+PiA+DQo+ ID4+ID5UaGFua3MvUmF5DQo+ID4+ID4NCj4gPj4gPj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0t LS0NCj4gPj4gPj4gRnJvbTogUGF1bG8gQWxjYW50YXJhIFttYWlsdG86cGNhY2pyQHp5dG9yLmNv bV0NCj4gPj4gPj4gU2VudDogRnJpZGF5LCBTZXB0ZW1iZXIgMTUsIDIwMTcgMTozOCBQTQ0KPiA+ PiA+PiBUbzogTmksIFJ1aXl1IDxydWl5dS5uaUBpbnRlbC5jb20+OyBMYXN6bG8gRXJzZWsNCj4g PjxsZXJzZWtAcmVkaGF0LmNvbT4NCj4gPj4gPj4gQ2M6IGVkazItZGV2ZWxAbGlzdHMuMDEub3Jn OyBXdSwgSGFvIEEgPGhhby5hLnd1QGludGVsLmNvbT47IFplbmcsDQo+ID4+ID5TdGFyDQo+ID4+ ID4+IDxzdGFyLnplbmdAaW50ZWwuY29tPg0KPiA+PiA+PiBTdWJqZWN0OiBSRTogRnVuY3Rpb25h bGl0eSBpc3N1ZXMgaW4gVURGIHN1cHBvcnQNCj4gPj4gPj4NCj4gPj4gPj4NCj4gPj4gPj4NCj4g Pj4gPj4gSGksDQo+ID4+ID4+DQo+ID4+ID4+IE9uIFNlcHRlbWJlciAxNSwgMjAxNyAyOjA4OjI4 IEFNIEdNVC0wMzowMCwgIk5pLCBSdWl5dSINCj4gPj4gPj4gPHJ1aXl1Lm5pQGludGVsLmNvbT4g d3JvdGU6DQo+ID4+ID4+ID5IaSBQYXVsbywNCj4gPj4gPj4gPlRoZSByZXNwb25zaWJpbGl0eSBv ZiBQYXJ0aXRpb25EeGUgZHJpdmVyIGlzIHRvIHBhcnRpdGlvbiB0aGUNCj4gPj4gPnBoeXNpY2Fs DQo+ID4+ID4+ID5CTEsgKHRoZSBlbnRpcmUgQ0RST00pIGludG8gbG9naWNhbCBCTEtzIChvbmUg QkxLIGZvciBlYWNoDQo+ID52b2x1bWUpLg0KPiA+PiA+PiA+SXQgZG9lc24ndCBtYWtlIHNlbnNl IHRvIGNyZWF0ZSBhIGNoaWxkIEJMSyBoYW5kbGUgd2hpY2ggc3RpbGwNCj4gPj4gPmNvdmVycw0K PiA+PiA+PiA+dGhlIGVudGlyZSBDRFJPTS4NCj4gPj4gPj4gPlNvIGFzIEkgc3VnZ2VzdGVkIGlu IGJlbG93LCBQYXJ0aXRpb25JbnN0YWxsVWRmQ2hpbGRIYW5kbGVzKCkNCj4gPnNob3VsZA0KPiA+ PiA+PiA+Y29udGFpbiBhIGZvci1sb29wIHRvIGl0ZXJhdGUgYWxsIHRoZSB2b2x1bWVzIGluIHRo ZSBDRFJPTSwgYW5kDQo+ID4+ID5jcmVhdGUNCj4gPj4gPj4gPmNoaWxkIEJMSyBoYW5kbGUgZm9y IGVhY2ggdm9sdW1lcywgYnV0IHNraXBwaW5nIEVsdG9yaXRvIHZvbHVtZS4NCj4gPj4gPj4NCj4g Pj4gPj4gQWgsIG1ha2VzIHNlbnNlIHRvIG1lIG5vdy4gVGhhbmtzIGZvciBjbGFyaWZ5aW5nIGl0 LiBTbyBJIGFncmVlDQo+ID53aXRoDQo+ID4+ID55b3UuDQo+ID4+ID4+DQo+ID4+ID4+IEluIHdo YXRldmVyIHlvdSBndXlzIGRlY2lkZSB0byBkbyB3aXRoIGl0LCBjb3VudCBvbiBtZSB0byBnaXZl DQo+ID5zb21lDQo+ID4+ID5oZWxwLg0KPiA+PiA+Pg0KPiA+PiA+PiBUaGFua3MhDQo+ID4+ID4+ IFBhdWxvDQo+ID4+ID4+DQo+ID4+ID4+ID4NCj4gPj4gPj4gPlRoYW5rcy9SYXkNCj4gPj4gPj4g Pg0KPiA+PiA+PiA+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+PiA+PiA+PiBGcm9t OiBQYXVsbyBBbGNhbnRhcmEgW21haWx0bzpwY2FjanJAenl0b3IuY29tXQ0KPiA+PiA+PiA+PiBT ZW50OiBGcmlkYXksIFNlcHRlbWJlciAxNSwgMjAxNyAxMjo1OCBQTQ0KPiA+PiA+PiA+PiBUbzog TmksIFJ1aXl1IDxydWl5dS5uaUBpbnRlbC5jb20+OyBMYXN6bG8gRXJzZWsNCj4gPj4gPjxsZXJz ZWtAcmVkaGF0LmNvbT4NCj4gPj4gPj4gPj4gQ2M6IGVkazItZGV2ZWxAbGlzdHMuMDEub3JnOyBX dSwgSGFvIEEgPGhhby5hLnd1QGludGVsLmNvbT47DQo+ID5aZW5nLA0KPiA+PiA+PiA+U3Rhcg0K PiA+PiA+PiA+PiA8c3Rhci56ZW5nQGludGVsLmNvbT4NCj4gPj4gPj4gPj4gU3ViamVjdDogUmU6 IEZ1bmN0aW9uYWxpdHkgaXNzdWVzIGluIFVERiBzdXBwb3J0DQo+ID4+ID4+ID4+DQo+ID4+ID4+ ID4+DQo+ID4+ID4+ID4+DQo+ID4+ID4+ID4+IEhpIFJheSwNCj4gPj4gPj4gPj4NCj4gPj4gPj4g Pj4gT24gU2VwdGVtYmVyIDE1LCAyMDE3IDEyOjMzOjA0IEFNIEdNVC0wMzowMCwgIk5pLCBSdWl5 dSINCj4gPj4gPj4gPj4gPHJ1aXl1Lm5pQGludGVsLmNvbT4gd3JvdGU6DQo+ID4+ID4+ID4+ID5Q YXVsbywNCj4gPj4gPj4gPj4gPkJlZm9yZSByYWlzaW5nIG15IHF1ZXN0aW9ucywgSSdkIGxpa2Ug dG8gY29uZmlybSB0aGF0IGZvciBhDQo+ID4+ID5zaW5nbGUNCj4gPj4gPj4gPj4gPkNEL0RWRCBp biBVREYgZm9ybWF0LCB0aGVyZSBtaWdodCBiZSBtdWx0aXBsZSB2b2x1bWVzLg0KPiA+PiA+PiA+ PiA+T25lIG9mIHRoZSB2b2x1bWUgY291bGQgYmUgRWx0b3JpdG8gdHlwZS4NCj4gPj4gPj4gPj4g PklmIG15IHVuZGVyc3RhbmRpbmcgaXMgY29ycmVjdCwgcGxlYXNlIGNvbnRpbnVlIHJlYWRpbmcg YmVsb3cuDQo+ID4+ID4+ID4+DQo+ID4+ID4+ID4+IFJpZ2h0Lg0KPiA+PiA+PiA+Pg0KPiA+PiA+ PiA+PiA+DQo+ID4+ID4+ID4+ID5XZSBmb3VuZCBiZWxvdyBtYXBwaW5nIHRhYmxlIHVzaW5nICJt YXAgLXIiIHNoZWxsIGNvbW1hbmQgaW4gYQ0KPiA+PiA+PiA+cGxhdGZvcm0NCj4gPj4gPj4gPj4g PndpdGggb25seSBQYXJ0aXRpb25EeGUgY2hhbmdlIGFuZCB3aXRob3V0IFVkZkR4ZSBkcml2ZXIu DQo+ID4+ID4+ID4+ID5JdCdzIGEgYnVnIHRoYXQgPEJMSzY+IGFuZCA8QkxLNy9GUzI+IGFyZSBj cmVhdGVkLiBBY3R1YWxseQ0KPiA+dGhleQ0KPiA+PiA+YXJlDQo+ID4+ID4+ID4+ID5pZGVudGlj YWwgdG8gPEJMSzM+IGFuZCA8QkxLNC9GUzE+Lg0KPiA+PiA+PiA+PiA+DQo+ID4+ID4+ID4+ID4t LS0gTWFwcGluZyB0YWJsZS0tLQ0KPiA+PiA+PiA+PiA+ICAgICBCTEsyOiBBbGlhcyhzKToNCj4g Pj4gPj4gPj4gPiAgICAgICAgICBQY2lSb290KDB4MCkvUGNpKDB4MUYsMHgyKS9TYXRhKDB4MCww eEZGRkYsMHgwKQ0KPiA+PiA+PiA+PiA+DQo+ID4+ID4+ID4+ID4gICAgIEJMSzM6IEFsaWFzKHMp Og0KPiA+PiA+PiA+PiA+DQo+ID4+ID5QY2lSb290KDB4MCkvUGNpKDB4MUYsMHgyKS9TYXRhKDB4 MCwweEZGRkYsMHgwKS9DRFJPTSgweDApDQo+ID4+ID4+ID4+ID4gICAgICBGUzE6IEFsaWFzKHMp OkNEMWE2NTUzNWExOjtCTEs0Og0KPiA+PiA+PiA+PiA+DQo+ID4+ID5QY2lSb290KDB4MCkvUGNp KDB4MUYsMHgyKS9TYXRhKDB4MCwweEZGRkYsMHgwKS9DRFJPTSgweDEpDQo+ID4+ID4+ID4+ID4N Cj4gPj4gPj4gPj4gPiAgICAgQkxLNTogQWxpYXMocyk6DQo+ID4+ID4+ID4+DQo+ID4+ID4+UGNp Um9vdCgweDApL1BjaSgweDFGLDB4MikvU2F0YSgweDAsMHhGRkZGLDB4MCkvVmVuTWVkaWEoQzVC RDRENDINCj4gLQ0KPiA+PiA+PiA+PiAxQTc2LTQ5OTYtODk1Ni03M0NEQTMyNkNEMEEpDQo+ID4+ ID4+ID4+ID4gICAgIEJMSzY6IEFsaWFzKHMpOg0KPiA+PiA+PiA+Pg0KPiA+PiA+PlBjaVJvb3Qo MHgwKS9QY2koMHgxRiwweDIpL1NhdGEoMHgwLDB4RkZGRiwweDApL1Zlbk1lZGlhKEM1QkQ0RDQy DQo+IC0NCj4gPj4gPj4gPj4gMUE3Ni00OTk2LTg5NTYtNzNDREEzMjZDRDBBKS9DRFJPTSgweDAp DQo+ID4+ID4+ID4+ID4gICAgICBGUzI6IEFsaWFzKHMpOkNEMWE2NTUzNWFiOjtCTEs3Og0KPiA+ PiA+PiA+Pg0KPiA+PiA+PlBjaVJvb3QoMHgwKS9QY2koMHgxRiwweDIpL1NhdGEoMHgwLDB4RkZG RiwweDApL1Zlbk1lZGlhKEM1QkQ0RDQyDQo+IC0NCj4gPj4gPj4gPj4gMUE3Ni0NCj4gPj4gPj4g Pj4gPjQ5OTYtODk1Ni03M0NEQTMyNkNEMEEpL0NEUk9NKDB4MSkNCj4gPj4gPj4gPj4gPi0tLSBF bmQgb2YgbWFwcGluZyB0YWJsZSAtLS0NCj4gPj4gPj4gPj4gPg0KPiA+PiA+PiA+PiA+QWZ0ZXIg aW52ZXN0aWdhdGlvbiwgSSBmb3VuZCB0aGUgVURGIGxvZ2ljIGluIFBhcnRpdGlvbiBkcml2ZXIN Cj4gPj4gPj4gPmRvZXNuJ3QNCj4gPj4gPj4gPj4gPnRydWx5IHNraXAgdGhlIEVsdG9yaXRvIHZv bHVtZS4NCj4gPj4gPj4gPj4gPlRoZSBjb2RlIGZsb3cgaXMgbGlrZSBiZWxvdzoNCj4gPj4gPj4g Pj4gPg0KPiA+PiA+PiA+PiA+ICAxLiAgPEJMSzI+IGlzIGNyZWF0ZWQgYnkgU2NzaURpc2tEeGUg ZHJpdmVyLg0KPiA+PiA+PiA+PiA+ICAyLiAgQnkgcGFzc2luZyA8QkxLMj4gdG8gUGFydGl0aW9u RHhlIFN0YXJ0KCkNCj4gPj4gPj4gPj4gPiogICA8QkxLMz4gYW5kIDxCTEs0L0ZTMT4gYXJlIGNy ZWF0ZWQgYnkgUGFydGl0aW9uRHhlIGRyaXZlciwNCj4gPmJ5DQo+ID4+ID4+ID4+ID5QYXJ0aXRp b25JbnN0YWxsRWxUb3JpdG9DaGlsZEhhbmRsZXMoKS4NCj4gPj4gPj4gPj4gPiogICA8QkxLNT4g aXMgY3JlYXRlZCBieSBQYXJ0aXRpb25EeGUgZHJpdmVyLCBieQ0KPiA+PiA+PiA+PiA+UGFydGl0 aW9uSW5zdGFsbFVkZkNoaWxkSGFuZGxlcygpLg0KPiA+PiA+PiA+PiA+ICAzLiAgQnkgcGFzc2lu ZyA8QkxLNT4gdG8gUGFydGl0aW9uRHhlIFN0YXJ0KCkNCj4gPj4gPj4gPj4gPiogICA8QkxLNj4g YW5kIDxCTEs3L0ZTMj4gYXJlIGNyZWF0ZWQgYnkgUGFydGl0aW9uRHhlIGRyaXZlciwNCj4gPmJ5 DQo+ID4+ID4+ID4+ID5QYXJ0aXRpb25JbnN0YWxsRWxUb3JpdG9DaGlsZEhhbmRsZXMoKS4NCj4g Pj4gPj4gPj4gPg0KPiA+PiA+PiA+PiA+SSB0aGluayBzdGVwIDIuYSBpcyBub3QgY29ycmVjdCBp ZiBteSB1bmRlcnN0YW5kaW5nIHRvIFVERiBpcw0KPiA+PiA+PiA+Y29ycmVjdC4NCj4gPj4gPj4g Pj4gPlRoZSBQYXJ0aXRpb25JbnN0YWxsVWRmQ2hpbGRIYW5kbGVzKCkgc2hvdWxkIGl0ZXJhdGUg YWxsDQo+ID52b2x1bWVzDQo+ID4+ID5pbg0KPiA+PiA+PiA+dGhlDQo+ID4+ID4+ID4+ID5tZWRp YSBhbmQgY3JlYXRlcyB0aGUgY2hpbGQgQkxLIGhhbmRsZSBmb3IgZWFjaCB2b2x1bWUsIGJ1dA0K PiA+PiA+c2tpcHBpbmcNCj4gPj4gPj4gPj4gPkVsdG9yaXRvIHZvbHVtZS4NCj4gPj4gPj4gPj4g Pg0KPiA+PiA+PiA+PiA+SW5zdGVhZCwgdGhlIGN1cnJlbnQgaW1wbGVtZW50YXRpb24ganVzdCBj cmVhdGVzIG9uZSBjaGlsZCBCTEsNCj4gPj4gPj4gPmhhbmRsZQ0KPiA+PiA+PiA+PiA+Zm9yIHRo ZSBlbnRpcmUgbWVkaWEuDQo+ID4+ID4+ID4+ID5UbyBhdm9pZCByZWNsdXNpdmVseSBjcmVhdGlu ZyAgY2hpbGQgQkxLIGhhbmRsZSwgdGhlDQo+ID4+ID4+ID4+ID5QYXJ0aXRpb25JbnN0YWxsVWRm Q2hpbGRIYW5kbGVzKCkgY29udGFpbnMgYSBsb2dpYyB0byBkbw0KPiA+bm90aGluZw0KPiA+PiA+ PiA+d2hlbg0KPiA+PiA+PiA+PiA+dGhlIGhhbmRsZSBpcyBjcmVhdGVkIGJ5IFBhcml0aXRvbkR4 ZSBkcml2ZXIuIFRoZSBsb2dpYyBpcyBub3QNCj4gPj4gPj4gPm5lZWRlZA0KPiA+PiA+PiA+PiA+ d2hlbiB0aGUgaW1wbGVtZW50YXRpb24gZm9sbG93cyBteSBzdWdnZXN0aW9uIGFib3ZlLg0KPiA+ PiA+PiA+PiA+RHVlIHRvIHRoaXMsIHN0ZXAgMy5hIGNyZWF0ZXMgdGhlIGFkZGl0aW9uYWwgYnV0 DQo+ID5zaG91bGRuJ3QtZXhpc3QNCj4gPj4gPkJMSw0KPiA+PiA+PiA+PiA+aGFuZGxlcyA8QkxL Nj4gYW5kIDxCTEs3L0ZTMj4uDQo+ID4+ID4+ID4+ID4NCj4gPj4gPj4gPj4gPlVkZkR4ZSBkcml2 ZXIgaXMgc3VwcG9zZWQgdG8gU3RhcnQoKSBvbiBlYWNoIHZvbHVtZSBhbmQNCj4gPnByb2R1Y2UN Cj4gPj4gPj4gPj4gPlNpbXBsZUZpbGVTeXN0ZW0gcHJvdG9jb2wuDQo+ID4+ID4+ID4+DQo+ID4+ ID4+ID4+IEl0IHNlZW1zIHRoYXQgUGFydGl0aW9uSW5zdGFsbFVkZkNoaWxkSGFuZGxlcygpIGlu ZGVlZCBza2lwcw0KPiA+dGhlDQo+ID4+ID4+ID5FbFRvcml0bw0KPiA+PiA+PiA+PiBwYXJ0aXRp b25zIG90aGVyd2lzZSB5b3UnZCBzZWUgdGhlICIuLi4vQ0RST00oMHgxKS9WZW5NZWRpYSgpIg0K PiA+YW5kDQo+ID4+ID4+ID4+ICIuLi4vQ0RST00oMHgwKS9WZW5NZWRpYSgpIiBkZXZpY2UgcGF0 aHMgKmFsc28qIGluIHRoZSBtYXBwaW5nDQo+ID4+ID4+ID5vdXRwdXQuDQo+ID4+ID4+ID4+DQo+ ID4+ID4+ID4+IElmIEkgdW5kZXJzdGFuZCBjb3JyZWN0bHksIHRoZSBwcm9ibGVtIGlzIHRoYXQg d2hlbiB3ZSBjcmVhdGUgYQ0KPiA+PiA+Y2hpbGQNCj4gPj4gPj4gPmhhbmRsZQ0KPiA+PiA+PiA+ PiBmb3IgYW4gVURGIHZvbHVtZSwgUGFydGl0aW9uIGRyaXZlciB3aWxsIGV4ZWN1dGUgYWdhaW4s IHBhcnNlDQo+ID50aGUNCj4gPj4gPj4gPm5ld2x5DQo+ID4+ID4+ID4+IGNyZWF0ZWQgVURGIGhh bmRsZSwgZmluZCBhZ2FpbiBhbiBFbFRvcml0byBwYXJ0aXRpb24gYW5kIHRoZW4NCj4gPj4gPmlu c3RhbGwNCj4gPj4gPj4gPmEgbmV3DQo+ID4+ID4+ID4+IGNoaWxkIGhhbmRsZSAoVmVuTWVkaWEo KS9DRFJPTSgpKQ0KPiA+PiA+PiA+Pg0KPiA+PiA+PiA+PiBTbywgdGhlIGxvZ2ljIG9mIHNraXBw aW5nIG9mIEVsVG9yaXRvIHBhcnRpdGlvbnMgaW4NCj4gPj4gPj4gPj4gUGFydGl0aW9uSW5zdGFs bFVkZkNoaWxkSGFuZGxlcygpIGlzIG5vdCBlbm91Z2guIFVuZm9ydHVuYXRlbHkNCj4gPndlDQo+ ID4+ID4+ID5jYW4ndA0KPiA+PiA+PiA+PiBoYW5kbGUgVURGIGJyaWRnZSBkaXNrcyAoRWxUb3Jp dG8gKyBVREYpIGVudGlyZWx5IGluDQo+ID4+ID4+ID4+IFBhcnRpdGlvbkluc3RhbGxVZGZDaGls ZEhhbmRsZXMoKSAtLSB3ZSBzaG91bGQgcHJvYmFibHkgYWxzbw0KPiA+c2tpcA0KPiA+PiA+VURG DQo+ID4+ID4+ID5kZXZpY2UNCj4gPj4gPj4gPj4gcGF0aHMgaW4gUGFydGl0aW9uSW5zdGFsbEVs VG9yaXRvQ2hpbGRIYW5kbGVzKCkuDQo+ID4+ID4+ID4+DQo+ID4+ID4+ID4+IERvZXMgaXQgbWFr ZSBzZW5zZSB0byB5b3UsIFJheT8gVGhhbmtzIGZvciByYWlzaW5nIHRoaXMgdXAuDQo+ID4+ID4+ ID4+DQo+ID4+ID4+ID4+IFBhdWxvDQo+ID4+ID4+ID4+DQo+ID4+ID4+ID4+ID4NCj4gPj4gPj4g Pj4gPkRvIHlvdSBhZ3JlZSB3aXRoIG15IGFib3ZlIHN1Z2dlc3Rpb25zPw0KPiA+PiA+PiA+PiA+ DQo+ID4+ID4+ID4+ID5MYXN6bG8sDQo+ID4+ID4+ID4+ID5JIHVuZGVyc3Rvb2QgeW91ciBuZWVk cyBvZiB0aGlzIFVERiBzdXBwb3J0LiBCdXQgYXMgeW91IGNhbg0KPiA+c2VlDQo+ID4+ID4+ID50 aGVyZQ0KPiA+PiA+PiA+PiA+YXJlIG1hbnkgYnVpbGQgZmFpbHVyZXMgYW5kIGV2ZW4gZnVuY3Rp b25hbGl0eSBpc3N1ZXMgZHVlIHRvDQo+ID50aGlzDQo+ID4+ID4+ID4+ID5zdXBwb3J0Lg0KPiA+ PiA+PiA+PiA+SSBhbSBub3Qgc3VyZSBob3cgdGhlIG90aGVyIG9wZW4gc291cmNlIHByb2plY3Qg aGFuZGxlcyBzdWNoDQo+ID4+ID5jYXNlcy4NCj4gPj4gPj4gPj4gPkJ1dCBJIGFtIHRoaW5raW5n IG1heWJlIHdlIGNvdWxkIG1vdmUgdGhlIHdob2xlIFVERiBzdXBwb3J0IHRvDQo+ID4+ID4+ID4+ ID5lZGsyLXN0YWdpbmcgZmlyc3RseSBhbmQgbW92ZSBpdCBiYWNrIGFmdGVyIGFsbCB0aGUgaXNz dWVzIGFyZQ0KPiA+PiA+PiA+PiA+cmVzb2x2ZWQuDQo+ID4+ID4+ID4+ID5XaGF0J3MgeW91ciBz dWdnZXN0aW9uPw0KPiA+PiA+PiA+PiA+DQo+ID4+ID4+ID4+ID5UaGFua3MvUmF5DQo+ID4+ID4+ ID4+DQo+ID4+ID4+ID4+IC0tDQo+ID4+ID4+ID4+IFNlbnQgZnJvbSBteSBBbmRyb2lkIGRldmlj ZSB3aXRoIEstOSBNYWlsLiBQbGVhc2UgZXhjdXNlIG15DQo+ID4+ID5icmV2aXR5Lg0KPiA+PiA+ Pg0KPiA+PiA+PiAtLQ0KPiA+PiA+PiBTZW50IGZyb20gbXkgQW5kcm9pZCBkZXZpY2Ugd2l0aCBL LTkgTWFpbC4gUGxlYXNlIGV4Y3VzZSBteQ0KPiA+YnJldml0eS4NCj4gPj4NCj4gPj4gLS0NCj4g Pj4gU2VudCBmcm9tIG15IEFuZHJvaWQgZGV2aWNlIHdpdGggSy05IE1haWwuIFBsZWFzZSBleGN1 c2UgbXkgYnJldml0eS4NCj4gDQo+IC0tDQo+IFNlbnQgZnJvbSBteSBBbmRyb2lkIGRldmljZSB3 aXRoIEstOSBNYWlsLiBQbGVhc2UgZXhjdXNlIG15IGJyZXZpdHkuDQo=