From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by mx.groups.io with SMTP id smtpd.web10.11037.1650048473640641249 for ; Fri, 15 Apr 2022 11:47:54 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=Y/IMAIBI; spf=pass (domain: intel.com, ip: 134.134.136.20, mailfrom: isaac.w.oram@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1650048473; x=1681584473; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=Gif14IqQotR4L5xPNv3b6A0n2bixXngRoTFIwU2I+Eg=; b=Y/IMAIBI5xyEvKFp3jyzXUXBTTMQLnTaw1sRNUtTR+ZdBGMREyb0vLeD pPSvYaP1rDg14zlKeM8kqtsXQLpb5RFz6fD7a7VBtkRyYddL7c2cFlDzA LM+r/BT/d55ub2ASmIz1I5B76KMPXThzr2IpnWFHpsrjB4yy7Ykemy2SP rpFgB8s8ajtcWw+fFRosGJUyBHtayIvUZzJmotbTekLoG/zj0N+Wc4tFU lUEq36MP4caZhagZWbIP3UrgxXohr+n7CR2xr7m8vDYi3M65IYH9JFXwZ TyE7XazguOiDSu99rhP+tPsdu4K068zraH75kIh2rQrFq8o93GYaJouO2 w==; X-IronPort-AV: E=McAfee;i="6400,9594,10318"; a="250508606" X-IronPort-AV: E=Sophos;i="5.90,263,1643702400"; d="scan'208";a="250508606" Received: from orsmga007.jf.intel.com ([10.7.209.58]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Apr 2022 11:47:52 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,263,1643702400"; d="scan'208";a="553268710" Received: from fmsmsx605.amr.corp.intel.com ([10.18.126.85]) by orsmga007.jf.intel.com with ESMTP; 15 Apr 2022 11:47:52 -0700 Received: from fmsmsx602.amr.corp.intel.com (10.18.126.82) by fmsmsx605.amr.corp.intel.com (10.18.126.85) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27; Fri, 15 Apr 2022 11:47:51 -0700 Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27 via Frontend Transport; Fri, 15 Apr 2022 11:47:51 -0700 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (104.47.58.168) by edgegateway.intel.com (192.55.55.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2308.27; Fri, 15 Apr 2022 11:47:51 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=T58p9ntBvz7LMpwgK5vZtBgGRBOEyx+ysxwG/BTnr8mGdqSx56DbVrgzDFUeQ2VG1lOLkeiEcOrOZmYQojPa9KRSeOBn5vM7wGaLiKxBca1TYjvgpVO7BgzvT2fIuloQ0/rue8GIYNKera7Z0badHPCaWAxM90z5rVEfyMfITYGNc6/+KJduBfJB9/OhNlrh4VxrqF1Udm1SRi7XWai9lp/wwjUmqFRLrth5NlH6228OuNrw3t/WeGCnw+FuTk/tpAxufaycdEAwqTpfLwslZ9sSn5GSpzSygdYMdLTw+RAh7WmlU5aQ6lEZy3Gc7ToiTSvuk79p7+MMintllm+8mQ== 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=Gif14IqQotR4L5xPNv3b6A0n2bixXngRoTFIwU2I+Eg=; b=PstnO9fcBMnxRzzr51R2w7t7mEMu1bZFDVwX7KBxC7FChNk0u5OtFQx8ozh9e7oRcMDG1aw9M7gi+Cia0L9U54RYFTjNrJEOR8hLaMdo8jHh70qp0FeGfXVBhPyrSWqoCa6KhEelGyqluH6phpErMCLyr9FxK98Oe/Clgh1BP67gvVCbJjlzCPXO50KDssy97Jl4BiP1tS7L337L2eIE6uZPFHhyOriW6HOPhjVR79sNpiisVKOG9i0f0eAlzc9/lRtDI4YTW4D7sCOIMQJMy3DQRuoXZS6wRtcQu+UP3HC9aOqiT6nqEzp4hA1zPEyNUiMj19xEmKzZ6WzDT9bOyA== 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 MW3PR11MB4747.namprd11.prod.outlook.com (2603:10b6:303:2f::11) by CH0PR11MB5396.namprd11.prod.outlook.com (2603:10b6:610:bb::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5164.18; Fri, 15 Apr 2022 18:47:48 +0000 Received: from MW3PR11MB4747.namprd11.prod.outlook.com ([fe80::8d7f:e5e0:8bb7:4cad]) by MW3PR11MB4747.namprd11.prod.outlook.com ([fe80::8d7f:e5e0:8bb7:4cad%7]) with mapi id 15.20.5164.020; Fri, 15 Apr 2022 18:47:48 +0000 From: "Oram, Isaac W" To: "devel@edk2.groups.io" , "mhaeuser@posteo.de" , "discuss@edk2.groups.io" , "Johnson, Brian" , "Desimone, Nathaniel L" , Andrew Fish CC: Pedro Falcato , "adachristine18@gmail.com" , "Shi, Steven" Subject: Re: [edk2-devel] [edk2-discuss] GSoC Proposal Thread-Topic: [edk2-devel] [edk2-discuss] GSoC Proposal Thread-Index: AQHYT9UDUvd7bqN8CEWesZ2VboftNKzxKw7YgAAFYwCAABZzMA== Date: Fri, 15 Apr 2022 18:47:48 +0000 Message-ID: References: <865CD9EA-0EB4-4DE9-AFC6-DCB505A067EE@posteo.de> <47C4D916-19E4-48E8-BB81-982F9B70B5DC@apple.com> <56CE4C08-4232-4897-9B0F-6C6443C2C48D@intel.com> <094f2e37-55ea-bd3e-a918-cd4ce1a48830@hpe.com> <08dc76aa-029f-1657-49f6-9057df8c15d2@posteo.de> In-Reply-To: <08dc76aa-029f-1657-49f6-9057df8c15d2@posteo.de> 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-office365-filtering-correlation-id: f0c151c2-e575-4097-73c2-08da1f106fcd x-ms-traffictypediagnostic: CH0PR11MB5396:EE_ x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: Qa20O1KH8r2eVUGd2vMm+Ci9nfq7jGJ23JYpxWvgkGLcZ4rIfbEYy1pmCC06AdcJr1ecyODZwZ0hIXbxNbQWx7vNZeTw5pUm26fcX5nzYvJPW4sGZRz4KfWwBF2SEHRdPAx5+yvw/nwRS8GPtCyLO9FMA6qJ7BXcvrstNpoIsNQTqgNvHkxXeuuuSyLK22+Wq9HsZUdvwgwFdVT9ZNllaEkV3NVAxYBHVxZN3SlkOjxxv+xRdMIruAkRzZSiGzeFEz5sfneggDT8FmKF5+NGeqGXhKf73hnp7ViVP+krotvTzElW1dYIdlmbZwfv8PM/LzF4uAbWsFHbki6ytK4KVU3w75UexoxnxAPt5pM+jaqP4f0tnA7OsFlvqK0T7eSD2PPRaONEKtk3Ed6QlAp8M7SJJWSvUr5n6v/Mmqfem6W1xeiA/+Mw0+WN9UmSqKgBD8VgAGFzEbTYmjvX+vEYcD3mJsXojKZFMxvnH0ukE1sJVlvY5ifyhjOksg7LMCn5ngF0kWGzfS2ONmE/HgNIe6jvhNG3kcK4CzjSSn80rD8QqgR7AE6s2GthHtJWYUl38TXk/2TFdD0GF9dU8LyDQOx581Ve8xvVhetbgXFRX1KoSSgaKA5OqSsUlnBxR2/uG12XWV3b8C7scLDp/foi000kY6PIR4TPrcihg0mB5OZrxk7JZO+GNJ5ElVokIYQ/vB63Cc6b+aloR6R3DWDAjr+RXUI2b7ay6aAppD2QrBwWeTziPJ6GMEpC07jHY4VRNYLew8xmvW7T7C36PgPppF/874NLGlcZjJwFUdysympw1KOXOEDwdIFLU3iokcf92zRAc9kbBx3UrmkDhVS97hUuVLRNYFA95nwLAToi+xU= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW3PR11MB4747.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(366004)(8936002)(316002)(5660300002)(86362001)(66476007)(53546011)(66946007)(55016003)(71200400001)(76116006)(52536014)(82960400001)(122000001)(2906002)(9686003)(64756008)(33656002)(4326008)(26005)(186003)(66556008)(66446008)(38100700002)(110136005)(30864003)(8676002)(966005)(107886003)(6506007)(83380400001)(7696005)(54906003)(508600001)(38070700005)(66574015)(443494004)(559001)(579004);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?ZjJ2WElwNVluQWFvUE1GT3o0TE5vaVVIMkQxcHp0M1owRkNnaWFGdjN5dzJj?= =?utf-8?B?V3I1cmtNc1dYWm5iNUVITjFvY0xDNDFzdFlGSVZVSUhXdURid2FTZ1BMZTR6?= =?utf-8?B?aElrd3VmdklDS2dkbTQ4Zmt1ekdtVW5FdXYwajhPcUtuTHV4V3oyaGRYWklx?= =?utf-8?B?YTdmZFlZNm5MTXRncTMrWDFObzVhMmxXWmc2M3BSWmdNemVLSkRZQmcyUnZv?= =?utf-8?B?N0lRdDFvdmpyaWk3SzVxcW56R2E5elQvMGtrZ1pXYUVvdWREVmJmbElvenZO?= =?utf-8?B?Q0tQV29XL1M3UUJiYmQ3dkd5L0V1c1dadGswSFQ1b0RLWm0ydFVsTXRqVE5S?= =?utf-8?B?aGVEcU9PL2RvczdBNy9GVE15cUVoZFNOQVZQbkp6eTEzalhNRUVvUndVSTM0?= =?utf-8?B?QUFpWWFrcnJBRkRudnk5bHdwUHlUVk1Wcm9OdmRESXE3dWFMbTVMUEdIWkIw?= =?utf-8?B?cjJ6WHpJQUt3S1RydG90WXRZRUZ0eHNLRFk4Vy9hZnFKd0wwbGxlakJPd3VS?= =?utf-8?B?SGM2QjFMQjVaWWxpZ0VMM3QwTkZIZEdIbklLRnA2Y1FsLy80MGhRVk1OQTlp?= =?utf-8?B?aktnNTM0SVdVUFp0UEpmeFFna0J6eHJ2ZXpia29oUHFQMjNaNVp5bGRadUJ6?= =?utf-8?B?TnlSOWllVS96eEhwQThKbFI0MWxGaUpsNjg0NkVBTFBVV1hLdlV6azlCRzNp?= =?utf-8?B?cTlvTXZvT1c0MSsrQVltNUR0TTBMeTZxelNhQ1FEdTRhZi9uYlp5dHVUWDVB?= =?utf-8?B?NXFTRW9GM3FoU1JsblV0WFNsQkdnSmx3bzh1bW1lZ0pkTkhUTmhUWGJYb1VY?= =?utf-8?B?SFNseld3U0V4dDNjS01zY3lGN25QeTBNTjBiZWFHRGI2WlozU3ZXaHZPUVVH?= =?utf-8?B?MG1YUGxEZmZVZjc4OElNd01YcCt5dkRJYnhJSFdranlEd1hmQmtIaDFxNkRz?= =?utf-8?B?RzFaN1ZSWWlqVFNGcVZNR21vZXcrNXZKQ3JyL1cydTM0Q0tBaVRWaHZ5TG41?= =?utf-8?B?MlU2WTNEV2liRE5ldHp3ZEJ5cFVRWmlWazRPcC9DNGZ1cm9IY2Z1WmUwRDBR?= =?utf-8?B?RFV2Yk1jaU85L0xudmNRSFBDakE2d01TaklJS3ljTEEyQlFweFdqcnQzU3Yy?= =?utf-8?B?L3pjVTU3S09hQlpLQjE2ZjZKeG5ZMkxXMEYrRW9ZQmZic0tjOWxLYU1vV29u?= =?utf-8?B?b20wNDVSTGFkOWx0VVNNUlIvTnI5MjZYL3VpVDVXQzU4LzRicS9xWkMrZjVk?= =?utf-8?B?SjZXUVUzbVBBZUwyL0UyQ0tQc0pHQzVGWG1nSEFqb0lJTTNCbkJQQjQwK0U2?= =?utf-8?B?bzl0SDF0Vmo0K1ZaSXNFVmJ4azBsOU5iVFdPM1VPOXo4a0FxM1VlUFFidjVa?= =?utf-8?B?aVp3QzFoaDRYR0Z1MklVS3hwOXUxVTIyL1dSWko4VmhFZGM0aHE3TmxOSm9X?= =?utf-8?B?Zi8xWHFKWldZTWNZYlg3OEVWbXBNTGx6WTdDRU1mMUszWjQ1YjZyUTJBN294?= =?utf-8?B?Kzl0aHBvMjJ6bGRVRk9vdWV0bkRnbHRwU1VnNTg0dEpmZDZUUVF0V3hBQWpZ?= =?utf-8?B?aG9HZkgxTHN1N1hTTUlPU3lqbkFTR2ZGUVYzVERtOEgzb1p1eU9xMlBIZGtz?= =?utf-8?B?V3RKVUdRQVBRNnpCdG1qVmVobXIrMDNUdWpFZ0h2K2t1bHBEMnFXalRWZy9V?= =?utf-8?B?ZysyWFRkZnNSTVd0c1hYemNVd1lMR3pKK0sycUMyS2RtdmdzR0svUS8zcmZI?= =?utf-8?B?MG9Ed1hjT1RqQk13UjBTSTRBUmN3cUlhczdsSkhHMnBoeUx1N0w2SFRuMG9Y?= =?utf-8?B?QU44TTFKZE1RWEFZS0daNndEeFp4OFdNVzA5UkZWSEhUekhJQUo4TFpWRWxm?= =?utf-8?B?MXJpTUlJN1JrNkJkbUtPbzAzU09aYXNkcmZrTWRBaE14ZnVoMCtTUmxsd3Rv?= =?utf-8?B?STVvWE8xeW5yTXJvdklEMmNZSjB1amhiMXh3R2RwKzNSalhpbzE2TWM2b081?= =?utf-8?B?bFUyOEljbGQ1R2JyRTQ5aURpK2dJYjNkclNSRHhtSmlOaWxTTTB2RnRNb3Rn?= =?utf-8?B?Q0YxR3JEaHd1K3laK1p0cElPWmFtelpVVmRBZFdEbXVoTkVnRm1XS0M0NzRS?= =?utf-8?B?UXU4YTRUU3B4clpLekkrNmRzdnR3N1JxSDZYVFYzNk1NNnFBKzdxNHlOV1dl?= =?utf-8?B?TTIvK1JmVVIzYXhQOVJGVkF3NFdUVFR6eG1KZ01QZU9CQTg1R2Z0WndTV0xi?= =?utf-8?B?ZGF0eTJGUDNkTytBcHYxNERnb2NQT0FRd0RvcDFkM3VvR1BJU3ZSUkVpNHVn?= =?utf-8?B?Slh1SDY1UmtYNkpRMTk2OUxYYTFpelVCVGx6RllZSFBIR3lrdkdMZz09?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MW3PR11MB4747.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: f0c151c2-e575-4097-73c2-08da1f106fcd X-MS-Exchange-CrossTenant-originalarrivaltime: 15 Apr 2022 18:47:48.0769 (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: pjRAirBHYeFH0/WL+RyvhYdIgsy2DtG9wIEdw7k+oHJXaIHhZl9bcby4UcbpaWhJjSpPso1fVTjVHrATHQBU+w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR11MB5396 Return-Path: isaac.w.oram@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SW4gcHJhY3RpY2UsIGl0IGZlZWxzIGxpa2Ugd2UgaGF2ZSBldm9sdmVkIGZhciBiZXlvbmQgb3Jp Z2luYWwgUEVJIHNjb3BlIGZvciBuYXR1cmFsIGFuZCBnb29kIHJlYXNvbnMuICBJbml0aWFsbHks IGl0IHdhcyB2ZXJ5IHJlc291cmNlIGNvbnN0cmFpbmVkLiAgOEtCIENBUiBmb3IgZGF0YSBvbmx5 LiAgVGhhdCBpcyBubyBsb25nZXIgYSByZWFsIGNvbnN0cmFpbnQgZm9yIG1vc3QgSFcuICBBbmQg dGh1cyB3ZSBnZXQgdGhpbmdzIGxpa2UgTVAgc2VydmljZXMgZWFybHksIHdyaXRhYmxlIHZhcmlh YmxlcyBlYXJseSwgY29tcGxleCBQQ0QgZGF0YWJhc2VzLCBhbmQgc3VjaC4NCg0KSSBkb24ndCB0 aGluayBpdCBpcyBiYWQuICBUaGUgUEVJIGVudmlyb25tZW50IGlzIG11Y2ggZnJpZW5kbGllciBm b3IgZGV2ZWxvcGluZyBhbmQgZGVidWdnaW5nIHViaXF1aXRvdXMgc2lsaWNvbiBpbml0aWFsaXph dGlvbiB0aGFuIERYRS4gIFViaXF1aXRvdXMgbWVhbmluZyB5b3UgcHJldHR5IG11Y2ggbmVlZCB0 byBkbyBpdCBvbiBhbnkgYm9vdCBwYXRoIHRvIGFueSBib290IGRldmljZS4gIFByZSBNZW1vcnkg UEVJIGFuZCBQb3N0IE1lbW9yeSBQRUkgc2VlbSB0byBiZSB0aGUgcmlnaHQgZGVzaWduIGZvciBt YW55IHRoaW5ncy4gIEl0IGdlbmVyYWxseSBzaW1wbGlmaWVzIGhhbmRzaGFraW5nIGJldHdlZW4g ZWFybHkgYW5kIGxhdGVyIHNpbGljb24gY29kZS4NCg0KVGh1cyBJIGxpa2U6DQpTRUM6IAkJCUJh c2ljcw0KUEVJIFByZS1NZW06ICAJCUdldCBtZW1vcnkNClBFSSBQb3N0LU1lbTogIAkJQ29tcGxl dGUgYWxsICJhbHdheXMgcmVxdWlyZWQiIHNpbGljb24gaW5pdC4gIENhbiBhbHNvIGRvIHNpbGlj b24gaW5pdCBmb3IgbW9yZSBvcHRpb25hbCBwbGF0Zm9ybSBmZWF0dXJlcy4gIFNob3VsZCBub3Qg ZG8gc2lsaWNvbiBpbml0IGZvciBkeW5hbWljYWxseSBvcHRpb25hbCBmZWF0dXJlcy4NClN0YW5k YWxvbmUgTU06ICAJS2lja2VkIG9mZiBmcm9tIHBvc3QgbWVtb3J5IFBFSS4NCkRYRToJCQlTZXR1 cCBkcml2ZXIgYW5kIFVFRkkgZW52aXJvbm1lbnRzDQpCRFM6CQkJSW5pdGlhbGl6ZSBib290IHRh cmdldCBzcGVjaWZpYyByZXF1aXJlZCBIVywgcHJvdmlkZSBhbnkgcmVxdWlyZWQgdXNlciBpbnRl cmZhY2UsIGJvb3QgT1MNCg0KSSB0aGluayB0aGF0IHRoaXMga2luZCBvZiBkZXNpZ24gZGl2aXNp b24gbWFrZXMgYSBzb2x1dGlvbiB2ZXJ5IGZsZXhpYmxlIGZvciBzdXBwb3J0aW5nIGEgd2lkZSBy YW5nZSBvZiBkZXNpZ25zLiAgSXQgYWxsb3dzIG1vcmUgZ2VuZXJpYy9yZXVzYWJsZSBEWEUgYW5k IEJEUy4gIEl0IG1ha2VzIFNNTSBhIG1vcmUgb3B0aW9uYWwgc29sdXRpb24uICBXZSBoYXZlIGxh dW5jaGVkIExpbnV4IGFzIGFuIGVtYmVkZGVkIE9TIG9yIHRhcmdldCBPUyBmcm9tIERYRSBJUEws IERYRSBDb3JlLCBCRFMsIGV0Yy4gIEl0IHN1cHBvcnRzIHRoYXQga2luZCBvZiBmbGV4aWJpbGl0 eS4gIEl0IGVuYWJsZXMgTGludXhCb290IEAgQkRTIGFuZCBvbmUgZGF5IGluIHBsYWNlIG9mIERY RSAoVW5pdmVyc2FsIFBheWxvYWQpLg0KQW5kIGZ1bmRhbWVudGFsbHksIGl0IGNhbiByZWR1Y2Ug Y29tcGxleGl0eSBiZWNhdXNlIHdlIGNhbiByZWR1Y2UgdGhlIGhhbmRzaGFraW5nIGFjcm9zcyBw aGFzZXMuICBUaGF0IHRlbmRzIHRvIGludHJvZHVjZSBjb21wbGV4aXR5IHRoYXQgdGhlIGFib3Zl IGhlbHBzIHJlZHVjZS4gDQoNCldlIHRyaWVkIHRvIGluY29ycG9yYXRlIGEgbG90IG9mIHRoaXMg aW4gdGhlIE1pbmltdW0gUGxhdGZvcm0gQXJjaGl0ZWN0dXJlIHNwZWMgYW5kIGl0IGhhcyBiZWVu IHdvcmtpbmcgZmFpcmx5IHdlbGwuICBJdCBpcyBoYXJkIHRvIG1pZ3JhdGUgdGhlIGxhcmdlIG1h c3Mgb2YgZXhpc3RpbmcgY29kZSwgc28gd2UgZG9uJ3QgaGF2ZSBhIHBlcmZlY3QgZXhhbXBsZSBv ZiB0aGlzIGluIGFjdGlvbi4gIEJ1dCB0aGUgdmlzaW9uIGlzIHRoYXQgeW91IGNhbiBkZXNpZ24g c3VjaCB0aGF0IHRoZSBwaGFzZXMgYXJlIHdlbGwgYm91bmRlZCBhbmQgdmVyeSB0ZXN0YWJsZS4g IEFuZCB0aGlzIHdpbGwgaGVscCBzaWxpY29uIGRldmVsb3BtZW50LCBib2FyZCBwb3J0aW5nLCBh bmQgYWRkaW5nIGZlYXR1cmVzLiAgSWYgd2Ugc3VjY2VlZCwgd2UgcHJvYmFibHkgY29tZSBiYWNr IHRvIGFzayBmb3IgY2hhbmdlcyB0byBtYWtlIHRoZSBwcmUtbWVtb3J5IHRvIHBvc3QtbWVtb3J5 IGhhbmRvZmYgYmV0dGVyLiAgSSBmaW5kIGZldyBwZW9wbGUgcmVhbGx5IGtub3cgdGhhdCB3ZWxs IGFuZCB3ZSBoYXZlIHJlcGVhdGVkIHBlcmZvcm1hbmNlIHByb2JsZW1zLiAgQnV0IGdlbmVyYWxs eSwgdGhlcmUgaXMgcGxlbnR5IG9mIGZsZXhpYmlsaXR5IGluIHRoZSBleGlzdGluZyBhcmNoaXRl Y3R1cmUgYW5kIHBoYXNlcyB0byB0dW5lIHRoaXMgZm9yIG1hbnkgYW5zd2Vycy4NCg0KU3BlY2lm aWMgdG8gdGhlIGRpc2N1c3Npb24gb2YgRExMIGxpa2UgYmVoYXZpb3IuICBJIGFncmVlIGl0IHNo b3VsZCBiZSBoYW5kbGVkIGJ5IHRvb2xzIGFuZCBub3QgYSB1bmlxdWUgYW5kIGNvbXBsZXggYW5z d2VyLiAgSXQgaXMgYWN0dWFsbHkgYSB0cml2aWFsIGNoYW5nZSB0byB0YWtlIGV4aXN0aW5nIFBF SU0gKGZvciBleGFtcGxlKSBhbmQganVzdCBhZGQgdGhlIGVudHJ5IHBvaW50IGFzIGEgbGlicmFy eSBjbGFzcyBjb25zdHJ1Y3RvciBhbmQgdGhlbiB5b3UgY2FuIGxpbmsgYSBidW5jaCBvZiBQRUlN IGludG8gYSBzaW5nbGUgaW1hZ2UuICBJdCB3b3VsZCBiZSBwcmV0dHkgbWlub3IgdG8gbWFrZSB0 aGlzIGVhc3kgYW5kIHN1cHBvcnRlZCBJIHdvdWxkIHRoaW5rLiAgWW91IGxvc2UgZHluYW1pYyBk aXNwYXRjaCwgb2J2aW91c2x5LiAgQnV0IGl0IGlzIGEgc2hvcnQgaGFjayB0byBlbGltaW5hdGUg ZWFybHkgbGlicmFyeSBkdXBsaWNhdGlvbi4NCg0KUmVnYXJkcywNCklzYWFjDQoNCi0tLS0tT3Jp Z2luYWwgTWVzc2FnZS0tLS0tDQpGcm9tOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbyA8ZGV2ZWxAZWRr Mi5ncm91cHMuaW8+IE9uIEJlaGFsZiBPZiBNYXJ2aW4gSMOkdXNlcg0KU2VudDogRnJpZGF5LCBB cHJpbCAxNSwgMjAyMiA5OjQ0IEFNDQpUbzogZGlzY3Vzc0BlZGsyLmdyb3Vwcy5pbzsgSm9obnNv biwgQnJpYW4gPGJyaWFuLmpvaG5zb25AaHBlLmNvbT47IERlc2ltb25lLCBOYXRoYW5pZWwgTCA8 bmF0aGFuaWVsLmwuZGVzaW1vbmVAaW50ZWwuY29tPjsgQW5kcmV3IEZpc2ggPGFmaXNoQGFwcGxl LmNvbT47IGRldmVsQGVkazIuZ3JvdXBzLmlvDQpDYzogUGVkcm8gRmFsY2F0byA8cGVkcm8uZmFs Y2F0b0BnbWFpbC5jb20+OyBhZGFjaHJpc3RpbmUxOEBnbWFpbC5jb207IFNoaSwgU3RldmVuIDxz dGV2ZW4uc2hpQGludGVsLmNvbT4NClN1YmplY3Q6IFJlOiBbZWRrMi1kZXZlbF0gW2VkazItZGlz Y3Vzc10gR1NvQyBQcm9wb3NhbA0KDQpIZXkgQnJpYW4sDQoNCk9uIDE1LjA0LjIyIDE4OjIyLCBC cmlhbiBKLiBKb2huc29uIHdyb3RlOg0KPiBOYXRlLCBBbmRyZXcsIE1hcnZpbiwgUGVkcm8sIEFk YSwgZXQgYWwsDQo+DQo+IFRoaXMgaXMgYSBncmVhdCBkaXNjdXNzaW9uLsKgIEkndmUgYmVlbiBk ZWJhdGluZyB3aGVyZSB0byB3ZWlnaCBpbi4uLg0KDQpQZXJzb25hbGx5LCBJIGRvbid0IHRoaW5r IHRoaXMgdG9waWMgY2FuIGdldCBlbm91Z2ggYXR0ZW50aW9uLiBUaGFua3MhIDopDQoNCj4NCj4g SSBhZ3JlZSB0aGF0IHNvbWUgc29ydCBvZiBsaWJyYXJ5IHNoYXJpbmcgdG8gcmVkdWNlIGltYWdl IHNpemUgd291bGQgDQo+IGJlIHZlcnkgaGVscGZ1bC7CoCBBbHRob3VnaCBzb21lIHBhcnRzIG9m IHRoZSBCSU9TIGFyZSBidWlsdCANCj4gc2VwYXJhdGVseSwgbGFyZ2UgcGFydHMgb2YgaXQgYXJl IGNvbXBpbGVkIGF0IHRoZSBzYW1lIHRpbWUsIHNvIHRoZXJlIA0KPiBzaG91bGQgYmUgYW1wbGUg b3Bwb3J0dW5pdHkgZm9yIHRvb2wtZGlyZWN0ZWQgc2hhcmluZy7CoCBTb21lIGZvcm0gb2YgDQo+ IHByZS1saW5raW5nIG1vZHVsZXMgdG9nZXRoZXIgbWF5IGJlIHRoZSBlYXNpZXN0IHdheSB0byBk byB0aGF0LsKgIEJ1dCANCj4gaG93ZXZlciBpdCBnZXRzIGltcGxlbWVudGVkLCB3ZSBzaG91bGQg dHJ5IHRvIG1ha2UgaXQgYXV0b21hdGljOg0KPiByZXF1aXJpbmcgbGlicmFyeSB3cml0ZXJzIHRv IG1hbnVhbGx5IGFkZCBhIGxvdCBvZiBtZXRhZGF0YSBvciB3cml0ZSANCj4gdGh1bmtzIG9yIHNo aW1zIHdvdWxkIGJlIGEgYmFycmllciB0byBhZG9wdGlvbi4NCg0KTXkgc3VnZ2VzdGlvbiB0byB1 c2UgYSBwcml2YXRlIGZ1bmN0aW9uIGFycmF5IHdvdWxkIGluZGVlZCByZXF1aXJlIHNoaW1zLCBo b3dldmVyIHRoaXMgd291bGQgYmUgdGhlICJiZXR0ZXIgdGhhbiBub3RoaW5nIEkgZ3Vlc3MiIHNv bHV0aW9uIHdoZXJlIG9ubHkgdGhlIG1vc3QgdXNlZCBhbmQgbW9zdCBwYWluZnVsIHRvIGR1cGxp Y2F0ZSBmdW5jdGlvbnMgYXJlIHNoYXJlZCwgZS5nLiwgbWVtb3J5IGFuZCBtYXliZSBjb21tb24g c3RyaW5nIHByaW50aW5nIGZ1bmN0aW9ucy4gVGhpcyB3b3VsZCBxdWlja2x5IGFuZCBlZmZpY2ll bnRseSBhY2hpZXZlIHRoZSBnb2FsIG9mICJyZWR1Y2Ugc2l6ZSIuIEFuZCBzb21lIGZvcm0gb2Yg c29waGlzdGljYXRlZCBwcmVsaW5raW5nIHdvdWxkIGJlIG15IHByb3Bvc2FsIGZvciBzb21ldGhp bmcgbW9yZSBzeXN0ZW1hdGljLCB3aGljaCBtaWdodCBjb21lIGEgbG90IGNoZWFwZXIgd2l0aCB0 aGUgc2VjdXJpdHkgZmVhdHVyZXMgdG8gYmUgYWRkZWQuDQoNCj4NCj4gSSBhbHNvIGFncmVlIHRo YXQgUEVJIGhhcyBhY3F1aXJlZCBmYXIgdG9vIG11Y2ggZnVuY3Rpb25hbGl0eSBvdmVyIA0KPiB0 aW1lLCBhbmQgd2UgYmFkbHkgbmVlZCB0byBmaW5kIHNvbWUgd2F5IHRvIHJldmVyc2UgdGhhdC7C oCBQRUkgaXMgDQo+IHB1bGxpbmcgaW4gbW9yZSBhbmQgbW9yZSBvZiB0aGUgaC93IGluaXRpYWxp emF0aW9uLCBsZWF2aW5nIERYRSBtYWlubHkgDQo+IHRvIHByb3ZpZGUgdGhlIGJvb3QgaW50ZXJm YWNlIChBQ1BJLCBVRUZJIHNlcnZpY2VzLCBzZXR1cCBzY3JlZW5zLA0KPiBldGMuKcKgIFRoYXQg cHV0cyBtb3JlIGFuZCBtb3JlIHByZXNzdXJlIG9uIFhJUCBzdG9yYWdlIGFuZCANCj4gY2FjaGUt YXMtUkFNLsKgIEhvdyBjYW4gd2UgZW5jb3VyYWdlIGEgY2hhbmdlPw0KDQpJJ20gbm90IGluIHRo ZSBsb29wIGVub3VnaCB0byBjb21tZW50IG9uIHRoZSBYSVAgYW5kIENBUiBpc3N1ZXMuIA0KSG93 ZXZlciwgSFcgaW5pdCBtb3ZpbmcgdG8gUEVJIChvciBtb3JlIGdlbmVyYWxseSwgaW50byBhIHNp bmdsZSBzdGFnZSkgaXMgbm90IG5lY2Vzc2FyaWx5IGEgYmFkIHRoaW5nLCBpcyBpdD8gQXMgSSd2 ZSBzYWlkIGJlZm9yZSwgSSdtIG5vdCBzdXJlIHdoYXQgZWxzZSB0byB0aGluayBvZiBQRUkgdGhh biAiRFhFIGxpZ2h0Ii4gQm90aCAiaW5pdGlhbGlzZSBzb21lIG9mIHRoZSBoYXJkd2FyZSIgd2l0 aCBubyBjbGVhciBzY29wZSBib3VuZGFyeSBidXQgd2l0aCBzaW1pbGFyIGludGVyZmFjZXMuIElm IHRoZXkgd2VyZSBzb3J0IG9mIGZ1c2VkIHRvIHByb3ZpZGUgYSBtaW5pbWFsICJwcmUtbWVtb3J5 IFBFSSIgYW5kIGEgbW9yZSBEWEUtbGlrZSAicG9zdC1tZW1vcnkgUEVJIiB3aXRob3V0IGhhdmlu ZyBhIGNsZWFyIGJvdW5kYXJ5IGJldHdlZW4gSFcgaW5pdCBzdGVwcywgd291bGQgdGhhdCBiZSB0 b28gYmFkPyBOb3cgSSdtICpyZWFsbHkqIGp1c3QgYmxpbmRseSBndWVzc2luZyBiZWNhdXNlIEkg YmFyZWx5IGxvb2tlZCBpbnRvIHRoaXMgcHJvamVjdCwgYnV0IGlzbid0IHRoYXQgc29tZXdoYXQg dGhlIGlkZWEgb2YgU2xpbUJvb3Rsb2FkZXI/DQoNCllvdXIgZGVzY3JpcHRpb24gb2YgRFhFIHNv cnQgb2YgaXMgaXQgY29sbGFwc2luZyBpbnRvIGFuIGFkdmFuY2VkIEJEUy4gDQpOYXRlIGVhcmxp ZXIgc2FpZCBoZSdkIGxpa2UgYSBjbGVhciBkaXN0aW5jdGlvbiBiZXR3ZWVuIERYRSBhbmQgQkRT LCB3aGljaCBJIGRpZG4ndCByZWFsbHkgZ2V0IHRoZSBwb2ludCBvZi4gQnV0IGlmIFBFSSBjb25z dW1lZCB0aGUgSFcgaW5pdCBwb3J0aW9ucyBvZiBEWEUsIGEgbW9yZSBhZHZhbmNlZCBCRFMgKHdo aWNoIGFsc28gcG93ZXJzIGUuZy4gdGhlIEhJRCBzdHVmZiBvbiB0aGUgd2F5KSB3b3VsZCBiZSB0 aGUgbG9naWNhbCByZW1haW5kZXIgc3RhZ2UgdG8gc2VwYXJhdGVseSBzdXBwb3J0IFVFRkkgYm9v dGluZyBhcyBhIHBheWxvYWQgKGZvciBTbGltQm9vdGxvYWRlciwgY29yZWJvb3QsIC4uLikuDQoN CkFsbCBvZiB0aGF0IHdhcyBsb2dpY2FsbHkgc3BlYWtpbmcuIEV2ZW4gaWYgdGhlIGRldmVsb3Bt ZW50IHdhcyBkcml2ZW4gdG8gaXRzIGV4dHJlbWUsIFBFSSBhbmQgRFhFIGNvcmVzIHdvdWxkIHN0 aWxsIHNoYXJlIGEgYnVuY2ggb2YgY29kZSBhbmQgaXQgbWlnaHQgbWFrZSBzZW5zZSB0byBzaGFy ZSBhIGZvdW5kYXRpb24gdGVjaG5pY2FsbHkuDQoNCkJlc3QgcmVnYXJkcywNCk1hcnZpbg0KDQo+ DQo+IFRoYW5rcywNCj4gQnJpYW4gSi4gSm9obnNvbg0KPg0KPg0KPiBPbiA0LzE1LzIyIDAzOjE1 LCBOYXRlIERlU2ltb25lIHdyb3RlOg0KPj4gSGkgQW5kcmV3LA0KPj4NCj4+IE9uIDQvMTQvMjIs IDc6NDMgUE0sICJBbmRyZXcgRmlzaCIgPGFmaXNoQGFwcGxlLmNvbT4gd3JvdGU6DQo+Pj4NCj4+ Pg0KPj4+PiBPbiBBcHIgMTQsIDIwMjIsIGF0IDY6MDYgUE0sIE5hdGUgRGVTaW1vbmUgDQo+Pj4+ IDxuYXRoYW5pZWwubC5kZXNpbW9uZUBpbnRlbC5jb20+IHdyb3RlOg0KPj4+Pg0KPj4+PiBIaSBN YXJ2aW4sDQo+Pj4+DQo+Pj4+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPj4+Pj4gRnJv bTogZGV2ZWxAZWRrMi5ncm91cHMuaW8gPGRldmVsQGVkazIuZ3JvdXBzLmlvPiBPbiBCZWhhbGYg T2YgDQo+Pj4+PiBNYXJ2aW4gSMOkdXNlcg0KPj4+Pj4gU2VudDogVGh1cnNkYXksIEFwcmlsIDE0 LCAyMDIyIDEyOjU2IEFNDQo+Pj4+PiBUbzogZGlzY3Vzc0BlZGsyLmdyb3Vwcy5pbzsgRGVzaW1v bmUsIE5hdGhhbmllbCBMIA0KPj4+Pj4gPG5hdGhhbmllbC5sLmRlc2ltb25lQGludGVsLmNvbT4N Cj4+Pj4+IENjOiBQZWRybyBGYWxjYXRvIDxwZWRyby5mYWxjYXRvQGdtYWlsLmNvbT47IGVkazIt ZGV2ZWwtZ3JvdXBzLWlvIA0KPj4+Pj4gPGRldmVsQGVkazIuZ3JvdXBzLmlvPjsgYWRhY2hyaXN0 aW5lMThAZ21haWwuY29tOyBTaGksIFN0ZXZlbiANCj4+Pj4+IDxzdGV2ZW4uc2hpQGludGVsLmNv bT4NCj4+Pj4+IFN1YmplY3Q6IFJlOiBbZWRrMi1kZXZlbF0gW2VkazItZGlzY3Vzc10gR1NvQyBQ cm9wb3NhbA0KPj4+Pj4NCj4+Pj4+IEkgZmVlbCBsaWtlIHRoZXJlIGFyZSBzbyBtYW55IG11Y2gg ZWFzaWVyIHNvbHV0aW9ucyB0byB0aGlzIA0KPj4+Pj4gcHJvYmxlbSB0aGF0IGFyZSBhdCBtb3N0 IGxpbWl0ZWQgYnkgdGhlIGNsZWFyIHNwZWNpZmljYXRpb24uIFRoZSANCj4+Pj4+IFVFRkkgc3Bl Y2lmaWNhdGlvbiB3aXRoIHJlZ2FyZHMgdG8gYm9vdGluZyBhbmQgYWxsIG9mIHRoYXQgDQo+Pj4+ PiBvYnZpb3VzbHkgaXMgb2YgdXRtb3N0IGltcG9ydGFuY2UuDQo+Pj4+DQo+Pj4+IElmIHlvdSBo YXZlIGEgYmV0dGVyIGlkZWEgdGhhdCByZXRhaW5zIGNvbXBhdGliaWxpdHkgd2l0aCB0aGUgDQo+ Pj4+IGV4aXN0aW5nIFVFRkkgUEkgdGhlbiBJIHdvdWxkIGJlIGhhcHB5IHRvIGhlYXIgaXQuIFVs dGltYXRlbHkgDQo+Pj4+IGFueXRoaW5nIHdlIGRvIG5lZWRzIHRvIGJlIGEgcHVyZSBleHRlbnNp b24gdGhhdCByZXRhaW5zIA0KPj4+PiBjb21wYXRpYmlsaXR5IHdpdGggb2xkIGNvZGUuIEdpdmVu IHRoYXQgcmVzdHJpY3Rpb24gaGF2aW5nIHRoZSANCj4+Pj4gYWJpbGl0eSB0byBjb2FsZXNjZSBh bGwgdGhlIExpYnJhcnlDbGFzc2VzIGludG8gYSBzaW5nbGUgbW9kdWxlIGFuZCANCj4+Pj4gaGF2 ZSBjcm9zcy1tb2R1bGUgbGlua2luZyBzZWVtcyBsaWtlIHRoZSBiZXN0IHdheSB0byBoYW5kbGUg aXQgdG8gbWUuDQo+Pj4+DQo+Pj4+PiBUaGUgVUVGSSBQSSBzcGVjaWZpY2F0aW9uIHBhcnRzIHRo YXQgZGVhbCBhYm91dCBpbnRlcm5hbCANCj4+Pj4+IHN0cnVjdHVyZSwgYXMgZmFyIGFzIEkga25v dywgYXJlIG9ubHkgaW4gcGxhY2UgdG8gbWFrZSBpdCBlYXN5IHRvIA0KPj4+Pj4gaW50ZWdyYXRl IEludGVsIElQLg0KPj4+Pg0KPj4+PiBJdHMgbm90IGp1c3QgZm9yIEludGVsLiBUaGUgYmlnZ2Vz dCByZWFzb24gZm9yIGl0IHRvIGluY3JlYXNlIHRoZSANCj4+Pj4gc3RhbmRhcmRpemF0aW9uIG9m IHRoZSBib290IGZsb3cgYWNyb3NzIHRoZSBQQyBlY29zeXN0ZW0uIFdlIGhhdmUgDQo+Pj4+IGxl YXJuZWQgZnJvbSBleHBlcmllbmNlIHRoYXQgZmlybXdhcmUgaXMgc3VwZXIgY3JpdGljYWwgdG8g Z2V0IGEgDQo+Pj4+IHByb2R1Y3Qgb3V0IHRoZSBkb29yIGJ1dCBpdCBpcyBhbHNvIGRpZmZpY3Vs dCB0byB3cml0ZS4gU28gd2UgdHJ5IA0KPj4+PiB0byBtYWtlIGl0IGFzIHJldXNhYmxlIGFzIGh1 bWFubHkgcG9zc2libGUuDQo+Pj4+DQo+Pj4+PiBJbiBmYWN0LCBJIGRvbuKAmXQgKmtub3cqLCBi dXQgSeKAmW0gcHJldHR5IHN1cmUgdGhlIHZlcnkgc3RyaWN0IA0KPj4+Pj4gc2VwYXJhdGlvbiBi ZXR3ZWVuIFBFSSBhbmQgRFhFIHdhcyBwcmVzZXJ2ZWQgbW9zdGx5IGJlY2F1c2UgTVJDIA0KPj4+ Pj4gd2FzIDMyLWJpdC1vbmx5IGZvciBhIGxvbmcgdGltZS4gR2xhZCB0aGF0IHNlZW1zIHRvIGhh dmUgYmVlbiANCj4+Pj4+IHJlc29sdmVkLCBBTUQgZG9lcyBtZW1vcnkgaW5pdCBieSBQU1Agbm93 YWRheXMuDQo+Pj4+DQo+Pj4+IEhhdmluZyBsZXNzIGNvbXBsZXggZWFybHkgc3RhZ2VzIGNoYWlu IGxvYWQgbW9yZSBjb21wbGV4IGxhdGVyIA0KPj4+PiBzdGFnZXMgaXMgYSBjb21tb24gZGVzaWdu IHBhdHRlcm4gaW4gZmlybXdhcmUsIG5vdCBqdXN0IFVFRkkuIEZvciANCj4+Pj4gZXhhbXBsZSwg eW91ciB0eXBpY2FsIEFSTSBzeXN0ZW0gbG9hZHMga2luZGEgbGlrZSB0aGlzOg0KPj4+Pg0KPj4+ PiBQQkwgKFNvQyBST00pIC0tPiBTQkwgKFJBTSBJbml0KSAtLT4gQVJNIFRydXN0IFpvbmUgLS0+ IEh5cGVydmlzb3INCj4+Pj4gLS0+IEVESyBJSSBvciBVLUJvb3Qgb3IgTGl0dGxlS2VybmVsICh3 aGljaCBydW5zIGFuZHJvaWQgZmFzdGJvb3QpDQo+Pj4+DQo+Pj4+IENvbXBhcmluZyByZWxhdGl2 ZSBjb21wbGV4aXR5IEkgYmVsaWV2ZSB0aGUgSW50ZWwgVUVGSSBQSSBkZXNpZ24gaXMgDQo+Pj4+ IGFjdHVhbGx5IHByZXR0eSBzaW1wbGUgd2hlbiB5b3UgY29uc2lkZXIgaG93IG11Y2ggaXQgZ2V0 cyBkb25lOg0KPj4+Pg0KPj4+PiBVY29kZSBST00gLS0+IFNFQyArIFBFSSAtLT4gRFhFICsgU01N ICsgQkRTDQo+Pj4+DQo+Pj4+IE15IGJpZ2dlc3QgY3JpdGljaXNtIG9mIHRoZSBkZXNpZ24gaXMg dGhhdCB0aGUgc3RyaWN0IHNlcGFyYXRpb24gDQo+Pj4+IGJldHdlZW4gUEVJIGFuZCBEWEUgZG9l c24ndCBleGlzdCBiZXR3ZWVuIERYRSwgU01NLCBhbmQgQkRTIPCfmIoNCj4+Pj4NCj4+Pj4gVGhl cmUgYXJlIGEgZmV3IHJlYXNvbnMgd2h5IFBFSSB3YXMgMzItYml0IGZvciBxdWl0ZSBzb21lIHRp bWUuIFRoZSANCj4+Pj4gYmlnZ2VzdCBvbmUgaXMgdGhlIGNvZGUgc2l6ZSBpbmNyZWFzZSwgNjQt Yml0IHg4NiBjb2RlIGlzIDIwLTMwJSANCj4+Pj4gbGFyZ2VyIHRoYW4gMzItYml0IHg4NiBjb2Rl LiBTaW5jZSB0aGUgb25seSBSQU0gUHJlLU1lbW9yeSBjb2RlIGhhcyANCj4+Pj4gYWNjZXNzIHRv IGlzIHRoZSBjYWNoZSBvbmJvYXJkIHRoZSBwcm9jZXNzb3IgYW5kIGZvciBzZWN1cml0eSANCj4+ Pj4gcmVhc29ucyBhbGwgdGhhdCBjb2RlIGhhcyB0byBmaXQgd2l0aGluIHRoYXQgUkFNIHdlIGdl bmVyYWxseSBkbyANCj4+Pj4gZXZlcnl0aGluZyB3ZSBjYW4gdG8gbWFrZSB0aGF0IGltYWdlIGFz IHNtYWxsIGFzIHBvc3NpYmxlLiBTZWNvbmQsIA0KPj4+PiA2NC1iaXQgcmVxdWlyZXMgYSBwYWdl IHRhYmxlIGFuZCBzaW5jZSB3ZSBkZXNpcmVkIHRvIGtlZXAgUEVJIA0KPj4+PiBzaW1wbGUgd2Ug dHJpZWQgdG8gYXZvaWQgdGhhdC4gRmluYWxseSwgdGhlIFBJIHNwZWMgZGlkbid0IGFsbG93IGEg DQo+Pj4+IDY0LWJpdCBQRUkgdW50aWwgcmVjZW50bHkuIE1SQyBpcyAzMi1iaXQgY29kZSBqdXN0 IGJlY2F1c2UgdGhhdCBpcyANCj4+Pj4gd2hhdCBQRUkgaGFwcGVucyB0byBiZS4gUG9ydGluZyBp dCB0byA2NC1iaXQgaXMgbm90IHRlcnJpYmx5IA0KPj4+PiBkaWZmaWN1bHQuDQo+Pj4+DQo+Pj4+ IFVsdGltYXRlbHkgdGhlIG1peCBvZiAzMi82NC1iaXQgZG9lcyBjYXVzZSBzb21lIGRpZmZpY3Vs dGllcy4gQW55IA0KPj4+PiBkYXRhIHN0cnVjdHVyZXMgdGhhdCBnZXQgc2hhcmVkIGJldHdlZW4g UEVJIGFuZCBEWEUgKEhPQnMsIFBDRHMsDQo+Pj4+IGV0Yy4pIG5lZWQgdG8gcmVzb2x2ZSB0byB0 aGUgc2FtZSBzaXplIGFuZCBwYWNraW5nLiBMaWJyYXJ5Q2xhc3NlcyANCj4+Pj4gbmVlZCB0byBi ZSB3cml0dGVuIHRvIGNvbXBpbGUgcHJvcGVybHkgaW4gYm90aCBtb2Rlcy4gSW4gdGhlIGNhc2Ug DQo+Pj4+IG9mIEZTUCBBUEkgbW9kZSB5b3UgbmVlZCB0byByZXNvcnQgdG8gdGh1bmtpbmcgYmV0 d2VlbiAzMiBhbmQgDQo+Pj4+IDY0LWJpdCBtb2RlcyBkdXJpbmcgRFhFLiBNb3JlIG9yIGxlc3Mg d2UgZGVjaWRlZCB0aGF0IHRoZSBjb3N0cyBhcmUgDQo+Pj4+IHN0YXJ0aW5nIHRvIG91dHdlaWdo IHRoZSBhZHZhbnRhZ2VzLg0KPj4+Pg0KPj4+DQo+Pj4gSeKAmWQgYWxzbyBwb2ludCBvdXQgdGhh dCB4ODYgVk1zIHVzZSBYNjQgKHg4Ni02NCkgUEVJIHRvZGF5IGFuZCBpdCANCj4+PiB3b3JrcyBz byB0aGUgMzItYml0LzY0LWJpdCBtaXggaGFzIG5vdGhpbmcgdG8gZG8gd2l0aCBVRUZJL1BJL2Vk azIuDQo+Pj4NCj4+PiBJbiB0aGUgUEMgZWNvc3lzdGVtIGEgc2luZ2xlIGNoaXBzZXQgZmFtaWx5 IGNhbiBwb3dlciB0aG91c2FuZHMgb2YgDQo+Pj4gdW5pcXVlIGRlc2lnbnMuIFNvIHRoZcKgIERS QU0gbWVtb3J5IG5lZWRzIHRvIGJlIGV4dGVybmFsLCBzdXBwb3J0IA0KPj4+IGxvdHMgb2YgZGlm ZmVyZW50IGNoaXBzZXQgcGFja2FnZXMoc2lnbmFsIGludGVncml0eS4uLiksIHN1cHBvcnQgdGhl IA0KPj4+IGxvd2VzdCBjb3N0IHRocm91Z2ggdGhlIGhpZ2hlc3QgY29zdCBEUkFNIGFuZCB0aG91 c2FuZHMgb2YgZGlmZmVyZW50IA0KPj4+IGJvYXJkIGxheW91dHMuIFNvIHByb2dyYW1pbmcgRFJB TSB0YWtlcyBhIG1hc3RlcnMgZGVncmVlIGluIGFudGVubmEgDQo+Pj4gZGVzaWduLiBJ4oCZdmUg c2VlbiBNUkMgKE1lbW9yeSBSZWZlcmVuY2UgQ29kZSkgd2l0aCBvdmVyIGEgTWlCIG9mIA0KPj4+ IERFQlVHIHByaW50cyBpbiBpdCwgYW5kIGl0IGxpdGVyYWxseSBpcyBwcmludGluZyBoaXN0b2dy YW1zIG9mIHdoYXQgDQo+Pj4gaXQgaXMgdHVuaW5nLiBTbyBhbGwgdGhpcyBjb2RlIGhhcyB0byBy dW4gYmVmb3JlIHRoZSBzeXN0ZW0gaGFzIGFueSANCj4+PiBEUkFNLCB0aHVzIGl0IGlzIHJ1bm5p bmcgdXNpbmcgdGhlIGNhY2hlIGFzIFJBTS4gSeKAmXZlIG5vdCBsb29rZWQgYXQgDQo+Pj4gdGhl IHg4NiBhcmNoaXRlY3R1cmUgc3BlY3MgZm9ybSB0aGUgdmVuZG9ycyBpbiBhIHdoaWxlLCBidXQg YmFjayBpbiANCj4+PiB0aGUgZGF5IHRoZXkgZGlkIG5vdCBzdXBwb3J0IHBhZ2UgdGFibGVzIGlu IFJPTSBvciBwaW5uZWQgY2FjaGVkLg0KPj4+IE5vdyBpdCBtaWdodCB3b3JrLCBidXQgaWYgaXQg YnJlYWtzIHlvdXIgQ1BVIHZlbmRvciBibGFtZXMgeW91IHNvIA0KPj4+IHlvdSBkb27igJl0IGNv ZGUgUEVJIGluIFg2NOKApi4NCj4+Pg0KPj4+IFdlIGNvbnRyaWJ1dGVkIHRoZSAxc3QgZWRrMiBB Uk0gcGxhdGZvcm0sIEJlYWdsZSBCb2FyZCwgYW5kIEl0IHdhcyBhIA0KPj4+IGxvbmcgdGltZSBh Z28gYnV0IEkgc2VlbSB0byByZW1lbWJlciB0aGUgbWFzayBST00gdXNlZCBhIHRhYmxlIGluIA0K Pj4+IE5PUiBGTEFTSCB0byBpbml0IG1lbW9yeSBhbmQgdGhlbiBjb3BpZWQgYW4gaW1hZ2UgZnJv bSBOT1IgRkxBU0ggDQo+Pj4gaW50byBEUkFNIGFuZCBqdW1wZWQgdG8gaXQuIFNvIFBFSSBpcyBr aW5kIG9mIG5vdCByZWFsbHkgbmVlZGVkIGFuZCANCj4+PiB3ZSBpbXBsZW1lbnRlZCBhIFByZVBF SSBhbmQganVtcGVkIGRpcmVjdGx5IHRvIERYRS4NCj4+Pg0KPj4+IEdpdmVuIEkgd2FzIGFyb3Vu ZCBiYWNrIGluIHRoZSBkYXkgd2hlbiBhbGwgdGhpcyBzdHVmZiB3YXMgZGVzaWduZWQgDQo+Pj4g SSBjYW4gc2F5IFNFQyB3YXMgYWx3YXlzIGEgcGxhY2UgaG9sZGVyIGZvciBzZWN1cml0eSBjb2Rl LCBhcyANCj4+PiBzZWN1cml0eSBjb2RlIGFsd2F5cyBoYXMgdG8gcnVuIDFzdC4gUEVJIChQcmUg RUZJKSB3YXMgZGVzaWduZWQgdG8gDQo+Pj4gZ2V0IERSQU0gcHJvZ3JhbW1lZCBhbmQgdGhlbiBq dW1wIHRvIERYRS4gSXQga2luZCBvZiBhbHNvIGZlbGwgaW4gDQo+Pj4gbmF0dXJhbGx5IHRvIEFD UEkgUzMgZmxvdyBzaW5jZSB0aGF0IHdhcyB0dXJuaW5nIG1lbW9yeSBiYWNrIG9uLg0KPj4+IFdo ZW4gd2UgZGVzaWduZWQgUEVJIHdlIGtpbmQgb2YgdGhvdWdoIG9mIGl0IG1vcmUgbGlrZSBhIGJv b3QgbG9hZGVyIA0KPj4+IHN0YWdlIGZvciB0aGUgZmlybXdhcmUgdGhhdCB0dXJuZWQgb24gbWVt b3J5IGFuZCBhbGwgdGhlIHdvcmsgd291bGQgDQo+Pj4gaGFwcGVuIGluIERYRS4gVGhlbiByZWFs aXR5IHN0cmlrZXMgYW5kIHRoZSBleGlzdGluZyBCSU9TIGFzc2VtYmx5IA0KPj4+IHByb2dyYW1t ZXJzIHN0YXJ0IGxlYXJuaW5nIEMgKGxvdHMgb2bCoCBjcmFua3kgcGVvcGxlKSBhbmQgdGhleSBz dGFydCANCj4+PiBoYXZpbmcgdG8gbGVhcm4gYWxsIGFib3V0IFBFSSB0byB0dXJuIG9uIG1lbW9y eS4gVGhleSBoYWQgdG8gd3JpdGUgYSANCj4+PiBiaWcgY2h1bmsgb2YgY29kZSBmb3IgdGhlIG1l bW9yeSBpbml0IGluIFBFSS4gVGhlc2UgZm9sa3MgaGFkIG5ldmVyIA0KPj4+IHdyaXR0ZW4gYW55 IEVGSSBjb2RlLCBzbyB0byB0aGVtIGl0IHdhcyBlYXNpZXIgdG8gbW92ZSBhIGxvdCBvZiB0aGUg DQo+Pj4gY2hpcHNldCBpbml0IGNvZGUgaW50byBQRUkgYXMgdGhhdCBpcyB0aGUgd29ybGQgdGhl eSBoYWQgdG8gZmlndXJlIA0KPj4+IG91dCB0byBnZXQgbWVtb3J5IHR1cm5lZCBvbi4gSSBtZWFu IHdoeSBsZWFybiBFRkkgaWYgeW91IGRvbuKAmXQgaGF2ZSANCj4+PiB0bz8gU28gdGhhdCBpcyBo b3cgd2UgZ2V0IHNvIG11Y2ggY29kZSBpbiBJQTMyIChpMzg2KSBvbiBzb21lIA0KPj4+IHBsYXRm b3Jtcy4gVGhpcyBzdGFydCBraW5kIG9mIGJpYXNlZCBmdXR1cmUgY2hvaWNlcyBhbmQgaG93IHRv IA0KPj4+IGVuYWJsZSBub24gZWRrMiBjb2RlIGJhc2Vz4oCmLg0KPj4NCj4+IE9uZSBvZiB0aGUg YmlnIHJlYXNvbnMgYSBsb3Qgb2YgY29kZSB0aGF0IHNob3VsZCBoYXZlIGJlZW4gd3JpdHRlbiBp biANCj4+IERYRSBlbmRlZCB1cCBpbiBQRUkgaXMgdW5mb3J0dW5hdGVseSBkdWUgdG8gdGhlIEZT UCBhbmQgaXRzIGluYWJpbGl0eSANCj4+IHRvIHN1cHBvcnQgRFhFIGNvZGUuDQo+Pg0KPj4+DQo+ Pj4gVGhhbmtzLA0KPj4+DQo+Pj4gQW5kcmV3IEZpc2gNCj4+Pg0KPj4+DQo+Pj4+Pg0KPj4+Pj4g Rm9yIG1hbnkgZ29vZCByZWFzb25zLCBMaW51eCBkb2VzIG5vdCBwcm92aWRlIGEgc3RhYmxlIGtl cm5lbCBBUEkuIA0KPj4+Pj4gVGhpcw0KPj4+Pj4gYWxsb3dzIHRvIGVhc2lseSBkZXBsb3kgYnJl YWtpbmcgY2hhbmdlcyBhY3Jvc3MgdGhlIGVudGlyZSBjb2RlYmFzZS4NCj4+Pj4+IE9idmlvdXNs eSwgdGhpcyBpcyBpbmZlYXNpYmxlIGF0IGEgbGFyZ2Ugc2NhbGUgd2hlbiB5b3UgbmVlZCB0byAN Cj4+Pj4+IGludGVncmF0ZSBJUCBibG9icywgYnV0IGl0IHdvdWxkIGFscmVhZHkgaGVscCB0byBi cmVhayB0aGUgDQo+Pj4+PiBleHBlY3RhdGlvbiB0aGF0IFVFRkkgUEkgaXMgYSBwZXJmZWN0bHkg Zm9yd2FyZHMtIGFuZCANCj4+Pj4+IGJhY2t3YXJkcy1jb21wYXRpYmxlIHN5c3RlbS4gRFhFIGhh cyBTZXRNZW0gYW5kIENvcHlNZW0gYXMgcGFydCBvZiANCj4+Pj4+IGdCUy4gTWF5YmUgSSBkb27i gJl0IGxpa2UgaXQgdGhhdCBtdWNoIGFzIHBhcnQgb2YgdGhlIHNwZWMgaXRzZWxmLCANCj4+Pj4+ IGJ1dCBpdOKAmXMgYSBnb29kIGlkZWEgdGVjaG5pY2FsbHkuIEnigJlkIHByb2JhYmx5IG9wdCB0 byBoYXZlIGEgDQo+Pj4+PiBxdWlja2x5IGFjY2Vzc2libGUgaW1wbGVtZW50YXRpb24gZGV0YWls IG9mIGltcG9ydGFudCBmdW5jdGlvbiANCj4+Pj4+IHBvaW50ZXJzIGFwcGVuZGVkIHRvIFBFSSBh bmQgRFhFIHNlcnZpY2VzLCB1c2VkIGJ5IGluLXRyZWUgDQo+Pj4+PiBtb2R1bGVzLiBUaGlzIG1h eSBicmVhayBib3RoDQo+Pj4+PiBmb3J3YXJkcy0gYW5kIGJhY2t3YXJkcy1jb21wYXRpYmlsaXR5 LCBidXQgYXMgaXQgb25seSBhcHBsaWVzIHRvIA0KPj4+Pj4gaW4tdHJlZSBtb2R1bGVzLCB0aGF0 IGlzIGZpbmUgc28gbG9uZyBhcyB3ZSBsZXQgZ28gb2YgdGhlIA0KPj4+Pj4gY29tcGF0aWJpbGl0 eSBub3Rpb25zLiBQUElzIGFuZCBwcm90b2NvbHMgYXJlIGFuIG9wdGlvbiB0b28gb2YgDQo+Pj4+ PiBjb3Vyc2UsIGJ1dCB0aGV5IGhhdmUgYSBsb29rdXAgcGVyZm9ybWFuY2UgcGVuYWx0eS4gQ29t cGFyZWQgdG8gDQo+Pj4+PiBkeW5hbWljIGxpbmtpbmcsIHRoYXQgc2hvdWxkIGhvcGVmdWxseSBi ZSBuZWdsaWdpYmxlIGhvd2V2ZXIuDQo+Pj4+Pg0KPj4+Pj4gQWJzb2x1dGVseSBvcHRpb25hbCB0 byByZWFkLCBJIGRvbuKAmXQgaW50ZW5kIHRvIHdhc3RlIGFueW9uZeKAmXMgdGltZSANCj4+Pj4+ IG11Y2gsIHNvbWUgcGhpbG9zb3BoaWNhbCBzdHVmZiBhYm91dCBteSByYXRpb25hbGU6DQo+Pj4+ Pg0KPj4+Pj4gSWYgeW91IHN0YXJ0ZWQgVUVGSSBmcm9tIHNjcmF0Y2ggcmlnaHQgbm93LCB3b3Vs ZCBpdCBoYXZlIHN0cmljdGx5IA0KPj4+Pj4gc2VwYXJhdGVkIFBFSSBhbmQgRFhFPw0KPj4+Pg0K Pj4+PiBGb3Igc3VyZSBhIGNsZWFuIHNsYXRlIGRlc2lnbiBzdGFydGVkIHRvZGF5IHdvdWxkIGxv b2sgYSBsb3QgDQo+Pj4+IGRpZmZlcmVudCB0aGFuIFBFSS9EWEUuLi4gd2hpY2ggd2FzIGEgY2xl YW4gc2xhdGUgZGVzaWduIGNpcmNhIDE5OTgNCj4+Pj4g8J+Yii4gSW4gbXkgb3BpbmlvbiwgaWYg d2Ugd2VyZSB0byBzdWRkZW5seSBnbyBiYWNrIHRvIHRoZSBkcmF3aW5nIA0KPj4+PiBib2FyZCB3 ZSB3b3VsZCBidWlsZCBzb21ldGhpbmcgdGhhdCBpcyBtdWNoIGNsb3NlciB0byBhIGZ1bGwgT1Mg bm93IA0KPj4+PiB0aGFuIHdlIGRpZCBiYWNrIHRoZW4uIFRoZXJlIGhhdmUgYmVlbiBjYXNlcyB3 aGVyZSBub3QgYmVpbmcgYWJsZSANCj4+Pj4gdG8gdXNlIGludGVycnVwdCBoYW5kbGVycyBhbmQg bm90IGhhdmluZyB0aHJlYWQgc2NoZWR1bGluZyBoYXMgDQo+Pj4+IHByZXZlbnRlZCBpbXBsZW1l bnRhdGlvbiBvZiBkZXNpcmVkIGZlYXR1cmVzLiBUaGUgQVJNIGd1eXMgYnVpbHQgDQo+Pj4+IExp dHRsZUtlcm5lbCAoaHR0cHM6Ly9naXRodWIuY29tL2xpdHRsZWtlcm5lbC9saykgZm9yIGEgbG90 IG9mIA0KPj4+PiB0aGVzZSByZWFzb25zLiBJbiB0aGUgZGF0YSBjZW50ZXIgd29ybGQgc29tZSBo YXZlIGRlY2lkZWQgdG8gZ28gdG8gDQo+Pj4+IHRoZSBleHRyZW1lIG9mIHB1dHRpbmcgYW4gZW50 aXJlIGNvcHkgb2YgTGludXggaW4gU1BJIHNvIHRoZXkgY2FuIA0KPj4+PiBkbyBhIG5ldHdvcmsg Ym9vdCB0aGF0IGRvd25sb2FkcyB0aGUgT1MgaW1hZ2UgdXNpbmcgQml0VG9ycmVudCENCj4+Pj4N Cj4+Pj4+IFRoZSBkdXBsaWNhdGlvbiBiZXR3ZWVuIFBFSSBhbmQgRFhFIGNvcmUsIGFuZCBieSBl eHRlbnNpb24gTU0gDQo+Pj4+PiBjb3JlLCB3b3VsZCBiZSBteSBtb3N0IG9idmlvdXMgcGxhY2Ug dG8gc3RhcnQgcmVkdWNpbmcgc2l6ZS4gSSANCj4+Pj4+IHdvdWxkIHByb2JhYmx5IG9wdCBmb3Ig YSBQRUkvRFhFIGh5YnJpZCB3aGVyZSBpdCBzdGFydHMgaW4gDQo+Pj4+PiDigJ5taW5pbWFsIG1v ZGXigJwgKG1heWJlIHRoaW5rIG9mIFBFSSBtb3JlIGxpa2UgYSBtaWNyb2tlcm5lbCBoZXJlKSAN Cj4+Pj4+IGFuZCBhZnRlciBtZW1vcnkgaXMgaW5pdGlhbGlzZWQsIHRoZSByZXN0IG9mIERYRSBp cyBsb2FkZWQuIEFuZCBNTSANCj4+Pj4+IGNvcmUgd291bGQgZ2V0IG5vIGxvYWRpbmcgYXQgYWxs LCB0aGlzIHJlcXVpcmVtZW50IGhhcyBnbGFkbHkgYmVlbiANCj4+Pj4+IGRyb3BwZWQgYWdlcyBh Z28uIEp1c3Qgb25lIHByZWxpbmtlZCBzbmFwc2hvdCBvZiB0aGUgYWRkcmVzcyBzcGFjZSANCj4+ Pj4+IHdpdGggYSByZWxvY2F0aW9uIHRhYmxlIGFuZCBhIHNhZmUgc2VsZi1yZWxvY2F0b3Igb24g ZW50cnkgKHRoaXMgDQo+Pj4+PiBpcyBuZWVkZWQgYXQgdGhlIHZlcnkgbGVhc3QgZm9yIEFSTSku DQo+Pj4+Pg0KPj4+Pj4gSXJvbmljYWxseSwgd2l0aCBteSBpZGVhIGZvciBNTSwgZHluYW1pYyBs b2FkaW5nIHdvdWxkIGJlIGZyZWUgYXMgDQo+Pj4+PiBldmVyeXRoaW5nIGlzIHByZWxpbmtlZCBh bnl3YXkuIFRoZSBzYW1lIGlzIHRydWUgZm9yIFBFSSBYSVAsIGl0IA0KPj4+Pj4gaXMgcHJlbGlu a2VkIGJ5IG5hdHVyZS4NCj4+Pj4NCj4+Pj4gQWN0dWFsbHkgUG9zdC1NZW1vcnkgUEVJIGNhbiBo YXZlIG5vbi1wcmVsaW5rZWQgUEVJTXMuIEFuZCB0aGF0IA0KPj4+PiBkb2VzIGdldCB1c2VkIGZv ciB0aGUgUEVJIEdPUCBkcml2ZXIuDQo+Pj4+DQo+Pj4+PiBXaGF0IEkgZG8gbm90IGxpa2UgaXMg dGhlIGFkZGl0aW9uYWwgZHluYW1pYyBsaW5raW5nIGNvZGUgYXQgDQo+Pj4+PiBsb2FkLXRpbWUg Zm9yIG5vbi0gWElQIG1vZHVsZXMuIFRob3VnaCwgdGhlIG1vcmUgSSB0aGluayBhYm91dCBpdCwg DQo+Pj4+PiB0aGUgbW9yZSBJIHdvbmRlciB3aGV0aGVyIG5vdCB0aGUgZW50aXJldHkgb2YgVUVG SSBjb3VsZCBiZSANCj4+Pj4+IGNvbXBvc2VkIG9mIHByZWxpbmtlZCwgcmVsb2NhdGFibGUgbWVt b3J5IHNuYXBzaG90cyB3aXRob3V0IA0KPj4+Pj4gdHJhZGl0aW9uYWwgaW1hZ2UgbG9hZGluZyBl bnRpcmVseSAoZm9yIGluLUZXIHN0dWZmKS4gbWFjT1MgaGFzIGEgDQo+Pj4+PiBzaW1pbGFyIGNv bmNlcHQgd2l0aCBpdHMg4oCcS2VybmVsIENvbGxlY3Rpb25z4oCdLg0KPj4+Pj4gV2VsbCwgd2F5 DQo+Pj4+PiB0b28gbXVjaCBvZmYtdG9waWMgbm93LiA6KQ0KPj4+Pg0KPj4+PiBJZiB5b3UgbWFr ZSB0aGUgYXNzdW1wdGlvbiB0aGF0IDEwMCUgb2YgdGhlIGNvZGUgaXMgY29tcGlsZWQgYWxsIGF0 IA0KPj4+PiBvbmNlIHRoZW4geWVzIHRoYXQgd29ya3MuIFVFRkkgd2FzIGRlc2lnbmVkIHNvIHRo YXQgYXNzdW1wdGlvbiBkb2VzIA0KPj4+PiBub3QgbmVlZCB0byBiZSB0cnVlLiBUaGVyZSBhcmUg Z29vZCB1c2UgY2FzZXMgZm9yIGl0OiBPcFJPTXMsIA0KPj4+PiBnZW5lcmljIE9TIGxvYWRlcnMs IG5ldHdvcmsgYm9vdCwgZXRjLg0KPj4+Pg0KPj4+PiBUaGFua3MsDQo+Pj4+IE5hdGUNCj4+Pj4N Cj4+Pj4+DQo+Pj4+PiBXaHkgYW0gSSBleHBsYWluaW5nIGFsbCB0aGlzIGRlc3BpdGUgdGhlIGZh Y3QgZXZlcnlvbmUga25vd3MgdGhpcyANCj4+Pj4+IHdpbGwgbmV2ZXIgaGFwcGVuPyBCZWNhdXNl IEkgZG9u4oCZdCBsaWtlIHRoZSBub3Rpb24gb2YgZml4aW5nIA0KPj4+Pj4gaXNzdWVzIG9mIGFu IGFscmVhZHkgb3ZlcmNvbXBsaWNhdGVkIHN5c3RlbSBieSBhZGRpbmcgZXZlbiBtb3JlIA0KPj4+ Pj4gY29tcGxpY2F0ZWQgc3R1ZmYuDQo+Pj4+PiBFc3BlY2lhbGx5DQo+Pj4+PiB3aGVuIHRoZSBl eGlzdGluZyBvdmVyY29tcGxpY2F0ZWQgc3R1ZmYgaXMgYWxyZWFkeSB1bmNvbWZvcnRhYmx5IA0K Pj4+Pj4gYnJva2VuLg0KPj4+Pj4NCj4+Pj4+IEJlc3QgcmVnYXJkcywNCj4+Pj4+IE1hcnZpbg0K Pj4+Pj4NCj4+Pj4+PiBGb3IgWElQIFBFSSBjb2Rl4oCmIGl0IHdpbGwgcmVhbGx5IGhlbHAgYW5k IHdvdWxkIGJlIHZlcnkgdGltZWx5IA0KPj4+Pj4+IHNpbmNlIHRoZQ0KPj4+Pj4gdHJhbnNpdGlv biBvZiBQRUkgZnJvbSAzMi1iaXQgdG8gNjQtYml0IGlzIGdvaW5nIHRvIGluY3JlYXNlIHRoZSAN Cj4+Pj4+IHNpemUgb2YgUEVJIGJ5IH4yMCUuDQo+Pj4+Pj4NCj4+Pj4+PiBUaGFua3MsDQo+Pj4+ Pj4gTmF0ZQ0KPj4+Pj4+DQo+Pj4+Pj4gRnJvbTogUGVkcm8gRmFsY2F0byA8cGVkcm8uZmFsY2F0 b0BnbWFpbC5jb20+DQo+Pj4+Pj4gU2VudDogV2VkbmVzZGF5LCBBcHJpbCAxMywgMjAyMiAxMTo0 MyBBTQ0KPj4+Pj4+IFRvOiBlZGsyLWRldmVsLWdyb3Vwcy1pbyA8ZGV2ZWxAZWRrMi5ncm91cHMu aW8+OyBNYXJ2aW4gSMOkdXNlciANCj4+Pj4+PiA8bWhhZXVzZXJAcG9zdGVvLmRlPg0KPj4+Pj4+ IENjOiBkaXNjdXNzQGVkazIuZ3JvdXBzLmlvOyBhZGFjaHJpc3RpbmUxOEBnbWFpbC5jb207IERl c2ltb25lLCANCj4+Pj4+PiBOYXRoYW5pZWwgTCA8bmF0aGFuaWVsLmwuZGVzaW1vbmVAaW50ZWwu Y29tPjsgU2hpLCBTdGV2ZW4gDQo+Pj4+Pj4gPHN0ZXZlbi5zaGlAaW50ZWwuY29tPg0KPj4+Pj4+ IFN1YmplY3Q6IFJlOiBbZWRrMi1kZXZlbF0gW2VkazItZGlzY3Vzc10gR1NvQyBQcm9wb3NhbA0K Pj4+Pj4+DQo+Pj4+Pj4gSGkgTWFydmluLCBBZGEsDQo+Pj4+Pj4NCj4+Pj4+PiBTb21lIGNvbW1l bnRzOg0KPj4+Pj4+DQo+Pj4+Pj4gSSBkb24ndCB0aGluayB0aGUgcHVycG9zZSBvZiB0aGUgZHlu YW1pYyBsaW5rZXIgaXMgdG8gdHJlYXQgRUZJIA0KPj4+Pj4+IGFzIGEgY29tcGxldGUgb3BlcmF0 aW5nIHN5c3RlbSwgYnV0IHRvIHRyeSB0byBlbGltaW5hdGUgdGhlIA0KPj4+Pj4+IHN0YXRpYyBs aW5raW5nIHRoYXQgbWF5IGJlIG5lZWRsZXNzbHkgZHVwbGljYXRpbmcgY29kZSB0aGF0IGNvdWxk IA0KPj4+Pj4+IGluc3RlYWQgYmUgcHV0IGluIGENCj4+Pj4+IHNpbmdsZSBkeW5hbWljIGxpYnJh cnkuIEZvciBpbnN0YW5jZSwgTWRlUGtnIGFuZCBNZGVNb2R1bGVQa2cgYXJlIA0KPj4+Pj4gbGlu a2VkIGludG8gYSAqbG90KiBvZiAuZWZpLCBpbnN0ZWFkIG9mIGJlaW5nIGp1c3QgYSBsaWJyYXJ5 LiBJdCdkIA0KPj4+Pj4gYmUgbmljZSB0byBzZWUgc29tZSBudW1iZXJzIG9uIHRoaXMgKHNvbWV0 aGluZyBsaWtlIEdvb2dsZSdzIA0KPj4+Pj4gYmxvYXR5IGNvdWxkIGJlIHJ1biBvbiBldmVyeSAu ZWZpIGZpbGUsIGluIG9yZGVyIHRvIHVuZGVyc3RhbmQgaG93IA0KPj4+Pj4gbXVjaCBmaWxlIHNw YWNlIHdlIHdvdWxkIGFjdHVhbGx5IHNhdmUpLg0KPj4+Pj4+DQo+Pj4+Pj4gT3RoZXIgY29tbWVu dHMgaW5saW5lLg0KPj4+Pj4+DQo+Pj4+Pj4gT24gV2VkLCBBcHIgMTMsIDIwMjIgYXQgNDoxNSBQ TSBNYXJ2aW4gSMOkdXNlcg0KPj4+Pj4gPG1oYWV1c2VyQHBvc3Rlby5kZTxtYWlsdG86bWhhZXVz ZXJAcG9zdGVvLmRlPj4gd3JvdGU6DQo+Pj4+Pj4NCj4+Pj4+PiBPbiAxMy4gQXByIDIwMjIsIGF0 IDE2OjM4LCBBZGEgQ2hyaXN0aW5lDQo+Pj4+PiA8YWRhY2hyaXN0aW5lMThAZ21haWwuY29tPG1h aWx0bzphZGFjaHJpc3RpbmUxOEBnbWFpbC5jb20+PiB3cm90ZToNCj4+Pj4+PiBpIHdhcyByZXBs eWluZyB2aWEgdGhlIGdyb3Vwcy5pbzxodHRwOi8vZ3JvdXBzLmlvID4gd2ViIA0KPj4+Pj4+IGlu dGVyZmFjZSwgSSdtIGd1ZXNzaW5nIHRoYXQgbWVzc2VkIHVwIHRoZSB0aHJlYWQ/IGkgaGF2ZW4n dCB1c2VkIA0KPj4+Pj4+IG1haWxpbmcgbGlzdHMgYmVmb3JlIGFuZCBkb24ndCBrbm93IGhvdyB0 aGV5IHdvcmsuIEknbGwgdXNlIG15IA0KPj4+Pj4+IG1haWwgY2xpZW50IGZyb20gaGVyZSBvbi4N Cj4+Pj4+Pg0KPj4+Pj4+IEknbSBvbiBib2FyZCB3aXRoIG5vdCB0cmVhdGluZyBFRkkgYXMgYW4g b3BlcmF0aW5nIHN5c3RlbS4gdGhlIA0KPj4+Pj4+IG1vcmUgaSB0aGluayBhYm91dCBpdCB0aGUg bW9yZSBpdCBsb29rcyBsaWtlIHNjb3BlIGNyZWVwLg0KPj4+Pj4+DQo+Pj4+Pj4gQWdyZWVkLg0K Pj4+Pj4+DQo+Pj4+Pj4NCj4+Pj4+PiBJJ20gbm90IHF1aXRlIGFzIGVudGh1c2lhc3RpYw0KPj4+ Pj4+IGFib3V0IGl0IGFzIGkgd2FzIGF0IGZpcnN0IGdsYW5jZS4NCj4+Pj4+Pg0KPj4+Pj4+IEkn bSBzdGlsbCBrZWVuIG9uIGRvaW5nIG15IGdzb2MgcHJvcG9zYWwgZm9yIGVkaywgdGhvdWdoLCBh bmQgDQo+Pj4+Pj4gZXZlbiBpZiB0aGlzIHRhc2sgYW5kIHRoZSBhY3BpY2EgYXBwbGljYXRpb24g YXJlIGRlY2lkZWQgdG8gYmUgDQo+Pj4+Pj4gb3V0IG9mIHNjb3BlIHVuaXQgdGVzdGluZywNCj4+ Pj4+Pg0KPj4+Pj4+IEhvdyBhYm91dCBmdXp6LXRlc3Rpbmc/IFRoaXMgaXMgYWxzbyBzb21ldGhp bmcgZWRrMiBuZWVkcyBxdWl0ZSANCj4+Pj4+PiBiYWRseS4gQXQNCj4+Pj4+IEFjaWRhbnRoZXJh LCB3ZSBjb21waWxlIGVkazIgY29kZSBpbiB1c2Vyc3BhY2Ugb3V0c2lkZSB0aGUgZWRrMiANCj4+ Pj4+IGJ1aWxkIHN5c3RlbSBhbmQgZnV6eiB3aXRoIGR1bW15IGFwcGxpY2F0aW9ucy4NCj4+Pj4+ Pg0KPj4+Pj4+IE5vdGU6IGZ1enppbmcgaXMgYWxzbyBwYXJ0IG9mIHRoZSBMTFZNIGluc3RydW1l bnRhdGlvbiBzdWl0ZSAoc2VlDQo+Pj4+PiBodHRwczovL2xsdm0ub3JnL2RvY3MvTGliRnV6emVy Lmh0bWwgKSBhbmQgaXMgc29tZXRoaW5nIEkgY291bGQgDQo+Pj4+PiBoYXBwaWx5IG1lbnRvci4N Cj4+Pj4+PiBjbGFuZyBpbnRlZ3JhdGlvbg0KPj4+Pj4+DQo+Pj4+Pj4gUGVkcm8gYW5kIFZpdGFs eSBhcmUgbG9va2luZyBmb3Igc29tZW9uZSB0byBmaW5pc2ggQVNhbjoNCj4+Pj4+PiBodHRwczov L2VkazIuZ3JvdXBzLmlvL2cvZGV2ZWwvdG9waWMvOTAwMTA5NzgjODc5OTENCj4+Pj4+PiBUaGVy ZSBhcmUgd29ya2luZyBVQlNhbiBjb25jZXB0cywgYnV0IHRoZXkgYWxzbyBuZWVkIHRvIGJlIA0K Pj4+Pj4+IG1haW5saW5lZC4NCj4+Pj4+Pg0KPj4+Pj4+IElzIFZpdGFseSBnb2luZyB0byBiZSBh IG1lbnRvcj8gSSB3YXMgYXNzdW1pbmcgaXQgd2FzIGdvaW5nIHRvIGJlIA0KPj4+Pj4+IG1lIGFu ZA0KPj4+Pj4gc29tZSBvdGhlciwgbW9yZSBzZW5pb3IsIG1lbnRvciAocG9zc2libHkgU3RldmVu IFNoaSwgd2hpY2ggSSANCj4+Pj4+IGluY2x1ZGVkIGluIHRoZSB0YXNrKS4NCj4+Pj4+PiBBbnl3 YXksIHJlOiBBU0FOLCBpZiB0aGUgcHJvamVjdCBpbmNsdWRlcyBBU0FOLCBVQlNBTiBhbmQgDQo+ Pj4+Pj4gcG9zc2libHkgc29tZSBvdGhlciBzYW5pdGl6ZXIgaXQncyBxdWl0ZSBwb3NzaWJsZSB0 aGF0IGl0IGNvdWxkIA0KPj4+Pj4+IGJlIGNvbnNpZGVyZWQgYSBsYXJnZQ0KPj4+Pj4gcHJvamVj dCAod2hpY2ggbWVhbnMgbW9yZSBob3VycyBidXQgYSBsYXJnZXIgc3RpcGVuZCB0b28pLiBGdXp6 aW5nIA0KPj4+Pj4gKyBjb3ZlcmFnZSBjb3VsZCBiZSB2ZXJ5IG5pY2UgYWRkaXRpb25zIHRvIHRo aXMgcHJvamVjdCBpZGVhLg0KPj4+Pj4+IEFsc28sIGlzIHN0cmVzcy10ZXN0aW5nIGEgZGVjZW50 IGlkZWE/DQo+Pj4+Pj4NCj4+Pj4+Pg0KPj4+Pj4+IGFuZCBzb3VyY2UtbGV2ZWwgZGVidWdnaW5n IGFyZSBhbGwgcmVsZXZhbnQgdG8gbXkgaW50ZXJlc3RzLg0KPj4+Pj4+DQo+Pj4+Pj4gaG93IGFi b3V0IHlvdXIgaWRlYXMgZm9yIHNlY3VyaXR5IHN0dWZmPw0KPj4+Pj4+DQo+Pj4+Pj4gSSB3YW50 IHRoZSBlbnRpcmV0eSBvZiBNTSB0byBsZXZlcmFnZSBTbW1NZW1MaWIgYW5kIHRvIHN1cHBvcnQg U01BUC4NCj4+Pj4+IFNtbU1lbUxpYiB3b3VsZCB0aGVuIGhhbmRsZSBVRUZJLT5NTVJBTSBhbmQg QmFzZU1lbW9yeUxpYiB3b3VsZCANCj4+Pj4+IG9ubHkgd29yayBvbiBNTVJBTS4gQWxzbyBldmFs dWF0aW9uIG9mIGhvdyB0byBiZXN0IGF2b2lkIHBvaW50ZXJzIA0KPj4+Pj4gaW4gTU0gY29tbXVu aWNhdGlvbiBidWZmZXJzIHdvdWxkIGJlIG5pY2UuDQo+Pj4+Pj4NCj4+Pj4+PiBUaGVyZSBhbHNv IGlzIGEgYnVuY2ggb2Ygb3RoZXIgc3R1ZmYsIGxpa2Ugd29ya2luZyBvdXQgbW92aW5nIGEgDQo+ Pj4+Pj4gcGFydCBvZg0KPj4+Pj4gQ3B1RHhlIGludG8gRHhlQ29yZSB0byBoYXZlIG1lbW9yeSBw cm90ZWN0aW9uIGxpdmUgaW1tZWRpYXRlbHksIA0KPj4+Pj4gbWVtb3J5IHByb3RlY3Rpb24gaW4g UEVJLCBhIHJlcGxhY2VtZW50IGZvciB0aGUgVEUgZm9ybWF0IChpdOKAmXMgDQo+Pj4+PiBidWdn eSBhbmQgbW9zdCBwbGF0Zm9ybXMgbW9zdGx5IGFiYW5kb25lZCBpdCBvdmVyIHZhcmlvdXMgaXNz dWVzKSwgDQo+Pj4+PiBhbmQgYWx0ZXJuYXRpdmVzIHRvIGd1YXJkaW5nIGNyaXRpY2FsIGNvZGUg d2l0aCBTTU0gKGxpa2UgYWxsb3dpbmcgDQo+Pj4+PiBOVlJBTSBjb21taXRzIG9ubHkgYXMgcGFy dCBvZiBhIHJlYm9vdCkuDQo+Pj4+Pj4NCj4+Pj4+PiBJIHBlcnNvbmFsbHkgZmluZCBhbGwgb2Yg dGhvc2UgcHJvamVjdHMgdmVyeSBpbXBvcnRhbnQsIGJ1dCBJIA0KPj4+Pj4+IGNhbm5vdCBwcm9t aXNlIG1hbnkgcGVvcGxlIGFncmVlLiBFc3BlY2lhbGx5IHRob3NlIHRoYXQgaW1wb3NlIA0KPj4+ Pj4+IGdsb2JhbCBjaGFuZ2VzIChtb3N0IG5vdGFibHkgdGhlIFRFIHJlcGxhY2VtZW50KSBtYXkg YmUgdmVyeSANCj4+Pj4+PiB0ZWRpb3VzIHRvIHN1Ym1pdC4NCj4+Pj4+PiBHbGFkbHksIEkgYmVs aWV2ZSB5b3UgY2FuIHN1Ym1pdCBtdWx0aXBsZSBwcm9wb3NhbHMgKD8pDQo+Pj4+Pj4NCj4+Pj4+ PiBCZXN0IHJlZ2FyZHMsDQo+Pj4+Pj4gTWFydmluDQo+Pj4+Pj4NCj4+Pj4+Pg0KPj4+Pj4+IEkn bSBub3QgdmVyeSBrbm93bGVkZ2VhYmxlIGFib3V0DQo+Pj4+Pj4gdHJ1c3RlZCBwbGF0Zm9ybSBv ciBzZWN1cmUgYm9vdCBidXQgSSdtIHdpbGxpbmcgdG8gbGVhcm4gd2hhdGV2ZXIgDQo+Pj4+Pj4g aXMgbmVjZXNzYXJ5IHRvIGdldCBzb21ldGhpbmcgc3B1biB1cCBmb3IgbXkgcHJvcG9zYWwuDQo+ Pj4+Pj4NCj4+Pj4+PiBPbiBXZWQsIEFwciAxMywgMjAyMiwgMTI6MDUgTWFydmluIEjDpHVzZXIN Cj4+Pj4+IDxtaGFldXNlckBwb3N0ZW8uZGU8bWFpbHRvOm1oYWV1c2VyQHBvc3Rlby5kZT4+IHdy b3RlOg0KPj4+Pj4+DQo+Pj4+Pj4NCj4+Pj4+PiBEbyB5b3UgdXNlIHRoZSDigJxyZXBseSBhbGzi gJ0gb3B0aW9uIGluIHlvdXIgbWFpbCBjbGllbnQ/IExvb2tzIGxpa2UgDQo+Pj4+Pj4gbXkgQ0Nz IGhhdmUgYmVlbiBkcm9wcGVkIGFnYWluLiBDb21tZW50cyBpbmxpbmUuDQo+Pj4+Pj4NCj4+Pj4+ PiBPbiAxMy4gQXByIDIwMjIsIGF0IDEyOjU0LCBBZGEgQ2hyaXN0aW5lIA0KPj4+Pj4+IDxhZGFj aHJpc3RpbmUxOEBnbWFpbC5jb208bWFpbHRvOmFkYWNocmlzdGluZTE4QGdtYWlsLmNvbT4+DQo+ Pj4+Pj4gd3JvdGU6DQo+Pj4+Pj4gSGksIE1hcnZpbg0KPj4+Pj4+DQo+Pj4+Pj4gSXRzIHNpbWls YXJpdHkgdG8gbXkgb3duIGxhdGVzdCBleHBlcmltZW50IGlzIHRoZSBrZXkgdG8gd2hhdCANCj4+ Pj4+PiBncmFiYmVkIG15IGF0dGVudGlvbi4gSSBoYXZlIG5vIHBhcnRpY3VsYXIgdXNlIGNhc2Ug aW4gbWluZCBmb3IgDQo+Pj4+Pj4gaXQsIGJ1dCBJIHNlZSBpdHMgcG90ZW50aWFsIGZvciBhbnli b2R5IGRldmVsb3BpbmcgbGFyZ2VyIA0KPj4+Pj4+IGFwcGxpY2F0aW9ucyBpbiB0aGF0IHdoZW4g YSBsaWJyYXJ5IGlzIGNoYW5nZWQgdGhlcmUncyBubyBuZWVkIHRvIA0KPj4+Pj4+IGRpc3RyaWJ1 dGUgYSBuZXcgdmVyc2lvbiBvZiB0aGUgd2hvbGUgYmluYXJ5LCBqdXN0IHRoZSByZWxldmFudCAN Cj4+Pj4+PiBsaWJyYXJ5IG1vZHVsZS4NCj4+Pj4+Pg0KPj4+Pj4+IEkgcmVhbGx5IGRvIG5vdCBs aWtlIHRoZSB0cmVuZCBvZiB0cmVhdGluZyBVRUZJIGFzIGEgZnVsbC1mbGVkZ2VkIA0KPj4+Pj4+ IE9TIC0gaXQgaXMgbm90LiBUaGUgbW9zdCB1c2VkIFVFRkkgYXBwbGljYXRpb25zLCBPUyBsb2Fk ZXJzLCBhcmUgDQo+Pj4+Pj4gcmVhbGx5IG5vdCB0aGF0IGh1Z2UgYW5kIGFyZSBkaXN0cmlidXRl ZCBhcyBwYXJ0IG9mIHRoZSBPUyBpbWFnZSANCj4+Pj4+PiBhbnl3YXkuDQo+Pj4+Pj4gRXZlbiBm b3INCj4+Pj4+PiBsZXNzIHVzZWQgYXBwbGljYXRpb25zLCB5b3Ugd2lsbCBhbHdheXMgZ2V0IGEg ZnVsbCBzbmFwc2hvdCBhbnlob3cuDQo+Pj4+Pj4gR2xhZGx5IHdlIGRvbuKAmXQgaGF2ZSBhdXRv LXVwZGF0ZSBhbmQgcGFja2FnZSBtYW5hZ2VtZW50IHlldC4gOikNCj4+Pj4+Pg0KPj4+Pj4+DQo+ Pj4+Pj4gSSBzbGVwdCBvbiBpdCBhbmQgaXQgb2NjdXJyZWQgdG8gbWUgdGhhdCB0aGUgd2hvbGUg dGhpbmcgY291bGQgDQo+Pj4+Pj4gb3BlcmF0ZQ0KPj4+Pj4+IHNpbWlsYXJseSB0byB0aGUgc2hl bGwgcHJvdG9jb2wgaW4gdGhhdCB0aGUgbGlua2VyL2xvYWRlciBpcyANCj4+Pj4+PiBpdHNlbGYg YW4NCj4+Pj4+PiBhcHBsaWNhdGlvbiB0aGF0IGRvZXMgYSBMb2FkSW1hZ2UoKSBvbiB0aGUgYXBw bGljYXRpb24gbmVlZGluZyANCj4+Pj4+PiBkeW5hbWljDQo+Pj4+Pj4gbGlua2luZyBmYWNpbGl0 aWVzLg0KPj4+Pj4+DQo+Pj4+Pj4gVGhhdCB3b3VsZCBtZWFuIHRoZSBsaW5rZXIgaXRzZWxmIGlz IHNoaXBwZWQgd2l0aCBldmVyeSBhcHBsaWNhdGlvbg0KPj4+Pj4+IHRoYXQgcmVxdWlyZXMgaXQ/ IE90aGVyd2lzZSBpdCBkb2VzbuKAmXQgbWFrZSBtdWNoIHNlbnNlIGZvciBpdCB0byANCj4+Pj4+ PiBiZSBhbg0KPj4+Pj4+IGFwcCBhbmQgYmVsb3figJlzIHByb2JsZW1zIGFwcGx5Lg0KPj4+Pj4+ DQo+Pj4+Pj4gSWYgaG93ZXZlciB0aGUgd2hvbGUgcGxhbiBpcyBtYWtpbmcgdGhlIGxpbmtlciBh cyBhIERYRSBhbmQgDQo+Pj4+Pj4gaW5jbHVkaW5nDQo+Pj4+Pj4gaXQgd2l0aCB0aGUgZmlybXdh cmUsIHRoYXQgSSdtIG5vdCBxdWl0ZSBhcyBzdXJlIGFib3V0LiBUaGF0IHdvdWxkDQo+Pj4+Pj4g bmVjZXNzYXJpbHkgdGllIGFueSBhcHBsaWNhdGlvbnMgdXNpbmcgZHluYW1pYyBsaW5raW5nIHRv IA0KPj4+Pj4+IFRpYW5vQ29yZSBvcg0KPj4+Pj4+IGFueSBmaXJtd2FyZSBkaXN0cmlidXRpb24g dGhhdCBkZXJpdmVzIGZyb20gaXQuDQo+Pj4+Pj4NCj4+Pj4+PiBJIHRoaW5rIHRoYXQgd2FzIHRo ZSBpZGVhIHJlZmVycmVkIHRvIGFzIOKAnGVkazIgY29yZeKAnSBieSBTdGV2ZW4sIGJ1dA0KPj4+ Pj4+IEnigJlkIGxpa2UgdG8gaGVhciBoaXMgcHJvcG9zYWwgdG8gYmUgc3VyZS4gVmlydHVhbGx5 IGV2ZXJ5b25lIHVzZXMNCj4+Pj4+PiBlZGsyLCBzbyB0aGF0IGl0c2VsZiBpcyBub3QgdGhlIHBy b2JsZW0sIGJ1dCB2ZXJzaW9uaW5nIGlzLiBWZW5kb3JzDQo+Pj4+Pj4gYXJlIHNsb3cgdG8gdXBk YXRlIHRoZWlyIHNuYXBzaG90cyBvciBoYXZlIGp1c3QgZ2l2ZW4gdXAgZG9pbmcgdGhhdA0KPj4+ Pj4+IGVudGlyZWx5LiBEaXN0cmlidXRpbmcgaXQgZm9yIGV4dGVybmFsIGFwcGxpY2F0aW9ucyBs aWtlIE9TIGxvYWRlcnMNCj4+Pj4+PiB3b3VsZCBtZWFuIHRoaXMgY2FuIGJlIGxldmVyYWdlZCBw cm9iYWJseSBubyBlYXJsaWVyIHRoYW4gMTAgeWVhcnMNCj4+Pj4+PiBmcm9tIG5vdy4gQW5kIGZv ciBpbi1maXJtd2FyZSB0aGluZ3MsIEkgaGF2ZSBhIGhhcmQgdGltZSB0aGlua2luZyANCj4+Pj4+ PiBhYm91dCBhDQo+Pj4+PiB1c2UtY2FzZSB0aGF0IG91dHdlaWdocyB0aGUgZHJhd2JhY2tzLg0K Pj4+Pj4+DQo+Pj4+Pj4NCj4+Pj4+PiBUbyBzaGlmdCB0aGUgdG9waWMgc2xpZ2h0bHkgYmFjayB0 byBHU29DLCBob3dldmVyLCBJJ20gd2lsbGluZyB0byANCj4+Pj4+PiB3b3JrDQo+Pj4+Pj4gb24g b3RoZXIgaXRlbXMgb24gdGhlIHRhc2sgbGlzdC4gVW5pdCB0ZXN0aW5nIGFuZCBhbiBBQ1BJQ0EN Cj4+Pj4+PiBhcHBsaWNhdGlvbiBhcmUgdGhlIGFsdGVybmF0aXZlIHByb2plY3RzIEkgaGFkIHRo b3VnaHQgYWJvdXQuIEkgbmVlZA0KPj4+Pj4+IHRvIGNob29zZSBmYWlybHkgc29vbiBhcyB0aGUg cHJvcG9zYWwgZGVhZGxpbmUgaXMgbmV4dCBUdWVzZGF5LiBJIA0KPj4+Pj4+IGtub3cNCj4+Pj4+ PiBhIHRpbnkgYml0IGFib3V0IHBvcnRpbmcgQUNQSUNBIGFzIEkgYWxzbyBoYXZlIHBsYW5zIHRv IA0KPj4+Pj4+IGluY29ycG9yYXRlIGl0IGludG8gbXkNCj4+Pj4+IG93biBwcm9qZWN0Lg0KPj4+ Pj4+DQo+Pj4+Pj4gSSBoYXZlIGEgZmV3IG1vcmUgaWRlYXMgZm9yIHNlY3VyaXR5IHN0dWZmLCBi dXQgTmF0ZSBkaWQgbm90IGNvbmZpcm0NCj4+Pj4+PiB0aGVtIGFzIGFwcHJvcHJpYXRlIHlldCBh bmQgSeKAmW0gbm90IGhlcmUgdG8gZHJpdmUgeW91IGF3YXkgZnJvbSB0aGlzDQo+Pj4+Pj4gc3Bl Y2lmaWMgdGFzayAob3IgdGhlIG90aGVycykuIEhvd2V2ZXIsIEnigJltIHN0aWxsIGN1cmlvdXMg YW5kDQo+Pj4+Pj4gY29uY2VybmVkLiA6KQ0KPj4+Pj4+DQo+Pj4+Pj4gQmVzdCByZWdhcmRzLA0K Pj4+Pj4+IE1hcnZpbg0KPj4+Pj4+DQo+Pj4+Pj4NCj4+Pj4+Pg0KPj4+Pj4+DQo+Pj4+Pj4NCj4+ Pj4+Pg0KPj4+Pj4+DQo+Pj4+Pj4NCj4+Pj4+PiAtLSANCj4+Pj4+PiBQZWRybyBGYWxjYXRvDQo+ Pj4+Pj4NCj4+Pj4+Pg0KPj4+Pj4+DQo+Pj4+Pj4NCj4+Pj4+Pg0KPj4+Pj4NCj4+Pj4+DQo+Pj4+ Pg0KPj4+Pj4NCj4+Pj4+DQo+Pj4+DQo+Pj4+DQo+Pj4+DQo+Pj4+DQo+Pj4+DQo+Pj4+DQo+Pj4N Cj4+Pg0KPj4NCj4+DQo+Pg0KPj4NCj4+DQo+Pg0KPg0KPg0KPg0KPiANCj4NCj4NCg0KDQoNCg0K DQoNCg==