From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.16]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A329A3CEB90; Fri, 16 Oct 2026 20:09:04 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=192.198.163.16 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1792181347; cv=fail; b=Acb/eMI5vu2xjqOSEuTbFOVDPaJhkA8MUt9+p/no/HrsA5S86WbCLv1ZjcYr74hkzGVcxTQweyw+RAt3JbOL/1C4N4sbmrGLAfFA5BvrMDDqfSPUu/0YH25bEKh/bKQWwesB7Ca7iH9bq+2/ZyPYSdyRlohkCKNFlswQgXGe6n8= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1792181347; c=relaxed/simple; bh=/YLfATkH112QqQe0sqIE1hgNbJ0lTEgtWhaIVVGwgbg=; h=From:To:CC:Subject:Date:Message-ID:References:In-Reply-To: Content-Type:MIME-Version; b=kwp9pw6P6VtYLqYzU4EM8oaab65EiFNQbhYUbt0Dz9mK82xX3twdLqqUQZWN6TqiSUl+Se69ZAtw9vPAN4mfO9zO0/pZ3Z4hF4ZxCZIArsm4RlISaQzFyuIESCBLmxqpQhLcg0gISJTUuQpjc5olPqmkZ0ebc6oLLLrxOSmqCUU= ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=nhmkXVwz; arc=fail smtp.client-ip=192.198.163.16 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="nhmkXVwz" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1792181345; x=1823717345; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-id:content-transfer-encoding: mime-version; bh=/YLfATkH112QqQe0sqIE1hgNbJ0lTEgtWhaIVVGwgbg=; b=nhmkXVwz14Qst3HRYN0qziGFg/z4vkTwFnnqDM+MY8+H9HcTuO51GYrs 66zRxnLfzKrvvqIBSkkYrYeQteKha7dmt2lWas3M7lxOwyZ+seJfn5WIp BVNUUB04eTZcRBHA+wmdg7VXPQw/zZ6TVrJbcXrcBQE8jH9wGVrG1iB93 z5177O4JV2rpP8XlMzmRdzzTfyO6QrfwawHbGbJLOL+pPNZaZ2+bxr9S4 jt/0jnnRC31GPDGBJWiYvsPIHcvCJDi28X4sOsaO6Wo3ZsR5an9Jdz1CH YUsLd2PkMwYF3Hj6wWYylc8jBWejx6gL4RuxYqKBrfYukyebDMtFN2p1W A==; X-CSE-ConnectionGUID: wQQkTkTZRCm9B/dc9HrFEQ== X-CSE-MsgGUID: j5XuLApuQb6ghDS8m3j2bw== X-IronPort-AV: E=McAfee;i="6800,10657,11937"; a="982691" X-IronPort-AV: E=Sophos;i="6.27,162,1787036400"; d="scan'208";a="982691" Received: from fmviesa013.fm.intel.com ([10.60.135.153]) by fmvoesa110.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 16 Oct 2026 13:09:04 -0700 X-CSE-ConnectionGUID: P/O9I0WNTYSU8uSBdEsDHg== X-CSE-MsgGUID: LzuwQuA9SO+NGiU6CKtXDg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.27,162,1787036400"; d="scan'208";a="3801240" Received: from orsmsx902.amr.corp.intel.com ([10.22.229.24]) by fmviesa013.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 16 Oct 2026 13:09:03 -0700 Received: from ORSMSX902.amr.corp.intel.com (10.22.229.24) by ORSMSX902.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.49; Fri, 16 Oct 2026 13:09:03 -0700 Received: from ORSEDG902.ED.cps.intel.com (10.7.248.12) by ORSMSX902.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.49 via Frontend Transport; Fri, 16 Oct 2026 13:09:03 -0700 Received: from SN4PR0501CU005.outbound.protection.outlook.com (40.93.194.17) by edgegateway.intel.com (134.134.137.112) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.49; Fri, 16 Oct 2026 13:09:02 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=HUo32d4MhWJXEsPM0IqLYIRZvU4R8JA4xPDuqtzbtOzfoQvF4CcXj1E7NkjdqLFGAB59d031O2BEwxBhxOFMbiNOMXGLMJiB6MsDlSctpZ2ji5AJIU1FCw1Iiw2u8z7qwROF9jrJj6/mh70EdvrmLdrOExIkqWeC4OOy9631+Pw6Rudbtxa+/CCuW/Bzj3K9bMbUrsZJRYTSTBY1t+Izz7kHr2HtRk/sf78iFFfkl0myNa9aq5SzQdnSw+9SnRCU09KKVT0u+de63767pBQDxXoOGlziANudY0+2640MmBCPnZfpoDv8lqOQxjv8tad5Epsgr1Y99BV7tNvI5FZfwg== 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=/YLfATkH112QqQe0sqIE1hgNbJ0lTEgtWhaIVVGwgbg=; b=RdP9lPRmF4G2SUWbFaxq3MiISG2jpEoDw/AhV7w5Klngy7QgbiAFVM5r2wm6z1/9QA5Zgqg3B1h7sAkFxToz7aQY5MMJR4tAPgk24zqN8YZtCj54O6pjoHa7tgcY2p2b7hh4xzSA32rcVuIQclEW0tfbz1cJApxnDF6iUBL75ycO2QDxS5bImpFAlLL+7obdjNq1jZnc8s15SzNaBW+nVtBds+TjyHwmeJyB/G7UO5Q6Ozlj1XuP3RCVRAMtba6kJQSRw2nI9GL5HKfxeJTtP9YH2Icx7yXfp6OKzlx+xEP0f2g7zZu3a0OwzUiAeqN203y2GO2Y+VpyMdgqhIc0AQ== 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 BL1PR11MB5336.namprd11.prod.outlook.com (2603:10b6:208:316::5) by DS0PR11MB7529.namprd11.prod.outlook.com (2603:10b6:8:141::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.522.14; Fri, 16 Oct 2026 20:09:00 +0000 Received: from BL1PR11MB5336.namprd11.prod.outlook.com ([fe80::d355:5aba:fb26:da97]) by BL1PR11MB5336.namprd11.prod.outlook.com ([fe80::d355:5aba:fb26:da97%4]) with mapi id 15.21.0522.012; Fri, 16 Oct 2026 20:09:00 +0000 From: "Winiarska, Iwona" To: "linux@roeck-us.net" , "changhuang.liang@starfivetech.com" CC: "linux-hwmon@vger.kernel.org" , "devicetree@vger.kernel.org" , "robh@kernel.org" , "linux-kernel@vger.kernel.org" , "krzk+dt@kernel.org" , "p.zabel@pengutronix.de" , "conor+dt@kernel.org" , "openbmc@lists.ozlabs.org" Subject: Re: [PATCH v3 2/6] peci: controller: Add StarFive JHB100 PECI driver Thread-Topic: [PATCH v3 2/6] peci: controller: Add StarFive JHB100 PECI driver Thread-Index: AQHdVwzCvMfWf/IcJkqVfQ73SwVrk7cApkKA Date: Fri, 16 Oct 2026 20:09:00 +0000 Message-ID: <42bbcbcbfebc4d9c6a6086bb97610dfe3b04beeb.camel@intel.com> References: <20261008100623.7085-1-changhuang.liang@starfivetech.com> <20261008100623.7085-3-changhuang.liang@starfivetech.com> In-Reply-To: <20261008100623.7085-3-changhuang.liang@starfivetech.com> Accept-Language: en-US, pl-PL Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Evolution 3.60.2 (3.60.2-1.fc44) authentication-results: mx.microsoft.com 1; dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: BL1PR11MB5336:EE_|DS0PR11MB7529:EE_ x-ms-office365-filtering-correlation-id: adc57a90-8d84-4eb2-74ad-08df2bc1517e x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0;ARA:13230040|23010399003|7416014|366016|376014|1800799024|6133799003|18002099003|10067099003|22082099003|3023799007|11063799006|261009223027099003|4143699003|38070700021|56012099006; x-microsoft-antispam-message-info: y8Xhjl8yAsF3Na9crQpDX/mfZQen9ma6qu/iUXVXsMBhQ9s3809UFqI6O1S/nDOB/HJYx9waAbWrwI4bkkU3N6pY9LyVU9fFuqdxXReE2iNFxumgT2bVXouL1m5Ly7AZ7C6jNgaVey85uysn9bnnGnY1BrSRqcNF1E0zTB+oHaYePICScG4BoKUv6EcwK5nsEESmYa7/pUQqpB7bkJu1wsj5IeM/XWEWjQN5CKX5j7Mp7uUwvTETo17ENLAmKzoB1xkm09rcOi0nvcfZb427PhWXziHjk0vLI2VnTjU+CdLZ0XQx/WIdxFN+xVCZEc1Mm8pb5NU2Hvo06Kl36S//6Ewq4XqR0pQzpKahuoiukDnQoRnPERXnARwFxJSanC7ukPm17mSCJ1Lb3iJBu6R7fIbk9mVBR832qZZ4KcnD/kB+7iaR7IePX8qNchlPeudYEDPRnCORwl4Woqyb74AefxazM8Hh7riNqYbF118pzX7eZ1Op7Nl7qL9yVT1rR85N5/YbMaa8egc9XlqP0Ugs7ap1z+v3VDGy6c0S9fZ8Xt9y1ysHJiGAPDFoFKVSpy9bvEgOoq2DULvKjkxcjnxSuE8uvGZ6McO+HBCV9+yF+448e3ZSFLLz3csp7E10j7bwM4YjgUqpnfiYx7ULyPLh49BbiNXRzhUF8jyu2dsiaUfrwZ6NMXxmWJhdFrL/7aoN2Nba+0hMve4g+7yq1KqYLLaK9k+zxSNzVCyHd7iYYwg= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BL1PR11MB5336.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(23010399003)(7416014)(366016)(376014)(1800799024)(6133799003)(18002099003)(10067099003)(22082099003)(3023799007)(11063799006)(261009223027099003)(4143699003)(38070700021)(56012099006);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?WjBTYnoxK2VkcTFGVnk3akpqN2M3V25FMWFTTmtzQ2ZVMEJnM2J4d0s4L21L?= =?utf-8?B?M2tTakQ1YmpReFN4UWNsY2pRUWtnSUQ0U1FFeTJHUGtSVTNOV0RZdytjOWR5?= =?utf-8?B?MURnSEltbjBNNHBLQ2hSdUxzUmpFcHJjUVBWcHhKRUM2TlZ1OEtCYkNoWldn?= =?utf-8?B?YWttN09nRmhJUDU1Z1NIajM4SE9PdHlzMXp2WEJEcWhUWTJLelFiWEorY0h1?= =?utf-8?B?dG1OKzBpSVl6dnMzblBOb0tYMWhFMHA5SGFmWjY4a29UZEQ0RVowVENEUjNW?= =?utf-8?B?SnhEc3Jud1AwQkFGWERlTFR4SUwwYzBSZTVCVkwvMWZyZDFxbmN4T1REOE1F?= =?utf-8?B?KzIrd0FmZ3V6bno1ZzdZNEJSYTN4UDdMVjdKY2RUZDQxekRiQUZYOUFTODU0?= =?utf-8?B?aFE1RmZDVmhEUS9DUWZtQ0dlY252RG9XcFlaeXJYVnJNUVBGcVdjb2pvL2Jk?= =?utf-8?B?cWlaVFk5YThFMTBEQjNEN0djRFVIbjNJYUpqdUxhbDloN1ZWMnlFZEhHSU9u?= =?utf-8?B?dkJoTnJ6aGNPSUZaVEFhK2JUbXF5NEpwaXNBOHpMdVBWeGJrQ2ZDa1VsZUNF?= =?utf-8?B?L0tBM2tRVnBRcGF5TXJyU2p2K0FhcWlqOWcxRmNQMDRjeVpvSjNNNHpvM1NV?= =?utf-8?B?dkI4VGJteitzZ1ovV0tSWk1FSlNwNnJTc3dOU25lWE9lMEsyR3RnZkFEUzFo?= =?utf-8?B?Yy9ocDdTcCtuVC9BTnlLUHhlYk41NDk2TVN5OGxvZFVMVlFaNktMZUhNRHFi?= =?utf-8?B?Ym81bFFQb2xQMksvQm40SjFYV1RyS0pGMVF3eVhVSVVHRWp2ODd3WXM1R3Ry?= =?utf-8?B?YzVadllPSzEzNkQ3Ukg2MDloWjZFaVFzV0EvTmNxbVlGYnNQMFg5WTdQT0Mw?= =?utf-8?B?UEtKdXZGZnBud2VNY0Vaem15dVM2SC9FRERhZG5sdW1kRE82Wk1IS2l6K1hM?= =?utf-8?B?cGhiejlBM1RTOGNSYzE2V3VrMXFKOFlhVDlueWgzeVdTT0hpRHJVZDJ2YmRn?= =?utf-8?B?dDN3Y3pxWGI5NW11YWZNcE5MV0FwNFkzTmt1Z0RTWDhmRjdFd2VHbjRraXRs?= =?utf-8?B?YWdsclE0WmUrbW5pOWROSmhJeG52YjQ5U2FCN2xFK3UwTFp4aTRPOVMzUjZQ?= =?utf-8?B?UVBQZlRYN3ZNWXVOcFlGd3FIakxTV2loSmcxZDYyVkxDc21CL3djZ1FsWDVv?= =?utf-8?B?OFd1Yk5ydUl3d2FNMjF2dmFJZ1JicUZyVFJoMi9GSjVoVWdBZW05cjF6SlIz?= =?utf-8?B?NkY1V0ZNN3B0dW9vL1l0M1pTendoY2lNcmRoUGJESDRNSnhBWWpXOVMzb2RV?= =?utf-8?B?a3VZOFNRdGpFdTNrRjBOYlVCU2h4Q2wwYk1YV00xWC8vT1VaMGdzMVNEVmlN?= =?utf-8?B?NmhVbjdWeElHTkE3YzZFa1poTys5WlBmWGJZMkpGTXdYNDBPSXpiT0dhc284?= =?utf-8?B?T09PMm84MlY0V0hmd3JqeGthNHZ5anJvYUsvTUNjRzROOHRMbHhPeGEzaG5M?= =?utf-8?B?bHlkV25MOTZKeTU0SHV0V0lNMDBHUy9kZkZ1cjVuWTd3NkF0cG11UDY2V1dW?= =?utf-8?B?aCtoNVhzRG1GK20zVFVNRGZUaHRjbDJ0MW9kTTY1NWFLYVFOWUFrWUxWdFBj?= =?utf-8?B?QTV2WXdPdjA5M0UrN1VPVzYwaDQxenN4QjBZRjhZSGtoYlVkTUdjaHZoRmpx?= =?utf-8?B?UmhQUU1VSElGek9UMFFkZjNxcUprVnFxekxlVTVFek1wOVd6ZU5QRlBhZXJJ?= =?utf-8?B?Q3p4bUo3QTE4WUdlN1dHK0daTm43RE12UXd6RlFtV2x3SVhvaDZuUHJxWGk3?= =?utf-8?B?V3pvNWZTT1FjUURWK00yRlBsSzBtSDZjQUp3V2JEZEphVmxZVjBBYmUrWnF4?= =?utf-8?B?aTJGWkdsR3VNTVFwcWVsdkJWOUx3ckcvOUhkZlF1dndGSkRaMFBRSEtZWmVX?= =?utf-8?B?NFlrRldyUG5xMGJHSWRmZDZjT2p6N255Q250ZDBndHUwc05DSUdKNGIzVm5i?= =?utf-8?B?MWkxbWFsalBYcHlPQTltS25CR1pJRW5TZG5MN2drbWtWMG5tdTgrYXB5VGdH?= =?utf-8?B?RzZpVlV1czhCTWNhSWRrRjdHK1UrbjhMbHk0djE2WXcrTEdoUnNBcGJicklN?= =?utf-8?B?dlRNWG1EcFRvM3RHMnAyY0crclB3N0dkU2p6MFRIMXVFdnFGWDVJZDd3WWNT?= =?utf-8?B?dkVZWHpka2FXVHEyTllmV3ZhRzNVOE1YWmZiMm1hR2pWWXVYcDloQkpTcFpQ?= =?utf-8?B?dDVuTk5OU1lUUWU3MW81YjVRQStaN0luRUhBV3lMVm9VcS9mQWJWRVJ3TVdy?= =?utf-8?B?dGdaNGFaZTNaZ2UvQWNrdTlTN3VFTFBodlVYS0Evb0pDSjFJR0RUVFZ1L2lN?= =?utf-8?Q?x6Q+tAXi8B5AJVsE=3D?= Content-Type: text/plain; charset="utf-8" Content-ID: <14A9930306296344AD56432A1B72D54B@namprd11.prod.outlook.com> Content-Transfer-Encoding: base64 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Exchange-RoutingPolicyChecked: 2jUtXNonnlwODv+/6fD4kcvZitQAcIVgdM+NOVlq62jTK84nnQ6JU3kGKDgge+Hi64SDLnFlppNPZtZevmYC2EkB0b4AAXoYOfriFtF5GgSrzv0MNMJReIP6jfbKx9eUpSNNZX4Y72McNjW7qmlwDEKaeNLksgmRC2K4+Yvu+Fd86gWr4WqClTqmuWF7bo9r8lHVarm2llm1zRsR0yfX+cnrkAELr3lVMzzzmPSk/9LWSjjrGDUnKH9FM3gXA1HqwZomwKMMOm1VdxckjBFyn1a3GKKkSBe9LFNJzhoSDeuyG1TBh+gq5qcuMBYeeotlQDF5aM/gzt+cbifAkd7zLQ== X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BL1PR11MB5336.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: adc57a90-8d84-4eb2-74ad-08df2bc1517e X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Oct 2026 20:09:00.5488 (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: Gt557YH8VS3pp0gpbat75BMcxck4bxNiHLVsutiCEvOISK/4UhBS/fBVQdBdlLLygDiwqcnDm2GqtOmK1Vvnzw+M/WgebgmtjOWQach07W8= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR11MB7529 X-OriginatorOrg: intel.com T24gVGh1LCAyMDI2LTEwLTA4IGF0IDAzOjA2IC0wNzAwLCBDaGFuZ2h1YW5nIExpYW5nIHdyb3Rl Og0KPiBBZGQgUEVDSSBjb250cm9sbGVyIGRyaXZlciBmb3IgU3RhckZpdmUgSkhCMTAwIFNvQy4g VGhlIGRyaXZlciBzdXBwb3J0cw0KPiBQRUNJIHByb3RvY29sIGNvbW11bmljYXRpb24gZm9yIENQ VSB0aGVybWFsIG1hbmFnZW1lbnQuDQo+IA0KPiBGb3IgdGhpcyBjb250cm9sbGVyLCB0aGUgc3Bl Y2lhbCBjbG9jayBhbmQgcmVzZXQgb3BlcmF0aW9uIHNlcXVlbmNlIGlzOg0KPiDCoCBwcm9iZTog Y2xrX3ByZXBhcmVfZW5hYmxlKCkgdGhlbiByZXNldF9jb250cm9sX2RlYXNzZXJ0KCkNCj4gwqAg cmVtb3ZlOiBjbGtfZGlzYWJsZV91bnByZXBhcmUoKSB0aGVuIHJlc2V0X2NvbnRyb2xfYXNzZXJ0 KCkNCj4gDQo+IENvLWRldmVsb3BlZC1ieTogTWFzb24gSHVvIDxtYXNvbi5odW9Ac3RhcmZpdmV0 ZWNoLmNvbT4NCj4gU2lnbmVkLW9mZi1ieTogTWFzb24gSHVvIDxtYXNvbi5odW9Ac3RhcmZpdmV0 ZWNoLmNvbT4NCj4gU2lnbmVkLW9mZi1ieTogQ2hhbmdodWFuZyBMaWFuZyA8Y2hhbmdodWFuZy5s aWFuZ0BzdGFyZml2ZXRlY2guY29tPg0KPiAtLS0NCj4gwqBNQUlOVEFJTkVSU8KgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHzCoMKgIDggKw0K PiDCoGRyaXZlcnMvcGVjaS9jb250cm9sbGVyL0tjb25maWfCoMKgwqDCoMKgwqDCoMKgIHzCoCAx NyArKw0KPiDCoGRyaXZlcnMvcGVjaS9jb250cm9sbGVyL01ha2VmaWxlwqDCoMKgwqDCoMKgwqAg fMKgwqAgMSArDQo+IMKgZHJpdmVycy9wZWNpL2NvbnRyb2xsZXIvcGVjaS1zdGFyZml2ZS5jIHwg Mzc2ICsrKysrKysrKysrKysrKysrKysrKysrKw0KPiDCoDQgZmlsZXMgY2hhbmdlZCwgNDAyIGlu c2VydGlvbnMoKykNCj4gwqBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9wZWNpL2NvbnRyb2xs ZXIvcGVjaS1zdGFyZml2ZS5jDQo+IA0KPiBkaWZmIC0tZ2l0IGEvTUFJTlRBSU5FUlMgYi9NQUlO VEFJTkVSUw0KPiBpbmRleCBkM2RjMzJjN2EwZjAuLjFmYjNhM2YwM2ZjZSAxMDA2NDQNCj4gLS0t IGEvTUFJTlRBSU5FUlMNCj4gKysrIGIvTUFJTlRBSU5FUlMNCj4gQEAgLTI2NjUzLDYgKzI2NjUz LDE0IEBAIFM6CVN1cHBvcnRlZA0KPiDCoEY6CURvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5k aW5ncy9pbnRlcnJ1cHQtDQo+IGNvbnRyb2xsZXIvc3RhcmZpdmUsamhiMTAwLWludGMueWFtbA0K PiDCoEY6CWRyaXZlcnMvaXJxY2hpcC9pcnEtc3RhcmZpdmUtamhiMTAwLWludGMuYw0KPiDCoA0K PiArU1RBUkZJVkUgSkhCMTAwIFBFQ0kgRFJJVkVSDQo+ICtNOglDaGFuZ2h1YW5nIExpYW5nIDxj aGFuZ2h1YW5nLmxpYW5nQHN0YXJmaXZldGVjaC5jb20+DQo+ICtNOglNYXNvbiBIdW8gPG1hc29u Lmh1b0BzdGFyZml2ZXRlY2guY29tPg0KPiArTDoJb3BlbmJtY0BsaXN0cy5vemxhYnMub3JnwqAo bW9kZXJhdGVkIGZvciBub24tc3Vic2NyaWJlcnMpDQo+ICtTOglNYWludGFpbmVkDQo+ICtGOglE b2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcGVjaS9zdGFyZml2ZSxqaGIxMDAtcGVj aS55YW1sDQo+ICtGOglkcml2ZXJzL3BlY2kvY29udHJvbGxlci9wZWNpLXN0YXJmaXZlLmMNCj4g Kw0KPiDCoFNUQVJGSVZFIEpIQjEwMCBQSU5DVFJMIERSSVZFUlMNCj4gwqBNOglDaGFuZ2h1YW5n IExpYW5nIDxjaGFuZ2h1YW5nLmxpYW5nQHN0YXJmaXZldGVjaC5jb20+DQo+IMKgTToJTGlhbmZl bmcgT3V5YW5nIDxsaWFuZmVuZy5vdXlhbmdAc3RhcmZpdmV0ZWNoLmNvbT4NCj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvcGVjaS9jb250cm9sbGVyL0tjb25maWcgYi9kcml2ZXJzL3BlY2kvY29udHJv bGxlci9LY29uZmlnDQo+IGluZGV4IDRmOWMyNDVhZDA0Mi4uYzBjMzViYzE3OWVmIDEwMDY0NA0K PiAtLS0gYS9kcml2ZXJzL3BlY2kvY29udHJvbGxlci9LY29uZmlnDQo+ICsrKyBiL2RyaXZlcnMv cGVjaS9jb250cm9sbGVyL0tjb25maWcNCj4gQEAgLTMyLDMgKzMyLDIwIEBAIGNvbmZpZyBQRUNJ X05QQ00NCj4gwqANCj4gwqAJwqAgVGhpcyBzdXBwb3J0IGlzIGFsc28gYXZhaWxhYmxlIGFzIGEg bW9kdWxlLiBJZiBzbywgdGhlIG1vZHVsZQ0KPiDCoAnCoCB3aWxsIGJlIGNhbGxlZCBwZWNpLW5w Y20uDQo+ICsNCj4gK2NvbmZpZyBQRUNJX1NUQVJGSVZFDQo+ICsJdHJpc3RhdGUgIlNUQVJGSVZF IFBFQ0kgc3VwcG9ydCINCj4gKwlkZXBlbmRzIG9uIEFSQ0hfU1RBUkZJVkUgfHwgQ09NUElMRV9U RVNUDQo+ICsJZGVwZW5kcyBvbiBPRg0KPiArCWRlcGVuZHMgb24gSEFTX0lPTUVNDQo+ICsJc2Vs ZWN0IFJFR01BUF9NTUlPDQo+ICsJaGVscA0KPiArCcKgIFRoaXMgb3B0aW9uIGVuYWJsZXMgUEVD SSBjb250cm9sbGVyIGRyaXZlciBmb3IgU3RhckZpdmUgSkhCMTAwDQo+ICsJwqAgU29DLiBJdCBh bGxvd3MgQk1DIHRvIGRpc2NvdmVyIGRldmljZXMgY29ubmVjdGVkIHRvIGl0LCBhbmQNCj4gKwnC oCBjb21tdW5pY2F0ZSB3aXRoIHRoZW0gdXNpbmcgUEVDSSBwcm90b2NvbC4NCj4gKw0KPiArCcKg IFNheSBZIGhlcmUgaWYgeW91ciBzeXN0ZW0gcnVucyBvbiBTdGFyRml2ZSBKSEIxMDAgU29DIGFu ZCB5b3UgYXJlDQo+ICsJwqAgdXNpbmcgaXQgYXMgQk1DIGZvciBJbnRlbCBwbGF0Zm9ybS4NCj4g Kw0KPiArCcKgIFRoaXMgZHJpdmVyIGNhbiBhbHNvIGJlIGJ1aWx0IGFzIGEgbW9kdWxlLiBJZiBz bywgdGhlIG1vZHVsZSB3aWxsDQo+ICsJwqAgYmUgY2FsbGVkIHBlY2ktc3RhcmZpdmUuDQo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL3BlY2kvY29udHJvbGxlci9NYWtlZmlsZQ0KPiBiL2RyaXZlcnMv cGVjaS9jb250cm9sbGVyL01ha2VmaWxlDQo+IGluZGV4IGUyNDc0NDliYjQyMy4uOTM1ZTM1NmIw NThjIDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJzL3BlY2kvY29udHJvbGxlci9NYWtlZmlsZQ0KPiAr KysgYi9kcml2ZXJzL3BlY2kvY29udHJvbGxlci9NYWtlZmlsZQ0KPiBAQCAtMiwzICsyLDQgQEAN Cj4gwqANCj4gwqBvYmotJChDT05GSUdfUEVDSV9BU1BFRUQpCSs9IHBlY2ktYXNwZWVkLm8NCj4g wqBvYmotJChDT05GSUdfUEVDSV9OUENNKQkJKz0gcGVjaS1ucGNtLm8NCj4gK29iai0kKENPTkZJ R19QRUNJX1NUQVJGSVZFKQkrPSBwZWNpLXN0YXJmaXZlLm8NCj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvcGVjaS9jb250cm9sbGVyL3BlY2ktc3RhcmZpdmUuYw0KPiBiL2RyaXZlcnMvcGVjaS9jb250 cm9sbGVyL3BlY2ktc3RhcmZpdmUuYw0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAw MDAwMDAwMDAwMDAuLjkzYWNhMjQxM2Y1Yw0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKyBiL2RyaXZl cnMvcGVjaS9jb250cm9sbGVyL3BlY2ktc3RhcmZpdmUuYw0KPiBAQCAtMCwwICsxLDM3NiBAQA0K PiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjANCj4gKy8qDQo+ICsgKiBDb3B5 cmlnaHQgKEMpIDIwMjQgU3RhckZpdmUgVGVjaG5vbG9neSBDby4sIEx0ZC4NCj4gKyAqLw0KPiAr DQo+ICsjaW5jbHVkZSA8bGludXgvdW5hbGlnbmVkLmg+DQoNCk9yZGVyIGluY2x1ZGVzIGFscGhh YmV0aWNhbGx5Lg0KDQo+ICsjaW5jbHVkZSA8bGludXgvYml0ZmllbGQuaD4NCj4gKyNpbmNsdWRl IDxsaW51eC9jbGsuaD4NCj4gKyNpbmNsdWRlIDxsaW51eC9jb21wbGV0aW9uLmg+DQo+ICsjaW5j bHVkZSA8bGludXgvaW50ZXJydXB0Lmg+DQo+ICsjaW5jbHVkZSA8bGludXgvamlmZmllcy5oPg0K PiArI2luY2x1ZGUgPGxpbnV4L21pbm1heC5oPg0KPiArI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5o Pg0KPiArI2luY2x1ZGUgPGxpbnV4L29mLmg+DQo+ICsjaW5jbHVkZSA8bGludXgvcGVjaS5oPg0K PiArI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPg0KPiArI2luY2x1ZGUgPGxpbnV4 L3JlZ21hcC5oPg0KPiArI2luY2x1ZGUgPGxpbnV4L3Jlc2V0Lmg+DQo+ICsNCj4gKy8qIENvbnRy b2wgcmVnaXN0ZXIgKi8NCj4gKyNkZWZpbmUgU1RBUkZJVkVfUEVDSV9DVFJMCQkJMHgwMA0KPiAr LyogYXV0b21hdGljYWxseSBjbGVhcnMgYWZ0ZXIgdHJhbnNmZXIgc3RhcnRlZCAqLw0KPiArI2Rl ZmluZcKgwqAgU1RBUkZJVkVfUEVDSV9DVFJMX1NUQVJUCQlCSVQoMCkNCj4gKyNkZWZpbmXCoMKg IFNUQVJGSVZFX1BFQ0lfQ1RSTF9GQ1NfTU9ERQkJQklUKDIpDQo+ICsjZGVmaW5lwqDCoCBTVEFS RklWRV9QRUNJX0NUUkxfQVdfRkNTX0VOCQlCSVQoMykNCj4gKyNkZWZpbmXCoMKgIFNUQVJGSVZF X1BFQ0lfQ1RSTF9SRFkJCUJJVCg0KQ0KPiArDQo+ICsvKiBSZWFkL1dyaXRlIGxlbmd0aCByZWdp c3RlciAqLw0KPiArI2RlZmluZSBTVEFSRklWRV9QRUNJX0hEUgkJCTB4MDQNCj4gKyNkZWZpbmXC oMKgIFNUQVJGSVZFX1BFQ0lfSERSX1JEX0xFTl9NQVNLCQlHRU5NQVNLKDIzLCAxNikNCj4gKyNk ZWZpbmXCoMKgIFNUQVJGSVZFX1BFQ0lfSERSX1dSX0xFTl9NQVNLCQlHRU5NQVNLKDE1LCA4KQ0K PiArI2RlZmluZcKgwqAgU1RBUkZJVkVfUEVDSV9IRFJfVEFSR0VUX0FERFJfTUFTSwlHRU5NQVNL KDcsIDApDQo+ICsNCj4gKy8qIEZlYXR1cmUgY29udHJvbCByZWdpc3RlciAqLw0KPiArI2RlZmlu ZSBTVEFSRklWRV9QRUNJX0ZfQ1RSTAkJCTB4MGMNCj4gKyNkZWZpbmXCoMKgIFNUQVJGSVZFX1BF Q0lfRl9DVFJMX0VOCQlCSVQoMCkNCj4gKw0KPiArLyogSW50ZXJydXB0IGVuYWJsZSByZWdpc3Rl ciAqLw0KPiArI2RlZmluZSBTVEFSRklWRV9QRUNJX0lOVF9FTgkJCTB4MTANCj4gKyNkZWZpbmXC oMKgIFNUQVJGSVZFX1BFQ0lfSU5UX1hGRVJfRE9ORQkJQklUKDApDQo+ICsjZGVmaW5lwqDCoCBT VEFSRklWRV9QRUNJX0lOVF9DRkdfRVJSCQlCSVQoMSkNCj4gKyNkZWZpbmXCoMKgIFNUQVJGSVZF X1BFQ0lfSU5UX1RCSVRfRVJSCQlCSVQoMikNCj4gKyNkZWZpbmXCoMKgIFNUQVJGSVZFX1BFQ0lf SU5UX0JBRF9XUl9GQ1MJCUJJVCgzKQ0KPiArI2RlZmluZcKgwqAgU1RBUkZJVkVfUEVDSV9JTlRf QUJPUlRfV1JfRkNTCUJJVCg0KQ0KPiArI2RlZmluZcKgwqAgU1RBUkZJVkVfUEVDSV9JTlRfQkFE X1JEX0ZDUwkJQklUKDUpDQo+ICsjZGVmaW5lwqDCoCBTVEFSRklWRV9QRUNJX0lOVF9CVVNfQ09O VEVOVElPTglCSVQoNikNCj4gKyNkZWZpbmXCoMKgIFNUQVJGSVZFX1BFQ0lfSU5UX1RCSVRfT1ZF Ul9MSU1JVAlCSVQoNykNCj4gKyNkZWZpbmXCoMKgIFNUQVJGSVZFX1BFQ0lfSU5UX0FMTAkJCUdF Tk1BU0soNywgMCkNCj4gKw0KPiArLyogSW50ZXJydXB0IHN0YXR1cyByZWdpc3RlciAqLw0KPiAr I2RlZmluZSBTVEFSRklWRV9QRUNJX0lOVF9TVFMJCQkweDE0DQo+ICsjZGVmaW5lwqDCoCBTVEFS RklWRV9QRUNJX1NUU19YRkVSX0RPTkUJCUJJVCgwKQ0KPiArI2RlZmluZcKgwqAgU1RBUkZJVkVf UEVDSV9TVFNfQ0ZHX0VSUgkJQklUKDEpDQo+ICsjZGVmaW5lwqDCoCBTVEFSRklWRV9QRUNJX1NU U19UQklUX0VSUgkJQklUKDIpDQo+ICsjZGVmaW5lwqDCoCBTVEFSRklWRV9QRUNJX1NUU19CQURf V1JfRkNTCQlCSVQoMykNCj4gKyNkZWZpbmXCoMKgIFNUQVJGSVZFX1BFQ0lfU1RTX0FCT1JUX1dS X0ZDUwlCSVQoNCkNCj4gKyNkZWZpbmXCoMKgIFNUQVJGSVZFX1BFQ0lfU1RTX0JBRF9SRF9GQ1MJ CUJJVCg1KQ0KPiArI2RlZmluZcKgwqAgU1RBUkZJVkVfUEVDSV9TVFNfQlVTX0NPTlRFTlRJT04J QklUKDYpDQo+ICsjZGVmaW5lwqDCoCBTVEFSRklWRV9QRUNJX1NUU19UQklUX09WRVJfTElNSVQJ QklUKDcpDQo+ICsjZGVmaW5lwqDCoCBTVEFSRklWRV9QRUNJX1NUU19NQVNLCQlHRU5NQVNLKDcs IDApDQo+ICsNCj4gKy8qIFJlY2VpdmVkIEZDUyBkYXRhIHJlZ2lzdGVyICovDQo+ICsjZGVmaW5l IFNUQVJGSVZFX1BFQ0lfRkNTX1JDVkQJCQkweDFDDQo+ICsjZGVmaW5lwqDCoCBTVEFSRklWRV9Q RUNJX1JDVkRfV1JfRkNTX01BU0sJR0VOTUFTSyg3LCAwKQ0KPiArI2RlZmluZcKgwqAgU1RBUkZJ VkVfUEVDSV9SQ1ZEX1JEX0ZDU19NQVNLCUdFTk1BU0soMTUsIDgpDQo+ICsNCj4gKy8qIFJ4L1R4 IERhdGEgQnVmZmVyIFJlZ2lzdGVycyAqLw0KPiArI2RlZmluZSBTVEFSRklWRV9QRUNJX1dSX0RB VEEobikJCSgweDcwICsgKChuKSAqIDQpKQ0KPiArI2RlZmluZSBTVEFSRklWRV9QRUNJX1JEX0RB VEEobikJCSgweEIwICsgKChuKSAqIDQpKQ0KPiArDQo+ICsvKiBIYXJkd2FyZSBUWC9SWCBkYXRh IEZJRk9zIGFyZSA2NCBieXRlcywgYnV0IFBFQ0kgY29yZSBjYXBzIHJlcXVlc3RzIGxvd2VyDQo+ ICovDQo+ICsjZGVmaW5lIFNUQVJGSVZFX1BFQ0lfREFUQV9CVUZfU0laRV9NQVgJCW1pbig2NCwN Cj4gUEVDSV9SRVFVRVNUX01BWF9CVUZfU0laRSkNCj4gKyNkZWZpbmUgU1RBUkZJVkVfUEVDSV9N QVhfUkVHCQkJMHgxMDANCj4gKw0KPiArLyogVGltZW91dCAqLw0KPiArI2RlZmluZSBTVEFSRklW RV9QRUNJX0lETEVfQ0hFQ0tfVElNRU9VVF9VUwkoNTAgKiBVU0VDX1BFUl9NU0VDKQ0KPiArI2Rl ZmluZSBTVEFSRklWRV9QRUNJX0lETEVfQ0hFQ0tfSU5URVJWQUxfVVMJKDEwICogVVNFQ19QRVJf TVNFQykNCj4gKyNkZWZpbmUgU1RBUkZJVkVfUEVDSV9DTURfVElNRU9VVF9NU19ERUZBVUxUCTEw MDANCj4gKyNkZWZpbmUgU1RBUkZJVkVfUEVDSV9DTURfVElNRU9VVF9NU19NQVgJMTAwMA0KPiAr DQo+ICtzdHJ1Y3Qgc3RhcmZpdmVfcGVjaSB7DQo+ICsJdTMyCQkJY21kX3RpbWVvdXRfbXM7DQo+ ICsJc3RydWN0IGNvbXBsZXRpb24JeGZlcl9jb21wbGV0ZTsNCj4gKwlzdHJ1Y3QgcmVnbWFwCQkq cmVnbWFwOw0KPiArCXUzMgkJCXN0YXR1czsNCj4gKwlzcGlubG9ja190CQlsb2NrOwkvKiBzeW5j IGNvbXBsZXRpb24gc3RhdHVzICovDQo+ICsJc3RydWN0IHBlY2lfY29udHJvbGxlcgkqY29udHJv bGxlcjsNCj4gKwlzdHJ1Y3QgZGV2aWNlCQkqZGV2Ow0KPiArCXN0cnVjdCBjbGsJCSpjbGs7DQo+ ICsJc3RydWN0IHJlc2V0X2NvbnRyb2wJKnJzdDsNCj4gKwlpbnQJCQlpcnE7DQo+ICt9Ow0KPiAr DQo+ICtzdGF0aWMgaW50IHN0YXJmaXZlX3BlY2lfeGZlcihzdHJ1Y3QgcGVjaV9jb250cm9sbGVy ICpjb250cm9sbGVyLA0KPiArCQkJwqDCoMKgwqDCoCB1OCBhZGRyLCBzdHJ1Y3QgcGVjaV9yZXF1 ZXN0ICpyZXEpDQo+ICt7DQo+ICsJc3RydWN0IHN0YXJmaXZlX3BlY2kgKnByaXYgPSBkZXZfZ2V0 X2RydmRhdGEoY29udHJvbGxlci0+ZGV2LnBhcmVudCk7DQo+ICsJdW5zaWduZWQgbG9uZyB0aW1l b3V0ID0gbXNlY3NfdG9famlmZmllcyhwcml2LT5jbWRfdGltZW91dF9tcyk7DQo+ICsJdTMyIG1z Z19yZDsNCj4gKwl1MzIgY21kX3N0czsNCj4gKwl1MzIgcGVjaV9oZHI7DQo+ICsJaW50IGksIHJl dCwgajsNCj4gKw0KPiArCWlmIChyZXEtPnR4LmxlbiA+IFNUQVJGSVZFX1BFQ0lfREFUQV9CVUZf U0laRV9NQVggfHwNCj4gKwnCoMKgwqAgcmVxLT5yeC5sZW4gPiBTVEFSRklWRV9QRUNJX0RBVEFf QlVGX1NJWkVfTUFYKQ0KPiArCQlyZXR1cm4gLUVJTlZBTDsNCj4gKw0KPiArCS8qIENoZWNrIGNv bW1hbmQgc3RzIGFuZCBidXMgaWRsZSBzdGF0ZSAqLw0KPiArCXJldCA9IHJlZ21hcF9yZWFkX3Bv bGxfdGltZW91dChwcml2LT5yZWdtYXAsDQo+ICsJCQkJwqDCoMKgwqDCoMKgIFNUQVJGSVZFX1BF Q0lfQ1RSTCwgY21kX3N0cywNCj4gKwkJCQnCoMKgwqDCoMKgwqAgY21kX3N0cyAmIFNUQVJGSVZF X1BFQ0lfQ1RSTF9SRFksDQo+ICsJCQkJwqDCoMKgwqDCoMKgIFNUQVJGSVZFX1BFQ0lfSURMRV9D SEVDS19JTlRFUlZBTF9VUywNCj4gKwkJCQnCoMKgwqDCoMKgwqAgU1RBUkZJVkVfUEVDSV9JRExF X0NIRUNLX1RJTUVPVVRfVVMpOw0KPiArCWlmIChyZXQpDQo+ICsJCXJldHVybiByZXQ7DQo+ICsN Cj4gKwlzcGluX2xvY2tfaXJxKCZwcml2LT5sb2NrKTsNCj4gKwlyZWluaXRfY29tcGxldGlvbigm cHJpdi0+eGZlcl9jb21wbGV0ZSk7DQo+ICsNCj4gKwlwZWNpX2hkciA9IEZJRUxEX1BSRVAoU1RB UkZJVkVfUEVDSV9IRFJfVEFSR0VUX0FERFJfTUFTSywgYWRkcikgfA0KPiArCQnCoMKgIEZJRUxE X1BSRVAoU1RBUkZJVkVfUEVDSV9IRFJfV1JfTEVOX01BU0ssIHJlcS0+dHgubGVuKSB8DQo+ICsJ CcKgwqAgRklFTERfUFJFUChTVEFSRklWRV9QRUNJX0hEUl9SRF9MRU5fTUFTSywgcmVxLT5yeC5s ZW4pOw0KPiArCXJlZ21hcF93cml0ZShwcml2LT5yZWdtYXAsIFNUQVJGSVZFX1BFQ0lfSERSLCBw ZWNpX2hkcik7DQo+ICsNCj4gKwkvKiBDdXJyZW50bHksIHdlIGRvIG5vdCBzdXBwb3J0IHdyaXRl IGNvbW1hbmRzLCBmb3JjZSB0aGlzIGJpdCB0byAwLg0KPiAqLw0KPiArCXJlZ21hcF93cml0ZV9i aXRzKHByaXYtPnJlZ21hcCwgU1RBUkZJVkVfUEVDSV9DVFJMLA0KPiArCQkJwqAgU1RBUkZJVkVf UEVDSV9DVFJMX0FXX0ZDU19FTiwgMCk7DQo+ICsNCj4gKwlmb3IgKGkgPSAwOyBpIDwgQUxJR04o cmVxLT50eC5sZW4sIDQpIC8gNDsgaSsrKQ0KPiArCQlyZWdtYXBfd3JpdGUocHJpdi0+cmVnbWFw LCBTVEFSRklWRV9QRUNJX1dSX0RBVEEoaSksDQo+ICsJCQnCoMKgwqDCoCBnZXRfdW5hbGlnbmVk X2xlMzIoJnJlcS0+dHguYnVmWzQgKiBpXSkpOw0KPiArDQo+ICsJZGV2X2RiZyhwcml2LT5kZXYs ICJhZGRyIDogJSMwMngsIHR4LmxlbiA6ICUjMDJ4LCByeC5sZW4gOiAlIzAyeFxuIiwNCj4gKwkJ YWRkciwgcmVxLT50eC5sZW4sIHJlcS0+cngubGVuKTsNCj4gKwlwcmludF9oZXhfZHVtcF9ieXRl cygiVFggOiAiLCBEVU1QX1BSRUZJWF9OT05FLCByZXEtPnR4LmJ1ZiwNCj4gKwkJCcKgwqDCoMKg IHJlcS0+dHgubGVuKTsNCj4gKw0KPiArCXByaXYtPnN0YXR1cyA9IDA7DQo+ICsNCj4gKwlyZWdt YXBfd3JpdGVfYml0cyhwcml2LT5yZWdtYXAsIFNUQVJGSVZFX1BFQ0lfQ1RSTCwNCj4gKwkJCcKg IFNUQVJGSVZFX1BFQ0lfQ1RSTF9TVEFSVCwNCj4gU1RBUkZJVkVfUEVDSV9DVFJMX1NUQVJUKTsN Cj4gKw0KPiArCXNwaW5fdW5sb2NrX2lycSgmcHJpdi0+bG9jayk7DQo+ICsNCj4gKwlyZXQgPSB3 YWl0X2Zvcl9jb21wbGV0aW9uX2ludGVycnVwdGlibGVfdGltZW91dCgmcHJpdi0+eGZlcl9jb21w bGV0ZSwNCj4gKwkJCQkJCQl0aW1lb3V0KTsNCj4gKwlpZiAocmV0IDwgMCkNCj4gKwkJcmV0dXJu IHJldDsNCj4gKw0KPiArCWlmIChyZXQgPT0gMCkgew0KPiArCQlkZXZfZGJnKHByaXYtPmRldiwg IlRpbWVvdXQgd2FpdGluZyBmb3IgYSByZXNwb25zZVxuIik7DQo+ICsJCXJldHVybiAtRVRJTUVE T1VUOw0KPiArCX0NCj4gKw0KPiArCXNwaW5fbG9ja19pcnEoJnByaXYtPmxvY2spOw0KPiArDQo+ ICsJaWYgKHByaXYtPnN0YXR1cyAhPSBTVEFSRklWRV9QRUNJX1NUU19YRkVSX0RPTkUpIHsNCj4g KwkJc3Bpbl91bmxvY2tfaXJxKCZwcml2LT5sb2NrKTsNCj4gKwkJZGV2X2RiZyhwcml2LT5kZXYs ICJObyB2YWxpZCByZXNwb25zZSwgc3RhdHVzOiAlIzAyeFxuIiwNCj4gKwkJCXByaXYtPnN0YXR1 cyk7DQo+ICsJCXJldHVybiAtRUlPOw0KPiArCX0NCj4gKw0KPiArCXJlZ21hcF9yZWFkKHByaXYt PnJlZ21hcCwgU1RBUkZJVkVfUEVDSV9GQ1NfUkNWRCwgJm1zZ19yZCk7DQo+ICsJZGV2X2RiZyhw cml2LT5kZXYsICJ3cml0ZSAmIHJlYWQgY29tbWFuZCBGQ1MgOiAlIzAybHggJiAlIzAybHhcbiIs DQo+ICsJCUZJRUxEX0dFVChTVEFSRklWRV9QRUNJX1JDVkRfV1JfRkNTX01BU0ssIG1zZ19yZCks DQo+ICsJCUZJRUxEX0dFVChTVEFSRklWRV9QRUNJX1JDVkRfUkRfRkNTX01BU0ssIG1zZ19yZCkp Ow0KPiArDQo+ICsJZm9yIChpID0gMDsgaSA8IEFMSUdOKHJlcS0+cngubGVuLCA0KSAvIDQ7IGkr Kykgew0KPiArCQlyZWdtYXBfcmVhZChwcml2LT5yZWdtYXAsIFNUQVJGSVZFX1BFQ0lfUkRfREFU QShpKSwgJm1zZ19yZCk7DQo+ICsNCj4gKwkJaWYgKHJlcS0+cngubGVuIC0gNCAqIChpICsgMSkg Pj0gMCkgew0KPiArCQkJcHV0X3VuYWxpZ25lZF9iZTMyKG1zZ19yZCwgJnJlcS0+cnguYnVmW3Jl cS0+cngubGVuIC0NCj4gNCAqIChpICsgMSldKTsNCj4gKwkJfSBlbHNlIHsNCj4gKwkJCWZvciAo aiA9IHJlcS0+cngubGVuICUgNCAtIDE7IGogPj0gMDsgai0tKSB7DQo+ICsJCQkJcmVxLT5yeC5i dWZbal0gPSAodTgpbXNnX3JkOw0KPiArCQkJCW1zZ19yZCA+Pj0gODsNCj4gKwkJCX0NCj4gKwkJ fQ0KPiArCX0NCj4gKw0KPiArCXNwaW5fdW5sb2NrX2lycSgmcHJpdi0+bG9jayk7DQoNCkRvIHdl IG5lZWQgdG8ga2VlcCB0aGUgbG9jayBmb3IgY29weWluZyBkYXRhIGludG8gcnguYnVmPyBPciBp cyBpdCBqdXN0IHRvDQpwcm90ZWN0IHRoZSBjb21wbGV0aW9uIHN0YXR1cz8gSWYgdGhlIGxhdHRl ciwgdGhlbiBwbGVhc2UgcmVkdWNlIGl0cyBzY29wZSB0bw0KYXZvaWQgbWlzbGVhZGluZyB3aG9l dmVyIGlzIGxvb2tpbmcgYXQgdGhpcyBjb2RlIGludG8gdGhpbmtpbmcgdGhhdCBlLmcuIHJ4LmJ1 Zg0KaXMgYWxzbyBzaGFyZWQgd2l0aCB0aGUgSVJRIGhhbmRsZXIuDQoNClRoYW5rcw0KLUl3b25h DQoNCj4gKw0KPiArCXByaW50X2hleF9kdW1wX2J5dGVzKCJSWCA6ICIsDQo+ICsJCQnCoMKgwqDC oCBEVU1QX1BSRUZJWF9OT05FLCByZXEtPnJ4LmJ1ZiwgcmVxLT5yeC5sZW4pOw0KPiArDQo+ICsJ cmV0dXJuIDA7DQo+ICt9DQo+ICsNCj4gK3N0YXRpYyBpcnFyZXR1cm5fdCBzdGFyZml2ZV9wZWNp X2lycV9oYW5kbGVyKGludCBpcnEsIHZvaWQgKmFyZykNCj4gK3sNCj4gKwlzdHJ1Y3Qgc3RhcmZp dmVfcGVjaSAqcHJpdiA9IGFyZzsNCj4gKwl1MzIgc3RhdHVzOw0KPiArDQo+ICsJc3Bpbl9sb2Nr KCZwcml2LT5sb2NrKTsNCj4gKwlyZWdtYXBfcmVhZChwcml2LT5yZWdtYXAsIFNUQVJGSVZFX1BF Q0lfSU5UX1NUUywgJnN0YXR1cyk7DQo+ICsJcHJpdi0+c3RhdHVzIHw9IChzdGF0dXMgJiBTVEFS RklWRV9QRUNJX1NUU19NQVNLKTtPcmRlcg0KPiArCXJlZ21hcF93cml0ZShwcml2LT5yZWdtYXAs IFNUQVJGSVZFX1BFQ0lfSU5UX1NUUywNCj4gKwkJwqDCoMKgwqAgc3RhdHVzICYgU1RBUkZJVkVf UEVDSV9TVFNfTUFTSyk7DQo+ICsNCj4gKwkvKg0KPiArCSAqIEFsbCBjb21tYW5kcyBhcmUgdGVy bWluYXRlZCB3aXRoIHRoZSBYRkVSX0RPTkUgYml0IHNldCwgZXZlbiB3aGVuDQo+ICsJICogYW4g ZXJyb3IgY29uZGl0aW9uIGlzIHJlcG9ydGVkIGFsb25nc2lkZSBpdC4NCj4gKwkgKi8NCj4gKwlp ZiAoc3RhdHVzICYgU1RBUkZJVkVfUEVDSV9TVFNfWEZFUl9ET05FKQ0KPiArCQljb21wbGV0ZSgm cHJpdi0+eGZlcl9jb21wbGV0ZSk7DQo+ICsNCj4gKwlzcGluX3VubG9jaygmcHJpdi0+bG9jayk7 DQo+ICsNCj4gKwlyZXR1cm4gSVJRX0hBTkRMRUQ7DQo+ICt9DQo+ICsNCj4gK3N0YXRpYyB2b2lk IHN0YXJmaXZlX3BlY2lfY2xrX3Jlc2V0X3JlbGVhc2Uodm9pZCAqZGF0YSkNCj4gK3sNCj4gKwlz dHJ1Y3Qgc3RhcmZpdmVfcGVjaSAqcHJpdiA9IGRhdGE7DQo+ICsNCj4gKwljbGtfZGlzYWJsZV91 bnByZXBhcmUocHJpdi0+Y2xrKTsNCj4gKwlyZXNldF9jb250cm9sX2Fzc2VydChwcml2LT5yc3Qp Ow0KPiArfQ0KPiArDQo+ICtzdGF0aWMgaW50IHN0YXJmaXZlX3BlY2lfaW5pdF9jbGtfcnN0KHN0 cnVjdCBzdGFyZml2ZV9wZWNpICpwcml2KQ0KPiArew0KPiArCWludCByZXQ7DQo+ICsNCj4gKwlw cml2LT5jbGsgPSBkZXZtX2Nsa19nZXQocHJpdi0+ZGV2LCBOVUxMKTsNCj4gKwlpZiAoSVNfRVJS KHByaXYtPmNsaykpDQo+ICsJCXJldHVybiBkZXZfZXJyX3Byb2JlKHByaXYtPmRldiwgUFRSX0VS Uihwcml2LT5jbGspLA0KPiArCQkJCcKgwqDCoMKgICJGYWlsZWQgdG8gZ2V0IHBlY2kgY2xvY2tc biIpOw0KPiArDQo+ICsJcHJpdi0+cnN0ID0gZGV2bV9yZXNldF9jb250cm9sX2dldF9leGNsdXNp dmUocHJpdi0+ZGV2LCBOVUxMKTsNCj4gKwlpZiAoSVNfRVJSKHByaXYtPnJzdCkpDQo+ICsJCXJl dHVybiBkZXZfZXJyX3Byb2JlKHByaXYtPmRldiwgUFRSX0VSUihwcml2LT5yc3QpLA0KPiArCQkJ CcKgwqDCoMKgICJGYWlsZWQgdG8gZ2V0IHJlc2V0IGNvbnRyb2xcbiIpOw0KPiArDQo+ICsJcmV0 ID0gY2xrX3ByZXBhcmVfZW5hYmxlKHByaXYtPmNsayk7DQo+ICsJaWYgKHJldCkNCj4gKwkJcmV0 dXJuIGRldl9lcnJfcHJvYmUocHJpdi0+ZGV2LCByZXQsDQo+ICsJCQkJwqDCoMKgwqAgIkZhaWxl ZCB0byBlbmFibGUgcGVjaSBjbG9ja1xuIik7DQo+ICsNCj4gKwlyZXQgPSByZXNldF9jb250cm9s X2RlYXNzZXJ0KHByaXYtPnJzdCk7DQo+ICsJaWYgKHJldCkgew0KPiArCQljbGtfZGlzYWJsZV91 bnByZXBhcmUocHJpdi0+Y2xrKTsNCj4gKwkJcmV0dXJuIGRldl9lcnJfcHJvYmUocHJpdi0+ZGV2 LCByZXQsDQo+ICsJCQkJwqDCoMKgwqAgIkZhaWxlZCB0byBkZWFzc2VydCByZXNldCBjb250cm9s XG4iKTsNCj4gKwl9DQo+ICsNCj4gKwlyZXR1cm4gZGV2bV9hZGRfYWN0aW9uX29yX3Jlc2V0KHBy aXYtPmRldiwNCj4gc3RhcmZpdmVfcGVjaV9jbGtfcmVzZXRfcmVsZWFzZSwNCj4gKwkJCQkJcHJp dik7DQo+ICt9DQo+ICsNCj4gK3N0YXRpYyBpbnQgc3RhcmZpdmVfcGVjaV9pbml0X2N0cmwoc3Ry dWN0IHN0YXJmaXZlX3BlY2kgKnByaXYpDQo+ICt7DQo+ICsJdTMyIGNtZF9zdHM7DQo+ICsJaW50 IHJldDsNCj4gKw0KPiArCXJldCA9IGRldmljZV9wcm9wZXJ0eV9yZWFkX3UzMihwcml2LT5kZXYs ICJjbWQtdGltZW91dC1tcyIsDQo+ICsJCQkJwqDCoMKgwqDCoMKgICZwcml2LT5jbWRfdGltZW91 dF9tcyk7DQo+ICsJaWYgKHJldCkgew0KPiArCQlwcml2LT5jbWRfdGltZW91dF9tcyA9IFNUQVJG SVZFX1BFQ0lfQ01EX1RJTUVPVVRfTVNfREVGQVVMVDsNCj4gKwl9IGVsc2UgaWYgKHByaXYtPmNt ZF90aW1lb3V0X21zID4gU1RBUkZJVkVfUEVDSV9DTURfVElNRU9VVF9NU19NQVggfHwNCj4gKwkJ wqDCoCBwcml2LT5jbWRfdGltZW91dF9tcyA9PSAwKSB7DQo+ICsJCWRldl93YXJuKHByaXYtPmRl diwNCj4gKwkJCSAiSW52YWxpZCBjbWQtdGltZW91dC1tczogJXUsIGZhbGxpbmcgYmFjayB0bzog JXVcbiIsDQo+ICsJCQkgcHJpdi0+Y21kX3RpbWVvdXRfbXMsDQo+ICsJCQkgU1RBUkZJVkVfUEVD SV9DTURfVElNRU9VVF9NU19ERUZBVUxUKTsNCj4gKw0KPiArCQlwcml2LT5jbWRfdGltZW91dF9t cyA9IFNUQVJGSVZFX1BFQ0lfQ01EX1RJTUVPVVRfTVNfREVGQVVMVDsNCj4gKwl9DQo+ICsNCj4g KwlyZWdtYXBfd3JpdGVfYml0cyhwcml2LT5yZWdtYXAsIFNUQVJGSVZFX1BFQ0lfRl9DVFJMLA0K PiArCQkJwqAgU1RBUkZJVkVfUEVDSV9GX0NUUkxfRU4sIFNUQVJGSVZFX1BFQ0lfRl9DVFJMX0VO KTsNCj4gKwlyZWdtYXBfd3JpdGVfYml0cyhwcml2LT5yZWdtYXAsIFNUQVJGSVZFX1BFQ0lfQ1RS TCwNCj4gKwkJCcKgIFNUQVJGSVZFX1BFQ0lfQ1RSTF9GQ1NfTU9ERSwNCj4gU1RBUkZJVkVfUEVD SV9DVFJMX0ZDU19NT0RFKTsNCj4gKw0KPiArCXJldCA9IHJlZ21hcF9yZWFkX3BvbGxfdGltZW91 dChwcml2LT5yZWdtYXAsDQo+ICsJCQkJwqDCoMKgwqDCoMKgIFNUQVJGSVZFX1BFQ0lfQ1RSTCwg Y21kX3N0cywNCj4gKwkJCQnCoMKgwqDCoMKgwqAgY21kX3N0cyAmIFNUQVJGSVZFX1BFQ0lfQ1RS TF9SRFksDQo+ICsJCQkJwqDCoMKgwqDCoMKgIFNUQVJGSVZFX1BFQ0lfSURMRV9DSEVDS19JTlRF UlZBTF9VUywNCj4gKwkJCQnCoMKgwqDCoMKgwqAgU1RBUkZJVkVfUEVDSV9JRExFX0NIRUNLX1RJ TUVPVVRfVVMpOw0KPiArCWlmIChyZXQpDQo+ICsJCXJldHVybiByZXQ7DQo+ICsNCj4gKwlyZWdt YXBfd3JpdGUocHJpdi0+cmVnbWFwLCBTVEFSRklWRV9QRUNJX0lOVF9TVFMsDQo+IFNUQVJGSVZF X1BFQ0lfU1RTX01BU0spOw0KPiArDQo+ICsJLyogUEVDSSBpbnRlcnJ1cHQgZW5hYmxlICovDQo+ ICsJcmVnbWFwX3dyaXRlKHByaXYtPnJlZ21hcCwgU1RBUkZJVkVfUEVDSV9JTlRfRU4sDQo+IFNU QVJGSVZFX1BFQ0lfSU5UX0FMTCk7DQo+ICsNCj4gKwlyZXR1cm4gMDsNCj4gK30NCj4gKw0KPiAr c3RhdGljIGNvbnN0IHN0cnVjdCByZWdtYXBfY29uZmlnIHN0YXJmaXZlX3BlY2lfcmVnbWFwX2Nv bmZpZyA9IHsNCj4gKwkucmVnX2JpdHMgPSAzMiwNCj4gKwkudmFsX2JpdHMgPSAzMiwNCj4gKwku bWF4X3JlZ2lzdGVyID0gU1RBUkZJVkVfUEVDSV9NQVhfUkVHLA0KPiArCS5mYXN0X2lvID0gdHJ1 ZSwNCj4gK307DQo+ICsNCj4gK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcGVjaV9jb250cm9sbGVyX29w cyBzdGFyZml2ZV9vcHMgPSB7DQo+ICsJLnhmZXIgPSBzdGFyZml2ZV9wZWNpX3hmZXIsDQo+ICt9 Ow0KPiArDQo+ICtzdGF0aWMgaW50IHN0YXJmaXZlX3BlY2lfcHJvYmUoc3RydWN0IHBsYXRmb3Jt X2RldmljZSAqcGRldikNCj4gK3sNCj4gKwlzdHJ1Y3QgcGVjaV9jb250cm9sbGVyICpjb250cm9s bGVyOw0KPiArCXN0cnVjdCBzdGFyZml2ZV9wZWNpICpwcml2Ow0KPiArCXZvaWQgX19pb21lbSAq YmFzZTsNCj4gKwlpbnQgcmV0Ow0KPiArDQo+ICsJcHJpdiA9IGRldm1fa3phbGxvYygmcGRldi0+ ZGV2LCBzaXplb2YoKnByaXYpLCBHRlBfS0VSTkVMKTsNCj4gKwlpZiAoIXByaXYpDQo+ICsJCXJl dHVybiAtRU5PTUVNOw0KPiArDQo+ICsJcHJpdi0+ZGV2ID0gJnBkZXYtPmRldjsNCj4gKwlkZXZf c2V0X2RydmRhdGEoJnBkZXYtPmRldiwgcHJpdik7DQo+ICsNCj4gKwliYXNlID0gZGV2bV9wbGF0 Zm9ybV9pb3JlbWFwX3Jlc291cmNlKHBkZXYsIDApOw0KPiArCWlmIChJU19FUlIoYmFzZSkpDQo+ ICsJCXJldHVybiBQVFJfRVJSKGJhc2UpOw0KPiArDQo+ICsJcHJpdi0+cmVnbWFwID0gZGV2bV9y ZWdtYXBfaW5pdF9tbWlvKCZwZGV2LT5kZXYsIGJhc2UsDQo+ICsJCQkJCcKgwqDCoMKgICZzdGFy Zml2ZV9wZWNpX3JlZ21hcF9jb25maWcpOw0KPiArCWlmIChJU19FUlIocHJpdi0+cmVnbWFwKSkN Cj4gKwkJcmV0dXJuIGRldl9lcnJfcHJvYmUocHJpdi0+ZGV2LCBQVFJfRVJSKHByaXYtPnJlZ21h cCksDQo+ICsJCQkJwqDCoMKgwqAgIkZhaWxlZCB0byBpbml0aWFsaXplIHJlZ21hcFxuIik7DQo+ ICsNCj4gKwlwcml2LT5pcnEgPSBwbGF0Zm9ybV9nZXRfaXJxKHBkZXYsIDApOw0KPiArCWlmIChw cml2LT5pcnEgPCAwKQ0KPiArCQlyZXR1cm4gZGV2X2Vycl9wcm9iZShwcml2LT5kZXYsIHByaXYt PmlycSwgIkZhaWxlZCB0byBnZXQNCj4gSVJRXG4iKTsNCj4gKw0KPiArCWluaXRfY29tcGxldGlv bigmcHJpdi0+eGZlcl9jb21wbGV0ZSk7DQo+ICsJc3Bpbl9sb2NrX2luaXQoJnByaXYtPmxvY2sp Ow0KPiArDQo+ICsJcmV0ID0gc3RhcmZpdmVfcGVjaV9pbml0X2Nsa19yc3QocHJpdik7DQo+ICsJ aWYgKHJldCkNCj4gKwkJcmV0dXJuIGRldl9lcnJfcHJvYmUocHJpdi0+ZGV2LCByZXQsICJGYWls ZWQgdG8gaW5pdGlhbGl6ZQ0KPiBjbG9jayBhbmQgcmVzZXRcbiIpOw0KPiArDQo+ICsJcmV0ID0g ZGV2bV9yZXF1ZXN0X2lycSgmcGRldi0+ZGV2LA0KPiArCQkJwqDCoMKgwqDCoMKgIHByaXYtPmly cSwgc3RhcmZpdmVfcGVjaV9pcnFfaGFuZGxlciwNCj4gKwkJCcKgwqDCoMKgwqDCoCAwLCAicGVj aS1zdGFyZml2ZSIsIHByaXYpOw0KPiArCWlmIChyZXQpDQo+ICsJCXJldHVybiBkZXZfZXJyX3By b2JlKHByaXYtPmRldiwgcmV0LCAiRmFpbGVkIHRvIHJlcXVlc3QNCj4gSVJRXG4iKTsNCj4gKw0K PiArCXJldCA9IHN0YXJmaXZlX3BlY2lfaW5pdF9jdHJsKHByaXYpOw0KPiArCWlmIChyZXQpDQo+ ICsJCXJldHVybiBkZXZfZXJyX3Byb2JlKHByaXYtPmRldiwgcmV0LCAiRmFpbGVkIHRvIGluaXRp YWxpemUNCj4gY29udHJvbFxuIik7DQo+ICsNCj4gKwljb250cm9sbGVyID0gZGV2bV9wZWNpX2Nv bnRyb2xsZXJfYWRkKHByaXYtPmRldiwgJnN0YXJmaXZlX29wcyk7DQo+ICsJaWYgKElTX0VSUihj b250cm9sbGVyKSkNCj4gKwkJcmV0dXJuIGRldl9lcnJfcHJvYmUocHJpdi0+ZGV2LCBQVFJfRVJS KGNvbnRyb2xsZXIpLA0KPiArCQkJCcKgwqDCoMKgICJGYWlsZWQgdG8gYWRkIHBlY2kgY29udHJv bGxlclxuIik7DQo+ICsNCj4gKwlwcml2LT5jb250cm9sbGVyID0gY29udHJvbGxlcjsNCj4gKw0K PiArCXJldHVybiAwOw0KPiArfQ0KPiArDQo+ICtzdGF0aWMgY29uc3Qgc3RydWN0IG9mX2Rldmlj ZV9pZCBzdGFyZml2ZV9wZWNpX29mX3RhYmxlW10gPSB7DQo+ICsJeyAuY29tcGF0aWJsZSA9ICJz dGFyZml2ZSxqaGIxMDAtcGVjaSIsIH0sDQo+ICsJeyB9DQo+ICt9Ow0KPiArTU9EVUxFX0RFVklD RV9UQUJMRShvZiwgc3RhcmZpdmVfcGVjaV9vZl90YWJsZSk7DQo+ICsNCj4gK3N0YXRpYyBzdHJ1 Y3QgcGxhdGZvcm1fZHJpdmVyIHN0YXJmaXZlX3BlY2lfZHJpdmVyID0gew0KPiArCS5wcm9iZQk9 IHN0YXJmaXZlX3BlY2lfcHJvYmUsDQo+ICsJLmRyaXZlciA9IHsNCj4gKwkJLm5hbWUJCT0gS0JV SUxEX01PRE5BTUUsDQo+ICsJCS5vZl9tYXRjaF90YWJsZSA9IHN0YXJmaXZlX3BlY2lfb2ZfdGFi bGUsDQo+ICsJfSwNCj4gK307DQo+ICttb2R1bGVfcGxhdGZvcm1fZHJpdmVyKHN0YXJmaXZlX3Bl Y2lfZHJpdmVyKTsNCj4gKw0KPiArTU9EVUxFX0FVVEhPUigiQ2hhbmdodWFuZyBMaWFuZyA8Y2hh bmdodWFuZy5saWFuZ0BzdGFyZml2ZXRlY2guY29tPiIpOw0KPiArTU9EVUxFX0FVVEhPUigiTWFz b24gSHVvIDxtYXNvbi5odW9Ac3RhcmZpdmV0ZWNoLmNvbT4iKTsNCj4gK01PRFVMRV9ERVNDUklQ VElPTigiU3RhckZpdmUgUEVDSSBkcml2ZXIiKTsNCj4gK01PRFVMRV9MSUNFTlNFKCJHUEwiKTsN Cj4gK01PRFVMRV9JTVBPUlRfTlMoIlBFQ0kiKTsNCg==