From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 69F8CA034C; Wed, 21 Dec 2022 15:33:20 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 40E3F40A7F; Wed, 21 Dec 2022 15:33:19 +0100 (CET) Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11on2080.outbound.protection.outlook.com [40.107.220.80]) by mails.dpdk.org (Postfix) with ESMTP id 565D240A7A for ; Wed, 21 Dec 2022 15:33:16 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=XHjNVSPACITJiolAjTN7caOB7ttZ+oJVN9B3OYMyE8DyfVvXAA2XWGdomKKi7sfQYP6MjHNkR7QHzWUIc7bd8yaBUqe3xfyNYP9iHqatV//6TnqEQDR92T+U6PgslOk5AgUWKedgZvpwMuSTx9YzlEjQm07JiXQj/bU1adwFMTi/HJR2wXciYR2iWIXLC30vWfFeDoM0xaIbeS014ldO78HHSj9Nc8rH/dLOxEs18anCZHScmzL1bACEnlfAsNeMTp4nGHU6rwuvRmY/nzr36m3pRVchVMbG1ANe+pUTTki2mlCv2rTN3X4zjls8D3LnwqMoALe6ig5EE1UkeMDUsA== 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=bkyXOCHS5aK0g8svzr57itOlU5l1d5K0c9BL40No7r0=; b=WnDQv1pasgT17m32yjrf2aC/oDDc6Wy6fcJ1jRxC1Z883kIJ3kYtPJp4Om9/SDp+KmQppYKE0yS+TIcARDmjfLPB+Cx6WFYd1bNUBNwN14+wiAMuaEOSolDwLhWwR/9hPqsBUJ5GMUuQn9aUvLwK7XJxt+I8HoJEU5GYdsQo78Nhcy4QIFhrsYpM1lJNi26YLuOi+fUwb1sduHK55D1Zf3lXlhwOovcEbLNJroHsd+m+CMhSzlmTsd3NvYInQV06U/Sg076LyrQNWsiCu4u2PXpDYWt2oOGTEJ7VgkRIZtrwqpttOy/y3J0WzZeSIjZLSpioAcr4uv0OV83tRMeYZw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=bkyXOCHS5aK0g8svzr57itOlU5l1d5K0c9BL40No7r0=; b=Zq69dDS6G1A/qMXBiU6ZkF1l+1tXXpUWjZPxErh1wJanKgFgLSuVXnSpjmaPvm70rm+1EkhVKq6aagv1b9UXWhurA4UR0WQc4PtaFJRrlenQV+HVKoGh82zzGrB+WCENmSd2Cwj7ygkKrwI3LdCSca5jYa+7c38m7H81zoZia+NT30Yu1dCDql+BcLStPr46ZFpBGWh3rQLS7JxWJ+S++GfvWJemLQXlXn8CAIlHtfBjU5eNW6jVfB48sB5BA9Vb7FZJZrg6edAVptsBCP2K7YX+05e/H4hyiZzQrGmp1tXOzz8SrKFC0YWziZLwsYeyX/Goip0mlZX6zE2uA2tsNw== Received: from BN9PR12MB5273.namprd12.prod.outlook.com (2603:10b6:408:11e::22) by PH7PR12MB8426.namprd12.prod.outlook.com (2603:10b6:510:241::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Wed, 21 Dec 2022 14:33:13 +0000 Received: from BN9PR12MB5273.namprd12.prod.outlook.com ([fe80::c7ec:b36b:cd8c:48b6]) by BN9PR12MB5273.namprd12.prod.outlook.com ([fe80::c7ec:b36b:cd8c:48b6%3]) with mapi id 15.20.5924.016; Wed, 21 Dec 2022 14:33:13 +0000 From: Rongwei Liu To: Jerin Jacob CC: Matan Azrad , Slava Ovsiienko , Ori Kam , "NBU-Contact-Thomas Monjalon (EXTERNAL)" , Ferruh Yigit , Andrew Rybchenko , "dev@dpdk.org" , Raslan Darawsheh Subject: RE: [RFC v3 2/2] ethdev: add API to set process to active or standby Thread-Topic: [RFC v3 2/2] ethdev: add API to set process to active or standby Thread-Index: AQHZFRrB1sypb2CUskudWNEf9hQD1q54DqAAgAABBPCAABzcAIAADmmwgAAO8gCAAAD4IIAABriAgAAUCuA= Date: Wed, 21 Dec 2022 14:33:13 +0000 Message-ID: References: <20221205215416.7ac53a55@hermes.local> <20221221090017.3715030-1-rongweil@nvidia.com> <20221221090017.3715030-3-rongweil@nvidia.com> In-Reply-To: Accept-Language: zh-CN, en-US Content-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=nvidia.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: BN9PR12MB5273:EE_|PH7PR12MB8426:EE_ x-ms-office365-filtering-correlation-id: 7d021b70-bf12-46c4-53dd-08dae3604acf x-ld-processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: WSM5wxM5KDaO2bKnVYbNKQfGg7vLpZ20pUhf+pjdyrO0jjnOTiakAJ/FNeOq7lsi2g4CpgPDUxjO3A/PHVUXKy6Ix3fPBzQs+BhkY4tyYoHmWW01nbjN17jFKByLW+gMqyXUtX0GILA6mRf1GQS/e1w013cC4AGGXFBg0a4jt8TUHp5W0qYOrAX9O+HDUVVBP9JSARkP/hZR9y7st3mV2fXFc/COjyRpqHKCi9Vi7n0UV40YdWXWw+NeARwvz83oQIABPt+iYMY5G1+hUkBcvAAVUrkNXQW9d4hpwHLtCLwveSCTKzS3SgzB/kxTU43fd0F0vTQRkOJC6j1LC/NKwhVhy6WS4ChfW+BAaK7Qe83fHJhU/hU4wtEIJ28lclaZcvHHVoMkvvuf1lKEa9iaGwlUGaC/3c+68M2OWLtjLxre7vbnlJlR3IlB7wy+5+HzDN5yTrbtdmUYQsS9RvdIwn82oFGVIg0xCGQ1HFxnbyoEWSO3MOyGtbTVPOHnDlNC6vj0Ji3qoYTl3N6hwH0Fre46Xb7BSBfZQ0bXeODUHECD5yvIaU8j9F/ylfzQbbVeBmFO5kkANK15H5D354ctxb+lOMrBkBUfCM1ZV5iWte1aWaDyeMeb+lOXaKdIBQDZDVdQPkcf2C9wCMv25GXlrF/nIxPonb41d0K3FF08nunLp+Cew/NFCKsgVwX2QgbjKtElp3LHrwzCaGkfekXTNg== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BN9PR12MB5273.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230022)(4636009)(136003)(366004)(346002)(376002)(396003)(39860400002)(451199015)(2906002)(6916009)(122000001)(54906003)(55016003)(478600001)(38100700002)(52536014)(316002)(5660300002)(8936002)(66446008)(66946007)(66476007)(64756008)(86362001)(66556008)(76116006)(8676002)(4326008)(83380400001)(71200400001)(55236004)(53546011)(38070700005)(26005)(33656002)(41300700001)(107886003)(9686003)(7696005)(6506007)(186003); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?V3A5UUdlajlUMFIxY3dzL1VUT2NKWjlSRVJ6WFcyU1QrWnQzLzdnTGdZMkMz?= =?utf-8?B?bDBSaUhxVHJmUENLNmhyd1RIamwwRXRnUGhXcEg2ZkhnemJUeHA3eUc2Y1Vk?= =?utf-8?B?bTRheXV0eXhXdnpJdnB2MElCT0FWY1c2aG0va1oyZnZHQ2Q2S3QzUGtLcUNV?= =?utf-8?B?aGpyelAvSDRNL2laZUFRdVBCWXF0ZFM4d2lDSmhFN0loQmVBeHQzSHlRRCtH?= =?utf-8?B?dWphTGc2M1lXN21lM1RQaXdNZ3RpazhBdzdrdGhlQlR4TldYMi9jdGllMVFy?= =?utf-8?B?RVlUUkJOTjlmdVk1ai90QU9kamNaWmRqdk5IN0FiSklHUmlVY0orNDNEOG9h?= =?utf-8?B?cnBvajBjSUcxd0theFRqUzNMMllyb0c5dnFwcXdWcyswZmd2Y0tnajFETGcv?= =?utf-8?B?ZU52KytteGZVcVdMaXVuaGxQNXdlS2h0KzhNZ08waEEvSnlTUVQ4RUpZN3Zo?= =?utf-8?B?dEJKc0tDdDVsOU9mSGthZlg1bWVBZnpWaEg4RFFZVCt6MC94K1lwV3BCS1pY?= =?utf-8?B?bHlVTnZVY2lrL05BTGoySVZuN0wxSUpsRm5hZHNhams4YU5yazBqeTFiR2Vi?= =?utf-8?B?WTUrNHJqVEtqcHRnaTJodWdSOXhpMVJQWTVNVU9pWWh2SXFaeG5OS2JPTTZY?= =?utf-8?B?MUZTaDdma04rU081TkhxeG1VUjk2ZFVMY0NEVWdZRGNILzZpTXI5UmF1aHJK?= =?utf-8?B?VE5Uci9JaGJqVUdRVU4rOVBoN3U3YmlHYVljVHV3RHJYclRHa1NwT2VPeHo5?= =?utf-8?B?UW5UUk4wbEJLbkNrTzA5S2VnaFRlcDlPL29CNUFYZHJXRTJHcjZRK1oyYnJU?= =?utf-8?B?VzduMXJYakJWK1k2WTZDaEtKOHdpcEJTVlNoU2NUMWxVWHUwbWJDc3NYb0p4?= =?utf-8?B?aDVXeFNqMXJMWDQvc3dRNEVCU1l1NTFScVd1TTNjMU11bDd4V3UzOVhqVm9W?= =?utf-8?B?ZEFzYWlURnUrYUR4dFVWRGJvbnJkdVA0VmlGS25iWit0a1Q5cVhmUkRET0Zo?= =?utf-8?B?RUcvOG8xTEVjNnk4WDZJSldtQ1Nvd0FHRnRBeWIrWmkvMTV0bUFvemI1cXFv?= =?utf-8?B?bVZaSS9tUTJ2L0NXcFN5MVRnTkJRY0hwLzZOa0phUnNPNDlLL25sUUp5M1hL?= =?utf-8?B?WTRETWdSTjRsRnNKdGxTTW0wZy8wRkNsVVRkNWJCeGJHa2VsOXZhZHpFWUhn?= =?utf-8?B?V1RaSWpLYnB1ZDM5NXhrcnJsRzBwUTFuci9rMm9CK21acDhHMndwNkdDZzR2?= =?utf-8?B?N2xueU1GR1dJZmc2OE5WdlY0TDZIb2JJTjBjQnRyMzVReFBTNU5Xblh6OVow?= =?utf-8?B?anpUZEdIOUluSHZVWVMrTDNrS1RKM1Y5YlliZDZ3MzlJY1JiK0Nia2lZekJz?= =?utf-8?B?bW5ZRWgrYlNZK3NaZmRHbTdoRWZPeEt1SkE3OEFqRnJGTHd2V3V6K09UN25P?= =?utf-8?B?U2g0b0FZVlV2a3dQUHlTMkg2SlpwSnQ3eWRXRGYrRnNLMVJpajNNTEtqWDRD?= =?utf-8?B?YnA2S2U4KzdTcFNmYnFnT0JpVWJqVDBlNVduYjZQQWs3QVpCdHZhMHV5SU00?= =?utf-8?B?Qmx6TVBWdmdkTDAzRUgwTithc2VQc1hIQVRaNzM5MUVjcWdxcXNrOG1qY1Ns?= =?utf-8?B?WGJ3NDBvREh2MDh6NXpWQ3RybE02Y1NIaWlZWXFtUUZ3dlhxYysrYitLM2Rr?= =?utf-8?B?ZTE2dlM0R2tCMEZuQjYvcFVDYlRmWTN4TVVOejRlL01YL01HMllCUFJIWVd1?= =?utf-8?B?YzJYYzNVQVMwOStaODNxc3NOa01TODB3Rnh3WHlWYWRRY0hiVFZXQXJGUE96?= =?utf-8?B?dUxoZDFuQVhlb3pKcm5YVUVqTVhYVTIxTUNCUTh6MjJuNlBVK1dISU0yUm4z?= =?utf-8?B?QjNXbFh6VFFld1N3KzVKVkxjVms0M2w4bWVqYThvRkMyM3o2YXJTUlBwQXpl?= =?utf-8?B?em1GOEMrek5uM00rQ0JKZ1l1QVVvRnNLYUNKSTJrTGRIVVNxVVoyc1BUK1FJ?= =?utf-8?B?TVBza1o2RUIvRS96U2NQRXJmRWxDMDFNUlQ4ZVVpbEE3WnFpTmphQTFNOGhD?= =?utf-8?B?UmIxR1RmYkpCc0pFRUZSZGtUM3M4YXFhSGtnWExVWWZmdktGdnNEK1FWempQ?= =?utf-8?Q?XMf0=3D?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BN9PR12MB5273.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7d021b70-bf12-46c4-53dd-08dae3604acf X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Dec 2022 14:33:13.7344 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: WHcZSJD83u/jIiyFakMEc4Yadxqmn89xo+Om7AM28G2uZxU/6lpkWwO7U06tYcVmuIvxma9fiqDpZb6s2yxG8A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB8426 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org SEkgSmVyaW46DQoNCkJSDQpSb25nd2VpDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0N Cj4gRnJvbTogSmVyaW4gSmFjb2IgPGplcmluamFjb2JrQGdtYWlsLmNvbT4NCj4gU2VudDogV2Vk bmVzZGF5LCBEZWNlbWJlciAyMSwgMjAyMiAyMToxMg0KPiBUbzogUm9uZ3dlaSBMaXUgPHJvbmd3 ZWlsQG52aWRpYS5jb20+DQo+IENjOiBNYXRhbiBBenJhZCA8bWF0YW5AbnZpZGlhLmNvbT47IFNs YXZhIE92c2lpZW5rbw0KPiA8dmlhY2hlc2xhdm9AbnZpZGlhLmNvbT47IE9yaSBLYW0gPG9yaWth QG52aWRpYS5jb20+OyBOQlUtQ29udGFjdC0NCj4gVGhvbWFzIE1vbmphbG9uIChFWFRFUk5BTCkg PHRob21hc0Btb25qYWxvbi5uZXQ+OyBGZXJydWggWWlnaXQNCj4gPGZlcnJ1aC55aWdpdEBhbWQu Y29tPjsgQW5kcmV3IFJ5YmNoZW5rbw0KPiA8YW5kcmV3LnJ5YmNoZW5rb0Bva3RldGxhYnMucnU+ OyBkZXZAZHBkay5vcmc7IFJhc2xhbiBEYXJhd3NoZWgNCj4gPHJhc2xhbmRAbnZpZGlhLmNvbT4N Cj4gU3ViamVjdDogUmU6IFtSRkMgdjMgMi8yXSBldGhkZXY6IGFkZCBBUEkgdG8gc2V0IHByb2Nl c3MgdG8gYWN0aXZlIG9yIHN0YW5kYnkNCj4gDQo+IEV4dGVybmFsIGVtYWlsOiBVc2UgY2F1dGlv biBvcGVuaW5nIGxpbmtzIG9yIGF0dGFjaG1lbnRzDQo+IA0KPiANCj4gT24gV2VkLCBEZWMgMjEs IDIwMjIgYXQgNjoyMCBQTSBSb25nd2VpIExpdSA8cm9uZ3dlaWxAbnZpZGlhLmNvbT4gd3JvdGU6 DQo+ID4NCj4gPiBISSBKZXJpbjoNCj4gPg0KPiA+IEJSDQo+ID4gUm9uZ3dlaQ0KPiA+DQo+ID4g PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ID4gRnJvbTogSmVyaW4gSmFjb2IgPGpl cmluamFjb2JrQGdtYWlsLmNvbT4NCj4gPiA+IFNlbnQ6IFdlZG5lc2RheSwgRGVjZW1iZXIgMjEs IDIwMjIgMjA6NDUNCj4gPiA+IFRvOiBSb25nd2VpIExpdSA8cm9uZ3dlaWxAbnZpZGlhLmNvbT4N Cj4gPiA+IENjOiBNYXRhbiBBenJhZCA8bWF0YW5AbnZpZGlhLmNvbT47IFNsYXZhIE92c2lpZW5r bw0KPiA+ID4gPHZpYWNoZXNsYXZvQG52aWRpYS5jb20+OyBPcmkgS2FtIDxvcmlrYUBudmlkaWEu Y29tPjsgTkJVLUNvbnRhY3QtDQo+ID4gPiBUaG9tYXMgTW9uamFsb24gKEVYVEVSTkFMKSA8dGhv bWFzQG1vbmphbG9uLm5ldD47IEZlcnJ1aCBZaWdpdA0KPiA+ID4gPGZlcnJ1aC55aWdpdEBhbWQu Y29tPjsgQW5kcmV3IFJ5YmNoZW5rbw0KPiA+ID4gPGFuZHJldy5yeWJjaGVua29Ab2t0ZXRsYWJz LnJ1PjsgZGV2QGRwZGsub3JnOyBSYXNsYW4gRGFyYXdzaGVoDQo+ID4gPiA8cmFzbGFuZEBudmlk aWEuY29tPg0KPiA+ID4gU3ViamVjdDogUmU6IFtSRkMgdjMgMi8yXSBldGhkZXY6IGFkZCBBUEkg dG8gc2V0IHByb2Nlc3MgdG8gYWN0aXZlDQo+ID4gPiBvciBzdGFuZGJ5DQo+ID4gPg0KPiA+ID4g RXh0ZXJuYWwgZW1haWw6IFVzZSBjYXV0aW9uIG9wZW5pbmcgbGlua3Mgb3IgYXR0YWNobWVudHMN Cj4gPiA+DQo+ID4gPg0KPiA+ID4gT24gV2VkLCBEZWMgMjEsIDIwMjIgYXQgNTozNSBQTSBSb25n d2VpIExpdSA8cm9uZ3dlaWxAbnZpZGlhLmNvbT4NCj4gd3JvdGU6DQo+ID4gPiA+DQo+ID4gPiA+ IEhpIEplcmluOg0KPiA+ID4gPg0KPiA+ID4gPiBCUg0KPiA+ID4gPiBSb25nd2VpDQo+ID4gPiA+ DQo+ID4gPiA+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiA+ID4gPiBGcm9tOiBK ZXJpbiBKYWNvYiA8amVyaW5qYWNvYmtAZ21haWwuY29tPg0KPiA+ID4gPiA+IFNlbnQ6IFdlZG5l c2RheSwgRGVjZW1iZXIgMjEsIDIwMjIgMTk6MDANCj4gPiA+ID4gPiBUbzogUm9uZ3dlaSBMaXUg PHJvbmd3ZWlsQG52aWRpYS5jb20+DQo+ID4gPiA+ID4gQ2M6IE1hdGFuIEF6cmFkIDxtYXRhbkBu dmlkaWEuY29tPjsgU2xhdmEgT3ZzaWllbmtvDQo+ID4gPiA+ID4gPHZpYWNoZXNsYXZvQG52aWRp YS5jb20+OyBPcmkgS2FtIDxvcmlrYUBudmlkaWEuY29tPjsNCj4gPiA+ID4gPiBOQlUtQ29udGFj dC0gVGhvbWFzIE1vbmphbG9uIChFWFRFUk5BTCkgPHRob21hc0Btb25qYWxvbi5uZXQ+Ow0KPiA+ ID4gPiA+IEZlcnJ1aCBZaWdpdCA8ZmVycnVoLnlpZ2l0QGFtZC5jb20+OyBBbmRyZXcgUnliY2hl bmtvDQo+ID4gPiA+ID4gPGFuZHJldy5yeWJjaGVua29Ab2t0ZXRsYWJzLnJ1PjsgZGV2QGRwZGsu b3JnOyBSYXNsYW4gRGFyYXdzaGVoDQo+ID4gPiA+ID4gPHJhc2xhbmRAbnZpZGlhLmNvbT4NCj4g PiA+ID4gPiBTdWJqZWN0OiBSZTogW1JGQyB2MyAyLzJdIGV0aGRldjogYWRkIEFQSSB0byBzZXQg cHJvY2VzcyB0bw0KPiA+ID4gPiA+IGFjdGl2ZSBvciBzdGFuZGJ5DQo+ID4gPiA+ID4NCj4gPiA+ ID4gPiBFeHRlcm5hbCBlbWFpbDogVXNlIGNhdXRpb24gb3BlbmluZyBsaW5rcyBvciBhdHRhY2ht ZW50cw0KPiA+ID4gPiA+DQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBPbiBXZWQsIERlYyAyMSwgMjAy MiBhdCAzOjAyIFBNIFJvbmd3ZWkgTGl1DQo+ID4gPiA+ID4gPHJvbmd3ZWlsQG52aWRpYS5jb20+ DQo+ID4gPiB3cm90ZToNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiBISSBKZXJpbjoNCj4gPiA+ ID4gPiA+DQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBIaSBSb25nd2VpDQo+ID4gPiA+ID4NCj4gPiA+ ID4gPiA+IEJSDQo+ID4gPiA+ID4gPiBSb25nd2VpDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4g PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ID4gPiA+ID4gPiBGcm9tOiBKZXJpbiBK YWNvYiA8amVyaW5qYWNvYmtAZ21haWwuY29tPg0KPiA+ID4gPiA+ID4gPiBTZW50OiBXZWRuZXNk YXksIERlY2VtYmVyIDIxLCAyMDIyIDE3OjEzDQo+ID4gPiA+ID4gPiA+IFRvOiBSb25nd2VpIExp dSA8cm9uZ3dlaWxAbnZpZGlhLmNvbT4NCj4gPiA+ID4gPiA+ID4gQ2M6IE1hdGFuIEF6cmFkIDxt YXRhbkBudmlkaWEuY29tPjsgU2xhdmEgT3ZzaWllbmtvDQo+ID4gPiA+ID4gPiA+IDx2aWFjaGVz bGF2b0BudmlkaWEuY29tPjsgT3JpIEthbSA8b3Jpa2FAbnZpZGlhLmNvbT47DQo+ID4gPiA+ID4g PiA+IE5CVS1Db250YWN0LSBUaG9tYXMgTW9uamFsb24gKEVYVEVSTkFMKQ0KPiA+ID4gPiA+ID4g PiA8dGhvbWFzQG1vbmphbG9uLm5ldD47IEZlcnJ1aCBZaWdpdCA8ZmVycnVoLnlpZ2l0QGFtZC5j b20+Ow0KPiA+ID4gPiA+ID4gPiBBbmRyZXcgUnliY2hlbmtvIDxhbmRyZXcucnliY2hlbmtvQG9r dGV0bGFicy5ydT47DQo+ID4gPiA+ID4gPiA+IGRldkBkcGRrLm9yZzsgUmFzbGFuIERhcmF3c2hl aCA8cmFzbGFuZEBudmlkaWEuY29tPg0KPiA+ID4gPiA+ID4gPiBTdWJqZWN0OiBSZTogW1JGQyB2 MyAyLzJdIGV0aGRldjogYWRkIEFQSSB0byBzZXQgcHJvY2VzcyB0bw0KPiA+ID4gPiA+ID4gPiBh Y3RpdmUgb3Igc3RhbmRieQ0KPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiBFeHRlcm5hbCBl bWFpbDogVXNlIGNhdXRpb24gb3BlbmluZyBsaW5rcyBvciBhdHRhY2htZW50cw0KPiA+ID4gPiA+ ID4gPg0KPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiBPbiBXZWQsIERlYyAyMSwgMjAyMiBh dCAyOjMxIFBNIFJvbmd3ZWkgTGl1DQo+ID4gPiA+ID4gPiA+IDxyb25nd2VpbEBudmlkaWEuY29t Pg0KPiA+ID4gPiA+IHdyb3RlOg0KPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gVXNl cnMgbWF5IHdhbnQgdG8gY2hhbmdlIHRoZSBEUERLIHByb2Nlc3MgdG8gZGlmZmVyZW50DQo+ID4g PiA+ID4gPiA+ID4gdmVyc2lvbnMNCj4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gRGlmZmVy ZW50IHZlcnNpb24gb2YgRFBESz8gSWYgdGhlcmUgaXMgYW55IEFCSSBjaGFuZ2UgaG93IHRvDQo+ ID4gPiA+ID4gPiA+IHN1cHBvcnQNCj4gPiA+IHRoaXM/DQo+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ ID4gPiBUaGVyZSBpcyBhIG5ldyBtZW1iZXIgd2hpY2ggd2FzIGludHJvZHVjZWQgaW50bw0KPiA+ ID4gPiA+ID4gcnRlX2V0aF9kZXZfaW5mbyBidXQgaXQNCj4gPiA+ID4gPiBzaG91bGRu4oCZdCBi ZSBBQkkgYnJlYWtpbmcgc2luY2UgdXNpbmcgcmVzZXJ2ZWQgZmllbGRzLg0KPiA+ID4gPiA+DQo+ ID4gPiA+ID4gVGhhdCBpcyBqdXN0IGZvciBydGVfZXRoX2Rldl9pbmZvLiBXaGF0IGFib3V0IHRo ZSBBQkkgY2hhbmdlIGluDQo+ID4gPiA+ID4gZGlmZmVyZW50IGV0aGRldiBzdHJ1Y3R1cmUgYW5k IHJ0ZV9mbG93IHN0cnVjdHVyZXMgYWNyb3NzDQo+ID4gPiA+ID4gZGlmZmVyZW50IERQREsNCj4g PiA+IEFCSSB2ZXJzaW9ucy4NCj4gPiA+ID4gPg0KPiA+ID4gPiBCZXNpZGVzIHRoaXMsIHRoZXJl IGlzIG5vIG90aGVyIEFCSSBjaGFuZ2VzIGRlcGVuZGVuY3kuDQo+ID4gPiA+DQo+ID4gPiA+IEFz c3VtZSB0aGVyZSBpcyBhIERQREsgcHJvY2VzcyBBIHJ1bm5pbmcgd2l0aCB2ZXJzaW9uIHYyMS4x MSBhbmQNCj4gPiA+ID4gcGxhbiB0byB1cGdyYWRlIHRvIHZlcnNpb24gdjIyLjExLiBMZXQnIGNh bGwgdjIyLjExIGFzIHByb2Nlc3MgQi4NCj4gPiA+DQo+ID4gPiBPSy4gVGhhdCdzIGEgcmVsaWVm LiBJIHVuZGVyc3RhbmQgdGhlIHVzZSBjYXNlIG5vdy4NCj4gPiA+DQo+ID4gPiBXaHkgbm90IHNp bXBseSB1c2Ugc3RhbmRhcmQgRFBESyBtdWx0aXByb2Nlc3MgbW9kZWwgdGhlbi4NCj4gPiA+IFBy aW1hcnkgcHJvY2VzcyBhY3QgYXMgc2VydmVyIGZvciBzbG93IHBhdGggQVBJLiBTZWNvbmRhcnkg cHJvY2Vzcw0KPiA+ID4gY2FuIGNvbWUgYW5kIGdvKGFrYSBjYW4gYmUgdXBkYXRlZCBhdCBydW50 aW1lKSBhbmQgdXNlIGFzIGNsaWVudCB0bw0KPiA+ID4gdXBkYXRlIHJ1bGVzIHZpYSBwcmltYXJ5 LXNlY29uZHJheSBjb21tdW5pY2F0aW9uIG1lY2hhbmlzbS4NCj4gPiA+DQo+ID4gSnVzdCBpbWFn ZSBpZiBwcm9jZXNzIEEgYW5kIHByb2Nlc3MgQiBoYXZlIEFCSSBicmVha2FnZSBsaWtlIGRpZmZl cmVudA0KPiBydGVfZmxvd19pdGVtXyoqKiBhbmQgcnRlX2Zsb3dfYWN0aW9uXyoqKiBzaXplIGFu ZCBtZW1iZXJzLg0KPiA+IEhvdyBjYW4gd2UgcXVpY2tseSBhY2NvbW1vZGF0ZSBwcmltYXJ5L3Nl Y29uZGFyeSB0byBiZSBBQkkgY29tcGF0aWJsZQ0KPiBhY3Jvc3MgZGlmZmVyZW50IHZlcnNpb25z Pw0KPiA+IEl0IHdpbGwgYmUgdmVyeSBodWdlIGVmZm9ydCBhbmQgZGlmZmljdWx0IHRvIGltcGxl bWVudCwgYXQgbGVhc3QgaW4gbXkgb3Bpbmlvbi4NCj4gPiBXaGF0IGRvIHlvdSB0aGluaz8NCj4g DQo+IFllcy4gaXQgZGlmZmljdWx0IHdoYXQgZXZlciBhcHByb2FjaCB3ZSB0YWtlLCBPbiBvdGhl ciBoYW5kLCBldGhkZXYgc3Vic3lzdGVtDQo+IGhhcyBvdGhlciBjb21wb25lbnRzIGxpa2UgcnRl X3RtIGFuZCBvdGhlciBvZmZsb2FkIGV0YywgV2UgY2FuIG5vdCBzaW1wbHkNCj4gaGF2ZSBydGVf ZXRoX3Byb2Nlc3Nfc2V0X2FjdGl2ZSgpIGFuZCB0aGluZ3MgbWFnaWNhbCB3b3JrcyBhY3Jvc3Mg ZGlmZmVyZW50DQo+IERQREsgdmVyc2lvbnMuIEV4YW1wbGUsIGlmIHJ0ZV9mbG93IHJ1bGUgaGFz IG1ldGVyIGFjdGlvbiB3aWxsIGRlcGVuZCBvbg0KPiBhbm90aGVyIEhXIHBpZWNlIGluIE5JQyBj YXJkIGZvciBkb2luZyB0aGUgbWV0ZXJpbmcgYnV0IHNldCBieSBmbG93IEFQSS4NCj4gSU1PLCBD dXN0b21lciBjYW4gc2ltcGx5IHVzZSBzdGFuZGFyZCBtdWx0aXByb2Nlc3MgbW9kZWwgaWYgdmVy c2lvbiBhcmUNCj4gY29tcGF0aWJsZSB3aXRob3V0IGFueSBzcGVjaWFsIGludGVsbGlnZW5jZSBp biBhcHBsaWNhdGlvbi4NCj4gT3RoZXJ3aXNlIHRoZXkgY2FuIHJlbG9hZCBhbmQgc3RhcnQgdGhl IGFwcGxpY2F0aW9uIGFnYWluIG9yIGhhdmUgc3BlY2lhbA0KPiBpbnRlbGxpZ2VuY2UgaW4gYXBw bGljYXRpb24gdG8gY2F0ZXIgdGhlIHNwZWNpZmljIGFyZWEgb2YgQVBJIHRoZXkgbmVlZCB0bw0K PiBsZXZlcmFnZSBiYXNlZCBvbiBzZXJ2ZXIgYW5kIGNsaWVudCBEUERLIHZlcnNpb25zLg0KDQpU aGFua3MgZm9yIHRoZSBtZXNzYWdlLg0KSU1PLCB3ZSBhcmUgdHJ5aW5nIHRvIGVsaW1pbmF0ZSB0 aGUgdmVyc2lvbi9BQkkgZGVwZW5kZW5jeSB3aXRoIHRoaXMgbmV3IGFkZGVkIEFQSS4NCkZvciBl eGFtcGxlLCBpZiBtZXRlciBhY3Rpb24gaXMgaW4gdGhlIGZsb3cgcnVsZXM6DQoxLiBQcm9jZXNz IEEgaGF2ZSBydWxlcyBsaWtlICJldGggLyBpcHY0IHNyYyAxLjEuMS4xIC8gbWV0ZXIgLyBxdWV1 ZSAvIGVuZCINCjIuIFByb2Nlc3MgQiBzdGFydHMgd2l0aCAicnRlX2V0aF9wcm9jZXNzX3NldF9h Y3RpdmUoZmFsc2UsIGZsYWdzKSINCg0KSnVzdCBnaXZlIE52aWRpYScgaGFyZHdhcmUgYXMgZXhh bXBsZSAob3RoZXIgTklDIHZlbmRvcnMgbWF5IG5vdCBjYXJlIGlmIGdyb3VwIDAgb3Igbm90KQ0K SWYgdGhlIHByb2Nlc3MgQScgcnVsZXMgYXJlIGluIGdyb3VwIDAsIHVzZXJzIHNob3VsZCBzZXQg dGhlbSBvbmUgYnkgb25lIHRvIHByb2Nlc3MgQi4NClRoZW4gZWl0aGVyIGZsdXNoIHByb2Nlc3Mg QScgcnVsZXMgb3IgcXVpdCBwcm9jZXNzIEEsIHRoZW4gcHJvY2VzcyBCIGNhbGxzIHdpdGggInJ0 ZV9ldGhfcHJvY2Vzc19zZXRfYWN0aXZlKHRydWUsIGZsYWdzKSINCkFsbCBpcyBzZXQuDQpJdCB3 aWxsIGF2b2lkIGNvbXBsZXggb3BlcmF0aW9ucyB3aXRoIGNsaWVudC9zZXJ2ZXIgbW9kZWwgYW5k IGF2b2lkIHVzZXIgbWlzLW9wZXJhdGlvbiB0b28uDQpXZSBzaG91bGQgYXZvaWQgcmVsb2FkIGFz IG11Y2ggYXMgcG9zc2libGUgc2luY2UgcmVsb2FkaW5nIGlzIHZlcnkgdGltZSBjb25zdW1pbmcg YW5kIG1heSB0YWtlIHVwIHRvIGZldyBzZWNvbmRzLg0KSW4gdGhpcyB0aW1lIHNsb3QsIHRoZXJl IGlzIG5vIGFwcGxpY2F0aW9uIHRvIGhhbmRsZSB0aGUgdHJhZmZpYywgYW5kIGV2ZXJ5dGhpbmcg aXMgbG9zdC4NCkZvciBlbmQgdXNlciBlc3BlY2lhbGx5IGNsb3VkIHNlcnZpY2UgcHJvdmlkZXJz LCB0aGV5IGFyZSBzZW5zaXRpdmUgdG8gdGhlIHRyYWZmaWMgZG93biB0aW1lLg0KPiANCj4gDQo+ ID4gPg0KPiA+ID4gPg0KPiA+ID4gPiBOb3csIHByb2Nlc3MgQSBoYXMgYmVlbiBydW5uaW5nIGZv ciBsb25nIHRpbWUgYW5kIGhhcyBsb3Qgb2YgcnVsZXMNCj4gPiA+IGNvbmZpZ3VyZWQuIEl0JyAi YWN0aXZlIiByb2xlIHBlciB0aGlzIEFQSSBkZWZpbml0aW9uLg0KPiA+ID4gPiBQcm9jZXNzIEIg c3RhcnRzIGFuZCBpdCBzaG91bGQgY2FsbCB0aGlzIEFQSSBhbmQgc2V0IGl0c2VsZiB0bw0KPiA+ ID4gPiAic3RhbmRieSIgcm9sZSBhbmQgdXNlciBjYW4gcHJvZ3JhbSB0aGUgZmxvdyBydWxlcyBh cyB0aGV5IHdhbnQNCj4gPiA+ID4gYW5kDQo+ID4gPiBkaWZmZXJlbnQgTklDIHZlbmRvcnMgbWF5 IGhhdmUgZGlmZmVyZW50IHJlY29tbWVuZGF0aW9ucy4gTnZpZGlhDQo+ID4gPiBzdWdnZXN0cyBv bmx5IHByb2dyYW0gcHJvY2VzcyBCIHdpdGggZ3JvdXAgMCcgcnVsZXMgbm93Lg0KPiA+ID4gPg0K PiA+ID4gPiBUaGUgdXNlciBzaG91bGQgc3luYyBhbGwgZGVzaXJlZCBjb25maWd1cmF0aW9ucyBm cm9tIHByb2Nlc3MgQSB0bw0KPiA+ID4gPiBwcm9jZXNzIEIsIGFuZCBwcm9jZXNzIEEgc3RhcnRz IHRvIHlpZWxkIHRyYWZmaWMgbGlrZSAiZGVsZXRlIGFsbA0KPiA+ID4gPiBncm91cCAwIHJ1bGVz DQo+ID4gPiBmb3IgTnZpZGlhJyBOSUNzIiBvciBxdWl0Lg0KPiA+ID4gPiBBZnRlciB0aGF0IHBy b2Nlc3MgQiBjYWxscyB0aGlzIEFQSSBhbmQgc2V0IGl0c2VsZiB0byAiYWN0aXZlIg0KPiA+ID4g PiByb2xlLCBub3cgdGhlIGhvdC0NCj4gPiA+IHVwZ3JhZGUgZmluaXNoZXMuDQo+ID4gPiA+DQo+ ID4gPiA+ID4gPiA+ID4gc3VjaCBhcyBob3QgdXBncmFkZS4NCj4gPiA+ID4gPiA+ID4gPiBUaGVy ZSBpcyBhIHN0cm9uZyByZXF1aXJlbWVudCB0byBzaW1wbGlmeSB0aGUgbG9naWMgYW5kDQo+ID4g PiA+ID4gPiA+ID4gc2hvcnRlbiB0aGUgdHJhZmZpYyBkb3dudGltZSBhcyBtdWNoIGFzIHBvc3Np YmxlLg0KPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gVGhpcyB1cGRhdGUgaW50cm9k dWNlcyBuZXcgcnRlX2V0aCBwcm9jZXNzIHJvbGUgZGVmaW5pdGlvbnM6DQo+ID4gPiA+ID4gPiA+ ID4gYWN0aXZlIG9yIHN0YW5kYnkuDQo+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiBU aGUgYWN0aXZlIHJvbGUgbWVhbnMgcnVsZXMgYXJlIHByb2dyYW1tZWQgdG8gSFcNCj4gPiA+ID4g PiA+ID4gPiBpbW1lZGlhdGVseSwgYW5kIG5vDQo+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ IFdoeSBpdCBoYXMgdG8gYmUgc3BlY2lmaWMgb25seSB0byBydGVfZmxvdyBydWxlPyBJZiBpdA0K PiA+ID4gPiA+ID4gPiBzcGVkaWVpYyB0byBydGVfZmxvdywgd2h5IGl0IGlzIGluIHJ0ZV9ldGhf cHJvY2Vzc18gbmFtZSBzcGFjZT8NCj4gPiA+ID4gPiA+IEZvciBub3csIHRoaXMgZGVzaWduIGZv Y3VzZXMgb24gdGhlIGZsb3cgcnVsZSBvZmZsb2FkaW5nIGFuZA0KPiA+ID4gPiA+ID4gdHJhZmZp Yw0KPiA+ID4gPiA+IHJlZGlyZWN0aW9uLg0KPiA+ID4gPiA+ID4gV2hlbiBzd2l0Y2hpbmcgcHJv Y2VzcyB2ZXJzaW9uLCBpdCcgaW1wb3J0YW50IHRvIG1ha2Ugc3VyZQ0KPiA+ID4gPiA+ID4gd2hp Y2gNCj4gPiA+ID4gPiBhcHBsaWNhdGlvbiByZWNlaXZlcyBhbmQgaGFuZGxlcyB0aGUgdHJhZmZp Yy4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+IENoYW5naW5nIHRoZSBEUERLIHZlcnNpb24gcnVudGlt ZSBpcyBqdXN0IGJleW9uZCBydGVfZmxvdyBkcml2ZXIuDQo+ID4gPiA+DQo+ID4gPiA+IEl0JyBu b3QgYWJvdXQgY2hhbmdpbmcgRFBESyB2ZXJzaW9uIGJ1dCB1cGdyYWRpbmcgRFBESyBmcm9tIG9u ZQ0KPiA+ID4gPiBQTUQNCj4gPiA+IHZlcnNpb24gdG8gYW5vdGhlciBvbmUuDQo+ID4gPiA+IERv ZXMgdGhlIHByZWNlZGluZyBleGFtcGxlIGFuc3dlciB5b3VyIHF1ZXN0aW9uPw0KPiA+ID4gPiA+ DQo+ID4gPiA+ID4gPiBUaGUgY2hhbmdpbmcgc2hvdWxkIGJlIGVmZmVjdGl2ZSBhY3Jvc3MgYWxs IHByb2JpbmcgZXRoDQo+ID4gPiA+ID4gPiBkZXZpY2VzLCB0aGF0JyB3aHkgaXQNCj4gPiA+ID4g PiB3YXMgcHV0IHVuZGVyIHJ0ZV9ldGhfcHJvY2Vzc18gKGZvciBhbGwgcnRlX2V0aF9kZXYpIG5h bWUgc3BhY2UuDQo+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+IEFsc28sIGlmIHdlIGFyZSBt b3ZpbmcgdGhlIHN0YW5kYnksIFdoYXQgYWJvdXQgdGhlIHJ1bGUNCj4gPiA+ID4gPiA+ID4gd2hv c2UgQUJJIGlzIGNoYW5nZWQgYmV0d2VlbiB2ZXJzaW9ucz8NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ ID4gPiBMaWtlIHRoZSBjb21tZW50cyBtZW50aW9uZWQ6ICIgQmVmb3JlIHJvbGUgdHJhbnNpdGlv biwgYWxsIHRoZQ0KPiA+ID4gPiA+ID4gcnVsZXMgc2V0IGJ5DQo+ID4gPiA+ID4gdGhlIGFjdGl2 ZSBwcm9jZXNzIHNob3VsZCBiZSBmbHVzaGVkIGZpcnN0LiAiDQo+ID4gPiA+ID4NCj4gPiA+ID4g PiBXaGF0IGhhcHBlbnMgdG8gcnRlX2Zsb3cgZmxvdyBoYW5kbGVzIGZvciBleGlzdGluZyBvbmVz ICB3aGljaA0KPiA+ID4gPiA+IGlzIGNyZWF0ZWQgd2l0aCB2ZXJzaW9uIFg/DQo+ID4gPiA+ID4g QWxzbyBXaGF0IGlmIG5ldyB2ZXJzaW9uIFkgaGFzIEFCSSBjaGFuZ2UgaW4gcnRlX2Zsb3dfcGF0 dGVybg0KPiA+ID4gPiA+IGFuZCBydGVfZmxvd19hY3Rpb24gc3RydWN0dXJlPw0KPiA+ID4gPiA+ DQo+ID4gPiA+ID4gRm9yIG1lLCBJZiBEUERLIHZlcnNpb24gY2hhbmdlIGlzIG5lZWRlZCwgc2lt cGx5IHJlbG9hZCB0aGUNCj4gPiA+ID4gPiBhcHBsaWNhdGlvbi4gVGhpcyBBUEkgd2lsbCBzb29u IGJsb2F0LCBhbmQgaXQgd2lsbCBiZSBhIG1lc3MgaWYNCj4gPiA+ID4gPiB0byBzdGFydCBoYW5k bGluZyBEaWZmZXJlbnQgRFBESyB2ZXJzaW9uIHdoaWNoIGlzIG5vdCBBQkkgY29tcGF0aWJsZSBh dA0KPiBhbGwuDQo+ID4gPiA+ID4NCj4gPiA+ID4gWWVzLCB5b3UgYXJlIHJpZ2h0LiBSZWxvYWRp bmcgdGhlIGFwcGxpY2F0aW9uIGlzIHRoZSBlYXNpZXN0IHdheQ0KPiA+ID4gPiBidXQgaXQgbWF5 IGhhdmUgYSBsb25nIHRpbWUgV2luZG93IHRoYXQgdHJhZmZpYyBpcyBsb3N0LiBObw0KPiA+ID4g PiB0cmFmZmljIGFycml2ZXMgYXQNCj4gPiA+IHByb2Nlc3MgQSBvciBwcm9jZXNzIEIuDQo+ID4g PiA+IFdlIGFyZSB0cnlpbmcgdG8gc2ltcGxpZnkgdGhlIHJlbG9hZGluZyBsb2dpYyBhbmQgbWlu aW1pemUgdGhlDQo+ID4gPiA+IHRyYWZmaWMgZG93bg0KPiA+ID4gdGltZSBhcyBtdWNoIGFzIHBv c3NpYmxlLg0KPiA+ID4gPiBUaGUgYXBwcm9hY2ggbWF5IGRpZmZlcmVudGlhdGUgaHVnZWx5IGJl dHdlZW4gZGlmZmVyZW50IE5JQw0KPiA+ID4gPiB2ZW5kb3JzLCBzbyBJIHRoaW5rIGl0IHNob3Vs ZCBiZSBiZXR0ZXIgaWYgRFBESyBjYW4gcHJvdmlkZSBhbiBhYnN0cmFjdCBBUEkuDQo+ID4gPiA+ DQo+ID4gPiA+IElmIHByb2Nlc3MgQSBhbmQgcHJvY2VzcyBCIGFyZSBBQkkgZGlmZmVyZW50LCBp dCBkb2Vzbid0IG1hdHRlci4NCj4gPiA+ID4gMS4gQ2FsbCB0aGlzIEFQSSB3aXRoIHByb2Nlc3Mg QSBtZWFucyBvbGRlciBBQkkuDQo+ID4gPiA+IDIuIENhbGwgdGhpcyBBUEkgd2l0aCBwcm9jZXNz IEIgbWVhbnMgbmV3ZXIgQUJJLg0KPiA+ID4gPiBJdCcgaGF2ZSBwcm9jZXNzIGNvbmNlcHQgYW5k IHdvcmtpbmcgc2NvcGUuDQo+ID4gPiA+DQo+ID4gPiA+ID4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+ DQo+ID4gPiA+ID4gPiA+ID4gYmVoYXZpb3IgY2hhbmdlZC4gVGhpcyBpcyB0aGUgZGVmYXVsdCBz dGF0ZS4NCj4gPiA+ID4gPiA+ID4gPiBUaGUgc3RhbmRieSByb2xlIG1lYW5zIHJ1bGVzIGFyZSBx dWV1ZWQgaW4gdGhlIEhXLiBJZiBubw0KPiA+ID4gPiA+ID4gPiA+IGFjdGl2ZSByb2xlcyBhbGl2 ZSBvciBiYWNrIHRvIGFjdGl2ZSwgdGhlIHJ1bGVzIGFyZQ0KPiA+ID4gPiA+ID4gPiA+IGVmZmVj dGl2ZQ0KPiA+ID4gaW1tZWRpYXRlbHkuDQo+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4g PiBTaWduZWQtb2ZmLWJ5OiBSb25nd2VpIExpdSA8cm9uZ3dlaWxAbnZpZGlhLmNvbT4NCg==