From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by mx.groups.io with SMTP id smtpd.web10.5596.1675852608904633212 for ; Wed, 08 Feb 2023 02:36:49 -0800 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=Z7afHT5F; spf=pass (domain: intel.com, ip: 134.134.136.126, mailfrom: yuanhao.xie@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1675852608; x=1707388608; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version; bh=6VgBoIE8qe5u1ZgWcIE65/EL+ijnPvRI09FRO9iBiXg=; b=Z7afHT5FrxQgEByRcs03Gxo3dnavjfkMtmHw+lH/OvZ7sC9m2H9TNL75 S0gB7BYdSl7aWknnv6Ot4EPWrlB0LkCyN6LqKcjoSvY44/FEg1THh6chs r1F8x8/jwX9BWd3ZdD7tQsQXw8GiSf5wS81TAOCEBsjVJmgIN9VQ+ZJBB kjvfPlL2cbQUhFfYFw0AzvL7/Va5yyxG8YbKDB6V+RYaFywypplOeeypA g8BPv9S+axemqTIBQFlfQ4rwyQtxgcnTDZ0fC4LMsSASnLi8FL9iMnorH LrumKzOa8jq0ArJzRllzxgka8YdT7PMna7aJyzugd/fa9VjZi2wG+YZ2i g==; X-IronPort-AV: E=McAfee;i="6500,9779,10614"; a="313404370" X-IronPort-AV: E=Sophos;i="5.97,280,1669104000"; d="scan'208,217";a="313404370" Received: from orsmga006.jf.intel.com ([10.7.209.51]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Feb 2023 02:36:46 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10614"; a="644818462" X-IronPort-AV: E=Sophos;i="5.97,280,1669104000"; d="scan'208,217";a="644818462" Received: from fmsmsx603.amr.corp.intel.com ([10.18.126.83]) by orsmga006.jf.intel.com with ESMTP; 08 Feb 2023 02:36:46 -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; Wed, 8 Feb 2023 02:36:45 -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; Wed, 8 Feb 2023 02:36:45 -0800 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (104.47.56.174) 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; Wed, 8 Feb 2023 02:36:45 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=gUPRgfZpur5j8yjAYOkxaSDAuDPdFzi3jP8dcfTW51dwhQTGRWreqsnrq/XzZvk13r6Ub/6xThvabuKggO8/tVd0rir2ILtVRWx86kcuSjQ4Xpa8GJy14V/KBJI5nr8/INscOdP6IfyQMvKqKmc/ryPIiu0BxENKSYI2S5SYixdMz5HhV+t1wi9tWwYmj6tw9EHsqVUqli/Brm3X0RSDR0+XVOwDKJB4m3krqAQD6nfoARUR4NmBsX+kHzFvq1+riiePGDaBhCZaQkB7h+bAcMYdwZtNHe8qz21M7gqRIOSKCEYhwFgdcbDxlTkFqPDlyfVWiiCUPjAsPuaeUL9WJQ== 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=6VgBoIE8qe5u1ZgWcIE65/EL+ijnPvRI09FRO9iBiXg=; b=ePmkxt5QstaA6GJptaaY4g6Pfjvp2SD4YORdce5ITq42K9xQ1tK2RIusY/4b4b+kfBVw2y03J3GppjWoFXROvHV9ueXXYdt84xZ8JPzfCXZXmROh/kLg4Z12LvELwzwoLcl6FtK/UM+fY+eKNG3hC9zb60YYXE+2tntaUAHJ3W8XtGCpv1Ek/1aOQbrowv7W+2CqPVkIUMCKdPBjxU8AIThLCcTm3SkvKLQpp4gugjTYf38XBfYRs+qeFiWeQzwq2bl1ISbPC26tNAWEbLRmxqcnyyzmbsE1KKvXJ+AUFb5LXIMQwzh2p/a/ivAICt+efBXDbtDRUAdi5SrTB4zsCA== 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 CO1PR11MB5026.namprd11.prod.outlook.com (2603:10b6:303:9c::13) by CY5PR11MB6343.namprd11.prod.outlook.com (2603:10b6:930:3c::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6064.34; Wed, 8 Feb 2023 10:36:43 +0000 Received: from CO1PR11MB5026.namprd11.prod.outlook.com ([fe80::5233:d7c6:4aeb:5caa]) by CO1PR11MB5026.namprd11.prod.outlook.com ([fe80::5233:d7c6:4aeb:5caa%5]) with mapi id 15.20.6086.017; Wed, 8 Feb 2023 10:36:43 +0000 From: "Yuanhao Xie" To: =?utf-8?B?TWFydmluIEjDpHVzZXI=?= CC: "devel@edk2.groups.io" Subject: Re: [edk2-devel] [PATCH 2/5] UefiCpuPkg: Contiguous memory allocation and code clean-up. Thread-Topic: [edk2-devel] [PATCH 2/5] UefiCpuPkg: Contiguous memory allocation and code clean-up. Thread-Index: AQHZOxLzlCxHJz6eFUSg2RFe+/Y1F67E0qAw Date: Wed, 8 Feb 2023 10:36:43 +0000 Message-ID: References: <20230207134939.273-3-yuanhao.xie@intel.com> <32073.1675788041796635561@groups.io> In-Reply-To: <32073.1675788041796635561@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: CO1PR11MB5026:EE_|CY5PR11MB6343:EE_ x-ms-office365-filtering-correlation-id: 220e9dae-0871-4f08-17a4-08db09c05ee0 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: rO8BUKExaNlvkU2DtLwdBevYK2K9i/aTp1XOADx/Yo3uUJpTfCqaOzG2HwvG8iJhY18xoUiDhfudYZa+cwMJdb4hStxEVCU/Lh2xGt/f9TaSf8JlDJzaOsv/+9DC6xOjR2VmzLkTvN2A0adRwQobwaL3mABNW21ZJLs7vdplrFqcAHHOEDwf1u8VHIxKvjpo/PXl5UzrCn8er5UFzrJA2mmty9onj3mL6XE8/DwRZLJ0Iva+EXQ1ZiMhLydfyQMAZdDbJbyk3crvxB4Yro6zpuy1jbo898cZHLZV+kW8LxZ8xKNYGdxfmpBCd6qnLZ2w6+M7rgFhS5PnP2nOl+fSw0f8keWDD5trpSCJRNJ6y0oahAkC+Tb4O4dmCeJq/GayIIdy6ZeRK5OCIopvL+o/nAu3fz6Zhii3mXegmNcPWs9sMDa2VgGWrYNeIdlHy45IGbaJYfsaNE8y+WUb4vUhqhea/ZIIsNZ8lVY4vIjc0fyBY7uAih379cT76SPmOQN54pytsUT+DYDZrfD7kxDBNrPQuVoCP2H7eywDfaHG6pQ8S+ayjQvy+9ezKZR/2oyPU2Jyni47FOhtSE6iQZ7fqjy0jvDpSsOQPzcvNkuNTDtzxKQ5iVCefFOKarNSs/a12RT2DMHRX64Nyd1JOsDdP1AY/l4H4MCI6Mnd7ye28cIuUKg+SLHZMFKVs6Lpxb9sRIHbp10qgBs/jl2Res+zSQ== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO1PR11MB5026.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(346002)(366004)(136003)(396003)(39860400002)(376002)(451199018)(316002)(33656002)(66574015)(7696005)(71200400001)(9686003)(26005)(186003)(53546011)(6506007)(478600001)(9326002)(52536014)(8936002)(82960400001)(2906002)(38100700002)(86362001)(38070700005)(5660300002)(66946007)(76116006)(66556008)(55016003)(66446008)(66476007)(122000001)(41300700001)(8676002)(64756008)(4326008)(6916009);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?Yk9YWFpkRlJTNlRMc3hjRURDaHVNQWNUcVQ5VDRpckNpSkdOTkp0RFRBWjZs?= =?utf-8?B?M0F6Z1JxTE5HZXgyck52WEgybXpveTU1aWNMZ09jWHEvMytHSmRHTjZNQXVG?= =?utf-8?B?UmJVR2cwSmZrVytheUpjdVhVUmFTZ0pjVGtvc2plb0lOcDd1OXBZNlQwblZM?= =?utf-8?B?UjRHeVgxR1FqR0gxUEI0THVWUmVvUmh2MW43R0NJdThKK3NsL1Y0VjlvTWpL?= =?utf-8?B?c25XWjJ6ckEvN3dCNWN1b01wRU1jWDhqYWpWd2c2Uks4K1RTWUYxb2R4ZzAw?= =?utf-8?B?cGt0VTJQaytSMHRoeEdkdzRabElmOWdMNlAyTVRrczVQc0JtQWxRRzBKT3Uz?= =?utf-8?B?blN5M1AybUpJVU1rRi9NUHhlTmM2V05DRDNnaTliQlkxVWlCQWlnTXFDbUp6?= =?utf-8?B?b3BGY1hKUENHOERsOVBFNnNWZ0tGUkl4WmNFT2RKYmJXNjhmRE1yNFB3SHVs?= =?utf-8?B?N2VYTzVHemduUzg4cVAvUXZBNEJLdFVGUHVZNHVuTzNSTXFRWEhQVWE4RjFu?= =?utf-8?B?ZnFhaXN5UlNjcm9zSzJtcmVWS01POXYxd2tXWDAzdTVoQ0RPL2E1bkN6aERK?= =?utf-8?B?MGd0YWpEV3F2OWg2T1dUVUJVQ09ycyswZmptL2s4TzdEZWpUWmZKNCtySWt3?= =?utf-8?B?YUw0Tk1GZVdTL1FtSTkrSU9vUjgyazhNcDBUS0laYnhmSFNMbWZmbHlpZmIz?= =?utf-8?B?QTloL3ZkODUzQ1NabkorOW1wRnA5TnBha3dVNFpDRlNVSHFWR1VCeS9OMWN5?= =?utf-8?B?aEozNW8yNzhKNWJURTAwQ3RFdkU4d0pkRDBxS3ZrVVlMcHpZZWw0K3p5TTl1?= =?utf-8?B?QXRGcGJtSmN2cURLcjI0QU92SmM5Nk8xQms3SzRNQjFvdlZYSVhpTnBEc2pB?= =?utf-8?B?YmNWVUt3S3poNXNFdlFlQWJwcFJJNVZWSEVBK0thb3o4ZDNadEpVajJkR3V6?= =?utf-8?B?K3dtSWw3MzVSTXlha0ZPVDEwQlY4M3dweEErdlIyTU1GNkJ0ZGZodWFyZUc0?= =?utf-8?B?YWlzN2VSN1BHWW1nWFgxV2E5SHZaaDZ1U0tzTDlZQk5vSWYzdGdxQUZCQlhH?= =?utf-8?B?VHMyaGVhWTZ2dXpVN29oTlJtWHpua1A1UUNuNmJ5d3h5bGp2WjdTMzVJUUlO?= =?utf-8?B?OU83amJQTmRzQ0g1bUo1ejEyS2hCNnlSUlQ2Ry9pSzNsNmY0VXdRMnNEVENB?= =?utf-8?B?dzhlVlVBQnVjOUpFUGpDQUR5NFRTK0UySE1tOC90V3RMZk5CVUlzS0hyK2pE?= =?utf-8?B?dHhnOXpiOHVZcWR1QlZhSHZtZ2xQSzFJT0dDVXFZSytDZXpRbDN2TE4yZ3Zm?= =?utf-8?B?VjJIWXB5YklMdEtBdHRpZ3grZzFHWG9id3lHcENFeTFDTHRxM01kN3lPMjdQ?= =?utf-8?B?Y052UVR1QjZoaEVxSUYzQy9KQzUrNVpxV1k5Kytqcy9Kd3FBRUhaSmNTaWNu?= =?utf-8?B?T1dEQ0ZIUlNmTjd0L1dycDRUaFk4ZUlPaWZUYjMxd1dpcFBYaXZDa1V6eGxM?= =?utf-8?B?ZWgxM1FjOFNCUEFGTnBoUzZSY2ZnSC96N3Nic2NpNjNpakoxa0N6M0NGSlhw?= =?utf-8?B?ZTJ5NEg0VG03Rm1IaDFPb2swM3hpRkI0NSt5UTdra21qZmxQM2hjdXJhdy90?= =?utf-8?B?MFNzcXZPdzhUeUM0TGdLM2xyYyt3M3RCem1pSmFyQ3FBVERvYjBYVUpET1hD?= =?utf-8?B?ZDMrTFhiOThaUHRDY0o3OW1iWXNleGhwUXEwSzNaU0YzOFE0VHl0RnZYQ3Bt?= =?utf-8?B?S2N5SmhuUXNUbG9HWDNFNEQvZFNmYktKbDJXaXRCYTZWZXRhVnRBQURPdDda?= =?utf-8?B?dnJ2T3NFTFFBSXl1bXpEaHBwQ3o4QlNOZlhMU1l0eGNCbjJaMW0yYmhsQ0R0?= =?utf-8?B?SXViT0RkNzBJQjlVRkQvRXB6Z3crWk0xdEt6dFZFbGxPRFpCTlFJR1RDY09U?= =?utf-8?B?TlNTZlVrS2NKOWlVRmprV2NCcXNMVHR1aXRXZVNoTXUyeVlJU0EzdFNCbVp2?= =?utf-8?B?YUtvcFhxRUhXSmxrV05ZelNTNlJTdWFpUlJqbjNhVjhiNFJjMDlZeUJrcy81?= =?utf-8?B?czJHbkdJR1J6TkNseTM0TGM1Zm8yYmtPWHNaNkI1bEdQdUFiV2JkakVJVURz?= =?utf-8?Q?mJ0tt8vVoJ4OLRkbSGFpx0eAi?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CO1PR11MB5026.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 220e9dae-0871-4f08-17a4-08db09c05ee0 X-MS-Exchange-CrossTenant-originalarrivaltime: 08 Feb 2023 10:36:43.2859 (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: hxtok/GarKSDnx0NuKZnS1rQzWu4oQLi63GyZkrc+KCYRrczDjz2kj0eGmtmI//mALRIonis+KDMFJsebB32PA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR11MB6343 Return-Path: yuanhao.xie@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: multipart/alternative; boundary="_000_CO1PR11MB50267B397BED709ECCBB6E52F0D89CO1PR11MB5026namp_" --_000_CO1PR11MB50267B397BED709ECCBB6E52F0D89CO1PR11MB5026namp_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGkgTWFydmluLA0KDQpUaGFua3MgZm9yIHRoZSBmZWVkYmFja3MuDQpUaGUgY29ycmVjdGVkIGlt cGxlbWVudGF0aW9uIGlzIGluIHBhdGNoIDUuDQpUaGUgc3RhY2tzIGFyZSBsb2NhdGVkIGhpZ2gg YW5kIHRoZSBmdW5jdGlvbiBpcyBsb2NhdGVkIGxvdy4gV2l0aCBwYWRkaW5nLCBpdCBlbnN1cmVz IHBhZ2UgYWxpZ25tZW50Lg0KSSdsbCByZXNlbmQgdGhlIHBhdGNoIHRvIG1ha2Ugc3VyZSB0aGUg Y2hhbmdlcyBhcmUgaW5jbHVkZWQgaW4gcGF0Y2ggMi4NCg0KQmVzdCBSZWdhcmRzLA0KWXVhbmhh bw0KDQoNCkZyb206IE1hcnZpbiBIw6R1c2VyIDxtaGFldXNlckBwb3N0ZW8uZGU+DQpTZW50OiBX ZWRuZXNkYXksIEZlYnJ1YXJ5IDgsIDIwMjMgMTI6NDEgQU0NClRvOiBYaWUsIFl1YW5oYW8gPHl1 YW5oYW8ueGllQGludGVsLmNvbT47IGRldmVsQGVkazIuZ3JvdXBzLmlvDQpTdWJqZWN0OiBSZTog W2VkazItZGV2ZWxdIFtQQVRDSCAyLzVdIFVlZmlDcHVQa2c6IENvbnRpZ3VvdXMgbWVtb3J5IGFs bG9jYXRpb24gYW5kIGNvZGUgY2xlYW4tdXAuDQoNCkhpIFl1YW5oYW8sDQoNCjEpIFRoZSBjb2Rl IGNvbW1lbnRzIGFuZCBjb3B5IGNvZGUgc3VnZ2VzdCB0aGF0IHRoZSBzdGFja3MgYXJlIGxvY2F0 ZWQgbG93IGFuZCB0aGUgZnVuY3Rpb24gaXMgbG9jYXRlZCBoaWdoIChnb29kKS4gSG93ZXZlciwg dGhlIFNldE1lbW9yeVNwYWNlQXR0cmlidXRlcygpIGNhbGwgdW4tWFAncyBBZGRyZXNzLCB3aGlj aCBpcyB0aGUgbG93IGFkZHJlc3MuIFNvLCBkbyBJIG1pc3VuZGVyc3RhbmQgdGhlIGNoYW5nZXMs IG9yIGFyZSB5b3UgdW4tWFAnaW5nIHRoZSBmaXJzdCBzdGFjayAoYW5kIGtlZXAgdGhlIGZ1bmN0 aW9uIFhQJ2QpPw0KDQoyKSBUaGUgc2FtZSBTZXRNZW1vcnlTcGFjZUF0dHJpYnV0ZXMoKSBjYWxs LCB5b3Ugbm93IHBhc3MgQXBMb29wRnVuY1NpemUgb3ZlciBBcFNhZmVCdWZmZXJTaXplLiBUaGUg bGF0dGVyIHdhcyBleHBsaWNpdGx5IHBhZ2UtYWxpZ25lZCwgd2hpbGUgdGhlIGZvcm1lciBpcyBu b3QuIEhvdyBpcyBpdCBndWFyYW50ZWVkIGl0IGlzIGluZGVlZCBhbGlnbmVkPyBJZiBpdCBpcyBu b3QsIEkgZG9uJ3QgdGhpbmsgdGhpcyBpcyBzdXBwb3J0ZWQsIGF0IGxlYXN0IHVuaXZlcnNhbGx5 Lg0KDQozKSBTaW1pbGFyIHRvIDIpLCB0aGUgc3RhY2sgc2l6ZSBpcyBtdWNoIHNtYWxsZXIgdGhh biB0aGUgcGFnZSBzaXplLCBubz8gSG93IGRvIHlvdSBndWFyYW50ZWUgdGhlIGZ1bmN0aW9uIGlz IG9uIGEgcGFnZSBib3VuZGFyeSBmb3IgbWVtb3J5IHByb3RlY3Rpb24/DQoNCjQpIEEgcHJvcGVy IFdeWCBmbG93IHNob3VsZCBiZSB0byB3YWl0IHdpdGggdW4tWFAgdGlsbCB0aGUgQ29weU1lbSgp IGZvciB0aGUgZnVuY3Rpb24gY29kZSBoYXMgcmV0dXJuZWQuIFJpZ2h0IGJlZm9yZSB0aGF0LCB0 aGUgY29waWVkIGNvZGUgc2hvdWxkIGJlIG1hcmtlZCByZWFkLW9ubHkuDQoNCkJlc3QgcmVnYXJk cywNCk1hcnZpbg0K --_000_CO1PR11MB50267B397BED709ECCBB6E52F0D89CO1PR11MB5026namp_ Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: base64 PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiIHhtbG5zOm89InVy bjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIgeG1sbnM6dz0idXJuOnNjaGVt YXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6d29yZCIgeG1sbnM6bT0iaHR0cDovL3NjaGVtYXMubWlj cm9zb2Z0LmNvbS9vZmZpY2UvMjAwNC8xMi9vbW1sIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv VFIvUkVDLWh0bWw0MCI+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIg Y29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjxtZXRhIG5hbWU9IkdlbmVyYXRv ciIgY29udGVudD0iTWljcm9zb2Z0IFdvcmQgMTUgKGZpbHRlcmVkIG1lZGl1bSkiPg0KPHN0eWxl PjwhLS0NCi8qIEZvbnQgRGVmaW5pdGlvbnMgKi8NCkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6 IkNhbWJyaWEgTWF0aCI7DQoJcGFub3NlLTE6MiA0IDUgMyA1IDQgNiAzIDIgNDt9DQpAZm9udC1m YWNlDQoJe2ZvbnQtZmFtaWx5OkRlbmdYaWFuOw0KCXBhbm9zZS0xOjIgMSA2IDAgMyAxIDEgMSAx IDE7fQ0KQGZvbnQtZmFjZQ0KCXtmb250LWZhbWlseTpDYWxpYnJpOw0KCXBhbm9zZS0xOjIgMTUg NSAyIDIgMiA0IDMgMiA0O30NCkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6IlxARGVuZ1hpYW4i Ow0KCXBhbm9zZS0xOjIgMSA2IDAgMyAxIDEgMSAxIDE7fQ0KLyogU3R5bGUgRGVmaW5pdGlvbnMg Ki8NCnAuTXNvTm9ybWFsLCBsaS5Nc29Ob3JtYWwsIGRpdi5Nc29Ob3JtYWwNCgl7bWFyZ2luOjBp bjsNCglmb250LXNpemU6MTEuMHB0Ow0KCWZvbnQtZmFtaWx5OiJDYWxpYnJpIixzYW5zLXNlcmlm O30NCnNwYW4uRW1haWxTdHlsZTE4DQoJe21zby1zdHlsZS10eXBlOnBlcnNvbmFsLXJlcGx5Ow0K CWZvbnQtZmFtaWx5OiJDYWxpYnJpIixzYW5zLXNlcmlmOw0KCWNvbG9yOndpbmRvd3RleHQ7fQ0K Lk1zb0NocERlZmF1bHQNCgl7bXNvLXN0eWxlLXR5cGU6ZXhwb3J0LW9ubHk7DQoJZm9udC1mYW1p bHk6IkNhbGlicmkiLHNhbnMtc2VyaWY7fQ0KQHBhZ2UgV29yZFNlY3Rpb24xDQoJe3NpemU6OC41 aW4gMTEuMGluOw0KCW1hcmdpbjoxLjBpbiAxLjBpbiAxLjBpbiAxLjBpbjt9DQpkaXYuV29yZFNl Y3Rpb24xDQoJe3BhZ2U6V29yZFNlY3Rpb24xO30NCi0tPjwvc3R5bGU+PCEtLVtpZiBndGUgbXNv IDldPjx4bWw+DQo8bzpzaGFwZWRlZmF1bHRzIHY6ZXh0PSJlZGl0IiBzcGlkbWF4PSIxMDI2IiAv Pg0KPC94bWw+PCFbZW5kaWZdLS0+PCEtLVtpZiBndGUgbXNvIDldPjx4bWw+DQo8bzpzaGFwZWxh eW91dCB2OmV4dD0iZWRpdCI+DQo8bzppZG1hcCB2OmV4dD0iZWRpdCIgZGF0YT0iMSIgLz4NCjwv bzpzaGFwZWxheW91dD48L3htbD48IVtlbmRpZl0tLT4NCjwvaGVhZD4NCjxib2R5IGxhbmc9IkVO LVVTIiBsaW5rPSIjMDU2M0MxIiB2bGluaz0iIzk1NEY3MiIgc3R5bGU9IndvcmQtd3JhcDpicmVh ay13b3JkIj4NCjxkaXYgY2xhc3M9IldvcmRTZWN0aW9uMSI+DQo8cCBjbGFzcz0iTXNvTm9ybWFs Ij5IaSBNYXJ2aW4sPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZu YnNwOzwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPlRoYW5rcyBmb3IgdGhlIGZlZWRi YWNrcy48bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPlRoZSBjb3JyZWN0ZWQg aW1wbGVtZW50YXRpb24gaXMgaW4gcGF0Y2ggNS48bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJN c29Ob3JtYWwiPlRoZSBzdGFja3MgYXJlIGxvY2F0ZWQgaGlnaCBhbmQgdGhlIGZ1bmN0aW9uIGlz IGxvY2F0ZWQgbG93LiBXaXRoIHBhZGRpbmcsIGl0IGVuc3VyZXMgcGFnZSBhbGlnbm1lbnQuPG86 cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5JJ2xsIHJlc2VuZCB0aGUgcGF0Y2gg dG8gbWFrZSBzdXJlIHRoZSBjaGFuZ2VzIGFyZSBpbmNsdWRlZCBpbiBwYXRjaCAyLjxvOnA+PC9v OnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8cCBj bGFzcz0iTXNvTm9ybWFsIj5CZXN0IFJlZ2FyZHMsPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0i TXNvTm9ybWFsIj5ZdWFuaGFvPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48 bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9v OnA+PC9wPg0KPGRpdiBzdHlsZT0iYm9yZGVyOm5vbmU7Ym9yZGVyLXRvcDpzb2xpZCAjRTFFMUUx IDEuMHB0O3BhZGRpbmc6My4wcHQgMGluIDBpbiAwaW4iPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+ PGI+RnJvbTo8L2I+IE1hcnZpbiBIw6R1c2VyICZsdDttaGFldXNlckBwb3N0ZW8uZGUmZ3Q7IDxi cj4NCjxiPlNlbnQ6PC9iPiBXZWRuZXNkYXksIEZlYnJ1YXJ5IDgsIDIwMjMgMTI6NDEgQU08YnI+ DQo8Yj5Ubzo8L2I+IFhpZSwgWXVhbmhhbyAmbHQ7eXVhbmhhby54aWVAaW50ZWwuY29tJmd0Ozsg ZGV2ZWxAZWRrMi5ncm91cHMuaW88YnI+DQo8Yj5TdWJqZWN0OjwvYj4gUmU6IFtlZGsyLWRldmVs XSBbUEFUQ0ggMi81XSBVZWZpQ3B1UGtnOiBDb250aWd1b3VzIG1lbW9yeSBhbGxvY2F0aW9uIGFu ZCBjb2RlIGNsZWFuLXVwLjxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8cCBjbGFzcz0iTXNvTm9y bWFsIj48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPkhpJm5ic3A7 WXVhbmhhbyw8YnI+DQo8YnI+DQoxKSBUaGUgY29kZSBjb21tZW50cyBhbmQgY29weSBjb2RlIHN1 Z2dlc3QgdGhhdCB0aGUgc3RhY2tzIGFyZSBsb2NhdGVkIGxvdyBhbmQgdGhlIGZ1bmN0aW9uIGlz IGxvY2F0ZWQgaGlnaCAoZ29vZCkuIEhvd2V2ZXIsIHRoZSZuYnNwO1NldE1lbW9yeVNwYWNlQXR0 cmlidXRlcygpIGNhbGwgdW4tWFAncyBBZGRyZXNzLCB3aGljaCBpcyB0aGUgbG93IGFkZHJlc3Mu IFNvLCBkbyBJIG1pc3VuZGVyc3RhbmQgdGhlIGNoYW5nZXMsIG9yIGFyZSB5b3UgdW4tWFAnaW5n DQogdGhlIGZpcnN0IHN0YWNrIChhbmQga2VlcCB0aGUgZnVuY3Rpb24gWFAnZCk/PGJyPg0KPGJy Pg0KMikgVGhlIHNhbWUgU2V0TWVtb3J5U3BhY2VBdHRyaWJ1dGVzKCkgY2FsbCwgeW91IG5vdyBw YXNzIEFwTG9vcEZ1bmNTaXplIG92ZXIgQXBTYWZlQnVmZmVyU2l6ZS4gVGhlIGxhdHRlciB3YXMg ZXhwbGljaXRseSBwYWdlLWFsaWduZWQsIHdoaWxlIHRoZSBmb3JtZXIgaXMgbm90LiBIb3cgaXMg aXQgZ3VhcmFudGVlZCBpdCBpcyBpbmRlZWQgYWxpZ25lZD8gSWYgaXQgaXMgbm90LCBJIGRvbid0 IHRoaW5rIHRoaXMgaXMgc3VwcG9ydGVkLCBhdCBsZWFzdA0KIHVuaXZlcnNhbGx5Ljxicj4NCjxi cj4NCjMpIFNpbWlsYXIgdG8gMiksIHRoZSBzdGFjayBzaXplIGlzIG11Y2ggc21hbGxlciB0aGFu IHRoZSBwYWdlIHNpemUsIG5vPyBIb3cgZG8geW91IGd1YXJhbnRlZSB0aGUgZnVuY3Rpb24gaXMg b24gYSBwYWdlIGJvdW5kYXJ5IGZvciBtZW1vcnkgcHJvdGVjdGlvbj88YnI+DQo8YnI+DQo0KSBB IHByb3BlciBXXlggZmxvdyBzaG91bGQgYmUgdG8gd2FpdCB3aXRoIHVuLVhQIHRpbGwgdGhlIENv cHlNZW0oKSBmb3IgdGhlIGZ1bmN0aW9uIGNvZGUgaGFzIHJldHVybmVkLiBSaWdodCBiZWZvcmUg dGhhdCwgdGhlIGNvcGllZCBjb2RlIHNob3VsZCBiZSBtYXJrZWQgcmVhZC1vbmx5Ljxicj4NCjxi cj4NCkJlc3QgcmVnYXJkcyw8YnI+DQpNYXJ2aW4gPG86cD48L286cD48L3A+DQo8L2Rpdj4NCjwv Ym9keT4NCjwvaHRtbD4NCg== --_000_CO1PR11MB50267B397BED709ECCBB6E52F0D89CO1PR11MB5026namp_--