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 60B38A0C4D; Wed, 13 Oct 2021 09:53:12 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 4E0E14116E; Wed, 13 Oct 2021 09:53:12 +0200 (CEST) Received: from NAM12-DM6-obe.outbound.protection.outlook.com (mail-dm6nam12on2076.outbound.protection.outlook.com [40.107.243.76]) by mails.dpdk.org (Postfix) with ESMTP id 4FB5441162 for ; Wed, 13 Oct 2021 09:53:11 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ECBH5WvGuGXfMuqfBjsLZuD5UOHKK8whZFJAkWVD0v3xr52m13wqTqFQFJEsshdxulOkGAFpg6jOEsDjIFHDU4BpJvkgbzWKfVOq+uEDeBCx1lu/S05CjkYStSHui+VikUO9tMcBmozbP6YhzbhZ/wTicUGqAiWyQ0UPLZDG1+/1o5UThN2Yd/AXp/qdSAlWldwro4bwePesW5Ttuv8haSOZljH3GveuC7MROmsUgYJv6fTAqky9S4A0QDsLToo/ebs3da43HZA2jinHemfZLEJF3kPHII5jtweFCtbPecfUtws3sa76I+hZd6zMOzlYdqMYFmrOtGR4No/FBipIHA== 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=jlFTZ45iG34QUdYVu0NYIrRoR/sZ3XD0k1fENoS6cso=; b=Nfmap4cvciCMOZqROGZYAcUfVpYakbdaghkBBOOQ/enhZe/yaPside9M/o1rlw+0XoyILsG4fJRYZjM9++FyIZgfJIQOP4wqI0B9k2E2w2wMeh5+07tCT8U/HICk63KrSU+kC5RclpiMTCpB2KsW6qJZ2nL+KLBAd1FZjU19vBLRSXX+zjxcD/556VC1cwzY1s2XXGoonadjJizY8OYSra4W/MTCkMVn5/scdD1I5PsR6HfyaMa5crCuhwSoXvvz9Z/qzMDRRwrQW5jeyQx/ikwuh2C1CA4r+t8dNUA3v4/Pax4Kq92+BqZakETo/VOsvMlCQC6/rH3JQkg64k0MXw== 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=jlFTZ45iG34QUdYVu0NYIrRoR/sZ3XD0k1fENoS6cso=; b=XhoU9AoZ5hcYqQxreUUqj3wVo1d4s7yqic1LPNR64CbiU7C7WLghmY+tOk93rGQtbDPiPB+M8W1lUIrhxGACsiMIMrVi8ax0AxroWZhbREYqY2AqJh+HFrFY+BejSuGztt+Sd90JkvtGUfGIEHevvSF7pSyEGdH6KgA7OHMcILWUtb8eWbY+LYV+N1hYz1uqyS7UvYD+5I7l8crZu0SQVjyEZy0q85aWeFh7IJvrTMteV/+WOaJYPpl+TtWixGpx6tVRK8HSi71wtEvkykW4iizDEuwUbuncRicy9PX2eDqwRvmhXHQdFvEAxyvlL9GHth3/30SdD/pXUAf9BDx+Iw== Received: from DM4PR12MB5373.namprd12.prod.outlook.com (2603:10b6:5:39a::17) by DM4PR12MB5327.namprd12.prod.outlook.com (2603:10b6:5:39e::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4587.22; Wed, 13 Oct 2021 07:53:09 +0000 Received: from DM4PR12MB5373.namprd12.prod.outlook.com ([fe80::584f:672a:653f:fe25]) by DM4PR12MB5373.namprd12.prod.outlook.com ([fe80::584f:672a:653f:fe25%5]) with mapi id 15.20.4587.026; Wed, 13 Oct 2021 07:53:09 +0000 From: "Xueming(Steven) Li" To: "andrew.rybchenko@oktetlabs.ru" , "dev@dpdk.org" CC: "jerinjacobk@gmail.com" , NBU-Contact-Thomas Monjalon , Lior Margalit , Slava Ovsiienko , "konstantin.ananyev@intel.com" , "ferruh.yigit@intel.com" Thread-Topic: [PATCH v4 0/6] ethdev: introduce shared Rx queue Thread-Index: AQHXtgthpEJvT1hnv0uKtjd5vS1emqvNwAUAgAA4WgCAAQLkAIAAJIaAgAAjhgCAAAklAIABVisA Date: Wed, 13 Oct 2021 07:53:09 +0000 Message-ID: <9722250bdaa598176097f0f200790716b86cf0c7.camel@nvidia.com> References: <20210727034204.20649-1-xuemingl@nvidia.com> <20210930145602.763969-1-xuemingl@nvidia.com> <8494d5f3-f134-e9d7-d782-dca9a9efaa03@oktetlabs.ru> <5584827eb502362297c71432991be7852438e94b.camel@nvidia.com> <2cfa1d1cf5b7fc01d361b04ec4fdf1500c89c50b.camel@nvidia.com> <6a61a2db-6a55-e857-52df-5fe97b5bd60e@oktetlabs.ru> <88a4a603bb3ca68898fdac21e4a3effd92a1d6e3.camel@nvidia.com> <35b86a0a-3805-582f-85a3-69c3f8907ce0@oktetlabs.ru> In-Reply-To: <35b86a0a-3805-582f-85a3-69c3f8907ce0@oktetlabs.ru> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Evolution 3.40.4 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: 15d7a20b-a50a-44c3-404f-08d98e1e7ff3 x-ms-traffictypediagnostic: DM4PR12MB5327: 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:8882; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: c2IxGhQZu5uE9Fac1cXNok7astP7w6ZXaVWfjQKToTxSrkV8bPa9qdzZZQNydf/kQxOcXCnks94CFW8DxqZaWvaWn///FnMo20JVIcfsRu/d3phtP8/wgqMtE7aEAQC/0ZfKzT60VRpPyHSL9Yk3Pz0AfJG9Ui+l3X42dRQOQ73r5qz0IhY02QOci+5zWvkbfpurCDd/QldFuQaoG3wT8+mdzi6l4/81Kaf64pkUigsodYDnOLXvKf6qq7TlEuVk6s6ndes6aW1NKQtDXcdCyvfQO5fVriFjqtRsthQG/7TFfRhT6TukaxVQU1iwvYn8LS3drupahSOmzqwzNTsfaccNZu8F6VvY6jiXM6NVpXP8pI1AUmRVltl0cDd/GucXxTnYXeNT9c8Vag0KALQ3POSINwIlGb98Yzthtt47yl+mxhfvL3xVUJajwos0LwOtY8YPvyOemA2EwVXSWYsIhdKpcyP6HK/98vPvv4iLzPlY8WYlx/PsBbPE5SdmfbXwwwiX8ROG/CLc3I9ej56e7S8FXiNgPIFAdKhIXtJ2WyNwkvPszT08P18ZYfhEUkdWPJ+K+Vahdo7QQ+D5qARkNdz8Tk9zO6D541wDL6pcM7wx8AseabMMgoMT8Q0X72fdRziVZA5McY+WGgWF1Tje17D/vCWGWavp0Fc/Y6/9WEScboQb4ImpMbxVnbAeHM3p4Is5M6bEvGnNL6JqpGXTRg== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM4PR12MB5373.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(8676002)(54906003)(26005)(4001150100001)(71200400001)(316002)(66946007)(36756003)(83380400001)(508600001)(4326008)(5660300002)(66556008)(6486002)(186003)(64756008)(66446008)(86362001)(76116006)(110136005)(91956017)(8936002)(66476007)(2906002)(38070700005)(53546011)(2616005)(6512007)(38100700002)(122000001)(6506007)(30864003); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?Y1ZtSUdYeHVKdEo5c2Y0aU90Vzljak5na1k0aW9mdlZlY2ZsUm1DVUFZZU5i?= =?utf-8?B?dTd3MnMyUmNWUXZSWVhtMGdlVG5LbThMZGJITElWcE9SaGt1WVhSVlNFZmgz?= =?utf-8?B?UVVoZDRsSnlrNUh5S0xEZUN4cGl0WEVaNXRMSk9XUWYrZU50dHl6QUJObVB2?= =?utf-8?B?enpCVEZpZFJuZ3FKWGJwODRBVXNndHVTdVRvRlpab1Uycm5qZUFXSm9rQTFK?= =?utf-8?B?cmxqazRuM1lidlBaRnR1S3I1VUtmaTE3d3FncVp3dWIvcFFTU2tWM2ljK1VF?= =?utf-8?B?cWI1cmM5bHZXUFI1S1NPNHpsOGNiTlFsZ0VuUWh0ZGdjdWJMcHNyVUxlOEFx?= =?utf-8?B?dkR4QlFtY2cwMUFmb0srdk5UQVBmTWE4cGpKZkF4d0hPcmp0U3IrSndyaTEx?= =?utf-8?B?NHJFNTJENTVkUHE2dG9icWlqeVVqNXlOZjJEN2tjbUEvOGorcXJURlRFY25P?= =?utf-8?B?eVhHYU1WdVhVdVNmWHQzVWV4bkNkK21VdU1CSGZWTGVEcmhvSWlCa1NxeVdE?= =?utf-8?B?WnFtN0pxeHFBK3J3ZHlmZmpaWmRaZ0Rjc0hycXJHenFPdDJUMTRzRlFrTElM?= =?utf-8?B?NEhqWkJaWW05UEJwR0ttVFlwSWZlcHNMMzBjdDNKb1AvNlB2elBJVFkzVEcr?= =?utf-8?B?VHhGZWdEOTlOSDJrV09wNFR5bFBNbFlKWkJLcnkxeTF3QVlyTGlVVG92OG4y?= =?utf-8?B?cTZ3VitkWmZDekJJSmxERnhYK0NoVzBzeTl5SGJTc0pKZ0lSYlcvMm81eno2?= =?utf-8?B?dlpQWW1sOUZpYnFDTEZTRy9HclNjamFBVWhqbm5LaG80VXJ1N1U2NEJPZU9v?= =?utf-8?B?YWJTakh0V1VBdVA4SlMyQTVrOWRvaWFocnByQlJRakcwM3d3bERoMTg3SUp2?= =?utf-8?B?SjMrYyswZmlRa0p2cUNSNnFVUWNuNFZvcVlic1l3U092N3VUYXNOTi9oNkFX?= =?utf-8?B?ZURPNlVmc3RST2ZacUxRbFVGbEo5eU82dUlQZEtkcTlxUTFZZkNncnBNeVBa?= =?utf-8?B?REtCOUdJZWh1TnZZRkdVKzVXREJKVmRNYUxVLytaeHc2RzkxK0RBNDZ1ZFdG?= =?utf-8?B?Y3d6TFRLcGdZTm5seHZYRC94L1lLT3VrWjRiWkRjemJpYjJBNVBaUG5ZL3BU?= =?utf-8?B?cWVCb09YM2FMM2lneUVmb3dsbG9Ic3VWWE80YXpYdjExNTczZWJXdkNYeEdl?= =?utf-8?B?RUV0bUFwNDJRRUkvN0QvdG1ibktSVmcrbldCU01nc2RUYlFFTDBieWNVMm1M?= =?utf-8?B?cDk5bzJmNXBuaVV0U1JYSm9EVjR2Q0FoZXJOWTB6MnJrZEo0V3BoQjBUeWND?= =?utf-8?B?ejRuMUh0UHRkLzBUdXR5aytwT2NqQ2VXQzhDdk5aWGRob00yQnRpR2FjYlFl?= =?utf-8?B?cUUzdlkzZVdLVkJrN3pNRFpMbGRBaU1ybW1CSlVmaXZSZDJDWUk4bXBTVlFL?= =?utf-8?B?Q3FlMzlqUmRoZmk4VkJzdlVKajJaNCtMTXBkS1hleDFlaFFMU244dTY0R1Q3?= =?utf-8?B?VTJudFJhdkg4ZmJCRzZWNllRcnlDNmpQMUVnZHZpT2hmeUpybGNMR1V6M0lo?= =?utf-8?B?YkRLd0xtaThkYmRkWDlHcHZUeVlVelIwS3pIWFJ6UGJaYW1ZaTdxK2JQcGdq?= =?utf-8?B?UVM5RlBXcmd1MUFrSDRDNnJ2TU55dnhUcGpiTGVBcmV6ZWFaZXg3aHozQ0xu?= =?utf-8?B?U3F2Vko5d2xGQlQ4SktOc3Ivdk4vbHdIcTNVVWJUYTlBK005RVRqdjNndis2?= =?utf-8?B?SzlnZjNIanU4YVp5bVpnblBYQStuNWVJNlkvdXFHbGdqcCtVY09pVkg3OW8y?= =?utf-8?B?a1l0UUtzN09Ia09wRy9LZz09?= Content-Type: text/plain; charset="utf-8" Content-ID: <30E4287A9A574B41ACC3CB93502D35F2@namprd12.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM4PR12MB5373.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 15d7a20b-a50a-44c3-404f-08d98e1e7ff3 X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Oct 2021 07:53:09.5461 (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: feczwfZoh+dZxIxUDxSQfZbOAYnTiqpUbR6T4gHkrOhcRETtIo6k104JHH4ti7QHIzokVrylNceBvXMYdoYXJg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB5327 Subject: Re: [dpdk-dev] [PATCH v4 0/6] ethdev: introduce shared Rx queue 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" T24gVHVlLCAyMDIxLTEwLTEyIGF0IDE0OjI4ICswMzAwLCBBbmRyZXcgUnliY2hlbmtvIHdyb3Rl Og0KPiBPbiAxMC8xMi8yMSAxOjU1IFBNLCBYdWVtaW5nKFN0ZXZlbikgTGkgd3JvdGU6DQo+ID4g T24gVHVlLCAyMDIxLTEwLTEyIGF0IDExOjQ4ICswMzAwLCBBbmRyZXcgUnliY2hlbmtvIHdyb3Rl Og0KPiA+ID4gT24gMTAvMTIvMjEgOTozNyBBTSwgWHVlbWluZyhTdGV2ZW4pIExpIHdyb3RlOg0K PiA+ID4gPiBPbiBNb24sIDIwMjEtMTAtMTEgYXQgMjM6MTEgKzA4MDAsIFh1ZW1pbmcgTGkgd3Jv dGU6DQo+ID4gPiA+ID4gT24gTW9uLCAyMDIxLTEwLTExIGF0IDE0OjQ5ICswMzAwLCBBbmRyZXcg UnliY2hlbmtvIHdyb3RlOg0KPiA+ID4gPiA+ID4gSGkgWHVlbWluZywNCj4gPiA+ID4gPiA+IA0K PiA+ID4gPiA+ID4gT24gOS8zMC8yMSA1OjU1IFBNLCBYdWVtaW5nIExpIHdyb3RlOg0KPiA+ID4g PiA+ID4gPiBJbiBjdXJyZW50IERQREsgZnJhbWV3b3JrLCBhbGwgUlggcXVldWVzIGlzIHByZS1s b2FkZWQgd2l0aCBtYnVmcyBmb3INCj4gPiA+ID4gPiA+ID4gaW5jb21pbmcgcGFja2V0cy4gV2hl biBudW1iZXIgb2YgcmVwcmVzZW50b3JzIHNjYWxlIG91dCBpbiBhIHN3aXRjaA0KPiA+ID4gPiA+ ID4gPiBkb21haW4sIHRoZSBtZW1vcnkgY29uc3VtcHRpb24gYmVjYW1lIHNpZ25pZmljYW50LiBG dXJ0aGVyIG1vcmUsDQo+ID4gPiA+ID4gPiA+IHBvbGxpbmcgYWxsIHBvcnRzIGxlYWRzIHRvIGhp Z2ggY2FjaGUgbWlzcywgaGlnaCBsYXRlbmN5IGFuZCBsb3cNCj4gPiA+ID4gPiA+ID4gdGhyb3Vn aHB1dHMuDQo+ID4gPiA+ID4gPiA+ICANCj4gPiA+ID4gPiA+ID4gVGhpcyBwYXRjaCBpbnRyb2R1 Y2VzIHNoYXJlZCBSWCBxdWV1ZS4gUEYgYW5kIHJlcHJlc2VudG9ycyB3aXRoIHNhbWUNCj4gPiA+ ID4gPiA+ID4gY29uZmlndXJhdGlvbiBpbiBzYW1lIHN3aXRjaCBkb21haW4gY291bGQgc2hhcmUg UlggcXVldWUgc2V0IGJ5DQo+ID4gPiA+ID4gPiA+IHNwZWNpZnlpbmcgc2hhcmVkIFJ4IHF1ZXVl IG9mZmxvYWRpbmcgZmxhZyBhbmQgc2hhcmluZyBncm91cC4NCj4gPiA+ID4gPiA+ID4gDQo+ID4g PiA+ID4gPiA+IEFsbCBwb3J0cyB0aGF0IFNoYXJlZCBSeCBxdWV1ZSBhY3R1YWxseSBzaGFyZXMg T25lIFJ4IHF1ZXVlIGFuZCBvbmx5DQo+ID4gPiA+ID4gPiA+IHByZS1sb2FkIG1idWZzIHRvIG9u ZSBSeCBxdWV1ZSwgbWVtb3J5IGlzIHNhdmVkLg0KPiA+ID4gPiA+ID4gPiANCj4gPiA+ID4gPiA+ ID4gUG9sbGluZyBhbnkgcXVldWUgdXNpbmcgc2FtZSBzaGFyZWQgUlggcXVldWUgcmVjZWl2ZXMg cGFja2V0cyBmcm9tIGFsbA0KPiA+ID4gPiA+ID4gPiBtZW1iZXIgcG9ydHMuIFNvdXJjZSBwb3J0 IGlzIGlkZW50aWZpZWQgYnkgbWJ1Zi0+cG9ydC4NCj4gPiA+ID4gPiA+ID4gDQo+ID4gPiA+ID4g PiA+IE11bHRpcGxlIGdyb3VwcyBpcyBzdXBwb3J0ZWQgYnkgZ3JvdXAgSUQuIFBvcnQgcXVldWUg bnVtYmVyIGluIGEgc2hhcmVkDQo+ID4gPiA+ID4gPiA+IGdyb3VwIHNob3VsZCBiZSBpZGVudGlj YWwuIFF1ZXVlIGluZGV4IGlzIDE6MSBtYXBwZWQgaW4gc2hhcmVkIGdyb3VwLg0KPiA+ID4gPiA+ ID4gPiBBbiBleGFtcGxlIG9mIHBvbGxpbmcgdHdvIHNoYXJlIGdyb3VwczoNCj4gPiA+ID4gPiA+ ID4gICBjb3JlCWdyb3VwCXF1ZXVlDQo+ID4gPiA+ID4gPiA+ICAgMAkwCTANCj4gPiA+ID4gPiA+ ID4gICAxCTAJMQ0KPiA+ID4gPiA+ID4gPiAgIDIJMAkyDQo+ID4gPiA+ID4gPiA+ICAgMwkwCTMN Cj4gPiA+ID4gPiA+ID4gICA0CTEJMA0KPiA+ID4gPiA+ID4gPiAgIDUJMQkxDQo+ID4gPiA+ID4g PiA+ICAgNgkxCTINCj4gPiA+ID4gPiA+ID4gICA3CTEJMw0KPiA+ID4gPiA+ID4gPiANCj4gPiA+ ID4gPiA+ID4gU2hhcmVkIFJYIHF1ZXVlIG11c3QgYmUgcG9sbGVkIG9uIHNpbmdsZSB0aHJlYWQg b3IgY29yZS4gSWYgYm90aCBQRjAgYW5kDQo+ID4gPiA+ID4gPiA+IHJlcHJlc2VudG9yMCBqb2lu ZWQgc2FtZSBzaGFyZSBncm91cCwgY2FuJ3QgcG9sbCBwZjByeHEwIG9uIGNvcmUxIGFuZA0KPiA+ ID4gPiA+ID4gPiByZXAwcnhxMCBvbiBjb3JlMi4gQWN0dWFsbHksIHBvbGxpbmcgb25lIHBvcnQg d2l0aGluIHNoYXJlIGdyb3VwIGlzDQo+ID4gPiA+ID4gPiA+IHN1ZmZpY2llbnQgc2luY2UgcG9s bGluZyBhbnkgcG9ydCBpbiBncm91cCB3aWxsIHJldHVybiBwYWNrZXRzIGZvciBhbnkNCj4gPiA+ ID4gPiA+ID4gcG9ydCBpbiBncm91cC4NCj4gPiA+ID4gPiA+IA0KPiA+ID4gPiA+ID4gSSBhcG9s b2dpemUgdGhhdCBJIGp1bXAgaW4gaW50byB0aGUgcmV2aWV3IHByb2Nlc3MgdGhhdCBsYXRlLg0K PiA+ID4gPiA+IA0KPiA+ID4gPiA+IEFwcHJlY2lhdGUgdGhlIGJvbGQgc3VnZ2VzdGlvbiwgbmV2 ZXIgdG9vIGxhdGUgOikNCj4gPiA+ID4gPiANCj4gPiA+ID4gPiA+IA0KPiA+ID4gPiA+ID4gRnJh bmtseSBzcGVha2luZyBJIGRvdWJ0IHRoYXQgaXQgaXMgdGhlIGJlc3QgZGVzaWduIHRvIHNvbHZl DQo+ID4gPiA+ID4gPiB0aGUgcHJvYmxlbS4gWWVzLCBJIGNvbmZpcm0gdGhhdCB0aGUgcHJvYmxl bSBleGlzdHMsIGJ1dCBJDQo+ID4gPiA+ID4gPiB0aGluayB0aGVyZSBpcyBiZXR0ZXIgYW5kIHNp bXBsZXIgd2F5IHRvIHNvbHZlIGl0Lg0KPiA+ID4gPiA+ID4gDQo+ID4gPiA+ID4gPiBUaGUgcHJv YmxlbSBvZiB0aGUgc3VnZ2VzdGVkIHNvbHV0aW9uIGlzIHRoYXQgaXQgcHV0cyBhbGwNCj4gPiA+ ID4gPiA+IHRoZSBoZWFkYWNoZSBhYm91dCBjb25zaXN0ZW5jeSB0byBhcHBsaWNhdGlvbiBhbmQg UE1Ecw0KPiA+ID4gPiA+ID4gd2l0aG91dCBhbnkgaGVscCBmcm9tIGV0aGRldiBsYXllciB0byBn dWFyYW50ZWUgdGhlDQo+ID4gPiA+ID4gPiBjb25zaXN0ZW5jeS4gQXMgdGhlIHJlc3VsdCBJIGJl bGlldmUgaXQgd2lsbCBiZSBlaXRoZXINCj4gPiA+ID4gPiA+IG1pc3NpbmcvbG9zdCBjb25zaXN0 ZW5jeSBjaGVja3Mgb3IgaHVnZSBkdXBsaWNhdGlvbiBpbg0KPiA+ID4gPiA+ID4gZWFjaCBQTUQg d2hpY2ggc3VwcG9ydHMgdGhlIGZlYXR1cmUuIFNoYXJlZCBSeFFzIG11c3QgYmUNCj4gPiA+ID4g PiA+IGVxdWFsbHkgY29uZmlndXJlZCBpbmNsdWRpbmcgbnVtYmVyIG9mIHF1ZXVlcywgb2ZmbG9h ZHMNCj4gPiA+ID4gPiA+ICh0YWtpbmcgZGV2aWNlIGxldmVsIFJ4IG9mZmxvYWRzIGludG8gYWNj b3VudCksIFJTUw0KPiA+ID4gPiA+ID4gc2V0dGluZ3MgZXRjLiBTbywgYXBwbGljYXRpb25zIG11 c3QgY2FyZSBhYm91dCBpdCBhbmQNCj4gPiA+ID4gPiA+IFBNRHMgKG9yIGV0aGRldiBsYXllcikg bXVzdCBjaGVjayBpdC4NCj4gPiA+ID4gPiANCj4gPiA+ID4gPiBUaGUgbmFtZSBtaWdodCBiZSBj b25mdXNpbmcsIGhlcmUgaXMgbXkgdW5kZXJzdGFuZGluZzoNCj4gPiA+ID4gPiAxLiBOSUMgIHNo YXJlcyB0aGUgYnVmZmVyIHN1cHBseSBIVyBRIGJldHdlZW4gc2hhcmVkIFJ4UXMgLSBmb3IgbWVt b3J5DQo+ID4gPiA+ID4gMi4gUE1EIHBvbGxzIG9uZSBzaGFyZWQgUnhRIC0gZm9yIGxhdGVuY3kg YW5kIHBlcmZvcm1hbmNlDQo+ID4gPiA+ID4gMy4gTW9zdCBwZXIgcXVldWUgZmVhdHVyZXMgbGlr ZSBvZmZsb2FkcyBhbmQgUlNTIG5vdCBpbXBhY3RlZC4gVGhhdCdzDQo+ID4gPiA+ID4gd2h5IHRo aXMgbm90IG1lbnRpb25lZC4gU29tZSBvZmZsb2FkaW5nIG1pZ2h0IG5vdCBiZWluZyBzdXBwb3J0 ZWQgZHVlDQo+ID4gPiA+ID4gdG8gUE1EIG9yIGh3IGxpbWl0YXRpb24sIG5lZWQgdG8gYWRkIGNo ZWNrIGluIFBNRCBjYXNlIGJ5IGNhc2UuDQo+ID4gPiA+ID4gNC4gTXVsdGlwbGUgZ3JvdXAgaXMg ZGVmaW5lZCBmb3Igc2VydmljZSBsZXZlbCBmbGV4aWJpbGl0eS4gRm9yDQo+ID4gPiA+ID4gZXhh bXBsZSwgUEYgYW5kIFZJUCBjdXN0b21lcidzIGxvYWQgZGlzdHJpYnV0ZWQgdmlhIHF1ZXVlcyBh bmQgZGVkaWNhdGUNCj4gPiA+ID4gPiBjb3Jlcy4gTG93IHByaW9yaXR5IGN1c3RvbWVycyBzaGFy ZSBvbmUgY29yZSB3aXRoIG9uZSBzaGFyZWQgcXVldWUuDQo+ID4gPiA+ID4gbXVsdGlwbGUgZ3Jv dXBzIGVuYWJsZXMgbW9yZSBjb21iaW5hdGlvbi4NCj4gPiA+ID4gPiA1LiBPbmUgcG9ydCBjb3Vs ZCBhc3NpZ24gcXVldWVzIHRvIGRpZmZlcmVudCBncm91cCBmb3IgcG9sbGluZw0KPiA+ID4gPiA+ IGZsZXhpYmlsaXR5LiBGb3IgZXhhbXBsZSBmaXJzdCA0IHF1ZXVlcyBpbiBncm91cCAwIGFuZCBu ZXh0IDQgcXVldWVzIGluDQo+ID4gPiA+ID4gZ3JvdXAxLCBlYWNoIGdyb3VwIGhhdmUgb3RoZXIg bWVtYmVyIHBvcnRzIHdpdGggNCBxdWV1ZXMsIHNvIHRoZSBwb3J0DQo+ID4gPiA+ID4gd2l0aCA4 IHF1ZXVlcyBjb3VsZCBiZSBwb2xsZWQgd2l0aCA4IGNvcmVzIHcvbyBub24tc2hhcmVkIHJ4cSBw ZW5hbHR5LA0KPiA+ID4gPiA+IGluIG90aGVyIHdvcmRzLCBlYWNoIGNvcmUgb25seSBwb2xsIG9u ZSBzaGFyZWQgUnhRLg0KPiA+ID4gPiA+IA0KPiA+ID4gPiA+ID4gDQo+ID4gPiA+ID4gPiBUaGUg YWR2YW50YWdlIG9mIHRoZSBzb2x1dGlvbiBpcyB0aGF0IGFueSBkZXZpY2UgbWF5DQo+ID4gPiA+ ID4gPiBjcmVhdGUgZ3JvdXAgYW5kIHN1YnNlcXVlbnQgZGV2aWNlcyBqb2luLiBBYnNlbmNlIG9m DQo+ID4gPiA+ID4gPiBwcmltYXJ5IGRldmljZSBpcyBuaWNlLiBCdXQgZG8gd2UgcmVhbGx5IG5l ZWQgaXQ/DQo+ID4gPiA+ID4gPiBXaWxsIHRoZSBkZXNpZ24gd29yayBpZiBzb21lIHJlcHJlc2Vu dG9ycyBhcmUgY29uZmlndXJlZA0KPiA+ID4gPiA+ID4gdG8gdXNlIHNoYXJlZCBSeFEsIGJ1dCBz b21lIGRvIG5vdD8gVGhlb3JldGljYWxseSBpdA0KPiA+ID4gPiA+ID4gaXMgcG9zc2libGUsIGJ1 dCBjb3VsZCByZXF1aXJlIGV4dHJhIG5vbi10cml2aWFsIGNvZGUNCj4gPiA+ID4gPiA+IG9uIGZh c3QgcGF0aC4NCj4gPiA+ID4gPiANCj4gPiA+ID4gPiBJZiBtdWx0aXBsZSBncm91cHMsIGFueSBk ZXZpY2UgY291bGQgYmUgaG90LXVucGx1Z2dlZC4NCj4gPiA+ID4gPiANCj4gPiA+ID4gPiBNaXhl ZCBjb25maWd1cmF0aW9uIGlzIHN1cHBvcnRlZCwgdGhlIG9ubHkgZGlmZmVyZW5jZSBpcyBob3cg dG8gc2V0DQo+ID4gPiA+ID4gbWJ1Zi0+cG9ydC4gU2luY2UgZ3JvdXAgaXMgcGVyIHF1ZXVlLCBt aXhlZCBpcyBiZXR0ZXIgdG8gYmUgc3VwcG9ydGVkLA0KPiA+ID4gPiA+IGRpZG4ndCBzZWUgYW55 IGRpZmZpY3VsdHkgaGVyZS4NCj4gPiA+ID4gPiANCj4gPiA+ID4gPiBQRE0gY291bGQgc2VsZWN0 IHRvIHN1cHBvcnQgb25seSBncm91cCAwLCBzYW1lIHNldHRpbmdzIGZvciBlYWNoIHJ4cSwNCj4g PiA+ID4gPiB0aGF0IGZpdHMgbW9zdCBzY2VuYXJpby4NCj4gPiA+ID4gPiANCj4gPiA+ID4gPiA+ IA0KPiA+ID4gPiA+ID4gQWxzbyBsb29raW5nIGF0IHRoZSBmaXJzdCB0d28gcGF0Y2ggSSBkb24n dCB1bmRlcnN0YW5kDQo+ID4gPiA+ID4gPiBob3cgYXBwbGljYXRpb24gd2lsbCBmaW5kIG91dCB3 aGljaCBkZXZpY2VzIG1heSBzaGFyZQ0KPiA+ID4gPiA+ID4gUnhRcy4gRS5nLiBpZiB3ZSBoYXZl IHR3byBkaWZmZXJlbmNlIE5JQ3Mgd2hpY2ggc3VwcG9ydA0KPiA+ID4gPiA+ID4gc2hhcmluZywg d2UgY2FuIHRyeSB0byBzZXR1cCBvbmx5IG9uZSBncm91cCAwLCBidXQNCj4gPiA+ID4gPiA+IGZp bmFsbHkgd2lsbCBoYXZlIHR3byBkZXZpY2VzIChub3Qgb25lKSB3aGljaCBtdXN0IGJlDQo+ID4g PiA+ID4gPiBwb2xsZWQuDQo+ID4gPiA+ID4gPiANCj4gPiA+ID4gPiA+IDEuIFdlIG5lZWQgZXh0 cmEgZmxhZyBpbiBkZXZfaW5mby0+ZGV2X2NhcGENCj4gPiA+ID4gPiA+ICAgIFJURV9FVEhfREVW X0NBUEFfUlhfU0hBUkUgdG8gYWR2ZXJ0aXNlIHRoYXQNCj4gPiA+ID4gPiA+ICAgIHRoZSBkZXZp Y2Ugc3VwcG9ydHMgUnggc2hhcmluZy4NCj4gPiA+ID4gPiANCj4gPiA+ID4gPiBkZXZfaW5mby0+ cnhfcXVldWVfb2ZmbG9hZF9jYXBhIGNvdWxkIGJlIHVzZWQgaGVyZSwgbm8/DQo+ID4gPiANCj4g PiA+IEl0IGRlcGVuZHMuIEJ1dCB3ZSBkZWZpbml0ZWx5IG5lZWQgYSBmbGFnIHdoaWNoDQo+ID4g PiBzYXlzIHRoYXQgYmVsb3cgcnhfZG9tYWluIG1ha2VzIHNlbnNlLiBJdCBjb3VsZCBiZQ0KPiA+ ID4gZWl0aGVyIFJURV9FVEhfREVWX0NBUEFfUlhfU0hBUkUgb3IgYW4gUnggb2ZmbG9hZA0KPiA+ ID4gY2FwYWJpbGl0eS4NCj4gPiA+IA0KPiA+ID4gVGhlIHF1ZXN0aW9uIGlzIGlmIGl0IGlzIHJl YWxseSBhbiBvZmZsb2FkLiBUaGUgb2ZmbG9hZCBpcw0KPiA+ID4gd2hlbiBzb21ldGhpbmcgY291 bGQgYmUgZG9uZSBieSBIVy9GVyBhbmQgcmVzdWx0IGlzIHByb3ZpZGVkDQo+ID4gPiB0byBTVy4g TWF5IGJlIGl0IGlzIGp1c3QgYSBuaXQgcGlja2luZy4uLg0KPiA+ID4gDQo+ID4gPiBNYXkgYmUg d2UgZG9uJ3QgbmVlZCBhbiBvZmZsb2FkIGF0IGFsbC4gSnVzdCBoYXZlDQo+ID4gPiBSVEVfRVRI X0RFVl9DQVBBX1JYUV9TSEFSRSBhbmQgdXNlIG5vbi16ZXJvIGdyb3VwIElEDQo+ID4gPiBhcyBh IGZsYWcgdGhhdCBhbiBSeFEgc2hvdWxkIGJlIHNoYXJlZCAoemVybyAtIGRlZmF1bHQsDQo+ID4g PiBubyBzaGFyaW5nKS4gZXRoZGV2IGxheWVyIG1heSBjaGVjayBjb25zaXN0ZW5jeSBvbg0KPiA+ ID4gaXRzIGxheWVyIHRvIGVuc3VyZSB0aGF0IHRoZSBkZXZpY2UgY2FwYWJpbGl0eSBpcw0KPiA+ ID4gcmVwb3J0ZWQgaWYgbm9uLXplcm8gZ3JvdXAgaXMgc3BlY2lmaWVkIG9uIHF1ZXVlIHNldHVw Lg0KPiA+ID4gDQo+ID4gPiA+ID4gDQo+ID4gPiA+ID4gPiANCj4gPiA+ID4gPiA+IDIuIEkgdGhp bmsgd2UgbmVlZCAicnhfZG9tYWluIiBpbiBkZXZpY2UgaW5mbw0KPiA+ID4gPiA+ID4gICAgKHdo aWNoIHNob3VsZCBiZSB0cmVhdGVkIGluIGJvdW5kYXJpZXMgb2YgdGhlDQo+ID4gPiA+ID4gPiAg ICBzd2l0Y2hfZG9tYWluKSBpZiBhbmQgb25seSBpZg0KPiA+ID4gPiA+ID4gICAgUlRFX0VUSF9E RVZfQ0FQQV9SWF9TSEFSRSBpcyBhZHZlcnRpc2VkLg0KPiA+ID4gPiA+ID4gICAgT3RoZXJ3aXNl IHJ4X2RvbWFpbiB2YWx1ZSBkb2VzIG5vdCBtYWtlIHNlbnNlLg0KPiA+ID4gPiA+IA0KPiA+ID4g PiA+IEkgc2VlLCB0aGlzIHdpbGwgZ2l2ZSBmbGV4aWJpbGl0eSBvZiBkaWZmZXJlbnQgaHcsIHdp bGwgYWRkIGl0Lg0KPiA+ID4gPiA+IA0KPiA+ID4gPiA+ID4gDQo+ID4gPiA+ID4gPiAoMSkgYW5k ICgyKSB3aWxsIGFsbG93IGFwcGxpY2F0aW9uIHRvIGZpbmQgb3V0IHdoaWNoDQo+ID4gPiA+ID4g PiBkZXZpY2VzIGNhbiBzaGFyZSBSeC4NCj4gPiA+ID4gPiA+IA0KPiA+ID4gPiA+ID4gMy4gUHJp bWFyeSBkZXZpY2UgKHJlcHJlc2VudG9ycyBiYWNraW5nIGRldmljZSkgc2hvdWxkDQo+ID4gPiA+ ID4gPiAgICBhZHZlcnRpc2Ugc2hhcmVkIFJ4USBvZmZsb2FkLiBFbmFibGluZyBvZiB0aGUgb2Zm bG9hZA0KPiA+ID4gPiA+ID4gICAgdGVsbHMgdGhlIGRldmljZSB0byBwcm92aWRlIHBhY2tldHMg dG8gYWxsIGRldmljZSBpbg0KPiA+ID4gPiA+ID4gICAgdGhlIFJ4IGRvbWFpbiB3aXRoIG1idWYt PnBvcnQgZmlsbGVkIGluIGFwcHJvcHJpYXRlbHkuDQo+ID4gPiA+ID4gPiAgICBBbHNvIGl0IGFs bG93cyBhcHAgdG8gaWRlbnRpZnkgcHJpbWFyeSBkZXZpY2UgaW4gdGhlDQo+ID4gPiA+ID4gPiAg ICBSeCBkb21haW4uIFdoZW4gYXBwbGljYXRpb24gZW5hYmxlcyB0aGUgb2ZmbG9hZCwgaXQNCj4g PiA+ID4gPiA+ICAgIG11c3QgZW5zdXJlIHRoYXQgaXQgZG9lcyBub3QgdHJlYXQgdXNlZCBwb3J0 X2lkIGFzIGFuDQo+ID4gPiA+ID4gPiAgICBpbnB1dCBwb3J0X2lkLCBidXQgYWx3YXlzIGNoZWNr IG1idWYtPnBvcnQgZm9yIGVhY2gNCj4gPiA+ID4gPiA+ICAgIHBhY2tldC4NCj4gPiA+ID4gPiA+ IA0KPiA+ID4gPiA+ID4gNC4gQSBuZXcgUnggbW9kZSBzaG91bGQgYmUgaW50cm9kdWNlZCBmb3Ig c2Vjb25kYXJ5DQo+ID4gPiA+ID4gPiAgICBkZXZpY2VzLiBJdCBzaG91bGQgbm90IGFsbG93IHRv IGNvbmZpZ3VyZSBSU1MsIHNwZWNpZnkNCj4gPiA+ID4gPiA+ICAgIGFueSBSeCBvZmZsb2FkcyBl dGMuIGV0aGRldiBtdXN0IGVuc3VyZSBpdC4NCj4gPiA+ID4gPiA+ICAgIEl0IGlzIGFuIG9wZW4g cXVlc3Rpb24gcmlnaHQgbm93IGlmIGl0IHNob3VsZCByZXF1aXJlDQo+ID4gPiA+ID4gPiAgICB0 byBwcm92aWRlIHByaW1hcnkgcG9ydF9pZC4gSW4gdGhlb3J5IHJlcHJlc2VudG9ycw0KPiA+ID4g PiA+ID4gICAgaGF2ZSBpdC4gSG93ZXZlciwgbWF5IGJlIGl0IGlzIG5pY2UgZm9yIGNvbnNpc3Rl bmN5DQo+ID4gPiA+ID4gPiAgICB0byBlbnN1cmUgdGhhdCBhcHBsaWNhdGlvbiBrbm93cyB0aGF0 IGl0IGRvZXMuDQo+ID4gPiA+ID4gPiAgICBJZiBzaGFyZWQgUnggbW9kZSBpcyBzcGVjaWZpZWQg Zm9yIGRldmljZSwgYXBwbGljYXRpb24NCj4gPiA+ID4gPiA+ICAgIGRvZXMgbm90IG5lZWQgdG8g c2V0dXAgUnhRcyBhbmQgYXR0ZW1wdHMgdG8gZG8gaXQNCj4gPiA+ID4gPiA+ICAgIHNob3VsZCBi ZSBkaXNjYXJkZWQgaW4gZXRoZGV2Lg0KPiA+ID4gPiA+ID4gICAgRm9yIGNvbnNpc3RlbmN5IGl0 IGlzIGJldHRlciB0byBlbnN1cmUgdGhhdCBudW1iZXIgb2YNCj4gPiA+ID4gPiA+ICAgIHF1ZXVl cyBtYXRjaC4NCj4gPiA+ID4gPiANCj4gPiA+ID4gPiBSU1MgYW5kIFJ4IG9mZmxvYWRzIHNob3Vs ZCBiZSBzdXBwb3J0ZWQgYXMgaW5kaXZpZHVhbCwgUE1EIG5lZWRzIHRvDQo+ID4gPiA+ID4gY2hl Y2sgaWYgbm90IHN1cHBvcnRlZC4NCj4gPiA+IA0KPiA+ID4gVGhpbmtpbmcgYSBiaXQgbW9yZSBh Ym91dCBpdCBJIGFncmVlIHRoYXQgUlNTIHNldHRpbmdzIGNvdWxkDQo+ID4gPiBiZSBpbmRpdmlk dWFsLiBPZmZsb2FkIGNvdWxkIGJlIGluZGl2aWR1YWwgYXMgd2VsbCwgYnV0IEknbQ0KPiA+ID4g bm90IHN1cmUgYWJvdXQgYWxsIG9mZmxvYWRzLiBFLmcuIFJ4IHNjYXR0ZXIgd2hpY2ggaXMgcmVs YXRlZA0KPiA+ID4gdG8gUnggYnVmZmVyIHNpemUgKHdoaWNoIGlzIHNoYXJlZCBzaW5jZSBSeCBt ZW1wb29sIGlzIHNoYXJlZCkNCj4gPiA+IHZzIE1UVS4gTWF5IGJlIGl0IGlzIGFjY2VwdGFibGUu IFdlIGp1c3QgbXVzdCBkZWZpbmUgcnVsZXMNCj4gPiA+IHdoYXQgc2hvdWxkIGhhcHBlbiBpZiBv ZmZsb2FkcyBjb250cmFkaWN0IHRvIGVhY2ggb3RoZXIuDQo+ID4gPiBJdCBzaG91bGQgYmUgaGln aGxpZ2h0ZWQgaW4gdGhlIGRlc2NyaXB0aW9uIGluY2x1ZGluZw0KPiA+ID4gZHJpdmVyIGNhbGxi YWNrIHRvIGVuc3VyZSB0aGF0IFBNRCBtYWludGFpbmVycyBhcmUgcmVzcG9uc2libGUNCj4gPiA+ IGZvciBjb25zaXN0ZW5jeSBjaGVja3MuDQo+ID4gPiANCj4gPiA+ID4gPiANCj4gPiA+ID4gPiA+ ICAgIEl0IGlzIGFuIGludGVyZXN0aW5nIHF1ZXN0aW9uIHdoYXQgc2hvdWxkIGhhcHBlbiBpZg0K PiA+ID4gPiA+ID4gICAgcHJpbWFyeSBkZXZpY2UgaXMgcmVjb25maWd1cmVkIGFuZCBzaGFyZWQg UnggaXMNCj4gPiA+ID4gPiA+ICAgIGRpc2FibGVkIG9uIHJlY29uZmlndXJhdGlvbi4NCj4gPiA+ ID4gPiANCj4gPiA+ID4gPiBJIGZlZWwgYmV0dGVyIG5vIHByaW1hcnkgcG9ydC9xdWV1ZSBhc3N1 bXB0aW9uIGluIGNvbmZpZ3VyYXRpb24sIGFsbA0KPiA+ID4gPiA+IG1lbWJlcnMgYXJlIGVxdWFs bHkgdHJlYXRlZCwgZWFjaCBxdWV1ZSBjYW4gam9pbiBvciBxdWl0IHNoYXJlIGdyb3VwLA0KPiA+ ID4gPiA+IHRoYXQncyBpbXBvcnRhbnQgdG8gc3VwcG9ydCBtdWx0aXBsZSBncm91cHMuDQo+ID4g PiANCj4gPiA+IEkgYWdyZWUuIFRoZSBwcm9ibGVtIG9mIG1hbnkgZmxleGlibGUgc29sdXRpb25z IGlzDQo+ID4gPiBjb21wbGV4aXR5IHRvIHN1cHBvcnQuIFdlJ2xsIHNlZSBob3cgaXQgZ29lcy4N Cj4gPiA+IA0KPiA+ID4gPiA+IA0KPiA+ID4gPiA+ID4gDQo+ID4gPiA+ID4gPiA1LiBJZiBzbywg aW4gdGhlb3J5IGltcGxlbWVudGF0aW9uIG9mIHRoZSBSeCBidXJzdA0KPiA+ID4gPiA+ID4gICAg aW4gdGhlIHNlY29uZGFyeSBjb3VsZCBzaW1wbHkgY2FsbCBSeCBidXJzdCBvbg0KPiA+ID4gPiA+ ID4gICAgcHJpbWFyeSBkZXZpY2UuDQo+ID4gPiA+ID4gPiANCj4gPiA+ID4gPiA+IEFuZHJldy4N Cj4gPiA+ID4gPiANCj4gPiA+ID4gDQo+ID4gPiA+IEhpIEFuZHJldywNCj4gPiA+ID4gDQo+ID4g PiA+IEkgcmVhbGl6ZWQgdGhhdCB3ZSBhcmUgdGFsa2luZyBkaWZmZXJlbnQgdGhpbmdzLCB0aGlz IGZlYXR1cmUNCj4gPiA+ID4gaW50cm9kdWNlZCAyIFJ4USBzaGFyZToNCj4gPiA+ID4gMS4gU2hh cmUgbWVtcG9vbCB0byBzYXZlIG1lbW9yeQ0KPiA+ID4gPiAyLiBTaGFyZSBwb2xsaW5nIHRvIHNh dmUgbGF0ZW5jeQ0KPiA+ID4gPiANCj4gPiA+ID4gV2hhdCB5b3Ugc3VnZ2VzdGVkIGlzIHJldXNl IGFsbCBSeFEgY29uZmlndXJhdGlvbiBJSVVDLCBtYXliZSB3ZSBzaG91bGQNCj4gPiA+ID4gYnJl YWsgdGhlIGZsYWcgaW50byAzLCBzbyBhcHBsaWNhdGlvbiBjb3VsZCBsZWFybiBQTUQgY2FwYWJp bGl0eSBhbmQNCj4gPiA+ID4gY29uZmlndXJlIGFjY29yZGluZ2x5LCBob3cgZG8geW91IHRoaW5r Pw0KPiA+ID4gPiBSVEVfRVRIX1JYX09GRkxPQURfUlhRX1NIQVJFX1BPT0wNCj4gPiA+IA0KPiA+ ID4gTm90IHN1cmUgdGhhdCBJIHVuZGVyc3RhbmQuIEp1c3Qgc3BlY2lmeSB0aGUgc2FtZSBtZW1w b29sDQo+ID4gPiBvbiBSeCBxdWV1ZSBzZXR1cC4gSXNuJ3QgaXQgc3VmZmljaWVudD8NCj4gPiA+ IA0KPiA+ID4gPiBSVEVfRVRIX1JYX09GRkxPQURfUlhRX1NIQVJFX1BPTEwNCj4gPiA+IA0KPiA+ ID4gSXQgaW1wbGllcyBwb29sIHNoYXJpbmcgaWYgSSdtIG5vdCBtaXN0YWtlbi4gT2YgY291cnNl LA0KPiA+ID4gd2UgY2FuIHBvb2wgbWFueSBkaWZmZXJlbnQgSFcgcXVldWVzIGluIG9uZSBwb2xs LCBidXQgaXQNCj4gPiA+IGhhcmRseSBtYWtlcyBzZW5zZSB0byBjYXJlIHNwZWNpYWxseSBhYm91 dCBpdC4NCj4gPiA+IElNSE8gUnhRIHNoYXJpbmcgaXMgYSBzaGFyaW5nIG9mIHRoZSB1bmRlcmx5 aW5nIEhXIFJ4IHF1ZXVlLg0KPiA+ID4gDQo+ID4gPiA+IFJURV9FVEhfUlhfT0ZGTE9BRF9SWFFf U0hBUkVfQ0ZHIC8vaW1wbGllcyBQT09MIGFuZCBQT0xMDQo+ID4gPiANCj4gPiA+IEl0IGlzIGhh cmRseSBhIGZlYXR1cmUuIFJhdGhlciBhIHBvc3NpYmxlIGxpbWl0YXRpb24uDQo+ID4gDQo+ID4g VGhhbmtzLCB0aGVuIEknZCBkcm9wIHRoaXMgc3VnZ2VzdGlvbiB0aGVuLg0KPiA+IA0KPiA+IEhl cmUgaXMgdGhlIFRPRE8gbGlzdCwgbGV0IG1lIGtub3cgaWYgYW55dGhpbmcgbWlzc2luZzoNCj4g PiAxLiBjaGFuZ2Ugb2ZmbG9hZCBmbGFnIHRvIFJURV9FVEhfREVWX0NBUEFfUlhfU0hBUkUNCj4g DQo+IFJURV9FVEhfREVWX0NBUEFfUlhRX1NIQVJFIHNpbmNlIGl0IGlzIG5vdCBzaGFyaW5nIG9m DQo+IGVudGlyZSBSeCwgYnV0IGp1c3Qgc29tZSBxdWV1ZXMuDQoNClY2IHBvc3RlZCwgdGhhbmtz IQ0KDQo+IA0KPiA+IDIuIFJ4USBzaGFyZSBncm91cCBjaGVjayBpbiBldGhkZXYNCj4gPiAzLiBh ZGQgcnhfZG9tYWluIGludG8gZGV2aWNlIGluZm8NCj4gPiANCj4gPiA+IA0KPiA+ID4gQW5kcmV3 Lg0KPiA+IA0KPiANCg0K