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.115; helo=mga14.intel.com; envelope-from=jian.j.wang@intel.com; receiver=edk2-devel@lists.01.org Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) (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 13001222EDCE2 for ; Thu, 4 Jan 2018 18:50:39 -0800 (PST) X-Amp-Result: UNKNOWN X-Amp-Original-Verdict: FILE UNKNOWN X-Amp-File-Uploaded: False Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga103.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 04 Jan 2018 18:55:45 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.46,317,1511856000"; d="png'150?scan'150,208,217,150";a="8211173" Received: from fmsmsx107.amr.corp.intel.com ([10.18.124.205]) by orsmga008.jf.intel.com with ESMTP; 04 Jan 2018 18:55:44 -0800 Received: from fmsmsx113.amr.corp.intel.com (10.18.116.7) by fmsmsx107.amr.corp.intel.com (10.18.124.205) with Microsoft SMTP Server (TLS) id 14.3.319.2; Thu, 4 Jan 2018 18:55:44 -0800 Received: from shsmsx104.ccr.corp.intel.com (10.239.4.70) by FMSMSX113.amr.corp.intel.com (10.18.116.7) with Microsoft SMTP Server (TLS) id 14.3.319.2; Thu, 4 Jan 2018 18:55:43 -0800 Received: from shsmsx103.ccr.corp.intel.com ([169.254.4.213]) by SHSMSX104.ccr.corp.intel.com ([169.254.5.152]) with mapi id 14.03.0319.002; Fri, 5 Jan 2018 10:55:41 +0800 From: "Wang, Jian J" To: Fan Jeff , Laszlo Ersek , "edk2-devel@lists.01.org" CC: "Yao, Jiewen" , "Dong, Eric" Thread-Topic: [edk2] [PATCH] UefiCpuPkg/MpInitLib: fix wrong base address set as Stack Guard Thread-Index: AQHTgIBBAhUXNh3QfEei4ASfd+cM3KNh6soAgAD5yACAAAkXYIAACzOQgAAtIwCAAN8zAIAAinSg//+IrQCAAAA2gIAAh7tg Date: Fri, 5 Jan 2018 02:55:41 +0000 Message-ID: References: <20171229083631.16652-1-jian.j.wang@intel.com> , , , In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiNWE3MTg2MzktODEzMS00MDc1LTkxM2ItNzNiNGViYzBhNDM1IiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjIuNS4xOCIsIlRydXN0ZWRMYWJlbEhhc2giOiI3WERLeVNocXIyOWV0VWdcL1I5b0Z2VHBya1ZYOXlRTHRnT3Fwc29FT3lEXC84d2lrRTdvdFlsblJ6c2c1d2JvNDEifQ== x-ctpclassification: CTP_NT 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 X-Content-Filtered-By: Mailman/MimeDel 2.1.23 Subject: Re: [PATCH] UefiCpuPkg/MpInitLib: fix wrong base address set as Stack Guard 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: Fri, 05 Jan 2018 02:50:40 -0000 Content-Language: en-US Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: base64 R290IGl0LiBNYW55IHRoYW5rcyENCg0KUmVnYXJkcywNCkppYW4NCg0KRnJvbTogRmFuIEplZmYg W21haWx0bzp2YW5qZWZmXzkxOUBob3RtYWlsLmNvbV0NClNlbnQ6IEZyaWRheSwgSmFudWFyeSAw NSwgMjAxOCAxMDo1MCBBTQ0KVG86IFdhbmcsIEppYW4gSiA8amlhbi5qLndhbmdAaW50ZWwuY29t PjsgTGFzemxvIEVyc2VrIDxsZXJzZWtAcmVkaGF0LmNvbT47IGVkazItZGV2ZWxAbGlzdHMuMDEu b3JnDQpDYzogWWFvLCBKaWV3ZW4gPGppZXdlbi55YW9AaW50ZWwuY29tPjsgRG9uZywgRXJpYyA8 ZXJpYy5kb25nQGludGVsLmNvbT4NClN1YmplY3Q6ILTwuLQ6IFtlZGsyXSBbUEFUQ0hdIFVlZmlD cHVQa2cvTXBJbml0TGliOiBmaXggd3JvbmcgYmFzZSBhZGRyZXNzIHNldCBhcyBTdGFjayBHdWFy ZA0KDQpTb3JyeSwgRHVtcCB0aGUgQVBJQ0lELCBub3QgQ1BVSUQuDQoNCkplZmYNCg0Kt6K8/sjL OiBGYW4gSmVmZjxtYWlsdG86dmFuamVmZl85MTlAaG90bWFpbC5jb20+DQq3osvNyrG85DogMjAx OMTqMdTCNcjVIDEwOjQ4DQrK1bz+yMs6IFdhbmcsIEppYW4gSjxtYWlsdG86amlhbi5qLndhbmdA aW50ZWwuY29tPjsgTGFzemxvIEVyc2VrPG1haWx0bzpsZXJzZWtAcmVkaGF0LmNvbT47IGVkazIt ZGV2ZWxAbGlzdHMuMDEub3JnPG1haWx0bzplZGsyLWRldmVsQGxpc3RzLjAxLm9yZz4NCrOty806 IFlhbywgSmlld2VuPG1haWx0bzpqaWV3ZW4ueWFvQGludGVsLmNvbT47IERvbmcsIEVyaWM8bWFp bHRvOmVyaWMuZG9uZ0BpbnRlbC5jb20+DQrW98ziOiC08Li0OiBbZWRrMl0gW1BBVENIXSBVZWZp Q3B1UGtnL01wSW5pdExpYjogZml4IHdyb25nIGJhc2UgYWRkcmVzcyBzZXQgYXMgU3RhY2sgR3Vh cmQNCg0KWW91IG1heSB1c2UgTVAtPlN3aXRjaEJTUCgpIHRvIGRvIEJTUCBzd2l0Y2ggYW5kIHRo ZW4gZHVtcCBCU1Chr3MgQ1BVSUQgdG8ga25vdyBpZiB0aGUgc3dpdGNoIGlzIHN1Y2Nlc3NmdWxs eS4NCg0KSmVmZg0KDQoNCkZyb206IFdhbmcsIEppYW4gSiA8amlhbi5qLndhbmdAaW50ZWwuY29t PG1haWx0bzpqaWFuLmoud2FuZ0BpbnRlbC5jb20+Pg0KU2VudDogRnJpZGF5LCBKYW51YXJ5IDUs IDIwMTggOTo1NzozMSBBTQ0KVG86IEZhbiBKZWZmOyBMYXN6bG8gRXJzZWs7IGVkazItZGV2ZWxA bGlzdHMuMDEub3JnPG1haWx0bzplZGsyLWRldmVsQGxpc3RzLjAxLm9yZz4NCkNjOiBZYW8sIEpp ZXdlbjsgRG9uZywgRXJpYw0KU3ViamVjdDogUkU6IFtlZGsyXSBbUEFUQ0hdIFVlZmlDcHVQa2cv TXBJbml0TGliOiBmaXggd3JvbmcgYmFzZSBhZGRyZXNzIHNldCBhcyBTdGFjayBHdWFyZA0KDQpI aSBKZWZmLA0KDQpEbyB5b3UgdGhpbmsgdGhlIGNoYW5nZSBpcyBPSz8gRG8geW91IGtub3cgaG93 IHRvIHRlc3Qgc3dpdGNoaW5nIEJTUD8NCg0KUmVnYXJkcywNCkppYW4NCg0KRnJvbTogRmFuIEpl ZmYgW21haWx0bzp2YW5qZWZmXzkxOUBob3RtYWlsLmNvbV0NClNlbnQ6IEZyaWRheSwgSmFudWFy eSAwNSwgMjAxOCA5OjQwIEFNDQpUbzogTGFzemxvIEVyc2VrIDxsZXJzZWtAcmVkaGF0LmNvbTxt YWlsdG86bGVyc2VrQHJlZGhhdC5jb20+PjsgV2FuZywgSmlhbiBKIDxqaWFuLmoud2FuZ0BpbnRl bC5jb208bWFpbHRvOmppYW4uai53YW5nQGludGVsLmNvbT4+OyBlZGsyLWRldmVsQGxpc3RzLjAx Lm9yZzxtYWlsdG86ZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmc+DQpDYzogWWFvLCBKaWV3ZW4gPGpp ZXdlbi55YW9AaW50ZWwuY29tPG1haWx0bzpqaWV3ZW4ueWFvQGludGVsLmNvbT4+OyBEb25nLCBF cmljIDxlcmljLmRvbmdAaW50ZWwuY29tPG1haWx0bzplcmljLmRvbmdAaW50ZWwuY29tPj4NClN1 YmplY3Q6ILTwuLQ6IFtlZGsyXSBbUEFUQ0hdIFVlZmlDcHVQa2cvTXBJbml0TGliOiBmaXggd3Jv bmcgYmFzZSBhZGRyZXNzIHNldCBhcyBTdGFjayBHdWFyZA0KDQpMYXN6bG8sDQoNCkZpcnN0bHks IFN3aXRjaEJTUCgpIGlzIG9uZSBzZXJ2aWNlIG9mIE1QIGRlZmluZWQgaW4gUEkgc3BlYy4NCg0K Rm9yIHJlYWwgY2FzZSwgSSB0aGluayBtdWx0aXBsZSBzb2NrZXQgc3lzdGVtKHdpdGggZGlmZmVy ZW50IHByb2Nlc3NvciBzdGVwcGluZykgbWF5IHVzZSB0aGlzIHNlcnZpY2UgZm9yIHB1cnBvc2Uu DQoNClRoYW5rcyENCkplZmYNCg0Kt6K8/sjLOiBMYXN6bG8gRXJzZWs8bWFpbHRvOmxlcnNla0By ZWRoYXQuY29tPg0Kt6LLzcqxvOQ6IDIwMTjE6jHUwjTI1SAyMDoyMQ0KytW8/sjLOiBXYW5nLCBK aWFuIEo8bWFpbHRvOmppYW4uai53YW5nQGludGVsLmNvbT47IGVkazItZGV2ZWxAbGlzdHMuMDEu b3JnPG1haWx0bzplZGsyLWRldmVsQGxpc3RzLjAxLm9yZz4NCrOty806IFlhbywgSmlld2VuPG1h aWx0bzpqaWV3ZW4ueWFvQGludGVsLmNvbT47IERvbmcsIEVyaWM8bWFpbHRvOmVyaWMuZG9uZ0Bp bnRlbC5jb20+DQrW98ziOiBSZTogW2VkazJdIFtQQVRDSF0gVWVmaUNwdVBrZy9NcEluaXRMaWI6 IGZpeCB3cm9uZyBiYXNlIGFkZHJlc3Mgc2V0IGFzIFN0YWNrIEd1YXJkDQoNCk9uIDAxLzA0LzE4 IDAyOjQ1LCBXYW5nLCBKaWFuIEogd3JvdGU6DQo+IEEgY29ycmVjdGlvbjogYWx0aG91Z2ggQlNQ IGRvZXNuJ3QgbmVlZCBpdCwgd2Ugc3RpbGwgbmVlZCB0byBpbml0aWFsaXplIGl0cyBBcFRvcE9m U3RhY2sNCj4gY29ycmVjdGx5IGJlY2F1c2UgdGhlIE1QIHNlcnZpY2Ugc3VwcG9ydHMgQlNQL0FQ IGV4Y2hhbmdlLiBTbyBJIHRoaW5rIHRoZSBsaW5lIDE1MDENCj4gc2hvdWxkIGJlIGNoYW5nZWQg dG8NCj4NCj4gICBJbml0aWFsaXplQXBEYXRhIChDcHVNcERhdGEsIDAsIDAsIENwdU1wRGF0YS0+ QnVmZmVyICsgQ3B1TXBEYXRhLT5DcHVBcFN0YWNrU2l6ZSk7DQo+DQo+IGluc3RlYWQgb2YNCj4N Cj4gICBJbml0aWFsaXplQXBEYXRhIChDcHVNcERhdGEsIDAsIDAsIE5VTEwpOw0KDQpIbW0uLi4g QWx0aG91Z2ggSSBkb24ndCBpbW1lZGlhdGVseSBzZWUgYWxsIHBvc3NpYmxlIGNvbnNlcXVlbmNl cyBvZg0Kc3VjaCBhIGNoYW5nZSwgaXQgbG9va3MgbGlrZSBhIGNvcnJlY3QgZml4Lg0KDQpVbmZv cnR1bmF0ZWx5LCBJIGRvbid0IGtub3cgb2YgYW55IGNvZGUgdGhhdCBhY3R1YWxseSBleGVyY2lz ZXMgdGhlDQpCU1AvQVAgZXhjaGFuZ2Ugc2VydmljZS4gSSB0aGluayBJbnRlbCBtdXN0IGhhdmUg YWNjZXNzIHRvIHNvbWUgY2xpZW50DQpjb2RlIGxpa2UgdGhpcywgYmVjYXVzZSBJIHZhZ3VlbHkg cmVjYWxsIHNvbWUgcGF0Y2hlcyBvdmVyIHRpbWUgdGhhdA0KaW1wcm92ZWQgQlNQL0FQIGV4Y2hh bmdlLg0KDQpJZiB5b3UgbW9kaWZ5IHRoZSBJbml0aWFsaXplQXBEYXRhKCkgY2FsbCBpbiBxdWVz dGlvbiBsaWtlIHN1Z2dlc3RlZA0KYWJvdmUsIGNhbiB5b3UgcGVyaGFwcyBsb2NhdGUgdGhhdCBj bGllbnQgY29kZSwgYW5kIHRlc3QgdGhlIGNoYW5nZSB3aXRoIGl0Pw0KDQpUaGFua3MhDQpMYXN6 bG8NCg0KDQo+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPj4gRnJvbTogV2FuZywgSmlh biBKDQo+PiBTZW50OiBUaHVyc2RheSwgSmFudWFyeSAwNCwgMjAxOCA5OjA5IEFNDQo+PiBUbzog V2FuZywgSmlhbiBKIDxqaWFuLmoud2FuZ0BpbnRlbC5jb208bWFpbHRvOmppYW4uai53YW5nQGlu dGVsLmNvbT4+OyBMYXN6bG8gRXJzZWsgPGxlcnNla0ByZWRoYXQuY29tPG1haWx0bzpsZXJzZWtA cmVkaGF0LmNvbT4+Ow0KPj4gZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmc8bWFpbHRvOmVkazItZGV2 ZWxAbGlzdHMuMDEub3JnPg0KPj4gQ2M6IFlhbywgSmlld2VuIDxqaWV3ZW4ueWFvQGludGVsLmNv bTxtYWlsdG86amlld2VuLnlhb0BpbnRlbC5jb20+PjsgRG9uZywgRXJpYyA8ZXJpYy5kb25nQGlu dGVsLmNvbTxtYWlsdG86ZXJpYy5kb25nQGludGVsLmNvbT4+DQo+PiBTdWJqZWN0OiBSRTogW2Vk azJdIFtQQVRDSF0gVWVmaUNwdVBrZy9NcEluaXRMaWI6IGZpeCB3cm9uZyBiYXNlIGFkZHJlc3Mg c2V0DQo+PiBhcyBTdGFjayBHdWFyZA0KPj4NCj4+IExhc3psbywNCj4+DQo+PiBNb3JlIGV4cGxh bmF0aW9uczoNCj4+DQo+PiBbVWVmaUNwdVBrZ1xMaWJyYXJ5XE1wSW5pdExpYlxNcExpYi5jXQ0K Pj4gQWNjb3JkaW5nIHRvIHRoZSBjb2RlLCB0aGUgQlNQJ3MgKENwdUluZm9JbkhvYlswXS5BcFRv cE9mU3RhY2spIGlzIGluaXRpYWxpemVkDQo+PiB0bw0KPj4gdGhlIGJvdHRvbSBvZiB0aGUgc3Rh Y2sgKGxpbmUgMTUwMSkgYnV0IEFQJ3MgQXBUb3BPZlN0YWNrIGlzIGNvcnJlY3RseSBpbml0aWFs aXplZA0KPj4gKGxpbmUgNTk4KS4gQWx0aG91Z2ggbXkgY2FsY3VsYXRpb24gaXMgY29ycmVjdCwg SSB0aGluayBpdCdkIGJlIGJldHRlciB0byB1c2UgQVAncw0KPj4gQXBUb3BPZlN0YWNrIGRpcmVj dGx5LiBGcm9tIHRoaXMgcGVyc3BlY3RpdmUsIHlvdSdyZSByaWdodC4NCj4+DQo+PiBNYXliZSBp dCdkIGJlIGJldHRlciB0byBwYXNzIGEgTlVMTCBwb2ludGVyIGF0IGxpbmUgMTUwMSBiZWNhdXNl IEJTUCBkb2Vzbid0DQo+PiBuZWVkDQo+PiBpdCBhbnl3YXkuDQo+Pg0KPj4gUmVnYXJkcywNCj4+ IEppYW4NCj4+DQo+Pg0KPj4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+Pj4gRnJvbTog ZWRrMi1kZXZlbCBbbWFpbHRvOmVkazItZGV2ZWwtYm91bmNlc0BsaXN0cy4wMS5vcmddIE9uIEJl aGFsZiBPZg0KPj4gV2FuZywNCj4+PiBKaWFuIEoNCj4+PiBTZW50OiBUaHVyc2RheSwgSmFudWFy eSAwNCwgMjAxOCA4OjQyIEFNDQo+Pj4gVG86IExhc3psbyBFcnNlayA8bGVyc2VrQHJlZGhhdC5j b208bWFpbHRvOmxlcnNla0ByZWRoYXQuY29tPj47IGVkazItZGV2ZWxAbGlzdHMuMDEub3JnPG1h aWx0bzplZGsyLWRldmVsQGxpc3RzLjAxLm9yZz4NCj4+PiBDYzogWWFvLCBKaWV3ZW4gPGppZXdl bi55YW9AaW50ZWwuY29tPG1haWx0bzpqaWV3ZW4ueWFvQGludGVsLmNvbT4+OyBEb25nLCBFcmlj IDxlcmljLmRvbmdAaW50ZWwuY29tPG1haWx0bzplcmljLmRvbmdAaW50ZWwuY29tPj4NCj4+PiBT dWJqZWN0OiBSZTogW2VkazJdIFtQQVRDSF0gVWVmaUNwdVBrZy9NcEluaXRMaWI6IGZpeCB3cm9u ZyBiYXNlIGFkZHJlc3Mgc2V0DQo+Pj4gYXMgU3RhY2sgR3VhcmQNCj4+Pg0KPj4+IExhc3psbywN Cj4+Pg0KPj4+IEkgcmV2aXNpdGVkIGNvZGUgb2YgTXBJbml0TGliLiBJIGZvdW5kIHRoYXQgQ1BV X0lORk9fSU5fSE9CLkFwVG9wT2ZTdGFjaw0KPj4+IHdhcyBhc3NpZ25lZCB0byBDcHVNcERhdGEt PkJ1ZmZlciBpbiBNcEluaXRMaWJJbml0aWFsaXplKCkNCj4+Pg0KPj4+IChsaW5lMTUwMSkgIElu aXRpYWxpemVBcERhdGEgKENwdU1wRGF0YSwgMCwgMCwgQ3B1TXBEYXRhLT5CdWZmZXIpOw0KPj4+ DQo+Pj4gYnV0IGluDQo+Pj4NCj4+PiAobGluZTU5OCkgIEFwVG9wT2ZTdGFjayAgPSBDcHVNcERh dGEtPkJ1ZmZlciArIChQcm9jZXNzb3JOdW1iZXIgKyAxKSAqDQo+Pj4gQ3B1TXBEYXRhLT5DcHVB cFN0YWNrU2l6ZTsNCj4+PiAobGluZTYwOCkgIEluaXRpYWxpemVBcERhdGEgKENwdU1wRGF0YSwg UHJvY2Vzc29yTnVtYmVyLCBCaXN0RGF0YSwNCj4+PiBBcFRvcE9mU3RhY2spOw0KPj4+DQo+Pj4g U2luY2UgSW5pdE1wR2xvYmFsRGF0YSgpIGlzIGNhbGxlZCBqdXN0IGFmdGVyIGZpcnN0IHNpdHVh dGlvbiwgbXkgcGF0Y2ggaXMgY29ycmVjdC4NCj4+Pg0KPj4+IEkgdGhpbmsgdGhlIHByb2JsZW0g aGVyZSBpcyB0aGF0IEFwVG9wT2ZTdGFjayBpbml0aWFsaXplZCBhdCBsaW5lIDE1MDEgaXMgbm90 DQo+Pj4gY29ycmVjdC4NCj4+Pg0KPj4+DQo+Pj4gUmVnYXJkcywNCj4+PiBKaWFuDQo+Pj4NCj4+ Pg0KPj4+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPj4+PiBGcm9tOiBMYXN6bG8gRXJz ZWsgW21haWx0bzpsZXJzZWtAcmVkaGF0LmNvbV0NCj4+Pj4gU2VudDogVGh1cnNkYXksIEphbnVh cnkgMDQsIDIwMTggMTozMyBBTQ0KPj4+PiBUbzogV2FuZywgSmlhbiBKIDxqaWFuLmoud2FuZ0Bp bnRlbC5jb208bWFpbHRvOmppYW4uai53YW5nQGludGVsLmNvbT4+OyBlZGsyLWRldmVsQGxpc3Rz LjAxLm9yZzxtYWlsdG86ZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmc+DQo+Pj4+IENjOiBZYW8sIEpp ZXdlbiA8amlld2VuLnlhb0BpbnRlbC5jb208bWFpbHRvOmppZXdlbi55YW9AaW50ZWwuY29tPj47 IERvbmcsIEVyaWMgPGVyaWMuZG9uZ0BpbnRlbC5jb208bWFpbHRvOmVyaWMuZG9uZ0BpbnRlbC5j b20+PjsNCj4+Pj4gSmVmZiBGYW4gPHZhbmplZmZfOTE5QGhvdG1haWwuY29tPG1haWx0bzp2YW5q ZWZmXzkxOUBob3RtYWlsLmNvbT4+DQo+Pj4+IFN1YmplY3Q6IFJlOiBbZWRrMl0gW1BBVENIXSBV ZWZpQ3B1UGtnL01wSW5pdExpYjogZml4IHdyb25nIGJhc2UgYWRkcmVzcw0KPj4gc2V0DQo+Pj4+ IGFzIFN0YWNrIEd1YXJkDQo+Pj4+DQo+Pj4+IChDQyBKZWZmKQ0KPj4+Pg0KPj4+PiBTb3JyeSBh Ym91dCB0aGUgZGVsYXkuDQo+Pj4+DQo+Pj4+IEkgaGF2ZSBzb21lIGxpZ2h0IGNvbW1lbnRzIGJl bG93OyBJIGV4cGVjdCBhdCBsZWFzdCBhIGZldyBvZiB0aGVtIHRvIGJlDQo+Pj4+IGluY29ycmVj dCA6KQ0KPj4+Pg0KPj4+PiBPbiAxMi8yOS8xNyAwOTozNiwgSmlhbiBKIFdhbmcgd3JvdGU6DQo+ Pj4+PiBUaGUgcmVhc29uIGlzIHRoYXQgRFhFIHBhcnQgaW5pdGlhbGl6YXRpb24gd2lsbCByZXVz ZSB0aGUgc3RhY2sgYWxsb2NhdGVkDQo+Pj4+PiBhdCBQRUkgcGhhc2UsIGlmIE1QIHdhcyBpbml0 aWFsaXplZCBiZWZvcmUuIFNvbWUgY29kZSBhZGRlZCB0byBjaGVjayB0aGlzDQo+Pj4+PiBzaXR1 YXRpb24gYW5kIHVzZSBzdGFjayBiYXNlIGFkZHJlc3Mgc2F2ZWQgaW4gSE9CIHBhc3NlZCBmcm9t IFBFSS4NCj4+Pj4+DQo+Pj4+PiBDYzogSmlld2VuIFlhbyA8amlld2VuLnlhb0BpbnRlbC5jb208 bWFpbHRvOmppZXdlbi55YW9AaW50ZWwuY29tPj4NCj4+Pj4+IENjOiBFcmljIERvbmcgPGVyaWMu ZG9uZ0BpbnRlbC5jb208bWFpbHRvOmVyaWMuZG9uZ0BpbnRlbC5jb20+Pg0KPj4+Pj4gQ2M6IExh c3psbyBFcnNlayA8bGVyc2VrQHJlZGhhdC5jb208bWFpbHRvOmxlcnNla0ByZWRoYXQuY29tPj4N Cj4+Pj4+IENvbnRyaWJ1dGVkLXVuZGVyOiBUaWFub0NvcmUgQ29udHJpYnV0aW9uIEFncmVlbWVu dCAxLjENCj4+Pj4+IFNpZ25lZC1vZmYtYnk6IEppYW4gSiBXYW5nIDxqaWFuLmoud2FuZ0BpbnRl bC5jb208bWFpbHRvOmppYW4uai53YW5nQGludGVsLmNvbT4+DQo+Pj4+PiAtLS0NCj4+Pj4+ICBV ZWZpQ3B1UGtnL0xpYnJhcnkvTXBJbml0TGliL0R4ZU1wTGliLmMgfCAxNyArKysrKysrKysrKysr KystLQ0KPj4+Pj4gIDEgZmlsZSBjaGFuZ2VkLCAxNSBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9u cygtKQ0KPj4+Pj4NCj4+Pj4+IGRpZmYgLS1naXQgYS9VZWZpQ3B1UGtnL0xpYnJhcnkvTXBJbml0 TGliL0R4ZU1wTGliLmMNCj4+Pj4gYi9VZWZpQ3B1UGtnL0xpYnJhcnkvTXBJbml0TGliL0R4ZU1w TGliLmMNCj4+Pj4+IGluZGV4IDQwYzFiZjQwN2EuLjA1NDg0YzlmZjMgMTAwNjQ0DQo+Pj4+PiAt LS0gYS9VZWZpQ3B1UGtnL0xpYnJhcnkvTXBJbml0TGliL0R4ZU1wTGliLmMNCj4+Pj4+ICsrKyBi L1VlZmlDcHVQa2cvTGlicmFyeS9NcEluaXRMaWIvRHhlTXBMaWIuYw0KPj4+Pj4gQEAgLTI5NSw2 ICsyOTUsNyBAQCBJbml0TXBHbG9iYWxEYXRhICgNCj4+Pj4+ICAgIFVJTlROICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIEluZGV4Ow0KPj4+Pj4gICAgRUZJX0dDRF9NRU1PUllfU1BBQ0Vf REVTQ1JJUFRPUiAgICAgTWVtRGVzYzsNCj4+Pj4+ICAgIFVJTlROICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFN0YWNrQmFzZTsNCj4+Pj4+ICsgIENQVV9JTkZPX0lOX0hPQiAgICAgICAg ICAgICAgICAgICAgICpDcHVJbmZvSW5Ib2I7DQo+Pj4+Pg0KPj4+Pj4gICAgU2F2ZUNwdU1wRGF0 YSAoQ3B1TXBEYXRhKTsNCj4+Pj4+DQo+Pj4+PiBAQCAtMzE0LDkgKzMxNSwxOCBAQCBJbml0TXBH bG9iYWxEYXRhICgNCj4+Pj4+ICAgICAgICBBU1NFUlQgKEZBTFNFKTsNCj4+Pj4+ICAgICAgfQ0K Pj4+Pj4NCj4+Pj4+IC0gICAgZm9yIChJbmRleCA9IDA7IEluZGV4IDwgQ3B1TXBEYXRhLT5DcHVD b3VudDsgKytJbmRleCkgew0KPj4+Pj4gLSAgICAgIFN0YWNrQmFzZSA9IENwdU1wRGF0YS0+QnVm ZmVyICsgSW5kZXggKiBDcHVNcERhdGEtDQo+Pj4gQ3B1QXBTdGFja1NpemU7DQo+Pj4+PiArICAg IC8vDQo+Pj4+PiArICAgIC8vIERYRSB3aWxsIHJldXNlIHN0YWNrIGFsbG9jYXRlZCBmb3IgQVBz IGF0IFBFSSBwaGFzZSBpZiBpdCdzIGF2YWlsYWJsZS4NCj4+Pj4+ICsgICAgLy8gTGV0J3MgY2hl Y2sgaXQgaGVyZS4NCj4+Pj4+ICsgICAgLy8NCj4+Pj4+ICsgICAgQ3B1SW5mb0luSG9iID0gKENQ VV9JTkZPX0lOX0hPQiAqKShVSU5UTilDcHVNcERhdGEtDQo+Pj4+PiBDcHVJbmZvSW5Ib2I7DQo+ Pj4+PiArICAgIGlmIChDcHVJbmZvSW5Ib2IgIT0gTlVMTCAmJiBDcHVJbmZvSW5Ib2ItPkFwVG9w T2ZTdGFjayAhPSAwKSB7DQo+Pj4+PiArICAgICAgU3RhY2tCYXNlID0gQ3B1SW5mb0luSG9iLT5B cFRvcE9mU3RhY2s7DQo+Pj4+PiArICAgIH0gZWxzZSB7DQo+Pj4+PiArICAgICAgU3RhY2tCYXNl ID0gQ3B1TXBEYXRhLT5CdWZmZXI7DQo+Pj4+PiArICAgIH0NCj4+Pj4NCj4+Pj4gU28sIGlmIHRo ZSBIT0IgaXMgbm90IGZvdW5kLCB0aGVuIFN0YWNrQmFzZSBpcyBzZXQgb2theS4NCj4+Pj4NCj4+ Pj4gSG93ZXZlciwgSSdtIHVuc3VyZSBhYm91dCB0aGUgb3RoZXIgY2FzZS4gVGhlDQo+Pj4+IENQ VV9JTkZPX0lOX0hPQi5BcFRvcE9mU3RhY2sgZmllbGQgaWRlbnRpZmllcyB0aGUgKnRvcCogb2Yg dGhlIHN0YWNrDQo+Pj4+IChoaWdoZXN0IGFkZHJlc3MsIGFuZCB0aGUgc3RhY2sgZ3Jvd3MgZG93 bik7IGhvd2V2ZXIgdGhlIGxvb3AgYmVsb3cNCj4+Pj4gKmluY3JlbWVudHMqIFN0YWNrQmFzZS4g R2l2ZW4gdGhlIGluY3JlbWVudGluZyBuYXR1cmUgb2YgdGhlIGxvb3AsDQo+Pj4+IHNob3VsZG4n dCB3ZSBmaXJzdCBjYWxjdWxhdGUgdGhlIGFjdHVhbCBiYXNlICg9IGxvd2VzdCBhZGRyZXNzKSBm cm9tIHRoZQ0KPj4+PiBDUFVfSU5GT19JTl9IT0IuQXBUb3BPZlN0YWNrIGZpZWxkPw0KPj4+Pg0K Pj4+PiBBY3R1YWxseS4uLiBJJ20gZXZlbiBtb3JlIGNvbmZ1c2VkLiBUaGUgQ3B1TXBEYXRhLT5D cHVJbmZvSW5Ib2IgZmllbGQNCj4+Pj4gcG9pbnRzIHRvIGFuICphcnJheSogb2YgQ1BVX0lORk9f SU5fSE9CIHN0cnVjdHVyZXMuIFRoZXJlZm9yZSwgZm9yIGFueQ0KPj4+PiBnaXZlbiBwcm9jZXNz b3IgI04sIHdlIHNob3VsZCBub3QgY2FsY3VsYXRlIHRoZSBzdGFjayBiYXNlIGFzDQo+Pj4+DQo+ Pj4+ICAgQ3B1TXBEYXRhLT5DcHVJbmZvSW5Ib2ItPkFwVG9wT2ZTdGFjayArIE4gKiBDcHVNcERh dGEtDQo+Pj4+PiBDcHVBcFN0YWNrU2l6ZQ0KPj4+Pg0KPj4+PiBpbnN0ZWFkIHdlIHNob3VsZCBj YWxjdWxhdGUgdGhlIHN0YWNrIGJhc2UgYXMgc29tZXRoaW5nIGxpa2U6DQo+Pj4+DQo+Pj4+ICAg Q3B1TXBEYXRhLT5DcHVJbmZvSW5Ib2JbTl0uQXBUb3BPZlN0YWNrIC0gQ3B1TXBEYXRhLQ0KPj4+ IENwdUFwU3RhY2tTaXplDQo+Pj4+DQo+Pj4+IFNlZQ0KPj4+PiAtIHRoZSBJbml0aWFsaXplQXBE YXRhKCkgZnVuY3Rpb24sDQo+Pj4+IC0gYW5kIGl0cyBjYWxsIHNpdGUgaW4gdGhlIEFwV2FrZXVw RnVuY3Rpb24oKSBmdW5jdGlvbi4NCj4+Pj4NCj4+Pj4gKFRvIG15IHN1cnByaXNlLCBJIHBlcnNv bmFsbHkgbW9kaWZpZWQgSW5pdGlhbGl6ZUFwRGF0YSgpIGVhcmxpZXIsIGluDQo+Pj4+IGNvbW1p dCBkZDNmYTBjZDcyZGUgKCJVZWZpQ3B1UGtnL01wSW5pdExpYjogc3VwcG9ydCA2NC1iaXQgQVAg c3RhY2sNCj4+Pj4gYWRkcmVzc2VzIiwgMjAxNi0xMS0xNykgLS0gSSd2ZSB0b3RhbGx5IGZvcmdv dHRlbiBhYm91dCB0aGF0IGJ5IG5vdyEpDQo+Pj4+DQo+Pj4+IFdoYXQgZG8geW91IHRoaW5rPw0K Pj4+Pg0KPj4+Pj4NCj4+Pj4+ICsgICAgZm9yIChJbmRleCA9IDA7IEluZGV4IDwgQ3B1TXBEYXRh LT5DcHVDb3VudDsgKytJbmRleCkgew0KPj4+Pj4gICAgICAgIFN0YXR1cyA9IGdEUy0+R2V0TWVt b3J5U3BhY2VEZXNjcmlwdG9yIChTdGFja0Jhc2UsICZNZW1EZXNjKTsNCj4+Pj4+ICAgICAgICBB U1NFUlRfRUZJX0VSUk9SIChTdGF0dXMpOw0KPj4+Pj4NCj4+Pj4+IEBAIC0zMjYsNiArMzM2LDkg QEAgSW5pdE1wR2xvYmFsRGF0YSAoDQo+Pj4+PiAgICAgICAgICAgICAgICAgICAgICAgIE1lbURl c2MuQXR0cmlidXRlcyB8IEVGSV9NRU1PUllfUlANCj4+Pj4+ICAgICAgICAgICAgICAgICAgICAg ICAgKTsNCj4+Pj4+ICAgICAgICBBU1NFUlRfRUZJX0VSUk9SIChTdGF0dXMpOw0KPj4+Pj4gKw0K Pj4+Pj4gKyAgICAgIERFQlVHICgoREVCVUdfVkVSQk9TRSwgIlN0YWNrIEd1YXJkIHNldCBhdCAl eCBbY3B1JWRdIVxuIiwNCj4+Pj4gU3RhY2tCYXNlLCBJbmRleCkpOw0KPj4+Pg0KPj4+PiBTdGFj a0Jhc2UgaGFzIHR5cGUgVUlOVE4sIGFuZCBzbyBpdCBzaG91bGQgbm90IGJlIHByaW50ZWQgd2l0 aCAleC4gSXQNCj4+Pj4gc2hvdWxkIGJlIGNhc3QgdG8gKFVJTlQ2NCksIGFuZCB0aGVuIHByaW50 ZWQgd2l0aCAlTHguDQo+Pj4+DQo+Pj4+IFNpbWlsYXJseSwgSW5kZXggaGFzIHR5cGUgVUlOVE4u IEl0IHNob3VsZCBub3QgYmUgcHJpbnRlZCB3aXRoICVkLiBJdA0KPj4+PiBzaG91bGQgYmUgY2Fz dCB0byAoVUlOVDY0KSBhbmQgcHJpbnRlZCB3aXRoICVMdS4NCj4+Pj4NCj4+Pj4NCj4+Pj4+ICsg ICAgICBTdGFja0Jhc2UgKz0gQ3B1TXBEYXRhLT5DcHVBcFN0YWNrU2l6ZTsNCj4+Pj4NCj4+Pj4g QWdhaW4sIEkgZG9uJ3QgdGhpbmsgdGhlIHNpbXBsZSBpbmNyZW1lbnQgYXBwbGllcyB3aGVuIHRo ZQ0KPj4+PiBDcHVNcERhdGEtPkNwdUluZm9JbkhvYiBhcnJheSBleGlzdHMuDQo+Pj4+DQo+Pj4+ PiAgICAgIH0NCj4+Pj4+ICAgIH0NCj4+Pj4+DQo+Pj4+Pg0KPj4+Pg0KPj4+PiBUaGFua3MsDQo+ Pj4+IExhc3psbw0KPj4+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fDQo+Pj4gZWRrMi1kZXZlbCBtYWlsaW5nIGxpc3QNCj4+PiBlZGsyLWRldmVsQGxpc3Rz LjAxLm9yZzxtYWlsdG86ZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmc+DQo+Pj4gaHR0cHM6Ly9saXN0 cy4wMS5vcmcvbWFpbG1hbi9saXN0aW5mby9lZGsyLWRldmVsDQoNCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQplZGsyLWRldmVsIG1haWxpbmcgbGlzdA0K ZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmc8bWFpbHRvOmVkazItZGV2ZWxAbGlzdHMuMDEub3JnPg0K aHR0cHM6Ly9saXN0cy4wMS5vcmcvbWFpbG1hbi9saXN0aW5mby9lZGsyLWRldmVsDQoNCg0K