From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by mx.groups.io with SMTP id smtpd.web12.40654.1656691919949632155 for ; Fri, 01 Jul 2022 09:12:00 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=HyHjPvjS; spf=pass (domain: intel.com, ip: 192.55.52.93, mailfrom: jiewen.yao@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1656691919; x=1688227919; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=02cQ9zfpX4+PdeineX0qer/Oy6jXbF+mtXf9JaAwMbk=; b=HyHjPvjSg3FjChRDW4PBbjcXpHSmiLuFM5lpcPIkJ8dz2VWS5m5mM28W gwLN57hMeU97P1g7uIQFIzaUInrSo9jhEJJTg1tCGOFi/UrC3PIpPhlFc gZjZHwRg2hVvAHRUp9QulUCGt60Ab0pIWlUxo8zntuSjxiCSjfCehjAp/ ZhetpM1DdKFDUKP+q+fly5pQH69XREXpx4Tuim9o30AzfAnXPygeMsSDv NvakYZsyzuyhAXfxEEMu2O+TaPH9e0I8sGKZXut9tsrTmU4h97fvmB+Bz cwY1KLGFGy98N1yq0IpJxpBupx7lEQnuL2ZeaqaDDYcfxNDKFDXc7rYL7 g==; X-IronPort-AV: E=McAfee;i="6400,9594,10395"; a="280238576" X-IronPort-AV: E=Sophos;i="5.92,237,1650956400"; d="scan'208";a="280238576" Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 01 Jul 2022 09:11:59 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.92,237,1650956400"; d="scan'208";a="659477190" Received: from fmsmsx604.amr.corp.intel.com ([10.18.126.84]) by fmsmga004.fm.intel.com with ESMTP; 01 Jul 2022 09:11:57 -0700 Received: from fmsmsx602.amr.corp.intel.com (10.18.126.82) by fmsmsx604.amr.corp.intel.com (10.18.126.84) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27; Fri, 1 Jul 2022 09:11:57 -0700 Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) 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, 1 Jul 2022 09:11:57 -0700 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (104.47.55.171) 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.2308.27; Fri, 1 Jul 2022 09:11:56 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=dd0QfYZizxNEBpNirPvC8IW/3NCKKVECc0xyHwcs6iB1x4TJJTe12XgArdJvTCGGnJn+1GvRj7n3PMpHZy7D11Kyxkeo9V24INCMdebOnUotTwIlOu74hs3/t/1t+++VY1pR02cHEx8AjB5BbyRySbfuGaAkdweMN745HVuXEbAEdjnMDSx7O9PWahgrZsgEjbAzIG4YK6Dz8p5I9XNCo/J49hn97MqAuXLsvdI278r/1VLABy7RAU0zQWDp1INR8SRkAZGyNJncQcumQ/tLEbZc6B7MgKEhA1KMHJ8LSFbqlvCBxMuVJoSKtT9pEufbIQjIybPozvnBoJDY1jmDqw== 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=02cQ9zfpX4+PdeineX0qer/Oy6jXbF+mtXf9JaAwMbk=; b=ZvMsxq/8fYNyRMcKfs9A1GPWqIHzIVTDUQ5/fconOpVt4xPtDunXCmiE2F39p+7/v4WXtOSDlODjxzyog7OU9EotGjz+AjRaNK7eHRlVZ/W4zJ9Nf4/XMFel+LbqV/DLS0/jMeAVLc7IE3XsJPDALyCiq2Ipbn1g7qiqaKJfa3rlGUYR8leBE4JcHtScCenX7D/1NftJHhddwM4NlpeFGrCkJM/FqIofciEL5PSz0CHa+IkwoaH3jQ5UuwejjC5R5wEfm7I0JKqg26veMpGH/xJYsh80Cz7DOQ3ciD3FV5nF/+kUJif5DxGHK1OjnDuTzfZdmab7k5E++PYoQDCq6g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from MW4PR11MB5872.namprd11.prod.outlook.com (2603:10b6:303:169::14) by CY4PR11MB1704.namprd11.prod.outlook.com (2603:10b6:903:29::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5373.17; Fri, 1 Jul 2022 16:11:53 +0000 Received: from MW4PR11MB5872.namprd11.prod.outlook.com ([fe80::21c8:d7ec:9943:9d06]) by MW4PR11MB5872.namprd11.prod.outlook.com ([fe80::21c8:d7ec:9943:9d06%5]) with mapi id 15.20.5395.015; Fri, 1 Jul 2022 16:11:53 +0000 From: "Yao, Jiewen" To: "devel@edk2.groups.io" , "pierre.gondois@arm.com" CC: Sami Mujawar , Leif Lindholm , Ard Biesheuvel , Rebecca Cran , "Kinney, Michael D" , "Gao, Liming" , Edward Pickup Subject: Re: [edk2-devel] [PATCH RESEND v1 5/7] MdePkg/AesLib: Definition for AES library class interface Thread-Topic: [edk2-devel] [PATCH RESEND v1 5/7] MdePkg/AesLib: Definition for AES library class interface Thread-Index: AQHYi+/zPok8WzRfkECXVWfds1r+l61nF2PQgAIwRoCAACDqcIAAJOkAgAAIoNCAAA7PAIAACtHQ Date: Fri, 1 Jul 2022 16:11:53 +0000 Message-ID: References: <20220629191355.2618844-1-Pierre.Gondois@arm.com> <20220629191355.2618844-6-Pierre.Gondois@arm.com> <499390b1-0916-2f25-3831-b1e2d406bc49@arm.com> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-version: 11.6.500.17 dlp-product: dlpe-windows dlp-reaction: no-action 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: 99618635-d62f-4b52-bc72-08da5b7c69af x-ms-traffictypediagnostic: CY4PR11MB1704:EE_ x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: BQP22AfJbFUZCz5jYYPlUoPK2HwNbJvoX6rbQ3fOeKeYIBgT6NErnYsJt+zNmaRlZBsxGjI4qZhhH0d9Ei51P7MAOs9CqIEWHz/blSc6Nox0MySCRSi44ovIrVDDsG4HcPC4yX6FBzjA7EJkoMS13aqKZQXZHuguJ0qqBaFZppL67kAnjs99c9j6cAlcpv7NHksLNUpdqWMaLq4tBVOvqBNc1Uw90JRSSZCgVl+3N6bJ0tf6bf84q8jxU5uX3FSvuL6zvMyo/9NE2q5K5yj2A2wfMRRN1lNor6ElmRyipgtwCMSXMD9v9OGKZm8RYU5dHhBgEjJBQ93SpxvwzkzTsMw8EdPEJfFC/fsNBGkGPa2IxxohIyNjAlvkZCyD6F5iqu2+nNVEhHx9QyGslDfywyt5Um9GXEkbD49VcnF3uUcsQQbZq2WKpCNgBxbE22WB5k+eF7SBUNsZL/J3EV4Y36BRDZHYghH42xou+x+Lk3Q47CrWnYD/rNmkfTvvEIoc0b+S1bciDIYKKvEIz6mFfoHabEErjY3jtyvkiNf7gRb86meUR/lWUvKm2QK/m4HTX6pN8s2t8kXlCQLwgCs/8kPbXybi/WVMTuXROTyTpaIxQ+6UByDxfWKQ7qtnIfH3A1/sonnx0e9iqbUBz9sLP5RGzc27WLdctB4nCiRnCdnVjZ24EhiAsL6X3MooUx6KrY+WxrvKe13XiDnTIy9osLuFYlhArjpnrl0KpwURXDSKDN+1XI8fbrW8WRTuQr22JdqR68TLcIQzm3NH4r8Hps+U1SVdzND0CZs+Y0o+TzKJed4UEN21mLxKwhH132w/KdLfD2PTLECEk7tJ6q6eQr70TB9n6o++qbf8opmoI7B7xWK3dB2qHzVeMUCO75Sl x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW4PR11MB5872.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(136003)(39860400002)(376002)(346002)(396003)(366004)(53546011)(26005)(86362001)(9686003)(38070700005)(6506007)(2906002)(41300700001)(54906003)(8676002)(4326008)(66476007)(66446008)(110136005)(66556008)(7696005)(66946007)(76116006)(316002)(38100700002)(71200400001)(82960400001)(64756008)(966005)(5660300002)(30864003)(186003)(83380400001)(33656002)(55016003)(8936002)(478600001)(122000001)(52536014);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?ekFCcFBwMW5HYUE2TkcwYkJoSEp1QjZBZ3VZbDN4T1NsbzI5cTk5czNqdC9V?= =?utf-8?B?R1d0WUpKODdJS3BoZVl3RFhuTWJtME9iOHFaL3dybDN0RVkyV0QyNzBNdTcz?= =?utf-8?B?TCsyQ0hGNjkvQitYNVk2RUtraklDejhYN1cwZDZqS3hibG04ZWtscUxESktQ?= =?utf-8?B?T3lvNngvM3R5bUtYSXQycnE5aStneCt3ajBmZkYxLzJSakhDTzlTTVMyUDVk?= =?utf-8?B?aDljREcwcC9ENHNoZnJlVkxsNkpOMmxKbDgrOUF3ZEkxRU0vVks0SmQ0NVZ5?= =?utf-8?B?bkFZbWJka05VVHFYc3gwbWJiY1U2a3ZIRkwzTnpJZTNGZFdEQ0Z0V21DK1lp?= =?utf-8?B?ZGc5K2wwc2JJZUpYcjQ3dHo2VEJmbmJHL0RYQjlVV1BrL1duMStScmVWNDhi?= =?utf-8?B?WjhTMEg4WWRhd05PY1Q2SSs0YXh1K29GZXdRQlhnanFKUHdublBhbFk3Mys5?= =?utf-8?B?N3lEdWRhSUR6Q3ExbDdtVUdGMTEwbWFmU2NyR1kwYktLNjZ2RVAvMVM5dGlr?= =?utf-8?B?dHMyT0NWSCtnMTA5QlBqb1JaNWlJczgxUTZscjFIMDROdlROelJYRm4xQVJz?= =?utf-8?B?MldCTlZzOFdsa3FncExCbWwxSEpsS3RGblFXRVVxbERDT3o2NzZTT2d0MGhX?= =?utf-8?B?TFY4WFJKcnZGY0ZXWnFrSDNIU3NNdEdZRlduSk9ya2hZTzhRcSs5N1YvNWhh?= =?utf-8?B?UmlCWXFZQmp0TkdWOWFPWmg3OU9UK3IwbklCREk2Q1lGOE8wSUorZkFRaEJD?= =?utf-8?B?Wm1PZWNWOHo2VEhLNWx2UGJSU0l1bWZUNHp0SDBFYVdwL0JWRGZuNTF2OUJ2?= =?utf-8?B?WEdIQ3FSYkkxWEVGdUNNNDF4ZlNxRTF2Q2RSdldwNmE1N0I5VHp5QkVBSWI4?= =?utf-8?B?OGdMcEVxYnAvaTM5SURyNkJWUExUOVNra3lhc3h3ejd6alJQclhvWjdPQjRB?= =?utf-8?B?QUtRSXdmTGl5b2ppNXNIdjVjTWtTakRMNHZuRjdxT1VZSTlTdEFON1Z2cFVj?= =?utf-8?B?QkhUN3ZpdUQxRVdqUlYyREwxVVhTR0hRLy8ra3JWQVB5SVJOd0hENXBUNWFJ?= =?utf-8?B?R2hsN2NGcko5UEw4N2diNU16MmVLTkJTNWJON0g3OW41UWFsWnk4a2RoZ0Fr?= =?utf-8?B?SWJPS3FMdndOL2I1WFhOWVlmSVpDWm13TG1iUlhCaEJnTW52Y1MwdW1qdlBN?= =?utf-8?B?U3g0NnZvOUZKakpiYW54MnZxYlk3YWhsWVYzVEhsbEFFOGNYb2hxTTQ1Y0ds?= =?utf-8?B?N2IxQWlZYkFPV0lEVlY2cHVjT2J3RERrWFpnTzMra2dCWmVJeTF1aVJDTHh5?= =?utf-8?B?dWp3T1AxQzE5M29RM2ZjNDZzcnNvaTdiaTJmMFIxRXBLamJWbUxqU3ByY21O?= =?utf-8?B?QWFoQkpVcnYrazJCWjBwdElkdUEwRFZ5S3ZkV0ROMGEyNlc5RGhXcFRoczBZ?= =?utf-8?B?NUl3d0xKK1oraGJqRjRRTzBFNmxYK04yakJTYmFJUkhTLytSUzdVVE9rd253?= =?utf-8?B?Kzh0eWIwenFzb1o3U1FQWWk2OVRCb0F4OVhpUW9BdWIxRlcvSExJcHhNY1Rx?= =?utf-8?B?MER6bWk1QUVHTDdFSkpPTFlaeklSUUJ2YjBseXFwejdpVVFhMlpwVTFOYzlj?= =?utf-8?B?V0haakVFbnM3S09ZRTFsYkVTWVQrSkp6YlQxMzN2M0tYbHFETll2Z1lMVnpW?= =?utf-8?B?aG5WK1ppWk1pLzl0bWprQ2NmYVpHeDJjQndGc2ZhNHcvQy91MEVqajVOUDVQ?= =?utf-8?B?aEhrcC90NEI1SHBSTVpXR0hBcjIxK3F4UW5lRExlb2NIbU1ma1REdmNsQ0Jz?= =?utf-8?B?SmJwZGNqQTdUS2ZzaXI0VzZWWFR4R1dyanVjQko1c2NSQ0k0TzhZR05WbWNJ?= =?utf-8?B?WnFzbUF2bkJMR0pWeEFYYk5wWWJhbkJnTCtlZzFRVWZQS0JjSlZpR1dPRnJj?= =?utf-8?B?MXlRNENRRm5ZdlVzWW56WEFranFCVTNSUUNSNkljcUhSRXg3NXdqekt5WUpl?= =?utf-8?B?Qmw0MlFYUTl0OG9hNnZwMkg1ZVgxNGttQ3djbEhuMHdoNFNqWVpBVzV5R0Zp?= =?utf-8?B?WGpKUms1MnhJQ0prWm5pKzc1TGsrZUQxQlk5bVZVUVRXS2N3SmNEd3hiUXRS?= =?utf-8?Q?oe68f78t6xRs/mgW/irkpD0uQ?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MW4PR11MB5872.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 99618635-d62f-4b52-bc72-08da5b7c69af X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Jul 2022 16:11:53.2918 (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: wnyilJ25UX9zDnzFZP/2naDoonHdou/LslTMii5tWHvctvI12DHyhjCG+8sngcde1C8BA0xXMQ0LgKiZXmA+Fw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR11MB1704 Return-Path: jiewen.yao@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogZGV2ZWxAZWRrMi5ncm91 cHMuaW8gPGRldmVsQGVkazIuZ3JvdXBzLmlvPiBPbiBCZWhhbGYgT2YNCj4gUGllcnJlR29uZG9p cw0KPiBTZW50OiBGcmlkYXksIEp1bHkgMSwgMjAyMiAxMToyMyBQTQ0KPiBUbzogWWFvLCBKaWV3 ZW4gPGppZXdlbi55YW9AaW50ZWwuY29tPjsgZGV2ZWxAZWRrMi5ncm91cHMuaW8NCj4gQ2M6IFNh bWkgTXVqYXdhciA8c2FtaS5tdWphd2FyQGFybS5jb20+OyBMZWlmIExpbmRob2xtDQo+IDxxdWlj X2xsaW5kaG9sQHF1aWNpbmMuY29tPjsgQXJkIEJpZXNoZXV2ZWwgPGFyZGIrdGlhbm9jb3JlQGtl cm5lbC5vcmc+Ow0KPiBSZWJlY2NhIENyYW4gPHJlYmVjY2FAYnNkaW8uY29tPjsgS2lubmV5LCBN aWNoYWVsIEQNCj4gPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPjsgR2FvLCBMaW1pbmcgPGdh b2xpbWluZ0BieW9zb2Z0LmNvbS5jbj47DQo+IEVkd2FyZCBQaWNrdXAgPEVkd2FyZC5QaWNrdXBA YXJtLmNvbT4NCj4gU3ViamVjdDogUmU6IFtlZGsyLWRldmVsXSBbUEFUQ0ggUkVTRU5EIHYxIDUv N10gTWRlUGtnL0Flc0xpYjogRGVmaW5pdGlvbiBmb3INCj4gQUVTIGxpYnJhcnkgY2xhc3MgaW50 ZXJmYWNlDQo+IA0KPiANCj4gDQo+IE9uIDcvMS8yMiAxNjo0MCwgWWFvLCBKaWV3ZW4gd3JvdGU6 DQo+ID4gUGxlYXNlIGFsbG93IG1lIHRvIGNsYXJpZnkgbXkgdW5kZXJzdGFuZGluZzoNCj4gPg0K PiA+IDEpIFlvdSB3YW50IHRvIHByb21vdGUgRHJiZ0xpYiB0byBNZGVQa2cuIC0tIFRoYXQgaXMg YSBkaWZmZXJlbnQgdG9waWMuIFdlDQo+IHNob3VsZCBkaXNjdXNzIHRoYXQgaW4gb3RoZXIgdGhy ZWFkLg0KPiA+IE5vdywgbGV04oCZcyBhc3N1bWUgaXQgaXMgT0suDQo+ID4NCj4gPiAyKSBZb3Ug d2FudCB0byB1c2UgQUVTIGFzIGFuIGltcGxlbWVudGF0aW9uIGZvciBEcmJnTGliLg0KPiA+IFRo YXQgaXMgYWxzbyByZWFzb25hYmxlLg0KPiA+DQo+ID4gUGxlYXNlIG5vdGU6IE1kZVBrZyBvbmx5 IHJlcXVpcmVzIHRoZSBsaWJyYXJ5IGludGVyZmFjZSB0byBiZSBzZWxmLWNvbnRhaW5lZC4NCj4g QnV0IG5vdCB0aGUgbGlicmFyeSBpbnN0YW5jZS4NCj4gPg0KPiA+IEFzc3VtaW5nIHlvdSBhcmUg d29ya2luZyBvbiBBUk0gc29sdXRpb24uIEl0IGlzIGxlZ2FsIHRoYXQ6DQo+ID4gRHJiZ0xpYi5o IChpbnRlcmZhY2UpIC0+IE1kZVBrZy4NCj4gPiBBZXNMaWIuaCAoaW50ZXJmYWNlKSAtPiBBcm1Q a2cNCj4gPiBBZXNMaWIgKGluc3RhbmNlKSAtPiBBcm1Qa2cNCj4gPiBEcmJnTGliQWVzIChpbnN0 YW5jZSkgLT4gQXJtUGtnLg0KPiANCj4gSSBkb24ndCB0aGluayB0aGlzIG9wdGlvbiBpcyBwb3Nz aWJsZSBhcyB0aGUgaW50ZXJmYWNlIGRlZmluaXRpb24gd291bGQgYmUgaW4gQXJtUGtnLA0KPiBt YWtpbmcgTWRlUGtnIGRlcGVuZGVudCBvbiBBcm1Qa2cuDQoNCltKaWV3ZW5dIFdoeSBNZGVQa2cg ZGVwZW5kcyBvbiBBcm1Qa2c/Pz8NCk1kZVBrZyBvbmx5IGhhdmUgbGlicmFyeSBBUEkuIFdoeSB5 b3VyIERyYmdMaWIuaCBpbmNsdWRlcyBBRVMgaW5mb3JtYXRpb24/DQpJZiBzbywgSSB3b3VsZCBy ZWNvbW1lbmQgeW91IG5lZWQgZml4IHRoZSBEcmJnTGliLmguDQoNCg0KDQo+ID4NCj4gPiAob3Ip DQo+ID4gRHJiZ0xpYi5oIChpbnRlcmZhY2UpIC0+IE1kZVBrZy4NCj4gPiBEcmJnTGliQWVzIChp bnN0YW5jZSkgLT4gQXJtUGtnLiAoeW91IGNhbiBwdXQgQUVTIGltcGxlbWVudGF0aW9uIGhlcmUN Cj4gZGlyZWN0bHksIHdpdGhvdXQgQWVzTGliLmgpDQo+IA0KPiBJIGFncmVlIHRoaXMgb3B0aW9u IGlzIHBvc3NpYmxlLCBidXQgSSB0aGluayBpdCB3b3VsZCBiZSBpbmVmZmljaWVudCBhcyB0aGUg b25seSBBcm0NCj4gKG9yIGFyY2gpDQo+IHNwZWNpZmljIHBhcnRzIG9mIHRoZSBEcmJnTGliIGFy ZToNCj4gLSB0aGUgVHJuZyBpbXBsZW1lbnRhdGlvbg0KPiAtIHRoZSBBZXMgaW1wbGVtZW50YXRp b24NCj4gQm90aCBhcmUgZGVmaW5lZCBhcyBsaWJyYXJpZXMgdXNlZCBieSB0aGUgRHJiZ0xpYi4g VGhlIHJlc3Qgb2YgdGhlIERyYmdMaWIgY29kZSBpcw0KPiBjb21tb24gdG8gYWxsIGFyY2hpdGVj dHVyZXMuDQo+IA0KPiBUaGUgYWJvdmUgZXhwbGFpbnMgaG93L3doeSB0aGUgRHJiZ0xpYiBpcyBt b2R1bGFyaXplZC4gSWYgdGhlIERyYmdMaWIgd2FzIHB1dA0KPiBpbiB0aGUgU2VjdXJpdHlQa2cg KEkgdGhpbmsgdGhpcyB3b3VsZCBmaXQpLCB0aGVyZSB3b3VsZCBiZSBubyBuZWVkIHRvIGhhdmUg dGhlDQo+IEFlc0xpYiBpbiB0aGUgTWRlUGtnLiBXb3VsZCB0aGUgZGlzdHJpYnV0aW9uIGJlbG93 IGZpdCBmb3IgeW91ID8NCj4gDQo+IERyYmdMaWIuaCAoaW50ZXJmYWNlKSAtPiBTZWN1cml0eVBr Zw0KPiBEcmJnTGliIChpbnN0YW5jZSkgLT4gU2VjdXJpdHlQa2cgKG5vdGU6IERyYmdMaWJBZXMg IT0gRHJiZ0xpYikNCj4gQWVzTGliLmggKGludGVyZmFjZSkgLT4gQ3J5cHRvUGtnDQo+IEFlc0xp YiAoaW5zdGFuY2UpIC0+IEFybVBrZyAgb3IgQ3J5cHRvUGtnDQoNCltKaWV3ZW5dIEkgaGF2ZSBl eHByZXNzZWQgbXkgY29uY2VybiBvbiBBZXNMaWIuaCBwdWJsaWMgQVBJIGRlZmluaXRpb24sIGlm IGl0IGlzIGluIE1kZVBrZywgb3IgQ3J5cHRvUGtnLg0KDQpJbiBmaXJtd2FyZSwgbW9zdCBwcm9n cmFtIGp1c3Qgd2FudHMgdG8gZ2V0IGEgUmFuZG9tIHZhbHVlLiBXZSBhbHJlYWR5IGhhdmUgUm5n TGliIGFuZCBCYXNlQ3J5cHRvTGliLg0KSSB0aGluayBpdCBpcyBlbm91Z2ggZm9yIHRoZSBjb25z dW1lci4gQWRkaW5nIG1vcmUgcHVibGljIEFQSXMganVzdCBjb25mdXNlcyBwZW9wbGUuDQoNCkZv ciBwcm9kdWNlciwgeW91IHdhbnQgdG8gYnVpbGQgbXVsdGlwbGUgbGF5ZXJzLCB0aGF0IGlzIGZp bmUuDQpJIHdvdWxkIHN1Z2dlc3QgdG8gbm90IGV4cG9zZSBzdWNoIGNvbXBsZXhpdHkgdG8gdGhl IGNvbnN1bWVyLg0KSXQgY291bGQgYmUgbGltaXRlZCBpbiB5b3VyIGludGVybmFsIGltcGxlbWVu dGF0aW9uLg0KDQpTbyBmYXIsIEkgZmVlbCBpdCBpcyBhbiBvdmVyZGVzaWduIHRvIGV4cG9zZSBB ZXNMaWIuaCwgYmVjYXVzZSBJIGRvbuKAmXQgc2VlIHRoZSB1c2Ugb3RoZXIgdXNlIGNhc2UgYmVz aWRlcyBEcmJnTGliLg0KRXZlbiBpZiB5b3Ugd2FudCB0byBhZGQgQUVTIGluc3RydWN0aW9uIHRv IEJhc2VDcnlwdG9MaWIsIHlvdSBjYW4gYWRkIHRoZSBBUk0gdmVyc2lvbiBkaXJlY3RseS4gSSBz dGlsbCBkb27igJl0IHNlZSB0aGUgdmFsdWUgdG8gaGF2ZSBBZXNMaWIuaC4NCg0KDQpUaGFuayB5 b3UNCllhbyBKaWV3ZW4NCg0KDQo+IA0KPiBSZWdhcmRzLA0KPiBQaWVycmUNCj4gDQo+ID4NCj4g PiBJIGRvbuKAmXQgc2VlIHRoZSBuZWVkIHB1dCBBZXNMaWIuaCB0byBNZGVQa2cuDQo+ID4gQW5k IEkgZG9u4oCZdCBoYXZlIGNvbW1lbnQgZm9yIEFybVBrZy4NCj4gPg0KPiA+IFRoYW5rIHlvdQ0K PiA+IFlhbyBKaWV3ZW4NCj4gPg0KPiA+DQo+ID4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0t DQo+ID4+IEZyb206IFBpZXJyZSBHb25kb2lzIDxwaWVycmUuZ29uZG9pc0Bhcm0uY29tPg0KPiA+ PiBTZW50OiBGcmlkYXksIEp1bHkgMSwgMjAyMiA5OjU5IFBNDQo+ID4+IFRvOiBZYW8sIEppZXdl biA8amlld2VuLnlhb0BpbnRlbC5jb20+OyBkZXZlbEBlZGsyLmdyb3Vwcy5pbw0KPiA+PiBDYzog U2FtaSBNdWphd2FyIDxzYW1pLm11amF3YXJAYXJtLmNvbT47IExlaWYgTGluZGhvbG0NCj4gPj4g PHF1aWNfbGxpbmRob2xAcXVpY2luYy5jb20+OyBBcmQgQmllc2hldXZlbCA8YXJkYit0aWFub2Nv cmVAa2VybmVsLm9yZz47DQo+ID4+IFJlYmVjY2EgQ3JhbiA8cmViZWNjYUBic2Rpby5jb20+OyBL aW5uZXksIE1pY2hhZWwgRA0KPiA+PiA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+OyBHYW8s IExpbWluZyA8Z2FvbGltaW5nQGJ5b3NvZnQuY29tLmNuPjsNCj4gPj4gRWR3YXJkIFBpY2t1cCA8 RWR3YXJkLlBpY2t1cEBhcm0uY29tPg0KPiA+PiBTdWJqZWN0OiBSZTogW2VkazItZGV2ZWxdIFtQ QVRDSCBSRVNFTkQgdjEgNS83XSBNZGVQa2cvQWVzTGliOiBEZWZpbml0aW9uDQo+IGZvcg0KPiA+ PiBBRVMgbGlicmFyeSBjbGFzcyBpbnRlcmZhY2UNCj4gPj4NCj4gPj4gSGVsbG8gSmlld2VuLA0K PiA+Pg0KPiA+PiBPbiA3LzEvMjIgMTM6NTUsIFlhbywgSmlld2VuIHdyb3RlOg0KPiA+Pj4gSSBo YXZlIHR3byBjb25jZXJuOg0KPiA+Pj4NCj4gPj4+IDEpIEkgYW0gd29ycmllZCB0aGF0IHRoaXMg QVBJIG1pZ2h0IGJlIG1pc3VzZWQuIFVzdWFsbHksIGEgY3J5cHRvIEFQSSBzaG91bGQNCj4gYmUN Cj4gPj4gc2VjdXJlIGVub3VnaCB0byBhdm9pZCBtaXN1c2UuIEZvciBleGFtcGxlLCBpZiBhIHBy b2dyYW0gd2FudHMgdG8gdXNlIEFFUw0KPiA+PiBlbmNyeXB0aW9uLCBpdCBtdXN0IE5PVCB1c2Ug dGhpcyBBRVMgQVBJLiBJbnN0ZWFkIGl0IG11c3QgdXNlIEFFU19DQ0IgKyBNQUMNCj4gb3INCj4g Pj4gQUVTX0dDTS4gKG9yIGVxdWl2YWxlbnQpDQo+ID4+PiBJIGRvdWJ0IGlmIHRoaXMgaXMgcmln aHQgZGlyZWN0aW9uIHRvIGV4cG9zZSB0aGlzIHB1YmxpY2x5IGluIE1kZVBrZy4NCj4gPj4+DQo+ ID4+PiAyKSBJIGFtIG5vdCBzdXJlIGhvdyB0aGlzIEFQSSB3aWxsIGJlIHVzZWQgaW4gQ3J5cHRv TGliLg0KPiA+Pj4gSWRlYWxseSwgYW4gRURLSUkgcHJvZ3JhbSBzaG91bGQgdXNlIGNyeXB0byBs aWIgQVBJIGZvciBhbnkgY3J5cHRvIGZ1bmN0aW9uLg0KPiA+Pj4gSG93ZXZlciwgSSBkbyBub3Qg dW5kZXJzdGFuZCBob3cgdGhhdCBpcyBkb25lLg0KPiA+Pj4NCj4gPj4NCj4gPj4gVGhlIHJlYXNv biB0aGUgQWVzTGliIHdhcyBwdXQgaW4gTWRlUGtnOg0KPiA+PiAtIFRoZSBEcmJnTGliIHdhcyB0 aG91Z2h0IHRvIGJlIGdlbmVyaWMgZW5vdWdoIHRvIGJlIGluIE1kZVBrZw0KPiA+PiAgICAgKHRo aXMgaXMgYXJndWFibGUpLg0KPiA+PiAtIFRoZSBNZGVQa2cgbXVzdCBiZSBzZWxmLWNvbnRhaW5l ZCAoaS5lLiBub3QgdXNlIGxpYnJhcmllcy9tb2R1bGVzDQo+ID4+ICAgICBkZWZpbmVkIGluIG90 aGVyIHBhY2thZ2VzKS4gVGh1cyBpZiBhbiBBZXNMaWIgaXMgY3JlYXRlZCwgaXQgbXVzdCBiZQ0K PiA+PiAgICAgaW4gdGhlIE1kZVBrZy4NCj4gPj4gSSBkb24ndCBtaW5kIG1vdmluZyB0aGUgRHJi Z0xpYiAoYW5kIHRoZSBBZXNMaWIpIHRvIGFub3RoZXIgcGFja2FnZSBpZg0KPiA+PiB0aGlzIGlz IHRoZSBjb21tb24gYWdyZWVtZW50Lg0KPiA+Pg0KPiA+PiBXaHkgYSBzaW5nbGUgYmxvY2sgQWVz TGliIHNob3VsZCBiZSBjcmVhdGVkOg0KPiA+PiAtIFRoZSBEcmJnTGliIHJlcXVpcmVzIHRvIGhh dmUgQWVzIHNpbmdsZSBibG9jayBlbmNyeXB0aW9uLiBBIHNvZnR3YXJlDQo+ID4+ICAgICBpbXBs ZW1lbnRhdGlvbiBvZiBBZXMgaXMgYWxzbyBhdmFpbGFibGUgKGFuZCB1c2VkKSBhdCBbMl0gaW4g dGhlDQo+ID4+ICAgICBTZWN1cml0eVBrZy4gVGhpcyBpbXBsZW1lbnRhdGlvbiBpcyBsaW1pdGVk IHRvIGEgbW9kdWxlIHNjb3BlLg0KPiA+PiAgICAgVGh1cywgdGhlcmUgaXMgYSBuZWVkIGNyZWF0 ZSBhIGNvbW1vbiBsaWJyYXJ5IGZvciB0aGlzLg0KPiA+PiAtIEkgYWdyZWUgdGhhdCB0aGlzIEFl c0xpYiBzaG91bGQgbm90IGJlIG1pc3Rha2VuIHdpdGggc29tZXRoaW5nIGVsc2UNCj4gPj4gICAg IChjZiB5b3VyIGNvbW1lbnQgYWJvdXQgQUVTX0NDQiArIE1BQyBvciBBRVNfR0NNKS4gSG93ZXZl ciwgdGhlIG5ldw0KPiA+PiAgICAgaW50ZXJmYWNlIG5lZWRlZCBpcyBmb3IgYSBzaW5nbGUgYmxv Y2sgZW5jcnlwdGlvbi4gU28gYWRkaW5nIHRoZXNlDQo+ID4+ICAgICBuZXcgZnVuY3Rpb25zIHRv Og0KPiA+PiAgICAgQ3J5cHRvUGtnL0luY2x1ZGUvTGlicmFyeS9CYXNlQ3J5cHRMaWIuaA0KPiA+ PiAgICAgd29uJ3QgbWFrZSBpdCBzYWZlci4NCj4gPj4NCj4gPj4gUGxlYXNlIGxldCBtZSBrbm93 IGlmIHRoZXJlIGFyZSBzdGlsbCBjb25jZXJucywNCj4gPj4gUmVnYXJkcywNCj4gPj4gUGllcnJl DQo+ID4+DQo+ID4+IE5vdGU6DQo+ID4+IFRoZSBmdW5jdGlvbnMgaW4gQWVzTGliIGFyZSBlcXVp dmFsZW50IHRvIHRoZSBvbmVzIGluIFs0XS4NCj4gPj4NCj4gPj4gWzFdIGh0dHBzOi8vZWRrMi5n cm91cHMuaW8vZy9kZXZlbC9maWxlcy9EZXNpZ25zLzIwMjEvMDExNi9FREtJSSUyMC0NCj4gPj4g JTIwUHJvcG9zZWQlMjB1cGRhdGUlMjB0byUyMFJORyUyMGltcGxlbWVudGF0aW9uLnBkZg0KPiA+ PiBbMl0NCj4gPj4NCj4gaHR0cHM6Ly9naXRodWIuY29tL3RpYW5vY29yZS9lZGsyL2Jsb2IvZjk2 NjA5M2Y1YmI4OGU2ZmNjYWM4ZTBiOWVlY2E2YzczDQo+ID4+DQo+IGFlZjBjMzUvU2VjdXJpdHlQ a2cvUmFuZG9tTnVtYmVyR2VuZXJhdG9yL1JuZ0R4ZS9SYW5kL0Flc0NvcmUuYyNMMjE1DQo+ID4+ IFszXQ0KPiA+Pg0KPiBodHRwczovL2dpdGh1Yi5jb20vdGlhbm9jb3JlL2VkazIvYmxvYi9mOTY2 MDkzZjViYjg4ZTZmY2NhYzhlMGI5ZWVjYTZjNzMNCj4gPj4gYWVmMGMzNS9DcnlwdG9Qa2cvSW5j bHVkZS9MaWJyYXJ5L0Jhc2VDcnlwdExpYi5oI0wxMTI4DQo+ID4+IFs0XSBodHRwczovL2dpdGh1 Yi5jb20vb3BlbnNzbC9vcGVuc3NsL2Jsb2IvbWFzdGVyL2NyeXB0by9hZXMvYWVzX2NvcmUuYw0K PiA+Pg0KPiA+Pg0KPiA+Pj4NCj4gPj4+IEkgdGhpbmsgaXQgaXMgZ29vZCBpZGVhIHRvIGVuYWJs ZSBBUk0gQUVTIGhhcmR3YXJlIGFjY2VsZXJhdG9yLg0KPiA+Pj4gQW5kIEkgd291bGQgbGlrZSB0 byBzZWUgYSB0b3RhbCBzb2x1dGlvbi4NCj4gPj4+DQo+ID4+PiBJdCB3aWxsIGJlIGdyZWF0LCBp ZiB5b3UgYWxzbyBzdWJtaXQgdGhlIGNyeXB0b3BrZyBwYXRjaCB0byBoZWxwIG1lDQo+IHVuZGVy c3RhbmQNCj4gPj4gaG93IHRvIGFjaGlldmUgdGhhdC4NCj4gPj4+DQo+ID4+PiBUaGFuayB5b3UN Cj4gPj4+IFlhbyBKaWV3ZW4NCj4gPj4+DQo+ID4+Pg0KPiA+Pj4+IC0tLS0tT3JpZ2luYWwgTWVz c2FnZS0tLS0tDQo+ID4+Pj4gRnJvbTogUGllcnJlIEdvbmRvaXMgPHBpZXJyZS5nb25kb2lzQGFy bS5jb20+DQo+ID4+Pj4gU2VudDogRnJpZGF5LCBKdWx5IDEsIDIwMjIgNTo0OSBQTQ0KPiA+Pj4+ IFRvOiBZYW8sIEppZXdlbiA8amlld2VuLnlhb0BpbnRlbC5jb20+OyBkZXZlbEBlZGsyLmdyb3Vw cy5pbw0KPiA+Pj4+IENjOiBTYW1pIE11amF3YXIgPHNhbWkubXVqYXdhckBhcm0uY29tPjsgTGVp ZiBMaW5kaG9sbQ0KPiA+Pj4+IDxxdWljX2xsaW5kaG9sQHF1aWNpbmMuY29tPjsgQXJkIEJpZXNo ZXV2ZWwNCj4gPGFyZGIrdGlhbm9jb3JlQGtlcm5lbC5vcmc+Ow0KPiA+Pj4+IFJlYmVjY2EgQ3Jh biA8cmViZWNjYUBic2Rpby5jb20+OyBLaW5uZXksIE1pY2hhZWwgRA0KPiA+Pj4+IDxtaWNoYWVs LmQua2lubmV5QGludGVsLmNvbT47IEdhbywgTGltaW5nIDxnYW9saW1pbmdAYnlvc29mdC5jb20u Y24+Ow0KPiA+Pj4+IEVkd2FyZCBQaWNrdXAgPEVkd2FyZC5QaWNrdXBAYXJtLmNvbT4NCj4gPj4+ PiBTdWJqZWN0OiBSZTogW2VkazItZGV2ZWxdIFtQQVRDSCBSRVNFTkQgdjEgNS83XSBNZGVQa2cv QWVzTGliOg0KPiBEZWZpbml0aW9uDQo+ID4+IGZvcg0KPiA+Pj4+IEFFUyBsaWJyYXJ5IGNsYXNz IGludGVyZmFjZQ0KPiA+Pj4+DQo+ID4+Pj4gSGVsbG8gWWFvLA0KPiA+Pj4+DQo+ID4+Pj4gT24g Ni8zMC8yMiAwMjoyOSwgWWFvLCBKaWV3ZW4gd3JvdGU6DQo+ID4+Pj4+IEhpDQo+ID4+Pj4+IDEp IFdvdWxkIHlvdSBwbGVhc2UgZWR1Y2F0ZSBtZSwgaG93IHRoaXMgbGlicmFyeSBiZSB1c2VkIGlu IGNyeXB0b2xpYj8gLQ0KPiA+Pj4+DQo+ID4+DQo+IGh0dHBzOi8vZ2l0aHViLmNvbS90aWFub2Nv cmUvZWRrMi9ibG9iL21hc3Rlci9DcnlwdG9Qa2cvSW5jbHVkZS9MaWJyYXJ5L0Jhcw0KPiA+Pj4+ IGVDcnlwdExpYi5oI0wxMDkxDQo+ID4+Pj4+DQo+ID4+Pj4+IEN1cnJlbnRseSwgd2UgaGF2ZSBB RVNfQ0JDLiBXZSBhcmUgZ29pbmcgdG8gYWRkIEFFU19HQ00gaW4gbmVhcg0KPiBmdXR1cmUuDQo+ ID4+Pj4+DQo+ID4+Pj4NCj4gPj4+PiBXZSBhcmUgY3VycmVudGx5IGxvb2tpbmcgZm9yd2FyZCB0 byBkbyB0aGF0LiBKdXN0IHRvIGJlIHN1cmUsIHRoZQ0KPiA+Pj4+IEFlc0luaXQoKSBmdW5jdGlv biBwb2ludGVkIGFib3ZlIGlzIGZvciBBZXNDYmNFbmNyeXB0KCksIHdoaWNoIGNhbg0KPiA+Pj4+ IGVuY3J5cHQgYSBidWZmZXIuDQo+ID4+Pj4gVGhlIEFlc0luaXRDdHgoKSBpbiB0aGlzIGZpbGUg aXMgZm9yIGEgc2luZ2xlIGJsb2NrIGVuY3J5cHRpb24uIFNvDQo+ID4+Pj4gdGhlcmUgc2hvdWxk IGJlIG5vdGhpbmcgcHJldmVudGluZyBmcm9tIGltcGxlbWVudGluZyBDQkMgKG9yIG90aGVyKQ0K PiA+Pj4+IGVuY3J5cHRpb24gYmFzZWQgb24gdGhlIEFlcyBibG9jayBlbmNyeXB0aW9uIGFkZGVk IGJ5IHRoaXMgcGF0Y2gtc2V0Lg0KPiA+Pj4+DQo+ID4+Pj4+IDIpIEZvciBJbnRlbCBBRVNfTkks IHdlIGFkZGVkIHN1cHBvcnQgaW4gT3BlbnNzbExpYiBkaXJlY3RseSAtDQo+ID4+Pj4NCj4gPj4N Cj4gaHR0cHM6Ly9naXRodWIuY29tL3RpYW5vY29yZS9lZGsyL3RyZWUvbWFzdGVyL0NyeXB0b1Br Zy9MaWJyYXJ5L09wZW5zc2xMaWIvDQo+ID4+Pj4gWDY0LCBjYW4gQVJNIHVzZSB0aGUgc2ltaWxh ciBtb2RlbD8NCj4gPj4+Pj4NCj4gPj4+Pg0KPiA+Pj4+IFdlIGFsc28gbmVlZCB0byBoYXZlIGEg bG9vayBhdCB0aGlzLiBIb3dldmVyIHRoaXMgbWlnaHQgYmUgYSBiaXQgbW9yZQ0KPiA+Pj4+IGRp ZmZpY3VsdCBpZiB3ZSB3YW50IHRvIGF2b2lkIE9wZW5zc2wgbGljZW5zZS4NCj4gPj4+Pg0KPiA+ Pj4+PiAzKSBEbyB5b3UgaGF2ZSBjaGFuY2UgdG8gdGFrZSBhIGxvb2sgaWYgdGhpcyBpbnRlcmZh Y2UgaXMgZ29vZCBlbm91Z2ggdG8NCj4gPj4+PiBpbXBsZW1lbnQgSW50ZWwgQUVTX05JIGluc3Ry dWN0aW9uPw0KPiA+Pj4+Pg0KPiA+Pj4+DQo+ID4+Pj4gV2UgaGF2ZSBub3QgbG9va2VkIGF0IHRo ZSBBRVNfTkkgaW5zdHJ1Y3Rpb24sIGJ1dCB0aGUgaW50ZXJmYWNlDQo+ID4+Pj4gZGVmaW5pdGlv biBzaG91bGQgYmUgZ2VuZXJpYyBlbm91Z2ggdG8gYWNjZXB0IGFueSBpbXBsZW1lbnRhdGlvbi4N Cj4gPj4+PiBQbGVhc2UgdGVsbCB1cyBpZiB5b3UgdGhpbmsgdGhpcyByZXF1aXJlcyBtb2RpZmlj YXRpb24uDQo+ID4+Pj4NCj4gPj4+PiBSZWdhcmRzLA0KPiA+Pj4+IFBpZXJyZQ0KPiA+Pj4+DQo+ ID4+Pj4+IFRoYW5rIHlvdQ0KPiA+Pj4+PiBZYW8gSmlld2VuDQo+ID4+Pj4+DQo+ID4+Pj4+PiAt LS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+Pj4+Pj4gRnJvbTogZGV2ZWxAZWRrMi5ncm91 cHMuaW8gPGRldmVsQGVkazIuZ3JvdXBzLmlvPiBPbiBCZWhhbGYgT2YNCj4gPj4+Pj4+IFBpZXJy ZUdvbmRvaXMNCj4gPj4+Pj4+IFNlbnQ6IFRodXJzZGF5LCBKdW5lIDMwLCAyMDIyIDM6MTQgQU0N Cj4gPj4+Pj4+IFRvOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbw0KPiA+Pj4+Pj4gQ2M6IFNhbWkgTXVq YXdhciA8c2FtaS5tdWphd2FyQGFybS5jb20+OyBMZWlmIExpbmRob2xtDQo+ID4+Pj4+PiA8cXVp Y19sbGluZGhvbEBxdWljaW5jLmNvbT47IEFyZCBCaWVzaGV1dmVsDQo+ID4+IDxhcmRiK3RpYW5v Y29yZUBrZXJuZWwub3JnPjsNCj4gPj4+Pj4+IFJlYmVjY2EgQ3JhbiA8cmViZWNjYUBic2Rpby5j b20+OyBLaW5uZXksIE1pY2hhZWwgRA0KPiA+Pj4+Pj4gPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwu Y29tPjsgR2FvLCBMaW1pbmcNCj4gPGdhb2xpbWluZ0BieW9zb2Z0LmNvbS5jbj47DQo+ID4+Pj4+ PiBFZHdhcmQgUGlja3VwIDxFZHdhcmQuUGlja3VwQGFybS5jb20+DQo+ID4+Pj4+PiBTdWJqZWN0 OiBbZWRrMi1kZXZlbF0gW1BBVENIIFJFU0VORCB2MSA1LzddIE1kZVBrZy9BZXNMaWI6IERlZmlu aXRpb24NCj4gPj4gZm9yDQo+ID4+Pj4gQUVTDQo+ID4+Pj4+PiBsaWJyYXJ5IGNsYXNzIGludGVy ZmFjZQ0KPiA+Pj4+Pj4NCj4gPj4+Pj4+IEZyb206IFBpZXJyZSBHb25kb2lzIDxQaWVycmUuR29u ZG9pc0Bhcm0uY29tPg0KPiA+Pj4+Pj4NCj4gPj4+Pj4+IEJaOiBodHRwczovL2J1Z3ppbGxhLnRp YW5vY29yZS5vcmcvc2hvd19idWcuY2dpP2lkPTM5NzANCj4gPj4+Pj4+DQo+ID4+Pj4+PiBUaGUg RklQUyBQVUIgMTk3OiAiQWR2YW5jZWQgRW5jcnlwdGlvbiBTdGFuZGFyZCAoQUVTKSINCj4gPj4+ Pj4+IGRldGFpbHMgdGhlIEFFUyBhbGdvcml0aG0uIEFkZCBhIGxpYnJhcnkgdG8gYWxsb3cNCj4g Pj4+Pj4+IGRpZmZlcmVudCBhcmNoaXRlY3R1cmUgc3BlY2lmaWMgaW1wbGVtZW50YXRpb25zLg0K PiA+Pj4+Pj4NCj4gPj4+Pj4+IFNpZ25lZC1vZmYtYnk6IFBpZXJyZSBHb25kb2lzIDxwaWVycmUu Z29uZG9pc0Bhcm0uY29tPg0KPiA+Pj4+Pj4gLS0tDQo+ID4+Pj4+PiAgICAgTWRlUGtnL0luY2x1 ZGUvTGlicmFyeS9BZXNMaWIuaCB8IDEwNA0KPiA+Pj4+ICsrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrDQo+ID4+Pj4+PiAgICAgTWRlUGtnL01kZVBrZy5kZWMgICAgICAgICAgICAgICB8 ICAgNCArKw0KPiA+Pj4+Pj4gICAgIDIgZmlsZXMgY2hhbmdlZCwgMTA4IGluc2VydGlvbnMoKykN Cj4gPj4+Pj4+ICAgICBjcmVhdGUgbW9kZSAxMDA2NDQgTWRlUGtnL0luY2x1ZGUvTGlicmFyeS9B ZXNMaWIuaA0KPiA+Pj4+Pj4NCj4gPj4+Pj4+IGRpZmYgLS1naXQgYS9NZGVQa2cvSW5jbHVkZS9M aWJyYXJ5L0Flc0xpYi5oDQo+ID4+Pj4gYi9NZGVQa2cvSW5jbHVkZS9MaWJyYXJ5L0Flc0xpYi5o DQo+ID4+Pj4+PiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiA+Pj4+Pj4gaW5kZXggMDAwMDAwMDAw MDAwLi5iYzM0MDhiYjI0OWINCj4gPj4+Pj4+IC0tLSAvZGV2L251bGwNCj4gPj4+Pj4+ICsrKyBi L01kZVBrZy9JbmNsdWRlL0xpYnJhcnkvQWVzTGliLmgNCj4gPj4+Pj4+IEBAIC0wLDAgKzEsMTA0 IEBADQo+ID4+Pj4+PiArLyoqIEBmaWxlDQo+ID4+Pj4+PiArICBBRVMgbGlicmFyeS4NCj4gPj4+ Pj4+ICsNCj4gPj4+Pj4+ICsgIENvcHlyaWdodCAoYykgMjAyMiwgQXJtIExpbWl0ZWQuIEFsbCBy aWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiA+Pj4+Pj4gKw0KPiA+Pj4+Pj4gKyAgU1BEWC1MaWNlbnNl LUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gPj4+Pj4+ICsNCj4gPj4+Pj4+ICsg IEBwYXIgUmVmZXJlbmNlKHMpOg0KPiA+Pj4+Pj4gKyAgIC0gRklQUyAxOTcgTm92ZW1iZXIgMjYs IDIwMDE6DQo+ID4+Pj4+PiArICAgICBTcGVjaWZpY2F0aW9uIGZvciB0aGUgQURWQU5DRUQgRU5D UllQVElPTiBTVEFOREFSRCAoQUVTKQ0KPiA+Pj4+Pj4gKyoqLw0KPiA+Pj4+Pj4gKw0KPiA+Pj4+ Pj4gKyNpZm5kZWYgQUVTX0xJQl9IXw0KPiA+Pj4+Pj4gKyNkZWZpbmUgQUVTX0xJQl9IXw0KPiA+ Pj4+Pj4gKw0KPiA+Pj4+Pj4gKy8vLyBLZXkgc2l6ZSBpbiBieXRlcy4NCj4gPj4+Pj4+ICsjZGVm aW5lIEFFU19LRVlfU0laRV8xMjggIDE2DQo+ID4+Pj4+PiArI2RlZmluZSBBRVNfS0VZX1NJWkVf MTkyICAyNA0KPiA+Pj4+Pj4gKyNkZWZpbmUgQUVTX0tFWV9TSVpFXzI1NiAgMzINCj4gPj4+Pj4+ ICsjZGVmaW5lIEFFU19CTE9DS19TSVpFICAgIDE2DQo+ID4+Pj4+PiArDQo+ID4+Pj4+PiArLyoN Cj4gPj4+Pj4+ICsgICBUaGUgS2V5IEV4cGFuc2lvbiBnZW5lcmF0ZXMgYSB0b3RhbCBvZiBOYiAo TnIgKyAxKSB3b3JkcyB3aXRoOg0KPiA+Pj4+Pj4gKyAgICAtIE5iID0gNDoNCj4gPj4+Pj4+ICsg ICAgICBOdW1iZXIgb2YgY29sdW1ucyAoMzItYml0IHdvcmRzKSBjb21wcmlzaW5nIHRoZSBTdGF0 ZQ0KPiA+Pj4+Pj4gKyAgICAtIE5yID0gMTAsIDEyLCBvciAxNDoNCj4gPj4+Pj4+ICsgICAgICBO dW1iZXIgb2Ygcm91bmRzLg0KPiA+Pj4+Pj4gKyAqLw0KPiA+Pj4+Pj4gKyNkZWZpbmUgQUVTX01B WF9LRVlMRU5HVEhfVTMyICAoNCAqICgxNCArIDEpKQ0KPiA+Pj4+Pj4gKw0KPiA+Pj4+Pj4gKy8q KiBBIGNvbnRleHQgaG9sZGluZyBpbmZvcm1hdGlvbiB0byBmb3IgQUVTIGVuY3J5cHRpb24vZGVj cnlwdGlvbi4NCj4gPj4+Pj4+ICsgKi8NCj4gPj4+Pj4+ICt0eXBlZGVmIHN0cnVjdCB7DQo+ID4+ Pj4+PiArICAvLy8gRXhwYW5kZWQgZW5jcnlwdGlvbiBrZXkuDQo+ID4+Pj4+PiArICBVSU5UMzIg ICAgRXhwRW5jS2V5W0FFU19NQVhfS0VZTEVOR1RIX1UzMl07DQo+ID4+Pj4+PiArICAvLy8gRXhw YW5kZWQgZGVjcnlwdGlvbiBrZXkuDQo+ID4+Pj4+PiArICBVSU5UMzIgICAgRXhwRGVjS2V5W0FF U19NQVhfS0VZTEVOR1RIX1UzMl07DQo+ID4+Pj4+PiArICAvLy8gS2V5IHNpemUsIGluIGJ5dGVz Lg0KPiA+Pj4+Pj4gKyAgLy8vIE11c3QgYmUgb25lIG9mIDE2fDI0fDMyLg0KPiA+Pj4+Pj4gKyAg VUlOVDMyICAgIEtleVNpemU7DQo+ID4+Pj4+PiArfSBBRVNfQ1RYOw0KPiA+Pj4+Pj4gKw0KPiA+ Pj4+Pj4gKy8qKiBFbmNyeXB0IGFuIEFFUyBibG9jay4NCj4gPj4+Pj4+ICsNCj4gPj4+Pj4+ICsg IEJ1ZmZlcnMgYXJlIGxpdHRsZS1lbmRpYW4uIE92ZXJsYXBwaW5nIGlzIG5vdCBjaGVja2VkLg0K PiA+Pj4+Pj4gKw0KPiA+Pj4+Pj4gKyAgQHBhcmFtIFtpbl0gIEFlc0N0eCAgICBBRVMgY29udGV4 dC4NCj4gPj4+Pj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgQWVzQ3R4IGlzIGluaXRpYWxp emVkIHdpdGggQWVzSW5pdEN0eCAoKS4NCj4gPj4+Pj4+ICsgIEBwYXJhbSBbaW5dICBJbkJsb2Nr ICAgSW5wdXQgQmxvY2suIFRoZSBibG9jayB0byBjaXBoZXIuDQo+ID4+Pj4+PiArICBAcGFyYW0g W291dF0gT3V0QmxvY2sgIE91dHB1dCBCbG9jay4gVGhlIGNpcGhlcmVkIGJsb2NrLg0KPiA+Pj4+ Pj4gKw0KPiA+Pj4+Pj4gKyAgQHJldHZhbCBSRVRVUk5fU1VDQ0VTUyAgICAgICAgICAgIFN1Y2Nl c3MuDQo+ID4+Pj4+PiArICBAcmV0dmFsIFJFVFVSTl9JTlZBTElEX1BBUkFNRVRFUiAgSW52YWxp ZCBwYXJhbWV0ZXIuDQo+ID4+Pj4+PiArICBAcmV0dmFsIFJFVFVSTl9VTlNVUFBPUlRFRCAgICAg ICAgVW5zdXBwb3J0ZWQuDQo+ID4+Pj4+PiArKiovDQo+ID4+Pj4+PiArUkVUVVJOX1NUQVRVUw0K PiA+Pj4+Pj4gK0VGSUFQSQ0KPiA+Pj4+Pj4gK0Flc0VuY3J5cHQgKA0KPiA+Pj4+Pj4gKyAgSU4g IEFFU19DVFggICAgICAqQWVzQ3R4LA0KPiA+Pj4+Pj4gKyAgSU4gIFVJTlQ4IENPTlNUICAqSW5C bG9jaywNCj4gPj4+Pj4+ICsgIE9VVCBVSU5UOCAgICAgICAgKk91dEJsb2NrDQo+ID4+Pj4+PiAr ICApOw0KPiA+Pj4+Pj4gKw0KPiA+Pj4+Pj4gKy8qKiBEZWNyeXB0IGFuIEFFUyBibG9jay4NCj4g Pj4+Pj4+ICsNCj4gPj4+Pj4+ICsgIEJ1ZmZlcnMgYXJlIGxpdHRsZS1lbmRpYW4uIE92ZXJsYXBw aW5nIGlzIG5vdCBjaGVja2VkLg0KPiA+Pj4+Pj4gKw0KPiA+Pj4+Pj4gKyAgQHBhcmFtIFtpbl0g IEFlc0N0eCAgICBBRVMgY29udGV4dC4NCj4gPj4+Pj4+ICsgICAgICAgICAgICAgICAgICAgICAg ICAgQWVzQ3R4IGlzIGluaXRpYWxpemVkIHdpdGggQWVzSW5pdEN0eCAoKS4NCj4gPj4+Pj4+ICsg IEBwYXJhbSBbaW5dICBJbkJsb2NrICAgSW5wdXQgQmxvY2suIFRoZSBibG9jayB0byBkZS1jaXBo ZXIuDQo+ID4+Pj4+PiArICBAcGFyYW0gW291dF0gT3V0QmxvY2sgIE91dHB1dCBCbG9jay4gVGhl IGRlLWNpcGhlcmVkIGJsb2NrLg0KPiA+Pj4+Pj4gKw0KPiA+Pj4+Pj4gKyAgQHJldHZhbCBSRVRV Uk5fU1VDQ0VTUyAgICAgICAgICAgIFN1Y2Nlc3MuDQo+ID4+Pj4+PiArICBAcmV0dmFsIFJFVFVS Tl9JTlZBTElEX1BBUkFNRVRFUiAgSW52YWxpZCBwYXJhbWV0ZXIuDQo+ID4+Pj4+PiArICBAcmV0 dmFsIFJFVFVSTl9VTlNVUFBPUlRFRCAgICAgICAgVW5zdXBwb3J0ZWQuDQo+ID4+Pj4+PiArKiov DQo+ID4+Pj4+PiArUkVUVVJOX1NUQVRVUw0KPiA+Pj4+Pj4gK0VGSUFQSQ0KPiA+Pj4+Pj4gK0Fl c0RlY3J5cHQgKA0KPiA+Pj4+Pj4gKyAgSU4gIEFFU19DVFggICAgICAqQWVzQ3R4LA0KPiA+Pj4+ Pj4gKyAgSU4gIFVJTlQ4IENPTlNUICAqSW5CbG9jaywNCj4gPj4+Pj4+ICsgIE9VVCBVSU5UOCAg ICAgICAgKk91dEJsb2NrDQo+ID4+Pj4+PiArICApOw0KPiA+Pj4+Pj4gKw0KPiA+Pj4+Pj4gKy8q KiBJbml0aWFsaXplIGFuIEFFU19DVFggc3RydWN0dXJlLg0KPiA+Pj4+Pj4gKw0KPiA+Pj4+Pj4g KyAgQHBhcmFtIFtpbl0gICAgICAgS2V5ICAgICAgIEFFUyBrZXkuIEJ1ZmZlciBvZiBLZXlTaXpl IGJ5dGVzLg0KPiA+Pj4+Pj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoZSBidWZm ZXIgaXMgbGl0dGxlIGVuZGlhbi4NCj4gPj4+Pj4+ICsgIEBwYXJhbSBbaW5dICAgICAgIEtleVNp emUgICBTaXplIG9mIHRoZSBrZXkuIE11c3QgYmUgb25lIG9mIDEyOHwxOTJ8MjU2Lg0KPiA+Pj4+ Pj4gKyAgQHBhcmFtIFtpbiwgb3V0XSAgQWVzQ3R4ICAgIEFFUyBjb250ZXh0IHRvIGluaXRpYWxp emUuDQo+ID4+Pj4+PiArDQo+ID4+Pj4+PiArICBAcmV0dmFsIFJFVFVSTl9TVUNDRVNTICAgICAg ICAgICAgU3VjY2Vzcy4NCj4gPj4+Pj4+ICsgIEByZXR2YWwgUkVUVVJOX0lOVkFMSURfUEFSQU1F VEVSICBJbnZhbGlkIHBhcmFtZXRlci4NCj4gPj4+Pj4+ICsgIEByZXR2YWwgUkVUVVJOX1VOU1VQ UE9SVEVEICAgICAgICBVbnN1cHBvcnRlZC4NCj4gPj4+Pj4+ICsqKi8NCj4gPj4+Pj4+ICtSRVRV Uk5fU1RBVFVTDQo+ID4+Pj4+PiArRUZJQVBJDQo+ID4+Pj4+PiArQWVzSW5pdEN0eCAoDQo+ID4+ Pj4+PiArICBJTiAgICAgIFVJTlQ4ICAgICpLZXksDQo+ID4+Pj4+PiArICBJTiAgICAgIFVJTlQz MiAgIEtleVNpemUsDQo+ID4+Pj4+PiArICBJTiBPVVQgIEFFU19DVFggICpBZXNDdHgNCj4gPj4+ Pj4+ICsgICk7DQo+ID4+Pj4+PiArDQo+ID4+Pj4+PiArI2VuZGlmIC8vIEFFU19MSUJfSF8NCj4g Pj4+Pj4+IGRpZmYgLS1naXQgYS9NZGVQa2cvTWRlUGtnLmRlYyBiL01kZVBrZy9NZGVQa2cuZGVj DQo+ID4+Pj4+PiBpbmRleCA3ZmYyNmUyMmY5MTUuLjA3OGFlOTMyM2JhNiAxMDA2NDQNCj4gPj4+ Pj4+IC0tLSBhL01kZVBrZy9NZGVQa2cuZGVjDQo+ID4+Pj4+PiArKysgYi9NZGVQa2cvTWRlUGtn LmRlYw0KPiA+Pj4+Pj4gQEAgLTI4MCw2ICsyODAsMTAgQEAgW0xpYnJhcnlDbGFzc2VzXQ0KPiA+ Pj4+Pj4gICAgICAgIw0KPiA+Pj4+Pj4gICAgICAgVHJuZ0xpYnxJbmNsdWRlL0xpYnJhcnkvVHJu Z0xpYi5oDQo+ID4+Pj4+Pg0KPiA+Pj4+Pj4gKyAgIyMgIEBsaWJyYXJ5Y2xhc3MgIFByb3ZpZGVz IEFFUyBlbmNyeXB0aW9uL2RlY3J5cHRpb24gc2VydmljZXMuDQo+ID4+Pj4+PiArICAjDQo+ID4+ Pj4+PiArICBBZXNMaWJ8SW5jbHVkZS9MaWJyYXJ5L0Flc0xpYi5oDQo+ID4+Pj4+PiArDQo+ID4+ Pj4+PiAgICAgW0xpYnJhcnlDbGFzc2VzLklBMzIsIExpYnJhcnlDbGFzc2VzLlg2NCwgTGlicmFy eUNsYXNzZXMuQUFSQ0g2NF0NCj4gPj4+Pj4+ICAgICAgICMjICBAbGlicmFyeWNsYXNzICBQcm92 aWRlcyBzZXJ2aWNlcyB0byBnZW5lcmF0ZSByYW5kb20gbnVtYmVyLg0KPiA+Pj4+Pj4gICAgICAg Iw0KPiA+Pj4+Pj4gLS0NCj4gPj4+Pj4+IDIuMjUuMQ0KPiA+Pj4+Pj4NCj4gPj4+Pj4+DQo+ID4+ Pj4+Pg0KPiA+Pj4+Pj4gLT0tPS09LT0tPS09DQo+ID4+Pj4+PiBHcm91cHMuaW8gTGlua3M6IFlv dSByZWNlaXZlIGFsbCBtZXNzYWdlcyBzZW50IHRvIHRoaXMgZ3JvdXAuDQo+ID4+Pj4+PiBWaWV3 L1JlcGx5IE9ubGluZSAoIzkwODk1KToNCj4gPj4gaHR0cHM6Ly9lZGsyLmdyb3Vwcy5pby9nL2Rl dmVsL21lc3NhZ2UvOTA4OTUNCj4gPj4+Pj4+IE11dGUgVGhpcyBUb3BpYzogaHR0cHM6Ly9ncm91 cHMuaW8vbXQvOTIwNzIxNjgvMTc3MjI4Ng0KPiA+Pj4+Pj4gR3JvdXAgT3duZXI6IGRldmVsK293 bmVyQGVkazIuZ3JvdXBzLmlvDQo+ID4+Pj4+PiBVbnN1YnNjcmliZTogaHR0cHM6Ly9lZGsyLmdy b3Vwcy5pby9nL2RldmVsL3Vuc3ViDQo+ID4+IFtqaWV3ZW4ueWFvQGludGVsLmNvbV0NCj4gPj4+ Pj4+IC09LT0tPS09LT0tPQ0KPiA+Pj4+Pj4NCj4gPj4+Pj4NCj4gDQo+IA0KPiANCj4gDQoNCg==