From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by mx.groups.io with SMTP id smtpd.web11.12067.1673056912754420840 for ; Fri, 06 Jan 2023 18:01:52 -0800 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=ma38Tr0U; spf=pass (domain: intel.com, ip: 192.55.52.120, 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=1673056912; x=1704592912; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=F3dJVsxLMA7Bc7kXZ5uFgdJHOvhimBxImhhv1VV0Ov4=; b=ma38Tr0U/3rItacn/VdODgN4dzKb2JKNX/06X9Y5DKZ9I2ibWfU5TTOY G6/i5Pli4RCO2rAB3xv9MAX1+gkhyJdigXfLX9Im4JKRyzwDHX6jkIF3N Sf58D9ybibjszYjgh1TVpspb75iHslY0t4KcllLplLWVBYIWYowcCBcgM RymLUwBZHrQot8h7SZ4ilE9jsUSghemXRlT8dgXzrOdFtkJjSg0rnYmTZ pvZtTCtMYEqb6wtMQPQeO3OfpIxMRnZEgKm0VCMF1nLZdXwNMREM3WzXQ QHg3Peuq79hwMZz8olbehCRYzqDjaPT7BW3Ri4bF6eeUv3Qzhi+DegrOQ A==; X-IronPort-AV: E=McAfee;i="6500,9779,10582"; a="321304367" X-IronPort-AV: E=Sophos;i="5.96,307,1665471600"; d="scan'208";a="321304367" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 06 Jan 2023 18:01:52 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10582"; a="763699949" X-IronPort-AV: E=Sophos;i="5.96,307,1665471600"; d="scan'208";a="763699949" Received: from fmsmsx603.amr.corp.intel.com ([10.18.126.83]) by fmsmga002.fm.intel.com with ESMTP; 06 Jan 2023 18:01:50 -0800 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.16; Fri, 6 Jan 2023 18:01:49 -0800 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.16; Fri, 6 Jan 2023 18:01:49 -0800 Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) by fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.16 via Frontend Transport; Fri, 6 Jan 2023 18:01:49 -0800 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (104.47.55.172) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.16; Fri, 6 Jan 2023 18:01:36 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=XGskcAHbNv/tVDcewO0fwEu6ljXIEkvS0lfRgQUlQbvcpOAVz97yv90X445Hrc6d9gn6z65vOi09HDQt2B7YK0oD1IPQLErGFR96SzUEctgF7PCkClJVXXx9wdcMIw5TgnKKStWqYIT6aEqovEwAZ0ni3USjY2rtRW0IRE9sZOahiCqPpWw/nyvhlRW4DG+LwJ1drh6pM8lvznbQPyZDivdJuqviMNn/SncSC3+Govkf7RHyf3rEpnweTT4mNmC/50iTFkcaiDghP9oEdr9m5IaVA8MK3M3pgI5GRsASceqnY38gybr9ap89pOwAJXCCXSeOeKWH3H8JBBaVNTwlUg== 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=F3dJVsxLMA7Bc7kXZ5uFgdJHOvhimBxImhhv1VV0Ov4=; b=AeRiojsYSFlWeHfZgBvtWIQ6X04GrsUX6DK/1ZQ0Z0SGRZ9+71zSjxuJL3cPo5xUKQG1PvFEE+d+8jNXpay6y7JbXJEhTaz6o+xLvTQYSUHku1Jx8Y+HQGuh+YNJMpEOmda6N7j2OscDG6W68l3kt1HVOEh+eJNeDYwllxOpkLmXjs5r8gpPgqc6vx1my6tkcfh/4OxFRCZJ3vEIpvw/E4420PAlRgTS5gBz6GMCK+Cdzme8PCKYpkC353nYbfZOF6ktc3LDJzu4I4JMD1a3f3lbEQc2B/GDQA5PI5Ifko6AARLoBBfVkxIYrf3KawpoJvvKK2OHhP0BTJCtXW02LA== 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 CH0PR11MB5314.namprd11.prod.outlook.com (2603:10b6:610:bd::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5944.19; Sat, 7 Jan 2023 02:01:32 +0000 Received: from MW4PR11MB5872.namprd11.prod.outlook.com ([fe80::5f56:1bdc:2eae:c041]) by MW4PR11MB5872.namprd11.prod.outlook.com ([fe80::5f56:1bdc:2eae:c041%9]) with mapi id 15.20.5944.019; Sat, 7 Jan 2023 02:01:32 +0000 From: "Yao, Jiewen" To: Dov Murik , "devel@edk2.groups.io" , "Michael.Roth@amd.com" , "Ard Biesheuvel" CC: Tom Lendacky , "Ni, Ray" Subject: Re: [edk2-devel] [PATCH 1/4] OvmfPkg/AmdSevDxe: Allocate SEV-SNP CC blob as EfiACPIReclaimMemory Thread-Topic: [edk2-devel] [PATCH 1/4] OvmfPkg/AmdSevDxe: Allocate SEV-SNP CC blob as EfiACPIReclaimMemory Thread-Index: AQHZFYLhOGzjXR0cw0OEtgSAfYsF7K6RM7QQgAC7XACAAFuQgA== Date: Sat, 7 Jan 2023 02:01:32 +0000 Message-ID: References: <20221221160651.182143-1-michael.roth@amd.com> <20221221160651.182143-2-michael.roth@amd.com> In-Reply-To: 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_|CH0PR11MB5314:EE_ x-ms-office365-filtering-correlation-id: 8372b0ce-d157-4cfa-f26a-08daf053196c x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: to1KQl4dy8NPKus4X6ODx7eHsChOxmEIBvCzqYvjuhIrTSsecBG+cXdqDgwbOhv7ryF2/gtMIbOISBWJ5itikACdXxz5BW6SPU0WFxzhoCX/RoPUkVJNcwSEmpY50pNW7txKrSZnDmv1Hyp5Tay0egal05vsnkqYZ3VigtzrwyNvKnhKbmWv1JqSV0lt0zSDIa9iQXdf2NxaXbEZP8hzUZgjNEBnppX8fq9gCI66raDTuKLMHD8JhD8eGUfgxo5+0JAw1Uu1sr9sk/UM0cS5NWn8R4SFJF82qsC8wVmdkI14dv/aI88nLilkkUZyDPeRsj16wBHxGELXcKOXpeESQC7SO5CRrNy7hpp5ogXhxoJu7bGOyqN22wZ6JmncqmmOAkDjBIcxI0iIIBLxdCYP5iI8u02bPZBsBd/+1eDwsW49H877TlYgFgBFdYt/xWuph9xxQ/WN9oWGuZfvIts6P6gJEzT3hxJM/R/KPHvSRW3W1HRRNPU4xRvgNpkLHvwjGU2FRSM/H1a5pdzBbak6plKGAwC4p4I/0wW5oNUJKdMkFGsGSpTM7kGdYyIvj11QEFsQbyDH4sdr7DzWuX9vTihZ7PVOhm5RTNcZyKDhubuiGepNqHNStW0xPQJxL6jUGaOWA8cVGRA2mCZB0K+IvXzo/Gdlo0cKneCo0EldS82i+jeNrSOTIxdAU317/oJZtqKjqeMzHh+p/Qid6oTCYNnZGQQu/z4jpNl3cR7Qt61V2/rQcONjKxnJEf9uu2Vt6OpN/G1rmH14iebyCcZCPaKZDlxLDmc3ZrHdDJJTZN0= 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)(39860400002)(376002)(346002)(396003)(366004)(451199015)(83380400001)(38100700002)(66556008)(122000001)(82960400001)(8676002)(38070700005)(4326008)(66446008)(66946007)(52536014)(2906002)(66476007)(64756008)(76116006)(26005)(41300700001)(186003)(7696005)(55016003)(9686003)(107886003)(53546011)(8936002)(6506007)(86362001)(110136005)(54906003)(966005)(316002)(478600001)(33656002)(5660300002)(71200400001)(66899015)(145603002);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?ekpPd2g4SklzU1dybG42QnJSdytJVVJZWWVNazdyRFlDWXBLOXlVVnI4eE4y?= =?utf-8?B?MWtUVjh3a2xtM1BSM2xFbHFGSzhCbnE5YTBXb2t6UXdTSmw4MVI0UXl5dElJ?= =?utf-8?B?RjNvdXpHemw0WWMrT3kxaTZyNGR2TXZjMGlsbTNWb0N4d1RqTUNaZnRpVmhV?= =?utf-8?B?LzR3WkhCcUc2ZDJ0c01UUlJNbytjbVUvWC8zd2JTeVBPTytOWWg4VHZ5Wmh1?= =?utf-8?B?Si9QVWxnRitSb0NoUVltemZxM3RHS240TVV5VVltZUR0SGZadzdHd1dHSzNq?= =?utf-8?B?Y0lsdmVrRkZmWXNkMGcwMHVWZEdDNWxOc09HalA0VzBiMWYzbGFuTXNybUpK?= =?utf-8?B?U0Ezck01UTB4VDgzNnlWcjBKa1NHVGxEbTZ3SnlMTDZDQXJjWmZ6L3ppTHoy?= =?utf-8?B?bjR6WDhGM0M4cVR3K00wcDZUR08zWTNhcXR3U1RsSFQxQWhkUER1ODE3aUhV?= =?utf-8?B?YkVoSitqWFQ4T0pzZjBPZGJBdFplQUpQWURoVGM1WjdHbDFmTVR5UXUxYWIz?= =?utf-8?B?Tk5RWTBtcWZQTzRQckRVSnV4K1JCN29JUEx5YWZhKzU5TDByQkxjZEphVGpR?= =?utf-8?B?ZzVRQ3B5bDhpcXk3ME1vM1JkS0FsR2kzNEJxWmYyUVVMMkd3My9pOHR1Ty9C?= =?utf-8?B?OWw2R2ZYZkVmZFM1Z28zdmRVN2Rhbi9aRHZIcUg1Z3I3L2NiS1dJWGFmL0Zz?= =?utf-8?B?Z2VoaVdJV1RzNCtpZ0FFalVKbXB4Z0VUNkRHbTY2c2wzbWRCNWpTVGRMSHJN?= =?utf-8?B?eG9ZaTJLZ3Qydjl5VWRPdmUxNzA0c3JyTzZJSHRXUFIxUUY5NU93R2pJSWpE?= =?utf-8?B?bEhYNi9sS0VXbUFabE4zaFp0MHlrYnZ3TGRwektKTWlEcWNxZWJWcWNoanFy?= =?utf-8?B?Z0FMMEhuZlVVcnd2TmFIRmpaYW5paG5JeERocXRrZHdMaGpra0JZQmhKTmJz?= =?utf-8?B?TGI4MmVuazZSMDJCSnhrZy81OXV6KzRBNjJzUnJFLzV3dWVRUEd6c3ZJYkdZ?= =?utf-8?B?cFl1ZlA2UFRZSjBJam5nSTZaempMWWhDK0dDZGpnZ2ZMa2xYbndEU09Tdkxz?= =?utf-8?B?bmt6Z09ydkdhSkpqNTVkVUppRUhoRzI0Tlg2Z1R0dlNTRWpmU0lEb3BNL3dX?= =?utf-8?B?aTl1cm9iNk1ManFJVnpLOW56UmU3enM2K2J1TzQzSkJGeDFnRkxYVGlZYk5w?= =?utf-8?B?OEtudkViVFRlV0U5aG1oejVnY0QrMXZTV3RxcXBSdjNWSm5RNkRPY2s5Mk5i?= =?utf-8?B?RFVER2tNdFM0VVlGUUh4WlpabkpkNytldmFFVExWRFpyZFp3TVdEQkw4YWNY?= =?utf-8?B?dktGNXA2ZHZjcHVHc0YremNBY2NqQ3BGM3ZPbnBwNlJCMlRMK3hVMVhzbGNQ?= =?utf-8?B?ZTJ4Y25CaEpXNHJFSy83eDZNSlRwRnZUUUdpdG9UYjU2VEJia1hZTm5KVXpD?= =?utf-8?B?WklqUWNaa1NxdE1jYnIxMTB6ek92T21vc0dIdTQxUjMyalNrdG5JTHRhVGxC?= =?utf-8?B?YjFrNlA5QnFPaitkdjY4ZWFkS2c0Z3Rta2hlSHlvZ0xJVlNackdwNm5obEVa?= =?utf-8?B?ZGdqTTJFQ0VOZ29UOEJjWURmbkxTdjcyRm9DVklnRGw3bklQZGtLazNTRzkw?= =?utf-8?B?dm5iZUVReFlaNCtSTXQxb2QyT3NFYW5acVlWY1d0OU8ycjRPVGhKVUVDRTI5?= =?utf-8?B?aStKNmZ2TCt5WVI5VUlVTHM1NGVRQjdSb24zeStWR2hvVDExend2YUJjazlx?= =?utf-8?B?QjdRR1VCRWsxZ2YzbW9EcFRmUGRlQ2tNQUxwNWYwMUYvRS9CeDNxYVNQdTd3?= =?utf-8?B?Nkt2L2lvQSthNEFQazdsR2lVeDlHYU5qRjRVdFhnMWQ0Sm5aa0l0SVBTZVpV?= =?utf-8?B?ZlFKRjBoQXh1YStjVFJ1OVNNRWg3TnFQcHVlVXJhdzhsb2dkQlBWKzhZK2dE?= =?utf-8?B?NDhMb1ZaQ3hGUHEyeU1aNUlUdmp3dHhWSWpzdjc1VWJyTC9MNDRzTXVZRlBv?= =?utf-8?B?d0FzanFib3oxR1FoczVSNldmalNKREd4V0FVbWRYdTZuY1ArRkZmTzNyVHVB?= =?utf-8?B?VUhzbzM1a1pyS0gzRDVZazdaT2lhV1JFZHJHSXl3WWttcThYOVhMd2ZMM2dp?= =?utf-8?Q?N5YazKuwk9hdZ5zMmj0CIfPOx?= 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: 8372b0ce-d157-4cfa-f26a-08daf053196c X-MS-Exchange-CrossTenant-originalarrivaltime: 07 Jan 2023 02:01:32.5244 (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: 2kMjc6BzkCxAEW0YuWEj73g4Ox6fCjtFiNZjyZtMNaA1Sv5hdU1zoyjS2hJxdYwHQUOE00Y1DTU7XXDgrflK7Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR11MB5314 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 SGkgRG92L0FyZA0KUGxlYXNlIGFsbG93IG1lIHRvIGNsYXJpZnk6DQoNCkVmaUFDUElSZWNsYWlt TWVtb3J5IGluIFVFRkkgc3BlYyBtZWFuczogT1MgbWF5IHVzZSB0aGUgbWVtb3J5LCBhZnRlciBp dCBjb3BpZXMgdGhlIEFDUEkgdGFibGUgdG8gaXRzIG93biBsb2NhdGlvbi4gSXQgaXMgYWxzbyBj YWxsZWQgIkFkZHJlc3NSYW5nZUFDUEkiIGluIEFDUEkgc3BlYy4NCg0KWzJdIGh0dHBzOi8vdWVm aS5vcmcvc3BlY3MvQUNQSS82LjUvMTVfU3lzdGVtX0FkZHJlc3NfTWFwX0ludGVyZmFjZXMuaHRt bCwgc2VhcmNoIEFkZHJlc3NSYW5nZUFDUEkuDQpbM10gaHR0cHM6Ly91ZWZpLm9yZy9zcGVjcy9V RUZJLzIuMTAvMDdfU2VydmljZXNfQm9vdF9TZXJ2aWNlcy5odG1sLCBzZWFyY2ggRWZpQUNQSVJl Y2xhaW1NZW1vcnkuDQoNCkhvd2V2ZXIsIGluIHRoZSBkZXNjcmlwdGlvbiwgeW91IG1lbnRpb25l ZCAiVGhlIFNFVi1TTlAgQ29uZmlkZW50aWFsIENvbXB1dGluZyBibG9iIGNvbnRhaW5zIG1ldGFk YXRhIHRoYXQgc2hvdWxkIHJlbWFpbiBhY2Nlc3NpYmxlIGZvciB0aGUgbGlmZSBvZiB0aGUgZ3Vl c3QuIg0KVGhhdCByZXF1aXJlbWVudCBjb25mbGljdHMgd2l0aCB0aGUgZGVmaW5pdGlvbiBvZiBB Q1BJUmVjbGFpbSBtZW1vcnkuDQoNCkkgd291bGQgbGlrZSB0byBzdWdnZXN0IGVpdGhlciBvZiBi ZWxvdywgdG8gbWVldCB0aGUgbmVlZCAidGhhdCBzaG91bGQgcmVtYWluIGFjY2Vzc2libGUgZm9y IHRoZSBsaWZlIG9mIHRoZSBndWVzdC4iDQphKSBFZmlBQ1BJTWVtb3J5TlZTIGluIFVFRkksIGFs c28ga25vd24gYXMgQWRkcmVzc1JhbmdlTlZTIGluIEFDUEkgKG9yKQ0KYikgRWZpUmVzZXJ2ZWRN ZW1vcnlUeXBlIGluIFVFRkksIGFsc28ga25vd25zIGFzIEFkZHJlc3NSYW5nZVJlc2VydmVkIGlu IEFDUEkuDQoNClBsZWFzZSBkb3VibGUgY29uZmlybSB0aGF0Lg0KDQpUaGFuayB5b3UNCllhbywg Smlld2VuDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogRG92IE11cmlr IDxkb3ZtdXJpa0BsaW51eC5pYm0uY29tPg0KPiBTZW50OiBTYXR1cmRheSwgSmFudWFyeSA3LCAy MDIzIDQ6MjYgQU0NCj4gVG86IFlhbywgSmlld2VuIDxqaWV3ZW4ueWFvQGludGVsLmNvbT47IGRl dmVsQGVkazIuZ3JvdXBzLmlvOw0KPiBNaWNoYWVsLlJvdGhAYW1kLmNvbTsgQXJkIEJpZXNoZXV2 ZWwgPGFyZGJAa2VybmVsLm9yZz4NCj4gQ2M6IFRvbSBMZW5kYWNreSA8dGhvbWFzLmxlbmRhY2t5 QGFtZC5jb20+OyBOaSwgUmF5DQo+IDxyYXkubmlAaW50ZWwuY29tPjsgRG92IE11cmlrIDxkb3Zt dXJpa0BsaW51eC5pYm0uY29tPg0KPiBTdWJqZWN0OiBSZTogW2VkazItZGV2ZWxdIFtQQVRDSCAx LzRdIE92bWZQa2cvQW1kU2V2RHhlOiBBbGxvY2F0ZSBTRVYtDQo+IFNOUCBDQyBibG9iIGFzIEVm aUFDUElSZWNsYWltTWVtb3J5DQo+IA0KPiBIaSBKaWV3ZW4sDQo+IA0KPiBPbiAwNi8wMS8yMDIz IDExOjE4LCBZYW8sIEppZXdlbiB3cm90ZToNCj4gPiBBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8g dXNlIEVmaUFDUElSZWNsYWltTWVtb3J5ID8NCj4gPg0KPiA+IFVzdWFsbHkgRWZpQUNQSVJlY2xh aW1NZW1vcnkgaXMgb25seSBmb3IgQUNQSSB0YWJsZSwgd2hpY2ggY2FuIGJlDQo+IHJlY2xhaW1l ZCBhbmQgdXNlZCBieSBPUywgYWZ0ZXIgY29weSBBQ1BJIHRhYmxlLg0KPiA+DQo+ID4gSWYgeW91 IHdhbnQgdG8gY2xhaW0gdGhlIG1lbW9yeSBvd25lZCBieSBmaXJtd2FyZSAobm90IG93bmVkIGJ5 IE9TKSwNCj4geW91IG5lZWQgdXNlIEFDUElOdnMgb3IgcmVzZXJ2ZWQuDQo+ID4NCj4gDQo+IEVm aUFDUElSZWNsYWltTWVtb3J5IHR5cGUgd2FzIHN1Z2dlc3RlZCBieSBBcmQgWzFdIGZvciBhIHNp bWlsYXIgZml4DQo+IGFub3RoZXIgU0VWLXJlbGF0ZWQgbWVtb3J5IGFyZWEgdGhhdCBzaG91bGQg cmVtYWluIGluLXBsYWNlIHRocm91Z2hvdXQNCj4gdGhlIGd1ZXN0IE9TIGxpZmV0aW1lIChub3Qg cmV1c2VkIGJ5IE9TKS4NCj4gDQo+IEFyZCAtLSBjYW4geW91IHBsZWFzZSBleHBsYWluIHRoYXQg Y2hvaWNlPw0KPiANCj4gDQo+IFsxXSBodHRwczovL2VkazIuZ3JvdXBzLmlvL2cvZGV2ZWwvbWVz c2FnZS85NzE1NA0KPiANCj4gDQo+IA0KPiAtRG92DQo+IA0KPiANCj4gPg0KPiA+IEFsdGhvdWdo IEkgZG9uJ3QgZnVsbHkgdW5kZXJzdGFuZCBTRVYsIHRoaXMgc2VlbXMgc3VzcGljaW91cy4NCj4g Pg0KPiA+IFBsZWFzZSBkb3VibGUgY29uZmlybSBpZiB0aGlzIGlzIHJlYWxseSB5b3Ugd2FudC4N Cj4gPg0KPiA+IFRoYW5rIHlvdQ0KPiA+IFlhbywgSmlld2VuDQo+ID4NCj4gPg0KPiA+PiAtLS0t LU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+PiBGcm9tOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbyA8 ZGV2ZWxAZWRrMi5ncm91cHMuaW8+IE9uIEJlaGFsZiBPZiBSb3RoLA0KPiA+PiBNaWNoYWVsIHZp YSBncm91cHMuaW8NCj4gPj4gU2VudDogVGh1cnNkYXksIERlY2VtYmVyIDIyLCAyMDIyIDEyOjA3 IEFNDQo+ID4+IFRvOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbw0KPiA+PiBDYzogVG9tIExlbmRhY2t5 IDx0aG9tYXMubGVuZGFja3lAYW1kLmNvbT47IE5pLCBSYXkNCj4gPj4gPHJheS5uaUBpbnRlbC5j b20+OyBEb3YgTXVyaWsgPGRvdm11cmlrQGxpbnV4LmlibS5jb20+DQo+ID4+IFN1YmplY3Q6IFtl ZGsyLWRldmVsXSBbUEFUQ0ggMS80XSBPdm1mUGtnL0FtZFNldkR4ZTogQWxsb2NhdGUgU0VWLVNO UA0KPiBDQw0KPiA+PiBibG9iIGFzIEVmaUFDUElSZWNsYWltTWVtb3J5DQo+ID4+DQo+ID4+IFRo ZSBTRVYtU05QIENvbmZpZGVudGlhbCBDb21wdXRpbmcgYmxvYiBjb250YWlucyBtZXRhZGF0YSB0 aGF0IHNob3VsZA0KPiA+PiByZW1haW4gYWNjZXNzaWJsZSBmb3IgdGhlIGxpZmUgb2YgdGhlIGd1 ZXN0LiBBbGxvY2F0ZSBpdCBhcw0KPiA+PiBFZmlBQ1BJUmVjbGFpbU1lbW9yeSB0byBlbnN1cmUg dGhlIG1lbW9yeSBpc24ndCBvdmVyd3JpdHRlbiBieSB0aGUNCj4gZ3Vlc3QNCj4gPj4gb3BlcmF0 aW5nIHN5c3RlbSBsYXRlci4NCj4gPj4NCj4gPj4gUmVwb3J0ZWQtYnk6IERvdiBNdXJpayA8ZG92 bXVyaWtAbGludXguaWJtLmNvbT4NCj4gPj4gU3VnZ2VzdGVkLWJ5OiBEb3YgTXVyaWsgPGRvdm11 cmlrQGxpbnV4LmlibS5jb20+DQo+ID4+IFNpZ25lZC1vZmYtYnk6IE1pY2hhZWwgUm90aCA8bWlj aGFlbC5yb3RoQGFtZC5jb20+DQo+ID4+IC0tLQ0KPiA+PiAgT3ZtZlBrZy9BbWRTZXZEeGUvQW1k U2V2RHhlLmMgfCA2Mg0KPiArKysrKysrKysrKysrKysrKysrKysrKysrKystLS0NCj4gPj4gLS0t LS0NCj4gPj4gIDEgZmlsZSBjaGFuZ2VkLCA0OCBpbnNlcnRpb25zKCspLCAxNCBkZWxldGlvbnMo LSkNCj4gPj4NCj4gPj4gZGlmZiAtLWdpdCBhL092bWZQa2cvQW1kU2V2RHhlL0FtZFNldkR4ZS5j DQo+ID4+IGIvT3ZtZlBrZy9BbWRTZXZEeGUvQW1kU2V2RHhlLmMNCj4gPj4gaW5kZXggNjYyZDNj NGNjYi4uOGRmZGE5NjFkNyAxMDA2NDQNCj4gPj4gLS0tIGEvT3ZtZlBrZy9BbWRTZXZEeGUvQW1k U2V2RHhlLmMNCj4gPj4gKysrIGIvT3ZtZlBrZy9BbWRTZXZEeGUvQW1kU2V2RHhlLmMNCj4gPj4g QEAgLTIxLDE1ICsyMSwzNiBAQA0KPiA+PiAgI2luY2x1ZGUgPEd1aWQvQ29uZmlkZW50aWFsQ29t cHV0aW5nU2V2U25wQmxvYi5oPg0KPiA+Pg0KPiA+PiAgI2luY2x1ZGUgPExpYnJhcnkvUGNkTGli Lmg+DQo+ID4+DQo+ID4+DQo+ID4+DQo+ID4+IC1TVEFUSUMgQ09ORklERU5USUFMX0NPTVBVVElO R19TTlBfQkxPQl9MT0NBVElPTg0KPiA+PiBtU25wQm9vdER4ZVRhYmxlID0gew0KPiA+Pg0KPiA+ PiAtICBTSUdOQVRVUkVfMzIgKCdBJywgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAnTScsICdEJywgJ0UnKSwNCj4gPj4NCj4gPj4gLSAgMSwNCj4gPj4NCj4gPj4gLSAgMCwNCj4g Pj4NCj4gPj4gLSAgKFVJTlQ2NCkoVUlOVE4pRml4ZWRQY2RHZXQzMiAoUGNkT3ZtZlNucFNlY3Jl dHNCYXNlKSwNCj4gPj4NCj4gPj4gLSAgRml4ZWRQY2RHZXQzMiAoUGNkT3ZtZlNucFNlY3JldHNT aXplKSwNCj4gPj4NCj4gPj4gLSAgKFVJTlQ2NCkoVUlOVE4pRml4ZWRQY2RHZXQzMiAoUGNkT3Zt ZkNwdWlkQmFzZSksDQo+ID4+DQo+ID4+IC0gIEZpeGVkUGNkR2V0MzIgKFBjZE92bWZDcHVpZFNp emUpLA0KPiA+Pg0KPiA+PiAtfTsNCj4gPj4NCj4gPj4gK1NUQVRJQw0KPiA+Pg0KPiA+PiArRUZJ X1NUQVRVUw0KPiA+Pg0KPiA+PiArQWxsb2NhdGVDb25maWRlbnRpYWxDb21wdXRpbmdCbG9iICgN Cj4gPj4NCj4gPj4gKyAgT1VUIENPTkZJREVOVElBTF9DT01QVVRJTkdfU05QX0JMT0JfTE9DQVRJ T04gICoqQ2NCbG9iUHRyDQo+ID4+DQo+ID4+ICsgICkNCj4gPj4NCj4gPj4gK3sNCj4gPj4NCj4g Pj4gKyAgRUZJX1NUQVRVUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RhdHVzOw0K PiA+Pg0KPiA+PiArICBDT05GSURFTlRJQUxfQ09NUFVUSU5HX1NOUF9CTE9CX0xPQ0FUSU9OICAq Q2NCbG9iOw0KPiA+Pg0KPiA+PiArDQo+ID4+DQo+ID4+ICsgIFN0YXR1cyA9IGdCUy0+QWxsb2Nh dGVQb29sICgNCj4gPj4NCj4gPj4gKyAgICAgICAgICAgICAgICAgIEVmaUFDUElSZWNsYWltTWVt b3J5LA0KPiA+Pg0KPiA+PiArICAgICAgICAgICAgICAgICAgc2l6ZW9mIChDT05GSURFTlRJQUxf Q09NUFVUSU5HX1NOUF9CTE9CX0xPQ0FUSU9OKSwNCj4gPj4NCj4gPj4gKyAgICAgICAgICAgICAg ICAgIChWT0lEICoqKSZDY0Jsb2INCj4gPj4NCj4gPj4gKyAgICAgICAgICAgICAgICAgICk7DQo+ ID4+DQo+ID4+ICsgIGlmIChFRklfRVJST1IgKFN0YXR1cykpIHsNCj4gPj4NCj4gPj4gKyAgICBy ZXR1cm4gU3RhdHVzOw0KPiA+Pg0KPiA+PiArICB9DQo+ID4+DQo+ID4+ICsNCj4gPj4NCj4gPj4g KyAgQ2NCbG9iLT5IZWFkZXIgICAgICAgICAgICAgICAgID0gU0lHTkFUVVJFXzMyICgnQScsICdN JywgJ0QnLCAnRScpOw0KPiA+Pg0KPiA+PiArICBDY0Jsb2ItPlZlcnNpb24gICAgICAgICAgICAg ICAgPSAxOw0KPiA+Pg0KPiA+PiArICBDY0Jsb2ItPlJlc2VydmVkMSAgICAgICAgICAgICAgPSAw Ow0KPiA+Pg0KPiA+PiArICBDY0Jsb2ItPlNlY3JldHNQaHlzaWNhbEFkZHJlc3MgPSAoVUlOVDY0 KShVSU5UTilGaXhlZFBjZEdldDMyDQo+ID4+IChQY2RPdm1mU25wU2VjcmV0c0Jhc2UpOw0KPiA+ Pg0KPiA+PiArICBDY0Jsb2ItPlNlY3JldHNTaXplICAgICAgICAgICAgPSBGaXhlZFBjZEdldDMy IChQY2RPdm1mU25wU2VjcmV0c1NpemUpOw0KPiA+Pg0KPiA+PiArICBDY0Jsb2ItPkNwdWlkUGh5 c2ljYWxBZGRyZXNzICAgPSAoVUlOVDY0KShVSU5UTilGaXhlZFBjZEdldDMyDQo+ID4+IChQY2RP dm1mQ3B1aWRCYXNlKTsNCj4gPj4NCj4gPj4gKyAgQ2NCbG9iLT5DcHVpZExTaXplICAgICAgICAg ICAgID0gRml4ZWRQY2RHZXQzMiAoUGNkT3ZtZkNwdWlkU2l6ZSk7DQo+ID4+DQo+ID4+ICsNCj4g Pj4NCj4gPj4gKyAgKkNjQmxvYlB0ciA9IENjQmxvYjsNCj4gPj4NCj4gPj4gKw0KPiA+Pg0KPiA+ PiArICByZXR1cm4gRUZJX1NVQ0NFU1M7DQo+ID4+DQo+ID4+ICt9DQo+ID4+DQo+ID4+DQo+ID4+ DQo+ID4+ICBFRklfU1RBVFVTDQo+ID4+DQo+ID4+ICBFRklBUEkNCj4gPj4NCj4gPj4gQEAgLTM4 LDEwICs1OSwxMSBAQCBBbWRTZXZEeGVFbnRyeVBvaW50ICgNCj4gPj4gICAgSU4gRUZJX1NZU1RF TV9UQUJMRSAgKlN5c3RlbVRhYmxlDQo+ID4+DQo+ID4+ICAgICkNCj4gPj4NCj4gPj4gIHsNCj4g Pj4NCj4gPj4gLSAgRUZJX1NUQVRVUyAgICAgICAgICAgICAgICAgICAgICAgU3RhdHVzOw0KPiA+ Pg0KPiA+PiAtICBFRklfR0NEX01FTU9SWV9TUEFDRV9ERVNDUklQVE9SICAqQWxsRGVzY01hcDsN Cj4gPj4NCj4gPj4gLSAgVUlOVE4gICAgICAgICAgICAgICAgICAgICAgICAgICAgTnVtRW50cmll czsNCj4gPj4NCj4gPj4gLSAgVUlOVE4gICAgICAgICAgICAgICAgICAgICAgICAgICAgSW5kZXg7 DQo+ID4+DQo+ID4+ICsgIEVGSV9TVEFUVVMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFN0YXR1czsNCj4gPj4NCj4gPj4gKyAgRUZJX0dDRF9NRU1PUllfU1BBQ0VfREVTQ1JJUFRPUiAg ICAgICAgICAgKkFsbERlc2NNYXA7DQo+ID4+DQo+ID4+ICsgIFVJTlROICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIE51bUVudHJpZXM7DQo+ID4+DQo+ID4+ICsgIFVJTlROICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEluZGV4Ow0KPiA+Pg0KPiA+PiArICBD T05GSURFTlRJQUxfQ09NUFVUSU5HX1NOUF9CTE9CX0xPQ0FUSU9OICAqU25wQm9vdER4ZVRhYmxl Ow0KPiA+Pg0KPiA+Pg0KPiA+Pg0KPiA+PiAgICAvLw0KPiA+Pg0KPiA+PiAgICAvLyBEbyBub3Ro aW5nIHdoZW4gU0VWIGlzIG5vdCBlbmFibGVkDQo+ID4+DQo+ID4+IEBAIC0xNDcsNiArMTY5LDE4 IEBAIEFtZFNldkR4ZUVudHJ5UG9pbnQgKA0KPiA+PiAgICAgIH0NCj4gPj4NCj4gPj4gICAgfQ0K PiA+Pg0KPiA+Pg0KPiA+Pg0KPiA+PiArICBTdGF0dXMgPSBBbGxvY2F0ZUNvbmZpZGVudGlhbENv bXB1dGluZ0Jsb2IgKCZTbnBCb290RHhlVGFibGUpOw0KPiA+Pg0KPiA+PiArICBpZiAoRUZJX0VS Uk9SIChTdGF0dXMpKSB7DQo+ID4+DQo+ID4+ICsgICAgREVCVUcgKCgNCj4gPj4NCj4gPj4gKyAg ICAgIERFQlVHX0VSUk9SLA0KPiA+Pg0KPiA+PiArICAgICAgIiVhOiBBbGxvY2F0ZUNvbmZpZGVu dGlhbENvbXB1dGluZ0Jsb2IoKTogJXJcbiIsDQo+ID4+DQo+ID4+ICsgICAgICBfX0ZVTkNUSU9O X18sDQo+ID4+DQo+ID4+ICsgICAgICBTdGF0dXMNCj4gPj4NCj4gPj4gKyAgICAgICkpOw0KPiA+ Pg0KPiA+PiArICAgIEFTU0VSVCAoRkFMU0UpOw0KPiA+Pg0KPiA+PiArICAgIENwdURlYWRMb29w ICgpOw0KPiA+Pg0KPiA+PiArICB9DQo+ID4+DQo+ID4+ICsNCj4gPj4NCj4gPj4gICAgLy8NCj4g Pj4NCj4gPj4gICAgLy8gSWYgaXRzIFNFVi1TTlAgYWN0aXZlIGd1ZXN0IHRoZW4gaW5zdGFsbCB0 aGUNCj4gPj4gQ09ORklERU5USUFMX0NPTVBVVElOR19TRVZfU05QX0JMT0IuDQo+ID4+DQo+ID4+ ICAgIC8vIEl0IGNvbnRhaW5zIHRoZSBsb2NhdGlvbiBmb3IgYm90aCB0aGUgU2VjcmV0cyBhbmQg Q1BVSUQgcGFnZS4NCj4gPj4NCj4gPj4gQEAgLTE1NCw3ICsxODgsNyBAQCBBbWRTZXZEeGVFbnRy eVBvaW50ICgNCj4gPj4gICAgaWYgKE1lbUVuY3J5cHRTZXZTbnBJc0VuYWJsZWQgKCkpIHsNCj4g Pj4NCj4gPj4gICAgICByZXR1cm4gZ0JTLT5JbnN0YWxsQ29uZmlndXJhdGlvblRhYmxlICgNCj4g Pj4NCj4gPj4gICAgICAgICAgICAgICAgICAgICZnQ29uZmlkZW50aWFsQ29tcHV0aW5nU2V2U25w QmxvYkd1aWQsDQo+ID4+DQo+ID4+IC0gICAgICAgICAgICAgICAgICAmbVNucEJvb3REeGVUYWJs ZQ0KPiA+Pg0KPiA+PiArICAgICAgICAgICAgICAgICAgU25wQm9vdER4ZVRhYmxlDQo+ID4+DQo+ ID4+ICAgICAgICAgICAgICAgICAgICApOw0KPiA+Pg0KPiA+PiAgICB9DQo+ID4+DQo+ID4+DQo+ ID4+DQo+ID4+IC0tDQo+ID4+IDIuMjUuMQ0KPiA+Pg0KPiA+Pg0KPiA+Pg0KPiA+PiANCj4gPj4N Cj4gPg0K