From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=134.134.136.20; helo=mga02.intel.com; envelope-from=liming.gao@intel.com; receiver=edk2-devel@lists.01.org Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) (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 75D61211B1103 for ; Sun, 13 Jan 2019 18:55:51 -0800 (PST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by orsmga101.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 13 Jan 2019 18:55:50 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.56,476,1539673200"; d="scan'208";a="125645548" Received: from fmsmsx103.amr.corp.intel.com ([10.18.124.201]) by FMSMGA003.fm.intel.com with ESMTP; 13 Jan 2019 18:55:50 -0800 Received: from FMSMSX109.amr.corp.intel.com (10.18.116.9) by FMSMSX103.amr.corp.intel.com (10.18.124.201) with Microsoft SMTP Server (TLS) id 14.3.408.0; Sun, 13 Jan 2019 18:55:50 -0800 Received: from shsmsx103.ccr.corp.intel.com (10.239.4.69) by fmsmsx109.amr.corp.intel.com (10.18.116.9) with Microsoft SMTP Server (TLS) id 14.3.408.0; Sun, 13 Jan 2019 18:55:49 -0800 Received: from shsmsx152.ccr.corp.intel.com ([169.254.6.44]) by SHSMSX103.ccr.corp.intel.com ([169.254.4.150]) with mapi id 14.03.0415.000; Mon, 14 Jan 2019 10:55:48 +0800 From: "Gao, Liming" To: Ard Biesheuvel CC: "edk2-devel@lists.01.org" , Laszlo Ersek , Leif Lindholm , "Kinney, Michael D" , "Wang, Jian J" , "Wu, Hao A" , Jagadeesh Ujja , Achin Gupta , "Thomas Panakamattam Abraham" , Sami Mujawar Thread-Topic: [PATCH 0/6] implement standalone MM versions of the variable runtime drivers Thread-Index: AQHUo5IuycxdS62t7UiJBpaDv7s2bKWjwJhg//+FkoCAA7XesP//lw4AgAeNuPA= Date: Mon, 14 Jan 2019 02:55:46 +0000 Message-ID: <4A89E2EF3DFEDB4C8BFDE51014F606A14E3B0F9E@SHSMSX152.ccr.corp.intel.com> References: <20190103182825.32231-1-ard.biesheuvel@linaro.org> <4A89E2EF3DFEDB4C8BFDE51014F606A14E3AD13F@SHSMSX152.ccr.corp.intel.com> <4A89E2EF3DFEDB4C8BFDE51014F606A14E3AE768@SHSMSX152.ccr.corp.intel.com> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Subject: Re: [PATCH 0/6] implement standalone MM versions of the variable runtime drivers X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 14 Jan 2019 02:55:51 -0000 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 QXJkOg0KICBJIGRvbid0IGZpbmQgdGhlIGZ1bmN0aW9uIGlzc3VlIGluIHRoaXMgcGF0Y2guIEkg aGF2ZSBubyBvdGhlciBjb21tZW50cyBmb3IgdGhlIGNoYW5nZSBpbiBNZGVQa2cuIFJldmlld2Vk LWJ5OiBMaW1pbmcgR2FvIDxsaW1pbmcuZ2FvQGludGVsLmNvbT4uIEZvciB0aGlzIHBhdGNoIHNl dCwgaWYgeW91IHB1c2ggdGhlIGNoYW5nZSwgcGxlYXNlIHB1c2ggdGhlIHBhdGNoZXMgaW4gTWRl UGtnIGZpcnN0LCBhbmQgdGVsbCBtZSB0aGUgcmV2aXNpb24uIEkgd2lsbCB1cGRhdGUgb3VyIGlu dGVybmFsIHBsYXRmb3JtIERTQyB0byBpbmNsdWRlIG5ldyBNbVNlcnZpY2VzVGFibGVMaWIgbGli cmFyeSBpbnN0YW5jZS4gQWZ0ZXIgSSBhbSBkb25lLCBJIHdpbGwgbGV0IHlvdSBrbm93LiBUaGVu LCB5b3UgY2FuIGNvbnRpbnVlIHRvIHB1c2ggdGhlIGNoYW5nZSBpbiBNZGVNb2R1bGVQa2cuIElz IGl0IE9LPw0KDQogIEkgc2VlIHlvdSB3aWxsIGNvbnRpbnVlIHRvIGxvb2sgYWRkIE1tU3RhbmRh bG9uZUVudHJ5UG9pbnRMaWIgYW5kIE1tU2VydmljZUxpYiBmb3IgTW1TdGFuZGFsb25lIGRyaXZl ci4gWW91IGNhbiBjcmVhdGUgYW5vdGhlciBCWiBmb3IgaXQuIEkgd2lsbCByZXZpZXcgdGhlbSBv bmNlIHlvdSBhcmUgZG9uZS4gDQoNClRoYW5rcw0KTGltaW5nDQo+LS0tLS1PcmlnaW5hbCBNZXNz YWdlLS0tLS0NCj5Gcm9tOiBBcmQgQmllc2hldXZlbCBbbWFpbHRvOmFyZC5iaWVzaGV1dmVsQGxp bmFyby5vcmddDQo+U2VudDogV2VkbmVzZGF5LCBKYW51YXJ5IDA5LCAyMDE5IDExOjMwIFBNDQo+ VG86IEdhbywgTGltaW5nIDxsaW1pbmcuZ2FvQGludGVsLmNvbT4NCj5DYzogZWRrMi1kZXZlbEBs aXN0cy4wMS5vcmc7IExhc3psbyBFcnNlayA8bGVyc2VrQHJlZGhhdC5jb20+OyBMZWlmIExpbmRo b2xtDQo+PGxlaWYubGluZGhvbG1AbGluYXJvLm9yZz47IEtpbm5leSwgTWljaGFlbCBEIDxtaWNo YWVsLmQua2lubmV5QGludGVsLmNvbT47DQo+V2FuZywgSmlhbiBKIDxqaWFuLmoud2FuZ0BpbnRl bC5jb20+OyBXdSwgSGFvIEEgPGhhby5hLnd1QGludGVsLmNvbT47DQo+SmFnYWRlZXNoIFVqamEg PGphZ2FkZWVzaC51amphQGFybS5jb20+OyBBY2hpbiBHdXB0YQ0KPjxBY2hpbi5HdXB0YUBhcm0u Y29tPjsgVGhvbWFzIFBhbmFrYW1hdHRhbSBBYnJhaGFtDQo+PHRob21hcy5hYnJhaGFtQGFybS5j b20+OyBTYW1pIE11amF3YXIgPFNhbWkuTXVqYXdhckBhcm0uY29tPg0KPlN1YmplY3Q6IFJlOiBb UEFUQ0ggMC82XSBpbXBsZW1lbnQgc3RhbmRhbG9uZSBNTSB2ZXJzaW9ucyBvZiB0aGUgdmFyaWFi bGUNCj5ydW50aW1lIGRyaXZlcnMNCj4NCj5PbiBXZWQsIDkgSmFuIDIwMTkgYXQgMTQ6NTYsIEdh bywgTGltaW5nIDxsaW1pbmcuZ2FvQGludGVsLmNvbT4gd3JvdGU6DQo+Pg0KPj4gQXJkOg0KPj4g ICBOb3csIHRoZSBpbXBhY3QgaXMgdG8gdXBkYXRlIHBsYXRmb3JtIERTQyB0byBpbmNsdWRlIE1t U2VydmljZXNUYWJsZUxpYg0KPmxpYnJhcnkgaW5zdGFuY2UuIFRoaXMgY2hhbmdlIGlzIGFjY2Vw dGFibGUgZm9yIG1lLiBJIHN1Z2dlc3QgeW91ciBjcmVhdGUgb25lIEJaDQo+Zm9yIHRoaXMgcGF0 Y2ggc2V0Lg0KPg0KPmh0dHBzOi8vYnVnemlsbGEudGlhbm9jb3JlLm9yZy9zaG93X2J1Zy5jZ2k/ aWQ9MTQ0Mg0KPg0KPj4gICBCZXNpZGVzLCBJIGNhbid0IGFwcGx5IGZvciB0aGVzZSBwYXRjaGVz IGluIG15IG1hY2hpbmUuIENvdWxkIHlvdSBzaGFyZSBnaXQNCj5icmFuY2ggdG8gbWU/IFRoZW4s IEkgY2FuIGZ1cnRoZXIgdmVyaWZ5IGl0cyBmdW5jdGlvbmFsaXR5IG9uIFNNTSBtb2RlLg0KPj4N Cj4NCj5odHRwczovL2dpdGh1Yi5jb20vYXJkYmllc2hldXZlbC9lZGsyL3RyZWUvdmFyaWFibGUt ZnR3LXN0YW5kYWxvbmUtbW0tDQo+Y29udmVyc2lvbg0KPg0KPk5vdGUgdGhhdCBJIGluY2x1ZGVk IHRoZSBjaGFuZ2VzIHRvIGFkZCB0aGUgTW1TZXJ2aWNlc1RhYmxlTGliDQo+cmVzb2x1dGlvbiB0 byBjb25zdW1lcnMgb2YgdGhlIEZUVyBhbmQgdmFyaWFibGUgZHJpdmVycy4NCj4NCj5UaGFua3Ms DQo+QXJkLg0KPg0KPg0KPg0KPj4gVGhhbmtzDQo+PiBMaW1pbmcNCj4+ID4gLS0tLS1PcmlnaW5h bCBNZXNzYWdlLS0tLS0NCj4+ID4gRnJvbTogQXJkIEJpZXNoZXV2ZWwgW21haWx0bzphcmQuYmll c2hldXZlbEBsaW5hcm8ub3JnXQ0KPj4gPiBTZW50OiBNb25kYXksIEphbnVhcnkgNywgMjAxOSA5 OjA2IFBNDQo+PiA+IFRvOiBHYW8sIExpbWluZyA8bGltaW5nLmdhb0BpbnRlbC5jb20+DQo+PiA+ IENjOiBlZGsyLWRldmVsQGxpc3RzLjAxLm9yZzsgTGFzemxvIEVyc2VrIDxsZXJzZWtAcmVkaGF0 LmNvbT47IExlaWYNCj5MaW5kaG9sbSA8bGVpZi5saW5kaG9sbUBsaW5hcm8ub3JnPjsgS2lubmV5 LCBNaWNoYWVsIEQNCj4+ID4gPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPjsgV2FuZywgSmlh biBKIDxqaWFuLmoud2FuZ0BpbnRlbC5jb20+OyBXdSwNCj5IYW8gQSA8aGFvLmEud3VAaW50ZWwu Y29tPjsgSmFnYWRlZXNoIFVqamENCj4+ID4gPGphZ2FkZWVzaC51amphQGFybS5jb20+OyBBY2hp biBHdXB0YSA8QWNoaW4uR3VwdGFAYXJtLmNvbT47DQo+VGhvbWFzIFBhbmFrYW1hdHRhbSBBYnJh aGFtIDx0aG9tYXMuYWJyYWhhbUBhcm0uY29tPjsNCj4+ID4gU2FtaSBNdWphd2FyIDxTYW1pLk11 amF3YXJAYXJtLmNvbT4NCj4+ID4gU3ViamVjdDogUmU6IFtQQVRDSCAwLzZdIGltcGxlbWVudCBz dGFuZGFsb25lIE1NIHZlcnNpb25zIG9mIHRoZQ0KPnZhcmlhYmxlIHJ1bnRpbWUgZHJpdmVycw0K Pj4gPg0KPj4gPiBPbiBNb24sIDcgSmFuIDIwMTkgYXQgMTM6NDQsIEdhbywgTGltaW5nIDxsaW1p bmcuZ2FvQGludGVsLmNvbT4gd3JvdGU6DQo+PiA+ID4NCj4+ID4gPiBBcmQ6DQo+PiA+ID4gICBJ IGFncmVlIHRoaXMgZGVzaWduIGlzIGdvb2QuIEJ1dCwgSSBuZWVkIHNvbWUgdGltZSB0byBldmFs dWF0ZSBpdHMgaW1wYWN0DQo+b24gb3VyIFg4NiBwbGF0Zm9ybS4gQ291bGQgeW91IHdhaXQgZm9y IHNldmVyYWwgZGF5cz8NCj4+ID4gPg0KPj4gPg0KPj4gPiBPZiBjb3Vyc2UuDQo+PiA+DQo+PiA+ IFRoYW5rcywNCj4+ID4NCj4+ID4gPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+PiA+ ID4gPiBGcm9tOiBBcmQgQmllc2hldXZlbCBbbWFpbHRvOmFyZC5iaWVzaGV1dmVsQGxpbmFyby5v cmddDQo+PiA+ID4gPiBTZW50OiBGcmlkYXksIEphbnVhcnkgNCwgMjAxOSAyOjI4IEFNDQo+PiA+ ID4gPiBUbzogZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmcNCj4+ID4gPiA+IENjOiBBcmQgQmllc2hl dXZlbCA8YXJkLmJpZXNoZXV2ZWxAbGluYXJvLm9yZz47IExhc3psbyBFcnNlaw0KPjxsZXJzZWtA cmVkaGF0LmNvbT47IExlaWYgTGluZGhvbG0gPGxlaWYubGluZGhvbG1AbGluYXJvLm9yZz47DQo+ PiA+IEtpbm5leSwNCj4+ID4gPiA+IE1pY2hhZWwgRCA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5j b20+OyBHYW8sIExpbWluZw0KPjxsaW1pbmcuZ2FvQGludGVsLmNvbT47IFdhbmcsIEppYW4gSiA8 amlhbi5qLndhbmdAaW50ZWwuY29tPjsgV3UsIEhhbyBBDQo+PiA+ID4gPiA8aGFvLmEud3VAaW50 ZWwuY29tPjsgSmFnYWRlZXNoIFVqamEgPGphZ2FkZWVzaC51amphQGFybS5jb20+Ow0KPkFjaGlu IEd1cHRhIDxBY2hpbi5HdXB0YUBhcm0uY29tPjsgVGhvbWFzIFBhbmFrYW1hdHRhbQ0KPj4gPiA+ ID4gQWJyYWhhbSA8dGhvbWFzLmFicmFoYW1AYXJtLmNvbT47IFNhbWkgTXVqYXdhcg0KPjxTYW1p Lk11amF3YXJAYXJtLmNvbT4NCj4+ID4gPiA+IFN1YmplY3Q6IFtQQVRDSCAwLzZdIGltcGxlbWVu dCBzdGFuZGFsb25lIE1NIHZlcnNpb25zIG9mIHRoZQ0KPnZhcmlhYmxlIHJ1bnRpbWUgZHJpdmVy cw0KPj4gPiA+ID4NCj4+ID4gPiA+IFRoaXMgc2VyaWVzIHByb3Bvc2VkIGFuIGFsdGVybmF0aXZl IGFwcHJvYWNoIHRvIHRoZSBzZXJpZXMgc2VudCBvdXQgYnkNCj4+ID4gPiA+IEphZ2FkZWVzaCBb MF0uIEluIHBhcnRpY3VsYXIsIGl0IGdldHMgcmlkIG9mIHRoZSBJbk1tKCkgY2FsbHMgYW5kIHRo ZQ0KPj4gPiA+ID4gc3BlY2lhbCBQQ0QsIGFzIHdlbGwgYXMgc29tZSBvdGhlciBpZigpIGNvbmRp dGlvbmFscy4NCj4+ID4gPiA+DQo+PiA+ID4gPiBUaGUgcHJpbWFyeSBkaWZmZXJlbmNlIGlzIHRo YXQgdGhpcyBzZXJpZXMgZGVmaW5lcyBhbmQgaW1wbGVtZW50cw0KPj4gPiA+ID4gTW1TZXJ2aWNl c1RhYmxlTGliIGluIHN1Y2ggYSB3YXkgdGhhdCB0aGUgdHJhZGl0aW9uYWwgU01NIGRyaXZlcnMN Cj4+ID4gPiA+IGNhbiB1c2UgaXQgYXMgd2VsbC4gVGhpcyBpcyBhcHByb3ByaWF0ZSwgY29uc2lk ZXJpbmcgdGhhdCB0aGUgUEkNCj4+ID4gPiA+IHNwZWMgaGFzIHJlYnJhbmRlZCB0cmFkaXRpb25h bCBTTU0gYXMgb25lIGltcGxlbWVudGF0aW9uIG9mIHRoZQ0KPmdlbmVyaWMNCj4+ID4gPiA+IE1N IGZyYW1ld29yay4NCj4+ID4gPiA+DQo+PiA+ID4gPiBQYXRjaCAjMSBpcyBiYXNlZCBvbiBKYWdh ZGVlc2gncyBwYXRjaCwgYW5kIGludHJvZHVjZXMgdGhlDQo+TW1TZXJ2aWNlc1RhYmxlTGliDQo+ PiA+ID4gPiBsaWJyYXJ5IGNsYXNzLCBidXQgZm9yIGFsbCBTTU0gZmxhdm91cnMsIG5vdCBvbmx5 IGZvciBzdGFuZGFsb25lIE1NLg0KPj4gPiA+ID4NCj4+ID4gPiA+IFBhdGNoICMyIGltcGxlbWVu dHMgTW1TZXJ2aWNlc1RhYmxlTGliIGZvciB0cmFkaXRpb25hbCBTTU0NCj5pbXBsZW1lbnRhdGlv bnMuDQo+PiA+ID4gPg0KPj4gPiA+ID4gUGF0Y2ggIzMgcmVmYWN0b3JzIEZhdWx0VG9sZXJhbnRX cml0ZUR4ZSBzbyB0aGF0IHRoZSBwYXJ0cyBvZiB0aGUgU01NDQo+PiA+ID4gPiBkcml2ZXIgdGhh dCBpbnZva2UgYm9vdCBzZXJ2aWNlcyBhcmUgc2VwYXJhdGVkIGZyb20gdGhlIGNvcmUgU01NDQo+ cGllY2VzLg0KPj4gPiA+ID4NCj4+ID4gPiA+IFBhdGNoICM0IGltcGxlbWVudHMgRmF1bHRUb2xl cmFudFdyaXRlU21tIGZvciB0aGUgc3RhbmRhbG9uZSBNTQ0KPmVudmlyb25tZW50Lg0KPj4gPiA+ ID4NCj4+ID4gPiA+IFBhdGNoZXMgIzUgYW5kICM2IGRvIHRoZSBzYW1lLCByZXNwZWN0aXZlbHks IGZvciB0aGUgdmFyaWFibGUgcnVudGltZQ0KPmRyaXZlci4NCj4+ID4gPiA+DQo+PiA+ID4gPiBU aGlzIGFwcHJvYWNoIG1pbmltaXplcyB0aGUgZGVsdGEsIGFuZCB0aHVzIHRoZSBtYWludGVuYW5j ZSBidXJkZW4sDQo+YmV0d2Vlbg0KPj4gPiA+ID4gdGhlIHRyYWRpdGlvbmFsIFNNTSBhbmQgc3Rh bmRhbG9uZSBNTSBkcml2ZXJzLCB3aGlsZSBub3QgcmVzb3J0aW5nIHRvDQo+cnVudGltZQ0KPj4g PiA+ID4gY2hlY2tzIG9yIG90aGVyIGNvbmRpdGlvbmFscyBpbiB0aGUgY29kZSB0byBpbXBsZW1l bnQgbG9naWMgdGhhdCBzaG91bGQNCj5iZQ0KPj4gPiA+ID4gZGVjaWRlZCBhdCBidWlsZCB0aW1l Lg0KPj4gPiA+ID4NCj4+ID4gPiA+IE5vdGUgdGhhdCB0aGlzIHNlcmllcyBvbmx5IGNvdmVycyBw YXJ0IG9mIHRoZSB3b3JrIGNvbnRyaWJ1dGVkIGJ5DQo+SmFnYWRlZXNoLg0KPj4gPiA+ID4gVGhp cyBzZXJpZXMgZm9jdXNlcyBvbiB0aGUgTWRlUGtnIGFuZCBNZGVNb2R1bGVQa2cgY2hhbmdlcyB0 aGF0DQo+YWZmZWN0IHNoYXJlZA0KPj4gPiA+ID4gY29kZS4NCj4+ID4gPiA+DQo+PiA+ID4gPiBD YzogTGFzemxvIEVyc2VrIDxsZXJzZWtAcmVkaGF0LmNvbT4NCj4+ID4gPiA+IENjOiBMZWlmIExp bmRob2xtIDxsZWlmLmxpbmRob2xtQGxpbmFyby5vcmc+DQo+PiA+ID4gPiBDYzogTWljaGFlbCBE IEtpbm5leSA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+DQo+PiA+ID4gPiBDYzogTGltaW5n IEdhbyA8bGltaW5nLmdhb0BpbnRlbC5jb20+DQo+PiA+ID4gPiBDYzogSmlhbiBKIFdhbmcgPGpp YW4uai53YW5nQGludGVsLmNvbT4NCj4+ID4gPiA+IENjOiBIYW8gV3UgPGhhby5hLnd1QGludGVs LmNvbT4NCj4+ID4gPiA+IENjOiBKYWdhZGVlc2ggVWpqYSA8amFnYWRlZXNoLnVqamFAYXJtLmNv bT4NCj4+ID4gPiA+IENjOiBBY2hpbiBHdXB0YSA8QWNoaW4uR3VwdGFAYXJtLmNvbT4NCj4+ID4g PiA+IENjOiBUaG9tYXMgUGFuYWthbWF0dGFtIEFicmFoYW0gPHRob21hcy5hYnJhaGFtQGFybS5j b20+DQo+PiA+ID4gPiBDYzogU2FtaSBNdWphd2FyIDxTYW1pLk11amF3YXJAYXJtLmNvbT4NCj4+ ID4gPiA+DQo+PiA+ID4gPiBBcmQgQmllc2hldXZlbCAoNSk6DQo+PiA+ID4gPiAgIE1kZVBrZzog aW1wbGVtZW50IE1tU2VydmljZXNUYWJsZUxpYiBiYXNlZCBvbiB0cmFkaXRpb25hbCBTTU0NCj4+ ID4gPiA+ICAgTWRlTW9kdWxlUGtnL0ZhdWx0VG9sZXJhbnRXcml0ZUR4ZTogZmFjdG9yIG91dCBi b290IHNlcnZpY2UNCj5hY2Nlc3Nlcw0KPj4gPiA+ID4gICBNZGVNb2R1bGVQa2cvRmF1bHRUb2xl cmFudFdyaXRlRHhlOiBpbXBsZW1lbnQgc3RhbmRhbG9uZSBNTQ0KPnZlcnNpb24NCj4+ID4gPiA+ ICAgTWRlTW9kdWxlUGtnL1ZhcmlhYmxlUnVudGltZUR4ZTogZmFjdG9yIG91dCBib290IHNlcnZp Y2UNCj5hY2Nlc3Nlcw0KPj4gPiA+ID4gICBNZGVNb2R1bGVQa2cvVmFyaWFibGVSdW50aW1lRHhl OiBpbXBsZW1lbnQgc3RhbmRhbG9uZSBNTQ0KPnZlcnNpb24NCj4+ID4gPiA+DQo+PiA+ID4gPiBK YWdhZGVlc2ggVWpqYSAoMSk6DQo+PiA+ID4gPiAgIE1kZVBrZy9JbmNsdWRlOiBhZGQgTW1TZXJ2 aWNlc1RhYmxlTGliIGhlYWRlciBmaWxlDQo+PiA+ID4gPg0KPj4gPiA+ID4gIE1kZU1vZHVsZVBr Zy9NZGVNb2R1bGVQa2cuZHNjICAgICAgICAgICAgICAgICB8ICAgMSArDQo+PiA+ID4gPiAgLi4u L0ZhdWx0VG9sZXJhbnRXcml0ZS5oICAgICAgICAgICAgICAgICAgICAgIHwgIDIyICsrLQ0KPj4g PiA+ID4gIC4uLi9GYXVsdFRvbGVyYW50V3JpdGVEeGUuYyAgICAgICAgICAgICAgICAgICB8ICAz MSArKysrDQo+PiA+ID4gPiAgLi4uL0ZhdWx0VG9sZXJhbnRXcml0ZVNtbS5jICAgICAgICAgICAg ICAgICAgIHwgIDU0ICsrKy0tLS0NCj4+ID4gPiA+ICAuLi4vRmF1bHRUb2xlcmFudFdyaXRlU21t LmluZiAgICAgICAgICAgICAgICAgfCAgIDUgKy0NCj4+ID4gPiA+ICAuLi4vRmF1bHRUb2xlcmFu dFdyaXRlU21tQ29tbW9uLmggICAgICAgICAgICAgfCAgMzEgKysrKw0KPj4gPiA+ID4gIC4uLi9G YXVsdFRvbGVyYW50V3JpdGVTbW1EeGUuYyAgICAgICAgICAgICAgICB8ICAgMSArDQo+PiA+ID4g PiAgLi4uL0ZhdWx0VG9sZXJhbnRXcml0ZVN0YW5kYWxvbmVNbS5jICAgICAgICAgIHwgIDcwICsr KysrKysrKw0KPj4gPiA+ID4gIC4uLi9GYXVsdFRvbGVyYW50V3JpdGVTdGFuZGFsb25lTW0uaW5m ICAgICAgICB8ICA5MCArKysrKysrKysrKysNCj4+ID4gPiA+ICAuLi4vRmF1bHRUb2xlcmFudFdy aXRlVHJhZGl0aW9uYWxNbS5jICAgICAgICAgfCAgOTQgKysrKysrKysrKysrDQo+PiA+ID4gPiAg Li4uL1VwZGF0ZVdvcmtpbmdCbG9jay5jICAgICAgICAgICAgICAgICAgICAgIHwgIDEwICstDQo+ PiA+ID4gPiAgLi4uL1ZhcmlhYmxlL1J1bnRpbWVEeGUvVGNnTW9yTG9ja1NtbS5jICAgICAgIHwg IDE4ICstLQ0KPj4gPiA+ID4gIC4uLi9Vbml2ZXJzYWwvVmFyaWFibGUvUnVudGltZUR4ZS9WYXJp YWJsZS5oICB8ICA1MCArKysrKysrDQo+PiA+ID4gPiAgLi4uL1ZhcmlhYmxlL1J1bnRpbWVEeGUv VmFyaWFibGVTbW0uYyAgICAgICAgIHwgIDU5ICsrKy0tLS0tDQo+PiA+ID4gPiAgLi4uL1Zhcmlh YmxlL1J1bnRpbWVEeGUvVmFyaWFibGVTbW0uaW5mICAgICAgIHwgICA1ICstDQo+PiA+ID4gPiAg Li4uL1J1bnRpbWVEeGUvVmFyaWFibGVTdGFuZGFsb25lTW0uYyAgICAgICAgIHwgIDY5ICsrKysr KysrKw0KPj4gPiA+ID4gIC4uLi9SdW50aW1lRHhlL1ZhcmlhYmxlU3RhbmRhbG9uZU1tLmluZiAg ICAgICB8IDEzNQ0KPisrKysrKysrKysrKysrKysrKw0KPj4gPiA+ID4gIC4uLi9SdW50aW1lRHhl L1ZhcmlhYmxlVHJhZGl0aW9uYWxNbS5jICAgICAgICB8IDExNCArKysrKysrKysrKysrKysNCj4+ ID4gPiA+ICBNZGVQa2cvSW5jbHVkZS9MaWJyYXJ5L01tU2VydmljZXNUYWJsZUxpYi5oICAgfCAg MjUgKysrKw0KPj4gPiA+ID4gIC4uLi9NbVNlcnZpY2VzVGFibGVMaWIvTW1TZXJ2aWNlc1RhYmxl TGliLmMgICB8ICA2MyArKysrKysrKw0KPj4gPiA+ID4gIC4uLi9NbVNlcnZpY2VzVGFibGVMaWIv TW1TZXJ2aWNlc1RhYmxlTGliLmluZiB8ICA0NSArKysrKysNCj4+ID4gPiA+ICAuLi4vTW1TZXJ2 aWNlc1RhYmxlTGliL01tU2VydmljZXNUYWJsZUxpYi51bmkgfCAgMjIgKysrDQo+PiA+ID4gPiAg TWRlUGtnL01kZVBrZy5kZWMgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICA0ICsNCj4+ ID4gPiA+ICBNZGVQa2cvTWRlUGtnLmRzYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAg IDEgKw0KPj4gPiA+ID4gIDI0IGZpbGVzIGNoYW5nZWQsIDkxNiBpbnNlcnRpb25zKCspLCAxMDMg ZGVsZXRpb25zKC0pDQo+PiA+ID4gPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+TWRlTW9kdWxlUGtn L1VuaXZlcnNhbC9GYXVsdFRvbGVyYW50V3JpdGVEeGUvRmF1bHRUb2xlcmFudFdyaXRlU3RhbmRh bA0KPm9uZU1tLmMNCj4+ID4gPiA+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj5NZGVNb2R1bGVQa2cv VW5pdmVyc2FsL0ZhdWx0VG9sZXJhbnRXcml0ZUR4ZS9GYXVsdFRvbGVyYW50V3JpdGVTdGFuZGFs DQo+b25lTW0uaW5mDQo+PiA+ID4gPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+TWRlTW9kdWxlUGtn L1VuaXZlcnNhbC9GYXVsdFRvbGVyYW50V3JpdGVEeGUvRmF1bHRUb2xlcmFudFdyaXRlVHJhZGl0 aW8NCj5uYWxNbS5jDQo+PiA+ID4gPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+TWRlTW9kdWxlUGtn L1VuaXZlcnNhbC9WYXJpYWJsZS9SdW50aW1lRHhlL1ZhcmlhYmxlU3RhbmRhbG9uZU1tLmMNCj4+ ID4gPiA+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj5NZGVNb2R1bGVQa2cvVW5pdmVyc2FsL1Zhcmlh YmxlL1J1bnRpbWVEeGUvVmFyaWFibGVTdGFuZGFsb25lTW0uaW5mDQo+PiA+ID4gPiAgY3JlYXRl IG1vZGUgMTAwNjQ0DQo+TWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9WYXJpYWJsZS9SdW50aW1lRHhl L1ZhcmlhYmxlVHJhZGl0aW9uYWxNbS5jDQo+PiA+ID4gPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IE1k ZVBrZy9JbmNsdWRlL0xpYnJhcnkvTW1TZXJ2aWNlc1RhYmxlTGliLmgNCj4+ID4gPiA+ICBjcmVh dGUgbW9kZSAxMDA2NDQNCj5NZGVQa2cvTGlicmFyeS9NbVNlcnZpY2VzVGFibGVMaWIvTW1TZXJ2 aWNlc1RhYmxlTGliLmMNCj4+ID4gPiA+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj5NZGVQa2cvTGli cmFyeS9NbVNlcnZpY2VzVGFibGVMaWIvTW1TZXJ2aWNlc1RhYmxlTGliLmluZg0KPj4gPiA+ID4g IGNyZWF0ZSBtb2RlIDEwMDY0NA0KPk1kZVBrZy9MaWJyYXJ5L01tU2VydmljZXNUYWJsZUxpYi9N bVNlcnZpY2VzVGFibGVMaWIudW5pDQo+PiA+ID4gPg0KPj4gPiA+ID4gLS0NCj4+ID4gPiA+IDIu MTcuMQ0KPj4gPiA+DQo=