From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by mx.groups.io with SMTP id smtpd.web09.8531.1631199110481443208 for ; Thu, 09 Sep 2021 07:51:50 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=V2w+WqGz; spf=pass (domain: intel.com, ip: 134.134.136.100, mailfrom: ray.ni@intel.com) X-IronPort-AV: E=McAfee;i="6200,9189,10101"; a="284512978" X-IronPort-AV: E=Sophos;i="5.85,280,1624345200"; d="scan'208";a="284512978" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Sep 2021 07:51:49 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.85,280,1624345200"; d="scan'208";a="539661017" Received: from orsmsx604.amr.corp.intel.com ([10.22.229.17]) by FMSMGA003.fm.intel.com with ESMTP; 09 Sep 2021 07:51:49 -0700 Received: from orsmsx604.amr.corp.intel.com (10.22.229.17) by ORSMSX604.amr.corp.intel.com (10.22.229.17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12; Thu, 9 Sep 2021 07:51:48 -0700 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by orsmsx604.amr.corp.intel.com (10.22.229.17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12 via Frontend Transport; Thu, 9 Sep 2021 07:51:48 -0700 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (104.47.55.174) by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2242.12; Thu, 9 Sep 2021 07:51:48 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=UeRKhP/f5iiz0fcz3obX8/ZuMeZjxvFYW9Bxpi5Bx1b8UssIvr74a/tzPKolSly2RkvYwTZaXG0NBkjLNKZCWt9/JT5Pbjv5NJQfkZrmvHchs1eW/RLH0XvReuZPv4DnWZVUD1nv1cveDWDTn9UO+pRKilArI1h6Qiax/CijYtcjk+j07QnejVOVTcNEHB198XldseeV10z/bxdeq/PxqXJbv+B9/As3E7pxi3UMHZYn6RS196dgOArhitJjKi3MGauoRiizX4hJUKDbudKKUTL7iHC1pqeiZVyWaWCT2/+5D7CMxQ7BalFXZtn3VNu5Ukg2S7bNDIC2RjYLctPy5Q== 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=gH4WcXN2qkWBWq5FED3UTTbajMbjPAhweeOx13dtqTs=; b=eThEIM0hkMTC8GCunvrYXJs+KzvGsfyM9yOqttsHqRbU1qebCYlU4hoDOpEfbDXoKv+mxiRrdTaHeapQW+ixSirGNgYfNV7OcBpK9hgPgrRu/Cb7TUE17TjipbSBoj/pfhTcL9+9V7LDAVr3+8cboVKxjZqzeSI0004d2QBkPOF2mvSyWZzbyn4UoCYmkyv5HTTrkJOPuk2EpsJay6VeeobPe/Qc/RtQ+WkDdGFmmroRgYvrUJXFzSM5uWqTkzY9kzUhoNilMJmp11MKKR+UHlL+5p0/nQOQSLMusP0exyNyo8i2DZ7tMX+rOJzv8YezOLsjOJPvrqF2G9s0P+5O9Q== 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=gH4WcXN2qkWBWq5FED3UTTbajMbjPAhweeOx13dtqTs=; b=V2w+WqGzXkLK6Z+jqSP+tQ88HLDd1x70ZdGXT/0r9LEYRi8cZEOGD+N5AxehmdwhvrhVVlo6wfiy/q6d4Drhxo0Z/vmVXzG5o63LOvMI9yghnOZzIKWUrS6LDkyjU1jjn21/VG7mjlHCPMxwG0cYTyLeOmsst9ojOd0GEh5IeZo= Received: from CO1PR11MB4930.namprd11.prod.outlook.com (2603:10b6:303:9b::11) by CO1PR11MB5043.namprd11.prod.outlook.com (2603:10b6:303:96::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4500.15; Thu, 9 Sep 2021 14:51:46 +0000 Received: from CO1PR11MB4930.namprd11.prod.outlook.com ([fe80::50ce:c9a3:ab37:9fac]) by CO1PR11MB4930.namprd11.prod.outlook.com ([fe80::50ce:c9a3:ab37:9fac%9]) with mapi id 15.20.4500.016; Thu, 9 Sep 2021 14:51:46 +0000 From: "Ni, Ray" To: "devel@edk2.groups.io" , "mikuback@linux.microsoft.com" , "Yao, Jiewen" , "Chaganty, Rangasai V" Subject: Re: [edk2-devel] [edk2-platforms][PATCH v1 1/1] IntelSiliconPkg/PeiSmmAccessLib: Remove S3 requirement Thread-Topic: [edk2-devel] [edk2-platforms][PATCH v1 1/1] IntelSiliconPkg/PeiSmmAccessLib: Remove S3 requirement Thread-Index: AQHXjSQn8KjI+iTiQ06ihTX377ndNKtrxnaAgAAyitCAAOelgIACdyDwgApQrYCAAHmKgIAAg6qwgABMqYCAAFjUAIAAzvNggB/UPgCAAAs1kA== Date: Thu, 9 Sep 2021 14:51:46 +0000 Message-ID: References: <20210809133938.2430-1-mikuback@linux.microsoft.com> <9a5c7c6b-70c5-c1c0-6405-51149013c295@linux.microsoft.com> <153f6512-b336-b328-e711-7444ea0a9bb9@linux.microsoft.com> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-version: 11.6.100.41 dlp-reaction: no-action dlp-product: dlpe-windows authentication-results: edk2.groups.io; dkim=none (message not signed) header.d=none;edk2.groups.io; dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 8ebc1db2-96da-43ae-8be9-08d973a158e5 x-ms-traffictypediagnostic: CO1PR11MB5043: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 17IL7z5HMa4BVmubLbid8Hw2q29g0D3gPaQd7MUMGQgBD0Mf1074vo5Rj03SQN1i8yEc4x4icZN/tpmJ6Yph6hV2CmBeSxfVYleZe40XaTw0TdsRMsoeSGWsMZZm2TItBDgO9hzZPoo07e7JxmWH5xSpxNYhitfGCb5+XsYvMj0f4t69Xdm6WVFWfXyPDTntLTAlBxaqtJSaYDxp5fvVA5oKjVOxiMw7lvIn/uDlMQcG1JpqFowhl5HsnEYqkRSShep9B6lY4arHXHDY+KET99vEIBJAh70GV+eFJphzT60IvfXG3763mBfNUrwaHdBKXb+X+7WqVPlyWdoLiAcYoy5uJmFqmhRNLetlKsFXLLfh/5YwWPxU8GFhfcoggOGpTfyyIAn1EaL9hoWO3LvZhT6tiyUJGL7BbmxYkzwLZ340A/ECypx/CSB3jY6uPRUFYzm6Qhmw6vYvo4/y/RBl3nU+67+CCpEz3T3DAMQZ6zV4p6S0wZK4vAlL5jaqx3s50cAvNo67xOWhOn+Lgeq9yfUDUPXjzenfhJbhyZjbkjh7iX0x2bsL2jSUqRYBCdrtovRiw0elpdvTEDKzMzrlExh4nXkvtbLobwG+Rk89/V1ip//ZSYuwpgHZ0Zt4u4UoNinZAT/bLqYmrsSKQz8zKJygv0wPfzZKDOkCKSraeEfbDcN5pAm6eHSsIsg5tgpahQL+gy+MAx/DOmvdXGymqOHDzEaioGoPpg3VJczMnfxwsDi9bliktPkU+bT54nl9t8TwijD33L1VDisE1pEtLR5gWuUBfIrV6vfb2nQVLQ6nOsDQpA6WxZ5liNgMsey4DSaQDuYqpudM/pNAPkfj5w== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO1PR11MB4930.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(39860400002)(346002)(376002)(396003)(136003)(366004)(2906002)(186003)(66446008)(30864003)(64756008)(38070700005)(7696005)(66476007)(38100700002)(316002)(26005)(6636002)(6506007)(122000001)(76116006)(110136005)(66946007)(8936002)(52536014)(33656002)(966005)(83380400001)(9686003)(66556008)(71200400001)(8676002)(53546011)(55016002)(478600001)(5660300002)(86362001);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?bDlVZEptNE5ETnhwZlFLRmR1MHNTSkpra0N6Uk5yTE4yWGRreENTdkE2Z1FM?= =?utf-8?B?emZib2prY0dpTzFJQldaSzRlTVYvU2lob1VoWjhxZTFpVjlhZWhLRXRWamto?= =?utf-8?B?R0ZhMDM2SHMyWHp1bUlpR3FpVFNkamZzM1FIN1Qza3JEQlZFNFZob3oya1BF?= =?utf-8?B?U1BNTmVqYlQ5K2lzOVpjQStyWEx3eld3dllXb05POEp2L1RlTTFDOEdNUVdo?= =?utf-8?B?ZW5pSHU4eW9JZlQzTVowdXZvK1gzSG1MUXVnSHB1VlhZaTBvM0dlWmhmcktW?= =?utf-8?B?YWFIMDU1N2ZaV2hONTZDeEdGenA3R05sWGpNMFh0VGVHaSs0eG90TU1vRmpn?= =?utf-8?B?TXJ4ZFNWRDVrOUpGYm5MSTFCQ2J4TFFVQVdYZXNkUHNRbytiYU13VXEwZHRJ?= =?utf-8?B?Mm52Nkk0d05Zc21mN3ZUMkNMakhkTEdkWnpYa052dGtBSWc0VzBhQ0xyaCt0?= =?utf-8?B?Y1NGNzlHdkh4aHN1UVhCUys5Y2MrNjF2dFBWV09scUZHMzRNTnRuRFAxMlh0?= =?utf-8?B?SXRlWjVXVVNYRmFvNy93OGQvZjBJdkN6WklpYnJSVVFJZWo1QVZKUDdsNVMr?= =?utf-8?B?WmpNdFN0MDR3RlVmZ3NOazZhMDB3dXh0RHN1Q1M2QVFBRU42R2JhdXRaZHZG?= =?utf-8?B?TlRYd0VNenZBcnV4SUZ6Qzk1VVZyMVIreElhZ0NyZzQ5ZlU0aXRySXpGZCtX?= =?utf-8?B?TlBwU3lpc2cwTDNPdkZVYTc4b05Hei9xYlIyQ2cxaXhHYTVFdWxnY3dlMDdH?= =?utf-8?B?eURIZDFOS3UxZWc2cGt5QTJnQTA0Z0NiSTErMWZNRHJVcXVYdytTVExTRzRh?= =?utf-8?B?QWJUaVBQNlNMMy93VWJVejlOOTR6RmtCclAvRHp3Wk5oRDFKRTY5aWtwZzY1?= =?utf-8?B?SGMwdXczbVpZUVBEVW1FR2tteE42L0RSVU9kblJDTitYRzhML05rWDR4QmdL?= =?utf-8?B?TyszbVQ3SThiVlJMNEV5b3A1USsyS012Q3BrQ0F0OU9zZ2JXNTVsWmlSbFlC?= =?utf-8?B?Y0M2QjN1cGFabUpaMFNkY3JXVjgzNG5qdC90ckVOc0hxSjc1MEg5c1QzYzJL?= =?utf-8?B?bXRZeWMyM2FWMEdDYzZ4YWh0TklITUtYdzdkSVBKWU1ZUlNUQUNaV3p6YmNz?= =?utf-8?B?NGFKL20yQVRSY3FQVFQ4SmcxMEx2b2Y5bHlwRkV5aTd0cHphakp0TEJ0bXcw?= =?utf-8?B?dGZ3aUswdm1WQ2xuUkd6Ujk2cEJrUEtzamNlNForWWxlTzloaE9QdTVSZzhE?= =?utf-8?B?eE1Za3BFSFlTZWhqeDNRNUkyeUN4djM3d3FienVoQVI3eDFFbU9XeUszVnZv?= =?utf-8?B?aDBTK1VCNnJaSWttWmNRTk5ScUhSYi9adS9VSC9wNWloOEZaRTdIMVBmR2ta?= =?utf-8?B?blpvTGhiTit0dW1OZEZESVBOZGFWd1YvaHl2bUVkNHh6Tjl1NkZ2TjJNMDF0?= =?utf-8?B?MTdkaHljQVV1UkhUdVZBODJEOGR0SXFQTCtrYUFwbkQrN1NpdjlQeFo1S2JJ?= =?utf-8?B?UUIyYmMvRVJJaFltTlVYR2RDaWthbHBBeHpwblJzWmp3Sk9vV0ttNmIzOVNp?= =?utf-8?B?Vm1vWmRNSDBUYVg3ME1RMEJ5QUt1U0xWWTU5REdZTHZXYmg5MVBzVDIvbG9l?= =?utf-8?B?dDFBSEsrWGZFM3psbEExOUtheUNLbnFya2hrMWVTUjlwTXErRzlMaUNZeTVV?= =?utf-8?B?Q21WZlN6bzE3cElsSEdJTGlkYzlsKzc5dUR1WkFvQWFObDFsNWxQbHJkanZR?= =?utf-8?Q?QXPnHjaBaSBv2ewmyuvcfsJpW7EBcSXVcUspUMU?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CO1PR11MB4930.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8ebc1db2-96da-43ae-8be9-08d973a158e5 X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Sep 2021 14:51:46.7057 (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: ciaS4GjmNdviKK+Ao7D6ZDsRDGVpymu4nlxJsU8/AZ/alAI74+TCPZw+OaDRIGBZzr3MVIQ+66DM32BpyaRHJg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO1PR11MB5043 Return-Path: ray.ni@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 TWljaGFlbCwNCkxldCBtZSBjaGVjayB3aGV0aGVyIG91ciBpbnRlcm5hbCBjb2RlIGhhcyBhZGRl ZCB0aGUgUzMgY2hlY2sgYmVmb3JlIGNhbGxpbmcgUGVpSW5zdGFsbFNtbUFjY2Vzc1BwaSgpLg0K T25jZSB0aGF0IGlzIGRvbmUsIEkgd2lsbCBtZXJnZSB0aGlzIHBhdGNoLg0KDQpUaGFua3MsDQpS YXkNCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBkZXZlbEBlZGsyLmdy b3Vwcy5pbyA8ZGV2ZWxAZWRrMi5ncm91cHMuaW8+IE9uIEJlaGFsZiBPZiBNaWNoYWVsIEt1YmFj a2kNCj4gU2VudDogVGh1cnNkYXksIFNlcHRlbWJlciA5LCAyMDIxIDEwOjEwIFBNDQo+IFRvOiBk ZXZlbEBlZGsyLmdyb3Vwcy5pbzsgTmksIFJheSA8cmF5Lm5pQGludGVsLmNvbT47IFlhbywgSmll d2VuIDxqaWV3ZW4ueWFvQGludGVsLmNvbT47IENoYWdhbnR5LCBSYW5nYXNhaSBWDQo+IDxyYW5n YXNhaS52LmNoYWdhbnR5QGludGVsLmNvbT4NCj4gU3ViamVjdDogUmU6IFtlZGsyLWRldmVsXSBb ZWRrMi1wbGF0Zm9ybXNdW1BBVENIIHYxIDEvMV0gSW50ZWxTaWxpY29uUGtnL1BlaVNtbUFjY2Vz c0xpYjogUmVtb3ZlIFMzIHJlcXVpcmVtZW50DQo+IA0KPiBSYXksDQo+IA0KPiBXaGVuIGRvIHlv dSB0aGluayB0aGlzIHBhdGNoIHdpbGwgZ2V0IG1lcmdlZD8NCj4gDQo+IFRoYW5rcywNCj4gTWlj aGFlbA0KPiANCj4gT24gOC8yMC8yMDIxIDQ6MTEgQU0sIE5pLCBSYXkgd3JvdGU6DQo+ID4gTWlj aGFlbCwNCj4gPiBJIGFtIG9rIHdpdGggdGhlIGNoYW5nZSB0aGF0IHJlbW92ZXMgUzMgY2hlY2su IEkgYWxzbyBjb25maXJtZWQgdGhhdCBKaWV3ZW4ncyBjb25jZXJuIGFib3V0IGluY29uc2lzdGVu dCBTTVJBTSBzdGF0ZQ0KPiBkb2Vzbid0IGV4aXN0Lg0KPiA+DQo+ID4gUmV2aWV3ZWQtYnk6IFJh eSBOaSA8cmF5Lm5pQGludGVsLmNvbT4NCj4gPg0KPiA+IEkgYWdyZWUgd2l0aCB5b3UgdGhhdCBj b252ZXJ0aW5nIHRoaXMgbGliIHRvIGEgUEVJTSBpcyBiZXR0ZXIuDQo+ID4NCj4gPiBUaGFua3Ms DQo+ID4gUmF5DQo+ID4NCj4gPj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPj4gRnJv bTogTWljaGFlbCBLdWJhY2tpIDxtaWt1YmFja0BsaW51eC5taWNyb3NvZnQuY29tPg0KPiA+PiBT ZW50OiBGcmlkYXksIEF1Z3VzdCAyMCwgMjAyMSAzOjQ1IEFNDQo+ID4+IFRvOiBkZXZlbEBlZGsy Lmdyb3Vwcy5pbzsgWWFvLCBKaWV3ZW4gPGppZXdlbi55YW9AaW50ZWwuY29tPjsgTmksIFJheSA8 cmF5Lm5pQGludGVsLmNvbT47IENoYWdhbnR5LCBSYW5nYXNhaSBWDQo+ID4+IDxyYW5nYXNhaS52 LmNoYWdhbnR5QGludGVsLmNvbT4NCj4gPj4gU3ViamVjdDogUmU6IFtlZGsyLWRldmVsXSBbZWRr Mi1wbGF0Zm9ybXNdW1BBVENIIHYxIDEvMV0gSW50ZWxTaWxpY29uUGtnL1BlaVNtbUFjY2Vzc0xp YjogUmVtb3ZlIFMzIHJlcXVpcmVtZW50DQo+ID4+DQo+ID4+IFJheSwNCj4gPj4NCj4gPj4gSW4g dGhlIGVuZCwgUEkgbW9kdWxlcyBhcmUgYWxsb3dlZCB0byBkZXBlbmQgb24gbm9uLWRlcHJlY2F0 ZWQgUEkgUFBJcy4NCj4gPj4gVGhlIHNjb3BlIG9mIHRoaXMgY2hhbmdlIGlzIGFib3V0IHRoZSBB UEkgdGhhdCBpbnN0YWxscyB0aGUgUFBJLiBTbyBJIGRvDQo+ID4+IG5vdCB3YW50IHRvIGRpdmVy Z2UgdGhlIGNvbnZlcnNhdGlvbiBhYm91dCBjaGFuZ2luZyBvdGhlciBjb2RlIHRvIGF2b2lkDQo+ ID4+IHRoZSBQUEkuDQo+ID4+DQo+ID4+IEkndmUgYWxyZWFkeSBiZWVuIHdhaXRpbmcgc2luY2Ug QXByaWwgdG8gZ2V0IG90aGVyIEludGVsU2lsaWNvblBrZw0KPiA+PiBjaGFuZ2VzIG1lcmdlZCAo aHR0cHM6Ly9lZGsyLmdyb3Vwcy5pby9nL2RldmVsL21lc3NhZ2UvNzg2MDApIGFuZCBJDQo+ID4+ IHdvdWxkIGxpa2UgdG8ga2VlcCB0aGlzIGNvbnZlcnNhdGlvbiBmb2N1c2VkIG9uIHRoZSBwYXRj aC4NCj4gPj4NCj4gPj4gVGhpcyBjb252ZXJzYXRpb24gaGFzIHRha2VuIHNldmVyYWwgdGFuZ2Vu dHMgYXMgSSB0cmllZCB0byBjbGVhciB1cCBpbg0KPiA+PiB0aGlzIG1lc3NhZ2U6IGh0dHBzOi8v ZWRrMi5ncm91cHMuaW8vZy9kZXZlbC9tZXNzYWdlLzc5NTQ0LiBJIGRpZCBub3QNCj4gPj4gc2Vl IGEgcmVzcG9uc2UsIHBsZWFzZSByZWFkIHRoYXQgaWYgeW91IGhhdmUgbm90Lg0KPiA+Pg0KPiA+ PiBUaGUgbWFpbnRhaW5hYmlsaXR5IGlzc3VlcyBvZiB0aGUgY29kZSBoYXZlIGJlY29tZSBldmlk ZW50LiBUaGUgY29kZSBpcw0KPiA+PiBjb3VwbGluZyB1bm5lY2Vzc2FyeSBhc3N1bXB0aW9ucyBh bmQgZGVwZW5kZW5jaWVzIGFuZCB0aGF0IGlzIGluY3JlYXNpbmcNCj4gPj4gdGhlIGRpZmZpY3Vs dHkgb2YgdW5kZXJzdGFuZGluZyBhbmQgbW9kaWZ5aW5nIHRoZSBjb2RlLg0KPiA+Pg0KPiA+PiBU aGUgZ29hbCBvZiB0aGlzIGNoYW5nZSB3YXMgZm9yIHRoZSBQZWlJbnN0YWxsU21tQWNjZXNzUHBp KCkgZnVuY3Rpb24gdG8NCj4gPj4gc2ltcGx5IGluc3RhbGwgdGhlIFBQSSB3aXRob3V0IHRoZSBi b290IG1vZGUgYmVpbmcgQk9PVF9PTl9TM19SRVNVTUUNCj4gPj4gd2hpY2ggaXQgYWxyZWFkeSBk b2N1bWVudHMgc2hvdWxkIGJlIHRoZSBjYXNlLg0KPiA+Pg0KPiA+PiBCZWNhdXNlIHRoZSBleGlz dGluZyBjb2RlIGF0dGVtcHRlZCB0byBjb3VwbGUgcGxhdGZvcm0gZGVzaWduDQo+ID4+IGFzc3Vt cHRpb25zIGludG8gYSBnZW5lcmljIHNpbGljb24gcGFja2FnZSwgd2UgaGFkIHRvIHRhbGsgYWJv dXQ6DQo+ID4+DQo+ID4+IC0gSGlzdG9yaWNhbCBwbGF0Zm9ybSBTMyByZXF1aXJlbWVudHMNCj4g Pj4gLSBJbnRlcmZhY2UgZG9jdW1lbnRhdGlvbiB0aGF0IGlzIGluYWNjdXJhdGUNCj4gPj4gLSBD bGFyaWZpY2F0aW9uIGFyb3VuZCBzZWN1cml0eSBhbWJpZ3VpdHkgYW5kIGltcGxpY2F0aW9ucyB0 byBtb2RpZnlpbmcNCj4gPj4gdGhlIGltcGxlbWVudGF0aW9uDQo+ID4+IC0gR2VuZXJhbCBkZXBl bmRlbmNpZXMgZm9yIFN0YW5kYWxvbmUgTU0NCj4gPj4gLSBQb3RlbnRpYWwgc3luY2hyb25pemF0 aW9uIGlzc3VlcyBiZXR3ZWVuIHRoZSBQSSBTcGVjIGRlZmluZWQNCj4gPj4gaW50ZXJmYWNlcyBF RklfU01BUkFNX0hPQl9ERVNDUklQVE9SX0JMT0NLIGFuZCBFRklfUEVJX01NX0FDQ0VTU19QUEkN Cj4gPj4gLSBUaGUgcm9sZSBvZiBNTSBBY2Nlc3MgUFBJIGluIG90aGVyIGFyY2hpdGVjdHVyZSBi b290IGZsb3dzDQo+ID4+DQo+ID4+IEluIHRoZSBwcm9jZXNzLCBzb21lIG9mIHRoZXNlIHRvcGlj cyBkaWQgeWllbGQgaXNzdWVzIGZvciBmb2xsb3cgdXA6DQo+ID4+DQo+ID4+IDEuIFRoZSBkb2N1 bWVudGF0aW9uIGludGVyZmFjZSBzaG91bGQgYWNjdXJhdGVseSByZWZsZWN0IGFjdHVhbCBiZWhh dmlvci4NCj4gPj4gMi4gVGhlIHBvdGVudGlhbCBzeW5jaHJvbml6YXRpb24gaXNzdWUgc2hvdWxk IGJlIGJldHRlciB1bmRlcnN0b29kIGFuZA0KPiA+PiByZXNvbHZlZC4gTm90ZSB0aGF0IHRoaXMg aXNzdWUgaXMgbm90IHNwZWNpZmljIHRvIG5vbi1TMyBmbG93cy4gUEVJTXMgb24NCj4gPj4gUzMg Zmxvd3MgY291bGQgZWFzaWx5IHJlYWQgdGhlIEhPQi4NCj4gPj4NCj4gPj4gQlogZm9yIDE6IGh0 dHBzOi8vYnVnemlsbGEudGlhbm9jb3JlLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzU3NQ0KPiA+PiBC WiBmb3IgMjogaHR0cHM6Ly9idWd6aWxsYS50aWFub2NvcmUub3JnL3Nob3dfYnVnLmNnaT9pZD0z NTc2DQo+ID4+DQo+ID4+IEl0IGFsc28gc2VlbXMgdGhlIGxpYnJhcnkgd291bGQgYmUgYmV0dGVy IGFzIGEgUEVJTSBidXQgdGhhdCdzIGFub3RoZXINCj4gPj4gdG9waWMuDQo+ID4+DQo+ID4+IFRo YW5rcywNCj4gPj4gTWljaGFlbA0KPiA+Pg0KPiA+PiBPbiA4LzE5LzIwMjEgMTA6MjcgQU0sIFlh bywgSmlld2VuIHdyb3RlOg0KPiA+Pj4gRG8geW91IHdhbnQgdG8gb3Blbi9jbG9zZS9sb2NrIFNN UkFNPyBJZiB5ZXMsIHRoZW4geW91IG5lZWQgUFBJLg0KPiA+Pj4gSWYgbm8sIHRoZW4geW91IGRv buKAmXQgbmVlZCBQUEkuIEhvYiBzaG91bGQgYmUgZW5vdWdoIHRvIHByb3ZpZGUgc3VjaCBpbmZv Lg0KPiA+Pj4NCj4gPj4+IFRoYW5rIHlvdQ0KPiA+Pj4gWWFvIEppZXdlbg0KPiA+Pj4NCj4gPj4+ PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+Pj4+IEZyb206IE5pLCBSYXkgPHJheS5u aUBpbnRlbC5jb20+DQo+ID4+Pj4gU2VudDogVGh1cnNkYXksIEF1Z3VzdCAxOSwgMjAyMSA2OjAy IFBNDQo+ID4+Pj4gVG86IFlhbywgSmlld2VuIDxqaWV3ZW4ueWFvQGludGVsLmNvbT47IE1pY2hh ZWwgS3ViYWNraQ0KPiA+Pj4+IDxtaWNoYWVsLmt1YmFja2lAb3V0bG9vay5jb20+OyBkZXZlbEBl ZGsyLmdyb3Vwcy5pbzsNCj4gPj4+PiBtaWt1YmFja0BsaW51eC5taWNyb3NvZnQuY29tOyBDaGFn YW50eSwgUmFuZ2FzYWkgVg0KPiA+Pj4+IDxyYW5nYXNhaS52LmNoYWdhbnR5QGludGVsLmNvbT4N Cj4gPj4+PiBTdWJqZWN0OiBSRTogW2VkazItZGV2ZWxdIFtlZGsyLXBsYXRmb3Jtc11bUEFUQ0gg djEgMS8xXQ0KPiA+Pj4+IEludGVsU2lsaWNvblBrZy9QZWlTbW1BY2Nlc3NMaWI6IFJlbW92ZSBT MyByZXF1aXJlbWVudA0KPiA+Pj4+DQo+ID4+Pj4gSmlld2VuLA0KPiA+Pj4+IFdlIGhhdmUgTW1B Y2Nlc3MgUFBJIGFuZCBnRWZpTW1QZWlTbXJhbU1lbW9yeVJlc2VydmVHdWlkIEhPQi4NCj4gPj4+ Pg0KPiA+Pj4+IElmIFN0YW5kYWxvbmUgSVBMIGNhbiBnZXQgdGhlIFNNUkFNIHJhbmdlIGZyb20g dGhlIEhPQiwgd2hhdCdzIHRoZSBwdXJwb3NlDQo+ID4+Pj4gb2YgTW1BY2Nlc3MgUFBJPw0KPiA+ Pj4+DQo+ID4+Pj4gWDg2IHNpbGljb24gZG9lc24ndCByZWx5IG9uIE1tQWNjZXNzLkNsb3NlL0xv Y2sgdG8gY2xvc2UgU01SQU0gYW55bW9yZS4NCj4gPj4+PiBEb2VzIEFSTSBuZWVkPw0KPiA+Pj4+ DQo+ID4+Pj4gTWljaGFlbCwNCj4gPj4+PiBIYXZlIHlvdSBjb25zaWRlcmVkIHRvIHJlbW92ZSB0 aGUgZGVwIG9uIE1tQWNjZXNzIFBQSSBmcm9tIHN0YW5kYWxvbmUgTU0/DQo+ID4+Pj4NCj4gPj4+ PiBUaGFua3MsDQo+ID4+Pj4gUmF5DQo+ID4+Pj4NCj4gPj4+PiAtLS0tLU9yaWdpbmFsIE1lc3Nh Z2UtLS0tLQ0KPiA+Pj4+IEZyb206IFlhbywgSmlld2VuIDxqaWV3ZW4ueWFvQGludGVsLmNvbT4N Cj4gPj4+PiBTZW50OiBUaHVyc2RheSwgQXVndXN0IDE5LCAyMDIxIDEwOjAyIEFNDQo+ID4+Pj4g VG86IE1pY2hhZWwgS3ViYWNraSA8bWljaGFlbC5rdWJhY2tpQG91dGxvb2suY29tPjsgZGV2ZWxA ZWRrMi5ncm91cHMuaW87DQo+ID4+Pj4gTmksIFJheSA8cmF5Lm5pQGludGVsLmNvbT47IG1pa3Vi YWNrQGxpbnV4Lm1pY3Jvc29mdC5jb207IENoYWdhbnR5LA0KPiA+Pj4+IFJhbmdhc2FpIFYgPHJh bmdhc2FpLnYuY2hhZ2FudHlAaW50ZWwuY29tPg0KPiA+Pj4+IFN1YmplY3Q6IFJFOiBbZWRrMi1k ZXZlbF0gW2VkazItcGxhdGZvcm1zXVtQQVRDSCB2MSAxLzFdDQo+ID4+Pj4gSW50ZWxTaWxpY29u UGtnL1BlaVNtbUFjY2Vzc0xpYjogUmVtb3ZlIFMzIHJlcXVpcmVtZW50DQo+ID4+Pj4NCj4gPj4+ PiBUaGUgaGlzdG9yeSB3YXMgdGhhdCB3ZSBkaWRu4oCZdCBuZWVkIE1tQWNjZXNzUGVpIHdpdGhv dXQgUzMuDQo+ID4+Pj4gTW1BY2Nlc3NQZWkgd2FzIGFkZGVkIGZvciBTMyByZXN1bWUgcHVycG9z ZSBvbmx5Lg0KPiA+Pj4+DQo+ID4+Pj4gVG9kYXksIGlmIHRoZXJlIGlzIHJlYWwgdXNlIGNhc2Ug dG8gcmVseSBvbiBNbUFjY2Vzc1BlaSBpbiBub3JtYWwgYm9vdCBwYXRoLg0KPiA+Pj4+IFRoZW4g d2UgY2FuIGFkZCBpdC4NCj4gPj4+Pg0KPiA+Pj4+IEkgY291bGQgc2VlIHRoZSBwb3RlbnRpYWwg aW1wYWN0IGlzOiBJZiBNbUFjY2Vzc1BlaSBjaGFuZ2VzIHRoZSBTTVJBTQ0KPiA+Pj4+IGF0dHJp YnV0ZSBpbiBub3JtYWwgYm9vdCBwYXRoLCBpdCBNVVNUIGJlIHJlZmxlY3RlZCBpbiB0aGUgU21y YW1Ib2IuIE90aGVyd2lzZSwNCj4gPj4+PiB0aGVyZSBpcyBpbmNvbnNpc3RlbmN5IGlzc3VlIGlu IFBFSS9EWEUsIHdoZW4gRFhFIGNvbnN1bWVzIHRoZSBTbXJhbUhvYi4NCj4gPj4+PiBUaGlzIGlz IE5PVCByZXF1aXJlZCBpbiBTMywgYmVjYXVzZSB3ZSBkb27igJl0IHJ1biBEWEUgaW4gUzMgcGF0 aC4NCj4gPj4+Pg0KPiA+Pj4+IFRoYW5rIHlvdQ0KPiA+Pj4+IFlhbyBKaWV3ZW4NCj4gPj4+Pg0K PiA+Pj4+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+Pj4+PiBGcm9tOiBNaWNoYWVs IEt1YmFja2kgPG1pY2hhZWwua3ViYWNraUBvdXRsb29rLmNvbT4NCj4gPj4+Pj4gU2VudDogVGh1 cnNkYXksIEF1Z3VzdCAxOSwgMjAyMSAyOjQ3IEFNDQo+ID4+Pj4+IFRvOiBkZXZlbEBlZGsyLmdy b3Vwcy5pbzsgTmksIFJheSA8cmF5Lm5pQGludGVsLmNvbT47DQo+ID4+Pj4+IG1pa3ViYWNrQGxp bnV4Lm1pY3Jvc29mdC5jb207IENoYWdhbnR5LCBSYW5nYXNhaSBWDQo+ID4+Pj4+IDxyYW5nYXNh aS52LmNoYWdhbnR5QGludGVsLmNvbT47IFlhbywgSmlld2VuIDxqaWV3ZW4ueWFvQGludGVsLmNv bT4NCj4gPj4+Pj4gU3ViamVjdDogUmU6IFtlZGsyLWRldmVsXSBbZWRrMi1wbGF0Zm9ybXNdW1BB VENIIHYxIDEvMV0NCj4gPj4+Pj4gSW50ZWxTaWxpY29uUGtnL1BlaVNtbUFjY2Vzc0xpYjogUmVt b3ZlIFMzIHJlcXVpcmVtZW50DQo+ID4+Pj4+DQo+ID4+Pj4+IEppZXdlbi9TYWksIGFyZSB5b3Ug dGhpbmtpbmcgYWJvdXQgdGhpcz8NCj4gPj4+Pj4NCj4gPj4+Pj4gVGhhbmtzLA0KPiA+Pj4+PiBN aWNoYWVsDQo+ID4+Pj4+DQo+ID4+Pj4+IE9uIDgvMTIvMjAyMSAxOjIwIEFNLCBOaSwgUmF5IHdy b3RlOg0KPiA+Pj4+Pj4gTWljaGFlbCwNCj4gPj4+Pj4+IEkgbmVlZCBKaWV3ZW4ncyBpbnB1dCBv biB3aHkgTW1BY2Nlc3MgYW5kIE1tQ29tbXVuaWNhdGlvbiBQUElzIHdlcmUNCj4gPj4+Pj4+IG5v dA0KPiA+Pj4+PiBpbnN0YWxsZWQgaW4gbm9ybWFsIGJvb3QgcGF0aC4gV2l0aG91dCB1bmRlcnN0 YW5kaW5nIHRoZSByZWFzb24sIEkNCj4gPj4+Pj4gZG9uJ3QgaGF2ZSBjb25maWRlbmNlIHRvIGFw cHJvdmUgdGhlIGNoYW5nZS4NCj4gPj4+Pj4+DQo+ID4+Pj4+PiBTYWksDQo+ID4+Pj4+PiBEbyB5 b3Ugc2VlIG90aGVyIGltcGFjdHMgdG8gSW50ZWwgcGxhdGZvcm1zIHdpdGggdGhpcyBiZWhhdmlv ciBjaGFuZ2U/DQo+ID4+Pj4+Pg0KPiA+Pj4+Pj4gVGhhbmtzLA0KPiA+Pj4+Pj4gUmF5DQo+ID4+ Pj4+Pg0KPiA+Pj4+Pj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPj4+Pj4+IEZyb206 IGRldmVsQGVkazIuZ3JvdXBzLmlvIDxkZXZlbEBlZGsyLmdyb3Vwcy5pbz4gT24gQmVoYWxmIE9m DQo+ID4+Pj4+PiBNaWNoYWVsDQo+ID4+Pj4+IEt1YmFja2kNCj4gPj4+Pj4+IFNlbnQ6IFR1ZXNk YXksIEF1Z3VzdCAxMCwgMjAyMSAxMTozNiBQTQ0KPiA+Pj4+Pj4gVG86IGRldmVsQGVkazIuZ3Jv dXBzLmlvOyBOaSwgUmF5IDxyYXkubmlAaW50ZWwuY29tPjsgQ2hhZ2FudHksDQo+ID4+Pj4+PiBS YW5nYXNhaSBWDQo+ID4+Pj4+IDxyYW5nYXNhaS52LmNoYWdhbnR5QGludGVsLmNvbT4NCj4gPj4+ Pj4+IENjOiBZYW8sIEppZXdlbiA8amlld2VuLnlhb0BpbnRlbC5jb20+DQo+ID4+Pj4+PiBTdWJq ZWN0OiBSZTogW2VkazItZGV2ZWxdIFtlZGsyLXBsYXRmb3Jtc11bUEFUQ0ggdjEgMS8xXQ0KPiA+ Pj4+PiBJbnRlbFNpbGljb25Qa2cvUGVpU21tQWNjZXNzTGliOiBSZW1vdmUgUzMgcmVxdWlyZW1l bnQNCj4gPj4+Pj4+DQo+ID4+Pj4+PiBJbnN0YWxsYXRpb24gaXMgYSBwbGF0Zm9ybSBkZWNpc2lv bi4gVGhlIGJ1cmllZCBkZXBlbmRlbmN5IG9uIGJvb3QNCj4gPj4+Pj4+IG1vZGUgaW4gdGhpcw0K PiA+Pj4+PiBwYXJ0aWN1bGFyIGZ1bmN0aW9uIGlzIGp1c3QgYSByb2FkYmxvY2sgcGxhdGZvcm1z IGhhdmUgdG8gd29yayBhcm91bmQuDQo+ID4+Pj4+IFRoZSByb2xlIG9mIHRoaXMgQVBJIGlzIHRv IGluc3RhbGwgdGhlIFBQSS4NCj4gPj4+Pj4+DQo+ID4+Pj4+PiBUaGFua3MsDQo+ID4+Pj4+PiBN aWNoYWVsDQo+ID4+Pj4+Pg0KPiA+Pj4+Pj4gT24gOC85LzIwMjEgOTo0NyBQTSwgTmksIFJheSB3 cm90ZToNCj4gPj4+Pj4+PiBNaWNoYWVsLA0KPiA+Pj4+Pj4+IEFsbG93aW5nIHRoZSBnUGVpU21t QWNjZXNzUHBpR3VpZCBQUEkgaW5zdGFsbGF0aW9uIGluIG5vcm1hbCBib290DQo+ID4+Pj4+Pj4g d2lsbCBmdXJ0aGVyIGFsbG93IGdFZmlQZWlTbW1Db21tdW5pY2F0aW9uUHBpR3VpZCBpbnN0YWxs YXRpb24gaW4NCj4gPj4+Pj4+PiBub3JtYWwgcGF0aCwNCj4gPj4+Pj4gd2hpbGUgd2l0aG91dCB5 b3VyIGNoYW5nZSBuZWl0aGVyIG9mIHRoZSBQUElzIGlzIGluc3RhbGxlZCBpbiBub3JtYWwgYm9v dC4NCj4gPj4+Pj4+Pg0KPiA+Pj4+Pj4+ICsgSmlld2VuIGZvciBwb3RlbnRpYWwgc2VjdXJpdHkg Y29uY2Vybi4NCj4gPj4+Pj4+Pg0KPiA+Pj4+Pj4+IFRoYW5rcywNCj4gPj4+Pj4+PiBSYXkNCj4g Pj4+Pj4+Pg0KPiA+Pj4+Pj4+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+Pj4+Pj4+ PiBGcm9tOiBDaGFnYW50eSwgUmFuZ2FzYWkgViA8cmFuZ2FzYWkudi5jaGFnYW50eUBpbnRlbC5j b20+DQo+ID4+Pj4+Pj4+IFNlbnQ6IFR1ZXNkYXksIEF1Z3VzdCAxMCwgMjAyMSA2OjQ2IEFNDQo+ ID4+Pj4+Pj4+IFRvOiBtaWt1YmFja0BsaW51eC5taWNyb3NvZnQuY29tOyBkZXZlbEBlZGsyLmdy b3Vwcy5pbw0KPiA+Pj4+Pj4+PiBDYzogTmksIFJheSA8cmF5Lm5pQGludGVsLmNvbT4NCj4gPj4+ Pj4+Pj4gU3ViamVjdDogUkU6IFtlZGsyLXBsYXRmb3Jtc11bUEFUQ0ggdjEgMS8xXQ0KPiA+Pj4+ Pj4+PiBJbnRlbFNpbGljb25Qa2cvUGVpU21tQWNjZXNzTGliOiBSZW1vdmUgUzMgcmVxdWlyZW1l bnQNCj4gPj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4gUmV2aWV3ZWQtYnk6IFNhaSBDaGFnYW50eSA8cmFu Z2FzYWkudi5jaGFnYW50eUBpbnRlbC5jb20+DQo+ID4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+IC0tLS0t T3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4+Pj4+Pj4+IEZyb206IG1pa3ViYWNrQGxpbnV4Lm1p Y3Jvc29mdC5jb20gPG1pa3ViYWNrQGxpbnV4Lm1pY3Jvc29mdC5jb20+DQo+ID4+Pj4+Pj4+IFNl bnQ6IE1vbmRheSwgQXVndXN0IDA5LCAyMDIxIDY6NDAgQU0NCj4gPj4+Pj4+Pj4gVG86IGRldmVs QGVkazIuZ3JvdXBzLmlvDQo+ID4+Pj4+Pj4+IENjOiBOaSwgUmF5IDxyYXkubmlAaW50ZWwuY29t PjsgQ2hhZ2FudHksIFJhbmdhc2FpIFYNCj4gPj4+Pj4+Pj4gPHJhbmdhc2FpLnYuY2hhZ2FudHlA aW50ZWwuY29tPg0KPiA+Pj4+Pj4+PiBTdWJqZWN0OiBbZWRrMi1wbGF0Zm9ybXNdW1BBVENIIHYx IDEvMV0NCj4gPj4+Pj4+Pj4gSW50ZWxTaWxpY29uUGtnL1BlaVNtbUFjY2Vzc0xpYjogUmVtb3Zl IFMzIHJlcXVpcmVtZW50DQo+ID4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+IEZyb206IE1pY2hhZWwgS3Vi YWNraSA8bWljaGFlbC5rdWJhY2tpQG1pY3Jvc29mdC5jb20+DQo+ID4+Pj4+Pj4+DQo+ID4+Pj4+ Pj4+IFJFRjpodHRwczovL2J1Z3ppbGxhLnRpYW5vY29yZS5vcmcvc2hvd19idWcuY2dpP2lkPTM1 MzkNCj4gPj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4gUGVpSW5zdGFsbFNtbUFjY2Vzc1BwaSgpIGN1cnJl bnRseSByZXF1aXJlcyB0aGUgYm9vdCBtb2RlIGJlIHNldA0KPiA+Pj4+Pj4+PiB0byBTMyB0bw0K PiA+Pj4+PiBhY3R1YWxseSBpbnN0YWxsIGdFZmlQZWlNbUFjY2Vzc1BwaUd1aWQuDQo+ID4+Pj4+ Pj4+DQo+ID4+Pj4+Pj4+IFRoaXMgY2hhbmdlIHJlbW92ZXMgdGhpcyByZXF1aXJlbWVudCBpbiB0 aGUgZnVuY3Rpb24NCj4gPj4+Pj4+Pj4gaW1wbGVtZW50YXRpb24gZm9yDQo+ID4+Pj4+IHR3byBy ZWFzb25zOg0KPiA+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+PiAxLiBQcmFjdGljYWwgdXNlIGNhc2VzIGV4 aXN0IHRvIHJlcXVpcmUgdGhpcyBQUEkgaW4gY2FzZXMgb3RoZXIgdGhhbg0KPiA+Pj4+Pj4+PiAg ICAgICAgdGhlIGJvb3QgbW9kZSBiZWluZyBzZXQgdG8gQk9PVF9PTl9TM19SRVNVTUUuDQo+ID4+ Pj4+Pj4+DQo+ID4+Pj4+Pj4+IDIuIEl0IGlzIHBvb3IgQVBJIGRlc2lnbiB0byBpbXBsaWNpdGx5 IGJ1cnkgdGhpcyByZXF1aXJlbWVudCB3aXRoaW4NCj4gPj4+Pj4+Pj4gICAgICAgIGEgZnVuY3Rp b24gd2hvc2UgcmVzcG9uc2liaWxpdHkgaXMgdG8gaW5zdGFsbCB0aGUgUFBJLiBUaGUgY2FsbGVy DQo+ID4+Pj4+Pj4+ICAgICAgICBjYW4gZWFzaWx5IHBsYWNlIGFyYml0cmFyeSBjb25zdHJhaW50 cyBhcm91bmQgd2hldGhlciB0byBjYWxsDQo+ID4+Pj4+Pj4+ICAgICAgICBiYXNlZCBvbiBjb25k aXRpb25zIHN1Y2ggYXMgdGhlIGJvb3QgbW9kZSBiZWluZw0KPiA+Pj4+Pj4+PiAgICAgICAgQk9P VF9PTl9TM19SRVNVTUUuDQo+ID4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+IENjOiBSYXkgTmkgPHJheS5u aUBpbnRlbC5jb20+DQo+ID4+Pj4+Pj4+IENjOiBSYW5nYXNhaSBWIENoYWdhbnR5IDxyYW5nYXNh aS52LmNoYWdhbnR5QGludGVsLmNvbT4NCj4gPj4+Pj4+Pj4gU2lnbmVkLW9mZi1ieTogTWljaGFl bCBLdWJhY2tpIDxtaWNoYWVsLmt1YmFja2lAbWljcm9zb2Z0LmNvbT4NCj4gPj4+Pj4+Pj4gLS0t DQo+ID4+Pj4+Pj4+DQo+ID4+Pj4+IFNpbGljb24vSW50ZWwvSW50ZWxTaWxpY29uUGtnL0ZlYXR1 cmUvU21tQWNjZXNzL0xpYnJhcnkvUGVpU21tQWNjZXNzTGkNCj4gPj4+Pj4gYi9QZWlTDQo+ID4+ Pj4+IG1tQWNjZXNzTGliLmMgfCAxMiAtLS0tLS0tLS0tLS0NCj4gPj4+Pj4+Pj4gICAgICAxIGZp bGUgY2hhbmdlZCwgMTIgZGVsZXRpb25zKC0pDQo+ID4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+IGRpZmYg LS1naXQNCj4gPj4+Pj4+Pj4gYS9TaWxpY29uL0ludGVsL0ludGVsU2lsaWNvblBrZy9GZWF0dXJl L1NtbUFjY2Vzcy9MaWJyYXJ5L1BlaVNtbUFjDQo+ID4+Pj4+Pj4+IGNlcw0KPiA+Pj4+Pj4+PiBz TGliL1BlaVNtbUFjY2Vzc0xpYi5jDQo+ID4+Pj4+Pj4+IGIvU2lsaWNvbi9JbnRlbC9JbnRlbFNp bGljb25Qa2cvRmVhdHVyZS9TbW1BY2Nlc3MvTGlicmFyeS9QZWlTbW1BYw0KPiA+Pj4+Pj4+PiBj ZXMgc0xpYi9QZWlTbW1BY2Nlc3NMaWIuYyBpbmRleCBkOWJmNGZiYTk4M2UuLjRkZjBkNjk1ZmRh ZiAxMDA2NDQNCj4gPj4+Pj4+Pj4gLS0tDQo+ID4+Pj4+Pj4+IGEvU2lsaWNvbi9JbnRlbC9JbnRl bFNpbGljb25Qa2cvRmVhdHVyZS9TbW1BY2Nlc3MvTGlicmFyeS9QZWlTbW1BYw0KPiA+Pj4+Pj4+ PiBjZXMNCj4gPj4+Pj4+Pj4gc0xpYi9QZWlTbW1BY2Nlc3NMaWIuYw0KPiA+Pj4+Pj4+PiArKysg Yi9TaWxpY29uL0ludGVsL0ludGVsU2lsaWNvblBrZy9GZWF0dXJlL1NtbUFjY2Vzcy9MaWJyYXJ5 L1BlaVMNCj4gPj4+Pj4+Pj4gKysrIG1tQQ0KPiA+Pj4+Pj4+PiArKysgY2NlDQo+ID4+Pj4+Pj4+ ICsrKyBzc0xpYi9QZWlTbW1BY2Nlc3NMaWIuYw0KPiA+Pj4+Pj4+PiBAQCAtMjUyLDE5ICsyNTIs NyBAQCBQZWlJbnN0YWxsU21tQWNjZXNzUHBpICgNCj4gPj4+Pj4+Pj4gICAgICAgIEVGSV9TTVJB TV9IT0JfREVTQ1JJUFRPUl9CTE9DSyAgKkRlc2NyaXB0b3JCbG9jazsNCj4gPj4+Pj4+Pj4gICAg ICAgIFNNTV9BQ0NFU1NfUFJJVkFURV9EQVRBICAgICAgICAgKlNtbUFjY2Vzc1ByaXZhdGU7DQo+ ID4+Pj4+Pj4+ICAgICAgICBWT0lEICAgICAgICAgICAgICAgICAgICAgICAgICAgICpIb2JMaXN0 Ow0KPiA+Pj4+Pj4+PiAtICBFRklfQk9PVF9NT0RFICAgICAgICAgICAgICAgICAgIEJvb3RNb2Rl Ow0KPiA+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+PiAtICBTdGF0dXMgPSBQZWlTZXJ2aWNlc0dldEJvb3RN b2RlICgmQm9vdE1vZGUpOw0KPiA+Pj4+Pj4+PiAtICBpZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7 DQo+ID4+Pj4+Pj4+IC0gICAgLy8NCj4gPj4+Pj4+Pj4gLSAgICAvLyBJZiBub3QgaW4gUzMgYm9v dCBwYXRoLiBkbyBub3RoaW5nDQo+ID4+Pj4+Pj4+IC0gICAgLy8NCj4gPj4+Pj4+Pj4gLSAgICBy ZXR1cm4gRUZJX1NVQ0NFU1M7DQo+ID4+Pj4+Pj4+IC0gIH0NCj4gPj4+Pj4+Pj4gLQ0KPiA+Pj4+ Pj4+PiAtICBpZiAoQm9vdE1vZGUgIT0gQk9PVF9PTl9TM19SRVNVTUUpIHsNCj4gPj4+Pj4+Pj4g LSAgICByZXR1cm4gRUZJX1NVQ0NFU1M7DQo+ID4+Pj4+Pj4+IC0gIH0NCj4gPj4+Pj4+Pj4gICAg ICAgIC8vDQo+ID4+Pj4+Pj4+ICAgICAgICAvLyBJbml0aWFsaXplIHByaXZhdGUgZGF0YQ0KPiA+ Pj4+Pj4+PiAgICAgICAgLy8NCj4gPj4+Pj4+Pj4gLS0NCj4gPj4+Pj4+Pj4gMi4yOC4wLndpbmRv d3MuMQ0KPiA+Pj4+Pj4+DQo+ID4+Pj4+Pj4NCj4gPj4+Pj4+Pg0KPiA+Pj4+Pj4+DQo+ID4+Pj4+ Pj4NCj4gPj4+Pj4+DQo+ID4+Pj4+Pg0KPiA+Pj4+Pj4NCj4gPj4+Pj4+DQo+ID4+Pj4+Pg0KPiA+ Pj4+Pj4NCj4gPj4+Pj4+DQo+ID4+Pj4+Pg0KPiA+Pj4+Pj4NCj4gPj4+Pj4+DQo+ID4+Pg0KPiA+ Pj4NCj4gPj4+DQo+ID4+Pg0KPiA+Pj4NCj4gPg0KPiA+DQo+ID4NCj4gPg0KPiA+DQo+IA0KPiAN Cj4gDQo+IA0KDQo=