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 6D31DCF9C64 for ; Sun, 22 Sep 2024 10:40:43 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 178F710E08C; Sun, 22 Sep 2024 10:40:43 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=intel.com header.i=@intel.com header.b="bK5Tj/0r"; dkim-atps=neutral Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.14]) by gabe.freedesktop.org (Postfix) with ESMTPS id CC8EF10E08C for ; Sun, 22 Sep 2024 10:40:41 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1727001642; x=1758537642; h=from:to:subject:date:message-id:references:in-reply-to: content-id:content-transfer-encoding:mime-version; bh=WzdbXB7tL4G7w8RFtI6FnLWKH7+9Dru06Reg0CgkYbc=; b=bK5Tj/0rXEKXj0UkkltVGAO9iE+pLY76sMI/MtFqyIR0JINkJ3VM1cOP S59yiYsrDo7szUSva/sMlNX+pFNBsIBMNkWKcrX5WNcyOtxxhh3udv087 BccrjfrOawulFjhu2392Vy0vtu5V8nYm602oKmPEWtiCvUeiTMpNsvNu2 iku4z9ZgwTYoULnTZAdMFRa7ZZZ7sTLFC7xGkJTXi+GaoDHmH7bs2CJ0s HQZbKSq8toRmBFzIwXaOhi2nLXlDOUW5CovMmaOf9no8kwYyJFMH5rb9t xoNGRm0TLfcbAGD0agRNGIpAeRU27fRcjSvRFY+UHWa3D0an4ryNrX8xQ w==; X-CSE-ConnectionGUID: OAjPnQ0oRz2DCrdG5XdyPQ== X-CSE-MsgGUID: 9FxWsqTrSUSxFWEpaGqD8Q== X-IronPort-AV: E=McAfee;i="6700,10204,11202"; a="26144851" X-IronPort-AV: E=Sophos;i="6.10,249,1719903600"; d="scan'208";a="26144851" Received: from orviesa008.jf.intel.com ([10.64.159.148]) by fmvoesa108.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Sep 2024 03:40:41 -0700 X-CSE-ConnectionGUID: 67ibf0g8SSOY8Y2yR5MMLg== X-CSE-MsgGUID: INug3jFXQlyUI/vUntikZg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.10,249,1719903600"; d="scan'208";a="71609688" Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82]) by orviesa008.jf.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 22 Sep 2024 03:40:41 -0700 Received: from fmsmsx611.amr.corp.intel.com (10.18.126.91) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Sun, 22 Sep 2024 03:40:40 -0700 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx611.amr.corp.intel.com (10.18.126.91) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Sun, 22 Sep 2024 03:40:40 -0700 Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) by fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39 via Frontend Transport; Sun, 22 Sep 2024 03:40:40 -0700 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (104.47.59.177) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.39; Sun, 22 Sep 2024 03:40:39 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=WOOra0hiIpNU2krsQbdquFAdrR4dymgcfr+qr2ekYv5OxAQzeMTEmzILWJSkOssx4Tp1PGhj+ER22mDHH0gN6lfRT7pQM0Dabqzi8FZ1gh1vJ33Lik2UcaQKsX8n3FeGwjxAsSn5Uwrl1bZJ/jy5X4VcpNHosOebGIqxiazF86ZnIdpXOjvUhFD1rxHJQSZBmXVrbWNyU2iP5/ECdiD6bAULKploxPgTZogzLIGAaA9oqbVaKfRakT5oqRmtTBu5UTKgDBOvbMohnEjaEPa2ZbByUKy26W8roytMFygspPowZux/AjDW3SmVpiT/IKTTA4a26Qy7PVv+Obw7X7oeVA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=WzdbXB7tL4G7w8RFtI6FnLWKH7+9Dru06Reg0CgkYbc=; b=iBV0dmW3kqzepXF4g4eW9ovLHUsyr2YqQBVjPcVIHPD2tUAxRh/OvOYf7fKt0GUQSFGKaPlWqkTBQ7YHWnqXx25wwe1USXD1STvhZ3R+Obr4TC/1C64HwMM0JO4ZueCaP7Ts1Q1RTv8Sfz6pF7Dqtniyy5CtekaeJe0tnxWNDcu/sl9doRsiRE06+NX5E2BgqMRTTKDPnkxLZ2tLqfg6hCT8uReoWrZN7A9mVI4XDYa9YF7PSSa40mDl8KPPhTPmGVnRkxo0wTyanbR8f5cI+JvuE8y5XR3KMgQnleX8bp3jQeSNXueDYHG+ISccQOO8TY3PBR79F0IQ9WXXM0+yXw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from CY8PR11MB7777.namprd11.prod.outlook.com (2603:10b6:930:71::14) by SA1PR11MB8447.namprd11.prod.outlook.com (2603:10b6:806:3ac::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7982.24; Sun, 22 Sep 2024 10:40:32 +0000 Received: from CY8PR11MB7777.namprd11.prod.outlook.com ([fe80::60a1:eab8:65ee:6bb8]) by CY8PR11MB7777.namprd11.prod.outlook.com ([fe80::60a1:eab8:65ee:6bb8%6]) with mapi id 15.20.7982.022; Sun, 22 Sep 2024 10:40:32 +0000 From: "Govindapillai, Vinod" To: "ville.syrjala@linux.intel.com" , "intel-gfx@lists.freedesktop.org" Subject: Re: [PATCH 5/7] drm/i915: Move the dodgy pre-g4x wm stuff into i9xx_wm Thread-Topic: [PATCH 5/7] drm/i915: Move the dodgy pre-g4x wm stuff into i9xx_wm Thread-Index: AQHbCFT2zsD0i0hyE0OKOkGjlcytXLJjpwgA Date: Sun, 22 Sep 2024 10:40:32 +0000 Message-ID: References: <20240916162413.8555-1-ville.syrjala@linux.intel.com> <20240916162413.8555-6-ville.syrjala@linux.intel.com> In-Reply-To: <20240916162413.8555-6-ville.syrjala@linux.intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Evolution 3.44.4-0ubuntu2 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: CY8PR11MB7777:EE_|SA1PR11MB8447:EE_ x-ms-office365-filtering-correlation-id: 64694254-2c19-423c-8588-08dcdaf2fc34 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|366016|1800799024|376014|38070700018; x-microsoft-antispam-message-info: =?utf-8?B?Vmo0b2tsSSs5SUxhbnJzbHdTaXNveDZHcU9ZRHk5THJRbVBWL3YzWTNXOXhR?= =?utf-8?B?NDZGS3oxQXFqbUZVYmhzcGg1U3BVVlY0SEpoSktNdzdjeXQxNG1Fby9Icmp1?= =?utf-8?B?S0ovTERFbEJwRW11Y01ybkNVejRleEtIWEJTYkMzRDFsRGp4Ui9uV3NrK0x2?= =?utf-8?B?TXo5a1ozRWRKUXBXVmdxVTJ2NHYvNkRUODREaWZxa0tpU3JCRWQ0b1ZsQU8v?= =?utf-8?B?Q0VBaDBMZ1NMZW53VHVsaVBOaVB5Vy9mdmdsL1NKWldYbno3a0JZSjAxWC8w?= =?utf-8?B?VWk4NEpoK1dhc1FHeEVHSDNNR0kyVGR5dWsvSWRHbHFvNXkvWWlKSjdsd1pp?= =?utf-8?B?ci9yUnRrZUVXRWhnRmhmSlJabVZ2VWVlYm12NFZxWjdHK0ZmL1BEcnM0cXVI?= =?utf-8?B?c3FwRXQ4VU5vS00yaVhZSjhieWFpUUdlSWVoeThTOHBwTWc5R2hWcVBpcHhU?= =?utf-8?B?UTk1UlpYSXF1UGozUjNLLzlCMFN4UmZaYXJITHJzOEc0emtoUjhUNnlmUlFk?= =?utf-8?B?bEZoR0tveURvc1gvM2lHV1dBdG1vZ0ExaEU3SkJUQXkvd3Q1Nmt3bGN4Yk1k?= =?utf-8?B?SGxySFo0UTRmWnpvVjA5NStRZm1SU2IvRUx3RERNR3BRSGE2dnZSdXFrNXFk?= =?utf-8?B?SnZ1Z1NPRXBEa1pkM3Frd0RGWWU1RE9RUWYxRU1acmJRV0YyRzQ3T0JtWDdp?= =?utf-8?B?SWI4NGREejlUTitKUFhJVFh4YVNLRFUxVUhzcU4zQzIwQ0xKb0pDa3ZqMjd0?= =?utf-8?B?SUtERENXdGYvVmtjVmdNUnZVcFFwTmk1MVF5MVdhUjBYOEJaMVZqVTdBcFh0?= =?utf-8?B?eHhqaTRZbVloZW9qL1p1TjJIQldEc2hQV1ovVEpiZmREeXpvSVFEM3RGU3lD?= =?utf-8?B?cGk4N29pZm41SFQza1liMFI3MDFmRG1xRmdEVlk4SzVOY1VreXd0RktrcWtI?= =?utf-8?B?cUR0V2JnNCtzQnVKc1cwYTFRdk1ZS0dxQnV3Lzk4bFJyczFpR2tYazQzVFFp?= =?utf-8?B?VTlxNnBmbzhZS1RYSWpvZjg5RXhpdWFmY015cHByOExBcFVBMTRZUElzVUlQ?= =?utf-8?B?OVVJVUtMaU9PMU51SnpESFhwaU5oV2NnZW9acjF5YW02ajd2SXNzVW9FeFdV?= =?utf-8?B?OHRZTE5FV2RCSndUUlV2ZGx6U0ZLTFBWWFk4S3dIN3h5VU9RSU5JVTU1T3VV?= =?utf-8?B?Q2JXeW04ZnZjV2RvaHRGVC9YZ3EzRnpqd1V0S2RPYnRQQk1HdXNFTms1OWgz?= =?utf-8?B?WGNXRGZmNHA0S1RHRXRUZHFBVzRjYTZCeWdQRXpsVjBaMFZGVk1JNHBZdVlY?= =?utf-8?B?SCtqMmdrUVFDYllYQmRKY281QVlza2xUOExueFhFU2VZVk5zVUtydVltSUI5?= =?utf-8?B?d2dTa0hORHppZTRHMlNmeTNIeURRVEFTaDY5ZlRxN0dTb1BWcGYxOHRUZktW?= =?utf-8?B?RVRVTEpHM09PY0xydk5rOUR2LzdGRGVqSndJajRZQm9PYjhZZFMvSEdLOWJu?= =?utf-8?B?aThtTFpHNkErWE9BbG1MRDVMSjRGMXl0VUJUdXlubHRLZXBrWk9icHlWNk0w?= =?utf-8?B?enorSDdkSVZmWDdwWC9MV00yUTJraGN4TTVrQUFWOVhlNXpxZ3RXOXo2SmUz?= =?utf-8?B?K1dZSGtFUEJKVnI5OW9DQ1puczJaNzN4ZStkOVl4aVpOd3VwVFM5VHJjOUNE?= =?utf-8?B?ay9XKzhkcGpZcWpvUnc3YXJXdHpqZVNEOE5tOHpac000M1J4VnlwRmphbmlz?= =?utf-8?B?MldrZS9TU3N5cVA4TFVFYTU0TkMwM1VFWCtER1F2MERxZXp3RHozekZjTGto?= =?utf-8?B?Q0RLRXdxcVZXdzhjWGZsQT09?= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CY8PR11MB7777.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(366016)(1800799024)(376014)(38070700018); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?Qjd1ejFpamtENlVYRlhPbEFESUJ5Sk5abzRlMkxDUk8yckUxYTlqTkNXTWhX?= =?utf-8?B?RFJuQmhoVW5sOXd5Smw5WjJsbjQzTkkrYmoraHJKL012cXlmUDM0akVVL0J6?= =?utf-8?B?RDFTWGRrdmxrbndiMm5hVUFPQzZqajFVWEpyNnVRNllSUGp3WlRwejYrSUda?= =?utf-8?B?NDExUlBpYzN5SXRDMGo2eUo0a1kwUW9FLzFCVVVwTTUwOWVJK2xTamlCV3Uy?= =?utf-8?B?WTNNZlp0eVNZWHloQVRvbU9UdnVkdW5oWDljWW9iNUlXaDI3ekpvMmMzbVph?= =?utf-8?B?MzlYTDBVWnBDNmwvU2xFb2dqZTVMWUJ5eCthaC9xQVpGNGIwNWlJQ1V5Zm5Y?= =?utf-8?B?MExFVGJiK3cyd2dYWk95U1RGOTJEUmZjSUw3R3EyYWlPVCtZOFVTb2tUcmlW?= =?utf-8?B?V0l5aFFRSk5BNHVOdjF6ejJwREliQ2EyVDd3SkhJMUcydTN1c21NSGo5eXF5?= =?utf-8?B?eTJjb3lmZUI3cGdJV21FamE1T1ZpRUJHaXU1MmY4WkFpdjhaZG5SUit1RXJw?= =?utf-8?B?WHY3ajRMZytaZ2FObFRFVk1xR1ZGNURBbzlLYUtyMUlKTDBSTmpFTis5TXZ1?= =?utf-8?B?OFUrc2RkbWpMRXY3ZzJiMEU2a0EvNm04MEZhTmRCWTRjQ0pOc0E2bFpnekZh?= =?utf-8?B?TFZYNXpyUnMyaXhZdk1LMHhpMGgwRk1yUHpXdVd3MTJKNklvcjZ4eVhjNm85?= =?utf-8?B?amtjSnZUeGNFNEdmbXdpNWdCNm1xVWFoUk1ZdmtEYTRESkw5MFBEWkxKWjBQ?= =?utf-8?B?UlhVZ2VWdFQrV1V2NVFWNkZTb3RvUDlTY3RBR3Zza0IybVFyNHE5eFI3dXZS?= =?utf-8?B?VWxFMkFTcC9LTXlzR3VvL01rczBuMjIxTzlGeXpwMlFzR3FRNlhCbU8vUmQ0?= =?utf-8?B?aFJrRkxLSXRoWVZ3bnhOZitXYy94dFZMWDd1dkJIc2hkTGxBOTdpQnA3dC9T?= =?utf-8?B?ODVQdjZyamM4dTVlMkNESkZuT0tFSWVpaXhvVStUcjBZNlFqZmIzYmxkUlpD?= =?utf-8?B?elVmUFRlUnEwUDZQUmxkM1JGcXdRQndGV2FXdTdLeWR6czdlMUxKZHpqU1Bi?= =?utf-8?B?Q2JnaW85ZGx5MUlxdzZ4UmhNU0tjU2xUYzJUUUVCeUlrN2lHckpGVU1nb0JU?= =?utf-8?B?SmFOcHdPNG93aVN4bnhKRzdXaXkwS29CVFpEemNEVUxmSnp2b0V0MDhmUzdZ?= =?utf-8?B?ZXFRK3RSdU12aDdRNlpNeXE3R2FzNEwwek9LdDZtRTU2WGh5RWROK05aWUlr?= =?utf-8?B?R0twMEFRdXVtbUJzWHY3dU9XVE1lc1FTOWFZVUhMUXNDUDNrWVdwZEtINEp3?= =?utf-8?B?Mkk0T0lIL2pTY1c5TTRwa1UvK2hJSTZTSWgxeWp3S3NHRkhNOWNFNzZ1UWlr?= =?utf-8?B?bFErU1M4NWU2SEVBZXBSWThXRWsxVmdtK1JZRzNCS0JkeHR5bVUreDFjeDFQ?= =?utf-8?B?QUtGYmNLVkFaNnhRc1lkV3JYbENPdzBFalN3cktnTFJMRnRsOTRIQ1dBZUN6?= =?utf-8?B?R1Mvd0lwUkdpVmFzcklqK3VxZGR3QkVRZ1FDeE5oY2hrS1VuZzBLbkdhalRm?= =?utf-8?B?WGJFUmI4N1lNNmVLUW8wUTlnbEN4NHFPd2xuRVE5NHF1eW1nYmZaNjNBTUNC?= =?utf-8?B?OVlScFhQNjRid0tKV0RrbjZGSmg3dWJPWEhXUlYvU05NWHlUUjhBamZuL0k2?= =?utf-8?B?SGx0VWJSMjFnTjdrRTY4QWlRbWxrSUpQRGhWSFNHcFJBeWk0RjFHMzl6MEl1?= =?utf-8?B?dFdFUEd4cnlnYUtIS1ZhYWRnU1VEQXEyTHdkeWkvNjJlU3ZwUmJhdGwzYkVI?= =?utf-8?B?UkdWSXpSUWtKQVJ5a25KUWpFa0tKUWJxYldrZ1ZhdFVCVHlnaTRXN3dSblVZ?= =?utf-8?B?a3pleDFCRmNvYjRyL2J2YkFYa3VTVGlrT3FJbVNscTZDK3JMZXhQdFhIMXR0?= =?utf-8?B?UnNMQjZYTDA3ekVOdDRlVlFtUXIyNHhZQ2lmZkxEbGl2Vk91cksrcjhydUt3?= =?utf-8?B?VEJHeVNUZEQ2Ui9vS1JJTzlaaXpDR2JiWVphTFg0VkVJV0NSK01WZ2doNE1L?= =?utf-8?B?dTI5WENhVFZxdlB0a2dhdnBBUFhjb0EwQ3ZsWXB1elBXQmZ2eks3YnVlUTVX?= =?utf-8?B?a3lLdERKTTIrYWRDcDM2Yk56Q2c5Y2tXb1hVWDZtMC9kY1d6M3ZIdGFDWUg1?= =?utf-8?Q?OksKwbFomL5qnjZAGmx3G7I=3D?= Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CY8PR11MB7777.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 64694254-2c19-423c-8588-08dcdaf2fc34 X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Sep 2024 10:40:32.7975 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: /Z3/YWnz/q6IIoCXw6HFUYhWfTAAnxrstppWCtpKx8dO9n1omTd/lQpruAbZG2NIlE9rxf4sm2H1Skgt5NJXY6SwM/5OlTMNkB0sEWVrZYs= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR11MB8447 X-OriginatorOrg: intel.com X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" T24gTW9uLCAyMDI0LTA5LTE2IGF0IDE5OjI0ICswMzAwLCBWaWxsZSBTeXJqYWxhIHdyb3RlOgo+ IEZyb206IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+Cj4g Cj4gQXMgd2l0aCBvdGhlciB3YXRlcm1hcmsgY2FsY3VsYXRpb25zLCB0aGUgZG9kZ3kgcHJlLWc0 eAo+IHVwZGF0ZV93bV97cHJlLHBvc3R9IGZsYWcgY2FsY3VsdGlvbiB3b3VsZCBsaWtlIHRvIGtu b3cKVHlwbzogY2FsY3VsYXRpb24KPiBpZiBhIG1vZGVzZXQgaXMgYWJvdXQgdG8gaGFwcGVuIG9y IG5vdCwgYW5kIHRlY2huaWNhbGx5Cj4gbGF0ZXIgc3RhZ2VzIGluIHRoZSBhdG9taWNfY2hlY2so KSBtYXkgc3RpbGwgZmxhZyBvbmUuCj4gSW4gcHJhY3RpY2UgdGhhdCBzaG91bGRuJ3QgaGFwcGVu IGFzIHdlIGRvbid0IGhhdmUgZHluYW1pYwo+IENEQ0xLIGltcGxlbWVudGVkIGZvciB0aGVzZSBv bGQgcGxhdGZvcm1zLgo+IAo+IFJlZ2FyZGxlc3MgaXQnbGwgYmUgbmljZSB0byBtb3ZlIHRoaXMg b2xkIGNydWZ0IG91dCBmcm9tCj4gdGhlIHN1cHBvc2VkbHkgcGxhdGZvcm0gYWdub3N0aWMgcGxh bmUgY29kZS4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmph bGFAbGludXguaW50ZWwuY29tPgoKPiAtLS0KPiDCoGRyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3Bs YXkvaTl4eF93bS5jwqDCoMKgwqDCoMKgwqAgfCA3NCArKysrKysrKysrKysrKysrKysrCj4gwqAu Li4vZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfYXRvbWljX3BsYW5lLmMgfCAzNiAtLS0tLS0t LS0KPiDCoDIgZmlsZXMgY2hhbmdlZCwgNzQgaW5zZXJ0aW9ucygrKSwgMzYgZGVsZXRpb25zKC0p Cj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaTl4eF93bS5j IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pOXh4X3dtLmMKPiBpbmRleCAzMTUxYTMx YTU2NTMuLjE1ZWQzYjgxMDk0NyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9k aXNwbGF5L2k5eHhfd20uYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaTl4 eF93bS5jCj4gQEAgLTcwNSw2ICs3MDUsNzYgQEAgc3RhdGljIHZvaWQgcG52X3VwZGF0ZV93bShz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gwqDCoMKgwqDCoMKgwqDCoH0KPiDC oH0KPiDCoAo+ICtzdGF0aWMgYm9vbCBpOXh4X3dtX25lZWRfdXBkYXRlKGNvbnN0IHN0cnVjdCBp bnRlbF9wbGFuZV9zdGF0ZSAqb2xkX3BsYW5lX3N0YXRlLAo+ICvCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGNvbnN0IHN0cnVjdCBp bnRlbF9wbGFuZV9zdGF0ZSAqbmV3X3BsYW5lX3N0YXRlKQo+ICt7Cj4gK8KgwqDCoMKgwqDCoMKg LyogVXBkYXRlIHdhdGVybWFya3Mgb24gdGlsaW5nIG9yIHNpemUgY2hhbmdlcy4gKi8KPiArwqDC oMKgwqDCoMKgwqBpZiAob2xkX3BsYW5lX3N0YXRlLT51YXBpLnZpc2libGUgIT0gbmV3X3BsYW5l X3N0YXRlLT51YXBpLnZpc2libGUpCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHJl dHVybiB0cnVlOwo+ICsKPiArwqDCoMKgwqDCoMKgwqBpZiAoIW9sZF9wbGFuZV9zdGF0ZS0+aHcu ZmIgfHwgIW5ld19wbGFuZV9zdGF0ZS0+aHcuZmIpCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoHJldHVybiBmYWxzZTsKPiArCj4gK8KgwqDCoMKgwqDCoMKgaWYgKG9sZF9wbGFuZV9z dGF0ZS0+aHcuZmItPm1vZGlmaWVyICE9IG5ld19wbGFuZV9zdGF0ZS0+aHcuZmItPm1vZGlmaWVy IHx8Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgIG9sZF9wbGFuZV9zdGF0ZS0+aHcucm90YXRpb24g IT0gbmV3X3BsYW5lX3N0YXRlLT5ody5yb3RhdGlvbiB8fAo+ICvCoMKgwqDCoMKgwqDCoMKgwqDC oCBkcm1fcmVjdF93aWR0aCgmb2xkX3BsYW5lX3N0YXRlLT51YXBpLnNyYykgIT0gZHJtX3JlY3Rf d2lkdGgoJm5ld19wbGFuZV9zdGF0ZS0KPiA+dWFwaS5zcmMpIHx8Cj4gK8KgwqDCoMKgwqDCoMKg wqDCoMKgIGRybV9yZWN0X2hlaWdodCgmb2xkX3BsYW5lX3N0YXRlLT51YXBpLnNyYykgIT0gZHJt X3JlY3RfaGVpZ2h0KCZuZXdfcGxhbmVfc3RhdGUtCj4gPnVhcGkuc3JjKSB8fAo+ICvCoMKgwqDC oMKgwqDCoMKgwqDCoCBkcm1fcmVjdF93aWR0aCgmb2xkX3BsYW5lX3N0YXRlLT51YXBpLmRzdCkg IT0gZHJtX3JlY3Rfd2lkdGgoJm5ld19wbGFuZV9zdGF0ZS0KPiA+dWFwaS5kc3QpIHx8Cj4gK8Kg wqDCoMKgwqDCoMKgwqDCoMKgIGRybV9yZWN0X2hlaWdodCgmb2xkX3BsYW5lX3N0YXRlLT51YXBp LmRzdCkgIT0gZHJtX3JlY3RfaGVpZ2h0KCZuZXdfcGxhbmVfc3RhdGUtCj4gPnVhcGkuZHN0KSkK PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIHRydWU7Cj4gKwo+ICvCoMKg wqDCoMKgwqDCoHJldHVybiBmYWxzZTsKPiArfQo+ICsKPiArc3RhdGljIHZvaWQgaTl4eF93bV9j b21wdXRlKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpuZXdfY3J0Y19zdGF0ZSwKPiArwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBjb25zdCBzdHJ1 Y3QgaW50ZWxfcGxhbmVfc3RhdGUgKm9sZF9wbGFuZV9zdGF0ZSwKPiArwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBjb25zdCBzdHJ1Y3QgaW50ZWxf cGxhbmVfc3RhdGUgKm5ld19wbGFuZV9zdGF0ZSkKPiArewo+ICvCoMKgwqDCoMKgwqDCoGJvb2wg dHVybl9vZmYsIHR1cm5fb24sIHZpc2libGUsIHdhc192aXNpYmxlLCBtb2RlX2NoYW5nZWQ7Cj4g Kwo+ICvCoMKgwqDCoMKgwqDCoG1vZGVfY2hhbmdlZCA9IGludGVsX2NydGNfbmVlZHNfbW9kZXNl dChuZXdfY3J0Y19zdGF0ZSk7Cj4gK8KgwqDCoMKgwqDCoMKgd2FzX3Zpc2libGUgPSBvbGRfcGxh bmVfc3RhdGUtPnVhcGkudmlzaWJsZTsKPiArwqDCoMKgwqDCoMKgwqB2aXNpYmxlID0gbmV3X3Bs YW5lX3N0YXRlLT51YXBpLnZpc2libGU7Cj4gKwo+ICvCoMKgwqDCoMKgwqDCoGlmICghd2FzX3Zp c2libGUgJiYgIXZpc2libGUpCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHJldHVy bjsKPiArCj4gK8KgwqDCoMKgwqDCoMKgdHVybl9vZmYgPSB3YXNfdmlzaWJsZSAmJiAoIXZpc2li bGUgfHwgbW9kZV9jaGFuZ2VkKTsKPiArwqDCoMKgwqDCoMKgwqB0dXJuX29uID0gdmlzaWJsZSAm JiAoIXdhc192aXNpYmxlIHx8IG1vZGVfY2hhbmdlZCk7Cj4gKwo+ICvCoMKgwqDCoMKgwqDCoC8q IEZJWE1FIG51a2Ugd2hlbiBhbGwgd20gY29kZSBpcyBhdG9taWMgKi8KPiArwqDCoMKgwqDCoMKg wqBpZiAodHVybl9vbikgewo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBuZXdfY3J0 Y19zdGF0ZS0+dXBkYXRlX3dtX3ByZSA9IHRydWU7Cj4gK8KgwqDCoMKgwqDCoMKgfSBlbHNlIGlm ICh0dXJuX29mZikgewo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBuZXdfY3J0Y19z dGF0ZS0+dXBkYXRlX3dtX3Bvc3QgPSB0cnVlOwo+ICvCoMKgwqDCoMKgwqDCoH0gZWxzZSBpZiAo aTl4eF93bV9uZWVkX3VwZGF0ZShvbGRfcGxhbmVfc3RhdGUsIG5ld19wbGFuZV9zdGF0ZSkpIHsK PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgLyogRklYTUUgYm9sbG9ja3MgKi8KPiAr wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgbmV3X2NydGNfc3RhdGUtPnVwZGF0ZV93bV9w cmUgPSB0cnVlOwo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBuZXdfY3J0Y19zdGF0 ZS0+dXBkYXRlX3dtX3Bvc3QgPSB0cnVlOwo+ICvCoMKgwqDCoMKgwqDCoH0KPiArfQo+ICsKPiAr c3RhdGljIGludCBpOXh4X2NvbXB1dGVfd2F0ZXJtYXJrcyhzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0 YXRlICpzdGF0ZSwKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjKQo+ICt7Cj4g K8KgwqDCoMKgwqDCoMKgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKm5ld19jcnRjX3N0YXRlID0K PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgaW50ZWxfYXRvbWljX2dldF9uZXdfY3J0 Y19zdGF0ZShzdGF0ZSwgY3J0Yyk7Cj4gK8KgwqDCoMKgwqDCoMKgY29uc3Qgc3RydWN0IGludGVs X3BsYW5lX3N0YXRlICpvbGRfcGxhbmVfc3RhdGU7Cj4gK8KgwqDCoMKgwqDCoMKgY29uc3Qgc3Ry dWN0IGludGVsX3BsYW5lX3N0YXRlICpuZXdfcGxhbmVfc3RhdGU7Cj4gK8KgwqDCoMKgwqDCoMKg c3RydWN0IGludGVsX3BsYW5lICpwbGFuZTsKPiArwqDCoMKgwqDCoMKgwqBpbnQgaTsKPiArCj4g K8KgwqDCoMKgwqDCoMKgZm9yX2VhY2hfb2xkbmV3X2ludGVsX3BsYW5lX2luX3N0YXRlKHN0YXRl LCBwbGFuZSwgb2xkX3BsYW5lX3N0YXRlLAo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCBuZXdfcGxhbmVfc3RhdGUsIGkpIHsKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg aWYgKHBsYW5lLT5waXBlICE9IGNydGMtPnBpcGUpCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBjb250aW51ZTsKPiArCj4gK8KgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoGk5eHhfd21fY29tcHV0ZShuZXdfY3J0Y19zdGF0ZSwgb2xkX3BsYW5lX3N0 YXRlLCBuZXdfcGxhbmVfc3RhdGUpOwo+ICvCoMKgwqDCoMKgwqDCoH0KPiArCj4gK8KgwqDCoMKg wqDCoMKgcmV0dXJuIDA7Cj4gK30KPiArCj4gwqAvKgo+IMKgICogRG9jdW1lbnRhdGlvbiBzYXlz Ogo+IMKgICogIklmIHRoZSBsaW5lIHNpemUgaXMgc21hbGwsIHRoZSBUTEIgZmV0Y2hlcyBjYW4g Z2V0IGluIHRoZSB3YXkgb2YgdGhlCj4gQEAgLTQwNTYsMTggKzQxMjYsMjIgQEAgc3RhdGljIGNv bnN0IHN0cnVjdCBpbnRlbF93bV9mdW5jcyBnNHhfd21fZnVuY3MgPSB7Cj4gwqB9Owo+IMKgCj4g wqBzdGF0aWMgY29uc3Qgc3RydWN0IGludGVsX3dtX2Z1bmNzIHBudl93bV9mdW5jcyA9IHsKPiAr wqDCoMKgwqDCoMKgwqAuY29tcHV0ZV93YXRlcm1hcmtzID0gaTl4eF9jb21wdXRlX3dhdGVybWFy a3MsCj4gwqDCoMKgwqDCoMKgwqDCoC51cGRhdGVfd20gPSBwbnZfdXBkYXRlX3dtLAo+IMKgfTsK PiDCoAo+IMKgc3RhdGljIGNvbnN0IHN0cnVjdCBpbnRlbF93bV9mdW5jcyBpOTY1X3dtX2Z1bmNz ID0gewo+ICvCoMKgwqDCoMKgwqDCoC5jb21wdXRlX3dhdGVybWFya3MgPSBpOXh4X2NvbXB1dGVf d2F0ZXJtYXJrcywKPiDCoMKgwqDCoMKgwqDCoMKgLnVwZGF0ZV93bSA9IGk5NjVfdXBkYXRlX3dt LAo+IMKgfTsKPiDCoAo+IMKgc3RhdGljIGNvbnN0IHN0cnVjdCBpbnRlbF93bV9mdW5jcyBpOXh4 X3dtX2Z1bmNzID0gewo+ICvCoMKgwqDCoMKgwqDCoC5jb21wdXRlX3dhdGVybWFya3MgPSBpOXh4 X2NvbXB1dGVfd2F0ZXJtYXJrcywKPiDCoMKgwqDCoMKgwqDCoMKgLnVwZGF0ZV93bSA9IGk5eHhf dXBkYXRlX3dtLAo+IMKgfTsKPiDCoAo+IMKgc3RhdGljIGNvbnN0IHN0cnVjdCBpbnRlbF93bV9m dW5jcyBpODQ1X3dtX2Z1bmNzID0gewo+ICvCoMKgwqDCoMKgwqDCoC5jb21wdXRlX3dhdGVybWFy a3MgPSBpOXh4X2NvbXB1dGVfd2F0ZXJtYXJrcywKPiDCoMKgwqDCoMKgwqDCoMKgLnVwZGF0ZV93 bSA9IGk4NDVfdXBkYXRlX3dtLAo+IMKgfTsKPiDCoAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2F0b21pY19wbGFuZS5jCj4gYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9kaXNwbGF5L2ludGVsX2F0b21pY19wbGFuZS5jCj4gaW5kZXggMmFlYjRjZDViNWEx Li4zM2ZlYzM2ZWMwYmQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxh eS9pbnRlbF9hdG9taWNfcGxhbmUuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3Bs YXkvaW50ZWxfYXRvbWljX3BsYW5lLmMKPiBAQCAtMzkyLDI4ICszOTIsNiBAQCB2b2lkIGludGVs X3BsYW5lX3NldF9pbnZpc2libGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUs Cj4gwqDCoMKgwqDCoMKgwqDCoHBsYW5lX3N0YXRlLT51YXBpLnZpc2libGUgPSBmYWxzZTsKPiDC oH0KPiDCoAo+IC0vKiBGSVhNRSBudWtlIHdoZW4gYWxsIHdtIGNvZGUgaXMgYXRvbWljICovCj4g LXN0YXRpYyBib29sIGludGVsX3dtX25lZWRfdXBkYXRlKGNvbnN0IHN0cnVjdCBpbnRlbF9wbGFu ZV9zdGF0ZSAqb2xkX3BsYW5lX3N0YXRlLAo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBjb25zdCBzdHJ1Y3QgaW50ZWxfcGxh bmVfc3RhdGUgKm5ld19wbGFuZV9zdGF0ZSkKPiAtewo+IC3CoMKgwqDCoMKgwqDCoC8qIFVwZGF0 ZSB3YXRlcm1hcmtzIG9uIHRpbGluZyBvciBzaXplIGNoYW5nZXMuICovCj4gLcKgwqDCoMKgwqDC oMKgaWYgKG9sZF9wbGFuZV9zdGF0ZS0+dWFwaS52aXNpYmxlICE9IG5ld19wbGFuZV9zdGF0ZS0+ dWFwaS52aXNpYmxlKQo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gdHJ1 ZTsKPiAtCj4gLcKgwqDCoMKgwqDCoMKgaWYgKCFvbGRfcGxhbmVfc3RhdGUtPmh3LmZiIHx8ICFu ZXdfcGxhbmVfc3RhdGUtPmh3LmZiKQo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBy ZXR1cm4gZmFsc2U7Cj4gLQo+IC3CoMKgwqDCoMKgwqDCoGlmIChvbGRfcGxhbmVfc3RhdGUtPmh3 LmZiLT5tb2RpZmllciAhPSBuZXdfcGxhbmVfc3RhdGUtPmh3LmZiLT5tb2RpZmllciB8fAo+IC3C oMKgwqDCoMKgwqDCoMKgwqDCoCBvbGRfcGxhbmVfc3RhdGUtPmh3LnJvdGF0aW9uICE9IG5ld19w bGFuZV9zdGF0ZS0+aHcucm90YXRpb24gfHwKPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqAgZHJtX3Jl Y3Rfd2lkdGgoJm9sZF9wbGFuZV9zdGF0ZS0+dWFwaS5zcmMpICE9IGRybV9yZWN0X3dpZHRoKCZu ZXdfcGxhbmVfc3RhdGUtCj4gPnVhcGkuc3JjKSB8fAo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoCBk cm1fcmVjdF9oZWlnaHQoJm9sZF9wbGFuZV9zdGF0ZS0+dWFwaS5zcmMpICE9IGRybV9yZWN0X2hl aWdodCgmbmV3X3BsYW5lX3N0YXRlLQo+ID51YXBpLnNyYykgfHwKPiAtwqDCoMKgwqDCoMKgwqDC oMKgwqAgZHJtX3JlY3Rfd2lkdGgoJm9sZF9wbGFuZV9zdGF0ZS0+dWFwaS5kc3QpICE9IGRybV9y ZWN0X3dpZHRoKCZuZXdfcGxhbmVfc3RhdGUtCj4gPnVhcGkuZHN0KSB8fAo+IC3CoMKgwqDCoMKg wqDCoMKgwqDCoCBkcm1fcmVjdF9oZWlnaHQoJm9sZF9wbGFuZV9zdGF0ZS0+dWFwaS5kc3QpICE9 IGRybV9yZWN0X2hlaWdodCgmbmV3X3BsYW5lX3N0YXRlLQo+ID51YXBpLmRzdCkpCj4gLcKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHJldHVybiB0cnVlOwo+IC0KPiAtwqDCoMKgwqDCoMKg wqByZXR1cm4gZmFsc2U7Cj4gLX0KPiAtCj4gwqBzdGF0aWMgYm9vbCBpbnRlbF9wbGFuZV9pc19z Y2FsZWQoY29uc3Qgc3RydWN0IGludGVsX3BsYW5lX3N0YXRlICpwbGFuZV9zdGF0ZSkKPiDCoHsK PiDCoMKgwqDCoMKgwqDCoMKgaW50IHNyY193ID0gZHJtX3JlY3Rfd2lkdGgoJnBsYW5lX3N0YXRl LT51YXBpLnNyYykgPj4gMTY7Cj4gQEAgLTYwMiwyMCArNTgwLDYgQEAgc3RhdGljIGludCBpbnRl bF9wbGFuZV9hdG9taWNfY2FsY19jaGFuZ2VzKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRl Cj4gKm9sZF9jcgo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IHdhc192aXNpYmxlLCB2aXNpYmxlLAo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIHR1cm5fb2ZmLCB0dXJuX29uLCBtb2RlX2NoYW5nZWQpOwo+IMKgCj4gLcKg wqDCoMKgwqDCoMKgaWYgKHR1cm5fb24pIHsKPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgaWYgKERJU1BMQVlfVkVSKGRldl9wcml2KSA8IDUgJiYgIUlTX0c0WChkZXZfcHJpdikpCj4g LcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBuZXdfY3J0Y19z dGF0ZS0+dXBkYXRlX3dtX3ByZSA9IHRydWU7Cj4gLcKgwqDCoMKgwqDCoMKgfSBlbHNlIGlmICh0 dXJuX29mZikgewo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBpZiAoRElTUExBWV9W RVIoZGV2X3ByaXYpIDwgNSAmJiAhSVNfRzRYKGRldl9wcml2KSkKPiAtwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoG5ld19jcnRjX3N0YXRlLT51cGRhdGVfd21f cG9zdCA9IHRydWU7Cj4gLcKgwqDCoMKgwqDCoMKgfSBlbHNlIGlmIChpbnRlbF93bV9uZWVkX3Vw ZGF0ZShvbGRfcGxhbmVfc3RhdGUsIG5ld19wbGFuZV9zdGF0ZSkpIHsKPiAtwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgaWYgKERJU1BMQVlfVkVSKGRldl9wcml2KSA8IDUgJiYgIUlTX0c0 WChkZXZfcHJpdikpIHsKPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoC8qIEZJWE1FIGJvbGxvY2tzICovCj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqBuZXdfY3J0Y19zdGF0ZS0+dXBkYXRlX3dtX3ByZSA9IHRydWU7 Cj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBuZXdfY3J0 Y19zdGF0ZS0+dXBkYXRlX3dtX3Bvc3QgPSB0cnVlOwo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqB9Cj4gLcKgwqDCoMKgwqDCoMKgfQo+IC0KCldpdGggdGhpcyBjaGFuZ2UsIHVwZGF0 ZV93bV9wcmUvcG9zdCBmbGFnIHdpbGwgbW92ZSBmcm9tIGludGVsX2F0b21pY19jaGVja19wbGFu ZXMoKSB0bwppbnRlbF9hdG9taWNfY2hlY2tfY3J0Y3MoKSB3aGljaCB3aWxsIGNhbGwgY29tcHV0 ZV93YXRlcm1hcmtzKCkgYW5kIHVwZGF0ZSB0aGUgZmxhZy4gSnVzdCB3YW50ZWQgdG8KY2xhcmlm eSBpZiB0aGlzIGlzIGV4cGVjdGVkLgoKQlIKVmlub2QKCgo+IMKgwqDCoMKgwqDCoMKgwqBpZiAo dmlzaWJsZSB8fCB3YXNfdmlzaWJsZSkKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oG5ld19jcnRjX3N0YXRlLT5mYl9iaXRzIHw9IHBsYW5lLT5mcm9udGJ1ZmZlcl9iaXQ7Cj4gwqAK Cg==