From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=192.55.52.43; helo=mga05.intel.com; envelope-from=jiewen.yao@intel.com; receiver=edk2-devel@lists.01.org Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) (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 CDA242034A87C for ; Thu, 26 Oct 2017 20:46:23 -0700 (PDT) Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by fmsmga105.fm.intel.com with ESMTP; 26 Oct 2017 20:50:10 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.44,303,1505804400"; d="scan'208";a="168233669" Received: from fmsmsx105.amr.corp.intel.com ([10.18.124.203]) by fmsmga006.fm.intel.com with ESMTP; 26 Oct 2017 20:50:10 -0700 Received: from fmsmsx115.amr.corp.intel.com (10.18.116.19) by FMSMSX105.amr.corp.intel.com (10.18.124.203) with Microsoft SMTP Server (TLS) id 14.3.319.2; Thu, 26 Oct 2017 20:50:09 -0700 Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by fmsmsx115.amr.corp.intel.com (10.18.116.19) with Microsoft SMTP Server (TLS) id 14.3.319.2; Thu, 26 Oct 2017 20:50:09 -0700 Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.175]) by SHSMSX151.ccr.corp.intel.com ([169.254.3.218]) with mapi id 14.03.0319.002; Fri, 27 Oct 2017 11:50:07 +0800 From: "Yao, Jiewen" To: "Ni, Ruiyu" , Laszlo Ersek , "Zeng, Star" , "edk2-devel@lists.01.org" CC: Ard Biesheuvel , "Kinney, Michael D" , "Yao, Jiewen" Thread-Topic: [edk2] [PATCH] IntelSiliconPkg/VTdDxe: Change EBS Event TPL to CALLBACK. Thread-Index: AQHTThcCxLYSYGW9y0GhkiqH8Xoq2aL1lmkw//+FSYCAAIfpEP//foKAgACO5jD//3tdgAACC26AAACcdoAAClfKAAARipCQ//+VBQD//tyGEIABx5eA//9r+QCAALEJgP//Zj5w Date: Fri, 27 Oct 2017 03:50:06 +0000 Message-ID: <74D8A39837DF1E4DA445A8C0B3885C503AA06B71@shsmsx102.ccr.corp.intel.com> References: <1508984017-11740-1-git-send-email-jiewen.yao@intel.com> <0C09AFA07DD0434D9E2A0C6AEB0483103B9AE2AB@shsmsx102.ccr.corp.intel.com> <74D8A39837DF1E4DA445A8C0B3885C503AA0491C@shsmsx102.ccr.corp.intel.com> <0C09AFA07DD0434D9E2A0C6AEB0483103B9AE3FE@shsmsx102.ccr.corp.intel.com> <74D8A39837DF1E4DA445A8C0B3885C503AA04CE4@shsmsx102.ccr.corp.intel.com> <0C09AFA07DD0434D9E2A0C6AEB0483103B9AE45B@shsmsx102.ccr.corp.intel.com> <74D8A39837DF1E4DA445A8C0B3885C503AA04F32@shsmsx102.ccr.corp.intel.com> <0C09AFA07DD0434D9E2A0C6AEB0483103B9AE4D0@shsmsx102.ccr.corp.intel.com> <0C09AFA07DD0434D9E2A0C6AEB0483103B9AE57E@shsmsx102.ccr.corp.intel.com> <657e3efc-c5f3-df60-4263-07f076f07a1c@redhat.com> <74D8A39837DF1E4DA445A8C0B3885C503AA06060@shsmsx102.ccr.corp.intel.com> <74D8A39837DF1E4DA445A8C0B3885C503AA068EA@shsmsx102.ccr.corp.intel.com> <734D49CCEBEEF84792F5B80ED585239D5BAA8A38@SHSMSX104.ccr.corp.intel.com> <74D8A39837DF1E4DA445A8C0B3885C503AA06A52@shsmsx102.ccr.corp.intel.com> <734D49CCEBEEF84792F5B80ED585239D5BAA8E91@SHSMSX104.ccr.corp.intel.com> In-Reply-To: <734D49CCEBEEF84792F5B80ED585239D5BAA8E91@SHSMSX104.ccr.corp.intel.com> Accept-Language: zh-CN, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiMTI3YjVhNjgtYTM5ZS00MjBiLTg3ODItYmQxOTM5MzM5NTRkIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX0lDIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjIuNS4xOCIsIlRydXN0ZWRMYWJlbEhhc2giOiJobVJQZ25WZ2hDZThNdXFLZEY1bjMzMXd3QzBSM1JZb0FMQUJXbllTakV4c0dZTElIWWJLaW5ESzZUc0NsczVlIn0= x-ctpclassification: CTP_IC dlp-product: dlpe-windows dlp-version: 11.0.0.116 dlp-reaction: no-action x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Subject: Re: [PATCH] IntelSiliconPkg/VTdDxe: Change EBS Event TPL to CALLBACK. 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, 27 Oct 2017 03:46:24 -0000 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SSB0aGluayBpdCBkb2VzIGV4aXN0Lg0KSWYgSSB1c2UgSU9NTVUgdG8gcHJldmVudCBhbGwgRE1B IHRyYW5zYWN0aW9uLCBJIGhhdmUgc2VlbiBYSENJIGRyaXZlciBhbmQgQUhDSSBkcml2ZXIgcmVw b3J0aW5nIGVycm9yLg0KDQpUaGFuayB5b3UNCllhbyBKaWV3ZW4NCg0KPiAtLS0tLU9yaWdpbmFs IE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBOaSwgUnVpeXUNCj4gU2VudDogRnJpZGF5LCBPY3RvYmVy IDI3LCAyMDE3IDEwOjM4IEFNDQo+IFRvOiBZYW8sIEppZXdlbiA8amlld2VuLnlhb0BpbnRlbC5j b20+OyBMYXN6bG8gRXJzZWsgPGxlcnNla0ByZWRoYXQuY29tPjsNCj4gWmVuZywgU3RhciA8c3Rh ci56ZW5nQGludGVsLmNvbT47IGVkazItZGV2ZWxAbGlzdHMuMDEub3JnDQo+IENjOiBBcmQgQmll c2hldXZlbCA8YXJkLmJpZXNoZXV2ZWxAbGluYXJvLm9yZz47IEtpbm5leSwgTWljaGFlbCBEDQo+ IDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT4NCj4gU3ViamVjdDogUkU6IFtlZGsyXSBbUEFU Q0hdIEludGVsU2lsaWNvblBrZy9WVGREeGU6IENoYW5nZSBFQlMgRXZlbnQgVFBMIHRvDQo+IENB TExCQUNLLg0KPiANCj4gSSBhbHNvIGRvdWJ0IHN1Y2ggZGV2aWNlIGRyaXZlciBleGlzdHMuDQo+ IA0KPiBUaGFua3MvUmF5DQo+IA0KPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4g RnJvbTogWWFvLCBKaWV3ZW4NCj4gPiBTZW50OiBGcmlkYXksIE9jdG9iZXIgMjcsIDIwMTcgOTo0 NyBBTQ0KPiA+IFRvOiBOaSwgUnVpeXUgPHJ1aXl1Lm5pQGludGVsLmNvbT47IExhc3psbyBFcnNl ayA8bGVyc2VrQHJlZGhhdC5jb20+OyBaZW5nLA0KPiA+IFN0YXIgPHN0YXIuemVuZ0BpbnRlbC5j b20+OyBlZGsyLWRldmVsQGxpc3RzLjAxLm9yZw0KPiA+IENjOiBBcmQgQmllc2hldXZlbCA8YXJk LmJpZXNoZXV2ZWxAbGluYXJvLm9yZz47IEtpbm5leSwgTWljaGFlbCBEDQo+ID4gPG1pY2hhZWwu ZC5raW5uZXlAaW50ZWwuY29tPg0KPiA+IFN1YmplY3Q6IFJFOiBbZWRrMl0gW1BBVENIXSBJbnRl bFNpbGljb25Qa2cvVlRkRHhlOiBDaGFuZ2UgRUJTIEV2ZW50IFRQTCB0bw0KPiA+IENBTExCQUNL Lg0KPiA+DQo+ID4gSSB0aGluayB0aGUgZXJyb3IgbWlnaHQgYmUgUENJIGRldmljZSBzcGVjaWZp Yy4NCj4gPg0KPiA+IEJUVzogV2UgYWxyZWFkeSBoYXZlIGJ1Z3ppbGxhciBvbiB0aGF0DQo+ID4g aHR0cHM6Ly9idWd6aWxsYS50aWFub2NvcmUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzkNCj4gPg0K PiA+IEl0IGhhcyBiZWVuIHZhbGlkYXRlZCBieSBNaWNyb3NvZnQuIFdlIGNhbiB2YWxpZGF0ZSBt b3JlIGRldmljZSBjYXJkcyB0byBzZWUNCj4gPiBpZiB0aGVyZSBpcyBhbnkgaXNzdWUuDQo+ID4N Cj4gPiBUaGFuayB5b3UNCj4gPiBZYW8gSmlld2VuDQo+ID4NCj4gPiA+IC0tLS0tT3JpZ2luYWwg TWVzc2FnZS0tLS0tDQo+ID4gPiBGcm9tOiBOaSwgUnVpeXUNCj4gPiA+IFNlbnQ6IEZyaWRheSwg T2N0b2JlciAyNywgMjAxNyA4OjU0IEFNDQo+ID4gPiBUbzogWWFvLCBKaWV3ZW4gPGppZXdlbi55 YW9AaW50ZWwuY29tPjsgTGFzemxvIEVyc2VrDQo+ID4gPiA8bGVyc2VrQHJlZGhhdC5jb20+OyBa ZW5nLCBTdGFyIDxzdGFyLnplbmdAaW50ZWwuY29tPjsNCj4gPiA+IGVkazItZGV2ZWxAbGlzdHMu MDEub3JnDQo+ID4gPiBDYzogQXJkIEJpZXNoZXV2ZWwgPGFyZC5iaWVzaGV1dmVsQGxpbmFyby5v cmc+OyBLaW5uZXksIE1pY2hhZWwgRA0KPiA+ID4gPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29t Pg0KPiA+ID4gU3ViamVjdDogUkU6IFtlZGsyXSBbUEFUQ0hdIEludGVsU2lsaWNvblBrZy9WVGRE eGU6IENoYW5nZSBFQlMgRXZlbnQNCj4gPiA+IFRQTCB0byBDQUxMQkFDSy4NCj4gPiA+DQo+ID4g PiBKaWV3ZW4sDQo+ID4gPiBJZiB0aGUgQk1FIGJpdCBpcyBjbGVhcmVkIGluIENvbW1hbmQgcmVn aXN0ZXIsIGJ1dCBhIGRldmljZSBkcml2ZXINCj4gPiA+IHVzZXMgRE1BIHRvIHRyYW5zZmVyIGRh dGEsIHdoYXQga2luZCBvZiBlcnJvciB3aWxsIGJlIHNlZW4gYnkgU1c/DQo+ID4gPg0KPiA+ID4g LS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiA+IEZyb206IFlhbywgSmlld2VuDQo+ID4g PiBTZW50OiBGcmlkYXksIE9jdG9iZXIgMjcsIDIwMTcgODozNCBBTQ0KPiA+ID4gVG86IExhc3ps byBFcnNlayA8bGVyc2VrQHJlZGhhdC5jb20+OyBaZW5nLCBTdGFyDQo+ID4gPiA8c3Rhci56ZW5n QGludGVsLmNvbT47IGVkazItZGV2ZWxAbGlzdHMuMDEub3JnDQo+ID4gPiBDYzogTmksIFJ1aXl1 IDxydWl5dS5uaUBpbnRlbC5jb20+OyBBcmQgQmllc2hldXZlbA0KPiA+ID4gPGFyZC5iaWVzaGV1 dmVsQGxpbmFyby5vcmc+OyBLaW5uZXksIE1pY2hhZWwgRA0KPiA+ID4gPG1pY2hhZWwuZC5raW5u ZXlAaW50ZWwuY29tPg0KPiA+ID4gU3ViamVjdDogUkU6IFtlZGsyXSBbUEFUQ0hdIEludGVsU2ls aWNvblBrZy9WVGREeGU6IENoYW5nZSBFQlMgRXZlbnQNCj4gPiA+IFRQTCB0byBDQUxMQkFDSy4N Cj4gPiA+DQo+ID4gPiBHb29kIEluZm8uIEkgdGhpbmsgYSBjb3JyZWN0IGltcGxlbWVudGF0aW9u IHNob3VsZCBub3QgdXNlIGJ1c3kgd2FpdC4NCj4gPiA+DQo+ID4gPiBJdCBzaG91bGQgYWRkIGVy cm9yIGhhbmRsaW5nIHRvIGNoZWNrIGlmIHRoZXJlIGlzIGhhcmR3YXJlIGVycm9yIGR1cmluZyB0 aGF0Lg0KPiA+ID4NCj4gPiA+ID4gLSBidXN5IHdhaXQgKHBvbGwpIHVuaWwgdGhlIHRyYW5zZmVy IGlzIGNvbXBsZXRlLA0KPiA+ID4NCj4gPiA+IFRoZSBwcm9jZXNzIG9mIGJ1c3kgd2FpdCBzaG91 bGQgYmUgc29tZXRoaW5nIGxpa2UgYmVsb3c6DQo+ID4gPiAgIHdoaWxlKFRSVUUpIHsNCj4gPiA+ ICAgICBpZiAoZXJyb3IpIHsNCj4gPiA+ICAgICAgIGJyZWFrOw0KPiA+ID4gICAgIH0NCj4gPiA+ ICAgICBHZXREYXRhDQo+ID4gPiAgICAgaWYgKGNvbXBsZXRlKSB7DQo+ID4gPiAgICAgICBCcmVh aw0KPiA+ID4gICAgIH0NCj4gPiA+ICAgfQ0KPiA+ID4NCj4gPiA+IEJNRSBjbGVhciB3aWxsIHRy aWdnZXIgZXJyb3IgYnJlYWsuDQo+ID4gPg0KPiA+ID4gVGhhbmsgeW91DQo+ID4gPiBZYW8gSmll d2VuDQo+ID4gPg0KPiA+ID4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ID4gPiBG cm9tOiBMYXN6bG8gRXJzZWsgW21haWx0bzpsZXJzZWtAcmVkaGF0LmNvbV0NCj4gPiA+ID4gU2Vu dDogVGh1cnNkYXksIE9jdG9iZXIgMjYsIDIwMTcgMTE6MDcgUE0NCj4gPiA+ID4gVG86IFlhbywg Smlld2VuIDxqaWV3ZW4ueWFvQGludGVsLmNvbT47IFplbmcsIFN0YXINCj4gPiA+ID4gPHN0YXIu emVuZ0BpbnRlbC5jb20+OyBlZGsyLWRldmVsQGxpc3RzLjAxLm9yZw0KPiA+ID4gPiBDYzogTmks IFJ1aXl1IDxydWl5dS5uaUBpbnRlbC5jb20+OyBBcmQgQmllc2hldXZlbA0KPiA+ID4gPiA8YXJk LmJpZXNoZXV2ZWxAbGluYXJvLm9yZz47IEtpbm5leSwgTWljaGFlbCBEDQo+ID4gPiA+IDxtaWNo YWVsLmQua2lubmV5QGludGVsLmNvbT4NCj4gPiA+ID4gU3ViamVjdDogUmU6IFtlZGsyXSBbUEFU Q0hdIEludGVsU2lsaWNvblBrZy9WVGREeGU6IENoYW5nZSBFQlMgRXZlbnQNCj4gPiA+ID4gVFBM IHRvIENBTExCQUNLLg0KPiA+ID4gPg0KPiA+ID4gPiBPbiAxMC8yNi8xNyAxNTozNiwgWWFvLCBK aWV3ZW4gd3JvdGU6DQo+ID4gPiA+ID4gSGkgTGFzemxvDQo+ID4gPiA+ID4gSSBoYXZlIGRpc2N1 c3NlZCB0aGlzIHdpdGggTWlrZSBLaW5uZXkgb2ZmbGluZSBhbmQgc29tZSBNaWNyb3NvZnQNCj4g PiBlbmdpbmVlcnMuDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBXZSBiZWxpZXZlIHRoZSBpbXBhY3Qg b2YgQk1FIGRpc2FibGUgaXMgZGlmZmVyZW50IHdpdGggdGhlIGltcGFjdCBvZg0KPiA+IFNFVi4N Cj4gPiA+ID4gPg0KPiA+ID4gPiA+IEZvciBTRVYsIGlmIGEgRE1BIGJ1ZmZlciBpcyBpbiB0cmFu c2l0aW9uIHdoZW4gU0VWIGJpdCBjaGFuZ2UsIHRoZQ0KPiA+ID4gPiA+IERNQSB3aWxsIHN0aWxs DQo+ID4gPiA+IGJlIGFjdGl2ZSwgYnV0IHRoZSBjb250ZW50IGlzIGRpZmZlcmVudC4gSXQgd2ls bCBicmluZyB3cm9uZyBkYXRhDQo+ID4gPiA+IGZyb20gZGV2aWNlIHBlcnNwZWN0aXZlLg0KPiA+ ID4gPiA+DQo+ID4gPiA+ID4gRm9yIEJNRSwgaWYgYSBETUEgYnVmZmVyIGlzIGluIHRyYW5zaXRp b24gd2hlbiBCTUUgaXMgY2xlYXIsIHRoZQ0KPiA+ID4gPiA+IERNQSB3aWxsIGJlDQo+ID4gPiA+ IHN0b3BwZWQgaW1tZWRpYXRlbHkuIFRoZSBkZXZpY2Ugb25seSBzZWVzIHRoZSBETUEgdHJhbnNp dGlvbiBpcyBhYm9ydC4NCj4gPiA+ID4gQnV0IHRoZXJlIGlzIG5vIHdyb25nIGRhdGEgdHJhbnNt aXR0ZWQuDQo+ID4gPiA+DQo+ID4gPiA+IEkgYWdyZWUgd2l0aCB0aGUgYWJvdmUgYW5hbHlzaXMu DQo+ID4gPiA+DQo+ID4gPiA+ID4gQmVjYXVzZSBvZiBhYm92ZSByZWFzb24sIHdlIHRoaW5rIGl0 IGlzIE9LIHRvIGxldCBQQ0kgYnVzIGRyaXZlcg0KPiA+ID4gPiA+IHRvIGNsZWFyIEJNRSBiaXQN Cj4gPiA+ID4gZXZlbiB0aGVyZSBpcyBhY3RpdmUgRE1BIHRyYW5zYWN0aW9uLg0KPiA+ID4gPg0K PiA+ID4gPiBUaGUgcmVhc29uIHdoeSBJIGJlbGlldmUgdGhhdCB0aGUgUGNpQnVzRHhlIGRyaXZl ciBzaG91bGQgbm90IGNsZWFyDQo+ID4gPiA+IHRoZSBCTUUgYml0IGlzIGRpZmZlcmVudC4gSXQg aXMgdW5yZWxhdGVkIHRvIFNFVi4NCj4gPiA+ID4NCj4gPiA+ID4gSW1hZ2luZSBhIFBDSSBkZXZp Y2UgdGhhdCByZXF1aXJlcyBhIHNwZWNpYWwgRE1BIHRyYW5zZmVyIGJlZm9yZSBpdA0KPiA+ID4g PiBjYW4gYmUgcXVpZXNjZWQgYXQgRXhpdEJvb3RTZXJ2aWNlcygpLiBUaGUgdmVuZG9yIG9mIHRo aXMgZGV2aWNlDQo+ID4gPiA+IHdpbGwgaW1wbGVtZW50IGFuIEVCUyBub3RpZmljYXRpb24gZnVu Y3Rpb24gbGlrZSB0aGlzOg0KPiA+ID4gPg0KPiA+ID4gPiAtIGNoZWNrIHRoZSBwcml2YXRlIGRh dGEgc3RydWN0dXJlIHRvIHNlZSBpZiB0aGUgZGV2aWNlIG5lZWRzIHRoZQ0KPiA+ID4gPiBzcGVj aWFsIERNQSB0cmFuc2Zlcg0KPiA+ID4gPg0KPiA+ID4gPiAtIGluaXRpYXRlIHRoZSBzcGVjaWFs IERNQSB0cmFuc2ZlciAtLSB3cml0ZSBzb21lIGRhdGEgdG8gYSBwcmVhbGxvY2F0ZWQNCj4gPiA+ ID4gICBhbmQgcHJlLXByb2dyYW1tZWQgbWVtb3J5IGJ1ZmZlciwgYW5kIHRoZW4gcHVzaCB0aGUg ZG9vcmJlbGwgaW4NCj4gPiBNTUlPDQo+ID4gPiA+ICAgb3IgY29uZmlnIHNwYWNlLA0KPiA+ID4g Pg0KPiA+ID4gPiAtIGJ1c3kgd2FpdCAocG9sbCkgdW5pbCB0aGUgdHJhbnNmZXIgaXMgY29tcGxl dGUsDQo+ID4gPiA+DQo+ID4gPiA+IC0gY2xlYXIgQk1FIChhcyByZXF1aXJlZCBieSB0aGUgRFdH IC8gc3BlYykNCj4gPiA+ID4NCj4gPiA+ID4gLSBkb25lDQo+ID4gPiA+DQo+ID4gPiA+IE5vdywg aWYgUGNpQnVzRHhlIGludHJvZHVjZXMgaXRzIG93biBFQlMgbm90aWZpY2F0aW9uIGZ1bmN0aW9u LA0KPiA+ID4gPiB3aGljaCBpdGVyYXRlcyBvdmVyIGFsbCB0aGUgUGNpSW8gaW5zdGFuY2VzLCBh bmQgY2xlYXJzIHRoZSBCTUUgYml0DQo+ID4gPiA+IGluIGVhY2ggY29tbWFuZCByZWdpc3Rlciwg dGhlbiB0aGlzIG5vdGlmaWNhdGlvbiBmdW5jdGlvbiBtYXksIG9yDQo+ID4gPiA+IG1heSBub3Qs IGJlIHF1ZXVlZCBiZWZvcmUgdGhlIG90aGVyIG9uZSB0aGF0IEkgZGVzY3JpYmVkIGFib3ZlLg0K PiA+ID4gPg0KPiA+ID4gPiBJZiB0aGUgUGNpQnVzRHhlIGZ1bmN0aW9uIGlzIHF1ZXVlZCAiYWZ0 ZXIiLCB0aGVuIGV2ZXJ5dGhpbmcgaXMgZmluZS4NCj4gPiA+ID4gSWYgaXQgaXMgcXVldWVkICJi ZWZvcmUiLCB0aGVuIHRoZSBkcml2ZXIncyBvd24gbm90aWZpY2F0aW9uDQo+ID4gPiA+IGZ1bmN0 aW9uIHdpbGwgYnJlYWsuIChJdCBtYXkgZXZlbiBoYW5nLCBpZiB0aGUgYnVzeSB3YWl0IG5ldmVy DQo+ID4gPiA+IGNvbXBsZXRlcy4pDQo+ID4gPiA+DQo+ID4gPiA+DQo+ID4gPiA+IFVFRkkgZHJp dmVycyBmb3IgUENJIGRldmljZXMgYXJlIGN1cnJlbnRseSBub3QgZm9yYmlkZGVuIGZyb20gZG9p bmcNCj4gPiA+ID4gYSBxdWljayBDb21tb25CdWZmZXIgRE1BIHRyYW5zZmVyIGluIHRoZWlyIEVC UyBjYWxsYmFja3MgKGFzIGxvbmcgYXMNCj4gPiA+ID4gdGhleSBkb24ndCBhbGxvY2F0ZSBvciBy ZWxlYXNlIG1lbW9yeSAtLSBidXQgdGhlIG1lbW9yeSBidWZmZXIgYW5kDQo+ID4gPiA+IHRoZSBj b3JyZXNwb25kaW5nIENvbW1vbkJ1ZmZlciBtYXBwaW5nIGFyZSBub3QgaGFyZCB0byBzZXQgdXAg aW4NCj4gPiA+ID4gYWR2YW5jZSwgZm9yIGV4YW1wbGUgaW4gRHJpdmVyQmluZGluZ1N0YXJ0KCkp Lg0KPiA+ID4gPg0KPiA+ID4gPiBUaGlzIG1lYW5zIHRoYXQgYW55IGF1dG9tYXRlZCBJT01NVSBk ZWFjdGl2YXRpb24sIGFuZC9vciBCTUUNCj4gPiA+ID4gY2xlYXJpbmcgaW4gUGNpQnVzRHhlLCBz aG91bGQgb2NjdXIgb25seSBhZnRlciB0aGUgaW5kaXZpZHVhbCBkcml2ZXINCj4gPiA+ID4gY2Fs bGJhY2tzIGhhdmUgcmV0dXJuZWQuIElmIFBjaUJ1c0R4ZSBjYW4gZ3VhcmFudGVlIHRoaXMsIHRo ZW4gSQ0KPiA+ID4gPiBoYXZlIG5vIG9iamVjdGlvbnMgOikNCj4gPiA+ID4NCj4gPiA+ID4gVGhh bmtzIQ0KPiA+ID4gPiBMYXN6bG8NCj4gPiA+ID4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+IFRoYW5r IHlvdQ0KPiA+ID4gPiA+IFlhbyBKaWV3ZW4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+DQo+ID4gPiA+ ID4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gPiA+ID4+IEZyb206IExhc3psbyBF cnNlayBbbWFpbHRvOmxlcnNla0ByZWRoYXQuY29tXQ0KPiA+ID4gPiA+PiBTZW50OiBUaHVyc2Rh eSwgT2N0b2JlciAyNiwgMjAxNyA5OjA3IFBNDQo+ID4gPiA+ID4+IFRvOiBaZW5nLCBTdGFyIDxz dGFyLnplbmdAaW50ZWwuY29tPjsgWWFvLCBKaWV3ZW4NCj4gPiA+ID4gPj4gPGppZXdlbi55YW9A aW50ZWwuY29tPjsgZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmcNCj4gPiA+ID4gPj4gQ2M6IE5pLCBS dWl5dSA8cnVpeXUubmlAaW50ZWwuY29tPjsgQXJkIEJpZXNoZXV2ZWwNCj4gPiA+ID4gPGFyZC5i aWVzaGV1dmVsQGxpbmFyby5vcmc+DQo+ID4gPiA+ID4+IFN1YmplY3Q6IFJlOiBbZWRrMl0gW1BB VENIXSBJbnRlbFNpbGljb25Qa2cvVlRkRHhlOiBDaGFuZ2UgRUJTDQo+ID4gPiA+ID4+IEV2ZW50 IFRQTCB0byBDQUxMQkFDSy4NCj4gPiA+ID4gPj4NCj4gPiA+ID4gPj4gT24gMTAvMjYvMTcgMTA6 MTAsIFplbmcsIFN0YXIgd3JvdGU6DQo+ID4gPiA+ID4+PiBJcyBpdCBzZWN1cml0eSByZWFzb24g d2hlbiBJT01NVSBkaXNhYmxlZCBhbmQgQnVzIE1hc3RlciBub3QNCj4gPiBkaXNhYmxlZD8NCj4g PiA+ID4gPj4NCj4gPiA+ID4gPj4gTm8sIEkgZG9uJ3QgdGhpbmsgdGhlcmUgaXMgYSBzZWN1cml0 eSBpc3N1ZSBoZXJlLg0KPiA+ID4gPiA+Pg0KPiA+ID4gPiA+PiBCdXQsIG15IHByZXZpb3VzIGFz c2Vzc21lbnQgYWJvdXQgVlRkRHhlIHdhcyBpbmRlZWQgd3JvbmcgLS0NCj4gPiA+ID4gPj4gdGhl cmUgbWF5IGJlIGEgKmNvcnJlY3RuZXNzKiBpc3N1ZS4NCj4gPiA+ID4gPj4NCj4gPiA+ID4gPj4g TmFtZWx5LCBpZiB0aGUgSU9NTVUgaXMgZGUtYWN0aXZhdGVkIGJ5IFZUZER4ZSBiZWZvcmUgUENJ IGRyaXZlcnMNCj4gPiA+ID4gPj4gYWJvcnQgcGVuZGluZyBETUEsIHRoZW4gbGl2ZSBzeXN0ZW0g UkFNIHJlZmVyZW5jZXMgaW4gdGhlIGRldmljZXMNCj4gPiA+ID4gPj4gbWF5IGJlY29tZSBib2d1 cy4gVGhpcyBpcyBub3QgYSBzZWN1cml0eSBpc3N1ZSAoYmVjYXVzZQ0KPiA+ID4gPiA+PiBkZS1h Y3RpdmF0aW5nIHRoZSBJT01NVSB3aWxsIGdyYW50IHRoZSBkZXZpY2VzIGFjY2VzcyB0byBhbGwg b2YNCj4gPiA+ID4gPj4gdGhlIHN5c3RlbSBSQU0gYW55d2F5KSwgaW5zdGVhZCBpdCdzIGEgY29y cmVjdG5lc3MgcHJvYmxlbTogRE1BDQo+ID4gPiA+ID4+IHJlYWQvd3JpdGUgbWF5IG5vdyBiZSBk aXJlY3RlZCB0byB0aGUgd3Jvbmcgc3BvdHMgaW4gUkFNIChpZiB0aGUNCj4gPiA+ID4gPj4gSU9N TVUNCj4gPiA+IG1hcHBpbmdzIHdlcmUgbm90IDE6MSBwcmV2aW91c2x5KS4NCj4gPiA+ID4gPj4N Cj4gPiA+ID4gPj4gU28sIEkgYWdyZWUgdGhhdCBQQ0kgZHJpdmVycyBzaG91bGQgZ2V0IGEgY2hh bmNlIHRvIGFib3J0IHBlbmRpbmcNCj4gPiA+ID4gPj4gRE1BIGZpcnN0LCBiZWZvcmUgdGhlIElP TU1VIGRyaXZlciByZW1vdmVzIHRoZSBtYXBwaW5ncy4NCj4gPiA+ID4gPj4NCj4gPiA+ID4gPj4+ IENvdWxkIG91ciBjb2RlIGhhdmUgYSBjZW50cmFsIHBsYWNlIHRvIGRpc2FibGUgQnVzIE1hc3Rl cj8gRm9yDQo+ID4gPiA+ID4+PiBleGFtcGxlDQo+ID4gPiA+ID4+IFBjaUJ1c0R4ZT8NCj4gPiA+ ID4gPj4NCj4gPiA+ID4gPj4gTm8sIEkgZG9uJ3QgdGhpbmsgUGNpQnVzRHhlIGlzIGEgZ29vZCBp ZGVhLiBIaWdoZXItbGV2ZWwgUENJDQo+ID4gPiA+ID4+IGRyaXZlcnMgbWlnaHQgd2FudCB0byBk byBvbmUtc2hvdCBidXMgbWFzdGVyIERNQSBvcGVyYXRpb25zIGluDQo+ID4gPiA+ID4+IHRoZWly IG93biBFQlMgY2FsbGJhY2tzLiBJZiBQY2lCdXNEeGUncyBjYWxsYmFjayByYW4gZmlyc3QsIHRo ZW4NCj4gPiA+ID4gPj4gdGhlc2UgaGlnaGVyLWxldmVsIGRyaXZlcnMgd291bGQgYnJlYWsuDQo+ ID4gPiA+ID4+DQo+ID4gPiA+ID4+IEZvciB0aGUgU0VWIElPTU1VIGRyaXZlciwgd2Ugc29sdmVk IHRoZSBwcm9ibGVtIGluIGNvbW1pdA0KPiA+ID4gPiA+PiA3YWVlMzkxZmEzZDANCj4gPiA+ID4g Pj4gKCJPdm1mUGtnL0lvTW11RHhlOiB1bm1hcCBhbGwgSU9NTVUgbWFwcGluZ3MgYXQNCj4gPiA+ ID4gPj4gRXhpdEJvb3RTZXJ2aWNlcygpIiwgMjAxNy0wOS0wNykuIEkgdGhpbmsgdGhlIHNhbWUg Y291bGQgYmUNCj4gPiA+ID4gPj4gYXBwbGllZCB0bw0KPiA+ID4gVlRkRHhlLg0KPiA+ID4gPiA+ Pg0KPiA+ID4gPiA+Pg0KPiA+ID4gPiA+PiBBbm90aGVyIGlkZWEgKHN1Z2dlc3RlZCAvIHN1cHBv cnRlZCBieSBBcmQpIHdhcyB0byBtb2RpZnkgdGhlDQo+ID4gPiA+ID4+IGVkazINCj4gPiA+ID4g Pj4gRXhpdEJvb3RTZXJ2aWNlcygpIGltcGxlbWVudGF0aW9uLiBJbiBDb3JlRXhpdEJvb3RTZXJ2 aWNlcygpDQo+ID4gPiA+ID4+IFtNZGVNb2R1bGVQa2cvQ29yZS9EeGUvRHhlTWFpbi9EeGVNYWlu LmNdLCB3ZSBjb3VsZCBzaWduYWwgYQ0KPiA+ID4gPiA+PiBzcGVjaWFsDQo+ID4gPiA+ID4+IGVk azIgSU9NTVUgZXZlbnQgZ3JvdXAsIHJpZ2h0IGFmdGVyIHNpZ25hbGluZw0KPiA+ID4gPiA+PiAi Z0VmaUV2ZW50RXhpdEJvb3RTZXJ2aWNlc0d1aWQiOg0KPiA+ID4gPiA+Pg0KPiA+ID4gPiA+PiAg IC8vDQo+ID4gPiA+ID4+ICAgLy8gTm90aWZ5IG90aGVyIGRyaXZlcnMgdGhhdCB3ZSBhcmUgZXhp dGluZyBib290IHNlcnZpY2VzLg0KPiA+ID4gPiA+PiAgIC8vDQo+ID4gPiA+ID4+ICAgQ29yZU5v dGlmeVNpZ25hbExpc3QgKCZnRWZpRXZlbnRFeGl0Qm9vdFNlcnZpY2VzR3VpZCk7DQo+ID4gPiA+ ID4+DQo+ID4gPiA+ID4+ICAgW0hFUkVdDQo+ID4gPiA+ID4+DQo+ID4gPiA+ID4+ICAgLy8NCj4g PiA+ID4gPj4gICAvLyBSZXBvcnQgdGhhdCBFeGl0Qm9vdFNlcnZpY2VzKCkgaGFzIGJlZW4gY2Fs bGVkDQo+ID4gPiA+ID4+ICAgLy8NCj4gPiA+ID4gPj4gICBSRVBPUlRfU1RBVFVTX0NPREUgKA0K PiA+ID4gPiA+PiAgICAgRUZJX1BST0dSRVNTX0NPREUsDQo+ID4gPiA+ID4+ICAgICAoRUZJX1NP RlRXQVJFX0VGSV9CT09UX1NFUlZJQ0UgfA0KPiA+ID4gPiA+PiBFRklfU1dfQlNfUENfRVhJVF9C T09UX1NFUlZJQ0VTKQ0KPiA+ID4gPiA+PiAgICAgKTsNCj4gPiA+ID4gPj4NCj4gPiA+ID4gPj4g VGhpcyB3b3VsZCBlbnN1cmUgdGhhdCB0aGUgSU9NTVUgY2FsbGJhY2sgcmFuIGxhc3QuDQo+ID4g PiA+ID4+DQo+ID4gPiA+ID4+DQo+ID4gPiA+ID4+IFlldCBhbm90aGVyIGlkZWEgKGZyb20gSmll d2VuIEkgdGhpbms/KSB3YXMgdG8gY2F0Y2ggdGhlDQo+ID4gPiA+ID4+IEVGSV9TV19CU19QQ19F WElUX0JPT1RfU0VSVklDRVMgc3RhdHVzIGNvZGUgaW4gdGhlIElPTU1VDQo+ID4gZHJpdmVyLg0K PiA+ID4gPiA+PiBJIGRpZG4ndCBsaWtlIHRoZSBpZGVhIGJlY2F1c2UgKElNTykgaXQgcHV0IHRv byBtYW55IHJlcXVpcmVtZW50cw0KPiA+ID4gPiA+PiBvbiBwbGF0Zm9ybXMuDQo+ID4gPiA+ID4+ DQo+ID4gPiA+ID4+IFRoYW5rcywNCj4gPiA+ID4gPj4gTGFzemxvDQo+ID4gPiA+ID4+DQo+ID4g PiA+ID4+DQo+ID4gPiA+ID4+Pg0KPiA+ID4gPiA+Pj4NCj4gPiA+ID4gPj4+IFRoYW5rcywNCj4g PiA+ID4gPj4+IFN0YXINCj4gPiA+ID4gPj4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ ID4gPiA+ID4+PiBGcm9tOiBMYXN6bG8gRXJzZWsgW21haWx0bzpsZXJzZWtAcmVkaGF0LmNvbV0N Cj4gPiA+ID4gPj4+IFNlbnQ6IFRodXJzZGF5LCBPY3RvYmVyIDI2LCAyMDE3IDM6NTMgUE0NCj4g PiA+ID4gPj4+IFRvOiBaZW5nLCBTdGFyIDxzdGFyLnplbmdAaW50ZWwuY29tPjsgWWFvLCBKaWV3 ZW4NCj4gPiA+ID4gPj4+IDxqaWV3ZW4ueWFvQGludGVsLmNvbT47DQo+ID4gPiA+ID4+IGVkazIt ZGV2ZWxAbGlzdHMuMDEub3JnDQo+ID4gPiA+ID4+PiBDYzogTmksIFJ1aXl1IDxydWl5dS5uaUBp bnRlbC5jb20+DQo+ID4gPiA+ID4+PiBTdWJqZWN0OiBSZTogW1BBVENIXSBJbnRlbFNpbGljb25Q a2cvVlRkRHhlOiBDaGFuZ2UgRUJTIEV2ZW50DQo+ID4gPiA+ID4+PiBUUEwgdG8NCj4gPiA+ID4g Pj4gQ0FMTEJBQ0suDQo+ID4gPiA+ID4+Pg0KPiA+ID4gPiA+Pj4gT24gMTAvMjYvMTcgMDg6NTQs IFplbmcsIFN0YXIgd3JvdGU6DQo+ID4gPiA+ID4+Pj4gT2ssIHBsZWFzZSBhZGQgbW9yZSBkZXNj cmlwdGlvbiBpbnRvIHRoZSBjb21taXQgbG9nLCBmb3INCj4gPiA+ID4gPj4+PiBleGFtcGxlLCAi UENJDQo+ID4gPiA+IGRldmljZQ0KPiA+ID4gPiA+PiBzaG91bGQgZGlzYWJsZSBCTUUgYXQgTk9U SUZZIiwgZXRjLg0KPiA+ID4gPiA+Pj4NCj4gPiA+ID4gPj4+IExhc3QgdGltZSB3ZSBkaXNjdXNz ZWQgdGhpcyBxdWVzdGlvbiwgdGhlIGNvbnNlbnN1cyB3YXMgdGhhdA0KPiA+ID4gPiA+Pj4gZWRr MiBzaG91bGQNCj4gPiA+ID4gbm90DQo+ID4gPiA+ID4+IHByZXNlbnQgYW55IHJlcXVpcmVtZW50 IGZvciBQQ0kgZHJpdmVycyB0aGF0IGlzIG5vdCByZXF1aXJlZCBieQ0KPiA+ID4gPiA+PiB0aGUg VUVGSQ0KPiA+ID4gc3BlYy4NCj4gPiA+ID4gPj4gVUVGSSBkcml2ZXJzIGZvciBQQ0kgZGV2aWNl cyBjb21lIGZyb20gdGhpcmQgcGFydGllcyBhcyB3ZWxsLCBhbmQNCj4gPiA+ID4gPj4gdGhvc2Ug ZHJpdmVycw0KPiA+ID4gPiB3aWxsDQo+ID4gPiA+ID4+IG9ubHkgY2FyZSBhYm91dCB0aGUgVUVG SSBzcGVjIChhcyB0aGV5IHNob3VsZCksIG5vdCBhYm91dCBlZGsyLg0KPiA+ID4gPiA+Pj4NCj4g PiA+ID4gPj4+IEluIGZhY3QsIEkgdGhpbmsgdGhpcyBhZGRpdGlvbmFsIHJlcXVpcmVtZW50IGlz IG5vdCBuZWNlc3Nhcnk6DQo+ID4gPiA+ID4+Pg0KPiA+ID4gPiA+Pj4gKiBJbiB0aGUgZWFybGll ciBkaXNjdXNzaW9uIChmb3IgdGhlIFNFViBJb01tdUR4ZSBpbiBPVk1GKSwgaXQNCj4gPiA+ID4g Pj4+IHdhcyByZWFsbHkNCj4gPiA+ID4gPj4gbmVjZXNzYXJ5IHRvIGRlbGF5IHRoZSBJb01tdUR4 ZSBFeGl0Qm9vdFNlcnZpY2VzKCkgY2FsbGJhY2sgYWZ0ZXINCj4gPiA+ID4gPj4gYWxsIHRoZSBQ Q0kgZHJpdmVyIGNhbGxiYWNrcy4gVGhlIHJlYXNvbiBmb3IgdGhpcyB3YXMgdGhhdCB0aGUNCj4g PiA+ID4gPj4gSW9NbXVEeGUNCj4gPiA+ID4gPj4+IEV4aXRCb290U2VydmljZXMoKSBjYWxsYmFj ayB3YXMgZ29pbmcgdG8gKmxvY2sgZG93biogYWxsIFJBTQ0KPiA+ID4gPiA+Pj4gZnJvbSBkZXZp Y2VzLA0KPiA+ID4gPiBhbmQNCj4gPiA+ID4gPj4gcGVuZGluZyBETUEgaGFkIHRvIGJlIGFib3J0 ZWQgYmVmb3JlIHRoaXMgbG9jay1kb3duLg0KPiA+ID4gPiA+Pj4NCj4gPiA+ID4gPj4+ICogSW4g Y29tcGFyaXNvbiwgdGhlIFZUZER4ZSBjYWxsYmFjayBhdCBFQlMgZG9lcyB0aGUgb3Bwb3NpdGU6 DQo+ID4gPiA+ID4+PiBpdCAiZGlzYWJsZVtzXQ0KPiA+ID4gPiA+PiB0aGUgcHJvdGVjdGlvbiBh bmQgYWxsb3dbc10gYWxsIERNQSBhY2Nlc3MiLCBpbiBKaWV3ZW4ncyB3b3Jkcw0KPiA+ID4gPiA+ PiBmcm9tDQo+ID4gPiA+IHVwLXRocmVhZC4NCj4gPiA+ID4gPj4gU28sIElNTywgbmVpdGhlciB0 aGUgUENJIGRyaXZlciByZXF1aXJlbWVudCwgbm9yIHRoaXMgcGF0Y2gsIGFyZQ0KPiA+ID4gPiA+ PiBuZWNlc3NhcnkgLS0gdGhlcmUgaXMgbmV2ZXIgYW4gSU9NTVUgc3RhdGUgdGhhdCBjb25mbGlj dHMgd2l0aCBhDQo+ID4gPiA+ID4+IGNvcnJlY3RseSB3cml0dGVuIFBDSQ0KPiA+ID4gPiBkcml2 ZXIncw0KPiA+ID4gPiA+PiBwZW5kaW5nIERNQSBvcGVyYXRpb24uDQo+ID4gPiA+ID4+Pg0KPiA+ ID4gPiA+Pj4gVGhhbmtzDQo+ID4gPiA+ID4+PiBMYXN6bG8NCj4gPiA+ID4gPj4+DQo+ID4gPiA+ ID4+Pj4NCj4gPiA+ID4gPj4+PiBXaXRoIHRoYXQsIFJldmlld2VkLWJ5OiBTdGFyIFplbmcgPHN0 YXIuemVuZ0BpbnRlbC5jb20+DQo+ID4gPiA+ID4+Pj4NCj4gPiA+ID4gPj4+Pg0KPiA+ID4gPiA+ Pj4+IFRoYW5rcywNCj4gPiA+ID4gPj4+PiBTdGFyDQo+ID4gPiA+ID4+Pj4gLS0tLS1PcmlnaW5h bCBNZXNzYWdlLS0tLS0NCj4gPiA+ID4gPj4+PiBGcm9tOiBZYW8sIEppZXdlbg0KPiA+ID4gPiA+ Pj4+IFNlbnQ6IFRodXJzZGF5LCBPY3RvYmVyIDI2LCAyMDE3IDI6NTEgUE0NCj4gPiA+ID4gPj4+ PiBUbzogWmVuZywgU3RhciA8c3Rhci56ZW5nQGludGVsLmNvbT47IGVkazItZGV2ZWxAbGlzdHMu MDEub3JnDQo+ID4gPiA+ID4+Pj4gQ2M6IExhc3psbyBFcnNlayAobGVyc2VrQHJlZGhhdC5jb20p IDxsZXJzZWtAcmVkaGF0LmNvbT47IE5pLA0KPiA+ID4gPiA+Pj4+IFJ1aXl1IDxydWl5dS5uaUBp bnRlbC5jb20+DQo+ID4gPiA+ID4+Pj4gU3ViamVjdDogUkU6IFtQQVRDSF0gSW50ZWxTaWxpY29u UGtnL1ZUZER4ZTogQ2hhbmdlIEVCUyBFdmVudA0KPiA+ID4gPiA+Pj4+IFRQTCB0bw0KPiA+ID4g PiA+PiBDQUxMQkFDSy4NCj4gPiA+ID4gPj4+Pg0KPiA+ID4gPiA+Pj4+IFllcywgdGhpcyBQQ0kg cGF0Y2ggd2lsbCBiZSBzdWJtaXR0ZWQgc29vbi4gOikNCj4gPiA+ID4gPj4+Pg0KPiA+ID4gPiA+ Pj4+IFRoYW5rIHlvdQ0KPiA+ID4gPiA+Pj4+IFlhbyBKaWV3ZW4NCj4gPiA+ID4gPj4+Pg0KPiA+ ID4gPiA+Pj4+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ID4gPiA+Pj4+PiBGcm9t OiBaZW5nLCBTdGFyDQo+ID4gPiA+ID4+Pj4+IFNlbnQ6IFRodXJzZGF5LCBPY3RvYmVyIDI2LCAy MDE3IDI6MTggUE0NCj4gPiA+ID4gPj4+Pj4gVG86IFlhbywgSmlld2VuIDxqaWV3ZW4ueWFvQGlu dGVsLmNvbT47DQo+ID4gPiA+ID4+Pj4+IGVkazItZGV2ZWxAbGlzdHMuMDEub3JnDQo+ID4gPiA+ ID4+Pj4+IENjOiBMYXN6bG8gRXJzZWsgKGxlcnNla0ByZWRoYXQuY29tKSA8bGVyc2VrQHJlZGhh dC5jb20+Ow0KPiA+ID4gPiA+Pj4+PiBaZW5nLCBTdGFyIDxzdGFyLnplbmdAaW50ZWwuY29tPg0K PiA+ID4gPiA+Pj4+PiBTdWJqZWN0OiBSRTogW1BBVENIXSBJbnRlbFNpbGljb25Qa2cvVlRkRHhl OiBDaGFuZ2UgRUJTIEV2ZW50DQo+ID4gPiA+ID4+Pj4+IFRQTCB0bw0KPiA+ID4gPiA+PiBDQUxM QkFDSy4NCj4gPiA+ID4gPj4+Pj4NCj4gPiA+ID4gPj4+Pj4gU28gdGhlcmUgd2lsbCBiZSBhIGd1 aWRhbmNlIGZvciB0aGlzICIgUENJIGRldmljZSBkaXNhYmxlIEJNRQ0KPiA+ID4gPiA+Pj4+PiBh dCBOT1RJRlkgIiB0byBiZSBkb2N1bWVudGVkPw0KPiA+ID4gPiA+Pj4+Pg0KPiA+ID4gPiA+Pj4+ PiBUaGFua3MsDQo+ID4gPiA+ID4+Pj4+IFN0YXINCj4gPiA+ID4gPj4+Pj4gLS0tLS1PcmlnaW5h bCBNZXNzYWdlLS0tLS0NCj4gPiA+ID4gPj4+Pj4gRnJvbTogWWFvLCBKaWV3ZW4NCj4gPiA+ID4g Pj4+Pj4gU2VudDogVGh1cnNkYXksIE9jdG9iZXIgMjYsIDIwMTcgMjowMyBQTQ0KPiA+ID4gPiA+ Pj4+PiBUbzogWmVuZywgU3RhciA8c3Rhci56ZW5nQGludGVsLmNvbT47IGVkazItZGV2ZWxAbGlz dHMuMDEub3JnDQo+ID4gPiA+ID4+Pj4+IENjOiBMYXN6bG8gRXJzZWsgKGxlcnNla0ByZWRoYXQu Y29tKSA8bGVyc2VrQHJlZGhhdC5jb20+DQo+ID4gPiA+ID4+Pj4+IFN1YmplY3Q6IFJFOiBbUEFU Q0hdIEludGVsU2lsaWNvblBrZy9WVGREeGU6IENoYW5nZSBFQlMgRXZlbnQNCj4gPiA+ID4gPj4+ Pj4gVFBMIHRvDQo+ID4gPiA+ID4+IENBTExCQUNLLg0KPiA+ID4gPiA+Pj4+Pg0KPiA+ID4gPiA+ Pj4+PiBSaWdodC4gSW4gdGhlIGZ1dHVyZSwgd2Ugd2lsbCBsZXQgUENJIGRldmljZSBkaXNhYmxl IEJNRSBhdCBOT1RJRlkuDQo+ID4gPiA+ID4+Pj4+DQo+ID4gPiA+ID4+Pj4+IFNvIHdlIGxldCBJ T01NVSB1c2UgQ0FMTEJBQ0ssIHRvIG1ha2Ugc3VyZSBCTUUgaXMgZGlzYWJsZWQNCj4gPiA+ID4g Pj4+Pj4gYmVmb3JlIElPTU1VIGlzIGRpc2FibGVkLg0KPiA+ID4gPiA+Pj4+Pg0KPiA+ID4gPiA+ Pj4+PiBUaGFuayB5b3UNCj4gPiA+ID4gPj4+Pj4gWWFvIEppZXdlbg0KPiA+ID4gPiA+Pj4+Pg0K PiA+ID4gPiA+Pj4+Pj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiA+ID4gPj4+Pj4+ IEZyb206IFplbmcsIFN0YXINCj4gPiA+ID4gPj4+Pj4+IFNlbnQ6IFRodXJzZGF5LCBPY3RvYmVy IDI2LCAyMDE3IDE6NTUgUE0NCj4gPiA+ID4gPj4+Pj4+IFRvOiBZYW8sIEppZXdlbiA8amlld2Vu Lnlhb0BpbnRlbC5jb20+Ow0KPiA+ID4gPiA+Pj4+Pj4gZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmcN Cj4gPiA+ID4gPj4+Pj4+IENjOiBMYXN6bG8gRXJzZWsgKGxlcnNla0ByZWRoYXQuY29tKSA8bGVy c2VrQHJlZGhhdC5jb20+Ow0KPiA+ID4gPiA+Pj4+Pj4gWmVuZywgU3RhciA8c3Rhci56ZW5nQGlu dGVsLmNvbT4NCj4gPiA+ID4gPj4+Pj4+IFN1YmplY3Q6IFJFOiBbUEFUQ0hdIEludGVsU2lsaWNv blBrZy9WVGREeGU6IENoYW5nZSBFQlMgRXZlbnQNCj4gPiA+ID4gPj4+Pj4+IFRQTCB0bw0KPiA+ ID4gPiA+Pj4+PiBDQUxMQkFDSy4NCj4gPiA+ID4gPj4+Pj4+DQo+ID4gPiA+ID4+Pj4+PiBJIGFt IGNvbmZ1c2VkLg0KPiA+ID4gPiA+Pj4+Pj4NCj4gPiA+ID4gPj4+Pj4+IElzIHRoaXMgcGF0Y2gg dG8gbWFrZSB0aGUgZGV2aWNlIGRyaXZlcidzIEVCUyBldmVudA0KPiA+ID4gPiA+Pj4+Pj4gbm90 aWZpY2F0aW9uIHRvIGJlIHJ1biBiZWZvcmUgSW50ZWxWVGREeGUncyBFQlMgZXZlbnQgbm90aWZp Y2F0aW9uPw0KPiA+ID4gPiA+Pj4+Pj4NCj4gPiA+ID4gPj4+Pj4+IElmIHllcywgdGhpcyBwYXRj aCBzZWVtaW5nbHkgY2FuIG9ubHkgbWFrZSBzdXJlIHRoZSBiZWhhdmlvcg0KPiA+ID4gPiA+Pj4+ Pj4gd2hlbiB0aGUgZGV2aWNlIGRyaXZlcidzIEVCUyBldmVudCBub3RpZmljYXRpb24gaXMgYXQg Tk9USUZZLA0KPiA+ID4gPiA+Pj4+Pj4gYnV0IG5vdA0KPiA+ID4gQ0FMTEJBQ0suDQo+ID4gPiA+ ID4+Pj4+Pg0KPiA+ID4gPiA+Pj4+Pj4NCj4gPiA+ID4gPj4+Pj4+IFRoYW5rcywNCj4gPiA+ID4g Pj4+Pj4+IFN0YXINCj4gPiA+ID4gPj4+Pj4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ ID4gPiA+ID4+Pj4+PiBGcm9tOiBZYW8sIEppZXdlbg0KPiA+ID4gPiA+Pj4+Pj4gU2VudDogVGh1 cnNkYXksIE9jdG9iZXIgMjYsIDIwMTcgMToxNiBQTQ0KPiA+ID4gPiA+Pj4+Pj4gVG86IFplbmcs IFN0YXIgPHN0YXIuemVuZ0BpbnRlbC5jb20+OyBlZGsyLWRldmVsQGxpc3RzLjAxLm9yZw0KPiA+ ID4gPiA+Pj4+Pj4gQ2M6IExhc3psbyBFcnNlayAobGVyc2VrQHJlZGhhdC5jb20pIDxsZXJzZWtA cmVkaGF0LmNvbT4NCj4gPiA+ID4gPj4+Pj4+IFN1YmplY3Q6IFJFOiBbUEFUQ0hdIEludGVsU2ls aWNvblBrZy9WVGREeGU6IENoYW5nZSBFQlMgRXZlbnQNCj4gPiA+ID4gPj4+Pj4+IFRQTCB0bw0K PiA+ID4gPiA+Pj4+PiBDQUxMQkFDSy4NCj4gPiA+ID4gPj4+Pj4+DQo+ID4gPiA+ID4+Pj4+PiBU aGF0IGlzIGZpbmUuDQo+ID4gPiA+ID4+Pj4+Pg0KPiA+ID4gPiA+Pj4+Pj4gSGVyZSwgZGlzYWJs aW5nIElPTU1VIG1lYW5zIHRvIGRpc2FibGUgdGhlIHByb3RlY3Rpb24gYW5kDQo+ID4gPiA+ID4+ Pj4+PiBhbGxvdyBhbGwgRE1BIGFjY2Vzcy4NCj4gPiA+ID4gPj4+Pj4+IEkgZG8gbm90IHRoaW5r IGl0IHdpbGwgYnJpbmcgYW55IGZ1bmN0aW9uYWwgaW1wYWN0Lg0KPiA+ID4gPiA+Pj4+Pj4NCj4g PiA+ID4gPj4+Pj4+IFRoYW5rIHlvdQ0KPiA+ID4gPiA+Pj4+Pj4gWWFvIEppZXdlbg0KPiA+ID4g PiA+Pj4+Pj4NCj4gPiA+ID4gPj4+Pj4+DQo+ID4gPiA+ID4+Pj4+Pj4gLS0tLS1PcmlnaW5hbCBN ZXNzYWdlLS0tLS0NCj4gPiA+ID4gPj4+Pj4+PiBGcm9tOiBaZW5nLCBTdGFyDQo+ID4gPiA+ID4+ Pj4+Pj4gU2VudDogVGh1cnNkYXksIE9jdG9iZXIgMjYsIDIwMTcgMTI6NTggUE0NCj4gPiA+ID4g Pj4+Pj4+PiBUbzogWWFvLCBKaWV3ZW4gPGppZXdlbi55YW9AaW50ZWwuY29tPjsNCj4gPiA+ID4g Pj4+Pj4+PiBlZGsyLWRldmVsQGxpc3RzLjAxLm9yZw0KPiA+ID4gPiA+Pj4+Pj4+IENjOiBMYXN6 bG8gRXJzZWsgKGxlcnNla0ByZWRoYXQuY29tKSA8bGVyc2VrQHJlZGhhdC5jb20+Ow0KPiA+ID4g PiA+Pj4+Pj4+IFplbmcsIFN0YXIgPHN0YXIuemVuZ0BpbnRlbC5jb20+DQo+ID4gPiA+ID4+Pj4+ Pj4gU3ViamVjdDogUkU6IFtQQVRDSF0gSW50ZWxTaWxpY29uUGtnL1ZUZER4ZTogQ2hhbmdlIEVC Uw0KPiA+ID4gPiA+Pj4+Pj4+IEV2ZW50IFRQTCB0bw0KPiA+ID4gPiA+Pj4+Pj4gQ0FMTEJBQ0su DQo+ID4gPiA+ID4+Pj4+Pj4NCj4gPiA+ID4gPj4+Pj4+PiBTb21lIGRldmljZSBkcml2ZXIgbWF5 IGFsc28gaGF2ZSBleGl0IGJvb3Qgc2VydmljZSBldmVudCBhdA0KPiA+ID4gPiA+Pj4+Pj4+IENB TExCQUNLLCBmb3IgZXhhbXBsZSBBdGFQYXNzVGhydUV4aXRCb290U2VydmljZXMoKSB0aGF0IHdh cw0KPiA+ID4gPiA+Pj4+Pj4+IGFkZGVkIGJ5DQo+ID4gPiA+ID4+Pj4+IExhc3psby4NCj4gPiA+ ID4gPj4+Pj4+Pg0KPiA+ID4gPiA+Pj4+Pj4+DQo+ID4gPiA+ID4+Pj4+Pj4gVGhhbmtzLA0KPiA+ ID4gPiA+Pj4+Pj4+IFN0YXINCj4gPiA+ID4gPj4+Pj4+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2Ut LS0tLQ0KPiA+ID4gPiA+Pj4+Pj4+IEZyb206IFlhbywgSmlld2VuDQo+ID4gPiA+ID4+Pj4+Pj4g U2VudDogVGh1cnNkYXksIE9jdG9iZXIgMjYsIDIwMTcgMTA6MTQgQU0NCj4gPiA+ID4gPj4+Pj4+ PiBUbzogZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmcNCj4gPiA+ID4gPj4+Pj4+PiBDYzogWmVuZywg U3RhciA8c3Rhci56ZW5nQGludGVsLmNvbT4NCj4gPiA+ID4gPj4+Pj4+PiBTdWJqZWN0OiBbUEFU Q0hdIEludGVsU2lsaWNvblBrZy9WVGREeGU6IENoYW5nZSBFQlMgRXZlbnQNCj4gPiA+ID4gPj4+ Pj4+PiBUUEwgdG8NCj4gPiA+ID4gPj4gQ0FMTEJBQ0suDQo+ID4gPiA+ID4+Pj4+Pj4NCj4gPiA+ ID4gPj4+Pj4+PiBDaGFuZ2UgRXhpdEJvb3RTZXJ2aWNlcyBUUEwgdG8gQ0FMTEJBQ0ssIHNvIHRo YXQgYSBkZXZpY2UNCj4gPiA+ID4gPj4+Pj4+PiBjYW4gZGlzYWJsZSBCTUUgYmVmb3JlIElPTU1V IGdyYW50cyBhY2Nlc3MgcmlnaHQuDQo+ID4gPiA+ID4+Pj4+Pj4NCj4gPiA+ID4gPj4+Pj4+PiBD YzogU3RhciBaZW5nIDxzdGFyLnplbmdAaW50ZWwuY29tPg0KPiA+ID4gPiA+Pj4+Pj4+IENvbnRy aWJ1dGVkLXVuZGVyOiBUaWFub0NvcmUgQ29udHJpYnV0aW9uIEFncmVlbWVudCAxLjENCj4gPiA+ ID4gPj4+Pj4+PiBTaWduZWQtb2ZmLWJ5OiBKaWV3ZW4gWWFvIDxqaWV3ZW4ueWFvQGludGVsLmNv bT4NCj4gPiA+ID4gPj4+Pj4+PiAtLS0NCj4gPiA+ID4gPj4+Pj4+PiAgSW50ZWxTaWxpY29uUGtn L0ZlYXR1cmUvVlRkL0ludGVsVlRkRHhlL0RtYVByb3RlY3Rpb24uYyB8IDQNCj4gPiA+ID4gPj4+ Pj4+PiArKy0tDQo+ID4gPiA+ID4+Pj4+Pj4gIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMo KyksIDIgZGVsZXRpb25zKC0pDQo+ID4gPiA+ID4+Pj4+Pj4NCj4gPiA+ID4gPj4+Pj4+PiBkaWZm IC0tZ2l0DQo+ID4gPiA+ID4+Pj4+Pj4gYS9JbnRlbFNpbGljb25Qa2cvRmVhdHVyZS9WVGQvSW50 ZWxWVGREeGUvRG1hUHJvdGVjdGlvbi5jDQo+ID4gPiA+ID4+Pj4+Pj4gYi9JbnRlbFNpbGljb25Q a2cvRmVhdHVyZS9WVGQvSW50ZWxWVGREeGUvRG1hUHJvdGVjdGlvbi5jDQo+ID4gPiA+ID4+Pj4+ Pj4gaW5kZXggZjVkZTAxZi4uNGE0ZDgyZSAxMDA2NDQNCj4gPiA+ID4gPj4+Pj4+PiAtLS0NCj4g PiA+ID4gPj4+Pj4+PiBhL0ludGVsU2lsaWNvblBrZy9GZWF0dXJlL1ZUZC9JbnRlbFZUZER4ZS9E bWFQcm90ZWN0aW9uLmMNCj4gPiA+ID4gPj4+Pj4+PiArKysNCj4gPiBiL0ludGVsU2lsaWNvblBr Zy9GZWF0dXJlL1ZUZC9JbnRlbFZUZER4ZS9EbWFQcm90ZWN0aW9uLg0KPiA+ID4gPiA+Pj4+Pj4+ ICsrKyBjDQo+ID4gPiA+ID4+Pj4+Pj4gQEAgLTQ4Myw3ICs0ODMsNyBAQCBJbml0aWFsaXplRG1h UHJvdGVjdGlvbiAoDQo+ID4gPiA+ID4+Pj4+Pj4NCj4gPiA+ID4gPj4+Pj4+PiAgICBTdGF0dXMg PSBnQlMtPkNyZWF0ZUV2ZW50RXggKA0KPiA+ID4gPiA+Pj4+Pj4+ICAgICAgICAgICAgICAgICAg ICBFVlRfTk9USUZZX1NJR05BTCwNCj4gPiA+ID4gPj4+Pj4+PiAtICAgICAgICAgICAgICAgICAg VFBMX05PVElGWSwNCj4gPiA+ID4gPj4+Pj4+PiArICAgICAgICAgICAgICAgICAgVFBMX0NBTExC QUNLLA0KPiA+ID4gPiA+Pj4+Pj4+ICAgICAgICAgICAgICAgICAgICBPbkV4aXRCb290U2Vydmlj ZXMsDQo+ID4gPiA+ID4+Pj4+Pj4gICAgICAgICAgICAgICAgICAgIE5VTEwsDQo+ID4gPiA+ID4+ Pj4+Pj4gICAgICAgICAgICAgICAgICAgICZnRWZpRXZlbnRFeGl0Qm9vdFNlcnZpY2VzR3VpZCwg QEANCj4gLTQ5Miw3DQo+ID4gPiA+ID4+Pj4+Pj4gKzQ5Miw3IEBAIEluaXRpYWxpemVEbWFQcm90 ZWN0aW9uICgNCj4gPiA+ID4gPj4+Pj4+PiAgICBBU1NFUlRfRUZJX0VSUk9SIChTdGF0dXMpOw0K PiA+ID4gPiA+Pj4+Pj4+DQo+ID4gPiA+ID4+Pj4+Pj4gICAgU3RhdHVzID0gRWZpQ3JlYXRlRXZl bnRMZWdhY3lCb290RXggKA0KPiA+ID4gPiA+Pj4+Pj4+IC0gICAgICAgICAgICAgVFBMX05PVElG WSwNCj4gPiA+ID4gPj4+Pj4+PiArICAgICAgICAgICAgIFRQTF9DQUxMQkFDSywNCj4gPiA+ID4g Pj4+Pj4+PiAgICAgICAgICAgICAgIE9uTGVnYWN5Qm9vdCwNCj4gPiA+ID4gPj4+Pj4+PiAgICAg ICAgICAgICAgIE5VTEwsDQo+ID4gPiA+ID4+Pj4+Pj4gICAgICAgICAgICAgICAmTGVnYWN5Qm9v dEV2ZW50DQo+ID4gPiA+ID4+Pj4+Pj4gLS0NCj4gPiA+ID4gPj4+Pj4+PiAyLjcuNC53aW5kb3dz LjENCj4gPiA+ID4gPj4+Pg0KPiA+ID4gPiA+Pj4NCj4gPiA+ID4gPj4+IF9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQo+ID4gPiA+ID4+PiBlZGsyLWRldmVs IG1haWxpbmcgbGlzdA0KPiA+ID4gPiA+Pj4gZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmcNCj4gPiA+ ID4gPj4+IGh0dHBzOi8vbGlzdHMuMDEub3JnL21haWxtYW4vbGlzdGluZm8vZWRrMi1kZXZlbA0K PiA+ID4gPiA+Pj4NCj4gPiA+ID4gPg0KDQo=