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 5B005A0C4D; Wed, 13 Oct 2021 10:36:20 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 179434116C; Wed, 13 Oct 2021 10:36:20 +0200 (CEST) Received: from AZHDRRW-EX02.NVIDIA.COM (azhdrrw-ex02.nvidia.com [20.64.145.131]) by mails.dpdk.org (Postfix) with ESMTP id 30A0541162 for ; Wed, 13 Oct 2021 10:36:18 +0200 (CEST) Received: from NAM12-DM6-obe.outbound.protection.outlook.com (104.47.59.175) by mxs.oss.nvidia.com (10.13.234.37) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.858.15; Wed, 13 Oct 2021 01:36:17 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Tqu3U3OUs64aMUYQoUgqR+sIuZy4zK8CEyADR8eOm9inu78bdg3RPPidDwAP6JKaSMl+vGrLF0uPZTab0bmZII5CqHn1jZ/WvUgMaVn2907OCMEdfjqBxS+U0H4K1xNA+jMPelCSgAYtHH0+Ut3AYQoUXvm1FW445+TWwgrGiPb8qtUiKUMr2hYwSJwqouC7sFglEDD+5FeU93lCiwwb+OrOcnLL5NRSFAp2DgoPJMcvrrnMtudTfWidfyP2LsROiOHIkAkHY6Se22z7DIhyEJWRjUufXkVoMB8kIC1wzHzjEu+yUEZkRUQ8okzDh870f8DkDg03DwZTK5mY1oBJ0A== 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=7A9m43jzl/3WF8LKDFcDR87f8VLGSTxq59ZsNCeapMk=; b=RbC+rZ4xKRydMm8hf6KayjDzspJlfmDnHQa7DUFHBEIlrv9lf1F20S+eh1ovCqpR0XjZLuaCjD18qbhTM8mccupqHvomiKZUOTSDCy5GuT4mkg2ww4bgqibMyZJ0IDmm/zypfI9HgBckeMN5CKMCjMaqBnI056EFJIDUuyerlmidylJksMFToffB7vBzlK6LGfoC6YWFemO1yspHdCj3uAyut1AZmZxG8STjTadHStfB+eVj6nwoob+NiT7on8dtq5HKuqEFQqwvaj9q8NuargCcMywTsgGYBghgTvvNgaHs6jj9e+7z/aGs/Y9RyPxLaTXLJaJmlKg/ztddnmjV6w== 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=7A9m43jzl/3WF8LKDFcDR87f8VLGSTxq59ZsNCeapMk=; b=Ndo4NPfOpnlnaysY74usVe1eSRXssLlGOTrGGJo4UDLumgTEgzMfR6Vx2ZRWMgB8sufPqmvFagXhPTwGRYKqFcWE4z8hvY0AA0YJb5clFnnaNtmi9xipgnGbMHEWcyDtBrCKQBe3/C6CLyqGlv1L15By5hySvfKm78iWGOkjm6ZBgABpW6rjSeTlgI6OdbBR+oYS6UWDlpIMG9OK2UO4ln81YkShT95MVl4vKwVkGJom721Ef4zfVWXE970UENxZIqGu1pyl8RlEBLvjaSlgO7KWQjFQ51HT775NKlCXQ62BrDFY6Z/mac8SsAwy93Q+cae60yyvMiYda6D9n9U7TA== Received: from CH0PR12MB5091.namprd12.prod.outlook.com (2603:10b6:610:be::10) by CH0PR12MB5297.namprd12.prod.outlook.com (2603:10b6:610:d4::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4587.18; Wed, 13 Oct 2021 08:36:15 +0000 Received: from CH0PR12MB5091.namprd12.prod.outlook.com ([fe80::59bf:640f:7140:ab97]) by CH0PR12MB5091.namprd12.prod.outlook.com ([fe80::59bf:640f:7140:ab97%9]) with mapi id 15.20.4587.026; Wed, 13 Oct 2021 08:36:15 +0000 From: Dmitry Kozlyuk To: Andrew Rybchenko , Ori Kam , Ajit Khaparde CC: dpdk-dev , Matan Azrad , NBU-Contact-Thomas Monjalon , Ferruh Yigit Thread-Topic: [dpdk-dev] [RFC PATCH 2/2] ethdev: add capability to keep indirect actions on restart Thread-Index: AQHXnw8oaYMqdVloEEKucGaP1IaLuqvGbKGAgAD1kXCABq/KAIAAIByAgAEjKICAABP+AIAAA/UAgAAEA6A= Date: Wed, 13 Oct 2021 08:36:15 +0000 Message-ID: References: <20210901085516.3647814-1-dkozlyuk@nvidia.com> <20210901085516.3647814-3-dkozlyuk@nvidia.com> <5b4d7e66-80f3-8099-2a81-ea6e20ec70ba@oktetlabs.ru> <28f4a819-a9c7-e363-991b-b78f89fcf162@oktetlabs.ru> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: oktetlabs.ru; dkim=none (message not signed) header.d=none;oktetlabs.ru; dmarc=none action=none header.from=nvidia.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 357dd452-573d-4524-7734-08d98e24857c x-ms-traffictypediagnostic: CH0PR12MB5297: x-ld-processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: YtFKQssSt4irJFx5qM9jlZmi444/HtzXhWYJEzGX58k2k3BW+y6Bq55L16ma9leunnqwnKZ75HejAr8GuMW5aOKHBahsWLGPh1m/2xdk789K7/8TmV3FG64obbBa0FRWZzYD8e8K4bR4moSR4oGiCt/I3hNQwdIXxn7DCMADDWr+bJb9zdTZXMfMLl0JGdnNWtSRRRKvVQtp9TG4wv2YqIF4ojNgs6Rg0YatUOXssoXYxgpmCOmfzt9JhXEBoL5gmz0U5VLIXVo0LDzQSo6ZYMvVPSzdb/xOqi44CZKttgzQqljYaxOzCWfZBCNrZU/z+q8kU/mw80wpf7Y7pd85OveugS0iFbLTBzAN/LDHvqJbpSxHDmpM09DrBVYGQjzo16A5aFxmXeph+yuLcQuGyIaL74oYHYJnA6fZgzyI6ZeXc/aStmPXGD035JA5U9FxO0j0lNGBHPW/v76J4e1ASJFm10u8NIedZ/HFVU316O7jXXw9LtkQzomXL8hurQwl5QWBmpSwY5GnjMlFlQK5uX1m9QfV5dJo2odmjaSdda4inx9OCSVf5cBx+ohPoXJ+x31Hjw85z8qjCwe29u+ZMXsVkwCGtUiEgIt5Bqs2V0onLOHbZSYYChM7QXe9S0qJOctQVTuRtzh8UCPaueQfjgw9nPE7OCPPKWhW0jaGTRbFPbf6+Euc4Z8lUQNqgPJsczsr2KtcRUBRk/IYy4JMPqozhW4ejibmP0iQv59Ws4btIJ4LUWKCSycV6l/74jbsISehptSspu16IJYMQElITy99tAFIeG6xiW3V1s+M8wE= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CH0PR12MB5091.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(76116006)(186003)(52536014)(6506007)(71200400001)(66946007)(64756008)(53546011)(55016002)(66476007)(66446008)(8676002)(9686003)(7696005)(122000001)(110136005)(38100700002)(26005)(66556008)(8936002)(316002)(83380400001)(508600001)(4326008)(45080400002)(54906003)(38070700005)(107886003)(86362001)(2906002)(5660300002)(966005)(33656002); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?NlhpVWs5VElMcloxZGhEMWVuNHRsUVNPbzNrTzdWMzFuSlNZRUxwTUxaellt?= =?utf-8?B?UHVYVmsreklmNGE5SmU1anltWk1xTmFOdk14bjViSERwUnZUV081dzFKNGJL?= =?utf-8?B?cmZVdUFCWnQxRzYxN0sxM1ZxY2ZubU80OFZKSFFaQk15cUgxbVNoV1BtMkg0?= =?utf-8?B?QUtROG56QlJqZWg3d0JLbGZ2aTlDZXpwZzhlblRFbE1PcUNlcFdoOFA1cFdo?= =?utf-8?B?NWZVWWxiTTZmU09zT2JPR2tiY3laWnJtYWs4MTZwVDlDNmNEcWpaRVQrRklq?= =?utf-8?B?N1l6T3ZUUTBhOFdIS2ZPTDFoZExVaG1HQjBHaDVqcFY0TmdRN0EyNzBlV3RT?= =?utf-8?B?WDVzM3VFbjJlS0JaNHRjeDhwdHdaanFob3c4T3NXVUsxQlVZemFld2hDK0Rj?= =?utf-8?B?by9KaVlRM00yb0c0RGd4Rkc2QytCN1Nka3JBSkljNlpieDlyTS9YOC83ZVRZ?= =?utf-8?B?Q3B5RDdrR2ZpNFZxeGV5OHFRbHJTb3k1MXRMWTlRQmQzdXAwcmRpZG1kMUFo?= =?utf-8?B?MnhoZXMxK1FtUXFNZWJhVEZSc3F4VnF1T0QvemExSlRIcXZuSkFBOTBQOFIr?= =?utf-8?B?WDY1cklJaEVJdHphRUNQT3JhYyswcGsvYWlNWmViNjdzYzBkazN2SDV2OXFW?= =?utf-8?B?WHdUcUZSRXlxKzhGVnBVRFA5ZFJSSkd0UGdTSFdKQUQ1UnlwMzFDazRCZDZV?= =?utf-8?B?LzRNWnpjNHBIOC9sdlNDcTRlTWo3VHlpYUhkVTZwQzlRUk51L3prWGMwWHh0?= =?utf-8?B?RWtvRUVOMWE4aDhkY2k5NVFuY0pWS1EyUlA2dFk5YTlrL2dualNKSkZLVnJm?= =?utf-8?B?K1RlVFVqRnBlMGJTbk5kbzJRUnZZeDd4U1ZJM1R5czIrTEJScHNJSUE4YklK?= =?utf-8?B?N0R5RFI1RVpqdFp4L0Z4U2Vmemt3dUtBS1kza1BzWXlyZFk2UXJMaHFpdWJ5?= =?utf-8?B?MW9CbWhoYXp5bmtINGRPM0NHbWQvMEpCSXFoMGFVcDBQdUdjTDZJVUlWRFZY?= =?utf-8?B?WHVpTUNWT3krcFdkMFozaHlhdVB1Y1dhbzZaMmdzM3JMSUgyTk1qME9Hb3hI?= =?utf-8?B?SUsrbnRYSkdmWEdVVzlvSVozQ1hDNDUxbmhiak9GMHRYaENYVmtyQUxBT0JQ?= =?utf-8?B?NWdGcVNPcy9TUGdXUVcyeG9ma2VVK29SZVFXQUc0VC9CNXJzaEpDWXdaSXZu?= =?utf-8?B?UGhJYUh2ekdnUU9COXdPSzVYSTVlNE5wbUlHcWFsMnVZVnl3N2ViTHY4K0x3?= =?utf-8?B?RmhLSm1keWdYQW8zV1ovRVlFUGtnWVovNFdDb015SHo1U1phM0xrai91T3lU?= =?utf-8?B?WjJTTXQ2dzNjN0tlQWgyKzJSMXFFSkRyc3dUWDAvUDk4L3BvaHN0Qm44aWhO?= =?utf-8?B?N1NBNThSbTM3dWxuR2N0UnZTd1RsRFdKVDdoR2NLSG1IWHVRcVdGRUZpSTkv?= =?utf-8?B?dWlqV3YyNTcrVzNGUVF3dUxkZ0tKa2t0WEJyam5rRkYvcUZvNSt6WUlZeUJK?= =?utf-8?B?RnpYUzMwV2RqYkxCTWFrV0J3YnpjU0ZlL0loVkh5Mzg2aWVaMDRUMm9TL3Fx?= =?utf-8?B?ZEV4eUZGcGphd3RVa09zQWZqaW41SmpVdlQrQnVpN1pFY0phWE84MHBjRERE?= =?utf-8?B?dmM1cWJDN1lLQVB2a2JrU1c4RFBvYXRCTFR4REx1UzdJN09JTXMxNHNuaDZN?= =?utf-8?B?Ykt4a01MckZwRUVWSWhJR0p0amwvR3Bjc2UyVnhEek1CTVBqYTBscGJkdENm?= =?utf-8?Q?4I/qNiWQZm+KyGOPJ+Medi0TRinjdBpateZ8Iuv?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CH0PR12MB5091.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 357dd452-573d-4524-7734-08d98e24857c X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Oct 2021 08:36:15.8143 (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: Or6EpPbK7aRnLb+YkGv4v8w7HlN9y8YVtKECF4hQwTJqhQX2bUNr1Ybqk07BMV2TcIMtMfQE7OuYwS7azzs3/Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR12MB5297 Subject: Re: [dpdk-dev] [RFC PATCH 2/2] ethdev: add capability to keep indirect actions on restart 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 Sender: "dev" UGxlYXNlIGxldCdzIGNvbnRpbnVlIGluIHRoZSB0aHJlYWQgZm9yIHRoZSBsYXRlc3QgdmVyc2lv biBvZiB0aGUgcGF0Y2hlczoNCg0KaHR0cDovL2luYm94LmRwZGsub3JnL2Rldi9DSDBQUjEyTUI1 MDkxNzkyQTc3Q0JEMTUyOERCN0EwMDVCOUI3OUBDSDBQUjEyTUI1MDkxLm5hbXByZDEyLnByb2Qu b3V0bG9vay5jb20vDQoNClBsZWFzZSBzZWUgbXkgY29tbWVudHMgdGhlcmUuDQoNCj4gLS0tLS1P cmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogQW5kcmV3IFJ5YmNoZW5rbyA8YW5kcmV3LnJ5 YmNoZW5rb0Bva3RldGxhYnMucnU+DQo+IFNlbnQ6IDEyINC+0LrRgtGP0LHRgNGPIDIwMjEg0LMu IDEzOjQxDQo+IFRvOiBPcmkgS2FtIDxvcmlrYUBudmlkaWEuY29tPjsgRG1pdHJ5IEtvemx5dWsg PGRrb3pseXVrQG52aWRpYS5jb20+OyBBaml0DQo+IEtoYXBhcmRlIDxhaml0LmtoYXBhcmRlQGJy b2FkY29tLmNvbT4NCj4gQ2M6IGRwZGstZGV2IDxkZXZAZHBkay5vcmc+OyBNYXRhbiBBenJhZCA8 bWF0YW5AbnZpZGlhLmNvbT47IE5CVS0NCj4gQ29udGFjdC1UaG9tYXMgTW9uamFsb24gPHRob21h c0Btb25qYWxvbi5uZXQ+OyBGZXJydWggWWlnaXQNCj4gPGZlcnJ1aC55aWdpdEBpbnRlbC5jb20+ DQo+IFN1YmplY3Q6IFJlOiBbZHBkay1kZXZdIFtSRkMgUEFUQ0ggMi8yXSBldGhkZXY6IGFkZCBj YXBhYmlsaXR5IHRvIGtlZXAgaW5kaXJlY3QNCj4gYWN0aW9ucyBvbiByZXN0YXJ0DQo+IA0KPiBF eHRlcm5hbCBlbWFpbDogVXNlIGNhdXRpb24gb3BlbmluZyBsaW5rcyBvciBhdHRhY2htZW50cw0K PiANCj4gDQo+IE9uIDEwLzEyLzIxIDE6MjYgUE0sIE9yaSBLYW0gd3JvdGU6DQo+ID4gSGkNCj4g Pg0KPiA+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+PiBGcm9tOiBBbmRyZXcgUnli Y2hlbmtvIDxhbmRyZXcucnliY2hlbmtvQG9rdGV0bGFicy5ydT4NCj4gPj4gU2VudDogVHVlc2Rh eSwgT2N0b2JlciAxMiwgMjAyMSAxMjoxNSBQTQ0KPiA+PiBTdWJqZWN0OiBSZTogW2RwZGstZGV2 XSBbUkZDIFBBVENIIDIvMl0gZXRoZGV2OiBhZGQgY2FwYWJpbGl0eSB0bw0KPiA+PiBrZWVwIGlu ZGlyZWN0IGFjdGlvbnMgb24gcmVzdGFydA0KPiA+Pg0KPiA+PiBPbiAxMC8xMS8yMSA2OjUzIFBN LCBPcmkgS2FtIHdyb3RlOg0KPiA+Pj4gSGkgQW5kcmV3IGFuZCBBaml0LA0KPiA+Pj4NCj4gPj4+ PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+Pj4+IEZyb206IEFuZHJldyBSeWJjaGVu a28gPGFuZHJldy5yeWJjaGVua29Ab2t0ZXRsYWJzLnJ1Pg0KPiA+Pj4+IFNlbnQ6IE1vbmRheSwg T2N0b2JlciAxMSwgMjAyMSA0OjU4IFBNDQo+ID4+Pj4gU3ViamVjdDogUmU6IFtkcGRrLWRldl0g W1JGQyBQQVRDSCAyLzJdIGV0aGRldjogYWRkIGNhcGFiaWxpdHkgdG8NCj4gPj4+PiBrZWVwIGlu ZGlyZWN0IGFjdGlvbnMgb24gcmVzdGFydA0KPiA+Pj4+DQo+ID4+Pj4gT24gMTAvNy8yMSAxMTox NiBBTSwgRG1pdHJ5IEtvemx5dWsgd3JvdGU6DQo+ID4+Pj4+PiAtLS0tLU9yaWdpbmFsIE1lc3Nh Z2UtLS0tLQ0KPiA+Pj4+Pj4gRnJvbTogQWppdCBLaGFwYXJkZSA8YWppdC5raGFwYXJkZUBicm9h ZGNvbS5jb20+DQo+ID4+Pj4+PiBTZW50OiA2INC+0LrRgtGP0LHRgNGPIDIwMjEg0LMuIDIwOjEz DQo+ID4+Pj4+PiBUbzogRG1pdHJ5IEtvemx5dWsgPGRrb3pseXVrQG52aWRpYS5jb20+DQo+ID4+ Pj4+PiBDYzogZHBkay1kZXYgPGRldkBkcGRrLm9yZz47IE1hdGFuIEF6cmFkIDxtYXRhbkBudmlk aWEuY29tPjsgT3JpDQo+ID4+Pj4+PiBLYW0gPG9yaWthQG52aWRpYS5jb20+OyBOQlUtQ29udGFj dC1UaG9tYXMgTW9uamFsb24NCj4gPj4+Pj4+IDx0aG9tYXNAbW9uamFsb24ubmV0PjsgRmVycnVo IFlpZ2l0IDxmZXJydWgueWlnaXRAaW50ZWwuY29tPjsNCj4gPj4+Pj4+IEFuZHJldyBSeWJjaGVu a28gPGFuZHJldy5yeWJjaGVua29Ab2t0ZXRsYWJzLnJ1Pg0KPiA+Pj4+Pj4gU3ViamVjdDogUmU6 IFtkcGRrLWRldl0gW1JGQyBQQVRDSCAyLzJdIGV0aGRldjogYWRkIGNhcGFiaWxpdHkgdG8NCj4g Pj4+Pj4+IGtlZXAgaW5kaXJlY3QgYWN0aW9ucyBvbiByZXN0YXJ0DQo+ID4+Pj4+Pg0KPiA+Pj4+ Pj4gT24gV2VkLCBTZXAgMSwgMjAyMSBhdCAxOjU1IEFNIERtaXRyeSBLb3pseXVrIDxka296bHl1 a0BudmlkaWEuY29tPg0KPiB3cm90ZToNCj4gPj4+Pj4+Pg0KPiA+Pj4+Pj4+IHJ0ZV9mbG93X2Fj dGlvbl9oYW5kbGVfY3JlYXRlKCkgZGlkIG5vdCBtZW50aW9uIHdoYXQgaGFwcGVucw0KPiA+Pj4+ Pj4+IHdpdGggYW4gaW5kaXJlY3QgYWN0aW9uIHdoZW4gYSBkZXZpY2UgaXMgc3RvcHBlZCwgcG9z c2libHkNCj4gPj4+Pj4+PiByZWNvbmZpZ3VyZWQsIGFuZCBzdGFydGVkIGFnYWluLiBJdCBpcyBu YXR1cmFsIGZvciBzb21lIGluZGlyZWN0DQo+ID4+Pj4+Pj4gYWN0aW9ucyB0byBiZSBwZXJzaXN0 ZW50LCBsaWtlIGNvdW50ZXJzIGFuZCBtZXRlcnM7IGtlZXBpbmcNCj4gPj4+Pj4+PiBvdGhlcnMg anVzdCBzYXZlcyBhcHBsaWNhdGlvbiB0aW1lIGFuZCBjb21wbGV4aXR5LiBIb3dldmVyLCBub3Qg YWxsDQo+IFBNRHMgY2FuIHN1cHBvcnQgaXQuDQo+ID4+Pj4+Pj4gSXQgaXMgcHJvcG9zZWQgdG8g YWRkIGEgZGV2aWNlIGNhcGFiaWxpdHkgdG8gaW5kaWNhdGUgaWYNCj4gPj4+Pj4+PiBpbmRpcmVj dCBhY3Rpb25zIGFyZSBrZXB0IGFjcm9zcyB0aGUgYWJvdmUgc2VxdWVuY2Ugb3IgaW1wbGljaXRs eQ0KPiBkZXN0cm95ZWQuDQo+ID4+Pj4+Pj4NCj4gPj4+Pj4+PiBJdCBtYXkgaGFwcGVuIHRoYXQg aW4gdGhlIGZ1dHVyZSBhIFBNRCBhY3F1aXJlcyBzdXBwb3J0IGZvciBhDQo+ID4+Pj4+Pj4gdHlw ZSBvZiBpbmRpcmVjdCBhY3Rpb25zIHRoYXQgaXQgY2Fubm90IGtlZXAgYWNyb3NzIGEgcmVzdGFy dC4NCj4gPj4+Pj4+PiBJdCBpcyB1bmRlc2lyYWJsZSB0byBzdG9wIGFkdmVydGlzaW5nIHRoZSBj YXBhYmlsaXR5IHNvIHRoYXQNCj4gPj4+Pj4+PiBhcHBsaWNhdGlvbnMgdGhhdCBkb24ndCB1c2Ug YWN0aW9ucyBvZiB0aGUgcHJvYmxlbWF0aWMgdHlwZSBjYW4gc3RpbGwgdGFrZQ0KPiBhZHZhbnRh Z2Ugb2YgaXQuDQo+ID4+Pj4+Pj4gVGhpcyBpcyB3aHkgUE1EcyBhcmUgYWxsb3dlZCB0byBrZWVw IG9ubHkgYSBzdWJzZXQgb2YgaW5kaXJlY3QNCj4gPj4+Pj4+PiBhY3Rpb25zIHByb3ZpZGVkIHRo YXQgdGhlIHZlbmRvciBtYW5kYXRvcmlseSBkb2N1bWVudHMgaXQuDQo+ID4+Pj4+PiBTb3JyeSAt IEkgYW0gc2VlaW5nIHRoaXMgbGF0ZS4NCj4gPj4+Pj4+IFRoaXMgY291bGQgYmVjb21lIGNvbmZ1 c2luZy4NCj4gPj4+Pj4+IE1heSBiZSBpdCBpcyBiZXR0ZXIgZm9yIHRoZSBQTURzIHRvIHNwZWNp Znkgd2hpY2ggYWN0aW9ucyBhcmUgcGVyc2lzdGVudC4NCj4gPj4+Pj4+IEhvdyBhYm91dCBhZGRp bmcgYSBiaXQgZm9yIHRoZSBwb3NzaWJsZSBhY3Rpb25zIG9mIGludGVyZXN0Lg0KPiA+Pj4+Pj4g QW5kIHRoZW4gUE1EcyBjYW4gc2V0IGJpdHMgZm9yIGFjdGlvbnMgd2hpY2ggY2FuIGJlIHBlcnNp c3RlbnQNCj4gPj4+Pj4+IGFjcm9zcyBzdG9wLCBzdGFydCBhbmQgcmVjb25maWd1cmF0aW9ucz8N Cj4gPj4+Pj4NCj4gPj4+Pj4gVGhpcyBhcHByb2FjaCB3YXMgY29uc2lkZXJlZCwgYnV0IHRoZXJl IGlzIGEgcmlzayBvZiBxdWlja2x5DQo+ID4+Pj4+IHJ1bm5pbmcgb3V0IG9mIGNhcGFiaWxpdHkg Yml0cy4gRWFjaCBhY3Rpb24NCj4gPj4+PiB3b3VsZCBjb25zdW1lIG9uZSBiaXQgcGx1cyBhcyBt YW55IGJpdHMgYXMgdGhlcmUgYXJlIHNwZWNpYWwNCj4gPj4+PiBjb25kaXRpb25zIGZvciBpdCBp biBhbGwgdGhlIFBNRHMsIGJlY2F1c2UgY29uZGl0aW9ucyBhcmUgbGlrZWx5IHRvDQo+ID4+Pj4g YmUgUE1ELXNwZWNpZmljLiBBbmQgdGhlIGFwcGxpY2F0aW9uIHdpbGwgYW55d2F5IG5lZWQgdG8g Y29uc2lkZXINCj4gPj4+PiBzcGVjaWZpYyBjb25kaXRpb25zIHRvIGtub3cgd2hpY2ggYml0IHRv IHRlc3QsIHNvIHRoZSBtZWFuaW5nIG9mDQo+ID4+Pj4gdGhlIGJpdHMgd2lsbCBiZSBQTUQtc3Bl Y2lmaWMuIE9uIHRoZQ0KPiA+PiBvdGhlciBoYW5kLCBQTURzIGFyZSBub3QgZXhwZWN0ZWQgdG8g ZXhlcmNpc2UgdGhpcyBsb29waG9sZSB1bmxlc3MNCj4gYWJzb2x1dGVseSBuZWVkZWQuDQo+ID4+ Pj4+DQo+ID4+PiBSaWdodCB0aG9zZSBiaXRzIHNob3VsZCBiZSBjb25zaWRlcmVkIGFzIG1hc3Rl ciBiaXRzIGFuZCBhcmUgbm90IHBlciBhY3Rpb25zLg0KPiA+Pj4gSWYgdGhlcmUgaXMgc3BlY2lm aWMgY2FzZSBmb3IgYSBQTUQgaXQgc2hvdWxkIHNvbHZlIGl0IGJ5IGRvY3VtYXRpb24gb3Igb3Ro ZXINCj4gbWVhbnMuDQo+ID4+DQo+ID4+IERvY3VtZW50YXRpb24gZG9lcyBub3Qgc29sdmUgdGhl IHByb2JsZW0gc2luY2UgaXQgY2FuJ3QgYmUgYXV0b21hdGVkLg0KPiA+PiBTbywgaXQganVzdCBo ZWxwIHRvIHNvbHZlIGNhc2UtYnktIGNhc2UuDQo+ID4NCj4gPiBJIGFncmVlIHRoYXQgZG9jdW1l bnRhdGlvbiBjYW4ndCBiZSBhdXRvbWF0ZWQsIEkgdGhpbmsgdGhpcyBpcyBqdXN0DQo+ID4gbGlr ZSBvdGhlciBlZGdlIGNhc2VzIHRoYXQgY2FuJ3QgYmUgY2hlY2tlZCBmb3IgZXhhbXBsZSB5b3Ug Y2FuDQo+ID4gcmVjb25maWd1cmUgdGhlIGRldmljZSBhZnRlciBzdGFydCBleGNlcHQgdGhlIHF1 ZXVlIG51bWJlciBvciBxdWV1ZSBzaXplIChqdXN0DQo+IGFuIGV4YW1wbGUpIFRoZSBtZXRyaXgg b2YgYWN0aW9ucy9pdGVtcy9wbWRzIEkgZG9uJ3QgdGhpbmsgd2Ugd2lsbCBldmVyIGJlIGFibGUN Cj4gdG8gaGF2ZSBhbiBlYXN5IHdheSB0byBjaGVjayBjYXBhYmlsaXRpZXMuDQo+ID4NCj4gPiBN YXliZSB3ZSBjYW4gc2F5IHRoYXQgaWYgUE1EIHJlcG9ydHMgdGhhdCBpdCBzdXBwb3J0cyBrZWVw aW5nIHRoZQ0KPiA+IGFjdGlvbnMsIGFuZCBpdCBjYW4ndCBzdXBwb3J0IGp1c3Qgb25lIG9mIHRo ZSBhY3Rpb25zIGl0IGNhbiBmYWlsIG9yIGlzc3VlIGEgc3BlY2lhbA0KPiBlcnJvciBjb2RlIHdo ZW4gY2FsbGluZyBzdG9wLiBUbyBsZXQgdGhlIGFwcGxpY2F0aW9uIGtub3cgdGhhdCBzb21ldGhp bmcgd2FzDQo+IGluY29ycmVjdC4NCj4gPiBJbiB0aGlzIGNhc2UgYXBwbGljYXRpb24gY2FuIGNy ZWF0ZSBhIHNhbXBsZSBvZiB0aGUgYWN0aW9uIGl0IHJlcXVpcmVzDQo+ID4gYW5kIHRoZW4gY2Fs bCB0aGUgc3RvcC4gSWYgaXQgZmFpbHMgaXQgY2FuIHRyeSBhZ2FpbiB1bnRpbCBoZSBnZXRzIG5v IGVycm9yLCBhbmQgb25seQ0KPiB0aGVuIHN0YXJ0LiBXaGF0IGRvIHlvdSB0aGluaz8NCj4gDQo+ IEl0IGFsbCBzb3VuZHMgY29tcGxpY2F0ZWQuIERvIHdlIHJlYWxseSBuZWVkIGl0Pw0KPiANCj4g PiBBbm90aGVyIHdheSBpcyB0byBhc3N1bWUgdGhhdCBpZiB0aGUgYWN0aW9uIHdhcyBjcmVhdGVk IGJlZm9yZSBwb3J0IHN0YXJ0IGl0IHdpbGwNCj4gYmUga2VwdCBhZnRlciBwb3J0IHN0b3AuDQo+ IA0KPiBJdCBkb2VzIG5vdCBzb3VuZCBsaWtlIGEgc29sdXRpb24uIE1heSBiZSBJIHNpbXBseSBk b24ndCBrbm93IHRhcmdldCB1c2VjYXNlLg0KPiANCj4gPiBBbmQgdGhpcyBiaXQgaXMganVzdCBm b3IgbGV0dGluZyB0aGUgYXBwbGljYXRpb24ga25vdyBpZiBpdCBpcyB3b3J0aCB0byBjaGVjay4N Cj4gPg0KPiA+Pg0KPiA+Pj4NCj4gPj4+Pg0KPiA+Pj4+IE1heSBiZSB3ZSBzaG91bGQgc2VwYXJh dGUgYXQgbGVhc3QgdHJhbnNmZXIgYW5kIG5vbi10cmFuc2ZlciBydWxlcz8NCj4gPj4+PiBUcmFu c2ZlciBydWxlcyBhcmUgbGVzcyBjb25maWd1cmF0aW9uIGRlcGVuZGVudC4NCj4gPj4+DQo+ID4+ PiBNYXkgYmUgSSdtIG1pc3Npbmcgc29tZXRoaW5nIGJ1dCBqdXQgbGlrZSBzdGF0ZWQgYWJvdmUg dGhvc2UgYXJlDQo+ID4+PiBtYXN0ZXIgYml0cyBJIGRvbid0IHNlZSBtdWNoIHVzZSBjYXNlIHdo ZXJlIHRoZSBQTUQgY2FuIHN0b3JlDQo+ID4+PiB0cmFuc2ZlciBydWxlcyBidXQgbm90IG90aGVy IHJ1bGVzLiBJIGFzc3VtZSAgdGhhdCBpZiB0aGUNCj4gPj4+IGFwcGxpY2F0aW9uIHVzZXMgdGhl IHRyYW5zZmVyIG1vZGUgbW9zdCBvZiB0aGUgZmxvd3Mgd2lsbCBiZQ0KPiA+PiBpbiB0aGUgdHJh bnNmZXIgZG9tYWluLg0KPiA+Pg0KPiA+PiBNb3N0IGxpa2VseSBkaWZmZXJlbnQgSFcgYmxvY2tz IGFyZSByZXNwb25zaWJsZSBmb3IgdHJhbnNmZXIgYW5kDQo+ID4+IG5vbi10cmFuc2ZlciBydWxl cy4gU28sIEkgY2FuIGVhc2lseSBpbWFnaW5lIHRoYXQgb25lIGNvdWxkIGJlIHByZXNlcnZlZA0K PiBhY3Jvc3MgcmVzdGFydCwgYnV0IGFub3RoZXIgY2FuJ3QuDQo+ID4+DQo+ID4NCj4gPiBJIGRv bid0IGtub3csIGJ1dCBpbiBvdXIgY2FzZSB0aGlzIGlzIHRoZSBzYW1lIGJsb2NrLg0KPiA+IHNp bmNlIGEgbG90IG9mIHRoZSBhY3Rpb24gYXJlIHRoZSBzYW1lIGJldHdlZW4gdGhlIGVzd2l0Y2gg YW5kIHRoZSBldGhkZXYgSQ0KPiB3b3VsZCBleHBlY3QgdGhhdCB0aGUgbGltaXRhdGlvbiB3aWxs IGJlIHRoZSBzYW1lLg0KPiA+IGhvdyBpcyBpdCBpbiB5b3VyIGNhc2U/DQo+IA0KPiBBY3Rpb25z IG9yIHJ1bGVzPyBRVUVVRSBhbmQgUlNTIGFyZSBub24tdHJhbnNmZXIgYWN0aW9ucy4NCj4gUE9S VF9JRCBldGMgYXJlIHRyYW5zZmVyIGFjdGlvbnMgd2hpY2ggZG8gbm90IG1ha2Ugc2Vuc2UgaW4g bm9uLXRyYW5zZmVyIGNhc2UuDQo+IERST1AsIENPVU5UIGFuZCBNQVJLIG1ha2Ugc2Vuc2UgaW4g Ym90aCBjYXNlcy4gUGFja2V0IGVkaXRzIG1ha2Ugc2Vuc2UgaW4NCj4gYm90aCBjYXNlcyBhcyB3 ZWxsLg0KPiANCj4gPg0KPiA+PiBBbnl3YXksIEknbSBqdXN0IHRyeWluZyB0byB1bmRlcnN0YW5k LiBOb3QgYSBibG9ja2VyLg0KPiA+Pg0KPiA+PiBBbHNvIGhhdmUgeW91IGNvbnNpZGVyZWQgdG8g bWFrZSBpdCBjb250cm9sbGFibGUgYnkgdGhlIGFwcGxpY2F0aW9uLg0KPiA+PiBJLmUuIFBNRCBh ZHZlcnRpc2VzIGEgY2FwYWJpbGl0eSBhbmQgaXQgaXMgcmVzcG9uc2liaWxpdHkgb2YgdGhlIGFw cGxpY2F0aW9uIHRvDQo+IHVzZSBpdCBvciBub3QuDQo+ID4+IE1heSBiZSBpdCBpcyBleGNlc3Np dmUuIEluIHRoZW9yeSBhcHBsaWNhdGlvbiBjYW4gY2hlY2sgdGhlIGZsYWcgYW5kDQo+ID4+IGRv IGZsdXNoIGJlZm9yZSBvciBqdXN0IGFmdGVyIHN0b3AgaWYgaXQgZG9lcyBub3Qgd2FudCB0byBw cmVzZXJ2ZSBydWxlcy4NCj4gPj4NCj4gPg0KPiA+IEknbSBub3Qgc3VyZSBJIHVuZGVyc3RhbmQg dGhpcyBjb21tZW50LCBUaGUgYXBwbGljYXRpb24gaXMgYWx3YXlzIGZyZWUNCj4gPiB0byB1c2Ug b3Igbm90IHVzZSBhIGNhcGFiaWxpdHkgdGhpcyBpcyBqdXN0IHRvIGxldCB0aGUgYXBwbGljYXRp b24NCj4gPiBrbm93IHRoYXQgaWYgaXQgZG9lc24ndCB3YW50IHRvIGRlc3Ryb3kgdGhlIGFjdGlv biBiZWZvcmUgc3RvcCBoZSBkb2Vzbid0IGhhdmUNCj4gdG8gYW5kIHRoZSBhY3Rpb24gd2lsbCBi ZSBzYXZlZC4NCj4gDQo+IEhtLCB3aG8gc2FpZCB0aGF0IGFwcGxpY2F0aW9uIG11c3QgZXhwbGlj aXRseSBkZXN0cm95IHJ1bGVzL2FjdGlvbnMgYmVmb3JlIHN0b3A/DQo=