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 X-Spam-Level: X-Spam-Status: No, score=-9.7 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0AC89C5DF63 for ; Tue, 5 Nov 2019 21:22:46 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id C160321A49 for ; Tue, 5 Nov 2019 21:22:45 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729917AbfKEVWp (ORCPT ); Tue, 5 Nov 2019 16:22:45 -0500 Received: from relay12.mail.gandi.net ([217.70.178.232]:49045 "EHLO relay12.mail.gandi.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729952AbfKEVWo (ORCPT ); Tue, 5 Nov 2019 16:22:44 -0500 Received: from localhost (unknown [78.193.40.249]) (Authenticated sender: kamel.bouhara@bootlin.com) by relay12.mail.gandi.net (Postfix) with ESMTPSA id B6EF3200006; Tue, 5 Nov 2019 21:22:41 +0000 (UTC) From: Kamel Bouhara To: Rob Herring , Nicolas Ferre , Alexandre Belloni , Ludovic Desroches , linux-arm-kernel@lists.infradead.org Cc: devicetree@vger.kernel.org, Thomas Petazzoni , Kamel Bouhara , =?UTF-8?q?K=C3=A9vin=20RAYMOND?= , Mickael GARDET Subject: [PATCH v3 2/2] ARM: dts: at91: add a dts and dtsi file for kizbox2 based boards Date: Tue, 5 Nov 2019 22:22:34 +0100 Message-Id: <20191105212234.22999-2-kamel.bouhara@bootlin.com> X-Mailer: git-send-email 2.24.0.rc1 In-Reply-To: <20191105212234.22999-1-kamel.bouhara@bootlin.com> References: <20191105212234.22999-1-kamel.bouhara@bootlin.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: devicetree-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org There are several boards available depending on the PCB (3 antennas support and several revison). Add a dtsi file to share common binding between all kizbox2 boards. This patch also add support for the kizbox2-2 variant. Signed-off-by: Kévin RAYMOND Signed-off-by: Mickael GARDET Signed-off-by: Kamel Bouhara --- Changes in v2: ============== - Replaced "_" by "-" in dts/dtsi file names - Fixed unusual C++ Style comments Changes in v3: ============== - Removed the kizbox changes from this patch Signed-off-by: Kamel Bouhara --- arch/arm/boot/dts/Makefile | 2 +- arch/arm/boot/dts/at91-kizbox2-2.dts | 26 +++ arch/arm/boot/dts/at91-kizbox2-common.dtsi | 258 +++++++++++++++++++++ arch/arm/boot/dts/at91-kizbox2.dts | 244 ------------------- 4 files changed, 285 insertions(+), 245 deletions(-) create mode 100644 arch/arm/boot/dts/at91-kizbox2-2.dts create mode 100644 arch/arm/boot/dts/at91-kizbox2-common.dtsi delete mode 100644 arch/arm/boot/dts/at91-kizbox2.dts diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile index 3bda216c41be..4ac053115a8e 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile @@ -45,7 +45,7 @@ dtb-$(CONFIG_SOC_AT91SAM9) += \ at91sam9x25ek.dtb \ at91sam9x35ek.dtb dtb-$(CONFIG_SOC_SAM_V7) += \ - at91-kizbox2.dtb \ + at91-kizbox2-2.dtb \ at91-kizbox3-hs.dtb \ at91-nattis-2-natte-2.dtb \ at91-sama5d27_som1_ek.dtb \ diff --git a/arch/arm/boot/dts/at91-kizbox2-2.dts b/arch/arm/boot/dts/at91-kizbox2-2.dts new file mode 100644 index 000000000000..cab8b3579efa --- /dev/null +++ b/arch/arm/boot/dts/at91-kizbox2-2.dts @@ -0,0 +1,26 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * at91-kizbox2-2.dts - Device Tree file for the Kizbox2 with + * two head board + * + * Copyright (C) 2015 Overkiz SAS + * + * Authors: Antoine Aubert + * Kévin Raymond + */ +/dts-v1/; +#include "at91-kizbox2-common.dtsi" + +/ { + model = "Overkiz Kizbox 2 with two heads"; + compatible = "overkiz,kizbox2-2", "atmel,sama5d31", + "atmel,sama5d3", "atmel,sama5"; +}; + +&usart1 { + status = "okay"; +}; + +&usart2 { + status = "okay"; +}; diff --git a/arch/arm/boot/dts/at91-kizbox2-common.dtsi b/arch/arm/boot/dts/at91-kizbox2-common.dtsi new file mode 100644 index 000000000000..af38253a6e7a --- /dev/null +++ b/arch/arm/boot/dts/at91-kizbox2-common.dtsi @@ -0,0 +1,258 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * at91-kizbox2_common.dtsi - Device Tree Include file for + * Overkiz Kizbox 2 family SoC + * + * Copyright (C) 2014-2018 Overkiz SAS + * + * Authors: Antoine Aubert + * Gaël Portay + * Kévin Raymond + */ +#include "sama5d31.dtsi" + +/ { + chosen { + bootargs = "ubi.mtd=ubi"; + stdout-path = &dbgu; + }; + + memory { + reg = <0x20000000 0x10000000>; + }; + + clocks { + slow_xtal { + clock-frequency = <32768>; + }; + + main_xtal { + clock-frequency = <12000000>; + }; + }; + + gpio_keys { + compatible = "gpio-keys"; + #address-cells = <1>; + #size-cells = <0>; + + prog { + label = "PB_PROG"; + gpios = <&pioE 27 GPIO_ACTIVE_LOW>; + linux,code = <0x102>; + wakeup-source; + }; + + reset { + label = "PB_RST"; + gpios = <&pioE 29 GPIO_ACTIVE_LOW>; + linux,code = <0x100>; + wakeup-source; + }; + + user { + label = "PB_USER"; + gpios = <&pioE 31 GPIO_ACTIVE_HIGH>; + linux,code = <0x101>; + wakeup-source; + }; + }; + + pwm_leds { + compatible = "pwm-leds"; + + blue { + label = "pwm:blue:user"; + pwms = <&pwm0 2 10000000 0>; + max-brightness = <255>; + linux,default-trigger = "none"; + }; + + green { + label = "pwm:green:user"; + pwms = <&pwm0 1 10000000 0>; + max-brightness = <255>; + linux,default-trigger = "default-on"; + }; + + red { + label = "pwm:red:user"; + pwms = <&pwm0 0 10000000 0>; + max-brightness = <255>; + linux,default-trigger = "default-on"; + }; + }; +}; + +&i2c1 { + status = "okay"; + + pmic: act8865@5b { + compatible = "active-semi,act8865"; + reg = <0x5b>; + status = "okay"; + + regulators { + vcc_1v8_reg: DCDC_REG1 { + regulator-name = "VCC_1V8"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-always-on; + }; + + vcc_1v2_reg: DCDC_REG2 { + regulator-name = "VCC_1V2"; + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <1200000>; + regulator-always-on; + }; + + vcc_3v3_reg: DCDC_REG3 { + regulator-name = "VCC_3V3"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-always-on; + }; + + vddfuse_reg: LDO_REG1 { + regulator-name = "FUSE_2V5"; + regulator-min-microvolt = <2500000>; + regulator-max-microvolt = <2500000>; + }; + + vddana_reg: LDO_REG2 { + regulator-name = "VDDANA"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-always-on; + }; + + vled_reg: LDO_REG3 { + regulator-name = "VLED"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-always-on; + }; + + v3v8_rf_reg: LDO_REG4 { + regulator-name = "V3V8_RF"; + regulator-min-microvolt = <3800000>; + regulator-max-microvolt = <3800000>; + regulator-always-on; + }; + }; + }; +}; + +&usart0 { + atmel,use-dma-rx; + atmel,use-dma-tx; + status = "disabled"; +}; + +&usart1 { + atmel,use-dma-rx; + atmel,use-dma-tx; + status = "disabled"; +}; + +&usart2 { + atmel,use-dma-rx; + atmel,use-dma-tx; + status = "disabled"; +}; + +&pwm0 { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_pwm0_pwmh0_1 + &pinctrl_pwm0_pwmh1_1 + &pinctrl_pwm0_pwmh2_0>; + status = "okay"; +}; + +&adc0 { + atmel,adc-vref = <3333>; + status = "okay"; +}; + +&macb1 { + phy-mode = "rmii"; + status = "okay"; +}; + +&dbgu { + status = "okay"; +}; + +&watchdog { + status = "okay"; +}; + +&ebi { + pinctrl-0 = <&pinctrl_ebi_nand_addr>; + pinctrl-names = "default"; + status = "okay"; +}; + +&nand_controller { + status = "okay"; + + nand@3 { + reg = <0x3 0x0 0x2>; + atmel,rb = <0>; + nand-bus-width = <8>; + nand-ecc-mode = "hw"; + nand-ecc-strength = <4>; + nand-ecc-step-size = <512>; + nand-on-flash-bbt; + label = "atmel_nand"; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + bootstrap@0 { + label = "bootstrap"; + reg = <0x0 0x20000>; + }; + + ubi@20000 { + label = "ubi"; + reg = <0x20000 0x7fe0000>; + }; + }; + }; +}; + +&usb1 { + status = "okay"; +}; + +&usb2 { + status = "okay"; +}; + +/* WMBUS (inverted with IO in the latest schematic) */ +&pinctrl_usart0 { + atmel,pins = + ; +}; + +/* RTS */ +&pinctrl_usart1 { + atmel,pins = + ; +}; + +/* IO (inverted with WMBUS in the latest schematic) */ +&pinctrl_usart2 { + atmel,pins = + ; +}; diff --git a/arch/arm/boot/dts/at91-kizbox2.dts b/arch/arm/boot/dts/at91-kizbox2.dts deleted file mode 100644 index 86d821884bd4..000000000000 --- a/arch/arm/boot/dts/at91-kizbox2.dts +++ /dev/null @@ -1,244 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0-or-later -/* - * at91-kizbox2.dts - Device Tree file for Overkiz Kizbox 2 board - * - * Copyright (C) 2014 Gaël PORTAY - */ -/dts-v1/; -#include "sama5d31.dtsi" -#include - -/ { - model = "Overkiz Kizbox 2"; - compatible = "overkiz,kizbox2", "atmel,sama5d31", "atmel,sama5d3", "atmel,sama5"; - - chosen { - bootargs = "ubi.mtd=ubi"; - stdout-path = &dbgu; - }; - - memory { - reg = <0x20000000 0x10000000>; - }; - - clocks { - slow_xtal { - clock-frequency = <32768>; - }; - - main_xtal { - clock-frequency = <12000000>; - }; - }; - - ahb { - apb { - i2c1: i2c@f0018000 { - status = "okay"; - - pmic: act8865@5b { - compatible = "active-semi,act8865"; - reg = <0x5b>; - status = "okay"; - - regulators { - vcc_1v8_reg: DCDC_REG1 { - regulator-name = "VCC_1V8"; - regulator-min-microvolt = <1800000>; - regulator-max-microvolt = <1800000>; - regulator-always-on; - }; - - vcc_1v2_reg: DCDC_REG2 { - regulator-name = "VCC_1V2"; - regulator-min-microvolt = <1200000>; - regulator-max-microvolt = <1200000>; - regulator-always-on; - }; - - vcc_3v3_reg: DCDC_REG3 { - regulator-name = "VCC_3V3"; - regulator-min-microvolt = <3300000>; - regulator-max-microvolt = <3300000>; - regulator-always-on; - }; - - vddfuse_reg: LDO_REG1 { - regulator-name = "FUSE_2V5"; - regulator-min-microvolt = <2500000>; - regulator-max-microvolt = <2500000>; - }; - - vddana_reg: LDO_REG2 { - regulator-name = "VDDANA"; - regulator-min-microvolt = <3300000>; - regulator-max-microvolt = <3300000>; - regulator-always-on; - }; - - vled_reg: LDO_REG3 { - regulator-name = "VLED"; - regulator-min-microvolt = <3300000>; - regulator-max-microvolt = <3300000>; - regulator-always-on; - }; - - v3v8_rf_reg: LDO_REG4 { - regulator-name = "V3V8_RF"; - regulator-min-microvolt = <3800000>; - regulator-max-microvolt = <3800000>; - regulator-always-on; - }; - }; - }; - }; - - tcb0: timer@f0010000 { - timer@0 { - compatible = "atmel,tcb-timer"; - reg = <0>; - }; - - timer@1 { - compatible = "atmel,tcb-timer"; - reg = <1>; - }; - }; - - usart0: serial@f001c000 { - status = "okay"; - }; - - usart1: serial@f0020000 { - status = "okay"; - }; - - pwm0: pwm@f002c000 { - pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_pwm0_pwmh0_1 - &pinctrl_pwm0_pwmh1_1 - &pinctrl_pwm0_pwmh2_0>; - status = "okay"; - }; - - adc0: adc@f8018000 { - atmel,adc-vref = <3333>; - status = "okay"; - }; - - usart2: serial@f8020000 { - status = "okay"; - }; - - macb1: ethernet@f802c000 { - phy-mode = "rmii"; - status = "okay"; - }; - - dbgu: serial@ffffee00 { - status = "okay"; - }; - - watchdog@fffffe40 { - status = "okay"; - }; - }; - - usb1: ohci@600000 { - status = "okay"; - }; - - usb2: ehci@700000 { - status = "okay"; - }; - - ebi: ebi@10000000 { - pinctrl-0 = <&pinctrl_ebi_nand_addr>; - pinctrl-names = "default"; - status = "okay"; - - nand_controller: nand-controller { - status = "okay"; - - nand@3 { - reg = <0x3 0x0 0x2>; - atmel,rb = <0>; - nand-bus-width = <8>; - nand-ecc-mode = "hw"; - nand-ecc-strength = <4>; - nand-ecc-step-size = <512>; - nand-on-flash-bbt; - label = "atmel_nand"; - - partitions { - compatible = "fixed-partitions"; - #address-cells = <1>; - #size-cells = <1>; - - bootstrap@0 { - label = "bootstrap"; - reg = <0x0 0x20000>; - }; - - ubi@20000 { - label = "ubi"; - reg = <0x20000 0x7fe0000>; - }; - }; - }; - }; - }; - }; - - gpio_keys { - compatible = "gpio-keys"; - #address-cells = <1>; - #size-cells = <0>; - - prog { - label = "PB_PROG"; - gpios = <&pioE 27 GPIO_ACTIVE_LOW>; - linux,code = <0x102>; - wakeup-source; - }; - - reset { - label = "PB_RST"; - gpios = <&pioE 29 GPIO_ACTIVE_LOW>; - linux,code = <0x100>; - wakeup-source; - }; - - user { - label = "PB_USER"; - gpios = <&pioE 31 GPIO_ACTIVE_HIGH>; - linux,code = <0x101>; - wakeup-source; - }; - }; - - pwm_leds { - compatible = "pwm-leds"; - - blue { - label = "pwm:blue:user"; - pwms = <&pwm0 2 10000000 0>; - max-brightness = <255>; - linux,default-trigger = "default-on"; - }; - - green { - label = "pwm:green:user"; - pwms = <&pwm0 1 10000000 0>; - max-brightness = <255>; - linux,default-trigger = "default-on"; - }; - - red { - label = "pwm:red:user"; - pwms = <&pwm0 0 10000000 0>; - max-brightness = <255>; - linux,default-trigger = "default-on"; - }; - }; -}; -- 2.24.0.rc1 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 X-Spam-Level: X-Spam-Status: No, score=-9.8 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 91E02C5DF61 for ; Tue, 5 Nov 2019 21:22:54 +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 4C72221A49 for ; Tue, 5 Nov 2019 21:22:54 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="HsCzKft9" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 4C72221A49 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=bootlin.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=2rODUXch1ghDqs5EGS8g59igH4plz9nedj3fezdI5TI=; b=HsCzKft93CiPvB f3884Z5uCPl5bwLOMaCllXfwFP6gGIxJLfP7Y6WUNwV8s0yrtO5MpuDr+BiVGR214UpzgEjCZAwwD rlt9ipoUZ0n7q5sBi14PrJteFnVKjQ6nz/cO8Gf4fZeB93r5X1S3uNGRBmTKQfLwrDhN3R13IIvwf lbb7x7rOGAA3xxMeadFPRSVNFPepGjYwGqogoRfrG3c1NOJ5MP+YQGO1t/WXpvpSpOSEi8D6cQcH3 07B2+KewkzmAAiENT/8+tWWYo+9ciYkm3wPjMav/kMq13fNhVYp+tUqk8bdG3wbXWFJmyOK/UqZ7H dvjga9bsaqjFl5knC0MQ==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1iS6Ht-0005jd-Lt; Tue, 05 Nov 2019 21:22:53 +0000 Received: from relay12.mail.gandi.net ([217.70.178.232]) by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1iS6Ho-0005hd-Lq for linux-arm-kernel@lists.infradead.org; Tue, 05 Nov 2019 21:22:51 +0000 Received: from localhost (unknown [78.193.40.249]) (Authenticated sender: kamel.bouhara@bootlin.com) by relay12.mail.gandi.net (Postfix) with ESMTPSA id B6EF3200006; Tue, 5 Nov 2019 21:22:41 +0000 (UTC) From: Kamel Bouhara To: Rob Herring , Nicolas Ferre , Alexandre Belloni , Ludovic Desroches , linux-arm-kernel@lists.infradead.org Subject: [PATCH v3 2/2] ARM: dts: at91: add a dts and dtsi file for kizbox2 based boards Date: Tue, 5 Nov 2019 22:22:34 +0100 Message-Id: <20191105212234.22999-2-kamel.bouhara@bootlin.com> X-Mailer: git-send-email 2.24.0.rc1 In-Reply-To: <20191105212234.22999-1-kamel.bouhara@bootlin.com> References: <20191105212234.22999-1-kamel.bouhara@bootlin.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20191105_132248_994815_4F5F8033 X-CRM114-Status: GOOD ( 17.19 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Mickael GARDET , devicetree@vger.kernel.org, =?UTF-8?q?K=C3=A9vin=20RAYMOND?= , Thomas Petazzoni , Kamel Bouhara Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org VGhlcmUgYXJlIHNldmVyYWwgYm9hcmRzIGF2YWlsYWJsZSBkZXBlbmRpbmcgb24gdGhlIFBDQgoo MyBhbnRlbm5hcyBzdXBwb3J0IGFuZCBzZXZlcmFsIHJldmlzb24pLiBBZGQgYSBkdHNpIGZpbGUg dG8gc2hhcmUKY29tbW9uIGJpbmRpbmcgYmV0d2VlbiBhbGwga2l6Ym94MiBib2FyZHMuIFRoaXMg cGF0Y2ggYWxzbyBhZGQgc3VwcG9ydApmb3IgdGhlIGtpemJveDItMiB2YXJpYW50LgoKU2lnbmVk LW9mZi1ieTogS8OpdmluIFJBWU1PTkQgPGsucmF5bW9uZEBvdmVya2l6LmNvbT4KU2lnbmVkLW9m Zi1ieTogTWlja2FlbCBHQVJERVQgPG0uZ2FyZGV0QG92ZXJraXouY29tPgpTaWduZWQtb2ZmLWJ5 OiBLYW1lbCBCb3VoYXJhIDxrYW1lbC5ib3VoYXJhQGJvb3RsaW4uY29tPgotLS0KQ2hhbmdlcyBp biB2MjoKPT09PT09PT09PT09PT0KCS0gUmVwbGFjZWQgIl8iIGJ5ICItIiBpbiBkdHMvZHRzaSBm aWxlIG5hbWVzCgktIEZpeGVkIHVudXN1YWwgQysrIFN0eWxlIGNvbW1lbnRzCgpDaGFuZ2VzIGlu IHYzOgo9PT09PT09PT09PT09PQoJLSBSZW1vdmVkIHRoZSBraXpib3ggY2hhbmdlcyBmcm9tIHRo aXMgcGF0Y2gKClNpZ25lZC1vZmYtYnk6IEthbWVsIEJvdWhhcmEgPGthbWVsLmJvdWhhcmFAYm9v dGxpbi5jb20+Ci0tLQogYXJjaC9hcm0vYm9vdC9kdHMvTWFrZWZpbGUgICAgICAgICAgICAgICAg IHwgICAyICstCiBhcmNoL2FybS9ib290L2R0cy9hdDkxLWtpemJveDItMi5kdHMgICAgICAgfCAg MjYgKysrCiBhcmNoL2FybS9ib290L2R0cy9hdDkxLWtpemJveDItY29tbW9uLmR0c2kgfCAyNTgg KysrKysrKysrKysrKysrKysrKysrCiBhcmNoL2FybS9ib290L2R0cy9hdDkxLWtpemJveDIuZHRz ICAgICAgICAgfCAyNDQgLS0tLS0tLS0tLS0tLS0tLS0tLQogNCBmaWxlcyBjaGFuZ2VkLCAyODUg aW5zZXJ0aW9ucygrKSwgMjQ1IGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGFyY2gv YXJtL2Jvb3QvZHRzL2F0OTEta2l6Ym94Mi0yLmR0cwogY3JlYXRlIG1vZGUgMTAwNjQ0IGFyY2gv YXJtL2Jvb3QvZHRzL2F0OTEta2l6Ym94Mi1jb21tb24uZHRzaQogZGVsZXRlIG1vZGUgMTAwNjQ0 IGFyY2gvYXJtL2Jvb3QvZHRzL2F0OTEta2l6Ym94Mi5kdHMKCmRpZmYgLS1naXQgYS9hcmNoL2Fy bS9ib290L2R0cy9NYWtlZmlsZSBiL2FyY2gvYXJtL2Jvb3QvZHRzL01ha2VmaWxlCmluZGV4IDNi ZGEyMTZjNDFiZS4uNGFjMDUzMTE1YThlIDEwMDY0NAotLS0gYS9hcmNoL2FybS9ib290L2R0cy9N YWtlZmlsZQorKysgYi9hcmNoL2FybS9ib290L2R0cy9NYWtlZmlsZQpAQCAtNDUsNyArNDUsNyBA QCBkdGItJChDT05GSUdfU09DX0FUOTFTQU05KSArPSBcCiAJYXQ5MXNhbTl4MjVlay5kdGIgXAog CWF0OTFzYW05eDM1ZWsuZHRiCiBkdGItJChDT05GSUdfU09DX1NBTV9WNykgKz0gXAotCWF0OTEt a2l6Ym94Mi5kdGIgXAorCWF0OTEta2l6Ym94Mi0yLmR0YiBcCiAJYXQ5MS1raXpib3gzLWhzLmR0 YiBcCiAJYXQ5MS1uYXR0aXMtMi1uYXR0ZS0yLmR0YiBcCiAJYXQ5MS1zYW1hNWQyN19zb20xX2Vr LmR0YiBcCmRpZmYgLS1naXQgYS9hcmNoL2FybS9ib290L2R0cy9hdDkxLWtpemJveDItMi5kdHMg Yi9hcmNoL2FybS9ib290L2R0cy9hdDkxLWtpemJveDItMi5kdHMKbmV3IGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5jYWI4YjM1NzllZmEKLS0tIC9kZXYvbnVsbAorKysgYi9h cmNoL2FybS9ib290L2R0cy9hdDkxLWtpemJveDItMi5kdHMKQEAgLTAsMCArMSwyNiBAQAorLy8g U1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAKKy8qCisgKiBhdDkxLWtpemJveDItMi5k dHMgLSBEZXZpY2UgVHJlZSBmaWxlIGZvciB0aGUgS2l6Ym94MiB3aXRoCisgKiB0d28gaGVhZCBi b2FyZAorICoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBPdmVya2l6IFNBUworICoKKyAqIEF1dGhv cnM6IEFudG9pbmUgQXViZXJ0IDxhLmF1YmVydEBvdmVya2l6LmNvbT4KKyAqCSAgICBLw6l2aW4g UmF5bW9uZCA8ay5yYXltb25kQG92ZXJraXouY29tPgorICovCisvZHRzLXYxLzsKKyNpbmNsdWRl ICJhdDkxLWtpemJveDItY29tbW9uLmR0c2kiCisKKy8geworCW1vZGVsID0gIk92ZXJraXogS2l6 Ym94IDIgd2l0aCB0d28gaGVhZHMiOworCWNvbXBhdGlibGUgPSAib3ZlcmtpeixraXpib3gyLTIi LCAiYXRtZWwsc2FtYTVkMzEiLAorCQkgICAgICJhdG1lbCxzYW1hNWQzIiwgImF0bWVsLHNhbWE1 IjsKK307CisKKyZ1c2FydDEgeworCXN0YXR1cyA9ICJva2F5IjsKK307CisKKyZ1c2FydDIgewor CXN0YXR1cyA9ICJva2F5IjsKK307CmRpZmYgLS1naXQgYS9hcmNoL2FybS9ib290L2R0cy9hdDkx LWtpemJveDItY29tbW9uLmR0c2kgYi9hcmNoL2FybS9ib290L2R0cy9hdDkxLWtpemJveDItY29t bW9uLmR0c2kKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5hZjM4MjUz YTZlN2EKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9ib290L2R0cy9hdDkxLWtpemJveDIt Y29tbW9uLmR0c2kKQEAgLTAsMCArMSwyNTggQEAKKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVy OiBHUEwtMi4wCisvKgorICogYXQ5MS1raXpib3gyX2NvbW1vbi5kdHNpIC0gRGV2aWNlIFRyZWUg SW5jbHVkZSBmaWxlIGZvcgorICogT3ZlcmtpeiBLaXpib3ggMiBmYW1pbHkgU29DCisgKgorICog Q29weXJpZ2h0IChDKSAyMDE0LTIwMTggT3ZlcmtpeiBTQVMKKyAqCisgKiBBdXRob3JzOiBBbnRv aW5lIEF1YmVydCA8YS5hdWJlcnRAb3Zlcmtpei5jb20+CisgKiAgICAgICAgICBHYcOrbCBQb3J0 YXkgPGcucG9ydGF5QG92ZXJraXouY29tPgorICogICAgICAgICAgS8OpdmluIFJheW1vbmQgPGsu cmF5bW9uZEBvdmVya2l6LmNvbT4KKyAqLworI2luY2x1ZGUgInNhbWE1ZDMxLmR0c2kiCisKKy8g eworCWNob3NlbiB7CisJCWJvb3RhcmdzID0gInViaS5tdGQ9dWJpIjsKKwkJc3Rkb3V0LXBhdGgg PSAmZGJndTsKKwl9OworCisJbWVtb3J5IHsKKwkJcmVnID0gPDB4MjAwMDAwMDAgMHgxMDAwMDAw MD47CisJfTsKKworCWNsb2NrcyB7CisJCXNsb3dfeHRhbCB7CisJCQljbG9jay1mcmVxdWVuY3kg PSA8MzI3Njg+OworCQl9OworCisJCW1haW5feHRhbCB7CisJCQljbG9jay1mcmVxdWVuY3kgPSA8 MTIwMDAwMDA+OworCQl9OworCX07CisKKwlncGlvX2tleXMgeworCQljb21wYXRpYmxlID0gImdw aW8ta2V5cyI7CisJCSNhZGRyZXNzLWNlbGxzID0gPDE+OworCQkjc2l6ZS1jZWxscyA9IDwwPjsK KworCQlwcm9nIHsKKwkJCWxhYmVsID0gIlBCX1BST0ciOworCQkJZ3Bpb3MgPSA8JnBpb0UgMjcg R1BJT19BQ1RJVkVfTE9XPjsKKwkJCWxpbnV4LGNvZGUgPSA8MHgxMDI+OworCQkJd2FrZXVwLXNv dXJjZTsKKwkJfTsKKworCQlyZXNldCB7CisJCQlsYWJlbCA9ICJQQl9SU1QiOworCQkJZ3Bpb3Mg PSA8JnBpb0UgMjkgR1BJT19BQ1RJVkVfTE9XPjsKKwkJCWxpbnV4LGNvZGUgPSA8MHgxMDA+Owor CQkJd2FrZXVwLXNvdXJjZTsKKwkJfTsKKworCQl1c2VyIHsKKwkJCWxhYmVsID0gIlBCX1VTRVIi OworCQkJZ3Bpb3MgPSA8JnBpb0UgMzEgR1BJT19BQ1RJVkVfSElHSD47CisJCQlsaW51eCxjb2Rl ID0gPDB4MTAxPjsKKwkJCXdha2V1cC1zb3VyY2U7CisJCX07CisJfTsKKworCXB3bV9sZWRzIHsK KwkJY29tcGF0aWJsZSA9ICJwd20tbGVkcyI7CisKKwkJYmx1ZSB7CisJCQlsYWJlbCA9ICJwd206 Ymx1ZTp1c2VyIjsKKwkJCXB3bXMgPSA8JnB3bTAgMiAxMDAwMDAwMCAwPjsKKwkJCW1heC1icmln aHRuZXNzID0gPDI1NT47CisJCQlsaW51eCxkZWZhdWx0LXRyaWdnZXIgPSAibm9uZSI7CisJCX07 CisKKwkJZ3JlZW4geworCQkJbGFiZWwgPSAicHdtOmdyZWVuOnVzZXIiOworCQkJcHdtcyA9IDwm cHdtMCAxIDEwMDAwMDAwIDA+OworCQkJbWF4LWJyaWdodG5lc3MgPSA8MjU1PjsKKwkJCWxpbnV4 LGRlZmF1bHQtdHJpZ2dlciA9ICJkZWZhdWx0LW9uIjsKKwkJfTsKKworCQlyZWQgeworCQkJbGFi ZWwgPSAicHdtOnJlZDp1c2VyIjsKKwkJCXB3bXMgPSA8JnB3bTAgMCAxMDAwMDAwMCAwPjsKKwkJ CW1heC1icmlnaHRuZXNzID0gPDI1NT47CisJCQlsaW51eCxkZWZhdWx0LXRyaWdnZXIgPSAiZGVm YXVsdC1vbiI7CisJCX07CisJfTsKK307CisKKyZpMmMxIHsKKwlzdGF0dXMgPSAib2theSI7CisK KwlwbWljOiBhY3Q4ODY1QDViIHsKKwkJY29tcGF0aWJsZSA9ICJhY3RpdmUtc2VtaSxhY3Q4ODY1 IjsKKwkJcmVnID0gPDB4NWI+OworCQlzdGF0dXMgPSAib2theSI7CisKKwkJcmVndWxhdG9ycyB7 CisJCQl2Y2NfMXY4X3JlZzogRENEQ19SRUcxIHsKKwkJCQlyZWd1bGF0b3ItbmFtZSA9ICJWQ0Nf MVY4IjsKKwkJCQlyZWd1bGF0b3ItbWluLW1pY3Jvdm9sdCA9IDwxODAwMDAwPjsKKwkJCQlyZWd1 bGF0b3ItbWF4LW1pY3Jvdm9sdCA9IDwxODAwMDAwPjsKKwkJCQlyZWd1bGF0b3ItYWx3YXlzLW9u OworCQkJfTsKKworCQkJdmNjXzF2Ml9yZWc6IERDRENfUkVHMiB7CisJCQkJcmVndWxhdG9yLW5h bWUgPSAiVkNDXzFWMiI7CisJCQkJcmVndWxhdG9yLW1pbi1taWNyb3ZvbHQgPSA8MTIwMDAwMD47 CisJCQkJcmVndWxhdG9yLW1heC1taWNyb3ZvbHQgPSA8MTIwMDAwMD47CisJCQkJcmVndWxhdG9y LWFsd2F5cy1vbjsKKwkJCX07CisKKwkJCXZjY18zdjNfcmVnOiBEQ0RDX1JFRzMgeworCQkJCXJl Z3VsYXRvci1uYW1lID0gIlZDQ18zVjMiOworCQkJCXJlZ3VsYXRvci1taW4tbWljcm92b2x0ID0g PDMzMDAwMDA+OworCQkJCXJlZ3VsYXRvci1tYXgtbWljcm92b2x0ID0gPDMzMDAwMDA+OworCQkJ CXJlZ3VsYXRvci1hbHdheXMtb247CisJCQl9OworCisJCQl2ZGRmdXNlX3JlZzogTERPX1JFRzEg eworCQkJCXJlZ3VsYXRvci1uYW1lID0gIkZVU0VfMlY1IjsKKwkJCQlyZWd1bGF0b3ItbWluLW1p Y3Jvdm9sdCA9IDwyNTAwMDAwPjsKKwkJCQlyZWd1bGF0b3ItbWF4LW1pY3Jvdm9sdCA9IDwyNTAw MDAwPjsKKwkJCX07CisKKwkJCXZkZGFuYV9yZWc6IExET19SRUcyIHsKKwkJCQlyZWd1bGF0b3It bmFtZSA9ICJWRERBTkEiOworCQkJCXJlZ3VsYXRvci1taW4tbWljcm92b2x0ID0gPDMzMDAwMDA+ OworCQkJCXJlZ3VsYXRvci1tYXgtbWljcm92b2x0ID0gPDMzMDAwMDA+OworCQkJCXJlZ3VsYXRv ci1hbHdheXMtb247CisJCQl9OworCisJCQl2bGVkX3JlZzogTERPX1JFRzMgeworCQkJCXJlZ3Vs YXRvci1uYW1lID0gIlZMRUQiOworCQkJCXJlZ3VsYXRvci1taW4tbWljcm92b2x0ID0gPDMzMDAw MDA+OworCQkJCXJlZ3VsYXRvci1tYXgtbWljcm92b2x0ID0gPDMzMDAwMDA+OworCQkJCXJlZ3Vs YXRvci1hbHdheXMtb247CisJCQl9OworCisJCQl2M3Y4X3JmX3JlZzogTERPX1JFRzQgeworCQkJ CXJlZ3VsYXRvci1uYW1lID0gIlYzVjhfUkYiOworCQkJCXJlZ3VsYXRvci1taW4tbWljcm92b2x0 ID0gPDM4MDAwMDA+OworCQkJCXJlZ3VsYXRvci1tYXgtbWljcm92b2x0ID0gPDM4MDAwMDA+Owor CQkJCXJlZ3VsYXRvci1hbHdheXMtb247CisJCQl9OworCQl9OworCX07Cit9OworCismdXNhcnQw IHsKKwlhdG1lbCx1c2UtZG1hLXJ4OworCWF0bWVsLHVzZS1kbWEtdHg7CisJc3RhdHVzID0gImRp c2FibGVkIjsKK307CisKKyZ1c2FydDEgeworCWF0bWVsLHVzZS1kbWEtcng7CisJYXRtZWwsdXNl LWRtYS10eDsKKwlzdGF0dXMgPSAiZGlzYWJsZWQiOworfTsKKworJnVzYXJ0MiB7CisJYXRtZWws dXNlLWRtYS1yeDsKKwlhdG1lbCx1c2UtZG1hLXR4OworCXN0YXR1cyA9ICJkaXNhYmxlZCI7Cit9 OworCismcHdtMCB7CisJcGluY3RybC1uYW1lcyA9ICJkZWZhdWx0IjsKKwlwaW5jdHJsLTAgPSA8 JnBpbmN0cmxfcHdtMF9wd21oMF8xCisJCSAgICAgJnBpbmN0cmxfcHdtMF9wd21oMV8xCisJCSAg ICAgJnBpbmN0cmxfcHdtMF9wd21oMl8wPjsKKwlzdGF0dXMgPSAib2theSI7Cit9OworCismYWRj MCB7CisJYXRtZWwsYWRjLXZyZWYgPSA8MzMzMz47CisJc3RhdHVzID0gIm9rYXkiOworfTsKKwor Jm1hY2IxIHsKKwlwaHktbW9kZSA9ICJybWlpIjsKKwlzdGF0dXMgPSAib2theSI7Cit9OworCism ZGJndSB7CisJc3RhdHVzID0gIm9rYXkiOworfTsKKworJndhdGNoZG9nIHsKKwlzdGF0dXMgPSAi b2theSI7Cit9OworCismZWJpIHsKKwlwaW5jdHJsLTAgPSA8JnBpbmN0cmxfZWJpX25hbmRfYWRk cj47CisJcGluY3RybC1uYW1lcyA9ICJkZWZhdWx0IjsKKwlzdGF0dXMgPSAib2theSI7Cit9Owor CismbmFuZF9jb250cm9sbGVyIHsKKwlzdGF0dXMgPSAib2theSI7CisKKwluYW5kQDMgeworCQly ZWcgPSA8MHgzIDB4MCAweDI+OworCQlhdG1lbCxyYiA9IDwwPjsKKwkJbmFuZC1idXMtd2lkdGgg PSA8OD47CisJCW5hbmQtZWNjLW1vZGUgPSAiaHciOworCQluYW5kLWVjYy1zdHJlbmd0aCA9IDw0 PjsKKwkJbmFuZC1lY2Mtc3RlcC1zaXplID0gPDUxMj47CisJCW5hbmQtb24tZmxhc2gtYmJ0Owor CQlsYWJlbCA9ICJhdG1lbF9uYW5kIjsKKworCQlwYXJ0aXRpb25zIHsKKwkJCWNvbXBhdGlibGUg PSAiZml4ZWQtcGFydGl0aW9ucyI7CisJCQkjYWRkcmVzcy1jZWxscyA9IDwxPjsKKwkJCSNzaXpl LWNlbGxzID0gPDE+OworCisJCQlib290c3RyYXBAMCB7CisJCQkJbGFiZWwgPSAiYm9vdHN0cmFw IjsKKwkJCQlyZWcgPSA8MHgwIDB4MjAwMDA+OworCQkJfTsKKworCQkJdWJpQDIwMDAwIHsKKwkJ CQlsYWJlbCA9ICJ1YmkiOworCQkJCXJlZyA9IDwweDIwMDAwIDB4N2ZlMDAwMD47CisJCQl9Owor CQl9OworCX07Cit9OworCismdXNiMSB7CisJc3RhdHVzID0gIm9rYXkiOworfTsKKworJnVzYjIg eworCXN0YXR1cyA9ICJva2F5IjsKK307CisKKy8qIFdNQlVTIChpbnZlcnRlZCB3aXRoIElPIGlu IHRoZSBsYXRlc3Qgc2NoZW1hdGljKSAqLworJnBpbmN0cmxfdXNhcnQwIHsKKwlhdG1lbCxwaW5z ID0KKwkJPEFUOTFfUElPRCAxNyBBVDkxX1BFUklQSF9BIEFUOTFfUElOQ1RSTF9OT05FCisJCSBB VDkxX1BJT0QgMTggQVQ5MV9QRVJJUEhfQSBBVDkxX1BJTkNUUkxfUFVMTF9VUAorCQkgQVQ5MV9Q SU9FIDIgQVQ5MV9QRVJJUEhfR1BJTyBBVDkxX1BJTkNUUkxfTVVMVElfRFJJVkU+OworfTsKKwor LyogUlRTICovCismcGluY3RybF91c2FydDEgeworCWF0bWVsLHBpbnMgPQorCQk8QVQ5MV9QSU9C IDI4IEFUOTFfUEVSSVBIX0EgQVQ5MV9QSU5DVFJMX05PTkUKKwkJIEFUOTFfUElPQiAyOSBBVDkx X1BFUklQSF9BIEFUOTFfUElOQ1RSTF9QVUxMX1VQCisJCSBBVDkxX1BJT0UgNyBBVDkxX1BFUklQ SF9HUElPIEFUOTFfUElOQ1RSTF9NVUxUSV9EUklWRT47Cit9OworCisvKiBJTyAoaW52ZXJ0ZWQg d2l0aCBXTUJVUyBpbiB0aGUgbGF0ZXN0IHNjaGVtYXRpYykgKi8KKyZwaW5jdHJsX3VzYXJ0MiB7 CisJYXRtZWwscGlucyA9CisJCTxBVDkxX1BJT0UgMjUgQVQ5MV9QRVJJUEhfQiBBVDkxX1BJTkNU UkxfTk9ORQorCQkgQVQ5MV9QSU9FIDI2IEFUOTFfUEVSSVBIX0IgQVQ5MV9QSU5DVFJMX1BVTExf VVAKKwkJIEFUOTFfUElPRSA4IEFUOTFfUEVSSVBIX0dQSU8gQVQ5MV9QSU5DVFJMX01VTFRJX0RS SVZFPjsKK307CmRpZmYgLS1naXQgYS9hcmNoL2FybS9ib290L2R0cy9hdDkxLWtpemJveDIuZHRz IGIvYXJjaC9hcm0vYm9vdC9kdHMvYXQ5MS1raXpib3gyLmR0cwpkZWxldGVkIGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggODZkODIxODg0YmQ0Li4wMDAwMDAwMDAwMDAKLS0tIGEvYXJjaC9hcm0vYm9v dC9kdHMvYXQ5MS1raXpib3gyLmR0cworKysgL2Rldi9udWxsCkBAIC0xLDI0NCArMCwwIEBACi0v LyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vci1sYXRlcgotLyoKLSAqIGF0OTEt a2l6Ym94Mi5kdHMgLSBEZXZpY2UgVHJlZSBmaWxlIGZvciBPdmVya2l6IEtpemJveCAyIGJvYXJk Ci0gKgotICogQ29weXJpZ2h0IChDKSAyMDE0IEdhw6tsIFBPUlRBWSA8Zy5wb3J0YXlAb3Zlcmtp ei5jb20+Ci0gKi8KLS9kdHMtdjEvOwotI2luY2x1ZGUgInNhbWE1ZDMxLmR0c2kiCi0jaW5jbHVk ZSA8ZHQtYmluZGluZ3MvcHdtL3B3bS5oPgotCi0vIHsKLQltb2RlbCA9ICJPdmVya2l6IEtpemJv eCAyIjsKLQljb21wYXRpYmxlID0gIm92ZXJraXosa2l6Ym94MiIsICJhdG1lbCxzYW1hNWQzMSIs ICJhdG1lbCxzYW1hNWQzIiwgImF0bWVsLHNhbWE1IjsKLQotCWNob3NlbiB7Ci0JCWJvb3Rhcmdz ID0gInViaS5tdGQ9dWJpIjsKLQkJc3Rkb3V0LXBhdGggPSAmZGJndTsKLQl9OwotCi0JbWVtb3J5 IHsKLQkJcmVnID0gPDB4MjAwMDAwMDAgMHgxMDAwMDAwMD47Ci0JfTsKLQotCWNsb2NrcyB7Ci0J CXNsb3dfeHRhbCB7Ci0JCQljbG9jay1mcmVxdWVuY3kgPSA8MzI3Njg+OwotCQl9OwotCi0JCW1h aW5feHRhbCB7Ci0JCQljbG9jay1mcmVxdWVuY3kgPSA8MTIwMDAwMDA+OwotCQl9OwotCX07Ci0K LQlhaGIgewotCQlhcGIgewotCQkJaTJjMTogaTJjQGYwMDE4MDAwIHsKLQkJCQlzdGF0dXMgPSAi b2theSI7Ci0KLQkJCQlwbWljOiBhY3Q4ODY1QDViIHsKLQkJCQkJY29tcGF0aWJsZSA9ICJhY3Rp dmUtc2VtaSxhY3Q4ODY1IjsKLQkJCQkJcmVnID0gPDB4NWI+OwotCQkJCQlzdGF0dXMgPSAib2th eSI7Ci0KLQkJCQkJcmVndWxhdG9ycyB7Ci0JCQkJCQl2Y2NfMXY4X3JlZzogRENEQ19SRUcxIHsK LQkJCQkJCQlyZWd1bGF0b3ItbmFtZSA9ICJWQ0NfMVY4IjsKLQkJCQkJCQlyZWd1bGF0b3ItbWlu LW1pY3Jvdm9sdCA9IDwxODAwMDAwPjsKLQkJCQkJCQlyZWd1bGF0b3ItbWF4LW1pY3Jvdm9sdCA9 IDwxODAwMDAwPjsKLQkJCQkJCQlyZWd1bGF0b3ItYWx3YXlzLW9uOwotCQkJCQkJfTsKLQotCQkJ CQkJdmNjXzF2Ml9yZWc6IERDRENfUkVHMiB7Ci0JCQkJCQkJcmVndWxhdG9yLW5hbWUgPSAiVkND XzFWMiI7Ci0JCQkJCQkJcmVndWxhdG9yLW1pbi1taWNyb3ZvbHQgPSA8MTIwMDAwMD47Ci0JCQkJ CQkJcmVndWxhdG9yLW1heC1taWNyb3ZvbHQgPSA8MTIwMDAwMD47Ci0JCQkJCQkJcmVndWxhdG9y LWFsd2F5cy1vbjsKLQkJCQkJCX07Ci0KLQkJCQkJCXZjY18zdjNfcmVnOiBEQ0RDX1JFRzMgewot CQkJCQkJCXJlZ3VsYXRvci1uYW1lID0gIlZDQ18zVjMiOwotCQkJCQkJCXJlZ3VsYXRvci1taW4t bWljcm92b2x0ID0gPDMzMDAwMDA+OwotCQkJCQkJCXJlZ3VsYXRvci1tYXgtbWljcm92b2x0ID0g PDMzMDAwMDA+OwotCQkJCQkJCXJlZ3VsYXRvci1hbHdheXMtb247Ci0JCQkJCQl9OwotCi0JCQkJ CQl2ZGRmdXNlX3JlZzogTERPX1JFRzEgewotCQkJCQkJCXJlZ3VsYXRvci1uYW1lID0gIkZVU0Vf MlY1IjsKLQkJCQkJCQlyZWd1bGF0b3ItbWluLW1pY3Jvdm9sdCA9IDwyNTAwMDAwPjsKLQkJCQkJ CQlyZWd1bGF0b3ItbWF4LW1pY3Jvdm9sdCA9IDwyNTAwMDAwPjsKLQkJCQkJCX07Ci0KLQkJCQkJ CXZkZGFuYV9yZWc6IExET19SRUcyIHsKLQkJCQkJCQlyZWd1bGF0b3ItbmFtZSA9ICJWRERBTkEi OwotCQkJCQkJCXJlZ3VsYXRvci1taW4tbWljcm92b2x0ID0gPDMzMDAwMDA+OwotCQkJCQkJCXJl Z3VsYXRvci1tYXgtbWljcm92b2x0ID0gPDMzMDAwMDA+OwotCQkJCQkJCXJlZ3VsYXRvci1hbHdh eXMtb247Ci0JCQkJCQl9OwotCi0JCQkJCQl2bGVkX3JlZzogTERPX1JFRzMgewotCQkJCQkJCXJl Z3VsYXRvci1uYW1lID0gIlZMRUQiOwotCQkJCQkJCXJlZ3VsYXRvci1taW4tbWljcm92b2x0ID0g PDMzMDAwMDA+OwotCQkJCQkJCXJlZ3VsYXRvci1tYXgtbWljcm92b2x0ID0gPDMzMDAwMDA+Owot CQkJCQkJCXJlZ3VsYXRvci1hbHdheXMtb247Ci0JCQkJCQl9OwotCi0JCQkJCQl2M3Y4X3JmX3Jl ZzogTERPX1JFRzQgewotCQkJCQkJCXJlZ3VsYXRvci1uYW1lID0gIlYzVjhfUkYiOwotCQkJCQkJ CXJlZ3VsYXRvci1taW4tbWljcm92b2x0ID0gPDM4MDAwMDA+OwotCQkJCQkJCXJlZ3VsYXRvci1t YXgtbWljcm92b2x0ID0gPDM4MDAwMDA+OwotCQkJCQkJCXJlZ3VsYXRvci1hbHdheXMtb247Ci0J CQkJCQl9OwotCQkJCQl9OwotCQkJCX07Ci0JCQl9OwotCi0JCQl0Y2IwOiB0aW1lckBmMDAxMDAw MCB7Ci0JCQkJdGltZXJAMCB7Ci0JCQkJCWNvbXBhdGlibGUgPSAiYXRtZWwsdGNiLXRpbWVyIjsK LQkJCQkJcmVnID0gPDA+OwotCQkJCX07Ci0KLQkJCQl0aW1lckAxIHsKLQkJCQkJY29tcGF0aWJs ZSA9ICJhdG1lbCx0Y2ItdGltZXIiOwotCQkJCQlyZWcgPSA8MT47Ci0JCQkJfTsKLQkJCX07Ci0K LQkJCXVzYXJ0MDogc2VyaWFsQGYwMDFjMDAwIHsKLQkJCQlzdGF0dXMgPSAib2theSI7Ci0JCQl9 OwotCi0JCQl1c2FydDE6IHNlcmlhbEBmMDAyMDAwMCB7Ci0JCQkJc3RhdHVzID0gIm9rYXkiOwot CQkJfTsKLQotCQkJcHdtMDogcHdtQGYwMDJjMDAwIHsKLQkJCQlwaW5jdHJsLW5hbWVzID0gImRl ZmF1bHQiOwotCQkJCXBpbmN0cmwtMCA9IDwmcGluY3RybF9wd20wX3B3bWgwXzEKLQkJCQkJICAg ICAmcGluY3RybF9wd20wX3B3bWgxXzEKLQkJCQkJICAgICAmcGluY3RybF9wd20wX3B3bWgyXzA+ OwotCQkJCXN0YXR1cyA9ICJva2F5IjsKLQkJCX07Ci0KLQkJCWFkYzA6IGFkY0BmODAxODAwMCB7 Ci0JCQkJYXRtZWwsYWRjLXZyZWYgPSA8MzMzMz47Ci0JCQkJc3RhdHVzID0gIm9rYXkiOwotCQkJ fTsKLQotCQkJdXNhcnQyOiBzZXJpYWxAZjgwMjAwMDAgewotCQkJCXN0YXR1cyA9ICJva2F5IjsK LQkJCX07Ci0KLQkJCW1hY2IxOiBldGhlcm5ldEBmODAyYzAwMCB7Ci0JCQkJcGh5LW1vZGUgPSAi cm1paSI7Ci0JCQkJc3RhdHVzID0gIm9rYXkiOwotCQkJfTsKLQotCQkJZGJndTogc2VyaWFsQGZm ZmZlZTAwIHsKLQkJCQlzdGF0dXMgPSAib2theSI7Ci0JCQl9OwotCi0JCQl3YXRjaGRvZ0BmZmZm ZmU0MCB7Ci0JCQkJc3RhdHVzID0gIm9rYXkiOwotCQkJfTsKLQkJfTsKLQotCQl1c2IxOiBvaGNp QDYwMDAwMCB7Ci0JCQlzdGF0dXMgPSAib2theSI7Ci0JCX07Ci0KLQkJdXNiMjogZWhjaUA3MDAw MDAgewotCQkJc3RhdHVzID0gIm9rYXkiOwotCQl9OwotCi0JCWViaTogZWJpQDEwMDAwMDAwIHsK LQkJCXBpbmN0cmwtMCA9IDwmcGluY3RybF9lYmlfbmFuZF9hZGRyPjsKLQkJCXBpbmN0cmwtbmFt ZXMgPSAiZGVmYXVsdCI7Ci0JCQlzdGF0dXMgPSAib2theSI7Ci0KLQkJCW5hbmRfY29udHJvbGxl cjogbmFuZC1jb250cm9sbGVyIHsKLQkJCQlzdGF0dXMgPSAib2theSI7Ci0KLQkJCQluYW5kQDMg ewotCQkJCQlyZWcgPSA8MHgzIDB4MCAweDI+OwotCQkJCQlhdG1lbCxyYiA9IDwwPjsKLQkJCQkJ bmFuZC1idXMtd2lkdGggPSA8OD47Ci0JCQkJCW5hbmQtZWNjLW1vZGUgPSAiaHciOwotCQkJCQlu YW5kLWVjYy1zdHJlbmd0aCA9IDw0PjsKLQkJCQkJbmFuZC1lY2Mtc3RlcC1zaXplID0gPDUxMj47 Ci0JCQkJCW5hbmQtb24tZmxhc2gtYmJ0OwotCQkJCQlsYWJlbCA9ICJhdG1lbF9uYW5kIjsKLQot CQkJCQlwYXJ0aXRpb25zIHsKLQkJCQkJCWNvbXBhdGlibGUgPSAiZml4ZWQtcGFydGl0aW9ucyI7 Ci0JCQkJCQkjYWRkcmVzcy1jZWxscyA9IDwxPjsKLQkJCQkJCSNzaXplLWNlbGxzID0gPDE+Owot Ci0JCQkJCQlib290c3RyYXBAMCB7Ci0JCQkJCQkJbGFiZWwgPSAiYm9vdHN0cmFwIjsKLQkJCQkJ CQlyZWcgPSA8MHgwIDB4MjAwMDA+OwotCQkJCQkJfTsKLQotCQkJCQkJdWJpQDIwMDAwIHsKLQkJ CQkJCQlsYWJlbCA9ICJ1YmkiOwotCQkJCQkJCXJlZyA9IDwweDIwMDAwIDB4N2ZlMDAwMD47Ci0J CQkJCQl9OwotCQkJCQl9OwotCQkJCX07Ci0JCQl9OwotCQl9OwotCX07Ci0KLQlncGlvX2tleXMg ewotCQljb21wYXRpYmxlID0gImdwaW8ta2V5cyI7Ci0JCSNhZGRyZXNzLWNlbGxzID0gPDE+Owot CQkjc2l6ZS1jZWxscyA9IDwwPjsKLQotCQlwcm9nIHsKLQkJCWxhYmVsID0gIlBCX1BST0ciOwot CQkJZ3Bpb3MgPSA8JnBpb0UgMjcgR1BJT19BQ1RJVkVfTE9XPjsKLQkJCWxpbnV4LGNvZGUgPSA8 MHgxMDI+OwotCQkJd2FrZXVwLXNvdXJjZTsKLQkJfTsKLQotCQlyZXNldCB7Ci0JCQlsYWJlbCA9 ICJQQl9SU1QiOwotCQkJZ3Bpb3MgPSA8JnBpb0UgMjkgR1BJT19BQ1RJVkVfTE9XPjsKLQkJCWxp bnV4LGNvZGUgPSA8MHgxMDA+OwotCQkJd2FrZXVwLXNvdXJjZTsKLQkJfTsKLQotCQl1c2VyIHsK LQkJCWxhYmVsID0gIlBCX1VTRVIiOwotCQkJZ3Bpb3MgPSA8JnBpb0UgMzEgR1BJT19BQ1RJVkVf SElHSD47Ci0JCQlsaW51eCxjb2RlID0gPDB4MTAxPjsKLQkJCXdha2V1cC1zb3VyY2U7Ci0JCX07 Ci0JfTsKLQotCXB3bV9sZWRzIHsKLQkJY29tcGF0aWJsZSA9ICJwd20tbGVkcyI7Ci0KLQkJYmx1 ZSB7Ci0JCQlsYWJlbCA9ICJwd206Ymx1ZTp1c2VyIjsKLQkJCXB3bXMgPSA8JnB3bTAgMiAxMDAw MDAwMCAwPjsKLQkJCW1heC1icmlnaHRuZXNzID0gPDI1NT47Ci0JCQlsaW51eCxkZWZhdWx0LXRy aWdnZXIgPSAiZGVmYXVsdC1vbiI7Ci0JCX07Ci0KLQkJZ3JlZW4gewotCQkJbGFiZWwgPSAicHdt OmdyZWVuOnVzZXIiOwotCQkJcHdtcyA9IDwmcHdtMCAxIDEwMDAwMDAwIDA+OwotCQkJbWF4LWJy aWdodG5lc3MgPSA8MjU1PjsKLQkJCWxpbnV4LGRlZmF1bHQtdHJpZ2dlciA9ICJkZWZhdWx0LW9u IjsKLQkJfTsKLQotCQlyZWQgewotCQkJbGFiZWwgPSAicHdtOnJlZDp1c2VyIjsKLQkJCXB3bXMg PSA8JnB3bTAgMCAxMDAwMDAwMCAwPjsKLQkJCW1heC1icmlnaHRuZXNzID0gPDI1NT47Ci0JCQls aW51eCxkZWZhdWx0LXRyaWdnZXIgPSAiZGVmYXVsdC1vbiI7Ci0JCX07Ci0JfTsKLX07Ci0tIAoy LjI0LjAucmMxCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5p bmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8v bGludXgtYXJtLWtlcm5lbAo=