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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (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 9B66AC02198 for ; Wed, 12 Feb 2025 07:13:01 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:MIME-Version: Content-Transfer-Encoding:Content-ID:Content-Type:In-Reply-To:References: Message-ID:Date:Subject:CC:To:From:Reply-To:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=+x/sFL3ws8VNfEWHQqf5cepIAKX/tOLMbyTczz9JCk4=; b=vqYNGCIzH615r9DQsxl+lATdVg +vigsASR1OdWQiqXxHN4aAunzlsXNmHN9pjf/tPSZ467O14mP4upVdlafqV7IeNCShlBDhwnR16YL sb/wkR0jOk5EboDSR0XLl3otGam/087OIW+QBQi0eAdk/qYbAPpNdBeRZYAp1UOp1KhLcFcoaGnqY xmHO2sOBiijWfVNWYQXHdjYJMyug3fcDcBHFZqFcsMteQK7YLMfiQpkxb28zsRUVPItsYcXXAVj5i LpD0+svJyxCfgQJ/Z/1r8kHzvXrlGBOnsegcVgbIf/01x3dt6VL3e+LWbxaowh8+BVYlS2BiR9dMy k4C7oSPQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1ti6vO-00000006SAC-2l5L; Wed, 12 Feb 2025 07:12:46 +0000 Received: from mailgw01.mediatek.com ([216.200.240.184]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1ti6si-00000006Rnv-1jF1; Wed, 12 Feb 2025 07:10:02 +0000 X-UUID: 5d31e99ce91011ef82ff63e91e7eb18c-20250212 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=MIME-Version:Content-Transfer-Encoding:Content-ID:Content-Type:In-Reply-To:References:Message-ID:Date:Subject:CC:To:From; bh=+x/sFL3ws8VNfEWHQqf5cepIAKX/tOLMbyTczz9JCk4=; b=p1YuwAF+LsrfUF+ToVMjImbVRzKEHK8KBl6kMPHc10gFHOOCkaA8p5jpNKrOyzpFIYo9IqJcSsT0Sq1ZBicR/UapIrVNZGBCIG4DJcWeu6BZZBOmQX2qz1ZNFbl6a4fq/eqYbVwyMteWWxnHq6ycUq76VSMoW/iUava5f4De1oE=; X-CID-P-RULE: Release_Ham X-CID-O-INFO: VERSION:1.1.46,REQID:ef353355-d02d-4d3a-9eca-89c71ce88ea5,IP:0,U RL:0,TC:0,Content:0,EDM:0,RT:0,SF:0,FILE:0,BULK:0,RULE:Release_Ham,ACTION: release,TS:0 X-CID-META: VersionHash:60aa074,CLOUDID:03e73e8f-637d-4112-88e4-c7792fee6ae2,B ulkID:nil,BulkQuantity:0,Recheck:0,SF:80|81|82|83|102,TC:nil,Content:0|50, EDM:-3,IP:nil,URL:0,File:nil,RT:nil,Bulk:nil,QS:nil,BEC:nil,COL:0,OSI:0,OS A:0,AV:0,LES:1,SPR:NO,DKR:0,DKP:0,BRR:0,BRE:0,ARC:0 X-CID-BVR: 0 X-CID-BAS: 0,_,0,_ X-CID-FACTOR: TF_CID_SPAM_SNR X-UUID: 5d31e99ce91011ef82ff63e91e7eb18c-20250212 Received: from mtkmbs13n1.mediatek.inc [(172.21.101.193)] by mailgw01.mediatek.com (envelope-from ) (musrelay.mediatek.com ESMTP with TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384 256/256) with ESMTP id 746981539; Wed, 12 Feb 2025 00:09:56 -0700 Received: from mtkmbs10n1.mediatek.inc (172.21.101.34) by mtkmbs13n1.mediatek.inc (172.21.101.193) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1258.28; Wed, 12 Feb 2025 15:09:53 +0800 Received: from APC01-PSA-obe.outbound.protection.outlook.com (172.21.101.237) by mtkmbs10n1.mediatek.inc (172.21.101.34) with Microsoft SMTP Server id 15.2.1258.28 via Frontend Transport; Wed, 12 Feb 2025 15:09:53 +0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=EGvD1rpBgA6fBvSmJgs/mdq1UjxaZ8h6Ty35HZrw1BN7gSAWrEcpiCh2qBj6q2IgkebxTy1+O84o/oWslNV9cN398DZxClFarLESo3SD/chh8ScbHbQvlChYcrgCMjS2jvdP9pqA0gDKgQ2JbmEYenLn0QVDU44YAlthh9UO4byWxCJOujYyU6DqwC0BZ/RFKAt72cbGnLBQaz8KT1pbB1/zL7R2Yc8VX32D0MHOoMxMiDGqX26vWKEgJLbrc/Zps3OmR8/o6gUg9o5vGDbjoxeZzCPiWir42fYDEiUpfDY79GJoMupj5nWcDfIjVi3+CNgsH4c1cTYJu/pG1GBoQg== 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=+x/sFL3ws8VNfEWHQqf5cepIAKX/tOLMbyTczz9JCk4=; b=UtLwqNVMJsENdqPlg1eeVjiBYFH6W1uGgb+6Vn06XS/LrxeHkNc3r8Drbw3xOKkbG5Yhy6eeBzdhP9d6n13Py6gqvgPdVf4SmgGkkY2AnJZwZiZ6/E4PpcGrWjY9RXqZwxidrFMPF2Uk2sg6SqIgPxkMUyohGtd1GpvihvXRvv5RYigUFlBnymJbd5fsm45H3RNWxfUrVPyJjjTwQUu9STaNZs04Y5jrodysKjDFbB/LfAAFGBkxKsB/VHcgTDVogxMSF50AbS0Wn4yGu3+tDCWb3CpAhW+X17+YyVYcAE2ZTeX3nTzlglDFZ/IyeONvzvfX9RkTXFPzSLA+Mgp2iw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=mediatek.com; dmarc=pass action=none header.from=mediatek.com; dkim=pass header.d=mediatek.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mediateko365.onmicrosoft.com; s=selector2-mediateko365-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=+x/sFL3ws8VNfEWHQqf5cepIAKX/tOLMbyTczz9JCk4=; b=SDvu6S2iYCF/Tyi5k5gp2DajcRre5RzkpvK97eRf/gI9AKcvYnQk5/Gn3uI/FDb1oAZ4TynPga2di6DMRTMq2ejSOqIV032fC8v6ZToBV5kFO3ZazI2SG/ZqV/Eb0zWejgpGIGq0lA0h+1DAvPtPYqZGPdbTZuOHoQzUcvlYT9A= Received: from TYZPR03MB6624.apcprd03.prod.outlook.com (2603:1096:400:1f4::13) by SEZPR03MB7658.apcprd03.prod.outlook.com (2603:1096:101:12a::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8422.19; Wed, 12 Feb 2025 07:09:48 +0000 Received: from TYZPR03MB6624.apcprd03.prod.outlook.com ([fe80::9ce6:1e85:c4a7:2a54]) by TYZPR03MB6624.apcprd03.prod.outlook.com ([fe80::9ce6:1e85:c4a7:2a54%3]) with mapi id 15.20.8422.015; Wed, 12 Feb 2025 07:09:48 +0000 From: =?utf-8?B?Q0sgSHUgKOiDoeS/iuWFiSk=?= To: "robh@kernel.org" , "krzk+dt@kernel.org" , =?utf-8?B?UGF1bC1wbCBDaGVuICjpmbPmn4/pnJYp?= , "conor+dt@kernel.org" , AngeloGioacchino Del Regno , "chunkuang.hu@kernel.org" CC: "matthias.bgg@gmail.com" , "treapking@chromium.org" , =?utf-8?B?U2luZ28gQ2hhbmcgKOW8teiIiOWciyk=?= , Project_Global_Chrome_Upstream_Group , "dri-devel@lists.freedesktop.org" , "devicetree@vger.kernel.org" , "linux-kernel@vger.kernel.org" , =?utf-8?B?SmFzb24tSkggTGluICjmnpfnnb/npaUp?= , =?utf-8?B?TmFuY3kgTGluICjmnpfmrKPonqIp?= , =?utf-8?B?WGlhbmRvbmcgV2FuZyAo546L5YWI5YasKQ==?= , "linux-mediatek@lists.infradead.org" , =?utf-8?B?U3VubnkgU2hlbiAo5rKI5aeN5aeNKQ==?= , "p.zabel@pengutronix.de" , =?utf-8?B?U2lyaXVzIFdhbmcgKOeOi+eak+aYsSk=?= , "linux-arm-kernel@lists.infradead.org" Subject: Re: [PATCH 11/12] drm/mediatek: add ovlsys_adaptor support for MT8196 Thread-Topic: [PATCH 11/12] drm/mediatek: add ovlsys_adaptor support for MT8196 Thread-Index: AQHbY144A+wZJUOnCUeqA5ni3jzN/rNDc3aA Date: Wed, 12 Feb 2025 07:09:47 +0000 Message-ID: <59aa3e03300ada8f47c0b5ae3a9c173eab45af7e.camel@mediatek.com> References: <20250110123835.2719824-1-paul-pl.chen@mediatek.com> <20250110123835.2719824-13-paul-pl.chen@mediatek.com> In-Reply-To: <20250110123835.2719824-13-paul-pl.chen@mediatek.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Evolution 3.52.3-0ubuntu1 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=mediatek.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: TYZPR03MB6624:EE_|SEZPR03MB7658:EE_ x-ms-office365-filtering-correlation-id: 40b23b6d-2d02-4580-cb2a-08dd4b343c51 x-ld-processed: a7687ede-7a6b-4ef6-bace-642f677fbe31,ExtAddr x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0;ARA:13230040|376014|7416014|1800799024|366016|38070700018; x-microsoft-antispam-message-info: =?utf-8?B?bnI5UG9HMXgwdElhTjltZzE4UXZORzJCbXA0bGxMWUx4b3JwYm8rZHZYSDM5?= =?utf-8?B?dnF2YUpQS2VsRVpPQUljK1UrQXNGU1FiK3FOYTlZcmVabWI5VzA3SVppcFh4?= =?utf-8?B?cVhERkFHWUdqZ0IyZ0F1c2R2K3FhVlNSaEIzU25SSXg1YnE2Y0pSOWxpeVBB?= =?utf-8?B?UmY0Yzlnak9DLzBSaHJQMERwN3J6aWhZUktVck51VEd5T0VaUjA4aW9heDV0?= =?utf-8?B?QVg2bGtBNUFTQ3Awa2VqVUdjaG5GRkZZby90MDlBWVRuakcrVkdaQWxsbHFZ?= =?utf-8?B?UzhheW1hKytLUlJyLzNOaVc5Rkc5V3Q0TldIRDV0WjlOTEJyMjVnTFJYbFNX?= =?utf-8?B?cklzb2ExVzE0ZkRSMlpNYlROTmZ1Ull4UWVNS05wV3VGaFZVMVp4ZERmazlQ?= =?utf-8?B?SDV2ZDJlTG9HUlFsMWdsaFR2dGpWZTFSaitlZHh5eEllWHZXZ3Qrc242MlFt?= =?utf-8?B?YmtKNitmb20yZDdvcTJMVmhuWlB4UVV6Mjk5WCtzbU1Yc0E5MlZmeGpRQlha?= =?utf-8?B?R2ZnTGRXU2RmdXdsOG8yTzdKaWhPQ0FDL0NvSEJYMlpIMTRzT29hNFAySnY4?= =?utf-8?B?VUFvVk1TbWFrMmNDRHU4QTRNNGZtTkd2QnA2SGxzRXBMK3diajFmeDRIYmhq?= =?utf-8?B?bmRnQ1pTT3pncEd4S0Z4QWM1ZUw3bmlsNEVRRjZsT0o4d3B2QWVodGMyNnFJ?= =?utf-8?B?UVJVNEpzZXcvSVVOdkhjdVgxYTJUZkRiSXIzT25zeXc4YnA0Z3ZBSFVqVnZw?= =?utf-8?B?alhqTDZFSFdiK09GY05XTzJjZVJRZHRabmNQcnVuYy8rRmZvR1RXQUVjUmtJ?= =?utf-8?B?VGV6SDkwRjl4YktYVUJtZzkyVHlLL0VpeXZRNVZUZzhZRmVtQlFNRExqbkRL?= =?utf-8?B?Vm1LZXJIckpNMFBsRkhoc0hmRGRVQkc4U0VMbE9LTGFnY0ZJRnBGODdMajQv?= =?utf-8?B?aW9rYU92VUJTUy9sSlV4TXRUTFFnNFRTVk9CRmpteGZFWTNUaTJ5QnhCZ0dS?= =?utf-8?B?RUlUQjJLRHZOWFprSGdYeEJBek84WFJQNnpGV045dHhQUDN2d2lqN2dLT1Nw?= =?utf-8?B?bjQ3RFVIQmJHT1NLM0hvQk5FV1ZWMi9oNThnQy9YYjJDQTNLWnUzMGk2Y0Nr?= =?utf-8?B?MXJwemhBVXdoemhvWnJmQTloK3l4WWMveGt4ck16WWhMMWoxa2V5VEFvWk9t?= =?utf-8?B?Z0o5Q01IeTltU056M1hScDFhcU53REZqTnpWSllzU0R6eUorbFZaaVY0MkVa?= =?utf-8?B?ckJDQWM1dno4OGpqQ3NieXNmT2ZyQlh6SHNsazBBZXFVVDhQUGxqaC9ZYjll?= =?utf-8?B?NExQeTRXY1NhbUZlZy9qdjh2MFZyNnREYWRLaWRmY1NDQVhEQjJLb3Y5eUdw?= =?utf-8?B?YmxlWk43bFVUTHNxU3ZzV3JBTlhDdlJyNE9pekJubUtBaXAwOU1ac243bkN2?= =?utf-8?B?bnlzQWJsTUtmdDZ4cnFjWHFXZzRBRFlYV0V0QnROWjFqTW9kL1lCNGI5b1hR?= =?utf-8?B?dTRwa3I0ajQ5cVE4NUliWFNUMzhVcFZoR2hHanFzb3d6K2o0K05jU2RlbUdF?= =?utf-8?B?NStNL2pBR0dsekgwZWNqbWRpdmVnV241T1VvTldNSlp4REx5TUliVlFocEhy?= =?utf-8?B?d3lVYnk4cFh4WlhCUGpqbVE5aE9DUnFTb2dwaU1aalRaSDVqWFlHeDhOam10?= =?utf-8?B?N1k4RU83M2Q1WW9ONEJsN1IzcnBFYitZd3VWLzlGRzdoMUNwZHBOeEExMVRV?= =?utf-8?B?Sm5Odyt3b2FmVkRFeWh6Tmhyc25OaUtRTlFiVStIMmpyV0VVaFpQbERJbmhh?= =?utf-8?B?cm1zU0NCVitUSVlUSWNyK1pmVlZjd2xvd2p2OU5ISlV1MEl3cU5uRDRVU0Fa?= =?utf-8?B?Nld2Q0dPWDRteTVSd1R3T1lxY2FCeDFkNU40SnpjQlF4cHpKcld5UUxCUXdZ?= =?utf-8?Q?/wpL43dfv/IcGol56bH1k26o3rUtFAUo?= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:TYZPR03MB6624.apcprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(7416014)(1800799024)(366016)(38070700018);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?M1E0SGNCTU4wQWdiWU9UQ2h1SDhlSXpWbFlOQVlmcTZncXF5OVd3bnVnZ1Zz?= =?utf-8?B?Q09hc25rd1lxSzU2a0JhWjU3SFJHLzJtWlV3WnRGZ0VPR1V5MGV3YU9mTjZ4?= =?utf-8?B?NmtoWE92V21MTWtkb3FmbEo0ekwzUUVqWndXY3o1U0VvajhxUXJPS3BtV2ZD?= =?utf-8?B?cVlGUSsva29icjI5Mmt5V3F3RjU0aHNJRWtIL3lmdTVGM1NQSmZDbzlwbGpl?= =?utf-8?B?Z2ZhYXUvVGg2OUpGdmQ1SWxaNHU3bFdVVmsyWDZXUkNvcUphV2xDNVF0WnNt?= =?utf-8?B?b2pqd2labzMrK2xIQVhCaHQ3S0ljdWI4MTZoRWUxalRXZGhYRFlqbVVmTEM2?= =?utf-8?B?YUppMldEMGVWNDhMZlZXZXFXbE14KytVcUt4dDhDR0JUS0paUWdMTTVnRmNh?= =?utf-8?B?NVBFVDJBaHNHRm5lMmc4UEZUeVNCMlVveWt6RVhQMndVRWx3azlSMzlKNmd5?= =?utf-8?B?MFJydDVmZkszQ3ZudWtkcTBIU3NPK0VPZXpNMkxpUkQwNzRrVXM3ZkxaUk91?= =?utf-8?B?dTk1UEkzd0dwbllKWDUyd1BuVW5kbHhjVlRzTjBNOFl2YzJVdDY2VDRiVnJs?= =?utf-8?B?ZTg2Wks3OU1KL3RpVUxxbXhVMXV1WGJpZGdsTFJoSWR6aEJ5ZDlYbGNaMDZx?= =?utf-8?B?eFJ4Y1BWNDJPMXRBVXEwTkRhVFMxSHZ5djVKZTZOcldVTXJIMkdUVFN4OWN6?= =?utf-8?B?aERnMjQ3UldtekZhRUptVHZ3bFB5WTdsRUZDbHFWMENJYnkyR0ttNlBDUFQw?= =?utf-8?B?RmJ6VGJMYkhxZzkyc2JXTHgwK1NaUDlrdjJ1cTVxM1l1ZkJvMlBKZHJPenZm?= =?utf-8?B?dll3K1IwZU1sOFM0MUQvYmlGa293SUw2aGVmcGJDMHI5TSsvY3ZISGUxRWZp?= =?utf-8?B?UDAxUjM3NHhmV2dRS2RVSFlBSFhCQUVnd0hvY0pBNmhjZFAvQUdtZllIdjFF?= =?utf-8?B?NnNLc3YyY3FHZitRNExMc1NqRFAvcHNnL0wwZ3hpMlFack1YQ3NlaVhpUVZx?= =?utf-8?B?R29HVXN6WGFlWEdBTi8za2xKd2ZxczBLL0NHWnJOR1ArTitwaW04MU9oeUho?= =?utf-8?B?UmNlNllHSFZzK3pvQ2lRem5EbG9tUzNXaU1wcGRZVEFoZTE2aU1WaVp1Z0lL?= =?utf-8?B?YU1ieFlpMkJ0Mmo1Yzk4NnJ0RUFmK2ZhY2pLQTNSZitwTy9vU1l6WU14ekxh?= =?utf-8?B?djJEOUFxY3JnOUFMcDZ6dFQvOG1aNVZENFl5eVQ3MytRdkRxTlN0bXBIWjhn?= =?utf-8?B?eU1iRWUrc1hGbkEvaW5Xai9JTThBMjJNd2UrM25Ib2xwYk13bnc1T29URWZQ?= =?utf-8?B?RGNKRzdnbVp4ajNTcWJ3ZjRna28zVFBoa1d2a3lzZ0NwSjZZMTZhcGcxQStW?= =?utf-8?B?b0d3clVkcmhnL3FSMWdDYStJLzZ5ZkRscGxqRjRoTmxzTmxsZFo3SDA5KzNh?= =?utf-8?B?TVkvYzAwZ0FCNDZNbllFZml5VDRrQ3JkSDQzc2RtcjVESHdGUWEyOHZwek1v?= =?utf-8?B?OUhCejg5dnJhSSs2ZkQzNUhLRURFdjR2MDhWckhKQjJJRUxVMktoTUR5cm1S?= =?utf-8?B?aUQzbVhaRXFYdW0yNlNQbWFCbXgxVEl0L1hjQ3VrOXp0dHNnRVUrNXhhK3My?= =?utf-8?B?UDFXTWY1dTJVOG93d05hSzhEZVJQZXhqaUtQay9VbHFLZFg3bW9CNm9IK2VF?= =?utf-8?B?L2o5Q3lGdGt4MFNoeHZpMldvMzJQU1hpTlR6Wlh0WGZWbVZQT3BBSExYam0w?= =?utf-8?B?aUIvS0lLSzJZYXpTU2EwWlhCMHJmVCsxUUNuT2gwcUVjZWQ1Mloyc2ZqWDBH?= =?utf-8?B?YXhyZDF1SlZNckRpMWk1TDNhL04wN0l0bktGZXZiMFNqMlU5UFVmdzVyem9t?= =?utf-8?B?U0FBaUtFZVFLVlRMcjA1bVlsMDlFZzBoSmZ1YnJsWmNEdXYwVVl5c2hDbzNx?= =?utf-8?B?eWhra0IrTFhDU08ySkIvL1N3a0Y3bXcrWVk3dDdGaXdMVE5zZCtSaXVQc1Zy?= =?utf-8?B?VTV0RWJvSExFbHB3ckY0NzM4RDlMRSsyVlB6SUVFcHcwNjF5V2I2S3oyODV6?= =?utf-8?B?RFdlZ0NMWENJZmZ1YTQwVWdFMGMydzZPanRnN1ZwcVROZHZqN2h1ZUVUNTE5?= =?utf-8?Q?X7RPFfwocNr2yvpqed1L4zRqG?= Content-Type: text/plain; charset="utf-8" Content-ID: <7DF902B9644BE346980973293D8724FF@apcprd03.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: TYZPR03MB6624.apcprd03.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 40b23b6d-2d02-4580-cb2a-08dd4b343c51 X-MS-Exchange-CrossTenant-originalarrivaltime: 12 Feb 2025 07:09:47.7682 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a7687ede-7a6b-4ef6-bace-642f677fbe31 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 9CzgwllCfe+4azYHpu+6pGlPF2Tktbys9rE/sJZBII7hdEFCJgXr3GjgK4fmCewKaRBVxer/DaUsjRjzeG0nNg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SEZPR03MB7658 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250211_231000_503764_A29448D2 X-CRM114-Status: GOOD ( 16.75 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org SGksIFBhdWw6DQoNCk9uIEZyaSwgMjAyNS0wMS0xMCBhdCAyMDozNCArMDgwMCwgcGF1bC1wbC5j aGVuIHdyb3RlOg0KPiBGcm9tOiAiTmFuY3kuTGluIiA8bmFuY3kubGluQG1lZGlhdGVrLmNvbT4N Cj4gDQo+IE92bHN5c19hZGFwdG9yIGlzIGFuIGVuY2Fwc3VsYXRlZCBtb2R1bGUgZGVzaWduZWQg dG8NCj4gc2ltcGxpZnkgdGhlIERSTSBjb250cm9sIGZsb3cuIFRoaXMgbW9kdWxlIGlzIGNvbXBv c2VkDQo+IG9mIDIwIEVYRE1BcywgMjAgQkxFTkRFUnMsIGFuZCAxMiBPVVRQUk9Dcy4NCj4gVHdv IEVYRE1BcyBtZXJnZSBpbnRvIG9uZSBsYXllciwgYWxsb3dpbmcgdGhlIG1vZHVsZQ0KPiB0byBz dXBwb3J0IDIwIGxheWVycyBmb3IgMyBkaXNwbGF5IHBhdGhzLg0KPiBPdmxzeXNfYWRhcHRvciBk cml2ZXIgaXMgaW50ZWdyYXRlZCB3aXRoaW4gdGhlDQo+IG10a19kZHBfY29tcCBmcmFtZXdvcmsu DQo+IA0KPiBTaWduZWQtb2ZmLWJ5OiBOYW5jeS5MaW4gPG5hbmN5LmxpbkBtZWRpYXRlay5jb20+ DQo+IFNpZ25lZC1vZmYtYnk6IFBhdWwtcGwuQ2hlbiA8cGF1bC1wbC5jaGVuQG1lZGlhdGVrLmNv bT4NCj4gLS0tDQo+ICBkcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvTWFrZWZpbGUgICAgICAgICAg ICAgfCAgIDEgKw0KPiAgZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kZHBfY29tcC5jICAg ICAgIHwgIDI1ICsNCj4gIGRyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZGRwX2NvbXAuaCAg ICAgICB8ICAgMSArDQo+ICBkcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2Rpc3BfZHJ2Lmgg ICAgICAgfCAgMzEgKy0NCj4gIC4uLi9kcm0vbWVkaWF0ZWsvbXRrX2Rpc3Bfb3Zsc3lzX2FkYXB0 b3IuYyAgICB8IDc1OCArKysrKysrKysrKysrKysrKysNCj4gIGRyaXZlcnMvZ3B1L2RybS9tZWRp YXRlay9tdGtfZHJtX2Rydi5jICAgICAgICB8ICA2MSArLQ0KPiAgZHJpdmVycy9ncHUvZHJtL21l ZGlhdGVrL210a19kcm1fZHJ2LmggICAgICAgIHwgIDExICstDQo+ICA3IGZpbGVzIGNoYW5nZWQs IDg4NCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQ0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0 IGRyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZGlzcF9vdmxzeXNfYWRhcHRvci5jDQo+IA0K PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL01ha2VmaWxlIGIvZHJpdmVy cy9ncHUvZHJtL21lZGlhdGVrL01ha2VmaWxlDQo+IGluZGV4IDk1NDZiYzZiN2IyZS4uZGVkZjUw ODYwZDNmIDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvTWFrZWZpbGUN Cj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL01ha2VmaWxlDQo+IEBAIC05LDYgKzks NyBAQCBtZWRpYXRlay1kcm0teSA6PSBtdGtfY3J0Yy5vIFwNCj4gIAkJICBtdGtfZGlzcF9leGRt YS5vIFwNCj4gIAkJICBtdGtfZGlzcF9nYW1tYS5vIFwNCj4gIAkJICBtdGtfZGlzcF9tZXJnZS5v IFwNCj4gKwkJICBtdGtfZGlzcF9vdmxzeXNfYWRhcHRvci5vIFwNCj4gIAkJICBtdGtfZGlzcF9v dmwubyBcDQo+ICAJCSAgbXRrX2Rpc3Bfb3V0cHJvYy5vIFwNCj4gIAkJICBtdGtfZGlzcF9vdmxf YWRhcHRvci5vIFwNCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtf ZGRwX2NvbXAuYyBiL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZGRwX2NvbXAuYw0KPiBp bmRleCBjYzc4MDc0NGYwNjAuLjQ5MmI4ZDk2NTMwOSAxMDA2NDQNCj4gLS0tIGEvZHJpdmVycy9n cHUvZHJtL21lZGlhdGVrL210a19kZHBfY29tcC5jDQo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9t ZWRpYXRlay9tdGtfZGRwX2NvbXAuYw0KPiBAQCAtMzY4LDYgKzM2OCwyOCBAQCBzdGF0aWMgY29u c3Qgc3RydWN0IG10a19kZHBfY29tcF9mdW5jcyBkZHBfb3ZsID0gew0KPiAgCS5nZXRfbnVtX2Zv cm1hdHMgPSBtdGtfb3ZsX2dldF9udW1fZm9ybWF0cywNCj4gIH07DQo+ICANCj4gK3N0YXRpYyBj b25zdCBzdHJ1Y3QgbXRrX2RkcF9jb21wX2Z1bmNzIGRkcF9vdmxzeXNfYWRhcHRvciA9IHsNCj4g KwkuY2xrX2VuYWJsZSA9IG10a19vdmxzeXNfYWRhcHRvcl9jbGtfZW5hYmxlLA0KPiArCS5jbGtf ZGlzYWJsZSA9IG10a19vdmxzeXNfYWRhcHRvcl9jbGtfZGlzYWJsZSwNCj4gKwkuY29uZmlnID0g bXRrX292bHN5c19hZGFwdG9yX2NvbmZpZywNCj4gKwkuc3RhcnQgPSBtdGtfb3Zsc3lzX2FkYXB0 b3Jfc3RhcnQsDQo+ICsJLnN0b3AgPSBtdGtfb3Zsc3lzX2FkYXB0b3Jfc3RvcCwNCj4gKwkubGF5 ZXJfY2hlY2sgPSBtdGtfb3Zsc3lzX2FkYXB0b3JfbGF5ZXJfY2hlY2ssDQo+ICsJLmxheWVyX25y ID0gbXRrX292bHN5c19hZGFwdG9yX2xheWVyX25yLA0KPiArCS5sYXllcl9jb25maWcgPSBtdGtf b3Zsc3lzX2FkYXB0b3JfbGF5ZXJfY29uZmlnLA0KPiArCS5yZWdpc3Rlcl92YmxhbmtfY2IgPSBt dGtfb3Zsc3lzX2FkYXB0b3JfcmVnaXN0ZXJfdmJsYW5rX2NiLA0KPiArCS51bnJlZ2lzdGVyX3Zi bGFua19jYiA9IG10a19vdmxzeXNfYWRhcHRvcl91bnJlZ2lzdGVyX3ZibGFua19jYiwNCj4gKwku ZW5hYmxlX3ZibGFuayA9IG10a19vdmxzeXNfYWRhcHRvcl9lbmFibGVfdmJsYW5rLA0KPiArCS5k aXNhYmxlX3ZibGFuayA9IG10a19vdmxzeXNfYWRhcHRvcl9kaXNhYmxlX3ZibGFuaywNCj4gKwku ZG1hX2Rldl9nZXQgPSBtdGtfb3Zsc3lzX2FkYXB0b3JfZG1hX2Rldl9nZXQsDQo+ICsJLmNvbm5l Y3QgPSBtdGtfb3Zsc3lzX2FkYXB0b3JfY29ubmVjdCwNCj4gKwkuZGlzY29ubmVjdCA9IG10a19v dmxzeXNfYWRhcHRvcl9kaXNjb25uZWN0LA0KPiArCS5hZGQgPSBtdGtfb3Zsc3lzX2FkYXB0b3Jf YWRkX2NvbXAsDQo+ICsJLnJlbW92ZSA9IG10a19vdmxzeXNfYWRhcHRvcl9yZW1vdmVfY29tcCwN Cj4gKwkuZ2V0X2Zvcm1hdHMgPSBtdGtfb3Zsc3lzX2FkYXB0b3JfZ2V0X2Zvcm1hdHMsDQo+ICsJ LmdldF9udW1fZm9ybWF0cyA9IG10a19vdmxzeXNfYWRhcHRvcl9nZXRfbnVtX2Zvcm1hdHMsDQo+ ICt9Ow0KPiArDQo+ICBzdGF0aWMgY29uc3Qgc3RydWN0IG10a19kZHBfY29tcF9mdW5jcyBkZHBf cG9zdG1hc2sgPSB7DQo+ICAJLmNsa19lbmFibGUgPSBtdGtfZGRwX2Nsa19lbmFibGUsDQo+ICAJ LmNsa19kaXNhYmxlID0gbXRrX2RkcF9jbGtfZGlzYWJsZSwNCj4gQEAgLTQzNyw2ICs0NTksNyBA QCBzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IG10a19kZHBfY29tcF9zdGVtW01US19ERFBfQ09N UF9UWVBFX01BWF0gPSB7DQo+ICAJW01US19ESVNQX09WTF0gPSAib3ZsIiwNCj4gIAlbTVRLX0RJ U1BfT1ZMXzJMXSA9ICJvdmwtMmwiLA0KPiAgCVtNVEtfRElTUF9PVkxfQURBUFRPUl0gPSAib3Zs X2FkYXB0b3IiLA0KPiArCVtNVEtfRElTUF9PVkxTWVNfQURBUFRPUl0gPSAib3Zsc3lzX2FkYXB0 b3IiLA0KPiAgCVtNVEtfRElTUF9QT1NUTUFTS10gPSAicG9zdG1hc2siLA0KPiAgCVtNVEtfRElT UF9QV01dID0gInB3bSIsDQo+ICAJW01US19ESVNQX1JETUFdID0gInJkbWEiLA0KPiBAQCAtNDY5 LDYgKzQ5Miw4IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgbXRrX2RkcF9jb21wX21hdGNoIG10a19k ZHBfbWF0Y2hlc1tERFBfQ09NUE9ORU5UX0RSTV9JRF9NQVhdDQo+ICAJW0REUF9DT01QT05FTlRf RFBJMF0JCT0geyBNVEtfRFBJLAkJCTAsICZkZHBfZHBpIH0sDQo+ICAJW0REUF9DT01QT05FTlRf RFBJMV0JCT0geyBNVEtfRFBJLAkJCTEsICZkZHBfZHBpIH0sDQo+ICAJW0REUF9DT01QT05FTlRf RFJNX09WTF9BREFQVE9SXQk9IHsgTVRLX0RJU1BfT1ZMX0FEQVBUT1IsCTAsICZkZHBfb3ZsX2Fk YXB0b3IgfSwNCj4gKwlbRERQX0NPTVBPTkVOVF9EUk1fT1ZMU1lTX0FEQVBUT1IwXSA9IHsgTVRL X0RJU1BfT1ZMU1lTX0FEQVBUT1IsIDAsICZkZHBfb3Zsc3lzX2FkYXB0b3J9LA0KPiArCVtERFBf Q09NUE9ORU5UX0RSTV9PVkxTWVNfQURBUFRPUjFdID0geyBNVEtfRElTUF9PVkxTWVNfQURBUFRP UiwgMSwgJmRkcF9vdmxzeXNfYWRhcHRvcn0sDQo+ICAJW0REUF9DT01QT05FTlRfRFNDMF0JCT0g eyBNVEtfRElTUF9EU0MsCQkwLCAmZGRwX2RzYyB9LA0KPiAgCVtERFBfQ09NUE9ORU5UX0RTQzFd CQk9IHsgTVRLX0RJU1BfRFNDLAkJMSwgJmRkcF9kc2MgfSwNCj4gIAlbRERQX0NPTVBPTkVOVF9E U0kwXQkJPSB7IE1US19EU0ksCQkJMCwgJmRkcF9kc2kgfSwNCj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZGRwX2NvbXAuaCBiL2RyaXZlcnMvZ3B1L2RybS9tZWRp YXRlay9tdGtfZGRwX2NvbXAuaA0KPiBpbmRleCBiMzNkMzI4OWI4YjYuLmVmNjRjZTdhMDcxZiAx MDA2NDQNCj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kZHBfY29tcC5oDQo+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZGRwX2NvbXAuaA0KPiBAQCAtMzMs NiArMzMsNyBAQCBlbnVtIG10a19kZHBfY29tcF90eXBlIHsNCj4gIAlNVEtfRElTUF9NVVRFWCwN Cj4gIAlNVEtfRElTUF9PRCwNCj4gIAlNVEtfRElTUF9PVkwsDQo+ICsJTVRLX0RJU1BfT1ZMU1lT X0FEQVBUT1IsDQo+ICAJTVRLX0RJU1BfT1ZMXzJMLA0KPiAgCU1US19ESVNQX09WTF9BREFQVE9S LA0KPiAgCU1US19ESVNQX1BPU1RNQVNLLA0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L21lZGlhdGVrL210a19kaXNwX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19k aXNwX2Rydi5oDQo+IGluZGV4IDQ0ZDJjYmU5MTlkYy4uNjdmNmRhNTlkMGRlIDEwMDY0NA0KPiAt LS0gYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2Rpc3BfZHJ2LmgNCj4gKysrIGIvZHJp dmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kaXNwX2Rydi5oDQo+IEBAIC0xNDAsOCArMTQwLDgg QEAgdm9pZCBtdGtfb3ZsX2VuYWJsZV92Ymxhbmsoc3RydWN0IGRldmljZSAqZGV2KTsNCj4gIHZv aWQgbXRrX292bF9kaXNhYmxlX3ZibGFuayhzdHJ1Y3QgZGV2aWNlICpkZXYpOw0KPiAgdTMyIG10 a19vdmxfZ2V0X2JsZW5kX21vZGVzKHN0cnVjdCBkZXZpY2UgKmRldik7DQo+ICBjb25zdCB1MzIg Km10a19vdmxfZ2V0X2Zvcm1hdHMoc3RydWN0IGRldmljZSAqZGV2KTsNCj4gLXNpemVfdCBtdGtf b3ZsX2dldF9udW1fZm9ybWF0cyhzdHJ1Y3QgZGV2aWNlICpkZXYpOw0KPiAgDQo+ICtzaXplX3Qg bXRrX292bF9nZXRfbnVtX2Zvcm1hdHMoc3RydWN0IGRldmljZSAqZGV2KTsNCj4gIHZvaWQgbXRr X292bF9hZGFwdG9yX2FkZF9jb21wKHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IG10a19tdXRl eCAqbXV0ZXgpOw0KPiAgdm9pZCBtdGtfb3ZsX2FkYXB0b3JfcmVtb3ZlX2NvbXAoc3RydWN0IGRl dmljZSAqZGV2LCBzdHJ1Y3QgbXRrX211dGV4ICptdXRleCk7DQo+ICBib29sIG10a19vdmxfYWRh cHRvcl9pc19jb21wX3ByZXNlbnQoc3RydWN0IGRldmljZV9ub2RlICpub2RlKTsNCj4gQEAgLTE3 NCw2ICsxNzQsMzUgQEAgc2l6ZV90IG10a19vdmxfYWRhcHRvcl9nZXRfbnVtX2Zvcm1hdHMoc3Ry dWN0IGRldmljZSAqZGV2KTsNCj4gIGVudW0gZHJtX21vZGVfc3RhdHVzIG10a19vdmxfYWRhcHRv cl9tb2RlX3ZhbGlkKHN0cnVjdCBkZXZpY2UgKmRldiwNCj4gIAkJCQkJCWNvbnN0IHN0cnVjdCBk cm1fZGlzcGxheV9tb2RlICptb2RlKTsNCj4gIA0KPiArdm9pZCBtdGtfb3Zsc3lzX2FkYXB0b3Jf YWRkX2NvbXAoc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgbXRrX211dGV4ICptdXRleCk7DQo+ ICt2b2lkIG10a19vdmxzeXNfYWRhcHRvcl9yZW1vdmVfY29tcChzdHJ1Y3QgZGV2aWNlICpkZXYs IHN0cnVjdCBtdGtfbXV0ZXggKm11dGV4KTsNCj4gK3ZvaWQgbXRrX292bHN5c19hZGFwdG9yX2Nv bm5lY3Qoc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgZGV2aWNlICptbXN5c19kZXYsDQo+ICsJ CQkJdW5zaWduZWQgaW50IG5leHQpOw0KPiArdm9pZCBtdGtfb3Zsc3lzX2FkYXB0b3JfZGlzY29u bmVjdChzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBkZXZpY2UgKm1tc3lzX2RldiwNCj4gKwkJ CQkgICB1bnNpZ25lZCBpbnQgbmV4dCk7DQo+ICtpbnQgbXRrX292bHN5c19hZGFwdG9yX2Nsa19l bmFibGUoc3RydWN0IGRldmljZSAqZGV2KTsNCj4gK3ZvaWQgbXRrX292bHN5c19hZGFwdG9yX2Ns a19kaXNhYmxlKHN0cnVjdCBkZXZpY2UgKmRldik7DQo+ICt2b2lkIG10a19vdmxzeXNfYWRhcHRv cl9jb25maWcoc3RydWN0IGRldmljZSAqZGV2LCB1bnNpZ25lZCBpbnQgdywNCj4gKwkJCSAgICAg ICB1bnNpZ25lZCBpbnQgaCwgdW5zaWduZWQgaW50IHZyZWZyZXNoLA0KPiArCQkJICAgICAgIHVu c2lnbmVkIGludCBicGMsIHN0cnVjdCBjbWRxX3BrdCAqY21kcV9wa3QpOw0KPiArdm9pZCBtdGtf b3Zsc3lzX2FkYXB0b3JfbGF5ZXJfY29uZmlnKHN0cnVjdCBkZXZpY2UgKmRldiwgdW5zaWduZWQg aW50IGlkeCwNCj4gKwkJCQkgICAgIHN0cnVjdCBtdGtfcGxhbmVfc3RhdGUgKnN0YXRlLA0KPiAr CQkJCSAgICAgc3RydWN0IGNtZHFfcGt0ICpjbWRxX3BrdCk7DQo+ICtpbnQgbXRrX292bHN5c19h ZGFwdG9yX2xheWVyX2NoZWNrKHN0cnVjdCBkZXZpY2UgKmRldiwNCj4gKwkJCQkgICB1bnNpZ25l ZCBpbnQgaWR4LA0KPiArCQkJCSAgIHN0cnVjdCBtdGtfcGxhbmVfc3RhdGUgKm10a19zdGF0ZSk7 DQo+ICt2b2lkIG10a19vdmxzeXNfYWRhcHRvcl9yZWdpc3Rlcl92YmxhbmtfY2Ioc3RydWN0IGRl dmljZSAqZGV2LCB2b2lkICgqdmJsYW5rX2NiKSh2b2lkICopLA0KPiArCQkJCQkgICB2b2lkICp2 YmxhbmtfY2JfZGF0YSk7DQo+ICt2b2lkIG10a19vdmxzeXNfYWRhcHRvcl91bnJlZ2lzdGVyX3Zi bGFua19jYihzdHJ1Y3QgZGV2aWNlICpkZXYpOw0KPiArdm9pZCBtdGtfb3Zsc3lzX2FkYXB0b3Jf ZW5hYmxlX3ZibGFuayhzdHJ1Y3QgZGV2aWNlICpkZXYpOw0KPiArdm9pZCBtdGtfb3Zsc3lzX2Fk YXB0b3JfZGlzYWJsZV92Ymxhbmsoc3RydWN0IGRldmljZSAqZGV2KTsNCj4gK3ZvaWQgbXRrX292 bHN5c19hZGFwdG9yX3N0YXJ0KHN0cnVjdCBkZXZpY2UgKmRldik7DQo+ICt2b2lkIG10a19vdmxz eXNfYWRhcHRvcl9zdG9wKHN0cnVjdCBkZXZpY2UgKmRldik7DQo+ICt1bnNpZ25lZCBpbnQgbXRr X292bHN5c19hZGFwdG9yX2xheWVyX25yKHN0cnVjdCBkZXZpY2UgKmRldik7DQo+ICtzdHJ1Y3Qg ZGV2aWNlICptdGtfb3Zsc3lzX2FkYXB0b3JfZG1hX2Rldl9nZXQoc3RydWN0IGRldmljZSAqZGV2 KTsNCj4gK2NvbnN0IHUzMiAqbXRrX292bHN5c19hZGFwdG9yX2dldF9mb3JtYXRzKHN0cnVjdCBk ZXZpY2UgKmRldik7DQo+ICtzaXplX3QgbXRrX292bHN5c19hZGFwdG9yX2dldF9udW1fZm9ybWF0 cyhzdHJ1Y3QgZGV2aWNlICpkZXYpOw0KPiArDQo+ICB2b2lkIG10a19yZG1hX2J5cGFzc19zaGFk b3coc3RydWN0IGRldmljZSAqZGV2KTsNCj4gIGludCBtdGtfcmRtYV9jbGtfZW5hYmxlKHN0cnVj dCBkZXZpY2UgKmRldik7DQo+ICB2b2lkIG10a19yZG1hX2Nsa19kaXNhYmxlKHN0cnVjdCBkZXZp Y2UgKmRldik7DQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2Rp c3Bfb3Zsc3lzX2FkYXB0b3IuYyBiL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZGlzcF9v dmxzeXNfYWRhcHRvci5jDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAw MDAwMC4uN2JjZTJiNzE0M2NiDQo+IC0tLSAvZGV2L251bGwNCj4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL21lZGlhdGVrL210a19kaXNwX292bHN5c19hZGFwdG9yLmMNCj4gQEAgLTAsMCArMSw3NTgg QEANCj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkNCj4gKy8qDQo+ ICsgKiBDb3B5cmlnaHQgKGMpIDIwMjEgTWVkaWFUZWsgSW5jLg0KPiArICovDQo+ICsNCj4gKyNp bmNsdWRlIDxkcm0vZHJtX2ZvdXJjYy5oPg0KPiArI2luY2x1ZGUgPGRybS9kcm1fb2YuaD4NCj4g KyNpbmNsdWRlIDxsaW51eC9jbGsuaD4NCj4gKyNpbmNsdWRlIDxsaW51eC9jb21wb25lbnQuaD4N Cj4gKyNpbmNsdWRlIDxsaW51eC9vZl9wbGF0Zm9ybS5oPg0KPiArI2luY2x1ZGUgPGxpbnV4L29m X2RldmljZS5oPg0KPiArI2luY2x1ZGUgPGxpbnV4L29mX2FkZHJlc3MuaD4NCj4gKyNpbmNsdWRl IDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4NCj4gKyNpbmNsdWRlIDxsaW51eC9wbV9ydW50aW1l Lmg+DQo+ICsjaW5jbHVkZSA8bGludXgvcmVzZXQuaD4NCj4gKyNpbmNsdWRlIDxsaW51eC9zb2Mv bWVkaWF0ZWsvbXRrLWNtZHEuaD4NCj4gKyNpbmNsdWRlIDxsaW51eC9zb2MvbWVkaWF0ZWsvbXRr LW1tc3lzLmg+DQo+ICsjaW5jbHVkZSA8bGludXgvc29jL21lZGlhdGVrL210ay1tdXRleC5oPg0K PiArDQo+ICsjaW5jbHVkZSAibXRrX2Rpc3BfYmxlbmRlci5oIg0KPiArI2luY2x1ZGUgIm10a19k aXNwX2Rydi5oIg0KPiArI2luY2x1ZGUgIm10a19jcnRjLmgiDQoNCkFscGhhYmV0aWMgb3JkZXIu DQoNCj4gKyNpbmNsdWRlICJtdGtfZGRwX2NvbXAuaCINCj4gKyNpbmNsdWRlICJtdGtfZHJtX2Ry di5oIg0KPiArDQo+ICtlbnVtIG10a19vdmxzeXNfYWRhcHRvcl9jb21wX3R5cGUgew0KPiArCU9W TFNZU19BREFQVE9SX1RZUEVfRVhETUEgPSAwLA0KPiArCU9WTFNZU19BREFQVE9SX1RZUEVfQkxF TkRFUiwNCj4gKwlPVkxTWVNfQURBUFRPUl9UWVBFX09VVFBST0MsDQo+ICsJT1ZMU1lTX0FEQVBU T1JfVFlQRV9OVU0sDQo+ICt9Ow0KPiArDQo+ICtlbnVtIG10a19vdmxzeXNfYWRhcHRvcl9jb21w X2lkIHsNCj4gKwlPVkxTWVNfQURBUFRPUl9FWERNQTAsDQo+ICsJT1ZMU1lTX0FEQVBUT1JfRVhE TUExLA0KPiArCU9WTFNZU19BREFQVE9SX0VYRE1BMiwNCj4gKwlPVkxTWVNfQURBUFRPUl9FWERN QTMsDQo+ICsJT1ZMU1lTX0FEQVBUT1JfRVhETUE0LA0KPiArCU9WTFNZU19BREFQVE9SX0VYRE1B NSwNCj4gKwlPVkxTWVNfQURBUFRPUl9FWERNQTYsDQo+ICsJT1ZMU1lTX0FEQVBUT1JfRVhETUE3 LA0KPiArCU9WTFNZU19BREFQVE9SX0VYRE1BOCwNCj4gKwlPVkxTWVNfQURBUFRPUl9FWERNQTks DQo+ICsJT1ZMU1lTX0FEQVBUT1JfRVhETUExMCwNCj4gKwlPVkxTWVNfQURBUFRPUl9FWERNQTEx LA0KPiArCU9WTFNZU19BREFQVE9SX0VYRE1BMTIsDQo+ICsJT1ZMU1lTX0FEQVBUT1JfRVhETUEx MywNCj4gKwlPVkxTWVNfQURBUFRPUl9FWERNQTE0LA0KPiArCU9WTFNZU19BREFQVE9SX0VYRE1B MTUsDQo+ICsJT1ZMU1lTX0FEQVBUT1JfRVhETUExNiwNCj4gKwlPVkxTWVNfQURBUFRPUl9FWERN QTE3LA0KPiArCU9WTFNZU19BREFQVE9SX0VYRE1BMTgsDQo+ICsJT1ZMU1lTX0FEQVBUT1JfRVhE TUExOSwNCj4gKwlPVkxTWVNfQURBUFRPUl9CTEVOREVSMCwNCj4gKwlPVkxTWVNfQURBUFRPUl9C TEVOREVSMSwNCj4gKwlPVkxTWVNfQURBUFRPUl9CTEVOREVSMiwNCj4gKwlPVkxTWVNfQURBUFRP Ul9CTEVOREVSMywNCj4gKwlPVkxTWVNfQURBUFRPUl9CTEVOREVSNCwNCj4gKwlPVkxTWVNfQURB UFRPUl9CTEVOREVSNSwNCj4gKwlPVkxTWVNfQURBUFRPUl9CTEVOREVSNiwNCj4gKwlPVkxTWVNf QURBUFRPUl9CTEVOREVSNywNCj4gKwlPVkxTWVNfQURBUFRPUl9CTEVOREVSOCwNCj4gKwlPVkxT WVNfQURBUFRPUl9CTEVOREVSOSwNCj4gKwlPVkxTWVNfQURBUFRPUl9CTEVOREVSMTAsDQo+ICsJ T1ZMU1lTX0FEQVBUT1JfQkxFTkRFUjExLA0KPiArCU9WTFNZU19BREFQVE9SX0JMRU5ERVIxMiwN Cj4gKwlPVkxTWVNfQURBUFRPUl9CTEVOREVSMTMsDQo+ICsJT1ZMU1lTX0FEQVBUT1JfQkxFTkRF UjE0LA0KPiArCU9WTFNZU19BREFQVE9SX0JMRU5ERVIxNSwNCj4gKwlPVkxTWVNfQURBUFRPUl9C TEVOREVSMTYsDQo+ICsJT1ZMU1lTX0FEQVBUT1JfQkxFTkRFUjE3LA0KPiArCU9WTFNZU19BREFQ VE9SX0JMRU5ERVIxOCwNCj4gKwlPVkxTWVNfQURBUFRPUl9CTEVOREVSMTksDQo+ICsJT1ZMU1lT X0FEQVBUT1JfT1VUUFJPQzAsDQo+ICsJT1ZMU1lTX0FEQVBUT1JfT1VUUFJPQzEsDQo+ICsJT1ZM U1lTX0FEQVBUT1JfT1VUUFJPQzIsDQo+ICsJT1ZMU1lTX0FEQVBUT1JfT1VUUFJPQzMsDQo+ICsJ T1ZMU1lTX0FEQVBUT1JfT1VUUFJPQzQsDQo+ICsJT1ZMU1lTX0FEQVBUT1JfT1VUUFJPQzUsDQo+ ICsJT1ZMU1lTX0FEQVBUT1JfT1VUUFJPQzYsDQo+ICsJT1ZMU1lTX0FEQVBUT1JfT1VUUFJPQzcs DQo+ICsJT1ZMU1lTX0FEQVBUT1JfT1VUUFJPQzgsDQo+ICsJT1ZMU1lTX0FEQVBUT1JfT1VUUFJP QzksDQo+ICsJT1ZMU1lTX0FEQVBUT1JfT1VUUFJPQzEwLA0KPiArCU9WTFNZU19BREFQVE9SX09V VFBST0MxMSwNCj4gKwlPVkxTWVNfQURBUFRPUl9JRF9NQVgNCj4gK307DQo+ICsNCj4gK3N0cnVj dCBvdmxzeXNfYWRhcHRvcl9jb21wX21hdGNoIHsNCj4gKwllbnVtIG10a19vdmxzeXNfYWRhcHRv cl9jb21wX3R5cGUgdHlwZTsNCj4gKwlpbnQgYWxpYXNfaWQ7DQo+ICsJZW51bSBtdGtfZGRwX2Nv bXBfaWQgY29tcF9pZDsNCj4gK307DQo+ICsNCj4gK3N0cnVjdCBtdGtfZGlzcF9vdmxzeXNfYWRh cHRvciB7DQo+ICsJc3RydWN0IGRldmljZSAqb3ZsX2FkYXB0b3JfY29tcFtPVkxTWVNfQURBUFRP Ul9JRF9NQVhdOw0KPiArCXN0cnVjdCBkZXZpY2UgKm1tc3lzX2RldjsNCj4gKwljb25zdCB1bnNp Z25lZCBpbnQgKnBhdGg7DQo+ICsJdW5zaWduZWQgaW50IHBhdGhfc2l6ZTsNCj4gKwl1bnNpZ25l ZCBpbnQgbGF5ZXJfbnI7DQo+ICsJYm9vbCBjaGlsZHJlbl9ib3VuZDsNCj4gKwl1bnNpZ25lZCBp bnQgbWF4X3NpemU7DQo+ICt9Ow0KPiArDQo+ICtzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IHBy aXZhdGVfY29tcF9zdGVtW09WTFNZU19BREFQVE9SX1RZUEVfTlVNXSA9IHsNCj4gKwlbT1ZMU1lT X0FEQVBUT1JfVFlQRV9FWERNQV0JPSAiZXhkbWEiLA0KPiArCVtPVkxTWVNfQURBUFRPUl9UWVBF X0JMRU5ERVJdCT0gImJsZW5kZXIiLA0KPiArCVtPVkxTWVNfQURBUFRPUl9UWVBFX09VVFBST0Nd CT0gIm91dHByb2MiLA0KPiArfTsNCj4gKw0KPiArc3RhdGljIGNvbnN0IHN0cnVjdCBvdmxzeXNf YWRhcHRvcl9jb21wX21hdGNoIGNvbXBfbWF0Y2hlc1tPVkxTWVNfQURBUFRPUl9JRF9NQVhdID0g ew0KPiArCVtPVkxTWVNfQURBUFRPUl9FWERNQTBdICAgPSB7IE9WTFNZU19BREFQVE9SX1RZUEVf RVhETUEsIDAsIEREUF9DT01QT05FTlRfSURfTUFYfSwNCj4gKwlbT1ZMU1lTX0FEQVBUT1JfRVhE TUExXQkgID0geyBPVkxTWVNfQURBUFRPUl9UWVBFX0VYRE1BLCAxLCBERFBfQ09NUE9ORU5UX0lE X01BWH0sDQo+ICsJW09WTFNZU19BREFQVE9SX0VYRE1BMl0JICA9IHsgT1ZMU1lTX0FEQVBUT1Jf VFlQRV9FWERNQSwgMiwgRERQX0NPTVBPTkVOVF9PVkwwX0VYRE1BMn0sDQo+ICsJW09WTFNZU19B REFQVE9SX0VYRE1BM10JICA9IHsgT1ZMU1lTX0FEQVBUT1JfVFlQRV9FWERNQSwgMywgRERQX0NP TVBPTkVOVF9PVkwwX0VYRE1BM30sDQo+ICsJW09WTFNZU19BREFQVE9SX0VYRE1BNF0JICA9IHsg T1ZMU1lTX0FEQVBUT1JfVFlQRV9FWERNQSwgNCwgRERQX0NPTVBPTkVOVF9PVkwwX0VYRE1BNH0s DQo+ICsJW09WTFNZU19BREFQVE9SX0VYRE1BNV0JICA9IHsgT1ZMU1lTX0FEQVBUT1JfVFlQRV9F WERNQSwgNSwgRERQX0NPTVBPTkVOVF9PVkwwX0VYRE1BNX0sDQo+ICsJW09WTFNZU19BREFQVE9S X0VYRE1BNl0JICA9IHsgT1ZMU1lTX0FEQVBUT1JfVFlQRV9FWERNQSwgNiwgRERQX0NPTVBPTkVO VF9PVkwwX0VYRE1BNn0sDQo+ICsJW09WTFNZU19BREFQVE9SX0VYRE1BN10JICA9IHsgT1ZMU1lT X0FEQVBUT1JfVFlQRV9FWERNQSwgNywgRERQX0NPTVBPTkVOVF9PVkwwX0VYRE1BN30sDQo+ICsJ W09WTFNZU19BREFQVE9SX0VYRE1BOF0JICA9IHsgT1ZMU1lTX0FEQVBUT1JfVFlQRV9FWERNQSwg OCwgRERQX0NPTVBPTkVOVF9PVkwwX0VYRE1BOH0sDQo+ICsJW09WTFNZU19BREFQVE9SX0VYRE1B OV0JICA9IHsgT1ZMU1lTX0FEQVBUT1JfVFlQRV9FWERNQSwgOSwgRERQX0NPTVBPTkVOVF9PVkww X0VYRE1BOX0sDQo+ICsJW09WTFNZU19BREFQVE9SX0VYRE1BMTBdICAgPSB7IE9WTFNZU19BREFQ VE9SX1RZUEVfRVhETUEsIDEwLCBERFBfQ09NUE9ORU5UX0lEX01BWH0sDQoNCkVYRE1BMTAgaGFz IG5vIGNvbXBvbmVudCBpZCwgc28ganVzdCBkcm9wIE9WTFNZU19BREFQVE9SX0VYRE1BMTAuDQoN Cj4gKwlbT1ZMU1lTX0FEQVBUT1JfRVhETUExMV0gICA9IHsgT1ZMU1lTX0FEQVBUT1JfVFlQRV9F WERNQSwgMTEsIEREUF9DT01QT05FTlRfSURfTUFYfSwNCg0KRGl0dG8uDQoNCj4gKwlbT1ZMU1lT X0FEQVBUT1JfRVhETUExMl0gICA9IHsgT1ZMU1lTX0FEQVBUT1JfVFlQRV9FWERNQSwgMTIsIERE UF9DT01QT05FTlRfT1ZMMV9FWERNQTJ9LA0KPiArCVtPVkxTWVNfQURBUFRPUl9FWERNQTEzXSAg ID0geyBPVkxTWVNfQURBUFRPUl9UWVBFX0VYRE1BLCAxMywgRERQX0NPTVBPTkVOVF9PVkwxX0VY RE1BM30sDQo+ICsJW09WTFNZU19BREFQVE9SX0VYRE1BMTRdICAgPSB7IE9WTFNZU19BREFQVE9S X1RZUEVfRVhETUEsIDE0LCBERFBfQ09NUE9ORU5UX09WTDFfRVhETUE0fSwNCj4gKwlbT1ZMU1lT X0FEQVBUT1JfRVhETUExNV0gICA9IHsgT1ZMU1lTX0FEQVBUT1JfVFlQRV9FWERNQSwgMTUsIERE UF9DT01QT05FTlRfT1ZMMV9FWERNQTV9LA0KPiArCVtPVkxTWVNfQURBUFRPUl9FWERNQTE2XSAg ID0geyBPVkxTWVNfQURBUFRPUl9UWVBFX0VYRE1BLCAxNiwgRERQX0NPTVBPTkVOVF9PVkwxX0VY RE1BNn0sDQo+ICsJW09WTFNZU19BREFQVE9SX0VYRE1BMTddICAgPSB7IE9WTFNZU19BREFQVE9S X1RZUEVfRVhETUEsIDE3LCBERFBfQ09NUE9ORU5UX09WTDFfRVhETUE3fSwNCj4gKwlbT1ZMU1lT X0FEQVBUT1JfRVhETUExOF0gICA9IHsgT1ZMU1lTX0FEQVBUT1JfVFlQRV9FWERNQSwgMTgsIERE UF9DT01QT05FTlRfT1ZMMV9FWERNQTh9LA0KPiArCVtPVkxTWVNfQURBUFRPUl9FWERNQTE5XSAg ID0geyBPVkxTWVNfQURBUFRPUl9UWVBFX0VYRE1BLCAxOSwgRERQX0NPTVBPTkVOVF9PVkwxX0VY RE1BOX0sDQo+ICsJW09WTFNZU19BREFQVE9SX0JMRU5ERVIwXSA9IHsgT1ZMU1lTX0FEQVBUT1Jf VFlQRV9CTEVOREVSLCAwLCBERFBfQ09NUE9ORU5UX0lEX01BWH0sDQoNCkRpdHRvLg0KDQo+ICsJ W09WTFNZU19BREFQVE9SX0JMRU5ERVIxXSA9IHsgT1ZMU1lTX0FEQVBUT1JfVFlQRV9CTEVOREVS LCAxLCBERFBfQ09NUE9ORU5UX09WTDBfQkxFTkRFUjF9LA0KPiArCVtPVkxTWVNfQURBUFRPUl9C TEVOREVSMl0gPSB7IE9WTFNZU19BREFQVE9SX1RZUEVfQkxFTkRFUiwgMiwgRERQX0NPTVBPTkVO VF9PVkwwX0JMRU5ERVIyfSwNCj4gKwlbT1ZMU1lTX0FEQVBUT1JfQkxFTkRFUjNdID0geyBPVkxT WVNfQURBUFRPUl9UWVBFX0JMRU5ERVIsIDMsIEREUF9DT01QT05FTlRfT1ZMMF9CTEVOREVSM30s DQo+ICsJW09WTFNZU19BREFQVE9SX0JMRU5ERVI0XSA9IHsgT1ZMU1lTX0FEQVBUT1JfVFlQRV9C TEVOREVSLCA0LCBERFBfQ09NUE9ORU5UX09WTDBfQkxFTkRFUjR9LA0KPiArCVtPVkxTWVNfQURB UFRPUl9CTEVOREVSNV0gPSB7IE9WTFNZU19BREFQVE9SX1RZUEVfQkxFTkRFUiwgNSwgRERQX0NP TVBPTkVOVF9PVkwwX0JMRU5ERVI1fSwNCj4gKwlbT1ZMU1lTX0FEQVBUT1JfQkxFTkRFUjZdID0g eyBPVkxTWVNfQURBUFRPUl9UWVBFX0JMRU5ERVIsIDYsIEREUF9DT01QT05FTlRfT1ZMMF9CTEVO REVSNn0sDQo+ICsJW09WTFNZU19BREFQVE9SX0JMRU5ERVI3XSA9IHsgT1ZMU1lTX0FEQVBUT1Jf VFlQRV9CTEVOREVSLCA3LCBERFBfQ09NUE9ORU5UX09WTDBfQkxFTkRFUjd9LA0KPiArCVtPVkxT WVNfQURBUFRPUl9CTEVOREVSOF0gPSB7IE9WTFNZU19BREFQVE9SX1RZUEVfQkxFTkRFUiwgOCwg RERQX0NPTVBPTkVOVF9PVkwwX0JMRU5ERVI4fSwNCj4gKwlbT1ZMU1lTX0FEQVBUT1JfQkxFTkRF UjldID0geyBPVkxTWVNfQURBUFRPUl9UWVBFX0JMRU5ERVIsIDksIEREUF9DT01QT05FTlRfT1ZM MF9CTEVOREVSOX0sDQo+ICsJW09WTFNZU19BREFQVE9SX0JMRU5ERVIxMF0gPSB7IE9WTFNZU19B REFQVE9SX1RZUEVfQkxFTkRFUiwgMTAsIEREUF9DT01QT05FTlRfSURfTUFYfSwNCg0KRGl0dG8u DQoNCj4gKwlbT1ZMU1lTX0FEQVBUT1JfQkxFTkRFUjExXSA9IHsNCj4gKwkJT1ZMU1lTX0FEQVBU T1JfVFlQRV9CTEVOREVSLCAxMSwgRERQX0NPTVBPTkVOVF9PVkwxX0JMRU5ERVIxfSwNCj4gKwlb T1ZMU1lTX0FEQVBUT1JfQkxFTkRFUjEyXSA9IHsNCj4gKwkJT1ZMU1lTX0FEQVBUT1JfVFlQRV9C TEVOREVSLCAxMiwgRERQX0NPTVBPTkVOVF9PVkwxX0JMRU5ERVIyfSwNCj4gKwlbT1ZMU1lTX0FE QVBUT1JfQkxFTkRFUjEzXSA9IHsNCj4gKwkJT1ZMU1lTX0FEQVBUT1JfVFlQRV9CTEVOREVSLCAx MywgRERQX0NPTVBPTkVOVF9PVkwxX0JMRU5ERVIzfSwNCj4gKwlbT1ZMU1lTX0FEQVBUT1JfQkxF TkRFUjE0XSA9IHsNCj4gKwkJT1ZMU1lTX0FEQVBUT1JfVFlQRV9CTEVOREVSLCAxNCwgRERQX0NP TVBPTkVOVF9PVkwxX0JMRU5ERVI0fSwNCj4gKwlbT1ZMU1lTX0FEQVBUT1JfQkxFTkRFUjE1XSA9 IHsNCj4gKwkJT1ZMU1lTX0FEQVBUT1JfVFlQRV9CTEVOREVSLCAxNSwgRERQX0NPTVBPTkVOVF9P VkwxX0JMRU5ERVI1fSwNCj4gKwlbT1ZMU1lTX0FEQVBUT1JfQkxFTkRFUjE2XSA9IHsNCj4gKwkJ T1ZMU1lTX0FEQVBUT1JfVFlQRV9CTEVOREVSLCAxNiwgRERQX0NPTVBPTkVOVF9PVkwxX0JMRU5E RVI2fSwNCj4gKwlbT1ZMU1lTX0FEQVBUT1JfQkxFTkRFUjE3XSA9IHsNCj4gKwkJT1ZMU1lTX0FE QVBUT1JfVFlQRV9CTEVOREVSLCAxNywgRERQX0NPTVBPTkVOVF9PVkwxX0JMRU5ERVI3fSwNCj4g KwlbT1ZMU1lTX0FEQVBUT1JfQkxFTkRFUjE4XSA9IHsNCj4gKwkJT1ZMU1lTX0FEQVBUT1JfVFlQ RV9CTEVOREVSLCAxOCwgRERQX0NPTVBPTkVOVF9PVkwxX0JMRU5ERVI4fSwNCj4gKwlbT1ZMU1lT X0FEQVBUT1JfQkxFTkRFUjE5XSA9IHsNCj4gKwkJT1ZMU1lTX0FEQVBUT1JfVFlQRV9CTEVOREVS LCAxOSwgRERQX0NPTVBPTkVOVF9PVkwxX0JMRU5ERVI5fSwNCj4gKwlbT1ZMU1lTX0FEQVBUT1Jf T1VUUFJPQzBdID0geyBPVkxTWVNfQURBUFRPUl9UWVBFX09VVFBST0MsIDAsIEREUF9DT01QT05F TlRfT1ZMMF9PVVRQUk9DMH0sDQo+ICsJW09WTFNZU19BREFQVE9SX09VVFBST0MxXSA9IHsgT1ZM U1lTX0FEQVBUT1JfVFlQRV9PVVRQUk9DLCAxLCBERFBfQ09NUE9ORU5UX09WTDBfT1VUUFJPQzF9 LA0KPiArCVtPVkxTWVNfQURBUFRPUl9PVVRQUk9DMl0gPSB7IE9WTFNZU19BREFQVE9SX1RZUEVf T1VUUFJPQywgMiwgRERQX0NPTVBPTkVOVF9JRF9NQVh9LA0KPiArCVtPVkxTWVNfQURBUFRPUl9P VVRQUk9DM10gPSB7IE9WTFNZU19BREFQVE9SX1RZUEVfT1VUUFJPQywgMywgRERQX0NPTVBPTkVO VF9JRF9NQVh9LA0KPiArCVtPVkxTWVNfQURBUFRPUl9PVVRQUk9DNF0gPSB7IE9WTFNZU19BREFQ VE9SX1RZUEVfT1VUUFJPQywgNCwgRERQX0NPTVBPTkVOVF9JRF9NQVh9LA0KPiArCVtPVkxTWVNf QURBUFRPUl9PVVRQUk9DNV0gPSB7IE9WTFNZU19BREFQVE9SX1RZUEVfT1VUUFJPQywgNSwgRERQ X0NPTVBPTkVOVF9JRF9NQVh9LA0KDQpEaXR0by4NCg0KPiArCVtPVkxTWVNfQURBUFRPUl9PVVRQ Uk9DNl0gPSB7IE9WTFNZU19BREFQVE9SX1RZUEVfT1VUUFJPQywgNiwgRERQX0NPTVBPTkVOVF9P VkwxX09VVFBST0MwfSwNCj4gKwlbT1ZMU1lTX0FEQVBUT1JfT1VUUFJPQzddID0geyBPVkxTWVNf QURBUFRPUl9UWVBFX09VVFBST0MsIDcsIEREUF9DT01QT05FTlRfSURfTUFYfSwNCj4gKwlbT1ZM U1lTX0FEQVBUT1JfT1VUUFJPQzhdID0geyBPVkxTWVNfQURBUFRPUl9UWVBFX09VVFBST0MsIDgs IEREUF9DT01QT05FTlRfSURfTUFYfSwNCj4gKwlbT1ZMU1lTX0FEQVBUT1JfT1VUUFJPQzldID0g eyBPVkxTWVNfQURBUFRPUl9UWVBFX09VVFBST0MsIDksIEREUF9DT01QT05FTlRfSURfTUFYfSwN Cj4gKwlbT1ZMU1lTX0FEQVBUT1JfT1VUUFJPQzEwXSA9IHsgT1ZMU1lTX0FEQVBUT1JfVFlQRV9P VVRQUk9DLCAxMCwgRERQX0NPTVBPTkVOVF9JRF9NQVh9LA0KPiArCVtPVkxTWVNfQURBUFRPUl9P VVRQUk9DMTFdID0geyBPVkxTWVNfQURBUFRPUl9UWVBFX09VVFBST0MsIDExLCBERFBfQ09NUE9O RU5UX0lEX01BWH0sDQoNCkRpdHRvLg0KDQo+ICt9Ow0KPiArDQo+ICtzdGF0aWMgY29uc3QgdW5z aWduZWQgaW50IG10ODE5Nl9tdGtfb3ZsX21haW5bXSA9IHsNCj4gKwlPVkxTWVNfQURBUFRPUl9F WERNQTIsDQo+ICsJT1ZMU1lTX0FEQVBUT1JfQkxFTkRFUjEsDQo+ICsJT1ZMU1lTX0FEQVBUT1Jf RVhETUEzLA0KPiArCU9WTFNZU19BREFQVE9SX0JMRU5ERVIyLA0KPiArCU9WTFNZU19BREFQVE9S X0VYRE1BNCwNCj4gKwlPVkxTWVNfQURBUFRPUl9CTEVOREVSMywNCj4gKwlPVkxTWVNfQURBUFRP Ul9FWERNQTUsDQo+ICsJT1ZMU1lTX0FEQVBUT1JfQkxFTkRFUjQsDQo+ICsJT1ZMU1lTX0FEQVBU T1JfT1VUUFJPQzAsDQo+ICt9Ow0KPiArDQo+ICtzdGF0aWMgY29uc3QgdW5zaWduZWQgaW50IG10 ODE5Nl9tdGtfb3ZsX2V4dFtdID0gew0KPiArCU9WTFNZU19BREFQVE9SX0VYRE1BNiwNCj4gKwlP VkxTWVNfQURBUFRPUl9CTEVOREVSNSwNCj4gKwlPVkxTWVNfQURBUFRPUl9FWERNQTcsDQo+ICsJ T1ZMU1lTX0FEQVBUT1JfQkxFTkRFUjYsDQo+ICsJT1ZMU1lTX0FEQVBUT1JfRVhETUE4LA0KPiAr CU9WTFNZU19BREFQVE9SX0JMRU5ERVI3LA0KPiArCU9WTFNZU19BREFQVE9SX0VYRE1BOSwNCj4g KwlPVkxTWVNfQURBUFRPUl9CTEVOREVSOCwNCj4gKwlPVkxTWVNfQURBUFRPUl9PVVRQUk9DMSwN Cj4gK307DQo+ICsNCj4gK3N0YXRpYyBjb25zdCB1bnNpZ25lZCBpbnQgbXQ4MTk2X210a19vdmxf dGhpcmRbXSA9IHsNCj4gKwlPVkxTWVNfQURBUFRPUl9FWERNQTEyLA0KPiArCU9WTFNZU19BREFQ VE9SX0JMRU5ERVIxMSwNCj4gKwlPVkxTWVNfQURBUFRPUl9FWERNQTEzLA0KPiArCU9WTFNZU19B REFQVE9SX0JMRU5ERVIxMiwNCj4gKwlPVkxTWVNfQURBUFRPUl9FWERNQTE0LA0KPiArCU9WTFNZ U19BREFQVE9SX0JMRU5ERVIxMywNCj4gKwlPVkxTWVNfQURBUFRPUl9FWERNQTE1LA0KPiArCU9W TFNZU19BREFQVE9SX0JMRU5ERVIxNCwNCj4gKwlPVkxTWVNfQURBUFRPUl9PVVRQUk9DNiwNCj4g K307DQo+ICsNCj4gK3N0YXRpYyBlbnVtIG10a19vdmxzeXNfYWRhcHRvcl9jb21wX3R5cGUgZ2V0 X3R5cGUoZW51bSBtdGtfb3Zsc3lzX2FkYXB0b3JfY29tcF9pZCBpZCkNCj4gK3sNCj4gKwlyZXR1 cm4gY29tcF9tYXRjaGVzW2lkXS50eXBlOw0KPiArfQ0KPiArDQo+ICtzdGF0aWMgZW51bSBtdGtf ZGRwX2NvbXBfaWQgZ2V0X2RkcF9jb21wX2lkKGVudW0gbXRrX292bHN5c19hZGFwdG9yX2NvbXBf aWQgaWQpDQo+ICt7DQo+ICsJcmV0dXJuIGNvbXBfbWF0Y2hlc1tpZF0uY29tcF9pZDsNCj4gK30N Cj4gKw0KPiArc3RhdGljIHN0cnVjdCBkZXZpY2UgKmdldF9jb21wX2J5X3R5cGVfaWR4KHN0cnVj dCBkZXZpY2UgKmRldiwNCj4gKwkJCQkJICAgZW51bSBtdGtfb3Zsc3lzX2FkYXB0b3JfY29tcF90 eXBlIHR5cGUsDQo+ICsJCQkJCSAgIHVuc2lnbmVkIGludCBpZHgpDQo+ICt7DQo+ICsJc3RydWN0 IG10a19kaXNwX292bHN5c19hZGFwdG9yICpwcml2ID0gZGV2X2dldF9kcnZkYXRhKGRldik7DQo+ ICsJaW50IGk7DQo+ICsJaW50IGNvdW50ID0gMDsNCj4gKw0KPiArCWZvciAoaSA9IDA7IGkgPCBw cml2LT5wYXRoX3NpemU7IGkrKykgew0KPiArCQlpZiAoZ2V0X3R5cGUocHJpdi0+cGF0aFtpXSkg PT0gdHlwZSkgew0KPiArCQkJaWYgKGNvdW50ID09IGlkeCkNCj4gKwkJCQlyZXR1cm4gcHJpdi0+ b3ZsX2FkYXB0b3JfY29tcFtwcml2LT5wYXRoW2ldXTsNCj4gKwkJCWNvdW50Kys7DQo+ICsJCX0N Cj4gKwl9DQo+ICsJcmV0dXJuIE5VTEw7DQo+ICt9DQo+ICsNCj4gK3ZvaWQgbXRrX292bHN5c19h ZGFwdG9yX2xheWVyX2NvbmZpZyhzdHJ1Y3QgZGV2aWNlICpkZXYsIHVuc2lnbmVkIGludCBpZHgs DQo+ICsJCQkJICAgICBzdHJ1Y3QgbXRrX3BsYW5lX3N0YXRlICpzdGF0ZSwNCj4gKwkJCQkgICAg IHN0cnVjdCBjbWRxX3BrdCAqY21kcV9wa3QpDQo+ICt7DQo+ICsJc3RydWN0IG10a19wbGFuZV9w ZW5kaW5nX3N0YXRlICpwZW5kaW5nID0gJnN0YXRlLT5wZW5kaW5nOw0KPiArCXN0cnVjdCBkZXZp Y2UgKmV4ZG1hOw0KPiArCXN0cnVjdCBkZXZpY2UgKmJsZW5kZXI7DQo+ICsJdW5zaWduZWQgaW50 IGFsaWduX3dpZHRoID0gMDsNCj4gKwljb25zdCBzdHJ1Y3QgZHJtX2Zvcm1hdF9pbmZvICpmbXRf aW5mbyA9IGRybV9mb3JtYXRfaW5mbyhwZW5kaW5nLT5mb3JtYXQpOw0KPiArCXN0cnVjdCBtdGtf ZGlzcF9vdmxzeXNfYWRhcHRvciAqcHJpdiA9IGRldl9nZXRfZHJ2ZGF0YShkZXYpOw0KPiArDQo+ ICsJZGV2X2RiZyhkZXYsICIlcysgaWR4OiVkLCBlbmFibGU6JWQsIGZtdDoweCV4XG4iLCBfX2Z1 bmNfXywgaWR4LA0KPiArCQlwZW5kaW5nLT5lbmFibGUsIHBlbmRpbmctPmZvcm1hdCk7DQo+ICsJ ZGV2X2RiZyhkZXYsICJhZGRyIDB4JXBhZCwgZmIgdzolZCwgeyVkLCVkLCVkLCVkfVxuIiwNCj4g KwkJJnBlbmRpbmctPmFkZHIsIChwZW5kaW5nLT5waXRjaCAvIGZtdF9pbmZvLT5jcHBbMF0pLA0K PiArCQlwZW5kaW5nLT54LCBwZW5kaW5nLT55LCBwZW5kaW5nLT53aWR0aCwgcGVuZGluZy0+aGVp Z2h0KTsNCj4gKw0KPiArCWV4ZG1hID0gZ2V0X2NvbXBfYnlfdHlwZV9pZHgoZGV2LCBPVkxTWVNf QURBUFRPUl9UWVBFX0VYRE1BLCBpZHgpOw0KPiArCWJsZW5kZXIgPSBnZXRfY29tcF9ieV90eXBl X2lkeChkZXYsIE9WTFNZU19BREFQVE9SX1RZUEVfQkxFTkRFUiwgaWR4KTsNCj4gKw0KPiArCS8q IE9WTFNZUyBpcyBpbiAxVDJQIGRvbWFpbiwgd2lkdGggbmVlZHMgdG8gYmUgMiBwaXhlbHMgYWxp Z24gKi8NCj4gKwlhbGlnbl93aWR0aCA9IEFMSUdOX0RPV04ocGVuZGluZy0+d2lkdGgsIDIpOw0K DQphbGlnbl93aWR0aCBpcyB1c2VsZXNzLCBzbyBkcm9wIGl0Lg0KDQo+ICsNCj4gKwlpZiAoIXBl bmRpbmctPmVuYWJsZSB8fCBwZW5kaW5nLT5oZWlnaHQgPT0gMCB8fCBhbGlnbl93aWR0aCA9PSAw IHx8DQo+ICsJICAgIHBlbmRpbmctPnggPiBwcml2LT5tYXhfc2l6ZSB8fCBwZW5kaW5nLT55ID4g cHJpdi0+bWF4X3NpemUpIHsNCj4gKwkJcGVuZGluZy0+ZW5hYmxlID0gZmFsc2U7DQo+ICsJCW10 a19kaXNwX2V4ZG1hX3N0b3AoZXhkbWEsIGNtZHFfcGt0KTsNCj4gKwkJbXRrX2Rpc3BfYmxlbmRl cl9sYXllcl9jb25maWcoYmxlbmRlciwgc3RhdGUsIGNtZHFfcGt0KTsNCj4gKwkJcmV0dXJuOw0K PiArCX0NCj4gKw0KPiArCW10a19kaXNwX2V4ZG1hX2NvbmZpZyhleGRtYSwgc3RhdGUsIGNtZHFf cGt0KTsNCg0KbXRrX2Rpc3BfZXhkbWFfY29uZmlnKCkgZG9lcyBzb21ldGhpbmcgbGlrZSBtdGtf b3ZsX2xheWVyX2NvbmZpZygpLCBzbyBJIHdvdWxkIGxpa2UgdG8gcmVuYW1lIGl0IHRvIG10a19k aXNwX2V4ZG1hX2xheWVyX2NvbmZpZygpLg0KDQo+ICsNCj4gKwltdGtfZGlzcF9ibGVuZGVyX2xh eWVyX2NvbmZpZyhibGVuZGVyLCBzdGF0ZSwgY21kcV9wa3QpOw0KPiArDQo+ICsJbXRrX2Rpc3Bf ZXhkbWFfc3RhcnQoZXhkbWEsIGNtZHFfcGt0KTsNCg0KV2h5IGNhbGwgc3RhcnQgaW4gbGF5ZXIg Y29uZmlnPw0Kc3RhcnQgc2hvdWxkIGJlIGNhbGxlZCBpbiBzdGFydC4NCg0KPiArCW10a19kaXNw X2JsZW5kZXJfc3RhcnQoYmxlbmRlciwgY21kcV9wa3QpOw0KDQpEaXR0by4NCg0KPiArfQ0KPiAr DQo+ICt2b2lkIG10a19vdmxzeXNfYWRhcHRvcl9jb25maWcoc3RydWN0IGRldmljZSAqZGV2LCB1 bnNpZ25lZCBpbnQgdywNCj4gKwkJCSAgICAgICB1bnNpZ25lZCBpbnQgaCwgdW5zaWduZWQgaW50 IHZyZWZyZXNoLA0KPiArCQkJICAgICAgIHVuc2lnbmVkIGludCBicGMsIHN0cnVjdCBjbWRxX3Br dCAqY21kcV9wa3QpDQo+ICt7DQo+ICsJc3RydWN0IG10a19kaXNwX292bHN5c19hZGFwdG9yICpw cml2ID0gZGV2X2dldF9kcnZkYXRhKGRldik7DQo+ICsJaW50IGk7DQo+ICsJaW50IGJsZW5kZXJf aWR4ID0gMDsNCj4gKw0KPiArCWZvciAoaSA9IDA7IGkgPCBwcml2LT5wYXRoX3NpemU7IGkrKykg ew0KPiArCQllbnVtIG10a19kaXNwX2JsZW5kZXJfbGF5ZXIgYmxlbmRlcjsNCj4gKw0KPiArCQlp ZiAoZ2V0X3R5cGUocHJpdi0+cGF0aFtpXSkgPT0gT1ZMU1lTX0FEQVBUT1JfVFlQRV9CTEVOREVS KSB7DQo+ICsJCQlibGVuZGVyX2lkeCsrOw0KPiArCQkJaWYgKHByaXYtPmxheWVyX25yID09IDEp DQo+ICsJCQkJYmxlbmRlciA9IFNJTkdMRV9CTEVOREVSOw0KPiArCQkJZWxzZSBpZiAoYmxlbmRl cl9pZHggPT0gMSkNCj4gKwkJCQlibGVuZGVyID0gRklSU1RfQkxFTkRFUjsNCj4gKwkJCWVsc2Ug aWYgKGJsZW5kZXJfaWR4ID09IHByaXYtPmxheWVyX25yKQ0KPiArCQkJCWJsZW5kZXIgPSBMQVNU X0JMRU5ERVI7DQo+ICsJCQllbHNlDQo+ICsJCQkJYmxlbmRlciA9IE9USEVSUzsNCj4gKw0KPiAr CQkJbXRrX2Rpc3BfYmxlbmRlcl9jb25maWcocHJpdi0+b3ZsX2FkYXB0b3JfY29tcFtwcml2LT5w YXRoW2ldXSwgdywgaCwNCj4gKwkJCQkJCXZyZWZyZXNoLCBicGMsIGJsZW5kZXIsIGNtZHFfcGt0 KTsNCg0KbXRrX2Rpc3BfYmxlbmRlcl9jb25maWcocHJpdi0+b3ZsX2FkYXB0b3JfY29tcFtwcml2 LT5wYXRoW2ldXSwgdywgaCwNCgkJCXZyZWZyZXNoLCBicGMsIGJsZW5kZXJfaWR4ID09IDEsIGJs ZW5kZXJfaWR4ID09IHByaXYtPmxheWVyX25yLCBjbWRxX3BrdCk7DQoNCj4gKwkJfSBlbHNlIGlm IChnZXRfdHlwZShwcml2LT5wYXRoW2ldKSA9PSBPVkxTWVNfQURBUFRPUl9UWVBFX09VVFBST0Mp IHsNCj4gKwkJCW10a19kaXNwX291dHByb2NfY29uZmlnKHByaXYtPm92bF9hZGFwdG9yX2NvbXBb cHJpdi0+cGF0aFtpXV0sIHcsIGgsDQo+ICsJCQkJCQl2cmVmcmVzaCwgYnBjLCBjbWRxX3BrdCk7 DQo+ICsJCX0NCj4gKwl9DQo+ICt9DQo+ICsNCj4gK2ludCBtdGtfb3Zsc3lzX2FkYXB0b3JfbGF5 ZXJfY2hlY2soc3RydWN0IGRldmljZSAqZGV2LA0KPiArCQkJCSAgIHVuc2lnbmVkIGludCBpZHgs DQo+ICsJCQkJICAgc3RydWN0IG10a19wbGFuZV9zdGF0ZSAqbXRrX3N0YXRlKQ0KPiArew0KPiAr CXN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKnN0YXRlID0gJm10a19zdGF0ZS0+YmFzZTsNCj4gKw0K PiArCS8qIENoZWNrIGlmIGFueSB1bnN1cHBvcnRlZCByb3RhdGlvbiBpcyBzZXQgKi8NCj4gKwlp ZiAoc3RhdGUtPnJvdGF0aW9uICYgfkRSTV9NT0RFX1JPVEFURV8wKQ0KPiArCQlyZXR1cm4gLUVJ TlZBTDsNCj4gKw0KPiArCXJldHVybiAwOw0KPiArfQ0KPiArDQo+ICt2b2lkIG10a19vdmxzeXNf YWRhcHRvcl9zdGFydChzdHJ1Y3QgZGV2aWNlICpkZXYpDQo+ICt7DQo+ICsJc3RydWN0IG10a19k aXNwX292bHN5c19hZGFwdG9yICpwcml2ID0gZGV2X2dldF9kcnZkYXRhKGRldik7DQo+ICsJaW50 IGk7DQo+ICsNCj4gKwlmb3IgKGkgPSAwOyBpIDwgcHJpdi0+cGF0aF9zaXplOyBpKyspIHsNCj4g KwkJaWYgKGdldF90eXBlKHByaXYtPnBhdGhbaV0pID09IE9WTFNZU19BREFQVE9SX1RZUEVfRVhE TUEpDQo+ICsJCQltdGtfZGlzcF9leGRtYV9zdGFydChwcml2LT5vdmxfYWRhcHRvcl9jb21wW3By aXYtPnBhdGhbaV1dLCBOVUxMKTsNCg0KVGhlIHN0YXJ0IG5ldmVyIHVzZSBjbWRxLCBzbyByZW1v dmUgdGhlIGNtZHEgcGFyYW1ldGVyLg0KDQo+ICsJCWVsc2UgaWYgKGdldF90eXBlKHByaXYtPnBh dGhbaV0pID09IE9WTFNZU19BREFQVE9SX1RZUEVfQkxFTkRFUikNCj4gKwkJCW10a19kaXNwX2Js ZW5kZXJfc3RhcnQocHJpdi0+b3ZsX2FkYXB0b3JfY29tcFtwcml2LT5wYXRoW2ldXSwgTlVMTCk7 DQoNCkRpdHRvLg0KDQo+ICsJCWVsc2UNCj4gKwkJCW10a19kaXNwX291dHByb2Nfc3RhcnQocHJp di0+b3ZsX2FkYXB0b3JfY29tcFtwcml2LT5wYXRoW2ldXSk7DQo+ICsJfQ0KPiArfQ0KPiArDQo+ ICt2b2lkIG10a19vdmxzeXNfYWRhcHRvcl9zdG9wKHN0cnVjdCBkZXZpY2UgKmRldikNCj4gK3sN Cj4gKwlzdHJ1Y3QgbXRrX2Rpc3Bfb3Zsc3lzX2FkYXB0b3IgKnByaXYgPSBkZXZfZ2V0X2RydmRh dGEoZGV2KTsNCj4gKwlpbnQgaTsNCj4gKw0KPiArCWZvciAoaSA9IDA7IGkgPCBwcml2LT5wYXRo X3NpemU7IGkrKykgew0KPiArCQlpZiAoZ2V0X3R5cGUocHJpdi0+cGF0aFtpXSkgPT0gT1ZMU1lT X0FEQVBUT1JfVFlQRV9FWERNQSkNCj4gKwkJCW10a19kaXNwX2V4ZG1hX3N0b3AocHJpdi0+b3Zs X2FkYXB0b3JfY29tcFtwcml2LT5wYXRoW2ldXSwgTlVMTCk7DQoNCkRpdHRvLg0KDQo+ICsJCWVs c2UgaWYgKGdldF90eXBlKHByaXYtPnBhdGhbaV0pID09IE9WTFNZU19BREFQVE9SX1RZUEVfQkxF TkRFUikNCj4gKwkJCW10a19kaXNwX2JsZW5kZXJfc3RvcChwcml2LT5vdmxfYWRhcHRvcl9jb21w W3ByaXYtPnBhdGhbaV1dLCBOVUxMKTsNCg0KRGl0dG8uDQoNCj4gKwkJZWxzZQ0KPiArCQkJbXRr X2Rpc3Bfb3V0cHJvY19zdG9wKHByaXYtPm92bF9hZGFwdG9yX2NvbXBbcHJpdi0+cGF0aFtpXV0p Ow0KPiArCX0NCj4gK30NCj4gKw0KPiAraW50IG10a19vdmxzeXNfYWRhcHRvcl9jbGtfZW5hYmxl KHN0cnVjdCBkZXZpY2UgKmRldikNCj4gK3sNCj4gKwlzdHJ1Y3QgbXRrX2Rpc3Bfb3Zsc3lzX2Fk YXB0b3IgKnByaXYgPSBkZXZfZ2V0X2RydmRhdGEoZGV2KTsNCj4gKwlzdHJ1Y3QgZGV2aWNlICpj b21wOw0KPiArCWludCByZXQ7DQo+ICsJaW50IGk7DQo+ICsNCj4gKwlmb3IgKGkgPSAwOyBpIDwg T1ZMU1lTX0FEQVBUT1JfSURfTUFYOyBpKyspIHsNCj4gKwkJY29tcCA9IHByaXYtPm92bF9hZGFw dG9yX2NvbXBbaV07DQo+ICsNCj4gKwkJaWYgKCFjb21wKQ0KPiArCQkJY29udGludWU7DQo+ICsN Cj4gKwkJaWYgKGdldF90eXBlKGkpICE9IE9WTFNZU19BREFQVE9SX1RZUEVfRVhETUEpDQo+ICsJ CQljb250aW51ZTsNCj4gKw0KPiArCQlyZXQgPSBwbV9ydW50aW1lX2dldF9zeW5jKGNvbXApOw0K DQpSZWZlciB0byBtdGtfb3ZsX2FkYXB0b3JfcG93ZXJfb24oKS4NClRoaXMgc2hvdWxkIGJlIGRv bmUgaW4gcG93ZXJfb24oKSBjYWxsYmFjayBmdW5jdGlvbi4NCg0KPiArCQlpZiAocmV0IDwgMCkg ew0KPiArCQkJZGV2X2VycihkZXYsICJGYWlsZWQgdG8gZW5hYmxlIHBvd2VyIGRvbWFpbiAlZCwg ZXJyICVkXG4iLCBpLCByZXQpOw0KPiArCQkJZ290byBwd3JfZXJyOw0KPiArCQl9DQo+ICsJfQ0K PiArDQo+ICsJZm9yIChpID0gMDsgaSA8IE9WTFNZU19BREFQVE9SX0lEX01BWDsgaSsrKSB7DQo+ ICsJCWNvbXAgPSBwcml2LT5vdmxfYWRhcHRvcl9jb21wW2ldOw0KPiArDQo+ICsJCWlmICghY29t cCkNCj4gKwkJCWNvbnRpbnVlOw0KPiArDQo+ICsJCWlmIChnZXRfdHlwZShpKSA9PSBPVkxTWVNf QURBUFRPUl9UWVBFX0VYRE1BKQ0KPiArCQkJcmV0ID0gbXRrX2Rpc3BfZXhkbWFfY2xrX2VuYWJs ZShjb21wKTsNCj4gKwkJZWxzZSBpZiAoZ2V0X3R5cGUoaSkgPT0gT1ZMU1lTX0FEQVBUT1JfVFlQ RV9CTEVOREVSKQ0KPiArCQkJcmV0ID0gbXRrX2Rpc3BfYmxlbmRlcl9jbGtfZW5hYmxlKGNvbXAp Ow0KPiArCQllbHNlDQo+ICsJCQlyZXQgPSBtdGtfZGlzcF9vdXRwcm9jX2Nsa19lbmFibGUoY29t cCk7DQo+ICsNCj4gKwkJaWYgKHJldCkgew0KPiArCQkJZGV2X2VycihkZXYsICJGYWlsZWQgdG8g ZW5hYmxlIGNsb2NrICVkLCBlcnIgJWRcbiIsIGksIHJldCk7DQo+ICsJCQlnb3RvIGNsa19lcnI7 DQo+ICsJCX0NCj4gKwl9DQo+ICsNCj4gKwlyZXR1cm4gcmV0Ow0KPiArDQo+ICtjbGtfZXJyOg0K PiArCXdoaWxlICgtLWkgPj0gMCkgew0KPiArCQljb21wID0gcHJpdi0+b3ZsX2FkYXB0b3JfY29t cFtpXTsNCj4gKwkJaWYgKCFjb21wKQ0KPiArCQkJY29udGludWU7DQo+ICsJCWlmIChnZXRfdHlw ZShpKSA9PSBPVkxTWVNfQURBUFRPUl9UWVBFX0VYRE1BKQ0KPiArCQkJbXRrX2Rpc3BfZXhkbWFf Y2xrX2Rpc2FibGUoY29tcCk7DQo+ICsJCWVsc2UgaWYgKGdldF90eXBlKGkpID09IE9WTFNZU19B REFQVE9SX1RZUEVfQkxFTkRFUikNCj4gKwkJCW10a19kaXNwX2JsZW5kZXJfY2xrX2Rpc2FibGUo Y29tcCk7DQo+ICsJCWVsc2UNCj4gKwkJCW10a19kaXNwX291dHByb2NfY2xrX2Rpc2FibGUoY29t cCk7DQo+ICsJfQ0KPiArCWkgPSBPVkxTWVNfQURBUFRPUl9CTEVOREVSMDsNCj4gKw0KPiArcHdy X2VycjoNCj4gKwl3aGlsZSAoLS1pID49IDApIHsNCj4gKwkJY29tcCA9IHByaXYtPm92bF9hZGFw dG9yX2NvbXBbaV07DQo+ICsJCWlmICghY29tcCkNCj4gKwkJCWNvbnRpbnVlOw0KPiArCQlwbV9y dW50aW1lX3B1dChwcml2LT5vdmxfYWRhcHRvcl9jb21wW2ldKTsNCj4gKwl9DQo+ICsNCj4gKwly ZXR1cm4gcmV0Ow0KPiArfQ0KPiArDQo+ICt2b2lkIG10a19vdmxzeXNfYWRhcHRvcl9jbGtfZGlz YWJsZShzdHJ1Y3QgZGV2aWNlICpkZXYpDQo+ICt7DQo+ICsJc3RydWN0IG10a19kaXNwX292bHN5 c19hZGFwdG9yICpwcml2ID0gZGV2X2dldF9kcnZkYXRhKGRldik7DQo+ICsJc3RydWN0IGRldmlj ZSAqY29tcDsNCj4gKwlpbnQgaTsNCj4gKw0KPiArCWZvciAoaSA9IDA7IGkgPCBPVkxTWVNfQURB UFRPUl9JRF9NQVg7IGkrKykgew0KPiArCQljb21wID0gcHJpdi0+b3ZsX2FkYXB0b3JfY29tcFtp XTsNCj4gKw0KPiArCQlpZiAoIWNvbXApDQo+ICsJCQljb250aW51ZTsNCj4gKw0KPiArCQlpZiAo Z2V0X3R5cGUoaSkgPT0gT1ZMU1lTX0FEQVBUT1JfVFlQRV9FWERNQSkgew0KPiArCQkJbXRrX2Rp c3BfZXhkbWFfY2xrX2Rpc2FibGUoY29tcCk7DQo+ICsJCQlwbV9ydW50aW1lX3B1dChjb21wKTsN Cj4gKwkJfSBlbHNlIGlmIChnZXRfdHlwZShpKSA9PSBPVkxTWVNfQURBUFRPUl9UWVBFX0JMRU5E RVIpIHsNCj4gKwkJCW10a19kaXNwX2JsZW5kZXJfY2xrX2Rpc2FibGUoY29tcCk7DQo+ICsJCX0g ZWxzZSB7DQo+ICsJCQltdGtfZGlzcF9vdXRwcm9jX2Nsa19kaXNhYmxlKGNvbXApOw0KPiArCQl9 DQo+ICsJfQ0KPiArfQ0KPiArDQo+ICt1bnNpZ25lZCBpbnQgbXRrX292bHN5c19hZGFwdG9yX2xh eWVyX25yKHN0cnVjdCBkZXZpY2UgKmRldikNCj4gK3sNCj4gKwlzdHJ1Y3QgbXRrX2Rpc3Bfb3Zs c3lzX2FkYXB0b3IgKnByaXYgPSBkZXZfZ2V0X2RydmRhdGEoZGV2KTsNCj4gKw0KPiArCXJldHVy biBwcml2LT5sYXllcl9ucjsNCj4gK30NCj4gKw0KPiArc3RydWN0IGRldmljZSAqbXRrX292bHN5 c19hZGFwdG9yX2RtYV9kZXZfZ2V0KHN0cnVjdCBkZXZpY2UgKmRldikNCj4gK3sNCj4gKwlzdHJ1 Y3QgbXRrX2Rpc3Bfb3Zsc3lzX2FkYXB0b3IgKnByaXYgPSBkZXZfZ2V0X2RydmRhdGEoZGV2KTsN Cj4gKw0KPiArCXJldHVybiBwcml2LT5vdmxfYWRhcHRvcl9jb21wW3ByaXYtPnBhdGhbMF1dOw0K PiArfQ0KPiArDQo+ICt2b2lkIG10a19vdmxzeXNfYWRhcHRvcl9yZWdpc3Rlcl92YmxhbmtfY2Io c3RydWN0IGRldmljZSAqZGV2LCB2b2lkICgqdmJsYW5rX2NiKSh2b2lkICopLA0KPiArCQkJCQkg ICB2b2lkICp2YmxhbmtfY2JfZGF0YSkNCj4gK3sNCj4gKwlzdHJ1Y3QgbXRrX2Rpc3Bfb3Zsc3lz X2FkYXB0b3IgKnByaXYgPSBkZXZfZ2V0X2RydmRhdGEoZGV2KTsNCj4gKw0KPiArCW10a19kaXNw X291dHByb2NfcmVnaXN0ZXJfdmJsYW5rX2NiKHByaXYtPm92bF9hZGFwdG9yX2NvbXBbcHJpdi0+ cGF0aFtwcml2LT5wYXRoX3NpemUgLSAxXV0sDQo+ICsJCQkJCSAgICB2YmxhbmtfY2IsIHZibGFu a19jYl9kYXRhKTsNCj4gK30NCj4gKw0KPiArdm9pZCBtdGtfb3Zsc3lzX2FkYXB0b3JfdW5yZWdp c3Rlcl92YmxhbmtfY2Ioc3RydWN0IGRldmljZSAqZGV2KQ0KPiArew0KPiArCXN0cnVjdCBtdGtf ZGlzcF9vdmxzeXNfYWRhcHRvciAqcHJpdiA9IGRldl9nZXRfZHJ2ZGF0YShkZXYpOw0KPiArCXN0 cnVjdCBkZXZpY2UgKmNvbXAgPSBwcml2LT5vdmxfYWRhcHRvcl9jb21wW3ByaXYtPnBhdGhbcHJp di0+cGF0aF9zaXplIC0gMV1dOw0KPiArDQo+ICsJaWYgKCFwcml2LT5jaGlsZHJlbl9ib3VuZCkN Cg0KSW4gb3ZsIGFkYXB0b3IsIGl0IGRvZXMgbm90IGNoZWNrIHRoaXMuIFNvIHJlbW92ZSB0aGlz IGNoZWNraW5nLg0KDQo+ICsJCXJldHVybjsNCj4gKw0KPiArCW10a19kaXNwX291dHByb2NfdW5y ZWdpc3Rlcl92YmxhbmtfY2IoY29tcCk7DQo+ICt9DQo+ICsNCj4gK3ZvaWQgbXRrX292bHN5c19h ZGFwdG9yX2VuYWJsZV92Ymxhbmsoc3RydWN0IGRldmljZSAqZGV2KQ0KPiArew0KPiArCXN0cnVj dCBtdGtfZGlzcF9vdmxzeXNfYWRhcHRvciAqcHJpdiA9IGRldl9nZXRfZHJ2ZGF0YShkZXYpOw0K PiArDQo+ICsJbXRrX2Rpc3Bfb3V0cHJvY19lbmFibGVfdmJsYW5rKHByaXYtPm92bF9hZGFwdG9y X2NvbXBbcHJpdi0+cGF0aFtwcml2LT5wYXRoX3NpemUgLSAxXV0pOw0KPiArfQ0KPiArDQo+ICt2 b2lkIG10a19vdmxzeXNfYWRhcHRvcl9kaXNhYmxlX3ZibGFuayhzdHJ1Y3QgZGV2aWNlICpkZXYp DQo+ICt7DQo+ICsJc3RydWN0IG10a19kaXNwX292bHN5c19hZGFwdG9yICpwcml2ID0gZGV2X2dl dF9kcnZkYXRhKGRldik7DQo+ICsNCj4gKwltdGtfZGlzcF9vdXRwcm9jX2Rpc2FibGVfdmJsYW5r KHByaXYtPm92bF9hZGFwdG9yX2NvbXBbcHJpdi0+cGF0aFtwcml2LT5wYXRoX3NpemUgLSAxXV0p Ow0KPiArfQ0KPiArDQo+ICtjb25zdCB1MzIgKm10a19vdmxzeXNfYWRhcHRvcl9nZXRfZm9ybWF0 cyhzdHJ1Y3QgZGV2aWNlICpkZXYpDQo+ICt7DQo+ICsJc3RydWN0IG10a19kaXNwX292bHN5c19h ZGFwdG9yICpwcml2ID0gZGV2X2dldF9kcnZkYXRhKGRldik7DQo+ICsNCj4gKwlyZXR1cm4gbXRr X2Rpc3BfZXhkbWFfZ2V0X2Zvcm1hdHMocHJpdi0+b3ZsX2FkYXB0b3JfY29tcFtwcml2LT5wYXRo WzBdXSk7DQo+ICt9DQo+ICsNCj4gK3NpemVfdCBtdGtfb3Zsc3lzX2FkYXB0b3JfZ2V0X251bV9m b3JtYXRzKHN0cnVjdCBkZXZpY2UgKmRldikNCj4gK3sNCj4gKwlzdHJ1Y3QgbXRrX2Rpc3Bfb3Zs c3lzX2FkYXB0b3IgKnByaXYgPSBkZXZfZ2V0X2RydmRhdGEoZGV2KTsNCj4gKw0KPiArCXJldHVy biBtdGtfZGlzcF9leGRtYV9nZXRfbnVtX2Zvcm1hdHMocHJpdi0+b3ZsX2FkYXB0b3JfY29tcFtw cml2LT5wYXRoWzBdXSk7DQo+ICt9DQo+ICsNCj4gK3ZvaWQgbXRrX292bHN5c19hZGFwdG9yX2Fk ZF9jb21wKHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IG10a19tdXRleCAqbXV0ZXgpDQo+ICt7 DQo+ICsJc3RydWN0IG10a19kaXNwX292bHN5c19hZGFwdG9yICpwcml2ID0gZGV2X2dldF9kcnZk YXRhKGRldik7DQo+ICsJaW50IGk7DQo+ICsNCj4gKwlmb3IgKGkgPSAwOyBpIDwgcHJpdi0+cGF0 aF9zaXplOyBpKyspDQo+ICsJCW10a19tdXRleF9hZGRfY29tcChtdXRleCwgZ2V0X2RkcF9jb21w X2lkKHByaXYtPnBhdGhbaV0pKTsNCj4gK30NCj4gKw0KPiArdm9pZCBtdGtfb3Zsc3lzX2FkYXB0 b3JfcmVtb3ZlX2NvbXAoc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgbXRrX211dGV4ICptdXRl eCkNCj4gK3sNCj4gKwlzdHJ1Y3QgbXRrX2Rpc3Bfb3Zsc3lzX2FkYXB0b3IgKnByaXYgPSBkZXZf Z2V0X2RydmRhdGEoZGV2KTsNCj4gKwlpbnQgaTsNCj4gKw0KPiArCWZvciAoaSA9IDA7IGkgPCBw cml2LT5wYXRoX3NpemU7IGkrKykNCj4gKwkJbXRrX211dGV4X3JlbW92ZV9jb21wKG11dGV4LCBn ZXRfZGRwX2NvbXBfaWQocHJpdi0+cGF0aFtpXSkpOw0KPiArfQ0KPiArDQo+ICt2b2lkIG10a19v dmxzeXNfYWRhcHRvcl9jb25uZWN0KHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IGRldmljZSAq bW1zeXNfZGV2LCB1bnNpZ25lZCBpbnQgbmV4dCkNCj4gK3sNCj4gKwlzdHJ1Y3QgbXRrX2Rpc3Bf b3Zsc3lzX2FkYXB0b3IgKnByaXYgPSBkZXZfZ2V0X2RydmRhdGEoZGV2KTsNCj4gKwlpbnQgaTsN Cj4gKw0KPiArCWZvciAoaSA9IDA7IGkgPCBwcml2LT5wYXRoX3NpemUgLSAxOyBpKyspDQo+ICsJ CW10a19tbXN5c19kZHBfY29ubmVjdChtbXN5c19kZXYsIGdldF9kZHBfY29tcF9pZChwcml2LT5w YXRoW2ldKSwNCj4gKwkJCQkgICAgICBnZXRfZGRwX2NvbXBfaWQocHJpdi0+cGF0aFtpICsgMV0p KTsNCj4gKw0KPiArCW10a19tbXN5c19kZHBfY29ubmVjdChtbXN5c19kZXYsIGdldF9kZHBfY29t cF9pZChwcml2LT5wYXRoW2ldKSwgbmV4dCk7DQo+ICt9DQo+ICsNCj4gK3ZvaWQgbXRrX292bHN5 c19hZGFwdG9yX2Rpc2Nvbm5lY3Qoc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgZGV2aWNlICpt bXN5c19kZXYsIHVuc2lnbmVkIGludCBuZXh0KQ0KPiArew0KPiArCXN0cnVjdCBtdGtfZGlzcF9v dmxzeXNfYWRhcHRvciAqcHJpdiA9IGRldl9nZXRfZHJ2ZGF0YShkZXYpOw0KPiArCWludCBpOw0K PiArDQo+ICsJZm9yIChpID0gMDsgaSA8IHByaXYtPnBhdGhfc2l6ZSAtIDE7IGkrKykNCj4gKwkJ bXRrX21tc3lzX2RkcF9kaXNjb25uZWN0KG1tc3lzX2RldiwgZ2V0X2RkcF9jb21wX2lkKHByaXYt PnBhdGhbaV0pLA0KPiArCQkJCQkgZ2V0X2RkcF9jb21wX2lkKHByaXYtPnBhdGhbaSArIDFdKSk7 DQo+ICsNCj4gKwltdGtfbW1zeXNfZGRwX2Rpc2Nvbm5lY3QobW1zeXNfZGV2LCBnZXRfZGRwX2Nv bXBfaWQocHJpdi0+cGF0aFtpXSksIG5leHQpOw0KPiArfQ0KPiArDQo+ICtzdGF0aWMgaW50IG92 bHN5c19hZGFwdG9yX2NvbXBfZ2V0X2lkKHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IGRldmlj ZV9ub2RlICpub2RlLA0KPiArCQkJCSAgICAgIGVudW0gbXRrX292bHN5c19hZGFwdG9yX2NvbXBf dHlwZSB0eXBlLA0KPiArCQkJCSAgICAgIGVudW0gbXRrX2RkcF9jb21wX2lkICpjb21wX2lkKQ0K PiArew0KPiArCWludCBhbGlhc19pZCA9IG9mX2FsaWFzX2dldF9pZChub2RlLCBwcml2YXRlX2Nv bXBfc3RlbVt0eXBlXSk7DQo+ICsJaW50IGk7DQo+ICsNCj4gKwlmb3IgKGkgPSAwOyBpIDwgQVJS QVlfU0laRShjb21wX21hdGNoZXMpOyBpKyspDQo+ICsJCWlmIChjb21wX21hdGNoZXNbaV0udHlw ZSA9PSB0eXBlICYmDQo+ICsJCSAgICBjb21wX21hdGNoZXNbaV0uYWxpYXNfaWQgPT0gYWxpYXNf aWQpIHsNCj4gKwkJCSpjb21wX2lkID0gY29tcF9tYXRjaGVzW2ldLmNvbXBfaWQ7DQo+ICsJCQly ZXR1cm4gaTsNCj4gKwkJfQ0KPiArCWRldl93YXJuKGRldiwgIkZhaWxlZCB0byBnZXQgaWQuIHR5 cGU6ICVkLCBhbGlhczogJWRcbiIsIHR5cGUsIGFsaWFzX2lkKTsNCj4gKwlyZXR1cm4gLUVJTlZB TDsNCj4gK30NCj4gKw0KPiArc3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgbXRrX292 bHN5c19hZGFwdG9yX2NvbXBfZHRfaWRzW10gPSB7DQo+ICsJew0KPiArCQkuY29tcGF0aWJsZSA9 ICJtZWRpYXRlayxtdDgxOTYtZXhkbWEiLA0KPiArCQkuZGF0YSA9ICh2b2lkICopT1ZMU1lTX0FE QVBUT1JfVFlQRV9FWERNQSwNCj4gKwl9LCB7DQo+ICsJCS5jb21wYXRpYmxlID0gIm1lZGlhdGVr LG10ODE5Ni1ibGVuZGVyIiwNCj4gKwkJLmRhdGEgPSAodm9pZCAqKU9WTFNZU19BREFQVE9SX1RZ UEVfQkxFTkRFUiwNCj4gKwl9LCB7DQo+ICsJCS5jb21wYXRpYmxlID0gIm1lZGlhdGVrLG10ODE5 Ni1vdXRwcm9jIiwNCj4gKwkJLmRhdGEgPSAodm9pZCAqKU9WTFNZU19BREFQVE9SX1RZUEVfT1VU UFJPQywNCj4gKwl9LA0KPiArCXt9LA0KPiArfTsNCj4gKw0KPiArc3RhdGljIGludCBvdmxzeXNf YWRhcHRvcl9jb21wX2luaXQoc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgY29tcG9uZW50X21h dGNoICoqbWF0Y2gpDQo+ICt7DQo+ICsJc3RydWN0IG10a19kaXNwX292bHN5c19hZGFwdG9yICpw cml2ID0gZGV2X2dldF9kcnZkYXRhKGRldik7DQo+ICsJc3RydWN0IGRldmljZV9ub2RlICpub2Rl LCAqcGFyZW50Ow0KPiArCXN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKmNvbXBfcGRldjsNCj4gKwlp bnQgaTsNCj4gKw0KPiArCXBhcmVudCA9IGRldi0+cGFyZW50LT5wYXJlbnQtPm9mX25vZGUtPnBh cmVudDsNCj4gKw0KPiArCWZvcl9lYWNoX2NoaWxkX29mX25vZGUocGFyZW50LCBub2RlKSB7DQo+ ICsJCWNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgKm9mX2lkOw0KPiArCQllbnVtIG10a19vdmxz eXNfYWRhcHRvcl9jb21wX3R5cGUgdHlwZTsNCj4gKwkJZW51bSBtdGtfZGRwX2NvbXBfaWQgY29t cF9pZDsNCj4gKwkJaW50IGlkOw0KPiArCQlib29sIGZvdW5kID0gZmFsc2U7DQo+ICsNCj4gKwkJ b2ZfaWQgPSBvZl9tYXRjaF9ub2RlKG10a19vdmxzeXNfYWRhcHRvcl9jb21wX2R0X2lkcywgbm9k ZSk7DQo+ICsJCWlmICghb2ZfaWQpDQo+ICsJCQljb250aW51ZTsNCj4gKw0KPiArCQlpZiAoIW9m X2RldmljZV9pc19hdmFpbGFibGUobm9kZSkpIHsNCj4gKwkJCWRldl9kYmcoZGV2LCAiU2tpcHBp bmcgZGlzYWJsZWQgY29tcG9uZW50ICVwT0ZcbiIsDQo+ICsJCQkJbm9kZSk7DQo+ICsJCQljb250 aW51ZTsNCj4gKwkJfQ0KPiArDQo+ICsJCXR5cGUgPSAoZW51bSBtdGtfb3Zsc3lzX2FkYXB0b3Jf Y29tcF90eXBlKSh1aW50cHRyX3Qpb2ZfaWQtPmRhdGE7DQo+ICsJCWlkID0gb3Zsc3lzX2FkYXB0 b3JfY29tcF9nZXRfaWQoZGV2LCBub2RlLCB0eXBlLCAmY29tcF9pZCk7DQo+ICsJCWlmIChpZCA8 IDApIHsNCj4gKwkJCWRldl93YXJuKGRldiwgIlNraXBwaW5nIHVua25vd24gY29tcG9uZW50ICVw T0ZcbiIsDQo+ICsJCQkJIG5vZGUpOw0KPiArCQkJY29udGludWU7DQo+ICsJCX0NCj4gKw0KPiAr CQlmb3IgKGkgPSAwOyBpIDwgcHJpdi0+cGF0aF9zaXplOyBpKyspDQo+ICsJCQlpZiAocHJpdi0+ cGF0aFtpXSA9PSBpZCkNCj4gKwkJCQlmb3VuZCA9IHRydWU7DQo+ICsNCj4gKwkJaWYgKCFmb3Vu ZCkNCj4gKwkJCWNvbnRpbnVlOw0KDQpvdmwgYWRhcHRvciBkb2VzIG5vdCBjaGVjayB0aGlzLCB3 aHkgb3Zsc3lzIG5lZWQgdGhpcz8NCklmIHRoaXMgaXMgcmVtb3ZlZCwgdGhpcyBmdW5jdGlvbiBp cyBzaW1pbGFyIHRvIHRoZSBvbmUgaW4gb3ZsIGFkYXB0b3IsDQp3b3VsZCB5b3UgdHJ5IHRvIHJl d3JpdGUgdGhpcyBmdW5jdGlvbiB0byBiZSBhbG1vc3QgdGhlIHNhbWUgd2l0aCB0aGUgb25lIGlu IG92bCBhZGF0b3I/DQpOb3QgbWVyZ2luZyBpdCwganVzdCBpbXBsZW1lbnQgYWxtb3N0IHRoZSBz YW1lLg0KDQo+ICsNCj4gKwkJY29tcF9wZGV2ID0gb2ZfZmluZF9kZXZpY2VfYnlfbm9kZShub2Rl KTsNCj4gKwkJaWYgKCFjb21wX3BkZXYpDQo+ICsJCQlyZXR1cm4gLUVQUk9CRV9ERUZFUjsNCj4g Kw0KPiArCQlwcml2LT5vdmxfYWRhcHRvcl9jb21wW2lkXSA9ICZjb21wX3BkZXYtPmRldjsNCj4g Kw0KPiArCQlkcm1fb2ZfY29tcG9uZW50X21hdGNoX2FkZChkZXYsIG1hdGNoLCBjb21wb25lbnRf Y29tcGFyZV9vZiwgbm9kZSk7DQo+ICsJCWRldl9kYmcoZGV2LCAiQWRkaW5nIGNvbXBvbmVudCBt YXRjaCBmb3IgJXBPRlxuIiwgbm9kZSk7DQo+ICsJfQ0KPiArDQo+ICsJaWYgKCEqbWF0Y2gpIHsN Cj4gKwkJZGV2X2VycihkZXYsICJObyBtYXRjaCBkZXZpY2UgZm9yIG92bHN5c19hZGFwdG9yXG4i KTsNCj4gKwkJcmV0dXJuIC1FTk9ERVY7DQo+ICsJfQ0KPiArDQo+ICsJcmV0dXJuIDA7DQo+ICt9 DQo+ICsNCj4gK3N0YXRpYyBpbnQgbXRrX2Rpc3Bfb3Zsc3lzX2FkYXB0b3JfY29tcF9iaW5kKHN0 cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IGRldmljZSAqbWFzdGVyLA0KPiArCQkJCQkgICAgIHZv aWQgKmRhdGEpDQo+ICt7DQo+ICsJc3RydWN0IG10a19kaXNwX292bHN5c19hZGFwdG9yICpwcml2 ID0gZGV2X2dldF9kcnZkYXRhKGRldik7DQo+ICsNCj4gKwlpZiAoIXByaXYtPmNoaWxkcmVuX2Jv dW5kKQ0KPiArCQlyZXR1cm4gLUVQUk9CRV9ERUZFUjsNCj4gKw0KPiArCXJldHVybiAwOw0KPiAr fQ0KPiArDQo+ICtzdGF0aWMgdm9pZCBtdGtfZGlzcF9vdmxzeXNfYWRhcHRvcl9jb21wX3VuYmlu ZChzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBkZXZpY2UgKm1hc3RlciwNCj4gKwkJCQkJCXZv aWQgKmRhdGEpDQo+ICt7DQo+ICt9DQo+ICsNCj4gK3N0YXRpYyBjb25zdCBzdHJ1Y3QgY29tcG9u ZW50X29wcyBtdGtfZGlzcF9vdmxzeXNfYWRhcHRvcl9jb21wX29wcyA9IHsNCj4gKwkuYmluZAk9 IG10a19kaXNwX292bHN5c19hZGFwdG9yX2NvbXBfYmluZCwNCj4gKwkudW5iaW5kID0gbXRrX2Rp c3Bfb3Zsc3lzX2FkYXB0b3JfY29tcF91bmJpbmQsDQo+ICt9Ow0KPiArDQo+ICtzdGF0aWMgaW50 IG10a19kaXNwX292bHN5c19hZGFwdG9yX21hc3Rlcl9iaW5kKHN0cnVjdCBkZXZpY2UgKmRldikN Cj4gK3sNCj4gKwlzdHJ1Y3QgbXRrX2Rpc3Bfb3Zsc3lzX2FkYXB0b3IgKnByaXYgPSBkZXZfZ2V0 X2RydmRhdGEoZGV2KTsNCj4gKwlpbnQgcmV0LCBpOw0KPiArCXVuc2lnbmVkIGludCBsYXllcl9u ciA9IDA7DQo+ICsNCj4gKwlyZXQgPSBjb21wb25lbnRfYmluZF9hbGwoZGV2LCBwcml2LT5tbXN5 c19kZXYpOw0KPiArCWlmIChyZXQpDQo+ICsJCXJldHVybiBkZXZfZXJyX3Byb2JlKGRldiwgcmV0 LCAiY29tcG9uZW50X2JpbmRfYWxsIGZhaWxlZCFcbiIpOw0KPiArDQo+ICsJcHJpdi0+Y2hpbGRy ZW5fYm91bmQgPSB0cnVlOw0KPiArDQo+ICsJZm9yIChpID0gMDsgaSA8IHByaXYtPnBhdGhfc2l6 ZTsgaSsrKQ0KPiArCQlpZiAoY29tcF9tYXRjaGVzW3ByaXYtPnBhdGhbaV1dLnR5cGUgPT0gT1ZM U1lTX0FEQVBUT1JfVFlQRV9CTEVOREVSKQ0KPiArCQkJbGF5ZXJfbnIrKzsNCj4gKwlwcml2LT5s YXllcl9uciA9IGxheWVyX25yOw0KPiArDQo+ICsJcmV0dXJuIDA7DQo+ICt9DQo+ICsNCj4gK3N0 YXRpYyB2b2lkIG10a19kaXNwX292bHN5c19hZGFwdG9yX21hc3Rlcl91bmJpbmQoc3RydWN0IGRl dmljZSAqZGV2KQ0KPiArew0KPiArCXN0cnVjdCBtdGtfZGlzcF9vdmxzeXNfYWRhcHRvciAqcHJp diA9IGRldl9nZXRfZHJ2ZGF0YShkZXYpOw0KPiArDQo+ICsJcHJpdi0+Y2hpbGRyZW5fYm91bmQg PSBmYWxzZTsNCj4gK30NCj4gKw0KPiArc3RhdGljIGNvbnN0IHN0cnVjdCBjb21wb25lbnRfbWFz dGVyX29wcyBtdGtfZGlzcF9vdmxzeXNfYWRhcHRvcl9tYXN0ZXJfb3BzID0gew0KPiArCS5iaW5k CQk9IG10a19kaXNwX292bHN5c19hZGFwdG9yX21hc3Rlcl9iaW5kLA0KPiArCS51bmJpbmQJCT0g bXRrX2Rpc3Bfb3Zsc3lzX2FkYXB0b3JfbWFzdGVyX3VuYmluZCwNCj4gK307DQo+ICsNCj4gK3N0 YXRpYyBjb25zdCBzdHJ1Y3QgbXRrX2Rpc3Bfb3Zsc3lzX2FkYXB0b3IgbXQ4MTk2X292bHN5c19h ZGFwdG9yX2RyaXZlcl9kYXRhID0gew0KPiArCS5tYXhfc2l6ZSA9IDgxOTEsDQoNClRoaXMgaXMg dGhlIGZpcnN0IFNvQyBoYXMgb3Zsc3lzLCBzbyBpdCdzIG5vdCBuZWNlc3NhcnkgdG8gaGFzIGRy aXZlciBkYXRhLg0KQWZ0ZXIgb3RoZXIgU29DIG92bHN5cyBpcyBhZGRlZCwgdGhlbiBjb25zaWRl ciB0byBhZGQgZHJpdmVyIGRhdGEuDQpTbywNCg0KI2RlZmluZSBPVkxTWVNfTUFYX1NJWkUgODE5 MQ0KDQo+ICt9Ow0KPiArDQo+ICtzdGF0aWMgaW50IG10a19kaXNwX292bHN5c19hZGFwdG9yX3By b2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpDQo+ICt7DQo+ICsJc3RydWN0IG10a19k aXNwX292bHN5c19hZGFwdG9yICpwcml2Ow0KPiArCXN0cnVjdCBkZXZpY2UgKmRldiA9ICZwZGV2 LT5kZXY7DQo+ICsJc3RydWN0IGNvbXBvbmVudF9tYXRjaCAqbWF0Y2ggPSBOVUxMOw0KPiArCXN0 cnVjdCBtdGtfZHJtX292bHN5c19wcml2YXRlICpvdmxzeXNfcHJpdjsNCj4gKwlpbnQgcmV0Ow0K PiArDQo+ICsJcHJpdiA9IGRldm1fa3phbGxvYyhkZXYsIHNpemVvZigqcHJpdiksIEdGUF9LRVJO RUwpOw0KPiArCWlmICghcHJpdikNCj4gKwkJcmV0dXJuIC1FTk9NRU07DQo+ICsNCj4gKwlwbGF0 Zm9ybV9zZXRfZHJ2ZGF0YShwZGV2LCBwcml2KTsNCj4gKw0KPiArCW92bHN5c19wcml2ID0gcGRl di0+ZGV2LnBsYXRmb3JtX2RhdGE7DQo+ICsJcHJpdi0+bW1zeXNfZGV2ID0gb3Zsc3lzX3ByaXYt Pm1tc3lzX2RldjsNCj4gKwlwcml2LT5tYXhfc2l6ZSA9IG10ODE5Nl9vdmxzeXNfYWRhcHRvcl9k cml2ZXJfZGF0YS5tYXhfc2l6ZTsNCj4gKw0KPiArCWlmIChvdmxzeXNfcHJpdi0+dXNlX3BhdGgg PT0gMCkgew0KPiArCQlwcml2LT5wYXRoID0gbXQ4MTk2X210a19vdmxfbWFpbjsNCj4gKwkJcHJp di0+cGF0aF9zaXplID0gQVJSQVlfU0laRShtdDgxOTZfbXRrX292bF9tYWluKTsNCj4gKwl9IGVs c2UgaWYgKG92bHN5c19wcml2LT51c2VfcGF0aCA9PSAxKSB7DQo+ICsJCXByaXYtPnBhdGggPSBt dDgxOTZfbXRrX292bF9leHQ7DQo+ICsJCXByaXYtPnBhdGhfc2l6ZSA9IEFSUkFZX1NJWkUobXQ4 MTk2X210a19vdmxfZXh0KTsNCj4gKwl9IGVsc2Ugew0KPiArCQlwcml2LT5wYXRoID0gbXQ4MTk2 X210a19vdmxfdGhpcmQ7DQo+ICsJCXByaXYtPnBhdGhfc2l6ZSA9IEFSUkFZX1NJWkUobXQ4MTk2 X210a19vdmxfdGhpcmQpOw0KPiArCX0NCj4gKw0KPiArCXJldCA9IG92bHN5c19hZGFwdG9yX2Nv bXBfaW5pdChkZXYsICZtYXRjaCk7DQo+ICsJaWYgKHJldCA8IDApDQo+ICsJCXJldHVybiByZXQ7 DQo+ICsNCj4gKwljb21wb25lbnRfbWFzdGVyX2FkZF93aXRoX21hdGNoKGRldiwgJm10a19kaXNw X292bHN5c19hZGFwdG9yX21hc3Rlcl9vcHMsIG1hdGNoKTsNCj4gKw0KPiArCXBtX3J1bnRpbWVf ZW5hYmxlKGRldik7DQo+ICsNCj4gKwlyZXQgPSBjb21wb25lbnRfYWRkKGRldiwgJm10a19kaXNw X292bHN5c19hZGFwdG9yX2NvbXBfb3BzKTsNCj4gKwlpZiAocmV0ICE9IDApIHsNCj4gKwkJcG1f cnVudGltZV9kaXNhYmxlKGRldik7DQo+ICsJCWRldl9lcnIoZGV2LCAiRmFpbGVkIHRvIGFkZCBj b21wb25lbnQ6ICVkXG4iLCByZXQpOw0KPiArCX0NCj4gKw0KPiArCXJldHVybiByZXQ7DQo+ICt9 DQo+ICsNCj4gK3N0YXRpYyB2b2lkIG10a19kaXNwX292bHN5c19hZGFwdG9yX3JlbW92ZShzdHJ1 Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQ0KPiArew0KPiArCWNvbXBvbmVudF9tYXN0ZXJfZGVs KCZwZGV2LT5kZXYsICZtdGtfZGlzcF9vdmxzeXNfYWRhcHRvcl9tYXN0ZXJfb3BzKTsNCj4gKwlw bV9ydW50aW1lX2Rpc2FibGUoJnBkZXYtPmRldik7DQo+ICt9DQo+ICsNCj4gK3N0cnVjdCBwbGF0 Zm9ybV9kcml2ZXIgbXRrX2Rpc3Bfb3Zsc3lzX2FkYXB0b3JfZHJpdmVyID0gew0KPiArCS5wcm9i ZQkJPSBtdGtfZGlzcF9vdmxzeXNfYWRhcHRvcl9wcm9iZSwNCj4gKwkucmVtb3ZlCQk9IG10a19k aXNwX292bHN5c19hZGFwdG9yX3JlbW92ZSwNCj4gKwkuZHJpdmVyCQk9IHsNCj4gKwkJLm5hbWUJ PSAibWVkaWF0ZWstZGlzcC1vdmxzeXMtYWRhcHRvciIsDQo+ICsJCS5vd25lcgk9IFRISVNfTU9E VUxFLA0KPiArCX0sDQo+ICt9Ow0KPiArDQo+ICtNT0RVTEVfQVVUSE9SKCJOYW5jeSBMaW4gPG5h bmN5LmxpbkBtZWRpYXRlay5jb20+Iik7DQo+ICtNT0RVTEVfREVTQ1JJUFRJT04oIk1lZGlhVGVr IE92bHN5cyBBZGFwdG9yIERyaXZlciIpOw0KPiArTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOw0KPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fZHJ2LmMgYi9kcml2 ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9kcnYuYw0KPiBpbmRleCAyNzE5MDA1N2JkOGUu Ljc1MjZiYzM4YmNjNyAxMDA2NDQNCj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210 a19kcm1fZHJ2LmMNCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fZHJ2 LmMNCj4gQEAgLTQ0OCw2ICs0NDgsMjggQEAgc3RhdGljIGJvb2wgbXRrX2RybV9maW5kX21tc3lz X2NvbXAoc3RydWN0IG10a19kcm1fcHJpdmF0ZSAqcHJpdmF0ZSwgaW50IGNvbXBfaWQNCj4gIAly ZXR1cm4gZmFsc2U7DQo+ICB9DQo+ICANCj4gK3N0YXRpYyBpbnQgbXRrX2RybV9tbXN5c19jb21w X2luX3BhdGgoc3RydWN0IG10a19kcm1fcHJpdmF0ZSAqcHJpdmF0ZSwgaW50IGNvbXBfaWQpDQo+ ICt7DQo+ICsJY29uc3Qgc3RydWN0IG10a19tbXN5c19kcml2ZXJfZGF0YSAqZHJ2X2RhdGEgPSBw cml2YXRlLT5kYXRhOw0KPiArCWludCBpOw0KPiArDQo+ICsJaWYgKGRydl9kYXRhLT5tYWluX3Bh dGgpDQo+ICsJCWZvciAoaSA9IDA7IGkgPCBkcnZfZGF0YS0+bWFpbl9sZW47IGkrKykNCj4gKwkJ CWlmIChkcnZfZGF0YS0+bWFpbl9wYXRoW2ldID09IGNvbXBfaWQpDQo+ICsJCQkJcmV0dXJuIDA7 DQo+ICsNCj4gKwlpZiAoZHJ2X2RhdGEtPmV4dF9wYXRoKQ0KPiArCQlmb3IgKGkgPSAwOyBpIDwg ZHJ2X2RhdGEtPmV4dF9sZW47IGkrKykNCj4gKwkJCWlmIChkcnZfZGF0YS0+ZXh0X3BhdGhbaV0g PT0gY29tcF9pZCkNCj4gKwkJCQlyZXR1cm4gMTsNCj4gKwlpZiAoZHJ2X2RhdGEtPnRoaXJkX3Bh dGgpDQo+ICsJCWZvciAoaSA9IDA7IGkgPCBkcnZfZGF0YS0+dGhpcmRfbGVuOyBpKyspDQo+ICsJ CQlpZiAoZHJ2X2RhdGEtPnRoaXJkX3BhdGhbaV0gPT0gY29tcF9pZCkNCj4gKwkJCQlyZXR1cm4g MjsNCj4gKw0KPiArCXJldHVybiAtMTsNCj4gK30NCj4gKw0KPiAgc3RhdGljIGludCBtdGtfZHJt X2ttc19pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkcm0pDQo+ICB7DQo+ICAJc3RydWN0IG10a19k cm1fcHJpdmF0ZSAqcHJpdmF0ZSA9IGRybS0+ZGV2X3ByaXZhdGU7DQo+IEBAIC00NjMsOCArNDg1 LDggQEAgc3RhdGljIGludCBtdGtfZHJtX2ttc19pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkcm0p DQo+ICAJaWYgKHJldCkNCj4gIAkJZ290byBwdXRfbXV0ZXhfZGV2Ow0KPiAgDQo+IC0JZHJtLT5t b2RlX2NvbmZpZy5taW5fd2lkdGggPSA2NDsNCj4gLQlkcm0tPm1vZGVfY29uZmlnLm1pbl9oZWln aHQgPSA2NDsNCj4gKwlkcm0tPm1vZGVfY29uZmlnLm1pbl93aWR0aCA9IDE7DQo+ICsJZHJtLT5t b2RlX2NvbmZpZy5taW5faGVpZ2h0ID0gMTsNCg0KWW91IGNoYW5nZSBvdGhlciBTb0Mgc2V0dGlu Zy4NCklmIDgxOTYgaGFzIGRpZmZlcmVudCBzZXR0aW5nLCBxdWVyeSBtaW4gd2lkdGgvaGVpZ2h0 IGZyb20gZGRwIGNvbXBvbmVudCBhbmQgc2VwYXJhdGUgdGhpcyB0byBhbm90aGVyIHBhdGNoLg0K DQo+ICANCj4gIAkvKg0KPiAgCSAqIHNldCBtYXggd2lkdGggYW5kIGhlaWdodCBhcyBkZWZhdWx0 IHZhbHVlKDQwOTZ4NDA5NikuDQo+IEBAIC0xMTA3LDYgKzExMjksNDAgQEAgc3RhdGljIGludCBt dGtfZHJtX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpDQo+ICAJCWNvbXBvbmVu dF9tYXRjaF9hZGQoZGV2LCAmbWF0Y2gsIGNvbXBhcmVfZGV2LCAmb3ZsX2FkYXB0b3ItPmRldik7 DQo+ICAJfQ0KPiAgDQo+ICsJaWYgKG10a19kcm1fZmluZF9tbXN5c19jb21wKHByaXZhdGUsIERE UF9DT01QT05FTlRfRFJNX09WTFNZU19BREFQVE9SMCkpIHsNCj4gKwkJc3RydWN0IG10a19kcm1f b3Zsc3lzX3ByaXZhdGUgb3Zsc3lzX3ByaXY7DQo+ICsNCj4gKwkJb3Zsc3lzX3ByaXYubW1zeXNf ZGV2ID0gcHJpdmF0ZS0+bW1zeXNfZGV2Ow0KPiArCQlvdmxzeXNfcHJpdi51c2VfcGF0aCA9DQo+ ICsJCW10a19kcm1fbW1zeXNfY29tcF9pbl9wYXRoKHByaXZhdGUsIEREUF9DT01QT05FTlRfRFJN X09WTFNZU19BREFQVE9SMCk7DQo+ICsJCW92bF9hZGFwdG9yID0NCj4gKwkJCXBsYXRmb3JtX2Rl dmljZV9yZWdpc3Rlcl9kYXRhKGRldiwgIm1lZGlhdGVrLWRpc3Atb3Zsc3lzLWFkYXB0b3IiLA0K PiArCQkJCQkJICAgICAgUExBVEZPUk1fREVWSURfQVVUTywNCj4gKwkJCQkJCSAgICAgICh2b2lk ICopJm92bHN5c19wcml2LA0KPiArCQkJCQkJICAgICAgc2l6ZW9mKHN0cnVjdCBtdGtfZHJtX292 bHN5c19wcml2YXRlKSk7DQo+ICsJCXByaXZhdGUtPmRkcF9jb21wW0REUF9DT01QT05FTlRfRFJN X09WTFNZU19BREFQVE9SMF0uZGV2ID0gJm92bF9hZGFwdG9yLT5kZXY7DQo+ICsJCW10a19kZHBf Y29tcF9pbml0KE5VTEwsICZwcml2YXRlLT5kZHBfY29tcFtERFBfQ09NUE9ORU5UX0RSTV9PVkxT WVNfQURBUFRPUjBdLA0KPiArCQkJCSAgRERQX0NPTVBPTkVOVF9EUk1fT1ZMU1lTX0FEQVBUT1Iw KTsNCj4gKwkJY29tcG9uZW50X21hdGNoX2FkZChkZXYsICZtYXRjaCwgY29tcGFyZV9kZXYsICZv dmxfYWRhcHRvci0+ZGV2KTsNCj4gKwl9DQo+ICsNCj4gKwlpZiAobXRrX2RybV9maW5kX21tc3lz X2NvbXAocHJpdmF0ZSwgRERQX0NPTVBPTkVOVF9EUk1fT1ZMU1lTX0FEQVBUT1IxKSkgew0KPiAr CQlzdHJ1Y3QgbXRrX2RybV9vdmxzeXNfcHJpdmF0ZSBvdmxzeXNfcHJpdjsNCj4gKw0KPiArCQlv dmxzeXNfcHJpdi5tbXN5c19kZXYgPSBwcml2YXRlLT5tbXN5c19kZXY7DQo+ICsJCW92bHN5c19w cml2LnVzZV9wYXRoID0NCj4gKwkJbXRrX2RybV9tbXN5c19jb21wX2luX3BhdGgocHJpdmF0ZSwg RERQX0NPTVBPTkVOVF9EUk1fT1ZMU1lTX0FEQVBUT1IxKTsNCj4gKwkJb3ZsX2FkYXB0b3IgPQ0K PiArCQkJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyX2RhdGEoZGV2LCAibWVkaWF0ZWstZGlzcC1v dmxzeXMtYWRhcHRvciIsDQo+ICsJCQkJCQkgICAgICBQTEFURk9STV9ERVZJRF9BVVRPLA0KPiAr CQkJCQkJICAgICAgKHZvaWQgKikmb3Zsc3lzX3ByaXYsDQo+ICsJCQkJCQkgICAgICBzaXplb2Yo c3RydWN0IG10a19kcm1fb3Zsc3lzX3ByaXZhdGUpKTsNCj4gKwkJcHJpdmF0ZS0+ZGRwX2NvbXBb RERQX0NPTVBPTkVOVF9EUk1fT1ZMU1lTX0FEQVBUT1IxXS5kZXYgPSAmb3ZsX2FkYXB0b3ItPmRl djsNCj4gKwkJbXRrX2RkcF9jb21wX2luaXQoTlVMTCwgJnByaXZhdGUtPmRkcF9jb21wW0REUF9D T01QT05FTlRfRFJNX09WTFNZU19BREFQVE9SMV0sDQo+ICsJCQkJICBERFBfQ09NUE9ORU5UX0RS TV9PVkxTWVNfQURBUFRPUjEpOw0KPiArCQljb21wb25lbnRfbWF0Y2hfYWRkKGRldiwgJm1hdGNo LCBjb21wYXJlX2RldiwgJm92bF9hZGFwdG9yLT5kZXYpOw0KPiArCX0NCj4gKw0KPiAgCS8qIEl0 ZXJhdGUgb3ZlciBzaWJsaW5nIERJU1AgZnVuY3Rpb24gYmxvY2tzICovDQo+ICAJZm9yX2VhY2hf Y2hpbGRfb2Zfbm9kZShwaGFuZGxlLT5wYXJlbnQsIG5vZGUpIHsNCj4gIAkJZW51bSBtdGtfZGRw X2NvbXBfdHlwZSBjb21wX3R5cGU7DQo+IEBAIC0xMjY4LDYgKzEzMjQsNyBAQCBzdGF0aWMgc3Ry dWN0IHBsYXRmb3JtX2RyaXZlciAqIGNvbnN0IG10a19kcm1fZHJpdmVyc1tdID0gew0KPiAgCSZt dGtfZGlzcF9vdXRwcm9jX2RyaXZlciwNCj4gIAkmbXRrX2Rpc3Bfb3ZsX2FkYXB0b3JfZHJpdmVy LA0KPiAgCSZtdGtfZGlzcF9vdmxfZHJpdmVyLA0KPiArCSZtdGtfZGlzcF9vdmxzeXNfYWRhcHRv cl9kcml2ZXIsDQo+ICAJJm10a19kaXNwX3JkbWFfZHJpdmVyLA0KPiAgCSZtdGtfZHBpX2RyaXZl ciwNCj4gIAkmbXRrX2RybV9wbGF0Zm9ybV9kcml2ZXIsDQo+IGRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRl ay9tdGtfZHJtX2Rydi5oDQo+IGluZGV4IGM0NzE3YzM3YjBmMS4uYWExN2U3NDNhMWQwIDEwMDY0 NA0KPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9kcnYuaA0KPiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9kcnYuaA0KPiBAQCAtMTEsNyArMTEs OSBAQA0KPiAgDQo+ICAjZGVmaW5lIE1BWF9DT05ORUNUT1IJMg0KPiAgI2RlZmluZSBERFBfQ09N UE9ORU5UX0RSTV9PVkxfQURBUFRPUiAoRERQX0NPTVBPTkVOVF9JRF9NQVggKyAxKQ0KPiAtI2Rl ZmluZSBERFBfQ09NUE9ORU5UX0RSTV9JRF9NQVggKEREUF9DT01QT05FTlRfRFJNX09WTF9BREFQ VE9SICsgMSkNCj4gKyNkZWZpbmUgRERQX0NPTVBPTkVOVF9EUk1fT1ZMU1lTX0FEQVBUT1IwIChE RFBfQ09NUE9ORU5UX0RSTV9PVkxfQURBUFRPUiArIDEpDQo+ICsjZGVmaW5lIEREUF9DT01QT05F TlRfRFJNX09WTFNZU19BREFQVE9SMSAoRERQX0NPTVBPTkVOVF9EUk1fT1ZMU1lTX0FEQVBUT1Iw ICsgMSkNCj4gKyNkZWZpbmUgRERQX0NPTVBPTkVOVF9EUk1fSURfTUFYIChERFBfQ09NUE9ORU5U X0RSTV9PVkxTWVNfQURBUFRPUjEgKyAxKQ0KPiAgDQo+ICBlbnVtIG10a19jcnRjX3BhdGggew0K PiAgCUNSVENfTUFJTiwNCj4gQEAgLTY5LDYgKzcxLDEyIEBAIHN0cnVjdCBtdGtfZHJtX3ByaXZh dGUgew0KPiAgCXN0cnVjdCBtdGtfZHJtX3ByaXZhdGUgKiphbGxfZHJtX3ByaXZhdGU7DQo+ICB9 Ow0KPiAgDQo+ICtzdHJ1Y3QgbXRrX2RybV9vdmxzeXNfcHJpdmF0ZSB7DQoNCm92bHN5cyBoYXMg aXRzIG93biBwcml2YXRlIGRhdGEgc3RydWN0dXJlLg0KbXRrX292bHN5c19wbGF0Zm9ybV9kYXRh IGlzIGJldHRlci4NCg0KUmVnYXJkcywNCkNLDQoNCg0KPiArCXN0cnVjdCBkZXZpY2UgKm1tc3lz X2RldjsNCj4gKwlzdHJ1Y3QgZGV2aWNlICptdXRleF9kZXY7DQo+ICsJdW5zaWduZWQgaW50IHVz ZV9wYXRoOw0KPiArfTsNCj4gKw0KPiAgZXh0ZXJuIHN0cnVjdCBwbGF0Zm9ybV9kcml2ZXIgbXRr X2Rpc3BfYWFsX2RyaXZlcjsNCj4gIGV4dGVybiBzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyIG10a19k aXNwX2JsZW5kZXJfZHJpdmVyOw0KPiAgZXh0ZXJuIHN0cnVjdCBwbGF0Zm9ybV9kcml2ZXIgbXRr X2Rpc3BfY2NvcnJfZHJpdmVyOw0KPiBAQCAtNzksNiArODcsNyBAQCBleHRlcm4gc3RydWN0IHBs YXRmb3JtX2RyaXZlciBtdGtfZGlzcF9tZXJnZV9kcml2ZXI7DQo+ICBleHRlcm4gc3RydWN0IHBs YXRmb3JtX2RyaXZlciBtdGtfZGlzcF9vdXRwcm9jX2RyaXZlcjsNCj4gIGV4dGVybiBzdHJ1Y3Qg cGxhdGZvcm1fZHJpdmVyIG10a19kaXNwX292bF9hZGFwdG9yX2RyaXZlcjsNCj4gIGV4dGVybiBz dHJ1Y3QgcGxhdGZvcm1fZHJpdmVyIG10a19kaXNwX292bF9kcml2ZXI7DQo+ICtleHRlcm4gc3Ry dWN0IHBsYXRmb3JtX2RyaXZlciBtdGtfZGlzcF9vdmxzeXNfYWRhcHRvcl9kcml2ZXI7DQo+ICBl eHRlcm4gc3RydWN0IHBsYXRmb3JtX2RyaXZlciBtdGtfZGlzcF9yZG1hX2RyaXZlcjsNCj4gIGV4 dGVybiBzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyIG10a19kcGlfZHJpdmVyOw0KPiAgZXh0ZXJuIHN0 cnVjdCBwbGF0Zm9ybV9kcml2ZXIgbXRrX2RzaV9kcml2ZXI7DQoNCg== 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 91E19C0219E for ; Wed, 12 Feb 2025 07:10:04 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 02BF610E13E; Wed, 12 Feb 2025 07:10:04 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (1024-bit key; unprotected) header.d=mediatek.com header.i=@mediatek.com header.b="od5Eo6Xf"; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=mediateko365.onmicrosoft.com header.i=@mediateko365.onmicrosoft.com header.b="SDvu6S2i"; dkim-atps=neutral Received: from mailgw01.mediatek.com (unknown [60.244.123.138]) by gabe.freedesktop.org (Postfix) with ESMTPS id 0069D10E13E for ; Wed, 12 Feb 2025 07:10:01 +0000 (UTC) X-UUID: 5c682882e91011efb8f9918b5fc74e19-20250212 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Type:MIME-Version:Content-Transfer-Encoding:Content-ID:In-Reply-To:References:Message-ID:Date:Subject:CC:To:From; bh=xKaSHD/hKQ/8W7iGS2x/hg2DfZPRrwyADTWogFumtQc=; b=od5Eo6XfdfuFuSlaYBwATHLBGNQ2bcGjxBrEZV7kCb8j1NXXRFU7sLrxzbcJtD0CiLd8/+O32ZGhKvUfi3YPEMHRqCZTLcRpa3WoOFkvqJaLGWh1K3xLhI41JrTft/qFE3AS9vyXJTiGONn1n0pZuQ2tyL30FtsftmPEHgfcsCE=; X-CID-P-RULE: Release_Ham X-CID-O-INFO: VERSION:1.1.46, REQID:28b9fae8-49c6-4592-aae1-4a9e4e09668f, IP:0, U RL:0,TC:0,Content:0,EDM:0,RT:0,SF:0,FILE:0,BULK:0,RULE:Release_Ham,ACTION: release,TS:0 X-CID-META: VersionHash:60aa074, CLOUDID:f2e63e8f-637d-4112-88e4-c7792fee6ae2, B ulkID:nil,BulkQuantity:0,Recheck:0,SF:80|81|82|83|102,TC:nil,Content:0|50, EDM:-3,IP:nil,URL:0,File:nil,RT:nil,Bulk:nil,QS:nil,BEC:nil,COL:0,OSI:0,OS A:0,AV:0,LES:1,SPR:NO,DKR:0,DKP:0,BRR:0,BRE:0,ARC:0 X-CID-BVR: 0 X-CID-BAS: 0,_,0,_ X-CID-FACTOR: TF_CID_SPAM_SNR X-UUID: 5c682882e91011efb8f9918b5fc74e19-20250212 Received: from mtkmbs11n2.mediatek.inc [(172.21.101.187)] by mailgw01.mediatek.com (envelope-from ) (Generic MTA with TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384 256/256) with ESMTP id 283793256; Wed, 12 Feb 2025 15:09:55 +0800 Received: from mtkmbs10n1.mediatek.inc (172.21.101.34) by mtkmbs13n1.mediatek.inc (172.21.101.193) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1258.28; Wed, 12 Feb 2025 15:09:53 +0800 Received: from APC01-PSA-obe.outbound.protection.outlook.com (172.21.101.237) by mtkmbs10n1.mediatek.inc (172.21.101.34) with Microsoft SMTP Server id 15.2.1258.28 via Frontend Transport; Wed, 12 Feb 2025 15:09:53 +0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=EGvD1rpBgA6fBvSmJgs/mdq1UjxaZ8h6Ty35HZrw1BN7gSAWrEcpiCh2qBj6q2IgkebxTy1+O84o/oWslNV9cN398DZxClFarLESo3SD/chh8ScbHbQvlChYcrgCMjS2jvdP9pqA0gDKgQ2JbmEYenLn0QVDU44YAlthh9UO4byWxCJOujYyU6DqwC0BZ/RFKAt72cbGnLBQaz8KT1pbB1/zL7R2Yc8VX32D0MHOoMxMiDGqX26vWKEgJLbrc/Zps3OmR8/o6gUg9o5vGDbjoxeZzCPiWir42fYDEiUpfDY79GJoMupj5nWcDfIjVi3+CNgsH4c1cTYJu/pG1GBoQg== 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=+x/sFL3ws8VNfEWHQqf5cepIAKX/tOLMbyTczz9JCk4=; b=UtLwqNVMJsENdqPlg1eeVjiBYFH6W1uGgb+6Vn06XS/LrxeHkNc3r8Drbw3xOKkbG5Yhy6eeBzdhP9d6n13Py6gqvgPdVf4SmgGkkY2AnJZwZiZ6/E4PpcGrWjY9RXqZwxidrFMPF2Uk2sg6SqIgPxkMUyohGtd1GpvihvXRvv5RYigUFlBnymJbd5fsm45H3RNWxfUrVPyJjjTwQUu9STaNZs04Y5jrodysKjDFbB/LfAAFGBkxKsB/VHcgTDVogxMSF50AbS0Wn4yGu3+tDCWb3CpAhW+X17+YyVYcAE2ZTeX3nTzlglDFZ/IyeONvzvfX9RkTXFPzSLA+Mgp2iw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=mediatek.com; dmarc=pass action=none header.from=mediatek.com; dkim=pass header.d=mediatek.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mediateko365.onmicrosoft.com; s=selector2-mediateko365-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=+x/sFL3ws8VNfEWHQqf5cepIAKX/tOLMbyTczz9JCk4=; b=SDvu6S2iYCF/Tyi5k5gp2DajcRre5RzkpvK97eRf/gI9AKcvYnQk5/Gn3uI/FDb1oAZ4TynPga2di6DMRTMq2ejSOqIV032fC8v6ZToBV5kFO3ZazI2SG/ZqV/Eb0zWejgpGIGq0lA0h+1DAvPtPYqZGPdbTZuOHoQzUcvlYT9A= Received: from TYZPR03MB6624.apcprd03.prod.outlook.com (2603:1096:400:1f4::13) by SEZPR03MB7658.apcprd03.prod.outlook.com (2603:1096:101:12a::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8422.19; Wed, 12 Feb 2025 07:09:48 +0000 Received: from TYZPR03MB6624.apcprd03.prod.outlook.com ([fe80::9ce6:1e85:c4a7:2a54]) by TYZPR03MB6624.apcprd03.prod.outlook.com ([fe80::9ce6:1e85:c4a7:2a54%3]) with mapi id 15.20.8422.015; Wed, 12 Feb 2025 07:09:48 +0000 From: =?utf-8?B?Q0sgSHUgKOiDoeS/iuWFiSk=?= To: "robh@kernel.org" , "krzk+dt@kernel.org" , =?utf-8?B?UGF1bC1wbCBDaGVuICjpmbPmn4/pnJYp?= , "conor+dt@kernel.org" , AngeloGioacchino Del Regno , "chunkuang.hu@kernel.org" CC: "matthias.bgg@gmail.com" , "treapking@chromium.org" , =?utf-8?B?U2luZ28gQ2hhbmcgKOW8teiIiOWciyk=?= , Project_Global_Chrome_Upstream_Group , "dri-devel@lists.freedesktop.org" , "devicetree@vger.kernel.org" , "linux-kernel@vger.kernel.org" , =?utf-8?B?SmFzb24tSkggTGluICjmnpfnnb/npaUp?= , =?utf-8?B?TmFuY3kgTGluICjmnpfmrKPonqIp?= , =?utf-8?B?WGlhbmRvbmcgV2FuZyAo546L5YWI5YasKQ==?= , "linux-mediatek@lists.infradead.org" , =?utf-8?B?U3VubnkgU2hlbiAo5rKI5aeN5aeNKQ==?= , "p.zabel@pengutronix.de" , =?utf-8?B?U2lyaXVzIFdhbmcgKOeOi+eak+aYsSk=?= , "linux-arm-kernel@lists.infradead.org" Subject: Re: [PATCH 11/12] drm/mediatek: add ovlsys_adaptor support for MT8196 Thread-Topic: [PATCH 11/12] drm/mediatek: add ovlsys_adaptor support for MT8196 Thread-Index: AQHbY144A+wZJUOnCUeqA5ni3jzN/rNDc3aA Date: Wed, 12 Feb 2025 07:09:47 +0000 Message-ID: <59aa3e03300ada8f47c0b5ae3a9c173eab45af7e.camel@mediatek.com> References: <20250110123835.2719824-1-paul-pl.chen@mediatek.com> <20250110123835.2719824-13-paul-pl.chen@mediatek.com> In-Reply-To: <20250110123835.2719824-13-paul-pl.chen@mediatek.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Evolution 3.52.3-0ubuntu1 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=mediatek.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: TYZPR03MB6624:EE_|SEZPR03MB7658:EE_ x-ms-office365-filtering-correlation-id: 40b23b6d-2d02-4580-cb2a-08dd4b343c51 x-ld-processed: a7687ede-7a6b-4ef6-bace-642f677fbe31,ExtAddr x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|376014|7416014|1800799024|366016|38070700018; x-microsoft-antispam-message-info: =?utf-8?B?bnI5UG9HMXgwdElhTjltZzE4UXZORzJCbXA0bGxMWUx4b3JwYm8rZHZYSDM5?= =?utf-8?B?dnF2YUpQS2VsRVpPQUljK1UrQXNGU1FiK3FOYTlZcmVabWI5VzA3SVppcFh4?= =?utf-8?B?cVhERkFHWUdqZ0IyZ0F1c2R2K3FhVlNSaEIzU25SSXg1YnE2Y0pSOWxpeVBB?= =?utf-8?B?UmY0Yzlnak9DLzBSaHJQMERwN3J6aWhZUktVck51VEd5T0VaUjA4aW9heDV0?= =?utf-8?B?QVg2bGtBNUFTQ3Awa2VqVUdjaG5GRkZZby90MDlBWVRuakcrVkdaQWxsbHFZ?= =?utf-8?B?UzhheW1hKytLUlJyLzNOaVc5Rkc5V3Q0TldIRDV0WjlOTEJyMjVnTFJYbFNX?= =?utf-8?B?cklzb2ExVzE0ZkRSMlpNYlROTmZ1Ull4UWVNS05wV3VGaFZVMVp4ZERmazlQ?= =?utf-8?B?SDV2ZDJlTG9HUlFsMWdsaFR2dGpWZTFSaitlZHh5eEllWHZXZ3Qrc242MlFt?= =?utf-8?B?YmtKNitmb20yZDdvcTJMVmhuWlB4UVV6Mjk5WCtzbU1Yc0E5MlZmeGpRQlha?= =?utf-8?B?R2ZnTGRXU2RmdXdsOG8yTzdKaWhPQ0FDL0NvSEJYMlpIMTRzT29hNFAySnY4?= =?utf-8?B?VUFvVk1TbWFrMmNDRHU4QTRNNGZtTkd2QnA2SGxzRXBMK3diajFmeDRIYmhq?= =?utf-8?B?bmRnQ1pTT3pncEd4S0Z4QWM1ZUw3bmlsNEVRRjZsT0o4d3B2QWVodGMyNnFJ?= =?utf-8?B?UVJVNEpzZXcvSVVOdkhjdVgxYTJUZkRiSXIzT25zeXc4YnA0Z3ZBSFVqVnZw?= =?utf-8?B?alhqTDZFSFdiK09GY05XTzJjZVJRZHRabmNQcnVuYy8rRmZvR1RXQUVjUmtJ?= =?utf-8?B?VGV6SDkwRjl4YktYVUJtZzkyVHlLL0VpeXZRNVZUZzhZRmVtQlFNRExqbkRL?= =?utf-8?B?Vm1LZXJIckpNMFBsRkhoc0hmRGRVQkc4U0VMbE9LTGFnY0ZJRnBGODdMajQv?= =?utf-8?B?aW9rYU92VUJTUy9sSlV4TXRUTFFnNFRTVk9CRmpteGZFWTNUaTJ5QnhCZ0dS?= =?utf-8?B?RUlUQjJLRHZOWFprSGdYeEJBek84WFJQNnpGV045dHhQUDN2d2lqN2dLT1Nw?= =?utf-8?B?bjQ3RFVIQmJHT1NLM0hvQk5FV1ZWMi9oNThnQy9YYjJDQTNLWnUzMGk2Y0Nr?= =?utf-8?B?MXJwemhBVXdoemhvWnJmQTloK3l4WWMveGt4ck16WWhMMWoxa2V5VEFvWk9t?= =?utf-8?B?Z0o5Q01IeTltU056M1hScDFhcU53REZqTnpWSllzU0R6eUorbFZaaVY0MkVa?= =?utf-8?B?ckJDQWM1dno4OGpqQ3NieXNmT2ZyQlh6SHNsazBBZXFVVDhQUGxqaC9ZYjll?= =?utf-8?B?NExQeTRXY1NhbUZlZy9qdjh2MFZyNnREYWRLaWRmY1NDQVhEQjJLb3Y5eUdw?= =?utf-8?B?YmxlWk43bFVUTHNxU3ZzV3JBTlhDdlJyNE9pekJubUtBaXAwOU1ac243bkN2?= =?utf-8?B?bnlzQWJsTUtmdDZ4cnFjWHFXZzRBRFlYV0V0QnROWjFqTW9kL1lCNGI5b1hR?= =?utf-8?B?dTRwa3I0ajQ5cVE4NUliWFNUMzhVcFZoR2hHanFzb3d6K2o0K05jU2RlbUdF?= =?utf-8?B?NStNL2pBR0dsekgwZWNqbWRpdmVnV241T1VvTldNSlp4REx5TUliVlFocEhy?= =?utf-8?B?d3lVYnk4cFh4WlhCUGpqbVE5aE9DUnFTb2dwaU1aalRaSDVqWFlHeDhOam10?= =?utf-8?B?N1k4RU83M2Q1WW9ONEJsN1IzcnBFYitZd3VWLzlGRzdoMUNwZHBOeEExMVRV?= =?utf-8?B?Sm5Odyt3b2FmVkRFeWh6Tmhyc25OaUtRTlFiVStIMmpyV0VVaFpQbERJbmhh?= =?utf-8?B?cm1zU0NCVitUSVlUSWNyK1pmVlZjd2xvd2p2OU5ISlV1MEl3cU5uRDRVU0Fa?= =?utf-8?B?Nld2Q0dPWDRteTVSd1R3T1lxY2FCeDFkNU40SnpjQlF4cHpKcld5UUxCUXdZ?= =?utf-8?Q?/wpL43dfv/IcGol56bH1k26o3rUtFAUo?= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:TYZPR03MB6624.apcprd03.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(376014)(7416014)(1800799024)(366016)(38070700018); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?M1E0SGNCTU4wQWdiWU9UQ2h1SDhlSXpWbFlOQVlmcTZncXF5OVd3bnVnZ1Zz?= =?utf-8?B?Q09hc25rd1lxSzU2a0JhWjU3SFJHLzJtWlV3WnRGZ0VPR1V5MGV3YU9mTjZ4?= =?utf-8?B?NmtoWE92V21MTWtkb3FmbEo0ekwzUUVqWndXY3o1U0VvajhxUXJPS3BtV2ZD?= =?utf-8?B?cVlGUSsva29icjI5Mmt5V3F3RjU0aHNJRWtIL3lmdTVGM1NQSmZDbzlwbGpl?= =?utf-8?B?Z2ZhYXUvVGg2OUpGdmQ1SWxaNHU3bFdVVmsyWDZXUkNvcUphV2xDNVF0WnNt?= =?utf-8?B?b2pqd2labzMrK2xIQVhCaHQ3S0ljdWI4MTZoRWUxalRXZGhYRFlqbVVmTEM2?= =?utf-8?B?YUppMldEMGVWNDhMZlZXZXFXbE14KytVcUt4dDhDR0JUS0paUWdMTTVnRmNh?= =?utf-8?B?NVBFVDJBaHNHRm5lMmc4UEZUeVNCMlVveWt6RVhQMndVRWx3azlSMzlKNmd5?= =?utf-8?B?MFJydDVmZkszQ3ZudWtkcTBIU3NPK0VPZXpNMkxpUkQwNzRrVXM3ZkxaUk91?= =?utf-8?B?dTk1UEkzd0dwbllKWDUyd1BuVW5kbHhjVlRzTjBNOFl2YzJVdDY2VDRiVnJs?= =?utf-8?B?ZTg2Wks3OU1KL3RpVUxxbXhVMXV1WGJpZGdsTFJoSWR6aEJ5ZDlYbGNaMDZx?= =?utf-8?B?eFJ4Y1BWNDJPMXRBVXEwTkRhVFMxSHZ5djVKZTZOcldVTXJIMkdUVFN4OWN6?= =?utf-8?B?aERnMjQ3UldtekZhRUptVHZ3bFB5WTdsRUZDbHFWMENJYnkyR0ttNlBDUFQw?= =?utf-8?B?RmJ6VGJMYkhxZzkyc2JXTHgwK1NaUDlrdjJ1cTVxM1l1ZkJvMlBKZHJPenZm?= =?utf-8?B?dll3K1IwZU1sOFM0MUQvYmlGa293SUw2aGVmcGJDMHI5TSsvY3ZISGUxRWZp?= =?utf-8?B?UDAxUjM3NHhmV2dRS2RVSFlBSFhCQUVnd0hvY0pBNmhjZFAvQUdtZllIdjFF?= =?utf-8?B?NnNLc3YyY3FHZitRNExMc1NqRFAvcHNnL0wwZ3hpMlFack1YQ3NlaVhpUVZx?= =?utf-8?B?R29HVXN6WGFlWEdBTi8za2xKd2ZxczBLL0NHWnJOR1ArTitwaW04MU9oeUho?= =?utf-8?B?UmNlNllHSFZzK3pvQ2lRem5EbG9tUzNXaU1wcGRZVEFoZTE2aU1WaVp1Z0lL?= =?utf-8?B?YU1ieFlpMkJ0Mmo1Yzk4NnJ0RUFmK2ZhY2pLQTNSZitwTy9vU1l6WU14ekxh?= =?utf-8?B?djJEOUFxY3JnOUFMcDZ6dFQvOG1aNVZENFl5eVQ3MytRdkRxTlN0bXBIWjhn?= =?utf-8?B?eU1iRWUrc1hGbkEvaW5Xai9JTThBMjJNd2UrM25Ib2xwYk13bnc1T29URWZQ?= =?utf-8?B?RGNKRzdnbVp4ajNTcWJ3ZjRna28zVFBoa1d2a3lzZ0NwSjZZMTZhcGcxQStW?= =?utf-8?B?b0d3clVkcmhnL3FSMWdDYStJLzZ5ZkRscGxqRjRoTmxzTmxsZFo3SDA5KzNh?= =?utf-8?B?TVkvYzAwZ0FCNDZNbllFZml5VDRrQ3JkSDQzc2RtcjVESHdGUWEyOHZwek1v?= =?utf-8?B?OUhCejg5dnJhSSs2ZkQzNUhLRURFdjR2MDhWckhKQjJJRUxVMktoTUR5cm1S?= =?utf-8?B?aUQzbVhaRXFYdW0yNlNQbWFCbXgxVEl0L1hjQ3VrOXp0dHNnRVUrNXhhK3My?= =?utf-8?B?UDFXTWY1dTJVOG93d05hSzhEZVJQZXhqaUtQay9VbHFLZFg3bW9CNm9IK2VF?= =?utf-8?B?L2o5Q3lGdGt4MFNoeHZpMldvMzJQU1hpTlR6Wlh0WGZWbVZQT3BBSExYam0w?= =?utf-8?B?aUIvS0lLSzJZYXpTU2EwWlhCMHJmVCsxUUNuT2gwcUVjZWQ1Mloyc2ZqWDBH?= =?utf-8?B?YXhyZDF1SlZNckRpMWk1TDNhL04wN0l0bktGZXZiMFNqMlU5UFVmdzVyem9t?= =?utf-8?B?U0FBaUtFZVFLVlRMcjA1bVlsMDlFZzBoSmZ1YnJsWmNEdXYwVVl5c2hDbzNx?= =?utf-8?B?eWhra0IrTFhDU08ySkIvL1N3a0Y3bXcrWVk3dDdGaXdMVE5zZCtSaXVQc1Zy?= =?utf-8?B?VTV0RWJvSExFbHB3ckY0NzM4RDlMRSsyVlB6SUVFcHcwNjF5V2I2S3oyODV6?= =?utf-8?B?RFdlZ0NMWENJZmZ1YTQwVWdFMGMydzZPanRnN1ZwcVROZHZqN2h1ZUVUNTE5?= =?utf-8?Q?X7RPFfwocNr2yvpqed1L4zRqG?= Content-ID: <7DF902B9644BE346980973293D8724FF@apcprd03.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: TYZPR03MB6624.apcprd03.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 40b23b6d-2d02-4580-cb2a-08dd4b343c51 X-MS-Exchange-CrossTenant-originalarrivaltime: 12 Feb 2025 07:09:47.7682 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a7687ede-7a6b-4ef6-bace-642f677fbe31 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 9CzgwllCfe+4azYHpu+6pGlPF2Tktbys9rE/sJZBII7hdEFCJgXr3GjgK4fmCewKaRBVxer/DaUsjRjzeG0nNg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SEZPR03MB7658 Content-Type: multipart/alternative; boundary="__=_Part_Boundary_008_1166562066.423455638" X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" --__=_Part_Boundary_008_1166562066.423455638 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGksIFBhdWw6DQoNCk9uIEZyaSwgMjAyNS0wMS0xMCBhdCAyMDozNCArMDgwMCwgcGF1bC1wbC5j aGVuIHdyb3RlOg0KPiBGcm9tOiAiTmFuY3kuTGluIiA8bmFuY3kubGluQG1lZGlhdGVrLmNvbT4N Cj4gDQo+IE92bHN5c19hZGFwdG9yIGlzIGFuIGVuY2Fwc3VsYXRlZCBtb2R1bGUgZGVzaWduZWQg dG8NCj4gc2ltcGxpZnkgdGhlIERSTSBjb250cm9sIGZsb3cuIFRoaXMgbW9kdWxlIGlzIGNvbXBv c2VkDQo+IG9mIDIwIEVYRE1BcywgMjAgQkxFTkRFUnMsIGFuZCAxMiBPVVRQUk9Dcy4NCj4gVHdv IEVYRE1BcyBtZXJnZSBpbnRvIG9uZSBsYXllciwgYWxsb3dpbmcgdGhlIG1vZHVsZQ0KPiB0byBz dXBwb3J0IDIwIGxheWVycyBmb3IgMyBkaXNwbGF5IHBhdGhzLg0KPiBPdmxzeXNfYWRhcHRvciBk cml2ZXIgaXMgaW50ZWdyYXRlZCB3aXRoaW4gdGhlDQo+IG10a19kZHBfY29tcCBmcmFtZXdvcmsu DQo+IA0KPiBTaWduZWQtb2ZmLWJ5OiBOYW5jeS5MaW4gPG5hbmN5LmxpbkBtZWRpYXRlay5jb20+ DQo+IFNpZ25lZC1vZmYtYnk6IFBhdWwtcGwuQ2hlbiA8cGF1bC1wbC5jaGVuQG1lZGlhdGVrLmNv bT4NCj4gLS0tDQo+ICBkcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvTWFrZWZpbGUgICAgICAgICAg ICAgfCAgIDEgKw0KPiAgZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kZHBfY29tcC5jICAg ICAgIHwgIDI1ICsNCj4gIGRyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZGRwX2NvbXAuaCAg ICAgICB8ICAgMSArDQo+ICBkcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2Rpc3BfZHJ2Lmgg ICAgICAgfCAgMzEgKy0NCj4gIC4uLi9kcm0vbWVkaWF0ZWsvbXRrX2Rpc3Bfb3Zsc3lzX2FkYXB0 b3IuYyAgICB8IDc1OCArKysrKysrKysrKysrKysrKysNCj4gIGRyaXZlcnMvZ3B1L2RybS9tZWRp YXRlay9tdGtfZHJtX2Rydi5jICAgICAgICB8ICA2MSArLQ0KPiAgZHJpdmVycy9ncHUvZHJtL21l ZGlhdGVrL210a19kcm1fZHJ2LmggICAgICAgIHwgIDExICstDQo+ICA3IGZpbGVzIGNoYW5nZWQs IDg4NCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQ0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0 IGRyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZGlzcF9vdmxzeXNfYWRhcHRvci5jDQo+IA0K PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL01ha2VmaWxlIGIvZHJpdmVy cy9ncHUvZHJtL21lZGlhdGVrL01ha2VmaWxlDQo+IGluZGV4IDk1NDZiYzZiN2IyZS4uZGVkZjUw ODYwZDNmIDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvTWFrZWZpbGUN Cj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL01ha2VmaWxlDQo+IEBAIC05LDYgKzks NyBAQCBtZWRpYXRlay1kcm0teSA6PSBtdGtfY3J0Yy5vIFwNCj4gIAkJICBtdGtfZGlzcF9leGRt YS5vIFwNCj4gIAkJICBtdGtfZGlzcF9nYW1tYS5vIFwNCj4gIAkJICBtdGtfZGlzcF9tZXJnZS5v IFwNCj4gKwkJICBtdGtfZGlzcF9vdmxzeXNfYWRhcHRvci5vIFwNCj4gIAkJICBtdGtfZGlzcF9v dmwubyBcDQo+ICAJCSAgbXRrX2Rpc3Bfb3V0cHJvYy5vIFwNCj4gIAkJICBtdGtfZGlzcF9vdmxf YWRhcHRvci5vIFwNCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtf ZGRwX2NvbXAuYyBiL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZGRwX2NvbXAuYw0KPiBp bmRleCBjYzc4MDc0NGYwNjAuLjQ5MmI4ZDk2NTMwOSAxMDA2NDQNCj4gLS0tIGEvZHJpdmVycy9n cHUvZHJtL21lZGlhdGVrL210a19kZHBfY29tcC5jDQo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9t ZWRpYXRlay9tdGtfZGRwX2NvbXAuYw0KPiBAQCAtMzY4LDYgKzM2OCwyOCBAQCBzdGF0aWMgY29u c3Qgc3RydWN0IG10a19kZHBfY29tcF9mdW5jcyBkZHBfb3ZsID0gew0KPiAgCS5nZXRfbnVtX2Zv cm1hdHMgPSBtdGtfb3ZsX2dldF9udW1fZm9ybWF0cywNCj4gIH07DQo+ICANCj4gK3N0YXRpYyBj b25zdCBzdHJ1Y3QgbXRrX2RkcF9jb21wX2Z1bmNzIGRkcF9vdmxzeXNfYWRhcHRvciA9IHsNCj4g KwkuY2xrX2VuYWJsZSA9IG10a19vdmxzeXNfYWRhcHRvcl9jbGtfZW5hYmxlLA0KPiArCS5jbGtf ZGlzYWJsZSA9IG10a19vdmxzeXNfYWRhcHRvcl9jbGtfZGlzYWJsZSwNCj4gKwkuY29uZmlnID0g bXRrX292bHN5c19hZGFwdG9yX2NvbmZpZywNCj4gKwkuc3RhcnQgPSBtdGtfb3Zsc3lzX2FkYXB0 b3Jfc3RhcnQsDQo+ICsJLnN0b3AgPSBtdGtfb3Zsc3lzX2FkYXB0b3Jfc3RvcCwNCj4gKwkubGF5 ZXJfY2hlY2sgPSBtdGtfb3Zsc3lzX2FkYXB0b3JfbGF5ZXJfY2hlY2ssDQo+ICsJLmxheWVyX25y ID0gbXRrX292bHN5c19hZGFwdG9yX2xheWVyX25yLA0KPiArCS5sYXllcl9jb25maWcgPSBtdGtf b3Zsc3lzX2FkYXB0b3JfbGF5ZXJfY29uZmlnLA0KPiArCS5yZWdpc3Rlcl92YmxhbmtfY2IgPSBt dGtfb3Zsc3lzX2FkYXB0b3JfcmVnaXN0ZXJfdmJsYW5rX2NiLA0KPiArCS51bnJlZ2lzdGVyX3Zi bGFua19jYiA9IG10a19vdmxzeXNfYWRhcHRvcl91bnJlZ2lzdGVyX3ZibGFua19jYiwNCj4gKwku ZW5hYmxlX3ZibGFuayA9IG10a19vdmxzeXNfYWRhcHRvcl9lbmFibGVfdmJsYW5rLA0KPiArCS5k aXNhYmxlX3ZibGFuayA9IG10a19vdmxzeXNfYWRhcHRvcl9kaXNhYmxlX3ZibGFuaywNCj4gKwku ZG1hX2Rldl9nZXQgPSBtdGtfb3Zsc3lzX2FkYXB0b3JfZG1hX2Rldl9nZXQsDQo+ICsJLmNvbm5l Y3QgPSBtdGtfb3Zsc3lzX2FkYXB0b3JfY29ubmVjdCwNCj4gKwkuZGlzY29ubmVjdCA9IG10a19v dmxzeXNfYWRhcHRvcl9kaXNjb25uZWN0LA0KPiArCS5hZGQgPSBtdGtfb3Zsc3lzX2FkYXB0b3Jf YWRkX2NvbXAsDQo+ICsJLnJlbW92ZSA9IG10a19vdmxzeXNfYWRhcHRvcl9yZW1vdmVfY29tcCwN Cj4gKwkuZ2V0X2Zvcm1hdHMgPSBtdGtfb3Zsc3lzX2FkYXB0b3JfZ2V0X2Zvcm1hdHMsDQo+ICsJ LmdldF9udW1fZm9ybWF0cyA9IG10a19vdmxzeXNfYWRhcHRvcl9nZXRfbnVtX2Zvcm1hdHMsDQo+ ICt9Ow0KPiArDQo+ICBzdGF0aWMgY29uc3Qgc3RydWN0IG10a19kZHBfY29tcF9mdW5jcyBkZHBf cG9zdG1hc2sgPSB7DQo+ICAJLmNsa19lbmFibGUgPSBtdGtfZGRwX2Nsa19lbmFibGUsDQo+ICAJ LmNsa19kaXNhYmxlID0gbXRrX2RkcF9jbGtfZGlzYWJsZSwNCj4gQEAgLTQzNyw2ICs0NTksNyBA QCBzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IG10a19kZHBfY29tcF9zdGVtW01US19ERFBfQ09N UF9UWVBFX01BWF0gPSB7DQo+ICAJW01US19ESVNQX09WTF0gPSAib3ZsIiwNCj4gIAlbTVRLX0RJ U1BfT1ZMXzJMXSA9ICJvdmwtMmwiLA0KPiAgCVtNVEtfRElTUF9PVkxfQURBUFRPUl0gPSAib3Zs X2FkYXB0b3IiLA0KPiArCVtNVEtfRElTUF9PVkxTWVNfQURBUFRPUl0gPSAib3Zsc3lzX2FkYXB0 b3IiLA0KPiAgCVtNVEtfRElTUF9QT1NUTUFTS10gPSAicG9zdG1hc2siLA0KPiAgCVtNVEtfRElT UF9QV01dID0gInB3bSIsDQo+ICAJW01US19ESVNQX1JETUFdID0gInJkbWEiLA0KPiBAQCAtNDY5 LDYgKzQ5Miw4IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgbXRrX2RkcF9jb21wX21hdGNoIG10a19k ZHBfbWF0Y2hlc1tERFBfQ09NUE9ORU5UX0RSTV9JRF9NQVhdDQo+ICAJW0REUF9DT01QT05FTlRf RFBJMF0JCT0geyBNVEtfRFBJLAkJCTAsICZkZHBfZHBpIH0sDQo+ICAJW0REUF9DT01QT05FTlRf RFBJMV0JCT0geyBNVEtfRFBJLAkJCTEsICZkZHBfZHBpIH0sDQo+ICAJW0REUF9DT01QT05FTlRf RFJNX09WTF9BREFQVE9SXQk9IHsgTVRLX0RJU1BfT1ZMX0FEQVBUT1IsCTAsICZkZHBfb3ZsX2Fk YXB0b3IgfSwNCj4gKwlbRERQX0NPTVBPTkVOVF9EUk1fT1ZMU1lTX0FEQVBUT1IwXSA9IHsgTVRL X0RJU1BfT1ZMU1lTX0FEQVBUT1IsIDAsICZkZHBfb3Zsc3lzX2FkYXB0b3J9LA0KPiArCVtERFBf Q09NUE9ORU5UX0RSTV9PVkxTWVNfQURBUFRPUjFdID0geyBNVEtfRElTUF9PVkxTWVNfQURBUFRP UiwgMSwgJmRkcF9vdmxzeXNfYWRhcHRvcn0sDQo+ICAJW0REUF9DT01QT05FTlRfRFNDMF0JCT0g eyBNVEtfRElTUF9EU0MsCQkwLCAmZGRwX2RzYyB9LA0KPiAgCVtERFBfQ09NUE9ORU5UX0RTQzFd CQk9IHsgTVRLX0RJU1BfRFNDLAkJMSwgJmRkcF9kc2MgfSwNCj4gIAlbRERQX0NPTVBPTkVOVF9E U0kwXQkJPSB7IE1US19EU0ksCQkJMCwgJmRkcF9kc2kgfSwNCj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZGRwX2NvbXAuaCBiL2RyaXZlcnMvZ3B1L2RybS9tZWRp YXRlay9tdGtfZGRwX2NvbXAuaA0KPiBpbmRleCBiMzNkMzI4OWI4YjYuLmVmNjRjZTdhMDcxZiAx MDA2NDQNCj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kZHBfY29tcC5oDQo+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZGRwX2NvbXAuaA0KPiBAQCAtMzMs NiArMzMsNyBAQCBlbnVtIG10a19kZHBfY29tcF90eXBlIHsNCj4gIAlNVEtfRElTUF9NVVRFWCwN Cj4gIAlNVEtfRElTUF9PRCwNCj4gIAlNVEtfRElTUF9PVkwsDQo+ICsJTVRLX0RJU1BfT1ZMU1lT X0FEQVBUT1IsDQo+ICAJTVRLX0RJU1BfT1ZMXzJMLA0KPiAgCU1US19ESVNQX09WTF9BREFQVE9S LA0KPiAgCU1US19ESVNQX1BPU1RNQVNLLA0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L21lZGlhdGVrL210a19kaXNwX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19k aXNwX2Rydi5oDQo+IGluZGV4IDQ0ZDJjYmU5MTlkYy4uNjdmNmRhNTlkMGRlIDEwMDY0NA0KPiAt LS0gYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2Rpc3BfZHJ2LmgNCj4gKysrIGIvZHJp dmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kaXNwX2Rydi5oDQo+IEBAIC0xNDAsOCArMTQwLDgg QEAgdm9pZCBtdGtfb3ZsX2VuYWJsZV92Ymxhbmsoc3RydWN0IGRldmljZSAqZGV2KTsNCj4gIHZv aWQgbXRrX292bF9kaXNhYmxlX3ZibGFuayhzdHJ1Y3QgZGV2aWNlICpkZXYpOw0KPiAgdTMyIG10 a19vdmxfZ2V0X2JsZW5kX21vZGVzKHN0cnVjdCBkZXZpY2UgKmRldik7DQo+ICBjb25zdCB1MzIg Km10a19vdmxfZ2V0X2Zvcm1hdHMoc3RydWN0IGRldmljZSAqZGV2KTsNCj4gLXNpemVfdCBtdGtf b3ZsX2dldF9udW1fZm9ybWF0cyhzdHJ1Y3QgZGV2aWNlICpkZXYpOw0KPiAgDQo+ICtzaXplX3Qg bXRrX292bF9nZXRfbnVtX2Zvcm1hdHMoc3RydWN0IGRldmljZSAqZGV2KTsNCj4gIHZvaWQgbXRr X292bF9hZGFwdG9yX2FkZF9jb21wKHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IG10a19tdXRl eCAqbXV0ZXgpOw0KPiAgdm9pZCBtdGtfb3ZsX2FkYXB0b3JfcmVtb3ZlX2NvbXAoc3RydWN0IGRl dmljZSAqZGV2LCBzdHJ1Y3QgbXRrX211dGV4ICptdXRleCk7DQo+ICBib29sIG10a19vdmxfYWRh cHRvcl9pc19jb21wX3ByZXNlbnQoc3RydWN0IGRldmljZV9ub2RlICpub2RlKTsNCj4gQEAgLTE3 NCw2ICsxNzQsMzUgQEAgc2l6ZV90IG10a19vdmxfYWRhcHRvcl9nZXRfbnVtX2Zvcm1hdHMoc3Ry dWN0IGRldmljZSAqZGV2KTsNCj4gIGVudW0gZHJtX21vZGVfc3RhdHVzIG10a19vdmxfYWRhcHRv cl9tb2RlX3ZhbGlkKHN0cnVjdCBkZXZpY2UgKmRldiwNCj4gIAkJCQkJCWNvbnN0IHN0cnVjdCBk cm1fZGlzcGxheV9tb2RlICptb2RlKTsNCj4gIA0KPiArdm9pZCBtdGtfb3Zsc3lzX2FkYXB0b3Jf YWRkX2NvbXAoc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgbXRrX211dGV4ICptdXRleCk7DQo+ ICt2b2lkIG10a19vdmxzeXNfYWRhcHRvcl9yZW1vdmVfY29tcChzdHJ1Y3QgZGV2aWNlICpkZXYs IHN0cnVjdCBtdGtfbXV0ZXggKm11dGV4KTsNCj4gK3ZvaWQgbXRrX292bHN5c19hZGFwdG9yX2Nv bm5lY3Qoc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgZGV2aWNlICptbXN5c19kZXYsDQo+ICsJ CQkJdW5zaWduZWQgaW50IG5leHQpOw0KPiArdm9pZCBtdGtfb3Zsc3lzX2FkYXB0b3JfZGlzY29u bmVjdChzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBkZXZpY2UgKm1tc3lzX2RldiwNCj4gKwkJ CQkgICB1bnNpZ25lZCBpbnQgbmV4dCk7DQo+ICtpbnQgbXRrX292bHN5c19hZGFwdG9yX2Nsa19l bmFibGUoc3RydWN0IGRldmljZSAqZGV2KTsNCj4gK3ZvaWQgbXRrX292bHN5c19hZGFwdG9yX2Ns a19kaXNhYmxlKHN0cnVjdCBkZXZpY2UgKmRldik7DQo+ICt2b2lkIG10a19vdmxzeXNfYWRhcHRv cl9jb25maWcoc3RydWN0IGRldmljZSAqZGV2LCB1bnNpZ25lZCBpbnQgdywNCj4gKwkJCSAgICAg ICB1bnNpZ25lZCBpbnQgaCwgdW5zaWduZWQgaW50IHZyZWZyZXNoLA0KPiArCQkJICAgICAgIHVu c2lnbmVkIGludCBicGMsIHN0cnVjdCBjbWRxX3BrdCAqY21kcV9wa3QpOw0KPiArdm9pZCBtdGtf b3Zsc3lzX2FkYXB0b3JfbGF5ZXJfY29uZmlnKHN0cnVjdCBkZXZpY2UgKmRldiwgdW5zaWduZWQg aW50IGlkeCwNCj4gKwkJCQkgICAgIHN0cnVjdCBtdGtfcGxhbmVfc3RhdGUgKnN0YXRlLA0KPiAr CQkJCSAgICAgc3RydWN0IGNtZHFfcGt0ICpjbWRxX3BrdCk7DQo+ICtpbnQgbXRrX292bHN5c19h ZGFwdG9yX2xheWVyX2NoZWNrKHN0cnVjdCBkZXZpY2UgKmRldiwNCj4gKwkJCQkgICB1bnNpZ25l ZCBpbnQgaWR4LA0KPiArCQkJCSAgIHN0cnVjdCBtdGtfcGxhbmVfc3RhdGUgKm10a19zdGF0ZSk7 DQo+ICt2b2lkIG10a19vdmxzeXNfYWRhcHRvcl9yZWdpc3Rlcl92YmxhbmtfY2Ioc3RydWN0IGRl dmljZSAqZGV2LCB2b2lkICgqdmJsYW5rX2NiKSh2b2lkICopLA0KPiArCQkJCQkgICB2b2lkICp2 YmxhbmtfY2JfZGF0YSk7DQo+ICt2b2lkIG10a19vdmxzeXNfYWRhcHRvcl91bnJlZ2lzdGVyX3Zi bGFua19jYihzdHJ1Y3QgZGV2aWNlICpkZXYpOw0KPiArdm9pZCBtdGtfb3Zsc3lzX2FkYXB0b3Jf ZW5hYmxlX3ZibGFuayhzdHJ1Y3QgZGV2aWNlICpkZXYpOw0KPiArdm9pZCBtdGtfb3Zsc3lzX2Fk YXB0b3JfZGlzYWJsZV92Ymxhbmsoc3RydWN0IGRldmljZSAqZGV2KTsNCj4gK3ZvaWQgbXRrX292 bHN5c19hZGFwdG9yX3N0YXJ0KHN0cnVjdCBkZXZpY2UgKmRldik7DQo+ICt2b2lkIG10a19vdmxz eXNfYWRhcHRvcl9zdG9wKHN0cnVjdCBkZXZpY2UgKmRldik7DQo+ICt1bnNpZ25lZCBpbnQgbXRr X292bHN5c19hZGFwdG9yX2xheWVyX25yKHN0cnVjdCBkZXZpY2UgKmRldik7DQo+ICtzdHJ1Y3Qg ZGV2aWNlICptdGtfb3Zsc3lzX2FkYXB0b3JfZG1hX2Rldl9nZXQoc3RydWN0IGRldmljZSAqZGV2 KTsNCj4gK2NvbnN0IHUzMiAqbXRrX292bHN5c19hZGFwdG9yX2dldF9mb3JtYXRzKHN0cnVjdCBk ZXZpY2UgKmRldik7DQo+ICtzaXplX3QgbXRrX292bHN5c19hZGFwdG9yX2dldF9udW1fZm9ybWF0 cyhzdHJ1Y3QgZGV2aWNlICpkZXYpOw0KPiArDQo+ICB2b2lkIG10a19yZG1hX2J5cGFzc19zaGFk b3coc3RydWN0IGRldmljZSAqZGV2KTsNCj4gIGludCBtdGtfcmRtYV9jbGtfZW5hYmxlKHN0cnVj dCBkZXZpY2UgKmRldik7DQo+ICB2b2lkIG10a19yZG1hX2Nsa19kaXNhYmxlKHN0cnVjdCBkZXZp Y2UgKmRldik7DQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2Rp c3Bfb3Zsc3lzX2FkYXB0b3IuYyBiL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZGlzcF9v dmxzeXNfYWRhcHRvci5jDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAw MDAwMC4uN2JjZTJiNzE0M2NiDQo+IC0tLSAvZGV2L251bGwNCj4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL21lZGlhdGVrL210a19kaXNwX292bHN5c19hZGFwdG9yLmMNCj4gQEAgLTAsMCArMSw3NTgg QEANCj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkNCj4gKy8qDQo+ ICsgKiBDb3B5cmlnaHQgKGMpIDIwMjEgTWVkaWFUZWsgSW5jLg0KPiArICovDQo+ICsNCj4gKyNp bmNsdWRlIDxkcm0vZHJtX2ZvdXJjYy5oPg0KPiArI2luY2x1ZGUgPGRybS9kcm1fb2YuaD4NCj4g KyNpbmNsdWRlIDxsaW51eC9jbGsuaD4NCj4gKyNpbmNsdWRlIDxsaW51eC9jb21wb25lbnQuaD4N Cj4gKyNpbmNsdWRlIDxsaW51eC9vZl9wbGF0Zm9ybS5oPg0KPiArI2luY2x1ZGUgPGxpbnV4L29m X2RldmljZS5oPg0KPiArI2luY2x1ZGUgPGxpbnV4L29mX2FkZHJlc3MuaD4NCj4gKyNpbmNsdWRl IDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4NCj4gKyNpbmNsdWRlIDxsaW51eC9wbV9ydW50aW1l Lmg+DQo+ICsjaW5jbHVkZSA8bGludXgvcmVzZXQuaD4NCj4gKyNpbmNsdWRlIDxsaW51eC9zb2Mv bWVkaWF0ZWsvbXRrLWNtZHEuaD4NCj4gKyNpbmNsdWRlIDxsaW51eC9zb2MvbWVkaWF0ZWsvbXRr LW1tc3lzLmg+DQo+ICsjaW5jbHVkZSA8bGludXgvc29jL21lZGlhdGVrL210ay1tdXRleC5oPg0K PiArDQo+ICsjaW5jbHVkZSAibXRrX2Rpc3BfYmxlbmRlci5oIg0KPiArI2luY2x1ZGUgIm10a19k aXNwX2Rydi5oIg0KPiArI2luY2x1ZGUgIm10a19jcnRjLmgiDQoNCkFscGhhYmV0aWMgb3JkZXIu DQoNCj4gKyNpbmNsdWRlICJtdGtfZGRwX2NvbXAuaCINCj4gKyNpbmNsdWRlICJtdGtfZHJtX2Ry di5oIg0KPiArDQo+ICtlbnVtIG10a19vdmxzeXNfYWRhcHRvcl9jb21wX3R5cGUgew0KPiArCU9W TFNZU19BREFQVE9SX1RZUEVfRVhETUEgPSAwLA0KPiArCU9WTFNZU19BREFQVE9SX1RZUEVfQkxF TkRFUiwNCj4gKwlPVkxTWVNfQURBUFRPUl9UWVBFX09VVFBST0MsDQo+ICsJT1ZMU1lTX0FEQVBU T1JfVFlQRV9OVU0sDQo+ICt9Ow0KPiArDQo+ICtlbnVtIG10a19vdmxzeXNfYWRhcHRvcl9jb21w X2lkIHsNCj4gKwlPVkxTWVNfQURBUFRPUl9FWERNQTAsDQo+ICsJT1ZMU1lTX0FEQVBUT1JfRVhE TUExLA0KPiArCU9WTFNZU19BREFQVE9SX0VYRE1BMiwNCj4gKwlPVkxTWVNfQURBUFRPUl9FWERN QTMsDQo+ICsJT1ZMU1lTX0FEQVBUT1JfRVhETUE0LA0KPiArCU9WTFNZU19BREFQVE9SX0VYRE1B NSwNCj4gKwlPVkxTWVNfQURBUFRPUl9FWERNQTYsDQo+ICsJT1ZMU1lTX0FEQVBUT1JfRVhETUE3 LA0KPiArCU9WTFNZU19BREFQVE9SX0VYRE1BOCwNCj4gKwlPVkxTWVNfQURBUFRPUl9FWERNQTks DQo+ICsJT1ZMU1lTX0FEQVBUT1JfRVhETUExMCwNCj4gKwlPVkxTWVNfQURBUFRPUl9FWERNQTEx LA0KPiArCU9WTFNZU19BREFQVE9SX0VYRE1BMTIsDQo+ICsJT1ZMU1lTX0FEQVBUT1JfRVhETUEx MywNCj4gKwlPVkxTWVNfQURBUFRPUl9FWERNQTE0LA0KPiArCU9WTFNZU19BREFQVE9SX0VYRE1B MTUsDQo+ICsJT1ZMU1lTX0FEQVBUT1JfRVhETUExNiwNCj4gKwlPVkxTWVNfQURBUFRPUl9FWERN QTE3LA0KPiArCU9WTFNZU19BREFQVE9SX0VYRE1BMTgsDQo+ICsJT1ZMU1lTX0FEQVBUT1JfRVhE TUExOSwNCj4gKwlPVkxTWVNfQURBUFRPUl9CTEVOREVSMCwNCj4gKwlPVkxTWVNfQURBUFRPUl9C TEVOREVSMSwNCj4gKwlPVkxTWVNfQURBUFRPUl9CTEVOREVSMiwNCj4gKwlPVkxTWVNfQURBUFRP Ul9CTEVOREVSMywNCj4gKwlPVkxTWVNfQURBUFRPUl9CTEVOREVSNCwNCj4gKwlPVkxTWVNfQURB UFRPUl9CTEVOREVSNSwNCj4gKwlPVkxTWVNfQURBUFRPUl9CTEVOREVSNiwNCj4gKwlPVkxTWVNf QURBUFRPUl9CTEVOREVSNywNCj4gKwlPVkxTWVNfQURBUFRPUl9CTEVOREVSOCwNCj4gKwlPVkxT WVNfQURBUFRPUl9CTEVOREVSOSwNCj4gKwlPVkxTWVNfQURBUFRPUl9CTEVOREVSMTAsDQo+ICsJ T1ZMU1lTX0FEQVBUT1JfQkxFTkRFUjExLA0KPiArCU9WTFNZU19BREFQVE9SX0JMRU5ERVIxMiwN Cj4gKwlPVkxTWVNfQURBUFRPUl9CTEVOREVSMTMsDQo+ICsJT1ZMU1lTX0FEQVBUT1JfQkxFTkRF UjE0LA0KPiArCU9WTFNZU19BREFQVE9SX0JMRU5ERVIxNSwNCj4gKwlPVkxTWVNfQURBUFRPUl9C TEVOREVSMTYsDQo+ICsJT1ZMU1lTX0FEQVBUT1JfQkxFTkRFUjE3LA0KPiArCU9WTFNZU19BREFQ VE9SX0JMRU5ERVIxOCwNCj4gKwlPVkxTWVNfQURBUFRPUl9CTEVOREVSMTksDQo+ICsJT1ZMU1lT X0FEQVBUT1JfT1VUUFJPQzAsDQo+ICsJT1ZMU1lTX0FEQVBUT1JfT1VUUFJPQzEsDQo+ICsJT1ZM U1lTX0FEQVBUT1JfT1VUUFJPQzIsDQo+ICsJT1ZMU1lTX0FEQVBUT1JfT1VUUFJPQzMsDQo+ICsJ T1ZMU1lTX0FEQVBUT1JfT1VUUFJPQzQsDQo+ICsJT1ZMU1lTX0FEQVBUT1JfT1VUUFJPQzUsDQo+ ICsJT1ZMU1lTX0FEQVBUT1JfT1VUUFJPQzYsDQo+ICsJT1ZMU1lTX0FEQVBUT1JfT1VUUFJPQzcs DQo+ICsJT1ZMU1lTX0FEQVBUT1JfT1VUUFJPQzgsDQo+ICsJT1ZMU1lTX0FEQVBUT1JfT1VUUFJP QzksDQo+ICsJT1ZMU1lTX0FEQVBUT1JfT1VUUFJPQzEwLA0KPiArCU9WTFNZU19BREFQVE9SX09V VFBST0MxMSwNCj4gKwlPVkxTWVNfQURBUFRPUl9JRF9NQVgNCj4gK307DQo+ICsNCj4gK3N0cnVj dCBvdmxzeXNfYWRhcHRvcl9jb21wX21hdGNoIHsNCj4gKwllbnVtIG10a19vdmxzeXNfYWRhcHRv cl9jb21wX3R5cGUgdHlwZTsNCj4gKwlpbnQgYWxpYXNfaWQ7DQo+ICsJZW51bSBtdGtfZGRwX2Nv bXBfaWQgY29tcF9pZDsNCj4gK307DQo+ICsNCj4gK3N0cnVjdCBtdGtfZGlzcF9vdmxzeXNfYWRh cHRvciB7DQo+ICsJc3RydWN0IGRldmljZSAqb3ZsX2FkYXB0b3JfY29tcFtPVkxTWVNfQURBUFRP Ul9JRF9NQVhdOw0KPiArCXN0cnVjdCBkZXZpY2UgKm1tc3lzX2RldjsNCj4gKwljb25zdCB1bnNp Z25lZCBpbnQgKnBhdGg7DQo+ICsJdW5zaWduZWQgaW50IHBhdGhfc2l6ZTsNCj4gKwl1bnNpZ25l ZCBpbnQgbGF5ZXJfbnI7DQo+ICsJYm9vbCBjaGlsZHJlbl9ib3VuZDsNCj4gKwl1bnNpZ25lZCBp bnQgbWF4X3NpemU7DQo+ICt9Ow0KPiArDQo+ICtzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IHBy aXZhdGVfY29tcF9zdGVtW09WTFNZU19BREFQVE9SX1RZUEVfTlVNXSA9IHsNCj4gKwlbT1ZMU1lT X0FEQVBUT1JfVFlQRV9FWERNQV0JPSAiZXhkbWEiLA0KPiArCVtPVkxTWVNfQURBUFRPUl9UWVBF X0JMRU5ERVJdCT0gImJsZW5kZXIiLA0KPiArCVtPVkxTWVNfQURBUFRPUl9UWVBFX09VVFBST0Nd CT0gIm91dHByb2MiLA0KPiArfTsNCj4gKw0KPiArc3RhdGljIGNvbnN0IHN0cnVjdCBvdmxzeXNf YWRhcHRvcl9jb21wX21hdGNoIGNvbXBfbWF0Y2hlc1tPVkxTWVNfQURBUFRPUl9JRF9NQVhdID0g ew0KPiArCVtPVkxTWVNfQURBUFRPUl9FWERNQTBdICAgPSB7IE9WTFNZU19BREFQVE9SX1RZUEVf RVhETUEsIDAsIEREUF9DT01QT05FTlRfSURfTUFYfSwNCj4gKwlbT1ZMU1lTX0FEQVBUT1JfRVhE TUExXQkgID0geyBPVkxTWVNfQURBUFRPUl9UWVBFX0VYRE1BLCAxLCBERFBfQ09NUE9ORU5UX0lE X01BWH0sDQo+ICsJW09WTFNZU19BREFQVE9SX0VYRE1BMl0JICA9IHsgT1ZMU1lTX0FEQVBUT1Jf VFlQRV9FWERNQSwgMiwgRERQX0NPTVBPTkVOVF9PVkwwX0VYRE1BMn0sDQo+ICsJW09WTFNZU19B REFQVE9SX0VYRE1BM10JICA9IHsgT1ZMU1lTX0FEQVBUT1JfVFlQRV9FWERNQSwgMywgRERQX0NP TVBPTkVOVF9PVkwwX0VYRE1BM30sDQo+ICsJW09WTFNZU19BREFQVE9SX0VYRE1BNF0JICA9IHsg T1ZMU1lTX0FEQVBUT1JfVFlQRV9FWERNQSwgNCwgRERQX0NPTVBPTkVOVF9PVkwwX0VYRE1BNH0s DQo+ICsJW09WTFNZU19BREFQVE9SX0VYRE1BNV0JICA9IHsgT1ZMU1lTX0FEQVBUT1JfVFlQRV9F WERNQSwgNSwgRERQX0NPTVBPTkVOVF9PVkwwX0VYRE1BNX0sDQo+ICsJW09WTFNZU19BREFQVE9S X0VYRE1BNl0JICA9IHsgT1ZMU1lTX0FEQVBUT1JfVFlQRV9FWERNQSwgNiwgRERQX0NPTVBPTkVO VF9PVkwwX0VYRE1BNn0sDQo+ICsJW09WTFNZU19BREFQVE9SX0VYRE1BN10JICA9IHsgT1ZMU1lT X0FEQVBUT1JfVFlQRV9FWERNQSwgNywgRERQX0NPTVBPTkVOVF9PVkwwX0VYRE1BN30sDQo+ICsJ W09WTFNZU19BREFQVE9SX0VYRE1BOF0JICA9IHsgT1ZMU1lTX0FEQVBUT1JfVFlQRV9FWERNQSwg OCwgRERQX0NPTVBPTkVOVF9PVkwwX0VYRE1BOH0sDQo+ICsJW09WTFNZU19BREFQVE9SX0VYRE1B OV0JICA9IHsgT1ZMU1lTX0FEQVBUT1JfVFlQRV9FWERNQSwgOSwgRERQX0NPTVBPTkVOVF9PVkww X0VYRE1BOX0sDQo+ICsJW09WTFNZU19BREFQVE9SX0VYRE1BMTBdICAgPSB7IE9WTFNZU19BREFQ VE9SX1RZUEVfRVhETUEsIDEwLCBERFBfQ09NUE9ORU5UX0lEX01BWH0sDQoNCkVYRE1BMTAgaGFz IG5vIGNvbXBvbmVudCBpZCwgc28ganVzdCBkcm9wIE9WTFNZU19BREFQVE9SX0VYRE1BMTAuDQoN Cj4gKwlbT1ZMU1lTX0FEQVBUT1JfRVhETUExMV0gICA9IHsgT1ZMU1lTX0FEQVBUT1JfVFlQRV9F WERNQSwgMTEsIEREUF9DT01QT05FTlRfSURfTUFYfSwNCg0KRGl0dG8uDQoNCj4gKwlbT1ZMU1lT X0FEQVBUT1JfRVhETUExMl0gICA9IHsgT1ZMU1lTX0FEQVBUT1JfVFlQRV9FWERNQSwgMTIsIERE UF9DT01QT05FTlRfT1ZMMV9FWERNQTJ9LA0KPiArCVtPVkxTWVNfQURBUFRPUl9FWERNQTEzXSAg ID0geyBPVkxTWVNfQURBUFRPUl9UWVBFX0VYRE1BLCAxMywgRERQX0NPTVBPTkVOVF9PVkwxX0VY RE1BM30sDQo+ICsJW09WTFNZU19BREFQVE9SX0VYRE1BMTRdICAgPSB7IE9WTFNZU19BREFQVE9S X1RZUEVfRVhETUEsIDE0LCBERFBfQ09NUE9ORU5UX09WTDFfRVhETUE0fSwNCj4gKwlbT1ZMU1lT X0FEQVBUT1JfRVhETUExNV0gICA9IHsgT1ZMU1lTX0FEQVBUT1JfVFlQRV9FWERNQSwgMTUsIERE UF9DT01QT05FTlRfT1ZMMV9FWERNQTV9LA0KPiArCVtPVkxTWVNfQURBUFRPUl9FWERNQTE2XSAg ID0geyBPVkxTWVNfQURBUFRPUl9UWVBFX0VYRE1BLCAxNiwgRERQX0NPTVBPTkVOVF9PVkwxX0VY RE1BNn0sDQo+ICsJW09WTFNZU19BREFQVE9SX0VYRE1BMTddICAgPSB7IE9WTFNZU19BREFQVE9S X1RZUEVfRVhETUEsIDE3LCBERFBfQ09NUE9ORU5UX09WTDFfRVhETUE3fSwNCj4gKwlbT1ZMU1lT X0FEQVBUT1JfRVhETUExOF0gICA9IHsgT1ZMU1lTX0FEQVBUT1JfVFlQRV9FWERNQSwgMTgsIERE UF9DT01QT05FTlRfT1ZMMV9FWERNQTh9LA0KPiArCVtPVkxTWVNfQURBUFRPUl9FWERNQTE5XSAg ID0geyBPVkxTWVNfQURBUFRPUl9UWVBFX0VYRE1BLCAxOSwgRERQX0NPTVBPTkVOVF9PVkwxX0VY RE1BOX0sDQo+ICsJW09WTFNZU19BREFQVE9SX0JMRU5ERVIwXSA9IHsgT1ZMU1lTX0FEQVBUT1Jf VFlQRV9CTEVOREVSLCAwLCBERFBfQ09NUE9ORU5UX0lEX01BWH0sDQoNCkRpdHRvLg0KDQo+ICsJ W09WTFNZU19BREFQVE9SX0JMRU5ERVIxXSA9IHsgT1ZMU1lTX0FEQVBUT1JfVFlQRV9CTEVOREVS LCAxLCBERFBfQ09NUE9ORU5UX09WTDBfQkxFTkRFUjF9LA0KPiArCVtPVkxTWVNfQURBUFRPUl9C TEVOREVSMl0gPSB7IE9WTFNZU19BREFQVE9SX1RZUEVfQkxFTkRFUiwgMiwgRERQX0NPTVBPTkVO VF9PVkwwX0JMRU5ERVIyfSwNCj4gKwlbT1ZMU1lTX0FEQVBUT1JfQkxFTkRFUjNdID0geyBPVkxT WVNfQURBUFRPUl9UWVBFX0JMRU5ERVIsIDMsIEREUF9DT01QT05FTlRfT1ZMMF9CTEVOREVSM30s DQo+ICsJW09WTFNZU19BREFQVE9SX0JMRU5ERVI0XSA9IHsgT1ZMU1lTX0FEQVBUT1JfVFlQRV9C TEVOREVSLCA0LCBERFBfQ09NUE9ORU5UX09WTDBfQkxFTkRFUjR9LA0KPiArCVtPVkxTWVNfQURB UFRPUl9CTEVOREVSNV0gPSB7IE9WTFNZU19BREFQVE9SX1RZUEVfQkxFTkRFUiwgNSwgRERQX0NP TVBPTkVOVF9PVkwwX0JMRU5ERVI1fSwNCj4gKwlbT1ZMU1lTX0FEQVBUT1JfQkxFTkRFUjZdID0g eyBPVkxTWVNfQURBUFRPUl9UWVBFX0JMRU5ERVIsIDYsIEREUF9DT01QT05FTlRfT1ZMMF9CTEVO REVSNn0sDQo+ICsJW09WTFNZU19BREFQVE9SX0JMRU5ERVI3XSA9IHsgT1ZMU1lTX0FEQVBUT1Jf VFlQRV9CTEVOREVSLCA3LCBERFBfQ09NUE9ORU5UX09WTDBfQkxFTkRFUjd9LA0KPiArCVtPVkxT WVNfQURBUFRPUl9CTEVOREVSOF0gPSB7IE9WTFNZU19BREFQVE9SX1RZUEVfQkxFTkRFUiwgOCwg RERQX0NPTVBPTkVOVF9PVkwwX0JMRU5ERVI4fSwNCj4gKwlbT1ZMU1lTX0FEQVBUT1JfQkxFTkRF UjldID0geyBPVkxTWVNfQURBUFRPUl9UWVBFX0JMRU5ERVIsIDksIEREUF9DT01QT05FTlRfT1ZM MF9CTEVOREVSOX0sDQo+ICsJW09WTFNZU19BREFQVE9SX0JMRU5ERVIxMF0gPSB7IE9WTFNZU19B REFQVE9SX1RZUEVfQkxFTkRFUiwgMTAsIEREUF9DT01QT05FTlRfSURfTUFYfSwNCg0KRGl0dG8u DQoNCj4gKwlbT1ZMU1lTX0FEQVBUT1JfQkxFTkRFUjExXSA9IHsNCj4gKwkJT1ZMU1lTX0FEQVBU T1JfVFlQRV9CTEVOREVSLCAxMSwgRERQX0NPTVBPTkVOVF9PVkwxX0JMRU5ERVIxfSwNCj4gKwlb T1ZMU1lTX0FEQVBUT1JfQkxFTkRFUjEyXSA9IHsNCj4gKwkJT1ZMU1lTX0FEQVBUT1JfVFlQRV9C TEVOREVSLCAxMiwgRERQX0NPTVBPTkVOVF9PVkwxX0JMRU5ERVIyfSwNCj4gKwlbT1ZMU1lTX0FE QVBUT1JfQkxFTkRFUjEzXSA9IHsNCj4gKwkJT1ZMU1lTX0FEQVBUT1JfVFlQRV9CTEVOREVSLCAx MywgRERQX0NPTVBPTkVOVF9PVkwxX0JMRU5ERVIzfSwNCj4gKwlbT1ZMU1lTX0FEQVBUT1JfQkxF TkRFUjE0XSA9IHsNCj4gKwkJT1ZMU1lTX0FEQVBUT1JfVFlQRV9CTEVOREVSLCAxNCwgRERQX0NP TVBPTkVOVF9PVkwxX0JMRU5ERVI0fSwNCj4gKwlbT1ZMU1lTX0FEQVBUT1JfQkxFTkRFUjE1XSA9 IHsNCj4gKwkJT1ZMU1lTX0FEQVBUT1JfVFlQRV9CTEVOREVSLCAxNSwgRERQX0NPTVBPTkVOVF9P VkwxX0JMRU5ERVI1fSwNCj4gKwlbT1ZMU1lTX0FEQVBUT1JfQkxFTkRFUjE2XSA9IHsNCj4gKwkJ T1ZMU1lTX0FEQVBUT1JfVFlQRV9CTEVOREVSLCAxNiwgRERQX0NPTVBPTkVOVF9PVkwxX0JMRU5E RVI2fSwNCj4gKwlbT1ZMU1lTX0FEQVBUT1JfQkxFTkRFUjE3XSA9IHsNCj4gKwkJT1ZMU1lTX0FE QVBUT1JfVFlQRV9CTEVOREVSLCAxNywgRERQX0NPTVBPTkVOVF9PVkwxX0JMRU5ERVI3fSwNCj4g KwlbT1ZMU1lTX0FEQVBUT1JfQkxFTkRFUjE4XSA9IHsNCj4gKwkJT1ZMU1lTX0FEQVBUT1JfVFlQ RV9CTEVOREVSLCAxOCwgRERQX0NPTVBPTkVOVF9PVkwxX0JMRU5ERVI4fSwNCj4gKwlbT1ZMU1lT X0FEQVBUT1JfQkxFTkRFUjE5XSA9IHsNCj4gKwkJT1ZMU1lTX0FEQVBUT1JfVFlQRV9CTEVOREVS LCAxOSwgRERQX0NPTVBPTkVOVF9PVkwxX0JMRU5ERVI5fSwNCj4gKwlbT1ZMU1lTX0FEQVBUT1Jf T1VUUFJPQzBdID0geyBPVkxTWVNfQURBUFRPUl9UWVBFX09VVFBST0MsIDAsIEREUF9DT01QT05F TlRfT1ZMMF9PVVRQUk9DMH0sDQo+ICsJW09WTFNZU19BREFQVE9SX09VVFBST0MxXSA9IHsgT1ZM U1lTX0FEQVBUT1JfVFlQRV9PVVRQUk9DLCAxLCBERFBfQ09NUE9ORU5UX09WTDBfT1VUUFJPQzF9 LA0KPiArCVtPVkxTWVNfQURBUFRPUl9PVVRQUk9DMl0gPSB7IE9WTFNZU19BREFQVE9SX1RZUEVf T1VUUFJPQywgMiwgRERQX0NPTVBPTkVOVF9JRF9NQVh9LA0KPiArCVtPVkxTWVNfQURBUFRPUl9P VVRQUk9DM10gPSB7IE9WTFNZU19BREFQVE9SX1RZUEVfT1VUUFJPQywgMywgRERQX0NPTVBPTkVO VF9JRF9NQVh9LA0KPiArCVtPVkxTWVNfQURBUFRPUl9PVVRQUk9DNF0gPSB7IE9WTFNZU19BREFQ VE9SX1RZUEVfT1VUUFJPQywgNCwgRERQX0NPTVBPTkVOVF9JRF9NQVh9LA0KPiArCVtPVkxTWVNf QURBUFRPUl9PVVRQUk9DNV0gPSB7IE9WTFNZU19BREFQVE9SX1RZUEVfT1VUUFJPQywgNSwgRERQ X0NPTVBPTkVOVF9JRF9NQVh9LA0KDQpEaXR0by4NCg0KPiArCVtPVkxTWVNfQURBUFRPUl9PVVRQ Uk9DNl0gPSB7IE9WTFNZU19BREFQVE9SX1RZUEVfT1VUUFJPQywgNiwgRERQX0NPTVBPTkVOVF9P VkwxX09VVFBST0MwfSwNCj4gKwlbT1ZMU1lTX0FEQVBUT1JfT1VUUFJPQzddID0geyBPVkxTWVNf QURBUFRPUl9UWVBFX09VVFBST0MsIDcsIEREUF9DT01QT05FTlRfSURfTUFYfSwNCj4gKwlbT1ZM U1lTX0FEQVBUT1JfT1VUUFJPQzhdID0geyBPVkxTWVNfQURBUFRPUl9UWVBFX09VVFBST0MsIDgs IEREUF9DT01QT05FTlRfSURfTUFYfSwNCj4gKwlbT1ZMU1lTX0FEQVBUT1JfT1VUUFJPQzldID0g eyBPVkxTWVNfQURBUFRPUl9UWVBFX09VVFBST0MsIDksIEREUF9DT01QT05FTlRfSURfTUFYfSwN Cj4gKwlbT1ZMU1lTX0FEQVBUT1JfT1VUUFJPQzEwXSA9IHsgT1ZMU1lTX0FEQVBUT1JfVFlQRV9P VVRQUk9DLCAxMCwgRERQX0NPTVBPTkVOVF9JRF9NQVh9LA0KPiArCVtPVkxTWVNfQURBUFRPUl9P VVRQUk9DMTFdID0geyBPVkxTWVNfQURBUFRPUl9UWVBFX09VVFBST0MsIDExLCBERFBfQ09NUE9O RU5UX0lEX01BWH0sDQoNCkRpdHRvLg0KDQo+ICt9Ow0KPiArDQo+ICtzdGF0aWMgY29uc3QgdW5z aWduZWQgaW50IG10ODE5Nl9tdGtfb3ZsX21haW5bXSA9IHsNCj4gKwlPVkxTWVNfQURBUFRPUl9F WERNQTIsDQo+ICsJT1ZMU1lTX0FEQVBUT1JfQkxFTkRFUjEsDQo+ICsJT1ZMU1lTX0FEQVBUT1Jf RVhETUEzLA0KPiArCU9WTFNZU19BREFQVE9SX0JMRU5ERVIyLA0KPiArCU9WTFNZU19BREFQVE9S X0VYRE1BNCwNCj4gKwlPVkxTWVNfQURBUFRPUl9CTEVOREVSMywNCj4gKwlPVkxTWVNfQURBUFRP Ul9FWERNQTUsDQo+ICsJT1ZMU1lTX0FEQVBUT1JfQkxFTkRFUjQsDQo+ICsJT1ZMU1lTX0FEQVBU T1JfT1VUUFJPQzAsDQo+ICt9Ow0KPiArDQo+ICtzdGF0aWMgY29uc3QgdW5zaWduZWQgaW50IG10 ODE5Nl9tdGtfb3ZsX2V4dFtdID0gew0KPiArCU9WTFNZU19BREFQVE9SX0VYRE1BNiwNCj4gKwlP VkxTWVNfQURBUFRPUl9CTEVOREVSNSwNCj4gKwlPVkxTWVNfQURBUFRPUl9FWERNQTcsDQo+ICsJ T1ZMU1lTX0FEQVBUT1JfQkxFTkRFUjYsDQo+ICsJT1ZMU1lTX0FEQVBUT1JfRVhETUE4LA0KPiAr CU9WTFNZU19BREFQVE9SX0JMRU5ERVI3LA0KPiArCU9WTFNZU19BREFQVE9SX0VYRE1BOSwNCj4g KwlPVkxTWVNfQURBUFRPUl9CTEVOREVSOCwNCj4gKwlPVkxTWVNfQURBUFRPUl9PVVRQUk9DMSwN Cj4gK307DQo+ICsNCj4gK3N0YXRpYyBjb25zdCB1bnNpZ25lZCBpbnQgbXQ4MTk2X210a19vdmxf dGhpcmRbXSA9IHsNCj4gKwlPVkxTWVNfQURBUFRPUl9FWERNQTEyLA0KPiArCU9WTFNZU19BREFQ VE9SX0JMRU5ERVIxMSwNCj4gKwlPVkxTWVNfQURBUFRPUl9FWERNQTEzLA0KPiArCU9WTFNZU19B REFQVE9SX0JMRU5ERVIxMiwNCj4gKwlPVkxTWVNfQURBUFRPUl9FWERNQTE0LA0KPiArCU9WTFNZ U19BREFQVE9SX0JMRU5ERVIxMywNCj4gKwlPVkxTWVNfQURBUFRPUl9FWERNQTE1LA0KPiArCU9W TFNZU19BREFQVE9SX0JMRU5ERVIxNCwNCj4gKwlPVkxTWVNfQURBUFRPUl9PVVRQUk9DNiwNCj4g K307DQo+ICsNCj4gK3N0YXRpYyBlbnVtIG10a19vdmxzeXNfYWRhcHRvcl9jb21wX3R5cGUgZ2V0 X3R5cGUoZW51bSBtdGtfb3Zsc3lzX2FkYXB0b3JfY29tcF9pZCBpZCkNCj4gK3sNCj4gKwlyZXR1 cm4gY29tcF9tYXRjaGVzW2lkXS50eXBlOw0KPiArfQ0KPiArDQo+ICtzdGF0aWMgZW51bSBtdGtf ZGRwX2NvbXBfaWQgZ2V0X2RkcF9jb21wX2lkKGVudW0gbXRrX292bHN5c19hZGFwdG9yX2NvbXBf aWQgaWQpDQo+ICt7DQo+ICsJcmV0dXJuIGNvbXBfbWF0Y2hlc1tpZF0uY29tcF9pZDsNCj4gK30N Cj4gKw0KPiArc3RhdGljIHN0cnVjdCBkZXZpY2UgKmdldF9jb21wX2J5X3R5cGVfaWR4KHN0cnVj dCBkZXZpY2UgKmRldiwNCj4gKwkJCQkJICAgZW51bSBtdGtfb3Zsc3lzX2FkYXB0b3JfY29tcF90 eXBlIHR5cGUsDQo+ICsJCQkJCSAgIHVuc2lnbmVkIGludCBpZHgpDQo+ICt7DQo+ICsJc3RydWN0 IG10a19kaXNwX292bHN5c19hZGFwdG9yICpwcml2ID0gZGV2X2dldF9kcnZkYXRhKGRldik7DQo+ ICsJaW50IGk7DQo+ICsJaW50IGNvdW50ID0gMDsNCj4gKw0KPiArCWZvciAoaSA9IDA7IGkgPCBw cml2LT5wYXRoX3NpemU7IGkrKykgew0KPiArCQlpZiAoZ2V0X3R5cGUocHJpdi0+cGF0aFtpXSkg PT0gdHlwZSkgew0KPiArCQkJaWYgKGNvdW50ID09IGlkeCkNCj4gKwkJCQlyZXR1cm4gcHJpdi0+ b3ZsX2FkYXB0b3JfY29tcFtwcml2LT5wYXRoW2ldXTsNCj4gKwkJCWNvdW50Kys7DQo+ICsJCX0N Cj4gKwl9DQo+ICsJcmV0dXJuIE5VTEw7DQo+ICt9DQo+ICsNCj4gK3ZvaWQgbXRrX292bHN5c19h ZGFwdG9yX2xheWVyX2NvbmZpZyhzdHJ1Y3QgZGV2aWNlICpkZXYsIHVuc2lnbmVkIGludCBpZHgs DQo+ICsJCQkJICAgICBzdHJ1Y3QgbXRrX3BsYW5lX3N0YXRlICpzdGF0ZSwNCj4gKwkJCQkgICAg IHN0cnVjdCBjbWRxX3BrdCAqY21kcV9wa3QpDQo+ICt7DQo+ICsJc3RydWN0IG10a19wbGFuZV9w ZW5kaW5nX3N0YXRlICpwZW5kaW5nID0gJnN0YXRlLT5wZW5kaW5nOw0KPiArCXN0cnVjdCBkZXZp Y2UgKmV4ZG1hOw0KPiArCXN0cnVjdCBkZXZpY2UgKmJsZW5kZXI7DQo+ICsJdW5zaWduZWQgaW50 IGFsaWduX3dpZHRoID0gMDsNCj4gKwljb25zdCBzdHJ1Y3QgZHJtX2Zvcm1hdF9pbmZvICpmbXRf aW5mbyA9IGRybV9mb3JtYXRfaW5mbyhwZW5kaW5nLT5mb3JtYXQpOw0KPiArCXN0cnVjdCBtdGtf ZGlzcF9vdmxzeXNfYWRhcHRvciAqcHJpdiA9IGRldl9nZXRfZHJ2ZGF0YShkZXYpOw0KPiArDQo+ ICsJZGV2X2RiZyhkZXYsICIlcysgaWR4OiVkLCBlbmFibGU6JWQsIGZtdDoweCV4XG4iLCBfX2Z1 bmNfXywgaWR4LA0KPiArCQlwZW5kaW5nLT5lbmFibGUsIHBlbmRpbmctPmZvcm1hdCk7DQo+ICsJ ZGV2X2RiZyhkZXYsICJhZGRyIDB4JXBhZCwgZmIgdzolZCwgeyVkLCVkLCVkLCVkfVxuIiwNCj4g KwkJJnBlbmRpbmctPmFkZHIsIChwZW5kaW5nLT5waXRjaCAvIGZtdF9pbmZvLT5jcHBbMF0pLA0K PiArCQlwZW5kaW5nLT54LCBwZW5kaW5nLT55LCBwZW5kaW5nLT53aWR0aCwgcGVuZGluZy0+aGVp Z2h0KTsNCj4gKw0KPiArCWV4ZG1hID0gZ2V0X2NvbXBfYnlfdHlwZV9pZHgoZGV2LCBPVkxTWVNf QURBUFRPUl9UWVBFX0VYRE1BLCBpZHgpOw0KPiArCWJsZW5kZXIgPSBnZXRfY29tcF9ieV90eXBl X2lkeChkZXYsIE9WTFNZU19BREFQVE9SX1RZUEVfQkxFTkRFUiwgaWR4KTsNCj4gKw0KPiArCS8q IE9WTFNZUyBpcyBpbiAxVDJQIGRvbWFpbiwgd2lkdGggbmVlZHMgdG8gYmUgMiBwaXhlbHMgYWxp Z24gKi8NCj4gKwlhbGlnbl93aWR0aCA9IEFMSUdOX0RPV04ocGVuZGluZy0+d2lkdGgsIDIpOw0K DQphbGlnbl93aWR0aCBpcyB1c2VsZXNzLCBzbyBkcm9wIGl0Lg0KDQo+ICsNCj4gKwlpZiAoIXBl bmRpbmctPmVuYWJsZSB8fCBwZW5kaW5nLT5oZWlnaHQgPT0gMCB8fCBhbGlnbl93aWR0aCA9PSAw IHx8DQo+ICsJICAgIHBlbmRpbmctPnggPiBwcml2LT5tYXhfc2l6ZSB8fCBwZW5kaW5nLT55ID4g cHJpdi0+bWF4X3NpemUpIHsNCj4gKwkJcGVuZGluZy0+ZW5hYmxlID0gZmFsc2U7DQo+ICsJCW10 a19kaXNwX2V4ZG1hX3N0b3AoZXhkbWEsIGNtZHFfcGt0KTsNCj4gKwkJbXRrX2Rpc3BfYmxlbmRl cl9sYXllcl9jb25maWcoYmxlbmRlciwgc3RhdGUsIGNtZHFfcGt0KTsNCj4gKwkJcmV0dXJuOw0K PiArCX0NCj4gKw0KPiArCW10a19kaXNwX2V4ZG1hX2NvbmZpZyhleGRtYSwgc3RhdGUsIGNtZHFf cGt0KTsNCg0KbXRrX2Rpc3BfZXhkbWFfY29uZmlnKCkgZG9lcyBzb21ldGhpbmcgbGlrZSBtdGtf b3ZsX2xheWVyX2NvbmZpZygpLCBzbyBJIHdvdWxkIGxpa2UgdG8gcmVuYW1lIGl0IHRvIG10a19k aXNwX2V4ZG1hX2xheWVyX2NvbmZpZygpLg0KDQo+ICsNCj4gKwltdGtfZGlzcF9ibGVuZGVyX2xh eWVyX2NvbmZpZyhibGVuZGVyLCBzdGF0ZSwgY21kcV9wa3QpOw0KPiArDQo+ICsJbXRrX2Rpc3Bf ZXhkbWFfc3RhcnQoZXhkbWEsIGNtZHFfcGt0KTsNCg0KV2h5IGNhbGwgc3RhcnQgaW4gbGF5ZXIg Y29uZmlnPw0Kc3RhcnQgc2hvdWxkIGJlIGNhbGxlZCBpbiBzdGFydC4NCg0KPiArCW10a19kaXNw X2JsZW5kZXJfc3RhcnQoYmxlbmRlciwgY21kcV9wa3QpOw0KDQpEaXR0by4NCg0KPiArfQ0KPiAr DQo+ICt2b2lkIG10a19vdmxzeXNfYWRhcHRvcl9jb25maWcoc3RydWN0IGRldmljZSAqZGV2LCB1 bnNpZ25lZCBpbnQgdywNCj4gKwkJCSAgICAgICB1bnNpZ25lZCBpbnQgaCwgdW5zaWduZWQgaW50 IHZyZWZyZXNoLA0KPiArCQkJICAgICAgIHVuc2lnbmVkIGludCBicGMsIHN0cnVjdCBjbWRxX3Br dCAqY21kcV9wa3QpDQo+ICt7DQo+ICsJc3RydWN0IG10a19kaXNwX292bHN5c19hZGFwdG9yICpw cml2ID0gZGV2X2dldF9kcnZkYXRhKGRldik7DQo+ICsJaW50IGk7DQo+ICsJaW50IGJsZW5kZXJf aWR4ID0gMDsNCj4gKw0KPiArCWZvciAoaSA9IDA7IGkgPCBwcml2LT5wYXRoX3NpemU7IGkrKykg ew0KPiArCQllbnVtIG10a19kaXNwX2JsZW5kZXJfbGF5ZXIgYmxlbmRlcjsNCj4gKw0KPiArCQlp ZiAoZ2V0X3R5cGUocHJpdi0+cGF0aFtpXSkgPT0gT1ZMU1lTX0FEQVBUT1JfVFlQRV9CTEVOREVS KSB7DQo+ICsJCQlibGVuZGVyX2lkeCsrOw0KPiArCQkJaWYgKHByaXYtPmxheWVyX25yID09IDEp DQo+ICsJCQkJYmxlbmRlciA9IFNJTkdMRV9CTEVOREVSOw0KPiArCQkJZWxzZSBpZiAoYmxlbmRl cl9pZHggPT0gMSkNCj4gKwkJCQlibGVuZGVyID0gRklSU1RfQkxFTkRFUjsNCj4gKwkJCWVsc2Ug aWYgKGJsZW5kZXJfaWR4ID09IHByaXYtPmxheWVyX25yKQ0KPiArCQkJCWJsZW5kZXIgPSBMQVNU X0JMRU5ERVI7DQo+ICsJCQllbHNlDQo+ICsJCQkJYmxlbmRlciA9IE9USEVSUzsNCj4gKw0KPiAr CQkJbXRrX2Rpc3BfYmxlbmRlcl9jb25maWcocHJpdi0+b3ZsX2FkYXB0b3JfY29tcFtwcml2LT5w YXRoW2ldXSwgdywgaCwNCj4gKwkJCQkJCXZyZWZyZXNoLCBicGMsIGJsZW5kZXIsIGNtZHFfcGt0 KTsNCg0KbXRrX2Rpc3BfYmxlbmRlcl9jb25maWcocHJpdi0+b3ZsX2FkYXB0b3JfY29tcFtwcml2 LT5wYXRoW2ldXSwgdywgaCwNCgkJCXZyZWZyZXNoLCBicGMsIGJsZW5kZXJfaWR4ID09IDEsIGJs ZW5kZXJfaWR4ID09IHByaXYtPmxheWVyX25yLCBjbWRxX3BrdCk7DQoNCj4gKwkJfSBlbHNlIGlm IChnZXRfdHlwZShwcml2LT5wYXRoW2ldKSA9PSBPVkxTWVNfQURBUFRPUl9UWVBFX09VVFBST0Mp IHsNCj4gKwkJCW10a19kaXNwX291dHByb2NfY29uZmlnKHByaXYtPm92bF9hZGFwdG9yX2NvbXBb cHJpdi0+cGF0aFtpXV0sIHcsIGgsDQo+ICsJCQkJCQl2cmVmcmVzaCwgYnBjLCBjbWRxX3BrdCk7 DQo+ICsJCX0NCj4gKwl9DQo+ICt9DQo+ICsNCj4gK2ludCBtdGtfb3Zsc3lzX2FkYXB0b3JfbGF5 ZXJfY2hlY2soc3RydWN0IGRldmljZSAqZGV2LA0KPiArCQkJCSAgIHVuc2lnbmVkIGludCBpZHgs DQo+ICsJCQkJICAgc3RydWN0IG10a19wbGFuZV9zdGF0ZSAqbXRrX3N0YXRlKQ0KPiArew0KPiAr CXN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKnN0YXRlID0gJm10a19zdGF0ZS0+YmFzZTsNCj4gKw0K PiArCS8qIENoZWNrIGlmIGFueSB1bnN1cHBvcnRlZCByb3RhdGlvbiBpcyBzZXQgKi8NCj4gKwlp ZiAoc3RhdGUtPnJvdGF0aW9uICYgfkRSTV9NT0RFX1JPVEFURV8wKQ0KPiArCQlyZXR1cm4gLUVJ TlZBTDsNCj4gKw0KPiArCXJldHVybiAwOw0KPiArfQ0KPiArDQo+ICt2b2lkIG10a19vdmxzeXNf YWRhcHRvcl9zdGFydChzdHJ1Y3QgZGV2aWNlICpkZXYpDQo+ICt7DQo+ICsJc3RydWN0IG10a19k aXNwX292bHN5c19hZGFwdG9yICpwcml2ID0gZGV2X2dldF9kcnZkYXRhKGRldik7DQo+ICsJaW50 IGk7DQo+ICsNCj4gKwlmb3IgKGkgPSAwOyBpIDwgcHJpdi0+cGF0aF9zaXplOyBpKyspIHsNCj4g KwkJaWYgKGdldF90eXBlKHByaXYtPnBhdGhbaV0pID09IE9WTFNZU19BREFQVE9SX1RZUEVfRVhE TUEpDQo+ICsJCQltdGtfZGlzcF9leGRtYV9zdGFydChwcml2LT5vdmxfYWRhcHRvcl9jb21wW3By aXYtPnBhdGhbaV1dLCBOVUxMKTsNCg0KVGhlIHN0YXJ0IG5ldmVyIHVzZSBjbWRxLCBzbyByZW1v dmUgdGhlIGNtZHEgcGFyYW1ldGVyLg0KDQo+ICsJCWVsc2UgaWYgKGdldF90eXBlKHByaXYtPnBh dGhbaV0pID09IE9WTFNZU19BREFQVE9SX1RZUEVfQkxFTkRFUikNCj4gKwkJCW10a19kaXNwX2Js ZW5kZXJfc3RhcnQocHJpdi0+b3ZsX2FkYXB0b3JfY29tcFtwcml2LT5wYXRoW2ldXSwgTlVMTCk7 DQoNCkRpdHRvLg0KDQo+ICsJCWVsc2UNCj4gKwkJCW10a19kaXNwX291dHByb2Nfc3RhcnQocHJp di0+b3ZsX2FkYXB0b3JfY29tcFtwcml2LT5wYXRoW2ldXSk7DQo+ICsJfQ0KPiArfQ0KPiArDQo+ ICt2b2lkIG10a19vdmxzeXNfYWRhcHRvcl9zdG9wKHN0cnVjdCBkZXZpY2UgKmRldikNCj4gK3sN Cj4gKwlzdHJ1Y3QgbXRrX2Rpc3Bfb3Zsc3lzX2FkYXB0b3IgKnByaXYgPSBkZXZfZ2V0X2RydmRh dGEoZGV2KTsNCj4gKwlpbnQgaTsNCj4gKw0KPiArCWZvciAoaSA9IDA7IGkgPCBwcml2LT5wYXRo X3NpemU7IGkrKykgew0KPiArCQlpZiAoZ2V0X3R5cGUocHJpdi0+cGF0aFtpXSkgPT0gT1ZMU1lT X0FEQVBUT1JfVFlQRV9FWERNQSkNCj4gKwkJCW10a19kaXNwX2V4ZG1hX3N0b3AocHJpdi0+b3Zs X2FkYXB0b3JfY29tcFtwcml2LT5wYXRoW2ldXSwgTlVMTCk7DQoNCkRpdHRvLg0KDQo+ICsJCWVs c2UgaWYgKGdldF90eXBlKHByaXYtPnBhdGhbaV0pID09IE9WTFNZU19BREFQVE9SX1RZUEVfQkxF TkRFUikNCj4gKwkJCW10a19kaXNwX2JsZW5kZXJfc3RvcChwcml2LT5vdmxfYWRhcHRvcl9jb21w W3ByaXYtPnBhdGhbaV1dLCBOVUxMKTsNCg0KRGl0dG8uDQoNCj4gKwkJZWxzZQ0KPiArCQkJbXRr X2Rpc3Bfb3V0cHJvY19zdG9wKHByaXYtPm92bF9hZGFwdG9yX2NvbXBbcHJpdi0+cGF0aFtpXV0p Ow0KPiArCX0NCj4gK30NCj4gKw0KPiAraW50IG10a19vdmxzeXNfYWRhcHRvcl9jbGtfZW5hYmxl KHN0cnVjdCBkZXZpY2UgKmRldikNCj4gK3sNCj4gKwlzdHJ1Y3QgbXRrX2Rpc3Bfb3Zsc3lzX2Fk YXB0b3IgKnByaXYgPSBkZXZfZ2V0X2RydmRhdGEoZGV2KTsNCj4gKwlzdHJ1Y3QgZGV2aWNlICpj b21wOw0KPiArCWludCByZXQ7DQo+ICsJaW50IGk7DQo+ICsNCj4gKwlmb3IgKGkgPSAwOyBpIDwg T1ZMU1lTX0FEQVBUT1JfSURfTUFYOyBpKyspIHsNCj4gKwkJY29tcCA9IHByaXYtPm92bF9hZGFw dG9yX2NvbXBbaV07DQo+ICsNCj4gKwkJaWYgKCFjb21wKQ0KPiArCQkJY29udGludWU7DQo+ICsN Cj4gKwkJaWYgKGdldF90eXBlKGkpICE9IE9WTFNZU19BREFQVE9SX1RZUEVfRVhETUEpDQo+ICsJ CQljb250aW51ZTsNCj4gKw0KPiArCQlyZXQgPSBwbV9ydW50aW1lX2dldF9zeW5jKGNvbXApOw0K DQpSZWZlciB0byBtdGtfb3ZsX2FkYXB0b3JfcG93ZXJfb24oKS4NClRoaXMgc2hvdWxkIGJlIGRv bmUgaW4gcG93ZXJfb24oKSBjYWxsYmFjayBmdW5jdGlvbi4NCg0KPiArCQlpZiAocmV0IDwgMCkg ew0KPiArCQkJZGV2X2VycihkZXYsICJGYWlsZWQgdG8gZW5hYmxlIHBvd2VyIGRvbWFpbiAlZCwg ZXJyICVkXG4iLCBpLCByZXQpOw0KPiArCQkJZ290byBwd3JfZXJyOw0KPiArCQl9DQo+ICsJfQ0K PiArDQo+ICsJZm9yIChpID0gMDsgaSA8IE9WTFNZU19BREFQVE9SX0lEX01BWDsgaSsrKSB7DQo+ ICsJCWNvbXAgPSBwcml2LT5vdmxfYWRhcHRvcl9jb21wW2ldOw0KPiArDQo+ICsJCWlmICghY29t cCkNCj4gKwkJCWNvbnRpbnVlOw0KPiArDQo+ICsJCWlmIChnZXRfdHlwZShpKSA9PSBPVkxTWVNf QURBUFRPUl9UWVBFX0VYRE1BKQ0KPiArCQkJcmV0ID0gbXRrX2Rpc3BfZXhkbWFfY2xrX2VuYWJs ZShjb21wKTsNCj4gKwkJZWxzZSBpZiAoZ2V0X3R5cGUoaSkgPT0gT1ZMU1lTX0FEQVBUT1JfVFlQ RV9CTEVOREVSKQ0KPiArCQkJcmV0ID0gbXRrX2Rpc3BfYmxlbmRlcl9jbGtfZW5hYmxlKGNvbXAp Ow0KPiArCQllbHNlDQo+ICsJCQlyZXQgPSBtdGtfZGlzcF9vdXRwcm9jX2Nsa19lbmFibGUoY29t cCk7DQo+ICsNCj4gKwkJaWYgKHJldCkgew0KPiArCQkJZGV2X2VycihkZXYsICJGYWlsZWQgdG8g ZW5hYmxlIGNsb2NrICVkLCBlcnIgJWRcbiIsIGksIHJldCk7DQo+ICsJCQlnb3RvIGNsa19lcnI7 DQo+ICsJCX0NCj4gKwl9DQo+ICsNCj4gKwlyZXR1cm4gcmV0Ow0KPiArDQo+ICtjbGtfZXJyOg0K PiArCXdoaWxlICgtLWkgPj0gMCkgew0KPiArCQljb21wID0gcHJpdi0+b3ZsX2FkYXB0b3JfY29t cFtpXTsNCj4gKwkJaWYgKCFjb21wKQ0KPiArCQkJY29udGludWU7DQo+ICsJCWlmIChnZXRfdHlw ZShpKSA9PSBPVkxTWVNfQURBUFRPUl9UWVBFX0VYRE1BKQ0KPiArCQkJbXRrX2Rpc3BfZXhkbWFf Y2xrX2Rpc2FibGUoY29tcCk7DQo+ICsJCWVsc2UgaWYgKGdldF90eXBlKGkpID09IE9WTFNZU19B REFQVE9SX1RZUEVfQkxFTkRFUikNCj4gKwkJCW10a19kaXNwX2JsZW5kZXJfY2xrX2Rpc2FibGUo Y29tcCk7DQo+ICsJCWVsc2UNCj4gKwkJCW10a19kaXNwX291dHByb2NfY2xrX2Rpc2FibGUoY29t cCk7DQo+ICsJfQ0KPiArCWkgPSBPVkxTWVNfQURBUFRPUl9CTEVOREVSMDsNCj4gKw0KPiArcHdy X2VycjoNCj4gKwl3aGlsZSAoLS1pID49IDApIHsNCj4gKwkJY29tcCA9IHByaXYtPm92bF9hZGFw dG9yX2NvbXBbaV07DQo+ICsJCWlmICghY29tcCkNCj4gKwkJCWNvbnRpbnVlOw0KPiArCQlwbV9y dW50aW1lX3B1dChwcml2LT5vdmxfYWRhcHRvcl9jb21wW2ldKTsNCj4gKwl9DQo+ICsNCj4gKwly ZXR1cm4gcmV0Ow0KPiArfQ0KPiArDQo+ICt2b2lkIG10a19vdmxzeXNfYWRhcHRvcl9jbGtfZGlz YWJsZShzdHJ1Y3QgZGV2aWNlICpkZXYpDQo+ICt7DQo+ICsJc3RydWN0IG10a19kaXNwX292bHN5 c19hZGFwdG9yICpwcml2ID0gZGV2X2dldF9kcnZkYXRhKGRldik7DQo+ICsJc3RydWN0IGRldmlj ZSAqY29tcDsNCj4gKwlpbnQgaTsNCj4gKw0KPiArCWZvciAoaSA9IDA7IGkgPCBPVkxTWVNfQURB UFRPUl9JRF9NQVg7IGkrKykgew0KPiArCQljb21wID0gcHJpdi0+b3ZsX2FkYXB0b3JfY29tcFtp XTsNCj4gKw0KPiArCQlpZiAoIWNvbXApDQo+ICsJCQljb250aW51ZTsNCj4gKw0KPiArCQlpZiAo Z2V0X3R5cGUoaSkgPT0gT1ZMU1lTX0FEQVBUT1JfVFlQRV9FWERNQSkgew0KPiArCQkJbXRrX2Rp c3BfZXhkbWFfY2xrX2Rpc2FibGUoY29tcCk7DQo+ICsJCQlwbV9ydW50aW1lX3B1dChjb21wKTsN Cj4gKwkJfSBlbHNlIGlmIChnZXRfdHlwZShpKSA9PSBPVkxTWVNfQURBUFRPUl9UWVBFX0JMRU5E RVIpIHsNCj4gKwkJCW10a19kaXNwX2JsZW5kZXJfY2xrX2Rpc2FibGUoY29tcCk7DQo+ICsJCX0g ZWxzZSB7DQo+ICsJCQltdGtfZGlzcF9vdXRwcm9jX2Nsa19kaXNhYmxlKGNvbXApOw0KPiArCQl9 DQo+ICsJfQ0KPiArfQ0KPiArDQo+ICt1bnNpZ25lZCBpbnQgbXRrX292bHN5c19hZGFwdG9yX2xh eWVyX25yKHN0cnVjdCBkZXZpY2UgKmRldikNCj4gK3sNCj4gKwlzdHJ1Y3QgbXRrX2Rpc3Bfb3Zs c3lzX2FkYXB0b3IgKnByaXYgPSBkZXZfZ2V0X2RydmRhdGEoZGV2KTsNCj4gKw0KPiArCXJldHVy biBwcml2LT5sYXllcl9ucjsNCj4gK30NCj4gKw0KPiArc3RydWN0IGRldmljZSAqbXRrX292bHN5 c19hZGFwdG9yX2RtYV9kZXZfZ2V0KHN0cnVjdCBkZXZpY2UgKmRldikNCj4gK3sNCj4gKwlzdHJ1 Y3QgbXRrX2Rpc3Bfb3Zsc3lzX2FkYXB0b3IgKnByaXYgPSBkZXZfZ2V0X2RydmRhdGEoZGV2KTsN Cj4gKw0KPiArCXJldHVybiBwcml2LT5vdmxfYWRhcHRvcl9jb21wW3ByaXYtPnBhdGhbMF1dOw0K PiArfQ0KPiArDQo+ICt2b2lkIG10a19vdmxzeXNfYWRhcHRvcl9yZWdpc3Rlcl92YmxhbmtfY2Io c3RydWN0IGRldmljZSAqZGV2LCB2b2lkICgqdmJsYW5rX2NiKSh2b2lkICopLA0KPiArCQkJCQkg ICB2b2lkICp2YmxhbmtfY2JfZGF0YSkNCj4gK3sNCj4gKwlzdHJ1Y3QgbXRrX2Rpc3Bfb3Zsc3lz X2FkYXB0b3IgKnByaXYgPSBkZXZfZ2V0X2RydmRhdGEoZGV2KTsNCj4gKw0KPiArCW10a19kaXNw X291dHByb2NfcmVnaXN0ZXJfdmJsYW5rX2NiKHByaXYtPm92bF9hZGFwdG9yX2NvbXBbcHJpdi0+ cGF0aFtwcml2LT5wYXRoX3NpemUgLSAxXV0sDQo+ICsJCQkJCSAgICB2YmxhbmtfY2IsIHZibGFu a19jYl9kYXRhKTsNCj4gK30NCj4gKw0KPiArdm9pZCBtdGtfb3Zsc3lzX2FkYXB0b3JfdW5yZWdp c3Rlcl92YmxhbmtfY2Ioc3RydWN0IGRldmljZSAqZGV2KQ0KPiArew0KPiArCXN0cnVjdCBtdGtf ZGlzcF9vdmxzeXNfYWRhcHRvciAqcHJpdiA9IGRldl9nZXRfZHJ2ZGF0YShkZXYpOw0KPiArCXN0 cnVjdCBkZXZpY2UgKmNvbXAgPSBwcml2LT5vdmxfYWRhcHRvcl9jb21wW3ByaXYtPnBhdGhbcHJp di0+cGF0aF9zaXplIC0gMV1dOw0KPiArDQo+ICsJaWYgKCFwcml2LT5jaGlsZHJlbl9ib3VuZCkN Cg0KSW4gb3ZsIGFkYXB0b3IsIGl0IGRvZXMgbm90IGNoZWNrIHRoaXMuIFNvIHJlbW92ZSB0aGlz IGNoZWNraW5nLg0KDQo+ICsJCXJldHVybjsNCj4gKw0KPiArCW10a19kaXNwX291dHByb2NfdW5y ZWdpc3Rlcl92YmxhbmtfY2IoY29tcCk7DQo+ICt9DQo+ICsNCj4gK3ZvaWQgbXRrX292bHN5c19h ZGFwdG9yX2VuYWJsZV92Ymxhbmsoc3RydWN0IGRldmljZSAqZGV2KQ0KPiArew0KPiArCXN0cnVj dCBtdGtfZGlzcF9vdmxzeXNfYWRhcHRvciAqcHJpdiA9IGRldl9nZXRfZHJ2ZGF0YShkZXYpOw0K PiArDQo+ICsJbXRrX2Rpc3Bfb3V0cHJvY19lbmFibGVfdmJsYW5rKHByaXYtPm92bF9hZGFwdG9y X2NvbXBbcHJpdi0+cGF0aFtwcml2LT5wYXRoX3NpemUgLSAxXV0pOw0KPiArfQ0KPiArDQo+ICt2 b2lkIG10a19vdmxzeXNfYWRhcHRvcl9kaXNhYmxlX3ZibGFuayhzdHJ1Y3QgZGV2aWNlICpkZXYp DQo+ICt7DQo+ICsJc3RydWN0IG10a19kaXNwX292bHN5c19hZGFwdG9yICpwcml2ID0gZGV2X2dl dF9kcnZkYXRhKGRldik7DQo+ICsNCj4gKwltdGtfZGlzcF9vdXRwcm9jX2Rpc2FibGVfdmJsYW5r KHByaXYtPm92bF9hZGFwdG9yX2NvbXBbcHJpdi0+cGF0aFtwcml2LT5wYXRoX3NpemUgLSAxXV0p Ow0KPiArfQ0KPiArDQo+ICtjb25zdCB1MzIgKm10a19vdmxzeXNfYWRhcHRvcl9nZXRfZm9ybWF0 cyhzdHJ1Y3QgZGV2aWNlICpkZXYpDQo+ICt7DQo+ICsJc3RydWN0IG10a19kaXNwX292bHN5c19h ZGFwdG9yICpwcml2ID0gZGV2X2dldF9kcnZkYXRhKGRldik7DQo+ICsNCj4gKwlyZXR1cm4gbXRr X2Rpc3BfZXhkbWFfZ2V0X2Zvcm1hdHMocHJpdi0+b3ZsX2FkYXB0b3JfY29tcFtwcml2LT5wYXRo WzBdXSk7DQo+ICt9DQo+ICsNCj4gK3NpemVfdCBtdGtfb3Zsc3lzX2FkYXB0b3JfZ2V0X251bV9m b3JtYXRzKHN0cnVjdCBkZXZpY2UgKmRldikNCj4gK3sNCj4gKwlzdHJ1Y3QgbXRrX2Rpc3Bfb3Zs c3lzX2FkYXB0b3IgKnByaXYgPSBkZXZfZ2V0X2RydmRhdGEoZGV2KTsNCj4gKw0KPiArCXJldHVy biBtdGtfZGlzcF9leGRtYV9nZXRfbnVtX2Zvcm1hdHMocHJpdi0+b3ZsX2FkYXB0b3JfY29tcFtw cml2LT5wYXRoWzBdXSk7DQo+ICt9DQo+ICsNCj4gK3ZvaWQgbXRrX292bHN5c19hZGFwdG9yX2Fk ZF9jb21wKHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IG10a19tdXRleCAqbXV0ZXgpDQo+ICt7 DQo+ICsJc3RydWN0IG10a19kaXNwX292bHN5c19hZGFwdG9yICpwcml2ID0gZGV2X2dldF9kcnZk YXRhKGRldik7DQo+ICsJaW50IGk7DQo+ICsNCj4gKwlmb3IgKGkgPSAwOyBpIDwgcHJpdi0+cGF0 aF9zaXplOyBpKyspDQo+ICsJCW10a19tdXRleF9hZGRfY29tcChtdXRleCwgZ2V0X2RkcF9jb21w X2lkKHByaXYtPnBhdGhbaV0pKTsNCj4gK30NCj4gKw0KPiArdm9pZCBtdGtfb3Zsc3lzX2FkYXB0 b3JfcmVtb3ZlX2NvbXAoc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgbXRrX211dGV4ICptdXRl eCkNCj4gK3sNCj4gKwlzdHJ1Y3QgbXRrX2Rpc3Bfb3Zsc3lzX2FkYXB0b3IgKnByaXYgPSBkZXZf Z2V0X2RydmRhdGEoZGV2KTsNCj4gKwlpbnQgaTsNCj4gKw0KPiArCWZvciAoaSA9IDA7IGkgPCBw cml2LT5wYXRoX3NpemU7IGkrKykNCj4gKwkJbXRrX211dGV4X3JlbW92ZV9jb21wKG11dGV4LCBn ZXRfZGRwX2NvbXBfaWQocHJpdi0+cGF0aFtpXSkpOw0KPiArfQ0KPiArDQo+ICt2b2lkIG10a19v dmxzeXNfYWRhcHRvcl9jb25uZWN0KHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IGRldmljZSAq bW1zeXNfZGV2LCB1bnNpZ25lZCBpbnQgbmV4dCkNCj4gK3sNCj4gKwlzdHJ1Y3QgbXRrX2Rpc3Bf b3Zsc3lzX2FkYXB0b3IgKnByaXYgPSBkZXZfZ2V0X2RydmRhdGEoZGV2KTsNCj4gKwlpbnQgaTsN Cj4gKw0KPiArCWZvciAoaSA9IDA7IGkgPCBwcml2LT5wYXRoX3NpemUgLSAxOyBpKyspDQo+ICsJ CW10a19tbXN5c19kZHBfY29ubmVjdChtbXN5c19kZXYsIGdldF9kZHBfY29tcF9pZChwcml2LT5w YXRoW2ldKSwNCj4gKwkJCQkgICAgICBnZXRfZGRwX2NvbXBfaWQocHJpdi0+cGF0aFtpICsgMV0p KTsNCj4gKw0KPiArCW10a19tbXN5c19kZHBfY29ubmVjdChtbXN5c19kZXYsIGdldF9kZHBfY29t cF9pZChwcml2LT5wYXRoW2ldKSwgbmV4dCk7DQo+ICt9DQo+ICsNCj4gK3ZvaWQgbXRrX292bHN5 c19hZGFwdG9yX2Rpc2Nvbm5lY3Qoc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgZGV2aWNlICpt bXN5c19kZXYsIHVuc2lnbmVkIGludCBuZXh0KQ0KPiArew0KPiArCXN0cnVjdCBtdGtfZGlzcF9v dmxzeXNfYWRhcHRvciAqcHJpdiA9IGRldl9nZXRfZHJ2ZGF0YShkZXYpOw0KPiArCWludCBpOw0K PiArDQo+ICsJZm9yIChpID0gMDsgaSA8IHByaXYtPnBhdGhfc2l6ZSAtIDE7IGkrKykNCj4gKwkJ bXRrX21tc3lzX2RkcF9kaXNjb25uZWN0KG1tc3lzX2RldiwgZ2V0X2RkcF9jb21wX2lkKHByaXYt PnBhdGhbaV0pLA0KPiArCQkJCQkgZ2V0X2RkcF9jb21wX2lkKHByaXYtPnBhdGhbaSArIDFdKSk7 DQo+ICsNCj4gKwltdGtfbW1zeXNfZGRwX2Rpc2Nvbm5lY3QobW1zeXNfZGV2LCBnZXRfZGRwX2Nv bXBfaWQocHJpdi0+cGF0aFtpXSksIG5leHQpOw0KPiArfQ0KPiArDQo+ICtzdGF0aWMgaW50IG92 bHN5c19hZGFwdG9yX2NvbXBfZ2V0X2lkKHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IGRldmlj ZV9ub2RlICpub2RlLA0KPiArCQkJCSAgICAgIGVudW0gbXRrX292bHN5c19hZGFwdG9yX2NvbXBf dHlwZSB0eXBlLA0KPiArCQkJCSAgICAgIGVudW0gbXRrX2RkcF9jb21wX2lkICpjb21wX2lkKQ0K PiArew0KPiArCWludCBhbGlhc19pZCA9IG9mX2FsaWFzX2dldF9pZChub2RlLCBwcml2YXRlX2Nv bXBfc3RlbVt0eXBlXSk7DQo+ICsJaW50IGk7DQo+ICsNCj4gKwlmb3IgKGkgPSAwOyBpIDwgQVJS QVlfU0laRShjb21wX21hdGNoZXMpOyBpKyspDQo+ICsJCWlmIChjb21wX21hdGNoZXNbaV0udHlw ZSA9PSB0eXBlICYmDQo+ICsJCSAgICBjb21wX21hdGNoZXNbaV0uYWxpYXNfaWQgPT0gYWxpYXNf aWQpIHsNCj4gKwkJCSpjb21wX2lkID0gY29tcF9tYXRjaGVzW2ldLmNvbXBfaWQ7DQo+ICsJCQly ZXR1cm4gaTsNCj4gKwkJfQ0KPiArCWRldl93YXJuKGRldiwgIkZhaWxlZCB0byBnZXQgaWQuIHR5 cGU6ICVkLCBhbGlhczogJWRcbiIsIHR5cGUsIGFsaWFzX2lkKTsNCj4gKwlyZXR1cm4gLUVJTlZB TDsNCj4gK30NCj4gKw0KPiArc3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgbXRrX292 bHN5c19hZGFwdG9yX2NvbXBfZHRfaWRzW10gPSB7DQo+ICsJew0KPiArCQkuY29tcGF0aWJsZSA9 ICJtZWRpYXRlayxtdDgxOTYtZXhkbWEiLA0KPiArCQkuZGF0YSA9ICh2b2lkICopT1ZMU1lTX0FE QVBUT1JfVFlQRV9FWERNQSwNCj4gKwl9LCB7DQo+ICsJCS5jb21wYXRpYmxlID0gIm1lZGlhdGVr LG10ODE5Ni1ibGVuZGVyIiwNCj4gKwkJLmRhdGEgPSAodm9pZCAqKU9WTFNZU19BREFQVE9SX1RZ UEVfQkxFTkRFUiwNCj4gKwl9LCB7DQo+ICsJCS5jb21wYXRpYmxlID0gIm1lZGlhdGVrLG10ODE5 Ni1vdXRwcm9jIiwNCj4gKwkJLmRhdGEgPSAodm9pZCAqKU9WTFNZU19BREFQVE9SX1RZUEVfT1VU UFJPQywNCj4gKwl9LA0KPiArCXt9LA0KPiArfTsNCj4gKw0KPiArc3RhdGljIGludCBvdmxzeXNf YWRhcHRvcl9jb21wX2luaXQoc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgY29tcG9uZW50X21h dGNoICoqbWF0Y2gpDQo+ICt7DQo+ICsJc3RydWN0IG10a19kaXNwX292bHN5c19hZGFwdG9yICpw cml2ID0gZGV2X2dldF9kcnZkYXRhKGRldik7DQo+ICsJc3RydWN0IGRldmljZV9ub2RlICpub2Rl LCAqcGFyZW50Ow0KPiArCXN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKmNvbXBfcGRldjsNCj4gKwlp bnQgaTsNCj4gKw0KPiArCXBhcmVudCA9IGRldi0+cGFyZW50LT5wYXJlbnQtPm9mX25vZGUtPnBh cmVudDsNCj4gKw0KPiArCWZvcl9lYWNoX2NoaWxkX29mX25vZGUocGFyZW50LCBub2RlKSB7DQo+ ICsJCWNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgKm9mX2lkOw0KPiArCQllbnVtIG10a19vdmxz eXNfYWRhcHRvcl9jb21wX3R5cGUgdHlwZTsNCj4gKwkJZW51bSBtdGtfZGRwX2NvbXBfaWQgY29t cF9pZDsNCj4gKwkJaW50IGlkOw0KPiArCQlib29sIGZvdW5kID0gZmFsc2U7DQo+ICsNCj4gKwkJ b2ZfaWQgPSBvZl9tYXRjaF9ub2RlKG10a19vdmxzeXNfYWRhcHRvcl9jb21wX2R0X2lkcywgbm9k ZSk7DQo+ICsJCWlmICghb2ZfaWQpDQo+ICsJCQljb250aW51ZTsNCj4gKw0KPiArCQlpZiAoIW9m X2RldmljZV9pc19hdmFpbGFibGUobm9kZSkpIHsNCj4gKwkJCWRldl9kYmcoZGV2LCAiU2tpcHBp bmcgZGlzYWJsZWQgY29tcG9uZW50ICVwT0ZcbiIsDQo+ICsJCQkJbm9kZSk7DQo+ICsJCQljb250 aW51ZTsNCj4gKwkJfQ0KPiArDQo+ICsJCXR5cGUgPSAoZW51bSBtdGtfb3Zsc3lzX2FkYXB0b3Jf Y29tcF90eXBlKSh1aW50cHRyX3Qpb2ZfaWQtPmRhdGE7DQo+ICsJCWlkID0gb3Zsc3lzX2FkYXB0 b3JfY29tcF9nZXRfaWQoZGV2LCBub2RlLCB0eXBlLCAmY29tcF9pZCk7DQo+ICsJCWlmIChpZCA8 IDApIHsNCj4gKwkJCWRldl93YXJuKGRldiwgIlNraXBwaW5nIHVua25vd24gY29tcG9uZW50ICVw T0ZcbiIsDQo+ICsJCQkJIG5vZGUpOw0KPiArCQkJY29udGludWU7DQo+ICsJCX0NCj4gKw0KPiAr CQlmb3IgKGkgPSAwOyBpIDwgcHJpdi0+cGF0aF9zaXplOyBpKyspDQo+ICsJCQlpZiAocHJpdi0+ cGF0aFtpXSA9PSBpZCkNCj4gKwkJCQlmb3VuZCA9IHRydWU7DQo+ICsNCj4gKwkJaWYgKCFmb3Vu ZCkNCj4gKwkJCWNvbnRpbnVlOw0KDQpvdmwgYWRhcHRvciBkb2VzIG5vdCBjaGVjayB0aGlzLCB3 aHkgb3Zsc3lzIG5lZWQgdGhpcz8NCklmIHRoaXMgaXMgcmVtb3ZlZCwgdGhpcyBmdW5jdGlvbiBp cyBzaW1pbGFyIHRvIHRoZSBvbmUgaW4gb3ZsIGFkYXB0b3IsDQp3b3VsZCB5b3UgdHJ5IHRvIHJl d3JpdGUgdGhpcyBmdW5jdGlvbiB0byBiZSBhbG1vc3QgdGhlIHNhbWUgd2l0aCB0aGUgb25lIGlu IG92bCBhZGF0b3I/DQpOb3QgbWVyZ2luZyBpdCwganVzdCBpbXBsZW1lbnQgYWxtb3N0IHRoZSBz YW1lLg0KDQo+ICsNCj4gKwkJY29tcF9wZGV2ID0gb2ZfZmluZF9kZXZpY2VfYnlfbm9kZShub2Rl KTsNCj4gKwkJaWYgKCFjb21wX3BkZXYpDQo+ICsJCQlyZXR1cm4gLUVQUk9CRV9ERUZFUjsNCj4g Kw0KPiArCQlwcml2LT5vdmxfYWRhcHRvcl9jb21wW2lkXSA9ICZjb21wX3BkZXYtPmRldjsNCj4g Kw0KPiArCQlkcm1fb2ZfY29tcG9uZW50X21hdGNoX2FkZChkZXYsIG1hdGNoLCBjb21wb25lbnRf Y29tcGFyZV9vZiwgbm9kZSk7DQo+ICsJCWRldl9kYmcoZGV2LCAiQWRkaW5nIGNvbXBvbmVudCBt YXRjaCBmb3IgJXBPRlxuIiwgbm9kZSk7DQo+ICsJfQ0KPiArDQo+ICsJaWYgKCEqbWF0Y2gpIHsN Cj4gKwkJZGV2X2VycihkZXYsICJObyBtYXRjaCBkZXZpY2UgZm9yIG92bHN5c19hZGFwdG9yXG4i KTsNCj4gKwkJcmV0dXJuIC1FTk9ERVY7DQo+ICsJfQ0KPiArDQo+ICsJcmV0dXJuIDA7DQo+ICt9 DQo+ICsNCj4gK3N0YXRpYyBpbnQgbXRrX2Rpc3Bfb3Zsc3lzX2FkYXB0b3JfY29tcF9iaW5kKHN0 cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IGRldmljZSAqbWFzdGVyLA0KPiArCQkJCQkgICAgIHZv aWQgKmRhdGEpDQo+ICt7DQo+ICsJc3RydWN0IG10a19kaXNwX292bHN5c19hZGFwdG9yICpwcml2 ID0gZGV2X2dldF9kcnZkYXRhKGRldik7DQo+ICsNCj4gKwlpZiAoIXByaXYtPmNoaWxkcmVuX2Jv dW5kKQ0KPiArCQlyZXR1cm4gLUVQUk9CRV9ERUZFUjsNCj4gKw0KPiArCXJldHVybiAwOw0KPiAr fQ0KPiArDQo+ICtzdGF0aWMgdm9pZCBtdGtfZGlzcF9vdmxzeXNfYWRhcHRvcl9jb21wX3VuYmlu ZChzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBkZXZpY2UgKm1hc3RlciwNCj4gKwkJCQkJCXZv aWQgKmRhdGEpDQo+ICt7DQo+ICt9DQo+ICsNCj4gK3N0YXRpYyBjb25zdCBzdHJ1Y3QgY29tcG9u ZW50X29wcyBtdGtfZGlzcF9vdmxzeXNfYWRhcHRvcl9jb21wX29wcyA9IHsNCj4gKwkuYmluZAk9 IG10a19kaXNwX292bHN5c19hZGFwdG9yX2NvbXBfYmluZCwNCj4gKwkudW5iaW5kID0gbXRrX2Rp c3Bfb3Zsc3lzX2FkYXB0b3JfY29tcF91bmJpbmQsDQo+ICt9Ow0KPiArDQo+ICtzdGF0aWMgaW50 IG10a19kaXNwX292bHN5c19hZGFwdG9yX21hc3Rlcl9iaW5kKHN0cnVjdCBkZXZpY2UgKmRldikN Cj4gK3sNCj4gKwlzdHJ1Y3QgbXRrX2Rpc3Bfb3Zsc3lzX2FkYXB0b3IgKnByaXYgPSBkZXZfZ2V0 X2RydmRhdGEoZGV2KTsNCj4gKwlpbnQgcmV0LCBpOw0KPiArCXVuc2lnbmVkIGludCBsYXllcl9u ciA9IDA7DQo+ICsNCj4gKwlyZXQgPSBjb21wb25lbnRfYmluZF9hbGwoZGV2LCBwcml2LT5tbXN5 c19kZXYpOw0KPiArCWlmIChyZXQpDQo+ICsJCXJldHVybiBkZXZfZXJyX3Byb2JlKGRldiwgcmV0 LCAiY29tcG9uZW50X2JpbmRfYWxsIGZhaWxlZCFcbiIpOw0KPiArDQo+ICsJcHJpdi0+Y2hpbGRy ZW5fYm91bmQgPSB0cnVlOw0KPiArDQo+ICsJZm9yIChpID0gMDsgaSA8IHByaXYtPnBhdGhfc2l6 ZTsgaSsrKQ0KPiArCQlpZiAoY29tcF9tYXRjaGVzW3ByaXYtPnBhdGhbaV1dLnR5cGUgPT0gT1ZM U1lTX0FEQVBUT1JfVFlQRV9CTEVOREVSKQ0KPiArCQkJbGF5ZXJfbnIrKzsNCj4gKwlwcml2LT5s YXllcl9uciA9IGxheWVyX25yOw0KPiArDQo+ICsJcmV0dXJuIDA7DQo+ICt9DQo+ICsNCj4gK3N0 YXRpYyB2b2lkIG10a19kaXNwX292bHN5c19hZGFwdG9yX21hc3Rlcl91bmJpbmQoc3RydWN0IGRl dmljZSAqZGV2KQ0KPiArew0KPiArCXN0cnVjdCBtdGtfZGlzcF9vdmxzeXNfYWRhcHRvciAqcHJp diA9IGRldl9nZXRfZHJ2ZGF0YShkZXYpOw0KPiArDQo+ICsJcHJpdi0+Y2hpbGRyZW5fYm91bmQg PSBmYWxzZTsNCj4gK30NCj4gKw0KPiArc3RhdGljIGNvbnN0IHN0cnVjdCBjb21wb25lbnRfbWFz dGVyX29wcyBtdGtfZGlzcF9vdmxzeXNfYWRhcHRvcl9tYXN0ZXJfb3BzID0gew0KPiArCS5iaW5k CQk9IG10a19kaXNwX292bHN5c19hZGFwdG9yX21hc3Rlcl9iaW5kLA0KPiArCS51bmJpbmQJCT0g bXRrX2Rpc3Bfb3Zsc3lzX2FkYXB0b3JfbWFzdGVyX3VuYmluZCwNCj4gK307DQo+ICsNCj4gK3N0 YXRpYyBjb25zdCBzdHJ1Y3QgbXRrX2Rpc3Bfb3Zsc3lzX2FkYXB0b3IgbXQ4MTk2X292bHN5c19h ZGFwdG9yX2RyaXZlcl9kYXRhID0gew0KPiArCS5tYXhfc2l6ZSA9IDgxOTEsDQoNClRoaXMgaXMg dGhlIGZpcnN0IFNvQyBoYXMgb3Zsc3lzLCBzbyBpdCdzIG5vdCBuZWNlc3NhcnkgdG8gaGFzIGRy aXZlciBkYXRhLg0KQWZ0ZXIgb3RoZXIgU29DIG92bHN5cyBpcyBhZGRlZCwgdGhlbiBjb25zaWRl ciB0byBhZGQgZHJpdmVyIGRhdGEuDQpTbywNCg0KI2RlZmluZSBPVkxTWVNfTUFYX1NJWkUgODE5 MQ0KDQo+ICt9Ow0KPiArDQo+ICtzdGF0aWMgaW50IG10a19kaXNwX292bHN5c19hZGFwdG9yX3By b2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpDQo+ICt7DQo+ICsJc3RydWN0IG10a19k aXNwX292bHN5c19hZGFwdG9yICpwcml2Ow0KPiArCXN0cnVjdCBkZXZpY2UgKmRldiA9ICZwZGV2 LT5kZXY7DQo+ICsJc3RydWN0IGNvbXBvbmVudF9tYXRjaCAqbWF0Y2ggPSBOVUxMOw0KPiArCXN0 cnVjdCBtdGtfZHJtX292bHN5c19wcml2YXRlICpvdmxzeXNfcHJpdjsNCj4gKwlpbnQgcmV0Ow0K PiArDQo+ICsJcHJpdiA9IGRldm1fa3phbGxvYyhkZXYsIHNpemVvZigqcHJpdiksIEdGUF9LRVJO RUwpOw0KPiArCWlmICghcHJpdikNCj4gKwkJcmV0dXJuIC1FTk9NRU07DQo+ICsNCj4gKwlwbGF0 Zm9ybV9zZXRfZHJ2ZGF0YShwZGV2LCBwcml2KTsNCj4gKw0KPiArCW92bHN5c19wcml2ID0gcGRl di0+ZGV2LnBsYXRmb3JtX2RhdGE7DQo+ICsJcHJpdi0+bW1zeXNfZGV2ID0gb3Zsc3lzX3ByaXYt Pm1tc3lzX2RldjsNCj4gKwlwcml2LT5tYXhfc2l6ZSA9IG10ODE5Nl9vdmxzeXNfYWRhcHRvcl9k cml2ZXJfZGF0YS5tYXhfc2l6ZTsNCj4gKw0KPiArCWlmIChvdmxzeXNfcHJpdi0+dXNlX3BhdGgg PT0gMCkgew0KPiArCQlwcml2LT5wYXRoID0gbXQ4MTk2X210a19vdmxfbWFpbjsNCj4gKwkJcHJp di0+cGF0aF9zaXplID0gQVJSQVlfU0laRShtdDgxOTZfbXRrX292bF9tYWluKTsNCj4gKwl9IGVs c2UgaWYgKG92bHN5c19wcml2LT51c2VfcGF0aCA9PSAxKSB7DQo+ICsJCXByaXYtPnBhdGggPSBt dDgxOTZfbXRrX292bF9leHQ7DQo+ICsJCXByaXYtPnBhdGhfc2l6ZSA9IEFSUkFZX1NJWkUobXQ4 MTk2X210a19vdmxfZXh0KTsNCj4gKwl9IGVsc2Ugew0KPiArCQlwcml2LT5wYXRoID0gbXQ4MTk2 X210a19vdmxfdGhpcmQ7DQo+ICsJCXByaXYtPnBhdGhfc2l6ZSA9IEFSUkFZX1NJWkUobXQ4MTk2 X210a19vdmxfdGhpcmQpOw0KPiArCX0NCj4gKw0KPiArCXJldCA9IG92bHN5c19hZGFwdG9yX2Nv bXBfaW5pdChkZXYsICZtYXRjaCk7DQo+ICsJaWYgKHJldCA8IDApDQo+ICsJCXJldHVybiByZXQ7 DQo+ICsNCj4gKwljb21wb25lbnRfbWFzdGVyX2FkZF93aXRoX21hdGNoKGRldiwgJm10a19kaXNw X292bHN5c19hZGFwdG9yX21hc3Rlcl9vcHMsIG1hdGNoKTsNCj4gKw0KPiArCXBtX3J1bnRpbWVf ZW5hYmxlKGRldik7DQo+ICsNCj4gKwlyZXQgPSBjb21wb25lbnRfYWRkKGRldiwgJm10a19kaXNw X292bHN5c19hZGFwdG9yX2NvbXBfb3BzKTsNCj4gKwlpZiAocmV0ICE9IDApIHsNCj4gKwkJcG1f cnVudGltZV9kaXNhYmxlKGRldik7DQo+ICsJCWRldl9lcnIoZGV2LCAiRmFpbGVkIHRvIGFkZCBj b21wb25lbnQ6ICVkXG4iLCByZXQpOw0KPiArCX0NCj4gKw0KPiArCXJldHVybiByZXQ7DQo+ICt9 DQo+ICsNCj4gK3N0YXRpYyB2b2lkIG10a19kaXNwX292bHN5c19hZGFwdG9yX3JlbW92ZShzdHJ1 Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQ0KPiArew0KPiArCWNvbXBvbmVudF9tYXN0ZXJfZGVs KCZwZGV2LT5kZXYsICZtdGtfZGlzcF9vdmxzeXNfYWRhcHRvcl9tYXN0ZXJfb3BzKTsNCj4gKwlw bV9ydW50aW1lX2Rpc2FibGUoJnBkZXYtPmRldik7DQo+ICt9DQo+ICsNCj4gK3N0cnVjdCBwbGF0 Zm9ybV9kcml2ZXIgbXRrX2Rpc3Bfb3Zsc3lzX2FkYXB0b3JfZHJpdmVyID0gew0KPiArCS5wcm9i ZQkJPSBtdGtfZGlzcF9vdmxzeXNfYWRhcHRvcl9wcm9iZSwNCj4gKwkucmVtb3ZlCQk9IG10a19k aXNwX292bHN5c19hZGFwdG9yX3JlbW92ZSwNCj4gKwkuZHJpdmVyCQk9IHsNCj4gKwkJLm5hbWUJ PSAibWVkaWF0ZWstZGlzcC1vdmxzeXMtYWRhcHRvciIsDQo+ICsJCS5vd25lcgk9IFRISVNfTU9E VUxFLA0KPiArCX0sDQo+ICt9Ow0KPiArDQo+ICtNT0RVTEVfQVVUSE9SKCJOYW5jeSBMaW4gPG5h bmN5LmxpbkBtZWRpYXRlay5jb20+Iik7DQo+ICtNT0RVTEVfREVTQ1JJUFRJT04oIk1lZGlhVGVr IE92bHN5cyBBZGFwdG9yIERyaXZlciIpOw0KPiArTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOw0KPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fZHJ2LmMgYi9kcml2 ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9kcnYuYw0KPiBpbmRleCAyNzE5MDA1N2JkOGUu Ljc1MjZiYzM4YmNjNyAxMDA2NDQNCj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210 a19kcm1fZHJ2LmMNCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fZHJ2 LmMNCj4gQEAgLTQ0OCw2ICs0NDgsMjggQEAgc3RhdGljIGJvb2wgbXRrX2RybV9maW5kX21tc3lz X2NvbXAoc3RydWN0IG10a19kcm1fcHJpdmF0ZSAqcHJpdmF0ZSwgaW50IGNvbXBfaWQNCj4gIAly ZXR1cm4gZmFsc2U7DQo+ICB9DQo+ICANCj4gK3N0YXRpYyBpbnQgbXRrX2RybV9tbXN5c19jb21w X2luX3BhdGgoc3RydWN0IG10a19kcm1fcHJpdmF0ZSAqcHJpdmF0ZSwgaW50IGNvbXBfaWQpDQo+ ICt7DQo+ICsJY29uc3Qgc3RydWN0IG10a19tbXN5c19kcml2ZXJfZGF0YSAqZHJ2X2RhdGEgPSBw cml2YXRlLT5kYXRhOw0KPiArCWludCBpOw0KPiArDQo+ICsJaWYgKGRydl9kYXRhLT5tYWluX3Bh dGgpDQo+ICsJCWZvciAoaSA9IDA7IGkgPCBkcnZfZGF0YS0+bWFpbl9sZW47IGkrKykNCj4gKwkJ CWlmIChkcnZfZGF0YS0+bWFpbl9wYXRoW2ldID09IGNvbXBfaWQpDQo+ICsJCQkJcmV0dXJuIDA7 DQo+ICsNCj4gKwlpZiAoZHJ2X2RhdGEtPmV4dF9wYXRoKQ0KPiArCQlmb3IgKGkgPSAwOyBpIDwg ZHJ2X2RhdGEtPmV4dF9sZW47IGkrKykNCj4gKwkJCWlmIChkcnZfZGF0YS0+ZXh0X3BhdGhbaV0g PT0gY29tcF9pZCkNCj4gKwkJCQlyZXR1cm4gMTsNCj4gKwlpZiAoZHJ2X2RhdGEtPnRoaXJkX3Bh dGgpDQo+ICsJCWZvciAoaSA9IDA7IGkgPCBkcnZfZGF0YS0+dGhpcmRfbGVuOyBpKyspDQo+ICsJ CQlpZiAoZHJ2X2RhdGEtPnRoaXJkX3BhdGhbaV0gPT0gY29tcF9pZCkNCj4gKwkJCQlyZXR1cm4g MjsNCj4gKw0KPiArCXJldHVybiAtMTsNCj4gK30NCj4gKw0KPiAgc3RhdGljIGludCBtdGtfZHJt X2ttc19pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkcm0pDQo+ICB7DQo+ICAJc3RydWN0IG10a19k cm1fcHJpdmF0ZSAqcHJpdmF0ZSA9IGRybS0+ZGV2X3ByaXZhdGU7DQo+IEBAIC00NjMsOCArNDg1 LDggQEAgc3RhdGljIGludCBtdGtfZHJtX2ttc19pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkcm0p DQo+ICAJaWYgKHJldCkNCj4gIAkJZ290byBwdXRfbXV0ZXhfZGV2Ow0KPiAgDQo+IC0JZHJtLT5t b2RlX2NvbmZpZy5taW5fd2lkdGggPSA2NDsNCj4gLQlkcm0tPm1vZGVfY29uZmlnLm1pbl9oZWln aHQgPSA2NDsNCj4gKwlkcm0tPm1vZGVfY29uZmlnLm1pbl93aWR0aCA9IDE7DQo+ICsJZHJtLT5t b2RlX2NvbmZpZy5taW5faGVpZ2h0ID0gMTsNCg0KWW91IGNoYW5nZSBvdGhlciBTb0Mgc2V0dGlu Zy4NCklmIDgxOTYgaGFzIGRpZmZlcmVudCBzZXR0aW5nLCBxdWVyeSBtaW4gd2lkdGgvaGVpZ2h0 IGZyb20gZGRwIGNvbXBvbmVudCBhbmQgc2VwYXJhdGUgdGhpcyB0byBhbm90aGVyIHBhdGNoLg0K DQo+ICANCj4gIAkvKg0KPiAgCSAqIHNldCBtYXggd2lkdGggYW5kIGhlaWdodCBhcyBkZWZhdWx0 IHZhbHVlKDQwOTZ4NDA5NikuDQo+IEBAIC0xMTA3LDYgKzExMjksNDAgQEAgc3RhdGljIGludCBt dGtfZHJtX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpDQo+ICAJCWNvbXBvbmVu dF9tYXRjaF9hZGQoZGV2LCAmbWF0Y2gsIGNvbXBhcmVfZGV2LCAmb3ZsX2FkYXB0b3ItPmRldik7 DQo+ICAJfQ0KPiAgDQo+ICsJaWYgKG10a19kcm1fZmluZF9tbXN5c19jb21wKHByaXZhdGUsIERE UF9DT01QT05FTlRfRFJNX09WTFNZU19BREFQVE9SMCkpIHsNCj4gKwkJc3RydWN0IG10a19kcm1f b3Zsc3lzX3ByaXZhdGUgb3Zsc3lzX3ByaXY7DQo+ICsNCj4gKwkJb3Zsc3lzX3ByaXYubW1zeXNf ZGV2ID0gcHJpdmF0ZS0+bW1zeXNfZGV2Ow0KPiArCQlvdmxzeXNfcHJpdi51c2VfcGF0aCA9DQo+ ICsJCW10a19kcm1fbW1zeXNfY29tcF9pbl9wYXRoKHByaXZhdGUsIEREUF9DT01QT05FTlRfRFJN X09WTFNZU19BREFQVE9SMCk7DQo+ICsJCW92bF9hZGFwdG9yID0NCj4gKwkJCXBsYXRmb3JtX2Rl dmljZV9yZWdpc3Rlcl9kYXRhKGRldiwgIm1lZGlhdGVrLWRpc3Atb3Zsc3lzLWFkYXB0b3IiLA0K PiArCQkJCQkJICAgICAgUExBVEZPUk1fREVWSURfQVVUTywNCj4gKwkJCQkJCSAgICAgICh2b2lk ICopJm92bHN5c19wcml2LA0KPiArCQkJCQkJICAgICAgc2l6ZW9mKHN0cnVjdCBtdGtfZHJtX292 bHN5c19wcml2YXRlKSk7DQo+ICsJCXByaXZhdGUtPmRkcF9jb21wW0REUF9DT01QT05FTlRfRFJN X09WTFNZU19BREFQVE9SMF0uZGV2ID0gJm92bF9hZGFwdG9yLT5kZXY7DQo+ICsJCW10a19kZHBf Y29tcF9pbml0KE5VTEwsICZwcml2YXRlLT5kZHBfY29tcFtERFBfQ09NUE9ORU5UX0RSTV9PVkxT WVNfQURBUFRPUjBdLA0KPiArCQkJCSAgRERQX0NPTVBPTkVOVF9EUk1fT1ZMU1lTX0FEQVBUT1Iw KTsNCj4gKwkJY29tcG9uZW50X21hdGNoX2FkZChkZXYsICZtYXRjaCwgY29tcGFyZV9kZXYsICZv dmxfYWRhcHRvci0+ZGV2KTsNCj4gKwl9DQo+ICsNCj4gKwlpZiAobXRrX2RybV9maW5kX21tc3lz X2NvbXAocHJpdmF0ZSwgRERQX0NPTVBPTkVOVF9EUk1fT1ZMU1lTX0FEQVBUT1IxKSkgew0KPiAr CQlzdHJ1Y3QgbXRrX2RybV9vdmxzeXNfcHJpdmF0ZSBvdmxzeXNfcHJpdjsNCj4gKw0KPiArCQlv dmxzeXNfcHJpdi5tbXN5c19kZXYgPSBwcml2YXRlLT5tbXN5c19kZXY7DQo+ICsJCW92bHN5c19w cml2LnVzZV9wYXRoID0NCj4gKwkJbXRrX2RybV9tbXN5c19jb21wX2luX3BhdGgocHJpdmF0ZSwg RERQX0NPTVBPTkVOVF9EUk1fT1ZMU1lTX0FEQVBUT1IxKTsNCj4gKwkJb3ZsX2FkYXB0b3IgPQ0K PiArCQkJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyX2RhdGEoZGV2LCAibWVkaWF0ZWstZGlzcC1v dmxzeXMtYWRhcHRvciIsDQo+ICsJCQkJCQkgICAgICBQTEFURk9STV9ERVZJRF9BVVRPLA0KPiAr CQkJCQkJICAgICAgKHZvaWQgKikmb3Zsc3lzX3ByaXYsDQo+ICsJCQkJCQkgICAgICBzaXplb2Yo c3RydWN0IG10a19kcm1fb3Zsc3lzX3ByaXZhdGUpKTsNCj4gKwkJcHJpdmF0ZS0+ZGRwX2NvbXBb RERQX0NPTVBPTkVOVF9EUk1fT1ZMU1lTX0FEQVBUT1IxXS5kZXYgPSAmb3ZsX2FkYXB0b3ItPmRl djsNCj4gKwkJbXRrX2RkcF9jb21wX2luaXQoTlVMTCwgJnByaXZhdGUtPmRkcF9jb21wW0REUF9D T01QT05FTlRfRFJNX09WTFNZU19BREFQVE9SMV0sDQo+ICsJCQkJICBERFBfQ09NUE9ORU5UX0RS TV9PVkxTWVNfQURBUFRPUjEpOw0KPiArCQljb21wb25lbnRfbWF0Y2hfYWRkKGRldiwgJm1hdGNo LCBjb21wYXJlX2RldiwgJm92bF9hZGFwdG9yLT5kZXYpOw0KPiArCX0NCj4gKw0KPiAgCS8qIEl0 ZXJhdGUgb3ZlciBzaWJsaW5nIERJU1AgZnVuY3Rpb24gYmxvY2tzICovDQo+ICAJZm9yX2VhY2hf Y2hpbGRfb2Zfbm9kZShwaGFuZGxlLT5wYXJlbnQsIG5vZGUpIHsNCj4gIAkJZW51bSBtdGtfZGRw X2NvbXBfdHlwZSBjb21wX3R5cGU7DQo+IEBAIC0xMjY4LDYgKzEzMjQsNyBAQCBzdGF0aWMgc3Ry dWN0IHBsYXRmb3JtX2RyaXZlciAqIGNvbnN0IG10a19kcm1fZHJpdmVyc1tdID0gew0KPiAgCSZt dGtfZGlzcF9vdXRwcm9jX2RyaXZlciwNCj4gIAkmbXRrX2Rpc3Bfb3ZsX2FkYXB0b3JfZHJpdmVy LA0KPiAgCSZtdGtfZGlzcF9vdmxfZHJpdmVyLA0KPiArCSZtdGtfZGlzcF9vdmxzeXNfYWRhcHRv cl9kcml2ZXIsDQo+ICAJJm10a19kaXNwX3JkbWFfZHJpdmVyLA0KPiAgCSZtdGtfZHBpX2RyaXZl ciwNCj4gIAkmbXRrX2RybV9wbGF0Zm9ybV9kcml2ZXIsDQo+IGRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRl ay9tdGtfZHJtX2Rydi5oDQo+IGluZGV4IGM0NzE3YzM3YjBmMS4uYWExN2U3NDNhMWQwIDEwMDY0 NA0KPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9kcnYuaA0KPiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9kcnYuaA0KPiBAQCAtMTEsNyArMTEs OSBAQA0KPiAgDQo+ICAjZGVmaW5lIE1BWF9DT05ORUNUT1IJMg0KPiAgI2RlZmluZSBERFBfQ09N UE9ORU5UX0RSTV9PVkxfQURBUFRPUiAoRERQX0NPTVBPTkVOVF9JRF9NQVggKyAxKQ0KPiAtI2Rl ZmluZSBERFBfQ09NUE9ORU5UX0RSTV9JRF9NQVggKEREUF9DT01QT05FTlRfRFJNX09WTF9BREFQ VE9SICsgMSkNCj4gKyNkZWZpbmUgRERQX0NPTVBPTkVOVF9EUk1fT1ZMU1lTX0FEQVBUT1IwIChE RFBfQ09NUE9ORU5UX0RSTV9PVkxfQURBUFRPUiArIDEpDQo+ICsjZGVmaW5lIEREUF9DT01QT05F TlRfRFJNX09WTFNZU19BREFQVE9SMSAoRERQX0NPTVBPTkVOVF9EUk1fT1ZMU1lTX0FEQVBUT1Iw ICsgMSkNCj4gKyNkZWZpbmUgRERQX0NPTVBPTkVOVF9EUk1fSURfTUFYIChERFBfQ09NUE9ORU5U X0RSTV9PVkxTWVNfQURBUFRPUjEgKyAxKQ0KPiAgDQo+ICBlbnVtIG10a19jcnRjX3BhdGggew0K PiAgCUNSVENfTUFJTiwNCj4gQEAgLTY5LDYgKzcxLDEyIEBAIHN0cnVjdCBtdGtfZHJtX3ByaXZh dGUgew0KPiAgCXN0cnVjdCBtdGtfZHJtX3ByaXZhdGUgKiphbGxfZHJtX3ByaXZhdGU7DQo+ICB9 Ow0KPiAgDQo+ICtzdHJ1Y3QgbXRrX2RybV9vdmxzeXNfcHJpdmF0ZSB7DQoNCm92bHN5cyBoYXMg aXRzIG93biBwcml2YXRlIGRhdGEgc3RydWN0dXJlLg0KbXRrX292bHN5c19wbGF0Zm9ybV9kYXRh IGlzIGJldHRlci4NCg0KUmVnYXJkcywNCkNLDQoNCg0KPiArCXN0cnVjdCBkZXZpY2UgKm1tc3lz X2RldjsNCj4gKwlzdHJ1Y3QgZGV2aWNlICptdXRleF9kZXY7DQo+ICsJdW5zaWduZWQgaW50IHVz ZV9wYXRoOw0KPiArfTsNCj4gKw0KPiAgZXh0ZXJuIHN0cnVjdCBwbGF0Zm9ybV9kcml2ZXIgbXRr X2Rpc3BfYWFsX2RyaXZlcjsNCj4gIGV4dGVybiBzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyIG10a19k aXNwX2JsZW5kZXJfZHJpdmVyOw0KPiAgZXh0ZXJuIHN0cnVjdCBwbGF0Zm9ybV9kcml2ZXIgbXRr X2Rpc3BfY2NvcnJfZHJpdmVyOw0KPiBAQCAtNzksNiArODcsNyBAQCBleHRlcm4gc3RydWN0IHBs YXRmb3JtX2RyaXZlciBtdGtfZGlzcF9tZXJnZV9kcml2ZXI7DQo+ICBleHRlcm4gc3RydWN0IHBs YXRmb3JtX2RyaXZlciBtdGtfZGlzcF9vdXRwcm9jX2RyaXZlcjsNCj4gIGV4dGVybiBzdHJ1Y3Qg cGxhdGZvcm1fZHJpdmVyIG10a19kaXNwX292bF9hZGFwdG9yX2RyaXZlcjsNCj4gIGV4dGVybiBz dHJ1Y3QgcGxhdGZvcm1fZHJpdmVyIG10a19kaXNwX292bF9kcml2ZXI7DQo+ICtleHRlcm4gc3Ry dWN0IHBsYXRmb3JtX2RyaXZlciBtdGtfZGlzcF9vdmxzeXNfYWRhcHRvcl9kcml2ZXI7DQo+ICBl eHRlcm4gc3RydWN0IHBsYXRmb3JtX2RyaXZlciBtdGtfZGlzcF9yZG1hX2RyaXZlcjsNCj4gIGV4 dGVybiBzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyIG10a19kcGlfZHJpdmVyOw0KPiAgZXh0ZXJuIHN0 cnVjdCBwbGF0Zm9ybV9kcml2ZXIgbXRrX2RzaV9kcml2ZXI7DQoNCg== --__=_Part_Boundary_008_1166562066.423455638 Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: base64 PGh0bWw+PGJvZHk+PHA+DQo8cHJlPg0KSGksJiMzMjtQYXVsOg0KDQpPbiYjMzI7RnJpLCYjMzI7 MjAyNS0wMS0xMCYjMzI7YXQmIzMyOzIwOjM0JiMzMjsrMDgwMCwmIzMyO3BhdWwtcGwuY2hlbiYj MzI7d3JvdGU6DQomZ3Q7JiMzMjtGcm9tOiYjMzI7JnF1b3Q7TmFuY3kuTGluJnF1b3Q7JiMzMjsm bHQ7bmFuY3kubGluQG1lZGlhdGVrLmNvbSZndDsNCiZndDsmIzMyOw0KJmd0OyYjMzI7T3Zsc3lz X2FkYXB0b3ImIzMyO2lzJiMzMjthbiYjMzI7ZW5jYXBzdWxhdGVkJiMzMjttb2R1bGUmIzMyO2Rl c2lnbmVkJiMzMjt0bw0KJmd0OyYjMzI7c2ltcGxpZnkmIzMyO3RoZSYjMzI7RFJNJiMzMjtjb250 cm9sJiMzMjtmbG93LiYjMzI7VGhpcyYjMzI7bW9kdWxlJiMzMjtpcyYjMzI7Y29tcG9zZWQNCiZn dDsmIzMyO29mJiMzMjsyMCYjMzI7RVhETUFzLCYjMzI7MjAmIzMyO0JMRU5ERVJzLCYjMzI7YW5k JiMzMjsxMiYjMzI7T1VUUFJPQ3MuDQomZ3Q7JiMzMjtUd28mIzMyO0VYRE1BcyYjMzI7bWVyZ2Um IzMyO2ludG8mIzMyO29uZSYjMzI7bGF5ZXIsJiMzMjthbGxvd2luZyYjMzI7dGhlJiMzMjttb2R1 bGUNCiZndDsmIzMyO3RvJiMzMjtzdXBwb3J0JiMzMjsyMCYjMzI7bGF5ZXJzJiMzMjtmb3ImIzMy OzMmIzMyO2Rpc3BsYXkmIzMyO3BhdGhzLg0KJmd0OyYjMzI7T3Zsc3lzX2FkYXB0b3ImIzMyO2Ry aXZlciYjMzI7aXMmIzMyO2ludGVncmF0ZWQmIzMyO3dpdGhpbiYjMzI7dGhlDQomZ3Q7JiMzMjtt dGtfZGRwX2NvbXAmIzMyO2ZyYW1ld29yay4NCiZndDsmIzMyOw0KJmd0OyYjMzI7U2lnbmVkLW9m Zi1ieTomIzMyO05hbmN5LkxpbiYjMzI7Jmx0O25hbmN5LmxpbkBtZWRpYXRlay5jb20mZ3Q7DQom Z3Q7JiMzMjtTaWduZWQtb2ZmLWJ5OiYjMzI7UGF1bC1wbC5DaGVuJiMzMjsmbHQ7cGF1bC1wbC5j aGVuQG1lZGlhdGVrLmNvbSZndDsNCiZndDsmIzMyOy0tLQ0KJmd0OyYjMzI7JiMzMjtkcml2ZXJz L2dwdS9kcm0vbWVkaWF0ZWsvTWFrZWZpbGUmIzMyOyYjMzI7JiMzMjsmIzMyOyYjMzI7JiMzMjsm IzMyOyYjMzI7JiMzMjsmIzMyOyYjMzI7JiMzMjsmIzMyO3wmIzMyOyYjMzI7JiMzMjsxJiMzMjsr DQomZ3Q7JiMzMjsmIzMyO2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZGRwX2NvbXAuYyYj MzI7JiMzMjsmIzMyOyYjMzI7JiMzMjsmIzMyOyYjMzI7fCYjMzI7JiMzMjsyNSYjMzI7Kw0KJmd0 OyYjMzI7JiMzMjtkcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RkcF9jb21wLmgmIzMyOyYj MzI7JiMzMjsmIzMyOyYjMzI7JiMzMjsmIzMyO3wmIzMyOyYjMzI7JiMzMjsxJiMzMjsrDQomZ3Q7 JiMzMjsmIzMyO2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZGlzcF9kcnYuaCYjMzI7JiMz MjsmIzMyOyYjMzI7JiMzMjsmIzMyOyYjMzI7fCYjMzI7JiMzMjszMSYjMzI7Ky0NCiZndDsmIzMy OyYjMzI7Li4uL2RybS9tZWRpYXRlay9tdGtfZGlzcF9vdmxzeXNfYWRhcHRvci5jJiMzMjsmIzMy OyYjMzI7JiMzMjt8JiMzMjs3NTgmIzMyOysrKysrKysrKysrKysrKysrKw0KJmd0OyYjMzI7JiMz Mjtkcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9kcnYuYyYjMzI7JiMzMjsmIzMyOyYj MzI7JiMzMjsmIzMyOyYjMzI7JiMzMjt8JiMzMjsmIzMyOzYxJiMzMjsrLQ0KJmd0OyYjMzI7JiMz Mjtkcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9kcnYuaCYjMzI7JiMzMjsmIzMyOyYj MzI7JiMzMjsmIzMyOyYjMzI7JiMzMjt8JiMzMjsmIzMyOzExJiMzMjsrLQ0KJmd0OyYjMzI7JiMz Mjs3JiMzMjtmaWxlcyYjMzI7Y2hhbmdlZCwmIzMyOzg4NCYjMzI7aW5zZXJ0aW9ucygrKSwmIzMy OzQmIzMyO2RlbGV0aW9ucygtKQ0KJmd0OyYjMzI7JiMzMjtjcmVhdGUmIzMyO21vZGUmIzMyOzEw MDY0NCYjMzI7ZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kaXNwX292bHN5c19hZGFwdG9y LmMNCiZndDsmIzMyOw0KJmd0OyYjMzI7ZGlmZiYjMzI7LS1naXQmIzMyO2EvZHJpdmVycy9ncHUv ZHJtL21lZGlhdGVrL01ha2VmaWxlJiMzMjtiL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9NYWtl ZmlsZQ0KJmd0OyYjMzI7aW5kZXgmIzMyOzk1NDZiYzZiN2IyZS4uZGVkZjUwODYwZDNmJiMzMjsx MDA2NDQNCiZndDsmIzMyOy0tLSYjMzI7YS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvTWFrZWZp bGUNCiZndDsmIzMyOysrKyYjMzI7Yi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvTWFrZWZpbGUN CiZndDsmIzMyO0BAJiMzMjstOSw2JiMzMjsrOSw3JiMzMjtAQCYjMzI7bWVkaWF0ZWstZHJtLXkm IzMyOzo9JiMzMjttdGtfY3J0Yy5vJiMzMjsmIzkyOw0KJmd0OyYjMzI7JiMzMjsmIzMyOyYjMzI7 bXRrX2Rpc3BfZXhkbWEubyYjMzI7JiM5MjsNCiZndDsmIzMyOyYjMzI7JiMzMjsmIzMyO210a19k aXNwX2dhbW1hLm8mIzMyOyYjOTI7DQomZ3Q7JiMzMjsmIzMyOyYjMzI7JiMzMjttdGtfZGlzcF9t ZXJnZS5vJiMzMjsmIzkyOw0KJmd0OyYjMzI7KyYjMzI7JiMzMjttdGtfZGlzcF9vdmxzeXNfYWRh cHRvci5vJiMzMjsmIzkyOw0KJmd0OyYjMzI7JiMzMjsmIzMyOyYjMzI7bXRrX2Rpc3Bfb3ZsLm8m IzMyOyYjOTI7DQomZ3Q7JiMzMjsmIzMyOyYjMzI7JiMzMjttdGtfZGlzcF9vdXRwcm9jLm8mIzMy OyYjOTI7DQomZ3Q7JiMzMjsmIzMyOyYjMzI7JiMzMjttdGtfZGlzcF9vdmxfYWRhcHRvci5vJiMz MjsmIzkyOw0KJmd0OyYjMzI7ZGlmZiYjMzI7LS1naXQmIzMyO2EvZHJpdmVycy9ncHUvZHJtL21l ZGlhdGVrL210a19kZHBfY29tcC5jJiMzMjtiL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtf ZGRwX2NvbXAuYw0KJmd0OyYjMzI7aW5kZXgmIzMyO2NjNzgwNzQ0ZjA2MC4uNDkyYjhkOTY1MzA5 JiMzMjsxMDA2NDQNCiZndDsmIzMyOy0tLSYjMzI7YS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsv bXRrX2RkcF9jb21wLmMNCiZndDsmIzMyOysrKyYjMzI7Yi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0 ZWsvbXRrX2RkcF9jb21wLmMNCiZndDsmIzMyO0BAJiMzMjstMzY4LDYmIzMyOyszNjgsMjgmIzMy O0BAJiMzMjtzdGF0aWMmIzMyO2NvbnN0JiMzMjtzdHJ1Y3QmIzMyO210a19kZHBfY29tcF9mdW5j cyYjMzI7ZGRwX292bCYjMzI7PSYjMzI7ew0KJmd0OyYjMzI7JiMzMjsuZ2V0X251bV9mb3JtYXRz JiMzMjs9JiMzMjttdGtfb3ZsX2dldF9udW1fZm9ybWF0cywNCiZndDsmIzMyOyYjMzI7fTsNCiZn dDsmIzMyOyYjMzI7DQomZ3Q7JiMzMjsrc3RhdGljJiMzMjtjb25zdCYjMzI7c3RydWN0JiMzMjtt dGtfZGRwX2NvbXBfZnVuY3MmIzMyO2RkcF9vdmxzeXNfYWRhcHRvciYjMzI7PSYjMzI7ew0KJmd0 OyYjMzI7Ky5jbGtfZW5hYmxlJiMzMjs9JiMzMjttdGtfb3Zsc3lzX2FkYXB0b3JfY2xrX2VuYWJs ZSwNCiZndDsmIzMyOysuY2xrX2Rpc2FibGUmIzMyOz0mIzMyO210a19vdmxzeXNfYWRhcHRvcl9j bGtfZGlzYWJsZSwNCiZndDsmIzMyOysuY29uZmlnJiMzMjs9JiMzMjttdGtfb3Zsc3lzX2FkYXB0 b3JfY29uZmlnLA0KJmd0OyYjMzI7Ky5zdGFydCYjMzI7PSYjMzI7bXRrX292bHN5c19hZGFwdG9y X3N0YXJ0LA0KJmd0OyYjMzI7Ky5zdG9wJiMzMjs9JiMzMjttdGtfb3Zsc3lzX2FkYXB0b3Jfc3Rv cCwNCiZndDsmIzMyOysubGF5ZXJfY2hlY2smIzMyOz0mIzMyO210a19vdmxzeXNfYWRhcHRvcl9s YXllcl9jaGVjaywNCiZndDsmIzMyOysubGF5ZXJfbnImIzMyOz0mIzMyO210a19vdmxzeXNfYWRh cHRvcl9sYXllcl9uciwNCiZndDsmIzMyOysubGF5ZXJfY29uZmlnJiMzMjs9JiMzMjttdGtfb3Zs c3lzX2FkYXB0b3JfbGF5ZXJfY29uZmlnLA0KJmd0OyYjMzI7Ky5yZWdpc3Rlcl92YmxhbmtfY2Im IzMyOz0mIzMyO210a19vdmxzeXNfYWRhcHRvcl9yZWdpc3Rlcl92YmxhbmtfY2IsDQomZ3Q7JiMz MjsrLnVucmVnaXN0ZXJfdmJsYW5rX2NiJiMzMjs9JiMzMjttdGtfb3Zsc3lzX2FkYXB0b3JfdW5y ZWdpc3Rlcl92YmxhbmtfY2IsDQomZ3Q7JiMzMjsrLmVuYWJsZV92YmxhbmsmIzMyOz0mIzMyO210 a19vdmxzeXNfYWRhcHRvcl9lbmFibGVfdmJsYW5rLA0KJmd0OyYjMzI7Ky5kaXNhYmxlX3ZibGFu ayYjMzI7PSYjMzI7bXRrX292bHN5c19hZGFwdG9yX2Rpc2FibGVfdmJsYW5rLA0KJmd0OyYjMzI7 Ky5kbWFfZGV2X2dldCYjMzI7PSYjMzI7bXRrX292bHN5c19hZGFwdG9yX2RtYV9kZXZfZ2V0LA0K Jmd0OyYjMzI7Ky5jb25uZWN0JiMzMjs9JiMzMjttdGtfb3Zsc3lzX2FkYXB0b3JfY29ubmVjdCwN CiZndDsmIzMyOysuZGlzY29ubmVjdCYjMzI7PSYjMzI7bXRrX292bHN5c19hZGFwdG9yX2Rpc2Nv bm5lY3QsDQomZ3Q7JiMzMjsrLmFkZCYjMzI7PSYjMzI7bXRrX292bHN5c19hZGFwdG9yX2FkZF9j b21wLA0KJmd0OyYjMzI7Ky5yZW1vdmUmIzMyOz0mIzMyO210a19vdmxzeXNfYWRhcHRvcl9yZW1v dmVfY29tcCwNCiZndDsmIzMyOysuZ2V0X2Zvcm1hdHMmIzMyOz0mIzMyO210a19vdmxzeXNfYWRh cHRvcl9nZXRfZm9ybWF0cywNCiZndDsmIzMyOysuZ2V0X251bV9mb3JtYXRzJiMzMjs9JiMzMjtt dGtfb3Zsc3lzX2FkYXB0b3JfZ2V0X251bV9mb3JtYXRzLA0KJmd0OyYjMzI7K307DQomZ3Q7JiMz MjsrDQomZ3Q7JiMzMjsmIzMyO3N0YXRpYyYjMzI7Y29uc3QmIzMyO3N0cnVjdCYjMzI7bXRrX2Rk cF9jb21wX2Z1bmNzJiMzMjtkZHBfcG9zdG1hc2smIzMyOz0mIzMyO3sNCiZndDsmIzMyOyYjMzI7 LmNsa19lbmFibGUmIzMyOz0mIzMyO210a19kZHBfY2xrX2VuYWJsZSwNCiZndDsmIzMyOyYjMzI7 LmNsa19kaXNhYmxlJiMzMjs9JiMzMjttdGtfZGRwX2Nsa19kaXNhYmxlLA0KJmd0OyYjMzI7QEAm IzMyOy00MzcsNiYjMzI7KzQ1OSw3JiMzMjtAQCYjMzI7c3RhdGljJiMzMjtjb25zdCYjMzI7Y2hh ciYjMzI7KiYjMzI7Y29uc3QmIzMyO210a19kZHBfY29tcF9zdGVtW01US19ERFBfQ09NUF9UWVBF X01BWF0mIzMyOz0mIzMyO3sNCiZndDsmIzMyOyYjMzI7W01US19ESVNQX09WTF0mIzMyOz0mIzMy OyZxdW90O292bCZxdW90OywNCiZndDsmIzMyOyYjMzI7W01US19ESVNQX09WTF8yTF0mIzMyOz0m IzMyOyZxdW90O292bC0ybCZxdW90OywNCiZndDsmIzMyOyYjMzI7W01US19ESVNQX09WTF9BREFQ VE9SXSYjMzI7PSYjMzI7JnF1b3Q7b3ZsX2FkYXB0b3ImcXVvdDssDQomZ3Q7JiMzMjsrW01US19E SVNQX09WTFNZU19BREFQVE9SXSYjMzI7PSYjMzI7JnF1b3Q7b3Zsc3lzX2FkYXB0b3ImcXVvdDss DQomZ3Q7JiMzMjsmIzMyO1tNVEtfRElTUF9QT1NUTUFTS10mIzMyOz0mIzMyOyZxdW90O3Bvc3Rt YXNrJnF1b3Q7LA0KJmd0OyYjMzI7JiMzMjtbTVRLX0RJU1BfUFdNXSYjMzI7PSYjMzI7JnF1b3Q7 cHdtJnF1b3Q7LA0KJmd0OyYjMzI7JiMzMjtbTVRLX0RJU1BfUkRNQV0mIzMyOz0mIzMyOyZxdW90 O3JkbWEmcXVvdDssDQomZ3Q7JiMzMjtAQCYjMzI7LTQ2OSw2JiMzMjsrNDkyLDgmIzMyO0BAJiMz MjtzdGF0aWMmIzMyO2NvbnN0JiMzMjtzdHJ1Y3QmIzMyO210a19kZHBfY29tcF9tYXRjaCYjMzI7 bXRrX2RkcF9tYXRjaGVzW0REUF9DT01QT05FTlRfRFJNX0lEX01BWF0NCiZndDsmIzMyOyYjMzI7 W0REUF9DT01QT05FTlRfRFBJMF09JiMzMjt7JiMzMjtNVEtfRFBJLDAsJiMzMjsmYW1wO2RkcF9k cGkmIzMyO30sDQomZ3Q7JiMzMjsmIzMyO1tERFBfQ09NUE9ORU5UX0RQSTFdPSYjMzI7eyYjMzI7 TVRLX0RQSSwxLCYjMzI7JmFtcDtkZHBfZHBpJiMzMjt9LA0KJmd0OyYjMzI7JiMzMjtbRERQX0NP TVBPTkVOVF9EUk1fT1ZMX0FEQVBUT1JdPSYjMzI7eyYjMzI7TVRLX0RJU1BfT1ZMX0FEQVBUT1Is MCwmIzMyOyZhbXA7ZGRwX292bF9hZGFwdG9yJiMzMjt9LA0KJmd0OyYjMzI7K1tERFBfQ09NUE9O RU5UX0RSTV9PVkxTWVNfQURBUFRPUjBdJiMzMjs9JiMzMjt7JiMzMjtNVEtfRElTUF9PVkxTWVNf QURBUFRPUiwmIzMyOzAsJiMzMjsmYW1wO2RkcF9vdmxzeXNfYWRhcHRvcn0sDQomZ3Q7JiMzMjsr W0REUF9DT01QT05FTlRfRFJNX09WTFNZU19BREFQVE9SMV0mIzMyOz0mIzMyO3smIzMyO01US19E SVNQX09WTFNZU19BREFQVE9SLCYjMzI7MSwmIzMyOyZhbXA7ZGRwX292bHN5c19hZGFwdG9yfSwN CiZndDsmIzMyOyYjMzI7W0REUF9DT01QT05FTlRfRFNDMF09JiMzMjt7JiMzMjtNVEtfRElTUF9E U0MsMCwmIzMyOyZhbXA7ZGRwX2RzYyYjMzI7fSwNCiZndDsmIzMyOyYjMzI7W0REUF9DT01QT05F TlRfRFNDMV09JiMzMjt7JiMzMjtNVEtfRElTUF9EU0MsMSwmIzMyOyZhbXA7ZGRwX2RzYyYjMzI7 fSwNCiZndDsmIzMyOyYjMzI7W0REUF9DT01QT05FTlRfRFNJMF09JiMzMjt7JiMzMjtNVEtfRFNJ LDAsJiMzMjsmYW1wO2RkcF9kc2kmIzMyO30sDQomZ3Q7JiMzMjtkaWZmJiMzMjstLWdpdCYjMzI7 YS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RkcF9jb21wLmgmIzMyO2IvZHJpdmVycy9n cHUvZHJtL21lZGlhdGVrL210a19kZHBfY29tcC5oDQomZ3Q7JiMzMjtpbmRleCYjMzI7YjMzZDMy ODliOGI2Li5lZjY0Y2U3YTA3MWYmIzMyOzEwMDY0NA0KJmd0OyYjMzI7LS0tJiMzMjthL2RyaXZl cnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZGRwX2NvbXAuaA0KJmd0OyYjMzI7KysrJiMzMjtiL2Ry aXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZGRwX2NvbXAuaA0KJmd0OyYjMzI7QEAmIzMyOy0z Myw2JiMzMjsrMzMsNyYjMzI7QEAmIzMyO2VudW0mIzMyO210a19kZHBfY29tcF90eXBlJiMzMjt7 DQomZ3Q7JiMzMjsmIzMyO01US19ESVNQX01VVEVYLA0KJmd0OyYjMzI7JiMzMjtNVEtfRElTUF9P RCwNCiZndDsmIzMyOyYjMzI7TVRLX0RJU1BfT1ZMLA0KJmd0OyYjMzI7K01US19ESVNQX09WTFNZ U19BREFQVE9SLA0KJmd0OyYjMzI7JiMzMjtNVEtfRElTUF9PVkxfMkwsDQomZ3Q7JiMzMjsmIzMy O01US19ESVNQX09WTF9BREFQVE9SLA0KJmd0OyYjMzI7JiMzMjtNVEtfRElTUF9QT1NUTUFTSywN CiZndDsmIzMyO2RpZmYmIzMyOy0tZ2l0JiMzMjthL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9t dGtfZGlzcF9kcnYuaCYjMzI7Yi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2Rpc3BfZHJ2 LmgNCiZndDsmIzMyO2luZGV4JiMzMjs0NGQyY2JlOTE5ZGMuLjY3ZjZkYTU5ZDBkZSYjMzI7MTAw NjQ0DQomZ3Q7JiMzMjstLS0mIzMyO2EvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kaXNw X2Rydi5oDQomZ3Q7JiMzMjsrKysmIzMyO2IvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19k aXNwX2Rydi5oDQomZ3Q7JiMzMjtAQCYjMzI7LTE0MCw4JiMzMjsrMTQwLDgmIzMyO0BAJiMzMjt2 b2lkJiMzMjttdGtfb3ZsX2VuYWJsZV92Ymxhbmsoc3RydWN0JiMzMjtkZXZpY2UmIzMyOypkZXYp Ow0KJmd0OyYjMzI7JiMzMjt2b2lkJiMzMjttdGtfb3ZsX2Rpc2FibGVfdmJsYW5rKHN0cnVjdCYj MzI7ZGV2aWNlJiMzMjsqZGV2KTsNCiZndDsmIzMyOyYjMzI7dTMyJiMzMjttdGtfb3ZsX2dldF9i bGVuZF9tb2RlcyhzdHJ1Y3QmIzMyO2RldmljZSYjMzI7KmRldik7DQomZ3Q7JiMzMjsmIzMyO2Nv bnN0JiMzMjt1MzImIzMyOyptdGtfb3ZsX2dldF9mb3JtYXRzKHN0cnVjdCYjMzI7ZGV2aWNlJiMz MjsqZGV2KTsNCiZndDsmIzMyOy1zaXplX3QmIzMyO210a19vdmxfZ2V0X251bV9mb3JtYXRzKHN0 cnVjdCYjMzI7ZGV2aWNlJiMzMjsqZGV2KTsNCiZndDsmIzMyOyYjMzI7DQomZ3Q7JiMzMjsrc2l6 ZV90JiMzMjttdGtfb3ZsX2dldF9udW1fZm9ybWF0cyhzdHJ1Y3QmIzMyO2RldmljZSYjMzI7KmRl dik7DQomZ3Q7JiMzMjsmIzMyO3ZvaWQmIzMyO210a19vdmxfYWRhcHRvcl9hZGRfY29tcChzdHJ1 Y3QmIzMyO2RldmljZSYjMzI7KmRldiwmIzMyO3N0cnVjdCYjMzI7bXRrX211dGV4JiMzMjsqbXV0 ZXgpOw0KJmd0OyYjMzI7JiMzMjt2b2lkJiMzMjttdGtfb3ZsX2FkYXB0b3JfcmVtb3ZlX2NvbXAo c3RydWN0JiMzMjtkZXZpY2UmIzMyOypkZXYsJiMzMjtzdHJ1Y3QmIzMyO210a19tdXRleCYjMzI7 Km11dGV4KTsNCiZndDsmIzMyOyYjMzI7Ym9vbCYjMzI7bXRrX292bF9hZGFwdG9yX2lzX2NvbXBf cHJlc2VudChzdHJ1Y3QmIzMyO2RldmljZV9ub2RlJiMzMjsqbm9kZSk7DQomZ3Q7JiMzMjtAQCYj MzI7LTE3NCw2JiMzMjsrMTc0LDM1JiMzMjtAQCYjMzI7c2l6ZV90JiMzMjttdGtfb3ZsX2FkYXB0 b3JfZ2V0X251bV9mb3JtYXRzKHN0cnVjdCYjMzI7ZGV2aWNlJiMzMjsqZGV2KTsNCiZndDsmIzMy OyYjMzI7ZW51bSYjMzI7ZHJtX21vZGVfc3RhdHVzJiMzMjttdGtfb3ZsX2FkYXB0b3JfbW9kZV92 YWxpZChzdHJ1Y3QmIzMyO2RldmljZSYjMzI7KmRldiwNCiZndDsmIzMyOyYjMzI7Y29uc3QmIzMy O3N0cnVjdCYjMzI7ZHJtX2Rpc3BsYXlfbW9kZSYjMzI7Km1vZGUpOw0KJmd0OyYjMzI7JiMzMjsN CiZndDsmIzMyOyt2b2lkJiMzMjttdGtfb3Zsc3lzX2FkYXB0b3JfYWRkX2NvbXAoc3RydWN0JiMz MjtkZXZpY2UmIzMyOypkZXYsJiMzMjtzdHJ1Y3QmIzMyO210a19tdXRleCYjMzI7Km11dGV4KTsN CiZndDsmIzMyOyt2b2lkJiMzMjttdGtfb3Zsc3lzX2FkYXB0b3JfcmVtb3ZlX2NvbXAoc3RydWN0 JiMzMjtkZXZpY2UmIzMyOypkZXYsJiMzMjtzdHJ1Y3QmIzMyO210a19tdXRleCYjMzI7Km11dGV4 KTsNCiZndDsmIzMyOyt2b2lkJiMzMjttdGtfb3Zsc3lzX2FkYXB0b3JfY29ubmVjdChzdHJ1Y3Qm IzMyO2RldmljZSYjMzI7KmRldiwmIzMyO3N0cnVjdCYjMzI7ZGV2aWNlJiMzMjsqbW1zeXNfZGV2 LA0KJmd0OyYjMzI7K3Vuc2lnbmVkJiMzMjtpbnQmIzMyO25leHQpOw0KJmd0OyYjMzI7K3ZvaWQm IzMyO210a19vdmxzeXNfYWRhcHRvcl9kaXNjb25uZWN0KHN0cnVjdCYjMzI7ZGV2aWNlJiMzMjsq ZGV2LCYjMzI7c3RydWN0JiMzMjtkZXZpY2UmIzMyOyptbXN5c19kZXYsDQomZ3Q7JiMzMjsrJiMz MjsmIzMyOyYjMzI7dW5zaWduZWQmIzMyO2ludCYjMzI7bmV4dCk7DQomZ3Q7JiMzMjsraW50JiMz MjttdGtfb3Zsc3lzX2FkYXB0b3JfY2xrX2VuYWJsZShzdHJ1Y3QmIzMyO2RldmljZSYjMzI7KmRl dik7DQomZ3Q7JiMzMjsrdm9pZCYjMzI7bXRrX292bHN5c19hZGFwdG9yX2Nsa19kaXNhYmxlKHN0 cnVjdCYjMzI7ZGV2aWNlJiMzMjsqZGV2KTsNCiZndDsmIzMyOyt2b2lkJiMzMjttdGtfb3Zsc3lz X2FkYXB0b3JfY29uZmlnKHN0cnVjdCYjMzI7ZGV2aWNlJiMzMjsqZGV2LCYjMzI7dW5zaWduZWQm IzMyO2ludCYjMzI7dywNCiZndDsmIzMyOysmIzMyOyYjMzI7JiMzMjsmIzMyOyYjMzI7JiMzMjsm IzMyO3Vuc2lnbmVkJiMzMjtpbnQmIzMyO2gsJiMzMjt1bnNpZ25lZCYjMzI7aW50JiMzMjt2cmVm cmVzaCwNCiZndDsmIzMyOysmIzMyOyYjMzI7JiMzMjsmIzMyOyYjMzI7JiMzMjsmIzMyO3Vuc2ln bmVkJiMzMjtpbnQmIzMyO2JwYywmIzMyO3N0cnVjdCYjMzI7Y21kcV9wa3QmIzMyOypjbWRxX3Br dCk7DQomZ3Q7JiMzMjsrdm9pZCYjMzI7bXRrX292bHN5c19hZGFwdG9yX2xheWVyX2NvbmZpZyhz dHJ1Y3QmIzMyO2RldmljZSYjMzI7KmRldiwmIzMyO3Vuc2lnbmVkJiMzMjtpbnQmIzMyO2lkeCwN CiZndDsmIzMyOysmIzMyOyYjMzI7JiMzMjsmIzMyOyYjMzI7c3RydWN0JiMzMjttdGtfcGxhbmVf c3RhdGUmIzMyOypzdGF0ZSwNCiZndDsmIzMyOysmIzMyOyYjMzI7JiMzMjsmIzMyOyYjMzI7c3Ry dWN0JiMzMjtjbWRxX3BrdCYjMzI7KmNtZHFfcGt0KTsNCiZndDsmIzMyOytpbnQmIzMyO210a19v dmxzeXNfYWRhcHRvcl9sYXllcl9jaGVjayhzdHJ1Y3QmIzMyO2RldmljZSYjMzI7KmRldiwNCiZn dDsmIzMyOysmIzMyOyYjMzI7JiMzMjt1bnNpZ25lZCYjMzI7aW50JiMzMjtpZHgsDQomZ3Q7JiMz MjsrJiMzMjsmIzMyOyYjMzI7c3RydWN0JiMzMjttdGtfcGxhbmVfc3RhdGUmIzMyOyptdGtfc3Rh dGUpOw0KJmd0OyYjMzI7K3ZvaWQmIzMyO210a19vdmxzeXNfYWRhcHRvcl9yZWdpc3Rlcl92Ymxh bmtfY2Ioc3RydWN0JiMzMjtkZXZpY2UmIzMyOypkZXYsJiMzMjt2b2lkJiMzMjsoKnZibGFua19j Yikodm9pZCYjMzI7KiksDQomZ3Q7JiMzMjsrJiMzMjsmIzMyOyYjMzI7dm9pZCYjMzI7KnZibGFu a19jYl9kYXRhKTsNCiZndDsmIzMyOyt2b2lkJiMzMjttdGtfb3Zsc3lzX2FkYXB0b3JfdW5yZWdp c3Rlcl92YmxhbmtfY2Ioc3RydWN0JiMzMjtkZXZpY2UmIzMyOypkZXYpOw0KJmd0OyYjMzI7K3Zv aWQmIzMyO210a19vdmxzeXNfYWRhcHRvcl9lbmFibGVfdmJsYW5rKHN0cnVjdCYjMzI7ZGV2aWNl JiMzMjsqZGV2KTsNCiZndDsmIzMyOyt2b2lkJiMzMjttdGtfb3Zsc3lzX2FkYXB0b3JfZGlzYWJs ZV92Ymxhbmsoc3RydWN0JiMzMjtkZXZpY2UmIzMyOypkZXYpOw0KJmd0OyYjMzI7K3ZvaWQmIzMy O210a19vdmxzeXNfYWRhcHRvcl9zdGFydChzdHJ1Y3QmIzMyO2RldmljZSYjMzI7KmRldik7DQom Z3Q7JiMzMjsrdm9pZCYjMzI7bXRrX292bHN5c19hZGFwdG9yX3N0b3Aoc3RydWN0JiMzMjtkZXZp Y2UmIzMyOypkZXYpOw0KJmd0OyYjMzI7K3Vuc2lnbmVkJiMzMjtpbnQmIzMyO210a19vdmxzeXNf YWRhcHRvcl9sYXllcl9ucihzdHJ1Y3QmIzMyO2RldmljZSYjMzI7KmRldik7DQomZ3Q7JiMzMjsr c3RydWN0JiMzMjtkZXZpY2UmIzMyOyptdGtfb3Zsc3lzX2FkYXB0b3JfZG1hX2Rldl9nZXQoc3Ry dWN0JiMzMjtkZXZpY2UmIzMyOypkZXYpOw0KJmd0OyYjMzI7K2NvbnN0JiMzMjt1MzImIzMyOypt dGtfb3Zsc3lzX2FkYXB0b3JfZ2V0X2Zvcm1hdHMoc3RydWN0JiMzMjtkZXZpY2UmIzMyOypkZXYp Ow0KJmd0OyYjMzI7K3NpemVfdCYjMzI7bXRrX292bHN5c19hZGFwdG9yX2dldF9udW1fZm9ybWF0 cyhzdHJ1Y3QmIzMyO2RldmljZSYjMzI7KmRldik7DQomZ3Q7JiMzMjsrDQomZ3Q7JiMzMjsmIzMy O3ZvaWQmIzMyO210a19yZG1hX2J5cGFzc19zaGFkb3coc3RydWN0JiMzMjtkZXZpY2UmIzMyOypk ZXYpOw0KJmd0OyYjMzI7JiMzMjtpbnQmIzMyO210a19yZG1hX2Nsa19lbmFibGUoc3RydWN0JiMz MjtkZXZpY2UmIzMyOypkZXYpOw0KJmd0OyYjMzI7JiMzMjt2b2lkJiMzMjttdGtfcmRtYV9jbGtf ZGlzYWJsZShzdHJ1Y3QmIzMyO2RldmljZSYjMzI7KmRldik7DQomZ3Q7JiMzMjtkaWZmJiMzMjst LWdpdCYjMzI7YS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2Rpc3Bfb3Zsc3lzX2FkYXB0 b3IuYyYjMzI7Yi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2Rpc3Bfb3Zsc3lzX2FkYXB0 b3IuYw0KJmd0OyYjMzI7bmV3JiMzMjtmaWxlJiMzMjttb2RlJiMzMjsxMDA2NDQNCiZndDsmIzMy O2luZGV4JiMzMjswMDAwMDAwMDAwMDAuLjdiY2UyYjcxNDNjYg0KJmd0OyYjMzI7LS0tJiMzMjsv ZGV2L251bGwNCiZndDsmIzMyOysrKyYjMzI7Yi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRr X2Rpc3Bfb3Zsc3lzX2FkYXB0b3IuYw0KJmd0OyYjMzI7QEAmIzMyOy0wLDAmIzMyOysxLDc1OCYj MzI7QEANCiZndDsmIzMyOysvLyYjMzI7U1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6JiMzMjtHUEwt Mi4wLW9ubHkNCiZndDsmIzMyOysvKg0KJmd0OyYjMzI7KyYjMzI7KiYjMzI7Q29weXJpZ2h0JiMz MjsoYykmIzMyOzIwMjEmIzMyO01lZGlhVGVrJiMzMjtJbmMuDQomZ3Q7JiMzMjsrJiMzMjsqLw0K Jmd0OyYjMzI7Kw0KJmd0OyYjMzI7KyNpbmNsdWRlJiMzMjsmbHQ7ZHJtL2RybV9mb3VyY2MuaCZn dDsNCiZndDsmIzMyOysjaW5jbHVkZSYjMzI7Jmx0O2RybS9kcm1fb2YuaCZndDsNCiZndDsmIzMy OysjaW5jbHVkZSYjMzI7Jmx0O2xpbnV4L2Nsay5oJmd0Ow0KJmd0OyYjMzI7KyNpbmNsdWRlJiMz MjsmbHQ7bGludXgvY29tcG9uZW50LmgmZ3Q7DQomZ3Q7JiMzMjsrI2luY2x1ZGUmIzMyOyZsdDts aW51eC9vZl9wbGF0Zm9ybS5oJmd0Ow0KJmd0OyYjMzI7KyNpbmNsdWRlJiMzMjsmbHQ7bGludXgv b2ZfZGV2aWNlLmgmZ3Q7DQomZ3Q7JiMzMjsrI2luY2x1ZGUmIzMyOyZsdDtsaW51eC9vZl9hZGRy ZXNzLmgmZ3Q7DQomZ3Q7JiMzMjsrI2luY2x1ZGUmIzMyOyZsdDtsaW51eC9wbGF0Zm9ybV9kZXZp Y2UuaCZndDsNCiZndDsmIzMyOysjaW5jbHVkZSYjMzI7Jmx0O2xpbnV4L3BtX3J1bnRpbWUuaCZn dDsNCiZndDsmIzMyOysjaW5jbHVkZSYjMzI7Jmx0O2xpbnV4L3Jlc2V0LmgmZ3Q7DQomZ3Q7JiMz MjsrI2luY2x1ZGUmIzMyOyZsdDtsaW51eC9zb2MvbWVkaWF0ZWsvbXRrLWNtZHEuaCZndDsNCiZn dDsmIzMyOysjaW5jbHVkZSYjMzI7Jmx0O2xpbnV4L3NvYy9tZWRpYXRlay9tdGstbW1zeXMuaCZn dDsNCiZndDsmIzMyOysjaW5jbHVkZSYjMzI7Jmx0O2xpbnV4L3NvYy9tZWRpYXRlay9tdGstbXV0 ZXguaCZndDsNCiZndDsmIzMyOysNCiZndDsmIzMyOysjaW5jbHVkZSYjMzI7JnF1b3Q7bXRrX2Rp c3BfYmxlbmRlci5oJnF1b3Q7DQomZ3Q7JiMzMjsrI2luY2x1ZGUmIzMyOyZxdW90O210a19kaXNw X2Rydi5oJnF1b3Q7DQomZ3Q7JiMzMjsrI2luY2x1ZGUmIzMyOyZxdW90O210a19jcnRjLmgmcXVv dDsNCg0KQWxwaGFiZXRpYyYjMzI7b3JkZXIuDQoNCiZndDsmIzMyOysjaW5jbHVkZSYjMzI7JnF1 b3Q7bXRrX2RkcF9jb21wLmgmcXVvdDsNCiZndDsmIzMyOysjaW5jbHVkZSYjMzI7JnF1b3Q7bXRr X2RybV9kcnYuaCZxdW90Ow0KJmd0OyYjMzI7Kw0KJmd0OyYjMzI7K2VudW0mIzMyO210a19vdmxz eXNfYWRhcHRvcl9jb21wX3R5cGUmIzMyO3sNCiZndDsmIzMyOytPVkxTWVNfQURBUFRPUl9UWVBF X0VYRE1BJiMzMjs9JiMzMjswLA0KJmd0OyYjMzI7K09WTFNZU19BREFQVE9SX1RZUEVfQkxFTkRF UiwNCiZndDsmIzMyOytPVkxTWVNfQURBUFRPUl9UWVBFX09VVFBST0MsDQomZ3Q7JiMzMjsrT1ZM U1lTX0FEQVBUT1JfVFlQRV9OVU0sDQomZ3Q7JiMzMjsrfTsNCiZndDsmIzMyOysNCiZndDsmIzMy OytlbnVtJiMzMjttdGtfb3Zsc3lzX2FkYXB0b3JfY29tcF9pZCYjMzI7ew0KJmd0OyYjMzI7K09W TFNZU19BREFQVE9SX0VYRE1BMCwNCiZndDsmIzMyOytPVkxTWVNfQURBUFRPUl9FWERNQTEsDQom Z3Q7JiMzMjsrT1ZMU1lTX0FEQVBUT1JfRVhETUEyLA0KJmd0OyYjMzI7K09WTFNZU19BREFQVE9S X0VYRE1BMywNCiZndDsmIzMyOytPVkxTWVNfQURBUFRPUl9FWERNQTQsDQomZ3Q7JiMzMjsrT1ZM U1lTX0FEQVBUT1JfRVhETUE1LA0KJmd0OyYjMzI7K09WTFNZU19BREFQVE9SX0VYRE1BNiwNCiZn dDsmIzMyOytPVkxTWVNfQURBUFRPUl9FWERNQTcsDQomZ3Q7JiMzMjsrT1ZMU1lTX0FEQVBUT1Jf RVhETUE4LA0KJmd0OyYjMzI7K09WTFNZU19BREFQVE9SX0VYRE1BOSwNCiZndDsmIzMyOytPVkxT WVNfQURBUFRPUl9FWERNQTEwLA0KJmd0OyYjMzI7K09WTFNZU19BREFQVE9SX0VYRE1BMTEsDQom Z3Q7JiMzMjsrT1ZMU1lTX0FEQVBUT1JfRVhETUExMiwNCiZndDsmIzMyOytPVkxTWVNfQURBUFRP Ul9FWERNQTEzLA0KJmd0OyYjMzI7K09WTFNZU19BREFQVE9SX0VYRE1BMTQsDQomZ3Q7JiMzMjsr T1ZMU1lTX0FEQVBUT1JfRVhETUExNSwNCiZndDsmIzMyOytPVkxTWVNfQURBUFRPUl9FWERNQTE2 LA0KJmd0OyYjMzI7K09WTFNZU19BREFQVE9SX0VYRE1BMTcsDQomZ3Q7JiMzMjsrT1ZMU1lTX0FE QVBUT1JfRVhETUExOCwNCiZndDsmIzMyOytPVkxTWVNfQURBUFRPUl9FWERNQTE5LA0KJmd0OyYj MzI7K09WTFNZU19BREFQVE9SX0JMRU5ERVIwLA0KJmd0OyYjMzI7K09WTFNZU19BREFQVE9SX0JM RU5ERVIxLA0KJmd0OyYjMzI7K09WTFNZU19BREFQVE9SX0JMRU5ERVIyLA0KJmd0OyYjMzI7K09W TFNZU19BREFQVE9SX0JMRU5ERVIzLA0KJmd0OyYjMzI7K09WTFNZU19BREFQVE9SX0JMRU5ERVI0 LA0KJmd0OyYjMzI7K09WTFNZU19BREFQVE9SX0JMRU5ERVI1LA0KJmd0OyYjMzI7K09WTFNZU19B REFQVE9SX0JMRU5ERVI2LA0KJmd0OyYjMzI7K09WTFNZU19BREFQVE9SX0JMRU5ERVI3LA0KJmd0 OyYjMzI7K09WTFNZU19BREFQVE9SX0JMRU5ERVI4LA0KJmd0OyYjMzI7K09WTFNZU19BREFQVE9S X0JMRU5ERVI5LA0KJmd0OyYjMzI7K09WTFNZU19BREFQVE9SX0JMRU5ERVIxMCwNCiZndDsmIzMy OytPVkxTWVNfQURBUFRPUl9CTEVOREVSMTEsDQomZ3Q7JiMzMjsrT1ZMU1lTX0FEQVBUT1JfQkxF TkRFUjEyLA0KJmd0OyYjMzI7K09WTFNZU19BREFQVE9SX0JMRU5ERVIxMywNCiZndDsmIzMyOytP VkxTWVNfQURBUFRPUl9CTEVOREVSMTQsDQomZ3Q7JiMzMjsrT1ZMU1lTX0FEQVBUT1JfQkxFTkRF UjE1LA0KJmd0OyYjMzI7K09WTFNZU19BREFQVE9SX0JMRU5ERVIxNiwNCiZndDsmIzMyOytPVkxT WVNfQURBUFRPUl9CTEVOREVSMTcsDQomZ3Q7JiMzMjsrT1ZMU1lTX0FEQVBUT1JfQkxFTkRFUjE4 LA0KJmd0OyYjMzI7K09WTFNZU19BREFQVE9SX0JMRU5ERVIxOSwNCiZndDsmIzMyOytPVkxTWVNf QURBUFRPUl9PVVRQUk9DMCwNCiZndDsmIzMyOytPVkxTWVNfQURBUFRPUl9PVVRQUk9DMSwNCiZn dDsmIzMyOytPVkxTWVNfQURBUFRPUl9PVVRQUk9DMiwNCiZndDsmIzMyOytPVkxTWVNfQURBUFRP Ul9PVVRQUk9DMywNCiZndDsmIzMyOytPVkxTWVNfQURBUFRPUl9PVVRQUk9DNCwNCiZndDsmIzMy OytPVkxTWVNfQURBUFRPUl9PVVRQUk9DNSwNCiZndDsmIzMyOytPVkxTWVNfQURBUFRPUl9PVVRQ Uk9DNiwNCiZndDsmIzMyOytPVkxTWVNfQURBUFRPUl9PVVRQUk9DNywNCiZndDsmIzMyOytPVkxT WVNfQURBUFRPUl9PVVRQUk9DOCwNCiZndDsmIzMyOytPVkxTWVNfQURBUFRPUl9PVVRQUk9DOSwN CiZndDsmIzMyOytPVkxTWVNfQURBUFRPUl9PVVRQUk9DMTAsDQomZ3Q7JiMzMjsrT1ZMU1lTX0FE QVBUT1JfT1VUUFJPQzExLA0KJmd0OyYjMzI7K09WTFNZU19BREFQVE9SX0lEX01BWA0KJmd0OyYj MzI7K307DQomZ3Q7JiMzMjsrDQomZ3Q7JiMzMjsrc3RydWN0JiMzMjtvdmxzeXNfYWRhcHRvcl9j b21wX21hdGNoJiMzMjt7DQomZ3Q7JiMzMjsrZW51bSYjMzI7bXRrX292bHN5c19hZGFwdG9yX2Nv bXBfdHlwZSYjMzI7dHlwZTsNCiZndDsmIzMyOytpbnQmIzMyO2FsaWFzX2lkOw0KJmd0OyYjMzI7 K2VudW0mIzMyO210a19kZHBfY29tcF9pZCYjMzI7Y29tcF9pZDsNCiZndDsmIzMyOyt9Ow0KJmd0 OyYjMzI7Kw0KJmd0OyYjMzI7K3N0cnVjdCYjMzI7bXRrX2Rpc3Bfb3Zsc3lzX2FkYXB0b3ImIzMy O3sNCiZndDsmIzMyOytzdHJ1Y3QmIzMyO2RldmljZSYjMzI7Km92bF9hZGFwdG9yX2NvbXBbT1ZM U1lTX0FEQVBUT1JfSURfTUFYXTsNCiZndDsmIzMyOytzdHJ1Y3QmIzMyO2RldmljZSYjMzI7Km1t c3lzX2RldjsNCiZndDsmIzMyOytjb25zdCYjMzI7dW5zaWduZWQmIzMyO2ludCYjMzI7KnBhdGg7 DQomZ3Q7JiMzMjsrdW5zaWduZWQmIzMyO2ludCYjMzI7cGF0aF9zaXplOw0KJmd0OyYjMzI7K3Vu c2lnbmVkJiMzMjtpbnQmIzMyO2xheWVyX25yOw0KJmd0OyYjMzI7K2Jvb2wmIzMyO2NoaWxkcmVu X2JvdW5kOw0KJmd0OyYjMzI7K3Vuc2lnbmVkJiMzMjtpbnQmIzMyO21heF9zaXplOw0KJmd0OyYj MzI7K307DQomZ3Q7JiMzMjsrDQomZ3Q7JiMzMjsrc3RhdGljJiMzMjtjb25zdCYjMzI7Y2hhciYj MzI7KiYjMzI7Y29uc3QmIzMyO3ByaXZhdGVfY29tcF9zdGVtW09WTFNZU19BREFQVE9SX1RZUEVf TlVNXSYjMzI7PSYjMzI7ew0KJmd0OyYjMzI7K1tPVkxTWVNfQURBUFRPUl9UWVBFX0VYRE1BXT0m IzMyOyZxdW90O2V4ZG1hJnF1b3Q7LA0KJmd0OyYjMzI7K1tPVkxTWVNfQURBUFRPUl9UWVBFX0JM RU5ERVJdPSYjMzI7JnF1b3Q7YmxlbmRlciZxdW90OywNCiZndDsmIzMyOytbT1ZMU1lTX0FEQVBU T1JfVFlQRV9PVVRQUk9DXT0mIzMyOyZxdW90O291dHByb2MmcXVvdDssDQomZ3Q7JiMzMjsrfTsN CiZndDsmIzMyOysNCiZndDsmIzMyOytzdGF0aWMmIzMyO2NvbnN0JiMzMjtzdHJ1Y3QmIzMyO292 bHN5c19hZGFwdG9yX2NvbXBfbWF0Y2gmIzMyO2NvbXBfbWF0Y2hlc1tPVkxTWVNfQURBUFRPUl9J RF9NQVhdJiMzMjs9JiMzMjt7DQomZ3Q7JiMzMjsrW09WTFNZU19BREFQVE9SX0VYRE1BMF0mIzMy OyYjMzI7JiMzMjs9JiMzMjt7JiMzMjtPVkxTWVNfQURBUFRPUl9UWVBFX0VYRE1BLCYjMzI7MCwm IzMyO0REUF9DT01QT05FTlRfSURfTUFYfSwNCiZndDsmIzMyOytbT1ZMU1lTX0FEQVBUT1JfRVhE TUExXSYjMzI7JiMzMjs9JiMzMjt7JiMzMjtPVkxTWVNfQURBUFRPUl9UWVBFX0VYRE1BLCYjMzI7 MSwmIzMyO0REUF9DT01QT05FTlRfSURfTUFYfSwNCiZndDsmIzMyOytbT1ZMU1lTX0FEQVBUT1Jf RVhETUEyXSYjMzI7JiMzMjs9JiMzMjt7JiMzMjtPVkxTWVNfQURBUFRPUl9UWVBFX0VYRE1BLCYj MzI7MiwmIzMyO0REUF9DT01QT05FTlRfT1ZMMF9FWERNQTJ9LA0KJmd0OyYjMzI7K1tPVkxTWVNf QURBUFRPUl9FWERNQTNdJiMzMjsmIzMyOz0mIzMyO3smIzMyO09WTFNZU19BREFQVE9SX1RZUEVf RVhETUEsJiMzMjszLCYjMzI7RERQX0NPTVBPTkVOVF9PVkwwX0VYRE1BM30sDQomZ3Q7JiMzMjsr W09WTFNZU19BREFQVE9SX0VYRE1BNF0mIzMyOyYjMzI7PSYjMzI7eyYjMzI7T1ZMU1lTX0FEQVBU T1JfVFlQRV9FWERNQSwmIzMyOzQsJiMzMjtERFBfQ09NUE9ORU5UX09WTDBfRVhETUE0fSwNCiZn dDsmIzMyOytbT1ZMU1lTX0FEQVBUT1JfRVhETUE1XSYjMzI7JiMzMjs9JiMzMjt7JiMzMjtPVkxT WVNfQURBUFRPUl9UWVBFX0VYRE1BLCYjMzI7NSwmIzMyO0REUF9DT01QT05FTlRfT1ZMMF9FWERN QTV9LA0KJmd0OyYjMzI7K1tPVkxTWVNfQURBUFRPUl9FWERNQTZdJiMzMjsmIzMyOz0mIzMyO3sm IzMyO09WTFNZU19BREFQVE9SX1RZUEVfRVhETUEsJiMzMjs2LCYjMzI7RERQX0NPTVBPTkVOVF9P VkwwX0VYRE1BNn0sDQomZ3Q7JiMzMjsrW09WTFNZU19BREFQVE9SX0VYRE1BN10mIzMyOyYjMzI7 PSYjMzI7eyYjMzI7T1ZMU1lTX0FEQVBUT1JfVFlQRV9FWERNQSwmIzMyOzcsJiMzMjtERFBfQ09N UE9ORU5UX09WTDBfRVhETUE3fSwNCiZndDsmIzMyOytbT1ZMU1lTX0FEQVBUT1JfRVhETUE4XSYj MzI7JiMzMjs9JiMzMjt7JiMzMjtPVkxTWVNfQURBUFRPUl9UWVBFX0VYRE1BLCYjMzI7OCwmIzMy O0REUF9DT01QT05FTlRfT1ZMMF9FWERNQTh9LA0KJmd0OyYjMzI7K1tPVkxTWVNfQURBUFRPUl9F WERNQTldJiMzMjsmIzMyOz0mIzMyO3smIzMyO09WTFNZU19BREFQVE9SX1RZUEVfRVhETUEsJiMz Mjs5LCYjMzI7RERQX0NPTVBPTkVOVF9PVkwwX0VYRE1BOX0sDQomZ3Q7JiMzMjsrW09WTFNZU19B REFQVE9SX0VYRE1BMTBdJiMzMjsmIzMyOyYjMzI7PSYjMzI7eyYjMzI7T1ZMU1lTX0FEQVBUT1Jf VFlQRV9FWERNQSwmIzMyOzEwLCYjMzI7RERQX0NPTVBPTkVOVF9JRF9NQVh9LA0KDQpFWERNQTEw JiMzMjtoYXMmIzMyO25vJiMzMjtjb21wb25lbnQmIzMyO2lkLCYjMzI7c28mIzMyO2p1c3QmIzMy O2Ryb3AmIzMyO09WTFNZU19BREFQVE9SX0VYRE1BMTAuDQoNCiZndDsmIzMyOytbT1ZMU1lTX0FE QVBUT1JfRVhETUExMV0mIzMyOyYjMzI7JiMzMjs9JiMzMjt7JiMzMjtPVkxTWVNfQURBUFRPUl9U WVBFX0VYRE1BLCYjMzI7MTEsJiMzMjtERFBfQ09NUE9ORU5UX0lEX01BWH0sDQoNCkRpdHRvLg0K DQomZ3Q7JiMzMjsrW09WTFNZU19BREFQVE9SX0VYRE1BMTJdJiMzMjsmIzMyOyYjMzI7PSYjMzI7 eyYjMzI7T1ZMU1lTX0FEQVBUT1JfVFlQRV9FWERNQSwmIzMyOzEyLCYjMzI7RERQX0NPTVBPTkVO VF9PVkwxX0VYRE1BMn0sDQomZ3Q7JiMzMjsrW09WTFNZU19BREFQVE9SX0VYRE1BMTNdJiMzMjsm IzMyOyYjMzI7PSYjMzI7eyYjMzI7T1ZMU1lTX0FEQVBUT1JfVFlQRV9FWERNQSwmIzMyOzEzLCYj MzI7RERQX0NPTVBPTkVOVF9PVkwxX0VYRE1BM30sDQomZ3Q7JiMzMjsrW09WTFNZU19BREFQVE9S X0VYRE1BMTRdJiMzMjsmIzMyOyYjMzI7PSYjMzI7eyYjMzI7T1ZMU1lTX0FEQVBUT1JfVFlQRV9F WERNQSwmIzMyOzE0LCYjMzI7RERQX0NPTVBPTkVOVF9PVkwxX0VYRE1BNH0sDQomZ3Q7JiMzMjsr W09WTFNZU19BREFQVE9SX0VYRE1BMTVdJiMzMjsmIzMyOyYjMzI7PSYjMzI7eyYjMzI7T1ZMU1lT X0FEQVBUT1JfVFlQRV9FWERNQSwmIzMyOzE1LCYjMzI7RERQX0NPTVBPTkVOVF9PVkwxX0VYRE1B NX0sDQomZ3Q7JiMzMjsrW09WTFNZU19BREFQVE9SX0VYRE1BMTZdJiMzMjsmIzMyOyYjMzI7PSYj MzI7eyYjMzI7T1ZMU1lTX0FEQVBUT1JfVFlQRV9FWERNQSwmIzMyOzE2LCYjMzI7RERQX0NPTVBP TkVOVF9PVkwxX0VYRE1BNn0sDQomZ3Q7JiMzMjsrW09WTFNZU19BREFQVE9SX0VYRE1BMTddJiMz MjsmIzMyOyYjMzI7PSYjMzI7eyYjMzI7T1ZMU1lTX0FEQVBUT1JfVFlQRV9FWERNQSwmIzMyOzE3 LCYjMzI7RERQX0NPTVBPTkVOVF9PVkwxX0VYRE1BN30sDQomZ3Q7JiMzMjsrW09WTFNZU19BREFQ VE9SX0VYRE1BMThdJiMzMjsmIzMyOyYjMzI7PSYjMzI7eyYjMzI7T1ZMU1lTX0FEQVBUT1JfVFlQ RV9FWERNQSwmIzMyOzE4LCYjMzI7RERQX0NPTVBPTkVOVF9PVkwxX0VYRE1BOH0sDQomZ3Q7JiMz MjsrW09WTFNZU19BREFQVE9SX0VYRE1BMTldJiMzMjsmIzMyOyYjMzI7PSYjMzI7eyYjMzI7T1ZM U1lTX0FEQVBUT1JfVFlQRV9FWERNQSwmIzMyOzE5LCYjMzI7RERQX0NPTVBPTkVOVF9PVkwxX0VY RE1BOX0sDQomZ3Q7JiMzMjsrW09WTFNZU19BREFQVE9SX0JMRU5ERVIwXSYjMzI7PSYjMzI7eyYj MzI7T1ZMU1lTX0FEQVBUT1JfVFlQRV9CTEVOREVSLCYjMzI7MCwmIzMyO0REUF9DT01QT05FTlRf SURfTUFYfSwNCg0KRGl0dG8uDQoNCiZndDsmIzMyOytbT1ZMU1lTX0FEQVBUT1JfQkxFTkRFUjFd JiMzMjs9JiMzMjt7JiMzMjtPVkxTWVNfQURBUFRPUl9UWVBFX0JMRU5ERVIsJiMzMjsxLCYjMzI7 RERQX0NPTVBPTkVOVF9PVkwwX0JMRU5ERVIxfSwNCiZndDsmIzMyOytbT1ZMU1lTX0FEQVBUT1Jf QkxFTkRFUjJdJiMzMjs9JiMzMjt7JiMzMjtPVkxTWVNfQURBUFRPUl9UWVBFX0JMRU5ERVIsJiMz MjsyLCYjMzI7RERQX0NPTVBPTkVOVF9PVkwwX0JMRU5ERVIyfSwNCiZndDsmIzMyOytbT1ZMU1lT X0FEQVBUT1JfQkxFTkRFUjNdJiMzMjs9JiMzMjt7JiMzMjtPVkxTWVNfQURBUFRPUl9UWVBFX0JM RU5ERVIsJiMzMjszLCYjMzI7RERQX0NPTVBPTkVOVF9PVkwwX0JMRU5ERVIzfSwNCiZndDsmIzMy OytbT1ZMU1lTX0FEQVBUT1JfQkxFTkRFUjRdJiMzMjs9JiMzMjt7JiMzMjtPVkxTWVNfQURBUFRP Ul9UWVBFX0JMRU5ERVIsJiMzMjs0LCYjMzI7RERQX0NPTVBPTkVOVF9PVkwwX0JMRU5ERVI0fSwN CiZndDsmIzMyOytbT1ZMU1lTX0FEQVBUT1JfQkxFTkRFUjVdJiMzMjs9JiMzMjt7JiMzMjtPVkxT WVNfQURBUFRPUl9UWVBFX0JMRU5ERVIsJiMzMjs1LCYjMzI7RERQX0NPTVBPTkVOVF9PVkwwX0JM RU5ERVI1fSwNCiZndDsmIzMyOytbT1ZMU1lTX0FEQVBUT1JfQkxFTkRFUjZdJiMzMjs9JiMzMjt7 JiMzMjtPVkxTWVNfQURBUFRPUl9UWVBFX0JMRU5ERVIsJiMzMjs2LCYjMzI7RERQX0NPTVBPTkVO VF9PVkwwX0JMRU5ERVI2fSwNCiZndDsmIzMyOytbT1ZMU1lTX0FEQVBUT1JfQkxFTkRFUjddJiMz Mjs9JiMzMjt7JiMzMjtPVkxTWVNfQURBUFRPUl9UWVBFX0JMRU5ERVIsJiMzMjs3LCYjMzI7RERQ X0NPTVBPTkVOVF9PVkwwX0JMRU5ERVI3fSwNCiZndDsmIzMyOytbT1ZMU1lTX0FEQVBUT1JfQkxF TkRFUjhdJiMzMjs9JiMzMjt7JiMzMjtPVkxTWVNfQURBUFRPUl9UWVBFX0JMRU5ERVIsJiMzMjs4 LCYjMzI7RERQX0NPTVBPTkVOVF9PVkwwX0JMRU5ERVI4fSwNCiZndDsmIzMyOytbT1ZMU1lTX0FE QVBUT1JfQkxFTkRFUjldJiMzMjs9JiMzMjt7JiMzMjtPVkxTWVNfQURBUFRPUl9UWVBFX0JMRU5E RVIsJiMzMjs5LCYjMzI7RERQX0NPTVBPTkVOVF9PVkwwX0JMRU5ERVI5fSwNCiZndDsmIzMyOytb T1ZMU1lTX0FEQVBUT1JfQkxFTkRFUjEwXSYjMzI7PSYjMzI7eyYjMzI7T1ZMU1lTX0FEQVBUT1Jf VFlQRV9CTEVOREVSLCYjMzI7MTAsJiMzMjtERFBfQ09NUE9ORU5UX0lEX01BWH0sDQoNCkRpdHRv Lg0KDQomZ3Q7JiMzMjsrW09WTFNZU19BREFQVE9SX0JMRU5ERVIxMV0mIzMyOz0mIzMyO3sNCiZn dDsmIzMyOytPVkxTWVNfQURBUFRPUl9UWVBFX0JMRU5ERVIsJiMzMjsxMSwmIzMyO0REUF9DT01Q T05FTlRfT1ZMMV9CTEVOREVSMX0sDQomZ3Q7JiMzMjsrW09WTFNZU19BREFQVE9SX0JMRU5ERVIx Ml0mIzMyOz0mIzMyO3sNCiZndDsmIzMyOytPVkxTWVNfQURBUFRPUl9UWVBFX0JMRU5ERVIsJiMz MjsxMiwmIzMyO0REUF9DT01QT05FTlRfT1ZMMV9CTEVOREVSMn0sDQomZ3Q7JiMzMjsrW09WTFNZ U19BREFQVE9SX0JMRU5ERVIxM10mIzMyOz0mIzMyO3sNCiZndDsmIzMyOytPVkxTWVNfQURBUFRP Ul9UWVBFX0JMRU5ERVIsJiMzMjsxMywmIzMyO0REUF9DT01QT05FTlRfT1ZMMV9CTEVOREVSM30s DQomZ3Q7JiMzMjsrW09WTFNZU19BREFQVE9SX0JMRU5ERVIxNF0mIzMyOz0mIzMyO3sNCiZndDsm IzMyOytPVkxTWVNfQURBUFRPUl9UWVBFX0JMRU5ERVIsJiMzMjsxNCwmIzMyO0REUF9DT01QT05F TlRfT1ZMMV9CTEVOREVSNH0sDQomZ3Q7JiMzMjsrW09WTFNZU19BREFQVE9SX0JMRU5ERVIxNV0m IzMyOz0mIzMyO3sNCiZndDsmIzMyOytPVkxTWVNfQURBUFRPUl9UWVBFX0JMRU5ERVIsJiMzMjsx NSwmIzMyO0REUF9DT01QT05FTlRfT1ZMMV9CTEVOREVSNX0sDQomZ3Q7JiMzMjsrW09WTFNZU19B REFQVE9SX0JMRU5ERVIxNl0mIzMyOz0mIzMyO3sNCiZndDsmIzMyOytPVkxTWVNfQURBUFRPUl9U WVBFX0JMRU5ERVIsJiMzMjsxNiwmIzMyO0REUF9DT01QT05FTlRfT1ZMMV9CTEVOREVSNn0sDQom Z3Q7JiMzMjsrW09WTFNZU19BREFQVE9SX0JMRU5ERVIxN10mIzMyOz0mIzMyO3sNCiZndDsmIzMy OytPVkxTWVNfQURBUFRPUl9UWVBFX0JMRU5ERVIsJiMzMjsxNywmIzMyO0REUF9DT01QT05FTlRf T1ZMMV9CTEVOREVSN30sDQomZ3Q7JiMzMjsrW09WTFNZU19BREFQVE9SX0JMRU5ERVIxOF0mIzMy Oz0mIzMyO3sNCiZndDsmIzMyOytPVkxTWVNfQURBUFRPUl9UWVBFX0JMRU5ERVIsJiMzMjsxOCwm IzMyO0REUF9DT01QT05FTlRfT1ZMMV9CTEVOREVSOH0sDQomZ3Q7JiMzMjsrW09WTFNZU19BREFQ VE9SX0JMRU5ERVIxOV0mIzMyOz0mIzMyO3sNCiZndDsmIzMyOytPVkxTWVNfQURBUFRPUl9UWVBF X0JMRU5ERVIsJiMzMjsxOSwmIzMyO0REUF9DT01QT05FTlRfT1ZMMV9CTEVOREVSOX0sDQomZ3Q7 JiMzMjsrW09WTFNZU19BREFQVE9SX09VVFBST0MwXSYjMzI7PSYjMzI7eyYjMzI7T1ZMU1lTX0FE QVBUT1JfVFlQRV9PVVRQUk9DLCYjMzI7MCwmIzMyO0REUF9DT01QT05FTlRfT1ZMMF9PVVRQUk9D MH0sDQomZ3Q7JiMzMjsrW09WTFNZU19BREFQVE9SX09VVFBST0MxXSYjMzI7PSYjMzI7eyYjMzI7 T1ZMU1lTX0FEQVBUT1JfVFlQRV9PVVRQUk9DLCYjMzI7MSwmIzMyO0REUF9DT01QT05FTlRfT1ZM MF9PVVRQUk9DMX0sDQomZ3Q7JiMzMjsrW09WTFNZU19BREFQVE9SX09VVFBST0MyXSYjMzI7PSYj MzI7eyYjMzI7T1ZMU1lTX0FEQVBUT1JfVFlQRV9PVVRQUk9DLCYjMzI7MiwmIzMyO0REUF9DT01Q T05FTlRfSURfTUFYfSwNCiZndDsmIzMyOytbT1ZMU1lTX0FEQVBUT1JfT1VUUFJPQzNdJiMzMjs9 JiMzMjt7JiMzMjtPVkxTWVNfQURBUFRPUl9UWVBFX09VVFBST0MsJiMzMjszLCYjMzI7RERQX0NP TVBPTkVOVF9JRF9NQVh9LA0KJmd0OyYjMzI7K1tPVkxTWVNfQURBUFRPUl9PVVRQUk9DNF0mIzMy Oz0mIzMyO3smIzMyO09WTFNZU19BREFQVE9SX1RZUEVfT1VUUFJPQywmIzMyOzQsJiMzMjtERFBf Q09NUE9ORU5UX0lEX01BWH0sDQomZ3Q7JiMzMjsrW09WTFNZU19BREFQVE9SX09VVFBST0M1XSYj MzI7PSYjMzI7eyYjMzI7T1ZMU1lTX0FEQVBUT1JfVFlQRV9PVVRQUk9DLCYjMzI7NSwmIzMyO0RE UF9DT01QT05FTlRfSURfTUFYfSwNCg0KRGl0dG8uDQoNCiZndDsmIzMyOytbT1ZMU1lTX0FEQVBU T1JfT1VUUFJPQzZdJiMzMjs9JiMzMjt7JiMzMjtPVkxTWVNfQURBUFRPUl9UWVBFX09VVFBST0Ms JiMzMjs2LCYjMzI7RERQX0NPTVBPTkVOVF9PVkwxX09VVFBST0MwfSwNCiZndDsmIzMyOytbT1ZM U1lTX0FEQVBUT1JfT1VUUFJPQzddJiMzMjs9JiMzMjt7JiMzMjtPVkxTWVNfQURBUFRPUl9UWVBF X09VVFBST0MsJiMzMjs3LCYjMzI7RERQX0NPTVBPTkVOVF9JRF9NQVh9LA0KJmd0OyYjMzI7K1tP VkxTWVNfQURBUFRPUl9PVVRQUk9DOF0mIzMyOz0mIzMyO3smIzMyO09WTFNZU19BREFQVE9SX1RZ UEVfT1VUUFJPQywmIzMyOzgsJiMzMjtERFBfQ09NUE9ORU5UX0lEX01BWH0sDQomZ3Q7JiMzMjsr W09WTFNZU19BREFQVE9SX09VVFBST0M5XSYjMzI7PSYjMzI7eyYjMzI7T1ZMU1lTX0FEQVBUT1Jf VFlQRV9PVVRQUk9DLCYjMzI7OSwmIzMyO0REUF9DT01QT05FTlRfSURfTUFYfSwNCiZndDsmIzMy OytbT1ZMU1lTX0FEQVBUT1JfT1VUUFJPQzEwXSYjMzI7PSYjMzI7eyYjMzI7T1ZMU1lTX0FEQVBU T1JfVFlQRV9PVVRQUk9DLCYjMzI7MTAsJiMzMjtERFBfQ09NUE9ORU5UX0lEX01BWH0sDQomZ3Q7 JiMzMjsrW09WTFNZU19BREFQVE9SX09VVFBST0MxMV0mIzMyOz0mIzMyO3smIzMyO09WTFNZU19B REFQVE9SX1RZUEVfT1VUUFJPQywmIzMyOzExLCYjMzI7RERQX0NPTVBPTkVOVF9JRF9NQVh9LA0K DQpEaXR0by4NCg0KJmd0OyYjMzI7K307DQomZ3Q7JiMzMjsrDQomZ3Q7JiMzMjsrc3RhdGljJiMz Mjtjb25zdCYjMzI7dW5zaWduZWQmIzMyO2ludCYjMzI7bXQ4MTk2X210a19vdmxfbWFpbltdJiMz Mjs9JiMzMjt7DQomZ3Q7JiMzMjsrT1ZMU1lTX0FEQVBUT1JfRVhETUEyLA0KJmd0OyYjMzI7K09W TFNZU19BREFQVE9SX0JMRU5ERVIxLA0KJmd0OyYjMzI7K09WTFNZU19BREFQVE9SX0VYRE1BMywN CiZndDsmIzMyOytPVkxTWVNfQURBUFRPUl9CTEVOREVSMiwNCiZndDsmIzMyOytPVkxTWVNfQURB UFRPUl9FWERNQTQsDQomZ3Q7JiMzMjsrT1ZMU1lTX0FEQVBUT1JfQkxFTkRFUjMsDQomZ3Q7JiMz MjsrT1ZMU1lTX0FEQVBUT1JfRVhETUE1LA0KJmd0OyYjMzI7K09WTFNZU19BREFQVE9SX0JMRU5E RVI0LA0KJmd0OyYjMzI7K09WTFNZU19BREFQVE9SX09VVFBST0MwLA0KJmd0OyYjMzI7K307DQom Z3Q7JiMzMjsrDQomZ3Q7JiMzMjsrc3RhdGljJiMzMjtjb25zdCYjMzI7dW5zaWduZWQmIzMyO2lu dCYjMzI7bXQ4MTk2X210a19vdmxfZXh0W10mIzMyOz0mIzMyO3sNCiZndDsmIzMyOytPVkxTWVNf QURBUFRPUl9FWERNQTYsDQomZ3Q7JiMzMjsrT1ZMU1lTX0FEQVBUT1JfQkxFTkRFUjUsDQomZ3Q7 JiMzMjsrT1ZMU1lTX0FEQVBUT1JfRVhETUE3LA0KJmd0OyYjMzI7K09WTFNZU19BREFQVE9SX0JM RU5ERVI2LA0KJmd0OyYjMzI7K09WTFNZU19BREFQVE9SX0VYRE1BOCwNCiZndDsmIzMyOytPVkxT WVNfQURBUFRPUl9CTEVOREVSNywNCiZndDsmIzMyOytPVkxTWVNfQURBUFRPUl9FWERNQTksDQom Z3Q7JiMzMjsrT1ZMU1lTX0FEQVBUT1JfQkxFTkRFUjgsDQomZ3Q7JiMzMjsrT1ZMU1lTX0FEQVBU T1JfT1VUUFJPQzEsDQomZ3Q7JiMzMjsrfTsNCiZndDsmIzMyOysNCiZndDsmIzMyOytzdGF0aWMm IzMyO2NvbnN0JiMzMjt1bnNpZ25lZCYjMzI7aW50JiMzMjttdDgxOTZfbXRrX292bF90aGlyZFtd JiMzMjs9JiMzMjt7DQomZ3Q7JiMzMjsrT1ZMU1lTX0FEQVBUT1JfRVhETUExMiwNCiZndDsmIzMy OytPVkxTWVNfQURBUFRPUl9CTEVOREVSMTEsDQomZ3Q7JiMzMjsrT1ZMU1lTX0FEQVBUT1JfRVhE TUExMywNCiZndDsmIzMyOytPVkxTWVNfQURBUFRPUl9CTEVOREVSMTIsDQomZ3Q7JiMzMjsrT1ZM U1lTX0FEQVBUT1JfRVhETUExNCwNCiZndDsmIzMyOytPVkxTWVNfQURBUFRPUl9CTEVOREVSMTMs DQomZ3Q7JiMzMjsrT1ZMU1lTX0FEQVBUT1JfRVhETUExNSwNCiZndDsmIzMyOytPVkxTWVNfQURB UFRPUl9CTEVOREVSMTQsDQomZ3Q7JiMzMjsrT1ZMU1lTX0FEQVBUT1JfT1VUUFJPQzYsDQomZ3Q7 JiMzMjsrfTsNCiZndDsmIzMyOysNCiZndDsmIzMyOytzdGF0aWMmIzMyO2VudW0mIzMyO210a19v dmxzeXNfYWRhcHRvcl9jb21wX3R5cGUmIzMyO2dldF90eXBlKGVudW0mIzMyO210a19vdmxzeXNf YWRhcHRvcl9jb21wX2lkJiMzMjtpZCkNCiZndDsmIzMyOyt7DQomZ3Q7JiMzMjsrcmV0dXJuJiMz Mjtjb21wX21hdGNoZXNbaWRdLnR5cGU7DQomZ3Q7JiMzMjsrfQ0KJmd0OyYjMzI7Kw0KJmd0OyYj MzI7K3N0YXRpYyYjMzI7ZW51bSYjMzI7bXRrX2RkcF9jb21wX2lkJiMzMjtnZXRfZGRwX2NvbXBf aWQoZW51bSYjMzI7bXRrX292bHN5c19hZGFwdG9yX2NvbXBfaWQmIzMyO2lkKQ0KJmd0OyYjMzI7 K3sNCiZndDsmIzMyOytyZXR1cm4mIzMyO2NvbXBfbWF0Y2hlc1tpZF0uY29tcF9pZDsNCiZndDsm IzMyOyt9DQomZ3Q7JiMzMjsrDQomZ3Q7JiMzMjsrc3RhdGljJiMzMjtzdHJ1Y3QmIzMyO2Rldmlj ZSYjMzI7KmdldF9jb21wX2J5X3R5cGVfaWR4KHN0cnVjdCYjMzI7ZGV2aWNlJiMzMjsqZGV2LA0K Jmd0OyYjMzI7KyYjMzI7JiMzMjsmIzMyO2VudW0mIzMyO210a19vdmxzeXNfYWRhcHRvcl9jb21w X3R5cGUmIzMyO3R5cGUsDQomZ3Q7JiMzMjsrJiMzMjsmIzMyOyYjMzI7dW5zaWduZWQmIzMyO2lu dCYjMzI7aWR4KQ0KJmd0OyYjMzI7K3sNCiZndDsmIzMyOytzdHJ1Y3QmIzMyO210a19kaXNwX292 bHN5c19hZGFwdG9yJiMzMjsqcHJpdiYjMzI7PSYjMzI7ZGV2X2dldF9kcnZkYXRhKGRldik7DQom Z3Q7JiMzMjsraW50JiMzMjtpOw0KJmd0OyYjMzI7K2ludCYjMzI7Y291bnQmIzMyOz0mIzMyOzA7 DQomZ3Q7JiMzMjsrDQomZ3Q7JiMzMjsrZm9yJiMzMjsoaSYjMzI7PSYjMzI7MDsmIzMyO2kmIzMy OyZsdDsmIzMyO3ByaXYtJmd0O3BhdGhfc2l6ZTsmIzMyO2krKykmIzMyO3sNCiZndDsmIzMyOytp ZiYjMzI7KGdldF90eXBlKHByaXYtJmd0O3BhdGhbaV0pJiMzMjs9PSYjMzI7dHlwZSkmIzMyO3sN CiZndDsmIzMyOytpZiYjMzI7KGNvdW50JiMzMjs9PSYjMzI7aWR4KQ0KJmd0OyYjMzI7K3JldHVy biYjMzI7cHJpdi0mZ3Q7b3ZsX2FkYXB0b3JfY29tcFtwcml2LSZndDtwYXRoW2ldXTsNCiZndDsm IzMyOytjb3VudCsrOw0KJmd0OyYjMzI7K30NCiZndDsmIzMyOyt9DQomZ3Q7JiMzMjsrcmV0dXJu JiMzMjtOVUxMOw0KJmd0OyYjMzI7K30NCiZndDsmIzMyOysNCiZndDsmIzMyOyt2b2lkJiMzMjtt dGtfb3Zsc3lzX2FkYXB0b3JfbGF5ZXJfY29uZmlnKHN0cnVjdCYjMzI7ZGV2aWNlJiMzMjsqZGV2 LCYjMzI7dW5zaWduZWQmIzMyO2ludCYjMzI7aWR4LA0KJmd0OyYjMzI7KyYjMzI7JiMzMjsmIzMy OyYjMzI7JiMzMjtzdHJ1Y3QmIzMyO210a19wbGFuZV9zdGF0ZSYjMzI7KnN0YXRlLA0KJmd0OyYj MzI7KyYjMzI7JiMzMjsmIzMyOyYjMzI7JiMzMjtzdHJ1Y3QmIzMyO2NtZHFfcGt0JiMzMjsqY21k cV9wa3QpDQomZ3Q7JiMzMjsrew0KJmd0OyYjMzI7K3N0cnVjdCYjMzI7bXRrX3BsYW5lX3BlbmRp bmdfc3RhdGUmIzMyOypwZW5kaW5nJiMzMjs9JiMzMjsmYW1wO3N0YXRlLSZndDtwZW5kaW5nOw0K Jmd0OyYjMzI7K3N0cnVjdCYjMzI7ZGV2aWNlJiMzMjsqZXhkbWE7DQomZ3Q7JiMzMjsrc3RydWN0 JiMzMjtkZXZpY2UmIzMyOypibGVuZGVyOw0KJmd0OyYjMzI7K3Vuc2lnbmVkJiMzMjtpbnQmIzMy O2FsaWduX3dpZHRoJiMzMjs9JiMzMjswOw0KJmd0OyYjMzI7K2NvbnN0JiMzMjtzdHJ1Y3QmIzMy O2RybV9mb3JtYXRfaW5mbyYjMzI7KmZtdF9pbmZvJiMzMjs9JiMzMjtkcm1fZm9ybWF0X2luZm8o cGVuZGluZy0mZ3Q7Zm9ybWF0KTsNCiZndDsmIzMyOytzdHJ1Y3QmIzMyO210a19kaXNwX292bHN5 c19hZGFwdG9yJiMzMjsqcHJpdiYjMzI7PSYjMzI7ZGV2X2dldF9kcnZkYXRhKGRldik7DQomZ3Q7 JiMzMjsrDQomZ3Q7JiMzMjsrZGV2X2RiZyhkZXYsJiMzMjsmcXVvdDslcysmIzMyO2lkeDolZCwm IzMyO2VuYWJsZTolZCwmIzMyO2ZtdDoweCV4JiM5MjtuJnF1b3Q7LCYjMzI7X19mdW5jX18sJiMz MjtpZHgsDQomZ3Q7JiMzMjsrcGVuZGluZy0mZ3Q7ZW5hYmxlLCYjMzI7cGVuZGluZy0mZ3Q7Zm9y bWF0KTsNCiZndDsmIzMyOytkZXZfZGJnKGRldiwmIzMyOyZxdW90O2FkZHImIzMyOzB4JXBhZCwm IzMyO2ZiJiMzMjt3OiVkLCYjMzI7eyVkLCVkLCVkLCVkfSYjOTI7biZxdW90OywNCiZndDsmIzMy OysmYW1wO3BlbmRpbmctJmd0O2FkZHIsJiMzMjsocGVuZGluZy0mZ3Q7cGl0Y2gmIzMyOy8mIzMy O2ZtdF9pbmZvLSZndDtjcHBbMF0pLA0KJmd0OyYjMzI7K3BlbmRpbmctJmd0O3gsJiMzMjtwZW5k aW5nLSZndDt5LCYjMzI7cGVuZGluZy0mZ3Q7d2lkdGgsJiMzMjtwZW5kaW5nLSZndDtoZWlnaHQp Ow0KJmd0OyYjMzI7Kw0KJmd0OyYjMzI7K2V4ZG1hJiMzMjs9JiMzMjtnZXRfY29tcF9ieV90eXBl X2lkeChkZXYsJiMzMjtPVkxTWVNfQURBUFRPUl9UWVBFX0VYRE1BLCYjMzI7aWR4KTsNCiZndDsm IzMyOytibGVuZGVyJiMzMjs9JiMzMjtnZXRfY29tcF9ieV90eXBlX2lkeChkZXYsJiMzMjtPVkxT WVNfQURBUFRPUl9UWVBFX0JMRU5ERVIsJiMzMjtpZHgpOw0KJmd0OyYjMzI7Kw0KJmd0OyYjMzI7 Ky8qJiMzMjtPVkxTWVMmIzMyO2lzJiMzMjtpbiYjMzI7MVQyUCYjMzI7ZG9tYWluLCYjMzI7d2lk dGgmIzMyO25lZWRzJiMzMjt0byYjMzI7YmUmIzMyOzImIzMyO3BpeGVscyYjMzI7YWxpZ24mIzMy OyovDQomZ3Q7JiMzMjsrYWxpZ25fd2lkdGgmIzMyOz0mIzMyO0FMSUdOX0RPV04ocGVuZGluZy0m Z3Q7d2lkdGgsJiMzMjsyKTsNCg0KYWxpZ25fd2lkdGgmIzMyO2lzJiMzMjt1c2VsZXNzLCYjMzI7 c28mIzMyO2Ryb3AmIzMyO2l0Lg0KDQomZ3Q7JiMzMjsrDQomZ3Q7JiMzMjsraWYmIzMyOyghcGVu ZGluZy0mZ3Q7ZW5hYmxlJiMzMjt8fCYjMzI7cGVuZGluZy0mZ3Q7aGVpZ2h0JiMzMjs9PSYjMzI7 MCYjMzI7fHwmIzMyO2FsaWduX3dpZHRoJiMzMjs9PSYjMzI7MCYjMzI7fHwNCiZndDsmIzMyOysm IzMyOyYjMzI7JiMzMjsmIzMyO3BlbmRpbmctJmd0O3gmIzMyOyZndDsmIzMyO3ByaXYtJmd0O21h eF9zaXplJiMzMjt8fCYjMzI7cGVuZGluZy0mZ3Q7eSYjMzI7Jmd0OyYjMzI7cHJpdi0mZ3Q7bWF4 X3NpemUpJiMzMjt7DQomZ3Q7JiMzMjsrcGVuZGluZy0mZ3Q7ZW5hYmxlJiMzMjs9JiMzMjtmYWxz ZTsNCiZndDsmIzMyOyttdGtfZGlzcF9leGRtYV9zdG9wKGV4ZG1hLCYjMzI7Y21kcV9wa3QpOw0K Jmd0OyYjMzI7K210a19kaXNwX2JsZW5kZXJfbGF5ZXJfY29uZmlnKGJsZW5kZXIsJiMzMjtzdGF0 ZSwmIzMyO2NtZHFfcGt0KTsNCiZndDsmIzMyOytyZXR1cm47DQomZ3Q7JiMzMjsrfQ0KJmd0OyYj MzI7Kw0KJmd0OyYjMzI7K210a19kaXNwX2V4ZG1hX2NvbmZpZyhleGRtYSwmIzMyO3N0YXRlLCYj MzI7Y21kcV9wa3QpOw0KDQptdGtfZGlzcF9leGRtYV9jb25maWcoKSYjMzI7ZG9lcyYjMzI7c29t ZXRoaW5nJiMzMjtsaWtlJiMzMjttdGtfb3ZsX2xheWVyX2NvbmZpZygpLCYjMzI7c28mIzMyO0km IzMyO3dvdWxkJiMzMjtsaWtlJiMzMjt0byYjMzI7cmVuYW1lJiMzMjtpdCYjMzI7dG8mIzMyO210 a19kaXNwX2V4ZG1hX2xheWVyX2NvbmZpZygpLg0KDQomZ3Q7JiMzMjsrDQomZ3Q7JiMzMjsrbXRr X2Rpc3BfYmxlbmRlcl9sYXllcl9jb25maWcoYmxlbmRlciwmIzMyO3N0YXRlLCYjMzI7Y21kcV9w a3QpOw0KJmd0OyYjMzI7Kw0KJmd0OyYjMzI7K210a19kaXNwX2V4ZG1hX3N0YXJ0KGV4ZG1hLCYj MzI7Y21kcV9wa3QpOw0KDQpXaHkmIzMyO2NhbGwmIzMyO3N0YXJ0JiMzMjtpbiYjMzI7bGF5ZXIm IzMyO2NvbmZpZyYjNjM7DQpzdGFydCYjMzI7c2hvdWxkJiMzMjtiZSYjMzI7Y2FsbGVkJiMzMjtp biYjMzI7c3RhcnQuDQoNCiZndDsmIzMyOyttdGtfZGlzcF9ibGVuZGVyX3N0YXJ0KGJsZW5kZXIs JiMzMjtjbWRxX3BrdCk7DQoNCkRpdHRvLg0KDQomZ3Q7JiMzMjsrfQ0KJmd0OyYjMzI7Kw0KJmd0 OyYjMzI7K3ZvaWQmIzMyO210a19vdmxzeXNfYWRhcHRvcl9jb25maWcoc3RydWN0JiMzMjtkZXZp Y2UmIzMyOypkZXYsJiMzMjt1bnNpZ25lZCYjMzI7aW50JiMzMjt3LA0KJmd0OyYjMzI7KyYjMzI7 JiMzMjsmIzMyOyYjMzI7JiMzMjsmIzMyOyYjMzI7dW5zaWduZWQmIzMyO2ludCYjMzI7aCwmIzMy O3Vuc2lnbmVkJiMzMjtpbnQmIzMyO3ZyZWZyZXNoLA0KJmd0OyYjMzI7KyYjMzI7JiMzMjsmIzMy OyYjMzI7JiMzMjsmIzMyOyYjMzI7dW5zaWduZWQmIzMyO2ludCYjMzI7YnBjLCYjMzI7c3RydWN0 JiMzMjtjbWRxX3BrdCYjMzI7KmNtZHFfcGt0KQ0KJmd0OyYjMzI7K3sNCiZndDsmIzMyOytzdHJ1 Y3QmIzMyO210a19kaXNwX292bHN5c19hZGFwdG9yJiMzMjsqcHJpdiYjMzI7PSYjMzI7ZGV2X2dl dF9kcnZkYXRhKGRldik7DQomZ3Q7JiMzMjsraW50JiMzMjtpOw0KJmd0OyYjMzI7K2ludCYjMzI7 YmxlbmRlcl9pZHgmIzMyOz0mIzMyOzA7DQomZ3Q7JiMzMjsrDQomZ3Q7JiMzMjsrZm9yJiMzMjso aSYjMzI7PSYjMzI7MDsmIzMyO2kmIzMyOyZsdDsmIzMyO3ByaXYtJmd0O3BhdGhfc2l6ZTsmIzMy O2krKykmIzMyO3sNCiZndDsmIzMyOytlbnVtJiMzMjttdGtfZGlzcF9ibGVuZGVyX2xheWVyJiMz MjtibGVuZGVyOw0KJmd0OyYjMzI7Kw0KJmd0OyYjMzI7K2lmJiMzMjsoZ2V0X3R5cGUocHJpdi0m Z3Q7cGF0aFtpXSkmIzMyOz09JiMzMjtPVkxTWVNfQURBUFRPUl9UWVBFX0JMRU5ERVIpJiMzMjt7 DQomZ3Q7JiMzMjsrYmxlbmRlcl9pZHgrKzsNCiZndDsmIzMyOytpZiYjMzI7KHByaXYtJmd0O2xh eWVyX25yJiMzMjs9PSYjMzI7MSkNCiZndDsmIzMyOytibGVuZGVyJiMzMjs9JiMzMjtTSU5HTEVf QkxFTkRFUjsNCiZndDsmIzMyOytlbHNlJiMzMjtpZiYjMzI7KGJsZW5kZXJfaWR4JiMzMjs9PSYj MzI7MSkNCiZndDsmIzMyOytibGVuZGVyJiMzMjs9JiMzMjtGSVJTVF9CTEVOREVSOw0KJmd0OyYj MzI7K2Vsc2UmIzMyO2lmJiMzMjsoYmxlbmRlcl9pZHgmIzMyOz09JiMzMjtwcml2LSZndDtsYXll cl9ucikNCiZndDsmIzMyOytibGVuZGVyJiMzMjs9JiMzMjtMQVNUX0JMRU5ERVI7DQomZ3Q7JiMz MjsrZWxzZQ0KJmd0OyYjMzI7K2JsZW5kZXImIzMyOz0mIzMyO09USEVSUzsNCiZndDsmIzMyOysN CiZndDsmIzMyOyttdGtfZGlzcF9ibGVuZGVyX2NvbmZpZyhwcml2LSZndDtvdmxfYWRhcHRvcl9j b21wW3ByaXYtJmd0O3BhdGhbaV1dLCYjMzI7dywmIzMyO2gsDQomZ3Q7JiMzMjsrdnJlZnJlc2gs JiMzMjticGMsJiMzMjtibGVuZGVyLCYjMzI7Y21kcV9wa3QpOw0KDQptdGtfZGlzcF9ibGVuZGVy X2NvbmZpZyhwcml2LSZndDtvdmxfYWRhcHRvcl9jb21wW3ByaXYtJmd0O3BhdGhbaV1dLCYjMzI7 dywmIzMyO2gsDQp2cmVmcmVzaCwmIzMyO2JwYywmIzMyO2JsZW5kZXJfaWR4JiMzMjs9PSYjMzI7 MSwmIzMyO2JsZW5kZXJfaWR4JiMzMjs9PSYjMzI7cHJpdi0mZ3Q7bGF5ZXJfbnIsJiMzMjtjbWRx X3BrdCk7DQoNCiZndDsmIzMyOyt9JiMzMjtlbHNlJiMzMjtpZiYjMzI7KGdldF90eXBlKHByaXYt Jmd0O3BhdGhbaV0pJiMzMjs9PSYjMzI7T1ZMU1lTX0FEQVBUT1JfVFlQRV9PVVRQUk9DKSYjMzI7 ew0KJmd0OyYjMzI7K210a19kaXNwX291dHByb2NfY29uZmlnKHByaXYtJmd0O292bF9hZGFwdG9y X2NvbXBbcHJpdi0mZ3Q7cGF0aFtpXV0sJiMzMjt3LCYjMzI7aCwNCiZndDsmIzMyOyt2cmVmcmVz aCwmIzMyO2JwYywmIzMyO2NtZHFfcGt0KTsNCiZndDsmIzMyOyt9DQomZ3Q7JiMzMjsrfQ0KJmd0 OyYjMzI7K30NCiZndDsmIzMyOysNCiZndDsmIzMyOytpbnQmIzMyO210a19vdmxzeXNfYWRhcHRv cl9sYXllcl9jaGVjayhzdHJ1Y3QmIzMyO2RldmljZSYjMzI7KmRldiwNCiZndDsmIzMyOysmIzMy OyYjMzI7JiMzMjt1bnNpZ25lZCYjMzI7aW50JiMzMjtpZHgsDQomZ3Q7JiMzMjsrJiMzMjsmIzMy OyYjMzI7c3RydWN0JiMzMjttdGtfcGxhbmVfc3RhdGUmIzMyOyptdGtfc3RhdGUpDQomZ3Q7JiMz Mjsrew0KJmd0OyYjMzI7K3N0cnVjdCYjMzI7ZHJtX3BsYW5lX3N0YXRlJiMzMjsqc3RhdGUmIzMy Oz0mIzMyOyZhbXA7bXRrX3N0YXRlLSZndDtiYXNlOw0KJmd0OyYjMzI7Kw0KJmd0OyYjMzI7Ky8q JiMzMjtDaGVjayYjMzI7aWYmIzMyO2FueSYjMzI7dW5zdXBwb3J0ZWQmIzMyO3JvdGF0aW9uJiMz MjtpcyYjMzI7c2V0JiMzMjsqLw0KJmd0OyYjMzI7K2lmJiMzMjsoc3RhdGUtJmd0O3JvdGF0aW9u JiMzMjsmYW1wOyYjMzI7JiMxMjY7RFJNX01PREVfUk9UQVRFXzApDQomZ3Q7JiMzMjsrcmV0dXJu JiMzMjstRUlOVkFMOw0KJmd0OyYjMzI7Kw0KJmd0OyYjMzI7K3JldHVybiYjMzI7MDsNCiZndDsm IzMyOyt9DQomZ3Q7JiMzMjsrDQomZ3Q7JiMzMjsrdm9pZCYjMzI7bXRrX292bHN5c19hZGFwdG9y X3N0YXJ0KHN0cnVjdCYjMzI7ZGV2aWNlJiMzMjsqZGV2KQ0KJmd0OyYjMzI7K3sNCiZndDsmIzMy OytzdHJ1Y3QmIzMyO210a19kaXNwX292bHN5c19hZGFwdG9yJiMzMjsqcHJpdiYjMzI7PSYjMzI7 ZGV2X2dldF9kcnZkYXRhKGRldik7DQomZ3Q7JiMzMjsraW50JiMzMjtpOw0KJmd0OyYjMzI7Kw0K Jmd0OyYjMzI7K2ZvciYjMzI7KGkmIzMyOz0mIzMyOzA7JiMzMjtpJiMzMjsmbHQ7JiMzMjtwcml2 LSZndDtwYXRoX3NpemU7JiMzMjtpKyspJiMzMjt7DQomZ3Q7JiMzMjsraWYmIzMyOyhnZXRfdHlw ZShwcml2LSZndDtwYXRoW2ldKSYjMzI7PT0mIzMyO09WTFNZU19BREFQVE9SX1RZUEVfRVhETUEp DQomZ3Q7JiMzMjsrbXRrX2Rpc3BfZXhkbWFfc3RhcnQocHJpdi0mZ3Q7b3ZsX2FkYXB0b3JfY29t cFtwcml2LSZndDtwYXRoW2ldXSwmIzMyO05VTEwpOw0KDQpUaGUmIzMyO3N0YXJ0JiMzMjtuZXZl ciYjMzI7dXNlJiMzMjtjbWRxLCYjMzI7c28mIzMyO3JlbW92ZSYjMzI7dGhlJiMzMjtjbWRxJiMz MjtwYXJhbWV0ZXIuDQoNCiZndDsmIzMyOytlbHNlJiMzMjtpZiYjMzI7KGdldF90eXBlKHByaXYt Jmd0O3BhdGhbaV0pJiMzMjs9PSYjMzI7T1ZMU1lTX0FEQVBUT1JfVFlQRV9CTEVOREVSKQ0KJmd0 OyYjMzI7K210a19kaXNwX2JsZW5kZXJfc3RhcnQocHJpdi0mZ3Q7b3ZsX2FkYXB0b3JfY29tcFtw cml2LSZndDtwYXRoW2ldXSwmIzMyO05VTEwpOw0KDQpEaXR0by4NCg0KJmd0OyYjMzI7K2Vsc2UN CiZndDsmIzMyOyttdGtfZGlzcF9vdXRwcm9jX3N0YXJ0KHByaXYtJmd0O292bF9hZGFwdG9yX2Nv bXBbcHJpdi0mZ3Q7cGF0aFtpXV0pOw0KJmd0OyYjMzI7K30NCiZndDsmIzMyOyt9DQomZ3Q7JiMz MjsrDQomZ3Q7JiMzMjsrdm9pZCYjMzI7bXRrX292bHN5c19hZGFwdG9yX3N0b3Aoc3RydWN0JiMz MjtkZXZpY2UmIzMyOypkZXYpDQomZ3Q7JiMzMjsrew0KJmd0OyYjMzI7K3N0cnVjdCYjMzI7bXRr X2Rpc3Bfb3Zsc3lzX2FkYXB0b3ImIzMyOypwcml2JiMzMjs9JiMzMjtkZXZfZ2V0X2RydmRhdGEo ZGV2KTsNCiZndDsmIzMyOytpbnQmIzMyO2k7DQomZ3Q7JiMzMjsrDQomZ3Q7JiMzMjsrZm9yJiMz MjsoaSYjMzI7PSYjMzI7MDsmIzMyO2kmIzMyOyZsdDsmIzMyO3ByaXYtJmd0O3BhdGhfc2l6ZTsm IzMyO2krKykmIzMyO3sNCiZndDsmIzMyOytpZiYjMzI7KGdldF90eXBlKHByaXYtJmd0O3BhdGhb aV0pJiMzMjs9PSYjMzI7T1ZMU1lTX0FEQVBUT1JfVFlQRV9FWERNQSkNCiZndDsmIzMyOyttdGtf ZGlzcF9leGRtYV9zdG9wKHByaXYtJmd0O292bF9hZGFwdG9yX2NvbXBbcHJpdi0mZ3Q7cGF0aFtp XV0sJiMzMjtOVUxMKTsNCg0KRGl0dG8uDQoNCiZndDsmIzMyOytlbHNlJiMzMjtpZiYjMzI7KGdl dF90eXBlKHByaXYtJmd0O3BhdGhbaV0pJiMzMjs9PSYjMzI7T1ZMU1lTX0FEQVBUT1JfVFlQRV9C TEVOREVSKQ0KJmd0OyYjMzI7K210a19kaXNwX2JsZW5kZXJfc3RvcChwcml2LSZndDtvdmxfYWRh cHRvcl9jb21wW3ByaXYtJmd0O3BhdGhbaV1dLCYjMzI7TlVMTCk7DQoNCkRpdHRvLg0KDQomZ3Q7 JiMzMjsrZWxzZQ0KJmd0OyYjMzI7K210a19kaXNwX291dHByb2Nfc3RvcChwcml2LSZndDtvdmxf YWRhcHRvcl9jb21wW3ByaXYtJmd0O3BhdGhbaV1dKTsNCiZndDsmIzMyOyt9DQomZ3Q7JiMzMjsr fQ0KJmd0OyYjMzI7Kw0KJmd0OyYjMzI7K2ludCYjMzI7bXRrX292bHN5c19hZGFwdG9yX2Nsa19l bmFibGUoc3RydWN0JiMzMjtkZXZpY2UmIzMyOypkZXYpDQomZ3Q7JiMzMjsrew0KJmd0OyYjMzI7 K3N0cnVjdCYjMzI7bXRrX2Rpc3Bfb3Zsc3lzX2FkYXB0b3ImIzMyOypwcml2JiMzMjs9JiMzMjtk ZXZfZ2V0X2RydmRhdGEoZGV2KTsNCiZndDsmIzMyOytzdHJ1Y3QmIzMyO2RldmljZSYjMzI7KmNv bXA7DQomZ3Q7JiMzMjsraW50JiMzMjtyZXQ7DQomZ3Q7JiMzMjsraW50JiMzMjtpOw0KJmd0OyYj MzI7Kw0KJmd0OyYjMzI7K2ZvciYjMzI7KGkmIzMyOz0mIzMyOzA7JiMzMjtpJiMzMjsmbHQ7JiMz MjtPVkxTWVNfQURBUFRPUl9JRF9NQVg7JiMzMjtpKyspJiMzMjt7DQomZ3Q7JiMzMjsrY29tcCYj MzI7PSYjMzI7cHJpdi0mZ3Q7b3ZsX2FkYXB0b3JfY29tcFtpXTsNCiZndDsmIzMyOysNCiZndDsm IzMyOytpZiYjMzI7KCFjb21wKQ0KJmd0OyYjMzI7K2NvbnRpbnVlOw0KJmd0OyYjMzI7Kw0KJmd0 OyYjMzI7K2lmJiMzMjsoZ2V0X3R5cGUoaSkmIzMyOyE9JiMzMjtPVkxTWVNfQURBUFRPUl9UWVBF X0VYRE1BKQ0KJmd0OyYjMzI7K2NvbnRpbnVlOw0KJmd0OyYjMzI7Kw0KJmd0OyYjMzI7K3JldCYj MzI7PSYjMzI7cG1fcnVudGltZV9nZXRfc3luYyhjb21wKTsNCg0KUmVmZXImIzMyO3RvJiMzMjtt dGtfb3ZsX2FkYXB0b3JfcG93ZXJfb24oKS4NClRoaXMmIzMyO3Nob3VsZCYjMzI7YmUmIzMyO2Rv bmUmIzMyO2luJiMzMjtwb3dlcl9vbigpJiMzMjtjYWxsYmFjayYjMzI7ZnVuY3Rpb24uDQoNCiZn dDsmIzMyOytpZiYjMzI7KHJldCYjMzI7Jmx0OyYjMzI7MCkmIzMyO3sNCiZndDsmIzMyOytkZXZf ZXJyKGRldiwmIzMyOyZxdW90O0ZhaWxlZCYjMzI7dG8mIzMyO2VuYWJsZSYjMzI7cG93ZXImIzMy O2RvbWFpbiYjMzI7JWQsJiMzMjtlcnImIzMyOyVkJiM5MjtuJnF1b3Q7LCYjMzI7aSwmIzMyO3Jl dCk7DQomZ3Q7JiMzMjsrZ290byYjMzI7cHdyX2VycjsNCiZndDsmIzMyOyt9DQomZ3Q7JiMzMjsr fQ0KJmd0OyYjMzI7Kw0KJmd0OyYjMzI7K2ZvciYjMzI7KGkmIzMyOz0mIzMyOzA7JiMzMjtpJiMz MjsmbHQ7JiMzMjtPVkxTWVNfQURBUFRPUl9JRF9NQVg7JiMzMjtpKyspJiMzMjt7DQomZ3Q7JiMz MjsrY29tcCYjMzI7PSYjMzI7cHJpdi0mZ3Q7b3ZsX2FkYXB0b3JfY29tcFtpXTsNCiZndDsmIzMy OysNCiZndDsmIzMyOytpZiYjMzI7KCFjb21wKQ0KJmd0OyYjMzI7K2NvbnRpbnVlOw0KJmd0OyYj MzI7Kw0KJmd0OyYjMzI7K2lmJiMzMjsoZ2V0X3R5cGUoaSkmIzMyOz09JiMzMjtPVkxTWVNfQURB UFRPUl9UWVBFX0VYRE1BKQ0KJmd0OyYjMzI7K3JldCYjMzI7PSYjMzI7bXRrX2Rpc3BfZXhkbWFf Y2xrX2VuYWJsZShjb21wKTsNCiZndDsmIzMyOytlbHNlJiMzMjtpZiYjMzI7KGdldF90eXBlKGkp JiMzMjs9PSYjMzI7T1ZMU1lTX0FEQVBUT1JfVFlQRV9CTEVOREVSKQ0KJmd0OyYjMzI7K3JldCYj MzI7PSYjMzI7bXRrX2Rpc3BfYmxlbmRlcl9jbGtfZW5hYmxlKGNvbXApOw0KJmd0OyYjMzI7K2Vs c2UNCiZndDsmIzMyOytyZXQmIzMyOz0mIzMyO210a19kaXNwX291dHByb2NfY2xrX2VuYWJsZShj b21wKTsNCiZndDsmIzMyOysNCiZndDsmIzMyOytpZiYjMzI7KHJldCkmIzMyO3sNCiZndDsmIzMy OytkZXZfZXJyKGRldiwmIzMyOyZxdW90O0ZhaWxlZCYjMzI7dG8mIzMyO2VuYWJsZSYjMzI7Y2xv Y2smIzMyOyVkLCYjMzI7ZXJyJiMzMjslZCYjOTI7biZxdW90OywmIzMyO2ksJiMzMjtyZXQpOw0K Jmd0OyYjMzI7K2dvdG8mIzMyO2Nsa19lcnI7DQomZ3Q7JiMzMjsrfQ0KJmd0OyYjMzI7K30NCiZn dDsmIzMyOysNCiZndDsmIzMyOytyZXR1cm4mIzMyO3JldDsNCiZndDsmIzMyOysNCiZndDsmIzMy OytjbGtfZXJyOg0KJmd0OyYjMzI7K3doaWxlJiMzMjsoLS1pJiMzMjsmZ3Q7PSYjMzI7MCkmIzMy O3sNCiZndDsmIzMyOytjb21wJiMzMjs9JiMzMjtwcml2LSZndDtvdmxfYWRhcHRvcl9jb21wW2ld Ow0KJmd0OyYjMzI7K2lmJiMzMjsoIWNvbXApDQomZ3Q7JiMzMjsrY29udGludWU7DQomZ3Q7JiMz MjsraWYmIzMyOyhnZXRfdHlwZShpKSYjMzI7PT0mIzMyO09WTFNZU19BREFQVE9SX1RZUEVfRVhE TUEpDQomZ3Q7JiMzMjsrbXRrX2Rpc3BfZXhkbWFfY2xrX2Rpc2FibGUoY29tcCk7DQomZ3Q7JiMz MjsrZWxzZSYjMzI7aWYmIzMyOyhnZXRfdHlwZShpKSYjMzI7PT0mIzMyO09WTFNZU19BREFQVE9S X1RZUEVfQkxFTkRFUikNCiZndDsmIzMyOyttdGtfZGlzcF9ibGVuZGVyX2Nsa19kaXNhYmxlKGNv bXApOw0KJmd0OyYjMzI7K2Vsc2UNCiZndDsmIzMyOyttdGtfZGlzcF9vdXRwcm9jX2Nsa19kaXNh YmxlKGNvbXApOw0KJmd0OyYjMzI7K30NCiZndDsmIzMyOytpJiMzMjs9JiMzMjtPVkxTWVNfQURB UFRPUl9CTEVOREVSMDsNCiZndDsmIzMyOysNCiZndDsmIzMyOytwd3JfZXJyOg0KJmd0OyYjMzI7 K3doaWxlJiMzMjsoLS1pJiMzMjsmZ3Q7PSYjMzI7MCkmIzMyO3sNCiZndDsmIzMyOytjb21wJiMz Mjs9JiMzMjtwcml2LSZndDtvdmxfYWRhcHRvcl9jb21wW2ldOw0KJmd0OyYjMzI7K2lmJiMzMjso IWNvbXApDQomZ3Q7JiMzMjsrY29udGludWU7DQomZ3Q7JiMzMjsrcG1fcnVudGltZV9wdXQocHJp di0mZ3Q7b3ZsX2FkYXB0b3JfY29tcFtpXSk7DQomZ3Q7JiMzMjsrfQ0KJmd0OyYjMzI7Kw0KJmd0 OyYjMzI7K3JldHVybiYjMzI7cmV0Ow0KJmd0OyYjMzI7K30NCiZndDsmIzMyOysNCiZndDsmIzMy Oyt2b2lkJiMzMjttdGtfb3Zsc3lzX2FkYXB0b3JfY2xrX2Rpc2FibGUoc3RydWN0JiMzMjtkZXZp Y2UmIzMyOypkZXYpDQomZ3Q7JiMzMjsrew0KJmd0OyYjMzI7K3N0cnVjdCYjMzI7bXRrX2Rpc3Bf b3Zsc3lzX2FkYXB0b3ImIzMyOypwcml2JiMzMjs9JiMzMjtkZXZfZ2V0X2RydmRhdGEoZGV2KTsN CiZndDsmIzMyOytzdHJ1Y3QmIzMyO2RldmljZSYjMzI7KmNvbXA7DQomZ3Q7JiMzMjsraW50JiMz MjtpOw0KJmd0OyYjMzI7Kw0KJmd0OyYjMzI7K2ZvciYjMzI7KGkmIzMyOz0mIzMyOzA7JiMzMjtp JiMzMjsmbHQ7JiMzMjtPVkxTWVNfQURBUFRPUl9JRF9NQVg7JiMzMjtpKyspJiMzMjt7DQomZ3Q7 JiMzMjsrY29tcCYjMzI7PSYjMzI7cHJpdi0mZ3Q7b3ZsX2FkYXB0b3JfY29tcFtpXTsNCiZndDsm IzMyOysNCiZndDsmIzMyOytpZiYjMzI7KCFjb21wKQ0KJmd0OyYjMzI7K2NvbnRpbnVlOw0KJmd0 OyYjMzI7Kw0KJmd0OyYjMzI7K2lmJiMzMjsoZ2V0X3R5cGUoaSkmIzMyOz09JiMzMjtPVkxTWVNf QURBUFRPUl9UWVBFX0VYRE1BKSYjMzI7ew0KJmd0OyYjMzI7K210a19kaXNwX2V4ZG1hX2Nsa19k aXNhYmxlKGNvbXApOw0KJmd0OyYjMzI7K3BtX3J1bnRpbWVfcHV0KGNvbXApOw0KJmd0OyYjMzI7 K30mIzMyO2Vsc2UmIzMyO2lmJiMzMjsoZ2V0X3R5cGUoaSkmIzMyOz09JiMzMjtPVkxTWVNfQURB UFRPUl9UWVBFX0JMRU5ERVIpJiMzMjt7DQomZ3Q7JiMzMjsrbXRrX2Rpc3BfYmxlbmRlcl9jbGtf ZGlzYWJsZShjb21wKTsNCiZndDsmIzMyOyt9JiMzMjtlbHNlJiMzMjt7DQomZ3Q7JiMzMjsrbXRr X2Rpc3Bfb3V0cHJvY19jbGtfZGlzYWJsZShjb21wKTsNCiZndDsmIzMyOyt9DQomZ3Q7JiMzMjsr fQ0KJmd0OyYjMzI7K30NCiZndDsmIzMyOysNCiZndDsmIzMyOyt1bnNpZ25lZCYjMzI7aW50JiMz MjttdGtfb3Zsc3lzX2FkYXB0b3JfbGF5ZXJfbnIoc3RydWN0JiMzMjtkZXZpY2UmIzMyOypkZXYp DQomZ3Q7JiMzMjsrew0KJmd0OyYjMzI7K3N0cnVjdCYjMzI7bXRrX2Rpc3Bfb3Zsc3lzX2FkYXB0 b3ImIzMyOypwcml2JiMzMjs9JiMzMjtkZXZfZ2V0X2RydmRhdGEoZGV2KTsNCiZndDsmIzMyOysN CiZndDsmIzMyOytyZXR1cm4mIzMyO3ByaXYtJmd0O2xheWVyX25yOw0KJmd0OyYjMzI7K30NCiZn dDsmIzMyOysNCiZndDsmIzMyOytzdHJ1Y3QmIzMyO2RldmljZSYjMzI7Km10a19vdmxzeXNfYWRh cHRvcl9kbWFfZGV2X2dldChzdHJ1Y3QmIzMyO2RldmljZSYjMzI7KmRldikNCiZndDsmIzMyOyt7 DQomZ3Q7JiMzMjsrc3RydWN0JiMzMjttdGtfZGlzcF9vdmxzeXNfYWRhcHRvciYjMzI7KnByaXYm IzMyOz0mIzMyO2Rldl9nZXRfZHJ2ZGF0YShkZXYpOw0KJmd0OyYjMzI7Kw0KJmd0OyYjMzI7K3Jl dHVybiYjMzI7cHJpdi0mZ3Q7b3ZsX2FkYXB0b3JfY29tcFtwcml2LSZndDtwYXRoWzBdXTsNCiZn dDsmIzMyOyt9DQomZ3Q7JiMzMjsrDQomZ3Q7JiMzMjsrdm9pZCYjMzI7bXRrX292bHN5c19hZGFw dG9yX3JlZ2lzdGVyX3ZibGFua19jYihzdHJ1Y3QmIzMyO2RldmljZSYjMzI7KmRldiwmIzMyO3Zv aWQmIzMyOygqdmJsYW5rX2NiKSh2b2lkJiMzMjsqKSwNCiZndDsmIzMyOysmIzMyOyYjMzI7JiMz Mjt2b2lkJiMzMjsqdmJsYW5rX2NiX2RhdGEpDQomZ3Q7JiMzMjsrew0KJmd0OyYjMzI7K3N0cnVj dCYjMzI7bXRrX2Rpc3Bfb3Zsc3lzX2FkYXB0b3ImIzMyOypwcml2JiMzMjs9JiMzMjtkZXZfZ2V0 X2RydmRhdGEoZGV2KTsNCiZndDsmIzMyOysNCiZndDsmIzMyOyttdGtfZGlzcF9vdXRwcm9jX3Jl Z2lzdGVyX3ZibGFua19jYihwcml2LSZndDtvdmxfYWRhcHRvcl9jb21wW3ByaXYtJmd0O3BhdGhb cHJpdi0mZ3Q7cGF0aF9zaXplJiMzMjstJiMzMjsxXV0sDQomZ3Q7JiMzMjsrJiMzMjsmIzMyOyYj MzI7JiMzMjt2YmxhbmtfY2IsJiMzMjt2YmxhbmtfY2JfZGF0YSk7DQomZ3Q7JiMzMjsrfQ0KJmd0 OyYjMzI7Kw0KJmd0OyYjMzI7K3ZvaWQmIzMyO210a19vdmxzeXNfYWRhcHRvcl91bnJlZ2lzdGVy X3ZibGFua19jYihzdHJ1Y3QmIzMyO2RldmljZSYjMzI7KmRldikNCiZndDsmIzMyOyt7DQomZ3Q7 JiMzMjsrc3RydWN0JiMzMjttdGtfZGlzcF9vdmxzeXNfYWRhcHRvciYjMzI7KnByaXYmIzMyOz0m IzMyO2Rldl9nZXRfZHJ2ZGF0YShkZXYpOw0KJmd0OyYjMzI7K3N0cnVjdCYjMzI7ZGV2aWNlJiMz MjsqY29tcCYjMzI7PSYjMzI7cHJpdi0mZ3Q7b3ZsX2FkYXB0b3JfY29tcFtwcml2LSZndDtwYXRo W3ByaXYtJmd0O3BhdGhfc2l6ZSYjMzI7LSYjMzI7MV1dOw0KJmd0OyYjMzI7Kw0KJmd0OyYjMzI7 K2lmJiMzMjsoIXByaXYtJmd0O2NoaWxkcmVuX2JvdW5kKQ0KDQpJbiYjMzI7b3ZsJiMzMjthZGFw dG9yLCYjMzI7aXQmIzMyO2RvZXMmIzMyO25vdCYjMzI7Y2hlY2smIzMyO3RoaXMuJiMzMjtTbyYj MzI7cmVtb3ZlJiMzMjt0aGlzJiMzMjtjaGVja2luZy4NCg0KJmd0OyYjMzI7K3JldHVybjsNCiZn dDsmIzMyOysNCiZndDsmIzMyOyttdGtfZGlzcF9vdXRwcm9jX3VucmVnaXN0ZXJfdmJsYW5rX2Ni KGNvbXApOw0KJmd0OyYjMzI7K30NCiZndDsmIzMyOysNCiZndDsmIzMyOyt2b2lkJiMzMjttdGtf b3Zsc3lzX2FkYXB0b3JfZW5hYmxlX3ZibGFuayhzdHJ1Y3QmIzMyO2RldmljZSYjMzI7KmRldikN CiZndDsmIzMyOyt7DQomZ3Q7JiMzMjsrc3RydWN0JiMzMjttdGtfZGlzcF9vdmxzeXNfYWRhcHRv ciYjMzI7KnByaXYmIzMyOz0mIzMyO2Rldl9nZXRfZHJ2ZGF0YShkZXYpOw0KJmd0OyYjMzI7Kw0K Jmd0OyYjMzI7K210a19kaXNwX291dHByb2NfZW5hYmxlX3ZibGFuayhwcml2LSZndDtvdmxfYWRh cHRvcl9jb21wW3ByaXYtJmd0O3BhdGhbcHJpdi0mZ3Q7cGF0aF9zaXplJiMzMjstJiMzMjsxXV0p Ow0KJmd0OyYjMzI7K30NCiZndDsmIzMyOysNCiZndDsmIzMyOyt2b2lkJiMzMjttdGtfb3Zsc3lz X2FkYXB0b3JfZGlzYWJsZV92Ymxhbmsoc3RydWN0JiMzMjtkZXZpY2UmIzMyOypkZXYpDQomZ3Q7 JiMzMjsrew0KJmd0OyYjMzI7K3N0cnVjdCYjMzI7bXRrX2Rpc3Bfb3Zsc3lzX2FkYXB0b3ImIzMy Oypwcml2JiMzMjs9JiMzMjtkZXZfZ2V0X2RydmRhdGEoZGV2KTsNCiZndDsmIzMyOysNCiZndDsm IzMyOyttdGtfZGlzcF9vdXRwcm9jX2Rpc2FibGVfdmJsYW5rKHByaXYtJmd0O292bF9hZGFwdG9y X2NvbXBbcHJpdi0mZ3Q7cGF0aFtwcml2LSZndDtwYXRoX3NpemUmIzMyOy0mIzMyOzFdXSk7DQom Z3Q7JiMzMjsrfQ0KJmd0OyYjMzI7Kw0KJmd0OyYjMzI7K2NvbnN0JiMzMjt1MzImIzMyOyptdGtf b3Zsc3lzX2FkYXB0b3JfZ2V0X2Zvcm1hdHMoc3RydWN0JiMzMjtkZXZpY2UmIzMyOypkZXYpDQom Z3Q7JiMzMjsrew0KJmd0OyYjMzI7K3N0cnVjdCYjMzI7bXRrX2Rpc3Bfb3Zsc3lzX2FkYXB0b3Im IzMyOypwcml2JiMzMjs9JiMzMjtkZXZfZ2V0X2RydmRhdGEoZGV2KTsNCiZndDsmIzMyOysNCiZn dDsmIzMyOytyZXR1cm4mIzMyO210a19kaXNwX2V4ZG1hX2dldF9mb3JtYXRzKHByaXYtJmd0O292 bF9hZGFwdG9yX2NvbXBbcHJpdi0mZ3Q7cGF0aFswXV0pOw0KJmd0OyYjMzI7K30NCiZndDsmIzMy OysNCiZndDsmIzMyOytzaXplX3QmIzMyO210a19vdmxzeXNfYWRhcHRvcl9nZXRfbnVtX2Zvcm1h dHMoc3RydWN0JiMzMjtkZXZpY2UmIzMyOypkZXYpDQomZ3Q7JiMzMjsrew0KJmd0OyYjMzI7K3N0 cnVjdCYjMzI7bXRrX2Rpc3Bfb3Zsc3lzX2FkYXB0b3ImIzMyOypwcml2JiMzMjs9JiMzMjtkZXZf Z2V0X2RydmRhdGEoZGV2KTsNCiZndDsmIzMyOysNCiZndDsmIzMyOytyZXR1cm4mIzMyO210a19k aXNwX2V4ZG1hX2dldF9udW1fZm9ybWF0cyhwcml2LSZndDtvdmxfYWRhcHRvcl9jb21wW3ByaXYt Jmd0O3BhdGhbMF1dKTsNCiZndDsmIzMyOyt9DQomZ3Q7JiMzMjsrDQomZ3Q7JiMzMjsrdm9pZCYj MzI7bXRrX292bHN5c19hZGFwdG9yX2FkZF9jb21wKHN0cnVjdCYjMzI7ZGV2aWNlJiMzMjsqZGV2 LCYjMzI7c3RydWN0JiMzMjttdGtfbXV0ZXgmIzMyOyptdXRleCkNCiZndDsmIzMyOyt7DQomZ3Q7 JiMzMjsrc3RydWN0JiMzMjttdGtfZGlzcF9vdmxzeXNfYWRhcHRvciYjMzI7KnByaXYmIzMyOz0m IzMyO2Rldl9nZXRfZHJ2ZGF0YShkZXYpOw0KJmd0OyYjMzI7K2ludCYjMzI7aTsNCiZndDsmIzMy OysNCiZndDsmIzMyOytmb3ImIzMyOyhpJiMzMjs9JiMzMjswOyYjMzI7aSYjMzI7Jmx0OyYjMzI7 cHJpdi0mZ3Q7cGF0aF9zaXplOyYjMzI7aSsrKQ0KJmd0OyYjMzI7K210a19tdXRleF9hZGRfY29t cChtdXRleCwmIzMyO2dldF9kZHBfY29tcF9pZChwcml2LSZndDtwYXRoW2ldKSk7DQomZ3Q7JiMz MjsrfQ0KJmd0OyYjMzI7Kw0KJmd0OyYjMzI7K3ZvaWQmIzMyO210a19vdmxzeXNfYWRhcHRvcl9y ZW1vdmVfY29tcChzdHJ1Y3QmIzMyO2RldmljZSYjMzI7KmRldiwmIzMyO3N0cnVjdCYjMzI7bXRr X211dGV4JiMzMjsqbXV0ZXgpDQomZ3Q7JiMzMjsrew0KJmd0OyYjMzI7K3N0cnVjdCYjMzI7bXRr X2Rpc3Bfb3Zsc3lzX2FkYXB0b3ImIzMyOypwcml2JiMzMjs9JiMzMjtkZXZfZ2V0X2RydmRhdGEo ZGV2KTsNCiZndDsmIzMyOytpbnQmIzMyO2k7DQomZ3Q7JiMzMjsrDQomZ3Q7JiMzMjsrZm9yJiMz MjsoaSYjMzI7PSYjMzI7MDsmIzMyO2kmIzMyOyZsdDsmIzMyO3ByaXYtJmd0O3BhdGhfc2l6ZTsm IzMyO2krKykNCiZndDsmIzMyOyttdGtfbXV0ZXhfcmVtb3ZlX2NvbXAobXV0ZXgsJiMzMjtnZXRf ZGRwX2NvbXBfaWQocHJpdi0mZ3Q7cGF0aFtpXSkpOw0KJmd0OyYjMzI7K30NCiZndDsmIzMyOysN CiZndDsmIzMyOyt2b2lkJiMzMjttdGtfb3Zsc3lzX2FkYXB0b3JfY29ubmVjdChzdHJ1Y3QmIzMy O2RldmljZSYjMzI7KmRldiwmIzMyO3N0cnVjdCYjMzI7ZGV2aWNlJiMzMjsqbW1zeXNfZGV2LCYj MzI7dW5zaWduZWQmIzMyO2ludCYjMzI7bmV4dCkNCiZndDsmIzMyOyt7DQomZ3Q7JiMzMjsrc3Ry dWN0JiMzMjttdGtfZGlzcF9vdmxzeXNfYWRhcHRvciYjMzI7KnByaXYmIzMyOz0mIzMyO2Rldl9n ZXRfZHJ2ZGF0YShkZXYpOw0KJmd0OyYjMzI7K2ludCYjMzI7aTsNCiZndDsmIzMyOysNCiZndDsm IzMyOytmb3ImIzMyOyhpJiMzMjs9JiMzMjswOyYjMzI7aSYjMzI7Jmx0OyYjMzI7cHJpdi0mZ3Q7 cGF0aF9zaXplJiMzMjstJiMzMjsxOyYjMzI7aSsrKQ0KJmd0OyYjMzI7K210a19tbXN5c19kZHBf Y29ubmVjdChtbXN5c19kZXYsJiMzMjtnZXRfZGRwX2NvbXBfaWQocHJpdi0mZ3Q7cGF0aFtpXSks DQomZ3Q7JiMzMjsrJiMzMjsmIzMyOyYjMzI7JiMzMjsmIzMyOyYjMzI7Z2V0X2RkcF9jb21wX2lk KHByaXYtJmd0O3BhdGhbaSYjMzI7KyYjMzI7MV0pKTsNCiZndDsmIzMyOysNCiZndDsmIzMyOytt dGtfbW1zeXNfZGRwX2Nvbm5lY3QobW1zeXNfZGV2LCYjMzI7Z2V0X2RkcF9jb21wX2lkKHByaXYt Jmd0O3BhdGhbaV0pLCYjMzI7bmV4dCk7DQomZ3Q7JiMzMjsrfQ0KJmd0OyYjMzI7Kw0KJmd0OyYj MzI7K3ZvaWQmIzMyO210a19vdmxzeXNfYWRhcHRvcl9kaXNjb25uZWN0KHN0cnVjdCYjMzI7ZGV2 aWNlJiMzMjsqZGV2LCYjMzI7c3RydWN0JiMzMjtkZXZpY2UmIzMyOyptbXN5c19kZXYsJiMzMjt1 bnNpZ25lZCYjMzI7aW50JiMzMjtuZXh0KQ0KJmd0OyYjMzI7K3sNCiZndDsmIzMyOytzdHJ1Y3Qm IzMyO210a19kaXNwX292bHN5c19hZGFwdG9yJiMzMjsqcHJpdiYjMzI7PSYjMzI7ZGV2X2dldF9k cnZkYXRhKGRldik7DQomZ3Q7JiMzMjsraW50JiMzMjtpOw0KJmd0OyYjMzI7Kw0KJmd0OyYjMzI7 K2ZvciYjMzI7KGkmIzMyOz0mIzMyOzA7JiMzMjtpJiMzMjsmbHQ7JiMzMjtwcml2LSZndDtwYXRo X3NpemUmIzMyOy0mIzMyOzE7JiMzMjtpKyspDQomZ3Q7JiMzMjsrbXRrX21tc3lzX2RkcF9kaXNj b25uZWN0KG1tc3lzX2RldiwmIzMyO2dldF9kZHBfY29tcF9pZChwcml2LSZndDtwYXRoW2ldKSwN CiZndDsmIzMyOysmIzMyO2dldF9kZHBfY29tcF9pZChwcml2LSZndDtwYXRoW2kmIzMyOysmIzMy OzFdKSk7DQomZ3Q7JiMzMjsrDQomZ3Q7JiMzMjsrbXRrX21tc3lzX2RkcF9kaXNjb25uZWN0KG1t c3lzX2RldiwmIzMyO2dldF9kZHBfY29tcF9pZChwcml2LSZndDtwYXRoW2ldKSwmIzMyO25leHQp Ow0KJmd0OyYjMzI7K30NCiZndDsmIzMyOysNCiZndDsmIzMyOytzdGF0aWMmIzMyO2ludCYjMzI7 b3Zsc3lzX2FkYXB0b3JfY29tcF9nZXRfaWQoc3RydWN0JiMzMjtkZXZpY2UmIzMyOypkZXYsJiMz MjtzdHJ1Y3QmIzMyO2RldmljZV9ub2RlJiMzMjsqbm9kZSwNCiZndDsmIzMyOysmIzMyOyYjMzI7 JiMzMjsmIzMyOyYjMzI7JiMzMjtlbnVtJiMzMjttdGtfb3Zsc3lzX2FkYXB0b3JfY29tcF90eXBl JiMzMjt0eXBlLA0KJmd0OyYjMzI7KyYjMzI7JiMzMjsmIzMyOyYjMzI7JiMzMjsmIzMyO2VudW0m IzMyO210a19kZHBfY29tcF9pZCYjMzI7KmNvbXBfaWQpDQomZ3Q7JiMzMjsrew0KJmd0OyYjMzI7 K2ludCYjMzI7YWxpYXNfaWQmIzMyOz0mIzMyO29mX2FsaWFzX2dldF9pZChub2RlLCYjMzI7cHJp dmF0ZV9jb21wX3N0ZW1bdHlwZV0pOw0KJmd0OyYjMzI7K2ludCYjMzI7aTsNCiZndDsmIzMyOysN CiZndDsmIzMyOytmb3ImIzMyOyhpJiMzMjs9JiMzMjswOyYjMzI7aSYjMzI7Jmx0OyYjMzI7QVJS QVlfU0laRShjb21wX21hdGNoZXMpOyYjMzI7aSsrKQ0KJmd0OyYjMzI7K2lmJiMzMjsoY29tcF9t YXRjaGVzW2ldLnR5cGUmIzMyOz09JiMzMjt0eXBlJiMzMjsmYW1wOyZhbXA7DQomZ3Q7JiMzMjsr JiMzMjsmIzMyOyYjMzI7JiMzMjtjb21wX21hdGNoZXNbaV0uYWxpYXNfaWQmIzMyOz09JiMzMjth bGlhc19pZCkmIzMyO3sNCiZndDsmIzMyOysqY29tcF9pZCYjMzI7PSYjMzI7Y29tcF9tYXRjaGVz W2ldLmNvbXBfaWQ7DQomZ3Q7JiMzMjsrcmV0dXJuJiMzMjtpOw0KJmd0OyYjMzI7K30NCiZndDsm IzMyOytkZXZfd2FybihkZXYsJiMzMjsmcXVvdDtGYWlsZWQmIzMyO3RvJiMzMjtnZXQmIzMyO2lk LiYjMzI7dHlwZTomIzMyOyVkLCYjMzI7YWxpYXM6JiMzMjslZCYjOTI7biZxdW90OywmIzMyO3R5 cGUsJiMzMjthbGlhc19pZCk7DQomZ3Q7JiMzMjsrcmV0dXJuJiMzMjstRUlOVkFMOw0KJmd0OyYj MzI7K30NCiZndDsmIzMyOysNCiZndDsmIzMyOytzdGF0aWMmIzMyO2NvbnN0JiMzMjtzdHJ1Y3Qm IzMyO29mX2RldmljZV9pZCYjMzI7bXRrX292bHN5c19hZGFwdG9yX2NvbXBfZHRfaWRzW10mIzMy Oz0mIzMyO3sNCiZndDsmIzMyOyt7DQomZ3Q7JiMzMjsrLmNvbXBhdGlibGUmIzMyOz0mIzMyOyZx dW90O21lZGlhdGVrLG10ODE5Ni1leGRtYSZxdW90OywNCiZndDsmIzMyOysuZGF0YSYjMzI7PSYj MzI7KHZvaWQmIzMyOyopT1ZMU1lTX0FEQVBUT1JfVFlQRV9FWERNQSwNCiZndDsmIzMyOyt9LCYj MzI7ew0KJmd0OyYjMzI7Ky5jb21wYXRpYmxlJiMzMjs9JiMzMjsmcXVvdDttZWRpYXRlayxtdDgx OTYtYmxlbmRlciZxdW90OywNCiZndDsmIzMyOysuZGF0YSYjMzI7PSYjMzI7KHZvaWQmIzMyOyop T1ZMU1lTX0FEQVBUT1JfVFlQRV9CTEVOREVSLA0KJmd0OyYjMzI7K30sJiMzMjt7DQomZ3Q7JiMz MjsrLmNvbXBhdGlibGUmIzMyOz0mIzMyOyZxdW90O21lZGlhdGVrLG10ODE5Ni1vdXRwcm9jJnF1 b3Q7LA0KJmd0OyYjMzI7Ky5kYXRhJiMzMjs9JiMzMjsodm9pZCYjMzI7KilPVkxTWVNfQURBUFRP Ul9UWVBFX09VVFBST0MsDQomZ3Q7JiMzMjsrfSwNCiZndDsmIzMyOyt7fSwNCiZndDsmIzMyOyt9 Ow0KJmd0OyYjMzI7Kw0KJmd0OyYjMzI7K3N0YXRpYyYjMzI7aW50JiMzMjtvdmxzeXNfYWRhcHRv cl9jb21wX2luaXQoc3RydWN0JiMzMjtkZXZpY2UmIzMyOypkZXYsJiMzMjtzdHJ1Y3QmIzMyO2Nv bXBvbmVudF9tYXRjaCYjMzI7KiptYXRjaCkNCiZndDsmIzMyOyt7DQomZ3Q7JiMzMjsrc3RydWN0 JiMzMjttdGtfZGlzcF9vdmxzeXNfYWRhcHRvciYjMzI7KnByaXYmIzMyOz0mIzMyO2Rldl9nZXRf ZHJ2ZGF0YShkZXYpOw0KJmd0OyYjMzI7K3N0cnVjdCYjMzI7ZGV2aWNlX25vZGUmIzMyOypub2Rl LCYjMzI7KnBhcmVudDsNCiZndDsmIzMyOytzdHJ1Y3QmIzMyO3BsYXRmb3JtX2RldmljZSYjMzI7 KmNvbXBfcGRldjsNCiZndDsmIzMyOytpbnQmIzMyO2k7DQomZ3Q7JiMzMjsrDQomZ3Q7JiMzMjsr cGFyZW50JiMzMjs9JiMzMjtkZXYtJmd0O3BhcmVudC0mZ3Q7cGFyZW50LSZndDtvZl9ub2RlLSZn dDtwYXJlbnQ7DQomZ3Q7JiMzMjsrDQomZ3Q7JiMzMjsrZm9yX2VhY2hfY2hpbGRfb2Zfbm9kZShw YXJlbnQsJiMzMjtub2RlKSYjMzI7ew0KJmd0OyYjMzI7K2NvbnN0JiMzMjtzdHJ1Y3QmIzMyO29m X2RldmljZV9pZCYjMzI7Km9mX2lkOw0KJmd0OyYjMzI7K2VudW0mIzMyO210a19vdmxzeXNfYWRh cHRvcl9jb21wX3R5cGUmIzMyO3R5cGU7DQomZ3Q7JiMzMjsrZW51bSYjMzI7bXRrX2RkcF9jb21w X2lkJiMzMjtjb21wX2lkOw0KJmd0OyYjMzI7K2ludCYjMzI7aWQ7DQomZ3Q7JiMzMjsrYm9vbCYj MzI7Zm91bmQmIzMyOz0mIzMyO2ZhbHNlOw0KJmd0OyYjMzI7Kw0KJmd0OyYjMzI7K29mX2lkJiMz Mjs9JiMzMjtvZl9tYXRjaF9ub2RlKG10a19vdmxzeXNfYWRhcHRvcl9jb21wX2R0X2lkcywmIzMy O25vZGUpOw0KJmd0OyYjMzI7K2lmJiMzMjsoIW9mX2lkKQ0KJmd0OyYjMzI7K2NvbnRpbnVlOw0K Jmd0OyYjMzI7Kw0KJmd0OyYjMzI7K2lmJiMzMjsoIW9mX2RldmljZV9pc19hdmFpbGFibGUobm9k ZSkpJiMzMjt7DQomZ3Q7JiMzMjsrZGV2X2RiZyhkZXYsJiMzMjsmcXVvdDtTa2lwcGluZyYjMzI7 ZGlzYWJsZWQmIzMyO2NvbXBvbmVudCYjMzI7JXBPRiYjOTI7biZxdW90OywNCiZndDsmIzMyOytu b2RlKTsNCiZndDsmIzMyOytjb250aW51ZTsNCiZndDsmIzMyOyt9DQomZ3Q7JiMzMjsrDQomZ3Q7 JiMzMjsrdHlwZSYjMzI7PSYjMzI7KGVudW0mIzMyO210a19vdmxzeXNfYWRhcHRvcl9jb21wX3R5 cGUpKHVpbnRwdHJfdClvZl9pZC0mZ3Q7ZGF0YTsNCiZndDsmIzMyOytpZCYjMzI7PSYjMzI7b3Zs c3lzX2FkYXB0b3JfY29tcF9nZXRfaWQoZGV2LCYjMzI7bm9kZSwmIzMyO3R5cGUsJiMzMjsmYW1w O2NvbXBfaWQpOw0KJmd0OyYjMzI7K2lmJiMzMjsoaWQmIzMyOyZsdDsmIzMyOzApJiMzMjt7DQom Z3Q7JiMzMjsrZGV2X3dhcm4oZGV2LCYjMzI7JnF1b3Q7U2tpcHBpbmcmIzMyO3Vua25vd24mIzMy O2NvbXBvbmVudCYjMzI7JXBPRiYjOTI7biZxdW90OywNCiZndDsmIzMyOysmIzMyO25vZGUpOw0K Jmd0OyYjMzI7K2NvbnRpbnVlOw0KJmd0OyYjMzI7K30NCiZndDsmIzMyOysNCiZndDsmIzMyOytm b3ImIzMyOyhpJiMzMjs9JiMzMjswOyYjMzI7aSYjMzI7Jmx0OyYjMzI7cHJpdi0mZ3Q7cGF0aF9z aXplOyYjMzI7aSsrKQ0KJmd0OyYjMzI7K2lmJiMzMjsocHJpdi0mZ3Q7cGF0aFtpXSYjMzI7PT0m IzMyO2lkKQ0KJmd0OyYjMzI7K2ZvdW5kJiMzMjs9JiMzMjt0cnVlOw0KJmd0OyYjMzI7Kw0KJmd0 OyYjMzI7K2lmJiMzMjsoIWZvdW5kKQ0KJmd0OyYjMzI7K2NvbnRpbnVlOw0KDQpvdmwmIzMyO2Fk YXB0b3ImIzMyO2RvZXMmIzMyO25vdCYjMzI7Y2hlY2smIzMyO3RoaXMsJiMzMjt3aHkmIzMyO292 bHN5cyYjMzI7bmVlZCYjMzI7dGhpcyYjNjM7DQpJZiYjMzI7dGhpcyYjMzI7aXMmIzMyO3JlbW92 ZWQsJiMzMjt0aGlzJiMzMjtmdW5jdGlvbiYjMzI7aXMmIzMyO3NpbWlsYXImIzMyO3RvJiMzMjt0 aGUmIzMyO29uZSYjMzI7aW4mIzMyO292bCYjMzI7YWRhcHRvciwNCndvdWxkJiMzMjt5b3UmIzMy O3RyeSYjMzI7dG8mIzMyO3Jld3JpdGUmIzMyO3RoaXMmIzMyO2Z1bmN0aW9uJiMzMjt0byYjMzI7 YmUmIzMyO2FsbW9zdCYjMzI7dGhlJiMzMjtzYW1lJiMzMjt3aXRoJiMzMjt0aGUmIzMyO29uZSYj MzI7aW4mIzMyO292bCYjMzI7YWRhdG9yJiM2MzsNCk5vdCYjMzI7bWVyZ2luZyYjMzI7aXQsJiMz MjtqdXN0JiMzMjtpbXBsZW1lbnQmIzMyO2FsbW9zdCYjMzI7dGhlJiMzMjtzYW1lLg0KDQomZ3Q7 JiMzMjsrDQomZ3Q7JiMzMjsrY29tcF9wZGV2JiMzMjs9JiMzMjtvZl9maW5kX2RldmljZV9ieV9u b2RlKG5vZGUpOw0KJmd0OyYjMzI7K2lmJiMzMjsoIWNvbXBfcGRldikNCiZndDsmIzMyOytyZXR1 cm4mIzMyOy1FUFJPQkVfREVGRVI7DQomZ3Q7JiMzMjsrDQomZ3Q7JiMzMjsrcHJpdi0mZ3Q7b3Zs X2FkYXB0b3JfY29tcFtpZF0mIzMyOz0mIzMyOyZhbXA7Y29tcF9wZGV2LSZndDtkZXY7DQomZ3Q7 JiMzMjsrDQomZ3Q7JiMzMjsrZHJtX29mX2NvbXBvbmVudF9tYXRjaF9hZGQoZGV2LCYjMzI7bWF0 Y2gsJiMzMjtjb21wb25lbnRfY29tcGFyZV9vZiwmIzMyO25vZGUpOw0KJmd0OyYjMzI7K2Rldl9k YmcoZGV2LCYjMzI7JnF1b3Q7QWRkaW5nJiMzMjtjb21wb25lbnQmIzMyO21hdGNoJiMzMjtmb3Im IzMyOyVwT0YmIzkyO24mcXVvdDssJiMzMjtub2RlKTsNCiZndDsmIzMyOyt9DQomZ3Q7JiMzMjsr DQomZ3Q7JiMzMjsraWYmIzMyOyghKm1hdGNoKSYjMzI7ew0KJmd0OyYjMzI7K2Rldl9lcnIoZGV2 LCYjMzI7JnF1b3Q7Tm8mIzMyO21hdGNoJiMzMjtkZXZpY2UmIzMyO2ZvciYjMzI7b3Zsc3lzX2Fk YXB0b3ImIzkyO24mcXVvdDspOw0KJmd0OyYjMzI7K3JldHVybiYjMzI7LUVOT0RFVjsNCiZndDsm IzMyOyt9DQomZ3Q7JiMzMjsrDQomZ3Q7JiMzMjsrcmV0dXJuJiMzMjswOw0KJmd0OyYjMzI7K30N CiZndDsmIzMyOysNCiZndDsmIzMyOytzdGF0aWMmIzMyO2ludCYjMzI7bXRrX2Rpc3Bfb3Zsc3lz X2FkYXB0b3JfY29tcF9iaW5kKHN0cnVjdCYjMzI7ZGV2aWNlJiMzMjsqZGV2LCYjMzI7c3RydWN0 JiMzMjtkZXZpY2UmIzMyOyptYXN0ZXIsDQomZ3Q7JiMzMjsrJiMzMjsmIzMyOyYjMzI7JiMzMjsm IzMyO3ZvaWQmIzMyOypkYXRhKQ0KJmd0OyYjMzI7K3sNCiZndDsmIzMyOytzdHJ1Y3QmIzMyO210 a19kaXNwX292bHN5c19hZGFwdG9yJiMzMjsqcHJpdiYjMzI7PSYjMzI7ZGV2X2dldF9kcnZkYXRh KGRldik7DQomZ3Q7JiMzMjsrDQomZ3Q7JiMzMjsraWYmIzMyOyghcHJpdi0mZ3Q7Y2hpbGRyZW5f Ym91bmQpDQomZ3Q7JiMzMjsrcmV0dXJuJiMzMjstRVBST0JFX0RFRkVSOw0KJmd0OyYjMzI7Kw0K Jmd0OyYjMzI7K3JldHVybiYjMzI7MDsNCiZndDsmIzMyOyt9DQomZ3Q7JiMzMjsrDQomZ3Q7JiMz Mjsrc3RhdGljJiMzMjt2b2lkJiMzMjttdGtfZGlzcF9vdmxzeXNfYWRhcHRvcl9jb21wX3VuYmlu ZChzdHJ1Y3QmIzMyO2RldmljZSYjMzI7KmRldiwmIzMyO3N0cnVjdCYjMzI7ZGV2aWNlJiMzMjsq bWFzdGVyLA0KJmd0OyYjMzI7K3ZvaWQmIzMyOypkYXRhKQ0KJmd0OyYjMzI7K3sNCiZndDsmIzMy Oyt9DQomZ3Q7JiMzMjsrDQomZ3Q7JiMzMjsrc3RhdGljJiMzMjtjb25zdCYjMzI7c3RydWN0JiMz Mjtjb21wb25lbnRfb3BzJiMzMjttdGtfZGlzcF9vdmxzeXNfYWRhcHRvcl9jb21wX29wcyYjMzI7 PSYjMzI7ew0KJmd0OyYjMzI7Ky5iaW5kPSYjMzI7bXRrX2Rpc3Bfb3Zsc3lzX2FkYXB0b3JfY29t cF9iaW5kLA0KJmd0OyYjMzI7Ky51bmJpbmQmIzMyOz0mIzMyO210a19kaXNwX292bHN5c19hZGFw dG9yX2NvbXBfdW5iaW5kLA0KJmd0OyYjMzI7K307DQomZ3Q7JiMzMjsrDQomZ3Q7JiMzMjsrc3Rh dGljJiMzMjtpbnQmIzMyO210a19kaXNwX292bHN5c19hZGFwdG9yX21hc3Rlcl9iaW5kKHN0cnVj dCYjMzI7ZGV2aWNlJiMzMjsqZGV2KQ0KJmd0OyYjMzI7K3sNCiZndDsmIzMyOytzdHJ1Y3QmIzMy O210a19kaXNwX292bHN5c19hZGFwdG9yJiMzMjsqcHJpdiYjMzI7PSYjMzI7ZGV2X2dldF9kcnZk YXRhKGRldik7DQomZ3Q7JiMzMjsraW50JiMzMjtyZXQsJiMzMjtpOw0KJmd0OyYjMzI7K3Vuc2ln bmVkJiMzMjtpbnQmIzMyO2xheWVyX25yJiMzMjs9JiMzMjswOw0KJmd0OyYjMzI7Kw0KJmd0OyYj MzI7K3JldCYjMzI7PSYjMzI7Y29tcG9uZW50X2JpbmRfYWxsKGRldiwmIzMyO3ByaXYtJmd0O21t c3lzX2Rldik7DQomZ3Q7JiMzMjsraWYmIzMyOyhyZXQpDQomZ3Q7JiMzMjsrcmV0dXJuJiMzMjtk ZXZfZXJyX3Byb2JlKGRldiwmIzMyO3JldCwmIzMyOyZxdW90O2NvbXBvbmVudF9iaW5kX2FsbCYj MzI7ZmFpbGVkISYjOTI7biZxdW90Oyk7DQomZ3Q7JiMzMjsrDQomZ3Q7JiMzMjsrcHJpdi0mZ3Q7 Y2hpbGRyZW5fYm91bmQmIzMyOz0mIzMyO3RydWU7DQomZ3Q7JiMzMjsrDQomZ3Q7JiMzMjsrZm9y JiMzMjsoaSYjMzI7PSYjMzI7MDsmIzMyO2kmIzMyOyZsdDsmIzMyO3ByaXYtJmd0O3BhdGhfc2l6 ZTsmIzMyO2krKykNCiZndDsmIzMyOytpZiYjMzI7KGNvbXBfbWF0Y2hlc1twcml2LSZndDtwYXRo W2ldXS50eXBlJiMzMjs9PSYjMzI7T1ZMU1lTX0FEQVBUT1JfVFlQRV9CTEVOREVSKQ0KJmd0OyYj MzI7K2xheWVyX25yKys7DQomZ3Q7JiMzMjsrcHJpdi0mZ3Q7bGF5ZXJfbnImIzMyOz0mIzMyO2xh eWVyX25yOw0KJmd0OyYjMzI7Kw0KJmd0OyYjMzI7K3JldHVybiYjMzI7MDsNCiZndDsmIzMyOyt9 DQomZ3Q7JiMzMjsrDQomZ3Q7JiMzMjsrc3RhdGljJiMzMjt2b2lkJiMzMjttdGtfZGlzcF9vdmxz eXNfYWRhcHRvcl9tYXN0ZXJfdW5iaW5kKHN0cnVjdCYjMzI7ZGV2aWNlJiMzMjsqZGV2KQ0KJmd0 OyYjMzI7K3sNCiZndDsmIzMyOytzdHJ1Y3QmIzMyO210a19kaXNwX292bHN5c19hZGFwdG9yJiMz MjsqcHJpdiYjMzI7PSYjMzI7ZGV2X2dldF9kcnZkYXRhKGRldik7DQomZ3Q7JiMzMjsrDQomZ3Q7 JiMzMjsrcHJpdi0mZ3Q7Y2hpbGRyZW5fYm91bmQmIzMyOz0mIzMyO2ZhbHNlOw0KJmd0OyYjMzI7 K30NCiZndDsmIzMyOysNCiZndDsmIzMyOytzdGF0aWMmIzMyO2NvbnN0JiMzMjtzdHJ1Y3QmIzMy O2NvbXBvbmVudF9tYXN0ZXJfb3BzJiMzMjttdGtfZGlzcF9vdmxzeXNfYWRhcHRvcl9tYXN0ZXJf b3BzJiMzMjs9JiMzMjt7DQomZ3Q7JiMzMjsrLmJpbmQ9JiMzMjttdGtfZGlzcF9vdmxzeXNfYWRh cHRvcl9tYXN0ZXJfYmluZCwNCiZndDsmIzMyOysudW5iaW5kPSYjMzI7bXRrX2Rpc3Bfb3Zsc3lz X2FkYXB0b3JfbWFzdGVyX3VuYmluZCwNCiZndDsmIzMyOyt9Ow0KJmd0OyYjMzI7Kw0KJmd0OyYj MzI7K3N0YXRpYyYjMzI7Y29uc3QmIzMyO3N0cnVjdCYjMzI7bXRrX2Rpc3Bfb3Zsc3lzX2FkYXB0 b3ImIzMyO210ODE5Nl9vdmxzeXNfYWRhcHRvcl9kcml2ZXJfZGF0YSYjMzI7PSYjMzI7ew0KJmd0 OyYjMzI7Ky5tYXhfc2l6ZSYjMzI7PSYjMzI7ODE5MSwNCg0KVGhpcyYjMzI7aXMmIzMyO3RoZSYj MzI7Zmlyc3QmIzMyO1NvQyYjMzI7aGFzJiMzMjtvdmxzeXMsJiMzMjtzbyYjMzI7aXQmIzM5O3Mm IzMyO25vdCYjMzI7bmVjZXNzYXJ5JiMzMjt0byYjMzI7aGFzJiMzMjtkcml2ZXImIzMyO2RhdGEu DQpBZnRlciYjMzI7b3RoZXImIzMyO1NvQyYjMzI7b3Zsc3lzJiMzMjtpcyYjMzI7YWRkZWQsJiMz Mjt0aGVuJiMzMjtjb25zaWRlciYjMzI7dG8mIzMyO2FkZCYjMzI7ZHJpdmVyJiMzMjtkYXRhLg0K U28sDQoNCiNkZWZpbmUmIzMyO09WTFNZU19NQVhfU0laRSYjMzI7ODE5MQ0KDQomZ3Q7JiMzMjsr fTsNCiZndDsmIzMyOysNCiZndDsmIzMyOytzdGF0aWMmIzMyO2ludCYjMzI7bXRrX2Rpc3Bfb3Zs c3lzX2FkYXB0b3JfcHJvYmUoc3RydWN0JiMzMjtwbGF0Zm9ybV9kZXZpY2UmIzMyOypwZGV2KQ0K Jmd0OyYjMzI7K3sNCiZndDsmIzMyOytzdHJ1Y3QmIzMyO210a19kaXNwX292bHN5c19hZGFwdG9y JiMzMjsqcHJpdjsNCiZndDsmIzMyOytzdHJ1Y3QmIzMyO2RldmljZSYjMzI7KmRldiYjMzI7PSYj MzI7JmFtcDtwZGV2LSZndDtkZXY7DQomZ3Q7JiMzMjsrc3RydWN0JiMzMjtjb21wb25lbnRfbWF0 Y2gmIzMyOyptYXRjaCYjMzI7PSYjMzI7TlVMTDsNCiZndDsmIzMyOytzdHJ1Y3QmIzMyO210a19k cm1fb3Zsc3lzX3ByaXZhdGUmIzMyOypvdmxzeXNfcHJpdjsNCiZndDsmIzMyOytpbnQmIzMyO3Jl dDsNCiZndDsmIzMyOysNCiZndDsmIzMyOytwcml2JiMzMjs9JiMzMjtkZXZtX2t6YWxsb2MoZGV2 LCYjMzI7c2l6ZW9mKCpwcml2KSwmIzMyO0dGUF9LRVJORUwpOw0KJmd0OyYjMzI7K2lmJiMzMjso IXByaXYpDQomZ3Q7JiMzMjsrcmV0dXJuJiMzMjstRU5PTUVNOw0KJmd0OyYjMzI7Kw0KJmd0OyYj MzI7K3BsYXRmb3JtX3NldF9kcnZkYXRhKHBkZXYsJiMzMjtwcml2KTsNCiZndDsmIzMyOysNCiZn dDsmIzMyOytvdmxzeXNfcHJpdiYjMzI7PSYjMzI7cGRldi0mZ3Q7ZGV2LnBsYXRmb3JtX2RhdGE7 DQomZ3Q7JiMzMjsrcHJpdi0mZ3Q7bW1zeXNfZGV2JiMzMjs9JiMzMjtvdmxzeXNfcHJpdi0mZ3Q7 bW1zeXNfZGV2Ow0KJmd0OyYjMzI7K3ByaXYtJmd0O21heF9zaXplJiMzMjs9JiMzMjttdDgxOTZf b3Zsc3lzX2FkYXB0b3JfZHJpdmVyX2RhdGEubWF4X3NpemU7DQomZ3Q7JiMzMjsrDQomZ3Q7JiMz MjsraWYmIzMyOyhvdmxzeXNfcHJpdi0mZ3Q7dXNlX3BhdGgmIzMyOz09JiMzMjswKSYjMzI7ew0K Jmd0OyYjMzI7K3ByaXYtJmd0O3BhdGgmIzMyOz0mIzMyO210ODE5Nl9tdGtfb3ZsX21haW47DQom Z3Q7JiMzMjsrcHJpdi0mZ3Q7cGF0aF9zaXplJiMzMjs9JiMzMjtBUlJBWV9TSVpFKG10ODE5Nl9t dGtfb3ZsX21haW4pOw0KJmd0OyYjMzI7K30mIzMyO2Vsc2UmIzMyO2lmJiMzMjsob3Zsc3lzX3By aXYtJmd0O3VzZV9wYXRoJiMzMjs9PSYjMzI7MSkmIzMyO3sNCiZndDsmIzMyOytwcml2LSZndDtw YXRoJiMzMjs9JiMzMjttdDgxOTZfbXRrX292bF9leHQ7DQomZ3Q7JiMzMjsrcHJpdi0mZ3Q7cGF0 aF9zaXplJiMzMjs9JiMzMjtBUlJBWV9TSVpFKG10ODE5Nl9tdGtfb3ZsX2V4dCk7DQomZ3Q7JiMz MjsrfSYjMzI7ZWxzZSYjMzI7ew0KJmd0OyYjMzI7K3ByaXYtJmd0O3BhdGgmIzMyOz0mIzMyO210 ODE5Nl9tdGtfb3ZsX3RoaXJkOw0KJmd0OyYjMzI7K3ByaXYtJmd0O3BhdGhfc2l6ZSYjMzI7PSYj MzI7QVJSQVlfU0laRShtdDgxOTZfbXRrX292bF90aGlyZCk7DQomZ3Q7JiMzMjsrfQ0KJmd0OyYj MzI7Kw0KJmd0OyYjMzI7K3JldCYjMzI7PSYjMzI7b3Zsc3lzX2FkYXB0b3JfY29tcF9pbml0KGRl diwmIzMyOyZhbXA7bWF0Y2gpOw0KJmd0OyYjMzI7K2lmJiMzMjsocmV0JiMzMjsmbHQ7JiMzMjsw KQ0KJmd0OyYjMzI7K3JldHVybiYjMzI7cmV0Ow0KJmd0OyYjMzI7Kw0KJmd0OyYjMzI7K2NvbXBv bmVudF9tYXN0ZXJfYWRkX3dpdGhfbWF0Y2goZGV2LCYjMzI7JmFtcDttdGtfZGlzcF9vdmxzeXNf YWRhcHRvcl9tYXN0ZXJfb3BzLCYjMzI7bWF0Y2gpOw0KJmd0OyYjMzI7Kw0KJmd0OyYjMzI7K3Bt X3J1bnRpbWVfZW5hYmxlKGRldik7DQomZ3Q7JiMzMjsrDQomZ3Q7JiMzMjsrcmV0JiMzMjs9JiMz Mjtjb21wb25lbnRfYWRkKGRldiwmIzMyOyZhbXA7bXRrX2Rpc3Bfb3Zsc3lzX2FkYXB0b3JfY29t cF9vcHMpOw0KJmd0OyYjMzI7K2lmJiMzMjsocmV0JiMzMjshPSYjMzI7MCkmIzMyO3sNCiZndDsm IzMyOytwbV9ydW50aW1lX2Rpc2FibGUoZGV2KTsNCiZndDsmIzMyOytkZXZfZXJyKGRldiwmIzMy OyZxdW90O0ZhaWxlZCYjMzI7dG8mIzMyO2FkZCYjMzI7Y29tcG9uZW50OiYjMzI7JWQmIzkyO24m cXVvdDssJiMzMjtyZXQpOw0KJmd0OyYjMzI7K30NCiZndDsmIzMyOysNCiZndDsmIzMyOytyZXR1 cm4mIzMyO3JldDsNCiZndDsmIzMyOyt9DQomZ3Q7JiMzMjsrDQomZ3Q7JiMzMjsrc3RhdGljJiMz Mjt2b2lkJiMzMjttdGtfZGlzcF9vdmxzeXNfYWRhcHRvcl9yZW1vdmUoc3RydWN0JiMzMjtwbGF0 Zm9ybV9kZXZpY2UmIzMyOypwZGV2KQ0KJmd0OyYjMzI7K3sNCiZndDsmIzMyOytjb21wb25lbnRf bWFzdGVyX2RlbCgmYW1wO3BkZXYtJmd0O2RldiwmIzMyOyZhbXA7bXRrX2Rpc3Bfb3Zsc3lzX2Fk YXB0b3JfbWFzdGVyX29wcyk7DQomZ3Q7JiMzMjsrcG1fcnVudGltZV9kaXNhYmxlKCZhbXA7cGRl di0mZ3Q7ZGV2KTsNCiZndDsmIzMyOyt9DQomZ3Q7JiMzMjsrDQomZ3Q7JiMzMjsrc3RydWN0JiMz MjtwbGF0Zm9ybV9kcml2ZXImIzMyO210a19kaXNwX292bHN5c19hZGFwdG9yX2RyaXZlciYjMzI7 PSYjMzI7ew0KJmd0OyYjMzI7Ky5wcm9iZT0mIzMyO210a19kaXNwX292bHN5c19hZGFwdG9yX3By b2JlLA0KJmd0OyYjMzI7Ky5yZW1vdmU9JiMzMjttdGtfZGlzcF9vdmxzeXNfYWRhcHRvcl9yZW1v dmUsDQomZ3Q7JiMzMjsrLmRyaXZlcj0mIzMyO3sNCiZndDsmIzMyOysubmFtZT0mIzMyOyZxdW90 O21lZGlhdGVrLWRpc3Atb3Zsc3lzLWFkYXB0b3ImcXVvdDssDQomZ3Q7JiMzMjsrLm93bmVyPSYj MzI7VEhJU19NT0RVTEUsDQomZ3Q7JiMzMjsrfSwNCiZndDsmIzMyOyt9Ow0KJmd0OyYjMzI7Kw0K Jmd0OyYjMzI7K01PRFVMRV9BVVRIT1IoJnF1b3Q7TmFuY3kmIzMyO0xpbiYjMzI7Jmx0O25hbmN5 LmxpbkBtZWRpYXRlay5jb20mZ3Q7JnF1b3Q7KTsNCiZndDsmIzMyOytNT0RVTEVfREVTQ1JJUFRJ T04oJnF1b3Q7TWVkaWFUZWsmIzMyO092bHN5cyYjMzI7QWRhcHRvciYjMzI7RHJpdmVyJnF1b3Q7 KTsNCiZndDsmIzMyOytNT0RVTEVfTElDRU5TRSgmcXVvdDtHUEwmcXVvdDspOw0KJmd0OyYjMzI7 ZGlmZiYjMzI7LS1naXQmIzMyO2EvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fZHJ2 LmMmIzMyO2IvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fZHJ2LmMNCiZndDsmIzMy O2luZGV4JiMzMjsyNzE5MDA1N2JkOGUuLjc1MjZiYzM4YmNjNyYjMzI7MTAwNjQ0DQomZ3Q7JiMz MjstLS0mIzMyO2EvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fZHJ2LmMNCiZndDsm IzMyOysrKyYjMzI7Yi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9kcnYuYw0KJmd0 OyYjMzI7QEAmIzMyOy00NDgsNiYjMzI7KzQ0OCwyOCYjMzI7QEAmIzMyO3N0YXRpYyYjMzI7Ym9v bCYjMzI7bXRrX2RybV9maW5kX21tc3lzX2NvbXAoc3RydWN0JiMzMjttdGtfZHJtX3ByaXZhdGUm IzMyOypwcml2YXRlLCYjMzI7aW50JiMzMjtjb21wX2lkDQomZ3Q7JiMzMjsmIzMyO3JldHVybiYj MzI7ZmFsc2U7DQomZ3Q7JiMzMjsmIzMyO30NCiZndDsmIzMyOyYjMzI7DQomZ3Q7JiMzMjsrc3Rh dGljJiMzMjtpbnQmIzMyO210a19kcm1fbW1zeXNfY29tcF9pbl9wYXRoKHN0cnVjdCYjMzI7bXRr X2RybV9wcml2YXRlJiMzMjsqcHJpdmF0ZSwmIzMyO2ludCYjMzI7Y29tcF9pZCkNCiZndDsmIzMy Oyt7DQomZ3Q7JiMzMjsrY29uc3QmIzMyO3N0cnVjdCYjMzI7bXRrX21tc3lzX2RyaXZlcl9kYXRh JiMzMjsqZHJ2X2RhdGEmIzMyOz0mIzMyO3ByaXZhdGUtJmd0O2RhdGE7DQomZ3Q7JiMzMjsraW50 JiMzMjtpOw0KJmd0OyYjMzI7Kw0KJmd0OyYjMzI7K2lmJiMzMjsoZHJ2X2RhdGEtJmd0O21haW5f cGF0aCkNCiZndDsmIzMyOytmb3ImIzMyOyhpJiMzMjs9JiMzMjswOyYjMzI7aSYjMzI7Jmx0OyYj MzI7ZHJ2X2RhdGEtJmd0O21haW5fbGVuOyYjMzI7aSsrKQ0KJmd0OyYjMzI7K2lmJiMzMjsoZHJ2 X2RhdGEtJmd0O21haW5fcGF0aFtpXSYjMzI7PT0mIzMyO2NvbXBfaWQpDQomZ3Q7JiMzMjsrcmV0 dXJuJiMzMjswOw0KJmd0OyYjMzI7Kw0KJmd0OyYjMzI7K2lmJiMzMjsoZHJ2X2RhdGEtJmd0O2V4 dF9wYXRoKQ0KJmd0OyYjMzI7K2ZvciYjMzI7KGkmIzMyOz0mIzMyOzA7JiMzMjtpJiMzMjsmbHQ7 JiMzMjtkcnZfZGF0YS0mZ3Q7ZXh0X2xlbjsmIzMyO2krKykNCiZndDsmIzMyOytpZiYjMzI7KGRy dl9kYXRhLSZndDtleHRfcGF0aFtpXSYjMzI7PT0mIzMyO2NvbXBfaWQpDQomZ3Q7JiMzMjsrcmV0 dXJuJiMzMjsxOw0KJmd0OyYjMzI7K2lmJiMzMjsoZHJ2X2RhdGEtJmd0O3RoaXJkX3BhdGgpDQom Z3Q7JiMzMjsrZm9yJiMzMjsoaSYjMzI7PSYjMzI7MDsmIzMyO2kmIzMyOyZsdDsmIzMyO2Rydl9k YXRhLSZndDt0aGlyZF9sZW47JiMzMjtpKyspDQomZ3Q7JiMzMjsraWYmIzMyOyhkcnZfZGF0YS0m Z3Q7dGhpcmRfcGF0aFtpXSYjMzI7PT0mIzMyO2NvbXBfaWQpDQomZ3Q7JiMzMjsrcmV0dXJuJiMz MjsyOw0KJmd0OyYjMzI7Kw0KJmd0OyYjMzI7K3JldHVybiYjMzI7LTE7DQomZ3Q7JiMzMjsrfQ0K Jmd0OyYjMzI7Kw0KJmd0OyYjMzI7JiMzMjtzdGF0aWMmIzMyO2ludCYjMzI7bXRrX2RybV9rbXNf aW5pdChzdHJ1Y3QmIzMyO2RybV9kZXZpY2UmIzMyOypkcm0pDQomZ3Q7JiMzMjsmIzMyO3sNCiZn dDsmIzMyOyYjMzI7c3RydWN0JiMzMjttdGtfZHJtX3ByaXZhdGUmIzMyOypwcml2YXRlJiMzMjs9 JiMzMjtkcm0tJmd0O2Rldl9wcml2YXRlOw0KJmd0OyYjMzI7QEAmIzMyOy00NjMsOCYjMzI7KzQ4 NSw4JiMzMjtAQCYjMzI7c3RhdGljJiMzMjtpbnQmIzMyO210a19kcm1fa21zX2luaXQoc3RydWN0 JiMzMjtkcm1fZGV2aWNlJiMzMjsqZHJtKQ0KJmd0OyYjMzI7JiMzMjtpZiYjMzI7KHJldCkNCiZn dDsmIzMyOyYjMzI7Z290byYjMzI7cHV0X211dGV4X2RldjsNCiZndDsmIzMyOyYjMzI7DQomZ3Q7 JiMzMjstZHJtLSZndDttb2RlX2NvbmZpZy5taW5fd2lkdGgmIzMyOz0mIzMyOzY0Ow0KJmd0OyYj MzI7LWRybS0mZ3Q7bW9kZV9jb25maWcubWluX2hlaWdodCYjMzI7PSYjMzI7NjQ7DQomZ3Q7JiMz MjsrZHJtLSZndDttb2RlX2NvbmZpZy5taW5fd2lkdGgmIzMyOz0mIzMyOzE7DQomZ3Q7JiMzMjsr ZHJtLSZndDttb2RlX2NvbmZpZy5taW5faGVpZ2h0JiMzMjs9JiMzMjsxOw0KDQpZb3UmIzMyO2No YW5nZSYjMzI7b3RoZXImIzMyO1NvQyYjMzI7c2V0dGluZy4NCklmJiMzMjs4MTk2JiMzMjtoYXMm IzMyO2RpZmZlcmVudCYjMzI7c2V0dGluZywmIzMyO3F1ZXJ5JiMzMjttaW4mIzMyO3dpZHRoL2hl aWdodCYjMzI7ZnJvbSYjMzI7ZGRwJiMzMjtjb21wb25lbnQmIzMyO2FuZCYjMzI7c2VwYXJhdGUm IzMyO3RoaXMmIzMyO3RvJiMzMjthbm90aGVyJiMzMjtwYXRjaC4NCg0KJmd0OyYjMzI7JiMzMjsN CiZndDsmIzMyOyYjMzI7LyoNCiZndDsmIzMyOyYjMzI7JiMzMjsqJiMzMjtzZXQmIzMyO21heCYj MzI7d2lkdGgmIzMyO2FuZCYjMzI7aGVpZ2h0JiMzMjthcyYjMzI7ZGVmYXVsdCYjMzI7dmFsdWUo NDA5Nng0MDk2KS4NCiZndDsmIzMyO0BAJiMzMjstMTEwNyw2JiMzMjsrMTEyOSw0MCYjMzI7QEAm IzMyO3N0YXRpYyYjMzI7aW50JiMzMjttdGtfZHJtX3Byb2JlKHN0cnVjdCYjMzI7cGxhdGZvcm1f ZGV2aWNlJiMzMjsqcGRldikNCiZndDsmIzMyOyYjMzI7Y29tcG9uZW50X21hdGNoX2FkZChkZXYs JiMzMjsmYW1wO21hdGNoLCYjMzI7Y29tcGFyZV9kZXYsJiMzMjsmYW1wO292bF9hZGFwdG9yLSZn dDtkZXYpOw0KJmd0OyYjMzI7JiMzMjt9DQomZ3Q7JiMzMjsmIzMyOw0KJmd0OyYjMzI7K2lmJiMz MjsobXRrX2RybV9maW5kX21tc3lzX2NvbXAocHJpdmF0ZSwmIzMyO0REUF9DT01QT05FTlRfRFJN X09WTFNZU19BREFQVE9SMCkpJiMzMjt7DQomZ3Q7JiMzMjsrc3RydWN0JiMzMjttdGtfZHJtX292 bHN5c19wcml2YXRlJiMzMjtvdmxzeXNfcHJpdjsNCiZndDsmIzMyOysNCiZndDsmIzMyOytvdmxz eXNfcHJpdi5tbXN5c19kZXYmIzMyOz0mIzMyO3ByaXZhdGUtJmd0O21tc3lzX2RldjsNCiZndDsm IzMyOytvdmxzeXNfcHJpdi51c2VfcGF0aCYjMzI7PQ0KJmd0OyYjMzI7K210a19kcm1fbW1zeXNf Y29tcF9pbl9wYXRoKHByaXZhdGUsJiMzMjtERFBfQ09NUE9ORU5UX0RSTV9PVkxTWVNfQURBUFRP UjApOw0KJmd0OyYjMzI7K292bF9hZGFwdG9yJiMzMjs9DQomZ3Q7JiMzMjsrcGxhdGZvcm1fZGV2 aWNlX3JlZ2lzdGVyX2RhdGEoZGV2LCYjMzI7JnF1b3Q7bWVkaWF0ZWstZGlzcC1vdmxzeXMtYWRh cHRvciZxdW90OywNCiZndDsmIzMyOysmIzMyOyYjMzI7JiMzMjsmIzMyOyYjMzI7JiMzMjtQTEFU Rk9STV9ERVZJRF9BVVRPLA0KJmd0OyYjMzI7KyYjMzI7JiMzMjsmIzMyOyYjMzI7JiMzMjsmIzMy Oyh2b2lkJiMzMjsqKSZhbXA7b3Zsc3lzX3ByaXYsDQomZ3Q7JiMzMjsrJiMzMjsmIzMyOyYjMzI7 JiMzMjsmIzMyOyYjMzI7c2l6ZW9mKHN0cnVjdCYjMzI7bXRrX2RybV9vdmxzeXNfcHJpdmF0ZSkp Ow0KJmd0OyYjMzI7K3ByaXZhdGUtJmd0O2RkcF9jb21wW0REUF9DT01QT05FTlRfRFJNX09WTFNZ U19BREFQVE9SMF0uZGV2JiMzMjs9JiMzMjsmYW1wO292bF9hZGFwdG9yLSZndDtkZXY7DQomZ3Q7 JiMzMjsrbXRrX2RkcF9jb21wX2luaXQoTlVMTCwmIzMyOyZhbXA7cHJpdmF0ZS0mZ3Q7ZGRwX2Nv bXBbRERQX0NPTVBPTkVOVF9EUk1fT1ZMU1lTX0FEQVBUT1IwXSwNCiZndDsmIzMyOysmIzMyOyYj MzI7RERQX0NPTVBPTkVOVF9EUk1fT1ZMU1lTX0FEQVBUT1IwKTsNCiZndDsmIzMyOytjb21wb25l bnRfbWF0Y2hfYWRkKGRldiwmIzMyOyZhbXA7bWF0Y2gsJiMzMjtjb21wYXJlX2RldiwmIzMyOyZh bXA7b3ZsX2FkYXB0b3ItJmd0O2Rldik7DQomZ3Q7JiMzMjsrfQ0KJmd0OyYjMzI7Kw0KJmd0OyYj MzI7K2lmJiMzMjsobXRrX2RybV9maW5kX21tc3lzX2NvbXAocHJpdmF0ZSwmIzMyO0REUF9DT01Q T05FTlRfRFJNX09WTFNZU19BREFQVE9SMSkpJiMzMjt7DQomZ3Q7JiMzMjsrc3RydWN0JiMzMjtt dGtfZHJtX292bHN5c19wcml2YXRlJiMzMjtvdmxzeXNfcHJpdjsNCiZndDsmIzMyOysNCiZndDsm IzMyOytvdmxzeXNfcHJpdi5tbXN5c19kZXYmIzMyOz0mIzMyO3ByaXZhdGUtJmd0O21tc3lzX2Rl djsNCiZndDsmIzMyOytvdmxzeXNfcHJpdi51c2VfcGF0aCYjMzI7PQ0KJmd0OyYjMzI7K210a19k cm1fbW1zeXNfY29tcF9pbl9wYXRoKHByaXZhdGUsJiMzMjtERFBfQ09NUE9ORU5UX0RSTV9PVkxT WVNfQURBUFRPUjEpOw0KJmd0OyYjMzI7K292bF9hZGFwdG9yJiMzMjs9DQomZ3Q7JiMzMjsrcGxh dGZvcm1fZGV2aWNlX3JlZ2lzdGVyX2RhdGEoZGV2LCYjMzI7JnF1b3Q7bWVkaWF0ZWstZGlzcC1v dmxzeXMtYWRhcHRvciZxdW90OywNCiZndDsmIzMyOysmIzMyOyYjMzI7JiMzMjsmIzMyOyYjMzI7 JiMzMjtQTEFURk9STV9ERVZJRF9BVVRPLA0KJmd0OyYjMzI7KyYjMzI7JiMzMjsmIzMyOyYjMzI7 JiMzMjsmIzMyOyh2b2lkJiMzMjsqKSZhbXA7b3Zsc3lzX3ByaXYsDQomZ3Q7JiMzMjsrJiMzMjsm IzMyOyYjMzI7JiMzMjsmIzMyOyYjMzI7c2l6ZW9mKHN0cnVjdCYjMzI7bXRrX2RybV9vdmxzeXNf cHJpdmF0ZSkpOw0KJmd0OyYjMzI7K3ByaXZhdGUtJmd0O2RkcF9jb21wW0REUF9DT01QT05FTlRf RFJNX09WTFNZU19BREFQVE9SMV0uZGV2JiMzMjs9JiMzMjsmYW1wO292bF9hZGFwdG9yLSZndDtk ZXY7DQomZ3Q7JiMzMjsrbXRrX2RkcF9jb21wX2luaXQoTlVMTCwmIzMyOyZhbXA7cHJpdmF0ZS0m Z3Q7ZGRwX2NvbXBbRERQX0NPTVBPTkVOVF9EUk1fT1ZMU1lTX0FEQVBUT1IxXSwNCiZndDsmIzMy OysmIzMyOyYjMzI7RERQX0NPTVBPTkVOVF9EUk1fT1ZMU1lTX0FEQVBUT1IxKTsNCiZndDsmIzMy Oytjb21wb25lbnRfbWF0Y2hfYWRkKGRldiwmIzMyOyZhbXA7bWF0Y2gsJiMzMjtjb21wYXJlX2Rl diwmIzMyOyZhbXA7b3ZsX2FkYXB0b3ItJmd0O2Rldik7DQomZ3Q7JiMzMjsrfQ0KJmd0OyYjMzI7 Kw0KJmd0OyYjMzI7JiMzMjsvKiYjMzI7SXRlcmF0ZSYjMzI7b3ZlciYjMzI7c2libGluZyYjMzI7 RElTUCYjMzI7ZnVuY3Rpb24mIzMyO2Jsb2NrcyYjMzI7Ki8NCiZndDsmIzMyOyYjMzI7Zm9yX2Vh Y2hfY2hpbGRfb2Zfbm9kZShwaGFuZGxlLSZndDtwYXJlbnQsJiMzMjtub2RlKSYjMzI7ew0KJmd0 OyYjMzI7JiMzMjtlbnVtJiMzMjttdGtfZGRwX2NvbXBfdHlwZSYjMzI7Y29tcF90eXBlOw0KJmd0 OyYjMzI7QEAmIzMyOy0xMjY4LDYmIzMyOysxMzI0LDcmIzMyO0BAJiMzMjtzdGF0aWMmIzMyO3N0 cnVjdCYjMzI7cGxhdGZvcm1fZHJpdmVyJiMzMjsqJiMzMjtjb25zdCYjMzI7bXRrX2RybV9kcml2 ZXJzW10mIzMyOz0mIzMyO3sNCiZndDsmIzMyOyYjMzI7JmFtcDttdGtfZGlzcF9vdXRwcm9jX2Ry aXZlciwNCiZndDsmIzMyOyYjMzI7JmFtcDttdGtfZGlzcF9vdmxfYWRhcHRvcl9kcml2ZXIsDQom Z3Q7JiMzMjsmIzMyOyZhbXA7bXRrX2Rpc3Bfb3ZsX2RyaXZlciwNCiZndDsmIzMyOysmYW1wO210 a19kaXNwX292bHN5c19hZGFwdG9yX2RyaXZlciwNCiZndDsmIzMyOyYjMzI7JmFtcDttdGtfZGlz cF9yZG1hX2RyaXZlciwNCiZndDsmIzMyOyYjMzI7JmFtcDttdGtfZHBpX2RyaXZlciwNCiZndDsm IzMyOyYjMzI7JmFtcDttdGtfZHJtX3BsYXRmb3JtX2RyaXZlciwNCiZndDsmIzMyO2RpZmYmIzMy Oy0tZ2l0JiMzMjthL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2Rydi5oJiMzMjti L2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2Rydi5oDQomZ3Q7JiMzMjtpbmRleCYj MzI7YzQ3MTdjMzdiMGYxLi5hYTE3ZTc0M2ExZDAmIzMyOzEwMDY0NA0KJmd0OyYjMzI7LS0tJiMz MjthL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2Rydi5oDQomZ3Q7JiMzMjsrKysm IzMyO2IvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fZHJ2LmgNCiZndDsmIzMyO0BA JiMzMjstMTEsNyYjMzI7KzExLDkmIzMyO0BADQomZ3Q7JiMzMjsmIzMyOw0KJmd0OyYjMzI7JiMz MjsjZGVmaW5lJiMzMjtNQVhfQ09OTkVDVE9SMg0KJmd0OyYjMzI7JiMzMjsjZGVmaW5lJiMzMjtE RFBfQ09NUE9ORU5UX0RSTV9PVkxfQURBUFRPUiYjMzI7KEREUF9DT01QT05FTlRfSURfTUFYJiMz MjsrJiMzMjsxKQ0KJmd0OyYjMzI7LSNkZWZpbmUmIzMyO0REUF9DT01QT05FTlRfRFJNX0lEX01B WCYjMzI7KEREUF9DT01QT05FTlRfRFJNX09WTF9BREFQVE9SJiMzMjsrJiMzMjsxKQ0KJmd0OyYj MzI7KyNkZWZpbmUmIzMyO0REUF9DT01QT05FTlRfRFJNX09WTFNZU19BREFQVE9SMCYjMzI7KERE UF9DT01QT05FTlRfRFJNX09WTF9BREFQVE9SJiMzMjsrJiMzMjsxKQ0KJmd0OyYjMzI7KyNkZWZp bmUmIzMyO0REUF9DT01QT05FTlRfRFJNX09WTFNZU19BREFQVE9SMSYjMzI7KEREUF9DT01QT05F TlRfRFJNX09WTFNZU19BREFQVE9SMCYjMzI7KyYjMzI7MSkNCiZndDsmIzMyOysjZGVmaW5lJiMz MjtERFBfQ09NUE9ORU5UX0RSTV9JRF9NQVgmIzMyOyhERFBfQ09NUE9ORU5UX0RSTV9PVkxTWVNf QURBUFRPUjEmIzMyOysmIzMyOzEpDQomZ3Q7JiMzMjsmIzMyOw0KJmd0OyYjMzI7JiMzMjtlbnVt JiMzMjttdGtfY3J0Y19wYXRoJiMzMjt7DQomZ3Q7JiMzMjsmIzMyO0NSVENfTUFJTiwNCiZndDsm IzMyO0BAJiMzMjstNjksNiYjMzI7KzcxLDEyJiMzMjtAQCYjMzI7c3RydWN0JiMzMjttdGtfZHJt X3ByaXZhdGUmIzMyO3sNCiZndDsmIzMyOyYjMzI7c3RydWN0JiMzMjttdGtfZHJtX3ByaXZhdGUm IzMyOyoqYWxsX2RybV9wcml2YXRlOw0KJmd0OyYjMzI7JiMzMjt9Ow0KJmd0OyYjMzI7JiMzMjsN CiZndDsmIzMyOytzdHJ1Y3QmIzMyO210a19kcm1fb3Zsc3lzX3ByaXZhdGUmIzMyO3sNCg0Kb3Zs c3lzJiMzMjtoYXMmIzMyO2l0cyYjMzI7b3duJiMzMjtwcml2YXRlJiMzMjtkYXRhJiMzMjtzdHJ1 Y3R1cmUuDQptdGtfb3Zsc3lzX3BsYXRmb3JtX2RhdGEmIzMyO2lzJiMzMjtiZXR0ZXIuDQoNClJl Z2FyZHMsDQpDSw0KDQoNCiZndDsmIzMyOytzdHJ1Y3QmIzMyO2RldmljZSYjMzI7Km1tc3lzX2Rl djsNCiZndDsmIzMyOytzdHJ1Y3QmIzMyO2RldmljZSYjMzI7Km11dGV4X2RldjsNCiZndDsmIzMy Oyt1bnNpZ25lZCYjMzI7aW50JiMzMjt1c2VfcGF0aDsNCiZndDsmIzMyOyt9Ow0KJmd0OyYjMzI7 Kw0KJmd0OyYjMzI7JiMzMjtleHRlcm4mIzMyO3N0cnVjdCYjMzI7cGxhdGZvcm1fZHJpdmVyJiMz MjttdGtfZGlzcF9hYWxfZHJpdmVyOw0KJmd0OyYjMzI7JiMzMjtleHRlcm4mIzMyO3N0cnVjdCYj MzI7cGxhdGZvcm1fZHJpdmVyJiMzMjttdGtfZGlzcF9ibGVuZGVyX2RyaXZlcjsNCiZndDsmIzMy OyYjMzI7ZXh0ZXJuJiMzMjtzdHJ1Y3QmIzMyO3BsYXRmb3JtX2RyaXZlciYjMzI7bXRrX2Rpc3Bf Y2NvcnJfZHJpdmVyOw0KJmd0OyYjMzI7QEAmIzMyOy03OSw2JiMzMjsrODcsNyYjMzI7QEAmIzMy O2V4dGVybiYjMzI7c3RydWN0JiMzMjtwbGF0Zm9ybV9kcml2ZXImIzMyO210a19kaXNwX21lcmdl X2RyaXZlcjsNCiZndDsmIzMyOyYjMzI7ZXh0ZXJuJiMzMjtzdHJ1Y3QmIzMyO3BsYXRmb3JtX2Ry aXZlciYjMzI7bXRrX2Rpc3Bfb3V0cHJvY19kcml2ZXI7DQomZ3Q7JiMzMjsmIzMyO2V4dGVybiYj MzI7c3RydWN0JiMzMjtwbGF0Zm9ybV9kcml2ZXImIzMyO210a19kaXNwX292bF9hZGFwdG9yX2Ry aXZlcjsNCiZndDsmIzMyOyYjMzI7ZXh0ZXJuJiMzMjtzdHJ1Y3QmIzMyO3BsYXRmb3JtX2RyaXZl ciYjMzI7bXRrX2Rpc3Bfb3ZsX2RyaXZlcjsNCiZndDsmIzMyOytleHRlcm4mIzMyO3N0cnVjdCYj MzI7cGxhdGZvcm1fZHJpdmVyJiMzMjttdGtfZGlzcF9vdmxzeXNfYWRhcHRvcl9kcml2ZXI7DQom Z3Q7JiMzMjsmIzMyO2V4dGVybiYjMzI7c3RydWN0JiMzMjtwbGF0Zm9ybV9kcml2ZXImIzMyO210 a19kaXNwX3JkbWFfZHJpdmVyOw0KJmd0OyYjMzI7JiMzMjtleHRlcm4mIzMyO3N0cnVjdCYjMzI7 cGxhdGZvcm1fZHJpdmVyJiMzMjttdGtfZHBpX2RyaXZlcjsNCiZndDsmIzMyOyYjMzI7ZXh0ZXJu JiMzMjtzdHJ1Y3QmIzMyO3BsYXRmb3JtX2RyaXZlciYjMzI7bXRrX2RzaV9kcml2ZXI7DQoNCg0K PC9wcmU+DQo8L3A+PC9ib2R5PjwvaHRtbD48IS0tdHlwZTp0ZXh0LS0+PCEtLXstLT48cHJlPioq KioqKioqKioqKiogTUVESUFURUsgQ29uZmlkZW50aWFsaXR5IE5vdGljZQ0KICoqKioqKioqKioq KioqKioqKioqDQpUaGUgaW5mb3JtYXRpb24gY29udGFpbmVkIGluIHRoaXMgZS1tYWlsIG1lc3Nh Z2UgKGluY2x1ZGluZyBhbnkgDQphdHRhY2htZW50cykgbWF5IGJlIGNvbmZpZGVudGlhbCwgcHJv cHJpZXRhcnksIHByaXZpbGVnZWQsIG9yIG90aGVyd2lzZQ0KZXhlbXB0IGZyb20gZGlzY2xvc3Vy ZSB1bmRlciBhcHBsaWNhYmxlIGxhd3MuIEl0IGlzIGludGVuZGVkIHRvIGJlIA0KY29udmV5ZWQg b25seSB0byB0aGUgZGVzaWduYXRlZCByZWNpcGllbnQocykuIEFueSB1c2UsIGRpc3NlbWluYXRp b24sIA0KZGlzdHJpYnV0aW9uLCBwcmludGluZywgcmV0YWluaW5nIG9yIGNvcHlpbmcgb2YgdGhp cyBlLW1haWwgKGluY2x1ZGluZyBpdHMgDQphdHRhY2htZW50cykgYnkgdW5pbnRlbmRlZCByZWNp cGllbnQocykgaXMgc3RyaWN0bHkgcHJvaGliaXRlZCBhbmQgbWF5IA0KYmUgdW5sYXdmdWwuIElm IHlvdSBhcmUgbm90IGFuIGludGVuZGVkIHJlY2lwaWVudCBvZiB0aGlzIGUtbWFpbCwgb3IgYmVs aWV2ZQ0KIA0KdGhhdCB5b3UgaGF2ZSByZWNlaXZlZCB0aGlzIGUtbWFpbCBpbiBlcnJvciwgcGxl YXNlIG5vdGlmeSB0aGUgc2VuZGVyIA0KaW1tZWRpYXRlbHkgKGJ5IHJlcGx5aW5nIHRvIHRoaXMg ZS1tYWlsKSwgZGVsZXRlIGFueSBhbmQgYWxsIGNvcGllcyBvZiANCnRoaXMgZS1tYWlsIChpbmNs dWRpbmcgYW55IGF0dGFjaG1lbnRzKSBmcm9tIHlvdXIgc3lzdGVtLCBhbmQgZG8gbm90DQpkaXNj bG9zZSB0aGUgY29udGVudCBvZiB0aGlzIGUtbWFpbCB0byBhbnkgb3RoZXIgcGVyc29uLiBUaGFu ayB5b3UhDQo8L3ByZT48IS0tfS0tPg== --__=_Part_Boundary_008_1166562066.423455638--