From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by lists.proxmox.com (Postfix) with ESMTPS id 1933A93FCC for ; Tue, 20 Sep 2022 18:13:10 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 07C2A1ECC2 for ; Tue, 20 Sep 2022 18:12:40 +0200 (CEST) Received: from mail02.cetsi.fr (mail02.cetsi.fr [91.151.64.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by firstgate.proxmox.com (Proxmox) with ESMTPS for ; Tue, 20 Sep 2022 18:12:38 +0200 (CEST) Received: from CYLNEXC01.cyllene.corp (unknown [10.0.250.28]) by mail02.cetsi.fr (Postfix) with ESMTP id D0C2B4050294 for ; Tue, 20 Sep 2022 18:12:29 +0200 (CEST) DKIM-Filter: OpenDKIM Filter v2.11.0 mail02.cetsi.fr D0C2B4050294 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groupe-cyllene.com; s=dkim; t=1663690349; bh=xLSTSxt+dVCoVlJPt0Ma1OTbLfYH51YJXNl6TPF7pGQ=; h=From:To:Subject:Date:References:In-Reply-To:From; b=XNfxaBXYR+uszct2PiGh1GrfETW1CH7WQV8weIAxZ+6DjqoyHLqx1JFzNTzO8yw6c BDV7qup8QriUPKQD24o+GWajfOWb+q7dbJJ3pIBzr9WfWlwJvLJdTF0JsL6l2lFAB0 nhNT5wXld5hNrPIYZG6QkWRhJyCAWFnKvZdWZfig= Received: from CYLNEXC01.cyllene.corp (10.0.250.28) by CYLNEXC01.cyllene.corp (10.0.250.28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2375.31; Tue, 20 Sep 2022 18:12:31 +0200 Received: from FRA01-PR2-obe.outbound.protection.outlook.com (10.0.250.254) by CYLNEXC01.cyllene.corp (10.0.250.28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2375.31 via Frontend Transport; Tue, 20 Sep 2022 18:12:31 +0200 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=R3nambWdct6KXcl508FRcMbYLGPI9Rba/iGcqydXmp93FAQkcuxuiu9/xDpKFa/yFIbEONNWl2QQvFbo65ZMl/jdrd3PBMx0JeFGwUWtTzSpxEyxlo4KGPAwkW3daBbr8nVaj7/O5uy+vKwp6dJUV9B/kfR68gT9KXB7Bejc+yRFRfXZXuPLcb5Yw2ANbs3A/da9h4hYyYkaJ+kNQgJ1eHczGbZHgdjKg7+vh76fZr/mRSQW7mOWtVXNj26wMQEPsBbdIqOnTbLdJmlZthjeO9Ym/o7W7LFY2zc8qD5O/5AEMQ9PPnbVkPOUx1sPS+ptTJkDpxAuItf5Ah7Hnj4w+A== 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=xLSTSxt+dVCoVlJPt0Ma1OTbLfYH51YJXNl6TPF7pGQ=; b=B/6Xudj/aj3zG9OCGePUdTKUyYrVc7T3KPJ/gtHT/iqxttz12saElTIKOTq20aqB14HGmpxdEZH8VHh0o8aYN65uRidrSjDs7h3IpGhtn6WbP4PV73nI1F+SBsZPFjzF8xJxZIxJOvrGyfwoiH439i4V7sTQHWBgl5wd8dn1Xst4XmkvoEQxKcoDPCX88Gf2UUzpRKAhTAP4bD4MdVVm/N+HALvRNTndt/UShF6R6iE+dKesRyY6Qnh+7Cm0oBGUfNfjhvWBhn3Pv4G8lMhZRO3fpchvYmOd0IE1y5Al9RU349GRs+M+c+2v4TBhJU/xtguKwsFC4prSO/ORZcRolQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=groupe-cyllene.com; dmarc=pass action=none header.from=groupe-cyllene.com; dkim=pass header.d=groupe-cyllene.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=groupecyllene.onmicrosoft.com; s=selector2-groupecyllene-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=xLSTSxt+dVCoVlJPt0Ma1OTbLfYH51YJXNl6TPF7pGQ=; b=jv/bMS5APoC9Rzvow3LuZaOunwyIvjXERISfZEJOmKzwPzgNjxrVnpdUJ6mY6+jYSoK5CFcP1QdrQkIgixskloh8E7J335m0H5/HiDcWV57XNFucAsYvGFbZ89dJGMeVAELKJhX+hNN+febQ/NvSZNQ1rdaCZuzZR3sN5wqOCX0= Received: from MR1P264MB2481.FRAP264.PROD.OUTLOOK.COM (2603:10a6:501:32::17) by PR0P264MB1706.FRAP264.PROD.OUTLOOK.COM (2603:10a6:102:16e::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5632.16; Tue, 20 Sep 2022 16:12:29 +0000 Received: from MR1P264MB2481.FRAP264.PROD.OUTLOOK.COM ([fe80::8298:1975:e8c4:200d]) by MR1P264MB2481.FRAP264.PROD.OUTLOOK.COM ([fe80::8298:1975:e8c4:200d%5]) with mapi id 15.20.5654.014; Tue, 20 Sep 2022 16:12:29 +0000 From: "DERUMIER, Alexandre" To: "pve-devel@lists.proxmox.com" Thread-Topic: [pve-devel] [PATCH many v3] add cluster-wide hardware device mapping Thread-Index: AQHYzO/AvhFDITMq0Uq/Kg+YKxH7U63ofbCA Date: Tue, 20 Sep 2022 16:12:29 +0000 Message-ID: <4fb3586e7f215464e2d7da86a754ea58203c3fbf.camel@groupe-cyllene.com> References: <20220920125041.3636561-1-d.csapak@proxmox.com> In-Reply-To: <20220920125041.3636561-1-d.csapak@proxmox.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Evolution 3.44.1-0ubuntu1 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=groupe-cyllene.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: MR1P264MB2481:EE_|PR0P264MB1706:EE_ x-ms-office365-filtering-correlation-id: 0fb67ecf-e3cd-46dc-58b1-08da9b22eacc x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: xe3C+wtCDrZlarTGIvo1PxOza88LOMx8o9I/2UC2VwHBlch10hqOA0/iY32d8ogSJmyVQZJIEesM+Ku5R2vHVLTwATELVMxv2S+OdPsE8eBjWRthQ1/qtvJ9v82krY1LOGxTeENwkOM0YMuXs67zVoqTGGBQFdyOWZRyOEAwJsikK6PdJCunFqgtr6wtTSD6271YSk4da7W15DrsVzzP1HbJ7fT0mxmfIZh+htT6x/kvMS12Kqzf67VnMHj62MQXPGjcWtSFjvsmGZ9A3wr7GxXB4FLyBFcRoAOUzwPfv9qdRKNKbsDb+SIRWHBu+6aDYd2i6/9O7O5QUEeZIWEVUkycQKPhAjLuDN1jlAP7/DMar/eQIdOWK3UtaQZh+zDC3o7k7rkmarCt6ZaZeZ1xjVyvGRKjd6YDwrx7Vby6t37fBvulMFx1aLAManrA01TTQntAeZQGtE4EKUqUoM5AoKUrTYQxtbXNPPM45LmwF0SgENK7Amqj1Rx1lPkHY9P0wPo7VJvvvvXoSr2WLd8avcmHMAmZln66gE0koTXz0MRlqFPMrT1djFCbb7cajd9B8PwQevsV4bB43J6uI0NvouuKBcXKZLXIwDaZDzDlv+NtzsxrX/7I51Y5tUbK2zotG2SqcgRD/NvcuHsSE4E1HHObOWw7me17Krl8CVUhgs/d321Y8w1TrTaVwtKpExSLpgQg9SvN+XOtne+k5aqIuY548yQJE7Ce+QydnHJBdsFrFjmPdjHjHcJsIjjgNsB7Ha2afnLV3lCdQmnYVzKXFg== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MR1P264MB2481.FRAP264.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFS:(13230022)(4636009)(39850400004)(396003)(346002)(376002)(366004)(136003)(451199015)(2616005)(2906002)(38070700005)(41300700001)(6506007)(64756008)(8676002)(91956017)(76116006)(19627235002)(66556008)(66574015)(83380400001)(6916009)(66476007)(66946007)(66446008)(316002)(6486002)(71200400001)(36756003)(5660300002)(186003)(8936002)(478600001)(86362001)(6512007)(38100700002)(26005)(122000001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?SXY1QWRTRFdiVzRuZ0RseXhGWDE2MkRmZllXSENDaFFDSHMzZCtHU2phY09w?= =?utf-8?B?a3FKUHI1VGZsVkprOXRYaUVST1IyMFFiMGZkWTBleEtQTzJPWE12b2QwcmpF?= =?utf-8?B?ZWgwVFB0S1V5bHA2VDd2TjUvN3U5QzBZeWh3ckhiTWh1TUhrUFVRb0tlUXdG?= =?utf-8?B?Mi9TR1ZESGZnZmZwQkZYYUVCeW80MGRNNW9XZ2FEWjBLOHArYTFwc3o2MTh4?= =?utf-8?B?elk1VzJsTEhyWTQvTitvNVhVdjhJWER1bFFaZk91VGs2S3U5Y3p3N3lYS0w2?= =?utf-8?B?M3FYa1JPZ1VxM2FORjNndTZDWnpBSVNyUnZsWjlCM3Vnbm5CYlpSN3hmdDhw?= =?utf-8?B?ZUwvMjcvNmVxakxCcWtQZllYOFBXd1h4QngzQnVYbndIT2FFSmViKzVja3Nl?= =?utf-8?B?MndoZmlYcFB5QjNYMmU0WWRpMEsxZ1d5cXJxa3lxVlgrRDBoSDR4OWVrVVVH?= =?utf-8?B?WHBVSDJwaTBKOHk3ZmFCOGV2S1lmMEJ5OTRiSUFzOHJCelVtWWd5T05QenB2?= =?utf-8?B?YXhEK2ZIbGwwNmtRakxuQXJzSHBPMithU2tPYlNPK1BoVG13ZHJjNnRNdG5k?= =?utf-8?B?Yk0zNmI3OVB3NDZneTl5THBQVTM5dkRKY1lJTW5jeTA3NzNqZXV1MEFpYndv?= =?utf-8?B?YjJKN3BvZUhWYlBqTmUrZnl6UWpLSEJmRnh4REpJVEhQYlFyaS9HVjE0Nzl5?= =?utf-8?B?bzhVekQ2MVdic29ZQ0NoUGdLTWIwaFRZS2hNY21tK3dSUHVLbTJvM0hRV2pI?= =?utf-8?B?bHhpaGhBaEswZ0hXTHI4VEVnSDBlWVY5dmM1Y2ZtZjlpZzEwaTN3ZlcwZTlh?= =?utf-8?B?OWJWUzlTUDFueXpBNmtsc2lRSmUxK2FRTElVM0ROM2w1em5td3MxUkV1TkFD?= =?utf-8?B?S01uM2Y4TENRQ0E5R1Z3eE1QQlZ5N25mNG91anA5aVBqUzdjRzI2NlVxWGdP?= =?utf-8?B?OXFWeHlaYXlIV25aNVJVMCtTT2hTKzRMNDJmNVNtWkkwTllhYU5IMHZOL3Nq?= =?utf-8?B?VXA3NzNKYVMvY05KekdIbnVseUg1TjUwSGZEOFBid1I0UmdVcFdOVXFVWmhk?= =?utf-8?B?MmVnTnQxbHdTY3UyZWVDN243R3lGVW9QbkFMblVEbElyL2dWajZuamRGYWdt?= =?utf-8?B?OE9XZlo0Yk5JZlJGZ1l6UmdTYU9kZkV2RXhhWTEwSUNaUlVrT2owYU9uNnBp?= =?utf-8?B?akJTQzV0MlI1N09ZZDhhQm83VlNUTXlxMUp5SG5oNmtRZUZWSTlqSGY3ZjQ1?= =?utf-8?B?V3VlR0tuZS9oeExkOGdZODFJM2MrcThlWUZBMnZESHZ5NEdZVmNyWFpVdjZO?= =?utf-8?B?QTZxUlhSMlpLUzB0RjFLRmFaelZwREtBSzF5akg3QitxQUYwdXB4U0xoTXJY?= =?utf-8?B?aHJsenpTZkJ0Rkg3Wkd1NkhlajUvaThxank1TmVpaXA3R3d4S2JXWERpSm1j?= =?utf-8?B?K1RSWkFhRk9YM3l0dEpvTHducDJmcXhEakt5bm4xMGttRkl6T3JqQVBEcmtz?= =?utf-8?B?NWN0Nzl0UlhoaU5WSFltSWEwNHFvNnRqSWtTZEg1QkJmREsyeUNoNVRPM1dt?= =?utf-8?B?S2E5QzVtT1VKWW1ZUDN4cEFKZ1duTkJIbnNYUjZqVVZ6Ty9UVFVqT0RUN1I5?= =?utf-8?B?blpNRklMYmtnQmRyLzhqTHlvK1h5VWxHOUxLOXR0bWpFS2lkM2xSRXlmVW1o?= =?utf-8?B?eTMvQUVhQ01qQThuQ0twZmdTUVBKdWI5V0VRSGxsYUs3amliWDZJTXl0YU5T?= =?utf-8?B?TlZmVStIV3JIS05rcXRkTy81dnRLaXhWQXJSR08vbGl2NFYwV09ua09qbXVw?= =?utf-8?B?eWRsUHJnSGl5YnJnNmVKbkloeTBLamN1eHpiZXhGbGNza3VjSjQxY1dUVkh1?= =?utf-8?B?eDhkKzdZdnd2bU8rR1ByVVV6NXB4TnZRVlUrYk1KRmpJT0FPK3VxUnE2NWNP?= =?utf-8?B?K0wrUlhuOHlTdlNjV1l5RzkwYmdPcVk4K3M0dGZ3dkxFT0RYK0tYaStXVmhW?= =?utf-8?B?b2U1Y3c2cDRmQnNmdUViUFBlRlZxK2lETFlEcVJ2YUpFN3dISFhSY1MrbE9G?= =?utf-8?B?MVZreWZqNlhIK1RCZTZvRi9Pd0JEdHlCQjd6cVU5STJGbHlSSE4rVkJsNzZG?= =?utf-8?B?TkIvbTdybHJveUFiZmNmTW5qTTAvbi91NVU4alQrTi9aL0pUWkIrZE94NTBD?= =?utf-8?Q?r2TcAmXmOLx1vgPcIkIvd6K70ZUW5hkiOZxiNqq6lWry?= Content-Type: text/plain; charset="utf-8" Content-ID: <1D1549E38D8C9144908B1FDA8D16B011@FRAP264.PROD.OUTLOOK.COM> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MR1P264MB2481.FRAP264.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: 0fb67ecf-e3cd-46dc-58b1-08da9b22eacc X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Sep 2022 16:12:29.6331 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: ee11ccf7-112c-4284-848b-f229745e715b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: pbXkG16rAD7LIrlY+bgQulSssXzNnBRrRcLCUKjVueW3fPU9JL++Ncxfy8SNwttMuPcpIQrOdmCYjroAXvTrVedaNGB0TOGrjCBDaqXLVDY5ux3RnMFSvg5D/yuD7hCI X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR0P264MB1706 X-OriginatorOrg: groupe-cyllene.com X-SPAM-LEVEL: Spam detection results: 0 AWL -0.181 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from domain POISEN_SPAM_PILL 0.1 Meta: its spam POISEN_SPAM_PILL_1 0.1 random spam to be learned in bayes POISEN_SPAM_PILL_3 0.1 random spam to be learned in bayes SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record URIBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [hardware.pm, groupecyllene.onmicrosoft.com, rpcenvironment.pm, mapping.pm, cluster.pm, groupe-cyllene.com, hardwaremap.pm] Subject: Re: [pve-devel] [PATCH many v3] add cluster-wide hardware device mapping X-BeenThere: pve-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox VE development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 20 Sep 2022 16:13:10 -0000 SGkgRG9taW5paywNCg0KSSB3aWxsIHRyeSB0byB0ZXN0IGl0IHRoaXMgd2Vlay4NCg0KTGUgbWFy ZGkgMjAgc2VwdGVtYnJlIDIwMjIgw6AgMTQ6NTAgKzAyMDAsIERvbWluaWsgQ3NhcGFrIGEgw6lj cml0wqA6DQo+IHRoaXMgc2VyaWVzIGFpbXMgdG8gYWRkIGEgY2x1c3Rlci13aWRlIGRldmljZSBt YXBwaW5nIGZvciBwY2kgYW5kIHVzYg0KPiBkZXZpY2VzLg0KPiBzbyB0aGF0IGFuIGFkbWluIGNh biBjb25maWd1cmUgYSBkZXZpY2UgdG8gYmUgYXZhaWxibGUgZm9yIG1pZ3JhdGlvbg0KPiBhbmQN Cj4gY29uZmlndXJpbmcgZm9yIHVzZXMgdGhhdCBhcmUgbm9uLXJvb3QNCj4gDQo+IHRoaXMgdmVy c2lvbiBpcyBtb3N0bHkgdGhlIHNhbWUgYXMgdjIsIGFzaWRlIGZyb20gc29tZSBidWdmaXhlcywN Cj4gcmViYXNlDQo+IGFuZCBwcmV2ZW50aW5nIGZyb20gaGF2aW5nIG1kZXY6IDEgc2V0IGZvciBt dWx0aWZ1bmN0aW9uIGRldmljZXMuDQo+IGkgd291bGQgYXBwcmVjaWF0ZSBpZiBzb21lYm9keSBj b3VsZCB0YWtlIGEgbG9vayBhdCB0aGlzIHNlcmllcw0KPiBhZ2FpbiA7KSAoYmVsb3cgaXMgdGhl IG9sZCBjb3ZlciBsZXR0ZXIgKyBjaGFuZ2Vsb2cpDQo+IA0KPiBidWlsdC1pbiBhcmUgc29tZSBh ZGRpdGlvbmFsIHNhZmV0eSBjaGVja3MgaW4gY29udHJhc3QgdG8gY3VycmVudA0KPiBwYXNzdGhy b3VnaCwgZS5nLiBpZiBwY2kgYWRkcmVzc2VzIHNoaWZ0LCB3aXRoIHRoZSBtYXBwaW5nDQo+IHdl IGNhbiBkZXRlY3QgdGhhdCBhbmQgcHJldmVudCBhIHZtIHRvIGJvb3Qgd2l0aCB0aGUgd3Jvbmcg ZGV2aWNlDQo+IChpbiBtb3N0IGNhc2VzLCB0aGVyZSBhcmUgc29tZSBlZGdlIGNhc2VzIHdoZW4g b25lIGhhcyBtdWx0aXBsZQ0KPiBvZiB0aGUgc2FtZSBkZXZpY2UsIGUuZy4gdGhlIHNhbWUgZ3B1 LCB0aGF0IHdlIGNhbm5vdCBkZXRlY3QpDQo+IA0KPiBuZXcgaW4gdGhpcyB2ZXJzaW9uIGlzIHRo ZSBhYmlsaXR5IHRvIHNwZWNpZnkgbXVsdGlwbGUgZGV2aWNlcyBmb3INCj4gZWFjaCBob3N0IG1h cHBpbmcsIHN1Y2ggdGhhdCB3ZSBjYW4gc2VsZWN0IHRoZSBmaXJzdCBmcmVlIG9uZSBvbg0KPiBz dGFydGluZyB0aGUgdm0gKHRoaXMgZml4ZXMgIzM1NzQpLiBUaGF0IG1ha2VzIHVzaW5nIHZHUFVz IGFuZCBTUi1JT1YNCj4gbXVjaCBtb3JlIHVzZWZ1bCBhcyBhIHVzZXIgZG9lcyBub3QgaGF2ZSB0 byBoYXJkY29kZSB0aGUgcGNpIGlkcw0KPiBhbnltb3JlDQo+IA0KPiBpIGxlZnQgdGhhdCBmZWF0 dXJlIHNlcGVyYXRlZCBpbiBhIHBhdGNoIGZvciBwdmUtY29tbW9uKDMvMykgYW5kIGluDQo+IHFl bXUtc2VydmVyICh7MTIsMTN9LzEzKSBpbiB0aGUgYmFja2VuZCBmb3IgZWFzaWVyIHJldmlldywg YnV0IGRpZA0KPiBub3QgYm90aGVyDQo+IHRvIGRvIGl0IGZvciB0aGUgZ3VpIChpZiB3ZSByZWFs bHkgZG9uJ3Qgd2FudCBpdCwgaSBjYW4ganVzdCBzZW5kIGENCj4gZGlmZmVyZW50DQo+IHZlcnNp b24gZm9yIHRoZSB1aSkNCj4gDQo+IGFsc28gcHZlLWNvbW1vbiAxLzMgYW5kIHFlbXUtc2VydmVy IDEtNC8xMyBhcmUgZ2VuZXJhbCBjbGVhbnVwcyB0aGF0DQo+IHdvdWxkIGV2ZW4gbWFrZSBzZW5z ZSB3aXRob3V0IHRoZSByZW1haW5pbmcgcGF0Y2hlcw0KPiAocWVtdS1zZXJ2ZXIgMS8xMyBkZXBl bmRzIG9uIHB2ZS1jb21tb24gMS8zKQ0KPiANCj4gY2hhbmdlcyBmcm9tIHYyOg0KPiAqIHNvbWUg YnVnIGZpeGVzIChlLmcgdXNlIG9mIHVuaXRpYWxpemVkIHZhcmlhYmxlKQ0KPiAqIGRvbid0IHNl dCBtZGV2IGZvciBtdWx0aWZ1bmN0aW9uIGRldmljZXMNCj4gwqAgLT4gdGhpcyBzaG91bGQgZml4 IGFsZXhhbmRyZXMgaXNzdWUsIHNpbmNlIGl0J3Mgbm90IHBvc3NpYmxlDQo+IGFueW1vcmUNCj4g wqAgdG8gc2VsZWN0IGEgbWVkaWF0ZWQgZGV2aWNlIHdoZW4gaGF2aW5nIGEgbXVsdGlmdW5jdGlv biBkZXZpY2UNCj4gwqAgc2VsZWN0ZWQNCj4gDQo+IGNoYW5nZXMgZnJvbSB2MToNCj4gKiBkcm9w cGVkICdjaGVja19od19wZXJtJyAoanVzdCB1c2UgJ2NoZWNrX2Z1bGwnIG5vdykNCj4gKiBhZGRl ZCBzb21lIGNsZWFudXBzDQo+ICogcmVuYW1lZCB0aGUgYnV0dG9ucyBpbiB0aGUgdWkgKGhvcGVm dWxseSBiZXR0ZXIgbm93KQ0KPiAqIGFkZGVkIG11bHRpIGRldmljZSBtYXBwaW5nIGZvciBlYWNo IGhvc3QNCj4gwqAgdGhpcyBpbmNsdWRlcyBhIG5ldyAnbXVsdGkgcGNpJyBzZWxlY3RvciBmb3Ig dGhhdCB3aW5kb3csIHdoaWNoDQo+IMKgIGF1dG9tYXRpY2FsbHkgYWRkcyBlbnRyaWVzIGZvciB0 aGUgd2hvbGUgc2xvdHMgd2hpY2gsIHdoZW4NCj4gc2VsZWN0ZWQsDQo+IMKgIGRpc2FibGVkIHRo ZSBzZWxlY3Rpb24gb2YgdGhlIGluZGl2aWR1YWwgZnVuY3Rpb25zDQo+ICogZml4ZWQgc29tZSBp c3N1ZXMgKGUuZy4gbWlzc2luZyBlbnRyaWVzIGluIHRoZSAnY2Fwcycgb2JqZWN0LCB3cm9uZw0K PiDCoCB1c2IgY29uZmlnIHBhcnNpbmcsIGV0Yy4pDQo+IA0KPiBjaGFuZ2VzIGZyb20gdGhlIHJm YzoNCj4gKiBuZXcgY2x1c3RlciB3aWRlIGd1aSBpbnN0ZWFkIG9mIG5vZGUtbG9jYWwgb25lIChy ZW1vdmVkIHRoYXQsIHNpbmNlDQo+IMKgIGl0J3Mgbm90IG5lY2Vzc2FyeSB3aGVuIHdlIGhhdmUg YSBjbHVzdGVyLXdpZGUgb25lKQ0KPiAqIHVzZXMganNvbiBpbnN0ZWFkIG9mIGEgc2VjdGlvbiBj b25maWcNCj4gKiBhcGkgaXMgcXVpdGUgZGlmZmVyZW50IG92ZXJhbGwsIGkgc3BsaXQgdGhlIHR5 cGUgaW50byBpdHMgb3duIGxldmVsDQo+IMKgIGZvciBjb25maWd1cmluZywgc2ltaWxhciB0byB3 aGF0IHdlIGRvIGluIHBicw0KPiDCoCAoZS5nLiAvbm9kZXMvTk9ERU5BTUUvaGFyZHdhcmUvbWFw cGluZy91c2IvKQ0KPiAqIGZpeGVkIHF1aXRlIHNvbWUgYnVncyB0aGUgcmZjIGhhZA0KPiAqIGFk ZGVkIHBhdGNoIGZvciBoYW5kbGluZyB0aGUgZ3VpIHdpdGggbGltaXRlZCBwZXJtaXNzaW9ucyBi ZXR0ZXINCj4gKiBhZGRlZCBhICdjb21tZW50JyBmaWVsZCBmb3IgbWFwcGluZ3MNCj4gDQo+IGRl cGVuZGVuY2llczoNCj4gwqDCoMKgIHB2ZS1jb21tb24gKDEpIGJyZWFrcyBjdXJyZW50IHFlbXUt c2VydmVyDQo+IMKgwqDCoCBwdmUtY29tbW9uICgyLDMpIGRlcGVuZHMgb24gcHZlLWNsdXN0ZXIN Cj4gwqDCoMKgIHFlbXUtc2VydmVyICgxLTQpIGRlcGVuZHMgb24gcHZlLWNvbW1vbiAoMSkNCj4g wqDCoMKgIHFlbXUtc2VydmVyICg1LTExKSBkZXBlbmRzIG9uIHFlbXUtc2VydmVyKDw1KSwgcHZl LWFjY2Vzcy0NCj4gY29udHJvbCxwdmUtY29tbW9uICgyKQ0KPiDCoMKgwqAgcWVtdS1zZXJ2ZXIg KDEyLDEzKSBkZXBlbmRzIG9uIHFlbXUtc2VydmVyKDwxMiksIHB2ZS1jb21tb24gKDMpDQo+IMKg wqDCoCBtYW5hZ2VyIGRlcGVuZHMgb24gcWVtdS1zZXJ2ZXIscHZlLWFjY2Vzcy1jb250cm9sLHB2 ZS1jb21tb24NCj4gDQo+IHB2ZS1jbHVzdGVyOg0KPiANCj4gRG9taW5payBDc2FwYWsgKDEpOg0K PiDCoCBhZGQgbm9kZXMvaGFyZHdhcmUtbWFwLmNvbmYNCj4gDQo+IMKgZGF0YS9QVkUvQ2x1c3Rl ci5wbSB8IDEgKw0KPiDCoGRhdGEvc3JjL3N0YXR1cy5jwqDCoCB8IDEgKw0KPiDCoDIgZmlsZXMg Y2hhbmdlZCwgMiBpbnNlcnRpb25zKCspDQo+IA0KPiBwdmUtYWNjZXNzLWNvbnRyb2w6DQo+IA0K PiBEb21pbmlrIENzYXBhayAoMSk6DQo+IMKgIFBWRS9BY2Nlc3NDb250cm9sOiBhZGQgSGFyZHdh cmUuKiBwcml2aWxlZ2VzIGFuZCAvaGFyZHdhcmUvIHBhdGhzDQo+IA0KPiDCoHNyYy9QVkUvQWNj ZXNzQ29udHJvbC5wbcKgIHwgMTMgKysrKysrKysrKysrKw0KPiDCoHNyYy9QVkUvUlBDRW52aXJv bm1lbnQucG0gfMKgIDMgKystDQo+IMKgMiBmaWxlcyBjaGFuZ2VkLCAxNSBpbnNlcnRpb25zKCsp LCAxIGRlbGV0aW9uKC0pDQo+IA0KPiBwdmUtY29tbW9uOg0KPiANCj4gRG9taW5payBDc2FwYWsg KDMpOg0KPiDCoCBTeXNGU1Rvb2xzOiBtYWtlIG1kZXYgY2xlYW51cCBpbmRlcGVuZGVudCBvZiBw Y2lpZA0KPiDCoCBhZGQgUFZFL0hhcmR3YXJlTWFwDQo+IMKgIEhhcmR3YXJlTWFwOiBhZGQgc3Vw cG9ydCBmb3IgbXVsdGlwbGUgcGNpIGRldmljZSBwYXRocyBwZXIgbWFwcGluZw0KPiANCj4gwqBz cmMvTWFrZWZpbGXCoMKgwqDCoMKgwqDCoMKgwqDCoCB8wqDCoCAxICsNCj4gwqBzcmMvUFZFL0hh cmR3YXJlTWFwLnBtIHwgMzc4DQo+ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrDQo+IMKgc3JjL1BWRS9TeXNGU1Rvb2xzLnBtwqAgfMKgwqAgNiArLQ0KPiDCoDMgZmls ZXMgY2hhbmdlZCwgMzgxIGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pDQo+IMKgY3JlYXRl IG1vZGUgMTAwNjQ0IHNyYy9QVkUvSGFyZHdhcmVNYXAucG0NCj4gDQo+IHFlbXUtc2VydmVyOg0K PiANCj4gRG9taW5payBDc2FwYWsgKDEzKToNCj4gwqAgY2xlYW51cCBwY2kgZGV2aWNlcyBpbiBt b3JlIHNpdHVhdGlvbnMNCj4gwqAgUENJOiBtYWtlIG1lZGlhdGVkIGRldmljZSBwYXRoIGluZGVw ZW5kZW50IG9mIHBjaSBpZA0KPiDCoCBQQ0k6IHJlZmFjdG9yIHByaW50X3BjaV9kZXZpY2UNCj4g wqAgUENJOiByZXVzZSBwYXJzZWQgaW5mbyBmcm9tIHByaW50X2hvc3RwY2lfZGV2aWNlcw0KPiDC oCBQVkUvUWVtdVNlcnZlcjogYWxsb3cgbWFwcGVkIHVzYiBkZXZpY2VzIGluIGNvbmZpZw0KPiDC oCBQVkUvUWVtdVNlcnZlcjogYWxsb3cgbWFwcGVkIHBjaSBkZXZpY2VkIGluIGNvbmZpZw0KPiDC oCBQVkUvQVBJMi9RZW11OiBhZGQgcGVybWlzc2lvbiBjaGVja3MgZm9yIG1hcHBlZCB1c2IgZGV2 aWNlcw0KPiDCoCBQVkUvQVBJMi9RZW11OiBhZGQgcGVybWlzc2lvbiBjaGVja3MgZm9yIG1hcHBl ZCBwY2kgZGV2aWNlcw0KPiDCoCBQVkUvUWVtdVNlcnZlcjogZXh0ZW5kICdjaGVja19sb2NhbF9y ZXNvdXJjZXMnIGZvciBtYXBwZWQgcmVzb3VyY2VzDQo+IMKgIFBWRS9BUEkyL1FlbXU6IG1pZ3Jh dGUgcHJlY29uZGl0aW9uczogdXNlIG5ldyBjaGVja19sb2NhbF9yZXNvdXJjZXMNCj4gwqDCoMKg IGluZm8NCj4gwqAgUFZFL1FlbXVNaWdyYXRlOiBjaGVjayBmb3IgbWFwcGVkIHJlc291cmNlcyBv biBtaWdyYXRpb24NCj4gwqAgZml4ICMzNTc0OiBlbmFibGUgbXVsdGkgcGNpIGRldmljZSBtYXBw aW5nIGZyb20gY29uZmlnDQo+IMKgIGFkZCB0ZXN0cyBmb3IgbWFwcGVkIHBjaSBkZXZpY2VzDQo+ IA0KPiDCoFBWRS9BUEkyL1FlbXUucG3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgMTA5ICsrKysrKysrKysrLS0NCj4gwqBQVkUvUWVt dU1pZ3JhdGUucG3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgfMKgIDEzICstDQo+IMKgUFZFL1FlbXVTZXJ2ZXIucG3CoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDEzNyArKysrKysrKysr Ky0tLS0tDQo+IMKgUFZFL1FlbXVTZXJ2ZXIvUENJLnBtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgMTQ5ICsrKysrKysrKysrKystLS0NCj4gLS0NCj4g wqBQVkUvUWVtdVNlcnZlci9VU0IucG3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqAgfMKgIDIxICsrLQ0KPiDCoHRlc3QvTWlncmF0aW9uVGVzdC9TaGFyZWQu cG3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHzCoMKgIDcgKw0KPiDCoHRlc3Qv Y2ZnMmNtZC9xMzUtbGludXgtaG9zdHBjaS1tYXBwaW5nLmNvbmbCoMKgIHzCoCAxNyArKw0KPiDC oC4uLi9xMzUtbGludXgtaG9zdHBjaS1tYXBwaW5nLmNvbmYuY21kwqDCoMKgwqDCoMKgwqAgfMKg IDM2ICsrKysrDQo+IMKgdGVzdC9ydW5fY29uZmlnMmNvbW1hbmRfdGVzdHMucGzCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCB8wqAgNzYgKysrKysrKysrDQo+IMKgOSBmaWxlcyBjaGFuZ2VkLCA0 NzMgaW5zZXJ0aW9ucygrKSwgOTIgZGVsZXRpb25zKC0pDQo+IMKgY3JlYXRlIG1vZGUgMTAwNjQ0 IHRlc3QvY2ZnMmNtZC9xMzUtbGludXgtaG9zdHBjaS1tYXBwaW5nLmNvbmYNCj4gwqBjcmVhdGUg bW9kZSAxMDA2NDQgdGVzdC9jZmcyY21kL3EzNS1saW51eC1ob3N0cGNpLW1hcHBpbmcuY29uZi5j bWQNCj4gDQo+IHB2ZS1tYW5hZ2VyOg0KPiANCj4gRG9taW5payBDc2FwYWsgKDEzKToNCj4gwqAg UFZFL0FQSTIvSGFyZHdhcmU6IGFkZCBNYXBwaW5nLnBtDQo+IMKgIFBWRS9BUEkyL0NsdXN0ZXI6 IGFkZCBIYXJkd2FyZSBtYXBwaW5nIGxpc3QgYXBpIGNhbGwNCj4gwqAgdWk6IGZvcm0vVVNCU2Vs ZWN0b3I6IG1ha2UgaXQgbW9yZSBmbGV4aWJsZSB3aXRoIG5vZGVuYW1lDQo+IMKgIHVpOiBmb3Jt OiBhZGQgUENJTWFwU2VsZWN0b3INCj4gwqAgdWk6IGZvcm06IGFkZCBVU0JNYXBTZWxlY3Rvcg0K PiDCoCB1aTogcWVtdS9QQ0lFZGl0OiByZXdvcmsgcGFuZWwgdG8gYWRkIGEgbWFwcGVkIGNvbmZp Z3VyYXRpb24NCj4gwqAgdWk6IHFlbXUvVVNCRWRpdDogYWRkICdtYXBwZWQnIGRldmljZSBjYXNl DQo+IMKgIHVpOiBmb3JtOiBhZGQgTXVsdGlQQ0lTZWxlY3Rvcg0KPiDCoCB1aTogYWRkIHdpbmRv dy9QQ0lFZGl0OiBlZGl0IHdpbmRvdyBmb3IgcGNpIG1hcHBpbmdzDQo+IMKgIHVpOiBhZGQgd2lu ZG93L1VTQkVkaXQ6IGVkaXQgd2luZG93IGZvciB1c2IgbWFwcGluZ3MNCj4gwqAgdWk6IGFkZCBk Yy9IYXJkd2FyZVZpZXc6IGEgQ1JVRCBpbnRlcmZhY2UgZm9yIGhhcmR3YXJlIG1hcHBpbmcNCj4g wqAgdWk6IHdpbmRvdy9NaWdyYXRlOiBhbGxvdyBtYXBwZWQgZGV2aWNlcw0KPiDCoCB1aTogaW1w cm92ZSBwZXJtaXNzaW9uIGhhbmRsaW5nIGZvciBoYXJkd2FyZQ0KPiANCj4gwqBQVkUvQVBJMi9D bHVzdGVyLnBtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHzCoMKgIDggKw0K PiDCoFBWRS9BUEkyL0NsdXN0ZXIvSGFyZHdhcmUucG3CoMKgwqDCoMKgwqDCoMKgwqAgfCAxMTcg KysrKysNCj4gwqBQVkUvQVBJMi9DbHVzdGVyL01ha2VmaWxlwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIHzCoMKgIDEgKw0KPiDCoFBWRS9BUEkyL0hhcmR3YXJlLnBtwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCB8wqDCoCA2ICsNCj4gwqBQVkUvQVBJMi9IYXJkd2FyZS9NYWtlZmls ZcKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfMKgwqAgMSArDQo+IMKgUFZFL0FQSTIvSGFyZHdhcmUv TWFwcGluZy5wbcKgwqDCoMKgwqDCoMKgwqDCoCB8IDcwOA0KPiArKysrKysrKysrKysrKysrKysr KysrKysrKw0KPiDCoHd3dy9jc3MvZXh0Ni1wdmUuY3NzwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCB8wqDCoCA0ICsNCj4gwqB3d3cvbWFuYWdlcjYvTWFrZWZpbGXCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8wqDCoCA2ICsNCj4gwqB3d3cvbWFuYWdlcjYvZGF0YS9Q ZXJtUGF0aFN0b3JlLmpzwqDCoMKgIHzCoMKgIDEgKw0KPiDCoHd3dy9tYW5hZ2VyNi9kYy9Db25m aWcuanPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfMKgIDE4ICstDQo+IMKgd3d3L21hbmFnZXI2 L2RjL0hhcmR3YXJlVmlldy5qc8KgwqDCoMKgwqDCoCB8IDMyNCArKysrKysrKysrKysNCj4gwqB3 d3cvbWFuYWdlcjYvZm9ybS9NdWx0aVBDSVNlbGVjdG9yLmpzIHwgMjg5ICsrKysrKysrKysrDQo+ IMKgd3d3L21hbmFnZXI2L2Zvcm0vUENJTWFwU2VsZWN0b3IuanPCoMKgIHwgMTAyICsrKysNCj4g wqB3d3cvbWFuYWdlcjYvZm9ybS9QQ0lTZWxlY3Rvci5qc8KgwqDCoMKgwqAgfMKgIDE4ICstDQo+ IMKgd3d3L21hbmFnZXI2L2Zvcm0vVVNCTWFwU2VsZWN0b3IuanPCoMKgIHzCoCA3MyArKysNCj4g wqB3d3cvbWFuYWdlcjYvZm9ybS9VU0JTZWxlY3Rvci5qc8KgwqDCoMKgwqAgfMKgIDMzICstDQo+ IMKgd3d3L21hbmFnZXI2L3FlbXUvSGFyZHdhcmVWaWV3LmpzwqDCoMKgwqAgfMKgIDE3ICstDQo+ IMKgd3d3L21hbmFnZXI2L3FlbXUvUENJRWRpdC5qc8KgwqDCoMKgwqDCoMKgwqDCoCB8IDMxNCAr KysrKysrKy0tLS0NCj4gwqB3d3cvbWFuYWdlcjYvcWVtdS9VU0JFZGl0LmpzwqDCoMKgwqDCoMKg wqDCoMKgIHzCoCAzNiArLQ0KPiDCoHd3dy9tYW5hZ2VyNi93aW5kb3cvTWlncmF0ZS5qc8KgwqDC oMKgwqDCoMKgIHzCoCAzNyArLQ0KPiDCoHd3dy9tYW5hZ2VyNi93aW5kb3cvUENJRWRpdC5qc8Kg wqDCoMKgwqDCoMKgIHwgMjgzICsrKysrKysrKysNCj4gwqB3d3cvbWFuYWdlcjYvd2luZG93L1VT QkVkaXQuanPCoMKgwqDCoMKgwqDCoCB8IDI0OCArKysrKysrKysNCj4gwqAyMiBmaWxlcyBjaGFu Z2VkLCAyNTEzIGluc2VydGlvbnMoKyksIDEzMSBkZWxldGlvbnMoLSkNCj4gwqBjcmVhdGUgbW9k ZSAxMDA2NDQgUFZFL0FQSTIvQ2x1c3Rlci9IYXJkd2FyZS5wbQ0KPiDCoGNyZWF0ZSBtb2RlIDEw MDY0NCBQVkUvQVBJMi9IYXJkd2FyZS9NYXBwaW5nLnBtDQo+IMKgY3JlYXRlIG1vZGUgMTAwNjQ0 IHd3dy9tYW5hZ2VyNi9kYy9IYXJkd2FyZVZpZXcuanMNCj4gwqBjcmVhdGUgbW9kZSAxMDA2NDQg d3d3L21hbmFnZXI2L2Zvcm0vTXVsdGlQQ0lTZWxlY3Rvci5qcw0KPiDCoGNyZWF0ZSBtb2RlIDEw MDY0NCB3d3cvbWFuYWdlcjYvZm9ybS9QQ0lNYXBTZWxlY3Rvci5qcw0KPiDCoGNyZWF0ZSBtb2Rl IDEwMDY0NCB3d3cvbWFuYWdlcjYvZm9ybS9VU0JNYXBTZWxlY3Rvci5qcw0KPiDCoGNyZWF0ZSBt b2RlIDEwMDY0NCB3d3cvbWFuYWdlcjYvd2luZG93L1BDSUVkaXQuanMNCj4gwqBjcmVhdGUgbW9k ZSAxMDA2NDQgd3d3L21hbmFnZXI2L3dpbmRvdy9VU0JFZGl0LmpzDQo+IA0KDQo=