From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by ml01.01.org (Postfix) with ESMTP id C706B1A1E12 for ; Mon, 1 Aug 2016 09:52:06 -0700 (PDT) Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga101.fm.intel.com with ESMTP; 01 Aug 2016 09:52:06 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.28,456,1464678000"; d="scan'208";a="742683753" Received: from orsmsx106.amr.corp.intel.com ([10.22.225.133]) by FMSMGA003.fm.intel.com with ESMTP; 01 Aug 2016 09:52:06 -0700 Received: from orsmsx113.amr.corp.intel.com ([169.254.9.118]) by ORSMSX106.amr.corp.intel.com ([169.254.1.199]) with mapi id 14.03.0248.002; Mon, 1 Aug 2016 09:52:05 -0700 From: "Mudusuru, Giri P" To: "Rothman, Michael A" , Tim Lewis , "Kinney, Michael D" , Laszlo Ersek , "edk2-devel@lists.01.org" CC: "Yao, Jiewen" , "Gao, Liming" , "Mudusuru, Giri P" Thread-Topic: [edk2] [PATCH] MdePkg: Add DmaRemappingReportingTable.h Thread-Index: AQHR6O0tR7hS41nUnkKGfkHaXbG3UqAugUyAgAACiACAAAFTgP//lFLggACMeYCABbCEAA== Date: Mon, 1 Aug 2016 16:52:04 +0000 Message-ID: <4666AEFED60F8E4198B42BB01DCEABDF76E9BC10@ORSMSX113.amr.corp.intel.com> References: <7236196A5DF6C040855A6D96F556A53F3D40EF@msmail.insydesw.com.tw> <7236196A5DF6C040855A6D96F556A53F3D4177@msmail.insydesw.com.tw> <7236196A5DF6C040855A6D96F556A53F3D41E0@msmail.insydesw.com.tw> <4666AEFED60F8E4198B42BB01DCEABDF76E8C64A@ORSMSX113.amr.corp.intel.com> In-Reply-To: Accept-Language: en-US, hi-IN X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.22.254.139] MIME-Version: 1.0 Subject: Re: [PATCH] MdePkg: Add DmaRemappingReportingTable.h X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 01 Aug 2016 16:52:07 -0000 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 VGhhbmtzIGZvciBkZXRhaWxlZCBjb252ZXJzYXRpb24gYW5kIEkgYWdyZWUgd2l0aCBkaXJlY3Rp b24uDQoNCkFzIGl0IGlzIEFDUEkgcmVsYXRlZCB3aGljaCBoYXMgbXVsdGlwbGUgdmVuZG9ycyBv d25pbmcgc3BlY2lmaWMgdGFibGVzIHJlZmVycmVkIGJ5IEFDUEkgc3BlYyBNZGVQa2cgZm9yIG5v dyBzZWVtcyB0byBiZSByaWdodCBwbGFjZS4gVGhhdCBzYWlkIHdlIGNhbiBzdGFydCBzZXBhcmF0 ZSBkaXNjdXNzaW9uIGlmIHdlIHdhbnQgdG8gY3JlYXRlIHZlbmRvciBmb2xkZXJzIGZvciBiZXR0 ZXIgb3JnYW5pemF0aW9uIGluIGZ1dHVyZS4NCg0KRm9yIG5vdyB3ZSBjYW4gY2xvc2UgdGhpcyB0 aHJlYWQgdG8gaW5jbHVkZSBpbiBNZGVQa2cuIEFueSBvYmplY3Rpb25zPw0KDQpUaGFua3MsDQot R2lyaQ0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IFJvdGhtYW4sIE1p Y2hhZWwgQQ0KPiBTZW50OiBUaHVyc2RheSwgSnVseSAyOCwgMjAxNiAxMTo1MyBBTQ0KPiBUbzog TXVkdXN1cnUsIEdpcmkgUCA8Z2lyaS5wLm11ZHVzdXJ1QGludGVsLmNvbT47IFRpbSBMZXdpcw0K PiA8dGltLmxld2lzQGluc3lkZS5jb20+OyBLaW5uZXksIE1pY2hhZWwgRCA8bWljaGFlbC5kLmtp bm5leUBpbnRlbC5jb20+Ow0KPiBMYXN6bG8gRXJzZWsgPGxlcnNla0ByZWRoYXQuY29tPjsgZWRr Mi1kZXZlbEBsaXN0cy4wMS5vcmcgPGVkazItDQo+IGRldmVsQG1sMDEuMDEub3JnPg0KPiBDYzog WWFvLCBKaWV3ZW4gPGppZXdlbi55YW9AaW50ZWwuY29tPjsgR2FvLCBMaW1pbmcgPGxpbWluZy5n YW9AaW50ZWwuY29tPg0KPiBTdWJqZWN0OiBSRTogW2VkazJdIFtQQVRDSF0gTWRlUGtnOiBBZGQg RG1hUmVtYXBwaW5nUmVwb3J0aW5nVGFibGUuaA0KPiANCj4gUGVyc29uYWxseSwNCj4gDQo+IEkg c2VlIHRoYXQgd2UgaGF2ZSB0d28gY2xhc3NlcyBvZiBkYXRhIHdlIGhhdmUgZXh0ZXJuYWwgcmVm ZXJlbmNlcyB0byBpbiB0aGUNCj4gY29kZWJhc2UuDQo+IA0KPiBXZSBoYXZlIGRhdGEgdGhhdCBp cyBpbiBhIHN0YW5kYXJkcy1tYWludGFpbmVkIHNwZWMgbGlrZSBBQ1BJLCBVRUZJLCBldGMuICBU aGlzDQo+IG1pZ2h0IGJlIHNvbWV0aGluZyBsaWtlIEZQRFQsIHdoaWNoIGlzIGEgcmVzZXJ2YXRp b24gaW4gQUNQSSwgYnV0IGFsc28gaGFzIGENCj4gbGl0YW55IG9mIGRlZmluaXRpb25zIGNvbnRh aW5lZCB3aXRoaW4gdGhlIG1haW4gQUNQSSBzcGVjaWZpY2F0aW9uIGFuZCBidWcgZml4ZXMNCj4g b3IgZXh0ZW5zaW9ucyBhc3NvY2lhdGVkIHdpdGggaXQgd2lsbCBzaG93IHVwIGluIHRoZSBtYWlu IHNwZWMuDQo+IA0KPiBXZSBhbHNvIGhhdmUgZGF0YSB0aGF0IG9uZSBvZiB0aGUgbWFpbiBpbmR1 c3RyeSBzcGVjcyBtYXkgcmVmZXJlbmNlLCBidXQgZG9uJ3QNCj4gZGVmaW5lIGV4cGxpY2l0bHku IFRoaW5ncyBsaWtlIHRoZSBQRS9DT0ZGIGZvcm1hdCwgWEVOViwgRE1BUiwgZXRjLiBUaGVzZSBh cmUNCj4gbWFpbnRhaW5lZCBieSB2ZW5kb3Igb3duZXJzIHN1Y2ggYXMgTVNGVCwgSU5UQywgb3Ig b3RoZXJzLg0KPiANCj4gSW4gbXkgbWluZCwgYm90aCBvZiB0aGVzZSBjYXRlZ29yaWVzIGFyZSBp biBlc3NlbmNlIGluZHVzdHJ5IHNwZWMgbWF0ZXJpYWwuDQo+IFRoZXkncmUgdXNlZCBieSB0aGUg aW5kdXN0cnkgYW5kIHRodXMgYXQgbGVhc3Qgc2hvdyB1cCBpbiBzb21lIGZvcm0gd2l0aGluIHRo ZQ0KPiBtYWluIGluZHVzdHJ5IHNwZWNzLg0KPiANCj4gSG93ZXZlciwgdGhlIGtleSBkaWZmZXJl bmNlIGlzIHdobyBpcyBtYWludGFpbmluZyBpdC4NCj4gDQo+IEkgY2FuIGVhc2lseSBzZWUgYXJn dWVkIHRoYXQgdGhlIGluZHVzdHJ5c3RhbmRhcmQgZGlyZWN0b3J5IHNob3VsZCBjb250YWluIHRo ZW0NCj4gYWxsLg0KPiBJIGNvdWxkIGZ1cnRoZXIgYXJndWUgdGhhdCBpZiB3ZSBlbmQgdXAgaGF2 aW5nIHRvbyBtdWNoIGluIHRoZSBtYWluDQo+IGluZHVzdHJ5c3RhbmRhcmQgZGlyZWN0b3J5LCB3 ZSBjb3VsZCBzdGFydCB0byBidWNrZXQgdGhlbSBieSBoYXZpbmcNCj4gc3ViZGlyZWN0b3JpZXMg bm90aW5nIHdobyBtYWludGFpbnMgaXQuDQo+IA0KPiBCZWluZyB0aGF0IGl0IGlzIHJlZmVyZW5j ZSBieSBhbiBpbmR1c3RyeSBzdGFuZGFyZCBzZWVtcyB0byBiZSB0aGUgc2ltcGxlc3QgbGl0bXVz DQo+IHRlc3QgZm9yIHdoYXQgbWFpbiBkaXJlY3RvcnkgKGFuZCB0aHVzIC5oIGZpbGUpIGl0IGdl dHMgcGxhY2VkIGluIC0gb3RoZXJ3aXNlIGl0DQo+IG1pZ2h0IGdldCBwcmV0dHkgY29uZnVzaW5n Lg0KPiANCj4gRGVmaW5pdGVseSBmZWVscyBsaWtlIHNvbWV0aGluZyB0aGUgQ29kZWJhc2UgR3Jh bmQgUG9vYmFocyhLaW5uZXkvRmlzaC9MZWlmKQ0KPiBuZWVkIHRvIGRpc2N1c3MuIDotKQ0KPiAN Cj4gVGhhbmtzLA0KPiBNaWtlIFJvdGhtYW4NCj4gKOi/iOWFiyDnvZfmlq/mm7wgLyDgpK7gpL7g pIfgpJXgpLIg4KSw4KWL4KSl4KWN4KSu4KWH4KSo4KWNIC8g0JzQuNGF0LDQuNC7INCg0L7RgtC8 0LDQvSAvINee16nXlCDXqNeV15jXntefKQ0KPiDXqNeV16LXlCDXoteZ16fXqNeZINep15wg15fX qteV15zXmdedDQo+IA0KPiANCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTog ZWRrMi1kZXZlbCBbbWFpbHRvOmVkazItZGV2ZWwtYm91bmNlc0BsaXN0cy4wMS5vcmddIE9uIEJl aGFsZiBPZg0KPiBNdWR1c3VydSwgR2lyaSBQDQo+IFNlbnQ6IFRodXJzZGF5LCBKdWx5IDI4LCAy MDE2IDEwOjU5IEFNDQo+IFRvOiBUaW0gTGV3aXMgPHRpbS5sZXdpc0BpbnN5ZGUuY29tPjsgS2lu bmV5LCBNaWNoYWVsIEQNCj4gPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPjsgTGFzemxvIEVy c2VrIDxsZXJzZWtAcmVkaGF0LmNvbT47IGVkazItDQo+IGRldmVsQGxpc3RzLjAxLm9yZyA8ZWRr Mi1kZXZlbEBtbDAxLjAxLm9yZz4NCj4gQ2M6IFlhbywgSmlld2VuIDxqaWV3ZW4ueWFvQGludGVs LmNvbT47IEdhbywgTGltaW5nIDxsaW1pbmcuZ2FvQGludGVsLmNvbT4NCj4gU3ViamVjdDogUmU6 IFtlZGsyXSBbUEFUQ0hdIE1kZVBrZzogQWRkIERtYVJlbWFwcGluZ1JlcG9ydGluZ1RhYmxlLmgN Cj4gDQo+IEhpIFRpbSwNCj4gWWVzIGl0IGlzIGhpc3RvcmljYWwsIGFuZCBpZiB3ZSB3YW50IHRv IGNoYW5nZSB0aGF0IGxldCdzIGRlZmluZSB0aGUgZ3VpZGVsaW5lcy4NCj4gDQo+IEluIGluaXRp YWwgcmV2aWV3IGFkZGVkIHRvIEludGVsU2lsaWNvblBrZyBidXQgbG9va2luZyBhdCBvdGhlciB1 c2FnZSBhbmQgdG8ga2VlcA0KPiBpdCBjb25zaXN0ZW50IEkgaGF2ZSBtb3ZlZCB0byBNZGVQa2cu DQo+IA0KPiBGb3IgZXhhbXBsZSBIUEVUIGFuZCBTUE1JIGlzIGFub3RoZXIgZXhhbXBsZSB3aGlj aCBmYWxscyB1bmRlciB0aGUgc2FtZQ0KPiBidWNrZXQgZnJvbSBJbnRlbCBzaWRlLg0KPiANCj4g Rm9yIG5vdyB3ZSBoYXZlIHBsYWNlIGZvciBJbnRlbCBzaWxpY29uIHJlbGF0ZWQgYXQgSW50ZWxT aWxpY29uUGtnIGJ1dCBub3QgYWxsDQo+IHZlbmRvcnMgaGF2ZSBzYW1lLg0KPiANCj4gV2lsbCB3 YWl0IGZvciB0aGUgc3Rld2FyZHMgKE1pa2UsIExlaWYgYW5kIEFuZHJldykgdG8gcmVjb21tZW5k IHRoZSBmaW5hbA0KPiBsb2NhdGlvbi4NCj4gDQo+IFRoYW5rcywNCj4gLUdpcmkNCj4gDQo+ID4g LS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiBGcm9tOiBUaW0gTGV3aXMgW21haWx0bzp0 aW0ubGV3aXNAaW5zeWRlLmNvbV0NCj4gPiBTZW50OiBUaHVyc2RheSwgSnVseSAyOCwgMjAxNiA5 OjU1IEFNDQo+ID4gVG86IEtpbm5leSwgTWljaGFlbCBEIDxtaWNoYWVsLmQua2lubmV5QGludGVs LmNvbT47IExhc3psbyBFcnNlaw0KPiA+IDxsZXJzZWtAcmVkaGF0LmNvbT47IE11ZHVzdXJ1LCBH aXJpIFAgPGdpcmkucC5tdWR1c3VydUBpbnRlbC5jb20+Ow0KPiA+IGVkazItIGRldmVsQGxpc3Rz LjAxLm9yZyA8ZWRrMi1kZXZlbEBtbDAxLjAxLm9yZz4NCj4gPiBDYzogWWFvLCBKaWV3ZW4gPGpp ZXdlbi55YW9AaW50ZWwuY29tPjsgR2FvLCBMaW1pbmcNCj4gPiA8bGltaW5nLmdhb0BpbnRlbC5j b20+DQo+ID4gU3ViamVjdDogUkU6IFtlZGsyXSBbUEFUQ0hdIE1kZVBrZzogQWRkIERtYVJlbWFw cGluZ1JlcG9ydGluZ1RhYmxlLmgNCj4gPg0KPiA+IE1pa2UgLS0NCj4gPg0KPiA+IE5vdCBxdWl0 ZS4gVGhhdCB0YWJsZSBoYXMgaGlzdG9yaWNhbGx5IGJlZW4gYSByZWdpc3RyeSBvZiBjbGFpbWVk DQo+ID4gdGFibGUgSURzIHNpbWlsYXIgdG8gdGhlIHJlZ2lzdHJ5IGZvciBcRUZJIGRpcmVjdG9y eSBuYW1lcy4gQXMgbm90ZWQsDQo+ID4gdGhlcmUgaXMgYSBsaW5rIHRvIGEgcGFnZSB0aGF0IGdp dmVzIHRoZSBsaW5rcyB0byB0aGUgYWN0dWFsIHNwZWMsDQo+ID4gd2hpY2ggaXMgaG9zdGVkIGJ5 IEludGVsIChvciBNaWNyb3NvZnQgb3IgWGVuKSBUaGUgbGlzdGluZyBpbiB0aGlzDQo+ID4gdGFi bGUgaXMgbm90IGFuIGVuZG9yc2VtZW50IG9mIGFuICJpbmR1c3RyeSBzdGFuZGFyZCIgYW55IG1v cmUgdGhhbiBYRU5WLg0KPiAoWEVOIFByb2plY3QgVGFibGUpLiBUaGV5IGFyZSBqdXN0IHZlbmRv ciBsaW5rcy4NCj4gPg0KPiA+IFRpbQ0KPiA+DQo+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0t LS0NCj4gPiBGcm9tOiBLaW5uZXksIE1pY2hhZWwgRCBbbWFpbHRvOm1pY2hhZWwuZC5raW5uZXlA aW50ZWwuY29tXQ0KPiA+IFNlbnQ6IFRodXJzZGF5LCBKdWx5IDI4LCAyMDE2IDk6NTEgQU0NCj4g PiBUbzogVGltIExld2lzIDx0aW0ubGV3aXNAaW5zeWRlLmNvbT47IExhc3psbyBFcnNlaw0KPiA+ IDxsZXJzZWtAcmVkaGF0LmNvbT47IE11ZHVzdXJ1LCBHaXJpIFAgPGdpcmkucC5tdWR1c3VydUBp bnRlbC5jb20+Ow0KPiA+IGVkazItZGV2ZWxAbGlzdHMuMDEub3JnIDxlZGsyLSBkZXZlbEBtbDAx LjAxLm9yZz47IEtpbm5leSwgTWljaGFlbCBEDQo+ID4gPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwu Y29tPg0KPiA+IENjOiBZYW8sIEppZXdlbiA8amlld2VuLnlhb0BpbnRlbC5jb20+OyBHYW8sIExp bWluZw0KPiA+IDxsaW1pbmcuZ2FvQGludGVsLmNvbT4NCj4gPiBTdWJqZWN0OiBSRTogW2VkazJd IFtQQVRDSF0gTWRlUGtnOiBBZGQgRG1hUmVtYXBwaW5nUmVwb3J0aW5nVGFibGUuaA0KPiA+DQo+ ID4gVGltLA0KPiA+DQo+ID4gVGhlICdETUFSJyB0YWJsZSBpcyBkZWZpbmVkIGluIHRoZSBBQ1BJ IFNwZWNpZmljYXRpb24uDQo+ID4NCj4gPiBUaGlzIGlzIHNpbWlsYXIgdG8gJ0RCRzInOg0KPiA+ DQo+ID4gICBNZGVQa2cvSW5jbHVkZS9JbmR1c3RyeVN0YW5kYXJkL0RlYnVnUG9ydDJUYWJsZS5o DQo+ID4NCj4gPiBBbmQgJ1NQQ0QnOg0KPiA+DQo+ID4gICBNZGVQa2cvSW5jbHVkZS9JbmR1c3Ry eVN0YW5kYXJkL1NlcmlhbFBvcnRDb25zb2xlUmVkaXJlY3Rpb25UYWJsZS5oDQo+ID4NCj4gPiBN aWtlDQo+ID4NCj4gPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gPiBGcm9tOiBl ZGsyLWRldmVsIFttYWlsdG86ZWRrMi1kZXZlbC1ib3VuY2VzQGxpc3RzLjAxLm9yZ10gT24gQmVo YWxmDQo+ID4gPiBPZiBUaW0gTGV3aXMNCj4gPiA+IFNlbnQ6IFRodXJzZGF5LCBKdWx5IDI4LCAy MDE2IDk6NDIgQU0NCj4gPiA+IFRvOiBMYXN6bG8gRXJzZWsgPGxlcnNla0ByZWRoYXQuY29tPjsg TXVkdXN1cnUsIEdpcmkgUA0KPiA+ID4gPGdpcmkucC5tdWR1c3VydUBpbnRlbC5jb20+OyBlZGsy LWRldmVsQGxpc3RzLjAxLm9yZw0KPiA+ID4gPGVkazItZGV2ZWxAbWwwMS4wMS5vcmc+DQo+ID4g PiBDYzogS2lubmV5LCBNaWNoYWVsIEQgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPjsgWWFv LCBKaWV3ZW4NCj4gPiA+IDxqaWV3ZW4ueWFvQGludGVsLmNvbT47IEdhbywgTGltaW5nIDxsaW1p bmcuZ2FvQGludGVsLmNvbT4NCj4gPiA+IFN1YmplY3Q6IFJlOiBbZWRrMl0gW1BBVENIXSBNZGVQ a2c6IEFkZCBEbWFSZW1hcHBpbmdSZXBvcnRpbmdUYWJsZS5oDQo+ID4gPg0KPiA+ID4gTGFzemxv IC0tDQo+ID4gPg0KPiA+ID4gSSBoZWFyIHdoYXQgeW91IGFyZSBzYXlpbmcuIEhvd2V2ZXIsIEkg dGhpbmsgdGhpcyBpcyBhIGRpZmZlcmVudCBjYXNlOg0KPiA+ID4NCj4gPiA+IDEpIEhvdyBtYW55 IEFSTS1kZWZpbmVkIHN0YW5kYXJkcyBhcmUgaW4gdGhlDQo+ID4gTWRlUGtnXEluY2x1ZGVcSW5k dXN0cnlTdGFuZGFyZHMuaCBmaWxlPw0KPiA+ID4gQnkgbXkgY291bnQsIG5vbmUuIFRoaXMgaXMg YnkgZGVzaWduLiBUaGV5IGFyZSBhbGwgaW4gb3RoZXIgcGFja2FnZXMuDQo+ID4gPiBETUFSIGlz IHRoZXJlIGJlY2F1c2UgaXQgd2FzIGdyYW5kZmF0aGVyZWQgaW4gZnJvbSBhIGdlbmVyYXRpb24g b2YNCj4gPiA+IHRpYW5vY29yZSB3aGVuIG9ubHkgYXJjaGl0ZWN0dXJlcyBwcm92aWRlZCBieSBJ bnRlbCB3ZXJlIHByZXZhbGVudCBmb3IgVUVGSS4NCj4gPiA+ICAyKSBOb3cgdGhhdCB0aGVyZSBp cyBhbiBJbnRlbCBwYWNrYWdlIGZvciBJbnRlbC1zaWxpY29uIHJlbGF0ZWQNCj4gPiA+IGhlYWRl ciBmaWxlcyBhbmQgbW9kdWxlcywgbm93IGlzIHRoZSB0aW1lIHRvIG1vdmUgaXQuDQo+ID4gPiAz KSBPUyBjYXNlcyBhcmUgYSBsaXR0bGUgZGlmZmVyZW50LCBzaW5jZSB3ZSBkb24ndCB1c3VhbGx5 IHByb2R1Y2UNCj4gPiA+IE1pY3Jvc29mdCAob3IgUmVkaGF0IG9yIENhbm9uaWNhbCBvciBCU0Qp IHNwZWNpZmljIG1vZHVsZXMgZm9yIFVFRkkuDQo+ID4gPiBUaGVyZSBhcmUgaGVhZGVyIGZpbGVz IGFuZCBhIHNtYXR0ZXJpbmcgb2YgZmlsZXMgdGhhdCBkZWFsIHdpdGggdGhlc2UuDQo+ID4gPiBJ ZiB3ZSBjcmVhdGVkIGEgTWljcm9zb2Z0T3NQa2csIEknZCBtb3ZlIHRoZSBoZWFkZXIgZmlsZXMg dGhlcmUgYXMgd2VsbC4NCj4gPiA+DQo+ID4gPiBUaW0NCj4gPiA+DQo+ID4gPiAtLS0tLU9yaWdp bmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ID4gRnJvbTogTGFzemxvIEVyc2VrIFttYWlsdG86bGVyc2Vr QHJlZGhhdC5jb21dDQo+ID4gPiBTZW50OiBUaHVyc2RheSwgSnVseSAyOCwgMjAxNiA5OjI5IEFN DQo+ID4gPiBUbzogVGltIExld2lzIDx0aW0ubGV3aXNAaW5zeWRlLmNvbT47IEdpcmkgUCBNdWR1 c3VydQ0KPiA+ID4gPGdpcmkucC5tdWR1c3VydUBpbnRlbC5jb20+OyBlZGsyLWRldmVsQGxpc3Rz LjAxLm9yZw0KPiA+ID4gPGVkazItZGV2ZWxAbWwwMS4wMS5vcmc+DQo+ID4gPiBDYzogTWljaGFl bCBLaW5uZXkgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPjsgSmlld2VuIFlhbw0KPiA+ID4g PGppZXdlbi55YW9AaW50ZWwuY29tPjsgTGltaW5nIEdhbyA8bGltaW5nLmdhb0BpbnRlbC5jb20+ DQo+ID4gPiBTdWJqZWN0OiBSZTogW2VkazJdIFtQQVRDSF0gTWRlUGtnOiBBZGQgRG1hUmVtYXBw aW5nUmVwb3J0aW5nVGFibGUuaA0KPiA+ID4NCj4gPiA+IE9uIDA3LzI4LzE2IDE4OjAwLCBUaW0g TGV3aXMgd3JvdGU6DQo+ID4gPiA+IEdpcmkgLS0NCj4gPiA+ID4NCj4gPiA+ID4gSXMgTWRlUGtn IHRoZSByaWdodCBwbGFjZSBmb3IgdGhpcz8gVGhpcyBhcHBlYXJzIHRvIGJlIGFuDQo+ID4gPiA+ IEludGVsLXNwZWNpZmljIGRlZmluaXRpb24sIHJpZ2h0PyBJIHVuZGVyc3RhbmQgdGhhdCBpdCB3 YXMgaW4NCj4gPiA+ID4gSW5kdXN0cnlTdGFuZGFyZCBmb3IgRWRrQ29tcGF0aWJpbGl0eVBrZywg YnV0IGl0IG1pZ2h0IGRvIGJldHRlcg0KPiA+ID4gPiBub3cgaW4gdGhlIEludGVsU2lsaWNvblBr Zy4NCj4gPiA+DQo+ID4gPiBETUFSIGlzIGRlZmluZWQgYnkgYSB3aWRlbHkgdXNlZCBpbmR1c3Ry eSBzdGFuZGFyZCAvIHNwZWM7IEkgdGhpbmsNCj4gPiA+IGl0IGJlbG9uZ3MgdG8gTWRlUGtnLg0K PiA+ID4NCj4gPiA+IFByaW9yIGFydCAoZ2F0aGVyZWQgd2l0aA0KPiA+ID4NCj4gPiA+ICAgZ2l0 IGxvZyAtLXJldmVyc2UgLS1zdGF0PTEwMDAgLS1zdGF0LWdyYXBoLXdpZHRoPTIwIC0tDQo+ID4g PiBNZGVQa2cvSW5jbHVkZS9JbmR1c3RyeVN0YW5kYXJkDQo+ID4gPg0KPiA+ID4gYW5kIGJ5IHNl YXJjaGluZyBmb3IgIk1pY3Jvc29mdCIsIGNhc2UtaW5zZW5zaXRpdmVseSk6DQo+ID4gPg0KPiA+ ID4gKDEpDQo+ID4gPg0KPiA+ID4gY29tbWl0IDMyZGYwMWZmNjg1YjlkZTUwNTU1YmFjMDQwMTY2 YjE3YTA2MWVhOWINCj4gPiA+IEF1dGhvcjogQ2hhbyBaaGFuZyA8Y2hhby5iLnpoYW5nQGludGVs LmNvbT4NCj4gPiA+IERhdGU6ICAgV2VkIE1heSAxMyAwODoyNzowNCAyMDE1ICswMDAwDQo+ID4g Pg0KPiA+ID4gICAgIE1kZVBrZzogQWRkIE1pY3Jvc29mdCBVWCBjYXBzdWxlIEdVSUQgJiBsYXlv dXQNCj4gPiA+DQo+ID4gPiAgICAgQWRkIE1pY3Jvc29mdCBVWCBjYXBzdWxlIEdVSUQgJiBsYXlv dXQgaW50byBJbmR1c3RyeVN0YW5kYXJkDQo+ID4gPg0KPiA+ID4gICAgIENvbnRyaWJ1dGVkLXVu ZGVyOiBUaWFub0NvcmUgQ29udHJpYnV0aW9uIEFncmVlbWVudCAxLjANCj4gPiA+ICAgICBTaWdu ZWQtb2ZmLWJ5OiBDaGFvIFpoYW5nIDxjaGFvLmIuemhhbmdAaW50ZWwuY29tPg0KPiA+ID4gICAg IFJldmlld2VkLWJ5OiBHYW8gTGltaW5nIDxsaW1pbmcuZ2FvQGludGVsLmNvbT4NCj4gPiA+DQo+ ID4gPiAgICAgZ2l0LXN2bi1pZDogaHR0cHM6Ly9zdm4uY29kZS5zZi5uZXQvcC9lZGsyL2NvZGUv dHJ1bmsvZWRrMkAxNzQyNA0KPiA+ID4gNmYxOTI1OWItNGJjMy0NCj4gPiA+IDRkZjctOGEwOS03 NjU3OTQ4ODM1MjQNCj4gPiA+DQo+ID4gPiAgTWRlUGtnL0luY2x1ZGUvSW5kdXN0cnlTdGFuZGFy ZC9XaW5kb3dzVXhDYXBzdWxlLmggfCA0Ng0KPiA+ID4gKysrKysrKysrKysrKysrKysrKysNCj4g PiA+ICAxIGZpbGUgY2hhbmdlZCwgNDYgaW5zZXJ0aW9ucygrKQ0KPiA+ID4NCj4gPiA+ICgyKQ0K PiA+ID4NCj4gPiA+IGNvbW1pdCBjMzc0YWE0M2ExOTlhNWFhYjUzMjE4ZWYzY2Y5OTI4NGJhMTlh ZTk4DQo+ID4gPiBBdXRob3I6IEhleWkgR3VvIDxoZXlpLmd1b0BsaW5hcm8ub3JnPg0KPiA+ID4g RGF0ZTogICBGcmkgTm92IDEzIDAzOjI3OjU0IDIwMTUgKzAwMDANCj4gPiA+DQo+ID4gPiAgICAg VXBkYXRlIFNQQ1IgdGFibGUgZGVmaW5pdGlvbiBwZXIgU1BDUiBzcGVjaWZpY2F0aW9uIHYxLjAz Lg0KPiA+ID4NCj4gPiA+ICAgICBEb2N1bWVudCBsaW5rOg0KPiA+ID4NCj4gPiA+IGh0dHA6Ly9t c2RuLm1pY3Jvc29mdC5jb20vZW4tdXMvbGlicmFyeS93aW5kb3dzL2hhcmR3YXJlL2RuNjM5MTMy KHY9DQo+ID4gPiB2cw0KPiA+ID4gLjg1KS5hc3B4DQo+ID4gPg0KPiA+ID4gICAgIENvbnRyaWJ1 dGVkLXVuZGVyOiBUaWFub0NvcmUgQ29udHJpYnV0aW9uIEFncmVlbWVudCAxLjANCj4gPiA+ICAg ICBTaWduZWQtb2ZmLWJ5OiAiSGV5aSBHdW8iIDxoZXlpLmd1b0BsaW5hcm8ub3JnPg0KPiA+ID4g ICAgIFJldmlld2VkLWJ5OiAiSmlld2VuIFlhbyIgPGppZXdlbi55YW9AaW50ZWwuY29tPg0KPiA+ ID4NCj4gPiA+ICAgICBnaXQtc3ZuLWlkOiBodHRwczovL3N2bi5jb2RlLnNmLm5ldC9wL2VkazIv Y29kZS90cnVuay9lZGsyQDE4NzgyDQo+ID4gPiA2ZjE5MjU5Yi00YmMzLQ0KPiA+ID4gNGRmNy04 YTA5LTc2NTc5NDg4MzUyNA0KPiA+ID4NCj4gPiA+ICBNZGVQa2cvSW5jbHVkZS9JbmR1c3RyeVN0 YW5kYXJkL1NlcmlhbFBvcnRDb25zb2xlUmVkaXJlY3Rpb25UYWJsZS5oDQo+ID4gPiB8DQo+ID4g PiAxMiArKysrKysrKy0tLS0NCj4gPiA+ICAxIGZpbGUgY2hhbmdlZCwgOCBpbnNlcnRpb25zKCsp LCA0IGRlbGV0aW9ucygtKQ0KPiA+ID4NCj4gPiA+ICgzKQ0KPiA+ID4NCj4gPiA+IGNvbW1pdCAz MWE5ZDNiNDE5YWNjYmJjNTQ2M2M3MTIyMWIzYjMwYTQ2ZjllZTczDQo+ID4gPiBBdXRob3I6IFlh bywgSmlld2VuIDxqaWV3ZW4ueWFvQGludGVsLmNvbT4NCj4gPiA+IERhdGU6ICAgVHVlIEphbiAx OSAxMzoxNzoxMCAyMDE2ICswMDAwDQo+ID4gPg0KPiA+ID4gICAgIE1kZVBrZzogVXBkYXRlIE1v ckxvY2sgY29tbWVudCB0byBsYXRlc3QgZG9jLg0KPiA+ID4NCj4gPiA+ICAgICBNaWNyb3NvZnQg dXBkYXRlZCBzZWN1cmUgTU9SIGxvY2sgZG9jdW1lbnQgd2l0aCB2ZXJzaW9uIDIuDQo+ID4gPiAg ICAgU28gd2UgdXBkYXRlIGNvbW1lbnQgaGVyZS4NCj4gPiA+DQo+ID4gPiAgICAgQ29udHJpYnV0 ZWQtdW5kZXI6IFRpYW5vQ29yZSBDb250cmlidXRpb24gQWdyZWVtZW50IDEuMA0KPiA+ID4gICAg IFNpZ25lZC1vZmYtYnk6ICJZYW8sIEppZXdlbiIgPGppZXdlbi55YW9AaW50ZWwuY29tPg0KPiA+ ID4gICAgIFJldmlld2VkOiAiWmhhbmcsIENoYW8gQiIgPGNoYW8uYi56aGFuZ0BpbnRlbC5jb20+ DQo+ID4gPg0KPiA+ID4NCj4gPiA+ICAgICBnaXQtc3ZuLWlkOiBodHRwczovL3N2bi5jb2RlLnNm Lm5ldC9wL2VkazIvY29kZS90cnVuay9lZGsyQDE5Njg3DQo+ID4gPiA2ZjE5MjU5Yi00YmMzLQ0K PiA+ID4gNGRmNy04YTA5LTc2NTc5NDg4MzUyNA0KPiA+ID4NCj4gPiA+ICBNZGVQa2cvSW5jbHVk ZS9JbmR1c3RyeVN0YW5kYXJkL01lbW9yeU92ZXJ3cml0ZVJlcXVlc3RDb250cm9sTG9jay5oDQo+ ID4gPiB8DQo+ID4gPiAxNiArKysrKysrKy0tLS0tDQo+ID4gPiAtLS0NCj4gPiA+ICAxIGZpbGUg Y2hhbmdlZCwgOCBpbnNlcnRpb25zKCspLCA4IGRlbGV0aW9ucygtKQ0KPiA+ID4NCj4gPiA+ICg0 KQ0KPiA+ID4NCj4gPiA+IGNvbW1pdCBhMDYwNmZjNzA1ZjViZGZiZTIzNjZhN2YzYzZkZDc0OTFk YTc0Mzk0DQo+ID4gPiBBdXRob3I6IFNhbWkgTXVqYXdhciA8c2FtaS5tdWphd2FyQGFybS5jb20+ DQo+ID4gPiBEYXRlOiAgIEZyaSBNYXIgNCAxNDo1ODozMyAyMDE2ICswMDAwDQo+ID4gPg0KPiA+ ID4gICAgIE1kZVBrZzogQWRkIEFSTSBTZXJpYWwgUG9ydCBTdWJ0eXBlIGRlZmluaXRpb25zDQo+ ID4gPg0KPiA+ID4gICAgIFRoZSBTZXJpYWwgUG9ydCBDb25zb2xlIFJlZGlyZWN0aW9uIFRhYmxl IHNwZWNpZmljYXRpb24gVmVyc2lvbiAxLjAzIC0NCj4gPiA+ICAgICBBdWd1c3QgMTAsIDIwMTUg YWRkcyBzdXBwb3J0IGZvciBTZXJpYWwgUG9ydCBTdWJ0eXBlcyBmb3IgQVJNLiBUaGVzZQ0KPiA+ ID4gICAgIFN1YnR5cGVzIGFyZSBkZXNjcmliZWQgaW4gdGhlIFRhYmxlIDMgb2YgdGhlIE1pY3Jv c29mdCBEZWJ1ZyBQb3J0IFRhYmxlDQo+ID4gPiAgICAgMiAoREJHMikgU3BlY2lmaWNhdGlvbiAt IERlY2VtYmVyIDEwLCAyMDE1Lg0KPiA+ID4NCj4gPiA+ICAgICBUaGlzIHBhdGNoIGFkZHMgbWFj cm8gZGVmaW5pdGlvbnMgZm9yIHRoZXNlLg0KPiA+ID4NCj4gPiA+ICAgICBDb2RlIGF0Og0KPiA+ ID4NCj4gPg0KPiBodHRwczovL2dpdGh1Yi5jb20vRXZhbkxsb3lkL3RpYW5vY29yZS9jb21taXQv Nzk2NzhhMGYzOTllOTc4ODNjZmJhMDkyDQo+ID4gPiA3NWU3NTA4NjFlMjRjZDcwDQo+ID4gPg0K PiA+ID4gICAgIENvbnRyaWJ1dGVkLXVuZGVyOiBUaWFub0NvcmUgQ29udHJpYnV0aW9uIEFncmVl bWVudCAxLjANCj4gPiA+ICAgICBTaWduZWQtb2ZmLWJ5OiBFdmFuIExsb3lkIDxldmFuLmxsb3lk QGFybS5jb20+DQo+ID4gPiAgICAgUmV2aWV3ZWQtYnk6IFlhbyBKaWV3ZW4gPGppZXdlbi55YW9A aW50ZWwuY29tPg0KPiA+ID4gICAgIFJldmlld2VkLWJ5OiBMaW1pbmcgR2FvIDxsaW1pbmcuZ2Fv QGludGVsLmNvbT4NCj4gPiA+DQo+ID4gPiAgTWRlUGtnL0luY2x1ZGUvSW5kdXN0cnlTdGFuZGFy ZC9TZXJpYWxQb3J0Q29uc29sZVJlZGlyZWN0aW9uVGFibGUuaA0KPiA+ID4gfA0KPiA+ID4gMjUN Cj4gPiA+ICsrKysrKysrKysrKysrKysrKy0tDQo+ID4gPiAgMSBmaWxlIGNoYW5nZWQsIDIzIGlu c2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pDQo+ID4gPg0KPiA+ID4gKDUpDQo+ID4gPg0KPiA+ ID4gY29tbWl0IDlmMGI5OTVlNjRiOGQ2YmVlYzJlZGVmN2ZkZGRjMzM3NGU2MjRlNDINCj4gPiA+ IEF1dGhvcjogU2FtaSBNdWphd2FyIDxzYW1pLm11amF3YXJAYXJtLmNvbT4NCj4gPiA+IERhdGU6 ICAgRnJpIE1hciA0IDE3OjI0OjQxIDIwMTYgKzAwMDANCj4gPiA+DQo+ID4gPiAgICAgTWRlUGtn OiBBZGQgQVJNIFNlcmlhbCBQb3J0IFN1YnR5cGVzIHRvIERCRzINCj4gPiA+DQo+ID4gPiAgICAg VGhlIE1pY3Jvc29mdCBEZWJ1ZyBQb3J0IFRhYmxlIDIgKERCRzIpIHNwZWNpZmljYXRpb24gcmV2 aXNpb24NCj4gPiA+ICAgICBPY3RvYmVyIDYsIDIwMTUgYWRkcyBzdXBwb3J0IGZvciBTZXJpYWwg UG9ydCBTdWJ0eXBlcyBmb3IgQVJNLg0KPiA+ID4NCj4gPiA+ICAgICBUaGlzIHBhdGNoIGFkZHMg dGhlc2UgZGVmaW5pdGlvbnMuDQo+ID4gPg0KPiA+ID4gICAgIENvbnRyaWJ1dGVkLXVuZGVyOiBU aWFub0NvcmUgQ29udHJpYnV0aW9uIEFncmVlbWVudCAxLjANCj4gPiA+ICAgICBTaWduZWQtb2Zm LWJ5OiBFdmFuIExsb3lkIDxldmFuLmxsb3lkQGFybS5jb20+DQo+ID4gPiAgICAgUmV2aWV3ZWQt Ynk6IFlhbyBKaWV3ZW4gPGppZXdlbi55YW9AaW50ZWwuY29tPg0KPiA+ID4gICAgIFJldmlld2Vk LWJ5OiBMaW1pbmcgR2FvIDxsaW1pbmcuZ2FvQGludGVsLmNvbT4NCj4gPiA+DQo+ID4gPiAgTWRl UGtnL0luY2x1ZGUvSW5kdXN0cnlTdGFuZGFyZC9EZWJ1Z1BvcnQyVGFibGUuaCB8IDYgKysrKysr DQo+ID4gPiAgMSBmaWxlIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKQ0KPiA+ID4NCj4gPiA+ICg2 KQ0KPiA+ID4NCj4gPiA+IGNvbW1pdCA2YTBkMjQyMjEyNDFiYjFiMTNiYWZjN2IyZDI2NDI0MGQx OWQyOTkzDQo+ID4gPiBBdXRob3I6IEppZXdlbiBZYW8gPGppZXdlbi55YW9AaW50ZWwuY29tPg0K PiA+ID4gRGF0ZTogICBGcmkgQXByIDIyIDEwOjIzOjE5IDIwMTYgKzA4MDANCj4gPiA+DQo+ID4g PiAgICAgTWRlUGtnOiBBZGQgV1NNVCBkZWZpbml0aW9uLg0KPiA+ID4NCj4gPiA+ICAgICBUaGlz IHBhdGNoIGFkZHMgV2luZG93cyBTTU0gU2VjdXJpdHkgTWl0aWdhdGlvbg0KPiA+ID4gICAgIFRh YmxlIEANCj4gPiA+IGh0dHA6Ly9kb3dubG9hZC5taWNyb3NvZnQuY29tL2Rvd25sb2FkLzEvOC9B LzE4QTIxMjQ0LUVCNjctNDUzOC0NCj4gPiBCQUEyLQ0KPiA+ID4gMUE1NEUwRTQ5MEI2L1dTTVQu ZG9jeA0KPiA+ID4NCj4gPiA+ICAgICBDYzogIkdhbywgTGltaW5nIiA8bGltaW5nLmdhb0BpbnRl bC5jb20+DQo+ID4gPiAgICAgQ2M6ICJLaW5uZXksIE1pY2hhZWwgRCIgPG1pY2hhZWwuZC5raW5u ZXlAaW50ZWwuY29tPg0KPiA+ID4gICAgIENvbnRyaWJ1dGVkLXVuZGVyOiBUaWFub0NvcmUgQ29u dHJpYnV0aW9uIEFncmVlbWVudCAxLjANCj4gPiA+ICAgICBTaWduZWQtb2ZmLWJ5OiAiWWFvLCBK aWV3ZW4iIDxqaWV3ZW4ueWFvQGludGVsLmNvbT4NCj4gPiA+ICAgICBSZXZpZXdlZC1ieTogIkdh bywgTGltaW5nIiA8bGltaW5nLmdhb0BpbnRlbC5jb20+DQo+ID4gPg0KPiA+ID4gIE1kZVBrZy9J bmNsdWRlL0luZHVzdHJ5U3RhbmRhcmQvV2luZG93c1NtbVNlY3VyaXR5TWl0aWdhdGlvblRhYmxl LmgNCj4gPiA+IHwNCj4gPiA+IDM5DQo+ID4gPiArKysrKysrKysrKysrKysrKysrKw0KPiA+ID4g IDEgZmlsZSBjaGFuZ2VkLCAzOSBpbnNlcnRpb25zKCspDQo+ID4gPg0KPiA+ID4gVGhhbmtzDQo+ ID4gPiBMYXN6bG8NCj4gPiA+DQo+ID4gPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ ID4gPiA+IEZyb206IGVkazItZGV2ZWwgW21haWx0bzplZGsyLWRldmVsLWJvdW5jZXNAbGlzdHMu MDEub3JnXSBPbg0KPiA+ID4gPiBCZWhhbGYgT2YgR2lyaSBQIE11ZHVzdXJ1DQo+ID4gPiA+IFNl bnQ6IFdlZG5lc2RheSwgSnVseSAyNywgMjAxNiAxMTo0NiBQTQ0KPiA+ID4gPiBUbzogZWRrMi1k ZXZlbEBsaXN0cy4wMS5vcmcNCj4gPiA+ID4gQ2M6IE1pY2hhZWwgS2lubmV5IDxtaWNoYWVsLmQu a2lubmV5QGludGVsLmNvbT47IEppZXdlbiBZYW8NCj4gPiA+ID4gPGppZXdlbi55YW9AaW50ZWwu Y29tPjsgTGltaW5nIEdhbyA8bGltaW5nLmdhb0BpbnRlbC5jb20+DQo+ID4gPiA+IFN1YmplY3Q6 IFtlZGsyXSBbUEFUQ0hdIE1kZVBrZzogQWRkIERtYVJlbWFwcGluZ1JlcG9ydGluZ1RhYmxlLmgN Cj4gPiA+ID4NCj4gPiA+ID4gRE1BIFJlbWFwcGluZyBSZXBvcnRpbmcgKERNQVIpIEFDUEkgdGFi bGUgZGVmaW5pdGlvbnMgZnJvbQ0KPiA+ID4gPiBJbnRlbChSKSBWaXJ0dWFsaXphdGlvbg0KPiA+ ID4gVGVjaG5vbG9neSBmb3IgRGlyZWN0ZWQgSS9PIChWVC1EKSBBcmNoaXRlY3R1cmUgU3BlY2lm aWNhdGlvbiB2Mi40DQo+ID4gPiBkYXRlZCBKdW5lDQo+ID4gMjAxNi4NCj4gPiA+ID4NCj4gPiA+ ID4gVGhpcyByZXBsYWNlcyB0aGUgRE1BUmVtYXBwaW5nUmVwb3J0aW5nVGFibGUuaCBmcm9tDQo+ ID4gPiA+IEVka0NvbXBhdGliaWxpdHlQa2dcRm91bmRhdGlvblxJbmNsdWRlXEluZHVzdHJ5U3Rh bmRhcmQNCj4gPiA+ID4NCj4gPiA+ID4gQ2M6IE1pY2hhZWwgS2lubmV5IDxtaWNoYWVsLmQua2lu bmV5QGludGVsLmNvbT4NCj4gPiA+ID4gQ2M6IExpbWluZyBHYW8gPGxpbWluZy5nYW9AaW50ZWwu Y29tPg0KPiA+ID4gPiBDYzogSmlld2VuIFlhbyA8amlld2VuLnlhb0BpbnRlbC5jb20+DQo+ID4g PiA+IENvbnRyaWJ1dGVkLXVuZGVyOiBUaWFub0NvcmUgQ29udHJpYnV0aW9uIEFncmVlbWVudCAx LjANCj4gPiA+ID4gU2lnbmVkLW9mZi1ieTogR2lyaSBQIE11ZHVzdXJ1IDxnaXJpLnAubXVkdXN1 cnVAaW50ZWwuY29tPg0KPiA+ID4gPiAtLS0NCj4gPiA+ID4gIC4uLi9JbmR1c3RyeVN0YW5kYXJk L0RtYVJlbWFwcGluZ1JlcG9ydGluZ1RhYmxlLmggIHwgMjU0DQo+ID4gPiA+ICsrKysrKysrKysr KysrKysrKysrKw0KPiA+ID4gPiAgMSBmaWxlIGNoYW5nZWQsIDI1NCBpbnNlcnRpb25zKCspICBj cmVhdGUgbW9kZSAxMDA2NDQNCj4gPiA+ID4gTWRlUGtnL0luY2x1ZGUvSW5kdXN0cnlTdGFuZGFy ZC9EbWFSZW1hcHBpbmdSZXBvcnRpbmdUYWJsZS5oDQo+ID4gPiA+DQo+ID4gPiA+IGRpZmYgLS1n aXQNCj4gPiA+ID4gYS9NZGVQa2cvSW5jbHVkZS9JbmR1c3RyeVN0YW5kYXJkL0RtYVJlbWFwcGlu Z1JlcG9ydGluZ1RhYmxlLmgNCj4gPiA+ID4gYi9NZGVQa2cvSW5jbHVkZS9JbmR1c3RyeVN0YW5k YXJkL0RtYVJlbWFwcGluZ1JlcG9ydGluZ1RhYmxlLmgNCj4gPiA+ID4gbmV3IGZpbGUgbW9kZSAx MDA2NDQNCj4gPiA+ID4gaW5kZXggMDAwMDAwMC4uNjkxYWVhMA0KPiA+ID4gPiAtLS0gL2Rldi9u dWxsDQo+ID4gPiA+ICsrKyBiL01kZVBrZy9JbmNsdWRlL0luZHVzdHJ5U3RhbmRhcmQvRG1hUmVt YXBwaW5nUmVwb3J0aW5nVGFibGUuaA0KPiA+ID4gPiBAQCAtMCwwICsxLDI1NCBAQA0KPiA+ID4g PiArLyoqIEBmaWxlDQo+ID4gPiA+ICsgIERNQSBSZW1hcHBpbmcgUmVwb3J0aW5nIChETUFSKSBB Q1BJIHRhYmxlIGRlZmluaXRpb24gZnJvbQ0KPiA+ID4gPiArSW50ZWwoUikNCj4gPiA+ID4gKyAg VmlydHVhbGl6YXRpb24gVGVjaG5vbG9neSBmb3IgRGlyZWN0ZWQgSS9PIChWVC1EKSBBcmNoaXRl Y3R1cmUNCj4gPiBTcGVjaWZpY2F0aW9uLg0KPiA+ID4gPiArDQo+ID4gPiA+ICsgIENvcHlyaWdo dCAoYykgMjAxNiwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0K PiA+ID4gPiArIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgIGFy ZSBsaWNlbnNlZCBhbmQNCj4gPiA+ID4gKyBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMg YW5kIGNvbmRpdGlvbnMgb2YgdGhlIEJTRCBMaWNlbnNlDQo+ID4gPiA+ICsgd2hpY2ggYWNjb21w YW5pZXMgdGhpcyBkaXN0cmlidXRpb24uICBUaGUgZnVsbCB0ZXh0IG9mIHRoZQ0KPiA+ID4gPiAr IGxpY2Vuc2UgbWF5IGJlIGZvdW5kIGF0DQo+ID4gPiA+ICsgaHR0cDovL29wZW5zb3VyY2Uub3Jn L2xpY2Vuc2VzL2JzZC1saWNlbnNlLnBocA0KPiA+ID4gPiArDQo+ID4gPiA+ICsgIFRIRSBQUk9H UkFNIElTIERJU1RSSUJVVEVEIFVOREVSIFRIRSBCU0QgTElDRU5TRSBPTiBBTiAiQVMgSVMiDQo+ ID4gPiA+ICsgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBSRVBSRVNFTlRBVElPTlMgT0Yg QU5ZIEtJTkQsDQo+ID4gRUlUSEVSDQo+ID4gPiA+ICsgRVhQUkVTUyBPUg0KPiA+ID4gSU1QTElF RC4NCj4gPiA+ID4gKw0KPiA+ID4gPiArICBAcGFyIFJldmlzaW9uIFJlZmVyZW5jZToNCj4gPiA+ ID4gKyAgICAtIEludGVsKFIpIFZpcnR1YWxpemF0aW9uIFRlY2hub2xvZ3kgZm9yIERpcmVjdGVk IEkvTyAoVlQtRCkgQXJjaGl0ZWN0dXJlDQo+ID4gPiA+ICsgICAgICBTcGVjaWZpY2F0aW9uIHYy LjQsIERhdGVkIEp1bmUgMjAxNi4NCj4gPiA+ID4gKw0KPiA+ID4gPiArDQo+ID4gaHR0cDovL3d3 dy5pbnRlbC5jb20vY29udGVudC9kYW0vd3d3L3B1YmxpYy91cy9lbi9kb2N1bWVudHMvcHJvZHVj DQo+ID4gPiA+ICsgdC0gc3AgZWNpZmljYXRpb25zL3Z0LWRpcmVjdGVkLWlvLXNwZWMucGRmDQo+ ID4gPiA+ICsNCj4gPiA+ID4gKyAgQHBhciBHbG9zc2FyeToNCj4gPiA+ID4gKyAgICAtIEhQRVQg LSBIaWdoIFByZWNpc2lvbiBFdmVudCBUaW1lcg0KPiA+ID4gPiArICAgIC0gTlVNQSAtIE5vbi11 bmlmb3JtIE1lbW9yeSBBY2Nlc3MgKiovICNpZm5kZWYNCj4gPiA+ID4gK19ETUFfUkVNQVBQSU5H X1JFUE9SVElOR19UQUJMRV9IXyAjZGVmaW5lDQo+ID4gPiA+ICtfRE1BX1JFTUFQUElOR19SRVBP UlRJTkdfVEFCTEVfSF8NCj4gPiA+ID4gKw0KPiA+ID4gPiArI3ByYWdtYSBwYWNrKDEpDQo+ID4g PiA+ICsNCj4gPiA+ID4gKy8vLw0KPiA+ID4gPiArLy8vIERNQSBSZW1hcHBpbmcgUmVwb3J0aW5n IFRhYmxlIFJldmlzaW9uIC8vLw0KPiA+ID4gPiArI2RlZmluZSBFRklfQUNQSV9ETUFSX0RFU0NS SVBUSU9OX1RBQkxFX1JFVklTSU9OICAgMHgwMQ0KPiA+ID4gPiArDQo+ID4gPiA+ICsvLy8NCj4g PiA+ID4gKy8vLyBETUEtUmVtYXBwaW5nIFJlcG9ydGluZyBBQ1BJIFRhYmxlIGRlZmluaXRpb25z IGZyb20gc2VjdGlvbg0KPiA+ID4gPiArOC4xIC8vL0B7DQo+ID4gPiA+ICsjZGVmaW5lIEVGSV9B Q1BJX0RNQVJfVEFCTEVfRkxBR1NfSU5UUl9SRU1BUF9TRVQgICAgICAgICAgICBCSVQwDQo+ID4g PiA+ICsjZGVmaW5lIEVGSV9BQ1BJX0RNQVJfVEFCTEVfRkxBR1NfWDJBUElDX09QVF9PVVRfU0VU ICAgICAgICBCSVQxDQo+ID4gPiA+ICsvLy9AfQ0KPiA+ID4gPiArDQo+ID4gPiA+ICsvLy8NCj4g PiA+ID4gKy8vLyBSZW1hcHBpbmcgU3RydWN0dXJlIFR5cGVzIGRlZmluaXRpb25zIGZyb20gc2Vj dGlvbiA4LjIgLy8vQHsNCj4gPiA+ID4gKyNkZWZpbmUgRUZJX0FDUElfRE1BUl9UWVBFX0RSSEQg ICAweDAwDQo+ID4gPiA+ICsjZGVmaW5lIEVGSV9BQ1BJX0RNQVJfVFlQRV9STVJSICAgMHgwMQ0K PiA+ID4gPiArI2RlZmluZSBFRklfQUNQSV9ETUFSX1RZUEVfQVRTUiAgIDB4MDINCj4gPiA+ID4g KyNkZWZpbmUgRUZJX0FDUElfRE1BUl9UWVBFX1JIU0EgICAweDAzDQo+ID4gPiA+ICsjZGVmaW5l IEVGSV9BQ1BJX0RNQVJfVFlQRV9BTkREICAgMHgwNA0KPiA+ID4gPiArLy8vQH0NCj4gPiA+ID4g Kw0KPiA+ID4gPiArLy8vDQo+ID4gPiA+ICsvLy8gRGVmaW5pdGlvbiBmb3IgRE1BIFJlbWFwcGlu ZyBTdHJ1Y3R1cmUgSGVhZGVyIC8vLyB0eXBlZGVmIHN0cnVjdCB7DQo+ID4gPiA+ICsgIFVJTlQx NiAgICAgICAgVHlwZTsNCj4gPiA+ID4gKyAgVUlOVDE2ICAgICAgICBMZW5ndGg7DQo+ID4gPiA+ ICt9IEVGSV9BQ1BJX0RNQVJfU1RSVUNUVVJFX0hFQURFUjsNCj4gPiA+ID4gKw0KPiA+ID4gPiAr Ly8vDQo+ID4gPiA+ICsvLy8gRGVmaW5pdGlvbiBmb3IgRE1BLVJlbWFwcGluZyBQQ0kgUGF0aCAv Ly8gdHlwZWRlZiBzdHJ1Y3Qgew0KPiA+ID4gPiArICBVSU5UOCAgICAgICAgIERldmljZTsNCj4g PiA+ID4gKyAgVUlOVDggICAgICAgICBGdW5jdGlvbjsNCj4gPiA+ID4gK30gRUZJX0FDUElfRE1B Ul9QQ0lfUEFUSDsNCj4gPiA+ID4gKw0KPiA+ID4gPiArLy8vDQo+ID4gPiA+ICsvLy8gRE1BLVJl bWFwcGluZyBEZXZpY2UgU2NvcGUgRW50cnkgU3RydWN0dXJlIGRlZmluaXRpb25zIGZyb20NCj4g PiA+ID4gK3NlY3Rpb24NCj4gPiA+ID4gKzguMy4xIC8vL0B7DQo+ID4gPiA+ICsjZGVmaW5lIEVG SV9BQ1BJX0RFVklDRV9TQ09QRV9FTlRSWV9UWVBFX1BDSV9FTkRQT0lOVA0KPiAweDAxDQo+ID4g PiA+ICsjZGVmaW5lIEVGSV9BQ1BJX0RFVklDRV9TQ09QRV9FTlRSWV9UWVBFX1BDSV9CUklER0Ug ICAgICAgICAgICAgMHgwMg0KPiA+ID4gPiArI2RlZmluZSBFRklfQUNQSV9ERVZJQ0VfU0NPUEVf RU5UUllfVFlQRV9JT0FQSUMgICAgICAgICAgICAgICAgIDB4MDMNCj4gPiA+ID4gKyNkZWZpbmUg RUZJX0FDUElfREVWSUNFX1NDT1BFX0VOVFJZX1RZUEVfTVNJX0NBUEFCTEVfSFBFVA0KPiA+IDB4 MDQNCj4gPiA+ID4gKyNkZWZpbmUNCj4gPiBFRklfQUNQSV9ERVZJQ0VfU0NPUEVfRU5UUllfVFlQ RV9BQ1BJX05BTUVTUEFDRV9ERVZJQ0UNCj4gPiA+ID4gKzB4MDUgLy8vQH0NCj4gPiA+ID4gKw0K PiA+ID4gPiArLy8vDQo+ID4gPiA+ICsvLy8gRGV2aWNlIFNjb3BlIFN0cnVjdHVyZSBpcyBkZWZp bmVkIGluIHNlY3Rpb24gOC4zLjEgLy8vDQo+ID4gPiA+ICt0eXBlZGVmIHN0cnVjdCB7DQo+ID4g PiA+ICsgIFVJTlQ4ICAgICAgICAgVHlwZTsNCj4gPiA+ID4gKyAgVUlOVDggICAgICAgICBMZW5n dGg7DQo+ID4gPiA+ICsgIFVJTlQxNiAgICAgICAgUmVzZXJ2ZWQyOw0KPiA+ID4gPiArICBVSU5U OCAgICAgICAgIEVudW1lcmF0aW9uSWQ7DQo+ID4gPiA+ICsgIFVJTlQ4ICAgICAgICAgU3RhcnRC dXNOdW1iZXI7DQo+ID4gPiA+ICt9IEVGSV9BQ1BJX0RNQVJfREVWSUNFX1NDT1BFX1NUUlVDVFVS RV9IRUFERVI7DQo+ID4gPiA+ICsNCj4gPiA+ID4gKy8qKg0KPiA+ID4gPiArICBETUEtcmVtYXBw aW5nIGhhcmR3YXJlIHVuaXQgZGVmaW5pdGlvbiAoRFJIRCkgc3RydWN0dXJlIGlzDQo+ID4gPiA+ ICtkZWZpbmVkIGluDQo+ID4gPiA+ICsgIHNlY3Rpb24gOC4zLiBUaGlzIHVuaXF1ZWx5IHJlcHJl c2VudHMgYSByZW1hcHBpbmcgaGFyZHdhcmUgdW5pdA0KPiA+ID4gPiArcHJlc2VudA0KPiA+ID4g PiArICBpbiB0aGUgcGxhdGZvcm0uIFRoZXJlIG11c3QgYmUgYXQgbGVhc3Qgb25lIGluc3RhbmNl IG9mIHRoaXMNCj4gPiA+ID4gK3N0cnVjdHVyZQ0KPiA+ID4gPiArICBmb3IgZWFjaCBQQ0kgc2Vn bWVudCBpbiB0aGUgcGxhdGZvcm0uDQo+ID4gPiA+ICsqKi8NCj4gPiA+ID4gK3R5cGVkZWYgc3Ry dWN0IHsNCj4gPiA+ID4gKyAgRUZJX0FDUElfRE1BUl9TVFJVQ1RVUkVfSEVBREVSICBIZWFkZXI7 DQo+ID4gPiA+ICsgIC8qKg0KPiA+ID4gPiArICAgIC0gQml0WzBdOiBJTkNMVURFX1BDSV9BTEwN Cj4gPiA+ID4gKyAgICAgICAgICAgICAgLSBJZiBTZXQsIHRoaXMgcmVtYXBwaW5nIGhhcmR3YXJl IHVuaXQgaGFzIHVuZGVyIGl0cyBzY29wZSBhbGwNCj4gPiA+ID4gKyAgICAgICAgICAgICAgICBQ Q0kgY29tcGF0aWJsZSBkZXZpY2VzIGluIHRoZSBzcGVjaWZpZWQgU2VnbWVudCwgZXhjZXB0IGRl dmljZXMNCj4gPiA+ID4gKyAgICAgICAgICAgICAgICByZXBvcnRlZCB1bmRlciB0aGUgc2NvcGUg b2Ygb3RoZXIgcmVtYXBwaW5nIGhhcmR3YXJlIHVuaXRzIGZvcg0KPiA+ID4gPiArICAgICAgICAg ICAgICAgIHRoZSBzYW1lIFNlZ21lbnQuDQo+ID4gPiA+ICsgICAgICAgICAgICAgIC0gSWYgQ2xl YXIsIHRoaXMgcmVtYXBwaW5nIGhhcmR3YXJlIHVuaXQgaGFzIHVuZGVyIGl0cyBzY29wZSBvbmx5 DQo+ID4gPiA+ICsgICAgICAgICAgICAgICAgZGV2aWNlcyBpbiB0aGUgc3BlY2lmaWVkIFNlZ21l bnQgdGhhdCBhcmUgZXhwbGljaXRseSBpZGVudGlmaWVkDQo+ID4gPiA+ICsgICAgICAgICAgICAg ICAgdGhyb3VnaCB0aGUgRGV2aWNlU2NvcGUgZmllbGQuDQo+ID4gPiA+ICsgICAgLSBCaXRzWzc6 MV0gUmVzZXJ2ZWQuDQo+ID4gPiA+ICsgICoqLw0KPiA+ID4gPiArICBVSU5UOCAgICAgICAgICAg ICAgICAgICAgICAgICAgIEZsYWdzOw0KPiA+ID4gPiArICBVSU5UOCAgICAgICAgICAgICAgICAg ICAgICAgICAgIFJlc2VydmVkOw0KPiA+ID4gPiArICAvLy8NCj4gPiA+ID4gKyAgLy8vIFRoZSBQ Q0kgU2VnbWVudCBhc3NvY2lhdGVkIHdpdGggdGhpcyB1bml0Lg0KPiA+ID4gPiArICAvLy8NCj4g PiA+ID4gKyAgVUlOVDE2ICAgICAgICAgICAgICAgICAgICAgICAgICBTZWdtZW50TnVtYmVyOw0K PiA+ID4gPiArICAvLy8NCj4gPiA+ID4gKyAgLy8vIEJhc2UgYWRkcmVzcyBvZiByZW1hcHBpbmcg aGFyZHdhcmUgcmVnaXN0ZXItc2V0IGZvciB0aGlzIHVuaXQuDQo+ID4gPiA+ICsgIC8vLw0KPiA+ ID4gPiArICBVSU5UNjQgICAgICAgICAgICAgICAgICAgICAgICAgIFJlZ2lzdGVyQmFzZUFkZHJl c3M7DQo+ID4gPiA+ICt9IEVGSV9BQ1BJX0RNQVJfRFJIRF9IRUFERVI7DQo+ID4gPiA+ICsNCj4g PiA+ID4gKy8qKg0KPiA+ID4gPiArICBSZXNlcnZlZCBNZW1vcnkgUmVnaW9uIFJlcG9ydGluZyBT dHJ1Y3R1cmUgKFJNUlIpIGlzIGRlc2NyaWJlZA0KPiA+ID4gPiAraW4gc2VjdGlvbiA4LjQNCj4g PiA+ID4gKyAgUmVzZXJ2ZWQgbWVtb3J5IHJhbmdlcyB0aGF0IG1heSBiZSBETUEgdGFyZ2V0cyBt YXkgYmUgcmVwb3J0ZWQNCj4gPiA+ID4gK3Rocm91Z2ggdGhlDQo+ID4gPiA+ICsgIFJNUlIgc3Ry dWN0dXJlcywgYWxvbmcgd2l0aCB0aGUgZGV2aWNlcyB0aGF0IHJlcXVpcmVzIGFjY2VzcyB0bw0K PiA+ID4gPiArdGhlIHNwZWNpZmllZA0KPiA+ID4gPiArICByZXNlcnZlZCBtZW1vcnkgcmVnaW9u Lg0KPiA+ID4gPiArKiovDQo+ID4gPiA+ICt0eXBlZGVmIHN0cnVjdCB7DQo+ID4gPiA+ICsgIEVG SV9BQ1BJX0RNQVJfU1RSVUNUVVJFX0hFQURFUiAgSGVhZGVyOw0KPiA+ID4gPiArICBVSU5UOCAg ICAgICAgICAgICAgICAgICAgICAgICAgIFJlc2VydmVkWzJdOw0KPiA+ID4gPiArICAvLy8NCj4g PiA+ID4gKyAgLy8vIFBDSSBTZWdtZW50IE51bWJlciBhc3NvY2lhdGVkIHdpdGggZGV2aWNlcyBp ZGVudGlmaWVkDQo+ID4gPiA+ICt0aHJvdWdoDQo+ID4gPiA+ICsgIC8vLyB0aGUgRGV2aWNlIFNj b3BlIGZpZWxkLg0KPiA+ID4gPiArICAvLy8NCj4gPiA+ID4gKyAgVUlOVDE2ICAgICAgICAgICAg ICAgICAgICAgICAgICBTZWdtZW50TnVtYmVyOw0KPiA+ID4gPiArICAvLy8NCj4gPiA+ID4gKyAg Ly8vIEJhc2UgYWRkcmVzcyBvZiA0S0ItYWxpZ25lZCByZXNlcnZlZCBtZW1vcnkgcmVnaW9uDQo+ ID4gPiA+ICsgIC8vLw0KPiA+ID4gPiArICBVSU5UNjQgICAgICAgICAgICAgICAgICAgICAgICAg IFJlc2VydmVkTWVtb3J5UmVnaW9uQmFzZUFkZHJlc3M7DQo+ID4gPiA+ICsgIC8qKg0KPiA+ID4g PiArICAgIExhc3QgYWRkcmVzcyBvZiB0aGUgcmVzZXJ2ZWQgbWVtb3J5IHJlZ2lvbi4gVmFsdWUg aW4gdGhpcyBmaWVsZCBtdXN0IGJlDQo+ID4gPiA+ICsgICAgZ3JlYXRlciB0aGFuIHRoZSB2YWx1 ZSBpbiBSZXNlcnZlZCBNZW1vcnkgUmVnaW9uIEJhc2UgQWRkcmVzcyBmaWVsZC4NCj4gPiA+ID4g KyAgICBUaGUgcmVzZXJ2ZWQgbWVtb3J5IHJlZ2lvbiBzaXplIChMaW1pdCAtIEJhc2UgKyAxKSBt dXN0IGJlIGFuIGludGVnZXINCj4gPiA+ID4gKyAgICBtdWx0aXBsZSBvZiA0S0IuDQo+ID4gPiA+ ICsgICoqLw0KPiA+ID4gPiArICBVSU5UNjQgICAgICAgICAgICAgICAgICAgICAgICAgIFJlc2Vy dmVkTWVtb3J5UmVnaW9uTGltaXRBZGRyZXNzOw0KPiA+ID4gPiArfSBFRklfQUNQSV9ETUFSX1JN UlJfSEVBREVSOw0KPiA+ID4gPiArDQo+ID4gPiA+ICsvKioNCj4gPiA+ID4gKyAgUm9vdCBQb3J0 IEFUUyBDYXBhYmlsaXR5IFJlcG9ydGluZyAoQVRTUikgc3RydWN0dXJlIGlzIGRlZmluZWQNCj4g PiA+ID4gK2luIHNlY3Rpb24NCj4gPiA4LjUuDQo+ID4gPiA+ICsgIFRoaXMgc3RydWN0dXJlIGlz IGFwcGxpY2FibGUgb25seSBmb3IgcGxhdGZvcm1zIHN1cHBvcnRpbmcNCj4gPiA+ID4gK0Rldmlj ZS1UTEJzIGFzDQo+ID4gPiA+ICsgIHJlcG9ydGVkIHRocm91Z2ggdGhlIEV4dGVuZGVkIENhcGFi aWxpdHkgUmVnaXN0ZXIuIEZvciBlYWNoIFBDSQ0KPiA+ID4gPiArU2VnbWVudCBpbg0KPiA+ID4g PiArICB0aGUgcGxhdGZvcm0gdGhhdCBzdXBwb3J0cyBEZXZpY2UtVExCcywgQklPUyBwcm92aWRl cyBhbiBBVFNSDQo+ID4gPiA+ICtzdHJ1Y3R1cmUuIFRoZQ0KPiA+ID4gPiArICBBVFNSIHN0cnVj dHVyZXMgaWRlbnRpZmllcyBQQ0ktRXhwcmVzcyBSb290LVBvcnRzIHN1cHBvcnRpbmcNCj4gPiA+ ID4gK0FkZHJlc3MNCj4gPiA+ID4gKyAgVHJhbnNsYXRpb24gU2VydmljZXMgKEFUUykgdHJhbnNh Y3Rpb25zLiBTb2Z0d2FyZSBtdXN0IGVuYWJsZQ0KPiA+ID4gPiArQVRTIG9uIGVuZHBvaW50DQo+ ID4gPiA+ICsgIGRldmljZXMgYmVoaW5kIGEgUm9vdCBQb3J0IG9ubHkgaWYgdGhlIFJvb3QgUG9y dCBpcyByZXBvcnRlZCBhcw0KPiA+ID4gPiArc3VwcG9ydGluZw0KPiA+ID4gPiArICBBVFMgdHJh bnNhY3Rpb25zLg0KPiA+ID4gPiArKiovDQo+ID4gPiA+ICt0eXBlZGVmIHN0cnVjdCB7DQo+ID4g PiA+ICsgIEVGSV9BQ1BJX0RNQVJfU1RSVUNUVVJFX0hFQURFUiAgSGVhZGVyOw0KPiA+ID4gPiAr ICAvKioNCj4gPiA+ID4gKyAgICAtIEJpdFswXTogQUxMX1BPUlRTOg0KPiA+ID4gPiArICAgICAg ICAgICAgICAtIElmIFNldCwgaW5kaWNhdGVzIGFsbCBQQ0kgRXhwcmVzcyBSb290IFBvcnRzIGlu IHRoZSBzcGVjaWZpZWQNCj4gPiA+ID4gKyAgICAgICAgICAgICAgICBQQ0kgU2VnbWVudCBzdXBw b3J0cyBBVFMgdHJhbnNhY3Rpb25zLg0KPiA+ID4gPiArICAgICAgICAgICAgICAtIElmIENsZWFy LCBpbmRpY2F0ZXMgQVRTIHRyYW5zYWN0aW9ucyBhcmUgc3VwcG9ydGVkIG9ubHkgb24NCj4gPiA+ ID4gKyAgICAgICAgICAgICAgICBSb290IFBvcnRzIGlkZW50aWZpZWQgdGhyb3VnaCB0aGUgRGV2 aWNlIFNjb3BlIGZpZWxkLg0KPiA+ID4gPiArICAgIC0gQml0c1s3OjFdIFJlc2VydmVkLg0KPiA+ ID4gPiArICAqKi8NCj4gPiA+ID4gKyAgVUlOVDggICAgICAgICAgICAgICAgICAgICAgICAgICBG bGFnczsNCj4gPiA+ID4gKyAgVUlOVDggICAgICAgICAgICAgICAgICAgICAgICAgICBSZXNlcnZl ZDsNCj4gPiA+ID4gKyAgLy8vDQo+ID4gPiA+ICsgIC8vLyBUaGUgUENJIFNlZ21lbnQgYXNzb2Np YXRlZCB3aXRoIHRoaXMgQVRTUiBzdHJ1Y3R1cmUNCj4gPiA+ID4gKyAgLy8vDQo+ID4gPiA+ICsg IFVJTlQxNiAgICAgICAgICAgICAgICAgICAgICAgICAgU2VnbWVudE51bWJlcjsNCj4gPiA+ID4g K30gRUZJX0FDUElfRE1BUl9BVFNSX0hFQURFUjsNCj4gPiA+ID4gKw0KPiA+ID4gPiArLyoqDQo+ ID4gPiA+ICsgIFJlbWFwcGluZyBIYXJkd2FyZSBTdGF0aWMgQWZmaW5pdHkgKFJIU0EpIGlzIGFu IG9wdGlvbmFsDQo+ID4gPiA+ICtzdHJ1Y3R1cmUgZGVmaW5lZA0KPiA+ID4gPiArICBpbiBzZWN0 aW9uIDguNi4gVGhpcyBpcyBpbnRlbmRlZCB0byBiZSB1c2VkIG9ubHkgb24gTlVNQQ0KPiA+ID4g PiArcGxhdGZvcm1zIHdpdGgNCj4gPiA+ID4gKyAgUmVtYXBwaW5nIGhhcmR3YXJlIHVuaXRzIGFu ZCBtZW1vcnkgc3Bhbm5lZCBhY3Jvc3MgbXVsdGlwbGUgbm9kZXMuDQo+ID4gPiA+ICsgIFdoZW4g dXNlZCwgdGhlcmUgbXVzdCBiZSBhIFJIU0Egc3RydWN0dXJlIGZvciBlYWNoIFJlbWFwcGluZw0K PiA+ID4gPiAraGFyZHdhcmUgdW5pdA0KPiA+ID4gPiArICByZXBvcnRlZCB0aHJvdWdoIERSSEQg c3RydWN0dXJlLg0KPiA+ID4gPiArKiovDQo+ID4gPiA+ICt0eXBlZGVmIHN0cnVjdCB7DQo+ID4g PiA+ICsgIEVGSV9BQ1BJX0RNQVJfU1RSVUNUVVJFX0hFQURFUiAgSGVhZGVyOw0KPiA+ID4gPiAr ICBVSU5UOCAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlc2VydmVkWzRdOw0KPiA+ID4gPiAr ICAvLy8NCj4gPiA+ID4gKyAgLy8vIFJlZ2lzdGVyIEJhc2UgQWRkcmVzcyBvZiB0aGlzIFJlbWFw IGhhcmR3YXJlIHVuaXQgcmVwb3J0ZWQNCj4gPiA+ID4gK2luIHRoZQ0KPiA+ID4gPiArICAvLy8g Y29ycmVzcG9uZGluZyBEUkhEIHN0cnVjdHVyZS4NCj4gPiA+ID4gKyAgLy8vDQo+ID4gPiA+ICsg IFVJTlQ2NCAgICAgICAgICAgICAgICAgICAgICAgICAgUmVnaXN0ZXJCYXNlQWRkcmVzczsNCj4g PiA+ID4gKyAgLy8vDQo+ID4gPiA+ICsgIC8vLyBQcm94aW1pdHkgRG9tYWluIHRvIHdoaWNoIHRo ZSBSZW1hcCBoYXJkd2FyZSB1bml0DQo+ID4gPiA+ICtpZGVudGlmaWVkIGJ5IHRoZQ0KPiA+ID4g PiArICAvLy8gUmVnaXN0ZXIgQmFzZSBBZGRyZXNzIGZpZWxkIGJlbG9uZ3MuDQo+ID4gPiA+ICsg IC8vLw0KPiA+ID4gPiArICBVSU5UMzIgICAgICAgICAgICAgICAgICAgICAgICAgIFByb3hpbWl0 eURvbWFpbjsNCj4gPiA+ID4gK30gRUZJX0FDUElfRE1BUl9SSFNBX0hFQURFUjsNCj4gPiA+ID4g Kw0KPiA+ID4gPiArLyoqDQo+ID4gPiA+ICsgIEFuIEFDUEkgTmFtZS1zcGFjZSBEZXZpY2UgRGVj bGFyYXRpb24gKEFOREQpIHN0cnVjdHVyZSBpcw0KPiA+ID4gPiArZGVmaW5lZCBpbiBzZWN0aW9u DQo+ID4gPiA+ICsgIDguNyBhbmQgdW5pcXVlbHkgcmVwcmVzZW50cyBhbiBBQ1BJIG5hbWUtc3Bh Y2UgZW51bWVyYXRlZA0KPiA+ID4gPiArZGV2aWNlIGNhcGFibGUgb2YNCj4gPiA+ID4gKyAgaXNz dWluZyBETUEgcmVxdWVzdHMgaW4gdGhlIHBsYXRmb3JtLiBBTkREIHN0cnVjdHVyZXMgYXJlIHVz ZWQNCj4gPiA+ID4gK2luIGNvbmp1bmN0aW9uDQo+ID4gPiA+ICsgIHdpdGggRGV2aWNlLVNjb3Bl IGVudHJpZXMgb2YgdHlwZSBBQ1BJX05BTUVTUEFDRV9ERVZJQ0UuDQo+ID4gPiA+ICsqKi8NCj4g PiA+ID4gK3R5cGVkZWYgc3RydWN0IHsNCj4gPiA+ID4gKyAgRUZJX0FDUElfRE1BUl9TVFJVQ1RV UkVfSEVBREVSICBIZWFkZXI7DQo+ID4gPiA+ICsgIFVJTlQ4ICAgICAgICAgICAgICAgICAgICAg ICAgICAgUmVzZXJ2ZWRbM107DQo+ID4gPiA+ICsgIC8qKg0KPiA+ID4gPiArICAgIEVhY2ggQUNQ SSBkZXZpY2UgZW51bWVyYXRlZCB0aHJvdWdoIGFuIEFOREQgc3RydWN0dXJlIG11c3QNCj4gPiA+ ID4gK2hhdmUgYQ0KPiA+IHVuaXF1ZQ0KPiA+ID4gPiArICAgIHZhbHVlIGZvciB0aGlzIGZpZWxk LiBUbyByZXBvcnQgYW4gQUNQSSBkZXZpY2Ugd2l0aCBBQ1BJIERldmljZSBOdW1iZXINCj4gPiA+ ID4gKyAgICB2YWx1ZSBvZiBYLCB1bmRlciB0aGUgc2NvcGUgb2YgYSBEUkhEIHVuaXQsIGEgRGV2 aWNlLVNjb3BlIGVudHJ5IG9mDQo+IHR5cGUNCj4gPiA+ID4gKyAgICBBQ1BJX05BTUVTUEFDRV9E RVZJQ0UgaXMgdXNlZCB3aXRoIHZhbHVlIG9mIFggaW4gdGhlDQo+ID4gPiA+ICsgRW51bWVyYXRp b24gSUQNCj4gPiBmaWVsZC4NCj4gPiA+ID4gKyAgICBUaGUgU3RhcnQgQnVzIE51bWJlciBhbmQg UGF0aCBmaWVsZHMgaW4gdGhlIERldmljZS1TY29wZSB0b2dldGhlcg0KPiA+ID4gPiArICAgIHBy b3ZpZGVzIHRoZSAxNi1iaXQgc291cmNlLWlkIGFsbG9jYXRlZCBieSBwbGF0Zm9ybSBmb3IgdGhl IEFDUEkgZGV2aWNlLg0KPiA+ID4gPiArICAqKi8NCj4gPiA+ID4gKyAgVUlOVDggICAgICAgICAg ICAgICAgICAgICAgICAgICBBY3BpRGV2aWNlTnVtYmVyOw0KPiA+ID4gPiArfSBFRklfQUNQSV9E TUFSX0FORERfSEVBREVSOw0KPiA+ID4gPiArDQo+ID4gPiA+ICsvKioNCj4gPiA+ID4gKyAgRE1B IFJlbWFwcGluZyBSZXBvcnRpbmcgU3RydWN0dXJlIEhlYWRlciBhcyBkZWZpbmVkIGluIHNlY3Rp b24NCj4gPiA+ID4gKzguMQ0KPiA+ID4gPiArICBUaGlzIGhlYWRlciB3aWxsIGJlIGZvbGxvd2Vk IGJ5IGxpc3Qgb2YgUmVtYXBwaW5nIFN0cnVjdHVyZXMgbGlzdGVkIGJlbG93DQo+ID4gPiA+ICsg ICAgLSBETUEgUmVtYXBwaW5nIEhhcmR3YXJlIFVuaXQgRGVmaW5pdGlvbiAoRFJIRCkNCj4gPiA+ ID4gKyAgICAtIFJlc2VydmVkIE1lbW9yeSBSZWdpb24gUmVwb3J0aW5nIChSTVJSKQ0KPiA+ID4g PiArICAgIC0gUm9vdCBQb3J0IEFUUyBDYXBhYmlsaXR5IFJlcG9ydGluZyAoQVRTUikNCj4gPiA+ ID4gKyAgICAtIFJlbWFwcGluZyBIYXJkd2FyZSBTdGF0aWMgQWZmaW5pdHkgKFJIU0EpDQo+ID4g PiA+ICsgICAgLSBBQ1BJIE5hbWUtc3BhY2UgRGV2aWNlIERlY2xhcmF0aW9uIChBTkREKQ0KPiA+ ID4gPiArICBUaGVzZSBzdHJ1Y3R1cmUgdHlwZXMgbXVzdCBieSByZXBvcnRlZCBpbiBudW1lcmlj YWwgb3JkZXIuDQo+ID4gPiA+ICsgIGkuZS4sIEFsbCByZW1hcHBpbmcgc3RydWN0dXJlcyBvZiB0 eXBlIDAgKERSSEQpIGVudW1lcmF0ZWQNCj4gPiA+ID4gK2JlZm9yZSByZW1hcHBpbmcNCj4gPiA+ ID4gKyAgc3RydWN0dXJlcyBvZiB0eXBlIDEgKFJNUlIpLCBhbmQgc28gZm9ydGguDQo+ID4gPiA+ ICsqKi8NCj4gPiA+ID4gK3R5cGVkZWYgc3RydWN0IHsNCj4gPiA+ID4gKyAgRUZJX0FDUElfREVT Q1JJUFRJT05fSEVBREVSICAgICBIZWFkZXI7DQo+ID4gPiA+ICsgIC8qKg0KPiA+ID4gPiArICAg IFRoaXMgZmllbGQgaW5kaWNhdGVzIHRoZSBtYXhpbXVtIERNQSBwaHlzaWNhbCBhZGRyZXNzYWJp bGl0eQ0KPiA+ID4gPiArc3VwcG9ydGVkDQo+ID4gYnkNCj4gPiA+ID4gKyAgICB0aGlzIHBsYXRm b3JtLiBUaGUgc3lzdGVtIGFkZHJlc3MgbWFwIHJlcG9ydGVkIGJ5IHRoZSBCSU9TDQo+ID4gPiA+ ICsgaW5kaWNhdGVzDQo+ID4gd2hhdA0KPiA+ID4gPiArICAgIHBvcnRpb25zIG9mIHRoaXMgYWRk cmVzc2VzIGFyZSBwb3B1bGF0ZWQuIFRoZSBIb3N0IEFkZHJlc3MNCj4gPiA+ID4gKyBXaWR0aCAo SEFXKQ0KPiA+IG9mDQo+ID4gPiA+ICsgICAgdGhlIHBsYXRmb3JtIGlzIGNvbXB1dGVkIGFzIChO KzEpLCB3aGVyZSBOIGlzIHRoZSB2YWx1ZSByZXBvcnRlZCBpbiB0aGlzDQo+ID4gPiA+ICsgICAg ZmllbGQuDQo+ID4gPiA+ICsgICAgRm9yIGV4YW1wbGUsIGZvciBhIHBsYXRmb3JtIHN1cHBvcnRp bmcgNDAgYml0cyBvZiBwaHlzaWNhbA0KPiBhZGRyZXNzYWJpbGl0eSwNCj4gPiA+ID4gKyAgICB0 aGUgdmFsdWUgb2YgMTAwMTExYiBpcyByZXBvcnRlZCBpbiB0aGlzIGZpZWxkLg0KPiA+ID4gPiAr ICAqKi8NCj4gPiA+ID4gKyAgVUlOVDggICAgICAgICAgICAgICAgICAgICAgICAgICBIb3N0QWRk cmVzc1dpZHRoOw0KPiA+ID4gPiArICAvKioNCj4gPiA+ID4gKyAgICAtIEJpdFswXTogICBJTlRS X1JFTUFQIC0gSWYgQ2xlYXIsIHRoZSBwbGF0Zm9ybSBkb2VzIG5vdCBzdXBwb3J0DQo+IGludGVy cnVwdA0KPiA+ID4gPiArICAgICAgICAgICAgICAgIHJlbWFwcGluZy4gSWYgU2V0LCB0aGUgcGxh dGZvcm0gc3VwcG9ydHMgaW50ZXJydXB0IHJlbWFwcGluZy4NCj4gPiA+ID4gKyAgICAtIEJpdFsx XTogICBYMkFQSUNfT1BUX09VVCAtIEZvciBmaXJtd2FyZSBjb21wYXRpYmlsaXR5IHJlYXNvbnMs DQo+ID4gcGxhdGZvcm0NCj4gPiA+ID4gKyAgICAgICAgICAgICAgICBmaXJtd2FyZSBtYXkgU2V0 IHRoaXMgZmllbGQgdG8gcmVxdWVzdCBzeXN0ZW0gc29mdHdhcmUgdG8gb3B0DQo+ID4gPiA+ICsg ICAgICAgICAgICAgICAgb3V0IG9mIGVuYWJsaW5nIEV4dGVuZGVkIHhBUElDIChYMkFQSUMpIG1v ZGUuIFRoaXMgZmllbGQgaXMNCj4gPiA+ID4gKyAgICAgICAgICAgICAgICB2YWxpZCBvbmx5IHdo ZW4gdGhlIElOVFJfUkVNQVAgZmllbGQgKGJpdCAwKSBpcyBTZXQuDQo+ID4gPiA+ICsgICAgLSBC aXRzWzc6Ml0gUmVzZXJ2ZWQuDQo+ID4gPiA+ICsgICoqLw0KPiA+ID4gPiArICBVSU5UOCAgICAg ICAgICAgICAgICAgICAgICAgICAgIEZsYWdzOw0KPiA+ID4gPiArICBVSU5UOCAgICAgICAgICAg ICAgICAgICAgICAgICAgIFJlc2VydmVkWzEwXTsNCj4gPiA+ID4gK30gRUZJX0FDUElfRE1BUl9I RUFERVI7DQo+ID4gPiA+ICsNCj4gPiA+ID4gKyNwcmFnbWEgcGFjaygpDQo+ID4gPiA+ICsNCj4g PiA+ID4gKyNlbmRpZg0KPiA+ID4gPiAtLQ0KPiA+ID4gPiAyLjkuMC53aW5kb3dzLjENCj4gPiA+ ID4NCj4gPiA+ID4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18NCj4gPiA+ID4gZWRrMi1kZXZlbCBtYWlsaW5nIGxpc3QNCj4gPiA+ID4gZWRrMi1kZXZlbEBs aXN0cy4wMS5vcmcNCj4gPiA+ID4gaHR0cHM6Ly9saXN0cy4wMS5vcmcvbWFpbG1hbi9saXN0aW5m by9lZGsyLWRldmVsDQo+ID4gPiA+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fDQo+ID4gPiA+IGVkazItZGV2ZWwgbWFpbGluZyBsaXN0DQo+ID4gPiA+IGVk azItZGV2ZWxAbGlzdHMuMDEub3JnDQo+ID4gPiA+IGh0dHBzOi8vbGlzdHMuMDEub3JnL21haWxt YW4vbGlzdGluZm8vZWRrMi1kZXZlbA0KPiA+ID4gPg0KPiA+ID4NCj4gPiA+IF9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQo+ID4gPiBlZGsyLWRldmVsIG1h aWxpbmcgbGlzdA0KPiA+ID4gZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmcNCj4gPiA+IGh0dHBzOi8v bGlzdHMuMDEub3JnL21haWxtYW4vbGlzdGluZm8vZWRrMi1kZXZlbA0KPiBfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KPiBlZGsyLWRldmVsIG1haWxpbmcg bGlzdA0KPiBlZGsyLWRldmVsQGxpc3RzLjAxLm9yZw0KPiBodHRwczovL2xpc3RzLjAxLm9yZy9t YWlsbWFuL2xpc3RpbmZvL2VkazItZGV2ZWwNCg==