From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (NAM11-CO1-obe.outbound.protection.outlook.com [40.107.220.57]) by mx.groups.io with SMTP id smtpd.web08.6555.1632479905390793778 for ; Fri, 24 Sep 2021 03:38:25 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@amd.com header.s=selector1 header.b=uPHkkB6h; spf=permerror, err=parse error for token &{10 18 %{i}._ip.%{h}._ehlo.%{d}._spf.vali.email}: invalid domain name (domain: amd.com, ip: 40.107.220.57, mailfrom: brijesh.singh@amd.com) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=XUJtDiPOaoDXLSHJYUjJeFSyYjBLFRCY1sY3964Fh7lhAaMLqn1I2+3qV92Z04Xt7fAjPicTBkvqsqPDMhNMzqjuivmGRpKbSQRjYjpHb3r8Eh5GwbudCBhTAZy4qDKVuBj5Bsbbu6fJVx3CeyjaYV5a1XuiqVJ5nnypLkucuy4Ay93BdNfYASpLmB2gDv4RvVgufQkpMUVf10zSZSETTrH2yOPwPCxo2U2rL8HiLRQXyPTz8aWEUKFk16F1SeAGNhWzTw87BTUYyfIsMTuG10gzIGnOysuMh/b6+/gPqesTM3tYoPN7RBuVWLGFKasWzP5LaIfgMlRmML/VZvT1DA== 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; bh=W68HRD7zNmSLJJUVUEpCSaRfR7Cw/bNyEObnmDhsNNA=; b=THDBw5zuauPjWepK6puxrsdtQaaC9czgk69aT3XTnAi6GuHpCKZtdNi5iqBFsiZ1IQwkkS9o5mCm7sZy23l2rL656klS1uQzdFCv6apyPJDYkw+CjwXRe507hL9ojr76EVJeZSpzzXiJzyya8/OwFJ/Nozeg/udPL79vLOWyP6IKZzby5gv4y12mrw6e8R2CkD6sp7mrucQ335HQJ5rfub7si3jmSjCC8Sjp89yJ8qVH+LbMyO7htpZpJBi/dONhEGQo/toc5FUMYvjjjgOZ3zco852NFVRK9q+erwjQs6pVgVSSZa8BiYoSgQdkGc2uwvsXRLlbMVEz+8KHZXVe9g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=W68HRD7zNmSLJJUVUEpCSaRfR7Cw/bNyEObnmDhsNNA=; b=uPHkkB6hVElsDjjVZWiBazZbovreFfMdAlt7npDN16SMCW/clrgmUbnBEx71AgtZMDm8HXB+yNth2GkSUgrJtBRr69gpyzDH3DDMFVVGLLm4Or4ZtPeREy31asPyJSBqwkR8Wgz6TM4lndjpswRkpbKJ561etenSnJg60F8FWmU= Authentication-Results: amd.com; dkim=none (message not signed) header.d=none;amd.com; dmarc=none action=none header.from=amd.com; Received: from SN6PR12MB2718.namprd12.prod.outlook.com (2603:10b6:805:6f::22) by SA0PR12MB4557.namprd12.prod.outlook.com (2603:10b6:806:9d::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4544.18; Fri, 24 Sep 2021 10:38:22 +0000 Received: from SN6PR12MB2718.namprd12.prod.outlook.com ([fe80::78b7:7336:d363:9be3]) by SN6PR12MB2718.namprd12.prod.outlook.com ([fe80::78b7:7336:d363:9be3%6]) with mapi id 15.20.4523.022; Fri, 24 Sep 2021 10:38:22 +0000 Subject: Re: [edk2-devel] [PATCH V7 1/1] OvmfPkg: Enable TDX in ResetVector To: "Yao, Jiewen" , Gerd Hoffmann , "devel@edk2.groups.io" Cc: "Xu, Min M" , Ard Biesheuvel , "Justen, Jordan L" , Erdem Aktas , James Bottomley , Tom Lendacky References: <12721dade1f2f9905cc34271d9abec24650442ff.1632214561.git.min.m.xu@intel.com> <20210922074929.e5iwf24t6wyndgbu@sirius.home.kraxel.org> <20210923084821.yxizus3loa2p6hms@sirius.home.kraxel.org> <7c9aeb95-5c33-bd8d-4f0c-40133f4c7c3d@amd.com> <20210924045416.3vb7qxcetgtdggbs@sirius.home.kraxel.org> <20210924093420.xu7kmfnygy4lx7um@sirius.home.kraxel.org> From: "Brijesh Singh" Message-ID: <694ad227-bf3b-fd37-716d-f715df8ab9ba@amd.com> Date: Fri, 24 Sep 2021 05:38:21 -0500 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0) Gecko/20100101 Thunderbird/78.14.0 In-Reply-To: X-ClientProxiedBy: SN7PR04CA0061.namprd04.prod.outlook.com (2603:10b6:806:121::6) To SN6PR12MB2718.namprd12.prod.outlook.com (2603:10b6:805:6f::22) Return-Path: brijesh.singh@amd.com MIME-Version: 1.0 Received: from Brijeshs-MacBook-Pro.local (70.112.153.56) by SN7PR04CA0061.namprd04.prod.outlook.com (2603:10b6:806:121::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4544.15 via Frontend Transport; Fri, 24 Sep 2021 10:38:21 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 364c054e-62c7-4bfa-e3ca-08d97f476e77 X-MS-TrafficTypeDiagnostic: SA0PR12MB4557: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:3968; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: bIui1vJGam2cYaLUv/3ISXXfHtkIcovvGiHXmD1ZOmsmVVJCc0tkoxdibUECKDvY/X/LlIQHUQ8aF1Kg5vVE2EpCL7lf0VlrvE0z3QJ8haztcPjOBUpix+NbIGuYEwBaI5ecCRxqoCyFUKM6pLYdgmBGM7P7+38MIQl+2Xxjd+BJ68BYUl+Zlk55kucuh3f5iATmaDQrlKnE73dJCVR7mgftkyYmhdKVDACwLLzyTPpYE3zvQCllzKCXoHWkowmxs9erv2EVyKZDMlhITaMIXOSVRDMP9LOQalozPramONGadHdtzNw/BP6wM/Z4E/hEDQXtKNkYyg6L6ID18sumpqQ2UgKgkgDYJuQw+6VKQfAM6jYStiDFx8mqrllV47hxS7F4ZasxuUOZeF/kPG5WPVIeFegtlxmrIvzT4FEPZA+9CS24p6CRRndnnYYSzgVOxDz4+4PPd6MdrM3GzdfC3tLhUbrv2rmPE9ZDZzJux9EiCz/PqeOz0DmjDT/VzgIdzWdaz/2vhOEUW4ZsLLUPlIFjUu7XIKIHVLZlEunkkkFZ4UeOjVg+p9kjyT1/LW//ejqXkWUNO3WjXOx97LVJHcHwCtyxC0T+iIJGAXtqrqKD/kQh0VL4In6SHET/CwhJwcSTRg7nvsmBmVmmWHpP535dCNsQwao2e5CYOlw7VonuKRQ9TfEXrC99Zg5jvIctHZiNb7BTFUFNZKrxzc4/OXJH+QKm58BJxBDUAxn7LsrzmHYKYyzm4tSdgNTvnNTnRUkBVuaukLCfZHyhi3/MIHF1VnWMM0QrI+AQIVIc3iNoRhvpeykku9WMHWmE+dXy0yP5gkq3T+5uv+a0wbkgS8YH5OhOx/q3YRhbzBNoL8NdfGIPv3QDQCH1GwJeWBX64PBcPe4/M1Ixu5nvFyQ6Nw== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR12MB2718.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(6512007)(6486002)(508600001)(186003)(38350700002)(44832011)(45080400002)(33964004)(38100700002)(52116002)(966005)(26005)(31696002)(54906003)(8936002)(53546011)(8676002)(6506007)(110136005)(66476007)(86362001)(2616005)(66946007)(66556008)(316002)(2906002)(4326008)(31686004)(36756003)(166002)(5660300002)(956004)(43740500002)(45980500001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?YnJ0V3hyYjdlZUlmRmNtRWs2Ung4VnNzQVhmYm1hU0RCMGQyZW9ZRkQ5Z3Aw?= =?utf-8?B?NlA0NHJDczRic2ZXM3FBN1kwVzdYRHQ0TWV3b0R5bGRJcVczaWhvd3hKMXoy?= =?utf-8?B?ekNCRFNTQVNEeS94N2l1RXFQR1dSWXJNMU1RSUYvbncybTdEODJGZGwxUVJO?= =?utf-8?B?SjBDY3F4K05ESVNuaW1NLzgvSFNZTjFuTVJWZnRDQkJKZkk2RCtVK0xSTVFi?= =?utf-8?B?eWJaTWp1WUhDTTBHMnB3SmNZb3d5ZVVZYTlYd2l2dDIwU1N2WVNkWjBMUy9t?= =?utf-8?B?WXZyOGN1SGlRbEJBK1J0MWFTR3A2UkNrMFYxU0YwR3hPMUVhOVlkR2hHa0M1?= =?utf-8?B?cy9EUXdKL3ZWeUxjU3EwQ3E5WWFjQkFDTXhSMFF4NEVYbU9EZldUcFpkOTBN?= =?utf-8?B?QXgxMTg4d1JsRllneEVWWTB1citET05NOWhRQ0xZZlN1TjAxT2NZeWN6R0Zp?= =?utf-8?B?R2U5ZW9sRWtSTnIvcjZscUFOcG1NblBrTUlIaDRCalBIODBDVk9tWU5aL1dW?= =?utf-8?B?YThQeHVQN3FlOEpCRDg1QW05cmZ4MlM2Mi94V0UzMTNtQzBOOFJCLzBTNGNY?= =?utf-8?B?WkhnNDFjMzJTVHo1WUpMdE1EbFljWWdmVkpYejRnclNjL2wvWU9NZ296eFJI?= =?utf-8?B?L3J2aHFMdlFRQkliVURCQ2h2OExJa2Z4em8wYjJweHJRU1UyWmw2dC9vdjdF?= =?utf-8?B?d09TOElhOXpmbG1yRjVJcElFbEJhZlNSR1NVQ0l5VmxxRVgwTmJCWmlJMDN1?= =?utf-8?B?KzVmZDFXNnp5UjYvVnFwU1ZJeGFXbndEeFdyZk85NnZlNkpDUzJTaDc1RmN3?= =?utf-8?B?UThUdE5SSXRQNk51Tit4c0RMWVJ0WHhvSjN2b1VIOVVDZFdiWitmVE5VR0hV?= =?utf-8?B?OUdvV05CUHN3TXJGaGo2WXJYaWtacGZOSXlRSHhDZlRIOXlHaXFDR29YQ0U1?= =?utf-8?B?ZTEwMURTNGJuQ1RBdTlKU2JHdEtZM0ZYdE1KVURxTW5mYmVJWHdnNDVKWmkx?= =?utf-8?B?c3NsQmJTeXMwYUx0QmlwZ0Y0L2tuRFFqZkJCSjFTRXVwQm04eTJ3cUlXU0d2?= =?utf-8?B?YnFhNnBNUVRKL3hBWGxJbFVTQzVjYVMvL3BESWJFQTRHd29ONUVMamExSzUx?= =?utf-8?B?Sm9KRWxzY2w2K0VLbXZ6VDNZbi91U0k1QnNOSG5QOGlNMUNIUHA0L1JSMVZF?= =?utf-8?B?OHNsS08wNUZQWjZkeUFFcy8wd25DQ1Ftc2oxcXhUL0xvdnRYRUtJRWhjaitm?= =?utf-8?B?alZNQTZqWktONGFWM2NGWjJIamdnTGoxL3NhM3hkYmVFc25BMW9yM3RZUUpq?= =?utf-8?B?RkNDOW0ybjg1VUJ5VEdUTHQ0MmNKeEZ2MzhjM2dBMi9EZEJITG52QlJ3SHNq?= =?utf-8?B?OE1FUXBveXozaWp1cHp6U2txcG5YQ3NGR09WV0U2eUZiWGJPOVJtTXV0TmxX?= =?utf-8?B?WHk0YjRVUkFNeUxqK0xZZkozbGxqc0c2SmloU0lGZkdZODduKzVoWnVoRFhJ?= =?utf-8?B?aUF2d2VUbi9lbHhqaVNKWFBxa25XbjlrT2YxM0ZpN1NXdm1VcmZUaXlIQkVE?= =?utf-8?B?UGdrWS8vUXVTdGhTb3Q2anpZY0NDd0RzQWIrVS9QNTYxRDNXd1VrbmNpNFB5?= =?utf-8?B?Qkduc0RhMkVDK2s3RUo1NS9HeXJZRXhoR1hGeDRFSTNGV3lTZHpzR04xMU5k?= =?utf-8?B?SFdMTzBpSVBsWDFRT2hFN0E4cTRQR1d6YkcxekR1TVU0b1NlSlQvQ2x6Skt5?= =?utf-8?Q?iw9HyYdhyixdvleSGE6lPNTRTkDeGgpDsGIoQyP?= X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: 364c054e-62c7-4bfa-e3ca-08d97f476e77 X-MS-Exchange-CrossTenant-AuthSource: SN6PR12MB2718.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Sep 2021 10:38:22.3231 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: n8Xkv75+u/C4rhCLPH+k93g99sMwUTh1XUAlNBeojl/2QdxSJOcogpyv6j7hHu/WiA3+wm37/8wJ/C8LHU1cUA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR12MB4557 Content-Type: multipart/alternative; boundary="------------50D4632B87FB62DE5D01B5EC" Content-Language: en-US --------------50D4632B87FB62DE5D01B5EC Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit On 9/24/21 5:11 AM, Yao, Jiewen wrote: > You are right. My statement for page table is wrong. Both TDX and SEV need them. > > That is NOT our original design. But I can understand why it is changed today. > > I compare https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Ftianocore%2Fedk2-staging%2Fblob%2FTDVF%2FOvmfPkg%2FResetVector%2FX64%2FTdxMetadata.asm&data=04%7C01%7Cbrijesh.singh%40amd.com%7Cc5ee156422614a843cf408d97f43bc9b%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637680751169724127%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=GI6%2BzLASgUtBT9kS%2B%2BVDfzLlImYhZJeETpNfDMIimAk%3D&reserved=0 and https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FAMDESE%2Fovmf%2Fblob%2Fsnp-v8%2FOvmfPkg%2FResetVector%2FX64%2FOvmfMetadata.asm&data=04%7C01%7Cbrijesh.singh%40amd.com%7Cc5ee156422614a843cf408d97f43bc9b%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637680751169724127%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=Dq2pLkdBsYXFbYM5nmy43yv4DWn7IDUceMpQg2%2F0jYo%3D&reserved=0. > > There are 8 entries in TDX, and 10 entries in SEV. > 2 of them are same, page table and TEMP RAM. > 6 entries are TDX unique. 8 entries are SEV unique. In the SEV patches you are seeing more sections because I tried to keep it in sync with the MEMFD [1] so that its much more readable. In TDX patches, Min decided to breakdown things a bit further and in some case skip sections. e.g  in TDX patches the SecPeiTempRamBase is broken into stack and heap section. [1] https://github.com/tianocore/edk2/blob/master/OvmfPkg/OvmfPkgX64.fdf#L63 thanks --------------50D4632B87FB62DE5D01B5EC Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: base64 PGh0bWw+PGhlYWQ+DQo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRl eHQvaHRtbDsgY2hhcnNldD11dGYtOCI+CiAgPC9oZWFkPgogIDxib2R5PgogICAgPHA+PGJyPgog ICAgPC9wPgogICAgPGRpdiBjbGFzcz0ibW96LWNpdGUtcHJlZml4Ij5PbiA5LzI0LzIxIDU6MTEg QU0sIFlhbywgSmlld2VuIHdyb3RlOjxicj4KICAgIDwvZGl2PgogICAgPGJsb2NrcXVvdGUgdHlw ZT0iY2l0ZSIgY2l0ZT0ibWlkOlBIMFBSMTFNQjQ4ODVEMzMxMTNEMTVERDdFMzExQjVCRDhDQTQ5 QFBIMFBSMTFNQjQ4ODUubmFtcHJkMTEucHJvZC5vdXRsb29rLmNvbSI+CiAgICAgIDxwcmUgY2xh c3M9Im1vei1xdW90ZS1wcmUiIHdyYXA9IiI+WW91IGFyZSByaWdodC4gTXkgc3RhdGVtZW50IGZv ciBwYWdlIHRhYmxlIGlzIHdyb25nLiBCb3RoIFREWCBhbmQgU0VWIG5lZWQgdGhlbS4KClRoYXQg aXMgTk9UIG91ciBvcmlnaW5hbCBkZXNpZ24uIEJ1dCBJIGNhbiB1bmRlcnN0YW5kIHdoeSBpdCBp cyBjaGFuZ2VkIHRvZGF5LgoKSSBjb21wYXJlIDxhIGNsYXNzPSJtb3otdHh0LWxpbmstZnJlZXRl eHQiIGhyZWY9Imh0dHBzOi8vbmFtMTEuc2FmZWxpbmtzLnByb3RlY3Rpb24ub3V0bG9vay5jb20v P3VybD1odHRwcyUzQSUyRiUyRmdpdGh1Yi5jb20lMkZ0aWFub2NvcmUlMkZlZGsyLXN0YWdpbmcl MkZibG9iJTJGVERWRiUyRk92bWZQa2clMkZSZXNldFZlY3RvciUyRlg2NCUyRlRkeE1ldGFkYXRh LmFzbSZhbXA7YW1wO2RhdGE9MDQlN0MwMSU3Q2JyaWplc2guc2luZ2glNDBhbWQuY29tJTdDYzVl ZTE1NjQyMjYxNGE4NDNjZjQwOGQ5N2Y0M2JjOWIlN0MzZGQ4OTYxZmU0ODg0ZTYwOGUxMWE4MmQ5 OTRlMTgzZCU3QzAlN0MwJTdDNjM3NjgwNzUxMTY5NzI0MTI3JTdDVW5rbm93biU3Q1RXRnBiR1pz YjNkOGV5SldJam9pTUM0d0xqQXdNREFpTENKUUlqb2lWMmx1TXpJaUxDSkJUaUk2SWsxaGFXd2lM Q0pYVkNJNk1uMCUzRCU3QzEwMDAmYW1wO2FtcDtzZGF0YT1HSTYlMkJ6TEFTZ1V0QlQ5a1MlMkIl MkJWRGZ6TGxJbVloWkplRVRwTmZETUlpbUFrJTNEJmFtcDthbXA7cmVzZXJ2ZWQ9MCI+aHR0cHM6 Ly9uYW0xMS5zYWZlbGlua3MucHJvdGVjdGlvbi5vdXRsb29rLmNvbS8/dXJsPWh0dHBzJTNBJTJG JTJGZ2l0aHViLmNvbSUyRnRpYW5vY29yZSUyRmVkazItc3RhZ2luZyUyRmJsb2IlMkZURFZGJTJG T3ZtZlBrZyUyRlJlc2V0VmVjdG9yJTJGWDY0JTJGVGR4TWV0YWRhdGEuYXNtJmFtcDthbXA7ZGF0 YT0wNCU3QzAxJTdDYnJpamVzaC5zaW5naCU0MGFtZC5jb20lN0NjNWVlMTU2NDIyNjE0YTg0M2Nm NDA4ZDk3ZjQzYmM5YiU3QzNkZDg5NjFmZTQ4ODRlNjA4ZTExYTgyZDk5NGUxODNkJTdDMCU3QzAl N0M2Mzc2ODA3NTExNjk3MjQxMjclN0NVbmtub3duJTdDVFdGcGJHWnNiM2Q4ZXlKV0lqb2lNQzR3 TGpBd01EQWlMQ0pRSWpvaVYybHVNeklpTENKQlRpSTZJazFoYVd3aUxDSlhWQ0k2TW4wJTNEJTdD MTAwMCZhbXA7YW1wO3NkYXRhPUdJNiUyQnpMQVNnVXRCVDlrUyUyQiUyQlZEZnpMbEltWWhaSmVF VHBOZkRNSWltQWslM0QmYW1wO2FtcDtyZXNlcnZlZD0wPC9hPiBhbmQgPGEgY2xhc3M9Im1vei10 eHQtbGluay1mcmVldGV4dCIgaHJlZj0iaHR0cHM6Ly9uYW0xMS5zYWZlbGlua3MucHJvdGVjdGlv bi5vdXRsb29rLmNvbS8/dXJsPWh0dHBzJTNBJTJGJTJGZ2l0aHViLmNvbSUyRkFNREVTRSUyRm92 bWYlMkZibG9iJTJGc25wLXY4JTJGT3ZtZlBrZyUyRlJlc2V0VmVjdG9yJTJGWDY0JTJGT3ZtZk1l dGFkYXRhLmFzbSZhbXA7YW1wO2RhdGE9MDQlN0MwMSU3Q2JyaWplc2guc2luZ2glNDBhbWQuY29t JTdDYzVlZTE1NjQyMjYxNGE4NDNjZjQwOGQ5N2Y0M2JjOWIlN0MzZGQ4OTYxZmU0ODg0ZTYwOGUx MWE4MmQ5OTRlMTgzZCU3QzAlN0MwJTdDNjM3NjgwNzUxMTY5NzI0MTI3JTdDVW5rbm93biU3Q1RX RnBiR1pzYjNkOGV5SldJam9pTUM0d0xqQXdNREFpTENKUUlqb2lWMmx1TXpJaUxDSkJUaUk2SWsx aGFXd2lMQ0pYVkNJNk1uMCUzRCU3QzEwMDAmYW1wO2FtcDtzZGF0YT1EcTJwTGtkQnNZWEZiWU01 bm15NDN5djREV243SURVY2VNcFFnMiUyRjBqWW8lM0QmYW1wO2FtcDtyZXNlcnZlZD0wIj5odHRw czovL25hbTExLnNhZmVsaW5rcy5wcm90ZWN0aW9uLm91dGxvb2suY29tLz91cmw9aHR0cHMlM0El MkYlMkZnaXRodWIuY29tJTJGQU1ERVNFJTJGb3ZtZiUyRmJsb2IlMkZzbnAtdjglMkZPdm1mUGtn JTJGUmVzZXRWZWN0b3IlMkZYNjQlMkZPdm1mTWV0YWRhdGEuYXNtJmFtcDthbXA7ZGF0YT0wNCU3 QzAxJTdDYnJpamVzaC5zaW5naCU0MGFtZC5jb20lN0NjNWVlMTU2NDIyNjE0YTg0M2NmNDA4ZDk3 ZjQzYmM5YiU3QzNkZDg5NjFmZTQ4ODRlNjA4ZTExYTgyZDk5NGUxODNkJTdDMCU3QzAlN0M2Mzc2 ODA3NTExNjk3MjQxMjclN0NVbmtub3duJTdDVFdGcGJHWnNiM2Q4ZXlKV0lqb2lNQzR3TGpBd01E QWlMQ0pRSWpvaVYybHVNeklpTENKQlRpSTZJazFoYVd3aUxDSlhWQ0k2TW4wJTNEJTdDMTAwMCZh bXA7YW1wO3NkYXRhPURxMnBMa2RCc1lYRmJZTTVubXk0M3l2NERXbjdJRFVjZU1wUWcyJTJGMGpZ byUzRCZhbXA7YW1wO3Jlc2VydmVkPTA8L2E+LgoKVGhlcmUgYXJlIDggZW50cmllcyBpbiBURFgs IGFuZCAxMCBlbnRyaWVzIGluIFNFVi4KMiBvZiB0aGVtIGFyZSBzYW1lLCBwYWdlIHRhYmxlIGFu ZCBURU1QIFJBTS4KNiBlbnRyaWVzIGFyZSBURFggdW5pcXVlLiA4IGVudHJpZXMgYXJlIFNFViB1 bmlxdWUuCjwvcHJlPgogICAgPC9ibG9ja3F1b3RlPgogICAgPHA+SW4gdGhlIFNFViBwYXRjaGVz IHlvdSBhcmUgc2VlaW5nIG1vcmUgc2VjdGlvbnMgYmVjYXVzZSBJIHRyaWVkCiAgICAgIHRvIGtl ZXAgaXQgaW4gc3luYyB3aXRoIHRoZSBNRU1GRCBbMV0gc28gdGhhdCBpdHMgbXVjaCBtb3JlCiAg ICAgIHJlYWRhYmxlLiBJbiBURFggcGF0Y2hlcywgTWluIGRlY2lkZWQgdG8gYnJlYWtkb3duIHRo aW5ncyBhIGJpdAogICAgICBmdXJ0aGVyIGFuZCBpbiBzb21lIGNhc2Ugc2tpcCBzZWN0aW9ucy4g ZS5nJm5ic3A7IGluIFREWCBwYXRjaGVzIHRoZQogICAgICBTZWNQZWlUZW1wUmFtQmFzZSBpcyBi cm9rZW4gaW50byBzdGFjayBhbmQgaGVhcCBzZWN0aW9uLjxzcGFuIHN0eWxlPSJjb2xvcjogcmdi KDM2LCA0MSwgNDcpOyBmb250LWZhbWlseTogdWktbW9ub3NwYWNlLCBTRk1vbm8tUmVndWxhciwg JnF1b3Q7U0YgTW9ubyZxdW90OywgTWVubG8sIENvbnNvbGFzLCAmcXVvdDtMaWJlcmF0aW9uIE1v bm8mcXVvdDssIG1vbm9zcGFjZTsgZm9udC1zaXplOiAxMnB4OyBmb250LXN0eWxlOiBub3JtYWw7 IGZvbnQtdmFyaWFudC1saWdhdHVyZXM6IG5vcm1hbDsgZm9udC12YXJpYW50LWNhcHM6IG5vcm1h bDsgZm9udC13ZWlnaHQ6IDQwMDsgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgb3JwaGFuczogMjsg dGV4dC1hbGlnbjogc3RhcnQ7IHRleHQtaW5kZW50OiAwcHg7IHRleHQtdHJhbnNmb3JtOiBub25l OyB3aGl0ZS1zcGFjZTogcHJlOyB3aWRvd3M6IDI7IHdvcmQtc3BhY2luZzogMHB4OyAtd2Via2l0 LXRleHQtc3Ryb2tlLXdpZHRoOiAwcHg7IGJhY2tncm91bmQtY29sb3I6IHJnYigyNTUsIDI1NSwg MjU1KTsgdGV4dC1kZWNvcmF0aW9uLXRoaWNrbmVzczogaW5pdGlhbDsgdGV4dC1kZWNvcmF0aW9u LXN0eWxlOiBpbml0aWFsOyB0ZXh0LWRlY29yYXRpb24tY29sb3I6IGluaXRpYWw7IGRpc3BsYXk6 IGlubGluZSAhaW1wb3J0YW50OyBmbG9hdDogbm9uZTsiPgo8L3NwYW4+PC9wPgogICAgPHA+WzFd CiAgICAgIDxhIGNsYXNzPSJtb3otdHh0LWxpbmstZnJlZXRleHQiIGhyZWY9Imh0dHBzOi8vZ2l0 aHViLmNvbS90aWFub2NvcmUvZWRrMi9ibG9iL21hc3Rlci9Pdm1mUGtnL092bWZQa2dYNjQuZmRm I0w2MyI+aHR0cHM6Ly9naXRodWIuY29tL3RpYW5vY29yZS9lZGsyL2Jsb2IvbWFzdGVyL092bWZQ a2cvT3ZtZlBrZ1g2NC5mZGYjTDYzPC9hPjxicj4KICAgIDwvcD4KICAgIDxwPjxicj4KICAgIDwv cD4KICAgIDxwPnRoYW5rczwvcD4KICAgIDxicj4KICA8L2JvZHk+CjwvaHRtbD4K --------------50D4632B87FB62DE5D01B5EC--