From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by mx.groups.io with SMTP id smtpd.web10.30090.1677693402857051505 for ; Wed, 01 Mar 2023 09:56:42 -0800 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=mACnmVIj; spf=pass (domain: intel.com, ip: 192.55.52.43, mailfrom: andrei.warkentin@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1677693402; x=1709229402; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=GeJlVkEIXNTagRbmMm0Qux/XHEm9wJfpI1acbeb9STE=; b=mACnmVIjV4vO3Br+voE7G+ll+POEMAdXTo15u4dpglfXxmXPFQYiSZqA vjNGH9Ux/fiRHTPzoBQvHmcUSB/Rp64D8oao1/4+hC+GJ3W1cU/xpgF25 THS30jo3Co+PXBn19lxzxRLZls705yafP1y65/gbaXtbAjoJ7aXgzjdlD M4kgyrl5wkkA1d7NXFwWmKIuNTkeWvcpCSDBk8ZTnkvBnpA3CNkInog+m VUoLfYsfPFUjpAD9Yus7b8Y+SFh0nEzGcpOyM2PFaWPpYDNQnyiP2ADhK GoT//K6uiNGM3GBZMYVHVxL0fQL/uXBLVvGDU5D5znv37v8ylpRSBZsMj A==; X-IronPort-AV: E=McAfee;i="6500,9779,10636"; a="420741552" X-IronPort-AV: E=Sophos;i="5.98,225,1673942400"; d="scan'208";a="420741552" Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 01 Mar 2023 09:56:41 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10636"; a="1003747477" X-IronPort-AV: E=Sophos;i="5.98,225,1673942400"; d="scan'208";a="1003747477" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by fmsmga005.fm.intel.com with ESMTP; 01 Mar 2023 09:56:41 -0800 Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) by ORSMSX603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.21; Wed, 1 Mar 2023 09:56:40 -0800 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX611.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.21; Wed, 1 Mar 2023 09:56:40 -0800 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by orsmsx610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.21 via Frontend Transport; Wed, 1 Mar 2023 09:56:40 -0800 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (104.47.70.101) by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.16; Wed, 1 Mar 2023 09:56:39 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=kd/rOAsUNGGEen+Xc583Bf66sB8GH+El6PPWrZn6vcYdKrVYSoDPk1LI1yC3OpJJQDHyR/7I0U2Hne2ikLeGmox9F8Bgi7p68QyzCmrk+X87ppCZiw36Td5Z9w9hzTP72FJMyrZbXIUB9qtkbg6fqdS3oxPF/fxmOn/GqL4xPjJkcDut2WICiyhPm8q25illJvemvAwTLMcGOpYd8el60JG5SEkZNYxX8NxN6gsCmVTO9oc8/OiUqmBAb4KWFYRpMuaGn46MQDRFhpZ9awOyl0BUszvAJl6AlEn4RHVYv5HZbGXFuYtyWHe5WSYUQK5FZ4V1b6Iwkkj//2fHbECgGg== 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=GeJlVkEIXNTagRbmMm0Qux/XHEm9wJfpI1acbeb9STE=; b=U5FP8uQ7WAzKpzHHq1wg2RDgjQzUF1CKTBpswtoCYc8xAO97e2rlIju8rp/1tG9BUBFEcMbk480TZUB9cCnV3kHpZOQg+ocKYJLxnzsTne1BNnh1cnKdFn+pOPlrrRZ7lhgy1G29GmwZ6a8HF5JcfkbVBjY3/1yHeD3WZIHCln5KQ+T7vSRtMyu3T8OERra0fEGy3V0ovdqnBxhnEgvUfvprYTAnfHvdA7BVpX3Xntz91BO8N8tkfwBRrlv3XahpgRohAXzUhxpQRqJKcTRskgYGkQNJ3AZCH07UZxsQqGtCKj6sCVN0SLjxg32n9AqekVLgFyBIPoCIRClco5Fndw== 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 PH8PR11MB6856.namprd11.prod.outlook.com (2603:10b6:510:22b::7) by IA0PR11MB7331.namprd11.prod.outlook.com (2603:10b6:208:435::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6134.25; Wed, 1 Mar 2023 17:56:37 +0000 Received: from PH8PR11MB6856.namprd11.prod.outlook.com ([fe80::f480:22ed:c915:13f1]) by PH8PR11MB6856.namprd11.prod.outlook.com ([fe80::f480:22ed:c915:13f1%6]) with mapi id 15.20.6134.028; Wed, 1 Mar 2023 17:56:37 +0000 From: "Andrei Warkentin" To: "Kinney, Michael D" , "devel@edk2.groups.io" , "kraxel@redhat.com" CC: Daniel Schaefer , Sunil V L Subject: Re: [edk2-devel] [edk2 2/2] MdePkg: add BaseSerialPortLibRiscVSbi Thread-Topic: [edk2-devel] [edk2 2/2] MdePkg: add BaseSerialPortLibRiscVSbi Thread-Index: AQHZTBGktsGAlJgxMk25oICBgpdT/K7lk0kAgAAJLs2AAAXHAIAAguSAgAAHMxCAAAhOAIAAACuQ Date: Wed, 1 Mar 2023 17:56:36 +0000 Message-ID: References: <20230301074358.26356-1-andrei.warkentin@intel.com> <20230301074358.26356-3-andrei.warkentin@intel.com> <20230301081332.lzb5v7enjfillnfb@sirius.home.kraxel.org> <20230301090704.essvs54b2glrsjmd@sirius.home.kraxel.org> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: PH8PR11MB6856:EE_|IA0PR11MB7331:EE_ x-ms-office365-filtering-correlation-id: f9ec6e7c-b402-43da-96c5-08db1a7e4d49 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: YJKjksMbyM3jaHArHSY7zG13roi5l/W+0tab0wH04dvO//yBCZZwr+U1ZV8csU0hFNriG6JgwzqdKnouEBvXIhnmG9mNEFmPZlQswJdf/T/FvpfvaZCDdP6KyFBdyPxp0Ma6jPR3oPRQYlkeCHblxaHvujL3e7jS8PM35Euf3OXlwY6NT11od6msRUZpbsGOSa+KT1hjio6P8XXUvNZFSdokgEaCs6L4h66+TeBnMUytOGn2WgS7E1HyMS++KBxMfPD2Fnn6IEH4Zd50a8Ckjg7+Z6KUL2Lx0cvnCZL50cNBYiirNgdxhdLuFA9KOlD7wwh3BxLUbYpuA0U3TkdSsc65ijVQw/YZ9G3rDlynT5nctiOdBFHlJwYVc6wbxo/i41L3z4rSk+1yT7N35GPnCPxeMIPedzBsg7oDB3BuWJ1N+B2LE4TMa5hRqpzREWRqIyRo8VZseUsasQJyGRDXs3Lhg3ROxwRxEc7iU6WQlPah/jaluVruoidM7NdpylW2D0vGJ6hVh31ud7eriAgDnWTiJBMHB4NTqgb7k6ER8D8hAKKu/vV8wNKRu2q//yyC5zr2rXDZezl4hrdXmBUHNj0JwMQGXsbqvZ/dhn5BRVVFiGFZF5vtRQ5bqF+L/DYQLh0X+5WYHaZ+KKxnwcNI+ZrPbxv7CcHqaEAwiC8t5bycdwU9jlaWB0z5+qF5acLp0EoKVngTR12MQYTm487YNBT2e078idWxec3Xs4nQ6NWUZfbu+H/BOcNLb0H5C04fZ6ed4YtBYygPXxpHGwtiIzNg8VAaJveD96ipq1yvpvY= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH8PR11MB6856.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(136003)(376002)(346002)(39860400002)(366004)(396003)(451199018)(53546011)(66899018)(966005)(478600001)(8936002)(110136005)(66476007)(52536014)(66446008)(64756008)(71200400001)(41300700001)(4326008)(66556008)(38070700005)(86362001)(76116006)(66946007)(55016003)(33656002)(7696005)(8676002)(82960400001)(6506007)(122000001)(38100700002)(26005)(2906002)(9686003)(5660300002)(54906003)(316002)(83380400001)(186003)(145603002)(213903007);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?R2J6VldqM29TSHFqaW9mcCtVZm1XVTZRUW42VUc4cEN4eFRyLzNCWHVCNWdG?= =?utf-8?B?cjMxU2hNajIyN1pOQmJjTGF3dkpwdDBFNzhUdnRLdXJubEVFMmhWRUpZVE9S?= =?utf-8?B?aVVmeTk1YTloYlVkZTJFOGtGemU4c2Y0bkNDbjE1bVhmZnlmWWxmYmFvRzhI?= =?utf-8?B?R1l1SGFLR0NpYkM0Y2w2L1VFQ1NLc2pYRmJ1L2xhS244Z0Zpc2U0OEZnSGQ5?= =?utf-8?B?bGJMUkd0QnR6VmZNRitRTlBqbnpXY21zWnlNT2JKZzJ6N0dHMEdJSnR3VjdT?= =?utf-8?B?WFBoNXVMYk1CRHhVcFdYcUQ3eEdSSVFjRllOWU5Rc3NDb3YwS3NFQnZDQVBO?= =?utf-8?B?QmZYZUZwU053OFRnOWZibDYyd3lSeURzTmJJMVAvelg5WHMxbkp6WWJ0UHNV?= =?utf-8?B?UHdONlJGZ3ZpejBGNFVUOGZvOWlwZnhYRVdhY2FDMTZMTlpxbnpwSHBqalRo?= =?utf-8?B?bXUyM25zais1Zysya00wNVhWdXFNMktyMjR0WTk1YTlkbE0zZnIweTIzQ0VH?= =?utf-8?B?ZHZEdEx3blRzSEJsMjJTTDA1UDhNU091aEZFNm9rM1pmOWZDNm82eWxaUXkw?= =?utf-8?B?eDA2RjJmVmZGZVJqREhIai95S09KK0QxQ0lnaHVQQTcxRjJ0b2Y5VmtLc2RM?= =?utf-8?B?WEw0VjlYUW9lQVc2Sk8xTGhuMWVzMW9KalFlTHYxc1phc0JiRStmcnBnQ3dw?= =?utf-8?B?bWhGSTJYR2pyb3NJcm00MzdDbnprRktkVVVzVGlhUXQ3OVVUK1ZjRmhCSmo0?= =?utf-8?B?ZUlqQlhQblQzeTlIN0x4M2ZaM0w3eTJpbkVhR1c4ZEFxalVmUmczdEYxYnJm?= =?utf-8?B?ajZSM2tpU0JWdkRvUmYybVlRYVhTOTRPZFIxYnp0enV0cERnakNRQi9OeXF4?= =?utf-8?B?ZHVVZGhISWdiK2Nja0I1US96aWZyTVoxZnFVUFRNOGhQZ2JnSDdEOThXSlU1?= =?utf-8?B?Z1RvbXVJdlhFaS9vRlJPL3BmVVRDcXZuYlRKQlpmM1ByQVdRd3RGMXUyT3Fh?= =?utf-8?B?R1gzOGtqM0VyZGdWMXRCMkNreFhXakdxWDY4TWlGem1JOTVaRGNMSTk1RzRI?= =?utf-8?B?ZzFib2lkc2hjU0tOVG5SMlpTTUNiTlMvK0pqMnROZ2RVaXl4Z3BSS1pKZXlp?= =?utf-8?B?anNhK0ZpbXhCUWladzZsWkZ2ZUxYUEhoNUc1Q0RneWl0Y3ZOWC8rZnBwS0Iv?= =?utf-8?B?ZDZad2hVSjlxUkNZLzRIaTdGQ2kwQnhwdUNaVlZIWkZ0NEROdngwWk4rZlZ1?= =?utf-8?B?cWExZ1JlOUZCY1gwbWowTk8xNmkvVnRYeVduTjg5ZHlkeGVaKzlVdWhxWm9C?= =?utf-8?B?L3NVTDQyRFRMK0oyYjlUaGtxNzVPK3dOV0Y4SDM3ZHlVT3ZPV1JyQzZoZDI2?= =?utf-8?B?akdpbjdBckZYYXJneXl4QmZkWmhLMW41RFZxQWJpMlRtRHNvT1FHQnBZQlhH?= =?utf-8?B?RDd4N21QSGJuSFR4T3NQcVpwRkxvV0o1WnZ0cHg1V09jOHptOXFDaDhwaVJk?= =?utf-8?B?THNBQ0FiSmJZOEdOcW01b3JQZ09ZQWxNOVRCNVNRZ0p5eGd3RW51bytBa29U?= =?utf-8?B?RCtxNEVoUnl5UTViREZTdFAwWmVyN01EK01LYVlkdFU1RlNIc2pWbXVvL0Ro?= =?utf-8?B?YXpnSXZ4ekNKZmJNb1k0Nk1DMWd5Tk9KaHZ1S0phQW85em9mUG93dnNVMERy?= =?utf-8?B?SVk5YmU3aVUzSW1kS0dBVTQ3ZDJUWjZFU3JCaTdIRGl3Umh1RTRXemR4czZT?= =?utf-8?B?VFpyN041djQremo3cnZyUlVrVEs5aUY0dSt5b0xTL3BudC9uMk5FQ2t6UTZw?= =?utf-8?B?YlAwYlFyRVB1aE9uUjdNYi9mOUZvNXR4TkNtV1ZuYnMxTnVOZkVmY09pcUlG?= =?utf-8?B?ekx1eFFoTlhsWlFvYVRaVUlqdEtRZkFsc0RzdHo0TGVGOURiMGVIV3N3b3ND?= =?utf-8?B?SGJhMUw0bkxzN000azU5TXByckh4c0NDZEdSS2hOYzd1WkZlU3gvTmZoQUQr?= =?utf-8?B?QVVEREx3SDh0aXdZOVhRQ1lmbmNIT0ZNbjFrRWN6TktIVU1Xb0pCd1NMUlhE?= =?utf-8?B?QnhjZTRMdEJtTXpqZktTa2l5cVFFa3FRcEhmemNnZ1JaSW5BdlB2bCtQRFlP?= =?utf-8?B?YTFobTlBNHdhZ3dqU21LaEhEcDluS01icjRuUmtRTXMvbThPWEdmdHIra2Nr?= =?utf-8?B?a1E9PQ==?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PH8PR11MB6856.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: f9ec6e7c-b402-43da-96c5-08db1a7e4d49 X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Mar 2023 17:56:36.7614 (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: iLwOD43qh3Hynn9GkT1/KaDoGhTe/Of3VlmpqQy80sw4NTD5VykrbrcTzO7i6CFiIs8dBTEqVItUd1DUewG+yVKDb4FrkQhMqDeSiWReaLE= X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA0PR11MB7331 Return-Path: andrei.warkentin@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 VGhhbmtzLi4uIGxldCBtZSBnbyBhIGRpZmZlcmVudCByb3V0ZS4NCg0KSSdsbCBoYXZlIDEgbW9y ZSB2YXJpYW50IHRoYXQgY2FuIGJlIHVzZWQgaW4gY2xhc3NpY2FsIFNFQyBhbmQgUEVJIC0gb25s eSBjYXBhYmxlIG9mIG91dHB1dCAoaW5wdXQgZG9lc24ndCBtYXR0ZXIpIGFuZCByZW5hbWUgdGhl IG9uZSBJIGFscmVhZHkgc2hhcmVkLiAgSSdsbCBuYW1lIHRoZXNlIFNlY1BlaVNlcmlhbFBvcnRM aWJSaXNjVlNiaSBhbmQgUHJlUGlEeGVTZXJpYWxQb3J0TGliUmlzY1ZTYmksIHJlc3BlY3RpdmVs eS4NCg0KRG9lcyB0aGlzIHNvdW5kIGFjY2VwdGFibGU/DQoNCi0tLS0tT3JpZ2luYWwgTWVzc2Fn ZS0tLS0tDQpGcm9tOiBLaW5uZXksIE1pY2hhZWwgRCA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5j b20+IA0KU2VudDogV2VkbmVzZGF5LCBNYXJjaCAxLCAyMDIzIDExOjUxIEFNDQpUbzogV2Fya2Vu dGluLCBBbmRyZWkgPGFuZHJlaS53YXJrZW50aW5AaW50ZWwuY29tPjsgZGV2ZWxAZWRrMi5ncm91 cHMuaW87IGtyYXhlbEByZWRoYXQuY29tDQpDYzogRGFuaWVsIFNjaGFlZmVyIDxnaXRAZGFuaWVs c2NoYWVmZXIubWU+OyBTdW5pbCBWIEwgPHN1bmlsdmxAdmVudGFuYW1pY3JvLmNvbT47IEtpbm5l eSwgTWljaGFlbCBEIDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT4NClN1YmplY3Q6IFJFOiBb ZWRrMi1kZXZlbF0gW2VkazIgMi8yXSBNZGVQa2c6IGFkZCBCYXNlU2VyaWFsUG9ydExpYlJpc2NW U2JpDQoNCklmIGEgZGVwZW5kZW5jeSBvbiBNZGVQa2dcSW5jbHVkZVxMaWJyYXJ5XCBCYXNlUmlz Y1ZTYmlMaWIuaCBhbmQgU0JJIHNlcnZpY2VzIGFzc3VtZWQgbWVtb3J5IGlzIGF2YWlsYWJsZSBh bmQgY29kZSBsb2FkZWQgaXMgbG9hZGVkIGludG8gUkFNIGFuZCBub3QgWElQLCB0aGVuIEJBU0Ug aXMgb2sgZm9yIHRoaXMgY29tcG9uZW50Lg0KDQpZb3UgbWF5IHdhbnQgdG8gbWFrZSBzdXJlIHRo ZSBsaWJyYXJ5IGNsYXNzIGhlYWRlciBmaWxlIGFuZCBJTkYgZmlsZSBoZWFkZXIgZm9yIEJhc2VS aXNjVlNiaUxpYiBkZXNjcmliZSB0aGF0IGVudmlyb25tZW50IGFzc3VtcHRpb24gYW5kIHRoZSBJ TkYgZm9yIEJhc2VTZXJpYWxQb3J0TGliUmlzY1ZTYmkgYWxzbyBkZXNjcmliZXMgdGhhdCBlbnZp cm9ubWVudCBhc3N1bXB0aW9uLg0KDQpNaWtlDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0t LS0NCj4gRnJvbTogV2Fya2VudGluLCBBbmRyZWkgPGFuZHJlaS53YXJrZW50aW5AaW50ZWwuY29t Pg0KPiBTZW50OiBXZWRuZXNkYXksIE1hcmNoIDEsIDIwMjMgOToyNiBBTQ0KPiBUbzogS2lubmV5 LCBNaWNoYWVsIEQgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPjsgDQo+IGRldmVsQGVkazIu Z3JvdXBzLmlvOyBrcmF4ZWxAcmVkaGF0LmNvbQ0KPiBDYzogRGFuaWVsIFNjaGFlZmVyIDxnaXRA ZGFuaWVsc2NoYWVmZXIubWU+OyBTdW5pbCBWIEwgDQo+IDxzdW5pbHZsQHZlbnRhbmFtaWNyby5j b20+DQo+IFN1YmplY3Q6IFJFOiBbZWRrMi1kZXZlbF0gW2VkazIgMi8yXSBNZGVQa2c6IGFkZCAN Cj4gQmFzZVNlcmlhbFBvcnRMaWJSaXNjVlNiaQ0KPiANCj4gSGkgTWljaGFlbCwNCj4gDQo+IFdo YXQgbW9kdWxlIHR5cGUgc2hvdWxkIEkgdXNlIGluc3RlYWQ/IFRoZSByZWFzb24gYmVpbmcgdGhp cyANCj4gU2VyaWFsUG9ydExpYiBpbXBsZW1lbnRhdGlvbiBzcGVjaWZpY2FsbHkgZml0cyBpbnRv IHRoZSBjbGFzcyBvZiBVRUZJIA0KPiBpbXBsZW1lbnRhdGlvbnMsIHdoZXJlIFJBTSBpcyBhbHdh eXMgYXZhaWxhYmxlIChpbml0aWFsaXplZCBieSBzb21ldGhpbmcgZWxzZSBwcmlvciB0byBUaWFu bykgYW5kIG5vbi1jb25zdCBnbG9iYWxzIGNhbiBiZSB1c2VkIChlLmcuIFByZVBpKS4NCj4gDQo+ IEENCj4gDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEtpbm5leSwgTWlj aGFlbCBEIDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT4NCj4gU2VudDogV2VkbmVzZGF5LCBN YXJjaCAxLCAyMDIzIDEwOjU2IEFNDQo+IFRvOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbzsga3JheGVs QHJlZGhhdC5jb207IFdhcmtlbnRpbiwgQW5kcmVpIA0KPiA8YW5kcmVpLndhcmtlbnRpbkBpbnRl bC5jb20+DQo+IENjOiBEYW5pZWwgU2NoYWVmZXIgPGdpdEBkYW5pZWxzY2hhZWZlci5tZT47IFN1 bmlsIFYgTCANCj4gPHN1bmlsdmxAdmVudGFuYW1pY3JvLmNvbT47IEtpbm5leSwgTWljaGFlbCBE IA0KPiA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+DQo+IFN1YmplY3Q6IFJFOiBbZWRrMi1k ZXZlbF0gW2VkazIgMi8yXSBNZGVQa2c6IGFkZCANCj4gQmFzZVNlcmlhbFBvcnRMaWJSaXNjVlNi aQ0KPiANCj4gVXNpbmcgYSBnbG9iYWwgaXMgbm90IGNvbXBhdGlibGUgd2l0aCBYSVAgY29kZSB3 aGVyZSBvbmx5IGNvbnN0IGdsb2JhbHMgYXJlIHN1cHBvcnRlZC4NCj4gDQo+IEEgbW9kdWxlIG9m IHR5cGUgQkFTRSBpcyBjb25zaWRlcmVkIGNvbXBhdGlibGUgd2l0aCBYSVAgY29tcG9uZW50cy4N Cj4gDQo+IA0KPiBNaWtlDQo+IA0KPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4g RnJvbTogZGV2ZWxAZWRrMi5ncm91cHMuaW8gPGRldmVsQGVkazIuZ3JvdXBzLmlvPiBPbiBCZWhh bGYgT2YgR2VyZCANCj4gPiBIb2ZmbWFubg0KPiA+IFNlbnQ6IFdlZG5lc2RheSwgTWFyY2ggMSwg MjAyMyAxOjA3IEFNDQo+ID4gVG86IFdhcmtlbnRpbiwgQW5kcmVpIDxhbmRyZWkud2Fya2VudGlu QGludGVsLmNvbT4NCj4gPiBDYzogZGV2ZWxAZWRrMi5ncm91cHMuaW87IERhbmllbCBTY2hhZWZl ciA8Z2l0QGRhbmllbHNjaGFlZmVyLm1lPjsgDQo+ID4gU3VuaWwgViBMIDxzdW5pbHZsQHZlbnRh bmFtaWNyby5jb20+DQo+ID4gU3ViamVjdDogUmU6IFtlZGsyLWRldmVsXSBbZWRrMiAyLzJdIE1k ZVBrZzogYWRkIA0KPiA+IEJhc2VTZXJpYWxQb3J0TGliUmlzY1ZTYmkNCj4gPg0KPiA+IE9uIFdl ZCwgTWFyIDAxLCAyMDIzIGF0IDA4OjUwOjM4QU0gKzAwMDAsIFdhcmtlbnRpbiwgQW5kcmVpIHdy b3RlOg0KPiA+ID4gVGhlIGxpYnJhcnkgY2FsbGVyIGNvdWxkIGNhbGwgUG9sbCgpIGZpcnN0LA0K PiA+DQo+ID4gQWgsIFBvbGwgaXMgcGFydCBvZiB0aGUgbGlicmFyeSBBUEksIG5vdCBqdXN0IGFu IGludGVybmFsIGhlbHBlci4NCj4gPiBPaywgbWFrZXMgc2Vuc2UgdGhlbi4NCj4gPg0KPiA+IHNl cmllczoNCj4gPiBBY2tlZC1ieTogR2VyZCBIb2ZmbWFubiA8a3JheGVsQHJlZGhhdC5jb20+DQo+ ID4NCj4gPiB0YWtlIGNhcmUsDQo+ID4gICBHZXJkDQo+ID4NCj4gPg0KPiA+DQo+ID4gDQo+ID4N Cg0K