Received: by 2002:a05:6358:d09b:b0:dc:cd0c:909e with SMTP id jc27csp7311807rwb; Mon, 12 Dec 2022 12:59:26 -0800 (PST) X-Google-Smtp-Source: AA0mqf7/xhvVxwP4aRFI/VEl50x3yPGy1UFJzUAoJ14qFcc3FfO5lkW+l1nvDPkCWjR5Akpk7Uhy X-Received: by 2002:aa7:c94e:0:b0:467:5491:1e21 with SMTP id h14-20020aa7c94e000000b0046754911e21mr14688269edt.12.1670878766164; Mon, 12 Dec 2022 12:59:26 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1670878766; cv=none; d=google.com; s=arc-20160816; b=AsSLzXmNbDwVqkkH8Vh/V3FIjdSeD/TLkoNrow6jPGX3JVHmeJFFb3JJdXoE7FCGIM nTPnezc0LygbkGx0rIJI7aDptnZ7q9HYmx5Lgc3cKN3v4nrPqgZTMRa4EKrB3olN+RGW 2+6b62vFwvel14BZ5lzMu6lQRLubh+NMABjLIKU7EtP8N5JdfkQx5DOtjPq4QGd340VN QdouJGwq1czPA5hnEvlc00dHNxVRj8osuaCq+QpBJMckvA0x3G5nCxcTOblJr8wkCTxa VIw6OKfDzabfYGZ10jF70uVd7Tw9cSwWLaqk5gCCCB+Od354VzVMnjfNol2eDW2HgCGb CvTQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:subject:cc:from:to:content-language:user-agent :mime-version:date:message-id:dkim-signature; bh=42C4phZ/BBBHeLeUk96Ic2ku2/i9gs6aVAnqLDwjbp8=; b=ETSzRaJxoL1St48/k8aZ+f0k1YgJOaH35Gm7WJ/o50YRO+lyX95Y2Hw7Y6lQMJdOMX vTXOP7YF4YvbEhvFYEWzMON7EBHpISu/1qySBEBg9+To+CECVkpGecBic4xRBWaQ+/wZ soXqPdKW/MKe3TwawdnCqhye9Q7TysXkYYaOJevbwTbuEiNsBuD7LIKWtAg9fV7gt0tC BKlSV8SyIYXmpXfhDxaToG8EZjE/pIlRbGJhfIXgZ5D58JO1+L7VkxrMP3PNwH1bqRwc oRo+vjEEF8EyYyOSKYSQ1mejfPMJgrcxXSXmhsL6ejC4HfgsW+IGXX4O1jfrNJTtXUee cBGw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=google header.b=D8J7olOq; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id j24-20020aa7ca58000000b00469f14100ecsi7646569edt.375.2022.12.12.12.59.08; Mon, 12 Dec 2022 12:59:26 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=google header.b=D8J7olOq; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232611AbiLLT7Y (ORCPT + 74 others); Mon, 12 Dec 2022 14:59:24 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43618 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232930AbiLLT7W (ORCPT ); Mon, 12 Dec 2022 14:59:22 -0500 Received: from mail-io1-xd29.google.com (mail-io1-xd29.google.com [IPv6:2607:f8b0:4864:20::d29]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2E72617431 for ; Mon, 12 Dec 2022 11:59:18 -0800 (PST) Received: by mail-io1-xd29.google.com with SMTP id h6so559937iof.9 for ; Mon, 12 Dec 2022 11:59:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linuxfoundation.org; s=google; h=subject:cc:from:to:content-language:user-agent:mime-version:date :message-id:from:to:cc:subject:date:message-id:reply-to; bh=42C4phZ/BBBHeLeUk96Ic2ku2/i9gs6aVAnqLDwjbp8=; b=D8J7olOqlJhBgtXezs9yWQ9a9Rgo9MrrKm8spBQtrpTF8FzkrbjweopMbM8Ziu+jD7 9ETTNpKcpYQMvZN7Z/eb6iNB9cnZZOevo46oVCeLD0/9r9Hj4FiK5i1PSyei01TcY6f7 LejSsDWEmBSOniWsVEcAqc10g02zPhfAu7u1Q= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=subject:cc:from:to:content-language:user-agent:mime-version:date :message-id:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=42C4phZ/BBBHeLeUk96Ic2ku2/i9gs6aVAnqLDwjbp8=; b=jU10wne/flOEyELcvYhLXWSkpQ6IvCMT9liKT1bInEZBz4SPM1LYYH2VThCC0nJ7ZP JhxPGqCR7vsGW5qflKjHk1S/qUOnm/y25pS0yk3zejVVpe0GMySAdnybtRUDsV+cyj0L g8puyk4GxP5/gW6Q+nEKzsCLVIqcsbM10k2tzjdmnsKH0AuAafeftOysCMq5+JvTB/WF FOCxyim493B3OW9otzoLRPUHuu0JfImk6kGXQyI0vK81zpWlGdfA0pG/GhfHwfwh7JVJ HJ5O8c3HXJe+9nQjaxyeY3gC3b3PRtBGTU+0To4suh1t+TvyvN5ti6Tk3lE/xo96FMz4 +1fw== X-Gm-Message-State: ANoB5pldOrgNaBRso3rVLzv3tPE1ptLRXsEPvSdBhEi3ZE/Dcvkyyumz DiNz5dP8L0ZfCrMHqeVSLdPiUQ== X-Received: by 2002:a5d:8459:0:b0:6d9:7981:2a76 with SMTP id w25-20020a5d8459000000b006d979812a76mr1933503ior.0.1670875157155; Mon, 12 Dec 2022 11:59:17 -0800 (PST) Received: from [192.168.1.128] ([38.15.45.1]) by smtp.gmail.com with ESMTPSA id h2-20020a92c082000000b002f916f15625sm3272402ile.23.2022.12.12.11.59.16 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 12 Dec 2022 11:59:16 -0800 (PST) Content-Type: multipart/mixed; boundary="------------DC5Cko48LDEQHti2j8dsMKei" Message-ID: Date: Mon, 12 Dec 2022 12:59:15 -0700 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.4.2 Content-Language: en-US To: Linus Torvalds From: Shuah Khan Cc: Shuah Khan , linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org, rafael@kernel.org, viresh.kumar@linaro.org Subject: [GIT PULL] Kselftest update for Linux 6.2-rc1 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This is a multi-part message in MIME format. --------------DC5Cko48LDEQHti2j8dsMKei Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Hi Linus, Please pull the following Kselftest update for Linux 6.2-rc1. This Kselftest update for Linux 6.2-rc1 consists of several fixes and enhancements to existing tests and a few new tests: - adds new amd-pstate and fixes and enhances existing ones - adds new watchdog tests and enhances existing ones to improve coverage - fixes to ftrace, splice_read, rtc, and efivars tests - fixes to handle egrep obsolescence in the latest grep release - miscellaneous spelling and SPDX fixes Note: This change includes drivers/cpufreq/amd-pstate-ut.c update. diff is attached. thanks, -- Shuah ---------------------------------------------------------------- The following changes since commit 9abf2313adc1ca1b6180c508c25f22f9395cc780: Linux 6.1-rc1 (2022-10-16 15:36:24 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest tags/linux-kselftest-next-6.2-rc1 for you to fetch changes up to d5ba85d6d8be7da660d4ac25761a48c74ade958d: selftests/ftrace: Use long for synthetic event probe test (2022-12-02 10:53:03 -0700) ---------------------------------------------------------------- linux-kselftest-next-6.2-rc1 This Kselftest update for Linux 6.2-rc1 consists of several fixes and enhancements to existing tests and a few new tests: - adds new amd-pstate and fixes and enhances existing ones - adds new watchdog tests and enhances existing ones to improve coverage - fixes to ftrace, splice_read, rtc, and efivars tests - fixes to handle egrep obsolescence in the latest grep release - miscellaneous spelling and SPDX fixes ---------------------------------------------------------------- Alexandre Belloni (1): selftests: rtc: skip when RTC is not present Colin Ian King (1): selftests/watchdog: Fix spelling mistake "Temeprature" -> "Temperature" Guo Ren (1): selftests/vDSO: Add riscv getcpu & gettimeofday test Meng Li (6): selftests: amd-pstate: Rename amd-pstate-ut.sh to basic.sh. selftests: amd-pstate: Split basic.sh into run.sh and basic.sh. selftests: amd-pstate: Trigger tbench benchmark and test cpus selftests: amd-pstate: Trigger gitsource benchmark and test cpus Documentation: amd-pstate: Add tbench and gitsource test introduction cpufreq: amd-pstate: fix spdxcheck warnings for amd-pstate-ut.c Mickaël Salaün (1): selftests: Use optional USERCFLAGS and USERLDFLAGS Naveen N. Rao (2): selftests/ftrace: Add check for ping command for trigger tests selftests/ftrace: Convert tracer tests to use 'requires' to specify program dependency Nícolas F. R. A. Prado (1): selftests/tpm2: Split async tests call to separate shell script runner Shuah Khan (4): selftests/watchdog: change to print reset reason info. selftests/watchdog: add support for WDIOC_GETSTATUS selftests/watchdog: print watchdog_info option strings selftests/watchdog: add test for WDIOC_GETTEMP Steven Rostedt (Google) (1): selftests/ftrace: Use long for synthetic event probe test Suzuki K Poulose (1): selftests: splice_read: Fix sysfs read cases Tiezhu Yang (3): selftests: kselftest_deps: Use "grep -E" instead of "egrep" selftests: gpio: Use "grep -E" instead of "egrep" selftests: ftrace: Use "grep -E" instead of "egrep" Yipeng Zou (1): selftests/ftrace: event_triggers: wait longer for test_event_enable Zhao Gongyi (1): selftests/efivarfs: Add checking of the test return value Documentation/admin-guide/pm/amd-pstate.rst | 194 +++++++++-- drivers/cpufreq/amd-pstate-ut.c | 2 +- tools/testing/selftests/amd-pstate/Makefile | 11 +- .../testing/selftests/amd-pstate/amd-pstate-ut.sh | 56 --- tools/testing/selftests/amd-pstate/basic.sh | 38 ++ tools/testing/selftests/amd-pstate/gitsource.sh | 354 +++++++++++++++++++ tools/testing/selftests/amd-pstate/run.sh | 387 +++++++++++++++++++++ tools/testing/selftests/amd-pstate/tbench.sh | 339 ++++++++++++++++++ tools/testing/selftests/efivarfs/efivarfs.sh | 5 + .../ftrace/test.d/ftrace/func_event_triggers.tc | 15 +- tools/testing/selftests/ftrace/test.d/functions | 8 +- .../ftrace/test.d/preemptirq/irqsoff_tracer.tc | 8 +- .../selftests/ftrace/test.d/tracer/wakeup.tc | 7 +- .../selftests/ftrace/test.d/tracer/wakeup_rt.tc | 7 +- .../inter-event/trigger-field-variable-support.tc | 2 +- .../trigger-inter-event-combined-hist.tc | 2 +- .../inter-event/trigger-onchange-action-hist.tc | 2 +- .../inter-event/trigger-onmatch-action-hist.tc | 2 +- .../trigger-onmatch-onmax-action-hist.tc | 2 +- .../inter-event/trigger-onmax-action-hist.tc | 2 +- .../inter-event/trigger-snapshot-action-hist.tc | 2 +- .../inter-event/trigger-synthetic-eprobe.tc | 2 +- .../trigger-synthetic-event-dynstring.tc | 2 +- .../inter-event/trigger-trace-action-hist.tc | 2 +- tools/testing/selftests/gpio/gpio-sim.sh | 2 +- tools/testing/selftests/kselftest_deps.sh | 2 +- tools/testing/selftests/lib.mk | 5 + tools/testing/selftests/rtc/rtctest.c | 33 +- .../testing/selftests/splice/short_splice_read.sh | 4 +- tools/testing/selftests/tpm2/Makefile | 2 +- tools/testing/selftests/tpm2/test_async.sh | 10 + tools/testing/selftests/tpm2/test_smoke.sh | 1 - tools/testing/selftests/vDSO/vdso_test_getcpu.c | 4 + .../selftests/vDSO/vdso_test_gettimeofday.c | 3 + tools/testing/selftests/watchdog/watchdog-test.c | 106 +++++- 35 files changed, 1502 insertions(+), 121 deletions(-) delete mode 100755 tools/testing/selftests/amd-pstate/amd-pstate-ut.sh create mode 100755 tools/testing/selftests/amd-pstate/basic.sh create mode 100755 tools/testing/selftests/amd-pstate/gitsource.sh create mode 100755 tools/testing/selftests/amd-pstate/run.sh create mode 100755 tools/testing/selftests/amd-pstate/tbench.sh create mode 100755 tools/testing/selftests/tpm2/test_async.sh ---------------------------------------------------------------- --------------DC5Cko48LDEQHti2j8dsMKei Content-Type: text/x-patch; charset=UTF-8; name="linux-kselftest-next-6.2-rc1.diff" Content-Disposition: attachment; filename="linux-kselftest-next-6.2-rc1.diff" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vYWRtaW4tZ3VpZGUvcG0vYW1kLXBzdGF0ZS5y c3QgYi9Eb2N1bWVudGF0aW9uL2FkbWluLWd1aWRlL3BtL2FtZC1wc3RhdGUucnN0CmluZGV4 IDhmM2QzMGM1YTBkOC4uMjljNTBlOTZlYjk1IDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9u L2FkbWluLWd1aWRlL3BtL2FtZC1wc3RhdGUucnN0CisrKyBiL0RvY3VtZW50YXRpb24vYWRt aW4tZ3VpZGUvcG0vYW1kLXBzdGF0ZS5yc3QKQEAgLTQwOSwzNyArNDA5LDU1IEBAIFVuaXQg VGVzdHMgZm9yIGFtZC1wc3RhdGUKIAogMS4gVGVzdCBjYXNlIGRlY3JpcHRpb25zCiAKKyAg ICAxKS4gQmFzaWMgdGVzdHMKKworICAgICAgICBUZXN0IHByZXJlcXVpc2l0ZSBhbmQgYmFz aWMgZnVuY3Rpb25zIGZvciB0aGUgYGBhbWQtcHN0YXRlYGAgZHJpdmVyLgorCiAgICAgICAg ICstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKwogICAgICAgICB8IEluZGV4ICAgfCBGdW5jdGlvbnMg ICAgICAgICAgICAgICAgICAgICAgfCBEZXNjcmlwdGlvbiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwK ICAgICAgICAgKz09PT09PT09PSs9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSs9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0rCi0gICAgICAgIHwgMCAgICAgICB8IGFt ZF9wc3RhdGVfdXRfYWNwaV9jcGNfdmFsaWQgICB8fCBDaGVjayB3aGV0aGVyIHRoZSBfQ1BD IG9iamVjdCBpcyBwcmVzZW50IGluIFNCSU9TLiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgfAorICAgICAgICB8IDEgICAgICAgfCBhbWRfcHN0YXRlX3V0X2FjcGlfY3BjX3Zh bGlkICAgfHwgQ2hlY2sgd2hldGhlciB0aGUgX0NQQyBvYmplY3QgaXMgcHJlc2VudCBpbiBT QklPUy4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKICAgICAgICAgfCAgICAg ICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHx8ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB8CiAgICAgICAgIHwgICAgICAgICB8ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB8fCBUaGUgZGV0YWlsIHJlZmVyIHRvIGBQcm9jZXNzb3IgU3VwcG9y dCA8cHJvY2Vzc29yX3N1cHBvcnRfPmBfLiAgICAgICAgICAgICAgICAgICAgfAogICAgICAg ICArLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKLSAgICAgICAgfCAxICAgICAgIHwgYW1kX3BzdGF0 ZV91dF9jaGVja19lbmFibGVkICAgIHx8IENoZWNrIHdoZXRoZXIgQU1EIFAtU3RhdGUgaXMg ZW5hYmxlZC4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8 CisgICAgICAgIHwgMiAgICAgICB8IGFtZF9wc3RhdGVfdXRfY2hlY2tfZW5hYmxlZCAgICB8 fCBDaGVjayB3aGV0aGVyIEFNRCBQLVN0YXRlIGlzIGVuYWJsZWQuICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAogICAgICAgICB8ICAgICAgICAgfCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfHwgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHwKICAgICAgICAgfCAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHx8IEFNRCBQLVN0YXRlcyBhbmQgQUNQSSBoYXJkd2FyZSBQLVN0YXRlcyBhbHdh eXMgY2FuIGJlIHN1cHBvcnRlZCBpbiBvbmUgcHJvY2Vzc29yLiB8CiAgICAgICAgIHwgICAg ICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IEJ1dCBBTUQgUC1TdGF0 ZXMgaGFzIHRoZSBoaWdoZXIgcHJpb3JpdHkgYW5kIGlmIGl0IGlzIGVuYWJsZWQgd2l0aCAg ICAgICAgICAgICAgICAgfAogICAgICAgICB8ICAgICAgICAgfCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfCA6YzptYWNybzpgTVNSX0FNRF9DUFBDX0VOQUJMRWAgb3IgYGBj cHBjX3NldF9lbmFibGVgYCwgaXQgd2lsbCByZXNwb25kIHRvIHRoZSAgICAgIHwKICAgICAg ICAgfCAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgcmVxdWVz dCBmcm9tIEFNRCBQLVN0YXRlcy4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB8CiAgICAgICAgICstLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t KwotICAgICAgICB8IDIgICAgICAgfCBhbWRfcHN0YXRlX3V0X2NoZWNrX3BlcmYgICAgICAg fHwgQ2hlY2sgaWYgdGhlIGVhY2ggcGVyZm9ybWFuY2UgdmFsdWVzIGFyZSByZWFzb25hYmxl LiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgICAgICAgfCAzICAgICAgIHwg YW1kX3BzdGF0ZV91dF9jaGVja19wZXJmICAgICAgIHx8IENoZWNrIGlmIHRoZSBlYWNoIHBl cmZvcm1hbmNlIHZhbHVlcyBhcmUgcmVhc29uYWJsZS4gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8CiAgICAgICAgIHwgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8fCBoaWdoZXN0X3BlcmYgPj0gbm9taW5hbF9wZXJmID4gbG93ZXN0X25vbmxp bmVhcl9wZXJmID4gbG93ZXN0X3BlcmYgPiAwLiAgICAgICAgICAgfAogICAgICAgICArLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLSsKLSAgICAgICAgfCAzICAgICAgIHwgYW1kX3BzdGF0ZV91dF9j aGVja19mcmVxICAgICAgIHx8IENoZWNrIGlmIHRoZSBlYWNoIGZyZXF1ZW5jeSB2YWx1ZXMg YW5kIG1heCBmcmVxIHdoZW4gc2V0IHN1cHBvcnQgYm9vc3QgbW9kZSAgICAgICB8CisgICAg ICAgIHwgNCAgICAgICB8IGFtZF9wc3RhdGVfdXRfY2hlY2tfZnJlcSAgICAgICB8fCBDaGVj ayBpZiB0aGUgZWFjaCBmcmVxdWVuY3kgdmFsdWVzIGFuZCBtYXggZnJlcSB3aGVuIHNldCBz dXBwb3J0IGJvb3N0IG1vZGUgICAgICAgfAogICAgICAgICB8ICAgICAgICAgfCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfCBhcmUgcmVhc29uYWJsZS4gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHwKICAgICAgICAgfCAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHx8IG1heF9mcmVxID49IG5vbWluYWxfZnJlcSA+IGxvd2VzdF9ub25saW5lYXJfZnJlcSA+ IG1pbl9mcmVxID4gMCAgICAgICAgICAgICAgICAgICB8CiAgICAgICAgIHwgICAgICAgICB8 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8fCBJZiBib29zdCBpcyBub3QgYWN0 aXZlIGJ1dCBzdXBwb3J0ZWQsIHRoaXMgbWF4aW11bSBmcmVxdWVuY3kgd2lsbCBiZSBsYXJn ZXIgdGhhbiAgfAogICAgICAgICB8ICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfCB0aGUgb25lIGluIGBgY3B1aW5mb2BgLiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKICAgICAgICAgKy0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0rCiAKKyAgICAyKS4gVGJlbmNoIHRlc3QKKworICAgICAgICBU ZXN0IGFuZCBtb25pdG9yIHRoZSBjcHUgY2hhbmdlcyB3aGVuIHJ1bm5pbmcgdGJlbmNoIGJl bmNobWFyayB1bmRlciB0aGUgc3BlY2lmaWVkIGdvdmVybm9yLgorICAgICAgICBUaGVzZSBj aGFuZ2VzIGluY2x1ZGUgZGVzaXJlIHBlcmZvcm1hbmNlLCBmcmVxdWVuY3ksIGxvYWQsIHBl cmZvcm1hbmNlLCBlbmVyZ3kgZXRjLgorICAgICAgICBUaGUgc3BlY2lmaWVkIGdvdmVybm9y IGlzIG9uZGVtYW5kIG9yIHNjaGVkdXRpbC4KKyAgICAgICAgVGJlbmNoIGNhbiBhbHNvIGJl IHRlc3RlZCBvbiB0aGUgYGBhY3BpLWNwdWZyZXFgYCBrZXJuZWwgZHJpdmVyIGZvciBjb21w YXJpc29uLgorCisgICAgMykuIEdpdHNvdXJjZSB0ZXN0CisKKyAgICAgICAgVGVzdCBhbmQg bW9uaXRvciB0aGUgY3B1IGNoYW5nZXMgd2hlbiBydW5uaW5nIGdpdHNvdXJjZSBiZW5jaG1h cmsgdW5kZXIgdGhlIHNwZWNpZmllZCBnb3Zlcm5vci4KKyAgICAgICAgVGhlc2UgY2hhbmdl cyBpbmNsdWRlIGRlc2lyZSBwZXJmb3JtYW5jZSwgZnJlcXVlbmN5LCBsb2FkLCB0aW1lLCBl bmVyZ3kgZXRjLgorICAgICAgICBUaGUgc3BlY2lmaWVkIGdvdmVybm9yIGlzIG9uZGVtYW5k IG9yIHNjaGVkdXRpbC4KKyAgICAgICAgR2l0c291cmNlIGNhbiBhbHNvIGJlIHRlc3RlZCBv biB0aGUgYGBhY3BpLWNwdWZyZXFgYCBrZXJuZWwgZHJpdmVyIGZvciBjb21wYXJpc29uLgor CiAjLiBIb3cgdG8gZXhlY3V0ZSB0aGUgdGVzdHMKIAogICAgV2UgdXNlIHRlc3QgbW9kdWxl IGluIHRoZSBrc2VsZnRlc3QgZnJhbWV3b3JrcyB0byBpbXBsZW1lbnQgaXQuCi0gICBXZSBj cmVhdGUgYW1kLXBzdGF0ZS11dCBtb2R1bGUgYW5kIHRpZSBpdCBpbnRvIGtzZWxmdGVzdC4o Zm9yCisgICBXZSBjcmVhdGUgYGBhbWQtcHN0YXRlLXV0YGAgbW9kdWxlIGFuZCB0aWUgaXQg aW50byBrc2VsZnRlc3QuKGZvcgogICAgZGV0YWlscyByZWZlciB0byBMaW51eCBLZXJuZWwg U2VsZnRlc3RzIFs0XV8pLgogCi0gICAgMS4gQnVpbGQKKyAgICAxKS4gQnVpbGQKIAogICAg ICAgICArIG9wZW4gdGhlIDpjOm1hY3JvOmBDT05GSUdfWDg2X0FNRF9QU1RBVEVgIGNvbmZp Z3VyYXRpb24gb3B0aW9uLgogICAgICAgICArIHNldCB0aGUgOmM6bWFjcm86YENPTkZJR19Y ODZfQU1EX1BTVEFURV9VVGAgY29uZmlndXJhdGlvbiBvcHRpb24gdG8gTS4KQEAgLTQ0OSwy MyArNDY3LDE1OSBAQCBVbml0IFRlc3RzIGZvciBhbWQtcHN0YXRlCiAgICAgICAgICAgICAk IGNkIGxpbnV4CiAgICAgICAgICAgICAkIG1ha2UgLUMgdG9vbHMvdGVzdGluZy9zZWxmdGVz dHMKIAotICAgICMuIEluc3RhbGxhdGlvbiAmIFN0ZXBzIDo6CisgICAgICAgICsgbWFrZSBw ZXJmIDo6CisKKyAgICAgICAgICAgICQgY2QgdG9vbHMvcGVyZi8KKyAgICAgICAgICAgICQg bWFrZQorCisKKyAgICAyKS4gSW5zdGFsbGF0aW9uICYgU3RlcHMgOjoKIAogICAgICAgICAk IG1ha2UgLUMgdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMgaW5zdGFsbCBJTlNUQUxMX1BBVEg9 fi9rc2VsZnRlc3QKKyAgICAgICAgJCBjcCB0b29scy9wZXJmL3BlcmYgL3Vzci9iaW4vcGVy ZgogICAgICAgICAkIHN1ZG8gLi9rc2VsZnRlc3QvcnVuX2tzZWxmdGVzdC5zaCAtYyBhbWQt cHN0YXRlCi0gICAgICAgIFRBUCB2ZXJzaW9uIDEzCi0gICAgICAgIDEuLjEKLSAgICAgICAg IyBzZWxmdGVzdHM6IGFtZC1wc3RhdGU6IGFtZC1wc3RhdGUtdXQuc2gKLSAgICAgICAgIyBh bWQtcHN0YXRlLXV0OiBvawotICAgICAgICBvayAxIHNlbGZ0ZXN0czogYW1kLXBzdGF0ZTog YW1kLXBzdGF0ZS11dC5zaAotCi0gICAgIy4gUmVzdWx0cyA6OgotCi0gICAgICAgICAkIGRt ZXNnIHwgZ3JlcCAiYW1kX3BzdGF0ZV91dCIgfCB0ZWUgbG9nLnR4dAotICAgICAgICAgWzEy OTc3LjU3MDY2M10gYW1kX3BzdGF0ZV91dDogMSAgICBhbWRfcHN0YXRlX3V0X2FjcGlfY3Bj X3ZhbGlkICBzdWNjZXNzIQotICAgICAgICAgWzEyOTc3LjU3MDY3M10gYW1kX3BzdGF0ZV91 dDogMiAgICBhbWRfcHN0YXRlX3V0X2NoZWNrX2VuYWJsZWQgICBzdWNjZXNzIQotICAgICAg ICAgWzEyOTc3LjU3MTIwN10gYW1kX3BzdGF0ZV91dDogMyAgICBhbWRfcHN0YXRlX3V0X2No ZWNrX3BlcmYgICAgICBzdWNjZXNzIQotICAgICAgICAgWzEyOTc3LjU3MTIxMl0gYW1kX3Bz dGF0ZV91dDogNCAgICBhbWRfcHN0YXRlX3V0X2NoZWNrX2ZyZXEgICAgICBzdWNjZXNzIQor CisgICAgMykuIFNwZWNpZmllZCB0ZXN0IGNhc2UgOjoKKworICAgICAgICAkIGNkIH4va3Nl bGZ0ZXN0L2FtZC1wc3RhdGUKKyAgICAgICAgJCBzdWRvIC4vcnVuLnNoIC10IGJhc2ljCisg ICAgICAgICQgc3VkbyAuL3J1bi5zaCAtdCB0YmVuY2gKKyAgICAgICAgJCBzdWRvIC4vcnVu LnNoIC10IHRiZW5jaCAtbSBhY3BpLWNwdWZyZXEKKyAgICAgICAgJCBzdWRvIC4vcnVuLnNo IC10IGdpdHNvdXJjZQorICAgICAgICAkIHN1ZG8gLi9ydW4uc2ggLXQgZ2l0c291cmNlIC1t IGFjcGktY3B1ZnJlcQorICAgICAgICAkIC4vcnVuLnNoIC0taGVscAorICAgICAgICAuL3J1 bi5zaDogaWxsZWdhbCBvcHRpb24gLS0gLQorICAgICAgICBVc2FnZTogLi9ydW4uc2ggW09Q VElPTi4uLl0KKyAgICAgICAgICAgICAgICBbLWggPGhlbHA+XQorICAgICAgICAgICAgICAg IFstbyA8b3V0cHV0LWZpbGUtZm9yLWR1bXA+XQorICAgICAgICAgICAgICAgIFstYyA8YWxs OiBBbGwgdGVzdGluZywKKyAgICAgICAgICAgICAgICAgICAgIGJhc2ljOiBCYXNpYyB0ZXN0 aW5nLAorICAgICAgICAgICAgICAgICAgICAgdGJlbmNoOiBUYmVuY2ggdGVzdGluZywKKyAg ICAgICAgICAgICAgICAgICAgIGdpdHNvdXJjZTogR2l0c291cmNlIHRlc3RpbmcuPl0KKyAg ICAgICAgICAgICAgICBbLXQgPHRiZW5jaCB0aW1lIGxpbWl0Pl0KKyAgICAgICAgICAgICAg ICBbLXAgPHRiZW5jaCBwcm9jZXNzIG51bWJlcj5dCisgICAgICAgICAgICAgICAgWy1sIDxs b29wIHRpbWVzIGZvciB0YmVuY2g+XQorICAgICAgICAgICAgICAgIFstaSA8YW1kIHRyYWNl ciBpbnRlcnZhbD5dCisgICAgICAgICAgICAgICAgWy1tIDxjb21wYXJhdGl2ZSB0ZXN0OiBh Y3BpLWNwdWZyZXE+XQorCisKKyAgICA0KS4gUmVzdWx0cworCisgICAgICAgICsgYmFzaWMK KworICAgICAgICAgV2hlbiB5b3UgZmluaXNoIHRlc3QsIHlvdSB3aWxsIGdldCB0aGUgZm9s bG93aW5nIGxvZyBpbmZvIDo6CisKKyAgICAgICAgICAkIGRtZXNnIHwgZ3JlcCAiYW1kX3Bz dGF0ZV91dCIgfCB0ZWUgbG9nLnR4dAorICAgICAgICAgIFsxMjk3Ny41NzA2NjNdIGFtZF9w c3RhdGVfdXQ6IDEgICAgYW1kX3BzdGF0ZV91dF9hY3BpX2NwY192YWxpZCAgc3VjY2VzcyEK KyAgICAgICAgICBbMTI5NzcuNTcwNjczXSBhbWRfcHN0YXRlX3V0OiAyICAgIGFtZF9wc3Rh dGVfdXRfY2hlY2tfZW5hYmxlZCAgIHN1Y2Nlc3MhCisgICAgICAgICAgWzEyOTc3LjU3MTIw N10gYW1kX3BzdGF0ZV91dDogMyAgICBhbWRfcHN0YXRlX3V0X2NoZWNrX3BlcmYgICAgICBz dWNjZXNzIQorICAgICAgICAgIFsxMjk3Ny41NzEyMTJdIGFtZF9wc3RhdGVfdXQ6IDQgICAg YW1kX3BzdGF0ZV91dF9jaGVja19mcmVxICAgICAgc3VjY2VzcyEKKworICAgICAgICArIHRi ZW5jaAorCisgICAgICAgICBXaGVuIHlvdSBmaW5pc2ggdGVzdCwgeW91IHdpbGwgZ2V0IHNl bGZ0ZXN0LnRiZW5jaC5jc3YgYW5kIHBuZyBpbWFnZXMuCisgICAgICAgICBUaGUgc2VsZnRl c3QudGJlbmNoLmNzdiBmaWxlIGNvbnRhaW5zIHRoZSByYXcgZGF0YSBhbmQgdGhlIGRyb3Ag b2YgdGhlIGNvbXBhcmF0aXZlIHRlc3QuCisgICAgICAgICBUaGUgcG5nIGltYWdlcyBzaG93 cyB0aGUgcGVyZm9ybWFuY2UsIGVuZXJneSBhbmQgcGVyZm9ybWFuIHBlciB3YXR0IG9mIGVh Y2ggdGVzdC4KKyAgICAgICAgIE9wZW4gc2VsZnRlc3QudGJlbmNoLmNzdiA6CisKKyAgICAg ICAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKKyAgICAgICAgICsg R292ZXJub3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBSb3Vu ZCAgICAgICAgfCBEZXMtcGVyZiB8IEZyZXEgICAgfCBMb2FkICAgICB8IFBlcmZvcm1hbmNl IHwgRW5lcmd5ICB8IFBlcmZvcm1hbmNlIFBlciBXYXR0IHwKKyAgICAgICAgICstLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKKyAgICAgICAgICsgVW5pdCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgfCAg ICAgICAgICB8IEdIeiAgICAgfCAgICAgICAgICB8IE1CL3MgICAgICAgIHwgSiAgICAgICB8 IE1CL0ogICAgICAgICAgICAgICAgIHwKKyAgICAgICAgICs9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Kz09PT09PT09PT09PT09Kz09PT09PT09 PT0rPT09PT09PT09Kz09PT09PT09PT0rPT09PT09PT09PT09PSs9PT09PT09PT0rPT09PT09 PT09PT09PT09PT09PT09PSsKKyAgICAgICAgICsgYW1kLXBzdGF0ZS1vbmRlbWFuZCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfCAxICAgICAgICAgICAgfCAgICAgICAgICB8ICAg ICAgICAgfCAgICAgICAgICB8IDI1MDQuMDUgICAgIHwgMTU2My42NyB8IDE1OC41Mzc4ICAg ICAgICAgICAgIHwKKyAgICAgICAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0t Ky0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0tLSsKKyAgICAgICAgICsgYW1kLXBzdGF0ZS1vbmRlbWFuZCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfCAyICAgICAgICAgICAgfCAgICAgICAgICB8ICAgICAgICAgfCAgICAg ICAgICB8IDIyNDMuNjQgICAgIHwgMTQzMC4zMiB8IDE1NS4yOTQxICAgICAgICAgICAgIHwK KyAgICAgICAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKKyAgICAg ICAgICsgYW1kLXBzdGF0ZS1vbmRlbWFuZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg fCAzICAgICAgICAgICAgfCAgICAgICAgICB8ICAgICAgICAgfCAgICAgICAgICB8IDIxODMu ODggICAgIHwgMTQwMS4zMiB8IDE1NC4yODYwICAgICAgICAgICAgIHwKKyAgICAgICAgICst LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKKyAgICAgICAgICsgYW1kLXBz dGF0ZS1vbmRlbWFuZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBBdmVyYWdlICAg ICAgfCAgICAgICAgICB8ICAgICAgICAgfCAgICAgICAgICB8IDIzMTAuNTIgICAgIHwgMTQ2 NS4xICB8IDE1Ni4xMjY4ICAgICAgICAgICAgIHwKKyAgICAgICAgICstLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKKyAgICAgICAgICsgYW1kLXBzdGF0ZS1zY2hlZHV0 aWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAxICAgICAgICAgICAgfCAxNjUuMzI5 ICB8IDEuNjIyNTcgfCA5OS43OTggICB8IDIxMzYuNTQgICAgIHwgMTM5NS4yNiB8IDE1MS41 OTcxICAgICAgICAgICAgIHwKKyAgICAgICAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0t LS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSsKKyAgICAgICAgICsgYW1kLXBzdGF0ZS1zY2hlZHV0aWwgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfCAyICAgICAgICAgICAgfCAxNjYgICAgICB8IDEuNDk3NjEg fCA5OS45OTkzICB8IDIxMDAuNTYgICAgIHwgMTM4MC41ICB8IDE1MC42Mzc3ICAgICAgICAg ICAgIHwKKyAgICAgICAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsK KyAgICAgICAgICsgYW1kLXBzdGF0ZS1zY2hlZHV0aWwgICAgICAgICAgICAgICAgICAgICAg ICAgICAgfCAzICAgICAgICAgICAgfCAxNjYgICAgICB8IDEuNDc4MDYgfCA5OS45OTkzICB8 IDIwODQuMTIgICAgIHwgMTM3NS43NiB8IDE0OS45NzM3ICAgICAgICAgICAgIHwKKyAgICAg ICAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKKyAgICAgICAgICsg YW1kLXBzdGF0ZS1zY2hlZHV0aWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBBdmVy YWdlICAgICAgfCAxNjUuNzc2ICB8IDEuNTMyNzUgfCA5OS45MzIyICB8IDIxMDcuMDcgICAg IHwgMTM4My44NCB8IDE1MC43Mzk5ICAgICAgICAgICAgIHwKKyAgICAgICAgICstLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKKyAgICAgICAgICsgYWNwaS1jcHVmcmVx LW9uZGVtYW5kICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAxICAgICAgICAgICAgfCAg ICAgICAgICB8ICAgICAgICAgfCAgICAgICAgICB8IDI1MjkuOSAgICAgIHwgMTU2NC40ICB8 IDE2MC4wOTk3ICAgICAgICAgICAgIHwKKyAgICAgICAgICstLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLS0tLSsKKyAgICAgICAgICsgYWNwaS1jcHVmcmVxLW9uZGVtYW5kICAg ICAgICAgICAgICAgICAgICAgICAgICAgfCAyICAgICAgICAgICAgfCAgICAgICAgICB8ICAg ICAgICAgfCAgICAgICAgICB8IDIyNDkuNzYgICAgIHwgMTQzMi45NyB8IDE1NS40Mjk3ICAg ICAgICAgICAgIHwKKyAgICAgICAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0t Ky0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0tLSsKKyAgICAgICAgICsgYWNwaS1jcHVmcmVxLW9uZGVtYW5kICAgICAgICAgICAgICAg ICAgICAgICAgICAgfCAzICAgICAgICAgICAgfCAgICAgICAgICB8ICAgICAgICAgfCAgICAg ICAgICB8IDIxODEuNDYgICAgIHwgMTQwNi44OCB8IDE1My41MDYwICAgICAgICAgICAgIHwK KyAgICAgICAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKKyAgICAg ICAgICsgYWNwaS1jcHVmcmVxLW9uZGVtYW5kICAgICAgICAgICAgICAgICAgICAgICAgICAg fCBBdmVyYWdlICAgICAgfCAgICAgICAgICB8ICAgICAgICAgfCAgICAgICAgICB8IDIzMjAu MzcgICAgIHwgMTQ2OC4wOCB8IDE1Ni40NzQxICAgICAgICAgICAgIHwKKyAgICAgICAgICst LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKKyAgICAgICAgICsgYWNwaS1j cHVmcmVxLXNjaGVkdXRpbCAgICAgICAgICAgICAgICAgICAgICAgICAgfCAxICAgICAgICAg ICAgfCAgICAgICAgICB8ICAgICAgICAgfCAgICAgICAgICB8IDIxMzcuNjQgICAgIHwgMTM4 NS4yNCB8IDE1Mi43NzIzICAgICAgICAgICAgIHwKKyAgICAgICAgICstLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKKyAgICAgICAgICsgYWNwaS1jcHVmcmVxLXNjaGVk dXRpbCAgICAgICAgICAgICAgICAgICAgICAgICAgfCAyICAgICAgICAgICAgfCAgICAgICAg ICB8ICAgICAgICAgfCAgICAgICAgICB8IDIxMDcuMDUgICAgIHwgMTM3Mi4yMyB8IDE1Mi4w MTM4ICAgICAgICAgICAgIHwKKyAgICAgICAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0t LS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSsKKyAgICAgICAgICsgYWNwaS1jcHVmcmVxLXNjaGVkdXRpbCAgICAgICAg ICAgICAgICAgICAgICAgICAgfCAzICAgICAgICAgICAgfCAgICAgICAgICB8ICAgICAgICAg fCAgICAgICAgICB8IDIwODUuODYgICAgIHwgMTM2NS4zNSB8IDE1MS4yNDMzICAgICAgICAg ICAgIHwKKyAgICAgICAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsK KyAgICAgICAgICsgYWNwaS1jcHVmcmVxLXNjaGVkdXRpbCAgICAgICAgICAgICAgICAgICAg ICAgICAgfCBBdmVyYWdlICAgICAgfCAgICAgICAgICB8ICAgICAgICAgfCAgICAgICAgICB8 IDIxMTAuMTggICAgIHwgMTM3NC4yNyB8IDE1Mi4wMTM2ICAgICAgICAgICAgIHwKKyAgICAg ICAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKKyAgICAgICAgICsg YWNwaS1jcHVmcmVxLW9uZGVtYW5kIFZTIGFjcGktY3B1ZnJlcS1zY2hlZHV0aWwgfCBDb21w cmlzb24oJSkgfCAgICAgICAgICB8ICAgICAgICAgfCAgICAgICAgICB8IC05LjA1ODQgICAg IHwgLTYuMzg5OSB8IC0yLjg1MDYgICAgICAgICAgICAgIHwKKyAgICAgICAgICstLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKKyAgICAgICAgICsgYW1kLXBzdGF0ZS1v bmRlbWFuZCBWUyBhbWQtcHN0YXRlLXNjaGVkdXRpbCAgICAgfCBDb21wcmlzb24oJSkgfCAg ICAgICAgICB8ICAgICAgICAgfCAgICAgICAgICB8IDguODA1MyAgICAgIHwgLTUuNTQ2MyB8 IC0zLjQ1MDMgICAgICAgICAgICAgIHwKKyAgICAgICAgICstLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLS0tLSsKKyAgICAgICAgICsgYWNwaS1jcHVmcmVxLW9uZGVtYW5kIFZT IGFtZC1wc3RhdGUtb25kZW1hbmQgICAgfCBDb21wcmlzb24oJSkgfCAgICAgICAgICB8ICAg ICAgICAgfCAgICAgICAgICB8IC0wLjQyNDUgICAgIHwgLTAuMjAyOSB8IC0wLjIyMTkgICAg ICAgICAgICAgIHwKKyAgICAgICAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0t Ky0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0tLSsKKyAgICAgICAgICsgYWNwaS1jcHVmcmVxLXNjaGVkdXRpbCBWUyBhbWQtcHN0YXRl LXNjaGVkdXRpbCAgfCBDb21wcmlzb24oJSkgfCAgICAgICAgICB8ICAgICAgICAgfCAgICAg ICAgICB8IC0wLjE0NzMgICAgIHwgMC42OTYzICB8IC0wLjgzNzggICAgICAgICAgICAgIHwK KyAgICAgICAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKKworICAg ICAgICArIGdpdHNvdXJjZQorCisgICAgICAgICBXaGVuIHlvdSBmaW5pc2ggdGVzdCwgeW91 IHdpbGwgZ2V0IHNlbGZ0ZXN0LmdpdHNvdXJjZS5jc3YgYW5kIHBuZyBpbWFnZXMuCisgICAg ICAgICBUaGUgc2VsZnRlc3QuZ2l0c291cmNlLmNzdiBmaWxlIGNvbnRhaW5zIHRoZSByYXcg ZGF0YSBhbmQgdGhlIGRyb3Agb2YgdGhlIGNvbXBhcmF0aXZlIHRlc3QuCisgICAgICAgICBU aGUgcG5nIGltYWdlcyBzaG93cyB0aGUgcGVyZm9ybWFuY2UsIGVuZXJneSBhbmQgcGVyZm9y bWFuIHBlciB3YXR0IG9mIGVhY2ggdGVzdC4KKyAgICAgICAgIE9wZW4gc2VsZnRlc3QuZ2l0 c291cmNlLmNzdiA6CisKKyAgICAgICAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0t LS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rCisgICAgICAgICArIEdvdmVybm9yICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHwgUm91bmQgICAgICAgIHwgRGVzLXBlcmYgfCBGcmVxICAgICB8 IExvYWQgICAgIHwgVGltZSAgICAgICAgfCBFbmVyZ3kgIHwgUGVyZm9ybWFuY2UgUGVyIFdh dHQgfAorICAgICAgICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsK KyAgICAgICAgICsgVW5pdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgfCAgICAgICAgICAgICAgfCAgICAgICAgICB8IEdIeiAgICAgIHwgICAgICAgICAg fCBzICAgICAgICAgICB8IEogICAgICAgfCAxL0ogICAgICAgICAgICAgICAgICB8CisgICAg ICAgICArPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PSs9PT09PT09PT09PT09PSs9PT09PT09PT09Kz09PT09PT09PT0rPT09PT09PT09PSs9PT09 PT09PT09PT09Kz09PT09PT09PSs9PT09PT09PT09PT09PT09PT09PT09KworICAgICAgICAg KyBhbWQtcHN0YXRlLW9uZGVtYW5kICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDEg ICAgICAgICAgICB8IDUwLjExOSAgIHwgMi4xMDUwOSAgfCAyMy4zMDc2ICB8IDQ3NS42OSAg ICAgIHwgODY1Ljc4ICB8IDAuMDAxMTU1MDI3ICAgICAgICAgIHwKKyAgICAgICAgICstLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCisgICAgICAgICArIGFtZC1wc3Rh dGUtb25kZW1hbmQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMiAgICAgICAgICAg IHwgOTQuODAwNiAgfCAxLjk4NzcxICB8IDU2LjY1MzMgIHwgNDY3LjEgICAgICAgfCA4Mzku NjcgIHwgMC4wMDExOTA5NDQgICAgICAgICAgfAorICAgICAgICAgKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKKyAgICAgICAgICsgYW1kLXBzdGF0ZS1vbmRlbWFu ZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAzICAgICAgICAgICAgfCA3Ni42MDkx ICB8IDIuNTMyNTEgIHwgNDMuNzc5MSAgfCA0NjcuNjkgICAgICB8IDg1NS44NSAgfCAwLjAw MTE2ODQyOSAgICAgICAgICB8CisgICAgICAgICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0t LS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLS0tKworICAgICAgICAgKyBhbWQtcHN0YXRlLW9uZGVtYW5kICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB8IEF2ZXJhZ2UgICAgICB8IDczLjg0MjkgIHwgMi4yMDg0 NCAgfCA0MS4yNDY3ICB8IDQ3MC4xNiAgICAgIHwgODUzLjc2NyB8IDAuMDAxMTcxMjc5ICAg ICAgICAgIHwKKyAgICAgICAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLSst LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0rCisgICAgICAgICArIGFtZC1wc3RhdGUtc2NoZWR1dGlsICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHwgMSAgICAgICAgICAgIHwgMTY1LjkxOSAgfCAxLjYyMzE5ICB8IDk4LjM4 NjggIHwgNDY0LjE3ICAgICAgfCA4NjYuOCAgIHwgMC4wMDExNTM2NjggICAgICAgICAgfAor ICAgICAgICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKKyAgICAg ICAgICsgYW1kLXBzdGF0ZS1zY2hlZHV0aWwgICAgICAgICAgICAgICAgICAgICAgICAgICAg fCAyICAgICAgICAgICAgfCAxNjUuOTcgICB8IDEuMzEzMDkgIHwgOTkuNTcxMiAgfCA0ODAu MTUgICAgICB8IDg4MC40ICAgfCAwLjAwMTEzNTg0NyAgICAgICAgICB8CisgICAgICAgICAr LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworICAgICAgICAgKyBhbWQt cHN0YXRlLXNjaGVkdXRpbCAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDMgICAgICAg ICAgICB8IDE2NS45NzMgIHwgMS4yODQ0OCAgfCA5OS45MjUyICB8IDQ4MS43OSAgICAgIHwg ODY3LjAyICB8IDAuMDAxMTUzMzc1ICAgICAgICAgIHwKKyAgICAgICAgICstLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCisgICAgICAgICArIGFtZC1wc3RhdGUtc2No ZWR1dGlsICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgQXZlcmFnZSAgICAgIHwgMTY1 Ljk1NCAgfCAxLjQwNjkyICB8IDk5LjI5NDQgIHwgNDc1LjM3ICAgICAgfCA4NzEuNDA3IHwg MC4wMDExNDc1NjkgICAgICAgICAgfAorICAgICAgICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LSstLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLS0tLSsKKyAgICAgICAgICsgYWNwaS1jcHVmcmVxLW9uZGVtYW5kICAg ICAgICAgICAgICAgICAgICAgICAgICAgfCAxICAgICAgICAgICAgfCAgICAgICAgICB8ICAg ICAgICAgIHwgICAgICAgICAgfCAyMzc5LjYyICAgICB8IDc0Mi45NiAgfCAwLjAwMTM0NTk2 NyAgICAgICAgICB8CisgICAgICAgICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0t LS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0tLS0tKworICAgICAgICAgKyBhY3BpLWNwdWZyZXEtb25kZW1hbmQgICAgICAgICAgICAg ICAgICAgICAgICAgICB8IDIgICAgICAgICAgICB8ICAgICAgICAgIHwgICAgICAgICAgfCAg ICAgICAgICB8IDQ0MS43NCAgICAgIHwgODE3LjQ5ICB8IDAuMDAxMjIzMjU2ICAgICAgICAg IHwKKyAgICAgICAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCisg ICAgICAgICArIGFjcGktY3B1ZnJlcS1vbmRlbWFuZCAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwgMyAgICAgICAgICAgIHwgICAgICAgICAgfCAgICAgICAgICB8ICAgICAgICAgIHwg NDU1LjQ4ICAgICAgfCA4MjAuMDEgIHwgMC4wMDEyMTk0OTcgICAgICAgICAgfAorICAgICAg ICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKKyAgICAgICAgICsg YWNwaS1jcHVmcmVxLW9uZGVtYW5kICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBBdmVy YWdlICAgICAgfCAgICAgICAgICB8ICAgICAgICAgIHwgICAgICAgICAgfCA0MjUuNjEzICAg ICB8IDc5My40ODcgfCAwLjAwMTI2MDI2MCAgICAgICAgICB8CisgICAgICAgICArLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworICAgICAgICAgKyBhY3BpLWNwdWZy ZXEtc2NoZWR1dGlsICAgICAgICAgICAgICAgICAgICAgICAgICB8IDEgICAgICAgICAgICB8 ICAgICAgICAgIHwgICAgICAgICAgfCAgICAgICAgICB8IDQ1OS42OSAgICAgIHwgODM4LjU0 ICB8IDAuMDAxMTkyNTQ4ICAgICAgICAgIHwKKyAgICAgICAgICstLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0rCisgICAgICAgICArIGFjcGktY3B1ZnJlcS1zY2hlZHV0 aWwgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMiAgICAgICAgICAgIHwgICAgICAgICAg fCAgICAgICAgICB8ICAgICAgICAgIHwgNDY2LjU1ICAgICAgfCA4MzAuODkgIHwgMC4wMDEy MDM1MjggICAgICAgICAgfAorICAgICAgICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0t LS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSsKKyAgICAgICAgICsgYWNwaS1jcHVmcmVxLXNjaGVkdXRpbCAgICAgICAg ICAgICAgICAgICAgICAgICAgfCAzICAgICAgICAgICAgfCAgICAgICAgICB8ICAgICAgICAg IHwgICAgICAgICAgfCA0NzAuMzggICAgICB8IDgzNy4zMiAgfCAwLjAwMTE5NDI4NiAgICAg ICAgICB8CisgICAgICAgICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0t KworICAgICAgICAgKyBhY3BpLWNwdWZyZXEtc2NoZWR1dGlsICAgICAgICAgICAgICAgICAg ICAgICAgICB8IEF2ZXJhZ2UgICAgICB8ICAgICAgICAgIHwgICAgICAgICAgfCAgICAgICAg ICB8IDQ2NS41NCAgICAgIHwgODM1LjU4MyB8IDAuMDAxMTk2NzY5ICAgICAgICAgIHwKKyAg ICAgICAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCisgICAgICAg ICArIGFjcGktY3B1ZnJlcS1vbmRlbWFuZCBWUyBhY3BpLWNwdWZyZXEtc2NoZWR1dGlsIHwg Q29tcHJpc29uKCUpIHwgICAgICAgICAgfCAgICAgICAgICB8ICAgICAgICAgIHwgOS4zODEw ICAgICAgfCA1LjMwNTEgIHwgLTUuMDM3OSAgICAgICAgICAgICAgfAorICAgICAgICAgKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKKyAgICAgICAgICsgYW1kLXBz dGF0ZS1vbmRlbWFuZCBWUyBhbWQtcHN0YXRlLXNjaGVkdXRpbCAgICAgfCBDb21wcmlzb24o JSkgfCAxMjQuNzM5MiB8IC0zNi4yOTM0IHwgMTQwLjczMjkgfCAxLjEwODEgICAgICB8IDIu MDY2MSAgfCAtMi4wMjQyICAgICAgICAgICAgICB8CisgICAgICAgICArLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworICAgICAgICAgKyBhY3BpLWNwdWZyZXEtb25k ZW1hbmQgVlMgYW1kLXBzdGF0ZS1vbmRlbWFuZCAgICB8IENvbXByaXNvbiglKSB8ICAgICAg ICAgIHwgICAgICAgICAgfCAgICAgICAgICB8IDEwLjQ2NjUgICAgIHwgNy41OTY4ICB8IC03 LjA2MDUgICAgICAgICAgICAgIHwKKyAgICAgICAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0r LS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0rCisgICAgICAgICArIGFjcGktY3B1ZnJlcS1zY2hlZHV0aWwgVlMg YW1kLXBzdGF0ZS1zY2hlZHV0aWwgIHwgQ29tcHJpc29uKCUpIHwgICAgICAgICAgfCAgICAg ICAgICB8ICAgICAgICAgIHwgMi4xMTE1ICAgICAgfCA0LjI4NzMgIHwgLTQuMTExMCAgICAg ICAgICAgICAgfAorICAgICAgICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0t Ky0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0tLSsKIAogUmVmZXJlbmNlCiA9PT09PT09PT09PQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9j cHVmcmVxL2FtZC1wc3RhdGUtdXQuYyBiL2RyaXZlcnMvY3B1ZnJlcS9hbWQtcHN0YXRlLXV0 LmMKaW5kZXggZTRhNWI0ZDkwZjgzLi43ZjNmZTIwNDg5ODEgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvY3B1ZnJlcS9hbWQtcHN0YXRlLXV0LmMKKysrIGIvZHJpdmVycy9jcHVmcmVxL2FtZC1w c3RhdGUtdXQuYwpAQCAtMSw0ICsxLDQgQEAKLS8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVy OiBHUEwtMS4wLW9yLWxhdGVyCisvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIu MC1vci1sYXRlcgogLyoKICAqIEFNRCBQcm9jZXNzb3IgUC1zdGF0ZSBGcmVxdWVuY3kgRHJp dmVyIFVuaXQgVGVzdAogICoKZGlmZiAtLWdpdCBhL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3Rz L2FtZC1wc3RhdGUvTWFrZWZpbGUgYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9hbWQtcHN0 YXRlL01ha2VmaWxlCmluZGV4IDE5OTg2N2Y0NGIzMi4uNWYxOTVlZTc1NmQ2IDEwMDY0NAot LS0gYS90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9hbWQtcHN0YXRlL01ha2VmaWxlCisrKyBi L3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2FtZC1wc3RhdGUvTWFrZWZpbGUKQEAgLTQsNiAr NCwxNSBAQAogIyBObyBiaW5hcmllcywgYnV0IG1ha2Ugc3VyZSBhcmctbGVzcyAibWFrZSIg ZG9lc24ndCB0cmlnZ2VyICJydW5fdGVzdHMiCiBhbGw6CiAKLVRFU1RfUFJPR1MgOj0gYW1k LXBzdGF0ZS11dC5zaAordW5hbWVfTSA6PSAkKHNoZWxsIHVuYW1lIC1tIDI+L2Rldi9udWxs IHx8IGVjaG8gbm90KQorQVJDSCA/PSAkKHNoZWxsIGVjaG8gJCh1bmFtZV9NKSB8IHNlZCAt ZSBzL2kuODYveDg2LyAtZSBzL3g4Nl82NC94ODYvKQorCitpZmVxICh4ODYsJChBUkNIKSkK K1RFU1RfR0VOX0ZJTEVTICs9IC4uLy4uLy4uL3Bvd2VyL3g4Ni9hbWRfcHN0YXRlX3RyYWNl ci9hbWRfcHN0YXRlX3RyYWNlLnB5CitURVNUX0dFTl9GSUxFUyArPSAuLi8uLi8uLi9wb3dl ci94ODYvaW50ZWxfcHN0YXRlX3RyYWNlci9pbnRlbF9wc3RhdGVfdHJhY2VyLnB5CitlbmRp ZgorCitURVNUX1BST0dTIDo9IHJ1bi5zaAorVEVTVF9GSUxFUyA6PSBiYXNpYy5zaCB0YmVu Y2guc2ggZ2l0c291cmNlLnNoCiAKIGluY2x1ZGUgLi4vbGliLm1rCmRpZmYgLS1naXQgYS90 b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9hbWQtcHN0YXRlL2FtZC1wc3RhdGUtdXQuc2ggYi90 b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9hbWQtcHN0YXRlL2FtZC1wc3RhdGUtdXQuc2gKZGVs ZXRlZCBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IGY4ZTgyZDkxZmZjZi4uMDAwMDAwMDAwMDAw Ci0tLSBhL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2FtZC1wc3RhdGUvYW1kLXBzdGF0ZS11 dC5zaAorKysgL2Rldi9udWxsCkBAIC0xLDU2ICswLDAgQEAKLSMhL2Jpbi9zaAotIyBTUERY LUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMAotCi0jIGFtZC1wc3RhdGUtdXQgaXMgYSB0 ZXN0IG1vZHVsZSBmb3IgdGVzdGluZyB0aGUgYW1kLXBzdGF0ZSBkcml2ZXIuCi0jIEl0IGNh biBvbmx5IHJ1biBvbiB4ODYgYXJjaGl0ZWN0dXJlcyBhbmQgY3VycmVudCBjcHVmcmVxIGRy aXZlcgotIyBtdXN0IGJlIGFtZC1wc3RhdGUuCi0jICgxKSBJdCBjYW4gaGVscCBhbGwgdXNl cnMgdG8gdmVyaWZ5IHRoZWlyIHByb2Nlc3NvciBzdXBwb3J0Ci0jIChTQklPUy9GaXJtd2Fy ZSBvciBIYXJkd2FyZSkuCi0jICgyKSBLZXJuZWwgY2FuIGhhdmUgYSBiYXNpYyBmdW5jdGlv biB0ZXN0IHRvIGF2b2lkIHRoZSBrZXJuZWwKLSMgcmVncmVzc2lvbiBkdXJpbmcgdGhlIHVw ZGF0ZS4KLSMgKDMpIFdlIGNhbiBpbnRyb2R1Y2UgbW9yZSBmdW5jdGlvbmFsIG9yIHBlcmZv cm1hbmNlIHRlc3RzIHRvIGFsaWduCi0jIHRoZSByZXN1bHQgdG9nZXRoZXIsIGl0IHdpbGwg YmVuZWZpdCBwb3dlciBhbmQgcGVyZm9ybWFuY2Ugc2NhbGUgb3B0aW1pemF0aW9uLgotCi0j IEtzZWxmdGVzdCBmcmFtZXdvcmsgcmVxdWlyZW1lbnQgLSBTS0lQIGNvZGUgaXMgNC4KLWtz ZnRfc2tpcD00Ci0KLSMgYW1kLXBzdGF0ZS11dCBvbmx5IHJ1biBvbiB4ODYveDg2XzY0IEFN RCBzeXN0ZW1zLgotQVJDSD0kKHVuYW1lIC1tIDI+L2Rldi9udWxsIHwgc2VkIC1lICdzL2ku ODYveDg2LycgLWUgJ3MveDg2XzY0L3g4Ni8nKQotVkVORE9SPSQoY2F0IC9wcm9jL2NwdWlu Zm8gfCBncmVwIC1tIDEgJ3ZlbmRvcl9pZCcgfCBhd2sgJ3twcmludCAkTkZ9JykKLQotaWYg ISBlY2hvICIkQVJDSCIgfCBncmVwIC1xIHg4NjsgdGhlbgotCWVjaG8gIiQwICMgU2tpcHBl ZDogVGVzdCBjYW4gb25seSBydW4gb24geDg2IGFyY2hpdGVjdHVyZXMuIgotCWV4aXQgJGtz ZnRfc2tpcAotZmkKLQotaWYgISBlY2hvICIkVkVORE9SIiB8IGdyZXAgLWlxIGFtZDsgdGhl bgotCWVjaG8gIiQwICMgU2tpcHBlZDogVGVzdCBjYW4gb25seSBydW4gb24gQU1EIENQVS4i Ci0JZWNobyAiJDAgIyBDdXJyZW50IGNwdSB2ZW5kb3IgaXMgJFZFTkRPUi4iCi0JZXhpdCAk a3NmdF9za2lwCi1maQotCi1zY2FsaW5nX2RyaXZlcj0kKGNhdCAvc3lzL2RldmljZXMvc3lz dGVtL2NwdS9jcHVmcmVxL3BvbGljeTAvc2NhbGluZ19kcml2ZXIpCi1pZiBbICIkc2NhbGlu Z19kcml2ZXIiICE9ICJhbWQtcHN0YXRlIiBdOyB0aGVuCi0JZWNobyAiJDAgIyBTa2lwcGVk OiBUZXN0IGNhbiBvbmx5IHJ1biBvbiBhbWQtcHN0YXRlIGRyaXZlci4iCi0JZWNobyAiJDAg IyBQbGVhc2Ugc2V0IFg4Nl9BTURfUFNUQVRFIGVuYWJsZWQuIgotCWVjaG8gIiQwICMgQ3Vy cmVudCBjcHVmcmVxIHNjYWxpbmcgZHJ2aWVyIGlzICRzY2FsaW5nX2RyaXZlci4iCi0JZXhp dCAka3NmdF9za2lwCi1maQotCi1tc2c9IlNraXAgYWxsIHRlc3RzOiIKLWlmIFsgISAtdyAv ZGV2IF07IHRoZW4KLSAgICBlY2hvICRtc2cgcGxlYXNlIHJ1biB0aGlzIGFzIHJvb3QgPiYy Ci0gICAgZXhpdCAka3NmdF9za2lwCi1maQotCi1pZiAhIC9zYmluL21vZHByb2JlIC1xIC1u IGFtZC1wc3RhdGUtdXQ7IHRoZW4KLQllY2hvICJhbWQtcHN0YXRlLXV0OiBtb2R1bGUgYW1k LXBzdGF0ZS11dCBpcyBub3QgZm91bmQgW1NLSVBdIgotCWV4aXQgJGtzZnRfc2tpcAotZmkK LWlmIC9zYmluL21vZHByb2JlIC1xIGFtZC1wc3RhdGUtdXQ7IHRoZW4KLQkvc2Jpbi9tb2Rw cm9iZSAtcSAtciBhbWQtcHN0YXRlLXV0Ci0JZWNobyAiYW1kLXBzdGF0ZS11dDogb2siCi1l bHNlCi0JZWNobyAiYW1kLXBzdGF0ZS11dDogW0ZBSUxdIgotCWV4aXQgMQotZmkKZGlmZiAt LWdpdCBhL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2FtZC1wc3RhdGUvYmFzaWMuc2ggYi90 b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9hbWQtcHN0YXRlL2Jhc2ljLnNoCm5ldyBmaWxlIG1v ZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAwMDAwMC4uZTRjNDMxOTNlNGEzCi0tLSAvZGV2L251 bGwKKysrIGIvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYW1kLXBzdGF0ZS9iYXNpYy5zaApA QCAtMCwwICsxLDM4IEBACisjIS9iaW4vc2gKKyMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6 IEdQTC0yLjAKKworIyBhbWQtcHN0YXRlLXV0IGlzIGEgdGVzdCBtb2R1bGUgZm9yIHRlc3Rp bmcgdGhlIGFtZC1wc3RhdGUgZHJpdmVyLgorIyBJdCBjYW4gb25seSBydW4gb24geDg2IGFy Y2hpdGVjdHVyZXMgYW5kIGN1cnJlbnQgY3B1ZnJlcSBkcml2ZXIKKyMgbXVzdCBiZSBhbWQt cHN0YXRlLgorIyAoMSkgSXQgY2FuIGhlbHAgYWxsIHVzZXJzIHRvIHZlcmlmeSB0aGVpciBw cm9jZXNzb3Igc3VwcG9ydAorIyAoU0JJT1MvRmlybXdhcmUgb3IgSGFyZHdhcmUpLgorIyAo MikgS2VybmVsIGNhbiBoYXZlIGEgYmFzaWMgZnVuY3Rpb24gdGVzdCB0byBhdm9pZCB0aGUg a2VybmVsCisjIHJlZ3Jlc3Npb24gZHVyaW5nIHRoZSB1cGRhdGUuCisjICgzKSBXZSBjYW4g aW50cm9kdWNlIG1vcmUgZnVuY3Rpb25hbCBvciBwZXJmb3JtYW5jZSB0ZXN0cyB0byBhbGln bgorIyB0aGUgcmVzdWx0IHRvZ2V0aGVyLCBpdCB3aWxsIGJlbmVmaXQgcG93ZXIgYW5kIHBl cmZvcm1hbmNlIHNjYWxlIG9wdGltaXphdGlvbi4KKworIyBwcm90ZWN0IGFnYWluc3QgbXVs dGlwbGUgaW5jbHVzaW9uCitpZiBbICRGSUxFX0JBU0lDIF07IHRoZW4KKwlyZXR1cm4gMAor ZWxzZQorCUZJTEVfQkFTSUM9RE9ORQorZmkKKworYW1kX3BzdGF0ZV9iYXNpYygpCit7CisJ cHJpbnRmICJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LVxuIgorCXByaW50ZiAiKioqIFJ1bm5pbmcgQU1EIFAtc3RhdGUgdXQgICAgICAgICAgICAg ICAgKioqIgorCXByaW50ZiAiXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS1cbiIKKworCWlmICEgL3NiaW4vbW9kcHJvYmUgLXEgLW4gYW1kLXBzdGF0 ZS11dDsgdGhlbgorCQllY2hvICJhbWQtcHN0YXRlLXV0OiBtb2R1bGUgYW1kLXBzdGF0ZS11 dCBpcyBub3QgZm91bmQgW1NLSVBdIgorCQlleGl0ICRrc2Z0X3NraXAKKwlmaQorCWlmIC9z YmluL21vZHByb2JlIC1xIGFtZC1wc3RhdGUtdXQ7IHRoZW4KKwkJL3NiaW4vbW9kcHJvYmUg LXEgLXIgYW1kLXBzdGF0ZS11dAorCQllY2hvICJhbWQtcHN0YXRlLWJhc2ljOiBvayIKKwll bHNlCisJCWVjaG8gImFtZC1wc3RhdGUtYmFzaWM6IFtGQUlMXSIKKwkJZXhpdCAxCisJZmkK K30KZGlmZiAtLWdpdCBhL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2FtZC1wc3RhdGUvZ2l0 c291cmNlLnNoIGIvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYW1kLXBzdGF0ZS9naXRzb3Vy Y2Uuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMDAwMDAwLi5kYmMxZmU0 NTU5OWQKLS0tIC9kZXYvbnVsbAorKysgYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9hbWQt cHN0YXRlL2dpdHNvdXJjZS5zaApAQCAtMCwwICsxLDM1NCBAQAorIyEvYmluL3NoCisjIFNQ RFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wCisKKyMgVGVzdGluZyBhbmQgbW9uaXRv ciB0aGUgY3B1IGRlc2lyZSBwZXJmb3JtYW5jZSwgZnJlcXVlbmN5LCBsb2FkLAorIyBwb3dl ciBjb25zdW1wdGlvbiBhbmQgdGhyb3VnaHB1dCBldGMuIHdoZW4gdGhpcyBzY3JpcHQgdHJp Z2dlcgorIyBnaXRzb3VyY2UgdGVzdC4KKyMgMSkgRG93bmxvYWQgYW5kIHRhciBnaXRzb3Vy Y2UgY29kZXMuCisjIDIpIFJ1biBnaXRzb3VyY2UgYmVuY2htYXJrIG9uIHNwZWNpZmljIGdv dmVybm9ycywgb25kZW1hbmQgb3Igc2NoZWR1dGlsLgorIyAzKSBSdW4gdGJlbmNoIGJlbmNo bWFyayBjb21wYXJhdGl2ZSB0ZXN0IG9uIGFjcGktY3B1ZnJlcSBrZXJuZWwgZHJpdmVyLgor IyA0KSBHZXQgZGVzaXJlIHBlcmZvcm1hbmNlLCBmcmVxdWVuY3ksIGxvYWQgYnkgcGVyZi4K KyMgNSkgR2V0IHBvd2VyIGNvbnN1bXB0aW9uIGFuZCB0aHJvdWdocHV0IGJ5IGFtZF9wc3Rh dGVfdHJhY2UucHkuCisjIDYpIEdldCBydW4gdGltZSBieSAvdXNyL2Jpbi90aW1lLgorIyA3 KSBBbmFseXNlIHRlc3QgcmVzdWx0cyBhbmQgc2F2ZSBpdCBpbiBmaWxlIHNlbGZ0ZXN0Lmdp dHNvdXJjZS5jc3YuCisjOCkgUGxvdCBwbmcgaW1hZ2VzIGFib3V0IHRpbWUsIGVuZXJneSBh bmQgcGVyZm9ybWFuY2UgcGVyIHdhdHQgZm9yIGVhY2ggdGVzdC4KKworIyBwcm90ZWN0IGFn YWluc3QgbXVsdGlwbGUgaW5jbHVzaW9uCitpZiBbICRGSUxFX0dJVFNPVVJDRSBdOyB0aGVu CisJcmV0dXJuIDAKK2Vsc2UKKwlGSUxFX0dJVFNPVVJDRT1ET05FCitmaQorCitnaXRfbmFt ZT0iZ2l0LTIuMTUuMSIKK2dpdF90YXI9IiRnaXRfbmFtZS50YXIuZ3oiCitnaXRzb3VyY2Vf dXJsPSJodHRwczovL2dpdGh1Yi5jb20vZ2l0L2dpdC9hcmNoaXZlL3JlZnMvdGFncy92Mi4x NS4xLnRhci5neiIKK2dpdHNvdXJjZV9nb3Zlcm5vcnM9KCJvbmRlbWFuZCIgInNjaGVkdXRp bCIpCisKKyMgJDE6IGdvdmVybm9yLCAkMjogcm91bmQsICQzOiBkZXMtcGVyZiwgJDQ6IGZy ZXEsICQ1OiBsb2FkLCAkNjogdGltZSAkNzogZW5lcmd5LCAkODogUFBXCitzdG9yZV9jc3Zf Z2l0c291cmNlKCkKK3sKKwllY2hvICIkMSwgJDIsICQzLCAkNCwgJDUsICQ2LCAkNywgJDgi IHwgdGVlIC1hICRPVVRGSUxFX0dJVC5jc3YgPiAvZGV2L251bGwgMj4mMQorfQorCisjIGNs ZWFyIHNvbWUgc3BlY2lhbCBsaW5lcworY2xlYXJfY3N2X2dpdHNvdXJjZSgpCit7CisJaWYg WyAtZiAkT1VURklMRV9HSVQuY3N2IF07IHRoZW4KKwkJc2VkIC1pICcvQ29tcHJpc29uKCUp L2QnICRPVVRGSUxFX0dJVC5jc3YKKwkJc2VkIC1pICIvJChzY2FsaW5nX25hbWUpL2QiICRP VVRGSUxFX0dJVC5jc3YKKwlmaQorfQorCisjIGZpbmQgc3RyaW5nICQxIGluIGZpbGUgY3N2 IGFuZCBnZXQgdGhlIG51bWJlciBvZiBsaW5lcworZ2V0X2xpbmVzX2Nzdl9naXRzb3VyY2Uo KQoreworCWlmIFsgLWYgJE9VVEZJTEVfR0lULmNzdiBdOyB0aGVuCisJCXJldHVybiBgZ3Jl cCAtYyAiJDEiICRPVVRGSUxFX0dJVC5jc3ZgCisJZWxzZQorCQlyZXR1cm4gMAorCWZpCit9 CisKK3ByZV9jbGVhcl9naXRzb3VyY2UoKQoreworCXBvc3RfY2xlYXJfZ2l0c291cmNlCisJ cm0gLXJmIGdpdHNvdXJjZV8qLnBuZworCWNsZWFyX2Nzdl9naXRzb3VyY2UKK30KKworcG9z dF9jbGVhcl9naXRzb3VyY2UoKQoreworCXJtIC1yZiByZXN1bHRzL3RyYWNlci1naXRzb3Vy Y2UqCisJcm0gLXJmICRPVVRGSUxFX0dJVCoubG9nCisJcm0gLXJmICRPVVRGSUxFX0dJVCou cmVzdWx0Cit9CisKK2luc3RhbGxfZ2l0c291cmNlKCkKK3sKKwlpZiBbICEgLWQgJGdpdF9u YW1lIF07IHRoZW4KKwkJcHJpbnRmICJEb3dubG9hZCBnaXRzb3VyY2UsIHBsZWFzZSB3YWl0 IGEgbW9tZW50IC4uLlxuXG4iCisJCXdnZXQgLU8gJGdpdF90YXIgJGdpdHNvdXJjZV91cmwg PiAvZGV2L251bGwgMj4mMQorCisJCXByaW50ZiAiVGFyIGdpdHNvdXJjZSAuLi5cblxuIgor CQl0YXIgLXh6ZiAkZ2l0X3RhcgorCWZpCit9CisKKyMgJDE6IGdvdmVybm9yLCAkMjogbG9v cAorcnVuX2dpdHNvdXJjZSgpCit7CisJZWNobyAiTGF1bmNoaW5nIGFtZCBwc3RhdGUgdHJh Y2VyIGZvciAkMSAjJDIgdHJhY2VyX2ludGVydmFsOiAkVFJBQ0VSX0lOVEVSVkFMIgorCS4v YW1kX3BzdGF0ZV90cmFjZS5weSAtbiB0cmFjZXItZ2l0c291cmNlLSQxLSQyIC1pICRUUkFD RVJfSU5URVJWQUwgPiAvZGV2L251bGwgMj4mMSAmCisKKwlwcmludGYgIk1ha2UgYW5kIHRl c3QgZ2l0c291cmNlIGZvciAkMSAjJDIgbWFrZV9jcHVzOiAkTUFLRV9DUFVTXG4iCisJY2Qg JGdpdF9uYW1lCisJcGVyZiBzdGF0IC1hIC0tcGVyLXNvY2tldCAtSSAxMDAwIC1lIHBvd2Vy L2VuZXJneS1wa2cvIC91c3IvYmluL3RpbWUgLW8gLi4vJE9VVEZJTEVfR0lULnRpbWUtZ2l0 c291cmNlLSQxLSQyLmxvZyBtYWtlIHRlc3QgLWokTUFLRV9DUFVTID4gLi4vJE9VVEZJTEVf R0lULXBlcmYtJDEtJDIubG9nIDI+JjEKKwljZCAuLgorCisJZm9yIGpvYiBpbiBgam9icyAt cGAKKwlkbworCQllY2hvICJXYWl0aW5nIGZvciBqb2IgaWQgJGpvYiIKKwkJd2FpdCAkam9i CisJZG9uZQorfQorCisjICQxOiBnb3Zlcm5vciwgJDI6IGxvb3AKK3BhcnNlX2dpdHNvdXJj ZSgpCit7CisJYXdrICd7cHJpbnQgJDV9JyByZXN1bHRzL3RyYWNlci1naXRzb3VyY2UtJDEt JDIvY3B1LmNzdiB8IHNlZCAtZSAnMWQnIHwgc2VkIHMvLC8vID4gJE9VVEZJTEVfR0lULWRl cy1wZXJmLSQxLSQyLmxvZworCWF2Z19kZXNfcGVyZj0kKGF3ayAnQkVHSU4ge2k9MDsgc3Vt PTB9O3tpKys7IHN1bSArPSAkMX07RU5EIHtwcmludCBzdW0vaX0nICRPVVRGSUxFX0dJVC1k ZXMtcGVyZi0kMS0kMi5sb2cpCisJcHJpbnRmICJHaXRzb3VyY2UtJDEtIyQyIGF2ZyBkZXMg cGVyZjogJGF2Z19kZXNfcGVyZlxuIiB8IHRlZSAtYSAkT1VURklMRV9HSVQucmVzdWx0CisK Kwlhd2sgJ3twcmludCAkN30nIHJlc3VsdHMvdHJhY2VyLWdpdHNvdXJjZS0kMS0kMi9jcHUu Y3N2IHwgc2VkIC1lICcxZCcgfCBzZWQgcy8sLy8gPiAkT1VURklMRV9HSVQtZnJlcS0kMS0k Mi5sb2cKKwlhdmdfZnJlcT0kKGF3ayAnQkVHSU4ge2k9MDsgc3VtPTB9O3tpKys7IHN1bSAr PSAkMX07RU5EIHtwcmludCBzdW0vaX0nICRPVVRGSUxFX0dJVC1mcmVxLSQxLSQyLmxvZykK KwlwcmludGYgIkdpdHNvdXJjZS0kMS0jJDIgYXZnIGZyZXE6ICRhdmdfZnJlcVxuIiB8IHRl ZSAtYSAkT1VURklMRV9HSVQucmVzdWx0CisKKwlhd2sgJ3twcmludCAkMTF9JyByZXN1bHRz L3RyYWNlci1naXRzb3VyY2UtJDEtJDIvY3B1LmNzdiB8IHNlZCAtZSAnMWQnIHwgc2VkIHMv LC8vID4gJE9VVEZJTEVfR0lULWxvYWQtJDEtJDIubG9nCisJYXZnX2xvYWQ9JChhd2sgJ0JF R0lOIHtpPTA7IHN1bT0wfTt7aSsrOyBzdW0gKz0gJDF9O0VORCB7cHJpbnQgc3VtL2l9JyAk T1VURklMRV9HSVQtbG9hZC0kMS0kMi5sb2cpCisJcHJpbnRmICJHaXRzb3VyY2UtJDEtIyQy IGF2ZyBsb2FkOiAkYXZnX2xvYWRcbiIgfCB0ZWUgLWEgJE9VVEZJTEVfR0lULnJlc3VsdAor CisJZ3JlcCB1c2VyICRPVVRGSUxFX0dJVC50aW1lLWdpdHNvdXJjZS0kMS0kMi5sb2cgfCBh d2sgJ3twcmludCAkMX0nIHwgc2VkIC1lICdzL3VzZXIvLycgPiAkT1VURklMRV9HSVQtdGlt ZS0kMS0kMi5sb2cKKwl0aW1lX3N1bT0kKGF3ayAnQkVHSU4ge3N1bT0wfTt7c3VtICs9ICQx fTtFTkQge3ByaW50IHN1bX0nICRPVVRGSUxFX0dJVC10aW1lLSQxLSQyLmxvZykKKwlwcmlu dGYgIkdpdHNvdXJjZS0kMS0jJDIgdXNlciB0aW1lKHMpOiAkdGltZV9zdW1cbiIgfCB0ZWUg LWEgJE9VVEZJTEVfR0lULnJlc3VsdAorCisJZ3JlcCBKb3VsZXMgJE9VVEZJTEVfR0lULXBl cmYtJDEtJDIubG9nIHwgYXdrICd7cHJpbnQgJDR9JyA+ICRPVVRGSUxFX0dJVC1lbmVyZ3kt JDEtJDIubG9nCisJZW5fc3VtPSQoYXdrICdCRUdJTiB7c3VtPTB9O3tzdW0gKz0gJDF9O0VO RCB7cHJpbnQgc3VtfScgJE9VVEZJTEVfR0lULWVuZXJneS0kMS0kMi5sb2cpCisJcHJpbnRm ICJHaXRzb3VyY2UtJDEtIyQyIHBvd2VyIGNvbnN1bXB0aW9uKEopOiAkZW5fc3VtXG4iIHwg dGVlIC1hICRPVVRGSUxFX0dJVC5yZXN1bHQKKworCSMgUGVybWFuY2UgaXMgdGhlIG51bWJl ciBvZiBydW4gZ2l0c291cmNlIHBlciBzZWNvbmQsIGRlbm90ZWQgMS90LCB3aGVyZSAxIGlz IHRoZSBudW1iZXIgb2YgcnVuIGdpdHNvdXJjZSBpbiB0CisJIyBzZW5jb25kcy4gSXQgaXMg d2VsbCBrbm93biB0aGF0IFA9RS90LCB3aGVyZSBQIGlzIHBvd2VyIG1lYXN1cmVkIGluIHdh dHRzKFcpLCBFIGlzIGVuZXJneSBtZWFzdXJlZCBpbiBqb3VsZXMoSiksCisJIyBhbmQgdCBp cyB0aW1lIG1lYXN1cmVkIGluIHNlY29uZHMocykuIFRoaXMgbWVhbnMgdGhhdCBwZXJmb3Jt YW5jZSBwZXIgd2F0dCBiZWNvbWVzCisJIyAgICAgICAgMS90ICAgICAxL3QgICAgIDEKKwkj ICAgICAgIC0tLS0tID0gLS0tLS0gPSAtLS0KKwkjICAgICAgICAgUCAgICAgIEUvdCAgICAg RQorCSMgd2l0aCB1bml0IGdpdmVuIGJ5IDEgcGVyIGpvdWxlLgorCXBwdz1gZWNobyAic2Nh bGU9OTsxLyRlbl9zdW0iIHwgYmMgfCBhd2sgJ3twcmludGYgIiUuOWYiLCAkMH0nYAorCXBy aW50ZiAiR2l0c291cmNlLSQxLSMkMiBwZXJmb3JtYW5jZSBwZXIgd2F0dCgxL0opOiAkcHB3 XG4iIHwgdGVlIC1hICRPVVRGSUxFX0dJVC5yZXN1bHQKKwlwcmludGYgIlxuIiB8IHRlZSAt YSAkT1VURklMRV9HSVQucmVzdWx0CisKKwlkcml2ZXJfbmFtZT1gZWNobyAkKHNjYWxpbmdf bmFtZSlgCisJc3RvcmVfY3N2X2dpdHNvdXJjZSAiJGRyaXZlcl9uYW1lLSQxIiAkMiAkYXZn X2Rlc19wZXJmICRhdmdfZnJlcSAkYXZnX2xvYWQgJHRpbWVfc3VtICRlbl9zdW0gJHBwdwor fQorCisjICQxOiBnb3Zlcm5vcgorbG9vcF9naXRzb3VyY2UoKQoreworCXByaW50ZiAiXG5H aXRzb3VyY2UgdG90YWwgdGVzdCB0aW1lcyBpcyAkTE9PUF9USU1FUyBmb3IgJDFcblxuIgor CWZvciBpIGluIGBzZXEgMSAkTE9PUF9USU1FU2AKKwlkbworCQlydW5fZ2l0c291cmNlICQx ICRpCisJCXBhcnNlX2dpdHNvdXJjZSAkMSAkaQorCWRvbmUKK30KKworIyAkMTogZ292ZXJu b3IKK2dhdGhlcl9naXRzb3VyY2UoKQoreworCXByaW50ZiAiR2l0c291cmNlIHRlc3QgcmVz dWx0IGZvciAkMSAobG9vcHM6JExPT1BfVElNRVMpIiB8IHRlZSAtYSAkT1VURklMRV9HSVQu cmVzdWx0CisJcHJpbnRmICJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tXG4iIHwgdGVlIC1hICRPVVRGSUxFX0dJVC5yZXN1bHQKKworCWdy ZXAgIkdpdHNvdXJjZS0kMS0jIiAkT1VURklMRV9HSVQucmVzdWx0IHwgZ3JlcCAiYXZnIGRl cyBwZXJmOiIgfCBhd2sgJ3twcmludCAkTkZ9JyA+ICRPVVRGSUxFX0dJVC1kZXMtcGVyZi0k MS5sb2cKKwlhdmdfZGVzX3BlcmY9JChhd2sgJ0JFR0lOIHtzdW09MH07e3N1bSArPSAkMX07 RU5EIHtwcmludCBzdW0vJyRMT09QX1RJTUVTJ30nICRPVVRGSUxFX0dJVC1kZXMtcGVyZi0k MS5sb2cpCisJcHJpbnRmICJHaXRzb3VyY2UtJDEgYXZnIGRlcyBwZXJmOiAkYXZnX2Rlc19w ZXJmXG4iIHwgdGVlIC1hICRPVVRGSUxFX0dJVC5yZXN1bHQKKworCWdyZXAgIkdpdHNvdXJj ZS0kMS0jIiAkT1VURklMRV9HSVQucmVzdWx0IHwgZ3JlcCAiYXZnIGZyZXE6IiB8IGF3ayAn e3ByaW50ICRORn0nID4gJE9VVEZJTEVfR0lULWZyZXEtJDEubG9nCisJYXZnX2ZyZXE9JChh d2sgJ0JFR0lOIHtzdW09MH07e3N1bSArPSAkMX07RU5EIHtwcmludCBzdW0vJyRMT09QX1RJ TUVTJ30nICRPVVRGSUxFX0dJVC1mcmVxLSQxLmxvZykKKwlwcmludGYgIkdpdHNvdXJjZS0k MSBhdmcgZnJlcTogJGF2Z19mcmVxXG4iIHwgdGVlIC1hICRPVVRGSUxFX0dJVC5yZXN1bHQK KworCWdyZXAgIkdpdHNvdXJjZS0kMS0jIiAkT1VURklMRV9HSVQucmVzdWx0IHwgZ3JlcCAi YXZnIGxvYWQ6IiB8IGF3ayAne3ByaW50ICRORn0nID4gJE9VVEZJTEVfR0lULWxvYWQtJDEu bG9nCisJYXZnX2xvYWQ9JChhd2sgJ0JFR0lOIHtzdW09MH07e3N1bSArPSAkMX07RU5EIHtw cmludCBzdW0vJyRMT09QX1RJTUVTJ30nICRPVVRGSUxFX0dJVC1sb2FkLSQxLmxvZykKKwlw cmludGYgIkdpdHNvdXJjZS0kMSBhdmcgbG9hZDogJGF2Z19sb2FkXG4iIHwgdGVlIC1hICRP VVRGSUxFX0dJVC5yZXN1bHQKKworCWdyZXAgIkdpdHNvdXJjZS0kMS0jIiAkT1VURklMRV9H SVQucmVzdWx0IHwgZ3JlcCAidXNlciB0aW1lKHMpOiIgfCBhd2sgJ3twcmludCAkTkZ9JyA+ ICRPVVRGSUxFX0dJVC10aW1lLSQxLmxvZworCXRpbWVfc3VtPSQoYXdrICdCRUdJTiB7c3Vt PTB9O3tzdW0gKz0gJDF9O0VORCB7cHJpbnQgc3VtfScgJE9VVEZJTEVfR0lULXRpbWUtJDEu bG9nKQorCXByaW50ZiAiR2l0c291cmNlLSQxIHRvdGFsIHVzZXIgdGltZShzKTogJHRpbWVf c3VtXG4iIHwgdGVlIC1hICRPVVRGSUxFX0dJVC5yZXN1bHQKKworCWF2Z190aW1lPSQoYXdr ICdCRUdJTiB7c3VtPTB9O3tzdW0gKz0gJDF9O0VORCB7cHJpbnQgc3VtLyckTE9PUF9USU1F Uyd9JyAkT1VURklMRV9HSVQtdGltZS0kMS5sb2cpCisJcHJpbnRmICJHaXRzb3VyY2UtJDEg YXZnIHVzZXIgdGltZXMocyk6ICRhdmdfdGltZVxuIiB8IHRlZSAtYSAkT1VURklMRV9HSVQu cmVzdWx0CisKKwlncmVwICJHaXRzb3VyY2UtJDEtIyIgJE9VVEZJTEVfR0lULnJlc3VsdCB8 IGdyZXAgInBvd2VyIGNvbnN1bXB0aW9uKEopOiIgfCBhd2sgJ3twcmludCAkTkZ9JyA+ICRP VVRGSUxFX0dJVC1lbmVyZ3ktJDEubG9nCisJZW5fc3VtPSQoYXdrICdCRUdJTiB7c3VtPTB9 O3tzdW0gKz0gJDF9O0VORCB7cHJpbnQgc3VtfScgJE9VVEZJTEVfR0lULWVuZXJneS0kMS5s b2cpCisJcHJpbnRmICJHaXRzb3VyY2UtJDEgdG90YWwgcG93ZXIgY29uc3VtcHRpb24oSik6 ICRlbl9zdW1cbiIgfCB0ZWUgLWEgJE9VVEZJTEVfR0lULnJlc3VsdAorCisJYXZnX2VuPSQo YXdrICdCRUdJTiB7c3VtPTB9O3tzdW0gKz0gJDF9O0VORCB7cHJpbnQgc3VtLyckTE9PUF9U SU1FUyd9JyAkT1VURklMRV9HSVQtZW5lcmd5LSQxLmxvZykKKwlwcmludGYgIkdpdHNvdXJj ZS0kMSBhdmcgcG93ZXIgY29uc3VtcHRpb24oSik6ICRhdmdfZW5cbiIgfCB0ZWUgLWEgJE9V VEZJTEVfR0lULnJlc3VsdAorCisJIyBQZXJtYW5jZSBpcyB0aGUgbnVtYmVyIG9mIHJ1biBn aXRzb3VyY2UgcGVyIHNlY29uZCwgZGVub3RlZCAxL3QsIHdoZXJlIDEgaXMgdGhlIG51bWJl ciBvZiBydW4gZ2l0c291cmNlIGluIHQKKwkjIHNlbmNvbmRzLiBJdCBpcyB3ZWxsIGtub3du IHRoYXQgUD1FL3QsIHdoZXJlIFAgaXMgcG93ZXIgbWVhc3VyZWQgaW4gd2F0dHMoVyksIEUg aXMgZW5lcmd5IG1lYXN1cmVkIGluIGpvdWxlcyhKKSwKKwkjIGFuZCB0IGlzIHRpbWUgbWVh c3VyZWQgaW4gc2Vjb25kcyhzKS4gVGhpcyBtZWFucyB0aGF0IHBlcmZvcm1hbmNlIHBlciB3 YXR0IGJlY29tZXMKKwkjICAgICAgICAxL3QgICAgIDEvdCAgICAgMQorCSMgICAgICAgLS0t LS0gPSAtLS0tLSA9IC0tLQorCSMgICAgICAgICBQICAgICAgRS90ICAgICBFCisJIyB3aXRo IHVuaXQgZ2l2ZW4gYnkgMSBwZXIgam91bGUuCisJcHB3PWBlY2hvICJzY2FsZT05OzEvJGF2 Z19lbiIgfCBiYyB8IGF3ayAne3ByaW50ZiAiJS45ZiIsICQwfSdgCisJcHJpbnRmICJHaXRz b3VyY2UtJDEgcGVyZm9ybWFuY2UgcGVyIHdhdHQoMS9KKTogJHBwd1xuIiB8IHRlZSAtYSAk T1VURklMRV9HSVQucmVzdWx0CisJcHJpbnRmICJcbiIgfCB0ZWUgLWEgJE9VVEZJTEVfR0lU LnJlc3VsdAorCisJZHJpdmVyX25hbWU9YGVjaG8gJChzY2FsaW5nX25hbWUpYAorCXN0b3Jl X2Nzdl9naXRzb3VyY2UgIiRkcml2ZXJfbmFtZS0kMSIgIkF2ZXJhZ2UiICRhdmdfZGVzX3Bl cmYgJGF2Z19mcmVxICRhdmdfbG9hZCAkYXZnX3RpbWUgJGF2Z19lbiAkcHB3Cit9CisKKyMg JDE6IGJhc2Ugc2NhbGluZ19kcml2ZXIgJDI6IGJhc2UgZ292ZXJub3IgJDM6IGNvbXBhcmlz b24gc2NhbGluZ19kcml2ZXIgJDQ6IGNvbXBhcmlzb24gZ292ZXJub3IKK19fY2FsY19jb21w X2dpdHNvdXJjZSgpCit7CisJYmFzZT1gZ3JlcCAiJDEtJDIiICRPVVRGSUxFX0dJVC5jc3Yg fCBncmVwICJBdmVyYWdlImAKKwljb21wPWBncmVwICIkMy0kNCIgJE9VVEZJTEVfR0lULmNz diB8IGdyZXAgIkF2ZXJhZ2UiYAorCisJaWYgWyAtbiAiJGJhc2UiIC1hIC1uICIkY29tcCIg XTsgdGhlbgorCQlwcmludGYgIlxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT1cbiIgfCB0ZWUgLWEgJE9VVEZJTEVfR0lULnJlc3VsdAorCQlw cmludGYgIkdpdHNvdXJjZSBjb21wYXJpc29uICQxLSQyIFZTICQzLSQ0IiB8IHRlZSAtYSAk T1VURklMRV9HSVQucmVzdWx0CisJCXByaW50ZiAiXG49PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuIiB8IHRlZSAtYSAkT1VURklMRV9HSVQu cmVzdWx0CisKKwkJIyBnZXQgdGhlIGJhc2UgdmFsdWVzCisJCWRlc19wZXJmX2Jhc2U9YGVj aG8gIiRiYXNlIiB8IGF3ayAne3ByaW50ICQzfScgfCBzZWQgcy8sLy9gCisJCWZyZXFfYmFz ZT1gZWNobyAiJGJhc2UiIHwgYXdrICd7cHJpbnQgJDR9JyB8IHNlZCBzLywvL2AKKwkJbG9h ZF9iYXNlPWBlY2hvICIkYmFzZSIgfCBhd2sgJ3twcmludCAkNX0nIHwgc2VkIHMvLC8vYAor CQl0aW1lX2Jhc2U9YGVjaG8gIiRiYXNlIiB8IGF3ayAne3ByaW50ICQ2fScgfCBzZWQgcy8s Ly9gCisJCWVuZXJneV9iYXNlPWBlY2hvICIkYmFzZSIgfCBhd2sgJ3twcmludCAkN30nIHwg c2VkIHMvLC8vYAorCQlwcHdfYmFzZT1gZWNobyAiJGJhc2UiIHwgYXdrICd7cHJpbnQgJDh9 JyB8IHNlZCBzLywvL2AKKworCQkjIGdldCB0aGUgY29tcGFyaXNvbiB2YWx1ZXMKKwkJZGVz X3BlcmZfY29tcD1gZWNobyAiJGNvbXAiIHwgYXdrICd7cHJpbnQgJDN9JyB8IHNlZCBzLywv L2AKKwkJZnJlcV9jb21wPWBlY2hvICIkY29tcCIgfCBhd2sgJ3twcmludCAkNH0nIHwgc2Vk IHMvLC8vYAorCQlsb2FkX2NvbXA9YGVjaG8gIiRjb21wIiB8IGF3ayAne3ByaW50ICQ1fScg fCBzZWQgcy8sLy9gCisJCXRpbWVfY29tcD1gZWNobyAiJGNvbXAiIHwgYXdrICd7cHJpbnQg JDZ9JyB8IHNlZCBzLywvL2AKKwkJZW5lcmd5X2NvbXA9YGVjaG8gIiRjb21wIiB8IGF3ayAn e3ByaW50ICQ3fScgfCBzZWQgcy8sLy9gCisJCXBwd19jb21wPWBlY2hvICIkY29tcCIgfCBh d2sgJ3twcmludCAkOH0nIHwgc2VkIHMvLC8vYAorCisJCSMgY29tcGFyZSB0aGUgYmFzZSBh bmQgY29tcCB2YWx1ZXMKKwkJZGVzX3BlcmZfZHJvcD1gZWNobyAic2NhbGU9NDsoJGRlc19w ZXJmX2NvbXAtJGRlc19wZXJmX2Jhc2UpKjEwMC8kZGVzX3BlcmZfYmFzZSIgfCBiYyB8IGF3 ayAne3ByaW50ZiAiJS40ZiIsICQwfSdgCisJCXByaW50ZiAiR2l0c291cmNlLSQxIGRlcyBw ZXJmIGJhc2U6ICRkZXNfcGVyZl9iYXNlIGNvbXByaXNvbjogJGRlc19wZXJmX2NvbXAgcGVy Y2VudDogJGRlc19wZXJmX2Ryb3BcbiIgfCB0ZWUgLWEgJE9VVEZJTEVfR0lULnJlc3VsdAor CisJCWZyZXFfZHJvcD1gZWNobyAic2NhbGU9NDsoJGZyZXFfY29tcC0kZnJlcV9iYXNlKSox MDAvJGZyZXFfYmFzZSIgfCBiYyB8IGF3ayAne3ByaW50ZiAiJS40ZiIsICQwfSdgCisJCXBy aW50ZiAiR2l0c291cmNlLSQxIGZyZXEgYmFzZTogJGZyZXFfYmFzZSBjb21wcmlzb246ICRm cmVxX2NvbXAgcGVyY2VudDogJGZyZXFfZHJvcFxuIiB8IHRlZSAtYSAkT1VURklMRV9HSVQu cmVzdWx0CisKKwkJbG9hZF9kcm9wPWBlY2hvICJzY2FsZT00OygkbG9hZF9jb21wLSRsb2Fk X2Jhc2UpKjEwMC8kbG9hZF9iYXNlIiB8IGJjIHwgYXdrICd7cHJpbnRmICIlLjRmIiwgJDB9 J2AKKwkJcHJpbnRmICJHaXRzb3VyY2UtJDEgbG9hZCBiYXNlOiAkbG9hZF9iYXNlIGNvbXBy aXNvbjogJGxvYWRfY29tcCBwZXJjZW50OiAkbG9hZF9kcm9wXG4iIHwgdGVlIC1hICRPVVRG SUxFX0dJVC5yZXN1bHQKKworCQl0aW1lX2Ryb3A9YGVjaG8gInNjYWxlPTQ7KCR0aW1lX2Nv bXAtJHRpbWVfYmFzZSkqMTAwLyR0aW1lX2Jhc2UiIHwgYmMgfCBhd2sgJ3twcmludGYgIiUu NGYiLCAkMH0nYAorCQlwcmludGYgIkdpdHNvdXJjZS0kMSB0aW1lIGJhc2U6ICR0aW1lX2Jh c2UgY29tcHJpc29uOiAkdGltZV9jb21wIHBlcmNlbnQ6ICR0aW1lX2Ryb3BcbiIgfCB0ZWUg LWEgJE9VVEZJTEVfR0lULnJlc3VsdAorCisJCWVuZXJneV9kcm9wPWBlY2hvICJzY2FsZT00 OygkZW5lcmd5X2NvbXAtJGVuZXJneV9iYXNlKSoxMDAvJGVuZXJneV9iYXNlIiB8IGJjIHwg YXdrICd7cHJpbnRmICIlLjRmIiwgJDB9J2AKKwkJcHJpbnRmICJHaXRzb3VyY2UtJDEgZW5l cmd5IGJhc2U6ICRlbmVyZ3lfYmFzZSBjb21wcmlzb246ICRlbmVyZ3lfY29tcCBwZXJjZW50 OiAkZW5lcmd5X2Ryb3BcbiIgfCB0ZWUgLWEgJE9VVEZJTEVfR0lULnJlc3VsdAorCisJCXBw d19kcm9wPWBlY2hvICJzY2FsZT00OygkcHB3X2NvbXAtJHBwd19iYXNlKSoxMDAvJHBwd19i YXNlIiB8IGJjIHwgYXdrICd7cHJpbnRmICIlLjRmIiwgJDB9J2AKKwkJcHJpbnRmICJHaXRz b3VyY2UtJDEgcGVyZm9ybWFuY2UgcGVyIHdhdHQgYmFzZTogJHBwd19iYXNlIGNvbXByaXNv bjogJHBwd19jb21wIHBlcmNlbnQ6ICRwcHdfZHJvcFxuIiB8IHRlZSAtYSAkT1VURklMRV9H SVQucmVzdWx0CisJCXByaW50ZiAiXG4iIHwgdGVlIC1hICRPVVRGSUxFX0dJVC5yZXN1bHQK KworCQlzdG9yZV9jc3ZfZ2l0c291cmNlICIkMS0kMiBWUyAkMy0kNCIgIkNvbXByaXNvbigl KSIgIiRkZXNfcGVyZl9kcm9wIiAiJGZyZXFfZHJvcCIgIiRsb2FkX2Ryb3AiICIkdGltZV9k cm9wIiAiJGVuZXJneV9kcm9wIiAiJHBwd19kcm9wIgorCWZpCit9CisKKyMgY2FsY3VsYXRl IHRoZSBjb21wYXJpc29uKCUpCitjYWxjX2NvbXBfZ2l0c291cmNlKCkKK3sKKwkjIGFjcGkt Y3B1ZnJlcS1vbmRlbWFuZCBWUyBhY3BpLWNwdWZyZXEtc2NoZWR1dGlsCisJX19jYWxjX2Nv bXBfZ2l0c291cmNlICR7YWxsX3NjYWxpbmdfbmFtZXNbMF19ICR7Z2l0c291cmNlX2dvdmVy bm9yc1swXX0gJHthbGxfc2NhbGluZ19uYW1lc1swXX0gJHtnaXRzb3VyY2VfZ292ZXJub3Jz WzFdfQorCisJIyBhbWQtcHN0YXRlLW9uZGVtYW5kIFZTIGFtZC1wc3RhdGUtc2NoZWR1dGls CisJX19jYWxjX2NvbXBfZ2l0c291cmNlICR7YWxsX3NjYWxpbmdfbmFtZXNbMV19ICR7Z2l0 c291cmNlX2dvdmVybm9yc1swXX0gJHthbGxfc2NhbGluZ19uYW1lc1sxXX0gJHtnaXRzb3Vy Y2VfZ292ZXJub3JzWzFdfQorCisJIyBhY3BpLWNwdWZyZXEtb25kZW1hbmQgVlMgYW1kLXBz dGF0ZS1vbmRlbWFuZAorCV9fY2FsY19jb21wX2dpdHNvdXJjZSAke2FsbF9zY2FsaW5nX25h bWVzWzBdfSAke2dpdHNvdXJjZV9nb3Zlcm5vcnNbMF19ICR7YWxsX3NjYWxpbmdfbmFtZXNb MV19ICR7Z2l0c291cmNlX2dvdmVybm9yc1swXX0KKworCSMgYWNwaS1jcHVmcmVxLXNjaGVk dXRpbCBWUyBhbWQtcHN0YXRlLXNjaGVkdXRpbAorCV9fY2FsY19jb21wX2dpdHNvdXJjZSAk e2FsbF9zY2FsaW5nX25hbWVzWzBdfSAke2dpdHNvdXJjZV9nb3Zlcm5vcnNbMV19ICR7YWxs X3NjYWxpbmdfbmFtZXNbMV19ICR7Z2l0c291cmNlX2dvdmVybm9yc1sxXX0KK30KKworIyAk MTogZmlsZV9uYW1lLCAkMjogdGl0bGUsICQzOiB5bGFibGUsICQ0OiBjb2x1bW4KK3Bsb3Rf cG5nX2dpdHNvdXJjZSgpCit7CisJIyBhbGxfc2NhbGluZ19uYW1lc1sxXSBhbGxfc2NhbGlu Z19uYW1lc1swXSBmbGFnCisJIyAgICBhbWQtcHN0YXRlICAgICAgICAgICBhY3BpLWNwdWZy ZXEKKwkjICAgICAgICAgTiAgICAgICAgICAgICAgICAgICBOICAgICAgICAgICAgIDAKKwkj ICAgICAgICAgTiAgICAgICAgICAgICAgICAgICBZICAgICAgICAgICAgIDEKKwkjICAgICAg ICAgWSAgICAgICAgICAgICAgICAgICBOICAgICAgICAgICAgIDIKKwkjICAgICAgICAgWSAg ICAgICAgICAgICAgICAgICBZICAgICAgICAgICAgIDMKKwlyZXQ9YGdyZXAgLWMgIiR7YWxs X3NjYWxpbmdfbmFtZXNbMV19IiAkT1VURklMRV9HSVQuY3N2YAorCWlmIFsgJHJldCAtZXEg MCBdOyB0aGVuCisJCXJldD1gZ3JlcCAtYyAiJHthbGxfc2NhbGluZ19uYW1lc1swXX0iICRP VVRGSUxFX0dJVC5jc3ZgCisJCWlmIFsgJHJldCAtZXEgMCBdOyB0aGVuCisJCQlmbGFnPTAK KwkJZWxzZQorCQkJZmxhZz0xCisJCWZpCisJZWxzZQorCQlyZXQ9YGdyZXAgLWMgIiR7YWxs X3NjYWxpbmdfbmFtZXNbMF19IiAkT1VURklMRV9HSVQuY3N2YAorCQlpZiBbICRyZXQgLWVx IDAgXTsgdGhlbgorCQkJZmxhZz0yCisJCWVsc2UKKwkJCWZsYWc9MworCQlmaQorCWZpCisK KwlnbnVwbG90IDw8IEVPRgorCQlzZXQgdGVybSBwbmcKKwkJc2V0IG91dHB1dCAiJDEiCisK KwkJc2V0IHRpdGxlICIkMiIKKwkJc2V0IHhsYWJlbCAiVGVzdCBDeWNsZXMgKHJvdW5kKSIK KwkJc2V0IHlsYWJlbCAiJDMiCisKKwkJc2V0IGdyaWQKKwkJc2V0IHN0eWxlIGRhdGEgaGlz dG9ncmFtCisJCXNldCBzdHlsZSBmaWxsIHNvbGlkIDAuNSBib3JkZXIKKwkJc2V0IGJveHdp ZHRoIDAuOAorCisJCWlmICgkZmxhZyA9PSAxKSB7CisJCQlwbG90IFwKKwkJCSI8KHNlZCAt biAtZSAncy8sLy9nJyAtZSAnLyR7YWxsX3NjYWxpbmdfbmFtZXNbMF19LSR7Z2l0c291cmNl X2dvdmVybm9yc1swXX0vcCcgJE9VVEZJTEVfR0lULmNzdikiIHVzaW5nICQ0Onh0aWMoMikg dGl0bGUgIiR7YWxsX3NjYWxpbmdfbmFtZXNbMF19LSR7Z2l0c291cmNlX2dvdmVybm9yc1sw XX0iLCBcCisJCQkiPChzZWQgLW4gLWUgJ3MvLC8vZycgLWUgJy8ke2FsbF9zY2FsaW5nX25h bWVzWzBdfS0ke2dpdHNvdXJjZV9nb3Zlcm5vcnNbMV19L3AnICRPVVRGSUxFX0dJVC5jc3Yp IiB1c2luZyAkNDp4dGljKDIpIHRpdGxlICIke2FsbF9zY2FsaW5nX25hbWVzWzBdfS0ke2dp dHNvdXJjZV9nb3Zlcm5vcnNbMV19IgorCQl9IGVsc2UgeworCQkJaWYgKCRmbGFnID09IDIp IHsKKwkJCQlwbG90IFwKKwkJCQkiPChzZWQgLW4gLWUgJ3MvLC8vZycgLWUgJy8ke2FsbF9z Y2FsaW5nX25hbWVzWzFdfS0ke2dpdHNvdXJjZV9nb3Zlcm5vcnNbMF19L3AnICRPVVRGSUxF X0dJVC5jc3YpIiB1c2luZyAkNDp4dGljKDIpIHRpdGxlICIke2FsbF9zY2FsaW5nX25hbWVz WzFdfS0ke2dpdHNvdXJjZV9nb3Zlcm5vcnNbMF19IiwgXAorCQkJCSI8KHNlZCAtbiAtZSAn cy8sLy9nJyAtZSAnLyR7YWxsX3NjYWxpbmdfbmFtZXNbMV19LSR7Z2l0c291cmNlX2dvdmVy bm9yc1sxXX0vcCcgJE9VVEZJTEVfR0lULmNzdikiIHVzaW5nICQ0Onh0aWMoMikgdGl0bGUg IiR7YWxsX3NjYWxpbmdfbmFtZXNbMV19LSR7Z2l0c291cmNlX2dvdmVybm9yc1sxXX0iCisJ CQl9IGVsc2UgeworCQkJCWlmICgkZmxhZyA9PSAzICkgeworCQkJCQlwbG90IFwKKwkJCQkJ Ijwoc2VkIC1uIC1lICdzLywvL2cnIC1lICcvJHthbGxfc2NhbGluZ19uYW1lc1swXX0tJHtn aXRzb3VyY2VfZ292ZXJub3JzWzBdfS9wJyAkT1VURklMRV9HSVQuY3N2KSIgdXNpbmcgJDQ6 eHRpYygyKSB0aXRsZSAiJHthbGxfc2NhbGluZ19uYW1lc1swXX0tJHtnaXRzb3VyY2VfZ292 ZXJub3JzWzBdfSIsIFwKKwkJCQkJIjwoc2VkIC1uIC1lICdzLywvL2cnIC1lICcvJHthbGxf c2NhbGluZ19uYW1lc1swXX0tJHtnaXRzb3VyY2VfZ292ZXJub3JzWzFdfS9wJyAkT1VURklM RV9HSVQuY3N2KSIgdXNpbmcgJDQ6eHRpYygyKSB0aXRsZSAiJHthbGxfc2NhbGluZ19uYW1l c1swXX0tJHtnaXRzb3VyY2VfZ292ZXJub3JzWzFdfSIsIFwKKwkJCQkJIjwoc2VkIC1uIC1l ICdzLywvL2cnIC1lICcvJHthbGxfc2NhbGluZ19uYW1lc1sxXX0tJHtnaXRzb3VyY2VfZ292 ZXJub3JzWzBdfS9wJyAkT1VURklMRV9HSVQuY3N2KSIgdXNpbmcgJDQ6eHRpYygyKSB0aXRs ZSAiJHthbGxfc2NhbGluZ19uYW1lc1sxXX0tJHtnaXRzb3VyY2VfZ292ZXJub3JzWzBdfSIs IFwKKwkJCQkJIjwoc2VkIC1uIC1lICdzLywvL2cnIC1lICcvJHthbGxfc2NhbGluZ19uYW1l c1sxXX0tJHtnaXRzb3VyY2VfZ292ZXJub3JzWzFdfS9wJyAkT1VURklMRV9HSVQuY3N2KSIg dXNpbmcgJDQ6eHRpYygyKSB0aXRsZSAiJHthbGxfc2NhbGluZ19uYW1lc1sxXX0tJHtnaXRz b3VyY2VfZ292ZXJub3JzWzFdfSIKKwkJCQl9CisJCQl9CisJCX0KKwkJcXVpdAorRU9GCit9 CisKK2FtZF9wc3RhdGVfZ2l0c291cmNlKCkKK3sKKwlwcmludGYgIlxuLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCisJcHJpbnRmICIqKiogUnVu bmluZyBnaXRzb3VyY2UgICAgICAgICAgICAgICAgICAgICAqKioiCisJcHJpbnRmICJcbi0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorCisJcHJl X2NsZWFyX2dpdHNvdXJjZQorCisJaW5zdGFsbF9naXRzb3VyY2UKKworCWdldF9saW5lc19j c3ZfZ2l0c291cmNlICJHb3Zlcm5vciIKKwlpZiBbICQ/IC1lcSAwIF07IHRoZW4KKwkJIyBh ZGQgdGl0bGVzIGFuZCB1bml0IGZvciBjc3YgZmlsZQorCQlzdG9yZV9jc3ZfZ2l0c291cmNl ICJHb3Zlcm5vciIgIlJvdW5kIiAiRGVzLXBlcmYiICJGcmVxIiAiTG9hZCIgIlRpbWUiICJF bmVyZ3kiICJQZXJmb3JtYW5jZSBQZXIgV2F0dCIKKwkJc3RvcmVfY3N2X2dpdHNvdXJjZSAi VW5pdCIgIiIgIiIgIkdIeiIgIiIgInMiICJKIiAiMS9KIgorCWZpCisKKwliYWNrdXBfZ292 ZXJub3IKKwlmb3IgZ292ZXJub3IgaW4gJHtnaXRzb3VyY2VfZ292ZXJub3JzWypdfSA7IGRv CisJCXByaW50ZiAiXG5TcGVjaWZpZWQgZ292ZXJub3IgaXMgJGdvdmVybm9yXG5cbiIKKwkJ c3dpdGNoX2dvdmVybm9yICRnb3Zlcm5vcgorCQlsb29wX2dpdHNvdXJjZSAkZ292ZXJub3IK KwkJZ2F0aGVyX2dpdHNvdXJjZSAkZ292ZXJub3IKKwlkb25lCisJcmVzdG9yZV9nb3Zlcm5v cgorCisJcGxvdF9wbmdfZ2l0c291cmNlICJnaXRzb3VyY2VfdGltZS5wbmciICJHaXRzb3Vy Y2UgQmVuY2htYXJrIFRpbWUiICJUaW1lIChzKSIgNgorCXBsb3RfcG5nX2dpdHNvdXJjZSAi Z2l0c291cmNlX2VuZXJneS5wbmciICJHaXRzb3VyY2UgQmVuY2htYXJrIEVuZXJneSIgIkVu ZXJneSAoSikiIDcKKwlwbG90X3BuZ19naXRzb3VyY2UgImdpdHNvdXJjZV9wcHcucG5nIiAi R2l0c291cmNlIEJlbmNobWFyayBQZXJmb3JtYW5jZSBQZXIgV2F0dCIgIlBlcmZvcm1hbmNl IFBlciBXYXR0ICgxL0opIiA4CisKKwljYWxjX2NvbXBfZ2l0c291cmNlCisKKwlwb3N0X2Ns ZWFyX2dpdHNvdXJjZQorfQpkaWZmIC0tZ2l0IGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMv YW1kLXBzdGF0ZS9ydW4uc2ggYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9hbWQtcHN0YXRl L3J1bi5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwMDAwMDAuLjU3Y2Fk NTdlNTljMAotLS0gL2Rldi9udWxsCisrKyBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2Ft ZC1wc3RhdGUvcnVuLnNoCkBAIC0wLDAgKzEsMzg3IEBACisjIS9iaW4vYmFzaAorIyBTUERY LUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMAorCisjIHByb3RlY3QgYWdhaW5zdCBtdWx0 aXBsZSBpbmNsdXNpb24KK2lmIFsgJEZJTEVfTUFJTiBdOyB0aGVuCisJcmV0dXJuIDAKK2Vs c2UKKwlGSUxFX01BSU49RE9ORQorZmkKKworc291cmNlIGJhc2ljLnNoCitzb3VyY2UgdGJl bmNoLnNoCitzb3VyY2UgZ2l0c291cmNlLnNoCisKKyMgYW1kLXBzdGF0ZS11dCBvbmx5IHJ1 biBvbiB4ODYveDg2XzY0IEFNRCBzeXN0ZW1zLgorQVJDSD0kKHVuYW1lIC1tIDI+L2Rldi9u dWxsIHwgc2VkIC1lICdzL2kuODYveDg2LycgLWUgJ3MveDg2XzY0L3g4Ni8nKQorVkVORE9S PSQoY2F0IC9wcm9jL2NwdWluZm8gfCBncmVwIC1tIDEgJ3ZlbmRvcl9pZCcgfCBhd2sgJ3tw cmludCAkTkZ9JykKKworbXNnPSJTa2lwIGFsbCB0ZXN0czoiCitGVU5DPWFsbAorT1VURklM RT1zZWxmdGVzdAorT1VURklMRV9UQkVOQ0g9IiRPVVRGSUxFLnRiZW5jaCIKK09VVEZJTEVf R0lUPSIkT1VURklMRS5naXRzb3VyY2UiCisKK1NZU0ZTPQorQ1BVUk9PVD0KK0NQVUZSRVFS T09UPQorTUFLRV9DUFVTPQorCitUSU1FX0xJTUlUPTEwMAorUFJPQ0VTU19OVU09MTI4CitM T09QX1RJTUVTPTMKK1RSQUNFUl9JTlRFUlZBTD0xMAorQ1VSUkVOVF9URVNUPWFtZC1wc3Rh dGUKK0NPTVBBUkFUSVZFX1RFU1Q9CisKKyMgS3NlbGZ0ZXN0IGZyYW1ld29yayByZXF1aXJl bWVudCAtIFNLSVAgY29kZSBpcyA0Lgora3NmdF9za2lwPTQKK2FsbF9zY2FsaW5nX25hbWVz PSgiYWNwaS1jcHVmcmVxIiAiYW1kLXBzdGF0ZSIpCisKKyMgR2V0IGN1cnJlbnQgY3B1ZnJl cSBzY2FsaW5nIGRyaXZlciBuYW1lCitzY2FsaW5nX25hbWUoKQoreworCWlmIFsgIiRDT01Q QVJBVElWRV9URVNUIiA9ICIiIF07IHRoZW4KKwkJZWNobyAiJENVUlJFTlRfVEVTVCIKKwll bHNlCisJCWVjaG8gIiRDT01QQVJBVElWRV9URVNUIgorCWZpCit9CisKKyMgQ291bnRzIENQ VXMgd2l0aCBjcHVmcmVxIGRpcmVjdG9yaWVzCitjb3VudF9jcHVzKCkKK3sKKwljb3VudD0w OworCisJZm9yIGNwdSBpbiBgbHMgJENQVVJPT1QgfCBncmVwICJjcHVbMC05XS4qImA7IGRv CisJCWlmIFsgLWQgJENQVVJPT1QvJGNwdS9jcHVmcmVxIF07IHRoZW4KKwkJCWxldCBjb3Vu dD1jb3VudCsxOworCQlmaQorCWRvbmUKKworCWVjaG8gJGNvdW50OworfQorCisjICQxOiBw b2xpY3kKK2ZpbmRfY3VycmVudF9nb3Zlcm5vcigpCit7CisJY2F0ICRDUFVGUkVRUk9PVC8k MS9zY2FsaW5nX2dvdmVybm9yCit9CisKK2JhY2t1cF9nb3Zlcm5vcigpCit7CisJcG9saWNp ZXM9JChscyAkQ1BVRlJFUVJPT1R8IGdyZXAgInBvbGljeVswLTldLioiKQorCWZvciBwb2xp Y3kgaW4gJHBvbGljaWVzOyBkbworCQljdXJfZ292PSQoZmluZF9jdXJyZW50X2dvdmVybm9y ICRwb2xpY3kpCisJCWVjaG8gIiRwb2xpY3kgJGN1cl9nb3YiID4+ICRPVVRGSUxFLmJhY2t1 cF9nb3Zlcm5vci5sb2cKKwlkb25lCisKKwlwcmludGYgIkdvdmVybm9yICRjdXJfZ292IGJh Y2t1cCBkb25lLlxuIgorfQorCityZXN0b3JlX2dvdmVybm9yKCkKK3sKKwlpPTA7CisKKwlw b2xpY2llcz0kKGF3ayAne3ByaW50ICQxfScgJE9VVEZJTEUuYmFja3VwX2dvdmVybm9yLmxv ZykKKwlmb3IgcG9saWN5IGluICRwb2xpY2llczsgZG8KKwkJbGV0IGkrKzsKKwkJZ292ZXJu b3I9JChzZWQgLW4gJyckaSdwJyAkT1VURklMRS5iYWNrdXBfZ292ZXJub3IubG9nIHwgYXdr ICd7cHJpbnQgJDJ9JykKKworCQkjIHN3aXRjaCBnb3Zlcm5vcgorCQllY2hvICRnb3Zlcm5v ciA+ICRDUFVGUkVRUk9PVC8kcG9saWN5L3NjYWxpbmdfZ292ZXJub3IKKwlkb25lCisKKwlw cmludGYgIkdvdmVybm9yIHJlc3RvcmVkIHRvICRnb3Zlcm5vci5cbiIKK30KKworIyAkMTog Z292ZXJub3IKK3N3aXRjaF9nb3Zlcm5vcigpCit7CisJcG9saWNpZXM9JChscyAkQ1BVRlJF UVJPT1R8IGdyZXAgInBvbGljeVswLTldLioiKQorCWZvciBwb2xpY3kgaW4gJHBvbGljaWVz OyBkbworCQlmaWxlcGF0aD0kQ1BVRlJFUVJPT1QvJHBvbGljeS9zY2FsaW5nX2F2YWlsYWJs ZV9nb3Zlcm5vcnMKKworCQkjIEV4aXQgaWYgY3B1IGlzbid0IG1hbmFnZWQgYnkgY3B1ZnJl cSBjb3JlCisJCWlmIFsgISAtZiAkZmlsZXBhdGggXTsgdGhlbgorCQkJcmV0dXJuOworCQlm aQorCisJCWVjaG8gJDEgPiAkQ1BVRlJFUVJPT1QvJHBvbGljeS9zY2FsaW5nX2dvdmVybm9y CisJZG9uZQorCisJcHJpbnRmICJTd2l0Y2hlZCBnb3Zlcm5vciB0byAkMS5cbiIKK30KKwor IyBBbGwgYW1kLXBzdGF0ZSB0ZXN0cworYW1kX3BzdGF0ZV9hbGwoKQoreworCXByaW50ZiAi XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiIKKwlw cmludGYgIioqKioqIFJ1bm5pbmcgQU1EIFAtc3RhdGUgU2FuaXR5IFRlc3RzICAqKioqKlxu IgorCXByaW50ZiAiPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09XG5cbiIKKworCWNvdW50PSQoY291bnRfY3B1cykKKwlpZiBbICRjb3VudCA9IDAgXTsg dGhlbgorCQlwcmludGYgIk5vIGNwdSBpcyBtYW5hZ2VkIGJ5IGNwdWZyZXEgY29yZSwgZXhp dGluZ1xuIgorCQlleGl0OworCWVsc2UKKwkJcHJpbnRmICJBTUQgUC1zdGF0ZSBtYW5hZ2Vz OiAkY291bnQgQ1BVc1xuIgorCWZpCisKKwkjIHVuaXQgdGVzdCBmb3IgYW1kLXBzdGF0ZSBr ZXJuZWwgZHJpdmVyCisJYW1kX3BzdGF0ZV9iYXNpYworCisJIyB0YmVuY2gKKwlhbWRfcHN0 YXRlX3RiZW5jaAorCisJIyBnaXRzb3VyY2UKKwlhbWRfcHN0YXRlX2dpdHNvdXJjZQorfQor CitoZWxwKCkKK3sKKwlwcmludGYgIlVzYWdlOiAkMCBbT1BUSU9OLi4uXQorCVstaCA8aGVs cD5dCisJWy1vIDxvdXRwdXQtZmlsZS1mb3ItZHVtcD5dCisJWy1jIDxhbGw6IEFsbCB0ZXN0 aW5nLAorCSAgICAgYmFzaWM6IEJhc2ljIHRlc3RpbmcsCisJICAgICB0YmVuY2g6IFRiZW5j aCB0ZXN0aW5nLAorCSAgICAgZ2l0c291cmNlOiBHaXRzb3VyY2UgdGVzdGluZy4+XQorCVst dCA8dGJlbmNoIHRpbWUgbGltaXQ+XQorCVstcCA8dGJlbmNoIHByb2Nlc3MgbnVtYmVyPl0K KwlbLWwgPGxvb3AgdGltZXMgZm9yIHRiZW5jaD5dCisJWy1pIDxhbWQgdHJhY2VyIGludGVy dmFsPl0KKwlbLW0gPGNvbXBhcmF0aXZlIHRlc3Q6IGFjcGktY3B1ZnJlcT5dCisJXG4iCisJ ZXhpdCAyCit9CisKK3BhcnNlX2FyZ3VtZW50cygpCit7CisJd2hpbGUgZ2V0b3B0cyBobzpj OnQ6cDpsOmk6bTogYXJnCisJZG8KKwkJY2FzZSAkYXJnIGluCisJCQloKSAjIC0taGVscAor CQkJCWhlbHAKKwkJCQk7OworCisJCQljKSAjIC0tZnVuY190eXBlIChGdW5jdGlvbiB0byBw ZXJmb3JtOiBiYXNpYywgdGJlbmNoLCBnaXRzb3VyY2UgKGRlZmF1bHQ6IGFsbCkpCisJCQkJ RlVOQz0kT1BUQVJHCisJCQkJOzsKKworCQkJbykgIyAtLW91dHB1dC1maWxlIChPdXRwdXQg ZmlsZSB0byBzdG9yZSBkdW1wcykKKwkJCQlPVVRGSUxFPSRPUFRBUkcKKwkJCQk7OworCisJ CQl0KSAjIC0tdGJlbmNoLXRpbWUtbGltaXQKKwkJCQlUSU1FX0xJTUlUPSRPUFRBUkcKKwkJ CQk7OworCisJCQlwKSAjIC0tdGJlbmNoLXByb2Nlc3MtbnVtYmVyCisJCQkJUFJPQ0VTU19O VU09JE9QVEFSRworCQkJCTs7CisKKwkJCWwpICMgLS10YmVuY2gvZ2l0c291cmNlLWxvb3At dGltZXMKKwkJCQlMT09QX1RJTUVTPSRPUFRBUkcKKwkJCQk7OworCisJCQlpKSAjIC0tYW1k LXRyYWNlci1pbnRlcnZhbAorCQkJCVRSQUNFUl9JTlRFUlZBTD0kT1BUQVJHCisJCQkJOzsK KworCQkJbSkgIyAtLWNvbXBhcmF0aXZlLXRlc3QKKwkJCQlDT01QQVJBVElWRV9URVNUPSRP UFRBUkcKKwkJCQk7OworCisJCQkqKQorCQkJCWhlbHAKKwkJCQk7OworCQllc2FjCisJZG9u ZQorfQorCitjb21tYW5kX3BlcmYoKQoreworCWlmICEgY29tbWFuZCAtdiBwZXJmID4gL2Rl di9udWxsOyB0aGVuCisJCWVjaG8gJG1zZyBwbGVhc2UgaW5zdGFsbCBwZXJmLiA+JjIKKwkJ ZXhpdCAka3NmdF9za2lwCisJZmkKK30KKworY29tbWFuZF90YmVuY2goKQoreworCWlmICEg Y29tbWFuZCAtdiB0YmVuY2ggPiAvZGV2L251bGw7IHRoZW4KKwkJaWYgYXB0IHBvbGljeSBk YmVuY2ggPiAvZGV2L251bGwgMj4mMTsgdGhlbgorCQkJZWNobyAkbXNnIGFwdCBpbnN0YWxs IGRiZW5jaCA+JjIKKwkJCWV4aXQgJGtzZnRfc2tpcAorCQllbGlmIHl1bSBsaXN0IGF2YWls YWJsZSB8IGdyZXAgZGJlbmNoID4gL2Rldi9udWxsIDI+JjE7IHRoZW4KKwkJCWVjaG8gJG1z ZyB5dW0gaW5zdGFsbCBkYmVuY2ggPiYyCisJCQlleGl0ICRrc2Z0X3NraXAKKwkJZmkKKwlm aQorCisJaWYgISBjb21tYW5kIC12IHRiZW5jaCA+IC9kZXYvbnVsbDsgdGhlbgorCQllY2hv ICRtc2cgcGxlYXNlIGluc3RhbGwgdGJlbmNoLiA+JjIKKwkJZXhpdCAka3NmdF9za2lwCisJ ZmkKK30KKworcHJlcmVxdWlzaXRlKCkKK3sKKwlpZiAhIGVjaG8gIiRBUkNIIiB8IGdyZXAg LXEgeDg2OyB0aGVuCisJCWVjaG8gIiQwICMgU2tpcHBlZDogVGVzdCBjYW4gb25seSBydW4g b24geDg2IGFyY2hpdGVjdHVyZXMuIgorCQlleGl0ICRrc2Z0X3NraXAKKwlmaQorCisJaWYg ISBlY2hvICIkVkVORE9SIiB8IGdyZXAgLWlxIGFtZDsgdGhlbgorCQllY2hvICIkMCAjIFNr aXBwZWQ6IFRlc3QgY2FuIG9ubHkgcnVuIG9uIEFNRCBDUFUuIgorCQllY2hvICIkMCAjIEN1 cnJlbnQgY3B1IHZlbmRvciBpcyAkVkVORE9SLiIKKwkJZXhpdCAka3NmdF9za2lwCisJZmkK KworCXNjYWxpbmdfZHJpdmVyPSQoY2F0IC9zeXMvZGV2aWNlcy9zeXN0ZW0vY3B1L2NwdWZy ZXEvcG9saWN5MC9zY2FsaW5nX2RyaXZlcikKKwlpZiBbICIkQ09NUEFSQVRJVkVfVEVTVCIg PSAiIiBdOyB0aGVuCisJCWlmIFsgIiRzY2FsaW5nX2RyaXZlciIgIT0gIiRDVVJSRU5UX1RF U1QiIF07IHRoZW4KKwkJCWVjaG8gIiQwICMgU2tpcHBlZDogVGVzdCBjYW4gb25seSBydW4g b24gJENVUlJFTlRfVEVTVCBkcml2ZXIgb3IgcnVuIGNvbXBhcmF0aXZlIHRlc3QuIgorCQkJ ZWNobyAiJDAgIyBQbGVhc2Ugc2V0IFg4Nl9BTURfUFNUQVRFIGVuYWJsZWQgb3IgcnVuIGNv bXBhcmF0aXZlIHRlc3QuIgorCQkJZWNobyAiJDAgIyBDdXJyZW50IGNwdWZyZXEgc2NhbGlu ZyBkcnZpZXIgaXMgJHNjYWxpbmdfZHJpdmVyLiIKKwkJCWV4aXQgJGtzZnRfc2tpcAorCQlm aQorCWVsc2UKKwkJY2FzZSAiJEZVTkMiIGluCisJCQkidGJlbmNoIiB8ICJnaXRzb3VyY2Ui KQorCQkJCWlmIFsgIiRzY2FsaW5nX2RyaXZlciIgIT0gIiRDT01QQVJBVElWRV9URVNUIiBd OyB0aGVuCisJCQkJCWVjaG8gIiQwICMgU2tpcHBlZDogQ29tcGFyaXNvbiB0ZXN0IGNhbiBv bmx5IHJ1biBvbiAkQ09NUEFSSVNPTl9URVNUIGRyaXZlci4iCisJCQkJCWVjaG8gIiQwICMg Q3VycmVudCBjcHVmcmVxIHNjYWxpbmcgZHJ2aWVyIGlzICRzY2FsaW5nX2RyaXZlci4iCisJ CQkJCWV4aXQgJGtzZnRfc2tpcAorCQkJCWZpCisJCQkJOzsKKworCQkJKikKKwkJCQllY2hv ICIkMCAjIFNraXBwZWQ6IENvbXBhcmlzb24gdGVzdCBhcmUgb25seSBmb3IgdGJlbmNoIG9y IGdpdHNvdXJjZS4iCisJCQkJZWNobyAiJDAgIyBDdXJyZW50IGNvbXBhcmF0aXZlIHRlc3Qg aXMgZm9yICRGVU5DLiIKKwkJCQlleGl0ICRrc2Z0X3NraXAKKwkJCQk7OworCQllc2FjCisJ ZmkKKworCWlmIFsgISAtdyAvZGV2IF07IHRoZW4KKwkJZWNobyAkbXNnIHBsZWFzZSBydW4g dGhpcyBhcyByb290ID4mMgorCQlleGl0ICRrc2Z0X3NraXAKKwlmaQorCisJY2FzZSAiJEZV TkMiIGluCisJCSJhbGwiKQorCQkJY29tbWFuZF9wZXJmCisJCQljb21tYW5kX3RiZW5jaAor CQkJOzsKKworCQkidGJlbmNoIikKKwkJCWNvbW1hbmRfcGVyZgorCQkJY29tbWFuZF90YmVu Y2gKKwkJCTs7CisKKwkJImdpdHNvdXJjZSIpCisJCQljb21tYW5kX3BlcmYKKwkJCTs7CisJ ZXNhYworCisJU1lTRlM9YG1vdW50IC10IHN5c2ZzIHwgaGVhZCAtMSB8IGF3ayAneyBwcmlu dCAkMyB9J2AKKworCWlmIFsgISAtZCAiJFNZU0ZTIiBdOyB0aGVuCisJCWVjaG8gJG1zZyBz eXNmcyBpcyBub3QgbW91bnRlZCA+JjIKKwkJZXhpdCAyCisJZmkKKworCUNQVVJPT1Q9JFNZ U0ZTL2RldmljZXMvc3lzdGVtL2NwdQorCUNQVUZSRVFST09UPSIkQ1BVUk9PVC9jcHVmcmVx IgorCisJaWYgISBscyAkQ1BVUk9PVC9jcHUqID4gL2Rldi9udWxsIDI+JjE7IHRoZW4KKwkJ ZWNobyAkbXNnIGNwdXMgbm90IGF2YWlsYWJsZSBpbiBzeXNmcyA+JjIKKwkJZXhpdCAyCisJ ZmkKKworCWlmICEgbHMgJENQVVJPT1QvY3B1ZnJlcSA+IC9kZXYvbnVsbCAyPiYxOyB0aGVu CisJCWVjaG8gJG1zZyBjcHVmcmVxIGRpcmVjdG9yeSBub3QgYXZhaWxhYmxlIGluIHN5c2Zz ID4mMgorCQlleGl0IDIKKwlmaQorfQorCitkb190ZXN0KCkKK3sKKwkjIENoZWNrIGlmIENQ VXMgYXJlIG1hbmFnZWQgYnkgY3B1ZnJlcSBvciBub3QKKwljb3VudD0kKGNvdW50X2NwdXMp CisJTUFLRV9DUFVTPSQoKGNvdW50KjIpKQorCisJaWYgWyAkY291bnQgPSAwIF07IHRoZW4K KwkJZWNobyAiTm8gY3B1IGlzIG1hbmFnZWQgYnkgY3B1ZnJlcSBjb3JlLCBleGl0aW5nIgor CQlleGl0IDI7CisJZmkKKworCWNhc2UgIiRGVU5DIiBpbgorCQkiYWxsIikKKwkJCWFtZF9w c3RhdGVfYWxsCisJCQk7OworCisJCSJiYXNpYyIpCisJCQlhbWRfcHN0YXRlX2Jhc2ljCisJ CQk7OworCisJCSJ0YmVuY2giKQorCQkJYW1kX3BzdGF0ZV90YmVuY2gKKwkJCTs7CisKKwkJ ImdpdHNvdXJjZSIpCisJCQlhbWRfcHN0YXRlX2dpdHNvdXJjZQorCQkJOzsKKworCQkqKQor CQkJZWNobyAiSW52YWxpZCBbLWZdIGZ1bmN0aW9uIHR5cGUiCisJCQloZWxwCisJCQk7Owor CWVzYWMKK30KKworIyBjbGVhciBkdW1wcworcHJlX2NsZWFyX2R1bXBzKCkKK3sKKwljYXNl ICIkRlVOQyIgaW4KKwkJImFsbCIpCisJCQlybSAtcmYgJE9VVEZJTEUubG9nCisJCQlybSAt cmYgJE9VVEZJTEUuYmFja3VwX2dvdmVybm9yLmxvZworCQkJcm0gLXJmICoucG5nCisJCQk7 OworCisJCSJ0YmVuY2giKQorCQkJcm0gLXJmICRPVVRGSUxFLmxvZworCQkJcm0gLXJmICRP VVRGSUxFLmJhY2t1cF9nb3Zlcm5vci5sb2cKKwkJCXJtIC1yZiB0YmVuY2hfKi5wbmcKKwkJ CTs7CisKKwkJImdpdHNvdXJjZSIpCisJCQlybSAtcmYgJE9VVEZJTEUubG9nCisJCQlybSAt cmYgJE9VVEZJTEUuYmFja3VwX2dvdmVybm9yLmxvZworCQkJcm0gLXJmIGdpdHNvdXJjZV8q LnBuZworCQkJOzsKKworCQkqKQorCQkJOzsKKwllc2FjCit9CisKK3Bvc3RfY2xlYXJfZHVt cHMoKQoreworCXJtIC1yZiAkT1VURklMRS5sb2cKKwlybSAtcmYgJE9VVEZJTEUuYmFja3Vw X2dvdmVybm9yLmxvZworfQorCisjIFBhcnNlIGFyZ3VtZW50cworcGFyc2VfYXJndW1lbnRz ICRACisKKyMgTWFrZSBzdXJlIGFsbCByZXF1aXJlbWVudHMgYXJlIG1ldAorcHJlcmVxdWlz aXRlCisKKyMgUnVuIHJlcXVlc3RlZCBmdW5jdGlvbnMKK3ByZV9jbGVhcl9kdW1wcworZG9f dGVzdCB8IHRlZSAtYSAkT1VURklMRS5sb2cKK3Bvc3RfY2xlYXJfZHVtcHMKZGlmZiAtLWdp dCBhL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2FtZC1wc3RhdGUvdGJlbmNoLnNoIGIvdG9v bHMvdGVzdGluZy9zZWxmdGVzdHMvYW1kLXBzdGF0ZS90YmVuY2guc2gKbmV3IGZpbGUgbW9k ZSAxMDA3NTUKaW5kZXggMDAwMDAwMDAwMDAwLi40OWM5ODUwMzQxZjYKLS0tIC9kZXYvbnVs bAorKysgYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9hbWQtcHN0YXRlL3RiZW5jaC5zaApA QCAtMCwwICsxLDMzOSBAQAorIyEvYmluL3NoCisjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVy OiBHUEwtMi4wCisKKyMgVGVzdGluZyBhbmQgbW9uaXRvciB0aGUgY3B1IGRlc2lyZSBwZXJm b3JtYW5jZSwgZnJlcXVlbmN5LCBsb2FkLAorIyBwb3dlciBjb25zdW1wdGlvbiBhbmQgdGhy b3VnaHB1dCBldGMud2hlbiB0aGlzIHNjcmlwdCB0cmlnZ2VyIHRiZW5jaAorIyB0ZXN0IGNh c2VzLgorIyAxKSBSdW4gdGJlbmNoIGJlbmNobWFyayBvbiBzcGVjaWZpYyBnb3Zlcm5vcnMs IG9uZGVtYW5kIG9yIHNjaGVkdXRpbC4KKyMgMikgUnVuIHRiZW5jaCBiZW5jaG1hcmsgY29t cGFyYXRpdmUgdGVzdCBvbiBhY3BpLWNwdWZyZXEga2VybmVsIGRyaXZlci4KKyMgMykgR2V0 IGRlc2lyZSBwZXJmb3JtYW5jZSwgZnJlcXVlbmN5LCBsb2FkIGJ5IHBlcmYuCisjIDQpIEdl dCBwb3dlciBjb25zdW1wdGlvbiBhbmQgdGhyb3VnaHB1dCBieSBhbWRfcHN0YXRlX3RyYWNl LnB5LgorIyA1KSBBbmFseXNlIHRlc3QgcmVzdWx0cyBhbmQgc2F2ZSBpdCBpbiBmaWxlIHNl bGZ0ZXN0LnRiZW5jaC5jc3YuCisjIDYpIFBsb3QgcG5nIGltYWdlcyBhYm91dCBwZXJmb3Jt YW5jZSwgZW5lcmd5IGFuZCBwZXJmb3JtYW5jZSBwZXIgd2F0dCBmb3IgZWFjaCB0ZXN0Lgor CisjIHByb3RlY3QgYWdhaW5zdCBtdWx0aXBsZSBpbmNsdXNpb24KK2lmIFsgJEZJTEVfVEJF TkNIIF07IHRoZW4KKwlyZXR1cm4gMAorZWxzZQorCUZJTEVfVEJFTkNIPURPTkUKK2ZpCisK K3RiZW5jaF9nb3Zlcm5vcnM9KCJvbmRlbWFuZCIgInNjaGVkdXRpbCIpCisKKyMgJDE6IGdv dmVybm9yLCAkMjogcm91bmQsICQzOiBkZXMtcGVyZiwgJDQ6IGZyZXEsICQ1OiBsb2FkLCAk NjogcGVyZm9ybWFuY2UsICQ3OiBlbmVyZ3ksICQ4OiBwZXJmb3JtYW5jZSBwZXIgd2F0dAor c3RvcmVfY3N2X3RiZW5jaCgpCit7CisJZWNobyAiJDEsICQyLCAkMywgJDQsICQ1LCAkNiwg JDcsICQ4IiB8IHRlZSAtYSAkT1VURklMRV9UQkVOQ0guY3N2ID4gL2Rldi9udWxsIDI+JjEK K30KKworIyBjbGVhciBzb21lIHNwZWNpYWwgbGluZXMKK2NsZWFyX2Nzdl90YmVuY2goKQor eworCWlmIFsgLWYgJE9VVEZJTEVfVEJFTkNILmNzdiBdOyB0aGVuCisJCXNlZCAtaSAnL0Nv bXByaXNvbiglKS9kJyAkT1VURklMRV9UQkVOQ0guY3N2CisJCXNlZCAtaSAiLyQoc2NhbGlu Z19uYW1lKS9kIiAkT1VURklMRV9UQkVOQ0guY3N2CisJZmkKK30KKworIyBmaW5kIHN0cmlu ZyAkMSBpbiBmaWxlIGNzdiBhbmQgZ2V0IHRoZSBudW1iZXIgb2YgbGluZXMKK2dldF9saW5l c19jc3ZfdGJlbmNoKCkKK3sKKwlpZiBbIC1mICRPVVRGSUxFX1RCRU5DSC5jc3YgXTsgdGhl bgorCQlyZXR1cm4gYGdyZXAgLWMgIiQxIiAkT1VURklMRV9UQkVOQ0guY3N2YAorCWVsc2UK KwkJcmV0dXJuIDAKKwlmaQorfQorCitwcmVfY2xlYXJfdGJlbmNoKCkKK3sKKwlwb3N0X2Ns ZWFyX3RiZW5jaAorCXJtIC1yZiB0YmVuY2hfKi5wbmcKKwljbGVhcl9jc3ZfdGJlbmNoCit9 CisKK3Bvc3RfY2xlYXJfdGJlbmNoKCkKK3sKKwlybSAtcmYgcmVzdWx0cy90cmFjZXItdGJl bmNoKgorCXJtIC1yZiAkT1VURklMRV9UQkVOQ0gqLmxvZworCXJtIC1yZiAkT1VURklMRV9U QkVOQ0gqLnJlc3VsdAorCit9CisKKyMgJDE6IGdvdmVybm9yLCAkMjogbG9vcAorcnVuX3Ri ZW5jaCgpCit7CisJZWNobyAiTGF1bmNoaW5nIGFtZCBwc3RhdGUgdHJhY2VyIGZvciAkMSAj JDIgdHJhY2VyX2ludGVydmFsOiAkVFJBQ0VSX0lOVEVSVkFMIgorCS4vYW1kX3BzdGF0ZV90 cmFjZS5weSAtbiB0cmFjZXItdGJlbmNoLSQxLSQyIC1pICRUUkFDRVJfSU5URVJWQUwgPiAv ZGV2L251bGwgMj4mMSAmCisKKwlwcmludGYgIlRlc3QgdGJlbmNoIGZvciAkMSAjJDIgdGlt ZV9saW1pdDogJFRJTUVfTElNSVQgcHJvY3NfbnVtOiAkUFJPQ0VTU19OVU1cbiIKKwl0YmVu Y2hfc3J2ID4gL2Rldi9udWxsIDI+JjEgJgorCXBlcmYgc3RhdCAtYSAtLXBlci1zb2NrZXQg LUkgMTAwMCAtZSBwb3dlci9lbmVyZ3ktcGtnLyB0YmVuY2ggLXQgJFRJTUVfTElNSVQgJFBS T0NFU1NfTlVNID4gJE9VVEZJTEVfVEJFTkNILXBlcmYtJDEtJDIubG9nIDI+JjEKKworCXBp ZD1gcGlkb2YgdGJlbmNoX3NydmAKKwlraWxsICRwaWQKKworCWZvciBqb2IgaW4gYGpvYnMg LXBgCisJZG8KKwkJZWNobyAiV2FpdGluZyBmb3Igam9iIGlkICRqb2IiCisJCXdhaXQgJGpv YgorCWRvbmUKK30KKworIyAkMTogZ292ZXJub3IsICQyOiBsb29wCitwYXJzZV90YmVuY2go KQoreworCWF3ayAne3ByaW50ICQ1fScgcmVzdWx0cy90cmFjZXItdGJlbmNoLSQxLSQyL2Nw dS5jc3YgfCBzZWQgLWUgJzFkJyB8IHNlZCBzLywvLyA+ICRPVVRGSUxFX1RCRU5DSC1kZXMt cGVyZi0kMS0kMi5sb2cKKwlhdmdfZGVzX3BlcmY9JChhd2sgJ0JFR0lOIHtpPTA7IHN1bT0w fTt7aSsrOyBzdW0gKz0gJDF9O0VORCB7cHJpbnQgc3VtL2l9JyAkT1VURklMRV9UQkVOQ0gt ZGVzLXBlcmYtJDEtJDIubG9nKQorCXByaW50ZiAiVGJlbmNoLSQxLSMkMiBhdmcgZGVzIHBl cmY6ICRhdmdfZGVzX3BlcmZcbiIgfCB0ZWUgLWEgJE9VVEZJTEVfVEJFTkNILnJlc3VsdAor CisJYXdrICd7cHJpbnQgJDd9JyByZXN1bHRzL3RyYWNlci10YmVuY2gtJDEtJDIvY3B1LmNz diB8IHNlZCAtZSAnMWQnIHwgc2VkIHMvLC8vID4gJE9VVEZJTEVfVEJFTkNILWZyZXEtJDEt JDIubG9nCisJYXZnX2ZyZXE9JChhd2sgJ0JFR0lOIHtpPTA7IHN1bT0wfTt7aSsrOyBzdW0g Kz0gJDF9O0VORCB7cHJpbnQgc3VtL2l9JyAkT1VURklMRV9UQkVOQ0gtZnJlcS0kMS0kMi5s b2cpCisJcHJpbnRmICJUYmVuY2gtJDEtIyQyIGF2ZyBmcmVxOiAkYXZnX2ZyZXFcbiIgfCB0 ZWUgLWEgJE9VVEZJTEVfVEJFTkNILnJlc3VsdAorCisJYXdrICd7cHJpbnQgJDExfScgcmVz dWx0cy90cmFjZXItdGJlbmNoLSQxLSQyL2NwdS5jc3YgfCBzZWQgLWUgJzFkJyB8IHNlZCBz LywvLyA+ICRPVVRGSUxFX1RCRU5DSC1sb2FkLSQxLSQyLmxvZworCWF2Z19sb2FkPSQoYXdr ICdCRUdJTiB7aT0wOyBzdW09MH07e2krKzsgc3VtICs9ICQxfTtFTkQge3ByaW50IHN1bS9p fScgJE9VVEZJTEVfVEJFTkNILWxvYWQtJDEtJDIubG9nKQorCXByaW50ZiAiVGJlbmNoLSQx LSMkMiBhdmcgbG9hZDogJGF2Z19sb2FkXG4iIHwgdGVlIC1hICRPVVRGSUxFX1RCRU5DSC5y ZXN1bHQKKworCWdyZXAgVGhyb3VnaHB1dCAkT1VURklMRV9UQkVOQ0gtcGVyZi0kMS0kMi5s b2cgfCBhd2sgJ3twcmludCAkMn0nID4gJE9VVEZJTEVfVEJFTkNILXRocm91Z2hwdXQtJDEt JDIubG9nCisJdHBfc3VtPSQoYXdrICdCRUdJTiB7c3VtPTB9O3tzdW0gKz0gJDF9O0VORCB7 cHJpbnQgc3VtfScgJE9VVEZJTEVfVEJFTkNILXRocm91Z2hwdXQtJDEtJDIubG9nKQorCXBy aW50ZiAiVGJlbmNoLSQxLSMkMiB0aHJvdWdocHV0KE1CL3MpOiAkdHBfc3VtXG4iIHwgdGVl IC1hICRPVVRGSUxFX1RCRU5DSC5yZXN1bHQKKworCWdyZXAgSm91bGVzICRPVVRGSUxFX1RC RU5DSC1wZXJmLSQxLSQyLmxvZyB8IGF3ayAne3ByaW50ICQ0fScgPiAkT1VURklMRV9UQkVO Q0gtZW5lcmd5LSQxLSQyLmxvZworCWVuX3N1bT0kKGF3ayAnQkVHSU4ge3N1bT0wfTt7c3Vt ICs9ICQxfTtFTkQge3ByaW50IHN1bX0nICRPVVRGSUxFX1RCRU5DSC1lbmVyZ3ktJDEtJDIu bG9nKQorCXByaW50ZiAiVGJlbmNoLSQxLSMkMiBwb3dlciBjb25zdW1wdGlvbihKKTogJGVu X3N1bVxuIiB8IHRlZSAtYSAkT1VURklMRV9UQkVOQ0gucmVzdWx0CisKKwkjIFBlcm1hbmNl IGlzIHRocm91Z2hwdXQgcGVyIHNlY29uZCwgZGVub3RlZCBUL3QsIHdoZXJlIFQgaXMgdGhy b3VnaHQgcmVuZGVyZWQgaW4gdCBzZWNvbmRzLgorCSMgSXQgaXMgd2VsbCBrbm93biB0aGF0 IFA9RS90LCB3aGVyZSBQIGlzIHBvd2VyIG1lYXN1cmVkIGluIHdhdHRzKFcpLCBFIGlzIGVu ZXJneSBtZWFzdXJlZCBpbiBqb3VsZXMoSiksCisJIyBhbmQgdCBpcyB0aW1lIG1lYXN1cmVk IGluIHNlY29uZHMocykuIFRoaXMgbWVhbnMgdGhhdCBwZXJmb3JtYW5jZSBwZXIgd2F0dCBi ZWNvbWVzCisJIyAgICAgICBUL3QgICBUL3QgICAgVAorCSMgICAgICAgLS0tID0gLS0tID0g LS0tCisJIyAgICAgICAgUCAgICBFL3QgICAgRQorCSMgd2l0aCB1bml0IGdpdmVuIGJ5IE1C IHBlciBqb3VsZS4KKwlwcHc9YGVjaG8gInNjYWxlPTQ7KCRUSU1FX0xJTUlULTEpKiR0cF9z dW0vJGVuX3N1bSIgfCBiYyB8IGF3ayAne3ByaW50ZiAiJS40ZiIsICQwfSdgCisJcHJpbnRm ICJUYmVuY2gtJDEtIyQyIHBlcmZvcm1hbmNlIHBlciB3YXR0KE1CL0opOiAkcHB3XG4iIHwg dGVlIC1hICRPVVRGSUxFX1RCRU5DSC5yZXN1bHQKKwlwcmludGYgIlxuIiB8IHRlZSAtYSAk T1VURklMRV9UQkVOQ0gucmVzdWx0CisKKwlkcml2ZXJfbmFtZT1gZWNobyAkKHNjYWxpbmdf bmFtZSlgCisJc3RvcmVfY3N2X3RiZW5jaCAiJGRyaXZlcl9uYW1lLSQxIiAkMiAkYXZnX2Rl c19wZXJmICRhdmdfZnJlcSAkYXZnX2xvYWQgJHRwX3N1bSAkZW5fc3VtICRwcHcKK30KKwor IyAkMTogZ292ZXJub3IKK2xvb3BfdGJlbmNoKCkKK3sKKwlwcmludGYgIlxuVGJlbmNoIHRv dGFsIHRlc3QgdGltZXMgaXMgJExPT1BfVElNRVMgZm9yICQxXG5cbiIKKwlmb3IgaSBpbiBg c2VxIDEgJExPT1BfVElNRVNgCisJZG8KKwkJcnVuX3RiZW5jaCAkMSAkaQorCQlwYXJzZV90 YmVuY2ggJDEgJGkKKwlkb25lCit9CisKKyMgJDE6IGdvdmVybm9yCitnYXRoZXJfdGJlbmNo KCkKK3sKKwlwcmludGYgIlRiZW5jaCB0ZXN0IHJlc3VsdCBmb3IgJDEgKGxvb3BzOiRMT09Q X1RJTUVTKSIgfCB0ZWUgLWEgJE9VVEZJTEVfVEJFTkNILnJlc3VsdAorCXByaW50ZiAiXG4t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIiB8 IHRlZSAtYSAkT1VURklMRV9UQkVOQ0gucmVzdWx0CisKKwlncmVwICJUYmVuY2gtJDEtIyIg JE9VVEZJTEVfVEJFTkNILnJlc3VsdCB8IGdyZXAgImF2ZyBkZXMgcGVyZjoiIHwgYXdrICd7 cHJpbnQgJE5GfScgPiAkT1VURklMRV9UQkVOQ0gtZGVzLXBlcmYtJDEubG9nCisJYXZnX2Rl c19wZXJmPSQoYXdrICdCRUdJTiB7c3VtPTB9O3tzdW0gKz0gJDF9O0VORCB7cHJpbnQgc3Vt LyckTE9PUF9USU1FUyd9JyAkT1VURklMRV9UQkVOQ0gtZGVzLXBlcmYtJDEubG9nKQorCXBy aW50ZiAiVGJlbmNoLSQxIGF2ZyBkZXMgcGVyZjogJGF2Z19kZXNfcGVyZlxuIiB8IHRlZSAt YSAkT1VURklMRV9UQkVOQ0gucmVzdWx0CisKKwlncmVwICJUYmVuY2gtJDEtIyIgJE9VVEZJ TEVfVEJFTkNILnJlc3VsdCB8IGdyZXAgImF2ZyBmcmVxOiIgfCBhd2sgJ3twcmludCAkTkZ9 JyA+ICRPVVRGSUxFX1RCRU5DSC1mcmVxLSQxLmxvZworCWF2Z19mcmVxPSQoYXdrICdCRUdJ TiB7c3VtPTB9O3tzdW0gKz0gJDF9O0VORCB7cHJpbnQgc3VtLyckTE9PUF9USU1FUyd9JyAk T1VURklMRV9UQkVOQ0gtZnJlcS0kMS5sb2cpCisJcHJpbnRmICJUYmVuY2gtJDEgYXZnIGZy ZXE6ICRhdmdfZnJlcVxuIiB8IHRlZSAtYSAkT1VURklMRV9UQkVOQ0gucmVzdWx0CisKKwln cmVwICJUYmVuY2gtJDEtIyIgJE9VVEZJTEVfVEJFTkNILnJlc3VsdCB8IGdyZXAgImF2ZyBs b2FkOiIgfCBhd2sgJ3twcmludCAkTkZ9JyA+ICRPVVRGSUxFX1RCRU5DSC1sb2FkLSQxLmxv ZworCWF2Z19sb2FkPSQoYXdrICdCRUdJTiB7c3VtPTB9O3tzdW0gKz0gJDF9O0VORCB7cHJp bnQgc3VtLyckTE9PUF9USU1FUyd9JyAkT1VURklMRV9UQkVOQ0gtbG9hZC0kMS5sb2cpCisJ cHJpbnRmICJUYmVuY2gtJDEgYXZnIGxvYWQ6ICRhdmdfbG9hZFxuIiB8IHRlZSAtYSAkT1VU RklMRV9UQkVOQ0gucmVzdWx0CisKKwlncmVwICJUYmVuY2gtJDEtIyIgJE9VVEZJTEVfVEJF TkNILnJlc3VsdCB8IGdyZXAgInRocm91Z2hwdXQoTUIvcyk6IiB8IGF3ayAne3ByaW50ICRO Rn0nID4gJE9VVEZJTEVfVEJFTkNILXRocm91Z2hwdXQtJDEubG9nCisJdHBfc3VtPSQoYXdr ICdCRUdJTiB7c3VtPTB9O3tzdW0gKz0gJDF9O0VORCB7cHJpbnQgc3VtfScgJE9VVEZJTEVf VEJFTkNILXRocm91Z2hwdXQtJDEubG9nKQorCXByaW50ZiAiVGJlbmNoLSQxIHRvdGFsIHRo cm91Z2hwdXQoTUIvcyk6ICR0cF9zdW1cbiIgfCB0ZWUgLWEgJE9VVEZJTEVfVEJFTkNILnJl c3VsdAorCisJYXZnX3RwPSQoYXdrICdCRUdJTiB7c3VtPTB9O3tzdW0gKz0gJDF9O0VORCB7 cHJpbnQgc3VtLyckTE9PUF9USU1FUyd9JyAkT1VURklMRV9UQkVOQ0gtdGhyb3VnaHB1dC0k MS5sb2cpCisJcHJpbnRmICJUYmVuY2gtJDEgYXZnIHRocm91Z2hwdXQoTUIvcyk6ICRhdmdf dHBcbiIgfCB0ZWUgLWEgJE9VVEZJTEVfVEJFTkNILnJlc3VsdAorCisJZ3JlcCAiVGJlbmNo LSQxLSMiICRPVVRGSUxFX1RCRU5DSC5yZXN1bHQgfCBncmVwICJwb3dlciBjb25zdW1wdGlv bihKKToiIHwgYXdrICd7cHJpbnQgJE5GfScgPiAkT1VURklMRV9UQkVOQ0gtZW5lcmd5LSQx LmxvZworCWVuX3N1bT0kKGF3ayAnQkVHSU4ge3N1bT0wfTt7c3VtICs9ICQxfTtFTkQge3By aW50IHN1bX0nICRPVVRGSUxFX1RCRU5DSC1lbmVyZ3ktJDEubG9nKQorCXByaW50ZiAiVGJl bmNoLSQxIHRvdGFsIHBvd2VyIGNvbnN1bXB0aW9uKEopOiAkZW5fc3VtXG4iIHwgdGVlIC1h ICRPVVRGSUxFX1RCRU5DSC5yZXN1bHQKKworCWF2Z19lbj0kKGF3ayAnQkVHSU4ge3N1bT0w fTt7c3VtICs9ICQxfTtFTkQge3ByaW50IHN1bS8nJExPT1BfVElNRVMnfScgJE9VVEZJTEVf VEJFTkNILWVuZXJneS0kMS5sb2cpCisJcHJpbnRmICJUYmVuY2gtJDEgYXZnIHBvd2VyIGNv bnN1bXB0aW9uKEopOiAkYXZnX2VuXG4iIHwgdGVlIC1hICRPVVRGSUxFX1RCRU5DSC5yZXN1 bHQKKworCSMgUGVybWFuY2UgaXMgdGhyb3VnaHB1dCBwZXIgc2Vjb25kLCBkZW5vdGVkIFQv dCwgd2hlcmUgVCBpcyB0aHJvdWdodCByZW5kZXJlZCBpbiB0IHNlY29uZHMuCisJIyBJdCBp cyB3ZWxsIGtub3duIHRoYXQgUD1FL3QsIHdoZXJlIFAgaXMgcG93ZXIgbWVhc3VyZWQgaW4g d2F0dHMoVyksIEUgaXMgZW5lcmd5IG1lYXN1cmVkIGluIGpvdWxlcyhKKSwKKwkjIGFuZCB0 IGlzIHRpbWUgbWVhc3VyZWQgaW4gc2Vjb25kcyhzKS4gVGhpcyBtZWFucyB0aGF0IHBlcmZv cm1hbmNlIHBlciB3YXR0IGJlY29tZXMKKwkjICAgICAgIFQvdCAgIFQvdCAgICBUCisJIyAg ICAgICAtLS0gPSAtLS0gPSAtLS0KKwkjICAgICAgICBQICAgIEUvdCAgICBFCisJIyB3aXRo IHVuaXQgZ2l2ZW4gYnkgTUIgcGVyIGpvdWxlLgorCXBwdz1gZWNobyAic2NhbGU9NDsoJFRJ TUVfTElNSVQtMSkqJGF2Z190cC8kYXZnX2VuIiB8IGJjIHwgYXdrICd7cHJpbnRmICIlLjRm IiwgJDB9J2AKKwlwcmludGYgIlRiZW5jaC0kMSBwZXJmb3JtYW5jZSBwZXIgd2F0dChNQi9K KTogJHBwd1xuIiB8IHRlZSAtYSAkT1VURklMRV9UQkVOQ0gucmVzdWx0CisJcHJpbnRmICJc biIgfCB0ZWUgLWEgJE9VVEZJTEVfVEJFTkNILnJlc3VsdAorCisJZHJpdmVyX25hbWU9YGVj aG8gJChzY2FsaW5nX25hbWUpYAorCXN0b3JlX2Nzdl90YmVuY2ggIiRkcml2ZXJfbmFtZS0k MSIgIkF2ZXJhZ2UiICRhdmdfZGVzX3BlcmYgJGF2Z19mcmVxICRhdmdfbG9hZCAkYXZnX3Rw ICRhdmdfZW4gJHBwdworfQorCisjICQxOiBiYXNlIHNjYWxpbmdfZHJpdmVyICQyOiBiYXNl IGdvdmVybm9yICQzOiBjb21wYXJhdGl2ZSBzY2FsaW5nX2RyaXZlciAkNDogY29tcGFyYXRp dmUgZ292ZXJub3IKK19fY2FsY19jb21wX3RiZW5jaCgpCit7CisJYmFzZT1gZ3JlcCAiJDEt JDIiICRPVVRGSUxFX1RCRU5DSC5jc3YgfCBncmVwICJBdmVyYWdlImAKKwljb21wPWBncmVw ICIkMy0kNCIgJE9VVEZJTEVfVEJFTkNILmNzdiB8IGdyZXAgIkF2ZXJhZ2UiYAorCisJaWYg WyAtbiAiJGJhc2UiIC1hIC1uICIkY29tcCIgXTsgdGhlbgorCQlwcmludGYgIlxuPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiIgfCB0ZWUg LWEgJE9VVEZJTEVfVEJFTkNILnJlc3VsdAorCQlwcmludGYgIlRiZW5jaCBjb21wYXJpc29u ICQxLSQyIFZTICQzLSQ0IiB8IHRlZSAtYSAkT1VURklMRV9UQkVOQ0gucmVzdWx0CisJCXBy aW50ZiAiXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PVxuIiB8IHRlZSAtYSAkT1VURklMRV9UQkVOQ0gucmVzdWx0CisKKwkJIyBnZXQgdGhl IGJhc2UgdmFsdWVzCisJCWRlc19wZXJmX2Jhc2U9YGVjaG8gIiRiYXNlIiB8IGF3ayAne3By aW50ICQzfScgfCBzZWQgcy8sLy9gCisJCWZyZXFfYmFzZT1gZWNobyAiJGJhc2UiIHwgYXdr ICd7cHJpbnQgJDR9JyB8IHNlZCBzLywvL2AKKwkJbG9hZF9iYXNlPWBlY2hvICIkYmFzZSIg fCBhd2sgJ3twcmludCAkNX0nIHwgc2VkIHMvLC8vYAorCQlwZXJmX2Jhc2U9YGVjaG8gIiRi YXNlIiB8IGF3ayAne3ByaW50ICQ2fScgfCBzZWQgcy8sLy9gCisJCWVuZXJneV9iYXNlPWBl Y2hvICIkYmFzZSIgfCBhd2sgJ3twcmludCAkN30nIHwgc2VkIHMvLC8vYAorCQlwcHdfYmFz ZT1gZWNobyAiJGJhc2UiIHwgYXdrICd7cHJpbnQgJDh9JyB8IHNlZCBzLywvL2AKKworCQkj IGdldCB0aGUgY29tcGFyYXRpdmUgdmFsdWVzCisJCWRlc19wZXJmX2NvbXA9YGVjaG8gIiRj b21wIiB8IGF3ayAne3ByaW50ICQzfScgfCBzZWQgcy8sLy9gCisJCWZyZXFfY29tcD1gZWNo byAiJGNvbXAiIHwgYXdrICd7cHJpbnQgJDR9JyB8IHNlZCBzLywvL2AKKwkJbG9hZF9jb21w PWBlY2hvICIkY29tcCIgfCBhd2sgJ3twcmludCAkNX0nIHwgc2VkIHMvLC8vYAorCQlwZXJm X2NvbXA9YGVjaG8gIiRjb21wIiB8IGF3ayAne3ByaW50ICQ2fScgfCBzZWQgcy8sLy9gCisJ CWVuZXJneV9jb21wPWBlY2hvICIkY29tcCIgfCBhd2sgJ3twcmludCAkN30nIHwgc2VkIHMv LC8vYAorCQlwcHdfY29tcD1gZWNobyAiJGNvbXAiIHwgYXdrICd7cHJpbnQgJDh9JyB8IHNl ZCBzLywvL2AKKworCQkjIGNvbXBhcmUgdGhlIGJhc2UgYW5kIGNvbXAgdmFsdWVzCisJCWRl c19wZXJmX2Ryb3A9YGVjaG8gInNjYWxlPTQ7KCRkZXNfcGVyZl9jb21wLSRkZXNfcGVyZl9i YXNlKSoxMDAvJGRlc19wZXJmX2Jhc2UiIHwgYmMgfCBhd2sgJ3twcmludGYgIiUuNGYiLCAk MH0nYAorCQlwcmludGYgIlRiZW5jaC0kMSBkZXMgcGVyZiBiYXNlOiAkZGVzX3BlcmZfYmFz ZSBjb21wcmlzb246ICRkZXNfcGVyZl9jb21wIHBlcmNlbnQ6ICRkZXNfcGVyZl9kcm9wXG4i IHwgdGVlIC1hICRPVVRGSUxFX1RCRU5DSC5yZXN1bHQKKworCQlmcmVxX2Ryb3A9YGVjaG8g InNjYWxlPTQ7KCRmcmVxX2NvbXAtJGZyZXFfYmFzZSkqMTAwLyRmcmVxX2Jhc2UiIHwgYmMg fCBhd2sgJ3twcmludGYgIiUuNGYiLCAkMH0nYAorCQlwcmludGYgIlRiZW5jaC0kMSBmcmVx IGJhc2U6ICRmcmVxX2Jhc2UgY29tcHJpc29uOiAkZnJlcV9jb21wIHBlcmNlbnQ6ICRmcmVx X2Ryb3BcbiIgfCB0ZWUgLWEgJE9VVEZJTEVfVEJFTkNILnJlc3VsdAorCisJCWxvYWRfZHJv cD1gZWNobyAic2NhbGU9NDsoJGxvYWRfY29tcC0kbG9hZF9iYXNlKSoxMDAvJGxvYWRfYmFz ZSIgfCBiYyB8IGF3ayAne3ByaW50ZiAiJS40ZiIsICQwfSdgCisJCXByaW50ZiAiVGJlbmNo LSQxIGxvYWQgYmFzZTogJGxvYWRfYmFzZSBjb21wcmlzb246ICRsb2FkX2NvbXAgcGVyY2Vu dDogJGxvYWRfZHJvcFxuIiB8IHRlZSAtYSAkT1VURklMRV9UQkVOQ0gucmVzdWx0CisKKwkJ cGVyZl9kcm9wPWBlY2hvICJzY2FsZT00OygkcGVyZl9jb21wLSRwZXJmX2Jhc2UpKjEwMC8k cGVyZl9iYXNlIiB8IGJjIHwgYXdrICd7cHJpbnRmICIlLjRmIiwgJDB9J2AKKwkJcHJpbnRm ICJUYmVuY2gtJDEgcGVyZiBiYXNlOiAkcGVyZl9iYXNlIGNvbXByaXNvbjogJHBlcmZfY29t cCBwZXJjZW50OiAkcGVyZl9kcm9wXG4iIHwgdGVlIC1hICRPVVRGSUxFX1RCRU5DSC5yZXN1 bHQKKworCQllbmVyZ3lfZHJvcD1gZWNobyAic2NhbGU9NDsoJGVuZXJneV9jb21wLSRlbmVy Z3lfYmFzZSkqMTAwLyRlbmVyZ3lfYmFzZSIgfCBiYyB8IGF3ayAne3ByaW50ZiAiJS40ZiIs ICQwfSdgCisJCXByaW50ZiAiVGJlbmNoLSQxIGVuZXJneSBiYXNlOiAkZW5lcmd5X2Jhc2Ug Y29tcHJpc29uOiAkZW5lcmd5X2NvbXAgcGVyY2VudDogJGVuZXJneV9kcm9wXG4iIHwgdGVl IC1hICRPVVRGSUxFX1RCRU5DSC5yZXN1bHQKKworCQlwcHdfZHJvcD1gZWNobyAic2NhbGU9 NDsoJHBwd19jb21wLSRwcHdfYmFzZSkqMTAwLyRwcHdfYmFzZSIgfCBiYyB8IGF3ayAne3By aW50ZiAiJS40ZiIsICQwfSdgCisJCXByaW50ZiAiVGJlbmNoLSQxIHBlcmZvcm1hbmNlIHBl ciB3YXR0IGJhc2U6ICRwcHdfYmFzZSBjb21wcmlzb246ICRwcHdfY29tcCBwZXJjZW50OiAk cHB3X2Ryb3BcbiIgfCB0ZWUgLWEgJE9VVEZJTEVfVEJFTkNILnJlc3VsdAorCQlwcmludGYg IlxuIiB8IHRlZSAtYSAkT1VURklMRV9UQkVOQ0gucmVzdWx0CisKKwkJc3RvcmVfY3N2X3Ri ZW5jaCAiJDEtJDIgVlMgJDMtJDQiICJDb21wcmlzb24oJSkiICIkZGVzX3BlcmZfZHJvcCIg IiRmcmVxX2Ryb3AiICIkbG9hZF9kcm9wIiAiJHBlcmZfZHJvcCIgIiRlbmVyZ3lfZHJvcCIg IiRwcHdfZHJvcCIKKwlmaQorfQorCisjIGNhbGN1bGF0ZSB0aGUgY29tcGFyaXNvbiglKQor Y2FsY19jb21wX3RiZW5jaCgpCit7CisJIyBhY3BpLWNwdWZyZXEtb25kZW1hbmQgVlMgYWNw aS1jcHVmcmVxLXNjaGVkdXRpbAorCV9fY2FsY19jb21wX3RiZW5jaCAke2FsbF9zY2FsaW5n X25hbWVzWzBdfSAke3RiZW5jaF9nb3Zlcm5vcnNbMF19ICR7YWxsX3NjYWxpbmdfbmFtZXNb MF19ICR7dGJlbmNoX2dvdmVybm9yc1sxXX0KKworCSMgYW1kLXBzdGF0ZS1vbmRlbWFuZCBW UyBhbWQtcHN0YXRlLXNjaGVkdXRpbAorCV9fY2FsY19jb21wX3RiZW5jaCAke2FsbF9zY2Fs aW5nX25hbWVzWzFdfSAke3RiZW5jaF9nb3Zlcm5vcnNbMF19ICR7YWxsX3NjYWxpbmdfbmFt ZXNbMV19ICR7dGJlbmNoX2dvdmVybm9yc1sxXX0KKworCSMgYWNwaS1jcHVmcmVxLW9uZGVt YW5kIFZTIGFtZC1wc3RhdGUtb25kZW1hbmQKKwlfX2NhbGNfY29tcF90YmVuY2ggJHthbGxf c2NhbGluZ19uYW1lc1swXX0gJHt0YmVuY2hfZ292ZXJub3JzWzBdfSAke2FsbF9zY2FsaW5n X25hbWVzWzFdfSAke3RiZW5jaF9nb3Zlcm5vcnNbMF19CisKKwkjIGFjcGktY3B1ZnJlcS1z Y2hlZHV0aWwgVlMgYW1kLXBzdGF0ZS1zY2hlZHV0aWwKKwlfX2NhbGNfY29tcF90YmVuY2gg JHthbGxfc2NhbGluZ19uYW1lc1swXX0gJHt0YmVuY2hfZ292ZXJub3JzWzFdfSAke2FsbF9z Y2FsaW5nX25hbWVzWzFdfSAke3RiZW5jaF9nb3Zlcm5vcnNbMV19Cit9CisKKyMgJDE6IGZp bGVfbmFtZSwgJDI6IHRpdGxlLCAkMzogeWxhYmxlLCAkNDogY29sdW1uCitwbG90X3BuZ190 YmVuY2goKQoreworCSMgYWxsX3NjYWxpbmdfbmFtZXNbMV0gYWxsX3NjYWxpbmdfbmFtZXNb MF0gZmxhZworCSMgICAgYW1kLXBzdGF0ZSAgICAgICAgICAgYWNwaS1jcHVmcmVxCisJIyAg ICAgICAgIE4gICAgICAgICAgICAgICAgICAgTiAgICAgICAgICAgICAwCisJIyAgICAgICAg IE4gICAgICAgICAgICAgICAgICAgWSAgICAgICAgICAgICAxCisJIyAgICAgICAgIFkgICAg ICAgICAgICAgICAgICAgTiAgICAgICAgICAgICAyCisJIyAgICAgICAgIFkgICAgICAgICAg ICAgICAgICAgWSAgICAgICAgICAgICAzCisJcmV0PWBncmVwIC1jICIke2FsbF9zY2FsaW5n X25hbWVzWzFdfSIgJE9VVEZJTEVfVEJFTkNILmNzdmAKKwlpZiBbICRyZXQgLWVxIDAgXTsg dGhlbgorCQlyZXQ9YGdyZXAgLWMgIiR7YWxsX3NjYWxpbmdfbmFtZXNbMF19IiAkT1VURklM RV9UQkVOQ0guY3N2YAorCQlpZiBbICRyZXQgLWVxIDAgXTsgdGhlbgorCQkJZmxhZz0wCisJ CWVsc2UKKwkJCWZsYWc9MQorCQlmaQorCWVsc2UKKwkJcmV0PWBncmVwIC1jICIke2FsbF9z Y2FsaW5nX25hbWVzWzBdfSIgJE9VVEZJTEVfVEJFTkNILmNzdmAKKwkJaWYgWyAkcmV0IC1l cSAwIF07IHRoZW4KKwkJCWZsYWc9MgorCQllbHNlCisJCQlmbGFnPTMKKwkJZmkKKwlmaQor CisJZ251cGxvdCA8PCBFT0YKKwkJc2V0IHRlcm0gcG5nCisJCXNldCBvdXRwdXQgIiQxIgor CisJCXNldCB0aXRsZSAiJDIiCisJCXNldCB4bGFiZWwgIlRlc3QgQ3ljbGVzIChyb3VuZCki CisJCXNldCB5bGFiZWwgIiQzIgorCisJCXNldCBncmlkCisJCXNldCBzdHlsZSBkYXRhIGhp c3RvZ3JhbQorCQlzZXQgc3R5bGUgZmlsbCBzb2xpZCAwLjUgYm9yZGVyCisJCXNldCBib3h3 aWR0aCAwLjgKKworCQlpZiAoJGZsYWcgPT0gMSkgeworCQkJcGxvdCBcCisJCQkiPChzZWQg LW4gLWUgJ3MvLC8vZycgLWUgJy8ke2FsbF9zY2FsaW5nX25hbWVzWzBdfS0ke3RiZW5jaF9n b3Zlcm5vcnNbMF19L3AnICRPVVRGSUxFX1RCRU5DSC5jc3YpIiB1c2luZyAkNDp4dGljKDIp IHRpdGxlICIke2FsbF9zY2FsaW5nX25hbWVzWzBdfS0ke3RiZW5jaF9nb3Zlcm5vcnNbMF19 IiwgXAorCQkJIjwoc2VkIC1uIC1lICdzLywvL2cnIC1lICcvJHthbGxfc2NhbGluZ19uYW1l c1swXX0tJHt0YmVuY2hfZ292ZXJub3JzWzFdfS9wJyAkT1VURklMRV9UQkVOQ0guY3N2KSIg dXNpbmcgJDQ6eHRpYygyKSB0aXRsZSAiJHthbGxfc2NhbGluZ19uYW1lc1swXX0tJHt0YmVu Y2hfZ292ZXJub3JzWzFdfSIKKwkJfSBlbHNlIHsKKwkJCWlmICgkZmxhZyA9PSAyKSB7CisJ CQkJcGxvdCBcCisJCQkJIjwoc2VkIC1uIC1lICdzLywvL2cnIC1lICcvJHthbGxfc2NhbGlu Z19uYW1lc1sxXX0tJHt0YmVuY2hfZ292ZXJub3JzWzBdfS9wJyAkT1VURklMRV9UQkVOQ0gu Y3N2KSIgdXNpbmcgJDQ6eHRpYygyKSB0aXRsZSAiJHthbGxfc2NhbGluZ19uYW1lc1sxXX0t JHt0YmVuY2hfZ292ZXJub3JzWzBdfSIsIFwKKwkJCQkiPChzZWQgLW4gLWUgJ3MvLC8vZycg LWUgJy8ke2FsbF9zY2FsaW5nX25hbWVzWzFdfS0ke3RiZW5jaF9nb3Zlcm5vcnNbMV19L3An ICRPVVRGSUxFX1RCRU5DSC5jc3YpIiB1c2luZyAkNDp4dGljKDIpIHRpdGxlICIke2FsbF9z Y2FsaW5nX25hbWVzWzFdfS0ke3RiZW5jaF9nb3Zlcm5vcnNbMV19IgorCQkJfSBlbHNlIHsK KwkJCQlpZiAoJGZsYWcgPT0gMyApIHsKKwkJCQkJcGxvdCBcCisJCQkJCSI8KHNlZCAtbiAt ZSAncy8sLy9nJyAtZSAnLyR7YWxsX3NjYWxpbmdfbmFtZXNbMF19LSR7dGJlbmNoX2dvdmVy bm9yc1swXX0vcCcgJE9VVEZJTEVfVEJFTkNILmNzdikiIHVzaW5nICQ0Onh0aWMoMikgdGl0 bGUgIiR7YWxsX3NjYWxpbmdfbmFtZXNbMF19LSR7dGJlbmNoX2dvdmVybm9yc1swXX0iLCBc CisJCQkJCSI8KHNlZCAtbiAtZSAncy8sLy9nJyAtZSAnLyR7YWxsX3NjYWxpbmdfbmFtZXNb MF19LSR7dGJlbmNoX2dvdmVybm9yc1sxXX0vcCcgJE9VVEZJTEVfVEJFTkNILmNzdikiIHVz aW5nICQ0Onh0aWMoMikgdGl0bGUgIiR7YWxsX3NjYWxpbmdfbmFtZXNbMF19LSR7dGJlbmNo X2dvdmVybm9yc1sxXX0iLCBcCisJCQkJCSI8KHNlZCAtbiAtZSAncy8sLy9nJyAtZSAnLyR7 YWxsX3NjYWxpbmdfbmFtZXNbMV19LSR7dGJlbmNoX2dvdmVybm9yc1swXX0vcCcgJE9VVEZJ TEVfVEJFTkNILmNzdikiIHVzaW5nICQ0Onh0aWMoMikgdGl0bGUgIiR7YWxsX3NjYWxpbmdf bmFtZXNbMV19LSR7dGJlbmNoX2dvdmVybm9yc1swXX0iLCBcCisJCQkJCSI8KHNlZCAtbiAt ZSAncy8sLy9nJyAtZSAnLyR7YWxsX3NjYWxpbmdfbmFtZXNbMV19LSR7dGJlbmNoX2dvdmVy bm9yc1sxXX0vcCcgJE9VVEZJTEVfVEJFTkNILmNzdikiIHVzaW5nICQ0Onh0aWMoMikgdGl0 bGUgIiR7YWxsX3NjYWxpbmdfbmFtZXNbMV19LSR7dGJlbmNoX2dvdmVybm9yc1sxXX0iCisJ CQkJfQorCQkJfQorCQl9CisJCXF1aXQKK0VPRgorfQorCithbWRfcHN0YXRlX3RiZW5jaCgp Cit7CisJcHJpbnRmICJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLVxuIgorCXByaW50ZiAiKioqIFJ1bm5pbmcgdGJlbmNoICAgICAgICAgICAgICAg ICAgICAgICAgKioqIgorCXByaW50ZiAiXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS1cbiIKKworCXByZV9jbGVhcl90YmVuY2gKKworCWdldF9saW5l c19jc3ZfdGJlbmNoICJHb3Zlcm5vciIKKwlpZiBbICQ/IC1lcSAwIF07IHRoZW4KKwkJIyBh ZGQgdGl0bGVzIGFuZCB1bml0IGZvciBjc3YgZmlsZQorCQlzdG9yZV9jc3ZfdGJlbmNoICJH b3Zlcm5vciIgIlJvdW5kIiAiRGVzLXBlcmYiICJGcmVxIiAiTG9hZCIgIlBlcmZvcm1hbmNl IiAiRW5lcmd5IiAiUGVyZm9ybWFuY2UgUGVyIFdhdHQiCisJCXN0b3JlX2Nzdl90YmVuY2gg IlVuaXQiICIiICIiICJHSHoiICIiICJNQi9zIiAiSiIgIk1CL0oiCisJZmkKKworCWJhY2t1 cF9nb3Zlcm5vcgorCWZvciBnb3Zlcm5vciBpbiAke3RiZW5jaF9nb3Zlcm5vcnNbKl19IDsg ZG8KKwkJcHJpbnRmICJcblNwZWNpZmllZCBnb3Zlcm5vciBpcyAkZ292ZXJub3JcblxuIgor CQlzd2l0Y2hfZ292ZXJub3IgJGdvdmVybm9yCisJCWxvb3BfdGJlbmNoICRnb3Zlcm5vcgor CQlnYXRoZXJfdGJlbmNoICRnb3Zlcm5vcgorCWRvbmUKKwlyZXN0b3JlX2dvdmVybm9yCisK KwlwbG90X3BuZ190YmVuY2ggInRiZW5jaF9wZXJmcm9tYW5jZS5wbmciICJUYmVuY2ggQmVu Y2htYXJrIFBlcmZvcm1hbmNlIiAiUGVyZm9ybWFuY2UiIDYKKwlwbG90X3BuZ190YmVuY2gg InRiZW5jaF9lbmVyZ3kucG5nIiAiVGJlbmNoIEJlbmNobWFyayBFbmVyZ3kiICJFbmVyZ3kg KEopIiA3CisJcGxvdF9wbmdfdGJlbmNoICJ0YmVuY2hfcHB3LnBuZyIgIlRiZW5jaCBCZW5j aG1hcmsgUGVyZm9ybWFuY2UgUGVyIFdhdHQiICJQZXJmb3JtYW5jZSBQZXIgV2F0dCAoTUIv SikiIDgKKworCWNhbGNfY29tcF90YmVuY2gKKworCXBvc3RfY2xlYXJfdGJlbmNoCit9CmRp ZmYgLS1naXQgYS90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9lZml2YXJmcy9lZml2YXJmcy5z aCBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2VmaXZhcmZzL2VmaXZhcmZzLnNoCmluZGV4 IGE5MGYzOTRmOWFhOS4uZDM3NDg3OGNjMGJhIDEwMDc1NQotLS0gYS90b29scy90ZXN0aW5n L3NlbGZ0ZXN0cy9lZml2YXJmcy9lZml2YXJmcy5zaAorKysgYi90b29scy90ZXN0aW5nL3Nl bGZ0ZXN0cy9lZml2YXJmcy9lZml2YXJmcy5zaApAQCAtODcsNiArODcsMTEgQEAgdGVzdF9j cmVhdGVfcmVhZCgpCiB7CiAJbG9jYWwgZmlsZT0kZWZpdmFyZnNfbW91bnQvJEZVTkNOQU1F LSR0ZXN0X2d1aWQKIAkuL2NyZWF0ZS1yZWFkICRmaWxlCisJaWYgWyAkPyAtbmUgMCBdOyB0 aGVuCisJCWVjaG8gImNyZWF0ZSBhbmQgcmVhZCAkZmlsZSBmYWlsZWQiCisJCWZpbGVfY2xl YW51cCAkZmlsZQorCQlleGl0IDEKKwlmaQogCWZpbGVfY2xlYW51cCAkZmlsZQogfQogCmRp ZmYgLS1naXQgYS90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9mdHJhY2UvdGVzdC5kL2Z0cmFj ZS9mdW5jX2V2ZW50X3RyaWdnZXJzLnRjIGIvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvZnRy YWNlL3Rlc3QuZC9mdHJhY2UvZnVuY19ldmVudF90cmlnZ2Vycy50YwppbmRleCA4ZDI2ZDU1 MDU4MDguLjNlZWEyYWJmNjhmOSAxMDA2NDQKLS0tIGEvdG9vbHMvdGVzdGluZy9zZWxmdGVz dHMvZnRyYWNlL3Rlc3QuZC9mdHJhY2UvZnVuY19ldmVudF90cmlnZ2Vycy50YworKysgYi90 b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9mdHJhY2UvdGVzdC5kL2Z0cmFjZS9mdW5jX2V2ZW50 X3RyaWdnZXJzLnRjCkBAIC0zOCwxMSArMzgsMTggQEAgY250X3RyYWNlKCkgewogCiB0ZXN0 X2V2ZW50X2VuYWJsZWQoKSB7CiAgICAgdmFsPSQxCisgICAgY2hlY2tfdGltZXM9MTAJCSMg d2FpdCBmb3IgMTAgKiBTTEVFUF9USU1FIGF0IG1vc3QKIAotICAgIGU9YGNhdCAkRVZFTlRf RU5BQkxFYAotICAgIGlmIFsgIiRlIiAhPSAkdmFsIF07IHRoZW4KLQlmYWlsICJFeHBlY3Rl ZCAkdmFsIGJ1dCBmb3VuZCAkZSIKLSAgICBmaQorICAgIHdoaWxlIFsgJGNoZWNrX3RpbWVz IC1uZSAwIF07IGRvCisJZT1gY2F0ICRFVkVOVF9FTkFCTEVgCisJaWYgWyAiJGUiID09ICR2 YWwgXTsgdGhlbgorCSAgICByZXR1cm4gMAorCWZpCisJc2xlZXAgJFNMRUVQX1RJTUUKKwlj aGVja190aW1lcz0kKChjaGVja190aW1lcyAtIDEpKQorICAgIGRvbmUKKworICAgIGZhaWwg IkV4cGVjdGVkICR2YWwgYnV0IGZvdW5kICRlIgogfQogCiBydW5fZW5hYmxlX2Rpc2FibGUo KSB7CmRpZmYgLS1naXQgYS90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9mdHJhY2UvdGVzdC5k L2Z1bmN0aW9ucyBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2Z0cmFjZS90ZXN0LmQvZnVu Y3Rpb25zCmluZGV4IDVmNmNiZWM4NDdmYy4uNzc5ZjNlNjJlYzkwIDEwMDY0NAotLS0gYS90 b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9mdHJhY2UvdGVzdC5kL2Z1bmN0aW9ucworKysgYi90 b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9mdHJhY2UvdGVzdC5kL2Z1bmN0aW9ucwpAQCAtMTQy LDkgKzE0MiwxNSBAQCBmaW5pc2hfZnRyYWNlKCkgewogCiBjaGVja19yZXF1aXJlcygpIHsg IyBDaGVjayByZXF1aXJlZCBmaWxlcyBhbmQgdHJhY2VycwogICAgIGZvciBpIGluICIkQCIg OyBkbworCXA9JHtpJTpwcm9ncmFtfQogICAgICAgICByPSR7aSU6UkVBRE1FfQogICAgICAg ICB0PSR7aSU6dHJhY2VyfQotICAgICAgICBpZiBbICR0ICE9ICRpIF07IHRoZW4KKwlpZiBb ICRwICE9ICRpIF07IHRoZW4KKwkgICAgaWYgISB3aGljaCAkcCA7IHRoZW4KKyAgICAgICAg ICAgICAgICBlY2hvICJSZXF1aXJlZCBwcm9ncmFtICRwIGlzIG5vdCBmb3VuZC4iCisgICAg ICAgICAgICAgICAgZXhpdF91bnJlc29sdmVkCisJICAgIGZpCisgICAgICAgIGVsaWYgWyAk dCAhPSAkaSBdOyB0aGVuCiAgICAgICAgICAgICBpZiAhIGdyZXAgLXdxICR0IGF2YWlsYWJs ZV90cmFjZXJzIDsgdGhlbgogICAgICAgICAgICAgICAgIGVjaG8gIlJlcXVpcmVkIHRyYWNl ciAkdCBpcyBub3QgY29uZmlndXJlZC4iCiAgICAgICAgICAgICAgICAgZXhpdF91bnN1cHBv cnRlZApkaWZmIC0tZ2l0IGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvZnRyYWNlL3Rlc3Qu ZC9wcmVlbXB0aXJxL2lycXNvZmZfdHJhY2VyLnRjIGIvdG9vbHMvdGVzdGluZy9zZWxmdGVz dHMvZnRyYWNlL3Rlc3QuZC9wcmVlbXB0aXJxL2lycXNvZmZfdHJhY2VyLnRjCmluZGV4IDIy YmZmMTIyYjkzMy4uYmExMDM4OTUzODczIDEwMDY0NAotLS0gYS90b29scy90ZXN0aW5nL3Nl bGZ0ZXN0cy9mdHJhY2UvdGVzdC5kL3ByZWVtcHRpcnEvaXJxc29mZl90cmFjZXIudGMKKysr IGIvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvZnRyYWNlL3Rlc3QuZC9wcmVlbXB0aXJxL2ly cXNvZmZfdHJhY2VyLnRjCkBAIC00NiwxMCArNDYsMTAgQEAgY2F0IHRyYWNlCiBncmVwIC1x ICJ0cmFjZXI6IHByZWVtcHRvZmYiIHRyYWNlIHx8IGZhaWwKIAogIyBDaGVjayB0aGUgZW5k IG9mIHRoZSBzZWN0aW9uCi1lZ3JlcCAtcSAiNS4uLi4udXMgOiA8c3RhY2sgdHJhY2U+IiB0 cmFjZSB8fCBmYWlsCitncmVwIC1FIC1xICI1Li4uLi51cyA6IDxzdGFjayB0cmFjZT4iIHRy YWNlIHx8IGZhaWwKIAogIyBDaGVjayBmb3IgNTAwbXMgb2YgbGF0ZW5jeQotZWdyZXAgLXEg ImxhdGVuY3k6IDUuLi4uLiB1cyIgdHJhY2UgfHwgZmFpbAorZ3JlcCAtRSAtcSAibGF0ZW5j eTogNS4uLi4uIHVzIiB0cmFjZSB8fCBmYWlsCiAKIHJlc2V0X3RyYWNlcgogCkBAIC02OSwx MCArNjksMTAgQEAgY2F0IHRyYWNlCiBncmVwIC1xICJ0cmFjZXI6IGlycXNvZmYiIHRyYWNl IHx8IGZhaWwKIAogIyBDaGVjayB0aGUgZW5kIG9mIHRoZSBzZWN0aW9uCi1lZ3JlcCAtcSAi NS4uLi4udXMgOiA8c3RhY2sgdHJhY2U+IiB0cmFjZSB8fCBmYWlsCitncmVwIC1FIC1xICI1 Li4uLi51cyA6IDxzdGFjayB0cmFjZT4iIHRyYWNlIHx8IGZhaWwKIAogIyBDaGVjayBmb3Ig NTAwbXMgb2YgbGF0ZW5jeQotZWdyZXAgLXEgImxhdGVuY3k6IDUuLi4uLiB1cyIgdHJhY2Ug fHwgZmFpbAorZ3JlcCAtRSAtcSAibGF0ZW5jeTogNS4uLi4uIHVzIiB0cmFjZSB8fCBmYWls CiAKIHJlc2V0X3RyYWNlcgogZXhpdCAwCmRpZmYgLS1naXQgYS90b29scy90ZXN0aW5nL3Nl bGZ0ZXN0cy9mdHJhY2UvdGVzdC5kL3RyYWNlci93YWtldXAudGMgYi90b29scy90ZXN0aW5n L3NlbGZ0ZXN0cy9mdHJhY2UvdGVzdC5kL3RyYWNlci93YWtldXAudGMKaW5kZXggMTFiZTEw ZTFiZjk2Li5lOGYwZmFjOWExMTAgMTAwNjQ0Ci0tLSBhL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRl c3RzL2Z0cmFjZS90ZXN0LmQvdHJhY2VyL3dha2V1cC50YworKysgYi90b29scy90ZXN0aW5n L3NlbGZ0ZXN0cy9mdHJhY2UvdGVzdC5kL3RyYWNlci93YWtldXAudGMKQEAgLTEsMTIgKzEs NyBAQAogIyEvYmluL3NoCiAjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wCiAj IGRlc2NyaXB0aW9uOiBUZXN0IHdha2V1cCB0cmFjZXIKLSMgcmVxdWlyZXM6IHdha2V1cDp0 cmFjZXIKLQotaWYgISB3aGljaCBjaHJ0IDsgdGhlbgotICBlY2hvICJjaHJ0IGlzIG5vdCBm b3VuZC4gVGhpcyB0ZXN0IHJlcXVpcmVzIG5pY2UgY29tbWFuZC4iCi0gIGV4aXRfdW5yZXNv bHZlZAotZmkKKyMgcmVxdWlyZXM6IHdha2V1cDp0cmFjZXIgY2hydDpwcm9ncmFtCiAKIGVj aG8gd2FrZXVwID4gY3VycmVudF90cmFjZXIKIGVjaG8gMSA+IHRyYWNpbmdfb24KZGlmZiAt LWdpdCBhL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2Z0cmFjZS90ZXN0LmQvdHJhY2VyL3dh a2V1cF9ydC50YyBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2Z0cmFjZS90ZXN0LmQvdHJh Y2VyL3dha2V1cF9ydC50YwppbmRleCAzYTc3MTk4YjNjNjkuLjc5ODA3NjU2Nzg1YiAxMDA2 NDQKLS0tIGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvZnRyYWNlL3Rlc3QuZC90cmFjZXIv d2FrZXVwX3J0LnRjCisrKyBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2Z0cmFjZS90ZXN0 LmQvdHJhY2VyL3dha2V1cF9ydC50YwpAQCAtMSwxMiArMSw3IEBACiAjIS9iaW4vc2gKICMg U1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAKICMgZGVzY3JpcHRpb246IFRlc3Qg d2FrZXVwIFJUIHRyYWNlcgotIyByZXF1aXJlczogd2FrZXVwX3J0OnRyYWNlcgotCi1pZiAh IHdoaWNoIGNocnQgOyB0aGVuCi0gIGVjaG8gImNocnQgaXMgbm90IGZvdW5kLiBUaGlzIHRl c3QgcmVxdWlyZXMgY2hydCBjb21tYW5kLiIKLSAgZXhpdF91bnJlc29sdmVkCi1maQorIyBy ZXF1aXJlczogd2FrZXVwX3J0OnRyYWNlciBjaHJ0OnByb2dyYW0KIAogZWNobyB3YWtldXBf cnQgPiBjdXJyZW50X3RyYWNlcgogZWNobyAxID4gdHJhY2luZ19vbgpkaWZmIC0tZ2l0IGEv dG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvZnRyYWNlL3Rlc3QuZC90cmlnZ2VyL2ludGVyLWV2 ZW50L3RyaWdnZXItZmllbGQtdmFyaWFibGUtc3VwcG9ydC50YyBiL3Rvb2xzL3Rlc3Rpbmcv c2VsZnRlc3RzL2Z0cmFjZS90ZXN0LmQvdHJpZ2dlci9pbnRlci1ldmVudC90cmlnZ2VyLWZp ZWxkLXZhcmlhYmxlLXN1cHBvcnQudGMKaW5kZXggNDExMTllMDQ0MGU5Li4wNGM1ZGQ3ZDBh Y2MgMTAwNjQ0Ci0tLSBhL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2Z0cmFjZS90ZXN0LmQv dHJpZ2dlci9pbnRlci1ldmVudC90cmlnZ2VyLWZpZWxkLXZhcmlhYmxlLXN1cHBvcnQudGMK KysrIGIvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvZnRyYWNlL3Rlc3QuZC90cmlnZ2VyL2lu dGVyLWV2ZW50L3RyaWdnZXItZmllbGQtdmFyaWFibGUtc3VwcG9ydC50YwpAQCAtMSw3ICsx LDcgQEAKICMhL2Jpbi9zaAogIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMAog IyBkZXNjcmlwdGlvbjogZXZlbnQgdHJpZ2dlciAtIHRlc3QgZmllbGQgdmFyaWFibGUgc3Vw cG9ydAotIyByZXF1aXJlczogc2V0X2V2ZW50IHN5bnRoZXRpY19ldmVudHMgZXZlbnRzL3Nj aGVkL3NjaGVkX3Byb2Nlc3NfZm9yay9oaXN0CisjIHJlcXVpcmVzOiBzZXRfZXZlbnQgc3lu dGhldGljX2V2ZW50cyBldmVudHMvc2NoZWQvc2NoZWRfcHJvY2Vzc19mb3JrL2hpc3QgcGlu Zzpwcm9ncmFtCiAKIGZhaWwoKSB7ICNtc2cKICAgICBlY2hvICQxCmRpZmYgLS1naXQgYS90 b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9mdHJhY2UvdGVzdC5kL3RyaWdnZXIvaW50ZXItZXZl bnQvdHJpZ2dlci1pbnRlci1ldmVudC1jb21iaW5lZC1oaXN0LnRjIGIvdG9vbHMvdGVzdGlu Zy9zZWxmdGVzdHMvZnRyYWNlL3Rlc3QuZC90cmlnZ2VyL2ludGVyLWV2ZW50L3RyaWdnZXIt aW50ZXItZXZlbnQtY29tYmluZWQtaGlzdC50YwppbmRleCA5MDk4ZjFlNzQzM2YuLmY3NDQ3 ZDgwMDg5OSAxMDA2NDQKLS0tIGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvZnRyYWNlL3Rl c3QuZC90cmlnZ2VyL2ludGVyLWV2ZW50L3RyaWdnZXItaW50ZXItZXZlbnQtY29tYmluZWQt aGlzdC50YworKysgYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9mdHJhY2UvdGVzdC5kL3Ry aWdnZXIvaW50ZXItZXZlbnQvdHJpZ2dlci1pbnRlci1ldmVudC1jb21iaW5lZC1oaXN0LnRj CkBAIC0xLDcgKzEsNyBAQAogIyEvYmluL3NoCiAjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVy OiBHUEwtMi4wCiAjIGRlc2NyaXB0aW9uOiBldmVudCB0cmlnZ2VyIC0gdGVzdCBpbnRlci1l dmVudCBjb21iaW5lZCBoaXN0b2dyYW0gdHJpZ2dlcgotIyByZXF1aXJlczogc2V0X2V2ZW50 IHN5bnRoZXRpY19ldmVudHMgZXZlbnRzL3NjaGVkL3NjaGVkX3Byb2Nlc3NfZm9yay9oaXN0 CisjIHJlcXVpcmVzOiBzZXRfZXZlbnQgc3ludGhldGljX2V2ZW50cyBldmVudHMvc2NoZWQv c2NoZWRfcHJvY2Vzc19mb3JrL2hpc3QgcGluZzpwcm9ncmFtCiAKIGZhaWwoKSB7ICNtc2cK ICAgICBlY2hvICQxCmRpZmYgLS1naXQgYS90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9mdHJh Y2UvdGVzdC5kL3RyaWdnZXIvaW50ZXItZXZlbnQvdHJpZ2dlci1vbmNoYW5nZS1hY3Rpb24t aGlzdC50YyBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2Z0cmFjZS90ZXN0LmQvdHJpZ2dl ci9pbnRlci1ldmVudC90cmlnZ2VyLW9uY2hhbmdlLWFjdGlvbi1oaXN0LnRjCmluZGV4IGFk YWFiYjg3M2VkNC4uOTEzMzljMTMwODMyIDEwMDY0NAotLS0gYS90b29scy90ZXN0aW5nL3Nl bGZ0ZXN0cy9mdHJhY2UvdGVzdC5kL3RyaWdnZXIvaW50ZXItZXZlbnQvdHJpZ2dlci1vbmNo YW5nZS1hY3Rpb24taGlzdC50YworKysgYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9mdHJh Y2UvdGVzdC5kL3RyaWdnZXIvaW50ZXItZXZlbnQvdHJpZ2dlci1vbmNoYW5nZS1hY3Rpb24t aGlzdC50YwpAQCAtMSw3ICsxLDcgQEAKICMhL2Jpbi9zaAogIyBTUERYLUxpY2Vuc2UtSWRl bnRpZmllcjogR1BMLTIuMAogIyBkZXNjcmlwdGlvbjogZXZlbnQgdHJpZ2dlciAtIHRlc3Qg aW50ZXItZXZlbnQgaGlzdG9ncmFtIHRyaWdnZXIgb25jaGFuZ2UgYWN0aW9uCi0jIHJlcXVp cmVzOiBzZXRfZXZlbnQgIm9uY2hhbmdlKHZhcikiOlJFQURNRQorIyByZXF1aXJlczogc2V0 X2V2ZW50ICJvbmNoYW5nZSh2YXIpIjpSRUFETUUgcGluZzpwcm9ncmFtCiAKIGZhaWwoKSB7 ICNtc2cKICAgICBlY2hvICQxCmRpZmYgLS1naXQgYS90b29scy90ZXN0aW5nL3NlbGZ0ZXN0 cy9mdHJhY2UvdGVzdC5kL3RyaWdnZXIvaW50ZXItZXZlbnQvdHJpZ2dlci1vbm1hdGNoLWFj dGlvbi1oaXN0LnRjIGIvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvZnRyYWNlL3Rlc3QuZC90 cmlnZ2VyL2ludGVyLWV2ZW50L3RyaWdnZXItb25tYXRjaC1hY3Rpb24taGlzdC50YwppbmRl eCAyMGUzOTQ3MTA1MmUuLmQ2NDVhYmNmMTFjNCAxMDA2NDQKLS0tIGEvdG9vbHMvdGVzdGlu Zy9zZWxmdGVzdHMvZnRyYWNlL3Rlc3QuZC90cmlnZ2VyL2ludGVyLWV2ZW50L3RyaWdnZXIt b25tYXRjaC1hY3Rpb24taGlzdC50YworKysgYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9m dHJhY2UvdGVzdC5kL3RyaWdnZXIvaW50ZXItZXZlbnQvdHJpZ2dlci1vbm1hdGNoLWFjdGlv bi1oaXN0LnRjCkBAIC0xLDcgKzEsNyBAQAogIyEvYmluL3NoCiAjIFNQRFgtTGljZW5zZS1J ZGVudGlmaWVyOiBHUEwtMi4wCiAjIGRlc2NyaXB0aW9uOiBldmVudCB0cmlnZ2VyIC0gdGVz dCBpbnRlci1ldmVudCBoaXN0b2dyYW0gdHJpZ2dlciBvbm1hdGNoIGFjdGlvbgotIyByZXF1 aXJlczogc2V0X2V2ZW50IHN5bnRoZXRpY19ldmVudHMgZXZlbnRzL3NjaGVkL3NjaGVkX3By b2Nlc3NfZm9yay9oaXN0CisjIHJlcXVpcmVzOiBzZXRfZXZlbnQgc3ludGhldGljX2V2ZW50 cyBldmVudHMvc2NoZWQvc2NoZWRfcHJvY2Vzc19mb3JrL2hpc3QgcGluZzpwcm9ncmFtCiAK IGZhaWwoKSB7ICNtc2cKICAgICBlY2hvICQxCmRpZmYgLS1naXQgYS90b29scy90ZXN0aW5n L3NlbGZ0ZXN0cy9mdHJhY2UvdGVzdC5kL3RyaWdnZXIvaW50ZXItZXZlbnQvdHJpZ2dlci1v bm1hdGNoLW9ubWF4LWFjdGlvbi1oaXN0LnRjIGIvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMv ZnRyYWNlL3Rlc3QuZC90cmlnZ2VyL2ludGVyLWV2ZW50L3RyaWdnZXItb25tYXRjaC1vbm1h eC1hY3Rpb24taGlzdC50YwppbmRleCBmNGIwM2FiN2MyODcuLmMzNjkyNDdlZmIzNSAxMDA2 NDQKLS0tIGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvZnRyYWNlL3Rlc3QuZC90cmlnZ2Vy L2ludGVyLWV2ZW50L3RyaWdnZXItb25tYXRjaC1vbm1heC1hY3Rpb24taGlzdC50YworKysg Yi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9mdHJhY2UvdGVzdC5kL3RyaWdnZXIvaW50ZXIt ZXZlbnQvdHJpZ2dlci1vbm1hdGNoLW9ubWF4LWFjdGlvbi1oaXN0LnRjCkBAIC0xLDcgKzEs NyBAQAogIyEvYmluL3NoCiAjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wCiAj IGRlc2NyaXB0aW9uOiBldmVudCB0cmlnZ2VyIC0gdGVzdCBpbnRlci1ldmVudCBoaXN0b2dy YW0gdHJpZ2dlciBvbm1hdGNoLW9ubWF4IGFjdGlvbgotIyByZXF1aXJlczogc2V0X2V2ZW50 IHN5bnRoZXRpY19ldmVudHMgZXZlbnRzL3NjaGVkL3NjaGVkX3Byb2Nlc3NfZm9yay9oaXN0 CisjIHJlcXVpcmVzOiBzZXRfZXZlbnQgc3ludGhldGljX2V2ZW50cyBldmVudHMvc2NoZWQv c2NoZWRfcHJvY2Vzc19mb3JrL2hpc3QgcGluZzpwcm9ncmFtCiAKIGZhaWwoKSB7ICNtc2cK ICAgICBlY2hvICQxCmRpZmYgLS1naXQgYS90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9mdHJh Y2UvdGVzdC5kL3RyaWdnZXIvaW50ZXItZXZlbnQvdHJpZ2dlci1vbm1heC1hY3Rpb24taGlz dC50YyBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2Z0cmFjZS90ZXN0LmQvdHJpZ2dlci9p bnRlci1ldmVudC90cmlnZ2VyLW9ubWF4LWFjdGlvbi1oaXN0LnRjCmluZGV4IDcxYzliNTkx MWM3MC4uZTI4ZGM1ZjExYjJiIDEwMDY0NAotLS0gYS90b29scy90ZXN0aW5nL3NlbGZ0ZXN0 cy9mdHJhY2UvdGVzdC5kL3RyaWdnZXIvaW50ZXItZXZlbnQvdHJpZ2dlci1vbm1heC1hY3Rp b24taGlzdC50YworKysgYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9mdHJhY2UvdGVzdC5k L3RyaWdnZXIvaW50ZXItZXZlbnQvdHJpZ2dlci1vbm1heC1hY3Rpb24taGlzdC50YwpAQCAt MSw3ICsxLDcgQEAKICMhL2Jpbi9zaAogIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BM LTIuMAogIyBkZXNjcmlwdGlvbjogZXZlbnQgdHJpZ2dlciAtIHRlc3QgaW50ZXItZXZlbnQg aGlzdG9ncmFtIHRyaWdnZXIgb25tYXggYWN0aW9uCi0jIHJlcXVpcmVzOiBzZXRfZXZlbnQg c3ludGhldGljX2V2ZW50cyBldmVudHMvc2NoZWQvc2NoZWRfcHJvY2Vzc19mb3JrL2hpc3QK KyMgcmVxdWlyZXM6IHNldF9ldmVudCBzeW50aGV0aWNfZXZlbnRzIGV2ZW50cy9zY2hlZC9z Y2hlZF9wcm9jZXNzX2ZvcmsvaGlzdCBwaW5nOnByb2dyYW0KIAogZmFpbCgpIHsgI21zZwog ICAgIGVjaG8gJDEKZGlmZiAtLWdpdCBhL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2Z0cmFj ZS90ZXN0LmQvdHJpZ2dlci9pbnRlci1ldmVudC90cmlnZ2VyLXNuYXBzaG90LWFjdGlvbi1o aXN0LnRjIGIvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvZnRyYWNlL3Rlc3QuZC90cmlnZ2Vy L2ludGVyLWV2ZW50L3RyaWdnZXItc25hcHNob3QtYWN0aW9uLWhpc3QudGMKaW5kZXggNjdm YTMyOGI4MzBmLi4xNDc5NjdlODY1ODQgMTAwNjQ0Ci0tLSBhL3Rvb2xzL3Rlc3Rpbmcvc2Vs ZnRlc3RzL2Z0cmFjZS90ZXN0LmQvdHJpZ2dlci9pbnRlci1ldmVudC90cmlnZ2VyLXNuYXBz aG90LWFjdGlvbi1oaXN0LnRjCisrKyBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2Z0cmFj ZS90ZXN0LmQvdHJpZ2dlci9pbnRlci1ldmVudC90cmlnZ2VyLXNuYXBzaG90LWFjdGlvbi1o aXN0LnRjCkBAIC0xLDcgKzEsNyBAQAogIyEvYmluL3NoCiAjIFNQRFgtTGljZW5zZS1JZGVu dGlmaWVyOiBHUEwtMi4wCiAjIGRlc2NyaXB0aW9uOiBldmVudCB0cmlnZ2VyIC0gdGVzdCBp bnRlci1ldmVudCBoaXN0b2dyYW0gdHJpZ2dlciBzbmFwc2hvdCBhY3Rpb24KLSMgcmVxdWly ZXM6IHNldF9ldmVudCBzbmFwc2hvdCBldmVudHMvc2NoZWQvc2NoZWRfcHJvY2Vzc19mb3Jr L2hpc3QgIm9uY2hhbmdlKHZhcikiOlJFQURNRSAic25hcHNob3QoKSI6UkVBRE1FCisjIHJl cXVpcmVzOiBzZXRfZXZlbnQgc25hcHNob3QgZXZlbnRzL3NjaGVkL3NjaGVkX3Byb2Nlc3Nf Zm9yay9oaXN0ICJvbmNoYW5nZSh2YXIpIjpSRUFETUUgInNuYXBzaG90KCkiOlJFQURNRSBw aW5nOnByb2dyYW0KIAogZmFpbCgpIHsgI21zZwogICAgIGVjaG8gJDEKZGlmZiAtLWdpdCBh L3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2Z0cmFjZS90ZXN0LmQvdHJpZ2dlci9pbnRlci1l dmVudC90cmlnZ2VyLXN5bnRoZXRpYy1lcHJvYmUudGMgYi90b29scy90ZXN0aW5nL3NlbGZ0 ZXN0cy9mdHJhY2UvdGVzdC5kL3RyaWdnZXIvaW50ZXItZXZlbnQvdHJpZ2dlci1zeW50aGV0 aWMtZXByb2JlLnRjCmluZGV4IDkxNGZlMmU1ZDAzMC4uYTVjMTE3ZTgwYWUwIDEwMDY0NAot LS0gYS90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9mdHJhY2UvdGVzdC5kL3RyaWdnZXIvaW50 ZXItZXZlbnQvdHJpZ2dlci1zeW50aGV0aWMtZXByb2JlLnRjCisrKyBiL3Rvb2xzL3Rlc3Rp bmcvc2VsZnRlc3RzL2Z0cmFjZS90ZXN0LmQvdHJpZ2dlci9pbnRlci1ldmVudC90cmlnZ2Vy LXN5bnRoZXRpYy1lcHJvYmUudGMKQEAgLTE0LDcgKzE0LDcgQEAgRklFTEQ9ImZpbGVuYW1l IgogU1lOVEg9InN5bnRoX29wZW4iCiBFUFJPQkU9ImVwcm9iZV9vcGVuIgogCi1lY2hvICIk U1lOVEggdTY0IGZpbGVuYW1lOyBzNjQgcmV0OyIgPiBzeW50aGV0aWNfZXZlbnRzCitlY2hv ICIkU1lOVEggdW5zaWduZWQgbG9uZyBmaWxlbmFtZTsgbG9uZyByZXQ7IiA+IHN5bnRoZXRp Y19ldmVudHMKIGVjaG8gImhpc3Q6a2V5cz1jb21tb25fcGlkOl9fYXJnX18xPSRGSUVMRCIg PiBldmVudHMvJFNZU1RFTS8kU1RBUlQvdHJpZ2dlcgogZWNobyAiaGlzdDprZXlzPWNvbW1v bl9waWQ6ZmlsZW5hbWU9XCRfX2FyZ19fMSxyZXQ9cmV0Om9ubWF0Y2goJFNZU1RFTS4kU1RB UlQpLnRyYWNlKCRTWU5USCxcJGZpbGVuYW1lLFwkcmV0KSIgPiBldmVudHMvJFNZU1RFTS8k RU5EL3RyaWdnZXIKIApkaWZmIC0tZ2l0IGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvZnRy YWNlL3Rlc3QuZC90cmlnZ2VyL2ludGVyLWV2ZW50L3RyaWdnZXItc3ludGhldGljLWV2ZW50 LWR5bnN0cmluZy50YyBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2Z0cmFjZS90ZXN0LmQv dHJpZ2dlci9pbnRlci1ldmVudC90cmlnZ2VyLXN5bnRoZXRpYy1ldmVudC1keW5zdHJpbmcu dGMKaW5kZXggM2Q2NWM4NTZlY2EzLi4yMTNkODkwZWQxODggMTAwNjQ0Ci0tLSBhL3Rvb2xz L3Rlc3Rpbmcvc2VsZnRlc3RzL2Z0cmFjZS90ZXN0LmQvdHJpZ2dlci9pbnRlci1ldmVudC90 cmlnZ2VyLXN5bnRoZXRpYy1ldmVudC1keW5zdHJpbmcudGMKKysrIGIvdG9vbHMvdGVzdGlu Zy9zZWxmdGVzdHMvZnRyYWNlL3Rlc3QuZC90cmlnZ2VyL2ludGVyLWV2ZW50L3RyaWdnZXIt c3ludGhldGljLWV2ZW50LWR5bnN0cmluZy50YwpAQCAtMSw3ICsxLDcgQEAKICMhL2Jpbi9z aAogIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMAogIyBkZXNjcmlwdGlvbjog ZXZlbnQgdHJpZ2dlciAtIHRlc3QgaW50ZXItZXZlbnQgaGlzdG9ncmFtIHRyaWdnZXIgdHJh Y2UgYWN0aW9uIHdpdGggZHluYW1pYyBzdHJpbmcgcGFyYW0KLSMgcmVxdWlyZXM6IHNldF9l dmVudCBzeW50aGV0aWNfZXZlbnRzIGV2ZW50cy9zY2hlZC9zY2hlZF9wcm9jZXNzX2V4ZWMv aGlzdCAiY2hhciBuYW1lW10nID4+IHN5bnRoZXRpY19ldmVudHMiOlJFQURNRQorIyByZXF1 aXJlczogc2V0X2V2ZW50IHN5bnRoZXRpY19ldmVudHMgZXZlbnRzL3NjaGVkL3NjaGVkX3By b2Nlc3NfZXhlYy9oaXN0ICJjaGFyIG5hbWVbXScgPj4gc3ludGhldGljX2V2ZW50cyI6UkVB RE1FIHBpbmc6cHJvZ3JhbQogCiBmYWlsKCkgeyAjbXNnCiAgICAgZWNobyAkMQpkaWZmIC0t Z2l0IGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvZnRyYWNlL3Rlc3QuZC90cmlnZ2VyL2lu dGVyLWV2ZW50L3RyaWdnZXItdHJhY2UtYWN0aW9uLWhpc3QudGMgYi90b29scy90ZXN0aW5n L3NlbGZ0ZXN0cy9mdHJhY2UvdGVzdC5kL3RyaWdnZXIvaW50ZXItZXZlbnQvdHJpZ2dlci10 cmFjZS1hY3Rpb24taGlzdC50YwppbmRleCBjMTI2ZDIzNTBhNmQuLmQ3MzEyMDQ3Y2UyOCAx MDA2NDQKLS0tIGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvZnRyYWNlL3Rlc3QuZC90cmln Z2VyL2ludGVyLWV2ZW50L3RyaWdnZXItdHJhY2UtYWN0aW9uLWhpc3QudGMKKysrIGIvdG9v bHMvdGVzdGluZy9zZWxmdGVzdHMvZnRyYWNlL3Rlc3QuZC90cmlnZ2VyL2ludGVyLWV2ZW50 L3RyaWdnZXItdHJhY2UtYWN0aW9uLWhpc3QudGMKQEAgLTEsNyArMSw3IEBACiAjIS9iaW4v c2gKICMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAKICMgZGVzY3JpcHRpb246 IGV2ZW50IHRyaWdnZXIgLSB0ZXN0IGludGVyLWV2ZW50IGhpc3RvZ3JhbSB0cmlnZ2VyIHRy YWNlIGFjdGlvbgotIyByZXF1aXJlczogc2V0X2V2ZW50IHN5bnRoZXRpY19ldmVudHMgZXZl bnRzL3NjaGVkL3NjaGVkX3Byb2Nlc3NfZm9yay9oaXN0ICJ0cmFjZSg8c3ludGhldGljX2V2 ZW50PiI6UkVBRE1FCisjIHJlcXVpcmVzOiBzZXRfZXZlbnQgc3ludGhldGljX2V2ZW50cyBl dmVudHMvc2NoZWQvc2NoZWRfcHJvY2Vzc19mb3JrL2hpc3QgInRyYWNlKDxzeW50aGV0aWNf ZXZlbnQ+IjpSRUFETUUgcGluZzpwcm9ncmFtCiAKIGZhaWwoKSB7ICNtc2cKICAgICBlY2hv ICQxCmRpZmYgLS1naXQgYS90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9ncGlvL2dwaW8tc2lt LnNoIGIvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvZ3Bpby9ncGlvLXNpbS5zaAppbmRleCAz NDFlM2RlMDA4OTYuLjlmNTM5ZDQ1NGVlNCAxMDA3NTUKLS0tIGEvdG9vbHMvdGVzdGluZy9z ZWxmdGVzdHMvZ3Bpby9ncGlvLXNpbS5zaAorKysgYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0 cy9ncGlvL2dwaW8tc2ltLnNoCkBAIC0yNyw3ICsyNyw3IEBAIHJlbW92ZV9jaGlwKCkgewog CQkJY29udGludWUKIAkJZmkKIAotCQlMSU5FUz1gbHMgJENPTkZJR0ZTX0RJUi8kQ0hJUC8k QkFOSy8gfCBlZ3JlcCBebGluZWAKKwkJTElORVM9YGxzICRDT05GSUdGU19ESVIvJENISVAv JEJBTksvIHwgZ3JlcCAtRSBebGluZWAKIAkJaWYgWyAiJD8iID0gMCBdOyB0aGVuCiAJCQlm b3IgTElORSBpbiAkTElORVM7IGRvCiAJCQkJaWYgWyAtZSAkQ09ORklHRlNfRElSLyRDSElQ LyRCQU5LLyRMSU5FL2hvZyBdOyB0aGVuCmRpZmYgLS1naXQgYS90b29scy90ZXN0aW5nL3Nl bGZ0ZXN0cy9rc2VsZnRlc3RfZGVwcy5zaCBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2tz ZWxmdGVzdF9kZXBzLnNoCmluZGV4IDcwOGNiNTQyOTYzMy4uNzQyNGExZjViYWJjIDEwMDc1 NQotLS0gYS90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9rc2VsZnRlc3RfZGVwcy5zaAorKysg Yi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9rc2VsZnRlc3RfZGVwcy5zaApAQCAtOTAsNyAr OTAsNyBAQCBwYXNzX2xpYnM9KCkKIHBhc3NfY250PTAKIAogIyBHZXQgYWxsIFRBUkdFVFMg ZnJvbSBzZWxmdGVzdHMgTWFrZWZpbGUKLXRhcmdldHM9JChlZ3JlcCAiXlRBUkdFVFMgK3xe VEFSR0VUUyA9IiBNYWtlZmlsZSB8IGN1dCAtZCAiPSIgLWYyKQordGFyZ2V0cz0kKGdyZXAg LUUgIl5UQVJHRVRTICt8XlRBUkdFVFMgPSIgTWFrZWZpbGUgfCBjdXQgLWQgIj0iIC1mMikK IAogIyBTaW5nbGUgdGVzdCBjYXNlCiBpZiBbICQjIC1lcSAyIF0KZGlmZiAtLWdpdCBhL3Rv b2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2xpYi5tayBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3Rz L2xpYi5tawppbmRleCA5ZDRjYjk0Y2Y0MzcuLmY0MTk2ODMyYjgyMyAxMDA2NDQKLS0tIGEv dG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbGliLm1rCisrKyBiL3Rvb2xzL3Rlc3Rpbmcvc2Vs ZnRlc3RzL2xpYi5tawpAQCAtMTIzLDYgKzEyMywxMSBAQCBlbmRlZgogY2xlYW46CiAJJChD TEVBTikKIAorIyBFbmFibGVzIHRvIGV4dGVuZCBDRkxBR1MgYW5kIExERkxBR1MgZnJvbSBj b21tYW5kIGxpbmUsIGUuZy4KKyMgbWFrZSBVU0VSQ0ZMQUdTPS1XZXJyb3IgVVNFUkxERkxB R1M9LXN0YXRpYworQ0ZMQUdTICs9ICQoVVNFUkNGTEFHUykKK0xERkxBR1MgKz0gJChVU0VS TERGTEFHUykKKwogIyBXaGVuIG1ha2UgTz0gd2l0aCBrc2VsZnRlc3QgdGFyZ2V0IGZyb20g bWFpbiBsZXZlbAogIyB0aGUgZm9sbG93aW5nIGFyZW4ndCBkZWZpbmVkLgogIwpkaWZmIC0t Z2l0IGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvcnRjL3J0Y3Rlc3QuYyBiL3Rvb2xzL3Rl c3Rpbmcvc2VsZnRlc3RzL3J0Yy9ydGN0ZXN0LmMKaW5kZXggMmI5ZDkyOWEyNGVkLi42M2Nl MDJkMWQ1Y2MgMTAwNjQ0Ci0tLSBhL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL3J0Yy9ydGN0 ZXN0LmMKKysrIGIvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvcnRjL3J0Y3Rlc3QuYwpAQCAt MzEsNyArMzEsNiBAQCBGSVhUVVJFKHJ0YykgewogCiBGSVhUVVJFX1NFVFVQKHJ0Yykgewog CXNlbGYtPmZkID0gb3BlbihydGNfZmlsZSwgT19SRE9OTFkpOwotCUFTU0VSVF9ORSgtMSwg c2VsZi0+ZmQpOwogfQogCiBGSVhUVVJFX1RFQVJET1dOKHJ0YykgewpAQCAtNDIsNiArNDEs MTAgQEAgVEVTVF9GKHJ0YywgZGF0ZV9yZWFkKSB7CiAJaW50IHJjOwogCXN0cnVjdCBydGNf dGltZSBydGNfdG07CiAKKwlpZiAoc2VsZi0+ZmQgPT0gLTEgJiYgZXJybm8gPT0gRU5PRU5U KQorCQlTS0lQKHJldHVybiwgIlNraXBwaW5nIHRlc3Qgc2luY2UgJXMgZG9lcyBub3QgZXhp c3QiLCBydGNfZmlsZSk7CisJQVNTRVJUX05FKC0xLCBzZWxmLT5mZCk7CisKIAkvKiBSZWFk IHRoZSBSVEMgdGltZS9kYXRlICovCiAJcmMgPSBpb2N0bChzZWxmLT5mZCwgUlRDX1JEX1RJ TUUsICZydGNfdG0pOwogCUFTU0VSVF9ORSgtMSwgcmMpOwpAQCAtODUsNiArODgsMTAgQEAg VEVTVF9GX1RJTUVPVVQocnRjLCBkYXRlX3JlYWRfbG9vcCwgUkVBRF9MT09QX0RVUkFUSU9O X1NFQyArIDIpIHsKIAlzdHJ1Y3QgcnRjX3RpbWUgcnRjX3RtOwogCXRpbWVfdCBzdGFydF9y dGNfcmVhZCwgcHJldl9ydGNfcmVhZDsKIAorCWlmIChzZWxmLT5mZCA9PSAtMSAmJiBlcnJu byA9PSBFTk9FTlQpCisJCVNLSVAocmV0dXJuLCAiU2tpcHBpbmcgdGVzdCBzaW5jZSAlcyBk b2VzIG5vdCBleGlzdCIsIHJ0Y19maWxlKTsKKwlBU1NFUlRfTkUoLTEsIHNlbGYtPmZkKTsK KwogCVRIX0xPRygiQ29udGludW91c2x5IHJlYWRpbmcgUlRDIHRpbWUgZm9yICVkcyAod2l0 aCAlZG1zIGJyZWFrcyBhZnRlciBldmVyeSByZWFkKS4iLAogCSAgICAgICBSRUFEX0xPT1Bf RFVSQVRJT05fU0VDLCBSRUFEX0xPT1BfU0xFRVBfTVMpOwogCkBAIC0xMTksNiArMTI2LDEw IEBAIFRFU1RfRl9USU1FT1VUKHJ0YywgdWllX3JlYWQsIE5VTV9VSUUgKyAyKSB7CiAJaW50 IGksIHJjLCBpcnEgPSAwOwogCXVuc2lnbmVkIGxvbmcgZGF0YTsKIAorCWlmIChzZWxmLT5m ZCA9PSAtMSAmJiBlcnJubyA9PSBFTk9FTlQpCisJCVNLSVAocmV0dXJuLCAiU2tpcHBpbmcg dGVzdCBzaW5jZSAlcyBkb2VzIG5vdCBleGlzdCIsIHJ0Y19maWxlKTsKKwlBU1NFUlRfTkUo LTEsIHNlbGYtPmZkKTsKKwogCS8qIFR1cm4gb24gdXBkYXRlIGludGVycnVwdHMgKi8KIAly YyA9IGlvY3RsKHNlbGYtPmZkLCBSVENfVUlFX09OLCAwKTsKIAlpZiAocmMgPT0gLTEpIHsK QEAgLTE0NCw2ICsxNTUsMTAgQEAgVEVTVF9GKHJ0YywgdWllX3NlbGVjdCkgewogCWludCBp LCByYywgaXJxID0gMDsKIAl1bnNpZ25lZCBsb25nIGRhdGE7CiAKKwlpZiAoc2VsZi0+ZmQg PT0gLTEgJiYgZXJybm8gPT0gRU5PRU5UKQorCQlTS0lQKHJldHVybiwgIlNraXBwaW5nIHRl c3Qgc2luY2UgJXMgZG9lcyBub3QgZXhpc3QiLCBydGNfZmlsZSk7CisJQVNTRVJUX05FKC0x LCBzZWxmLT5mZCk7CisKIAkvKiBUdXJuIG9uIHVwZGF0ZSBpbnRlcnJ1cHRzICovCiAJcmMg PSBpb2N0bChzZWxmLT5mZCwgUlRDX1VJRV9PTiwgMCk7CiAJaWYgKHJjID09IC0xKSB7CkBA IC0xODMsNiArMTk4LDEwIEBAIFRFU1RfRihydGMsIGFsYXJtX2FsbV9zZXQpIHsKIAl0aW1l X3Qgc2VjcywgbmV3OwogCWludCByYzsKIAorCWlmIChzZWxmLT5mZCA9PSAtMSAmJiBlcnJu byA9PSBFTk9FTlQpCisJCVNLSVAocmV0dXJuLCAiU2tpcHBpbmcgdGVzdCBzaW5jZSAlcyBk b2VzIG5vdCBleGlzdCIsIHJ0Y19maWxlKTsKKwlBU1NFUlRfTkUoLTEsIHNlbGYtPmZkKTsK KwogCXJjID0gaW9jdGwoc2VsZi0+ZmQsIFJUQ19SRF9USU1FLCAmdG0pOwogCUFTU0VSVF9O RSgtMSwgcmMpOwogCkBAIC0yMzcsNiArMjU2LDEwIEBAIFRFU1RfRihydGMsIGFsYXJtX3dr YWxtX3NldCkgewogCXRpbWVfdCBzZWNzLCBuZXc7CiAJaW50IHJjOwogCisJaWYgKHNlbGYt PmZkID09IC0xICYmIGVycm5vID09IEVOT0VOVCkKKwkJU0tJUChyZXR1cm4sICJTa2lwcGlu ZyB0ZXN0IHNpbmNlICVzIGRvZXMgbm90IGV4aXN0IiwgcnRjX2ZpbGUpOworCUFTU0VSVF9O RSgtMSwgc2VsZi0+ZmQpOworCiAJcmMgPSBpb2N0bChzZWxmLT5mZCwgUlRDX1JEX1RJTUUs ICZhbGFybS50aW1lKTsKIAlBU1NFUlRfTkUoLTEsIHJjKTsKIApAQCAtMjg1LDYgKzMwOCwx MCBAQCBURVNUX0ZfVElNRU9VVChydGMsIGFsYXJtX2FsbV9zZXRfbWludXRlLCA2NSkgewog CXRpbWVfdCBzZWNzLCBuZXc7CiAJaW50IHJjOwogCisJaWYgKHNlbGYtPmZkID09IC0xICYm IGVycm5vID09IEVOT0VOVCkKKwkJU0tJUChyZXR1cm4sICJTa2lwcGluZyB0ZXN0IHNpbmNl ICVzIGRvZXMgbm90IGV4aXN0IiwgcnRjX2ZpbGUpOworCUFTU0VSVF9ORSgtMSwgc2VsZi0+ ZmQpOworCiAJcmMgPSBpb2N0bChzZWxmLT5mZCwgUlRDX1JEX1RJTUUsICZ0bSk7CiAJQVNT RVJUX05FKC0xLCByYyk7CiAKQEAgLTMzOSw2ICszNjYsMTAgQEAgVEVTVF9GX1RJTUVPVVQo cnRjLCBhbGFybV93a2FsbV9zZXRfbWludXRlLCA2NSkgewogCXRpbWVfdCBzZWNzLCBuZXc7 CiAJaW50IHJjOwogCisJaWYgKHNlbGYtPmZkID09IC0xICYmIGVycm5vID09IEVOT0VOVCkK KwkJU0tJUChyZXR1cm4sICJTa2lwcGluZyB0ZXN0IHNpbmNlICVzIGRvZXMgbm90IGV4aXN0 IiwgcnRjX2ZpbGUpOworCUFTU0VSVF9ORSgtMSwgc2VsZi0+ZmQpOworCiAJcmMgPSBpb2N0 bChzZWxmLT5mZCwgUlRDX1JEX1RJTUUsICZhbGFybS50aW1lKTsKIAlBU1NFUlRfTkUoLTEs IHJjKTsKIApkaWZmIC0tZ2l0IGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvc3BsaWNlL3No b3J0X3NwbGljZV9yZWFkLnNoIGIvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvc3BsaWNlL3No b3J0X3NwbGljZV9yZWFkLnNoCmluZGV4IDIyYjZjODkxMGIxOC4uNDcxMGUwOWY0OWZhIDEw MDc1NQotLS0gYS90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9zcGxpY2Uvc2hvcnRfc3BsaWNl X3JlYWQuc2gKKysrIGIvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvc3BsaWNlL3Nob3J0X3Nw bGljZV9yZWFkLnNoCkBAIC0xMjcsNyArMTI3LDcgQEAgZXhwZWN0X3N1Y2Nlc3MgInByb2Nf aGFuZGxlcjogc3BlY2lhbCByZWFkIHNwbGljZSIgdGVzdF9zcGxpY2UgL3Byb2Mvc3lzL2tl cm5lbC8KIGlmICEgWyAtZCAvc3lzL21vZHVsZS90ZXN0X21vZHVsZS9zZWN0aW9ucyBdIDsg dGhlbgogCWV4cGVjdF9zdWNjZXNzICJ0ZXN0X21vZHVsZSBrZXJuZWwgbW9kdWxlIGxvYWQi IG1vZHByb2JlIHRlc3RfbW9kdWxlCiBmaQotZXhwZWN0X2ZhaWx1cmUgImtlcm5mcyBhdHRy IHNwbGljZSIgdGVzdF9zcGxpY2UgL3N5cy9tb2R1bGUvdGVzdF9tb2R1bGUvY29yZXNpemUK LWV4cGVjdF9mYWlsdXJlICJrZXJuZnMgYmluYXR0ciBzcGxpY2UiIHRlc3Rfc3BsaWNlIC9z eXMvbW9kdWxlL3Rlc3RfbW9kdWxlL3NlY3Rpb25zLy5pbml0LnRleHQKK2V4cGVjdF9zdWNj ZXNzICJrZXJuZnMgYXR0ciBzcGxpY2UiIHRlc3Rfc3BsaWNlIC9zeXMvbW9kdWxlL3Rlc3Rf bW9kdWxlL2NvcmVzaXplCitleHBlY3Rfc3VjY2VzcyAia2VybmZzIGJpbmF0dHIgc3BsaWNl IiB0ZXN0X3NwbGljZSAvc3lzL21vZHVsZS90ZXN0X21vZHVsZS9zZWN0aW9ucy8uaW5pdC50 ZXh0CiAKIGV4aXQgJHJldApkaWZmIC0tZ2l0IGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMv dHBtMi9NYWtlZmlsZSBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL3RwbTIvTWFrZWZpbGUK aW5kZXggMWE1ZGIxZWI4ZWQ1Li5hOWJmOTQ1OWZiMjUgMTAwNjQ0Ci0tLSBhL3Rvb2xzL3Rl c3Rpbmcvc2VsZnRlc3RzL3RwbTIvTWFrZWZpbGUKKysrIGIvdG9vbHMvdGVzdGluZy9zZWxm dGVzdHMvdHBtMi9NYWtlZmlsZQpAQCAtMSw1ICsxLDUgQEAKICMgU1BEWC1MaWNlbnNlLUlk ZW50aWZpZXI6IChHUEwtMi4wIE9SIEJTRC0zLUNsYXVzZSkKIGluY2x1ZGUgLi4vbGliLm1r CiAKLVRFU1RfUFJPR1MgOj0gdGVzdF9zbW9rZS5zaCB0ZXN0X3NwYWNlLnNoCitURVNUX1BS T0dTIDo9IHRlc3Rfc21va2Uuc2ggdGVzdF9zcGFjZS5zaCB0ZXN0X2FzeW5jLnNoCiBURVNU X1BST0dTX0VYVEVOREVEIDo9IHRwbTIucHkgdHBtMl90ZXN0cy5weQpkaWZmIC0tZ2l0IGEv dG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvdHBtMi90ZXN0X2FzeW5jLnNoIGIvdG9vbHMvdGVz dGluZy9zZWxmdGVzdHMvdHBtMi90ZXN0X2FzeW5jLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1 CmluZGV4IDAwMDAwMDAwMDAwMC4uNDNiZjViZDc3MmZkCi0tLSAvZGV2L251bGwKKysrIGIv dG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvdHBtMi90ZXN0X2FzeW5jLnNoCkBAIC0wLDAgKzEs MTAgQEAKKyMhL2Jpbi9zaAorIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogKEdQTC0yLjAg T1IgQlNELTMtQ2xhdXNlKQorCisjIEtzZWxmdGVzdCBmcmFtZXdvcmsgcmVxdWlyZW1lbnQg LSBTS0lQIGNvZGUgaXMgNC4KK2tzZnRfc2tpcD00CisKK1sgLWUgL2Rldi90cG0wIF0gfHwg ZXhpdCAka3NmdF9za2lwCitbIC1lIC9kZXYvdHBtcm0wIF0gfHwgZXhpdCAka3NmdF9za2lw CisKK3B5dGhvbjMgLW0gdW5pdHRlc3QgLXYgdHBtMl90ZXN0cy5Bc3luY1Rlc3QKZGlmZiAt LWdpdCBhL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL3RwbTIvdGVzdF9zbW9rZS5zaCBiL3Rv b2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL3RwbTIvdGVzdF9zbW9rZS5zaAppbmRleCAzZTVmZjI5 ZWUxZGQuLjU4YWY5NjNlNWI1NSAxMDA3NTUKLS0tIGEvdG9vbHMvdGVzdGluZy9zZWxmdGVz dHMvdHBtMi90ZXN0X3Ntb2tlLnNoCisrKyBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL3Rw bTIvdGVzdF9zbW9rZS5zaApAQCAtNyw0ICs3LDMgQEAga3NmdF9za2lwPTQKIFsgLWUgL2Rl di90cG0wIF0gfHwgZXhpdCAka3NmdF9za2lwCiAKIHB5dGhvbjMgLW0gdW5pdHRlc3QgLXYg dHBtMl90ZXN0cy5TbW9rZVRlc3QKLXB5dGhvbjMgLW0gdW5pdHRlc3QgLXYgdHBtMl90ZXN0 cy5Bc3luY1Rlc3QKZGlmZiAtLWdpdCBhL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL3ZEU08v dmRzb190ZXN0X2dldGNwdS5jIGIvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvdkRTTy92ZHNv X3Rlc3RfZ2V0Y3B1LmMKaW5kZXggZmMyNWVkZTEzMWI4Li4xZGY1ZDA1N2Q3OWYgMTAwNjQ0 Ci0tLSBhL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL3ZEU08vdmRzb190ZXN0X2dldGNwdS5j CisrKyBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL3ZEU08vdmRzb190ZXN0X2dldGNwdS5j CkBAIC0xNCw3ICsxNCwxMSBAQAogI2luY2x1ZGUgIi4uL2tzZWxmdGVzdC5oIgogI2luY2x1 ZGUgInBhcnNlX3Zkc28uaCIKIAorI2lmIGRlZmluZWQoX19yaXNjdikKK2NvbnN0IGNoYXIg KnZlcnNpb24gPSAiTElOVVhfNC4xNSI7CisjZWxzZQogY29uc3QgY2hhciAqdmVyc2lvbiA9 ICJMSU5VWF8yLjYiOworI2VuZGlmCiBjb25zdCBjaGFyICpuYW1lID0gIl9fdmRzb19nZXRj cHUiOwogCiBzdHJ1Y3QgZ2V0Y3B1X2NhY2hlOwpkaWZmIC0tZ2l0IGEvdG9vbHMvdGVzdGlu Zy9zZWxmdGVzdHMvdkRTTy92ZHNvX3Rlc3RfZ2V0dGltZW9mZGF5LmMgYi90b29scy90ZXN0 aW5nL3NlbGZ0ZXN0cy92RFNPL3Zkc29fdGVzdF9nZXR0aW1lb2ZkYXkuYwppbmRleCA4Y2Nj NzNlZDgyNDAuLmU0MTFmMjg3YTQyNiAxMDA2NDQKLS0tIGEvdG9vbHMvdGVzdGluZy9zZWxm dGVzdHMvdkRTTy92ZHNvX3Rlc3RfZ2V0dGltZW9mZGF5LmMKKysrIGIvdG9vbHMvdGVzdGlu Zy9zZWxmdGVzdHMvdkRTTy92ZHNvX3Rlc3RfZ2V0dGltZW9mZGF5LmMKQEAgLTI3LDYgKzI3 LDkgQEAKICNpZiBkZWZpbmVkKF9fYWFyY2g2NF9fKQogY29uc3QgY2hhciAqdmVyc2lvbiA9 ICJMSU5VWF8yLjYuMzkiOwogY29uc3QgY2hhciAqbmFtZSA9ICJfX2tlcm5lbF9nZXR0aW1l b2ZkYXkiOworI2VsaWYgZGVmaW5lZChfX3Jpc2N2KQorY29uc3QgY2hhciAqdmVyc2lvbiA9 ICJMSU5VWF80LjE1IjsKK2NvbnN0IGNoYXIgKm5hbWUgPSAiX192ZHNvX2dldHRpbWVvZmRh eSI7CiAjZWxzZQogY29uc3QgY2hhciAqdmVyc2lvbiA9ICJMSU5VWF8yLjYiOwogY29uc3Qg Y2hhciAqbmFtZSA9ICJfX3Zkc29fZ2V0dGltZW9mZGF5IjsKZGlmZiAtLWdpdCBhL3Rvb2xz L3Rlc3Rpbmcvc2VsZnRlc3RzL3dhdGNoZG9nL3dhdGNoZG9nLXRlc3QuYyBiL3Rvb2xzL3Rl c3Rpbmcvc2VsZnRlc3RzL3dhdGNoZG9nL3dhdGNoZG9nLXRlc3QuYwppbmRleCBmNDVlNTEw NTAwYzAuLmJjNzFjYmNhMGRkZSAxMDA2NDQKLS0tIGEvdG9vbHMvdGVzdGluZy9zZWxmdGVz dHMvd2F0Y2hkb2cvd2F0Y2hkb2ctdGVzdC5jCisrKyBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRl c3RzL3dhdGNoZG9nL3dhdGNoZG9nLXRlc3QuYwpAQCAtMSw2ICsxLDE0IEBACiAvLyBTUERY LUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMAogLyoKLSAqIFdhdGNoZG9nIERyaXZlciBU ZXN0IFByb2dyYW0KKyogV2F0Y2hkb2cgRHJpdmVyIFRlc3QgUHJvZ3JhbQorKiAtIFRlc3Rz IGFsbCBpb2N0bHMKKyogLSBUZXN0cyBNYWdpYyBDbG9zZSAtIENPTkZJR19XQVRDSERPR19O T1dBWU9VVAorKiAtIENvdWxkIGJlIHRlc3RlZCBhZ2FpbnN0IHNvZnRkb2cgZHJpdmVyIG9u IHN5c3RlbXMgdGhhdAorKiAgIGRvbid0IGhhdmUgd2F0Y2hkb2cgaGFyZHdhcmUuCisqIC0g VE9ETzoKKyogLSBFbmhhbmNlIHRlc3QgdG8gYWRkIGNvdmVyYWdlIGZvciBXRElPQ19HRVRU RU1QLgorKgorKiBSZWZlcmVuY2U6IERvY3VtZW50YXRpb24vd2F0Y2hkb2cvd2F0Y2hkb2ct YXBpLnJzdAogICovCiAKICNpbmNsdWRlIDxlcnJuby5oPgpAQCAtMTksMTMgKzI3LDE0IEBA CiAKIGludCBmZDsKIGNvbnN0IGNoYXIgdiA9ICdWJzsKLXN0YXRpYyBjb25zdCBjaGFyIHNv cHRzW10gPSAiYmRlaHA6dDpUbjpOTGY6aSI7CitzdGF0aWMgY29uc3QgY2hhciBzb3B0c1td ID0gImJkZWhwOnN0OlRuOk5MZjppIjsKIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgb3B0aW9uIGxv cHRzW10gPSB7CiAJeyJib290c3RhdHVzIiwgICAgICAgICAgbm9fYXJndW1lbnQsIE5VTEws ICdiJ30sCiAJeyJkaXNhYmxlIiwgICAgICAgICAgICAgbm9fYXJndW1lbnQsIE5VTEwsICdk J30sCiAJeyJlbmFibGUiLCAgICAgICAgICAgICAgbm9fYXJndW1lbnQsIE5VTEwsICdlJ30s CiAJeyJoZWxwIiwgICAgICAgICAgICAgICAgbm9fYXJndW1lbnQsIE5VTEwsICdoJ30sCiAJ eyJwaW5ncmF0ZSIsICAgICAgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICdwJ30sCisJeyJz dGF0dXMiLCAgICAgICAgICAgICAgbm9fYXJndW1lbnQsIE5VTEwsICdzJ30sCiAJeyJ0aW1l b3V0IiwgICAgICAgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICd0J30sCiAJeyJnZXR0aW1l b3V0IiwgICAgICAgICAgbm9fYXJndW1lbnQsIE5VTEwsICdUJ30sCiAJeyJwcmV0aW1lb3V0 IiwgICAgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICduJ30sCkBAIC03NCw2ICs4Myw3IEBA IHN0YXRpYyB2b2lkIHVzYWdlKGNoYXIgKnByb2duYW1lKQogCXByaW50ZigiIC1mLCAtLWZp bGVcdFx0T3BlbiB3YXRjaGRvZyBkZXZpY2UgZmlsZVxuIik7CiAJcHJpbnRmKCJcdFx0XHRE ZWZhdWx0IGlzIC9kZXYvd2F0Y2hkb2dcbiIpOwogCXByaW50ZigiIC1pLCAtLWluZm9cdFx0 U2hvdyB3YXRjaGRvZ19pbmZvXG4iKTsKKwlwcmludGYoIiAtcywgLS1zdGF0dXNcdFx0R2V0 IHN0YXR1cyAmIHN1cHBvcnRlZCBmZWF0dXJlc1xuIik7CiAJcHJpbnRmKCIgLWIsIC0tYm9v dHN0YXR1c1x0R2V0IGxhc3QgYm9vdCBzdGF0dXMgKFdhdGNoZG9nL1BPUilcbiIpOwogCXBy aW50ZigiIC1kLCAtLWRpc2FibGVcdFx0VHVybiBvZmYgdGhlIHdhdGNoZG9nIHRpbWVyXG4i KTsKIAlwcmludGYoIiAtZSwgLS1lbmFibGVcdFx0VHVybiBvbiB0aGUgd2F0Y2hkb2cgdGlt ZXJcbiIpOwpAQCAtOTEsNiArMTAxLDczIEBAIHN0YXRpYyB2b2lkIHVzYWdlKGNoYXIgKnBy b2duYW1lKQogCXByaW50ZigiRXhhbXBsZTogJXMgLXQgMTIgLVQgLW4gNyAtTlxuIiwgcHJv Z25hbWUpOwogfQogCitzdHJ1Y3Qgd2Rpb2Zfc3RhdHVzIHsKKwlpbnQgZmxhZzsKKwljb25z dCBjaGFyICpzdGF0dXNfc3RyOworfTsKKworI2RlZmluZSBXRElPRl9OVU1fU1RBVFVTIDgK Kworc3RhdGljIGNvbnN0IHN0cnVjdCB3ZGlvZl9zdGF0dXMgd2Rpb2Zfc3RhdHVzW1dESU9G X05VTV9TVEFUVVNdID0geworCXtXRElPRl9TRVRUSU1FT1VULCAgIlNldCB0aW1lb3V0IChp biBzZWNvbmRzKSJ9LAorCXtXRElPRl9NQUdJQ0NMT1NFLCAgIlN1cHBvcnRzIG1hZ2ljIGNs b3NlIGNoYXIifSwKKwl7V0RJT0ZfUFJFVElNRU9VVCwgICJQcmV0aW1lb3V0IChpbiBzZWNv bmRzKSwgZ2V0L3NldCJ9LAorCXtXRElPRl9BTEFSTU9OTFksICAiV2F0Y2hkb2cgdHJpZ2dl cnMgYSBtYW5hZ2VtZW50IG9yIG90aGVyIGV4dGVybmFsIGFsYXJtIG5vdCBhIHJlYm9vdCJ9 LAorCXtXRElPRl9LRUVQQUxJVkVQSU5HLCAgIktlZXAgYWxpdmUgcGluZyByZXBseSJ9LAor CXtXRElPU19ESVNBQkxFQ0FSRCwgICJUdXJuIG9mZiB0aGUgd2F0Y2hkb2cgdGltZXIifSwK Kwl7V0RJT1NfRU5BQkxFQ0FSRCwgICJUdXJuIG9uIHRoZSB3YXRjaGRvZyB0aW1lciJ9LAor CXtXRElPU19URU1QUEFOSUMsICAiS2VybmVsIHBhbmljIG9uIHRlbXBlcmF0dXJlIHRyaXAi fSwKK307CisKK3N0YXRpYyB2b2lkIHByaW50X3N0YXR1cyhpbnQgZmxhZ3MpCit7CisJaW50 IHdkaW9mID0gMDsKKworCWlmIChmbGFncyA9PSBXRElPU19VTktOT1dOKSB7CisJCXByaW50 ZigiVW5rbm93biBzdGF0dXMgZXJyb3IgZnJvbSBXRElPQ19HRVRTVEFUVVNcbiIpOworCQly ZXR1cm47CisJfQorCisJZm9yICh3ZGlvZiA9IDA7IHdkaW9mIDwgV0RJT0ZfTlVNX1NUQVRV Uzsgd2Rpb2YrKykgeworCQlpZiAoZmxhZ3MgJiB3ZGlvZl9zdGF0dXNbd2Rpb2ZdLmZsYWcp CisJCQlwcmludGYoIlN1cHBvcnQvU3RhdHVzOiAlc1xuIiwKKwkJCQl3ZGlvZl9zdGF0dXNb d2Rpb2ZdLnN0YXR1c19zdHIpOworCX0KK30KKworI2RlZmluZSBXRElPRl9OVU1fQk9PVFNU QVRVUyA3CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgd2Rpb2Zfc3RhdHVzIHdkaW9mX2Jvb3Rz dGF0dXNbV0RJT0ZfTlVNX0JPT1RTVEFUVVNdID0geworCXtXRElPRl9PVkVSSEVBVCwgIlJl c2V0IGR1ZSB0byBDUFUgb3ZlcmhlYXQifSwKKwl7V0RJT0ZfRkFORkFVTFQsICJGYW4gZmFp bGVkIn0sCisJe1dESU9GX0VYVEVSTjEsICJFeHRlcm5hbCByZWxheSAxIn0sCisJe1dESU9G X0VYVEVSTjIsICJFeHRlcm5hbCByZWxheSAyIn0sCisJe1dESU9GX1BPV0VSVU5ERVIsICJQ b3dlciBiYWQvcG93ZXIgZmF1bHQifSwKKwl7V0RJT0ZfQ0FSRFJFU0VULCAiQ2FyZCBwcmV2 aW91c2x5IHJlc2V0IHRoZSBDUFUifSwKKwl7V0RJT0ZfUE9XRVJPVkVSLCAgIlBvd2VyIG92 ZXIgdm9sdGFnZSJ9LAorfTsKKworc3RhdGljIHZvaWQgcHJpbnRfYm9vdF9zdGF0dXMoaW50 IGZsYWdzKQoreworCWludCB3ZGlvZiA9IDA7CisKKwlpZiAoZmxhZ3MgPT0gV0RJT0ZfVU5L Tk9XTikgeworCQlwcmludGYoIlVua25vd24gZmxhZyBlcnJvciBmcm9tIFdESU9DX0dFVEJP T1RTVEFUVVNcbiIpOworCQlyZXR1cm47CisJfQorCisJaWYgKGZsYWdzID09IDApIHsKKwkJ cHJpbnRmKCJMYXN0IGJvb3QgaXMgY2F1c2VkIGJ5OiBQb3dlci1Pbi1SZXNldFxuIik7CisJ CXJldHVybjsKKwl9CisKKwlmb3IgKHdkaW9mID0gMDsgd2Rpb2YgPCBXRElPRl9OVU1fQk9P VFNUQVRVUzsgd2Rpb2YrKykgeworCQlpZiAoZmxhZ3MgJiB3ZGlvZl9ib290c3RhdHVzW3dk aW9mXS5mbGFnKQorCQkJcHJpbnRmKCJMYXN0IGJvb3QgaXMgY2F1c2VkIGJ5OiAlc1xuIiwK KwkJCQl3ZGlvZl9ib290c3RhdHVzW3dkaW9mXS5zdGF0dXNfc3RyKTsKKwl9Cit9CisKIGlu dCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCiB7CiAJaW50IGZsYWdzOwpAQCAtMTAw LDYgKzE3Nyw3IEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCiAJaW50IG9u ZXNob3QgPSAwOwogCWNoYXIgKmZpbGUgPSAiL2Rldi93YXRjaGRvZyI7CiAJc3RydWN0IHdh dGNoZG9nX2luZm8gaW5mbzsKKwlpbnQgdGVtcGVyYXR1cmU7CiAKIAlzZXRidWYoc3Rkb3V0 LCBOVUxMKTsKIApAQCAtMTQwLDggKzIxOCw3IEBAIGludCBtYWluKGludCBhcmdjLCBjaGFy ICphcmd2W10pCiAJCQlvbmVzaG90ID0gMTsKIAkJCXJldCA9IGlvY3RsKGZkLCBXRElPQ19H RVRCT09UU1RBVFVTLCAmZmxhZ3MpOwogCQkJaWYgKCFyZXQpCi0JCQkJcHJpbnRmKCJMYXN0 IGJvb3QgaXMgY2F1c2VkIGJ5OiAlcy5cbiIsIChmbGFncyAhPSAwKSA/Ci0JCQkJCSJXYXRj aGRvZyIgOiAiUG93ZXItT24tUmVzZXQiKTsKKwkJCQlwcmludF9ib290X3N0YXR1cyhmbGFn cyk7CiAJCQllbHNlCiAJCQkJcHJpbnRmKCJXRElPQ19HRVRCT09UU1RBVFVTIGVycm9yICcl cydcbiIsIHN0cmVycm9yKGVycm5vKSk7CiAJCQlicmVhazsKQEAgLTE3MCw2ICsyNDcsMjEg QEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKIAkJCWlmICghcGluZ19yYXRl KQogCQkJCXBpbmdfcmF0ZSA9IERFRkFVTFRfUElOR19SQVRFOwogCQkJcHJpbnRmKCJXYXRj aGRvZyBwaW5nIHJhdGUgc2V0IHRvICV1IHNlY29uZHMuXG4iLCBwaW5nX3JhdGUpOworCQkJ YnJlYWs7CisJCWNhc2UgJ3MnOgorCQkJZmxhZ3MgPSAwOworCQkJb25lc2hvdCA9IDE7CisJ CQlyZXQgPSBpb2N0bChmZCwgV0RJT0NfR0VUU1RBVFVTLCAmZmxhZ3MpOworCQkJaWYgKCFy ZXQpCisJCQkJcHJpbnRfc3RhdHVzKGZsYWdzKTsKKwkJCWVsc2UKKwkJCQlwcmludGYoIldE SU9DX0dFVFNUQVRVUyBlcnJvciAnJXMnXG4iLCBzdHJlcnJvcihlcnJubykpOworCQkJcmV0 ID0gaW9jdGwoZmQsIFdESU9DX0dFVFRFTVAsICZ0ZW1wZXJhdHVyZSk7CisJCQlpZiAocmV0 KQorCQkJCXByaW50ZigiV0RJT0NfR0VUVEVNUDogJyVzJ1xuIiwgc3RyZXJyb3IoZXJybm8p KTsKKwkJCWVsc2UKKwkJCQlwcmludGYoIlRlbXBlcmF0dXJlICVkXG4iLCB0ZW1wZXJhdHVy ZSk7CisKIAkJCWJyZWFrOwogCQljYXNlICd0JzoKIAkJCWZsYWdzID0gc3RydG91bChvcHRh cmcsIE5VTEwsIDApOwpAQCAtMjI4LDcgKzMyMCw3IEBAIGludCBtYWluKGludCBhcmdjLCBj aGFyICphcmd2W10pCiAJCQlwcmludGYoIiBpZGVudGl0eTpcdFx0JXNcbiIsIGluZm8uaWRl bnRpdHkpOwogCQkJcHJpbnRmKCIgZmlybXdhcmVfdmVyc2lvbjpcdCV1XG4iLAogCQkJICAg ICAgIGluZm8uZmlybXdhcmVfdmVyc2lvbik7Ci0JCQlwcmludGYoIiBvcHRpb25zOlx0XHQl MDh4XG4iLCBpbmZvLm9wdGlvbnMpOworCQkJcHJpbnRfc3RhdHVzKGluZm8ub3B0aW9ucyk7 CiAJCQlicmVhazsKIAogCQlkZWZhdWx0OgpAQCAtMjQ5LDYgKzM0MSwxMCBAQCBpbnQgbWFp bihpbnQgYXJnYywgY2hhciAqYXJndltdKQogCQlzbGVlcChwaW5nX3JhdGUpOwogCX0KIGVu ZDoKKwkvKgorCSAqIFNlbmQgc3BlY2lmaWMgbWFnaWMgY2hhcmFjdGVyICdWJyBqdXN0IGlu IGNhc2UgTWFnaWMgQ2xvc2UgaXMKKwkgKiBlbmFibGVkIHRvIGVuc3VyZSB3YXRjaGRvZyBn ZXRzIGRpc2FibGVkIG9uIGNsb3NlLgorCSAqLwogCXJldCA9IHdyaXRlKGZkLCAmdiwgMSk7 CiAJaWYgKHJldCA8IDApCiAJCXByaW50ZigiU3RvcHBpbmcgd2F0Y2hkb2cgdGlja3MgZmFp bGVkICglZCkuLi5cbiIsIGVycm5vKTsK --------------DC5Cko48LDEQHti2j8dsMKei--