From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by mx.groups.io with SMTP id smtpd.web11.185049.1673915413653808513 for ; Mon, 16 Jan 2023 16:30:13 -0800 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=W+LERNIY; spf=pass (domain: intel.com, ip: 134.134.136.24, mailfrom: jiewen.yao@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1673915413; x=1705451413; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=AIGt+JQBh5zD/xN+4ToV8J5a5lfYT386qJPSWlu7xKc=; b=W+LERNIYg6bcsZet16NcIf4PlaE6Ct6OQgfbvAiNUp2nGGi/2yE/7hju rvyFxuM9yoXhSHFTBpRwJICmEJf0gTPv/pmqxhTwm6Z2yG6KyVt+YQfnx OGI/igHob9JmG8CaySUIId/lzuCR/6g8RfPWwAXVNmj2R0LJd+2zDdHJD E1HtK9bQBIpUy82qUq3Rj+vpCM+fPg7/eoBw6BUVoX7iQ0HpFYMCrmR2i S3K06sHrD1m7vLef8LyoSmDfLrcOhm5jCPR5DKCASupTy5RN/CjzmTqQ0 8rSd4f7mJJYuhPudhuDao9pCl0ehyMwHWD6ZPIXrxl3YHwsoQIfku4Iuq A==; X-IronPort-AV: E=McAfee;i="6500,9779,10592"; a="325855529" X-IronPort-AV: E=Sophos;i="5.97,222,1669104000"; d="scan'208";a="325855529" Received: from orsmga006.jf.intel.com ([10.7.209.51]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 16 Jan 2023 16:30:13 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10592"; a="636684573" X-IronPort-AV: E=Sophos;i="5.97,222,1669104000"; d="scan'208";a="636684573" Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by orsmga006.jf.intel.com with ESMTP; 16 Jan 2023 16:30:12 -0800 Received: from orsmsx612.amr.corp.intel.com (10.22.229.25) by ORSMSX602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.16; Mon, 16 Jan 2023 16:30:12 -0800 Received: from orsmsx601.amr.corp.intel.com (10.22.229.14) by ORSMSX612.amr.corp.intel.com (10.22.229.25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.16; Mon, 16 Jan 2023 16:30:12 -0800 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by orsmsx601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.16 via Frontend Transport; Mon, 16 Jan 2023 16:30:12 -0800 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (104.47.56.170) by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.16; Mon, 16 Jan 2023 16:30:12 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=oXRXJashlfMfSxdtcBEOYW/MOlnjg9RAS8UBCboH7CD9yVEd7tuySLlhNAqg3e7pA7bhjriAcHFBr8Wa3WACcI60QSJBkx7/xkK/jq/Be1xUiKyMzoCVOoLPYxuLD04i8oHFMdA7HdGGg/2Wt4zvgl4SHPHumoc7hyQ4fvbINuUyMa2cf3KqkX8PUN7prHL74p64iAzsnhYqEYi14w3T94BZH+GJhncLh4xZJYgLga69cs9QtTwC9K0Wmnw4PKHK4GoJMP80fPBCfGyhycEUK8yadUPBw3/99e3l/yEO/DaAjw+CS30fEDNWsGpnHnXiyAfVwfDXmWiepNhhKBGcsQ== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=AIGt+JQBh5zD/xN+4ToV8J5a5lfYT386qJPSWlu7xKc=; b=B4CpnNszk4atYkg2bd0BPlSC8kkYnvRpv8thgEpgJmR77DA/aHmqJr9zfHvSml6btqufNWoT1upHv8gxsivUlJwU151Xb2gTT/v45+ftAB3BpwUMkb3dOMiEy/VmMUngaJZSr90DluhA4VmnSqk2XQxoV39NpwbDDQ8qet+chouyeL+ps5eaQar0E4vpIqJc7YtMy1+xnaGnoERJEK2AnvSuz/lYdVPbkqx18qN5whO6loPR6pDNBh/teVLhOh957sZebkORB3NJSiO83Ic/zrCcK857xnhxIOKVSk9QALpe6xc9LJdXA1vDtOMpkREx8dDb2JXdqeMFtyVZ7RySEQ== 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 Received: from MW4PR11MB5872.namprd11.prod.outlook.com (2603:10b6:303:169::14) by CH3PR11MB7865.namprd11.prod.outlook.com (2603:10b6:610:128::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6002.13; Tue, 17 Jan 2023 00:30:09 +0000 Received: from MW4PR11MB5872.namprd11.prod.outlook.com ([fe80::5f56:1bdc:2eae:c041]) by MW4PR11MB5872.namprd11.prod.outlook.com ([fe80::5f56:1bdc:2eae:c041%7]) with mapi id 15.20.6002.013; Tue, 17 Jan 2023 00:30:09 +0000 From: "Yao, Jiewen" To: "devel@edk2.groups.io" , "Yao, Jiewen" , "ardb@kernel.org" CC: "Xu, Min M" , "Aktas, Erdem" , James Bottomley , Gerd Hoffmann , "Tom Lendacky" , Michael Roth Subject: Re: [edk2-devel] [PATCH V1 1/1] OvmfPkg/AcpiPlatformDxe: Measure ACPI table from QEMU in TDVF Thread-Topic: [edk2-devel] [PATCH V1 1/1] OvmfPkg/AcpiPlatformDxe: Measure ACPI table from QEMU in TDVF Thread-Index: AQHZKU3eGyGpegw6rEOjkv3NNLPyJ66gVKNAgACGAACAADapUIAABdOAgAABw7CAAKlHgA== Date: Tue, 17 Jan 2023 00:30:09 +0000 Message-ID: References: <20230116015658.194-1-min.m.xu@intel.com> <173AD0557CFDE0A2.23170@groups.io> In-Reply-To: <173AD0557CFDE0A2.23170@groups.io> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: MW4PR11MB5872:EE_|CH3PR11MB7865:EE_ x-ms-office365-filtering-correlation-id: bf223c3c-7eb7-49e3-c766-08daf821fd48 x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: NRM9GdA8MsSpcrsZQtPosfqnRq+ZHh4WCqZeBiz6i1WTBb5bhCWNzPi0vrSUIlUqvoXBYFTy0Q9B/gm3TZvuJHwg4WRuE9b3xiHH6u+0dmz31o7iCECKbvq0BgatrYP71frVAG92veUKGWgNkaBj4kXkxuOGz4x+pY15Jg6CmMAgjjlXvqcc6pK1CpenPtPGgFvG1BKoKbfCyDd3rr8Euf1Q85jEetgxQwqau1FtQbZtNvsnxysNWpEhLj6PjH1wRkbosd3Iq4OkuDeY1O4uUcgWzaM5M3pqTBPpl63xJTzzwyz8pgm5n/cYIn47Zeku5uYB2GUVResWkn24KFpPVPMz0aSeqXJ4tgW2dkILP/J7gqvkXSHMuUPxVcz2vJVyw4nn9jWaTvGRNeLfMOq/Dogm18kwJpFpEPWG4tOh8HJ22K2/RxcUQ0W62vywgRybI0kf5puy/voZONyHXVfxl1oPE0RHo013c3mHacAfGpZ4DNCEUfwqNBbIbVFkSGAKwHoERiRZ9w8g5G9QKpD3LfIwOTf1nLSaZu1ODXFwVryfOtO/8q93B2eOWIiUo1f3REsDyooKxPwYM4zTHvyNtPz4YDN1cd/HkUfN+l0ETbKLep8LQJLB1ZGtUXBLvFuv5whZOQLZNQ7RjMcXkiqLJj4EPFdl23f/NKSkVmsMZUBTy2VhIy7SUbMv4J/l9j7vrBU062bbUUta8PfpXSm7iN1lJReM2Unnui3Dg4DlOmaqbW+yetlN8x5gCkifsMY1Xsx3tSJoCz2PHyCX/FK2FQ== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW4PR11MB5872.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(136003)(346002)(376002)(39860400002)(396003)(366004)(451199015)(30864003)(26005)(9686003)(53546011)(4326008)(6506007)(966005)(478600001)(7696005)(38100700002)(71200400001)(186003)(122000001)(82960400001)(33656002)(38070700005)(86362001)(55016003)(83380400001)(66899015)(52536014)(8936002)(5660300002)(2906002)(66476007)(66556008)(64756008)(76116006)(66946007)(54906003)(110136005)(8676002)(316002)(41300700001)(66446008);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?d0I4ZUVLNHhkdHE0Z3l1c0l4a2dvRTFQMThrbzhGTlFJRUJZYktXTVNFajlH?= =?utf-8?B?alpRTDYxRFNiREFCVGdBaHNIQ2ZXcHhmMG9yN1ZUM1IwYTYzV3IvQmhIcXlV?= =?utf-8?B?azVxUmdLYVBnZWRrNjhEbVFwbmI2MFZsTk95RXBPeVVwdU9kZzZLS0ZodFkr?= =?utf-8?B?dks1dVMyeTR4QTdKYjFmS2FHLzVSbUpDMHNNU1ZpM0Q3RCtuNWZIUHZ1N2RU?= =?utf-8?B?SnY3UVhTMXFvR1JxZC80Mm9WOHpzU1U3UE5Uam1LT0RvVk5PUUEvY1VNK2tV?= =?utf-8?B?VzRJUGQ1NmxSVjBDcnpFR1RKaHhMckZoL29KK1dyeGwwdC8yQXZSTS9ZRmww?= =?utf-8?B?UUJwbi94V1c2RklUeUxkNXN6azdYZ1VRZ1Q5VHFBN2NnUVREMjE5b1orY3BX?= =?utf-8?B?NjZwVDA4a3g4VWpNcDFGRUQ4ZTJSaXNidzZjRXZMbXRUK0RaclZRZTVwMktX?= =?utf-8?B?eVNnZEhab1VwY1NRSHhtS080VHhRdmFhRjBXb253NFpHSUl1akFTYVd5OHlN?= =?utf-8?B?TkNFZGNPdUt4MHQzRW9lZnJzc0lzUjIzWm9PMHIrY0VYanlESThBRUJhY1Zq?= =?utf-8?B?Yks2NWovQnZEd0VzWkc1NkJIb0hCTmQzTHpWd3Z0cGRDUDlGMnZLSy9lMmYv?= =?utf-8?B?R3ZsZ3VUdlpUa3o1MFpYZ3l5ZHd1NUNYWGlwZERCUldnTTc2TFhPSWlzVWQ5?= =?utf-8?B?VlVBUzBiMmhva2VqN1hQR3kwNVFZQjB0dGRBVHdxTGxRSFlyQm9rVnc4Rkkv?= =?utf-8?B?VVVrWUFnMXpkbHJOV0JrM1dyN243VEZJMFFJbStBOVR1bnlMOGw1YXRVL3hh?= =?utf-8?B?cVIwQy9VM3FNYmZLZkYyMGVJN3VCZWF5L0ZocFN6azIzY3ZQeGZxOUh5Ukpu?= =?utf-8?B?L3pibFhROGkzNUliQVZoVTR3aFhCaW8vRTY0Y2hlY1E0aytwaWRPWHlXeS8z?= =?utf-8?B?WENSZWhLWkJwSGdMd29LYVI5dWFxZ0ZBL3BtOXlLQmlIUkNOVFlOa0VQZ1dx?= =?utf-8?B?Wk80WEVvaXNUK2dGNlZKNVhlNXFLNDdzRHNjZzErQnkrQWY3QWlOSnFCeXVS?= =?utf-8?B?eTdXckpjRUFPK2swd1R1MytRaG80dG1ScmRYWjJoSGdvSWRQOXF2dGlvK1Iv?= =?utf-8?B?cHlQMFR0SFFnaWx5c0FWak1lSXBxZmNtMlRzMi94aHgzVEt3Mjl5aHdTTFYy?= =?utf-8?B?czl4dEVQVXpPMFhuVEx2V0FTS0dlZ1hsS3U4eU4zeklwZWc0dnlTSUJ4RzNS?= =?utf-8?B?dDZ3VlIrckdobVJ4TWROMkd5N3AxMndlRGdrZUh1bjEzb1QzSEZuMnBzelBa?= =?utf-8?B?cWRNZ0tvaUJibG1CNGI2U3lEYzBlc3YrTFIvMm5sdURkQXJnaFgwTytmSCtX?= =?utf-8?B?Y1dhYXc2QVYya0JFUmkwN3N3YTByWHMxaEZsS21IRlM1WEdMRWJLd1p3K3R2?= =?utf-8?B?Y1MzaE1KcmxocXZ6L2tiUkRnQWZ5Qm9ZamxxNGYrTDNyT3gxMXp3TWZSR0Fr?= =?utf-8?B?dllLSFdaRndXSkEzeGFnSndIZ00wdGVCMnExaXVxUDR0b2o1UFRnWGZCRUJ4?= =?utf-8?B?SWRzQmJMRzNRanhLWW13akJDQkU2dXB3elgvdnRRV1h1Q291SW9nNlRwMkVU?= =?utf-8?B?MjhWRjVKN05Gc3IyUjgvRENGU0xQYjhEQ1JHRmxEUGlrV3VQUkNYcEFUYXNk?= =?utf-8?B?RE1UK2gzTTlXZnF4K3NQZW11YUIvOTZWYU1QMXlGUXJJSlIrbDFIbVRFcHN3?= =?utf-8?B?TkcxU2lqUkJmc3hrQytSNitWV2NEQXlZSjZwQ2ZISFV0dFcwenlnVjhGblha?= =?utf-8?B?RG04cFlSbzlLbWszbkxBNUptWDBBMTZNZytGVEcwc3phZU1LZ29TeVc1aFI4?= =?utf-8?B?OFRYUFpIZDZuUjFoWWNvQzFpQ1k0YmpWYUFUdnNnU2pONFF2WmVaK214cDVS?= =?utf-8?B?dC9UUlg1a1UyQW1VUGhQQkYzSW43bUVYWHBnNG1vbDVxWEEzN0dFK2hCZGIv?= =?utf-8?B?K094M2JsVDlUaklVK05KU05SNExNeGFab3lYTldFTFNVQmFYdGgvTWdEalZm?= =?utf-8?B?eS9BbkFwM1NlZjdJR1hsZ09ySm54cklmc1cyU2RwcHV5ZWpzZWY4djFVQmt2?= =?utf-8?Q?JyUlTU4lInIvoWwPePUDc4uOy?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MW4PR11MB5872.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: bf223c3c-7eb7-49e3-c766-08daf821fd48 X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Jan 2023 00:30:09.3048 (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: QPdqiHnNpO+ly2yHnZm7iGIx22aYbBay222RcfFIvpdhWegm77IgFfmdsdhZnkt/YFJhB7c/XBA4BXYv9KYABw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR11MB7865 Return-Path: jiewen.yao@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGkgTWluDQpPbmUgbW9yZSB0aGluZzogVGhpcyBpcyB0byBtZWFzdXJlIEFDUEkgdGFibGUuDQoN CkFjY29yZGluZyB0byBodHRwczovL3RydXN0ZWRjb21wdXRpbmdncm91cC5vcmcvcmVzb3VyY2Uv cGMtY2xpZW50LXNwZWNpZmljLXBsYXRmb3JtLWZpcm13YXJlLXByb2ZpbGUtc3BlY2lmaWNhdGlv bi8sIHRoZSBldmVudCB0eXBlIHNob3VsZCBiZSBFVl9QT1NUX0NPREUsIGFuZCBldmVudCBkYXRh IHNob3VsZCBiZSAiQUNQSSBEQVRBIiBpbiBhbGwgY2Fwcy4gWW91IGNhbiB1c2UgYmVsb3cgcGF0 dGVybjoNCj09PT09PT09PT09PT09PT09DQogIFRwbU1lYXN1cmVBbmRMb2dEYXRhICgNCiAgICAw LA0KICAgIEVWX1BPU1RfQ09ERSwNCiAgICBFVl9QT1NUQ09ERV9JTkZPX0FDUElfREFUQSwNCiAg ICBBQ1BJX0RBVEFfTEVOLA0KICAgIFRhYmxlLA0KICAgIFRhYmxlU2l6ZQ0KICAgICk7DQo9PT09 PT09PT09PT09PT09PQ0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IGRl dmVsQGVkazIuZ3JvdXBzLmlvIDxkZXZlbEBlZGsyLmdyb3Vwcy5pbz4gT24gQmVoYWxmIE9mIFlh bywNCj4gSmlld2VuDQo+IFNlbnQ6IE1vbmRheSwgSmFudWFyeSAxNiwgMjAyMyAxMDoyOCBQTQ0K PiBUbzogZGV2ZWxAZWRrMi5ncm91cHMuaW87IGFyZGJAa2VybmVsLm9yZw0KPiBDYzogWHUsIE1p biBNIDxtaW4ubS54dUBpbnRlbC5jb20+OyBBa3RhcywgRXJkZW0NCj4gPGVyZGVtYWt0YXNAZ29v Z2xlLmNvbT47IEphbWVzIEJvdHRvbWxleSA8amVqYkBsaW51eC5pYm0uY29tPjsgR2VyZA0KPiBI b2ZmbWFubiA8a3JheGVsQHJlZGhhdC5jb20+OyBUb20gTGVuZGFja3kNCj4gPHRob21hcy5sZW5k YWNreUBhbWQuY29tPjsgTWljaGFlbCBSb3RoIDxtaWNoYWVsLnJvdGhAYW1kLmNvbT4NCj4gU3Vi amVjdDogUmU6IFtlZGsyLWRldmVsXSBbUEFUQ0ggVjEgMS8xXSBPdm1mUGtnL0FjcGlQbGF0Zm9y bUR4ZToNCj4gTWVhc3VyZSBBQ1BJIHRhYmxlIGZyb20gUUVNVSBpbiBURFZGDQo+IA0KPiBFYWNo IG1vZHVsZSwgd2hpY2ggd2FudHMgdG8gbG9hZCBBQ1BJIHRhYmxlLg0KPiANCj4gTW9zdCBjb2Rl cyBhcmUgZnJvbSBjbG9zZSBzb3VyY2UgcGxhdGZvcm0uDQo+IA0KPiBPbmUgZXhhbXBsZSBpbiBF REtJSSBTZWN1cml0eVBrZyBpcyBUUE0yLg0KPiBodHRwczovL2dpdGh1Yi5jb20vdGlhbm9jb3Jl L2VkazIvYmxvYi9tYXN0ZXIvU2VjdXJpdHlQa2cvVGNnL1RjZzJBY3BpLw0KPiBUY2cyQWNwaS5j I0w2OTANCj4gDQo+IGh0dHBzOi8vZ2l0aHViLmNvbS90aWFub2NvcmUvZWRrMi9ibG9iL21hc3Rl ci9TZWN1cml0eVBrZy9UY2cvVGNnMkFjcGkvDQo+IFRjZzJBY3BpLmMjTDc5NA0KPiANCj4gSnVz dCBzZWFyY2ggIlRwbU1lYXN1cmVBbmRMb2dEYXRhIiAuLi4NCj4gDQo+IA0KPiA+IC0tLS0tT3Jp Z2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gRnJvbTogZGV2ZWxAZWRrMi5ncm91cHMuaW8gPGRldmVs QGVkazIuZ3JvdXBzLmlvPiBPbiBCZWhhbGYgT2YgQXJkDQo+ID4gQmllc2hldXZlbA0KPiA+IFNl bnQ6IE1vbmRheSwgSmFudWFyeSAxNiwgMjAyMyAxMDoxNSBQTQ0KPiA+IFRvOiBkZXZlbEBlZGsy Lmdyb3Vwcy5pbzsgWWFvLCBKaWV3ZW4gPGppZXdlbi55YW9AaW50ZWwuY29tPg0KPiA+IENjOiBY dSwgTWluIE0gPG1pbi5tLnh1QGludGVsLmNvbT47IEFrdGFzLCBFcmRlbQ0KPiA+IDxlcmRlbWFr dGFzQGdvb2dsZS5jb20+OyBKYW1lcyBCb3R0b21sZXkgPGplamJAbGludXguaWJtLmNvbT47IEdl cmQNCj4gPiBIb2ZmbWFubiA8a3JheGVsQHJlZGhhdC5jb20+OyBUb20gTGVuZGFja3kNCj4gPiA8 dGhvbWFzLmxlbmRhY2t5QGFtZC5jb20+OyBNaWNoYWVsIFJvdGggPG1pY2hhZWwucm90aEBhbWQu Y29tPg0KPiA+IFN1YmplY3Q6IFJlOiBbZWRrMi1kZXZlbF0gW1BBVENIIFYxIDEvMV0gT3ZtZlBr Zy9BY3BpUGxhdGZvcm1EeGU6DQo+ID4gTWVhc3VyZSBBQ1BJIHRhYmxlIGZyb20gUUVNVSBpbiBU RFZGDQo+ID4NCj4gPiBPbiBNb24sIDE2IEphbiAyMDIzIGF0IDE0OjU3LCBZYW8sIEppZXdlbiA8 amlld2VuLnlhb0BpbnRlbC5jb20+IHdyb3RlOg0KPiA+ID4NCj4gPiA+IERvIHlvdSBtZWFuIHJl YWwgcGxhdGZvcm0gQklPUz8NCj4gPiA+DQo+ID4NCj4gPiBZZXMNCj4gPg0KPiA+ID4gVGhlIHJ1 bGVzIGFyZToNCj4gPiA+IDEpIFRoZSBBQ1BJIHRhYmxlIG9uIHRoZSBmbGFzaCBsb2FkZWQgYnkg dGhlIEJJT1MgaXMgbWVhc3VyZWQgKmJlZm9yZSoNCj4gYW55DQo+ID4gbW9kaWZpY2F0aW9uIGFu ZCAqYmVmb3JlKiBpbnN0YWxsYXRpb24uIEZvciBleGFtcGxlLCBEU0RULCBTU0RULg0KPiA+ID4g MikgVGhlIEFDUEkgdGFibGUgY29uc3RydWN0ZWQgYnkgdGhlIEJJT1MgZHluYW1pY2FsbHkgZG9l cyBub3QgbmVlZCB0bw0KPiBiZQ0KPiA+IG1lYXN1cmVkLiBGb3IgZXhhbXBsZSBNQURULg0KPiA+ ID4NCj4gPg0KPiA+IE9LIHNvIHdoaWNoIEVESzIgY29tcG9uZW50IGlzIG5vcm1hbGx5IGluIGNo YXJnZSBvZiB0aGlzPw0KPiA+DQo+ID4NCj4gPg0KPiA+ID4gPiAtLS0tLU9yaWdpbmFsIE1lc3Nh Z2UtLS0tLQ0KPiA+ID4gPiBGcm9tOiBBcmQgQmllc2hldXZlbCA8YXJkYkBrZXJuZWwub3JnPg0K PiA+ID4gPiBTZW50OiBNb25kYXksIEphbnVhcnkgMTYsIDIwMjMgNjozOCBQTQ0KPiA+ID4gPiBU bzogZGV2ZWxAZWRrMi5ncm91cHMuaW87IFlhbywgSmlld2VuIDxqaWV3ZW4ueWFvQGludGVsLmNv bT4NCj4gPiA+ID4gQ2M6IFh1LCBNaW4gTSA8bWluLm0ueHVAaW50ZWwuY29tPjsgQWt0YXMsIEVy ZGVtDQo+ID4gPiA+IDxlcmRlbWFrdGFzQGdvb2dsZS5jb20+OyBKYW1lcyBCb3R0b21sZXkgPGpl amJAbGludXguaWJtLmNvbT47DQo+ID4gR2VyZA0KPiA+ID4gPiBIb2ZmbWFubiA8a3JheGVsQHJl ZGhhdC5jb20+OyBUb20gTGVuZGFja3kNCj4gPiA+ID4gPHRob21hcy5sZW5kYWNreUBhbWQuY29t PjsgTWljaGFlbCBSb3RoIDxtaWNoYWVsLnJvdGhAYW1kLmNvbT4NCj4gPiA+ID4gU3ViamVjdDog UmU6IFtlZGsyLWRldmVsXSBbUEFUQ0ggVjEgMS8xXSBPdm1mUGtnL0FjcGlQbGF0Zm9ybUR4ZToN Cj4gPiA+ID4gTWVhc3VyZSBBQ1BJIHRhYmxlIGZyb20gUUVNVSBpbiBURFZGDQo+ID4gPiA+DQo+ ID4gPiA+IEFub3RoZXIgcXVlc3Rpb246IGhvdyBkb2VzIHRoaXMgZGV2aWF0ZSBmcm9tIG9yZGlu YXJ5IG1lYXN1cmVkIGJvb3Q/DQo+ID4gPiA+IEhvdyBhbmQgd2hlbiBhcmUgQUNQSSB0YWJsZXMg bWVhc3VyZWQgb24gc3VjaCBzeXN0ZW1zPw0KPiA+ID4gPg0KPiA+ID4gPg0KPiA+ID4gPiBPbiBN b24sIDE2IEphbiAyMDIzIGF0IDAzOjQyLCBZYW8sIEppZXdlbiA8amlld2VuLnlhb0BpbnRlbC5j b20+DQo+ID4gd3JvdGU6DQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBIaQ0KPiA+ID4gPiA+IEkgaGF2 ZSB0d28gZmVlZGJhY2s6DQo+ID4gPiA+ID4NCj4gPiA+ID4gPiAxKSBXaGF0IHdlIG5lZWQgbWVh c3VyZSBpcyB0aGUgaW5wdXQgZnJvbSBWTU0gKmJlZm9yZSogYW55DQo+ID4gPiA+IG1vZGlmaWNh dGlvbiBhbmQgKmJlZm9yZSogaW5zdGFsbGF0aW9uLg0KPiA+ID4gPiA+IFBsZWFzZSBkb24ndCB1 c2UgQUNQSSBTRFQgcHJvdG9jb2wgdG8gZ2V0IHRoZSB0YWJsZSAqYWZ0ZXIqDQo+IG1vZGlmaWNh dGlvbi4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+IDIpIFdoeSBub3QgdXNlIFRwbU1lYXN1cmVBbmRM b2dEYXRhKCkgaW4NCj4gPiA+ID4NCj4gPg0KPiBodHRwczovL2dpdGh1Yi5jb20vdGlhbm9jb3Jl L2VkazIvYmxvYi9tYXN0ZXIvTWRlTW9kdWxlUGtnL0luY2x1ZGUvTGkNCj4gPiA+ID4gYnJhcnkv VHBtTWVhc3VyZW1lbnRMaWIuaCA/DQo+ID4gPiA+ID4gUGxlYXNlIGRvbid0IHVzZSBsb2NhdGUg cHJvdG9jb2wuDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBUaGFuayB5b3UNCj4gPiA+ID4gPiBZYW8s IEppZXdlbg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0t LQ0KPiA+ID4gPiA+ID4gRnJvbTogWHUsIE1pbiBNIDxtaW4ubS54dUBpbnRlbC5jb20+DQo+ID4g PiA+ID4gPiBTZW50OiBNb25kYXksIEphbnVhcnkgMTYsIDIwMjMgOTo1NyBBTQ0KPiA+ID4gPiA+ ID4gVG86IGRldmVsQGVkazIuZ3JvdXBzLmlvDQo+ID4gPiA+ID4gPiBDYzogWHUsIE1pbiBNIDxt aW4ubS54dUBpbnRlbC5jb20+OyBBa3RhcywgRXJkZW0NCj4gPiA+ID4gPiA+IDxlcmRlbWFrdGFz QGdvb2dsZS5jb20+OyBKYW1lcyBCb3R0b21sZXkNCj4gPGplamJAbGludXguaWJtLmNvbT47DQo+ ID4gPiA+IFlhbywNCj4gPiA+ID4gPiA+IEppZXdlbiA8amlld2VuLnlhb0BpbnRlbC5jb20+OyBH ZXJkIEhvZmZtYW5uDQo+ID4gPGtyYXhlbEByZWRoYXQuY29tPjsNCj4gPiA+ID4gPiA+IFRvbSBM ZW5kYWNreSA8dGhvbWFzLmxlbmRhY2t5QGFtZC5jb20+OyBNaWNoYWVsIFJvdGgNCj4gPiA+ID4g PiA+IDxtaWNoYWVsLnJvdGhAYW1kLmNvbT4NCj4gPiA+ID4gPiA+IFN1YmplY3Q6IFtQQVRDSCBW MSAxLzFdIE92bWZQa2cvQWNwaVBsYXRmb3JtRHhlOiBNZWFzdXJlIEFDUEkNCj4gPiB0YWJsZQ0K PiA+ID4gPiBmcm9tDQo+ID4gPiA+ID4gPiBRRU1VIGluIFREVkYNCj4gPiA+ID4gPiA+DQo+ID4g PiA+ID4gPiBGcm9tOiBNaW4gTSBYdSA8bWluLm0ueHVAaW50ZWwuY29tPg0KPiA+ID4gPiA+ID4N Cj4gPiA+ID4gPiA+IGh0dHBzOi8vYnVnemlsbGEudGlhbm9jb3JlLm9yZy9zaG93X2J1Zy5jZ2k/ aWQ9NDI0NQ0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+IFRoZSBBQ1BJIHRhYmxlcyBhcmUgZG93 bmxvYWRlZCBmcm9tIFFFTVUuIFFFTVUvVk1NIGlzDQo+IHRyZWF0ZWQNCj4gPiBhcw0KPiA+ID4g PiA+ID4gdW4tdHJ1c3RlZCBpbiBhIHRkLWd1ZXN0LiBGcm9tIHRoZSBzZWN1cml0eSBwZXJzcGVj dGl2ZSB0aGV5IHNob3VsZA0KPiA+ID4gPiA+ID4gYmUgbWVhc3VyZWQgYW5kIGV4dGVuZGVkIGlm IHBvc3NpYmxlLiBTbyB0aGF0IHRoZXkgY2FuIGJlIGF1ZGl0ZWQNCj4gPiA+ID4gPiA+IGxhdGVy LiBUaGUgbWVhc3VyZW1lbnQgcHJvdG9jb2wgbWF5IGJlIG5vdCBpbnN0YWxsZWQuIEluIHRoaXMg Y2FzZQ0KPiA+ID4gPiA+ID4gaXQgc3RpbGwgcmV0dXJucyBFRklfU1VDQ0VTUy4NCj4gPiA+ID4g PiA+DQo+ID4gPiA+ID4gPiBDYzogRXJkZW0gQWt0YXMgPGVyZGVtYWt0YXNAZ29vZ2xlLmNvbT4N Cj4gPiA+ID4gPiA+IENjOiBKYW1lcyBCb3R0b21sZXkgPGplamJAbGludXguaWJtLmNvbT4NCj4g PiA+ID4gPiA+IENjOiBKaWV3ZW4gWWFvIDxqaWV3ZW4ueWFvQGludGVsLmNvbT4NCj4gPiA+ID4g PiA+IENjOiBHZXJkIEhvZmZtYW5uIDxrcmF4ZWxAcmVkaGF0LmNvbT4NCj4gPiA+ID4gPiA+IENj OiBUb20gTGVuZGFja3kgPHRob21hcy5sZW5kYWNreUBhbWQuY29tPg0KPiA+ID4gPiA+ID4gQ2M6 IE1pY2hhZWwgUm90aCA8bWljaGFlbC5yb3RoQGFtZC5jb20+DQo+ID4gPiA+ID4gPiBTaWduZWQt b2ZmLWJ5OiBNaW4gWHUgPG1pbi5tLnh1QGludGVsLmNvbT4NCj4gPiA+ID4gPiA+IC0tLQ0KPiA+ ID4gPiA+ID4gIE92bWZQa2cvQWNwaVBsYXRmb3JtRHhlL0FjcGlQbGF0Zm9ybUR4ZS5pbmYgfCAg IDIgKw0KPiA+ID4gPiA+ID4gIE92bWZQa2cvQWNwaVBsYXRmb3JtRHhlL1FlbXVGd0NmZ0FjcGku YyAgICAgfCAxNjgNCj4gPiA+ID4gPiA+ICsrKysrKysrKysrKysrKysrKysrDQo+ID4gPiA+ID4g PiAgMiBmaWxlcyBjaGFuZ2VkLCAxNzAgaW5zZXJ0aW9ucygrKQ0KPiA+ID4gPiA+ID4NCj4gPiA+ ID4gPiA+IGRpZmYgLS1naXQgYS9Pdm1mUGtnL0FjcGlQbGF0Zm9ybUR4ZS9BY3BpUGxhdGZvcm1E eGUuaW5mDQo+ID4gPiA+ID4gPiBiL092bWZQa2cvQWNwaVBsYXRmb3JtRHhlL0FjcGlQbGF0Zm9y bUR4ZS5pbmYNCj4gPiA+ID4gPiA+IGluZGV4IDg5MzlkZGU0MjU0OS4uYWUyMmJhYjM4Y2Y5IDEw MDY0NA0KPiA+ID4gPiA+ID4gLS0tIGEvT3ZtZlBrZy9BY3BpUGxhdGZvcm1EeGUvQWNwaVBsYXRm b3JtRHhlLmluZg0KPiA+ID4gPiA+ID4gKysrIGIvT3ZtZlBrZy9BY3BpUGxhdGZvcm1EeGUvQWNw aVBsYXRmb3JtRHhlLmluZg0KPiA+ID4gPiA+ID4gQEAgLTUxLDYgKzUxLDggQEANCj4gPiA+ID4g PiA+ICAgIGdFZmlBY3BpVGFibGVQcm90b2NvbEd1aWQgICAgICAgICAgICAgICAgICAgICAjIFBS T1RPQ09MDQo+ID4gPiA+IEFMV0FZU19DT05TVU1FRA0KPiA+ID4gPiA+ID4gICAgZ0VmaVBjaUlv UHJvdG9jb2xHdWlkICAgICAgICAgICAgICAgICAgICAgICAgICMgUFJPVE9DT0wNCj4gPiA+ID4g U09NRVRJTUVTX0NPTlNVTUVEDQo+ID4gPiA+ID4gPiAgICBnUWVtdUFjcGlUYWJsZU5vdGlmeVBy b3RvY29sR3VpZCAgICAgICAgICAgICAgIyBQUk9UT0NPTA0KPiBQUk9EVUNFUw0KPiA+ID4gPiA+ ID4gKyAgZ0VmaUNjTWVhc3VyZW1lbnRQcm90b2NvbEd1aWQgICAgICAgICAgICAgICAgICMgUFJP VE9DT0wNCj4gPiA+ID4gPiA+IFNPTUVUSU1FU19DT05TVU1FRA0KPiA+ID4gPiA+ID4gKyAgZ0Vm aUFjcGlTZHRQcm90b2NvbEd1aWQgICAgICAgICAgICAgICAgICAgICAgICMgUFJPVE9DT0wNCj4g PiA+ID4gPiA+IFNPTUVUSU1FU19DT05TVU1FRA0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ICBb R3VpZHNdDQo+ID4gPiA+ID4gPiAgICBnUm9vdEJyaWRnZXNDb25uZWN0ZWRFdmVudEdyb3VwR3Vp ZA0KPiA+ID4gPiA+ID4gZGlmZiAtLWdpdCBhL092bWZQa2cvQWNwaVBsYXRmb3JtRHhlL1FlbXVG d0NmZ0FjcGkuYw0KPiA+ID4gPiA+ID4gYi9Pdm1mUGtnL0FjcGlQbGF0Zm9ybUR4ZS9RZW11RndD ZmdBY3BpLmMNCj4gPiA+ID4gPiA+IGluZGV4IGYwZDgxZDZmZDczZC4uZjQ0Mjg1MGMyZTAwIDEw MDY0NA0KPiA+ID4gPiA+ID4gLS0tIGEvT3ZtZlBrZy9BY3BpUGxhdGZvcm1EeGUvUWVtdUZ3Q2Zn QWNwaS5jDQo+ID4gPiA+ID4gPiArKysgYi9Pdm1mUGtnL0FjcGlQbGF0Zm9ybUR4ZS9RZW11RndD ZmdBY3BpLmMNCj4gPiA+ID4gPiA+IEBAIC0xOCw2ICsxOCw4IEBADQo+ID4gPiA+ID4gPiAgI2lu Y2x1ZGUgPExpYnJhcnkvUWVtdUZ3Q2ZnTGliLmg+ICAgICAgICAgICAgIC8vIFFlbXVGd0NmZ0Zp bmRGaWxlKCkNCj4gPiA+ID4gPiA+ICAjaW5jbHVkZSA8TGlicmFyeS9RZW11RndDZmdTM0xpYi5o PiAgICAgICAgICAgLy8NCj4gPiBRZW11RndDZmdTM0VuYWJsZWQoKQ0KPiA+ID4gPiA+ID4gICNp bmNsdWRlIDxMaWJyYXJ5L1VlZmlCb290U2VydmljZXNUYWJsZUxpYi5oPiAvLyBnQlMNCj4gPiA+ ID4gPiA+ICsjaW5jbHVkZSA8UHJvdG9jb2wvQWNwaVN5c3RlbURlc2NyaXB0aW9uVGFibGUuaD4N Cj4gPiA+ID4gPiA+ICsjaW5jbHVkZSA8UHJvdG9jb2wvQ2NNZWFzdXJlbWVudC5oPg0KPiA+ID4g PiA+ID4NCj4gPiA+ID4gPiA+ICAjaW5jbHVkZSAiQWNwaVBsYXRmb3JtLmgiDQo+ID4gPiA+ID4g Pg0KPiA+ID4gPiA+ID4gQEAgLTgxMiwxMiArODE0LDE2OCBAQCBVbmRvQ21kV3JpdGVQb2ludGVy ICgNCj4gPiA+ID4gPiA+ICAgICAgKSk7DQo+ID4gPiA+ID4gPiAgfQ0KPiA+ID4gPiA+ID4NCj4g PiA+ID4gPiA+ICsvKioNCj4gPiA+ID4gPiA+ICsgIE1lc3VyZSBmaXJtd2FyZSBBQ1BJIHRhYmxl IHdpdGggQ2NNZWFzdXJlbWVudCBQcm90b2NvbA0KPiA+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ID4g KyAgQHBhcmFtW2luXSBDY1Byb3RvY29sICAgUG9pbnRlciB0byB0aGUgQ2NNZWFzdXJtZW50IFBy b3RvY29sDQo+ID4gPiA+ID4gPiArICBAcGFyYW1baW5dIEV2ZW50RGF0YSAgICBQb2ludGVyIHRv IHRoZSBldmVudCBkYXRhLg0KPiA+ID4gPiA+ID4gKyAgQHBhcmFtW2luXSBFdmVudFNpemUgICAg U2l6ZSBvZiBldmVudCBkYXRhLg0KPiA+ID4gPiA+ID4gKyAgQHBhcmFtW2luXSBDZmdEYXRhQmFz ZSAgQ29uZmlndXJhdGlvbiBkYXRhIGJhc2UgYWRkcmVzcy4NCj4gPiA+ID4gPiA+ICsgIEBwYXJh bVtpbl0gRXZlbnRTaXplICAgIFNpemUgb2YgY29uZmlndXJhdGlvbiBkYXRhIC4NCj4gPiA+ID4g PiA+ICsgIEByZXR2YWwgIEVGSV9OT1RfRk9VTkQgICAgICAgICAgIENhbm5vdCBsb2NhdGUgcHJv dG9jb2wuDQo+ID4gPiA+ID4gPiArICBAcmV0dmFsICBFRklfT1VUX09GX1JFU09VUkNFUyAgICBB bGxvY2F0ZSB6ZXJvIHBvb2wgZmFpbHVyZS4NCj4gPiA+ID4gPiA+ICsgIEByZXR1cm4gICAgICAg ICAgICAgICAgICAgICAgICAgIFN0YXR1cyBjb2RlcyByZXR1cm5lZCBieQ0KPiA+ID4gPiA+ID4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbVRjZzJQcm90b2NvbC0+SGFzaExv Z0V4dGVuZEV2ZW50Lg0KPiA+ID4gPiA+ID4gKyoqLw0KPiA+ID4gPiA+ID4gK1NUQVRJQw0KPiA+ ID4gPiA+ID4gK0VGSV9TVEFUVVMNCj4gPiA+ID4gPiA+ICtFRklBUEkNCj4gPiA+ID4gPiA+ICtD Y01lYXN1cmVBY3BpVGFibGUgKA0KPiA+ID4gPiA+ID4gKyAgSU4gRUZJX0NDX01FQVNVUkVNRU5U X1BST1RPQ09MICAqQ2NQcm90b2NvbCwNCj4gPiA+ID4gPiA+ICsgIElOIENIQVI4ICAgICAgICAg ICAgICAgICAgICAgICAgKkV2ZW50RGF0YSwNCj4gPiA+ID4gPiA+ICsgIElOIFVJTlQzMiAgICAg ICAgICAgICAgICAgICAgICAgRXZlbnRTaXplLA0KPiA+ID4gPiA+ID4gKyAgSU4gRUZJX1BIWVNJ Q0FMX0FERFJFU1MgICAgICAgICBDZmdEYXRhQmFzZSwNCj4gPiA+ID4gPiA+ICsgIElOIFVJTlRO ICAgICAgICAgICAgICAgICAgICAgICAgQ2ZnRGF0YUxlbmd0aA0KPiA+ID4gPiA+ID4gKyAgKQ0K PiA+ID4gPiA+ID4gK3sNCj4gPiA+ID4gPiA+ICsgIEVGSV9TVEFUVVMgICAgU3RhdHVzOw0KPiA+ ID4gPiA+ID4gKyAgRUZJX0NDX0VWRU5UICAqQ2NFdmVudDsNCj4gPiA+ID4gPiA+ICsgIFVJTlQz MiAgICAgICAgTXJJbmRleDsNCj4gPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiA+ICsgIGlmIChDY1By b3RvY29sID09IE5VTEwpIHsNCj4gPiA+ID4gPiA+ICsgICAgcmV0dXJuIEVGSV9JTlZBTElEX1BB UkFNRVRFUjsNCj4gPiA+ID4gPiA+ICsgIH0NCj4gPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiA+ICsg IFN0YXR1cyA9IENjUHJvdG9jb2wtPk1hcFBjclRvTXJJbmRleCAoQ2NQcm90b2NvbCwgMSwNCj4g Jk1ySW5kZXgpOw0KPiA+ID4gPiA+ID4gKyAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgew0KPiA+ ID4gPiA+ID4gKyAgICByZXR1cm4gRUZJX0lOVkFMSURfUEFSQU1FVEVSOw0KPiA+ID4gPiA+ID4g KyAgfQ0KPiA+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ID4gKyAgQ2NFdmVudCA9IEFsbG9jYXRlWmVy b1Bvb2wgKEV2ZW50U2l6ZSArIHNpemVvZiAoRUZJX0NDX0VWRU5UKSAtDQo+ID4gc2l6ZW9mDQo+ ID4gPiA+ID4gPiAoQ2NFdmVudC0+RXZlbnQpKTsNCj4gPiA+ID4gPiA+ICsgIGlmIChDY0V2ZW50 ID09IE5VTEwpIHsNCj4gPiA+ID4gPiA+ICsgICAgcmV0dXJuIEVGSV9PVVRfT0ZfUkVTT1VSQ0VT Ow0KPiA+ID4gPiA+ID4gKyAgfQ0KPiA+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ID4gKyAgQ2NFdmVu dC0+U2l6ZSAgICAgICAgICAgICAgICAgPSBFdmVudFNpemUgKyBzaXplb2YgKEVGSV9DQ19FVkVO VCkgLQ0KPiBzaXplb2YNCj4gPiA+ID4gPiA+IChDY0V2ZW50LT5FdmVudCk7DQo+ID4gPiA+ID4g PiArICBDY0V2ZW50LT5IZWFkZXIuRXZlbnRUeXBlICAgICA9IEVWX1BMQVRGT1JNX0NPTkZJR19G TEFHUzsNCj4gPiA+ID4gPiA+ICsgIENjRXZlbnQtPkhlYWRlci5NckluZGV4ICAgICAgID0gTXJJ bmRleDsNCj4gPiA+ID4gPiA+ICsgIENjRXZlbnQtPkhlYWRlci5IZWFkZXJTaXplICAgID0gc2l6 ZW9mIChFRklfQ0NfRVZFTlRfSEVBREVSKTsNCj4gPiA+ID4gPiA+ICsgIENjRXZlbnQtPkhlYWRl ci5IZWFkZXJWZXJzaW9uID0NCj4gPiBFRklfQ0NfRVZFTlRfSEVBREVSX1ZFUlNJT047DQo+ID4g PiA+ID4gPiArICBDb3B5TWVtICgmQ2NFdmVudC0+RXZlbnRbMF0sIEV2ZW50RGF0YSwgRXZlbnRT aXplKTsNCj4gPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiA+ICsgIFN0YXR1cyA9IENjUHJvdG9jb2wt Pkhhc2hMb2dFeHRlbmRFdmVudCAoDQo+ID4gPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAg ICAgIENjUHJvdG9jb2wsDQo+ID4gPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgIDAs DQo+ID4gPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgIENmZ0RhdGFCYXNlLA0KPiA+ ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICBDZmdEYXRhTGVuZ3RoLA0KPiA+ID4g PiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICBDY0V2ZW50DQo+ID4gPiA+ID4gPiArICAg ICAgICAgICAgICAgICAgICAgICAgICk7DQo+ID4gPiA+ID4gPiArDQo+ID4gPiA+ID4gPiArICBG cmVlUG9vbCAoQ2NFdmVudCk7DQo+ID4gPiA+ID4gPiArDQo+ID4gPiA+ID4gPiArICByZXR1cm4g U3RhdHVzOw0KPiA+ID4gPiA+ID4gK30NCj4gPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiA+ICAvLw0K PiA+ID4gPiA+ID4gIC8vIFdlJ2xsIGJlIHNhdmluZyB0aGUga2V5cyBvZiBpbnN0YWxsZWQgdGFi bGVzIHNvIHRoYXQgd2UgY2FuIHJvbGwNCj4gdGhlbQ0KPiA+ID4gPiBiYWNrDQo+ID4gPiA+ID4g PiAgLy8gaW4gY2FzZSBvZiBmYWlsdXJlLiAxMjggdGFibGVzIHNob3VsZCBiZSBlbm91Z2ggZm9y IGFueW9uZSAoVE0pLg0KPiA+ID4gPiA+ID4gIC8vDQo+ID4gPiA+ID4gPiAgI2RlZmluZSBJTlNU QUxMRURfVEFCTEVTX01BWCAgMTI4DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gKy8qKg0KPiA+ ID4gPiA+ID4gKyAqIFRoZSBBQ1BJIHRhYmxlcyBhcmUgZG93bmxvYWRlZCBmcm9tIFFFTVUuIEZy b20gdGhlIHNlY3VyaXR5DQo+ID4gPiA+ID4gPiBwZXJzcGVjdGl2ZSB0aGVzZSBhcmUNCj4gPiA+ ID4gPiA+ICsgKiBleHRlcm5hbCBpbnB1dHMgYW5kIHNob3VsZCBiZSBtZWFzdXJlZCBhbmQgZXh0 ZW5kZWQgaWYNCj4gcG9zc2libGUuDQo+ID4gU28NCj4gPiA+ID4gdGhhdA0KPiA+ID4gPiA+ID4g dGhleSBjYW4NCj4gPiA+ID4gPiA+ICsgKiBiZSBhdWRpdGVkIGxhdGVyLiBUaGUgbWVhc3VyZW1l bnQgcHJvdG9jb2wgbWF5IGJlIG5vdA0KPiBpbnN0YWxsZWQuDQo+ID4gSW4NCj4gPiA+ID4gdGhp cw0KPiA+ID4gPiA+ID4gY2FzZSBpdA0KPiA+ID4gPiA+ID4gKyAqIHN0aWxsIHJldHVybnMgRUZJ X1NVQ0NFU1MuDQo+ID4gPiA+ID4gPiArICoNCj4gPiA+ID4gPiA+ICsgKiBAcGFyYW0gSW5zdGFs bGVkS2V5IFBvaW50ZXIgdG8gYW4gYXJyYXkgd2hpY2ggY29udGFpbnMgdGhlIGtleXMNCj4gPiBv Zg0KPiA+ID4gPiB0aGUNCj4gPiA+ID4gPiA+IGluc3RhbGxlZCBBQ1BJIHRhYmxlcw0KPiA+ID4g PiA+ID4gKyAqIEBwYXJhbSBMZW5ndGggICAgICAgTGVuZ3RoIG9mIHRoZSBhcnJheQ0KPiA+ID4g PiA+ID4gKyAqIEByZXR2YWwgRUZJX1NVQ0NFU1MgU3VjY2Vzc2Z1bGx5IG1lYXN1cmUgdGhlIEFD UEkgdGFibGVzDQo+ID4gPiA+ID4gPiArICogQHJldHZhbCBPdGhlcnMgICAgICBPdGhlciBlcnJv cnMgYXMgaW5kaWNhdGVkDQo+ID4gPiA+ID4gPiArICovDQo+ID4gPiA+ID4gPiArU1RBVElDDQo+ ID4gPiA+ID4gPiArRUZJX1NUQVRVUw0KPiA+ID4gPiA+ID4gK01lYXN1cmVJbnN0YWxsZWRUYWJs ZXNGcm9tUWVtdSAoDQo+ID4gPiA+ID4gPiArICBJTiBVSU5UTiAgKkluc3RhbGxlZEtleSwNCj4g PiA+ID4gPiA+ICsgIElOIElOVDMyICBMZW5ndGgNCj4gPiA+ID4gPiA+ICsgICkNCj4gPiA+ID4g PiA+ICt7DQo+ID4gPiA+ID4gPiArICBFRklfU1RBVFVTICAgICAgICAgICAgICAgICAgIFN0YXR1 czsNCj4gPiA+ID4gPiA+ICsgIFVJTlROICAgICAgICAgICAgICAgICAgICAgICAgSW5kZXgxOw0K PiA+ID4gPiA+ID4gKyAgSU5UMzIgICAgICAgICAgICAgICAgICAgICAgICBJbmRleDI7DQo+ID4g PiA+ID4gPiArICBFRklfQUNQSV9TRFRfSEVBREVSICAgICAgICAgICpUYWJsZTsNCj4gPiA+ID4g PiA+ICsgIEVGSV9BQ1BJX1RBQkxFX1ZFUlNJT04gICAgICAgVmVyc2lvbjsNCj4gPiA+ID4gPiA+ ICsgIFVJTlROICAgICAgICAgICAgICAgICAgICAgICAgVGFibGVLZXk7DQo+ID4gPiA+ID4gPiAr ICBFRklfQUNQSV9TRFRfUFJPVE9DT0wgICAgICAgICpBY3BpU2R0UHJvdG9jb2w7DQo+ID4gPiA+ ID4gPiArICBFRklfQ0NfTUVBU1VSRU1FTlRfUFJPVE9DT0wgICpDY1Byb3RvY29sID0gTlVMTDsN Cj4gPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiA+ICsgIFN0YXR1cyA9IGdCUy0+TG9jYXRlUHJvdG9j b2wgKCZnRWZpQ2NNZWFzdXJlbWVudFByb3RvY29sR3VpZCwNCj4gPiBOVUxMLA0KPiA+ID4gPiA+ ID4gKFZPSUQgKiopJkNjUHJvdG9jb2wpOw0KPiA+ID4gPiA+ID4gKyAgaWYgKEVGSV9FUlJPUiAo U3RhdHVzKSkgew0KPiA+ID4gPiA+ID4gKyAgICAvLw0KPiA+ID4gPiA+ID4gKyAgICAvLyBDY01l YXN1cmVtZW50IHByb3RvY29sIGlzIG5vdCBpbnN0YWxsZWQuDQo+ID4gPiA+ID4gPiArICAgIC8v DQo+ID4gPiA+ID4gPiArICAgIHJldHVybiBFRklfU1VDQ0VTUzsNCj4gPiA+ID4gPiA+ICsgIH0N Cj4gPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiA+ICsgIFN0YXR1cyA9IGdCUy0+TG9jYXRlUHJvdG9j b2wgKCZnRWZpQWNwaVNkdFByb3RvY29sR3VpZCwgTlVMTCwNCj4gPiAodm9pZA0KPiA+ID4gPiA+ ID4gKiopJkFjcGlTZHRQcm90b2NvbCk7DQo+ID4gPiA+ID4gPiArICBpZiAoRUZJX0VSUk9SIChT dGF0dXMpKSB7DQo+ID4gPiA+ID4gPiArICAgIERFQlVHICgoREVCVUdfRVJST1IsICJVbmFibGUg dG8gbG9jYXRlIEFDUEkgU0RUDQo+IHByb3RvY29sLlxuIikpOw0KPiA+ID4gPiA+ID4gKyAgICBy ZXR1cm4gU3RhdHVzOw0KPiA+ID4gPiA+ID4gKyAgfQ0KPiA+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ ID4gKyAgSW5kZXgxID0gMDsNCj4gPiA+ID4gPiA+ICsgIGRvIHsNCj4gPiA+ID4gPiA+ICsgICAg U3RhdHVzID0gQWNwaVNkdFByb3RvY29sLT5HZXRBY3BpVGFibGUgKEluZGV4MSwgJlRhYmxlLA0K PiAmVmVyc2lvbiwNCj4gPiA+ID4gPiA+ICZUYWJsZUtleSk7DQo+ID4gPiA+ID4gPiArICAgIGlm IChFRklfRVJST1IgKFN0YXR1cykpIHsNCj4gPiA+ID4gPiA+ICsgICAgICBpZiAoU3RhdHVzID09 IEVGSV9OT1RfRk9VTkQpIHsNCj4gPiA+ID4gPiA+ICsgICAgICAgIC8vDQo+ID4gPiA+ID4gPiAr ICAgICAgICAvLyBUaGVyZSBpcyBubyBtb3JlIEFDUEkgdGFibGVzIGZvdW5kLiBTbyB3ZSByZXR1 cm4gd2l0aA0KPiA+ID4gPiBFRklfU1VDQ0VTUy4NCj4gPiA+ID4gPiA+ICsgICAgICAgIC8vDQo+ ID4gPiA+ID4gPiArICAgICAgICBTdGF0dXMgPSBFRklfU1VDQ0VTUzsNCj4gPiA+ID4gPiA+ICsg ICAgICB9DQo+ID4gPiA+ID4gPiArDQo+ID4gPiA+ID4gPiArICAgICAgYnJlYWs7DQo+ID4gPiA+ ID4gPiArICAgIH0NCj4gPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiA+ICsgICAgZm9yIChJbmRleDIg PSAwOyBJbmRleDIgPCBMZW5ndGg7IEluZGV4MisrKSB7DQo+ID4gPiA+ID4gPiArICAgICAgaWYg KFRhYmxlS2V5ID09IEluc3RhbGxlZEtleVtJbmRleDJdKSB7DQo+ID4gPiA+ID4gPiArICAgICAg ICBicmVhazsNCj4gPiA+ID4gPiA+ICsgICAgICB9DQo+ID4gPiA+ID4gPiArICAgIH0NCj4gPiA+ ID4gPiA+ICsNCj4gPiA+ID4gPiA+ICsgICAgaWYgKEluZGV4MiA8IExlbmd0aCkgew0KPiA+ID4g PiA+ID4gKyAgICAgIFN0YXR1cyA9IENjTWVhc3VyZUFjcGlUYWJsZSAoDQo+ID4gPiA+ID4gPiAr ICAgICAgICAgICAgICAgICBDY1Byb3RvY29sLA0KPiA+ID4gPiA+ID4gKyAgICAgICAgICAgICAg ICAgKENIQVI4ICopJlRhYmxlLT5TaWduYXR1cmUsDQo+ID4gPiA+ID4gPiArICAgICAgICAgICAg ICAgICBzaXplb2YgKFRhYmxlLT5TaWduYXR1cmUpLA0KPiA+ID4gPiA+ID4gKyAgICAgICAgICAg ICAgICAgKEVGSV9QSFlTSUNBTF9BRERSRVNTKShVSU5UTilUYWJsZSwNCj4gPiA+ID4gPiA+ICsg ICAgICAgICAgICAgICAgIFRhYmxlLT5MZW5ndGgNCj4gPiA+ID4gPiA+ICsgICAgICAgICAgICAg ICAgICk7DQo+ID4gPiA+ID4gPiArICAgICAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgew0KPiA+ ID4gPiA+ID4gKyAgICAgICAgREVCVUcgKCgNCj4gPiA+ID4gPiA+ICsgICAgICAgICAgREVCVUdf RVJST1IsDQo+ID4gPiA+ID4gPiArICAgICAgICAgICJNZWFzdXJlIEFDUEkgdGFibGUgWyUtNC40 YV0gd2l0aCBTaXplID0gMHgleCBmYWlsZWQhIFN0YXR1cw0KPiA+ID4gPiA9ICVyXG4iLA0KPiA+ ID4gPiA+ID4gKyAgICAgICAgICAoQ09OU1QgQ0hBUjggKikmVGFibGUtPlNpZ25hdHVyZSwNCj4g PiA+ID4gPiA+ICsgICAgICAgICAgVGFibGUtPkxlbmd0aCwNCj4gPiA+ID4gPiA+ICsgICAgICAg ICAgU3RhdHVzDQo+ID4gPiA+ID4gPiArICAgICAgICAgICkpOw0KPiA+ID4gPiA+ID4gKyAgICAg ICAgYnJlYWs7DQo+ID4gPiA+ID4gPiArICAgICAgfSBlbHNlIHsNCj4gPiA+ID4gPiA+ICsgICAg ICAgIERFQlVHICgoDQo+ID4gPiA+ID4gPiArICAgICAgICAgIERFQlVHX0lORk8sDQo+ID4gPiA+ ID4gPiArICAgICAgICAgICJNZWFzdXJlIEFDUEkgdGFibGUgWyUtNC40YV0gd2l0aCBTaXplID0g MHgleFxuIiwNCj4gPiA+ID4gPiA+ICsgICAgICAgICAgKENPTlNUIENIQVI4ICopJlRhYmxlLT5T aWduYXR1cmUsDQo+ID4gPiA+ID4gPiArICAgICAgICAgIFRhYmxlLT5MZW5ndGgNCj4gPiA+ID4g PiA+ICsgICAgICAgICAgKSk7DQo+ID4gPiA+ID4gPiArICAgICAgfQ0KPiA+ID4gPiA+ID4gKyAg ICB9DQo+ID4gPiA+ID4gPiArDQo+ID4gPiA+ID4gPiArICAgIEluZGV4MSsrOw0KPiA+ID4gPiA+ ID4gKyAgfSB3aGlsZSAoVFJVRSk7DQo+ID4gPiA+ID4gPiArDQo+ID4gPiA+ID4gPiArICByZXR1 cm4gU3RhdHVzOw0KPiA+ID4gPiA+ID4gK30NCj4gPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiA+ICAv KioNCj4gPiA+ID4gPiA+ICAgIFByb2Nlc3MgYSBRRU1VX0xPQURFUl9BRERfUE9JTlRFUiBjb21t YW5kIGluIG9yZGVyIHRvDQo+IHNlZQ0KPiA+IGlmIGl0cw0KPiA+ID4gPiA+ID4gdGFyZ2V0IGJ5 dGUNCj4gPiA+ID4gPiA+ICAgIGFycmF5IGlzIGFuIEFDUEkgdGFibGUsIGFuZCBpZiBzbywgaW5z dGFsbCBpdC4NCj4gPiA+ID4gPiA+IEBAIC0xMjQ3LDYgKzE0MDUsMTYgQEAgSW5zdGFsbFFlbXVG d0NmZ1RhYmxlcyAoDQo+ID4gPiA+ID4gPiAgICAgIH0NCj4gPiA+ID4gPiA+ICAgIH0NCj4gPiA+ ID4gPiA+DQo+ID4gPiA+ID4gPiArICAvLw0KPiA+ID4gPiA+ID4gKyAgLy8gTWVhc3VyZSB0aGUg QUNQSSB0YWJsZXMgd2hpY2ggYXJlIGRvd25sb2FkZWQgZnJvbSBRRU1VDQo+ID4gPiA+ID4gPiAr ICAvLw0KPiA+ID4gPiA+ID4gKyAgaWYgKEluc3RhbGxlZCA+IDApIHsNCj4gPiA+ID4gPiA+ICsg ICAgU3RhdHVzID0gTWVhc3VyZUluc3RhbGxlZFRhYmxlc0Zyb21RZW11IChJbnN0YWxsZWRLZXks DQo+ID4gSW5zdGFsbGVkKTsNCj4gPiA+ID4gPiA+ICsgICAgaWYgKEVGSV9FUlJPUiAoU3RhdHVz KSkgew0KPiA+ID4gPiA+ID4gKyAgICAgIGdvdG8gVW5pbnN0YWxsQWNwaVRhYmxlczsNCj4gPiA+ ID4gPiA+ICsgICAgfQ0KPiA+ID4gPiA+ID4gKyAgfQ0KPiA+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ ID4gICAgLy8NCj4gPiA+ID4gPiA+ICAgIC8vIEluc3RhbGwgYSBwcm90b2NvbCB0byBub3RpZnkg dGhhdCB0aGUgQUNQSSB0YWJsZSBwcm92aWRlZCBieSBRZW11DQo+ID4gaXMNCj4gPiA+ID4gPiA+ ICAgIC8vIHJlYWR5Lg0KPiA+ID4gPiA+ID4gLS0NCj4gPiA+ID4gPiA+IDIuMjkuMi53aW5kb3dz LjINCj4gPiA+ID4gPg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+ DQo+ID4gPiA+ID4NCj4gPiA+DQo+ID4gPg0KPiA+ID4NCj4gPiA+DQo+ID4gPg0KPiA+DQo+ID4N Cj4gPg0KPiA+DQo+IA0KPiANCj4gDQo+IA0KPiANCg0K