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 76304A0C45; Tue, 14 Sep 2021 07:14:49 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id EF7B34069C; Tue, 14 Sep 2021 07:14:48 +0200 (CEST) Received: from mx0b-0016f401.pphosted.com (mx0a-0016f401.pphosted.com [67.231.148.174]) by mails.dpdk.org (Postfix) with ESMTP id 84B6A4068F for ; Tue, 14 Sep 2021 07:14:47 +0200 (CEST) Received: from pps.filterd (m0045849.ppops.net [127.0.0.1]) by mx0a-0016f401.pphosted.com (8.16.1.2/8.16.1.2) with SMTP id 18E1C6DW027622; Mon, 13 Sep 2021 22:14:46 -0700 Received: from nam11-dm6-obe.outbound.protection.outlook.com (mail-dm6nam11lp2176.outbound.protection.outlook.com [104.47.57.176]) by mx0a-0016f401.pphosted.com with ESMTP id 3b25jeb7d9-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 13 Sep 2021 22:14:46 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=UQeFz3qn9vG4CvQjhJsHAz+kKKUMDnHNG/WY52ECHT7SnPB4y2Pev+aVEx5IDz1Zse5U2cD6mESpLXMLGJXTGkhrSjoHdJuvLSZP0mPoQ45OQu3RO30N1Qnns6flyizVr7TZE+TU53zKIywKO/JI/GlI4tA2rBdUcfhnjZDp4fC9mMBJc6xg2augbBqdHHF0wH/+pccMrSRH/AwFRd4Ixz/5J6ua0O/Vj/O3q6AOi/z+ebIyp8Q22e/1g8QiEzrmv/F3KJnHXyahBXaeE/ccnxJ9/iIxwHtu/1KcOq3nHhXC6bTuRF4SQIjt58TS4V0F1CD6LqqWVUpfU0QzII27zg== 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; bh=wVTUO/sXIrfhVNW1MIwEkJ2PP8Ex5SOAIb7MCCwl6x0=; b=a7exCWKnnqDgspRpCRfDBy8EpdGgUNmoo+kMv9zYirFHFcWWMk3CQ6fZMTEp1A8bIyYgLDrcQZkNOV5/eQ/LwMWsh/2LOyU/duEUmibPdwCC+sCD42dpQYk+Jdtp02WtfAJ4PayRqalUxwdarGTIEFYkkKZUU7KpXj121X0xXu+Q3PjD2aA3gen+V7mwsqlAYlaS+TXe9VS5fEfrxxEHUYjX/RTm4nKSiDf3XL+F8G+3GAuoZzZ2UEP9Y+koP0cJVuTXWr2ju0/tbOAQOAOGsFzB2B3VpNNbaHM2Zn+rAogZn1aBeS/PBsAPMnB4ESRqkssw/C6hFAStYlWZW2d9wQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=marvell.com; dmarc=pass action=none header.from=marvell.com; dkim=pass header.d=marvell.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.onmicrosoft.com; s=selector1-marvell-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=wVTUO/sXIrfhVNW1MIwEkJ2PP8Ex5SOAIb7MCCwl6x0=; b=DcRfsriqSlDPYVxvvOho+fpX3GBqLErmXRI/V/ZoTPt0wjjcVmWAR8ObRYGDqJKawcNW30aw/NvxFPNUjU0Sdw0n40EpX0LsfJS3fPCebi/+KBorA9EG4aH2NNEQmcV5MI1A0yPbNpN1p7uKfxaocB0ey4ZZTz4j/kBKVhz/z/A= Received: from PH0PR18MB4672.namprd18.prod.outlook.com (2603:10b6:510:c9::16) by PH0PR18MB4813.namprd18.prod.outlook.com (2603:10b6:510:af::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4500.14; Tue, 14 Sep 2021 05:14:44 +0000 Received: from PH0PR18MB4672.namprd18.prod.outlook.com ([fe80::85aa:3d01:94f6:984]) by PH0PR18MB4672.namprd18.prod.outlook.com ([fe80::85aa:3d01:94f6:984%4]) with mapi id 15.20.4500.019; Tue, 14 Sep 2021 05:14:44 +0000 From: Anoob Joseph To: Andrew Rybchenko , "Xu, Rosen" , "Yigit, Ferruh" , Andrew Rybchenko CC: "Nicolau, Radu" , "Doherty, Declan" , "hemant.agrawal@nxp.com" , "matan@nvidia.com" , "Ananyev, Konstantin" , "thomas@monjalon.net" , Ankur Dwivedi , Akhil Goyal , "dev@dpdk.org" Thread-Topic: [EXT] Re: [PATCH] RFC: ethdev: add reassembly offload Thread-Index: AQHXmAYTPGhK4zhSTE6OZc3oT961RKuYWeyAgAGqeMCAB6RlgIAAB1AAgAFnDaA= Date: Tue, 14 Sep 2021 05:14:43 +0000 Message-ID: References: <20210823100259.1619886-1-gakhil@marvell.com> <06b92d82-f8af-fab0-58aa-9b977ec0f3a1@intel.com> <011f96fb-0f02-e681-abb4-46257200da35@oktetlabs.ru> In-Reply-To: <011f96fb-0f02-e681-abb4-46257200da35@oktetlabs.ru> Accept-Language: en-IN, 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=marvell.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 59b08f8d-c918-4b56-f865-08d9773e904a x-ms-traffictypediagnostic: PH0PR18MB4813: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:6108; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: bSbjAmmjfKlJ2xil+ACVCaymw92/yafiH180hVIT12OiP0KGwu5M+WUBaeerQsKolS33+06R0fyD5nznF8oKSdGaEYUVYYQmaNS0GOAl+6vr4S7KdF/JOWpuF46SnsgRBTTQHUFezc3kKxxjgqi0KJkbzBtajvRz8IaFsuxtm+oOrBmVzUJ5rdcQPxqAD5UIo0+bovcavkBk6CxvLM2pYlNYALdISwO1KhE6J9qfTqFM1vYuTo3p/k3cYy65Q2hWwPAibVW0KGBxaDfRbaUZrNmSN5HXqMmUjOseHxmkSLd3060PxDef8ERTb9aVmVAkpoV4pH+VihLJURxus/Qn4oJhzFUkmpAJsxjz5/7xzcsCmZhkW7g5Xv6qZhw4SfjaS100InmD/4t4Yrsbg1r+2JTb/H4zsiCsFu45MsSrf3EIjTobf14BYP3lgJ6Eyi7jxjOS7iCW2+MrlY02/YpC0tBHI6I5nCL3xacnwB4SGSLFmLKIQSAMmv1tvWjK7Er4hC3VurWh65Fe67j1Jt8lfKqDZ/7CF6hSPB05gd1Slp4L5y3VJvJ1Fu1b2426BD8O+I9uXyegHZUh4twpGHwwW+zO6jcKwiWXZYuyrRAqBimB3JlI8+v4g1jD3VlPpU59Gj8Cp0vNQnE5w9fU3qRgBl0BchN+dugYfNbjmFIwYFCLYoWkLb8J0P1d+wMpDGTlR2iRGaSZJvM8LMKtsX2ZGA== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PH0PR18MB4672.namprd18.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(136003)(376002)(346002)(39860400002)(366004)(396003)(478600001)(52536014)(66946007)(64756008)(66446008)(66556008)(76116006)(5660300002)(30864003)(8936002)(71200400001)(186003)(66476007)(2906002)(9686003)(110136005)(38100700002)(8676002)(7696005)(4326008)(122000001)(7416002)(33656002)(6506007)(55016002)(83380400001)(53546011)(54906003)(316002)(38070700005)(86362001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?eGtqUkFXbTJiWEZmb2hJekpPU3dHOFRMM01RTExmc2RsOWk4cmRwNUZWeTFh?= =?utf-8?B?U3VFNnpKRk96UnRjeXdxdnJKSEdia2FXQk55aXBSUWVzekJOc25PWEU0Zmpw?= =?utf-8?B?YzVWa1N1RncwRjR4MjdnY0I3Njc1dEpoa3pWU1kxK1BaRlVkWEJlemEzQmtJ?= =?utf-8?B?SERLSE9Cb2srdWVOZVNNM2pZWE9CRC9yalhyNzNCVWU5a01MQWdDclIvcVNo?= =?utf-8?B?d2dRM096TTZFZlV3RUtPZkZ1OHIraFVPVUNFZmdNdUM1NFU3TUFvQlNBbUZ5?= =?utf-8?B?c042VXVNK093UFJaMk9QL1lTSE5kYytKUTB0aUZodnRtL0FOT0gyZGxua1RU?= =?utf-8?B?MTVyMGV3ek9CUERIclY2dnRZVEtrYUx2TG9DT3RHQU1oQjBMcW9nYzB0Y1VO?= =?utf-8?B?eVE4cUV2UldxMmZ1UXRyaDU5OGZEYUJZekJSVDZJSjlsenJnc20vQ3N4WVBD?= =?utf-8?B?UnVwWkl3Y1d2MU1Xd1c1ZTJCNU93RWtpVmhKQ1l4U0Nlem5pa3NOTzl6Rldp?= =?utf-8?B?VGUxNW9HTVVBVEovZkVrUUQvcXJYeDJLQnFLN0lya2cyVVQyZUhhYVdFR2xj?= =?utf-8?B?L1pYMkNpZHZSTjVNais2T1loNFExaVNqSERuOFhZVXZFRTVlb0F5S3BRZzhh?= =?utf-8?B?UzhiTmJ4M1VrTWN5T0MxcHI3cEs3RnlmalZub2VEK3NBZ3kyVjl3blN6MDdE?= =?utf-8?B?Sm9ETVJwa2tsdlFPTnc2T1JNMmRPcS9GMTgvR01GalZiTU55emU3bDNtVTJK?= =?utf-8?B?YWJwVmVwbTBxdkc2alFwbnBmY2szaVdRWG8vMG90enlqUnVyYnVBeEZyNU5s?= =?utf-8?B?NmNEc0w4YUdaeGZraWNPZ0h6VnhTY3c1a0duTjdXR0xiVThxQ3NxcFJxRkNV?= =?utf-8?B?YjJFdmJYaWwvRnpUc0IrTWRHeXQ4T2gyUzQxcklKczBzU25DZWR6a3N1aGo3?= =?utf-8?B?eVlqRG0wODRVNlUwT3lITzllK004M2Zab3VXNk1PVy9JZ04rcUJpcnJEaXNz?= =?utf-8?B?aVEwb0pvRjJIdjEzRHBpMkNNN3o4cmFPc1d2ZHYrcEowR2l5NjczVHhtcEgv?= =?utf-8?B?U1h5MTUzamdMMHN5MStESnI5UlJyVlRBZlcwdENLRmtEbDdYMGpUb1hlVjRt?= =?utf-8?B?RkNqb2QrTDdJbDU4K25SVmE2ZHRGOWJDdEVDcTM5YTRDODEwY2lEVm8yYi9B?= =?utf-8?B?S0dQMW9hQ1IwK0lTM29COTIxbk9nd3NkNm45YVJZV201bjlyNHB1TTlaUm0x?= =?utf-8?B?QUNRM0Z3QnNLTTVyWW9BTUhzcHdZWUVQRXpaY3BmZ3F3b2tWY1d2cUlwOU5S?= =?utf-8?B?ODJCWTE0QS9Za2FnTWlZNUZQbGtRVng5YVVqMUZXVWhKUDl5SXpBMzlaclFq?= =?utf-8?B?dzRteXhiVnN0MUxldldiSUNORkIwdGFsNEdOWDlQTzlhOGp0K1ZqS1prNlZD?= =?utf-8?B?bXpEZU1oUTcvcTJsRHlwVmorWHhvUmpWVW5zRnN3dHNRaGFEUVRYRU9SS2Rs?= =?utf-8?B?bU5iN3VpR1FvaG5kN3VtOFg3RE1QMkxCN3RiYjd5dFdlZkRwS1ByUjRHQXRM?= =?utf-8?B?KzkvTHFuS2hUVlh2MVcwVExHc2RyTWNjbnpOdVRiOWRzdTgyZSsyb3F2NWZk?= =?utf-8?B?eVprclhrZnV0MW9zU3owSmt6TEhJWk9YbHNWVjhBVEpmZGhpclo2UlNPZzFD?= =?utf-8?B?blYyOTVwR2tWenYyWFpXbTRYekpnczRoclZCak9EWFNIcGtyZS9BVDhVZ045?= =?utf-8?B?bDlRTytMU2dMUzg2REFjckV2UENuM1ZYaXhOaGZHQ0dhbjBGdGhqY2Q1V1NJ?= =?utf-8?B?b1RzMlpWU0k5L1FxSzdibHh4SUxoSUoxZjEvNTk1L0hMRTJBNndmN3hTSUk1?= =?utf-8?Q?N4exn/7ZOrQ78?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: marvell.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PH0PR18MB4672.namprd18.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 59b08f8d-c918-4b56-f865-08d9773e904a X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Sep 2021 05:14:43.9895 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 70e1fb47-1155-421d-87fc-2e58f638b6e0 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: Yp2QKcC/eA1LvQgTZCVdr/TopNhRK+ZuUvSJr5Cc5yL0v45b8XQ6GWvjK4rzK/0KzXWZF/QXtp0WXVPCAl1skg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR18MB4813 X-Proofpoint-GUID: 7hmouMdU_cNAaFSpcysw4AJGzHG_aX9s X-Proofpoint-ORIG-GUID: 7hmouMdU_cNAaFSpcysw4AJGzHG_aX9s X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.182.1,Aquarius:18.0.790,Hydra:6.0.391,FMLib:17.0.607.475 definitions=2021-09-13_09,2021-09-09_01,2020-04-07_01 Subject: Re: [dpdk-dev] [EXT] Re: [PATCH] RFC: ethdev: add reassembly offload 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" SGkgQW5kcmV3LCBSb3NlbiwNCg0KUGxlYXNlIHNlZSBpbmxpbmUuDQoNClRoYW5rcywNCkFub29i DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogQW5kcmV3IFJ5YmNoZW5r byA8YW5kcmV3LnJ5YmNoZW5rb0Bva3RldGxhYnMucnU+DQo+IFNlbnQ6IE1vbmRheSwgU2VwdGVt YmVyIDEzLCAyMDIxIDEyOjUyIFBNDQo+IFRvOiBYdSwgUm9zZW4gPHJvc2VuLnh1QGludGVsLmNv bT47IEFub29iIEpvc2VwaA0KPiA8YW5vb2JqQG1hcnZlbGwuY29tPjsgWWlnaXQsIEZlcnJ1aCA8 ZmVycnVoLnlpZ2l0QGludGVsLmNvbT47IEFuZHJldw0KPiBSeWJjaGVua28gPGFyeWJjaGVua29A c29sYXJmbGFyZS5jb20+DQo+IENjOiBOaWNvbGF1LCBSYWR1IDxyYWR1Lm5pY29sYXVAaW50ZWwu Y29tPjsgRG9oZXJ0eSwgRGVjbGFuDQo+IDxkZWNsYW4uZG9oZXJ0eUBpbnRlbC5jb20+OyBoZW1h bnQuYWdyYXdhbEBueHAuY29tOw0KPiBtYXRhbkBudmlkaWEuY29tOyBBbmFueWV2LCBLb25zdGFu dGluIDxrb25zdGFudGluLmFuYW55ZXZAaW50ZWwuY29tPjsNCj4gdGhvbWFzQG1vbmphbG9uLm5l dDsgQW5rdXIgRHdpdmVkaSA8YWR3aXZlZGlAbWFydmVsbC5jb20+OyBBa2hpbA0KPiBHb3lhbCA8 Z2FraGlsQG1hcnZlbGwuY29tPjsgZGV2QGRwZGsub3JnDQo+IFN1YmplY3Q6IFJlOiBbRVhUXSBS ZTogW1BBVENIXSBSRkM6IGV0aGRldjogYWRkIHJlYXNzZW1ibHkgb2ZmbG9hZA0KPiANCj4gT24g OS8xMy8yMSA5OjU2IEFNLCBYdSwgUm9zZW4gd3JvdGU6DQo+ID4gSGksDQo+ID4NCj4gPj4gLS0t LS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPj4gRnJvbTogQW5vb2IgSm9zZXBoIDxhbm9vYmpA bWFydmVsbC5jb20+DQo+ID4+IFNlbnQ6IFdlZG5lc2RheSwgU2VwdGVtYmVyIDA4LCAyMDIxIDE4 OjMwDQo+ID4+IFRvOiBZaWdpdCwgRmVycnVoIDxmZXJydWgueWlnaXRAaW50ZWwuY29tPjsgWHUs IFJvc2VuDQo+ID4+IDxyb3Nlbi54dUBpbnRlbC5jb20+OyBBbmRyZXcgUnliY2hlbmtvDQo+IDxh cnliY2hlbmtvQHNvbGFyZmxhcmUuY29tPg0KPiA+PiBDYzogTmljb2xhdSwgUmFkdSA8cmFkdS5u aWNvbGF1QGludGVsLmNvbT47IERvaGVydHksIERlY2xhbg0KPiA+PiA8ZGVjbGFuLmRvaGVydHlA aW50ZWwuY29tPjsgaGVtYW50LmFncmF3YWxAbnhwLmNvbTsNCj4gbWF0YW5AbnZpZGlhLmNvbTsN Cj4gPj4gQW5hbnlldiwgS29uc3RhbnRpbiA8a29uc3RhbnRpbi5hbmFueWV2QGludGVsLmNvbT47 DQo+ID4+IHRob21hc0Btb25qYWxvbi5uZXQ7IEFua3VyIER3aXZlZGkgPGFkd2l2ZWRpQG1hcnZl bGwuY29tPjsNCj4gPj4gYW5kcmV3LnJ5YmNoZW5rb0Bva3RldGxhYnMucnU7IEFraGlsIEdveWFs IDxnYWtoaWxAbWFydmVsbC5jb20+Ow0KPiA+PiBkZXZAZHBkay5vcmcNCj4gPj4gU3ViamVjdDog UkU6IFtFWFRdIFJlOiBbUEFUQ0hdIFJGQzogZXRoZGV2OiBhZGQgcmVhc3NlbWJseSBvZmZsb2Fk DQo+ID4+DQo+ID4+IEhpIEZlcnJ1aCwgUm9zZW4sIEFuZHJldywNCj4gPj4NCj4gPj4gUGxlYXNl IHNlZSBpbmxpbmUuDQo+ID4+DQo+ID4+IFRoYW5rcywNCj4gPj4gQW5vb2INCj4gPj4NCj4gPj4+ IFN1YmplY3Q6IFtFWFRdIFJlOiBbUEFUQ0hdIFJGQzogZXRoZGV2OiBhZGQgcmVhc3NlbWJseSBv ZmZsb2FkDQo+ID4+Pg0KPiA+Pj4gRXh0ZXJuYWwgRW1haWwNCj4gPj4+DQo+ID4+PiAtLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQ0KPiA+Pj4gLS0gT24gOC8yMy8yMDIxIDExOjAyIEFNLCBBa2hpbCBHb3lhbCB3cm90ZToN Cj4gPj4+PiBSZWFzc2VtYmx5IGlzIGEgY29zdGx5IG9wZXJhdGlvbiBpZiBpdCBpcyBkb25lIGlu IHNvZnR3YXJlLA0KPiA+Pj4+IGhvd2V2ZXIsIGlmIGl0IGlzIG9mZmxvYWRlZCB0byBIVywgaXQg Y2FuIGNvbnNpZGVyYWJseSBzYXZlIGFwcGxpY2F0aW9uDQo+IGN5Y2xlcy4NCj4gPj4+PiBUaGUg b3BlcmF0aW9uIGJlY29tZXMgZXZlbiBtb3JlIGNvc3RsaWVyIGlmIElQIGZyYWdtYW50cyBhcmUN Cj4gPj4+PiBlbmNyeXB0ZWQuDQo+ID4+Pj4NCj4gPj4+PiBUbyByZXNvbHZlIGFib3ZlIHR3byBp c3N1ZXMsIGEgbmV3IG9mZmxvYWQNCj4gPj4+IERFVl9SWF9PRkZMT0FEX1JFQVNTRU1CTFkNCj4g Pj4+PiBpcyBpbnRyb2R1Y2VkIGluIGV0aGRldiBmb3IgZGV2aWNlcyB3aGljaCBjYW4gYXR0ZW1w dCByZWFzc2VtYmx5IG9mDQo+ID4+Pj4gcGFja2V0cyBpbiBoYXJkd2FyZS4NCj4gPj4+PiBydGVf ZXRoX2Rldl9pbmZvIGlzIGFkZGVkIHdpdGggdGhlIHJlYXNzZW1ibHkgY2FwYWJpbGl0aWVzIHdo aWNoIGENCj4gPj4+PiBkZXZpY2UgY2FuIHN1cHBvcnQuDQo+ID4+Pj4gTm93LCBpZiBJUCBmcmFn bWVudHMgYXJlIGVuY3J5cHRlZCwgcmVhc3NlbWJseSBjYW4gYWxzbyBiZQ0KPiA+Pj4+IGF0dGVt cHRlZCB3aGlsZSBkb2luZyBpbmxpbmUgSVBzZWMgcHJvY2Vzc2luZy4NCj4gPj4+PiBUaGlzIGlz IGNvbnRyb2xsZWQgYnkgYSBmbGFnIGluIHJ0ZV9zZWN1cml0eV9pcHNlY19zYV9vcHRpb25zIHRv DQo+ID4+Pj4gZW5hYmxlIHJlYXNzZW1ibHkgb2YgZW5jcnlwdGVkIElQIGZyYWdtZW50cyBpbiB0 aGUgaW5saW5lIHBhdGguDQo+ID4+Pj4NCj4gPj4+PiBUaGUgcmVzdWx0aW5nIHJlYXNzZW1ibGVk IHBhY2tldCB3b3VsZCBiZSBhIHR5cGljYWwgc2VnbWVudGVkIG1idWYNCj4gPj4+PiBpbiBjYXNl IG9mIHN1Y2Nlc3MuDQo+ID4+Pj4NCj4gPj4+PiBBbmQgaWYgcmVhc3NlbWJseSBvZiBmcmFnbWVu dHMgaXMgZmFpbGVkIG9yIGlzIGluY29tcGxldGUgKGlmDQo+ID4+Pj4gZnJhZ21lbnRzIGRvIG5v dCBjb21lIGJlZm9yZSB0aGUgcmVhc3NfdGltZW91dCksIHRoZSBtYnVmIGlzDQo+ID4+Pj4gdXBk YXRlZCB3aXRoIGFuIG9sX2ZsYWcgUEtUX1JYX1JFQVNTRU1CTFlfSU5DT01QTEVURSBhbmQgbWJ1 Zg0KPiBpcw0KPiA+Pj4+IHJldHVybmVkDQo+ID4+PiBhcw0KPiA+Pj4+IGlzLiBOb3cgYXBwbGlj YXRpb24gbWF5IGRlY2lkZSB0aGUgZmF0ZSBvZiB0aGUgcGFja2V0IHRvIHdhaXQgbW9yZQ0KPiA+ Pj4+IGZvciBmcmFnbWVudHMgdG8gY29tZSBvciBkcm9wLg0KPiA+Pj4+DQo+ID4+Pj4gU2lnbmVk LW9mZi1ieTogQWtoaWwgR295YWwgPGdha2hpbEBtYXJ2ZWxsLmNvbT4NCj4gPj4+PiAtLS0NCj4g Pj4+PiAgbGliL2V0aGRldi9ydGVfZXRoZGV2LmMgICAgIHwgIDEgKw0KPiA+Pj4+ICBsaWIvZXRo ZGV2L3J0ZV9ldGhkZXYuaCAgICAgfCAxOCArKysrKysrKysrKysrKysrKy0NCj4gPj4+PiAgbGli L21idWYvcnRlX21idWZfY29yZS5oICAgIHwgIDMgKystDQo+ID4+Pj4gIGxpYi9zZWN1cml0eS9y dGVfc2VjdXJpdHkuaCB8IDEwICsrKysrKysrKysNCj4gPj4+PiAgNCBmaWxlcyBjaGFuZ2VkLCAz MCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQ0KPiA+Pj4+DQo+ID4+Pj4gZGlmZiAtLWdp dCBhL2xpYi9ldGhkZXYvcnRlX2V0aGRldi5jIGIvbGliL2V0aGRldi9ydGVfZXRoZGV2LmMNCj4g Pj4+PiBpbmRleCA5ZDk1Y2QxMWUxLi4xYWIzYTA5M2NmIDEwMDY0NA0KPiA+Pj4+IC0tLSBhL2xp Yi9ldGhkZXYvcnRlX2V0aGRldi5jDQo+ID4+Pj4gKysrIGIvbGliL2V0aGRldi9ydGVfZXRoZGV2 LmMNCj4gPj4+PiBAQCAtMTE5LDYgKzExOSw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgew0KPiA+ Pj4+ICAJUlRFX1JYX09GRkxPQURfQklUMlNUUihWTEFOX0ZJTFRFUiksDQo+ID4+Pj4gIAlSVEVf UlhfT0ZGTE9BRF9CSVQyU1RSKFZMQU5fRVhURU5EKSwNCj4gPj4+PiAgCVJURV9SWF9PRkZMT0FE X0JJVDJTVFIoSlVNQk9fRlJBTUUpLA0KPiA+Pj4+ICsJUlRFX1JYX09GRkxPQURfQklUMlNUUihS RUFTU0VNQkxZKSwNCj4gPj4+PiAgCVJURV9SWF9PRkZMT0FEX0JJVDJTVFIoU0NBVFRFUiksDQo+ ID4+Pj4gIAlSVEVfUlhfT0ZGTE9BRF9CSVQyU1RSKFRJTUVTVEFNUCksDQo+ID4+Pj4gIAlSVEVf UlhfT0ZGTE9BRF9CSVQyU1RSKFNFQ1VSSVRZKSwgZGlmZiAtLWdpdA0KPiA+Pj4+IGEvbGliL2V0 aGRldi9ydGVfZXRoZGV2LmggYi9saWIvZXRoZGV2L3J0ZV9ldGhkZXYuaCBpbmRleA0KPiA+Pj4+ IGQyYjI3YzM1MWYuLmU4OWE0ZGMxZWIgMTAwNjQ0DQo+ID4+Pj4gLS0tIGEvbGliL2V0aGRldi9y dGVfZXRoZGV2LmgNCj4gPj4+PiArKysgYi9saWIvZXRoZGV2L3J0ZV9ldGhkZXYuaA0KPiA+Pj4+ IEBAIC0xMzYwLDYgKzEzNjAsNyBAQCBzdHJ1Y3QgcnRlX2V0aF9jb25mIHsNCj4gPj4+PiAgI2Rl ZmluZSBERVZfUlhfT0ZGTE9BRF9WTEFOX0ZJTFRFUgkweDAwMDAwMjAwDQo+ID4+Pj4gICNkZWZp bmUgREVWX1JYX09GRkxPQURfVkxBTl9FWFRFTkQJMHgwMDAwMDQwMA0KPiA+Pj4+ICAjZGVmaW5l IERFVl9SWF9PRkZMT0FEX0pVTUJPX0ZSQU1FCTB4MDAwMDA4MDANCj4gPj4+PiArI2RlZmluZSBE RVZfUlhfT0ZGTE9BRF9SRUFTU0VNQkxZCTB4MDAwMDEwMDANCj4gPj4+DQo+ID4+PiBwcmV2aW91 cyAnMHgwMDAwMTAwMCcgd2FzICdERVZfUlhfT0ZGTE9BRF9DUkNfU1RSSVAnLCBpdCBoYXMgYmVl bg0KPiA+PiBsb25nDQo+ID4+PiB0aGF0IG9mZmxvYWQgaGFzIGJlZW4gcmVtb3ZlZCwgYnV0IG5v dCBzdXJlIGlmIGl0IGNhdXNlIGFueSBwcm9ibGVtDQo+ID4+PiB0bw0KPiA+Pj4gcmUtIHVzZSBp dC4NCj4gPj4+DQo+ID4+Pj4gICNkZWZpbmUgREVWX1JYX09GRkxPQURfU0NBVFRFUgkJMHgwMDAw MjAwMA0KPiA+Pj4+ICAvKioNCj4gPj4+PiAgICogVGltZXN0YW1wIGlzIHNldCBieSB0aGUgZHJp dmVyIGluDQo+ID4+PiBSVEVfTUJVRl9EWU5GSUVMRF9USU1FU1RBTVBfTkFNRQ0KPiA+Pj4+IEBA IC0xNDc3LDYgKzE0NzgsMjAgQEAgc3RydWN0IHJ0ZV9ldGhfZGV2X3BvcnRjb25mIHsNCj4gPj4+ PiAgICovDQo+ID4+Pj4gICNkZWZpbmUgUlRFX0VUSF9ERVZfU1dJVENIX0RPTUFJTl9JRF9JTlZB TElEDQo+ID4+PiAJKFVJTlQxNl9NQVgpDQo+ID4+Pj4NCj4gPj4+PiArLyoqDQo+ID4+Pj4gKyAq IFJlYXNzZW1ibHkgY2FwYWJpbGl0aWVzIHRoYXQgYSBkZXZpY2UgY2FuIHN1cHBvcnQuDQo+ID4+ Pj4gKyAqIFRoZSBkZXZpY2Ugd2hpY2ggY2FuIHN1cHBvcnQgcmVhc3NlbWJseSBvZmZsb2FkIHNo b3VsZCBzZXQNCj4gPj4+PiArICogREVWX1JYX09GRkxPQURfUkVBU1NFTUJMWQ0KPiA+Pj4+ICsg Ki8NCj4gPj4+PiArc3RydWN0IHJ0ZV9ldGhfcmVhc3NfY2FwYSB7DQo+ID4+Pj4gKwkvKiogTWF4 aW11bSB0aW1lIGluIG5zIHRoYXQgYSBmcmFnbWVudCBjYW4gd2FpdCBmb3IgZnVydGhlcg0KPiA+ Pj4gZnJhZ21lbnRzICovDQo+ID4+Pj4gKwl1aW50NjRfdCByZWFzc190aW1lb3V0Ow0KPiA+Pj4+ ICsJLyoqIE1heGltdW0gbnVtYmVyIG9mIGZyYWdtZW50cyB0aGF0IGRldmljZSBjYW4gcmVhc3Nl bWJsZSAqLw0KPiA+Pj4+ICsJdWludDE2X3QgbWF4X2ZyYWdzOw0KPiA+Pj4+ICsJLyoqIFJlc2Vy dmVkIGZvciBmdXR1cmUgY2FwYWJpbGl0aWVzICovDQo+ID4+Pj4gKwl1aW50MTZfdCByZXNlcnZl ZFszXTsNCj4gPj4+PiArfTsNCj4gPj4+PiArDQo+ID4+Pg0KPiA+Pj4gSSB3b25kZXIgaWYgdGhl cmUgaXMgYW55IG90aGVyIGhhcmR3YXJlIGFyb3VuZCBzdXBwb3J0cyByZWFzc2VtYmx5DQo+ID4+ PiBvZmZsb2FkLCBpdCB3b3VsZCBiZSBnb29kIHRvIGdldCBtb3JlIGZlZWRiYWNrIG9uIHRoZSBj YXBhYmlsaXRpZXMgbGlzdC4NCj4gPj4+DQo+ID4+Pj4gIC8qKg0KPiA+Pj4+ICAgKiBFdGhlcm5l dCBkZXZpY2UgYXNzb2NpYXRlZCBzd2l0Y2ggaW5mb3JtYXRpb24NCj4gPj4+PiAgICovDQo+ID4+ Pj4gQEAgLTE1ODIsOCArMTU5Nyw5IEBAIHN0cnVjdCBydGVfZXRoX2Rldl9pbmZvIHsNCj4gPj4+ PiAgCSAqIGVtYmVkZGVkIG1hbmFnZWQgaW50ZXJjb25uZWN0L3N3aXRjaC4NCj4gPj4+PiAgCSAq Lw0KPiA+Pj4+ICAJc3RydWN0IHJ0ZV9ldGhfc3dpdGNoX2luZm8gc3dpdGNoX2luZm87DQo+ID4+ Pj4gKwkvKiBSZWFzc2VtYmx5IGNhcGFiaWxpdGllcyBvZiBhIGRldmljZSBmb3IgcmVhc3NlbWJs eSBvZmZsb2FkICovDQo+ID4+Pj4gKwlzdHJ1Y3QgcnRlX2V0aF9yZWFzc19jYXBhIHJlYXNzX2Nh cGE7DQo+ID4+Pj4NCj4gPj4+PiAtCXVpbnQ2NF90IHJlc2VydmVkXzY0c1syXTsgLyoqPCBSZXNl cnZlZCBmb3IgZnV0dXJlIGZpZWxkcyAqLw0KPiA+Pj4NCj4gPj4+IFJlc2VydmVkIGZpZWxkcyB3 ZXJlIGFkZGVkIHRvIGJlIGFibGUgdG8gdXBkYXRlIHRoZSBzdHJ1Y3Qgd2l0aG91dA0KPiA+Pj4g YnJlYWtpbmcgdGhlIEFCSSwgc28gdGhhdCBhIGNyaXRpY2FsIGNoYW5nZSBkb2Vzbid0IGhhdmUg dG8gd2FpdA0KPiA+Pj4gdW50aWwgbmV4dCBBQkkgYnJlYWsgcmVsZWFzZS4NCj4gPj4+IFNpbmNl IHRoaXMgaXMgQUJJIGJyZWFrIHJlbGVhc2UsIHdlIGNhbiBrZWVwIHRoZSByZXNlcnZlZCBmaWVs ZCBhbmQNCj4gPj4+IGFkZCB0aGUgbmV3IHN0cnVjdC4gT3IgdGhpcyBjYW4gYmUgYW4gb3Bwb3J0 dW5pdHkgdG8gZ2V0IHJpZCBvZiB0aGUNCj4gPj4+IHJlc2VydmVkDQo+ID4+IGZpZWxkLg0KPiA+ Pj4NCj4gPj4+IFBlcnNvbmFsbHkgSSBoYXZlIG5vIG9iamVjdGlvbiB0byBnZXQgcmlkIG9mIHRo ZSByZXNlcnZlZCBmaWVsZCwgYnV0DQo+ID4+PiBiZXR0ZXIgdG8gYWdyZWUgb24gdGhpcyBleHBs aWNpdGx5Lg0KPiA+Pj4NCj4gPj4+PiAgCXZvaWQgKnJlc2VydmVkX3B0cnNbMl07ICAgLyoqPCBS ZXNlcnZlZCBmb3IgZnV0dXJlIGZpZWxkcyAqLw0KPiA+Pj4+ICB9Ow0KPiA+Pj4+DQo+ID4+Pj4g ZGlmZiAtLWdpdCBhL2xpYi9tYnVmL3J0ZV9tYnVmX2NvcmUuaCBiL2xpYi9tYnVmL3J0ZV9tYnVm X2NvcmUuaA0KPiA+Pj4+IGluZGV4DQo+ID4+Pj4gYmIzOGQ3ZjU4MS4uY2VhMjVjODdmNyAxMDA2 NDQNCj4gPj4+PiAtLS0gYS9saWIvbWJ1Zi9ydGVfbWJ1Zl9jb3JlLmgNCj4gPj4+PiArKysgYi9s aWIvbWJ1Zi9ydGVfbWJ1Zl9jb3JlLmgNCj4gPj4+PiBAQCAtMjAwLDEwICsyMDAsMTEgQEAgZXh0 ZXJuICJDIiB7DQo+ID4+Pj4gICNkZWZpbmUgUEtUX1JYX09VVEVSX0w0X0NLU1VNX0JBRAkoMVVM TCA8PCAyMSkNCj4gPj4+PiAgI2RlZmluZSBQS1RfUlhfT1VURVJfTDRfQ0tTVU1fR09PRAkoMVVM TCA8PCAyMikNCj4gPj4+PiAgI2RlZmluZSBQS1RfUlhfT1VURVJfTDRfQ0tTVU1fSU5WQUxJRAko KDFVTEwgPDwgMjEpIHwgKDFVTEwNCj4gPj4+IDw8IDIyKSkNCj4gPj4+PiArI2RlZmluZSBQS1Rf UlhfUkVBU1NFTUJMWV9JTkNPTVBMRVRFCSgxVUxMIDw8IDIzKQ0KPiA+Pj4+DQo+ID4+Pg0KPiA+ Pj4gU2ltaWxhciBjb21tZW50IHdpdGggQW5kcmV3J3MsIHdoYXQgaXMgdGhlIGV4cGVjdGF0aW9u IGZyb20NCj4gPj4+IGFwcGxpY2F0aW9uIGlmIHRoaXMgZmxhZyBleGlzdHM/IENhbiB3ZSBkcm9w IGl0IHRvIHNpbXBsaWZ5IHRoZQ0KPiA+Pj4gbG9naWMgaW4gdGhlDQo+ID4+IGFwcGxpY2F0aW9u Pw0KPiA+Pg0KPiA+PiBbQW5vb2JdIFRoZXJlIGNhbiBiZSBmZXcgY2FzZXMgd2hlcmUgaGFyZHdh cmUvTklDIGF0dGVtcHRzIGlubGluZQ0KPiA+PiByZWFzc2VtYmx5IGJ1dCBpdCBmYWlscyB0byBj b21wbGV0ZSBpdA0KPiA+Pg0KPiA+PiAxLiBOdW1iZXIgb2YgZnJhZ21lbnRzIGlzIGxhcmdlciB0 aGFuIHdoYXQgaXMgc3VwcG9ydGVkIGJ5IHRoZSBoYXJkd2FyZQ0KPiAyLg0KPiA+PiBIYXJkd2Fy ZSByZWFzc2VtYmx5IHJlc291cmNlcyBhcmUgZXhoYXVzdGVkIChkdWUgdG8gbGltaXRlZA0KPiA+ PiByZWFzc2VtYmx5IGNvbnRleHRzIGV0YykgMy4gUmVhc3NlbWJseSBlcnJvcnMgc3VjaCBhcyBv dmVybGFwcGluZw0KPiA+PiBmcmFnbWVudHMgNC4gV2FpdCB0aW1lIGV4aGF1c3RlZCAob3IgcmVh c3NlbWJseSB0aW1lb3V0KQ0KPiA+Pg0KPiA+PiBJbiBzdWNoIGNhc2VzLCBhcHBsaWNhdGlvbiB3 b3VsZCBiZSByZXF1aXJlZCB0byByZXRyaWV2ZSB0aGUgb3JpZ2luYWwNCj4gPj4gZnJhZ21lbnRz IHNvIHRoYXQgaXQgY2FuIGF0dGVtcHQgcmVhc3NlbWJseSBpbiBzb2Z0d2FyZS4gVGhlDQo+ID4+ IGluY29tcGxldGUgZmxhZyBpcyB1c2VmdWwgZm9yIDIgcHVycG9zZXMgYmFzaWNhbGx5LCAxLiBB cHBsaWNhdGlvbg0KPiA+PiB3b3VsZCBuZWVkIHRvIHJldHJpZXZlIHRoZSB0aW1lIHRoZSBmcmFn bWVudCBoYXMgYWxyZWFkeSBzcGVuZCBpbg0KPiA+PiBoYXJkd2FyZSByZWFzc2VtYmx5IHNvIHRo YXQgc29mdHdhcmUgcmVhc3NlbWJseSBhdHRlbXB0IGNhbg0KPiA+PiBjb21wZW5zYXRlIGZvciBp dC4gT3RoZXJ3aXNlLCByZWFzc2VtYmx5IHRpbWVvdXQgYWNyb3NzIGhhcmR3YXJlICsNCj4gPj4g c29mdHdhcmUgd2lsbCBub3QgYmUgYWNjdXJhdGUNCj4gDQo+IENvdWxkIHlvdSBjbGFyaWZ5IGhv dyBhcHBsaWNhdGlvbiB3aWxsIGZpbmQgb3V0IHRoZSB0aW1lIHNwZW50IGluIEhXLg0KDQpbQW5v b2JdIFdlIGNvdWxkIHVzZSBydGVfbWJ1ZiBkeW5hbWljIGZpZWxkcyBmb3IgdGhlIHNhbWUuIExv b2tzIGxpa2UgUkZDIGhhc24ndCB0b3VjaGVkIG9uIHRoaXMgYXNwZWN0IHlldC4gDQogDQo+IA0K PiA+PiAyLiBSZXRyaWV2ZSBvcmlnaW5hbA0KPiA+PiBmcmFnbWVudHMuIFdpdGggdGhpcyBwcm9w b3NhbCwgYW4gaW5jb21wbGV0ZSByZWFzc2VtYmx5IHdvdWxkIHJlc3VsdA0KPiA+PiBpbiBhIGNo YWluZWQgbWJ1ZiBidXQgdGhlIHNlZ21lbnRzIG5lZWQgbm90IGJlIGNvbnNlY3V0aXZlLiBUbw0K PiA+PiBleHBsYWluIGJpdCBtb3JlLA0KPiA+Pg0KPiA+PiBTdXBwb3NlIHdlIGhhdmUgYSBwYWNr ZXQgdGhhdCBpcyBmcmFnbWVudGVkIGludG8gMyBmcmFnbWVudHMsIGFuZA0KPiA+PiBmcmFnbWVu dA0KPiA+PiAzICYgZnJhZ21lbnQgMSBhcnJpdmVzIGluIHRoYXQgb3JkZXIuIEZyYWdtZW50IDIg ZGlkbid0IGFycml2ZSBhbmQNCj4gPj4gaGFyZHdhcmUgdWx0aW1hdGVseSBwdXNoZXMgaXQuIElu IHRoYXQgY2FzZSwgYXBwbGljYXRpb24gd291bGQgYmUNCj4gPj4gcmVjZWl2aW5nIGEgY2hhaW5l ZC9zZWdtZW50ZWQgbWJ1ZiB3aXRoIGZyYWdtZW50IDEgJiBmcmFnbWVudCAzDQo+IGNoYWluZWQu DQo+ID4+DQo+ID4+IE5vdywgdGhpcyBjaGFpbmVkIG1idWYgY2FuJ3QgYmUgdHJlYXRlZCBsaWtl IGEgcmVndWxhciBjaGFpbmVkIG1idWYuDQo+ID4+IEVhY2ggZnJhZ21lbnQgd291bGQgaGF2ZSBp dHMgSVAgaGRyIGFuZCB0aGVyZSBhcmUgZnJhZ21lbnRzIG1pc3NpbmcgaW4NCj4gYmV0d2Vlbi4N Cj4gPj4gVGhlIG9ubHkgdGhpbmcgYXBwbGljYXRpb24gaXMgZXhwZWN0ZWQgdG8gZG8gaXMsIHJl dHJpZXZlIGZyYWdtZW50cywNCj4gPj4gcHVzaCBpdCB0byBzL3cgcmVhc3NlbWJseS4NCj4gDQo+ IEl0IHNvdW5kcyBsaWtlIGl0IGNvbmZsaWN0cyB3aXRoIFNDQVRURVIgYW5kIEJVRkZFUl9TUExJ VCBvZmZsb2FkcyB3aGljaA0KPiBhbGxvdyB0byByZXR1cm4gY2hhaW5lZCBtYnVmJ3MuIERvbid0 IGtub3cgaWYgaXQgaXMgZ29vZCBvciBiYWQsIGJ1dCBhbnl3YXkgaXQNCj4gbXVzdCBiZSBkb2N1 bWVudGVkLg0KDQpbQW5vb2JdIEFncmVlZC4NCiANCj4gDQo+ID4NCj4gPiBXaGF0IHlvdSBtZW50 aW9uZWQgaXMgZXJyb3IgaWRlbnRpZmljYXRpb24uIEJ1dCBhY3R1YWxseSBhIG5lZ290aWF0aW9u IGFib3V0DQo+IG1heCBmcmFtZSBzaXplIGlzIG5lZWRlZCBiZWZvcmUgZGF0YWdyYW1zIHR4L3J4 Lg0KDQpbQW5vb2JdIFRoZSBhY3R1YWxseSByZWFzc2VtYmx5IHNldHRpbmdzIHdvdWxkIGJlIG5l Z290aWF0ZWQgYnkgdGhlIHMvdy4gVGhlIG9mZmxvYWQgY2FuIGJlIHRob3VnaHQgb2YgbGlrZSBo b3cgY2hlY2tzdW0gaXMgYmVpbmcgZG9uZSBub3cuIFMvdyBuZWdvdGlhdGVzIHdpdGggcGVlciBh bmQgdGhlbiBlbmFibGVzIHRoZSBoYXJkd2FyZSB0byBhY2NlbGVyYXRlLiBJZiBoYXJkd2FyZSBp cyBhYmxlIHRvIHJlYXNzZW1ibGUsIHRoZW4gd2VsbCBhbmQgZ29vZC4gSWYgbm90LCB3ZSB3b3Vs ZCBoYXZlIHNvZnR3YXJlIGNvbXBlbnNhdGUgZm9yIGl0Lg0KIA0KPiANCj4gSXQgc291bmRzIGxp a2UgaXQgaXMgT0sgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9zZXMsIGJ1dCByaWdodCBub3cgSSBk b24ndA0KPiB1bmRlcnN0YW5kIGhvdyBpdCBjb3VsZCBiZSB1c2VkIGJ5IHRoZSBhcHBsaWNhdGlv bi4gQXBwbGljYXRpb24gc3RpbGwgaGFzIHRvDQo+IHN1cHBvcnQgcmVhc3NlbWJseSBpbiBTVyBy ZWdhcmRsZXNzIG9mIHRoZSBpbmZvcm1hdGlvbi4NCg0KW0Fub29iXSBUaGUgYWRkaXRpb25hbCBp bmZvcm1hdGlvbiBmcm9tICJpbmNvbXBsZXRlIHJlYXNzZW1ibHkiIGF0dGVtcHQgd291bGQgYmUg dXNlZnVsIGZvciBzb2Z0d2FyZSB0byBwcm9wZXJseSBjb21wZW5zYXRlIGZvciB0aGUgaGFyZHdh cmUgcmVhc3NlbWJseSBhdHRlbXB0IChiYXNpY2FsbHksIHRoZSByZWFzc2VtYmx5IHRpbWVvdXQg aXMgaG9ub3JlZCBhY3Jvc3Mgcy93ICsgaC93ICByZWFzc2VtYmx5IGF0dGVtcHQpLiANCg0KQmVu ZWZpdCBvZiBzdWNoIGFuIG9mZmxvYWQgaXMgaW4gYWNjZWxlcmF0aW5nIHJlYXNzZW1ibHkgaW4g aGFyZHdhcmUgZm9yIHBlcmZvcm1hbmNlIHVzZSBjYXNlcy4gSWYgYXBwbGljYXRpb24gZXhwZWN0 cyBoZWF2eSBmcmFnbWVudGF0aW9uLCB0aGVuIGV2ZXJ5IHBhY2tldCB3b3VsZCBoYXZlIGEgY29z dCBvZiB+MTAwMCBjeWNsZXMgKHR5cGljYWxseSkgdG8gZ2V0IGl0IHJlYXNzZW1ibGVkLiBCeSBv ZmZsb2FkaW5nIHRoaXMgKGF0bGVhc3Qgc29tZSBwb3J0aW9uIG9mIGl0KSB0byBoYXJkd2FyZSwg YXBwbGljYXRpb24gd291bGQgYmUgYWJsZSB0byBzYXZlIHNpZ25pZmljYW50IGN5Y2xlcy4NCg0K U2luY2UgSVAgcmVhc3NlbWJseSBwcmVzZW50cyB2YXJ5aW5nIGNoYWxsZW5nZXMgZGVwZW5kaW5n IG9uIGhhcmR3YXJlIGltcGxlbWVudGF0aW9uLCB3ZSBjYW5ub3QgZXhwZWN0IGNvbXBsZXRlIHJl YXNzZW1ibHkgb2ZmbG9hZCBpbiBoYXJkd2FyZS4gRm9yIHNvbWUgdmVuZG9ycywgbWF4aW11bSBu dW1iZXIgb2YgZnJhZ21lbnRzIHN1cHBvcnRlZCBjb3VsZCBiZSBsaW1pdGVkLiBTb21lIHZlbmRv cnMgY291bGQgaGF2ZSBsaW1pdGVkIHJlYXNzZW1ibHkgdGltZW91dCAob3Igd2FpdF90aW1lKS4g U29tZSB2ZW5kb3JzIGNvdWxkIGhhdmUgbGltaXRhdGlvbnMgZGVwZW5kaW5nIG9uIGRhdGFncmFt IHNpemVzLiBTbyBzL3cgcmVhc3NlbWJseSBpcyBub3QgZ29pbmcgYXdheSBldmVuIHdpdGggdGhl IHByb3Bvc2VkIGhhcmR3YXJlIGFzc2lzdGVkIGlubGluZSByZWFzc2VtYmx5Lg0KDQo+IA0KPiA+ Pj4NCj4gPj4+PiAgLyogYWRkIG5ldyBSWCBmbGFncyBoZXJlLCBkb24ndCBmb3JnZXQgdG8gdXBk YXRlIFBLVF9GSVJTVF9GUkVFICovDQo+ID4+Pj4NCj4gPj4+PiAtI2RlZmluZSBQS1RfRklSU1Rf RlJFRSAoMVVMTCA8PCAyMykNCj4gPj4+PiArI2RlZmluZSBQS1RfRklSU1RfRlJFRSAoMVVMTCA8 PCAyNCkNCj4gPj4+PiAgI2RlZmluZSBQS1RfTEFTVF9GUkVFICgxVUxMIDw8IDQwKQ0KPiA+Pj4+ DQo+ID4+Pj4gIC8qIGFkZCBuZXcgVFggZmxhZ3MgaGVyZSwgZG9uJ3QgZm9yZ2V0IHRvIHVwZGF0 ZSBQS1RfTEFTVF9GUkVFICAqLw0KPiA+Pj4+IGRpZmYgLS1naXQgYS9saWIvc2VjdXJpdHkvcnRl X3NlY3VyaXR5LmgNCj4gPj4+PiBiL2xpYi9zZWN1cml0eS9ydGVfc2VjdXJpdHkuaCBpbmRleCA4 OGQzMWRlMGE2Li4zNjRlZWI1Y2Q0IDEwMDY0NA0KPiA+Pj4+IC0tLSBhL2xpYi9zZWN1cml0eS9y dGVfc2VjdXJpdHkuaA0KPiA+Pj4+ICsrKyBiL2xpYi9zZWN1cml0eS9ydGVfc2VjdXJpdHkuaA0K PiA+Pj4+IEBAIC0xODEsNiArMTgxLDE2IEBAIHN0cnVjdCBydGVfc2VjdXJpdHlfaXBzZWNfc2Ff b3B0aW9ucyB7DQo+ID4+Pj4gIAkgKiAqIDA6IERpc2FibGUgcGVyIHNlc3Npb24gc2VjdXJpdHkg c3RhdGlzdGljcyBjb2xsZWN0aW9uIGZvciB0aGlzIFNBLg0KPiA+Pj4+ICAJICovDQo+ID4+Pj4g IAl1aW50MzJfdCBzdGF0cyA6IDE7DQo+ID4+Pj4gKw0KPiA+Pj4+ICsJLyoqIEVuYWJsZSByZWFz c2VtYmx5IG9uIGluY29taW5nIHBhY2tldHMuDQo+ID4+Pj4gKwkgKg0KPiA+Pj4+ICsJICogKiAx OiBFbmFibGUgZHJpdmVyIHRvIHRyeSByZWFzc2VtYmx5IG9mIGVuY3J5cHRlZCBJUCBwYWNrZXRz IGZvcg0KPiA+Pj4+ICsJICogICAgICB0aGlzIFNBLCBpZiBzdXBwb3J0ZWQgYnkgdGhlIGRyaXZl ci4gVGhpcyBmZWF0dXJlIHdpbGwgd29yaw0KPiA+Pj4+ICsJICogICAgICBvbmx5IGlmIHJ4X29m ZmxvYWQgREVWX1JYX09GRkxPQURfUkVBU1NFTUJMWSBpcyBzZXQgaW4NCj4gPj4+PiArCSAqICAg ICAgaW5saW5lIGV0aGVybmV0IGRldmljZS4NCj4gPj4+PiArCSAqICogMDogRGlzYWJsZSByZWFz c2VtYmx5IG9mIHBhY2tldHMgKGRlZmF1bHQpLg0KPiA+Pj4+ICsJICovDQo+ID4+Pj4gKwl1aW50 MzJfdCByZWFzc19lbiA6IDE7DQo+ID4+Pj4gIH07DQo+ID4+Pj4NCj4gPj4+PiAgLyoqIElQU2Vj IHNlY3VyaXR5IGFzc29jaWF0aW9uIGRpcmVjdGlvbiAqLw0KPiA+Pj4+DQo+ID4NCg0K