From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by mx.groups.io with SMTP id smtpd.web12.1491.1592892752393782877 for ; Mon, 22 Jun 2020 23:12:32 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=tPlKOMuq; spf=pass (domain: intel.com, ip: 192.55.52.151, mailfrom: zhiguang.liu@intel.com) IronPort-SDR: mCU44dVY9ofWDJRKwxDJj+PsW8SmkubCRq5jCRw30mT/V6fSkEYM0umlWfFqZg0M3GlRPAFeY/ HPRXWSoMYSbA== X-IronPort-AV: E=McAfee;i="6000,8403,9660"; a="124239268" X-IronPort-AV: E=Sophos;i="5.75,270,1589266800"; d="scan'208";a="124239268" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Jun 2020 23:12:32 -0700 IronPort-SDR: 3a39G1I20A+abVja9Pvylq5YRdpFrRsKycZqcELJruvil61M+hJQwJbRLvOCMc/hjCjpSr++fS os5633Qg0mgg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.75,270,1589266800"; d="scan'208";a="311178550" Received: from fmsmsx107.amr.corp.intel.com ([10.18.124.205]) by fmsmga002.fm.intel.com with ESMTP; 22 Jun 2020 23:12:32 -0700 Received: from fmsmsx609.amr.corp.intel.com (10.18.126.89) by fmsmsx107.amr.corp.intel.com (10.18.124.205) with Microsoft SMTP Server (TLS) id 14.3.439.0; Mon, 22 Jun 2020 23:12:31 -0700 Received: from fmsmsx609.amr.corp.intel.com (10.18.126.89) by fmsmsx609.amr.corp.intel.com (10.18.126.89) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Mon, 22 Jun 2020 23:12:30 -0700 Received: from FMSEDG001.ED.cps.intel.com (10.1.192.133) by fmsmsx609.amr.corp.intel.com (10.18.126.89) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.1.1713.5 via Frontend Transport; Mon, 22 Jun 2020 23:12:30 -0700 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (104.47.70.103) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (TLS) id 14.3.439.0; Mon, 22 Jun 2020 23:12:30 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ecWTmBl+Epq2c4gUvcDeYWWSIsbFosigCLJsuIKY23E7TkC1LIYajDTQ8GpZty8I8VI0xkZp2EFXESBW/37gTpo35T1FHpiVvpbk6AHxRfwSkedXBbvKd+lujmQCrYQYL1DLCeXL8Dh+w+xMCZFoHr7F1Jk57V8eUxe2JlGHE4TfkJ5dxfpvuDZWmQG0IkDpp6LZo6NltaVveSmo1xKqBIB40P7jZChXhgiNyHAuaw4T45rL5yb46LJ8YLF8nX0wYjYFaRdBhnIZhR3Y3dyD6SamGthyXZ0H9Tc7JvncWdlf5c9GL/I6dFy+nOh7Yp1UEGZyyoEGEx67R1Fqku3oag== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=As6BCiOEN5iw8z1qK2gaR3Z9rDLZCOX64FPv+IRaTts=; b=LtcWWd9HWo+SawCKlAoO0S0Sx/WEbF8ZfVrMJuIbR1fCXETbP5tgw2iWvbcHxGsGWDD9yM3+pWRlP1SLbPR8Ervt7JAOfuZYGzDK81tv97kgZS12MR3lvBMGunBKWqELjACoBM9ApjEMWhjQQjfBX6ehpVjbvccc1NPk+ILZ5uwelnpGVfR0ucxYRAg5dYzVg/Gcz+oaGhG4BJ7edoFifzV4Qz1pzzFQFayba6cKHNPGqpiqU8l9iXHafIQMZIQBQzxKTj5GbkurKgcsRYTH110veRJyM2+xrB/bft4SvZvTm2TJFLoyvLQlxBhx9wjPchlF+ckk64lxq35IJvJazw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=As6BCiOEN5iw8z1qK2gaR3Z9rDLZCOX64FPv+IRaTts=; b=tPlKOMuqwTy61iiWLdWEzhN4yGkteoqBSFRjz17Wkxn0DwmFD3/RsmRmWcY+sn7aQiwoMb7fX2eecAWY3jNPz8CmIeACBbpR7FNhmg8rvVo8eMME16sdrogR/f75Of5VNS+swm5sITWNl8NViDWziuEsMPPQ0otnI87oBjaEK9k= Received: from CY4PR11MB1687.namprd11.prod.outlook.com (2603:10b6:903:2e::11) by CY4PR1101MB2168.namprd11.prod.outlook.com (2603:10b6:910:18::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3109.22; Tue, 23 Jun 2020 06:12:27 +0000 Received: from CY4PR11MB1687.namprd11.prod.outlook.com ([fe80::1490:81c1:9ca1:df58]) by CY4PR11MB1687.namprd11.prod.outlook.com ([fe80::1490:81c1:9ca1:df58%9]) with mapi id 15.20.3109.027; Tue, 23 Jun 2020 06:12:27 +0000 From: "Zhiguang Liu" To: "Kinney, Michael D" , "devel@edk2.groups.io" CC: "Tian, Feng" , "Zeng, Star" , Laszlo Ersek , "Yao, Jiewen" Subject: Re: [PATCH 2/5] MdeModulePkg/SmmCore: Remove UEFI LOADED_IMAGE from SMM. Thread-Topic: [PATCH 2/5] MdeModulePkg/SmmCore: Remove UEFI LOADED_IMAGE from SMM. Thread-Index: AQHWQ70193OMb6SQIEibeo6Bs8/6Eajb1kMggAnplBA= Date: Tue, 23 Jun 2020 06:12:27 +0000 Message-ID: References: <20200616090434.1201-1-zhiguang.liu@intel.com> <20200616090434.1201-2-zhiguang.liu@intel.com> In-Reply-To: Accept-Language: zh-CN, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-reaction: no-action dlp-version: 11.2.0.6 dlp-product: dlpe-windows authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [192.102.204.45] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 4f847b8d-75f6-48f9-5375-08d8173c67bd x-ms-traffictypediagnostic: CY4PR1101MB2168: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-forefront-prvs: 04433051BF x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: uzrFiyTsnk5EE7uhn8/Josf1BzojFtmaP2dLKnB0n40NKZKzBRyHvPcw0gaf+hjuc3DkH5I+Lc7daMWXyBr7GSIdYlBtG24yGqV96ifxvN+e5b3oJ6p5fGtjl+53OxP77cbr8vdQIAfnNYM5NsQO7iejxy/B3rS4ePd8Aphq/4Er75+fPK+T+NVd0yZZbAN82AS45c05md3bvMXRwDNVLV4RvRWKjSJthxIMk7LaZhDyL2CEYjz9t2SLf+oTgAtApjHWyP+/KdHPov5qTSgkHCOICEOyXd398OP865/6RuUOPvMkDffOn6yTFHwMkzkkLqNLK5KSK4Qf5QNe5mD/oWDU6K3p7gZVEp45804E9dvPubu9UEp4M92lSJJqJ3uZMcQkxyyNIr1WkMIkBYYpY/624uiluN3vebY2z6vWrjxhH+ldn31YhGJQsttWB3aIlSsWkv9BDsPMtrXIwXqLsA== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CY4PR11MB1687.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFTY:;SFS:(4636009)(366004)(136003)(396003)(39860400002)(346002)(376002)(66946007)(66476007)(66556008)(9686003)(66446008)(76116006)(53546011)(6506007)(2906002)(55016002)(71200400001)(4326008)(30864003)(5660300002)(7696005)(8676002)(86362001)(64756008)(26005)(186003)(52536014)(107886003)(33656002)(966005)(83380400001)(110136005)(8936002)(316002)(478600001)(54906003)(44824005);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: YtS6t2LMiI06CCf1zmPjvmvcRrDXedy6Kff86yd3dk1Wweg7kUp0tKXPsTXUdsZZ3qetDA/kn5t0fOIUWNDZtp7+ja+oV+KkTTkA3YSY8tXp/U0aAqYOYNnjrbrwJuVhZZUI4EK65qCHZcKhBKcQ14A1DS9NtH6aIZcSjD4VgNHcciMr7DmuxAffpvG1pEyRye6//foIMJsr56xPYMaG28icuOZTebLv/W1khd+I+WbVlSyZNvP/AVsL8HR5OuOEuZtSqQ+Gom7S7EBhaLYOGCjvhnfHiM73RvWN7Xppw+xN8bXTcI5LJcF2GSlCYnHTJXN7gQ2tEuhVvAZwaSXYW8IgcTU0vaQx/HHWN4zy3/wFQQdYJkMxKFY22LYdKc7ncqKruijfTGAtc0FDpJKqTVxmBAC+GXE4fVs9Nw/AcsqtPpOgV20aFOp/OeZqcEBldQSQUlOwzkq8WbIx7UhapRCGzpYsqjjqo3IYY0hly4K8PlkMqLhWX4srZCG0Kekh MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: 4f847b8d-75f6-48f9-5375-08d8173c67bd X-MS-Exchange-CrossTenant-originalarrivaltime: 23 Jun 2020 06:12:27.7923 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: wwAe5aw996ESjs/xIdjUoXBT3ZzcustNIyReHsYJj09RRE18V/dv9cfknl0CKIHYntHghfuWHpMCKL75AaniLA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR1101MB2168 Return-Path: zhiguang.liu@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGkgTWlrZSwNCkkgZGlkIHNvbWUgaW52ZXN0aWdhdGlvbi4gVGhlIGRyaXZlciBkb2VzIGFmZmVj dCBkcml2ZXJzIG9yIGxpYnJhcmllcyB0aGF0IHVzZSBFRElfTE9BREVEX0lNQUdFX1BST1RPQ09M IG9yIEltYWdlIEhhbmRsZS4NCkluIEVESzIgcmVwbywgSSBmaW5kIHRoZSBmb2xsb3dpbmcgbW9k dWxlcyBzaG91bGQgYmUgbW9kaWZpZWQgYmVjYXVzZSBvZiB0aGlzIGNvZGUgY2hhbmdlLiBBbmQg YWZ0ZXIgcHJvcGVyIG1vZGlmaWNhdGlvbiwgdGhlIG1vZHVsZSB3aWxsIHJlbWFpbiB0aGUgc2Ft ZSBmdW5jdGlvbmFsbHkuDQogDQpNZGVQa2dcTGlicmFyeVxVZWZpRHJpdmVyRW50cnlQb2ludFxV ZWZpRHJpdmVyRW50cnlQb2ludC5pbmYNCk1kZVBrZ1xMaWJyYXJ5XER4ZVNlcnZpY2VzTGliXER4 ZVNlcnZpY2VzTGliLmluZg0KTWRlTW9kdWxlUGtnXExpYnJhcnlcU21tQ29yZVBlcmZvcm1hbmNl TGliXFNtbUNvcmVQZXJmb3JtYW5jZUxpYi5pbmYNCg0KRG8geW91IGtub3cgb3RoZXIgbW9kdWxl cyB0aGF0IGRlcGVuZCBvbiB0aGUgRURJX0xPQURFRF9JTUFHRV9QUk9UT0NPTCBzdHJ1Y3Q/DQoN CkJlY2F1c2UgdGhpcyBjb2RlIGNoYW5nZSBhbHNvIGhhcyBlZmZlY3Qgb24gaW50ZXJuYWwgcGxh dGZvcm0sIEkgd2lsbCBkbyBtb3JlIHJlc2VhcmNoIGFuZCBzZW5kIG90aGVyIHBhdGNoZXMgaW4g dGhpcyBwYXRjaCBzZXQgZm9yIHJldmlldyBmaXJzdC4NCg0KVGhhbmtzDQpaaGlndWFuZw0KDQo+ IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEtpbm5leSwgTWljaGFlbCBEIDxt aWNoYWVsLmQua2lubmV5QGludGVsLmNvbT4NCj4gU2VudDogV2VkbmVzZGF5LCBKdW5lIDE3LCAy MDIwIDY6NDAgQU0NCj4gVG86IExpdSwgWmhpZ3VhbmcgPHpoaWd1YW5nLmxpdUBpbnRlbC5jb20+ OyBkZXZlbEBlZGsyLmdyb3Vwcy5pbzsgS2lubmV5LA0KPiBNaWNoYWVsIEQgPG1pY2hhZWwuZC5r aW5uZXlAaW50ZWwuY29tPg0KPiBDYzogVGlhbiwgRmVuZyA8ZmVuZy50aWFuQGludGVsLmNvbT47 IFplbmcsIFN0YXIgPHN0YXIuemVuZ0BpbnRlbC5jb20+Ow0KPiBMYXN6bG8gRXJzZWsgPGxlcnNl a0ByZWRoYXQuY29tPjsgWWFvLCBKaWV3ZW4gPGppZXdlbi55YW9AaW50ZWwuY29tPg0KPiBTdWJq ZWN0OiBSRTogW1BBVENIIDIvNV0gTWRlTW9kdWxlUGtnL1NtbUNvcmU6IFJlbW92ZSBVRUZJDQo+ IExPQURFRF9JTUFHRSBmcm9tIFNNTS4NCj4gDQo+IFpoaWd1YW5nLA0KPiANCj4gVGhlcmUgYXJl IHNvbWUgc291cmNlIGxldmVsIGRlYnVnIHNvbHV0aW9ucyB0aGF0IGRlcGVuZCBvbiB0aGUNCj4g RURJX0xPQURFRF9JTUFHRV9QUk9UT0NPTCBzdHJ1Y3R1cmUuICBEb2VzIHRoaXMgY2hhbmdlIHJl ZHVjZSB0aGUNCj4gc291cmNlIGxldmVsIGRlYnVnIGNhcGFiaWxpdGllcyBmb3IgU01NIGRyaXZl cnMgdW5kZXIgZGV2ZWxvcG1lbnQ/DQo+IA0KPiBUaGFua3MsDQo+IA0KPiBNaWtlDQo+IA0KPiA+ IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gRnJvbTogTGl1LCBaaGlndWFuZyA8emhp Z3VhbmcubGl1QGludGVsLmNvbT4NCj4gPiBTZW50OiBUdWVzZGF5LCBKdW5lIDE2LCAyMDIwIDI6 MDUgQU0NCj4gPiBUbzogZGV2ZWxAZWRrMi5ncm91cHMuaW8NCj4gPiBDYzogVGlhbiwgRmVuZyA8 ZmVuZy50aWFuQGludGVsLmNvbT47IFplbmcsIFN0YXINCj4gPiA8c3Rhci56ZW5nQGludGVsLmNv bT47IEtpbm5leSwgTWljaGFlbCBEIDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT47DQo+ID4g TGFzemxvIEVyc2VrIDxsZXJzZWtAcmVkaGF0LmNvbT47IFlhbywgSmlld2VuIDxqaWV3ZW4ueWFv QGludGVsLmNvbT4NCj4gPiBTdWJqZWN0OiBbUEFUQ0ggMi81XSBNZGVNb2R1bGVQa2cvU21tQ29y ZTogUmVtb3ZlIFVFRkkNCj4gTE9BREVEX0lNQUdFDQo+ID4gZnJvbSBTTU0uDQo+ID4NCj4gPiBS RUY6IGh0dHBzOi8vYnVnemlsbGEudGlhbm9jb3JlLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMxNw0K PiA+DQo+ID4gVGhpcyBwYXRjaCByZW1vdmVzIEVGSV9MT0FERURfSU1BR0VfUFJPVE9DT0wgZnJv bSBEWEUgZGF0YWJhc2UuDQo+ID4gVGhlIFNtbUNvcmUgb25seSBpbnN0YWxsIEVGSV9MT0FERURf SU1BR0VfUFJPVE9DT0wgdG8gU01NDQo+IGRhdGFiYXNlLg0KPiA+DQo+ID4gRXhwb3NpbmcgTE9B REVEX0lNQUdFX1BST1RPQ09MIG1heSBjYXVzZSBTTU0gaW5mb3JtYXRpb24NCj4gbGVha2FnZSB0 bw0KPiA+IG5vbi1TTU0gY29tcG9uZW50Lg0KPiA+DQo+ID4gQ2M6IEZlbmcgVGlhbiA8ZmVuZy50 aWFuQGludGVsLmNvbT4NCj4gPiBDYzogU3RhciBaZW5nIDxzdGFyLnplbmdAaW50ZWwuY29tPg0K PiA+IENjOiBNaWNoYWVsIEQgS2lubmV5IDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT4NCj4g PiBDYzogTGFzemxvIEVyc2VrIDxsZXJzZWtAcmVkaGF0LmNvbT4NCj4gPiBTaWduZWQtb2ZmLWJ5 OiBKaWV3ZW4gWWFvIDxqaWV3ZW4ueWFvQGludGVsLmNvbT4NCj4gPiBTaWduZWQtb2ZmLWJ5OiBa aGlndWFuZyBMaXUgPHpoaWd1YW5nLmxpdUBpbnRlbC5jb20+DQo+ID4gLS0tDQo+ID4gIE1kZU1v ZHVsZVBrZy9Db3JlL1BpU21tQ29yZS9EaXNwYXRjaGVyLmMgfCAxMDQNCj4gPiArKysrKysrKysr Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiA+IC0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiA+ICBNZGVNb2R1 bGVQa2cvQ29yZS9QaVNtbUNvcmUvUGlTbW1Db3JlLmMgIHwgIDM0IC0tLS0tLS0tDQo+ID4gLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gPiAgTWRlTW9kdWxlUGtnL0NvcmUvUGlTbW1Db3Jl L1BpU21tQ29yZS5oICB8ICAgNCArKy0tDQo+ID4gIDMgZmlsZXMgY2hhbmdlZCwgMTMgaW5zZXJ0 aW9ucygrKSwgMTI5IGRlbGV0aW9ucygtKQ0KPiA+DQo+ID4gZGlmZiAtLWdpdCBhL01kZU1vZHVs ZVBrZy9Db3JlL1BpU21tQ29yZS9EaXNwYXRjaGVyLmMNCj4gPiBiL01kZU1vZHVsZVBrZy9Db3Jl L1BpU21tQ29yZS9EaXNwYXRjaGVyLmMNCj4gPiBpbmRleCA3NmVlOWUwYjg5Li4yYmUyODY2MjM0 IDEwMDY0NA0KPiA+IC0tLSBhL01kZU1vZHVsZVBrZy9Db3JlL1BpU21tQ29yZS9EaXNwYXRjaGVy LmMNCj4gPiArKysgYi9NZGVNb2R1bGVQa2cvQ29yZS9QaVNtbUNvcmUvRGlzcGF0Y2hlci5jDQo+ ID4gQEAgLTMxNiw3ICszMTYsNyBAQCBTbW1Mb2FkSW1hZ2UgKA0KPiA+ICAgIEVGSV9GSVJNV0FS RV9WT0xVTUUyX1BST1RPQ09MICAqRnY7DQo+ID4NCj4gPiAgICBQRV9DT0ZGX0xPQURFUl9JTUFH RV9DT05URVhUICAgSW1hZ2VDb250ZXh0Ow0KPiA+DQo+ID4NCj4gPg0KPiA+IC0gIFBFUkZfTE9B RF9JTUFHRV9CRUdJTiAoRHJpdmVyRW50cnktPkltYWdlSGFuZGxlKTsNCj4gPg0KPiA+ICsgIFBF UkZfTE9BRF9JTUFHRV9CRUdJTiAoRHJpdmVyRW50cnktPlNtbUltYWdlSGFuZGxlKTsNCj4gPg0K PiA+DQo+ID4NCj4gPiAgICBCdWZmZXIgICAgICAgICAgICAgICA9IE5VTEw7DQo+ID4NCj4gPiAg ICBTaXplICAgICAgICAgICAgICAgICA9IDA7DQo+ID4NCj4gPiBAQCAtNTQ2LDUxICs1NDYsMTQg QEAgU21tTG9hZEltYWdlICgNCj4gPiAgICBEcml2ZXJFbnRyeS0+SW1hZ2VCdWZmZXIgICAgICA9 IERzdEJ1ZmZlcjsNCj4gPg0KPiA+ICAgIERyaXZlckVudHJ5LT5OdW1iZXJPZlBhZ2UgICAgID0g UGFnZUNvdW50Ow0KPiA+DQo+ID4NCj4gPg0KPiA+IC0gIC8vDQo+ID4NCj4gPiAtICAvLyBBbGxv Y2F0ZSBhIExvYWRlZCBJbWFnZSBQcm90b2NvbCBpbiBFZmlCb290U2VydmljZXNEYXRhDQo+ID4N Cj4gPiAtICAvLw0KPiA+DQo+ID4gLSAgU3RhdHVzID0gZ0JTLT5BbGxvY2F0ZVBvb2wgKEVmaUJv b3RTZXJ2aWNlc0RhdGEsIHNpemVvZg0KPiA+IChFRklfTE9BREVEX0lNQUdFX1BST1RPQ09MKSwg KFZPSUQgKiopJkRyaXZlckVudHJ5LQ0KPiA+TG9hZGVkSW1hZ2UpOw0KPiA+DQo+ID4gLSAgaWYg KEVGSV9FUlJPUiAoU3RhdHVzKSkgew0KPiA+DQo+ID4gLSAgICBpZiAoQnVmZmVyICE9IE5VTEwp IHsNCj4gPg0KPiA+IC0gICAgICBnQlMtPkZyZWVQb29sIChCdWZmZXIpOw0KPiA+DQo+ID4gLSAg ICB9DQo+ID4NCj4gPiAtICAgIFNtbUZyZWVQYWdlcyAoRHN0QnVmZmVyLCBQYWdlQ291bnQpOw0K PiA+DQo+ID4gLSAgICByZXR1cm4gU3RhdHVzOw0KPiA+DQo+ID4gLSAgfQ0KPiA+DQo+ID4gLQ0K PiA+DQo+ID4gLSAgWmVyb01lbSAoRHJpdmVyRW50cnktPkxvYWRlZEltYWdlLCBzaXplb2YNCj4g PiAoRUZJX0xPQURFRF9JTUFHRV9QUk9UT0NPTCkpOw0KPiA+DQo+ID4gICAgLy8NCj4gPg0KPiA+ ICAgIC8vIEZpbGwgaW4gdGhlIHJlbWFpbmluZyBmaWVsZHMgb2YgdGhlIExvYWRlZCBJbWFnZSBQ cm90b2NvbA0KPiA+IGluc3RhbmNlLg0KPiA+DQo+ID4gLSAgLy8gTm90ZTogSW1hZ2VCYXNlIGlz IGFuIFNNUkFNIGFkZHJlc3MgdGhhdCBjYW4gbm90IGJlIGFjY2Vzc2VkDQo+ID4gb3V0c2lkZSBv ZiBTTVJBTSBpZiBTTVJBTSB3aW5kb3cgaXMgY2xvc2VkLg0KPiA+DQo+ID4gICAgLy8NCj4gPg0K PiA+IC0gIERyaXZlckVudHJ5LT5Mb2FkZWRJbWFnZS0+UmV2aXNpb24gICAgICA9DQo+ID4gRUZJ X0xPQURFRF9JTUFHRV9QUk9UT0NPTF9SRVZJU0lPTjsNCj4gPg0KPiA+IC0gIERyaXZlckVudHJ5 LT5Mb2FkZWRJbWFnZS0+UGFyZW50SGFuZGxlICA9DQo+ID4gZ1NtbUNvcmVQcml2YXRlLT5TbW1J cGxJbWFnZUhhbmRsZTsNCj4gPg0KPiA+IC0gIERyaXZlckVudHJ5LT5Mb2FkZWRJbWFnZS0+U3lz dGVtVGFibGUgICA9IGdTVDsNCj4gPg0KPiA+IC0gIERyaXZlckVudHJ5LT5Mb2FkZWRJbWFnZS0+ RGV2aWNlSGFuZGxlICA9IERldmljZUhhbmRsZTsNCj4gPg0KPiA+IC0NCj4gPg0KPiA+ICAgIERy aXZlckVudHJ5LT5TbW1Mb2FkZWRJbWFnZS5SZXZpc2lvbiAgICAgPQ0KPiA+IEVGSV9MT0FERURf SU1BR0VfUFJPVE9DT0xfUkVWSVNJT047DQo+ID4NCj4gPiAgICBEcml2ZXJFbnRyeS0+U21tTG9h ZGVkSW1hZ2UuUGFyZW50SGFuZGxlID0NCj4gPiBnU21tQ29yZVByaXZhdGUtPlNtbUlwbEltYWdl SGFuZGxlOw0KPiA+DQo+ID4gICAgRHJpdmVyRW50cnktPlNtbUxvYWRlZEltYWdlLlN5c3RlbVRh YmxlICA9IGdTVDsNCj4gPg0KPiA+ICAgIERyaXZlckVudHJ5LT5TbW1Mb2FkZWRJbWFnZS5EZXZp Y2VIYW5kbGUgPSBEZXZpY2VIYW5kbGU7DQo+ID4NCj4gPg0KPiA+DQo+ID4gLSAgLy8NCj4gPg0K PiA+IC0gIC8vIE1ha2UgYW4gRWZpQm9vdFNlcnZpY2VzRGF0YSBidWZmZXIgY29weSBvZiBGaWxl UGF0aA0KPiA+DQo+ID4gLSAgLy8NCj4gPg0KPiA+IC0gIFN0YXR1cyA9IGdCUy0+QWxsb2NhdGVQ b29sIChFZmlCb290U2VydmljZXNEYXRhLCBHZXREZXZpY2VQYXRoU2l6ZQ0KPiA+IChGaWxlUGF0 aCksIChWT0lEICoqKSZEcml2ZXJFbnRyeS0NCj4gPiA+TG9hZGVkSW1hZ2UtPkZpbGVQYXRoKTsN Cj4gPg0KPiA+IC0gIGlmIChFRklfRVJST1IgKFN0YXR1cykpIHsNCj4gPg0KPiA+IC0gICAgaWYg KEJ1ZmZlciAhPSBOVUxMKSB7DQo+ID4NCj4gPiAtICAgICAgZ0JTLT5GcmVlUG9vbCAoQnVmZmVy KTsNCj4gPg0KPiA+IC0gICAgfQ0KPiA+DQo+ID4gLSAgICBTbW1GcmVlUGFnZXMgKERzdEJ1ZmZl ciwgUGFnZUNvdW50KTsNCj4gPg0KPiA+IC0gICAgcmV0dXJuIFN0YXR1czsNCj4gPg0KPiA+IC0g IH0NCj4gPg0KPiA+IC0gIENvcHlNZW0gKERyaXZlckVudHJ5LT5Mb2FkZWRJbWFnZS0+RmlsZVBh dGgsDQo+ID4gRmlsZVBhdGgsIEdldERldmljZVBhdGhTaXplIChGaWxlUGF0aCkpOw0KPiA+DQo+ ID4gLQ0KPiA+DQo+ID4gLSAgRHJpdmVyRW50cnktPkxvYWRlZEltYWdlLT5JbWFnZUJhc2UgICAg ID0gKFZPSUQNCj4gPiAqKShVSU5UTikgSW1hZ2VDb250ZXh0LkltYWdlQWRkcmVzczsNCj4gPg0K PiA+IC0gIERyaXZlckVudHJ5LT5Mb2FkZWRJbWFnZS0+SW1hZ2VTaXplICAgICA9DQo+ID4gSW1h Z2VDb250ZXh0LkltYWdlU2l6ZTsNCj4gPg0KPiA+IC0gIERyaXZlckVudHJ5LT5Mb2FkZWRJbWFn ZS0+SW1hZ2VDb2RlVHlwZSA9IEVmaVJ1bnRpbWVTZXJ2aWNlc0NvZGU7DQo+ID4NCj4gPiAtICBE cml2ZXJFbnRyeS0+TG9hZGVkSW1hZ2UtPkltYWdlRGF0YVR5cGUgPSBFZmlSdW50aW1lU2Vydmlj ZXNEYXRhOw0KPiA+DQo+ID4gLQ0KPiA+DQo+ID4gICAgLy8NCj4gPg0KPiA+ICAgIC8vIE1ha2Ug YSBidWZmZXIgY29weSBvZiBGaWxlUGF0aA0KPiA+DQo+ID4gICAgLy8NCj4gPg0KPiA+IEBAIC01 OTksNyArNTYyLDYgQEAgU21tTG9hZEltYWdlICgNCj4gPiAgICAgIGlmIChCdWZmZXIgIT0gTlVM TCkgew0KPiA+DQo+ID4gICAgICAgIGdCUy0+RnJlZVBvb2wgKEJ1ZmZlcik7DQo+ID4NCj4gPiAg ICAgIH0NCj4gPg0KPiA+IC0gICAgZ0JTLT5GcmVlUG9vbCAoRHJpdmVyRW50cnktPkxvYWRlZElt YWdlLT5GaWxlUGF0aCk7DQo+ID4NCj4gPiAgICAgIFNtbUZyZWVQYWdlcyAoRHN0QnVmZmVyLCBQ YWdlQ291bnQpOw0KPiA+DQo+ID4gICAgICByZXR1cm4gU3RhdHVzOw0KPiA+DQo+ID4gICAgfQ0K PiA+DQo+ID4gQEAgLTYxMCwxNiArNTcyLDYgQEAgU21tTG9hZEltYWdlICgNCj4gPiAgICBEcml2 ZXJFbnRyeS0+U21tTG9hZGVkSW1hZ2UuSW1hZ2VDb2RlVHlwZSA9DQo+IEVmaVJ1bnRpbWVTZXJ2 aWNlc0NvZGU7DQo+ID4NCj4gPiAgICBEcml2ZXJFbnRyeS0+U21tTG9hZGVkSW1hZ2UuSW1hZ2VE YXRhVHlwZSA9DQo+IEVmaVJ1bnRpbWVTZXJ2aWNlc0RhdGE7DQo+ID4NCj4gPg0KPiA+DQo+ID4g LSAgLy8NCj4gPg0KPiA+IC0gIC8vIENyZWF0ZSBhIG5ldyBpbWFnZSBoYW5kbGUgaW4gdGhlIFVF RkkgaGFuZGxlIGRhdGFiYXNlIGZvciB0aGUNCj4gPiBTTU0gRHJpdmVyDQo+ID4NCj4gPiAtICAv Lw0KPiA+DQo+ID4gLSAgRHJpdmVyRW50cnktPkltYWdlSGFuZGxlID0gTlVMTDsNCj4gPg0KPiA+ IC0gIFN0YXR1cyA9IGdCUy0+SW5zdGFsbE11bHRpcGxlUHJvdG9jb2xJbnRlcmZhY2VzICgNCj4g Pg0KPiA+IC0gICAgICAgICAgICAgICAgICAmRHJpdmVyRW50cnktPkltYWdlSGFuZGxlLA0KPiA+ DQo+ID4gLSAgICAgICAgICAgICAgICAgICZnRWZpTG9hZGVkSW1hZ2VQcm90b2NvbEd1aWQsDQo+ ID4gRHJpdmVyRW50cnktPkxvYWRlZEltYWdlLA0KPiA+DQo+ID4gLSAgICAgICAgICAgICAgICAg IE5VTEwNCj4gPg0KPiA+IC0gICAgICAgICAgICAgICAgICApOw0KPiA+DQo+ID4gLQ0KPiA+DQo+ ID4gICAgLy8NCj4gPg0KPiA+ICAgIC8vIENyZWF0ZSBhIG5ldyBpbWFnZSBoYW5kbGUgaW4gdGhl IFNNTSBoYW5kbGUgZGF0YWJhc2UgZm9yIHRoZSBTTU0NCj4gPiBEcml2ZXINCj4gPg0KPiA+ICAg IC8vDQo+ID4NCj4gPiBAQCAtNjMxLDcgKzU4Myw3IEBAIFNtbUxvYWRJbWFnZSAoDQo+ID4gICAg ICAgICAgICAgICAmRHJpdmVyRW50cnktPlNtbUxvYWRlZEltYWdlDQo+ID4NCj4gPiAgICAgICAg ICAgICAgICk7DQo+ID4NCj4gPg0KPiA+DQo+ID4gLSAgUEVSRl9MT0FEX0lNQUdFX0VORCAoRHJp dmVyRW50cnktPkltYWdlSGFuZGxlKTsNCj4gPg0KPiA+ICsgIFBFUkZfTE9BRF9JTUFHRV9FTkQg KERyaXZlckVudHJ5LT5TbW1JbWFnZUhhbmRsZSk7DQo+ID4NCj4gPg0KPiA+DQo+ID4gICAgLy8N Cj4gPg0KPiA+ICAgIC8vIFByaW50IHRoZSBsb2FkIGFkZHJlc3MgYW5kIHRoZSBQREIgZmlsZSBu YW1lIGlmIGl0IGlzIGF2YWlsYWJsZQ0KPiA+DQo+ID4gQEAgLTg1Niw3ICs4MDgsNyBAQCBTbW1E aXNwYXRjaGVyICgNCj4gPiAgICAgICAgLy8gVW50cnVzZWQgdG8gU2NoZWR1bGVkIGl0IHdvdWxk IGhhdmUgYWxyZWFkeSBiZWVuIGxvYWRlZCBzbw0KPiA+IHdlIG1heSBuZWVkIHRvDQo+ID4NCj4g PiAgICAgICAgLy8gc2tpcCB0aGUgTG9hZEltYWdlDQo+ID4NCj4gPiAgICAgICAgLy8NCj4gPg0K PiA+IC0gICAgICBpZiAoRHJpdmVyRW50cnktPkltYWdlSGFuZGxlID09IE5VTEwpIHsNCj4gPg0K PiA+ICsgICAgICBpZiAoRHJpdmVyRW50cnktPlNtbUltYWdlSGFuZGxlID09IE5VTEwpIHsNCj4g Pg0KPiA+ICAgICAgICAgIFN0YXR1cyA9IFNtbUxvYWRJbWFnZSAoRHJpdmVyRW50cnkpOw0KPiA+ DQo+ID4NCj4gPg0KPiA+ICAgICAgICAgIC8vDQo+ID4NCj4gPiBAQCAtODg1LDggKzgzNyw4IEBA IFNtbURpc3BhdGNoZXIgKA0KPiA+ICAgICAgICBSRVBPUlRfU1RBVFVTX0NPREVfV0lUSF9FWFRF TkRFRF9EQVRBICgNCj4gPg0KPiA+ICAgICAgICAgIEVGSV9QUk9HUkVTU19DT0RFLA0KPiA+DQo+ ID4gICAgICAgICAgRUZJX1NPRlRXQVJFX1NNTV9EUklWRVIgfCBFRklfU1dfUENfSU5JVF9CRUdJ TiwNCj4gPg0KPiA+IC0gICAgICAgICZEcml2ZXJFbnRyeS0+SW1hZ2VIYW5kbGUsDQo+ID4NCj4g PiAtICAgICAgICBzaXplb2YgKERyaXZlckVudHJ5LT5JbWFnZUhhbmRsZSkNCj4gPg0KPiA+ICsg ICAgICAgICZEcml2ZXJFbnRyeS0+U21tSW1hZ2VIYW5kbGUsDQo+ID4NCj4gPiArICAgICAgICBz aXplb2YgKERyaXZlckVudHJ5LT5TbW1JbWFnZUhhbmRsZSkNCj4gPg0KPiA+ICAgICAgICAgICk7 DQo+ID4NCj4gPg0KPiA+DQo+ID4gICAgICAgIC8vDQo+ID4NCj4gPiBAQCAtODk4LDkgKzg1MCwx MCBAQCBTbW1EaXNwYXRjaGVyICgNCj4gPiAgICAgICAgLy8gRm9yIGVhY2ggU01NIGRyaXZlciwg cGFzcyBOVUxMIGFzIEltYWdlSGFuZGxlDQo+ID4NCj4gPiAgICAgICAgLy8NCj4gPg0KPiA+ICAg ICAgICBSZWdpc3RlclNtcmFtUHJvZmlsZUltYWdlIChEcml2ZXJFbnRyeSwgVFJVRSk7DQo+ID4N Cj4gPiAtICAgICAgUEVSRl9TVEFSVF9JTUFHRV9CRUdJTiAoRHJpdmVyRW50cnktDQo+ID4gPklt YWdlSGFuZGxlKTsNCj4gPg0KPiA+IC0gICAgICBTdGF0dXMgPQ0KPiA+ICgoRUZJX0lNQUdFX0VO VFJZX1BPSU5UKShVSU5UTilEcml2ZXJFbnRyeS0NCj4gPiA+SW1hZ2VFbnRyeVBvaW50KShEcml2 ZXJFbnRyeS0+SW1hZ2VIYW5kbGUsIGdTVCk7DQo+ID4NCj4gPiAtICAgICAgUEVSRl9TVEFSVF9J TUFHRV9FTkQgKERyaXZlckVudHJ5LT5JbWFnZUhhbmRsZSk7DQo+ID4NCj4gPiArICAgICAgREVC VUcgKChERUJVR19JTkZPLCAiU01NIFN0YXJ0SW1hZ2UgLSAweCUxMXBcbiIsDQo+ID4gRHJpdmVy RW50cnktPkltYWdlRW50cnlQb2ludCkpOw0KPiA+DQo+ID4gKyAgICAgIFBFUkZfU1RBUlRfSU1B R0VfQkVHSU4gKERyaXZlckVudHJ5LQ0KPiA+ID5TbW1JbWFnZUhhbmRsZSk7DQo+ID4NCj4gPiAr ICAgICAgU3RhdHVzID0NCj4gPiAoKEVGSV9JTUFHRV9FTlRSWV9QT0lOVCkoVUlOVE4pRHJpdmVy RW50cnktDQo+ID4gPkltYWdlRW50cnlQb2ludCkoRHJpdmVyRW50cnktPlNtbUltYWdlSGFuZGxl LCBnU1QpOw0KPiA+DQo+ID4gKyAgICAgIFBFUkZfU1RBUlRfSU1BR0VfRU5EIChEcml2ZXJFbnRy eS0NCj4gPiA+U21tSW1hZ2VIYW5kbGUpOw0KPiA+DQo+ID4gICAgICAgIGlmIChFRklfRVJST1Io U3RhdHVzKSl7DQo+ID4NCj4gPiAgICAgICAgICBERUJVRyAoKA0KPiA+DQo+ID4gICAgICAgICAg ICBERUJVR19FUlJPUiwNCj4gPg0KPiA+IEBAIC05MTAsMjAgKzg2Myw2IEBAIFNtbURpc3BhdGNo ZXIgKA0KPiA+ICAgICAgICAgICAgKSk7DQo+ID4NCj4gPiAgICAgICAgICBVbnJlZ2lzdGVyU21y YW1Qcm9maWxlSW1hZ2UgKERyaXZlckVudHJ5LCBUUlVFKTsNCj4gPg0KPiA+ICAgICAgICAgIFNt bUZyZWVQYWdlcyhEcml2ZXJFbnRyeS0+SW1hZ2VCdWZmZXIsDQo+ID4gRHJpdmVyRW50cnktPk51 bWJlck9mUGFnZSk7DQo+ID4NCj4gPiAtICAgICAgICAvLw0KPiA+DQo+ID4gLSAgICAgICAgLy8g VW5pbnN0YWxsIExvYWRlZEltYWdlDQo+ID4NCj4gPiAtICAgICAgICAvLw0KPiA+DQo+ID4gLSAg ICAgICAgU3RhdHVzID0gZ0JTLT5Vbmluc3RhbGxQcm90b2NvbEludGVyZmFjZSAoDQo+ID4NCj4g PiAtICAgICAgICAgICAgICAgICAgICAgICAgRHJpdmVyRW50cnktPkltYWdlSGFuZGxlLA0KPiA+ DQo+ID4gLSAgICAgICAgICAgICAgICAgICAgICAgICZnRWZpTG9hZGVkSW1hZ2VQcm90b2NvbEd1 aWQsDQo+ID4NCj4gPiAtICAgICAgICAgICAgICAgICAgICAgICAgRHJpdmVyRW50cnktPkxvYWRl ZEltYWdlDQo+ID4NCj4gPiAtICAgICAgICAgICAgICAgICAgICAgICAgKTsNCj4gPg0KPiA+IC0g ICAgICAgIGlmICghRUZJX0VSUk9SIChTdGF0dXMpKSB7DQo+ID4NCj4gPiAtICAgICAgICAgIGlm IChEcml2ZXJFbnRyeS0+TG9hZGVkSW1hZ2UtPkZpbGVQYXRoICE9DQo+ID4gTlVMTCkgew0KPiA+ DQo+ID4gLSAgICAgICAgICAgIGdCUy0+RnJlZVBvb2wgKERyaXZlckVudHJ5LT5Mb2FkZWRJbWFn ZS0NCj4gPiA+RmlsZVBhdGgpOw0KPiA+DQo+ID4gLSAgICAgICAgICB9DQo+ID4NCj4gPiAtICAg ICAgICAgIGdCUy0+RnJlZVBvb2wgKERyaXZlckVudHJ5LT5Mb2FkZWRJbWFnZSk7DQo+ID4NCj4g PiAtICAgICAgICB9DQo+ID4NCj4gPiAgICAgICAgICBTdGF0dXMgPSBTbW1Vbmluc3RhbGxQcm90 b2NvbEludGVyZmFjZSAoDQo+ID4NCj4gPiAgICAgICAgICAgICAgICAgICAgIERyaXZlckVudHJ5 LT5TbW1JbWFnZUhhbmRsZSwNCj4gPg0KPiA+ICAgICAgICAgICAgICAgICAgICAgJmdFZmlMb2Fk ZWRJbWFnZVByb3RvY29sR3VpZCwNCj4gPg0KPiA+IEBAIC05MzksOCArODc4LDggQEAgU21tRGlz cGF0Y2hlciAoDQo+ID4gICAgICAgIFJFUE9SVF9TVEFUVVNfQ09ERV9XSVRIX0VYVEVOREVEX0RB VEEgKA0KPiA+DQo+ID4gICAgICAgICAgRUZJX1BST0dSRVNTX0NPREUsDQo+ID4NCj4gPiAgICAg ICAgICBFRklfU09GVFdBUkVfU01NX0RSSVZFUiB8IEVGSV9TV19QQ19JTklUX0VORCwNCj4gPg0K PiA+IC0gICAgICAgICZEcml2ZXJFbnRyeS0+SW1hZ2VIYW5kbGUsDQo+ID4NCj4gPiAtICAgICAg ICBzaXplb2YgKERyaXZlckVudHJ5LT5JbWFnZUhhbmRsZSkNCj4gPg0KPiA+ICsgICAgICAgICZE cml2ZXJFbnRyeS0+U21tSW1hZ2VIYW5kbGUsDQo+ID4NCj4gPiArICAgICAgICBzaXplb2YgKERy aXZlckVudHJ5LT5TbW1JbWFnZUhhbmRsZSkNCj4gPg0KPiA+ICAgICAgICAgICk7DQo+ID4NCj4g Pg0KPiA+DQo+ID4gICAgICAgIGlmICghUHJldmlvdXNTbW1FbnRyeVBvaW50UmVnaXN0ZXJlZCAm Jg0KPiA+IGdTbW1Db3JlUHJpdmF0ZS0+U21tRW50cnlQb2ludFJlZ2lzdGVyZWQpIHsNCj4gPg0K PiA+IEBAIC0xMzQ0LDI3ICsxMjgzLDYgQEAgU21tRHJpdmVyRGlzcGF0Y2hIYW5kbGVyICgNCj4g PiAgICAgICAgICAgICAgLy8NCj4gPg0KPiA+ICAgICAgICAgICAgICAvLyBJZiB0aGlzIGlzIHRo ZSBTTU0gY29yZSBmaWxsIGluIGl0J3MgRGV2aWNlUGF0aCAmDQo+ID4gRGV2aWNlSGFuZGxlDQo+ ID4NCj4gPiAgICAgICAgICAgICAgLy8NCj4gPg0KPiA+IC0gICAgICAgICAgICBpZiAobVNtbUNv cmVMb2FkZWRJbWFnZS0+RmlsZVBhdGggPT0gTlVMTCkNCj4gPiB7DQo+ID4NCj4gPiAtICAgICAg ICAgICAgICAvLw0KPiA+DQo+ID4gLSAgICAgICAgICAgICAgLy8gTWF5YmUgb25lIHNwZWNpYWwg RlYgY29udGFpbnMgb25seSBvbmUNCj4gPiBTTU1fQ09SRSBtb2R1bGUsIHNvIGl0cyBkZXZpY2Ug cGF0aCBtdXN0DQo+ID4NCj4gPiAtICAgICAgICAgICAgICAvLyBiZSBpbml0aWFsaXplZCBjb21w bGV0ZWx5Lg0KPiA+DQo+ID4gLSAgICAgICAgICAgICAgLy8NCj4gPg0KPiA+IC0gICAgICAgICAg ICAgIEVmaUluaXRpYWxpemVGd1ZvbERldmljZXBhdGhOb2RlDQo+ID4gKCZtRnZEZXZpY2VQYXRo LkZpbGUsICZOYW1lR3VpZCk7DQo+ID4NCj4gPiAtICAgICAgICAgICAgICBTZXREZXZpY2VQYXRo RW5kTm9kZQ0KPiA+ICgmbUZ2RGV2aWNlUGF0aC5FbmQpOw0KPiA+DQo+ID4gLQ0KPiA+DQo+ID4g LSAgICAgICAgICAgICAgLy8NCj4gPg0KPiA+IC0gICAgICAgICAgICAgIC8vIE1ha2UgYW4gRWZp Qm9vdFNlcnZpY2VzRGF0YSBidWZmZXINCj4gPiBjb3B5IG9mIEZpbGVQYXRoDQo+ID4NCj4gPiAt ICAgICAgICAgICAgICAvLw0KPiA+DQo+ID4gLSAgICAgICAgICAgICAgU3RhdHVzID0gZ0JTLT5B bGxvY2F0ZVBvb2wgKA0KPiA+DQo+ID4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVm aUJvb3RTZXJ2aWNlc0RhdGEsDQo+ID4NCj4gPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgR2V0RGV2aWNlUGF0aFNpemUNCj4gPiAoKEVGSV9ERVZJQ0VfUEFUSF9QUk9UT0NPTCAqKSZt RnZEZXZpY2VQYXRoKSwNCj4gPg0KPiA+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAo Vk9JRA0KPiA+ICoqKSZtU21tQ29yZUxvYWRlZEltYWdlLT5GaWxlUGF0aA0KPiA+DQo+ID4gLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7DQo+ID4NCj4gPiAtICAgICAgICAgICAgICBB U1NFUlRfRUZJX0VSUk9SIChTdGF0dXMpOw0KPiA+DQo+ID4gLSAgICAgICAgICAgICAgQ29weU1l bSAobVNtbUNvcmVMb2FkZWRJbWFnZS0+RmlsZVBhdGgsDQo+ID4gJm1GdkRldmljZVBhdGgsIEdl dERldmljZVBhdGhTaXplDQo+ID4gKChFRklfREVWSUNFX1BBVEhfUFJPVE9DT0wgKikmbUZ2RGV2 aWNlUGF0aCkpOw0KPiA+DQo+ID4gLQ0KPiA+DQo+ID4gLSAgICAgICAgICAgICAgbVNtbUNvcmVM b2FkZWRJbWFnZS0+RGV2aWNlSGFuZGxlID0NCj4gPiBGdkhhbmRsZTsNCj4gPg0KPiA+IC0gICAg ICAgICAgICB9DQo+ID4NCj4gPiAgICAgICAgICAgICAgaWYgKG1TbW1Db3JlRHJpdmVyRW50cnkt DQo+ID4gPlNtbUxvYWRlZEltYWdlLkZpbGVQYXRoID09IE5VTEwpIHsNCj4gPg0KPiA+ICAgICAg ICAgICAgICAgIC8vDQo+ID4NCj4gPiAgICAgICAgICAgICAgICAvLyBNYXliZSBvbmUgc3BlY2lh bCBGViBjb250YWlucyBvbmx5IG9uZSBTTU1fQ09SRQ0KPiA+IG1vZHVsZSwgc28gaXRzIGRldmlj ZSBwYXRoIG11c3QNCj4gPg0KPiA+IGRpZmYgLS1naXQgYS9NZGVNb2R1bGVQa2cvQ29yZS9QaVNt bUNvcmUvUGlTbW1Db3JlLmMNCj4gPiBiL01kZU1vZHVsZVBrZy9Db3JlL1BpU21tQ29yZS9QaVNt bUNvcmUuYw0KPiA+IGluZGV4IGNmYTk5MjJjYmQuLmMxYjE4YjA0N2UgMTAwNjQ0DQo+ID4gLS0t IGEvTWRlTW9kdWxlUGtnL0NvcmUvUGlTbW1Db3JlL1BpU21tQ29yZS5jDQo+ID4gKysrIGIvTWRl TW9kdWxlUGtnL0NvcmUvUGlTbW1Db3JlL1BpU21tQ29yZS5jDQo+ID4gQEAgLTEwNCw4ICsxMDQs NiBAQCBFRklfU01SQU1fREVTQ1JJUFRPUiAqbUZ1bGxTbXJhbVJhbmdlczsNCj4gPg0KPiA+DQo+ ID4gIEVGSV9TTU1fRFJJVkVSX0VOVFJZICAgICAgICAgICAgKm1TbW1Db3JlRHJpdmVyRW50cnk7 DQo+ID4NCj4gPg0KPiA+DQo+ID4gLUVGSV9MT0FERURfSU1BR0VfUFJPVE9DT0wgICAgICAgKm1T bW1Db3JlTG9hZGVkSW1hZ2U7DQo+ID4NCj4gPiAtDQo+ID4NCj4gPiAgLyoqDQo+ID4NCj4gPiAg ICBQbGFjZSBob2xkZXIgZnVuY3Rpb24gdW50aWwgYWxsIHRoZSBTTU0gU3lzdGVtIFRhYmxlIFNl cnZpY2UgYXJlDQo+ID4gYXZhaWxhYmxlLg0KPiA+DQo+ID4NCj4gPg0KPiA+IEBAIC03NTYsMzgg Kzc1NCw2IEBAIFNtbUNvcmVJbnN0YWxsTG9hZGVkSW1hZ2UgKA0KPiA+ICAgICkNCj4gPg0KPiA+ ICB7DQo+ID4NCj4gPiAgICBFRklfU1RBVFVTICAgICAgICAgICAgICAgICBTdGF0dXM7DQo+ID4N Cj4gPiAtICBFRklfSEFORExFICAgICAgICAgICAgICAgICBIYW5kbGU7DQo+ID4NCj4gPiAtDQo+ ID4NCj4gPiAtICAvLw0KPiA+DQo+ID4gLSAgLy8gQWxsb2NhdGUgYSBMb2FkZWQgSW1hZ2UgUHJv dG9jb2wgaW4gRWZpQm9vdFNlcnZpY2VzRGF0YQ0KPiA+DQo+ID4gLSAgLy8NCj4gPg0KPiA+IC0g IFN0YXR1cyA9IGdCUy0+QWxsb2NhdGVQb29sIChFZmlCb290U2VydmljZXNEYXRhLA0KPiA+IHNp emVvZihFRklfTE9BREVEX0lNQUdFX1BST1RPQ09MKSwgKFZPSUQNCj4gKiopJm1TbW1Db3JlTG9h ZGVkSW1hZ2UpOw0KPiA+DQo+ID4gLSAgQVNTRVJUX0VGSV9FUlJPUiAoU3RhdHVzKTsNCj4gPg0K PiA+IC0NCj4gPg0KPiA+IC0gIFplcm9NZW0gKG1TbW1Db3JlTG9hZGVkSW1hZ2UsIHNpemVvZg0K PiAoRUZJX0xPQURFRF9JTUFHRV9QUk9UT0NPTCkpOw0KPiA+DQo+ID4gLSAgLy8NCj4gPg0KPiA+ IC0gIC8vIEZpbGwgaW4gdGhlIHJlbWFpbmluZyBmaWVsZHMgb2YgdGhlIExvYWRlZCBJbWFnZSBQ cm90b2NvbA0KPiA+IGluc3RhbmNlLg0KPiA+DQo+ID4gLSAgLy8gTm90ZTogSW1hZ2VCYXNlIGlz IGFuIFNNUkFNIGFkZHJlc3MgdGhhdCBjYW4gbm90IGJlIGFjY2Vzc2VkDQo+ID4gb3V0c2lkZSBv ZiBTTVJBTSBpZiBTTVJBTSB3aW5kb3cgaXMgY2xvc2VkLg0KPiA+DQo+ID4gLSAgLy8NCj4gPg0K PiA+IC0gIG1TbW1Db3JlTG9hZGVkSW1hZ2UtPlJldmlzaW9uICAgICAgPQ0KPiA+IEVGSV9MT0FE RURfSU1BR0VfUFJPVE9DT0xfUkVWSVNJT047DQo+ID4NCj4gPiAtICBtU21tQ29yZUxvYWRlZElt YWdlLT5QYXJlbnRIYW5kbGUgID0gZ1NtbUNvcmVQcml2YXRlLQ0KPiA+ID5TbW1JcGxJbWFnZUhh bmRsZTsNCj4gPg0KPiA+IC0gIG1TbW1Db3JlTG9hZGVkSW1hZ2UtPlN5c3RlbVRhYmxlICAgPSBn U1Q7DQo+ID4NCj4gPiAtDQo+ID4NCj4gPiAtICBtU21tQ29yZUxvYWRlZEltYWdlLT5JbWFnZUJh c2UgICAgID0gKFZPSUQNCj4gPiAqKShVSU5UTilnU21tQ29yZVByaXZhdGUtPlBpU21tQ29yZUlt YWdlQmFzZTsNCj4gPg0KPiA+IC0gIG1TbW1Db3JlTG9hZGVkSW1hZ2UtPkltYWdlU2l6ZSAgICAg PSBnU21tQ29yZVByaXZhdGUtDQo+ID4gPlBpU21tQ29yZUltYWdlU2l6ZTsNCj4gPg0KPiA+IC0g IG1TbW1Db3JlTG9hZGVkSW1hZ2UtPkltYWdlQ29kZVR5cGUgPSBFZmlSdW50aW1lU2VydmljZXND b2RlOw0KPiA+DQo+ID4gLSAgbVNtbUNvcmVMb2FkZWRJbWFnZS0+SW1hZ2VEYXRhVHlwZSA9IEVm aVJ1bnRpbWVTZXJ2aWNlc0RhdGE7DQo+ID4NCj4gPiAtDQo+ID4NCj4gPiAtICAvLw0KPiA+DQo+ ID4gLSAgLy8gQ3JlYXRlIGEgbmV3IGltYWdlIGhhbmRsZSBpbiB0aGUgVUVGSSBoYW5kbGUgZGF0 YWJhc2UgZm9yIHRoZQ0KPiA+IFNNTSBEcml2ZXINCj4gPg0KPiA+IC0gIC8vDQo+ID4NCj4gPiAt ICBIYW5kbGUgPSBOVUxMOw0KPiA+DQo+ID4gLSAgU3RhdHVzID0gZ0JTLT5JbnN0YWxsTXVsdGlw bGVQcm90b2NvbEludGVyZmFjZXMgKA0KPiA+DQo+ID4gLSAgICAgICAgICAgICAgICAgICZIYW5k bGUsDQo+ID4NCj4gPiAtICAgICAgICAgICAgICAgICAgJmdFZmlMb2FkZWRJbWFnZVByb3RvY29s R3VpZCwNCj4gPiBtU21tQ29yZUxvYWRlZEltYWdlLA0KPiA+DQo+ID4gLSAgICAgICAgICAgICAg ICAgIE5VTEwNCj4gPg0KPiA+IC0gICAgICAgICAgICAgICAgICApOw0KPiA+DQo+ID4gLSAgQVNT RVJUX0VGSV9FUlJPUiAoU3RhdHVzKTsNCj4gPg0KPiA+DQo+ID4NCj4gPiAgICAvLw0KPiA+DQo+ ID4gICAgLy8gQWxsb2NhdGUgYSBMb2FkZWQgSW1hZ2UgUHJvdG9jb2wgaW4gU01NDQo+ID4NCj4g PiBkaWZmIC0tZ2l0IGEvTWRlTW9kdWxlUGtnL0NvcmUvUGlTbW1Db3JlL1BpU21tQ29yZS5oDQo+ ID4gYi9NZGVNb2R1bGVQa2cvQ29yZS9QaVNtbUNvcmUvUGlTbW1Db3JlLmgNCj4gPiBpbmRleCA1 MGE3ZmMwMDAwLi4zYmJkMWUxNjAzIDEwMDY0NA0KPiA+IC0tLSBhL01kZU1vZHVsZVBrZy9Db3Jl L1BpU21tQ29yZS9QaVNtbUNvcmUuaA0KPiA+ICsrKyBiL01kZU1vZHVsZVBrZy9Db3JlL1BpU21t Q29yZS9QaVNtbUNvcmUuaA0KPiA+IEBAIC0xMjIsOCArMTIyLDggQEAgdHlwZWRlZiBzdHJ1Y3Qg ew0KPiA+ICAgIEJPT0xFQU4gICAgICAgICAgICAgICAgICAgICAgICAgSW5pdGlhbGl6ZWQ7DQo+ ID4NCj4gPiAgICBCT09MRUFOICAgICAgICAgICAgICAgICAgICAgICAgIERlcGV4UHJvdG9jb2xF cnJvcjsNCj4gPg0KPiA+DQo+ID4NCj4gPiAtICBFRklfSEFORExFICAgICAgICAgICAgICAgICAg ICAgIEltYWdlSGFuZGxlOw0KPiA+DQo+ID4gLSAgRUZJX0xPQURFRF9JTUFHRV9QUk9UT0NPTCAg ICAgICAqTG9hZGVkSW1hZ2U7DQo+ID4NCj4gPiArICBFRklfSEFORExFDQo+ID4gSW1hZ2VIYW5k bGVfUmVzZXJ2ZWQxOw0KPiA+DQo+ID4gKyAgRUZJX0xPQURFRF9JTUFHRV9QUk9UT0NPTA0KPiA+ ICpMb2FkZWRJbWFnZV9SZXNlcnZlZDI7DQo+ID4NCj4gPiAgICAvLw0KPiA+DQo+ID4gICAgLy8g SW1hZ2UgRW50cnlQb2ludCBpbiBTTVJBTQ0KPiA+DQo+ID4gICAgLy8NCj4gPg0KPiA+IC0tDQo+ ID4gMi4yNS4xLndpbmRvd3MuMQ0KDQo=