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 9E2D3A0547; Wed, 11 Aug 2021 14:59:23 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 3C5D640C35; Wed, 11 Aug 2021 14:59:23 +0200 (CEST) Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2086.outbound.protection.outlook.com [40.107.93.86]) by mails.dpdk.org (Postfix) with ESMTP id 5226140042 for ; Wed, 11 Aug 2021 14:59:21 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=j6TOqZRbFE5chsSdVyyGgB1bB7AGx4j2B5kEBO8I+Yp3vhrgu6K83UfJLK/VtptRxNUwUeKONXA6pcF3nRf4hpU8Z6nwSLG+CKqZ5eqm4RAWxVGnsZlJlCnjgFj6BQHoZY9TKHHR7KOklmQfhrhj3VsQ3ZODEp45rt/rJf8kreY4IZT6czo//5XBzQfL0/LCFN3/Llopky4vAyLPCcWS1jygdbmP02AOakJvphLuN3a+ucOhJ+TXWKo1LCM/QpSGX44QaUljrxHYwn9XOym/bt0ZJw1u8kn14syvxTK54sNcpdZgOWtWq7YKqybu0H4WuRRXPlHCuaGNEqVwDg3+WQ== 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-SenderADCheck; bh=wz4udIGAmOwpTyTQBCH2CDNYVneYNizLo8WxTES/ovg=; b=U6HnpjjGs9OgS+zarSGlWS0MUS8zpCDFEGCIxNTjlbVr7ZnPqRfzvPow11rvErMhCN8CX5hD5QBh/T17oijw/yFU/vPLre1kQ69saWU/orfSu8EjUTjvEMgAUHaClLNr1UQOFM1/MiaBlwtanNHrCaW/XgnmgSD9niUs52Fnj2QK7xSXtwADRj3Bk3dhfLBKSYxuI5NRdfOoZqbxiP8qQqzVC4wtsgeEPWVAABgw1JhJXLEc+ShXkrFnBPPNk9kziDCXBAkNffLtsB3eWlITZb+vo7qbdHeYFPtRmVNCXaAR3WLZS4ZE+9gOO9B2RYrUBA6hyyzlFCLWBcAMr4rAng== 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=wz4udIGAmOwpTyTQBCH2CDNYVneYNizLo8WxTES/ovg=; b=NB4EORI9pEntaOcArv67qC6A0I89vmazYYw2G909E/FO1d+iVtH/96iy93e5dUwZcU78DVcmcOx7bTXyQCWfp5nY9zlL6Y8uY6qRhfU736o/f5apDZXxxT+cEAv1fqmgvmb8vJm1uhmcm2ypzfl5GOt4kpIvMksu+GoBbCQC9R9ChzugwN2RV0+q5ye1JSWSYb3Ph46Rlg6dIXkM+mr4xihN9BzysUmcH8ZrNA0uMBNsBYhrY2yU5EO+8mw5ssIGHqwrO6osXcUcXBrAupwjjlFbqEdmYyxqNaOiT8IM1fNtR2ItggN8NWmtDyeqUft/7JDSFhVcvxthrbclnynSJg== Received: from DM4PR12MB5373.namprd12.prod.outlook.com (2603:10b6:5:39a::17) by DM6PR12MB5533.namprd12.prod.outlook.com (2603:10b6:5:1bc::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.14; Wed, 11 Aug 2021 12:59:19 +0000 Received: from DM4PR12MB5373.namprd12.prod.outlook.com ([fe80::20f5:dbdd:64b1:617b]) by DM4PR12MB5373.namprd12.prod.outlook.com ([fe80::20f5:dbdd:64b1:617b%9]) with mapi id 15.20.4415.016; Wed, 11 Aug 2021 12:59:19 +0000 From: "Xueming(Steven) Li" To: Ferruh Yigit , Jerin Jacob CC: dpdk-dev , NBU-Contact-Thomas Monjalon , Andrew Rybchenko Thread-Topic: [dpdk-dev] [PATCH v1] ethdev: introduce shared Rx queue Thread-Index: AQHXjRRw90lOFVUh8UWJorWd1QGccqtrMQAAgAAFuiCAAr2ogIAAA7rAgAA/vYCAAAVQoA== Date: Wed, 11 Aug 2021 12:59:19 +0000 Message-ID: References: <20210727034204.20649-1-xuemingl@nvidia.com> <20210809114716.22035-1-xuemingl@nvidia.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=nvidia.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: d51481bf-dddd-45ab-af97-08d95cc7d575 x-ms-traffictypediagnostic: DM6PR12MB5533: x-ld-processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:3276; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: ZSfZpEvTuYIFDGFcCrFEtEJOJMH3UGzrZgplfHw1hYc4mIQbQ3Iyq0Nc/HYma/hRvR1gMtcc+E90RReKYFPf/yCo/kWKZ/zqri3Z6VMhleat7HakwdpyZJPPuBaxXHDv5OLooIqb+nAZ5MABhQFX750La4znXHMix2ulOyqRcq7/rlV08r/VrXVuIPWnSjxjNyrPGQsaoYC29FcbDcqs6I5ia1wLCjGMx1Rh/e+WcH1meGBK2O1rriOg6eHYj0tWzVILEukUv5pwQgDIStcxYk/0NRvpeQKb6cm94z+ecRTApzUZTAw5JTVkaaczGhH+YWNpP7O8Kii8ReMQ+3m7A+x61LAlw9pwXMMY8fIC+qon69PHN1+dvmP4PSW368D4zDmGbVj5EmbaHE27ooGKe1LGr8wCDF8NJ/PPmv8g4UOGzO1gNHRrFRo9i9oMyIQNK4WMOiQ1Z6SiuNt2+YWsc8rxENBXRWvdxWGJjPoytuE4V7m2YL8CuXNbhVvCjJpzTmNquje2sTvu8vB67SZ4Blx9yUNJT3l/TM11wrHaKjrD4thYShNHhWYRBNAhhzqfX60Oq46aaDA4Cir41/cFMSaIMs9rqkRGIOZDF6NEOqdVzylR/DBVX7q99uNv33atPg3FHQlIoyfcyRq8TWJf6AWfil4sclsq7wWXnGAXWF/c3r53Ez8R5QzV70q5z8A+b9s4oXGtzkgT9VxzKzKOaOjfR5HX4BR6iUsQ+Rbe8UPGUTLJF6uRRd7OXlkt5nBxkGQZdtNlQYZJrj53yIwtvSppCYM1i2ruiQDlhUy3tcE= 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)(136003)(376002)(366004)(39860400002)(346002)(396003)(26005)(122000001)(66946007)(8676002)(5660300002)(38100700002)(186003)(66446008)(9686003)(478600001)(8936002)(316002)(83380400001)(76116006)(71200400001)(86362001)(4326008)(2906002)(7696005)(66476007)(66556008)(110136005)(54906003)(53546011)(38070700005)(30864003)(55016002)(64756008)(6506007)(52536014)(33656002); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?UEUzU1dGQm5hRnVPeDlVQUFHNmtLeGxoa0JzQllOTXpSc2hPWjFyd2J0RWZ5?= =?utf-8?B?Wmh4bkF1dUNRMzl6bDhOeXZrSndITGxscHdVcklDaFBuNVFrY21zZnExVzRC?= =?utf-8?B?ZUdMVXYrSUJVUGhybHYrMjFYOW5LZGJkM3lwSkVPWmkyS044SGNRU1RMYjUr?= =?utf-8?B?VHNub3A4NFBKK28rT0pteEJUUHpuZHQzYVNUdDNpRDBpZjVMcFZsWkR5WUNk?= =?utf-8?B?OEFETE9vZEh0SnBkelJPa2xXSW5OUVZjZllIOTR2WldKZEpySUV6TzFvWFFC?= =?utf-8?B?dTdrcklQQS9uUUwvQU9SU0w1WXhhd0g4Y0w0Y1RFTlBUQ3djRU10RGtYVjU4?= =?utf-8?B?WmF0Wis5UXVRZUlpSmhZblNCZkVWdlQ2aHA3OE5vcUthRkR5TDB6MWhDUzNi?= =?utf-8?B?TUpuZEhUZmhsbFZBOXkwMTUyZzQ3aUppbU96d0Qva3l1ZGFRdkFaNStGQ2N0?= =?utf-8?B?QWZKcHBZY0FiTU9MOFdFVHduNDVtaFllWGFSTC9VRjlXYjNzVExkRnRSMEFE?= =?utf-8?B?YVlYUW85QWVsMjBFSVVzWDdCa0FRK3EvNWhpbDN2WkpNaURDazNnRDN4ait5?= =?utf-8?B?VmNMNlF3TXI3aEJncE0xaTQvbXIwWkFRR1luSWpmczFpVGVISVFoaTRRbGpq?= =?utf-8?B?S3BtZktxYnAwRVF2aGxRejlRWnZUTGRkL0xBZ29PY05MQUJQZ2FhcUdzRXND?= =?utf-8?B?Q042SENDN0QrQWZkNGNCSXp0NXk1OU9vYVVLQjJJLzU5aHMrWlVCTUswaUNH?= =?utf-8?B?QmIvblcvNW0wYXplOEZzMm1LM1J0ZFRsOTVDWEZLMG9rOGtBRTdnY3ZrRUFB?= =?utf-8?B?Ukg4UEFNMHQyM2MxN3ZzK2hVeW1DMU5vMjhGYnJZbXFrS0NvRGdocHk1cmNK?= =?utf-8?B?K0FOYzNaYnV5VnVBRVVCZkhqZGtzZzBRaExnQ1FETGdBcEVJblFuUzJBcm5W?= =?utf-8?B?eURvYjZuck9yNm5PMUlUbE52aW9ZNjhIbTJ3ci9ER3V3d3JudGxXakU4citO?= =?utf-8?B?ckNaT1h2Z3BjYzZQZ1dpVm9la1g4dlEvTVpXN3ZYOTNLY0ZZb0tSVzFXWGFX?= =?utf-8?B?ZTVPOHBWR1g0RFNvVnV0cjNVTXkrbDZzc2lSU2ljQU1STXQ5czUzY2plQ05t?= =?utf-8?B?U1RQdXlCcnpSOU9vWlFPanNabmUrQ3FXY3BjOTY3LzkyTS9IdG5NNElYKzZ4?= =?utf-8?B?NENSQ1AzWWwxLzRDVnBwSkxWQ2h2SnpKc2lvWjUrWG5XaFpHcHBsRlExdVBV?= =?utf-8?B?bWdRWnhsdEJIOTVHb0F3UzJCSWZyZERmNnhWTDh3UTIybS90ejQ2SWFPbVF3?= =?utf-8?B?L2w3N0RYNjFUTkNBcjNxcUlHc1JzS0RESHhsdUFIemd6d1VQQm5nSEdXM0tQ?= =?utf-8?B?SEQzZE1UaGhuL3FucTZmQ3F6a01vWmtkVEZ3OUdtWWNZbjlUd3FsUHFyK21u?= =?utf-8?B?eDZsMVhhbU1KTWlxYUdrZ0JDQ2NGcnR3eFZDRnNuU1JvVk9xank4UGhiMnNN?= =?utf-8?B?bDJxN3ExdzNUMWN4N3ZqMXNSN2lheFZDa1ZpZWluUnVNNEJCc0dDanRsOGhV?= =?utf-8?B?NG5VR0oyYStabGRLMTJLQ3ZaV1hDSlZpYTZzeWJvNExIZHhpNzRxbTByYlVW?= =?utf-8?B?OGVpVnhTVXIrcG9rb1FEVk1uVHpHT2RaNHA1SEM2VEVVY2RwbWtNYm16Vkky?= =?utf-8?B?dXk0d1hPVi9XeEFBSHh4enVhQXZCdFMrV3hNaFNiVmEyOS9hOE1TQkRGV1V1?= =?utf-8?Q?muqH3EHNOzHfwresu/bWXiHPgQ23qMSIsFN4ys3?= x-ms-exchange-transport-forked: True 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: DM4PR12MB5373.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: d51481bf-dddd-45ab-af97-08d95cc7d575 X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Aug 2021 12:59:19.8724 (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: 1vuYtQmZfb2VsMwpwLoKHymh6EF5CmcZ86O5z4A7GtZlZBHZvvLPfenucMyw57FaJZjPH9kZsoE87d9MuM15AQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB5533 Subject: Re: [dpdk-dev] [PATCH v1] 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" DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogRmVycnVoIFlpZ2l0IDxm ZXJydWgueWlnaXRAaW50ZWwuY29tPg0KPiBTZW50OiBXZWRuZXNkYXksIEF1Z3VzdCAxMSwgMjAy MSA4OjA0IFBNDQo+IFRvOiBYdWVtaW5nKFN0ZXZlbikgTGkgPHh1ZW1pbmdsQG52aWRpYS5jb20+ OyBKZXJpbiBKYWNvYiA8amVyaW5qYWNvYmtAZ21haWwuY29tPg0KPiBDYzogZHBkay1kZXYgPGRl dkBkcGRrLm9yZz47IE5CVS1Db250YWN0LVRob21hcyBNb25qYWxvbiA8dGhvbWFzQG1vbmphbG9u Lm5ldD47IEFuZHJldyBSeWJjaGVua28NCj4gPGFuZHJldy5yeWJjaGVua29Ab2t0ZXRsYWJzLnJ1 Pg0KPiBTdWJqZWN0OiBSZTogW2RwZGstZGV2XSBbUEFUQ0ggdjFdIGV0aGRldjogaW50cm9kdWNl IHNoYXJlZCBSeCBxdWV1ZQ0KPiANCj4gT24gOC8xMS8yMDIxIDk6MjggQU0sIFh1ZW1pbmcoU3Rl dmVuKSBMaSB3cm90ZToNCj4gPg0KPiA+DQo+ID4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0t DQo+ID4+IEZyb206IEplcmluIEphY29iIDxqZXJpbmphY29ia0BnbWFpbC5jb20+DQo+ID4+IFNl bnQ6IFdlZG5lc2RheSwgQXVndXN0IDExLCAyMDIxIDQ6MDMgUE0NCj4gPj4gVG86IFh1ZW1pbmco U3RldmVuKSBMaSA8eHVlbWluZ2xAbnZpZGlhLmNvbT4NCj4gPj4gQ2M6IGRwZGstZGV2IDxkZXZA ZHBkay5vcmc+OyBGZXJydWggWWlnaXQgPGZlcnJ1aC55aWdpdEBpbnRlbC5jb20+Ow0KPiA+PiBO QlUtQ29udGFjdC1UaG9tYXMgTW9uamFsb24gPHRob21hc0Btb25qYWxvbi5uZXQ+OyBBbmRyZXcg UnliY2hlbmtvDQo+ID4+IDxhbmRyZXcucnliY2hlbmtvQG9rdGV0bGFicy5ydT4NCj4gPj4gU3Vi amVjdDogUmU6IFtkcGRrLWRldl0gW1BBVENIIHYxXSBldGhkZXY6IGludHJvZHVjZSBzaGFyZWQg UnggcXVldWUNCj4gPj4NCj4gPj4gT24gTW9uLCBBdWcgOSwgMjAyMSBhdCA3OjQ2IFBNIFh1ZW1p bmcoU3RldmVuKSBMaSA8eHVlbWluZ2xAbnZpZGlhLmNvbT4gd3JvdGU6DQo+ID4+Pg0KPiA+Pj4g SGksDQo+ID4+Pg0KPiA+Pj4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4+Pj4gRnJv bTogSmVyaW4gSmFjb2IgPGplcmluamFjb2JrQGdtYWlsLmNvbT4NCj4gPj4+PiBTZW50OiBNb25k YXksIEF1Z3VzdCA5LCAyMDIxIDk6NTEgUE0NCj4gPj4+PiBUbzogWHVlbWluZyhTdGV2ZW4pIExp IDx4dWVtaW5nbEBudmlkaWEuY29tPg0KPiA+Pj4+IENjOiBkcGRrLWRldiA8ZGV2QGRwZGsub3Jn PjsgRmVycnVoIFlpZ2l0IDxmZXJydWgueWlnaXRAaW50ZWwuY29tPjsNCj4gPj4+PiBOQlUtQ29u dGFjdC1UaG9tYXMgTW9uamFsb24gPHRob21hc0Btb25qYWxvbi5uZXQ+OyBBbmRyZXcgUnliY2hl bmtvDQo+ID4+Pj4gPGFuZHJldy5yeWJjaGVua29Ab2t0ZXRsYWJzLnJ1Pg0KPiA+Pj4+IFN1Ympl Y3Q6IFJlOiBbZHBkay1kZXZdIFtQQVRDSCB2MV0gZXRoZGV2OiBpbnRyb2R1Y2Ugc2hhcmVkIFJ4 DQo+ID4+Pj4gcXVldWUNCj4gPj4+Pg0KPiA+Pj4+IE9uIE1vbiwgQXVnIDksIDIwMjEgYXQgNTox OCBQTSBYdWVtaW5nIExpIDx4dWVtaW5nbEBudmlkaWEuY29tPiB3cm90ZToNCj4gPj4+Pj4NCj4g Pj4+Pj4gSW4gY3VycmVudCBEUERLIGZyYW1ld29yaywgZWFjaCBSWCBxdWV1ZSBpcyBwcmUtbG9h ZGVkIHdpdGggbWJ1ZnMNCj4gPj4+Pj4gZm9yIGluY29taW5nIHBhY2tldHMuIFdoZW4gbnVtYmVy IG9mIHJlcHJlc2VudG9ycyBzY2FsZSBvdXQgaW4gYQ0KPiA+Pj4+PiBzd2l0Y2ggZG9tYWluLCB0 aGUgbWVtb3J5IGNvbnN1bXB0aW9uIGJlY2FtZSBzaWduaWZpY2FudC4gTW9zdA0KPiA+Pj4+PiBp bXBvcnRhbnQsIHBvbGxpbmcgYWxsIHBvcnRzIGxlYWRzIHRvIGhpZ2ggY2FjaGUgbWlzcywgaGln aA0KPiA+Pj4+PiBsYXRlbmN5IGFuZCBsb3cgdGhyb3VnaHB1dC4NCj4gPj4+Pj4NCj4gPj4+Pj4g VGhpcyBwYXRjaCBpbnRyb2R1Y2VzIHNoYXJlZCBSWCBxdWV1ZS4gUG9ydHMgd2l0aCBzYW1lDQo+ ID4+Pj4+IGNvbmZpZ3VyYXRpb24gaW4gYSBzd2l0Y2ggZG9tYWluIGNvdWxkIHNoYXJlIFJYIHF1 ZXVlIHNldCBieSBzcGVjaWZ5aW5nIHNoYXJpbmcgZ3JvdXAuDQo+ID4+Pj4+IFBvbGxpbmcgYW55 IHF1ZXVlIHVzaW5nIHNhbWUgc2hhcmVkIFJYIHF1ZXVlIHJlY2VpdmVzIHBhY2tldHMgZnJvbQ0K PiA+Pj4+PiBhbGwgbWVtYmVyIHBvcnRzLiBTb3VyY2UgcG9ydCBpcyBpZGVudGlmaWVkIGJ5IG1i dWYtPnBvcnQuDQo+ID4+Pj4+DQo+ID4+Pj4+IFBvcnQgcXVldWUgbnVtYmVyIGluIGEgc2hhcmVk IGdyb3VwIHNob3VsZCBiZSBpZGVudGljYWwuIFF1ZXVlDQo+ID4+Pj4+IGluZGV4IGlzDQo+ID4+ Pj4+IDE6MSBtYXBwZWQgaW4gc2hhcmVkIGdyb3VwLg0KPiA+Pj4+Pg0KPiA+Pj4+PiBTaGFyZSBS WCBxdWV1ZSBpcyBzdXBwb3NlZCB0byBiZSBwb2xsZWQgb24gc2FtZSB0aHJlYWQuDQo+ID4+Pj4+ DQo+ID4+Pj4+IE11bHRpcGxlIGdyb3VwcyBpcyBzdXBwb3J0ZWQgYnkgZ3JvdXAgSUQuDQo+ID4+ Pj4NCj4gPj4+PiBJcyB0aGlzIG9mZmxvYWQgc3BlY2lmaWMgdG8gdGhlIHJlcHJlc2VudG9yPyBJ ZiBzbyBjYW4gdGhpcyBuYW1lIGJlIGNoYW5nZWQgc3BlY2lmaWNhbGx5IHRvIHJlcHJlc2VudG9y Pw0KPiA+Pj4NCj4gPj4+IFllcywgUEYgYW5kIHJlcHJlc2VudG9yIGluIHN3aXRjaCBkb21haW4g Y291bGQgdGFrZSBhZHZhbnRhZ2UuDQo+ID4+Pg0KPiA+Pj4+IElmIGl0IGlzIGZvciBhIGdlbmVy aWMgY2FzZSwgaG93IHRoZSBmbG93IG9yZGVyaW5nIHdpbGwgYmUgbWFpbnRhaW5lZD8NCj4gPj4+ DQo+ID4+PiBOb3QgcXVpdGUgc3VyZSB0aGF0IEkgdW5kZXJzdG9vZCB5b3VyIHF1ZXN0aW9uLiBU aGUgY29udHJvbCBwYXRoIG9mDQo+ID4+PiBpcyBhbG1vc3Qgc2FtZSBhcyBiZWZvcmUsIFBGIGFu ZCByZXByZXNlbnRvciBwb3J0IHN0aWxsIG5lZWRlZCwgcnRlIGZsb3dzIG5vdCBpbXBhY3RlZC4N Cj4gPj4+IFF1ZXVlcyBzdGlsbCBuZWVkZWQgZm9yIGVhY2ggbWVtYmVyIHBvcnQsIGRlc2NyaXB0 b3JzKG1idWYpIHdpbGwgYmUNCj4gPj4+IHN1cHBsaWVkIGZyb20gc2hhcmVkIFJ4IHF1ZXVlIGlu IG15IFBNRCBpbXBsZW1lbnRhdGlvbi4NCj4gPj4NCj4gPj4gTXkgcXVlc3Rpb24gd2FzIGlmIGNy ZWF0ZSBhIGdlbmVyaWMgUlRFX0VUSF9SWF9PRkZMT0FEX1NIQVJFRF9SWFENCj4gPj4gb2ZmbG9h ZCwgbXVsdGlwbGUgZXRoZGV2IHJlY2VpdmUgcXVldWVzIGxhbmQgaW50byB0aGUgc2FtZSByZWNl aXZlIHF1ZXVlLCBJbiB0aGF0IGNhc2UsIGhvdyB0aGUgZmxvdyBvcmRlciBpcyBtYWludGFpbmVk IGZvcg0KPiByZXNwZWN0aXZlIHJlY2VpdmUgcXVldWVzLg0KPiA+DQo+ID4gSSBndWVzcyB0aGUg cXVlc3Rpb24gaXMgdGVzdHBtZCBmb3J3YXJkIHN0cmVhbT8gVGhlIGZvcndhcmRpbmcgbG9naWMg aGFzIHRvIGJlIGNoYW5nZWQgc2xpZ2h0bHkgaW4gY2FzZSBvZiBzaGFyZWQgcnhxLg0KPiA+IGJh c2ljYWxseSBmb3IgZWFjaCBwYWNrZXQgaW4gcnhfYnVyc3QgcmVzdWx0LCBsb29rdXAgc291cmNl IHN0cmVhbSBhY2NvcmRpbmcgdG8gbWJ1Zi0+cG9ydCwgZm9yd2FyZGluZyB0byB0YXJnZXQgZnMu DQo+ID4gUGFja2V0cyBmcm9tIHNhbWUgc291cmNlIHBvcnQgY291bGQgYmUgZ3JvdXBlZCBhcyBh IHNtYWxsIGJ1cnN0IHRvDQo+ID4gcHJvY2VzcywgdGhpcyB3aWxsIGFjY2VsZXJhdGVzIHRoZSBw ZXJmb3JtYW5jZSBpZiB0cmFmZmljIGNvbWUgZnJvbQ0KPiA+IGxpbWl0ZWQgcG9ydHMuIEknbGwg aW50cm9kdWNlIHNvbWUgY29tbW9uIGFwaSB0byBkbyBzaGFyZCByeHEgZm9yd2FyZGluZywgY2Fs bCBpdCB3aXRoIHBhY2tldHMgaGFuZGxpbmcgY2FsbGJhY2ssIHNvIGl0IHN1aXRlcyBmb3IgYWxs DQo+IGZvcndhcmRpbmcgZW5naW5lLiBXaWxsIHNlbnQgcGF0Y2hlcyBzb29uLg0KPiA+DQo+IA0K PiBBbGwgcG9ydHMgd2lsbCBwdXQgdGhlIHBhY2tldHMgaW4gdG8gdGhlIHNhbWUgcXVldWUgKHNo YXJlIHF1ZXVlKSwgcmlnaHQ/IERvZXMgdGhpcyBtZWFucyBvbmx5IHNpbmdsZSBjb3JlIHdpbGwg cG9sbCBvbmx5LCB3aGF0IHdpbGwNCj4gaGFwcGVuIGlmIHRoZXJlIGFyZSBtdWx0aXBsZSBjb3Jl cyBwb2xsaW5nLCB3b24ndCBpdCBjYXVzZSBwcm9ibGVtPw0KDQpUaGlzIGhhcyBiZWVuIG1lbnRp b25lZCBpbiBjb21taXQgbG9nLCB0aGUgc2hhcmVkIHJ4cSBpcyBzdXBwb3NlZCB0byBiZSBwb2xs aW5nIGluIHNpbmdsZSB0aHJlYWQoY29yZSkgLSBJIHRoaW5rIGl0IHNob3VsZCBiZSAiTVVTVCIu DQpSZXN1bHQgaXMgdW5leHBlY3RlZCBpZiB0aGVyZSBhcmUgbXVsdGlwbGUgY29yZXMgcG9vbGlu ZywgdGhhdCdzIHdoeSBJIGFkZGVkIGEgcG9sbGluZyBzY2hlZHVsZSBjaGVjayBpbiB0ZXN0cG1k Lg0KU2ltaWxhciBmb3IgcngvdHggYnVyc3QgZnVuY3Rpb24sIGEgcXVldWUgY2FuJ3QgYmUgcG9s bGVkIG9uIG11bHRpcGxlIHRocmVhZChjb3JlKSwgYW5kIGZvciBwZXJmb3JtYW5jZSBjb25jZXJu LCBubyBzdWNoIGNoZWNrIGluIGVhbCBhcGkuDQoNCklmIHVzZXJzIHdhbnQgdG8gdXRpbGl6ZSBt dWx0aXBsZSBjb3JlcyB0byBkaXN0cmlidXRlIHdvcmtsb2FkcywgaXQncyBwb3NzaWJsZSB0byBk ZWZpbmUgbW9yZSBncm91cHMsIHF1ZXVlcyBpbiBkaWZmZXJlbnQgZ3JvdXAgY291bGQgYmUNCmNv dWxkIGJlIHBvbGxlZCBvbiBtdWx0aXBsZSBjb3Jlcy4NCg0KSXQncyBwb3NzaWJsZSB0byBwb2xs IGV2ZXJ5IG1lbWJlciBwb3J0IGluIGdyb3VwLCBidXQgbm90IG5lY2Vzc2FyeSwgYW55IHBvcnQg aW4gZ3JvdXAgY291bGQgYmUgcG9sbGVkIHRvIGdldCBwYWNrZXRzIGZvciBhbGwgcG9ydHMgaW4g Z3JvdXAuDQoNCklmIHRoZSBtZW1iZXIgcG9ydCBzdWJqZWN0IHRvIGhvdCBwbHVnL3JlbW92ZSwg IGl0J3MgcG9zc2libGUgdG8gY3JlYXRlIGEgdmRldiB3aXRoIHNhbWUgcXVldWUgbnVtYmVyLCBj b3B5IHJ4cSBvYmplY3QgYW5kIHBvbGwgdmRldg0KYXMgYSBkZWRpY2F0ZSBwcm94eSBmb3IgdGhl IGdyb3VwLg0KDQo+IA0KPiBBbmQgaWYgdGhpcyByZXF1aXJlcyBzcGVjaWZpYyBjaGFuZ2VzIGlu IHRoZSBhcHBsaWNhdGlvbiwgSSBhbSBub3Qgc3VyZSBhYm91dCB0aGUgc29sdXRpb24sIGNhbid0 IHRoaXMgd29yayBpbiBhIHRyYW5zcGFyZW50IHdheSB0byB0aGUNCj4gYXBwbGljYXRpb24/DQoN Clllcywgd2UgY29uc2lkZXJlZCBkaWZmZXJlbnQgb3B0aW9ucyBpbiBkZXNpZ24gc3RhZ2UuIE9u ZSBwb3NzaWJsZSBzb2x1dGlvbiBpcyB0byBjYWNoZSByZWNlaXZlZCBwYWNrZXRzIGluIHJpbmdz LCB0aGlzIGNhbiBiZSBkb25lIG9uDQpldGggbGF5ZXIsIGJ1dCBJJ20gYWZyYWlkIGxlc3MgYmVu ZWZpdHMsIHVzZXIgc3RpbGwgaGFzIHRvIGJlIGEgd2FyZSBvZiBtdWx0aXBsZSBjb3JlIHBvbGxp bmcuIA0KVGhpcyBjYW4gYmUgZG9uZSBhcyBhIHdyYXBwZXIgUE1EIGxhdGVyLCBtb3JlIGVmZm9y dHMuDQoNCj4gDQo+IE92ZXJhbGwsIGlzIHRoaXMgZm9yIG9wdGltaXppbmcgbWVtb3J5IGZvciB0 aGUgcG9ydCByZXByZXNvbnRvcnM/IElmIHNvIGNhbid0IHdlIGhhdmUgYSBwb3J0IHJlcHJlc2Vu dG9yIHNwZWNpZmljIHNvbHV0aW9uLCByZWR1Y2luZw0KPiBzY29wZSBjYW4gcmVkdWNlIHRoZSBj b21wbGV4aXR5IGl0IGJyaW5ncz8NCg0KVGhpcyBmZWF0dXJlIHN1cHBvcnRzIGJvdGggUEYgYW5k IHJlcHJlc2VudG9yLCBhbmQgeWVzLCBtYWpvciBpc3N1ZSBpcyBtZW1vcnkgb2YgcmVwcmVzZW50 b3JzLiBQb2xsIGFsbCByZXByZXNlbnRvcnMgYWxzbyANCmludHJvZHVjZXMgbW9yZSBjb3JlIGNh Y2hlIG1pc3MgbGF0ZW5jeS4gVGhpcyBmZWF0dXJlIGVzc2VudGlhbGx5IGFnZ3JlZ2F0ZXMgYWxs IHBvcnRzIGluIGdyb3VwIGFzIG9uZSBwb3J0Lg0KT24gdGhlIG90aGVyIGhhbmQsIGl0J3MgdXNl ZnVsIGZvciBydGUgZmxvdyB0byBjcmVhdGUgb2ZmbG9hZGluZyBmbG93cyB1c2luZyByZXByZXNl bnRvciBhcyBhIHJlZ3VsYXIgcG9ydCBJRC4NCg0KSXQncyBncmVhdCBpZiBhbnkgbmV3IHNvbHV0 aW9uL3N1Z2dlc3Rpb24sIG15IGhlYWQgYnVyaWVkIGluIFBNRCBjb2RlIDopDQoNCj4gDQo+ID4+ IElmIHRoaXMgb2ZmbG9hZCBpcyBvbmx5IHVzZWZ1bCBmb3IgcmVwcmVzZW50b3IgY2FzZSwgQ2Fu IHdlIG1ha2UgdGhpcw0KPiA+PiBvZmZsb2FkIHNwZWNpZmljIHRvIHJlcHJlc2VudG9yIHRoZSBj YXNlIGJ5IGNoYW5naW5nIGl0cyBuYW1lIGFuZCBzY29wZS4NCj4gPg0KPiA+IEl0IHdvcmtzIGZv ciBib3RoIFBGIGFuZCByZXByZXNlbnRvcnMgaW4gc2FtZSBzd2l0Y2ggZG9tYWluLCBmb3IgYXBw bGljYXRpb24gbGlrZSBPVlMsIGZldyBjaGFuZ2VzIHRvIGFwcGx5Lg0KPiA+DQo+ID4+DQo+ID4+ DQo+ID4+Pg0KPiA+Pj4+DQo+ID4+Pj4+DQo+ID4+Pj4+IFNpZ25lZC1vZmYtYnk6IFh1ZW1pbmcg TGkgPHh1ZW1pbmdsQG52aWRpYS5jb20+DQo+ID4+Pj4+IC0tLQ0KPiA+Pj4+PiAgZG9jL2d1aWRl cy9uaWNzL2ZlYXR1cmVzLnJzdCAgICAgICAgICAgICAgICAgICAgfCAxMSArKysrKysrKysrKw0K PiA+Pj4+PiAgZG9jL2d1aWRlcy9uaWNzL2ZlYXR1cmVzL2RlZmF1bHQuaW5pICAgICAgICAgICAg fCAgMSArDQo+ID4+Pj4+ICBkb2MvZ3VpZGVzL3Byb2dfZ3VpZGUvc3dpdGNoX3JlcHJlc2VudGF0 aW9uLnJzdCB8IDEwICsrKysrKysrKysNCj4gPj4+Pj4gIGxpYi9ldGhkZXYvcnRlX2V0aGRldi5j ICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDEgKw0KPiA+Pj4+PiAgbGliL2V0aGRldi9ydGVf ZXRoZGV2LmggICAgICAgICAgICAgICAgICAgICAgICAgfCAgNyArKysrKysrDQo+ID4+Pj4+ICA1 IGZpbGVzIGNoYW5nZWQsIDMwIGluc2VydGlvbnMoKykNCj4gPj4+Pj4NCj4gPj4+Pj4gZGlmZiAt LWdpdCBhL2RvYy9ndWlkZXMvbmljcy9mZWF0dXJlcy5yc3QNCj4gPj4+Pj4gYi9kb2MvZ3VpZGVz L25pY3MvZmVhdHVyZXMucnN0IGluZGV4IGE5NmUxMmQxNTUuLjJlMmE5YjE1NTQgMTAwNjQ0DQo+ ID4+Pj4+IC0tLSBhL2RvYy9ndWlkZXMvbmljcy9mZWF0dXJlcy5yc3QNCj4gPj4+Pj4gKysrIGIv ZG9jL2d1aWRlcy9uaWNzL2ZlYXR1cmVzLnJzdA0KPiA+Pj4+PiBAQCAtNjI0LDYgKzYyNCwxNyBA QCBTdXBwb3J0cyBpbm5lciBwYWNrZXQgTDQgY2hlY2tzdW0uDQo+ID4+Pj4+ICAgIGBgdHhfb2Zm bG9hZF9jYXBhLHR4X3F1ZXVlX29mZmxvYWRfY2FwYTpERVZfVFhfT0ZGTE9BRF9PVVRFUl9VRFBf Q0tTVU1gYC4NCj4gPj4+Pj4NCj4gPj4+Pj4NCj4gPj4+Pj4gKy4uIF9uaWNfZmVhdHVyZXNfc2hh cmVkX3J4X3F1ZXVlOg0KPiA+Pj4+PiArDQo+ID4+Pj4+ICtTaGFyZWQgUnggcXVldWUNCj4gPj4+ Pj4gKy0tLS0tLS0tLS0tLS0tLQ0KPiA+Pj4+PiArDQo+ID4+Pj4+ICtTdXBwb3J0cyBzaGFyZWQg UnggcXVldWUgZm9yIHBvcnRzIGluIHNhbWUgc3dpdGNoIGRvbWFpbi4NCj4gPj4+Pj4gKw0KPiA+ Pj4+PiArKiAqKlt1c2VzXSAgICAgcnRlX2V0aF9yeGNvbmYscnRlX2V0aF9yeG1vZGUqKjogYGBv ZmZsb2FkczpSVEVfRVRIX1JYX09GRkxPQURfU0hBUkVEX1JYUWBgLg0KPiA+Pj4+PiArKiAqKltw cm92aWRlc10gbWJ1ZioqOiBgYG1idWYucG9ydGBgLg0KPiA+Pj4+PiArDQo+ID4+Pj4+ICsNCj4g Pj4+Pj4gIC4uIF9uaWNfZmVhdHVyZXNfcGFja2V0X3R5cGVfcGFyc2luZzoNCj4gPj4+Pj4NCj4g Pj4+Pj4gIFBhY2tldCB0eXBlIHBhcnNpbmcNCj4gPj4+Pj4gZGlmZiAtLWdpdCBhL2RvYy9ndWlk ZXMvbmljcy9mZWF0dXJlcy9kZWZhdWx0LmluaQ0KPiA+Pj4+PiBiL2RvYy9ndWlkZXMvbmljcy9m ZWF0dXJlcy9kZWZhdWx0LmluaQ0KPiA+Pj4+PiBpbmRleCA3NTQxODRkZGQ0Li5lYmViNGMxODUx IDEwMDY0NA0KPiA+Pj4+PiAtLS0gYS9kb2MvZ3VpZGVzL25pY3MvZmVhdHVyZXMvZGVmYXVsdC5p bmkNCj4gPj4+Pj4gKysrIGIvZG9jL2d1aWRlcy9uaWNzL2ZlYXR1cmVzL2RlZmF1bHQuaW5pDQo+ ID4+Pj4+IEBAIC0xOSw2ICsxOSw3IEBAIEZyZWUgVHggbWJ1ZiBvbiBkZW1hbmQgPQ0KPiA+Pj4+ PiAgUXVldWUgc3RhcnQvc3RvcCAgICAgPQ0KPiA+Pj4+PiAgUnVudGltZSBSeCBxdWV1ZSBzZXR1 cCA9DQo+ID4+Pj4+ICBSdW50aW1lIFR4IHF1ZXVlIHNldHVwID0NCj4gPj4+Pj4gK1NoYXJlZCBS eCBxdWV1ZSAgICAgID0NCj4gPj4+Pj4gIEJ1cnN0IG1vZGUgaW5mbyAgICAgID0NCj4gPj4+Pj4g IFBvd2VyIG1nbXQgYWRkcmVzcyBtb25pdG9yID0NCj4gPj4+Pj4gIE1UVSB1cGRhdGUgICAgICAg ICAgID0NCj4gPj4+Pj4gZGlmZiAtLWdpdCBhL2RvYy9ndWlkZXMvcHJvZ19ndWlkZS9zd2l0Y2hf cmVwcmVzZW50YXRpb24ucnN0DQo+ID4+Pj4+IGIvZG9jL2d1aWRlcy9wcm9nX2d1aWRlL3N3aXRj aF9yZXByZXNlbnRhdGlvbi5yc3QNCj4gPj4+Pj4gaW5kZXggZmY2YWE5MWM4MC4uNDViZjVhM2Ex MCAxMDA2NDQNCj4gPj4+Pj4gLS0tIGEvZG9jL2d1aWRlcy9wcm9nX2d1aWRlL3N3aXRjaF9yZXBy ZXNlbnRhdGlvbi5yc3QNCj4gPj4+Pj4gKysrIGIvZG9jL2d1aWRlcy9wcm9nX2d1aWRlL3N3aXRj aF9yZXByZXNlbnRhdGlvbi5yc3QNCj4gPj4+Pj4gQEAgLTEyMyw2ICsxMjMsMTYgQEAgdGhvdWdo dCBhcyBhIHNvZnR3YXJlICJwYXRjaCBwYW5lbCIgZnJvbnQtZW5kIGZvciBhcHBsaWNhdGlvbnMu DQo+ID4+Pj4+ICAuLiBbMV0gYEV0aGVybmV0IHN3aXRjaCBkZXZpY2UgZHJpdmVyIG1vZGVsIChz d2l0Y2hkZXYpDQo+ID4+Pj4+DQo+ID4+Pj4+IDxodHRwczovL3d3dy5rZXJuZWwub3JnL2RvYy9E b2N1bWVudGF0aW9uL25ldHdvcmtpbmcvc3dpdGNoZGV2LnR4dA0KPiA+Pj4+Pj4gYF8NCj4gPj4+ Pj4NCj4gPj4+Pj4gKy0gTWVtb3J5IHVzYWdlIG9mIHJlcHJlc2VudG9ycyBpcyBodWdlIHdoZW4g bnVtYmVyIG9mIHJlcHJlc2VudG9yDQo+ID4+Pj4+ICtncm93cywNCj4gPj4+Pj4gKyAgYmVjYXVz ZSBQTUQgYWx3YXlzIGFsbG9jYXRlIG1idWYgZm9yIGVhY2ggZGVzY3JpcHRvciBvZiBSeCBxdWV1 ZS4NCj4gPj4+Pj4gKyAgUG9sbGluZyB0aGUgbGFyZ2UgbnVtYmVyIG9mIHBvcnRzIGJyaW5ncyBt b3JlIENQVSBsb2FkLCBjYWNoZQ0KPiA+Pj4+PiArbWlzcyBhbmQNCj4gPj4+Pj4gKyAgbGF0ZW5j eS4gU2hhcmVkIFJ4IHF1ZXVlIGNhbiBiZSB1c2VkIHRvIHNoYXJlIFJ4IHF1ZXVlIGJldHdlZW4N Cj4gPj4+Pj4gK1BGIGFuZA0KPiA+Pj4+PiArICByZXByZXNlbnRvcnMgaW4gc2FtZSBzd2l0Y2gg ZG9tYWluLg0KPiA+Pj4+PiArYGBSVEVfRVRIX1JYX09GRkxPQURfU0hBUkVEX1JYUWBgDQo+ID4+ Pj4+ICsgIGlzIHByZXNlbnQgaW4gUnggb2ZmbG9hZGluZyBjYXBhYmlsaXR5IG9mIGRldmljZSBp bmZvLiBTZXR0aW5nDQo+ID4+Pj4+ICt0aGUNCj4gPj4+Pj4gKyAgb2ZmbG9hZGluZyBmbGFnIGlu IGRldmljZSBSeCBtb2RlIG9yIFJ4IHF1ZXVlIGNvbmZpZ3VyYXRpb24gdG8NCj4gPj4+Pj4gK2Vu YWJsZQ0KPiA+Pj4+PiArICBzaGFyZWQgUnggcXVldWUuIFBvbGxpbmcgYW55IG1lbWJlciBwb3J0 IG9mIHNoYXJlZCBSeCBxdWV1ZSBjYW4NCj4gPj4+Pj4gK3JldHVybg0KPiA+Pj4+PiArICBwYWNr ZXRzIG9mIGFsbCBwb3J0cyBpbiBncm91cCwgcG9ydCBJRCBpcyBzYXZlZCBpbiBgYG1idWYucG9y dGBgLg0KPiA+Pj4+PiArDQo+ID4+Pj4+ICBCYXNpYyBTUi1JT1YNCj4gPj4+Pj4gIC0tLS0tLS0t LS0tLQ0KPiA+Pj4+Pg0KPiA+Pj4+PiBkaWZmIC0tZ2l0IGEvbGliL2V0aGRldi9ydGVfZXRoZGV2 LmMgYi9saWIvZXRoZGV2L3J0ZV9ldGhkZXYuYw0KPiA+Pj4+PiBpbmRleCA5ZDk1Y2QxMWUxLi4x MzYxZmY3NTlhIDEwMDY0NA0KPiA+Pj4+PiAtLS0gYS9saWIvZXRoZGV2L3J0ZV9ldGhkZXYuYw0K PiA+Pj4+PiArKysgYi9saWIvZXRoZGV2L3J0ZV9ldGhkZXYuYw0KPiA+Pj4+PiBAQCAtMTI3LDYg KzEyNyw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgew0KPiA+Pj4+PiAgICAgICAgIFJURV9SWF9P RkZMT0FEX0JJVDJTVFIoT1VURVJfVURQX0NLU1VNKSwNCj4gPj4+Pj4gICAgICAgICBSVEVfUlhf T0ZGTE9BRF9CSVQyU1RSKFJTU19IQVNIKSwNCj4gPj4+Pj4gICAgICAgICBSVEVfRVRIX1JYX09G RkxPQURfQklUMlNUUihCVUZGRVJfU1BMSVQpLA0KPiA+Pj4+PiArICAgICAgIFJURV9FVEhfUlhf T0ZGTE9BRF9CSVQyU1RSKFNIQVJFRF9SWFEpLA0KPiA+Pj4+PiAgfTsNCj4gPj4+Pj4NCj4gPj4+ Pj4gICN1bmRlZiBSVEVfUlhfT0ZGTE9BRF9CSVQyU1RSDQo+ID4+Pj4+IGRpZmYgLS1naXQgYS9s aWIvZXRoZGV2L3J0ZV9ldGhkZXYuaCBiL2xpYi9ldGhkZXYvcnRlX2V0aGRldi5oDQo+ID4+Pj4+ IGluZGV4IGQyYjI3YzM1MWYuLmE1NzhjOWRiOWQgMTAwNjQ0DQo+ID4+Pj4+IC0tLSBhL2xpYi9l dGhkZXYvcnRlX2V0aGRldi5oDQo+ID4+Pj4+ICsrKyBiL2xpYi9ldGhkZXYvcnRlX2V0aGRldi5o DQo+ID4+Pj4+IEBAIC0xMDQ3LDYgKzEwNDcsNyBAQCBzdHJ1Y3QgcnRlX2V0aF9yeGNvbmYgew0K PiA+Pj4+PiAgICAgICAgIHVpbnQ4X3QgcnhfZHJvcF9lbjsgLyoqPCBEcm9wIHBhY2tldHMgaWYg bm8gZGVzY3JpcHRvcnMgYXJlIGF2YWlsYWJsZS4gKi8NCj4gPj4+Pj4gICAgICAgICB1aW50OF90 IHJ4X2RlZmVycmVkX3N0YXJ0OyAvKio8IERvIG5vdCBzdGFydCBxdWV1ZSB3aXRoIHJ0ZV9ldGhf ZGV2X3N0YXJ0KCkuICovDQo+ID4+Pj4+ICAgICAgICAgdWludDE2X3QgcnhfbnNlZzsgLyoqPCBO dW1iZXIgb2YgZGVzY3JpcHRpb25zIGluIHJ4X3NlZyBhcnJheS4NCj4gPj4+Pj4gKi8NCj4gPj4+ Pj4gKyAgICAgICB1aW50MzJfdCBzaGFyZWRfZ3JvdXA7IC8qKjwgU2hhcmVkIHBvcnQgZ3JvdXAg aW5kZXggaW4NCj4gPj4+Pj4gKyBzd2l0Y2ggZG9tYWluLiAqLw0KPiA+Pj4+PiAgICAgICAgIC8q Kg0KPiA+Pj4+PiAgICAgICAgICAqIFBlci1xdWV1ZSBSeCBvZmZsb2FkcyB0byBiZSBzZXQgdXNp bmcgREVWX1JYX09GRkxPQURfKiBmbGFncy4NCj4gPj4+Pj4gICAgICAgICAgKiBPbmx5IG9mZmxv YWRzIHNldCBvbiByeF9xdWV1ZV9vZmZsb2FkX2NhcGEgb3INCj4gPj4+Pj4gcnhfb2ZmbG9hZF9j YXBhIEBAIC0xMzczLDYgKzEzNzQsMTIgQEAgc3RydWN0IHJ0ZV9ldGhfY29uZiB7DQo+ID4+Pj4+ ICNkZWZpbmUgREVWX1JYX09GRkxPQURfT1VURVJfVURQX0NLU1VNICAweDAwMDQwMDAwDQo+ID4+ Pj4+ICAjZGVmaW5lIERFVl9SWF9PRkZMT0FEX1JTU19IQVNIICAgICAgICAgICAgICAgIDB4MDAw ODAwMDANCj4gPj4+Pj4gICNkZWZpbmUgUlRFX0VUSF9SWF9PRkZMT0FEX0JVRkZFUl9TUExJVCAw eDAwMTAwMDAwDQo+ID4+Pj4+ICsvKioNCj4gPj4+Pj4gKyAqIFJ4IHF1ZXVlIGlzIHNoYXJlZCBh bW9uZyBwb3J0cyBpbiBzYW1lIHN3aXRjaCBkb21haW4gdG8gc2F2ZQ0KPiA+Pj4+PiArbWVtb3J5 LA0KPiA+Pj4+PiArICogYXZvaWQgcG9sbGluZyBlYWNoIHBvcnQuIEFueSBwb3J0IGluIGdyb3Vw IGNhbiBiZSB1c2VkIHRvIHJlY2VpdmUgcGFja2V0cy4NCj4gPj4+Pj4gKyAqIFJlYWwgc291cmNl IHBvcnQgbnVtYmVyIHNhdmVkIGluIG1idWYtPnBvcnQgZmllbGQuDQo+ID4+Pj4+ICsgKi8NCj4g Pj4+Pj4gKyNkZWZpbmUgUlRFX0VUSF9SWF9PRkZMT0FEX1NIQVJFRF9SWFEgICAweDAwMjAwMDAw DQo+ID4+Pj4+DQo+ID4+Pj4+ICAjZGVmaW5lIERFVl9SWF9PRkZMT0FEX0NIRUNLU1VNIChERVZf UlhfT0ZGTE9BRF9JUFY0X0NLU1VNIHwgXA0KPiA+Pj4+PiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBERVZfUlhfT0ZGTE9BRF9VRFBfQ0tTVU0gfCBcDQo+ID4+Pj4+IC0tDQo+ID4+ Pj4+IDIuMjUuMQ0KPiA+Pj4+Pg0KDQo=