From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from huawei.com (huawei.com [45.249.212.188]) by mx.groups.io with SMTP id smtpd.web11.16556.1595417450401171906 for ; Wed, 22 Jul 2020 04:30:50 -0700 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: huawei.com, ip: 45.249.212.188, mailfrom: huangming23@huawei.com) Received: from DGGEMM402-HUB.china.huawei.com (unknown [172.30.72.54]) by Forcepoint Email with ESMTP id 4E6FA606EDDB0825D8F7 for ; Wed, 22 Jul 2020 19:30:46 +0800 (CST) Received: from DGGEMM423-HUB.china.huawei.com (10.1.198.40) by DGGEMM402-HUB.china.huawei.com (10.3.20.210) with Microsoft SMTP Server (TLS) id 14.3.487.0; Wed, 22 Jul 2020 19:30:31 +0800 Received: from DGGEMM508-MBS.china.huawei.com ([169.254.4.119]) by dggemm423-hub.china.huawei.com ([10.1.198.40]) with mapi id 14.03.0487.000; Wed, 22 Jul 2020 19:30:22 +0800 From: "Ming Huang" To: "Jiang, Guomin" , "devel@edk2.groups.io" , "Wang, Jian J" , "Wu, Hao A" , "Gao, Liming" CC: Lidongzhan , Songdongkuang , wanghuiqiang , qiuliangen , Shenlimei , "xiewenyi (A)" , John Garry Subject: =?UTF-8?B?562U5aSNOiBbZWRrMi1kZXZlbF0gW1BBVENIIGVkazIgdjEgMS8xXSBNZGVNb2R1bGVQa2cvVmFyaWFibGU6IE1vdmUgRmluZFZhcmlhYmxlIGFmdGVyIEF1dG9VcGRhdGVMYW5nVmFyaWFibGU=?= Thread-Topic: [edk2-devel] [PATCH edk2 v1 1/1] MdeModulePkg/Variable: Move FindVariable after AutoUpdateLangVariable Thread-Index: AQHWTdvPEDjkQacN+0yi0X6v9ks7fajwT42QgADH24CAAMWXUIAD98uAgB0SMoCAAGI4EP//fUGAgADUYVA= Date: Wed, 22 Jul 2020 11:30:21 +0000 Message-ID: <3A622B96E322004395454DF73A38DDFA7EC6697E@dggemm508-mbs.china.huawei.com> References: <1593410773-62704-1-git-send-email-huangming23@huawei.com> <1593410773-62704-2-git-send-email-huangming23@huawei.com> <16e7bca1-f07a-ce3e-7699-97603828d0b5@huawei.com> <3A622B96E322004395454DF73A38DDFA7EC658F3@dggemm508-mbs.china.huawei.com> In-Reply-To: Accept-Language: zh-CN, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.78.51.60] MIME-Version: 1.0 X-CFilter-Loop: Reflected Content-Language: zh-CN Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGkgR3VvbWluLA0KDQpPaywgaXQgd2lsbCB0YWtlIHNvbWUgdGltZSB0byBkbyB0aGlzLg0KDQpU aGFua3MNCk1pbmcNCg0KLS0tLS3pgq7ku7bljp/ku7YtLS0tLQ0K5Y+R5Lu25Lq6OiBKaWFuZywg R3VvbWluIFttYWlsdG86Z3VvbWluLmppYW5nQGludGVsLmNvbV0gDQrlj5HpgIHml7bpl7Q6IDIw MjDlubQ35pyIMjLml6UgMTQ6NDkNCuaUtuS7tuS6ujogSHVhbmdtaW5nIChNYXJrKSA8aHVhbmdt aW5nMjNAaHVhd2VpLmNvbT47IGRldmVsQGVkazIuZ3JvdXBzLmlvOyBXYW5nLCBKaWFuIEogPGpp YW4uai53YW5nQGludGVsLmNvbT47IFd1LCBIYW8gQSA8aGFvLmEud3VAaW50ZWwuY29tPjsgR2Fv LCBMaW1pbmcgPGxpbWluZy5nYW9AaW50ZWwuY29tPg0K5oqE6YCBOiBMaWRvbmd6aGFuIDxsaWRv bmd6aGFuQGh1YXdlaS5jb20+OyBTb25nZG9uZ2t1YW5nIDxzb25nZG9uZ2t1YW5nQGh1YXdlaS5j b20+OyB3YW5naHVpcWlhbmcgPHdhbmdodWlxaWFuZ0BodWF3ZWkuY29tPjsgcWl1bGlhbmdlbiA8 cWl1bGlhbmdlbkBodWF3ZWkuY29tPjsgU2hlbmxpbWVpIDxzaGVubGltZWlAaHVhd2VpLmNvbT47 IHhpZXdlbnlpIChBKSA8eGlld2VueWkyQGh1YXdlaS5jb20+OyBKb2huIEdhcnJ5IDxqb2huLmdh cnJ5QGh1YXdlaS5jb20+DQrkuLvpopg6IFJFOiBbZWRrMi1kZXZlbF0gW1BBVENIIGVkazIgdjEg MS8xXSBNZGVNb2R1bGVQa2cvVmFyaWFibGU6IE1vdmUgRmluZFZhcmlhYmxlIGFmdGVyIEF1dG9V cGRhdGVMYW5nVmFyaWFibGUNCg0KSGkgTWluZywNCg0KQ2FuIHlvdSB0cnkgdGhlIG5ld2VzdCBl ZGsyPw0KDQpUaGFua3MNCkd1b21pbg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBG cm9tOiBIdWFuZ21pbmcgKE1hcmspIDxodWFuZ21pbmcyM0BodWF3ZWkuY29tPg0KPiBTZW50OiBX ZWRuZXNkYXksIEp1bHkgMjIsIDIwMjAgMjo0NCBQTQ0KPiBUbzogSmlhbmcsIEd1b21pbiA8Z3Vv bWluLmppYW5nQGludGVsLmNvbT47IGRldmVsQGVkazIuZ3JvdXBzLmlvOyANCj4gV2FuZywgSmlh biBKIDxqaWFuLmoud2FuZ0BpbnRlbC5jb20+OyBXdSwgSGFvIEEgPGhhby5hLnd1QGludGVsLmNv bT47IA0KPiBHYW8sIExpbWluZyA8bGltaW5nLmdhb0BpbnRlbC5jb20+DQo+IENjOiBMaWRvbmd6 aGFuIDxsaWRvbmd6aGFuQGh1YXdlaS5jb20+OyBTb25nZG9uZ2t1YW5nIA0KPiA8c29uZ2Rvbmdr dWFuZ0BodWF3ZWkuY29tPjsgd2FuZ2h1aXFpYW5nIDx3YW5naHVpcWlhbmdAaHVhd2VpLmNvbT47 IA0KPiBxaXVsaWFuZ2VuIDxxaXVsaWFuZ2VuQGh1YXdlaS5jb20+OyBTaGVubGltZWkgPHNoZW5s aW1laUBodWF3ZWkuY29tPjsgDQo+IHhpZXdlbnlpIChBKSA8eGlld2VueWkyQGh1YXdlaS5jb20+ OyBKb2huIEdhcnJ5IA0KPiA8am9obi5nYXJyeUBodWF3ZWkuY29tPg0KPiBTdWJqZWN0OiDnrZTl pI06IFtlZGsyLWRldmVsXSBbUEFUQ0ggZWRrMiB2MSAxLzFdIE1kZU1vZHVsZVBrZy9WYXJpYWJs ZToNCj4gTW92ZSBGaW5kVmFyaWFibGUgYWZ0ZXIgQXV0b1VwZGF0ZUxhbmdWYXJpYWJsZQ0KPiAN Cj4gSGkgR3VvTWluLA0KPiANCj4gSSBkb24ndCB0aGluayB0aGUgbmV3IGNoYW5nZSBjYW4gZml4 IHRoaXMgaXNzdWUoaWQ9MjY2NykuIFdlIHVzZSBvbGRlciANCj4gZWRrMiB2ZXJzaW9uIHdoaWNo IGRvbid0IGhhdmUgU3luY2hyb25pemVSdW50aW1lVmFyaWFibGVDYWNoZSgpLg0KPiANCj4gVGhh bmtzDQo+IE1pbmcNCj4gDQo+IC0tLS0t6YKu5Lu25Y6f5Lu2LS0tLS0NCj4g5Y+R5Lu25Lq6OiBK aWFuZywgR3VvbWluIFttYWlsdG86Z3VvbWluLmppYW5nQGludGVsLmNvbV0NCj4g5Y+R6YCB5pe2 6Ze0OiAyMDIw5bm0N+aciDIy5pelIDg6NDcNCj4g5pS25Lu25Lq6OiBIdWFuZ21pbmcgKE1hcmsp IDxodWFuZ21pbmcyM0BodWF3ZWkuY29tPjsgZGV2ZWxAZWRrMi5ncm91cHMuaW87IA0KPiBXYW5n LCBKaWFuIEogPGppYW4uai53YW5nQGludGVsLmNvbT47IFd1LCBIYW8gQSA8aGFvLmEud3VAaW50 ZWwuY29tPjsgDQo+IEdhbywgTGltaW5nIDxsaW1pbmcuZ2FvQGludGVsLmNvbT4NCj4g5oqE6YCB OiBMaWRvbmd6aGFuIDxsaWRvbmd6aGFuQGh1YXdlaS5jb20+OyBTb25nZG9uZ2t1YW5nIA0KPiA8 c29uZ2RvbmdrdWFuZ0BodWF3ZWkuY29tPjsgd2FuZ2h1aXFpYW5nIDx3YW5naHVpcWlhbmdAaHVh d2VpLmNvbT47IA0KPiBxaXVsaWFuZ2VuIDxxaXVsaWFuZ2VuQGh1YXdlaS5jb20+OyBTaGVubGlt ZWkgPHNoZW5saW1laUBodWF3ZWkuY29tPjsgDQo+IHhpZXdlbnlpIChBKSA8eGlld2VueWkyQGh1 YXdlaS5jb20+OyBKb2huIEdhcnJ5IA0KPiA8am9obi5nYXJyeUBodWF3ZWkuY29tPg0KPiDkuLvp opg6IFJFOiBbZWRrMi1kZXZlbF0gW1BBVENIIGVkazIgdjEgMS8xXSBNZGVNb2R1bGVQa2cvVmFy aWFibGU6IE1vdmUgDQo+IEZpbmRWYXJpYWJsZSBhZnRlciBBdXRvVXBkYXRlTGFuZ1ZhcmlhYmxl DQo+IA0KPiBIaSBNaW5nLA0KPiANCj4gVGhlIG5ldyBwb3N0ZWQgY2hhbmdlDQo+IGh0dHBzOi8v ZWRrMi5ncm91cHMuaW8vZy9kZXZlbC90b3BpYy83NTQxMjAwNyM2MjMyNyBtYXkgYmUgaGVscGZ1 bCBmb3IgDQo+IHRoaXMgaXNzdWUuDQo+IA0KPiBDYW4geW91IGFkZCB0aGUgY2hhbmdlIGluIHlv dXIgY29kZSBhbmQgdmVyaWZ5IGl0Pw0KPiANCj4gVGhhbmtzDQo+IEd1b21pbg0KPiA+IC0tLS0t T3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gRnJvbTogTWluZyBIdWFuZyA8aHVhbmdtaW5nMjNA aHVhd2VpLmNvbT4NCj4gPiBTZW50OiBGcmlkYXksIEp1bHkgMywgMjAyMCA4OjQ5IFBNDQo+ID4g VG86IEppYW5nLCBHdW9taW4gPGd1b21pbi5qaWFuZ0BpbnRlbC5jb20+OyBkZXZlbEBlZGsyLmdy b3Vwcy5pbzsgDQo+ID4gV2FuZywgSmlhbiBKIDxqaWFuLmoud2FuZ0BpbnRlbC5jb20+OyBXdSwg SGFvIEEgDQo+ID4gPGhhby5hLnd1QGludGVsLmNvbT47IEdhbywgTGltaW5nIDxsaW1pbmcuZ2Fv QGludGVsLmNvbT4NCj4gPiBDYzogbGlkb25nemhhbkBodWF3ZWkuY29tOyBzb25nZG9uZ2t1YW5n QGh1YXdlaS5jb207IA0KPiA+IHdhbmdodWlxaWFuZ0BodWF3ZWkuY29tOyBxaXVsaWFuZ2VuQGh1 YXdlaS5jb207DQo+IHNoZW5saW1laUBodWF3ZWkuY29tOw0KPiA+IHhpZXdlbnlpMkBodWF3ZWku Y29tOyBqb2huLmdhcnJ5QGh1YXdlaS5jb20NCj4gPiBTdWJqZWN0OiBSZTogW2VkazItZGV2ZWxd IFtQQVRDSCBlZGsyIHYxIDEvMV0gTWRlTW9kdWxlUGtnL1ZhcmlhYmxlOg0KPiA+IE1vdmUgRmlu ZFZhcmlhYmxlIGFmdGVyIEF1dG9VcGRhdGVMYW5nVmFyaWFibGUNCj4gPg0KPiA+DQo+ID4NCj4g PiDlnKggMjAyMC83LzEgODoyMiwgSmlhbmcsIEd1b21pbiDlhpnpgZM6DQo+ID4gPiBTbyBJIHRo aW5rIHRoZSBrZXkgcG9pbnQgaXMgd2h5IEF1dG9VcGRhdGVMYW5nVmFyaWFibGUoKSByZXR1cm4g DQo+ID4gPiBzdWNjZXNzDQo+ID4gcmF0aGVyIHRoYW4gZmFpbCwgaWYgaXMgaXQgcmVhc29uYWJs ZSBmb3IgdGhpcyBjYXNlIG9yIHdlIG5lZWQgb3RoZXIgDQo+ID4gZXJyb3IgaGFuZGluZz8NCj4g Pg0KPiA+IEkgZG9uJ3QgdGhpbmsgQXV0b1VwZGF0ZUxhbmdWYXJpYWJsZSgpIHNob3VsZCByZXR1 cm4gZmFpbCB3aGlsZSANCj4gPiBvY2N1ciByZWNsYWltIGludGVybmFsIGluIEF1dG9VcGRhdGVM YW5nVmFyaWFibGUgKCkgZnVuY3Rpb24uIFRoZSANCj4gPiBwcm9ibGVtIGlzIHRoZQ0KPiA+IFZh cmlhYmxlKFZBUklBQkxFX1BPSU5URVJfVFJBQ0spIGdldCBieSBGaW5kVmFyaWFibGUgaXMgaW52 YWxkIGluIA0KPiA+IHRoaXMgc2l0dWF0aW9uIGFuZCB0aGlzIFZhcmlhYmxlIHdpbGwgYmUgcGFz cyB0byBVcGRhdGVWYXJpYWJsZSgpLg0KPiA+DQo+ID4gICBpZiAobVZhcmlhYmxlTW9kdWxlR2xv YmFsLT5WYXJpYWJsZUdsb2JhbC5BdXRoU3VwcG9ydCkgew0KPiA+ICAgICBTdGF0dXMgPSBBdXRo VmFyaWFibGVMaWJQcm9jZXNzVmFyaWFibGUgKFZhcmlhYmxlTmFtZSwgDQo+ID4gVmVuZG9yR3Vp ZCwgRGF0YSwgRGF0YVNpemUsIEF0dHJpYnV0ZXMpOw0KPiA+ICAgfSBlbHNlIHsNCj4gPiAvLyBU aGlzIFZhcmlhYmxlIGlzIGludmFsZCB3aGlsZSBvY2N1ciByZWNsYWltIGludGVybmFsIGluIA0K PiA+IEF1dG9VcGRhdGVMYW5nVmFyaWFibGUgKCkNCj4gPiAgICAgU3RhdHVzID0gVXBkYXRlVmFy aWFibGUgKFZhcmlhYmxlTmFtZSwgVmVuZG9yR3VpZCwgRGF0YSwgDQo+ID4gRGF0YVNpemUsIEF0 dHJpYnV0ZXMsIDAsIDAsICZWYXJpYWJsZSwgTlVMTCk7DQo+ID4gICB9DQo+ID4NCj4gPiA+DQo+ ID4gPiBJIGFtIGdsYWQgdG8gaGVscCB5b3UgYnV0IEkgY2FuJ3QgcmVwcm9kdWNlIGl0IHVudGls IG5vdywgY2FuIHlvdSANCj4gPiA+IHByb3ZpZGUgYQ0KPiA+IHN0ZXAgdG8gcmVwcm9kdWNlIGl0 IGluIHNpbXVsYXRpb24gcGxhdGZvcm0uDQo+ID4NCj4gPiBJIGFtIG5vdCBmYW1pbGlhciB3aXRo IHNpbXVsYXRpb24gcGxhdGZvcm0uIFdlIHJlcHJvZHVjdCB0aGlzIGlzc3VlIA0KPiA+IGluIG91 ciBib2FyZCBvbmNlLg0KPiA+IEZvciBhY2NlbGVyYXRpbmcgcmVwcm9kdWN0aW9uIHRoaXMgaXNz dWUsIEFkZCBSZWNsYWltKCkgdG8NCj4gPiBBdXRvVXBkYXRlTGFuZ1ZhcmlhYmxlKCkgZm9yIHRl c3QuDQo+ID4NCj4gPiBUaGFua3MsDQo+ID4gTWluZw0KPiA+DQo+ID4gPg0KPiA+ID4gSWYgaXQg aXMgdXJnZW50LCBJIHN1Z2dlc3QgdGhhdCBkaXNjdXNzIHdpdGggeW91ciBpbnRlcm5hbCB0ZWFt IA0KPiA+ID4gZmlyc3QgYW5kIGV4cGxhaW4NCj4gPiB0aGF0IHdlIG5lZWQgY29uc2lkZXIgdGhl IHJpc2sgY2hlY2sgaXQgaW50byBlZGsyLg0KPiA+ID4NCj4gPiA+IEJlc3QgUmVnYXJkcw0KPiA+ ID4gR3VvbWluDQo+ID4gPg0KPiA+ID4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4g Pj4gRnJvbTogZGV2ZWxAZWRrMi5ncm91cHMuaW8gPGRldmVsQGVkazIuZ3JvdXBzLmlvPiBPbiBC ZWhhbGYgT2YNCj4gTWluZw0KPiA+ID4+IEh1YW5nIHZpYSBncm91cHMuaW8NCj4gPiA+PiBTZW50 OiBUdWVzZGF5LCBKdW5lIDMwLCAyMDIwIDg6MjYgUE0NCj4gPiA+PiBUbzogSmlhbmcsIEd1b21p biA8Z3VvbWluLmppYW5nQGludGVsLmNvbT47IGRldmVsQGVkazIuZ3JvdXBzLmlvOyANCj4gPiA+ PiBXYW5nLCBKaWFuIEogPGppYW4uai53YW5nQGludGVsLmNvbT47IFd1LCBIYW8gQSANCj4gPiA+ PiA8aGFvLmEud3VAaW50ZWwuY29tPjsgR2FvLCBMaW1pbmcgPGxpbWluZy5nYW9AaW50ZWwuY29t Pg0KPiA+ID4+IENjOiBsaWRvbmd6aGFuQGh1YXdlaS5jb207IHNvbmdkb25na3VhbmdAaHVhd2Vp LmNvbTsgDQo+ID4gPj4gd2FuZ2h1aXFpYW5nQGh1YXdlaS5jb207IHFpdWxpYW5nZW5AaHVhd2Vp LmNvbTsNCj4gPiBzaGVubGltZWlAaHVhd2VpLmNvbTsNCj4gPiA+PiB4aWV3ZW55aTJAaHVhd2Vp LmNvbQ0KPiA+ID4+IFN1YmplY3Q6IFJlOiBbZWRrMi1kZXZlbF0gW1BBVENIIGVkazIgdjEgMS8x XQ0KPiBNZGVNb2R1bGVQa2cvVmFyaWFibGU6DQo+ID4gPj4gTW92ZSBGaW5kVmFyaWFibGUgYWZ0 ZXIgQXV0b1VwZGF0ZUxhbmdWYXJpYWJsZQ0KPiA+ID4+DQo+ID4gPj4NCj4gPiA+Pg0KPiA+ID4+ IOWcqCAyMDIwLzYvMzAgODo1OCwgSmlhbmcsIEd1b21pbiDlhpnpgZM6DQo+ID4gPj4+IEhpIEh1 YW5nLA0KPiA+ID4+Pg0KPiA+ID4+PiA+RnJvbSBpc3N1ZSBzdGF0ZW1lbnQsIEkgZ3Vlc3MgdGhh dA0KPiA+ID4+PiAxLiBBdXRvVXBkYXRlTGFuZ1ZhcmlhYmxlKCkgaW52b2tlZCwgYW5kIGl0IHdp bGwgaW52b2tlDQo+ID4gPj4+IEZpbmRWYXJpYWJsZSgpIGZpcnN0LCBhdCB0aGUgc2FtZSB0aW1l LCByZWNsYWltIG9jY3VyIGFuZCANCj4gPiA+Pj4gVmFyaWFibGUuQ3VyclB0ciBpcyBpbnZhbGlk LCBpdCByZXR1cm4NCj4gPiA+PiB3aXRoIHN1Y2Nlc3MgMi4gVXBkYXRlVmFyaWFibGUoKSBpcyBp bnZva2VkIHdoZW4gVGhlIG9sZCBMYW5nJ3MgDQo+ID4gPj4gU3RhdGUgaXMgdmFsaWQgYW5kIHRo ZSBuZXcgTGFuZydzIFN0YXRlIGlzIGFsc28gdmFsaWQuDQo+ID4gPj4+IDMuIEluIHRoZSBzaXR1 YXRpb24sIEZpbmRWYXJpYWJsZSgpIGNoZWNrZWQgTGFuZydzIFN0YXRlIGFuZCANCj4gPiA+Pj4g b25seSBlbmFibGUgb25lDQo+ID4gPj4gTGFuZydzIFN0YXRlLiBCdXQgaXQgZGlkbid0IGluIGZh Y3QuDQo+ID4gPj4+IDQuIEJtRm9yRWFjaFZhcmlhYmxlKCkgZGVhZGxvb3AgaW4gdGhlIHNpdHVh dGlvbi4NCj4gPiA+Pj4NCj4gPiA+Pj4gQW0gSSByaWdodD8NCj4gPiA+Pg0KPiA+ID4+IFllcywg cmlnaHQuDQo+ID4gPj4NCj4gPiA+PiBUaGFua3MsDQo+ID4gPj4gTWluZw0KPiA+ID4+DQo+ID4g Pj4+DQo+ID4gPj4+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ID4+Pj4gRnJvbTog ZGV2ZWxAZWRrMi5ncm91cHMuaW8gPGRldmVsQGVkazIuZ3JvdXBzLmlvPiBPbiBCZWhhbGYgT2YN Cj4gPiBNaW5nDQo+ID4gPj4+PiBIdWFuZyB2aWEgZ3JvdXBzLmlvDQo+ID4gPj4+PiBTZW50OiBN b25kYXksIEp1bmUgMjksIDIwMjAgMjowNiBQTQ0KPiA+ID4+Pj4gVG86IGRldmVsQGVkazIuZ3Jv dXBzLmlvOyBXYW5nLCBKaWFuIEogPGppYW4uai53YW5nQGludGVsLmNvbT47IA0KPiA+ID4+Pj4g V3UsIEhhbyBBIDxoYW8uYS53dUBpbnRlbC5jb20+OyBHYW8sIExpbWluZyANCj4gPiA+Pj4+IDxs aW1pbmcuZ2FvQGludGVsLmNvbT4NCj4gPiA+Pj4+IENjOiBsaWRvbmd6aGFuQGh1YXdlaS5jb207 IGh1YW5nbWluZzIzQGh1YXdlaS5jb207IA0KPiA+ID4+Pj4gc29uZ2RvbmdrdWFuZ0BodWF3ZWku Y29tOyB3YW5naHVpcWlhbmdAaHVhd2VpLmNvbTsgDQo+ID4gPj4+PiBxaXVsaWFuZ2VuQGh1YXdl aS5jb207IHNoZW5saW1laUBodWF3ZWkuY29tOw0KPiA+ID4+IHhpZXdlbnlpMkBodWF3ZWkuY29t DQo+ID4gPj4+PiBTdWJqZWN0OiBbZWRrMi1kZXZlbF0gW1BBVENIIGVkazIgdjEgMS8xXSBNZGVN b2R1bGVQa2cvVmFyaWFibGU6DQo+ID4gPj4gTW92ZQ0KPiA+ID4+Pj4gRmluZFZhcmlhYmxlIGFm dGVyIEF1dG9VcGRhdGVMYW5nVmFyaWFibGUNCj4gPiA+Pj4+DQo+ID4gPj4+PiBXaGVuIG9jY3Vy IHJlY2xhaW0gaW4gQXV0b1VwZGF0ZUxhbmdWYXJpYWJsZSgpLCB0aGUgQ3VyclB0ciBvZiANCj4g PiA+Pj4+IFZhcmlhYmxlIGlzIGludmFsaWQuIFRoZSBTdGF0ZSB3aWxsIGJlIHVwZGF0ZSB3aXRo IHdyb25nIA0KPiA+ID4+Pj4gcG9zaXRpb24gYWZ0ZXIgVXBkYXRlVmFyaWFibGUgaW4gdGhpcyBz aXR1YXRpb24gYW5kIHR3byB2YWxpZCANCj4gPiA+Pj4+IFBsYXRmb3JtTGFuZyBvciBMYW5nDQo+ ID4gPj4gdmFyaWFibGVzIHdpbGwgZXhpc3QuDQo+ID4gPj4+PiBCbUZvckVhY2hWYXJpYWJsZSgp IHdpbGwgZW50ZXIgZW5kbGVzcyBsb29wIHdoaWxlIGV4aXN0IHR3byANCj4gPiA+Pj4+IHZhbGlk IFBsYXRmb3JtTGFuZyB2YXJpYWJsZXMuIFNvIEZpbmRWYXJpYWJsZSgpIHNob3VsZCBiZSANCj4g PiA+Pj4+IGludm9rZWQgYXRmZXIgQXV0b1VwZGF0ZUxhbmdWYXJpYWJsZSgpLg0KPiA+ID4+Pj4N Cj4gPiA+Pj4+IGh0dHBzOi8vYnVnemlsbGEudGlhbm9jb3JlLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9 MjY2Nw0KPiA+ID4+Pj4NCj4gPiA+Pj4+IFNpZ25lZC1vZmYtYnk6IE1pbmcgSHVhbmcgPGh1YW5n bWluZzIzQGh1YXdlaS5jb20+DQo+ID4gPj4+PiAtLS0NCj4gPiA+Pj4+ICBNZGVNb2R1bGVQa2cv VW5pdmVyc2FsL1ZhcmlhYmxlL1J1bnRpbWVEeGUvVmFyaWFibGUuYyB8IDI2DQo+ID4gPj4+PiAr KysrKysrKysrLS0tLS0tLS0tLQ0KPiA+ID4+Pj4gIDEgZmlsZSBjaGFuZ2VkLCAxMyBpbnNlcnRp b25zKCspLCAxMyBkZWxldGlvbnMoLSkNCj4gPiA+Pj4+DQo+ID4gPj4+PiBkaWZmIC0tZ2l0DQo+ ID4gPj4+PiBhL01kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvVmFyaWFibGUvUnVudGltZUR4ZS9WYXJp YWJsZS5jDQo+ID4gPj4+PiBiL01kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvVmFyaWFibGUvUnVudGlt ZUR4ZS9WYXJpYWJsZS5jDQo+ID4gPj4+PiBpbmRleCAxZTcxZmM2Li4wY2VjOTgxIDEwMDY0NA0K PiA+ID4+Pj4gLS0tIGEvTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9WYXJpYWJsZS9SdW50aW1lRHhl L1ZhcmlhYmxlLmMNCj4gPiA+Pj4+ICsrKyBiL01kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvVmFyaWFi bGUvUnVudGltZUR4ZS9WYXJpYWJsZS5jDQo+ID4gPj4+PiBAQCAtMjc0MSw2ICsyNzQxLDE5IEBA IFZhcmlhYmxlU2VydmljZVNldFZhcmlhYmxlICgNCj4gPiA+Pj4+ICAgICAgbVZhcmlhYmxlTW9k dWxlR2xvYmFsLT5Ob25Wb2xhdGlsZUxhc3RWYXJpYWJsZU9mZnNldCA9DQo+ID4gPj4+PiAoVUlO VE4pIE5leHRWYXJpYWJsZSAtIChVSU5UTikgUG9pbnQ7DQo+ID4gPj4+PiAgICB9DQo+ID4gPj4+ Pg0KPiA+ID4+Pj4gKyAgaWYgKCFGZWF0dXJlUGNkR2V0IChQY2RVZWZpVmFyaWFibGVEZWZhdWx0 TGFuZ0RlcHJlY2F0ZSkpIHsNCj4gPiA+Pj4+ICsgICAgLy8NCj4gPiA+Pj4+ICsgICAgLy8gSG9v ayB0aGUgb3BlcmF0aW9uIG9mIHNldHRpbmcgDQo+ID4gPj4+PiArIFBsYXRmb3JtTGFuZ0NvZGVz L1BsYXRmb3JtTGFuZyBhbmQNCj4gPiA+Pj4+IExhbmdDb2Rlcy9MYW5nLg0KPiA+ID4+Pj4gKyAg ICAvLw0KPiA+ID4+Pj4gKyAgICBTdGF0dXMgPSBBdXRvVXBkYXRlTGFuZ1ZhcmlhYmxlIChWYXJp YWJsZU5hbWUsIERhdGEsIERhdGFTaXplKTsNCj4gPiA+Pj4+ICsgICAgaWYgKEVGSV9FUlJPUiAo U3RhdHVzKSkgew0KPiA+ID4+Pj4gKyAgICAgIC8vDQo+ID4gPj4+PiArICAgICAgLy8gVGhlIGF1 dG8gdXBkYXRlIG9wZXJhdGlvbiBmYWlsZWQsIGRpcmVjdGx5IHJldHVybiB0byANCj4gPiA+Pj4+ ICsgYXZvaWQNCj4gPiA+Pj4+IGluY29uc2lzdGVuY3kgYmV0d2VlbiBQbGF0Zm9ybUxhbmcgYW5k IExhbmcuDQo+ID4gPj4+PiArICAgICAgLy8NCj4gPiA+Pj4+ICsgICAgICBnb3RvIERvbmU7DQo+ ID4gPj4+PiArICAgIH0NCj4gPiA+Pj4+ICsgIH0NCj4gPiA+Pj4+ICsNCj4gPiA+Pj4+ICAgIC8v DQo+ID4gPj4+PiAgICAvLyBDaGVjayB3aGV0aGVyIHRoZSBpbnB1dCB2YXJpYWJsZSBpcyBhbHJl YWR5IGV4aXN0ZWQuDQo+ID4gPj4+PiAgICAvLw0KPiA+ID4+Pj4gQEAgLTI3NjMsMTkgKzI3NzYs NiBAQCBWYXJpYWJsZVNlcnZpY2VTZXRWYXJpYWJsZSAoDQo+ID4gPj4+PiAgICAgIH0NCj4gPiA+ Pj4+ICAgIH0NCj4gPiA+Pj4+DQo+ID4gPj4+PiAtICBpZiAoIUZlYXR1cmVQY2RHZXQgKFBjZFVl ZmlWYXJpYWJsZURlZmF1bHRMYW5nRGVwcmVjYXRlKSkgew0KPiA+ID4+Pj4gLSAgICAvLw0KPiA+ ID4+Pj4gLSAgICAvLyBIb29rIHRoZSBvcGVyYXRpb24gb2Ygc2V0dGluZyBQbGF0Zm9ybUxhbmdD b2Rlcy9QbGF0Zm9ybUxhbmcNCj4gPiBhbmQNCj4gPiA+Pj4+IExhbmdDb2Rlcy9MYW5nLg0KPiA+ ID4+Pj4gLSAgICAvLw0KPiA+ID4+Pj4gLSAgICBTdGF0dXMgPSBBdXRvVXBkYXRlTGFuZ1Zhcmlh YmxlIChWYXJpYWJsZU5hbWUsIERhdGEsIERhdGFTaXplKTsNCj4gPiA+Pj4+IC0gICAgaWYgKEVG SV9FUlJPUiAoU3RhdHVzKSkgew0KPiA+ID4+Pj4gLSAgICAgIC8vDQo+ID4gPj4+PiAtICAgICAg Ly8gVGhlIGF1dG8gdXBkYXRlIG9wZXJhdGlvbiBmYWlsZWQsIGRpcmVjdGx5IHJldHVybiB0byBh dm9pZA0KPiA+ID4+IGluY29uc2lzdGVuY3kNCj4gPiA+Pj4+IGJldHdlZW4gUGxhdGZvcm1MYW5n IGFuZCBMYW5nLg0KPiA+ID4+Pj4gLSAgICAgIC8vDQo+ID4gPj4+PiAtICAgICAgZ290byBEb25l Ow0KPiA+ID4+Pj4gLSAgICB9DQo+ID4gPj4+PiAtICB9DQo+ID4gPj4+PiAtDQo+ID4gPj4+PiAg ICBpZiAobVZhcmlhYmxlTW9kdWxlR2xvYmFsLT5WYXJpYWJsZUdsb2JhbC5BdXRoU3VwcG9ydCkg ew0KPiA+ID4+Pj4gICAgICBTdGF0dXMgPSBBdXRoVmFyaWFibGVMaWJQcm9jZXNzVmFyaWFibGUg KFZhcmlhYmxlTmFtZSwgDQo+ID4gPj4+PiBWZW5kb3JHdWlkLCBEYXRhLCBEYXRhU2l6ZSwgQXR0 cmlidXRlcyk7DQo+ID4gPj4+PiAgICB9IGVsc2Ugew0KPiA+ID4+Pj4gLS0NCj4gPiA+Pj4+IDIu OC4xDQo+ID4gPj4+Pg0KPiA+ID4+Pj4NCj4gPiA+Pj4+DQo+ID4gPj4+DQo+ID4gPj4+DQo+ID4g Pj4+DQo+ID4gPj4NCj4gPiA+Pg0KPiA+ID4+IA0KPiA+ID4NCj4gPiA+DQo+ID4gPiAuDQo+ID4g Pg0KDQo=