From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id A9227C433F5 for ; Sat, 7 May 2022 07:39:53 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 215701129E4; Sat, 7 May 2022 07:39:53 +0000 (UTC) Received: from NAM12-DM6-obe.outbound.protection.outlook.com (mail-dm6nam12on2087.outbound.protection.outlook.com [40.107.243.87]) by gabe.freedesktop.org (Postfix) with ESMTPS id A58BB1129DD for ; Sat, 7 May 2022 07:39:51 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=HX4wWjb4THQ+mKepJB69G/KWuP+ZBm2v2Ec/Q1Bc7vTiN8Nm8mUbxZrxWqXYKI0nHR9jQ/xSxSGw5xP2beTYMtbv+VJgzns4/XeUsy8rzNqP94nOgg2p275TQZnhBulvTviyTao8wBI6DIebdlRthov5Rqwmb0PLJClPyY6HDmsngcTiTgpDskopJX3nAW/pQIrzPg6by/XTESNgBg7HWsV/J9DHvObkBlXYT3XOo1rHYK7N7703X7PflX8/RohGdKEWEmJchf1Te9ar0H5ne40zHYfDE/rnLVlZd6+eoN+N7Q8Ul/F6g57+vu7hk03iwMssifrYXsUFvOZ/cboFDQ== 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=xFVh813V85tVe9i25CsdefV6icQj5SKuf1/2fWU8rjo=; b=Qm0mGwrJ6c3hYiuOhGqlEYHz4FAP1i0eF3sJqMhEst+84XMPWIeTaQlqvKIQDDUfj2PAkA4E4Ibije6XQ70dYCCK9zBq7b0sU3BQ6/CuxcPO2xN6DT0kEKiMlpoMr3o5+Lblu8lul4Sa3dyH7ptfvq7AN8cEpVNQaId/mbQtys0fqs4N39bY08BCuNXzTyIphCxshEbxELHU/CLgTYk9G636Kvr5kMr879HC3ENxSCmR0hxLcR3rnsMJiSX1J6O0xzUPy/FbhTE14ZnhoJuvqZ8MHghFec7MeJFQWOJvlo0NvfVdsLv7EleJWWPeQThzupCtKjvO3IV36cR47ZHfOg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=xFVh813V85tVe9i25CsdefV6icQj5SKuf1/2fWU8rjo=; b=Hoa+RP0ffD0ncOKmZEN1Q/nzSi3YGp8aBX+lNUp7giwnDM4ZbiqO1kFKujBR35IztShF40U4aV9+lfshLNQdSeO/RZfCf9+sEE3nvjp2n/B+8B1NZ2FXFH+MkH9DL2HKbTrdNQv/NDkwBluVzZmgZNJ/rAeJ865yrSWTkPfBbLU= Received: from DM4PR12MB5118.namprd12.prod.outlook.com (2603:10b6:5:391::12) by LV2PR12MB6015.namprd12.prod.outlook.com (2603:10b6:408:14f::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5206.24; Sat, 7 May 2022 07:39:45 +0000 Received: from DM4PR12MB5118.namprd12.prod.outlook.com ([fe80::b5f2:dcec:3976:c64b]) by DM4PR12MB5118.namprd12.prod.outlook.com ([fe80::b5f2:dcec:3976:c64b%4]) with mapi id 15.20.5227.020; Sat, 7 May 2022 07:39:45 +0000 From: "Cui, Flora" To: "Siqueira, Rodrigo" , Alex Deucher , "Hung, Alex" , "Wang, Chao-kai (Stylon)" Subject: RE: [PATCH 07/15] drm/amd/display: remove redundant CONFIG_DRM_AMD_DC_DCN in dc Thread-Topic: [PATCH 07/15] drm/amd/display: remove redundant CONFIG_DRM_AMD_DC_DCN in dc Thread-Index: AQHYYWAJa1AcrE8ZikClLopr5CWjUq0SAQ6AgAAVJICAAPInIA== Date: Sat, 7 May 2022 07:39:45 +0000 Message-ID: References: <20220506154214.3438665-1-stylon.wang@amd.com> <20220506154214.3438665-8-stylon.wang@amd.com> <465aa9b5-a16f-e067-953c-1155c8d48ba8@amd.com> In-Reply-To: <465aa9b5-a16f-e067-953c-1155c8d48ba8@amd.com> Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Enabled=true; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_SetDate=2022-05-07T07:39:40Z; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Method=Standard; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Name=General; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_SiteId=3dd8961f-e488-4e60-8e11-a82d994e183d; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_ActionId=0afff848-c95a-4cd0-b547-5f610913b72c; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_ContentBits=1 msip_label_4342314e-0df4-4b58-84bf-38bed6170a0f_enabled: true msip_label_4342314e-0df4-4b58-84bf-38bed6170a0f_setdate: 2022-05-07T07:39:40Z msip_label_4342314e-0df4-4b58-84bf-38bed6170a0f_method: Standard msip_label_4342314e-0df4-4b58-84bf-38bed6170a0f_name: General msip_label_4342314e-0df4-4b58-84bf-38bed6170a0f_siteid: 3dd8961f-e488-4e60-8e11-a82d994e183d msip_label_4342314e-0df4-4b58-84bf-38bed6170a0f_actionid: 6943655a-0d9c-4249-9e6d-25564780b7a9 msip_label_4342314e-0df4-4b58-84bf-38bed6170a0f_contentbits: 0 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=amd.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: e4354349-905f-4c75-9a84-08da2ffcc1a8 x-ms-traffictypediagnostic: LV2PR12MB6015:EE_ x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: Hmq86L2qtnVt18Csq9XFc2U5Nc1ohuhDCvdr1ZzUuzyq68zEe+nz0Yhv3k2VgbANlPug52C7MyIYhTuBFSXCFhCf+qheLj7xIJ4WdeIPl02bHokk1zIYJaeQrDMj9xeZEw48fqAyO6GgXPRW/WfUQzN/pExZ7WJQt9LyGcuw0dXrZkK4t6h0emCCqB65qaEJ5iQK0b2rtHKzWfilSsR3v4gFkBOZQ3PUbESZMjvdnCaZRDdE9NARXFQLXJJ1x+JeeFMCYmi514GQBA21UmDxhDzkTYw2sZ3lP0ytSmqo+WVKtm57mTOBC6lKTNIAwxKyurmF/Iw6kY7ONjUq6zfBczEoce+jdEgqu0Xvkk9RN3jZeHHgl4hCM/Yz9Tm0wYKi+t2jKMgTbT7cjL21WawdzJnnjW3jrOIvRKhLQX51o9xyOWXhPuFrk82CKedmv9OCv+7+LAsbrGaxhlQ0vCPIzj/AQWKAoiA7pz8O99nHQ3zdp0P7wGAC19d3dvACWMxKI81Lrk2BhRFrj7eHXzsKTVIAcBeJUTGE+yZnYf9ZAmcPpLwnPCTiQkXUP8I2Ag5/utAeEWBoHHwjW922qspD31H5jhm2SnMVpO5mHaXIQEBw+4LrPxf3hc3lX1Sq/xDfe4v36n8vnyzZB4WAnHUi2Q7C4nYfDivhOQX2tRIzPfzEUctOAAT6MCE03d4nhZXNGsJD4OhYdbxp58psa2ZHAg== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM4PR12MB5118.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(4636009)(366004)(186003)(8936002)(5660300002)(4326008)(8676002)(33656002)(52536014)(64756008)(66476007)(66446008)(83380400001)(66556008)(76116006)(66946007)(110136005)(86362001)(54906003)(38100700002)(316002)(6636002)(2906002)(38070700005)(7696005)(55016003)(71200400001)(508600001)(26005)(9686003)(53546011)(30864003)(122000001)(6506007)(579004)(559001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?WGtjcXE4Zk4zZ05NWVk1ek9raFNlK0FIclBhaU1HVlZtTmRGM0hlS1FOSzcx?= =?utf-8?B?aGJDVjVoVlQ4SHpXLzNsaFRkSmhyMmJiMXRmWmRHcW9DYWszUVRDbXRlODF6?= =?utf-8?B?cEMyWHZXeGEzU3Vmd1h3QTdFT2M4YlFFcWZ6dzBHK05heFlsQ09GSEJuVFNj?= =?utf-8?B?QXFmdEdhM3hyQVdOeGgyeWJ0akVTNTF3MkE0K28wNW56OHRjTWlNTUlmU2xB?= =?utf-8?B?bnhJcFMraGQ1NTZBT21za0tMYXE0djNUYm5LVTRtWmJiaWRIMzY0ODZGYXov?= =?utf-8?B?ZW1ISHllaVV6cDk5d3dsbm5raVFWQVFCOTBYUFB3cTlDbTdzRXUrbWh4d0R6?= =?utf-8?B?d2pJdzNYQktnYTBaWENRbWZKemlMZnR5dGtDL3dxVHFaa1ZuQU00VHhmTzZn?= =?utf-8?B?NW1XbnRWUUZwZzhtTHZpVHRRU2RNdkhVWmtQN3RNNkZlbmQ3eDF1WEpDZEg4?= =?utf-8?B?TzVRMnA0Y3NJMTV6U0pVRityM3ByZHBTNFlOTlVtZkVUTmtaZ29nZERPTndV?= =?utf-8?B?aHF1UXBzTlc3UnM3d0JCVHl5K0FRWWRKRE1uVCtHTzZ2RGFWUU5mN0JNbXVU?= =?utf-8?B?dkEzZUhuWVUzZTR2ZFk5aTM0REQ4ZFpNaXo3ZjBKRlJ5S1lUeEduQ2ZXQ1Nx?= =?utf-8?B?YWhsMFU1dnVKeU14QXI2MmlkZnd4RTJ6eXhOeVpZNG1uMit5aEFueVNYWjI3?= =?utf-8?B?d2hOL3NXeWV1SCtwakpyd0hnd1ErSVZpRE1wWVBQMU9QL0kwQjJ6U2hKeGQ1?= =?utf-8?B?bys3bW5VK2tYU2xCM2d6aUc1aWdvVEVVdy94cXBFK3dUWDZualFXRWhHM2Fx?= =?utf-8?B?a2MzSVF6VGpsRnoyNkI4VGtTajVkcWJSelNselFJVUJiME1jYkw0andUU2tx?= =?utf-8?B?MFFpNlFoYnE5eG1MRGk1RFgzZWVtU29nakU3MmZpc0QvdERQdGlWRGtYSEtO?= =?utf-8?B?ODQzcjRUdnl5WUxONU05QkZpckZkeHdkZlFOY1NaTXUvaHNoOVFmSFlDaHFQ?= =?utf-8?B?cjY5TlpFREErbVROT0VtU3VzczBPaVluUVRocUkyWCtaQk5vV3dQdlNiNnFs?= =?utf-8?B?WG5xSnB0Zk9HZ3RhblA1VWZpMHhWandOTW9ITUZBUEY5RVhWdUM1N3dYOWMx?= =?utf-8?B?am9nRFd6V0RybUVoQzhNaXRabGtUMjJHcEkrdDZLQ0lGQkFyTmNEM05oRzJz?= =?utf-8?B?b2RqdU5hNFlNMGRiTTczN2xpMVFBS3dBM3VBN0VXVGtSSFQ0Q1hjUENkZ2tk?= =?utf-8?B?YkVKOEdUNmhPUmx1K0d5QnJSWmhLbnQ0QjZkZlhGOVpQWmplblFScW9hcThz?= =?utf-8?B?SVlialAzZUhvKzFiV1ZobEgvTlBCYlo5OEZNQi9YQiszbzQxRm96Rlc2TS9o?= =?utf-8?B?YUdmQ0IvMW5yNG1GR3lIMEZQL1pWaGw2bHhQdW1VdzZlVGwvOHR5OWlKMWpC?= =?utf-8?B?RWpWR25JSG91ZXZRcjdGa0g1b2NzZXluOWhTV2ZHdDc5MVZSZVpheVlJc2RK?= =?utf-8?B?bmZwalZTbXpId2k4b1ZFU016aXZxS1hyc0JVR2N2YzlPV3VQS09JcmUxN2FM?= =?utf-8?B?Vkp6K2dHcUtMdmRpSUdCNlJRUDBmcWJwYk5OQUNUandDSklNUE1vYW9MWXdW?= =?utf-8?B?QWgvamZVUG5zZTVPTkJNVGxFK204SkhMRkIyS2NsRytJOUd0eWM0Sy9DeTBr?= =?utf-8?B?S0ZCQWVVUkl1QWhHNFQwM0c0VExoaHowbjRtQThLYS9FWlQ1bW9SUjZTU0Ns?= =?utf-8?B?M2htb1JoSGN3Zmw3b2VQL014N3UzQXJpcjU0dlFrYnk0UzZvWEgyQjR5ek9N?= =?utf-8?B?bUJWcjR0Uncvc2VqOW0vTE1iZno5S0djSUtEc2tpNDM2c05xdDlpYUluT2pL?= =?utf-8?B?cStkT0w4WE90ZGlEOUhWc0dLNmZzWUx0L2VINXhIRmpPQ1BpVU9pRTJkMXhZ?= =?utf-8?B?UUFJQVR6S2Q2V3dkUC9Ka3R5ZVJNY3FBNVhKWmJBdVhsd3VseXowMWtudUd4?= =?utf-8?B?OHVJTnhpY3pUeGEwdXg4d0hmck10ZlhTUExLRzRuWmFOeTJncVdKanFNcGpp?= =?utf-8?B?YnIvV2IzQUJaRzVqU01ac3dCbkRMcmMyNGhGSDRjdXdyWXFLYTVyZ3o3QytW?= =?utf-8?B?dUVhWHV5Zm9KU3pYaG4xb3loUzBKNlJhNzUwMkdJeGZudHp1OW0rdVY0RGcw?= =?utf-8?B?YUgyc0U0d0szWnRLMXBMU1ZkL1A4clV5VC9PZ3JwTnpIM1o2ekd3NzNrdVhV?= =?utf-8?B?RUJMREl0Mkc2OGh1Umt5dVZPYVdXWlplOU5RTVpaYjU4Z05ORzI0NzBBRlpI?= =?utf-8?Q?7p5Kqj4kOE5QtkD33w?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM4PR12MB5118.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: e4354349-905f-4c75-9a84-08da2ffcc1a8 X-MS-Exchange-CrossTenant-originalarrivaltime: 07 May 2022 07:39:45.3506 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 2n8f6QCkPzvGE6rRJ613wXoK70CudyEbWxg7gaQHfAdaQHnpJgvcYgIByuquBXPf X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV2PR12MB6015 X-BeenThere: amd-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "Li, Sun peng \(Leo\)" , "Wentland, Harry" , "Zhuo, Qingqing \(Lillian\)" , "Li, Roman" , amd-gfx list , "Chiu, Solomon" , "Pillai, Aurabindo" , "Lin, Wayne" , "Lakha, Bhawanpreet" , "Gutierrez, Agustin" , "Kotarac, Pavle" Errors-To: amd-gfx-bounces@lists.freedesktop.org Sender: "amd-gfx" W0FNRCBPZmZpY2lhbCBVc2UgT25seSAtIEdlbmVyYWxdDQoNCldoYXQgYWJvdXQgYXJtPw0KDQot LS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KRnJvbTogYW1kLWdmeCA8YW1kLWdmeC1ib3VuY2Vz QGxpc3RzLmZyZWVkZXNrdG9wLm9yZz4gT24gQmVoYWxmIE9mIFJvZHJpZ28gU2lxdWVpcmEgSm9y ZGFvDQpTZW50OiAyMDIy5bm0NeaciDfml6UgMToxMw0KVG86IEFsZXggRGV1Y2hlciA8YWxleGRl dWNoZXJAZ21haWwuY29tPjsgSHVuZywgQWxleCA8QWxleC5IdW5nQGFtZC5jb20+OyBXYW5nLCBD aGFvLWthaSAoU3R5bG9uKSA8U3R5bG9uLldhbmdAYW1kLmNvbT4NCkNjOiBMaSwgU3VuIHBlbmcg KExlbykgPFN1bnBlbmcuTGlAYW1kLmNvbT47IExha2hhLCBCaGF3YW5wcmVldCA8Qmhhd2FucHJl ZXQuTGFraGFAYW1kLmNvbT47IFpodW8sIFFpbmdxaW5nIChMaWxsaWFuKSA8UWluZ3FpbmcuWmh1 b0BhbWQuY29tPjsgTGksIFJvbWFuIDxSb21hbi5MaUBhbWQuY29tPjsgYW1kLWdmeCBsaXN0IDxh bWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZz47IENoaXUsIFNvbG9tb24gPFNvbG9tb24uQ2hp dUBhbWQuY29tPjsgUGlsbGFpLCBBdXJhYmluZG8gPEF1cmFiaW5kby5QaWxsYWlAYW1kLmNvbT47 IExpbiwgV2F5bmUgPFdheW5lLkxpbkBhbWQuY29tPjsgV2VudGxhbmQsIEhhcnJ5IDxIYXJyeS5X ZW50bGFuZEBhbWQuY29tPjsgR3V0aWVycmV6LCBBZ3VzdGluIDxBZ3VzdGluLkd1dGllcnJlekBh bWQuY29tPjsgS290YXJhYywgUGF2bGUgPFBhdmxlLktvdGFyYWNAYW1kLmNvbT4NClN1YmplY3Q6 IFJlOiBbUEFUQ0ggMDcvMTVdIGRybS9hbWQvZGlzcGxheTogcmVtb3ZlIHJlZHVuZGFudCBDT05G SUdfRFJNX0FNRF9EQ19EQ04gaW4gZGMNCg0KDQoNCk9uIDIwMjItMDUtMDYgMTE6NTYsIEFsZXgg RGV1Y2hlciB3cm90ZToNCj4gT24gRnJpLCBNYXkgNiwgMjAyMiBhdCAxMTo0MyBBTSBTdHlsb24g V2FuZyA8c3R5bG9uLndhbmdAYW1kLmNvbT4gd3JvdGU6DQo+Pg0KPj4gRnJvbTogQWxleCBIdW5n IDxhbGV4Lmh1bmdAYW1kLmNvbT4NCj4+DQo+PiBbV2h5ICYgSG93XQ0KPj4gQ09ORklHX0RSTV9B TURfRENfRENOIGlzIHVzZWQgYnkgcGFzcyB0aGUgY29tcGlsYXRpb24gZmFpbHVyZXMsIGJ1dCBE Qw0KPj4gY29kZSBzaG91bGQgYmUgT1MtYWdub3N0aWMuDQo+Pg0KPj4gVGhpcyBwYXRjaCBmaXhl cyBpdCBieSByZW1vdmluZyB1bm5lY2Vzc2FzcnkgQ09ORklHX0RSTV9BTURfRENfRENODQo+PiBp biBkYyBhbmQgZGMvY29yZSBkaXJlY3Rvcmllcy4NCj4+DQo+PiBSZXZpZXdlZC1ieTogUm9kcmln byBTaXF1ZWlyYSA8Um9kcmlnby5TaXF1ZWlyYUBhbWQuY29tPg0KPj4gQWNrZWQtYnk6IFN0eWxv biBXYW5nIDxzdHlsb24ud2FuZ0BhbWQuY29tPg0KPj4gU2lnbmVkLW9mZi1ieTogQWxleCBIdW5n IDxhbGV4Lmh1bmdAYW1kLmNvbT4NCj4gDQo+IEkgcHJlc3VtZSB0aGUgZHJpdmVyIHN0aWxsIGJ1 aWxkcyBwcm9wZXJseSBvbiBjb25maWdzIHdoZXJlDQo+IENPTkZJR19EUk1fQU1EX0RDX0RDTiBp cyBub3Qgc2V0PyAgRS5nLiwgcGxhdGZvcm1zIHdpdGhvdXQgZmxvYXRpbmcNCj4gcG9pbnQgZm9y IGV4YW1wbGU/DQo+IA0KDQpIaSBBbGV4LA0KDQpUaGlzIGlzIHBhcnQgb2Ygb3VyIGVmZm9ydCB0 byBpc29sYXRlIEZQVSBjb2RlIGluc2lkZSBETUwgKHJpZ2h0IG5vdywgd2UgDQphcmUgb25seSBt aXNzaW5nIERDTjMwKTsgc2luY2Ugd2UgYXJlIHJlYWxseSBjbG9zZSB0byB0aGF0LCBtYW55IG9m IA0KdGhlc2UgZ3VhcmRzIGJlY29tZSB1c2VsZXNzLiBBbGwgb2YgdGhlc2UgcGF0Y2hlcyB3ZXJl IHRlc3RlZCBpbiBvdXIgQ0kgDQphZ2FpbnN0Og0KDQoxLiB4ODYgd2l0aCBEQ04NCjIuIHg4NiB3 aXRob3V0IERDTg0KMy4gQ2xhbmcNCjQuIG1ha2UgYWxsbW9kY29uZmlnDQoNCkFkZGl0aW9uYWxs eSwgSSB0aGluayB0aGF0IEFsZXggSHVuZyBhbHNvIGNoZWNrZWQgdGhlIGNvbXBpbGF0aW9uIHdp dGggDQpQb3dlclBDLg0KDQpUaGFua3MNClNpcXVlaXJhDQoNCg0KPiBBbGV4DQo+IA0KPj4gLS0t DQo+PiAgIGRyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9NYWtlZmlsZSAgICAgICB8ICAy IC0NCj4+ICAgLi4uL2Rpc3BsYXkvZGMvYmlvcy9jb21tYW5kX3RhYmxlX2hlbHBlcjIuYyAgIHwg IDMgKy0NCj4+ICAgZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2NvcmUvZGMuYyAgICAg IHwgMzEgKystLS0tLS0tLS0tLS0tLQ0KPj4gICAuLi4vZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9j b3JlL2RjX2RlYnVnLmMgICAgfCAgMiAtDQo+PiAgIGRyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxh eS9kYy9jb3JlL2RjX2xpbmsuYyB8ICAyIC0NCj4+ICAgLi4uL2dwdS9kcm0vYW1kL2Rpc3BsYXkv ZGMvY29yZS9kY19saW5rX2RwLmMgIHwgIDQgLS0NCj4+ICAgLi4uL2RybS9hbWQvZGlzcGxheS9k Yy9jb3JlL2RjX2xpbmtfZHBpYS5jICAgIHwgIDIgLQ0KPj4gICAuLi4vZ3B1L2RybS9hbWQvZGlz cGxheS9kYy9jb3JlL2RjX3Jlc291cmNlLmMgfCAyMSArKy0tLS0tLS0tLQ0KPj4gICAuLi4vZ3B1 L2RybS9hbWQvZGlzcGxheS9kYy9jb3JlL2RjX3N0cmVhbS5jICAgfCAgOCAtLS0tDQo+PiAgIGRy aXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9kYy5oICAgICAgICAgICB8IDM3IC0tLS0tLS0t LS0tLS0tLS0tLS0NCj4+ICAgZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2RtX2hlbHBl cnMuaCAgIHwgIDIgLQ0KPj4gICAuLi4vZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9pbmMvY29yZV90 eXBlcy5oICAgfCAxNyArKy0tLS0tLS0NCj4+ICAgMTIgZmlsZXMgY2hhbmdlZCwgMTAgaW5zZXJ0 aW9ucygrKSwgMTIxIGRlbGV0aW9ucygtKQ0KPj4NCj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vYW1kL2Rpc3BsYXkvZGMvTWFrZWZpbGUgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3Bs YXkvZGMvTWFrZWZpbGUNCj4+IGluZGV4IGYwNWFiMmJmMjBjNS4uYjRlY2EwMjM2NDM1IDEwMDY0 NA0KPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL01ha2VmaWxlDQo+PiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvTWFrZWZpbGUNCj4+IEBAIC02Myw5 ICs2Myw3IEBAIERJU1BMQVlfQ09SRSA9IGRjLm8gIGRjX3N0YXQubyBkY19saW5rLm8gZGNfcmVz b3VyY2UubyBkY19od19zZXF1ZW5jZXIubyBkY19zaW5rDQo+PiAgIGRjX3N1cmZhY2UubyBkY19s aW5rX2RwLm8gZGNfbGlua19kZGMubyBkY19kZWJ1Zy5vIGRjX3N0cmVhbS5vIFwNCj4+ICAgZGNf bGlua19lbmNfY2ZnLm8gZGNfbGlua19kcGlhLm8gZGNfbGlua19kcGNkLm8NCj4+DQo+PiAtaWZk ZWYgQ09ORklHX0RSTV9BTURfRENfRENODQo+PiAgIERJU1BMQVlfQ09SRSArPSBkY192bV9oZWxw ZXIubw0KPj4gLWVuZGlmDQo+Pg0KPj4gICBBTURfRElTUExBWV9DT1JFID0gJChhZGRwcmVmaXgg JChBTUREQUxQQVRIKS9kYy9jb3JlLywkKERJU1BMQVlfQ09SRSkpDQo+Pg0KPj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9iaW9zL2NvbW1hbmRfdGFibGVfaGVs cGVyMi5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2Jpb3MvY29tbWFuZF90YWJs ZV9oZWxwZXIyLmMNCj4+IGluZGV4IGRkOTcwNGVmNGNjYy4uZjM3OTIyODZmNTcxIDEwMDY0NA0K Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2Jpb3MvY29tbWFuZF90YWJs ZV9oZWxwZXIyLmMNCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9iaW9z L2NvbW1hbmRfdGFibGVfaGVscGVyMi5jDQo+PiBAQCAtNjUsNyArNjUsNiBAQCBib29sIGRhbF9i aW9zX3BhcnNlcl9pbml0X2NtZF90YmxfaGVscGVyMigNCj4+ICAgICAgICAgIGNhc2UgRENFX1ZF UlNJT05fMTJfMToNCj4+ICAgICAgICAgICAgICAgICAgKmggPSBkYWxfY21kX3RibF9oZWxwZXJf ZGNlMTEyX2dldF90YWJsZTIoKTsNCj4+ICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQo+ PiAtI2lmIGRlZmluZWQoQ09ORklHX0RSTV9BTURfRENfRENOKQ0KPj4gICAgICAgICAgY2FzZSBE Q05fVkVSU0lPTl8xXzA6DQo+PiAgICAgICAgICBjYXNlIERDTl9WRVJTSU9OXzFfMDE6DQo+PiAg ICAgICAgICBjYXNlIERDTl9WRVJTSU9OXzJfMDoNCj4+IEBAIC04MCw3ICs3OSw3IEBAIGJvb2wg ZGFsX2Jpb3NfcGFyc2VyX2luaXRfY21kX3RibF9oZWxwZXIyKA0KPj4gICAgICAgICAgY2FzZSBE Q05fVkVSU0lPTl8zXzE2Og0KPj4gICAgICAgICAgICAgICAgICAqaCA9IGRhbF9jbWRfdGJsX2hl bHBlcl9kY2UxMTJfZ2V0X3RhYmxlMigpOw0KPj4gICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1 ZTsNCj4+IC0jZW5kaWYNCj4+ICsNCj4+ICAgICAgICAgIGRlZmF1bHQ6DQo+PiAgICAgICAgICAg ICAgICAgIC8qIFVuc3VwcG9ydGVkIERDRSAqLw0KPj4gICAgICAgICAgICAgICAgICBCUkVBS19U T19ERUJVR0dFUigpOw0KPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxh eS9kYy9jb3JlL2RjLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvY29yZS9kYy5j DQo+PiBpbmRleCBjMmZjZDY3YmNjNGQuLjFlZWVhN2MxODRhZSAxMDA2NDQNCj4+IC0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9jb3JlL2RjLmMNCj4+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9hbWQvZGlzcGxheS9kYy9jb3JlL2RjLmMNCj4+IEBAIC04MjksMTQgKzgyOSwxMiBA QCBzdGF0aWMgdm9pZCBkY19kZXN0cnVjdChzdHJ1Y3QgZGMgKmRjKQ0KPj4gICAgICAgICAga2Zy ZWUoZGMtPmJ3X2RjZWlwKTsNCj4+ICAgICAgICAgIGRjLT5id19kY2VpcCA9IE5VTEw7DQo+Pg0K Pj4gLSNpZmRlZiBDT05GSUdfRFJNX0FNRF9EQ19EQ04NCj4+ICAgICAgICAgIGtmcmVlKGRjLT5k Y25fc29jKTsNCj4+ICAgICAgICAgIGRjLT5kY25fc29jID0gTlVMTDsNCj4+DQo+PiAgICAgICAg ICBrZnJlZShkYy0+ZGNuX2lwKTsNCj4+ICAgICAgICAgIGRjLT5kY25faXAgPSBOVUxMOw0KPj4N Cj4+IC0jZW5kaWYNCj4+ICAgICAgICAgIGtmcmVlKGRjLT52bV9oZWxwZXIpOw0KPj4gICAgICAg ICAgZGMtPnZtX2hlbHBlciA9IE5VTEw7DQo+Pg0KPj4gQEAgLTg4MiwxMCArODgwLDggQEAgc3Rh dGljIGJvb2wgZGNfY29uc3RydWN0KHN0cnVjdCBkYyAqZGMsDQo+PiAgICAgICAgICBzdHJ1Y3Qg ZGNfY29udGV4dCAqZGNfY3R4Ow0KPj4gICAgICAgICAgc3RydWN0IGJ3X2NhbGNzX2RjZWlwICpk Y19kY2VpcDsNCj4+ICAgICAgICAgIHN0cnVjdCBid19jYWxjc192YmlvcyAqZGNfdmJpb3M7DQo+ PiAtI2lmZGVmIENPTkZJR19EUk1fQU1EX0RDX0RDTg0KPj4gICAgICAgICAgc3RydWN0IGRjbl9z b2NfYm91bmRpbmdfYm94ICpkY25fc29jOw0KPj4gICAgICAgICAgc3RydWN0IGRjbl9pcF9wYXJh bXMgKmRjbl9pcDsNCj4+IC0jZW5kaWYNCj4+DQo+PiAgICAgICAgICBkYy0+Y29uZmlnID0gaW5p dF9wYXJhbXMtPmZsYWdzOw0KPj4NCj4+IEBAIC05MTMsNyArOTA5LDYgQEAgc3RhdGljIGJvb2wg ZGNfY29uc3RydWN0KHN0cnVjdCBkYyAqZGMsDQo+PiAgICAgICAgICB9DQo+Pg0KPj4gICAgICAg ICAgZGMtPmJ3X3ZiaW9zID0gZGNfdmJpb3M7DQo+PiAtI2lmZGVmIENPTkZJR19EUk1fQU1EX0RD X0RDTg0KPj4gICAgICAgICAgZGNuX3NvYyA9IGt6YWxsb2Moc2l6ZW9mKCpkY25fc29jKSwgR0ZQ X0tFUk5FTCk7DQo+PiAgICAgICAgICBpZiAoIWRjbl9zb2MpIHsNCj4+ICAgICAgICAgICAgICAg ICAgZG1fZXJyb3IoIiVzOiBmYWlsZWQgdG8gY3JlYXRlIGRjbl9zb2NcbiIsIF9fZnVuY19fKTsN Cj4+IEBAIC05MjksNyArOTI0LDYgQEAgc3RhdGljIGJvb2wgZGNfY29uc3RydWN0KHN0cnVjdCBk YyAqZGMsDQo+PiAgICAgICAgICB9DQo+Pg0KPj4gICAgICAgICAgZGMtPmRjbl9pcCA9IGRjbl9p cDsNCj4+IC0jZW5kaWYNCj4+DQo+PiAgICAgICAgICBpZiAoIWRjX2NvbnN0cnVjdF9jdHgoZGMs IGluaXRfcGFyYW1zKSkgew0KPj4gICAgICAgICAgICAgICAgICBkbV9lcnJvcigiJXM6IGZhaWxl ZCB0byBjcmVhdGUgY3R4XG4iLCBfX2Z1bmNfXyk7DQo+PiBAQCAtMTg2OCw3ICsxODYyLDYgQEAg Ym9vbCBkY19jb21taXRfc3RhdGUoc3RydWN0IGRjICpkYywgc3RydWN0IGRjX3N0YXRlICpjb250 ZXh0KQ0KPj4gICAgICAgICAgcmV0dXJuIChyZXN1bHQgPT0gRENfT0spOw0KPj4gICB9DQo+Pg0K Pj4gLSNpZiBkZWZpbmVkKENPTkZJR19EUk1fQU1EX0RDX0RDTikNCj4+ICAgYm9vbCBkY19hY3F1 aXJlX3JlbGVhc2VfbXBjXzNkbHV0KA0KPj4gICAgICAgICAgICAgICAgICBzdHJ1Y3QgZGMgKmRj LCBib29sIGFjcXVpcmUsDQo+PiAgICAgICAgICAgICAgICAgIHN0cnVjdCBkY19zdHJlYW1fc3Rh dGUgKnN0cmVhbSwNCj4+IEBAIC0xOTA0LDcgKzE4OTcsNyBAQCBib29sIGRjX2FjcXVpcmVfcmVs ZWFzZV9tcGNfM2RsdXQoDQo+PiAgICAgICAgICB9DQo+PiAgICAgICAgICByZXR1cm4gcmV0Ow0K Pj4gICB9DQo+PiAtI2VuZGlmDQo+PiArDQo+PiAgIHN0YXRpYyBib29sIGlzX2ZsaXBfcGVuZGlu Z19pbl9waXBlcyhzdHJ1Y3QgZGMgKmRjLCBzdHJ1Y3QgZGNfc3RhdGUgKmNvbnRleHQpDQo+PiAg IHsNCj4+ICAgICAgICAgIGludCBpOw0KPj4gQEAgLTE5MjUsNyArMTkxOCw2IEBAIHN0YXRpYyBi b29sIGlzX2ZsaXBfcGVuZGluZ19pbl9waXBlcyhzdHJ1Y3QgZGMgKmRjLCBzdHJ1Y3QgZGNfc3Rh dGUgKmNvbnRleHQpDQo+PiAgICAgICAgICByZXR1cm4gZmFsc2U7DQo+PiAgIH0NCj4+DQo+PiAt I2lmZGVmIENPTkZJR19EUk1fQU1EX0RDX0RDTg0KPj4gICAvKiBQZXJmb3JtIHVwZGF0ZXMgaGVy ZSB3aGljaCBuZWVkIHRvIGJlIGRlZmVycmVkIHVudGlsIG5leHQgdnVwZGF0ZQ0KPj4gICAgKg0K Pj4gICAgKiBpLmUuIGJsbmQgbHV0LCAzZGx1dCwgYW5kIHNoYXBlciBsdXQgYnlwYXNzIHJlZ3Mg YXJlIGRvdWJsZSBidWZmZXJlZA0KPj4gQEAgLTE5NDQsNyArMTkzNiw2IEBAIHN0YXRpYyB2b2lk IHByb2Nlc3NfZGVmZXJyZWRfdXBkYXRlcyhzdHJ1Y3QgZGMgKmRjKQ0KPj4gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgZGMtPnJlc19wb29sLT5kcHBzW2ldLT5mdW5jcy0+ZHBwX2Rl ZmVycmVkX3VwZGF0ZShkYy0+cmVzX3Bvb2wtPmRwcHNbaV0pOw0KPj4gICAgICAgICAgfQ0KPj4g ICB9DQo+PiAtI2VuZGlmIC8qIENPTkZJR19EUk1fQU1EX0RDX0RDTiAqLw0KPj4NCj4+ICAgdm9p ZCBkY19wb3N0X3VwZGF0ZV9zdXJmYWNlc190b19zdHJlYW0oc3RydWN0IGRjICpkYykNCj4+ICAg ew0KPj4gQEAgLTE5NzEsOSArMTk2Miw3IEBAIHZvaWQgZGNfcG9zdF91cGRhdGVfc3VyZmFjZXNf dG9fc3RyZWFtKHN0cnVjdCBkYyAqZGMpDQo+PiAgICAgICAgICAgICAgICAgICAgICAgICAgZGMt Pmh3c3MuZGlzYWJsZV9wbGFuZShkYywgJmNvbnRleHQtPnJlc19jdHgucGlwZV9jdHhbaV0pOw0K Pj4gICAgICAgICAgICAgICAgICB9DQo+Pg0KPj4gLSNpZmRlZiBDT05GSUdfRFJNX0FNRF9EQ19E Q04NCj4+ICAgICAgICAgIHByb2Nlc3NfZGVmZXJyZWRfdXBkYXRlcyhkYyk7DQo+PiAtI2VuZGlm DQo+Pg0KPj4gICAgICAgICAgZGMtPmh3c3Mub3B0aW1pemVfYmFuZHdpZHRoKGRjLCBjb250ZXh0 KTsNCj4+DQo+PiBAQCAtMTk4Nyw5ICsxOTc2LDcgQEAgc3RhdGljIHZvaWQgaW5pdF9zdGF0ZShz dHJ1Y3QgZGMgKmRjLCBzdHJ1Y3QgZGNfc3RhdGUgKmNvbnRleHQpDQo+PiAgICAgICAgICAgKiBp bml0aWFsaXplIGFuZCBvYnRhaW4gSVAgYW5kIFNPQyB0aGUgYmFzZSBETUwgaW5zdGFuY2UgZnJv bSBEQyBpcw0KPj4gICAgICAgICAgICogaW5pdGlhbGx5IGNvcGllZCBpbnRvIGV2ZXJ5IGNvbnRl eHQNCj4+ICAgICAgICAgICAqLw0KPj4gLSNpZmRlZiBDT05GSUdfRFJNX0FNRF9EQ19EQ04NCj4+ ICAgICAgICAgIG1lbWNweSgmY29udGV4dC0+YndfY3R4LmRtbCwgJmRjLT5kbWwsIHNpemVvZihz dHJ1Y3QgZGlzcGxheV9tb2RlX2xpYikpOw0KPj4gLSNlbmRpZg0KPj4gICB9DQo+Pg0KPj4gICBz dHJ1Y3QgZGNfc3RhdGUgKmRjX2NyZWF0ZV9zdGF0ZShzdHJ1Y3QgZGMgKmRjKQ0KPj4gQEAgLTIz NjEsMTEgKzIzNDgsOSBAQCBzdGF0aWMgZW51bSBzdXJmYWNlX3VwZGF0ZV90eXBlIGNoZWNrX3Vw ZGF0ZV9zdXJmYWNlc19mb3Jfc3RyZWFtKA0KPj4gICAgICAgICAgaW50IGk7DQo+PiAgICAgICAg ICBlbnVtIHN1cmZhY2VfdXBkYXRlX3R5cGUgb3ZlcmFsbF90eXBlID0gVVBEQVRFX1RZUEVfRkFT VDsNCj4+DQo+PiAtI2lmIGRlZmluZWQoQ09ORklHX0RSTV9BTURfRENfRENOKQ0KPj4gICAgICAg ICAgaWYgKGRjLT5pZGxlX29wdGltaXphdGlvbnNfYWxsb3dlZCkNCj4+ICAgICAgICAgICAgICAg ICAgb3ZlcmFsbF90eXBlID0gVVBEQVRFX1RZUEVfRlVMTDsNCj4+DQo+PiAtI2VuZGlmDQo+PiAg ICAgICAgICBpZiAoc3RyZWFtX3N0YXR1cyA9PSBOVUxMIHx8IHN0cmVhbV9zdGF0dXMtPnBsYW5l X2NvdW50ICE9IHN1cmZhY2VfY291bnQpDQo+PiAgICAgICAgICAgICAgICAgIG92ZXJhbGxfdHlw ZSA9IFVQREFURV9UWVBFX0ZVTEw7DQo+Pg0KPj4gQEAgLTI4NzQsMTAgKzI4NTksOCBAQCBzdGF0 aWMgdm9pZCBjb21taXRfcGxhbmVzX2Zvcl9zdHJlYW0oc3RydWN0IGRjICpkYywNCj4+ICAgICAg ICAgIH0NCj4+DQo+PiAgICAgICAgICBpZiAodXBkYXRlX3R5cGUgPT0gVVBEQVRFX1RZUEVfRlVM TCkgew0KPj4gLSNpZiBkZWZpbmVkKENPTkZJR19EUk1fQU1EX0RDX0RDTikNCj4+ICAgICAgICAg ICAgICAgICAgZGNfYWxsb3dfaWRsZV9vcHRpbWl6YXRpb25zKGRjLCBmYWxzZSk7DQo+Pg0KPj4g LSNlbmRpZg0KPj4gICAgICAgICAgICAgICAgICBpZiAoZ2V0X3NlYW1sZXNzX2Jvb3Rfc3RyZWFt X2NvdW50KGNvbnRleHQpID09IDApDQo+PiAgICAgICAgICAgICAgICAgICAgICAgICAgZGMtPmh3 c3MucHJlcGFyZV9iYW5kd2lkdGgoZGMsIGNvbnRleHQpOw0KPj4NCj4+IEBAIC0yODk1LDcgKzI4 NzgsNiBAQCBzdGF0aWMgdm9pZCBjb21taXRfcGxhbmVzX2Zvcl9zdHJlYW0oc3RydWN0IGRjICpk YywNCj4+ICAgICAgICAgICAgICAgICAgfQ0KPj4gICAgICAgICAgfQ0KPj4NCj4+IC0jaWZkZWYg Q09ORklHX0RSTV9BTURfRENfRENODQo+PiAgICAgICAgICBpZiAoc3RyZWFtLT50ZXN0X3BhdHRl cm4udHlwZSAhPSBEUF9URVNUX1BBVFRFUk5fVklERU9fTU9ERSkgew0KPj4gICAgICAgICAgICAg ICAgICBzdHJ1Y3QgcGlwZV9jdHggKm1wY2NfcGlwZTsNCj4+ICAgICAgICAgICAgICAgICAgc3Ry dWN0IHBpcGVfY3R4ICpvZG1fcGlwZTsNCj4+IEBAIC0yOTA0LDcgKzI4ODYsNiBAQCBzdGF0aWMg dm9pZCBjb21taXRfcGxhbmVzX2Zvcl9zdHJlYW0oc3RydWN0IGRjICpkYywNCj4+ICAgICAgICAg ICAgICAgICAgICAgICAgICBmb3IgKG9kbV9waXBlID0gbXBjY19waXBlOyBvZG1fcGlwZTsgb2Rt X3BpcGUgPSBvZG1fcGlwZS0+bmV4dF9vZG1fcGlwZSkNCj4+ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIG9kbV9waXBlLT50dHVfcmVncy5taW5fdHR1X3ZibGFuayA9IE1BWF9UVFU7 DQo+PiAgICAgICAgICB9DQo+PiAtI2VuZGlmDQo+Pg0KPj4gICAgICAgICAgaWYgKCh1cGRhdGVf dHlwZSAhPSBVUERBVEVfVFlQRV9GQVNUKSAmJiBzdHJlYW0tPnVwZGF0ZV9mbGFncy5iaXRzLmRz Y19jaGFuZ2VkKQ0KPj4gICAgICAgICAgICAgICAgICBpZiAodG9wX3BpcGVfdG9fcHJvZ3JhbSAm Jg0KPj4gQEAgLTMwMTQsNyArMjk5NSw2IEBAIHN0YXRpYyB2b2lkIGNvbW1pdF9wbGFuZXNfZm9y X3N0cmVhbShzdHJ1Y3QgZGMgKmRjLA0KPj4gICAgICAgICAgfQ0KPj4gICAgICAgICAgaWYgKGRj LT5od3NzLnByb2dyYW1fZnJvbnRfZW5kX2Zvcl9jdHggJiYgdXBkYXRlX3R5cGUgIT0gVVBEQVRF X1RZUEVfRkFTVCkgew0KPj4gICAgICAgICAgICAgICAgICBkYy0+aHdzcy5wcm9ncmFtX2Zyb250 X2VuZF9mb3JfY3R4KGRjLCBjb250ZXh0KTsNCj4+IC0jaWZkZWYgQ09ORklHX0RSTV9BTURfRENf RENODQo+PiAgICAgICAgICAgICAgICAgIGlmIChkYy0+ZGVidWcudmFsaWRhdGVfZG1sX291dHB1 dCkgew0KPj4gICAgICAgICAgICAgICAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBkYy0+cmVz X3Bvb2wtPnBpcGVfY291bnQ7IGkrKykgew0KPj4gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgc3RydWN0IHBpcGVfY3R4ICpjdXJfcGlwZSA9ICZjb250ZXh0LT5yZXNfY3R4LnBpcGVf Y3R4W2ldOw0KPj4gQEAgLTMwMjgsNyArMzAwOCw2IEBAIHN0YXRpYyB2b2lkIGNvbW1pdF9wbGFu ZXNfZm9yX3N0cmVhbShzdHJ1Y3QgZGMgKmRjLA0KPj4gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICZjb250ZXh0LT5yZXNfY3R4LnBpcGVfY3R4W2ldLnR0 dV9yZWdzKTsNCj4+ICAgICAgICAgICAgICAgICAgICAgICAgICB9DQo+PiAgICAgICAgICAgICAg ICAgIH0NCj4+IC0jZW5kaWYNCj4+ICAgICAgICAgIH0NCj4+DQo+PiAgICAgICAgICAvLyBVcGRh dGUgVHlwZSBGQVNULCBTdXJmYWNlIHVwZGF0ZXMNCj4+IEBAIC0zNTgzLDggKzM1NjIsNiBAQCBi b29sIGRjX3NldF9wc3JfYWxsb3dfYWN0aXZlKHN0cnVjdCBkYyAqZGMsIGJvb2wgZW5hYmxlKQ0K Pj4gICAgICAgICAgcmV0dXJuIHRydWU7DQo+PiAgIH0NCj4+DQo+PiAtI2lmIGRlZmluZWQoQ09O RklHX0RSTV9BTURfRENfRENOKQ0KPj4gLQ0KPj4gICB2b2lkIGRjX2FsbG93X2lkbGVfb3B0aW1p emF0aW9ucyhzdHJ1Y3QgZGMgKmRjLCBib29sIGFsbG93KQ0KPj4gICB7DQo+PiAgICAgICAgICBp ZiAoZGMtPmRlYnVnLmRpc2FibGVfaWRsZV9wb3dlcl9vcHRpbWl6YXRpb25zKQ0KPj4gQEAgLTM3 NDAsNyArMzcxNyw2IEBAIHZvaWQgZGNfaGFyZHdhcmVfcmVsZWFzZShzdHJ1Y3QgZGMgKmRjKQ0K Pj4gICAgICAgICAgaWYgKGRjLT5od3NzLmhhcmR3YXJlX3JlbGVhc2UpDQo+PiAgICAgICAgICAg ICAgICAgIGRjLT5od3NzLmhhcmR3YXJlX3JlbGVhc2UoZGMpOw0KPj4gICB9DQo+PiAtI2VuZGlm DQo+Pg0KPj4gICAvKg0KPj4gICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCj4+IEBAIC0zNzYwLDEz ICszNzM2LDEyIEBAIHZvaWQgZGNfaGFyZHdhcmVfcmVsZWFzZShzdHJ1Y3QgZGMgKmRjKQ0KPj4g ICAgKi8NCj4+ICAgYm9vbCBkY19pc19kbXViX291dGJveF9zdXBwb3J0ZWQoc3RydWN0IGRjICpk YykNCj4+ICAgew0KPj4gLSNpZiBkZWZpbmVkKENPTkZJR19EUk1fQU1EX0RDX0RDTikNCj4+IC0g ICAgICAgLyogWUVMTE9XX0NBUlAgQjAgVVNCNCBEUElBIG5lZWRzIGRtdWIgbm90aWZpY2F0aW9u cyBmb3IgaW50ZXJydXB0cyAqLw0KPj4gKyAgICAgICAvKiBEQ04zMSBCMCBVU0I0IERQSUEgbmVl ZHMgZG11YiBub3RpZmljYXRpb25zIGZvciBpbnRlcnJ1cHRzICovDQo+PiAgICAgICAgICBpZiAo ZGMtPmN0eC0+YXNpY19pZC5jaGlwX2ZhbWlseSA9PSBGQU1JTFlfWUVMTE9XX0NBUlAgJiYNCj4+ ICAgICAgICAgICAgICBkYy0+Y3R4LT5hc2ljX2lkLmh3X2ludGVybmFsX3JldiA9PSBZRUxMT1df Q0FSUF9CMCAmJg0KPj4gICAgICAgICAgICAgICFkYy0+ZGVidWcuZHBpYV9kZWJ1Zy5iaXRzLmRp c2FibGVfZHBpYSkNCj4+ICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQo+PiAtI2VuZGlm DQo+PiArDQo+PiAgICAgICAgICAvKiBkbXViIGF1eCBuZWVkcyBkbXViIG5vdGlmaWNhdGlvbnMg dG8gYmUgZW5hYmxlZCAqLw0KPj4gICAgICAgICAgcmV0dXJuIGRjLT5kZWJ1Zy5lbmFibGVfZG11 Yl9hdXhfZm9yX2xlZ2FjeV9kZGM7DQo+PiAgIH0NCj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vYW1kL2Rpc3BsYXkvZGMvY29yZS9kY19kZWJ1Zy5jIGIvZHJpdmVycy9ncHUvZHJtL2Ft ZC9kaXNwbGF5L2RjL2NvcmUvZGNfZGVidWcuYw0KPj4gaW5kZXggNjQzNzYyNTQyZTRkLi43MjM3 NjA3NWRiMGMgMTAwNjQ0DQo+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMv Y29yZS9kY19kZWJ1Zy5jDQo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMv Y29yZS9kY19kZWJ1Zy5jDQo+PiBAQCAtMzQ1LDcgKzM0NSw2IEBAIHZvaWQgY29udGV4dF9jbG9j a190cmFjZSgNCj4+ICAgICAgICAgICAgICAgICAgc3RydWN0IGRjICpkYywNCj4+ICAgICAgICAg ICAgICAgICAgc3RydWN0IGRjX3N0YXRlICpjb250ZXh0KQ0KPj4gICB7DQo+PiAtI2lmIGRlZmlu ZWQoQ09ORklHX0RSTV9BTURfRENfRENOKQ0KPj4gICAgICAgICAgRENfTE9HR0VSX0lOSVQoZGMt PmN0eC0+bG9nZ2VyKTsNCj4+ICAgICAgICAgIENMT0NLX1RSQUNFKCJDdXJyZW50OiBkaXNwY2xr X2toejolZCAgbWF4X2RwcGNsa19raHo6JWQgIGRjZmNsa19raHo6JWRcbiINCj4+ICAgICAgICAg ICAgICAgICAgICAgICAgICAiZGNmY2xrX2RlZXBfc2xlZXBfa2h6OiVkICBmY2xrX2toejolZCAg c29jY2xrX2toejolZFxuIiwNCj4+IEBAIC0zNjMsNyArMzYyLDYgQEAgdm9pZCBjb250ZXh0X2Ns b2NrX3RyYWNlKA0KPj4gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQtPmJ3X2N0eC5i dy5kY24uY2xrLmRjZmNsa19kZWVwX3NsZWVwX2toeiwNCj4+ICAgICAgICAgICAgICAgICAgICAg ICAgICBjb250ZXh0LT5id19jdHguYncuZGNuLmNsay5mY2xrX2toeiwNCj4+ICAgICAgICAgICAg ICAgICAgICAgICAgICBjb250ZXh0LT5id19jdHguYncuZGNuLmNsay5zb2NjbGtfa2h6KTsNCj4+ IC0jZW5kaWYNCj4+ICAgfQ0KPj4NCj4+ICAgLyoqDQo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2FtZC9kaXNwbGF5L2RjL2NvcmUvZGNfbGluay5jIGIvZHJpdmVycy9ncHUvZHJtL2Ft ZC9kaXNwbGF5L2RjL2NvcmUvZGNfbGluay5jDQo+PiBpbmRleCAwN2YxNTRmYzRlNTYuLjk1Mjli OTI0NzQyZSAxMDA2NDQNCj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9j b3JlL2RjX2xpbmsuYw0KPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2Nv cmUvZGNfbGluay5jDQo+PiBAQCAtODA0LDcgKzgwNCw2IEBAIHN0YXRpYyBib29sIHdhaXRfZm9y X2VudGVyaW5nX2RwX2FsdF9tb2RlKHN0cnVjdCBkY19saW5rICpsaW5rKQ0KPj4NCj4+ICAgc3Rh dGljIHZvaWQgYXBwbHlfZHBpYV9tc3RfZHNjX2Fsd2F5c19vbl93YShzdHJ1Y3QgZGNfbGluayAq bGluaykNCj4+ICAgew0KPj4gLSNpZiBkZWZpbmVkKENPTkZJR19EUk1fQU1EX0RDX0RDTikNCj4+ ICAgICAgICAgIC8qIEFwcGx5IHdvcmsgYXJvdW5kIGZvciB0dW5uZWxlZCBNU1Qgb24gY2VydGFp biBVU0I0IGRvY2tzLiBBbHdheXMgdXNlIERTQyBpZiBkb2NrDQo+PiAgICAgICAgICAgKiByZXBv cnRzIERTQyBzdXBwb3J0Lg0KPj4gICAgICAgICAgICovDQo+PiBAQCAtODE1LDcgKzgxNCw2IEBA IHN0YXRpYyB2b2lkIGFwcGx5X2RwaWFfbXN0X2RzY19hbHdheXNfb25fd2Eoc3RydWN0IGRjX2xp bmsgKmxpbmspDQo+PiAgICAgICAgICAgICAgICAgICAgICAgICAgbGluay0+ZHBjZF9jYXBzLmRz Y19jYXBzLmRzY19iYXNpY19jYXBzLmZpZWxkcy5kc2Nfc3VwcG9ydC5EU0NfU1VQUE9SVCAmJg0K Pj4gICAgICAgICAgICAgICAgICAgICAgICAgICFsaW5rLT5kYy0+ZGVidWcuZHBpYV9kZWJ1Zy5i aXRzLmRpc2FibGVfbXN0X2RzY193b3JrX2Fyb3VuZCkNCj4+ICAgICAgICAgICAgICAgICAgbGlu ay0+d2FfZmxhZ3MuZHBpYV9tc3RfZHNjX2Fsd2F5c19vbiA9IHRydWU7DQo+PiAtI2VuZGlmDQo+ PiAgIH0NCj4+DQo+PiAgIHN0YXRpYyB2b2lkIHJldmVydF9kcGlhX21zdF9kc2NfYWx3YXlzX29u X3dhKHN0cnVjdCBkY19saW5rICpsaW5rKQ0KPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvZGlzcGxheS9kYy9jb3JlL2RjX2xpbmtfZHAuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQv ZGlzcGxheS9kYy9jb3JlL2RjX2xpbmtfZHAuYw0KPj4gaW5kZXggNWU0OWUzNDZhYTA2Li45NzVk NjMxNTM0YjUgMTAwNjQ0DQo+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMv Y29yZS9kY19saW5rX2RwLmMNCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9k Yy9jb3JlL2RjX2xpbmtfZHAuYw0KPj4gQEAgLTUxMjcsMTIgKzUxMjcsMTAgQEAgdm9pZCBkcF9y ZXRyaWV2ZV9sdHRwcl9jYXAoc3RydWN0IGRjX2xpbmsgKmxpbmspDQo+PiAgICAgICAgICBlbHNl DQo+PiAgICAgICAgICAgICAgICAgIGxpbmstPmx0dHByX3N1cHBvcnQgPSBMVFRQUl9DSEVDS19F WFRfU1VQUE9SVDsNCj4+DQo+PiAtI2lmIGRlZmluZWQoQ09ORklHX0RSTV9BTURfRENfRENOKQ0K Pj4gICAgICAgICAgLyogQ2hlY2sgRFAgdHVubmVsIExUVFBSIG1vZGUgZGVidWcgb3B0aW9uLiAq Lw0KPj4gICAgICAgICAgaWYgKGxpbmstPmVwX3R5cGUgPT0gRElTUExBWV9FTkRQT0lOVF9VU0I0 X0RQSUEgJiYNCj4+ICAgICAgICAgICAgICBsaW5rLT5kYy0+ZGVidWcuZHBpYV9kZWJ1Zy5iaXRz LmZvcmNlX25vbl9sdHRwcikNCj4+ICAgICAgICAgICAgICAgICAgbGluay0+bHR0cHJfc3VwcG9y dCA9IExUVFBSX1VOU1VQUE9SVEVEOw0KPj4gLSNlbmRpZg0KPj4NCj4+ICAgICAgICAgIGlmIChs aW5rLT5sdHRwcl9zdXBwb3J0ID4gTFRUUFJfVU5TVVBQT1JURUQpIHsNCj4+ICAgICAgICAgICAg ICAgICAgLyogQnkgcmVhZGluZyBMVFRQUiBjYXBhYmlsaXR5LCBSWCBhc3N1bWVzIHRoYXQgd2Ug d2lsbCBlbmFibGUNCj4+IEBAIC01NjI2LDkgKzU2MjQsNyBAQCBzdGF0aWMgYm9vbCByZXRyaWV2 ZV9saW5rX2NhcChzdHJ1Y3QgZGNfbGluayAqbGluaykNCj4+ICAgICAgICAgICAgICAgICAgICog b25seSBpZiByZXF1aXJlZC4NCj4+ICAgICAgICAgICAgICAgICAgICovDQo+PiAgICAgICAgICAg ICAgICAgIGlmIChsaW5rLT5lcF90eXBlID09IERJU1BMQVlfRU5EUE9JTlRfVVNCNF9EUElBICYm DQo+PiAtI2lmIGRlZmluZWQoQ09ORklHX0RSTV9BTURfRENfRENOKQ0KPj4gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIWxpbmstPmRjLT5kZWJ1Zy5kcGlhX2RlYnVnLmJpdHMuZGlz YWJsZV9mb3JjZV90YnQzX3dvcmtfYXJvdW5kICYmDQo+PiAtI2VuZGlmDQo+PiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBsaW5rLT5kcGNkX2NhcHMuaXNfYnJhbmNoX2RldiAmJg0K Pj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluay0+ZHBjZF9jYXBzLmJyYW5j aF9kZXZfaWQgPT0gRFBfQlJBTkNIX0RFVklDRV9JRF85MENDMjQgJiYNCj4+ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGxpbmstPmRwY2RfY2Fwcy5icmFuY2hfaHdfcmV2aXNpb24g PT0gRFBfQlJBTkNIX0hXX1JFVl8xMCAmJg0KPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvZGlzcGxheS9kYy9jb3JlL2RjX2xpbmtfZHBpYS5jIGIvZHJpdmVycy9ncHUvZHJtL2Ft ZC9kaXNwbGF5L2RjL2NvcmUvZGNfbGlua19kcGlhLmMNCj4+IGluZGV4IDBlOTViYzVkZjRlNy4u YTU3NjVmMzZkODZmIDEwMDY0NA0KPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5 L2RjL2NvcmUvZGNfbGlua19kcGlhLmMNCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlz cGxheS9kYy9jb3JlL2RjX2xpbmtfZHBpYS5jDQo+PiBAQCAtNTQ3LDExICs1NDcsOSBAQCBzdGF0 aWMgdWludDMyX3QgZHBpYV9nZXRfZXFfYXV4X3JkX2ludGVydmFsKGNvbnN0IHN0cnVjdCBkY19s aW5rICpsaW5rLA0KPj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHBfdHJhbnNs YXRlX3RyYWluaW5nX2F1eF9yZWFkX2ludGVydmFsKA0KPj4gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBsaW5rLT5kcGNkX2NhcHMubHR0cHJfY2Fwcy5hdXhfcmRfaW50 ZXJ2YWxbaG9wIC0gMV0pOw0KPj4NCj4+IC0jaWYgZGVmaW5lZChDT05GSUdfRFJNX0FNRF9EQ19E Q04pDQo+PiAgICAgICAgICAvKiBDaGVjayBkZWJ1ZyBvcHRpb24gZm9yIGV4dGVuZGluZyBhdXgg cmVhZCBpbnRlcnZhbC4gKi8NCj4+ICAgICAgICAgIGlmIChsaW5rLT5kYy0+ZGVidWcuZHBpYV9k ZWJ1Zy5iaXRzLmV4dGVuZF9hdXhfcmRfaW50ZXJ2YWwpDQo+PiAgICAgICAgICAgICAgICAgIHdh aXRfdGltZV9taWNyb3NlYyA9IERQSUFfREVCVUdfRVhURU5ERURfQVVYX1JEX0lOVEVSVkFMX1VT Ow0KPj4gLSNlbmRpZg0KPj4NCj4+ICAgICAgICAgIHJldHVybiB3YWl0X3RpbWVfbWljcm9zZWM7 DQo+PiAgIH0NCj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMv Y29yZS9kY19yZXNvdXJjZS5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2NvcmUv ZGNfcmVzb3VyY2UuYw0KPj4gaW5kZXggMTQ3YzZhM2M2MzEyLi5mNzAyOTE5YTIyNzkgMTAwNjQ0 DQo+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvY29yZS9kY19yZXNvdXJj ZS5jDQo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvY29yZS9kY19yZXNv dXJjZS5jDQo+PiBAQCAtNTYsNyArNTYsNiBAQA0KPj4gICAjaW5jbHVkZSAiZGNlMTEwL2RjZTEx MF9yZXNvdXJjZS5oIg0KPj4gICAjaW5jbHVkZSAiZGNlMTEyL2RjZTExMl9yZXNvdXJjZS5oIg0K Pj4gICAjaW5jbHVkZSAiZGNlMTIwL2RjZTEyMF9yZXNvdXJjZS5oIg0KPj4gLSNpZiBkZWZpbmVk KENPTkZJR19EUk1fQU1EX0RDX0RDTikNCj4+ICAgI2luY2x1ZGUgImRjbjEwL2RjbjEwX3Jlc291 cmNlLmgiDQo+PiAgICNpbmNsdWRlICJkY24yMC9kY24yMF9yZXNvdXJjZS5oIg0KPj4gICAjaW5j bHVkZSAiZGNuMjEvZGNuMjFfcmVzb3VyY2UuaCINCj4+IEBAIC02OCw3ICs2Nyw2IEBADQo+PiAg ICNpbmNsdWRlICJkY24zMS9kY24zMV9yZXNvdXJjZS5oIg0KPj4gICAjaW5jbHVkZSAiZGNuMzE1 L2RjbjMxNV9yZXNvdXJjZS5oIg0KPj4gICAjaW5jbHVkZSAiZGNuMzE2L2RjbjMxNl9yZXNvdXJj ZS5oIg0KPj4gLSNlbmRpZg0KPj4NCj4+ICAgI2RlZmluZSBEQ19MT0dHRVJfSU5JVChsb2dnZXIp DQo+Pg0KPj4gQEAgLTEyNCw3ICsxMjIsNiBAQCBlbnVtIGRjZV92ZXJzaW9uIHJlc291cmNlX3Bh cnNlX2FzaWNfaWQoc3RydWN0IGh3X2FzaWNfaWQgYXNpY19pZCkNCj4+ICAgICAgICAgICAgICAg ICAgZWxzZQ0KPj4gICAgICAgICAgICAgICAgICAgICAgICAgIGRjX3ZlcnNpb24gPSBEQ0VfVkVS U0lPTl8xMl8wOw0KPj4gICAgICAgICAgICAgICAgICBicmVhazsNCj4+IC0jaWYgZGVmaW5lZChD T05GSUdfRFJNX0FNRF9EQ19EQ04pDQo+PiAgICAgICAgICBjYXNlIEZBTUlMWV9SVjoNCj4+ICAg ICAgICAgICAgICAgICAgZGNfdmVyc2lvbiA9IERDTl9WRVJTSU9OXzFfMDsNCj4+ICAgICAgICAg ICAgICAgICAgaWYgKEFTSUNSRVZfSVNfUkFWRU4yKGFzaWNfaWQuaHdfaW50ZXJuYWxfcmV2KSkN Cj4+IEBAIC0xNjUsNyArMTYyLDYgQEAgZW51bSBkY2VfdmVyc2lvbiByZXNvdXJjZV9wYXJzZV9h c2ljX2lkKHN0cnVjdCBod19hc2ljX2lkIGFzaWNfaWQpDQo+PiAgICAgICAgICAgICAgICAgIGlm IChBU0lDUkVWX0lTX0dDXzEwXzNfNyhhc2ljX2lkLmh3X2ludGVybmFsX3JldikpDQo+PiAgICAg ICAgICAgICAgICAgICAgICAgICAgZGNfdmVyc2lvbiA9IERDTl9WRVJTSU9OXzNfMTY7DQo+PiAg ICAgICAgICAgICAgICAgIGJyZWFrOw0KPj4gLSNlbmRpZg0KPj4NCj4+ICAgICAgICAgIGRlZmF1 bHQ6DQo+PiAgICAgICAgICAgICAgICAgIGRjX3ZlcnNpb24gPSBEQ0VfVkVSU0lPTl9VTktOT1dO Ow0KPj4gQEAgLTM5Nyw3ICszOTMsNiBAQCBib29sIHJlc291cmNlX2NvbnN0cnVjdCgNCj4+ICAg ICAgICAgICAgICAgICAgfQ0KPj4gICAgICAgICAgfQ0KPj4NCj4+IC0jaWYgZGVmaW5lZChDT05G SUdfRFJNX0FNRF9EQ19EQ04pDQo+PiAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgY2Fwcy0+bnVt X21wY18zZGx1dDsgaSsrKSB7DQo+PiAgICAgICAgICAgICAgICAgIHBvb2wtPm1wY19sdXRbaV0g PSBkY19jcmVhdGVfM2RsdXRfZnVuYygpOw0KPj4gICAgICAgICAgICAgICAgICBpZiAocG9vbC0+ bXBjX2x1dFtpXSA9PSBOVUxMKQ0KPj4gQEAgLTQwNiw3ICs0MDEsNyBAQCBib29sIHJlc291cmNl X2NvbnN0cnVjdCgNCj4+ICAgICAgICAgICAgICAgICAgaWYgKHBvb2wtPm1wY19zaGFwZXJbaV0g PT0gTlVMTCkNCj4+ICAgICAgICAgICAgICAgICAgICAgICAgICBEQ19FUlIoIkRDOiBmYWlsZWQg dG8gY3JlYXRlIE1QQyBzaGFwZXIhXG4iKTsNCj4+ICAgICAgICAgIH0NCj4+IC0jZW5kaWYNCj4+ ICsNCj4+ICAgICAgICAgIGRjLT5jYXBzLmR5bmFtaWNfYXVkaW8gPSBmYWxzZTsNCj4+ICAgICAg ICAgIGlmIChwb29sLT5hdWRpb19jb3VudCA8IHBvb2wtPnN0cmVhbV9lbmNfY291bnQpIHsNCj4+ ICAgICAgICAgICAgICAgICAgZGMtPmNhcHMuZHluYW1pY19hdWRpbyA9IHRydWU7DQo+PiBAQCAt MTM2OSw3ICsxMzY0LDYgQEAgc3RhdGljIHN0cnVjdCBwaXBlX2N0eCAqYWNxdWlyZV9mcmVlX3Bp cGVfZm9yX2hlYWQoDQo+PiAgICAgICAgICByZXR1cm4gcG9vbC0+ZnVuY3MtPmFjcXVpcmVfaWRs ZV9waXBlX2Zvcl9sYXllcihjb250ZXh0LCBwb29sLCBoZWFkX3BpcGUtPnN0cmVhbSk7DQo+PiAg IH0NCj4+DQo+PiAtI2lmIGRlZmluZWQoQ09ORklHX0RSTV9BTURfRENfRENOKQ0KPj4gICBzdGF0 aWMgaW50IGFjcXVpcmVfZmlyc3Rfc3BsaXRfcGlwZSgNCj4+ICAgICAgICAgICAgICAgICAgc3Ry dWN0IHJlc291cmNlX2NvbnRleHQgKnJlc19jdHgsDQo+PiAgICAgICAgICAgICAgICAgIGNvbnN0 IHN0cnVjdCByZXNvdXJjZV9wb29sICpwb29sLA0KPj4gQEAgLTE0MDQsNyArMTM5OCw2IEBAIHN0 YXRpYyBpbnQgYWNxdWlyZV9maXJzdF9zcGxpdF9waXBlKA0KPj4gICAgICAgICAgfQ0KPj4gICAg ICAgICAgcmV0dXJuIC0xOw0KPj4gICB9DQo+PiAtI2VuZGlmDQo+Pg0KPj4gICBib29sIGRjX2Fk ZF9wbGFuZV90b19jb250ZXh0KA0KPj4gICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgZGMg KmRjLA0KPj4gQEAgLTE0NDcsMTMgKzE0NDAsMTIgQEAgYm9vbCBkY19hZGRfcGxhbmVfdG9fY29u dGV4dCgNCj4+ICAgICAgICAgIHdoaWxlIChoZWFkX3BpcGUpIHsNCj4+ICAgICAgICAgICAgICAg ICAgZnJlZV9waXBlID0gYWNxdWlyZV9mcmVlX3BpcGVfZm9yX2hlYWQoY29udGV4dCwgcG9vbCwg aGVhZF9waXBlKTsNCj4+DQo+PiAtICAgICAgICNpZiBkZWZpbmVkKENPTkZJR19EUk1fQU1EX0RD X0RDTikNCj4+ICAgICAgICAgICAgICAgICAgaWYgKCFmcmVlX3BpcGUpIHsNCj4+ICAgICAgICAg ICAgICAgICAgICAgICAgICBpbnQgcGlwZV9pZHggPSBhY3F1aXJlX2ZpcnN0X3NwbGl0X3BpcGUo JmNvbnRleHQtPnJlc19jdHgsIHBvb2wsIHN0cmVhbSk7DQo+PiAgICAgICAgICAgICAgICAgICAg ICAgICAgaWYgKHBpcGVfaWR4ID49IDApDQo+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBmcmVlX3BpcGUgPSAmY29udGV4dC0+cmVzX2N0eC5waXBlX2N0eFtwaXBlX2lkeF07DQo+ PiAgICAgICAgICAgICAgICAgIH0NCj4+IC0gICAgICAgI2VuZGlmDQo+PiArDQo+PiAgICAgICAg ICAgICAgICAgIGlmICghZnJlZV9waXBlKSB7DQo+PiAgICAgICAgICAgICAgICAgICAgICAgICAg ZGNfcGxhbmVfc3RhdGVfcmVsZWFzZShwbGFuZV9zdGF0ZSk7DQo+PiAgICAgICAgICAgICAgICAg ICAgICAgICAgcmV0dXJuIGZhbHNlOw0KPj4gQEAgLTIyNTksMTAgKzIyNTEsOCBAQCBlbnVtIGRj X3N0YXR1cyByZXNvdXJjZV9tYXBfcG9vbF9yZXNvdXJjZXMoDQo+PiAgICAgICAgICAgICAgICAg IC8qIGFjcXVpcmUgbmV3IHJlc291cmNlcyAqLw0KPj4gICAgICAgICAgICAgICAgICBwaXBlX2lk eCA9IGFjcXVpcmVfZmlyc3RfZnJlZV9waXBlKCZjb250ZXh0LT5yZXNfY3R4LCBwb29sLCBzdHJl YW0pOw0KPj4NCj4+IC0jaWZkZWYgQ09ORklHX0RSTV9BTURfRENfRENODQo+PiAgICAgICAgICBp ZiAocGlwZV9pZHggPCAwKQ0KPj4gICAgICAgICAgICAgICAgICBwaXBlX2lkeCA9IGFjcXVpcmVf Zmlyc3Rfc3BsaXRfcGlwZSgmY29udGV4dC0+cmVzX2N0eCwgcG9vbCwgc3RyZWFtKTsNCj4+IC0j ZW5kaWYNCj4+DQo+PiAgICAgICAgICBpZiAocGlwZV9pZHggPCAwIHx8IGNvbnRleHQtPnJlc19j dHgucGlwZV9jdHhbcGlwZV9pZHhdLnN0cmVhbV9yZXMudGcgPT0gTlVMTCkNCj4+ICAgICAgICAg ICAgICAgICAgcmV0dXJuIERDX05PX0NPTlRST0xMRVJfUkVTT1VSQ0U7DQo+PiBAQCAtMjQ1Myw3 ICsyNDQzLDYgQEAgZW51bSBkY19zdGF0dXMgZGNfdmFsaWRhdGVfZ2xvYmFsX3N0YXRlKA0KPj4g ICAgICAgICAgICAgICAgICBpZiAoIWRjLT5yZXNfcG9vbC0+ZnVuY3MtPnZhbGlkYXRlX2JhbmR3 aWR0aChkYywgbmV3X2N0eCwgZmFzdF92YWxpZGF0ZSkpDQo+PiAgICAgICAgICAgICAgICAgICAg ICAgICAgcmVzdWx0ID0gRENfRkFJTF9CQU5EV0lEVEhfVkFMSURBVEU7DQo+Pg0KPj4gLSNpZiBk ZWZpbmVkKENPTkZJR19EUk1fQU1EX0RDX0RDTikNCj4+ICAgICAgICAgIC8qDQo+PiAgICAgICAg ICAgKiBPbmx5IHVwZGF0ZSBsaW5rIGVuY29kZXIgdG8gc3RyZWFtIGFzc2lnbm1lbnQgYWZ0ZXIg YmFuZHdpZHRoIHZhbGlkYXRpb24gcGFzc2VkLg0KPj4gICAgICAgICAgICogVE9ETzogU3BsaXQg b3V0IGFzc2lnbm1lbnQgYW5kIHZhbGlkYXRpb24uDQo+PiBAQCAtMjQ2MSw3ICsyNDUwLDYgQEAg ZW51bSBkY19zdGF0dXMgZGNfdmFsaWRhdGVfZ2xvYmFsX3N0YXRlKA0KPj4gICAgICAgICAgaWYg KHJlc3VsdCA9PSBEQ19PSyAmJiBkYy0+cmVzX3Bvb2wtPmZ1bmNzLT5saW5rX2VuY3NfYXNzaWdu ICYmIGZhc3RfdmFsaWRhdGUgPT0gZmFsc2UpDQo+PiAgICAgICAgICAgICAgICAgIGRjLT5yZXNf cG9vbC0+ZnVuY3MtPmxpbmtfZW5jc19hc3NpZ24oDQo+PiAgICAgICAgICAgICAgICAgICAgICAg ICAgZGMsIG5ld19jdHgsIG5ld19jdHgtPnN0cmVhbXMsIG5ld19jdHgtPnN0cmVhbV9jb3VudCk7 DQo+PiAtI2VuZGlmDQo+Pg0KPj4gICAgICAgICAgcmV0dXJuIHJlc3VsdDsNCj4+ICAgfQ0KPj4g QEAgLTMxODksMTAgKzMxNzcsOCBAQCB1bnNpZ25lZCBpbnQgcmVzb3VyY2VfcGl4ZWxfZm9ybWF0 X3RvX2JwcChlbnVtIHN1cmZhY2VfcGl4ZWxfZm9ybWF0IGZvcm1hdCkNCj4+ICAgICAgICAgIGNh c2UgU1VSRkFDRV9QSVhFTF9GT1JNQVRfR1JQSF9BUkdCMjEwMTAxMDoNCj4+ICAgICAgICAgIGNh c2UgU1VSRkFDRV9QSVhFTF9GT1JNQVRfR1JQSF9BQkdSMjEwMTAxMDoNCj4+ICAgICAgICAgIGNh c2UgU1VSRkFDRV9QSVhFTF9GT1JNQVRfR1JQSF9BQkdSMjEwMTAxMF9YUl9CSUFTOg0KPj4gLSNp ZiBkZWZpbmVkKENPTkZJR19EUk1fQU1EX0RDX0RDTikNCj4+ICAgICAgICAgIGNhc2UgU1VSRkFD RV9QSVhFTF9GT1JNQVRfR1JQSF9SR0JFOg0KPj4gICAgICAgICAgY2FzZSBTVVJGQUNFX1BJWEVM X0ZPUk1BVF9HUlBIX1JHQkVfQUxQSEE6DQo+PiAtI2VuZGlmDQo+PiAgICAgICAgICAgICAgICAg IHJldHVybiAzMjsNCj4+ICAgICAgICAgIGNhc2UgU1VSRkFDRV9QSVhFTF9GT1JNQVRfR1JQSF9B UkdCMTYxNjE2MTY6DQo+PiAgICAgICAgICBjYXNlIFNVUkZBQ0VfUElYRUxfRk9STUFUX0dSUEhf QUJHUjE2MTYxNjE2Og0KPj4gQEAgLTMzNDUsNyArMzMzMSw2IEBAIHVpbnQ4X3QgcmVzb3VyY2Vf dHJhbnNtaXR0ZXJfdG9fcGh5X2lkeChjb25zdCBzdHJ1Y3QgZGMgKmRjLCBlbnVtIHRyYW5zbWl0 dGVyIHRyDQo+PiAgICAgICAgICAvKiBUT0RPIC0gZ2V0IHRyYW5zbWl0dGVyIHRvIHBoeSBpZHgg bWFwcGluZyBmcm9tIERNVUIgKi8NCj4+ICAgICAgICAgIHVpbnQ4X3QgcGh5X2lkeCA9IHRyYW5z bWl0dGVyIC0gVFJBTlNNSVRURVJfVU5JUEhZX0E7DQo+Pg0KPj4gLSNpZiBkZWZpbmVkKENPTkZJ R19EUk1fQU1EX0RDX0RDTikNCj4+ICAgICAgICAgIGlmIChkYy0+Y3R4LT5kY2VfdmVyc2lvbiA9 PSBEQ05fVkVSU0lPTl8zXzEgJiYNCj4+ICAgICAgICAgICAgICAgICAgICAgICAgICBkYy0+Y3R4 LT5hc2ljX2lkLmh3X2ludGVybmFsX3JldiA9PSBZRUxMT1dfQ0FSUF9CMCkgew0KPj4gICAgICAg ICAgICAgICAgICBzd2l0Y2ggKHRyYW5zbWl0dGVyKSB7DQo+PiBAQCAtMzM2OSw3ICszMzU0LDcg QEAgdWludDhfdCByZXNvdXJjZV90cmFuc21pdHRlcl90b19waHlfaWR4KGNvbnN0IHN0cnVjdCBk YyAqZGMsIGVudW0gdHJhbnNtaXR0ZXIgdHINCj4+ICAgICAgICAgICAgICAgICAgICAgICAgICBi cmVhazsNCj4+ICAgICAgICAgICAgICAgICAgfQ0KPj4gICAgICAgICAgfQ0KPj4gLSNlbmRpZg0K Pj4gKw0KPj4gICAgICAgICAgcmV0dXJuIHBoeV9pZHg7DQo+PiAgIH0NCj4+DQo+PiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2NvcmUvZGNfc3RyZWFtLmMgYi9k cml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvY29yZS9kY19zdHJlYW0uYw0KPj4gaW5kZXgg YzRlODcxZjM1OGFiLi5hY2NhMzVkODZjMTAgMTAwNjQ0DQo+PiAtLS0gYS9kcml2ZXJzL2dwdS9k cm0vYW1kL2Rpc3BsYXkvZGMvY29yZS9kY19zdHJlYW0uYw0KPj4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL2FtZC9kaXNwbGF5L2RjL2NvcmUvZGNfc3RyZWFtLmMNCj4+IEBAIC0zMTQsOSArMzE0LDcg QEAgYm9vbCBkY19zdHJlYW1fc2V0X2N1cnNvcl9hdHRyaWJ1dGVzKA0KPj4gICAgICAgICAgY29u c3Qgc3RydWN0IGRjX2N1cnNvcl9hdHRyaWJ1dGVzICphdHRyaWJ1dGVzKQ0KPj4gICB7DQo+PiAg ICAgICAgICBzdHJ1Y3QgZGMgICpkYzsNCj4+IC0jaWYgZGVmaW5lZChDT05GSUdfRFJNX0FNRF9E Q19EQ04pDQo+PiAgICAgICAgICBib29sIHJlc2V0X2lkbGVfb3B0aW1pemF0aW9ucyA9IGZhbHNl Ow0KPj4gLSNlbmRpZg0KPj4NCj4+ICAgICAgICAgIGlmIChOVUxMID09IHN0cmVhbSkgew0KPj4g ICAgICAgICAgICAgICAgICBkbV9lcnJvcigiREM6IGRjX3N0cmVhbSBpcyBOVUxMIVxuIik7DQo+ PiBAQCAtMzQ2LDEyICszNDQsMTAgQEAgYm9vbCBkY19zdHJlYW1fc2V0X2N1cnNvcl9hdHRyaWJ1 dGVzKA0KPj4gICAjZW5kaWYNCj4+ICAgICAgICAgIHByb2dyYW1fY3Vyc29yX2F0dHJpYnV0ZXMo ZGMsIHN0cmVhbSwgYXR0cmlidXRlcyk7DQo+Pg0KPj4gLSNpZiBkZWZpbmVkKENPTkZJR19EUk1f QU1EX0RDX0RDTikNCj4+ICAgICAgICAgIC8qIHJlLWVuYWJsZSBpZGxlIG9wdGltaXphdGlvbnMg aWYgbmVjZXNzYXJ5ICovDQo+PiAgICAgICAgICBpZiAocmVzZXRfaWRsZV9vcHRpbWl6YXRpb25z KQ0KPj4gICAgICAgICAgICAgICAgICBkY19hbGxvd19pZGxlX29wdGltaXphdGlvbnMoZGMsIHRy dWUpOw0KPj4NCj4+IC0jZW5kaWYNCj4+ICAgICAgICAgIHJldHVybiB0cnVlOw0KPj4gICB9DQo+ Pg0KPj4gQEAgLTM5Niw5ICszOTIsNyBAQCBib29sIGRjX3N0cmVhbV9zZXRfY3Vyc29yX3Bvc2l0 aW9uKA0KPj4gICAgICAgICAgY29uc3Qgc3RydWN0IGRjX2N1cnNvcl9wb3NpdGlvbiAqcG9zaXRp b24pDQo+PiAgIHsNCj4+ICAgICAgICAgIHN0cnVjdCBkYyAgKmRjOw0KPj4gLSNpZiBkZWZpbmVk KENPTkZJR19EUk1fQU1EX0RDX0RDTikNCj4+ICAgICAgICAgIGJvb2wgcmVzZXRfaWRsZV9vcHRp bWl6YXRpb25zID0gZmFsc2U7DQo+PiAtI2VuZGlmDQo+Pg0KPj4gICAgICAgICAgaWYgKE5VTEwg PT0gc3RyZWFtKSB7DQo+PiAgICAgICAgICAgICAgICAgIGRtX2Vycm9yKCJEQzogZGNfc3RyZWFt IGlzIE5VTEwhXG4iKTsNCj4+IEBAIC00MjQsMTIgKzQxOCwxMCBAQCBib29sIGRjX3N0cmVhbV9z ZXRfY3Vyc29yX3Bvc2l0aW9uKA0KPj4gICAgICAgICAgc3RyZWFtLT5jdXJzb3JfcG9zaXRpb24g PSAqcG9zaXRpb247DQo+Pg0KPj4gICAgICAgICAgcHJvZ3JhbV9jdXJzb3JfcG9zaXRpb24oZGMs IHN0cmVhbSwgcG9zaXRpb24pOw0KPj4gLSNpZiBkZWZpbmVkKENPTkZJR19EUk1fQU1EX0RDX0RD TikNCj4+ICAgICAgICAgIC8qIHJlLWVuYWJsZSBpZGxlIG9wdGltaXphdGlvbnMgaWYgbmVjZXNz YXJ5ICovDQo+PiAgICAgICAgICBpZiAocmVzZXRfaWRsZV9vcHRpbWl6YXRpb25zKQ0KPj4gICAg ICAgICAgICAgICAgICBkY19hbGxvd19pZGxlX29wdGltaXphdGlvbnMoZGMsIHRydWUpOw0KPj4N Cj4+IC0jZW5kaWYNCj4+ICAgICAgICAgIHJldHVybiB0cnVlOw0KPj4gICB9DQo+Pg0KPj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9kYy5oIGIvZHJpdmVycy9n cHUvZHJtL2FtZC9kaXNwbGF5L2RjL2RjLmgNCj4+IGluZGV4IGUzN2Q5YzE5ZjA4OS4uMGY4NmJi ODA5ZTA0IDEwMDY0NA0KPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2Rj LmgNCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9kYy5oDQo+PiBAQCAt MjIyLDcgKzIyMiw2IEBAIHN0cnVjdCBkY19kY2Nfc2V0dGluZyB7DQo+PiAgICAgICAgICB1bnNp Z25lZCBpbnQgbWF4X2NvbXByZXNzZWRfYmxrX3NpemU7DQo+PiAgICAgICAgICB1bnNpZ25lZCBp bnQgbWF4X3VuY29tcHJlc3NlZF9ibGtfc2l6ZTsNCj4+ICAgICAgICAgIGJvb2wgaW5kZXBlbmRl bnRfNjRiX2Jsa3M7DQo+PiAtI2lmIGRlZmluZWQoQ09ORklHX0RSTV9BTURfRENfRENOKQ0KPj4g ICAgICAgICAgLy9UaGVzZSBiaXRmaWVsZHMgdG8gYmUgdXNlZCBzdGFydGluZyB3aXRoIERDTg0K Pj4gICAgICAgICAgc3RydWN0IHsNCj4+ICAgICAgICAgICAgICAgICAgdWludDMyX3QgZGNjXzI1 Nl82NF82NCA6IDE7Ly9hdmFpbGFibGUgaW4gQVNJQ3MgYmVmb3JlIERDTiAodGhlIHdvcnN0IGNv bXByZXNzaW9uIGNhc2UpDQo+PiBAQCAtMjMwLDcgKzIyOSw2IEBAIHN0cnVjdCBkY19kY2Nfc2V0 dGluZyB7DQo+PiAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGRjY18yNTZfMTI4XzEyOCA6IDE7 ICAgICAgICAgICAvL2F2YWlsYWJsZSBzdGFydGluZyB3aXRoIERDTg0KPj4gICAgICAgICAgICAg ICAgICB1aW50MzJfdCBkY2NfMjU2XzI1Nl91bmNvbnN0cmFpbmVkIDogMTsgIC8vYXZhaWxhYmxl IGluIEFTSUNzIGJlZm9yZSBEQ04gKHRoZSBiZXN0IGNvbXByZXNzaW9uIGNhc2UpDQo+PiAgICAg ICAgICB9IGRjY19jb250cm9sczsNCj4+IC0jZW5kaWYNCj4+ICAgfTsNCj4+DQo+PiAgIHN0cnVj dCBkY19zdXJmYWNlX2RjY19jYXAgew0KPj4gQEAgLTMzMiw5ICszMzAsNyBAQCBzdHJ1Y3QgZGNf Y29uZmlnIHsNCj4+ICAgICAgICAgIGJvb2wgZW5hYmxlXzR0bzFNUEM7DQo+PiAgICAgICAgICBi b29sIGVuYWJsZV93aW5kb3dlZF9tcG9fb2RtOw0KPj4gICAgICAgICAgYm9vbCBhbGxvd19lZHBf aG90cGx1Z19kZXRlY3Rpb247DQo+PiAtI2lmIGRlZmluZWQoQ09ORklHX0RSTV9BTURfRENfRENO KQ0KPj4gICAgICAgICAgYm9vbCBjbGFtcF9taW5fZGNmY2xrOw0KPj4gLSNlbmRpZg0KPj4gICAg ICAgICAgdWludDY0X3QgdmJsYW5rX2FsaWdubWVudF9kdG9fcGFyYW1zOw0KPj4gICAgICAgICAg dWludDhfdCAgdmJsYW5rX2FsaWdubWVudF9tYXhfZnJhbWVfdGltZV9kaWZmOw0KPj4gICAgICAg ICAgYm9vbCBpc19hc3ltbWV0cmljX21lbW9yeTsNCj4+IEBAIC0zOTUsMTQgKzM5MSwxMiBAQCBl bnVtIGRjbl9wd3Jfc3RhdGUgew0KPj4gICAgICAgICAgRENOX1BXUl9TVEFURV9MT1dfUE9XRVIg PSAzLA0KPj4gICB9Ow0KPj4NCj4+IC0jaWYgZGVmaW5lZChDT05GSUdfRFJNX0FNRF9EQ19EQ04p DQo+PiAgIGVudW0gZGNuX3pzdGF0ZV9zdXBwb3J0X3N0YXRlIHsNCj4+ICAgICAgICAgIERDTl9a U1RBVEVfU1VQUE9SVF9VTktOT1dOLA0KPj4gICAgICAgICAgRENOX1pTVEFURV9TVVBQT1JUX0FM TE9XLA0KPj4gICAgICAgICAgRENOX1pTVEFURV9TVVBQT1JUX0FMTE9XX1oxMF9PTkxZLA0KPj4g ICAgICAgICAgRENOX1pTVEFURV9TVVBQT1JUX0RJU0FMTE9XLA0KPj4gICB9Ow0KPj4gLSNlbmRp Zg0KPj4gICAvKg0KPj4gICAgKiBGb3IgYW55IGNsb2NrcyB0aGF0IG1heSBkaWZmZXIgcGVyIHBp cGUNCj4+ICAgICogb25seSB0aGUgbWF4IGlzIHN0b3JlZCBpbiB0aGlzIHN0cnVjdHVyZQ0KPj4g QEAgLTQyMCwxMCArNDE0LDggQEAgc3RydWN0IGRjX2Nsb2NrcyB7DQo+PiAgICAgICAgICBpbnQg cGh5Y2xrX2toejsNCj4+ICAgICAgICAgIGludCBkcmFtY2xrX2toejsNCj4+ICAgICAgICAgIGJv b2wgcF9zdGF0ZV9jaGFuZ2Vfc3VwcG9ydDsNCj4+IC0jaWYgZGVmaW5lZChDT05GSUdfRFJNX0FN RF9EQ19EQ04pDQo+PiAgICAgICAgICBlbnVtIGRjbl96c3RhdGVfc3VwcG9ydF9zdGF0ZSB6c3Rh dGVfc3VwcG9ydDsNCj4+ICAgICAgICAgIGJvb2wgZHRiY2xrX2VuOw0KPj4gLSNlbmRpZg0KPj4g ICAgICAgICAgZW51bSBkY25fcHdyX3N0YXRlIHB3cl9zdGF0ZTsNCj4+ICAgICAgICAgIC8qDQo+ PiAgICAgICAgICAgKiBFbGVtZW50cyBiZWxvdyBhcmUgbm90IGNvbXBhcmVkIGZvciB0aGUgcHVy cG9zZXMgb2YNCj4+IEBAIC02NTMsOSArNjQ1LDcgQEAgc3RydWN0IGRjX2RlYnVnX29wdGlvbnMg ew0KPj4gICAgICAgICAgYm9vbCBkaXNhYmxlX3BwbGliX2Nsb2NrX3JlcXVlc3Q7DQo+PiAgICAg ICAgICBib29sIGRpc2FibGVfY2xvY2tfZ2F0ZTsNCj4+ICAgICAgICAgIGJvb2wgZGlzYWJsZV9t ZW1fbG93X3Bvd2VyOw0KPj4gLSNpZiBkZWZpbmVkKENPTkZJR19EUk1fQU1EX0RDX0RDTikNCj4+ ICAgICAgICAgIGJvb2wgcHN0YXRlX2VuYWJsZWQ7DQo+PiAtI2VuZGlmDQo+PiAgICAgICAgICBi b29sIGRpc2FibGVfZG1jdTsNCj4+ICAgICAgICAgIGJvb2wgZGlzYWJsZV9wc3I7DQo+PiAgICAg ICAgICBib29sIGZvcmNlX2FibV9lbmFibGU7DQo+PiBAQCAtNjczLDIwICs2NjMsMTYgQEAgc3Ry dWN0IGRjX2RlYnVnX29wdGlvbnMgew0KPj4gICAgICAgICAgYm9vbCByZW1vdmVfZGlzY29ubmVj dF9lZHA7DQo+PiAgICAgICAgICB1bnNpZ25lZCBpbnQgZm9yY2Vfb2RtX2NvbWJpbmU7IC8vYml0 IHZlY3RvciBiYXNlZCBvbiBvdGcgaW5zdA0KPj4gICAgICAgICAgdW5zaWduZWQgaW50IHNlYW1s ZXNzX2Jvb3Rfb2RtX2NvbWJpbmU7DQo+PiAtI2lmIGRlZmluZWQoQ09ORklHX0RSTV9BTURfRENf RENOKQ0KPj4gICAgICAgICAgdW5zaWduZWQgaW50IGZvcmNlX29kbV9jb21iaW5lXzR0bzE7IC8v Yml0IHZlY3RvciBiYXNlZCBvbiBvdGcgaW5zdA0KPj4gICAgICAgICAgYm9vbCBkaXNhYmxlX3o5 X21wYzsNCj4+IC0jZW5kaWYNCj4+ICAgICAgICAgIHVuc2lnbmVkIGludCBmb3JjZV9mY2xrX2to ejsNCj4+ICAgICAgICAgIGJvb2wgZW5hYmxlX3RyaV9idWY7DQo+PiAgICAgICAgICBib29sIGRt dWJfb2ZmbG9hZF9lbmFibGVkOw0KPj4gICAgICAgICAgYm9vbCBkbWN1Yl9lbXVsYXRpb247DQo+ PiAtI2lmIGRlZmluZWQoQ09ORklHX0RSTV9BTURfRENfRENOKQ0KPj4gICAgICAgICAgYm9vbCBk aXNhYmxlX2lkbGVfcG93ZXJfb3B0aW1pemF0aW9uczsNCj4+ICAgICAgICAgIHVuc2lnbmVkIGlu dCBtYWxsX3NpemVfb3ZlcnJpZGU7DQo+PiAgICAgICAgICB1bnNpZ25lZCBpbnQgbWFsbF9hZGRp dGlvbmFsX3RpbWVyX3BlcmNlbnQ7DQo+PiAgICAgICAgICBib29sIG1hbGxfZXJyb3JfYXNfZmF0 YWw7DQo+PiAtI2VuZGlmDQo+PiAgICAgICAgICBib29sIGRtdWJfY29tbWFuZF90YWJsZTsgLyog Zm9yIHRlc3Rpbmcgb25seSAqLw0KPj4gICAgICAgICAgc3RydWN0IGRjX2J3X3ZhbGlkYXRpb25f cHJvZmlsZSBid192YWxfcHJvZmlsZTsNCj4+ICAgICAgICAgIGJvb2wgZGlzYWJsZV9mZWM7DQo+ PiBAQCAtNjk1LDkgKzY4MSw3IEBAIHN0cnVjdCBkY19kZWJ1Z19vcHRpb25zIHsNCj4+ICAgICAg ICAgICAqIHdhdGVybWFya3MgYXJlIG5vdCBhZmZlY3RlZC4NCj4+ICAgICAgICAgICAqLw0KPj4g ICAgICAgICAgdW5zaWduZWQgaW50IGZvcmNlX21pbl9kY2ZjbGtfbWh6Ow0KPj4gLSNpZiBkZWZp bmVkKENPTkZJR19EUk1fQU1EX0RDX0RDTikNCj4+ICAgICAgICAgIGludCBkd2JfZmlfcGhhc2U7 DQo+PiAtI2VuZGlmDQo+PiAgICAgICAgICBib29sIGRpc2FibGVfdGltaW5nX3N5bmM7DQo+PiAg ICAgICAgICBib29sIGNtX2luX2J5cGFzczsNCj4+ICAgICAgICAgIGludCBmb3JjZV9jbG9ja19t b2RlOy8qZXZlcnkgbW9kZSBjaGFuZ2UuKi8NCj4+IEBAIC03MjksMTEgKzcxMyw5IEBAIHN0cnVj dCBkY19kZWJ1Z19vcHRpb25zIHsNCj4+ICAgICAgICAgIGVudW0gZGV0X3NpemUgY3JiX2FsbG9j X3BvbGljeTsNCj4+ICAgICAgICAgIGludCBjcmJfYWxsb2NfcG9saWN5X21pbl9kaXNwX2NvdW50 Ow0KPj4gICAgICAgICAgYm9vbCBkaXNhYmxlX3oxMDsNCj4+IC0jaWYgZGVmaW5lZChDT05GSUdf RFJNX0FNRF9EQ19EQ04pDQo+PiAgICAgICAgICBib29sIGVuYWJsZV96OV9kaXNhYmxlX2ludGVy ZmFjZTsNCj4+ICAgICAgICAgIGJvb2wgZW5hYmxlX3N3X2NudGxfcHNyOw0KPj4gICAgICAgICAg dW5pb24gZHBpYV9kZWJ1Z19vcHRpb25zIGRwaWFfZGVidWc7DQo+PiAtI2VuZGlmDQo+PiAgICAg ICAgICBib29sIGFwcGx5X3ZlbmRvcl9zcGVjaWZpY19sdHRwcl93YTsNCj4+ICAgICAgICAgIGJv b2wgZXh0ZW5kZWRfYmxhbmtfb3B0aW1pemF0aW9uOw0KPj4gICAgICAgICAgdW5pb24gYXV4X3dh a2Vfd2Ffb3B0aW9ucyBhdXhfd2FrZV93YTsNCj4+IEBAIC03NjcsMTEgKzc0OSw5IEBAIHN0cnVj dCBkYyB7DQo+PiAgICAgICAgICAvKiBJbnB1dHMgaW50byBCVyBhbmQgV00gY2FsY3VsYXRpb25z LiAqLw0KPj4gICAgICAgICAgc3RydWN0IGJ3X2NhbGNzX2RjZWlwICpid19kY2VpcDsNCj4+ICAg ICAgICAgIHN0cnVjdCBid19jYWxjc192YmlvcyAqYndfdmJpb3M7DQo+PiAtI2lmZGVmIENPTkZJ R19EUk1fQU1EX0RDX0RDTg0KPj4gICAgICAgICAgc3RydWN0IGRjbl9zb2NfYm91bmRpbmdfYm94 ICpkY25fc29jOw0KPj4gICAgICAgICAgc3RydWN0IGRjbl9pcF9wYXJhbXMgKmRjbl9pcDsNCj4+ ICAgICAgICAgIHN0cnVjdCBkaXNwbGF5X21vZGVfbGliIGRtbDsNCj4+IC0jZW5kaWYNCj4+DQo+ PiAgICAgICAgICAvKiBIVyBmdW5jdGlvbnMgKi8NCj4+ICAgICAgICAgIHN0cnVjdCBod19zZXF1 ZW5jZXJfZnVuY3MgaHdzczsNCj4+IEBAIC03ODAsMTIgKzc2MCw4IEBAIHN0cnVjdCBkYyB7DQo+ PiAgICAgICAgICAvKiBSZXF1aXJlIHRvIG9wdGltaXplIGNsb2NrcyBhbmQgYmFuZHdpZHRoIGZv ciBhZGRlZC9yZW1vdmVkIHBsYW5lcyAqLw0KPj4gICAgICAgICAgYm9vbCBvcHRpbWl6ZWRfcmVx dWlyZWQ7DQo+PiAgICAgICAgICBib29sIHdtX29wdGltaXplZF9yZXF1aXJlZDsNCj4+IC0jaWYg ZGVmaW5lZChDT05GSUdfRFJNX0FNRF9EQ19EQ04pDQo+PiAgICAgICAgICBib29sIGlkbGVfb3B0 aW1pemF0aW9uc19hbGxvd2VkOw0KPj4gLSNlbmRpZg0KPj4gLSNpZiBkZWZpbmVkKENPTkZJR19E Uk1fQU1EX0RDX0RDTikNCj4+ICAgICAgICAgIGJvb2wgZW5hYmxlX2MyMF9kdG1fYjA7DQo+PiAt I2VuZGlmDQo+Pg0KPj4gICAgICAgICAgLyogUmVxdWlyZSB0byBtYWludGFpbiBjbG9ja3MgYW5k IGJhbmR3aWR0aCBmb3IgVUVGSSBlbmFibGVkIEhXICovDQo+Pg0KPj4gQEAgLTgzNSw5ICs4MTEs NyBAQCBzdHJ1Y3QgZGNfaW5pdF9kYXRhIHsNCj4+ICAgICAgICAgIHVpbnQ2NF90IGxvZ19tYXNr Ow0KPj4NCj4+ICAgICAgICAgIHN0cnVjdCBkcGNkX3ZlbmRvcl9zaWduYXR1cmUgdmVuZG9yX3Np Z25hdHVyZTsNCj4+IC0jaWYgZGVmaW5lZChDT05GSUdfRFJNX0FNRF9EQ19EQ04pDQo+PiAgICAg ICAgICBib29sIGZvcmNlX3NtdV9ub3RfcHJlc2VudDsNCj4+IC0jZW5kaWYNCj4+ICAgfTsNCj4+ DQo+PiAgIHN0cnVjdCBkY19jYWxsYmFja19pbml0IHsNCj4+IEBAIC0xMDMwLDkgKzEwMDQsNyBA QCBzdHJ1Y3QgZGNfcGxhbmVfc3RhdGUgew0KPj4gICAgICAgICAgc3RydWN0IGRjX3RyYW5zZmVy X2Z1bmMgKmluX3NoYXBlcl9mdW5jOw0KPj4gICAgICAgICAgc3RydWN0IGRjX3RyYW5zZmVyX2Z1 bmMgKmJsZW5kX3RmOw0KPj4NCj4+IC0jaWYgZGVmaW5lZChDT05GSUdfRFJNX0FNRF9EQ19EQ04p DQo+PiAgICAgICAgICBzdHJ1Y3QgZGNfdHJhbnNmZXJfZnVuYyAqZ2FtY29yX3RmOw0KPj4gLSNl bmRpZg0KPj4gICAgICAgICAgZW51bSBzdXJmYWNlX3BpeGVsX2Zvcm1hdCBmb3JtYXQ7DQo+PiAg ICAgICAgICBlbnVtIGRjX3JvdGF0aW9uX2FuZ2xlIHJvdGF0aW9uOw0KPj4gICAgICAgICAgZW51 bSBwbGFuZV9zdGVyZW9fZm9ybWF0IHN0ZXJlb19mb3JtYXQ7DQo+PiBAQCAtMTE2OSwxMyArMTE0 MSwxMSBAQCB2b2lkIGRjX3Jlc291cmNlX3N0YXRlX2NvbnN0cnVjdCgNCj4+ICAgICAgICAgICAg ICAgICAgY29uc3Qgc3RydWN0IGRjICpkYywNCj4+ICAgICAgICAgICAgICAgICAgc3RydWN0IGRj X3N0YXRlICpkc3RfY3R4KTsNCj4+DQo+PiAtI2lmIGRlZmluZWQoQ09ORklHX0RSTV9BTURfRENf RENOKQ0KPj4gICBib29sIGRjX2FjcXVpcmVfcmVsZWFzZV9tcGNfM2RsdXQoDQo+PiAgICAgICAg ICAgICAgICAgIHN0cnVjdCBkYyAqZGMsIGJvb2wgYWNxdWlyZSwNCj4+ICAgICAgICAgICAgICAg ICAgc3RydWN0IGRjX3N0cmVhbV9zdGF0ZSAqc3RyZWFtLA0KPj4gICAgICAgICAgICAgICAgICBz dHJ1Y3QgZGNfM2RsdXQgKipsdXQsDQo+PiAgICAgICAgICAgICAgICAgIHN0cnVjdCBkY190cmFu c2Zlcl9mdW5jICoqc2hhcGVyKTsNCj4+IC0jZW5kaWYNCj4+DQo+PiAgIHZvaWQgZGNfcmVzb3Vy Y2Vfc3RhdGVfY29weV9jb25zdHJ1Y3QoDQo+PiAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVj dCBkY19zdGF0ZSAqc3JjX2N0eCwNCj4+IEBAIC0xMzA2LDEwICsxMjc2LDggQEAgc3RydWN0IGhk Y3BfY2FwcyB7DQo+Pg0KPj4gICAjaW5jbHVkZSAiZGNfbGluay5oIg0KPj4NCj4+IC0jaWYgZGVm aW5lZChDT05GSUdfRFJNX0FNRF9EQ19EQ04pDQo+PiAgIHVpbnQzMl90IGRjX2dldF9vcHBfZm9y X3BsYW5lKHN0cnVjdCBkYyAqZGMsIHN0cnVjdCBkY19wbGFuZV9zdGF0ZSAqcGxhbmUpOw0KPj4N Cj4+IC0jZW5kaWYNCj4+ICAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCj4+ICAgICogU2luayBJ bnRlcmZhY2VzIC0gQSBzaW5rIGNvcnJlc3BvbmRzIHRvIGEgZGlzcGxheSBvdXRwdXQgZGV2aWNl DQo+PiAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQo+PiBAQCAtMTQzMyw3ICsxNDAxLDYgQEAg Ym9vbCBkY19pc19kbWN1X2luaXRpYWxpemVkKHN0cnVjdCBkYyAqZGMpOw0KPj4NCj4+ICAgZW51 bSBkY19zdGF0dXMgZGNfc2V0X2Nsb2NrKHN0cnVjdCBkYyAqZGMsIGVudW0gZGNfY2xvY2tfdHlw ZSBjbG9ja190eXBlLCB1aW50MzJfdCBjbGtfa2h6LCB1aW50MzJfdCBzdGVwcGluZyk7DQo+PiAg IHZvaWQgZGNfZ2V0X2Nsb2NrKHN0cnVjdCBkYyAqZGMsIGVudW0gZGNfY2xvY2tfdHlwZSBjbG9j a190eXBlLCBzdHJ1Y3QgZGNfY2xvY2tfY29uZmlnICpjbG9ja19jZmcpOw0KPj4gLSNpZiBkZWZp bmVkKENPTkZJR19EUk1fQU1EX0RDX0RDTikNCj4+DQo+PiAgIGJvb2wgZGNfaXNfcGxhbmVfZWxp Z2libGVfZm9yX2lkbGVfb3B0aW1pemF0aW9ucyhzdHJ1Y3QgZGMgKmRjLCBzdHJ1Y3QgZGNfcGxh bmVfc3RhdGUgKnBsYW5lLA0KPj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ry dWN0IGRjX2N1cnNvcl9hdHRyaWJ1dGVzICpjdXJzb3JfYXR0cik7DQo+PiBAQCAtMTQ1OCwxMyAr MTQyNSw5IEBAIHZvaWQgZGNfZW5hYmxlX2RjbW9kZV9jbGtfbGltaXQoc3RydWN0IGRjICpkYywg Ym9vbCBlbmFibGUpOw0KPj4gICAvKiBjbGVhbnVwIG9uIGRyaXZlciB1bmxvYWQgKi8NCj4+ICAg dm9pZCBkY19oYXJkd2FyZV9yZWxlYXNlKHN0cnVjdCBkYyAqZGMpOw0KPj4NCj4+IC0jZW5kaWYN Cj4+IC0NCj4+ICAgYm9vbCBkY19zZXRfcHNyX2FsbG93X2FjdGl2ZShzdHJ1Y3QgZGMgKmRjLCBi b29sIGVuYWJsZSk7DQo+PiAtI2lmIGRlZmluZWQoQ09ORklHX0RSTV9BTURfRENfRENOKQ0KPj4g ICB2b2lkIGRjX3oxMF9yZXN0b3JlKGNvbnN0IHN0cnVjdCBkYyAqZGMpOw0KPj4gICB2b2lkIGRj X3oxMF9zYXZlX2luaXQoc3RydWN0IGRjICpkYyk7DQo+PiAtI2VuZGlmDQo+Pg0KPj4gICBib29s IGRjX2lzX2RtdWJfb3V0Ym94X3N1cHBvcnRlZChzdHJ1Y3QgZGMgKmRjKTsNCj4+ICAgYm9vbCBk Y19lbmFibGVfZG11Yl9ub3RpZmljYXRpb25zKHN0cnVjdCBkYyAqZGMpOw0KPj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9kbV9oZWxwZXJzLmggYi9kcml2ZXJz L2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvZG1faGVscGVycy5oDQo+PiBpbmRleCAzMTEwOWRiMDJl OTMuLmZiNmEyZDdiNjQ3MCAxMDA2NDQNCj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlz cGxheS9kYy9kbV9oZWxwZXJzLmgNCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxh eS9kYy9kbV9oZWxwZXJzLmgNCj4+IEBAIC0xNjAsOSArMTYwLDcgQEAgdm9pZCBkbV9zZXRfZGNu X2Nsb2NrcygNCj4+ICAgICAgICAgICAgICAgICAgc3RydWN0IGRjX2NvbnRleHQgKmN0eCwNCj4+ ICAgICAgICAgICAgICAgICAgc3RydWN0IGRjX2Nsb2NrcyAqY2xrcyk7DQo+Pg0KPj4gLSNpZiBk ZWZpbmVkKENPTkZJR19EUk1fQU1EX0RDX0RDTikNCj4+ICAgdm9pZCBkbV9oZWxwZXJzX2VuYWJs ZV9wZXJpb2RpY19kZXRlY3Rpb24oc3RydWN0IGRjX2NvbnRleHQgKmN0eCwgYm9vbCBlbmFibGUp Ow0KPj4gLSNlbmRpZg0KPj4NCj4+ICAgdm9pZCBkbV9zZXRfcGh5ZDMyY2xrKHN0cnVjdCBkY19j b250ZXh0ICpjdHgsIGludCBmcmVxX2toeik7DQo+Pg0KPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9hbWQvZGlzcGxheS9kYy9pbmMvY29yZV90eXBlcy5oIGIvZHJpdmVycy9ncHUvZHJt L2FtZC9kaXNwbGF5L2RjL2luYy9jb3JlX3R5cGVzLmgNCj4+IGluZGV4IDk1MWM5YjYwOTE3ZC4u MjZmM2E1NWMzNWQ3IDEwMDY0NA0KPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5 L2RjL2luYy9jb3JlX3R5cGVzLmgNCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxh eS9kYy9pbmMvY29yZV90eXBlcy5oDQo+PiBAQCAtMzMsOSArMzMsNyBAQA0KPj4gICAjaW5jbHVk ZSAiZGNfYmlvc190eXBlcy5oIg0KPj4gICAjaW5jbHVkZSAibWVtX2lucHV0LmgiDQo+PiAgICNp bmNsdWRlICJodWJwLmgiDQo+PiAtI2lmIGRlZmluZWQoQ09ORklHX0RSTV9BTURfRENfRENOKQ0K Pj4gICAjaW5jbHVkZSAibXBjLmgiDQo+PiAtI2VuZGlmDQo+PiAgICNpbmNsdWRlICJkd2IuaCIN Cj4+ICAgI2luY2x1ZGUgIm1jaWZfd2IuaCINCj4+ICAgI2luY2x1ZGUgInBhbmVsX2NudGwuaCIN Cj4+IEBAIC0xODEsNyArMTc5LDYgQEAgc3RydWN0IHJlc291cmNlX2Z1bmNzIHsNCj4+ICAgICAg ICAgIHZvaWQgKCp1cGRhdGVfYndfYm91bmRpbmdfYm94KSgNCj4+ICAgICAgICAgICAgICAgICAg ICAgICAgICBzdHJ1Y3QgZGMgKmRjLA0KPj4gICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVj dCBjbGtfYndfcGFyYW1zICpid19wYXJhbXMpOw0KPj4gLSNpZiBkZWZpbmVkKENPTkZJR19EUk1f QU1EX0RDX0RDTikNCj4+ICAgICAgICAgIGJvb2wgKCphY3F1aXJlX3Bvc3RfYmxkbl8zZGx1dCko DQo+PiAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHJlc291cmNlX2NvbnRleHQgKnJl c19jdHgsDQo+PiAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IHJlc291cmNl X3Bvb2wgKnBvb2wsDQo+PiBAQCAtMTk0LDcgKzE5MSw3IEBAIHN0cnVjdCByZXNvdXJjZV9mdW5j cyB7DQo+PiAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IHJlc291cmNlX3Bv b2wgKnBvb2wsDQo+PiAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGRjXzNkbHV0ICoq bHV0LA0KPj4gICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBkY190cmFuc2Zlcl9mdW5j ICoqc2hhcGVyKTsNCj4+IC0jZW5kaWYNCj4+ICsNCj4+ICAgICAgICAgIGVudW0gZGNfc3RhdHVz ICgqYWRkX2RzY190b19zdHJlYW1fcmVzb3VyY2UpKA0KPj4gICAgICAgICAgICAgICAgICAgICAg ICAgIHN0cnVjdCBkYyAqZGMsIHN0cnVjdCBkY19zdGF0ZSAqc3RhdGUsDQo+PiAgICAgICAgICAg ICAgICAgICAgICAgICAgc3RydWN0IGRjX3N0cmVhbV9zdGF0ZSAqc3RyZWFtKTsNCj4+IEBAIC0y NTQsMTAgKzI1MSw5IEBAIHN0cnVjdCByZXNvdXJjZV9wb29sIHsNCj4+ICAgICAgICAgIHN0cnVj dCBocG9fZHBfc3RyZWFtX2VuY29kZXIgKmhwb19kcF9zdHJlYW1fZW5jW01BWF9IUE9fRFAyX0VO Q09ERVJTXTsNCj4+ICAgICAgICAgIHVuc2lnbmVkIGludCBocG9fZHBfbGlua19lbmNfY291bnQ7 DQo+PiAgICAgICAgICBzdHJ1Y3QgaHBvX2RwX2xpbmtfZW5jb2RlciAqaHBvX2RwX2xpbmtfZW5j W01BWF9IUE9fRFAyX0xJTktfRU5DT0RFUlNdOw0KPj4gLSNpZiBkZWZpbmVkKENPTkZJR19EUk1f QU1EX0RDX0RDTikNCj4+ICAgICAgICAgIHN0cnVjdCBkY18zZGx1dCAqbXBjX2x1dFtNQVhfUElQ RVNdOw0KPj4gICAgICAgICAgc3RydWN0IGRjX3RyYW5zZmVyX2Z1bmMgKm1wY19zaGFwZXJbTUFY X1BJUEVTXTsNCj4+IC0jZW5kaWYNCj4+ICsNCj4+ICAgICAgICAgIHN0cnVjdCB7DQo+PiAgICAg ICAgICAgICAgICAgIHVuc2lnbmVkIGludCB4dGFsaW5fY2xvY2tfaW5LaHo7DQo+PiAgICAgICAg ICAgICAgICAgIHVuc2lnbmVkIGludCBkY2NnX3JlZl9jbG9ja19pbktoejsNCj4+IEBAIC0yODYs OSArMjgyLDcgQEAgc3RydWN0IHJlc291cmNlX3Bvb2wgew0KPj4gICAgICAgICAgc3RydWN0IGRt Y3UgKmRtY3U7DQo+PiAgICAgICAgICBzdHJ1Y3QgZG11Yl9wc3IgKnBzcjsNCj4+DQo+PiAtI2lm IGRlZmluZWQoQ09ORklHX0RSTV9BTURfRENfRENOKQ0KPj4gICAgICAgICAgc3RydWN0IGFibSAq bXVsdGlwbGVfYWJtc1tNQVhfUElQRVNdOw0KPj4gLSNlbmRpZg0KPj4NCj4+ICAgICAgICAgIGNv bnN0IHN0cnVjdCByZXNvdXJjZV9mdW5jcyAqZnVuY3M7DQo+PiAgICAgICAgICBjb25zdCBzdHJ1 Y3QgcmVzb3VyY2VfY2FwcyAqcmVzX2NhcDsNCj4+IEBAIC0zODAsNyArMzc0LDYgQEAgc3RydWN0 IHBpcGVfY3R4IHsNCj4+ICAgICAgICAgIHN0cnVjdCBwaXBlX2N0eCAqbmV4dF9vZG1fcGlwZTsN Cj4+ICAgICAgICAgIHN0cnVjdCBwaXBlX2N0eCAqcHJldl9vZG1fcGlwZTsNCj4+DQo+PiAtI2lm ZGVmIENPTkZJR19EUk1fQU1EX0RDX0RDTg0KPj4gICAgICAgICAgc3RydWN0IF92Y3NfZHBpX2Rp c3BsYXlfZGxnX3JlZ3Nfc3QgZGxnX3JlZ3M7DQo+PiAgICAgICAgICBzdHJ1Y3QgX3Zjc19kcGlf ZGlzcGxheV90dHVfcmVnc19zdCB0dHVfcmVnczsNCj4+ICAgICAgICAgIHN0cnVjdCBfdmNzX2Rw aV9kaXNwbGF5X3JxX3JlZ3Nfc3QgcnFfcmVnczsNCj4+IEBAIC0zOTAsNyArMzgzLDcgQEAgc3Ry dWN0IHBpcGVfY3R4IHsNCj4+ICAgICAgICAgIHN0cnVjdCBfdmNzX2RwaV9kaXNwbGF5X2UyZV9w aXBlX3BhcmFtc19zdCBkbWxfaW5wdXQ7DQo+PiAgICAgICAgICBpbnQgZGV0X2J1ZmZlcl9zaXpl X2tiOw0KPj4gICAgICAgICAgYm9vbCB1bmJvdW5kZWRfcmVxOw0KPj4gLSNlbmRpZg0KPj4gKw0K Pj4gICAgICAgICAgdW5pb24gcGlwZV91cGRhdGVfZmxhZ3MgdXBkYXRlX2ZsYWdzOw0KPj4gICAg ICAgICAgc3RydWN0IGR3YmMgKmR3YmM7DQo+PiAgICAgICAgICBzdHJ1Y3QgbWNpZl93YiAqbWNp Zl93YjsNCj4+IEBAIC00MTksOSArNDEyLDcgQEAgc3RydWN0IHJlc291cmNlX2NvbnRleHQgew0K Pj4gICAgICAgICAgYm9vbCBpc19ocG9fZHBfc3RyZWFtX2VuY19hY3F1aXJlZFtNQVhfSFBPX0RQ Ml9FTkNPREVSU107DQo+PiAgICAgICAgICB1bnNpZ25lZCBpbnQgaHBvX2RwX2xpbmtfZW5jX3Rv X2xpbmtfaWR4W01BWF9IUE9fRFAyX0xJTktfRU5DT0RFUlNdOw0KPj4gICAgICAgICAgaW50IGhw b19kcF9saW5rX2VuY19yZWZfY250c1tNQVhfSFBPX0RQMl9MSU5LX0VOQ09ERVJTXTsNCj4+IC0j aWYgZGVmaW5lZChDT05GSUdfRFJNX0FNRF9EQ19EQ04pDQo+PiAgICAgICAgICBib29sIGlzX21w Y18zZGx1dF9hY3F1aXJlZFtNQVhfUElQRVNdOw0KPj4gLSNlbmRpZg0KPj4gICB9Ow0KPj4NCj4+ ICAgc3RydWN0IGRjZV9id19vdXRwdXQgew0KPj4gQEAgLTQ4NCw5ICs0NzUsNyBAQCBzdHJ1Y3Qg ZGNfc3RhdGUgew0KPj4NCj4+ICAgICAgICAgIC8qIE5vdGU6IHRoZXNlIGFyZSBiaWcgc3RydWN0 dXJlcywgZG8gKm5vdCogcHV0IG9uIHN0YWNrISAqLw0KPj4gICAgICAgICAgc3RydWN0IGRtX3Bw X2Rpc3BsYXlfY29uZmlndXJhdGlvbiBwcF9kaXNwbGF5X2NmZzsNCj4+IC0jaWZkZWYgQ09ORklH X0RSTV9BTURfRENfRENODQo+PiAgICAgICAgICBzdHJ1Y3QgZGNuX2J3X2ludGVybmFsX3ZhcnMg ZGNuX2J3X3ZhcnM7DQo+PiAtI2VuZGlmDQo+Pg0KPj4gICAgICAgICAgc3RydWN0IGNsa19tZ3Ig KmNsa19tZ3I7DQo+Pg0KPj4gLS0NCj4+IDIuMzUuMQ0KPj4NCg==