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 07681C624A4 for ; Mon, 31 Aug 2026 13:49:35 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-ID:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=hy5eiZZORoFbAb7zVrqAFkU3zDHgjCBmppjz53Qgvs0=; b=C6u2gtXc6kyMJ1 Lg/x2VV0ig6Rq9vys61qnRUN3pXskrBCeDm8YcTL6+Y/iR7h9eDAFjHy13oqa8JEgGQAycGw9ipZe FdzAw3tfwXmL7zBDdT89nstxOVLhuxYJ0yuSr04l5DoIysuZpizfyEhl9HSelwiHP5Rdl8nWDSdYF 7+Q9WmhpaxgGVmv6XYLITKPVwjqofLdpoqQqovqXoQ4YKz4PpwXAjVVfd5RJLGNpCUIKjf4x4+PHC 8Ku6OBy49FOqMKU4V4jb14y0kH8hUmswrHY8c0H/PX+kvj+g3r0bWNEshuI/YsSoJRVMxdJU9UFqp WsEGVAveHsdjbmZM//3Q==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1x12OB-00000009XVH-1tB7; Mon, 31 Aug 2026 13:49:31 +0000 Received: from tor.source.kernel.org ([172.105.4.254]) by bombadil.infradead.org with esmtps (Exim 4.99.1 #2 (Red Hat Linux)) id 1x12OA-00000009XUG-1keN; Mon, 31 Aug 2026 13:49:30 +0000 Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18]) by tor.source.kernel.org (Postfix) with ESMTP id B3B806020C; Mon, 31 Aug 2026 13:49:29 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 79D861F00A3D; Mon, 31 Aug 2026 13:49:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1788184169; bh=aNzPL9t3Ch3R/81vyFJ8KYM8BGwN9BjbkzaDJlczB9s=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=Iz8Pt/+mpkLUwne18t+ToVQdXGELRBTYvz3hfQL+/T6qfMb2E8Yo0vIGmeNqbpdqG ntdEoAnDVU7m2wkdoAxWboItzoOETjby2C2B3JbPF1hquVVNH4KTTMCB4p5N+649Ki 0Q21KSw1hzzReD6BeXfo3/4lLlXXdwJzOfkc9qGxKX2+gYlXqvQRLcrkiKj6t+Z/l7 xb3w+Od84Z0J6fXzPJH9iGrbCvkDVaYwgBN8Ceg8fQw+6Gf2B9y2yTDiR6Rojjduv2 Rv1fZ791/RSi47C2jQBpfBJjcQF1H99jqIpvaywjrFg9FCbcrbpBd5GnkoSe4nsmim QB3FOfh/YcPiA== From: Sasha Levin To: patches@lists.linux.dev, stable@vger.kernel.org Cc: bui duc phuc , Sashiko AI Review , Mark Brown , Sasha Levin , lgirdwood@gmail.com, perex@perex.cz, tiwai@suse.com, heiko@sntech.de, linux-sound@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH AUTOSEL 6.18-5.10] ASoC: rockchip: spdif: Restore regcache cache-only mode on sync failure Date: Mon, 31 Aug 2026 09:29:20 -0400 Message-ID: <20260831133314.4125787-532-sashal@kernel.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260831133314.4125787-1-sashal@kernel.org> References: <20260831133314.4125787-1-sashal@kernel.org> MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore X-stable-base: Linux 6.18.48 X-BeenThere: linux-rockchip@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Upstream kernel work for Rockchip platforms List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "Linux-rockchip" Errors-To: linux-rockchip-bounces+linux-rockchip=archiver.kernel.org@lists.infradead.org RnJvbTogYnVpIGR1YyBwaHVjIDxwaHVjZHVjLmJ1aUBnbWFpbC5jb20+CgpbIFVwc3RyZWFtIGNv bW1pdCAzNTQ2ZTlhYTY5MWFjOTgxZTQ3MzRmZWRkMTY0NmQwMTgwNzg0ODkzIF0KCklmIHJlZ2Nh Y2hlX3N5bmMoKSBmYWlscyBkdXJpbmcgcnVudGltZSByZXN1bWUsIHRoZSBkcml2ZXIgZGlzYWJs ZXMgdGhlCmNsb2NrcyBhbmQgcmV0dXJucyBhbiBlcnJvci4gSG93ZXZlciwgdGhlIHJlZ21hcCBj YWNoZS1vbmx5IG1vZGUgaXMgbGVmdApkaXNhYmxlZC4KUmVzdG9yZSBjYWNoZS1vbmx5IG1vZGUg aW4gdGhlIGVycm9yIHBhdGggc28gc3Vic2VxdWVudCByZWdpc3RlciBhY2Nlc3Nlcwpjb250aW51 ZSB0byB1c2UgdGhlIGNhY2hlIHdoaWxlIHRoZSBkZXZpY2UgaXMgaW5hY3RpdmUuCgpSZXBvcnRl ZC1ieTogU2FzaGlrbyBBSSBSZXZpZXcgPHNhc2hpa28tYm90QGtlcm5lbC5vcmc+CkNsb3Nlczog aHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvYWxsLzIwMjYwNTIyMTAzNzEzLjZDMDlEMUYwMDBFOUBz bXRwLmtlcm5lbC5vcmcvClNpZ25lZC1vZmYtYnk6IGJ1aSBkdWMgcGh1YyA8cGh1Y2R1Yy5idWlA Z21haWwuY29tPgpMaW5rOiBodHRwczovL3BhdGNoLm1zZ2lkLmxpbmsvMjAyNjA2MDIxMDE2MDgu NDUxMzctNS1waHVjZHVjLmJ1aUBnbWFpbC5jb20KU2lnbmVkLW9mZi1ieTogTWFyayBCcm93biA8 YnJvb25pZUBrZXJuZWwub3JnPgpTaWduZWQtb2ZmLWJ5OiBTYXNoYSBMZXZpbiA8c2FzaGFsQGtl cm5lbC5vcmc+Ci0tLQoKTExNIEdlbmVyYXRlZCBleHBsYW5hdGlvbnMsIG1heSBiZSBjb21wbGV0 ZWx5IGJvZ3VzOgoKIyMgUGhhc2UgMTogQ29tbWl0IE1lc3NhZ2UgRm9yZW5zaWNzCgojIyMgU3Rl cCAxLjE6IFN1YmplY3QgTGluZQoqKlJlY29yZDoqKiBgW0FTb0M6IHJvY2tjaGlwOiBzcGRpZl0g W1Jlc3RvcmVdIFJlc3RvcmUgcmVnY2FjaGUgY2FjaGUtCm9ubHkgbW9kZSBvbiBzeW5jIGZhaWx1 cmUgZHVyaW5nIHJ1bnRpbWUgcmVzdW1lIGVycm9yIHBhdGhgCgojIyMgU3RlcCAxLjI6IENvbW1p dCBUYWdzCioqUmVjb3JkOioqCi0gKipSZXBvcnRlZC1ieToqKiBTYXNoaWtvIEFJIFJldmlldyBg PHNhc2hpa28tYm90QGtlcm5lbC5vcmc+YCDigJQKICBhdXRvbWF0ZWQgcmV2aWV3IGJvdCwgbm90 IGEgdXNlciBjcmFzaCByZXBvcnQKLSAqKkNsb3NlczoqKiBodHRwczovL2xvcmUua2VybmVsLm9y Zy9hbGwvMjAyNjA1MjIxMDM3MTMuNkMwOUQxRjAwMEU5QHNtCiAgdHAua2VybmVsLm9yZy8g4oCU IFNhc2hpa28gcmV2aWV3IHRocmVhZAotICoqU2lnbmVkLW9mZi1ieToqKiBidWkgZHVjIHBodWMg YDxwaHVjZHVjLmJ1aUBnbWFpbC5jb20+YCDigJQgYXV0aG9yCi0gKipMaW5rOioqCiAgaHR0cHM6 Ly9wYXRjaC5tc2dpZC5saW5rLzIwMjYwNjAyMTAxNjA4LjQ1MTM3LTUtcGh1Y2R1Yy5idWlAZ21h aWwuY29tCiAg4oCUIHBhdGNoIDUgb2YgYSBzZXJpZXMgKG1lc3NhZ2UtaWQgc3VmZml4KQotICoq U2lnbmVkLW9mZi1ieToqKiBNYXJrIEJyb3duIGA8YnJvb25pZUBrZXJuZWwub3JnPmAg4oCUIEFT b0Mgc3Vic3lzdGVtCiAgbWFpbnRhaW5lcgotICoqTm8gRml4ZXM6KiogdGFnIChleHBlY3RlZCBm b3IgbWFudWFsIHJldmlldyBwaXBlbGluZSkKLSAqKk5vIENjOiBzdGFibGVAdmdlci5rZXJuZWwu b3JnKiogKGV4cGVjdGVkOyBub3QgYSBuZWdhdGl2ZSBzaWduYWwpCi0gKipObyBUZXN0ZWQtYnkg LyBSZXZpZXdlZC1ieSAvIEFja2VkLWJ5KioKCk5vdGFibGU6IG1haW50YWluZXIgc2lnbi1vZmYg ZnJvbSBNYXJrIEJyb3duOyBzYW1lIGF1dGhvcgooYHBodWNkdWMuYnVpYCkgcmVjZW50bHkgbGFu ZGVkIGFuIGFuYWxvZ291cyBgcmVnY2FjaGVfY2FjaGVfb25seWAKZXJyb3ItcGF0aCBmaXggZm9y IGBncGlvLXBjYTk1M3hgIHdpdGggYENjOiBzdGFibGVAdmdlci5rZXJuZWwub3JnYC4KCiMjIyBT dGVwIDEuMzogQ29tbWl0IEJvZHkgQW5hbHlzaXMKKipSZWNvcmQ6KioKLSAqKkJ1ZzoqKiBPbiBg cmVnY2FjaGVfc3luYygpYCBmYWlsdXJlIGluIGBya19zcGRpZl9ydW50aW1lX3Jlc3VtZSgpYCwK ICBjbG9ja3MgYXJlIGRpc2FibGVkIGFuZCBhbiBlcnJvciBpcyByZXR1cm5lZCwgYnV0CiAgYHJl Z2NhY2hlX2NhY2hlX29ubHkoZmFsc2UpYCBpcyBuZXZlciByZXZlcnRlZC4KLSAqKlN5bXB0b206 KiogQWZ0ZXIgYSBmYWlsZWQgcmVzdW1lLCByZWdtYXAgbGVhdmVzIGNhY2hlLW9ubHkgbW9kZQog IHdoaWxlIHRoZSBkZXZpY2UgaXMgaW5hY3RpdmU7IHN1YnNlcXVlbnQgcmVnaXN0ZXIgYWNjZXNz ZXMgYXR0ZW1wdAogIGhhcmR3YXJlIEkvTyBpbnN0ZWFkIG9mIHVzaW5nIHRoZSBjYWNoZS4KLSAq KlJvb3QgY2F1c2U6KiogSW5jb21wbGV0ZSBlcnJvci1wYXRoIHN0YXRlIHJlc3RvcmF0aW9uIOKA lCBzdXNwZW5kIHNldHMKICBgY2FjaGVfb25seSh0cnVlKWAsIHJlc3VtZSBzZXRzIGBjYWNoZV9v bmx5KGZhbHNlKWAgYmVmb3JlIHN5bmMsIGJ1dAogIHRoZSBzeW5jLWZhaWx1cmUgcGF0aCBvbWl0 cyByZXN0b3JpbmcgYGNhY2hlX29ubHkodHJ1ZSlgLgotICoqVmVyc2lvbiBpbmZvOioqIE5vbmUg c3RhdGVkIGluIHRoZSBjb21taXQgbWVzc2FnZS4KCiMjIyBTdGVwIDEuNDogSGlkZGVuIEJ1ZyBG aXggRGV0ZWN0aW9uCioqUmVjb3JkOioqIE5vdCBkaXNndWlzZWQg4oCUIHRoaXMgaXMgYW4gZXhw bGljaXQgZXJyb3ItcGF0aCBzdGF0ZS1tYWNoaW5lCmJ1ZyBmaXgsIHRob3VnaCB0aGUgc3ViamVj dCB1c2VzICJSZXN0b3JlIiByYXRoZXIgdGhhbiAiZml4Ii4KCi0tLQoKIyMgUGhhc2UgMjogRGlm ZiBBbmFseXNpcwoKIyMjIFN0ZXAgMi4xOiBDaGFuZ2UgSW52ZW50b3J5CioqUmVjb3JkOioqCi0g KipGaWxlczoqKiBgc291bmQvc29jL3JvY2tjaGlwL3JvY2tjaGlwX3NwZGlmLmNgIOKAlCAxIGxp bmUgYWRkZWQgKCsxCiAgbmV0IGluIHRoZSBzaG93biBodW5rKQotICoqRnVuY3Rpb24gbW9kaWZp ZWQ6KiogYHJrX3NwZGlmX3J1bnRpbWVfcmVzdW1lKClgCi0gKipTY29wZToqKiBTaW5nbGUtZmls ZSwgc3VyZ2ljYWwgZml4CgpOb3RlOiB1cHN0cmVhbSBkaWZmIHNob3dzIGBoY2xrYCBlbmFibGVk IGJlZm9yZSBgbWNsa2A7IHRoaXMgdHJlZQplbmFibGVzIGBtY2xrYCB0aGVuIGBoY2xrYC4gVGhl IGFkZGVkIGxpbmUgcGxhY2VtZW50IChpbnNpZGUgdGhlCmByZWdjYWNoZV9zeW5jKClgIGZhaWx1 cmUgYmxvY2ssIGJlZm9yZSBjbG9jayBkaXNhYmxlKSBpcyBpZGVudGljYWwgaW4KaW50ZW50LgoK IyMjIFN0ZXAgMi4yOiBDb2RlIEZsb3cgQ2hhbmdlCioqUmVjb3JkOioqCi0gKipIdW5rIChyZWdj YWNoZV9zeW5jIGVycm9yIHBhdGgpOioqCiAgLSAqKkJlZm9yZToqKiBPbiBzeW5jIGZhaWx1cmUg 4oaSIGRpc2FibGUgY2xvY2tzIOKGkiByZXR1cm4gZXJyb3IsIGxlYXZpbmcKICAgIGBjYWNoZV9v bmx5ID09IGZhbHNlYAogIC0gKipBZnRlcjoqKiBPbiBzeW5jIGZhaWx1cmUg4oaSIGByZWdjYWNo ZV9jYWNoZV9vbmx5KG1hcCwgdHJ1ZSlgIOKGkgogICAgZGlzYWJsZSBjbG9ja3Mg4oaSIHJldHVy biBlcnJvcgotICoqQWZmZWN0ZWQgcGF0aDoqKiBSdW50aW1lIFBNIHJlc3VtZSBlcnJvciBwYXRo IG9ubHkgKG5vdCB0aGUgc3VjY2VzcwogIHBhdGgpCgojIyMgU3RlcCAyLjM6IEJ1ZyBNZWNoYW5p c20KKipSZWNvcmQ6KioKLSAqKkNhdGVnb3J5OioqIEVycm9yLXBhdGggLyBzdGF0ZSBjb25zaXN0 ZW5jeSBidWcgKHJlZ21hcCBjYWNoZS1tb2RlCiAgaW52YXJpYW50IHZpb2xhdGlvbikKLSAqKk1l Y2hhbmlzbToqKiBgcmtfc3BkaWZfcnVudGltZV9zdXNwZW5kKClgIHNldHMgY2FjaGUtb25seTsg cmVzdW1lCiAgY2xlYXJzIGl0IGJlZm9yZSBzeW5jOyBmYWlsZWQgc3luYyBsZWF2ZXMgdGhlIG1h cCBpbiAibGl2ZSBoYXJkd2FyZSIKICBtb2RlIHdoaWxlIGNsb2NrcyBhcmUgb2ZmIGFuZCB0aGUg ZGV2aWNlIGlzIGluYWN0aXZlLiBUaGUgZml4IHJlc3RvcmVzCiAgdGhlIHN1c3BlbmRlZC1zdGF0 ZSBpbnZhcmlhbnQuCgojIyMgU3RlcCAyLjQ6IEZpeCBRdWFsaXR5CioqUmVjb3JkOioqCi0gKipR dWFsaXR5OioqIE9idmlvdXNseSBjb3JyZWN0IOKAlCBtaXJyb3JzIHRoZSBlc3RhYmxpc2hlZCBw YXR0ZXJuIGluCiAgYHNndGw1MDAwLmNgIGFuZCB0aGUgcmVjZW50bHkgYmFja3BvcnRlZCBgcGNh OTUzeGAgZml4IGJ5IHRoZSBzYW1lCiAgYXV0aG9yLgotICoqUmVncmVzc2lvbiByaXNrOioqIFZl cnkgbG93IOKAlCBvbmUgbGluZSBvbiBhbiBhbHJlYWR5LXJhcmUgZXJyb3IKICBwYXRoLgotICoq UmVkIGZsYWdzOioqIE5vbmUuCgotLS0KCiMjIFBoYXNlIDM6IEdpdCBIaXN0b3J5IEludmVzdGln YXRpb24KCiMjIyBTdGVwIDMuMTogQmxhbWUKKipSZWNvcmQ6KioKLSBCdWdneSBgcmVnY2FjaGVf c3luYygpYCBlcnJvciBwYXRoIGludHJvZHVjZWQgYnkgKiozNjI4YzY5ODdmYjQ1KioKICAoMjAx Ni0wOS0wNyk6ICJBU29DOiByb2NrY2hpcDogc3BkaWY6IHJlc3RvcmUgcmVnaXN0ZXIgZHVyaW5n CiAgcnVudGltZV9zdXNwZW5kL3Jlc3VtZSBjeWNsZSIKLSBSZWxhdGVkIHByaW9yIGZpeDogKio2 ZDk0ZDAwOTA1MjdiKiogKDIwMjItMTItMDgpIGFkZGVkIG1pc3NpbmcKICBgY2xrX2Rpc2FibGVf dW5wcmVwYXJlKClgIG9uIGhjbGsgZmFpbHVyZSDigJQgc2FtZSBmdW5jdGlvbiwgc2FtZSBjbGFz cwogIG9mIGluY29tcGxldGUgZXJyb3IgaGFuZGxpbmcKLSBQTSBydW50aW1lIGludGVncmF0aW9u OiAqKmY1MGQ2N2Y5ZWZmNjIqKiAoMjAyMC0wNy0xMykKCiMjIyBTdGVwIDMuMjogRml4ZXM6IFRh ZwoqKlJlY29yZDoqKiBOb3QgYXBwbGljYWJsZSDigJQgbm8gYEZpeGVzOmAgdGFnIGluIHRoZSBj b21taXQgbWVzc2FnZS4KCiMjIyBTdGVwIDMuMzogUmVsYXRlZCBGaWxlIEhpc3RvcnkKKipSZWNv cmQ6KioKLSBSZWNlbnQgY2hhbmdlcyB0byB0aGlzIGZpbGUgYXJlIGNsZWFudXBzIChgUlVOVElN RV9QTV9PUFNgLCByZW1vdmUKICBjYWxsYmFjaywgREFJIG1lcmdlKSDigJQgbm8gb3ZlcmxhcHBp bmcgZml4IGZvciB0aGlzIGJ1Zy4KLSBGaXggY29tbWl0IG1lc3NhZ2Ugbm90IGZvdW5kIGluIHRo aXMgdHJlZSDigJQgKipmaXggaXMgbm90IHlldCBhcHBsaWVkCiAgbG9jYWxseSoqLgotIFBhdGNo IGFwcGVhcnMgc3RhbmRhbG9uZSAoc2luZ2xlIGxpbmUsIG9uZSBmaWxlKTsgbWVzc2FnZS1pZCBg LTVgCiAgc3VnZ2VzdHMgYSBzZXJpZXMsIGJ1dCBubyBzZXJpZXMgZGVwZW5kZW5jeSBpcyBldmlk ZW50IGZyb20gdGhlIGRpZmYuCgojIyMgU3RlcCAzLjQ6IEF1dGhvciBDb250ZXh0CioqUmVjb3Jk OioqCi0gQXV0aG9yIGBwaHVjZHVjLmJ1aWAgaGFzIG5vIG90aGVyIGNvbW1pdHMgdW5kZXIgYHNv dW5kL3NvYy9yb2NrY2hpcC9gCiAgaW4gdGhpcyB0cmVlLgotIFNhbWUgYXV0aG9yIGF1dGhvcmVk ICoqMmU0YmM4NDIyY2RlZSoqIChgZ3BpbzogcGNhOTUzeDogZml4IGNhY2hlX29ubHkKICAuLi4g b24gcmVzdG9yZV9jb250ZXh0KCkgZmFpbHVyZWApLCB3aGljaCB3YXMgYmFja3BvcnRlZCB0byB0 aGlzCiAgc3RhYmxlIHRyZWUgd2l0aCBgQ2M6IHN0YWJsZUB2Z2VyLmtlcm5lbC5vcmdgLgoKIyMj IFN0ZXAgMy41OiBEZXBlbmRlbmNpZXMKKipSZWNvcmQ6KiogTm8gcHJlcmVxdWlzaXRlcyDigJQg c2VsZi1jb250YWluZWQgb25lLWxpbmUgYWRkaXRpb24uIEFwcGxpZXMKY2xlYW5seSB0byB0aGlz IHRyZWUgKGNsb2NrIG9yZGVyIGRpZmZlcnMgY29zbWV0aWNhbGx5LCBodW5rIGxvY2F0aW9uCnVu Y2hhbmdlZCkuCgotLS0KCiMjIFBoYXNlIDQ6IE1haWxpbmcgTGlzdCBhbmQgRXh0ZXJuYWwgUmVz ZWFyY2gKCiMjIyBTdGVwIDQuMTogT3JpZ2luYWwgUGF0Y2ggRGlzY3Vzc2lvbgoqKlJlY29yZDoq KiBgYjQgZGlnIC1tICJSZXN0b3JlIHJlZ2NhY2hlIGNhY2hlLW9ubHkgbW9kZSBvbiBzeW5jCmZh aWx1cmUiYCByZXR1cm5lZCBubyBtYXRjaC4gYGI0IGRpZyAtbQoiMjAyNjA2MDIxMDE2MDguNDUx MzctNS1waHVjZHVjLmJ1aUBnbWFpbC5jb20iYCByZXR1cm5lZCBubyBtYXRjaC4KTG9yZS9wYXRj aC5tc2dpZC5saW5rIFVSTHMgYmxvY2tlZCBieSBBbnViaXMgYm90IHByb3RlY3Rpb24g4oCUICoq Y291bGQKbm90IHJlYWQgcmV2aWV3IHRocmVhZCBjb250ZW50KiouCgojIyMgU3RlcCA0LjI6IFJl dmlld2VycwoqKlJlY29yZDoqKiBgYjQgZGlnIC13YCBub3QgdXNhYmxlIChubyB0aHJlYWQgbWF0 Y2gpLiBNYXJrIEJyb3duCihtYWludGFpbmVyKSBTaWduZWQtb2ZmLWJ5IGNvbmZpcm1zIG1haW50 YWluZXIgYWNjZXB0YW5jZS4KCiMjIyBTdGVwIDQuMzogQnVnIFJlcG9ydAoqKlJlY29yZDoqKiBS ZXBvcnRlZCBieSBTYXNoaWtvIEFJIFJldmlldyAoYXV0b21hdGVkIHN0YXRpYyBhbmFseXNpcyks Cm5vdCBzeXpib3Qgb3IgYSB1c2VyIGNyYXNoIHJlcG9ydC4gVW5kZXJseWluZyBpc3N1ZSBpcyBj b2RlLXJldmlldy0KaWRlbnRpZmllZCBzdGF0ZSBpbmNvbnNpc3RlbmN5LCBub3QgYSBmaWxlZCBv b3BzIHRyYWNlLgoKIyMjIFN0ZXAgNC40OiBSZWxhdGVkIFBhdGNoZXMKKipSZWNvcmQ6KiogU2Ft ZSBhdXRob3IvY2xhc3Mgb2YgZml4IGluIGBncGlvLXBjYTk1M3hgIChhbHJlYWR5IGluIHRoaXMK dHJlZSBhdCBgMmU0YmM4NDIyY2RlZWApLiBgc2d0bDUwMDAuY2AgYWxyZWFkeSBpbXBsZW1lbnRz IHRoZSBjb3JyZWN0CnBhdHRlcm4gYXQgbGluZXMgMTEzNeKAkzExMzkuCgojIyMgU3RlcCA0LjU6 IFN0YWJsZSBMaXN0IEhpc3RvcnkKKipSZWNvcmQ6KiogQ291bGQgbm90IHNlYXJjaCBsb3JlIHN0 YWJsZSBsaXN0IChBbnViaXMgYmxvY2tpbmcpLiBUaGUKYW5hbG9nb3VzIHBjYTk1M3ggZml4IGZy b20gdGhpcyBhdXRob3IgZXhwbGljaXRseSBjYXJyaWVkIGBDYzoKc3RhYmxlQHZnZXIua2VybmVs Lm9yZ2AgYW5kIHdhcyBtZXJnZWQgaGVyZSBieSBHcmVnIEstSC4KCi0tLQoKIyMgUGhhc2UgNTog Q29kZSBTZW1hbnRpYyBBbmFseXNpcwoKIyMjIFN0ZXAgNS4xOiBLZXkgRnVuY3Rpb25zCioqUmVj b3JkOioqIGBya19zcGRpZl9ydW50aW1lX3Jlc3VtZSgpYCBtb2RpZmllZDsgcmVsYXRlZDoKYHJr X3NwZGlmX3J1bnRpbWVfc3VzcGVuZCgpYCwgYHJrX3NwZGlmX2h3X3BhcmFtcygpYCwKYHJrX3Nw ZGlmX3RyaWdnZXIoKWAKCiMjIyBTdGVwIDUuMjogQ2FsbGVycwoqKlJlY29yZDoqKgotIGBya19z cGRpZl9ydW50aW1lX3Jlc3VtZSgpYCByZWdpc3RlcmVkIHZpYSBgUlVOVElNRV9QTV9PUFMoKWAg YXQgbGluZQogIDM3NyDigJQgaW52b2tlZCBieSBQTSBjb3JlIG9uIHJ1bnRpbWUgcmVzdW1lCi0g RGlyZWN0IGNhbGwgZnJvbSBgcmtfc3BkaWZfcHJvYmUoKWAgd2hlbiBQTSBydW50aW1lIGlzIGRp c2FibGVkIChsaW5lcwogIDMzOOKAkzM0MSkKLSBSZWdtYXAgdXNlcnM6IGBya19zcGRpZl9od19w YXJhbXMoKWAsIGBya19zcGRpZl90cmlnZ2VyKClgIOKAlCBBU29DCiAgUENNL0RBSSBwYXRocyBk dXJpbmcgYWN0aXZlIGF1ZGlvCgojIyMgU3RlcCA1LjM6IENhbGxlZXMKKipSZWNvcmQ6KiogYGNs a19wcmVwYXJlX2VuYWJsZSgpYCwgYHJlZ2NhY2hlX2NhY2hlX29ubHkoKWAsCmByZWdjYWNoZV9t YXJrX2RpcnR5KClgLCBgcmVnY2FjaGVfc3luYygpYCwgYGNsa19kaXNhYmxlX3VucHJlcGFyZSgp YAoKIyMjIFN0ZXAgNS40OiBSZWFjaGFiaWxpdHkKKipSZWNvcmQ6KioKLSBSZXN1bWUgcGF0aCBy ZWFjaGFibGUgb24gZXZlcnkgcnVudGltZSBQTSByZXN1bWUgKHN1c3BlbmQvcmVzdW1lCiAgY3lj bGVzLCBhdWRpbyBzdGFydCBvbiBSb2NrY2hpcCBib2FyZHMpCi0gQnVnIHRyaWdnZXJzIG9ubHkg d2hlbiBgcmVnY2FjaGVfc3luYygpYCByZXR1cm5zIGVycm9yICh1bmNvbW1vbiBidXQKICByZWFs IOKAlCBidXMvY2xvY2svaGFyZHdhcmUgZmFpbHVyZSBkdXJpbmcgc3luYykKLSBBZnRlciBidWcg dHJpZ2dlcnMsIGFueSByZWdtYXAgYWNjZXNzIHdoaWxlIGRldmljZSBpcyBpbmFjdGl2ZSBoaXRz CiAgaGFyZHdhcmUgcGF0aCBpbnN0ZWFkIG9mIGNhY2hlIOKAlCByZWFjaGFibGUgZnJvbSBzdWJz ZXF1ZW50IHJlc3VtZQogIHJldHJpZXMgb3IgcmVnbWFwIG9wcyBpZiBQTSBzdGF0ZSBpcyBpbmNv bnNpc3RlbnQKCiMjIyBTdGVwIDUuNTogU2ltaWxhciBQYXR0ZXJucwoqKlJlY29yZDoqKgotICoq Q29ycmVjdCBwYXR0ZXJuOioqIGBzb3VuZC9zb2MvY29kZWNzL3NndGw1MDAwLmM6MTEzNS0xMTM5 YCByZXN0b3JlcwogIGBjYWNoZV9vbmx5KHRydWUpYCBvbiBzeW5jIGZhaWx1cmUKLSAqKlNhbWUg YnVnIGNsYXNzLCBzYW1lIGF1dGhvcjoqKiBgZHJpdmVycy9ncGlvL2dwaW8tcGNhOTUzeC5jYAog IGBwY2E5NTN4X3Jlc3RvcmVfY29udGV4dCgpYCBlcnIgcGF0aAotICoqU2FtZSBidWcgcHJlc2Vu dDoqKiBgc291bmQvc29jL3JvY2tjaGlwL3JvY2tjaGlwX3NhaS5jOjI1MS0yNzdgIOKAlAogIGFs c28gbGFja3MgY2FjaGUtb25seSByZXN0b3JlIG9uIHN5bmMgZmFpbHVyZSAob3V0IG9mIHNjb3Bl IGZvciB0aGlzCiAgY29tbWl0KQoKLS0tCgojIyBQaGFzZSA2OiBDcm9zcy1SZWZlcmVuY2UgQWdh aW5zdCBMb2NhbCBUcmVlCgojIyMgU3RlcCA2LjE6IEJ1Z2d5IENvZGUgUHJlc2VudD8KKipSZWNv cmQ6KiogKipZRVMuKiogTG9jYWwgdHJlZSBpcyAqKnY2LjE4LjQ0KiogKGA2LjE4LjQ0YCkuIEJ1 Z2d5IGNvZGUKYXQ6CgpgYGA5ODoxMDI6c291bmQvc29jL3JvY2tjaGlwL3JvY2tjaGlwX3NwZGlm LmMKICAgICAgICByZXQgPSByZWdjYWNoZV9zeW5jKHNwZGlmLT5yZWdtYXApOwogICAgICAgIGlm IChyZXQpIHsKICAgICAgICAgICAgICAgIGNsa19kaXNhYmxlX3VucHJlcGFyZShzcGRpZi0+bWNs ayk7CiAgICAgICAgICAgICAgICBjbGtfZGlzYWJsZV91bnByZXBhcmUoc3BkaWYtPmhjbGspOwog ICAgICAgIH0KYGBgCgpNaXNzaW5nIGByZWdjYWNoZV9jYWNoZV9vbmx5KHNwZGlmLT5yZWdtYXAs IHRydWUpYC4gQnVnIHByZXNlbnQgc2luY2UKMzYyOGM2OTg3ZmI0NSAoMjAxNikuCgojIyMgU3Rl cCA2LjI6IEJhY2twb3J0IENvbXBsaWNhdGlvbnMKKipSZWNvcmQ6KiogQ2xlYW4gYXBwbHkgZXhw ZWN0ZWQg4oCUIGFkZCBvbmUgbGluZSBpbnNpZGUgZXhpc3RpbmcgYGlmCihyZXQpYCBibG9jay4g Q2xvY2sgZW5hYmxlIG9yZGVyIGRpZmZlcnMgZnJvbSB1cHN0cmVhbSBkaWZmIGJ1dCBodW5rCmxv Y2F0aW9uIGlzIHVuY2hhbmdlZC4KCiMjIyBTdGVwIDYuMzogUmVsYXRlZCBGaXhlcyBBbHJlYWR5 IFByZXNlbnQ/CioqUmVjb3JkOioqIE5vIGVxdWl2YWxlbnQgZml4IGluIHRoaXMgdHJlZS4gUHJp b3IgcmVsYXRlZCBmaXgKNmQ5NGQwMDkwNTI3YiAobWlzc2luZyBjbGsgZGlzYWJsZSkgaXMgcHJl c2VudC4gRml4IGNvbW1pdCBub3QgZm91bmQgdmlhCmdyZXAgb3IgZ2l0IGxvZy4KCi0tLQoKIyMg UGhhc2UgNzogU3Vic3lzdGVtIENvbnRleHQKCiMjIyBTdGVwIDcuMTogU3Vic3lzdGVtIGFuZCBD cml0aWNhbGl0eQoqKlJlY29yZDoqKiAqKkFTb0MgLyBSb2NrY2hpcCBTUERJRiBkcml2ZXIqKiDi gJQgKipQRVJJUEhFUkFMKiogKFJvY2tjaGlwCmVtYmVkZGVkIFNvQyBhdWRpbyBvdXRwdXQpLiBB ZmZlY3RzIGJvYXJkcyB1c2luZyB0aGUgaW4tU29DIFNQRElGCmNvbnRyb2xsZXIgKFJLMzI4OCwg UkszMzk5LCBSSzM1NjgsIGV0Yy4pLgoKIyMjIFN0ZXAgNy4yOiBTdWJzeXN0ZW0gQWN0aXZpdHkK KipSZWNvcmQ6KiogTW9kZXJhdGUgcmVjZW50IGFjdGl2aXR5IChTQUkgZHJpdmVyIGFkZGl0aW9u cywgY2xlYW51cHMpOwpTUERJRiBkcml2ZXIgaXRzZWxmIGlzIG1hdHVyZSB3aXRoIGluZnJlcXVl bnQgY2hhbmdlcy4KCi0tLQoKIyMgUGhhc2UgODogSW1wYWN0IGFuZCBSaXNrIEFzc2Vzc21lbnQK CiMjIyBTdGVwIDguMTogV2hvIElzIEFmZmVjdGVkCioqUmVjb3JkOioqIFVzZXJzIG9mIFJvY2tj aGlwIHBsYXRmb3JtcyB3aXRoCmBDT05GSUdfU05EX1NPQ19ST0NLQ0hJUF9TUERJRmAgYW5kIHRo ZSBidWlsdC1pbiBTUERJRiBEQUkg4oCUCmVtYmVkZGVkL0FSTSBib2FyZHMsIG5vdCB1bml2ZXJz YWwgeDg2IHVzZXJzLgoKIyMjIFN0ZXAgOC4yOiBUcmlnZ2VyIENvbmRpdGlvbnMKKipSZWNvcmQ6 KioKLSAqKlRyaWdnZXI6KiogYHJlZ2NhY2hlX3N5bmMoKWAgZmFpbHVyZSBkdXJpbmcgcnVudGlt ZSByZXN1bWUKLSAqKkxpa2VsaWhvb2Q6KiogVW5jb21tb24gKHJlcXVpcmVzIGhhcmR3YXJlL2J1 cy9jbG9jayBpc3N1ZSBkdXJpbmcKICBzeW5jKQotICoqVW5wcml2aWxlZ2VkIHRyaWdnZXI6Kiog Tm8g4oCUIHJlcXVpcmVzIGRldmljZSBhY2Nlc3MgYW5kIGEgcmVzdW1lCiAgZmFpbHVyZSBjb25k aXRpb24KCiMjIyBTdGVwIDguMzogRmFpbHVyZSBNb2RlIFNldmVyaXR5CioqUmVjb3JkOioqCi0g KipGYWlsdXJlIG1vZGU6KiogUmVnbWFwIGF0dGVtcHRzIGxpdmUgTU1JTwogIChgZGV2bV9yZWdt YXBfaW5pdF9tbWlvX2Nsa2AgdXNlcyBgaGNsa2ApIHdoaWxlIGRyaXZlciBjb25zaWRlcnMKICBk ZXZpY2Ugc3VzcGVuZGVkOyByZWdpc3RlciBzdGF0ZSBtYXkgYmUgaW5jb25zaXN0ZW50OyBzdWJz ZXF1ZW50CiAgcmVzdW1lL2F1ZGlvIG9wZXJhdGlvbnMgbWF5IGZhaWwsIGhhbmcsIG9yIHByb2R1 Y2Ugc2lsZW50IGNvcnJ1cHRpb24KLSAqKlNldmVyaXR5OioqICoqTUVESVVNKiog4oCUIHJlYWwg ZnVuY3Rpb25hbCBidWcgb24gYW4gZXJyb3IgcGF0aCwgbm90IGEKICBjb21tb24gY3Jhc2gsIGJ1 dCBjYW4gbGVhdmUgZHJpdmVyIGluIGFuIHVucmVjb3ZlcmFibGUgaW5jb25zaXN0ZW50CiAgc3Rh dGUgd2l0aG91dCB0aGUgZml4CgojIyMgU3RlcCA4LjQ6IFJpc2stQmVuZWZpdAoqKlJlY29yZDoq KgotICoqQmVuZWZpdDoqKiBSZXN0b3JlcyBjb3JyZWN0IFBNL3JlZ21hcCBzdGF0ZSBpbnZhcmlh bnQ7IHByZXZlbnRzCiAgcG9zdC1mYWlsdXJlIHJlZ21hcC9oYXJkd2FyZSBtaXNtYXRjaCBvbiBS b2NrY2hpcCBTUERJRjsgYWxpZ25zIHdpdGgKICBlc3RhYmxpc2hlZCBrZXJuZWwgcGF0dGVybnMK LSAqKlJpc2s6KiogVmVyeSBsb3cg4oCUIG9uZSBsaW5lLCBlcnJvciBwYXRoIG9ubHkKLSAqKlJh dGlvOioqIEZhdm9yYWJsZSBmb3IgYmFja3BvcnQKCi0tLQoKIyMgUGhhc2UgOTogRmluYWwgU3lu dGhlc2lzCgojIyMgU3RlcCA5LjE6IEV2aWRlbmNlIFN1bW1hcnkKCioqRk9SIGJhY2twb3J0Oioq Ci0gUmVhbCBidWcg4oCUIGluY29tcGxldGUgZXJyb3ItcGF0aCBzdGF0ZSByZXN0b3JhdGlvbiBz aW5jZSAyMDE2Ci0gQnVnIGNvbmZpcm1lZCBwcmVzZW50IGluIHY2LjE4LjQ0IHRyZWUKLSBPbmUt bGluZSwgb2J2aW91c2x5IGNvcnJlY3QgZml4IG1hdGNoaW5nIGBzZ3RsNTAwMGAgYW5kIGJhY2tw b3J0ZWQKICBgcGNhOTUzeGAgcHJlY2VkZW50Ci0gQVNvQyBtYWludGFpbmVyIChNYXJrIEJyb3du KSBTaWduZWQtb2ZmLWJ5Ci0gU2FtZSBhdXRob3Igc3VjY2Vzc2Z1bGx5IGdvdCBhbmFsb2dvdXMg Zml4IGludG8gdGhpcyBzdGFibGUgdHJlZQotIExvdyByZWdyZXNzaW9uIHJpc2sKCioqQUdBSU5T VCBiYWNrcG9ydDoqKgotIFJhcmUgdHJpZ2dlciAoYHJlZ2NhY2hlX3N5bmMoKWAgZmFpbHVyZSkK LSBEcml2ZXItc3BlY2lmaWMsIGVtYmVkZGVkIFJvY2tjaGlwIG9ubHkKLSBObyB1c2VyIGNyYXNo IHJlcG9ydCBvciBzeXpib3Qg4oCUIGZsYWdnZWQgYnkgQUkgcmV2aWV3IGJvdAotIE1lZGl1bSBu b3QgY3JpdGljYWwgc2V2ZXJpdHkKCioqVU5SRVNPTFZFRDoqKgotIEZ1bGwgbG9yZSByZXZpZXcg dGhyZWFkIGNvbnRlbnQgKEFudWJpcyBibG9ja2VkKQotIFdoZXRoZXIgcmV2aWV3ZXJzIGV4cGxp Y2l0bHkgbm9taW5hdGVkIGZvciBzdGFibGUKLSBXaGV0aGVyIHBhdGNoIDUvTiBzZXJpZXMgaGFz IG90aGVyIGRlcGVuZGVuY2llcyAoZGlmZiBhcHBlYXJzCiAgc3RhbmRhbG9uZSkKCiMjIyBTdGVw IDkuMjogU3RhYmxlIFJ1bGVzIENoZWNrbGlzdAoxLiBPYnZpb3VzbHkgY29ycmVjdCBhbmQgdGVz dGVkPyAqKlBBU1MqKiDigJQgcGF0dGVybiBwcm92ZW4gZWxzZXdoZXJlOwogICBtYWludGFpbmVy IFNPQjsgbm8gVGVzdGVkLWJ5CjIuIEZpeGVzIGEgcmVhbCBidWcgYWZmZWN0aW5nIHVzZXJzPyAq KlBBU1MqKiDigJQgc3RhdGUtbWFjaGluZSBidWcgb24KICAgcmVzdW1lIGVycm9yIHBhdGggZm9y IFJvY2tjaGlwIFNQRElGIHVzZXJzCjMuIEltcG9ydGFudCBpc3N1ZT8gKipQQVNTIChNRURJVU0p Kiog4oCUIGNhbiBjYXVzZSBkcml2ZXIKICAgbWFsZnVuY3Rpb24vaGFuZyBvbiBlcnJvciBwYXRo LCBub3Qgc2VjdXJpdHkvZGF0YS1jb3JydXB0aW9uIGluCiAgIGNvbW1vbiBjYXNlCjQuIFNtYWxs IGFuZCBjb250YWluZWQ/ICoqUEFTUyoqIOKAlCAxIGxpbmUsIDEgZmlsZQo1LiBObyBuZXcgZmVh dHVyZXMgb3IgQVBJcz8gKipQQVNTKioKNi4gQ2FuIGFwcGx5IHRvIGxvY2FsIHRyZWU/ICoqUEFT UyoqIOKAlCBidWdneSBjb2RlIHByZXNlbnQsIGNsZWFuIGFwcGx5CgojIyMgU3RlcCA5LjM6IEV4 Y2VwdGlvbiBDYXRlZ29yaWVzCioqUmVjb3JkOioqIE5vdCBhcHBsaWNhYmxlIOKAlCBzdGFuZGFy ZCBidWcgZml4LCBub3QgZGV2aWNlCklEL3F1aXJrL2J1aWxkL2RvYyBleGNlcHRpb24uCgojIyMg U3RlcCA5LjQ6IERlY2lzaW9uIFJhdGlvbmFsZQpUaGlzIGlzIGEgd2VsbC11bmRlcnN0b29kIGVy cm9yLXBhdGggaW52YXJpYW50IGZpeDogd2hlbiBydW50aW1lIHJlc3VtZQpmYWlscyBhZnRlciBk aXNhYmxpbmcgY2FjaGUtb25seSBtb2RlLCB0aGUgZHJpdmVyIG11c3QgcmVzdG9yZSBjYWNoZS0K b25seSBtb2RlIGJlZm9yZSB0dXJuaW5nIGNsb2NrcyBvZmYg4oCUIGV4YWN0bHkgd2hhdCBzdXNw ZW5kIGVzdGFibGlzaGVkLgpUaGUgYnVnIGhhcyBleGlzdGVkIHNpbmNlIHRoZSByZWdjYWNoZSBy ZXN1bWUgbG9naWMgd2FzIGFkZGVkIGluIDIwMTYKYW5kIGlzIHByZXNlbnQgaW4gdGhpcyA2LjE4 LnkgdHJlZS4gV2hpbGUgdGhlIHRyaWdnZXIgaXMgdW5jb21tb24gYW5kCmltcGFjdCBpcyBkcml2 ZXItc3BlY2lmaWMsIHRoZSBmaXggaXMgdHJpdmlhbCwgbG93LXJpc2ssIG1haW50YWluZXItCmFw cHJvdmVkLCBhbmQgZm9sbG93cyBhIHBhdHRlcm4gYWxyZWFkeSBhY2NlcHRlZCBmb3Igc3RhYmxl IChwY2E5NTN4LApzZ3RsNTAwMCkuIENvbnNlcnZhdGl2ZSBzdGFibGUgcG9saWN5IGZhdm9ycyBz dWNoIHN1cmdpY2FsIGVycm9yLXBhdGgKZml4ZXMgdGhhdCBwcmV2ZW50IGxlYXZpbmcgaGFyZHdh cmUgZHJpdmVycyBpbiBpbmNvbnNpc3RlbnQgc3RhdGVzLgoKLS0tCgojIyBWZXJpZmljYXRpb24K Ci0gKipbUGhhc2UgMV0qKiBQYXJzZWQgY29tbWl0IG1lc3NhZ2UgYW5kIGFsbCB0YWdzIGZyb20g dXNlci1wcm92aWRlZAogIGNvbW1pdCB0ZXh0Ci0gKipbUGhhc2UgMl0qKiBEaWZmIGFuYWx5c2lz OiAxIGxpbmUgYWRkZWQgaW4KICBgcmtfc3BkaWZfcnVudGltZV9yZXN1bWUoKWAgZXJyb3IgcGF0 aAotICoqW1BoYXNlIDNdKiogYGdpdCBkZXNjcmliZSBIRUFEYDogdjYuMTguNDQtMS1nMjczNmMz MmRhOThiOSAvIGtlcm5lbAogIDYuMTguNDQKLSAqKltQaGFzZSAzXSoqIGBnaXQgYmxhbWUgLUwg NzcsMTA1YDogcmVnY2FjaGUgZXJyb3IgcGF0aCBmcm9tCiAgMzYyOGM2OTg3ZmI0NSAoMjAxNikK LSAqKltQaGFzZSAzXSoqIGBnaXQgc2hvdyAzNjI4YzY5ODdmYjQ1YDogY29uZmlybWVkIGludHJv ZHVjdGlvbiBvZgogIHJlZ2NhY2hlX3N5bmMgd2l0aG91dCBjYWNoZS1vbmx5IHJlc3RvcmUgb24g ZXJyb3IKLSAqKltQaGFzZSAzXSoqIGBnaXQgc2hvdyA2ZDk0ZDAwOTA1MjdiYDogcmVsYXRlZCBw cmlvciBlcnJvci1wYXRoIGZpeAogIGluIHNhbWUgZnVuY3Rpb24KLSAqKltQaGFzZSAzXSoqIGBn aXQgbG9nIC0tZ3JlcD0iUmVzdG9yZSByZWdjYWNoZSJgOiBubyBmaXggY29tbWl0IGluCiAgdHJl ZQotICoqW1BoYXNlIDNdKiogYGdpdCBzaG93IDJlNGJjODQyMmNkZWVgOiBzYW1lIGF1dGhvcidz IGFuYWxvZ291cwogIHBjYTk1M3ggZml4IGJhY2twb3J0ZWQgaGVyZSB3aXRoIENjOiBzdGFibGUK LSAqKltQaGFzZSA0XSoqIGBiNCBkaWcgLW0gIlJlc3RvcmUgcmVnY2FjaGUuLi4iYDogbm8gbWF0 Y2gKLSAqKltQaGFzZSA0XSoqIFdlYkZldGNoIGxvcmUvcGF0Y2gubXNnaWQubGluayBVUkxzOiBi bG9ja2VkIGJ5IEFudWJpcyDigJQKICAqKlVOVkVSSUZJRUQqKiByZXZpZXcgdGhyZWFkIGNvbnRl bnQKLSAqKltQaGFzZSA1XSoqIFJlYWQgYHJvY2tjaGlwX3NwZGlmLmNgOiBjb25maXJtZWQgcmVn bWFwIHVzZXJzIGFuZCBQTQogIG9wcyByZWdpc3RyYXRpb24KLSAqKltQaGFzZSA1XSoqIFJlYWQg YHNndGw1MDAwLmM6MTEzNS0xMTM5YDogY29uZmlybWVkIGNvcnJlY3QgcmVmZXJlbmNlCiAgcGF0 dGVybgotICoqW1BoYXNlIDVdKiogUmVhZCBgcm9ja2NoaXBfc2FpLmM6MjUxLTI3N2A6IHNhbWUg bWlzc2luZyBwYXR0ZXJuCiAgKHNlcGFyYXRlIGlzc3VlKQotICoqW1BoYXNlIDVdKiogUmVhZCBg ZHJpdmVycy9iYXNlL3JlZ21hcC9yZWdjYWNoZS5jOjU1MS01NzBgOiBjb25maXJtZWQKICBjYWNo ZV9vbmx5IHNlbWFudGljcwotICoqW1BoYXNlIDZdKiogUmVhZCBjdXJyZW50IGByb2NrY2hpcF9z cGRpZi5jOjY2LTEwNWA6IGNvbmZpcm1lZCBidWdneQogIGNvZGUgd2l0aG91dCBmaXgKLSAqKltQ aGFzZSA2XSoqIGBnaXQgbG9nIC0tb25lbGluZSAtMjAgLS0KICBzb3VuZC9zb2Mvcm9ja2NoaXAv cm9ja2NoaXBfc3BkaWYuY2A6IG5vIGNvbmZsaWN0aW5nIGZpeCBwcmVzZW50CgoqKllFUyoqKipW ZXJkaWN0OiBZRVMqKiDigJQgYmFja3BvcnQgdG8gdGhpcyB0cmVlICh2Ni4xOC40NCkuCgpUaGUg Um9ja2NoaXAgU1BESUYgZHJpdmVyIGxlYXZlcyBgcmVnY2FjaGVfY2FjaGVfb25seWAgZGlzYWJs ZWQgd2hlbgpgcmVnY2FjaGVfc3luYygpYCBmYWlscyBkdXJpbmcgcnVudGltZSByZXN1bWUsIHNv IGxhdGVyIHJlZ2lzdGVyCmFjY2Vzc2VzIGNhbiBoaXQgaGFyZHdhcmUgd2hpbGUgdGhlIGRldmlj ZSBpcyBzdGlsbCBpbmFjdGl2ZS4gVGhlIGZpeCBpcwphIG9uZS1saW5lIHJlc3RvcmUgb2YgY2Fj aGUtb25seSBtb2RlIG9uIHRoYXQgZXJyb3IgcGF0aCDigJQgc2FtZSBwYXR0ZXJuCmFzIGBzZ3Rs NTAwMGAgYW5kIHRoZSBhdXRob3LigJlzIGJhY2twb3J0ZWQgYHBjYTk1M3hgIGZpeC4gVGhlIGJ1 ZyBoYXMKYmVlbiBwcmVzZW50IHNpbmNlIDIwMTYgYW5kIGlzIHN0aWxsIGluIHRoaXMgY2hlY2tv dXQ7IGl04oCZcyBhIHNtYWxsLApsb3ctcmlzaywgbWFpbnRhaW5lci1zaWduZWQgZXJyb3ItcGF0 aCBmaXguCgogc291bmQvc29jL3JvY2tjaGlwL3JvY2tjaGlwX3NwZGlmLmMgfCAxICsKIDEgZmls ZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQoKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9yb2NrY2hp cC9yb2NrY2hpcF9zcGRpZi5jIGIvc291bmQvc29jL3JvY2tjaGlwL3JvY2tjaGlwX3NwZGlmLmMK aW5kZXggZDM2NTE2ODkzNGRjNi4uN2ExNWY2ODBkZTJmZSAxMDA2NDQKLS0tIGEvc291bmQvc29j L3JvY2tjaGlwL3JvY2tjaGlwX3NwZGlmLmMKKysrIGIvc291bmQvc29jL3JvY2tjaGlwL3JvY2tj aGlwX3NwZGlmLmMKQEAgLTk3LDYgKzk3LDcgQEAgc3RhdGljIGludCBya19zcGRpZl9ydW50aW1l X3Jlc3VtZShzdHJ1Y3QgZGV2aWNlICpkZXYpCiAKIAlyZXQgPSByZWdjYWNoZV9zeW5jKHNwZGlm LT5yZWdtYXApOwogCWlmIChyZXQpIHsKKwkJcmVnY2FjaGVfY2FjaGVfb25seShzcGRpZi0+cmVn bWFwLCB0cnVlKTsKIAkJY2xrX2Rpc2FibGVfdW5wcmVwYXJlKHNwZGlmLT5tY2xrKTsKIAkJY2xr X2Rpc2FibGVfdW5wcmVwYXJlKHNwZGlmLT5oY2xrKTsKIAl9Ci0tIAoyLjUzLjAKCgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpMaW51eC1yb2NrY2hpcCBt YWlsaW5nIGxpc3QKTGludXgtcm9ja2NoaXBAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlz dHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LXJvY2tjaGlwCg==