Received: by 2002:a05:6a10:1a4d:0:0:0:0 with SMTP id nk13csp1739453pxb; Wed, 9 Feb 2022 03:33:08 -0800 (PST) X-Google-Smtp-Source: ABdhPJwRD0FK6ARXI5qoPqZb/6WhWizb+KHykK9WgM903MfwYAgvbBEBAUK/O8aFajw7s4Zqfzxt X-Received: by 2002:a62:bd0e:: with SMTP id a14mr1923079pff.32.1644406388372; Wed, 09 Feb 2022 03:33:08 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1644406388; cv=pass; d=google.com; s=arc-20160816; b=hsgtteqivQYFNnJ0qt1SHuTBui5zHhhHTamWTr2NmzdcF7RjlKmbmblomU5pW91nPr jW6RbFvS3kaQPB25yPbvlBBpcsIynvLTMZlih2LJN6Vv5RZDQEl+xS8qr2SXE3Il6zf6 lMQ43XOuDjWCFhcbFzbcXSEmKo+Pkn67bBwBmXIpo9q0RhaxDj4oC/t04QnNbjnjYW26 KN9E9b02jA/keVoi7+pZM2dpHK2BkuQxUj630cEVVqju4p3yDSAqa0VM45+r7P/3stmP RCRpBzlbG2zh5bictOPaIBkhpWHGXG320TRjErCf9NC8hhCTlw7vzyBHlKFZY28Pzp0V CVzQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :content-id:user-agent:content-language:accept-language:in-reply-to :references:message-id:date:thread-index:thread-topic:subject:cc:to :from:dkim-signature:ironport-sdr:dkim-signature; bh=mzmUlxJ/qQv+wNjgmg0Zw18tNHdhRFUBmvNFvDLgPRk=; b=oFgB6w3dDBZxlnQBkc9Ipaz6+bT2Ox/VeMcUyODH4wJvImjRd7DYANscdjfuesN0bZ fGSDLc52ZkAPDEx2j7Ft5A+1LH42rQoduZ0N0/HjkjUvSlADxRGZi5CFGX/urYAFP9Ak P4dCd2x999m4xQA9wzgSwGTERk//hbViGsbOET5QY+hOiStOPoghq6Z26Y5psFlu6oWl njQU0Q3hLs7966yXcGyjSOKFKMNXi3FyN8aXcOQy5+REUYZqmyMDcBAwrVZmb3EXNAzq 7/2OAeAuqiRL7z+gaNA7ykC2CkPOxJGERe+Q+T5CnS11kH6WkrmBhcwXerOeETiHQIT/ Zi6Q== ARC-Authentication-Results: i=2; mx.google.com; dkim=fail header.i=@microchip.com header.s=mchp header.b=a5ockZkB; dkim=pass header.i=@microchiptechnology.onmicrosoft.com header.s=selector2-microchiptechnology-onmicrosoft-com header.b=BqTU0y2y; arc=pass (i=1); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=microchip.com Return-Path: Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [2620:137:e000::1:18]) by mx.google.com with ESMTPS id s21si14398526plr.187.2022.02.09.03.33.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 09 Feb 2022 03:33:08 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) client-ip=2620:137:e000::1:18; Authentication-Results: mx.google.com; dkim=fail header.i=@microchip.com header.s=mchp header.b=a5ockZkB; dkim=pass header.i=@microchiptechnology.onmicrosoft.com header.s=selector2-microchiptechnology-onmicrosoft-com header.b=BqTU0y2y; arc=pass (i=1); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=microchip.com Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id BD9FEE076BCE; Wed, 9 Feb 2022 01:52:54 -0800 (PST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1358690AbiBHL2M (ORCPT + 99 others); Tue, 8 Feb 2022 06:28:12 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56940 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S244614AbiBHKdq (ORCPT ); Tue, 8 Feb 2022 05:33:46 -0500 Received: from esa.microchip.iphmx.com (esa.microchip.iphmx.com [68.232.154.123]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 763F0C03FEC0; Tue, 8 Feb 2022 02:33:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=microchip.com; i=@microchip.com; q=dns/txt; s=mchp; t=1644316421; x=1675852421; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-id:content-transfer-encoding: mime-version; bh=mzmUlxJ/qQv+wNjgmg0Zw18tNHdhRFUBmvNFvDLgPRk=; b=a5ockZkBm+iSu2RWYOIDbQEOq9bUAj/6fIliy9HfH3xe9Tan1lri2UdU DdEPhYjNYI3/YdSDr9RYtatNbUzZDYRLnhozz6JKmk7xXdgR1IbGFv5oi 2bOcHy9wFfoWusCEIENF+5geRlFyLaOmhVVWILsHLmyR0Y0GdQxkAYHeM FuhLa3fmp3MaCOoJC291jzqks9vManTboxlqp8aMUM2u5yHxykZJ3b/LU xEzVMjZfVzxL2Pypr8FNDRIgwZkdXQkuOk5RE7s8zwDLiZ+O6VaMN0XR2 w9Ta00bbgbw2M0GHTRg1rZYfn2B2F3MUZ5mJThhrExtqf15gRkEX3cbRm A==; IronPort-SDR: AjGPQCJe2i4PeszLJdDErNI1sPXS/Y7mHN55v31UdbIkWa+l2AkUE4BuU1uo0yYlNMhUrOJqdQ x/6WJlxDpYoVLaCUiOvyTSkX9MpI65o5iF4X46hpSSey90oHNvfDUMv3yMWtO6Im0sQKlJIDcX Hd5rCK0GZ915By/IHE0O3u4KMYMwjAz8Z3jGNn5WpbFqTjJOBJWoIdDMYywXoX3EvRNv7dONKM elS5S5SEXBdeUYbFPVJm6D9WoLNfg6LqFZnky9V98nqgqwgxjiFXdc7hB42/N9HLw2dAJuL42V IFKpCRJ8AofFVNmExcBTaTvw X-IronPort-AV: E=Sophos;i="5.88,352,1635231600"; d="scan'208";a="147971987" Received: from smtpout.microchip.com (HELO email.microchip.com) ([198.175.253.82]) by esa2.microchip.iphmx.com with ESMTP/TLS/AES256-SHA256; 08 Feb 2022 03:33:40 -0700 Received: from chn-vm-ex01.mchp-main.com (10.10.85.143) by chn-vm-ex04.mchp-main.com (10.10.85.152) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.17; Tue, 8 Feb 2022 03:33:39 -0700 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (10.10.215.89) by email.microchip.com (10.10.87.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.17 via Frontend Transport; Tue, 8 Feb 2022 03:33:38 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=TpQSaLZGkO0oJu2+Bxo0VoUlFLpo8FgMfI/tYGnJMlZGX1z5mJ4ZZuDk/C783ECVnphNpVkeJ9jRVazy5dmN0VoNAYsvm85+gSRijpFhxnxf7UERcoAr0Mm0owcaTq0uXYfSbRGtnq2WB+5BZoeTFcQQwTziTWUfPO2X8nSnUL+2PsvEjm+pOHpwvev1Rz/TN41pRXHKpkYGO9YIiXKOBxdoRpJcr5TfBMvCUhYw8Hd7Fkca5OGG9jspLmwINCgViXf5WbNo1MCcbBNCzivUIzFcjOIiSFKq+9hr8K3547ihq6ComllQaZa8hS4vBy74+wgt4h13F+W4q4ZnTRVxdg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=mzmUlxJ/qQv+wNjgmg0Zw18tNHdhRFUBmvNFvDLgPRk=; b=cxkOaVmaRKq6rnTah95zc7k2h+fkD8obJELNkCft0d4PJ6IEn/4ZR8rFn4mo2dW2YRuX77Ht3RHSneZDDVmu7YHR2KebXyrhHWukNEdQ6V6LqKSBQM92p2fMcvCYUg9PGF7/pC/2F6dfUyaOB4iCLKwRXQiQIK+pfI+D2lzjYf3VlVk4mHBG6f51d9hy/sd7T3449MREH7/YjsS1PeWblGQ3XcAW8O8uCqVDpm4xHoe98Lw1Yyh+Mb+s6/5LtsDfqX4mPF4x0TccwsiEEoDT9dC/Ny6jwCF+xTrPThyTRKjJJS81AM/LfzW3Lj86O//x+jplb9sWw+Cf2Uhmn/Wp2g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=microchiptechnology.onmicrosoft.com; s=selector2-microchiptechnology-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=mzmUlxJ/qQv+wNjgmg0Zw18tNHdhRFUBmvNFvDLgPRk=; b=BqTU0y2yNHW3vcvKfK0vjgQ3V/2DviruM4Sxe89Pll+b/UhH+Kdqabh6qkPS2aF8a5hYpvtnaZWf8O7j8C8gRTMzzmvDlYntTaKYtNMGgaruLeZfojOyMy5RMFPKRQAaQOXpguHxlc2rmXVr+i3BuStBSw/a3hYpDOMX9EyAOc0= Received: from BL1PR11MB5384.namprd11.prod.outlook.com (2603:10b6:208:311::14) by CO1PR11MB4995.namprd11.prod.outlook.com (2603:10b6:303:9f::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4951.11; Tue, 8 Feb 2022 10:33:31 +0000 Received: from BL1PR11MB5384.namprd11.prod.outlook.com ([fe80::11a5:42e0:3f3d:fcdc]) by BL1PR11MB5384.namprd11.prod.outlook.com ([fe80::11a5:42e0:3f3d:fcdc%9]) with mapi id 15.20.4975.011; Tue, 8 Feb 2022 10:33:31 +0000 From: To: CC: , , , , , , , , , Subject: Re: [PATCH v4 03/11] media: atmel: atmel-isc: implement media controller Thread-Topic: [PATCH v4 03/11] media: atmel: atmel-isc: implement media controller Thread-Index: AQHYDsj+4PNJuzXuM0OUGB4VItn8vKyII2QAgAAPlICAAUPUgIAAGkGA Date: Tue, 8 Feb 2022 10:33:31 +0000 Message-ID: <8ed88286-3959-03e9-e6e3-6b1675d7de4f@microchip.com> References: <20220121131416.603972-1-eugen.hristev@microchip.com> <20220121131416.603972-4-eugen.hristev@microchip.com> <20220207124444.giyamcg2dgn6t3hv@uno.localdomain> <20220208085931.5rf5dueyb57zxlyk@uno.localdomain> In-Reply-To: <20220208085931.5rf5dueyb57zxlyk@uno.localdomain> Accept-Language: en-US, ro-RO Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.8.0 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=microchip.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: e6f1f5c3-2cc5-4ee8-300f-08d9eaee73d6 x-ms-traffictypediagnostic: CO1PR11MB4995:EE_ x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:3044; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: ouVxlFK7rsA3y/lvUVA/zGnOg7tVNZNfs6L4FlKQ9e1I5y/YRFmeD5KAM/QF69XBtmQdHOYtvXnTHZF6IdystN8UR/IrLeP8CgG0wIlSn1WZL7BO80wSZATrnY4pA/SfJObBkzC2MZVi90p3bNaVy9wZ172gN9rVUuwYPqVWpzbJyZyWoR3g0nouPJNgyP+DkcVxqGJ59KkjjekAAJcaEZ2e6TUXbcWpuRhkF+0zPLfT9WX92QLr1ITKB8ivtv9zIWUB75ICAgF4QLFp7NpTOn31wArS/LUHAl/IPjy6u/8kf3pjUDkNB8WEwjIpniTF+YTDkcLKpBSHUxExCcRk4nJ40ERn4+UeVky4JJ7DzU5msbEA3uKF+uCrumpSbKoFyp8k8xxG/Mc0bnmqc4jpn8KlxFJiElkLIXCn+DssNS6YiLeCgkfKdqcuVEgWliPXo+6o4TeyIJnkbvyvxlNSfGfsx2RG/VW/iTFyMZ22NRcLo/FoBEOArz6IAgjKogBZsHJYUwrNBDfX1mUDbsJgItms7CYuAxufH7nPx0lLSifwtWAITfdlm1+/3PkeR6UYNJVBYxB/94oRx/DSq3SptZ0s3wWuEAddErWm6C1lj8wd4XYZwDV0Fxg3m7YrmKkVqZHqA2gC2mx+9s0+Jqi+f3nCGjUmsd+2pQgbFaLtY4j0oBnhkiwY/ZeHQWHdluTBFslq3PG4RXdogB6tfFuLxW2vjeXaZbo8IUJQHz6LXGx4NFBiR7+CsQlplRPz/6V5C3Gwv7dUnrlCJmW63Vt93z9le8G3VYqB0PaeYVwXw90KngtV08gjexJcauGLloxo9QASr0tKYYYuskXOsY2nCfndADhpyasAW4K9iKV0+jw= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BL1PR11MB5384.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(366004)(122000001)(86362001)(2906002)(36756003)(31686004)(66556008)(83380400001)(38100700002)(7416002)(30864003)(5660300002)(53546011)(71200400001)(6916009)(66446008)(64756008)(8676002)(8936002)(316002)(6512007)(31696002)(2616005)(54906003)(508600001)(6486002)(91956017)(966005)(38070700005)(6506007)(45080400002)(186003)(26005)(4326008)(66946007)(66476007)(76116006)(43740500002)(45980500001)(579004)(559001);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?WEJkUVRXQWc4bTl0cWc2R1hnT3BNOG1INWFhMkoxYStIakNRVHI4WkN1UkdW?= =?utf-8?B?MlNEWE9CcWY2TThZMHZ5WlF3ekdtb2kwcThpc2RMQVBheGozeGZNczVCRFdM?= =?utf-8?B?NnovQ3B0TlRqTXZGTmlodHBKUFZmRXVnMmUxTlRUMjYwUlc2TTBnY1RTbXZU?= =?utf-8?B?Rmxzd3doUzV0WXlQNEZ4ZmxGamR3SHlQdkVvaEJjRWdLVG1HV3BtOHVRVlQ5?= =?utf-8?B?K2N6Y1dvUjlwc3pmcG44Tk5OR2FBK3lsT3BaOHBVbk9tVEIwajlscUF4dW42?= =?utf-8?B?d3FxNFpnR0R6RnpSSXFOZkFBZ3MrYXMyS3FXcUJIbmJ4RnFxa1RtM0lkR01S?= =?utf-8?B?UGJmcyt2cDdnV0pMWVNjbmRIbmZFM25jWFJMTjJXWkZxeU52dEFONFErdTlx?= =?utf-8?B?eUdZYUk3Rml2aHR4bjd3Q2hHZHd0VVdvMlZIQVUxL3RpVXdtT2VERFB0TXo3?= =?utf-8?B?aEhLcWhlMDdMZzdHU1pURDFnMEN4WlJYVW5iTGdKbUZ0UTArTXRWTVN1U0Rl?= =?utf-8?B?b0FWUTdIdWIrTW50amM0YzJ1MWtDYStoL1h0d0ZDTHplb3luQTNDTFpYMG4r?= =?utf-8?B?NGpRMzRFcDhZSXo3eUoxQXB3VVVYbG1reTFwN3Z4Qis3aS9QcUtHUHJWN0FK?= =?utf-8?B?SFpxNWJXWTlBckdoUFFLbndyR1BmbDN0ZjVwZ2lBdnB5NEhVVnA3UkVnQ1FL?= =?utf-8?B?Z2lqL2ZoRjhmWEhqR3dQMnk1VWhrdnhtSy92V3FJM3ZqZVhmNHpmT0diekpp?= =?utf-8?B?T3RMK3VmYjFtNXZEMDlTdUZPai9zWGZwOFE0Yll4Wjhqb29oR2xab0sxUkFy?= =?utf-8?B?SzJYRCtRUmk1SFNqT1AxVHpEemRlZGhwU1Z5VUZuSnJNZFdHMXVQT2xoUi9S?= =?utf-8?B?dzA1eDZJZnNxdnpLbzIwSjBYSHNESGFzQmJFc0JqdkNmUGtzclVTVnFMb3Ri?= =?utf-8?B?R25ZWlpXNko0YmhleDREcmkyVm44TWJ3Nk16L09NTStjcXpvc2gzSU5UbHBm?= =?utf-8?B?NjI5cHZWZUxLejl6djlKMWR4OXI5My9scDZ3MS94MXRGZ2NKTEM0YUVjazZS?= =?utf-8?B?ME5kak1SMVVpckMxbG92M3RqbE1ySnNWS3NEclk1ZDZtRy9JbkdOOW9WR2s2?= =?utf-8?B?cVB4QUZCYWdyTGk3Nm51bDVuQURES0pLcU9qRE1iSDBIaHBzeDhZMjhYQW9i?= =?utf-8?B?K0RZek14S05nVlNqSXZja1FqZnhHU2hKNlFVTmg3REVTY1M4WDJhR1ZjbUYr?= =?utf-8?B?OVZScmpGL0pqK080YU1zSmVpeHBYOUh5VmxCOFFJdi9SQ2ZKdFdiSWdURFBj?= =?utf-8?B?elhiZWluQng0VnFZY3pDQmNqaSt5aGR5K2tnVkMyWkFlOWI0WUpXS1B1eklt?= =?utf-8?B?TmNRcUIvZVhtL2VtbVdoZ3VVR2ZqVUNTZjVCU2tQc0xjMWpvbjBVMVp3S1Zi?= =?utf-8?B?UGlKVnhiSWZYMGxWSjRBYS9icnpBUEtaSkczNGl1T29kQUlvSXVxYkZVK2l2?= =?utf-8?B?Sno4NFZ3VC82NVNJbkppWFJVNGI1V3FRZTA4VEo0RDR0T3RkT1c1a2R6MHgy?= =?utf-8?B?eE5jOUlGZkpXejVONUFGeWhQMXlQKzZNVTB6dUNQZDlaUzRzcE9qc2pIalJa?= =?utf-8?B?V2F1UnNBLzFYNENFSy9Kc3NaOGE1S05oZWFOdEVTNzQ4Z2VUek1DTnRaRnNm?= =?utf-8?B?Mm9Xc1hmUHJneVNoQkFSY0gxRFVrSnExdTJFbW5lOWR6V1R5WWtFQXpUVWE1?= =?utf-8?B?eEtxazNLWjRSQmxCOVF3OE1ZMFZOVE96NUxVUGFPY2R2dVF2VndqMUJFdWJG?= =?utf-8?B?WHhTRzdCK2NhVlowdmdEZ205bDZJWmxOdXU0VXYwSnF4VnJ4ZjVtWHg2Tk9t?= =?utf-8?B?RVd6Rkx4cEU1UVErSDc1MjVGaGtDMXRNTVVQRDN0aG5VZWVzbXlhTUtibXll?= =?utf-8?B?andza1JmWEdraEpiS2JLRVQxVDl2cVdlakVsRlBQTy91alR6ZS9WU29uMzNF?= =?utf-8?B?NGJjVjg3NEtiUHFxa3dXUkMrcXpwbVFnemFpK3FBNnJGS2I5TE9WSHNndkdk?= =?utf-8?B?Z1BCU3dkRSsxcWZKNU1URjBXNmhxai9CYjhabGUvUGZlVlRaYzBXVThrK1NV?= =?utf-8?B?OUFnTEthNG5zSzJ4ZnRlQmJhRkdrNE1WeXpPR1ZvdUQ2SFpJSlZoOGxNWUNh?= =?utf-8?B?MWp3bGFTbk1TWlBxaGY0anFBUzdFdWFsZC9CUmtEWllDdTdqdW0xd1hrQmdL?= =?utf-8?B?ZXgvNGFvdy9SNkNBdElKMkZ0dVZBPT0=?= Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BL1PR11MB5384.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: e6f1f5c3-2cc5-4ee8-300f-08d9eaee73d6 X-MS-Exchange-CrossTenant-originalarrivaltime: 08 Feb 2022 10:33:31.4918 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3f4057f3-b418-4d4e-ba84-d55b4e897d88 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 6qfOPr+6ziUhR7Uz8VKHRDa9Ck3TV90LQ/ldf8Ako1SCsr/Tq3rcnoSXqvdj0pOydqr+OFpfOISQbfBGZjJ+vKNfc2opL/EjSLoeRug6MeM= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO1PR11MB4995 X-Spam-Status: No, score=-0.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, NICE_REPLY_A,PDS_OTHER_BAD_TLD,RDNS_NONE,SPF_HELO_NONE, T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org T24gMi84LzIyIDEwOjU5IEFNLCBKYWNvcG8gTW9uZGkgd3JvdGU6DQo+IEhpIEV1Z2VuDQo+IA0K PiBPbiBNb24sIEZlYiAwNywgMjAyMiBhdCAwMTo0MDozMVBNICswMDAwLCBFdWdlbi5IcmlzdGV2 QG1pY3JvY2hpcC5jb20gd3JvdGU6DQo+PiBPbiAyLzcvMjIgMjo0NCBQTSwgSmFjb3BvIE1vbmRp IHdyb3RlOg0KPj4+IEhpIEV1Z2VuDQo+Pj4NCj4+PiBPbiBGcmksIEphbiAyMSwgMjAyMiBhdCAw MzoxNDowOFBNICswMjAwLCBFdWdlbiBIcmlzdGV2IHdyb3RlOg0KPj4+PiBJbXBsZW1lbnQgdGhl IHN1cHBvcnQgZm9yIG1lZGlhLWNvbnRyb2xsZXIuDQo+Pj4+IFRoaXMgbWVhbnMgdGhhdCB0aGUg Y2FwYWJpbGl0aWVzIG9mIHRoZSBkcml2ZXIgaGF2ZSBjaGFuZ2VkIGFuZCBub3cNCj4+Pj4gaXQg YWxzbyBhZHZlcnRpc2VzIHRoZSBJT19NQyAuDQo+Pj4+IFRoZSBkcml2ZXIgd2lsbCByZWdpc3Rl ciBpdCdzIG1lZGlhIGRldmljZSwgYW5kIGFkZCB0aGUgdmlkZW8gZW50aXR5IHRvIHRoaXMNCj4+ Pj4gbWVkaWEgZGV2aWNlLiBUaGUgc3ViZGV2aWNlcyBhcmUgcmVnaXN0ZXJlZCB0byB0aGUgc2Ft ZSBtZWRpYSBkZXZpY2UuDQo+Pj4+IFRoZSBJU0Mgd2lsbCBoYXZlIGEgYmFzZSBlbnRpdHkgd2hp Y2ggaXMgYXV0by1kZXRlY3RlZCBhcyBhdG1lbF9pc2NfYmFzZS4NCj4+Pj4gSXQgd2lsbCBhbHNv IHJlZ2lzdGVyIGEgc3ViZGV2aWNlIHRoYXQgYWxsb3dzIGNyb3BwaW5nIG9mIHRoZSBpbmNvbWlu ZyBmcmFtZQ0KPj4+PiB0byB0aGUgbWF4aW11bSBmcmFtZSBzaXplIHN1cHBvcnRlZCBieSB0aGUg SVNDLg0KPj4+PiBUaGUgSVNDIHdpbGwgY3JlYXRlIGEgbGluayBiZXR3ZWVuIHRoZSBzdWJkZXZp Y2UgdGhhdCBpcyBhc3luY2hyb25vdXNseQ0KPj4+PiByZWdpc3RlcmVkIGFuZCB0aGUgYXRtZWxf aXNjX3NjYWxlciBlbnRpdHkuDQo+Pj4+IFRoZW4sIHRoZSBhdG1lbF9pc2Nfc2NhbGVyIGFuZCBh dG1lbF9pc2NfYmFzZSBhcmUgY29ubmVjdGVkIHRocm91Z2ggYW5vdGhlcg0KPj4+PiBsaW5rLg0K Pj4+Pg0KPj4+PiBTaWduZWQtb2ZmLWJ5OiBFdWdlbiBIcmlzdGV2IDxldWdlbi5ocmlzdGV2QG1p Y3JvY2hpcC5jb20+DQo+Pj4+IC0tLQ0KPj4+PiBDaGFuZ2VzIGluIHY0Og0KPj4+PiBBcyBzdWdn ZXN0ZWQgYnkgSmFjb3BvOg0KPj4+PiAtIHJlbmFtZWQgYXRtZWxfaXNjX21jIHRvIGF0bWVsX2lz Y19zY2FsZXIuYw0KPj4+PiAtIG1vdmVkIGluaXRfbWMvY2xlYW5fbWMgdG8gaXNjX2Jhc2UgZmls ZQ0KPj4+Pg0KPj4+PiBDaGFuZ2VzIGluIHYyOg0KPj4+PiAtIGltcGxlbWVudCB0cnkgZm9ybWF0 cw0KPj4+Pg0KPj4+PiAgICBkcml2ZXJzL21lZGlhL3BsYXRmb3JtL2F0bWVsL01ha2VmaWxlICAg ICAgICAgfCAgIDIgKy0NCj4+Pj4gICAgZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9hdG1lbC9hdG1l bC1pc2MtYmFzZS5jIHwgIDczICsrKysrLQ0KPj4+PiAgICAuLi4vbWVkaWEvcGxhdGZvcm0vYXRt ZWwvYXRtZWwtaXNjLXNjYWxlci5jICAgfCAyNDUgKysrKysrKysrKysrKysrKysrDQo+Pj4+ICAg IGRyaXZlcnMvbWVkaWEvcGxhdGZvcm0vYXRtZWwvYXRtZWwtaXNjLmggICAgICB8ICAzNyArKysN Cj4+Pj4gICAgLi4uL21lZGlhL3BsYXRmb3JtL2F0bWVsL2F0bWVsLXNhbWE1ZDItaXNjLmMgIHwg IDE0ICstDQo+Pj4+ICAgIC4uLi9tZWRpYS9wbGF0Zm9ybS9hdG1lbC9hdG1lbC1zYW1hN2c1LWlz Yy5jICB8ICAxMiArLQ0KPj4+PiAgICA2IGZpbGVzIGNoYW5nZWQsIDM3NSBpbnNlcnRpb25zKCsp LCA4IGRlbGV0aW9ucygtKQ0KPj4+PiAgICBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9tZWRp YS9wbGF0Zm9ybS9hdG1lbC9hdG1lbC1pc2Mtc2NhbGVyLmMNCj4+Pj4NCj4+Pj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vYXRtZWwvTWFrZWZpbGUgYi9kcml2ZXJzL21lZGlh L3BsYXRmb3JtL2F0bWVsL01ha2VmaWxlDQo+Pj4+IGluZGV4IDc5NGU4ZjczOTI4Ny4uZjAyZDAz ZGY4OWQ2IDEwMDY0NA0KPj4+PiAtLS0gYS9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL2F0bWVsL01h a2VmaWxlDQo+Pj4+ICsrKyBiL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vYXRtZWwvTWFrZWZpbGUN Cj4+Pj4gQEAgLTEsNyArMSw3IEBADQo+Pj4+ICAgICMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6 IEdQTC0yLjAtb25seQ0KPj4+PiAgICBhdG1lbC1pc2Mtb2JqcyA9IGF0bWVsLXNhbWE1ZDItaXNj Lm8NCj4+Pj4gICAgYXRtZWwteGlzYy1vYmpzID0gYXRtZWwtc2FtYTdnNS1pc2Mubw0KPj4+PiAt YXRtZWwtaXNjLWNvbW1vbi1vYmpzID0gYXRtZWwtaXNjLWJhc2UubyBhdG1lbC1pc2MtY2xrLm8N Cj4+Pj4gK2F0bWVsLWlzYy1jb21tb24tb2JqcyA9IGF0bWVsLWlzYy1iYXNlLm8gYXRtZWwtaXNj LWNsay5vIGF0bWVsLWlzYy1zY2FsZXIubw0KPj4+Pg0KPj4+PiAgICBvYmotJChDT05GSUdfVklE RU9fQVRNRUxfSVNJKSArPSBhdG1lbC1pc2kubw0KPj4+PiAgICBvYmotJChDT05GSUdfVklERU9f QVRNRUxfSVNDX0JBU0UpICs9IGF0bWVsLWlzYy1jb21tb24ubw0KPj4+PiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9hdG1lbC9hdG1lbC1pc2MtYmFzZS5jIGIvZHJpdmVycy9t ZWRpYS9wbGF0Zm9ybS9hdG1lbC9hdG1lbC1pc2MtYmFzZS5jDQo+Pj4+IGluZGV4IDZiMDAwNTk4 N2ExNy4uNmI0ODIyNzBlYjkzIDEwMDY0NA0KPj4+PiAtLS0gYS9kcml2ZXJzL21lZGlhL3BsYXRm b3JtL2F0bWVsL2F0bWVsLWlzYy1iYXNlLmMNCj4+Pj4gKysrIGIvZHJpdmVycy9tZWRpYS9wbGF0 Zm9ybS9hdG1lbC9hdG1lbC1pc2MtYmFzZS5jDQo+Pj4+IEBAIC0xNzEwLDYgKzE3MTAsNyBAQCBz dGF0aWMgaW50IGlzY19hc3luY19ib3VuZChzdHJ1Y3QgdjRsMl9hc3luY19ub3RpZmllciAqbm90 aWZpZXIsDQo+Pj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBzdHJ1Y3QgaXNjX2RldmljZSwgdjRsMl9kZXYpOw0KPj4+PiAgICAgICAgIHN0cnVjdCBpc2Nf c3ViZGV2X2VudGl0eSAqc3ViZGV2X2VudGl0eSA9DQo+Pj4+ICAgICAgICAgICAgICAgICBjb250 YWluZXJfb2Yobm90aWZpZXIsIHN0cnVjdCBpc2Nfc3ViZGV2X2VudGl0eSwgbm90aWZpZXIpOw0K Pj4+PiArICAgICBpbnQgcGFkOw0KPj4+Pg0KPj4+PiAgICAgICAgIGlmICh2aWRlb19pc19yZWdp c3RlcmVkKCZpc2MtPnZpZGVvX2RldikpIHsNCj4+Pj4gICAgICAgICAgICAgICAgIHY0bDJfZXJy KCZpc2MtPnY0bDJfZGV2LCAib25seSBzdXBwb3J0cyBvbmUgc3ViLWRldmljZS5cbiIpOw0KPj4+ PiBAQCAtMTcxOCw2ICsxNzE5LDE2IEBAIHN0YXRpYyBpbnQgaXNjX2FzeW5jX2JvdW5kKHN0cnVj dCB2NGwyX2FzeW5jX25vdGlmaWVyICpub3RpZmllciwNCj4+Pj4NCj4+Pj4gICAgICAgICBzdWJk ZXZfZW50aXR5LT5zZCA9IHN1YmRldjsNCj4+Pj4NCj4+Pj4gKyAgICAgcGFkID0gbWVkaWFfZW50 aXR5X2dldF9md25vZGVfcGFkKCZzdWJkZXYtPmVudGl0eSwgYXNkLT5tYXRjaC5md25vZGUsDQo+ Pj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNRURJQV9QQURfRkxf U09VUkNFKTsNCj4+Pj4gKyAgICAgaWYgKHBhZCA8IDApIHsNCj4+Pj4gKyAgICAgICAgICAgICB2 NGwyX2VycigmaXNjLT52NGwyX2RldiwgImZhaWxlZCB0byBmaW5kIHBhZCBmb3IgJXNcbiIsDQo+ Pj4+ICsgICAgICAgICAgICAgICAgICAgICAgc3ViZGV2LT5uYW1lKTsNCj4+Pj4gKyAgICAgICAg ICAgICByZXR1cm4gcGFkOw0KPj4+PiArICAgICB9DQo+Pj4+ICsNCj4+Pj4gKyAgICAgaXNjLT5y ZW1vdGVfcGFkID0gcGFkOw0KPj4+PiArDQo+Pj4+ICAgICAgICAgcmV0dXJuIDA7DQo+Pj4+ICAg IH0NCj4+Pj4NCj4+Pj4gQEAgLTE3MzIsOCArMTc0Myw4IEBAIHN0YXRpYyB2b2lkIGlzY19hc3lu Y191bmJpbmQoc3RydWN0IHY0bDJfYXN5bmNfbm90aWZpZXIgKm5vdGlmaWVyLA0KPj4+PiAgICAg ICAgIHY0bDJfY3RybF9oYW5kbGVyX2ZyZWUoJmlzYy0+Y3RybHMuaGFuZGxlcik7DQo+Pj4+ICAg IH0NCj4+Pj4NCj4+Pj4gLXN0YXRpYyBzdHJ1Y3QgaXNjX2Zvcm1hdCAqZmluZF9mb3JtYXRfYnlf Y29kZShzdHJ1Y3QgaXNjX2RldmljZSAqaXNjLA0KPj4+PiAtICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBjb2RlLCBpbnQgKmluZGV4KQ0KPj4+ PiArc3RydWN0IGlzY19mb3JtYXQgKmlzY19maW5kX2Zvcm1hdF9ieV9jb2RlKHN0cnVjdCBpc2Nf ZGV2aWNlICppc2MsDQo+Pj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgdW5zaWduZWQgaW50IGNvZGUsIGludCAqaW5kZXgpDQo+Pj4+ICAgIHsNCj4+Pj4gICAgICAg ICBzdHJ1Y3QgaXNjX2Zvcm1hdCAqZm10ID0gJmlzYy0+Zm9ybWF0c19saXN0WzBdOw0KPj4+PiAg ICAgICAgIHVuc2lnbmVkIGludCBpOw0KPj4+PiBAQCAtMTc0OSw2ICsxNzYwLDcgQEAgc3RhdGlj IHN0cnVjdCBpc2NfZm9ybWF0ICpmaW5kX2Zvcm1hdF9ieV9jb2RlKHN0cnVjdCBpc2NfZGV2aWNl ICppc2MsDQo+Pj4+DQo+Pj4+ICAgICAgICAgcmV0dXJuIE5VTEw7DQo+Pj4+ICAgIH0NCj4+Pj4g K0VYUE9SVF9TWU1CT0xfR1BMKGlzY19maW5kX2Zvcm1hdF9ieV9jb2RlKTsNCj4+Pj4NCj4+Pj4g ICAgc3RhdGljIGludCBpc2NfZm9ybWF0c19pbml0KHN0cnVjdCBpc2NfZGV2aWNlICppc2MpDQo+ Pj4+ICAgIHsNCj4+Pj4gQEAgLTE3NjUsNyArMTc3Nyw3IEBAIHN0YXRpYyBpbnQgaXNjX2Zvcm1h dHNfaW5pdChzdHJ1Y3QgaXNjX2RldmljZSAqaXNjKQ0KPj4+PiAgICAgICAgICAgICAgICBOVUxM LCAmbWJ1c19jb2RlKSkgew0KPj4+PiAgICAgICAgICAgICAgICAgbWJ1c19jb2RlLmluZGV4Kys7 DQo+Pj4+DQo+Pj4+IC0gICAgICAgICAgICAgZm10ID0gZmluZF9mb3JtYXRfYnlfY29kZShpc2Ms IG1idXNfY29kZS5jb2RlLCAmaSk7DQo+Pj4+ICsgICAgICAgICAgICAgZm10ID0gaXNjX2ZpbmRf Zm9ybWF0X2J5X2NvZGUoaXNjLCBtYnVzX2NvZGUuY29kZSwgJmkpOw0KPj4+PiAgICAgICAgICAg ICAgICAgaWYgKCFmbXQpIHsNCj4+Pj4gICAgICAgICAgICAgICAgICAgICAgICAgdjRsMl93YXJu KCZpc2MtPnY0bDJfZGV2LCAiTWJ1cyBjb2RlICV4IG5vdCBzdXBwb3J0ZWRcbiIsDQo+Pj4+ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYnVzX2NvZGUuY29kZSk7DQo+Pj4+IEBA IC0xODkxLDcgKzE5MDMsOCBAQCBzdGF0aWMgaW50IGlzY19hc3luY19jb21wbGV0ZShzdHJ1Y3Qg djRsMl9hc3luY19ub3RpZmllciAqbm90aWZpZXIpDQo+Pj4+ICAgICAgICAgdmRldi0+cXVldWUg ICAgICAgICAgICAgPSBxOw0KPj4+PiAgICAgICAgIHZkZXYtPmxvY2sgICAgICAgICAgICAgID0g JmlzYy0+bG9jazsNCj4+Pj4gICAgICAgICB2ZGV2LT5jdHJsX2hhbmRsZXIgICAgICA9ICZpc2Mt PmN0cmxzLmhhbmRsZXI7DQo+Pj4+IC0gICAgIHZkZXYtPmRldmljZV9jYXBzICAgICAgID0gVjRM Ml9DQVBfU1RSRUFNSU5HIHwgVjRMMl9DQVBfVklERU9fQ0FQVFVSRTsNCj4+Pj4gKyAgICAgdmRl di0+ZGV2aWNlX2NhcHMgICAgICAgPSBWNEwyX0NBUF9TVFJFQU1JTkcgfCBWNEwyX0NBUF9WSURF T19DQVBUVVJFIHwNCj4+Pj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWNEwyX0NB UF9JT19NQzsNCj4+Pj4gICAgICAgICB2aWRlb19zZXRfZHJ2ZGF0YSh2ZGV2LCBpc2MpOw0KPj4+ Pg0KPj4+PiAgICAgICAgIHJldCA9IHZpZGVvX3JlZ2lzdGVyX2RldmljZSh2ZGV2LCBWRkxfVFlQ RV9WSURFTywgLTEpOw0KPj4+PiBAQCAtMTkwMSw4ICsxOTE0LDE4IEBAIHN0YXRpYyBpbnQgaXNj X2FzeW5jX2NvbXBsZXRlKHN0cnVjdCB2NGwyX2FzeW5jX25vdGlmaWVyICpub3RpZmllcikNCj4+ Pj4gICAgICAgICAgICAgICAgIGdvdG8gaXNjX2FzeW5jX2NvbXBsZXRlX2VycjsNCj4+Pj4gICAg ICAgICB9DQo+Pj4+DQo+Pj4+ICsgICAgIHJldCA9IGlzY19zY2FsZXJfbGluayhpc2MpOw0KPj4+ PiArICAgICBpZiAocmV0IDwgMCkNCj4+Pj4gKyAgICAgICAgICAgICBnb3RvIGlzY19hc3luY19j b21wbGV0ZV91bnJlZ2lzdGVyX2RldmljZTsNCj4+Pj4gKw0KPj4+PiArICAgICByZXQgPSBtZWRp YV9kZXZpY2VfcmVnaXN0ZXIoJmlzYy0+bWRldik7DQo+Pj4+ICsgICAgIGlmIChyZXQgPCAwKQ0K Pj4+PiArICAgICAgICAgICAgIGdvdG8gaXNjX2FzeW5jX2NvbXBsZXRlX3VucmVnaXN0ZXJfZGV2 aWNlOw0KPj4+PiAgICAgICAgIHJldHVybiAwOw0KPj4+Pg0KPj4+PiAraXNjX2FzeW5jX2NvbXBs ZXRlX3VucmVnaXN0ZXJfZGV2aWNlOg0KPj4+PiArICAgICB2aWRlb191bnJlZ2lzdGVyX2Rldmlj ZSh2ZGV2KTsNCj4+Pj4gKw0KPj4+PiAgICBpc2NfYXN5bmNfY29tcGxldGVfZXJyOg0KPj4+PiAg ICAgICAgIG11dGV4X2Rlc3Ryb3koJmlzYy0+bG9jayk7DQo+Pj4+ICAgICAgICAgcmV0dXJuIHJl dDsNCj4+Pj4gQEAgLTE5NjksNiArMTk5Miw0OCBAQCBpbnQgaXNjX3BpcGVsaW5lX2luaXQoc3Ry dWN0IGlzY19kZXZpY2UgKmlzYykNCj4+Pj4gICAgfQ0KPj4+PiAgICBFWFBPUlRfU1lNQk9MX0dQ TChpc2NfcGlwZWxpbmVfaW5pdCk7DQo+Pj4+DQo+Pj4+ICtpbnQgaXNjX21jX2luaXQoc3RydWN0 IGlzY19kZXZpY2UgKmlzYywgdTMyIHZlcikNCj4+Pj4gK3sNCj4+Pj4gKyAgICAgY29uc3Qgc3Ry dWN0IG9mX2RldmljZV9pZCAqbWF0Y2g7DQo+Pj4+ICsgICAgIGludCByZXQ7DQo+Pj4+ICsNCj4+ Pj4gKyAgICAgaXNjLT52aWRlb19kZXYuZW50aXR5LmZ1bmN0aW9uID0gTUVESUFfRU5UX0ZfSU9f VjRMOw0KPj4+PiArICAgICBpc2MtPnZpZGVvX2Rldi5lbnRpdHkuZmxhZ3MgPSBNRURJQV9FTlRf RkxfREVGQVVMVDsNCj4+Pg0KPj4+IFNob3VsZCB5b3Ugc2V0IGVudGl0eS5vcHMubGlua192YWxp ZGF0ZSA9IHY0bDJfc3ViZGV2X2xpbmtfdmFsaWRhdGUNCj4+PiB0byBiZSBhYmxlIHRvIGhhdmUg dGhlIG1lZGlhIHBpcGVsaW5lIHZhbGlkYXRlZCBhdA0KPj4+IG1lZGlhX3BpcGVsaW5lX3N0YXJ0 KCkgdGltZSA/DQo+Pg0KPj4gSGksDQo+Pg0KPj4gSSBhbSBkb2luZyB0aGF0IGluIGEgc3Vic2Vx dWVudCBwYXRjaC4gVGhpbmdzIGFyZSBub3QgY29tcGxldGVseSByZWFkeQ0KPj4gYXQgdGhpcyBt b21lbnQsIGJlY2F1c2UgSVNDIHN0aWxsIHJlbGllcyBvbiB0aGUgb2xkIG1lY2hhbmlzbSB0byBj YWxsDQo+PiB2NGwyX3N1YmRldl9jYWxsIHdpdGggc2V0X2ZtdCBvbiB0aGUgc3ViZGV2aWNlICh3 aGljaCBzdWJzZXF1ZW50IHBhdGNoDQo+PiByZW1vdmVzIGFuZCBhZGRzIGNoZWNrcyB0byB0aGUg bGluayB2YWxpZGF0ZSApLg0KPj4NCj4gDQo+IEkgc2VlLi4gdGhlIHN1YnNlcXVlbnQgcGF0Y2hl cyBhcmUgbm90IHBhcnQgb2YgdGhpcyBzZXJpZXMsIHJpZ2h0ID8NCg0KTm8uIFBhdGNoIDcgZG9l cyB0aGlzLiBJbiB0aGF0IHBhdGNoLCB0aGUgbGluayB2YWxpZGF0aW9uIGlzIGNyZWF0ZWQgYW5k IA0KYWxsIHRoZSBsb2dpYyBvZiBmb3JtYXQgcHJvcGFnYXRpb24gaXMgcmVtb3ZlZCBhbmQgcmV3 b3JrZWQsIGFuZCBjcmVhdGVzIA0KdGhlIG5lZWQgZm9yIHRoZSBsaW5rX3ZhbGlkYXRlIGNhbGwN CkNvdWxkIHlvdSBoYXZlIGFsc28gYSBsb29rIGF0IHRoYXQgcGF0Y2ggPw0KPiANCj4gSSB0aGlu ayBwYXRjaGVzIDEsIDIsIDQsIDUgYW5kIDYgZnJvbSB0aGlzIHNlcmllcyBkbyBub3QgZGVwZW5k IG9uDQo+IHRoZSBpbnRyb2R1Y3Rpb24gb2YgbWVkaWEgY29udHJvbGxlciBvciB0aGUgc2NhbGVy LCByaWdodCA/IChJJ20gbm90DQo+IHN1cmUgaWYgdGhlIERUUyBwYXRjaGVzIGRvKS4NCj4gDQo+ IElmIHRoYXQncyB0aGUgY2FzZSwgd291bGQgaXQgbWFrZSBzZW5zZSB0byB0byBmYXN0LXRyYWNr IHRoZW0gKGFzIHNvbWUNCj4gb2YgdGhlbSBhcmUgZml4ZXMpIGFuZCB0aGVuIG9uIHRvcCBwbHVt YiB0aGUgbWVkaWEgY29udHJvbGxlcg0KPiBpbmZyYXN0cnVjdHVyZSB3aXRoIHRoaXMgcGF0Y2gg YW5kIHRoZSBvbmVzIHlvdSBoYXZlIGJlZW4gbWVudGlvbmluZyA/DQoNCkl0IHdvdWxkIG1ha2Ug c2Vuc2UuDQoNCj4gDQo+Pj4NCj4+Pj4gKyAgICAgaXNjLT5wYWRzW0lTQ19QQURfU0lOS10uZmxh Z3MgPSBNRURJQV9QQURfRkxfU0lOSzsNCj4+Pj4gKw0KPj4+PiArICAgICByZXQgPSBtZWRpYV9l bnRpdHlfcGFkc19pbml0KCZpc2MtPnZpZGVvX2Rldi5lbnRpdHksIElTQ19QQURTX05VTSwNCj4+ Pj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc2MtPnBhZHMpOw0KPj4+PiAr ICAgICBpZiAocmV0IDwgMCkgew0KPj4+PiArICAgICAgICAgICAgIGRldl9lcnIoaXNjLT5kZXYs ICJtZWRpYSBlbnRpdHkgaW5pdCBmYWlsZWRcbiIpOw0KPj4+PiArICAgICAgICAgICAgIHJldHVy biByZXQ7DQo+Pj4+ICsgICAgIH0NCj4+Pj4gKw0KPj4+PiArICAgICBpc2MtPm1kZXYuZGV2ID0g aXNjLT5kZXY7DQo+Pj4+ICsNCj4+Pj4gKyAgICAgbWF0Y2ggPSBvZl9tYXRjaF9ub2RlKGlzYy0+ ZGV2LT5kcml2ZXItPm9mX21hdGNoX3RhYmxlLA0KPj4+PiArICAgICAgICAgICAgICAgICAgICAg ICAgICAgaXNjLT5kZXYtPm9mX25vZGUpOw0KPj4+PiArDQo+Pj4+ICsgICAgIHN0cnNjcHkoaXNj LT5tZGV2LmRyaXZlcl9uYW1lLCBLQlVJTERfTU9ETkFNRSwNCj4+Pj4gKyAgICAgICAgICAgICBz aXplb2YoaXNjLT5tZGV2LmRyaXZlcl9uYW1lKSk7DQo+Pj4+ICsgICAgIHN0cnNjcHkoaXNjLT5t ZGV2Lm1vZGVsLCBtYXRjaC0+Y29tcGF0aWJsZSwgc2l6ZW9mKGlzYy0+bWRldi5tb2RlbCkpOw0K Pj4+PiArICAgICBzbnByaW50Zihpc2MtPm1kZXYuYnVzX2luZm8sIHNpemVvZihpc2MtPm1kZXYu YnVzX2luZm8pLCAicGxhdGZvcm06JXMiLA0KPj4+PiArICAgICAgICAgICAgICBpc2MtPnY0bDJf ZGV2Lm5hbWUpOw0KPj4+PiArICAgICBpc2MtPm1kZXYuaHdfcmV2aXNpb24gPSB2ZXI7DQo+Pj4+ ICsNCj4+Pj4gKyAgICAgbWVkaWFfZGV2aWNlX2luaXQoJmlzYy0+bWRldik7DQo+Pj4+ICsNCj4+ Pj4gKyAgICAgaXNjLT52NGwyX2Rldi5tZGV2ID0gJmlzYy0+bWRldjsNCj4+Pj4gKw0KPj4+PiAr ICAgICByZXR1cm4gaXNjX3NjYWxlcl9pbml0KGlzYyk7DQo+Pj4+ICt9DQo+Pj4+ICtFWFBPUlRf U1lNQk9MX0dQTChpc2NfbWNfaW5pdCk7DQo+Pj4+ICsNCj4+Pj4gK3ZvaWQgaXNjX21jX2NsZWFu dXAoc3RydWN0IGlzY19kZXZpY2UgKmlzYykNCj4+Pj4gK3sNCj4+Pj4gKyAgICAgbWVkaWFfZW50 aXR5X2NsZWFudXAoJmlzYy0+dmlkZW9fZGV2LmVudGl0eSk7DQo+Pj4+ICt9DQo+Pj4+ICtFWFBP UlRfU1lNQk9MX0dQTChpc2NfbWNfY2xlYW51cCk7DQo+Pj4+ICsNCj4+Pj4gICAgLyogcmVnbWFw IGNvbmZpZ3VyYXRpb24gKi8NCj4+Pj4gICAgI2RlZmluZSBBVE1FTF9JU0NfUkVHX01BWCAgICAw eGQ1Yw0KPj4+PiAgICBjb25zdCBzdHJ1Y3QgcmVnbWFwX2NvbmZpZyBpc2NfcmVnbWFwX2NvbmZp ZyA9IHsNCj4+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vYXRtZWwvYXRt ZWwtaXNjLXNjYWxlci5jIGIvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9hdG1lbC9hdG1lbC1pc2Mt c2NhbGVyLmMNCj4+Pj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4+Pj4gaW5kZXggMDAwMDAwMDAw MDAwLi5lYzk1Yzk2NjU4ODMNCj4+Pj4gLS0tIC9kZXYvbnVsbA0KPj4+PiArKysgYi9kcml2ZXJz L21lZGlhL3BsYXRmb3JtL2F0bWVsL2F0bWVsLWlzYy1zY2FsZXIuYw0KPj4+PiBAQCAtMCwwICsx LDI0NSBAQA0KPj4+PiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seQ0K Pj4+PiArLyoNCj4+Pj4gKyAqIE1pY3JvY2hpcCBJbWFnZSBTZW5zb3IgQ29udHJvbGxlciAoSVND KSBTY2FsZXIgZW50aXR5IHN1cHBvcnQNCj4+Pj4gKyAqDQo+Pj4+ICsgKiBDb3B5cmlnaHQgKEMp IDIwMjEgTWljcm9jaGlwIFRlY2hub2xvZ3ksIEluYy4NCj4+Pg0KPj4+IFRpbWUgZmxpZXMhIEl0 J3MgMjAyMiBhbHJlYWR5IDopDQo+Pj4NCj4+Pj4gKyAqDQo+Pj4+ICsgKiBBdXRob3I6IEV1Z2Vu IEhyaXN0ZXYgPGV1Z2VuLmhyaXN0ZXZAbWljcm9jaGlwLmNvbT4NCj4+Pj4gKyAqDQo+Pj4+ICsg Ki8NCj4+Pj4gKw0KPj4+PiArI2luY2x1ZGUgPG1lZGlhL21lZGlhLWRldmljZS5oPg0KPj4+PiAr I2luY2x1ZGUgPG1lZGlhL21lZGlhLWVudGl0eS5oPg0KPj4+PiArI2luY2x1ZGUgPG1lZGlhL3Y0 bDItZGV2aWNlLmg+DQo+Pj4+ICsjaW5jbHVkZSA8bWVkaWEvdjRsMi1zdWJkZXYuaD4NCj4+Pj4g Kw0KPj4+PiArI2luY2x1ZGUgImF0bWVsLWlzYy1yZWdzLmgiDQo+Pj4+ICsjaW5jbHVkZSAiYXRt ZWwtaXNjLmgiDQo+Pj4+ICsNCj4+Pj4gK3N0YXRpYyBpbnQgaXNjX3NjYWxlcl9nZXRfZm10KHN0 cnVjdCB2NGwyX3N1YmRldiAqc2QsDQo+Pj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICBz dHJ1Y3QgdjRsMl9zdWJkZXZfc3RhdGUgKnNkX3N0YXRlLA0KPj4+PiArICAgICAgICAgICAgICAg ICAgICAgICAgICAgc3RydWN0IHY0bDJfc3ViZGV2X2Zvcm1hdCAqZm9ybWF0KQ0KPj4+PiArew0K Pj4+PiArICAgICBzdHJ1Y3QgaXNjX2RldmljZSAqaXNjID0gY29udGFpbmVyX29mKHNkLCBzdHJ1 Y3QgaXNjX2RldmljZSwgc2NhbGVyX3NkKTsNCj4+Pj4gKyAgICAgc3RydWN0IHY0bDJfbWJ1c19m cmFtZWZtdCAqdjRsMl90cnlfZm10Ow0KPj4+PiArDQo+Pj4+ICsgICAgIGlmIChmb3JtYXQtPndo aWNoID09IFY0TDJfU1VCREVWX0ZPUk1BVF9UUlkpIHsNCj4+Pj4gKyAgICAgICAgICAgICB2NGwy X3RyeV9mbXQgPSB2NGwyX3N1YmRldl9nZXRfdHJ5X2Zvcm1hdChzZCwgc2Rfc3RhdGUsDQo+Pj4+ ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Zm9ybWF0LT5wYWQpOw0KPj4+PiArICAgICAgICAgICAgIGZvcm1hdC0+Zm9ybWF0ID0gKnY0bDJf dHJ5X2ZtdDsNCj4+Pj4gKw0KPj4+PiArICAgICAgICAgICAgIHJldHVybiAwOw0KPj4+PiArICAg ICB9DQo+Pj4+ICsNCj4+Pj4gKyAgICAgZm9ybWF0LT5mb3JtYXQgPSBpc2MtPnNjYWxlcl9mb3Jt YXQ7DQo+Pj4NCj4+PiBpc2MtPnNjYWxlcl9mb3JtYXQgaXMgb25seSB1c2VkIGluc2lkZSB0aGlz IGZpbGUgaWYgSSdtIG5vdCBtaXN0YWtlbi4NCj4+PiBJIHdvbmRlciB3aHkgaXQgbGl2ZXMgaW4g dGhlIGlzY19kZXZpY2Ugc3RydWN0Lg0KPj4NCj4+IGlzY19kZXZpY2UgaXMgYSBwbGFjZWhvbGRl ciBmb3IgYWxsIGlzYyB0aGluZ3MuDQo+Pg0KPj4gSSB3b3VsZCBub3QgY3JlYXRlIGEgc2VwYXJh dGUgc3RydWN0IGluIHRoaXMgZmlsZSB0aGF0IHdvdWxkIGhhdmUgdG8gYmUNCj4+IGFsbG9jYXRl ZCBldGMuLi4ganVzdCBmb3Igb25lIHR3byB0aGluZ3MuIFNvIEkgcHJlZmVycmVkIHRvIGhhdmUg aXQgaW4NCj4+IHRoZSBzYW1lIHBsYWNlIGFzIGFsbCB0aGUgb3RoZXIgdGhpbmdzLg0KPj4NCj4+ Pg0KPj4+PiArDQo+Pj4+ICsgICAgIHJldHVybiAwOw0KPj4+PiArfQ0KPj4+PiArDQo+Pj4+ICtz dGF0aWMgaW50IGlzY19zY2FsZXJfc2V0X2ZtdChzdHJ1Y3QgdjRsMl9zdWJkZXYgKnNkLA0KPj4+ PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHY0bDJfc3ViZGV2X3N0YXRlICpz ZF9zdGF0ZSwNCj4+Pj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB2NGwyX3N1 YmRldl9mb3JtYXQgKnJlcV9mbXQpDQo+Pj4+ICt7DQo+Pj4+ICsgICAgIHN0cnVjdCBpc2NfZGV2 aWNlICppc2MgPSBjb250YWluZXJfb2Yoc2QsIHN0cnVjdCBpc2NfZGV2aWNlLCBzY2FsZXJfc2Qp Ow0KPj4+PiArICAgICBzdHJ1Y3QgdjRsMl9tYnVzX2ZyYW1lZm10ICp2NGwyX3RyeV9mbXQ7DQo+ Pj4+ICsgICAgIHN0cnVjdCBpc2NfZm9ybWF0ICpmbXQ7DQo+Pj4+ICsgICAgIHVuc2lnbmVkIGlu dCBpOw0KPj4+PiArDQo+Pj4+ICsgICAgIGlmIChyZXFfZm10LT5wYWQgPT0gSVNDX1NDQUxFUl9Q QURfU09VUkNFKQ0KPj4+PiArICAgICAgICAgICAgIHY0bF9ib3VuZF9hbGlnbl9pbWFnZQ0KPj4+ PiArICAgICAgICAgICAgICAgICAgICAgKCZyZXFfZm10LT5mb3JtYXQud2lkdGgsIDE2LCBpc2Mt Pm1heF93aWR0aCwgMCwNCj4+Pj4gKyAgICAgICAgICAgICAgICAgICAgICAmcmVxX2ZtdC0+Zm9y bWF0LmhlaWdodCwgMTYsIGlzYy0+bWF4X2hlaWdodCwgMCwgMCk7DQo+Pj4+ICsgICAgIGVsc2UN Cj4+Pj4gKyAgICAgICAgICAgICB2NGxfYm91bmRfYWxpZ25faW1hZ2UNCj4+Pj4gKyAgICAgICAg ICAgICAgICAgICAgICgmcmVxX2ZtdC0+Zm9ybWF0LndpZHRoLCAxNiwgMTAwMDAsIDAsDQo+Pj4+ ICsgICAgICAgICAgICAgICAgICAgICAgJnJlcV9mbXQtPmZvcm1hdC5oZWlnaHQsIDE2LCAxMDAw MCwgMCwgMCk7DQo+Pj4NCj4+PiBXaGVyZSBkb2VzIDEwMDAwIGNvbWUgZnJvbSA/DQo+Pg0KPj4g SXQncyBhIHJhbmRvbSBudW1iZXIuIERvIHlvdSBoYXZlIGFueSBzdWdnZXN0aW9uIGZvciBhIGJl dHRlciBvbmUgPw0KPiANCj4gQW4gYWN0dWFsIEhXIGxpbWl0ID8gOikNCg0KVGhlcmUgaXMgbm8g aGFyZHdhcmUgbGltaXQuIFRoZSBJU0MganVzdCBzdG9wcyBzYW1wbGluZyBwaXhlbHMgb25jZSB0 aGUgDQpjcm9wIGxpbWl0IGlzIHJlYWNoZWQuIFRoZSBlbGVtZW50IHRoYXQgZ2VuZXJhdGVzIHBp eGVscyBjb3VsZCBnbyBvbiANCmZvcmV2ZXIgLCBvciB1bnRpbCB0aGUgbmV4dCBIQkxBTksvVkJM QU5LLiBTbyB3aGF0IGxpbWl0IGNvdWxkIEkgcGxhY2UgDQpoZXJlID8NClRoZSBjcm9wcGluZyBp cyBtYW5kYXRvcnksIG90aGVyd2lzZSB0aGVyZSBjb3VsZCBiZSBhbiBvdmVyZmxvdyB3LnIudC4g DQp0aGUgYnVmZmVyIHNpemUgaWYgdGhlIElTQyB3b3VsZCBzYW1wbGUgbW9yZSBwaXhlbHMgdGhh biB0aGUgc29mdHdhcmUgDQpleHBlY3RzIGl0IHRvLg0KDQo+IA0KPj4gTWF5YmUgdGhpcyB3b3Vs ZCBiZSBtdWNoIG1vcmUgY2xlYXIgd2l0aCBteSBjb21tZW50cyBiZWxvdyAod2hlcmUgSSB3aWxs DQo+PiBleHBsYWluIHdoYXQgdGhlIGlzYyBzY2FsZXIgZG9lcyApDQo+PiBJbiBzaG9ydCwgaXQg YWxsb3dzIHRoZSBvdGhlciBlbnRpdHkgaW4gdGhlIGxpbmsgdG8gJ3NpbmsnIGEgaHVnZSBmb3Jt YXQNCj4+IGludG8gdGhpcyAnc2NhbGVyJyAuIEJlY2F1c2UgdGhlIHNjYWxlciBjYW4gY3JvcCBh bnl0aGluZyBiYXNpY2FsbHkgZG93bg0KPj4gdG8gdGhlIGJpZ2dlc3QgZm9ybWF0IHNpemUgdGhl IElTQyBjb3VsZCBoYW5kbGUuDQo+Pg0KPiANCj4gZG9lc24ndCBpdCBoYXZlIGFueSBkb2N1bWVu dGVkIGlucHV0IHNpemUgbGltaXQgPw0KDQpBcyBzdGF0ZWQgYWJvdmUsIElTQyBoYW5kbGVzIGEg cGl4ZWwgc3RyZWFtIGFuZCBzdG9yZXMgaXQgaW4gYW4gaW50ZXJuYWwgDQpTUkFNLiBJU0Mgc3Rv cHMgc2FtcGxpbmcgd2hlbiB0aGlzIFNSQU0gaXMgZnVsbCBvciB3aGVuIHRoZSBjcm9wcGluZyAN CmxpbWl0IGlzIHJlYWNoZWQuDQpBZnRlciBzdG9yaW5nIHRoZSBwaXhlbHMgaW4gdGhlIFNSQU0g KHdoaWNoIGlzIGxpbWl0ZWQgdG8gdGhlIElTQyANCm1heGltdW0gZnJhbWUgc2l6ZSksIHRoZSBJ U0Mgd2lsbCB3b3JrIG9uIHRoZSBwaXhlbHMgYW5kIHRoZW4gRE1BIHRoZSANCmZyYW1lIHRvIGFu b3RoZXIgUkFNLg0KDQo+IA0KPj4+DQo+Pj4+ICsNCj4+Pj4gKyAgICAgcmVxX2ZtdC0+Zm9ybWF0 LmNvbG9yc3BhY2UgPSBWNEwyX0NPTE9SU1BBQ0VfU1JHQjsNCj4+Pj4gKyAgICAgcmVxX2ZtdC0+ Zm9ybWF0LmZpZWxkID0gVjRMMl9GSUVMRF9OT05FOw0KPj4+PiArICAgICByZXFfZm10LT5mb3Jt YXQueWNiY3JfZW5jID0gVjRMMl9ZQ0JDUl9FTkNfREVGQVVMVDsNCj4+Pj4gKyAgICAgcmVxX2Zt dC0+Zm9ybWF0LnF1YW50aXphdGlvbiA9IFY0TDJfUVVBTlRJWkFUSU9OX0RFRkFVTFQ7DQo+Pj4+ ICsgICAgIHJlcV9mbXQtPmZvcm1hdC54ZmVyX2Z1bmMgPSBWNEwyX1hGRVJfRlVOQ19ERUZBVUxU Ow0KPj4+PiArDQo+Pj4+ICsgICAgIGZtdCA9IGlzY19maW5kX2Zvcm1hdF9ieV9jb2RlKGlzYywg cmVxX2ZtdC0+Zm9ybWF0LmNvZGUsICZpKTsNCj4+Pg0KPj4+IFNvIHlvdSByZWx5IG9uIHRoZSBp c2MgZm9ybWF0IGxpc3QgZm9yIHRoZSBzY2FsZXIgYXMgd2VsbCA/DQo+Pj4gSSB0aGluayBpdCdz IGZpbmUgYXMgbG9uZyBhcyB0aGV5IGFyZSBpZGVudGljYWwNCj4+DQo+PiBZZXMsIHRoZSBzY2Fs ZXIgaXMga2luZCBvZiBhIGR1bW15IGVudGl0eSAsIGJ1dCBpdCdzIHJlcXVpcmVkIGJ5IHRoZQ0K Pj4gbWVkaWEgY29udHJvbGxlciB2YWxpZGF0aW9uIG9mIHRoZSBwaXBlbGluZS4NCj4+DQo+IA0K PiBNb3JlIG9uIHRoaXMgbGF0ZXINCj4gDQo+Pj4NCj4+Pj4gKw0KPj4+PiArICAgICBpZiAoIWZt dCkNCj4+Pj4gKyAgICAgICAgICAgICBmbXQgPSAmaXNjLT5mb3JtYXRzX2xpc3RbMF07DQo+Pj4+ ICsNCj4+Pj4gKyAgICAgcmVxX2ZtdC0+Zm9ybWF0LmNvZGUgPSBmbXQtPm1idXNfY29kZTsNCj4+ Pj4gKw0KPj4+PiArICAgICBpZiAocmVxX2ZtdC0+d2hpY2ggPT0gVjRMMl9TVUJERVZfRk9STUFU X1RSWSkgew0KPj4+PiArICAgICAgICAgICAgIHY0bDJfdHJ5X2ZtdCA9IHY0bDJfc3ViZGV2X2dl dF90cnlfZm9ybWF0KHNkLCBzZF9zdGF0ZSwNCj4+Pj4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXFfZm10LT5wYWQpOw0KPj4+PiArICAg ICAgICAgICAgICp2NGwyX3RyeV9mbXQgPSByZXFfZm10LT5mb3JtYXQ7DQo+Pj4+ICsgICAgICAg ICAgICAgLyogVHJ5aW5nIG9uIHRoZSBwYWQgc2luayBtYWtlcyB0aGUgc291cmNlIHNpbmsgY2hh bmdlIHRvbyAqLw0KPj4+PiArICAgICAgICAgICAgIGlmIChyZXFfZm10LT5wYWQgPT0gSVNDX1ND QUxFUl9QQURfU0lOSykgew0KPj4+PiArICAgICAgICAgICAgICAgICAgICAgdjRsMl90cnlfZm10 ID0NCj4+Pj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdjRsMl9zdWJkZXZfZ2V0X3Ry eV9mb3JtYXQoc2QsIHNkX3N0YXRlLA0KPj4+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJU0NfU0NBTEVSX1BBRF9TT1VSQ0UpOw0KPj4+ PiArICAgICAgICAgICAgICAgICAgICAgKnY0bDJfdHJ5X2ZtdCA9IHJlcV9mbXQtPmZvcm1hdDsN Cj4+Pj4gKw0KPj4+PiArICAgICAgICAgICAgICAgICAgICAgdjRsX2JvdW5kX2FsaWduX2ltYWdl KCZ2NGwyX3RyeV9mbXQtPndpZHRoLA0KPj4+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDE2LCBpc2MtPm1heF93aWR0aCwgMCwNCj4+Pj4gKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmdjRsMl90cnlfZm10LT5oZWlnaHQsDQo+ Pj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTYsIGlzYy0+ bWF4X2hlaWdodCwgMCwgMCk7DQo+Pj4+ICsgICAgICAgICAgICAgfQ0KPj4+PiArICAgICAgICAg ICAgIC8qIGlmIHdlIGFyZSBqdXN0IHRyeWluZywgd2UgYXJlIGRvbmUgKi8NCj4+Pj4gKyAgICAg ICAgICAgICByZXR1cm4gMDsNCj4+Pj4gKyAgICAgfQ0KPj4+PiArDQo+Pj4+ICsgICAgIGlzYy0+ c2NhbGVyX2Zvcm1hdCA9IHJlcV9mbXQtPmZvcm1hdDsNCj4+Pg0KPj4+IE5vIHBlci1wYWQgZm9y bWF0IGJ1dCBhIGdsb2JhbCBzY2FsZXJfZm9ybWF0ID8gSG93IGRvIHlvdSBjb25maWd1cmUgc2Nh bGluZyA/DQo+Pj4NCj4+PiBBY3R1YWxseSwgSSB3b3VsZCBsaWtlIHRvIGtub3cgbW9yZSBhYm91 dCB0aGUgc2NhbGVyIGRldmljZQ0KPj4+IGNhcGFiaWxpdGllcy4gV2hhdCBmdW5jdGlvbnMgY2Fu IHRoaXMgSVAgcGVyZm9ybSA/IERvZXMgaXQgZG8NCj4+PiBjcm9wcGluZywgY2FuIGl0IGFsc28g ZG8gKGRvd24pc2NhbGluZyBvciBldmVuIGNvbXBvc2l0aW9uID8NCj4+Pg0KPj4+IEkgdGhpbmsg aXQgaXMgd29ydGggdG8gcmVhZA0KPj4+IGh0dHBzOi8vd3d3Lmtlcm5lbC5vcmcvZG9jL2h0bWwv bGF0ZXN0L3VzZXJzcGFjZS1hcGkvbWVkaWEvdjRsL2Rldi1zdWJkZXYuaHRtbCN2NGwyLXN1YmRl di1zZWxlY3Rpb25zDQo+Pj4gd2hlcmUgaXQgaXMgcmVwb3J0ZWQgaG93IGNyb3BwaW5nIGFuZCBz Y2FsaW5nIGFyZSBpbXBsZW1lbnRlZCBieSB1c2luZw0KPj4+IHRoZSBzZWxlY3Rpb24gQVBJLg0K Pj4+DQo+Pj4gRmlndXJlIDQuNSBpcyBwYXJ0aWN1bGFybHkgaGVscGZ1bCB0byBleHBsYWluIHRo ZSBzaW1wbGUgY3JvcCBjYXNlLA0KPj4+IGZvciB3aGljaCB5b3UgbmVlZCB0byBpbXBsZW1lbnQg c3VwcG9ydCB0byBieSBhZGRpbmcgc19zZWxlY3Rpb24gb24NCj4+PiB0aGUgc2luayBwYWQgVEdU X0NST1AgdGFyZ2V0Lg0KPj4NCj4+IFRoZSBzY2FsZXIgaXMga2luZCBvZiBhIGR1bW15IGVudGl0 eS4NCj4+IFRoZSBwcm9ibGVtIGlzIHRoYXQgZGlmZmVyZW50IHN1YmRldmljZXMgY2Fubm90IGJl IGNvbm5lY3RlZCBkaXJlY3RseSB0bw0KPj4gYSB2NGwgZW50aXR5LCBiZWNhdXNlIHRoZSBJU0Mg ZG9lcyBjcm9wcGluZyBvbiB0aGUgaW5jb21pbmcgZnJhbWUuDQo+PiBUaGUgSVNDIGhhcyBhIGxp bWl0IG9uIHRoZSB0b3RhbCBudW1iZXIgb2YgcGl4ZWxzIHBlciBmcmFtZSwgdGh1cyBpdA0KPj4g d2lsbCBkbyBhIGNyb3AuDQo+IA0KPiBXaGF0IGlzIHRoaXMgbGltaXQgcmVsYXRlZCB0byA/IEkg ZG9uJ3Qga25vdyB0aGUgSVNDIGludGVybmFscywgYnV0IGlzDQo+IHRoZSBsaW1pdGF0aW9uIGR1 ZSB0byB0aGUgb3ZlcmFsbCBpbWFnZSBzaXplLCBvciBtYXliZSBpdCdzIGR1ZSB0bw0KPiBzb21l IGxpbmUgYnVmZmVycyBiZWluZyBsaW1pdGVkIGluIHRoZSBzaXplIHRoZXkgY2FuIHRyYW5zZmVy IHRvDQo+IG1lbW9yeSA/IElzIGl0IGEgbGltaXRhdGlvbiBvbiB0aGUgc2l6ZSBvZiB0aGUgaW1h Z2UgaW4gcGl4ZWxzLCBvciBpcw0KPiBpdCBkdWUgdG8gYSBsaW1pdGF0aW9uIG9mIHRoZSBwcm9j ZXNzaW5nIGJhbmR3aWR0aCBvbiB0aGUgaW5wdXQNCj4gaW50ZXJmYWNlIGFuZCB0aHVzIGRlcGVu ZHMgb24gdGhlIGFjdHVhbCBzaXplIG9mIHRoZSBpbWFnZSBpbiBieXRlcyA/DQoNCkxpbWl0YXRp b24gaXMgYm90aCBvbiBsaW5lIHNpemUgYW5kIGZ1bGwgaW1hZ2Ugc2l6ZS4gRnJvbSBteSANCnVu ZGVyc3RhbmRpbmcsIGlzIHRoYXQgdGhlIGludGVybmFsIFNSQU0gaXMgbGltaXRlZCAoOCBNcGl4 ZWxzIHdpdGggYSANCnNtYWxsIHNhZmUgYnVmZmVyIG9uIHRvcCBpbiB0aGUgY2FzZSBvZiBzYW1h N2c1ICkNClRoaXMgU1JBTSBjb3VsZCBiZSB1c2VkIGFzIDgwMDAwMHgxMCBmb3IgZXhhbXBsZSwg b3IgMzIwMHgyNDY0IGZvciANCmFub3RoZXIgZXhhbXBsZS4gSG93ZXZlciwgSSBhbSBub3Qgc3Vy ZSBpZiBhIHJlYWwgbGluZSBvZiA4MDAsMDAwIHBpeGVscyANCm1ha2Ugc2Vuc2UsIG9yIGlmIHRo ZXJlIGlzIGFub3RoZXIgaW50ZXJuYWwgbWVjaGFuaXNtIGluIHRoZSBJU0MgdGhhdCANCnN0b3Bz IGl0Lg0KSW4gYW55IGNhc2UsIHRoZSBJU0MgaXMgY3JvcHBpbmcgdGhlIGluY29taW5nIGZyYW1l IGZyb20gYWFhWGJiYiB1cCB0byANCnRoZSBtYXhpbXVtIGZyYW1lIHRoYXQgaXQgY2FuIGhhbmRs ZQ0KDQo+IA0KPj4gU28sIGlmIEkgYWxsb3cgZS5nLiBhbiBlbnRpdHkgdGhhdCBzZW5kcyAzMjgw eDI0NjQgLCB3aGVuIHRoZSBJU0MgY2FuDQo+PiBvbmx5IGhhbmRsZSAzMjY0eDI0NjQgLCB0aGVu IHdlIGhhdmUgdHdvIGNob2ljZXM6DQo+PiAxLyBjcm9wIGl0IGFuZCBvdXRwdXQgdGhlIDMyNjR4 MjQ2NCAtPiBjYW5ub3QsIGJlY2F1c2UgdXNlcnNwYWNlIGV4cGVjdHMNCj4+IDMyODB4MjQ2NCwg YW5kIHRoZSB3aG9sZSBwaXBlbGluZSBmYWlscyB0byBjb25maWd1cmUsIHRoZXJlIGlzIGENCj4+ IG1pc21hdGNoIGJldHdlZW4gL2Rldi92aWRlbyBvdXRwdXQgYW5kIHdoYXQgdGhlIHdob2xlIHBp cGVsaW5lIHByb2R1Y2VzDQo+IA0KPiBJJ20gY29uZnVzZWQgaW4gZmlyc3QgcGxhY2UuIElmIHRo ZSBJU0MgY2Fubm90IG91dHB1dCBhbnl0aGluZyBsYXJnZXINCj4gdGhhbiAzMjY0eDI0NjQsIHRo ZW4gaWYgdXNlcnNwYWNlIHNldHMgYSAzMjgweDI0NjQgc2l6ZSBvbiB0aGUgSVNDLA0KPiB0aGlz IHNob3VsZCBiZSBhZGp1c3RlZCB0byAzMjY0eDI0NjQuDQoNCnllcywgdGhhdCBpcyB0cnVlLiBI b3dldmVyLCB3aXRob3V0IGFuIGVudGl0eSB0aGF0IHNheXMgJ0kgYW0gZG9pbmcgDQpjcm9wcGlu ZycsIHRoZSBtZWRpYSBwaXBlbGluZSB3aWxsIGZhaWwsIGJlY2F1c2UgcHJldmlvdXMgZW50aXR5 IHdpbGwgDQpvdXRwdXQgMzI4MHgyNDY0IC4NClRoZSBjb25jbHVzaW9uIHRvIGNyZWF0ZSBhIHNj YWxlciBlbnRpdGl0eSB3YXMgZG9uZSBkdXJpbmcgbXkgbGFzdCB5ZWFyIA0KZGlzY3Vzc2lvbnMg b24gdGhlIElSQy4gSSBjb3VsZCBub3QgZmluZCBhIHdheSB0byBwZXJmb3JtIHRoaXMgY3JvcHBp bmcgDQphdCB0aGUgdjRsIGVudGl0eSBzaWRlLCBhbmQgb25lIHJlYXNvbiBpcyB0aGF0IHRoZSB2 NGwgZW50aXR5IGRvZXMgbm90IA0Kc3VwcG9ydCB3aGF0IEkgbmVlZGVkICwgb3IgYXQgbGVhc3Qg dGhhdCB3YXMgbXkgdW5kZXJzdGFuZGluZy4NCllvdSBjbGFpbSB0aGF0IHRoZSB2NGwgZW50aXR5 IGNvdWxkIHBlcmZvcm0gdGhlIGNyb3BwaW5nIGluIHRoZSBzYW1lIA0KZW50aXR5ID8NCg0KTGV0 J3MgYXNzdW1lIGZvciBhIG1pbnV0ZSB0aGF0IGl0IGNvdWxkIGRvIHRoaXMuIEV2ZW4gc28sIEkg d291bGQgcHJlZmVyIA0KdG8gaGF2ZSBhIHNlcGFyYXRlIHNjYWxlciBlbnRpdHkgdG8gZG8gdGhp cyAsIGZvciBzZXZlcmFsIHJlYXNvbnM6DQotPiBJIHdvdWxkIGxpa2UgdG8gYmUgYWJsZSB0byBj cm9wIHRoZSBmcmFtZSBhcmJpdHJhcmlseSBpZiBJIHdhbnQgdG8sIA0KYW5kIHRoZSBzY2FsZXIg d291bGQgYWxsb3cgbWUgdG8gZG8gdGhpcyBlYXNpZXINCi0+IGl0IHdvdWxkIGJlIG1vcmUgb2J2 aW91cyB0aGF0IHRoZSBmcmFtZSBpcyBjcm9wcGVkIGJ5IGhhdmluZyB0aGlzIA0KZW50aXR5IHRo ZXJlDQotPiBpbiBmYWN0IHNvbWUgb2YgdGhlIElTQyB2ZXJzaW9ucyByZWFsbHkgaGF2ZSBhIGRv d24gc2NhbGVyLCB0aGF0IEkgDQpoYXZlIG5vdCBpbXBsZW1lbnRlZCB5ZXQuIFNvIGl0IHdvdWxk IGJlIHVzZWZ1bCB0byBhbHJlYWR5IGhhdmUgdGhpcyBpbiANCnBsYWNlIHRvIGJlIGFibGUgdG8g c2NhbGUgZG93biB3aXRoIGl0IGF0IGEgbGF0ZXIgdGltZS4NCg0KPiANCj4gT3IgaXMgdGhlIElT QyBsaW1pdGF0aW9uIG9uIHRoZSAtaW5wdXQtIHNpZGUgPw0KPiANCj4+IDIvIGRlbnkgdGhlIGxp bmssIGFuZCBhc2sgdGhlIHN1YmRldmljZSB0byBwcm9kdWNlIHRoZSAzMjY0eDI0NjQgd2hpY2gN Cj4+IHRoZSBJU0MgY2FuIGhhbmRsZSBhdCBtb3N0IC0+IGNhbm5vdCAsIGJlY2F1c2UgdGhlIHNl bnNvciBsZXQncyBzYXkgY2FuDQo+PiAqb25seSogcHJvZHVjZSAzMjgweDI0NjQgYW5kICphbnkq IG90aGVyIGZyYW1lIHNpemUgcmV0dXJucyBhbiBlcnJvci4NCj4gDQo+IGJ1Z2d5IHNlbnNvciBJ IHdvdWxkIHNheSA6KQ0KDQpJIGNhbm5vdCB0ZWxsIHRoaXMgdG8gdGhlIGN1c3RvbWVycywgYW5k IEkgY2Fubm90IGZhaWwgdGhlIHdob2xlIA0KcGlwZWxpbmUgYmVjYXVzZSB0aGUgc2Vuc29yIGRv ZXMgbm90IGNyb3AgMTYgcGl4ZWxzLCB3aGVuIGluIGZhY3QgSSBjYW4gDQpkbyB0aGlzIHZlcnkg ZWFzaWx5IG9uIHRoZSBJU0Mgc2lkZS4NCg0KPiANCj4+DQo+PiBUaGUgb25seSBzb2x1dGlvbiB0 byBtYWtlIGJvdGggd29ybGRzIGhhcHB5LCBpcyB0byBoYXZlIGEgZHVtbXkgZW50aXR5DQo+PiBj YWxsZWQgJ3NjYWxlcicgd2hpY2ggaW4gZmFjdCBub3cgaXQgb25seSBwZXJmb3JtcyBhIHNpbXBs ZSBjcm9wLg0KPj4gSXQgYWNjZXB0cyBhbnkgZnJhbWUgc2l6ZSBhdCBpbnB1dCAoaGVuY2UgdGhl IDEwMDAweDEwMDAwIHdoaWNoIHlvdSBzYXcNCj4+IGVhcmxpZXIpLCBhbmQgb3V0cHV0cyBhdCBt b3N0IDMyNjR4MjQ2NCB0aGUgaXNjX21heF9oZWlnaHQgYW5kDQo+PiBpc2NfbWF4X3dpZHRoLg0K PiANCj4gSSBoYXZlIGEgbWF5YmUgZHVtYiBxdWVzdGlvbjogY2FuIHRoZSBjcm9wcGluZyBvcGVy YXRpb24gYmUgbW9kZWxlZA0KPiBieSBhcHBseWluZyBhIFRHVF9DUk9QIHJlY3RhbmdsZSAod2hv c2UgX0JPVU5EIHNpemUgaXMgMzI4MHgyNDY0KSB0bw0KPiB0aGUgYXRtZWxfaXNjX2NvbW1vbiBl bnRpdHkgc2luayBwYWQgYW5kIGF2b2lkIHRoZSBzY2FsZXIgY29tcGxldGVseSA/DQoNCkkgYW0g bm90IHN1cmUuIFRoaXMgaXMgd2hhdCBJIHdhbnRlZCBpbml0aWFsbHkuIEJ1dCB0aGVuIEkgdGhv dWdodCBhYm91dCANCnRoZSB0aHJlZSByZWFzb25zIHN0YXRlZCBhYm92ZSBmb3IgdGhlIHVzZSBv ZiB0aGUgc2NhbGVyIGVudGl0eSwgYW5kIA0KZGlzY3Vzc2VkIHdpdGggZm9sa3Mgb24gdGhlIElS QywgYW5kIGNvbWUgdXAgd2l0aCB0aGUgc29sdXRpb24gZm9yIHRoZSANCnNjYWxlciBlbnRpdHkN Cg0KPiANCj4+DQo+PiBTbyB0byBhbnN3ZXIgeW91ciBxdWVzdGlvbiwgdGhlIGlzYyBzY2FsZXIg aXMgYSBzb2Z0d2FyZSBtb2RlbCBmb3IgYQ0KPj4gc2ltcGxlIGNyb3BwaW5nLCB0aGF0IHdvdWxk IG1ha2UgbWVkaWEgY29udHJvbGxlciBoYXBweSwgYW5kIGNhcHR1cmUNCj4+IHNvZnR3YXJlIGhh cHB5Lg0KPj4NCj4+IEhlcmUgaXQgaG93IGl0IGxvb2tzIDoNCj4+DQo+PiBEZXZpY2UgdG9wb2xv Z3kNCj4+IC0gZW50aXR5IDE6IGF0bWVsX2lzY19zY2FsZXIgKDIgcGFkcywgMiBsaW5rcykNCj4+ ICAgICAgICAgICAgICAgdHlwZSBWNEwyIHN1YmRldiBzdWJ0eXBlIFVua25vd24gZmxhZ3MgMA0K Pj4gICAgICAgICAgICAgICBkZXZpY2Ugbm9kZSBuYW1lIC9kZXYvdjRsLXN1YmRldjANCj4+ICAg ICAgICAgICBwYWQwOiBTaW5rDQo+PiAgICAgICAgICAgICAgICAgICBbZm10OlNSR0dCMTBfMVgx MC8zMjgweDI0NjQgZmllbGQ6bm9uZSBjb2xvcnNwYWNlOnNyZ2INCj4+ICAgICAgICAgICAgICAg ICAgICBjcm9wLmJvdW5kczooMCwwKS8zMjY0eDI0NjQNCj4+ICAgICAgICAgICAgICAgICAgICBj cm9wOigwLDApLzMyNjR4MjQ2NF0NCj4+ICAgICAgICAgICAgICAgICAgIDwtICJjc2kyZGMiOjEg W0VOQUJMRUQsSU1NVVRBQkxFXQ0KPj4gICAgICAgICAgIHBhZDE6IFNvdXJjZQ0KPj4gICAgICAg ICAgICAgICAgICAgW2ZtdDpTUkdHQjEwXzFYMTAvMzI4MHgyNDY0IGZpZWxkOm5vbmUgY29sb3Jz cGFjZTpzcmdiXQ0KPj4gICAgICAgICAgICAgICAgICAgLT4gImF0bWVsX2lzY19jb21tb24iOjAg W0VOQUJMRUQsSU1NVVRBQkxFXQ0KPj4NCj4+IC0gZW50aXR5IDQ6IGNzaTJkYyAoMiBwYWRzLCAy IGxpbmtzKQ0KPj4gICAgICAgICAgICAgICB0eXBlIFY0TDIgc3ViZGV2IHN1YnR5cGUgVW5rbm93 biBmbGFncyAwDQo+PiAgICAgICAgICAgICAgIGRldmljZSBub2RlIG5hbWUgL2Rldi92NGwtc3Vi ZGV2MQ0KPj4gICAgICAgICAgIHBhZDA6IFNpbmsNCj4+ICAgICAgICAgICAgICAgICAgIFtmbXQ6 U1JHR0IxMF8xWDEwLzMyODB4MjQ2NCBmaWVsZDpub25lIGNvbG9yc3BhY2U6c3JnYl0NCj4+ICAg ICAgICAgICAgICAgICAgIDwtICJkdy1jc2kuMCI6MSBbRU5BQkxFRF0NCj4+ICAgICAgICAgICBw YWQxOiBTb3VyY2UNCj4+ICAgICAgICAgICAgICAgICAgIFtmbXQ6U1JHR0IxMF8xWDEwLzMyODB4 MjQ2NCBmaWVsZDpub25lIGNvbG9yc3BhY2U6c3JnYl0NCj4+ICAgICAgICAgICAgICAgICAgIC0+ ICJhdG1lbF9pc2Nfc2NhbGVyIjowIFtFTkFCTEVELElNTVVUQUJMRV0NCj4+DQo+PiAtIGVudGl0 eSA3OiBkdy1jc2kuMCAoMiBwYWRzLCAyIGxpbmtzKQ0KPj4gICAgICAgICAgICAgICB0eXBlIFY0 TDIgc3ViZGV2IHN1YnR5cGUgVW5rbm93biBmbGFncyAwDQo+PiAgICAgICAgICAgICAgIGRldmlj ZSBub2RlIG5hbWUgL2Rldi92NGwtc3ViZGV2Mg0KPj4gICAgICAgICAgIHBhZDA6IFNpbmsNCj4+ ICAgICAgICAgICAgICAgICAgIFtmbXQ6U1JHR0IxMF8xWDEwLzMyODB4MjQ2NF0NCj4+ICAgICAg ICAgICAgICAgICAgIDwtICJpbXgyMTkgMS0wMDEwIjowIFtFTkFCTEVEXQ0KPj4gICAgICAgICAg IHBhZDE6IFNvdXJjZQ0KPj4gICAgICAgICAgICAgICAgICAgW2ZtdDpTUkdHQjEwXzFYMTAvMzI4 MHgyNDY0XQ0KPj4gICAgICAgICAgICAgICAgICAgLT4gImNzaTJkYyI6MCBbRU5BQkxFRF0NCj4+ DQo+PiAtIGVudGl0eSAxMjogaW14MjE5IDEtMDAxMCAoMSBwYWQsIDEgbGluaykNCj4+ICAgICAg ICAgICAgICAgIHR5cGUgVjRMMiBzdWJkZXYgc3VidHlwZSBTZW5zb3IgZmxhZ3MgMA0KPj4gICAg ICAgICAgICAgICAgZGV2aWNlIG5vZGUgbmFtZSAvZGV2L3Y0bC1zdWJkZXYzDQo+PiAgICAgICAg ICAgcGFkMDogU291cmNlDQo+PiAgICAgICAgICAgICAgICAgICBbZm10OlNSR0dCMTBfMVgxMC8z MjgweDI0NjQgZmllbGQ6bm9uZSBjb2xvcnNwYWNlOnNyZ2INCj4+IHhmZXI6c3JnYiB5Y2Jjcjo2 MDEgcXVhbnRpemF0aW9uOmZ1bGwtcmFuZ2UNCj4+ICAgICAgICAgICAgICAgICAgICBjcm9wLmJv dW5kczooOCw4KS8zMjgweDI0NjQNCj4+ICAgICAgICAgICAgICAgICAgICBjcm9wOig4LDgpLzMy ODB4MjQ2NF0NCj4+ICAgICAgICAgICAgICAgICAgIC0+ICJkdy1jc2kuMCI6MCBbRU5BQkxFRF0N Cj4+DQo+PiAtIGVudGl0eSAyNDogYXRtZWxfaXNjX2NvbW1vbiAoMSBwYWQsIDEgbGluaykNCj4+ ICAgICAgICAgICAgICAgIHR5cGUgTm9kZSBzdWJ0eXBlIFY0TCBmbGFncyAxDQo+PiAgICAgICAg ICAgICAgICBkZXZpY2Ugbm9kZSBuYW1lIC9kZXYvdmlkZW8wDQo+PiAgICAgICAgICAgcGFkMDog U2luaw0KPj4gICAgICAgICAgICAgICAgICAgPC0gImF0bWVsX2lzY19zY2FsZXIiOjEgW0VOQUJM RUQsSU1NVVRBQkxFXQ0KPj4NCj4+DQo+PiBTY2FsZXIgZG9lcyB0aGlzIG9uZSBjdXRlIGxpdHRs ZSB0aGluZyA6DQo+Pg0KPj4gICAgICAgIHBhZDA6IFNpbmsNCj4+ICAgICAgICAgICAgICAgICAg IFtmbXQ6U1JHR0IxMF8xWDEwLzMyODB4MjQ2NCBmaWVsZDpub25lIGNvbG9yc3BhY2U6c3JnYg0K Pj4gICAgICAgICAgICAgICAgICAgIGNyb3AuYm91bmRzOigwLDApLzMyNjR4MjQ2NA0KPj4gICAg ICAgICAgICAgICAgICAgIGNyb3A6KDAsMCkvMzI2NHgyNDY0XQ0KPj4gICAgICAgICAgICAgICAg ICAgPC0gImNzaTJkYyI6MSBbRU5BQkxFRCxJTU1VVEFCTEVdDQo+PiAgICAgICAgICAgcGFkMTog U291cmNlDQo+PiAgICAgICAgICAgICAgICAgICBbZm10OlNSR0dCMTBfMVgxMC8zMjgweDI0NjQg ZmllbGQ6bm9uZSBjb2xvcnNwYWNlOnNyZ2JdDQo+IA0KPiBTaG91bGRuJ3QgdGhpcyBiZSAzMjY0 eDI0NjQgYXMgdGhhdCdzIHdoYXQgdGhlIGVudGl0eSBvdXRwdXRzIGFmdGVyDQo+IHRoZSBjcm9w cGluZyA/IEFuZCBzaG91bGRuJ3QgdGhlbiBiZSAzMjY0eDI0NjQgdGhlIHNpemUgb3V0cHV0IGZy b20NCj4gdGhlIHZpZGVvIGRldmljZSB0b28gPw0KDQpUaGF0J3MgcmlnaHQuDQpJIGRvbid0IGtu b3cgd2h5IHRoZSBzb3VyY2UgZm9ybWF0IGZvciB0aGUgc2NhbGVyIGlzIHN0aWxsIDMyODB4MjQ2 NC4NCk1heWJlIHRoZXJlIGlzIGEgYnVnIG9uIGdfZm10IGZvciBpdC4uIGhhdmUgdG8gY2hlY2sg aXQuDQoNCkFueXdheSwgdGhlIHZpZGVvIGZvcm1hdCBpcyBsaWtlIHRoaXMgOg0KDQojIHY0bDIt Y3RsIC0tZ2V0LWZtdC12aWRlbw0KRm9ybWF0IFZpZGVvIENhcHR1cmU6DQogICAgICAgICBXaWR0 aC9IZWlnaHQgICAgICA6IDMyNjQvMjQ2NA0KICAgICAgICAgUGl4ZWwgRm9ybWF0ICAgICAgOiAn UkdCUCcgKDE2LWJpdCBSR0IgNS02LTUpDQogICAgICAgICBGaWVsZCAgICAgICAgICAgICA6IE5v bmUNCiAgICAgICAgIEJ5dGVzIHBlciBMaW5lICAgIDogNjUyOA0KICAgICAgICAgU2l6ZSBJbWFn ZSAgICAgICAgOiAxNjA4NDk5Mg0KICAgICAgICAgQ29sb3JzcGFjZSAgICAgICAgOiBzUkdCDQog ICAgICAgICBUcmFuc2ZlciBGdW5jdGlvbiA6IERlZmF1bHQgKG1hcHMgdG8gc1JHQikNCiAgICAg ICAgIFlDYkNyL0hTViBFbmNvZGluZzogRGVmYXVsdCAobWFwcyB0byBJVFUtUiA2MDEpDQogICAg ICAgICBRdWFudGl6YXRpb24gICAgICA6IERlZmF1bHQgKG1hcHMgdG8gRnVsbCBSYW5nZSkNCiAg ICAgICAgIEZsYWdzICAgICAgICAgICAgIDoNCiMNCg0KYW5kIGluaXRpYWxpemluZyB0aGUgcGlw ZWxpbmUgbG9va3MgZmluZSBmcm9tIHVzZXIgcGVyc3BlY3RpdmUuDQpUaGUgc2NhbGVyIGlzIGlu IGZhY3QgdGhlIHNvbHV0aW9uIHRvIG1ha2UgdGhpcyBwaXBlbGluZSB3b3JrIHdpdGggDQpsaWJj YW1lcmEuDQpJIGZvdW5kIHRoaXMgY3JvcHBpbmcgdG8gYmUgYW4gaXNzdWUgaW4gbWVkaWEgY29u dHJvbGxlciB3aGVuIHRyeWluZyBpdCANCndpdGggbGliY2FtZXJhLiBPdGhlcndpc2UsIHRoZSBv dGhlciB1c2VyIHNwYWNlIGFwcHMgd2hpY2ggSSB3YXMgdXNpbmcgDQpuZXZlciBjb21wbGFpbmVk IHRoYXQgYW55dGhpbmcgd2FzIHdyb25nDQpMaWJjYW1lcmEgc2ltcGx5IHJlZnVzZXMgdG8gYWNr bm93bGVkZ2UgdGhlIHBpcGVsaW5lIGlmIHRoZSB2aWRlbyBvdXRwdXQgDQppcyAzMjY0eDI0NjQg YnV0IHRoZXJlIGlzIG5vIGVudGl0eSB0aGF0IGNoYW5nZXMgdGhlIGZvcm1hdCBmcm9tIA0KMzI4 MHgyNDY0IGRvd24NCg0KPiANCj4gDQo+PiAgICAgICAgICAgICAgICAgICAtPiAiYXRtZWxfaXNj X2NvbW1vbiI6MCBbRU5BQkxFRCxJTU1VVEFCTEVdDQo+Pg0KPj4NCj4+IFdoaWNoIGlzIHdoYXQg d2UgbmVlZGVkLg0KPj4NCj4+Pg0KPj4+PiArDQo+Pj4+ICsgICAgIHJldHVybiAwOw0KPj4+PiAr fQ0KPj4+PiArDQo+Pj4+ICtzdGF0aWMgaW50IGlzY19zY2FsZXJfZW51bV9tYnVzX2NvZGUoc3Ry dWN0IHY0bDJfc3ViZGV2ICpzZCwNCj4+Pj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBzdHJ1Y3QgdjRsMl9zdWJkZXZfc3RhdGUgKnNkX3N0YXRlLA0KPj4+PiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB2NGwyX3N1YmRldl9tYnVzX2NvZGVfZW51 bSAqY29kZSkNCj4+Pj4gK3sNCj4+Pj4gKyAgICAgc3RydWN0IGlzY19kZXZpY2UgKmlzYyA9IGNv bnRhaW5lcl9vZihzZCwgc3RydWN0IGlzY19kZXZpY2UsIHNjYWxlcl9zZCk7DQo+Pj4+ICsgICAg IGludCBzdXBwb3J0ZWRfaW5kZXggPSAwOw0KPj4+PiArICAgICBpbnQgaTsNCj4+Pj4gKw0KPj4+ PiArICAgICBmb3IgKGkgPSAwOyBpIDwgaXNjLT5mb3JtYXRzX2xpc3Rfc2l6ZTsgaSsrKSB7DQo+ Pj4+ICsgICAgICAgICAgICAgaWYgKCFpc2MtPmZvcm1hdHNfbGlzdFtpXS5zZF9zdXBwb3J0KQ0K Pj4+PiArICAgICAgICAgICAgICAgICAgICAgY29udGludWU7DQo+Pj4NCj4+PiBUaGUgc2Rfc3Vw cG9ydCBmbGFnIHN0aWxsIGRvZXNuJ3QgY2xpY2sgaW4gbXkgaGVhZC4NCj4+Pg0KPj4+IFNob3Vs ZG4ndCB0aGUgZW51bWVyYXRpb24gb2YgYXZhaWxhYmxlIGZvcm1hdHMgb24gdGhlIHNjYWxlciBk byBub3QNCj4+PiBkZXBlbmQgb24gdGhlIHNlbnNvciBzdXBwcm90ZWQgZm9ybWF0cyA/DQo+Pg0K Pj4gWW91J3JlIHJpZ2h0LiBJIHdpbGwgaGF2ZSB0byBjaGVjayBpdCBhZ2Fpbi4NCj4+DQo+Pj4N Cj4+Pj4gKyAgICAgICAgICAgICBpZiAoc3VwcG9ydGVkX2luZGV4ID09IGNvZGUtPmluZGV4KSB7 DQo+Pj4+ICsgICAgICAgICAgICAgICAgICAgICBjb2RlLT5jb2RlID0gaXNjLT5mb3JtYXRzX2xp c3RbaV0ubWJ1c19jb2RlOw0KPj4+PiArICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDA7DQo+ Pj4+ICsgICAgICAgICAgICAgfQ0KPj4+PiArICAgICAgICAgICAgIHN1cHBvcnRlZF9pbmRleCsr Ow0KPj4+PiArICAgICB9DQo+Pj4+ICsNCj4+Pj4gKyAgICAgcmV0dXJuIC1FSU5WQUw7DQo+Pj4+ ICt9DQo+Pj4+ICsNCj4+Pj4gK3N0YXRpYyBpbnQgaXNjX3NjYWxlcl9nX3NlbChzdHJ1Y3QgdjRs Ml9zdWJkZXYgKnNkLA0KPj4+PiArICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB2NGwy X3N1YmRldl9zdGF0ZSAqc2Rfc3RhdGUsDQo+Pj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAg c3RydWN0IHY0bDJfc3ViZGV2X3NlbGVjdGlvbiAqc2VsKQ0KPj4+PiArew0KPj4+PiArICAgICBz dHJ1Y3QgaXNjX2RldmljZSAqaXNjID0gY29udGFpbmVyX29mKHNkLCBzdHJ1Y3QgaXNjX2Rldmlj ZSwgc2NhbGVyX3NkKTsNCj4+Pj4gKw0KPj4+PiArICAgICBpZiAoc2VsLT5wYWQgPT0gSVNDX1ND QUxFUl9QQURfU09VUkNFKQ0KPj4+PiArICAgICAgICAgICAgIHJldHVybiAtRUlOVkFMOw0KPj4+ PiArDQo+Pj4+ICsgICAgIGlmIChzZWwtPnRhcmdldCAhPSBWNEwyX1NFTF9UR1RfQ1JPUF9CT1VO RFMgJiYNCj4+Pj4gKyAgICAgICAgIHNlbC0+dGFyZ2V0ICE9IFY0TDJfU0VMX1RHVF9DUk9QKQ0K Pj4+PiArICAgICAgICAgICAgIHJldHVybiAtRUlOVkFMOw0KPj4+PiArDQo+Pj4+ICsgICAgIHNl bC0+ci5oZWlnaHQgPSBpc2MtPm1heF9oZWlnaHQ7DQo+Pj4+ICsgICAgIHNlbC0+ci53aWR0aCA9 IGlzYy0+bWF4X3dpZHRoOw0KPj4+DQo+Pj4gVGhlIENST1BfQk9VTkRTIHNob3VsZCBiZSBzZXQg dG8gdGhlIHNhbWUgc2l6ZSBhcyB0aGUgc2luayBwYWQgaW1hZ2UgZm9ybWF0LA0KPj4+IGFzIGl0 IHJlcHJlc2VudHMgdGhlIG1heGltdW0gdmFsaWQgY3JvcCByZWN0YW5nbGUuDQo+Pj4NCj4+PiBU R1RfQ1JPUCBzaG91bGQgcmVwb3J0IHRoZSBjb25maWd1cmVkIGNyb3AgcmVjdGFuZ2xlIHdoaWNo IGNhbiBiZQ0KPj4+IGludGlpYWxpemVkIHRvIHRoZSBzYW1lIHNpemUgYXMgQ1JPUF9CT1VORFMs IGlmIG15IHVuZGVyc3RhbmRpbmcgb2YNCj4+PiB0aGUgc3BlYyBpcyBjb3JyZWN0DQo+Pg0KPj4g U28geW91IHdvdWxkIGxpa2UgdG8gaGF2ZSB0aGlzIGRpZmZlcmVudGlhdGVkLCBhbmQgcmVwb3J0 IHRoZQ0KPj4gQ1JPUF9CT1VORFMgdG8gd2hhdGV2ZXIgaXMgb24gdGhlIHNpbmsgcGFkLCBhbmQg dGhlIFRHVF9DUk9QIHRvIHdoYXQgaXMNCj4+IHJlcG9ydGVkIG5vdywgdGhlIG1heGltdW0gc2l6 ZSBvZiB0aGUgSVNDIGZyYW1lIC4NCj4+IE15IHVuZGVyc3RhbmRpbmcgaXMgY29ycmVjdCA/DQo+ Pg0KPiANCj4gSSBkaWRuJ3Qga25vdyB5b3UgaGF2ZSBhbiBIVyBsaW1pdGF0aW9uLCBzbyB5b3Vy IF9CT1VORFMgaXMgbm90IHRoZQ0KPiBpbnB1dCBpbWFnZSBzaXplIGJ1dCByYXRoZXIgMzI2NHgy NDY0ICggPT0gbWF4X3dpZHRoIHggbWF4X2hlaWdodCkuDQo+IA0KPiBXaGF0IEkgbWVhbnQgaXMg dGhhdCBfQk9VTkRTIHNob3VsZCByZXBvcnQgdGhlIG1heGltdW0gcmVjdGFuZ2xlIHNpemUNCj4g dGhhdCBjYW4gYmUgYXBwbGllZCB0byB0aGUgX0NST1AgdGFyZ2V0LiBJbiB5b3UgY2FzZSB5b3Ug aGF2ZSBhbiBIVw0KPiBsaW1pdGF0aW9uIDMyNjR4MjQ2NCBhbmQgdGhhdCdzIHRoZSBsYXJnZXN0 IHJlY3RhbmdsZSB5b3UgY2FuIGFwcGx5Lg0KU28gdGhlIENST1Agc2hvdWxkIGJlIGF0IDMyNjR4 MjQ2NA0KPiBUR1RfQ1JPUCBjYW4gYmUgaW5pdGlhbGl6ZWQgdG8gdGhlIHNhbWUgYXMgX0JPVU5E LCBidXQgaWYgeW91DQo+IGltcGxlbWVudCBzX3NlbGVjdGlvbiBpdCBzaG91bGQgcmVwb3J0IHdo YXQgaGFzIGJlZW4gdGhlcmUgYXBwbGllZC4NCmFuZCBCT1VORCB0byBhY3R1YWwgZnJhbWUgc2l6 ZSA/DQo+IEJ1dCBhcyB5b3UgZG9uJ3QgaW1wbGVtZW50IHNfc2VsZWN0aW9uIHlldCwgSSB0aGlu ayB0aGlzIGlzIGZpbmUgZm9yDQo+IG5vdy4gTWF5YmUgYSBsaXR0bGUgY29tbWVudCA/DQoNCkl0 IGNvdWxkIGFsc28gYmUgdGhlIGNhc2Ugd2hlcmUgZS5nLiB0aGUgc2Vuc29yIGlzIG91dHB1dHRp bmcgMTkyMHgxMDgwLCANCmluIHRoaXMgY2FzZSB0aGUgc2NhbGVyIHdvdWxkIGRvIG5vdGhpbmcu DQpDUk9QIGlzIHN0aWxsIDMyNjR4MjQ2NCBhbmQgQk9VTkQgaW4gdGhpcyBjYXNlIGlzIDE5MjB4 MTA4MCA/DQpJZiB0aGUgc2Vuc29yIGlzIG91dHB1dHRpbmcgMTkyMHgxMDgwLCB0aGlzIGZvcm1h dCBjb21lcyBkaXJlY3RseSBmcm9tIA0KdGhlIHNlbnNvciAodGhlIHNlbnNvciBpcyBjcm9wcGlu ZyBpdCBmcm9tIDMyODB4MjQ2NCBvciBub3QuLi4gaXQncyB0aGUgDQpzZW5zb3IncyBwcm9ibGVt KQ0KPiANCj4gQWxzbywgaXMgc2V0LT5yIHplcm9lZCBieSB0aGUgZnJhbWV3b3JrIGJlZm9yZSBn ZXR0aW5nIGhlcmUgPw0KPiBPdGhlcndpc2UgeW91IHNob3VsZCBzZXQgci5sZWZ0IGFuZCByLnRv cCB0byAwDQoNCklmIHRoZXNlIGFyZSByZWR1bmRhbnQsIG5vIHByb2JsZW0gdG8gcmVtb3ZlIHRo ZW0NCj4gDQo+Pj4NCj4+Pj4gKw0KPj4+PiArICAgICBzZWwtPnIubGVmdCA9IDA7DQo+Pj4+ICsg ICAgIHNlbC0+ci50b3AgPSAwOw0KPj4+PiArDQo+Pj4+ICsgICAgIHJldHVybiAwOw0KPj4+PiAr fQ0KPj4+PiArDQo+Pj4+ICtzdGF0aWMgaW50IGlzY19zY2FsZXJfaW5pdF9jZmcoc3RydWN0IHY0 bDJfc3ViZGV2ICpzZCwNCj4+Pj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3Qg djRsMl9zdWJkZXZfc3RhdGUgKnNkX3N0YXRlKQ0KPj4+PiArew0KPj4+PiArICAgICBzdHJ1Y3Qg djRsMl9tYnVzX2ZyYW1lZm10ICp2NGwyX3RyeV9mbXQgPQ0KPj4+PiArICAgICAgICAgICAgIHY0 bDJfc3ViZGV2X2dldF90cnlfZm9ybWF0KHNkLCBzZF9zdGF0ZSwgMCk7DQo+Pj4+ICsgICAgIHN0 cnVjdCBpc2NfZGV2aWNlICppc2MgPSBjb250YWluZXJfb2Yoc2QsIHN0cnVjdCBpc2NfZGV2aWNl LCBzY2FsZXJfc2QpOw0KPj4+PiArDQo+Pj4+ICsgICAgICp2NGwyX3RyeV9mbXQgPSBpc2MtPnNj YWxlcl9mb3JtYXQ7DQo+Pj4+ICsNCj4+Pj4gKyAgICAgcmV0dXJuIDA7DQo+Pj4+ICt9DQo+Pj4+ ICsNCj4+Pj4gK3N0YXRpYyBjb25zdCBzdHJ1Y3QgdjRsMl9zdWJkZXZfcGFkX29wcyBpc2Nfc2Nh bGVyX3BhZF9vcHMgPSB7DQo+Pj4+ICsgICAgIC5lbnVtX21idXNfY29kZSA9IGlzY19zY2FsZXJf ZW51bV9tYnVzX2NvZGUsDQo+Pj4+ICsgICAgIC5zZXRfZm10ID0gaXNjX3NjYWxlcl9zZXRfZm10 LA0KPj4+PiArICAgICAuZ2V0X2ZtdCA9IGlzY19zY2FsZXJfZ2V0X2ZtdCwNCj4+Pj4gKyAgICAg LmdldF9zZWxlY3Rpb24gPSBpc2Nfc2NhbGVyX2dfc2VsLA0KPj4+PiArICAgICAuaW5pdF9jZmcg PSBpc2Nfc2NhbGVyX2luaXRfY2ZnLA0KPj4+DQo+Pj4gLmxpbmtfdmFsaWRhdGUgPSB2NGwyX3N1 YmRldl9saW5rX3ZhbGlkYXRlX2RlZmF1bHQsDQo+Pj4NCj4+PiBUbyBoYXZlIHRoZSBmb3JtYXRz IGF0IHRoZSBlbmQgb2YgbGlua3MgdGhhdCBwb2ludCB0byB0aGlzIGVudGl0eQ0KPj4+IHZhbGlk YXRlZCAoSSB0aGluayB0aGUgZnJhbWV3b3JrIGFscmVhZHkgY2FsbHMgaXQgaWYgbm90IHNldCB0 aG91Z2gsDQo+Pj4gcGxlYXNlIGNoZWNrIHY0bDItc3ViZGV2LmM6djRsMl9zdWJkZXZfbGlua192 YWxpZGF0ZSgpKQ0KPj4+DQo+Pj4+ICt9Ow0KPj4+PiArDQo+Pj4+ICtzdGF0aWMgY29uc3Qgc3Ry dWN0IHY0bDJfc3ViZGV2X29wcyB4aXNjX3NjYWxlcl9zdWJkZXZfb3BzID0gew0KPj4+PiArICAg ICAucGFkID0gJmlzY19zY2FsZXJfcGFkX29wcywNCj4+Pj4gK307DQo+Pj4+ICsNCj4+Pj4gK2lu dCBpc2Nfc2NhbGVyX2luaXQoc3RydWN0IGlzY19kZXZpY2UgKmlzYykNCj4+Pj4gK3sNCj4+Pj4g KyAgICAgaW50IHJldDsNCj4+Pj4gKw0KPj4+PiArICAgICB2NGwyX3N1YmRldl9pbml0KCZpc2Mt PnNjYWxlcl9zZCwgJnhpc2Nfc2NhbGVyX3N1YmRldl9vcHMpOw0KPj4+PiArDQo+Pj4+ICsgICAg IGlzYy0+c2NhbGVyX3NkLm93bmVyID0gVEhJU19NT0RVTEU7DQo+Pj4+ICsgICAgIGlzYy0+c2Nh bGVyX3NkLmRldiA9IGlzYy0+ZGV2Ow0KPj4+PiArICAgICBzbnByaW50Zihpc2MtPnNjYWxlcl9z ZC5uYW1lLCBzaXplb2YoaXNjLT5zY2FsZXJfc2QubmFtZSksDQo+Pj4+ICsgICAgICAgICAgICAg ICJhdG1lbF9pc2Nfc2NhbGVyIik7DQo+Pj4NCj4+PiBJIHdvdWxkIGRyb3AgJ2F0bWVsJyBmb3Ig YnJldml0eSwgdW5sZXNzIG90aGVyIGVudGl0aWVzIGhhdmUgdGhpcw0KPj4+IHByZWZpeCBzZXQg YWxyZWFkeQ0KPj4NCj4+IFRoZSB2NGwgZW50aXR5IHRha2VzIGl0J3MgbmFtZSBmcm9tIHRoZSBt b2R1bGUgbmFtZSwgd2hpY2ggaXMNCj4+IGF0bWVsX2lzY19jb21tb24sIHNvIEkgdGhvdWdodCB0 byBrZWVwIHRoZSBwcmVmaXgNCj4+DQo+IA0KPiBBY2shDQo+IA0KPj4+DQo+Pj4+ICsNCj4+Pj4g KyAgICAgaXNjLT5zY2FsZXJfc2QuZmxhZ3MgfD0gVjRMMl9TVUJERVZfRkxfSEFTX0RFVk5PREU7 DQo+Pj4+ICsgICAgIGlzYy0+c2NhbGVyX3NkLmVudGl0eS5mdW5jdGlvbiA9IE1FRElBX0VOVF9G X1BST0NfVklERU9fU0NBTEVSOw0KPj4+PiArICAgICBpc2MtPnNjYWxlcl9wYWRzW0lTQ19TQ0FM RVJfUEFEX1NJTktdLmZsYWdzID0gTUVESUFfUEFEX0ZMX1NJTks7DQo+Pj4+ICsgICAgIGlzYy0+ c2NhbGVyX3BhZHNbSVNDX1NDQUxFUl9QQURfU09VUkNFXS5mbGFncyA9IE1FRElBX1BBRF9GTF9T T1VSQ0U7DQo+Pj4+ICsNCj4+Pj4gKyAgICAgaXNjLT5zY2FsZXJfZm9ybWF0LmhlaWdodCA9IGlz Yy0+bWF4X2hlaWdodDsNCj4+Pj4gKyAgICAgaXNjLT5zY2FsZXJfZm9ybWF0LndpZHRoID0gaXNj LT5tYXhfd2lkdGg7DQo+Pj4+ICsgICAgIGlzYy0+c2NhbGVyX2Zvcm1hdC5jb2RlID0gaXNjLT5m b3JtYXRzX2xpc3RbMF0ubWJ1c19jb2RlOw0KPj4+PiArICAgICBpc2MtPnNjYWxlcl9mb3JtYXQu Y29sb3JzcGFjZSA9IFY0TDJfQ09MT1JTUEFDRV9TUkdCOw0KPj4+PiArICAgICBpc2MtPnNjYWxl cl9mb3JtYXQuZmllbGQgPSBWNEwyX0ZJRUxEX05PTkU7DQo+Pj4+ICsgICAgIGlzYy0+c2NhbGVy X2Zvcm1hdC55Y2Jjcl9lbmMgPSBWNEwyX1lDQkNSX0VOQ19ERUZBVUxUOw0KPj4+PiArICAgICBp c2MtPnNjYWxlcl9mb3JtYXQucXVhbnRpemF0aW9uID0gVjRMMl9RVUFOVElaQVRJT05fREVGQVVM VDsNCj4+Pj4gKyAgICAgaXNjLT5zY2FsZXJfZm9ybWF0LnhmZXJfZnVuYyA9IFY0TDJfWEZFUl9G VU5DX0RFRkFVTFQ7DQo+Pj4+ICsNCj4+Pj4gKyAgICAgcmV0ID0gbWVkaWFfZW50aXR5X3BhZHNf aW5pdCgmaXNjLT5zY2FsZXJfc2QuZW50aXR5LA0KPj4+PiArICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIElTQ19TQ0FMRVJfUEFEU19OVU0sDQo+Pj4+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgaXNjLT5zY2FsZXJfcGFkcyk7DQo+Pj4+ICsgICAgIGlmIChyZXQg PCAwKSB7DQo+Pj4+ICsgICAgICAgICAgICAgZGV2X2Vycihpc2MtPmRldiwgInNjYWxlciBzZCBt ZWRpYSBlbnRpdHkgaW5pdCBmYWlsZWRcbiIpOw0KPj4+PiArICAgICAgICAgICAgIHJldHVybiBy ZXQ7DQo+Pj4+ICsgICAgIH0NCj4+Pj4gKyAgICAgcmV0ID0gdjRsMl9kZXZpY2VfcmVnaXN0ZXJf c3ViZGV2KCZpc2MtPnY0bDJfZGV2LCAmaXNjLT5zY2FsZXJfc2QpOw0KPj4+PiArICAgICBpZiAo cmV0IDwgMCkgew0KPj4+PiArICAgICAgICAgICAgIGRldl9lcnIoaXNjLT5kZXYsICJzY2FsZXIg c2QgZmFpbGVkIHRvIHJlZ2lzdGVyIHN1YmRldlxuIik7DQo+Pj4+ICsgICAgICAgICAgICAgcmV0 dXJuIHJldDsNCj4+Pj4gKyAgICAgfQ0KPj4+PiArDQo+Pj4+ICsgICAgIHJldHVybiByZXQ7DQo+ Pj4+ICt9DQo+Pj4+ICtFWFBPUlRfU1lNQk9MX0dQTChpc2Nfc2NhbGVyX2luaXQpOw0KPj4+PiAr DQo+Pj4+ICtpbnQgaXNjX3NjYWxlcl9saW5rKHN0cnVjdCBpc2NfZGV2aWNlICppc2MpDQo+Pj4+ ICt7DQo+Pj4+ICsgICAgIGludCByZXQ7DQo+Pj4+ICsNCj4+Pj4gKyAgICAgcmV0ID0gbWVkaWFf Y3JlYXRlX3BhZF9saW5rKCZpc2MtPmN1cnJlbnRfc3ViZGV2LT5zZC0+ZW50aXR5LA0KPj4+PiAr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNjLT5yZW1vdGVfcGFkLCAmaXNjLT5z Y2FsZXJfc2QuZW50aXR5LA0KPj4+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg SVNDX1NDQUxFUl9QQURfU0lOSywNCj4+Pj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIE1FRElBX0xOS19GTF9FTkFCTEVEIHwNCj4+Pj4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIE1FRElBX0xOS19GTF9JTU1VVEFCTEUpOw0KPj4+PiArDQo+Pj4+ICsgICAgIGlm IChyZXQgPCAwKSB7DQo+Pj4+ICsgICAgICAgICAgICAgdjRsMl9lcnIoJmlzYy0+djRsMl9kZXYs DQo+Pj4+ICsgICAgICAgICAgICAgICAgICAgICAgIkZhaWxlZCB0byBjcmVhdGUgcGFkIGxpbms6 ICVzIHRvICVzXG4iLA0KPj4+PiArICAgICAgICAgICAgICAgICAgICAgIGlzYy0+Y3VycmVudF9z dWJkZXYtPnNkLT5lbnRpdHkubmFtZSwNCj4+Pj4gKyAgICAgICAgICAgICAgICAgICAgICBpc2Mt PnNjYWxlcl9zZC5lbnRpdHkubmFtZSk7DQo+Pj4+ICsgICAgICAgICAgICAgcmV0dXJuIHJldDsN Cj4+Pj4gKyAgICAgfQ0KPj4+PiArDQo+Pj4+ICsgICAgIGRldl9kYmcoaXNjLT5kZXYsICJsaW5r IHdpdGggJXMgcGFkOiAlZFxuIiwNCj4+Pj4gKyAgICAgICAgICAgICBpc2MtPmN1cnJlbnRfc3Vi ZGV2LT5zZC0+bmFtZSwgaXNjLT5yZW1vdGVfcGFkKTsNCj4+Pj4gKw0KPj4+PiArICAgICByZXQg PSBtZWRpYV9jcmVhdGVfcGFkX2xpbmsoJmlzYy0+c2NhbGVyX3NkLmVudGl0eSwNCj4+Pj4gKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElTQ19TQ0FMRVJfUEFEX1NPVVJDRSwNCj4+ Pj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZpc2MtPnZpZGVvX2Rldi5lbnRp dHksIElTQ19QQURfU0lOSywNCj4+Pj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IE1FRElBX0xOS19GTF9FTkFCTEVEIHwNCj4+Pj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIE1FRElBX0xOS19GTF9JTU1VVEFCTEUpOw0KPj4+PiArDQo+Pj4+ICsgICAgIGlmIChy ZXQgPCAwKSB7DQo+Pj4+ICsgICAgICAgICAgICAgdjRsMl9lcnIoJmlzYy0+djRsMl9kZXYsDQo+ Pj4+ICsgICAgICAgICAgICAgICAgICAgICAgIkZhaWxlZCB0byBjcmVhdGUgcGFkIGxpbms6ICVz IHRvICVzXG4iLA0KPj4+PiArICAgICAgICAgICAgICAgICAgICAgIGlzYy0+c2NhbGVyX3NkLmVu dGl0eS5uYW1lLA0KPj4+PiArICAgICAgICAgICAgICAgICAgICAgIGlzYy0+dmlkZW9fZGV2LmVu dGl0eS5uYW1lKTsNCj4+Pj4gKyAgICAgICAgICAgICByZXR1cm4gcmV0Ow0KPj4+PiArICAgICB9 DQo+Pj4+ICsNCj4+Pj4gKyAgICAgZGV2X2RiZyhpc2MtPmRldiwgImxpbmsgd2l0aCAlcyBwYWQ6 ICVkXG4iLCBpc2MtPnNjYWxlcl9zZC5uYW1lLA0KPj4+PiArICAgICAgICAgICAgIElTQ19TQ0FM RVJfUEFEX1NPVVJDRSk7DQo+Pj4+ICsNCj4+Pj4gKyAgICAgcmV0dXJuIHJldDsNCj4+Pj4gK30N Cj4+Pj4gK0VYUE9SVF9TWU1CT0xfR1BMKGlzY19zY2FsZXJfbGluayk7DQo+Pj4NCj4+PiAgIEZy b20gdGhlIERUIGdyYXBoIHBvaW50IG9mIHZpZXcsIHRoZSBJU0MgYXBwZWFycyBhcyBhIHNpbmds ZSBibG9jaw0KPj4+IHdpdGggYW4gQ1NJLTIgaW5wdXQgcG9ydC4gSXQgaXMgdGhlbiBpbiBjaGFy Z2Ugb2YgcGFyc2luZyB0aGUgLmR0cyBhbmQNCj4+PiBhZGQgdG8gaXRzIG5vdGlmaWVyIHRoZSBp bWFnZSBzZW5zb3IgcmVtb3RlIHN1YmRldmljZS4NCj4+DQo+PiBBY3R1YWxseSBpdCdzIG9ubHkg YSBwYXJhbGxlbCBwb3J0Lg0KPj4gQW5kIGl0IGNhbiBiZSBjb25uZWN0ZWQgZWl0aGVyIHRvIGEg c2Vuc29yIGRpcmVjdGx5IG9yIHRvIHRoZSBjc2kyZGMNCj4+IGJyaWRnZS4gKHRoZSBjc2kyZGMg YnJpZGdlIGNhbiBiZSBjb25uZWN0ZWQgdG8gYSBDU0ktMiByZWNlaXZlcikNCj4+DQo+Pj4NCj4+ PiBXaGVuIHRoZSBzZW5zb3Igc3ViZGV2IHJlZ2lzdGVycyBhbmQgdGhlIElTQyBub3RpZmllciBj b21wbGV0ZXMsIHRoZSBzY2FsZXINCj4+PiBlbnRpdHkgd2hpY2ggd2FzIGluaXRpYWxpemVkIGF0 IGlzY19wcm9iZSgpIHRpbWUgaXMgbGlua2VkIGluIGJldHdlZW4NCj4+PiB0aGUgSVNDIGFuZCB0 aGUgaW1hZ2Ugc2Vuc29yIGltbXV0YWJseS4NCj4+DQo+PiB5ZXMsIGJlY2F1c2UgdGhpcyBjYW5u b3QgY2hhbmdlIGF0IHJ1bnRpbWUsIGFuZCB1c3VhbGx5LCBpdCBjYW4ndCBjaGFuZ2UNCj4+IHdp dGhvdXQgYWx0ZXJpbmcgdGhlIGJvYXJkIGhhcmR3YXJlLiAoYXQgbGVhc3QgdGhpcyBpcyB3aGF0 IG15DQo+PiB1bmRlcnN0YW5kaW5nIG9mIGltbXV0YWJpbGl0eSBpcyApDQo+Pg0KPj4+DQo+Pj4g SSB0aGluayBpdCBpcyBmaW5lIGZvciBub3csIGJ1dCBJIHdvbmRlciBpZiB5b3UgcGxhbiB0byBw bHVtYiBtb3JlDQo+Pj4gY29tcG9uZW50cyBiZXR3ZWVuIHRoZSBJU0MgdmlkZW8gbm9kZSBhbmQg dGhlIHNlbnNvciwgaWYgaXQncyBub3QNCj4+PiB3b3J0aCBjaGFuZ2luZyB0aGUgRFQgYmluZGlu Z3MgYW5kIHRoZWlyIHBhcnNpbmcgbG9naWMgdG8gc2VwYXJhdGUgdGhlDQo+Pj4gQ1NJLTIgcmVj ZWl2ZXIgZnJvbSB0aGUgSVNDLCB3aGNpaCBjYW4gY3JlYXRlIGl0cyBtZWRpYSBncmFwaCBhdCBw cm9iZQ0KPj4+IHRpbWUgYW5kIGhhdmUgdGhlIENTSS0yIHJlY2VpdmVyIGVudGl0eSBhcyBkb3du c3RyZWFtIHJlbW90ZS4gSSB0aGluaw0KPj4+IEkgbmVlZCB0byBnZXQgdG8ga25vdyB0aGUgSVND IGJldHRlciB0byByZWFsbHkgaGF2ZSBhbiBpZGVhLiBGb3Igbm93LA0KPj4+IHRoaXMgc2VlbXMg b2sgdG8gbWUsIGJ1dCBwbGVhc2UgY2hlY2sgd2l0aCBtYWludGFpbmVycyBpZiB0aGlzIGlzIGZp bmUNCj4+PiB3aXRoIHRoZW0uDQo+Pg0KPj4gSW4gdGhlIFhJU0MgY2FzZSAoc2FtYTdnNS1pc2Mp LCB0aGUgY3NpMmRjIHJlY2VpdmVyIGlzIHRoZSBzdWJkZXYgKHNvLA0KPj4gdGhlIHJlbW90ZSBz dWJkZXYpLg0KPj4gVGhlIElTQyB3aWxsIHJlZ2lzdGVyIGEgc2NhbGVyLCBhbmQgY29ubmVjdCB0 aGUgc3ViZGV2IHRvIHRoaXMgc2NhbGVyDQo+PiBmaXJzdCwgYW5kIHRoZW4sIHRoZSBzY2FsZXIg dG8gdGhlIGlzYyBpdHNlbGYgKHRoZSB2NGwgZW50aXR5KS4NCj4+DQo+Pj4NCj4+Pj4gKw0KPj4+ PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9hdG1lbC9hdG1lbC1pc2MuaCBi L2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vYXRtZWwvYXRtZWwtaXNjLmgNCj4+Pj4gaW5kZXggNWZi ZjUyYTkwODBiLi5jOTIzNGM5MGFlNTggMTAwNjQ0DQo+Pj4+IC0tLSBhL2RyaXZlcnMvbWVkaWEv cGxhdGZvcm0vYXRtZWwvYXRtZWwtaXNjLmgNCj4+Pj4gKysrIGIvZHJpdmVycy9tZWRpYS9wbGF0 Zm9ybS9hdG1lbC9hdG1lbC1pc2MuaA0KPj4+PiBAQCAtMTgzLDYgKzE4MywxNyBAQCBzdHJ1Y3Qg aXNjX3JlZ19vZmZzZXRzIHsNCj4+Pj4gICAgICAgICB1MzIgaGlzX2VudHJ5Ow0KPj4+PiAgICB9 Ow0KPj4+Pg0KPj4+PiArZW51bSBpc2NfbWNfcGFkcyB7DQo+Pj4+ICsgICAgIElTQ19QQURfU0lO SyAgICA9IDAsDQo+Pj4+ICsgICAgIElTQ19QQURTX05VTSAgICA9IDEsDQo+Pj4+ICt9Ow0KPj4+ PiArDQo+Pj4+ICtlbnVtIGlzY19zY2FsZXJfcGFkcyB7DQo+Pj4+ICsgICAgIElTQ19TQ0FMRVJf UEFEX1NJTksgICAgID0gMCwNCj4+Pj4gKyAgICAgSVNDX1NDQUxFUl9QQURfU09VUkNFICAgPSAx LA0KPj4+PiArICAgICBJU0NfU0NBTEVSX1BBRFNfTlVNICAgICA9IDIsDQo+Pj4+ICt9Ow0KPj4+ PiArDQo+Pj4+ICAgIC8qDQo+Pj4+ICAgICAqIHN0cnVjdCBpc2NfZGV2aWNlIC0gSVNDIGRldmlj ZSBkcml2ZXIgZGF0YS9jb25maWcgc3RydWN0DQo+Pj4+ICAgICAqIEByZWdtYXA6ICAgICAgICAg IFJlZ2lzdGVyIG1hcA0KPj4+PiBAQCAtMjU3LDYgKzI2OCwxMiBAQCBzdHJ1Y3QgaXNjX3JlZ19v ZmZzZXRzIHsNCj4+Pj4gICAgICogICAgICAgICAgICAgICAgICAgYmUgdXNlZCBhcyBhbiBpbnB1 dCB0byB0aGUgY29udHJvbGxlcg0KPj4+PiAgICAgKiBAY29udHJvbGxlcl9mb3JtYXRzX3NpemU6 IHNpemUgb2YgY29udHJvbGxlcl9mb3JtYXRzIGFycmF5DQo+Pj4+ICAgICAqIEBmb3JtYXRzX2xp c3Rfc2l6ZTogICAgICAgc2l6ZSBvZiBmb3JtYXRzX2xpc3QgYXJyYXkNCj4+Pj4gKyAqIEBwYWRz OiAgICAgICAgICAgIG1lZGlhIGNvbnRyb2xsZXIgcGFkcyBmb3IgaXNjIHZpZGVvIGVudGl0eQ0K Pj4+PiArICogQG1kZXY6ICAgICAgICAgICAgbWVkaWEgZGV2aWNlIHRoYXQgaXMgcmVnaXN0ZXJl ZCBieSB0aGUgaXNjDQo+Pj4+ICsgKiBAcmVtb3RlX3BhZDogICAgICAgICAgICAgIHJlbW90ZSBw YWQgb24gdGhlIGNvbm5lY3RlZCBzdWJkZXZpY2UNCj4+Pj4gKyAqIEBzY2FsZXJfc2Q6ICAgICAg ICAgICAgICAgc3ViZGV2aWNlIGZvciB0aGUgc2NhbGVyIHRoYXQgaXNjIHJlZ2lzdGVycw0KPj4+ PiArICogQHNjYWxlcl9wYWRzOiAgICAgbWVkaWEgY29udHJvbGxlciBwYWRzIGZvciB0aGUgc2Nh bGVyIHN1YmRldmljZQ0KPj4+PiArICogQHNjYWxlcl9mb3JtYXQ6ICAgY3VycmVudCBmb3JtYXQg Zm9yIHRoZSBzY2FsZXIgc3ViZGV2aWNlDQo+Pj4+ICAgICAqLw0KPj4+PiAgICBzdHJ1Y3QgaXNj X2RldmljZSB7DQo+Pj4+ICAgICAgICAgc3RydWN0IHJlZ21hcCAgICAgICAgICAgKnJlZ21hcDsN Cj4+Pj4gQEAgLTM0NCw2ICszNjEsMTkgQEAgc3RydWN0IGlzY19kZXZpY2Ugew0KPj4+PiAgICAg ICAgIHN0cnVjdCBpc2NfZm9ybWF0ICAgICAgICAgICAgICAgKmZvcm1hdHNfbGlzdDsNCj4+Pj4g ICAgICAgICB1MzIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRyb2xsZXJfZm9ybWF0 c19zaXplOw0KPj4+PiAgICAgICAgIHUzMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9y bWF0c19saXN0X3NpemU7DQo+Pj4+ICsNCj4+Pj4gKyAgICAgc3RydWN0IHsNCj4+Pj4gKyAgICAg ICAgICAgICBzdHJ1Y3QgbWVkaWFfcGFkICAgICAgICAgICAgICAgIHBhZHNbSVNDX1BBRFNfTlVN XTsNCj4+Pj4gKyAgICAgICAgICAgICBzdHJ1Y3QgbWVkaWFfZGV2aWNlICAgICAgICAgICAgIG1k ZXY7DQo+Pj4+ICsNCj4+Pj4gKyAgICAgICAgICAgICB1MzIgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHJlbW90ZV9wYWQ7DQo+Pj4+ICsgICAgIH07DQo+Pj4+ICsNCj4+Pj4gKyAgICAgc3Ry dWN0IHsNCj4+Pj4gKyAgICAgICAgICAgICBzdHJ1Y3QgdjRsMl9zdWJkZXYgICAgICAgICAgICAg IHNjYWxlcl9zZDsNCj4+Pj4gKyAgICAgICAgICAgICBzdHJ1Y3QgbWVkaWFfcGFkICAgICAgICAg ICAgICAgIHNjYWxlcl9wYWRzW0lTQ19TQ0FMRVJfUEFEU19OVU1dOw0KPj4+PiArICAgICAgICAg ICAgIHN0cnVjdCB2NGwyX21idXNfZnJhbWVmbXQgICAgICAgc2NhbGVyX2Zvcm1hdDsNCj4+DQo+ PiBIZXJlIGFyZSB0aGUgc2NhbGVyIHN0dWZmIHdoaWNoIEkgYWRkZWQsIGluIHRoZSBzYW1lIGJ1 bGsgc3RydWN0IGZvciB0aGUNCj4+IHdob2xlIGlzYyBkZXZpY2UNCj4+DQo+Pg0KPj4+PiArICAg ICB9Ow0KPj4+PiAgICB9Ow0KPj4+Pg0KPj4+PiAgICBleHRlcm4gY29uc3Qgc3RydWN0IHJlZ21h cF9jb25maWcgaXNjX3JlZ21hcF9jb25maWc7DQo+Pj4+IEBAIC0zNTUsNCArMzg1LDExIEBAIGlu dCBpc2NfY2xrX2luaXQoc3RydWN0IGlzY19kZXZpY2UgKmlzYyk7DQo+Pj4+ICAgIHZvaWQgaXNj X3N1YmRldl9jbGVhbnVwKHN0cnVjdCBpc2NfZGV2aWNlICppc2MpOw0KPj4+PiAgICB2b2lkIGlz Y19jbGtfY2xlYW51cChzdHJ1Y3QgaXNjX2RldmljZSAqaXNjKTsNCj4+Pj4NCj4+Pj4gK2ludCBp c2Nfc2NhbGVyX2xpbmsoc3RydWN0IGlzY19kZXZpY2UgKmlzYyk7DQo+Pj4+ICtpbnQgaXNjX3Nj YWxlcl9pbml0KHN0cnVjdCBpc2NfZGV2aWNlICppc2MpOw0KPj4+PiAraW50IGlzY19tY19pbml0 KHN0cnVjdCBpc2NfZGV2aWNlICppc2MsIHUzMiB2ZXIpOw0KPj4+PiArdm9pZCBpc2NfbWNfY2xl YW51cChzdHJ1Y3QgaXNjX2RldmljZSAqaXNjKTsNCj4+Pj4gKw0KPj4+PiArc3RydWN0IGlzY19m b3JtYXQgKmlzY19maW5kX2Zvcm1hdF9ieV9jb2RlKHN0cnVjdCBpc2NfZGV2aWNlICppc2MsDQo+ Pj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50 IGNvZGUsIGludCAqaW5kZXgpOw0KPj4+PiAgICAjZW5kaWYNCj4+Pj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvbWVkaWEvcGxhdGZvcm0vYXRtZWwvYXRtZWwtc2FtYTVkMi1pc2MuYyBiL2RyaXZlcnMv bWVkaWEvcGxhdGZvcm0vYXRtZWwvYXRtZWwtc2FtYTVkMi1pc2MuYw0KPj4+PiBpbmRleCBjNWI5 NTYzZTM2Y2IuLmMyNDQ2ODJlYTIyZiAxMDA2NDQNCj4+Pj4gLS0tIGEvZHJpdmVycy9tZWRpYS9w bGF0Zm9ybS9hdG1lbC9hdG1lbC1zYW1hNWQyLWlzYy5jDQo+Pj4+ICsrKyBiL2RyaXZlcnMvbWVk aWEvcGxhdGZvcm0vYXRtZWwvYXRtZWwtc2FtYTVkMi1pc2MuYw0KPj4+PiBAQCAtNTUzLDYgKzU1 MywxMiBAQCBzdGF0aWMgaW50IGF0bWVsX2lzY19wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNl ICpwZGV2KQ0KPj4+PiAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsNCj4+Pj4gICAgICAg ICB9DQo+Pj4+DQo+Pj4+ICsgICAgIHJlZ21hcF9yZWFkKGlzYy0+cmVnbWFwLCBJU0NfVkVSU0lP TiArIGlzYy0+b2Zmc2V0cy52ZXJzaW9uLCAmdmVyKTsNCj4+Pg0KPj4+IEkgYW0gc3VycHJpc2Vk IHlvdSBjYW4gcmVhZCBhIHJlZ2lzdGVyIGJlZm9yZSBydW50aW1lX3BtIGlzDQo+Pj4gaW50aWFs aXplZCENCj4+Pg0KPj4NCj4+IEFjdHVhbGx5IEkgY2FuIHJlYWQgYW55IHJlZ2lzdGVyIGFmdGVy IHRoZSBtb21lbnQgb2Ygc3RhcnRpbmcgdGhlIGNsb2NrDQo+PiBvbiB0aGUgaGFyZHdhcmUgYmxv Y2suDQo+IA0KPiBBaCByaWdodCB0aGVuDQo+IA0KPj4gTWF5YmUgdGhlIHN0YXJ0aW5nIGFuZCBz dG9wcGluZyBvZiB0aGUgY2xvY2sgbmVlZHMgdG8gYmUgbW92ZWQgdG8gdGhlDQo+PiBydW50aW1l X3BtIGNhbGxzLCBidXQgdGhpcyBpcyBhbm90aGVyIHN0b3J5LCBub3QgcmVsYXRlZCB0byB0aGUg bWVkaWENCj4+IGNvbnRyb2xsZXIuDQo+IA0KPiBJdCdzIGZpbmUsIGJ1dCBtYXliZSB3b3J0aCBy ZWNvcmRpbmcgd2l0aCBhIHRvZG8gPw0KPiANCj4gVGhhbmtzDQo+ICAgIGoNCj4gDQo+PiBJIG1v dmVkIHRoaXMgbGluZSBiZWNhdXNlIEkgaGFkIHRvIHBhc3MgdGhlIHZlcnNpb24gdG8gdGhlIGlz Y19tY19pbml0IGNhbGwNCj4+DQo+Pj4gVGhhbmtzDQo+Pj4gICAgICBqDQo+Pg0KPj4gVGhhbmtz IGZvciByZXZpZXdpbmcgIQ0KPj4gRXVnZW4NCj4+Pg0KPj4+DQo+Pj4+ICsNCj4+Pj4gKyAgICAg cmV0ID0gaXNjX21jX2luaXQoaXNjLCB2ZXIpOw0KPj4+PiArICAgICBpZiAocmV0IDwgMCkNCj4+ Pj4gKyAgICAgICAgICAgICBnb3RvIGlzY19wcm9iZV9tY19pbml0X2VycjsNCj4+Pj4gKw0KPj4+ PiAgICAgICAgIHBtX3J1bnRpbWVfc2V0X2FjdGl2ZShkZXYpOw0KPj4+PiAgICAgICAgIHBtX3J1 bnRpbWVfZW5hYmxlKGRldik7DQo+Pj4+ICAgICAgICAgcG1fcmVxdWVzdF9pZGxlKGRldik7DQo+ Pj4+IEBAIC01NjIsNyArNTY4LDcgQEAgc3RhdGljIGludCBhdG1lbF9pc2NfcHJvYmUoc3RydWN0 IHBsYXRmb3JtX2RldmljZSAqcGRldikNCj4+Pj4gICAgICAgICByZXQgPSBjbGtfcHJlcGFyZV9l bmFibGUoaXNjLT5pc3Bjayk7DQo+Pj4+ICAgICAgICAgaWYgKHJldCkgew0KPj4+PiAgICAgICAg ICAgICAgICAgZGV2X2VycihkZXYsICJmYWlsZWQgdG8gZW5hYmxlIGlzcGNrOiAlZFxuIiwgcmV0 KTsNCj4+Pj4gLSAgICAgICAgICAgICBnb3RvIGNsZWFudXBfc3ViZGV2Ow0KPj4+PiArICAgICAg ICAgICAgIGdvdG8gaXNjX3Byb2JlX21jX2luaXRfZXJyOw0KPj4+PiAgICAgICAgIH0NCj4+Pj4N Cj4+Pj4gICAgICAgICAvKiBpc3BjayBzaG91bGQgYmUgZ3JlYXRlciBvciBlcXVhbCB0byBoY2xv Y2sgKi8NCj4+Pj4gQEAgLTU3Miw3ICs1NzgsNiBAQCBzdGF0aWMgaW50IGF0bWVsX2lzY19wcm9i ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQ0KPj4+PiAgICAgICAgICAgICAgICAgZ290 byB1bnByZXBhcmVfY2xrOw0KPj4+PiAgICAgICAgIH0NCj4+Pj4NCj4+Pj4gLSAgICAgcmVnbWFw X3JlYWQoaXNjLT5yZWdtYXAsIElTQ19WRVJTSU9OICsgaXNjLT5vZmZzZXRzLnZlcnNpb24sICZ2 ZXIpOw0KPj4+PiAgICAgICAgIGRldl9pbmZvKGRldiwgIk1pY3JvY2hpcCBJU0MgdmVyc2lvbiAl eFxuIiwgdmVyKTsNCj4+Pj4NCj4+Pj4gICAgICAgICByZXR1cm4gMDsNCj4+Pj4gQEAgLTU4MCw2 ICs1ODUsOSBAQCBzdGF0aWMgaW50IGF0bWVsX2lzY19wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2 aWNlICpwZGV2KQ0KPj4+PiAgICB1bnByZXBhcmVfY2xrOg0KPj4+PiAgICAgICAgIGNsa19kaXNh YmxlX3VucHJlcGFyZShpc2MtPmlzcGNrKTsNCj4+Pj4NCj4+Pj4gK2lzY19wcm9iZV9tY19pbml0 X2VycjoNCj4+Pj4gKyAgICAgaXNjX21jX2NsZWFudXAoaXNjKTsNCj4+Pj4gKw0KPj4+PiAgICBj bGVhbnVwX3N1YmRldjoNCj4+Pj4gICAgICAgICBpc2Nfc3ViZGV2X2NsZWFudXAoaXNjKTsNCj4+ Pj4NCj4+Pj4gQEAgLTYwMCw2ICs2MDgsOCBAQCBzdGF0aWMgaW50IGF0bWVsX2lzY19yZW1vdmUo c3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikNCj4+Pj4NCj4+Pj4gICAgICAgICBwbV9ydW50 aW1lX2Rpc2FibGUoJnBkZXYtPmRldik7DQo+Pj4+DQo+Pj4+ICsgICAgIGlzY19tY19jbGVhbnVw KGlzYyk7DQo+Pj4+ICsNCj4+Pj4gICAgICAgICBpc2Nfc3ViZGV2X2NsZWFudXAoaXNjKTsNCj4+ Pj4NCj4+Pj4gICAgICAgICB2NGwyX2RldmljZV91bnJlZ2lzdGVyKCZpc2MtPnY0bDJfZGV2KTsN Cj4+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vYXRtZWwvYXRtZWwtc2Ft YTdnNS1pc2MuYyBiL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vYXRtZWwvYXRtZWwtc2FtYTdnNS1p c2MuYw0KPj4+PiBpbmRleCAwN2E4MGIwOGJjNTQuLjlkYzc1ZWVkMDA5OCAxMDA2NDQNCj4+Pj4g LS0tIGEvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9hdG1lbC9hdG1lbC1zYW1hN2c1LWlzYy5jDQo+ Pj4+ICsrKyBiL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vYXRtZWwvYXRtZWwtc2FtYTdnNS1pc2Mu Yw0KPj4+PiBAQCAtNTQ3LDE1ICs1NDcsMjMgQEAgc3RhdGljIGludCBtaWNyb2NoaXBfeGlzY19w cm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQ0KPj4+PiAgICAgICAgICAgICAgICAg ICAgICAgICBicmVhazsNCj4+Pj4gICAgICAgICB9DQo+Pj4+DQo+Pj4+ICsgICAgIHJlZ21hcF9y ZWFkKGlzYy0+cmVnbWFwLCBJU0NfVkVSU0lPTiArIGlzYy0+b2Zmc2V0cy52ZXJzaW9uLCAmdmVy KTsNCj4+Pj4gKw0KPj4+PiArICAgICByZXQgPSBpc2NfbWNfaW5pdChpc2MsIHZlcik7DQo+Pj4+ ICsgICAgIGlmIChyZXQgPCAwKQ0KPj4+PiArICAgICAgICAgICAgIGdvdG8gaXNjX3Byb2JlX21j X2luaXRfZXJyOw0KPj4+PiArDQo+Pj4+ICAgICAgICAgcG1fcnVudGltZV9zZXRfYWN0aXZlKGRl dik7DQo+Pj4+ICAgICAgICAgcG1fcnVudGltZV9lbmFibGUoZGV2KTsNCj4+Pj4gICAgICAgICBw bV9yZXF1ZXN0X2lkbGUoZGV2KTsNCj4+Pj4NCj4+Pj4gLSAgICAgcmVnbWFwX3JlYWQoaXNjLT5y ZWdtYXAsIElTQ19WRVJTSU9OICsgaXNjLT5vZmZzZXRzLnZlcnNpb24sICZ2ZXIpOw0KPj4+PiAg ICAgICAgIGRldl9pbmZvKGRldiwgIk1pY3JvY2hpcCBYSVNDIHZlcnNpb24gJXhcbiIsIHZlcik7 DQo+Pj4+DQo+Pj4+ICAgICAgICAgcmV0dXJuIDA7DQo+Pj4+DQo+Pj4+ICtpc2NfcHJvYmVfbWNf aW5pdF9lcnI6DQo+Pj4+ICsgICAgIGlzY19tY19jbGVhbnVwKGlzYyk7DQo+Pj4+ICsNCj4+Pj4g ICAgY2xlYW51cF9zdWJkZXY6DQo+Pj4+ICAgICAgICAgaXNjX3N1YmRldl9jbGVhbnVwKGlzYyk7 DQo+Pj4+DQo+Pj4+IEBAIC01NzYsNiArNTg0LDggQEAgc3RhdGljIGludCBtaWNyb2NoaXBfeGlz Y19yZW1vdmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikNCj4+Pj4NCj4+Pj4gICAgICAg ICBwbV9ydW50aW1lX2Rpc2FibGUoJnBkZXYtPmRldik7DQo+Pj4+DQo+Pj4+ICsgICAgIGlzY19t Y19jbGVhbnVwKGlzYyk7DQo+Pj4+ICsNCj4+Pj4gICAgICAgICBpc2Nfc3ViZGV2X2NsZWFudXAo aXNjKTsNCj4+Pj4NCj4+Pj4gICAgICAgICB2NGwyX2RldmljZV91bnJlZ2lzdGVyKCZpc2MtPnY0 bDJfZGV2KTsNCj4+Pj4gLS0NCj4+Pj4gMi4yNS4xDQo+Pj4+DQo+Pg0KDQo=