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 mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 50803C433EF for ; Fri, 24 Sep 2021 23:41:46 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 09DA060E05 for ; Fri, 24 Sep 2021 23:41:46 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 09DA060E05 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 7AD1E6EE99; Fri, 24 Sep 2021 23:41:44 +0000 (UTC) Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by gabe.freedesktop.org (Postfix) with ESMTPS id 090BA6EE99 for ; Fri, 24 Sep 2021 23:41:43 +0000 (UTC) Received: by mail.kernel.org (Postfix) with ESMTPSA id 8FF6961251 for ; Fri, 24 Sep 2021 23:41:42 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1632526902; bh=H0n/jnqm5KuCuYqKLtzIg5jI1qiuico64G+YimVonrs=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=kV2+nslr8SnFcxGb6J3pvTGCxpqBndDPEU6ytLnEArU3wyk2WO/F/qy5Qv2HUuQ/w X+U2AA+zLBiB6vxD8ZzDPsNNJ/ELjGJs1oSKXFAojI3k3tOxYZEsDI75+cSlO4tI9e geMwRgYGrsaXDYohs2TPq06LAHvpG8kdDH3pD3FtoJ000rSA6hEk0fMV3JBpegpZx0 m4bviXSffB48tXy/9BT2P/y1aMhVggzJtxsqGgA+ZHGC8xrmt40g70psndfszJh+QR HMXPNrccESxyDnWS4+F1Sh0wtQqw8DypwRdf1T/K8hk44QTH4pVikCh6Q3IhdfJPl+ rsi5oDNF0HmcA== Received: by mail-ed1-f45.google.com with SMTP id bx4so42254620edb.4 for ; Fri, 24 Sep 2021 16:41:42 -0700 (PDT) X-Gm-Message-State: AOAM5336wj5cymu4SB5ccYhl4FgfbGlpzA1meXvnosuLIeKysN77n+IQ oypMyPPWpFrN0de5M6lCYqb5TJhBE6jy9JxlEQ== X-Google-Smtp-Source: ABdhPJwoDP2zmwC9Fo9OuBxzOgtPV1nW7Ny2YgqQPQF4iae5iG08UKN+eduUeiIrvmiGmmI+yndr+6NfFQw8Nd98IFA= X-Received: by 2002:a17:907:995a:: with SMTP id kl26mr14831744ejc.6.1632526900508; Fri, 24 Sep 2021 16:41:40 -0700 (PDT) MIME-Version: 1.0 References: <20210921155218.10387-1-jason-jh.lin@mediatek.com> <20210921155218.10387-4-jason-jh.lin@mediatek.com> In-Reply-To: <20210921155218.10387-4-jason-jh.lin@mediatek.com> From: Chun-Kuang Hu Date: Sat, 25 Sep 2021 07:41:29 +0800 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH v11 03/16] dt-bindings: display: mediatek: disp: split each block to individual yaml To: "jason-jh.lin" Cc: Rob Herring , Matthias Brugger , Chun-Kuang Hu , Philipp Zabel , Enric Balletbo i Serra , Maxime Coquelin , David Airlie , Daniel Vetter , Alexandre Torgue , Hsin-Yi Wang , fshao@chromium.org, Moudy Ho , roy-cw.yeh@mediatek.com, Fabien Parent , Yongqiang Niu , Nancy Lin , singo.chang@mediatek.com, DTML , linux-stm32@st-md-mailman.stormreply.com, Linux ARM , "moderated list:ARM/Mediatek SoC support" , linux-kernel , DRI Development Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Hi, Jason: jason-jh.lin =E6=96=BC 2021=E5=B9=B49=E6=9C=882= 1=E6=97=A5 =E9=80=B1=E4=BA=8C =E4=B8=8B=E5=8D=8811:52=E5=AF=AB=E9=81=93=EF= =BC=9A > > 1. Remove mediatek,dislpay.txt > 2. Split each display function block to individual yaml file. Acked-by: Chun-Kuang Hu > > Signed-off-by: jason-jh.lin > --- > .../display/mediatek/mediatek,aal.yaml | 79 +++++++ > .../display/mediatek/mediatek,ccorr.yaml | 74 ++++++ > .../display/mediatek/mediatek,color.yaml | 88 +++++++ > .../display/mediatek/mediatek,disp.txt | 219 ------------------ > .../display/mediatek/mediatek,dither.yaml | 78 +++++++ > .../display/mediatek/mediatek,gamma.yaml | 79 +++++++ > .../display/mediatek/mediatek,merge.yaml | 69 ++++++ > .../display/mediatek/mediatek,mutex.yaml | 82 +++++++ > .../display/mediatek/mediatek,od.yaml | 53 +++++ > .../display/mediatek/mediatek,ovl-2l.yaml | 91 ++++++++ > .../display/mediatek/mediatek,ovl.yaml | 101 ++++++++ > .../display/mediatek/mediatek,postmask.yaml | 72 ++++++ > .../display/mediatek/mediatek,rdma.yaml | 118 ++++++++++ > .../display/mediatek/mediatek,split.yaml | 58 +++++ > .../display/mediatek/mediatek,ufoe.yaml | 61 +++++ > .../display/mediatek/mediatek,wdma.yaml | 89 +++++++ > 16 files changed, 1192 insertions(+), 219 deletions(-) > create mode 100644 Documentation/devicetree/bindings/display/mediatek/me= diatek,aal.yaml > create mode 100644 Documentation/devicetree/bindings/display/mediatek/me= diatek,ccorr.yaml > create mode 100644 Documentation/devicetree/bindings/display/mediatek/me= diatek,color.yaml > delete mode 100644 Documentation/devicetree/bindings/display/mediatek/me= diatek,disp.txt > create mode 100644 Documentation/devicetree/bindings/display/mediatek/me= diatek,dither.yaml > create mode 100644 Documentation/devicetree/bindings/display/mediatek/me= diatek,gamma.yaml > create mode 100644 Documentation/devicetree/bindings/display/mediatek/me= diatek,merge.yaml > create mode 100644 Documentation/devicetree/bindings/display/mediatek/me= diatek,mutex.yaml > create mode 100644 Documentation/devicetree/bindings/display/mediatek/me= diatek,od.yaml > create mode 100644 Documentation/devicetree/bindings/display/mediatek/me= diatek,ovl-2l.yaml > create mode 100644 Documentation/devicetree/bindings/display/mediatek/me= diatek,ovl.yaml > create mode 100644 Documentation/devicetree/bindings/display/mediatek/me= diatek,postmask.yaml > create mode 100644 Documentation/devicetree/bindings/display/mediatek/me= diatek,rdma.yaml > create mode 100644 Documentation/devicetree/bindings/display/mediatek/me= diatek,split.yaml > create mode 100644 Documentation/devicetree/bindings/display/mediatek/me= diatek,ufoe.yaml > create mode 100644 Documentation/devicetree/bindings/display/mediatek/me= diatek,wdma.yaml > > diff --git a/Documentation/devicetree/bindings/display/mediatek/mediatek,= aal.yaml b/Documentation/devicetree/bindings/display/mediatek/mediatek,aal.= yaml > new file mode 100644 > index 000000000000..92a350ab9722 > --- /dev/null > +++ b/Documentation/devicetree/bindings/display/mediatek/mediatek,aal.yam= l > @@ -0,0 +1,79 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/display/mediatek/mediatek,aal.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Mediatek display adaptive ambient light processor > + > +maintainers: > + - Chun-Kuang Hu > + - Philipp Zabel > + > +description: | > + Mediatek display adaptive ambient light processor, namely AAL, > + is responsible for backlight power saving and sunlight visibility impr= oving. > + AAL device node must be siblings to the central MMSYS_CONFIG node. > + For a description of the MMSYS_CONFIG binding, see > + Documentation/devicetree/bindings/arm/mediatek/mediatek,mmsys.yaml > + for details. > + > +properties: > + compatible: > + oneOf: > + - items: > + - const: mediatek,mt8173-disp-aal > + - items: > + - enum: > + - mediatek,mt2712-disp-aal > + - mediatek,mt8183-disp-aal > + - mediatek,mt8192-disp-aal > + - enum: > + - mediatek,mt8173-disp-aal > + > + reg: > + maxItems: 1 > + > + interrupts: > + maxItems: 1 > + > + power-domains: > + description: A phandle and PM domain specifier as defined by binding= s of > + the power controller specified by phandle. See > + Documentation/devicetree/bindings/power/power-domain.yaml for deta= ils. > + > + clocks: > + items: > + - description: AAL Clock > + > + mediatek,gce-client-reg: > + description: > + The register of client driver can be configured by gce with 4 argu= ments > + defined in this property, such as phandle of gce, subsys id, > + register offset and size. > + Each subsys id is mapping to a base address of display function bl= ocks > + register which is defined in the gce header > + include/dt-bindings/gce/-gce.h. > + $ref: /schemas/types.yaml#/definitions/phandle-array > + maxItems: 1 > + > +required: > + - compatible > + - reg > + - interrupts > + - power-domains > + - clocks > + > +additionalProperties: false > + > +examples: > + - | > + > + aal@14015000 { > + compatible =3D "mediatek,mt8173-disp-aal"; > + reg =3D <0 0x14015000 0 0x1000>; > + interrupts =3D ; > + power-domains =3D <&scpsys MT8173_POWER_DOMAIN_MM>; > + clocks =3D <&mmsys CLK_MM_DISP_AAL>; > + mediatek,gce-client-reg =3D <&gce SUBSYS_1401XXXX 0x5000 0x1000>= ; > + }; > diff --git a/Documentation/devicetree/bindings/display/mediatek/mediatek,= ccorr.yaml b/Documentation/devicetree/bindings/display/mediatek/mediatek,cc= orr.yaml > new file mode 100644 > index 000000000000..7840e12d4caf > --- /dev/null > +++ b/Documentation/devicetree/bindings/display/mediatek/mediatek,ccorr.y= aml > @@ -0,0 +1,74 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/display/mediatek/mediatek,ccorr.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Mediatek display color correction > + > +maintainers: > + - Chun-Kuang Hu > + - Philipp Zabel > + > +description: | > + Mediatek display color correction, namely CCORR, reproduces correct co= lor > + on panels with different color gamut. > + CCORR device node must be siblings to the central MMSYS_CONFIG node. > + For a description of the MMSYS_CONFIG binding, see > + Documentation/devicetree/bindings/arm/mediatek/mediatek,mmsys.yaml > + for details. > + > +properties: > + compatible: > + oneOf: > + - items: > + - const: mediatek,mt8183-disp-ccorr > + - items: > + - const: mediatek,mt8192-disp-ccorr > + > + reg: > + maxItems: 1 > + > + interrupts: > + maxItems: 1 > + > + power-domains: > + description: A phandle and PM domain specifier as defined by binding= s of > + the power controller specified by phandle. See > + Documentation/devicetree/bindings/power/power-domain.yaml for deta= ils. > + > + clocks: > + items: > + - description: CCORR Clock > + > + mediatek,gce-client-reg: > + description: > + The register of client driver can be configured by gce with 4 argu= ments > + defined in this property, such as phandle of gce, subsys id, > + register offset and size. > + Each subsys id is mapping to a base address of display function bl= ocks > + register which is defined in the gce header > + include/dt-bindings/gce/-gce.h. > + $ref: /schemas/types.yaml#/definitions/phandle-array > + maxItems: 1 > + > +required: > + - compatible > + - reg > + - interrupts > + - power-domains > + - clocks > + > +additionalProperties: false > + > +examples: > + - | > + > + ccorr0: ccorr@1400f000 { > + compatible =3D "mediatek,mt8183-disp-ccorr"; > + reg =3D <0 0x1400f000 0 0x1000>; > + interrupts =3D ; > + power-domains =3D <&spm MT8183_POWER_DOMAIN_DISP>; > + clocks =3D <&mmsys CLK_MM_DISP_CCORR0>; > + mediatek,gce-client-reg =3D <&gce SUBSYS_1400XXXX 0xf000 0x1000>= ; > + }; > diff --git a/Documentation/devicetree/bindings/display/mediatek/mediatek,= color.yaml b/Documentation/devicetree/bindings/display/mediatek/mediatek,co= lor.yaml > new file mode 100644 > index 000000000000..7a249ba8584c > --- /dev/null > +++ b/Documentation/devicetree/bindings/display/mediatek/mediatek,color.y= aml > @@ -0,0 +1,88 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/display/mediatek/mediatek,color.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Mediatek display color processor > + > +maintainers: > + - Chun-Kuang Hu > + - Philipp Zabel > + > +description: | > + Mediatek display color processor, namely COLOR, provides hue, luma and > + saturation adjustments to get better picture quality and to have one p= anel > + resemble the other in their output characteristics. > + COLOR device node must be siblings to the central MMSYS_CONFIG node. > + For a description of the MMSYS_CONFIG binding, see > + Documentation/devicetree/bindings/arm/mediatek/mediatek,mmsys.yaml > + for details. > + > +properties: > + compatible: > + oneOf: > + - items: > + - const: mediatek,mt2701-disp-color > + - items: > + - const: mediatek,mt8167-disp-color > + - items: > + - const: mediatek,mt8173-disp-color > + - items: > + - enum: > + - mediatek,mt7623-disp-color > + - mediatek,mt2712-disp-color > + - enum: > + - mediatek,mt2701-disp-color > + - items: > + - enum: > + - mediatek,mt8183-disp-color > + - mediatek,mt8192-disp-color > + - enum: > + - mediatek,mt8173-disp-color > + reg: > + maxItems: 1 > + > + interrupts: > + maxItems: 1 > + > + power-domains: > + description: A phandle and PM domain specifier as defined by binding= s of > + the power controller specified by phandle. See > + Documentation/devicetree/bindings/power/power-domain.yaml for deta= ils. > + > + clocks: > + items: > + - description: COLOR Clock > + > + mediatek,gce-client-reg: > + description: > + The register of client driver can be configured by gce with 4 argu= ments > + defined in this property, such as phandle of gce, subsys id, > + register offset and size. > + Each subsys id is mapping to a base address of display function bl= ocks > + register which is defined in the gce header > + include/dt-bindings/gce/-gce.h. > + $ref: /schemas/types.yaml#/definitions/phandle-array > + maxItems: 1 > + > +required: > + - compatible > + - reg > + - interrupts > + - power-domains > + - clocks > + > +additionalProperties: false > + > +examples: > + - | > + > + color0: color@14013000 { > + compatible =3D "mediatek,mt8173-disp-color"; > + reg =3D <0 0x14013000 0 0x1000>; > + interrupts =3D ; > + power-domains =3D <&scpsys MT8173_POWER_DOMAIN_MM>; > + clocks =3D <&mmsys CLK_MM_DISP_COLOR0>; > + mediatek,gce-client-reg =3D <&gce SUBSYS_1401XXXX 0x3000 0x1000>= ; > + }; > diff --git a/Documentation/devicetree/bindings/display/mediatek/mediatek,= disp.txt b/Documentation/devicetree/bindings/display/mediatek/mediatek,disp= .txt > deleted file mode 100644 > index fbb59c9ddda6..000000000000 > --- a/Documentation/devicetree/bindings/display/mediatek/mediatek,disp.tx= t > +++ /dev/null > @@ -1,219 +0,0 @@ > -Mediatek display subsystem > -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D > - > -The Mediatek display subsystem consists of various DISP function blocks = in the > -MMSYS register space. The connections between them can be configured by = output > -and input selectors in the MMSYS_CONFIG register space. Pixel clock and = start > -of frame signal are distributed to the other function blocks by a DISP_M= UTEX > -function block. > - > -All DISP device tree nodes must be siblings to the central MMSYS_CONFIG = node. > -For a description of the MMSYS_CONFIG binding, see > -Documentation/devicetree/bindings/arm/mediatek/mediatek,mmsys.txt. > - > -DISP function blocks > -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > - > -A display stream starts at a source function block that reads pixel data= from > -memory and ends with a sink function block that drives pixels on a displ= ay > -interface, or writes pixels back to memory. All DISP function blocks hav= e > -their own register space, interrupt, and clock gate. The blocks that can > -access memory additionally have to list the IOMMU and local arbiter they= are > -connected to. > - > -For a description of the display interface sink function blocks, see > -Documentation/devicetree/bindings/display/mediatek/mediatek,dsi.txt and > -Documentation/devicetree/bindings/display/mediatek/mediatek,dpi.yaml. > - > -Required properties (all function blocks): > -- compatible: "mediatek,-disp-", one of > - "mediatek,-disp-ovl" - overlay (4 layers, blen= ding, csc) > - "mediatek,-disp-ovl-2l" - overlay (2 layers, blen= ding, csc) > - "mediatek,-disp-rdma" - read DMA / line buffer > - "mediatek,-disp-wdma" - write DMA > - "mediatek,-disp-ccorr" - color correction > - "mediatek,-disp-color" - color processor > - "mediatek,-disp-dither" - dither > - "mediatek,-disp-aal" - adaptive ambient light = controller > - "mediatek,-disp-gamma" - gamma correction > - "mediatek,-disp-merge" - merge streams from two = RDMA sources > - "mediatek,-disp-postmask" - control round corner fo= r display frame > - "mediatek,-disp-split" - split stream to two enc= oders > - "mediatek,-disp-ufoe" - data compression engine > - "mediatek,-dsi" - DSI controller, see med= iatek,dsi.txt > - "mediatek,-dpi" - DPI controller, see med= iatek,dpi.txt > - "mediatek,-disp-mutex" - display mutex > - "mediatek,-disp-od" - overdrive > - the supported chips are mt2701, mt7623, mt2712, mt8167, mt8173, mt8183= and mt8192. > -- reg: Physical base address and length of the function block register s= pace > -- interrupts: The interrupt signal from the function block (required, ex= cept for > - merge and split function blocks). > -- clocks: device clocks > - See Documentation/devicetree/bindings/clock/clock-bindings.txt for det= ails. > - For most function blocks this is just a single clock input. Only the D= SI and > - DPI controller nodes have multiple clock inputs. These are documented = in > - mediatek,dsi.txt and mediatek,dpi.txt, respectively. > - An exception is that the mt8183 mutex is always free running with no c= locks property. > - > -Required properties (DMA function blocks): > -- compatible: Should be one of > - "mediatek,-disp-ovl" > - "mediatek,-disp-rdma" > - "mediatek,-disp-wdma" > - the supported chips are mt2701, mt8167 and mt8173. > -- larb: Should contain a phandle pointing to the local arbiter device as= defined > - in Documentation/devicetree/bindings/memory-controllers/mediatek,smi-l= arb.yaml > -- iommus: Should point to the respective IOMMU block with master port as > - argument, see Documentation/devicetree/bindings/iommu/mediatek,iommu.y= aml > - for details. > - > -Optional properties (RDMA function blocks): > -- mediatek,rdma-fifo-size: rdma fifo size may be different even in same = SOC, add this > - property to the corresponding rdma > - the value is the Max value which defined in hardware data sheet. > - mediatek,rdma-fifo-size of mt8173-rdma0 is 8K > - mediatek,rdma-fifo-size of mt8183-rdma0 is 5K > - mediatek,rdma-fifo-size of mt8183-rdma1 is 2K > - > -Examples: > - > -mmsys: clock-controller@14000000 { > - compatible =3D "mediatek,mt8173-mmsys", "syscon"; > - reg =3D <0 0x14000000 0 0x1000>; > - power-domains =3D <&scpsys MT8173_POWER_DOMAIN_MM>; > - #clock-cells =3D <1>; > -}; > - > -ovl0: ovl@1400c000 { > - compatible =3D "mediatek,mt8173-disp-ovl"; > - reg =3D <0 0x1400c000 0 0x1000>; > - interrupts =3D ; > - power-domains =3D <&scpsys MT8173_POWER_DOMAIN_MM>; > - clocks =3D <&mmsys CLK_MM_DISP_OVL0>; > - iommus =3D <&iommu M4U_PORT_DISP_OVL0>; > - mediatek,larb =3D <&larb0>; > -}; > - > -ovl1: ovl@1400d000 { > - compatible =3D "mediatek,mt8173-disp-ovl"; > - reg =3D <0 0x1400d000 0 0x1000>; > - interrupts =3D ; > - power-domains =3D <&scpsys MT8173_POWER_DOMAIN_MM>; > - clocks =3D <&mmsys CLK_MM_DISP_OVL1>; > - iommus =3D <&iommu M4U_PORT_DISP_OVL1>; > - mediatek,larb =3D <&larb4>; > -}; > - > -rdma0: rdma@1400e000 { > - compatible =3D "mediatek,mt8173-disp-rdma"; > - reg =3D <0 0x1400e000 0 0x1000>; > - interrupts =3D ; > - power-domains =3D <&scpsys MT8173_POWER_DOMAIN_MM>; > - clocks =3D <&mmsys CLK_MM_DISP_RDMA0>; > - iommus =3D <&iommu M4U_PORT_DISP_RDMA0>; > - mediatek,larb =3D <&larb0>; > - mediatek,rdma-fifosize =3D <8192>; > -}; > - > -rdma1: rdma@1400f000 { > - compatible =3D "mediatek,mt8173-disp-rdma"; > - reg =3D <0 0x1400f000 0 0x1000>; > - interrupts =3D ; > - power-domains =3D <&scpsys MT8173_POWER_DOMAIN_MM>; > - clocks =3D <&mmsys CLK_MM_DISP_RDMA1>; > - iommus =3D <&iommu M4U_PORT_DISP_RDMA1>; > - mediatek,larb =3D <&larb4>; > -}; > - > -rdma2: rdma@14010000 { > - compatible =3D "mediatek,mt8173-disp-rdma"; > - reg =3D <0 0x14010000 0 0x1000>; > - interrupts =3D ; > - power-domains =3D <&scpsys MT8173_POWER_DOMAIN_MM>; > - clocks =3D <&mmsys CLK_MM_DISP_RDMA2>; > - iommus =3D <&iommu M4U_PORT_DISP_RDMA2>; > - mediatek,larb =3D <&larb4>; > -}; > - > -wdma0: wdma@14011000 { > - compatible =3D "mediatek,mt8173-disp-wdma"; > - reg =3D <0 0x14011000 0 0x1000>; > - interrupts =3D ; > - power-domains =3D <&scpsys MT8173_POWER_DOMAIN_MM>; > - clocks =3D <&mmsys CLK_MM_DISP_WDMA0>; > - iommus =3D <&iommu M4U_PORT_DISP_WDMA0>; > - mediatek,larb =3D <&larb0>; > -}; > - > -wdma1: wdma@14012000 { > - compatible =3D "mediatek,mt8173-disp-wdma"; > - reg =3D <0 0x14012000 0 0x1000>; > - interrupts =3D ; > - power-domains =3D <&scpsys MT8173_POWER_DOMAIN_MM>; > - clocks =3D <&mmsys CLK_MM_DISP_WDMA1>; > - iommus =3D <&iommu M4U_PORT_DISP_WDMA1>; > - mediatek,larb =3D <&larb4>; > -}; > - > -color0: color@14013000 { > - compatible =3D "mediatek,mt8173-disp-color"; > - reg =3D <0 0x14013000 0 0x1000>; > - interrupts =3D ; > - power-domains =3D <&scpsys MT8173_POWER_DOMAIN_MM>; > - clocks =3D <&mmsys CLK_MM_DISP_COLOR0>; > -}; > - > -color1: color@14014000 { > - compatible =3D "mediatek,mt8173-disp-color"; > - reg =3D <0 0x14014000 0 0x1000>; > - interrupts =3D ; > - power-domains =3D <&scpsys MT8173_POWER_DOMAIN_MM>; > - clocks =3D <&mmsys CLK_MM_DISP_COLOR1>; > -}; > - > -aal@14015000 { > - compatible =3D "mediatek,mt8173-disp-aal"; > - reg =3D <0 0x14015000 0 0x1000>; > - interrupts =3D ; > - power-domains =3D <&scpsys MT8173_POWER_DOMAIN_MM>; > - clocks =3D <&mmsys CLK_MM_DISP_AAL>; > -}; > - > -gamma@14016000 { > - compatible =3D "mediatek,mt8173-disp-gamma"; > - reg =3D <0 0x14016000 0 0x1000>; > - interrupts =3D ; > - power-domains =3D <&scpsys MT8173_POWER_DOMAIN_MM>; > - clocks =3D <&mmsys CLK_MM_DISP_GAMMA>; > -}; > - > -ufoe@1401a000 { > - compatible =3D "mediatek,mt8173-disp-ufoe"; > - reg =3D <0 0x1401a000 0 0x1000>; > - interrupts =3D ; > - power-domains =3D <&scpsys MT8173_POWER_DOMAIN_MM>; > - clocks =3D <&mmsys CLK_MM_DISP_UFOE>; > -}; > - > -dsi0: dsi@1401b000 { > - /* See mediatek,dsi.txt for details */ > -}; > - > -dpi0: dpi@1401d000 { > - /* See mediatek,dpi.txt for details */ > -}; > - > -mutex: mutex@14020000 { > - compatible =3D "mediatek,mt8173-disp-mutex"; > - reg =3D <0 0x14020000 0 0x1000>; > - interrupts =3D ; > - power-domains =3D <&scpsys MT8173_POWER_DOMAIN_MM>; > - clocks =3D <&mmsys CLK_MM_MUTEX_32K>; > -}; > - > -od@14023000 { > - compatible =3D "mediatek,mt8173-disp-od"; > - reg =3D <0 0x14023000 0 0x1000>; > - power-domains =3D <&scpsys MT8173_POWER_DOMAIN_MM>; > - clocks =3D <&mmsys CLK_MM_DISP_OD>; > -}; > diff --git a/Documentation/devicetree/bindings/display/mediatek/mediatek,= dither.yaml b/Documentation/devicetree/bindings/display/mediatek/mediatek,d= ither.yaml > new file mode 100644 > index 000000000000..316374315962 > --- /dev/null > +++ b/Documentation/devicetree/bindings/display/mediatek/mediatek,dither.= yaml > @@ -0,0 +1,78 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/display/mediatek/mediatek,dither.yaml= # > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Mediatek display dither processor > + > +maintainers: > + - Chun-Kuang Hu > + - Philipp Zabel > + > +description: | > + Mediatek display dither processor, namely DITHER, works by approximati= ng > + unavailable colors with available colors and by mixing and matching av= ailable > + colors to mimic unavailable ones. > + DITHER device node must be siblings to the central MMSYS_CONFIG node. > + For a description of the MMSYS_CONFIG binding, see > + Documentation/devicetree/bindings/arm/mediatek/mediatek,mmsys.yaml > + for details. > + > +properties: > + compatible: > + oneOf: > + - items: > + - const: mediatek,mt8183-disp-dither > + - items: > + - enum: > + - mediatek,mt8192-disp-dither > + - enum: > + - mediatek,mt8183-disp-dither > + > + reg: > + maxItems: 1 > + > + interrupts: > + maxItems: 1 > + > + power-domains: > + description: A phandle and PM domain specifier as defined by binding= s of > + the power controller specified by phandle. See > + Documentation/devicetree/bindings/power/power-domain.yaml for deta= ils. > + > + clocks: > + items: > + - description: DITHER Clock > + > + mediatek,gce-client-reg: > + description: > + The register of client driver can be configured by gce with 4 argu= ments > + defined in this property, such as phandle of gce, subsys id, > + register offset and size. > + Each subsys id is mapping to a base address of display function bl= ocks > + register which is defined in the gce header > + include/dt-bindings/gce/-gce.h. > + $ref: /schemas/types.yaml#/definitions/phandle-array > + maxItems: 1 > + > +required: > + - compatible > + - reg > + - interrupts > + - power-domains > + - clocks > + > +additionalProperties: false > + > +examples: > + - | > + > + dither0: dither@14012000 { > + compatible =3D "mediatek,mt8183-disp-dither"; > + reg =3D <0 0x14012000 0 0x1000>; > + interrupts =3D ; > + power-domains =3D <&spm MT8183_POWER_DOMAIN_DISP>; > + clocks =3D <&mmsys CLK_MM_DISP_DITHER0>; > + mediatek,gce-client-reg =3D <&gce SUBSYS_1401XXXX 0x2000 0x1000>= ; > + }; > diff --git a/Documentation/devicetree/bindings/display/mediatek/mediatek,= gamma.yaml b/Documentation/devicetree/bindings/display/mediatek/mediatek,ga= mma.yaml > new file mode 100644 > index 000000000000..1c53ce20a71e > --- /dev/null > +++ b/Documentation/devicetree/bindings/display/mediatek/mediatek,gamma.y= aml > @@ -0,0 +1,79 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/display/mediatek/mediatek,gamma.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Mediatek display gamma correction > + > +maintainers: > + - Chun-Kuang Hu > + - Philipp Zabel > + > +description: | > + Mediatek display gamma correction, namely GAMMA, provides a nonlinear > + operation used to adjust luminance in display system. > + GAMMA device node must be siblings to the central MMSYS_CONFIG node. > + For a description of the MMSYS_CONFIG binding, see > + Documentation/devicetree/bindings/arm/mediatek/mediatek,mmsys.yaml > + for details. > + > +properties: > + compatible: > + oneOf: > + - items: > + - const: mediatek,mt8173-disp-gamma > + - items: > + - const: mediatek,mt8183-disp-gamma > + - items: > + - enum: > + - mediatek,mt8192-disp-gamma > + - enum: > + - mediatek,mt8183-disp-gamma > + > + reg: > + maxItems: 1 > + > + interrupts: > + maxItems: 1 > + > + power-domains: > + description: A phandle and PM domain specifier as defined by binding= s of > + the power controller specified by phandle. See > + Documentation/devicetree/bindings/power/power-domain.yaml for deta= ils. > + > + clocks: > + items: > + - description: GAMMA Clock > + > + mediatek,gce-client-reg: > + description: > + The register of client driver can be configured by gce with 4 argu= ments > + defined in this property, such as phandle of gce, subsys id, > + register offset and size. > + Each subsys id is mapping to a base address of display function bl= ocks > + register which is defined in the gce header > + include/dt-bindings/gce/-gce.h. > + $ref: /schemas/types.yaml#/definitions/phandle-array > + maxItems: 1 > + > +required: > + - compatible > + - reg > + - interrupts > + - power-domains > + - clocks > + > +additionalProperties: false > + > +examples: > + - | > + > + gamma@14016000 { > + compatible =3D "mediatek,mt8173-disp-gamma"; > + reg =3D <0 0x14016000 0 0x1000>; > + interrupts =3D ; > + power-domains =3D <&scpsys MT8173_POWER_DOMAIN_MM>; > + clocks =3D <&mmsys CLK_MM_DISP_GAMMA>; > + mediatek,gce-client-reg =3D <&gce SUBSYS_1401XXXX 0x6000 0x1000>= ; > + }; > diff --git a/Documentation/devicetree/bindings/display/mediatek/mediatek,= merge.yaml b/Documentation/devicetree/bindings/display/mediatek/mediatek,me= rge.yaml > new file mode 100644 > index 000000000000..75beeb207ceb > --- /dev/null > +++ b/Documentation/devicetree/bindings/display/mediatek/mediatek,merge.y= aml > @@ -0,0 +1,69 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/display/mediatek/mediatek,merge.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Mediatek display merge > + > +maintainers: > + - Chun-Kuang Hu > + - Philipp Zabel > + > +description: | > + Mediatek display merge, namely MERGE, is used to merge two slice-per-l= ine > + inputs into one side-by-side output. > + MERGE device node must be siblings to the central MMSYS_CONFIG node. > + For a description of the MMSYS_CONFIG binding, see > + Documentation/devicetree/bindings/arm/mediatek/mediatek,mmsys.yaml > + for details. > + > +properties: > + compatible: > + oneOf: > + - items: > + - const: mediatek,mt8173-disp-merge > + > + reg: > + maxItems: 1 > + > + interrupts: > + maxItems: 1 > + > + power-domains: > + description: A phandle and PM domain specifier as defined by binding= s of > + the power controller specified by phandle. See > + Documentation/devicetree/bindings/power/power-domain.yaml for deta= ils. > + > + clocks: > + items: > + - description: MERGE Clock > + > + mediatek,gce-client-reg: > + description: > + The register of client driver can be configured by gce with 4 argu= ments > + defined in this property, such as phandle of gce, subsys id, > + register offset and size. > + Each subsys id is mapping to a base address of display function bl= ocks > + register which is defined in the gce header > + include/dt-bindings/gce/-gce.h. > + $ref: /schemas/types.yaml#/definitions/phandle-array > + maxItems: 1 > + > +required: > + - compatible > + - reg > + - power-domains > + - clocks > + > +additionalProperties: false > + > +examples: > + - | > + > + merge@14017000 { > + compatible =3D "mediatek,mt8173-disp-merge"; > + reg =3D <0 0x14017000 0 0x1000>; > + power-domains =3D <&spm MT8173_POWER_DOMAIN_MM>; > + clocks =3D <&mmsys CLK_MM_DISP_MERGE>; > + }; > diff --git a/Documentation/devicetree/bindings/display/mediatek/mediatek,= mutex.yaml b/Documentation/devicetree/bindings/display/mediatek/mediatek,mu= tex.yaml > new file mode 100644 > index 000000000000..90f11e12a55e > --- /dev/null > +++ b/Documentation/devicetree/bindings/display/mediatek/mediatek,mutex.y= aml > @@ -0,0 +1,82 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/display/mediatek/mediatek,mutex.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Mediatek display mutex > + > +maintainers: > + - Chun-Kuang Hu > + - Philipp Zabel > + > +description: | > + Mediatek mutex, namely MUTEX, is used to send the triggers signals cal= led > + Start Of Frame (SOF) / End Of Frame (EOF) to each sub-modules on the d= isplay > + data path or MDP data path. > + In some SoC, such as mt2701, MUTEX could be a hardware mutex which pro= tects > + the shadow register. > + MUTEX device node must be siblings to the central MMSYS_CONFIG node. > + For a description of the MMSYS_CONFIG binding, see > + Documentation/devicetree/bindings/arm/mediatek/mediatek,mmsys.yaml > + for details. > + > +properties: > + compatible: > + oneOf: > + - items: > + - const: mediatek,mt2701-disp-mutex > + - items: > + - const: mediatek,mt2712-disp-mutex > + - items: > + - const: mediatek,mt8167-disp-mutex > + - items: > + - const: mediatek,mt8173-disp-mutex > + - items: > + - const: mediatek,mt8183-disp-mutex > + - items: > + - const: mediatek,mt8192-disp-mutex > + > + reg: > + maxItems: 1 > + > + interrupts: > + maxItems: 1 > + > + power-domains: > + description: A phandle and PM domain specifier as defined by binding= s of > + the power controller specified by phandle. See > + Documentation/devicetree/bindings/power/power-domain.yaml for deta= ils. > + > + clocks: > + items: > + - description: MUTEX Clock > + > + mediatek,gce-events: > + description: > + The event id which is mapping to the specific hardware event signa= l > + to gce. The event id is defined in the gce header > + include/dt-bindings/gce/-gce.h of each chips. > + $ref: /schemas/types.yaml#/definitions/phandle-array > + > +required: > + - compatible > + - reg > + - interrupts > + - power-domains > + - clocks > + > +additionalProperties: false > + > +examples: > + - | > + > + mutex: mutex@14020000 { > + compatible =3D "mediatek,mt8173-disp-mutex"; > + reg =3D <0 0x14020000 0 0x1000>; > + interrupts =3D ; > + power-domains =3D <&spm MT8173_POWER_DOMAIN_MM>; > + clocks =3D <&mmsys CLK_MM_MUTEX_32K>; > + mediatek,gce-events =3D , > + ; > + }; > diff --git a/Documentation/devicetree/bindings/display/mediatek/mediatek,= od.yaml b/Documentation/devicetree/bindings/display/mediatek/mediatek,od.ya= ml > new file mode 100644 > index 000000000000..7519db315217 > --- /dev/null > +++ b/Documentation/devicetree/bindings/display/mediatek/mediatek,od.yaml > @@ -0,0 +1,53 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/display/mediatek/mediatek,od.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Mediatek display overdirve > + > +maintainers: > + - Chun-Kuang Hu > + - Philipp Zabel > + > +description: | > + Mediatek display overdrive, namely OD, increases the transition values > + of pixels between consecutive frames to make LCD rotate faster. > + OD device node must be siblings to the central MMSYS_CONFIG node. > + For a description of the MMSYS_CONFIG binding, see > + Documentation/devicetree/bindings/arm/mediatek/mediatek,mmsys.yaml > + for details. > + > +properties: > + compatible: > + oneOf: > + - items: > + - const: mediatek,mt2712-disp-od > + - items: > + - const: mediatek,mt8173-disp-od > + > + reg: > + maxItems: 1 > + > + interrupts: > + maxItems: 1 > + > + clocks: > + items: > + - description: OD Clock > + > +required: > + - compatible > + - reg > + - clocks > + > +additionalProperties: false > + > +examples: > + - | > + > + od@14023000 { > + compatible =3D "mediatek,mt8173-disp-od"; > + reg =3D <0 0x14023000 0 0x1000>; > + clocks =3D <&mmsys CLK_MM_DISP_OD>; > + }; > diff --git a/Documentation/devicetree/bindings/display/mediatek/mediatek,= ovl-2l.yaml b/Documentation/devicetree/bindings/display/mediatek/mediatek,o= vl-2l.yaml > new file mode 100644 > index 000000000000..a10c6ce92dad > --- /dev/null > +++ b/Documentation/devicetree/bindings/display/mediatek/mediatek,ovl-2l.= yaml > @@ -0,0 +1,91 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/display/mediatek/mediatek,ovl-2l.yaml= # > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Mediatek display overlay 2 layer > + > +maintainers: > + - Chun-Kuang Hu > + - Philipp Zabel > + > +description: | > + Mediatek display overlay 2 layer, namely OVL-2L, provides 2 more layer > + for OVL. > + OVL-2L device node must be siblings to the central MMSYS_CONFIG node. > + For a description of the MMSYS_CONFIG binding, see > + Documentation/devicetree/bindings/arm/mediatek/mediatek,mmsys.yaml > + for details. > + > +properties: > + compatible: > + oneOf: > + - items: > + - const: mediatek,mt8183-disp-ovl-2l > + - items: > + - const: mediatek,mt8192-disp-ovl-2l > + > + reg: > + maxItems: 1 > + > + interrupts: > + maxItems: 1 > + > + power-domains: > + description: A phandle and PM domain specifier as defined by binding= s of > + the power controller specified by phandle. See > + Documentation/devicetree/bindings/power/power-domain.yaml for deta= ils. > + > + clocks: > + items: > + - description: OVL-2L Clock > + > + iommus: > + description: > + This property should point to the respective IOMMU block with mast= er port as argument, > + see Documentation/devicetree/bindings/iommu/mediatek,iommu.yaml fo= r details. > + > + mediatek,larb: > + description: > + This property should contain a phandle pointing to the local arbit= er devices defined in > + Documentation/devicetree/bindings/memory-controllers/mediatek,smi-= larb.yaml. > + It must sort according to the local arbiter index, like larb0, lar= b1, larb2... > + $ref: /schemas/types.yaml#/definitions/phandle-array > + minItems: 1 > + maxItems: 32 > + > + mediatek,gce-client-reg: > + description: > + The register of client driver can be configured by gce with 4 argu= ments > + defined in this property, such as phandle of gce, subsys id, > + register offset and size. > + Each subsys id is mapping to a base address of display function bl= ocks > + register which is defined in the gce header > + include/dt-bindings/gce/-gce.h. > + $ref: /schemas/types.yaml#/definitions/phandle-array > + maxItems: 1 > + > +required: > + - compatible > + - reg > + - interrupts > + - power-domains > + - clocks > + - iommus > + > +additionalProperties: false > + > +examples: > + - | > + > + ovl_2l0: ovl@14009000 { > + compatible =3D "mediatek,mt8183-disp-ovl-2l"; > + reg =3D <0 0x14009000 0 0x1000>; > + interrupts =3D ; > + power-domains =3D <&spm MT8183_POWER_DOMAIN_DISP>; > + clocks =3D <&mmsys CLK_MM_DISP_OVL0_2L>; > + iommus =3D <&iommu M4U_PORT_DISP_2L_OVL0_LARB0>; > + mediatek,larb =3D <&larb0>; > + mediatek,gce-client-reg =3D <&gce SUBSYS_1400XXXX 0x9000 0x1000>= ; > + }; > diff --git a/Documentation/devicetree/bindings/display/mediatek/mediatek,= ovl.yaml b/Documentation/devicetree/bindings/display/mediatek/mediatek,ovl.= yaml > new file mode 100644 > index 000000000000..50552428150f > --- /dev/null > +++ b/Documentation/devicetree/bindings/display/mediatek/mediatek,ovl.yam= l > @@ -0,0 +1,101 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/display/mediatek/mediatek,ovl.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Mediatek display overlay > + > +maintainers: > + - Chun-Kuang Hu > + - Philipp Zabel > + > +description: | > + Mediatek display overlay, namely OVL, can do alpha blending from > + the memory. > + OVL device node must be siblings to the central MMSYS_CONFIG node. > + For a description of the MMSYS_CONFIG binding, see > + Documentation/devicetree/bindings/arm/mediatek/mediatek,mmsys.yaml > + for details. > + > +properties: > + compatible: > + oneOf: > + - items: > + - const: mediatek,mt2701-disp-ovl > + - items: > + - const: mediatek,mt8173-disp-ovl > + - items: > + - const: mediatek,mt8183-disp-ovl > + - items: > + - const: mediatek,mt8192-disp-ovl > + - items: > + - enum: > + - mediatek,mt7623-disp-ovl > + - mediatek,mt2712-disp-ovl > + - enum: > + - mediatek,mt2701-disp-ovl > + > + reg: > + maxItems: 1 > + > + interrupts: > + maxItems: 1 > + > + power-domains: > + description: A phandle and PM domain specifier as defined by binding= s of > + the power controller specified by phandle. See > + Documentation/devicetree/bindings/power/power-domain.yaml for deta= ils. > + > + clocks: > + items: > + - description: OVL Clock > + > + iommus: > + description: > + This property should point to the respective IOMMU block with mast= er port as argument, > + see Documentation/devicetree/bindings/iommu/mediatek,iommu.yaml fo= r details. > + > + mediatek,larb: > + description: > + This property should contain a phandle pointing to the local arbit= er devices defined in > + Documentation/devicetree/bindings/memory-controllers/mediatek,smi-= larb.yaml. > + It must sort according to the local arbiter index, like larb0, lar= b1, larb2... > + $ref: /schemas/types.yaml#/definitions/phandle-array > + minItems: 1 > + maxItems: 32 > + > + mediatek,gce-client-reg: > + description: > + The register of client driver can be configured by gce with 4 argu= ments > + defined in this property, such as phandle of gce, subsys id, > + register offset and size. > + Each subsys id is mapping to a base address of display function bl= ocks > + register which is defined in the gce header > + include/dt-bindings/gce/-gce.h. > + $ref: /schemas/types.yaml#/definitions/phandle-array > + maxItems: 1 > + > +required: > + - compatible > + - reg > + - interrupts > + - power-domains > + - clocks > + - iommu > + > +additionalProperties: false > + > +examples: > + - | > + > + ovl0: ovl@1400c000 { > + compatible =3D "mediatek,mt8173-disp-ovl"; > + reg =3D <0 0x1400c000 0 0x1000>; > + interrupts =3D ; > + power-domains =3D <&scpsys MT8173_POWER_DOMAIN_MM>; > + clocks =3D <&mmsys CLK_MM_DISP_OVL0>; > + iommus =3D <&iommu M4U_PORT_DISP_OVL0>; > + mediatek,larb =3D <&larb0>; > + mediatek,gce-client-reg =3D <&gce SUBSYS_1400XXXX 0xc000 0x1000>= ; > + }; > diff --git a/Documentation/devicetree/bindings/display/mediatek/mediatek,= postmask.yaml b/Documentation/devicetree/bindings/display/mediatek/mediatek= ,postmask.yaml > new file mode 100644 > index 000000000000..b3ed6f3b8497 > --- /dev/null > +++ b/Documentation/devicetree/bindings/display/mediatek/mediatek,postmas= k.yaml > @@ -0,0 +1,72 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/display/mediatek/mediatek,postmask.ya= ml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Mediatek display postmask > + > +maintainers: > + - Chun-Kuang Hu > + - Philipp Zabel > + > +description: | > + Mediatek display postmask, namely POSTMASK, provides round corner patt= ern > + generation. > + POSTMASK device node must be siblings to the central MMSYS_CONFIG node= . > + For a description of the MMSYS_CONFIG binding, see > + Documentation/devicetree/bindings/arm/mediatek/mediatek,mmsys.yaml > + for details. > + > +properties: > + compatible: > + oneOf: > + - items: > + - const: mediatek,mt8192-disp-postmask > + > + reg: > + maxItems: 1 > + > + interrupts: > + maxItems: 1 > + > + power-domains: > + description: A phandle and PM domain specifier as defined by binding= s of > + the power controller specified by phandle. See > + Documentation/devicetree/bindings/power/power-domain.yaml for deta= ils. > + > + clocks: > + items: > + - description: POSTMASK Clock > + > + mediatek,gce-client-reg: > + description: > + The register of client driver can be configured by gce with 4 argu= ments > + defined in this property, such as phandle of gce, subsys id, > + register offset and size. > + Each subsys id is mapping to a base address of display function bl= ocks > + register which is defined in the gce header > + include/dt-bindings/gce/-gce.h. > + $ref: /schemas/types.yaml#/definitions/phandle-array > + maxItems: 1 > + > +required: > + - compatible > + - reg > + - interrupts > + - power-domains > + - clocks > + > +additionalProperties: false > + > +examples: > + - | > + > + postmask0: postmask@1400d000 { > + compatible =3D "mediatek,mt8192-disp-postmask"; > + reg =3D <0 0x1400d000 0 0x1000>; > + interrupts =3D ; > + power-domains =3D <&scpsys MT8192_POWER_DOMAIN_DISP>; > + clocks =3D <&mmsys CLK_MM_DISP_POSTMASK0>; > + mediatek,gce-client-reg =3D <&gce SUBSYS_1400XXXX 0xd000 0x1000>= ; > + }; > diff --git a/Documentation/devicetree/bindings/display/mediatek/mediatek,= rdma.yaml b/Documentation/devicetree/bindings/display/mediatek/mediatek,rdm= a.yaml > new file mode 100644 > index 000000000000..8393a25a3781 > --- /dev/null > +++ b/Documentation/devicetree/bindings/display/mediatek/mediatek,rdma.ya= ml > @@ -0,0 +1,118 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/display/mediatek/mediatek,rdma.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Mediatek display RDMA > + > +maintainers: > + - Chun-Kuang Hu > + - Philipp Zabel > + > +description: | > + Mediatek display RDMA stands for Read Direct Memory Access. > + It provides real time data to the back-end panel driver, such as DSI, > + DPI and DP_INTF. > + It contains one line buffer to store the sufficient pixel data. > + RDMA device node must be siblings to the central MMSYS_CONFIG node. > + For a description of the MMSYS_CONFIG binding, see > + Documentation/devicetree/bindings/arm/mediatek/mediatek,mmsys.yaml > + for details. > + > +properties: > + compatible: > + oneOf: > + - items: > + - const: mediatek,mt2701-disp-rdma > + - items: > + - const: mediatek,mt8173-disp-rdma > + - items: > + - const: mediatek,mt8183-disp-rdma > + - items: > + - enum: > + - mediatek,mt7623-disp-rdma > + - mediatek,mt2712-disp-rdma > + - enum: > + - mediatek,mt2701-disp-rdma > + - items: > + - enum: > + - mediatek,mt8192-disp-rdma > + - enum: > + - mediatek,mt8183-disp-rdma > + > + reg: > + maxItems: 1 > + > + interrupts: > + maxItems: 1 > + > + power-domains: > + description: A phandle and PM domain specifier as defined by binding= s of > + the power controller specified by phandle. See > + Documentation/devicetree/bindings/power/power-domain.yaml for deta= ils. > + > + clocks: > + items: > + - description: RDMA Clock > + > + iommus: > + description: > + This property should point to the respective IOMMU block with mast= er port as argument, > + see Documentation/devicetree/bindings/iommu/mediatek,iommu.yaml fo= r details. > + > + mediatek,larb: > + description: > + This property should contain a phandle pointing to the local arbit= er devices defined in > + Documentation/devicetree/bindings/memory-controllers/mediatek,smi-= larb.yaml. > + It must sort according to the local arbiter index, like larb0, lar= b1, larb2... > + $ref: /schemas/types.yaml#/definitions/phandle-array > + minItems: 1 > + maxItems: 32 > + > + mediatek,rdma-fifo-size: > + description: > + rdma fifo size may be different even in same SOC, add this propert= y to the > + corresponding rdma. > + The value below is the Max value which defined in hardware data sh= eet > + mediatek,rdma-fifo-size of mt8173-rdma0 is 8K > + mediatek,rdma-fifo-size of mt8183-rdma0 is 5K > + mediatek,rdma-fifo-size of mt8183-rdma1 is 2K > + $ref: /schemas/types.yaml#/definitions/uint32 > + enum: [8192, 5120, 2048] > + > + mediatek,gce-client-reg: > + description: > + The register of client driver can be configured by gce with 4 argu= ments > + defined in this property, such as phandle of gce, subsys id, > + register offset and size. > + Each subsys id is mapping to a base address of display function bl= ocks > + register which is defined in the gce header > + include/dt-bindings/gce/-gce.h. > + $ref: /schemas/types.yaml#/definitions/phandle-array > + maxItems: 1 > + > +required: > + - compatible > + - reg > + - interrupts > + - power-domains > + - clocks > + - iommus > + > +additionalProperties: false > + > +examples: > + - | > + > + rdma0: rdma@1400e000 { > + compatible =3D "mediatek,mt8173-disp-rdma"; > + reg =3D <0 0x1400e000 0 0x1000>; > + interrupts =3D ; > + power-domains =3D <&scpsys MT8173_POWER_DOMAIN_MM>; > + clocks =3D <&mmsys CLK_MM_DISP_RDMA0>; > + iommus =3D <&iommu M4U_PORT_DISP_RDMA0>; > + mediatek,larb =3D <&larb0>; > + mediatek,rdma-fifosize =3D <8192>; > + mediatek,gce-client-reg =3D <&gce SUBSYS_1400XXXX 0xe000 0x1000>= ; > + }; > diff --git a/Documentation/devicetree/bindings/display/mediatek/mediatek,= split.yaml b/Documentation/devicetree/bindings/display/mediatek/mediatek,sp= lit.yaml > new file mode 100644 > index 000000000000..4f08e89c1067 > --- /dev/null > +++ b/Documentation/devicetree/bindings/display/mediatek/mediatek,split.y= aml > @@ -0,0 +1,58 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/display/mediatek/mediatek,split.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Mediatek display split > + > +maintainers: > + - Chun-Kuang Hu > + - Philipp Zabel > + > +description: | > + Mediatek display split, namely SPLIT, is used to split stream to two > + encoders. > + SPLIT device node must be siblings to the central MMSYS_CONFIG node. > + For a description of the MMSYS_CONFIG binding, see > + Documentation/devicetree/bindings/arm/mediatek/mediatek,mmsys.yaml > + for details. > + > +properties: > + compatible: > + oneOf: > + - items: > + - const: mediatek,mt8173-disp-split > + > + reg: > + maxItems: 1 > + > + interrupts: > + maxItems: 1 > + > + power-domains: > + description: A phandle and PM domain specifier as defined by binding= s of > + the power controller specified by phandle. See > + Documentation/devicetree/bindings/power/power-domain.yaml for deta= ils. > + > + clocks: > + items: > + - description: SPLIT Clock > + > +required: > + - compatible > + - reg > + - power-domains > + - clocks > + > +additionalProperties: false > + > +examples: > + - | > + > + split0: split@14018000 { > + compatible =3D "mediatek,mt8173-disp-split"; > + reg =3D <0 0x14018000 0 0x1000>; > + power-domains =3D <&spm MT8173_POWER_DOMAIN_MM>; > + clocks =3D <&mmsys CLK_MM_DISP_SPLIT0>; > + }; > diff --git a/Documentation/devicetree/bindings/display/mediatek/mediatek,= ufoe.yaml b/Documentation/devicetree/bindings/display/mediatek/mediatek,ufo= e.yaml > new file mode 100644 > index 000000000000..6e8748529e73 > --- /dev/null > +++ b/Documentation/devicetree/bindings/display/mediatek/mediatek,ufoe.ya= ml > @@ -0,0 +1,61 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/display/mediatek/mediatek,ufoe.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Mediatek display UFOe > + > +maintainers: > + - Chun-Kuang Hu > + - Philipp Zabel > + > +description: | > + Mediatek display UFOe stands for Unified Frame Optimization engine. > + UFOe can cut the data rate for DSI port which may lead to reduce power > + consumption. > + UFOe device node must be siblings to the central MMSYS_CONFIG node. > + For a description of the MMSYS_CONFIG binding, see > + Documentation/devicetree/bindings/arm/mediatek/mediatek,mmsys.yaml > + for details. > + > +properties: > + compatible: > + oneOf: > + - items: > + - const: mediatek,mt8173-disp-ufoe > + > + reg: > + maxItems: 1 > + > + interrupts: > + maxItems: 1 > + > + power-domains: > + description: A phandle and PM domain specifier as defined by binding= s of > + the power controller specified by phandle. See > + Documentation/devicetree/bindings/power/power-domain.yaml for deta= ils. > + > + clocks: > + items: > + - description: UFOe Clock > + > +required: > + - compatible > + - reg > + - interrupts > + - power-domains > + - clocks > + > +additionalProperties: false > + > +examples: > + - | > + > + ufoe@1401a000 { > + compatible =3D "mediatek,mt8173-disp-ufoe"; > + reg =3D <0 0x1401a000 0 0x1000>; > + interrupts =3D ; > + power-domains =3D <&scpsys MT8173_POWER_DOMAIN_MM>; > + clocks =3D <&mmsys CLK_MM_DISP_UFOE>; > + }; > diff --git a/Documentation/devicetree/bindings/display/mediatek/mediatek,= wdma.yaml b/Documentation/devicetree/bindings/display/mediatek/mediatek,wdm= a.yaml > new file mode 100644 > index 000000000000..25f9a63fe7af > --- /dev/null > +++ b/Documentation/devicetree/bindings/display/mediatek/mediatek,wdma.ya= ml > @@ -0,0 +1,89 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/display/mediatek/mediatek,wdma.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Mediatek display WDMA > + > +maintainers: > + - Chun-Kuang Hu > + - Philipp Zabel > + > +description: | > + Mediatek display WDMA stands for Write Direct Memory Access. > + It can write the data in display pipeline into DRAM. > + WDMA device node must be siblings to the central MMSYS_CONFIG node. > + For a description of the MMSYS_CONFIG binding, see > + Documentation/devicetree/bindings/arm/mediatek/mediatek,mmsys.yaml > + for details. > + > +properties: > + compatible: > + oneOf: > + - items: > + - const: mediatek,mt8173-disp-wdma > + > + reg: > + maxItems: 1 > + > + interrupts: > + maxItems: 1 > + > + power-domains: > + description: A phandle and PM domain specifier as defined by binding= s of > + the power controller specified by phandle. See > + Documentation/devicetree/bindings/power/power-domain.yaml for deta= ils. > + > + clocks: > + items: > + - description: WDMA Clock > + > + iommus: > + description: > + This property should point to the respective IOMMU block with mast= er port as argument, > + see Documentation/devicetree/bindings/iommu/mediatek,iommu.yaml fo= r details. > + > + mediatek,larb: > + description: > + This property should contain a phandle pointing to the local arbit= er devices defined in > + Documentation/devicetree/bindings/memory-controllers/mediatek,smi-= larb.yaml. > + It must sort according to the local arbiter index, like larb0, lar= b1, larb2... > + $ref: /schemas/types.yaml#/definitions/phandle-array > + minItems: 1 > + maxItems: 32 > + > + mediatek,gce-client-reg: > + description: > + The register of client driver can be configured by gce with 4 argu= ments > + defined in this property, such as phandle of gce, subsys id, > + register offset and size. > + Each subsys id is mapping to a base address of display function bl= ocks > + register which is defined in the gce header > + include/dt-bindings/gce/-gce.h. > + $ref: /schemas/types.yaml#/definitions/phandle-array > + maxItems: 1 > + > +required: > + - compatible > + - reg > + - interrupts > + - power-domains > + - clocks > + - iommus > + > +additionalProperties: false > + > +examples: > + - | > + > + wdma0: wdma@14011000 { > + compatible =3D "mediatek,mt8173-disp-wdma"; > + reg =3D <0 0x14011000 0 0x1000>; > + interrupts =3D ; > + power-domains =3D <&scpsys MT8173_POWER_DOMAIN_MM>; > + clocks =3D <&mmsys CLK_MM_DISP_WDMA0>; > + iommus =3D <&iommu M4U_PORT_DISP_WDMA0>; > + mediatek,larb =3D <&larb0>; > + mediatek,gce-client-reg =3D <&gce SUBSYS_1401XXXX 0x1000 0x1000>= ; > + }; > -- > 2.18.0 > 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 mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 5CA24C433EF for ; Fri, 24 Sep 2021 23:42:26 +0000 (UTC) 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 mail.kernel.org (Postfix) with ESMTPS id 11C7561251 for ; Fri, 24 Sep 2021 23:42:26 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 11C7561251 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=lists.infradead.org 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:Cc:To:Subject:Message-ID:Date:From: In-Reply-To:References:MIME-Version:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=g6yeXgdNXMT6rucANup9oxenDPW7GqroqXXiLmIiKUs=; b=lrjkfgL5GgXBV2 oGaC14AkE7laUDMKEnyqmokdwg7DQBQhdjddpiTgd/X2Up1RzQNxRJzg8m0ZhC5WEdsF9DVNfJ9KZ nMFREqNI9g1Gh3C76RMmXwV903CMaWKN1fxdS7i3s43yGPO/SC3H2XhEjjhzpxKwt5Lo9EKfRLBsl TsXT6AlGpFnQIhu0GOTp9kpxy7n2osnWqLTU7vcGrWpZ7nWzJzKGeBn9IW1cmLDhoZJ2x2NT/Z0Pz DQ29QYJJ//ktRAnw1jMYNT81rrbE58u0CXrR2nMcycX2OpAuZBB0lpIFuZ62ugs60aGRh6d0sztMg x5IbiMsZUakRztIGMfrQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1mTupL-00FkrD-2t; Fri, 24 Sep 2021 23:41:59 +0000 Received: from mail.kernel.org ([198.145.29.99]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1mTup5-00Fkq4-5D; Fri, 24 Sep 2021 23:41:48 +0000 Received: by mail.kernel.org (Postfix) with ESMTPSA id 6EE2760EB6; Fri, 24 Sep 2021 23:41:42 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1632526902; bh=H0n/jnqm5KuCuYqKLtzIg5jI1qiuico64G+YimVonrs=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=kV2+nslr8SnFcxGb6J3pvTGCxpqBndDPEU6ytLnEArU3wyk2WO/F/qy5Qv2HUuQ/w X+U2AA+zLBiB6vxD8ZzDPsNNJ/ELjGJs1oSKXFAojI3k3tOxYZEsDI75+cSlO4tI9e geMwRgYGrsaXDYohs2TPq06LAHvpG8kdDH3pD3FtoJ000rSA6hEk0fMV3JBpegpZx0 m4bviXSffB48tXy/9BT2P/y1aMhVggzJtxsqGgA+ZHGC8xrmt40g70psndfszJh+QR HMXPNrccESxyDnWS4+F1Sh0wtQqw8DypwRdf1T/K8hk44QTH4pVikCh6Q3IhdfJPl+ rsi5oDNF0HmcA== Received: by mail-ed1-f47.google.com with SMTP id ee50so42108623edb.13; Fri, 24 Sep 2021 16:41:42 -0700 (PDT) X-Gm-Message-State: AOAM530FhFousEsdqV8EY+r3oV6Imug4R7epEh3bSWOG7otQ9624PWGD 9SH75IrXGnSNwuRAB+G4kh8LcqEgRIz2m2egnA== X-Google-Smtp-Source: ABdhPJwoDP2zmwC9Fo9OuBxzOgtPV1nW7Ny2YgqQPQF4iae5iG08UKN+eduUeiIrvmiGmmI+yndr+6NfFQw8Nd98IFA= X-Received: by 2002:a17:907:995a:: with SMTP id kl26mr14831744ejc.6.1632526900508; Fri, 24 Sep 2021 16:41:40 -0700 (PDT) MIME-Version: 1.0 References: <20210921155218.10387-1-jason-jh.lin@mediatek.com> <20210921155218.10387-4-jason-jh.lin@mediatek.com> In-Reply-To: <20210921155218.10387-4-jason-jh.lin@mediatek.com> From: Chun-Kuang Hu Date: Sat, 25 Sep 2021 07:41:29 +0800 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH v11 03/16] dt-bindings: display: mediatek: disp: split each block to individual yaml To: "jason-jh.lin" Cc: Rob Herring , Matthias Brugger , Chun-Kuang Hu , Philipp Zabel , Enric Balletbo i Serra , Maxime Coquelin , David Airlie , Daniel Vetter , Alexandre Torgue , Hsin-Yi Wang , fshao@chromium.org, Moudy Ho , roy-cw.yeh@mediatek.com, Fabien Parent , Yongqiang Niu , Nancy Lin , singo.chang@mediatek.com, DTML , linux-stm32@st-md-mailman.stormreply.com, Linux ARM , "moderated list:ARM/Mediatek SoC support" , linux-kernel , DRI Development X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210924_164143_323954_0E9EAA38 X-CRM114-Status: GOOD ( 22.49 ) 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: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "Linux-mediatek" Errors-To: linux-mediatek-bounces+linux-mediatek=archiver.kernel.org@lists.infradead.org SGksIEphc29uOgoKamFzb24tamgubGluIDxqYXNvbi1qaC5saW5AbWVkaWF0ZWsuY29tPiDmlrwg MjAyMeW5tDnmnIgyMeaXpSDpgLHkuowg5LiL5Y2IMTE6NTLlr6vpgZPvvJoKPgo+IDEuIFJlbW92 ZSBtZWRpYXRlayxkaXNscGF5LnR4dAo+IDIuIFNwbGl0IGVhY2ggZGlzcGxheSBmdW5jdGlvbiBi bG9jayB0byBpbmRpdmlkdWFsIHlhbWwgZmlsZS4KCkFja2VkLWJ5OiBDaHVuLUt1YW5nIEh1IDxj aHVua3VhbmcuaHVAa2VybmVsLm9yZz4KCj4KPiBTaWduZWQtb2ZmLWJ5OiBqYXNvbi1qaC5saW4g PGphc29uLWpoLmxpbkBtZWRpYXRlay5jb20+Cj4gLS0tCj4gIC4uLi9kaXNwbGF5L21lZGlhdGVr L21lZGlhdGVrLGFhbC55YW1sICAgICAgICB8ICA3OSArKysrKysrCj4gIC4uLi9kaXNwbGF5L21l ZGlhdGVrL21lZGlhdGVrLGNjb3JyLnlhbWwgICAgICB8ICA3NCArKysrKysKPiAgLi4uL2Rpc3Bs YXkvbWVkaWF0ZWsvbWVkaWF0ZWssY29sb3IueWFtbCAgICAgIHwgIDg4ICsrKysrKysKPiAgLi4u L2Rpc3BsYXkvbWVkaWF0ZWsvbWVkaWF0ZWssZGlzcC50eHQgICAgICAgIHwgMjE5IC0tLS0tLS0t LS0tLS0tLS0tLQo+ICAuLi4vZGlzcGxheS9tZWRpYXRlay9tZWRpYXRlayxkaXRoZXIueWFtbCAg ICAgfCAgNzggKysrKysrKwo+ICAuLi4vZGlzcGxheS9tZWRpYXRlay9tZWRpYXRlayxnYW1tYS55 YW1sICAgICAgfCAgNzkgKysrKysrKwo+ICAuLi4vZGlzcGxheS9tZWRpYXRlay9tZWRpYXRlayxt ZXJnZS55YW1sICAgICAgfCAgNjkgKysrKysrCj4gIC4uLi9kaXNwbGF5L21lZGlhdGVrL21lZGlh dGVrLG11dGV4LnlhbWwgICAgICB8ICA4MiArKysrKysrCj4gIC4uLi9kaXNwbGF5L21lZGlhdGVr L21lZGlhdGVrLG9kLnlhbWwgICAgICAgICB8ICA1MyArKysrKwo+ICAuLi4vZGlzcGxheS9tZWRp YXRlay9tZWRpYXRlayxvdmwtMmwueWFtbCAgICAgfCAgOTEgKysrKysrKysKPiAgLi4uL2Rpc3Bs YXkvbWVkaWF0ZWsvbWVkaWF0ZWssb3ZsLnlhbWwgICAgICAgIHwgMTAxICsrKysrKysrCj4gIC4u Li9kaXNwbGF5L21lZGlhdGVrL21lZGlhdGVrLHBvc3RtYXNrLnlhbWwgICB8ICA3MiArKysrKysK PiAgLi4uL2Rpc3BsYXkvbWVkaWF0ZWsvbWVkaWF0ZWsscmRtYS55YW1sICAgICAgIHwgMTE4ICsr KysrKysrKysKPiAgLi4uL2Rpc3BsYXkvbWVkaWF0ZWsvbWVkaWF0ZWssc3BsaXQueWFtbCAgICAg IHwgIDU4ICsrKysrCj4gIC4uLi9kaXNwbGF5L21lZGlhdGVrL21lZGlhdGVrLHVmb2UueWFtbCAg ICAgICB8ICA2MSArKysrKwo+ICAuLi4vZGlzcGxheS9tZWRpYXRlay9tZWRpYXRlayx3ZG1hLnlh bWwgICAgICAgfCAgODkgKysrKysrKwo+ICAxNiBmaWxlcyBjaGFuZ2VkLCAxMTkyIGluc2VydGlv bnMoKyksIDIxOSBkZWxldGlvbnMoLSkKPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IERvY3VtZW50YXRp b24vZGV2aWNldHJlZS9iaW5kaW5ncy9kaXNwbGF5L21lZGlhdGVrL21lZGlhdGVrLGFhbC55YW1s Cj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBEb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3Mv ZGlzcGxheS9tZWRpYXRlay9tZWRpYXRlayxjY29yci55YW1sCj4gIGNyZWF0ZSBtb2RlIDEwMDY0 NCBEb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvZGlzcGxheS9tZWRpYXRlay9tZWRp YXRlayxjb2xvci55YW1sCj4gIGRlbGV0ZSBtb2RlIDEwMDY0NCBEb2N1bWVudGF0aW9uL2Rldmlj ZXRyZWUvYmluZGluZ3MvZGlzcGxheS9tZWRpYXRlay9tZWRpYXRlayxkaXNwLnR4dAo+ICBjcmVh dGUgbW9kZSAxMDA2NDQgRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2Rpc3BsYXkv bWVkaWF0ZWsvbWVkaWF0ZWssZGl0aGVyLnlhbWwKPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IERvY3Vt ZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9kaXNwbGF5L21lZGlhdGVrL21lZGlhdGVrLGdh bW1hLnlhbWwKPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IERvY3VtZW50YXRpb24vZGV2aWNldHJlZS9i aW5kaW5ncy9kaXNwbGF5L21lZGlhdGVrL21lZGlhdGVrLG1lcmdlLnlhbWwKPiAgY3JlYXRlIG1v ZGUgMTAwNjQ0IERvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9kaXNwbGF5L21lZGlh dGVrL21lZGlhdGVrLG11dGV4LnlhbWwKPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IERvY3VtZW50YXRp b24vZGV2aWNldHJlZS9iaW5kaW5ncy9kaXNwbGF5L21lZGlhdGVrL21lZGlhdGVrLG9kLnlhbWwK PiAgY3JlYXRlIG1vZGUgMTAwNjQ0IERvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9k aXNwbGF5L21lZGlhdGVrL21lZGlhdGVrLG92bC0ybC55YW1sCj4gIGNyZWF0ZSBtb2RlIDEwMDY0 NCBEb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvZGlzcGxheS9tZWRpYXRlay9tZWRp YXRlayxvdmwueWFtbAo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgRG9jdW1lbnRhdGlvbi9kZXZpY2V0 cmVlL2JpbmRpbmdzL2Rpc3BsYXkvbWVkaWF0ZWsvbWVkaWF0ZWsscG9zdG1hc2sueWFtbAo+ICBj cmVhdGUgbW9kZSAxMDA2NDQgRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2Rpc3Bs YXkvbWVkaWF0ZWsvbWVkaWF0ZWsscmRtYS55YW1sCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBEb2N1 bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvZGlzcGxheS9tZWRpYXRlay9tZWRpYXRlayxz cGxpdC55YW1sCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBEb2N1bWVudGF0aW9uL2RldmljZXRyZWUv YmluZGluZ3MvZGlzcGxheS9tZWRpYXRlay9tZWRpYXRlayx1Zm9lLnlhbWwKPiAgY3JlYXRlIG1v ZGUgMTAwNjQ0IERvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9kaXNwbGF5L21lZGlh dGVrL21lZGlhdGVrLHdkbWEueWFtbAo+Cj4gZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZGV2 aWNldHJlZS9iaW5kaW5ncy9kaXNwbGF5L21lZGlhdGVrL21lZGlhdGVrLGFhbC55YW1sIGIvRG9j dW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2Rpc3BsYXkvbWVkaWF0ZWsvbWVkaWF0ZWss YWFsLnlhbWwKPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDAwMDAwMDAwMDAwMC4uOTJh MzUwYWI5NzIyCj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBiL0RvY3VtZW50YXRpb24vZGV2aWNldHJl ZS9iaW5kaW5ncy9kaXNwbGF5L21lZGlhdGVrL21lZGlhdGVrLGFhbC55YW1sCj4gQEAgLTAsMCAr MSw3OSBAQAo+ICsjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiAoR1BMLTIuMC1vbmx5IE9SIEJT RC0yLUNsYXVzZSkKPiArJVlBTUwgMS4yCj4gKy0tLQo+ICskaWQ6IGh0dHA6Ly9kZXZpY2V0cmVl Lm9yZy9zY2hlbWFzL2Rpc3BsYXkvbWVkaWF0ZWsvbWVkaWF0ZWssYWFsLnlhbWwjCj4gKyRzY2hl bWE6IGh0dHA6Ly9kZXZpY2V0cmVlLm9yZy9tZXRhLXNjaGVtYXMvY29yZS55YW1sIwo+ICsKPiAr dGl0bGU6IE1lZGlhdGVrIGRpc3BsYXkgYWRhcHRpdmUgYW1iaWVudCBsaWdodCBwcm9jZXNzb3IK PiArCj4gK21haW50YWluZXJzOgo+ICsgIC0gQ2h1bi1LdWFuZyBIdSA8Y2h1bmt1YW5nLmh1QGtl cm5lbC5vcmc+Cj4gKyAgLSBQaGlsaXBwIFphYmVsIDxwLnphYmVsQHBlbmd1dHJvbml4LmRlPgo+ ICsKPiArZGVzY3JpcHRpb246IHwKPiArICBNZWRpYXRlayBkaXNwbGF5IGFkYXB0aXZlIGFtYmll bnQgbGlnaHQgcHJvY2Vzc29yLCBuYW1lbHkgQUFMLAo+ICsgIGlzIHJlc3BvbnNpYmxlIGZvciBi YWNrbGlnaHQgcG93ZXIgc2F2aW5nIGFuZCBzdW5saWdodCB2aXNpYmlsaXR5IGltcHJvdmluZy4K PiArICBBQUwgZGV2aWNlIG5vZGUgbXVzdCBiZSBzaWJsaW5ncyB0byB0aGUgY2VudHJhbCBNTVNZ U19DT05GSUcgbm9kZS4KPiArICBGb3IgYSBkZXNjcmlwdGlvbiBvZiB0aGUgTU1TWVNfQ09ORklH IGJpbmRpbmcsIHNlZQo+ICsgIERvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9hcm0v bWVkaWF0ZWsvbWVkaWF0ZWssbW1zeXMueWFtbAo+ICsgIGZvciBkZXRhaWxzLgo+ICsKPiArcHJv cGVydGllczoKPiArICBjb21wYXRpYmxlOgo+ICsgICAgb25lT2Y6Cj4gKyAgICAgIC0gaXRlbXM6 Cj4gKyAgICAgICAgICAtIGNvbnN0OiBtZWRpYXRlayxtdDgxNzMtZGlzcC1hYWwKPiArICAgICAg LSBpdGVtczoKPiArICAgICAgICAgIC0gZW51bToKPiArICAgICAgICAgICAgICAtIG1lZGlhdGVr LG10MjcxMi1kaXNwLWFhbAo+ICsgICAgICAgICAgICAgIC0gbWVkaWF0ZWssbXQ4MTgzLWRpc3At YWFsCj4gKyAgICAgICAgICAgICAgLSBtZWRpYXRlayxtdDgxOTItZGlzcC1hYWwKPiArICAgICAg ICAgIC0gZW51bToKPiArICAgICAgICAgICAgICAtIG1lZGlhdGVrLG10ODE3My1kaXNwLWFhbAo+ ICsKPiArICByZWc6Cj4gKyAgICBtYXhJdGVtczogMQo+ICsKPiArICBpbnRlcnJ1cHRzOgo+ICsg ICAgbWF4SXRlbXM6IDEKPiArCj4gKyAgcG93ZXItZG9tYWluczoKPiArICAgIGRlc2NyaXB0aW9u OiBBIHBoYW5kbGUgYW5kIFBNIGRvbWFpbiBzcGVjaWZpZXIgYXMgZGVmaW5lZCBieSBiaW5kaW5n cyBvZgo+ICsgICAgICB0aGUgcG93ZXIgY29udHJvbGxlciBzcGVjaWZpZWQgYnkgcGhhbmRsZS4g U2VlCj4gKyAgICAgIERvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9wb3dlci9wb3dl ci1kb21haW4ueWFtbCBmb3IgZGV0YWlscy4KPiArCj4gKyAgY2xvY2tzOgo+ICsgICAgaXRlbXM6 Cj4gKyAgICAgIC0gZGVzY3JpcHRpb246IEFBTCBDbG9jawo+ICsKPiArICBtZWRpYXRlayxnY2Ut Y2xpZW50LXJlZzoKPiArICAgIGRlc2NyaXB0aW9uOgo+ICsgICAgICBUaGUgcmVnaXN0ZXIgb2Yg Y2xpZW50IGRyaXZlciBjYW4gYmUgY29uZmlndXJlZCBieSBnY2Ugd2l0aCA0IGFyZ3VtZW50cwo+ ICsgICAgICBkZWZpbmVkIGluIHRoaXMgcHJvcGVydHksIHN1Y2ggYXMgcGhhbmRsZSBvZiBnY2Us IHN1YnN5cyBpZCwKPiArICAgICAgcmVnaXN0ZXIgb2Zmc2V0IGFuZCBzaXplLgo+ICsgICAgICBF YWNoIHN1YnN5cyBpZCBpcyBtYXBwaW5nIHRvIGEgYmFzZSBhZGRyZXNzIG9mIGRpc3BsYXkgZnVu Y3Rpb24gYmxvY2tzCj4gKyAgICAgIHJlZ2lzdGVyIHdoaWNoIGlzIGRlZmluZWQgaW4gdGhlIGdj ZSBoZWFkZXIKPiArICAgICAgaW5jbHVkZS9kdC1iaW5kaW5ncy9nY2UvPGNoaXA+LWdjZS5oLgo+ ICsgICAgJHJlZjogL3NjaGVtYXMvdHlwZXMueWFtbCMvZGVmaW5pdGlvbnMvcGhhbmRsZS1hcnJh eQo+ICsgICAgbWF4SXRlbXM6IDEKPiArCj4gK3JlcXVpcmVkOgo+ICsgIC0gY29tcGF0aWJsZQo+ ICsgIC0gcmVnCj4gKyAgLSBpbnRlcnJ1cHRzCj4gKyAgLSBwb3dlci1kb21haW5zCj4gKyAgLSBj bG9ja3MKPiArCj4gK2FkZGl0aW9uYWxQcm9wZXJ0aWVzOiBmYWxzZQo+ICsKPiArZXhhbXBsZXM6 Cj4gKyAgLSB8Cj4gKwo+ICsgICAgYWFsQDE0MDE1MDAwIHsKPiArICAgICAgICBjb21wYXRpYmxl ID0gIm1lZGlhdGVrLG10ODE3My1kaXNwLWFhbCI7Cj4gKyAgICAgICAgcmVnID0gPDAgMHgxNDAx NTAwMCAwIDB4MTAwMD47Cj4gKyAgICAgICAgaW50ZXJydXB0cyA9IDxHSUNfU1BJIDE4OSBJUlFf VFlQRV9MRVZFTF9MT1c+Owo+ICsgICAgICAgIHBvd2VyLWRvbWFpbnMgPSA8JnNjcHN5cyBNVDgx NzNfUE9XRVJfRE9NQUlOX01NPjsKPiArICAgICAgICBjbG9ja3MgPSA8Jm1tc3lzIENMS19NTV9E SVNQX0FBTD47Cj4gKyAgICAgICAgbWVkaWF0ZWssZ2NlLWNsaWVudC1yZWcgPSA8JmdjZSBTVUJT WVNfMTQwMVhYWFggMHg1MDAwIDB4MTAwMD47Cj4gKyAgICB9Owo+IGRpZmYgLS1naXQgYS9Eb2N1 bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvZGlzcGxheS9tZWRpYXRlay9tZWRpYXRlayxj Y29yci55YW1sIGIvRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2Rpc3BsYXkvbWVk aWF0ZWsvbWVkaWF0ZWssY2NvcnIueWFtbAo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXgg MDAwMDAwMDAwMDAwLi43ODQwZTEyZDRjYWYKPiAtLS0gL2Rldi9udWxsCj4gKysrIGIvRG9jdW1l bnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2Rpc3BsYXkvbWVkaWF0ZWsvbWVkaWF0ZWssY2Nv cnIueWFtbAo+IEBAIC0wLDAgKzEsNzQgQEAKPiArIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjog KEdQTC0yLjAtb25seSBPUiBCU0QtMi1DbGF1c2UpCj4gKyVZQU1MIDEuMgo+ICstLS0KPiArJGlk OiBodHRwOi8vZGV2aWNldHJlZS5vcmcvc2NoZW1hcy9kaXNwbGF5L21lZGlhdGVrL21lZGlhdGVr LGNjb3JyLnlhbWwjCj4gKyRzY2hlbWE6IGh0dHA6Ly9kZXZpY2V0cmVlLm9yZy9tZXRhLXNjaGVt YXMvY29yZS55YW1sIwo+ICsKPiArdGl0bGU6IE1lZGlhdGVrIGRpc3BsYXkgY29sb3IgY29ycmVj dGlvbgo+ICsKPiArbWFpbnRhaW5lcnM6Cj4gKyAgLSBDaHVuLUt1YW5nIEh1IDxjaHVua3Vhbmcu aHVAa2VybmVsLm9yZz4KPiArICAtIFBoaWxpcHAgWmFiZWwgPHAuemFiZWxAcGVuZ3V0cm9uaXgu ZGU+Cj4gKwo+ICtkZXNjcmlwdGlvbjogfAo+ICsgIE1lZGlhdGVrIGRpc3BsYXkgY29sb3IgY29y cmVjdGlvbiwgbmFtZWx5IENDT1JSLCByZXByb2R1Y2VzIGNvcnJlY3QgY29sb3IKPiArICBvbiBw YW5lbHMgd2l0aCBkaWZmZXJlbnQgY29sb3IgZ2FtdXQuCj4gKyAgQ0NPUlIgZGV2aWNlIG5vZGUg bXVzdCBiZSBzaWJsaW5ncyB0byB0aGUgY2VudHJhbCBNTVNZU19DT05GSUcgbm9kZS4KPiArICBG b3IgYSBkZXNjcmlwdGlvbiBvZiB0aGUgTU1TWVNfQ09ORklHIGJpbmRpbmcsIHNlZQo+ICsgIERv Y3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9hcm0vbWVkaWF0ZWsvbWVkaWF0ZWssbW1z eXMueWFtbAo+ICsgIGZvciBkZXRhaWxzLgo+ICsKPiArcHJvcGVydGllczoKPiArICBjb21wYXRp YmxlOgo+ICsgICAgb25lT2Y6Cj4gKyAgICAgIC0gaXRlbXM6Cj4gKyAgICAgICAgICAtIGNvbnN0 OiBtZWRpYXRlayxtdDgxODMtZGlzcC1jY29ycgo+ICsgICAgICAtIGl0ZW1zOgo+ICsgICAgICAg ICAgLSBjb25zdDogbWVkaWF0ZWssbXQ4MTkyLWRpc3AtY2NvcnIKPiArCj4gKyAgcmVnOgo+ICsg ICAgbWF4SXRlbXM6IDEKPiArCj4gKyAgaW50ZXJydXB0czoKPiArICAgIG1heEl0ZW1zOiAxCj4g Kwo+ICsgIHBvd2VyLWRvbWFpbnM6Cj4gKyAgICBkZXNjcmlwdGlvbjogQSBwaGFuZGxlIGFuZCBQ TSBkb21haW4gc3BlY2lmaWVyIGFzIGRlZmluZWQgYnkgYmluZGluZ3Mgb2YKPiArICAgICAgdGhl IHBvd2VyIGNvbnRyb2xsZXIgc3BlY2lmaWVkIGJ5IHBoYW5kbGUuIFNlZQo+ICsgICAgICBEb2N1 bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcG93ZXIvcG93ZXItZG9tYWluLnlhbWwgZm9y IGRldGFpbHMuCj4gKwo+ICsgIGNsb2NrczoKPiArICAgIGl0ZW1zOgo+ICsgICAgICAtIGRlc2Ny aXB0aW9uOiBDQ09SUiBDbG9jawo+ICsKPiArICBtZWRpYXRlayxnY2UtY2xpZW50LXJlZzoKPiAr ICAgIGRlc2NyaXB0aW9uOgo+ICsgICAgICBUaGUgcmVnaXN0ZXIgb2YgY2xpZW50IGRyaXZlciBj YW4gYmUgY29uZmlndXJlZCBieSBnY2Ugd2l0aCA0IGFyZ3VtZW50cwo+ICsgICAgICBkZWZpbmVk IGluIHRoaXMgcHJvcGVydHksIHN1Y2ggYXMgcGhhbmRsZSBvZiBnY2UsIHN1YnN5cyBpZCwKPiAr ICAgICAgcmVnaXN0ZXIgb2Zmc2V0IGFuZCBzaXplLgo+ICsgICAgICBFYWNoIHN1YnN5cyBpZCBp cyBtYXBwaW5nIHRvIGEgYmFzZSBhZGRyZXNzIG9mIGRpc3BsYXkgZnVuY3Rpb24gYmxvY2tzCj4g KyAgICAgIHJlZ2lzdGVyIHdoaWNoIGlzIGRlZmluZWQgaW4gdGhlIGdjZSBoZWFkZXIKPiArICAg ICAgaW5jbHVkZS9kdC1iaW5kaW5ncy9nY2UvPGNoaXA+LWdjZS5oLgo+ICsgICAgJHJlZjogL3Nj aGVtYXMvdHlwZXMueWFtbCMvZGVmaW5pdGlvbnMvcGhhbmRsZS1hcnJheQo+ICsgICAgbWF4SXRl bXM6IDEKPiArCj4gK3JlcXVpcmVkOgo+ICsgIC0gY29tcGF0aWJsZQo+ICsgIC0gcmVnCj4gKyAg LSBpbnRlcnJ1cHRzCj4gKyAgLSBwb3dlci1kb21haW5zCj4gKyAgLSBjbG9ja3MKPiArCj4gK2Fk ZGl0aW9uYWxQcm9wZXJ0aWVzOiBmYWxzZQo+ICsKPiArZXhhbXBsZXM6Cj4gKyAgLSB8Cj4gKwo+ ICsgICAgY2NvcnIwOiBjY29yckAxNDAwZjAwMCB7Cj4gKyAgICAgICAgY29tcGF0aWJsZSA9ICJt ZWRpYXRlayxtdDgxODMtZGlzcC1jY29yciI7Cj4gKyAgICAgICAgcmVnID0gPDAgMHgxNDAwZjAw MCAwIDB4MTAwMD47Cj4gKyAgICAgICAgaW50ZXJydXB0cyA9IDxHSUNfU1BJIDIzMiBJUlFfVFlQ RV9MRVZFTF9MT1c+Owo+ICsgICAgICAgIHBvd2VyLWRvbWFpbnMgPSA8JnNwbSBNVDgxODNfUE9X RVJfRE9NQUlOX0RJU1A+Owo+ICsgICAgICAgIGNsb2NrcyA9IDwmbW1zeXMgQ0xLX01NX0RJU1Bf Q0NPUlIwPjsKPiArICAgICAgICBtZWRpYXRlayxnY2UtY2xpZW50LXJlZyA9IDwmZ2NlIFNVQlNZ U18xNDAwWFhYWCAweGYwMDAgMHgxMDAwPjsKPiArICAgIH07Cj4gZGlmZiAtLWdpdCBhL0RvY3Vt ZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9kaXNwbGF5L21lZGlhdGVrL21lZGlhdGVrLGNv bG9yLnlhbWwgYi9Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvZGlzcGxheS9tZWRp YXRlay9tZWRpYXRlayxjb2xvci55YW1sCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCAw MDAwMDAwMDAwMDAuLjdhMjQ5YmE4NTg0Ywo+IC0tLSAvZGV2L251bGwKPiArKysgYi9Eb2N1bWVu dGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvZGlzcGxheS9tZWRpYXRlay9tZWRpYXRlayxjb2xv ci55YW1sCj4gQEAgLTAsMCArMSw4OCBAQAo+ICsjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiAo R1BMLTIuMC1vbmx5IE9SIEJTRC0yLUNsYXVzZSkKPiArJVlBTUwgMS4yCj4gKy0tLQo+ICskaWQ6 IGh0dHA6Ly9kZXZpY2V0cmVlLm9yZy9zY2hlbWFzL2Rpc3BsYXkvbWVkaWF0ZWsvbWVkaWF0ZWss Y29sb3IueWFtbCMKPiArJHNjaGVtYTogaHR0cDovL2RldmljZXRyZWUub3JnL21ldGEtc2NoZW1h cy9jb3JlLnlhbWwjCj4gKwo+ICt0aXRsZTogTWVkaWF0ZWsgZGlzcGxheSBjb2xvciBwcm9jZXNz b3IKPiArCj4gK21haW50YWluZXJzOgo+ICsgIC0gQ2h1bi1LdWFuZyBIdSA8Y2h1bmt1YW5nLmh1 QGtlcm5lbC5vcmc+Cj4gKyAgLSBQaGlsaXBwIFphYmVsIDxwLnphYmVsQHBlbmd1dHJvbml4LmRl Pgo+ICsKPiArZGVzY3JpcHRpb246IHwKPiArICBNZWRpYXRlayBkaXNwbGF5IGNvbG9yIHByb2Nl c3NvciwgbmFtZWx5IENPTE9SLCBwcm92aWRlcyBodWUsIGx1bWEgYW5kCj4gKyAgc2F0dXJhdGlv biBhZGp1c3RtZW50cyB0byBnZXQgYmV0dGVyIHBpY3R1cmUgcXVhbGl0eSBhbmQgdG8gaGF2ZSBv bmUgcGFuZWwKPiArICByZXNlbWJsZSB0aGUgb3RoZXIgaW4gdGhlaXIgb3V0cHV0IGNoYXJhY3Rl cmlzdGljcy4KPiArICBDT0xPUiBkZXZpY2Ugbm9kZSBtdXN0IGJlIHNpYmxpbmdzIHRvIHRoZSBj ZW50cmFsIE1NU1lTX0NPTkZJRyBub2RlLgo+ICsgIEZvciBhIGRlc2NyaXB0aW9uIG9mIHRoZSBN TVNZU19DT05GSUcgYmluZGluZywgc2VlCj4gKyAgRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2Jp bmRpbmdzL2FybS9tZWRpYXRlay9tZWRpYXRlayxtbXN5cy55YW1sCj4gKyAgZm9yIGRldGFpbHMu Cj4gKwo+ICtwcm9wZXJ0aWVzOgo+ICsgIGNvbXBhdGlibGU6Cj4gKyAgICBvbmVPZjoKPiArICAg ICAgLSBpdGVtczoKPiArICAgICAgICAgIC0gY29uc3Q6IG1lZGlhdGVrLG10MjcwMS1kaXNwLWNv bG9yCj4gKyAgICAgIC0gaXRlbXM6Cj4gKyAgICAgICAgICAtIGNvbnN0OiBtZWRpYXRlayxtdDgx NjctZGlzcC1jb2xvcgo+ICsgICAgICAtIGl0ZW1zOgo+ICsgICAgICAgICAgLSBjb25zdDogbWVk aWF0ZWssbXQ4MTczLWRpc3AtY29sb3IKPiArICAgICAgLSBpdGVtczoKPiArICAgICAgICAgIC0g ZW51bToKPiArICAgICAgICAgICAgICAtIG1lZGlhdGVrLG10NzYyMy1kaXNwLWNvbG9yCj4gKyAg ICAgICAgICAgICAgLSBtZWRpYXRlayxtdDI3MTItZGlzcC1jb2xvcgo+ICsgICAgICAgICAgLSBl bnVtOgo+ICsgICAgICAgICAgICAgIC0gbWVkaWF0ZWssbXQyNzAxLWRpc3AtY29sb3IKPiArICAg ICAgLSBpdGVtczoKPiArICAgICAgICAgIC0gZW51bToKPiArICAgICAgICAgICAgICAtIG1lZGlh dGVrLG10ODE4My1kaXNwLWNvbG9yCj4gKyAgICAgICAgICAgICAgLSBtZWRpYXRlayxtdDgxOTIt ZGlzcC1jb2xvcgo+ICsgICAgICAgICAgLSBlbnVtOgo+ICsgICAgICAgICAgICAgIC0gbWVkaWF0 ZWssbXQ4MTczLWRpc3AtY29sb3IKPiArICByZWc6Cj4gKyAgICBtYXhJdGVtczogMQo+ICsKPiAr ICBpbnRlcnJ1cHRzOgo+ICsgICAgbWF4SXRlbXM6IDEKPiArCj4gKyAgcG93ZXItZG9tYWluczoK PiArICAgIGRlc2NyaXB0aW9uOiBBIHBoYW5kbGUgYW5kIFBNIGRvbWFpbiBzcGVjaWZpZXIgYXMg ZGVmaW5lZCBieSBiaW5kaW5ncyBvZgo+ICsgICAgICB0aGUgcG93ZXIgY29udHJvbGxlciBzcGVj aWZpZWQgYnkgcGhhbmRsZS4gU2VlCj4gKyAgICAgIERvY3VtZW50YXRpb24vZGV2aWNldHJlZS9i aW5kaW5ncy9wb3dlci9wb3dlci1kb21haW4ueWFtbCBmb3IgZGV0YWlscy4KPiArCj4gKyAgY2xv Y2tzOgo+ICsgICAgaXRlbXM6Cj4gKyAgICAgIC0gZGVzY3JpcHRpb246IENPTE9SIENsb2NrCj4g Kwo+ICsgIG1lZGlhdGVrLGdjZS1jbGllbnQtcmVnOgo+ICsgICAgZGVzY3JpcHRpb246Cj4gKyAg ICAgIFRoZSByZWdpc3RlciBvZiBjbGllbnQgZHJpdmVyIGNhbiBiZSBjb25maWd1cmVkIGJ5IGdj ZSB3aXRoIDQgYXJndW1lbnRzCj4gKyAgICAgIGRlZmluZWQgaW4gdGhpcyBwcm9wZXJ0eSwgc3Vj aCBhcyBwaGFuZGxlIG9mIGdjZSwgc3Vic3lzIGlkLAo+ICsgICAgICByZWdpc3RlciBvZmZzZXQg YW5kIHNpemUuCj4gKyAgICAgIEVhY2ggc3Vic3lzIGlkIGlzIG1hcHBpbmcgdG8gYSBiYXNlIGFk ZHJlc3Mgb2YgZGlzcGxheSBmdW5jdGlvbiBibG9ja3MKPiArICAgICAgcmVnaXN0ZXIgd2hpY2gg aXMgZGVmaW5lZCBpbiB0aGUgZ2NlIGhlYWRlcgo+ICsgICAgICBpbmNsdWRlL2R0LWJpbmRpbmdz L2djZS88Y2hpcD4tZ2NlLmguCj4gKyAgICAkcmVmOiAvc2NoZW1hcy90eXBlcy55YW1sIy9kZWZp bml0aW9ucy9waGFuZGxlLWFycmF5Cj4gKyAgICBtYXhJdGVtczogMQo+ICsKPiArcmVxdWlyZWQ6 Cj4gKyAgLSBjb21wYXRpYmxlCj4gKyAgLSByZWcKPiArICAtIGludGVycnVwdHMKPiArICAtIHBv d2VyLWRvbWFpbnMKPiArICAtIGNsb2Nrcwo+ICsKPiArYWRkaXRpb25hbFByb3BlcnRpZXM6IGZh bHNlCj4gKwo+ICtleGFtcGxlczoKPiArICAtIHwKPiArCj4gKyAgICBjb2xvcjA6IGNvbG9yQDE0 MDEzMDAwIHsKPiArICAgICAgICBjb21wYXRpYmxlID0gIm1lZGlhdGVrLG10ODE3My1kaXNwLWNv bG9yIjsKPiArICAgICAgICByZWcgPSA8MCAweDE0MDEzMDAwIDAgMHgxMDAwPjsKPiArICAgICAg ICBpbnRlcnJ1cHRzID0gPEdJQ19TUEkgMTg3IElSUV9UWVBFX0xFVkVMX0xPVz47Cj4gKyAgICAg ICAgcG93ZXItZG9tYWlucyA9IDwmc2Nwc3lzIE1UODE3M19QT1dFUl9ET01BSU5fTU0+Owo+ICsg ICAgICAgIGNsb2NrcyA9IDwmbW1zeXMgQ0xLX01NX0RJU1BfQ09MT1IwPjsKPiArICAgICAgICBt ZWRpYXRlayxnY2UtY2xpZW50LXJlZyA9IDwmZ2NlIFNVQlNZU18xNDAxWFhYWCAweDMwMDAgMHgx MDAwPjsKPiArICAgIH07Cj4gZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZGV2aWNldHJlZS9i aW5kaW5ncy9kaXNwbGF5L21lZGlhdGVrL21lZGlhdGVrLGRpc3AudHh0IGIvRG9jdW1lbnRhdGlv bi9kZXZpY2V0cmVlL2JpbmRpbmdzL2Rpc3BsYXkvbWVkaWF0ZWsvbWVkaWF0ZWssZGlzcC50eHQK PiBkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCBmYmI1OWM5ZGRkYTYuLjAwMDAwMDAw MDAwMAo+IC0tLSBhL0RvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9kaXNwbGF5L21l ZGlhdGVrL21lZGlhdGVrLGRpc3AudHh0Cj4gKysrIC9kZXYvbnVsbAo+IEBAIC0xLDIxOSArMCww IEBACj4gLU1lZGlhdGVrIGRpc3BsYXkgc3Vic3lzdGVtCj4gLT09PT09PT09PT09PT09PT09PT09 PT09PT09Cj4gLQo+IC1UaGUgTWVkaWF0ZWsgZGlzcGxheSBzdWJzeXN0ZW0gY29uc2lzdHMgb2Yg dmFyaW91cyBESVNQIGZ1bmN0aW9uIGJsb2NrcyBpbiB0aGUKPiAtTU1TWVMgcmVnaXN0ZXIgc3Bh Y2UuIFRoZSBjb25uZWN0aW9ucyBiZXR3ZWVuIHRoZW0gY2FuIGJlIGNvbmZpZ3VyZWQgYnkgb3V0 cHV0Cj4gLWFuZCBpbnB1dCBzZWxlY3RvcnMgaW4gdGhlIE1NU1lTX0NPTkZJRyByZWdpc3RlciBz cGFjZS4gUGl4ZWwgY2xvY2sgYW5kIHN0YXJ0Cj4gLW9mIGZyYW1lIHNpZ25hbCBhcmUgZGlzdHJp YnV0ZWQgdG8gdGhlIG90aGVyIGZ1bmN0aW9uIGJsb2NrcyBieSBhIERJU1BfTVVURVgKPiAtZnVu Y3Rpb24gYmxvY2suCj4gLQo+IC1BbGwgRElTUCBkZXZpY2UgdHJlZSBub2RlcyBtdXN0IGJlIHNp YmxpbmdzIHRvIHRoZSBjZW50cmFsIE1NU1lTX0NPTkZJRyBub2RlLgo+IC1Gb3IgYSBkZXNjcmlw dGlvbiBvZiB0aGUgTU1TWVNfQ09ORklHIGJpbmRpbmcsIHNlZQo+IC1Eb2N1bWVudGF0aW9uL2Rl dmljZXRyZWUvYmluZGluZ3MvYXJtL21lZGlhdGVrL21lZGlhdGVrLG1tc3lzLnR4dC4KPiAtCj4g LURJU1AgZnVuY3Rpb24gYmxvY2tzCj4gLT09PT09PT09PT09PT09PT09PT09Cj4gLQo+IC1BIGRp c3BsYXkgc3RyZWFtIHN0YXJ0cyBhdCBhIHNvdXJjZSBmdW5jdGlvbiBibG9jayB0aGF0IHJlYWRz IHBpeGVsIGRhdGEgZnJvbQo+IC1tZW1vcnkgYW5kIGVuZHMgd2l0aCBhIHNpbmsgZnVuY3Rpb24g YmxvY2sgdGhhdCBkcml2ZXMgcGl4ZWxzIG9uIGEgZGlzcGxheQo+IC1pbnRlcmZhY2UsIG9yIHdy aXRlcyBwaXhlbHMgYmFjayB0byBtZW1vcnkuIEFsbCBESVNQIGZ1bmN0aW9uIGJsb2NrcyBoYXZl Cj4gLXRoZWlyIG93biByZWdpc3RlciBzcGFjZSwgaW50ZXJydXB0LCBhbmQgY2xvY2sgZ2F0ZS4g VGhlIGJsb2NrcyB0aGF0IGNhbgo+IC1hY2Nlc3MgbWVtb3J5IGFkZGl0aW9uYWxseSBoYXZlIHRv IGxpc3QgdGhlIElPTU1VIGFuZCBsb2NhbCBhcmJpdGVyIHRoZXkgYXJlCj4gLWNvbm5lY3RlZCB0 by4KPiAtCj4gLUZvciBhIGRlc2NyaXB0aW9uIG9mIHRoZSBkaXNwbGF5IGludGVyZmFjZSBzaW5r IGZ1bmN0aW9uIGJsb2Nrcywgc2VlCj4gLURvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5n cy9kaXNwbGF5L21lZGlhdGVrL21lZGlhdGVrLGRzaS50eHQgYW5kCj4gLURvY3VtZW50YXRpb24v ZGV2aWNldHJlZS9iaW5kaW5ncy9kaXNwbGF5L21lZGlhdGVrL21lZGlhdGVrLGRwaS55YW1sLgo+ IC0KPiAtUmVxdWlyZWQgcHJvcGVydGllcyAoYWxsIGZ1bmN0aW9uIGJsb2Nrcyk6Cj4gLS0gY29t cGF0aWJsZTogIm1lZGlhdGVrLDxjaGlwPi1kaXNwLTxmdW5jdGlvbj4iLCBvbmUgb2YKPiAtICAg ICAgICJtZWRpYXRlayw8Y2hpcD4tZGlzcC1vdmwiICAgICAgICAgICAgICAtIG92ZXJsYXkgKDQg bGF5ZXJzLCBibGVuZGluZywgY3NjKQo+IC0gICAgICAgIm1lZGlhdGVrLDxjaGlwPi1kaXNwLW92 bC0ybCIgICAgICAgICAgIC0gb3ZlcmxheSAoMiBsYXllcnMsIGJsZW5kaW5nLCBjc2MpCj4gLSAg ICAgICAibWVkaWF0ZWssPGNoaXA+LWRpc3AtcmRtYSIgICAgICAgICAgICAgLSByZWFkIERNQSAv IGxpbmUgYnVmZmVyCj4gLSAgICAgICAibWVkaWF0ZWssPGNoaXA+LWRpc3Atd2RtYSIgICAgICAg ICAgICAgLSB3cml0ZSBETUEKPiAtICAgICAgICJtZWRpYXRlayw8Y2hpcD4tZGlzcC1jY29yciIg ICAgICAgICAgICAtIGNvbG9yIGNvcnJlY3Rpb24KPiAtICAgICAgICJtZWRpYXRlayw8Y2hpcD4t ZGlzcC1jb2xvciIgICAgICAgICAgICAtIGNvbG9yIHByb2Nlc3Nvcgo+IC0gICAgICAgIm1lZGlh dGVrLDxjaGlwPi1kaXNwLWRpdGhlciIgICAgICAgICAgIC0gZGl0aGVyCj4gLSAgICAgICAibWVk aWF0ZWssPGNoaXA+LWRpc3AtYWFsIiAgICAgICAgICAgICAgLSBhZGFwdGl2ZSBhbWJpZW50IGxp Z2h0IGNvbnRyb2xsZXIKPiAtICAgICAgICJtZWRpYXRlayw8Y2hpcD4tZGlzcC1nYW1tYSIgICAg ICAgICAgICAtIGdhbW1hIGNvcnJlY3Rpb24KPiAtICAgICAgICJtZWRpYXRlayw8Y2hpcD4tZGlz cC1tZXJnZSIgICAgICAgICAgICAtIG1lcmdlIHN0cmVhbXMgZnJvbSB0d28gUkRNQSBzb3VyY2Vz Cj4gLSAgICAgICAibWVkaWF0ZWssPGNoaXA+LWRpc3AtcG9zdG1hc2siICAgICAgICAgLSBjb250 cm9sIHJvdW5kIGNvcm5lciBmb3IgZGlzcGxheSBmcmFtZQo+IC0gICAgICAgIm1lZGlhdGVrLDxj aGlwPi1kaXNwLXNwbGl0IiAgICAgICAgICAgIC0gc3BsaXQgc3RyZWFtIHRvIHR3byBlbmNvZGVy cwo+IC0gICAgICAgIm1lZGlhdGVrLDxjaGlwPi1kaXNwLXVmb2UiICAgICAgICAgICAgIC0gZGF0 YSBjb21wcmVzc2lvbiBlbmdpbmUKPiAtICAgICAgICJtZWRpYXRlayw8Y2hpcD4tZHNpIiAgICAg ICAgICAgICAgICAgICAtIERTSSBjb250cm9sbGVyLCBzZWUgbWVkaWF0ZWssZHNpLnR4dAo+IC0g ICAgICAgIm1lZGlhdGVrLDxjaGlwPi1kcGkiICAgICAgICAgICAgICAgICAgIC0gRFBJIGNvbnRy b2xsZXIsIHNlZSBtZWRpYXRlayxkcGkudHh0Cj4gLSAgICAgICAibWVkaWF0ZWssPGNoaXA+LWRp c3AtbXV0ZXgiICAgICAgICAgICAgLSBkaXNwbGF5IG11dGV4Cj4gLSAgICAgICAibWVkaWF0ZWss PGNoaXA+LWRpc3Atb2QiICAgICAgICAgICAgICAgLSBvdmVyZHJpdmUKPiAtICB0aGUgc3VwcG9y dGVkIGNoaXBzIGFyZSBtdDI3MDEsIG10NzYyMywgbXQyNzEyLCBtdDgxNjcsIG10ODE3MywgbXQ4 MTgzIGFuZCBtdDgxOTIuCj4gLS0gcmVnOiBQaHlzaWNhbCBiYXNlIGFkZHJlc3MgYW5kIGxlbmd0 aCBvZiB0aGUgZnVuY3Rpb24gYmxvY2sgcmVnaXN0ZXIgc3BhY2UKPiAtLSBpbnRlcnJ1cHRzOiBU aGUgaW50ZXJydXB0IHNpZ25hbCBmcm9tIHRoZSBmdW5jdGlvbiBibG9jayAocmVxdWlyZWQsIGV4 Y2VwdCBmb3IKPiAtICBtZXJnZSBhbmQgc3BsaXQgZnVuY3Rpb24gYmxvY2tzKS4KPiAtLSBjbG9j a3M6IGRldmljZSBjbG9ja3MKPiAtICBTZWUgRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRp bmdzL2Nsb2NrL2Nsb2NrLWJpbmRpbmdzLnR4dCBmb3IgZGV0YWlscy4KPiAtICBGb3IgbW9zdCBm dW5jdGlvbiBibG9ja3MgdGhpcyBpcyBqdXN0IGEgc2luZ2xlIGNsb2NrIGlucHV0LiBPbmx5IHRo ZSBEU0kgYW5kCj4gLSAgRFBJIGNvbnRyb2xsZXIgbm9kZXMgaGF2ZSBtdWx0aXBsZSBjbG9jayBp bnB1dHMuIFRoZXNlIGFyZSBkb2N1bWVudGVkIGluCj4gLSAgbWVkaWF0ZWssZHNpLnR4dCBhbmQg bWVkaWF0ZWssZHBpLnR4dCwgcmVzcGVjdGl2ZWx5Lgo+IC0gIEFuIGV4Y2VwdGlvbiBpcyB0aGF0 IHRoZSBtdDgxODMgbXV0ZXggaXMgYWx3YXlzIGZyZWUgcnVubmluZyB3aXRoIG5vIGNsb2NrcyBw cm9wZXJ0eS4KPiAtCj4gLVJlcXVpcmVkIHByb3BlcnRpZXMgKERNQSBmdW5jdGlvbiBibG9ja3Mp Ogo+IC0tIGNvbXBhdGlibGU6IFNob3VsZCBiZSBvbmUgb2YKPiAtICAgICAgICJtZWRpYXRlayw8 Y2hpcD4tZGlzcC1vdmwiCj4gLSAgICAgICAibWVkaWF0ZWssPGNoaXA+LWRpc3AtcmRtYSIKPiAt ICAgICAgICJtZWRpYXRlayw8Y2hpcD4tZGlzcC13ZG1hIgo+IC0gIHRoZSBzdXBwb3J0ZWQgY2hp cHMgYXJlIG10MjcwMSwgbXQ4MTY3IGFuZCBtdDgxNzMuCj4gLS0gbGFyYjogU2hvdWxkIGNvbnRh aW4gYSBwaGFuZGxlIHBvaW50aW5nIHRvIHRoZSBsb2NhbCBhcmJpdGVyIGRldmljZSBhcyBkZWZp bmVkCj4gLSAgaW4gRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL21lbW9yeS1jb250 cm9sbGVycy9tZWRpYXRlayxzbWktbGFyYi55YW1sCj4gLS0gaW9tbXVzOiBTaG91bGQgcG9pbnQg dG8gdGhlIHJlc3BlY3RpdmUgSU9NTVUgYmxvY2sgd2l0aCBtYXN0ZXIgcG9ydCBhcwo+IC0gIGFy Z3VtZW50LCBzZWUgRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2lvbW11L21lZGlh dGVrLGlvbW11LnlhbWwKPiAtICBmb3IgZGV0YWlscy4KPiAtCj4gLU9wdGlvbmFsIHByb3BlcnRp ZXMgKFJETUEgZnVuY3Rpb24gYmxvY2tzKToKPiAtLSBtZWRpYXRlayxyZG1hLWZpZm8tc2l6ZTog cmRtYSBmaWZvIHNpemUgbWF5IGJlIGRpZmZlcmVudCBldmVuIGluIHNhbWUgU09DLCBhZGQgdGhp cwo+IC0gIHByb3BlcnR5IHRvIHRoZSBjb3JyZXNwb25kaW5nIHJkbWEKPiAtICB0aGUgdmFsdWUg aXMgdGhlIE1heCB2YWx1ZSB3aGljaCBkZWZpbmVkIGluIGhhcmR3YXJlIGRhdGEgc2hlZXQuCj4g LSAgbWVkaWF0ZWsscmRtYS1maWZvLXNpemUgb2YgbXQ4MTczLXJkbWEwIGlzIDhLCj4gLSAgbWVk aWF0ZWsscmRtYS1maWZvLXNpemUgb2YgbXQ4MTgzLXJkbWEwIGlzIDVLCj4gLSAgbWVkaWF0ZWss cmRtYS1maWZvLXNpemUgb2YgbXQ4MTgzLXJkbWExIGlzIDJLCj4gLQo+IC1FeGFtcGxlczoKPiAt Cj4gLW1tc3lzOiBjbG9jay1jb250cm9sbGVyQDE0MDAwMDAwIHsKPiAtICAgICAgIGNvbXBhdGli bGUgPSAibWVkaWF0ZWssbXQ4MTczLW1tc3lzIiwgInN5c2NvbiI7Cj4gLSAgICAgICByZWcgPSA8 MCAweDE0MDAwMDAwIDAgMHgxMDAwPjsKPiAtICAgICAgIHBvd2VyLWRvbWFpbnMgPSA8JnNjcHN5 cyBNVDgxNzNfUE9XRVJfRE9NQUlOX01NPjsKPiAtICAgICAgICNjbG9jay1jZWxscyA9IDwxPjsK PiAtfTsKPiAtCj4gLW92bDA6IG92bEAxNDAwYzAwMCB7Cj4gLSAgICAgICBjb21wYXRpYmxlID0g Im1lZGlhdGVrLG10ODE3My1kaXNwLW92bCI7Cj4gLSAgICAgICByZWcgPSA8MCAweDE0MDBjMDAw IDAgMHgxMDAwPjsKPiAtICAgICAgIGludGVycnVwdHMgPSA8R0lDX1NQSSAxODAgSVJRX1RZUEVf TEVWRUxfTE9XPjsKPiAtICAgICAgIHBvd2VyLWRvbWFpbnMgPSA8JnNjcHN5cyBNVDgxNzNfUE9X RVJfRE9NQUlOX01NPjsKPiAtICAgICAgIGNsb2NrcyA9IDwmbW1zeXMgQ0xLX01NX0RJU1BfT1ZM MD47Cj4gLSAgICAgICBpb21tdXMgPSA8JmlvbW11IE00VV9QT1JUX0RJU1BfT1ZMMD47Cj4gLSAg ICAgICBtZWRpYXRlayxsYXJiID0gPCZsYXJiMD47Cj4gLX07Cj4gLQo+IC1vdmwxOiBvdmxAMTQw MGQwMDAgewo+IC0gICAgICAgY29tcGF0aWJsZSA9ICJtZWRpYXRlayxtdDgxNzMtZGlzcC1vdmwi Owo+IC0gICAgICAgcmVnID0gPDAgMHgxNDAwZDAwMCAwIDB4MTAwMD47Cj4gLSAgICAgICBpbnRl cnJ1cHRzID0gPEdJQ19TUEkgMTgxIElSUV9UWVBFX0xFVkVMX0xPVz47Cj4gLSAgICAgICBwb3dl ci1kb21haW5zID0gPCZzY3BzeXMgTVQ4MTczX1BPV0VSX0RPTUFJTl9NTT47Cj4gLSAgICAgICBj bG9ja3MgPSA8Jm1tc3lzIENMS19NTV9ESVNQX09WTDE+Owo+IC0gICAgICAgaW9tbXVzID0gPCZp b21tdSBNNFVfUE9SVF9ESVNQX09WTDE+Owo+IC0gICAgICAgbWVkaWF0ZWssbGFyYiA9IDwmbGFy YjQ+Owo+IC19Owo+IC0KPiAtcmRtYTA6IHJkbWFAMTQwMGUwMDAgewo+IC0gICAgICAgY29tcGF0 aWJsZSA9ICJtZWRpYXRlayxtdDgxNzMtZGlzcC1yZG1hIjsKPiAtICAgICAgIHJlZyA9IDwwIDB4 MTQwMGUwMDAgMCAweDEwMDA+Owo+IC0gICAgICAgaW50ZXJydXB0cyA9IDxHSUNfU1BJIDE4MiBJ UlFfVFlQRV9MRVZFTF9MT1c+Owo+IC0gICAgICAgcG93ZXItZG9tYWlucyA9IDwmc2Nwc3lzIE1U ODE3M19QT1dFUl9ET01BSU5fTU0+Owo+IC0gICAgICAgY2xvY2tzID0gPCZtbXN5cyBDTEtfTU1f RElTUF9SRE1BMD47Cj4gLSAgICAgICBpb21tdXMgPSA8JmlvbW11IE00VV9QT1JUX0RJU1BfUkRN QTA+Owo+IC0gICAgICAgbWVkaWF0ZWssbGFyYiA9IDwmbGFyYjA+Owo+IC0gICAgICAgbWVkaWF0 ZWsscmRtYS1maWZvc2l6ZSA9IDw4MTkyPjsKPiAtfTsKPiAtCj4gLXJkbWExOiByZG1hQDE0MDBm MDAwIHsKPiAtICAgICAgIGNvbXBhdGlibGUgPSAibWVkaWF0ZWssbXQ4MTczLWRpc3AtcmRtYSI7 Cj4gLSAgICAgICByZWcgPSA8MCAweDE0MDBmMDAwIDAgMHgxMDAwPjsKPiAtICAgICAgIGludGVy cnVwdHMgPSA8R0lDX1NQSSAxODMgSVJRX1RZUEVfTEVWRUxfTE9XPjsKPiAtICAgICAgIHBvd2Vy LWRvbWFpbnMgPSA8JnNjcHN5cyBNVDgxNzNfUE9XRVJfRE9NQUlOX01NPjsKPiAtICAgICAgIGNs b2NrcyA9IDwmbW1zeXMgQ0xLX01NX0RJU1BfUkRNQTE+Owo+IC0gICAgICAgaW9tbXVzID0gPCZp b21tdSBNNFVfUE9SVF9ESVNQX1JETUExPjsKPiAtICAgICAgIG1lZGlhdGVrLGxhcmIgPSA8Jmxh cmI0PjsKPiAtfTsKPiAtCj4gLXJkbWEyOiByZG1hQDE0MDEwMDAwIHsKPiAtICAgICAgIGNvbXBh dGlibGUgPSAibWVkaWF0ZWssbXQ4MTczLWRpc3AtcmRtYSI7Cj4gLSAgICAgICByZWcgPSA8MCAw eDE0MDEwMDAwIDAgMHgxMDAwPjsKPiAtICAgICAgIGludGVycnVwdHMgPSA8R0lDX1NQSSAxODQg SVJRX1RZUEVfTEVWRUxfTE9XPjsKPiAtICAgICAgIHBvd2VyLWRvbWFpbnMgPSA8JnNjcHN5cyBN VDgxNzNfUE9XRVJfRE9NQUlOX01NPjsKPiAtICAgICAgIGNsb2NrcyA9IDwmbW1zeXMgQ0xLX01N X0RJU1BfUkRNQTI+Owo+IC0gICAgICAgaW9tbXVzID0gPCZpb21tdSBNNFVfUE9SVF9ESVNQX1JE TUEyPjsKPiAtICAgICAgIG1lZGlhdGVrLGxhcmIgPSA8JmxhcmI0PjsKPiAtfTsKPiAtCj4gLXdk bWEwOiB3ZG1hQDE0MDExMDAwIHsKPiAtICAgICAgIGNvbXBhdGlibGUgPSAibWVkaWF0ZWssbXQ4 MTczLWRpc3Atd2RtYSI7Cj4gLSAgICAgICByZWcgPSA8MCAweDE0MDExMDAwIDAgMHgxMDAwPjsK PiAtICAgICAgIGludGVycnVwdHMgPSA8R0lDX1NQSSAxODUgSVJRX1RZUEVfTEVWRUxfTE9XPjsK PiAtICAgICAgIHBvd2VyLWRvbWFpbnMgPSA8JnNjcHN5cyBNVDgxNzNfUE9XRVJfRE9NQUlOX01N PjsKPiAtICAgICAgIGNsb2NrcyA9IDwmbW1zeXMgQ0xLX01NX0RJU1BfV0RNQTA+Owo+IC0gICAg ICAgaW9tbXVzID0gPCZpb21tdSBNNFVfUE9SVF9ESVNQX1dETUEwPjsKPiAtICAgICAgIG1lZGlh dGVrLGxhcmIgPSA8JmxhcmIwPjsKPiAtfTsKPiAtCj4gLXdkbWExOiB3ZG1hQDE0MDEyMDAwIHsK PiAtICAgICAgIGNvbXBhdGlibGUgPSAibWVkaWF0ZWssbXQ4MTczLWRpc3Atd2RtYSI7Cj4gLSAg ICAgICByZWcgPSA8MCAweDE0MDEyMDAwIDAgMHgxMDAwPjsKPiAtICAgICAgIGludGVycnVwdHMg PSA8R0lDX1NQSSAxODYgSVJRX1RZUEVfTEVWRUxfTE9XPjsKPiAtICAgICAgIHBvd2VyLWRvbWFp bnMgPSA8JnNjcHN5cyBNVDgxNzNfUE9XRVJfRE9NQUlOX01NPjsKPiAtICAgICAgIGNsb2NrcyA9 IDwmbW1zeXMgQ0xLX01NX0RJU1BfV0RNQTE+Owo+IC0gICAgICAgaW9tbXVzID0gPCZpb21tdSBN NFVfUE9SVF9ESVNQX1dETUExPjsKPiAtICAgICAgIG1lZGlhdGVrLGxhcmIgPSA8JmxhcmI0PjsK PiAtfTsKPiAtCj4gLWNvbG9yMDogY29sb3JAMTQwMTMwMDAgewo+IC0gICAgICAgY29tcGF0aWJs ZSA9ICJtZWRpYXRlayxtdDgxNzMtZGlzcC1jb2xvciI7Cj4gLSAgICAgICByZWcgPSA8MCAweDE0 MDEzMDAwIDAgMHgxMDAwPjsKPiAtICAgICAgIGludGVycnVwdHMgPSA8R0lDX1NQSSAxODcgSVJR X1RZUEVfTEVWRUxfTE9XPjsKPiAtICAgICAgIHBvd2VyLWRvbWFpbnMgPSA8JnNjcHN5cyBNVDgx NzNfUE9XRVJfRE9NQUlOX01NPjsKPiAtICAgICAgIGNsb2NrcyA9IDwmbW1zeXMgQ0xLX01NX0RJ U1BfQ09MT1IwPjsKPiAtfTsKPiAtCj4gLWNvbG9yMTogY29sb3JAMTQwMTQwMDAgewo+IC0gICAg ICAgY29tcGF0aWJsZSA9ICJtZWRpYXRlayxtdDgxNzMtZGlzcC1jb2xvciI7Cj4gLSAgICAgICBy ZWcgPSA8MCAweDE0MDE0MDAwIDAgMHgxMDAwPjsKPiAtICAgICAgIGludGVycnVwdHMgPSA8R0lD X1NQSSAxODggSVJRX1RZUEVfTEVWRUxfTE9XPjsKPiAtICAgICAgIHBvd2VyLWRvbWFpbnMgPSA8 JnNjcHN5cyBNVDgxNzNfUE9XRVJfRE9NQUlOX01NPjsKPiAtICAgICAgIGNsb2NrcyA9IDwmbW1z eXMgQ0xLX01NX0RJU1BfQ09MT1IxPjsKPiAtfTsKPiAtCj4gLWFhbEAxNDAxNTAwMCB7Cj4gLSAg ICAgICBjb21wYXRpYmxlID0gIm1lZGlhdGVrLG10ODE3My1kaXNwLWFhbCI7Cj4gLSAgICAgICBy ZWcgPSA8MCAweDE0MDE1MDAwIDAgMHgxMDAwPjsKPiAtICAgICAgIGludGVycnVwdHMgPSA8R0lD X1NQSSAxODkgSVJRX1RZUEVfTEVWRUxfTE9XPjsKPiAtICAgICAgIHBvd2VyLWRvbWFpbnMgPSA8 JnNjcHN5cyBNVDgxNzNfUE9XRVJfRE9NQUlOX01NPjsKPiAtICAgICAgIGNsb2NrcyA9IDwmbW1z eXMgQ0xLX01NX0RJU1BfQUFMPjsKPiAtfTsKPiAtCj4gLWdhbW1hQDE0MDE2MDAwIHsKPiAtICAg ICAgIGNvbXBhdGlibGUgPSAibWVkaWF0ZWssbXQ4MTczLWRpc3AtZ2FtbWEiOwo+IC0gICAgICAg cmVnID0gPDAgMHgxNDAxNjAwMCAwIDB4MTAwMD47Cj4gLSAgICAgICBpbnRlcnJ1cHRzID0gPEdJ Q19TUEkgMTkwIElSUV9UWVBFX0xFVkVMX0xPVz47Cj4gLSAgICAgICBwb3dlci1kb21haW5zID0g PCZzY3BzeXMgTVQ4MTczX1BPV0VSX0RPTUFJTl9NTT47Cj4gLSAgICAgICBjbG9ja3MgPSA8Jm1t c3lzIENMS19NTV9ESVNQX0dBTU1BPjsKPiAtfTsKPiAtCj4gLXVmb2VAMTQwMWEwMDAgewo+IC0g ICAgICAgY29tcGF0aWJsZSA9ICJtZWRpYXRlayxtdDgxNzMtZGlzcC11Zm9lIjsKPiAtICAgICAg IHJlZyA9IDwwIDB4MTQwMWEwMDAgMCAweDEwMDA+Owo+IC0gICAgICAgaW50ZXJydXB0cyA9IDxH SUNfU1BJIDE5MSBJUlFfVFlQRV9MRVZFTF9MT1c+Owo+IC0gICAgICAgcG93ZXItZG9tYWlucyA9 IDwmc2Nwc3lzIE1UODE3M19QT1dFUl9ET01BSU5fTU0+Owo+IC0gICAgICAgY2xvY2tzID0gPCZt bXN5cyBDTEtfTU1fRElTUF9VRk9FPjsKPiAtfTsKPiAtCj4gLWRzaTA6IGRzaUAxNDAxYjAwMCB7 Cj4gLSAgICAgICAvKiBTZWUgbWVkaWF0ZWssZHNpLnR4dCBmb3IgZGV0YWlscyAqLwo+IC19Owo+ IC0KPiAtZHBpMDogZHBpQDE0MDFkMDAwIHsKPiAtICAgICAgIC8qIFNlZSBtZWRpYXRlayxkcGku dHh0IGZvciBkZXRhaWxzICovCj4gLX07Cj4gLQo+IC1tdXRleDogbXV0ZXhAMTQwMjAwMDAgewo+ IC0gICAgICAgY29tcGF0aWJsZSA9ICJtZWRpYXRlayxtdDgxNzMtZGlzcC1tdXRleCI7Cj4gLSAg ICAgICByZWcgPSA8MCAweDE0MDIwMDAwIDAgMHgxMDAwPjsKPiAtICAgICAgIGludGVycnVwdHMg PSA8R0lDX1NQSSAxNjkgSVJRX1RZUEVfTEVWRUxfTE9XPjsKPiAtICAgICAgIHBvd2VyLWRvbWFp bnMgPSA8JnNjcHN5cyBNVDgxNzNfUE9XRVJfRE9NQUlOX01NPjsKPiAtICAgICAgIGNsb2NrcyA9 IDwmbW1zeXMgQ0xLX01NX01VVEVYXzMySz47Cj4gLX07Cj4gLQo+IC1vZEAxNDAyMzAwMCB7Cj4g LSAgICAgICBjb21wYXRpYmxlID0gIm1lZGlhdGVrLG10ODE3My1kaXNwLW9kIjsKPiAtICAgICAg IHJlZyA9IDwwIDB4MTQwMjMwMDAgMCAweDEwMDA+Owo+IC0gICAgICAgcG93ZXItZG9tYWlucyA9 IDwmc2Nwc3lzIE1UODE3M19QT1dFUl9ET01BSU5fTU0+Owo+IC0gICAgICAgY2xvY2tzID0gPCZt bXN5cyBDTEtfTU1fRElTUF9PRD47Cj4gLX07Cj4gZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24v ZGV2aWNldHJlZS9iaW5kaW5ncy9kaXNwbGF5L21lZGlhdGVrL21lZGlhdGVrLGRpdGhlci55YW1s IGIvRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2Rpc3BsYXkvbWVkaWF0ZWsvbWVk aWF0ZWssZGl0aGVyLnlhbWwKPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDAwMDAwMDAw MDAwMC4uMzE2Mzc0MzE1OTYyCj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBiL0RvY3VtZW50YXRpb24v ZGV2aWNldHJlZS9iaW5kaW5ncy9kaXNwbGF5L21lZGlhdGVrL21lZGlhdGVrLGRpdGhlci55YW1s Cj4gQEAgLTAsMCArMSw3OCBAQAo+ICsjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiAoR1BMLTIu MC1vbmx5IE9SIEJTRC0yLUNsYXVzZSkKPiArJVlBTUwgMS4yCj4gKy0tLQo+ICskaWQ6IGh0dHA6 Ly9kZXZpY2V0cmVlLm9yZy9zY2hlbWFzL2Rpc3BsYXkvbWVkaWF0ZWsvbWVkaWF0ZWssZGl0aGVy LnlhbWwjCj4gKyRzY2hlbWE6IGh0dHA6Ly9kZXZpY2V0cmVlLm9yZy9tZXRhLXNjaGVtYXMvY29y ZS55YW1sIwo+ICsKPiArdGl0bGU6IE1lZGlhdGVrIGRpc3BsYXkgZGl0aGVyIHByb2Nlc3Nvcgo+ ICsKPiArbWFpbnRhaW5lcnM6Cj4gKyAgLSBDaHVuLUt1YW5nIEh1IDxjaHVua3VhbmcuaHVAa2Vy bmVsLm9yZz4KPiArICAtIFBoaWxpcHAgWmFiZWwgPHAuemFiZWxAcGVuZ3V0cm9uaXguZGU+Cj4g Kwo+ICtkZXNjcmlwdGlvbjogfAo+ICsgIE1lZGlhdGVrIGRpc3BsYXkgZGl0aGVyIHByb2Nlc3Nv ciwgbmFtZWx5IERJVEhFUiwgd29ya3MgYnkgYXBwcm94aW1hdGluZwo+ICsgIHVuYXZhaWxhYmxl IGNvbG9ycyB3aXRoIGF2YWlsYWJsZSBjb2xvcnMgYW5kIGJ5IG1peGluZyBhbmQgbWF0Y2hpbmcg YXZhaWxhYmxlCj4gKyAgY29sb3JzIHRvIG1pbWljIHVuYXZhaWxhYmxlIG9uZXMuCj4gKyAgRElU SEVSIGRldmljZSBub2RlIG11c3QgYmUgc2libGluZ3MgdG8gdGhlIGNlbnRyYWwgTU1TWVNfQ09O RklHIG5vZGUuCj4gKyAgRm9yIGEgZGVzY3JpcHRpb24gb2YgdGhlIE1NU1lTX0NPTkZJRyBiaW5k aW5nLCBzZWUKPiArICBEb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvYXJtL21lZGlh dGVrL21lZGlhdGVrLG1tc3lzLnlhbWwKPiArICBmb3IgZGV0YWlscy4KPiArCj4gK3Byb3BlcnRp ZXM6Cj4gKyAgY29tcGF0aWJsZToKPiArICAgIG9uZU9mOgo+ICsgICAgICAtIGl0ZW1zOgo+ICsg ICAgICAgICAgLSBjb25zdDogbWVkaWF0ZWssbXQ4MTgzLWRpc3AtZGl0aGVyCj4gKyAgICAgIC0g aXRlbXM6Cj4gKyAgICAgICAgICAtIGVudW06Cj4gKyAgICAgICAgICAgICAgLSBtZWRpYXRlayxt dDgxOTItZGlzcC1kaXRoZXIKPiArICAgICAgICAgIC0gZW51bToKPiArICAgICAgICAgICAgICAt IG1lZGlhdGVrLG10ODE4My1kaXNwLWRpdGhlcgo+ICsKPiArICByZWc6Cj4gKyAgICBtYXhJdGVt czogMQo+ICsKPiArICBpbnRlcnJ1cHRzOgo+ICsgICAgbWF4SXRlbXM6IDEKPiArCj4gKyAgcG93 ZXItZG9tYWluczoKPiArICAgIGRlc2NyaXB0aW9uOiBBIHBoYW5kbGUgYW5kIFBNIGRvbWFpbiBz cGVjaWZpZXIgYXMgZGVmaW5lZCBieSBiaW5kaW5ncyBvZgo+ICsgICAgICB0aGUgcG93ZXIgY29u dHJvbGxlciBzcGVjaWZpZWQgYnkgcGhhbmRsZS4gU2VlCj4gKyAgICAgIERvY3VtZW50YXRpb24v ZGV2aWNldHJlZS9iaW5kaW5ncy9wb3dlci9wb3dlci1kb21haW4ueWFtbCBmb3IgZGV0YWlscy4K PiArCj4gKyAgY2xvY2tzOgo+ICsgICAgaXRlbXM6Cj4gKyAgICAgIC0gZGVzY3JpcHRpb246IERJ VEhFUiBDbG9jawo+ICsKPiArICBtZWRpYXRlayxnY2UtY2xpZW50LXJlZzoKPiArICAgIGRlc2Ny aXB0aW9uOgo+ICsgICAgICBUaGUgcmVnaXN0ZXIgb2YgY2xpZW50IGRyaXZlciBjYW4gYmUgY29u ZmlndXJlZCBieSBnY2Ugd2l0aCA0IGFyZ3VtZW50cwo+ICsgICAgICBkZWZpbmVkIGluIHRoaXMg cHJvcGVydHksIHN1Y2ggYXMgcGhhbmRsZSBvZiBnY2UsIHN1YnN5cyBpZCwKPiArICAgICAgcmVn aXN0ZXIgb2Zmc2V0IGFuZCBzaXplLgo+ICsgICAgICBFYWNoIHN1YnN5cyBpZCBpcyBtYXBwaW5n IHRvIGEgYmFzZSBhZGRyZXNzIG9mIGRpc3BsYXkgZnVuY3Rpb24gYmxvY2tzCj4gKyAgICAgIHJl Z2lzdGVyIHdoaWNoIGlzIGRlZmluZWQgaW4gdGhlIGdjZSBoZWFkZXIKPiArICAgICAgaW5jbHVk ZS9kdC1iaW5kaW5ncy9nY2UvPGNoaXA+LWdjZS5oLgo+ICsgICAgJHJlZjogL3NjaGVtYXMvdHlw ZXMueWFtbCMvZGVmaW5pdGlvbnMvcGhhbmRsZS1hcnJheQo+ICsgICAgbWF4SXRlbXM6IDEKPiAr Cj4gK3JlcXVpcmVkOgo+ICsgIC0gY29tcGF0aWJsZQo+ICsgIC0gcmVnCj4gKyAgLSBpbnRlcnJ1 cHRzCj4gKyAgLSBwb3dlci1kb21haW5zCj4gKyAgLSBjbG9ja3MKPiArCj4gK2FkZGl0aW9uYWxQ cm9wZXJ0aWVzOiBmYWxzZQo+ICsKPiArZXhhbXBsZXM6Cj4gKyAgLSB8Cj4gKwo+ICsgICAgZGl0 aGVyMDogZGl0aGVyQDE0MDEyMDAwIHsKPiArICAgICAgICBjb21wYXRpYmxlID0gIm1lZGlhdGVr LG10ODE4My1kaXNwLWRpdGhlciI7Cj4gKyAgICAgICAgcmVnID0gPDAgMHgxNDAxMjAwMCAwIDB4 MTAwMD47Cj4gKyAgICAgICAgaW50ZXJydXB0cyA9IDxHSUNfU1BJIDIzNSBJUlFfVFlQRV9MRVZF TF9MT1c+Owo+ICsgICAgICAgIHBvd2VyLWRvbWFpbnMgPSA8JnNwbSBNVDgxODNfUE9XRVJfRE9N QUlOX0RJU1A+Owo+ICsgICAgICAgIGNsb2NrcyA9IDwmbW1zeXMgQ0xLX01NX0RJU1BfRElUSEVS MD47Cj4gKyAgICAgICAgbWVkaWF0ZWssZ2NlLWNsaWVudC1yZWcgPSA8JmdjZSBTVUJTWVNfMTQw MVhYWFggMHgyMDAwIDB4MTAwMD47Cj4gKyAgICB9Owo+IGRpZmYgLS1naXQgYS9Eb2N1bWVudGF0 aW9uL2RldmljZXRyZWUvYmluZGluZ3MvZGlzcGxheS9tZWRpYXRlay9tZWRpYXRlayxnYW1tYS55 YW1sIGIvRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2Rpc3BsYXkvbWVkaWF0ZWsv bWVkaWF0ZWssZ2FtbWEueWFtbAo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXggMDAwMDAw MDAwMDAwLi4xYzUzY2UyMGE3MWUKPiAtLS0gL2Rldi9udWxsCj4gKysrIGIvRG9jdW1lbnRhdGlv bi9kZXZpY2V0cmVlL2JpbmRpbmdzL2Rpc3BsYXkvbWVkaWF0ZWsvbWVkaWF0ZWssZ2FtbWEueWFt bAo+IEBAIC0wLDAgKzEsNzkgQEAKPiArIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogKEdQTC0y LjAtb25seSBPUiBCU0QtMi1DbGF1c2UpCj4gKyVZQU1MIDEuMgo+ICstLS0KPiArJGlkOiBodHRw Oi8vZGV2aWNldHJlZS5vcmcvc2NoZW1hcy9kaXNwbGF5L21lZGlhdGVrL21lZGlhdGVrLGdhbW1h LnlhbWwjCj4gKyRzY2hlbWE6IGh0dHA6Ly9kZXZpY2V0cmVlLm9yZy9tZXRhLXNjaGVtYXMvY29y ZS55YW1sIwo+ICsKPiArdGl0bGU6IE1lZGlhdGVrIGRpc3BsYXkgZ2FtbWEgY29ycmVjdGlvbgo+ ICsKPiArbWFpbnRhaW5lcnM6Cj4gKyAgLSBDaHVuLUt1YW5nIEh1IDxjaHVua3VhbmcuaHVAa2Vy bmVsLm9yZz4KPiArICAtIFBoaWxpcHAgWmFiZWwgPHAuemFiZWxAcGVuZ3V0cm9uaXguZGU+Cj4g Kwo+ICtkZXNjcmlwdGlvbjogfAo+ICsgIE1lZGlhdGVrIGRpc3BsYXkgZ2FtbWEgY29ycmVjdGlv biwgbmFtZWx5IEdBTU1BLCBwcm92aWRlcyBhIG5vbmxpbmVhcgo+ICsgIG9wZXJhdGlvbiB1c2Vk IHRvIGFkanVzdCBsdW1pbmFuY2UgaW4gZGlzcGxheSBzeXN0ZW0uCj4gKyAgR0FNTUEgZGV2aWNl IG5vZGUgbXVzdCBiZSBzaWJsaW5ncyB0byB0aGUgY2VudHJhbCBNTVNZU19DT05GSUcgbm9kZS4K PiArICBGb3IgYSBkZXNjcmlwdGlvbiBvZiB0aGUgTU1TWVNfQ09ORklHIGJpbmRpbmcsIHNlZQo+ ICsgIERvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9hcm0vbWVkaWF0ZWsvbWVkaWF0 ZWssbW1zeXMueWFtbAo+ICsgIGZvciBkZXRhaWxzLgo+ICsKPiArcHJvcGVydGllczoKPiArICBj b21wYXRpYmxlOgo+ICsgICAgb25lT2Y6Cj4gKyAgICAgIC0gaXRlbXM6Cj4gKyAgICAgICAgICAt IGNvbnN0OiBtZWRpYXRlayxtdDgxNzMtZGlzcC1nYW1tYQo+ICsgICAgICAtIGl0ZW1zOgo+ICsg ICAgICAgICAgLSBjb25zdDogbWVkaWF0ZWssbXQ4MTgzLWRpc3AtZ2FtbWEKPiArICAgICAgLSBp dGVtczoKPiArICAgICAgICAgIC0gZW51bToKPiArICAgICAgICAgICAgICAtIG1lZGlhdGVrLG10 ODE5Mi1kaXNwLWdhbW1hCj4gKyAgICAgICAgICAtIGVudW06Cj4gKyAgICAgICAgICAgICAgLSBt ZWRpYXRlayxtdDgxODMtZGlzcC1nYW1tYQo+ICsKPiArICByZWc6Cj4gKyAgICBtYXhJdGVtczog MQo+ICsKPiArICBpbnRlcnJ1cHRzOgo+ICsgICAgbWF4SXRlbXM6IDEKPiArCj4gKyAgcG93ZXIt ZG9tYWluczoKPiArICAgIGRlc2NyaXB0aW9uOiBBIHBoYW5kbGUgYW5kIFBNIGRvbWFpbiBzcGVj aWZpZXIgYXMgZGVmaW5lZCBieSBiaW5kaW5ncyBvZgo+ICsgICAgICB0aGUgcG93ZXIgY29udHJv bGxlciBzcGVjaWZpZWQgYnkgcGhhbmRsZS4gU2VlCj4gKyAgICAgIERvY3VtZW50YXRpb24vZGV2 aWNldHJlZS9iaW5kaW5ncy9wb3dlci9wb3dlci1kb21haW4ueWFtbCBmb3IgZGV0YWlscy4KPiAr Cj4gKyAgY2xvY2tzOgo+ICsgICAgaXRlbXM6Cj4gKyAgICAgIC0gZGVzY3JpcHRpb246IEdBTU1B IENsb2NrCj4gKwo+ICsgIG1lZGlhdGVrLGdjZS1jbGllbnQtcmVnOgo+ICsgICAgZGVzY3JpcHRp b246Cj4gKyAgICAgIFRoZSByZWdpc3RlciBvZiBjbGllbnQgZHJpdmVyIGNhbiBiZSBjb25maWd1 cmVkIGJ5IGdjZSB3aXRoIDQgYXJndW1lbnRzCj4gKyAgICAgIGRlZmluZWQgaW4gdGhpcyBwcm9w ZXJ0eSwgc3VjaCBhcyBwaGFuZGxlIG9mIGdjZSwgc3Vic3lzIGlkLAo+ICsgICAgICByZWdpc3Rl ciBvZmZzZXQgYW5kIHNpemUuCj4gKyAgICAgIEVhY2ggc3Vic3lzIGlkIGlzIG1hcHBpbmcgdG8g YSBiYXNlIGFkZHJlc3Mgb2YgZGlzcGxheSBmdW5jdGlvbiBibG9ja3MKPiArICAgICAgcmVnaXN0 ZXIgd2hpY2ggaXMgZGVmaW5lZCBpbiB0aGUgZ2NlIGhlYWRlcgo+ICsgICAgICBpbmNsdWRlL2R0 LWJpbmRpbmdzL2djZS88Y2hpcD4tZ2NlLmguCj4gKyAgICAkcmVmOiAvc2NoZW1hcy90eXBlcy55 YW1sIy9kZWZpbml0aW9ucy9waGFuZGxlLWFycmF5Cj4gKyAgICBtYXhJdGVtczogMQo+ICsKPiAr cmVxdWlyZWQ6Cj4gKyAgLSBjb21wYXRpYmxlCj4gKyAgLSByZWcKPiArICAtIGludGVycnVwdHMK PiArICAtIHBvd2VyLWRvbWFpbnMKPiArICAtIGNsb2Nrcwo+ICsKPiArYWRkaXRpb25hbFByb3Bl cnRpZXM6IGZhbHNlCj4gKwo+ICtleGFtcGxlczoKPiArICAtIHwKPiArCj4gKyAgICBnYW1tYUAx NDAxNjAwMCB7Cj4gKyAgICAgICAgY29tcGF0aWJsZSA9ICJtZWRpYXRlayxtdDgxNzMtZGlzcC1n YW1tYSI7Cj4gKyAgICAgICAgcmVnID0gPDAgMHgxNDAxNjAwMCAwIDB4MTAwMD47Cj4gKyAgICAg ICAgaW50ZXJydXB0cyA9IDxHSUNfU1BJIDE5MCBJUlFfVFlQRV9MRVZFTF9MT1c+Owo+ICsgICAg ICAgIHBvd2VyLWRvbWFpbnMgPSA8JnNjcHN5cyBNVDgxNzNfUE9XRVJfRE9NQUlOX01NPjsKPiAr ICAgICAgICBjbG9ja3MgPSA8Jm1tc3lzIENMS19NTV9ESVNQX0dBTU1BPjsKPiArICAgICAgICBt ZWRpYXRlayxnY2UtY2xpZW50LXJlZyA9IDwmZ2NlIFNVQlNZU18xNDAxWFhYWCAweDYwMDAgMHgx MDAwPjsKPiArICAgIH07Cj4gZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZGV2aWNldHJlZS9i aW5kaW5ncy9kaXNwbGF5L21lZGlhdGVrL21lZGlhdGVrLG1lcmdlLnlhbWwgYi9Eb2N1bWVudGF0 aW9uL2RldmljZXRyZWUvYmluZGluZ3MvZGlzcGxheS9tZWRpYXRlay9tZWRpYXRlayxtZXJnZS55 YW1sCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAwMDAwMDAuLjc1YmVlYjIw N2NlYgo+IC0tLSAvZGV2L251bGwKPiArKysgYi9Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmlu ZGluZ3MvZGlzcGxheS9tZWRpYXRlay9tZWRpYXRlayxtZXJnZS55YW1sCj4gQEAgLTAsMCArMSw2 OSBAQAo+ICsjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiAoR1BMLTIuMC1vbmx5IE9SIEJTRC0y LUNsYXVzZSkKPiArJVlBTUwgMS4yCj4gKy0tLQo+ICskaWQ6IGh0dHA6Ly9kZXZpY2V0cmVlLm9y Zy9zY2hlbWFzL2Rpc3BsYXkvbWVkaWF0ZWsvbWVkaWF0ZWssbWVyZ2UueWFtbCMKPiArJHNjaGVt YTogaHR0cDovL2RldmljZXRyZWUub3JnL21ldGEtc2NoZW1hcy9jb3JlLnlhbWwjCj4gKwo+ICt0 aXRsZTogTWVkaWF0ZWsgZGlzcGxheSBtZXJnZQo+ICsKPiArbWFpbnRhaW5lcnM6Cj4gKyAgLSBD aHVuLUt1YW5nIEh1IDxjaHVua3VhbmcuaHVAa2VybmVsLm9yZz4KPiArICAtIFBoaWxpcHAgWmFi ZWwgPHAuemFiZWxAcGVuZ3V0cm9uaXguZGU+Cj4gKwo+ICtkZXNjcmlwdGlvbjogfAo+ICsgIE1l ZGlhdGVrIGRpc3BsYXkgbWVyZ2UsIG5hbWVseSBNRVJHRSwgaXMgdXNlZCB0byBtZXJnZSB0d28g c2xpY2UtcGVyLWxpbmUKPiArICBpbnB1dHMgaW50byBvbmUgc2lkZS1ieS1zaWRlIG91dHB1dC4K PiArICBNRVJHRSBkZXZpY2Ugbm9kZSBtdXN0IGJlIHNpYmxpbmdzIHRvIHRoZSBjZW50cmFsIE1N U1lTX0NPTkZJRyBub2RlLgo+ICsgIEZvciBhIGRlc2NyaXB0aW9uIG9mIHRoZSBNTVNZU19DT05G SUcgYmluZGluZywgc2VlCj4gKyAgRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2Fy bS9tZWRpYXRlay9tZWRpYXRlayxtbXN5cy55YW1sCj4gKyAgZm9yIGRldGFpbHMuCj4gKwo+ICtw cm9wZXJ0aWVzOgo+ICsgIGNvbXBhdGlibGU6Cj4gKyAgICBvbmVPZjoKPiArICAgICAgLSBpdGVt czoKPiArICAgICAgICAgIC0gY29uc3Q6IG1lZGlhdGVrLG10ODE3My1kaXNwLW1lcmdlCj4gKwo+ ICsgIHJlZzoKPiArICAgIG1heEl0ZW1zOiAxCj4gKwo+ICsgIGludGVycnVwdHM6Cj4gKyAgICBt YXhJdGVtczogMQo+ICsKPiArICBwb3dlci1kb21haW5zOgo+ICsgICAgZGVzY3JpcHRpb246IEEg cGhhbmRsZSBhbmQgUE0gZG9tYWluIHNwZWNpZmllciBhcyBkZWZpbmVkIGJ5IGJpbmRpbmdzIG9m Cj4gKyAgICAgIHRoZSBwb3dlciBjb250cm9sbGVyIHNwZWNpZmllZCBieSBwaGFuZGxlLiBTZWUK PiArICAgICAgRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3Bvd2VyL3Bvd2VyLWRv bWFpbi55YW1sIGZvciBkZXRhaWxzLgo+ICsKPiArICBjbG9ja3M6Cj4gKyAgICBpdGVtczoKPiAr ICAgICAgLSBkZXNjcmlwdGlvbjogTUVSR0UgQ2xvY2sKPiArCj4gKyAgbWVkaWF0ZWssZ2NlLWNs aWVudC1yZWc6Cj4gKyAgICBkZXNjcmlwdGlvbjoKPiArICAgICAgVGhlIHJlZ2lzdGVyIG9mIGNs aWVudCBkcml2ZXIgY2FuIGJlIGNvbmZpZ3VyZWQgYnkgZ2NlIHdpdGggNCBhcmd1bWVudHMKPiAr ICAgICAgZGVmaW5lZCBpbiB0aGlzIHByb3BlcnR5LCBzdWNoIGFzIHBoYW5kbGUgb2YgZ2NlLCBz dWJzeXMgaWQsCj4gKyAgICAgIHJlZ2lzdGVyIG9mZnNldCBhbmQgc2l6ZS4KPiArICAgICAgRWFj aCBzdWJzeXMgaWQgaXMgbWFwcGluZyB0byBhIGJhc2UgYWRkcmVzcyBvZiBkaXNwbGF5IGZ1bmN0 aW9uIGJsb2Nrcwo+ICsgICAgICByZWdpc3RlciB3aGljaCBpcyBkZWZpbmVkIGluIHRoZSBnY2Ug aGVhZGVyCj4gKyAgICAgIGluY2x1ZGUvZHQtYmluZGluZ3MvZ2NlLzxjaGlwPi1nY2UuaC4KPiAr ICAgICRyZWY6IC9zY2hlbWFzL3R5cGVzLnlhbWwjL2RlZmluaXRpb25zL3BoYW5kbGUtYXJyYXkK PiArICAgIG1heEl0ZW1zOiAxCj4gKwo+ICtyZXF1aXJlZDoKPiArICAtIGNvbXBhdGlibGUKPiAr ICAtIHJlZwo+ICsgIC0gcG93ZXItZG9tYWlucwo+ICsgIC0gY2xvY2tzCj4gKwo+ICthZGRpdGlv bmFsUHJvcGVydGllczogZmFsc2UKPiArCj4gK2V4YW1wbGVzOgo+ICsgIC0gfAo+ICsKPiArICAg IG1lcmdlQDE0MDE3MDAwIHsKPiArICAgICAgICBjb21wYXRpYmxlID0gIm1lZGlhdGVrLG10ODE3 My1kaXNwLW1lcmdlIjsKPiArICAgICAgICByZWcgPSA8MCAweDE0MDE3MDAwIDAgMHgxMDAwPjsK PiArICAgICAgICBwb3dlci1kb21haW5zID0gPCZzcG0gTVQ4MTczX1BPV0VSX0RPTUFJTl9NTT47 Cj4gKyAgICAgICAgY2xvY2tzID0gPCZtbXN5cyBDTEtfTU1fRElTUF9NRVJHRT47Cj4gKyAgICB9 Owo+IGRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvZGlzcGxh eS9tZWRpYXRlay9tZWRpYXRlayxtdXRleC55YW1sIGIvRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVl L2JpbmRpbmdzL2Rpc3BsYXkvbWVkaWF0ZWsvbWVkaWF0ZWssbXV0ZXgueWFtbAo+IG5ldyBmaWxl IG1vZGUgMTAwNjQ0Cj4gaW5kZXggMDAwMDAwMDAwMDAwLi45MGYxMWUxMmE1NWUKPiAtLS0gL2Rl di9udWxsCj4gKysrIGIvRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2Rpc3BsYXkv bWVkaWF0ZWsvbWVkaWF0ZWssbXV0ZXgueWFtbAo+IEBAIC0wLDAgKzEsODIgQEAKPiArIyBTUERY LUxpY2Vuc2UtSWRlbnRpZmllcjogKEdQTC0yLjAtb25seSBPUiBCU0QtMi1DbGF1c2UpCj4gKyVZ QU1MIDEuMgo+ICstLS0KPiArJGlkOiBodHRwOi8vZGV2aWNldHJlZS5vcmcvc2NoZW1hcy9kaXNw bGF5L21lZGlhdGVrL21lZGlhdGVrLG11dGV4LnlhbWwjCj4gKyRzY2hlbWE6IGh0dHA6Ly9kZXZp Y2V0cmVlLm9yZy9tZXRhLXNjaGVtYXMvY29yZS55YW1sIwo+ICsKPiArdGl0bGU6IE1lZGlhdGVr IGRpc3BsYXkgbXV0ZXgKPiArCj4gK21haW50YWluZXJzOgo+ICsgIC0gQ2h1bi1LdWFuZyBIdSA8 Y2h1bmt1YW5nLmh1QGtlcm5lbC5vcmc+Cj4gKyAgLSBQaGlsaXBwIFphYmVsIDxwLnphYmVsQHBl bmd1dHJvbml4LmRlPgo+ICsKPiArZGVzY3JpcHRpb246IHwKPiArICBNZWRpYXRlayBtdXRleCwg bmFtZWx5IE1VVEVYLCBpcyB1c2VkIHRvIHNlbmQgdGhlIHRyaWdnZXJzIHNpZ25hbHMgY2FsbGVk Cj4gKyAgU3RhcnQgT2YgRnJhbWUgKFNPRikgLyBFbmQgT2YgRnJhbWUgKEVPRikgdG8gZWFjaCBz dWItbW9kdWxlcyBvbiB0aGUgZGlzcGxheQo+ICsgIGRhdGEgcGF0aCBvciBNRFAgZGF0YSBwYXRo Lgo+ICsgIEluIHNvbWUgU29DLCBzdWNoIGFzIG10MjcwMSwgTVVURVggY291bGQgYmUgYSBoYXJk d2FyZSBtdXRleCB3aGljaCBwcm90ZWN0cwo+ICsgIHRoZSBzaGFkb3cgcmVnaXN0ZXIuCj4gKyAg TVVURVggZGV2aWNlIG5vZGUgbXVzdCBiZSBzaWJsaW5ncyB0byB0aGUgY2VudHJhbCBNTVNZU19D T05GSUcgbm9kZS4KPiArICBGb3IgYSBkZXNjcmlwdGlvbiBvZiB0aGUgTU1TWVNfQ09ORklHIGJp bmRpbmcsIHNlZQo+ICsgIERvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9hcm0vbWVk aWF0ZWsvbWVkaWF0ZWssbW1zeXMueWFtbAo+ICsgIGZvciBkZXRhaWxzLgo+ICsKPiArcHJvcGVy dGllczoKPiArICBjb21wYXRpYmxlOgo+ICsgICAgb25lT2Y6Cj4gKyAgICAgIC0gaXRlbXM6Cj4g KyAgICAgICAgICAtIGNvbnN0OiBtZWRpYXRlayxtdDI3MDEtZGlzcC1tdXRleAo+ICsgICAgICAt IGl0ZW1zOgo+ICsgICAgICAgICAgLSBjb25zdDogbWVkaWF0ZWssbXQyNzEyLWRpc3AtbXV0ZXgK PiArICAgICAgLSBpdGVtczoKPiArICAgICAgICAgIC0gY29uc3Q6IG1lZGlhdGVrLG10ODE2Ny1k aXNwLW11dGV4Cj4gKyAgICAgIC0gaXRlbXM6Cj4gKyAgICAgICAgICAtIGNvbnN0OiBtZWRpYXRl ayxtdDgxNzMtZGlzcC1tdXRleAo+ICsgICAgICAtIGl0ZW1zOgo+ICsgICAgICAgICAgLSBjb25z dDogbWVkaWF0ZWssbXQ4MTgzLWRpc3AtbXV0ZXgKPiArICAgICAgLSBpdGVtczoKPiArICAgICAg ICAgIC0gY29uc3Q6IG1lZGlhdGVrLG10ODE5Mi1kaXNwLW11dGV4Cj4gKwo+ICsgIHJlZzoKPiAr ICAgIG1heEl0ZW1zOiAxCj4gKwo+ICsgIGludGVycnVwdHM6Cj4gKyAgICBtYXhJdGVtczogMQo+ ICsKPiArICBwb3dlci1kb21haW5zOgo+ICsgICAgZGVzY3JpcHRpb246IEEgcGhhbmRsZSBhbmQg UE0gZG9tYWluIHNwZWNpZmllciBhcyBkZWZpbmVkIGJ5IGJpbmRpbmdzIG9mCj4gKyAgICAgIHRo ZSBwb3dlciBjb250cm9sbGVyIHNwZWNpZmllZCBieSBwaGFuZGxlLiBTZWUKPiArICAgICAgRG9j dW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3Bvd2VyL3Bvd2VyLWRvbWFpbi55YW1sIGZv ciBkZXRhaWxzLgo+ICsKPiArICBjbG9ja3M6Cj4gKyAgICBpdGVtczoKPiArICAgICAgLSBkZXNj cmlwdGlvbjogTVVURVggQ2xvY2sKPiArCj4gKyAgbWVkaWF0ZWssZ2NlLWV2ZW50czoKPiArICAg IGRlc2NyaXB0aW9uOgo+ICsgICAgICBUaGUgZXZlbnQgaWQgd2hpY2ggaXMgbWFwcGluZyB0byB0 aGUgc3BlY2lmaWMgaGFyZHdhcmUgZXZlbnQgc2lnbmFsCj4gKyAgICAgIHRvIGdjZS4gVGhlIGV2 ZW50IGlkIGlzIGRlZmluZWQgaW4gdGhlIGdjZSBoZWFkZXIKPiArICAgICAgaW5jbHVkZS9kdC1i aW5kaW5ncy9nY2UvPGNoaXA+LWdjZS5oIG9mIGVhY2ggY2hpcHMuCj4gKyAgICAkcmVmOiAvc2No ZW1hcy90eXBlcy55YW1sIy9kZWZpbml0aW9ucy9waGFuZGxlLWFycmF5Cj4gKwo+ICtyZXF1aXJl ZDoKPiArICAtIGNvbXBhdGlibGUKPiArICAtIHJlZwo+ICsgIC0gaW50ZXJydXB0cwo+ICsgIC0g cG93ZXItZG9tYWlucwo+ICsgIC0gY2xvY2tzCj4gKwo+ICthZGRpdGlvbmFsUHJvcGVydGllczog ZmFsc2UKPiArCj4gK2V4YW1wbGVzOgo+ICsgIC0gfAo+ICsKPiArICAgIG11dGV4OiBtdXRleEAx NDAyMDAwMCB7Cj4gKyAgICAgICAgY29tcGF0aWJsZSA9ICJtZWRpYXRlayxtdDgxNzMtZGlzcC1t dXRleCI7Cj4gKyAgICAgICAgcmVnID0gPDAgMHgxNDAyMDAwMCAwIDB4MTAwMD47Cj4gKyAgICAg ICAgaW50ZXJydXB0cyA9IDxHSUNfU1BJIDE2OSBJUlFfVFlQRV9MRVZFTF9MT1c+Owo+ICsgICAg ICAgIHBvd2VyLWRvbWFpbnMgPSA8JnNwbSBNVDgxNzNfUE9XRVJfRE9NQUlOX01NPjsKPiArICAg ICAgICBjbG9ja3MgPSA8Jm1tc3lzIENMS19NTV9NVVRFWF8zMks+Owo+ICsgICAgICAgIG1lZGlh dGVrLGdjZS1ldmVudHMgPSA8Q01EUV9FVkVOVF9NVVRFWDBfU1RSRUFNX0VPRj4sCj4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIDxDTURRX0VWRU5UX01VVEVYMV9TVFJFQU1fRU9GPjsK PiArICAgIH07Cj4gZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5n cy9kaXNwbGF5L21lZGlhdGVrL21lZGlhdGVrLG9kLnlhbWwgYi9Eb2N1bWVudGF0aW9uL2Rldmlj ZXRyZWUvYmluZGluZ3MvZGlzcGxheS9tZWRpYXRlay9tZWRpYXRlayxvZC55YW1sCj4gbmV3IGZp bGUgbW9kZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAwMDAwMDAuLjc1MTlkYjMxNTIxNwo+IC0tLSAv ZGV2L251bGwKPiArKysgYi9Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvZGlzcGxh eS9tZWRpYXRlay9tZWRpYXRlayxvZC55YW1sCj4gQEAgLTAsMCArMSw1MyBAQAo+ICsjIFNQRFgt TGljZW5zZS1JZGVudGlmaWVyOiAoR1BMLTIuMC1vbmx5IE9SIEJTRC0yLUNsYXVzZSkKPiArJVlB TUwgMS4yCj4gKy0tLQo+ICskaWQ6IGh0dHA6Ly9kZXZpY2V0cmVlLm9yZy9zY2hlbWFzL2Rpc3Bs YXkvbWVkaWF0ZWsvbWVkaWF0ZWssb2QueWFtbCMKPiArJHNjaGVtYTogaHR0cDovL2RldmljZXRy ZWUub3JnL21ldGEtc2NoZW1hcy9jb3JlLnlhbWwjCj4gKwo+ICt0aXRsZTogTWVkaWF0ZWsgZGlz cGxheSBvdmVyZGlydmUKPiArCj4gK21haW50YWluZXJzOgo+ICsgIC0gQ2h1bi1LdWFuZyBIdSA8 Y2h1bmt1YW5nLmh1QGtlcm5lbC5vcmc+Cj4gKyAgLSBQaGlsaXBwIFphYmVsIDxwLnphYmVsQHBl bmd1dHJvbml4LmRlPgo+ICsKPiArZGVzY3JpcHRpb246IHwKPiArICBNZWRpYXRlayBkaXNwbGF5 IG92ZXJkcml2ZSwgbmFtZWx5IE9ELCBpbmNyZWFzZXMgdGhlIHRyYW5zaXRpb24gdmFsdWVzCj4g KyAgb2YgcGl4ZWxzIGJldHdlZW4gY29uc2VjdXRpdmUgZnJhbWVzIHRvIG1ha2UgTENEIHJvdGF0 ZSBmYXN0ZXIuCj4gKyAgT0QgZGV2aWNlIG5vZGUgbXVzdCBiZSBzaWJsaW5ncyB0byB0aGUgY2Vu dHJhbCBNTVNZU19DT05GSUcgbm9kZS4KPiArICBGb3IgYSBkZXNjcmlwdGlvbiBvZiB0aGUgTU1T WVNfQ09ORklHIGJpbmRpbmcsIHNlZQo+ICsgIERvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5k aW5ncy9hcm0vbWVkaWF0ZWsvbWVkaWF0ZWssbW1zeXMueWFtbAo+ICsgIGZvciBkZXRhaWxzLgo+ ICsKPiArcHJvcGVydGllczoKPiArICBjb21wYXRpYmxlOgo+ICsgICAgb25lT2Y6Cj4gKyAgICAg IC0gaXRlbXM6Cj4gKyAgICAgICAgICAtIGNvbnN0OiBtZWRpYXRlayxtdDI3MTItZGlzcC1vZAo+ ICsgICAgICAtIGl0ZW1zOgo+ICsgICAgICAgICAgLSBjb25zdDogbWVkaWF0ZWssbXQ4MTczLWRp c3Atb2QKPiArCj4gKyAgcmVnOgo+ICsgICAgbWF4SXRlbXM6IDEKPiArCj4gKyAgaW50ZXJydXB0 czoKPiArICAgIG1heEl0ZW1zOiAxCj4gKwo+ICsgIGNsb2NrczoKPiArICAgIGl0ZW1zOgo+ICsg ICAgICAtIGRlc2NyaXB0aW9uOiBPRCBDbG9jawo+ICsKPiArcmVxdWlyZWQ6Cj4gKyAgLSBjb21w YXRpYmxlCj4gKyAgLSByZWcKPiArICAtIGNsb2Nrcwo+ICsKPiArYWRkaXRpb25hbFByb3BlcnRp ZXM6IGZhbHNlCj4gKwo+ICtleGFtcGxlczoKPiArICAtIHwKPiArCj4gKyAgICBvZEAxNDAyMzAw MCB7Cj4gKyAgICAgICAgY29tcGF0aWJsZSA9ICJtZWRpYXRlayxtdDgxNzMtZGlzcC1vZCI7Cj4g KyAgICAgICAgcmVnID0gPDAgMHgxNDAyMzAwMCAwIDB4MTAwMD47Cj4gKyAgICAgICAgY2xvY2tz ID0gPCZtbXN5cyBDTEtfTU1fRElTUF9PRD47Cj4gKyAgICB9Owo+IGRpZmYgLS1naXQgYS9Eb2N1 bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvZGlzcGxheS9tZWRpYXRlay9tZWRpYXRlayxv dmwtMmwueWFtbCBiL0RvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9kaXNwbGF5L21l ZGlhdGVrL21lZGlhdGVrLG92bC0ybC55YW1sCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRl eCAwMDAwMDAwMDAwMDAuLmExMGM2Y2U5MmRhZAo+IC0tLSAvZGV2L251bGwKPiArKysgYi9Eb2N1 bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvZGlzcGxheS9tZWRpYXRlay9tZWRpYXRlayxv dmwtMmwueWFtbAo+IEBAIC0wLDAgKzEsOTEgQEAKPiArIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmll cjogKEdQTC0yLjAtb25seSBPUiBCU0QtMi1DbGF1c2UpCj4gKyVZQU1MIDEuMgo+ICstLS0KPiAr JGlkOiBodHRwOi8vZGV2aWNldHJlZS5vcmcvc2NoZW1hcy9kaXNwbGF5L21lZGlhdGVrL21lZGlh dGVrLG92bC0ybC55YW1sIwo+ICskc2NoZW1hOiBodHRwOi8vZGV2aWNldHJlZS5vcmcvbWV0YS1z Y2hlbWFzL2NvcmUueWFtbCMKPiArCj4gK3RpdGxlOiBNZWRpYXRlayBkaXNwbGF5IG92ZXJsYXkg MiBsYXllcgo+ICsKPiArbWFpbnRhaW5lcnM6Cj4gKyAgLSBDaHVuLUt1YW5nIEh1IDxjaHVua3Vh bmcuaHVAa2VybmVsLm9yZz4KPiArICAtIFBoaWxpcHAgWmFiZWwgPHAuemFiZWxAcGVuZ3V0cm9u aXguZGU+Cj4gKwo+ICtkZXNjcmlwdGlvbjogfAo+ICsgIE1lZGlhdGVrIGRpc3BsYXkgb3Zlcmxh eSAyIGxheWVyLCBuYW1lbHkgT1ZMLTJMLCBwcm92aWRlcyAyIG1vcmUgbGF5ZXIKPiArICBmb3Ig T1ZMLgo+ICsgIE9WTC0yTCBkZXZpY2Ugbm9kZSBtdXN0IGJlIHNpYmxpbmdzIHRvIHRoZSBjZW50 cmFsIE1NU1lTX0NPTkZJRyBub2RlLgo+ICsgIEZvciBhIGRlc2NyaXB0aW9uIG9mIHRoZSBNTVNZ U19DT05GSUcgYmluZGluZywgc2VlCj4gKyAgRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRp bmdzL2FybS9tZWRpYXRlay9tZWRpYXRlayxtbXN5cy55YW1sCj4gKyAgZm9yIGRldGFpbHMuCj4g Kwo+ICtwcm9wZXJ0aWVzOgo+ICsgIGNvbXBhdGlibGU6Cj4gKyAgICBvbmVPZjoKPiArICAgICAg LSBpdGVtczoKPiArICAgICAgICAgIC0gY29uc3Q6IG1lZGlhdGVrLG10ODE4My1kaXNwLW92bC0y bAo+ICsgICAgICAtIGl0ZW1zOgo+ICsgICAgICAgICAgLSBjb25zdDogbWVkaWF0ZWssbXQ4MTky LWRpc3Atb3ZsLTJsCj4gKwo+ICsgIHJlZzoKPiArICAgIG1heEl0ZW1zOiAxCj4gKwo+ICsgIGlu dGVycnVwdHM6Cj4gKyAgICBtYXhJdGVtczogMQo+ICsKPiArICBwb3dlci1kb21haW5zOgo+ICsg ICAgZGVzY3JpcHRpb246IEEgcGhhbmRsZSBhbmQgUE0gZG9tYWluIHNwZWNpZmllciBhcyBkZWZp bmVkIGJ5IGJpbmRpbmdzIG9mCj4gKyAgICAgIHRoZSBwb3dlciBjb250cm9sbGVyIHNwZWNpZmll ZCBieSBwaGFuZGxlLiBTZWUKPiArICAgICAgRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRp bmdzL3Bvd2VyL3Bvd2VyLWRvbWFpbi55YW1sIGZvciBkZXRhaWxzLgo+ICsKPiArICBjbG9ja3M6 Cj4gKyAgICBpdGVtczoKPiArICAgICAgLSBkZXNjcmlwdGlvbjogT1ZMLTJMIENsb2NrCj4gKwo+ ICsgIGlvbW11czoKPiArICAgIGRlc2NyaXB0aW9uOgo+ICsgICAgICBUaGlzIHByb3BlcnR5IHNo b3VsZCBwb2ludCB0byB0aGUgcmVzcGVjdGl2ZSBJT01NVSBibG9jayB3aXRoIG1hc3RlciBwb3J0 IGFzIGFyZ3VtZW50LAo+ICsgICAgICBzZWUgRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRp bmdzL2lvbW11L21lZGlhdGVrLGlvbW11LnlhbWwgZm9yIGRldGFpbHMuCj4gKwo+ICsgIG1lZGlh dGVrLGxhcmI6Cj4gKyAgICBkZXNjcmlwdGlvbjoKPiArICAgICAgVGhpcyBwcm9wZXJ0eSBzaG91 bGQgY29udGFpbiBhIHBoYW5kbGUgcG9pbnRpbmcgdG8gdGhlIGxvY2FsIGFyYml0ZXIgZGV2aWNl cyBkZWZpbmVkIGluCj4gKyAgICAgIERvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9t ZW1vcnktY29udHJvbGxlcnMvbWVkaWF0ZWssc21pLWxhcmIueWFtbC4KPiArICAgICAgSXQgbXVz dCBzb3J0IGFjY29yZGluZyB0byB0aGUgbG9jYWwgYXJiaXRlciBpbmRleCwgbGlrZSBsYXJiMCwg bGFyYjEsIGxhcmIyLi4uCj4gKyAgICAkcmVmOiAvc2NoZW1hcy90eXBlcy55YW1sIy9kZWZpbml0 aW9ucy9waGFuZGxlLWFycmF5Cj4gKyAgICBtaW5JdGVtczogMQo+ICsgICAgbWF4SXRlbXM6IDMy Cj4gKwo+ICsgIG1lZGlhdGVrLGdjZS1jbGllbnQtcmVnOgo+ICsgICAgZGVzY3JpcHRpb246Cj4g KyAgICAgIFRoZSByZWdpc3RlciBvZiBjbGllbnQgZHJpdmVyIGNhbiBiZSBjb25maWd1cmVkIGJ5 IGdjZSB3aXRoIDQgYXJndW1lbnRzCj4gKyAgICAgIGRlZmluZWQgaW4gdGhpcyBwcm9wZXJ0eSwg c3VjaCBhcyBwaGFuZGxlIG9mIGdjZSwgc3Vic3lzIGlkLAo+ICsgICAgICByZWdpc3RlciBvZmZz ZXQgYW5kIHNpemUuCj4gKyAgICAgIEVhY2ggc3Vic3lzIGlkIGlzIG1hcHBpbmcgdG8gYSBiYXNl IGFkZHJlc3Mgb2YgZGlzcGxheSBmdW5jdGlvbiBibG9ja3MKPiArICAgICAgcmVnaXN0ZXIgd2hp Y2ggaXMgZGVmaW5lZCBpbiB0aGUgZ2NlIGhlYWRlcgo+ICsgICAgICBpbmNsdWRlL2R0LWJpbmRp bmdzL2djZS88Y2hpcD4tZ2NlLmguCj4gKyAgICAkcmVmOiAvc2NoZW1hcy90eXBlcy55YW1sIy9k ZWZpbml0aW9ucy9waGFuZGxlLWFycmF5Cj4gKyAgICBtYXhJdGVtczogMQo+ICsKPiArcmVxdWly ZWQ6Cj4gKyAgLSBjb21wYXRpYmxlCj4gKyAgLSByZWcKPiArICAtIGludGVycnVwdHMKPiArICAt IHBvd2VyLWRvbWFpbnMKPiArICAtIGNsb2Nrcwo+ICsgIC0gaW9tbXVzCj4gKwo+ICthZGRpdGlv bmFsUHJvcGVydGllczogZmFsc2UKPiArCj4gK2V4YW1wbGVzOgo+ICsgIC0gfAo+ICsKPiArICAg IG92bF8ybDA6IG92bEAxNDAwOTAwMCB7Cj4gKyAgICAgICAgY29tcGF0aWJsZSA9ICJtZWRpYXRl ayxtdDgxODMtZGlzcC1vdmwtMmwiOwo+ICsgICAgICAgIHJlZyA9IDwwIDB4MTQwMDkwMDAgMCAw eDEwMDA+Owo+ICsgICAgICAgIGludGVycnVwdHMgPSA8R0lDX1NQSSAyMjYgSVJRX1RZUEVfTEVW RUxfTE9XPjsKPiArICAgICAgICBwb3dlci1kb21haW5zID0gPCZzcG0gTVQ4MTgzX1BPV0VSX0RP TUFJTl9ESVNQPjsKPiArICAgICAgICBjbG9ja3MgPSA8Jm1tc3lzIENMS19NTV9ESVNQX09WTDBf Mkw+Owo+ICsgICAgICAgIGlvbW11cyA9IDwmaW9tbXUgTTRVX1BPUlRfRElTUF8yTF9PVkwwX0xB UkIwPjsKPiArICAgICAgICBtZWRpYXRlayxsYXJiID0gPCZsYXJiMD47Cj4gKyAgICAgICAgbWVk aWF0ZWssZ2NlLWNsaWVudC1yZWcgPSA8JmdjZSBTVUJTWVNfMTQwMFhYWFggMHg5MDAwIDB4MTAw MD47Cj4gKyAgICB9Owo+IGRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmlu ZGluZ3MvZGlzcGxheS9tZWRpYXRlay9tZWRpYXRlayxvdmwueWFtbCBiL0RvY3VtZW50YXRpb24v ZGV2aWNldHJlZS9iaW5kaW5ncy9kaXNwbGF5L21lZGlhdGVrL21lZGlhdGVrLG92bC55YW1sCj4g bmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAwMDAwMDAuLjUwNTUyNDI4MTUwZgo+ IC0tLSAvZGV2L251bGwKPiArKysgYi9Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3Mv ZGlzcGxheS9tZWRpYXRlay9tZWRpYXRlayxvdmwueWFtbAo+IEBAIC0wLDAgKzEsMTAxIEBACj4g KyMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IChHUEwtMi4wLW9ubHkgT1IgQlNELTItQ2xhdXNl KQo+ICslWUFNTCAxLjIKPiArLS0tCj4gKyRpZDogaHR0cDovL2RldmljZXRyZWUub3JnL3NjaGVt YXMvZGlzcGxheS9tZWRpYXRlay9tZWRpYXRlayxvdmwueWFtbCMKPiArJHNjaGVtYTogaHR0cDov L2RldmljZXRyZWUub3JnL21ldGEtc2NoZW1hcy9jb3JlLnlhbWwjCj4gKwo+ICt0aXRsZTogTWVk aWF0ZWsgZGlzcGxheSBvdmVybGF5Cj4gKwo+ICttYWludGFpbmVyczoKPiArICAtIENodW4tS3Vh bmcgSHUgPGNodW5rdWFuZy5odUBrZXJuZWwub3JnPgo+ICsgIC0gUGhpbGlwcCBaYWJlbCA8cC56 YWJlbEBwZW5ndXRyb25peC5kZT4KPiArCj4gK2Rlc2NyaXB0aW9uOiB8Cj4gKyAgTWVkaWF0ZWsg ZGlzcGxheSBvdmVybGF5LCBuYW1lbHkgT1ZMLCBjYW4gZG8gYWxwaGEgYmxlbmRpbmcgZnJvbQo+ ICsgIHRoZSBtZW1vcnkuCj4gKyAgT1ZMIGRldmljZSBub2RlIG11c3QgYmUgc2libGluZ3MgdG8g dGhlIGNlbnRyYWwgTU1TWVNfQ09ORklHIG5vZGUuCj4gKyAgRm9yIGEgZGVzY3JpcHRpb24gb2Yg dGhlIE1NU1lTX0NPTkZJRyBiaW5kaW5nLCBzZWUKPiArICBEb2N1bWVudGF0aW9uL2RldmljZXRy ZWUvYmluZGluZ3MvYXJtL21lZGlhdGVrL21lZGlhdGVrLG1tc3lzLnlhbWwKPiArICBmb3IgZGV0 YWlscy4KPiArCj4gK3Byb3BlcnRpZXM6Cj4gKyAgY29tcGF0aWJsZToKPiArICAgIG9uZU9mOgo+ ICsgICAgICAtIGl0ZW1zOgo+ICsgICAgICAgICAgLSBjb25zdDogbWVkaWF0ZWssbXQyNzAxLWRp c3Atb3ZsCj4gKyAgICAgIC0gaXRlbXM6Cj4gKyAgICAgICAgICAtIGNvbnN0OiBtZWRpYXRlayxt dDgxNzMtZGlzcC1vdmwKPiArICAgICAgLSBpdGVtczoKPiArICAgICAgICAgIC0gY29uc3Q6IG1l ZGlhdGVrLG10ODE4My1kaXNwLW92bAo+ICsgICAgICAtIGl0ZW1zOgo+ICsgICAgICAgICAgLSBj b25zdDogbWVkaWF0ZWssbXQ4MTkyLWRpc3Atb3ZsCj4gKyAgICAgIC0gaXRlbXM6Cj4gKyAgICAg ICAgICAtIGVudW06Cj4gKyAgICAgICAgICAgICAgLSBtZWRpYXRlayxtdDc2MjMtZGlzcC1vdmwK PiArICAgICAgICAgICAgICAtIG1lZGlhdGVrLG10MjcxMi1kaXNwLW92bAo+ICsgICAgICAgICAg LSBlbnVtOgo+ICsgICAgICAgICAgICAgIC0gbWVkaWF0ZWssbXQyNzAxLWRpc3Atb3ZsCj4gKwo+ ICsgIHJlZzoKPiArICAgIG1heEl0ZW1zOiAxCj4gKwo+ICsgIGludGVycnVwdHM6Cj4gKyAgICBt YXhJdGVtczogMQo+ICsKPiArICBwb3dlci1kb21haW5zOgo+ICsgICAgZGVzY3JpcHRpb246IEEg cGhhbmRsZSBhbmQgUE0gZG9tYWluIHNwZWNpZmllciBhcyBkZWZpbmVkIGJ5IGJpbmRpbmdzIG9m Cj4gKyAgICAgIHRoZSBwb3dlciBjb250cm9sbGVyIHNwZWNpZmllZCBieSBwaGFuZGxlLiBTZWUK PiArICAgICAgRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3Bvd2VyL3Bvd2VyLWRv bWFpbi55YW1sIGZvciBkZXRhaWxzLgo+ICsKPiArICBjbG9ja3M6Cj4gKyAgICBpdGVtczoKPiAr ICAgICAgLSBkZXNjcmlwdGlvbjogT1ZMIENsb2NrCj4gKwo+ICsgIGlvbW11czoKPiArICAgIGRl c2NyaXB0aW9uOgo+ICsgICAgICBUaGlzIHByb3BlcnR5IHNob3VsZCBwb2ludCB0byB0aGUgcmVz cGVjdGl2ZSBJT01NVSBibG9jayB3aXRoIG1hc3RlciBwb3J0IGFzIGFyZ3VtZW50LAo+ICsgICAg ICBzZWUgRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2lvbW11L21lZGlhdGVrLGlv bW11LnlhbWwgZm9yIGRldGFpbHMuCj4gKwo+ICsgIG1lZGlhdGVrLGxhcmI6Cj4gKyAgICBkZXNj cmlwdGlvbjoKPiArICAgICAgVGhpcyBwcm9wZXJ0eSBzaG91bGQgY29udGFpbiBhIHBoYW5kbGUg cG9pbnRpbmcgdG8gdGhlIGxvY2FsIGFyYml0ZXIgZGV2aWNlcyBkZWZpbmVkIGluCj4gKyAgICAg IERvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9tZW1vcnktY29udHJvbGxlcnMvbWVk aWF0ZWssc21pLWxhcmIueWFtbC4KPiArICAgICAgSXQgbXVzdCBzb3J0IGFjY29yZGluZyB0byB0 aGUgbG9jYWwgYXJiaXRlciBpbmRleCwgbGlrZSBsYXJiMCwgbGFyYjEsIGxhcmIyLi4uCj4gKyAg ICAkcmVmOiAvc2NoZW1hcy90eXBlcy55YW1sIy9kZWZpbml0aW9ucy9waGFuZGxlLWFycmF5Cj4g KyAgICBtaW5JdGVtczogMQo+ICsgICAgbWF4SXRlbXM6IDMyCj4gKwo+ICsgIG1lZGlhdGVrLGdj ZS1jbGllbnQtcmVnOgo+ICsgICAgZGVzY3JpcHRpb246Cj4gKyAgICAgIFRoZSByZWdpc3RlciBv ZiBjbGllbnQgZHJpdmVyIGNhbiBiZSBjb25maWd1cmVkIGJ5IGdjZSB3aXRoIDQgYXJndW1lbnRz Cj4gKyAgICAgIGRlZmluZWQgaW4gdGhpcyBwcm9wZXJ0eSwgc3VjaCBhcyBwaGFuZGxlIG9mIGdj ZSwgc3Vic3lzIGlkLAo+ICsgICAgICByZWdpc3RlciBvZmZzZXQgYW5kIHNpemUuCj4gKyAgICAg IEVhY2ggc3Vic3lzIGlkIGlzIG1hcHBpbmcgdG8gYSBiYXNlIGFkZHJlc3Mgb2YgZGlzcGxheSBm dW5jdGlvbiBibG9ja3MKPiArICAgICAgcmVnaXN0ZXIgd2hpY2ggaXMgZGVmaW5lZCBpbiB0aGUg Z2NlIGhlYWRlcgo+ICsgICAgICBpbmNsdWRlL2R0LWJpbmRpbmdzL2djZS88Y2hpcD4tZ2NlLmgu Cj4gKyAgICAkcmVmOiAvc2NoZW1hcy90eXBlcy55YW1sIy9kZWZpbml0aW9ucy9waGFuZGxlLWFy cmF5Cj4gKyAgICBtYXhJdGVtczogMQo+ICsKPiArcmVxdWlyZWQ6Cj4gKyAgLSBjb21wYXRpYmxl Cj4gKyAgLSByZWcKPiArICAtIGludGVycnVwdHMKPiArICAtIHBvd2VyLWRvbWFpbnMKPiArICAt IGNsb2Nrcwo+ICsgIC0gaW9tbXUKPiArCj4gK2FkZGl0aW9uYWxQcm9wZXJ0aWVzOiBmYWxzZQo+ ICsKPiArZXhhbXBsZXM6Cj4gKyAgLSB8Cj4gKwo+ICsgICAgb3ZsMDogb3ZsQDE0MDBjMDAwIHsK PiArICAgICAgICBjb21wYXRpYmxlID0gIm1lZGlhdGVrLG10ODE3My1kaXNwLW92bCI7Cj4gKyAg ICAgICAgcmVnID0gPDAgMHgxNDAwYzAwMCAwIDB4MTAwMD47Cj4gKyAgICAgICAgaW50ZXJydXB0 cyA9IDxHSUNfU1BJIDE4MCBJUlFfVFlQRV9MRVZFTF9MT1c+Owo+ICsgICAgICAgIHBvd2VyLWRv bWFpbnMgPSA8JnNjcHN5cyBNVDgxNzNfUE9XRVJfRE9NQUlOX01NPjsKPiArICAgICAgICBjbG9j a3MgPSA8Jm1tc3lzIENMS19NTV9ESVNQX09WTDA+Owo+ICsgICAgICAgIGlvbW11cyA9IDwmaW9t bXUgTTRVX1BPUlRfRElTUF9PVkwwPjsKPiArICAgICAgICBtZWRpYXRlayxsYXJiID0gPCZsYXJi MD47Cj4gKyAgICAgICAgbWVkaWF0ZWssZ2NlLWNsaWVudC1yZWcgPSA8JmdjZSBTVUJTWVNfMTQw MFhYWFggMHhjMDAwIDB4MTAwMD47Cj4gKyAgICB9Owo+IGRpZmYgLS1naXQgYS9Eb2N1bWVudGF0 aW9uL2RldmljZXRyZWUvYmluZGluZ3MvZGlzcGxheS9tZWRpYXRlay9tZWRpYXRlayxwb3N0bWFz ay55YW1sIGIvRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2Rpc3BsYXkvbWVkaWF0 ZWsvbWVkaWF0ZWsscG9zdG1hc2sueWFtbAo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXgg MDAwMDAwMDAwMDAwLi5iM2VkNmYzYjg0OTcKPiAtLS0gL2Rldi9udWxsCj4gKysrIGIvRG9jdW1l bnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2Rpc3BsYXkvbWVkaWF0ZWsvbWVkaWF0ZWsscG9z dG1hc2sueWFtbAo+IEBAIC0wLDAgKzEsNzIgQEAKPiArIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmll cjogKEdQTC0yLjAtb25seSBPUiBCU0QtMi1DbGF1c2UpCj4gKyVZQU1MIDEuMgo+ICstLS0KPiAr JGlkOiBodHRwOi8vZGV2aWNldHJlZS5vcmcvc2NoZW1hcy9kaXNwbGF5L21lZGlhdGVrL21lZGlh dGVrLHBvc3RtYXNrLnlhbWwjCj4gKyRzY2hlbWE6IGh0dHA6Ly9kZXZpY2V0cmVlLm9yZy9tZXRh LXNjaGVtYXMvY29yZS55YW1sIwo+ICsKPiArdGl0bGU6IE1lZGlhdGVrIGRpc3BsYXkgcG9zdG1h c2sKPiArCj4gK21haW50YWluZXJzOgo+ICsgIC0gQ2h1bi1LdWFuZyBIdSA8Y2h1bmt1YW5nLmh1 QGtlcm5lbC5vcmc+Cj4gKyAgLSBQaGlsaXBwIFphYmVsIDxwLnphYmVsQHBlbmd1dHJvbml4LmRl Pgo+ICsKPiArZGVzY3JpcHRpb246IHwKPiArICBNZWRpYXRlayBkaXNwbGF5IHBvc3RtYXNrLCBu YW1lbHkgUE9TVE1BU0ssIHByb3ZpZGVzIHJvdW5kIGNvcm5lciBwYXR0ZXJuCj4gKyAgZ2VuZXJh dGlvbi4KPiArICBQT1NUTUFTSyBkZXZpY2Ugbm9kZSBtdXN0IGJlIHNpYmxpbmdzIHRvIHRoZSBj ZW50cmFsIE1NU1lTX0NPTkZJRyBub2RlLgo+ICsgIEZvciBhIGRlc2NyaXB0aW9uIG9mIHRoZSBN TVNZU19DT05GSUcgYmluZGluZywgc2VlCj4gKyAgRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2Jp bmRpbmdzL2FybS9tZWRpYXRlay9tZWRpYXRlayxtbXN5cy55YW1sCj4gKyAgZm9yIGRldGFpbHMu Cj4gKwo+ICtwcm9wZXJ0aWVzOgo+ICsgIGNvbXBhdGlibGU6Cj4gKyAgICBvbmVPZjoKPiArICAg ICAgLSBpdGVtczoKPiArICAgICAgICAgIC0gY29uc3Q6IG1lZGlhdGVrLG10ODE5Mi1kaXNwLXBv c3RtYXNrCj4gKwo+ICsgIHJlZzoKPiArICAgIG1heEl0ZW1zOiAxCj4gKwo+ICsgIGludGVycnVw dHM6Cj4gKyAgICBtYXhJdGVtczogMQo+ICsKPiArICBwb3dlci1kb21haW5zOgo+ICsgICAgZGVz Y3JpcHRpb246IEEgcGhhbmRsZSBhbmQgUE0gZG9tYWluIHNwZWNpZmllciBhcyBkZWZpbmVkIGJ5 IGJpbmRpbmdzIG9mCj4gKyAgICAgIHRoZSBwb3dlciBjb250cm9sbGVyIHNwZWNpZmllZCBieSBw aGFuZGxlLiBTZWUKPiArICAgICAgRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3Bv d2VyL3Bvd2VyLWRvbWFpbi55YW1sIGZvciBkZXRhaWxzLgo+ICsKPiArICBjbG9ja3M6Cj4gKyAg ICBpdGVtczoKPiArICAgICAgLSBkZXNjcmlwdGlvbjogUE9TVE1BU0sgQ2xvY2sKPiArCj4gKyAg bWVkaWF0ZWssZ2NlLWNsaWVudC1yZWc6Cj4gKyAgICBkZXNjcmlwdGlvbjoKPiArICAgICAgVGhl IHJlZ2lzdGVyIG9mIGNsaWVudCBkcml2ZXIgY2FuIGJlIGNvbmZpZ3VyZWQgYnkgZ2NlIHdpdGgg NCBhcmd1bWVudHMKPiArICAgICAgZGVmaW5lZCBpbiB0aGlzIHByb3BlcnR5LCBzdWNoIGFzIHBo YW5kbGUgb2YgZ2NlLCBzdWJzeXMgaWQsCj4gKyAgICAgIHJlZ2lzdGVyIG9mZnNldCBhbmQgc2l6 ZS4KPiArICAgICAgRWFjaCBzdWJzeXMgaWQgaXMgbWFwcGluZyB0byBhIGJhc2UgYWRkcmVzcyBv ZiBkaXNwbGF5IGZ1bmN0aW9uIGJsb2Nrcwo+ICsgICAgICByZWdpc3RlciB3aGljaCBpcyBkZWZp bmVkIGluIHRoZSBnY2UgaGVhZGVyCj4gKyAgICAgIGluY2x1ZGUvZHQtYmluZGluZ3MvZ2NlLzxj aGlwPi1nY2UuaC4KPiArICAgICRyZWY6IC9zY2hlbWFzL3R5cGVzLnlhbWwjL2RlZmluaXRpb25z L3BoYW5kbGUtYXJyYXkKPiArICAgIG1heEl0ZW1zOiAxCj4gKwo+ICtyZXF1aXJlZDoKPiArICAt IGNvbXBhdGlibGUKPiArICAtIHJlZwo+ICsgIC0gaW50ZXJydXB0cwo+ICsgIC0gcG93ZXItZG9t YWlucwo+ICsgIC0gY2xvY2tzCj4gKwo+ICthZGRpdGlvbmFsUHJvcGVydGllczogZmFsc2UKPiAr Cj4gK2V4YW1wbGVzOgo+ICsgIC0gfAo+ICsKPiArICAgIHBvc3RtYXNrMDogcG9zdG1hc2tAMTQw MGQwMDAgewo+ICsgICAgICAgIGNvbXBhdGlibGUgPSAibWVkaWF0ZWssbXQ4MTkyLWRpc3AtcG9z dG1hc2siOwo+ICsgICAgICAgIHJlZyA9IDwwIDB4MTQwMGQwMDAgMCAweDEwMDA+Owo+ICsgICAg ICAgIGludGVycnVwdHMgPSA8R0lDX1NQSSAyNjIgSVJRX1RZUEVfTEVWRUxfSElHSCAwPjsKPiAr ICAgICAgICBwb3dlci1kb21haW5zID0gPCZzY3BzeXMgTVQ4MTkyX1BPV0VSX0RPTUFJTl9ESVNQ PjsKPiArICAgICAgICBjbG9ja3MgPSA8Jm1tc3lzIENMS19NTV9ESVNQX1BPU1RNQVNLMD47Cj4g KyAgICAgICAgbWVkaWF0ZWssZ2NlLWNsaWVudC1yZWcgPSA8JmdjZSBTVUJTWVNfMTQwMFhYWFgg MHhkMDAwIDB4MTAwMD47Cj4gKyAgICB9Owo+IGRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2Rl dmljZXRyZWUvYmluZGluZ3MvZGlzcGxheS9tZWRpYXRlay9tZWRpYXRlayxyZG1hLnlhbWwgYi9E b2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvZGlzcGxheS9tZWRpYXRlay9tZWRpYXRl ayxyZG1hLnlhbWwKPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDAwMDAwMDAwMDAwMC4u ODM5M2EyNWEzNzgxCj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBiL0RvY3VtZW50YXRpb24vZGV2aWNl dHJlZS9iaW5kaW5ncy9kaXNwbGF5L21lZGlhdGVrL21lZGlhdGVrLHJkbWEueWFtbAo+IEBAIC0w LDAgKzEsMTE4IEBACj4gKyMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IChHUEwtMi4wLW9ubHkg T1IgQlNELTItQ2xhdXNlKQo+ICslWUFNTCAxLjIKPiArLS0tCj4gKyRpZDogaHR0cDovL2Rldmlj ZXRyZWUub3JnL3NjaGVtYXMvZGlzcGxheS9tZWRpYXRlay9tZWRpYXRlayxyZG1hLnlhbWwjCj4g KyRzY2hlbWE6IGh0dHA6Ly9kZXZpY2V0cmVlLm9yZy9tZXRhLXNjaGVtYXMvY29yZS55YW1sIwo+ ICsKPiArdGl0bGU6IE1lZGlhdGVrIGRpc3BsYXkgUkRNQQo+ICsKPiArbWFpbnRhaW5lcnM6Cj4g KyAgLSBDaHVuLUt1YW5nIEh1IDxjaHVua3VhbmcuaHVAa2VybmVsLm9yZz4KPiArICAtIFBoaWxp cHAgWmFiZWwgPHAuemFiZWxAcGVuZ3V0cm9uaXguZGU+Cj4gKwo+ICtkZXNjcmlwdGlvbjogfAo+ ICsgIE1lZGlhdGVrIGRpc3BsYXkgUkRNQSBzdGFuZHMgZm9yIFJlYWQgRGlyZWN0IE1lbW9yeSBB Y2Nlc3MuCj4gKyAgSXQgcHJvdmlkZXMgcmVhbCB0aW1lIGRhdGEgdG8gdGhlIGJhY2stZW5kIHBh bmVsIGRyaXZlciwgc3VjaCBhcyBEU0ksCj4gKyAgRFBJIGFuZCBEUF9JTlRGLgo+ICsgIEl0IGNv bnRhaW5zIG9uZSBsaW5lIGJ1ZmZlciB0byBzdG9yZSB0aGUgc3VmZmljaWVudCBwaXhlbCBkYXRh Lgo+ICsgIFJETUEgZGV2aWNlIG5vZGUgbXVzdCBiZSBzaWJsaW5ncyB0byB0aGUgY2VudHJhbCBN TVNZU19DT05GSUcgbm9kZS4KPiArICBGb3IgYSBkZXNjcmlwdGlvbiBvZiB0aGUgTU1TWVNfQ09O RklHIGJpbmRpbmcsIHNlZQo+ICsgIERvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9h cm0vbWVkaWF0ZWsvbWVkaWF0ZWssbW1zeXMueWFtbAo+ICsgIGZvciBkZXRhaWxzLgo+ICsKPiAr cHJvcGVydGllczoKPiArICBjb21wYXRpYmxlOgo+ICsgICAgb25lT2Y6Cj4gKyAgICAgIC0gaXRl bXM6Cj4gKyAgICAgICAgICAtIGNvbnN0OiBtZWRpYXRlayxtdDI3MDEtZGlzcC1yZG1hCj4gKyAg ICAgIC0gaXRlbXM6Cj4gKyAgICAgICAgICAtIGNvbnN0OiBtZWRpYXRlayxtdDgxNzMtZGlzcC1y ZG1hCj4gKyAgICAgIC0gaXRlbXM6Cj4gKyAgICAgICAgICAtIGNvbnN0OiBtZWRpYXRlayxtdDgx ODMtZGlzcC1yZG1hCj4gKyAgICAgIC0gaXRlbXM6Cj4gKyAgICAgICAgICAtIGVudW06Cj4gKyAg ICAgICAgICAgICAgLSBtZWRpYXRlayxtdDc2MjMtZGlzcC1yZG1hCj4gKyAgICAgICAgICAgICAg LSBtZWRpYXRlayxtdDI3MTItZGlzcC1yZG1hCj4gKyAgICAgICAgICAtIGVudW06Cj4gKyAgICAg ICAgICAgICAgLSBtZWRpYXRlayxtdDI3MDEtZGlzcC1yZG1hCj4gKyAgICAgIC0gaXRlbXM6Cj4g KyAgICAgICAgICAtIGVudW06Cj4gKyAgICAgICAgICAgICAgLSBtZWRpYXRlayxtdDgxOTItZGlz cC1yZG1hCj4gKyAgICAgICAgICAtIGVudW06Cj4gKyAgICAgICAgICAgICAgLSBtZWRpYXRlayxt dDgxODMtZGlzcC1yZG1hCj4gKwo+ICsgIHJlZzoKPiArICAgIG1heEl0ZW1zOiAxCj4gKwo+ICsg IGludGVycnVwdHM6Cj4gKyAgICBtYXhJdGVtczogMQo+ICsKPiArICBwb3dlci1kb21haW5zOgo+ ICsgICAgZGVzY3JpcHRpb246IEEgcGhhbmRsZSBhbmQgUE0gZG9tYWluIHNwZWNpZmllciBhcyBk ZWZpbmVkIGJ5IGJpbmRpbmdzIG9mCj4gKyAgICAgIHRoZSBwb3dlciBjb250cm9sbGVyIHNwZWNp ZmllZCBieSBwaGFuZGxlLiBTZWUKPiArICAgICAgRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2Jp bmRpbmdzL3Bvd2VyL3Bvd2VyLWRvbWFpbi55YW1sIGZvciBkZXRhaWxzLgo+ICsKPiArICBjbG9j a3M6Cj4gKyAgICBpdGVtczoKPiArICAgICAgLSBkZXNjcmlwdGlvbjogUkRNQSBDbG9jawo+ICsK PiArICBpb21tdXM6Cj4gKyAgICBkZXNjcmlwdGlvbjoKPiArICAgICAgVGhpcyBwcm9wZXJ0eSBz aG91bGQgcG9pbnQgdG8gdGhlIHJlc3BlY3RpdmUgSU9NTVUgYmxvY2sgd2l0aCBtYXN0ZXIgcG9y dCBhcyBhcmd1bWVudCwKPiArICAgICAgc2VlIERvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5k aW5ncy9pb21tdS9tZWRpYXRlayxpb21tdS55YW1sIGZvciBkZXRhaWxzLgo+ICsKPiArICBtZWRp YXRlayxsYXJiOgo+ICsgICAgZGVzY3JpcHRpb246Cj4gKyAgICAgIFRoaXMgcHJvcGVydHkgc2hv dWxkIGNvbnRhaW4gYSBwaGFuZGxlIHBvaW50aW5nIHRvIHRoZSBsb2NhbCBhcmJpdGVyIGRldmlj ZXMgZGVmaW5lZCBpbgo+ICsgICAgICBEb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3Mv bWVtb3J5LWNvbnRyb2xsZXJzL21lZGlhdGVrLHNtaS1sYXJiLnlhbWwuCj4gKyAgICAgIEl0IG11 c3Qgc29ydCBhY2NvcmRpbmcgdG8gdGhlIGxvY2FsIGFyYml0ZXIgaW5kZXgsIGxpa2UgbGFyYjAs IGxhcmIxLCBsYXJiMi4uLgo+ICsgICAgJHJlZjogL3NjaGVtYXMvdHlwZXMueWFtbCMvZGVmaW5p dGlvbnMvcGhhbmRsZS1hcnJheQo+ICsgICAgbWluSXRlbXM6IDEKPiArICAgIG1heEl0ZW1zOiAz Mgo+ICsKPiArICBtZWRpYXRlayxyZG1hLWZpZm8tc2l6ZToKPiArICAgIGRlc2NyaXB0aW9uOgo+ ICsgICAgICByZG1hIGZpZm8gc2l6ZSBtYXkgYmUgZGlmZmVyZW50IGV2ZW4gaW4gc2FtZSBTT0Ms IGFkZCB0aGlzIHByb3BlcnR5IHRvIHRoZQo+ICsgICAgICBjb3JyZXNwb25kaW5nIHJkbWEuCj4g KyAgICAgIFRoZSB2YWx1ZSBiZWxvdyBpcyB0aGUgTWF4IHZhbHVlIHdoaWNoIGRlZmluZWQgaW4g aGFyZHdhcmUgZGF0YSBzaGVldAo+ICsgICAgICBtZWRpYXRlayxyZG1hLWZpZm8tc2l6ZSBvZiBt dDgxNzMtcmRtYTAgaXMgOEsKPiArICAgICAgbWVkaWF0ZWsscmRtYS1maWZvLXNpemUgb2YgbXQ4 MTgzLXJkbWEwIGlzIDVLCj4gKyAgICAgIG1lZGlhdGVrLHJkbWEtZmlmby1zaXplIG9mIG10ODE4 My1yZG1hMSBpcyAySwo+ICsgICAgJHJlZjogL3NjaGVtYXMvdHlwZXMueWFtbCMvZGVmaW5pdGlv bnMvdWludDMyCj4gKyAgICBlbnVtOiBbODE5MiwgNTEyMCwgMjA0OF0KPiArCj4gKyAgbWVkaWF0 ZWssZ2NlLWNsaWVudC1yZWc6Cj4gKyAgICBkZXNjcmlwdGlvbjoKPiArICAgICAgVGhlIHJlZ2lz dGVyIG9mIGNsaWVudCBkcml2ZXIgY2FuIGJlIGNvbmZpZ3VyZWQgYnkgZ2NlIHdpdGggNCBhcmd1 bWVudHMKPiArICAgICAgZGVmaW5lZCBpbiB0aGlzIHByb3BlcnR5LCBzdWNoIGFzIHBoYW5kbGUg b2YgZ2NlLCBzdWJzeXMgaWQsCj4gKyAgICAgIHJlZ2lzdGVyIG9mZnNldCBhbmQgc2l6ZS4KPiAr ICAgICAgRWFjaCBzdWJzeXMgaWQgaXMgbWFwcGluZyB0byBhIGJhc2UgYWRkcmVzcyBvZiBkaXNw bGF5IGZ1bmN0aW9uIGJsb2Nrcwo+ICsgICAgICByZWdpc3RlciB3aGljaCBpcyBkZWZpbmVkIGlu IHRoZSBnY2UgaGVhZGVyCj4gKyAgICAgIGluY2x1ZGUvZHQtYmluZGluZ3MvZ2NlLzxjaGlwPi1n Y2UuaC4KPiArICAgICRyZWY6IC9zY2hlbWFzL3R5cGVzLnlhbWwjL2RlZmluaXRpb25zL3BoYW5k bGUtYXJyYXkKPiArICAgIG1heEl0ZW1zOiAxCj4gKwo+ICtyZXF1aXJlZDoKPiArICAtIGNvbXBh dGlibGUKPiArICAtIHJlZwo+ICsgIC0gaW50ZXJydXB0cwo+ICsgIC0gcG93ZXItZG9tYWlucwo+ ICsgIC0gY2xvY2tzCj4gKyAgLSBpb21tdXMKPiArCj4gK2FkZGl0aW9uYWxQcm9wZXJ0aWVzOiBm YWxzZQo+ICsKPiArZXhhbXBsZXM6Cj4gKyAgLSB8Cj4gKwo+ICsgICAgcmRtYTA6IHJkbWFAMTQw MGUwMDAgewo+ICsgICAgICAgIGNvbXBhdGlibGUgPSAibWVkaWF0ZWssbXQ4MTczLWRpc3AtcmRt YSI7Cj4gKyAgICAgICAgcmVnID0gPDAgMHgxNDAwZTAwMCAwIDB4MTAwMD47Cj4gKyAgICAgICAg aW50ZXJydXB0cyA9IDxHSUNfU1BJIDE4MiBJUlFfVFlQRV9MRVZFTF9MT1c+Owo+ICsgICAgICAg IHBvd2VyLWRvbWFpbnMgPSA8JnNjcHN5cyBNVDgxNzNfUE9XRVJfRE9NQUlOX01NPjsKPiArICAg ICAgICBjbG9ja3MgPSA8Jm1tc3lzIENMS19NTV9ESVNQX1JETUEwPjsKPiArICAgICAgICBpb21t dXMgPSA8JmlvbW11IE00VV9QT1JUX0RJU1BfUkRNQTA+Owo+ICsgICAgICAgIG1lZGlhdGVrLGxh cmIgPSA8JmxhcmIwPjsKPiArICAgICAgICBtZWRpYXRlayxyZG1hLWZpZm9zaXplID0gPDgxOTI+ Owo+ICsgICAgICAgIG1lZGlhdGVrLGdjZS1jbGllbnQtcmVnID0gPCZnY2UgU1VCU1lTXzE0MDBY WFhYIDB4ZTAwMCAweDEwMDA+Owo+ICsgICAgfTsKPiBkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlv bi9kZXZpY2V0cmVlL2JpbmRpbmdzL2Rpc3BsYXkvbWVkaWF0ZWsvbWVkaWF0ZWssc3BsaXQueWFt bCBiL0RvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9kaXNwbGF5L21lZGlhdGVrL21l ZGlhdGVrLHNwbGl0LnlhbWwKPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDAwMDAwMDAw MDAwMC4uNGYwOGU4OWMxMDY3Cj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBiL0RvY3VtZW50YXRpb24v ZGV2aWNldHJlZS9iaW5kaW5ncy9kaXNwbGF5L21lZGlhdGVrL21lZGlhdGVrLHNwbGl0LnlhbWwK PiBAQCAtMCwwICsxLDU4IEBACj4gKyMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IChHUEwtMi4w LW9ubHkgT1IgQlNELTItQ2xhdXNlKQo+ICslWUFNTCAxLjIKPiArLS0tCj4gKyRpZDogaHR0cDov L2RldmljZXRyZWUub3JnL3NjaGVtYXMvZGlzcGxheS9tZWRpYXRlay9tZWRpYXRlayxzcGxpdC55 YW1sIwo+ICskc2NoZW1hOiBodHRwOi8vZGV2aWNldHJlZS5vcmcvbWV0YS1zY2hlbWFzL2NvcmUu eWFtbCMKPiArCj4gK3RpdGxlOiBNZWRpYXRlayBkaXNwbGF5IHNwbGl0Cj4gKwo+ICttYWludGFp bmVyczoKPiArICAtIENodW4tS3VhbmcgSHUgPGNodW5rdWFuZy5odUBrZXJuZWwub3JnPgo+ICsg IC0gUGhpbGlwcCBaYWJlbCA8cC56YWJlbEBwZW5ndXRyb25peC5kZT4KPiArCj4gK2Rlc2NyaXB0 aW9uOiB8Cj4gKyAgTWVkaWF0ZWsgZGlzcGxheSBzcGxpdCwgbmFtZWx5IFNQTElULCBpcyB1c2Vk IHRvIHNwbGl0IHN0cmVhbSB0byB0d28KPiArICBlbmNvZGVycy4KPiArICBTUExJVCBkZXZpY2Ug bm9kZSBtdXN0IGJlIHNpYmxpbmdzIHRvIHRoZSBjZW50cmFsIE1NU1lTX0NPTkZJRyBub2RlLgo+ ICsgIEZvciBhIGRlc2NyaXB0aW9uIG9mIHRoZSBNTVNZU19DT05GSUcgYmluZGluZywgc2VlCj4g KyAgRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2FybS9tZWRpYXRlay9tZWRpYXRl ayxtbXN5cy55YW1sCj4gKyAgZm9yIGRldGFpbHMuCj4gKwo+ICtwcm9wZXJ0aWVzOgo+ICsgIGNv bXBhdGlibGU6Cj4gKyAgICBvbmVPZjoKPiArICAgICAgLSBpdGVtczoKPiArICAgICAgICAgIC0g Y29uc3Q6IG1lZGlhdGVrLG10ODE3My1kaXNwLXNwbGl0Cj4gKwo+ICsgIHJlZzoKPiArICAgIG1h eEl0ZW1zOiAxCj4gKwo+ICsgIGludGVycnVwdHM6Cj4gKyAgICBtYXhJdGVtczogMQo+ICsKPiAr ICBwb3dlci1kb21haW5zOgo+ICsgICAgZGVzY3JpcHRpb246IEEgcGhhbmRsZSBhbmQgUE0gZG9t YWluIHNwZWNpZmllciBhcyBkZWZpbmVkIGJ5IGJpbmRpbmdzIG9mCj4gKyAgICAgIHRoZSBwb3dl ciBjb250cm9sbGVyIHNwZWNpZmllZCBieSBwaGFuZGxlLiBTZWUKPiArICAgICAgRG9jdW1lbnRh dGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3Bvd2VyL3Bvd2VyLWRvbWFpbi55YW1sIGZvciBkZXRh aWxzLgo+ICsKPiArICBjbG9ja3M6Cj4gKyAgICBpdGVtczoKPiArICAgICAgLSBkZXNjcmlwdGlv bjogU1BMSVQgQ2xvY2sKPiArCj4gK3JlcXVpcmVkOgo+ICsgIC0gY29tcGF0aWJsZQo+ICsgIC0g cmVnCj4gKyAgLSBwb3dlci1kb21haW5zCj4gKyAgLSBjbG9ja3MKPiArCj4gK2FkZGl0aW9uYWxQ cm9wZXJ0aWVzOiBmYWxzZQo+ICsKPiArZXhhbXBsZXM6Cj4gKyAgLSB8Cj4gKwo+ICsgICAgc3Bs aXQwOiBzcGxpdEAxNDAxODAwMCB7Cj4gKyAgICAgICAgY29tcGF0aWJsZSA9ICJtZWRpYXRlayxt dDgxNzMtZGlzcC1zcGxpdCI7Cj4gKyAgICAgICAgcmVnID0gPDAgMHgxNDAxODAwMCAwIDB4MTAw MD47Cj4gKyAgICAgICAgcG93ZXItZG9tYWlucyA9IDwmc3BtIE1UODE3M19QT1dFUl9ET01BSU5f TU0+Owo+ICsgICAgICAgIGNsb2NrcyA9IDwmbW1zeXMgQ0xLX01NX0RJU1BfU1BMSVQwPjsKPiAr ICAgIH07Cj4gZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9k aXNwbGF5L21lZGlhdGVrL21lZGlhdGVrLHVmb2UueWFtbCBiL0RvY3VtZW50YXRpb24vZGV2aWNl dHJlZS9iaW5kaW5ncy9kaXNwbGF5L21lZGlhdGVrL21lZGlhdGVrLHVmb2UueWFtbAo+IG5ldyBm aWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXggMDAwMDAwMDAwMDAwLi42ZTg3NDg1MjllNzMKPiAtLS0g L2Rldi9udWxsCj4gKysrIGIvRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2Rpc3Bs YXkvbWVkaWF0ZWsvbWVkaWF0ZWssdWZvZS55YW1sCj4gQEAgLTAsMCArMSw2MSBAQAo+ICsjIFNQ RFgtTGljZW5zZS1JZGVudGlmaWVyOiAoR1BMLTIuMC1vbmx5IE9SIEJTRC0yLUNsYXVzZSkKPiAr JVlBTUwgMS4yCj4gKy0tLQo+ICskaWQ6IGh0dHA6Ly9kZXZpY2V0cmVlLm9yZy9zY2hlbWFzL2Rp c3BsYXkvbWVkaWF0ZWsvbWVkaWF0ZWssdWZvZS55YW1sIwo+ICskc2NoZW1hOiBodHRwOi8vZGV2 aWNldHJlZS5vcmcvbWV0YS1zY2hlbWFzL2NvcmUueWFtbCMKPiArCj4gK3RpdGxlOiBNZWRpYXRl ayBkaXNwbGF5IFVGT2UKPiArCj4gK21haW50YWluZXJzOgo+ICsgIC0gQ2h1bi1LdWFuZyBIdSA8 Y2h1bmt1YW5nLmh1QGtlcm5lbC5vcmc+Cj4gKyAgLSBQaGlsaXBwIFphYmVsIDxwLnphYmVsQHBl bmd1dHJvbml4LmRlPgo+ICsKPiArZGVzY3JpcHRpb246IHwKPiArICBNZWRpYXRlayBkaXNwbGF5 IFVGT2Ugc3RhbmRzIGZvciBVbmlmaWVkIEZyYW1lIE9wdGltaXphdGlvbiBlbmdpbmUuCj4gKyAg VUZPZSBjYW4gY3V0IHRoZSBkYXRhIHJhdGUgZm9yIERTSSBwb3J0IHdoaWNoIG1heSBsZWFkIHRv IHJlZHVjZSBwb3dlcgo+ICsgIGNvbnN1bXB0aW9uLgo+ICsgIFVGT2UgZGV2aWNlIG5vZGUgbXVz dCBiZSBzaWJsaW5ncyB0byB0aGUgY2VudHJhbCBNTVNZU19DT05GSUcgbm9kZS4KPiArICBGb3Ig YSBkZXNjcmlwdGlvbiBvZiB0aGUgTU1TWVNfQ09ORklHIGJpbmRpbmcsIHNlZQo+ICsgIERvY3Vt ZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9hcm0vbWVkaWF0ZWsvbWVkaWF0ZWssbW1zeXMu eWFtbAo+ICsgIGZvciBkZXRhaWxzLgo+ICsKPiArcHJvcGVydGllczoKPiArICBjb21wYXRpYmxl Ogo+ICsgICAgb25lT2Y6Cj4gKyAgICAgIC0gaXRlbXM6Cj4gKyAgICAgICAgICAtIGNvbnN0OiBt ZWRpYXRlayxtdDgxNzMtZGlzcC11Zm9lCj4gKwo+ICsgIHJlZzoKPiArICAgIG1heEl0ZW1zOiAx Cj4gKwo+ICsgIGludGVycnVwdHM6Cj4gKyAgICBtYXhJdGVtczogMQo+ICsKPiArICBwb3dlci1k b21haW5zOgo+ICsgICAgZGVzY3JpcHRpb246IEEgcGhhbmRsZSBhbmQgUE0gZG9tYWluIHNwZWNp ZmllciBhcyBkZWZpbmVkIGJ5IGJpbmRpbmdzIG9mCj4gKyAgICAgIHRoZSBwb3dlciBjb250cm9s bGVyIHNwZWNpZmllZCBieSBwaGFuZGxlLiBTZWUKPiArICAgICAgRG9jdW1lbnRhdGlvbi9kZXZp Y2V0cmVlL2JpbmRpbmdzL3Bvd2VyL3Bvd2VyLWRvbWFpbi55YW1sIGZvciBkZXRhaWxzLgo+ICsK PiArICBjbG9ja3M6Cj4gKyAgICBpdGVtczoKPiArICAgICAgLSBkZXNjcmlwdGlvbjogVUZPZSBD bG9jawo+ICsKPiArcmVxdWlyZWQ6Cj4gKyAgLSBjb21wYXRpYmxlCj4gKyAgLSByZWcKPiArICAt IGludGVycnVwdHMKPiArICAtIHBvd2VyLWRvbWFpbnMKPiArICAtIGNsb2Nrcwo+ICsKPiArYWRk aXRpb25hbFByb3BlcnRpZXM6IGZhbHNlCj4gKwo+ICtleGFtcGxlczoKPiArICAtIHwKPiArCj4g KyAgICB1Zm9lQDE0MDFhMDAwIHsKPiArICAgICAgICBjb21wYXRpYmxlID0gIm1lZGlhdGVrLG10 ODE3My1kaXNwLXVmb2UiOwo+ICsgICAgICAgIHJlZyA9IDwwIDB4MTQwMWEwMDAgMCAweDEwMDA+ Owo+ICsgICAgICAgIGludGVycnVwdHMgPSA8R0lDX1NQSSAxOTEgSVJRX1RZUEVfTEVWRUxfTE9X PjsKPiArICAgICAgICBwb3dlci1kb21haW5zID0gPCZzY3BzeXMgTVQ4MTczX1BPV0VSX0RPTUFJ Tl9NTT47Cj4gKyAgICAgICAgY2xvY2tzID0gPCZtbXN5cyBDTEtfTU1fRElTUF9VRk9FPjsKPiAr ICAgIH07Cj4gZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9k aXNwbGF5L21lZGlhdGVrL21lZGlhdGVrLHdkbWEueWFtbCBiL0RvY3VtZW50YXRpb24vZGV2aWNl dHJlZS9iaW5kaW5ncy9kaXNwbGF5L21lZGlhdGVrL21lZGlhdGVrLHdkbWEueWFtbAo+IG5ldyBm aWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXggMDAwMDAwMDAwMDAwLi4yNWY5YTYzZmU3YWYKPiAtLS0g L2Rldi9udWxsCj4gKysrIGIvRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2Rpc3Bs YXkvbWVkaWF0ZWsvbWVkaWF0ZWssd2RtYS55YW1sCj4gQEAgLTAsMCArMSw4OSBAQAo+ICsjIFNQ RFgtTGljZW5zZS1JZGVudGlmaWVyOiAoR1BMLTIuMC1vbmx5IE9SIEJTRC0yLUNsYXVzZSkKPiAr JVlBTUwgMS4yCj4gKy0tLQo+ICskaWQ6IGh0dHA6Ly9kZXZpY2V0cmVlLm9yZy9zY2hlbWFzL2Rp c3BsYXkvbWVkaWF0ZWsvbWVkaWF0ZWssd2RtYS55YW1sIwo+ICskc2NoZW1hOiBodHRwOi8vZGV2 aWNldHJlZS5vcmcvbWV0YS1zY2hlbWFzL2NvcmUueWFtbCMKPiArCj4gK3RpdGxlOiBNZWRpYXRl ayBkaXNwbGF5IFdETUEKPiArCj4gK21haW50YWluZXJzOgo+ICsgIC0gQ2h1bi1LdWFuZyBIdSA8 Y2h1bmt1YW5nLmh1QGtlcm5lbC5vcmc+Cj4gKyAgLSBQaGlsaXBwIFphYmVsIDxwLnphYmVsQHBl bmd1dHJvbml4LmRlPgo+ICsKPiArZGVzY3JpcHRpb246IHwKPiArICBNZWRpYXRlayBkaXNwbGF5 IFdETUEgc3RhbmRzIGZvciBXcml0ZSBEaXJlY3QgTWVtb3J5IEFjY2Vzcy4KPiArICBJdCBjYW4g d3JpdGUgdGhlIGRhdGEgaW4gZGlzcGxheSBwaXBlbGluZSBpbnRvIERSQU0uCj4gKyAgV0RNQSBk ZXZpY2Ugbm9kZSBtdXN0IGJlIHNpYmxpbmdzIHRvIHRoZSBjZW50cmFsIE1NU1lTX0NPTkZJRyBu b2RlLgo+ICsgIEZvciBhIGRlc2NyaXB0aW9uIG9mIHRoZSBNTVNZU19DT05GSUcgYmluZGluZywg c2VlCj4gKyAgRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2FybS9tZWRpYXRlay9t ZWRpYXRlayxtbXN5cy55YW1sCj4gKyAgZm9yIGRldGFpbHMuCj4gKwo+ICtwcm9wZXJ0aWVzOgo+ ICsgIGNvbXBhdGlibGU6Cj4gKyAgICBvbmVPZjoKPiArICAgICAgLSBpdGVtczoKPiArICAgICAg ICAgIC0gY29uc3Q6IG1lZGlhdGVrLG10ODE3My1kaXNwLXdkbWEKPiArCj4gKyAgcmVnOgo+ICsg ICAgbWF4SXRlbXM6IDEKPiArCj4gKyAgaW50ZXJydXB0czoKPiArICAgIG1heEl0ZW1zOiAxCj4g Kwo+ICsgIHBvd2VyLWRvbWFpbnM6Cj4gKyAgICBkZXNjcmlwdGlvbjogQSBwaGFuZGxlIGFuZCBQ TSBkb21haW4gc3BlY2lmaWVyIGFzIGRlZmluZWQgYnkgYmluZGluZ3Mgb2YKPiArICAgICAgdGhl IHBvd2VyIGNvbnRyb2xsZXIgc3BlY2lmaWVkIGJ5IHBoYW5kbGUuIFNlZQo+ICsgICAgICBEb2N1 bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcG93ZXIvcG93ZXItZG9tYWluLnlhbWwgZm9y IGRldGFpbHMuCj4gKwo+ICsgIGNsb2NrczoKPiArICAgIGl0ZW1zOgo+ICsgICAgICAtIGRlc2Ny aXB0aW9uOiBXRE1BIENsb2NrCj4gKwo+ICsgIGlvbW11czoKPiArICAgIGRlc2NyaXB0aW9uOgo+ ICsgICAgICBUaGlzIHByb3BlcnR5IHNob3VsZCBwb2ludCB0byB0aGUgcmVzcGVjdGl2ZSBJT01N VSBibG9jayB3aXRoIG1hc3RlciBwb3J0IGFzIGFyZ3VtZW50LAo+ICsgICAgICBzZWUgRG9jdW1l bnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2lvbW11L21lZGlhdGVrLGlvbW11LnlhbWwgZm9y IGRldGFpbHMuCj4gKwo+ICsgIG1lZGlhdGVrLGxhcmI6Cj4gKyAgICBkZXNjcmlwdGlvbjoKPiAr ICAgICAgVGhpcyBwcm9wZXJ0eSBzaG91bGQgY29udGFpbiBhIHBoYW5kbGUgcG9pbnRpbmcgdG8g dGhlIGxvY2FsIGFyYml0ZXIgZGV2aWNlcyBkZWZpbmVkIGluCj4gKyAgICAgIERvY3VtZW50YXRp b24vZGV2aWNldHJlZS9iaW5kaW5ncy9tZW1vcnktY29udHJvbGxlcnMvbWVkaWF0ZWssc21pLWxh cmIueWFtbC4KPiArICAgICAgSXQgbXVzdCBzb3J0IGFjY29yZGluZyB0byB0aGUgbG9jYWwgYXJi aXRlciBpbmRleCwgbGlrZSBsYXJiMCwgbGFyYjEsIGxhcmIyLi4uCj4gKyAgICAkcmVmOiAvc2No ZW1hcy90eXBlcy55YW1sIy9kZWZpbml0aW9ucy9waGFuZGxlLWFycmF5Cj4gKyAgICBtaW5JdGVt czogMQo+ICsgICAgbWF4SXRlbXM6IDMyCj4gKwo+ICsgIG1lZGlhdGVrLGdjZS1jbGllbnQtcmVn Ogo+ICsgICAgZGVzY3JpcHRpb246Cj4gKyAgICAgIFRoZSByZWdpc3RlciBvZiBjbGllbnQgZHJp dmVyIGNhbiBiZSBjb25maWd1cmVkIGJ5IGdjZSB3aXRoIDQgYXJndW1lbnRzCj4gKyAgICAgIGRl ZmluZWQgaW4gdGhpcyBwcm9wZXJ0eSwgc3VjaCBhcyBwaGFuZGxlIG9mIGdjZSwgc3Vic3lzIGlk LAo+ICsgICAgICByZWdpc3RlciBvZmZzZXQgYW5kIHNpemUuCj4gKyAgICAgIEVhY2ggc3Vic3lz IGlkIGlzIG1hcHBpbmcgdG8gYSBiYXNlIGFkZHJlc3Mgb2YgZGlzcGxheSBmdW5jdGlvbiBibG9j a3MKPiArICAgICAgcmVnaXN0ZXIgd2hpY2ggaXMgZGVmaW5lZCBpbiB0aGUgZ2NlIGhlYWRlcgo+ ICsgICAgICBpbmNsdWRlL2R0LWJpbmRpbmdzL2djZS88Y2hpcD4tZ2NlLmguCj4gKyAgICAkcmVm OiAvc2NoZW1hcy90eXBlcy55YW1sIy9kZWZpbml0aW9ucy9waGFuZGxlLWFycmF5Cj4gKyAgICBt YXhJdGVtczogMQo+ICsKPiArcmVxdWlyZWQ6Cj4gKyAgLSBjb21wYXRpYmxlCj4gKyAgLSByZWcK PiArICAtIGludGVycnVwdHMKPiArICAtIHBvd2VyLWRvbWFpbnMKPiArICAtIGNsb2Nrcwo+ICsg IC0gaW9tbXVzCj4gKwo+ICthZGRpdGlvbmFsUHJvcGVydGllczogZmFsc2UKPiArCj4gK2V4YW1w bGVzOgo+ICsgIC0gfAo+ICsKPiArICAgIHdkbWEwOiB3ZG1hQDE0MDExMDAwIHsKPiArICAgICAg ICBjb21wYXRpYmxlID0gIm1lZGlhdGVrLG10ODE3My1kaXNwLXdkbWEiOwo+ICsgICAgICAgIHJl ZyA9IDwwIDB4MTQwMTEwMDAgMCAweDEwMDA+Owo+ICsgICAgICAgIGludGVycnVwdHMgPSA8R0lD X1NQSSAxODUgSVJRX1RZUEVfTEVWRUxfTE9XPjsKPiArICAgICAgICBwb3dlci1kb21haW5zID0g PCZzY3BzeXMgTVQ4MTczX1BPV0VSX0RPTUFJTl9NTT47Cj4gKyAgICAgICAgY2xvY2tzID0gPCZt bXN5cyBDTEtfTU1fRElTUF9XRE1BMD47Cj4gKyAgICAgICAgaW9tbXVzID0gPCZpb21tdSBNNFVf UE9SVF9ESVNQX1dETUEwPjsKPiArICAgICAgICBtZWRpYXRlayxsYXJiID0gPCZsYXJiMD47Cj4g KyAgICAgICAgbWVkaWF0ZWssZ2NlLWNsaWVudC1yZWcgPSA8JmdjZSBTVUJTWVNfMTQwMVhYWFgg MHgxMDAwIDB4MTAwMD47Cj4gKyAgICB9Owo+IC0tCj4gMi4xOC4wCj4KCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkxpbnV4LW1lZGlhdGVrIG1haWxpbmcg bGlzdApMaW51eC1tZWRpYXRla0BsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZy YWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtbWVkaWF0ZWsK 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 mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 6ADF7C433EF for ; Fri, 24 Sep 2021 23:44:12 +0000 (UTC) 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 mail.kernel.org (Postfix) with ESMTPS id 21DEC61212 for ; Fri, 24 Sep 2021 23:44:12 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 21DEC61212 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=lists.infradead.org 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:Cc:To:Subject:Message-ID:Date:From: In-Reply-To:References:MIME-Version:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=52ap46xzt6DQMm2ElenpB3tH/1fOqMVX2Z57AOgo7sE=; b=1dXAMOOIo4wN82 nTtcV7Uyb6Gl62TtY2rmtCiBFH5ZfZ5kwjzby0NaTvpfG9nNWU1JAqEK8uxCwMsU0v6eaGjFmWaVZ kSFX8QQtGZFu+BWGjUmJMmGsDbZ5erUV3qfHfQyh8X9lCmC/WacWQ6OSAzrtBnaI7PvMSqClpMvDP nq4CRzcO78aSmoLrl2A9Q/0ZIA7Qcs9EqLpR0MIz3l0ALejyp/vd0GTCPsVfoCmbpKloIup0/BhQ8 +7OjmWjaM3OLwXXCe5mipK3NK1fT5daSNjOO6QLRQK5s/8fmJLXrMKIWJ7ttuHKpXhuwGJQ4OKk8T UZhHJNWTcXrAZXlBr4EA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1mTupC-00Fkqh-45; Fri, 24 Sep 2021 23:41:50 +0000 Received: from mail.kernel.org ([198.145.29.99]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1mTup5-00Fkq4-5D; Fri, 24 Sep 2021 23:41:48 +0000 Received: by mail.kernel.org (Postfix) with ESMTPSA id 6EE2760EB6; Fri, 24 Sep 2021 23:41:42 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1632526902; bh=H0n/jnqm5KuCuYqKLtzIg5jI1qiuico64G+YimVonrs=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=kV2+nslr8SnFcxGb6J3pvTGCxpqBndDPEU6ytLnEArU3wyk2WO/F/qy5Qv2HUuQ/w X+U2AA+zLBiB6vxD8ZzDPsNNJ/ELjGJs1oSKXFAojI3k3tOxYZEsDI75+cSlO4tI9e geMwRgYGrsaXDYohs2TPq06LAHvpG8kdDH3pD3FtoJ000rSA6hEk0fMV3JBpegpZx0 m4bviXSffB48tXy/9BT2P/y1aMhVggzJtxsqGgA+ZHGC8xrmt40g70psndfszJh+QR HMXPNrccESxyDnWS4+F1Sh0wtQqw8DypwRdf1T/K8hk44QTH4pVikCh6Q3IhdfJPl+ rsi5oDNF0HmcA== Received: by mail-ed1-f47.google.com with SMTP id ee50so42108623edb.13; Fri, 24 Sep 2021 16:41:42 -0700 (PDT) X-Gm-Message-State: AOAM530FhFousEsdqV8EY+r3oV6Imug4R7epEh3bSWOG7otQ9624PWGD 9SH75IrXGnSNwuRAB+G4kh8LcqEgRIz2m2egnA== X-Google-Smtp-Source: ABdhPJwoDP2zmwC9Fo9OuBxzOgtPV1nW7Ny2YgqQPQF4iae5iG08UKN+eduUeiIrvmiGmmI+yndr+6NfFQw8Nd98IFA= X-Received: by 2002:a17:907:995a:: with SMTP id kl26mr14831744ejc.6.1632526900508; Fri, 24 Sep 2021 16:41:40 -0700 (PDT) MIME-Version: 1.0 References: <20210921155218.10387-1-jason-jh.lin@mediatek.com> <20210921155218.10387-4-jason-jh.lin@mediatek.com> In-Reply-To: <20210921155218.10387-4-jason-jh.lin@mediatek.com> From: Chun-Kuang Hu Date: Sat, 25 Sep 2021 07:41:29 +0800 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH v11 03/16] dt-bindings: display: mediatek: disp: split each block to individual yaml To: "jason-jh.lin" Cc: Rob Herring , Matthias Brugger , Chun-Kuang Hu , Philipp Zabel , Enric Balletbo i Serra , Maxime Coquelin , David Airlie , Daniel Vetter , Alexandre Torgue , Hsin-Yi Wang , fshao@chromium.org, Moudy Ho , roy-cw.yeh@mediatek.com, Fabien Parent , Yongqiang Niu , Nancy Lin , singo.chang@mediatek.com, DTML , linux-stm32@st-md-mailman.stormreply.com, Linux ARM , "moderated list:ARM/Mediatek SoC support" , linux-kernel , DRI Development X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210924_164143_323954_0E9EAA38 X-CRM114-Status: GOOD ( 22.49 ) 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 SGksIEphc29uOgoKamFzb24tamgubGluIDxqYXNvbi1qaC5saW5AbWVkaWF0ZWsuY29tPiDmlrwg MjAyMeW5tDnmnIgyMeaXpSDpgLHkuowg5LiL5Y2IMTE6NTLlr6vpgZPvvJoKPgo+IDEuIFJlbW92 ZSBtZWRpYXRlayxkaXNscGF5LnR4dAo+IDIuIFNwbGl0IGVhY2ggZGlzcGxheSBmdW5jdGlvbiBi bG9jayB0byBpbmRpdmlkdWFsIHlhbWwgZmlsZS4KCkFja2VkLWJ5OiBDaHVuLUt1YW5nIEh1IDxj aHVua3VhbmcuaHVAa2VybmVsLm9yZz4KCj4KPiBTaWduZWQtb2ZmLWJ5OiBqYXNvbi1qaC5saW4g PGphc29uLWpoLmxpbkBtZWRpYXRlay5jb20+Cj4gLS0tCj4gIC4uLi9kaXNwbGF5L21lZGlhdGVr L21lZGlhdGVrLGFhbC55YW1sICAgICAgICB8ICA3OSArKysrKysrCj4gIC4uLi9kaXNwbGF5L21l ZGlhdGVrL21lZGlhdGVrLGNjb3JyLnlhbWwgICAgICB8ICA3NCArKysrKysKPiAgLi4uL2Rpc3Bs YXkvbWVkaWF0ZWsvbWVkaWF0ZWssY29sb3IueWFtbCAgICAgIHwgIDg4ICsrKysrKysKPiAgLi4u L2Rpc3BsYXkvbWVkaWF0ZWsvbWVkaWF0ZWssZGlzcC50eHQgICAgICAgIHwgMjE5IC0tLS0tLS0t LS0tLS0tLS0tLQo+ICAuLi4vZGlzcGxheS9tZWRpYXRlay9tZWRpYXRlayxkaXRoZXIueWFtbCAg ICAgfCAgNzggKysrKysrKwo+ICAuLi4vZGlzcGxheS9tZWRpYXRlay9tZWRpYXRlayxnYW1tYS55 YW1sICAgICAgfCAgNzkgKysrKysrKwo+ICAuLi4vZGlzcGxheS9tZWRpYXRlay9tZWRpYXRlayxt ZXJnZS55YW1sICAgICAgfCAgNjkgKysrKysrCj4gIC4uLi9kaXNwbGF5L21lZGlhdGVrL21lZGlh dGVrLG11dGV4LnlhbWwgICAgICB8ICA4MiArKysrKysrCj4gIC4uLi9kaXNwbGF5L21lZGlhdGVr L21lZGlhdGVrLG9kLnlhbWwgICAgICAgICB8ICA1MyArKysrKwo+ICAuLi4vZGlzcGxheS9tZWRp YXRlay9tZWRpYXRlayxvdmwtMmwueWFtbCAgICAgfCAgOTEgKysrKysrKysKPiAgLi4uL2Rpc3Bs YXkvbWVkaWF0ZWsvbWVkaWF0ZWssb3ZsLnlhbWwgICAgICAgIHwgMTAxICsrKysrKysrCj4gIC4u Li9kaXNwbGF5L21lZGlhdGVrL21lZGlhdGVrLHBvc3RtYXNrLnlhbWwgICB8ICA3MiArKysrKysK PiAgLi4uL2Rpc3BsYXkvbWVkaWF0ZWsvbWVkaWF0ZWsscmRtYS55YW1sICAgICAgIHwgMTE4ICsr KysrKysrKysKPiAgLi4uL2Rpc3BsYXkvbWVkaWF0ZWsvbWVkaWF0ZWssc3BsaXQueWFtbCAgICAg IHwgIDU4ICsrKysrCj4gIC4uLi9kaXNwbGF5L21lZGlhdGVrL21lZGlhdGVrLHVmb2UueWFtbCAg ICAgICB8ICA2MSArKysrKwo+ICAuLi4vZGlzcGxheS9tZWRpYXRlay9tZWRpYXRlayx3ZG1hLnlh bWwgICAgICAgfCAgODkgKysrKysrKwo+ICAxNiBmaWxlcyBjaGFuZ2VkLCAxMTkyIGluc2VydGlv bnMoKyksIDIxOSBkZWxldGlvbnMoLSkKPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IERvY3VtZW50YXRp b24vZGV2aWNldHJlZS9iaW5kaW5ncy9kaXNwbGF5L21lZGlhdGVrL21lZGlhdGVrLGFhbC55YW1s Cj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBEb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3Mv ZGlzcGxheS9tZWRpYXRlay9tZWRpYXRlayxjY29yci55YW1sCj4gIGNyZWF0ZSBtb2RlIDEwMDY0 NCBEb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvZGlzcGxheS9tZWRpYXRlay9tZWRp YXRlayxjb2xvci55YW1sCj4gIGRlbGV0ZSBtb2RlIDEwMDY0NCBEb2N1bWVudGF0aW9uL2Rldmlj ZXRyZWUvYmluZGluZ3MvZGlzcGxheS9tZWRpYXRlay9tZWRpYXRlayxkaXNwLnR4dAo+ICBjcmVh dGUgbW9kZSAxMDA2NDQgRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2Rpc3BsYXkv bWVkaWF0ZWsvbWVkaWF0ZWssZGl0aGVyLnlhbWwKPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IERvY3Vt ZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9kaXNwbGF5L21lZGlhdGVrL21lZGlhdGVrLGdh bW1hLnlhbWwKPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IERvY3VtZW50YXRpb24vZGV2aWNldHJlZS9i aW5kaW5ncy9kaXNwbGF5L21lZGlhdGVrL21lZGlhdGVrLG1lcmdlLnlhbWwKPiAgY3JlYXRlIG1v ZGUgMTAwNjQ0IERvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9kaXNwbGF5L21lZGlh dGVrL21lZGlhdGVrLG11dGV4LnlhbWwKPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IERvY3VtZW50YXRp b24vZGV2aWNldHJlZS9iaW5kaW5ncy9kaXNwbGF5L21lZGlhdGVrL21lZGlhdGVrLG9kLnlhbWwK PiAgY3JlYXRlIG1vZGUgMTAwNjQ0IERvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9k aXNwbGF5L21lZGlhdGVrL21lZGlhdGVrLG92bC0ybC55YW1sCj4gIGNyZWF0ZSBtb2RlIDEwMDY0 NCBEb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvZGlzcGxheS9tZWRpYXRlay9tZWRp YXRlayxvdmwueWFtbAo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgRG9jdW1lbnRhdGlvbi9kZXZpY2V0 cmVlL2JpbmRpbmdzL2Rpc3BsYXkvbWVkaWF0ZWsvbWVkaWF0ZWsscG9zdG1hc2sueWFtbAo+ICBj cmVhdGUgbW9kZSAxMDA2NDQgRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2Rpc3Bs YXkvbWVkaWF0ZWsvbWVkaWF0ZWsscmRtYS55YW1sCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBEb2N1 bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvZGlzcGxheS9tZWRpYXRlay9tZWRpYXRlayxz cGxpdC55YW1sCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBEb2N1bWVudGF0aW9uL2RldmljZXRyZWUv YmluZGluZ3MvZGlzcGxheS9tZWRpYXRlay9tZWRpYXRlayx1Zm9lLnlhbWwKPiAgY3JlYXRlIG1v ZGUgMTAwNjQ0IERvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9kaXNwbGF5L21lZGlh dGVrL21lZGlhdGVrLHdkbWEueWFtbAo+Cj4gZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZGV2 aWNldHJlZS9iaW5kaW5ncy9kaXNwbGF5L21lZGlhdGVrL21lZGlhdGVrLGFhbC55YW1sIGIvRG9j dW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2Rpc3BsYXkvbWVkaWF0ZWsvbWVkaWF0ZWss YWFsLnlhbWwKPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDAwMDAwMDAwMDAwMC4uOTJh MzUwYWI5NzIyCj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBiL0RvY3VtZW50YXRpb24vZGV2aWNldHJl ZS9iaW5kaW5ncy9kaXNwbGF5L21lZGlhdGVrL21lZGlhdGVrLGFhbC55YW1sCj4gQEAgLTAsMCAr MSw3OSBAQAo+ICsjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiAoR1BMLTIuMC1vbmx5IE9SIEJT RC0yLUNsYXVzZSkKPiArJVlBTUwgMS4yCj4gKy0tLQo+ICskaWQ6IGh0dHA6Ly9kZXZpY2V0cmVl Lm9yZy9zY2hlbWFzL2Rpc3BsYXkvbWVkaWF0ZWsvbWVkaWF0ZWssYWFsLnlhbWwjCj4gKyRzY2hl bWE6IGh0dHA6Ly9kZXZpY2V0cmVlLm9yZy9tZXRhLXNjaGVtYXMvY29yZS55YW1sIwo+ICsKPiAr dGl0bGU6IE1lZGlhdGVrIGRpc3BsYXkgYWRhcHRpdmUgYW1iaWVudCBsaWdodCBwcm9jZXNzb3IK PiArCj4gK21haW50YWluZXJzOgo+ICsgIC0gQ2h1bi1LdWFuZyBIdSA8Y2h1bmt1YW5nLmh1QGtl cm5lbC5vcmc+Cj4gKyAgLSBQaGlsaXBwIFphYmVsIDxwLnphYmVsQHBlbmd1dHJvbml4LmRlPgo+ ICsKPiArZGVzY3JpcHRpb246IHwKPiArICBNZWRpYXRlayBkaXNwbGF5IGFkYXB0aXZlIGFtYmll bnQgbGlnaHQgcHJvY2Vzc29yLCBuYW1lbHkgQUFMLAo+ICsgIGlzIHJlc3BvbnNpYmxlIGZvciBi YWNrbGlnaHQgcG93ZXIgc2F2aW5nIGFuZCBzdW5saWdodCB2aXNpYmlsaXR5IGltcHJvdmluZy4K PiArICBBQUwgZGV2aWNlIG5vZGUgbXVzdCBiZSBzaWJsaW5ncyB0byB0aGUgY2VudHJhbCBNTVNZ U19DT05GSUcgbm9kZS4KPiArICBGb3IgYSBkZXNjcmlwdGlvbiBvZiB0aGUgTU1TWVNfQ09ORklH IGJpbmRpbmcsIHNlZQo+ICsgIERvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9hcm0v bWVkaWF0ZWsvbWVkaWF0ZWssbW1zeXMueWFtbAo+ICsgIGZvciBkZXRhaWxzLgo+ICsKPiArcHJv cGVydGllczoKPiArICBjb21wYXRpYmxlOgo+ICsgICAgb25lT2Y6Cj4gKyAgICAgIC0gaXRlbXM6 Cj4gKyAgICAgICAgICAtIGNvbnN0OiBtZWRpYXRlayxtdDgxNzMtZGlzcC1hYWwKPiArICAgICAg LSBpdGVtczoKPiArICAgICAgICAgIC0gZW51bToKPiArICAgICAgICAgICAgICAtIG1lZGlhdGVr LG10MjcxMi1kaXNwLWFhbAo+ICsgICAgICAgICAgICAgIC0gbWVkaWF0ZWssbXQ4MTgzLWRpc3At YWFsCj4gKyAgICAgICAgICAgICAgLSBtZWRpYXRlayxtdDgxOTItZGlzcC1hYWwKPiArICAgICAg ICAgIC0gZW51bToKPiArICAgICAgICAgICAgICAtIG1lZGlhdGVrLG10ODE3My1kaXNwLWFhbAo+ ICsKPiArICByZWc6Cj4gKyAgICBtYXhJdGVtczogMQo+ICsKPiArICBpbnRlcnJ1cHRzOgo+ICsg ICAgbWF4SXRlbXM6IDEKPiArCj4gKyAgcG93ZXItZG9tYWluczoKPiArICAgIGRlc2NyaXB0aW9u OiBBIHBoYW5kbGUgYW5kIFBNIGRvbWFpbiBzcGVjaWZpZXIgYXMgZGVmaW5lZCBieSBiaW5kaW5n cyBvZgo+ICsgICAgICB0aGUgcG93ZXIgY29udHJvbGxlciBzcGVjaWZpZWQgYnkgcGhhbmRsZS4g U2VlCj4gKyAgICAgIERvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9wb3dlci9wb3dl ci1kb21haW4ueWFtbCBmb3IgZGV0YWlscy4KPiArCj4gKyAgY2xvY2tzOgo+ICsgICAgaXRlbXM6 Cj4gKyAgICAgIC0gZGVzY3JpcHRpb246IEFBTCBDbG9jawo+ICsKPiArICBtZWRpYXRlayxnY2Ut Y2xpZW50LXJlZzoKPiArICAgIGRlc2NyaXB0aW9uOgo+ICsgICAgICBUaGUgcmVnaXN0ZXIgb2Yg Y2xpZW50IGRyaXZlciBjYW4gYmUgY29uZmlndXJlZCBieSBnY2Ugd2l0aCA0IGFyZ3VtZW50cwo+ ICsgICAgICBkZWZpbmVkIGluIHRoaXMgcHJvcGVydHksIHN1Y2ggYXMgcGhhbmRsZSBvZiBnY2Us IHN1YnN5cyBpZCwKPiArICAgICAgcmVnaXN0ZXIgb2Zmc2V0IGFuZCBzaXplLgo+ICsgICAgICBF YWNoIHN1YnN5cyBpZCBpcyBtYXBwaW5nIHRvIGEgYmFzZSBhZGRyZXNzIG9mIGRpc3BsYXkgZnVu Y3Rpb24gYmxvY2tzCj4gKyAgICAgIHJlZ2lzdGVyIHdoaWNoIGlzIGRlZmluZWQgaW4gdGhlIGdj ZSBoZWFkZXIKPiArICAgICAgaW5jbHVkZS9kdC1iaW5kaW5ncy9nY2UvPGNoaXA+LWdjZS5oLgo+ ICsgICAgJHJlZjogL3NjaGVtYXMvdHlwZXMueWFtbCMvZGVmaW5pdGlvbnMvcGhhbmRsZS1hcnJh eQo+ICsgICAgbWF4SXRlbXM6IDEKPiArCj4gK3JlcXVpcmVkOgo+ICsgIC0gY29tcGF0aWJsZQo+ ICsgIC0gcmVnCj4gKyAgLSBpbnRlcnJ1cHRzCj4gKyAgLSBwb3dlci1kb21haW5zCj4gKyAgLSBj bG9ja3MKPiArCj4gK2FkZGl0aW9uYWxQcm9wZXJ0aWVzOiBmYWxzZQo+ICsKPiArZXhhbXBsZXM6 Cj4gKyAgLSB8Cj4gKwo+ICsgICAgYWFsQDE0MDE1MDAwIHsKPiArICAgICAgICBjb21wYXRpYmxl ID0gIm1lZGlhdGVrLG10ODE3My1kaXNwLWFhbCI7Cj4gKyAgICAgICAgcmVnID0gPDAgMHgxNDAx NTAwMCAwIDB4MTAwMD47Cj4gKyAgICAgICAgaW50ZXJydXB0cyA9IDxHSUNfU1BJIDE4OSBJUlFf VFlQRV9MRVZFTF9MT1c+Owo+ICsgICAgICAgIHBvd2VyLWRvbWFpbnMgPSA8JnNjcHN5cyBNVDgx NzNfUE9XRVJfRE9NQUlOX01NPjsKPiArICAgICAgICBjbG9ja3MgPSA8Jm1tc3lzIENMS19NTV9E SVNQX0FBTD47Cj4gKyAgICAgICAgbWVkaWF0ZWssZ2NlLWNsaWVudC1yZWcgPSA8JmdjZSBTVUJT WVNfMTQwMVhYWFggMHg1MDAwIDB4MTAwMD47Cj4gKyAgICB9Owo+IGRpZmYgLS1naXQgYS9Eb2N1 bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvZGlzcGxheS9tZWRpYXRlay9tZWRpYXRlayxj Y29yci55YW1sIGIvRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2Rpc3BsYXkvbWVk aWF0ZWsvbWVkaWF0ZWssY2NvcnIueWFtbAo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXgg MDAwMDAwMDAwMDAwLi43ODQwZTEyZDRjYWYKPiAtLS0gL2Rldi9udWxsCj4gKysrIGIvRG9jdW1l bnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2Rpc3BsYXkvbWVkaWF0ZWsvbWVkaWF0ZWssY2Nv cnIueWFtbAo+IEBAIC0wLDAgKzEsNzQgQEAKPiArIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjog KEdQTC0yLjAtb25seSBPUiBCU0QtMi1DbGF1c2UpCj4gKyVZQU1MIDEuMgo+ICstLS0KPiArJGlk OiBodHRwOi8vZGV2aWNldHJlZS5vcmcvc2NoZW1hcy9kaXNwbGF5L21lZGlhdGVrL21lZGlhdGVr LGNjb3JyLnlhbWwjCj4gKyRzY2hlbWE6IGh0dHA6Ly9kZXZpY2V0cmVlLm9yZy9tZXRhLXNjaGVt YXMvY29yZS55YW1sIwo+ICsKPiArdGl0bGU6IE1lZGlhdGVrIGRpc3BsYXkgY29sb3IgY29ycmVj dGlvbgo+ICsKPiArbWFpbnRhaW5lcnM6Cj4gKyAgLSBDaHVuLUt1YW5nIEh1IDxjaHVua3Vhbmcu aHVAa2VybmVsLm9yZz4KPiArICAtIFBoaWxpcHAgWmFiZWwgPHAuemFiZWxAcGVuZ3V0cm9uaXgu ZGU+Cj4gKwo+ICtkZXNjcmlwdGlvbjogfAo+ICsgIE1lZGlhdGVrIGRpc3BsYXkgY29sb3IgY29y cmVjdGlvbiwgbmFtZWx5IENDT1JSLCByZXByb2R1Y2VzIGNvcnJlY3QgY29sb3IKPiArICBvbiBw YW5lbHMgd2l0aCBkaWZmZXJlbnQgY29sb3IgZ2FtdXQuCj4gKyAgQ0NPUlIgZGV2aWNlIG5vZGUg bXVzdCBiZSBzaWJsaW5ncyB0byB0aGUgY2VudHJhbCBNTVNZU19DT05GSUcgbm9kZS4KPiArICBG b3IgYSBkZXNjcmlwdGlvbiBvZiB0aGUgTU1TWVNfQ09ORklHIGJpbmRpbmcsIHNlZQo+ICsgIERv Y3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9hcm0vbWVkaWF0ZWsvbWVkaWF0ZWssbW1z eXMueWFtbAo+ICsgIGZvciBkZXRhaWxzLgo+ICsKPiArcHJvcGVydGllczoKPiArICBjb21wYXRp YmxlOgo+ICsgICAgb25lT2Y6Cj4gKyAgICAgIC0gaXRlbXM6Cj4gKyAgICAgICAgICAtIGNvbnN0 OiBtZWRpYXRlayxtdDgxODMtZGlzcC1jY29ycgo+ICsgICAgICAtIGl0ZW1zOgo+ICsgICAgICAg ICAgLSBjb25zdDogbWVkaWF0ZWssbXQ4MTkyLWRpc3AtY2NvcnIKPiArCj4gKyAgcmVnOgo+ICsg ICAgbWF4SXRlbXM6IDEKPiArCj4gKyAgaW50ZXJydXB0czoKPiArICAgIG1heEl0ZW1zOiAxCj4g Kwo+ICsgIHBvd2VyLWRvbWFpbnM6Cj4gKyAgICBkZXNjcmlwdGlvbjogQSBwaGFuZGxlIGFuZCBQ TSBkb21haW4gc3BlY2lmaWVyIGFzIGRlZmluZWQgYnkgYmluZGluZ3Mgb2YKPiArICAgICAgdGhl IHBvd2VyIGNvbnRyb2xsZXIgc3BlY2lmaWVkIGJ5IHBoYW5kbGUuIFNlZQo+ICsgICAgICBEb2N1 bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcG93ZXIvcG93ZXItZG9tYWluLnlhbWwgZm9y IGRldGFpbHMuCj4gKwo+ICsgIGNsb2NrczoKPiArICAgIGl0ZW1zOgo+ICsgICAgICAtIGRlc2Ny aXB0aW9uOiBDQ09SUiBDbG9jawo+ICsKPiArICBtZWRpYXRlayxnY2UtY2xpZW50LXJlZzoKPiAr ICAgIGRlc2NyaXB0aW9uOgo+ICsgICAgICBUaGUgcmVnaXN0ZXIgb2YgY2xpZW50IGRyaXZlciBj YW4gYmUgY29uZmlndXJlZCBieSBnY2Ugd2l0aCA0IGFyZ3VtZW50cwo+ICsgICAgICBkZWZpbmVk IGluIHRoaXMgcHJvcGVydHksIHN1Y2ggYXMgcGhhbmRsZSBvZiBnY2UsIHN1YnN5cyBpZCwKPiAr ICAgICAgcmVnaXN0ZXIgb2Zmc2V0IGFuZCBzaXplLgo+ICsgICAgICBFYWNoIHN1YnN5cyBpZCBp cyBtYXBwaW5nIHRvIGEgYmFzZSBhZGRyZXNzIG9mIGRpc3BsYXkgZnVuY3Rpb24gYmxvY2tzCj4g KyAgICAgIHJlZ2lzdGVyIHdoaWNoIGlzIGRlZmluZWQgaW4gdGhlIGdjZSBoZWFkZXIKPiArICAg ICAgaW5jbHVkZS9kdC1iaW5kaW5ncy9nY2UvPGNoaXA+LWdjZS5oLgo+ICsgICAgJHJlZjogL3Nj aGVtYXMvdHlwZXMueWFtbCMvZGVmaW5pdGlvbnMvcGhhbmRsZS1hcnJheQo+ICsgICAgbWF4SXRl bXM6IDEKPiArCj4gK3JlcXVpcmVkOgo+ICsgIC0gY29tcGF0aWJsZQo+ICsgIC0gcmVnCj4gKyAg LSBpbnRlcnJ1cHRzCj4gKyAgLSBwb3dlci1kb21haW5zCj4gKyAgLSBjbG9ja3MKPiArCj4gK2Fk ZGl0aW9uYWxQcm9wZXJ0aWVzOiBmYWxzZQo+ICsKPiArZXhhbXBsZXM6Cj4gKyAgLSB8Cj4gKwo+ ICsgICAgY2NvcnIwOiBjY29yckAxNDAwZjAwMCB7Cj4gKyAgICAgICAgY29tcGF0aWJsZSA9ICJt ZWRpYXRlayxtdDgxODMtZGlzcC1jY29yciI7Cj4gKyAgICAgICAgcmVnID0gPDAgMHgxNDAwZjAw MCAwIDB4MTAwMD47Cj4gKyAgICAgICAgaW50ZXJydXB0cyA9IDxHSUNfU1BJIDIzMiBJUlFfVFlQ RV9MRVZFTF9MT1c+Owo+ICsgICAgICAgIHBvd2VyLWRvbWFpbnMgPSA8JnNwbSBNVDgxODNfUE9X RVJfRE9NQUlOX0RJU1A+Owo+ICsgICAgICAgIGNsb2NrcyA9IDwmbW1zeXMgQ0xLX01NX0RJU1Bf Q0NPUlIwPjsKPiArICAgICAgICBtZWRpYXRlayxnY2UtY2xpZW50LXJlZyA9IDwmZ2NlIFNVQlNZ U18xNDAwWFhYWCAweGYwMDAgMHgxMDAwPjsKPiArICAgIH07Cj4gZGlmZiAtLWdpdCBhL0RvY3Vt ZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9kaXNwbGF5L21lZGlhdGVrL21lZGlhdGVrLGNv bG9yLnlhbWwgYi9Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvZGlzcGxheS9tZWRp YXRlay9tZWRpYXRlayxjb2xvci55YW1sCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCAw MDAwMDAwMDAwMDAuLjdhMjQ5YmE4NTg0Ywo+IC0tLSAvZGV2L251bGwKPiArKysgYi9Eb2N1bWVu dGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvZGlzcGxheS9tZWRpYXRlay9tZWRpYXRlayxjb2xv ci55YW1sCj4gQEAgLTAsMCArMSw4OCBAQAo+ICsjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiAo R1BMLTIuMC1vbmx5IE9SIEJTRC0yLUNsYXVzZSkKPiArJVlBTUwgMS4yCj4gKy0tLQo+ICskaWQ6 IGh0dHA6Ly9kZXZpY2V0cmVlLm9yZy9zY2hlbWFzL2Rpc3BsYXkvbWVkaWF0ZWsvbWVkaWF0ZWss Y29sb3IueWFtbCMKPiArJHNjaGVtYTogaHR0cDovL2RldmljZXRyZWUub3JnL21ldGEtc2NoZW1h cy9jb3JlLnlhbWwjCj4gKwo+ICt0aXRsZTogTWVkaWF0ZWsgZGlzcGxheSBjb2xvciBwcm9jZXNz b3IKPiArCj4gK21haW50YWluZXJzOgo+ICsgIC0gQ2h1bi1LdWFuZyBIdSA8Y2h1bmt1YW5nLmh1 QGtlcm5lbC5vcmc+Cj4gKyAgLSBQaGlsaXBwIFphYmVsIDxwLnphYmVsQHBlbmd1dHJvbml4LmRl Pgo+ICsKPiArZGVzY3JpcHRpb246IHwKPiArICBNZWRpYXRlayBkaXNwbGF5IGNvbG9yIHByb2Nl c3NvciwgbmFtZWx5IENPTE9SLCBwcm92aWRlcyBodWUsIGx1bWEgYW5kCj4gKyAgc2F0dXJhdGlv biBhZGp1c3RtZW50cyB0byBnZXQgYmV0dGVyIHBpY3R1cmUgcXVhbGl0eSBhbmQgdG8gaGF2ZSBv bmUgcGFuZWwKPiArICByZXNlbWJsZSB0aGUgb3RoZXIgaW4gdGhlaXIgb3V0cHV0IGNoYXJhY3Rl cmlzdGljcy4KPiArICBDT0xPUiBkZXZpY2Ugbm9kZSBtdXN0IGJlIHNpYmxpbmdzIHRvIHRoZSBj ZW50cmFsIE1NU1lTX0NPTkZJRyBub2RlLgo+ICsgIEZvciBhIGRlc2NyaXB0aW9uIG9mIHRoZSBN TVNZU19DT05GSUcgYmluZGluZywgc2VlCj4gKyAgRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2Jp bmRpbmdzL2FybS9tZWRpYXRlay9tZWRpYXRlayxtbXN5cy55YW1sCj4gKyAgZm9yIGRldGFpbHMu Cj4gKwo+ICtwcm9wZXJ0aWVzOgo+ICsgIGNvbXBhdGlibGU6Cj4gKyAgICBvbmVPZjoKPiArICAg ICAgLSBpdGVtczoKPiArICAgICAgICAgIC0gY29uc3Q6IG1lZGlhdGVrLG10MjcwMS1kaXNwLWNv bG9yCj4gKyAgICAgIC0gaXRlbXM6Cj4gKyAgICAgICAgICAtIGNvbnN0OiBtZWRpYXRlayxtdDgx NjctZGlzcC1jb2xvcgo+ICsgICAgICAtIGl0ZW1zOgo+ICsgICAgICAgICAgLSBjb25zdDogbWVk aWF0ZWssbXQ4MTczLWRpc3AtY29sb3IKPiArICAgICAgLSBpdGVtczoKPiArICAgICAgICAgIC0g ZW51bToKPiArICAgICAgICAgICAgICAtIG1lZGlhdGVrLG10NzYyMy1kaXNwLWNvbG9yCj4gKyAg ICAgICAgICAgICAgLSBtZWRpYXRlayxtdDI3MTItZGlzcC1jb2xvcgo+ICsgICAgICAgICAgLSBl bnVtOgo+ICsgICAgICAgICAgICAgIC0gbWVkaWF0ZWssbXQyNzAxLWRpc3AtY29sb3IKPiArICAg ICAgLSBpdGVtczoKPiArICAgICAgICAgIC0gZW51bToKPiArICAgICAgICAgICAgICAtIG1lZGlh dGVrLG10ODE4My1kaXNwLWNvbG9yCj4gKyAgICAgICAgICAgICAgLSBtZWRpYXRlayxtdDgxOTIt ZGlzcC1jb2xvcgo+ICsgICAgICAgICAgLSBlbnVtOgo+ICsgICAgICAgICAgICAgIC0gbWVkaWF0 ZWssbXQ4MTczLWRpc3AtY29sb3IKPiArICByZWc6Cj4gKyAgICBtYXhJdGVtczogMQo+ICsKPiAr ICBpbnRlcnJ1cHRzOgo+ICsgICAgbWF4SXRlbXM6IDEKPiArCj4gKyAgcG93ZXItZG9tYWluczoK PiArICAgIGRlc2NyaXB0aW9uOiBBIHBoYW5kbGUgYW5kIFBNIGRvbWFpbiBzcGVjaWZpZXIgYXMg ZGVmaW5lZCBieSBiaW5kaW5ncyBvZgo+ICsgICAgICB0aGUgcG93ZXIgY29udHJvbGxlciBzcGVj aWZpZWQgYnkgcGhhbmRsZS4gU2VlCj4gKyAgICAgIERvY3VtZW50YXRpb24vZGV2aWNldHJlZS9i aW5kaW5ncy9wb3dlci9wb3dlci1kb21haW4ueWFtbCBmb3IgZGV0YWlscy4KPiArCj4gKyAgY2xv Y2tzOgo+ICsgICAgaXRlbXM6Cj4gKyAgICAgIC0gZGVzY3JpcHRpb246IENPTE9SIENsb2NrCj4g Kwo+ICsgIG1lZGlhdGVrLGdjZS1jbGllbnQtcmVnOgo+ICsgICAgZGVzY3JpcHRpb246Cj4gKyAg ICAgIFRoZSByZWdpc3RlciBvZiBjbGllbnQgZHJpdmVyIGNhbiBiZSBjb25maWd1cmVkIGJ5IGdj ZSB3aXRoIDQgYXJndW1lbnRzCj4gKyAgICAgIGRlZmluZWQgaW4gdGhpcyBwcm9wZXJ0eSwgc3Vj aCBhcyBwaGFuZGxlIG9mIGdjZSwgc3Vic3lzIGlkLAo+ICsgICAgICByZWdpc3RlciBvZmZzZXQg YW5kIHNpemUuCj4gKyAgICAgIEVhY2ggc3Vic3lzIGlkIGlzIG1hcHBpbmcgdG8gYSBiYXNlIGFk ZHJlc3Mgb2YgZGlzcGxheSBmdW5jdGlvbiBibG9ja3MKPiArICAgICAgcmVnaXN0ZXIgd2hpY2gg aXMgZGVmaW5lZCBpbiB0aGUgZ2NlIGhlYWRlcgo+ICsgICAgICBpbmNsdWRlL2R0LWJpbmRpbmdz L2djZS88Y2hpcD4tZ2NlLmguCj4gKyAgICAkcmVmOiAvc2NoZW1hcy90eXBlcy55YW1sIy9kZWZp bml0aW9ucy9waGFuZGxlLWFycmF5Cj4gKyAgICBtYXhJdGVtczogMQo+ICsKPiArcmVxdWlyZWQ6 Cj4gKyAgLSBjb21wYXRpYmxlCj4gKyAgLSByZWcKPiArICAtIGludGVycnVwdHMKPiArICAtIHBv d2VyLWRvbWFpbnMKPiArICAtIGNsb2Nrcwo+ICsKPiArYWRkaXRpb25hbFByb3BlcnRpZXM6IGZh bHNlCj4gKwo+ICtleGFtcGxlczoKPiArICAtIHwKPiArCj4gKyAgICBjb2xvcjA6IGNvbG9yQDE0 MDEzMDAwIHsKPiArICAgICAgICBjb21wYXRpYmxlID0gIm1lZGlhdGVrLG10ODE3My1kaXNwLWNv bG9yIjsKPiArICAgICAgICByZWcgPSA8MCAweDE0MDEzMDAwIDAgMHgxMDAwPjsKPiArICAgICAg ICBpbnRlcnJ1cHRzID0gPEdJQ19TUEkgMTg3IElSUV9UWVBFX0xFVkVMX0xPVz47Cj4gKyAgICAg ICAgcG93ZXItZG9tYWlucyA9IDwmc2Nwc3lzIE1UODE3M19QT1dFUl9ET01BSU5fTU0+Owo+ICsg ICAgICAgIGNsb2NrcyA9IDwmbW1zeXMgQ0xLX01NX0RJU1BfQ09MT1IwPjsKPiArICAgICAgICBt ZWRpYXRlayxnY2UtY2xpZW50LXJlZyA9IDwmZ2NlIFNVQlNZU18xNDAxWFhYWCAweDMwMDAgMHgx MDAwPjsKPiArICAgIH07Cj4gZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZGV2aWNldHJlZS9i aW5kaW5ncy9kaXNwbGF5L21lZGlhdGVrL21lZGlhdGVrLGRpc3AudHh0IGIvRG9jdW1lbnRhdGlv bi9kZXZpY2V0cmVlL2JpbmRpbmdzL2Rpc3BsYXkvbWVkaWF0ZWsvbWVkaWF0ZWssZGlzcC50eHQK PiBkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCBmYmI1OWM5ZGRkYTYuLjAwMDAwMDAw MDAwMAo+IC0tLSBhL0RvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9kaXNwbGF5L21l ZGlhdGVrL21lZGlhdGVrLGRpc3AudHh0Cj4gKysrIC9kZXYvbnVsbAo+IEBAIC0xLDIxOSArMCww IEBACj4gLU1lZGlhdGVrIGRpc3BsYXkgc3Vic3lzdGVtCj4gLT09PT09PT09PT09PT09PT09PT09 PT09PT09Cj4gLQo+IC1UaGUgTWVkaWF0ZWsgZGlzcGxheSBzdWJzeXN0ZW0gY29uc2lzdHMgb2Yg dmFyaW91cyBESVNQIGZ1bmN0aW9uIGJsb2NrcyBpbiB0aGUKPiAtTU1TWVMgcmVnaXN0ZXIgc3Bh Y2UuIFRoZSBjb25uZWN0aW9ucyBiZXR3ZWVuIHRoZW0gY2FuIGJlIGNvbmZpZ3VyZWQgYnkgb3V0 cHV0Cj4gLWFuZCBpbnB1dCBzZWxlY3RvcnMgaW4gdGhlIE1NU1lTX0NPTkZJRyByZWdpc3RlciBz cGFjZS4gUGl4ZWwgY2xvY2sgYW5kIHN0YXJ0Cj4gLW9mIGZyYW1lIHNpZ25hbCBhcmUgZGlzdHJp YnV0ZWQgdG8gdGhlIG90aGVyIGZ1bmN0aW9uIGJsb2NrcyBieSBhIERJU1BfTVVURVgKPiAtZnVu Y3Rpb24gYmxvY2suCj4gLQo+IC1BbGwgRElTUCBkZXZpY2UgdHJlZSBub2RlcyBtdXN0IGJlIHNp YmxpbmdzIHRvIHRoZSBjZW50cmFsIE1NU1lTX0NPTkZJRyBub2RlLgo+IC1Gb3IgYSBkZXNjcmlw dGlvbiBvZiB0aGUgTU1TWVNfQ09ORklHIGJpbmRpbmcsIHNlZQo+IC1Eb2N1bWVudGF0aW9uL2Rl dmljZXRyZWUvYmluZGluZ3MvYXJtL21lZGlhdGVrL21lZGlhdGVrLG1tc3lzLnR4dC4KPiAtCj4g LURJU1AgZnVuY3Rpb24gYmxvY2tzCj4gLT09PT09PT09PT09PT09PT09PT09Cj4gLQo+IC1BIGRp c3BsYXkgc3RyZWFtIHN0YXJ0cyBhdCBhIHNvdXJjZSBmdW5jdGlvbiBibG9jayB0aGF0IHJlYWRz IHBpeGVsIGRhdGEgZnJvbQo+IC1tZW1vcnkgYW5kIGVuZHMgd2l0aCBhIHNpbmsgZnVuY3Rpb24g YmxvY2sgdGhhdCBkcml2ZXMgcGl4ZWxzIG9uIGEgZGlzcGxheQo+IC1pbnRlcmZhY2UsIG9yIHdy aXRlcyBwaXhlbHMgYmFjayB0byBtZW1vcnkuIEFsbCBESVNQIGZ1bmN0aW9uIGJsb2NrcyBoYXZl Cj4gLXRoZWlyIG93biByZWdpc3RlciBzcGFjZSwgaW50ZXJydXB0LCBhbmQgY2xvY2sgZ2F0ZS4g VGhlIGJsb2NrcyB0aGF0IGNhbgo+IC1hY2Nlc3MgbWVtb3J5IGFkZGl0aW9uYWxseSBoYXZlIHRv IGxpc3QgdGhlIElPTU1VIGFuZCBsb2NhbCBhcmJpdGVyIHRoZXkgYXJlCj4gLWNvbm5lY3RlZCB0 by4KPiAtCj4gLUZvciBhIGRlc2NyaXB0aW9uIG9mIHRoZSBkaXNwbGF5IGludGVyZmFjZSBzaW5r IGZ1bmN0aW9uIGJsb2Nrcywgc2VlCj4gLURvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5n cy9kaXNwbGF5L21lZGlhdGVrL21lZGlhdGVrLGRzaS50eHQgYW5kCj4gLURvY3VtZW50YXRpb24v ZGV2aWNldHJlZS9iaW5kaW5ncy9kaXNwbGF5L21lZGlhdGVrL21lZGlhdGVrLGRwaS55YW1sLgo+ IC0KPiAtUmVxdWlyZWQgcHJvcGVydGllcyAoYWxsIGZ1bmN0aW9uIGJsb2Nrcyk6Cj4gLS0gY29t cGF0aWJsZTogIm1lZGlhdGVrLDxjaGlwPi1kaXNwLTxmdW5jdGlvbj4iLCBvbmUgb2YKPiAtICAg ICAgICJtZWRpYXRlayw8Y2hpcD4tZGlzcC1vdmwiICAgICAgICAgICAgICAtIG92ZXJsYXkgKDQg bGF5ZXJzLCBibGVuZGluZywgY3NjKQo+IC0gICAgICAgIm1lZGlhdGVrLDxjaGlwPi1kaXNwLW92 bC0ybCIgICAgICAgICAgIC0gb3ZlcmxheSAoMiBsYXllcnMsIGJsZW5kaW5nLCBjc2MpCj4gLSAg ICAgICAibWVkaWF0ZWssPGNoaXA+LWRpc3AtcmRtYSIgICAgICAgICAgICAgLSByZWFkIERNQSAv IGxpbmUgYnVmZmVyCj4gLSAgICAgICAibWVkaWF0ZWssPGNoaXA+LWRpc3Atd2RtYSIgICAgICAg ICAgICAgLSB3cml0ZSBETUEKPiAtICAgICAgICJtZWRpYXRlayw8Y2hpcD4tZGlzcC1jY29yciIg ICAgICAgICAgICAtIGNvbG9yIGNvcnJlY3Rpb24KPiAtICAgICAgICJtZWRpYXRlayw8Y2hpcD4t ZGlzcC1jb2xvciIgICAgICAgICAgICAtIGNvbG9yIHByb2Nlc3Nvcgo+IC0gICAgICAgIm1lZGlh dGVrLDxjaGlwPi1kaXNwLWRpdGhlciIgICAgICAgICAgIC0gZGl0aGVyCj4gLSAgICAgICAibWVk aWF0ZWssPGNoaXA+LWRpc3AtYWFsIiAgICAgICAgICAgICAgLSBhZGFwdGl2ZSBhbWJpZW50IGxp Z2h0IGNvbnRyb2xsZXIKPiAtICAgICAgICJtZWRpYXRlayw8Y2hpcD4tZGlzcC1nYW1tYSIgICAg ICAgICAgICAtIGdhbW1hIGNvcnJlY3Rpb24KPiAtICAgICAgICJtZWRpYXRlayw8Y2hpcD4tZGlz cC1tZXJnZSIgICAgICAgICAgICAtIG1lcmdlIHN0cmVhbXMgZnJvbSB0d28gUkRNQSBzb3VyY2Vz Cj4gLSAgICAgICAibWVkaWF0ZWssPGNoaXA+LWRpc3AtcG9zdG1hc2siICAgICAgICAgLSBjb250 cm9sIHJvdW5kIGNvcm5lciBmb3IgZGlzcGxheSBmcmFtZQo+IC0gICAgICAgIm1lZGlhdGVrLDxj aGlwPi1kaXNwLXNwbGl0IiAgICAgICAgICAgIC0gc3BsaXQgc3RyZWFtIHRvIHR3byBlbmNvZGVy cwo+IC0gICAgICAgIm1lZGlhdGVrLDxjaGlwPi1kaXNwLXVmb2UiICAgICAgICAgICAgIC0gZGF0 YSBjb21wcmVzc2lvbiBlbmdpbmUKPiAtICAgICAgICJtZWRpYXRlayw8Y2hpcD4tZHNpIiAgICAg ICAgICAgICAgICAgICAtIERTSSBjb250cm9sbGVyLCBzZWUgbWVkaWF0ZWssZHNpLnR4dAo+IC0g ICAgICAgIm1lZGlhdGVrLDxjaGlwPi1kcGkiICAgICAgICAgICAgICAgICAgIC0gRFBJIGNvbnRy b2xsZXIsIHNlZSBtZWRpYXRlayxkcGkudHh0Cj4gLSAgICAgICAibWVkaWF0ZWssPGNoaXA+LWRp c3AtbXV0ZXgiICAgICAgICAgICAgLSBkaXNwbGF5IG11dGV4Cj4gLSAgICAgICAibWVkaWF0ZWss PGNoaXA+LWRpc3Atb2QiICAgICAgICAgICAgICAgLSBvdmVyZHJpdmUKPiAtICB0aGUgc3VwcG9y dGVkIGNoaXBzIGFyZSBtdDI3MDEsIG10NzYyMywgbXQyNzEyLCBtdDgxNjcsIG10ODE3MywgbXQ4 MTgzIGFuZCBtdDgxOTIuCj4gLS0gcmVnOiBQaHlzaWNhbCBiYXNlIGFkZHJlc3MgYW5kIGxlbmd0 aCBvZiB0aGUgZnVuY3Rpb24gYmxvY2sgcmVnaXN0ZXIgc3BhY2UKPiAtLSBpbnRlcnJ1cHRzOiBU aGUgaW50ZXJydXB0IHNpZ25hbCBmcm9tIHRoZSBmdW5jdGlvbiBibG9jayAocmVxdWlyZWQsIGV4 Y2VwdCBmb3IKPiAtICBtZXJnZSBhbmQgc3BsaXQgZnVuY3Rpb24gYmxvY2tzKS4KPiAtLSBjbG9j a3M6IGRldmljZSBjbG9ja3MKPiAtICBTZWUgRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRp bmdzL2Nsb2NrL2Nsb2NrLWJpbmRpbmdzLnR4dCBmb3IgZGV0YWlscy4KPiAtICBGb3IgbW9zdCBm dW5jdGlvbiBibG9ja3MgdGhpcyBpcyBqdXN0IGEgc2luZ2xlIGNsb2NrIGlucHV0LiBPbmx5IHRo ZSBEU0kgYW5kCj4gLSAgRFBJIGNvbnRyb2xsZXIgbm9kZXMgaGF2ZSBtdWx0aXBsZSBjbG9jayBp bnB1dHMuIFRoZXNlIGFyZSBkb2N1bWVudGVkIGluCj4gLSAgbWVkaWF0ZWssZHNpLnR4dCBhbmQg bWVkaWF0ZWssZHBpLnR4dCwgcmVzcGVjdGl2ZWx5Lgo+IC0gIEFuIGV4Y2VwdGlvbiBpcyB0aGF0 IHRoZSBtdDgxODMgbXV0ZXggaXMgYWx3YXlzIGZyZWUgcnVubmluZyB3aXRoIG5vIGNsb2NrcyBw cm9wZXJ0eS4KPiAtCj4gLVJlcXVpcmVkIHByb3BlcnRpZXMgKERNQSBmdW5jdGlvbiBibG9ja3Mp Ogo+IC0tIGNvbXBhdGlibGU6IFNob3VsZCBiZSBvbmUgb2YKPiAtICAgICAgICJtZWRpYXRlayw8 Y2hpcD4tZGlzcC1vdmwiCj4gLSAgICAgICAibWVkaWF0ZWssPGNoaXA+LWRpc3AtcmRtYSIKPiAt ICAgICAgICJtZWRpYXRlayw8Y2hpcD4tZGlzcC13ZG1hIgo+IC0gIHRoZSBzdXBwb3J0ZWQgY2hp cHMgYXJlIG10MjcwMSwgbXQ4MTY3IGFuZCBtdDgxNzMuCj4gLS0gbGFyYjogU2hvdWxkIGNvbnRh aW4gYSBwaGFuZGxlIHBvaW50aW5nIHRvIHRoZSBsb2NhbCBhcmJpdGVyIGRldmljZSBhcyBkZWZp bmVkCj4gLSAgaW4gRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL21lbW9yeS1jb250 cm9sbGVycy9tZWRpYXRlayxzbWktbGFyYi55YW1sCj4gLS0gaW9tbXVzOiBTaG91bGQgcG9pbnQg dG8gdGhlIHJlc3BlY3RpdmUgSU9NTVUgYmxvY2sgd2l0aCBtYXN0ZXIgcG9ydCBhcwo+IC0gIGFy Z3VtZW50LCBzZWUgRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2lvbW11L21lZGlh dGVrLGlvbW11LnlhbWwKPiAtICBmb3IgZGV0YWlscy4KPiAtCj4gLU9wdGlvbmFsIHByb3BlcnRp ZXMgKFJETUEgZnVuY3Rpb24gYmxvY2tzKToKPiAtLSBtZWRpYXRlayxyZG1hLWZpZm8tc2l6ZTog cmRtYSBmaWZvIHNpemUgbWF5IGJlIGRpZmZlcmVudCBldmVuIGluIHNhbWUgU09DLCBhZGQgdGhp cwo+IC0gIHByb3BlcnR5IHRvIHRoZSBjb3JyZXNwb25kaW5nIHJkbWEKPiAtICB0aGUgdmFsdWUg aXMgdGhlIE1heCB2YWx1ZSB3aGljaCBkZWZpbmVkIGluIGhhcmR3YXJlIGRhdGEgc2hlZXQuCj4g LSAgbWVkaWF0ZWsscmRtYS1maWZvLXNpemUgb2YgbXQ4MTczLXJkbWEwIGlzIDhLCj4gLSAgbWVk aWF0ZWsscmRtYS1maWZvLXNpemUgb2YgbXQ4MTgzLXJkbWEwIGlzIDVLCj4gLSAgbWVkaWF0ZWss cmRtYS1maWZvLXNpemUgb2YgbXQ4MTgzLXJkbWExIGlzIDJLCj4gLQo+IC1FeGFtcGxlczoKPiAt Cj4gLW1tc3lzOiBjbG9jay1jb250cm9sbGVyQDE0MDAwMDAwIHsKPiAtICAgICAgIGNvbXBhdGli bGUgPSAibWVkaWF0ZWssbXQ4MTczLW1tc3lzIiwgInN5c2NvbiI7Cj4gLSAgICAgICByZWcgPSA8 MCAweDE0MDAwMDAwIDAgMHgxMDAwPjsKPiAtICAgICAgIHBvd2VyLWRvbWFpbnMgPSA8JnNjcHN5 cyBNVDgxNzNfUE9XRVJfRE9NQUlOX01NPjsKPiAtICAgICAgICNjbG9jay1jZWxscyA9IDwxPjsK PiAtfTsKPiAtCj4gLW92bDA6IG92bEAxNDAwYzAwMCB7Cj4gLSAgICAgICBjb21wYXRpYmxlID0g Im1lZGlhdGVrLG10ODE3My1kaXNwLW92bCI7Cj4gLSAgICAgICByZWcgPSA8MCAweDE0MDBjMDAw IDAgMHgxMDAwPjsKPiAtICAgICAgIGludGVycnVwdHMgPSA8R0lDX1NQSSAxODAgSVJRX1RZUEVf TEVWRUxfTE9XPjsKPiAtICAgICAgIHBvd2VyLWRvbWFpbnMgPSA8JnNjcHN5cyBNVDgxNzNfUE9X RVJfRE9NQUlOX01NPjsKPiAtICAgICAgIGNsb2NrcyA9IDwmbW1zeXMgQ0xLX01NX0RJU1BfT1ZM MD47Cj4gLSAgICAgICBpb21tdXMgPSA8JmlvbW11IE00VV9QT1JUX0RJU1BfT1ZMMD47Cj4gLSAg ICAgICBtZWRpYXRlayxsYXJiID0gPCZsYXJiMD47Cj4gLX07Cj4gLQo+IC1vdmwxOiBvdmxAMTQw MGQwMDAgewo+IC0gICAgICAgY29tcGF0aWJsZSA9ICJtZWRpYXRlayxtdDgxNzMtZGlzcC1vdmwi Owo+IC0gICAgICAgcmVnID0gPDAgMHgxNDAwZDAwMCAwIDB4MTAwMD47Cj4gLSAgICAgICBpbnRl cnJ1cHRzID0gPEdJQ19TUEkgMTgxIElSUV9UWVBFX0xFVkVMX0xPVz47Cj4gLSAgICAgICBwb3dl ci1kb21haW5zID0gPCZzY3BzeXMgTVQ4MTczX1BPV0VSX0RPTUFJTl9NTT47Cj4gLSAgICAgICBj bG9ja3MgPSA8Jm1tc3lzIENMS19NTV9ESVNQX09WTDE+Owo+IC0gICAgICAgaW9tbXVzID0gPCZp b21tdSBNNFVfUE9SVF9ESVNQX09WTDE+Owo+IC0gICAgICAgbWVkaWF0ZWssbGFyYiA9IDwmbGFy YjQ+Owo+IC19Owo+IC0KPiAtcmRtYTA6IHJkbWFAMTQwMGUwMDAgewo+IC0gICAgICAgY29tcGF0 aWJsZSA9ICJtZWRpYXRlayxtdDgxNzMtZGlzcC1yZG1hIjsKPiAtICAgICAgIHJlZyA9IDwwIDB4 MTQwMGUwMDAgMCAweDEwMDA+Owo+IC0gICAgICAgaW50ZXJydXB0cyA9IDxHSUNfU1BJIDE4MiBJ UlFfVFlQRV9MRVZFTF9MT1c+Owo+IC0gICAgICAgcG93ZXItZG9tYWlucyA9IDwmc2Nwc3lzIE1U ODE3M19QT1dFUl9ET01BSU5fTU0+Owo+IC0gICAgICAgY2xvY2tzID0gPCZtbXN5cyBDTEtfTU1f RElTUF9SRE1BMD47Cj4gLSAgICAgICBpb21tdXMgPSA8JmlvbW11IE00VV9QT1JUX0RJU1BfUkRN QTA+Owo+IC0gICAgICAgbWVkaWF0ZWssbGFyYiA9IDwmbGFyYjA+Owo+IC0gICAgICAgbWVkaWF0 ZWsscmRtYS1maWZvc2l6ZSA9IDw4MTkyPjsKPiAtfTsKPiAtCj4gLXJkbWExOiByZG1hQDE0MDBm MDAwIHsKPiAtICAgICAgIGNvbXBhdGlibGUgPSAibWVkaWF0ZWssbXQ4MTczLWRpc3AtcmRtYSI7 Cj4gLSAgICAgICByZWcgPSA8MCAweDE0MDBmMDAwIDAgMHgxMDAwPjsKPiAtICAgICAgIGludGVy cnVwdHMgPSA8R0lDX1NQSSAxODMgSVJRX1RZUEVfTEVWRUxfTE9XPjsKPiAtICAgICAgIHBvd2Vy LWRvbWFpbnMgPSA8JnNjcHN5cyBNVDgxNzNfUE9XRVJfRE9NQUlOX01NPjsKPiAtICAgICAgIGNs b2NrcyA9IDwmbW1zeXMgQ0xLX01NX0RJU1BfUkRNQTE+Owo+IC0gICAgICAgaW9tbXVzID0gPCZp b21tdSBNNFVfUE9SVF9ESVNQX1JETUExPjsKPiAtICAgICAgIG1lZGlhdGVrLGxhcmIgPSA8Jmxh cmI0PjsKPiAtfTsKPiAtCj4gLXJkbWEyOiByZG1hQDE0MDEwMDAwIHsKPiAtICAgICAgIGNvbXBh dGlibGUgPSAibWVkaWF0ZWssbXQ4MTczLWRpc3AtcmRtYSI7Cj4gLSAgICAgICByZWcgPSA8MCAw eDE0MDEwMDAwIDAgMHgxMDAwPjsKPiAtICAgICAgIGludGVycnVwdHMgPSA8R0lDX1NQSSAxODQg SVJRX1RZUEVfTEVWRUxfTE9XPjsKPiAtICAgICAgIHBvd2VyLWRvbWFpbnMgPSA8JnNjcHN5cyBN VDgxNzNfUE9XRVJfRE9NQUlOX01NPjsKPiAtICAgICAgIGNsb2NrcyA9IDwmbW1zeXMgQ0xLX01N X0RJU1BfUkRNQTI+Owo+IC0gICAgICAgaW9tbXVzID0gPCZpb21tdSBNNFVfUE9SVF9ESVNQX1JE TUEyPjsKPiAtICAgICAgIG1lZGlhdGVrLGxhcmIgPSA8JmxhcmI0PjsKPiAtfTsKPiAtCj4gLXdk bWEwOiB3ZG1hQDE0MDExMDAwIHsKPiAtICAgICAgIGNvbXBhdGlibGUgPSAibWVkaWF0ZWssbXQ4 MTczLWRpc3Atd2RtYSI7Cj4gLSAgICAgICByZWcgPSA8MCAweDE0MDExMDAwIDAgMHgxMDAwPjsK PiAtICAgICAgIGludGVycnVwdHMgPSA8R0lDX1NQSSAxODUgSVJRX1RZUEVfTEVWRUxfTE9XPjsK PiAtICAgICAgIHBvd2VyLWRvbWFpbnMgPSA8JnNjcHN5cyBNVDgxNzNfUE9XRVJfRE9NQUlOX01N PjsKPiAtICAgICAgIGNsb2NrcyA9IDwmbW1zeXMgQ0xLX01NX0RJU1BfV0RNQTA+Owo+IC0gICAg ICAgaW9tbXVzID0gPCZpb21tdSBNNFVfUE9SVF9ESVNQX1dETUEwPjsKPiAtICAgICAgIG1lZGlh dGVrLGxhcmIgPSA8JmxhcmIwPjsKPiAtfTsKPiAtCj4gLXdkbWExOiB3ZG1hQDE0MDEyMDAwIHsK PiAtICAgICAgIGNvbXBhdGlibGUgPSAibWVkaWF0ZWssbXQ4MTczLWRpc3Atd2RtYSI7Cj4gLSAg ICAgICByZWcgPSA8MCAweDE0MDEyMDAwIDAgMHgxMDAwPjsKPiAtICAgICAgIGludGVycnVwdHMg PSA8R0lDX1NQSSAxODYgSVJRX1RZUEVfTEVWRUxfTE9XPjsKPiAtICAgICAgIHBvd2VyLWRvbWFp bnMgPSA8JnNjcHN5cyBNVDgxNzNfUE9XRVJfRE9NQUlOX01NPjsKPiAtICAgICAgIGNsb2NrcyA9 IDwmbW1zeXMgQ0xLX01NX0RJU1BfV0RNQTE+Owo+IC0gICAgICAgaW9tbXVzID0gPCZpb21tdSBN NFVfUE9SVF9ESVNQX1dETUExPjsKPiAtICAgICAgIG1lZGlhdGVrLGxhcmIgPSA8JmxhcmI0PjsK PiAtfTsKPiAtCj4gLWNvbG9yMDogY29sb3JAMTQwMTMwMDAgewo+IC0gICAgICAgY29tcGF0aWJs ZSA9ICJtZWRpYXRlayxtdDgxNzMtZGlzcC1jb2xvciI7Cj4gLSAgICAgICByZWcgPSA8MCAweDE0 MDEzMDAwIDAgMHgxMDAwPjsKPiAtICAgICAgIGludGVycnVwdHMgPSA8R0lDX1NQSSAxODcgSVJR X1RZUEVfTEVWRUxfTE9XPjsKPiAtICAgICAgIHBvd2VyLWRvbWFpbnMgPSA8JnNjcHN5cyBNVDgx NzNfUE9XRVJfRE9NQUlOX01NPjsKPiAtICAgICAgIGNsb2NrcyA9IDwmbW1zeXMgQ0xLX01NX0RJ U1BfQ09MT1IwPjsKPiAtfTsKPiAtCj4gLWNvbG9yMTogY29sb3JAMTQwMTQwMDAgewo+IC0gICAg ICAgY29tcGF0aWJsZSA9ICJtZWRpYXRlayxtdDgxNzMtZGlzcC1jb2xvciI7Cj4gLSAgICAgICBy ZWcgPSA8MCAweDE0MDE0MDAwIDAgMHgxMDAwPjsKPiAtICAgICAgIGludGVycnVwdHMgPSA8R0lD X1NQSSAxODggSVJRX1RZUEVfTEVWRUxfTE9XPjsKPiAtICAgICAgIHBvd2VyLWRvbWFpbnMgPSA8 JnNjcHN5cyBNVDgxNzNfUE9XRVJfRE9NQUlOX01NPjsKPiAtICAgICAgIGNsb2NrcyA9IDwmbW1z eXMgQ0xLX01NX0RJU1BfQ09MT1IxPjsKPiAtfTsKPiAtCj4gLWFhbEAxNDAxNTAwMCB7Cj4gLSAg ICAgICBjb21wYXRpYmxlID0gIm1lZGlhdGVrLG10ODE3My1kaXNwLWFhbCI7Cj4gLSAgICAgICBy ZWcgPSA8MCAweDE0MDE1MDAwIDAgMHgxMDAwPjsKPiAtICAgICAgIGludGVycnVwdHMgPSA8R0lD X1NQSSAxODkgSVJRX1RZUEVfTEVWRUxfTE9XPjsKPiAtICAgICAgIHBvd2VyLWRvbWFpbnMgPSA8 JnNjcHN5cyBNVDgxNzNfUE9XRVJfRE9NQUlOX01NPjsKPiAtICAgICAgIGNsb2NrcyA9IDwmbW1z eXMgQ0xLX01NX0RJU1BfQUFMPjsKPiAtfTsKPiAtCj4gLWdhbW1hQDE0MDE2MDAwIHsKPiAtICAg ICAgIGNvbXBhdGlibGUgPSAibWVkaWF0ZWssbXQ4MTczLWRpc3AtZ2FtbWEiOwo+IC0gICAgICAg cmVnID0gPDAgMHgxNDAxNjAwMCAwIDB4MTAwMD47Cj4gLSAgICAgICBpbnRlcnJ1cHRzID0gPEdJ Q19TUEkgMTkwIElSUV9UWVBFX0xFVkVMX0xPVz47Cj4gLSAgICAgICBwb3dlci1kb21haW5zID0g PCZzY3BzeXMgTVQ4MTczX1BPV0VSX0RPTUFJTl9NTT47Cj4gLSAgICAgICBjbG9ja3MgPSA8Jm1t c3lzIENMS19NTV9ESVNQX0dBTU1BPjsKPiAtfTsKPiAtCj4gLXVmb2VAMTQwMWEwMDAgewo+IC0g ICAgICAgY29tcGF0aWJsZSA9ICJtZWRpYXRlayxtdDgxNzMtZGlzcC11Zm9lIjsKPiAtICAgICAg IHJlZyA9IDwwIDB4MTQwMWEwMDAgMCAweDEwMDA+Owo+IC0gICAgICAgaW50ZXJydXB0cyA9IDxH SUNfU1BJIDE5MSBJUlFfVFlQRV9MRVZFTF9MT1c+Owo+IC0gICAgICAgcG93ZXItZG9tYWlucyA9 IDwmc2Nwc3lzIE1UODE3M19QT1dFUl9ET01BSU5fTU0+Owo+IC0gICAgICAgY2xvY2tzID0gPCZt bXN5cyBDTEtfTU1fRElTUF9VRk9FPjsKPiAtfTsKPiAtCj4gLWRzaTA6IGRzaUAxNDAxYjAwMCB7 Cj4gLSAgICAgICAvKiBTZWUgbWVkaWF0ZWssZHNpLnR4dCBmb3IgZGV0YWlscyAqLwo+IC19Owo+ IC0KPiAtZHBpMDogZHBpQDE0MDFkMDAwIHsKPiAtICAgICAgIC8qIFNlZSBtZWRpYXRlayxkcGku dHh0IGZvciBkZXRhaWxzICovCj4gLX07Cj4gLQo+IC1tdXRleDogbXV0ZXhAMTQwMjAwMDAgewo+ IC0gICAgICAgY29tcGF0aWJsZSA9ICJtZWRpYXRlayxtdDgxNzMtZGlzcC1tdXRleCI7Cj4gLSAg ICAgICByZWcgPSA8MCAweDE0MDIwMDAwIDAgMHgxMDAwPjsKPiAtICAgICAgIGludGVycnVwdHMg PSA8R0lDX1NQSSAxNjkgSVJRX1RZUEVfTEVWRUxfTE9XPjsKPiAtICAgICAgIHBvd2VyLWRvbWFp bnMgPSA8JnNjcHN5cyBNVDgxNzNfUE9XRVJfRE9NQUlOX01NPjsKPiAtICAgICAgIGNsb2NrcyA9 IDwmbW1zeXMgQ0xLX01NX01VVEVYXzMySz47Cj4gLX07Cj4gLQo+IC1vZEAxNDAyMzAwMCB7Cj4g LSAgICAgICBjb21wYXRpYmxlID0gIm1lZGlhdGVrLG10ODE3My1kaXNwLW9kIjsKPiAtICAgICAg IHJlZyA9IDwwIDB4MTQwMjMwMDAgMCAweDEwMDA+Owo+IC0gICAgICAgcG93ZXItZG9tYWlucyA9 IDwmc2Nwc3lzIE1UODE3M19QT1dFUl9ET01BSU5fTU0+Owo+IC0gICAgICAgY2xvY2tzID0gPCZt bXN5cyBDTEtfTU1fRElTUF9PRD47Cj4gLX07Cj4gZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24v ZGV2aWNldHJlZS9iaW5kaW5ncy9kaXNwbGF5L21lZGlhdGVrL21lZGlhdGVrLGRpdGhlci55YW1s IGIvRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2Rpc3BsYXkvbWVkaWF0ZWsvbWVk aWF0ZWssZGl0aGVyLnlhbWwKPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDAwMDAwMDAw MDAwMC4uMzE2Mzc0MzE1OTYyCj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBiL0RvY3VtZW50YXRpb24v ZGV2aWNldHJlZS9iaW5kaW5ncy9kaXNwbGF5L21lZGlhdGVrL21lZGlhdGVrLGRpdGhlci55YW1s Cj4gQEAgLTAsMCArMSw3OCBAQAo+ICsjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiAoR1BMLTIu MC1vbmx5IE9SIEJTRC0yLUNsYXVzZSkKPiArJVlBTUwgMS4yCj4gKy0tLQo+ICskaWQ6IGh0dHA6 Ly9kZXZpY2V0cmVlLm9yZy9zY2hlbWFzL2Rpc3BsYXkvbWVkaWF0ZWsvbWVkaWF0ZWssZGl0aGVy LnlhbWwjCj4gKyRzY2hlbWE6IGh0dHA6Ly9kZXZpY2V0cmVlLm9yZy9tZXRhLXNjaGVtYXMvY29y ZS55YW1sIwo+ICsKPiArdGl0bGU6IE1lZGlhdGVrIGRpc3BsYXkgZGl0aGVyIHByb2Nlc3Nvcgo+ ICsKPiArbWFpbnRhaW5lcnM6Cj4gKyAgLSBDaHVuLUt1YW5nIEh1IDxjaHVua3VhbmcuaHVAa2Vy bmVsLm9yZz4KPiArICAtIFBoaWxpcHAgWmFiZWwgPHAuemFiZWxAcGVuZ3V0cm9uaXguZGU+Cj4g Kwo+ICtkZXNjcmlwdGlvbjogfAo+ICsgIE1lZGlhdGVrIGRpc3BsYXkgZGl0aGVyIHByb2Nlc3Nv ciwgbmFtZWx5IERJVEhFUiwgd29ya3MgYnkgYXBwcm94aW1hdGluZwo+ICsgIHVuYXZhaWxhYmxl IGNvbG9ycyB3aXRoIGF2YWlsYWJsZSBjb2xvcnMgYW5kIGJ5IG1peGluZyBhbmQgbWF0Y2hpbmcg YXZhaWxhYmxlCj4gKyAgY29sb3JzIHRvIG1pbWljIHVuYXZhaWxhYmxlIG9uZXMuCj4gKyAgRElU SEVSIGRldmljZSBub2RlIG11c3QgYmUgc2libGluZ3MgdG8gdGhlIGNlbnRyYWwgTU1TWVNfQ09O RklHIG5vZGUuCj4gKyAgRm9yIGEgZGVzY3JpcHRpb24gb2YgdGhlIE1NU1lTX0NPTkZJRyBiaW5k aW5nLCBzZWUKPiArICBEb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvYXJtL21lZGlh dGVrL21lZGlhdGVrLG1tc3lzLnlhbWwKPiArICBmb3IgZGV0YWlscy4KPiArCj4gK3Byb3BlcnRp ZXM6Cj4gKyAgY29tcGF0aWJsZToKPiArICAgIG9uZU9mOgo+ICsgICAgICAtIGl0ZW1zOgo+ICsg ICAgICAgICAgLSBjb25zdDogbWVkaWF0ZWssbXQ4MTgzLWRpc3AtZGl0aGVyCj4gKyAgICAgIC0g aXRlbXM6Cj4gKyAgICAgICAgICAtIGVudW06Cj4gKyAgICAgICAgICAgICAgLSBtZWRpYXRlayxt dDgxOTItZGlzcC1kaXRoZXIKPiArICAgICAgICAgIC0gZW51bToKPiArICAgICAgICAgICAgICAt IG1lZGlhdGVrLG10ODE4My1kaXNwLWRpdGhlcgo+ICsKPiArICByZWc6Cj4gKyAgICBtYXhJdGVt czogMQo+ICsKPiArICBpbnRlcnJ1cHRzOgo+ICsgICAgbWF4SXRlbXM6IDEKPiArCj4gKyAgcG93 ZXItZG9tYWluczoKPiArICAgIGRlc2NyaXB0aW9uOiBBIHBoYW5kbGUgYW5kIFBNIGRvbWFpbiBz cGVjaWZpZXIgYXMgZGVmaW5lZCBieSBiaW5kaW5ncyBvZgo+ICsgICAgICB0aGUgcG93ZXIgY29u dHJvbGxlciBzcGVjaWZpZWQgYnkgcGhhbmRsZS4gU2VlCj4gKyAgICAgIERvY3VtZW50YXRpb24v ZGV2aWNldHJlZS9iaW5kaW5ncy9wb3dlci9wb3dlci1kb21haW4ueWFtbCBmb3IgZGV0YWlscy4K PiArCj4gKyAgY2xvY2tzOgo+ICsgICAgaXRlbXM6Cj4gKyAgICAgIC0gZGVzY3JpcHRpb246IERJ VEhFUiBDbG9jawo+ICsKPiArICBtZWRpYXRlayxnY2UtY2xpZW50LXJlZzoKPiArICAgIGRlc2Ny aXB0aW9uOgo+ICsgICAgICBUaGUgcmVnaXN0ZXIgb2YgY2xpZW50IGRyaXZlciBjYW4gYmUgY29u ZmlndXJlZCBieSBnY2Ugd2l0aCA0IGFyZ3VtZW50cwo+ICsgICAgICBkZWZpbmVkIGluIHRoaXMg cHJvcGVydHksIHN1Y2ggYXMgcGhhbmRsZSBvZiBnY2UsIHN1YnN5cyBpZCwKPiArICAgICAgcmVn aXN0ZXIgb2Zmc2V0IGFuZCBzaXplLgo+ICsgICAgICBFYWNoIHN1YnN5cyBpZCBpcyBtYXBwaW5n IHRvIGEgYmFzZSBhZGRyZXNzIG9mIGRpc3BsYXkgZnVuY3Rpb24gYmxvY2tzCj4gKyAgICAgIHJl Z2lzdGVyIHdoaWNoIGlzIGRlZmluZWQgaW4gdGhlIGdjZSBoZWFkZXIKPiArICAgICAgaW5jbHVk ZS9kdC1iaW5kaW5ncy9nY2UvPGNoaXA+LWdjZS5oLgo+ICsgICAgJHJlZjogL3NjaGVtYXMvdHlw ZXMueWFtbCMvZGVmaW5pdGlvbnMvcGhhbmRsZS1hcnJheQo+ICsgICAgbWF4SXRlbXM6IDEKPiAr Cj4gK3JlcXVpcmVkOgo+ICsgIC0gY29tcGF0aWJsZQo+ICsgIC0gcmVnCj4gKyAgLSBpbnRlcnJ1 cHRzCj4gKyAgLSBwb3dlci1kb21haW5zCj4gKyAgLSBjbG9ja3MKPiArCj4gK2FkZGl0aW9uYWxQ cm9wZXJ0aWVzOiBmYWxzZQo+ICsKPiArZXhhbXBsZXM6Cj4gKyAgLSB8Cj4gKwo+ICsgICAgZGl0 aGVyMDogZGl0aGVyQDE0MDEyMDAwIHsKPiArICAgICAgICBjb21wYXRpYmxlID0gIm1lZGlhdGVr LG10ODE4My1kaXNwLWRpdGhlciI7Cj4gKyAgICAgICAgcmVnID0gPDAgMHgxNDAxMjAwMCAwIDB4 MTAwMD47Cj4gKyAgICAgICAgaW50ZXJydXB0cyA9IDxHSUNfU1BJIDIzNSBJUlFfVFlQRV9MRVZF TF9MT1c+Owo+ICsgICAgICAgIHBvd2VyLWRvbWFpbnMgPSA8JnNwbSBNVDgxODNfUE9XRVJfRE9N QUlOX0RJU1A+Owo+ICsgICAgICAgIGNsb2NrcyA9IDwmbW1zeXMgQ0xLX01NX0RJU1BfRElUSEVS MD47Cj4gKyAgICAgICAgbWVkaWF0ZWssZ2NlLWNsaWVudC1yZWcgPSA8JmdjZSBTVUJTWVNfMTQw MVhYWFggMHgyMDAwIDB4MTAwMD47Cj4gKyAgICB9Owo+IGRpZmYgLS1naXQgYS9Eb2N1bWVudGF0 aW9uL2RldmljZXRyZWUvYmluZGluZ3MvZGlzcGxheS9tZWRpYXRlay9tZWRpYXRlayxnYW1tYS55 YW1sIGIvRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2Rpc3BsYXkvbWVkaWF0ZWsv bWVkaWF0ZWssZ2FtbWEueWFtbAo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXggMDAwMDAw MDAwMDAwLi4xYzUzY2UyMGE3MWUKPiAtLS0gL2Rldi9udWxsCj4gKysrIGIvRG9jdW1lbnRhdGlv bi9kZXZpY2V0cmVlL2JpbmRpbmdzL2Rpc3BsYXkvbWVkaWF0ZWsvbWVkaWF0ZWssZ2FtbWEueWFt bAo+IEBAIC0wLDAgKzEsNzkgQEAKPiArIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogKEdQTC0y LjAtb25seSBPUiBCU0QtMi1DbGF1c2UpCj4gKyVZQU1MIDEuMgo+ICstLS0KPiArJGlkOiBodHRw Oi8vZGV2aWNldHJlZS5vcmcvc2NoZW1hcy9kaXNwbGF5L21lZGlhdGVrL21lZGlhdGVrLGdhbW1h LnlhbWwjCj4gKyRzY2hlbWE6IGh0dHA6Ly9kZXZpY2V0cmVlLm9yZy9tZXRhLXNjaGVtYXMvY29y ZS55YW1sIwo+ICsKPiArdGl0bGU6IE1lZGlhdGVrIGRpc3BsYXkgZ2FtbWEgY29ycmVjdGlvbgo+ ICsKPiArbWFpbnRhaW5lcnM6Cj4gKyAgLSBDaHVuLUt1YW5nIEh1IDxjaHVua3VhbmcuaHVAa2Vy bmVsLm9yZz4KPiArICAtIFBoaWxpcHAgWmFiZWwgPHAuemFiZWxAcGVuZ3V0cm9uaXguZGU+Cj4g Kwo+ICtkZXNjcmlwdGlvbjogfAo+ICsgIE1lZGlhdGVrIGRpc3BsYXkgZ2FtbWEgY29ycmVjdGlv biwgbmFtZWx5IEdBTU1BLCBwcm92aWRlcyBhIG5vbmxpbmVhcgo+ICsgIG9wZXJhdGlvbiB1c2Vk IHRvIGFkanVzdCBsdW1pbmFuY2UgaW4gZGlzcGxheSBzeXN0ZW0uCj4gKyAgR0FNTUEgZGV2aWNl IG5vZGUgbXVzdCBiZSBzaWJsaW5ncyB0byB0aGUgY2VudHJhbCBNTVNZU19DT05GSUcgbm9kZS4K PiArICBGb3IgYSBkZXNjcmlwdGlvbiBvZiB0aGUgTU1TWVNfQ09ORklHIGJpbmRpbmcsIHNlZQo+ ICsgIERvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9hcm0vbWVkaWF0ZWsvbWVkaWF0 ZWssbW1zeXMueWFtbAo+ICsgIGZvciBkZXRhaWxzLgo+ICsKPiArcHJvcGVydGllczoKPiArICBj b21wYXRpYmxlOgo+ICsgICAgb25lT2Y6Cj4gKyAgICAgIC0gaXRlbXM6Cj4gKyAgICAgICAgICAt IGNvbnN0OiBtZWRpYXRlayxtdDgxNzMtZGlzcC1nYW1tYQo+ICsgICAgICAtIGl0ZW1zOgo+ICsg ICAgICAgICAgLSBjb25zdDogbWVkaWF0ZWssbXQ4MTgzLWRpc3AtZ2FtbWEKPiArICAgICAgLSBp dGVtczoKPiArICAgICAgICAgIC0gZW51bToKPiArICAgICAgICAgICAgICAtIG1lZGlhdGVrLG10 ODE5Mi1kaXNwLWdhbW1hCj4gKyAgICAgICAgICAtIGVudW06Cj4gKyAgICAgICAgICAgICAgLSBt ZWRpYXRlayxtdDgxODMtZGlzcC1nYW1tYQo+ICsKPiArICByZWc6Cj4gKyAgICBtYXhJdGVtczog MQo+ICsKPiArICBpbnRlcnJ1cHRzOgo+ICsgICAgbWF4SXRlbXM6IDEKPiArCj4gKyAgcG93ZXIt ZG9tYWluczoKPiArICAgIGRlc2NyaXB0aW9uOiBBIHBoYW5kbGUgYW5kIFBNIGRvbWFpbiBzcGVj aWZpZXIgYXMgZGVmaW5lZCBieSBiaW5kaW5ncyBvZgo+ICsgICAgICB0aGUgcG93ZXIgY29udHJv bGxlciBzcGVjaWZpZWQgYnkgcGhhbmRsZS4gU2VlCj4gKyAgICAgIERvY3VtZW50YXRpb24vZGV2 aWNldHJlZS9iaW5kaW5ncy9wb3dlci9wb3dlci1kb21haW4ueWFtbCBmb3IgZGV0YWlscy4KPiAr Cj4gKyAgY2xvY2tzOgo+ICsgICAgaXRlbXM6Cj4gKyAgICAgIC0gZGVzY3JpcHRpb246IEdBTU1B IENsb2NrCj4gKwo+ICsgIG1lZGlhdGVrLGdjZS1jbGllbnQtcmVnOgo+ICsgICAgZGVzY3JpcHRp b246Cj4gKyAgICAgIFRoZSByZWdpc3RlciBvZiBjbGllbnQgZHJpdmVyIGNhbiBiZSBjb25maWd1 cmVkIGJ5IGdjZSB3aXRoIDQgYXJndW1lbnRzCj4gKyAgICAgIGRlZmluZWQgaW4gdGhpcyBwcm9w ZXJ0eSwgc3VjaCBhcyBwaGFuZGxlIG9mIGdjZSwgc3Vic3lzIGlkLAo+ICsgICAgICByZWdpc3Rl ciBvZmZzZXQgYW5kIHNpemUuCj4gKyAgICAgIEVhY2ggc3Vic3lzIGlkIGlzIG1hcHBpbmcgdG8g YSBiYXNlIGFkZHJlc3Mgb2YgZGlzcGxheSBmdW5jdGlvbiBibG9ja3MKPiArICAgICAgcmVnaXN0 ZXIgd2hpY2ggaXMgZGVmaW5lZCBpbiB0aGUgZ2NlIGhlYWRlcgo+ICsgICAgICBpbmNsdWRlL2R0 LWJpbmRpbmdzL2djZS88Y2hpcD4tZ2NlLmguCj4gKyAgICAkcmVmOiAvc2NoZW1hcy90eXBlcy55 YW1sIy9kZWZpbml0aW9ucy9waGFuZGxlLWFycmF5Cj4gKyAgICBtYXhJdGVtczogMQo+ICsKPiAr cmVxdWlyZWQ6Cj4gKyAgLSBjb21wYXRpYmxlCj4gKyAgLSByZWcKPiArICAtIGludGVycnVwdHMK PiArICAtIHBvd2VyLWRvbWFpbnMKPiArICAtIGNsb2Nrcwo+ICsKPiArYWRkaXRpb25hbFByb3Bl cnRpZXM6IGZhbHNlCj4gKwo+ICtleGFtcGxlczoKPiArICAtIHwKPiArCj4gKyAgICBnYW1tYUAx NDAxNjAwMCB7Cj4gKyAgICAgICAgY29tcGF0aWJsZSA9ICJtZWRpYXRlayxtdDgxNzMtZGlzcC1n YW1tYSI7Cj4gKyAgICAgICAgcmVnID0gPDAgMHgxNDAxNjAwMCAwIDB4MTAwMD47Cj4gKyAgICAg ICAgaW50ZXJydXB0cyA9IDxHSUNfU1BJIDE5MCBJUlFfVFlQRV9MRVZFTF9MT1c+Owo+ICsgICAg ICAgIHBvd2VyLWRvbWFpbnMgPSA8JnNjcHN5cyBNVDgxNzNfUE9XRVJfRE9NQUlOX01NPjsKPiAr ICAgICAgICBjbG9ja3MgPSA8Jm1tc3lzIENMS19NTV9ESVNQX0dBTU1BPjsKPiArICAgICAgICBt ZWRpYXRlayxnY2UtY2xpZW50LXJlZyA9IDwmZ2NlIFNVQlNZU18xNDAxWFhYWCAweDYwMDAgMHgx MDAwPjsKPiArICAgIH07Cj4gZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZGV2aWNldHJlZS9i aW5kaW5ncy9kaXNwbGF5L21lZGlhdGVrL21lZGlhdGVrLG1lcmdlLnlhbWwgYi9Eb2N1bWVudGF0 aW9uL2RldmljZXRyZWUvYmluZGluZ3MvZGlzcGxheS9tZWRpYXRlay9tZWRpYXRlayxtZXJnZS55 YW1sCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAwMDAwMDAuLjc1YmVlYjIw N2NlYgo+IC0tLSAvZGV2L251bGwKPiArKysgYi9Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmlu ZGluZ3MvZGlzcGxheS9tZWRpYXRlay9tZWRpYXRlayxtZXJnZS55YW1sCj4gQEAgLTAsMCArMSw2 OSBAQAo+ICsjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiAoR1BMLTIuMC1vbmx5IE9SIEJTRC0y LUNsYXVzZSkKPiArJVlBTUwgMS4yCj4gKy0tLQo+ICskaWQ6IGh0dHA6Ly9kZXZpY2V0cmVlLm9y Zy9zY2hlbWFzL2Rpc3BsYXkvbWVkaWF0ZWsvbWVkaWF0ZWssbWVyZ2UueWFtbCMKPiArJHNjaGVt YTogaHR0cDovL2RldmljZXRyZWUub3JnL21ldGEtc2NoZW1hcy9jb3JlLnlhbWwjCj4gKwo+ICt0 aXRsZTogTWVkaWF0ZWsgZGlzcGxheSBtZXJnZQo+ICsKPiArbWFpbnRhaW5lcnM6Cj4gKyAgLSBD aHVuLUt1YW5nIEh1IDxjaHVua3VhbmcuaHVAa2VybmVsLm9yZz4KPiArICAtIFBoaWxpcHAgWmFi ZWwgPHAuemFiZWxAcGVuZ3V0cm9uaXguZGU+Cj4gKwo+ICtkZXNjcmlwdGlvbjogfAo+ICsgIE1l ZGlhdGVrIGRpc3BsYXkgbWVyZ2UsIG5hbWVseSBNRVJHRSwgaXMgdXNlZCB0byBtZXJnZSB0d28g c2xpY2UtcGVyLWxpbmUKPiArICBpbnB1dHMgaW50byBvbmUgc2lkZS1ieS1zaWRlIG91dHB1dC4K PiArICBNRVJHRSBkZXZpY2Ugbm9kZSBtdXN0IGJlIHNpYmxpbmdzIHRvIHRoZSBjZW50cmFsIE1N U1lTX0NPTkZJRyBub2RlLgo+ICsgIEZvciBhIGRlc2NyaXB0aW9uIG9mIHRoZSBNTVNZU19DT05G SUcgYmluZGluZywgc2VlCj4gKyAgRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2Fy bS9tZWRpYXRlay9tZWRpYXRlayxtbXN5cy55YW1sCj4gKyAgZm9yIGRldGFpbHMuCj4gKwo+ICtw cm9wZXJ0aWVzOgo+ICsgIGNvbXBhdGlibGU6Cj4gKyAgICBvbmVPZjoKPiArICAgICAgLSBpdGVt czoKPiArICAgICAgICAgIC0gY29uc3Q6IG1lZGlhdGVrLG10ODE3My1kaXNwLW1lcmdlCj4gKwo+ ICsgIHJlZzoKPiArICAgIG1heEl0ZW1zOiAxCj4gKwo+ICsgIGludGVycnVwdHM6Cj4gKyAgICBt YXhJdGVtczogMQo+ICsKPiArICBwb3dlci1kb21haW5zOgo+ICsgICAgZGVzY3JpcHRpb246IEEg cGhhbmRsZSBhbmQgUE0gZG9tYWluIHNwZWNpZmllciBhcyBkZWZpbmVkIGJ5IGJpbmRpbmdzIG9m Cj4gKyAgICAgIHRoZSBwb3dlciBjb250cm9sbGVyIHNwZWNpZmllZCBieSBwaGFuZGxlLiBTZWUK PiArICAgICAgRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3Bvd2VyL3Bvd2VyLWRv bWFpbi55YW1sIGZvciBkZXRhaWxzLgo+ICsKPiArICBjbG9ja3M6Cj4gKyAgICBpdGVtczoKPiAr ICAgICAgLSBkZXNjcmlwdGlvbjogTUVSR0UgQ2xvY2sKPiArCj4gKyAgbWVkaWF0ZWssZ2NlLWNs aWVudC1yZWc6Cj4gKyAgICBkZXNjcmlwdGlvbjoKPiArICAgICAgVGhlIHJlZ2lzdGVyIG9mIGNs aWVudCBkcml2ZXIgY2FuIGJlIGNvbmZpZ3VyZWQgYnkgZ2NlIHdpdGggNCBhcmd1bWVudHMKPiAr ICAgICAgZGVmaW5lZCBpbiB0aGlzIHByb3BlcnR5LCBzdWNoIGFzIHBoYW5kbGUgb2YgZ2NlLCBz dWJzeXMgaWQsCj4gKyAgICAgIHJlZ2lzdGVyIG9mZnNldCBhbmQgc2l6ZS4KPiArICAgICAgRWFj aCBzdWJzeXMgaWQgaXMgbWFwcGluZyB0byBhIGJhc2UgYWRkcmVzcyBvZiBkaXNwbGF5IGZ1bmN0 aW9uIGJsb2Nrcwo+ICsgICAgICByZWdpc3RlciB3aGljaCBpcyBkZWZpbmVkIGluIHRoZSBnY2Ug aGVhZGVyCj4gKyAgICAgIGluY2x1ZGUvZHQtYmluZGluZ3MvZ2NlLzxjaGlwPi1nY2UuaC4KPiAr ICAgICRyZWY6IC9zY2hlbWFzL3R5cGVzLnlhbWwjL2RlZmluaXRpb25zL3BoYW5kbGUtYXJyYXkK PiArICAgIG1heEl0ZW1zOiAxCj4gKwo+ICtyZXF1aXJlZDoKPiArICAtIGNvbXBhdGlibGUKPiAr ICAtIHJlZwo+ICsgIC0gcG93ZXItZG9tYWlucwo+ICsgIC0gY2xvY2tzCj4gKwo+ICthZGRpdGlv bmFsUHJvcGVydGllczogZmFsc2UKPiArCj4gK2V4YW1wbGVzOgo+ICsgIC0gfAo+ICsKPiArICAg IG1lcmdlQDE0MDE3MDAwIHsKPiArICAgICAgICBjb21wYXRpYmxlID0gIm1lZGlhdGVrLG10ODE3 My1kaXNwLW1lcmdlIjsKPiArICAgICAgICByZWcgPSA8MCAweDE0MDE3MDAwIDAgMHgxMDAwPjsK PiArICAgICAgICBwb3dlci1kb21haW5zID0gPCZzcG0gTVQ4MTczX1BPV0VSX0RPTUFJTl9NTT47 Cj4gKyAgICAgICAgY2xvY2tzID0gPCZtbXN5cyBDTEtfTU1fRElTUF9NRVJHRT47Cj4gKyAgICB9 Owo+IGRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvZGlzcGxh eS9tZWRpYXRlay9tZWRpYXRlayxtdXRleC55YW1sIGIvRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVl L2JpbmRpbmdzL2Rpc3BsYXkvbWVkaWF0ZWsvbWVkaWF0ZWssbXV0ZXgueWFtbAo+IG5ldyBmaWxl IG1vZGUgMTAwNjQ0Cj4gaW5kZXggMDAwMDAwMDAwMDAwLi45MGYxMWUxMmE1NWUKPiAtLS0gL2Rl di9udWxsCj4gKysrIGIvRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2Rpc3BsYXkv bWVkaWF0ZWsvbWVkaWF0ZWssbXV0ZXgueWFtbAo+IEBAIC0wLDAgKzEsODIgQEAKPiArIyBTUERY LUxpY2Vuc2UtSWRlbnRpZmllcjogKEdQTC0yLjAtb25seSBPUiBCU0QtMi1DbGF1c2UpCj4gKyVZ QU1MIDEuMgo+ICstLS0KPiArJGlkOiBodHRwOi8vZGV2aWNldHJlZS5vcmcvc2NoZW1hcy9kaXNw bGF5L21lZGlhdGVrL21lZGlhdGVrLG11dGV4LnlhbWwjCj4gKyRzY2hlbWE6IGh0dHA6Ly9kZXZp Y2V0cmVlLm9yZy9tZXRhLXNjaGVtYXMvY29yZS55YW1sIwo+ICsKPiArdGl0bGU6IE1lZGlhdGVr IGRpc3BsYXkgbXV0ZXgKPiArCj4gK21haW50YWluZXJzOgo+ICsgIC0gQ2h1bi1LdWFuZyBIdSA8 Y2h1bmt1YW5nLmh1QGtlcm5lbC5vcmc+Cj4gKyAgLSBQaGlsaXBwIFphYmVsIDxwLnphYmVsQHBl bmd1dHJvbml4LmRlPgo+ICsKPiArZGVzY3JpcHRpb246IHwKPiArICBNZWRpYXRlayBtdXRleCwg bmFtZWx5IE1VVEVYLCBpcyB1c2VkIHRvIHNlbmQgdGhlIHRyaWdnZXJzIHNpZ25hbHMgY2FsbGVk Cj4gKyAgU3RhcnQgT2YgRnJhbWUgKFNPRikgLyBFbmQgT2YgRnJhbWUgKEVPRikgdG8gZWFjaCBz dWItbW9kdWxlcyBvbiB0aGUgZGlzcGxheQo+ICsgIGRhdGEgcGF0aCBvciBNRFAgZGF0YSBwYXRo Lgo+ICsgIEluIHNvbWUgU29DLCBzdWNoIGFzIG10MjcwMSwgTVVURVggY291bGQgYmUgYSBoYXJk d2FyZSBtdXRleCB3aGljaCBwcm90ZWN0cwo+ICsgIHRoZSBzaGFkb3cgcmVnaXN0ZXIuCj4gKyAg TVVURVggZGV2aWNlIG5vZGUgbXVzdCBiZSBzaWJsaW5ncyB0byB0aGUgY2VudHJhbCBNTVNZU19D T05GSUcgbm9kZS4KPiArICBGb3IgYSBkZXNjcmlwdGlvbiBvZiB0aGUgTU1TWVNfQ09ORklHIGJp bmRpbmcsIHNlZQo+ICsgIERvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9hcm0vbWVk aWF0ZWsvbWVkaWF0ZWssbW1zeXMueWFtbAo+ICsgIGZvciBkZXRhaWxzLgo+ICsKPiArcHJvcGVy dGllczoKPiArICBjb21wYXRpYmxlOgo+ICsgICAgb25lT2Y6Cj4gKyAgICAgIC0gaXRlbXM6Cj4g KyAgICAgICAgICAtIGNvbnN0OiBtZWRpYXRlayxtdDI3MDEtZGlzcC1tdXRleAo+ICsgICAgICAt IGl0ZW1zOgo+ICsgICAgICAgICAgLSBjb25zdDogbWVkaWF0ZWssbXQyNzEyLWRpc3AtbXV0ZXgK PiArICAgICAgLSBpdGVtczoKPiArICAgICAgICAgIC0gY29uc3Q6IG1lZGlhdGVrLG10ODE2Ny1k aXNwLW11dGV4Cj4gKyAgICAgIC0gaXRlbXM6Cj4gKyAgICAgICAgICAtIGNvbnN0OiBtZWRpYXRl ayxtdDgxNzMtZGlzcC1tdXRleAo+ICsgICAgICAtIGl0ZW1zOgo+ICsgICAgICAgICAgLSBjb25z dDogbWVkaWF0ZWssbXQ4MTgzLWRpc3AtbXV0ZXgKPiArICAgICAgLSBpdGVtczoKPiArICAgICAg ICAgIC0gY29uc3Q6IG1lZGlhdGVrLG10ODE5Mi1kaXNwLW11dGV4Cj4gKwo+ICsgIHJlZzoKPiAr ICAgIG1heEl0ZW1zOiAxCj4gKwo+ICsgIGludGVycnVwdHM6Cj4gKyAgICBtYXhJdGVtczogMQo+ ICsKPiArICBwb3dlci1kb21haW5zOgo+ICsgICAgZGVzY3JpcHRpb246IEEgcGhhbmRsZSBhbmQg UE0gZG9tYWluIHNwZWNpZmllciBhcyBkZWZpbmVkIGJ5IGJpbmRpbmdzIG9mCj4gKyAgICAgIHRo ZSBwb3dlciBjb250cm9sbGVyIHNwZWNpZmllZCBieSBwaGFuZGxlLiBTZWUKPiArICAgICAgRG9j dW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3Bvd2VyL3Bvd2VyLWRvbWFpbi55YW1sIGZv ciBkZXRhaWxzLgo+ICsKPiArICBjbG9ja3M6Cj4gKyAgICBpdGVtczoKPiArICAgICAgLSBkZXNj cmlwdGlvbjogTVVURVggQ2xvY2sKPiArCj4gKyAgbWVkaWF0ZWssZ2NlLWV2ZW50czoKPiArICAg IGRlc2NyaXB0aW9uOgo+ICsgICAgICBUaGUgZXZlbnQgaWQgd2hpY2ggaXMgbWFwcGluZyB0byB0 aGUgc3BlY2lmaWMgaGFyZHdhcmUgZXZlbnQgc2lnbmFsCj4gKyAgICAgIHRvIGdjZS4gVGhlIGV2 ZW50IGlkIGlzIGRlZmluZWQgaW4gdGhlIGdjZSBoZWFkZXIKPiArICAgICAgaW5jbHVkZS9kdC1i aW5kaW5ncy9nY2UvPGNoaXA+LWdjZS5oIG9mIGVhY2ggY2hpcHMuCj4gKyAgICAkcmVmOiAvc2No ZW1hcy90eXBlcy55YW1sIy9kZWZpbml0aW9ucy9waGFuZGxlLWFycmF5Cj4gKwo+ICtyZXF1aXJl ZDoKPiArICAtIGNvbXBhdGlibGUKPiArICAtIHJlZwo+ICsgIC0gaW50ZXJydXB0cwo+ICsgIC0g cG93ZXItZG9tYWlucwo+ICsgIC0gY2xvY2tzCj4gKwo+ICthZGRpdGlvbmFsUHJvcGVydGllczog ZmFsc2UKPiArCj4gK2V4YW1wbGVzOgo+ICsgIC0gfAo+ICsKPiArICAgIG11dGV4OiBtdXRleEAx NDAyMDAwMCB7Cj4gKyAgICAgICAgY29tcGF0aWJsZSA9ICJtZWRpYXRlayxtdDgxNzMtZGlzcC1t dXRleCI7Cj4gKyAgICAgICAgcmVnID0gPDAgMHgxNDAyMDAwMCAwIDB4MTAwMD47Cj4gKyAgICAg ICAgaW50ZXJydXB0cyA9IDxHSUNfU1BJIDE2OSBJUlFfVFlQRV9MRVZFTF9MT1c+Owo+ICsgICAg ICAgIHBvd2VyLWRvbWFpbnMgPSA8JnNwbSBNVDgxNzNfUE9XRVJfRE9NQUlOX01NPjsKPiArICAg ICAgICBjbG9ja3MgPSA8Jm1tc3lzIENMS19NTV9NVVRFWF8zMks+Owo+ICsgICAgICAgIG1lZGlh dGVrLGdjZS1ldmVudHMgPSA8Q01EUV9FVkVOVF9NVVRFWDBfU1RSRUFNX0VPRj4sCj4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIDxDTURRX0VWRU5UX01VVEVYMV9TVFJFQU1fRU9GPjsK PiArICAgIH07Cj4gZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5n cy9kaXNwbGF5L21lZGlhdGVrL21lZGlhdGVrLG9kLnlhbWwgYi9Eb2N1bWVudGF0aW9uL2Rldmlj ZXRyZWUvYmluZGluZ3MvZGlzcGxheS9tZWRpYXRlay9tZWRpYXRlayxvZC55YW1sCj4gbmV3IGZp bGUgbW9kZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAwMDAwMDAuLjc1MTlkYjMxNTIxNwo+IC0tLSAv ZGV2L251bGwKPiArKysgYi9Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvZGlzcGxh eS9tZWRpYXRlay9tZWRpYXRlayxvZC55YW1sCj4gQEAgLTAsMCArMSw1MyBAQAo+ICsjIFNQRFgt TGljZW5zZS1JZGVudGlmaWVyOiAoR1BMLTIuMC1vbmx5IE9SIEJTRC0yLUNsYXVzZSkKPiArJVlB TUwgMS4yCj4gKy0tLQo+ICskaWQ6IGh0dHA6Ly9kZXZpY2V0cmVlLm9yZy9zY2hlbWFzL2Rpc3Bs YXkvbWVkaWF0ZWsvbWVkaWF0ZWssb2QueWFtbCMKPiArJHNjaGVtYTogaHR0cDovL2RldmljZXRy ZWUub3JnL21ldGEtc2NoZW1hcy9jb3JlLnlhbWwjCj4gKwo+ICt0aXRsZTogTWVkaWF0ZWsgZGlz cGxheSBvdmVyZGlydmUKPiArCj4gK21haW50YWluZXJzOgo+ICsgIC0gQ2h1bi1LdWFuZyBIdSA8 Y2h1bmt1YW5nLmh1QGtlcm5lbC5vcmc+Cj4gKyAgLSBQaGlsaXBwIFphYmVsIDxwLnphYmVsQHBl bmd1dHJvbml4LmRlPgo+ICsKPiArZGVzY3JpcHRpb246IHwKPiArICBNZWRpYXRlayBkaXNwbGF5 IG92ZXJkcml2ZSwgbmFtZWx5IE9ELCBpbmNyZWFzZXMgdGhlIHRyYW5zaXRpb24gdmFsdWVzCj4g KyAgb2YgcGl4ZWxzIGJldHdlZW4gY29uc2VjdXRpdmUgZnJhbWVzIHRvIG1ha2UgTENEIHJvdGF0 ZSBmYXN0ZXIuCj4gKyAgT0QgZGV2aWNlIG5vZGUgbXVzdCBiZSBzaWJsaW5ncyB0byB0aGUgY2Vu dHJhbCBNTVNZU19DT05GSUcgbm9kZS4KPiArICBGb3IgYSBkZXNjcmlwdGlvbiBvZiB0aGUgTU1T WVNfQ09ORklHIGJpbmRpbmcsIHNlZQo+ICsgIERvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5k aW5ncy9hcm0vbWVkaWF0ZWsvbWVkaWF0ZWssbW1zeXMueWFtbAo+ICsgIGZvciBkZXRhaWxzLgo+ ICsKPiArcHJvcGVydGllczoKPiArICBjb21wYXRpYmxlOgo+ICsgICAgb25lT2Y6Cj4gKyAgICAg IC0gaXRlbXM6Cj4gKyAgICAgICAgICAtIGNvbnN0OiBtZWRpYXRlayxtdDI3MTItZGlzcC1vZAo+ ICsgICAgICAtIGl0ZW1zOgo+ICsgICAgICAgICAgLSBjb25zdDogbWVkaWF0ZWssbXQ4MTczLWRp c3Atb2QKPiArCj4gKyAgcmVnOgo+ICsgICAgbWF4SXRlbXM6IDEKPiArCj4gKyAgaW50ZXJydXB0 czoKPiArICAgIG1heEl0ZW1zOiAxCj4gKwo+ICsgIGNsb2NrczoKPiArICAgIGl0ZW1zOgo+ICsg ICAgICAtIGRlc2NyaXB0aW9uOiBPRCBDbG9jawo+ICsKPiArcmVxdWlyZWQ6Cj4gKyAgLSBjb21w YXRpYmxlCj4gKyAgLSByZWcKPiArICAtIGNsb2Nrcwo+ICsKPiArYWRkaXRpb25hbFByb3BlcnRp ZXM6IGZhbHNlCj4gKwo+ICtleGFtcGxlczoKPiArICAtIHwKPiArCj4gKyAgICBvZEAxNDAyMzAw MCB7Cj4gKyAgICAgICAgY29tcGF0aWJsZSA9ICJtZWRpYXRlayxtdDgxNzMtZGlzcC1vZCI7Cj4g KyAgICAgICAgcmVnID0gPDAgMHgxNDAyMzAwMCAwIDB4MTAwMD47Cj4gKyAgICAgICAgY2xvY2tz ID0gPCZtbXN5cyBDTEtfTU1fRElTUF9PRD47Cj4gKyAgICB9Owo+IGRpZmYgLS1naXQgYS9Eb2N1 bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvZGlzcGxheS9tZWRpYXRlay9tZWRpYXRlayxv dmwtMmwueWFtbCBiL0RvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9kaXNwbGF5L21l ZGlhdGVrL21lZGlhdGVrLG92bC0ybC55YW1sCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRl eCAwMDAwMDAwMDAwMDAuLmExMGM2Y2U5MmRhZAo+IC0tLSAvZGV2L251bGwKPiArKysgYi9Eb2N1 bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvZGlzcGxheS9tZWRpYXRlay9tZWRpYXRlayxv dmwtMmwueWFtbAo+IEBAIC0wLDAgKzEsOTEgQEAKPiArIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmll cjogKEdQTC0yLjAtb25seSBPUiBCU0QtMi1DbGF1c2UpCj4gKyVZQU1MIDEuMgo+ICstLS0KPiAr JGlkOiBodHRwOi8vZGV2aWNldHJlZS5vcmcvc2NoZW1hcy9kaXNwbGF5L21lZGlhdGVrL21lZGlh dGVrLG92bC0ybC55YW1sIwo+ICskc2NoZW1hOiBodHRwOi8vZGV2aWNldHJlZS5vcmcvbWV0YS1z Y2hlbWFzL2NvcmUueWFtbCMKPiArCj4gK3RpdGxlOiBNZWRpYXRlayBkaXNwbGF5IG92ZXJsYXkg MiBsYXllcgo+ICsKPiArbWFpbnRhaW5lcnM6Cj4gKyAgLSBDaHVuLUt1YW5nIEh1IDxjaHVua3Vh bmcuaHVAa2VybmVsLm9yZz4KPiArICAtIFBoaWxpcHAgWmFiZWwgPHAuemFiZWxAcGVuZ3V0cm9u aXguZGU+Cj4gKwo+ICtkZXNjcmlwdGlvbjogfAo+ICsgIE1lZGlhdGVrIGRpc3BsYXkgb3Zlcmxh eSAyIGxheWVyLCBuYW1lbHkgT1ZMLTJMLCBwcm92aWRlcyAyIG1vcmUgbGF5ZXIKPiArICBmb3Ig T1ZMLgo+ICsgIE9WTC0yTCBkZXZpY2Ugbm9kZSBtdXN0IGJlIHNpYmxpbmdzIHRvIHRoZSBjZW50 cmFsIE1NU1lTX0NPTkZJRyBub2RlLgo+ICsgIEZvciBhIGRlc2NyaXB0aW9uIG9mIHRoZSBNTVNZ U19DT05GSUcgYmluZGluZywgc2VlCj4gKyAgRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRp bmdzL2FybS9tZWRpYXRlay9tZWRpYXRlayxtbXN5cy55YW1sCj4gKyAgZm9yIGRldGFpbHMuCj4g Kwo+ICtwcm9wZXJ0aWVzOgo+ICsgIGNvbXBhdGlibGU6Cj4gKyAgICBvbmVPZjoKPiArICAgICAg LSBpdGVtczoKPiArICAgICAgICAgIC0gY29uc3Q6IG1lZGlhdGVrLG10ODE4My1kaXNwLW92bC0y bAo+ICsgICAgICAtIGl0ZW1zOgo+ICsgICAgICAgICAgLSBjb25zdDogbWVkaWF0ZWssbXQ4MTky LWRpc3Atb3ZsLTJsCj4gKwo+ICsgIHJlZzoKPiArICAgIG1heEl0ZW1zOiAxCj4gKwo+ICsgIGlu dGVycnVwdHM6Cj4gKyAgICBtYXhJdGVtczogMQo+ICsKPiArICBwb3dlci1kb21haW5zOgo+ICsg ICAgZGVzY3JpcHRpb246IEEgcGhhbmRsZSBhbmQgUE0gZG9tYWluIHNwZWNpZmllciBhcyBkZWZp bmVkIGJ5IGJpbmRpbmdzIG9mCj4gKyAgICAgIHRoZSBwb3dlciBjb250cm9sbGVyIHNwZWNpZmll ZCBieSBwaGFuZGxlLiBTZWUKPiArICAgICAgRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRp bmdzL3Bvd2VyL3Bvd2VyLWRvbWFpbi55YW1sIGZvciBkZXRhaWxzLgo+ICsKPiArICBjbG9ja3M6 Cj4gKyAgICBpdGVtczoKPiArICAgICAgLSBkZXNjcmlwdGlvbjogT1ZMLTJMIENsb2NrCj4gKwo+ ICsgIGlvbW11czoKPiArICAgIGRlc2NyaXB0aW9uOgo+ICsgICAgICBUaGlzIHByb3BlcnR5IHNo b3VsZCBwb2ludCB0byB0aGUgcmVzcGVjdGl2ZSBJT01NVSBibG9jayB3aXRoIG1hc3RlciBwb3J0 IGFzIGFyZ3VtZW50LAo+ICsgICAgICBzZWUgRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRp bmdzL2lvbW11L21lZGlhdGVrLGlvbW11LnlhbWwgZm9yIGRldGFpbHMuCj4gKwo+ICsgIG1lZGlh dGVrLGxhcmI6Cj4gKyAgICBkZXNjcmlwdGlvbjoKPiArICAgICAgVGhpcyBwcm9wZXJ0eSBzaG91 bGQgY29udGFpbiBhIHBoYW5kbGUgcG9pbnRpbmcgdG8gdGhlIGxvY2FsIGFyYml0ZXIgZGV2aWNl cyBkZWZpbmVkIGluCj4gKyAgICAgIERvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9t ZW1vcnktY29udHJvbGxlcnMvbWVkaWF0ZWssc21pLWxhcmIueWFtbC4KPiArICAgICAgSXQgbXVz dCBzb3J0IGFjY29yZGluZyB0byB0aGUgbG9jYWwgYXJiaXRlciBpbmRleCwgbGlrZSBsYXJiMCwg bGFyYjEsIGxhcmIyLi4uCj4gKyAgICAkcmVmOiAvc2NoZW1hcy90eXBlcy55YW1sIy9kZWZpbml0 aW9ucy9waGFuZGxlLWFycmF5Cj4gKyAgICBtaW5JdGVtczogMQo+ICsgICAgbWF4SXRlbXM6IDMy Cj4gKwo+ICsgIG1lZGlhdGVrLGdjZS1jbGllbnQtcmVnOgo+ICsgICAgZGVzY3JpcHRpb246Cj4g KyAgICAgIFRoZSByZWdpc3RlciBvZiBjbGllbnQgZHJpdmVyIGNhbiBiZSBjb25maWd1cmVkIGJ5 IGdjZSB3aXRoIDQgYXJndW1lbnRzCj4gKyAgICAgIGRlZmluZWQgaW4gdGhpcyBwcm9wZXJ0eSwg c3VjaCBhcyBwaGFuZGxlIG9mIGdjZSwgc3Vic3lzIGlkLAo+ICsgICAgICByZWdpc3RlciBvZmZz ZXQgYW5kIHNpemUuCj4gKyAgICAgIEVhY2ggc3Vic3lzIGlkIGlzIG1hcHBpbmcgdG8gYSBiYXNl IGFkZHJlc3Mgb2YgZGlzcGxheSBmdW5jdGlvbiBibG9ja3MKPiArICAgICAgcmVnaXN0ZXIgd2hp Y2ggaXMgZGVmaW5lZCBpbiB0aGUgZ2NlIGhlYWRlcgo+ICsgICAgICBpbmNsdWRlL2R0LWJpbmRp bmdzL2djZS88Y2hpcD4tZ2NlLmguCj4gKyAgICAkcmVmOiAvc2NoZW1hcy90eXBlcy55YW1sIy9k ZWZpbml0aW9ucy9waGFuZGxlLWFycmF5Cj4gKyAgICBtYXhJdGVtczogMQo+ICsKPiArcmVxdWly ZWQ6Cj4gKyAgLSBjb21wYXRpYmxlCj4gKyAgLSByZWcKPiArICAtIGludGVycnVwdHMKPiArICAt IHBvd2VyLWRvbWFpbnMKPiArICAtIGNsb2Nrcwo+ICsgIC0gaW9tbXVzCj4gKwo+ICthZGRpdGlv bmFsUHJvcGVydGllczogZmFsc2UKPiArCj4gK2V4YW1wbGVzOgo+ICsgIC0gfAo+ICsKPiArICAg IG92bF8ybDA6IG92bEAxNDAwOTAwMCB7Cj4gKyAgICAgICAgY29tcGF0aWJsZSA9ICJtZWRpYXRl ayxtdDgxODMtZGlzcC1vdmwtMmwiOwo+ICsgICAgICAgIHJlZyA9IDwwIDB4MTQwMDkwMDAgMCAw eDEwMDA+Owo+ICsgICAgICAgIGludGVycnVwdHMgPSA8R0lDX1NQSSAyMjYgSVJRX1RZUEVfTEVW RUxfTE9XPjsKPiArICAgICAgICBwb3dlci1kb21haW5zID0gPCZzcG0gTVQ4MTgzX1BPV0VSX0RP TUFJTl9ESVNQPjsKPiArICAgICAgICBjbG9ja3MgPSA8Jm1tc3lzIENMS19NTV9ESVNQX09WTDBf Mkw+Owo+ICsgICAgICAgIGlvbW11cyA9IDwmaW9tbXUgTTRVX1BPUlRfRElTUF8yTF9PVkwwX0xB UkIwPjsKPiArICAgICAgICBtZWRpYXRlayxsYXJiID0gPCZsYXJiMD47Cj4gKyAgICAgICAgbWVk aWF0ZWssZ2NlLWNsaWVudC1yZWcgPSA8JmdjZSBTVUJTWVNfMTQwMFhYWFggMHg5MDAwIDB4MTAw MD47Cj4gKyAgICB9Owo+IGRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmlu ZGluZ3MvZGlzcGxheS9tZWRpYXRlay9tZWRpYXRlayxvdmwueWFtbCBiL0RvY3VtZW50YXRpb24v ZGV2aWNldHJlZS9iaW5kaW5ncy9kaXNwbGF5L21lZGlhdGVrL21lZGlhdGVrLG92bC55YW1sCj4g bmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAwMDAwMDAuLjUwNTUyNDI4MTUwZgo+ IC0tLSAvZGV2L251bGwKPiArKysgYi9Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3Mv ZGlzcGxheS9tZWRpYXRlay9tZWRpYXRlayxvdmwueWFtbAo+IEBAIC0wLDAgKzEsMTAxIEBACj4g KyMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IChHUEwtMi4wLW9ubHkgT1IgQlNELTItQ2xhdXNl KQo+ICslWUFNTCAxLjIKPiArLS0tCj4gKyRpZDogaHR0cDovL2RldmljZXRyZWUub3JnL3NjaGVt YXMvZGlzcGxheS9tZWRpYXRlay9tZWRpYXRlayxvdmwueWFtbCMKPiArJHNjaGVtYTogaHR0cDov L2RldmljZXRyZWUub3JnL21ldGEtc2NoZW1hcy9jb3JlLnlhbWwjCj4gKwo+ICt0aXRsZTogTWVk aWF0ZWsgZGlzcGxheSBvdmVybGF5Cj4gKwo+ICttYWludGFpbmVyczoKPiArICAtIENodW4tS3Vh bmcgSHUgPGNodW5rdWFuZy5odUBrZXJuZWwub3JnPgo+ICsgIC0gUGhpbGlwcCBaYWJlbCA8cC56 YWJlbEBwZW5ndXRyb25peC5kZT4KPiArCj4gK2Rlc2NyaXB0aW9uOiB8Cj4gKyAgTWVkaWF0ZWsg ZGlzcGxheSBvdmVybGF5LCBuYW1lbHkgT1ZMLCBjYW4gZG8gYWxwaGEgYmxlbmRpbmcgZnJvbQo+ ICsgIHRoZSBtZW1vcnkuCj4gKyAgT1ZMIGRldmljZSBub2RlIG11c3QgYmUgc2libGluZ3MgdG8g dGhlIGNlbnRyYWwgTU1TWVNfQ09ORklHIG5vZGUuCj4gKyAgRm9yIGEgZGVzY3JpcHRpb24gb2Yg dGhlIE1NU1lTX0NPTkZJRyBiaW5kaW5nLCBzZWUKPiArICBEb2N1bWVudGF0aW9uL2RldmljZXRy ZWUvYmluZGluZ3MvYXJtL21lZGlhdGVrL21lZGlhdGVrLG1tc3lzLnlhbWwKPiArICBmb3IgZGV0 YWlscy4KPiArCj4gK3Byb3BlcnRpZXM6Cj4gKyAgY29tcGF0aWJsZToKPiArICAgIG9uZU9mOgo+ ICsgICAgICAtIGl0ZW1zOgo+ICsgICAgICAgICAgLSBjb25zdDogbWVkaWF0ZWssbXQyNzAxLWRp c3Atb3ZsCj4gKyAgICAgIC0gaXRlbXM6Cj4gKyAgICAgICAgICAtIGNvbnN0OiBtZWRpYXRlayxt dDgxNzMtZGlzcC1vdmwKPiArICAgICAgLSBpdGVtczoKPiArICAgICAgICAgIC0gY29uc3Q6IG1l ZGlhdGVrLG10ODE4My1kaXNwLW92bAo+ICsgICAgICAtIGl0ZW1zOgo+ICsgICAgICAgICAgLSBj b25zdDogbWVkaWF0ZWssbXQ4MTkyLWRpc3Atb3ZsCj4gKyAgICAgIC0gaXRlbXM6Cj4gKyAgICAg ICAgICAtIGVudW06Cj4gKyAgICAgICAgICAgICAgLSBtZWRpYXRlayxtdDc2MjMtZGlzcC1vdmwK PiArICAgICAgICAgICAgICAtIG1lZGlhdGVrLG10MjcxMi1kaXNwLW92bAo+ICsgICAgICAgICAg LSBlbnVtOgo+ICsgICAgICAgICAgICAgIC0gbWVkaWF0ZWssbXQyNzAxLWRpc3Atb3ZsCj4gKwo+ ICsgIHJlZzoKPiArICAgIG1heEl0ZW1zOiAxCj4gKwo+ICsgIGludGVycnVwdHM6Cj4gKyAgICBt YXhJdGVtczogMQo+ICsKPiArICBwb3dlci1kb21haW5zOgo+ICsgICAgZGVzY3JpcHRpb246IEEg cGhhbmRsZSBhbmQgUE0gZG9tYWluIHNwZWNpZmllciBhcyBkZWZpbmVkIGJ5IGJpbmRpbmdzIG9m Cj4gKyAgICAgIHRoZSBwb3dlciBjb250cm9sbGVyIHNwZWNpZmllZCBieSBwaGFuZGxlLiBTZWUK PiArICAgICAgRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3Bvd2VyL3Bvd2VyLWRv bWFpbi55YW1sIGZvciBkZXRhaWxzLgo+ICsKPiArICBjbG9ja3M6Cj4gKyAgICBpdGVtczoKPiAr ICAgICAgLSBkZXNjcmlwdGlvbjogT1ZMIENsb2NrCj4gKwo+ICsgIGlvbW11czoKPiArICAgIGRl c2NyaXB0aW9uOgo+ICsgICAgICBUaGlzIHByb3BlcnR5IHNob3VsZCBwb2ludCB0byB0aGUgcmVz cGVjdGl2ZSBJT01NVSBibG9jayB3aXRoIG1hc3RlciBwb3J0IGFzIGFyZ3VtZW50LAo+ICsgICAg ICBzZWUgRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2lvbW11L21lZGlhdGVrLGlv bW11LnlhbWwgZm9yIGRldGFpbHMuCj4gKwo+ICsgIG1lZGlhdGVrLGxhcmI6Cj4gKyAgICBkZXNj cmlwdGlvbjoKPiArICAgICAgVGhpcyBwcm9wZXJ0eSBzaG91bGQgY29udGFpbiBhIHBoYW5kbGUg cG9pbnRpbmcgdG8gdGhlIGxvY2FsIGFyYml0ZXIgZGV2aWNlcyBkZWZpbmVkIGluCj4gKyAgICAg IERvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9tZW1vcnktY29udHJvbGxlcnMvbWVk aWF0ZWssc21pLWxhcmIueWFtbC4KPiArICAgICAgSXQgbXVzdCBzb3J0IGFjY29yZGluZyB0byB0 aGUgbG9jYWwgYXJiaXRlciBpbmRleCwgbGlrZSBsYXJiMCwgbGFyYjEsIGxhcmIyLi4uCj4gKyAg ICAkcmVmOiAvc2NoZW1hcy90eXBlcy55YW1sIy9kZWZpbml0aW9ucy9waGFuZGxlLWFycmF5Cj4g KyAgICBtaW5JdGVtczogMQo+ICsgICAgbWF4SXRlbXM6IDMyCj4gKwo+ICsgIG1lZGlhdGVrLGdj ZS1jbGllbnQtcmVnOgo+ICsgICAgZGVzY3JpcHRpb246Cj4gKyAgICAgIFRoZSByZWdpc3RlciBv ZiBjbGllbnQgZHJpdmVyIGNhbiBiZSBjb25maWd1cmVkIGJ5IGdjZSB3aXRoIDQgYXJndW1lbnRz Cj4gKyAgICAgIGRlZmluZWQgaW4gdGhpcyBwcm9wZXJ0eSwgc3VjaCBhcyBwaGFuZGxlIG9mIGdj ZSwgc3Vic3lzIGlkLAo+ICsgICAgICByZWdpc3RlciBvZmZzZXQgYW5kIHNpemUuCj4gKyAgICAg IEVhY2ggc3Vic3lzIGlkIGlzIG1hcHBpbmcgdG8gYSBiYXNlIGFkZHJlc3Mgb2YgZGlzcGxheSBm dW5jdGlvbiBibG9ja3MKPiArICAgICAgcmVnaXN0ZXIgd2hpY2ggaXMgZGVmaW5lZCBpbiB0aGUg Z2NlIGhlYWRlcgo+ICsgICAgICBpbmNsdWRlL2R0LWJpbmRpbmdzL2djZS88Y2hpcD4tZ2NlLmgu Cj4gKyAgICAkcmVmOiAvc2NoZW1hcy90eXBlcy55YW1sIy9kZWZpbml0aW9ucy9waGFuZGxlLWFy cmF5Cj4gKyAgICBtYXhJdGVtczogMQo+ICsKPiArcmVxdWlyZWQ6Cj4gKyAgLSBjb21wYXRpYmxl Cj4gKyAgLSByZWcKPiArICAtIGludGVycnVwdHMKPiArICAtIHBvd2VyLWRvbWFpbnMKPiArICAt IGNsb2Nrcwo+ICsgIC0gaW9tbXUKPiArCj4gK2FkZGl0aW9uYWxQcm9wZXJ0aWVzOiBmYWxzZQo+ ICsKPiArZXhhbXBsZXM6Cj4gKyAgLSB8Cj4gKwo+ICsgICAgb3ZsMDogb3ZsQDE0MDBjMDAwIHsK PiArICAgICAgICBjb21wYXRpYmxlID0gIm1lZGlhdGVrLG10ODE3My1kaXNwLW92bCI7Cj4gKyAg ICAgICAgcmVnID0gPDAgMHgxNDAwYzAwMCAwIDB4MTAwMD47Cj4gKyAgICAgICAgaW50ZXJydXB0 cyA9IDxHSUNfU1BJIDE4MCBJUlFfVFlQRV9MRVZFTF9MT1c+Owo+ICsgICAgICAgIHBvd2VyLWRv bWFpbnMgPSA8JnNjcHN5cyBNVDgxNzNfUE9XRVJfRE9NQUlOX01NPjsKPiArICAgICAgICBjbG9j a3MgPSA8Jm1tc3lzIENMS19NTV9ESVNQX09WTDA+Owo+ICsgICAgICAgIGlvbW11cyA9IDwmaW9t bXUgTTRVX1BPUlRfRElTUF9PVkwwPjsKPiArICAgICAgICBtZWRpYXRlayxsYXJiID0gPCZsYXJi MD47Cj4gKyAgICAgICAgbWVkaWF0ZWssZ2NlLWNsaWVudC1yZWcgPSA8JmdjZSBTVUJTWVNfMTQw MFhYWFggMHhjMDAwIDB4MTAwMD47Cj4gKyAgICB9Owo+IGRpZmYgLS1naXQgYS9Eb2N1bWVudGF0 aW9uL2RldmljZXRyZWUvYmluZGluZ3MvZGlzcGxheS9tZWRpYXRlay9tZWRpYXRlayxwb3N0bWFz ay55YW1sIGIvRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2Rpc3BsYXkvbWVkaWF0 ZWsvbWVkaWF0ZWsscG9zdG1hc2sueWFtbAo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXgg MDAwMDAwMDAwMDAwLi5iM2VkNmYzYjg0OTcKPiAtLS0gL2Rldi9udWxsCj4gKysrIGIvRG9jdW1l bnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2Rpc3BsYXkvbWVkaWF0ZWsvbWVkaWF0ZWsscG9z dG1hc2sueWFtbAo+IEBAIC0wLDAgKzEsNzIgQEAKPiArIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmll cjogKEdQTC0yLjAtb25seSBPUiBCU0QtMi1DbGF1c2UpCj4gKyVZQU1MIDEuMgo+ICstLS0KPiAr JGlkOiBodHRwOi8vZGV2aWNldHJlZS5vcmcvc2NoZW1hcy9kaXNwbGF5L21lZGlhdGVrL21lZGlh dGVrLHBvc3RtYXNrLnlhbWwjCj4gKyRzY2hlbWE6IGh0dHA6Ly9kZXZpY2V0cmVlLm9yZy9tZXRh LXNjaGVtYXMvY29yZS55YW1sIwo+ICsKPiArdGl0bGU6IE1lZGlhdGVrIGRpc3BsYXkgcG9zdG1h c2sKPiArCj4gK21haW50YWluZXJzOgo+ICsgIC0gQ2h1bi1LdWFuZyBIdSA8Y2h1bmt1YW5nLmh1 QGtlcm5lbC5vcmc+Cj4gKyAgLSBQaGlsaXBwIFphYmVsIDxwLnphYmVsQHBlbmd1dHJvbml4LmRl Pgo+ICsKPiArZGVzY3JpcHRpb246IHwKPiArICBNZWRpYXRlayBkaXNwbGF5IHBvc3RtYXNrLCBu YW1lbHkgUE9TVE1BU0ssIHByb3ZpZGVzIHJvdW5kIGNvcm5lciBwYXR0ZXJuCj4gKyAgZ2VuZXJh dGlvbi4KPiArICBQT1NUTUFTSyBkZXZpY2Ugbm9kZSBtdXN0IGJlIHNpYmxpbmdzIHRvIHRoZSBj ZW50cmFsIE1NU1lTX0NPTkZJRyBub2RlLgo+ICsgIEZvciBhIGRlc2NyaXB0aW9uIG9mIHRoZSBN TVNZU19DT05GSUcgYmluZGluZywgc2VlCj4gKyAgRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2Jp bmRpbmdzL2FybS9tZWRpYXRlay9tZWRpYXRlayxtbXN5cy55YW1sCj4gKyAgZm9yIGRldGFpbHMu Cj4gKwo+ICtwcm9wZXJ0aWVzOgo+ICsgIGNvbXBhdGlibGU6Cj4gKyAgICBvbmVPZjoKPiArICAg ICAgLSBpdGVtczoKPiArICAgICAgICAgIC0gY29uc3Q6IG1lZGlhdGVrLG10ODE5Mi1kaXNwLXBv c3RtYXNrCj4gKwo+ICsgIHJlZzoKPiArICAgIG1heEl0ZW1zOiAxCj4gKwo+ICsgIGludGVycnVw dHM6Cj4gKyAgICBtYXhJdGVtczogMQo+ICsKPiArICBwb3dlci1kb21haW5zOgo+ICsgICAgZGVz Y3JpcHRpb246IEEgcGhhbmRsZSBhbmQgUE0gZG9tYWluIHNwZWNpZmllciBhcyBkZWZpbmVkIGJ5 IGJpbmRpbmdzIG9mCj4gKyAgICAgIHRoZSBwb3dlciBjb250cm9sbGVyIHNwZWNpZmllZCBieSBw aGFuZGxlLiBTZWUKPiArICAgICAgRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3Bv d2VyL3Bvd2VyLWRvbWFpbi55YW1sIGZvciBkZXRhaWxzLgo+ICsKPiArICBjbG9ja3M6Cj4gKyAg ICBpdGVtczoKPiArICAgICAgLSBkZXNjcmlwdGlvbjogUE9TVE1BU0sgQ2xvY2sKPiArCj4gKyAg bWVkaWF0ZWssZ2NlLWNsaWVudC1yZWc6Cj4gKyAgICBkZXNjcmlwdGlvbjoKPiArICAgICAgVGhl IHJlZ2lzdGVyIG9mIGNsaWVudCBkcml2ZXIgY2FuIGJlIGNvbmZpZ3VyZWQgYnkgZ2NlIHdpdGgg NCBhcmd1bWVudHMKPiArICAgICAgZGVmaW5lZCBpbiB0aGlzIHByb3BlcnR5LCBzdWNoIGFzIHBo YW5kbGUgb2YgZ2NlLCBzdWJzeXMgaWQsCj4gKyAgICAgIHJlZ2lzdGVyIG9mZnNldCBhbmQgc2l6 ZS4KPiArICAgICAgRWFjaCBzdWJzeXMgaWQgaXMgbWFwcGluZyB0byBhIGJhc2UgYWRkcmVzcyBv ZiBkaXNwbGF5IGZ1bmN0aW9uIGJsb2Nrcwo+ICsgICAgICByZWdpc3RlciB3aGljaCBpcyBkZWZp bmVkIGluIHRoZSBnY2UgaGVhZGVyCj4gKyAgICAgIGluY2x1ZGUvZHQtYmluZGluZ3MvZ2NlLzxj aGlwPi1nY2UuaC4KPiArICAgICRyZWY6IC9zY2hlbWFzL3R5cGVzLnlhbWwjL2RlZmluaXRpb25z L3BoYW5kbGUtYXJyYXkKPiArICAgIG1heEl0ZW1zOiAxCj4gKwo+ICtyZXF1aXJlZDoKPiArICAt IGNvbXBhdGlibGUKPiArICAtIHJlZwo+ICsgIC0gaW50ZXJydXB0cwo+ICsgIC0gcG93ZXItZG9t YWlucwo+ICsgIC0gY2xvY2tzCj4gKwo+ICthZGRpdGlvbmFsUHJvcGVydGllczogZmFsc2UKPiAr Cj4gK2V4YW1wbGVzOgo+ICsgIC0gfAo+ICsKPiArICAgIHBvc3RtYXNrMDogcG9zdG1hc2tAMTQw MGQwMDAgewo+ICsgICAgICAgIGNvbXBhdGlibGUgPSAibWVkaWF0ZWssbXQ4MTkyLWRpc3AtcG9z dG1hc2siOwo+ICsgICAgICAgIHJlZyA9IDwwIDB4MTQwMGQwMDAgMCAweDEwMDA+Owo+ICsgICAg ICAgIGludGVycnVwdHMgPSA8R0lDX1NQSSAyNjIgSVJRX1RZUEVfTEVWRUxfSElHSCAwPjsKPiAr ICAgICAgICBwb3dlci1kb21haW5zID0gPCZzY3BzeXMgTVQ4MTkyX1BPV0VSX0RPTUFJTl9ESVNQ PjsKPiArICAgICAgICBjbG9ja3MgPSA8Jm1tc3lzIENMS19NTV9ESVNQX1BPU1RNQVNLMD47Cj4g KyAgICAgICAgbWVkaWF0ZWssZ2NlLWNsaWVudC1yZWcgPSA8JmdjZSBTVUJTWVNfMTQwMFhYWFgg MHhkMDAwIDB4MTAwMD47Cj4gKyAgICB9Owo+IGRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2Rl dmljZXRyZWUvYmluZGluZ3MvZGlzcGxheS9tZWRpYXRlay9tZWRpYXRlayxyZG1hLnlhbWwgYi9E b2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvZGlzcGxheS9tZWRpYXRlay9tZWRpYXRl ayxyZG1hLnlhbWwKPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDAwMDAwMDAwMDAwMC4u ODM5M2EyNWEzNzgxCj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBiL0RvY3VtZW50YXRpb24vZGV2aWNl dHJlZS9iaW5kaW5ncy9kaXNwbGF5L21lZGlhdGVrL21lZGlhdGVrLHJkbWEueWFtbAo+IEBAIC0w LDAgKzEsMTE4IEBACj4gKyMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IChHUEwtMi4wLW9ubHkg T1IgQlNELTItQ2xhdXNlKQo+ICslWUFNTCAxLjIKPiArLS0tCj4gKyRpZDogaHR0cDovL2Rldmlj ZXRyZWUub3JnL3NjaGVtYXMvZGlzcGxheS9tZWRpYXRlay9tZWRpYXRlayxyZG1hLnlhbWwjCj4g KyRzY2hlbWE6IGh0dHA6Ly9kZXZpY2V0cmVlLm9yZy9tZXRhLXNjaGVtYXMvY29yZS55YW1sIwo+ ICsKPiArdGl0bGU6IE1lZGlhdGVrIGRpc3BsYXkgUkRNQQo+ICsKPiArbWFpbnRhaW5lcnM6Cj4g KyAgLSBDaHVuLUt1YW5nIEh1IDxjaHVua3VhbmcuaHVAa2VybmVsLm9yZz4KPiArICAtIFBoaWxp cHAgWmFiZWwgPHAuemFiZWxAcGVuZ3V0cm9uaXguZGU+Cj4gKwo+ICtkZXNjcmlwdGlvbjogfAo+ ICsgIE1lZGlhdGVrIGRpc3BsYXkgUkRNQSBzdGFuZHMgZm9yIFJlYWQgRGlyZWN0IE1lbW9yeSBB Y2Nlc3MuCj4gKyAgSXQgcHJvdmlkZXMgcmVhbCB0aW1lIGRhdGEgdG8gdGhlIGJhY2stZW5kIHBh bmVsIGRyaXZlciwgc3VjaCBhcyBEU0ksCj4gKyAgRFBJIGFuZCBEUF9JTlRGLgo+ICsgIEl0IGNv bnRhaW5zIG9uZSBsaW5lIGJ1ZmZlciB0byBzdG9yZSB0aGUgc3VmZmljaWVudCBwaXhlbCBkYXRh Lgo+ICsgIFJETUEgZGV2aWNlIG5vZGUgbXVzdCBiZSBzaWJsaW5ncyB0byB0aGUgY2VudHJhbCBN TVNZU19DT05GSUcgbm9kZS4KPiArICBGb3IgYSBkZXNjcmlwdGlvbiBvZiB0aGUgTU1TWVNfQ09O RklHIGJpbmRpbmcsIHNlZQo+ICsgIERvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9h cm0vbWVkaWF0ZWsvbWVkaWF0ZWssbW1zeXMueWFtbAo+ICsgIGZvciBkZXRhaWxzLgo+ICsKPiAr cHJvcGVydGllczoKPiArICBjb21wYXRpYmxlOgo+ICsgICAgb25lT2Y6Cj4gKyAgICAgIC0gaXRl bXM6Cj4gKyAgICAgICAgICAtIGNvbnN0OiBtZWRpYXRlayxtdDI3MDEtZGlzcC1yZG1hCj4gKyAg ICAgIC0gaXRlbXM6Cj4gKyAgICAgICAgICAtIGNvbnN0OiBtZWRpYXRlayxtdDgxNzMtZGlzcC1y ZG1hCj4gKyAgICAgIC0gaXRlbXM6Cj4gKyAgICAgICAgICAtIGNvbnN0OiBtZWRpYXRlayxtdDgx ODMtZGlzcC1yZG1hCj4gKyAgICAgIC0gaXRlbXM6Cj4gKyAgICAgICAgICAtIGVudW06Cj4gKyAg ICAgICAgICAgICAgLSBtZWRpYXRlayxtdDc2MjMtZGlzcC1yZG1hCj4gKyAgICAgICAgICAgICAg LSBtZWRpYXRlayxtdDI3MTItZGlzcC1yZG1hCj4gKyAgICAgICAgICAtIGVudW06Cj4gKyAgICAg ICAgICAgICAgLSBtZWRpYXRlayxtdDI3MDEtZGlzcC1yZG1hCj4gKyAgICAgIC0gaXRlbXM6Cj4g KyAgICAgICAgICAtIGVudW06Cj4gKyAgICAgICAgICAgICAgLSBtZWRpYXRlayxtdDgxOTItZGlz cC1yZG1hCj4gKyAgICAgICAgICAtIGVudW06Cj4gKyAgICAgICAgICAgICAgLSBtZWRpYXRlayxt dDgxODMtZGlzcC1yZG1hCj4gKwo+ICsgIHJlZzoKPiArICAgIG1heEl0ZW1zOiAxCj4gKwo+ICsg IGludGVycnVwdHM6Cj4gKyAgICBtYXhJdGVtczogMQo+ICsKPiArICBwb3dlci1kb21haW5zOgo+ ICsgICAgZGVzY3JpcHRpb246IEEgcGhhbmRsZSBhbmQgUE0gZG9tYWluIHNwZWNpZmllciBhcyBk ZWZpbmVkIGJ5IGJpbmRpbmdzIG9mCj4gKyAgICAgIHRoZSBwb3dlciBjb250cm9sbGVyIHNwZWNp ZmllZCBieSBwaGFuZGxlLiBTZWUKPiArICAgICAgRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2Jp bmRpbmdzL3Bvd2VyL3Bvd2VyLWRvbWFpbi55YW1sIGZvciBkZXRhaWxzLgo+ICsKPiArICBjbG9j a3M6Cj4gKyAgICBpdGVtczoKPiArICAgICAgLSBkZXNjcmlwdGlvbjogUkRNQSBDbG9jawo+ICsK PiArICBpb21tdXM6Cj4gKyAgICBkZXNjcmlwdGlvbjoKPiArICAgICAgVGhpcyBwcm9wZXJ0eSBz aG91bGQgcG9pbnQgdG8gdGhlIHJlc3BlY3RpdmUgSU9NTVUgYmxvY2sgd2l0aCBtYXN0ZXIgcG9y dCBhcyBhcmd1bWVudCwKPiArICAgICAgc2VlIERvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5k aW5ncy9pb21tdS9tZWRpYXRlayxpb21tdS55YW1sIGZvciBkZXRhaWxzLgo+ICsKPiArICBtZWRp YXRlayxsYXJiOgo+ICsgICAgZGVzY3JpcHRpb246Cj4gKyAgICAgIFRoaXMgcHJvcGVydHkgc2hv dWxkIGNvbnRhaW4gYSBwaGFuZGxlIHBvaW50aW5nIHRvIHRoZSBsb2NhbCBhcmJpdGVyIGRldmlj ZXMgZGVmaW5lZCBpbgo+ICsgICAgICBEb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3Mv bWVtb3J5LWNvbnRyb2xsZXJzL21lZGlhdGVrLHNtaS1sYXJiLnlhbWwuCj4gKyAgICAgIEl0IG11 c3Qgc29ydCBhY2NvcmRpbmcgdG8gdGhlIGxvY2FsIGFyYml0ZXIgaW5kZXgsIGxpa2UgbGFyYjAs IGxhcmIxLCBsYXJiMi4uLgo+ICsgICAgJHJlZjogL3NjaGVtYXMvdHlwZXMueWFtbCMvZGVmaW5p dGlvbnMvcGhhbmRsZS1hcnJheQo+ICsgICAgbWluSXRlbXM6IDEKPiArICAgIG1heEl0ZW1zOiAz Mgo+ICsKPiArICBtZWRpYXRlayxyZG1hLWZpZm8tc2l6ZToKPiArICAgIGRlc2NyaXB0aW9uOgo+ ICsgICAgICByZG1hIGZpZm8gc2l6ZSBtYXkgYmUgZGlmZmVyZW50IGV2ZW4gaW4gc2FtZSBTT0Ms IGFkZCB0aGlzIHByb3BlcnR5IHRvIHRoZQo+ICsgICAgICBjb3JyZXNwb25kaW5nIHJkbWEuCj4g KyAgICAgIFRoZSB2YWx1ZSBiZWxvdyBpcyB0aGUgTWF4IHZhbHVlIHdoaWNoIGRlZmluZWQgaW4g aGFyZHdhcmUgZGF0YSBzaGVldAo+ICsgICAgICBtZWRpYXRlayxyZG1hLWZpZm8tc2l6ZSBvZiBt dDgxNzMtcmRtYTAgaXMgOEsKPiArICAgICAgbWVkaWF0ZWsscmRtYS1maWZvLXNpemUgb2YgbXQ4 MTgzLXJkbWEwIGlzIDVLCj4gKyAgICAgIG1lZGlhdGVrLHJkbWEtZmlmby1zaXplIG9mIG10ODE4 My1yZG1hMSBpcyAySwo+ICsgICAgJHJlZjogL3NjaGVtYXMvdHlwZXMueWFtbCMvZGVmaW5pdGlv bnMvdWludDMyCj4gKyAgICBlbnVtOiBbODE5MiwgNTEyMCwgMjA0OF0KPiArCj4gKyAgbWVkaWF0 ZWssZ2NlLWNsaWVudC1yZWc6Cj4gKyAgICBkZXNjcmlwdGlvbjoKPiArICAgICAgVGhlIHJlZ2lz dGVyIG9mIGNsaWVudCBkcml2ZXIgY2FuIGJlIGNvbmZpZ3VyZWQgYnkgZ2NlIHdpdGggNCBhcmd1 bWVudHMKPiArICAgICAgZGVmaW5lZCBpbiB0aGlzIHByb3BlcnR5LCBzdWNoIGFzIHBoYW5kbGUg b2YgZ2NlLCBzdWJzeXMgaWQsCj4gKyAgICAgIHJlZ2lzdGVyIG9mZnNldCBhbmQgc2l6ZS4KPiAr ICAgICAgRWFjaCBzdWJzeXMgaWQgaXMgbWFwcGluZyB0byBhIGJhc2UgYWRkcmVzcyBvZiBkaXNw bGF5IGZ1bmN0aW9uIGJsb2Nrcwo+ICsgICAgICByZWdpc3RlciB3aGljaCBpcyBkZWZpbmVkIGlu IHRoZSBnY2UgaGVhZGVyCj4gKyAgICAgIGluY2x1ZGUvZHQtYmluZGluZ3MvZ2NlLzxjaGlwPi1n Y2UuaC4KPiArICAgICRyZWY6IC9zY2hlbWFzL3R5cGVzLnlhbWwjL2RlZmluaXRpb25zL3BoYW5k bGUtYXJyYXkKPiArICAgIG1heEl0ZW1zOiAxCj4gKwo+ICtyZXF1aXJlZDoKPiArICAtIGNvbXBh dGlibGUKPiArICAtIHJlZwo+ICsgIC0gaW50ZXJydXB0cwo+ICsgIC0gcG93ZXItZG9tYWlucwo+ ICsgIC0gY2xvY2tzCj4gKyAgLSBpb21tdXMKPiArCj4gK2FkZGl0aW9uYWxQcm9wZXJ0aWVzOiBm YWxzZQo+ICsKPiArZXhhbXBsZXM6Cj4gKyAgLSB8Cj4gKwo+ICsgICAgcmRtYTA6IHJkbWFAMTQw MGUwMDAgewo+ICsgICAgICAgIGNvbXBhdGlibGUgPSAibWVkaWF0ZWssbXQ4MTczLWRpc3AtcmRt YSI7Cj4gKyAgICAgICAgcmVnID0gPDAgMHgxNDAwZTAwMCAwIDB4MTAwMD47Cj4gKyAgICAgICAg aW50ZXJydXB0cyA9IDxHSUNfU1BJIDE4MiBJUlFfVFlQRV9MRVZFTF9MT1c+Owo+ICsgICAgICAg IHBvd2VyLWRvbWFpbnMgPSA8JnNjcHN5cyBNVDgxNzNfUE9XRVJfRE9NQUlOX01NPjsKPiArICAg ICAgICBjbG9ja3MgPSA8Jm1tc3lzIENMS19NTV9ESVNQX1JETUEwPjsKPiArICAgICAgICBpb21t dXMgPSA8JmlvbW11IE00VV9QT1JUX0RJU1BfUkRNQTA+Owo+ICsgICAgICAgIG1lZGlhdGVrLGxh cmIgPSA8JmxhcmIwPjsKPiArICAgICAgICBtZWRpYXRlayxyZG1hLWZpZm9zaXplID0gPDgxOTI+ Owo+ICsgICAgICAgIG1lZGlhdGVrLGdjZS1jbGllbnQtcmVnID0gPCZnY2UgU1VCU1lTXzE0MDBY WFhYIDB4ZTAwMCAweDEwMDA+Owo+ICsgICAgfTsKPiBkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlv bi9kZXZpY2V0cmVlL2JpbmRpbmdzL2Rpc3BsYXkvbWVkaWF0ZWsvbWVkaWF0ZWssc3BsaXQueWFt bCBiL0RvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9kaXNwbGF5L21lZGlhdGVrL21l ZGlhdGVrLHNwbGl0LnlhbWwKPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDAwMDAwMDAw MDAwMC4uNGYwOGU4OWMxMDY3Cj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBiL0RvY3VtZW50YXRpb24v ZGV2aWNldHJlZS9iaW5kaW5ncy9kaXNwbGF5L21lZGlhdGVrL21lZGlhdGVrLHNwbGl0LnlhbWwK PiBAQCAtMCwwICsxLDU4IEBACj4gKyMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IChHUEwtMi4w LW9ubHkgT1IgQlNELTItQ2xhdXNlKQo+ICslWUFNTCAxLjIKPiArLS0tCj4gKyRpZDogaHR0cDov L2RldmljZXRyZWUub3JnL3NjaGVtYXMvZGlzcGxheS9tZWRpYXRlay9tZWRpYXRlayxzcGxpdC55 YW1sIwo+ICskc2NoZW1hOiBodHRwOi8vZGV2aWNldHJlZS5vcmcvbWV0YS1zY2hlbWFzL2NvcmUu eWFtbCMKPiArCj4gK3RpdGxlOiBNZWRpYXRlayBkaXNwbGF5IHNwbGl0Cj4gKwo+ICttYWludGFp bmVyczoKPiArICAtIENodW4tS3VhbmcgSHUgPGNodW5rdWFuZy5odUBrZXJuZWwub3JnPgo+ICsg IC0gUGhpbGlwcCBaYWJlbCA8cC56YWJlbEBwZW5ndXRyb25peC5kZT4KPiArCj4gK2Rlc2NyaXB0 aW9uOiB8Cj4gKyAgTWVkaWF0ZWsgZGlzcGxheSBzcGxpdCwgbmFtZWx5IFNQTElULCBpcyB1c2Vk IHRvIHNwbGl0IHN0cmVhbSB0byB0d28KPiArICBlbmNvZGVycy4KPiArICBTUExJVCBkZXZpY2Ug bm9kZSBtdXN0IGJlIHNpYmxpbmdzIHRvIHRoZSBjZW50cmFsIE1NU1lTX0NPTkZJRyBub2RlLgo+ ICsgIEZvciBhIGRlc2NyaXB0aW9uIG9mIHRoZSBNTVNZU19DT05GSUcgYmluZGluZywgc2VlCj4g KyAgRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2FybS9tZWRpYXRlay9tZWRpYXRl ayxtbXN5cy55YW1sCj4gKyAgZm9yIGRldGFpbHMuCj4gKwo+ICtwcm9wZXJ0aWVzOgo+ICsgIGNv bXBhdGlibGU6Cj4gKyAgICBvbmVPZjoKPiArICAgICAgLSBpdGVtczoKPiArICAgICAgICAgIC0g Y29uc3Q6IG1lZGlhdGVrLG10ODE3My1kaXNwLXNwbGl0Cj4gKwo+ICsgIHJlZzoKPiArICAgIG1h eEl0ZW1zOiAxCj4gKwo+ICsgIGludGVycnVwdHM6Cj4gKyAgICBtYXhJdGVtczogMQo+ICsKPiAr ICBwb3dlci1kb21haW5zOgo+ICsgICAgZGVzY3JpcHRpb246IEEgcGhhbmRsZSBhbmQgUE0gZG9t YWluIHNwZWNpZmllciBhcyBkZWZpbmVkIGJ5IGJpbmRpbmdzIG9mCj4gKyAgICAgIHRoZSBwb3dl ciBjb250cm9sbGVyIHNwZWNpZmllZCBieSBwaGFuZGxlLiBTZWUKPiArICAgICAgRG9jdW1lbnRh dGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3Bvd2VyL3Bvd2VyLWRvbWFpbi55YW1sIGZvciBkZXRh aWxzLgo+ICsKPiArICBjbG9ja3M6Cj4gKyAgICBpdGVtczoKPiArICAgICAgLSBkZXNjcmlwdGlv bjogU1BMSVQgQ2xvY2sKPiArCj4gK3JlcXVpcmVkOgo+ICsgIC0gY29tcGF0aWJsZQo+ICsgIC0g cmVnCj4gKyAgLSBwb3dlci1kb21haW5zCj4gKyAgLSBjbG9ja3MKPiArCj4gK2FkZGl0aW9uYWxQ cm9wZXJ0aWVzOiBmYWxzZQo+ICsKPiArZXhhbXBsZXM6Cj4gKyAgLSB8Cj4gKwo+ICsgICAgc3Bs aXQwOiBzcGxpdEAxNDAxODAwMCB7Cj4gKyAgICAgICAgY29tcGF0aWJsZSA9ICJtZWRpYXRlayxt dDgxNzMtZGlzcC1zcGxpdCI7Cj4gKyAgICAgICAgcmVnID0gPDAgMHgxNDAxODAwMCAwIDB4MTAw MD47Cj4gKyAgICAgICAgcG93ZXItZG9tYWlucyA9IDwmc3BtIE1UODE3M19QT1dFUl9ET01BSU5f TU0+Owo+ICsgICAgICAgIGNsb2NrcyA9IDwmbW1zeXMgQ0xLX01NX0RJU1BfU1BMSVQwPjsKPiAr ICAgIH07Cj4gZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9k aXNwbGF5L21lZGlhdGVrL21lZGlhdGVrLHVmb2UueWFtbCBiL0RvY3VtZW50YXRpb24vZGV2aWNl dHJlZS9iaW5kaW5ncy9kaXNwbGF5L21lZGlhdGVrL21lZGlhdGVrLHVmb2UueWFtbAo+IG5ldyBm aWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXggMDAwMDAwMDAwMDAwLi42ZTg3NDg1MjllNzMKPiAtLS0g L2Rldi9udWxsCj4gKysrIGIvRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2Rpc3Bs YXkvbWVkaWF0ZWsvbWVkaWF0ZWssdWZvZS55YW1sCj4gQEAgLTAsMCArMSw2MSBAQAo+ICsjIFNQ RFgtTGljZW5zZS1JZGVudGlmaWVyOiAoR1BMLTIuMC1vbmx5IE9SIEJTRC0yLUNsYXVzZSkKPiAr JVlBTUwgMS4yCj4gKy0tLQo+ICskaWQ6IGh0dHA6Ly9kZXZpY2V0cmVlLm9yZy9zY2hlbWFzL2Rp c3BsYXkvbWVkaWF0ZWsvbWVkaWF0ZWssdWZvZS55YW1sIwo+ICskc2NoZW1hOiBodHRwOi8vZGV2 aWNldHJlZS5vcmcvbWV0YS1zY2hlbWFzL2NvcmUueWFtbCMKPiArCj4gK3RpdGxlOiBNZWRpYXRl ayBkaXNwbGF5IFVGT2UKPiArCj4gK21haW50YWluZXJzOgo+ICsgIC0gQ2h1bi1LdWFuZyBIdSA8 Y2h1bmt1YW5nLmh1QGtlcm5lbC5vcmc+Cj4gKyAgLSBQaGlsaXBwIFphYmVsIDxwLnphYmVsQHBl bmd1dHJvbml4LmRlPgo+ICsKPiArZGVzY3JpcHRpb246IHwKPiArICBNZWRpYXRlayBkaXNwbGF5 IFVGT2Ugc3RhbmRzIGZvciBVbmlmaWVkIEZyYW1lIE9wdGltaXphdGlvbiBlbmdpbmUuCj4gKyAg VUZPZSBjYW4gY3V0IHRoZSBkYXRhIHJhdGUgZm9yIERTSSBwb3J0IHdoaWNoIG1heSBsZWFkIHRv IHJlZHVjZSBwb3dlcgo+ICsgIGNvbnN1bXB0aW9uLgo+ICsgIFVGT2UgZGV2aWNlIG5vZGUgbXVz dCBiZSBzaWJsaW5ncyB0byB0aGUgY2VudHJhbCBNTVNZU19DT05GSUcgbm9kZS4KPiArICBGb3Ig YSBkZXNjcmlwdGlvbiBvZiB0aGUgTU1TWVNfQ09ORklHIGJpbmRpbmcsIHNlZQo+ICsgIERvY3Vt ZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9hcm0vbWVkaWF0ZWsvbWVkaWF0ZWssbW1zeXMu eWFtbAo+ICsgIGZvciBkZXRhaWxzLgo+ICsKPiArcHJvcGVydGllczoKPiArICBjb21wYXRpYmxl Ogo+ICsgICAgb25lT2Y6Cj4gKyAgICAgIC0gaXRlbXM6Cj4gKyAgICAgICAgICAtIGNvbnN0OiBt ZWRpYXRlayxtdDgxNzMtZGlzcC11Zm9lCj4gKwo+ICsgIHJlZzoKPiArICAgIG1heEl0ZW1zOiAx Cj4gKwo+ICsgIGludGVycnVwdHM6Cj4gKyAgICBtYXhJdGVtczogMQo+ICsKPiArICBwb3dlci1k b21haW5zOgo+ICsgICAgZGVzY3JpcHRpb246IEEgcGhhbmRsZSBhbmQgUE0gZG9tYWluIHNwZWNp ZmllciBhcyBkZWZpbmVkIGJ5IGJpbmRpbmdzIG9mCj4gKyAgICAgIHRoZSBwb3dlciBjb250cm9s bGVyIHNwZWNpZmllZCBieSBwaGFuZGxlLiBTZWUKPiArICAgICAgRG9jdW1lbnRhdGlvbi9kZXZp Y2V0cmVlL2JpbmRpbmdzL3Bvd2VyL3Bvd2VyLWRvbWFpbi55YW1sIGZvciBkZXRhaWxzLgo+ICsK PiArICBjbG9ja3M6Cj4gKyAgICBpdGVtczoKPiArICAgICAgLSBkZXNjcmlwdGlvbjogVUZPZSBD bG9jawo+ICsKPiArcmVxdWlyZWQ6Cj4gKyAgLSBjb21wYXRpYmxlCj4gKyAgLSByZWcKPiArICAt IGludGVycnVwdHMKPiArICAtIHBvd2VyLWRvbWFpbnMKPiArICAtIGNsb2Nrcwo+ICsKPiArYWRk aXRpb25hbFByb3BlcnRpZXM6IGZhbHNlCj4gKwo+ICtleGFtcGxlczoKPiArICAtIHwKPiArCj4g KyAgICB1Zm9lQDE0MDFhMDAwIHsKPiArICAgICAgICBjb21wYXRpYmxlID0gIm1lZGlhdGVrLG10 ODE3My1kaXNwLXVmb2UiOwo+ICsgICAgICAgIHJlZyA9IDwwIDB4MTQwMWEwMDAgMCAweDEwMDA+ Owo+ICsgICAgICAgIGludGVycnVwdHMgPSA8R0lDX1NQSSAxOTEgSVJRX1RZUEVfTEVWRUxfTE9X PjsKPiArICAgICAgICBwb3dlci1kb21haW5zID0gPCZzY3BzeXMgTVQ4MTczX1BPV0VSX0RPTUFJ Tl9NTT47Cj4gKyAgICAgICAgY2xvY2tzID0gPCZtbXN5cyBDTEtfTU1fRElTUF9VRk9FPjsKPiAr ICAgIH07Cj4gZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9k aXNwbGF5L21lZGlhdGVrL21lZGlhdGVrLHdkbWEueWFtbCBiL0RvY3VtZW50YXRpb24vZGV2aWNl dHJlZS9iaW5kaW5ncy9kaXNwbGF5L21lZGlhdGVrL21lZGlhdGVrLHdkbWEueWFtbAo+IG5ldyBm aWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXggMDAwMDAwMDAwMDAwLi4yNWY5YTYzZmU3YWYKPiAtLS0g L2Rldi9udWxsCj4gKysrIGIvRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2Rpc3Bs YXkvbWVkaWF0ZWsvbWVkaWF0ZWssd2RtYS55YW1sCj4gQEAgLTAsMCArMSw4OSBAQAo+ICsjIFNQ RFgtTGljZW5zZS1JZGVudGlmaWVyOiAoR1BMLTIuMC1vbmx5IE9SIEJTRC0yLUNsYXVzZSkKPiAr JVlBTUwgMS4yCj4gKy0tLQo+ICskaWQ6IGh0dHA6Ly9kZXZpY2V0cmVlLm9yZy9zY2hlbWFzL2Rp c3BsYXkvbWVkaWF0ZWsvbWVkaWF0ZWssd2RtYS55YW1sIwo+ICskc2NoZW1hOiBodHRwOi8vZGV2 aWNldHJlZS5vcmcvbWV0YS1zY2hlbWFzL2NvcmUueWFtbCMKPiArCj4gK3RpdGxlOiBNZWRpYXRl ayBkaXNwbGF5IFdETUEKPiArCj4gK21haW50YWluZXJzOgo+ICsgIC0gQ2h1bi1LdWFuZyBIdSA8 Y2h1bmt1YW5nLmh1QGtlcm5lbC5vcmc+Cj4gKyAgLSBQaGlsaXBwIFphYmVsIDxwLnphYmVsQHBl bmd1dHJvbml4LmRlPgo+ICsKPiArZGVzY3JpcHRpb246IHwKPiArICBNZWRpYXRlayBkaXNwbGF5 IFdETUEgc3RhbmRzIGZvciBXcml0ZSBEaXJlY3QgTWVtb3J5IEFjY2Vzcy4KPiArICBJdCBjYW4g d3JpdGUgdGhlIGRhdGEgaW4gZGlzcGxheSBwaXBlbGluZSBpbnRvIERSQU0uCj4gKyAgV0RNQSBk ZXZpY2Ugbm9kZSBtdXN0IGJlIHNpYmxpbmdzIHRvIHRoZSBjZW50cmFsIE1NU1lTX0NPTkZJRyBu b2RlLgo+ICsgIEZvciBhIGRlc2NyaXB0aW9uIG9mIHRoZSBNTVNZU19DT05GSUcgYmluZGluZywg c2VlCj4gKyAgRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2FybS9tZWRpYXRlay9t ZWRpYXRlayxtbXN5cy55YW1sCj4gKyAgZm9yIGRldGFpbHMuCj4gKwo+ICtwcm9wZXJ0aWVzOgo+ ICsgIGNvbXBhdGlibGU6Cj4gKyAgICBvbmVPZjoKPiArICAgICAgLSBpdGVtczoKPiArICAgICAg ICAgIC0gY29uc3Q6IG1lZGlhdGVrLG10ODE3My1kaXNwLXdkbWEKPiArCj4gKyAgcmVnOgo+ICsg ICAgbWF4SXRlbXM6IDEKPiArCj4gKyAgaW50ZXJydXB0czoKPiArICAgIG1heEl0ZW1zOiAxCj4g Kwo+ICsgIHBvd2VyLWRvbWFpbnM6Cj4gKyAgICBkZXNjcmlwdGlvbjogQSBwaGFuZGxlIGFuZCBQ TSBkb21haW4gc3BlY2lmaWVyIGFzIGRlZmluZWQgYnkgYmluZGluZ3Mgb2YKPiArICAgICAgdGhl IHBvd2VyIGNvbnRyb2xsZXIgc3BlY2lmaWVkIGJ5IHBoYW5kbGUuIFNlZQo+ICsgICAgICBEb2N1 bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcG93ZXIvcG93ZXItZG9tYWluLnlhbWwgZm9y IGRldGFpbHMuCj4gKwo+ICsgIGNsb2NrczoKPiArICAgIGl0ZW1zOgo+ICsgICAgICAtIGRlc2Ny aXB0aW9uOiBXRE1BIENsb2NrCj4gKwo+ICsgIGlvbW11czoKPiArICAgIGRlc2NyaXB0aW9uOgo+ ICsgICAgICBUaGlzIHByb3BlcnR5IHNob3VsZCBwb2ludCB0byB0aGUgcmVzcGVjdGl2ZSBJT01N VSBibG9jayB3aXRoIG1hc3RlciBwb3J0IGFzIGFyZ3VtZW50LAo+ICsgICAgICBzZWUgRG9jdW1l bnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2lvbW11L21lZGlhdGVrLGlvbW11LnlhbWwgZm9y IGRldGFpbHMuCj4gKwo+ICsgIG1lZGlhdGVrLGxhcmI6Cj4gKyAgICBkZXNjcmlwdGlvbjoKPiAr ICAgICAgVGhpcyBwcm9wZXJ0eSBzaG91bGQgY29udGFpbiBhIHBoYW5kbGUgcG9pbnRpbmcgdG8g dGhlIGxvY2FsIGFyYml0ZXIgZGV2aWNlcyBkZWZpbmVkIGluCj4gKyAgICAgIERvY3VtZW50YXRp b24vZGV2aWNldHJlZS9iaW5kaW5ncy9tZW1vcnktY29udHJvbGxlcnMvbWVkaWF0ZWssc21pLWxh cmIueWFtbC4KPiArICAgICAgSXQgbXVzdCBzb3J0IGFjY29yZGluZyB0byB0aGUgbG9jYWwgYXJi aXRlciBpbmRleCwgbGlrZSBsYXJiMCwgbGFyYjEsIGxhcmIyLi4uCj4gKyAgICAkcmVmOiAvc2No ZW1hcy90eXBlcy55YW1sIy9kZWZpbml0aW9ucy9waGFuZGxlLWFycmF5Cj4gKyAgICBtaW5JdGVt czogMQo+ICsgICAgbWF4SXRlbXM6IDMyCj4gKwo+ICsgIG1lZGlhdGVrLGdjZS1jbGllbnQtcmVn Ogo+ICsgICAgZGVzY3JpcHRpb246Cj4gKyAgICAgIFRoZSByZWdpc3RlciBvZiBjbGllbnQgZHJp dmVyIGNhbiBiZSBjb25maWd1cmVkIGJ5IGdjZSB3aXRoIDQgYXJndW1lbnRzCj4gKyAgICAgIGRl ZmluZWQgaW4gdGhpcyBwcm9wZXJ0eSwgc3VjaCBhcyBwaGFuZGxlIG9mIGdjZSwgc3Vic3lzIGlk LAo+ICsgICAgICByZWdpc3RlciBvZmZzZXQgYW5kIHNpemUuCj4gKyAgICAgIEVhY2ggc3Vic3lz IGlkIGlzIG1hcHBpbmcgdG8gYSBiYXNlIGFkZHJlc3Mgb2YgZGlzcGxheSBmdW5jdGlvbiBibG9j a3MKPiArICAgICAgcmVnaXN0ZXIgd2hpY2ggaXMgZGVmaW5lZCBpbiB0aGUgZ2NlIGhlYWRlcgo+ ICsgICAgICBpbmNsdWRlL2R0LWJpbmRpbmdzL2djZS88Y2hpcD4tZ2NlLmguCj4gKyAgICAkcmVm OiAvc2NoZW1hcy90eXBlcy55YW1sIy9kZWZpbml0aW9ucy9waGFuZGxlLWFycmF5Cj4gKyAgICBt YXhJdGVtczogMQo+ICsKPiArcmVxdWlyZWQ6Cj4gKyAgLSBjb21wYXRpYmxlCj4gKyAgLSByZWcK PiArICAtIGludGVycnVwdHMKPiArICAtIHBvd2VyLWRvbWFpbnMKPiArICAtIGNsb2Nrcwo+ICsg IC0gaW9tbXVzCj4gKwo+ICthZGRpdGlvbmFsUHJvcGVydGllczogZmFsc2UKPiArCj4gK2V4YW1w bGVzOgo+ICsgIC0gfAo+ICsKPiArICAgIHdkbWEwOiB3ZG1hQDE0MDExMDAwIHsKPiArICAgICAg ICBjb21wYXRpYmxlID0gIm1lZGlhdGVrLG10ODE3My1kaXNwLXdkbWEiOwo+ICsgICAgICAgIHJl ZyA9IDwwIDB4MTQwMTEwMDAgMCAweDEwMDA+Owo+ICsgICAgICAgIGludGVycnVwdHMgPSA8R0lD X1NQSSAxODUgSVJRX1RZUEVfTEVWRUxfTE9XPjsKPiArICAgICAgICBwb3dlci1kb21haW5zID0g PCZzY3BzeXMgTVQ4MTczX1BPV0VSX0RPTUFJTl9NTT47Cj4gKyAgICAgICAgY2xvY2tzID0gPCZt bXN5cyBDTEtfTU1fRElTUF9XRE1BMD47Cj4gKyAgICAgICAgaW9tbXVzID0gPCZpb21tdSBNNFVf UE9SVF9ESVNQX1dETUEwPjsKPiArICAgICAgICBtZWRpYXRlayxsYXJiID0gPCZsYXJiMD47Cj4g KyAgICAgICAgbWVkaWF0ZWssZ2NlLWNsaWVudC1yZWcgPSA8JmdjZSBTVUJTWVNfMTQwMVhYWFgg MHgxMDAwIDB4MTAwMD47Cj4gKyAgICB9Owo+IC0tCj4gMi4xOC4wCj4KCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGlu ZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMu aW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK