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 71E28C27C53 for ; Fri, 7 Jun 2024 14:42:28 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:In-Reply-To: Content-Transfer-Encoding:Content-Type:MIME-Version:References:Message-ID: Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=0Lu22uaIM6tuLyEZn0JeQI5Ra8rc/jfabfCSvCXYE/A=; b=iFGsecagEqaCX9DHkPOTn82bh8 f+N4RIRdlqTUXGgpPGH9Jzo9ldquh8Vzu3+ZfCvm99hEVfgmPal4nL86qHCyjJKtwOSOGXmmKbfd8 PSPYIMrfNNjjFRKj6cP8xKKc929/Fa8UUpemlsk54fc86pksGo8clSKZNHi5sEqcxVkg4G3ilH/Ut RRgf+u/RxXaDRw0asQRG3kyquCeOaTJO2hd9sF28YcSBa1Ur/W5ynxDyotT1rta6YQFTcrtt8MCpN o61mmnhaGqT1G6e+AX/EzTm+AzIQIf8JgLokNBHtO23ogqZS19gOJJz5bxvoLvNfqoAOeclpIOw/0 mKHVKxzg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1sFanU-0000000ETwa-0Yvo; Fri, 07 Jun 2024 14:42:28 +0000 Received: from perceval.ideasonboard.com ([213.167.242.64]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1sFanO-0000000ETs0-1gOJ; Fri, 07 Jun 2024 14:42:25 +0000 Received: from pendragon.ideasonboard.com (81-175-209-231.bb.dnainternet.fi [81.175.209.231]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 0410C720; Fri, 7 Jun 2024 16:42:03 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1717771324; bh=TXfIcxfKZ+HO9/x3g0vX/xX24/WbzhKt8eJbqKRPiYI=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=hhiYA8rHBz74Da65hnnjBv6TmnLse8pBYPca66L+wnUmaI1rJTsMeWX2PkE9FFd2y 2PmAfTk8/Z3/MYjvi6yklgkJ5exQ2LPdUf992QxJ7RhE8rbQ0Wv6AwzYK0ZbMaop5E D2DpiIgJDKc8PxDE3VdHzpu1nDbpq+iMmUx4j7r4= Date: Fri, 7 Jun 2024 17:41:54 +0300 From: Laurent Pinchart To: Krzysztof Kozlowski Cc: Julien Stephan , Louis Kuo , Phi-Bang Nguyen , Andy Hsieh , AngeloGioacchino Del Regno , Conor Dooley , devicetree@vger.kernel.org, Florian Sylvestre , Krzysztof Kozlowski , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-mediatek@lists.infradead.org, linux-media@vger.kernel.org, Matthias Brugger , Mauro Carvalho Chehab , Paul Elder , Rob Herring Subject: Re: [PATCH v4 1/5] dt-bindings: media: add mediatek ISP3.0 sensor interface Message-ID: <20240607144154.GD18479@pendragon.ideasonboard.com> References: <20240110141443.364655-1-jstephan@baylibre.com> <20240110141443.364655-2-jstephan@baylibre.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240607_074222_627486_2AD8333D X-CRM114-Status: GOOD ( 20.83 ) X-BeenThere: linux-mediatek@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Linux-mediatek" Errors-To: linux-mediatek-bounces+linux-mediatek=archiver.kernel.org@lists.infradead.org Hi Krzysztof, On Fri, Jun 07, 2024 at 10:52:33AM +0200, Julien Stephan wrote: > Le ven. 12 janv. 2024 à 08:32, Krzysztof Kozlowski a écrit : > > On 10/01/2024 15:14, Julien Stephan wrote: > > > From: Louis Kuo > > > > > > This adds the bindings, for the mediatek ISP3.0 SENINF module embedded in > > > some Mediatek SoC, such as the mt8365 > > > > > > > ... > > > > > + clock-names: > > > + items: > > > + - const: camsys > > > + - const: top_mux > > > + > > > + phys: > > > + minItems: 1 > > > + maxItems: 4 > > > + description: > > > + phandle to the PHYs connected to CSI0/A, CSI1, CSI2 and CSI0B > > > + > > > + phy-names: > > > + minItems: 1 > > > + items: > > > + - const: csi0 > > > + - const: csi1 > > > + - const: csi2 > > > + - const: csi0b > > > > Why one hardware has flexible number of phys? > > Hi Krzysztof, > > seninf can have multiple port depending on the soc, each requiring its own phy > > > > + > > > + ports: > > > + $ref: /schemas/graph.yaml#/properties/ports > > > + > > > + properties: > > > + port@0: > > > + $ref: /schemas/graph.yaml#/$defs/port-base > > > + unevaluatedProperties: false > > > + description: CSI0 or CSI0A port > > > + > > > + properties: > > > + endpoint: > > > + $ref: video-interfaces.yaml# > > > + unevaluatedProperties: false > > > + > > > + properties: > > > + clock-lanes: > > > + maxItems: 1 > > > + data-lanes: > > > + minItems: 1 > > > + maxItems: 4 > > > + > > > + port@1: > > > + $ref: /schemas/graph.yaml#/$defs/port-base > > > + unevaluatedProperties: false > > > + description: CSI1 port > > > + > > > + properties: > > > + endpoint: > > > + $ref: video-interfaces.yaml# > > > + unevaluatedProperties: false > > > + > > > + properties: > > > + clock-lanes: > > > + maxItems: 1 > > > + data-lanes: > > > + minItems: 1 > > > + maxItems: 4 > > > + > > > + port@2: > > > + $ref: /schemas/graph.yaml#/$defs/port-base > > > + unevaluatedProperties: false > > > + description: CSI2 port > > > + > > > + properties: > > > + endpoint: > > > + $ref: video-interfaces.yaml# > > > + unevaluatedProperties: false > > > + > > > + properties: > > > + clock-lanes: > > > + maxItems: 1 > > > + data-lanes: > > > + minItems: 1 > > > + maxItems: 4 > > > + > > > + port@3: > > > + $ref: /schemas/graph.yaml#/$defs/port-base > > > + unevaluatedProperties: false > > > + description: CSI0B port > > > + > > > + properties: > > > + endpoint: > > > + $ref: video-interfaces.yaml# > > > + unevaluatedProperties: false > > > + > > > + properties: > > > + clock-lanes: > > > + maxItems: 1 > > > + data-lanes: > > > + minItems: 1 > > > + maxItems: 2 > > > + > > > + port@4: > > > + $ref: /schemas/graph.yaml#/properties/port > > > + description: connection point for cam0 > > > + > > > + port@5: > > > + $ref: /schemas/graph.yaml#/properties/port > > > + description: connection point for cam1 > > > + > > > + port@6: > > > + $ref: /schemas/graph.yaml#/properties/port > > > + description: connection point for camsv0 > > > + > > > + port@7: > > > + $ref: /schemas/graph.yaml#/properties/port > > > + description: connection point for camsv1 > > > + > > > + port@8: > > > + $ref: /schemas/graph.yaml#/properties/port > > > + description: connection point for camsv2 > > > + > > > + port@9: > > > + $ref: /schemas/graph.yaml#/properties/port > > > + description: connection point for camsv3 > > > + > > > + required: > > > + - port@0 > > > + - port@1 > > > + - port@2 > > > + - port@3 > > > + - port@4 > > > + - port@5 > > > + - port@6 > > > + - port@7 > > > + - port@8 > > > + - port@9 > > > + > > > +required: > > > + - compatible > > > + - interrupts > > > + - clocks > > > + - clock-names > > > + - power-domains > > > + - ports > > > + > > > +additionalProperties: false > > > + > > > +examples: > > > + - | > > > + #include > > > + #include > > > + #include > > > + #include > > > + #include > > > + > > > + soc { > > > + #address-cells = <2>; > > > + #size-cells = <2>; > > > > Use 4 spaces for example indentation. > > > > > + > > > + seninf: seninf@15040000 { > > > > Node names should be generic. See also an explanation and list of > > examples (not exhaustive) in DT specification: > > https://devicetree-specification.readthedocs.io/en/latest/chapter2-devicetree-basics.html#generic-names-recommendation The seninf is (mostly) a set of MIPI CSI-2 receivers. Would you prefer 'csi', 'mipi-csi', 'csi-2' or any other name ? There's also the camsv IP in the same series that needs a generic name. I really don't know what to propose for it. Could you recommend something that would make you happy ? On a side note, that document lacks appropriate generic names for lots of building blocks found in recent SoCs, it would be nice to get it updated. You will eventually get better quality DT patches then :-) > > > + compatible = "mediatek,mt8365-seninf"; > > > + reg = <0 0x15040000 0 0x6000>; > > > + interrupts = ; > > > + clocks = <&camsys CLK_CAM_SENIF>, > > > + <&topckgen CLK_TOP_SENIF_SEL>; > > > + clock-names = "camsys", "top_mux"; > > > + > > > + power-domains = <&spm MT8365_POWER_DOMAIN_CAM>; > > > + > > > + phys = <&mipi_csi0 PHY_TYPE_DPHY>; > > > + phy-names = "csi0"; > > > + > > > + ports { > > > + #address-cells = <1>; > > > + #size-cells = <0>; > > > + > > > + port@0 { > > > + reg = <0>; > > > + seninf_in1: endpoint { > > > + clock-lanes = <2>; > > > + data-lanes = <1 3 0 4>; > > > + remote-endpoint = <&isp1_out>; > > > + }; > > > + }; > > > + > > > + port@1 { > > > + reg = <1>; > > > + }; > > > + > > > + port@2 { > > > + reg = <2>; > > > + }; > > > + > > > + port@3 { > > > + reg = <3>; > > > + }; > > > + > > > + port@4 { > > > + reg = <4>; > > > + seninf_camsv1_endpoint: endpoint { > > > + remote-endpoint = <&camsv1_endpoint>; > > > + }; > > > + }; > > > + > > > + port@5 { > > > + reg = <5>; > > > + }; > > > + > > > + port@6 { > > > + reg = <6>; > > > + }; > > > + > > > + port@7 { > > > + reg = <7>; > > > + }; > > > + > > > + port@8 { > > > + reg = <8>; > > > + }; > > > + > > > + port@9 { > > > + reg = <9>; > > > + }; > > > + > > > > Stray blank line > > > > > + }; -- Regards, Laurent Pinchart 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 CC222C27C53 for ; Fri, 7 Jun 2024 14:42:42 +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:In-Reply-To:MIME-Version:References: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=L4jzDOH+hz9MEad3HtIG+Pm3bmLhJTUBvYbnTYU+RoQ=; b=CvzXcuSfJ/P7eA tK9O7t5VkoHzHs24cezF9xar6YuFgZHOfOZEURkcSJUyZ9fWT/De6cqoFGFV3c2rKMN3lvyhARbK/ 2HkP9llOpruZ/VCmLL/LYHwbWQxM+vlCsZ7vXjaUHW1TfFrCW6TPjVgLLtGXFv3PphZtDkrgdbzt2 7g9LcUHwwTH44LexRRn/hYLWr1fo0K3MtKoJwaYRVuyNrMO+LxfR5QnE5VlAbrFOVdK3rjx594qus JY5iLJuNvVawBwC9zxlPdIBu1qYpHd0qQ5fWaiQxpOIXIeoec95zcGFbDwSGdeqx742dfXs1qXswO EwqHS7CSDoCc58wF2KBA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1sFanT-0000000ETve-07hx; Fri, 07 Jun 2024 14:42:27 +0000 Received: from perceval.ideasonboard.com ([213.167.242.64]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1sFanO-0000000ETs0-1gOJ; Fri, 07 Jun 2024 14:42:25 +0000 Received: from pendragon.ideasonboard.com (81-175-209-231.bb.dnainternet.fi [81.175.209.231]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 0410C720; Fri, 7 Jun 2024 16:42:03 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1717771324; bh=TXfIcxfKZ+HO9/x3g0vX/xX24/WbzhKt8eJbqKRPiYI=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=hhiYA8rHBz74Da65hnnjBv6TmnLse8pBYPca66L+wnUmaI1rJTsMeWX2PkE9FFd2y 2PmAfTk8/Z3/MYjvi6yklgkJ5exQ2LPdUf992QxJ7RhE8rbQ0Wv6AwzYK0ZbMaop5E D2DpiIgJDKc8PxDE3VdHzpu1nDbpq+iMmUx4j7r4= Date: Fri, 7 Jun 2024 17:41:54 +0300 From: Laurent Pinchart To: Krzysztof Kozlowski Cc: Julien Stephan , Louis Kuo , Phi-Bang Nguyen , Andy Hsieh , AngeloGioacchino Del Regno , Conor Dooley , devicetree@vger.kernel.org, Florian Sylvestre , Krzysztof Kozlowski , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-mediatek@lists.infradead.org, linux-media@vger.kernel.org, Matthias Brugger , Mauro Carvalho Chehab , Paul Elder , Rob Herring Subject: Re: [PATCH v4 1/5] dt-bindings: media: add mediatek ISP3.0 sensor interface Message-ID: <20240607144154.GD18479@pendragon.ideasonboard.com> References: <20240110141443.364655-1-jstephan@baylibre.com> <20240110141443.364655-2-jstephan@baylibre.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240607_074222_627486_2AD8333D X-CRM114-Status: GOOD ( 20.83 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org SGkgS3J6eXN6dG9mLAoKT24gRnJpLCBKdW4gMDcsIDIwMjQgYXQgMTA6NTI6MzNBTSArMDIwMCwg SnVsaWVuIFN0ZXBoYW4gd3JvdGU6Cj4gTGUgdmVuLiAxMiBqYW52LiAyMDI0IMOgIDA4OjMyLCBL cnp5c3p0b2YgS296bG93c2tpIGEgw6ljcml0IDoKPiA+IE9uIDEwLzAxLzIwMjQgMTU6MTQsIEp1 bGllbiBTdGVwaGFuIHdyb3RlOgo+ID4gPiBGcm9tOiBMb3VpcyBLdW8gPGxvdWlzLmt1b0BtZWRp YXRlay5jb20+Cj4gPiA+Cj4gPiA+IFRoaXMgYWRkcyB0aGUgYmluZGluZ3MsIGZvciB0aGUgbWVk aWF0ZWsgSVNQMy4wIFNFTklORiBtb2R1bGUgZW1iZWRkZWQgaW4KPiA+ID4gc29tZSBNZWRpYXRl ayBTb0MsIHN1Y2ggYXMgdGhlIG10ODM2NQo+ID4gPgo+ID4KPiA+IC4uLgo+ID4KPiA+ID4gKyAg Y2xvY2stbmFtZXM6Cj4gPiA+ICsgICAgaXRlbXM6Cj4gPiA+ICsgICAgICAtIGNvbnN0OiBjYW1z eXMKPiA+ID4gKyAgICAgIC0gY29uc3Q6IHRvcF9tdXgKPiA+ID4gKwo+ID4gPiArICBwaHlzOgo+ ID4gPiArICAgIG1pbkl0ZW1zOiAxCj4gPiA+ICsgICAgbWF4SXRlbXM6IDQKPiA+ID4gKyAgICBk ZXNjcmlwdGlvbjoKPiA+ID4gKyAgICAgIHBoYW5kbGUgdG8gdGhlIFBIWXMgY29ubmVjdGVkIHRv IENTSTAvQSwgQ1NJMSwgQ1NJMiBhbmQgQ1NJMEIKPiA+ID4gKwo+ID4gPiArICBwaHktbmFtZXM6 Cj4gPiA+ICsgICAgbWluSXRlbXM6IDEKPiA+ID4gKyAgICBpdGVtczoKPiA+ID4gKyAgICAgIC0g Y29uc3Q6IGNzaTAKPiA+ID4gKyAgICAgIC0gY29uc3Q6IGNzaTEKPiA+ID4gKyAgICAgIC0gY29u c3Q6IGNzaTIKPiA+ID4gKyAgICAgIC0gY29uc3Q6IGNzaTBiCj4gPgo+ID4gV2h5IG9uZSBoYXJk d2FyZSBoYXMgZmxleGlibGUgbnVtYmVyIG9mIHBoeXM/Cj4gCj4gSGkgS3J6eXN6dG9mLAo+IAo+ IHNlbmluZiBjYW4gaGF2ZSBtdWx0aXBsZSBwb3J0IGRlcGVuZGluZyBvbiB0aGUgc29jLCBlYWNo IHJlcXVpcmluZyBpdHMgb3duIHBoeQo+IAo+ID4gPiArCj4gPiA+ICsgIHBvcnRzOgo+ID4gPiAr ICAgICRyZWY6IC9zY2hlbWFzL2dyYXBoLnlhbWwjL3Byb3BlcnRpZXMvcG9ydHMKPiA+ID4gKwo+ ID4gPiArICAgIHByb3BlcnRpZXM6Cj4gPiA+ICsgICAgICBwb3J0QDA6Cj4gPiA+ICsgICAgICAg ICRyZWY6IC9zY2hlbWFzL2dyYXBoLnlhbWwjLyRkZWZzL3BvcnQtYmFzZQo+ID4gPiArICAgICAg ICB1bmV2YWx1YXRlZFByb3BlcnRpZXM6IGZhbHNlCj4gPiA+ICsgICAgICAgIGRlc2NyaXB0aW9u OiBDU0kwIG9yIENTSTBBIHBvcnQKPiA+ID4gKwo+ID4gPiArICAgICAgICBwcm9wZXJ0aWVzOgo+ ID4gPiArICAgICAgICAgIGVuZHBvaW50Ogo+ID4gPiArICAgICAgICAgICAgJHJlZjogdmlkZW8t aW50ZXJmYWNlcy55YW1sIwo+ID4gPiArICAgICAgICAgICAgdW5ldmFsdWF0ZWRQcm9wZXJ0aWVz OiBmYWxzZQo+ID4gPiArCj4gPiA+ICsgICAgICAgICAgICBwcm9wZXJ0aWVzOgo+ID4gPiArICAg ICAgICAgICAgICBjbG9jay1sYW5lczoKPiA+ID4gKyAgICAgICAgICAgICAgICBtYXhJdGVtczog MQo+ID4gPiArICAgICAgICAgICAgICBkYXRhLWxhbmVzOgo+ID4gPiArICAgICAgICAgICAgICAg IG1pbkl0ZW1zOiAxCj4gPiA+ICsgICAgICAgICAgICAgICAgbWF4SXRlbXM6IDQKPiA+ID4gKwo+ ID4gPiArICAgICAgcG9ydEAxOgo+ID4gPiArICAgICAgICAkcmVmOiAvc2NoZW1hcy9ncmFwaC55 YW1sIy8kZGVmcy9wb3J0LWJhc2UKPiA+ID4gKyAgICAgICAgdW5ldmFsdWF0ZWRQcm9wZXJ0aWVz OiBmYWxzZQo+ID4gPiArICAgICAgICBkZXNjcmlwdGlvbjogQ1NJMSBwb3J0Cj4gPiA+ICsKPiA+ ID4gKyAgICAgICAgcHJvcGVydGllczoKPiA+ID4gKyAgICAgICAgICBlbmRwb2ludDoKPiA+ID4g KyAgICAgICAgICAgICRyZWY6IHZpZGVvLWludGVyZmFjZXMueWFtbCMKPiA+ID4gKyAgICAgICAg ICAgIHVuZXZhbHVhdGVkUHJvcGVydGllczogZmFsc2UKPiA+ID4gKwo+ID4gPiArICAgICAgICAg ICAgcHJvcGVydGllczoKPiA+ID4gKyAgICAgICAgICAgICAgY2xvY2stbGFuZXM6Cj4gPiA+ICsg ICAgICAgICAgICAgICAgbWF4SXRlbXM6IDEKPiA+ID4gKyAgICAgICAgICAgICAgZGF0YS1sYW5l czoKPiA+ID4gKyAgICAgICAgICAgICAgICBtaW5JdGVtczogMQo+ID4gPiArICAgICAgICAgICAg ICAgIG1heEl0ZW1zOiA0Cj4gPiA+ICsKPiA+ID4gKyAgICAgIHBvcnRAMjoKPiA+ID4gKyAgICAg ICAgJHJlZjogL3NjaGVtYXMvZ3JhcGgueWFtbCMvJGRlZnMvcG9ydC1iYXNlCj4gPiA+ICsgICAg ICAgIHVuZXZhbHVhdGVkUHJvcGVydGllczogZmFsc2UKPiA+ID4gKyAgICAgICAgZGVzY3JpcHRp b246IENTSTIgcG9ydAo+ID4gPiArCj4gPiA+ICsgICAgICAgIHByb3BlcnRpZXM6Cj4gPiA+ICsg ICAgICAgICAgZW5kcG9pbnQ6Cj4gPiA+ICsgICAgICAgICAgICAkcmVmOiB2aWRlby1pbnRlcmZh Y2VzLnlhbWwjCj4gPiA+ICsgICAgICAgICAgICB1bmV2YWx1YXRlZFByb3BlcnRpZXM6IGZhbHNl Cj4gPiA+ICsKPiA+ID4gKyAgICAgICAgICAgIHByb3BlcnRpZXM6Cj4gPiA+ICsgICAgICAgICAg ICAgIGNsb2NrLWxhbmVzOgo+ID4gPiArICAgICAgICAgICAgICAgIG1heEl0ZW1zOiAxCj4gPiA+ ICsgICAgICAgICAgICAgIGRhdGEtbGFuZXM6Cj4gPiA+ICsgICAgICAgICAgICAgICAgbWluSXRl bXM6IDEKPiA+ID4gKyAgICAgICAgICAgICAgICBtYXhJdGVtczogNAo+ID4gPiArCj4gPiA+ICsg ICAgICBwb3J0QDM6Cj4gPiA+ICsgICAgICAgICRyZWY6IC9zY2hlbWFzL2dyYXBoLnlhbWwjLyRk ZWZzL3BvcnQtYmFzZQo+ID4gPiArICAgICAgICB1bmV2YWx1YXRlZFByb3BlcnRpZXM6IGZhbHNl Cj4gPiA+ICsgICAgICAgIGRlc2NyaXB0aW9uOiBDU0kwQiBwb3J0Cj4gPiA+ICsKPiA+ID4gKyAg ICAgICAgcHJvcGVydGllczoKPiA+ID4gKyAgICAgICAgICBlbmRwb2ludDoKPiA+ID4gKyAgICAg ICAgICAgICRyZWY6IHZpZGVvLWludGVyZmFjZXMueWFtbCMKPiA+ID4gKyAgICAgICAgICAgIHVu ZXZhbHVhdGVkUHJvcGVydGllczogZmFsc2UKPiA+ID4gKwo+ID4gPiArICAgICAgICAgICAgcHJv cGVydGllczoKPiA+ID4gKyAgICAgICAgICAgICAgY2xvY2stbGFuZXM6Cj4gPiA+ICsgICAgICAg ICAgICAgICAgbWF4SXRlbXM6IDEKPiA+ID4gKyAgICAgICAgICAgICAgZGF0YS1sYW5lczoKPiA+ ID4gKyAgICAgICAgICAgICAgICBtaW5JdGVtczogMQo+ID4gPiArICAgICAgICAgICAgICAgIG1h eEl0ZW1zOiAyCj4gPiA+ICsKPiA+ID4gKyAgICAgIHBvcnRANDoKPiA+ID4gKyAgICAgICAgJHJl ZjogL3NjaGVtYXMvZ3JhcGgueWFtbCMvcHJvcGVydGllcy9wb3J0Cj4gPiA+ICsgICAgICAgIGRl c2NyaXB0aW9uOiBjb25uZWN0aW9uIHBvaW50IGZvciBjYW0wCj4gPiA+ICsKPiA+ID4gKyAgICAg IHBvcnRANToKPiA+ID4gKyAgICAgICAgJHJlZjogL3NjaGVtYXMvZ3JhcGgueWFtbCMvcHJvcGVy dGllcy9wb3J0Cj4gPiA+ICsgICAgICAgIGRlc2NyaXB0aW9uOiBjb25uZWN0aW9uIHBvaW50IGZv ciBjYW0xCj4gPiA+ICsKPiA+ID4gKyAgICAgIHBvcnRANjoKPiA+ID4gKyAgICAgICAgJHJlZjog L3NjaGVtYXMvZ3JhcGgueWFtbCMvcHJvcGVydGllcy9wb3J0Cj4gPiA+ICsgICAgICAgIGRlc2Ny aXB0aW9uOiBjb25uZWN0aW9uIHBvaW50IGZvciBjYW1zdjAKPiA+ID4gKwo+ID4gPiArICAgICAg cG9ydEA3Ogo+ID4gPiArICAgICAgICAkcmVmOiAvc2NoZW1hcy9ncmFwaC55YW1sIy9wcm9wZXJ0 aWVzL3BvcnQKPiA+ID4gKyAgICAgICAgZGVzY3JpcHRpb246IGNvbm5lY3Rpb24gcG9pbnQgZm9y IGNhbXN2MQo+ID4gPiArCj4gPiA+ICsgICAgICBwb3J0QDg6Cj4gPiA+ICsgICAgICAgICRyZWY6 IC9zY2hlbWFzL2dyYXBoLnlhbWwjL3Byb3BlcnRpZXMvcG9ydAo+ID4gPiArICAgICAgICBkZXNj cmlwdGlvbjogY29ubmVjdGlvbiBwb2ludCBmb3IgY2Ftc3YyCj4gPiA+ICsKPiA+ID4gKyAgICAg IHBvcnRAOToKPiA+ID4gKyAgICAgICAgJHJlZjogL3NjaGVtYXMvZ3JhcGgueWFtbCMvcHJvcGVy dGllcy9wb3J0Cj4gPiA+ICsgICAgICAgIGRlc2NyaXB0aW9uOiBjb25uZWN0aW9uIHBvaW50IGZv ciBjYW1zdjMKPiA+ID4gKwo+ID4gPiArICAgIHJlcXVpcmVkOgo+ID4gPiArICAgICAgLSBwb3J0 QDAKPiA+ID4gKyAgICAgIC0gcG9ydEAxCj4gPiA+ICsgICAgICAtIHBvcnRAMgo+ID4gPiArICAg ICAgLSBwb3J0QDMKPiA+ID4gKyAgICAgIC0gcG9ydEA0Cj4gPiA+ICsgICAgICAtIHBvcnRANQo+ ID4gPiArICAgICAgLSBwb3J0QDYKPiA+ID4gKyAgICAgIC0gcG9ydEA3Cj4gPiA+ICsgICAgICAt IHBvcnRAOAo+ID4gPiArICAgICAgLSBwb3J0QDkKPiA+ID4gKwo+ID4gPiArcmVxdWlyZWQ6Cj4g PiA+ICsgIC0gY29tcGF0aWJsZQo+ID4gPiArICAtIGludGVycnVwdHMKPiA+ID4gKyAgLSBjbG9j a3MKPiA+ID4gKyAgLSBjbG9jay1uYW1lcwo+ID4gPiArICAtIHBvd2VyLWRvbWFpbnMKPiA+ID4g KyAgLSBwb3J0cwo+ID4gPiArCj4gPiA+ICthZGRpdGlvbmFsUHJvcGVydGllczogZmFsc2UKPiA+ ID4gKwo+ID4gPiArZXhhbXBsZXM6Cj4gPiA+ICsgIC0gfAo+ID4gPiArICAgICNpbmNsdWRlIDxk dC1iaW5kaW5ncy9jbG9jay9tZWRpYXRlayxtdDgzNjUtY2xrLmg+Cj4gPiA+ICsgICAgI2luY2x1 ZGUgPGR0LWJpbmRpbmdzL2ludGVycnVwdC1jb250cm9sbGVyL2lycS5oPgo+ID4gPiArICAgICNp bmNsdWRlIDxkdC1iaW5kaW5ncy9pbnRlcnJ1cHQtY29udHJvbGxlci9hcm0tZ2ljLmg+Cj4gPiA+ ICsgICAgI2luY2x1ZGUgPGR0LWJpbmRpbmdzL3BoeS9waHkuaD4KPiA+ID4gKyAgICAjaW5jbHVk ZSA8ZHQtYmluZGluZ3MvcG93ZXIvbWVkaWF0ZWssbXQ4MzY1LXBvd2VyLmg+Cj4gPiA+ICsKPiA+ ID4gKyAgICBzb2Mgewo+ID4gPiArICAgICAgICAgICNhZGRyZXNzLWNlbGxzID0gPDI+Owo+ID4g PiArICAgICAgICAgICNzaXplLWNlbGxzID0gPDI+Owo+ID4KPiA+IFVzZSA0IHNwYWNlcyBmb3Ig ZXhhbXBsZSBpbmRlbnRhdGlvbi4KPiA+Cj4gPiA+ICsKPiA+ID4gKyAgICAgICAgICBzZW5pbmY6 IHNlbmluZkAxNTA0MDAwMCB7Cj4gPgo+ID4gTm9kZSBuYW1lcyBzaG91bGQgYmUgZ2VuZXJpYy4g U2VlIGFsc28gYW4gZXhwbGFuYXRpb24gYW5kIGxpc3Qgb2YKPiA+IGV4YW1wbGVzIChub3QgZXho YXVzdGl2ZSkgaW4gRFQgc3BlY2lmaWNhdGlvbjoKPiA+IGh0dHBzOi8vZGV2aWNldHJlZS1zcGVj aWZpY2F0aW9uLnJlYWR0aGVkb2NzLmlvL2VuL2xhdGVzdC9jaGFwdGVyMi1kZXZpY2V0cmVlLWJh c2ljcy5odG1sI2dlbmVyaWMtbmFtZXMtcmVjb21tZW5kYXRpb24KClRoZSBzZW5pbmYgaXMgKG1v c3RseSkgYSBzZXQgb2YgTUlQSSBDU0ktMiByZWNlaXZlcnMuIFdvdWxkIHlvdSBwcmVmZXIKJ2Nz aScsICdtaXBpLWNzaScsICdjc2ktMicgb3IgYW55IG90aGVyIG5hbWUgPwoKVGhlcmUncyBhbHNv IHRoZSBjYW1zdiBJUCBpbiB0aGUgc2FtZSBzZXJpZXMgdGhhdCBuZWVkcyBhIGdlbmVyaWMgbmFt ZS4KSSByZWFsbHkgZG9uJ3Qga25vdyB3aGF0IHRvIHByb3Bvc2UgZm9yIGl0LiBDb3VsZCB5b3Ug cmVjb21tZW5kCnNvbWV0aGluZyB0aGF0IHdvdWxkIG1ha2UgeW91IGhhcHB5ID8KCk9uIGEgc2lk ZSBub3RlLCB0aGF0IGRvY3VtZW50IGxhY2tzIGFwcHJvcHJpYXRlIGdlbmVyaWMgbmFtZXMgZm9y IGxvdHMKb2YgYnVpbGRpbmcgYmxvY2tzIGZvdW5kIGluIHJlY2VudCBTb0NzLCBpdCB3b3VsZCBi ZSBuaWNlIHRvIGdldCBpdAp1cGRhdGVkLiBZb3Ugd2lsbCBldmVudHVhbGx5IGdldCBiZXR0ZXIg cXVhbGl0eSBEVCBwYXRjaGVzIHRoZW4gOi0pCgo+ID4gPiArICAgICAgICAgICAgICAgIGNvbXBh dGlibGUgPSAibWVkaWF0ZWssbXQ4MzY1LXNlbmluZiI7Cj4gPiA+ICsgICAgICAgICAgICAgICAg cmVnID0gPDAgMHgxNTA0MDAwMCAwIDB4NjAwMD47Cj4gPiA+ICsgICAgICAgICAgICAgICAgaW50 ZXJydXB0cyA9IDxHSUNfU1BJIDIxMCBJUlFfVFlQRV9MRVZFTF9MT1c+Owo+ID4gPiArICAgICAg ICAgICAgICAgIGNsb2NrcyA9IDwmY2Ftc3lzIENMS19DQU1fU0VOSUY+LAo+ID4gPiArICAgICAg ICAgICAgICAgICAgICAgICAgIDwmdG9wY2tnZW4gQ0xLX1RPUF9TRU5JRl9TRUw+Owo+ID4gPiAr ICAgICAgICAgICAgICAgIGNsb2NrLW5hbWVzID0gImNhbXN5cyIsICJ0b3BfbXV4IjsKPiA+ID4g Kwo+ID4gPiArICAgICAgICAgICAgICAgIHBvd2VyLWRvbWFpbnMgPSA8JnNwbSBNVDgzNjVfUE9X RVJfRE9NQUlOX0NBTT47Cj4gPiA+ICsKPiA+ID4gKyAgICAgICAgICAgICAgICBwaHlzID0gPCZt aXBpX2NzaTAgUEhZX1RZUEVfRFBIWT47Cj4gPiA+ICsgICAgICAgICAgICAgICAgcGh5LW5hbWVz ID0gImNzaTAiOwo+ID4gPiArCj4gPiA+ICsgICAgICAgICAgICAgICAgcG9ydHMgewo+ID4gPiAr ICAgICAgICAgICAgICAgICAgICAgICNhZGRyZXNzLWNlbGxzID0gPDE+Owo+ID4gPiArICAgICAg ICAgICAgICAgICAgICAgICNzaXplLWNlbGxzID0gPDA+Owo+ID4gPiArCj4gPiA+ICsgICAgICAg ICAgICAgICAgICAgICAgcG9ydEAwIHsKPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICByZWcgPSA8MD47Cj4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VuaW5mX2lu MTogZW5kcG9pbnQgewo+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xvY2st bGFuZXMgPSA8Mj47Cj4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWxh bmVzID0gPDEgMyAwIDQ+Owo+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVt b3RlLWVuZHBvaW50ID0gPCZpc3AxX291dD47Cj4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgfTsKPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICB9Owo+ID4gPiArCj4gPiA+ICsg ICAgICAgICAgICAgICAgICAgICAgcG9ydEAxIHsKPiA+ID4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgcmVnID0gPDE+Owo+ID4gPiArICAgICAgICAgICAgICAgICAgICAgIH07Cj4gPiA+ICsK PiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICBwb3J0QDIgewo+ID4gPiArICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHJlZyA9IDwyPjsKPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICB9 Owo+ID4gPiArCj4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgcG9ydEAzIHsKPiA+ID4gKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICByZWcgPSA8Mz47Cj4gPiA+ICsgICAgICAgICAgICAg ICAgICAgICAgfTsKPiA+ID4gKwo+ID4gPiArICAgICAgICAgICAgICAgICAgICAgIHBvcnRANCB7 Cj4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVnID0gPDQ+Owo+ID4gPiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHNlbmluZl9jYW1zdjFfZW5kcG9pbnQ6IGVuZHBvaW50 IHsKPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVtb3RlLWVuZHBvaW50 ID0gPCZjYW1zdjFfZW5kcG9pbnQ+Owo+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAg IH07Cj4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgfTsKPiA+ID4gKwo+ID4gPiArICAgICAg ICAgICAgICAgICAgICAgIHBvcnRANSB7Cj4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgcmVnID0gPDU+Owo+ID4gPiArICAgICAgICAgICAgICAgICAgICAgIH07Cj4gPiA+ICsKPiA+ ID4gKyAgICAgICAgICAgICAgICAgICAgICBwb3J0QDYgewo+ID4gPiArICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHJlZyA9IDw2PjsKPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICB9Owo+ ID4gPiArCj4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgcG9ydEA3IHsKPiA+ID4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICByZWcgPSA8Nz47Cj4gPiA+ICsgICAgICAgICAgICAgICAg ICAgICAgfTsKPiA+ID4gKwo+ID4gPiArICAgICAgICAgICAgICAgICAgICAgIHBvcnRAOCB7Cj4g PiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVnID0gPDg+Owo+ID4gPiArICAgICAg ICAgICAgICAgICAgICAgIH07Cj4gPiA+ICsKPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICBw b3J0QDkgewo+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZyA9IDw5PjsKPiA+ ID4gKyAgICAgICAgICAgICAgICAgICAgICB9Owo+ID4gPiArCj4gPgo+ID4gU3RyYXkgYmxhbmsg bGluZQo+ID4KPiA+ID4gKyAgICAgICAgICAgICAgICB9OwoKLS0gClJlZ2FyZHMsCgpMYXVyZW50 IFBpbmNoYXJ0CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmlu ZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9s aW51eC1hcm0ta2VybmVsCg==