From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-alma10-1.taild15c8.ts.net [100.103.45.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 85559427F89; Tue, 1 Sep 2026 16:01:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=100.103.45.18 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788278489; cv=none; b=uYk052tjwYCSy2diLkgfmkKo/CHCYwoSAhC8VG/R2PBCM8XAjrWj0oeqwK+zpnMgNIE7FXmcbC3Vp4E1/3XzrhD7wcmBQla6MPfojNoW0Tn61s25HudgkmdPQKF35amfrUvER5Y2V9uKak7SOkOFIVOvHuHoACTX4jLBESJYg3o= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788278489; c=relaxed/simple; bh=K6iOz3xv8JB2fRba2PHEdYq6MTfzDlm/uF66JgGGg7U=; h=From:Subject:To:Cc:In-Reply-To:References:Content-Type:Date: Message-Id; b=qeAUArgZ3xxAjQ1I2MxEe7dTxQVtNkCequiBT6oTpwbfitTlIFfASKaH1vf1HG4m+rA0A7CtpwAEnUqxi7QkcqFEaJANJlj5l1ZWu5ra3EyBFScy1iC2R/kK20f1d7x+MwXTh2S4PrPrT+b3cANB8qFPSjPfvJrDhkgbBok4rdI= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=TP14xNfo; arc=none smtp.client-ip=100.103.45.18 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="TP14xNfo" Received: by smtp.kernel.org (Postfix) with ESMTPSA id E32C51F000E9; Tue, 1 Sep 2026 16:01:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1788278488; bh=c5EM6whpJGf7ZLLsPgoToeYQCNIHsO6sbxBPilETrPM=; h=From:Subject:Reply-To:To:Cc:In-Reply-To:References:Date; b=TP14xNfo5eQ+AXWQDUSw/o5JZt0o8oE2ZmUrn1of7QmQqLrs3r4ttHLKc7W0JMMKP q8aA+ZDEYVlIPGF+k+JcMaqd/TebiC2ufYYVordGvl7FolKafrAKxhSA9URV4Ky0nD aZoupALvmSfGAq9hG2r0u9UnKSADdxTbkH0CFH9ENebnr3xAYrtNWrpN5POWM0SRR6 2i8YiuwBG2Qm/VTvCowFluxVEs8CPrg+YBIXMRDwLXQLXhSFHSWsScfBKnMTXwjExE u3Ey0MTqQz7q59m9JnwXkTG8CHnrc8wLZ0InQjpSE48gBCt6PkCkdfCfipTrwqe4ow xkkVXmjNV/+3w== From: sashiko-bot@kernel.org Subject: Re: [PATCH v11 02/24] dt-bindings: ufs: mediatek,ufs: Complete the binding Reply-To: sashiko-reviews@lists.linux.dev To: "Louis-Alexis Eyraud" Cc: devicetree@vger.kernel.org, linux-phy@lists.infradead.org, olteanv@gmail.com, linux-scsi@vger.kernel.org, neil.armstrong@linaro.org, robh@kernel.org, conor+dt@kernel.org, vkoul@kernel.org In-Reply-To: <20260901-mt8196-ufs-v11-2-dbd007704490@collabora.com> References: <20260901-mt8196-ufs-v11-0-dbd007704490@collabora.com> <20260901-mt8196-ufs-v11-2-dbd007704490@collabora.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Date: Tue, 01 Sep 2026 16:01:27 +0000 Message-Id: <20260901160127.E32C51F000E9@smtp.kernel.org> Precedence: bulk X-Mailing-List: devicetree@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Thank you for your contribution! Sashiko AI review found 2 potential issue(= s) to consider: - [Medium] Changing clock names and constraints breaks DT validation for th= e existing in-tree user `mt8195.dtsi` and omits crypt clocks expected by th= e driver. - [Low] Missing `#include ` in = the newly added device tree example. -- commit 043addd7d18e6896e3ee286c9ea8d5a48e6e340a Author: Nicolas Frattaroli dt-bindings: ufs: mediatek,ufs: Complete the binding This commit updates the mediatek,ufs.yaml binding to make it more complete. It disallows the deprecated freq-table-hz property, adds reset controls and power supplies, modifies clock names by removing the ufs_ prefix, and updates constraints for MT8183, MT8192, and MT8195. It also adds a second example for MT8195. > diff --git a/Documentation/devicetree/bindings/ufs/mediatek,ufs.yaml b/Do= cumentation/devicetree/bindings/ufs/mediatek,ufs.yaml > index 15c347f5e6604..945cb986b06b7 100644 > --- a/Documentation/devicetree/bindings/ufs/mediatek,ufs.yaml > +++ b/Documentation/devicetree/bindings/ufs/mediatek,ufs.yaml [ ... ] > @@ -19,11 +19,25 @@ properties: > =20 > clocks: > minItems: 1 > - maxItems: 8 > + maxItems: 10 > =20 > clock-names: > minItems: 1 > - maxItems: 8 > + items: > + - const: main > + - const: aes > + - const: tick > + - const: unipro_sysclk > + - const: unipro_tick > + - const: unipro_mp_bclk > + - const: tx_symbol > + - const: mem_sub > + - const: rx_symbol0 > + - const: rx_symbol1 > + > + operating-points-v2: true > + > + freq-table-hz: false [Severity: Medium] Will this change cause dtbs_check validation failures for existing in-tree device trees? The in-tree arch/arm64/boot/dts/mediatek/mt8195.dtsi still uses the old clock names and the freq-table-hz property: arch/arm64/boot/dts/mediatek/mt8195.dtsi:ufshci() { ... compatible =3D "mediatek,mt8195-ufshci"; ... freq-table-hz =3D <0 0>, <0 0>, <0 0>; ... } Since this patch explicitly disallows freq-table-hz and renames the clocks without updating the dtsi, running make dtbs_check against the unchanged dtsi will fail. Additionally, does this list of clock names omit the crypt clocks? The driver actively requests the crypt_mux, crypt_lp, and crypt_perf clocks (along with the mediatek,ufs-boost-crypt property) in ufs_mtk_init_boost_crypt(). [ ... ] > @@ -94,9 +148,32 @@ examples: > phys =3D <&ufsphy>; > =20 > clocks =3D <&infracfg_ao CLK_INFRA_UFS>; > - clock-names =3D "ufs"; > - freq-table-hz =3D <0 0>; > + clock-names =3D "main"; > =20 > vcc-supply =3D <&mt_pmic_vemc_ldo_reg>; > }; > }; > + - | > + ufshci@11270000 { > + compatible =3D "mediatek,mt8195-ufshci"; > + reg =3D <0x11270000 0x2300>; > + interrupts =3D ; [Severity: Low] Does this new example fail to compile with dt_binding_check? The example uses the C preprocessor macros GIC_SPI and IRQ_TYPE_LEVEL_HIGH without including the header file that defines them. Since dt-schema parses each example block independently, a missing #include will cause dtc compilation to fail during make dt_binding_check. > + phys =3D <&ufsphy>; > + clocks =3D <&infracfg_ao 63>, <&infracfg_ao 64>, <&infracfg_ao 6= 5>, > + <&infracfg_ao 54>, <&infracfg_ao 55>, <&infracfg_ao 56>, > + <&infracfg_ao 90>, <&infracfg_ao 93>, <&topckgen 212>, > + <&topckgen 215>; --=20 Sashiko AI review =C2=B7 https://sashiko.dev/#/patchset/20260901-mt8196-ufs= -v11-0-dbd007704490@collabora.com?part=3D2 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 64BCEC61DD6 for ; Tue, 1 Sep 2026 16:01:32 +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:MIME-Version:Reply-To:List-Subscribe: List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:Message-Id:Date: References:In-Reply-To:Cc:To:Subject:From:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=rT1g8CdxQr6gchkIZkc1ayT/mGJ5FuAdQ4OuTz3uMiQ=; b=AEEcZLuODm+r4m hWY4JfZGM6ohx9Jlg81ZQpuKFYcTf1WWjbEeUQKOtJGb4qZydlJktaFmpwUr7yGB1PwAOExVZlLEf dxwL4sgfMbe+sjn5T28mOIGQAL0cfwVfMhq62VsgLcIdw7JCGXRhdzNPcg9t3fnnoZ8u7nyNWeNWL By7qCZz0nWKpLkG5ISa3tCPuQ93w0IfXDus8cevJLyhN0QEm1C1ApirsJXPoKl8PPr5GqVPjv/Mzx D9MwQBWgtbaOCiMWuToZ+2ZR9PVA67mAF9Sjjs8UbXX6Kxi/d4goWeoTYx3x1i36Zg+bn/H/BzZ/B HdHJELRkYE1xKNbkQkeg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1x1QvT-0000000CbtU-2oGS; Tue, 01 Sep 2026 16:01:31 +0000 Received: from sea.source.kernel.org ([2600:3c0a:e001:78e:0:1991:8:25]) by bombadil.infradead.org with esmtps (Exim 4.99.1 #2 (Red Hat Linux)) id 1x1QvR-0000000CbtM-40RZ for linux-phy@lists.infradead.org; Tue, 01 Sep 2026 16:01:29 +0000 Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18]) by sea.source.kernel.org (Postfix) with ESMTP id 844AF42DC0; Tue, 1 Sep 2026 16:01:28 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id E32C51F000E9; Tue, 1 Sep 2026 16:01:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1788278488; bh=c5EM6whpJGf7ZLLsPgoToeYQCNIHsO6sbxBPilETrPM=; h=From:Subject:Reply-To:To:Cc:In-Reply-To:References:Date; b=TP14xNfo5eQ+AXWQDUSw/o5JZt0o8oE2ZmUrn1of7QmQqLrs3r4ttHLKc7W0JMMKP q8aA+ZDEYVlIPGF+k+JcMaqd/TebiC2ufYYVordGvl7FolKafrAKxhSA9URV4Ky0nD aZoupALvmSfGAq9hG2r0u9UnKSADdxTbkH0CFH9ENebnr3xAYrtNWrpN5POWM0SRR6 2i8YiuwBG2Qm/VTvCowFluxVEs8CPrg+YBIXMRDwLXQLXhSFHSWsScfBKnMTXwjExE u3Ey0MTqQz7q59m9JnwXkTG8CHnrc8wLZ0InQjpSE48gBCt6PkCkdfCfipTrwqe4ow xkkVXmjNV/+3w== From: sashiko-bot@kernel.org Subject: Re: [PATCH v11 02/24] dt-bindings: ufs: mediatek,ufs: Complete the binding To: "Louis-Alexis Eyraud" Cc: devicetree@vger.kernel.org, linux-phy@lists.infradead.org, olteanv@gmail.com, linux-scsi@vger.kernel.org, neil.armstrong@linaro.org, robh@kernel.org, conor+dt@kernel.org, vkoul@kernel.org In-Reply-To: <20260901-mt8196-ufs-v11-2-dbd007704490@collabora.com> References: <20260901-mt8196-ufs-v11-0-dbd007704490@collabora.com> <20260901-mt8196-ufs-v11-2-dbd007704490@collabora.com> Date: Tue, 01 Sep 2026 16:01:27 +0000 Message-Id: <20260901160127.E32C51F000E9@smtp.kernel.org> X-BeenThere: linux-phy@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Linux Phy Mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: sashiko-reviews@lists.linux.dev MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-phy" Errors-To: linux-phy-bounces+linux-phy=archiver.kernel.org@lists.infradead.org VGhhbmsgeW91IGZvciB5b3VyIGNvbnRyaWJ1dGlvbiEgU2FzaGlrbyBBSSByZXZpZXcgZm91bmQg MiBwb3RlbnRpYWwgaXNzdWUocykgdG8gY29uc2lkZXI6Ci0gW01lZGl1bV0gQ2hhbmdpbmcgY2xv Y2sgbmFtZXMgYW5kIGNvbnN0cmFpbnRzIGJyZWFrcyBEVCB2YWxpZGF0aW9uIGZvciB0aGUgZXhp c3RpbmcgaW4tdHJlZSB1c2VyIGBtdDgxOTUuZHRzaWAgYW5kIG9taXRzIGNyeXB0IGNsb2NrcyBl eHBlY3RlZCBieSB0aGUgZHJpdmVyLgotIFtMb3ddIE1pc3NpbmcgYCNpbmNsdWRlIDxkdC1iaW5k aW5ncy9pbnRlcnJ1cHQtY29udHJvbGxlci9hcm0tZ2ljLmg+YCBpbiB0aGUgbmV3bHkgYWRkZWQg ZGV2aWNlIHRyZWUgZXhhbXBsZS4KLS0KCmNvbW1pdCAwNDNhZGRkN2QxOGU2ODk2ZTNlZTI4NmM5 ZWE4ZDVhNDhlNmUzNDBhCkF1dGhvcjogTmljb2xhcyBGcmF0dGFyb2xpIDxuaWNvbGFzLmZyYXR0 YXJvbGlAY29sbGFib3JhLmNvbT4KCmR0LWJpbmRpbmdzOiB1ZnM6IG1lZGlhdGVrLHVmczogQ29t cGxldGUgdGhlIGJpbmRpbmcKClRoaXMgY29tbWl0IHVwZGF0ZXMgdGhlIG1lZGlhdGVrLHVmcy55 YW1sIGJpbmRpbmcgdG8gbWFrZSBpdCBtb3JlIGNvbXBsZXRlLgpJdCBkaXNhbGxvd3MgdGhlIGRl cHJlY2F0ZWQgZnJlcS10YWJsZS1oeiBwcm9wZXJ0eSwgYWRkcyByZXNldCBjb250cm9scyBhbmQK cG93ZXIgc3VwcGxpZXMsIG1vZGlmaWVzIGNsb2NrIG5hbWVzIGJ5IHJlbW92aW5nIHRoZSB1ZnNf IHByZWZpeCwgYW5kCnVwZGF0ZXMgY29uc3RyYWludHMgZm9yIE1UODE4MywgTVQ4MTkyLCBhbmQg TVQ4MTk1LiBJdCBhbHNvIGFkZHMgYSBzZWNvbmQKZXhhbXBsZSBmb3IgTVQ4MTk1LgoKPiBkaWZm IC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3Vmcy9tZWRpYXRlayx1 ZnMueWFtbCBiL0RvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy91ZnMvbWVkaWF0ZWss dWZzLnlhbWwKPiBpbmRleCAxNWMzNDdmNWU2NjA0Li45NDVjYjk4NmIwNmI3IDEwMDY0NAo+IC0t LSBhL0RvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy91ZnMvbWVkaWF0ZWssdWZzLnlh bWwKPiArKysgYi9Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvdWZzL21lZGlhdGVr LHVmcy55YW1sCgpbIC4uLiBdCgo+IEBAIC0xOSwxMSArMTksMjUgQEAgcHJvcGVydGllczoKPiAg Cj4gICAgY2xvY2tzOgo+ICAgICAgbWluSXRlbXM6IDEKPiAtICAgIG1heEl0ZW1zOiA4Cj4gKyAg ICBtYXhJdGVtczogMTAKPiAgCj4gICAgY2xvY2stbmFtZXM6Cj4gICAgICBtaW5JdGVtczogMQo+ IC0gICAgbWF4SXRlbXM6IDgKPiArICAgIGl0ZW1zOgo+ICsgICAgICAtIGNvbnN0OiBtYWluCj4g KyAgICAgIC0gY29uc3Q6IGFlcwo+ICsgICAgICAtIGNvbnN0OiB0aWNrCj4gKyAgICAgIC0gY29u c3Q6IHVuaXByb19zeXNjbGsKPiArICAgICAgLSBjb25zdDogdW5pcHJvX3RpY2sKPiArICAgICAg LSBjb25zdDogdW5pcHJvX21wX2JjbGsKPiArICAgICAgLSBjb25zdDogdHhfc3ltYm9sCj4gKyAg ICAgIC0gY29uc3Q6IG1lbV9zdWIKPiArICAgICAgLSBjb25zdDogcnhfc3ltYm9sMAo+ICsgICAg ICAtIGNvbnN0OiByeF9zeW1ib2wxCj4gKwo+ICsgIG9wZXJhdGluZy1wb2ludHMtdjI6IHRydWUK PiArCj4gKyAgZnJlcS10YWJsZS1oejogZmFsc2UKCltTZXZlcml0eTogTWVkaXVtXQpXaWxsIHRo aXMgY2hhbmdlIGNhdXNlIGR0YnNfY2hlY2sgdmFsaWRhdGlvbiBmYWlsdXJlcyBmb3IgZXhpc3Rp bmcgaW4tdHJlZQpkZXZpY2UgdHJlZXM/CgpUaGUgaW4tdHJlZSBhcmNoL2FybTY0L2Jvb3QvZHRz L21lZGlhdGVrL210ODE5NS5kdHNpIHN0aWxsIHVzZXMgdGhlIG9sZApjbG9jayBuYW1lcyBhbmQg dGhlIGZyZXEtdGFibGUtaHogcHJvcGVydHk6CgphcmNoL2FybTY0L2Jvb3QvZHRzL21lZGlhdGVr L210ODE5NS5kdHNpOnVmc2hjaSgpIHsKICAgIC4uLgogICAgY29tcGF0aWJsZSA9ICJtZWRpYXRl ayxtdDgxOTUtdWZzaGNpIjsKICAgIC4uLgogICAgZnJlcS10YWJsZS1oeiA9IDwwIDA+LCA8MCAw PiwgPDAgMD47CiAgICAuLi4KfQoKU2luY2UgdGhpcyBwYXRjaCBleHBsaWNpdGx5IGRpc2FsbG93 cyBmcmVxLXRhYmxlLWh6IGFuZCByZW5hbWVzIHRoZSBjbG9ja3MKd2l0aG91dCB1cGRhdGluZyB0 aGUgZHRzaSwgcnVubmluZyBtYWtlIGR0YnNfY2hlY2sgYWdhaW5zdCB0aGUgdW5jaGFuZ2VkCmR0 c2kgd2lsbCBmYWlsLgoKQWRkaXRpb25hbGx5LCBkb2VzIHRoaXMgbGlzdCBvZiBjbG9jayBuYW1l cyBvbWl0IHRoZSBjcnlwdCBjbG9ja3M/IFRoZQpkcml2ZXIgYWN0aXZlbHkgcmVxdWVzdHMgdGhl IGNyeXB0X211eCwgY3J5cHRfbHAsIGFuZCBjcnlwdF9wZXJmIGNsb2NrcwooYWxvbmcgd2l0aCB0 aGUgbWVkaWF0ZWssdWZzLWJvb3N0LWNyeXB0IHByb3BlcnR5KSBpbgp1ZnNfbXRrX2luaXRfYm9v c3RfY3J5cHQoKS4KClsgLi4uIF0KCj4gQEAgLTk0LDkgKzE0OCwzMiBAQCBleGFtcGxlczoKPiAg ICAgICAgICAgICAgcGh5cyA9IDwmdWZzcGh5PjsKPiAgCj4gICAgICAgICAgICAgIGNsb2NrcyA9 IDwmaW5mcmFjZmdfYW8gQ0xLX0lORlJBX1VGUz47Cj4gLSAgICAgICAgICAgIGNsb2NrLW5hbWVz ID0gInVmcyI7Cj4gLSAgICAgICAgICAgIGZyZXEtdGFibGUtaHogPSA8MCAwPjsKPiArICAgICAg ICAgICAgY2xvY2stbmFtZXMgPSAibWFpbiI7Cj4gIAo+ICAgICAgICAgICAgICB2Y2Mtc3VwcGx5 ID0gPCZtdF9wbWljX3ZlbWNfbGRvX3JlZz47Cj4gICAgICAgICAgfTsKPiAgICAgIH07Cj4gKyAg LSB8Cj4gKyAgICB1ZnNoY2lAMTEyNzAwMDAgewo+ICsgICAgICAgIGNvbXBhdGlibGUgPSAibWVk aWF0ZWssbXQ4MTk1LXVmc2hjaSI7Cj4gKyAgICAgICAgcmVnID0gPDB4MTEyNzAwMDAgMHgyMzAw PjsKPiArICAgICAgICBpbnRlcnJ1cHRzID0gPEdJQ19TUEkgMTM3IElSUV9UWVBFX0xFVkVMX0hJ R0g+OwoKW1NldmVyaXR5OiBMb3ddCkRvZXMgdGhpcyBuZXcgZXhhbXBsZSBmYWlsIHRvIGNvbXBp bGUgd2l0aCBkdF9iaW5kaW5nX2NoZWNrPwoKVGhlIGV4YW1wbGUgdXNlcyB0aGUgQyBwcmVwcm9j ZXNzb3IgbWFjcm9zIEdJQ19TUEkgYW5kIElSUV9UWVBFX0xFVkVMX0hJR0gKd2l0aG91dCBpbmNs dWRpbmcgdGhlIGhlYWRlciBmaWxlIHRoYXQgZGVmaW5lcyB0aGVtLiBTaW5jZSBkdC1zY2hlbWEg cGFyc2VzCmVhY2ggZXhhbXBsZSBibG9jayBpbmRlcGVuZGVudGx5LCBhIG1pc3NpbmcKI2luY2x1 ZGUgPGR0LWJpbmRpbmdzL2ludGVycnVwdC1jb250cm9sbGVyL2FybS1naWMuaD4Kd2lsbCBjYXVz ZSBkdGMgY29tcGlsYXRpb24gdG8gZmFpbCBkdXJpbmcgbWFrZSBkdF9iaW5kaW5nX2NoZWNrLgoK PiArICAgICAgICBwaHlzID0gPCZ1ZnNwaHk+Owo+ICsgICAgICAgIGNsb2NrcyA9IDwmaW5mcmFj ZmdfYW8gNjM+LCA8JmluZnJhY2ZnX2FvIDY0PiwgPCZpbmZyYWNmZ19hbyA2NT4sCj4gKyAgICAg ICAgICAgICAgICAgPCZpbmZyYWNmZ19hbyA1ND4sIDwmaW5mcmFjZmdfYW8gNTU+LCA8JmluZnJh Y2ZnX2FvIDU2PiwKPiArICAgICAgICAgICAgICAgICA8JmluZnJhY2ZnX2FvIDkwPiwgPCZpbmZy YWNmZ19hbyA5Mz4sIDwmdG9wY2tnZW4gMjEyPiwKPiArICAgICAgICAgICAgICAgICA8JnRvcGNr Z2VuIDIxNT47CgotLSAKU2FzaGlrbyBBSSByZXZpZXcgwrcgaHR0cHM6Ly9zYXNoaWtvLmRldi8j L3BhdGNoc2V0LzIwMjYwOTAxLW10ODE5Ni11ZnMtdjExLTAtZGJkMDA3NzA0NDkwQGNvbGxhYm9y YS5jb20/cGFydD0yCgotLSAKbGludXgtcGh5IG1haWxpbmcgbGlzdApsaW51eC1waHlAbGlzdHMu aW5mcmFkZWFkLm9yZwpodHRwczovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5m by9saW51eC1waHkK