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=michael.d.kinney@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 DE5F221ED1C73 for ; Mon, 12 Mar 2018 18:34:09 -0700 (PDT) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga105.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 12 Mar 2018 18:38:42 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.47,463,1515484800"; d="scan'208";a="41422451" Received: from orsmsx108.amr.corp.intel.com ([10.22.240.6]) by orsmga002.jf.intel.com with ESMTP; 12 Mar 2018 18:38:41 -0700 Received: from orsmsx161.amr.corp.intel.com (10.22.240.84) by ORSMSX108.amr.corp.intel.com (10.22.240.6) with Microsoft SMTP Server (TLS) id 14.3.319.2; Mon, 12 Mar 2018 18:38:41 -0700 Received: from orsmsx113.amr.corp.intel.com ([169.254.9.121]) by ORSMSX161.amr.corp.intel.com ([169.254.4.89]) with mapi id 14.03.0319.002; Mon, 12 Mar 2018 18:38:41 -0700 From: "Kinney, Michael D" To: "Zeng, Star" , Ming Huang , "Ni, Ruiyu" , "leif.lindholm@linaro.org" , "linaro-uefi@lists.linaro.org" , "edk2-devel@lists.01.org" , "graeme.gregory@linaro.org" , "Dong, Eric" , "Kinney, Michael D" CC: "huangming23@huawei.com" , "wanghuiqiang@huawei.com" , "ard.biesheuvel@linaro.org" , "zhangjinsong2@huawei.com" , "Gao, Liming" , "guoheyi@huawei.com" , "waip23@126.com" , "mengfanrong@huawei.com" , "huangdaode@hisilicon.com" Thread-Topic: [edk2] [RFC v1 1/1] MdeModulePkg/Usb: Use Pcd for UsbBootIoBlocks Thread-Index: AQHTrVISmBXxdrrQrEGZZa2AtPJOXKO4QhcAgABDToCAAAoRgIAEfZmAgA+cvwCAAC37UIABC8qA//+ZTwA= Date: Tue, 13 Mar 2018 01:38:40 +0000 Message-ID: References: <1519464575-38109-1-git-send-email-ming.huang@linaro.org> <1519464575-38109-2-git-send-email-ming.huang@linaro.org> <734D49CCEBEEF84792F5B80ED585239D5BBC26C6@SHSMSX104.ccr.corp.intel.com> <8fb46727-76ea-6a86-d936-ea3cec9df3d8@linaro.org> <3d24a3f3-a704-b4bd-4d7d-6f1fdc46f78b@linaro.org> <0C09AFA07DD0434D9E2A0C6AEB0483103BA62A36@shsmsx102.ccr.corp.intel.com> In-Reply-To: <0C09AFA07DD0434D9E2A0C6AEB0483103BA62A36@shsmsx102.ccr.corp.intel.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.0.0.116 dlp-reaction: no-action x-originating-ip: [10.22.254.138] MIME-Version: 1.0 Subject: Re: [RFC v1 1/1] MdeModulePkg/Usb: Use Pcd for UsbBootIoBlocks X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 13 Mar 2018 01:34:10 -0000 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 U3RhciwNCg0KTWF5YmUgd2Ugc2hvdWxkIGV2YWx1YXRlIGJsb2NrIHNpemUgb2YgdGhlIHRhcmdl dCBVU0INCmRldmljZSBhbmQgbGltaXQgdGhlIHRvdGFsIHRyYW5zZmVyIHNpemUgdG8gNjRLQi4N Cg0KVGhpcyB3b3VsZCBjb250aW51ZSB0byB1c2UgMTI4IGZvciA1MTJCIGJsb2NrcyBhbmQgDQoz MiBmb3IgMksgYmxvY2tzLg0KDQpNaWtlDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0N Cj4gRnJvbTogWmVuZywgU3Rhcg0KPiBTZW50OiBNb25kYXksIE1hcmNoIDEyLCAyMDE4IDU6NDQg UE0NCj4gVG86IEtpbm5leSwgTWljaGFlbCBEIDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT47 IE1pbmcNCj4gSHVhbmcgPG1pbmcuaHVhbmdAbGluYXJvLm9yZz47IE5pLCBSdWl5dQ0KPiA8cnVp eXUubmlAaW50ZWwuY29tPjsgbGVpZi5saW5kaG9sbUBsaW5hcm8ub3JnOyBsaW5hcm8tDQo+IHVl ZmlAbGlzdHMubGluYXJvLm9yZzsgZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmc7DQo+IGdyYWVtZS5n cmVnb3J5QGxpbmFyby5vcmc7IERvbmcsIEVyaWMNCj4gPGVyaWMuZG9uZ0BpbnRlbC5jb20+DQo+ IENjOiBodWFuZ21pbmcyM0BodWF3ZWkuY29tOyB3YW5naHVpcWlhbmdAaHVhd2VpLmNvbTsNCj4g YXJkLmJpZXNoZXV2ZWxAbGluYXJvLm9yZzsgemhhbmdqaW5zb25nMkBodWF3ZWkuY29tOw0KPiBH YW8sIExpbWluZyA8bGltaW5nLmdhb0BpbnRlbC5jb20+OyBndW9oZXlpQGh1YXdlaS5jb207DQo+ IHdhaXAyM0AxMjYuY29tOyBtZW5nZmFucm9uZ0BodWF3ZWkuY29tOw0KPiBodWFuZ2Rhb2RlQGhp c2lsaWNvbi5jb207IFplbmcsIFN0YXINCj4gPHN0YXIuemVuZ0BpbnRlbC5jb20+DQo+IFN1Ympl Y3Q6IFJFOiBbZWRrMl0gW1JGQyB2MSAxLzFdIE1kZU1vZHVsZVBrZy9Vc2I6IFVzZQ0KPiBQY2Qg Zm9yIFVzYkJvb3RJb0Jsb2Nrcw0KPiANCj4gTWlrZSwNCj4gDQo+IFRoZXJlIHdhcyBzb21lIGRp c2N1c3Npb24gYXQNCj4gaHR0cHM6Ly9saXN0cy4wMS5vcmcvcGlwZXJtYWlsL2VkazItZGV2ZWwv MjAxNy0NCj4gSmFudWFyeS8wMDY3MDcuaHRtbC4NCj4gU2VlbWluZywgdGhlcmUgaXMgbm8gZGV0 YWlsZWQgaW5mb3JtYXRpb24gYWJvdXQgd2h5IGl0DQo+IHdhcyBjaGFuZ2VkIHRvIDEyOCBhY2Nv cmRpbmcgdG8gdGhlIGNvbW1pdCBsb2cuDQo+IA0KPiANCj4gVGhhbmtzLA0KPiBTdGFyDQo+IA0K PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBLaW5uZXksIE1pY2hhZWwgRA0K PiBTZW50OiBNb25kYXksIE1hcmNoIDEyLCAyMDE4IDExOjQ3IFBNDQo+IFRvOiBNaW5nIEh1YW5n IDxtaW5nLmh1YW5nQGxpbmFyby5vcmc+OyBOaSwgUnVpeXUNCj4gPHJ1aXl1Lm5pQGludGVsLmNv bT47IGxlaWYubGluZGhvbG1AbGluYXJvLm9yZzsgbGluYXJvLQ0KPiB1ZWZpQGxpc3RzLmxpbmFy by5vcmc7IGVkazItZGV2ZWxAbGlzdHMuMDEub3JnOw0KPiBncmFlbWUuZ3JlZ29yeUBsaW5hcm8u b3JnOyBaZW5nLCBTdGFyDQo+IDxzdGFyLnplbmdAaW50ZWwuY29tPjsgRG9uZywgRXJpYyA8ZXJp Yy5kb25nQGludGVsLmNvbT47DQo+IEtpbm5leSwgTWljaGFlbCBEIDxtaWNoYWVsLmQua2lubmV5 QGludGVsLmNvbT4NCj4gQ2M6IGh1YW5nbWluZzIzQGh1YXdlaS5jb207IHdhbmdodWlxaWFuZ0Bo dWF3ZWkuY29tOw0KPiBhcmQuYmllc2hldXZlbEBsaW5hcm8ub3JnOyB6aGFuZ2ppbnNvbmcyQGh1 YXdlaS5jb207DQo+IEdhbywgTGltaW5nIDxsaW1pbmcuZ2FvQGludGVsLmNvbT47IGd1b2hleWlA aHVhd2VpLmNvbTsNCj4gd2FpcDIzQDEyNi5jb207IG1lbmdmYW5yb25nQGh1YXdlaS5jb207DQo+ IGh1YW5nZGFvZGVAaGlzaWxpY29uLmNvbQ0KPiBTdWJqZWN0OiBSRTogW2VkazJdIFtSRkMgdjEg MS8xXSBNZGVNb2R1bGVQa2cvVXNiOiBVc2UNCj4gUGNkIGZvciBVc2JCb290SW9CbG9ja3MNCj4g DQo+IERvZXMgYW55b25lIGtub3cgd293IHdhcyB0aGUgb3JpZ2luYWwgI2RlZmluZSBvZiAxMjgN Cj4gc2VsZWN0ZWQ/DQo+IA0KPiBJZiB3ZSBhcmUgc2VlaW5nIGNvbXBhdGliaWxpdHkgaXNzdWVz IHdpdGggMTI4IGFuZCB3ZQ0KPiBoYXZlIGdyZWF0ZXIgY29tcGF0aWJpbGl0eSB3aXRoIDY0LCB3 aGF0IHdvdWxkIGJlIHRoZQ0KPiBpbXBhY3Qgb2YganVzdCBjaGFuZ2luZyB0aGUgI2RlZmluZSB0 byA2ND8NCj4gDQo+IFRoYW5rcywNCj4gDQo+IE1pa2UNCj4gDQo+ID4gLS0tLS1PcmlnaW5hbCBN ZXNzYWdlLS0tLS0NCj4gPiBGcm9tOiBNaW5nIEh1YW5nIFttYWlsdG86bWluZy5odWFuZ0BsaW5h cm8ub3JnXQ0KPiA+IFNlbnQ6IFN1bmRheSwgTWFyY2ggMTEsIDIwMTggMTE6MDEgUE0NCj4gPiBU bzogTmksIFJ1aXl1IDxydWl5dS5uaUBpbnRlbC5jb20+Ow0KPiA+IGxlaWYubGluZGhvbG1AbGlu YXJvLm9yZzsgbGluYXJvLQ0KPiB1ZWZpQGxpc3RzLmxpbmFyby5vcmc7DQo+ID4gZWRrMi1kZXZl bEBsaXN0cy4wMS5vcmc7IGdyYWVtZS5ncmVnb3J5QGxpbmFyby5vcmc7DQo+IFplbmcsIFN0YXIN Cj4gPiA8c3Rhci56ZW5nQGludGVsLmNvbT47IERvbmcsIEVyaWMNCj4gPGVyaWMuZG9uZ0BpbnRl bC5jb20+DQo+ID4gQ2M6IGh1YW5nbWluZzIzQGh1YXdlaS5jb207IHdhbmdodWlxaWFuZ0BodWF3 ZWkuY29tOw0KPiA+IGFyZC5iaWVzaGV1dmVsQGxpbmFyby5vcmc7IHpoYW5namluc29uZzJAaHVh d2VpLmNvbTsNCj4gS2lubmV5LCBNaWNoYWVsIEQNCj4gPiA8bWljaGFlbC5kLmtpbm5leUBpbnRl bC5jb20+OyBHYW8sIExpbWluZw0KPiA8bGltaW5nLmdhb0BpbnRlbC5jb20+Ow0KPiA+IGd1b2hl eWlAaHVhd2VpLmNvbTsgd2FpcDIzQDEyNi5jb207DQo+IG1lbmdmYW5yb25nQGh1YXdlaS5jb207 DQo+ID4gaHVhbmdkYW9kZUBoaXNpbGljb24uY29tDQo+ID4gU3ViamVjdDogUmU6IFtlZGsyXSBb UkZDIHYxIDEvMV0gTWRlTW9kdWxlUGtnL1VzYjogVXNlDQo+IFBjZCBmb3INCj4gPiBVc2JCb290 SW9CbG9ja3MNCj4gPg0KPiA+IEFueSBjb21tZW50cyBhYm91dCB0aGlzIHBhdGNoPw0KPiA+DQo+ ID4NCj4gPiBPbiAyMDE4LzMvMiAxNDozNiwgTWluZyBIdWFuZyB3cm90ZToNCj4gPiA+DQo+ID4g PiBPbiAyMDE4LzIvMjcgMTg6MDEsIE5pLCBSdWl5dSB3cm90ZToNCj4gPiA+PiBPbiAyLzI3LzIw MTggNToyNSBQTSwgTWluZyBIdWFuZyB3cm90ZToNCj4gPiA+Pj4NCj4gPiA+Pj4gT24gMjAxOC8y LzI3IDEzOjI1LCBOaSwgUnVpeXUgd3JvdGU6DQo+ID4gPj4+PiBJIGRvbid0IHByZWZlciB0byBh ZGQgUENELCB1bmxlc3Mgd2UgY2Fubm90IGZpbmQ6DQo+ID4gPj4+PiAxLiBzcGVjIGNvbnRlbnTC oCB0byBkZXNjcmliZSB0aGUgbWF4L21pbiBibG9ja3MNCj4gPiA+Pj4gVGhlcmUgaXMgbm8gc3Bl YyBhYm91dCB0aGUgbWF4L21pbiBibG9ja3MgaW4gbXkNCj4gPiBtaW5kLiBJIGhhZCBjaGVja2Vk IHRoaXMgaW4NCj4gPiA+Pj4gc2V2ZXJhbCBwZGYgZG9jdW1lbnQgbGlrZQ0KPiA+ID4+PiBVbml2 ZXJzYWwgU2VyaWFsIEJ1cyBNYXNzIFN0b3JhZ2UgQ2xhc3MNCj4gPiBTcGVjaWZpY2F0aW9uIE92 ZXJ2aWV3LA0KPiA+ID4+PiBVbml2ZXJzYWwgU2VyaWFsIEJ1cyBNYXNzIFN0b3JhZ2UgU3BlY2lm aWNhdGlvbg0KPiBGb3INCj4gPiBCb290YWJpbGl0eSwNCj4gPiA+Pj4gVW5pdmVyc2FsIFNlcmlh bCBCdXMgTWFzcyBTdG9yYWdlIENsYXNzIEJ1bGstT25seQ0KPiA+IFRyYW5zcG9ydC4NCj4gPiA+ Pj4+IDIuIGVycm9yIGhhbmRsaW5nIHdoZW4gdGhlIGJsb2NrcyBudW1iZXIgaXMNCj4gYmlnZ2Vy DQo+ID4gdGhhbiBIVyBleHBlY3RzLg0KPiA+ID4+PiBXaGVyZSBzaG91bGQgZXJyb3IgaGFuZGxp bmcgYWRkIHRvP8KgIEVycm9yIGhhbmRpbmcNCj4gPiBjYW4ndCBhZGQgdG8gSFcgKGVuZC1wb2lu dCBkZXZpY2UpLA0KPiA+ID4+PiBiZWNhdXNlIEhXIGlzIG5vdCBpbiBvdXIgY29udHJvbCBzY29w ZS4NCj4gPiA+PiBJIG1lYW4gbWF5YmUgc3BlYyBkZXNjcmliZXMgYW4gZXJyb3Igc3RhdHVzIGNv dWxkDQo+IGJlDQo+ID4gcmV0dXJuZWQgZnJvbSBIVyB3aGVuIHVzaW5nIDEyOC4gU28gdGhhdCB3 ZSBjYW4gdXNlDQo+IDY0LCAzMiwgYW5kDQo+ID4gc21hbGxlciB2YWx1ZSB1bnRpbCBIVyBpcyBo YXBweS4NCj4gPiA+Pg0KPiA+ID4+IEkgYW0gY3VyaW91cyBob3cgdGhlIG90aGVyIFVTQiBzdG9y YWdlIGRyaXZlcnMNCj4gaGFuZGxlDQo+ID4gdGhpcy4NCj4gPiA+PiBQQ0QgaXMgYSBzdGF0aWMg d2F5LiBEeW5hbWljIHdheSBpcyBtb3JlIHByZWZlcnJlZC4NCj4gPiA+Pg0KPiA+ID4gV2hlbiB1 c2luZyAxMjgswqAgYWZ0ZXIgd2FpdGluZw0KPiA+IDV4NShVU0JfQk9PVF9DT01NQU5EX1JFVFJZ PTUsDQo+ID4gVVNCX0JPT1RfR0VORVJBTF9DTURfVElNRU9VVD01KSBzZWNvbmRzLA0KPiA+ID4g dGhlIFVzYkJvb3RSZWFkQmxvY2tzIC0+VXNiQm9vdEV4ZWNDbWRXaXRoUmV0cnkNCj4gcmV0cnVu DQo+ID4gVGltZU91dC4gSSBkb24ndCBrbm93IHdoeSBIVyByZXR1cm4gVGltZW91dC4NCj4gPiA+ IEJvb3RpbmcgdGltZSBpcyB0byBsb25nIGlmIHVzaW5nIER5bmFtaWMgd2F5IHRvIGZpeA0KPiA+ IHRoZSBpc3N1ZS4NCj4gPiA+IFdoZW4gdXNpbmcgNjQsIEl0IHdvcmtzIGFuZCBib290aW5nIGZy b20gSFcgc3VjY2VlZC4NCj4gPiA+IE1heSBiZSB1c2luZyBQQ0QgaXMgYSBzaW1wbGUgYW5kIGVm ZmVjdGl2ZSBtZWFuLg0KPiA+ID4NCj4gPiA+IFRoYW5rcw0KPiA+ID4gTWluZw0KPiA+ID4+Pj4g VGhhbmtzL1JheQ0KPiA+ID4+Pj4NCj4gPiA+Pj4+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0t LQ0KPiA+ID4+Pj4+IEZyb206IGVkazItZGV2ZWwgW21haWx0bzplZGsyLWRldmVsLQ0KPiA+IGJv dW5jZXNAbGlzdHMuMDEub3JnXSBPbiBCZWhhbGYgT2YNCj4gPiA+Pj4+PiBNaW5nIEh1YW5nDQo+ ID4gPj4+Pj4gU2VudDogU2F0dXJkYXksIEZlYnJ1YXJ5IDI0LCAyMDE4IDU6MzAgUE0NCj4gPiA+ Pj4+PiBUbzogbGVpZi5saW5kaG9sbUBsaW5hcm8ub3JnOyBsaW5hcm8tDQo+ID4gdWVmaUBsaXN0 cy5saW5hcm8ub3JnOyBlZGsyLQ0KPiA+ID4+Pj4+IGRldmVsQGxpc3RzLjAxLm9yZzsgZ3JhZW1l LmdyZWdvcnlAbGluYXJvLm9yZzsNCj4gPiBaZW5nLCBTdGFyDQo+ID4gPj4+Pj4gPHN0YXIuemVu Z0BpbnRlbC5jb20+OyBEb25nLCBFcmljDQo+ID4gPGVyaWMuZG9uZ0BpbnRlbC5jb20+DQo+ID4g Pj4+Pj4gQ2M6IGh1YW5nbWluZzIzQGh1YXdlaS5jb207DQo+ID4gYXJkLmJpZXNoZXV2ZWxAbGlu YXJvLm9yZzsgTWluZyBIdWFuZw0KPiA+ID4+Pj4+IDxtaW5nLmh1YW5nQGxpbmFyby5vcmc+OyBH YW8sIExpbWluZw0KPiA+IDxsaW1pbmcuZ2FvQGludGVsLmNvbT47DQo+ID4gPj4+Pj4gbWVuZ2Zh bnJvbmdAaHVhd2VpLmNvbTsgZ3VvaGV5aUBodWF3ZWkuY29tOw0KPiA+ID4+Pj4+IHpoYW5namlu c29uZzJAaHVhd2VpLmNvbTsgS2lubmV5LCBNaWNoYWVsIEQNCj4gPiA+Pj4+PiA8bWljaGFlbC5k Lmtpbm5leUBpbnRlbC5jb20+OyB3YWlwMjNAMTI2LmNvbTsNCj4gPiA+Pj4+PiB3YW5naHVpcWlh bmdAaHVhd2VpLmNvbTsNCj4gaHVhbmdkYW9kZUBoaXNpbGljb24uY29tDQo+ID4gPj4+Pj4gU3Vi amVjdDogW2VkazJdIFtSRkMgdjEgMS8xXSBNZGVNb2R1bGVQa2cvVXNiOg0KPiBVc2UNCj4gPiBQ Y2QgZm9yDQo+ID4gPj4+Pj4gVXNiQm9vdElvQmxvY2tzDQo+ID4gPj4+Pj4NCj4gPiA+Pj4+PiBC b290aW5nIGZyb20gVVNCIG1heSBmYWlsIHdoaWxlIHRoZSBtYWNybw0KPiA+IFVTQl9CT09UX0lP X0JMT0NLUyBzZXQgdG8gMTI4DQo+ID4gPj4+Pj4gYmVjYXVzZSAxMjggYmxvY2tzIGlzIGV4Y2Vl ZGVkIHRoZSBtYXhpbXVuDQo+IGJsb2Nrcw0KPiA+IG9mIHNvbWUgVVNCDQo+ID4gPj4+Pj4gZGV2 aWNlcyxsaWtlIHNvbWUgdmlydHVhbCBDRC1ST00gZnJvbSBCTUMuIFNvLA0KPiA+IGdpdmUgYSBj aGFuY2UgdG8gc2V0IHRoZQ0KPiA+ID4+Pj4+IHZhbHVlIG9mIFVTQl9CT09UX0lPX0JMT0NLUyBi eSBhZGRpbmcgYSBQY2QuDQo+ID4gPj4+Pj4NCj4gPiA+Pj4+PiBDb250cmlidXRlZC11bmRlcjog VGlhbm9Db3JlIENvbnRyaWJ1dGlvbg0KPiA+IEFncmVlbWVudCAxLjENCj4gPiA+Pj4+PiBTaWdu ZWQtb2ZmLWJ5OiBNaW5nIEh1YW5nDQo+IDxtaW5nLmh1YW5nQGxpbmFyby5vcmc+DQo+ID4gPj4+ Pj4gLS0tDQo+ID4NCj4gPj4+Pj4gwqAgTWRlTW9kdWxlUGtnL0J1cy9Vc2IvVXNiTWFzc1N0b3Jh Z2VEeGUvVXNiTWFzc0JvDQo+ID4gb3QuaMKgwqDCoMKgwqDCoMKgwqAgfCA3DQo+ID4gPj4+Pj4g KysrKystLQ0KPiA+DQo+ID4+Pj4+IMKgIE1kZU1vZHVsZVBrZy9CdXMvVXNiL1VzYk1hc3NTdG9y YWdlRHhlL1VzYk1hc3NTdA0KPiA+IG9yYWdlRHhlLmluZiB8IDQNCj4gPiA+Pj4+PiArKysrDQo+ ID4gPj4+Pj4gwqAgTWRlTW9kdWxlUGtnL01kZU1vZHVsZVBrZy5kZWMNCj4gPiDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqAgfCA0ICsrKysNCj4gPiA+Pj4+PiDCoCBNZGVNb2R1bGVQa2cvTWRlTW9k dWxlUGtnLnVuaQ0KPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDQgKysrKw0KPiA+ID4+ Pj4+IMKgIDQgZmlsZXMgY2hhbmdlZCwgMTcgaW5zZXJ0aW9ucygrKSwgMg0KPiBkZWxldGlvbnMo LQ0KPiA+ICkNCj4gPiA+Pj4+Pg0KPiA+ID4+Pj4+IGRpZmYgLS1naXQNCj4gPiBhL01kZU1vZHVs ZVBrZy9CdXMvVXNiL1VzYk1hc3NTdG9yYWdlRHhlL1VzYk1hc3NCb290LmgNCj4gPiA+Pj4+Pg0K PiA+IGIvTWRlTW9kdWxlUGtnL0J1cy9Vc2IvVXNiTWFzc1N0b3JhZ2VEeGUvVXNiTWFzc0Jvb3Qu aA0KPiA+ID4+Pj4+IGluZGV4IDVlZTUwYWM1MmEyMS4uY2E5MjQwYWRiZDVmIDEwMDY0NA0KPiA+ ID4+Pj4+IC0tLQ0KPiA+IGEvTWRlTW9kdWxlUGtnL0J1cy9Vc2IvVXNiTWFzc1N0b3JhZ2VEeGUv VXNiTWFzc0Jvb3QuaA0KPiA+ID4+Pj4+ICsrKw0KPiA+IGIvTWRlTW9kdWxlUGtnL0J1cy9Vc2Iv VXNiTWFzc1N0b3JhZ2VEeGUvVXNiTWFzc0Jvb3QuaA0KPiA+ID4+Pj4+IEBAIC0xNiw2ICsxNiw4 IEBAIFdJVEhPVVQgV0FSUkFOVElFUyBPUg0KPiA+IFJFUFJFU0VOVEFUSU9OUyBPRiBBTlkNCj4g PiA+Pj4+PiBLSU5ELCBFSVRIRVIgRVhQUkVTUyBPUiBJTVBMSUVELg0KPiA+ID4+Pj4+IMKgICNp Zm5kZWYgX0VGSV9VU0JfTUFTU19CT09UX0hfDQo+ID4gPj4+Pj4gwqAgI2RlZmluZSBfRUZJX1VT Ql9NQVNTX0JPT1RfSF8NCj4gPiA+Pj4+Pg0KPiA+ID4+Pj4+ICsjaW5jbHVkZSA8TGlicmFyeS9Q Y2RMaWIuaD4NCj4gPiA+Pj4+PiArDQo+ID4gPj4+Pj4gwqAgLy8NCj4gPiA+Pj4+PiDCoCAvLyBU aGUgb3Bjb2RlcyBvZiB2YXJpb3VzIFVTQiBib290IGNvbW1hbmRzOg0KPiA+ID4+Pj4+IMKgIC8v IElOUVVJUlkvUkVRVUVTVF9TRU5TRSBhcmUgIk5vIFRpbWVvdXQNCj4gPiBDb21tYW5kcyIgYXMg c3BlY2lmaWVkIEBADQo+ID4gPj4+Pj4gLTY2LDkgKzY4LDEwIEBAIFdJVEhPVVQgV0FSUkFOVElF UyBPUg0KPiA+IFJFUFJFU0VOVEFUSU9OUyBPRiBBTlkNCj4gPiA+Pj4+PiBLSU5ELCBFSVRIRVIg RVhQUkVTUyBPUiBJTVBMSUVELg0KPiA+ID4+Pj4+IMKgICNkZWZpbmUNCj4gPiBVU0JfUERUX1NJ TVBMRV9ESVJFQ1TCoMKgwqDCoMKgwqDCoMKgwqDCoCAweDBFwqDCoMKgwqDCoMKgIC8vLzwNCj4g U2ltcGxpZmllZCBkaXJlY3QNCj4gPiBhY2Nlc3MNCj4gPiA+Pj4+PiBkZXZpY2UNCj4gPiA+Pj4+ Pg0KPiA+ID4+Pj4+IMKgIC8vDQo+ID4gPj4+Pj4gLS8vIE90aGVyIHBhcmFtZXRlcnMsIE1heCBj YXJyaWVkIHNpemUgaXMgNTEyQiAqDQo+ID4gMTI4ID0gNjRLQg0KPiA+ID4+Pj4+ICsvLyBPdGhl ciBwYXJhbWV0ZXJzLCBNYXggY2FycmllZCBzaXplIGlzDQo+IGRlcGFuZGVkDQo+ID4gb24gUGNk Lg0KPiA+ID4+Pj4+ICsvLyBUaGUgZGVmYXVsdCBvZiBQY2RVc2JCb290SW9CbG9ja3MgaXMgMTI4 Lg0KPiA1MTJCDQo+ID4gKiAxMjggPSA2NEtCDQo+ID4gPj4+Pj4gwqAgLy8NCj4gPiA+Pj4+PiAt I2RlZmluZSBVU0JfQk9PVF9JT19CTE9DS1PCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAxMjgN Cj4gPiA+Pj4+PiArI2RlZmluZQ0KPiA+IFVTQl9CT09UX0lPX0JMT0NLU8KgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIChGaXhlZFBjZEdldDMyDQo+ID4gPj4+Pj4gKFBjZFVzYkJvb3RJb0Jsb2Nr cykpDQo+ID4gPj4+Pj4NCj4gPiA+Pj4+PiDCoCAvLw0KPiA+ID4+Pj4+IMKgIC8vIFJldHJ5IG1h c3MgY29tbWFuZCB0aW1lcywgc2V0IGJ5IGV4cGVyaWVuY2UNCj4gPiBkaWZmIC0tZ2l0DQo+ID4g Pj4+Pj4NCj4gPg0KPiBhL01kZU1vZHVsZVBrZy9CdXMvVXNiL1VzYk1hc3NTdG9yYWdlRHhlL1Vz Yk1hc3NTdG9yYWdlRA0KPiA+IHhlLmluZg0KPiA+ID4+Pj4+DQo+ID4NCj4gYi9NZGVNb2R1bGVQ a2cvQnVzL1VzYi9Vc2JNYXNzU3RvcmFnZUR4ZS9Vc2JNYXNzU3RvcmFnZUQNCj4gPiB4ZS5pbmYN Cj4gPiA+Pj4+PiBpbmRleCAyNmQxNWM3Njc5YmYuLjQwNDI2NTEyZjg4NCAxMDA2NDQNCj4gPiA+ Pj4+PiAtLS0NCj4gPiA+Pj4+Pg0KPiA+DQo+IGEvTWRlTW9kdWxlUGtnL0J1cy9Vc2IvVXNiTWFz c1N0b3JhZ2VEeGUvVXNiTWFzc1N0b3JhZ2VEDQo+ID4geGUuaW5mDQo+ID4gPj4+Pj4gKysrDQo+ ID4gPj4+Pj4NCj4gPg0KPiBiL01kZU1vZHVsZVBrZy9CdXMvVXNiL1VzYk1hc3NTdG9yYWdlRHhl L1VzYk1hc3NTdG9yYWdlRA0KPiA+IHhlLmluZg0KPiA+ID4+Pj4+IEBAIC02MCw2ICs2MCw3IEBA IFtTb3VyY2VzXQ0KPiA+ID4+Pj4+IMKgwqDCoCBVc2JNYXNzRGlza0luZm8uYw0KPiA+ID4+Pj4+ DQo+ID4gPj4+Pj4gwqAgW1BhY2thZ2VzXQ0KPiA+ID4+Pj4+ICvCoCBNZGVNb2R1bGVQa2cvTWRl TW9kdWxlUGtnLmRlYw0KPiA+ID4+Pj4+IMKgwqDCoCBNZGVQa2cvTWRlUGtnLmRlYw0KPiA+ID4+ Pj4+DQo+ID4gPj4+Pj4gwqAgW0xpYnJhcnlDbGFzc2VzXQ0KPiA+ID4+Pj4+IEBAIC04Myw1ICs4 NCw4IEBAIFtQcm90b2NvbHNdDQo+ID4gPj4+Pj4gwqAgIyBFVkVOVF9UWVBFX1JFTEFUSVZFX1RJ TUVSwqDCoMKgwqDCoMKgwqAgIyMgQ09OU1VNRVMNCj4gPiA+Pj4+PiDCoCAjDQo+ID4gPj4+Pj4N Cj4gPiA+Pj4+PiArW0ZpeGVkUGNkXQ0KPiA+ID4+Pj4+DQo+ID4gK8KgIGdFZmlNZGVNb2R1bGVQ a2dUb2tlblNwYWNlR3VpZC5QY2RVc2JCb290SW9CbG9ja3MNCj4gPiA+Pj4+PiArDQo+ID4gPj4+ Pj4gwqAgW1VzZXJFeHRlbnNpb25zLlRpYW5vQ29yZS4iRXh0cmFGaWxlcyJdDQo+ID4gPj4+Pj4g wqDCoMKgIFVzYk1hc3NTdG9yYWdlRHhlRXh0cmEudW5pDQo+ID4gPj4+Pj4gZGlmZiAtLWdpdCBh L01kZU1vZHVsZVBrZy9NZGVNb2R1bGVQa2cuZGVjDQo+ID4gPj4+Pj4gYi9NZGVNb2R1bGVQa2cv TWRlTW9kdWxlUGtnLmRlYyBpbmRleA0KPiA+IDQ1NTk3OTM4NmUzZi4uZmM0MDc0NTMxNWEwDQo+ ID4gPj4+Pj4gMTAwNjQ0DQo+ID4gPj4+Pj4gLS0tIGEvTWRlTW9kdWxlUGtnL01kZU1vZHVsZVBr Zy5kZWMNCj4gPiA+Pj4+PiArKysgYi9NZGVNb2R1bGVQa2cvTWRlTW9kdWxlUGtnLmRlYw0KPiA+ ID4+Pj4+IEBAIC05OTksNiArOTk5LDEwIEBAIFtQY2RzRml4ZWRBdEJ1aWxkXQ0KPiA+ID4+Pj4+ IMKgwqDCoCAjIEBQcm9tcHQgRW5hYmxlIFVFRkkgU3RhY2sgR3VhcmQuDQo+ID4gPj4+Pj4NCj4g PiA+Pj4+Pg0KPiA+DQo+IGdFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RDcHVTdGFj a0d1YXJkfEZBTFNFfEJPDQo+ID4gT0xFQU58MA0KPiA+ID4+Pj4+IHgzMDAwMTA1NQ0KPiA+ID4+ Pj4+DQo+ID4gPj4+Pj4gKyMjIFRoZSBNYXggYmxvY2tzIG9mIHVzYiB0cmFuc2Zlci4gVGhlIGRl ZmF1bHQNCj4gaXMNCj4gPiAxMjguDQo+ID4gPj4+Pj4gKyMgQFByb21wdCBUaGUgTWF4IGJsb2Nr cyBvZiB1c2IgdHJhbnNmZXINCj4gPiA+Pj4+Pg0KPiA+DQo+ICtnRWZpTWRlTW9kdWxlUGtnVG9r ZW5TcGFjZUd1aWQuUGNkVXNiQm9vdElvQmxvY2tzfDEyOHxVDQo+ID4gSU5UMzJ8MHgwDQo+ID4g Pj4+Pj4gMDAwMDEwQg0KPiA+ID4+Pj4+ICsNCj4gPiA+Pj4+PiDCoCBbUGNkc0ZpeGVkQXRCdWls ZCwgUGNkc1BhdGNoYWJsZUluTW9kdWxlXQ0KPiA+ID4+Pj4+IMKgwqDCoCAjIyBEeW5hbWljIHR5 cGUgUENEIGNhbiBiZSByZWdpc3RlcmVkDQo+IGNhbGxiYWNrDQo+ID4gZnVuY3Rpb24gZm9yIFBj ZCBzZXR0aW5nDQo+ID4gPj4+Pj4gYWN0aW9uLg0KPiA+ID4+Pj4+IMKgwqDCoCAjwqAgUGNkTWF4 UGVpUGNkQ2FsbEJhY2tOdW1iZXJQZXJQY2RFbnRyeQ0KPiA+IGluZGljYXRlcyB0aGUgbWF4aW11 bQ0KPiA+ID4+Pj4+IG51bWJlciBvZiBjYWxsYmFjayBmdW5jdGlvbiBkaWZmIC0tZ2l0DQo+ID4g YS9NZGVNb2R1bGVQa2cvTWRlTW9kdWxlUGtnLnVuaQ0KPiA+ID4+Pj4+IGIvTWRlTW9kdWxlUGtn L01kZU1vZHVsZVBrZy51bmkgaW5kZXgNCj4gPiBmM2ZhNjE2NDM4YjAuLmM5OTZkNmI0ZWJlMA0K PiA+ID4+Pj4+IDEwMDY0NA0KPiA+ID4+Pj4+IC0tLSBhL01kZU1vZHVsZVBrZy9NZGVNb2R1bGVQ a2cudW5pDQo+ID4gPj4+Pj4gKysrIGIvTWRlTW9kdWxlUGtnL01kZU1vZHVsZVBrZy51bmkNCj4g PiA+Pj4+PiBAQCAtMTI0MywzICsxMjQzLDcgQEANCj4gPiA+Pj4+PiDCoCAjc3RyaW5nDQo+ID4g Pj4+Pj4NCj4gPg0KPiBTVFJfZ0VmaU1kZU1vZHVsZVBrZ1Rva2VuU3BhY2VHdWlkX1BjZEVka2lp RnBkdFN0cmluZ1JlYw0KPiA+IG9yZEVuYWJsZU8NCj4gPiA+Pj4+PiBubHlfSEVMUMKgwqDCoCAj bGFuZ3VhZ2UgZW4tVVMgIkNvbnRyb2wgd2hpY2ggRlBEVA0KPiA+IHJlY29yZCBmb3JtYXQgd2ls bCBiZSB1c2VkDQo+ID4gPj4+Pj4gdG8gc3RvcmUgdGhlIHBlcmZvcm1hbmNlIGVudHJ5LlxuIg0K PiA+ID4+Pj4+DQo+ID4NCj4gIk8gbiBUUlVFLCB0aGUNCj4gPiBzdHJpbmcgRlBEVA0KPiA+ID4+ Pj4+IHJlY29yZCB3aWxsIGJlIHVzZWQgdG8gc3RvcmUgZXZlcnkgcGVyZm9ybWFuY2UNCj4gPiBl bnRyeS5cbiINCj4gPiA+Pj4+Pg0KPiA+DQo+ICJPIG4gRkFMU0UsIHRoZQ0KPiA+IGRpZmZlcmVu dA0KPiA+ID4+Pj4+IEZQRFQgcmVjb3JkIHdpbGwgYmUgdXNlZCB0byBzdG9yZSB0aGUgZGlmZmVy ZW50DQo+ID4gcGVyZm9ybWFuY2UgZW50cmllcy4iDQo+ID4gPj4+Pj4gKw0KPiA+ID4+Pj4+ICsj c3RyaW5nDQo+ID4gPj4+Pj4NCj4gPg0KPiBTVFJfZ0VmaU1kZU1vZHVsZVBrZ1Rva2VuU3BhY2VH dWlkX1BjZFVzYkJvb3RJb0Jsb2Nrc19QUg0KPiA+IE9NUFQNCj4gPiA+Pj4+PiAjbGFuZ3VhZ2Ug ZW4tVVMgIlRoZSBNYXggYmxvY2tzIG9mIHVzYg0KPiB0cmFuc2Zlci4iDQo+ID4gPj4+Pj4gKw0K PiA+ID4+Pj4+ICsjc3RyaW5nDQo+ID4gPj4+Pj4NCj4gPg0KPiBTVFJfZ0VmaU1kZU1vZHVsZVBr Z1Rva2VuU3BhY2VHdWlkX1BjZFVzYkJvb3RJb0Jsb2Nrc19IRQ0KPiA+IExQDQo+ID4gPj4+Pj4g I2xhbmd1YWdlIGVuLVVTICJUaGUgTWF4IGJsb2NrcyBvZiB1c2IgdHJhbnNmZXIuDQo+ID4gVGhl IGRlZmF1bHQgaXMgMTI4LiINCj4gPiA+Pj4+PiAtLQ0KPiA+ID4+Pj4+IDEuOS4xDQo+ID4gPj4+ Pj4NCj4gPiA+Pj4+PiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXw0KPiA+ID4+Pj4+IGVkazItZGV2ZWwgbWFpbGluZyBsaXN0DQo+ID4gPj4+Pj4gZWRrMi1k ZXZlbEBsaXN0cy4wMS5vcmcNCj4gPiA+Pj4+PiBodHRwczovL2xpc3RzLjAxLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2VkazItZGV2ZWwNCj4gPiA+Pj4gX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18NCj4gPiA+Pj4gZWRrMi1kZXZlbCBtYWlsaW5nIGxpc3QNCj4g PiA+Pj4gZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmcNCj4gPiA+Pj4gaHR0cHM6Ly9saXN0cy4wMS5v cmcvbWFpbG1hbi9saXN0aW5mby9lZGsyLWRldmVsDQo+ID4gPj4+DQo+ID4gPj4NCg0K